From 05dab3a1a897edf0d4a5f818bf9fea7d3627a084 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 31 Oct 2023 13:12:00 -0400 Subject: [PATCH 01/70] [g4star] Expose partcile stack for the geant4 application. [g4star] Update stacker and agml extension classes to enable multi engine tracking and user defined hits in the geant4 application. Few additional fixes and cleanups in the code. [g4star] Import the StGeant4Maker into the repository. Builds under root 6.24 (with some additional compilation flags). [g4star] Defer mysql load until StBFChain can do it. [g4star] Add geant4vmc, geant4mk and fastjet chain options. Load libfastjet with stargen package b/c one or more filters depends on it. (Should consider splitting filters into sep chain opt). [g4star] Cleanup commented out includes. [g4star] Reduce compile time warnings... [g4star] ... more reduction of compiler warnings ... and even more reduction of compiler warnings... [g4star] And modify cons to pickup the include paths to geant4 and geant4 vmc libraries --- StRoot/StBFChain/BigFullChain.h | 7 +- StRoot/StGeant4Maker/.includes_for_export.flg | 0 StRoot/StGeant4Maker/AgMLBTofVolumeId.h | 38 + StRoot/StGeant4Maker/AgMLEEmcVolumeId.h | 70 + StRoot/StGeant4Maker/AgMLEmcVolumeId.h | 66 + StRoot/StGeant4Maker/AgMLEpdVolumeId.h | 40 + StRoot/StGeant4Maker/AgMLFstVolumeId.h | 28 + StRoot/StGeant4Maker/AgMLHcaVolumeId.h | 23 + StRoot/StGeant4Maker/AgMLMtdVolumeId.h | 25 + StRoot/StGeant4Maker/AgMLPreVolumeId.h | 23 + StRoot/StGeant4Maker/AgMLStgVolumeId.h | 29 + StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx | 45 + StRoot/StGeant4Maker/AgMLTpcVolumeId.h | 66 + StRoot/StGeant4Maker/AgMLVolumeIdFactory.h | 66 + StRoot/StGeant4Maker/AgMLVpdVolumeId.h | 30 + StRoot/StGeant4Maker/AgMLWcaVolumeId.h | 23 + StRoot/StGeant4Maker/AgStarDummy.cxx | 10 + StRoot/StGeant4Maker/GeometryUtils.cxx | 26 + StRoot/StGeant4Maker/GeometryUtils.h | 11 + StRoot/StGeant4Maker/StGeant4Application.cxx | 1 + StRoot/StGeant4Maker/StGeant4Application.h | 43 + StRoot/StGeant4Maker/StGeant4Maker.cxx | 1539 +++ StRoot/StGeant4Maker/StGeant4Maker.h | 258 + StRoot/StGeant4Maker/StHitCollection.cxx | 449 + StRoot/StGeant4Maker/StHitCollection.h | 94 + StRoot/StGeant4Maker/StMCParticleStack.cxx | 512 + StRoot/StGeant4Maker/StMCParticleStack.h | 274 + StRoot/StGeant4Maker/StSensitiveDetector.cxx | 116 + StRoot/StGeant4Maker/StSensitiveDetector.h | 105 + StRoot/StGeant4Maker/macros/DrawHits.C | 54 + StRoot/StGeant4Maker/macros/gamma.C | 3 + StRoot/StGeant4Maker/macros/geant4star | 14 + .../StGeant4Maker/macros/geant4star-leakcheck | 10 + .../StGeant4Maker/macros/geant4star-memcheck | 9 + StRoot/StGeant4Maker/macros/geant4star.C | 347 + StRoot/StGeant4Maker/macros/initStar.C | 43 + StRoot/StGeant4Maker/macros/initStarG3.C | 149 + StRoot/StGeant4Maker/macros/muon.C | 4 + StRoot/StGeant4Maker/macros/pi0.C | 4 + StRoot/StGeant4Maker/macros/pion.C | 3 + StRoot/StGeant4Maker/macros/pythia6.C | 174 + StRoot/StGeant4Maker/macros/pythia8.C | 108 + .../macros/runGeant4Simulation.xml | 49 + StRoot/StGeant4Maker/macros/test_forward.C | 21 + .../macros/test_particle_decay.C | 47 + StRoot/StGeant4Maker/macros/test_pi0_decay.C | 34 + .../macros/test_stress_acceptance.C | 36 + StRoot/StGeant4Maker/tests/unit-test-summary | 93 + .../StGeant4Maker/tests/unit_test_btof_hits.C | 400 + .../StGeant4Maker/tests/unit_test_eem_hits.C | 295 + .../StGeant4Maker/tests/unit_test_emc_hits.C | 9817 +++++++++++++++++ .../StGeant4Maker/tests/unit_test_epd_hits.C | 203 + .../tests/unit_test_epd_response.C | 103 + .../StGeant4Maker/tests/unit_test_fcs_hits.C | 4220 +++++++ .../tests/unit_test_fcs_sampling.C | 150 + .../StGeant4Maker/tests/unit_test_fst_hits.C | 181 + .../tests/unit_test_fst_timing.C | 173 + .../tests/unit_test_kinematics.C | 183 + .../StGeant4Maker/tests/unit_test_mtd_hits.C | 1748 +++ .../tests/unit_test_mtd_response.C | 89 + .../tests/unit_test_multi_engine_emc.C | 230 + StRoot/StGeant4Maker/tests/unit_test_muons.C | 391 + .../tests/unit_test_single_engine_emc.C | 191 + .../StGeant4Maker/tests/unit_test_stg_hits.C | 190 + .../StGeant4Maker/tests/unit_test_tdm_truth.C | 309 + .../StGeant4Maker/tests/unit_test_tpc_hits.C | 427 + .../tests/unit_test_track_data_model.C | 309 + .../tests/unit_test_track_data_model_ntrack.C | 361 + StRoot/StGeant4Maker/tests/unit_tests.h | 235 + StRoot/StarGenerator/BASE/StarPrimaryMaker.h | 2 + StarVMC/StarAgmlLib/AgBlock.cxx | 1 + StarVMC/StarAgmlLib/AgMLExtension.cxx | 25 +- StarVMC/StarAgmlLib/AgMLExtension.h | 28 +- StarVMC/StarAgmlLib/AgMLStructure.h | 2 +- StarVMC/StarAgmlLib/AgModule.cxx | 21 +- StarVMC/StarAgmlLib/AgModule.h | 2 +- StarVMC/StarAgmlLib/AgPlacement.h | 3 + StarVMC/StarAgmlLib/StarTGeoStacker.cxx | 25 +- mgr/Conscript-standard | 16 + 79 files changed, 25524 insertions(+), 25 deletions(-) create mode 100644 StRoot/StGeant4Maker/.includes_for_export.flg create mode 100644 StRoot/StGeant4Maker/AgMLBTofVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLEEmcVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLEmcVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLEpdVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLFstVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLHcaVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLMtdVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLPreVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLStgVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx create mode 100644 StRoot/StGeant4Maker/AgMLTpcVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLVolumeIdFactory.h create mode 100644 StRoot/StGeant4Maker/AgMLVpdVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLWcaVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgStarDummy.cxx create mode 100644 StRoot/StGeant4Maker/GeometryUtils.cxx create mode 100644 StRoot/StGeant4Maker/GeometryUtils.h create mode 100644 StRoot/StGeant4Maker/StGeant4Application.cxx create mode 100644 StRoot/StGeant4Maker/StGeant4Application.h create mode 100644 StRoot/StGeant4Maker/StGeant4Maker.cxx create mode 100644 StRoot/StGeant4Maker/StGeant4Maker.h create mode 100644 StRoot/StGeant4Maker/StHitCollection.cxx create mode 100644 StRoot/StGeant4Maker/StHitCollection.h create mode 100644 StRoot/StGeant4Maker/StMCParticleStack.cxx create mode 100644 StRoot/StGeant4Maker/StMCParticleStack.h create mode 100644 StRoot/StGeant4Maker/StSensitiveDetector.cxx create mode 100644 StRoot/StGeant4Maker/StSensitiveDetector.h create mode 100644 StRoot/StGeant4Maker/macros/DrawHits.C create mode 100644 StRoot/StGeant4Maker/macros/gamma.C create mode 100755 StRoot/StGeant4Maker/macros/geant4star create mode 100755 StRoot/StGeant4Maker/macros/geant4star-leakcheck create mode 100755 StRoot/StGeant4Maker/macros/geant4star-memcheck create mode 100644 StRoot/StGeant4Maker/macros/geant4star.C create mode 100644 StRoot/StGeant4Maker/macros/initStar.C create mode 100644 StRoot/StGeant4Maker/macros/initStarG3.C create mode 100644 StRoot/StGeant4Maker/macros/muon.C create mode 100644 StRoot/StGeant4Maker/macros/pi0.C create mode 100644 StRoot/StGeant4Maker/macros/pion.C create mode 100644 StRoot/StGeant4Maker/macros/pythia6.C create mode 100644 StRoot/StGeant4Maker/macros/pythia8.C create mode 100644 StRoot/StGeant4Maker/macros/runGeant4Simulation.xml create mode 100644 StRoot/StGeant4Maker/macros/test_forward.C create mode 100644 StRoot/StGeant4Maker/macros/test_particle_decay.C create mode 100644 StRoot/StGeant4Maker/macros/test_pi0_decay.C create mode 100644 StRoot/StGeant4Maker/macros/test_stress_acceptance.C create mode 100755 StRoot/StGeant4Maker/tests/unit-test-summary create mode 100644 StRoot/StGeant4Maker/tests/unit_test_btof_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_eem_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_emc_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_epd_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_epd_response.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_fcs_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_fcs_sampling.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_fst_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_fst_timing.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_kinematics.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_mtd_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_mtd_response.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_multi_engine_emc.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_muons.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_single_engine_emc.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_stg_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_tdm_truth.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_tpc_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_track_data_model.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_track_data_model_ntrack.C create mode 100644 StRoot/StGeant4Maker/tests/unit_tests.h diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 917dd831eaa..a498a925c84 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -1275,13 +1275,15 @@ Bfc_st BFC[] = { // standard chains {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T"/*+++*/, "", "libVMC.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, + {"stargen", "","", "gen_T,sim_T"/*+++*/, "", "libVMC.so,libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, {"kinematics" ,"","","stargen", "", "Kinematics.so", "Load STAR Particle Gun", false }, {"genreader" ,"","","stargen", "", "StarGenEventReader.so", "Load STAR Gen Event Reader", false }, + {"fastjet" ,"","","" , "", "libfastjet.so", "Load fast jet reconstruction algo", false}, + {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"GEANT4 Libs ","-----------","-----------","------------------------------------------","","","",kFALSE}, @@ -1292,6 +1294,9 @@ Bfc_st BFC[] = { // standard chains {"g4geant3", "", "", "", "", "libG3toG4.so", "Load g3 to g4 support", false }, {"geant4", "", "", "g4physics,g4interfaces","","","Load G4 libs", false}, + {"geant4vmc", "","", "geant4", "", "libVMC.so,libgeant4vmc.so", "Load G4 VMC libs", false}, + {"geant4mk", "","", "stargen,geant4vmc", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, + {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"I/O Makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, diff --git a/StRoot/StGeant4Maker/.includes_for_export.flg b/StRoot/StGeant4Maker/.includes_for_export.flg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/StRoot/StGeant4Maker/AgMLBTofVolumeId.h b/StRoot/StGeant4Maker/AgMLBTofVolumeId.h new file mode 100644 index 00000000000..651f0eef368 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLBTofVolumeId.h @@ -0,0 +1,38 @@ +#ifndef __AgMLBtofVolumeId_h__ +#define __AgMLBtofVolumeId_h__ + +#include +#include + +class AgMLBtofVolumeId : public AgMLVolumeId { +public: + + AgMLBtofVolumeId(){} + // Applies to btog.version = 8 with btog.choice =13 (run 13 onwards) + + virtual int id( int* numbv ) const { + + int rileft = numbv[0]; + int sector = numbv[1]; + int module = numbv[2]; + int layer = numbv[3]; + + // Adjust for GMT modules + if ( rileft==1 ) { + if ( sector== 8 ) module += 4; + if ( sector==23 ) module += 4; + } + else if ( rileft==2 ) { + if ( sector == 33 ) module += 4; + if ( sector == 48 ) module += 4; + } + + int _id = layer + 10 * (module + 100 * (sector+100*rileft) ); + + return _id; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLEEmcVolumeId.h b/StRoot/StGeant4Maker/AgMLEEmcVolumeId.h new file mode 100644 index 00000000000..b82ae0425e9 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLEEmcVolumeId.h @@ -0,0 +1,70 @@ +#ifndef __AgMLEEmcVolumeId_h__ +#define __AgMLEEmcVolumeId_h__ + +#include +#include +#include +#include +#include +#include + +#include +#include + +class AgMLEEmcVolumeId : public AgMLVolumeId { + + const int onoff = 1; + const int fillmode = 3; + const int sectormap[2][6] = { + { 4, 5, 6, 7, 8, 9}, + {10,11,12, 1, 2, 3} + }; + + +public: + + AgMLEEmcVolumeId() : AgMLVolumeId() { /* nada */ }; + + virtual int id( int* numbv ) const { + + // cd == ESCI + int rileft = onoff; + int shift = 0; + + int wheel = numbv[0]; + int section = numbv[1]; + int idx = numbv[2]; + int phi30d = sectormap[wheel-1][idx-1]; // sector number + int subsec = numbv[3]; // subsection (i.e. layer) within each section + int sublay = numbv[4]; // ??? + int phi = numbv[5]; // phibin in sector + int eta = numbv[6]; + + int depth = subsec + 3 * ( section - 1 ); + + // int volumeid = 100000*rileft + 1000*(5*(phi30d-1)+phi) + 10*eta + depth; + + int volumeid = 100000 * rileft + + 1000 * ( 5 * ( phi30d-1 ) + phi ) + + 10 * eta + + depth; + + // LOG_INFO << Form("AgML EEmc VolumdId = wheel=%i section=%i idx=%i phi30d=%i subsection=%i %i %i %i %i", + // numbv[0], + // numbv[1], + // numbv[2], + // phi30d, + // numbv[3], + // numbv[4], + // numbv[5], + // numbv[6], + // volumeid ) << endm; + + + return volumeid; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLEmcVolumeId.h b/StRoot/StGeant4Maker/AgMLEmcVolumeId.h new file mode 100644 index 00000000000..70557536977 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLEmcVolumeId.h @@ -0,0 +1,66 @@ +#ifndef __AgMLEmcVolumeId_h__ +#define __AgMLEmcVolumeId_h__ + +#include +#include +#include +#include +#include +#include + +#include +#include + +class AgMLEmcVolumeId : public AgMLVolumeId { + + const int numberOfEtaRings = 20; + +public: + + AgMLEmcVolumeId() : AgMLVolumeId() { /* nada */ }; + + virtual int id( int* numbv ) const { + + + int rileft = numbv[0]; // east barrel vs west barrel + int phi = numbv[1]; // module + int superl = numbv[2]; // before / after SMD layer + + TLorentzVector _direction(0,0,0,0); + TVirtualMC::GetMC()->TrackPosition( _direction ); + + double xg[4], xl[4]; + _direction.GetXYZT( xg ); + double pseudoRapidity = TMath::Abs(_direction.Eta()); + + // Obtain local coordinates from global coordinates + TVirtualMC::GetMC()->Gmtod( xg, xl, 1 ); + + // Calculate the eta ring and submodule + int eta_tow = ( pseudoRapidity * double(numberOfEtaRings) ) + 1.0; + int phi_sub = ( xl[1]>= 0 )? 1 : 0; // (-13,0)=0, (0,13)=1 + + // LOG_INFO << Form("eta=%f xlocal=%f %f %f | phi_sub=%i eta_tow=%i", pseudoRapidity, xl[0], xl[1], xl[2],phi_sub,eta_tow) << endm; + + int volumeid = -999; + + if ( rileft==1 ) { + phi = 60 - phi + 1; + if ( phi_sub==0 ) { + phi_sub=2; + } + } + else { + phi = 60+phi; + phi_sub = phi_sub + 1; + } + + volumeid=10000000*rileft+100000*eta_tow+100*phi+10*phi_sub+superl; + + return volumeid; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLEpdVolumeId.h b/StRoot/StGeant4Maker/AgMLEpdVolumeId.h new file mode 100644 index 00000000000..ff22ae2d18c --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLEpdVolumeId.h @@ -0,0 +1,40 @@ +#ifndef __AgMLEpdVolumeId_h__ +#define __AgMLEpdVolumeId_h__ + +#include +#include + +class AgMLEpdVolumeId : public AgMLVolumeId { +public: + + AgMLEpdVolumeId(){} + + virtual int id( int* numbv ) const { + + int epdm = numbv[0]; // 1=east, 2=west + int epss = numbv[1]; // 1 for PP1, 2 for PP2, PP-postion 1'o,2'o clock etc + int epdt = numbv[2]; // 1:T1 trap, 2:T1 Triangular, 3:T2 Thin, 4:T3 Thick + + /* + + " EPD volume_id " + " 100,000 : east or west " + " 1,000 : Position clock wise, 1 to 12 " + " 10 : Tile number 1 to 31, refer EPD Drupal page" + " 1 : 1 T1 trap or T2 thin; 0 T1 triangular or T2 thick + + */ + + int _id = 0; + _id += 100000 * epdm; + _id += 1000 * epss; + _id += 10 * ( epdt%2 + epdt/2 ); + _id += 1 * ( epdt%2 ); + + return _id; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLFstVolumeId.h b/StRoot/StGeant4Maker/AgMLFstVolumeId.h new file mode 100644 index 00000000000..4f93ddb2eb2 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLFstVolumeId.h @@ -0,0 +1,28 @@ +#ifndef __AgMLFstVolumeId_h__ +#define __AgMLFstVolumeId_h__ + +#include +#include + +class AgMLFstVolumeId : public AgMLVolumeId { +public: + + AgMLFstVolumeId(){} + + virtual int id( int* numbv ) const { + + static const int mapping[] = { 2, 3, 1 }; + + int disk = numbv[0]; + int wedge = numbv[1]; + assert( numbv[2]>0 && numbv[2]<=3 ); + int sensor = mapping[ numbv[2]-1 ]; + + + return 1000*disk + 10*wedge + sensor; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLHcaVolumeId.h b/StRoot/StGeant4Maker/AgMLHcaVolumeId.h new file mode 100644 index 00000000000..c5b5ef409a7 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLHcaVolumeId.h @@ -0,0 +1,23 @@ +#ifndef __AgMLHcaVolumeId_h__ +#define __AgMLHcaVolumeId_h__ + +#include +#include + +class AgMLHcaVolumeId : public AgMLVolumeId { +public: + + AgMLHcaVolumeId(){} + + virtual int id( int* numbv ) const { + + int mod = numbv[0]; // module + int tow = numbv[1]; // tower + + return 1000*mod + tow; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLMtdVolumeId.h b/StRoot/StGeant4Maker/AgMLMtdVolumeId.h new file mode 100644 index 00000000000..af294664b78 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLMtdVolumeId.h @@ -0,0 +1,25 @@ +#ifndef __AgMLMtdVolumeId_h__ +#define __AgMLMtdVolumeId_h__ + +#include +#include + +class AgMLMtdVolumeId : public AgMLVolumeId { +public: + + AgMLMtdVolumeId(){} + // Applies to btog.version = 8 with btog.choice =13 (run 13 onwards) + + virtual int id( int* numbv ) const { + + int sector = numbv[0]; + int module = numbv[1]; + int layer = numbv[2]; + + return 1000 * sector + 100 * module + layer; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLPreVolumeId.h b/StRoot/StGeant4Maker/AgMLPreVolumeId.h new file mode 100644 index 00000000000..87e1026a37b --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLPreVolumeId.h @@ -0,0 +1,23 @@ +#ifndef __AgMLPreVolumeId_h__ +#define __AgMLPreVolumeId_h__ + +#include +#include + +class AgMLPreVolumeId : public AgMLVolumeId { +public: + + AgMLPreVolumeId(){} + + virtual int id( int* numbv ) const { + + int layer = numbv[0]; // layer + int slat = numbv[1]; // slat + + return 1000*layer + slat; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLStgVolumeId.h b/StRoot/StGeant4Maker/AgMLStgVolumeId.h new file mode 100644 index 00000000000..d98d39679be --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLStgVolumeId.h @@ -0,0 +1,29 @@ +#ifndef __AgMLStgVolumeId_h__ +#define __AgMLStgVolumeId_h__ + +#include +#include + +class AgMLStgVolumeId : public AgMLVolumeId { + + static const int version = 2; + +public: + + AgMLStgVolumeId(){} + + virtual int id( int* numbv ) const { + + int station = (numbv[0]-1) / 4 + 1; + int chamber = (numbv[0]-1) % 4 + 1; + + if ( version == 2 ) + return 10*station + chamber; + else + return numbv[0]; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx b/StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx new file mode 100644 index 00000000000..224c3d85db3 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx @@ -0,0 +1,45 @@ +#include +AgMLTpcVolumeId::AgMLTpcVolumeId() : + AgMLVolumeId(), + tpads{ + 1, 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, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 72, + 1, 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, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 72 + }, + + isdet{ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2 + } +{ + +} + + diff --git a/StRoot/StGeant4Maker/AgMLTpcVolumeId.h b/StRoot/StGeant4Maker/AgMLTpcVolumeId.h new file mode 100644 index 00000000000..6be8d489f20 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLTpcVolumeId.h @@ -0,0 +1,66 @@ +#ifndef __AgMLTpcVolumeId_h__ +#define __AgMLTpcVolumeId_h__ + +#include +#include + +class AgMLTpcVolumeId : public AgMLVolumeId { +public: + + AgMLTpcVolumeId(); + + int tpads[76*2]; + int isdet[76*2]; + + virtual int id( int* numbv ) const { + + int tpgv = numbv[0]; // tpc gas volume 1, 2 + int tpss = numbv[1]; // tpc super sector 1-12 + int tpad = numbv[2]; // tpc padrow + + int sector = tpss + 12 * (tpgv-1); // sector 1-24 + + int det = isdet[tpad-1]; // memcheck flags invalid read of size 4 + int pad = tpads[tpad-1]; + + int volumeid = 100000*det + 100*sector + pad; + + return volumeid; + + }; +}; + +class AgMLTpcVolumeIdTest__ : public AgMLTpcVolumeId { +public: + + AgMLTpcVolumeIdTest__() : AgMLTpcVolumeId(){ }; + + virtual int id( int* numbv ) const { + + int tpgv = numbv[0]; // tpc gas volume 1, 2 + assert(tpgv==1 || tpgv==2 ); + + int tpss = numbv[1]; // tpc super sector 1-12 + assert( tpss>=1 && tpss <=12 ); + + int tpad = numbv[2]; // tpc padrow + assert( tpad>=1 && tpad <= 76*2 ); + + int sector = tpss + 12 * (tpgv-1); // sector 1-24 + assert( sector >= 1 && sector <= 24 ); + + int det = isdet[tpad-1]; // memcheck flags invalid read of size 4 + assert( det>=0 && det<=2 ); + + int pad = tpads[tpad-1]; + assert(pad>=1 && pad<=72 ); + + int volumeid = 100000*det + 100*sector + pad; + + return volumeid; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLVolumeIdFactory.h b/StRoot/StGeant4Maker/AgMLVolumeIdFactory.h new file mode 100644 index 00000000000..eac3b5b6186 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLVolumeIdFactory.h @@ -0,0 +1,66 @@ +#ifndef __AgMLVolumeIdFactory_h__ +#define __AgMLVolumeIdFactory_h__ + +#include "TString.h" +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class AgMLVolumeIdFactory { +public: + + // TODO: Identify what the test flag is for and (probably) remove it + static AgMLVolumeId* Create( TString name, bool test=false ) { + + static std::map VolumeId; + + AgMLVolumeId* id = VolumeId[name]; + if ( 0==id ) { + if ( name == "TPAD" && test==false ) + id = new AgMLTpcVolumeId; + else if ( name == "TPAD" && test==true ) + id = new AgMLTpcVolumeIdTest__; + else if ( name == "FTUS" ) + id = new AgMLFstVolumeId; + else if ( name == "TGCG" ) + id = new AgMLStgVolumeId; + else if ( name == "WSCI" ) + id = new AgMLWcaVolumeId; + else if ( name == "HSCI" ) + id = new AgMLHcaVolumeId; + else if ( name == "PSCI" ) + id = new AgMLPreVolumeId; + else if ( name == "EPDT" ) + id = new AgMLEpdVolumeId; + else if ( name == "CSCI" ) + id = new AgMLEmcVolumeId; + else if ( name == "ESCI" ) + id = new AgMLEEmcVolumeId; + else if ( name == "BRSG" ) + id = new AgMLBtofVolumeId; + else if ( name == "MIGG" ) + id = new AgMLMtdVolumeId; + else if ( name == "VRAD" ) + id = new AgMLVpdVolumeId; + VolumeId[name] = id; + } + + return id; + + }; + +}; + +#endif diff --git a/StRoot/StGeant4Maker/AgMLVpdVolumeId.h b/StRoot/StGeant4Maker/AgMLVpdVolumeId.h new file mode 100644 index 00000000000..c3bd4cdac40 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLVpdVolumeId.h @@ -0,0 +1,30 @@ +#ifndef __AgMLVpdVolumeId_h__ +#define __AgMLVpdVolumeId_h__ + +#include +#include + +class AgMLVpdVolumeId : public AgMLVolumeId { +public: + + AgMLVpdVolumeId(){} + + static const int version = 2; // version is hard coded to the dev2021 geometry + + virtual int id( int* numbv ) const { + + int idx = 0; + + int rileft = numbv[idx++]; + int inout = (1==version) ? numbv[idx++] : 0; + int sector = numbv[idx++]; + + int _id = 1000 * rileft + 100*inout + sector; + + return _id; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLWcaVolumeId.h b/StRoot/StGeant4Maker/AgMLWcaVolumeId.h new file mode 100644 index 00000000000..fe80933b500 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLWcaVolumeId.h @@ -0,0 +1,23 @@ +#ifndef __AgMLWcaVolumeId_h__ +#define __AgMLWcaVolumeId_h__ + +#include +#include + +class AgMLWcaVolumeId : public AgMLVolumeId { +public: + + AgMLWcaVolumeId(){} + + virtual int id( int* numbv ) const { + + int mod = numbv[0]; // module + int tow = numbv[1]; // tower + + return 1000*mod + tow; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgStarDummy.cxx b/StRoot/StGeant4Maker/AgStarDummy.cxx new file mode 100644 index 00000000000..d76514d2d0c --- /dev/null +++ b/StRoot/StGeant4Maker/AgStarDummy.cxx @@ -0,0 +1,10 @@ +// Provide dummy functions expected from starsim +#include "StarCallf77.h" + +extern "C" { + void type_of_call agsvert_( float *vertex, int *nb, int *nt, float *ubuf, int *nu, int *nv ) { } + void type_of_call agskine_( float *plab, int *ip, int *nv, float *ubuf, int *nb, int *nt ) { } + void type_of_call gsvert_( float *, int &, int &, float *, int &, int &){ } + void type_of_call gskine_( float *, int &, int &, float *, int &, int &){ } + // void type_of_call gcomad_(DEFCHARD, int*& DEFCHARL){ } +}; diff --git a/StRoot/StGeant4Maker/GeometryUtils.cxx b/StRoot/StGeant4Maker/GeometryUtils.cxx new file mode 100644 index 00000000000..97ac5fa48c1 --- /dev/null +++ b/StRoot/StGeant4Maker/GeometryUtils.cxx @@ -0,0 +1,26 @@ +#include + +AgMLExtension* getExtension( TGeoNode* n ) { + + // + // Extension classes may be attached to the node or to the volume + // + AgMLExtension* agmlext = dynamic_cast( n->GetUserExtension() ); + if ( 0==agmlext ) agmlext = getExtension ( n->GetVolume() ); + + // + // If the extension is still missing, inherit from the parent volume + // + if ( 0==agmlext ) agmlext = getExtension( n->GetMotherVolume() ); + + + // + // If it is still missing, its the user's problem now + // + return agmlext; + +} + +AgMLExtension* getExtension( TGeoVolume* v ) { + return AgMLExtension::get(v); +} diff --git a/StRoot/StGeant4Maker/GeometryUtils.h b/StRoot/StGeant4Maker/GeometryUtils.h new file mode 100644 index 00000000000..6de7bcdb0ea --- /dev/null +++ b/StRoot/StGeant4Maker/GeometryUtils.h @@ -0,0 +1,11 @@ +#ifndef __GeometryUtils_h__ +#define __GeometryUtils_h__ + +#include +#include +#include + +AgMLExtension* getExtension( TGeoNode* n ); +AgMLExtension* getExtension( TGeoVolume* v ); + +#endif diff --git a/StRoot/StGeant4Maker/StGeant4Application.cxx b/StRoot/StGeant4Maker/StGeant4Application.cxx new file mode 100644 index 00000000000..f38c56264dd --- /dev/null +++ b/StRoot/StGeant4Maker/StGeant4Application.cxx @@ -0,0 +1 @@ +// Really empty... all functionality in StGeant4Maker diff --git a/StRoot/StGeant4Maker/StGeant4Application.h b/StRoot/StGeant4Maker/StGeant4Application.h new file mode 100644 index 00000000000..ae7bdbc5eae --- /dev/null +++ b/StRoot/StGeant4Maker/StGeant4Application.h @@ -0,0 +1,43 @@ +#ifndef __StGeant4Application_h__ +#define __StGeant4Application_h__ + +#include "TVirtualMCApplication.h" + +class StGeant4Application : public TVirtualMCApplication { +public: + StGeant4Application( const char* name="g4application", const char* title="Geant4 Application" ); + virtual ~StGeant4Application(){ /* nada */ }; + + static StGeant4Application* Instance(); + + void InitMC ( const char* macro ); + void RunMC ( const int nevents ); + + virtual void ConstructGeometry(); + virtual void ConstructOpGeometry(); + virtual void InitGeometry(); + virtual void GeneratePrimaries(); + virtual void BeginEvent(); + virtual void BeginPrimary(); + virtual void PreTrack(); + virtual void Stepping(); + virtual void PostTrack(); + virtual void FinishPrimary(); + virtual void FinishEvent(); + + void SetVerboseLevel(int verboseLevel); + + private: + // data members + int fEventNo; ///< Event counter + int fGammaCounter; ///< Optical photons counter + TMCVerbose fVerbose; ///< VMC verbose helper + // Ex03MCStack* fStack; ///< VMC stack + TVirtualMagField* fMagField; ///< The magnetic field + // Ex06DetectorConstruction* fDetConstruction; ///< Dector construction + // Ex06PrimaryGenerator* fPrimaryGenerator;///< Primary generator + // Bool_t fOldGeometry; ///< Option for geometry definition + +}; + +#endif diff --git a/StRoot/StGeant4Maker/StGeant4Maker.cxx b/StRoot/StGeant4Maker/StGeant4Maker.cxx new file mode 100644 index 00000000000..bad2c25de6f --- /dev/null +++ b/StRoot/StGeant4Maker/StGeant4Maker.cxx @@ -0,0 +1,1539 @@ +#include "StGeant4Maker.h" +//________________________________________________________________________________________________ +#include "StMessMgr.h" +//________________________________________________________________________________________________ +#include "StarMagField.h" +#include "StMCParticleStack.h" +#include "TSystem.h" +#include "StBFChain.h" +#include "TInterpreter.h" +#include "TGeoManager.h" +#include "StarVMC/StarAgmlLib/StarAgmlStacker.h" +#include "StarGenerator/BASE/StarPrimaryMaker.h" +#include "StarGenerator/BASE/StarParticleStack.h" +#include "StarGenerator/UTIL/StarParticleData.h" +#include "StarGenerator/UTIL/StarRandom.h" + +#include "TString.h" +#include "StSensitiveDetector.h" + +#include + +#include "StarVMC/StarAgmlLib/AgMLExtension.h" +#include "GeometryUtils.h" +#include "TString.h" + +#include "StChain/StEvtHddr.h" +#include "TH2F.h" + +#include + +//_______________________________________________________________________________________________ +#include +//_______________________________________________________________________________________________ +#include "TMCManager.h" +//________________________________________________________________________________________________ +#include "TGeant4.h" +#include "TG4RunManager.h" +#include "TG4RunConfiguration.h" +#include "TGeant3TGeo.h" +//________________________________________________________________________________________________ +#include "tables/St_g2t_event_Table.h" +#include "tables/St_g2t_vertex_Table.h" +#include "tables/St_g2t_track_Table.h" +//________________________________________________________________________________________________ +#include "g2t/St_g2t_tpc_Module.h" +#include "g2t/St_g2t_hca_Module.h" +#include "g2t/St_g2t_wca_Module.h" +#include "g2t/St_g2t_pre_Module.h" +#include "g2t/St_g2t_fts_Module.h" +#include "g2t/St_g2t_stg_Module.h" +#include "g2t/St_g2t_epd_Module.h" +#include "g2t/St_g2t_tfr_Module.h" +#include "g2t/St_g2t_mtd_Module.h" +#include "g2t/St_g2t_vpd_Module.h" +//________________________________________________________________________________________________ +#include +#include +//________________________________________________________________________________________________ + +// Functors used to copy the hits from the sensitive detector hit collections into the g2t tables. +// There's an explitive-load of boilerplate in these things + +struct SD2Table_TPC { + void operator()( StSensitiveDetector* sd, St_g2t_tpc_hit* table, St_g2t_track* track ) { + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_tpc_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_tpc_hit_st)); + + g2t_hit.id = hit->id; + + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + for ( int i=0; i<3; i++ ) { + g2t_hit.p[i] = 0.5 * ( hit->momentum_in[i] + hit->momentum_out[i] ); + g2t_hit.x[i] = 0.5 * ( hit->position_in[i] + hit->position_out[i] ); + } + g2t_hit.tof = 0.5 * ( hit->position_in[3] + hit->position_out[3] ); + g2t_hit.length = hit->length; + g2t_hit.lgam = hit->lgam; + + + + /* + these are used downstream by the slow simulator (and should not be filled here) + + g2t_hit.adc = ...; + g2t_hit.pad = ...; + g2t_hit.timebucket = ...; + g2t_hit.np = ...; // number of primary electrons + + */ + + int idtruth = hit->idtruth; + g2t_track_st* g2t_track = (g2t_track_st*)track->At(idtruth-1); + + g2t_hit.next_tr_hit_p = g2t_track->hit_tpc_p; // store next hit on the linked list + g2t_track->hit_tpc_p = hit->id; // this hit becomes the head of the linked list + + g2t_track->n_tpc_hit++; + + // Add hit to the table + table -> AddAt( &g2t_hit ); + + } + // TODO: increment hit count on track + } +} sd2table_tpc; +struct SD2Table_EPD { + void operator()( StSensitiveDetector* sd, St_g2t_epd_hit* table, St_g2t_track* track ) { + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_epd_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_epd_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + for ( int i=0; i<3; i++ ) { + g2t_hit.p[i] = 0.5 * ( hit->momentum_in[i] + hit->momentum_out[i] ); + g2t_hit.x[i] = 0.5 * ( hit->position_in[i] + hit->position_out[i] ); + } + g2t_hit.tof = 0.5 * ( hit->position_in[3] + hit->position_out[3] ); + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + trk->n_epd_hit++; + + } + + } +} sd2table_epd; +// Copy to sTGC and FST structures +struct SD2Table_STGC { + void operator()( StSensitiveDetector* sd, St_g2t_fts_hit* table, St_g2t_track* track ) { + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_fts_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_fts_hit_st)); + + g2t_hit.id = hit->id; + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + for ( int i=0; i<3; i++ ) { + g2t_hit.p[i] = 0.5 * ( hit->momentum_in[i] + hit->momentum_out[i] ); + g2t_hit.x[i] = 0.5 * ( hit->position_in[i] + hit->position_out[i] ); + } + g2t_hit.tof = 0.5 * ( hit->position_in[3] + hit->position_out[3] ); + + int idtruth = hit->idtruth; + g2t_track_st* g2t_track = (g2t_track_st*)track->At(idtruth-1); + + g2t_hit.next_tr_hit_p = g2t_track->hit_stg_p; // store next hit on the linked list + g2t_track->hit_stg_p = hit->id; // this hit becomes the head of the linked list + g2t_track->n_stg_hit++; + + table -> AddAt( &g2t_hit ); + + } + } +} sd2table_stgc; +struct SD2Table_FST { + void operator()( StSensitiveDetector* sd, St_g2t_fts_hit* table, St_g2t_track* track ) { + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_fts_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_fts_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + for ( int i=0; i<3; i++ ) { + g2t_hit.p[i] = 0.5 * ( hit->momentum_in[i] + hit->momentum_out[i] ); + g2t_hit.x[i] = 0.5 * ( hit->position_in[i] + hit->position_out[i] ); + } + g2t_hit.tof = 0.5 * ( hit->position_in[3] + hit->position_out[3] ); + + int idtruth = hit->idtruth; + g2t_track_st* g2t_track = (g2t_track_st*)track->At(idtruth-1); + + g2t_hit.next_tr_hit_p = g2t_track->hit_fts_p; // store next hit on the linked list + g2t_track->hit_fts_p = hit->id; // this hit becomes the head of the linked list + g2t_track->n_fts_hit++; + + table -> AddAt( &g2t_hit ); + + } + } +} sd2table_fst; + +// Generic EMC copy (no increment on track hits) +struct SD2Table_EMC { + void operator()( StSensitiveDetector* sd, St_g2t_emc_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StCalorimeterHitCollection* collection = (StCalorimeterHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_emc_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_emc_hit_st)); + + g2t_hit.id = hit->id; + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.x = hit->position_in[0]; + g2t_hit.y = hit->position_in[1]; + g2t_hit.z = hit->position_in[2]; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + if ( sdname == "CSCI" ) + trk->n_emc_hit++; + else if ( sdname == "ESCI" ) + trk->n_eem_hit++; + else if ( sdname == "PSCI" ) + trk->n_pre_hit++; + else if ( sdname == "WSCI" ) + trk->n_wca_hit++; + else if ( sdname == "HSCI" ) + trk->n_hca_hit++; + } + } +} sd2table_emc; + +struct SD2Table_HCA { + void operator()( StSensitiveDetector* sd, St_g2t_hca_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StCalorimeterHitCollection* collection = (StCalorimeterHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_hca_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_hca_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + if ( hit->user.size()>=1 ) g2t_hit.deA = hit->user[0]; else g2t_hit.deA = -1; + if ( hit->user.size()>=2 ) g2t_hit.deB = hit->user[1]; else g2t_hit.deB = -2; + if ( hit->user.size()>=3 ) g2t_hit.deC = hit->user[2]; else g2t_hit.deC = -3; + if ( hit->user.size()>=4 ) g2t_hit.deD = hit->user[3]; else g2t_hit.deD = -4; + g2t_hit.x = hit->position_in[0]; + g2t_hit.y = hit->position_in[1]; + g2t_hit.z = hit->position_in[2]; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + trk->n_hca_hit++; + + } + } +} sd2table_hca; + + +struct SD2Table_CTF { + void operator()( StSensitiveDetector* sd, St_g2t_ctf_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_ctf_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_ctf_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + + g2t_hit.x[0] = (hit->position_in[0] + hit->position_out[0]) * 0.5; + g2t_hit.x[1] = (hit->position_in[1] + hit->position_out[1]) * 0.5; + g2t_hit.x[2] = (hit->position_in[2] + hit->position_out[2]) * 0.5; + g2t_hit.tof = (hit->position_in[3] + hit->position_out[3]) * 0.5; + g2t_hit.p[0] = (hit->momentum_in[0] + hit->momentum_out[0]) * 0.5; + g2t_hit.p[1] = (hit->momentum_in[1] + hit->momentum_out[1]) * 0.5; + g2t_hit.p[2] = (hit->momentum_in[2] + hit->momentum_out[2]) * 0.5; + g2t_hit.s_track = hit->length; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + trk->n_tof_hit++; + + } + } +} sd2table_ctf; +struct SD2Table_VPD { + void operator()( StSensitiveDetector* sd, St_g2t_vpd_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_vpd_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_vpd_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + + g2t_hit.x[0] = (hit->position_in[0] + hit->position_out[0]) * 0.5; + g2t_hit.x[1] = (hit->position_in[1] + hit->position_out[1]) * 0.5; + g2t_hit.x[2] = (hit->position_in[2] + hit->position_out[2]) * 0.5; + g2t_hit.tof = (hit->position_in[3] + hit->position_out[3]) * 0.5; + g2t_hit.p[0] = (hit->momentum_in[0] + hit->momentum_out[0]) * 0.5; + g2t_hit.p[1] = (hit->momentum_in[1] + hit->momentum_out[1]) * 0.5; + g2t_hit.p[2] = (hit->momentum_in[2] + hit->momentum_out[2]) * 0.5; + g2t_hit.s_track = hit->length; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + trk->n_vpd_hit++; + + } + } +} sd2table_vpd; +struct SD2Table_MTD { + void operator()( StSensitiveDetector* sd, St_g2t_mtd_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_mtd_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_mtd_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + + g2t_hit.xglobal[0] = (hit->position_in[0] + hit->position_out[0]) * 0.5; + g2t_hit.xglobal[1] = (hit->position_in[1] + hit->position_out[1]) * 0.5; + g2t_hit.xglobal[2] = (hit->position_in[2] + hit->position_out[2]) * 0.5; + + g2t_hit.tof = (hit->position_in[3] + hit->position_out[3]) * 0.5; + g2t_hit.p[0] = (hit->momentum_in[0] + hit->momentum_out[0]) * 0.5; + g2t_hit.p[1] = (hit->momentum_in[1] + hit->momentum_out[1]) * 0.5; + g2t_hit.p[2] = (hit->momentum_in[2] + hit->momentum_out[2]) * 0.5; + g2t_hit.s_track = hit->length; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + trk->n_mtd_hit++; + + } + } +} sd2table_mtd; + +//________________________________________________________________________________________________ +TGeant4* gG4 = 0; +TGeant3TGeo* gG3 = 0; + +// Function to process one event +std::function trigger; + +//________________________________________________________________________________________________ +// Pointer to the maker so we can forward VMC calls there +static StGeant4Maker* _g4maker = 0; +//________________________________________________________________________________________________ +StarParticleData &particleData = StarParticleData::instance(); +//________________________________________________________________________________________________ +StarVMCApplication::StarVMCApplication( const Char_t *name, const Char_t *title, double zmax, double rmax, std::string multi, StMCParticleStack* stack ) : + TVirtualMCApplication(name,title),mZmax(zmax),mRmax(rmax),mMulti( multi=="multi" ) +{ + + mMCStack = stack; + + if ( mMulti && stack ) { + + LOG_INFO << "VMC Application Initialized for Multi-engine Run" << endm; + + RequestMCManager(); + fMCManager->SetUserStack(stack); + + } + +} +//________________________________________________________________________________________________ +void StGeant4Maker::PrintOptions( const char* opts ) { + if ( 0==opts ) { + + std::cout << std::endl << std::endl; + for ( auto o : mCmdOptions ) { + + std::cout << o.name + << " value=" << SAttr(o.name.c_str()) << std::endl + << " " << o.help << std::endl; + + + } + std::cout << std::endl << std::endl; + + } +} +//________________________________________________________________________________________________ +StGeant4Maker::StGeant4Maker( const char* nm ) : + StMaker(nm), + mCmdOptions(), + mVmcApplication ( NULL ), + mGeomPath ( "./StarDb/AgMLGeometry:$STAR/StarDb/AgMLGeometry" ), + mStarField ( NULL ), + mMCStack ( new StMCParticleStack( "MCstack" ) ), + mMagfield ( NULL ), + mRunConfig ( NULL ), + mCurrentNode (0), + mPreviousNode (0), + mCurrentVolume (0), + mPreviousVolume (0), + mCurrentTrackingRegion(2), + mPreviousTrackingRegion(2), + acurr(0),aprev(0), + mEventHeader(0), + mDefaultEngine(0) +{ + + + LOG_INFO << "Geant4Maker configuration" << endm; + LOG_INFO << "Each option can be overridden using --option=value" << endm; + + + // Setup default attributes + // SetAttr( "G4Opt:Nav", "geomRoot" );// Default uses only possibility for us... ROOT geom with ROOT nav. No VGM to convert to G4 geometry. + // Possibilities geomVMCtoGeant4 geomVMCtoRoot geomRoot geomRootToGeant4 geomGeant4 + SetAttr( "G4VmcOpt:Nav", "geomVMCtoRoot" ); + SetAttr( "G4VmcOpt:Name", "Geant4" ); + SetAttr( "G4VmcOpt:Title", "The Geant4 Monte Carlo" ); + AddOption( "G4VmcOpt:Phys", "FTFP_BERT", "Geant 4 physics list" ); // default physics list + // SetAttr( "G4VmcOpt:Process", "stepLimiter+specialCuts" ); // special process + SetAttr( "G4VmcOpt:Process", "stepLimiter+specialControls+specialCuts+stackPopper" ); // special process + // SetAttr( "G4VmcOpt:Process", "stepLimiter+stackPopper" ); // special process + + SetAttr("G3VmcOpt:Name", "GEANT3" ); + SetAttr("G3VmcOpt:nwgeant", 0 ); + + AddOption( "AgMLOpt:TopVolume", "HALL", "Name of the top-level volume" ); + + AddOption( "Stepping:Punchout:Stop", 1, "Punchout action: 0=no action, 1=track stopped, 2=track stopped and re-injected" ); + AddOption( "Stepping:Punchout:Rmin", 223.49, "Min radius applied to punchout logic" ); + AddOption( "Stepping:Punchout:Zmin", 268.75, "Min Z applied to punchout logic" ); + AddOption( "Random:G4", 12345, "Sets the Random number seed"); + AddOption( "field", -5.0, "Sets the STAR magnetic field [kG]" ); + + AddOption( "Application:Zmax", DBL_MAX, "Universe maximum z" ); + AddOption( "Application:Rmax", DBL_MAX, "Universe maximum radius" ); + + SetAttr("Scoring:Transit",0); + AddOption("Scoring:Rmax",450.0, "Maxium secondary production radius to enter truth tables" ); + AddOption("Scoring:Zmax",2000.0, "Maximum secondary production z to enter truth tables"); + AddOption("Scoring:Emin",0.01, "Minimum secondary energy to enter truth tables"); + + AddOption("vertex:x",0.0, "Primary vertex x [cm]"); + AddOption("vertex:y",0.0, "Primary vertex y [cm]"); + AddOption("vertex:z",0.0, "Primary vertex z [cm]"); + AddOption("vertex:sigmax",0.0, "Primary vertex width [cm]"); + AddOption("vertex:sigmay",0.0, "Primary vertex width [cm]"); + AddOption("vertex:sigmaz",0.0, "Primary vertex width [cm]"); + + + AddOption( "runnumber", 1, "Run number" ); + + + // Setup default cuts + AddOption("CUTGAM", 0.001, "Minimum photon energy for track propagation"); + AddOption("CUTELE", 0.001, "Minimum electron energy for track propagation" ); + AddOption("CUTHAD", 0.01, "Minimum charged hadron energy for track propagation"); + AddOption("CUTNEU", 0.01, "Minimum neutral hadron energy for track propagation"); + AddOption("CUTMUO", 0.01, "Minimum muon energy for track propagation"); + AddOption("BCUTE", /* R 'Cut for electron brems.' D=*/ 0.0001, "Cut for electron brem" ); + AddOption("BCUTM", /* R 'Cut for muon brems.' D=-1.*/ 0.0001, "Cut for muon brem" ); + AddOption("DCUTE", /* R 'Cut for electron delta-rays' D=*/ 0.0001, "Cut for electron delta rays" ); + AddOption("DCUTM", /* R 'Cut for muon delta-rays' D=-1.*/ 0.0001, "Cut for muon delta rays" ); + AddOption("PPCUTM", /* R 'Cut for e+e- pairs by muons' D=0.01*/ 0.01, "Cut for e+e- production by muons" ); + AddOption("TOFMAX", /* R 'Time of flight cut' D=*/ 1.E+10, "Maximum time-of-flight for tracks" ); + + // Setup default physics + AddOption("PAIR", 1, "Enable/disable pair production"); + AddOption("COMP", 1, "Enable/disable compton scattering" ); + AddOption("PHOT", 1, "Enable/diable photoelectric effect" ); + AddOption("PFIS", 1, "Enable/disable photo fission" ); + AddOption("DRAY", 1, "Enable/disable delta rays"); + AddOption("ANNI", 1, "Enable/disable positron annihilation"); + AddOption("BREM", 1, "Enable/disable bremstrahlung"); + AddOption("HADR", 1, "Enable/disable hadronic interactions"); + AddOption("MUNU", 1, "Enable/disable muon-nucleus interactions"); + AddOption("DCAY", 1, "Enable/disable decays"); + AddOption("LOSS", 2, "Energy loss mode" ); + AddOption("MULS", 1, "Multiple scattering"); + AddOption("CKOV", 1, "Cherenkov radiation"); + AddOption("RAYL", 1, "Rayleigh scattering"); + AddOption("LABS", 1, "Absorption of ckov photons"); + AddOption("SYNC", 1, "Synchrotron radiation"); + + // Application defaults to single engine mode with Geant4 + AddOption("application:engine","G4","Application mode: G3=GEANT3, G4=Geant4, multi=mixed G3/G4 mode with defaults below"); + + AddOption("all:engine", "G3", "In multi-engine mode, selects the default engine for all subsystems" ); // default engine in multi-engine mode is G3 + AddOption("NAME:engine", "XX", "Specifies the physics engine (XX=G3 or XX=G4) for all volumes defined in NAMEGeo"); + AddOption("wcal:engine", "G4", "Default engine for all volumes defined in WcalGeo" ); // Forward EMC defaults to G4 + AddOption("hcal:engine", "G4", "Default engine for all volumes defined in HcalGeo" ); // Forward hcal defaults to G4 + + + + // Naughty + _g4maker = this; // Provide a global pointer to the G4 maker + + PrintOptions(); + +} +//________________________________________________________________________________________________ +int StGeant4Maker::Init() { + + InitGeom(); + + mVmcApplication = new StarVMCApplication("g4star","STAR G4/VMC",DAttr("Application:Zmax"),DAttr("Application:Rmax"), SAttr("application:engine"), mMCStack ); + + const bool specialStacking = false; + const bool multiThreaded = false; + mRunConfig = new TG4RunConfiguration( SAttr("G4VmcOpt:Nav"), SAttr("G4VmcOpt:Phys" ), SAttr("G4VmcOpt:Process"), specialStacking, multiThreaded ); + + AddObj( mVmcApplication, ".const", 0 ); // Register VMC application + + if ( 0==std::strcmp( SAttr("application:engine"), "G3") || 0==std::strcmp( SAttr("application:engine"), "multi") ) { + gG3 = new TGeant3TGeo(SAttr("G3VmcOpt:Name"), IAttr("G3VmcOpt:nwgeant" ) ); // ID = 0 in multi engine + LOG_INFO << "Created GEANT3 instance" << gG3->GetName() << endm; + } + + if ( 0==std::strcmp( SAttr("application:engine"), "G4") || 0==std::strcmp( SAttr("application:engine"), "multi") ) { + gG4 = new TGeant4(SAttr("G4VmcOpt:Name"), SAttr("G4VmcOpt:Title") ,mRunConfig); // ID = 1 in multi engine + LOG_INFO << "Created Geant 4 instance " << gG4->GetName() << endm; + } + + if ( gG4 ) AddObj( gG4, ".const", 0 ); + if ( gG3 ) AddObj( gG3, ".const", 0 ); + + bool multimode = gG3 && gG4; + + if ( multimode ) { + LOG_INFO << "Application will run both G3 and G4 physics engines, with default as "<< SAttr("all:physics") << endm; + // Verify that G3 and G4 registered themselves with the manager + auto* mgr = TMCManager::Instance(); + if ( mgr ) { + std::vector engines; + mgr->GetEngines(engines); + for ( auto* mc : engines ) { + mc->Print(); + } + } + } + + // + // Create the function which processes a single event + // + + trigger = [](){ std::cout << "StGeant4Maker::trigger warning. No trigger function defined. No events produced." << std::endl; } ; + if ( gG3 || gG4 ) { + if ( 0==std::strcmp( SAttr("application:engine"), "G4" ) ) { + trigger = []() { gG4->ProcessRun(1); } ; + } + + else if ( 0==std::strcmp( SAttr("application:engine"), "G3" ) ) { + trigger = []() { gG3->ProcessRun(1); } ; + } + + else if ( 0==std::strcmp( SAttr("application:engine"), "multi" ) ) { + trigger = [](){ TMCManager::Instance()->Run(1); } ; + } + } + + mMagfield = new StarMagFieldAdaptor(/*nada*/); + + auto SetDefaultCuts = [this](TVirtualMC* mc) { + mc->SetCut( "CUTGAM", DAttr("cutgam") ); + mc->SetCut( "CUTELE", DAttr("cutele") ); + mc->SetCut( "CUTHAD", DAttr("cuthad") ); + mc->SetCut( "CUTNEU", DAttr("cutneu") ); + mc->SetCut( "CUTMUO", DAttr("cutmuo") ); + mc->SetCut( "BCUTE" , DAttr("bcute") ); + mc->SetCut( "DCUTE" , DAttr("dcute") ); + mc->SetCut( "BCUTM" , DAttr("bcutm") ); + mc->SetCut( "DCUTM" , DAttr("dcutm") ); + }; + auto SetDefaultProcesses = [this](TVirtualMC* mc) { + mc->SetProcess("PAIR", IAttr("PAIR")); + mc->SetProcess("COMP", IAttr("COMP")); + mc->SetProcess("PHOT", IAttr("PHOT")); + mc->SetProcess("PFIS", IAttr("PFIS")); + mc->SetProcess("DRAY", IAttr("DRAY")); + mc->SetProcess("ANNI", IAttr("ANNI")); + mc->SetProcess("BREM", IAttr("BREM")); + mc->SetProcess("HADR", IAttr("HADR")); + mc->SetProcess("MUNU", IAttr("MUNU")); + mc->SetProcess("DCAY", IAttr("DCAY")); + mc->SetProcess("LOSS", IAttr("LOSS")); + mc->SetProcess("MULS", IAttr("MULS")); + mc->SetProcess("CKOV", IAttr("CKOV")); + mc->SetProcess("RAYL", IAttr("RAYL")); + mc->SetProcess("LABS", IAttr("LABS")); + mc->SetProcess("SYNC", IAttr("SYNC")); + }; + auto SetFieldAndGeometry = [this](TVirtualMC* mc) { + mc->SetMagField( mMagfield ); + mc->SetRootGeometry(); + }; + auto SetStack = [this,multimode](TVirtualMC* mc) { + if ( 0==multimode ) mc->SetStack(mMCStack); + }; + auto InitializeMC = [SetDefaultCuts,SetDefaultProcesses,SetFieldAndGeometry,SetStack](TVirtualMC* mc) { + SetDefaultCuts(mc); + SetDefaultProcesses(mc); + SetFieldAndGeometry(mc); + SetStack(mc); + mc->Init(); + mc->BuildPhysics(); + }; + + // Multi-engine initialization + if ( 0==std::strcmp( SAttr("application:engine"), "multi") ) { + + LOG_INFO << "Initialize Geant 4 + GEANT3 multiengine run" << endm; + TMCManager::Instance()->Init( InitializeMC ); + + } + + // Geant4 standalone initialization + if ( 0==std::strcmp( SAttr("application:engine"), "G4") ) { + + LOG_INFO << "Initialize Geant 4 standalone" << endm; + + InitializeMC( gG4 ); + + TG4RunManager* runManager = TG4RunManager::Instance(); + runManager->UseRootRandom(false); + + } + + // GEANT3 standalone initialization + if ( 0==std::strcmp( SAttr("application:engine"), "G3") ) { + + LOG_INFO << "Initialize GEANT3 standalone" << endm; + + InitializeMC( gG3 ); + + } + + return StMaker::Init(); +} +//________________________________________________________________________________________________ +int StGeant4Maker::InitRun( int /* run */ ){ + + auto result = kStOK; + + // Get magnetic field scale + double field = DAttr("field"); /* kG */ + + if ( 0 == StarMagField::Instance() ) new StarMagField( StarMagField::kMapped, field / 5.0 ); + + if ( 0.0 == field ) { // TODO: Not sure about the logic here... + // field = St_MagFactorC::instance()->ScaleFactor(); + // if ( TMath::Abs(field)<1E-3 ) field = 1E-3; + StarMagField::Instance()->SetFactor(field); + } + + // Obtain a pointer to the event header + mEventHeader = (StEvtHddr*) ( GetTopChain()->GetDataSet("EvtHddr") ); + + // If it does not exist, create and register + if ( 0 == mEventHeader ) { + mEventHeader = new StEvtHddr(GetConst()); + mEventHeader->SetRunNumber(0); + SetOutput(mEventHeader); // Declare this event header for output + } + + // Obtain pointer to the primary maker + StarPrimaryMaker* primarymk = dynamic_cast (GetMaker("PrimaryMaker")); + if (primarymk) { + primarymk->SetVertex( DAttr("vertex:x"), DAttr("vertex:y"), DAttr("vertex:z") ); + primarymk->SetSigma ( DAttr("vertex:sigmax"), DAttr("vertex:sigmay"), DAttr("vertex:sigmaz") ); + } + else { + LOG_FATAL << "Primary event generator not registered" << endm; + result = kStFatal; + } + + return result; +} +//________________________________________________________________________________________________ +void StarVMCApplication::ConstructGeometry(){ + // Geometry construction is the responsability of the framework and should + // have already occurred. If the geometry is missing, it should be fatal. + if ( 0==gGeoManager ) { + LOG_FATAL << "Geometry manager is not available at StarVMCApplication::ConstructGeometry... this will not go well" << endm; + } + gGeoManager->CloseGeometry(); +} +//________________________________________________________________________________________________ +int StGeant4Maker::InitGeom() { + + const DbAlias_t *DbAlias = GetDbAliases(); + if ( 0==gGeoManager ) { + for (int i = 0; DbAlias[i].tag; i++) // iterate over DB aliases + { + StBFChain *bfc = (StBFChain *)(GetTopChain()); + if ( 0==bfc ) break; // nothing to do in this case... + + // + // Look for BFC option of form y2019x or ry2019x + // + TString rtag = "r"; rtag += DbAlias[i].tag; + TString tag = DbAlias[i].tag; + if ( 0==bfc->GetOption(rtag.Data()) && 0==bfc->GetOption(tag.Data()) ) continue; + // + // Get the geometry generation macro + // + TString geo = "Geometry."; geo += DbAlias[i].tag; geo += ".C"; + Char_t *mac = gSystem->Which( mGeomPath.Data(), geo, kReadPermission ); + if ( 0==mac ) continue; + // + // Load and execute + // + LOG_INFO << "Load geometry file " << mac << endm; + gInterpreter->ProcessLine( Form( ".L %s", mac ) ); + gInterpreter->ProcessLine( "CreateTable();" ); + gInterpreter->ProcessLine( Form( ".U %s", mac ) ); + // + // Cleanup file + // + if (mac) delete [] mac; + } + } + + assert(gGeoManager); + + LOG_INFO << "Geometry constructed." << endm; + TGeoVolume* top = gGeoManager->FindVolumeFast( SAttr("AgMLOpt:TopVolume") ); + gGeoManager->SetTopVolume( top ); + + return kStOK; +} +//________________________________________________________________________________________________ +double StarVMCApplication::TrackingRmax() const { + return mRmax; +} +double StarVMCApplication::TrackingZmax() const { + return mZmax; +} +//________________________________________________________________________________________________ +int StGeant4Maker::InitHits() { + return kStOK; +} +//________________________________________________________________________________________________ +struct A { }; +struct B { }; +int StGeant4Maker::Make() { + + static int eventNumber = 1; + const int runnumber = IAttr("runnumber"); + + // One time initialization + if ( 1 == eventNumber ) { + + mMCStack->SetScoring( DAttr("Scoring:Rmax"), DAttr("Scoring:Zmax"), DAttr("Scoring:Emin") ); + + } + + trigger(); + + // Update event header. Note that event header's SetRunNumber method sets the run number AND updates the previous run number. + + if ( runnumber != mEventHeader->GetRunNumber() ) mEventHeader -> SetRunNumber( runnumber ); + mEventHeader -> SetEventNumber( eventNumber ); + mEventHeader -> SetProdDateTime(); + + // SetDateTime(); + + // Increment event number + eventNumber++; + + // Dump the stack at the end of make + // mMCStack -> StackDump(); + + return kStOK; +} +//________________________________________________________________________________________________ +void StGeant4Maker::Clear( const Option_t* opts ){ + + mMCStack -> Clear(); // Clear the MC stack + acurr = aprev = 0; // zero out pointers to the current and previous agml extensions + + + StMaker::Clear(); +} +//________________________________________________________________________________________________ +void StarVMCApplication::InitGeometry(){ + + _g4maker -> ConfigureGeometry(); + +} +//________________________________________________________________________________________________ +void StarVMCApplication::ConstructSensitiveDetectors() { + + // + // This routine registers sensitive detectors to volumes. Additionally, + // in multi-engine mode, this routine is responsible for associating + // a physics engine to each volume in the geometry. + // + // NOTE: physics engines are assigned at the granularity of geometry + // modules. Users have the ability to specify the physics engine for + // a given module (and all volumes defined within) by using the syntax + // + // --syst:engine=G3 or --syst:engine=G4 + // + // where "syst" denotes the first four letters of the name of the geometry + // module. + // + + assert(gGeoManager); + + // + // Returns the engine enum (kGeant3 or kGeant4) from the command line option + // of the form NAME:engine=G3 or NAME:engine=G4 + // + // NAME = all signifies the default engine + // NAME = modu is the first four letters (lower cased) of the module name. All + // volumes within that module will be assigned to the engine. + // + auto engineFromOption = []( const std::string _option ) -> int { + std::string option = _option; + int result; + // Get the default from the maker + std::string v; + const std::string default_ = _g4maker->SAttr("all:engine"); + + if ( option == "" ) v = default_; + else v = _g4maker->SAttr(option.c_str()); + if ( v == "" ) v = default_; + + // Returns either geant3 or geant4 + if ( v == "G3" ) result = AgMLExtension::Geant3; + else if ( v == "G4" ) result = AgMLExtension::Geant4; + else { assert(0); } // should never fall through + assert( result==0 || result==1 ); + return result; + }; + auto engineFromModule = [engineFromOption]( const std::string _m ) -> int { + // grab the first four characters of the module + std::string m4 = _m.substr(0,4); + // is there an attribute set + std::string option = m4 + ":engine"; + return engineFromOption( option ); + }; + + _g4maker->SetDefaultEngine( engineFromOption("all:engine") ); + + // First collect all AgML extensions with sensitive volumes + // by the family name of the volume + std::map sdmap; + + // Get list of volumes + TObjArray *volumes = gGeoManager->GetListOfVolumes(); + + // Get list of extensions mapped to volume + for ( int i=0; iGetEntries(); i++ ) { + + TGeoVolume* volume = (TGeoVolume *)volumes->At(i); + AgMLExtension* ae = getExtension(volume); + if ( 0==ae ) { + LOG_INFO << "No agml extension on volume = " << volume->GetName() << endm; + continue; // shouldn't happen + } + + // Name of the volume + TString vname=volume->GetName(); + TString fname=ae->GetFamilyName(); + TString mname=ae->GetModuleName(); + + ae->SetEngine( engineFromModule( mname.Data() ) ); + + if ( 0==ae->GetSensitive() ) { + LOG_DEBUG << "Not sensitive = " << volume->GetName() << endm; + continue; + } + + AgMLVolumeId* identifier = AgMLVolumeIdFactory::Create( fname ); + if ( identifier ) { + ae -> SetVolumeIdentifier( identifier ); + } + + // + // Get the sensitive detector. If we don't have one registered + // to this family, create one and register it + // + StSensitiveDetector* sd = sdmap[fname]; + if ( 0==sd ) { + // add sensitive detector to local map + sd = sdmap[fname] = new StSensitiveDetector( fname, mname ); + sd->SetUserStack( mMCStack ); + } + + // Register this volume to the sensitive detector + + auto* mgr = TMCManager::Instance(); + if ( 0 == mgr ) { + + auto* mc = TVirtualMC::GetMC(); // Question: Do we need to obtain pointer through TMCManager here? + if ( nullptr == mc->GetSensitiveDetector( vname ) ) { + mc->SetSensitiveDetector( vname, sd ); + } + + } + else { // multi engine mode + + mgr->Apply( [sd,vname]( TVirtualMC* _mc ) { + _mc->SetSensitiveDetector( vname, sd ); + }); + + } + + // Register this volume with the sensitive detector + sd->addVolume( volume ); + + } + +} +//________________________________________________________________________________________________ +void StGeant4Maker::SetEngineForModule( const char* module_, const int engine ) { + + LOG_INFO << "Remapping all volumes in module " << module_ << " to MC engine " << engine << endm; + + // Get list of volumes + TObjArray *volumes = gGeoManager->GetListOfVolumes(); + + // Get list of extensions mapped to volume + for ( int i=0; iGetEntries(); i++ ) { + + TGeoVolume* volume = (TGeoVolume *)volumes->At(i); + AgMLExtension* ae = getExtension(volume); + if ( 0==ae ) { + LOG_INFO << "No agml extension on volume = " << volume->GetName() << endm; + continue; // shouldn't happen + } + + // Name of the volume + TString vname=volume->GetName(); + TString fname=ae->GetFamilyName(); + TString mname=ae->GetModuleName(); + TString mname_ = module_; + + if ( mname == mname_ ) { + + ae->SetEngine( engine ); + + } + + } + +} +//________________________________________________________________________________________________ +int StGeant4Maker::ConfigureGeometry() { + + auto* mgr = TMCManager::Instance(); + + // Iterate overall volumes and set volume specific tracking cuts + std::map media; + TObjArray* objArray = gGeoManager->GetListOfVolumes(); + for ( int i=0; iGetEntries();i++ ) { + TGeoVolume* volume = (TGeoVolume *)objArray->At(i); + if ( 0==volume ) continue; + TGeoMedium* medium = volume->GetMedium(); + int id = medium->GetId(); + if ( media[id]>0 ) continue; // skip if medium already encountered + AgMLExtension* agmlExt = getExtension(volume); + if ( 0==agmlExt ) continue; + media[id] = id; + for ( auto kv : agmlExt->GetCuts() ) { + if ( 0==mgr ) { + TVirtualMC::GetMC()->Gstpar( id, kv.first, kv.second ); + } + else { + mgr->Apply( [id,kv]( TVirtualMC* mc ) { + mc->Gstpar( id, kv.first, kv.second ); + }); + } + } + } + + + return kStOK; +} +//________________________________________________________________________________________________ +void StarVMCApplication::BeginEvent(){ _g4maker->BeginEvent(); } +void StGeant4Maker::BeginEvent(){ + + +} +//________________________________________________________________________________________________ +void StarVMCApplication::FinishEvent(){ _g4maker -> FinishEvent(); } +void StGeant4Maker::FinishEvent(){ + + // Event information is (for the time being) zeroed out + St_g2t_event* g2t_event = new St_g2t_event("g2t_event",1); AddData(g2t_event); + g2t_event_st event; + event = {0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0}; + g2t_event->AddAt( &event ); + + // TODO: handle multi-engine + StMCParticleStack* stack = mMCStack; // (StMCParticleStack *)TVirtualMC::GetMC()->GetStack(); + auto& vertex = stack->GetVertexTable(); + auto& particle = stack->GetParticleTable(); + unsigned int nvertex = vertex.size(); + unsigned int ntrack = particle.size(); + + St_g2t_vertex* g2t_vertex = new St_g2t_vertex("g2t_vertex",nvertex); AddData(g2t_vertex); + St_g2t_track* g2t_track = new St_g2t_track ("g2t_track", ntrack); AddData(g2t_track); + + // Add tracks and vertices to the data structures... + + std::map truthTrack; + std::map truthVertex; + + // Map vertex and track ID truth to their pointers + + int ivertex = 1; // vertex numbering starts from 1 + for ( auto v : vertex ) { + truthVertex[v] = ivertex; + ivertex++; + } + + int itrack = 1; // track numbering starts from 1 + for ( auto t : particle ) { + truthTrack[t] = itrack; + itrack++; + } + + ivertex = 1; + for ( auto v : vertex ) { + + // partial fill of vertex table ________________________ + g2t_vertex_st myvertex; memset(&myvertex, 0, sizeof(g2t_vertex_st)); + myvertex.id = ivertex; + std::string vname = v->volume(); + std::copy(vname.begin(), vname.end(), myvertex.ge_volume); + myvertex.eg_x[0] = myvertex.ge_x[0] = v->vx(); + myvertex.eg_x[1] = myvertex.ge_x[1] = v->vy(); + myvertex.eg_x[2] = myvertex.ge_x[2] = v->vz(); + myvertex.eg_tof = myvertex.ge_tof = v->tof(); + myvertex.n_daughter = v->daughters().size(); + if ( v->daughters().size() ) { + myvertex.daughter_p = truthTrack[ v->daughters()[0] ]; + } + if ( v->parent() ) { + myvertex.n_parent = 1; // almost by definition + myvertex.parent_p = truthTrack[ v->parent() ]; + } + myvertex.ge_medium = v->medium(); + myvertex.ge_proc = v->process(); + myvertex.is_itrmd = v->intermediate(); + + // TODO: map ROOT mechanism to G3 names + + // An intermediate vertex with no daughters makes no + // sense (daughters must have been ranged out) so + // skip filling + // if ( myvertex.is_itrmd && 0==myvertex.n_daughter ) continue; + + + //__________________________________________ next vertex + g2t_vertex->AddAt( &myvertex ); + ivertex++; + + } + + itrack = 1; // track numbering starts from 1 + for ( auto t : particle ) { + + auto* pdgdata = particleData.GetParticle( t->GetPdg() ); + + // partial fill of track table _______________________ + g2t_track_st mytrack; memset(&mytrack, 0, sizeof(g2t_track_st)); + mytrack.id = itrack; + mytrack.eg_pid = t->GetPdg(); + if ( pdgdata ) { + mytrack.ge_pid = pdgdata->TrackingCode(); + mytrack.charge = pdgdata->Charge()/3.0; + } + else { + LOG_WARN << Form("Particle w/ pdgid = %i has no G3 ID (assign 0 to g2t_track::ge_pid)",t->GetPdg()) << endm; + } + mytrack.p[0] = t->px(); + mytrack.p[1] = t->py(); + mytrack.p[2] = t->pz(); + mytrack.e = t->particle()->Energy(); + mytrack.pt = t->pt(); // NOTE: starsim secondaries have pt = -999 + mytrack.eta = t->particle()->Eta(); + mytrack.rapidity = t->particle()->Y(); + // index of the start and stop vertices. + // TODO: particle stop vertices need to be scored + mytrack.start_vertex_p = truthVertex[ t->start() ]; + mytrack.stop_vertex_p = truthVertex[ t->stop() ]; + // next, track parent + mytrack.next_parent_p = truthTrack[ t->start()->parent() ]; + //__________________________________________ next track + g2t_track->AddAt(&mytrack); + itrack++; + } + + // Copy hits to tables + AddHits( "TPCH", {"TPAD"}, "g2t_tpc_hit", sd2table_tpc ); + AddHits( "CALH", {"CSCI"}, "g2t_emc_hit", sd2table_emc ); + AddHits( "ECAH", {"ESCI"}, "g2t_eem_hit", sd2table_emc ); + + AddHits( "EPDH", {"EPDT"}, "g2t_epd_hit", sd2table_epd ); + AddHits( "FSTH", {"FTUS"}, "g2t_fsi_hit", sd2table_fst ); + AddHits( "STGH", {"TGCG"}, "g2t_stg_hit", sd2table_stgc ); + AddHits( "PREH", {"PSCI"}, "g2t_pre_hit", sd2table_emc ); + AddHits( "WCAH", {"WSCI"}, "g2t_wca_hit", sd2table_emc ); + AddHits( "HCAH", {"HSCI"}, "g2t_hca_hit", sd2table_hca ); // HCA should have its own copier + + AddHits( "BTOH", {"BRSG"}, "g2t_tfr_hit", sd2table_ctf ); + AddHits( "VPDH", {"VRAD"}, "g2t_vpd_hit", sd2table_vpd ); + AddHits( "MUTH", {"MIGG"}, "g2t_mtd_hit", sd2table_mtd ); + + // g2t_track->Print(0,10); + +} +//________________________________________________________________________________________________ +void StarVMCApplication::BeginPrimary(){ _g4maker -> BeginPrimary(); } +void StGeant4Maker::BeginPrimary() +{ + + std::vector& truthTable = mMCStack->GetTruthTable(); + truthTable.clear(); + + +} +//________________________________________________________________________________________________ +void StarVMCApplication::FinishPrimary(){ _g4maker->FinishPrimary(); } +void StGeant4Maker::FinishPrimary() +{ + +} +//________________________________________________________________________________________________ +void StarVMCApplication::PreTrack(){ _g4maker->PreTrack(); } +void StGeant4Maker::PreTrack() +{ + + auto* navigator = gGeoManager->GetCurrentNavigator(); + + // Reset the history (tracks always born in full tracking region) + mPreviousNode = mCurrentNode = 0; + mPreviousVolume = mCurrentVolume = 0; + mCurrentTrackingRegion=2; + mPreviousTrackingRegion=2; + + mCurrentNode = navigator->GetCurrentNode(); + mCurrentVolume = navigator->GetCurrentVolume(); +} +//________________________________________________________________________________________________ +void StarVMCApplication::PostTrack(){ _g4maker->PostTrack(); } +void StGeant4Maker::PostTrack() +{ + +} +//________________________________________________________________________________________________ +void StGeant4Maker::UpdateHistory() { + + static auto* navigator = gGeoManager->GetCurrentNavigator(); + // TODO: handle multi-engine +//static auto* mc = TVirtualMC::GetMC(); + + + mPreviousNode = mCurrentNode; + mPreviousVolume = mCurrentVolume; + mCurrentNode = navigator->GetCurrentNode(); + mCurrentVolume = navigator->GetCurrentVolume(); + + // Obtain the agml extensions, giving priority to anything attached to + // a node. + + aprev = (mPreviousNode ) ? dynamic_cast( mPreviousNode->GetUserExtension() ) : 0; + acurr = (mCurrentNode ) ? dynamic_cast( mCurrentNode->GetUserExtension() ) : 0; + + if ( 0==aprev ) { + aprev = (mPreviousVolume) ? getExtension(mPreviousVolume) : 0; + } + if ( 0==acurr ) { + acurr = (mCurrentVolume) ? getExtension(mCurrentVolume) : 0; + } + + // Possibly inherit from parent volume + if ( 0==aprev && mPreviousNode ) { + aprev = getExtension( mPreviousNode->GetMotherVolume() ); + } + if ( 0==acurr && mCurrentNode ) { + acurr = getExtension( mCurrentNode->GetMotherVolume() ); + } + + // If the previous or current extension is null, there is no change in the tracking state. + + if ( aprev ) { + mPreviousTrackingRegion = aprev->GetTracking(); + // HACK override for CAVE, SCON + if ( aprev->GetVolumeName() == "CAVE" ) mPreviousTrackingRegion = 2; + } + if ( acurr ) { + mCurrentTrackingRegion = acurr->GetTracking(); + // HACK override for CAVE + if ( acurr->GetVolumeName() == "CAVE" ) mCurrentTrackingRegion = 2; + } + +} +//________________________________________________________________________________________________ +int StGeant4Maker::regionTransition( int curr, int prev ) { + TString previous = (mPreviousNode) ? mPreviousNode->GetName() : ""; + int result = 0; + + // TODO: handle multi-engine +//static auto mc = TVirtualMC::GetMC(); + +//static double Rmin = DAttr("Stepping:Punchout:Rmin"); +//static double Zmin = DAttr("Stepping:Punchout:Zmin"); + + // TODO: This is a hack. We need to update the geometry and group these three + // detectors underneath a single integration volume / region. + if ( previous == "PMOD" || + previous == "WMOD" || + previous == "HMOD" ) { + result = 0; + } + else { + result = curr - prev; + } + + // 2 2 0 no transition + // 2 1 1 into tracking from calorimeter + // 1 2 -1 into calorimeter from tracking + // 1 1 0 no transition + + return result; + +} +//________________________________________________________________________________________________ +void StarVMCApplication::Stepping(){ _g4maker -> Stepping(); } +void StGeant4Maker::Stepping(){ + + // At start of user stepping, try to transfer the track between engine + auto* mgr = TMCManager::Instance(); + auto* mc = TVirtualMC::GetMC(); + + if ( mgr ) { + + mc = mgr->GetCurrentEngine(); + + int target = mDefaultEngine; + int current = mc->GetId(); + + auto* ext = getExtension( mCurrentVolume ); + if ( ext ) { + target = ext->GetEngine(); + } + + + if ( current != target ) { + mgr->TransferTrack(target); + } + + } + + auto* stack = mMCStack; + + // Get access to the current track + TParticle* current = stack->GetCurrentTrack(); + + // Get access to the current MC truth + StarMCParticle* truth = stack->GetParticleTable().back(); + + // Update the immediate track history + UpdateHistory(); + + // Check for region transitions + const int transit = regionTransition( mCurrentTrackingRegion, mPreviousTrackingRegion ); + + double vx, vy, vz, tof; + mc->TrackPosition( vx,vy,vz ); + tof = mc->TrackTime(); // because consistent interface ala TrackMomentum is hard... + + bool stopped = false; + + static double Rmin = DAttr("Stepping:Punchout:Rmin"); + static double Zmin = DAttr("Stepping:Punchout:Zmin"); + + // Defines a tracking region which overrides the geometry module region assignment + auto trackingRegion = [=]()->bool { + +// bool result = false; + + double x,y,z,r; + mc->TrackPosition( x, y, z ); + r = TMath::Sqrt( x*x + y*y ); + z = TMath::Abs(z); + + bool tpcFiducial = r < Rmin && z < Zmin; + bool fwdFiducial = r < 90.0; // 90cm is poletip donut hole + + bool fcsFiducial = z > 700 && z < 1000 && TMath::Abs(x) < 150 && TMath::Abs(y) < 101.0; + + + return tpcFiducial || fwdFiducial || fcsFiducial; + + }; + + // Check if option to stop punchout tracks is enabled + if ( IAttr("Stepping:Punchout:Stop") && 1==transit && !trackingRegion() ) { + + if ( 2==IAttr("Stepping:Punchout:Stop") ) { + + assert(truth); + + // Parent track is the ID known to the particle stack + int parent = truth->idStack(); + + assert(current); + + // PDG of the track has not changed + int pdg = current->GetPdgCode(); + // We will use the current momentum of the particle + double px, py, pz, e; + mc->TrackMomentum( px, py, pz, e ); + // ... and its current vertex and TOF from the point where it + // emerges from the calorimeter + + // this is a user process (and I would dearly love to be able to extend the definitions here...) + TMCProcess mech = kPUserDefined; + int ntr; + + stack->PushTrack( 1, parent, pdg, px, py, pz, e, vx, vy, vz, tof, 0., 0., 0., mech, ntr, 1.0, 1 ); + + } + + mc->StopTrack(); + stopped = true; + + } + + // Score interaction vertices on entrance / exit of a tracking region + bool transitCheck = (0!=transit)&&IAttr("Scoring:Transit"); + if ( 2==mCurrentTrackingRegion || transitCheck ) { + + int nsec = mc->NSecondaries(); + + // Track has decayed or otherwise been stopped + if ( mc->IsTrackDisappeared() || + mc->IsTrackStop() || + mc->IsTrackOut() ) { + + const StarMCVertex* vertex_ = truth->stop(); + if ( 0==vertex_ ) { + + auto* vertex = mMCStack->GetVertex( vx, vy, vz, tof, -1 ); + vertex->setParent( truth ); + vertex->setMedium( mc->CurrentMedium() ); + +// int pdgid = 0; + if ( mc->IsTrackDisappeared() ) { + + if ( nsec ) vertex->setProcess( mc->ProdProcess(0) ); + else if ( mc->IsTrackStop() ) vertex->setProcess( kPStop ); + else if ( mc->IsTrackOut() ) vertex->setProcess( kPNull ); + + } + else if ( mc->IsTrackStop() ) vertex->setProcess( kPStop ); + else if ( mc->IsTrackOut() ) vertex->setProcess( kPNull ); + + truth->setStopVertex( vertex ); + } + + } + else if ( nsec > 0 ) { + + + TMCProcess proc = mc->ProdProcess(0); + { + + // interaction which throws off secondaries and track contiues... + auto* vertex = mMCStack->GetVertex(vx,vy,vz,tof,proc); + + vertex->setParent( truth ); + vertex->setMedium( mc->CurrentMedium() ); + vertex->setProcess( mc->ProdProcess(0) ); + vertex->setIntermediate(true); + + // this is an intermediate vertex on the truth track + truth->addIntermediateVertex( vertex ); + + } + + } + + } + + if ( stopped ) { + LOG_DEBUG << Form("track stopped x=%f y=%f z=%f ds=%f transit=%d %d stopped=%s %s", + vx,vy,vz,mc->TrackStep(), mCurrentTrackingRegion, mPreviousTrackingRegion, (stopped)?"T":"F", mc->CurrentVolPath() ) << endm; + } + + // Perform any post stepping actions + for ( auto f : mPostSteppingActions ) f(); + + +} +//________________________________________________________________________________________________ +void StarVMCApplication::GeneratePrimaries() { _g4maker -> PushPrimaries(); } +void StGeant4Maker::PushPrimaries() { + + StMaker *mymaker = GetMaker("PrimaryMaker"); + StarPrimaryMaker *myprimary = (StarPrimaryMaker *)mymaker; + StarParticleStack *mystack = myprimary->stack(); + + int ntrack = mystack -> GetNtrack(); + + int ntr = 0; // set by reference below... + for ( int itrack = 0; itrack < ntrack; itrack++ ) + { + + TParticle *track = mystack->GetParticle(itrack); + int pdg = track -> GetPdgCode(); + TParticlePDG *pdgPart = particleData(pdg); + + if ( 0 == pdgPart ) + { // Protect against unknown particle codes + continue; + } + + int parent = track->GetFirstMother(); +// int kid1 = track->GetFirstDaughter(); +// int kid2 = track->GetLastDaughter(); + double px = track->Px(); + double py = track->Py(); + double pz = track->Pz(); + + double M = pdgPart->Mass(); + + double E = TMath::Sqrt( px * px + py * py + pz * pz + M * M ); + double vx = track->Vx(); + double vy = track->Vy(); + double vz = track->Vz(); + double tof= track->T(); + double weight = 1.0; + TMCProcess proc = kPPrimary; + int stat = track->GetStatusCode(); + + if ( 1 == stat ) + { + + // Push all tracks with parent = -1 to flag as primary + mMCStack->PushTrack( 1, parent=-1, pdg, px, py, pz, E, vx, vy, vz, tof, 0, 0, 0, proc, ntr, weight, stat ); + + } + + + } + + LOG_INFO << "Pushed " << ntr << " tracks from primary event generator" << endm; + +} +//________________________________________________________________________________________________ +int StGeant4Maker::Finish() { + + LOG_INFO << "Energy sums per sensitive volume" << endm; + for ( auto kv : mHitSum ) { + + std::string name = kv.first; + double esum = kv.second; + + LOG_INFO << name.c_str() << " dE sum = " << esum << endm; + + } + + return kStOK; +} + + + +//________________________________________________________________________________________________ + diff --git a/StRoot/StGeant4Maker/StGeant4Maker.h b/StRoot/StGeant4Maker/StGeant4Maker.h new file mode 100644 index 00000000000..d2da9c8eb90 --- /dev/null +++ b/StRoot/StGeant4Maker/StGeant4Maker.h @@ -0,0 +1,258 @@ +#ifndef __StGeant4Maker_h__ +#define __StGeant4Maker_h__ +#include + +#include "StChain.h" + +#include "TVirtualMC.h" +#include "TVirtualMCApplication.h" +#include "TVirtualMagField.h" +#include "StarMagField.h" +#include +#include +#include +#include "StMCParticleStack.h" + +#include + +class StGeant4Maker; + +class AgMLExtension; + +class TGeoNode; +class TGeoVolume; + +class TG4RunConfiguration; + +class St_g2t_track; + +class StEvtHddr; + +//______________________________________________________________________________________ +class StarMagFieldAdaptor : public TVirtualMagField { +public: + void Field( const double *x, double *B ) + { + StarMagField::Instance()->BField(x,B); + } +}; +//______________________________________________________________________________________ +class StarVMCApplication : public TVirtualMCApplication { +public: + StarVMCApplication( const char *name = "starsim", const char *title="STAR VMC simulation", double zmax=DBL_MAX, double rmax=DBL_MAX, std::string engine="geant4", StMCParticleStack* stack = 0 ); + ~StarVMCApplication(){ /* nada */ }; + + /// Geometry construction is the responsability of the STAR chain + virtual void ConstructGeometry(); + virtual void ConstructSensitiveDetectors(); + + /// Misalignment of geometry. Default false. + virtual bool MisalignGeometry(){ return false; } + + /// Define parameters for optical processes (optional) + virtual void ConstructOpGeometry() { LOG_INFO << "VMC APP ConstructOpGeometry()" << endm; } + + /// TODO: Initialize geometry. (Usually used to define sensitive volumes IDs) + virtual void InitGeometry(); + + /// Add user defined particles (optional) + virtual void AddParticles() {LOG_INFO << "VMC APP AddParticles()" << endm; }; + + /// Add user defined ions (optional) + virtual void AddIons() {} + + /// Primary generation is responsability of the STAR framework + virtual void GeneratePrimaries(); + + /// Define actions at the beginning of the event + virtual void BeginEvent(); + + /// Define actions at the beginning of the primary track + virtual void BeginPrimary(); + + /// Define actions at the beginning of each track + virtual void PreTrack(); + + /// Define action at each step + virtual void Stepping(); + + /// Define actions at the end of each track + virtual void PostTrack(); + + /// Define actions at the end of the primary track + virtual void FinishPrimary(); + + /// Define actions at the end of the event + virtual void FinishEvent(); + + /// Define maximum radius for tracking (optional) + virtual double TrackingRmax() const; + + /// Define maximum z for tracking (optional) + virtual double TrackingZmax() const; + + /// Calculate user field \a b at point \a x + virtual void Field(const double* x, double* b) const { StarMagField::Instance()->BField(x,b); } + + /// Define action at each step for Geane + virtual void GeaneStepping() {;} + +private: +protected: + + double mZmax; + double mRmax; + + bool mMulti; + + StMCParticleStack* mMCStack; + + ClassDef(StarVMCApplication, 0); + +}; +//______________________________________________________________________________________ +class StGeant4Maker : public StMaker { + +public: + + StGeant4Maker( const char* nm="geant4star" ); + ~StGeant4Maker(){ /* nada */ }; + + /// Initialize maker + int Init(); + int InitRun( int run ); + int InitGeom(); + int InitHits(); + + /// Perform runtime initialization of per-medium track propagation cuts, processes, etc... + int ConfigureGeometry(); + + /// Process one event + int Make(); + + void BeginEvent(); + void BeginPrimary(); + void PreTrack(); + void PostTrack(); + void FinishPrimary(); + void FinishEvent(); + + // Executed on each tracking step + void Stepping(); + + /// Push primary event out for tracking + void PushPrimaries(); + + /// Clear for the next event + void Clear( const Option_t* opts="" ); + + /// Final end of run actions + int Finish(); + + void SetDefaultEngine( int e ) { mDefaultEngine = e; } + + /// Sets the MC engine for a given module + void SetEngineForModule( const char* module_, const int engine ); + + StMCParticleStack* stack(){ return mMCStack; } + + void AddUserPostSteppingAction( std::function f ) { mPostSteppingActions.push_back(f); } + + /// Registers a command line option + template + void AddOption( const char* opt, T val, const char* help ){ + SetAttr( opt, val ); + mCmdOptions.push_back( { opt, help } ); + } + + void PrintOptions( const char* opts = 0 ); + + +private: +protected: + + struct CmdOption { + std::string name; + std::string help; + }; + std::vector mCmdOptions; + + StarVMCApplication *mVmcApplication; + TString mGeomPath; // Search path for geometry construction + StarMagField *mStarField; + StMCParticleStack *mMCStack; // Monte Carlo stack + StarMagFieldAdaptor *mMagfield; + TG4RunConfiguration* mRunConfig; + // StVMCStepManager* mStepping; + + void UpdateHistory(); + + TGeoNode* mCurrentNode; + TGeoNode* mPreviousNode; + TGeoVolume* mCurrentVolume; + TGeoVolume* mPreviousVolume; + + int mCurrentTrackingRegion; + int mPreviousTrackingRegion; + + AgMLExtension* acurr; + AgMLExtension* aprev; + + StEvtHddr* mEventHeader; + + int regionTransition( int, int ); + + std::map mHitSum; + + /// @param T specifies the type of the table + /// @param F specifies the functor class which retrieves the hits from geant + template + int AddHits( std::string name, std::vector volumes, std::string gname, F sd2table ) { + + int nhits = 0; + StSensitiveDetector* sd = 0; + for ( auto v : volumes ) { + sd = dynamic_cast(TVirtualMC::GetMC()->GetSensitiveDetector( v.c_str() )); + if ( 0==sd ) { LOG_INFO << "no SD for " << v << endm; continue; } + nhits += sd->numberOfHits(); + break; + } + if ( 0==sd ) return 0; + + LOG_INFO << name << " adding number of hits = " << nhits << endm; + auto* table = new T( gname.c_str(), nhits ); + auto* g2t_track = (St_g2t_track*)FindByName("g2t_track"); + + // Copy data from the sensitive detector to the table + sd2table( sd, table, g2t_track ); + + AddData( table ); + double sum = 0.0; + for ( auto hit : (*table) ) { + sum += hit.de; + } + mHitSum[ name ] += sum; + + // Clear the sensitive detector + sd->Clear(); + + return nhits; + } + + int mDefaultEngine; + + std::vector< std::function > mPostSteppingActions; + + ClassDef(StGeant4Maker,0); + +public: + + virtual const char *GetCVS() const + { + static const char cvs[]="Tag $Name:$ $Id:$ built __DATE__ __TIME__ "; + return cvs; + } + +}; +//______________________________________________________________________________________ +#endif diff --git a/StRoot/StGeant4Maker/StHitCollection.cxx b/StRoot/StGeant4Maker/StHitCollection.cxx new file mode 100644 index 00000000000..64700cab0db --- /dev/null +++ b/StRoot/StGeant4Maker/StHitCollection.cxx @@ -0,0 +1,449 @@ +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include + +//____________________________________________________________________________________________ +ostream& operator<<(ostream& os, const TrackerHit& hit) { + + TString mypath(""); + + int i=0; + int volu=hit.volu[i]; + int copy=hit.copy[i]; + while ( volu>0 ) { + mypath += "/"; mypath += gGeoManager->GetVolume(volu)->GetName(); mypath += "_"; mypath += copy; + i++; + volu=hit.volu[i]; + copy=hit.copy[i]; + } + + TString numbv; + for ( unsigned int iv=0;iv0 ) { + + mypath += "/"; mypath += gGeoManager->GetVolume(volu)->GetName(); mypath += "_"; mypath += copy; + + i++; + + volu=hit.volu[i]; + copy=hit.copy[i]; + + } + + TString numbv; + for ( unsigned int iv=0;ivGetCurrentNavigator(); + TVirtualMC* mc = (TMCManager::Instance()) ? + TMCManager::Instance()->GetCurrentEngine() : + TVirtualMC::GetMC(); + + TGeoVolume* current = navigator->GetCurrentVolume(); + + // Is this a charged particle? If not, skip it... + if ( 0 == mc->TrackCharge() ) return; + + // Energy deposited in this tracking step + double Edep = mc->Edep(); + + // Position and momentum of the hit + double x, y, z, px, py, pz, etot; + mc->TrackPosition( x, y, z ); + mc->TrackMomentum( px, py, pz, etot ); + + TVirtualMCStack* stack = (TVirtualMCStack *)mc->GetStack(); + + // Get list of tracks from particle stack + StMCParticleStack* userstack = (StMCParticleStack*)mUserStack; + std::vector& truthTable = userstack->GetTruthTable(); + std::vector& particleTable = userstack->GetParticleTable(); + + // This should be the current particle truth + StarMCParticle* truth = userstack->GetCurrentPersistentTrack(); + + LOG_DEBUG << "Process hits with track " << truth << " current tn=" << userstack->GetCurrentTrackNumber() << endm; + + bool isNewTrack = mc->IsNewTrack(); + bool isTrackEntering = mc->IsTrackEntering(); + bool isTrackExiting = mc->IsTrackExiting(); + bool isTrackInside = mc->IsTrackInside(); + bool isTrackOut = mc->IsTrackOut(); + bool isTrackStop = mc->IsTrackStop(); + + TrackerHit* hit = 0; + + // Track has entered this volume, create a new hit + if ( isTrackEntering || isNewTrack ) { + + // Make sure that the level is not too deep + if ( navigator->GetLevel() > int(DetectorHit::maxdepth) ) { + LOG_INFO << "Cannot score hits with depth " << navigator->GetLevel() << endm; + return; + } + + mHits.push_back( hit = new TrackerHit ); + truth->addHit( hit ); + + // Get the current path to the sensitive volume + hit->path = mc->CurrentVolPath(); + + // Get the current volume / copy numbers to the sensitive volume. n.b. GetBranchNumbers + // only writes to the current level, so if hit is not new or cleared, need to clear by hand. + gGeoManager->GetBranchNumbers( hit->copy, hit->volu ); + + int inumbv = 0; + AgMLExtension* agmlext = 0; + for ( int ilvl=0; ilvlGetLevel()+1;ilvl++ ) { + TGeoVolume* volume = gGeoManager->GetVolume( hit->volu[ilvl] ); + agmlext = getExtension( volume ); + if ( 0 == agmlext ) continue; // but probably an error + if ( agmlext->GetBranchings() <= 1 ) continue; // skip unique volumes (and HALL) + hit->numbv[ inumbv++ ] = hit->copy[ilvl]; + } + + // Set the volume unique ID + assert(agmlext); + hit->volId = agmlext->GetVolumeId( hit->numbv ); + + // Assign the hit a unqiue ID (index + 1) + hit->id = mHits.size(); + + // Assign the hit the ID truth of the current track (index + 1) + // hit->idtruth = particleTable.size(); + // hit->idtruth = truthTable.size(); + hit->idtruth = userstack->GetIdTruth ( truth ); + + + + // Score entrance momentum and + mc->TrackMomentum( hit->momentum_in[0], hit->momentum_in[1], hit->momentum_in[2], hit->momentum_in[3] ); + mc->TrackPosition( hit->position_in[0], hit->position_in[1], hit->position_in[2] ); + hit->position_in[3] = mc->TrackTime(); + + } + + if ( mHits.size() == 0 ) { + LOG_INFO << "No available hits" << endm; + return; + } + + // Update the final step in this hit + hit = mHits.back(); + + hit -> nsteps += 1; + + // For all other tracking states, update the exit momentum and position + mc->TrackMomentum( hit->momentum_out[0], hit->momentum_out[1], hit->momentum_out[2], hit->momentum_out[3] ); + mc->TrackPosition( hit->position_out[0], hit->position_out[1], hit->position_out[2] ); + hit->position_out[3] = mc->TrackTime(); + + // Increment the energy loss and step sums + hit -> de += mc->Edep(); + hit -> ds += mc->TrackStep(); + + // Total length to this point + hit -> length = mc->TrackLength(); + + double mass = mc->TrackMass(); + double Etot = mc->Etot(); // total energy + + double Ekin = Etot - mass; + if ( mass <= 0 ) hit->lgam = -999; + else if ( Ekin <= 0 ) hit->lgam = -998; + else hit->lgam = TMath::Log10( Ekin/mass ); + + + // Grab the agml extension and evaluate user hits + AgMLExtension* agmlext = getExtension( current ); + if ( 0==agmlext ) return; + + // Score user defined hit quantities + for ( auto score : agmlext->GetUserHits() ) { + hit->user.push_back( score->hit() ); + } + +} +//_____________________________________________________________________________________________ +void StTrackerHitCollection::EndOfEvent() { + // Do nothing +} +//_____________________________________________________________________________________________ +void StTrackerHitCollection::Clear(Option_t*) { + for ( auto h : mHits ) { + if ( h ) delete h; + } + mHits.clear(); +} + + +//_____________________________________________________________________________________________ +void StCalorimeterHitCollection::Initialize() { + +} +//_____________________________________________________________________________________________ +void StCalorimeterHitCollection::ProcessHits() { + + TGeoNavigator* navigator = gGeoManager->GetCurrentNavigator(); + TVirtualMC* mc = TVirtualMC::GetMC(); + TGeoVolume* current = navigator->GetCurrentVolume(); + + // Is this a charged particle? If not, skip it... + if ( 0 == mc->TrackCharge() ) return; + + // Energy deposited in this tracking step + double Edep = mc->Edep(); + + // Correct for Birk's law + // Edep = Edep * mBirk[0] / ( 1.0 + mBirk[1]*Edep + mBirk[2]*Edep*Edep ); + + // Position and momentum of the hit + double x, y, z, px, py, pz, etot; + mc->TrackPosition( x, y, z ); + mc->TrackMomentum( px, py, pz, etot ); + + TVirtualMCStack* stack = (TVirtualMCStack *)mc->GetStack(); + + // Get list of tracks from particle stack + StMCParticleStack* userstack = (StMCParticleStack*)mUserStack; + std::vector& truthTable = userstack->GetTruthTable(); + std::vector& particleTable = userstack->GetParticleTable(); + + // This should be the current particle truth + StarMCParticle* truth = userstack->GetCurrentPersistentTrack(); + + LOG_DEBUG << "Process hits with track " << truth << " current tn=" << userstack->GetCurrentTrackNumber() << endm; + + bool isNewTrack = mc->IsNewTrack(); + bool isTrackEntering = mc->IsTrackEntering(); + bool isTrackExiting = mc->IsTrackExiting(); + bool isTrackInside = mc->IsTrackInside(); + bool isTrackOut = mc->IsTrackOut(); + bool isTrackStop = mc->IsTrackStop(); + + CalorimeterHit* hit = 0; + + // Track has entered this volume, create a new hit + if ( isTrackEntering || isNewTrack ) { + + // Zero out the energy sum + mEsum = 0; + + // Make sure that the level is not too deep + if ( navigator->GetLevel() > int(DetectorHit::maxdepth) ) { + LOG_INFO << "Cannot score hits with depth " << navigator->GetLevel() << endm; + return; + } + + mHits.push_back( hit = new CalorimeterHit ); + truth->addHit( hit ); + + // Get the current path to the sensitive volume + hit->path = mc->CurrentVolPath(); + + // Get the current volume / copy numbers to the sensitive volume. n.b. GetBranchNumbers + // only writes to the current level, so if hit is not new or cleared, need to clear by hand. + gGeoManager->GetBranchNumbers( hit->copy, hit->volu ); + + // Set reduced volume path + int inumbv = 0; + AgMLExtension* agmlext = 0; + for ( int ilvl=0; ilvlGetLevel()+1;ilvl++ ) { + TGeoVolume* volume = gGeoManager->GetVolume( hit->volu[ilvl] ); + agmlext = getExtension(volume); + if ( 0 == agmlext ) continue; // but probably an error + if ( agmlext->GetBranchings() <= 1 ) continue; // skip unique volumes (and HALL) + hit->numbv[ inumbv++ ] = hit->copy[ilvl]; + } + + // Set the volume unique ID + assert(agmlext); + hit->volId = agmlext->GetVolumeId( hit->numbv ); + + // Assign the hit a unqiue ID (index + 1) + hit->id = 1 + mHits.size(); + + // Assign the hit the ID truth of the current track (index + 1) + // hit->idtruth = particleTable.size(); + // hit->idtruth = truthTable.size(); + hit->idtruth = userstack->GetIdTruth ( truth ); + + // Score entrance + mc->TrackPosition( hit->position_in[0], hit->position_in[1], hit->position_in[2] ); + hit->position_in[3] = mc->TrackTime(); + + } + + if ( mHits.size() == 0 ) { + LOG_INFO << "No available hits" << endm; + return; + } + + // Update the final step in this hit + hit = mHits.back(); + + hit -> nsteps += 1; + + // Add current energy deposit to energy sum + mEsum += Edep; + + // Hit energy will be the total energy deposition corrected by Birk's law + hit -> de = mEsum * mBirk[0] / ( 1.0 + mBirk[1]*mEsum + mBirk[2]*mEsum*mEsum ); + + // Grab the agml extension and evaluate user hits + AgMLExtension* agmlext = getExtension( current ); + if ( 0==agmlext ) return; + + // Score user defined hit quantities + for ( auto score : agmlext->GetUserHits() ) { + hit->user.push_back( score->hit() ); + } + + +} +//_____________________________________________________________________________________________ +void StCalorimeterHitCollection::EndOfEvent() { + // Aggregate hits in each calorimeter sensitive volume + int count=0; + int idtruth=0; + double demax=-9E9; + std::map hitsByVolume; + + for ( auto hit : mHits ) { + int volumeId = hit->volId; + auto myhit = hitsByVolume[volumeId]; + + if ( 0==myhit ) { + myhit = hitsByVolume[volumeId] = new CalorimeterHit(); + myhit->id = ++count; + myhit->idtruth=hit->idtruth; + std::copy( hit->volu, hit->volu+DetectorHit::maxdepth, myhit->volu ); + std::copy( hit->copy, hit->copy+DetectorHit::maxdepth, myhit->copy ); + myhit->volId = volumeId; + myhit->path = hit->path; + myhit->user.resize(hit->user.size()); + std::copy(hit->position_in,hit->position_in+4,myhit->position_in); + myhit->idtruth=hit->idtruth; + } + + myhit->idtruth = TMath::Min( hit->idtruth, myhit->idtruth ); + myhit->nsteps += hit->nsteps; + myhit->de += hit->de; + + if ( hit->user.size() == myhit->user.size() ) + { + for ( int i=0;iuser.size();i++ ) { + myhit->user[i]+=hit->user[i]; + } + } + else + { + LOG_INFO << "Size mismatch in user hit vector, skip adding this hit. " << endm; + } + } + + for ( auto h : mHits ) { + if (h) delete h; + } + mHits.clear(); + + for ( auto kv : hitsByVolume ) { + mHits.push_back( kv.second ); + } + +} +//_____________________________________________________________________________________________ + +//_____________________________________________________________________________________________ +void StCalorimeterHitCollection::Clear(Option_t*) { + for ( auto h : mHits ) { + if (h) delete h; + } + mHits.clear(); + mEsum=0; +} diff --git a/StRoot/StGeant4Maker/StHitCollection.h b/StRoot/StGeant4Maker/StHitCollection.h new file mode 100644 index 00000000000..cf1d46cb5b4 --- /dev/null +++ b/StRoot/StGeant4Maker/StHitCollection.h @@ -0,0 +1,94 @@ +#ifndef __StHitCollection_h__ +#define __StHitCollection_h__ + +class DetectorHit; +class TrackerHit; +class CalorimeterHit; + +#include +#include +#include +#include +#include + +class TVirtualMCStack; + +class StHitCollection : public TNamed { + +public: + + StHitCollection( const char* name, const char* title ); + ~StHitCollection(){ /* nada */ }; + + virtual void Initialize() = 0; + virtual void ProcessHits() = 0; + virtual void EndOfEvent() = 0; + virtual void Clear(Option_t* o="") = 0; + + virtual int numberOfHits() = 0; + + void SetUserStack( TVirtualMCStack* stack ) { mUserStack = stack; } + +private: +protected: + + TVirtualMCStack* mUserStack; + + ClassDef(StHitCollection,0); + +}; + +class StTrackerHitCollection : public StHitCollection { + +public: + StTrackerHitCollection( const char* name, const char* title ); + ~StTrackerHitCollection() { /* nada */ }; + + virtual void Initialize(); + virtual void ProcessHits(); + virtual void EndOfEvent(); + virtual void Clear(Option_t* o=""); + + virtual int numberOfHits(){ return mHits.size(); } + + std::vector& hits(){ return mHits; } + +private: +protected: + + std::vector mHits; + + ClassDef(StTrackerHitCollection,0); + +}; + + +class StCalorimeterHitCollection : public StHitCollection { + +public: + StCalorimeterHitCollection( const char* name, const char* title ); + ~StCalorimeterHitCollection() { /* nada */ }; + + virtual void Initialize(); + virtual void ProcessHits(); + virtual void EndOfEvent(); + virtual void Clear(Option_t* o=""); + + virtual int numberOfHits(){ return mHits.size(); } + + std::vector& hits(){ return mHits; } + +private: +protected: + + std::vector mHits; + double mBirk[3]; + double mEsum; + + ClassDef(StCalorimeterHitCollection,0); + +}; + +std::ostream& operator<<(std::ostream& os, const TrackerHit& hit); + +#endif diff --git a/StRoot/StGeant4Maker/StMCParticleStack.cxx b/StRoot/StGeant4Maker/StMCParticleStack.cxx new file mode 100644 index 00000000000..a9d51d73f1a --- /dev/null +++ b/StRoot/StGeant4Maker/StMCParticleStack.cxx @@ -0,0 +1,512 @@ +#include "StMCParticleStack.h" + +#include + +#include "TMCProcess.h" +using namespace std; + +#include +#include + +#include +#include +#include +#include + +#include + +#include +#include +#include + +const int kDefaultStackSize = 400; +const int kDefaultArraySize = 4000; + +ostream& operator<<(ostream& os, const StarMCVertex& vert) { + os << Form("[StMCVertex %p] (%f,%f,%f)", + (void*)&vert, + vert.vx(), + vert.vy(), + vert.vz()); + return os; +} +ostream& operator<<(ostream& os, const StarMCParticle& part) { + os << Form("[StMcParticle %s %p] stat=%i pdg=%i p=(%f,%f,%f;%f) v=(%f,%f,%f)",part.GetName(),(void*)&part, + part.GetStatus(), part.GetPdg(), + part.px(),part.py(),part.pz(),part.E(), + part.vx(),part.vy(),part.vz() + ); + + if ( part.start() ) { + os << std::endl << " [start] " << *part.start(); + } + + for ( auto i : part.intermediate() ) { + os << std::endl << " [inter] " << *i; + } + + if ( part.stop() ) { + os << std::endl << " [stop] " << *part.stop(); + } + + return os; +} +ostream& operator<<(ostream& os, const TParticle& part) { + os << Form("[TParticle %s %p] stat=%i pdg=%i p=(%f,%f,%f;%f) v=(%f,%f,%f) mother=%i daughters=%i %i", + part.GetName(), + (void*)&part, + part.GetStatusCode(),part.GetPdgCode(), + part.Px(),part.Py(),part.Pz(),part.Energy(), + part.Vx(),part.Vy(),part.Vz(), + part.GetFirstMother(), part.GetFirstDaughter(), + part.GetLastDaughter()); + return os; +} + + + + +//___________________________________________________________________________________________________________________ +//___________________________________________________________________________________________________________________ +StMCParticleStack::StMCParticleStack( const Char_t *name ) : + TVirtualMCStack(), + mNumPrimary(0), + mCurrent(-1), + mArraySize(0), + mArray(0), + mPersistentTrack(), + mStackSize(0), + mStack(), + mStackIdx(), + mTruthTable(), + mParticleTable(), + mVertexTable(), + mStackToTable(), + mIdTruthFromParticle(), + mScoringRmax(450.0), + mScoringZmax(2000.0), + mScoringEmin(0.01) +{ + + mArray = new TClonesArray("TParticle", kDefaultArraySize ); + +} +//___________________________________________________________________________________________________________________ +// +//___________________________________________________________________________________________________________________ +StMCParticleStack::~StMCParticleStack() +{ + if ( mArray ) delete mArray; +} +//___________________________________________________________________________________________________________________ +// +//___________________________________________________________________________________________________________________ +void StMCParticleStack::PushTrack( int toDo, int parent, int pdg, + double px, double py, double pz, double energy, + double vx, double vy, double vz, double vt, + double polx, double poly, double polz, + TMCProcess mech, int& ntr, double weight, + int is ) +{ + + // Determine whether we are in a tracking region or calorimeter region + static auto* navigator = gGeoManager->GetCurrentNavigator(); + auto* node = navigator->FindNode( vx, vy, vz ); + auto* volume = (node) ? node->GetVolume() : 0; + + if ( 0 == volume ) { + LOG_INFO << "Attempt to push a track @ v="<< vx << "," << vy << "," << vz << " ... no node found (FindNode)" << endm; + LOG_INFO << "... current path = " << navigator->GetPath() << endm; + return; // drop track on the ground + } + + // NOTE: No early returns allowed from this point + + AgMLExtension* agmlext = getExtension( node ); + + int agmlreg = (agmlext) ? agmlext->GetTracking() : 2; // 1=calorimeter 2=tracking 0=blackhole + + if (0==agmlreg) { + LOG_WARN << "... dropped into a blackhole ..." << endm; + return; // complete drop of particle into blackhole + } + + // + // Add a new particle to the array. Note: VMC standard PushTrack does not specify the children + // (or 2nd parent) of particles. So these are entered with value of -1. + // + TClonesArray &array = (*mArray); + TParticle *particle = new(array[mArraySize]) TParticle( pdg, is, parent, -1, -1, -1, + px, py, pz, energy, vx, vy, vz, vt); + particle->SetPolarisation( polx, poly, polz ); + particle->SetWeight(weight); + particle->SetUniqueID(mech); + + // mArray and mPersistent track should always have same number of entries + mPersistentTrack.push_back(0); + + bool isPrimary = parent<0; + mNumPrimary += isPrimary; + + // Add to the stack of particles + if ( toDo ) { + + mStack.push_back( particle ); + mStackIdx.push_back( mArraySize ); // store stack ID + + } + ntr = mArraySize; // guess this is supposed to be track number (index in array) + + + double Rmax2=mScoringRmax*mScoringRmax; + double vr2 = vx*vx+vy*vy; + + bool tracing = (vr2 mScoringEmin; + + // + // And handle region-based track persistence + // + if ( tracing && (agmlreg == 2 || isPrimary) ) { + + StarMCVertex* vertex = GetVertex( vx, vy, vz, vt, mech ); + + auto* persistent = new StarMCParticle(particle,vertex); + persistent->setIdTruth( mParticleTable.size() ); + persistent->setStartVertex( vertex ); + mParticleTable.push_back(persistent); // mParticleTable owns the pointer + mPersistentTrack[mArraySize] = persistent; + + mIdTruthFromParticle[ persistent ] = mParticleTable.size(); + + // Set corrspondance between stack ID and table ID + mStackToTable[ntr] = mParticleTable.back(); + mStackToTable[ntr]->setIdStack( ntr ); + + // add this particle as a daughter of the vertex + vertex->addDaughter( mParticleTable.back() ); + + auto* navigator = gGeoManager->GetCurrentNavigator(); + auto* volume = navigator->GetCurrentVolume(); + auto* medium = volume->GetMedium(); + int imed = medium->GetId(); + + vertex->setMedium(imed); + vertex->setProcess( mech ); + + } + + // + // Check to see if a persistent track has been assigned. If not, inherit from parent. + // + if ( 0==mPersistentTrack[mArraySize] ) { + int mother = particle->GetFirstMother(); + if ( mother >= 0 ) { + mPersistentTrack[mArraySize] = mPersistentTrack[mother]; + } + } + + // + // Forward to TMCManager if it exists + // + + if ( auto mgr = TMCManager::Instance() ) { + mgr -> ForwardTrack( toDo, ntr, parent, particle ); + } + + + // Increment mArraySize + mArraySize++; + + + + +} +//___________________________________________________________________________________________________________________ +StarMCParticle* StMCParticleStack::GetCurrentPersistentTrack() { + int index = GetCurrentTrackNumber(); + return mPersistentTrack[ index ]; +} +//___________________________________________________________________________________________________________________ +StarMCVertex* StMCParticleStack::GetVertex( double vx, double vy, double vz, double vt, int proc ) { + + StarMCVertex* vertex = 0; + + // TODO: Make eps a class parameter + const double eps=0.0000005; + if ( proc >= 0 ) + for ( auto vtx : mVertexTable ) { + double dist = vtx->distance(vx,vy,vz); + if ( dist < eps ) { + if ( vtx->process() == proc ) { + vertex=vtx; + break; + } + } + } + + if ( 0==vertex ) { + vertex = new StarMCVertex(vx,vy,vz,vt); + auto* navigator = gGeoManager->GetCurrentNavigator(); + auto* volume = navigator->GetCurrentVolume(); + vertex->setVolume( volume->GetName() ); + mVertexTable.push_back( vertex ); // mVertexTable owns pointer + } + + return vertex; + +} +//___________________________________________________________________________________________________________________ +TParticle *StMCParticleStack::PopNextTrack( int &itrack ) +{ + + // Start with invalid track index + itrack = -1; + + // The stack is empty. Signal the end. + if ( mStack.empty() ) + { + return NULL; + } + + // Get the particle on the top of the stack + TParticle *particle = mStack.back(); mStack.pop_back(); + itrack = mStackIdx.back(); mStackIdx.pop_back(); + + // Set the current track number + mCurrent = itrack; + + return particle; + +} +//___________________________________________________________________________________________________________________ +// +//___________________________________________________________________________________________________________________ +TParticle *StMCParticleStack::PopPrimaryForTracking( int i ) +{ + LOG_INFO << "PopPrimaryForTracking array size = " << mArraySize << endm; + + assert(iGetEntriesFast(); +} +//___________________________________________________________________________________________________________________ +// +//___________________________________________________________________________________________________________________ +TParticle *StMCParticleStack::GetCurrentTrack() const +{ + return GetParticle(mCurrent); +} +//___________________________________________________________________________________________________________________ +int StMCParticleStack::GetCurrentTrackNumber() const +{ + return mCurrent; +} +//___________________________________________________________________________________________________________________ +int StMCParticleStack::GetCurrentParentTrackNumber() const +{ + TParticle *current = GetCurrentTrack(); + return (current)? current->GetFirstMother() : -1; +} +//___________________________________________________________________________________________________________________ +TParticle *StMCParticleStack::GetParticle( int idx ) const +{ + return (TParticle *)(*mArray)[idx]; +} +//___________________________________________________________________________________________________________________ +void StMCParticleStack::Clear( const Option_t *opts ) +{ + +#if 0 + LOG_INFO << "TParticle table" << endm; + int index = 0; + for ( auto obj : (*mArray) ) { + + TParticle* part = dynamic_cast( obj ); assert(part); + LOG_INFO << Form("[%04i] ",index++) << *part << endm; + + } + + index = 0; + LOG_INFO << "StarMCParticle table" << endm; + for ( auto p : mParticleTable ) { + LOG_INFO << Form("[%04i] ",index++) << *p << endm; + } + + index = 0; + LOG_INFO << "StarMCVertex table" << endm; + for ( auto v : mVertexTable ) { + LOG_INFO << Form("[%04i] ",index++) << *v << endm; + if ( v->parent() ) { + LOG_INFO << " " << *(v->parent()) << " --> " << endm; + } + for ( auto d : v->daughters() ) { + LOG_INFO << " " << *d << endm; + } + } +#endif + + + mArray->Clear(); mPersistentTrack.clear(); + mStack.clear(); mStackIdx.clear(); + mCurrent = -1; + mArraySize = 0; + mStackSize = 0; + + for ( auto v : mVertexTable ) { if (v) delete v; } + for ( auto p : mParticleTable ) { if (p) delete p; } + + mVertexTable.clear(); + mTruthTable.clear(); + mParticleTable.clear(); + +} +//___________________________________________________________________________________________________________________ + + + + + + + +//___________________________________________________________________________________________________________________ +StarMCParticle::StarMCParticle( TParticle* part, StarMCVertex* vert ) : + mStacked(part), + mStartVertex(vert), + mIntermediateVertices(), + mStopVertex(0), + mIdStack(-1), + mIdTruth(-1), + mNumHits(0), + mHits() +{ + +} +//___________________________________________________________________________________________________________________ +void StarMCParticle::addHit( DetectorHit* hit ) { + mHits.push_back( hit ); +} +//___________________________________________________________________________________________________________________ +StarMCVertex::StarMCVertex() : mVertex{0,0,0,0}, + mParent(0), + mDaughters(), + mMechanism(kPNoProcess), + mMedium(0), + mVolume("unkn"), + mIntermediate(false) +{ + + +} +//___________________________________________________________________________________________________________________ +StarMCVertex::StarMCVertex( double x, double y, double z, double t, StarMCParticle* parent) : mVertex{x,y,z,t}, + mParent(parent), + mDaughters(), + mMechanism(kPNoProcess), + mMedium(0), + mVolume("unkn"), + mIntermediate(false) +{ + + +} +//___________________________________________________________________________________________________________________ +double StarMCParticle::vx() const { assert(mStartVertex); return mStartVertex->vx(); } +double StarMCParticle::vy() const { return mStartVertex->vy(); } +double StarMCParticle::vz() const { return mStartVertex->vz(); } +//___________________________________________________________________________________________________________________ +// Helper struct +struct Particle { + int index; + TParticle* mc; + StarMCParticle* st; +}; +// Printout +ostream& operator<<(ostream& os, const Particle& part ) { + os << Form( "%-5i %-5s %-4i %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %-6i %-6i %-6i", + part.index, + part.mc->GetName(), + part.mc->GetStatusCode(), + part.mc->Px(), + part.mc->Py(), + part.mc->Pz(), + part.mc->Vx(), + part.mc->Vy(), + part.mc->Vz(), + part.mc->GetFirstMother(), + part.mc->GetFirstDaughter(), + part.mc->GetLastDaughter() + ); + + os << "|"; + + if ( 0==part.st ) { + os << " -null entry- "; + return os; + } + +// auto* stop = part.st->stop(); +// std::string volume = (0==stop)? "none" : stop->volume(); + +//double vx = part.st->vx(); +//double vy = part.st->vy(); +//double vz = part.st->vz(); + + // static auto* navigator = gGeoManager->GetCurrentNavigator(); + // auto* node = navigator->FindNode( vx, vy, vz ); + // //auto* volume = (node) ? node->GetVolume() : 0; + + // std::string volume = navigator->GetPath(); + + // os << Form( "%-5i %-5i %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %4i %4i %s", + os << Form( "%-5i %-5i %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %4i %4i", + part.st->GetPdg(), + part.st->GetStatus(), + part.st->px(), part.st->py(), part.st->pz(), + part.st->vx(), part.st->vy(), part.st->vz(), + part.st->idTruth(), + (int)part.st->numberOfHits() + ); + + + return os; +}; +void StMCParticleStack::StackDump( int idtruth ) { + + LOG_INFO << "-----------------------------------------------------------------------------------------" << endm; + LOG_INFO << "StarMCParticleStack::StackDump()" << endm; + LOG_INFO << "-----------------------------------------------------------------------------------------" << endm; + LOG_INFO << "N primary: " << mNumPrimary << endm; + LOG_INFO << "N particles: " << mArraySize << endm; + LOG_INFO << "Stack size: " << mStackSize << endm; + LOG_INFO << "Truth size: " << mParticleTable.size() << endm; + LOG_INFO << "-----------------------------------------------------------------------------------------" << endm; + LOG_INFO << "TParticle | StarMCParticle" << endm; + // 12345 12345 1234 123456 123456 123456 123456 123456 123456 123456 123456 123456|12345 12345 123456 123456 123456 123456 123456 123456 1234 + LOG_INFO << "index name stat px py pz vx vy vz parent daughters pdg stat px py pz vx vy vz true " << endm; + Particle p; + for ( int i=0;i( mArray->At(i) ); + p.st = mPersistentTrack[i]; + + if ( idtruth==-1 || idtruth==p.st->idTruth() ) LOG_INFO << p << endm; + + } + LOG_INFO << "-----------------------------------------------------------------------------------------" << endm; + + +} diff --git a/StRoot/StGeant4Maker/StMCParticleStack.h b/StRoot/StGeant4Maker/StMCParticleStack.h new file mode 100644 index 00000000000..55d7a67616d --- /dev/null +++ b/StRoot/StGeant4Maker/StMCParticleStack.h @@ -0,0 +1,274 @@ +#ifndef __StMCParticleStack_h__ +#define __StMCParticleStack_h__ + +#include "TObjArray.h" +#include "StarCallf77.h" +#include "TVirtualMCStack.h" +#include "TDataSet.h" +#include "TMCProcess.h" +#include "TParticle.h" +#include "TClonesArray.h" +#include +#include +#include +#include + +class DetectorHit; + + +/** + \class StMCParticleStack + \author Jason C. Webb + \brief Implementation of the VMC particle stack for use in STAR + +*/ + +class StarMCParticle; +class StarMCVertex; + +class StarMCParticle { + + // TODO: add primary, secondary flags + +public: + StarMCParticle( TParticle* particle=0, StarMCVertex* start=0 ); +// StarMCParticle( const StarMCParticle& ); +// StarMCParticle( const StarMCParticle&& ) = default; + ~StarMCParticle(){ /* nada */ }; + + const TParticle* particle() const { return mStacked; } + + double px() const { assert(mStacked); return mStacked->Px(); } + double py() const { assert(mStacked); return mStacked->Py(); } + double pz() const { assert(mStacked); return mStacked->Pz(); } + double pt() const { return sqrt( px()*px()+py()*py() ); } + double E() const { assert(mStacked); return mStacked->Energy(); } + + double vx() const; + double vy() const; + double vz() const; + + const char* GetName() const { assert(mStacked); return mStacked->GetName(); } + const int GetPdg() const { assert(mStacked); return mStacked->GetPdgCode(); } + const int GetStatus() const { assert(mStacked); return mStacked->GetStatusCode(); } + + const StarMCVertex* start() const { return mStartVertex; } + const StarMCVertex* stop() const { return mStopVertex; } + + void setStartVertex( StarMCVertex* v ){ mStartVertex = v; } + void addIntermediateVertex( StarMCVertex* v ){ mIntermediateVertices.push_back(v); } + void setStopVertex( StarMCVertex* v ){ mStopVertex = v; } + + std::vector intermediate() const { return mIntermediateVertices; } + + void setIdStack( int id ) { mIdStack = id; } + int idStack() const { return mIdStack; } + + void setIdTruth( int id ) { mIdTruth = id; } + int idTruth() const { return mIdTruth; } + + //const long long numberOfHits(){ return mNumHits; } + //void addHit(){ mNumHits++; } + + const long long numberOfHits(){ return mHits.size(); } + void addHit( DetectorHit* hit );//{ mHits.push_back(hit); } + + std::vector& hits(){ return mHits; } + + +private: +protected: + + TParticle* mStacked; /// Pointer to the stacked particle + StarMCVertex* mStartVertex; /// Pointer to the start vertex + std::vector mIntermediateVertices; /// Pointer to the intermediate vertex + StarMCVertex* mStopVertex; /// Pointer to the stop vertex + + int mIdStack; /// Track identity on stack + int mIdTruth; + long long mNumHits; /// Number of hits registered on the track + + std::vector mHits; /// List of hits on track + +}; + +class StarMCVertex { +public: + StarMCVertex(); + StarMCVertex( double vx, double vy, double vz, double vt, StarMCParticle* parent=0 ); +// StarMCVertex( const StarMCVertex& ); +// StarMCVertex( const StarMCVertex&& ) = default; + ~StarMCVertex(){ /* nada */ }; + + double distance( double vx_, double vy_, double vz_ ){ + double vx2 = (vx_-mVertex[0])*(vx_-mVertex[0]); + double vy2 = (vy_-mVertex[1])*(vy_-mVertex[1]); + double vz2 = (vz_-mVertex[2])*(vz_-mVertex[2]); + return sqrt(vx2+vy2+vz2); + }; + + double vx() const { return mVertex[0]; } + double vy() const { return mVertex[1]; } + double vz() const { return mVertex[2]; } + double tof() const { return mVertex[3]; } + + void setParent ( StarMCParticle* _parent ){ mParent = _parent; } + void addDaughter( StarMCParticle* daughter ){ mDaughters.push_back( daughter ); } + + const StarMCParticle* parent() const { return mParent; } + const std::vector& daughters() const { return mDaughters; } + + void setMedium( const int medium ) { mMedium = medium; } + int medium() const { return mMedium; } + + void setProcess( const TMCProcess p ) { mMechanism=p; } + TMCProcess process() const { return mMechanism; } + + void setVolume( const char* name ){ mVolume = name; } + std::string volume() const { return mVolume; } + + void setIntermediate( bool stat=true ){ mIntermediate=true; } + bool intermediate(){ return mIntermediate; } + +private: +protected: + + double mVertex[4]; /// Position of the vertex + StarMCParticle* mParent; /// Parent particle + std::vector mDaughters; /// Decay daughters / interaction products + TMCProcess mMechanism; /// Creation mechanism + int mMedium; /// Medium ID + std::string mVolume; /// Name of the volume + bool mIntermediate; /// Vertex is an intermediate vtx + +}; + +std::ostream& operator<<(std::ostream& os, const StarMCParticle& p); +std::ostream& operator<<(std::ostream& os, const TParticle& p); +std::ostream& operator<<(std::ostream& os, const StarMCVertex& v); + +class StMCParticleStack : public TVirtualMCStack +{ + public: + + StMCParticleStack( const Char_t *name = "stack" ); + ~StMCParticleStack(); + + + /// + /// ROOT/VMC method to create a new particle and push into stack + /// + /// @param toBeDone - 1 if particles should go to tracking, 0 otherwise + /// @param parent - number of the parent track, -1 if track is primary + /// @param pdg - PDG encoding + /// @param px, py, pz - particle momentum [GeV/c] + /// @param e - total energy [GeV] + /// @param vx, vy, vz - position [cm] + /// @param tof - time of flight [s] + /// @param polx, poly, polz - polarization + /// @param mech - creator process VMC code + /// @param ntr - track number (is filled by the stack + /// @param weight - particle weight + /// @param is - generation status code + virtual void PushTrack(int toBeDone, int parent, int pdg, + double px, double py, double pz, double e, + double vx, double vy, double vz, double tof, + double polx, double poly, double polz, + TMCProcess mech, int& ntr, double weight, + int is); + + + /// The stack has to provide two pop mechanisms: + /// The first pop mechanism required. + /// Pop all particles with toBeDone = 1, both primaries and seconadies. + /// @param itrack is the index of the track in the array of all particles + virtual TParticle* PopNextTrack(int& itrack); + + /// The second pop mechanism required. + /// Pop only primary particles with toBeDone = 1, stacking of secondaries + /// is done by MC + /// @param i is the index of the track to be "popped". Note that "pop" here is a misnomer... no stack is being popped... we are only accessing the track with index i. Nor is there really any distinction between "primary" and "secondary" here... So I'd like to see Alice's actual implementation of this rather than their poorly documented examples. Looks like they use this just to index a track. + virtual TParticle* PopPrimaryForTracking(int i); + + /// Set the current track number + virtual void SetCurrentTrack(int trackNumber); + + /// Total number of tracks + virtual int GetNtrack() const; + + /// Total number of primary tracks + virtual int GetNprimary() const { return mNumPrimary; } + + /// Current track particle + virtual TParticle* GetCurrentTrack() const; + + /// Current track number + virtual int GetCurrentTrackNumber() const; + + /// Number of the parent of the current track + virtual int GetCurrentParentTrackNumber() const; + + /// Retrieve the ith particle in the array + virtual TParticle *GetParticle( const int i ) const; + + /// Clear the stack + virtual void Clear( const Option_t *opts="" ); + + /// Get the current stack size + virtual int GetStackSize(){ return mStack.size(); } + + /// Print out the particle table + void StackDump( int idtruth=-1 ); + + + /// Obtain the current particle truth +// const StarMCParticle* GetCurrentTruth() const { return mParticleTable.back(); } + + std::vector& GetTruthTable() { return mTruthTable; } + std::vector& GetParticleTable(){ return mParticleTable; } + std::vector& GetVertexTable() { return mVertexTable; } + + StarMCVertex* GetVertex( double vx, double vy, double vz, double vt, int proc=-1 ); + + StarMCParticle* GetCurrentPersistentTrack(); + + int GetIdTruth( StarMCParticle* part ){ return mIdTruthFromParticle[part]; } + + void SetScoring( const float rmax, const float zmax, const float emin ){ + mScoringRmax=rmax; + mScoringZmax=zmax; + mScoringEmin=emin; + }; + + private: + protected: + + int mNumPrimary; + int mCurrent; + + int mArraySize; + TClonesArray *mArray; + std::vector mPersistentTrack; + + int mStackSize; + std::list mStack; // note: vector may be faster + std::list mStackIdx; // note: vector may be faster + + + + std::vector mTruthTable; + std::vector mParticleTable; + std::vector mVertexTable; + + std::map mStackToTable; + std::map mIdTruthFromParticle; + + float mScoringRmax; + float mScoringZmax; + float mScoringEmin; + + // ClassDef(StMCParticleStack,0); + +}; + +#endif diff --git a/StRoot/StGeant4Maker/StSensitiveDetector.cxx b/StRoot/StGeant4Maker/StSensitiveDetector.cxx new file mode 100644 index 00000000000..1f83efa83dc --- /dev/null +++ b/StRoot/StGeant4Maker/StSensitiveDetector.cxx @@ -0,0 +1,116 @@ +#include + +#include +#include +#include +#include + +#include +#include + +#include +#include + +//TVirtualMC* mc = 0; +TGeoNavigator* navigator = 0; + +#include +#include + +#include +//____________________________________________________________________________________________ +DetectorHit::DetectorHit() : id(0), idtruth(0), volu{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0}, copy{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0}, numbv{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0}, path(), nsteps(0), user() +{ + /* nada */ +} +TrackerHit::TrackerHit() : DetectorHit(), + position_in{0,0,0,0}, position_out{0,0,0,0}, + momentum_in{0,0,0,0}, momentum_out{0,0,0,0}, + de(0), ds(0), length(0), lgam(0) +{ + /*nada*/ +} +CalorimeterHit::CalorimeterHit() : DetectorHit(), position_in{0,0,0,0}, de(0) { /* nada */ } + +//____________________________________________________________________________________________ +StSensitiveDetector::StSensitiveDetector( const char* name, const char* title ) : TVirtualMCSensitiveDetector(name,title), mVolumes(), mAgMLInfo(0), mCollection(0) { + LOG_DEBUG << "SD created for " << name << " " << title << endm; +} +//____________________________________________________________________________________________ +void StSensitiveDetector::Initialize(){ + navigator = gGeoManager->GetCurrentNavigator(); + +} +//____________________________________________________________________________________________ +void StSensitiveDetector::addVolume( TGeoVolume* volume ) { + if ( 0 == mVolumes.size() ) { + mAgMLInfo = getExtension(volume); + + TString cname = mAgMLInfo->GetFamilyName(); cname += "_hits"; + TString ctitle = mAgMLInfo->GetModuleName(); ctitle += " "; ctitle += cname; + + if ( DetectorType::kTracker == detectorType() ) { + mCollection = new StTrackerHitCollection(cname.Data(),ctitle.Data()); + mCollection->SetUserStack(mUserStack); + LOG_DEBUG << "Setting tracker collection" << endm; + } + if ( DetectorType::kCalorimeter == detectorType() ) { + mCollection = new StCalorimeterHitCollection(cname.Data(),ctitle.Data()); + mCollection->SetUserStack(mUserStack); + LOG_DEBUG << "Setting calorimeter collection" << endm; + } + + } + + mVolumes.push_back( volume ); + +}; +//____________________________________________________________________________________________ +void StSensitiveDetector::ProcessHits(){ + + // Is this a charged particle? If not, skip it... + TVirtualMC* mc = (TMCManager::Instance()) ? + TMCManager::Instance()->GetCurrentEngine() : + TVirtualMC::GetMC(); + if ( 0 == mc->TrackCharge() ) return; + + // The actual hit processing occurs in the collection. + mCollection->ProcessHits(); + + return; + +} +//____________________________________________________________________________________________ +void StSensitiveDetector::EndOfEvent(){ + + mCollection->EndOfEvent(); + +} +//____________________________________________________________________________________________ +void StSensitiveDetector::Clear(Option_t* o) { + mCollection->Clear(); +} +//____________________________________________________________________________________________ +StSensitiveDetector::DetectorType StSensitiveDetector::detectorType() { + + // For the time being, just flag on the name of the module to decide tracker vs calorimeter + if ( 0 == mAgMLInfo ) { + return DetectorType::kUninitialized; + } + + TString module = mAgMLInfo->GetModuleName(); + module.ToLower(); + + if ( module.Contains("cal") ) { + return DetectorType::kCalorimeter; + } + else { + return DetectorType::kTracker; + } + +} +//____________________________________________________________________________________________ +int StSensitiveDetector::numberOfHits(){ return int( mCollection->numberOfHits() ); } +//____________________________________________________________________________________________ +void StSensitiveDetector::SetUserStack( TVirtualMCStack* stack ) { mUserStack = stack; } + diff --git a/StRoot/StGeant4Maker/StSensitiveDetector.h b/StRoot/StGeant4Maker/StSensitiveDetector.h new file mode 100644 index 00000000000..8ae0775273c --- /dev/null +++ b/StRoot/StGeant4Maker/StSensitiveDetector.h @@ -0,0 +1,105 @@ +#ifndef __StSensitiveDetector_h__ +#define __StSensitiveDetector_h__ + +#include +#include +#include +#include +#include +#include + +class TVirtualMCStack; + +class AgMLExtension; +class StHitCollection; + +class DetectorHit { +public: + + DetectorHit(); + virtual ~DetectorHit(){ /* nada */ }; + + static const unsigned int maxdepth = 15; + + unsigned int id; /// unique ID assigned to hit + unsigned int idtruth; /// unique ID of the track + int volu[maxdepth]; /// volume numbers specifying path to hit + int copy[maxdepth]; /// copy numbers specifying path to the hit + int numbv[maxdepth]; /// "Reduced" numbering + int volId; /// Unique volume ID + + TString path; + + unsigned int nsteps; /// number of steps inside volume + + std::vector user; /// user specified hits + +}; + +class TrackerHit : public DetectorHit { +public: + + TrackerHit(); + virtual ~TrackerHit(){ /* nada */ } + + double position_in[4]; /// x,y,z,t position where track entered volume + double position_out[4]; /// x,y,z,t position where track exited volume + + double momentum_in[4]; + double momentum_out[4]; + + double de; + double ds; + + double length; /// total track length to this point + double lgam; /// log10( Ekin / mass ) + +}; + +class CalorimeterHit : public DetectorHit { +public: + + CalorimeterHit(); + virtual ~CalorimeterHit(){ /* nada */ } + + double position_in[4]; /// x,y,z,t position where track entered volume + double de; + +}; + +class StSensitiveDetector : public TVirtualMCSensitiveDetector { +public: + StSensitiveDetector( const char* sdname, const char* title ); + virtual ~StSensitiveDetector(){ /* nada */ } + + void Initialize(); + void ProcessHits(); + void EndOfEvent(); + void Clear(Option_t* o=""); + + void addVolume(TGeoVolume *v); + int numberOfVolumes(){ return mVolumes.size(); } + + int numberOfHits();//{ return int( mCollection->size() ); } + + StHitCollection* hits(){ return mCollection; } + + enum class DetectorType { kUninitialized, kCalorimeter, kTracker }; + + DetectorType detectorType(); + + void SetUserStack( TVirtualMCStack* stack ); + +private: +protected: + + std::vector mVolumes; + + AgMLExtension* mAgMLInfo; + + StHitCollection* mCollection; + TVirtualMCStack* mUserStack; + +}; + +#endif diff --git a/StRoot/StGeant4Maker/macros/DrawHits.C b/StRoot/StGeant4Maker/macros/DrawHits.C new file mode 100644 index 00000000000..49cbc407ce1 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/DrawHits.C @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +TH2F* hYX = 0; +TH2F* vYX = 0; +TCanvas* hcanvas = 0; +TCanvas* vcanvas = 0; +void DrawHits() { + +if ( 0==hYX ) hYX = new TH2F("hYX","Hits ;x [cm]; y [cm]", 601,-300.5,300.6,601,-300.5,300.5 ); +if ( 0==vYX ) vYX = new TH2F("vYX","Vertices;x [cm]; y [cm]", 601,-300.5,300.6,601,-300.5,300.5 ); + +hYX->Reset(); +vYX->Reset(); + +TTable* vertices = (TTable*)chain->FindByName("g2t_vertex"); +TTable* tpchits = (TTable*)chain->FindByName("g2t_tpc_hit"); +TTable* emchits = (TTable*)chain->FindByName("g2t_emc_hit"); + +int nvtx=vertices->GetNRows(); +int ntpc=tpchits->GetNRows(); +int nemc=emchits->GetNRows(); + +for ( int i=0;iAt(i); + double x = v->ge_x[0]; + double y = v->ge_x[1]; + vYX->Fill(x,y); +} + +for ( int i=0;iAt(i); + double x = v->x[0]; + double y = v->x[1]; + hYX->Fill(x,y); +} + +for ( int i=0;iAt(i); + double x = v->x; + double y = v->y; + hYX->Fill(x,y); +} + +hcanvas=new TCanvas("hcanvas","TPC and BEMC hits",500,500); hYX->Draw("colz"); +vcanvas=new TCanvas("vcanvas","Track vertices ",500,500); vYX->Draw("colz"); + +}; diff --git a/StRoot/StGeant4Maker/macros/gamma.C b/StRoot/StGeant4Maker/macros/gamma.C new file mode 100644 index 00000000000..70268d9aa2b --- /dev/null +++ b/StRoot/StGeant4Maker/macros/gamma.C @@ -0,0 +1,3 @@ +void gamma(int n=1, double ptmn=1.0, double ptmx=10.0, double etamn=-.5, double etamx=.5 ) { + particleGun(n,"gamma",ptmn,ptmx,etamn,etamx); +}; diff --git a/StRoot/StGeant4Maker/macros/geant4star b/StRoot/StGeant4Maker/macros/geant4star new file mode 100755 index 00000000000..7a2dfd7c9a0 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/geant4star @@ -0,0 +1,14 @@ +#!/bin/csh -f + +setenv __G4STAR_MYSQL_DIR__ `mysql_config --variable=pkglibdir` + +setenv ROOT_INCLUDE_PATH ${STAR}:${STAR}/StRoot:${STAR}/StRoot/StStarLogger:${STAR}/StRoot/StGeant4Maker:${STAR}:StRoot/StarGenerator/BASE:${STAR}/StarVMC/StarAgmlLib/:${STAR}/.sl73_x8664_gcc485/include/ + +if ( -e ./StRoot/StGeant4Maker/macros/geant4star.C ) then + root.exe -l ./StRoot/StGeant4Maker/macros/initStar.C ./StRoot/StGeant4Maker/macros/geant4star.C $argv +else + root.exe -l $STAR/StRoot/StGeant4Maker/macros/initStar.C $STAR/StRoot/StGeant4Maker/macros/geant4star.C $argv +endif + + + diff --git a/StRoot/StGeant4Maker/macros/geant4star-leakcheck b/StRoot/StGeant4Maker/macros/geant4star-leakcheck new file mode 100755 index 00000000000..abeffee47d5 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/geant4star-leakcheck @@ -0,0 +1,10 @@ +#!/bin/csh -f + +valgrind --tool=memcheck \ + --error-limit=no \ + --suppressions=$ROOTSYS/etc/valgrind-root.supp \ + --leak-check=yes \ + --show-leak-kinds=all \ +root.exe -l macros/initStar.C macros/geant4star.C $argv + + diff --git a/StRoot/StGeant4Maker/macros/geant4star-memcheck b/StRoot/StGeant4Maker/macros/geant4star-memcheck new file mode 100755 index 00000000000..02c0cbc355b --- /dev/null +++ b/StRoot/StGeant4Maker/macros/geant4star-memcheck @@ -0,0 +1,9 @@ +#!/bin/csh -f + +valgrind --tool=memcheck \ + --error-limit=no \ + --suppressions=$ROOTSYS/etc/valgrind-root.supp \ + --leak-check=no \ +root.exe -l macros/initStar.C macros/geant4star.C $argv + + diff --git a/StRoot/StGeant4Maker/macros/geant4star.C b/StRoot/StGeant4Maker/macros/geant4star.C new file mode 100644 index 00000000000..0ab6508f35e --- /dev/null +++ b/StRoot/StGeant4Maker/macros/geant4star.C @@ -0,0 +1,347 @@ +class StBFChain; +StBFChain* chain = 0; + +#include +#include +#include + +extern "C" { + void Load( const char* lib ); +} + +// Random number generator seed +int __rngSeed = 12345; +bool __export = false; +TString __rngName = ""; +TString __geometry_tag="dev2021"; + +// Add a new maker to the chain +void addMaker( const char* name, const char* maker ) { + LOG_INFO << "// Adding maker " << maker << endm; + LOG_INFO << "auto* _" << name << " = new " << maker << endm; + gROOT->ProcessLine( Form( "auto* _%s = new %s;", name, maker ) ); +} + +// Add a new event generator to the primary event generator +void addGenerator( const char* name, const char* maker ) { + LOG_INFO << "auto* _" << name << " = new " << maker << endm; + gROOT->ProcessLine( Form( "auto* _%s = new %s;", name, maker ) ); + gROOT->ProcessLine( Form( "_primary->AddGenerator( _%s );", name ) ); +} + +// Add a filter to the primary event generator +void addFilter( const char* name ) { + + TString myname = name; myname.ToLower(); + LOG_INFO << "auto* _" << myname.Data() << " = new " << name << endm; + gROOT->ProcessLine( Form( "auto* _%s = new %s;", myname.Data(), name ) ); + gROOT->ProcessLine( Form( "_primary->AddFilter( _%s );", myname.Data() ) ); + +} + +std::map _generatorMap = { + { "genreader", "StarGenEventReader" } +}; + +// Hack to make sure finish is called on the chain +struct __Fini { + ~__Fini() { + gROOT->ProcessLine("chain->Finish();"); + } +} __fini__; + +bool hasRuntimeArg( const char* arg_ ) { + bool result = false; + for ( int i=0; iArgc();i++ ) { + TString arg = gApplication->Argv(i); + arg.ReplaceAll("--",""); + if ( arg.Contains(arg_) ) { + result = true; + break; + } + } + return result; +} + +void loadStar(TString mytag="dev2021", Bool_t agml = true ) +{ + + gROOT->ProcessLine("chain = new StBFChain();"); + gROOT->ProcessLine("chain->cd();"); + gROOT->ProcessLine("chain->SetDebug(1);"); + + TString chainOpts = "agml geant4 geant4vmc stargen geant4mk kinematics -emc_t -ftpcT mysql nodefault "; + + // pickup command line options ala "--" and add them as a chain option + + for ( int i=0; iArgc();i++ ) { + TString arg = gApplication->Argv(i); + if ( arg.Contains("--web") || arg.Contains("notebook") ) continue; + if ( arg=="--export" ) { __export = true; continue; } // exports geometry + // Parse "--" style options for ourselves + if ( arg.Contains("--") ) { + arg.ReplaceAll("--"," "); // n.b. the space pads out the chain options + // If the option matches key=value, treat this as an attribute to be + // set on the G4 maker... + if ( arg.Contains("=") ) { + // Generally skip, but output triggers geantout chain option + if ( arg.Contains("output") ) { + chainOpts += " geantout "; + } + // By specifying a filter, load the stargeneratorfilt package + if ( arg.Contains("filter") ) { + chainOpts += " stargen.filt"; + } + } + else { + chainOpts += arg; + } + } + } + + // Set the chain options + gROOT->ProcessLine(Form("chain->SetFlags(\"%s\");",chainOpts.Data())); + + TString output = ""; + std::vector< std::string > filters; + for ( int i=0; iArgc();i++ ) { + TString arg = gApplication->Argv(i); + if ( arg.Contains("--") ) { + gMessMgr->Info() << arg.Data() << endm; + arg.ReplaceAll("--",""); + // If the option matches key=value, treat this as an attribute to be + // set on the G4 maker... + if ( arg.Contains("=") ) { + TString key = arg.Tokenize("=")->At(0)->GetName(); + TString val = arg.Tokenize("=")->At(1)->GetName(); + // std::cout << " key = [" << key.Data() << "] value = " << val.Data() << std::endl; + // Find the output filename, if given, and set as the output + if ( key=="output" ){ + output = val; + gROOT->ProcessLine(Form("chain->Set_IO_Files(\"\",\"%s\");",output.Data())); + //break; + } + if ( key=="geometry" ) { + mytag = val; + } + if ( key=="filter" ) { + filters.push_back( val.Data() ); + } + } + } + } + + + // Load shared libraries + gROOT->ProcessLine("chain->Load();"); + + // Add in star mag field + gSystem->Load("libStarMagFieldNoDict.so"); + + gROOT->ProcessLine( "int __result = chain->Instantiate();" ); + + // Now add makers... + addMaker( "primary", "StarPrimaryMaker()" ); + addMaker( "geant4", "StGeant4Maker()" ); + + // Attach filters to the primary maker... + for ( auto s : filters ) { + addFilter( s.c_str() ); + } + + + // addMaker( "pythia8", "StarPythia8()" ); + // gROOT->ProcessLine("_primary->AddGenerator( _pythia8 );"); + + // Always add the kinematic generator + addMaker( "kine", "StarKinematics()" ); + gROOT->ProcessLine("_primary->AddGenerator( _kine );"); + + + // Loop on the chain options and add in other generators which have been called for + for ( auto _s : *chainOpts.Tokenize(" ") ) { + auto s = ( dynamic_cast( _s ) ) -> String() ; // annoying + if ( _generatorMap[s] != "" ) { + addGenerator( s, _generatorMap[s] ); + } + } + + + + + + // Move outputStream after the geant maker + gROOT->ProcessLine("StMaker* __outputStream = chain->GetMaker(\"outputStream\");"); + // gROOT->ProcessLine("LOG_INFO << " + // "\"outputStream = \" << __outputStream << endm;") + + gROOT->ProcessLine("chain->AddAfter( _geant4->GetName(), __outputStream ); "); + + + + + // gROOT->ProcessLine("auto* __outputStream = chain->GetMaker(\"outputStream\"\); + + + gROOT->ProcessLine("StMaker::lsMakers(chain);"); + + + // set attributes for arguements matching --x=y + for ( int i=0; iArgc();i++ ) { + + TString arg = gApplication->Argv(i); + if ( arg.Contains("--web") || arg.Contains("notebook") ) continue; + + // Parse "--" style options for ourselves + if ( arg.Contains("--") ) { + arg.ReplaceAll("--",""); + + // If the option matches key=value, treat this as an attribute to be + // set on the G4 maker... + if ( arg.Contains("=") ) { + + TString key = arg.Tokenize("=")->At(0)->GetName(); + TString val = arg.Tokenize("=")->At(1)->GetName(); + + if ( key=="geometry" ) continue; // action already taken + if ( key=="output" ) continue; // ... ditto + if ( key=="filter" ) continue; // ... ditto + + // std::cout << "geant4star commandline option " << key.Data() << " = " << val.Data() << std::endl; + + // Process RNG seed + if ( key=="seed" ) { + __rngSeed = val.Atoi(); + gMessMgr->Info() << "Setting RNG seed --seed=" << __rngSeed << endm; + continue; + } + + if ( key=="rng" ) { + __rngName = val; + gMessMgr->Info() << "Setting RNG --rng=" << __rngName.Data() << endm; + continue; + } + + // All other variables pass through to G4 maker + if ( val.IsFloat() ) gROOT->ProcessLine(Form("_geant4->SetAttr(\"%s\",%s);", key.Data(), val.Data() )); + else gROOT->ProcessLine(Form("_geant4->SetAttr(\"%s\",\"%s\");", key.Data(), val.Data() )); + + + } + } + } + + + // + // ROOT6 command line processing + // + const char* cmds[] = { + + // Geometry instantiation + //"TString __geometry_tag = \"dev2021\";" + "AgModule::SetStacker( new StarTGeoStacker() );" + "StarGeometry::Construct(__geometry_tag);" + // "gGeoManager->Export(\"y2014x.root\");" + // "gGeoManager->Export(\"y2014x.C\");" + + }; + + //gROOT->ProcessLine( Form("TString __geometry_tag = \"%s\";", mytag.Data() ) ); + for ( auto cmd : cmds ) { + gROOT->ProcessLine( cmd ); + } + + if ( __export ) { + gROOT->ProcessLine(Form( "gGeoManager->Export(\"%s.root\");", mytag.Data() )); + } + + + + +} + +bool __initialized = false; + +bool initChain( std::vector _cmds={ "std::cout << \"Chain has been initialized.\" << std::endl;" } ) { + std::cout << "initChain is called seed = " << __rngSeed << std::endl; + if ( !__initialized ) { + + if ( __rngSeed > -1 ) { + gROOT->ProcessLine(Form("chain->SetAttr(\"Random:G4\",%i)",__rngSeed)); + // Setup RNG seed and map all ROOT TRandom here + gROOT->ProcessLine(Form("StarRandom::seed( %i );",__rngSeed)); + gROOT->ProcessLine("StarRandom::capture();"); + gMessMgr->Info() << "RNG seed set to " << __rngSeed << endm; + } + + gROOT->ProcessLine("chain->Init();"); + for ( auto cmd : _cmds ) { + gROOT->ProcessLine( cmd.c_str() ); + } + __initialized = true; + } + return true; +} + +void particleGun( const int ntrack=1, const char* particles="pi+,pi-", double ptmn=1.0,double ptmx=10.0, double etamn=-1, double etamx=2 ) { + + initChain(); + + const char* _cmds[] = { + + // Clear the chain from the previous event + "chain->Clear();", + Form("_kine->Kine(%i,\"%s\",%f,%f,%f,%f);",ntrack,particles,ptmn,ptmx,etamn,etamx), + "chain->Make();" + }; + + for ( auto cmd : _cmds ) { + gROOT->ProcessLine( cmd ); + } + +}; + + +void particleGun( const char* particle="mu+", double px=1.0/sqrt(2), double py=1.0/sqrt(2), double pz=0.0, double vx=0., double vy=0., double vz=0. ) { + + initChain(); + + const char* _cmds[] = { + "chain->Clear();", + "{", + Form("double _px=%f",px), + Form("double _py=%f",py), + Form("double _pz=%f",pz), + Form("auto _part=_kine->AddParticle(\"%s\");",particle), + "double _mass = _part->GetMass();", + "double _energy = sqrt( _px*_px+_py*_py+_pz*_pz+_mass*_mass );", + "_part->SetPx(_px);", + "_part->SetPy(_py);", + "_part->SetPz(_pz);", + "_part->SetEnergy(_energy);", + "_part->SetVx(_vx);", + "_part->SetVy(_vy);", + "_part->SetVz(_vz);", + "_part->SetTof(0);", + "chain->Make();", + "}" + }; + + for ( auto cmd : _cmds ) { + gROOT->ProcessLine( cmd ); + } + +}; + + + + +void geant4star(){ + TString cmdline="geant4star:"; + for ( int i=0;iArgc();i++ ) { + cmdline+=" "; + cmdline+=gApplication->Argv(i); + } + std::cout << cmdline.Data() << std::endl; + loadStar(); +} diff --git a/StRoot/StGeant4Maker/macros/initStar.C b/StRoot/StGeant4Maker/macros/initStar.C new file mode 100644 index 00000000000..059f4415d7f --- /dev/null +++ b/StRoot/StGeant4Maker/macros/initStar.C @@ -0,0 +1,43 @@ +#include +#include +#include + +void Load( const char* lib ) { + std::cout << "Loading shared library " << lib << std::endl; + gSystem->Load( lib ); +} + +// +// Add include paths and preload the shared libraries which are required for the geant4star.C +// macro to instantiate StBFChain. +// +void initStar() { + + for (int sig = 0; sig < kMAXSIGNALS; sig++) gSystem->ResetSignal((ESignals)sig); + + // Add a few things to the include path + gSystem->AddIncludePath(" -I$STAR/StRoot -I$STAR/StarVMC "); + gSystem->AddIncludePath(" -IStRoot -Igeom -IStarVMC -IStarVMC/Geometry/macros -I.${STAR_HOST_SYS}/include "); + gEnv->SetValue("Logger.Colors","YES"); + + gSystem->SetAclicMode(TSystem::kDebug); + + // ADdress sanitizer + // Load("/usr/lib64/libasan.so.0"); + + // Preload a few libraries + Load("libGeom.so"); + + Load("libPhysics.so"); + Load("libTable.so"); + + Load("StarRoot.so"); + Load("St_base.so"); + Load("StStarLogger.so"); + + gROOT->ProcessLine("StLoggerManager::StarLoggerInit();"); + + Load("StChain.so"); + Load("StBFChain.so"); + +}; diff --git a/StRoot/StGeant4Maker/macros/initStarG3.C b/StRoot/StGeant4Maker/macros/initStarG3.C new file mode 100644 index 00000000000..094486a666f --- /dev/null +++ b/StRoot/StGeant4Maker/macros/initStarG3.C @@ -0,0 +1,149 @@ +// macro to instantiate the Geant3 from within +// STAR C++ framework and get the starsim prompt +// To use it do +// root4star starsim.C + +class St_geant_Maker; +St_geant_Maker *geant_maker = 0; + +class StarGenEvent; +StarGenEvent *event = 0; + +class StarPrimaryMaker; +StarPrimaryMaker *_primary = 0; + +class StarKinematics; +StarKinematics *kinematics = 0; + +TF1 *ptDist = 0; +TF1 *etaDist = 0; + +void initChain(){ /* nada */ } + +// ---------------------------------------------------------------------------- +void geometry( TString tag, Bool_t agml=true ) +{ + TString cmd = "DETP GEOM "; cmd += tag; + if ( !geant_maker ) geant_maker = (St_geant_Maker *)chain->GetMaker("geant"); + geant_maker -> LoadGeometry(cmd); + // if ( agml ) command("gexec $STAR_LIB/libxgeometry.so"); +} +// ---------------------------------------------------------------------------- +void command( TString cmd ) +{ + if ( !geant_maker ) geant_maker = (St_geant_Maker *)chain->GetMaker("geant"); + geant_maker -> Do( cmd ); +} +// ---------------------------------------------------------------------------- +void trig( Int_t n=1 ) +{ + for ( Int_t i=0; iClear(); + + // Generate 1 mu minus at high pT + kinematics->Kine( 1, "mu-", 10.0, 50.0, -2.0, 2.0 ); + + + // Generate the event + chain->Make(); + + // Print the event + _primary->event()->Print(); + } +} +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +void Kinematics() +{ + + // gSystem->Load( "libStarGeneratorPoolPythia6_4_23.so" ); + gSystem->Load( "libKinematics.so"); + kinematics = new StarKinematics(); + + _primary->AddGenerator(kinematics); +} +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +void initStarG3( const char* tag="dev2021", Int_t nevents=0, Int_t rngSeed=1234 ) +{ + + // Add a few things to the include path + gSystem->AddIncludePath(" -IStRoot -I${STAR}/StRoot -Igeom -IStarVMC -I${STAR}/StarVMC -IStarVMC/Geometry/macros -I.${STAR_HOST_SYS}/include "); + gEnv->SetValue("Logger.Colors","YES"); + + gSystem->SetAclicMode(TSystem::kDebug); + + gROOT->ProcessLine(".L bfc.C"); + { + TString simple = tag; simple += " geant gstar usexgeom agml "; + bfc(0, simple ); + } + + gSystem->SetFlagsDebug("-g -std=c++0x"); + gSystem->SetFlagsOpt("-g -std=c++0x"); + + gSystem->Load( "libVMC.so"); + + gSystem->Load( "StarGeneratorUtil.so" ); + gSystem->Load( "StarGeneratorEvent.so" ); + gSystem->Load( "StarGeneratorBase.so" ); + + gSystem->Load( "libMathMore.so" ); + gSystem->Load( "xgeometry.so" ); + + gSystem->Load( "StEpdUtil.so" ); + + // Setup RNG seed and map all ROOT TRandom here + StarRandom::seed( rngSeed ); + StarRandom::capture(); + + // + // Create the primary event generator and insert it + // before the geant maker + // + // StarPrimaryMaker * + _primary = new StarPrimaryMaker(); + { + _primary -> SetFileName( "kinematics.starsim.root"); + chain -> AddBefore( "geant", _primary ); + } + + Kinematics(); + + // + // Initialize primary event generator and all sub makers + // + _primary -> Init(); + + // + // Setup geometry and set starsim to use agusread for input + // + //geometry("y2012"); + command("gkine -4 0"); + command("gfile o kinematics.starsim.fzd"); + + + // + // Setup PT and ETA distributions + // + + // Double_t pt0 = 3.0; + // ptDist = new TF1("ptDist","(x/[0])/(1+(x/[0])^2)^6",0.0,10.0); + // ptDist->SetParameter(0, pt0); + // ptDist->Draw(); + + // etaDist = new TF1("etaDist","-TMath::Erf(x+2.6)*TMath::Erf(x-2.6)",-0.8,+0.8); + + // + // Trigger on nevents + // + trig( nevents ); + + +} +// ---------------------------------------------------------------------------- + diff --git a/StRoot/StGeant4Maker/macros/muon.C b/StRoot/StGeant4Maker/macros/muon.C new file mode 100644 index 00000000000..6d856224407 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/muon.C @@ -0,0 +1,4 @@ +void muon(int n=1) { + particleGun(n,"mu+,mu-",9.9,10.1,-0.5,-0.25); + gROOT->ProcessLine("chain->Clear();"); +}; diff --git a/StRoot/StGeant4Maker/macros/pi0.C b/StRoot/StGeant4Maker/macros/pi0.C new file mode 100644 index 00000000000..d9a90ccd632 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/pi0.C @@ -0,0 +1,4 @@ +void pi0(int n=1, double ptmn=1.0, double ptmx=10.0, double etamn=-1.0, double etamx=2.0 ) { + particleGun(n,"pi0",ptmn,ptmx,etamn,etamx); +gROOT->ProcessLine("chain->Clear();"); +}; diff --git a/StRoot/StGeant4Maker/macros/pion.C b/StRoot/StGeant4Maker/macros/pion.C new file mode 100644 index 00000000000..545c9bbdc73 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/pion.C @@ -0,0 +1,3 @@ +void pion( int n=10, double ptmn=0.2, double ptmx=5.0, double etamn=2.5, double etamx=4.0 ) { + particleGun(n,"pi+,pi-",ptmn,ptmx,etamn,etamx); +}; diff --git a/StRoot/StGeant4Maker/macros/pythia6.C b/StRoot/StGeant4Maker/macros/pythia6.C new file mode 100644 index 00000000000..0dd2d499cdc --- /dev/null +++ b/StRoot/StGeant4Maker/macros/pythia6.C @@ -0,0 +1,174 @@ +#include "StChain/StMaker.h" + +#include "StarGenerator/BASE/StarPrimaryMaker.h" +#include "StarGenerator/UTIL/StarParticleData.h" + +#include "StarGenerator/Pythia6_4_28/StarPythia6.h" + +#include "StMessMgr.h" +#include "TList.h" +#include "TAttr.h" +#include "TString.h" +#include + +#include + +StarParticleData& particleData = StarParticleData::instance(); +StarPrimaryMaker* primaryMk = 0; +StarPythia6* pythia6mk = 0; + +int nevents = 0; + +extern "C" { + + // Interface to the pythia configuration command + void pygive_( const char* give, int ngive ); + +}; + +void PyGive( std::string give ) { + pygive_( give.c_str(), give.size() ); +} + +//___________________________________________________________________ +void init(); // initialize the chain +void eventloop(); +void drellyan(); +//___________________________________________________________________ +void pythia6() +{ + + init(); + eventloop(); + +} +//___________________________________________________________________ +void init() { + + primaryMk = dynamic_cast( chain->GetMaker("PrimaryMaker") ); assert(primaryMk); + auto* geant4mk = dynamic_cast (chain->GetMaker("geant4star") ); assert(geant4mk); + + assert(&particleData); + + nevents = geant4mk->IAttr("nevents"); + LOG_INFO << "Number of events to process" << nevents << endm; + LOG_INFO << "Create and register pythia6 maker to primaryMk = " << primaryMk << endm; + + std::string blue = geant4mk->SAttr("blue"); if ( blue == "" ) blue="proton"; + std::string yell = geant4mk->SAttr("yell"); if ( yell == "" ) yell="proton"; + double Ecms = geant4mk->DAttr("Ecms"); if ( Ecms <= 0.0 ) Ecms = 510.0; + + LOG_INFO << "Blue beam " << blue.c_str() << endm; + LOG_INFO << "Yellow beam " << yell.c_str() << endm; + LOG_INFO << "Ecms = " << Ecms << " GeV " << endm; + + pythia6mk = new StarPythia6(); + pythia6mk->SetFrame("CMS", Ecms ); + pythia6mk->SetBlue( blue.c_str() ); + pythia6mk->SetYell( yell.c_str() ); + + int setcount = 0; + auto* setlist = dynamic_cast(geant4mk->GetAttr()); + setlist->Print(); + TIter Next(setlist); + TNamed* obj = 0; + // ROOT's interface is a bit annoying here. It has reveresed the order of the + // arguements stuffed into the TList. And I don't see an easy (read syntatically + // clear and concise) way to reverse iterate over a TList... so... + std::vector mylist; + std::vector closeDecays; + std::vector openDecays; + while (( obj = dynamic_cast(Next()) )) { + TString str = obj->GetName(); + TString tit = obj->GetTitle(); + if ( str.Contains("pythia6:set:") ) { + str.ReplaceAll("pythia6:set:",""); + TString cmd = str + "="; + if ( tit.IsDigit() ) { // integer digits + cmd += tit; + } + else if ( tit.IsFloat() ) { // floating point + // keep to five decimal places + cmd += Form( "%.5f", tit.Atof() ); + } + else { + cmd += tit; + } + mylist.push_back(cmd); + } + if ( str.Contains("pythia6:tune") ) { + int tune = pythia6mk->IAttr("pythia6:tune"); + pythia6mk->PyTune(tune); // set tune + } + // if ( str.Contains("pythia6:drellyan:ee") ) { + // // initialize DY --> ee + // drellyan(); + // } + if ( str.Contains("pythia6:closedecay") ) { + TString ex = Form("pythia6mk->CloseDecays(%s);", tit.Data()); + //LOG_INFO<< ex.Data() << endm; + //gROOT->ProcessLine(ex.Data()); + closeDecays.push_back(ex); + + } + if ( str.Contains("pythia6:opendecay") ) { + TString ex = Form("pythia6mk->OpenDecay(%s);", tit.Data()); + // LOG_INFO<< ex.Data() << endm; + // gROOT->ProcessLine(ex.Data()); + openDecays.push_back(ex); + } + } + + for ( auto iter=mylist.rbegin(); iter!=mylist.rend(); iter++ ) { + // TString cmd=*iter; + std::string cmd = (*iter).Data(); + LOG_INFO << "execute pythia6 command " << cmd.c_str() << endm; + // pythia6mk->PyGive(cmd.Data()); + PyGive(cmd); + setcount++; + } + + for ( auto iter=closeDecays.begin(); iter != closeDecays.end();iter++ ) { + gROOT->ProcessLine( (*iter) ); + } + for ( auto iter=openDecays.begin(); iter!= openDecays.end();iter++ ) { + gROOT->ProcessLine( (*iter) ); + } + + // Always default to nondiffractive (i.e. as-close-to-minbias-as-documented) + primaryMk->AddGenerator(pythia6mk); + + chain->Init(); + +} +//___________________________________________________________________ +void eventloop() { + + for ( int event = 0; event < nevents; event++ ) { + LOG_INFO << "[geant4star running event " << event << "/" << nevents << "]" << endm; + chain->Clear(); + chain->Make(); + primaryMk->event()->Print(); + } + +} +//___________________________________________________________________ +void drellyan() { + + auto& pyjets = pythia6mk->pyjets(); + auto& pysubs = pythia6mk->pysubs(); + auto& pydat3 = pythia6mk->pydat3(); + auto& pypars = pythia6mk->pypars(); + auto& pyint5 = pythia6mk->pyint5(); + + LOG_INFO << "DRELL YAN Z0/GAMMA* e+e-" << endm; + + pysubs.msel = 0; // select specific processes + pysubs.msub(1) = 1; // ffbar --> Z0/gamma* + // others?? 15? 19? + + // close decays for the Z (and I believe the gamma* as well) + pythia6mk->CloseDecays(23); + pythia6mk->OpenDecay( 23, 182, 2 ); // limit decay to electrons + +} diff --git a/StRoot/StGeant4Maker/macros/pythia8.C b/StRoot/StGeant4Maker/macros/pythia8.C new file mode 100644 index 00000000000..a27e0d90f3c --- /dev/null +++ b/StRoot/StGeant4Maker/macros/pythia8.C @@ -0,0 +1,108 @@ +#include "StChain/StMaker.h" + +#include "StarGenerator/BASE/StarPrimaryMaker.h" +#include "StarGenerator/UTIL/StarParticleData.h" + +#include "StarGenerator/Pythia8_1_86/StarPythia8.h" + +#include "StMessMgr.h" +#include "TList.h" +#include "TAttr.h" +#include "TString.h" +#include + +#include + +StarParticleData& particleData = StarParticleData::instance(); +StarPrimaryMaker* primaryMk = 0; + +int nevents = 0; + +//___________________________________________________________________ +void init(); // initialize the chain +void eventloop(); + +//___________________________________________________________________ +void pythia8() +{ + + init(); + eventloop(); + + // Finish ... chain has been finished... so wtf? + chain->Finish(); + +} +//___________________________________________________________________ +void init() { + + primaryMk = dynamic_cast( chain->GetMaker("PrimaryMaker") ); assert(primaryMk); + auto* geant4mk = dynamic_cast (chain->GetMaker("geant4star") ); assert(geant4mk); + + assert(&particleData); + + nevents = geant4mk->IAttr("nevents"); + LOG_INFO << "Number of events to process" << nevents << endm; + LOG_INFO << "Create and register pythia8 maker to primaryMk = " << primaryMk << endm; + + std::string blue = geant4mk->SAttr("blue"); if ( blue == "" ) blue="proton"; + std::string yell = geant4mk->SAttr("yell"); if ( yell == "" ) yell="proton"; + double Ecms = geant4mk->DAttr("cms"); if ( Ecms <= 0.0 ) Ecms = 510.0; + + LOG_INFO << "Blue beam " << blue.c_str() << endm; + LOG_INFO << "Yellow beam " << yell.c_str() << endm; + LOG_INFO << "Ecms = " << Ecms << " GeV " << endm; + + StarPythia8* pythia8 = new StarPythia8(); + pythia8->SetFrame("CMS", Ecms ); + pythia8->SetBlue( blue.c_str() ); + pythia8->SetYell( yell.c_str() ); + + int setcount = 0; + auto* setlist = dynamic_cast(geant4mk->GetAttr()); + setlist->Print(); + TIter Next(setlist); + TNamed* obj = 0; + // ROOT's interface is a bit annoying here. It has reveresed the order of the + // arguements stuffed into the TList. And I don't see an easy (read syntatically + // clear and concise) way to reverse iterate over a TList... so... + std::vector mylist; + while (( obj = dynamic_cast(Next()) )) { + TString str = obj->GetName(); + TString tit = obj->GetTitle(); + if ( str.Contains("pythia8:set:") ) { + str.ReplaceAll("pythia8:set:",""); + TString cmd = str + "=" + tit; + mylist.push_back(cmd); + } + } + + for ( auto iter=mylist.rbegin(); iter!=mylist.rend(); iter++ ) { + TString cmd=*iter; + LOG_INFO << cmd.Data() << endm; + pythia8->Set(cmd.Data()); + setcount++; + } + + + + + // Always default to nondiffractive (i.e. as-close-to-minbias-as-documented) + if ( 0==setcount ) pythia8->Set("SoftQCD:nonDiffractive=on"); + + primaryMk->AddGenerator(pythia8); + + chain->Init(); + +} +//___________________________________________________________________ +void eventloop() { + + for ( int event = 0; event < nevents; event++ ) { + LOG_INFO << "[geant4star running event " << event << "/" << nevents << "]" << endm; + chain->Clear(); + chain->Make(); + primaryMk->event()->Print(); + } + +} diff --git a/StRoot/StGeant4Maker/macros/runGeant4Simulation.xml b/StRoot/StGeant4Maker/macros/runGeant4Simulation.xml new file mode 100644 index 00000000000..5801558dab0 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/runGeant4Simulation.xml @@ -0,0 +1,49 @@ + + + + + + + + + +]> + + + + + + setup 64b + stardev + source /star/simu/simu/root6.16.00/bin/thisroot.csh + source /star/simu/simu/geant4.10.3.3/bin/geant4.csh /star/simu/simu/geant4.10.3.3/bin/ + + which root + which root.exe + + setenv ASAN_OPTIONS abort_on_error=true + + cp &WORKINGDIR;/geant4star . + cp -R &WORKINGDIR;/macros . + cp -R &WORKINGDIR;/macros . + cp -R &WORKINGDIR;/StRoot . + cp -R &WORKINGDIR;/StarVMC . + cp -R &WORKINGDIR;/StDb . + cp -R &WORKINGDIR;/mgr . + cp -R &WORKINGDIR;/.$STAR_HOST_SYS . + cp &WORKINGDIR;/fini.C . + ls -la + + geant4star -q -b --stepping:punchout:stop=2 --seed=${JOBINDEX} macros/test_stress_acceptance.C\(&NEVENT;,&NTRACK;\) >& stress-&NEVENT;-&NTRACK;.${JOBINDEX}.log + mv *.log &OUTDIR; + + + + + + + + &JOBDIR; + + diff --git a/StRoot/StGeant4Maker/macros/test_forward.C b/StRoot/StGeant4Maker/macros/test_forward.C new file mode 100644 index 00000000000..0d283b3cc92 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/test_forward.C @@ -0,0 +1,21 @@ +#include +#include +#include +#include +#include + +void test_forward(int n=1,const char* particles="pi+,pi-") { + + double ptmn = 1.0; + double ptmx = 10.0; + double etamn= -2.8; + double etamx= 3.8; + + // Configure G4 maker + StMaker* _geant4 = chain->GetMaker("geant4"); + + // Run particle gun simulation + particleGun(n,particles,ptmn,ptmx,etamn,etamx); + + +}; diff --git a/StRoot/StGeant4Maker/macros/test_particle_decay.C b/StRoot/StGeant4Maker/macros/test_particle_decay.C new file mode 100644 index 00000000000..2af5be00660 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/test_particle_decay.C @@ -0,0 +1,47 @@ +#include +#include +#include +#include +#include + +void test_particle_decay(int n=1,const char* particles="pi0") { + + double ptmn = 1.0; + double ptmx = 10.0; + double etamn= -1.0; + double etamx= 2.0; + + // Configure G4 maker + StMaker* _geant4 = chain->GetMaker("geant4"); + + // Run particle gun simulation + particleGun(n,particles,ptmn,ptmx,etamn,etamx); + + // gROOT->ProcessLine("chain->Clear();"); +#if 0 + StMCParticleStack* stack = (StMCParticleStack *)TVirtualMC::GetMC()->GetStack(); + + LOG_INFO << "Stack: ntrack = " << stack->GetNtrack() << endm; + LOG_INFO << "Stack: nprimary = " << stack->GetNprimary() << endm; + + int index = 0; + LOG_INFO << "StarMCParticle table" << endm; + for ( auto p : stack->GetParticleTable() ) { + LOG_INFO << Form("[%04i] ",index++) << *p << " nhits=" << p->numberOfHits() << endm; + } + + index = 0; + LOG_INFO << "StarMCVertex table" << endm; + for ( auto v : stack -> GetVertexTable() ) { + LOG_INFO << Form("[%04i] ",index++) << *v << endm; + if ( v->parent() ) { + LOG_INFO << " " << *(v->parent()) << " --> " << endm; + //LOG_INFO << Form(" %p", v->parent()) << endm; + } + for ( auto d : v->daughters() ) { + LOG_INFO << " " << *d << endm; + } + } +#endif + +}; diff --git a/StRoot/StGeant4Maker/macros/test_pi0_decay.C b/StRoot/StGeant4Maker/macros/test_pi0_decay.C new file mode 100644 index 00000000000..d68582f298c --- /dev/null +++ b/StRoot/StGeant4Maker/macros/test_pi0_decay.C @@ -0,0 +1,34 @@ +#include +#include + +void test_pi0_decay() { + + double ptmn=1.0; + double ptmx=10.0; + double etamn=-1.0; + double etamx=2.0; + + double cutgam = 999.0; + double cutele = 999.0; + double dcute = 999.0; + double dcutm = 999.0; + double bcute = 999.0; + double bcutm = 999.0; + + StMaker* _geant4 = chain->GetMaker("geant4"); + + _geant4 -> SetAttr("CUTGAM",cutgam); + _geant4 -> SetAttr("CUTELE",cutele); + _geant4 -> SetAttr("DCUTE",dcute); + _geant4 -> SetAttr("DCUTM",dcutm); + _geant4 -> SetAttr("BCUTE",bcute); + _geant4 -> SetAttr("BCUTM",bcutm); + + int number[] = { 1, 10, 100, 1000, 10000 }; + + for ( auto n : number ) { + particleGun(n,"pi0",ptmn,ptmx,etamn,etamx); + gROOT->ProcessLine("chain->Clear();"); + } + +}; diff --git a/StRoot/StGeant4Maker/macros/test_stress_acceptance.C b/StRoot/StGeant4Maker/macros/test_stress_acceptance.C new file mode 100644 index 00000000000..84a06f97d5a --- /dev/null +++ b/StRoot/StGeant4Maker/macros/test_stress_acceptance.C @@ -0,0 +1,36 @@ +#include +#include +#include +#include +#include + +void test_stress_acceptance(int nevents=10, int ntracks=10,const char* particles="pi+,pi-,K+,K-,mu+,mu-,e+,e-,proton,antiproton,pi0,gamma", const bool verbose=false ) { + + double ptmn = 0.100; + double ptmx = 10.000; + double etamn= -2.0; + double etamx= +4.0; + + StMaker* _geant4 = chain->GetMaker("geant4star"); + + // Run particle gun simulation + for ( int i=0;iGetStack(); + + for ( auto vert : _stack->GetVertexTable() ) { + LOG_INFO << *vert << endm; + } + + for ( auto part : _stack->GetParticleTable() ) { + LOG_INFO << *part << endm; + } + + } + + +}; diff --git a/StRoot/StGeant4Maker/tests/unit-test-summary b/StRoot/StGeant4Maker/tests/unit-test-summary new file mode 100755 index 00000000000..b9d34164026 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit-test-summary @@ -0,0 +1,93 @@ +#!/usr/bin/env python + +import re +import sys +import argparse +import subprocess + +ansi_escape = re.compile(r'\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])') + +TEST_REPORT = re.compile( '.*\[(.*)\].*-(.*)-' ) + +TEST_PASS = {} +TEST_FAIL = {} +TEST_TOTAL = {} +TEST_KEYS = [] + +count = 0 + +p = argparse.ArgumentParser() +p.add_argument('input', nargs='?', + type=argparse.FileType(), default=sys.stdin) +args = p.parse_args() + +# Number of test lines with passes and failures +npass_line = 0 +nfail_line = 0 + +# Number of test lines which completely pass / fail +npass_complete = 0 +nfail_complete = 0 + +for line in args.input.readlines(): + line = line.replace(' | ','') + line = ansi_escape.sub('',line) + m = TEST_REPORT.match(line) + if m: + group1 = m.group(1) + group2 = m.group(2) + + count = count + 1 + + try: + TEST_TOTAL[group1] = TEST_TOTAL[group1] + 1 + except KeyError: + TEST_TOTAL[group1] = 1 + TEST_PASS[group1] = 0 + TEST_FAIL[group1] = 0 + TEST_KEYS.append(group1) + + + if 'passed' == group2: + TEST_PASS[group1] = TEST_PASS[group1] + 1 + + if 'failed' == group2: + TEST_FAIL[group1] = TEST_FAIL[group1] + 1 + + +print "" +print "Summary of tests" +print "----------------------------------------------------------------------" +print "pass | fail | total | test" +print "----------------------------------------------------------------------" + +for key in TEST_KEYS: + + npass = TEST_PASS[key] + nfail = TEST_FAIL[key] + count = TEST_TOTAL[key] + + if ( npass == count ): + npass_complete = npass_complete + 1 + if ( nfail == count ): + nfail_complete = nfail_complete + 1 + if ( npass != 0 ): + npass_line = npass_line + 1 + if ( nfail != 0 ): + nfail_line = nfail_line + 1 + + + if ( nfail == 0 ): + print "%4i | %4i | %4i %s"%(npass,nfail,count,key) + else: + print "%4i | %4i | %4i [!] %s"%(npass,nfail,count,key) + +print "----------------------------------------------------------------------" +print "N tests w/ passes = " + str(npass_line) +print "N tests w/ failures = " + str(nfail_line) +print "N tests w/ complete passes = " + str(npass_complete) +print "N tests w/ complete failures = " + str(nfail_complete) + + + + diff --git a/StRoot/StGeant4Maker/tests/unit_test_btof_hits.C b/StRoot/StGeant4Maker/tests/unit_test_btof_hits.C new file mode 100644 index 00000000000..950d872cd45 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_btof_hits.C @@ -0,0 +1,400 @@ +#include "tests/unit_tests.h" +#include + +// TODO: Implement test of prompt-hits + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +#include + + + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +void throw_muon_in_tpc_sector( int sectorid, int charge = 1 ) { + assert(sectorid>0 && sectorid <= 24); + const double sectors[] = { + 60.0, 30.0, 0.0, 330.0, 300.0, 270., 240.0, 210.0, 180.0, 150.0, 120.0, 90.0, + 120.0, 150.0, 180.0, 210.0, 240.0, 270.0, 300.0, 330.0, 0.0, 30.0, 60.0, 90.0 + }; + double eta = (sectorid<=12) ? 0.5 : -0.5; + _eta = eta; + double phid = sectors[sectorid-1]; + _phid = phid; + throw_muon( eta, phid, 500.0, charge ); // energetic + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_tfr_hit") ) ; + + assert(vertex_table); + +} +//______________________________________________________________________ +void unit_test_btof_hits( int longtest=0 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and TPC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + Accumulator_t edep; // Energy deposition + Accumulator_t step; // Step size + Accumulator_t time; // Time per throw + + for ( int sector=1; sector<=24; sector++ ) { + + timer.Start(); + throw_muon_in_tpc_sector( sector ); + time( timer.CpuTime() ); + timer.Reset(); + + LOG_TEST << "======================================================================================" << std::endl; + LOG_TEST << GIVEN << "A muon thrown down the center of TPC sector " << sector << std::endl; + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + std::string result = Form("sector=%i ", sector); + return result+PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the TPC", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* v = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( 0==v ) + result = PASS; + else { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 208.0 || xx2 > 208.0 ) + result = PASS; + result = Form(" r=%f ",TMath::Max(xx1,xx2)) + result; + } + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 6 hits in the BTOF (dev2021 geometry)", [=](const g2t_track_st* t){ + int n = t->n_tof_hit; + std::string result = FAIL; + if ( n==6 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << GIVEN << "A hit on that track" << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + check_ctf_hit( "The hit should have a nonzero volume_id", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form("id=%i vid=%i de=%f ds=%f ",h->id,h->volume_id,h->de,h->ds) + result; + return result; + }); + check_ctf_hit( "The hit should have an energy deposit > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; // undetermined + if ( h->de > 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The hit should have a step size > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The hit should have a path length > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->s_track > 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The hit should have time-of-flight > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->tof > 0 ) result = PASS; + result = Form(" tof=%f ",h->tof) + result; + return result; + }); + check_ctf_hit( "The hit should have a nonzero momentum", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The hit should have a length > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->s_track > 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The track length and tof*c agree to w/in 0.15 mm ", hit,[=](const g2t_ctf_hit_st* h) { + // There should be some tolerance on this, b/c of roundoff error at each tracking step + std::string result = FAIL; + double c_tof = 2.99792458E10 /* cm/s */ * h->tof; + double s_trk = h->s_track; + double diff = TMath::Abs(c_tof-s_trk); + if ( diff < 0.015 ) result = PASS; + result = Form("c_tof=%f cm strack=%f cm diff=%f cm ",c_tof,s_trk,diff) + result; + return result; + }); + check_ctf_hit( "The hit be at a radius > 207.8", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + double R2 = h->x[0]*h->x[0] + h->x[1]*h->x[1]; + if ( R2 > 207.8*207.8 ) result = PASS; + result = Form(" R=%f ",sqrt(R2)) + result; + return result; + }); + check_ctf_hit( "The hit be at a radius < 221.0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + double R2 = h->x[0]*h->x[0] + h->x[1]*h->x[1]; + if ( R2 < 221.0*221.0 ) result = PASS; + result = Form(" R=%f ",sqrt(R2)) + result; + return result; + }); + check_ctf_hit( "The track length at the hit should be >= radius at the hit", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + double R2 = h->x[0]*h->x[0] + h->x[1]*h->x[1]; + double L2 = h->s_track * h->s_track; + if ( R2 <= L2 ) result = PASS; + result = Form(" R=%f L=%f",sqrt(R2),sqrt(L2)) + result; + return result; + }); + check_ctf_hit( "Track's momentum at hit should be < initial value", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + check_ctf_hit( "BTOF half should decode as 1..2", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + int half = h->volume_id / 100000; + if ( half == 1 || half == 2) result = PASS; + return result; + }); + check_ctf_hit( "BTOF sector/tray should decode as 1..60", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + int sector = h->volume_id % 100000 / 1000; + if ( sector >= 1 && sector <= 60 ) result = PASS; + return result; + }); + check_ctf_hit( "BTOF module should decode as 1..33", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + int module = h->volume_id % 1000 / 10; + if ( module >= 1 && module <= 33 ) result = PASS; + return result; + }); + check_ctf_hit( "BTOF layer should decode as 1..6", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + int layer = h->volume_id % 10; + if ( layer >=1 && layer <= 6 ) result = PASS; + return result; + }); + } + + } + + std::cout << std::endl << std::endl; + + // Print out energy deposition + { + + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + if ( 1 ){ + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + // double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + // LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + // Print out time per track + { + + double _mean = boost::accumulators::mean(time); + double _median = boost::accumulators::median(time); + double _min = boost::accumulators::min(time); + double _max = boost::accumulators::max(time); + double _error_of_mean = boost::accumulators::error_of(time); + LOG_TEST << Form( "time / muon: mean = %f s", _mean ) << std::endl; + LOG_TEST << Form( "time / muon: median = %f s", _median ) << std::endl; + LOG_TEST << Form( "time / muon: min = %f s", _min ) << std::endl; + LOG_TEST << Form( "time / muon: max = %f s", _max ) << std::endl; + LOG_TEST << Form( "time / muon: error of mean = %f s", _error_of_mean ) << std::endl; + + } + + // Reset accumulators + edep = step = time = {}; + + if ( longtest > 1 ) { + + std::cout << "-/ running long test with N pi+/pi- =" << longtest << " /-" << std::endl; + + throw_particle( longtest, "pi+,pi-", 0.200, 20.0, -1.0, 1.0, 0.0, TMath::TwoPi() ); + + auto* chain = StMaker::GetChain(); + hit_table = dynamic_cast( chain->GetDataSet("g2t_ctf_hit") ) ; + + // Accumulate + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + // std::cout << *hit << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + } + + // Print out energy deposition + { + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + // double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + // LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + } + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_eem_hits.C b/StRoot/StGeant4Maker/tests/unit_test_eem_hits.C new file mode 100644 index 00000000000..b1b68d2dc56 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_eem_hits.C @@ -0,0 +1,295 @@ +#include "tests/unit_tests.h" + +#include "StEEmcUtil/EEmcGeom/EEmcGeomSimple.h" + +namespace eemcgeom { + +const int kEEmcNumDepths = 5; +const int kEEmcNumSectors = 12; +const int kEEmcNumSubSectors = 5; +const int kEEmcNumEtas = 12; +const int kEEmcNumSmdPlanes = 3; +const int kEEmcNumStrips =288; +const int kEEmcNumEdgeStrips =283; +const int kEEmcNumSmdUVs = 2; + + + + // for Tower +const int kEEmcTowerHalfId = 100000; +const int kEEmcTowerPhiId = 1000; +const int kEEmcTowerEtaId = 10; +const int kEEmcTowerDepId = 1; + + // for SMDs +const int kEEmcSmdHalfId = 1000000; +const int kEEmcSmdPhiId = 10000; +const int kEEmcSmdPlaneId = 1000; +const int kEEmcSmdStripId = 1; + + + +const double etabounds[] = { 2.0000 , + 1.9008 , 1.8065 , 1.7168 , 1.6317 , 1.5507 , 1.4738 , + 1.4007 , 1.3312 , 1.2651 , 1.2023 , 1.1427 , 1.086 +}; + +} + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +void throw_muon_in_eemc_tower( double eta, double phid, int charge = 1 ) { + + throw_muon( eta, phid, 10.0, charge ); // energetic + _eta = eta; + _phid = phid; + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_eem_hit") ); + chain->ls(10); + assert(track_table); + track_table->Print(0,10); + +} +//___________________________________________________________________ +struct EEmcVolumeId { + int half; + int sector; + int subsector; + int phibin; + int etabin; + int depth; +}; +//___________________________________________________________________ +EEmcVolumeId decode_eemc_volume_id( const int _volumeId ) { + EEmcVolumeId result = {0}; + int halfId = _volumeId / eemcgeom::kEEmcTowerHalfId; + int volumeId = _volumeId % eemcgeom::kEEmcTowerHalfId; + result.half = halfId; + result.phibin = volumeId / eemcgeom::kEEmcTowerPhiId; volumeId%=eemcgeom::kEEmcTowerPhiId; + result.etabin = volumeId / eemcgeom::kEEmcTowerEtaId; volumeId%=eemcgeom::kEEmcTowerEtaId; + result.depth = volumeId / eemcgeom::kEEmcTowerDepId; volumeId%=eemcgeom::kEEmcTowerDepId; + result.subsector = ( result.phibin - 1 )%5 + 1; + result.sector = ( result.phibin - 1 )/5 + 1; + return result; +} + +//___________________________________________________________________ +void unit_test_eem_hits() { + + gROOT->ProcessLine("initChain();"); + + if ( 0 == hasRuntimeArg("eemcutil") ) { + std::cout << "Please re-run with --eemcutil option" << std::endl; + assert(0); + } + + const EEmcGeomSimple& eemc = EEmcGeomSimple::Instance(); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and EEMC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + // double eta = 0.5 * ( etabounds[3]+etabounds[4] ); + // double phid = 6.0 * 5; + + + TVector3 direction; + + for ( int i=0;i<12;i++ ) { // loop on eta bin + for ( int j=0;j<60;j++ ) { // loop on phi bin + + double eta=0.5*(eemcgeom::etabounds[i]+eemcgeom::etabounds[i+1]); + double phid = 6.0*j; + + int etabin = i + 1; + int phibin = j + 1; // maybe maybe not + int sector = j / 5 + 1; + int subsector = j % 5 + 1; + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << "Throwing muon at tower center eta=" << eta << " phi=" << phid << std::endl; + LOG_TEST << "sector = " << j / 5 << " subsector = " << j % 5 << " etabin = " << i << std::endl; + LOG_TEST << "------------------------------------------------------------------" << std::endl; + + direction = eemc.getTowerCenter( sector - 1, subsector - 1, etabin - 1 ); + + throw_muon_in_eemc_tower( direction.Eta(), direction.Phi()*180.0/TMath::Pi() ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + assert(t); + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the EEMC", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 5 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_eem_hit; + std::string result = FAIL; + if ( n==5 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + check_emc_hit( "Print the hit...", hit, [=](const g2t_emc_hit_st* h) { + LOG_TEST << "id=" << h->id + << " track_p=" << h->track_p + << " volume_id=" << h->volume_id + << " de=" << h->de + << std::endl; + return PASS; + }); + check_emc_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form(" volumeId=%i ", h->volume_id ) + result; + return result; + }); + check_emc_hit( "The hit's volume_id should be < 2*100000",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id < 200000 ) result = PASS; + result = Form(" volumeId=%i ", h->volume_id ) + result; + return result; + }); + check_emc_hit( "The hit should be in half 1 or half 2",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + int half = id.half; + if ( half>=1 && half <=2 ) result = PASS; + result = Form(" ... half=%i ", half ) + result; + return result; + }); + check_emc_hit( "The sector of the hit should be 1-12",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + int sector = id.sector; + if ( sector >= 1 && sector <= 12 ) result = PASS; + result = Form(" ... sector=%i ", sector ) + result; + return result; + }); + check_emc_hit( "The hit has the expected sector",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + if ( sector ==id.sector ) result = PASS; + result = Form(" expect %i actual %i ", id.sector,sector ) + result; + return result; + }); + check_emc_hit( "The hit has the expected subsector",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + if ( id.subsector == subsector ) result = PASS; + result = Form(" expect %i actual %i ", id.subsector,subsector ) + result; + return result; + }); + check_emc_hit( "The hit has the expected phibin",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + if ( id.phibin == phibin ) result = PASS; + result = Form(" expect %i actual %i ", id.phibin, phibin ) + result; + return result; + }); + check_emc_hit( "The hit has the expected eta bin",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + if ( etabin == id.etabin ) result = PASS; + result = Form(" expect %i actual %i ", id.etabin, etabin ) + result; + return result; + }); + check_emc_hit( "The depth of the hit should be 1-5",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + int depth = id.depth; + + if ( depth >= 1 && depth <= 5 ) result = PASS; + result = Form(" ... depth=%i ", depth ) + result; + return result; + }); + check_emc_hit( "The hit should have an energy deposit > 0",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + if ( h->de > 0 ) result = PASS; + return result; + }); + + } + + } + } + + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_emc_hits.C b/StRoot/StGeant4Maker/tests/unit_test_emc_hits.C new file mode 100644 index 00000000000..2a9e43c78fb --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_emc_hits.C @@ -0,0 +1,9817 @@ +#include "tests/unit_tests.h" + +#include +//___________________________________________________________________ +const int neta = 40; +const int nphi = 120; +const double dphi = 3.0; +const double phi0 = 0.0; // not really... + +void init_cells(); + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; + +struct Cell { + int volumeId; + int softId; + int m; + int e; + int s; + int d; + float eta; + float phi; +}; +std::vector cells; +//___________________________________________________________________ +void throw_muon_in_bemc_tower( double eta, double phid, int charge = 1 ) { + + throw_muon( eta, phid, 10.0, charge ); // energetic + _eta = eta; + _phid = phid; + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ); + +} +//___________________________________________________________________ +void unit_test_emc_hits() { + + gROOT->ProcessLine("initChain();"); + + init_cells(); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and BEMC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + for ( auto cell : cells ) { + + double eta = cell.eta; _eta = eta; + double phi = cell.phi; + double phid = phi * 180.0 / TMath::Pi(); + int volId = cell.volumeId; + if ( volId % 10 == 2 ) continue; // skip superlayer = 2 + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << "Throwing muon at tower center eta=" << eta << " phi=" << phid << std::endl; + LOG_TEST << "------------------------------------------------------------------" << std::endl; + + throw_muon_in_bemc_tower( eta, phid ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + // Failure is tested by check_track when it tests for a valid track pointer + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0 && istart <= vertex_table->GetNRows()) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the BEMC", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 && istart <= vertex_table->GetNRows() ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( "The track should has the expected eta", [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + std::string result = FAIL; + if ( TMath::Abs(t->eta-_eta)<1E-5 ) + result = PASS; + result = Form(" expect %f got %f ", _eta, t->eta ) + result; + return result; + }); + // check_track( "The track should has the expected phi", [=](const g2t_track_st* t){ + // double delta = TMath::Abs(t->phi-_phi); + // return delta<1E-5 ?PASS:FAIL; + // }); + check_track( "Expect 2 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_emc_hit; + std::string result = FAIL; + if ( n==2 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + for ( int i=0;iGetNRows();i++ ) { + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + check_emc_hit( "Energy deposition is positive", hit, [=]( const g2t_emc_hit_st* hit ) { + std::string result = FAIL; + if ( hit->de > 0 ) result = PASS; + return result; + }); + check_emc_hit( "Half barrel is 1 or 2 from volume ID", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int half = h->volume_id / 10000000; + std::string result = FAIL; + if ( 1==half || 2==half ) result = PASS; + result = Form("half=%i ",half) + result; + return result; + }); + check_emc_hit( "Eta bin is in 1..20", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int tow = (h->volume_id % 10000000)/100000; + std::string result = FAIL; + if ( tow>=1 && tow<= 40 ) result = PASS; + result = Form("etabin=%i ",tow) + result; + return result; + }); + check_emc_hit( "Phi module is in 1..60", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int tow = (h->volume_id % 100000) / 100; + std::string result = FAIL; + if ( tow>=1 && tow<= 60 ) result = PASS; + result = Form("phibin=%i ",tow) + result; + return result; + }); + check_emc_hit( "Phi sub-module is in 1..2", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int tow = (h->volume_id % 100)/10; + std::string result = FAIL; + if ( tow>=1 && tow<= 40 ) result = PASS; + result = Form("phi submodule=%i ",tow) + result; + return result; + }); + check_emc_hit( "Superlayer is 1..2", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int tow = (h->volume_id % 10); + std::string result = FAIL; + if ( tow>=1 && tow<= 40 ) result = PASS; + result = Form("super layer=%i ",tow) + result; + return result; + }); + std::string side = (eta>0)?"west":"east"; + check_emc_hit( Form("Hit has the expected volume ID %s",side.c_str()), hit, [=]( const g2t_emc_hit_st* h) { + std::string result = FAIL; + if ( cell.volumeId == h->volume_id || cell.volumeId+1 == h->volume_id ) result = PASS; + result = Form(" got volume id %i expect %i or %i ",h->volume_id,cell.volumeId,cell.volumeId+1) + result; + return result; + }); + + }; + + + } + + // } + // } + +} + + + +void init_cells() { + cells.push_back( {10100111,1,1,1,1,2,0.02675,1.28142 } ); + cells.push_back( {10100121,21,1,1,2,2,0.02675,1.23186 } ); + cells.push_back( {10200111,2,1,2,1,2,0.075,1.28142 } ); + cells.push_back( {10200121,22,1,2,2,2,0.075,1.23186 } ); + cells.push_back( {10300111,3,1,3,1,2,0.125,1.28142 } ); + cells.push_back( {10300121,23,1,3,2,2,0.125,1.23186 } ); + cells.push_back( {10400111,4,1,4,1,2,0.175,1.28142 } ); +cells.push_back( {10400121,24,1,4,2,2,0.175,1.23186 } ); +cells.push_back( {10500111,5,1,5,1,2,0.225,1.28142 } ); +cells.push_back( {10500121,25,1,5,2,2,0.225,1.23186 } ); +cells.push_back( {10600111,6,1,6,1,2,0.275,1.28142 } ); +cells.push_back( {10600121,26,1,6,2,2,0.275,1.23186 } ); +cells.push_back( {10700111,7,1,7,1,2,0.325,1.28142 } ); +cells.push_back( {10700121,27,1,7,2,2,0.325,1.23186 } ); +cells.push_back( {10800111,8,1,8,1,2,0.375,1.28142 } ); +cells.push_back( {10800121,28,1,8,2,2,0.375,1.23186 } ); +cells.push_back( {10900111,9,1,9,1,2,0.425,1.28142 } ); +cells.push_back( {10900121,29,1,9,2,2,0.425,1.23186 } ); +cells.push_back( {11000111,10,1,10,1,2,0.475,1.28142 } ); +cells.push_back( {11000121,30,1,10,2,2,0.475,1.23186 } ); +cells.push_back( {11100111,11,1,11,1,2,0.525,1.28142 } ); +cells.push_back( {11100121,31,1,11,2,2,0.525,1.23186 } ); +cells.push_back( {11200111,12,1,12,1,2,0.575,1.28142 } ); +cells.push_back( {11200121,32,1,12,2,2,0.575,1.23186 } ); +cells.push_back( {11300111,13,1,13,1,2,0.625,1.28142 } ); +cells.push_back( {11300121,33,1,13,2,2,0.625,1.23186 } ); +cells.push_back( {11400111,14,1,14,1,2,0.675,1.28142 } ); +cells.push_back( {11400121,34,1,14,2,2,0.675,1.23186 } ); +cells.push_back( {11500111,15,1,15,1,2,0.725,1.28142 } ); +cells.push_back( {11500121,35,1,15,2,2,0.725,1.23186 } ); +cells.push_back( {11600111,16,1,16,1,2,0.775,1.28142 } ); +cells.push_back( {11600121,36,1,16,2,2,0.775,1.23186 } ); +cells.push_back( {11700111,17,1,17,1,2,0.825,1.28142 } ); +cells.push_back( {11700121,37,1,17,2,2,0.825,1.23186 } ); +cells.push_back( {11800111,18,1,18,1,2,0.875,1.28142 } ); +cells.push_back( {11800121,38,1,18,2,2,0.875,1.23186 } ); +cells.push_back( {11900111,19,1,19,1,2,0.925,1.28142 } ); +cells.push_back( {11900121,39,1,19,2,2,0.925,1.23186 } ); +cells.push_back( {12000111,20,1,20,1,2,0.967,1.28142 } ); +cells.push_back( {12000121,40,1,20,2,2,0.967,1.23186 } ); +cells.push_back( {10100112,1,1,1,1,1,0.02675,1.28142 } ); +cells.push_back( {10100122,21,1,1,2,1,0.02675,1.23186 } ); +cells.push_back( {10200112,2,1,2,1,1,0.075,1.28142 } ); +cells.push_back( {10200122,22,1,2,2,1,0.075,1.23186 } ); +cells.push_back( {10300112,3,1,3,1,1,0.125,1.28142 } ); +cells.push_back( {10300122,23,1,3,2,1,0.125,1.23186 } ); +cells.push_back( {10400112,4,1,4,1,1,0.175,1.28142 } ); +cells.push_back( {10400122,24,1,4,2,1,0.175,1.23186 } ); +cells.push_back( {10500112,5,1,5,1,1,0.225,1.28142 } ); +cells.push_back( {10500122,25,1,5,2,1,0.225,1.23186 } ); +cells.push_back( {10600112,6,1,6,1,1,0.275,1.28142 } ); +cells.push_back( {10600122,26,1,6,2,1,0.275,1.23186 } ); +cells.push_back( {10700112,7,1,7,1,1,0.325,1.28142 } ); +cells.push_back( {10700122,27,1,7,2,1,0.325,1.23186 } ); +cells.push_back( {10800112,8,1,8,1,1,0.375,1.28142 } ); +cells.push_back( {10800122,28,1,8,2,1,0.375,1.23186 } ); +cells.push_back( {10900112,9,1,9,1,1,0.425,1.28142 } ); +cells.push_back( {10900122,29,1,9,2,1,0.425,1.23186 } ); +cells.push_back( {11000112,10,1,10,1,1,0.475,1.28142 } ); +cells.push_back( {11000122,30,1,10,2,1,0.475,1.23186 } ); +cells.push_back( {11100112,11,1,11,1,1,0.525,1.28142 } ); +cells.push_back( {11100122,31,1,11,2,1,0.525,1.23186 } ); +cells.push_back( {11200112,12,1,12,1,1,0.575,1.28142 } ); +cells.push_back( {11200122,32,1,12,2,1,0.575,1.23186 } ); +cells.push_back( {11300112,13,1,13,1,1,0.625,1.28142 } ); +cells.push_back( {11300122,33,1,13,2,1,0.625,1.23186 } ); +cells.push_back( {11400112,14,1,14,1,1,0.675,1.28142 } ); +cells.push_back( {11400122,34,1,14,2,1,0.675,1.23186 } ); +cells.push_back( {11500112,15,1,15,1,1,0.725,1.28142 } ); +cells.push_back( {11500122,35,1,15,2,1,0.725,1.23186 } ); +cells.push_back( {11600112,16,1,16,1,1,0.775,1.28142 } ); +cells.push_back( {11600122,36,1,16,2,1,0.775,1.23186 } ); +cells.push_back( {11700112,17,1,17,1,1,0.825,1.28142 } ); +cells.push_back( {11700122,37,1,17,2,1,0.825,1.23186 } ); +cells.push_back( {11800112,18,1,18,1,1,0.875,1.28142 } ); +cells.push_back( {11800122,38,1,18,2,1,0.875,1.23186 } ); +cells.push_back( {11900112,19,1,19,1,1,0.925,1.28142 } ); +cells.push_back( {11900122,39,1,19,2,1,0.925,1.23186 } ); +cells.push_back( {12000112,20,1,20,1,1,0.967,1.28142 } ); +cells.push_back( {12000122,40,1,20,2,1,0.967,1.23186 } ); +cells.push_back( {10100211,41,2,1,1,2,0.02675,1.1767 } ); +cells.push_back( {10100221,61,2,1,2,2,0.02675,1.12714 } ); +cells.push_back( {10200211,42,2,2,1,2,0.075,1.1767 } ); +cells.push_back( {10200221,62,2,2,2,2,0.075,1.12714 } ); +cells.push_back( {10300211,43,2,3,1,2,0.125,1.1767 } ); +cells.push_back( {10300221,63,2,3,2,2,0.125,1.12714 } ); +cells.push_back( {10400211,44,2,4,1,2,0.175,1.1767 } ); +cells.push_back( {10400221,64,2,4,2,2,0.175,1.12714 } ); +cells.push_back( {10500211,45,2,5,1,2,0.225,1.1767 } ); +cells.push_back( {10500221,65,2,5,2,2,0.225,1.12714 } ); +cells.push_back( {10600211,46,2,6,1,2,0.275,1.1767 } ); +cells.push_back( {10600221,66,2,6,2,2,0.275,1.12714 } ); +cells.push_back( {10700211,47,2,7,1,2,0.325,1.1767 } ); +cells.push_back( {10700221,67,2,7,2,2,0.325,1.12714 } ); +cells.push_back( {10800211,48,2,8,1,2,0.375,1.1767 } ); +cells.push_back( {10800221,68,2,8,2,2,0.375,1.12714 } ); +cells.push_back( {10900211,49,2,9,1,2,0.425,1.1767 } ); +cells.push_back( {10900221,69,2,9,2,2,0.425,1.12714 } ); +cells.push_back( {11000211,50,2,10,1,2,0.475,1.1767 } ); +cells.push_back( {11000221,70,2,10,2,2,0.475,1.12714 } ); +cells.push_back( {11100211,51,2,11,1,2,0.525,1.1767 } ); +cells.push_back( {11100221,71,2,11,2,2,0.525,1.12714 } ); +cells.push_back( {11200211,52,2,12,1,2,0.575,1.1767 } ); +cells.push_back( {11200221,72,2,12,2,2,0.575,1.12714 } ); +cells.push_back( {11300211,53,2,13,1,2,0.625,1.1767 } ); +cells.push_back( {11300221,73,2,13,2,2,0.625,1.12714 } ); +cells.push_back( {11400211,54,2,14,1,2,0.675,1.1767 } ); +cells.push_back( {11400221,74,2,14,2,2,0.675,1.12714 } ); +cells.push_back( {11500211,55,2,15,1,2,0.725,1.1767 } ); +cells.push_back( {11500221,75,2,15,2,2,0.725,1.12714 } ); +cells.push_back( {11600211,56,2,16,1,2,0.775,1.1767 } ); +cells.push_back( {11600221,76,2,16,2,2,0.775,1.12714 } ); +cells.push_back( {11700211,57,2,17,1,2,0.825,1.1767 } ); +cells.push_back( {11700221,77,2,17,2,2,0.825,1.12714 } ); +cells.push_back( {11800211,58,2,18,1,2,0.875,1.1767 } ); +cells.push_back( {11800221,78,2,18,2,2,0.875,1.12714 } ); +cells.push_back( {11900211,59,2,19,1,2,0.925,1.1767 } ); +cells.push_back( {11900221,79,2,19,2,2,0.925,1.12714 } ); +cells.push_back( {12000211,60,2,20,1,2,0.967,1.1767 } ); +cells.push_back( {12000221,80,2,20,2,2,0.967,1.12714 } ); +cells.push_back( {10100212,41,2,1,1,1,0.02675,1.1767 } ); +cells.push_back( {10100222,61,2,1,2,1,0.02675,1.12714 } ); +cells.push_back( {10200212,42,2,2,1,1,0.075,1.1767 } ); +cells.push_back( {10200222,62,2,2,2,1,0.075,1.12714 } ); +cells.push_back( {10300212,43,2,3,1,1,0.125,1.1767 } ); +cells.push_back( {10300222,63,2,3,2,1,0.125,1.12714 } ); +cells.push_back( {10400212,44,2,4,1,1,0.175,1.1767 } ); +cells.push_back( {10400222,64,2,4,2,1,0.175,1.12714 } ); +cells.push_back( {10500212,45,2,5,1,1,0.225,1.1767 } ); +cells.push_back( {10500222,65,2,5,2,1,0.225,1.12714 } ); +cells.push_back( {10600212,46,2,6,1,1,0.275,1.1767 } ); +cells.push_back( {10600222,66,2,6,2,1,0.275,1.12714 } ); +cells.push_back( {10700212,47,2,7,1,1,0.325,1.1767 } ); +cells.push_back( {10700222,67,2,7,2,1,0.325,1.12714 } ); +cells.push_back( {10800212,48,2,8,1,1,0.375,1.1767 } ); +cells.push_back( {10800222,68,2,8,2,1,0.375,1.12714 } ); +cells.push_back( {10900212,49,2,9,1,1,0.425,1.1767 } ); +cells.push_back( {10900222,69,2,9,2,1,0.425,1.12714 } ); +cells.push_back( {11000212,50,2,10,1,1,0.475,1.1767 } ); +cells.push_back( {11000222,70,2,10,2,1,0.475,1.12714 } ); +cells.push_back( {11100212,51,2,11,1,1,0.525,1.1767 } ); +cells.push_back( {11100222,71,2,11,2,1,0.525,1.12714 } ); +cells.push_back( {11200212,52,2,12,1,1,0.575,1.1767 } ); +cells.push_back( {11200222,72,2,12,2,1,0.575,1.12714 } ); +cells.push_back( {11300212,53,2,13,1,1,0.625,1.1767 } ); +cells.push_back( {11300222,73,2,13,2,1,0.625,1.12714 } ); +cells.push_back( {11400212,54,2,14,1,1,0.675,1.1767 } ); +cells.push_back( {11400222,74,2,14,2,1,0.675,1.12714 } ); +cells.push_back( {11500212,55,2,15,1,1,0.725,1.1767 } ); +cells.push_back( {11500222,75,2,15,2,1,0.725,1.12714 } ); +cells.push_back( {11600212,56,2,16,1,1,0.775,1.1767 } ); +cells.push_back( {11600222,76,2,16,2,1,0.775,1.12714 } ); +cells.push_back( {11700212,57,2,17,1,1,0.825,1.1767 } ); +cells.push_back( {11700222,77,2,17,2,1,0.825,1.12714 } ); +cells.push_back( {11800212,58,2,18,1,1,0.875,1.1767 } ); +cells.push_back( {11800222,78,2,18,2,1,0.875,1.12714 } ); +cells.push_back( {11900212,59,2,19,1,1,0.925,1.1767 } ); +cells.push_back( {11900222,79,2,19,2,1,0.925,1.12714 } ); +cells.push_back( {12000212,60,2,20,1,1,0.967,1.1767 } ); +cells.push_back( {12000222,80,2,20,2,1,0.967,1.12714 } ); +cells.push_back( {10100311,81,3,1,1,2,0.02675,1.07198 } ); +cells.push_back( {10100321,101,3,1,2,2,0.02675,1.02242 } ); +cells.push_back( {10200311,82,3,2,1,2,0.075,1.07198 } ); +cells.push_back( {10200321,102,3,2,2,2,0.075,1.02242 } ); +cells.push_back( {10300311,83,3,3,1,2,0.125,1.07198 } ); +cells.push_back( {10300321,103,3,3,2,2,0.125,1.02242 } ); +cells.push_back( {10400311,84,3,4,1,2,0.175,1.07198 } ); +cells.push_back( {10400321,104,3,4,2,2,0.175,1.02242 } ); +cells.push_back( {10500311,85,3,5,1,2,0.225,1.07198 } ); +cells.push_back( {10500321,105,3,5,2,2,0.225,1.02242 } ); +cells.push_back( {10600311,86,3,6,1,2,0.275,1.07198 } ); +cells.push_back( {10600321,106,3,6,2,2,0.275,1.02242 } ); +cells.push_back( {10700311,87,3,7,1,2,0.325,1.07198 } ); +cells.push_back( {10700321,107,3,7,2,2,0.325,1.02242 } ); +cells.push_back( {10800311,88,3,8,1,2,0.375,1.07198 } ); +cells.push_back( {10800321,108,3,8,2,2,0.375,1.02242 } ); +cells.push_back( {10900311,89,3,9,1,2,0.425,1.07198 } ); +cells.push_back( {10900321,109,3,9,2,2,0.425,1.02242 } ); +cells.push_back( {11000311,90,3,10,1,2,0.475,1.07198 } ); +cells.push_back( {11000321,110,3,10,2,2,0.475,1.02242 } ); +cells.push_back( {11100311,91,3,11,1,2,0.525,1.07198 } ); +cells.push_back( {11100321,111,3,11,2,2,0.525,1.02242 } ); +cells.push_back( {11200311,92,3,12,1,2,0.575,1.07198 } ); +cells.push_back( {11200321,112,3,12,2,2,0.575,1.02242 } ); +cells.push_back( {11300311,93,3,13,1,2,0.625,1.07198 } ); +cells.push_back( {11300321,113,3,13,2,2,0.625,1.02242 } ); +cells.push_back( {11400311,94,3,14,1,2,0.675,1.07198 } ); +cells.push_back( {11400321,114,3,14,2,2,0.675,1.02242 } ); +cells.push_back( {11500311,95,3,15,1,2,0.725,1.07198 } ); +cells.push_back( {11500321,115,3,15,2,2,0.725,1.02242 } ); +cells.push_back( {11600311,96,3,16,1,2,0.775,1.07198 } ); +cells.push_back( {11600321,116,3,16,2,2,0.775,1.02242 } ); +cells.push_back( {11700311,97,3,17,1,2,0.825,1.07198 } ); +cells.push_back( {11700321,117,3,17,2,2,0.825,1.02242 } ); +cells.push_back( {11800311,98,3,18,1,2,0.875,1.07198 } ); +cells.push_back( {11800321,118,3,18,2,2,0.875,1.02242 } ); +cells.push_back( {11900311,99,3,19,1,2,0.925,1.07198 } ); +cells.push_back( {11900321,119,3,19,2,2,0.925,1.02242 } ); +cells.push_back( {12000311,100,3,20,1,2,0.967,1.07198 } ); +cells.push_back( {12000321,120,3,20,2,2,0.967,1.02242 } ); +cells.push_back( {10100312,81,3,1,1,1,0.02675,1.07198 } ); +cells.push_back( {10100322,101,3,1,2,1,0.02675,1.02242 } ); +cells.push_back( {10200312,82,3,2,1,1,0.075,1.07198 } ); +cells.push_back( {10200322,102,3,2,2,1,0.075,1.02242 } ); +cells.push_back( {10300312,83,3,3,1,1,0.125,1.07198 } ); +cells.push_back( {10300322,103,3,3,2,1,0.125,1.02242 } ); +cells.push_back( {10400312,84,3,4,1,1,0.175,1.07198 } ); +cells.push_back( {10400322,104,3,4,2,1,0.175,1.02242 } ); +cells.push_back( {10500312,85,3,5,1,1,0.225,1.07198 } ); +cells.push_back( {10500322,105,3,5,2,1,0.225,1.02242 } ); +cells.push_back( {10600312,86,3,6,1,1,0.275,1.07198 } ); +cells.push_back( {10600322,106,3,6,2,1,0.275,1.02242 } ); +cells.push_back( {10700312,87,3,7,1,1,0.325,1.07198 } ); +cells.push_back( {10700322,107,3,7,2,1,0.325,1.02242 } ); +cells.push_back( {10800312,88,3,8,1,1,0.375,1.07198 } ); +cells.push_back( {10800322,108,3,8,2,1,0.375,1.02242 } ); +cells.push_back( {10900312,89,3,9,1,1,0.425,1.07198 } ); +cells.push_back( {10900322,109,3,9,2,1,0.425,1.02242 } ); +cells.push_back( {11000312,90,3,10,1,1,0.475,1.07198 } ); +cells.push_back( {11000322,110,3,10,2,1,0.475,1.02242 } ); +cells.push_back( {11100312,91,3,11,1,1,0.525,1.07198 } ); +cells.push_back( {11100322,111,3,11,2,1,0.525,1.02242 } ); +cells.push_back( {11200312,92,3,12,1,1,0.575,1.07198 } ); +cells.push_back( {11200322,112,3,12,2,1,0.575,1.02242 } ); +cells.push_back( {11300312,93,3,13,1,1,0.625,1.07198 } ); +cells.push_back( {11300322,113,3,13,2,1,0.625,1.02242 } ); +cells.push_back( {11400312,94,3,14,1,1,0.675,1.07198 } ); +cells.push_back( {11400322,114,3,14,2,1,0.675,1.02242 } ); +cells.push_back( {11500312,95,3,15,1,1,0.725,1.07198 } ); +cells.push_back( {11500322,115,3,15,2,1,0.725,1.02242 } ); +cells.push_back( {11600312,96,3,16,1,1,0.775,1.07198 } ); +cells.push_back( {11600322,116,3,16,2,1,0.775,1.02242 } ); +cells.push_back( {11700312,97,3,17,1,1,0.825,1.07198 } ); +cells.push_back( {11700322,117,3,17,2,1,0.825,1.02242 } ); +cells.push_back( {11800312,98,3,18,1,1,0.875,1.07198 } ); +cells.push_back( {11800322,118,3,18,2,1,0.875,1.02242 } ); +cells.push_back( {11900312,99,3,19,1,1,0.925,1.07198 } ); +cells.push_back( {11900322,119,3,19,2,1,0.925,1.02242 } ); +cells.push_back( {12000312,100,3,20,1,1,0.967,1.07198 } ); +cells.push_back( {12000322,120,3,20,2,1,0.967,1.02242 } ); +cells.push_back( {10100411,121,4,1,1,2,0.02675,0.967259 } ); +cells.push_back( {10100421,141,4,1,2,2,0.02675,0.917696 } ); +cells.push_back( {10200411,122,4,2,1,2,0.075,0.967259 } ); +cells.push_back( {10200421,142,4,2,2,2,0.075,0.917696 } ); +cells.push_back( {10300411,123,4,3,1,2,0.125,0.967259 } ); +cells.push_back( {10300421,143,4,3,2,2,0.125,0.917696 } ); +cells.push_back( {10400411,124,4,4,1,2,0.175,0.967259 } ); +cells.push_back( {10400421,144,4,4,2,2,0.175,0.917696 } ); +cells.push_back( {10500411,125,4,5,1,2,0.225,0.967259 } ); +cells.push_back( {10500421,145,4,5,2,2,0.225,0.917696 } ); +cells.push_back( {10600411,126,4,6,1,2,0.275,0.967259 } ); +cells.push_back( {10600421,146,4,6,2,2,0.275,0.917696 } ); +cells.push_back( {10700411,127,4,7,1,2,0.325,0.967259 } ); +cells.push_back( {10700421,147,4,7,2,2,0.325,0.917696 } ); +cells.push_back( {10800411,128,4,8,1,2,0.375,0.967259 } ); +cells.push_back( {10800421,148,4,8,2,2,0.375,0.917696 } ); +cells.push_back( {10900411,129,4,9,1,2,0.425,0.967259 } ); +cells.push_back( {10900421,149,4,9,2,2,0.425,0.917696 } ); +cells.push_back( {11000411,130,4,10,1,2,0.475,0.967259 } ); +cells.push_back( {11000421,150,4,10,2,2,0.475,0.917696 } ); +cells.push_back( {11100411,131,4,11,1,2,0.525,0.967259 } ); +cells.push_back( {11100421,151,4,11,2,2,0.525,0.917696 } ); +cells.push_back( {11200411,132,4,12,1,2,0.575,0.967259 } ); +cells.push_back( {11200421,152,4,12,2,2,0.575,0.917696 } ); +cells.push_back( {11300411,133,4,13,1,2,0.625,0.967259 } ); +cells.push_back( {11300421,153,4,13,2,2,0.625,0.917696 } ); +cells.push_back( {11400411,134,4,14,1,2,0.675,0.967259 } ); +cells.push_back( {11400421,154,4,14,2,2,0.675,0.917696 } ); +cells.push_back( {11500411,135,4,15,1,2,0.725,0.967259 } ); +cells.push_back( {11500421,155,4,15,2,2,0.725,0.917696 } ); +cells.push_back( {11600411,136,4,16,1,2,0.775,0.967259 } ); +cells.push_back( {11600421,156,4,16,2,2,0.775,0.917696 } ); +cells.push_back( {11700411,137,4,17,1,2,0.825,0.967259 } ); +cells.push_back( {11700421,157,4,17,2,2,0.825,0.917696 } ); +cells.push_back( {11800411,138,4,18,1,2,0.875,0.967259 } ); +cells.push_back( {11800421,158,4,18,2,2,0.875,0.917696 } ); +cells.push_back( {11900411,139,4,19,1,2,0.925,0.967259 } ); +cells.push_back( {11900421,159,4,19,2,2,0.925,0.917696 } ); +cells.push_back( {12000411,140,4,20,1,2,0.967,0.967259 } ); +cells.push_back( {12000421,160,4,20,2,2,0.967,0.917696 } ); +cells.push_back( {10100412,121,4,1,1,1,0.02675,0.967259 } ); +cells.push_back( {10100422,141,4,1,2,1,0.02675,0.917696 } ); +cells.push_back( {10200412,122,4,2,1,1,0.075,0.967259 } ); +cells.push_back( {10200422,142,4,2,2,1,0.075,0.917696 } ); +cells.push_back( {10300412,123,4,3,1,1,0.125,0.967259 } ); +cells.push_back( {10300422,143,4,3,2,1,0.125,0.917696 } ); +cells.push_back( {10400412,124,4,4,1,1,0.175,0.967259 } ); +cells.push_back( {10400422,144,4,4,2,1,0.175,0.917696 } ); +cells.push_back( {10500412,125,4,5,1,1,0.225,0.967259 } ); +cells.push_back( {10500422,145,4,5,2,1,0.225,0.917696 } ); +cells.push_back( {10600412,126,4,6,1,1,0.275,0.967259 } ); +cells.push_back( {10600422,146,4,6,2,1,0.275,0.917696 } ); +cells.push_back( {10700412,127,4,7,1,1,0.325,0.967259 } ); +cells.push_back( {10700422,147,4,7,2,1,0.325,0.917696 } ); +cells.push_back( {10800412,128,4,8,1,1,0.375,0.967259 } ); +cells.push_back( {10800422,148,4,8,2,1,0.375,0.917696 } ); +cells.push_back( {10900412,129,4,9,1,1,0.425,0.967259 } ); +cells.push_back( {10900422,149,4,9,2,1,0.425,0.917696 } ); +cells.push_back( {11000412,130,4,10,1,1,0.475,0.967259 } ); +cells.push_back( {11000422,150,4,10,2,1,0.475,0.917696 } ); +cells.push_back( {11100412,131,4,11,1,1,0.525,0.967259 } ); +cells.push_back( {11100422,151,4,11,2,1,0.525,0.917696 } ); +cells.push_back( {11200412,132,4,12,1,1,0.575,0.967259 } ); +cells.push_back( {11200422,152,4,12,2,1,0.575,0.917696 } ); +cells.push_back( {11300412,133,4,13,1,1,0.625,0.967259 } ); +cells.push_back( {11300422,153,4,13,2,1,0.625,0.917696 } ); +cells.push_back( {11400412,134,4,14,1,1,0.675,0.967259 } ); +cells.push_back( {11400422,154,4,14,2,1,0.675,0.917696 } ); +cells.push_back( {11500412,135,4,15,1,1,0.725,0.967259 } ); +cells.push_back( {11500422,155,4,15,2,1,0.725,0.917696 } ); +cells.push_back( {11600412,136,4,16,1,1,0.775,0.967259 } ); +cells.push_back( {11600422,156,4,16,2,1,0.775,0.917696 } ); +cells.push_back( {11700412,137,4,17,1,1,0.825,0.967259 } ); +cells.push_back( {11700422,157,4,17,2,1,0.825,0.917696 } ); +cells.push_back( {11800412,138,4,18,1,1,0.875,0.967259 } ); +cells.push_back( {11800422,158,4,18,2,1,0.875,0.917696 } ); +cells.push_back( {11900412,139,4,19,1,1,0.925,0.967259 } ); +cells.push_back( {11900422,159,4,19,2,1,0.925,0.917696 } ); +cells.push_back( {12000412,140,4,20,1,1,0.967,0.967259 } ); +cells.push_back( {12000422,160,4,20,2,1,0.967,0.917696 } ); +cells.push_back( {10100511,161,5,1,1,2,0.02675,0.862539 } ); +cells.push_back( {10100521,181,5,1,2,2,0.02675,0.812977 } ); +cells.push_back( {10200511,162,5,2,1,2,0.075,0.862539 } ); +cells.push_back( {10200521,182,5,2,2,2,0.075,0.812977 } ); +cells.push_back( {10300511,163,5,3,1,2,0.125,0.862539 } ); +cells.push_back( {10300521,183,5,3,2,2,0.125,0.812977 } ); +cells.push_back( {10400511,164,5,4,1,2,0.175,0.862539 } ); +cells.push_back( {10400521,184,5,4,2,2,0.175,0.812977 } ); +cells.push_back( {10500511,165,5,5,1,2,0.225,0.862539 } ); +cells.push_back( {10500521,185,5,5,2,2,0.225,0.812977 } ); +cells.push_back( {10600511,166,5,6,1,2,0.275,0.862539 } ); +cells.push_back( {10600521,186,5,6,2,2,0.275,0.812977 } ); +cells.push_back( {10700511,167,5,7,1,2,0.325,0.862539 } ); +cells.push_back( {10700521,187,5,7,2,2,0.325,0.812977 } ); +cells.push_back( {10800511,168,5,8,1,2,0.375,0.862539 } ); +cells.push_back( {10800521,188,5,8,2,2,0.375,0.812977 } ); +cells.push_back( {10900511,169,5,9,1,2,0.425,0.862539 } ); +cells.push_back( {10900521,189,5,9,2,2,0.425,0.812977 } ); +cells.push_back( {11000511,170,5,10,1,2,0.475,0.862539 } ); +cells.push_back( {11000521,190,5,10,2,2,0.475,0.812977 } ); +cells.push_back( {11100511,171,5,11,1,2,0.525,0.862539 } ); +cells.push_back( {11100521,191,5,11,2,2,0.525,0.812977 } ); +cells.push_back( {11200511,172,5,12,1,2,0.575,0.862539 } ); +cells.push_back( {11200521,192,5,12,2,2,0.575,0.812977 } ); +cells.push_back( {11300511,173,5,13,1,2,0.625,0.862539 } ); +cells.push_back( {11300521,193,5,13,2,2,0.625,0.812977 } ); +cells.push_back( {11400511,174,5,14,1,2,0.675,0.862539 } ); +cells.push_back( {11400521,194,5,14,2,2,0.675,0.812977 } ); +cells.push_back( {11500511,175,5,15,1,2,0.725,0.862539 } ); +cells.push_back( {11500521,195,5,15,2,2,0.725,0.812977 } ); +cells.push_back( {11600511,176,5,16,1,2,0.775,0.862539 } ); +cells.push_back( {11600521,196,5,16,2,2,0.775,0.812977 } ); +cells.push_back( {11700511,177,5,17,1,2,0.825,0.862539 } ); +cells.push_back( {11700521,197,5,17,2,2,0.825,0.812977 } ); +cells.push_back( {11800511,178,5,18,1,2,0.875,0.862539 } ); +cells.push_back( {11800521,198,5,18,2,2,0.875,0.812977 } ); +cells.push_back( {11900511,179,5,19,1,2,0.925,0.862539 } ); +cells.push_back( {11900521,199,5,19,2,2,0.925,0.812977 } ); +cells.push_back( {12000511,180,5,20,1,2,0.967,0.862539 } ); +cells.push_back( {12000521,200,5,20,2,2,0.967,0.812977 } ); +cells.push_back( {10100512,161,5,1,1,1,0.02675,0.862539 } ); +cells.push_back( {10100522,181,5,1,2,1,0.02675,0.812977 } ); +cells.push_back( {10200512,162,5,2,1,1,0.075,0.862539 } ); +cells.push_back( {10200522,182,5,2,2,1,0.075,0.812977 } ); +cells.push_back( {10300512,163,5,3,1,1,0.125,0.862539 } ); +cells.push_back( {10300522,183,5,3,2,1,0.125,0.812977 } ); +cells.push_back( {10400512,164,5,4,1,1,0.175,0.862539 } ); +cells.push_back( {10400522,184,5,4,2,1,0.175,0.812977 } ); +cells.push_back( {10500512,165,5,5,1,1,0.225,0.862539 } ); +cells.push_back( {10500522,185,5,5,2,1,0.225,0.812977 } ); +cells.push_back( {10600512,166,5,6,1,1,0.275,0.862539 } ); +cells.push_back( {10600522,186,5,6,2,1,0.275,0.812977 } ); +cells.push_back( {10700512,167,5,7,1,1,0.325,0.862539 } ); +cells.push_back( {10700522,187,5,7,2,1,0.325,0.812977 } ); +cells.push_back( {10800512,168,5,8,1,1,0.375,0.862539 } ); +cells.push_back( {10800522,188,5,8,2,1,0.375,0.812977 } ); +cells.push_back( {10900512,169,5,9,1,1,0.425,0.862539 } ); +cells.push_back( {10900522,189,5,9,2,1,0.425,0.812977 } ); +cells.push_back( {11000512,170,5,10,1,1,0.475,0.862539 } ); +cells.push_back( {11000522,190,5,10,2,1,0.475,0.812977 } ); +cells.push_back( {11100512,171,5,11,1,1,0.525,0.862539 } ); +cells.push_back( {11100522,191,5,11,2,1,0.525,0.812977 } ); +cells.push_back( {11200512,172,5,12,1,1,0.575,0.862539 } ); +cells.push_back( {11200522,192,5,12,2,1,0.575,0.812977 } ); +cells.push_back( {11300512,173,5,13,1,1,0.625,0.862539 } ); +cells.push_back( {11300522,193,5,13,2,1,0.625,0.812977 } ); +cells.push_back( {11400512,174,5,14,1,1,0.675,0.862539 } ); +cells.push_back( {11400522,194,5,14,2,1,0.675,0.812977 } ); +cells.push_back( {11500512,175,5,15,1,1,0.725,0.862539 } ); +cells.push_back( {11500522,195,5,15,2,1,0.725,0.812977 } ); +cells.push_back( {11600512,176,5,16,1,1,0.775,0.862539 } ); +cells.push_back( {11600522,196,5,16,2,1,0.775,0.812977 } ); +cells.push_back( {11700512,177,5,17,1,1,0.825,0.862539 } ); +cells.push_back( {11700522,197,5,17,2,1,0.825,0.812977 } ); +cells.push_back( {11800512,178,5,18,1,1,0.875,0.862539 } ); +cells.push_back( {11800522,198,5,18,2,1,0.875,0.812977 } ); +cells.push_back( {11900512,179,5,19,1,1,0.925,0.862539 } ); +cells.push_back( {11900522,199,5,19,2,1,0.925,0.812977 } ); +cells.push_back( {12000512,180,5,20,1,1,0.967,0.862539 } ); +cells.push_back( {12000522,200,5,20,2,1,0.967,0.812977 } ); +cells.push_back( {10100611,201,6,1,1,2,0.02675,0.75782 } ); +cells.push_back( {10100621,221,6,1,2,2,0.02675,0.708257 } ); +cells.push_back( {10200611,202,6,2,1,2,0.075,0.75782 } ); +cells.push_back( {10200621,222,6,2,2,2,0.075,0.708257 } ); +cells.push_back( {10300611,203,6,3,1,2,0.125,0.75782 } ); +cells.push_back( {10300621,223,6,3,2,2,0.125,0.708257 } ); +cells.push_back( {10400611,204,6,4,1,2,0.175,0.75782 } ); +cells.push_back( {10400621,224,6,4,2,2,0.175,0.708257 } ); +cells.push_back( {10500611,205,6,5,1,2,0.225,0.75782 } ); +cells.push_back( {10500621,225,6,5,2,2,0.225,0.708257 } ); +cells.push_back( {10600611,206,6,6,1,2,0.275,0.75782 } ); +cells.push_back( {10600621,226,6,6,2,2,0.275,0.708257 } ); +cells.push_back( {10700611,207,6,7,1,2,0.325,0.75782 } ); +cells.push_back( {10700621,227,6,7,2,2,0.325,0.708257 } ); +cells.push_back( {10800611,208,6,8,1,2,0.375,0.75782 } ); +cells.push_back( {10800621,228,6,8,2,2,0.375,0.708257 } ); +cells.push_back( {10900611,209,6,9,1,2,0.425,0.75782 } ); +cells.push_back( {10900621,229,6,9,2,2,0.425,0.708257 } ); +cells.push_back( {11000611,210,6,10,1,2,0.475,0.75782 } ); +cells.push_back( {11000621,230,6,10,2,2,0.475,0.708257 } ); +cells.push_back( {11100611,211,6,11,1,2,0.525,0.75782 } ); +cells.push_back( {11100621,231,6,11,2,2,0.525,0.708257 } ); +cells.push_back( {11200611,212,6,12,1,2,0.575,0.75782 } ); +cells.push_back( {11200621,232,6,12,2,2,0.575,0.708257 } ); +cells.push_back( {11300611,213,6,13,1,2,0.625,0.75782 } ); +cells.push_back( {11300621,233,6,13,2,2,0.625,0.708257 } ); +cells.push_back( {11400611,214,6,14,1,2,0.675,0.75782 } ); +cells.push_back( {11400621,234,6,14,2,2,0.675,0.708257 } ); +cells.push_back( {11500611,215,6,15,1,2,0.725,0.75782 } ); +cells.push_back( {11500621,235,6,15,2,2,0.725,0.708257 } ); +cells.push_back( {11600611,216,6,16,1,2,0.775,0.75782 } ); +cells.push_back( {11600621,236,6,16,2,2,0.775,0.708257 } ); +cells.push_back( {11700611,217,6,17,1,2,0.825,0.75782 } ); +cells.push_back( {11700621,237,6,17,2,2,0.825,0.708257 } ); +cells.push_back( {11800611,218,6,18,1,2,0.875,0.75782 } ); +cells.push_back( {11800621,238,6,18,2,2,0.875,0.708257 } ); +cells.push_back( {11900611,219,6,19,1,2,0.925,0.75782 } ); +cells.push_back( {11900621,239,6,19,2,2,0.925,0.708257 } ); +cells.push_back( {12000611,220,6,20,1,2,0.967,0.75782 } ); +cells.push_back( {12000621,240,6,20,2,2,0.967,0.708257 } ); +cells.push_back( {10100612,201,6,1,1,1,0.02675,0.75782 } ); +cells.push_back( {10100622,221,6,1,2,1,0.02675,0.708257 } ); +cells.push_back( {10200612,202,6,2,1,1,0.075,0.75782 } ); +cells.push_back( {10200622,222,6,2,2,1,0.075,0.708257 } ); +cells.push_back( {10300612,203,6,3,1,1,0.125,0.75782 } ); +cells.push_back( {10300622,223,6,3,2,1,0.125,0.708257 } ); +cells.push_back( {10400612,204,6,4,1,1,0.175,0.75782 } ); +cells.push_back( {10400622,224,6,4,2,1,0.175,0.708257 } ); +cells.push_back( {10500612,205,6,5,1,1,0.225,0.75782 } ); +cells.push_back( {10500622,225,6,5,2,1,0.225,0.708257 } ); +cells.push_back( {10600612,206,6,6,1,1,0.275,0.75782 } ); +cells.push_back( {10600622,226,6,6,2,1,0.275,0.708257 } ); +cells.push_back( {10700612,207,6,7,1,1,0.325,0.75782 } ); +cells.push_back( {10700622,227,6,7,2,1,0.325,0.708257 } ); +cells.push_back( {10800612,208,6,8,1,1,0.375,0.75782 } ); +cells.push_back( {10800622,228,6,8,2,1,0.375,0.708257 } ); +cells.push_back( {10900612,209,6,9,1,1,0.425,0.75782 } ); +cells.push_back( {10900622,229,6,9,2,1,0.425,0.708257 } ); +cells.push_back( {11000612,210,6,10,1,1,0.475,0.75782 } ); +cells.push_back( {11000622,230,6,10,2,1,0.475,0.708257 } ); +cells.push_back( {11100612,211,6,11,1,1,0.525,0.75782 } ); +cells.push_back( {11100622,231,6,11,2,1,0.525,0.708257 } ); +cells.push_back( {11200612,212,6,12,1,1,0.575,0.75782 } ); +cells.push_back( {11200622,232,6,12,2,1,0.575,0.708257 } ); +cells.push_back( {11300612,213,6,13,1,1,0.625,0.75782 } ); +cells.push_back( {11300622,233,6,13,2,1,0.625,0.708257 } ); +cells.push_back( {11400612,214,6,14,1,1,0.675,0.75782 } ); +cells.push_back( {11400622,234,6,14,2,1,0.675,0.708257 } ); +cells.push_back( {11500612,215,6,15,1,1,0.725,0.75782 } ); +cells.push_back( {11500622,235,6,15,2,1,0.725,0.708257 } ); +cells.push_back( {11600612,216,6,16,1,1,0.775,0.75782 } ); +cells.push_back( {11600622,236,6,16,2,1,0.775,0.708257 } ); +cells.push_back( {11700612,217,6,17,1,1,0.825,0.75782 } ); +cells.push_back( {11700622,237,6,17,2,1,0.825,0.708257 } ); +cells.push_back( {11800612,218,6,18,1,1,0.875,0.75782 } ); +cells.push_back( {11800622,238,6,18,2,1,0.875,0.708257 } ); +cells.push_back( {11900612,219,6,19,1,1,0.925,0.75782 } ); +cells.push_back( {11900622,239,6,19,2,1,0.925,0.708257 } ); +cells.push_back( {12000612,220,6,20,1,1,0.967,0.75782 } ); +cells.push_back( {12000622,240,6,20,2,1,0.967,0.708257 } ); +cells.push_back( {10100711,241,7,1,1,2,0.02675,0.6531 } ); +cells.push_back( {10100721,261,7,1,2,2,0.02675,0.603537 } ); +cells.push_back( {10200711,242,7,2,1,2,0.075,0.6531 } ); +cells.push_back( {10200721,262,7,2,2,2,0.075,0.603537 } ); +cells.push_back( {10300711,243,7,3,1,2,0.125,0.6531 } ); +cells.push_back( {10300721,263,7,3,2,2,0.125,0.603537 } ); +cells.push_back( {10400711,244,7,4,1,2,0.175,0.6531 } ); +cells.push_back( {10400721,264,7,4,2,2,0.175,0.603537 } ); +cells.push_back( {10500711,245,7,5,1,2,0.225,0.6531 } ); +cells.push_back( {10500721,265,7,5,2,2,0.225,0.603537 } ); +cells.push_back( {10600711,246,7,6,1,2,0.275,0.6531 } ); +cells.push_back( {10600721,266,7,6,2,2,0.275,0.603537 } ); +cells.push_back( {10700711,247,7,7,1,2,0.325,0.6531 } ); +cells.push_back( {10700721,267,7,7,2,2,0.325,0.603537 } ); +cells.push_back( {10800711,248,7,8,1,2,0.375,0.6531 } ); +cells.push_back( {10800721,268,7,8,2,2,0.375,0.603537 } ); +cells.push_back( {10900711,249,7,9,1,2,0.425,0.6531 } ); +cells.push_back( {10900721,269,7,9,2,2,0.425,0.603537 } ); +cells.push_back( {11000711,250,7,10,1,2,0.475,0.6531 } ); +cells.push_back( {11000721,270,7,10,2,2,0.475,0.603537 } ); +cells.push_back( {11100711,251,7,11,1,2,0.525,0.6531 } ); +cells.push_back( {11100721,271,7,11,2,2,0.525,0.603537 } ); +cells.push_back( {11200711,252,7,12,1,2,0.575,0.6531 } ); +cells.push_back( {11200721,272,7,12,2,2,0.575,0.603537 } ); +cells.push_back( {11300711,253,7,13,1,2,0.625,0.6531 } ); +cells.push_back( {11300721,273,7,13,2,2,0.625,0.603537 } ); +cells.push_back( {11400711,254,7,14,1,2,0.675,0.6531 } ); +cells.push_back( {11400721,274,7,14,2,2,0.675,0.603537 } ); +cells.push_back( {11500711,255,7,15,1,2,0.725,0.6531 } ); +cells.push_back( {11500721,275,7,15,2,2,0.725,0.603537 } ); +cells.push_back( {11600711,256,7,16,1,2,0.775,0.6531 } ); +cells.push_back( {11600721,276,7,16,2,2,0.775,0.603537 } ); +cells.push_back( {11700711,257,7,17,1,2,0.825,0.6531 } ); +cells.push_back( {11700721,277,7,17,2,2,0.825,0.603537 } ); +cells.push_back( {11800711,258,7,18,1,2,0.875,0.6531 } ); +cells.push_back( {11800721,278,7,18,2,2,0.875,0.603537 } ); +cells.push_back( {11900711,259,7,19,1,2,0.925,0.6531 } ); +cells.push_back( {11900721,279,7,19,2,2,0.925,0.603537 } ); +cells.push_back( {12000711,260,7,20,1,2,0.967,0.6531 } ); +cells.push_back( {12000721,280,7,20,2,2,0.967,0.603537 } ); +cells.push_back( {10100712,241,7,1,1,1,0.02675,0.6531 } ); +cells.push_back( {10100722,261,7,1,2,1,0.02675,0.603537 } ); +cells.push_back( {10200712,242,7,2,1,1,0.075,0.6531 } ); +cells.push_back( {10200722,262,7,2,2,1,0.075,0.603537 } ); +cells.push_back( {10300712,243,7,3,1,1,0.125,0.6531 } ); +cells.push_back( {10300722,263,7,3,2,1,0.125,0.603537 } ); +cells.push_back( {10400712,244,7,4,1,1,0.175,0.6531 } ); +cells.push_back( {10400722,264,7,4,2,1,0.175,0.603537 } ); +cells.push_back( {10500712,245,7,5,1,1,0.225,0.6531 } ); +cells.push_back( {10500722,265,7,5,2,1,0.225,0.603537 } ); +cells.push_back( {10600712,246,7,6,1,1,0.275,0.6531 } ); +cells.push_back( {10600722,266,7,6,2,1,0.275,0.603537 } ); +cells.push_back( {10700712,247,7,7,1,1,0.325,0.6531 } ); +cells.push_back( {10700722,267,7,7,2,1,0.325,0.603537 } ); +cells.push_back( {10800712,248,7,8,1,1,0.375,0.6531 } ); +cells.push_back( {10800722,268,7,8,2,1,0.375,0.603537 } ); +cells.push_back( {10900712,249,7,9,1,1,0.425,0.6531 } ); +cells.push_back( {10900722,269,7,9,2,1,0.425,0.603537 } ); +cells.push_back( {11000712,250,7,10,1,1,0.475,0.6531 } ); +cells.push_back( {11000722,270,7,10,2,1,0.475,0.603537 } ); +cells.push_back( {11100712,251,7,11,1,1,0.525,0.6531 } ); +cells.push_back( {11100722,271,7,11,2,1,0.525,0.603537 } ); +cells.push_back( {11200712,252,7,12,1,1,0.575,0.6531 } ); +cells.push_back( {11200722,272,7,12,2,1,0.575,0.603537 } ); +cells.push_back( {11300712,253,7,13,1,1,0.625,0.6531 } ); +cells.push_back( {11300722,273,7,13,2,1,0.625,0.603537 } ); +cells.push_back( {11400712,254,7,14,1,1,0.675,0.6531 } ); +cells.push_back( {11400722,274,7,14,2,1,0.675,0.603537 } ); +cells.push_back( {11500712,255,7,15,1,1,0.725,0.6531 } ); +cells.push_back( {11500722,275,7,15,2,1,0.725,0.603537 } ); +cells.push_back( {11600712,256,7,16,1,1,0.775,0.6531 } ); +cells.push_back( {11600722,276,7,16,2,1,0.775,0.603537 } ); +cells.push_back( {11700712,257,7,17,1,1,0.825,0.6531 } ); +cells.push_back( {11700722,277,7,17,2,1,0.825,0.603537 } ); +cells.push_back( {11800712,258,7,18,1,1,0.875,0.6531 } ); +cells.push_back( {11800722,278,7,18,2,1,0.875,0.603537 } ); +cells.push_back( {11900712,259,7,19,1,1,0.925,0.6531 } ); +cells.push_back( {11900722,279,7,19,2,1,0.925,0.603537 } ); +cells.push_back( {12000712,260,7,20,1,1,0.967,0.6531 } ); +cells.push_back( {12000722,280,7,20,2,1,0.967,0.603537 } ); +cells.push_back( {10100811,281,8,1,1,2,0.02675,0.54838 } ); +cells.push_back( {10100821,301,8,1,2,2,0.02675,0.498817 } ); +cells.push_back( {10200811,282,8,2,1,2,0.075,0.54838 } ); +cells.push_back( {10200821,302,8,2,2,2,0.075,0.498817 } ); +cells.push_back( {10300811,283,8,3,1,2,0.125,0.54838 } ); +cells.push_back( {10300821,303,8,3,2,2,0.125,0.498817 } ); +cells.push_back( {10400811,284,8,4,1,2,0.175,0.54838 } ); +cells.push_back( {10400821,304,8,4,2,2,0.175,0.498817 } ); +cells.push_back( {10500811,285,8,5,1,2,0.225,0.54838 } ); +cells.push_back( {10500821,305,8,5,2,2,0.225,0.498817 } ); +cells.push_back( {10600811,286,8,6,1,2,0.275,0.54838 } ); +cells.push_back( {10600821,306,8,6,2,2,0.275,0.498817 } ); +cells.push_back( {10700811,287,8,7,1,2,0.325,0.54838 } ); +cells.push_back( {10700821,307,8,7,2,2,0.325,0.498817 } ); +cells.push_back( {10800811,288,8,8,1,2,0.375,0.54838 } ); +cells.push_back( {10800821,308,8,8,2,2,0.375,0.498817 } ); +cells.push_back( {10900811,289,8,9,1,2,0.425,0.54838 } ); +cells.push_back( {10900821,309,8,9,2,2,0.425,0.498817 } ); +cells.push_back( {11000811,290,8,10,1,2,0.475,0.54838 } ); +cells.push_back( {11000821,310,8,10,2,2,0.475,0.498817 } ); +cells.push_back( {11100811,291,8,11,1,2,0.525,0.54838 } ); +cells.push_back( {11100821,311,8,11,2,2,0.525,0.498817 } ); +cells.push_back( {11200811,292,8,12,1,2,0.575,0.54838 } ); +cells.push_back( {11200821,312,8,12,2,2,0.575,0.498817 } ); +cells.push_back( {11300811,293,8,13,1,2,0.625,0.54838 } ); +cells.push_back( {11300821,313,8,13,2,2,0.625,0.498817 } ); +cells.push_back( {11400811,294,8,14,1,2,0.675,0.54838 } ); +cells.push_back( {11400821,314,8,14,2,2,0.675,0.498817 } ); +cells.push_back( {11500811,295,8,15,1,2,0.725,0.54838 } ); +cells.push_back( {11500821,315,8,15,2,2,0.725,0.498817 } ); +cells.push_back( {11600811,296,8,16,1,2,0.775,0.54838 } ); +cells.push_back( {11600821,316,8,16,2,2,0.775,0.498817 } ); +cells.push_back( {11700811,297,8,17,1,2,0.825,0.54838 } ); +cells.push_back( {11700821,317,8,17,2,2,0.825,0.498817 } ); +cells.push_back( {11800811,298,8,18,1,2,0.875,0.54838 } ); +cells.push_back( {11800821,318,8,18,2,2,0.875,0.498817 } ); +cells.push_back( {11900811,299,8,19,1,2,0.925,0.54838 } ); +cells.push_back( {11900821,319,8,19,2,2,0.925,0.498817 } ); +cells.push_back( {12000811,300,8,20,1,2,0.967,0.54838 } ); +cells.push_back( {12000821,320,8,20,2,2,0.967,0.498817 } ); +cells.push_back( {10100812,281,8,1,1,1,0.02675,0.54838 } ); +cells.push_back( {10100822,301,8,1,2,1,0.02675,0.498817 } ); +cells.push_back( {10200812,282,8,2,1,1,0.075,0.54838 } ); +cells.push_back( {10200822,302,8,2,2,1,0.075,0.498817 } ); +cells.push_back( {10300812,283,8,3,1,1,0.125,0.54838 } ); +cells.push_back( {10300822,303,8,3,2,1,0.125,0.498817 } ); +cells.push_back( {10400812,284,8,4,1,1,0.175,0.54838 } ); +cells.push_back( {10400822,304,8,4,2,1,0.175,0.498817 } ); +cells.push_back( {10500812,285,8,5,1,1,0.225,0.54838 } ); +cells.push_back( {10500822,305,8,5,2,1,0.225,0.498817 } ); +cells.push_back( {10600812,286,8,6,1,1,0.275,0.54838 } ); +cells.push_back( {10600822,306,8,6,2,1,0.275,0.498817 } ); +cells.push_back( {10700812,287,8,7,1,1,0.325,0.54838 } ); +cells.push_back( {10700822,307,8,7,2,1,0.325,0.498817 } ); +cells.push_back( {10800812,288,8,8,1,1,0.375,0.54838 } ); +cells.push_back( {10800822,308,8,8,2,1,0.375,0.498817 } ); +cells.push_back( {10900812,289,8,9,1,1,0.425,0.54838 } ); +cells.push_back( {10900822,309,8,9,2,1,0.425,0.498817 } ); +cells.push_back( {11000812,290,8,10,1,1,0.475,0.54838 } ); +cells.push_back( {11000822,310,8,10,2,1,0.475,0.498817 } ); +cells.push_back( {11100812,291,8,11,1,1,0.525,0.54838 } ); +cells.push_back( {11100822,311,8,11,2,1,0.525,0.498817 } ); +cells.push_back( {11200812,292,8,12,1,1,0.575,0.54838 } ); +cells.push_back( {11200822,312,8,12,2,1,0.575,0.498817 } ); +cells.push_back( {11300812,293,8,13,1,1,0.625,0.54838 } ); +cells.push_back( {11300822,313,8,13,2,1,0.625,0.498817 } ); +cells.push_back( {11400812,294,8,14,1,1,0.675,0.54838 } ); +cells.push_back( {11400822,314,8,14,2,1,0.675,0.498817 } ); +cells.push_back( {11500812,295,8,15,1,1,0.725,0.54838 } ); +cells.push_back( {11500822,315,8,15,2,1,0.725,0.498817 } ); +cells.push_back( {11600812,296,8,16,1,1,0.775,0.54838 } ); +cells.push_back( {11600822,316,8,16,2,1,0.775,0.498817 } ); +cells.push_back( {11700812,297,8,17,1,1,0.825,0.54838 } ); +cells.push_back( {11700822,317,8,17,2,1,0.825,0.498817 } ); +cells.push_back( {11800812,298,8,18,1,1,0.875,0.54838 } ); +cells.push_back( {11800822,318,8,18,2,1,0.875,0.498817 } ); +cells.push_back( {11900812,299,8,19,1,1,0.925,0.54838 } ); +cells.push_back( {11900822,319,8,19,2,1,0.925,0.498817 } ); +cells.push_back( {12000812,300,8,20,1,1,0.967,0.54838 } ); +cells.push_back( {12000822,320,8,20,2,1,0.967,0.498817 } ); +cells.push_back( {10100911,321,9,1,1,2,0.02675,0.44366 } ); +cells.push_back( {10100921,341,9,1,2,2,0.02675,0.394098 } ); +cells.push_back( {10200911,322,9,2,1,2,0.075,0.44366 } ); +cells.push_back( {10200921,342,9,2,2,2,0.075,0.394098 } ); +cells.push_back( {10300911,323,9,3,1,2,0.125,0.44366 } ); +cells.push_back( {10300921,343,9,3,2,2,0.125,0.394098 } ); +cells.push_back( {10400911,324,9,4,1,2,0.175,0.44366 } ); +cells.push_back( {10400921,344,9,4,2,2,0.175,0.394098 } ); +cells.push_back( {10500911,325,9,5,1,2,0.225,0.44366 } ); +cells.push_back( {10500921,345,9,5,2,2,0.225,0.394098 } ); +cells.push_back( {10600911,326,9,6,1,2,0.275,0.44366 } ); +cells.push_back( {10600921,346,9,6,2,2,0.275,0.394098 } ); +cells.push_back( {10700911,327,9,7,1,2,0.325,0.44366 } ); +cells.push_back( {10700921,347,9,7,2,2,0.325,0.394098 } ); +cells.push_back( {10800911,328,9,8,1,2,0.375,0.44366 } ); +cells.push_back( {10800921,348,9,8,2,2,0.375,0.394098 } ); +cells.push_back( {10900911,329,9,9,1,2,0.425,0.44366 } ); +cells.push_back( {10900921,349,9,9,2,2,0.425,0.394098 } ); +cells.push_back( {11000911,330,9,10,1,2,0.475,0.44366 } ); +cells.push_back( {11000921,350,9,10,2,2,0.475,0.394098 } ); +cells.push_back( {11100911,331,9,11,1,2,0.525,0.44366 } ); +cells.push_back( {11100921,351,9,11,2,2,0.525,0.394098 } ); +cells.push_back( {11200911,332,9,12,1,2,0.575,0.44366 } ); +cells.push_back( {11200921,352,9,12,2,2,0.575,0.394098 } ); +cells.push_back( {11300911,333,9,13,1,2,0.625,0.44366 } ); +cells.push_back( {11300921,353,9,13,2,2,0.625,0.394098 } ); +cells.push_back( {11400911,334,9,14,1,2,0.675,0.44366 } ); +cells.push_back( {11400921,354,9,14,2,2,0.675,0.394098 } ); +cells.push_back( {11500911,335,9,15,1,2,0.725,0.44366 } ); +cells.push_back( {11500921,355,9,15,2,2,0.725,0.394098 } ); +cells.push_back( {11600911,336,9,16,1,2,0.775,0.44366 } ); +cells.push_back( {11600921,356,9,16,2,2,0.775,0.394098 } ); +cells.push_back( {11700911,337,9,17,1,2,0.825,0.44366 } ); +cells.push_back( {11700921,357,9,17,2,2,0.825,0.394098 } ); +cells.push_back( {11800911,338,9,18,1,2,0.875,0.44366 } ); +cells.push_back( {11800921,358,9,18,2,2,0.875,0.394098 } ); +cells.push_back( {11900911,339,9,19,1,2,0.925,0.44366 } ); +cells.push_back( {11900921,359,9,19,2,2,0.925,0.394098 } ); +cells.push_back( {12000911,340,9,20,1,2,0.967,0.44366 } ); +cells.push_back( {12000921,360,9,20,2,2,0.967,0.394098 } ); +cells.push_back( {10100912,321,9,1,1,1,0.02675,0.44366 } ); +cells.push_back( {10100922,341,9,1,2,1,0.02675,0.394098 } ); +cells.push_back( {10200912,322,9,2,1,1,0.075,0.44366 } ); +cells.push_back( {10200922,342,9,2,2,1,0.075,0.394098 } ); +cells.push_back( {10300912,323,9,3,1,1,0.125,0.44366 } ); +cells.push_back( {10300922,343,9,3,2,1,0.125,0.394098 } ); +cells.push_back( {10400912,324,9,4,1,1,0.175,0.44366 } ); +cells.push_back( {10400922,344,9,4,2,1,0.175,0.394098 } ); +cells.push_back( {10500912,325,9,5,1,1,0.225,0.44366 } ); +cells.push_back( {10500922,345,9,5,2,1,0.225,0.394098 } ); +cells.push_back( {10600912,326,9,6,1,1,0.275,0.44366 } ); +cells.push_back( {10600922,346,9,6,2,1,0.275,0.394098 } ); +cells.push_back( {10700912,327,9,7,1,1,0.325,0.44366 } ); +cells.push_back( {10700922,347,9,7,2,1,0.325,0.394098 } ); +cells.push_back( {10800912,328,9,8,1,1,0.375,0.44366 } ); +cells.push_back( {10800922,348,9,8,2,1,0.375,0.394098 } ); +cells.push_back( {10900912,329,9,9,1,1,0.425,0.44366 } ); +cells.push_back( {10900922,349,9,9,2,1,0.425,0.394098 } ); +cells.push_back( {11000912,330,9,10,1,1,0.475,0.44366 } ); +cells.push_back( {11000922,350,9,10,2,1,0.475,0.394098 } ); +cells.push_back( {11100912,331,9,11,1,1,0.525,0.44366 } ); +cells.push_back( {11100922,351,9,11,2,1,0.525,0.394098 } ); +cells.push_back( {11200912,332,9,12,1,1,0.575,0.44366 } ); +cells.push_back( {11200922,352,9,12,2,1,0.575,0.394098 } ); +cells.push_back( {11300912,333,9,13,1,1,0.625,0.44366 } ); +cells.push_back( {11300922,353,9,13,2,1,0.625,0.394098 } ); +cells.push_back( {11400912,334,9,14,1,1,0.675,0.44366 } ); +cells.push_back( {11400922,354,9,14,2,1,0.675,0.394098 } ); +cells.push_back( {11500912,335,9,15,1,1,0.725,0.44366 } ); +cells.push_back( {11500922,355,9,15,2,1,0.725,0.394098 } ); +cells.push_back( {11600912,336,9,16,1,1,0.775,0.44366 } ); +cells.push_back( {11600922,356,9,16,2,1,0.775,0.394098 } ); +cells.push_back( {11700912,337,9,17,1,1,0.825,0.44366 } ); +cells.push_back( {11700922,357,9,17,2,1,0.825,0.394098 } ); +cells.push_back( {11800912,338,9,18,1,1,0.875,0.44366 } ); +cells.push_back( {11800922,358,9,18,2,1,0.875,0.394098 } ); +cells.push_back( {11900912,339,9,19,1,1,0.925,0.44366 } ); +cells.push_back( {11900922,359,9,19,2,1,0.925,0.394098 } ); +cells.push_back( {12000912,340,9,20,1,1,0.967,0.44366 } ); +cells.push_back( {12000922,360,9,20,2,1,0.967,0.394098 } ); +cells.push_back( {10101011,361,10,1,1,2,0.02675,0.338941 } ); +cells.push_back( {10101021,381,10,1,2,2,0.02675,0.289378 } ); +cells.push_back( {10201011,362,10,2,1,2,0.075,0.338941 } ); +cells.push_back( {10201021,382,10,2,2,2,0.075,0.289378 } ); +cells.push_back( {10301011,363,10,3,1,2,0.125,0.338941 } ); +cells.push_back( {10301021,383,10,3,2,2,0.125,0.289378 } ); +cells.push_back( {10401011,364,10,4,1,2,0.175,0.338941 } ); +cells.push_back( {10401021,384,10,4,2,2,0.175,0.289378 } ); +cells.push_back( {10501011,365,10,5,1,2,0.225,0.338941 } ); +cells.push_back( {10501021,385,10,5,2,2,0.225,0.289378 } ); +cells.push_back( {10601011,366,10,6,1,2,0.275,0.338941 } ); +cells.push_back( {10601021,386,10,6,2,2,0.275,0.289378 } ); +cells.push_back( {10701011,367,10,7,1,2,0.325,0.338941 } ); +cells.push_back( {10701021,387,10,7,2,2,0.325,0.289378 } ); +cells.push_back( {10801011,368,10,8,1,2,0.375,0.338941 } ); +cells.push_back( {10801021,388,10,8,2,2,0.375,0.289378 } ); +cells.push_back( {10901011,369,10,9,1,2,0.425,0.338941 } ); +cells.push_back( {10901021,389,10,9,2,2,0.425,0.289378 } ); +cells.push_back( {11001011,370,10,10,1,2,0.475,0.338941 } ); +cells.push_back( {11001021,390,10,10,2,2,0.475,0.289378 } ); +cells.push_back( {11101011,371,10,11,1,2,0.525,0.338941 } ); +cells.push_back( {11101021,391,10,11,2,2,0.525,0.289378 } ); +cells.push_back( {11201011,372,10,12,1,2,0.575,0.338941 } ); +cells.push_back( {11201021,392,10,12,2,2,0.575,0.289378 } ); +cells.push_back( {11301011,373,10,13,1,2,0.625,0.338941 } ); +cells.push_back( {11301021,393,10,13,2,2,0.625,0.289378 } ); +cells.push_back( {11401011,374,10,14,1,2,0.675,0.338941 } ); +cells.push_back( {11401021,394,10,14,2,2,0.675,0.289378 } ); +cells.push_back( {11501011,375,10,15,1,2,0.725,0.338941 } ); +cells.push_back( {11501021,395,10,15,2,2,0.725,0.289378 } ); +cells.push_back( {11601011,376,10,16,1,2,0.775,0.338941 } ); +cells.push_back( {11601021,396,10,16,2,2,0.775,0.289378 } ); +cells.push_back( {11701011,377,10,17,1,2,0.825,0.338941 } ); +cells.push_back( {11701021,397,10,17,2,2,0.825,0.289378 } ); +cells.push_back( {11801011,378,10,18,1,2,0.875,0.338941 } ); +cells.push_back( {11801021,398,10,18,2,2,0.875,0.289378 } ); +cells.push_back( {11901011,379,10,19,1,2,0.925,0.338941 } ); +cells.push_back( {11901021,399,10,19,2,2,0.925,0.289378 } ); +cells.push_back( {12001011,380,10,20,1,2,0.967,0.338941 } ); +cells.push_back( {12001021,400,10,20,2,2,0.967,0.289378 } ); +cells.push_back( {10101012,361,10,1,1,1,0.02675,0.338941 } ); +cells.push_back( {10101022,381,10,1,2,1,0.02675,0.289378 } ); +cells.push_back( {10201012,362,10,2,1,1,0.075,0.338941 } ); +cells.push_back( {10201022,382,10,2,2,1,0.075,0.289378 } ); +cells.push_back( {10301012,363,10,3,1,1,0.125,0.338941 } ); +cells.push_back( {10301022,383,10,3,2,1,0.125,0.289378 } ); +cells.push_back( {10401012,364,10,4,1,1,0.175,0.338941 } ); +cells.push_back( {10401022,384,10,4,2,1,0.175,0.289378 } ); +cells.push_back( {10501012,365,10,5,1,1,0.225,0.338941 } ); +cells.push_back( {10501022,385,10,5,2,1,0.225,0.289378 } ); +cells.push_back( {10601012,366,10,6,1,1,0.275,0.338941 } ); +cells.push_back( {10601022,386,10,6,2,1,0.275,0.289378 } ); +cells.push_back( {10701012,367,10,7,1,1,0.325,0.338941 } ); +cells.push_back( {10701022,387,10,7,2,1,0.325,0.289378 } ); +cells.push_back( {10801012,368,10,8,1,1,0.375,0.338941 } ); +cells.push_back( {10801022,388,10,8,2,1,0.375,0.289378 } ); +cells.push_back( {10901012,369,10,9,1,1,0.425,0.338941 } ); +cells.push_back( {10901022,389,10,9,2,1,0.425,0.289378 } ); +cells.push_back( {11001012,370,10,10,1,1,0.475,0.338941 } ); +cells.push_back( {11001022,390,10,10,2,1,0.475,0.289378 } ); +cells.push_back( {11101012,371,10,11,1,1,0.525,0.338941 } ); +cells.push_back( {11101022,391,10,11,2,1,0.525,0.289378 } ); +cells.push_back( {11201012,372,10,12,1,1,0.575,0.338941 } ); +cells.push_back( {11201022,392,10,12,2,1,0.575,0.289378 } ); +cells.push_back( {11301012,373,10,13,1,1,0.625,0.338941 } ); +cells.push_back( {11301022,393,10,13,2,1,0.625,0.289378 } ); +cells.push_back( {11401012,374,10,14,1,1,0.675,0.338941 } ); +cells.push_back( {11401022,394,10,14,2,1,0.675,0.289378 } ); +cells.push_back( {11501012,375,10,15,1,1,0.725,0.338941 } ); +cells.push_back( {11501022,395,10,15,2,1,0.725,0.289378 } ); +cells.push_back( {11601012,376,10,16,1,1,0.775,0.338941 } ); +cells.push_back( {11601022,396,10,16,2,1,0.775,0.289378 } ); +cells.push_back( {11701012,377,10,17,1,1,0.825,0.338941 } ); +cells.push_back( {11701022,397,10,17,2,1,0.825,0.289378 } ); +cells.push_back( {11801012,378,10,18,1,1,0.875,0.338941 } ); +cells.push_back( {11801022,398,10,18,2,1,0.875,0.289378 } ); +cells.push_back( {11901012,379,10,19,1,1,0.925,0.338941 } ); +cells.push_back( {11901022,399,10,19,2,1,0.925,0.289378 } ); +cells.push_back( {12001012,380,10,20,1,1,0.967,0.338941 } ); +cells.push_back( {12001022,400,10,20,2,1,0.967,0.289378 } ); +cells.push_back( {10101111,401,11,1,1,2,0.02675,0.234221 } ); +cells.push_back( {10101121,421,11,1,2,2,0.02675,0.184658 } ); +cells.push_back( {10201111,402,11,2,1,2,0.075,0.234221 } ); +cells.push_back( {10201121,422,11,2,2,2,0.075,0.184658 } ); +cells.push_back( {10301111,403,11,3,1,2,0.125,0.234221 } ); +cells.push_back( {10301121,423,11,3,2,2,0.125,0.184658 } ); +cells.push_back( {10401111,404,11,4,1,2,0.175,0.234221 } ); +cells.push_back( {10401121,424,11,4,2,2,0.175,0.184658 } ); +cells.push_back( {10501111,405,11,5,1,2,0.225,0.234221 } ); +cells.push_back( {10501121,425,11,5,2,2,0.225,0.184658 } ); +cells.push_back( {10601111,406,11,6,1,2,0.275,0.234221 } ); +cells.push_back( {10601121,426,11,6,2,2,0.275,0.184658 } ); +cells.push_back( {10701111,407,11,7,1,2,0.325,0.234221 } ); +cells.push_back( {10701121,427,11,7,2,2,0.325,0.184658 } ); +cells.push_back( {10801111,408,11,8,1,2,0.375,0.234221 } ); +cells.push_back( {10801121,428,11,8,2,2,0.375,0.184658 } ); +cells.push_back( {10901111,409,11,9,1,2,0.425,0.234221 } ); +cells.push_back( {10901121,429,11,9,2,2,0.425,0.184658 } ); +cells.push_back( {11001111,410,11,10,1,2,0.475,0.234221 } ); +cells.push_back( {11001121,430,11,10,2,2,0.475,0.184658 } ); +cells.push_back( {11101111,411,11,11,1,2,0.525,0.234221 } ); +cells.push_back( {11101121,431,11,11,2,2,0.525,0.184658 } ); +cells.push_back( {11201111,412,11,12,1,2,0.575,0.234221 } ); +cells.push_back( {11201121,432,11,12,2,2,0.575,0.184658 } ); +cells.push_back( {11301111,413,11,13,1,2,0.625,0.234221 } ); +cells.push_back( {11301121,433,11,13,2,2,0.625,0.184658 } ); +cells.push_back( {11401111,414,11,14,1,2,0.675,0.234221 } ); +cells.push_back( {11401121,434,11,14,2,2,0.675,0.184658 } ); +cells.push_back( {11501111,415,11,15,1,2,0.725,0.234221 } ); +cells.push_back( {11501121,435,11,15,2,2,0.725,0.184658 } ); +cells.push_back( {11601111,416,11,16,1,2,0.775,0.234221 } ); +cells.push_back( {11601121,436,11,16,2,2,0.775,0.184658 } ); +cells.push_back( {11701111,417,11,17,1,2,0.825,0.234221 } ); +cells.push_back( {11701121,437,11,17,2,2,0.825,0.184658 } ); +cells.push_back( {11801111,418,11,18,1,2,0.875,0.234221 } ); +cells.push_back( {11801121,438,11,18,2,2,0.875,0.184658 } ); +cells.push_back( {11901111,419,11,19,1,2,0.925,0.234221 } ); +cells.push_back( {11901121,439,11,19,2,2,0.925,0.184658 } ); +cells.push_back( {12001111,420,11,20,1,2,0.967,0.234221 } ); +cells.push_back( {12001121,440,11,20,2,2,0.967,0.184658 } ); +cells.push_back( {10101112,401,11,1,1,1,0.02675,0.234221 } ); +cells.push_back( {10101122,421,11,1,2,1,0.02675,0.184658 } ); +cells.push_back( {10201112,402,11,2,1,1,0.075,0.234221 } ); +cells.push_back( {10201122,422,11,2,2,1,0.075,0.184658 } ); +cells.push_back( {10301112,403,11,3,1,1,0.125,0.234221 } ); +cells.push_back( {10301122,423,11,3,2,1,0.125,0.184658 } ); +cells.push_back( {10401112,404,11,4,1,1,0.175,0.234221 } ); +cells.push_back( {10401122,424,11,4,2,1,0.175,0.184658 } ); +cells.push_back( {10501112,405,11,5,1,1,0.225,0.234221 } ); +cells.push_back( {10501122,425,11,5,2,1,0.225,0.184658 } ); +cells.push_back( {10601112,406,11,6,1,1,0.275,0.234221 } ); +cells.push_back( {10601122,426,11,6,2,1,0.275,0.184658 } ); +cells.push_back( {10701112,407,11,7,1,1,0.325,0.234221 } ); +cells.push_back( {10701122,427,11,7,2,1,0.325,0.184658 } ); +cells.push_back( {10801112,408,11,8,1,1,0.375,0.234221 } ); +cells.push_back( {10801122,428,11,8,2,1,0.375,0.184658 } ); +cells.push_back( {10901112,409,11,9,1,1,0.425,0.234221 } ); +cells.push_back( {10901122,429,11,9,2,1,0.425,0.184658 } ); +cells.push_back( {11001112,410,11,10,1,1,0.475,0.234221 } ); +cells.push_back( {11001122,430,11,10,2,1,0.475,0.184658 } ); +cells.push_back( {11101112,411,11,11,1,1,0.525,0.234221 } ); +cells.push_back( {11101122,431,11,11,2,1,0.525,0.184658 } ); +cells.push_back( {11201112,412,11,12,1,1,0.575,0.234221 } ); +cells.push_back( {11201122,432,11,12,2,1,0.575,0.184658 } ); +cells.push_back( {11301112,413,11,13,1,1,0.625,0.234221 } ); +cells.push_back( {11301122,433,11,13,2,1,0.625,0.184658 } ); +cells.push_back( {11401112,414,11,14,1,1,0.675,0.234221 } ); +cells.push_back( {11401122,434,11,14,2,1,0.675,0.184658 } ); +cells.push_back( {11501112,415,11,15,1,1,0.725,0.234221 } ); +cells.push_back( {11501122,435,11,15,2,1,0.725,0.184658 } ); +cells.push_back( {11601112,416,11,16,1,1,0.775,0.234221 } ); +cells.push_back( {11601122,436,11,16,2,1,0.775,0.184658 } ); +cells.push_back( {11701112,417,11,17,1,1,0.825,0.234221 } ); +cells.push_back( {11701122,437,11,17,2,1,0.825,0.184658 } ); +cells.push_back( {11801112,418,11,18,1,1,0.875,0.234221 } ); +cells.push_back( {11801122,438,11,18,2,1,0.875,0.184658 } ); +cells.push_back( {11901112,419,11,19,1,1,0.925,0.234221 } ); +cells.push_back( {11901122,439,11,19,2,1,0.925,0.184658 } ); +cells.push_back( {12001112,420,11,20,1,1,0.967,0.234221 } ); +cells.push_back( {12001122,440,11,20,2,1,0.967,0.184658 } ); +cells.push_back( {10101211,441,12,1,1,2,0.02675,0.129501 } ); +cells.push_back( {10101221,461,12,1,2,2,0.02675,0.0799383 } ); +cells.push_back( {10201211,442,12,2,1,2,0.075,0.129501 } ); +cells.push_back( {10201221,462,12,2,2,2,0.075,0.0799383 } ); +cells.push_back( {10301211,443,12,3,1,2,0.125,0.129501 } ); +cells.push_back( {10301221,463,12,3,2,2,0.125,0.0799383 } ); +cells.push_back( {10401211,444,12,4,1,2,0.175,0.129501 } ); +cells.push_back( {10401221,464,12,4,2,2,0.175,0.0799383 } ); +cells.push_back( {10501211,445,12,5,1,2,0.225,0.129501 } ); +cells.push_back( {10501221,465,12,5,2,2,0.225,0.0799383 } ); +cells.push_back( {10601211,446,12,6,1,2,0.275,0.129501 } ); +cells.push_back( {10601221,466,12,6,2,2,0.275,0.0799383 } ); +cells.push_back( {10701211,447,12,7,1,2,0.325,0.129501 } ); +cells.push_back( {10701221,467,12,7,2,2,0.325,0.0799383 } ); +cells.push_back( {10801211,448,12,8,1,2,0.375,0.129501 } ); +cells.push_back( {10801221,468,12,8,2,2,0.375,0.0799383 } ); +cells.push_back( {10901211,449,12,9,1,2,0.425,0.129501 } ); +cells.push_back( {10901221,469,12,9,2,2,0.425,0.0799383 } ); +cells.push_back( {11001211,450,12,10,1,2,0.475,0.129501 } ); +cells.push_back( {11001221,470,12,10,2,2,0.475,0.0799383 } ); +cells.push_back( {11101211,451,12,11,1,2,0.525,0.129501 } ); +cells.push_back( {11101221,471,12,11,2,2,0.525,0.0799383 } ); +cells.push_back( {11201211,452,12,12,1,2,0.575,0.129501 } ); +cells.push_back( {11201221,472,12,12,2,2,0.575,0.0799383 } ); +cells.push_back( {11301211,453,12,13,1,2,0.625,0.129501 } ); +cells.push_back( {11301221,473,12,13,2,2,0.625,0.0799383 } ); +cells.push_back( {11401211,454,12,14,1,2,0.675,0.129501 } ); +cells.push_back( {11401221,474,12,14,2,2,0.675,0.0799383 } ); +cells.push_back( {11501211,455,12,15,1,2,0.725,0.129501 } ); +cells.push_back( {11501221,475,12,15,2,2,0.725,0.0799383 } ); +cells.push_back( {11601211,456,12,16,1,2,0.775,0.129501 } ); +cells.push_back( {11601221,476,12,16,2,2,0.775,0.0799383 } ); +cells.push_back( {11701211,457,12,17,1,2,0.825,0.129501 } ); +cells.push_back( {11701221,477,12,17,2,2,0.825,0.0799383 } ); +cells.push_back( {11801211,458,12,18,1,2,0.875,0.129501 } ); +cells.push_back( {11801221,478,12,18,2,2,0.875,0.0799383 } ); +cells.push_back( {11901211,459,12,19,1,2,0.925,0.129501 } ); +cells.push_back( {11901221,479,12,19,2,2,0.925,0.0799383 } ); +cells.push_back( {12001211,460,12,20,1,2,0.967,0.129501 } ); +cells.push_back( {12001221,480,12,20,2,2,0.967,0.0799383 } ); +cells.push_back( {10101212,441,12,1,1,1,0.02675,0.129501 } ); +cells.push_back( {10101222,461,12,1,2,1,0.02675,0.0799383 } ); +cells.push_back( {10201212,442,12,2,1,1,0.075,0.129501 } ); +cells.push_back( {10201222,462,12,2,2,1,0.075,0.0799383 } ); +cells.push_back( {10301212,443,12,3,1,1,0.125,0.129501 } ); +cells.push_back( {10301222,463,12,3,2,1,0.125,0.0799383 } ); +cells.push_back( {10401212,444,12,4,1,1,0.175,0.129501 } ); +cells.push_back( {10401222,464,12,4,2,1,0.175,0.0799383 } ); +cells.push_back( {10501212,445,12,5,1,1,0.225,0.129501 } ); +cells.push_back( {10501222,465,12,5,2,1,0.225,0.0799383 } ); +cells.push_back( {10601212,446,12,6,1,1,0.275,0.129501 } ); +cells.push_back( {10601222,466,12,6,2,1,0.275,0.0799383 } ); +cells.push_back( {10701212,447,12,7,1,1,0.325,0.129501 } ); +cells.push_back( {10701222,467,12,7,2,1,0.325,0.0799383 } ); +cells.push_back( {10801212,448,12,8,1,1,0.375,0.129501 } ); +cells.push_back( {10801222,468,12,8,2,1,0.375,0.0799383 } ); +cells.push_back( {10901212,449,12,9,1,1,0.425,0.129501 } ); +cells.push_back( {10901222,469,12,9,2,1,0.425,0.0799383 } ); +cells.push_back( {11001212,450,12,10,1,1,0.475,0.129501 } ); +cells.push_back( {11001222,470,12,10,2,1,0.475,0.0799383 } ); +cells.push_back( {11101212,451,12,11,1,1,0.525,0.129501 } ); +cells.push_back( {11101222,471,12,11,2,1,0.525,0.0799383 } ); +cells.push_back( {11201212,452,12,12,1,1,0.575,0.129501 } ); +cells.push_back( {11201222,472,12,12,2,1,0.575,0.0799383 } ); +cells.push_back( {11301212,453,12,13,1,1,0.625,0.129501 } ); +cells.push_back( {11301222,473,12,13,2,1,0.625,0.0799383 } ); +cells.push_back( {11401212,454,12,14,1,1,0.675,0.129501 } ); +cells.push_back( {11401222,474,12,14,2,1,0.675,0.0799383 } ); +cells.push_back( {11501212,455,12,15,1,1,0.725,0.129501 } ); +cells.push_back( {11501222,475,12,15,2,1,0.725,0.0799383 } ); +cells.push_back( {11601212,456,12,16,1,1,0.775,0.129501 } ); +cells.push_back( {11601222,476,12,16,2,1,0.775,0.0799383 } ); +cells.push_back( {11701212,457,12,17,1,1,0.825,0.129501 } ); +cells.push_back( {11701222,477,12,17,2,1,0.825,0.0799383 } ); +cells.push_back( {11801212,458,12,18,1,1,0.875,0.129501 } ); +cells.push_back( {11801222,478,12,18,2,1,0.875,0.0799383 } ); +cells.push_back( {11901212,459,12,19,1,1,0.925,0.129501 } ); +cells.push_back( {11901222,479,12,19,2,1,0.925,0.0799383 } ); +cells.push_back( {12001212,460,12,20,1,1,0.967,0.129501 } ); +cells.push_back( {12001222,480,12,20,2,1,0.967,0.0799383 } ); +cells.push_back( {10101311,481,13,1,1,2,0.02675,0.0247814 } ); +cells.push_back( {10101321,501,13,1,2,2,0.02675,-0.0247814 } ); +cells.push_back( {10201311,482,13,2,1,2,0.075,0.0247814 } ); +cells.push_back( {10201321,502,13,2,2,2,0.075,-0.0247814 } ); +cells.push_back( {10301311,483,13,3,1,2,0.125,0.0247814 } ); +cells.push_back( {10301321,503,13,3,2,2,0.125,-0.0247814 } ); +cells.push_back( {10401311,484,13,4,1,2,0.175,0.0247814 } ); +cells.push_back( {10401321,504,13,4,2,2,0.175,-0.0247814 } ); +cells.push_back( {10501311,485,13,5,1,2,0.225,0.0247814 } ); +cells.push_back( {10501321,505,13,5,2,2,0.225,-0.0247814 } ); +cells.push_back( {10601311,486,13,6,1,2,0.275,0.0247814 } ); +cells.push_back( {10601321,506,13,6,2,2,0.275,-0.0247814 } ); +cells.push_back( {10701311,487,13,7,1,2,0.325,0.0247814 } ); +cells.push_back( {10701321,507,13,7,2,2,0.325,-0.0247814 } ); +cells.push_back( {10801311,488,13,8,1,2,0.375,0.0247814 } ); +cells.push_back( {10801321,508,13,8,2,2,0.375,-0.0247814 } ); +cells.push_back( {10901311,489,13,9,1,2,0.425,0.0247814 } ); +cells.push_back( {10901321,509,13,9,2,2,0.425,-0.0247814 } ); +cells.push_back( {11001311,490,13,10,1,2,0.475,0.0247814 } ); +cells.push_back( {11001321,510,13,10,2,2,0.475,-0.0247814 } ); +cells.push_back( {11101311,491,13,11,1,2,0.525,0.0247814 } ); +cells.push_back( {11101321,511,13,11,2,2,0.525,-0.0247814 } ); +cells.push_back( {11201311,492,13,12,1,2,0.575,0.0247814 } ); +cells.push_back( {11201321,512,13,12,2,2,0.575,-0.0247814 } ); +cells.push_back( {11301311,493,13,13,1,2,0.625,0.0247814 } ); +cells.push_back( {11301321,513,13,13,2,2,0.625,-0.0247814 } ); +cells.push_back( {11401311,494,13,14,1,2,0.675,0.0247814 } ); +cells.push_back( {11401321,514,13,14,2,2,0.675,-0.0247814 } ); +cells.push_back( {11501311,495,13,15,1,2,0.725,0.0247814 } ); +cells.push_back( {11501321,515,13,15,2,2,0.725,-0.0247814 } ); +cells.push_back( {11601311,496,13,16,1,2,0.775,0.0247814 } ); +cells.push_back( {11601321,516,13,16,2,2,0.775,-0.0247814 } ); +cells.push_back( {11701311,497,13,17,1,2,0.825,0.0247814 } ); +cells.push_back( {11701321,517,13,17,2,2,0.825,-0.0247814 } ); +cells.push_back( {11801311,498,13,18,1,2,0.875,0.0247814 } ); +cells.push_back( {11801321,518,13,18,2,2,0.875,-0.0247814 } ); +cells.push_back( {11901311,499,13,19,1,2,0.925,0.0247814 } ); +cells.push_back( {11901321,519,13,19,2,2,0.925,-0.0247814 } ); +cells.push_back( {12001311,500,13,20,1,2,0.967,0.0247814 } ); +cells.push_back( {12001321,520,13,20,2,2,0.967,-0.0247814 } ); +cells.push_back( {10101312,481,13,1,1,1,0.02675,0.0247814 } ); +cells.push_back( {10101322,501,13,1,2,1,0.02675,-0.0247814 } ); +cells.push_back( {10201312,482,13,2,1,1,0.075,0.0247814 } ); +cells.push_back( {10201322,502,13,2,2,1,0.075,-0.0247814 } ); +cells.push_back( {10301312,483,13,3,1,1,0.125,0.0247814 } ); +cells.push_back( {10301322,503,13,3,2,1,0.125,-0.0247814 } ); +cells.push_back( {10401312,484,13,4,1,1,0.175,0.0247814 } ); +cells.push_back( {10401322,504,13,4,2,1,0.175,-0.0247814 } ); +cells.push_back( {10501312,485,13,5,1,1,0.225,0.0247814 } ); +cells.push_back( {10501322,505,13,5,2,1,0.225,-0.0247814 } ); +cells.push_back( {10601312,486,13,6,1,1,0.275,0.0247814 } ); +cells.push_back( {10601322,506,13,6,2,1,0.275,-0.0247814 } ); +cells.push_back( {10701312,487,13,7,1,1,0.325,0.0247814 } ); +cells.push_back( {10701322,507,13,7,2,1,0.325,-0.0247814 } ); +cells.push_back( {10801312,488,13,8,1,1,0.375,0.0247814 } ); +cells.push_back( {10801322,508,13,8,2,1,0.375,-0.0247814 } ); +cells.push_back( {10901312,489,13,9,1,1,0.425,0.0247814 } ); +cells.push_back( {10901322,509,13,9,2,1,0.425,-0.0247814 } ); +cells.push_back( {11001312,490,13,10,1,1,0.475,0.0247814 } ); +cells.push_back( {11001322,510,13,10,2,1,0.475,-0.0247814 } ); +cells.push_back( {11101312,491,13,11,1,1,0.525,0.0247814 } ); +cells.push_back( {11101322,511,13,11,2,1,0.525,-0.0247814 } ); +cells.push_back( {11201312,492,13,12,1,1,0.575,0.0247814 } ); +cells.push_back( {11201322,512,13,12,2,1,0.575,-0.0247814 } ); +cells.push_back( {11301312,493,13,13,1,1,0.625,0.0247814 } ); +cells.push_back( {11301322,513,13,13,2,1,0.625,-0.0247814 } ); +cells.push_back( {11401312,494,13,14,1,1,0.675,0.0247814 } ); +cells.push_back( {11401322,514,13,14,2,1,0.675,-0.0247814 } ); +cells.push_back( {11501312,495,13,15,1,1,0.725,0.0247814 } ); +cells.push_back( {11501322,515,13,15,2,1,0.725,-0.0247814 } ); +cells.push_back( {11601312,496,13,16,1,1,0.775,0.0247814 } ); +cells.push_back( {11601322,516,13,16,2,1,0.775,-0.0247814 } ); +cells.push_back( {11701312,497,13,17,1,1,0.825,0.0247814 } ); +cells.push_back( {11701322,517,13,17,2,1,0.825,-0.0247814 } ); +cells.push_back( {11801312,498,13,18,1,1,0.875,0.0247814 } ); +cells.push_back( {11801322,518,13,18,2,1,0.875,-0.0247814 } ); +cells.push_back( {11901312,499,13,19,1,1,0.925,0.0247814 } ); +cells.push_back( {11901322,519,13,19,2,1,0.925,-0.0247814 } ); +cells.push_back( {12001312,500,13,20,1,1,0.967,0.0247814 } ); +cells.push_back( {12001322,520,13,20,2,1,0.967,-0.0247814 } ); +cells.push_back( {10101411,521,14,1,1,2,0.02675,-0.0799383 } ); +cells.push_back( {10101421,541,14,1,2,2,0.02675,-0.129501 } ); +cells.push_back( {10201411,522,14,2,1,2,0.075,-0.0799383 } ); +cells.push_back( {10201421,542,14,2,2,2,0.075,-0.129501 } ); +cells.push_back( {10301411,523,14,3,1,2,0.125,-0.0799383 } ); +cells.push_back( {10301421,543,14,3,2,2,0.125,-0.129501 } ); +cells.push_back( {10401411,524,14,4,1,2,0.175,-0.0799383 } ); +cells.push_back( {10401421,544,14,4,2,2,0.175,-0.129501 } ); +cells.push_back( {10501411,525,14,5,1,2,0.225,-0.0799383 } ); +cells.push_back( {10501421,545,14,5,2,2,0.225,-0.129501 } ); +cells.push_back( {10601411,526,14,6,1,2,0.275,-0.0799383 } ); +cells.push_back( {10601421,546,14,6,2,2,0.275,-0.129501 } ); +cells.push_back( {10701411,527,14,7,1,2,0.325,-0.0799383 } ); +cells.push_back( {10701421,547,14,7,2,2,0.325,-0.129501 } ); +cells.push_back( {10801411,528,14,8,1,2,0.375,-0.0799383 } ); +cells.push_back( {10801421,548,14,8,2,2,0.375,-0.129501 } ); +cells.push_back( {10901411,529,14,9,1,2,0.425,-0.0799383 } ); +cells.push_back( {10901421,549,14,9,2,2,0.425,-0.129501 } ); +cells.push_back( {11001411,530,14,10,1,2,0.475,-0.0799383 } ); +cells.push_back( {11001421,550,14,10,2,2,0.475,-0.129501 } ); +cells.push_back( {11101411,531,14,11,1,2,0.525,-0.0799383 } ); +cells.push_back( {11101421,551,14,11,2,2,0.525,-0.129501 } ); +cells.push_back( {11201411,532,14,12,1,2,0.575,-0.0799383 } ); +cells.push_back( {11201421,552,14,12,2,2,0.575,-0.129501 } ); +cells.push_back( {11301411,533,14,13,1,2,0.625,-0.0799383 } ); +cells.push_back( {11301421,553,14,13,2,2,0.625,-0.129501 } ); +cells.push_back( {11401411,534,14,14,1,2,0.675,-0.0799383 } ); +cells.push_back( {11401421,554,14,14,2,2,0.675,-0.129501 } ); +cells.push_back( {11501411,535,14,15,1,2,0.725,-0.0799383 } ); +cells.push_back( {11501421,555,14,15,2,2,0.725,-0.129501 } ); +cells.push_back( {11601411,536,14,16,1,2,0.775,-0.0799383 } ); +cells.push_back( {11601421,556,14,16,2,2,0.775,-0.129501 } ); +cells.push_back( {11701411,537,14,17,1,2,0.825,-0.0799383 } ); +cells.push_back( {11701421,557,14,17,2,2,0.825,-0.129501 } ); +cells.push_back( {11801411,538,14,18,1,2,0.875,-0.0799383 } ); +cells.push_back( {11801421,558,14,18,2,2,0.875,-0.129501 } ); +cells.push_back( {11901411,539,14,19,1,2,0.925,-0.0799383 } ); +cells.push_back( {11901421,559,14,19,2,2,0.925,-0.129501 } ); +cells.push_back( {12001411,540,14,20,1,2,0.967,-0.0799383 } ); +cells.push_back( {12001421,560,14,20,2,2,0.967,-0.129501 } ); +cells.push_back( {10101412,521,14,1,1,1,0.02675,-0.0799383 } ); +cells.push_back( {10101422,541,14,1,2,1,0.02675,-0.129501 } ); +cells.push_back( {10201412,522,14,2,1,1,0.075,-0.0799383 } ); +cells.push_back( {10201422,542,14,2,2,1,0.075,-0.129501 } ); +cells.push_back( {10301412,523,14,3,1,1,0.125,-0.0799383 } ); +cells.push_back( {10301422,543,14,3,2,1,0.125,-0.129501 } ); +cells.push_back( {10401412,524,14,4,1,1,0.175,-0.0799383 } ); +cells.push_back( {10401422,544,14,4,2,1,0.175,-0.129501 } ); +cells.push_back( {10501412,525,14,5,1,1,0.225,-0.0799383 } ); +cells.push_back( {10501422,545,14,5,2,1,0.225,-0.129501 } ); +cells.push_back( {10601412,526,14,6,1,1,0.275,-0.0799383 } ); +cells.push_back( {10601422,546,14,6,2,1,0.275,-0.129501 } ); +cells.push_back( {10701412,527,14,7,1,1,0.325,-0.0799383 } ); +cells.push_back( {10701422,547,14,7,2,1,0.325,-0.129501 } ); +cells.push_back( {10801412,528,14,8,1,1,0.375,-0.0799383 } ); +cells.push_back( {10801422,548,14,8,2,1,0.375,-0.129501 } ); +cells.push_back( {10901412,529,14,9,1,1,0.425,-0.0799383 } ); +cells.push_back( {10901422,549,14,9,2,1,0.425,-0.129501 } ); +cells.push_back( {11001412,530,14,10,1,1,0.475,-0.0799383 } ); +cells.push_back( {11001422,550,14,10,2,1,0.475,-0.129501 } ); +cells.push_back( {11101412,531,14,11,1,1,0.525,-0.0799383 } ); +cells.push_back( {11101422,551,14,11,2,1,0.525,-0.129501 } ); +cells.push_back( {11201412,532,14,12,1,1,0.575,-0.0799383 } ); +cells.push_back( {11201422,552,14,12,2,1,0.575,-0.129501 } ); +cells.push_back( {11301412,533,14,13,1,1,0.625,-0.0799383 } ); +cells.push_back( {11301422,553,14,13,2,1,0.625,-0.129501 } ); +cells.push_back( {11401412,534,14,14,1,1,0.675,-0.0799383 } ); +cells.push_back( {11401422,554,14,14,2,1,0.675,-0.129501 } ); +cells.push_back( {11501412,535,14,15,1,1,0.725,-0.0799383 } ); +cells.push_back( {11501422,555,14,15,2,1,0.725,-0.129501 } ); +cells.push_back( {11601412,536,14,16,1,1,0.775,-0.0799383 } ); +cells.push_back( {11601422,556,14,16,2,1,0.775,-0.129501 } ); +cells.push_back( {11701412,537,14,17,1,1,0.825,-0.0799383 } ); +cells.push_back( {11701422,557,14,17,2,1,0.825,-0.129501 } ); +cells.push_back( {11801412,538,14,18,1,1,0.875,-0.0799383 } ); +cells.push_back( {11801422,558,14,18,2,1,0.875,-0.129501 } ); +cells.push_back( {11901412,539,14,19,1,1,0.925,-0.0799383 } ); +cells.push_back( {11901422,559,14,19,2,1,0.925,-0.129501 } ); +cells.push_back( {12001412,540,14,20,1,1,0.967,-0.0799383 } ); +cells.push_back( {12001422,560,14,20,2,1,0.967,-0.129501 } ); +cells.push_back( {10101511,561,15,1,1,2,0.02675,-0.184658 } ); +cells.push_back( {10101521,581,15,1,2,2,0.02675,-0.234221 } ); +cells.push_back( {10201511,562,15,2,1,2,0.075,-0.184658 } ); +cells.push_back( {10201521,582,15,2,2,2,0.075,-0.234221 } ); +cells.push_back( {10301511,563,15,3,1,2,0.125,-0.184658 } ); +cells.push_back( {10301521,583,15,3,2,2,0.125,-0.234221 } ); +cells.push_back( {10401511,564,15,4,1,2,0.175,-0.184658 } ); +cells.push_back( {10401521,584,15,4,2,2,0.175,-0.234221 } ); +cells.push_back( {10501511,565,15,5,1,2,0.225,-0.184658 } ); +cells.push_back( {10501521,585,15,5,2,2,0.225,-0.234221 } ); +cells.push_back( {10601511,566,15,6,1,2,0.275,-0.184658 } ); +cells.push_back( {10601521,586,15,6,2,2,0.275,-0.234221 } ); +cells.push_back( {10701511,567,15,7,1,2,0.325,-0.184658 } ); +cells.push_back( {10701521,587,15,7,2,2,0.325,-0.234221 } ); +cells.push_back( {10801511,568,15,8,1,2,0.375,-0.184658 } ); +cells.push_back( {10801521,588,15,8,2,2,0.375,-0.234221 } ); +cells.push_back( {10901511,569,15,9,1,2,0.425,-0.184658 } ); +cells.push_back( {10901521,589,15,9,2,2,0.425,-0.234221 } ); +cells.push_back( {11001511,570,15,10,1,2,0.475,-0.184658 } ); +cells.push_back( {11001521,590,15,10,2,2,0.475,-0.234221 } ); +cells.push_back( {11101511,571,15,11,1,2,0.525,-0.184658 } ); +cells.push_back( {11101521,591,15,11,2,2,0.525,-0.234221 } ); +cells.push_back( {11201511,572,15,12,1,2,0.575,-0.184658 } ); +cells.push_back( {11201521,592,15,12,2,2,0.575,-0.234221 } ); +cells.push_back( {11301511,573,15,13,1,2,0.625,-0.184658 } ); +cells.push_back( {11301521,593,15,13,2,2,0.625,-0.234221 } ); +cells.push_back( {11401511,574,15,14,1,2,0.675,-0.184658 } ); +cells.push_back( {11401521,594,15,14,2,2,0.675,-0.234221 } ); +cells.push_back( {11501511,575,15,15,1,2,0.725,-0.184658 } ); +cells.push_back( {11501521,595,15,15,2,2,0.725,-0.234221 } ); +cells.push_back( {11601511,576,15,16,1,2,0.775,-0.184658 } ); +cells.push_back( {11601521,596,15,16,2,2,0.775,-0.234221 } ); +cells.push_back( {11701511,577,15,17,1,2,0.825,-0.184658 } ); +cells.push_back( {11701521,597,15,17,2,2,0.825,-0.234221 } ); +cells.push_back( {11801511,578,15,18,1,2,0.875,-0.184658 } ); +cells.push_back( {11801521,598,15,18,2,2,0.875,-0.234221 } ); +cells.push_back( {11901511,579,15,19,1,2,0.925,-0.184658 } ); +cells.push_back( {11901521,599,15,19,2,2,0.925,-0.234221 } ); +cells.push_back( {12001511,580,15,20,1,2,0.967,-0.184658 } ); +cells.push_back( {12001521,600,15,20,2,2,0.967,-0.234221 } ); +cells.push_back( {10101512,561,15,1,1,1,0.02675,-0.184658 } ); +cells.push_back( {10101522,581,15,1,2,1,0.02675,-0.234221 } ); +cells.push_back( {10201512,562,15,2,1,1,0.075,-0.184658 } ); +cells.push_back( {10201522,582,15,2,2,1,0.075,-0.234221 } ); +cells.push_back( {10301512,563,15,3,1,1,0.125,-0.184658 } ); +cells.push_back( {10301522,583,15,3,2,1,0.125,-0.234221 } ); +cells.push_back( {10401512,564,15,4,1,1,0.175,-0.184658 } ); +cells.push_back( {10401522,584,15,4,2,1,0.175,-0.234221 } ); +cells.push_back( {10501512,565,15,5,1,1,0.225,-0.184658 } ); +cells.push_back( {10501522,585,15,5,2,1,0.225,-0.234221 } ); +cells.push_back( {10601512,566,15,6,1,1,0.275,-0.184658 } ); +cells.push_back( {10601522,586,15,6,2,1,0.275,-0.234221 } ); +cells.push_back( {10701512,567,15,7,1,1,0.325,-0.184658 } ); +cells.push_back( {10701522,587,15,7,2,1,0.325,-0.234221 } ); +cells.push_back( {10801512,568,15,8,1,1,0.375,-0.184658 } ); +cells.push_back( {10801522,588,15,8,2,1,0.375,-0.234221 } ); +cells.push_back( {10901512,569,15,9,1,1,0.425,-0.184658 } ); +cells.push_back( {10901522,589,15,9,2,1,0.425,-0.234221 } ); +cells.push_back( {11001512,570,15,10,1,1,0.475,-0.184658 } ); +cells.push_back( {11001522,590,15,10,2,1,0.475,-0.234221 } ); +cells.push_back( {11101512,571,15,11,1,1,0.525,-0.184658 } ); +cells.push_back( {11101522,591,15,11,2,1,0.525,-0.234221 } ); +cells.push_back( {11201512,572,15,12,1,1,0.575,-0.184658 } ); +cells.push_back( {11201522,592,15,12,2,1,0.575,-0.234221 } ); +cells.push_back( {11301512,573,15,13,1,1,0.625,-0.184658 } ); +cells.push_back( {11301522,593,15,13,2,1,0.625,-0.234221 } ); +cells.push_back( {11401512,574,15,14,1,1,0.675,-0.184658 } ); +cells.push_back( {11401522,594,15,14,2,1,0.675,-0.234221 } ); +cells.push_back( {11501512,575,15,15,1,1,0.725,-0.184658 } ); +cells.push_back( {11501522,595,15,15,2,1,0.725,-0.234221 } ); +cells.push_back( {11601512,576,15,16,1,1,0.775,-0.184658 } ); +cells.push_back( {11601522,596,15,16,2,1,0.775,-0.234221 } ); +cells.push_back( {11701512,577,15,17,1,1,0.825,-0.184658 } ); +cells.push_back( {11701522,597,15,17,2,1,0.825,-0.234221 } ); +cells.push_back( {11801512,578,15,18,1,1,0.875,-0.184658 } ); +cells.push_back( {11801522,598,15,18,2,1,0.875,-0.234221 } ); +cells.push_back( {11901512,579,15,19,1,1,0.925,-0.184658 } ); +cells.push_back( {11901522,599,15,19,2,1,0.925,-0.234221 } ); +cells.push_back( {12001512,580,15,20,1,1,0.967,-0.184658 } ); +cells.push_back( {12001522,600,15,20,2,1,0.967,-0.234221 } ); +cells.push_back( {10101611,601,16,1,1,2,0.02675,-0.289378 } ); +cells.push_back( {10101621,621,16,1,2,2,0.02675,-0.338941 } ); +cells.push_back( {10201611,602,16,2,1,2,0.075,-0.289378 } ); +cells.push_back( {10201621,622,16,2,2,2,0.075,-0.338941 } ); +cells.push_back( {10301611,603,16,3,1,2,0.125,-0.289378 } ); +cells.push_back( {10301621,623,16,3,2,2,0.125,-0.338941 } ); +cells.push_back( {10401611,604,16,4,1,2,0.175,-0.289378 } ); +cells.push_back( {10401621,624,16,4,2,2,0.175,-0.338941 } ); +cells.push_back( {10501611,605,16,5,1,2,0.225,-0.289378 } ); +cells.push_back( {10501621,625,16,5,2,2,0.225,-0.338941 } ); +cells.push_back( {10601611,606,16,6,1,2,0.275,-0.289378 } ); +cells.push_back( {10601621,626,16,6,2,2,0.275,-0.338941 } ); +cells.push_back( {10701611,607,16,7,1,2,0.325,-0.289378 } ); +cells.push_back( {10701621,627,16,7,2,2,0.325,-0.338941 } ); +cells.push_back( {10801611,608,16,8,1,2,0.375,-0.289378 } ); +cells.push_back( {10801621,628,16,8,2,2,0.375,-0.338941 } ); +cells.push_back( {10901611,609,16,9,1,2,0.425,-0.289378 } ); +cells.push_back( {10901621,629,16,9,2,2,0.425,-0.338941 } ); +cells.push_back( {11001611,610,16,10,1,2,0.475,-0.289378 } ); +cells.push_back( {11001621,630,16,10,2,2,0.475,-0.338941 } ); +cells.push_back( {11101611,611,16,11,1,2,0.525,-0.289378 } ); +cells.push_back( {11101621,631,16,11,2,2,0.525,-0.338941 } ); +cells.push_back( {11201611,612,16,12,1,2,0.575,-0.289378 } ); +cells.push_back( {11201621,632,16,12,2,2,0.575,-0.338941 } ); +cells.push_back( {11301611,613,16,13,1,2,0.625,-0.289378 } ); +cells.push_back( {11301621,633,16,13,2,2,0.625,-0.338941 } ); +cells.push_back( {11401611,614,16,14,1,2,0.675,-0.289378 } ); +cells.push_back( {11401621,634,16,14,2,2,0.675,-0.338941 } ); +cells.push_back( {11501611,615,16,15,1,2,0.725,-0.289378 } ); +cells.push_back( {11501621,635,16,15,2,2,0.725,-0.338941 } ); +cells.push_back( {11601611,616,16,16,1,2,0.775,-0.289378 } ); +cells.push_back( {11601621,636,16,16,2,2,0.775,-0.338941 } ); +cells.push_back( {11701611,617,16,17,1,2,0.825,-0.289378 } ); +cells.push_back( {11701621,637,16,17,2,2,0.825,-0.338941 } ); +cells.push_back( {11801611,618,16,18,1,2,0.875,-0.289378 } ); +cells.push_back( {11801621,638,16,18,2,2,0.875,-0.338941 } ); +cells.push_back( {11901611,619,16,19,1,2,0.925,-0.289378 } ); +cells.push_back( {11901621,639,16,19,2,2,0.925,-0.338941 } ); +cells.push_back( {12001611,620,16,20,1,2,0.967,-0.289378 } ); +cells.push_back( {12001621,640,16,20,2,2,0.967,-0.338941 } ); +cells.push_back( {10101612,601,16,1,1,1,0.02675,-0.289378 } ); +cells.push_back( {10101622,621,16,1,2,1,0.02675,-0.338941 } ); +cells.push_back( {10201612,602,16,2,1,1,0.075,-0.289378 } ); +cells.push_back( {10201622,622,16,2,2,1,0.075,-0.338941 } ); +cells.push_back( {10301612,603,16,3,1,1,0.125,-0.289378 } ); +cells.push_back( {10301622,623,16,3,2,1,0.125,-0.338941 } ); +cells.push_back( {10401612,604,16,4,1,1,0.175,-0.289378 } ); +cells.push_back( {10401622,624,16,4,2,1,0.175,-0.338941 } ); +cells.push_back( {10501612,605,16,5,1,1,0.225,-0.289378 } ); +cells.push_back( {10501622,625,16,5,2,1,0.225,-0.338941 } ); +cells.push_back( {10601612,606,16,6,1,1,0.275,-0.289378 } ); +cells.push_back( {10601622,626,16,6,2,1,0.275,-0.338941 } ); +cells.push_back( {10701612,607,16,7,1,1,0.325,-0.289378 } ); +cells.push_back( {10701622,627,16,7,2,1,0.325,-0.338941 } ); +cells.push_back( {10801612,608,16,8,1,1,0.375,-0.289378 } ); +cells.push_back( {10801622,628,16,8,2,1,0.375,-0.338941 } ); +cells.push_back( {10901612,609,16,9,1,1,0.425,-0.289378 } ); +cells.push_back( {10901622,629,16,9,2,1,0.425,-0.338941 } ); +cells.push_back( {11001612,610,16,10,1,1,0.475,-0.289378 } ); +cells.push_back( {11001622,630,16,10,2,1,0.475,-0.338941 } ); +cells.push_back( {11101612,611,16,11,1,1,0.525,-0.289378 } ); +cells.push_back( {11101622,631,16,11,2,1,0.525,-0.338941 } ); +cells.push_back( {11201612,612,16,12,1,1,0.575,-0.289378 } ); +cells.push_back( {11201622,632,16,12,2,1,0.575,-0.338941 } ); +cells.push_back( {11301612,613,16,13,1,1,0.625,-0.289378 } ); +cells.push_back( {11301622,633,16,13,2,1,0.625,-0.338941 } ); +cells.push_back( {11401612,614,16,14,1,1,0.675,-0.289378 } ); +cells.push_back( {11401622,634,16,14,2,1,0.675,-0.338941 } ); +cells.push_back( {11501612,615,16,15,1,1,0.725,-0.289378 } ); +cells.push_back( {11501622,635,16,15,2,1,0.725,-0.338941 } ); +cells.push_back( {11601612,616,16,16,1,1,0.775,-0.289378 } ); +cells.push_back( {11601622,636,16,16,2,1,0.775,-0.338941 } ); +cells.push_back( {11701612,617,16,17,1,1,0.825,-0.289378 } ); +cells.push_back( {11701622,637,16,17,2,1,0.825,-0.338941 } ); +cells.push_back( {11801612,618,16,18,1,1,0.875,-0.289378 } ); +cells.push_back( {11801622,638,16,18,2,1,0.875,-0.338941 } ); +cells.push_back( {11901612,619,16,19,1,1,0.925,-0.289378 } ); +cells.push_back( {11901622,639,16,19,2,1,0.925,-0.338941 } ); +cells.push_back( {12001612,620,16,20,1,1,0.967,-0.289378 } ); +cells.push_back( {12001622,640,16,20,2,1,0.967,-0.338941 } ); +cells.push_back( {10101711,641,17,1,1,2,0.02675,-0.394098 } ); +cells.push_back( {10101721,661,17,1,2,2,0.02675,-0.44366 } ); +cells.push_back( {10201711,642,17,2,1,2,0.075,-0.394098 } ); +cells.push_back( {10201721,662,17,2,2,2,0.075,-0.44366 } ); +cells.push_back( {10301711,643,17,3,1,2,0.125,-0.394098 } ); +cells.push_back( {10301721,663,17,3,2,2,0.125,-0.44366 } ); +cells.push_back( {10401711,644,17,4,1,2,0.175,-0.394098 } ); +cells.push_back( {10401721,664,17,4,2,2,0.175,-0.44366 } ); +cells.push_back( {10501711,645,17,5,1,2,0.225,-0.394098 } ); +cells.push_back( {10501721,665,17,5,2,2,0.225,-0.44366 } ); +cells.push_back( {10601711,646,17,6,1,2,0.275,-0.394098 } ); +cells.push_back( {10601721,666,17,6,2,2,0.275,-0.44366 } ); +cells.push_back( {10701711,647,17,7,1,2,0.325,-0.394098 } ); +cells.push_back( {10701721,667,17,7,2,2,0.325,-0.44366 } ); +cells.push_back( {10801711,648,17,8,1,2,0.375,-0.394098 } ); +cells.push_back( {10801721,668,17,8,2,2,0.375,-0.44366 } ); +cells.push_back( {10901711,649,17,9,1,2,0.425,-0.394098 } ); +cells.push_back( {10901721,669,17,9,2,2,0.425,-0.44366 } ); +cells.push_back( {11001711,650,17,10,1,2,0.475,-0.394098 } ); +cells.push_back( {11001721,670,17,10,2,2,0.475,-0.44366 } ); +cells.push_back( {11101711,651,17,11,1,2,0.525,-0.394098 } ); +cells.push_back( {11101721,671,17,11,2,2,0.525,-0.44366 } ); +cells.push_back( {11201711,652,17,12,1,2,0.575,-0.394098 } ); +cells.push_back( {11201721,672,17,12,2,2,0.575,-0.44366 } ); +cells.push_back( {11301711,653,17,13,1,2,0.625,-0.394098 } ); +cells.push_back( {11301721,673,17,13,2,2,0.625,-0.44366 } ); +cells.push_back( {11401711,654,17,14,1,2,0.675,-0.394098 } ); +cells.push_back( {11401721,674,17,14,2,2,0.675,-0.44366 } ); +cells.push_back( {11501711,655,17,15,1,2,0.725,-0.394098 } ); +cells.push_back( {11501721,675,17,15,2,2,0.725,-0.44366 } ); +cells.push_back( {11601711,656,17,16,1,2,0.775,-0.394098 } ); +cells.push_back( {11601721,676,17,16,2,2,0.775,-0.44366 } ); +cells.push_back( {11701711,657,17,17,1,2,0.825,-0.394098 } ); +cells.push_back( {11701721,677,17,17,2,2,0.825,-0.44366 } ); +cells.push_back( {11801711,658,17,18,1,2,0.875,-0.394098 } ); +cells.push_back( {11801721,678,17,18,2,2,0.875,-0.44366 } ); +cells.push_back( {11901711,659,17,19,1,2,0.925,-0.394098 } ); +cells.push_back( {11901721,679,17,19,2,2,0.925,-0.44366 } ); +cells.push_back( {12001711,660,17,20,1,2,0.967,-0.394098 } ); +cells.push_back( {12001721,680,17,20,2,2,0.967,-0.44366 } ); +cells.push_back( {10101712,641,17,1,1,1,0.02675,-0.394098 } ); +cells.push_back( {10101722,661,17,1,2,1,0.02675,-0.44366 } ); +cells.push_back( {10201712,642,17,2,1,1,0.075,-0.394098 } ); +cells.push_back( {10201722,662,17,2,2,1,0.075,-0.44366 } ); +cells.push_back( {10301712,643,17,3,1,1,0.125,-0.394098 } ); +cells.push_back( {10301722,663,17,3,2,1,0.125,-0.44366 } ); +cells.push_back( {10401712,644,17,4,1,1,0.175,-0.394098 } ); +cells.push_back( {10401722,664,17,4,2,1,0.175,-0.44366 } ); +cells.push_back( {10501712,645,17,5,1,1,0.225,-0.394098 } ); +cells.push_back( {10501722,665,17,5,2,1,0.225,-0.44366 } ); +cells.push_back( {10601712,646,17,6,1,1,0.275,-0.394098 } ); +cells.push_back( {10601722,666,17,6,2,1,0.275,-0.44366 } ); +cells.push_back( {10701712,647,17,7,1,1,0.325,-0.394098 } ); +cells.push_back( {10701722,667,17,7,2,1,0.325,-0.44366 } ); +cells.push_back( {10801712,648,17,8,1,1,0.375,-0.394098 } ); +cells.push_back( {10801722,668,17,8,2,1,0.375,-0.44366 } ); +cells.push_back( {10901712,649,17,9,1,1,0.425,-0.394098 } ); +cells.push_back( {10901722,669,17,9,2,1,0.425,-0.44366 } ); +cells.push_back( {11001712,650,17,10,1,1,0.475,-0.394098 } ); +cells.push_back( {11001722,670,17,10,2,1,0.475,-0.44366 } ); +cells.push_back( {11101712,651,17,11,1,1,0.525,-0.394098 } ); +cells.push_back( {11101722,671,17,11,2,1,0.525,-0.44366 } ); +cells.push_back( {11201712,652,17,12,1,1,0.575,-0.394098 } ); +cells.push_back( {11201722,672,17,12,2,1,0.575,-0.44366 } ); +cells.push_back( {11301712,653,17,13,1,1,0.625,-0.394098 } ); +cells.push_back( {11301722,673,17,13,2,1,0.625,-0.44366 } ); +cells.push_back( {11401712,654,17,14,1,1,0.675,-0.394098 } ); +cells.push_back( {11401722,674,17,14,2,1,0.675,-0.44366 } ); +cells.push_back( {11501712,655,17,15,1,1,0.725,-0.394098 } ); +cells.push_back( {11501722,675,17,15,2,1,0.725,-0.44366 } ); +cells.push_back( {11601712,656,17,16,1,1,0.775,-0.394098 } ); +cells.push_back( {11601722,676,17,16,2,1,0.775,-0.44366 } ); +cells.push_back( {11701712,657,17,17,1,1,0.825,-0.394098 } ); +cells.push_back( {11701722,677,17,17,2,1,0.825,-0.44366 } ); +cells.push_back( {11801712,658,17,18,1,1,0.875,-0.394098 } ); +cells.push_back( {11801722,678,17,18,2,1,0.875,-0.44366 } ); +cells.push_back( {11901712,659,17,19,1,1,0.925,-0.394098 } ); +cells.push_back( {11901722,679,17,19,2,1,0.925,-0.44366 } ); +cells.push_back( {12001712,660,17,20,1,1,0.967,-0.394098 } ); +cells.push_back( {12001722,680,17,20,2,1,0.967,-0.44366 } ); +cells.push_back( {10101811,681,18,1,1,2,0.02675,-0.498817 } ); +cells.push_back( {10101821,701,18,1,2,2,0.02675,-0.54838 } ); +cells.push_back( {10201811,682,18,2,1,2,0.075,-0.498817 } ); +cells.push_back( {10201821,702,18,2,2,2,0.075,-0.54838 } ); +cells.push_back( {10301811,683,18,3,1,2,0.125,-0.498817 } ); +cells.push_back( {10301821,703,18,3,2,2,0.125,-0.54838 } ); +cells.push_back( {10401811,684,18,4,1,2,0.175,-0.498817 } ); +cells.push_back( {10401821,704,18,4,2,2,0.175,-0.54838 } ); +cells.push_back( {10501811,685,18,5,1,2,0.225,-0.498817 } ); +cells.push_back( {10501821,705,18,5,2,2,0.225,-0.54838 } ); +cells.push_back( {10601811,686,18,6,1,2,0.275,-0.498817 } ); +cells.push_back( {10601821,706,18,6,2,2,0.275,-0.54838 } ); +cells.push_back( {10701811,687,18,7,1,2,0.325,-0.498817 } ); +cells.push_back( {10701821,707,18,7,2,2,0.325,-0.54838 } ); +cells.push_back( {10801811,688,18,8,1,2,0.375,-0.498817 } ); +cells.push_back( {10801821,708,18,8,2,2,0.375,-0.54838 } ); +cells.push_back( {10901811,689,18,9,1,2,0.425,-0.498817 } ); +cells.push_back( {10901821,709,18,9,2,2,0.425,-0.54838 } ); +cells.push_back( {11001811,690,18,10,1,2,0.475,-0.498817 } ); +cells.push_back( {11001821,710,18,10,2,2,0.475,-0.54838 } ); +cells.push_back( {11101811,691,18,11,1,2,0.525,-0.498817 } ); +cells.push_back( {11101821,711,18,11,2,2,0.525,-0.54838 } ); +cells.push_back( {11201811,692,18,12,1,2,0.575,-0.498817 } ); +cells.push_back( {11201821,712,18,12,2,2,0.575,-0.54838 } ); +cells.push_back( {11301811,693,18,13,1,2,0.625,-0.498817 } ); +cells.push_back( {11301821,713,18,13,2,2,0.625,-0.54838 } ); +cells.push_back( {11401811,694,18,14,1,2,0.675,-0.498817 } ); +cells.push_back( {11401821,714,18,14,2,2,0.675,-0.54838 } ); +cells.push_back( {11501811,695,18,15,1,2,0.725,-0.498817 } ); +cells.push_back( {11501821,715,18,15,2,2,0.725,-0.54838 } ); +cells.push_back( {11601811,696,18,16,1,2,0.775,-0.498817 } ); +cells.push_back( {11601821,716,18,16,2,2,0.775,-0.54838 } ); +cells.push_back( {11701811,697,18,17,1,2,0.825,-0.498817 } ); +cells.push_back( {11701821,717,18,17,2,2,0.825,-0.54838 } ); +cells.push_back( {11801811,698,18,18,1,2,0.875,-0.498817 } ); +cells.push_back( {11801821,718,18,18,2,2,0.875,-0.54838 } ); +cells.push_back( {11901811,699,18,19,1,2,0.925,-0.498817 } ); +cells.push_back( {11901821,719,18,19,2,2,0.925,-0.54838 } ); +cells.push_back( {12001811,700,18,20,1,2,0.967,-0.498817 } ); +cells.push_back( {12001821,720,18,20,2,2,0.967,-0.54838 } ); +cells.push_back( {10101812,681,18,1,1,1,0.02675,-0.498817 } ); +cells.push_back( {10101822,701,18,1,2,1,0.02675,-0.54838 } ); +cells.push_back( {10201812,682,18,2,1,1,0.075,-0.498817 } ); +cells.push_back( {10201822,702,18,2,2,1,0.075,-0.54838 } ); +cells.push_back( {10301812,683,18,3,1,1,0.125,-0.498817 } ); +cells.push_back( {10301822,703,18,3,2,1,0.125,-0.54838 } ); +cells.push_back( {10401812,684,18,4,1,1,0.175,-0.498817 } ); +cells.push_back( {10401822,704,18,4,2,1,0.175,-0.54838 } ); +cells.push_back( {10501812,685,18,5,1,1,0.225,-0.498817 } ); +cells.push_back( {10501822,705,18,5,2,1,0.225,-0.54838 } ); +cells.push_back( {10601812,686,18,6,1,1,0.275,-0.498817 } ); +cells.push_back( {10601822,706,18,6,2,1,0.275,-0.54838 } ); +cells.push_back( {10701812,687,18,7,1,1,0.325,-0.498817 } ); +cells.push_back( {10701822,707,18,7,2,1,0.325,-0.54838 } ); +cells.push_back( {10801812,688,18,8,1,1,0.375,-0.498817 } ); +cells.push_back( {10801822,708,18,8,2,1,0.375,-0.54838 } ); +cells.push_back( {10901812,689,18,9,1,1,0.425,-0.498817 } ); +cells.push_back( {10901822,709,18,9,2,1,0.425,-0.54838 } ); +cells.push_back( {11001812,690,18,10,1,1,0.475,-0.498817 } ); +cells.push_back( {11001822,710,18,10,2,1,0.475,-0.54838 } ); +cells.push_back( {11101812,691,18,11,1,1,0.525,-0.498817 } ); +cells.push_back( {11101822,711,18,11,2,1,0.525,-0.54838 } ); +cells.push_back( {11201812,692,18,12,1,1,0.575,-0.498817 } ); +cells.push_back( {11201822,712,18,12,2,1,0.575,-0.54838 } ); +cells.push_back( {11301812,693,18,13,1,1,0.625,-0.498817 } ); +cells.push_back( {11301822,713,18,13,2,1,0.625,-0.54838 } ); +cells.push_back( {11401812,694,18,14,1,1,0.675,-0.498817 } ); +cells.push_back( {11401822,714,18,14,2,1,0.675,-0.54838 } ); +cells.push_back( {11501812,695,18,15,1,1,0.725,-0.498817 } ); +cells.push_back( {11501822,715,18,15,2,1,0.725,-0.54838 } ); +cells.push_back( {11601812,696,18,16,1,1,0.775,-0.498817 } ); +cells.push_back( {11601822,716,18,16,2,1,0.775,-0.54838 } ); +cells.push_back( {11701812,697,18,17,1,1,0.825,-0.498817 } ); +cells.push_back( {11701822,717,18,17,2,1,0.825,-0.54838 } ); +cells.push_back( {11801812,698,18,18,1,1,0.875,-0.498817 } ); +cells.push_back( {11801822,718,18,18,2,1,0.875,-0.54838 } ); +cells.push_back( {11901812,699,18,19,1,1,0.925,-0.498817 } ); +cells.push_back( {11901822,719,18,19,2,1,0.925,-0.54838 } ); +cells.push_back( {12001812,700,18,20,1,1,0.967,-0.498817 } ); +cells.push_back( {12001822,720,18,20,2,1,0.967,-0.54838 } ); +cells.push_back( {10101911,721,19,1,1,2,0.02675,-0.603537 } ); +cells.push_back( {10101921,741,19,1,2,2,0.02675,-0.6531 } ); +cells.push_back( {10201911,722,19,2,1,2,0.075,-0.603537 } ); +cells.push_back( {10201921,742,19,2,2,2,0.075,-0.6531 } ); +cells.push_back( {10301911,723,19,3,1,2,0.125,-0.603537 } ); +cells.push_back( {10301921,743,19,3,2,2,0.125,-0.6531 } ); +cells.push_back( {10401911,724,19,4,1,2,0.175,-0.603537 } ); +cells.push_back( {10401921,744,19,4,2,2,0.175,-0.6531 } ); +cells.push_back( {10501911,725,19,5,1,2,0.225,-0.603537 } ); +cells.push_back( {10501921,745,19,5,2,2,0.225,-0.6531 } ); +cells.push_back( {10601911,726,19,6,1,2,0.275,-0.603537 } ); +cells.push_back( {10601921,746,19,6,2,2,0.275,-0.6531 } ); +cells.push_back( {10701911,727,19,7,1,2,0.325,-0.603537 } ); +cells.push_back( {10701921,747,19,7,2,2,0.325,-0.6531 } ); +cells.push_back( {10801911,728,19,8,1,2,0.375,-0.603537 } ); +cells.push_back( {10801921,748,19,8,2,2,0.375,-0.6531 } ); +cells.push_back( {10901911,729,19,9,1,2,0.425,-0.603537 } ); +cells.push_back( {10901921,749,19,9,2,2,0.425,-0.6531 } ); +cells.push_back( {11001911,730,19,10,1,2,0.475,-0.603537 } ); +cells.push_back( {11001921,750,19,10,2,2,0.475,-0.6531 } ); +cells.push_back( {11101911,731,19,11,1,2,0.525,-0.603537 } ); +cells.push_back( {11101921,751,19,11,2,2,0.525,-0.6531 } ); +cells.push_back( {11201911,732,19,12,1,2,0.575,-0.603537 } ); +cells.push_back( {11201921,752,19,12,2,2,0.575,-0.6531 } ); +cells.push_back( {11301911,733,19,13,1,2,0.625,-0.603537 } ); +cells.push_back( {11301921,753,19,13,2,2,0.625,-0.6531 } ); +cells.push_back( {11401911,734,19,14,1,2,0.675,-0.603537 } ); +cells.push_back( {11401921,754,19,14,2,2,0.675,-0.6531 } ); +cells.push_back( {11501911,735,19,15,1,2,0.725,-0.603537 } ); +cells.push_back( {11501921,755,19,15,2,2,0.725,-0.6531 } ); +cells.push_back( {11601911,736,19,16,1,2,0.775,-0.603537 } ); +cells.push_back( {11601921,756,19,16,2,2,0.775,-0.6531 } ); +cells.push_back( {11701911,737,19,17,1,2,0.825,-0.603537 } ); +cells.push_back( {11701921,757,19,17,2,2,0.825,-0.6531 } ); +cells.push_back( {11801911,738,19,18,1,2,0.875,-0.603537 } ); +cells.push_back( {11801921,758,19,18,2,2,0.875,-0.6531 } ); +cells.push_back( {11901911,739,19,19,1,2,0.925,-0.603537 } ); +cells.push_back( {11901921,759,19,19,2,2,0.925,-0.6531 } ); +cells.push_back( {12001911,740,19,20,1,2,0.967,-0.603537 } ); +cells.push_back( {12001921,760,19,20,2,2,0.967,-0.6531 } ); +cells.push_back( {10101912,721,19,1,1,1,0.02675,-0.603537 } ); +cells.push_back( {10101922,741,19,1,2,1,0.02675,-0.6531 } ); +cells.push_back( {10201912,722,19,2,1,1,0.075,-0.603537 } ); +cells.push_back( {10201922,742,19,2,2,1,0.075,-0.6531 } ); +cells.push_back( {10301912,723,19,3,1,1,0.125,-0.603537 } ); +cells.push_back( {10301922,743,19,3,2,1,0.125,-0.6531 } ); +cells.push_back( {10401912,724,19,4,1,1,0.175,-0.603537 } ); +cells.push_back( {10401922,744,19,4,2,1,0.175,-0.6531 } ); +cells.push_back( {10501912,725,19,5,1,1,0.225,-0.603537 } ); +cells.push_back( {10501922,745,19,5,2,1,0.225,-0.6531 } ); +cells.push_back( {10601912,726,19,6,1,1,0.275,-0.603537 } ); +cells.push_back( {10601922,746,19,6,2,1,0.275,-0.6531 } ); +cells.push_back( {10701912,727,19,7,1,1,0.325,-0.603537 } ); +cells.push_back( {10701922,747,19,7,2,1,0.325,-0.6531 } ); +cells.push_back( {10801912,728,19,8,1,1,0.375,-0.603537 } ); +cells.push_back( {10801922,748,19,8,2,1,0.375,-0.6531 } ); +cells.push_back( {10901912,729,19,9,1,1,0.425,-0.603537 } ); +cells.push_back( {10901922,749,19,9,2,1,0.425,-0.6531 } ); +cells.push_back( {11001912,730,19,10,1,1,0.475,-0.603537 } ); +cells.push_back( {11001922,750,19,10,2,1,0.475,-0.6531 } ); +cells.push_back( {11101912,731,19,11,1,1,0.525,-0.603537 } ); +cells.push_back( {11101922,751,19,11,2,1,0.525,-0.6531 } ); +cells.push_back( {11201912,732,19,12,1,1,0.575,-0.603537 } ); +cells.push_back( {11201922,752,19,12,2,1,0.575,-0.6531 } ); +cells.push_back( {11301912,733,19,13,1,1,0.625,-0.603537 } ); +cells.push_back( {11301922,753,19,13,2,1,0.625,-0.6531 } ); +cells.push_back( {11401912,734,19,14,1,1,0.675,-0.603537 } ); +cells.push_back( {11401922,754,19,14,2,1,0.675,-0.6531 } ); +cells.push_back( {11501912,735,19,15,1,1,0.725,-0.603537 } ); +cells.push_back( {11501922,755,19,15,2,1,0.725,-0.6531 } ); +cells.push_back( {11601912,736,19,16,1,1,0.775,-0.603537 } ); +cells.push_back( {11601922,756,19,16,2,1,0.775,-0.6531 } ); +cells.push_back( {11701912,737,19,17,1,1,0.825,-0.603537 } ); +cells.push_back( {11701922,757,19,17,2,1,0.825,-0.6531 } ); +cells.push_back( {11801912,738,19,18,1,1,0.875,-0.603537 } ); +cells.push_back( {11801922,758,19,18,2,1,0.875,-0.6531 } ); +cells.push_back( {11901912,739,19,19,1,1,0.925,-0.603537 } ); +cells.push_back( {11901922,759,19,19,2,1,0.925,-0.6531 } ); +cells.push_back( {12001912,740,19,20,1,1,0.967,-0.603537 } ); +cells.push_back( {12001922,760,19,20,2,1,0.967,-0.6531 } ); +cells.push_back( {10102011,761,20,1,1,2,0.02675,-0.708257 } ); +cells.push_back( {10102021,781,20,1,2,2,0.02675,-0.75782 } ); +cells.push_back( {10202011,762,20,2,1,2,0.075,-0.708257 } ); +cells.push_back( {10202021,782,20,2,2,2,0.075,-0.75782 } ); +cells.push_back( {10302011,763,20,3,1,2,0.125,-0.708257 } ); +cells.push_back( {10302021,783,20,3,2,2,0.125,-0.75782 } ); +cells.push_back( {10402011,764,20,4,1,2,0.175,-0.708257 } ); +cells.push_back( {10402021,784,20,4,2,2,0.175,-0.75782 } ); +cells.push_back( {10502011,765,20,5,1,2,0.225,-0.708257 } ); +cells.push_back( {10502021,785,20,5,2,2,0.225,-0.75782 } ); +cells.push_back( {10602011,766,20,6,1,2,0.275,-0.708257 } ); +cells.push_back( {10602021,786,20,6,2,2,0.275,-0.75782 } ); +cells.push_back( {10702011,767,20,7,1,2,0.325,-0.708257 } ); +cells.push_back( {10702021,787,20,7,2,2,0.325,-0.75782 } ); +cells.push_back( {10802011,768,20,8,1,2,0.375,-0.708257 } ); +cells.push_back( {10802021,788,20,8,2,2,0.375,-0.75782 } ); +cells.push_back( {10902011,769,20,9,1,2,0.425,-0.708257 } ); +cells.push_back( {10902021,789,20,9,2,2,0.425,-0.75782 } ); +cells.push_back( {11002011,770,20,10,1,2,0.475,-0.708257 } ); +cells.push_back( {11002021,790,20,10,2,2,0.475,-0.75782 } ); +cells.push_back( {11102011,771,20,11,1,2,0.525,-0.708257 } ); +cells.push_back( {11102021,791,20,11,2,2,0.525,-0.75782 } ); +cells.push_back( {11202011,772,20,12,1,2,0.575,-0.708257 } ); +cells.push_back( {11202021,792,20,12,2,2,0.575,-0.75782 } ); +cells.push_back( {11302011,773,20,13,1,2,0.625,-0.708257 } ); +cells.push_back( {11302021,793,20,13,2,2,0.625,-0.75782 } ); +cells.push_back( {11402011,774,20,14,1,2,0.675,-0.708257 } ); +cells.push_back( {11402021,794,20,14,2,2,0.675,-0.75782 } ); +cells.push_back( {11502011,775,20,15,1,2,0.725,-0.708257 } ); +cells.push_back( {11502021,795,20,15,2,2,0.725,-0.75782 } ); +cells.push_back( {11602011,776,20,16,1,2,0.775,-0.708257 } ); +cells.push_back( {11602021,796,20,16,2,2,0.775,-0.75782 } ); +cells.push_back( {11702011,777,20,17,1,2,0.825,-0.708257 } ); +cells.push_back( {11702021,797,20,17,2,2,0.825,-0.75782 } ); +cells.push_back( {11802011,778,20,18,1,2,0.875,-0.708257 } ); +cells.push_back( {11802021,798,20,18,2,2,0.875,-0.75782 } ); +cells.push_back( {11902011,779,20,19,1,2,0.925,-0.708257 } ); +cells.push_back( {11902021,799,20,19,2,2,0.925,-0.75782 } ); +cells.push_back( {12002011,780,20,20,1,2,0.967,-0.708257 } ); +cells.push_back( {12002021,800,20,20,2,2,0.967,-0.75782 } ); +cells.push_back( {10102012,761,20,1,1,1,0.02675,-0.708257 } ); +cells.push_back( {10102022,781,20,1,2,1,0.02675,-0.75782 } ); +cells.push_back( {10202012,762,20,2,1,1,0.075,-0.708257 } ); +cells.push_back( {10202022,782,20,2,2,1,0.075,-0.75782 } ); +cells.push_back( {10302012,763,20,3,1,1,0.125,-0.708257 } ); +cells.push_back( {10302022,783,20,3,2,1,0.125,-0.75782 } ); +cells.push_back( {10402012,764,20,4,1,1,0.175,-0.708257 } ); +cells.push_back( {10402022,784,20,4,2,1,0.175,-0.75782 } ); +cells.push_back( {10502012,765,20,5,1,1,0.225,-0.708257 } ); +cells.push_back( {10502022,785,20,5,2,1,0.225,-0.75782 } ); +cells.push_back( {10602012,766,20,6,1,1,0.275,-0.708257 } ); +cells.push_back( {10602022,786,20,6,2,1,0.275,-0.75782 } ); +cells.push_back( {10702012,767,20,7,1,1,0.325,-0.708257 } ); +cells.push_back( {10702022,787,20,7,2,1,0.325,-0.75782 } ); +cells.push_back( {10802012,768,20,8,1,1,0.375,-0.708257 } ); +cells.push_back( {10802022,788,20,8,2,1,0.375,-0.75782 } ); +cells.push_back( {10902012,769,20,9,1,1,0.425,-0.708257 } ); +cells.push_back( {10902022,789,20,9,2,1,0.425,-0.75782 } ); +cells.push_back( {11002012,770,20,10,1,1,0.475,-0.708257 } ); +cells.push_back( {11002022,790,20,10,2,1,0.475,-0.75782 } ); +cells.push_back( {11102012,771,20,11,1,1,0.525,-0.708257 } ); +cells.push_back( {11102022,791,20,11,2,1,0.525,-0.75782 } ); +cells.push_back( {11202012,772,20,12,1,1,0.575,-0.708257 } ); +cells.push_back( {11202022,792,20,12,2,1,0.575,-0.75782 } ); +cells.push_back( {11302012,773,20,13,1,1,0.625,-0.708257 } ); +cells.push_back( {11302022,793,20,13,2,1,0.625,-0.75782 } ); +cells.push_back( {11402012,774,20,14,1,1,0.675,-0.708257 } ); +cells.push_back( {11402022,794,20,14,2,1,0.675,-0.75782 } ); +cells.push_back( {11502012,775,20,15,1,1,0.725,-0.708257 } ); +cells.push_back( {11502022,795,20,15,2,1,0.725,-0.75782 } ); +cells.push_back( {11602012,776,20,16,1,1,0.775,-0.708257 } ); +cells.push_back( {11602022,796,20,16,2,1,0.775,-0.75782 } ); +cells.push_back( {11702012,777,20,17,1,1,0.825,-0.708257 } ); +cells.push_back( {11702022,797,20,17,2,1,0.825,-0.75782 } ); +cells.push_back( {11802012,778,20,18,1,1,0.875,-0.708257 } ); +cells.push_back( {11802022,798,20,18,2,1,0.875,-0.75782 } ); +cells.push_back( {11902012,779,20,19,1,1,0.925,-0.708257 } ); +cells.push_back( {11902022,799,20,19,2,1,0.925,-0.75782 } ); +cells.push_back( {12002012,780,20,20,1,1,0.967,-0.708257 } ); +cells.push_back( {12002022,800,20,20,2,1,0.967,-0.75782 } ); +cells.push_back( {10102111,801,21,1,1,2,0.02675,-0.812977 } ); +cells.push_back( {10102121,821,21,1,2,2,0.02675,-0.862539 } ); +cells.push_back( {10202111,802,21,2,1,2,0.075,-0.812977 } ); +cells.push_back( {10202121,822,21,2,2,2,0.075,-0.862539 } ); +cells.push_back( {10302111,803,21,3,1,2,0.125,-0.812977 } ); +cells.push_back( {10302121,823,21,3,2,2,0.125,-0.862539 } ); +cells.push_back( {10402111,804,21,4,1,2,0.175,-0.812977 } ); +cells.push_back( {10402121,824,21,4,2,2,0.175,-0.862539 } ); +cells.push_back( {10502111,805,21,5,1,2,0.225,-0.812977 } ); +cells.push_back( {10502121,825,21,5,2,2,0.225,-0.862539 } ); +cells.push_back( {10602111,806,21,6,1,2,0.275,-0.812977 } ); +cells.push_back( {10602121,826,21,6,2,2,0.275,-0.862539 } ); +cells.push_back( {10702111,807,21,7,1,2,0.325,-0.812977 } ); +cells.push_back( {10702121,827,21,7,2,2,0.325,-0.862539 } ); +cells.push_back( {10802111,808,21,8,1,2,0.375,-0.812977 } ); +cells.push_back( {10802121,828,21,8,2,2,0.375,-0.862539 } ); +cells.push_back( {10902111,809,21,9,1,2,0.425,-0.812977 } ); +cells.push_back( {10902121,829,21,9,2,2,0.425,-0.862539 } ); +cells.push_back( {11002111,810,21,10,1,2,0.475,-0.812977 } ); +cells.push_back( {11002121,830,21,10,2,2,0.475,-0.862539 } ); +cells.push_back( {11102111,811,21,11,1,2,0.525,-0.812977 } ); +cells.push_back( {11102121,831,21,11,2,2,0.525,-0.862539 } ); +cells.push_back( {11202111,812,21,12,1,2,0.575,-0.812977 } ); +cells.push_back( {11202121,832,21,12,2,2,0.575,-0.862539 } ); +cells.push_back( {11302111,813,21,13,1,2,0.625,-0.812977 } ); +cells.push_back( {11302121,833,21,13,2,2,0.625,-0.862539 } ); +cells.push_back( {11402111,814,21,14,1,2,0.675,-0.812977 } ); +cells.push_back( {11402121,834,21,14,2,2,0.675,-0.862539 } ); +cells.push_back( {11502111,815,21,15,1,2,0.725,-0.812977 } ); +cells.push_back( {11502121,835,21,15,2,2,0.725,-0.862539 } ); +cells.push_back( {11602111,816,21,16,1,2,0.775,-0.812977 } ); +cells.push_back( {11602121,836,21,16,2,2,0.775,-0.862539 } ); +cells.push_back( {11702111,817,21,17,1,2,0.825,-0.812977 } ); +cells.push_back( {11702121,837,21,17,2,2,0.825,-0.862539 } ); +cells.push_back( {11802111,818,21,18,1,2,0.875,-0.812977 } ); +cells.push_back( {11802121,838,21,18,2,2,0.875,-0.862539 } ); +cells.push_back( {11902111,819,21,19,1,2,0.925,-0.812977 } ); +cells.push_back( {11902121,839,21,19,2,2,0.925,-0.862539 } ); +cells.push_back( {12002111,820,21,20,1,2,0.967,-0.812977 } ); +cells.push_back( {12002121,840,21,20,2,2,0.967,-0.862539 } ); +cells.push_back( {10102112,801,21,1,1,1,0.02675,-0.812977 } ); +cells.push_back( {10102122,821,21,1,2,1,0.02675,-0.862539 } ); +cells.push_back( {10202112,802,21,2,1,1,0.075,-0.812977 } ); +cells.push_back( {10202122,822,21,2,2,1,0.075,-0.862539 } ); +cells.push_back( {10302112,803,21,3,1,1,0.125,-0.812977 } ); +cells.push_back( {10302122,823,21,3,2,1,0.125,-0.862539 } ); +cells.push_back( {10402112,804,21,4,1,1,0.175,-0.812977 } ); +cells.push_back( {10402122,824,21,4,2,1,0.175,-0.862539 } ); +cells.push_back( {10502112,805,21,5,1,1,0.225,-0.812977 } ); +cells.push_back( {10502122,825,21,5,2,1,0.225,-0.862539 } ); +cells.push_back( {10602112,806,21,6,1,1,0.275,-0.812977 } ); +cells.push_back( {10602122,826,21,6,2,1,0.275,-0.862539 } ); +cells.push_back( {10702112,807,21,7,1,1,0.325,-0.812977 } ); +cells.push_back( {10702122,827,21,7,2,1,0.325,-0.862539 } ); +cells.push_back( {10802112,808,21,8,1,1,0.375,-0.812977 } ); +cells.push_back( {10802122,828,21,8,2,1,0.375,-0.862539 } ); +cells.push_back( {10902112,809,21,9,1,1,0.425,-0.812977 } ); +cells.push_back( {10902122,829,21,9,2,1,0.425,-0.862539 } ); +cells.push_back( {11002112,810,21,10,1,1,0.475,-0.812977 } ); +cells.push_back( {11002122,830,21,10,2,1,0.475,-0.862539 } ); +cells.push_back( {11102112,811,21,11,1,1,0.525,-0.812977 } ); +cells.push_back( {11102122,831,21,11,2,1,0.525,-0.862539 } ); +cells.push_back( {11202112,812,21,12,1,1,0.575,-0.812977 } ); +cells.push_back( {11202122,832,21,12,2,1,0.575,-0.862539 } ); +cells.push_back( {11302112,813,21,13,1,1,0.625,-0.812977 } ); +cells.push_back( {11302122,833,21,13,2,1,0.625,-0.862539 } ); +cells.push_back( {11402112,814,21,14,1,1,0.675,-0.812977 } ); +cells.push_back( {11402122,834,21,14,2,1,0.675,-0.862539 } ); +cells.push_back( {11502112,815,21,15,1,1,0.725,-0.812977 } ); +cells.push_back( {11502122,835,21,15,2,1,0.725,-0.862539 } ); +cells.push_back( {11602112,816,21,16,1,1,0.775,-0.812977 } ); +cells.push_back( {11602122,836,21,16,2,1,0.775,-0.862539 } ); +cells.push_back( {11702112,817,21,17,1,1,0.825,-0.812977 } ); +cells.push_back( {11702122,837,21,17,2,1,0.825,-0.862539 } ); +cells.push_back( {11802112,818,21,18,1,1,0.875,-0.812977 } ); +cells.push_back( {11802122,838,21,18,2,1,0.875,-0.862539 } ); +cells.push_back( {11902112,819,21,19,1,1,0.925,-0.812977 } ); +cells.push_back( {11902122,839,21,19,2,1,0.925,-0.862539 } ); +cells.push_back( {12002112,820,21,20,1,1,0.967,-0.812977 } ); +cells.push_back( {12002122,840,21,20,2,1,0.967,-0.862539 } ); +cells.push_back( {10102211,841,22,1,1,2,0.02675,-0.917696 } ); +cells.push_back( {10102221,861,22,1,2,2,0.02675,-0.967259 } ); +cells.push_back( {10202211,842,22,2,1,2,0.075,-0.917696 } ); +cells.push_back( {10202221,862,22,2,2,2,0.075,-0.967259 } ); +cells.push_back( {10302211,843,22,3,1,2,0.125,-0.917696 } ); +cells.push_back( {10302221,863,22,3,2,2,0.125,-0.967259 } ); +cells.push_back( {10402211,844,22,4,1,2,0.175,-0.917696 } ); +cells.push_back( {10402221,864,22,4,2,2,0.175,-0.967259 } ); +cells.push_back( {10502211,845,22,5,1,2,0.225,-0.917696 } ); +cells.push_back( {10502221,865,22,5,2,2,0.225,-0.967259 } ); +cells.push_back( {10602211,846,22,6,1,2,0.275,-0.917696 } ); +cells.push_back( {10602221,866,22,6,2,2,0.275,-0.967259 } ); +cells.push_back( {10702211,847,22,7,1,2,0.325,-0.917696 } ); +cells.push_back( {10702221,867,22,7,2,2,0.325,-0.967259 } ); +cells.push_back( {10802211,848,22,8,1,2,0.375,-0.917696 } ); +cells.push_back( {10802221,868,22,8,2,2,0.375,-0.967259 } ); +cells.push_back( {10902211,849,22,9,1,2,0.425,-0.917696 } ); +cells.push_back( {10902221,869,22,9,2,2,0.425,-0.967259 } ); +cells.push_back( {11002211,850,22,10,1,2,0.475,-0.917696 } ); +cells.push_back( {11002221,870,22,10,2,2,0.475,-0.967259 } ); +cells.push_back( {11102211,851,22,11,1,2,0.525,-0.917696 } ); +cells.push_back( {11102221,871,22,11,2,2,0.525,-0.967259 } ); +cells.push_back( {11202211,852,22,12,1,2,0.575,-0.917696 } ); +cells.push_back( {11202221,872,22,12,2,2,0.575,-0.967259 } ); +cells.push_back( {11302211,853,22,13,1,2,0.625,-0.917696 } ); +cells.push_back( {11302221,873,22,13,2,2,0.625,-0.967259 } ); +cells.push_back( {11402211,854,22,14,1,2,0.675,-0.917696 } ); +cells.push_back( {11402221,874,22,14,2,2,0.675,-0.967259 } ); +cells.push_back( {11502211,855,22,15,1,2,0.725,-0.917696 } ); +cells.push_back( {11502221,875,22,15,2,2,0.725,-0.967259 } ); +cells.push_back( {11602211,856,22,16,1,2,0.775,-0.917696 } ); +cells.push_back( {11602221,876,22,16,2,2,0.775,-0.967259 } ); +cells.push_back( {11702211,857,22,17,1,2,0.825,-0.917696 } ); +cells.push_back( {11702221,877,22,17,2,2,0.825,-0.967259 } ); +cells.push_back( {11802211,858,22,18,1,2,0.875,-0.917696 } ); +cells.push_back( {11802221,878,22,18,2,2,0.875,-0.967259 } ); +cells.push_back( {11902211,859,22,19,1,2,0.925,-0.917696 } ); +cells.push_back( {11902221,879,22,19,2,2,0.925,-0.967259 } ); +cells.push_back( {12002211,860,22,20,1,2,0.967,-0.917696 } ); +cells.push_back( {12002221,880,22,20,2,2,0.967,-0.967259 } ); +cells.push_back( {10102212,841,22,1,1,1,0.02675,-0.917696 } ); +cells.push_back( {10102222,861,22,1,2,1,0.02675,-0.967259 } ); +cells.push_back( {10202212,842,22,2,1,1,0.075,-0.917696 } ); +cells.push_back( {10202222,862,22,2,2,1,0.075,-0.967259 } ); +cells.push_back( {10302212,843,22,3,1,1,0.125,-0.917696 } ); +cells.push_back( {10302222,863,22,3,2,1,0.125,-0.967259 } ); +cells.push_back( {10402212,844,22,4,1,1,0.175,-0.917696 } ); +cells.push_back( {10402222,864,22,4,2,1,0.175,-0.967259 } ); +cells.push_back( {10502212,845,22,5,1,1,0.225,-0.917696 } ); +cells.push_back( {10502222,865,22,5,2,1,0.225,-0.967259 } ); +cells.push_back( {10602212,846,22,6,1,1,0.275,-0.917696 } ); +cells.push_back( {10602222,866,22,6,2,1,0.275,-0.967259 } ); +cells.push_back( {10702212,847,22,7,1,1,0.325,-0.917696 } ); +cells.push_back( {10702222,867,22,7,2,1,0.325,-0.967259 } ); +cells.push_back( {10802212,848,22,8,1,1,0.375,-0.917696 } ); +cells.push_back( {10802222,868,22,8,2,1,0.375,-0.967259 } ); +cells.push_back( {10902212,849,22,9,1,1,0.425,-0.917696 } ); +cells.push_back( {10902222,869,22,9,2,1,0.425,-0.967259 } ); +cells.push_back( {11002212,850,22,10,1,1,0.475,-0.917696 } ); +cells.push_back( {11002222,870,22,10,2,1,0.475,-0.967259 } ); +cells.push_back( {11102212,851,22,11,1,1,0.525,-0.917696 } ); +cells.push_back( {11102222,871,22,11,2,1,0.525,-0.967259 } ); +cells.push_back( {11202212,852,22,12,1,1,0.575,-0.917696 } ); +cells.push_back( {11202222,872,22,12,2,1,0.575,-0.967259 } ); +cells.push_back( {11302212,853,22,13,1,1,0.625,-0.917696 } ); +cells.push_back( {11302222,873,22,13,2,1,0.625,-0.967259 } ); +cells.push_back( {11402212,854,22,14,1,1,0.675,-0.917696 } ); +cells.push_back( {11402222,874,22,14,2,1,0.675,-0.967259 } ); +cells.push_back( {11502212,855,22,15,1,1,0.725,-0.917696 } ); +cells.push_back( {11502222,875,22,15,2,1,0.725,-0.967259 } ); +cells.push_back( {11602212,856,22,16,1,1,0.775,-0.917696 } ); +cells.push_back( {11602222,876,22,16,2,1,0.775,-0.967259 } ); +cells.push_back( {11702212,857,22,17,1,1,0.825,-0.917696 } ); +cells.push_back( {11702222,877,22,17,2,1,0.825,-0.967259 } ); +cells.push_back( {11802212,858,22,18,1,1,0.875,-0.917696 } ); +cells.push_back( {11802222,878,22,18,2,1,0.875,-0.967259 } ); +cells.push_back( {11902212,859,22,19,1,1,0.925,-0.917696 } ); +cells.push_back( {11902222,879,22,19,2,1,0.925,-0.967259 } ); +cells.push_back( {12002212,860,22,20,1,1,0.967,-0.917696 } ); +cells.push_back( {12002222,880,22,20,2,1,0.967,-0.967259 } ); +cells.push_back( {10102311,881,23,1,1,2,0.02675,-1.02242 } ); +cells.push_back( {10102321,901,23,1,2,2,0.02675,-1.07198 } ); +cells.push_back( {10202311,882,23,2,1,2,0.075,-1.02242 } ); +cells.push_back( {10202321,902,23,2,2,2,0.075,-1.07198 } ); +cells.push_back( {10302311,883,23,3,1,2,0.125,-1.02242 } ); +cells.push_back( {10302321,903,23,3,2,2,0.125,-1.07198 } ); +cells.push_back( {10402311,884,23,4,1,2,0.175,-1.02242 } ); +cells.push_back( {10402321,904,23,4,2,2,0.175,-1.07198 } ); +cells.push_back( {10502311,885,23,5,1,2,0.225,-1.02242 } ); +cells.push_back( {10502321,905,23,5,2,2,0.225,-1.07198 } ); +cells.push_back( {10602311,886,23,6,1,2,0.275,-1.02242 } ); +cells.push_back( {10602321,906,23,6,2,2,0.275,-1.07198 } ); +cells.push_back( {10702311,887,23,7,1,2,0.325,-1.02242 } ); +cells.push_back( {10702321,907,23,7,2,2,0.325,-1.07198 } ); +cells.push_back( {10802311,888,23,8,1,2,0.375,-1.02242 } ); +cells.push_back( {10802321,908,23,8,2,2,0.375,-1.07198 } ); +cells.push_back( {10902311,889,23,9,1,2,0.425,-1.02242 } ); +cells.push_back( {10902321,909,23,9,2,2,0.425,-1.07198 } ); +cells.push_back( {11002311,890,23,10,1,2,0.475,-1.02242 } ); +cells.push_back( {11002321,910,23,10,2,2,0.475,-1.07198 } ); +cells.push_back( {11102311,891,23,11,1,2,0.525,-1.02242 } ); +cells.push_back( {11102321,911,23,11,2,2,0.525,-1.07198 } ); +cells.push_back( {11202311,892,23,12,1,2,0.575,-1.02242 } ); +cells.push_back( {11202321,912,23,12,2,2,0.575,-1.07198 } ); +cells.push_back( {11302311,893,23,13,1,2,0.625,-1.02242 } ); +cells.push_back( {11302321,913,23,13,2,2,0.625,-1.07198 } ); +cells.push_back( {11402311,894,23,14,1,2,0.675,-1.02242 } ); +cells.push_back( {11402321,914,23,14,2,2,0.675,-1.07198 } ); +cells.push_back( {11502311,895,23,15,1,2,0.725,-1.02242 } ); +cells.push_back( {11502321,915,23,15,2,2,0.725,-1.07198 } ); +cells.push_back( {11602311,896,23,16,1,2,0.775,-1.02242 } ); +cells.push_back( {11602321,916,23,16,2,2,0.775,-1.07198 } ); +cells.push_back( {11702311,897,23,17,1,2,0.825,-1.02242 } ); +cells.push_back( {11702321,917,23,17,2,2,0.825,-1.07198 } ); +cells.push_back( {11802311,898,23,18,1,2,0.875,-1.02242 } ); +cells.push_back( {11802321,918,23,18,2,2,0.875,-1.07198 } ); +cells.push_back( {11902311,899,23,19,1,2,0.925,-1.02242 } ); +cells.push_back( {11902321,919,23,19,2,2,0.925,-1.07198 } ); +cells.push_back( {12002311,900,23,20,1,2,0.967,-1.02242 } ); +cells.push_back( {12002321,920,23,20,2,2,0.967,-1.07198 } ); +cells.push_back( {10102312,881,23,1,1,1,0.02675,-1.02242 } ); +cells.push_back( {10102322,901,23,1,2,1,0.02675,-1.07198 } ); +cells.push_back( {10202312,882,23,2,1,1,0.075,-1.02242 } ); +cells.push_back( {10202322,902,23,2,2,1,0.075,-1.07198 } ); +cells.push_back( {10302312,883,23,3,1,1,0.125,-1.02242 } ); +cells.push_back( {10302322,903,23,3,2,1,0.125,-1.07198 } ); +cells.push_back( {10402312,884,23,4,1,1,0.175,-1.02242 } ); +cells.push_back( {10402322,904,23,4,2,1,0.175,-1.07198 } ); +cells.push_back( {10502312,885,23,5,1,1,0.225,-1.02242 } ); +cells.push_back( {10502322,905,23,5,2,1,0.225,-1.07198 } ); +cells.push_back( {10602312,886,23,6,1,1,0.275,-1.02242 } ); +cells.push_back( {10602322,906,23,6,2,1,0.275,-1.07198 } ); +cells.push_back( {10702312,887,23,7,1,1,0.325,-1.02242 } ); +cells.push_back( {10702322,907,23,7,2,1,0.325,-1.07198 } ); +cells.push_back( {10802312,888,23,8,1,1,0.375,-1.02242 } ); +cells.push_back( {10802322,908,23,8,2,1,0.375,-1.07198 } ); +cells.push_back( {10902312,889,23,9,1,1,0.425,-1.02242 } ); +cells.push_back( {10902322,909,23,9,2,1,0.425,-1.07198 } ); +cells.push_back( {11002312,890,23,10,1,1,0.475,-1.02242 } ); +cells.push_back( {11002322,910,23,10,2,1,0.475,-1.07198 } ); +cells.push_back( {11102312,891,23,11,1,1,0.525,-1.02242 } ); +cells.push_back( {11102322,911,23,11,2,1,0.525,-1.07198 } ); +cells.push_back( {11202312,892,23,12,1,1,0.575,-1.02242 } ); +cells.push_back( {11202322,912,23,12,2,1,0.575,-1.07198 } ); +cells.push_back( {11302312,893,23,13,1,1,0.625,-1.02242 } ); +cells.push_back( {11302322,913,23,13,2,1,0.625,-1.07198 } ); +cells.push_back( {11402312,894,23,14,1,1,0.675,-1.02242 } ); +cells.push_back( {11402322,914,23,14,2,1,0.675,-1.07198 } ); +cells.push_back( {11502312,895,23,15,1,1,0.725,-1.02242 } ); +cells.push_back( {11502322,915,23,15,2,1,0.725,-1.07198 } ); +cells.push_back( {11602312,896,23,16,1,1,0.775,-1.02242 } ); +cells.push_back( {11602322,916,23,16,2,1,0.775,-1.07198 } ); +cells.push_back( {11702312,897,23,17,1,1,0.825,-1.02242 } ); +cells.push_back( {11702322,917,23,17,2,1,0.825,-1.07198 } ); +cells.push_back( {11802312,898,23,18,1,1,0.875,-1.02242 } ); +cells.push_back( {11802322,918,23,18,2,1,0.875,-1.07198 } ); +cells.push_back( {11902312,899,23,19,1,1,0.925,-1.02242 } ); +cells.push_back( {11902322,919,23,19,2,1,0.925,-1.07198 } ); +cells.push_back( {12002312,900,23,20,1,1,0.967,-1.02242 } ); +cells.push_back( {12002322,920,23,20,2,1,0.967,-1.07198 } ); +cells.push_back( {10102411,921,24,1,1,2,0.02675,-1.12714 } ); +cells.push_back( {10102421,941,24,1,2,2,0.02675,-1.1767 } ); +cells.push_back( {10202411,922,24,2,1,2,0.075,-1.12714 } ); +cells.push_back( {10202421,942,24,2,2,2,0.075,-1.1767 } ); +cells.push_back( {10302411,923,24,3,1,2,0.125,-1.12714 } ); +cells.push_back( {10302421,943,24,3,2,2,0.125,-1.1767 } ); +cells.push_back( {10402411,924,24,4,1,2,0.175,-1.12714 } ); +cells.push_back( {10402421,944,24,4,2,2,0.175,-1.1767 } ); +cells.push_back( {10502411,925,24,5,1,2,0.225,-1.12714 } ); +cells.push_back( {10502421,945,24,5,2,2,0.225,-1.1767 } ); +cells.push_back( {10602411,926,24,6,1,2,0.275,-1.12714 } ); +cells.push_back( {10602421,946,24,6,2,2,0.275,-1.1767 } ); +cells.push_back( {10702411,927,24,7,1,2,0.325,-1.12714 } ); +cells.push_back( {10702421,947,24,7,2,2,0.325,-1.1767 } ); +cells.push_back( {10802411,928,24,8,1,2,0.375,-1.12714 } ); +cells.push_back( {10802421,948,24,8,2,2,0.375,-1.1767 } ); +cells.push_back( {10902411,929,24,9,1,2,0.425,-1.12714 } ); +cells.push_back( {10902421,949,24,9,2,2,0.425,-1.1767 } ); +cells.push_back( {11002411,930,24,10,1,2,0.475,-1.12714 } ); +cells.push_back( {11002421,950,24,10,2,2,0.475,-1.1767 } ); +cells.push_back( {11102411,931,24,11,1,2,0.525,-1.12714 } ); +cells.push_back( {11102421,951,24,11,2,2,0.525,-1.1767 } ); +cells.push_back( {11202411,932,24,12,1,2,0.575,-1.12714 } ); +cells.push_back( {11202421,952,24,12,2,2,0.575,-1.1767 } ); +cells.push_back( {11302411,933,24,13,1,2,0.625,-1.12714 } ); +cells.push_back( {11302421,953,24,13,2,2,0.625,-1.1767 } ); +cells.push_back( {11402411,934,24,14,1,2,0.675,-1.12714 } ); +cells.push_back( {11402421,954,24,14,2,2,0.675,-1.1767 } ); +cells.push_back( {11502411,935,24,15,1,2,0.725,-1.12714 } ); +cells.push_back( {11502421,955,24,15,2,2,0.725,-1.1767 } ); +cells.push_back( {11602411,936,24,16,1,2,0.775,-1.12714 } ); +cells.push_back( {11602421,956,24,16,2,2,0.775,-1.1767 } ); +cells.push_back( {11702411,937,24,17,1,2,0.825,-1.12714 } ); +cells.push_back( {11702421,957,24,17,2,2,0.825,-1.1767 } ); +cells.push_back( {11802411,938,24,18,1,2,0.875,-1.12714 } ); +cells.push_back( {11802421,958,24,18,2,2,0.875,-1.1767 } ); +cells.push_back( {11902411,939,24,19,1,2,0.925,-1.12714 } ); +cells.push_back( {11902421,959,24,19,2,2,0.925,-1.1767 } ); +cells.push_back( {12002411,940,24,20,1,2,0.967,-1.12714 } ); +cells.push_back( {12002421,960,24,20,2,2,0.967,-1.1767 } ); +cells.push_back( {10102412,921,24,1,1,1,0.02675,-1.12714 } ); +cells.push_back( {10102422,941,24,1,2,1,0.02675,-1.1767 } ); +cells.push_back( {10202412,922,24,2,1,1,0.075,-1.12714 } ); +cells.push_back( {10202422,942,24,2,2,1,0.075,-1.1767 } ); +cells.push_back( {10302412,923,24,3,1,1,0.125,-1.12714 } ); +cells.push_back( {10302422,943,24,3,2,1,0.125,-1.1767 } ); +cells.push_back( {10402412,924,24,4,1,1,0.175,-1.12714 } ); +cells.push_back( {10402422,944,24,4,2,1,0.175,-1.1767 } ); +cells.push_back( {10502412,925,24,5,1,1,0.225,-1.12714 } ); +cells.push_back( {10502422,945,24,5,2,1,0.225,-1.1767 } ); +cells.push_back( {10602412,926,24,6,1,1,0.275,-1.12714 } ); +cells.push_back( {10602422,946,24,6,2,1,0.275,-1.1767 } ); +cells.push_back( {10702412,927,24,7,1,1,0.325,-1.12714 } ); +cells.push_back( {10702422,947,24,7,2,1,0.325,-1.1767 } ); +cells.push_back( {10802412,928,24,8,1,1,0.375,-1.12714 } ); +cells.push_back( {10802422,948,24,8,2,1,0.375,-1.1767 } ); +cells.push_back( {10902412,929,24,9,1,1,0.425,-1.12714 } ); +cells.push_back( {10902422,949,24,9,2,1,0.425,-1.1767 } ); +cells.push_back( {11002412,930,24,10,1,1,0.475,-1.12714 } ); +cells.push_back( {11002422,950,24,10,2,1,0.475,-1.1767 } ); +cells.push_back( {11102412,931,24,11,1,1,0.525,-1.12714 } ); +cells.push_back( {11102422,951,24,11,2,1,0.525,-1.1767 } ); +cells.push_back( {11202412,932,24,12,1,1,0.575,-1.12714 } ); +cells.push_back( {11202422,952,24,12,2,1,0.575,-1.1767 } ); +cells.push_back( {11302412,933,24,13,1,1,0.625,-1.12714 } ); +cells.push_back( {11302422,953,24,13,2,1,0.625,-1.1767 } ); +cells.push_back( {11402412,934,24,14,1,1,0.675,-1.12714 } ); +cells.push_back( {11402422,954,24,14,2,1,0.675,-1.1767 } ); +cells.push_back( {11502412,935,24,15,1,1,0.725,-1.12714 } ); +cells.push_back( {11502422,955,24,15,2,1,0.725,-1.1767 } ); +cells.push_back( {11602412,936,24,16,1,1,0.775,-1.12714 } ); +cells.push_back( {11602422,956,24,16,2,1,0.775,-1.1767 } ); +cells.push_back( {11702412,937,24,17,1,1,0.825,-1.12714 } ); +cells.push_back( {11702422,957,24,17,2,1,0.825,-1.1767 } ); +cells.push_back( {11802412,938,24,18,1,1,0.875,-1.12714 } ); +cells.push_back( {11802422,958,24,18,2,1,0.875,-1.1767 } ); +cells.push_back( {11902412,939,24,19,1,1,0.925,-1.12714 } ); +cells.push_back( {11902422,959,24,19,2,1,0.925,-1.1767 } ); +cells.push_back( {12002412,940,24,20,1,1,0.967,-1.12714 } ); +cells.push_back( {12002422,960,24,20,2,1,0.967,-1.1767 } ); +cells.push_back( {10102511,961,25,1,1,2,0.02675,-1.23186 } ); +cells.push_back( {10102521,981,25,1,2,2,0.02675,-1.28142 } ); +cells.push_back( {10202511,962,25,2,1,2,0.075,-1.23186 } ); +cells.push_back( {10202521,982,25,2,2,2,0.075,-1.28142 } ); +cells.push_back( {10302511,963,25,3,1,2,0.125,-1.23186 } ); +cells.push_back( {10302521,983,25,3,2,2,0.125,-1.28142 } ); +cells.push_back( {10402511,964,25,4,1,2,0.175,-1.23186 } ); +cells.push_back( {10402521,984,25,4,2,2,0.175,-1.28142 } ); +cells.push_back( {10502511,965,25,5,1,2,0.225,-1.23186 } ); +cells.push_back( {10502521,985,25,5,2,2,0.225,-1.28142 } ); +cells.push_back( {10602511,966,25,6,1,2,0.275,-1.23186 } ); +cells.push_back( {10602521,986,25,6,2,2,0.275,-1.28142 } ); +cells.push_back( {10702511,967,25,7,1,2,0.325,-1.23186 } ); +cells.push_back( {10702521,987,25,7,2,2,0.325,-1.28142 } ); +cells.push_back( {10802511,968,25,8,1,2,0.375,-1.23186 } ); +cells.push_back( {10802521,988,25,8,2,2,0.375,-1.28142 } ); +cells.push_back( {10902511,969,25,9,1,2,0.425,-1.23186 } ); +cells.push_back( {10902521,989,25,9,2,2,0.425,-1.28142 } ); +cells.push_back( {11002511,970,25,10,1,2,0.475,-1.23186 } ); +cells.push_back( {11002521,990,25,10,2,2,0.475,-1.28142 } ); +cells.push_back( {11102511,971,25,11,1,2,0.525,-1.23186 } ); +cells.push_back( {11102521,991,25,11,2,2,0.525,-1.28142 } ); +cells.push_back( {11202511,972,25,12,1,2,0.575,-1.23186 } ); +cells.push_back( {11202521,992,25,12,2,2,0.575,-1.28142 } ); +cells.push_back( {11302511,973,25,13,1,2,0.625,-1.23186 } ); +cells.push_back( {11302521,993,25,13,2,2,0.625,-1.28142 } ); +cells.push_back( {11402511,974,25,14,1,2,0.675,-1.23186 } ); +cells.push_back( {11402521,994,25,14,2,2,0.675,-1.28142 } ); +cells.push_back( {11502511,975,25,15,1,2,0.725,-1.23186 } ); +cells.push_back( {11502521,995,25,15,2,2,0.725,-1.28142 } ); +cells.push_back( {11602511,976,25,16,1,2,0.775,-1.23186 } ); +cells.push_back( {11602521,996,25,16,2,2,0.775,-1.28142 } ); +cells.push_back( {11702511,977,25,17,1,2,0.825,-1.23186 } ); +cells.push_back( {11702521,997,25,17,2,2,0.825,-1.28142 } ); +cells.push_back( {11802511,978,25,18,1,2,0.875,-1.23186 } ); +cells.push_back( {11802521,998,25,18,2,2,0.875,-1.28142 } ); +cells.push_back( {11902511,979,25,19,1,2,0.925,-1.23186 } ); +cells.push_back( {11902521,999,25,19,2,2,0.925,-1.28142 } ); +cells.push_back( {12002511,980,25,20,1,2,0.967,-1.23186 } ); +cells.push_back( {12002521,1000,25,20,2,2,0.967,-1.28142 } ); +cells.push_back( {10102512,961,25,1,1,1,0.02675,-1.23186 } ); +cells.push_back( {10102522,981,25,1,2,1,0.02675,-1.28142 } ); +cells.push_back( {10202512,962,25,2,1,1,0.075,-1.23186 } ); +cells.push_back( {10202522,982,25,2,2,1,0.075,-1.28142 } ); +cells.push_back( {10302512,963,25,3,1,1,0.125,-1.23186 } ); +cells.push_back( {10302522,983,25,3,2,1,0.125,-1.28142 } ); +cells.push_back( {10402512,964,25,4,1,1,0.175,-1.23186 } ); +cells.push_back( {10402522,984,25,4,2,1,0.175,-1.28142 } ); +cells.push_back( {10502512,965,25,5,1,1,0.225,-1.23186 } ); +cells.push_back( {10502522,985,25,5,2,1,0.225,-1.28142 } ); +cells.push_back( {10602512,966,25,6,1,1,0.275,-1.23186 } ); +cells.push_back( {10602522,986,25,6,2,1,0.275,-1.28142 } ); +cells.push_back( {10702512,967,25,7,1,1,0.325,-1.23186 } ); +cells.push_back( {10702522,987,25,7,2,1,0.325,-1.28142 } ); +cells.push_back( {10802512,968,25,8,1,1,0.375,-1.23186 } ); +cells.push_back( {10802522,988,25,8,2,1,0.375,-1.28142 } ); +cells.push_back( {10902512,969,25,9,1,1,0.425,-1.23186 } ); +cells.push_back( {10902522,989,25,9,2,1,0.425,-1.28142 } ); +cells.push_back( {11002512,970,25,10,1,1,0.475,-1.23186 } ); +cells.push_back( {11002522,990,25,10,2,1,0.475,-1.28142 } ); +cells.push_back( {11102512,971,25,11,1,1,0.525,-1.23186 } ); +cells.push_back( {11102522,991,25,11,2,1,0.525,-1.28142 } ); +cells.push_back( {11202512,972,25,12,1,1,0.575,-1.23186 } ); +cells.push_back( {11202522,992,25,12,2,1,0.575,-1.28142 } ); +cells.push_back( {11302512,973,25,13,1,1,0.625,-1.23186 } ); +cells.push_back( {11302522,993,25,13,2,1,0.625,-1.28142 } ); +cells.push_back( {11402512,974,25,14,1,1,0.675,-1.23186 } ); +cells.push_back( {11402522,994,25,14,2,1,0.675,-1.28142 } ); +cells.push_back( {11502512,975,25,15,1,1,0.725,-1.23186 } ); +cells.push_back( {11502522,995,25,15,2,1,0.725,-1.28142 } ); +cells.push_back( {11602512,976,25,16,1,1,0.775,-1.23186 } ); +cells.push_back( {11602522,996,25,16,2,1,0.775,-1.28142 } ); +cells.push_back( {11702512,977,25,17,1,1,0.825,-1.23186 } ); +cells.push_back( {11702522,997,25,17,2,1,0.825,-1.28142 } ); +cells.push_back( {11802512,978,25,18,1,1,0.875,-1.23186 } ); +cells.push_back( {11802522,998,25,18,2,1,0.875,-1.28142 } ); +cells.push_back( {11902512,979,25,19,1,1,0.925,-1.23186 } ); +cells.push_back( {11902522,999,25,19,2,1,0.925,-1.28142 } ); +cells.push_back( {12002512,980,25,20,1,1,0.967,-1.23186 } ); +cells.push_back( {12002522,1000,25,20,2,1,0.967,-1.28142 } ); +cells.push_back( {10102611,1001,26,1,1,2,0.02675,-1.33658 } ); +cells.push_back( {10102621,1021,26,1,2,2,0.02675,-1.38614 } ); +cells.push_back( {10202611,1002,26,2,1,2,0.075,-1.33658 } ); +cells.push_back( {10202621,1022,26,2,2,2,0.075,-1.38614 } ); +cells.push_back( {10302611,1003,26,3,1,2,0.125,-1.33658 } ); +cells.push_back( {10302621,1023,26,3,2,2,0.125,-1.38614 } ); +cells.push_back( {10402611,1004,26,4,1,2,0.175,-1.33658 } ); +cells.push_back( {10402621,1024,26,4,2,2,0.175,-1.38614 } ); +cells.push_back( {10502611,1005,26,5,1,2,0.225,-1.33658 } ); +cells.push_back( {10502621,1025,26,5,2,2,0.225,-1.38614 } ); +cells.push_back( {10602611,1006,26,6,1,2,0.275,-1.33658 } ); +cells.push_back( {10602621,1026,26,6,2,2,0.275,-1.38614 } ); +cells.push_back( {10702611,1007,26,7,1,2,0.325,-1.33658 } ); +cells.push_back( {10702621,1027,26,7,2,2,0.325,-1.38614 } ); +cells.push_back( {10802611,1008,26,8,1,2,0.375,-1.33658 } ); +cells.push_back( {10802621,1028,26,8,2,2,0.375,-1.38614 } ); +cells.push_back( {10902611,1009,26,9,1,2,0.425,-1.33658 } ); +cells.push_back( {10902621,1029,26,9,2,2,0.425,-1.38614 } ); +cells.push_back( {11002611,1010,26,10,1,2,0.475,-1.33658 } ); +cells.push_back( {11002621,1030,26,10,2,2,0.475,-1.38614 } ); +cells.push_back( {11102611,1011,26,11,1,2,0.525,-1.33658 } ); +cells.push_back( {11102621,1031,26,11,2,2,0.525,-1.38614 } ); +cells.push_back( {11202611,1012,26,12,1,2,0.575,-1.33658 } ); +cells.push_back( {11202621,1032,26,12,2,2,0.575,-1.38614 } ); +cells.push_back( {11302611,1013,26,13,1,2,0.625,-1.33658 } ); +cells.push_back( {11302621,1033,26,13,2,2,0.625,-1.38614 } ); +cells.push_back( {11402611,1014,26,14,1,2,0.675,-1.33658 } ); +cells.push_back( {11402621,1034,26,14,2,2,0.675,-1.38614 } ); +cells.push_back( {11502611,1015,26,15,1,2,0.725,-1.33658 } ); +cells.push_back( {11502621,1035,26,15,2,2,0.725,-1.38614 } ); +cells.push_back( {11602611,1016,26,16,1,2,0.775,-1.33658 } ); +cells.push_back( {11602621,1036,26,16,2,2,0.775,-1.38614 } ); +cells.push_back( {11702611,1017,26,17,1,2,0.825,-1.33658 } ); +cells.push_back( {11702621,1037,26,17,2,2,0.825,-1.38614 } ); +cells.push_back( {11802611,1018,26,18,1,2,0.875,-1.33658 } ); +cells.push_back( {11802621,1038,26,18,2,2,0.875,-1.38614 } ); +cells.push_back( {11902611,1019,26,19,1,2,0.925,-1.33658 } ); +cells.push_back( {11902621,1039,26,19,2,2,0.925,-1.38614 } ); +cells.push_back( {12002611,1020,26,20,1,2,0.967,-1.33658 } ); +cells.push_back( {12002621,1040,26,20,2,2,0.967,-1.38614 } ); +cells.push_back( {10102612,1001,26,1,1,1,0.02675,-1.33658 } ); +cells.push_back( {10102622,1021,26,1,2,1,0.02675,-1.38614 } ); +cells.push_back( {10202612,1002,26,2,1,1,0.075,-1.33658 } ); +cells.push_back( {10202622,1022,26,2,2,1,0.075,-1.38614 } ); +cells.push_back( {10302612,1003,26,3,1,1,0.125,-1.33658 } ); +cells.push_back( {10302622,1023,26,3,2,1,0.125,-1.38614 } ); +cells.push_back( {10402612,1004,26,4,1,1,0.175,-1.33658 } ); +cells.push_back( {10402622,1024,26,4,2,1,0.175,-1.38614 } ); +cells.push_back( {10502612,1005,26,5,1,1,0.225,-1.33658 } ); +cells.push_back( {10502622,1025,26,5,2,1,0.225,-1.38614 } ); +cells.push_back( {10602612,1006,26,6,1,1,0.275,-1.33658 } ); +cells.push_back( {10602622,1026,26,6,2,1,0.275,-1.38614 } ); +cells.push_back( {10702612,1007,26,7,1,1,0.325,-1.33658 } ); +cells.push_back( {10702622,1027,26,7,2,1,0.325,-1.38614 } ); +cells.push_back( {10802612,1008,26,8,1,1,0.375,-1.33658 } ); +cells.push_back( {10802622,1028,26,8,2,1,0.375,-1.38614 } ); +cells.push_back( {10902612,1009,26,9,1,1,0.425,-1.33658 } ); +cells.push_back( {10902622,1029,26,9,2,1,0.425,-1.38614 } ); +cells.push_back( {11002612,1010,26,10,1,1,0.475,-1.33658 } ); +cells.push_back( {11002622,1030,26,10,2,1,0.475,-1.38614 } ); +cells.push_back( {11102612,1011,26,11,1,1,0.525,-1.33658 } ); +cells.push_back( {11102622,1031,26,11,2,1,0.525,-1.38614 } ); +cells.push_back( {11202612,1012,26,12,1,1,0.575,-1.33658 } ); +cells.push_back( {11202622,1032,26,12,2,1,0.575,-1.38614 } ); +cells.push_back( {11302612,1013,26,13,1,1,0.625,-1.33658 } ); +cells.push_back( {11302622,1033,26,13,2,1,0.625,-1.38614 } ); +cells.push_back( {11402612,1014,26,14,1,1,0.675,-1.33658 } ); +cells.push_back( {11402622,1034,26,14,2,1,0.675,-1.38614 } ); +cells.push_back( {11502612,1015,26,15,1,1,0.725,-1.33658 } ); +cells.push_back( {11502622,1035,26,15,2,1,0.725,-1.38614 } ); +cells.push_back( {11602612,1016,26,16,1,1,0.775,-1.33658 } ); +cells.push_back( {11602622,1036,26,16,2,1,0.775,-1.38614 } ); +cells.push_back( {11702612,1017,26,17,1,1,0.825,-1.33658 } ); +cells.push_back( {11702622,1037,26,17,2,1,0.825,-1.38614 } ); +cells.push_back( {11802612,1018,26,18,1,1,0.875,-1.33658 } ); +cells.push_back( {11802622,1038,26,18,2,1,0.875,-1.38614 } ); +cells.push_back( {11902612,1019,26,19,1,1,0.925,-1.33658 } ); +cells.push_back( {11902622,1039,26,19,2,1,0.925,-1.38614 } ); +cells.push_back( {12002612,1020,26,20,1,1,0.967,-1.33658 } ); +cells.push_back( {12002622,1040,26,20,2,1,0.967,-1.38614 } ); +cells.push_back( {10102711,1041,27,1,1,2,0.02675,-1.4413 } ); +cells.push_back( {10102721,1061,27,1,2,2,0.02675,-1.49086 } ); +cells.push_back( {10202711,1042,27,2,1,2,0.075,-1.4413 } ); +cells.push_back( {10202721,1062,27,2,2,2,0.075,-1.49086 } ); +cells.push_back( {10302711,1043,27,3,1,2,0.125,-1.4413 } ); +cells.push_back( {10302721,1063,27,3,2,2,0.125,-1.49086 } ); +cells.push_back( {10402711,1044,27,4,1,2,0.175,-1.4413 } ); +cells.push_back( {10402721,1064,27,4,2,2,0.175,-1.49086 } ); +cells.push_back( {10502711,1045,27,5,1,2,0.225,-1.4413 } ); +cells.push_back( {10502721,1065,27,5,2,2,0.225,-1.49086 } ); +cells.push_back( {10602711,1046,27,6,1,2,0.275,-1.4413 } ); +cells.push_back( {10602721,1066,27,6,2,2,0.275,-1.49086 } ); +cells.push_back( {10702711,1047,27,7,1,2,0.325,-1.4413 } ); +cells.push_back( {10702721,1067,27,7,2,2,0.325,-1.49086 } ); +cells.push_back( {10802711,1048,27,8,1,2,0.375,-1.4413 } ); +cells.push_back( {10802721,1068,27,8,2,2,0.375,-1.49086 } ); +cells.push_back( {10902711,1049,27,9,1,2,0.425,-1.4413 } ); +cells.push_back( {10902721,1069,27,9,2,2,0.425,-1.49086 } ); +cells.push_back( {11002711,1050,27,10,1,2,0.475,-1.4413 } ); +cells.push_back( {11002721,1070,27,10,2,2,0.475,-1.49086 } ); +cells.push_back( {11102711,1051,27,11,1,2,0.525,-1.4413 } ); +cells.push_back( {11102721,1071,27,11,2,2,0.525,-1.49086 } ); +cells.push_back( {11202711,1052,27,12,1,2,0.575,-1.4413 } ); +cells.push_back( {11202721,1072,27,12,2,2,0.575,-1.49086 } ); +cells.push_back( {11302711,1053,27,13,1,2,0.625,-1.4413 } ); +cells.push_back( {11302721,1073,27,13,2,2,0.625,-1.49086 } ); +cells.push_back( {11402711,1054,27,14,1,2,0.675,-1.4413 } ); +cells.push_back( {11402721,1074,27,14,2,2,0.675,-1.49086 } ); +cells.push_back( {11502711,1055,27,15,1,2,0.725,-1.4413 } ); +cells.push_back( {11502721,1075,27,15,2,2,0.725,-1.49086 } ); +cells.push_back( {11602711,1056,27,16,1,2,0.775,-1.4413 } ); +cells.push_back( {11602721,1076,27,16,2,2,0.775,-1.49086 } ); +cells.push_back( {11702711,1057,27,17,1,2,0.825,-1.4413 } ); +cells.push_back( {11702721,1077,27,17,2,2,0.825,-1.49086 } ); +cells.push_back( {11802711,1058,27,18,1,2,0.875,-1.4413 } ); +cells.push_back( {11802721,1078,27,18,2,2,0.875,-1.49086 } ); +cells.push_back( {11902711,1059,27,19,1,2,0.925,-1.4413 } ); +cells.push_back( {11902721,1079,27,19,2,2,0.925,-1.49086 } ); +cells.push_back( {12002711,1060,27,20,1,2,0.967,-1.4413 } ); +cells.push_back( {12002721,1080,27,20,2,2,0.967,-1.49086 } ); +cells.push_back( {10102712,1041,27,1,1,1,0.02675,-1.4413 } ); +cells.push_back( {10102722,1061,27,1,2,1,0.02675,-1.49086 } ); +cells.push_back( {10202712,1042,27,2,1,1,0.075,-1.4413 } ); +cells.push_back( {10202722,1062,27,2,2,1,0.075,-1.49086 } ); +cells.push_back( {10302712,1043,27,3,1,1,0.125,-1.4413 } ); +cells.push_back( {10302722,1063,27,3,2,1,0.125,-1.49086 } ); +cells.push_back( {10402712,1044,27,4,1,1,0.175,-1.4413 } ); +cells.push_back( {10402722,1064,27,4,2,1,0.175,-1.49086 } ); +cells.push_back( {10502712,1045,27,5,1,1,0.225,-1.4413 } ); +cells.push_back( {10502722,1065,27,5,2,1,0.225,-1.49086 } ); +cells.push_back( {10602712,1046,27,6,1,1,0.275,-1.4413 } ); +cells.push_back( {10602722,1066,27,6,2,1,0.275,-1.49086 } ); +cells.push_back( {10702712,1047,27,7,1,1,0.325,-1.4413 } ); +cells.push_back( {10702722,1067,27,7,2,1,0.325,-1.49086 } ); +cells.push_back( {10802712,1048,27,8,1,1,0.375,-1.4413 } ); +cells.push_back( {10802722,1068,27,8,2,1,0.375,-1.49086 } ); +cells.push_back( {10902712,1049,27,9,1,1,0.425,-1.4413 } ); +cells.push_back( {10902722,1069,27,9,2,1,0.425,-1.49086 } ); +cells.push_back( {11002712,1050,27,10,1,1,0.475,-1.4413 } ); +cells.push_back( {11002722,1070,27,10,2,1,0.475,-1.49086 } ); +cells.push_back( {11102712,1051,27,11,1,1,0.525,-1.4413 } ); +cells.push_back( {11102722,1071,27,11,2,1,0.525,-1.49086 } ); +cells.push_back( {11202712,1052,27,12,1,1,0.575,-1.4413 } ); +cells.push_back( {11202722,1072,27,12,2,1,0.575,-1.49086 } ); +cells.push_back( {11302712,1053,27,13,1,1,0.625,-1.4413 } ); +cells.push_back( {11302722,1073,27,13,2,1,0.625,-1.49086 } ); +cells.push_back( {11402712,1054,27,14,1,1,0.675,-1.4413 } ); +cells.push_back( {11402722,1074,27,14,2,1,0.675,-1.49086 } ); +cells.push_back( {11502712,1055,27,15,1,1,0.725,-1.4413 } ); +cells.push_back( {11502722,1075,27,15,2,1,0.725,-1.49086 } ); +cells.push_back( {11602712,1056,27,16,1,1,0.775,-1.4413 } ); +cells.push_back( {11602722,1076,27,16,2,1,0.775,-1.49086 } ); +cells.push_back( {11702712,1057,27,17,1,1,0.825,-1.4413 } ); +cells.push_back( {11702722,1077,27,17,2,1,0.825,-1.49086 } ); +cells.push_back( {11802712,1058,27,18,1,1,0.875,-1.4413 } ); +cells.push_back( {11802722,1078,27,18,2,1,0.875,-1.49086 } ); +cells.push_back( {11902712,1059,27,19,1,1,0.925,-1.4413 } ); +cells.push_back( {11902722,1079,27,19,2,1,0.925,-1.49086 } ); +cells.push_back( {12002712,1060,27,20,1,1,0.967,-1.4413 } ); +cells.push_back( {12002722,1080,27,20,2,1,0.967,-1.49086 } ); +cells.push_back( {10102811,1081,28,1,1,2,0.02675,-1.54601 } ); +cells.push_back( {10102821,1101,28,1,2,2,0.02675,-1.59558 } ); +cells.push_back( {10202811,1082,28,2,1,2,0.075,-1.54601 } ); +cells.push_back( {10202821,1102,28,2,2,2,0.075,-1.59558 } ); +cells.push_back( {10302811,1083,28,3,1,2,0.125,-1.54601 } ); +cells.push_back( {10302821,1103,28,3,2,2,0.125,-1.59558 } ); +cells.push_back( {10402811,1084,28,4,1,2,0.175,-1.54601 } ); +cells.push_back( {10402821,1104,28,4,2,2,0.175,-1.59558 } ); +cells.push_back( {10502811,1085,28,5,1,2,0.225,-1.54601 } ); +cells.push_back( {10502821,1105,28,5,2,2,0.225,-1.59558 } ); +cells.push_back( {10602811,1086,28,6,1,2,0.275,-1.54601 } ); +cells.push_back( {10602821,1106,28,6,2,2,0.275,-1.59558 } ); +cells.push_back( {10702811,1087,28,7,1,2,0.325,-1.54601 } ); +cells.push_back( {10702821,1107,28,7,2,2,0.325,-1.59558 } ); +cells.push_back( {10802811,1088,28,8,1,2,0.375,-1.54601 } ); +cells.push_back( {10802821,1108,28,8,2,2,0.375,-1.59558 } ); +cells.push_back( {10902811,1089,28,9,1,2,0.425,-1.54601 } ); +cells.push_back( {10902821,1109,28,9,2,2,0.425,-1.59558 } ); +cells.push_back( {11002811,1090,28,10,1,2,0.475,-1.54601 } ); +cells.push_back( {11002821,1110,28,10,2,2,0.475,-1.59558 } ); +cells.push_back( {11102811,1091,28,11,1,2,0.525,-1.54601 } ); +cells.push_back( {11102821,1111,28,11,2,2,0.525,-1.59558 } ); +cells.push_back( {11202811,1092,28,12,1,2,0.575,-1.54601 } ); +cells.push_back( {11202821,1112,28,12,2,2,0.575,-1.59558 } ); +cells.push_back( {11302811,1093,28,13,1,2,0.625,-1.54601 } ); +cells.push_back( {11302821,1113,28,13,2,2,0.625,-1.59558 } ); +cells.push_back( {11402811,1094,28,14,1,2,0.675,-1.54601 } ); +cells.push_back( {11402821,1114,28,14,2,2,0.675,-1.59558 } ); +cells.push_back( {11502811,1095,28,15,1,2,0.725,-1.54601 } ); +cells.push_back( {11502821,1115,28,15,2,2,0.725,-1.59558 } ); +cells.push_back( {11602811,1096,28,16,1,2,0.775,-1.54601 } ); +cells.push_back( {11602821,1116,28,16,2,2,0.775,-1.59558 } ); +cells.push_back( {11702811,1097,28,17,1,2,0.825,-1.54601 } ); +cells.push_back( {11702821,1117,28,17,2,2,0.825,-1.59558 } ); +cells.push_back( {11802811,1098,28,18,1,2,0.875,-1.54601 } ); +cells.push_back( {11802821,1118,28,18,2,2,0.875,-1.59558 } ); +cells.push_back( {11902811,1099,28,19,1,2,0.925,-1.54601 } ); +cells.push_back( {11902821,1119,28,19,2,2,0.925,-1.59558 } ); +cells.push_back( {12002811,1100,28,20,1,2,0.967,-1.54601 } ); +cells.push_back( {12002821,1120,28,20,2,2,0.967,-1.59558 } ); +cells.push_back( {10102812,1081,28,1,1,1,0.02675,-1.54601 } ); +cells.push_back( {10102822,1101,28,1,2,1,0.02675,-1.59558 } ); +cells.push_back( {10202812,1082,28,2,1,1,0.075,-1.54601 } ); +cells.push_back( {10202822,1102,28,2,2,1,0.075,-1.59558 } ); +cells.push_back( {10302812,1083,28,3,1,1,0.125,-1.54601 } ); +cells.push_back( {10302822,1103,28,3,2,1,0.125,-1.59558 } ); +cells.push_back( {10402812,1084,28,4,1,1,0.175,-1.54601 } ); +cells.push_back( {10402822,1104,28,4,2,1,0.175,-1.59558 } ); +cells.push_back( {10502812,1085,28,5,1,1,0.225,-1.54601 } ); +cells.push_back( {10502822,1105,28,5,2,1,0.225,-1.59558 } ); +cells.push_back( {10602812,1086,28,6,1,1,0.275,-1.54601 } ); +cells.push_back( {10602822,1106,28,6,2,1,0.275,-1.59558 } ); +cells.push_back( {10702812,1087,28,7,1,1,0.325,-1.54601 } ); +cells.push_back( {10702822,1107,28,7,2,1,0.325,-1.59558 } ); +cells.push_back( {10802812,1088,28,8,1,1,0.375,-1.54601 } ); +cells.push_back( {10802822,1108,28,8,2,1,0.375,-1.59558 } ); +cells.push_back( {10902812,1089,28,9,1,1,0.425,-1.54601 } ); +cells.push_back( {10902822,1109,28,9,2,1,0.425,-1.59558 } ); +cells.push_back( {11002812,1090,28,10,1,1,0.475,-1.54601 } ); +cells.push_back( {11002822,1110,28,10,2,1,0.475,-1.59558 } ); +cells.push_back( {11102812,1091,28,11,1,1,0.525,-1.54601 } ); +cells.push_back( {11102822,1111,28,11,2,1,0.525,-1.59558 } ); +cells.push_back( {11202812,1092,28,12,1,1,0.575,-1.54601 } ); +cells.push_back( {11202822,1112,28,12,2,1,0.575,-1.59558 } ); +cells.push_back( {11302812,1093,28,13,1,1,0.625,-1.54601 } ); +cells.push_back( {11302822,1113,28,13,2,1,0.625,-1.59558 } ); +cells.push_back( {11402812,1094,28,14,1,1,0.675,-1.54601 } ); +cells.push_back( {11402822,1114,28,14,2,1,0.675,-1.59558 } ); +cells.push_back( {11502812,1095,28,15,1,1,0.725,-1.54601 } ); +cells.push_back( {11502822,1115,28,15,2,1,0.725,-1.59558 } ); +cells.push_back( {11602812,1096,28,16,1,1,0.775,-1.54601 } ); +cells.push_back( {11602822,1116,28,16,2,1,0.775,-1.59558 } ); +cells.push_back( {11702812,1097,28,17,1,1,0.825,-1.54601 } ); +cells.push_back( {11702822,1117,28,17,2,1,0.825,-1.59558 } ); +cells.push_back( {11802812,1098,28,18,1,1,0.875,-1.54601 } ); +cells.push_back( {11802822,1118,28,18,2,1,0.875,-1.59558 } ); +cells.push_back( {11902812,1099,28,19,1,1,0.925,-1.54601 } ); +cells.push_back( {11902822,1119,28,19,2,1,0.925,-1.59558 } ); +cells.push_back( {12002812,1100,28,20,1,1,0.967,-1.54601 } ); +cells.push_back( {12002822,1120,28,20,2,1,0.967,-1.59558 } ); +cells.push_back( {10102911,1121,29,1,1,2,0.02675,-1.65073 } ); +cells.push_back( {10102921,1141,29,1,2,2,0.02675,-1.7003 } ); +cells.push_back( {10202911,1122,29,2,1,2,0.075,-1.65073 } ); +cells.push_back( {10202921,1142,29,2,2,2,0.075,-1.7003 } ); +cells.push_back( {10302911,1123,29,3,1,2,0.125,-1.65073 } ); +cells.push_back( {10302921,1143,29,3,2,2,0.125,-1.7003 } ); +cells.push_back( {10402911,1124,29,4,1,2,0.175,-1.65073 } ); +cells.push_back( {10402921,1144,29,4,2,2,0.175,-1.7003 } ); +cells.push_back( {10502911,1125,29,5,1,2,0.225,-1.65073 } ); +cells.push_back( {10502921,1145,29,5,2,2,0.225,-1.7003 } ); +cells.push_back( {10602911,1126,29,6,1,2,0.275,-1.65073 } ); +cells.push_back( {10602921,1146,29,6,2,2,0.275,-1.7003 } ); +cells.push_back( {10702911,1127,29,7,1,2,0.325,-1.65073 } ); +cells.push_back( {10702921,1147,29,7,2,2,0.325,-1.7003 } ); +cells.push_back( {10802911,1128,29,8,1,2,0.375,-1.65073 } ); +cells.push_back( {10802921,1148,29,8,2,2,0.375,-1.7003 } ); +cells.push_back( {10902911,1129,29,9,1,2,0.425,-1.65073 } ); +cells.push_back( {10902921,1149,29,9,2,2,0.425,-1.7003 } ); +cells.push_back( {11002911,1130,29,10,1,2,0.475,-1.65073 } ); +cells.push_back( {11002921,1150,29,10,2,2,0.475,-1.7003 } ); +cells.push_back( {11102911,1131,29,11,1,2,0.525,-1.65073 } ); +cells.push_back( {11102921,1151,29,11,2,2,0.525,-1.7003 } ); +cells.push_back( {11202911,1132,29,12,1,2,0.575,-1.65073 } ); +cells.push_back( {11202921,1152,29,12,2,2,0.575,-1.7003 } ); +cells.push_back( {11302911,1133,29,13,1,2,0.625,-1.65073 } ); +cells.push_back( {11302921,1153,29,13,2,2,0.625,-1.7003 } ); +cells.push_back( {11402911,1134,29,14,1,2,0.675,-1.65073 } ); +cells.push_back( {11402921,1154,29,14,2,2,0.675,-1.7003 } ); +cells.push_back( {11502911,1135,29,15,1,2,0.725,-1.65073 } ); +cells.push_back( {11502921,1155,29,15,2,2,0.725,-1.7003 } ); +cells.push_back( {11602911,1136,29,16,1,2,0.775,-1.65073 } ); +cells.push_back( {11602921,1156,29,16,2,2,0.775,-1.7003 } ); +cells.push_back( {11702911,1137,29,17,1,2,0.825,-1.65073 } ); +cells.push_back( {11702921,1157,29,17,2,2,0.825,-1.7003 } ); +cells.push_back( {11802911,1138,29,18,1,2,0.875,-1.65073 } ); +cells.push_back( {11802921,1158,29,18,2,2,0.875,-1.7003 } ); +cells.push_back( {11902911,1139,29,19,1,2,0.925,-1.65073 } ); +cells.push_back( {11902921,1159,29,19,2,2,0.925,-1.7003 } ); +cells.push_back( {12002911,1140,29,20,1,2,0.967,-1.65073 } ); +cells.push_back( {12002921,1160,29,20,2,2,0.967,-1.7003 } ); +cells.push_back( {10102912,1121,29,1,1,1,0.02675,-1.65073 } ); +cells.push_back( {10102922,1141,29,1,2,1,0.02675,-1.7003 } ); +cells.push_back( {10202912,1122,29,2,1,1,0.075,-1.65073 } ); +cells.push_back( {10202922,1142,29,2,2,1,0.075,-1.7003 } ); +cells.push_back( {10302912,1123,29,3,1,1,0.125,-1.65073 } ); +cells.push_back( {10302922,1143,29,3,2,1,0.125,-1.7003 } ); +cells.push_back( {10402912,1124,29,4,1,1,0.175,-1.65073 } ); +cells.push_back( {10402922,1144,29,4,2,1,0.175,-1.7003 } ); +cells.push_back( {10502912,1125,29,5,1,1,0.225,-1.65073 } ); +cells.push_back( {10502922,1145,29,5,2,1,0.225,-1.7003 } ); +cells.push_back( {10602912,1126,29,6,1,1,0.275,-1.65073 } ); +cells.push_back( {10602922,1146,29,6,2,1,0.275,-1.7003 } ); +cells.push_back( {10702912,1127,29,7,1,1,0.325,-1.65073 } ); +cells.push_back( {10702922,1147,29,7,2,1,0.325,-1.7003 } ); +cells.push_back( {10802912,1128,29,8,1,1,0.375,-1.65073 } ); +cells.push_back( {10802922,1148,29,8,2,1,0.375,-1.7003 } ); +cells.push_back( {10902912,1129,29,9,1,1,0.425,-1.65073 } ); +cells.push_back( {10902922,1149,29,9,2,1,0.425,-1.7003 } ); +cells.push_back( {11002912,1130,29,10,1,1,0.475,-1.65073 } ); +cells.push_back( {11002922,1150,29,10,2,1,0.475,-1.7003 } ); +cells.push_back( {11102912,1131,29,11,1,1,0.525,-1.65073 } ); +cells.push_back( {11102922,1151,29,11,2,1,0.525,-1.7003 } ); +cells.push_back( {11202912,1132,29,12,1,1,0.575,-1.65073 } ); +cells.push_back( {11202922,1152,29,12,2,1,0.575,-1.7003 } ); +cells.push_back( {11302912,1133,29,13,1,1,0.625,-1.65073 } ); +cells.push_back( {11302922,1153,29,13,2,1,0.625,-1.7003 } ); +cells.push_back( {11402912,1134,29,14,1,1,0.675,-1.65073 } ); +cells.push_back( {11402922,1154,29,14,2,1,0.675,-1.7003 } ); +cells.push_back( {11502912,1135,29,15,1,1,0.725,-1.65073 } ); +cells.push_back( {11502922,1155,29,15,2,1,0.725,-1.7003 } ); +cells.push_back( {11602912,1136,29,16,1,1,0.775,-1.65073 } ); +cells.push_back( {11602922,1156,29,16,2,1,0.775,-1.7003 } ); +cells.push_back( {11702912,1137,29,17,1,1,0.825,-1.65073 } ); +cells.push_back( {11702922,1157,29,17,2,1,0.825,-1.7003 } ); +cells.push_back( {11802912,1138,29,18,1,1,0.875,-1.65073 } ); +cells.push_back( {11802922,1158,29,18,2,1,0.875,-1.7003 } ); +cells.push_back( {11902912,1139,29,19,1,1,0.925,-1.65073 } ); +cells.push_back( {11902922,1159,29,19,2,1,0.925,-1.7003 } ); +cells.push_back( {12002912,1140,29,20,1,1,0.967,-1.65073 } ); +cells.push_back( {12002922,1160,29,20,2,1,0.967,-1.7003 } ); +cells.push_back( {10103011,1161,30,1,1,2,0.02675,-1.75545 } ); +cells.push_back( {10103021,1181,30,1,2,2,0.02675,-1.80502 } ); +cells.push_back( {10203011,1162,30,2,1,2,0.075,-1.75545 } ); +cells.push_back( {10203021,1182,30,2,2,2,0.075,-1.80502 } ); +cells.push_back( {10303011,1163,30,3,1,2,0.125,-1.75545 } ); +cells.push_back( {10303021,1183,30,3,2,2,0.125,-1.80502 } ); +cells.push_back( {10403011,1164,30,4,1,2,0.175,-1.75545 } ); +cells.push_back( {10403021,1184,30,4,2,2,0.175,-1.80502 } ); +cells.push_back( {10503011,1165,30,5,1,2,0.225,-1.75545 } ); +cells.push_back( {10503021,1185,30,5,2,2,0.225,-1.80502 } ); +cells.push_back( {10603011,1166,30,6,1,2,0.275,-1.75545 } ); +cells.push_back( {10603021,1186,30,6,2,2,0.275,-1.80502 } ); +cells.push_back( {10703011,1167,30,7,1,2,0.325,-1.75545 } ); +cells.push_back( {10703021,1187,30,7,2,2,0.325,-1.80502 } ); +cells.push_back( {10803011,1168,30,8,1,2,0.375,-1.75545 } ); +cells.push_back( {10803021,1188,30,8,2,2,0.375,-1.80502 } ); +cells.push_back( {10903011,1169,30,9,1,2,0.425,-1.75545 } ); +cells.push_back( {10903021,1189,30,9,2,2,0.425,-1.80502 } ); +cells.push_back( {11003011,1170,30,10,1,2,0.475,-1.75545 } ); +cells.push_back( {11003021,1190,30,10,2,2,0.475,-1.80502 } ); +cells.push_back( {11103011,1171,30,11,1,2,0.525,-1.75545 } ); +cells.push_back( {11103021,1191,30,11,2,2,0.525,-1.80502 } ); +cells.push_back( {11203011,1172,30,12,1,2,0.575,-1.75545 } ); +cells.push_back( {11203021,1192,30,12,2,2,0.575,-1.80502 } ); +cells.push_back( {11303011,1173,30,13,1,2,0.625,-1.75545 } ); +cells.push_back( {11303021,1193,30,13,2,2,0.625,-1.80502 } ); +cells.push_back( {11403011,1174,30,14,1,2,0.675,-1.75545 } ); +cells.push_back( {11403021,1194,30,14,2,2,0.675,-1.80502 } ); +cells.push_back( {11503011,1175,30,15,1,2,0.725,-1.75545 } ); +cells.push_back( {11503021,1195,30,15,2,2,0.725,-1.80502 } ); +cells.push_back( {11603011,1176,30,16,1,2,0.775,-1.75545 } ); +cells.push_back( {11603021,1196,30,16,2,2,0.775,-1.80502 } ); +cells.push_back( {11703011,1177,30,17,1,2,0.825,-1.75545 } ); +cells.push_back( {11703021,1197,30,17,2,2,0.825,-1.80502 } ); +cells.push_back( {11803011,1178,30,18,1,2,0.875,-1.75545 } ); +cells.push_back( {11803021,1198,30,18,2,2,0.875,-1.80502 } ); +cells.push_back( {11903011,1179,30,19,1,2,0.925,-1.75545 } ); +cells.push_back( {11903021,1199,30,19,2,2,0.925,-1.80502 } ); +cells.push_back( {12003011,1180,30,20,1,2,0.967,-1.75545 } ); +cells.push_back( {12003021,1200,30,20,2,2,0.967,-1.80502 } ); +cells.push_back( {10103012,1161,30,1,1,1,0.02675,-1.75545 } ); +cells.push_back( {10103022,1181,30,1,2,1,0.02675,-1.80502 } ); +cells.push_back( {10203012,1162,30,2,1,1,0.075,-1.75545 } ); +cells.push_back( {10203022,1182,30,2,2,1,0.075,-1.80502 } ); +cells.push_back( {10303012,1163,30,3,1,1,0.125,-1.75545 } ); +cells.push_back( {10303022,1183,30,3,2,1,0.125,-1.80502 } ); +cells.push_back( {10403012,1164,30,4,1,1,0.175,-1.75545 } ); +cells.push_back( {10403022,1184,30,4,2,1,0.175,-1.80502 } ); +cells.push_back( {10503012,1165,30,5,1,1,0.225,-1.75545 } ); +cells.push_back( {10503022,1185,30,5,2,1,0.225,-1.80502 } ); +cells.push_back( {10603012,1166,30,6,1,1,0.275,-1.75545 } ); +cells.push_back( {10603022,1186,30,6,2,1,0.275,-1.80502 } ); +cells.push_back( {10703012,1167,30,7,1,1,0.325,-1.75545 } ); +cells.push_back( {10703022,1187,30,7,2,1,0.325,-1.80502 } ); +cells.push_back( {10803012,1168,30,8,1,1,0.375,-1.75545 } ); +cells.push_back( {10803022,1188,30,8,2,1,0.375,-1.80502 } ); +cells.push_back( {10903012,1169,30,9,1,1,0.425,-1.75545 } ); +cells.push_back( {10903022,1189,30,9,2,1,0.425,-1.80502 } ); +cells.push_back( {11003012,1170,30,10,1,1,0.475,-1.75545 } ); +cells.push_back( {11003022,1190,30,10,2,1,0.475,-1.80502 } ); +cells.push_back( {11103012,1171,30,11,1,1,0.525,-1.75545 } ); +cells.push_back( {11103022,1191,30,11,2,1,0.525,-1.80502 } ); +cells.push_back( {11203012,1172,30,12,1,1,0.575,-1.75545 } ); +cells.push_back( {11203022,1192,30,12,2,1,0.575,-1.80502 } ); +cells.push_back( {11303012,1173,30,13,1,1,0.625,-1.75545 } ); +cells.push_back( {11303022,1193,30,13,2,1,0.625,-1.80502 } ); +cells.push_back( {11403012,1174,30,14,1,1,0.675,-1.75545 } ); +cells.push_back( {11403022,1194,30,14,2,1,0.675,-1.80502 } ); +cells.push_back( {11503012,1175,30,15,1,1,0.725,-1.75545 } ); +cells.push_back( {11503022,1195,30,15,2,1,0.725,-1.80502 } ); +cells.push_back( {11603012,1176,30,16,1,1,0.775,-1.75545 } ); +cells.push_back( {11603022,1196,30,16,2,1,0.775,-1.80502 } ); +cells.push_back( {11703012,1177,30,17,1,1,0.825,-1.75545 } ); +cells.push_back( {11703022,1197,30,17,2,1,0.825,-1.80502 } ); +cells.push_back( {11803012,1178,30,18,1,1,0.875,-1.75545 } ); +cells.push_back( {11803022,1198,30,18,2,1,0.875,-1.80502 } ); +cells.push_back( {11903012,1179,30,19,1,1,0.925,-1.75545 } ); +cells.push_back( {11903022,1199,30,19,2,1,0.925,-1.80502 } ); +cells.push_back( {12003012,1180,30,20,1,1,0.967,-1.75545 } ); +cells.push_back( {12003022,1200,30,20,2,1,0.967,-1.80502 } ); +cells.push_back( {10103111,1201,31,1,1,2,0.02675,-1.86017 } ); +cells.push_back( {10103121,1221,31,1,2,2,0.02675,-1.90974 } ); +cells.push_back( {10203111,1202,31,2,1,2,0.075,-1.86017 } ); +cells.push_back( {10203121,1222,31,2,2,2,0.075,-1.90974 } ); +cells.push_back( {10303111,1203,31,3,1,2,0.125,-1.86017 } ); +cells.push_back( {10303121,1223,31,3,2,2,0.125,-1.90974 } ); +cells.push_back( {10403111,1204,31,4,1,2,0.175,-1.86017 } ); +cells.push_back( {10403121,1224,31,4,2,2,0.175,-1.90974 } ); +cells.push_back( {10503111,1205,31,5,1,2,0.225,-1.86017 } ); +cells.push_back( {10503121,1225,31,5,2,2,0.225,-1.90974 } ); +cells.push_back( {10603111,1206,31,6,1,2,0.275,-1.86017 } ); +cells.push_back( {10603121,1226,31,6,2,2,0.275,-1.90974 } ); +cells.push_back( {10703111,1207,31,7,1,2,0.325,-1.86017 } ); +cells.push_back( {10703121,1227,31,7,2,2,0.325,-1.90974 } ); +cells.push_back( {10803111,1208,31,8,1,2,0.375,-1.86017 } ); +cells.push_back( {10803121,1228,31,8,2,2,0.375,-1.90974 } ); +cells.push_back( {10903111,1209,31,9,1,2,0.425,-1.86017 } ); +cells.push_back( {10903121,1229,31,9,2,2,0.425,-1.90974 } ); +cells.push_back( {11003111,1210,31,10,1,2,0.475,-1.86017 } ); +cells.push_back( {11003121,1230,31,10,2,2,0.475,-1.90974 } ); +cells.push_back( {11103111,1211,31,11,1,2,0.525,-1.86017 } ); +cells.push_back( {11103121,1231,31,11,2,2,0.525,-1.90974 } ); +cells.push_back( {11203111,1212,31,12,1,2,0.575,-1.86017 } ); +cells.push_back( {11203121,1232,31,12,2,2,0.575,-1.90974 } ); +cells.push_back( {11303111,1213,31,13,1,2,0.625,-1.86017 } ); +cells.push_back( {11303121,1233,31,13,2,2,0.625,-1.90974 } ); +cells.push_back( {11403111,1214,31,14,1,2,0.675,-1.86017 } ); +cells.push_back( {11403121,1234,31,14,2,2,0.675,-1.90974 } ); +cells.push_back( {11503111,1215,31,15,1,2,0.725,-1.86017 } ); +cells.push_back( {11503121,1235,31,15,2,2,0.725,-1.90974 } ); +cells.push_back( {11603111,1216,31,16,1,2,0.775,-1.86017 } ); +cells.push_back( {11603121,1236,31,16,2,2,0.775,-1.90974 } ); +cells.push_back( {11703111,1217,31,17,1,2,0.825,-1.86017 } ); +cells.push_back( {11703121,1237,31,17,2,2,0.825,-1.90974 } ); +cells.push_back( {11803111,1218,31,18,1,2,0.875,-1.86017 } ); +cells.push_back( {11803121,1238,31,18,2,2,0.875,-1.90974 } ); +cells.push_back( {11903111,1219,31,19,1,2,0.925,-1.86017 } ); +cells.push_back( {11903121,1239,31,19,2,2,0.925,-1.90974 } ); +cells.push_back( {12003111,1220,31,20,1,2,0.967,-1.86017 } ); +cells.push_back( {12003121,1240,31,20,2,2,0.967,-1.90974 } ); +cells.push_back( {10103112,1201,31,1,1,1,0.02675,-1.86017 } ); +cells.push_back( {10103122,1221,31,1,2,1,0.02675,-1.90974 } ); +cells.push_back( {10203112,1202,31,2,1,1,0.075,-1.86017 } ); +cells.push_back( {10203122,1222,31,2,2,1,0.075,-1.90974 } ); +cells.push_back( {10303112,1203,31,3,1,1,0.125,-1.86017 } ); +cells.push_back( {10303122,1223,31,3,2,1,0.125,-1.90974 } ); +cells.push_back( {10403112,1204,31,4,1,1,0.175,-1.86017 } ); +cells.push_back( {10403122,1224,31,4,2,1,0.175,-1.90974 } ); +cells.push_back( {10503112,1205,31,5,1,1,0.225,-1.86017 } ); +cells.push_back( {10503122,1225,31,5,2,1,0.225,-1.90974 } ); +cells.push_back( {10603112,1206,31,6,1,1,0.275,-1.86017 } ); +cells.push_back( {10603122,1226,31,6,2,1,0.275,-1.90974 } ); +cells.push_back( {10703112,1207,31,7,1,1,0.325,-1.86017 } ); +cells.push_back( {10703122,1227,31,7,2,1,0.325,-1.90974 } ); +cells.push_back( {10803112,1208,31,8,1,1,0.375,-1.86017 } ); +cells.push_back( {10803122,1228,31,8,2,1,0.375,-1.90974 } ); +cells.push_back( {10903112,1209,31,9,1,1,0.425,-1.86017 } ); +cells.push_back( {10903122,1229,31,9,2,1,0.425,-1.90974 } ); +cells.push_back( {11003112,1210,31,10,1,1,0.475,-1.86017 } ); +cells.push_back( {11003122,1230,31,10,2,1,0.475,-1.90974 } ); +cells.push_back( {11103112,1211,31,11,1,1,0.525,-1.86017 } ); +cells.push_back( {11103122,1231,31,11,2,1,0.525,-1.90974 } ); +cells.push_back( {11203112,1212,31,12,1,1,0.575,-1.86017 } ); +cells.push_back( {11203122,1232,31,12,2,1,0.575,-1.90974 } ); +cells.push_back( {11303112,1213,31,13,1,1,0.625,-1.86017 } ); +cells.push_back( {11303122,1233,31,13,2,1,0.625,-1.90974 } ); +cells.push_back( {11403112,1214,31,14,1,1,0.675,-1.86017 } ); +cells.push_back( {11403122,1234,31,14,2,1,0.675,-1.90974 } ); +cells.push_back( {11503112,1215,31,15,1,1,0.725,-1.86017 } ); +cells.push_back( {11503122,1235,31,15,2,1,0.725,-1.90974 } ); +cells.push_back( {11603112,1216,31,16,1,1,0.775,-1.86017 } ); +cells.push_back( {11603122,1236,31,16,2,1,0.775,-1.90974 } ); +cells.push_back( {11703112,1217,31,17,1,1,0.825,-1.86017 } ); +cells.push_back( {11703122,1237,31,17,2,1,0.825,-1.90974 } ); +cells.push_back( {11803112,1218,31,18,1,1,0.875,-1.86017 } ); +cells.push_back( {11803122,1238,31,18,2,1,0.875,-1.90974 } ); +cells.push_back( {11903112,1219,31,19,1,1,0.925,-1.86017 } ); +cells.push_back( {11903122,1239,31,19,2,1,0.925,-1.90974 } ); +cells.push_back( {12003112,1220,31,20,1,1,0.967,-1.86017 } ); +cells.push_back( {12003122,1240,31,20,2,1,0.967,-1.90974 } ); +cells.push_back( {10103211,1241,32,1,1,2,0.02675,-1.96489 } ); +cells.push_back( {10103221,1261,32,1,2,2,0.02675,-2.01446 } ); +cells.push_back( {10203211,1242,32,2,1,2,0.075,-1.96489 } ); +cells.push_back( {10203221,1262,32,2,2,2,0.075,-2.01446 } ); +cells.push_back( {10303211,1243,32,3,1,2,0.125,-1.96489 } ); +cells.push_back( {10303221,1263,32,3,2,2,0.125,-2.01446 } ); +cells.push_back( {10403211,1244,32,4,1,2,0.175,-1.96489 } ); +cells.push_back( {10403221,1264,32,4,2,2,0.175,-2.01446 } ); +cells.push_back( {10503211,1245,32,5,1,2,0.225,-1.96489 } ); +cells.push_back( {10503221,1265,32,5,2,2,0.225,-2.01446 } ); +cells.push_back( {10603211,1246,32,6,1,2,0.275,-1.96489 } ); +cells.push_back( {10603221,1266,32,6,2,2,0.275,-2.01446 } ); +cells.push_back( {10703211,1247,32,7,1,2,0.325,-1.96489 } ); +cells.push_back( {10703221,1267,32,7,2,2,0.325,-2.01446 } ); +cells.push_back( {10803211,1248,32,8,1,2,0.375,-1.96489 } ); +cells.push_back( {10803221,1268,32,8,2,2,0.375,-2.01446 } ); +cells.push_back( {10903211,1249,32,9,1,2,0.425,-1.96489 } ); +cells.push_back( {10903221,1269,32,9,2,2,0.425,-2.01446 } ); +cells.push_back( {11003211,1250,32,10,1,2,0.475,-1.96489 } ); +cells.push_back( {11003221,1270,32,10,2,2,0.475,-2.01446 } ); +cells.push_back( {11103211,1251,32,11,1,2,0.525,-1.96489 } ); +cells.push_back( {11103221,1271,32,11,2,2,0.525,-2.01446 } ); +cells.push_back( {11203211,1252,32,12,1,2,0.575,-1.96489 } ); +cells.push_back( {11203221,1272,32,12,2,2,0.575,-2.01446 } ); +cells.push_back( {11303211,1253,32,13,1,2,0.625,-1.96489 } ); +cells.push_back( {11303221,1273,32,13,2,2,0.625,-2.01446 } ); +cells.push_back( {11403211,1254,32,14,1,2,0.675,-1.96489 } ); +cells.push_back( {11403221,1274,32,14,2,2,0.675,-2.01446 } ); +cells.push_back( {11503211,1255,32,15,1,2,0.725,-1.96489 } ); +cells.push_back( {11503221,1275,32,15,2,2,0.725,-2.01446 } ); +cells.push_back( {11603211,1256,32,16,1,2,0.775,-1.96489 } ); +cells.push_back( {11603221,1276,32,16,2,2,0.775,-2.01446 } ); +cells.push_back( {11703211,1257,32,17,1,2,0.825,-1.96489 } ); +cells.push_back( {11703221,1277,32,17,2,2,0.825,-2.01446 } ); +cells.push_back( {11803211,1258,32,18,1,2,0.875,-1.96489 } ); +cells.push_back( {11803221,1278,32,18,2,2,0.875,-2.01446 } ); +cells.push_back( {11903211,1259,32,19,1,2,0.925,-1.96489 } ); +cells.push_back( {11903221,1279,32,19,2,2,0.925,-2.01446 } ); +cells.push_back( {12003211,1260,32,20,1,2,0.967,-1.96489 } ); +cells.push_back( {12003221,1280,32,20,2,2,0.967,-2.01446 } ); +cells.push_back( {10103212,1241,32,1,1,1,0.02675,-1.96489 } ); +cells.push_back( {10103222,1261,32,1,2,1,0.02675,-2.01446 } ); +cells.push_back( {10203212,1242,32,2,1,1,0.075,-1.96489 } ); +cells.push_back( {10203222,1262,32,2,2,1,0.075,-2.01446 } ); +cells.push_back( {10303212,1243,32,3,1,1,0.125,-1.96489 } ); +cells.push_back( {10303222,1263,32,3,2,1,0.125,-2.01446 } ); +cells.push_back( {10403212,1244,32,4,1,1,0.175,-1.96489 } ); +cells.push_back( {10403222,1264,32,4,2,1,0.175,-2.01446 } ); +cells.push_back( {10503212,1245,32,5,1,1,0.225,-1.96489 } ); +cells.push_back( {10503222,1265,32,5,2,1,0.225,-2.01446 } ); +cells.push_back( {10603212,1246,32,6,1,1,0.275,-1.96489 } ); +cells.push_back( {10603222,1266,32,6,2,1,0.275,-2.01446 } ); +cells.push_back( {10703212,1247,32,7,1,1,0.325,-1.96489 } ); +cells.push_back( {10703222,1267,32,7,2,1,0.325,-2.01446 } ); +cells.push_back( {10803212,1248,32,8,1,1,0.375,-1.96489 } ); +cells.push_back( {10803222,1268,32,8,2,1,0.375,-2.01446 } ); +cells.push_back( {10903212,1249,32,9,1,1,0.425,-1.96489 } ); +cells.push_back( {10903222,1269,32,9,2,1,0.425,-2.01446 } ); +cells.push_back( {11003212,1250,32,10,1,1,0.475,-1.96489 } ); +cells.push_back( {11003222,1270,32,10,2,1,0.475,-2.01446 } ); +cells.push_back( {11103212,1251,32,11,1,1,0.525,-1.96489 } ); +cells.push_back( {11103222,1271,32,11,2,1,0.525,-2.01446 } ); +cells.push_back( {11203212,1252,32,12,1,1,0.575,-1.96489 } ); +cells.push_back( {11203222,1272,32,12,2,1,0.575,-2.01446 } ); +cells.push_back( {11303212,1253,32,13,1,1,0.625,-1.96489 } ); +cells.push_back( {11303222,1273,32,13,2,1,0.625,-2.01446 } ); +cells.push_back( {11403212,1254,32,14,1,1,0.675,-1.96489 } ); +cells.push_back( {11403222,1274,32,14,2,1,0.675,-2.01446 } ); +cells.push_back( {11503212,1255,32,15,1,1,0.725,-1.96489 } ); +cells.push_back( {11503222,1275,32,15,2,1,0.725,-2.01446 } ); +cells.push_back( {11603212,1256,32,16,1,1,0.775,-1.96489 } ); +cells.push_back( {11603222,1276,32,16,2,1,0.775,-2.01446 } ); +cells.push_back( {11703212,1257,32,17,1,1,0.825,-1.96489 } ); +cells.push_back( {11703222,1277,32,17,2,1,0.825,-2.01446 } ); +cells.push_back( {11803212,1258,32,18,1,1,0.875,-1.96489 } ); +cells.push_back( {11803222,1278,32,18,2,1,0.875,-2.01446 } ); +cells.push_back( {11903212,1259,32,19,1,1,0.925,-1.96489 } ); +cells.push_back( {11903222,1279,32,19,2,1,0.925,-2.01446 } ); +cells.push_back( {12003212,1260,32,20,1,1,0.967,-1.96489 } ); +cells.push_back( {12003222,1280,32,20,2,1,0.967,-2.01446 } ); +cells.push_back( {10103311,1281,33,1,1,2,0.02675,-2.06961 } ); +cells.push_back( {10103321,1301,33,1,2,2,0.02675,-2.11918 } ); +cells.push_back( {10203311,1282,33,2,1,2,0.075,-2.06961 } ); +cells.push_back( {10203321,1302,33,2,2,2,0.075,-2.11918 } ); +cells.push_back( {10303311,1283,33,3,1,2,0.125,-2.06961 } ); +cells.push_back( {10303321,1303,33,3,2,2,0.125,-2.11918 } ); +cells.push_back( {10403311,1284,33,4,1,2,0.175,-2.06961 } ); +cells.push_back( {10403321,1304,33,4,2,2,0.175,-2.11918 } ); +cells.push_back( {10503311,1285,33,5,1,2,0.225,-2.06961 } ); +cells.push_back( {10503321,1305,33,5,2,2,0.225,-2.11918 } ); +cells.push_back( {10603311,1286,33,6,1,2,0.275,-2.06961 } ); +cells.push_back( {10603321,1306,33,6,2,2,0.275,-2.11918 } ); +cells.push_back( {10703311,1287,33,7,1,2,0.325,-2.06961 } ); +cells.push_back( {10703321,1307,33,7,2,2,0.325,-2.11918 } ); +cells.push_back( {10803311,1288,33,8,1,2,0.375,-2.06961 } ); +cells.push_back( {10803321,1308,33,8,2,2,0.375,-2.11918 } ); +cells.push_back( {10903311,1289,33,9,1,2,0.425,-2.06961 } ); +cells.push_back( {10903321,1309,33,9,2,2,0.425,-2.11918 } ); +cells.push_back( {11003311,1290,33,10,1,2,0.475,-2.06961 } ); +cells.push_back( {11003321,1310,33,10,2,2,0.475,-2.11918 } ); +cells.push_back( {11103311,1291,33,11,1,2,0.525,-2.06961 } ); +cells.push_back( {11103321,1311,33,11,2,2,0.525,-2.11918 } ); +cells.push_back( {11203311,1292,33,12,1,2,0.575,-2.06961 } ); +cells.push_back( {11203321,1312,33,12,2,2,0.575,-2.11918 } ); +cells.push_back( {11303311,1293,33,13,1,2,0.625,-2.06961 } ); +cells.push_back( {11303321,1313,33,13,2,2,0.625,-2.11918 } ); +cells.push_back( {11403311,1294,33,14,1,2,0.675,-2.06961 } ); +cells.push_back( {11403321,1314,33,14,2,2,0.675,-2.11918 } ); +cells.push_back( {11503311,1295,33,15,1,2,0.725,-2.06961 } ); +cells.push_back( {11503321,1315,33,15,2,2,0.725,-2.11918 } ); +cells.push_back( {11603311,1296,33,16,1,2,0.775,-2.06961 } ); +cells.push_back( {11603321,1316,33,16,2,2,0.775,-2.11918 } ); +cells.push_back( {11703311,1297,33,17,1,2,0.825,-2.06961 } ); +cells.push_back( {11703321,1317,33,17,2,2,0.825,-2.11918 } ); +cells.push_back( {11803311,1298,33,18,1,2,0.875,-2.06961 } ); +cells.push_back( {11803321,1318,33,18,2,2,0.875,-2.11918 } ); +cells.push_back( {11903311,1299,33,19,1,2,0.925,-2.06961 } ); +cells.push_back( {11903321,1319,33,19,2,2,0.925,-2.11918 } ); +cells.push_back( {12003311,1300,33,20,1,2,0.967,-2.06961 } ); +cells.push_back( {12003321,1320,33,20,2,2,0.967,-2.11918 } ); +cells.push_back( {10103312,1281,33,1,1,1,0.02675,-2.06961 } ); +cells.push_back( {10103322,1301,33,1,2,1,0.02675,-2.11918 } ); +cells.push_back( {10203312,1282,33,2,1,1,0.075,-2.06961 } ); +cells.push_back( {10203322,1302,33,2,2,1,0.075,-2.11918 } ); +cells.push_back( {10303312,1283,33,3,1,1,0.125,-2.06961 } ); +cells.push_back( {10303322,1303,33,3,2,1,0.125,-2.11918 } ); +cells.push_back( {10403312,1284,33,4,1,1,0.175,-2.06961 } ); +cells.push_back( {10403322,1304,33,4,2,1,0.175,-2.11918 } ); +cells.push_back( {10503312,1285,33,5,1,1,0.225,-2.06961 } ); +cells.push_back( {10503322,1305,33,5,2,1,0.225,-2.11918 } ); +cells.push_back( {10603312,1286,33,6,1,1,0.275,-2.06961 } ); +cells.push_back( {10603322,1306,33,6,2,1,0.275,-2.11918 } ); +cells.push_back( {10703312,1287,33,7,1,1,0.325,-2.06961 } ); +cells.push_back( {10703322,1307,33,7,2,1,0.325,-2.11918 } ); +cells.push_back( {10803312,1288,33,8,1,1,0.375,-2.06961 } ); +cells.push_back( {10803322,1308,33,8,2,1,0.375,-2.11918 } ); +cells.push_back( {10903312,1289,33,9,1,1,0.425,-2.06961 } ); +cells.push_back( {10903322,1309,33,9,2,1,0.425,-2.11918 } ); +cells.push_back( {11003312,1290,33,10,1,1,0.475,-2.06961 } ); +cells.push_back( {11003322,1310,33,10,2,1,0.475,-2.11918 } ); +cells.push_back( {11103312,1291,33,11,1,1,0.525,-2.06961 } ); +cells.push_back( {11103322,1311,33,11,2,1,0.525,-2.11918 } ); +cells.push_back( {11203312,1292,33,12,1,1,0.575,-2.06961 } ); +cells.push_back( {11203322,1312,33,12,2,1,0.575,-2.11918 } ); +cells.push_back( {11303312,1293,33,13,1,1,0.625,-2.06961 } ); +cells.push_back( {11303322,1313,33,13,2,1,0.625,-2.11918 } ); +cells.push_back( {11403312,1294,33,14,1,1,0.675,-2.06961 } ); +cells.push_back( {11403322,1314,33,14,2,1,0.675,-2.11918 } ); +cells.push_back( {11503312,1295,33,15,1,1,0.725,-2.06961 } ); +cells.push_back( {11503322,1315,33,15,2,1,0.725,-2.11918 } ); +cells.push_back( {11603312,1296,33,16,1,1,0.775,-2.06961 } ); +cells.push_back( {11603322,1316,33,16,2,1,0.775,-2.11918 } ); +cells.push_back( {11703312,1297,33,17,1,1,0.825,-2.06961 } ); +cells.push_back( {11703322,1317,33,17,2,1,0.825,-2.11918 } ); +cells.push_back( {11803312,1298,33,18,1,1,0.875,-2.06961 } ); +cells.push_back( {11803322,1318,33,18,2,1,0.875,-2.11918 } ); +cells.push_back( {11903312,1299,33,19,1,1,0.925,-2.06961 } ); +cells.push_back( {11903322,1319,33,19,2,1,0.925,-2.11918 } ); +cells.push_back( {12003312,1300,33,20,1,1,0.967,-2.06961 } ); +cells.push_back( {12003322,1320,33,20,2,1,0.967,-2.11918 } ); +cells.push_back( {10103411,1321,34,1,1,2,0.02675,-2.17433 } ); +cells.push_back( {10103421,1341,34,1,2,2,0.02675,-2.2239 } ); +cells.push_back( {10203411,1322,34,2,1,2,0.075,-2.17433 } ); +cells.push_back( {10203421,1342,34,2,2,2,0.075,-2.2239 } ); +cells.push_back( {10303411,1323,34,3,1,2,0.125,-2.17433 } ); +cells.push_back( {10303421,1343,34,3,2,2,0.125,-2.2239 } ); +cells.push_back( {10403411,1324,34,4,1,2,0.175,-2.17433 } ); +cells.push_back( {10403421,1344,34,4,2,2,0.175,-2.2239 } ); +cells.push_back( {10503411,1325,34,5,1,2,0.225,-2.17433 } ); +cells.push_back( {10503421,1345,34,5,2,2,0.225,-2.2239 } ); +cells.push_back( {10603411,1326,34,6,1,2,0.275,-2.17433 } ); +cells.push_back( {10603421,1346,34,6,2,2,0.275,-2.2239 } ); +cells.push_back( {10703411,1327,34,7,1,2,0.325,-2.17433 } ); +cells.push_back( {10703421,1347,34,7,2,2,0.325,-2.2239 } ); +cells.push_back( {10803411,1328,34,8,1,2,0.375,-2.17433 } ); +cells.push_back( {10803421,1348,34,8,2,2,0.375,-2.2239 } ); +cells.push_back( {10903411,1329,34,9,1,2,0.425,-2.17433 } ); +cells.push_back( {10903421,1349,34,9,2,2,0.425,-2.2239 } ); +cells.push_back( {11003411,1330,34,10,1,2,0.475,-2.17433 } ); +cells.push_back( {11003421,1350,34,10,2,2,0.475,-2.2239 } ); +cells.push_back( {11103411,1331,34,11,1,2,0.525,-2.17433 } ); +cells.push_back( {11103421,1351,34,11,2,2,0.525,-2.2239 } ); +cells.push_back( {11203411,1332,34,12,1,2,0.575,-2.17433 } ); +cells.push_back( {11203421,1352,34,12,2,2,0.575,-2.2239 } ); +cells.push_back( {11303411,1333,34,13,1,2,0.625,-2.17433 } ); +cells.push_back( {11303421,1353,34,13,2,2,0.625,-2.2239 } ); +cells.push_back( {11403411,1334,34,14,1,2,0.675,-2.17433 } ); +cells.push_back( {11403421,1354,34,14,2,2,0.675,-2.2239 } ); +cells.push_back( {11503411,1335,34,15,1,2,0.725,-2.17433 } ); +cells.push_back( {11503421,1355,34,15,2,2,0.725,-2.2239 } ); +cells.push_back( {11603411,1336,34,16,1,2,0.775,-2.17433 } ); +cells.push_back( {11603421,1356,34,16,2,2,0.775,-2.2239 } ); +cells.push_back( {11703411,1337,34,17,1,2,0.825,-2.17433 } ); +cells.push_back( {11703421,1357,34,17,2,2,0.825,-2.2239 } ); +cells.push_back( {11803411,1338,34,18,1,2,0.875,-2.17433 } ); +cells.push_back( {11803421,1358,34,18,2,2,0.875,-2.2239 } ); +cells.push_back( {11903411,1339,34,19,1,2,0.925,-2.17433 } ); +cells.push_back( {11903421,1359,34,19,2,2,0.925,-2.2239 } ); +cells.push_back( {12003411,1340,34,20,1,2,0.967,-2.17433 } ); +cells.push_back( {12003421,1360,34,20,2,2,0.967,-2.2239 } ); +cells.push_back( {10103412,1321,34,1,1,1,0.02675,-2.17433 } ); +cells.push_back( {10103422,1341,34,1,2,1,0.02675,-2.2239 } ); +cells.push_back( {10203412,1322,34,2,1,1,0.075,-2.17433 } ); +cells.push_back( {10203422,1342,34,2,2,1,0.075,-2.2239 } ); +cells.push_back( {10303412,1323,34,3,1,1,0.125,-2.17433 } ); +cells.push_back( {10303422,1343,34,3,2,1,0.125,-2.2239 } ); +cells.push_back( {10403412,1324,34,4,1,1,0.175,-2.17433 } ); +cells.push_back( {10403422,1344,34,4,2,1,0.175,-2.2239 } ); +cells.push_back( {10503412,1325,34,5,1,1,0.225,-2.17433 } ); +cells.push_back( {10503422,1345,34,5,2,1,0.225,-2.2239 } ); +cells.push_back( {10603412,1326,34,6,1,1,0.275,-2.17433 } ); +cells.push_back( {10603422,1346,34,6,2,1,0.275,-2.2239 } ); +cells.push_back( {10703412,1327,34,7,1,1,0.325,-2.17433 } ); +cells.push_back( {10703422,1347,34,7,2,1,0.325,-2.2239 } ); +cells.push_back( {10803412,1328,34,8,1,1,0.375,-2.17433 } ); +cells.push_back( {10803422,1348,34,8,2,1,0.375,-2.2239 } ); +cells.push_back( {10903412,1329,34,9,1,1,0.425,-2.17433 } ); +cells.push_back( {10903422,1349,34,9,2,1,0.425,-2.2239 } ); +cells.push_back( {11003412,1330,34,10,1,1,0.475,-2.17433 } ); +cells.push_back( {11003422,1350,34,10,2,1,0.475,-2.2239 } ); +cells.push_back( {11103412,1331,34,11,1,1,0.525,-2.17433 } ); +cells.push_back( {11103422,1351,34,11,2,1,0.525,-2.2239 } ); +cells.push_back( {11203412,1332,34,12,1,1,0.575,-2.17433 } ); +cells.push_back( {11203422,1352,34,12,2,1,0.575,-2.2239 } ); +cells.push_back( {11303412,1333,34,13,1,1,0.625,-2.17433 } ); +cells.push_back( {11303422,1353,34,13,2,1,0.625,-2.2239 } ); +cells.push_back( {11403412,1334,34,14,1,1,0.675,-2.17433 } ); +cells.push_back( {11403422,1354,34,14,2,1,0.675,-2.2239 } ); +cells.push_back( {11503412,1335,34,15,1,1,0.725,-2.17433 } ); +cells.push_back( {11503422,1355,34,15,2,1,0.725,-2.2239 } ); +cells.push_back( {11603412,1336,34,16,1,1,0.775,-2.17433 } ); +cells.push_back( {11603422,1356,34,16,2,1,0.775,-2.2239 } ); +cells.push_back( {11703412,1337,34,17,1,1,0.825,-2.17433 } ); +cells.push_back( {11703422,1357,34,17,2,1,0.825,-2.2239 } ); +cells.push_back( {11803412,1338,34,18,1,1,0.875,-2.17433 } ); +cells.push_back( {11803422,1358,34,18,2,1,0.875,-2.2239 } ); +cells.push_back( {11903412,1339,34,19,1,1,0.925,-2.17433 } ); +cells.push_back( {11903422,1359,34,19,2,1,0.925,-2.2239 } ); +cells.push_back( {12003412,1340,34,20,1,1,0.967,-2.17433 } ); +cells.push_back( {12003422,1360,34,20,2,1,0.967,-2.2239 } ); +cells.push_back( {10103511,1361,35,1,1,2,0.02675,-2.27905 } ); +cells.push_back( {10103521,1381,35,1,2,2,0.02675,-2.32862 } ); +cells.push_back( {10203511,1362,35,2,1,2,0.075,-2.27905 } ); +cells.push_back( {10203521,1382,35,2,2,2,0.075,-2.32862 } ); +cells.push_back( {10303511,1363,35,3,1,2,0.125,-2.27905 } ); +cells.push_back( {10303521,1383,35,3,2,2,0.125,-2.32862 } ); +cells.push_back( {10403511,1364,35,4,1,2,0.175,-2.27905 } ); +cells.push_back( {10403521,1384,35,4,2,2,0.175,-2.32862 } ); +cells.push_back( {10503511,1365,35,5,1,2,0.225,-2.27905 } ); +cells.push_back( {10503521,1385,35,5,2,2,0.225,-2.32862 } ); +cells.push_back( {10603511,1366,35,6,1,2,0.275,-2.27905 } ); +cells.push_back( {10603521,1386,35,6,2,2,0.275,-2.32862 } ); +cells.push_back( {10703511,1367,35,7,1,2,0.325,-2.27905 } ); +cells.push_back( {10703521,1387,35,7,2,2,0.325,-2.32862 } ); +cells.push_back( {10803511,1368,35,8,1,2,0.375,-2.27905 } ); +cells.push_back( {10803521,1388,35,8,2,2,0.375,-2.32862 } ); +cells.push_back( {10903511,1369,35,9,1,2,0.425,-2.27905 } ); +cells.push_back( {10903521,1389,35,9,2,2,0.425,-2.32862 } ); +cells.push_back( {11003511,1370,35,10,1,2,0.475,-2.27905 } ); +cells.push_back( {11003521,1390,35,10,2,2,0.475,-2.32862 } ); +cells.push_back( {11103511,1371,35,11,1,2,0.525,-2.27905 } ); +cells.push_back( {11103521,1391,35,11,2,2,0.525,-2.32862 } ); +cells.push_back( {11203511,1372,35,12,1,2,0.575,-2.27905 } ); +cells.push_back( {11203521,1392,35,12,2,2,0.575,-2.32862 } ); +cells.push_back( {11303511,1373,35,13,1,2,0.625,-2.27905 } ); +cells.push_back( {11303521,1393,35,13,2,2,0.625,-2.32862 } ); +cells.push_back( {11403511,1374,35,14,1,2,0.675,-2.27905 } ); +cells.push_back( {11403521,1394,35,14,2,2,0.675,-2.32862 } ); +cells.push_back( {11503511,1375,35,15,1,2,0.725,-2.27905 } ); +cells.push_back( {11503521,1395,35,15,2,2,0.725,-2.32862 } ); +cells.push_back( {11603511,1376,35,16,1,2,0.775,-2.27905 } ); +cells.push_back( {11603521,1396,35,16,2,2,0.775,-2.32862 } ); +cells.push_back( {11703511,1377,35,17,1,2,0.825,-2.27905 } ); +cells.push_back( {11703521,1397,35,17,2,2,0.825,-2.32862 } ); +cells.push_back( {11803511,1378,35,18,1,2,0.875,-2.27905 } ); +cells.push_back( {11803521,1398,35,18,2,2,0.875,-2.32862 } ); +cells.push_back( {11903511,1379,35,19,1,2,0.925,-2.27905 } ); +cells.push_back( {11903521,1399,35,19,2,2,0.925,-2.32862 } ); +cells.push_back( {12003511,1380,35,20,1,2,0.967,-2.27905 } ); +cells.push_back( {12003521,1400,35,20,2,2,0.967,-2.32862 } ); +cells.push_back( {10103512,1361,35,1,1,1,0.02675,-2.27905 } ); +cells.push_back( {10103522,1381,35,1,2,1,0.02675,-2.32862 } ); +cells.push_back( {10203512,1362,35,2,1,1,0.075,-2.27905 } ); +cells.push_back( {10203522,1382,35,2,2,1,0.075,-2.32862 } ); +cells.push_back( {10303512,1363,35,3,1,1,0.125,-2.27905 } ); +cells.push_back( {10303522,1383,35,3,2,1,0.125,-2.32862 } ); +cells.push_back( {10403512,1364,35,4,1,1,0.175,-2.27905 } ); +cells.push_back( {10403522,1384,35,4,2,1,0.175,-2.32862 } ); +cells.push_back( {10503512,1365,35,5,1,1,0.225,-2.27905 } ); +cells.push_back( {10503522,1385,35,5,2,1,0.225,-2.32862 } ); +cells.push_back( {10603512,1366,35,6,1,1,0.275,-2.27905 } ); +cells.push_back( {10603522,1386,35,6,2,1,0.275,-2.32862 } ); +cells.push_back( {10703512,1367,35,7,1,1,0.325,-2.27905 } ); +cells.push_back( {10703522,1387,35,7,2,1,0.325,-2.32862 } ); +cells.push_back( {10803512,1368,35,8,1,1,0.375,-2.27905 } ); +cells.push_back( {10803522,1388,35,8,2,1,0.375,-2.32862 } ); +cells.push_back( {10903512,1369,35,9,1,1,0.425,-2.27905 } ); +cells.push_back( {10903522,1389,35,9,2,1,0.425,-2.32862 } ); +cells.push_back( {11003512,1370,35,10,1,1,0.475,-2.27905 } ); +cells.push_back( {11003522,1390,35,10,2,1,0.475,-2.32862 } ); +cells.push_back( {11103512,1371,35,11,1,1,0.525,-2.27905 } ); +cells.push_back( {11103522,1391,35,11,2,1,0.525,-2.32862 } ); +cells.push_back( {11203512,1372,35,12,1,1,0.575,-2.27905 } ); +cells.push_back( {11203522,1392,35,12,2,1,0.575,-2.32862 } ); +cells.push_back( {11303512,1373,35,13,1,1,0.625,-2.27905 } ); +cells.push_back( {11303522,1393,35,13,2,1,0.625,-2.32862 } ); +cells.push_back( {11403512,1374,35,14,1,1,0.675,-2.27905 } ); +cells.push_back( {11403522,1394,35,14,2,1,0.675,-2.32862 } ); +cells.push_back( {11503512,1375,35,15,1,1,0.725,-2.27905 } ); +cells.push_back( {11503522,1395,35,15,2,1,0.725,-2.32862 } ); +cells.push_back( {11603512,1376,35,16,1,1,0.775,-2.27905 } ); +cells.push_back( {11603522,1396,35,16,2,1,0.775,-2.32862 } ); +cells.push_back( {11703512,1377,35,17,1,1,0.825,-2.27905 } ); +cells.push_back( {11703522,1397,35,17,2,1,0.825,-2.32862 } ); +cells.push_back( {11803512,1378,35,18,1,1,0.875,-2.27905 } ); +cells.push_back( {11803522,1398,35,18,2,1,0.875,-2.32862 } ); +cells.push_back( {11903512,1379,35,19,1,1,0.925,-2.27905 } ); +cells.push_back( {11903522,1399,35,19,2,1,0.925,-2.32862 } ); +cells.push_back( {12003512,1380,35,20,1,1,0.967,-2.27905 } ); +cells.push_back( {12003522,1400,35,20,2,1,0.967,-2.32862 } ); +cells.push_back( {10103611,1401,36,1,1,2,0.02675,-2.38377 } ); +cells.push_back( {10103621,1421,36,1,2,2,0.02675,-2.43334 } ); +cells.push_back( {10203611,1402,36,2,1,2,0.075,-2.38377 } ); +cells.push_back( {10203621,1422,36,2,2,2,0.075,-2.43334 } ); +cells.push_back( {10303611,1403,36,3,1,2,0.125,-2.38377 } ); +cells.push_back( {10303621,1423,36,3,2,2,0.125,-2.43334 } ); +cells.push_back( {10403611,1404,36,4,1,2,0.175,-2.38377 } ); +cells.push_back( {10403621,1424,36,4,2,2,0.175,-2.43334 } ); +cells.push_back( {10503611,1405,36,5,1,2,0.225,-2.38377 } ); +cells.push_back( {10503621,1425,36,5,2,2,0.225,-2.43334 } ); +cells.push_back( {10603611,1406,36,6,1,2,0.275,-2.38377 } ); +cells.push_back( {10603621,1426,36,6,2,2,0.275,-2.43334 } ); +cells.push_back( {10703611,1407,36,7,1,2,0.325,-2.38377 } ); +cells.push_back( {10703621,1427,36,7,2,2,0.325,-2.43334 } ); +cells.push_back( {10803611,1408,36,8,1,2,0.375,-2.38377 } ); +cells.push_back( {10803621,1428,36,8,2,2,0.375,-2.43334 } ); +cells.push_back( {10903611,1409,36,9,1,2,0.425,-2.38377 } ); +cells.push_back( {10903621,1429,36,9,2,2,0.425,-2.43334 } ); +cells.push_back( {11003611,1410,36,10,1,2,0.475,-2.38377 } ); +cells.push_back( {11003621,1430,36,10,2,2,0.475,-2.43334 } ); +cells.push_back( {11103611,1411,36,11,1,2,0.525,-2.38377 } ); +cells.push_back( {11103621,1431,36,11,2,2,0.525,-2.43334 } ); +cells.push_back( {11203611,1412,36,12,1,2,0.575,-2.38377 } ); +cells.push_back( {11203621,1432,36,12,2,2,0.575,-2.43334 } ); +cells.push_back( {11303611,1413,36,13,1,2,0.625,-2.38377 } ); +cells.push_back( {11303621,1433,36,13,2,2,0.625,-2.43334 } ); +cells.push_back( {11403611,1414,36,14,1,2,0.675,-2.38377 } ); +cells.push_back( {11403621,1434,36,14,2,2,0.675,-2.43334 } ); +cells.push_back( {11503611,1415,36,15,1,2,0.725,-2.38377 } ); +cells.push_back( {11503621,1435,36,15,2,2,0.725,-2.43334 } ); +cells.push_back( {11603611,1416,36,16,1,2,0.775,-2.38377 } ); +cells.push_back( {11603621,1436,36,16,2,2,0.775,-2.43334 } ); +cells.push_back( {11703611,1417,36,17,1,2,0.825,-2.38377 } ); +cells.push_back( {11703621,1437,36,17,2,2,0.825,-2.43334 } ); +cells.push_back( {11803611,1418,36,18,1,2,0.875,-2.38377 } ); +cells.push_back( {11803621,1438,36,18,2,2,0.875,-2.43334 } ); +cells.push_back( {11903611,1419,36,19,1,2,0.925,-2.38377 } ); +cells.push_back( {11903621,1439,36,19,2,2,0.925,-2.43334 } ); +cells.push_back( {12003611,1420,36,20,1,2,0.967,-2.38377 } ); +cells.push_back( {12003621,1440,36,20,2,2,0.967,-2.43334 } ); +cells.push_back( {10103612,1401,36,1,1,1,0.02675,-2.38377 } ); +cells.push_back( {10103622,1421,36,1,2,1,0.02675,-2.43334 } ); +cells.push_back( {10203612,1402,36,2,1,1,0.075,-2.38377 } ); +cells.push_back( {10203622,1422,36,2,2,1,0.075,-2.43334 } ); +cells.push_back( {10303612,1403,36,3,1,1,0.125,-2.38377 } ); +cells.push_back( {10303622,1423,36,3,2,1,0.125,-2.43334 } ); +cells.push_back( {10403612,1404,36,4,1,1,0.175,-2.38377 } ); +cells.push_back( {10403622,1424,36,4,2,1,0.175,-2.43334 } ); +cells.push_back( {10503612,1405,36,5,1,1,0.225,-2.38377 } ); +cells.push_back( {10503622,1425,36,5,2,1,0.225,-2.43334 } ); +cells.push_back( {10603612,1406,36,6,1,1,0.275,-2.38377 } ); +cells.push_back( {10603622,1426,36,6,2,1,0.275,-2.43334 } ); +cells.push_back( {10703612,1407,36,7,1,1,0.325,-2.38377 } ); +cells.push_back( {10703622,1427,36,7,2,1,0.325,-2.43334 } ); +cells.push_back( {10803612,1408,36,8,1,1,0.375,-2.38377 } ); +cells.push_back( {10803622,1428,36,8,2,1,0.375,-2.43334 } ); +cells.push_back( {10903612,1409,36,9,1,1,0.425,-2.38377 } ); +cells.push_back( {10903622,1429,36,9,2,1,0.425,-2.43334 } ); +cells.push_back( {11003612,1410,36,10,1,1,0.475,-2.38377 } ); +cells.push_back( {11003622,1430,36,10,2,1,0.475,-2.43334 } ); +cells.push_back( {11103612,1411,36,11,1,1,0.525,-2.38377 } ); +cells.push_back( {11103622,1431,36,11,2,1,0.525,-2.43334 } ); +cells.push_back( {11203612,1412,36,12,1,1,0.575,-2.38377 } ); +cells.push_back( {11203622,1432,36,12,2,1,0.575,-2.43334 } ); +cells.push_back( {11303612,1413,36,13,1,1,0.625,-2.38377 } ); +cells.push_back( {11303622,1433,36,13,2,1,0.625,-2.43334 } ); +cells.push_back( {11403612,1414,36,14,1,1,0.675,-2.38377 } ); +cells.push_back( {11403622,1434,36,14,2,1,0.675,-2.43334 } ); +cells.push_back( {11503612,1415,36,15,1,1,0.725,-2.38377 } ); +cells.push_back( {11503622,1435,36,15,2,1,0.725,-2.43334 } ); +cells.push_back( {11603612,1416,36,16,1,1,0.775,-2.38377 } ); +cells.push_back( {11603622,1436,36,16,2,1,0.775,-2.43334 } ); +cells.push_back( {11703612,1417,36,17,1,1,0.825,-2.38377 } ); +cells.push_back( {11703622,1437,36,17,2,1,0.825,-2.43334 } ); +cells.push_back( {11803612,1418,36,18,1,1,0.875,-2.38377 } ); +cells.push_back( {11803622,1438,36,18,2,1,0.875,-2.43334 } ); +cells.push_back( {11903612,1419,36,19,1,1,0.925,-2.38377 } ); +cells.push_back( {11903622,1439,36,19,2,1,0.925,-2.43334 } ); +cells.push_back( {12003612,1420,36,20,1,1,0.967,-2.38377 } ); +cells.push_back( {12003622,1440,36,20,2,1,0.967,-2.43334 } ); +cells.push_back( {10103711,1441,37,1,1,2,0.02675,-2.48849 } ); +cells.push_back( {10103721,1461,37,1,2,2,0.02675,-2.53806 } ); +cells.push_back( {10203711,1442,37,2,1,2,0.075,-2.48849 } ); +cells.push_back( {10203721,1462,37,2,2,2,0.075,-2.53806 } ); +cells.push_back( {10303711,1443,37,3,1,2,0.125,-2.48849 } ); +cells.push_back( {10303721,1463,37,3,2,2,0.125,-2.53806 } ); +cells.push_back( {10403711,1444,37,4,1,2,0.175,-2.48849 } ); +cells.push_back( {10403721,1464,37,4,2,2,0.175,-2.53806 } ); +cells.push_back( {10503711,1445,37,5,1,2,0.225,-2.48849 } ); +cells.push_back( {10503721,1465,37,5,2,2,0.225,-2.53806 } ); +cells.push_back( {10603711,1446,37,6,1,2,0.275,-2.48849 } ); +cells.push_back( {10603721,1466,37,6,2,2,0.275,-2.53806 } ); +cells.push_back( {10703711,1447,37,7,1,2,0.325,-2.48849 } ); +cells.push_back( {10703721,1467,37,7,2,2,0.325,-2.53806 } ); +cells.push_back( {10803711,1448,37,8,1,2,0.375,-2.48849 } ); +cells.push_back( {10803721,1468,37,8,2,2,0.375,-2.53806 } ); +cells.push_back( {10903711,1449,37,9,1,2,0.425,-2.48849 } ); +cells.push_back( {10903721,1469,37,9,2,2,0.425,-2.53806 } ); +cells.push_back( {11003711,1450,37,10,1,2,0.475,-2.48849 } ); +cells.push_back( {11003721,1470,37,10,2,2,0.475,-2.53806 } ); +cells.push_back( {11103711,1451,37,11,1,2,0.525,-2.48849 } ); +cells.push_back( {11103721,1471,37,11,2,2,0.525,-2.53806 } ); +cells.push_back( {11203711,1452,37,12,1,2,0.575,-2.48849 } ); +cells.push_back( {11203721,1472,37,12,2,2,0.575,-2.53806 } ); +cells.push_back( {11303711,1453,37,13,1,2,0.625,-2.48849 } ); +cells.push_back( {11303721,1473,37,13,2,2,0.625,-2.53806 } ); +cells.push_back( {11403711,1454,37,14,1,2,0.675,-2.48849 } ); +cells.push_back( {11403721,1474,37,14,2,2,0.675,-2.53806 } ); +cells.push_back( {11503711,1455,37,15,1,2,0.725,-2.48849 } ); +cells.push_back( {11503721,1475,37,15,2,2,0.725,-2.53806 } ); +cells.push_back( {11603711,1456,37,16,1,2,0.775,-2.48849 } ); +cells.push_back( {11603721,1476,37,16,2,2,0.775,-2.53806 } ); +cells.push_back( {11703711,1457,37,17,1,2,0.825,-2.48849 } ); +cells.push_back( {11703721,1477,37,17,2,2,0.825,-2.53806 } ); +cells.push_back( {11803711,1458,37,18,1,2,0.875,-2.48849 } ); +cells.push_back( {11803721,1478,37,18,2,2,0.875,-2.53806 } ); +cells.push_back( {11903711,1459,37,19,1,2,0.925,-2.48849 } ); +cells.push_back( {11903721,1479,37,19,2,2,0.925,-2.53806 } ); +cells.push_back( {12003711,1460,37,20,1,2,0.967,-2.48849 } ); +cells.push_back( {12003721,1480,37,20,2,2,0.967,-2.53806 } ); +cells.push_back( {10103712,1441,37,1,1,1,0.02675,-2.48849 } ); +cells.push_back( {10103722,1461,37,1,2,1,0.02675,-2.53806 } ); +cells.push_back( {10203712,1442,37,2,1,1,0.075,-2.48849 } ); +cells.push_back( {10203722,1462,37,2,2,1,0.075,-2.53806 } ); +cells.push_back( {10303712,1443,37,3,1,1,0.125,-2.48849 } ); +cells.push_back( {10303722,1463,37,3,2,1,0.125,-2.53806 } ); +cells.push_back( {10403712,1444,37,4,1,1,0.175,-2.48849 } ); +cells.push_back( {10403722,1464,37,4,2,1,0.175,-2.53806 } ); +cells.push_back( {10503712,1445,37,5,1,1,0.225,-2.48849 } ); +cells.push_back( {10503722,1465,37,5,2,1,0.225,-2.53806 } ); +cells.push_back( {10603712,1446,37,6,1,1,0.275,-2.48849 } ); +cells.push_back( {10603722,1466,37,6,2,1,0.275,-2.53806 } ); +cells.push_back( {10703712,1447,37,7,1,1,0.325,-2.48849 } ); +cells.push_back( {10703722,1467,37,7,2,1,0.325,-2.53806 } ); +cells.push_back( {10803712,1448,37,8,1,1,0.375,-2.48849 } ); +cells.push_back( {10803722,1468,37,8,2,1,0.375,-2.53806 } ); +cells.push_back( {10903712,1449,37,9,1,1,0.425,-2.48849 } ); +cells.push_back( {10903722,1469,37,9,2,1,0.425,-2.53806 } ); +cells.push_back( {11003712,1450,37,10,1,1,0.475,-2.48849 } ); +cells.push_back( {11003722,1470,37,10,2,1,0.475,-2.53806 } ); +cells.push_back( {11103712,1451,37,11,1,1,0.525,-2.48849 } ); +cells.push_back( {11103722,1471,37,11,2,1,0.525,-2.53806 } ); +cells.push_back( {11203712,1452,37,12,1,1,0.575,-2.48849 } ); +cells.push_back( {11203722,1472,37,12,2,1,0.575,-2.53806 } ); +cells.push_back( {11303712,1453,37,13,1,1,0.625,-2.48849 } ); +cells.push_back( {11303722,1473,37,13,2,1,0.625,-2.53806 } ); +cells.push_back( {11403712,1454,37,14,1,1,0.675,-2.48849 } ); +cells.push_back( {11403722,1474,37,14,2,1,0.675,-2.53806 } ); +cells.push_back( {11503712,1455,37,15,1,1,0.725,-2.48849 } ); +cells.push_back( {11503722,1475,37,15,2,1,0.725,-2.53806 } ); +cells.push_back( {11603712,1456,37,16,1,1,0.775,-2.48849 } ); +cells.push_back( {11603722,1476,37,16,2,1,0.775,-2.53806 } ); +cells.push_back( {11703712,1457,37,17,1,1,0.825,-2.48849 } ); +cells.push_back( {11703722,1477,37,17,2,1,0.825,-2.53806 } ); +cells.push_back( {11803712,1458,37,18,1,1,0.875,-2.48849 } ); +cells.push_back( {11803722,1478,37,18,2,1,0.875,-2.53806 } ); +cells.push_back( {11903712,1459,37,19,1,1,0.925,-2.48849 } ); +cells.push_back( {11903722,1479,37,19,2,1,0.925,-2.53806 } ); +cells.push_back( {12003712,1460,37,20,1,1,0.967,-2.48849 } ); +cells.push_back( {12003722,1480,37,20,2,1,0.967,-2.53806 } ); +cells.push_back( {10103811,1481,38,1,1,2,0.02675,-2.59321 } ); +cells.push_back( {10103821,1501,38,1,2,2,0.02675,-2.64278 } ); +cells.push_back( {10203811,1482,38,2,1,2,0.075,-2.59321 } ); +cells.push_back( {10203821,1502,38,2,2,2,0.075,-2.64278 } ); +cells.push_back( {10303811,1483,38,3,1,2,0.125,-2.59321 } ); +cells.push_back( {10303821,1503,38,3,2,2,0.125,-2.64278 } ); +cells.push_back( {10403811,1484,38,4,1,2,0.175,-2.59321 } ); +cells.push_back( {10403821,1504,38,4,2,2,0.175,-2.64278 } ); +cells.push_back( {10503811,1485,38,5,1,2,0.225,-2.59321 } ); +cells.push_back( {10503821,1505,38,5,2,2,0.225,-2.64278 } ); +cells.push_back( {10603811,1486,38,6,1,2,0.275,-2.59321 } ); +cells.push_back( {10603821,1506,38,6,2,2,0.275,-2.64278 } ); +cells.push_back( {10703811,1487,38,7,1,2,0.325,-2.59321 } ); +cells.push_back( {10703821,1507,38,7,2,2,0.325,-2.64278 } ); +cells.push_back( {10803811,1488,38,8,1,2,0.375,-2.59321 } ); +cells.push_back( {10803821,1508,38,8,2,2,0.375,-2.64278 } ); +cells.push_back( {10903811,1489,38,9,1,2,0.425,-2.59321 } ); +cells.push_back( {10903821,1509,38,9,2,2,0.425,-2.64278 } ); +cells.push_back( {11003811,1490,38,10,1,2,0.475,-2.59321 } ); +cells.push_back( {11003821,1510,38,10,2,2,0.475,-2.64278 } ); +cells.push_back( {11103811,1491,38,11,1,2,0.525,-2.59321 } ); +cells.push_back( {11103821,1511,38,11,2,2,0.525,-2.64278 } ); +cells.push_back( {11203811,1492,38,12,1,2,0.575,-2.59321 } ); +cells.push_back( {11203821,1512,38,12,2,2,0.575,-2.64278 } ); +cells.push_back( {11303811,1493,38,13,1,2,0.625,-2.59321 } ); +cells.push_back( {11303821,1513,38,13,2,2,0.625,-2.64278 } ); +cells.push_back( {11403811,1494,38,14,1,2,0.675,-2.59321 } ); +cells.push_back( {11403821,1514,38,14,2,2,0.675,-2.64278 } ); +cells.push_back( {11503811,1495,38,15,1,2,0.725,-2.59321 } ); +cells.push_back( {11503821,1515,38,15,2,2,0.725,-2.64278 } ); +cells.push_back( {11603811,1496,38,16,1,2,0.775,-2.59321 } ); +cells.push_back( {11603821,1516,38,16,2,2,0.775,-2.64278 } ); +cells.push_back( {11703811,1497,38,17,1,2,0.825,-2.59321 } ); +cells.push_back( {11703821,1517,38,17,2,2,0.825,-2.64278 } ); +cells.push_back( {11803811,1498,38,18,1,2,0.875,-2.59321 } ); +cells.push_back( {11803821,1518,38,18,2,2,0.875,-2.64278 } ); +cells.push_back( {11903811,1499,38,19,1,2,0.925,-2.59321 } ); +cells.push_back( {11903821,1519,38,19,2,2,0.925,-2.64278 } ); +cells.push_back( {12003811,1500,38,20,1,2,0.967,-2.59321 } ); +cells.push_back( {12003821,1520,38,20,2,2,0.967,-2.64278 } ); +cells.push_back( {10103812,1481,38,1,1,1,0.02675,-2.59321 } ); +cells.push_back( {10103822,1501,38,1,2,1,0.02675,-2.64278 } ); +cells.push_back( {10203812,1482,38,2,1,1,0.075,-2.59321 } ); +cells.push_back( {10203822,1502,38,2,2,1,0.075,-2.64278 } ); +cells.push_back( {10303812,1483,38,3,1,1,0.125,-2.59321 } ); +cells.push_back( {10303822,1503,38,3,2,1,0.125,-2.64278 } ); +cells.push_back( {10403812,1484,38,4,1,1,0.175,-2.59321 } ); +cells.push_back( {10403822,1504,38,4,2,1,0.175,-2.64278 } ); +cells.push_back( {10503812,1485,38,5,1,1,0.225,-2.59321 } ); +cells.push_back( {10503822,1505,38,5,2,1,0.225,-2.64278 } ); +cells.push_back( {10603812,1486,38,6,1,1,0.275,-2.59321 } ); +cells.push_back( {10603822,1506,38,6,2,1,0.275,-2.64278 } ); +cells.push_back( {10703812,1487,38,7,1,1,0.325,-2.59321 } ); +cells.push_back( {10703822,1507,38,7,2,1,0.325,-2.64278 } ); +cells.push_back( {10803812,1488,38,8,1,1,0.375,-2.59321 } ); +cells.push_back( {10803822,1508,38,8,2,1,0.375,-2.64278 } ); +cells.push_back( {10903812,1489,38,9,1,1,0.425,-2.59321 } ); +cells.push_back( {10903822,1509,38,9,2,1,0.425,-2.64278 } ); +cells.push_back( {11003812,1490,38,10,1,1,0.475,-2.59321 } ); +cells.push_back( {11003822,1510,38,10,2,1,0.475,-2.64278 } ); +cells.push_back( {11103812,1491,38,11,1,1,0.525,-2.59321 } ); +cells.push_back( {11103822,1511,38,11,2,1,0.525,-2.64278 } ); +cells.push_back( {11203812,1492,38,12,1,1,0.575,-2.59321 } ); +cells.push_back( {11203822,1512,38,12,2,1,0.575,-2.64278 } ); +cells.push_back( {11303812,1493,38,13,1,1,0.625,-2.59321 } ); +cells.push_back( {11303822,1513,38,13,2,1,0.625,-2.64278 } ); +cells.push_back( {11403812,1494,38,14,1,1,0.675,-2.59321 } ); +cells.push_back( {11403822,1514,38,14,2,1,0.675,-2.64278 } ); +cells.push_back( {11503812,1495,38,15,1,1,0.725,-2.59321 } ); +cells.push_back( {11503822,1515,38,15,2,1,0.725,-2.64278 } ); +cells.push_back( {11603812,1496,38,16,1,1,0.775,-2.59321 } ); +cells.push_back( {11603822,1516,38,16,2,1,0.775,-2.64278 } ); +cells.push_back( {11703812,1497,38,17,1,1,0.825,-2.59321 } ); +cells.push_back( {11703822,1517,38,17,2,1,0.825,-2.64278 } ); +cells.push_back( {11803812,1498,38,18,1,1,0.875,-2.59321 } ); +cells.push_back( {11803822,1518,38,18,2,1,0.875,-2.64278 } ); +cells.push_back( {11903812,1499,38,19,1,1,0.925,-2.59321 } ); +cells.push_back( {11903822,1519,38,19,2,1,0.925,-2.64278 } ); +cells.push_back( {12003812,1500,38,20,1,1,0.967,-2.59321 } ); +cells.push_back( {12003822,1520,38,20,2,1,0.967,-2.64278 } ); +cells.push_back( {10103911,1521,39,1,1,2,0.02675,-2.69793 } ); +cells.push_back( {10103921,1541,39,1,2,2,0.02675,-2.7475 } ); +cells.push_back( {10203911,1522,39,2,1,2,0.075,-2.69793 } ); +cells.push_back( {10203921,1542,39,2,2,2,0.075,-2.7475 } ); +cells.push_back( {10303911,1523,39,3,1,2,0.125,-2.69793 } ); +cells.push_back( {10303921,1543,39,3,2,2,0.125,-2.7475 } ); +cells.push_back( {10403911,1524,39,4,1,2,0.175,-2.69793 } ); +cells.push_back( {10403921,1544,39,4,2,2,0.175,-2.7475 } ); +cells.push_back( {10503911,1525,39,5,1,2,0.225,-2.69793 } ); +cells.push_back( {10503921,1545,39,5,2,2,0.225,-2.7475 } ); +cells.push_back( {10603911,1526,39,6,1,2,0.275,-2.69793 } ); +cells.push_back( {10603921,1546,39,6,2,2,0.275,-2.7475 } ); +cells.push_back( {10703911,1527,39,7,1,2,0.325,-2.69793 } ); +cells.push_back( {10703921,1547,39,7,2,2,0.325,-2.7475 } ); +cells.push_back( {10803911,1528,39,8,1,2,0.375,-2.69793 } ); +cells.push_back( {10803921,1548,39,8,2,2,0.375,-2.7475 } ); +cells.push_back( {10903911,1529,39,9,1,2,0.425,-2.69793 } ); +cells.push_back( {10903921,1549,39,9,2,2,0.425,-2.7475 } ); +cells.push_back( {11003911,1530,39,10,1,2,0.475,-2.69793 } ); +cells.push_back( {11003921,1550,39,10,2,2,0.475,-2.7475 } ); +cells.push_back( {11103911,1531,39,11,1,2,0.525,-2.69793 } ); +cells.push_back( {11103921,1551,39,11,2,2,0.525,-2.7475 } ); +cells.push_back( {11203911,1532,39,12,1,2,0.575,-2.69793 } ); +cells.push_back( {11203921,1552,39,12,2,2,0.575,-2.7475 } ); +cells.push_back( {11303911,1533,39,13,1,2,0.625,-2.69793 } ); +cells.push_back( {11303921,1553,39,13,2,2,0.625,-2.7475 } ); +cells.push_back( {11403911,1534,39,14,1,2,0.675,-2.69793 } ); +cells.push_back( {11403921,1554,39,14,2,2,0.675,-2.7475 } ); +cells.push_back( {11503911,1535,39,15,1,2,0.725,-2.69793 } ); +cells.push_back( {11503921,1555,39,15,2,2,0.725,-2.7475 } ); +cells.push_back( {11603911,1536,39,16,1,2,0.775,-2.69793 } ); +cells.push_back( {11603921,1556,39,16,2,2,0.775,-2.7475 } ); +cells.push_back( {11703911,1537,39,17,1,2,0.825,-2.69793 } ); +cells.push_back( {11703921,1557,39,17,2,2,0.825,-2.7475 } ); +cells.push_back( {11803911,1538,39,18,1,2,0.875,-2.69793 } ); +cells.push_back( {11803921,1558,39,18,2,2,0.875,-2.7475 } ); +cells.push_back( {11903911,1539,39,19,1,2,0.925,-2.69793 } ); +cells.push_back( {11903921,1559,39,19,2,2,0.925,-2.7475 } ); +cells.push_back( {12003911,1540,39,20,1,2,0.967,-2.69793 } ); +cells.push_back( {12003921,1560,39,20,2,2,0.967,-2.7475 } ); +cells.push_back( {10103912,1521,39,1,1,1,0.02675,-2.69793 } ); +cells.push_back( {10103922,1541,39,1,2,1,0.02675,-2.7475 } ); +cells.push_back( {10203912,1522,39,2,1,1,0.075,-2.69793 } ); +cells.push_back( {10203922,1542,39,2,2,1,0.075,-2.7475 } ); +cells.push_back( {10303912,1523,39,3,1,1,0.125,-2.69793 } ); +cells.push_back( {10303922,1543,39,3,2,1,0.125,-2.7475 } ); +cells.push_back( {10403912,1524,39,4,1,1,0.175,-2.69793 } ); +cells.push_back( {10403922,1544,39,4,2,1,0.175,-2.7475 } ); +cells.push_back( {10503912,1525,39,5,1,1,0.225,-2.69793 } ); +cells.push_back( {10503922,1545,39,5,2,1,0.225,-2.7475 } ); +cells.push_back( {10603912,1526,39,6,1,1,0.275,-2.69793 } ); +cells.push_back( {10603922,1546,39,6,2,1,0.275,-2.7475 } ); +cells.push_back( {10703912,1527,39,7,1,1,0.325,-2.69793 } ); +cells.push_back( {10703922,1547,39,7,2,1,0.325,-2.7475 } ); +cells.push_back( {10803912,1528,39,8,1,1,0.375,-2.69793 } ); +cells.push_back( {10803922,1548,39,8,2,1,0.375,-2.7475 } ); +cells.push_back( {10903912,1529,39,9,1,1,0.425,-2.69793 } ); +cells.push_back( {10903922,1549,39,9,2,1,0.425,-2.7475 } ); +cells.push_back( {11003912,1530,39,10,1,1,0.475,-2.69793 } ); +cells.push_back( {11003922,1550,39,10,2,1,0.475,-2.7475 } ); +cells.push_back( {11103912,1531,39,11,1,1,0.525,-2.69793 } ); +cells.push_back( {11103922,1551,39,11,2,1,0.525,-2.7475 } ); +cells.push_back( {11203912,1532,39,12,1,1,0.575,-2.69793 } ); +cells.push_back( {11203922,1552,39,12,2,1,0.575,-2.7475 } ); +cells.push_back( {11303912,1533,39,13,1,1,0.625,-2.69793 } ); +cells.push_back( {11303922,1553,39,13,2,1,0.625,-2.7475 } ); +cells.push_back( {11403912,1534,39,14,1,1,0.675,-2.69793 } ); +cells.push_back( {11403922,1554,39,14,2,1,0.675,-2.7475 } ); +cells.push_back( {11503912,1535,39,15,1,1,0.725,-2.69793 } ); +cells.push_back( {11503922,1555,39,15,2,1,0.725,-2.7475 } ); +cells.push_back( {11603912,1536,39,16,1,1,0.775,-2.69793 } ); +cells.push_back( {11603922,1556,39,16,2,1,0.775,-2.7475 } ); +cells.push_back( {11703912,1537,39,17,1,1,0.825,-2.69793 } ); +cells.push_back( {11703922,1557,39,17,2,1,0.825,-2.7475 } ); +cells.push_back( {11803912,1538,39,18,1,1,0.875,-2.69793 } ); +cells.push_back( {11803922,1558,39,18,2,1,0.875,-2.7475 } ); +cells.push_back( {11903912,1539,39,19,1,1,0.925,-2.69793 } ); +cells.push_back( {11903922,1559,39,19,2,1,0.925,-2.7475 } ); +cells.push_back( {12003912,1540,39,20,1,1,0.967,-2.69793 } ); +cells.push_back( {12003922,1560,39,20,2,1,0.967,-2.7475 } ); +cells.push_back( {10104011,1561,40,1,1,2,0.02675,-2.80265 } ); +cells.push_back( {10104021,1581,40,1,2,2,0.02675,-2.85221 } ); +cells.push_back( {10204011,1562,40,2,1,2,0.075,-2.80265 } ); +cells.push_back( {10204021,1582,40,2,2,2,0.075,-2.85221 } ); +cells.push_back( {10304011,1563,40,3,1,2,0.125,-2.80265 } ); +cells.push_back( {10304021,1583,40,3,2,2,0.125,-2.85221 } ); +cells.push_back( {10404011,1564,40,4,1,2,0.175,-2.80265 } ); +cells.push_back( {10404021,1584,40,4,2,2,0.175,-2.85221 } ); +cells.push_back( {10504011,1565,40,5,1,2,0.225,-2.80265 } ); +cells.push_back( {10504021,1585,40,5,2,2,0.225,-2.85221 } ); +cells.push_back( {10604011,1566,40,6,1,2,0.275,-2.80265 } ); +cells.push_back( {10604021,1586,40,6,2,2,0.275,-2.85221 } ); +cells.push_back( {10704011,1567,40,7,1,2,0.325,-2.80265 } ); +cells.push_back( {10704021,1587,40,7,2,2,0.325,-2.85221 } ); +cells.push_back( {10804011,1568,40,8,1,2,0.375,-2.80265 } ); +cells.push_back( {10804021,1588,40,8,2,2,0.375,-2.85221 } ); +cells.push_back( {10904011,1569,40,9,1,2,0.425,-2.80265 } ); +cells.push_back( {10904021,1589,40,9,2,2,0.425,-2.85221 } ); +cells.push_back( {11004011,1570,40,10,1,2,0.475,-2.80265 } ); +cells.push_back( {11004021,1590,40,10,2,2,0.475,-2.85221 } ); +cells.push_back( {11104011,1571,40,11,1,2,0.525,-2.80265 } ); +cells.push_back( {11104021,1591,40,11,2,2,0.525,-2.85221 } ); +cells.push_back( {11204011,1572,40,12,1,2,0.575,-2.80265 } ); +cells.push_back( {11204021,1592,40,12,2,2,0.575,-2.85221 } ); +cells.push_back( {11304011,1573,40,13,1,2,0.625,-2.80265 } ); +cells.push_back( {11304021,1593,40,13,2,2,0.625,-2.85221 } ); +cells.push_back( {11404011,1574,40,14,1,2,0.675,-2.80265 } ); +cells.push_back( {11404021,1594,40,14,2,2,0.675,-2.85221 } ); +cells.push_back( {11504011,1575,40,15,1,2,0.725,-2.80265 } ); +cells.push_back( {11504021,1595,40,15,2,2,0.725,-2.85221 } ); +cells.push_back( {11604011,1576,40,16,1,2,0.775,-2.80265 } ); +cells.push_back( {11604021,1596,40,16,2,2,0.775,-2.85221 } ); +cells.push_back( {11704011,1577,40,17,1,2,0.825,-2.80265 } ); +cells.push_back( {11704021,1597,40,17,2,2,0.825,-2.85221 } ); +cells.push_back( {11804011,1578,40,18,1,2,0.875,-2.80265 } ); +cells.push_back( {11804021,1598,40,18,2,2,0.875,-2.85221 } ); +cells.push_back( {11904011,1579,40,19,1,2,0.925,-2.80265 } ); +cells.push_back( {11904021,1599,40,19,2,2,0.925,-2.85221 } ); +cells.push_back( {12004011,1580,40,20,1,2,0.967,-2.80265 } ); +cells.push_back( {12004021,1600,40,20,2,2,0.967,-2.85221 } ); +cells.push_back( {10104012,1561,40,1,1,1,0.02675,-2.80265 } ); +cells.push_back( {10104022,1581,40,1,2,1,0.02675,-2.85221 } ); +cells.push_back( {10204012,1562,40,2,1,1,0.075,-2.80265 } ); +cells.push_back( {10204022,1582,40,2,2,1,0.075,-2.85221 } ); +cells.push_back( {10304012,1563,40,3,1,1,0.125,-2.80265 } ); +cells.push_back( {10304022,1583,40,3,2,1,0.125,-2.85221 } ); +cells.push_back( {10404012,1564,40,4,1,1,0.175,-2.80265 } ); +cells.push_back( {10404022,1584,40,4,2,1,0.175,-2.85221 } ); +cells.push_back( {10504012,1565,40,5,1,1,0.225,-2.80265 } ); +cells.push_back( {10504022,1585,40,5,2,1,0.225,-2.85221 } ); +cells.push_back( {10604012,1566,40,6,1,1,0.275,-2.80265 } ); +cells.push_back( {10604022,1586,40,6,2,1,0.275,-2.85221 } ); +cells.push_back( {10704012,1567,40,7,1,1,0.325,-2.80265 } ); +cells.push_back( {10704022,1587,40,7,2,1,0.325,-2.85221 } ); +cells.push_back( {10804012,1568,40,8,1,1,0.375,-2.80265 } ); +cells.push_back( {10804022,1588,40,8,2,1,0.375,-2.85221 } ); +cells.push_back( {10904012,1569,40,9,1,1,0.425,-2.80265 } ); +cells.push_back( {10904022,1589,40,9,2,1,0.425,-2.85221 } ); +cells.push_back( {11004012,1570,40,10,1,1,0.475,-2.80265 } ); +cells.push_back( {11004022,1590,40,10,2,1,0.475,-2.85221 } ); +cells.push_back( {11104012,1571,40,11,1,1,0.525,-2.80265 } ); +cells.push_back( {11104022,1591,40,11,2,1,0.525,-2.85221 } ); +cells.push_back( {11204012,1572,40,12,1,1,0.575,-2.80265 } ); +cells.push_back( {11204022,1592,40,12,2,1,0.575,-2.85221 } ); +cells.push_back( {11304012,1573,40,13,1,1,0.625,-2.80265 } ); +cells.push_back( {11304022,1593,40,13,2,1,0.625,-2.85221 } ); +cells.push_back( {11404012,1574,40,14,1,1,0.675,-2.80265 } ); +cells.push_back( {11404022,1594,40,14,2,1,0.675,-2.85221 } ); +cells.push_back( {11504012,1575,40,15,1,1,0.725,-2.80265 } ); +cells.push_back( {11504022,1595,40,15,2,1,0.725,-2.85221 } ); +cells.push_back( {11604012,1576,40,16,1,1,0.775,-2.80265 } ); +cells.push_back( {11604022,1596,40,16,2,1,0.775,-2.85221 } ); +cells.push_back( {11704012,1577,40,17,1,1,0.825,-2.80265 } ); +cells.push_back( {11704022,1597,40,17,2,1,0.825,-2.85221 } ); +cells.push_back( {11804012,1578,40,18,1,1,0.875,-2.80265 } ); +cells.push_back( {11804022,1598,40,18,2,1,0.875,-2.85221 } ); +cells.push_back( {11904012,1579,40,19,1,1,0.925,-2.80265 } ); +cells.push_back( {11904022,1599,40,19,2,1,0.925,-2.85221 } ); +cells.push_back( {12004012,1580,40,20,1,1,0.967,-2.80265 } ); +cells.push_back( {12004022,1600,40,20,2,1,0.967,-2.85221 } ); +cells.push_back( {10104111,1601,41,1,1,2,0.02675,-2.90737 } ); +cells.push_back( {10104121,1621,41,1,2,2,0.02675,-2.95693 } ); +cells.push_back( {10204111,1602,41,2,1,2,0.075,-2.90737 } ); +cells.push_back( {10204121,1622,41,2,2,2,0.075,-2.95693 } ); +cells.push_back( {10304111,1603,41,3,1,2,0.125,-2.90737 } ); +cells.push_back( {10304121,1623,41,3,2,2,0.125,-2.95693 } ); +cells.push_back( {10404111,1604,41,4,1,2,0.175,-2.90737 } ); +cells.push_back( {10404121,1624,41,4,2,2,0.175,-2.95693 } ); +cells.push_back( {10504111,1605,41,5,1,2,0.225,-2.90737 } ); +cells.push_back( {10504121,1625,41,5,2,2,0.225,-2.95693 } ); +cells.push_back( {10604111,1606,41,6,1,2,0.275,-2.90737 } ); +cells.push_back( {10604121,1626,41,6,2,2,0.275,-2.95693 } ); +cells.push_back( {10704111,1607,41,7,1,2,0.325,-2.90737 } ); +cells.push_back( {10704121,1627,41,7,2,2,0.325,-2.95693 } ); +cells.push_back( {10804111,1608,41,8,1,2,0.375,-2.90737 } ); +cells.push_back( {10804121,1628,41,8,2,2,0.375,-2.95693 } ); +cells.push_back( {10904111,1609,41,9,1,2,0.425,-2.90737 } ); +cells.push_back( {10904121,1629,41,9,2,2,0.425,-2.95693 } ); +cells.push_back( {11004111,1610,41,10,1,2,0.475,-2.90737 } ); +cells.push_back( {11004121,1630,41,10,2,2,0.475,-2.95693 } ); +cells.push_back( {11104111,1611,41,11,1,2,0.525,-2.90737 } ); +cells.push_back( {11104121,1631,41,11,2,2,0.525,-2.95693 } ); +cells.push_back( {11204111,1612,41,12,1,2,0.575,-2.90737 } ); +cells.push_back( {11204121,1632,41,12,2,2,0.575,-2.95693 } ); +cells.push_back( {11304111,1613,41,13,1,2,0.625,-2.90737 } ); +cells.push_back( {11304121,1633,41,13,2,2,0.625,-2.95693 } ); +cells.push_back( {11404111,1614,41,14,1,2,0.675,-2.90737 } ); +cells.push_back( {11404121,1634,41,14,2,2,0.675,-2.95693 } ); +cells.push_back( {11504111,1615,41,15,1,2,0.725,-2.90737 } ); +cells.push_back( {11504121,1635,41,15,2,2,0.725,-2.95693 } ); +cells.push_back( {11604111,1616,41,16,1,2,0.775,-2.90737 } ); +cells.push_back( {11604121,1636,41,16,2,2,0.775,-2.95693 } ); +cells.push_back( {11704111,1617,41,17,1,2,0.825,-2.90737 } ); +cells.push_back( {11704121,1637,41,17,2,2,0.825,-2.95693 } ); +cells.push_back( {11804111,1618,41,18,1,2,0.875,-2.90737 } ); +cells.push_back( {11804121,1638,41,18,2,2,0.875,-2.95693 } ); +cells.push_back( {11904111,1619,41,19,1,2,0.925,-2.90737 } ); +cells.push_back( {11904121,1639,41,19,2,2,0.925,-2.95693 } ); +cells.push_back( {12004111,1620,41,20,1,2,0.967,-2.90737 } ); +cells.push_back( {12004121,1640,41,20,2,2,0.967,-2.95693 } ); +cells.push_back( {10104112,1601,41,1,1,1,0.02675,-2.90737 } ); +cells.push_back( {10104122,1621,41,1,2,1,0.02675,-2.95693 } ); +cells.push_back( {10204112,1602,41,2,1,1,0.075,-2.90737 } ); +cells.push_back( {10204122,1622,41,2,2,1,0.075,-2.95693 } ); +cells.push_back( {10304112,1603,41,3,1,1,0.125,-2.90737 } ); +cells.push_back( {10304122,1623,41,3,2,1,0.125,-2.95693 } ); +cells.push_back( {10404112,1604,41,4,1,1,0.175,-2.90737 } ); +cells.push_back( {10404122,1624,41,4,2,1,0.175,-2.95693 } ); +cells.push_back( {10504112,1605,41,5,1,1,0.225,-2.90737 } ); +cells.push_back( {10504122,1625,41,5,2,1,0.225,-2.95693 } ); +cells.push_back( {10604112,1606,41,6,1,1,0.275,-2.90737 } ); +cells.push_back( {10604122,1626,41,6,2,1,0.275,-2.95693 } ); +cells.push_back( {10704112,1607,41,7,1,1,0.325,-2.90737 } ); +cells.push_back( {10704122,1627,41,7,2,1,0.325,-2.95693 } ); +cells.push_back( {10804112,1608,41,8,1,1,0.375,-2.90737 } ); +cells.push_back( {10804122,1628,41,8,2,1,0.375,-2.95693 } ); +cells.push_back( {10904112,1609,41,9,1,1,0.425,-2.90737 } ); +cells.push_back( {10904122,1629,41,9,2,1,0.425,-2.95693 } ); +cells.push_back( {11004112,1610,41,10,1,1,0.475,-2.90737 } ); +cells.push_back( {11004122,1630,41,10,2,1,0.475,-2.95693 } ); +cells.push_back( {11104112,1611,41,11,1,1,0.525,-2.90737 } ); +cells.push_back( {11104122,1631,41,11,2,1,0.525,-2.95693 } ); +cells.push_back( {11204112,1612,41,12,1,1,0.575,-2.90737 } ); +cells.push_back( {11204122,1632,41,12,2,1,0.575,-2.95693 } ); +cells.push_back( {11304112,1613,41,13,1,1,0.625,-2.90737 } ); +cells.push_back( {11304122,1633,41,13,2,1,0.625,-2.95693 } ); +cells.push_back( {11404112,1614,41,14,1,1,0.675,-2.90737 } ); +cells.push_back( {11404122,1634,41,14,2,1,0.675,-2.95693 } ); +cells.push_back( {11504112,1615,41,15,1,1,0.725,-2.90737 } ); +cells.push_back( {11504122,1635,41,15,2,1,0.725,-2.95693 } ); +cells.push_back( {11604112,1616,41,16,1,1,0.775,-2.90737 } ); +cells.push_back( {11604122,1636,41,16,2,1,0.775,-2.95693 } ); +cells.push_back( {11704112,1617,41,17,1,1,0.825,-2.90737 } ); +cells.push_back( {11704122,1637,41,17,2,1,0.825,-2.95693 } ); +cells.push_back( {11804112,1618,41,18,1,1,0.875,-2.90737 } ); +cells.push_back( {11804122,1638,41,18,2,1,0.875,-2.95693 } ); +cells.push_back( {11904112,1619,41,19,1,1,0.925,-2.90737 } ); +cells.push_back( {11904122,1639,41,19,2,1,0.925,-2.95693 } ); +cells.push_back( {12004112,1620,41,20,1,1,0.967,-2.90737 } ); +cells.push_back( {12004122,1640,41,20,2,1,0.967,-2.95693 } ); +cells.push_back( {10104211,1641,42,1,1,2,0.02675,-3.01209 } ); +cells.push_back( {10104221,1661,42,1,2,2,0.02675,-3.06165 } ); +cells.push_back( {10204211,1642,42,2,1,2,0.075,-3.01209 } ); +cells.push_back( {10204221,1662,42,2,2,2,0.075,-3.06165 } ); +cells.push_back( {10304211,1643,42,3,1,2,0.125,-3.01209 } ); +cells.push_back( {10304221,1663,42,3,2,2,0.125,-3.06165 } ); +cells.push_back( {10404211,1644,42,4,1,2,0.175,-3.01209 } ); +cells.push_back( {10404221,1664,42,4,2,2,0.175,-3.06165 } ); +cells.push_back( {10504211,1645,42,5,1,2,0.225,-3.01209 } ); +cells.push_back( {10504221,1665,42,5,2,2,0.225,-3.06165 } ); +cells.push_back( {10604211,1646,42,6,1,2,0.275,-3.01209 } ); +cells.push_back( {10604221,1666,42,6,2,2,0.275,-3.06165 } ); +cells.push_back( {10704211,1647,42,7,1,2,0.325,-3.01209 } ); +cells.push_back( {10704221,1667,42,7,2,2,0.325,-3.06165 } ); +cells.push_back( {10804211,1648,42,8,1,2,0.375,-3.01209 } ); +cells.push_back( {10804221,1668,42,8,2,2,0.375,-3.06165 } ); +cells.push_back( {10904211,1649,42,9,1,2,0.425,-3.01209 } ); +cells.push_back( {10904221,1669,42,9,2,2,0.425,-3.06165 } ); +cells.push_back( {11004211,1650,42,10,1,2,0.475,-3.01209 } ); +cells.push_back( {11004221,1670,42,10,2,2,0.475,-3.06165 } ); +cells.push_back( {11104211,1651,42,11,1,2,0.525,-3.01209 } ); +cells.push_back( {11104221,1671,42,11,2,2,0.525,-3.06165 } ); +cells.push_back( {11204211,1652,42,12,1,2,0.575,-3.01209 } ); +cells.push_back( {11204221,1672,42,12,2,2,0.575,-3.06165 } ); +cells.push_back( {11304211,1653,42,13,1,2,0.625,-3.01209 } ); +cells.push_back( {11304221,1673,42,13,2,2,0.625,-3.06165 } ); +cells.push_back( {11404211,1654,42,14,1,2,0.675,-3.01209 } ); +cells.push_back( {11404221,1674,42,14,2,2,0.675,-3.06165 } ); +cells.push_back( {11504211,1655,42,15,1,2,0.725,-3.01209 } ); +cells.push_back( {11504221,1675,42,15,2,2,0.725,-3.06165 } ); +cells.push_back( {11604211,1656,42,16,1,2,0.775,-3.01209 } ); +cells.push_back( {11604221,1676,42,16,2,2,0.775,-3.06165 } ); +cells.push_back( {11704211,1657,42,17,1,2,0.825,-3.01209 } ); +cells.push_back( {11704221,1677,42,17,2,2,0.825,-3.06165 } ); +cells.push_back( {11804211,1658,42,18,1,2,0.875,-3.01209 } ); +cells.push_back( {11804221,1678,42,18,2,2,0.875,-3.06165 } ); +cells.push_back( {11904211,1659,42,19,1,2,0.925,-3.01209 } ); +cells.push_back( {11904221,1679,42,19,2,2,0.925,-3.06165 } ); +cells.push_back( {12004211,1660,42,20,1,2,0.967,-3.01209 } ); +cells.push_back( {12004221,1680,42,20,2,2,0.967,-3.06165 } ); +cells.push_back( {10104212,1641,42,1,1,1,0.02675,-3.01209 } ); +cells.push_back( {10104222,1661,42,1,2,1,0.02675,-3.06165 } ); +cells.push_back( {10204212,1642,42,2,1,1,0.075,-3.01209 } ); +cells.push_back( {10204222,1662,42,2,2,1,0.075,-3.06165 } ); +cells.push_back( {10304212,1643,42,3,1,1,0.125,-3.01209 } ); +cells.push_back( {10304222,1663,42,3,2,1,0.125,-3.06165 } ); +cells.push_back( {10404212,1644,42,4,1,1,0.175,-3.01209 } ); +cells.push_back( {10404222,1664,42,4,2,1,0.175,-3.06165 } ); +cells.push_back( {10504212,1645,42,5,1,1,0.225,-3.01209 } ); +cells.push_back( {10504222,1665,42,5,2,1,0.225,-3.06165 } ); +cells.push_back( {10604212,1646,42,6,1,1,0.275,-3.01209 } ); +cells.push_back( {10604222,1666,42,6,2,1,0.275,-3.06165 } ); +cells.push_back( {10704212,1647,42,7,1,1,0.325,-3.01209 } ); +cells.push_back( {10704222,1667,42,7,2,1,0.325,-3.06165 } ); +cells.push_back( {10804212,1648,42,8,1,1,0.375,-3.01209 } ); +cells.push_back( {10804222,1668,42,8,2,1,0.375,-3.06165 } ); +cells.push_back( {10904212,1649,42,9,1,1,0.425,-3.01209 } ); +cells.push_back( {10904222,1669,42,9,2,1,0.425,-3.06165 } ); +cells.push_back( {11004212,1650,42,10,1,1,0.475,-3.01209 } ); +cells.push_back( {11004222,1670,42,10,2,1,0.475,-3.06165 } ); +cells.push_back( {11104212,1651,42,11,1,1,0.525,-3.01209 } ); +cells.push_back( {11104222,1671,42,11,2,1,0.525,-3.06165 } ); +cells.push_back( {11204212,1652,42,12,1,1,0.575,-3.01209 } ); +cells.push_back( {11204222,1672,42,12,2,1,0.575,-3.06165 } ); +cells.push_back( {11304212,1653,42,13,1,1,0.625,-3.01209 } ); +cells.push_back( {11304222,1673,42,13,2,1,0.625,-3.06165 } ); +cells.push_back( {11404212,1654,42,14,1,1,0.675,-3.01209 } ); +cells.push_back( {11404222,1674,42,14,2,1,0.675,-3.06165 } ); +cells.push_back( {11504212,1655,42,15,1,1,0.725,-3.01209 } ); +cells.push_back( {11504222,1675,42,15,2,1,0.725,-3.06165 } ); +cells.push_back( {11604212,1656,42,16,1,1,0.775,-3.01209 } ); +cells.push_back( {11604222,1676,42,16,2,1,0.775,-3.06165 } ); +cells.push_back( {11704212,1657,42,17,1,1,0.825,-3.01209 } ); +cells.push_back( {11704222,1677,42,17,2,1,0.825,-3.06165 } ); +cells.push_back( {11804212,1658,42,18,1,1,0.875,-3.01209 } ); +cells.push_back( {11804222,1678,42,18,2,1,0.875,-3.06165 } ); +cells.push_back( {11904212,1659,42,19,1,1,0.925,-3.01209 } ); +cells.push_back( {11904222,1679,42,19,2,1,0.925,-3.06165 } ); +cells.push_back( {12004212,1660,42,20,1,1,0.967,-3.01209 } ); +cells.push_back( {12004222,1680,42,20,2,1,0.967,-3.06165 } ); +cells.push_back( {10104311,1681,43,1,1,2,0.02675,-3.11681 } ); +cells.push_back( {10104321,1701,43,1,2,2,0.02675,3.11681 } ); +cells.push_back( {10204311,1682,43,2,1,2,0.075,-3.11681 } ); +cells.push_back( {10204321,1702,43,2,2,2,0.075,3.11681 } ); +cells.push_back( {10304311,1683,43,3,1,2,0.125,-3.11681 } ); +cells.push_back( {10304321,1703,43,3,2,2,0.125,3.11681 } ); +cells.push_back( {10404311,1684,43,4,1,2,0.175,-3.11681 } ); +cells.push_back( {10404321,1704,43,4,2,2,0.175,3.11681 } ); +cells.push_back( {10504311,1685,43,5,1,2,0.225,-3.11681 } ); +cells.push_back( {10504321,1705,43,5,2,2,0.225,3.11681 } ); +cells.push_back( {10604311,1686,43,6,1,2,0.275,-3.11681 } ); +cells.push_back( {10604321,1706,43,6,2,2,0.275,3.11681 } ); +cells.push_back( {10704311,1687,43,7,1,2,0.325,-3.11681 } ); +cells.push_back( {10704321,1707,43,7,2,2,0.325,3.11681 } ); +cells.push_back( {10804311,1688,43,8,1,2,0.375,-3.11681 } ); +cells.push_back( {10804321,1708,43,8,2,2,0.375,3.11681 } ); +cells.push_back( {10904311,1689,43,9,1,2,0.425,-3.11681 } ); +cells.push_back( {10904321,1709,43,9,2,2,0.425,3.11681 } ); +cells.push_back( {11004311,1690,43,10,1,2,0.475,-3.11681 } ); +cells.push_back( {11004321,1710,43,10,2,2,0.475,3.11681 } ); +cells.push_back( {11104311,1691,43,11,1,2,0.525,-3.11681 } ); +cells.push_back( {11104321,1711,43,11,2,2,0.525,3.11681 } ); +cells.push_back( {11204311,1692,43,12,1,2,0.575,-3.11681 } ); +cells.push_back( {11204321,1712,43,12,2,2,0.575,3.11681 } ); +cells.push_back( {11304311,1693,43,13,1,2,0.625,-3.11681 } ); +cells.push_back( {11304321,1713,43,13,2,2,0.625,3.11681 } ); +cells.push_back( {11404311,1694,43,14,1,2,0.675,-3.11681 } ); +cells.push_back( {11404321,1714,43,14,2,2,0.675,3.11681 } ); +cells.push_back( {11504311,1695,43,15,1,2,0.725,-3.11681 } ); +cells.push_back( {11504321,1715,43,15,2,2,0.725,3.11681 } ); +cells.push_back( {11604311,1696,43,16,1,2,0.775,-3.11681 } ); +cells.push_back( {11604321,1716,43,16,2,2,0.775,3.11681 } ); +cells.push_back( {11704311,1697,43,17,1,2,0.825,-3.11681 } ); +cells.push_back( {11704321,1717,43,17,2,2,0.825,3.11681 } ); +cells.push_back( {11804311,1698,43,18,1,2,0.875,-3.11681 } ); +cells.push_back( {11804321,1718,43,18,2,2,0.875,3.11681 } ); +cells.push_back( {11904311,1699,43,19,1,2,0.925,-3.11681 } ); +cells.push_back( {11904321,1719,43,19,2,2,0.925,3.11681 } ); +cells.push_back( {12004311,1700,43,20,1,2,0.967,-3.11681 } ); +cells.push_back( {12004321,1720,43,20,2,2,0.967,3.11681 } ); +cells.push_back( {10104312,1681,43,1,1,1,0.02675,-3.11681 } ); +cells.push_back( {10104322,1701,43,1,2,1,0.02675,3.11681 } ); +cells.push_back( {10204312,1682,43,2,1,1,0.075,-3.11681 } ); +cells.push_back( {10204322,1702,43,2,2,1,0.075,3.11681 } ); +cells.push_back( {10304312,1683,43,3,1,1,0.125,-3.11681 } ); +cells.push_back( {10304322,1703,43,3,2,1,0.125,3.11681 } ); +cells.push_back( {10404312,1684,43,4,1,1,0.175,-3.11681 } ); +cells.push_back( {10404322,1704,43,4,2,1,0.175,3.11681 } ); +cells.push_back( {10504312,1685,43,5,1,1,0.225,-3.11681 } ); +cells.push_back( {10504322,1705,43,5,2,1,0.225,3.11681 } ); +cells.push_back( {10604312,1686,43,6,1,1,0.275,-3.11681 } ); +cells.push_back( {10604322,1706,43,6,2,1,0.275,3.11681 } ); +cells.push_back( {10704312,1687,43,7,1,1,0.325,-3.11681 } ); +cells.push_back( {10704322,1707,43,7,2,1,0.325,3.11681 } ); +cells.push_back( {10804312,1688,43,8,1,1,0.375,-3.11681 } ); +cells.push_back( {10804322,1708,43,8,2,1,0.375,3.11681 } ); +cells.push_back( {10904312,1689,43,9,1,1,0.425,-3.11681 } ); +cells.push_back( {10904322,1709,43,9,2,1,0.425,3.11681 } ); +cells.push_back( {11004312,1690,43,10,1,1,0.475,-3.11681 } ); +cells.push_back( {11004322,1710,43,10,2,1,0.475,3.11681 } ); +cells.push_back( {11104312,1691,43,11,1,1,0.525,-3.11681 } ); +cells.push_back( {11104322,1711,43,11,2,1,0.525,3.11681 } ); +cells.push_back( {11204312,1692,43,12,1,1,0.575,-3.11681 } ); +cells.push_back( {11204322,1712,43,12,2,1,0.575,3.11681 } ); +cells.push_back( {11304312,1693,43,13,1,1,0.625,-3.11681 } ); +cells.push_back( {11304322,1713,43,13,2,1,0.625,3.11681 } ); +cells.push_back( {11404312,1694,43,14,1,1,0.675,-3.11681 } ); +cells.push_back( {11404322,1714,43,14,2,1,0.675,3.11681 } ); +cells.push_back( {11504312,1695,43,15,1,1,0.725,-3.11681 } ); +cells.push_back( {11504322,1715,43,15,2,1,0.725,3.11681 } ); +cells.push_back( {11604312,1696,43,16,1,1,0.775,-3.11681 } ); +cells.push_back( {11604322,1716,43,16,2,1,0.775,3.11681 } ); +cells.push_back( {11704312,1697,43,17,1,1,0.825,-3.11681 } ); +cells.push_back( {11704322,1717,43,17,2,1,0.825,3.11681 } ); +cells.push_back( {11804312,1698,43,18,1,1,0.875,-3.11681 } ); +cells.push_back( {11804322,1718,43,18,2,1,0.875,3.11681 } ); +cells.push_back( {11904312,1699,43,19,1,1,0.925,-3.11681 } ); +cells.push_back( {11904322,1719,43,19,2,1,0.925,3.11681 } ); +cells.push_back( {12004312,1700,43,20,1,1,0.967,-3.11681 } ); +cells.push_back( {12004322,1720,43,20,2,1,0.967,3.11681 } ); +cells.push_back( {10104411,1721,44,1,1,2,0.02675,3.06165 } ); +cells.push_back( {10104421,1741,44,1,2,2,0.02675,3.01209 } ); +cells.push_back( {10204411,1722,44,2,1,2,0.075,3.06165 } ); +cells.push_back( {10204421,1742,44,2,2,2,0.075,3.01209 } ); +cells.push_back( {10304411,1723,44,3,1,2,0.125,3.06165 } ); +cells.push_back( {10304421,1743,44,3,2,2,0.125,3.01209 } ); +cells.push_back( {10404411,1724,44,4,1,2,0.175,3.06165 } ); +cells.push_back( {10404421,1744,44,4,2,2,0.175,3.01209 } ); +cells.push_back( {10504411,1725,44,5,1,2,0.225,3.06165 } ); +cells.push_back( {10504421,1745,44,5,2,2,0.225,3.01209 } ); +cells.push_back( {10604411,1726,44,6,1,2,0.275,3.06165 } ); +cells.push_back( {10604421,1746,44,6,2,2,0.275,3.01209 } ); +cells.push_back( {10704411,1727,44,7,1,2,0.325,3.06165 } ); +cells.push_back( {10704421,1747,44,7,2,2,0.325,3.01209 } ); +cells.push_back( {10804411,1728,44,8,1,2,0.375,3.06165 } ); +cells.push_back( {10804421,1748,44,8,2,2,0.375,3.01209 } ); +cells.push_back( {10904411,1729,44,9,1,2,0.425,3.06165 } ); +cells.push_back( {10904421,1749,44,9,2,2,0.425,3.01209 } ); +cells.push_back( {11004411,1730,44,10,1,2,0.475,3.06165 } ); +cells.push_back( {11004421,1750,44,10,2,2,0.475,3.01209 } ); +cells.push_back( {11104411,1731,44,11,1,2,0.525,3.06165 } ); +cells.push_back( {11104421,1751,44,11,2,2,0.525,3.01209 } ); +cells.push_back( {11204411,1732,44,12,1,2,0.575,3.06165 } ); +cells.push_back( {11204421,1752,44,12,2,2,0.575,3.01209 } ); +cells.push_back( {11304411,1733,44,13,1,2,0.625,3.06165 } ); +cells.push_back( {11304421,1753,44,13,2,2,0.625,3.01209 } ); +cells.push_back( {11404411,1734,44,14,1,2,0.675,3.06165 } ); +cells.push_back( {11404421,1754,44,14,2,2,0.675,3.01209 } ); +cells.push_back( {11504411,1735,44,15,1,2,0.725,3.06165 } ); +cells.push_back( {11504421,1755,44,15,2,2,0.725,3.01209 } ); +cells.push_back( {11604411,1736,44,16,1,2,0.775,3.06165 } ); +cells.push_back( {11604421,1756,44,16,2,2,0.775,3.01209 } ); +cells.push_back( {11704411,1737,44,17,1,2,0.825,3.06165 } ); +cells.push_back( {11704421,1757,44,17,2,2,0.825,3.01209 } ); +cells.push_back( {11804411,1738,44,18,1,2,0.875,3.06165 } ); +cells.push_back( {11804421,1758,44,18,2,2,0.875,3.01209 } ); +cells.push_back( {11904411,1739,44,19,1,2,0.925,3.06165 } ); +cells.push_back( {11904421,1759,44,19,2,2,0.925,3.01209 } ); +cells.push_back( {12004411,1740,44,20,1,2,0.967,3.06165 } ); +cells.push_back( {12004421,1760,44,20,2,2,0.967,3.01209 } ); +cells.push_back( {10104412,1721,44,1,1,1,0.02675,3.06165 } ); +cells.push_back( {10104422,1741,44,1,2,1,0.02675,3.01209 } ); +cells.push_back( {10204412,1722,44,2,1,1,0.075,3.06165 } ); +cells.push_back( {10204422,1742,44,2,2,1,0.075,3.01209 } ); +cells.push_back( {10304412,1723,44,3,1,1,0.125,3.06165 } ); +cells.push_back( {10304422,1743,44,3,2,1,0.125,3.01209 } ); +cells.push_back( {10404412,1724,44,4,1,1,0.175,3.06165 } ); +cells.push_back( {10404422,1744,44,4,2,1,0.175,3.01209 } ); +cells.push_back( {10504412,1725,44,5,1,1,0.225,3.06165 } ); +cells.push_back( {10504422,1745,44,5,2,1,0.225,3.01209 } ); +cells.push_back( {10604412,1726,44,6,1,1,0.275,3.06165 } ); +cells.push_back( {10604422,1746,44,6,2,1,0.275,3.01209 } ); +cells.push_back( {10704412,1727,44,7,1,1,0.325,3.06165 } ); +cells.push_back( {10704422,1747,44,7,2,1,0.325,3.01209 } ); +cells.push_back( {10804412,1728,44,8,1,1,0.375,3.06165 } ); +cells.push_back( {10804422,1748,44,8,2,1,0.375,3.01209 } ); +cells.push_back( {10904412,1729,44,9,1,1,0.425,3.06165 } ); +cells.push_back( {10904422,1749,44,9,2,1,0.425,3.01209 } ); +cells.push_back( {11004412,1730,44,10,1,1,0.475,3.06165 } ); +cells.push_back( {11004422,1750,44,10,2,1,0.475,3.01209 } ); +cells.push_back( {11104412,1731,44,11,1,1,0.525,3.06165 } ); +cells.push_back( {11104422,1751,44,11,2,1,0.525,3.01209 } ); +cells.push_back( {11204412,1732,44,12,1,1,0.575,3.06165 } ); +cells.push_back( {11204422,1752,44,12,2,1,0.575,3.01209 } ); +cells.push_back( {11304412,1733,44,13,1,1,0.625,3.06165 } ); +cells.push_back( {11304422,1753,44,13,2,1,0.625,3.01209 } ); +cells.push_back( {11404412,1734,44,14,1,1,0.675,3.06165 } ); +cells.push_back( {11404422,1754,44,14,2,1,0.675,3.01209 } ); +cells.push_back( {11504412,1735,44,15,1,1,0.725,3.06165 } ); +cells.push_back( {11504422,1755,44,15,2,1,0.725,3.01209 } ); +cells.push_back( {11604412,1736,44,16,1,1,0.775,3.06165 } ); +cells.push_back( {11604422,1756,44,16,2,1,0.775,3.01209 } ); +cells.push_back( {11704412,1737,44,17,1,1,0.825,3.06165 } ); +cells.push_back( {11704422,1757,44,17,2,1,0.825,3.01209 } ); +cells.push_back( {11804412,1738,44,18,1,1,0.875,3.06165 } ); +cells.push_back( {11804422,1758,44,18,2,1,0.875,3.01209 } ); +cells.push_back( {11904412,1739,44,19,1,1,0.925,3.06165 } ); +cells.push_back( {11904422,1759,44,19,2,1,0.925,3.01209 } ); +cells.push_back( {12004412,1740,44,20,1,1,0.967,3.06165 } ); +cells.push_back( {12004422,1760,44,20,2,1,0.967,3.01209 } ); +cells.push_back( {10104511,1761,45,1,1,2,0.02675,2.95693 } ); +cells.push_back( {10104521,1781,45,1,2,2,0.02675,2.90737 } ); +cells.push_back( {10204511,1762,45,2,1,2,0.075,2.95693 } ); +cells.push_back( {10204521,1782,45,2,2,2,0.075,2.90737 } ); +cells.push_back( {10304511,1763,45,3,1,2,0.125,2.95693 } ); +cells.push_back( {10304521,1783,45,3,2,2,0.125,2.90737 } ); +cells.push_back( {10404511,1764,45,4,1,2,0.175,2.95693 } ); +cells.push_back( {10404521,1784,45,4,2,2,0.175,2.90737 } ); +cells.push_back( {10504511,1765,45,5,1,2,0.225,2.95693 } ); +cells.push_back( {10504521,1785,45,5,2,2,0.225,2.90737 } ); +cells.push_back( {10604511,1766,45,6,1,2,0.275,2.95693 } ); +cells.push_back( {10604521,1786,45,6,2,2,0.275,2.90737 } ); +cells.push_back( {10704511,1767,45,7,1,2,0.325,2.95693 } ); +cells.push_back( {10704521,1787,45,7,2,2,0.325,2.90737 } ); +cells.push_back( {10804511,1768,45,8,1,2,0.375,2.95693 } ); +cells.push_back( {10804521,1788,45,8,2,2,0.375,2.90737 } ); +cells.push_back( {10904511,1769,45,9,1,2,0.425,2.95693 } ); +cells.push_back( {10904521,1789,45,9,2,2,0.425,2.90737 } ); +cells.push_back( {11004511,1770,45,10,1,2,0.475,2.95693 } ); +cells.push_back( {11004521,1790,45,10,2,2,0.475,2.90737 } ); +cells.push_back( {11104511,1771,45,11,1,2,0.525,2.95693 } ); +cells.push_back( {11104521,1791,45,11,2,2,0.525,2.90737 } ); +cells.push_back( {11204511,1772,45,12,1,2,0.575,2.95693 } ); +cells.push_back( {11204521,1792,45,12,2,2,0.575,2.90737 } ); +cells.push_back( {11304511,1773,45,13,1,2,0.625,2.95693 } ); +cells.push_back( {11304521,1793,45,13,2,2,0.625,2.90737 } ); +cells.push_back( {11404511,1774,45,14,1,2,0.675,2.95693 } ); +cells.push_back( {11404521,1794,45,14,2,2,0.675,2.90737 } ); +cells.push_back( {11504511,1775,45,15,1,2,0.725,2.95693 } ); +cells.push_back( {11504521,1795,45,15,2,2,0.725,2.90737 } ); +cells.push_back( {11604511,1776,45,16,1,2,0.775,2.95693 } ); +cells.push_back( {11604521,1796,45,16,2,2,0.775,2.90737 } ); +cells.push_back( {11704511,1777,45,17,1,2,0.825,2.95693 } ); +cells.push_back( {11704521,1797,45,17,2,2,0.825,2.90737 } ); +cells.push_back( {11804511,1778,45,18,1,2,0.875,2.95693 } ); +cells.push_back( {11804521,1798,45,18,2,2,0.875,2.90737 } ); +cells.push_back( {11904511,1779,45,19,1,2,0.925,2.95693 } ); +cells.push_back( {11904521,1799,45,19,2,2,0.925,2.90737 } ); +cells.push_back( {12004511,1780,45,20,1,2,0.967,2.95693 } ); +cells.push_back( {12004521,1800,45,20,2,2,0.967,2.90737 } ); +cells.push_back( {10104512,1761,45,1,1,1,0.02675,2.95693 } ); +cells.push_back( {10104522,1781,45,1,2,1,0.02675,2.90737 } ); +cells.push_back( {10204512,1762,45,2,1,1,0.075,2.95693 } ); +cells.push_back( {10204522,1782,45,2,2,1,0.075,2.90737 } ); +cells.push_back( {10304512,1763,45,3,1,1,0.125,2.95693 } ); +cells.push_back( {10304522,1783,45,3,2,1,0.125,2.90737 } ); +cells.push_back( {10404512,1764,45,4,1,1,0.175,2.95693 } ); +cells.push_back( {10404522,1784,45,4,2,1,0.175,2.90737 } ); +cells.push_back( {10504512,1765,45,5,1,1,0.225,2.95693 } ); +cells.push_back( {10504522,1785,45,5,2,1,0.225,2.90737 } ); +cells.push_back( {10604512,1766,45,6,1,1,0.275,2.95693 } ); +cells.push_back( {10604522,1786,45,6,2,1,0.275,2.90737 } ); +cells.push_back( {10704512,1767,45,7,1,1,0.325,2.95693 } ); +cells.push_back( {10704522,1787,45,7,2,1,0.325,2.90737 } ); +cells.push_back( {10804512,1768,45,8,1,1,0.375,2.95693 } ); +cells.push_back( {10804522,1788,45,8,2,1,0.375,2.90737 } ); +cells.push_back( {10904512,1769,45,9,1,1,0.425,2.95693 } ); +cells.push_back( {10904522,1789,45,9,2,1,0.425,2.90737 } ); +cells.push_back( {11004512,1770,45,10,1,1,0.475,2.95693 } ); +cells.push_back( {11004522,1790,45,10,2,1,0.475,2.90737 } ); +cells.push_back( {11104512,1771,45,11,1,1,0.525,2.95693 } ); +cells.push_back( {11104522,1791,45,11,2,1,0.525,2.90737 } ); +cells.push_back( {11204512,1772,45,12,1,1,0.575,2.95693 } ); +cells.push_back( {11204522,1792,45,12,2,1,0.575,2.90737 } ); +cells.push_back( {11304512,1773,45,13,1,1,0.625,2.95693 } ); +cells.push_back( {11304522,1793,45,13,2,1,0.625,2.90737 } ); +cells.push_back( {11404512,1774,45,14,1,1,0.675,2.95693 } ); +cells.push_back( {11404522,1794,45,14,2,1,0.675,2.90737 } ); +cells.push_back( {11504512,1775,45,15,1,1,0.725,2.95693 } ); +cells.push_back( {11504522,1795,45,15,2,1,0.725,2.90737 } ); +cells.push_back( {11604512,1776,45,16,1,1,0.775,2.95693 } ); +cells.push_back( {11604522,1796,45,16,2,1,0.775,2.90737 } ); +cells.push_back( {11704512,1777,45,17,1,1,0.825,2.95693 } ); +cells.push_back( {11704522,1797,45,17,2,1,0.825,2.90737 } ); +cells.push_back( {11804512,1778,45,18,1,1,0.875,2.95693 } ); +cells.push_back( {11804522,1798,45,18,2,1,0.875,2.90737 } ); +cells.push_back( {11904512,1779,45,19,1,1,0.925,2.95693 } ); +cells.push_back( {11904522,1799,45,19,2,1,0.925,2.90737 } ); +cells.push_back( {12004512,1780,45,20,1,1,0.967,2.95693 } ); +cells.push_back( {12004522,1800,45,20,2,1,0.967,2.90737 } ); +cells.push_back( {10104611,1801,46,1,1,2,0.02675,2.85221 } ); +cells.push_back( {10104621,1821,46,1,2,2,0.02675,2.80265 } ); +cells.push_back( {10204611,1802,46,2,1,2,0.075,2.85221 } ); +cells.push_back( {10204621,1822,46,2,2,2,0.075,2.80265 } ); +cells.push_back( {10304611,1803,46,3,1,2,0.125,2.85221 } ); +cells.push_back( {10304621,1823,46,3,2,2,0.125,2.80265 } ); +cells.push_back( {10404611,1804,46,4,1,2,0.175,2.85221 } ); +cells.push_back( {10404621,1824,46,4,2,2,0.175,2.80265 } ); +cells.push_back( {10504611,1805,46,5,1,2,0.225,2.85221 } ); +cells.push_back( {10504621,1825,46,5,2,2,0.225,2.80265 } ); +cells.push_back( {10604611,1806,46,6,1,2,0.275,2.85221 } ); +cells.push_back( {10604621,1826,46,6,2,2,0.275,2.80265 } ); +cells.push_back( {10704611,1807,46,7,1,2,0.325,2.85221 } ); +cells.push_back( {10704621,1827,46,7,2,2,0.325,2.80265 } ); +cells.push_back( {10804611,1808,46,8,1,2,0.375,2.85221 } ); +cells.push_back( {10804621,1828,46,8,2,2,0.375,2.80265 } ); +cells.push_back( {10904611,1809,46,9,1,2,0.425,2.85221 } ); +cells.push_back( {10904621,1829,46,9,2,2,0.425,2.80265 } ); +cells.push_back( {11004611,1810,46,10,1,2,0.475,2.85221 } ); +cells.push_back( {11004621,1830,46,10,2,2,0.475,2.80265 } ); +cells.push_back( {11104611,1811,46,11,1,2,0.525,2.85221 } ); +cells.push_back( {11104621,1831,46,11,2,2,0.525,2.80265 } ); +cells.push_back( {11204611,1812,46,12,1,2,0.575,2.85221 } ); +cells.push_back( {11204621,1832,46,12,2,2,0.575,2.80265 } ); +cells.push_back( {11304611,1813,46,13,1,2,0.625,2.85221 } ); +cells.push_back( {11304621,1833,46,13,2,2,0.625,2.80265 } ); +cells.push_back( {11404611,1814,46,14,1,2,0.675,2.85221 } ); +cells.push_back( {11404621,1834,46,14,2,2,0.675,2.80265 } ); +cells.push_back( {11504611,1815,46,15,1,2,0.725,2.85221 } ); +cells.push_back( {11504621,1835,46,15,2,2,0.725,2.80265 } ); +cells.push_back( {11604611,1816,46,16,1,2,0.775,2.85221 } ); +cells.push_back( {11604621,1836,46,16,2,2,0.775,2.80265 } ); +cells.push_back( {11704611,1817,46,17,1,2,0.825,2.85221 } ); +cells.push_back( {11704621,1837,46,17,2,2,0.825,2.80265 } ); +cells.push_back( {11804611,1818,46,18,1,2,0.875,2.85221 } ); +cells.push_back( {11804621,1838,46,18,2,2,0.875,2.80265 } ); +cells.push_back( {11904611,1819,46,19,1,2,0.925,2.85221 } ); +cells.push_back( {11904621,1839,46,19,2,2,0.925,2.80265 } ); +cells.push_back( {12004611,1820,46,20,1,2,0.967,2.85221 } ); +cells.push_back( {12004621,1840,46,20,2,2,0.967,2.80265 } ); +cells.push_back( {10104612,1801,46,1,1,1,0.02675,2.85221 } ); +cells.push_back( {10104622,1821,46,1,2,1,0.02675,2.80265 } ); +cells.push_back( {10204612,1802,46,2,1,1,0.075,2.85221 } ); +cells.push_back( {10204622,1822,46,2,2,1,0.075,2.80265 } ); +cells.push_back( {10304612,1803,46,3,1,1,0.125,2.85221 } ); +cells.push_back( {10304622,1823,46,3,2,1,0.125,2.80265 } ); +cells.push_back( {10404612,1804,46,4,1,1,0.175,2.85221 } ); +cells.push_back( {10404622,1824,46,4,2,1,0.175,2.80265 } ); +cells.push_back( {10504612,1805,46,5,1,1,0.225,2.85221 } ); +cells.push_back( {10504622,1825,46,5,2,1,0.225,2.80265 } ); +cells.push_back( {10604612,1806,46,6,1,1,0.275,2.85221 } ); +cells.push_back( {10604622,1826,46,6,2,1,0.275,2.80265 } ); +cells.push_back( {10704612,1807,46,7,1,1,0.325,2.85221 } ); +cells.push_back( {10704622,1827,46,7,2,1,0.325,2.80265 } ); +cells.push_back( {10804612,1808,46,8,1,1,0.375,2.85221 } ); +cells.push_back( {10804622,1828,46,8,2,1,0.375,2.80265 } ); +cells.push_back( {10904612,1809,46,9,1,1,0.425,2.85221 } ); +cells.push_back( {10904622,1829,46,9,2,1,0.425,2.80265 } ); +cells.push_back( {11004612,1810,46,10,1,1,0.475,2.85221 } ); +cells.push_back( {11004622,1830,46,10,2,1,0.475,2.80265 } ); +cells.push_back( {11104612,1811,46,11,1,1,0.525,2.85221 } ); +cells.push_back( {11104622,1831,46,11,2,1,0.525,2.80265 } ); +cells.push_back( {11204612,1812,46,12,1,1,0.575,2.85221 } ); +cells.push_back( {11204622,1832,46,12,2,1,0.575,2.80265 } ); +cells.push_back( {11304612,1813,46,13,1,1,0.625,2.85221 } ); +cells.push_back( {11304622,1833,46,13,2,1,0.625,2.80265 } ); +cells.push_back( {11404612,1814,46,14,1,1,0.675,2.85221 } ); +cells.push_back( {11404622,1834,46,14,2,1,0.675,2.80265 } ); +cells.push_back( {11504612,1815,46,15,1,1,0.725,2.85221 } ); +cells.push_back( {11504622,1835,46,15,2,1,0.725,2.80265 } ); +cells.push_back( {11604612,1816,46,16,1,1,0.775,2.85221 } ); +cells.push_back( {11604622,1836,46,16,2,1,0.775,2.80265 } ); +cells.push_back( {11704612,1817,46,17,1,1,0.825,2.85221 } ); +cells.push_back( {11704622,1837,46,17,2,1,0.825,2.80265 } ); +cells.push_back( {11804612,1818,46,18,1,1,0.875,2.85221 } ); +cells.push_back( {11804622,1838,46,18,2,1,0.875,2.80265 } ); +cells.push_back( {11904612,1819,46,19,1,1,0.925,2.85221 } ); +cells.push_back( {11904622,1839,46,19,2,1,0.925,2.80265 } ); +cells.push_back( {12004612,1820,46,20,1,1,0.967,2.85221 } ); +cells.push_back( {12004622,1840,46,20,2,1,0.967,2.80265 } ); +cells.push_back( {10104711,1841,47,1,1,2,0.02675,2.74749 } ); +cells.push_back( {10104721,1861,47,1,2,2,0.02675,2.69793 } ); +cells.push_back( {10204711,1842,47,2,1,2,0.075,2.74749 } ); +cells.push_back( {10204721,1862,47,2,2,2,0.075,2.69793 } ); +cells.push_back( {10304711,1843,47,3,1,2,0.125,2.74749 } ); +cells.push_back( {10304721,1863,47,3,2,2,0.125,2.69793 } ); +cells.push_back( {10404711,1844,47,4,1,2,0.175,2.74749 } ); +cells.push_back( {10404721,1864,47,4,2,2,0.175,2.69793 } ); +cells.push_back( {10504711,1845,47,5,1,2,0.225,2.74749 } ); +cells.push_back( {10504721,1865,47,5,2,2,0.225,2.69793 } ); +cells.push_back( {10604711,1846,47,6,1,2,0.275,2.74749 } ); +cells.push_back( {10604721,1866,47,6,2,2,0.275,2.69793 } ); +cells.push_back( {10704711,1847,47,7,1,2,0.325,2.74749 } ); +cells.push_back( {10704721,1867,47,7,2,2,0.325,2.69793 } ); +cells.push_back( {10804711,1848,47,8,1,2,0.375,2.74749 } ); +cells.push_back( {10804721,1868,47,8,2,2,0.375,2.69793 } ); +cells.push_back( {10904711,1849,47,9,1,2,0.425,2.74749 } ); +cells.push_back( {10904721,1869,47,9,2,2,0.425,2.69793 } ); +cells.push_back( {11004711,1850,47,10,1,2,0.475,2.74749 } ); +cells.push_back( {11004721,1870,47,10,2,2,0.475,2.69793 } ); +cells.push_back( {11104711,1851,47,11,1,2,0.525,2.74749 } ); +cells.push_back( {11104721,1871,47,11,2,2,0.525,2.69793 } ); +cells.push_back( {11204711,1852,47,12,1,2,0.575,2.74749 } ); +cells.push_back( {11204721,1872,47,12,2,2,0.575,2.69793 } ); +cells.push_back( {11304711,1853,47,13,1,2,0.625,2.74749 } ); +cells.push_back( {11304721,1873,47,13,2,2,0.625,2.69793 } ); +cells.push_back( {11404711,1854,47,14,1,2,0.675,2.74749 } ); +cells.push_back( {11404721,1874,47,14,2,2,0.675,2.69793 } ); +cells.push_back( {11504711,1855,47,15,1,2,0.725,2.74749 } ); +cells.push_back( {11504721,1875,47,15,2,2,0.725,2.69793 } ); +cells.push_back( {11604711,1856,47,16,1,2,0.775,2.74749 } ); +cells.push_back( {11604721,1876,47,16,2,2,0.775,2.69793 } ); +cells.push_back( {11704711,1857,47,17,1,2,0.825,2.74749 } ); +cells.push_back( {11704721,1877,47,17,2,2,0.825,2.69793 } ); +cells.push_back( {11804711,1858,47,18,1,2,0.875,2.74749 } ); +cells.push_back( {11804721,1878,47,18,2,2,0.875,2.69793 } ); +cells.push_back( {11904711,1859,47,19,1,2,0.925,2.74749 } ); +cells.push_back( {11904721,1879,47,19,2,2,0.925,2.69793 } ); +cells.push_back( {12004711,1860,47,20,1,2,0.967,2.74749 } ); +cells.push_back( {12004721,1880,47,20,2,2,0.967,2.69793 } ); +cells.push_back( {10104712,1841,47,1,1,1,0.02675,2.74749 } ); +cells.push_back( {10104722,1861,47,1,2,1,0.02675,2.69793 } ); +cells.push_back( {10204712,1842,47,2,1,1,0.075,2.74749 } ); +cells.push_back( {10204722,1862,47,2,2,1,0.075,2.69793 } ); +cells.push_back( {10304712,1843,47,3,1,1,0.125,2.74749 } ); +cells.push_back( {10304722,1863,47,3,2,1,0.125,2.69793 } ); +cells.push_back( {10404712,1844,47,4,1,1,0.175,2.74749 } ); +cells.push_back( {10404722,1864,47,4,2,1,0.175,2.69793 } ); +cells.push_back( {10504712,1845,47,5,1,1,0.225,2.74749 } ); +cells.push_back( {10504722,1865,47,5,2,1,0.225,2.69793 } ); +cells.push_back( {10604712,1846,47,6,1,1,0.275,2.74749 } ); +cells.push_back( {10604722,1866,47,6,2,1,0.275,2.69793 } ); +cells.push_back( {10704712,1847,47,7,1,1,0.325,2.74749 } ); +cells.push_back( {10704722,1867,47,7,2,1,0.325,2.69793 } ); +cells.push_back( {10804712,1848,47,8,1,1,0.375,2.74749 } ); +cells.push_back( {10804722,1868,47,8,2,1,0.375,2.69793 } ); +cells.push_back( {10904712,1849,47,9,1,1,0.425,2.74749 } ); +cells.push_back( {10904722,1869,47,9,2,1,0.425,2.69793 } ); +cells.push_back( {11004712,1850,47,10,1,1,0.475,2.74749 } ); +cells.push_back( {11004722,1870,47,10,2,1,0.475,2.69793 } ); +cells.push_back( {11104712,1851,47,11,1,1,0.525,2.74749 } ); +cells.push_back( {11104722,1871,47,11,2,1,0.525,2.69793 } ); +cells.push_back( {11204712,1852,47,12,1,1,0.575,2.74749 } ); +cells.push_back( {11204722,1872,47,12,2,1,0.575,2.69793 } ); +cells.push_back( {11304712,1853,47,13,1,1,0.625,2.74749 } ); +cells.push_back( {11304722,1873,47,13,2,1,0.625,2.69793 } ); +cells.push_back( {11404712,1854,47,14,1,1,0.675,2.74749 } ); +cells.push_back( {11404722,1874,47,14,2,1,0.675,2.69793 } ); +cells.push_back( {11504712,1855,47,15,1,1,0.725,2.74749 } ); +cells.push_back( {11504722,1875,47,15,2,1,0.725,2.69793 } ); +cells.push_back( {11604712,1856,47,16,1,1,0.775,2.74749 } ); +cells.push_back( {11604722,1876,47,16,2,1,0.775,2.69793 } ); +cells.push_back( {11704712,1857,47,17,1,1,0.825,2.74749 } ); +cells.push_back( {11704722,1877,47,17,2,1,0.825,2.69793 } ); +cells.push_back( {11804712,1858,47,18,1,1,0.875,2.74749 } ); +cells.push_back( {11804722,1878,47,18,2,1,0.875,2.69793 } ); +cells.push_back( {11904712,1859,47,19,1,1,0.925,2.74749 } ); +cells.push_back( {11904722,1879,47,19,2,1,0.925,2.69793 } ); +cells.push_back( {12004712,1860,47,20,1,1,0.967,2.74749 } ); +cells.push_back( {12004722,1880,47,20,2,1,0.967,2.69793 } ); +cells.push_back( {10104811,1881,48,1,1,2,0.02675,2.64278 } ); +cells.push_back( {10104821,1901,48,1,2,2,0.02675,2.59321 } ); +cells.push_back( {10204811,1882,48,2,1,2,0.075,2.64278 } ); +cells.push_back( {10204821,1902,48,2,2,2,0.075,2.59321 } ); +cells.push_back( {10304811,1883,48,3,1,2,0.125,2.64278 } ); +cells.push_back( {10304821,1903,48,3,2,2,0.125,2.59321 } ); +cells.push_back( {10404811,1884,48,4,1,2,0.175,2.64278 } ); +cells.push_back( {10404821,1904,48,4,2,2,0.175,2.59321 } ); +cells.push_back( {10504811,1885,48,5,1,2,0.225,2.64278 } ); +cells.push_back( {10504821,1905,48,5,2,2,0.225,2.59321 } ); +cells.push_back( {10604811,1886,48,6,1,2,0.275,2.64278 } ); +cells.push_back( {10604821,1906,48,6,2,2,0.275,2.59321 } ); +cells.push_back( {10704811,1887,48,7,1,2,0.325,2.64278 } ); +cells.push_back( {10704821,1907,48,7,2,2,0.325,2.59321 } ); +cells.push_back( {10804811,1888,48,8,1,2,0.375,2.64278 } ); +cells.push_back( {10804821,1908,48,8,2,2,0.375,2.59321 } ); +cells.push_back( {10904811,1889,48,9,1,2,0.425,2.64278 } ); +cells.push_back( {10904821,1909,48,9,2,2,0.425,2.59321 } ); +cells.push_back( {11004811,1890,48,10,1,2,0.475,2.64278 } ); +cells.push_back( {11004821,1910,48,10,2,2,0.475,2.59321 } ); +cells.push_back( {11104811,1891,48,11,1,2,0.525,2.64278 } ); +cells.push_back( {11104821,1911,48,11,2,2,0.525,2.59321 } ); +cells.push_back( {11204811,1892,48,12,1,2,0.575,2.64278 } ); +cells.push_back( {11204821,1912,48,12,2,2,0.575,2.59321 } ); +cells.push_back( {11304811,1893,48,13,1,2,0.625,2.64278 } ); +cells.push_back( {11304821,1913,48,13,2,2,0.625,2.59321 } ); +cells.push_back( {11404811,1894,48,14,1,2,0.675,2.64278 } ); +cells.push_back( {11404821,1914,48,14,2,2,0.675,2.59321 } ); +cells.push_back( {11504811,1895,48,15,1,2,0.725,2.64278 } ); +cells.push_back( {11504821,1915,48,15,2,2,0.725,2.59321 } ); +cells.push_back( {11604811,1896,48,16,1,2,0.775,2.64278 } ); +cells.push_back( {11604821,1916,48,16,2,2,0.775,2.59321 } ); +cells.push_back( {11704811,1897,48,17,1,2,0.825,2.64278 } ); +cells.push_back( {11704821,1917,48,17,2,2,0.825,2.59321 } ); +cells.push_back( {11804811,1898,48,18,1,2,0.875,2.64278 } ); +cells.push_back( {11804821,1918,48,18,2,2,0.875,2.59321 } ); +cells.push_back( {11904811,1899,48,19,1,2,0.925,2.64278 } ); +cells.push_back( {11904821,1919,48,19,2,2,0.925,2.59321 } ); +cells.push_back( {12004811,1900,48,20,1,2,0.967,2.64278 } ); +cells.push_back( {12004821,1920,48,20,2,2,0.967,2.59321 } ); +cells.push_back( {10104812,1881,48,1,1,1,0.02675,2.64278 } ); +cells.push_back( {10104822,1901,48,1,2,1,0.02675,2.59321 } ); +cells.push_back( {10204812,1882,48,2,1,1,0.075,2.64278 } ); +cells.push_back( {10204822,1902,48,2,2,1,0.075,2.59321 } ); +cells.push_back( {10304812,1883,48,3,1,1,0.125,2.64278 } ); +cells.push_back( {10304822,1903,48,3,2,1,0.125,2.59321 } ); +cells.push_back( {10404812,1884,48,4,1,1,0.175,2.64278 } ); +cells.push_back( {10404822,1904,48,4,2,1,0.175,2.59321 } ); +cells.push_back( {10504812,1885,48,5,1,1,0.225,2.64278 } ); +cells.push_back( {10504822,1905,48,5,2,1,0.225,2.59321 } ); +cells.push_back( {10604812,1886,48,6,1,1,0.275,2.64278 } ); +cells.push_back( {10604822,1906,48,6,2,1,0.275,2.59321 } ); +cells.push_back( {10704812,1887,48,7,1,1,0.325,2.64278 } ); +cells.push_back( {10704822,1907,48,7,2,1,0.325,2.59321 } ); +cells.push_back( {10804812,1888,48,8,1,1,0.375,2.64278 } ); +cells.push_back( {10804822,1908,48,8,2,1,0.375,2.59321 } ); +cells.push_back( {10904812,1889,48,9,1,1,0.425,2.64278 } ); +cells.push_back( {10904822,1909,48,9,2,1,0.425,2.59321 } ); +cells.push_back( {11004812,1890,48,10,1,1,0.475,2.64278 } ); +cells.push_back( {11004822,1910,48,10,2,1,0.475,2.59321 } ); +cells.push_back( {11104812,1891,48,11,1,1,0.525,2.64278 } ); +cells.push_back( {11104822,1911,48,11,2,1,0.525,2.59321 } ); +cells.push_back( {11204812,1892,48,12,1,1,0.575,2.64278 } ); +cells.push_back( {11204822,1912,48,12,2,1,0.575,2.59321 } ); +cells.push_back( {11304812,1893,48,13,1,1,0.625,2.64278 } ); +cells.push_back( {11304822,1913,48,13,2,1,0.625,2.59321 } ); +cells.push_back( {11404812,1894,48,14,1,1,0.675,2.64278 } ); +cells.push_back( {11404822,1914,48,14,2,1,0.675,2.59321 } ); +cells.push_back( {11504812,1895,48,15,1,1,0.725,2.64278 } ); +cells.push_back( {11504822,1915,48,15,2,1,0.725,2.59321 } ); +cells.push_back( {11604812,1896,48,16,1,1,0.775,2.64278 } ); +cells.push_back( {11604822,1916,48,16,2,1,0.775,2.59321 } ); +cells.push_back( {11704812,1897,48,17,1,1,0.825,2.64278 } ); +cells.push_back( {11704822,1917,48,17,2,1,0.825,2.59321 } ); +cells.push_back( {11804812,1898,48,18,1,1,0.875,2.64278 } ); +cells.push_back( {11804822,1918,48,18,2,1,0.875,2.59321 } ); +cells.push_back( {11904812,1899,48,19,1,1,0.925,2.64278 } ); +cells.push_back( {11904822,1919,48,19,2,1,0.925,2.59321 } ); +cells.push_back( {12004812,1900,48,20,1,1,0.967,2.64278 } ); +cells.push_back( {12004822,1920,48,20,2,1,0.967,2.59321 } ); +cells.push_back( {10104911,1921,49,1,1,2,0.02675,2.53806 } ); +cells.push_back( {10104921,1941,49,1,2,2,0.02675,2.48849 } ); +cells.push_back( {10204911,1922,49,2,1,2,0.075,2.53806 } ); +cells.push_back( {10204921,1942,49,2,2,2,0.075,2.48849 } ); +cells.push_back( {10304911,1923,49,3,1,2,0.125,2.53806 } ); +cells.push_back( {10304921,1943,49,3,2,2,0.125,2.48849 } ); +cells.push_back( {10404911,1924,49,4,1,2,0.175,2.53806 } ); +cells.push_back( {10404921,1944,49,4,2,2,0.175,2.48849 } ); +cells.push_back( {10504911,1925,49,5,1,2,0.225,2.53806 } ); +cells.push_back( {10504921,1945,49,5,2,2,0.225,2.48849 } ); +cells.push_back( {10604911,1926,49,6,1,2,0.275,2.53806 } ); +cells.push_back( {10604921,1946,49,6,2,2,0.275,2.48849 } ); +cells.push_back( {10704911,1927,49,7,1,2,0.325,2.53806 } ); +cells.push_back( {10704921,1947,49,7,2,2,0.325,2.48849 } ); +cells.push_back( {10804911,1928,49,8,1,2,0.375,2.53806 } ); +cells.push_back( {10804921,1948,49,8,2,2,0.375,2.48849 } ); +cells.push_back( {10904911,1929,49,9,1,2,0.425,2.53806 } ); +cells.push_back( {10904921,1949,49,9,2,2,0.425,2.48849 } ); +cells.push_back( {11004911,1930,49,10,1,2,0.475,2.53806 } ); +cells.push_back( {11004921,1950,49,10,2,2,0.475,2.48849 } ); +cells.push_back( {11104911,1931,49,11,1,2,0.525,2.53806 } ); +cells.push_back( {11104921,1951,49,11,2,2,0.525,2.48849 } ); +cells.push_back( {11204911,1932,49,12,1,2,0.575,2.53806 } ); +cells.push_back( {11204921,1952,49,12,2,2,0.575,2.48849 } ); +cells.push_back( {11304911,1933,49,13,1,2,0.625,2.53806 } ); +cells.push_back( {11304921,1953,49,13,2,2,0.625,2.48849 } ); +cells.push_back( {11404911,1934,49,14,1,2,0.675,2.53806 } ); +cells.push_back( {11404921,1954,49,14,2,2,0.675,2.48849 } ); +cells.push_back( {11504911,1935,49,15,1,2,0.725,2.53806 } ); +cells.push_back( {11504921,1955,49,15,2,2,0.725,2.48849 } ); +cells.push_back( {11604911,1936,49,16,1,2,0.775,2.53806 } ); +cells.push_back( {11604921,1956,49,16,2,2,0.775,2.48849 } ); +cells.push_back( {11704911,1937,49,17,1,2,0.825,2.53806 } ); +cells.push_back( {11704921,1957,49,17,2,2,0.825,2.48849 } ); +cells.push_back( {11804911,1938,49,18,1,2,0.875,2.53806 } ); +cells.push_back( {11804921,1958,49,18,2,2,0.875,2.48849 } ); +cells.push_back( {11904911,1939,49,19,1,2,0.925,2.53806 } ); +cells.push_back( {11904921,1959,49,19,2,2,0.925,2.48849 } ); +cells.push_back( {12004911,1940,49,20,1,2,0.967,2.53806 } ); +cells.push_back( {12004921,1960,49,20,2,2,0.967,2.48849 } ); +cells.push_back( {10104912,1921,49,1,1,1,0.02675,2.53806 } ); +cells.push_back( {10104922,1941,49,1,2,1,0.02675,2.48849 } ); +cells.push_back( {10204912,1922,49,2,1,1,0.075,2.53806 } ); +cells.push_back( {10204922,1942,49,2,2,1,0.075,2.48849 } ); +cells.push_back( {10304912,1923,49,3,1,1,0.125,2.53806 } ); +cells.push_back( {10304922,1943,49,3,2,1,0.125,2.48849 } ); +cells.push_back( {10404912,1924,49,4,1,1,0.175,2.53806 } ); +cells.push_back( {10404922,1944,49,4,2,1,0.175,2.48849 } ); +cells.push_back( {10504912,1925,49,5,1,1,0.225,2.53806 } ); +cells.push_back( {10504922,1945,49,5,2,1,0.225,2.48849 } ); +cells.push_back( {10604912,1926,49,6,1,1,0.275,2.53806 } ); +cells.push_back( {10604922,1946,49,6,2,1,0.275,2.48849 } ); +cells.push_back( {10704912,1927,49,7,1,1,0.325,2.53806 } ); +cells.push_back( {10704922,1947,49,7,2,1,0.325,2.48849 } ); +cells.push_back( {10804912,1928,49,8,1,1,0.375,2.53806 } ); +cells.push_back( {10804922,1948,49,8,2,1,0.375,2.48849 } ); +cells.push_back( {10904912,1929,49,9,1,1,0.425,2.53806 } ); +cells.push_back( {10904922,1949,49,9,2,1,0.425,2.48849 } ); +cells.push_back( {11004912,1930,49,10,1,1,0.475,2.53806 } ); +cells.push_back( {11004922,1950,49,10,2,1,0.475,2.48849 } ); +cells.push_back( {11104912,1931,49,11,1,1,0.525,2.53806 } ); +cells.push_back( {11104922,1951,49,11,2,1,0.525,2.48849 } ); +cells.push_back( {11204912,1932,49,12,1,1,0.575,2.53806 } ); +cells.push_back( {11204922,1952,49,12,2,1,0.575,2.48849 } ); +cells.push_back( {11304912,1933,49,13,1,1,0.625,2.53806 } ); +cells.push_back( {11304922,1953,49,13,2,1,0.625,2.48849 } ); +cells.push_back( {11404912,1934,49,14,1,1,0.675,2.53806 } ); +cells.push_back( {11404922,1954,49,14,2,1,0.675,2.48849 } ); +cells.push_back( {11504912,1935,49,15,1,1,0.725,2.53806 } ); +cells.push_back( {11504922,1955,49,15,2,1,0.725,2.48849 } ); +cells.push_back( {11604912,1936,49,16,1,1,0.775,2.53806 } ); +cells.push_back( {11604922,1956,49,16,2,1,0.775,2.48849 } ); +cells.push_back( {11704912,1937,49,17,1,1,0.825,2.53806 } ); +cells.push_back( {11704922,1957,49,17,2,1,0.825,2.48849 } ); +cells.push_back( {11804912,1938,49,18,1,1,0.875,2.53806 } ); +cells.push_back( {11804922,1958,49,18,2,1,0.875,2.48849 } ); +cells.push_back( {11904912,1939,49,19,1,1,0.925,2.53806 } ); +cells.push_back( {11904922,1959,49,19,2,1,0.925,2.48849 } ); +cells.push_back( {12004912,1940,49,20,1,1,0.967,2.53806 } ); +cells.push_back( {12004922,1960,49,20,2,1,0.967,2.48849 } ); +cells.push_back( {10105011,1961,50,1,1,2,0.02675,2.43334 } ); +cells.push_back( {10105021,1981,50,1,2,2,0.02675,2.38377 } ); +cells.push_back( {10205011,1962,50,2,1,2,0.075,2.43334 } ); +cells.push_back( {10205021,1982,50,2,2,2,0.075,2.38377 } ); +cells.push_back( {10305011,1963,50,3,1,2,0.125,2.43334 } ); +cells.push_back( {10305021,1983,50,3,2,2,0.125,2.38377 } ); +cells.push_back( {10405011,1964,50,4,1,2,0.175,2.43334 } ); +cells.push_back( {10405021,1984,50,4,2,2,0.175,2.38377 } ); +cells.push_back( {10505011,1965,50,5,1,2,0.225,2.43334 } ); +cells.push_back( {10505021,1985,50,5,2,2,0.225,2.38377 } ); +cells.push_back( {10605011,1966,50,6,1,2,0.275,2.43334 } ); +cells.push_back( {10605021,1986,50,6,2,2,0.275,2.38377 } ); +cells.push_back( {10705011,1967,50,7,1,2,0.325,2.43334 } ); +cells.push_back( {10705021,1987,50,7,2,2,0.325,2.38377 } ); +cells.push_back( {10805011,1968,50,8,1,2,0.375,2.43334 } ); +cells.push_back( {10805021,1988,50,8,2,2,0.375,2.38377 } ); +cells.push_back( {10905011,1969,50,9,1,2,0.425,2.43334 } ); +cells.push_back( {10905021,1989,50,9,2,2,0.425,2.38377 } ); +cells.push_back( {11005011,1970,50,10,1,2,0.475,2.43334 } ); +cells.push_back( {11005021,1990,50,10,2,2,0.475,2.38377 } ); +cells.push_back( {11105011,1971,50,11,1,2,0.525,2.43334 } ); +cells.push_back( {11105021,1991,50,11,2,2,0.525,2.38377 } ); +cells.push_back( {11205011,1972,50,12,1,2,0.575,2.43334 } ); +cells.push_back( {11205021,1992,50,12,2,2,0.575,2.38377 } ); +cells.push_back( {11305011,1973,50,13,1,2,0.625,2.43334 } ); +cells.push_back( {11305021,1993,50,13,2,2,0.625,2.38377 } ); +cells.push_back( {11405011,1974,50,14,1,2,0.675,2.43334 } ); +cells.push_back( {11405021,1994,50,14,2,2,0.675,2.38377 } ); +cells.push_back( {11505011,1975,50,15,1,2,0.725,2.43334 } ); +cells.push_back( {11505021,1995,50,15,2,2,0.725,2.38377 } ); +cells.push_back( {11605011,1976,50,16,1,2,0.775,2.43334 } ); +cells.push_back( {11605021,1996,50,16,2,2,0.775,2.38377 } ); +cells.push_back( {11705011,1977,50,17,1,2,0.825,2.43334 } ); +cells.push_back( {11705021,1997,50,17,2,2,0.825,2.38377 } ); +cells.push_back( {11805011,1978,50,18,1,2,0.875,2.43334 } ); +cells.push_back( {11805021,1998,50,18,2,2,0.875,2.38377 } ); +cells.push_back( {11905011,1979,50,19,1,2,0.925,2.43334 } ); +cells.push_back( {11905021,1999,50,19,2,2,0.925,2.38377 } ); +cells.push_back( {12005011,1980,50,20,1,2,0.967,2.43334 } ); +cells.push_back( {12005021,2000,50,20,2,2,0.967,2.38377 } ); +cells.push_back( {10105012,1961,50,1,1,1,0.02675,2.43334 } ); +cells.push_back( {10105022,1981,50,1,2,1,0.02675,2.38377 } ); +cells.push_back( {10205012,1962,50,2,1,1,0.075,2.43334 } ); +cells.push_back( {10205022,1982,50,2,2,1,0.075,2.38377 } ); +cells.push_back( {10305012,1963,50,3,1,1,0.125,2.43334 } ); +cells.push_back( {10305022,1983,50,3,2,1,0.125,2.38377 } ); +cells.push_back( {10405012,1964,50,4,1,1,0.175,2.43334 } ); +cells.push_back( {10405022,1984,50,4,2,1,0.175,2.38377 } ); +cells.push_back( {10505012,1965,50,5,1,1,0.225,2.43334 } ); +cells.push_back( {10505022,1985,50,5,2,1,0.225,2.38377 } ); +cells.push_back( {10605012,1966,50,6,1,1,0.275,2.43334 } ); +cells.push_back( {10605022,1986,50,6,2,1,0.275,2.38377 } ); +cells.push_back( {10705012,1967,50,7,1,1,0.325,2.43334 } ); +cells.push_back( {10705022,1987,50,7,2,1,0.325,2.38377 } ); +cells.push_back( {10805012,1968,50,8,1,1,0.375,2.43334 } ); +cells.push_back( {10805022,1988,50,8,2,1,0.375,2.38377 } ); +cells.push_back( {10905012,1969,50,9,1,1,0.425,2.43334 } ); +cells.push_back( {10905022,1989,50,9,2,1,0.425,2.38377 } ); +cells.push_back( {11005012,1970,50,10,1,1,0.475,2.43334 } ); +cells.push_back( {11005022,1990,50,10,2,1,0.475,2.38377 } ); +cells.push_back( {11105012,1971,50,11,1,1,0.525,2.43334 } ); +cells.push_back( {11105022,1991,50,11,2,1,0.525,2.38377 } ); +cells.push_back( {11205012,1972,50,12,1,1,0.575,2.43334 } ); +cells.push_back( {11205022,1992,50,12,2,1,0.575,2.38377 } ); +cells.push_back( {11305012,1973,50,13,1,1,0.625,2.43334 } ); +cells.push_back( {11305022,1993,50,13,2,1,0.625,2.38377 } ); +cells.push_back( {11405012,1974,50,14,1,1,0.675,2.43334 } ); +cells.push_back( {11405022,1994,50,14,2,1,0.675,2.38377 } ); +cells.push_back( {11505012,1975,50,15,1,1,0.725,2.43334 } ); +cells.push_back( {11505022,1995,50,15,2,1,0.725,2.38377 } ); +cells.push_back( {11605012,1976,50,16,1,1,0.775,2.43334 } ); +cells.push_back( {11605022,1996,50,16,2,1,0.775,2.38377 } ); +cells.push_back( {11705012,1977,50,17,1,1,0.825,2.43334 } ); +cells.push_back( {11705022,1997,50,17,2,1,0.825,2.38377 } ); +cells.push_back( {11805012,1978,50,18,1,1,0.875,2.43334 } ); +cells.push_back( {11805022,1998,50,18,2,1,0.875,2.38377 } ); +cells.push_back( {11905012,1979,50,19,1,1,0.925,2.43334 } ); +cells.push_back( {11905022,1999,50,19,2,1,0.925,2.38377 } ); +cells.push_back( {12005012,1980,50,20,1,1,0.967,2.43334 } ); +cells.push_back( {12005022,2000,50,20,2,1,0.967,2.38377 } ); +cells.push_back( {10105111,2001,51,1,1,2,0.02675,2.32862 } ); +cells.push_back( {10105121,2021,51,1,2,2,0.02675,2.27905 } ); +cells.push_back( {10205111,2002,51,2,1,2,0.075,2.32862 } ); +cells.push_back( {10205121,2022,51,2,2,2,0.075,2.27905 } ); +cells.push_back( {10305111,2003,51,3,1,2,0.125,2.32862 } ); +cells.push_back( {10305121,2023,51,3,2,2,0.125,2.27905 } ); +cells.push_back( {10405111,2004,51,4,1,2,0.175,2.32862 } ); +cells.push_back( {10405121,2024,51,4,2,2,0.175,2.27905 } ); +cells.push_back( {10505111,2005,51,5,1,2,0.225,2.32862 } ); +cells.push_back( {10505121,2025,51,5,2,2,0.225,2.27905 } ); +cells.push_back( {10605111,2006,51,6,1,2,0.275,2.32862 } ); +cells.push_back( {10605121,2026,51,6,2,2,0.275,2.27905 } ); +cells.push_back( {10705111,2007,51,7,1,2,0.325,2.32862 } ); +cells.push_back( {10705121,2027,51,7,2,2,0.325,2.27905 } ); +cells.push_back( {10805111,2008,51,8,1,2,0.375,2.32862 } ); +cells.push_back( {10805121,2028,51,8,2,2,0.375,2.27905 } ); +cells.push_back( {10905111,2009,51,9,1,2,0.425,2.32862 } ); +cells.push_back( {10905121,2029,51,9,2,2,0.425,2.27905 } ); +cells.push_back( {11005111,2010,51,10,1,2,0.475,2.32862 } ); +cells.push_back( {11005121,2030,51,10,2,2,0.475,2.27905 } ); +cells.push_back( {11105111,2011,51,11,1,2,0.525,2.32862 } ); +cells.push_back( {11105121,2031,51,11,2,2,0.525,2.27905 } ); +cells.push_back( {11205111,2012,51,12,1,2,0.575,2.32862 } ); +cells.push_back( {11205121,2032,51,12,2,2,0.575,2.27905 } ); +cells.push_back( {11305111,2013,51,13,1,2,0.625,2.32862 } ); +cells.push_back( {11305121,2033,51,13,2,2,0.625,2.27905 } ); +cells.push_back( {11405111,2014,51,14,1,2,0.675,2.32862 } ); +cells.push_back( {11405121,2034,51,14,2,2,0.675,2.27905 } ); +cells.push_back( {11505111,2015,51,15,1,2,0.725,2.32862 } ); +cells.push_back( {11505121,2035,51,15,2,2,0.725,2.27905 } ); +cells.push_back( {11605111,2016,51,16,1,2,0.775,2.32862 } ); +cells.push_back( {11605121,2036,51,16,2,2,0.775,2.27905 } ); +cells.push_back( {11705111,2017,51,17,1,2,0.825,2.32862 } ); +cells.push_back( {11705121,2037,51,17,2,2,0.825,2.27905 } ); +cells.push_back( {11805111,2018,51,18,1,2,0.875,2.32862 } ); +cells.push_back( {11805121,2038,51,18,2,2,0.875,2.27905 } ); +cells.push_back( {11905111,2019,51,19,1,2,0.925,2.32862 } ); +cells.push_back( {11905121,2039,51,19,2,2,0.925,2.27905 } ); +cells.push_back( {12005111,2020,51,20,1,2,0.967,2.32862 } ); +cells.push_back( {12005121,2040,51,20,2,2,0.967,2.27905 } ); +cells.push_back( {10105112,2001,51,1,1,1,0.02675,2.32862 } ); +cells.push_back( {10105122,2021,51,1,2,1,0.02675,2.27905 } ); +cells.push_back( {10205112,2002,51,2,1,1,0.075,2.32862 } ); +cells.push_back( {10205122,2022,51,2,2,1,0.075,2.27905 } ); +cells.push_back( {10305112,2003,51,3,1,1,0.125,2.32862 } ); +cells.push_back( {10305122,2023,51,3,2,1,0.125,2.27905 } ); +cells.push_back( {10405112,2004,51,4,1,1,0.175,2.32862 } ); +cells.push_back( {10405122,2024,51,4,2,1,0.175,2.27905 } ); +cells.push_back( {10505112,2005,51,5,1,1,0.225,2.32862 } ); +cells.push_back( {10505122,2025,51,5,2,1,0.225,2.27905 } ); +cells.push_back( {10605112,2006,51,6,1,1,0.275,2.32862 } ); +cells.push_back( {10605122,2026,51,6,2,1,0.275,2.27905 } ); +cells.push_back( {10705112,2007,51,7,1,1,0.325,2.32862 } ); +cells.push_back( {10705122,2027,51,7,2,1,0.325,2.27905 } ); +cells.push_back( {10805112,2008,51,8,1,1,0.375,2.32862 } ); +cells.push_back( {10805122,2028,51,8,2,1,0.375,2.27905 } ); +cells.push_back( {10905112,2009,51,9,1,1,0.425,2.32862 } ); +cells.push_back( {10905122,2029,51,9,2,1,0.425,2.27905 } ); +cells.push_back( {11005112,2010,51,10,1,1,0.475,2.32862 } ); +cells.push_back( {11005122,2030,51,10,2,1,0.475,2.27905 } ); +cells.push_back( {11105112,2011,51,11,1,1,0.525,2.32862 } ); +cells.push_back( {11105122,2031,51,11,2,1,0.525,2.27905 } ); +cells.push_back( {11205112,2012,51,12,1,1,0.575,2.32862 } ); +cells.push_back( {11205122,2032,51,12,2,1,0.575,2.27905 } ); +cells.push_back( {11305112,2013,51,13,1,1,0.625,2.32862 } ); +cells.push_back( {11305122,2033,51,13,2,1,0.625,2.27905 } ); +cells.push_back( {11405112,2014,51,14,1,1,0.675,2.32862 } ); +cells.push_back( {11405122,2034,51,14,2,1,0.675,2.27905 } ); +cells.push_back( {11505112,2015,51,15,1,1,0.725,2.32862 } ); +cells.push_back( {11505122,2035,51,15,2,1,0.725,2.27905 } ); +cells.push_back( {11605112,2016,51,16,1,1,0.775,2.32862 } ); +cells.push_back( {11605122,2036,51,16,2,1,0.775,2.27905 } ); +cells.push_back( {11705112,2017,51,17,1,1,0.825,2.32862 } ); +cells.push_back( {11705122,2037,51,17,2,1,0.825,2.27905 } ); +cells.push_back( {11805112,2018,51,18,1,1,0.875,2.32862 } ); +cells.push_back( {11805122,2038,51,18,2,1,0.875,2.27905 } ); +cells.push_back( {11905112,2019,51,19,1,1,0.925,2.32862 } ); +cells.push_back( {11905122,2039,51,19,2,1,0.925,2.27905 } ); +cells.push_back( {12005112,2020,51,20,1,1,0.967,2.32862 } ); +cells.push_back( {12005122,2040,51,20,2,1,0.967,2.27905 } ); +cells.push_back( {10105211,2041,52,1,1,2,0.02675,2.2239 } ); +cells.push_back( {10105221,2061,52,1,2,2,0.02675,2.17433 } ); +cells.push_back( {10205211,2042,52,2,1,2,0.075,2.2239 } ); +cells.push_back( {10205221,2062,52,2,2,2,0.075,2.17433 } ); +cells.push_back( {10305211,2043,52,3,1,2,0.125,2.2239 } ); +cells.push_back( {10305221,2063,52,3,2,2,0.125,2.17433 } ); +cells.push_back( {10405211,2044,52,4,1,2,0.175,2.2239 } ); +cells.push_back( {10405221,2064,52,4,2,2,0.175,2.17433 } ); +cells.push_back( {10505211,2045,52,5,1,2,0.225,2.2239 } ); +cells.push_back( {10505221,2065,52,5,2,2,0.225,2.17433 } ); +cells.push_back( {10605211,2046,52,6,1,2,0.275,2.2239 } ); +cells.push_back( {10605221,2066,52,6,2,2,0.275,2.17433 } ); +cells.push_back( {10705211,2047,52,7,1,2,0.325,2.2239 } ); +cells.push_back( {10705221,2067,52,7,2,2,0.325,2.17433 } ); +cells.push_back( {10805211,2048,52,8,1,2,0.375,2.2239 } ); +cells.push_back( {10805221,2068,52,8,2,2,0.375,2.17433 } ); +cells.push_back( {10905211,2049,52,9,1,2,0.425,2.2239 } ); +cells.push_back( {10905221,2069,52,9,2,2,0.425,2.17433 } ); +cells.push_back( {11005211,2050,52,10,1,2,0.475,2.2239 } ); +cells.push_back( {11005221,2070,52,10,2,2,0.475,2.17433 } ); +cells.push_back( {11105211,2051,52,11,1,2,0.525,2.2239 } ); +cells.push_back( {11105221,2071,52,11,2,2,0.525,2.17433 } ); +cells.push_back( {11205211,2052,52,12,1,2,0.575,2.2239 } ); +cells.push_back( {11205221,2072,52,12,2,2,0.575,2.17433 } ); +cells.push_back( {11305211,2053,52,13,1,2,0.625,2.2239 } ); +cells.push_back( {11305221,2073,52,13,2,2,0.625,2.17433 } ); +cells.push_back( {11405211,2054,52,14,1,2,0.675,2.2239 } ); +cells.push_back( {11405221,2074,52,14,2,2,0.675,2.17433 } ); +cells.push_back( {11505211,2055,52,15,1,2,0.725,2.2239 } ); +cells.push_back( {11505221,2075,52,15,2,2,0.725,2.17433 } ); +cells.push_back( {11605211,2056,52,16,1,2,0.775,2.2239 } ); +cells.push_back( {11605221,2076,52,16,2,2,0.775,2.17433 } ); +cells.push_back( {11705211,2057,52,17,1,2,0.825,2.2239 } ); +cells.push_back( {11705221,2077,52,17,2,2,0.825,2.17433 } ); +cells.push_back( {11805211,2058,52,18,1,2,0.875,2.2239 } ); +cells.push_back( {11805221,2078,52,18,2,2,0.875,2.17433 } ); +cells.push_back( {11905211,2059,52,19,1,2,0.925,2.2239 } ); +cells.push_back( {11905221,2079,52,19,2,2,0.925,2.17433 } ); +cells.push_back( {12005211,2060,52,20,1,2,0.967,2.2239 } ); +cells.push_back( {12005221,2080,52,20,2,2,0.967,2.17433 } ); +cells.push_back( {10105212,2041,52,1,1,1,0.02675,2.2239 } ); +cells.push_back( {10105222,2061,52,1,2,1,0.02675,2.17433 } ); +cells.push_back( {10205212,2042,52,2,1,1,0.075,2.2239 } ); +cells.push_back( {10205222,2062,52,2,2,1,0.075,2.17433 } ); +cells.push_back( {10305212,2043,52,3,1,1,0.125,2.2239 } ); +cells.push_back( {10305222,2063,52,3,2,1,0.125,2.17433 } ); +cells.push_back( {10405212,2044,52,4,1,1,0.175,2.2239 } ); +cells.push_back( {10405222,2064,52,4,2,1,0.175,2.17433 } ); +cells.push_back( {10505212,2045,52,5,1,1,0.225,2.2239 } ); +cells.push_back( {10505222,2065,52,5,2,1,0.225,2.17433 } ); +cells.push_back( {10605212,2046,52,6,1,1,0.275,2.2239 } ); +cells.push_back( {10605222,2066,52,6,2,1,0.275,2.17433 } ); +cells.push_back( {10705212,2047,52,7,1,1,0.325,2.2239 } ); +cells.push_back( {10705222,2067,52,7,2,1,0.325,2.17433 } ); +cells.push_back( {10805212,2048,52,8,1,1,0.375,2.2239 } ); +cells.push_back( {10805222,2068,52,8,2,1,0.375,2.17433 } ); +cells.push_back( {10905212,2049,52,9,1,1,0.425,2.2239 } ); +cells.push_back( {10905222,2069,52,9,2,1,0.425,2.17433 } ); +cells.push_back( {11005212,2050,52,10,1,1,0.475,2.2239 } ); +cells.push_back( {11005222,2070,52,10,2,1,0.475,2.17433 } ); +cells.push_back( {11105212,2051,52,11,1,1,0.525,2.2239 } ); +cells.push_back( {11105222,2071,52,11,2,1,0.525,2.17433 } ); +cells.push_back( {11205212,2052,52,12,1,1,0.575,2.2239 } ); +cells.push_back( {11205222,2072,52,12,2,1,0.575,2.17433 } ); +cells.push_back( {11305212,2053,52,13,1,1,0.625,2.2239 } ); +cells.push_back( {11305222,2073,52,13,2,1,0.625,2.17433 } ); +cells.push_back( {11405212,2054,52,14,1,1,0.675,2.2239 } ); +cells.push_back( {11405222,2074,52,14,2,1,0.675,2.17433 } ); +cells.push_back( {11505212,2055,52,15,1,1,0.725,2.2239 } ); +cells.push_back( {11505222,2075,52,15,2,1,0.725,2.17433 } ); +cells.push_back( {11605212,2056,52,16,1,1,0.775,2.2239 } ); +cells.push_back( {11605222,2076,52,16,2,1,0.775,2.17433 } ); +cells.push_back( {11705212,2057,52,17,1,1,0.825,2.2239 } ); +cells.push_back( {11705222,2077,52,17,2,1,0.825,2.17433 } ); +cells.push_back( {11805212,2058,52,18,1,1,0.875,2.2239 } ); +cells.push_back( {11805222,2078,52,18,2,1,0.875,2.17433 } ); +cells.push_back( {11905212,2059,52,19,1,1,0.925,2.2239 } ); +cells.push_back( {11905222,2079,52,19,2,1,0.925,2.17433 } ); +cells.push_back( {12005212,2060,52,20,1,1,0.967,2.2239 } ); +cells.push_back( {12005222,2080,52,20,2,1,0.967,2.17433 } ); +cells.push_back( {10105311,2081,53,1,1,2,0.02675,2.11918 } ); +cells.push_back( {10105321,2101,53,1,2,2,0.02675,2.06961 } ); +cells.push_back( {10205311,2082,53,2,1,2,0.075,2.11918 } ); +cells.push_back( {10205321,2102,53,2,2,2,0.075,2.06961 } ); +cells.push_back( {10305311,2083,53,3,1,2,0.125,2.11918 } ); +cells.push_back( {10305321,2103,53,3,2,2,0.125,2.06961 } ); +cells.push_back( {10405311,2084,53,4,1,2,0.175,2.11918 } ); +cells.push_back( {10405321,2104,53,4,2,2,0.175,2.06961 } ); +cells.push_back( {10505311,2085,53,5,1,2,0.225,2.11918 } ); +cells.push_back( {10505321,2105,53,5,2,2,0.225,2.06961 } ); +cells.push_back( {10605311,2086,53,6,1,2,0.275,2.11918 } ); +cells.push_back( {10605321,2106,53,6,2,2,0.275,2.06961 } ); +cells.push_back( {10705311,2087,53,7,1,2,0.325,2.11918 } ); +cells.push_back( {10705321,2107,53,7,2,2,0.325,2.06961 } ); +cells.push_back( {10805311,2088,53,8,1,2,0.375,2.11918 } ); +cells.push_back( {10805321,2108,53,8,2,2,0.375,2.06961 } ); +cells.push_back( {10905311,2089,53,9,1,2,0.425,2.11918 } ); +cells.push_back( {10905321,2109,53,9,2,2,0.425,2.06961 } ); +cells.push_back( {11005311,2090,53,10,1,2,0.475,2.11918 } ); +cells.push_back( {11005321,2110,53,10,2,2,0.475,2.06961 } ); +cells.push_back( {11105311,2091,53,11,1,2,0.525,2.11918 } ); +cells.push_back( {11105321,2111,53,11,2,2,0.525,2.06961 } ); +cells.push_back( {11205311,2092,53,12,1,2,0.575,2.11918 } ); +cells.push_back( {11205321,2112,53,12,2,2,0.575,2.06961 } ); +cells.push_back( {11305311,2093,53,13,1,2,0.625,2.11918 } ); +cells.push_back( {11305321,2113,53,13,2,2,0.625,2.06961 } ); +cells.push_back( {11405311,2094,53,14,1,2,0.675,2.11918 } ); +cells.push_back( {11405321,2114,53,14,2,2,0.675,2.06961 } ); +cells.push_back( {11505311,2095,53,15,1,2,0.725,2.11918 } ); +cells.push_back( {11505321,2115,53,15,2,2,0.725,2.06961 } ); +cells.push_back( {11605311,2096,53,16,1,2,0.775,2.11918 } ); +cells.push_back( {11605321,2116,53,16,2,2,0.775,2.06961 } ); +cells.push_back( {11705311,2097,53,17,1,2,0.825,2.11918 } ); +cells.push_back( {11705321,2117,53,17,2,2,0.825,2.06961 } ); +cells.push_back( {11805311,2098,53,18,1,2,0.875,2.11918 } ); +cells.push_back( {11805321,2118,53,18,2,2,0.875,2.06961 } ); +cells.push_back( {11905311,2099,53,19,1,2,0.925,2.11918 } ); +cells.push_back( {11905321,2119,53,19,2,2,0.925,2.06961 } ); +cells.push_back( {12005311,2100,53,20,1,2,0.967,2.11918 } ); +cells.push_back( {12005321,2120,53,20,2,2,0.967,2.06961 } ); +cells.push_back( {10105312,2081,53,1,1,1,0.02675,2.11918 } ); +cells.push_back( {10105322,2101,53,1,2,1,0.02675,2.06961 } ); +cells.push_back( {10205312,2082,53,2,1,1,0.075,2.11918 } ); +cells.push_back( {10205322,2102,53,2,2,1,0.075,2.06961 } ); +cells.push_back( {10305312,2083,53,3,1,1,0.125,2.11918 } ); +cells.push_back( {10305322,2103,53,3,2,1,0.125,2.06961 } ); +cells.push_back( {10405312,2084,53,4,1,1,0.175,2.11918 } ); +cells.push_back( {10405322,2104,53,4,2,1,0.175,2.06961 } ); +cells.push_back( {10505312,2085,53,5,1,1,0.225,2.11918 } ); +cells.push_back( {10505322,2105,53,5,2,1,0.225,2.06961 } ); +cells.push_back( {10605312,2086,53,6,1,1,0.275,2.11918 } ); +cells.push_back( {10605322,2106,53,6,2,1,0.275,2.06961 } ); +cells.push_back( {10705312,2087,53,7,1,1,0.325,2.11918 } ); +cells.push_back( {10705322,2107,53,7,2,1,0.325,2.06961 } ); +cells.push_back( {10805312,2088,53,8,1,1,0.375,2.11918 } ); +cells.push_back( {10805322,2108,53,8,2,1,0.375,2.06961 } ); +cells.push_back( {10905312,2089,53,9,1,1,0.425,2.11918 } ); +cells.push_back( {10905322,2109,53,9,2,1,0.425,2.06961 } ); +cells.push_back( {11005312,2090,53,10,1,1,0.475,2.11918 } ); +cells.push_back( {11005322,2110,53,10,2,1,0.475,2.06961 } ); +cells.push_back( {11105312,2091,53,11,1,1,0.525,2.11918 } ); +cells.push_back( {11105322,2111,53,11,2,1,0.525,2.06961 } ); +cells.push_back( {11205312,2092,53,12,1,1,0.575,2.11918 } ); +cells.push_back( {11205322,2112,53,12,2,1,0.575,2.06961 } ); +cells.push_back( {11305312,2093,53,13,1,1,0.625,2.11918 } ); +cells.push_back( {11305322,2113,53,13,2,1,0.625,2.06961 } ); +cells.push_back( {11405312,2094,53,14,1,1,0.675,2.11918 } ); +cells.push_back( {11405322,2114,53,14,2,1,0.675,2.06961 } ); +cells.push_back( {11505312,2095,53,15,1,1,0.725,2.11918 } ); +cells.push_back( {11505322,2115,53,15,2,1,0.725,2.06961 } ); +cells.push_back( {11605312,2096,53,16,1,1,0.775,2.11918 } ); +cells.push_back( {11605322,2116,53,16,2,1,0.775,2.06961 } ); +cells.push_back( {11705312,2097,53,17,1,1,0.825,2.11918 } ); +cells.push_back( {11705322,2117,53,17,2,1,0.825,2.06961 } ); +cells.push_back( {11805312,2098,53,18,1,1,0.875,2.11918 } ); +cells.push_back( {11805322,2118,53,18,2,1,0.875,2.06961 } ); +cells.push_back( {11905312,2099,53,19,1,1,0.925,2.11918 } ); +cells.push_back( {11905322,2119,53,19,2,1,0.925,2.06961 } ); +cells.push_back( {12005312,2100,53,20,1,1,0.967,2.11918 } ); +cells.push_back( {12005322,2120,53,20,2,1,0.967,2.06961 } ); +cells.push_back( {10105411,2121,54,1,1,2,0.02675,2.01446 } ); +cells.push_back( {10105421,2141,54,1,2,2,0.02675,1.96489 } ); +cells.push_back( {10205411,2122,54,2,1,2,0.075,2.01446 } ); +cells.push_back( {10205421,2142,54,2,2,2,0.075,1.96489 } ); +cells.push_back( {10305411,2123,54,3,1,2,0.125,2.01446 } ); +cells.push_back( {10305421,2143,54,3,2,2,0.125,1.96489 } ); +cells.push_back( {10405411,2124,54,4,1,2,0.175,2.01446 } ); +cells.push_back( {10405421,2144,54,4,2,2,0.175,1.96489 } ); +cells.push_back( {10505411,2125,54,5,1,2,0.225,2.01446 } ); +cells.push_back( {10505421,2145,54,5,2,2,0.225,1.96489 } ); +cells.push_back( {10605411,2126,54,6,1,2,0.275,2.01446 } ); +cells.push_back( {10605421,2146,54,6,2,2,0.275,1.96489 } ); +cells.push_back( {10705411,2127,54,7,1,2,0.325,2.01446 } ); +cells.push_back( {10705421,2147,54,7,2,2,0.325,1.96489 } ); +cells.push_back( {10805411,2128,54,8,1,2,0.375,2.01446 } ); +cells.push_back( {10805421,2148,54,8,2,2,0.375,1.96489 } ); +cells.push_back( {10905411,2129,54,9,1,2,0.425,2.01446 } ); +cells.push_back( {10905421,2149,54,9,2,2,0.425,1.96489 } ); +cells.push_back( {11005411,2130,54,10,1,2,0.475,2.01446 } ); +cells.push_back( {11005421,2150,54,10,2,2,0.475,1.96489 } ); +cells.push_back( {11105411,2131,54,11,1,2,0.525,2.01446 } ); +cells.push_back( {11105421,2151,54,11,2,2,0.525,1.96489 } ); +cells.push_back( {11205411,2132,54,12,1,2,0.575,2.01446 } ); +cells.push_back( {11205421,2152,54,12,2,2,0.575,1.96489 } ); +cells.push_back( {11305411,2133,54,13,1,2,0.625,2.01446 } ); +cells.push_back( {11305421,2153,54,13,2,2,0.625,1.96489 } ); +cells.push_back( {11405411,2134,54,14,1,2,0.675,2.01446 } ); +cells.push_back( {11405421,2154,54,14,2,2,0.675,1.96489 } ); +cells.push_back( {11505411,2135,54,15,1,2,0.725,2.01446 } ); +cells.push_back( {11505421,2155,54,15,2,2,0.725,1.96489 } ); +cells.push_back( {11605411,2136,54,16,1,2,0.775,2.01446 } ); +cells.push_back( {11605421,2156,54,16,2,2,0.775,1.96489 } ); +cells.push_back( {11705411,2137,54,17,1,2,0.825,2.01446 } ); +cells.push_back( {11705421,2157,54,17,2,2,0.825,1.96489 } ); +cells.push_back( {11805411,2138,54,18,1,2,0.875,2.01446 } ); +cells.push_back( {11805421,2158,54,18,2,2,0.875,1.96489 } ); +cells.push_back( {11905411,2139,54,19,1,2,0.925,2.01446 } ); +cells.push_back( {11905421,2159,54,19,2,2,0.925,1.96489 } ); +cells.push_back( {12005411,2140,54,20,1,2,0.967,2.01446 } ); +cells.push_back( {12005421,2160,54,20,2,2,0.967,1.96489 } ); +cells.push_back( {10105412,2121,54,1,1,1,0.02675,2.01446 } ); +cells.push_back( {10105422,2141,54,1,2,1,0.02675,1.96489 } ); +cells.push_back( {10205412,2122,54,2,1,1,0.075,2.01446 } ); +cells.push_back( {10205422,2142,54,2,2,1,0.075,1.96489 } ); +cells.push_back( {10305412,2123,54,3,1,1,0.125,2.01446 } ); +cells.push_back( {10305422,2143,54,3,2,1,0.125,1.96489 } ); +cells.push_back( {10405412,2124,54,4,1,1,0.175,2.01446 } ); +cells.push_back( {10405422,2144,54,4,2,1,0.175,1.96489 } ); +cells.push_back( {10505412,2125,54,5,1,1,0.225,2.01446 } ); +cells.push_back( {10505422,2145,54,5,2,1,0.225,1.96489 } ); +cells.push_back( {10605412,2126,54,6,1,1,0.275,2.01446 } ); +cells.push_back( {10605422,2146,54,6,2,1,0.275,1.96489 } ); +cells.push_back( {10705412,2127,54,7,1,1,0.325,2.01446 } ); +cells.push_back( {10705422,2147,54,7,2,1,0.325,1.96489 } ); +cells.push_back( {10805412,2128,54,8,1,1,0.375,2.01446 } ); +cells.push_back( {10805422,2148,54,8,2,1,0.375,1.96489 } ); +cells.push_back( {10905412,2129,54,9,1,1,0.425,2.01446 } ); +cells.push_back( {10905422,2149,54,9,2,1,0.425,1.96489 } ); +cells.push_back( {11005412,2130,54,10,1,1,0.475,2.01446 } ); +cells.push_back( {11005422,2150,54,10,2,1,0.475,1.96489 } ); +cells.push_back( {11105412,2131,54,11,1,1,0.525,2.01446 } ); +cells.push_back( {11105422,2151,54,11,2,1,0.525,1.96489 } ); +cells.push_back( {11205412,2132,54,12,1,1,0.575,2.01446 } ); +cells.push_back( {11205422,2152,54,12,2,1,0.575,1.96489 } ); +cells.push_back( {11305412,2133,54,13,1,1,0.625,2.01446 } ); +cells.push_back( {11305422,2153,54,13,2,1,0.625,1.96489 } ); +cells.push_back( {11405412,2134,54,14,1,1,0.675,2.01446 } ); +cells.push_back( {11405422,2154,54,14,2,1,0.675,1.96489 } ); +cells.push_back( {11505412,2135,54,15,1,1,0.725,2.01446 } ); +cells.push_back( {11505422,2155,54,15,2,1,0.725,1.96489 } ); +cells.push_back( {11605412,2136,54,16,1,1,0.775,2.01446 } ); +cells.push_back( {11605422,2156,54,16,2,1,0.775,1.96489 } ); +cells.push_back( {11705412,2137,54,17,1,1,0.825,2.01446 } ); +cells.push_back( {11705422,2157,54,17,2,1,0.825,1.96489 } ); +cells.push_back( {11805412,2138,54,18,1,1,0.875,2.01446 } ); +cells.push_back( {11805422,2158,54,18,2,1,0.875,1.96489 } ); +cells.push_back( {11905412,2139,54,19,1,1,0.925,2.01446 } ); +cells.push_back( {11905422,2159,54,19,2,1,0.925,1.96489 } ); +cells.push_back( {12005412,2140,54,20,1,1,0.967,2.01446 } ); +cells.push_back( {12005422,2160,54,20,2,1,0.967,1.96489 } ); +cells.push_back( {10105511,2161,55,1,1,2,0.02675,1.90974 } ); +cells.push_back( {10105521,2181,55,1,2,2,0.02675,1.86017 } ); +cells.push_back( {10205511,2162,55,2,1,2,0.075,1.90974 } ); +cells.push_back( {10205521,2182,55,2,2,2,0.075,1.86017 } ); +cells.push_back( {10305511,2163,55,3,1,2,0.125,1.90974 } ); +cells.push_back( {10305521,2183,55,3,2,2,0.125,1.86017 } ); +cells.push_back( {10405511,2164,55,4,1,2,0.175,1.90974 } ); +cells.push_back( {10405521,2184,55,4,2,2,0.175,1.86017 } ); +cells.push_back( {10505511,2165,55,5,1,2,0.225,1.90974 } ); +cells.push_back( {10505521,2185,55,5,2,2,0.225,1.86017 } ); +cells.push_back( {10605511,2166,55,6,1,2,0.275,1.90974 } ); +cells.push_back( {10605521,2186,55,6,2,2,0.275,1.86017 } ); +cells.push_back( {10705511,2167,55,7,1,2,0.325,1.90974 } ); +cells.push_back( {10705521,2187,55,7,2,2,0.325,1.86017 } ); +cells.push_back( {10805511,2168,55,8,1,2,0.375,1.90974 } ); +cells.push_back( {10805521,2188,55,8,2,2,0.375,1.86017 } ); +cells.push_back( {10905511,2169,55,9,1,2,0.425,1.90974 } ); +cells.push_back( {10905521,2189,55,9,2,2,0.425,1.86017 } ); +cells.push_back( {11005511,2170,55,10,1,2,0.475,1.90974 } ); +cells.push_back( {11005521,2190,55,10,2,2,0.475,1.86017 } ); +cells.push_back( {11105511,2171,55,11,1,2,0.525,1.90974 } ); +cells.push_back( {11105521,2191,55,11,2,2,0.525,1.86017 } ); +cells.push_back( {11205511,2172,55,12,1,2,0.575,1.90974 } ); +cells.push_back( {11205521,2192,55,12,2,2,0.575,1.86017 } ); +cells.push_back( {11305511,2173,55,13,1,2,0.625,1.90974 } ); +cells.push_back( {11305521,2193,55,13,2,2,0.625,1.86017 } ); +cells.push_back( {11405511,2174,55,14,1,2,0.675,1.90974 } ); +cells.push_back( {11405521,2194,55,14,2,2,0.675,1.86017 } ); +cells.push_back( {11505511,2175,55,15,1,2,0.725,1.90974 } ); +cells.push_back( {11505521,2195,55,15,2,2,0.725,1.86017 } ); +cells.push_back( {11605511,2176,55,16,1,2,0.775,1.90974 } ); +cells.push_back( {11605521,2196,55,16,2,2,0.775,1.86017 } ); +cells.push_back( {11705511,2177,55,17,1,2,0.825,1.90974 } ); +cells.push_back( {11705521,2197,55,17,2,2,0.825,1.86017 } ); +cells.push_back( {11805511,2178,55,18,1,2,0.875,1.90974 } ); +cells.push_back( {11805521,2198,55,18,2,2,0.875,1.86017 } ); +cells.push_back( {11905511,2179,55,19,1,2,0.925,1.90974 } ); +cells.push_back( {11905521,2199,55,19,2,2,0.925,1.86017 } ); +cells.push_back( {12005511,2180,55,20,1,2,0.967,1.90974 } ); +cells.push_back( {12005521,2200,55,20,2,2,0.967,1.86017 } ); +cells.push_back( {10105512,2161,55,1,1,1,0.02675,1.90974 } ); +cells.push_back( {10105522,2181,55,1,2,1,0.02675,1.86017 } ); +cells.push_back( {10205512,2162,55,2,1,1,0.075,1.90974 } ); +cells.push_back( {10205522,2182,55,2,2,1,0.075,1.86017 } ); +cells.push_back( {10305512,2163,55,3,1,1,0.125,1.90974 } ); +cells.push_back( {10305522,2183,55,3,2,1,0.125,1.86017 } ); +cells.push_back( {10405512,2164,55,4,1,1,0.175,1.90974 } ); +cells.push_back( {10405522,2184,55,4,2,1,0.175,1.86017 } ); +cells.push_back( {10505512,2165,55,5,1,1,0.225,1.90974 } ); +cells.push_back( {10505522,2185,55,5,2,1,0.225,1.86017 } ); +cells.push_back( {10605512,2166,55,6,1,1,0.275,1.90974 } ); +cells.push_back( {10605522,2186,55,6,2,1,0.275,1.86017 } ); +cells.push_back( {10705512,2167,55,7,1,1,0.325,1.90974 } ); +cells.push_back( {10705522,2187,55,7,2,1,0.325,1.86017 } ); +cells.push_back( {10805512,2168,55,8,1,1,0.375,1.90974 } ); +cells.push_back( {10805522,2188,55,8,2,1,0.375,1.86017 } ); +cells.push_back( {10905512,2169,55,9,1,1,0.425,1.90974 } ); +cells.push_back( {10905522,2189,55,9,2,1,0.425,1.86017 } ); +cells.push_back( {11005512,2170,55,10,1,1,0.475,1.90974 } ); +cells.push_back( {11005522,2190,55,10,2,1,0.475,1.86017 } ); +cells.push_back( {11105512,2171,55,11,1,1,0.525,1.90974 } ); +cells.push_back( {11105522,2191,55,11,2,1,0.525,1.86017 } ); +cells.push_back( {11205512,2172,55,12,1,1,0.575,1.90974 } ); +cells.push_back( {11205522,2192,55,12,2,1,0.575,1.86017 } ); +cells.push_back( {11305512,2173,55,13,1,1,0.625,1.90974 } ); +cells.push_back( {11305522,2193,55,13,2,1,0.625,1.86017 } ); +cells.push_back( {11405512,2174,55,14,1,1,0.675,1.90974 } ); +cells.push_back( {11405522,2194,55,14,2,1,0.675,1.86017 } ); +cells.push_back( {11505512,2175,55,15,1,1,0.725,1.90974 } ); +cells.push_back( {11505522,2195,55,15,2,1,0.725,1.86017 } ); +cells.push_back( {11605512,2176,55,16,1,1,0.775,1.90974 } ); +cells.push_back( {11605522,2196,55,16,2,1,0.775,1.86017 } ); +cells.push_back( {11705512,2177,55,17,1,1,0.825,1.90974 } ); +cells.push_back( {11705522,2197,55,17,2,1,0.825,1.86017 } ); +cells.push_back( {11805512,2178,55,18,1,1,0.875,1.90974 } ); +cells.push_back( {11805522,2198,55,18,2,1,0.875,1.86017 } ); +cells.push_back( {11905512,2179,55,19,1,1,0.925,1.90974 } ); +cells.push_back( {11905522,2199,55,19,2,1,0.925,1.86017 } ); +cells.push_back( {12005512,2180,55,20,1,1,0.967,1.90974 } ); +cells.push_back( {12005522,2200,55,20,2,1,0.967,1.86017 } ); +cells.push_back( {10105611,2201,56,1,1,2,0.02675,1.80502 } ); +cells.push_back( {10105621,2221,56,1,2,2,0.02675,1.75545 } ); +cells.push_back( {10205611,2202,56,2,1,2,0.075,1.80502 } ); +cells.push_back( {10205621,2222,56,2,2,2,0.075,1.75545 } ); +cells.push_back( {10305611,2203,56,3,1,2,0.125,1.80502 } ); +cells.push_back( {10305621,2223,56,3,2,2,0.125,1.75545 } ); +cells.push_back( {10405611,2204,56,4,1,2,0.175,1.80502 } ); +cells.push_back( {10405621,2224,56,4,2,2,0.175,1.75545 } ); +cells.push_back( {10505611,2205,56,5,1,2,0.225,1.80502 } ); +cells.push_back( {10505621,2225,56,5,2,2,0.225,1.75545 } ); +cells.push_back( {10605611,2206,56,6,1,2,0.275,1.80502 } ); +cells.push_back( {10605621,2226,56,6,2,2,0.275,1.75545 } ); +cells.push_back( {10705611,2207,56,7,1,2,0.325,1.80502 } ); +cells.push_back( {10705621,2227,56,7,2,2,0.325,1.75545 } ); +cells.push_back( {10805611,2208,56,8,1,2,0.375,1.80502 } ); +cells.push_back( {10805621,2228,56,8,2,2,0.375,1.75545 } ); +cells.push_back( {10905611,2209,56,9,1,2,0.425,1.80502 } ); +cells.push_back( {10905621,2229,56,9,2,2,0.425,1.75545 } ); +cells.push_back( {11005611,2210,56,10,1,2,0.475,1.80502 } ); +cells.push_back( {11005621,2230,56,10,2,2,0.475,1.75545 } ); +cells.push_back( {11105611,2211,56,11,1,2,0.525,1.80502 } ); +cells.push_back( {11105621,2231,56,11,2,2,0.525,1.75545 } ); +cells.push_back( {11205611,2212,56,12,1,2,0.575,1.80502 } ); +cells.push_back( {11205621,2232,56,12,2,2,0.575,1.75545 } ); +cells.push_back( {11305611,2213,56,13,1,2,0.625,1.80502 } ); +cells.push_back( {11305621,2233,56,13,2,2,0.625,1.75545 } ); +cells.push_back( {11405611,2214,56,14,1,2,0.675,1.80502 } ); +cells.push_back( {11405621,2234,56,14,2,2,0.675,1.75545 } ); +cells.push_back( {11505611,2215,56,15,1,2,0.725,1.80502 } ); +cells.push_back( {11505621,2235,56,15,2,2,0.725,1.75545 } ); +cells.push_back( {11605611,2216,56,16,1,2,0.775,1.80502 } ); +cells.push_back( {11605621,2236,56,16,2,2,0.775,1.75545 } ); +cells.push_back( {11705611,2217,56,17,1,2,0.825,1.80502 } ); +cells.push_back( {11705621,2237,56,17,2,2,0.825,1.75545 } ); +cells.push_back( {11805611,2218,56,18,1,2,0.875,1.80502 } ); +cells.push_back( {11805621,2238,56,18,2,2,0.875,1.75545 } ); +cells.push_back( {11905611,2219,56,19,1,2,0.925,1.80502 } ); +cells.push_back( {11905621,2239,56,19,2,2,0.925,1.75545 } ); +cells.push_back( {12005611,2220,56,20,1,2,0.967,1.80502 } ); +cells.push_back( {12005621,2240,56,20,2,2,0.967,1.75545 } ); +cells.push_back( {10105612,2201,56,1,1,1,0.02675,1.80502 } ); +cells.push_back( {10105622,2221,56,1,2,1,0.02675,1.75545 } ); +cells.push_back( {10205612,2202,56,2,1,1,0.075,1.80502 } ); +cells.push_back( {10205622,2222,56,2,2,1,0.075,1.75545 } ); +cells.push_back( {10305612,2203,56,3,1,1,0.125,1.80502 } ); +cells.push_back( {10305622,2223,56,3,2,1,0.125,1.75545 } ); +cells.push_back( {10405612,2204,56,4,1,1,0.175,1.80502 } ); +cells.push_back( {10405622,2224,56,4,2,1,0.175,1.75545 } ); +cells.push_back( {10505612,2205,56,5,1,1,0.225,1.80502 } ); +cells.push_back( {10505622,2225,56,5,2,1,0.225,1.75545 } ); +cells.push_back( {10605612,2206,56,6,1,1,0.275,1.80502 } ); +cells.push_back( {10605622,2226,56,6,2,1,0.275,1.75545 } ); +cells.push_back( {10705612,2207,56,7,1,1,0.325,1.80502 } ); +cells.push_back( {10705622,2227,56,7,2,1,0.325,1.75545 } ); +cells.push_back( {10805612,2208,56,8,1,1,0.375,1.80502 } ); +cells.push_back( {10805622,2228,56,8,2,1,0.375,1.75545 } ); +cells.push_back( {10905612,2209,56,9,1,1,0.425,1.80502 } ); +cells.push_back( {10905622,2229,56,9,2,1,0.425,1.75545 } ); +cells.push_back( {11005612,2210,56,10,1,1,0.475,1.80502 } ); +cells.push_back( {11005622,2230,56,10,2,1,0.475,1.75545 } ); +cells.push_back( {11105612,2211,56,11,1,1,0.525,1.80502 } ); +cells.push_back( {11105622,2231,56,11,2,1,0.525,1.75545 } ); +cells.push_back( {11205612,2212,56,12,1,1,0.575,1.80502 } ); +cells.push_back( {11205622,2232,56,12,2,1,0.575,1.75545 } ); +cells.push_back( {11305612,2213,56,13,1,1,0.625,1.80502 } ); +cells.push_back( {11305622,2233,56,13,2,1,0.625,1.75545 } ); +cells.push_back( {11405612,2214,56,14,1,1,0.675,1.80502 } ); +cells.push_back( {11405622,2234,56,14,2,1,0.675,1.75545 } ); +cells.push_back( {11505612,2215,56,15,1,1,0.725,1.80502 } ); +cells.push_back( {11505622,2235,56,15,2,1,0.725,1.75545 } ); +cells.push_back( {11605612,2216,56,16,1,1,0.775,1.80502 } ); +cells.push_back( {11605622,2236,56,16,2,1,0.775,1.75545 } ); +cells.push_back( {11705612,2217,56,17,1,1,0.825,1.80502 } ); +cells.push_back( {11705622,2237,56,17,2,1,0.825,1.75545 } ); +cells.push_back( {11805612,2218,56,18,1,1,0.875,1.80502 } ); +cells.push_back( {11805622,2238,56,18,2,1,0.875,1.75545 } ); +cells.push_back( {11905612,2219,56,19,1,1,0.925,1.80502 } ); +cells.push_back( {11905622,2239,56,19,2,1,0.925,1.75545 } ); +cells.push_back( {12005612,2220,56,20,1,1,0.967,1.80502 } ); +cells.push_back( {12005622,2240,56,20,2,1,0.967,1.75545 } ); +cells.push_back( {10105711,2241,57,1,1,2,0.02675,1.7003 } ); +cells.push_back( {10105721,2261,57,1,2,2,0.02675,1.65073 } ); +cells.push_back( {10205711,2242,57,2,1,2,0.075,1.7003 } ); +cells.push_back( {10205721,2262,57,2,2,2,0.075,1.65073 } ); +cells.push_back( {10305711,2243,57,3,1,2,0.125,1.7003 } ); +cells.push_back( {10305721,2263,57,3,2,2,0.125,1.65073 } ); +cells.push_back( {10405711,2244,57,4,1,2,0.175,1.7003 } ); +cells.push_back( {10405721,2264,57,4,2,2,0.175,1.65073 } ); +cells.push_back( {10505711,2245,57,5,1,2,0.225,1.7003 } ); +cells.push_back( {10505721,2265,57,5,2,2,0.225,1.65073 } ); +cells.push_back( {10605711,2246,57,6,1,2,0.275,1.7003 } ); +cells.push_back( {10605721,2266,57,6,2,2,0.275,1.65073 } ); +cells.push_back( {10705711,2247,57,7,1,2,0.325,1.7003 } ); +cells.push_back( {10705721,2267,57,7,2,2,0.325,1.65073 } ); +cells.push_back( {10805711,2248,57,8,1,2,0.375,1.7003 } ); +cells.push_back( {10805721,2268,57,8,2,2,0.375,1.65073 } ); +cells.push_back( {10905711,2249,57,9,1,2,0.425,1.7003 } ); +cells.push_back( {10905721,2269,57,9,2,2,0.425,1.65073 } ); +cells.push_back( {11005711,2250,57,10,1,2,0.475,1.7003 } ); +cells.push_back( {11005721,2270,57,10,2,2,0.475,1.65073 } ); +cells.push_back( {11105711,2251,57,11,1,2,0.525,1.7003 } ); +cells.push_back( {11105721,2271,57,11,2,2,0.525,1.65073 } ); +cells.push_back( {11205711,2252,57,12,1,2,0.575,1.7003 } ); +cells.push_back( {11205721,2272,57,12,2,2,0.575,1.65073 } ); +cells.push_back( {11305711,2253,57,13,1,2,0.625,1.7003 } ); +cells.push_back( {11305721,2273,57,13,2,2,0.625,1.65073 } ); +cells.push_back( {11405711,2254,57,14,1,2,0.675,1.7003 } ); +cells.push_back( {11405721,2274,57,14,2,2,0.675,1.65073 } ); +cells.push_back( {11505711,2255,57,15,1,2,0.725,1.7003 } ); +cells.push_back( {11505721,2275,57,15,2,2,0.725,1.65073 } ); +cells.push_back( {11605711,2256,57,16,1,2,0.775,1.7003 } ); +cells.push_back( {11605721,2276,57,16,2,2,0.775,1.65073 } ); +cells.push_back( {11705711,2257,57,17,1,2,0.825,1.7003 } ); +cells.push_back( {11705721,2277,57,17,2,2,0.825,1.65073 } ); +cells.push_back( {11805711,2258,57,18,1,2,0.875,1.7003 } ); +cells.push_back( {11805721,2278,57,18,2,2,0.875,1.65073 } ); +cells.push_back( {11905711,2259,57,19,1,2,0.925,1.7003 } ); +cells.push_back( {11905721,2279,57,19,2,2,0.925,1.65073 } ); +cells.push_back( {12005711,2260,57,20,1,2,0.967,1.7003 } ); +cells.push_back( {12005721,2280,57,20,2,2,0.967,1.65073 } ); +cells.push_back( {10105712,2241,57,1,1,1,0.02675,1.7003 } ); +cells.push_back( {10105722,2261,57,1,2,1,0.02675,1.65073 } ); +cells.push_back( {10205712,2242,57,2,1,1,0.075,1.7003 } ); +cells.push_back( {10205722,2262,57,2,2,1,0.075,1.65073 } ); +cells.push_back( {10305712,2243,57,3,1,1,0.125,1.7003 } ); +cells.push_back( {10305722,2263,57,3,2,1,0.125,1.65073 } ); +cells.push_back( {10405712,2244,57,4,1,1,0.175,1.7003 } ); +cells.push_back( {10405722,2264,57,4,2,1,0.175,1.65073 } ); +cells.push_back( {10505712,2245,57,5,1,1,0.225,1.7003 } ); +cells.push_back( {10505722,2265,57,5,2,1,0.225,1.65073 } ); +cells.push_back( {10605712,2246,57,6,1,1,0.275,1.7003 } ); +cells.push_back( {10605722,2266,57,6,2,1,0.275,1.65073 } ); +cells.push_back( {10705712,2247,57,7,1,1,0.325,1.7003 } ); +cells.push_back( {10705722,2267,57,7,2,1,0.325,1.65073 } ); +cells.push_back( {10805712,2248,57,8,1,1,0.375,1.7003 } ); +cells.push_back( {10805722,2268,57,8,2,1,0.375,1.65073 } ); +cells.push_back( {10905712,2249,57,9,1,1,0.425,1.7003 } ); +cells.push_back( {10905722,2269,57,9,2,1,0.425,1.65073 } ); +cells.push_back( {11005712,2250,57,10,1,1,0.475,1.7003 } ); +cells.push_back( {11005722,2270,57,10,2,1,0.475,1.65073 } ); +cells.push_back( {11105712,2251,57,11,1,1,0.525,1.7003 } ); +cells.push_back( {11105722,2271,57,11,2,1,0.525,1.65073 } ); +cells.push_back( {11205712,2252,57,12,1,1,0.575,1.7003 } ); +cells.push_back( {11205722,2272,57,12,2,1,0.575,1.65073 } ); +cells.push_back( {11305712,2253,57,13,1,1,0.625,1.7003 } ); +cells.push_back( {11305722,2273,57,13,2,1,0.625,1.65073 } ); +cells.push_back( {11405712,2254,57,14,1,1,0.675,1.7003 } ); +cells.push_back( {11405722,2274,57,14,2,1,0.675,1.65073 } ); +cells.push_back( {11505712,2255,57,15,1,1,0.725,1.7003 } ); +cells.push_back( {11505722,2275,57,15,2,1,0.725,1.65073 } ); +cells.push_back( {11605712,2256,57,16,1,1,0.775,1.7003 } ); +cells.push_back( {11605722,2276,57,16,2,1,0.775,1.65073 } ); +cells.push_back( {11705712,2257,57,17,1,1,0.825,1.7003 } ); +cells.push_back( {11705722,2277,57,17,2,1,0.825,1.65073 } ); +cells.push_back( {11805712,2258,57,18,1,1,0.875,1.7003 } ); +cells.push_back( {11805722,2278,57,18,2,1,0.875,1.65073 } ); +cells.push_back( {11905712,2259,57,19,1,1,0.925,1.7003 } ); +cells.push_back( {11905722,2279,57,19,2,1,0.925,1.65073 } ); +cells.push_back( {12005712,2260,57,20,1,1,0.967,1.7003 } ); +cells.push_back( {12005722,2280,57,20,2,1,0.967,1.65073 } ); +cells.push_back( {10105811,2281,58,1,1,2,0.02675,1.59558 } ); +cells.push_back( {10105821,2301,58,1,2,2,0.02675,1.54601 } ); +cells.push_back( {10205811,2282,58,2,1,2,0.075,1.59558 } ); +cells.push_back( {10205821,2302,58,2,2,2,0.075,1.54601 } ); +cells.push_back( {10305811,2283,58,3,1,2,0.125,1.59558 } ); +cells.push_back( {10305821,2303,58,3,2,2,0.125,1.54601 } ); +cells.push_back( {10405811,2284,58,4,1,2,0.175,1.59558 } ); +cells.push_back( {10405821,2304,58,4,2,2,0.175,1.54601 } ); +cells.push_back( {10505811,2285,58,5,1,2,0.225,1.59558 } ); +cells.push_back( {10505821,2305,58,5,2,2,0.225,1.54601 } ); +cells.push_back( {10605811,2286,58,6,1,2,0.275,1.59558 } ); +cells.push_back( {10605821,2306,58,6,2,2,0.275,1.54601 } ); +cells.push_back( {10705811,2287,58,7,1,2,0.325,1.59558 } ); +cells.push_back( {10705821,2307,58,7,2,2,0.325,1.54601 } ); +cells.push_back( {10805811,2288,58,8,1,2,0.375,1.59558 } ); +cells.push_back( {10805821,2308,58,8,2,2,0.375,1.54601 } ); +cells.push_back( {10905811,2289,58,9,1,2,0.425,1.59558 } ); +cells.push_back( {10905821,2309,58,9,2,2,0.425,1.54601 } ); +cells.push_back( {11005811,2290,58,10,1,2,0.475,1.59558 } ); +cells.push_back( {11005821,2310,58,10,2,2,0.475,1.54601 } ); +cells.push_back( {11105811,2291,58,11,1,2,0.525,1.59558 } ); +cells.push_back( {11105821,2311,58,11,2,2,0.525,1.54601 } ); +cells.push_back( {11205811,2292,58,12,1,2,0.575,1.59558 } ); +cells.push_back( {11205821,2312,58,12,2,2,0.575,1.54601 } ); +cells.push_back( {11305811,2293,58,13,1,2,0.625,1.59558 } ); +cells.push_back( {11305821,2313,58,13,2,2,0.625,1.54601 } ); +cells.push_back( {11405811,2294,58,14,1,2,0.675,1.59558 } ); +cells.push_back( {11405821,2314,58,14,2,2,0.675,1.54601 } ); +cells.push_back( {11505811,2295,58,15,1,2,0.725,1.59558 } ); +cells.push_back( {11505821,2315,58,15,2,2,0.725,1.54601 } ); +cells.push_back( {11605811,2296,58,16,1,2,0.775,1.59558 } ); +cells.push_back( {11605821,2316,58,16,2,2,0.775,1.54601 } ); +cells.push_back( {11705811,2297,58,17,1,2,0.825,1.59558 } ); +cells.push_back( {11705821,2317,58,17,2,2,0.825,1.54601 } ); +cells.push_back( {11805811,2298,58,18,1,2,0.875,1.59558 } ); +cells.push_back( {11805821,2318,58,18,2,2,0.875,1.54601 } ); +cells.push_back( {11905811,2299,58,19,1,2,0.925,1.59558 } ); +cells.push_back( {11905821,2319,58,19,2,2,0.925,1.54601 } ); +cells.push_back( {12005811,2300,58,20,1,2,0.967,1.59558 } ); +cells.push_back( {12005821,2320,58,20,2,2,0.967,1.54601 } ); +cells.push_back( {10105812,2281,58,1,1,1,0.02675,1.59558 } ); +cells.push_back( {10105822,2301,58,1,2,1,0.02675,1.54601 } ); +cells.push_back( {10205812,2282,58,2,1,1,0.075,1.59558 } ); +cells.push_back( {10205822,2302,58,2,2,1,0.075,1.54601 } ); +cells.push_back( {10305812,2283,58,3,1,1,0.125,1.59558 } ); +cells.push_back( {10305822,2303,58,3,2,1,0.125,1.54601 } ); +cells.push_back( {10405812,2284,58,4,1,1,0.175,1.59558 } ); +cells.push_back( {10405822,2304,58,4,2,1,0.175,1.54601 } ); +cells.push_back( {10505812,2285,58,5,1,1,0.225,1.59558 } ); +cells.push_back( {10505822,2305,58,5,2,1,0.225,1.54601 } ); +cells.push_back( {10605812,2286,58,6,1,1,0.275,1.59558 } ); +cells.push_back( {10605822,2306,58,6,2,1,0.275,1.54601 } ); +cells.push_back( {10705812,2287,58,7,1,1,0.325,1.59558 } ); +cells.push_back( {10705822,2307,58,7,2,1,0.325,1.54601 } ); +cells.push_back( {10805812,2288,58,8,1,1,0.375,1.59558 } ); +cells.push_back( {10805822,2308,58,8,2,1,0.375,1.54601 } ); +cells.push_back( {10905812,2289,58,9,1,1,0.425,1.59558 } ); +cells.push_back( {10905822,2309,58,9,2,1,0.425,1.54601 } ); +cells.push_back( {11005812,2290,58,10,1,1,0.475,1.59558 } ); +cells.push_back( {11005822,2310,58,10,2,1,0.475,1.54601 } ); +cells.push_back( {11105812,2291,58,11,1,1,0.525,1.59558 } ); +cells.push_back( {11105822,2311,58,11,2,1,0.525,1.54601 } ); +cells.push_back( {11205812,2292,58,12,1,1,0.575,1.59558 } ); +cells.push_back( {11205822,2312,58,12,2,1,0.575,1.54601 } ); +cells.push_back( {11305812,2293,58,13,1,1,0.625,1.59558 } ); +cells.push_back( {11305822,2313,58,13,2,1,0.625,1.54601 } ); +cells.push_back( {11405812,2294,58,14,1,1,0.675,1.59558 } ); +cells.push_back( {11405822,2314,58,14,2,1,0.675,1.54601 } ); +cells.push_back( {11505812,2295,58,15,1,1,0.725,1.59558 } ); +cells.push_back( {11505822,2315,58,15,2,1,0.725,1.54601 } ); +cells.push_back( {11605812,2296,58,16,1,1,0.775,1.59558 } ); +cells.push_back( {11605822,2316,58,16,2,1,0.775,1.54601 } ); +cells.push_back( {11705812,2297,58,17,1,1,0.825,1.59558 } ); +cells.push_back( {11705822,2317,58,17,2,1,0.825,1.54601 } ); +cells.push_back( {11805812,2298,58,18,1,1,0.875,1.59558 } ); +cells.push_back( {11805822,2318,58,18,2,1,0.875,1.54601 } ); +cells.push_back( {11905812,2299,58,19,1,1,0.925,1.59558 } ); +cells.push_back( {11905822,2319,58,19,2,1,0.925,1.54601 } ); +cells.push_back( {12005812,2300,58,20,1,1,0.967,1.59558 } ); +cells.push_back( {12005822,2320,58,20,2,1,0.967,1.54601 } ); +cells.push_back( {10105911,2321,59,1,1,2,0.02675,1.49086 } ); +cells.push_back( {10105921,2341,59,1,2,2,0.02675,1.4413 } ); +cells.push_back( {10205911,2322,59,2,1,2,0.075,1.49086 } ); +cells.push_back( {10205921,2342,59,2,2,2,0.075,1.4413 } ); +cells.push_back( {10305911,2323,59,3,1,2,0.125,1.49086 } ); +cells.push_back( {10305921,2343,59,3,2,2,0.125,1.4413 } ); +cells.push_back( {10405911,2324,59,4,1,2,0.175,1.49086 } ); +cells.push_back( {10405921,2344,59,4,2,2,0.175,1.4413 } ); +cells.push_back( {10505911,2325,59,5,1,2,0.225,1.49086 } ); +cells.push_back( {10505921,2345,59,5,2,2,0.225,1.4413 } ); +cells.push_back( {10605911,2326,59,6,1,2,0.275,1.49086 } ); +cells.push_back( {10605921,2346,59,6,2,2,0.275,1.4413 } ); +cells.push_back( {10705911,2327,59,7,1,2,0.325,1.49086 } ); +cells.push_back( {10705921,2347,59,7,2,2,0.325,1.4413 } ); +cells.push_back( {10805911,2328,59,8,1,2,0.375,1.49086 } ); +cells.push_back( {10805921,2348,59,8,2,2,0.375,1.4413 } ); +cells.push_back( {10905911,2329,59,9,1,2,0.425,1.49086 } ); +cells.push_back( {10905921,2349,59,9,2,2,0.425,1.4413 } ); +cells.push_back( {11005911,2330,59,10,1,2,0.475,1.49086 } ); +cells.push_back( {11005921,2350,59,10,2,2,0.475,1.4413 } ); +cells.push_back( {11105911,2331,59,11,1,2,0.525,1.49086 } ); +cells.push_back( {11105921,2351,59,11,2,2,0.525,1.4413 } ); +cells.push_back( {11205911,2332,59,12,1,2,0.575,1.49086 } ); +cells.push_back( {11205921,2352,59,12,2,2,0.575,1.4413 } ); +cells.push_back( {11305911,2333,59,13,1,2,0.625,1.49086 } ); +cells.push_back( {11305921,2353,59,13,2,2,0.625,1.4413 } ); +cells.push_back( {11405911,2334,59,14,1,2,0.675,1.49086 } ); +cells.push_back( {11405921,2354,59,14,2,2,0.675,1.4413 } ); +cells.push_back( {11505911,2335,59,15,1,2,0.725,1.49086 } ); +cells.push_back( {11505921,2355,59,15,2,2,0.725,1.4413 } ); +cells.push_back( {11605911,2336,59,16,1,2,0.775,1.49086 } ); +cells.push_back( {11605921,2356,59,16,2,2,0.775,1.4413 } ); +cells.push_back( {11705911,2337,59,17,1,2,0.825,1.49086 } ); +cells.push_back( {11705921,2357,59,17,2,2,0.825,1.4413 } ); +cells.push_back( {11805911,2338,59,18,1,2,0.875,1.49086 } ); +cells.push_back( {11805921,2358,59,18,2,2,0.875,1.4413 } ); +cells.push_back( {11905911,2339,59,19,1,2,0.925,1.49086 } ); +cells.push_back( {11905921,2359,59,19,2,2,0.925,1.4413 } ); +cells.push_back( {12005911,2340,59,20,1,2,0.967,1.49086 } ); +cells.push_back( {12005921,2360,59,20,2,2,0.967,1.4413 } ); +cells.push_back( {10105912,2321,59,1,1,1,0.02675,1.49086 } ); +cells.push_back( {10105922,2341,59,1,2,1,0.02675,1.4413 } ); +cells.push_back( {10205912,2322,59,2,1,1,0.075,1.49086 } ); +cells.push_back( {10205922,2342,59,2,2,1,0.075,1.4413 } ); +cells.push_back( {10305912,2323,59,3,1,1,0.125,1.49086 } ); +cells.push_back( {10305922,2343,59,3,2,1,0.125,1.4413 } ); +cells.push_back( {10405912,2324,59,4,1,1,0.175,1.49086 } ); +cells.push_back( {10405922,2344,59,4,2,1,0.175,1.4413 } ); +cells.push_back( {10505912,2325,59,5,1,1,0.225,1.49086 } ); +cells.push_back( {10505922,2345,59,5,2,1,0.225,1.4413 } ); +cells.push_back( {10605912,2326,59,6,1,1,0.275,1.49086 } ); +cells.push_back( {10605922,2346,59,6,2,1,0.275,1.4413 } ); +cells.push_back( {10705912,2327,59,7,1,1,0.325,1.49086 } ); +cells.push_back( {10705922,2347,59,7,2,1,0.325,1.4413 } ); +cells.push_back( {10805912,2328,59,8,1,1,0.375,1.49086 } ); +cells.push_back( {10805922,2348,59,8,2,1,0.375,1.4413 } ); +cells.push_back( {10905912,2329,59,9,1,1,0.425,1.49086 } ); +cells.push_back( {10905922,2349,59,9,2,1,0.425,1.4413 } ); +cells.push_back( {11005912,2330,59,10,1,1,0.475,1.49086 } ); +cells.push_back( {11005922,2350,59,10,2,1,0.475,1.4413 } ); +cells.push_back( {11105912,2331,59,11,1,1,0.525,1.49086 } ); +cells.push_back( {11105922,2351,59,11,2,1,0.525,1.4413 } ); +cells.push_back( {11205912,2332,59,12,1,1,0.575,1.49086 } ); +cells.push_back( {11205922,2352,59,12,2,1,0.575,1.4413 } ); +cells.push_back( {11305912,2333,59,13,1,1,0.625,1.49086 } ); +cells.push_back( {11305922,2353,59,13,2,1,0.625,1.4413 } ); +cells.push_back( {11405912,2334,59,14,1,1,0.675,1.49086 } ); +cells.push_back( {11405922,2354,59,14,2,1,0.675,1.4413 } ); +cells.push_back( {11505912,2335,59,15,1,1,0.725,1.49086 } ); +cells.push_back( {11505922,2355,59,15,2,1,0.725,1.4413 } ); +cells.push_back( {11605912,2336,59,16,1,1,0.775,1.49086 } ); +cells.push_back( {11605922,2356,59,16,2,1,0.775,1.4413 } ); +cells.push_back( {11705912,2337,59,17,1,1,0.825,1.49086 } ); +cells.push_back( {11705922,2357,59,17,2,1,0.825,1.4413 } ); +cells.push_back( {11805912,2338,59,18,1,1,0.875,1.49086 } ); +cells.push_back( {11805922,2358,59,18,2,1,0.875,1.4413 } ); +cells.push_back( {11905912,2339,59,19,1,1,0.925,1.49086 } ); +cells.push_back( {11905922,2359,59,19,2,1,0.925,1.4413 } ); +cells.push_back( {12005912,2340,59,20,1,1,0.967,1.49086 } ); +cells.push_back( {12005922,2360,59,20,2,1,0.967,1.4413 } ); +cells.push_back( {10106011,2361,60,1,1,2,0.02675,1.38614 } ); +cells.push_back( {10106021,2381,60,1,2,2,0.02675,1.33658 } ); +cells.push_back( {10206011,2362,60,2,1,2,0.075,1.38614 } ); +cells.push_back( {10206021,2382,60,2,2,2,0.075,1.33658 } ); +cells.push_back( {10306011,2363,60,3,1,2,0.125,1.38614 } ); +cells.push_back( {10306021,2383,60,3,2,2,0.125,1.33658 } ); +cells.push_back( {10406011,2364,60,4,1,2,0.175,1.38614 } ); +cells.push_back( {10406021,2384,60,4,2,2,0.175,1.33658 } ); +cells.push_back( {10506011,2365,60,5,1,2,0.225,1.38614 } ); +cells.push_back( {10506021,2385,60,5,2,2,0.225,1.33658 } ); +cells.push_back( {10606011,2366,60,6,1,2,0.275,1.38614 } ); +cells.push_back( {10606021,2386,60,6,2,2,0.275,1.33658 } ); +cells.push_back( {10706011,2367,60,7,1,2,0.325,1.38614 } ); +cells.push_back( {10706021,2387,60,7,2,2,0.325,1.33658 } ); +cells.push_back( {10806011,2368,60,8,1,2,0.375,1.38614 } ); +cells.push_back( {10806021,2388,60,8,2,2,0.375,1.33658 } ); +cells.push_back( {10906011,2369,60,9,1,2,0.425,1.38614 } ); +cells.push_back( {10906021,2389,60,9,2,2,0.425,1.33658 } ); +cells.push_back( {11006011,2370,60,10,1,2,0.475,1.38614 } ); +cells.push_back( {11006021,2390,60,10,2,2,0.475,1.33658 } ); +cells.push_back( {11106011,2371,60,11,1,2,0.525,1.38614 } ); +cells.push_back( {11106021,2391,60,11,2,2,0.525,1.33658 } ); +cells.push_back( {11206011,2372,60,12,1,2,0.575,1.38614 } ); +cells.push_back( {11206021,2392,60,12,2,2,0.575,1.33658 } ); +cells.push_back( {11306011,2373,60,13,1,2,0.625,1.38614 } ); +cells.push_back( {11306021,2393,60,13,2,2,0.625,1.33658 } ); +cells.push_back( {11406011,2374,60,14,1,2,0.675,1.38614 } ); +cells.push_back( {11406021,2394,60,14,2,2,0.675,1.33658 } ); +cells.push_back( {11506011,2375,60,15,1,2,0.725,1.38614 } ); +cells.push_back( {11506021,2395,60,15,2,2,0.725,1.33658 } ); +cells.push_back( {11606011,2376,60,16,1,2,0.775,1.38614 } ); +cells.push_back( {11606021,2396,60,16,2,2,0.775,1.33658 } ); +cells.push_back( {11706011,2377,60,17,1,2,0.825,1.38614 } ); +cells.push_back( {11706021,2397,60,17,2,2,0.825,1.33658 } ); +cells.push_back( {11806011,2378,60,18,1,2,0.875,1.38614 } ); +cells.push_back( {11806021,2398,60,18,2,2,0.875,1.33658 } ); +cells.push_back( {11906011,2379,60,19,1,2,0.925,1.38614 } ); +cells.push_back( {11906021,2399,60,19,2,2,0.925,1.33658 } ); +cells.push_back( {12006011,2380,60,20,1,2,0.967,1.38614 } ); +cells.push_back( {12006021,2400,60,20,2,2,0.967,1.33658 } ); +cells.push_back( {10106012,2361,60,1,1,1,0.02675,1.38614 } ); +cells.push_back( {10106022,2381,60,1,2,1,0.02675,1.33658 } ); +cells.push_back( {10206012,2362,60,2,1,1,0.075,1.38614 } ); +cells.push_back( {10206022,2382,60,2,2,1,0.075,1.33658 } ); +cells.push_back( {10306012,2363,60,3,1,1,0.125,1.38614 } ); +cells.push_back( {10306022,2383,60,3,2,1,0.125,1.33658 } ); +cells.push_back( {10406012,2364,60,4,1,1,0.175,1.38614 } ); +cells.push_back( {10406022,2384,60,4,2,1,0.175,1.33658 } ); +cells.push_back( {10506012,2365,60,5,1,1,0.225,1.38614 } ); +cells.push_back( {10506022,2385,60,5,2,1,0.225,1.33658 } ); +cells.push_back( {10606012,2366,60,6,1,1,0.275,1.38614 } ); +cells.push_back( {10606022,2386,60,6,2,1,0.275,1.33658 } ); +cells.push_back( {10706012,2367,60,7,1,1,0.325,1.38614 } ); +cells.push_back( {10706022,2387,60,7,2,1,0.325,1.33658 } ); +cells.push_back( {10806012,2368,60,8,1,1,0.375,1.38614 } ); +cells.push_back( {10806022,2388,60,8,2,1,0.375,1.33658 } ); +cells.push_back( {10906012,2369,60,9,1,1,0.425,1.38614 } ); +cells.push_back( {10906022,2389,60,9,2,1,0.425,1.33658 } ); +cells.push_back( {11006012,2370,60,10,1,1,0.475,1.38614 } ); +cells.push_back( {11006022,2390,60,10,2,1,0.475,1.33658 } ); +cells.push_back( {11106012,2371,60,11,1,1,0.525,1.38614 } ); +cells.push_back( {11106022,2391,60,11,2,1,0.525,1.33658 } ); +cells.push_back( {11206012,2372,60,12,1,1,0.575,1.38614 } ); +cells.push_back( {11206022,2392,60,12,2,1,0.575,1.33658 } ); +cells.push_back( {11306012,2373,60,13,1,1,0.625,1.38614 } ); +cells.push_back( {11306022,2393,60,13,2,1,0.625,1.33658 } ); +cells.push_back( {11406012,2374,60,14,1,1,0.675,1.38614 } ); +cells.push_back( {11406022,2394,60,14,2,1,0.675,1.33658 } ); +cells.push_back( {11506012,2375,60,15,1,1,0.725,1.38614 } ); +cells.push_back( {11506022,2395,60,15,2,1,0.725,1.33658 } ); +cells.push_back( {11606012,2376,60,16,1,1,0.775,1.38614 } ); +cells.push_back( {11606022,2396,60,16,2,1,0.775,1.33658 } ); +cells.push_back( {11706012,2377,60,17,1,1,0.825,1.38614 } ); +cells.push_back( {11706022,2397,60,17,2,1,0.825,1.33658 } ); +cells.push_back( {11806012,2378,60,18,1,1,0.875,1.38614 } ); +cells.push_back( {11806022,2398,60,18,2,1,0.875,1.33658 } ); +cells.push_back( {11906012,2379,60,19,1,1,0.925,1.38614 } ); +cells.push_back( {11906022,2399,60,19,2,1,0.925,1.33658 } ); +cells.push_back( {12006012,2380,60,20,1,1,0.967,1.38614 } ); +cells.push_back( {12006022,2400,60,20,2,1,0.967,1.33658 } ); +cells.push_back( {20100111,2401,61,1,1,2,-0.02675,1.86017 } ); +cells.push_back( {20100121,2421,61,1,2,2,-0.02675,1.90974 } ); +cells.push_back( {20200111,2402,61,2,1,2,-0.075,1.86017 } ); +cells.push_back( {20200121,2422,61,2,2,2,-0.075,1.90974 } ); +cells.push_back( {20300111,2403,61,3,1,2,-0.125,1.86017 } ); +cells.push_back( {20300121,2423,61,3,2,2,-0.125,1.90974 } ); +cells.push_back( {20400111,2404,61,4,1,2,-0.175,1.86017 } ); +cells.push_back( {20400121,2424,61,4,2,2,-0.175,1.90974 } ); +cells.push_back( {20500111,2405,61,5,1,2,-0.225,1.86017 } ); +cells.push_back( {20500121,2425,61,5,2,2,-0.225,1.90974 } ); +cells.push_back( {20600111,2406,61,6,1,2,-0.275,1.86017 } ); +cells.push_back( {20600121,2426,61,6,2,2,-0.275,1.90974 } ); +cells.push_back( {20700111,2407,61,7,1,2,-0.325,1.86017 } ); +cells.push_back( {20700121,2427,61,7,2,2,-0.325,1.90974 } ); +cells.push_back( {20800111,2408,61,8,1,2,-0.375,1.86017 } ); +cells.push_back( {20800121,2428,61,8,2,2,-0.375,1.90974 } ); +cells.push_back( {20900111,2409,61,9,1,2,-0.425,1.86017 } ); +cells.push_back( {20900121,2429,61,9,2,2,-0.425,1.90974 } ); +cells.push_back( {21000111,2410,61,10,1,2,-0.475,1.86017 } ); +cells.push_back( {21000121,2430,61,10,2,2,-0.475,1.90974 } ); +cells.push_back( {21100111,2411,61,11,1,2,-0.525,1.86017 } ); +cells.push_back( {21100121,2431,61,11,2,2,-0.525,1.90974 } ); +cells.push_back( {21200111,2412,61,12,1,2,-0.575,1.86017 } ); +cells.push_back( {21200121,2432,61,12,2,2,-0.575,1.90974 } ); +cells.push_back( {21300111,2413,61,13,1,2,-0.625,1.86017 } ); +cells.push_back( {21300121,2433,61,13,2,2,-0.625,1.90974 } ); +cells.push_back( {21400111,2414,61,14,1,2,-0.675,1.86017 } ); +cells.push_back( {21400121,2434,61,14,2,2,-0.675,1.90974 } ); +cells.push_back( {21500111,2415,61,15,1,2,-0.725,1.86017 } ); +cells.push_back( {21500121,2435,61,15,2,2,-0.725,1.90974 } ); +cells.push_back( {21600111,2416,61,16,1,2,-0.775,1.86017 } ); +cells.push_back( {21600121,2436,61,16,2,2,-0.775,1.90974 } ); +cells.push_back( {21700111,2417,61,17,1,2,-0.825,1.86017 } ); +cells.push_back( {21700121,2437,61,17,2,2,-0.825,1.90974 } ); +cells.push_back( {21800111,2418,61,18,1,2,-0.875,1.86017 } ); +cells.push_back( {21800121,2438,61,18,2,2,-0.875,1.90974 } ); +cells.push_back( {21900111,2419,61,19,1,2,-0.925,1.86017 } ); +cells.push_back( {21900121,2439,61,19,2,2,-0.925,1.90974 } ); +cells.push_back( {22000111,2420,61,20,1,2,-0.967,1.86017 } ); +cells.push_back( {22000121,2440,61,20,2,2,-0.967,1.90974 } ); +cells.push_back( {20100112,2401,61,1,1,1,-0.02675,1.86017 } ); +cells.push_back( {20100122,2421,61,1,2,1,-0.02675,1.90974 } ); +cells.push_back( {20200112,2402,61,2,1,1,-0.075,1.86017 } ); +cells.push_back( {20200122,2422,61,2,2,1,-0.075,1.90974 } ); +cells.push_back( {20300112,2403,61,3,1,1,-0.125,1.86017 } ); +cells.push_back( {20300122,2423,61,3,2,1,-0.125,1.90974 } ); +cells.push_back( {20400112,2404,61,4,1,1,-0.175,1.86017 } ); +cells.push_back( {20400122,2424,61,4,2,1,-0.175,1.90974 } ); +cells.push_back( {20500112,2405,61,5,1,1,-0.225,1.86017 } ); +cells.push_back( {20500122,2425,61,5,2,1,-0.225,1.90974 } ); +cells.push_back( {20600112,2406,61,6,1,1,-0.275,1.86017 } ); +cells.push_back( {20600122,2426,61,6,2,1,-0.275,1.90974 } ); +cells.push_back( {20700112,2407,61,7,1,1,-0.325,1.86017 } ); +cells.push_back( {20700122,2427,61,7,2,1,-0.325,1.90974 } ); +cells.push_back( {20800112,2408,61,8,1,1,-0.375,1.86017 } ); +cells.push_back( {20800122,2428,61,8,2,1,-0.375,1.90974 } ); +cells.push_back( {20900112,2409,61,9,1,1,-0.425,1.86017 } ); +cells.push_back( {20900122,2429,61,9,2,1,-0.425,1.90974 } ); +cells.push_back( {21000112,2410,61,10,1,1,-0.475,1.86017 } ); +cells.push_back( {21000122,2430,61,10,2,1,-0.475,1.90974 } ); +cells.push_back( {21100112,2411,61,11,1,1,-0.525,1.86017 } ); +cells.push_back( {21100122,2431,61,11,2,1,-0.525,1.90974 } ); +cells.push_back( {21200112,2412,61,12,1,1,-0.575,1.86017 } ); +cells.push_back( {21200122,2432,61,12,2,1,-0.575,1.90974 } ); +cells.push_back( {21300112,2413,61,13,1,1,-0.625,1.86017 } ); +cells.push_back( {21300122,2433,61,13,2,1,-0.625,1.90974 } ); +cells.push_back( {21400112,2414,61,14,1,1,-0.675,1.86017 } ); +cells.push_back( {21400122,2434,61,14,2,1,-0.675,1.90974 } ); +cells.push_back( {21500112,2415,61,15,1,1,-0.725,1.86017 } ); +cells.push_back( {21500122,2435,61,15,2,1,-0.725,1.90974 } ); +cells.push_back( {21600112,2416,61,16,1,1,-0.775,1.86017 } ); +cells.push_back( {21600122,2436,61,16,2,1,-0.775,1.90974 } ); +cells.push_back( {21700112,2417,61,17,1,1,-0.825,1.86017 } ); +cells.push_back( {21700122,2437,61,17,2,1,-0.825,1.90974 } ); +cells.push_back( {21800112,2418,61,18,1,1,-0.875,1.86017 } ); +cells.push_back( {21800122,2438,61,18,2,1,-0.875,1.90974 } ); +cells.push_back( {21900112,2419,61,19,1,1,-0.925,1.86017 } ); +cells.push_back( {21900122,2439,61,19,2,1,-0.925,1.90974 } ); +cells.push_back( {22000112,2420,61,20,1,1,-0.967,1.86017 } ); +cells.push_back( {22000122,2440,61,20,2,1,-0.967,1.90974 } ); +cells.push_back( {20100211,2441,62,1,1,2,-0.02675,1.96489 } ); +cells.push_back( {20100221,2461,62,1,2,2,-0.02675,2.01446 } ); +cells.push_back( {20200211,2442,62,2,1,2,-0.075,1.96489 } ); +cells.push_back( {20200221,2462,62,2,2,2,-0.075,2.01446 } ); +cells.push_back( {20300211,2443,62,3,1,2,-0.125,1.96489 } ); +cells.push_back( {20300221,2463,62,3,2,2,-0.125,2.01446 } ); +cells.push_back( {20400211,2444,62,4,1,2,-0.175,1.96489 } ); +cells.push_back( {20400221,2464,62,4,2,2,-0.175,2.01446 } ); +cells.push_back( {20500211,2445,62,5,1,2,-0.225,1.96489 } ); +cells.push_back( {20500221,2465,62,5,2,2,-0.225,2.01446 } ); +cells.push_back( {20600211,2446,62,6,1,2,-0.275,1.96489 } ); +cells.push_back( {20600221,2466,62,6,2,2,-0.275,2.01446 } ); +cells.push_back( {20700211,2447,62,7,1,2,-0.325,1.96489 } ); +cells.push_back( {20700221,2467,62,7,2,2,-0.325,2.01446 } ); +cells.push_back( {20800211,2448,62,8,1,2,-0.375,1.96489 } ); +cells.push_back( {20800221,2468,62,8,2,2,-0.375,2.01446 } ); +cells.push_back( {20900211,2449,62,9,1,2,-0.425,1.96489 } ); +cells.push_back( {20900221,2469,62,9,2,2,-0.425,2.01446 } ); +cells.push_back( {21000211,2450,62,10,1,2,-0.475,1.96489 } ); +cells.push_back( {21000221,2470,62,10,2,2,-0.475,2.01446 } ); +cells.push_back( {21100211,2451,62,11,1,2,-0.525,1.96489 } ); +cells.push_back( {21100221,2471,62,11,2,2,-0.525,2.01446 } ); +cells.push_back( {21200211,2452,62,12,1,2,-0.575,1.96489 } ); +cells.push_back( {21200221,2472,62,12,2,2,-0.575,2.01446 } ); +cells.push_back( {21300211,2453,62,13,1,2,-0.625,1.96489 } ); +cells.push_back( {21300221,2473,62,13,2,2,-0.625,2.01446 } ); +cells.push_back( {21400211,2454,62,14,1,2,-0.675,1.96489 } ); +cells.push_back( {21400221,2474,62,14,2,2,-0.675,2.01446 } ); +cells.push_back( {21500211,2455,62,15,1,2,-0.725,1.96489 } ); +cells.push_back( {21500221,2475,62,15,2,2,-0.725,2.01446 } ); +cells.push_back( {21600211,2456,62,16,1,2,-0.775,1.96489 } ); +cells.push_back( {21600221,2476,62,16,2,2,-0.775,2.01446 } ); +cells.push_back( {21700211,2457,62,17,1,2,-0.825,1.96489 } ); +cells.push_back( {21700221,2477,62,17,2,2,-0.825,2.01446 } ); +cells.push_back( {21800211,2458,62,18,1,2,-0.875,1.96489 } ); +cells.push_back( {21800221,2478,62,18,2,2,-0.875,2.01446 } ); +cells.push_back( {21900211,2459,62,19,1,2,-0.925,1.96489 } ); +cells.push_back( {21900221,2479,62,19,2,2,-0.925,2.01446 } ); +cells.push_back( {22000211,2460,62,20,1,2,-0.967,1.96489 } ); +cells.push_back( {22000221,2480,62,20,2,2,-0.967,2.01446 } ); +cells.push_back( {20100212,2441,62,1,1,1,-0.02675,1.96489 } ); +cells.push_back( {20100222,2461,62,1,2,1,-0.02675,2.01446 } ); +cells.push_back( {20200212,2442,62,2,1,1,-0.075,1.96489 } ); +cells.push_back( {20200222,2462,62,2,2,1,-0.075,2.01446 } ); +cells.push_back( {20300212,2443,62,3,1,1,-0.125,1.96489 } ); +cells.push_back( {20300222,2463,62,3,2,1,-0.125,2.01446 } ); +cells.push_back( {20400212,2444,62,4,1,1,-0.175,1.96489 } ); +cells.push_back( {20400222,2464,62,4,2,1,-0.175,2.01446 } ); +cells.push_back( {20500212,2445,62,5,1,1,-0.225,1.96489 } ); +cells.push_back( {20500222,2465,62,5,2,1,-0.225,2.01446 } ); +cells.push_back( {20600212,2446,62,6,1,1,-0.275,1.96489 } ); +cells.push_back( {20600222,2466,62,6,2,1,-0.275,2.01446 } ); +cells.push_back( {20700212,2447,62,7,1,1,-0.325,1.96489 } ); +cells.push_back( {20700222,2467,62,7,2,1,-0.325,2.01446 } ); +cells.push_back( {20800212,2448,62,8,1,1,-0.375,1.96489 } ); +cells.push_back( {20800222,2468,62,8,2,1,-0.375,2.01446 } ); +cells.push_back( {20900212,2449,62,9,1,1,-0.425,1.96489 } ); +cells.push_back( {20900222,2469,62,9,2,1,-0.425,2.01446 } ); +cells.push_back( {21000212,2450,62,10,1,1,-0.475,1.96489 } ); +cells.push_back( {21000222,2470,62,10,2,1,-0.475,2.01446 } ); +cells.push_back( {21100212,2451,62,11,1,1,-0.525,1.96489 } ); +cells.push_back( {21100222,2471,62,11,2,1,-0.525,2.01446 } ); +cells.push_back( {21200212,2452,62,12,1,1,-0.575,1.96489 } ); +cells.push_back( {21200222,2472,62,12,2,1,-0.575,2.01446 } ); +cells.push_back( {21300212,2453,62,13,1,1,-0.625,1.96489 } ); +cells.push_back( {21300222,2473,62,13,2,1,-0.625,2.01446 } ); +cells.push_back( {21400212,2454,62,14,1,1,-0.675,1.96489 } ); +cells.push_back( {21400222,2474,62,14,2,1,-0.675,2.01446 } ); +cells.push_back( {21500212,2455,62,15,1,1,-0.725,1.96489 } ); +cells.push_back( {21500222,2475,62,15,2,1,-0.725,2.01446 } ); +cells.push_back( {21600212,2456,62,16,1,1,-0.775,1.96489 } ); +cells.push_back( {21600222,2476,62,16,2,1,-0.775,2.01446 } ); +cells.push_back( {21700212,2457,62,17,1,1,-0.825,1.96489 } ); +cells.push_back( {21700222,2477,62,17,2,1,-0.825,2.01446 } ); +cells.push_back( {21800212,2458,62,18,1,1,-0.875,1.96489 } ); +cells.push_back( {21800222,2478,62,18,2,1,-0.875,2.01446 } ); +cells.push_back( {21900212,2459,62,19,1,1,-0.925,1.96489 } ); +cells.push_back( {21900222,2479,62,19,2,1,-0.925,2.01446 } ); +cells.push_back( {22000212,2460,62,20,1,1,-0.967,1.96489 } ); +cells.push_back( {22000222,2480,62,20,2,1,-0.967,2.01446 } ); +cells.push_back( {20100311,2481,63,1,1,2,-0.02675,2.06961 } ); +cells.push_back( {20100321,2501,63,1,2,2,-0.02675,2.11918 } ); +cells.push_back( {20200311,2482,63,2,1,2,-0.075,2.06961 } ); +cells.push_back( {20200321,2502,63,2,2,2,-0.075,2.11918 } ); +cells.push_back( {20300311,2483,63,3,1,2,-0.125,2.06961 } ); +cells.push_back( {20300321,2503,63,3,2,2,-0.125,2.11918 } ); +cells.push_back( {20400311,2484,63,4,1,2,-0.175,2.06961 } ); +cells.push_back( {20400321,2504,63,4,2,2,-0.175,2.11918 } ); +cells.push_back( {20500311,2485,63,5,1,2,-0.225,2.06961 } ); +cells.push_back( {20500321,2505,63,5,2,2,-0.225,2.11918 } ); +cells.push_back( {20600311,2486,63,6,1,2,-0.275,2.06961 } ); +cells.push_back( {20600321,2506,63,6,2,2,-0.275,2.11918 } ); +cells.push_back( {20700311,2487,63,7,1,2,-0.325,2.06961 } ); +cells.push_back( {20700321,2507,63,7,2,2,-0.325,2.11918 } ); +cells.push_back( {20800311,2488,63,8,1,2,-0.375,2.06961 } ); +cells.push_back( {20800321,2508,63,8,2,2,-0.375,2.11918 } ); +cells.push_back( {20900311,2489,63,9,1,2,-0.425,2.06961 } ); +cells.push_back( {20900321,2509,63,9,2,2,-0.425,2.11918 } ); +cells.push_back( {21000311,2490,63,10,1,2,-0.475,2.06961 } ); +cells.push_back( {21000321,2510,63,10,2,2,-0.475,2.11918 } ); +cells.push_back( {21100311,2491,63,11,1,2,-0.525,2.06961 } ); +cells.push_back( {21100321,2511,63,11,2,2,-0.525,2.11918 } ); +cells.push_back( {21200311,2492,63,12,1,2,-0.575,2.06961 } ); +cells.push_back( {21200321,2512,63,12,2,2,-0.575,2.11918 } ); +cells.push_back( {21300311,2493,63,13,1,2,-0.625,2.06961 } ); +cells.push_back( {21300321,2513,63,13,2,2,-0.625,2.11918 } ); +cells.push_back( {21400311,2494,63,14,1,2,-0.675,2.06961 } ); +cells.push_back( {21400321,2514,63,14,2,2,-0.675,2.11918 } ); +cells.push_back( {21500311,2495,63,15,1,2,-0.725,2.06961 } ); +cells.push_back( {21500321,2515,63,15,2,2,-0.725,2.11918 } ); +cells.push_back( {21600311,2496,63,16,1,2,-0.775,2.06961 } ); +cells.push_back( {21600321,2516,63,16,2,2,-0.775,2.11918 } ); +cells.push_back( {21700311,2497,63,17,1,2,-0.825,2.06961 } ); +cells.push_back( {21700321,2517,63,17,2,2,-0.825,2.11918 } ); +cells.push_back( {21800311,2498,63,18,1,2,-0.875,2.06961 } ); +cells.push_back( {21800321,2518,63,18,2,2,-0.875,2.11918 } ); +cells.push_back( {21900311,2499,63,19,1,2,-0.925,2.06961 } ); +cells.push_back( {21900321,2519,63,19,2,2,-0.925,2.11918 } ); +cells.push_back( {22000311,2500,63,20,1,2,-0.967,2.06961 } ); +cells.push_back( {22000321,2520,63,20,2,2,-0.967,2.11918 } ); +cells.push_back( {20100312,2481,63,1,1,1,-0.02675,2.06961 } ); +cells.push_back( {20100322,2501,63,1,2,1,-0.02675,2.11918 } ); +cells.push_back( {20200312,2482,63,2,1,1,-0.075,2.06961 } ); +cells.push_back( {20200322,2502,63,2,2,1,-0.075,2.11918 } ); +cells.push_back( {20300312,2483,63,3,1,1,-0.125,2.06961 } ); +cells.push_back( {20300322,2503,63,3,2,1,-0.125,2.11918 } ); +cells.push_back( {20400312,2484,63,4,1,1,-0.175,2.06961 } ); +cells.push_back( {20400322,2504,63,4,2,1,-0.175,2.11918 } ); +cells.push_back( {20500312,2485,63,5,1,1,-0.225,2.06961 } ); +cells.push_back( {20500322,2505,63,5,2,1,-0.225,2.11918 } ); +cells.push_back( {20600312,2486,63,6,1,1,-0.275,2.06961 } ); +cells.push_back( {20600322,2506,63,6,2,1,-0.275,2.11918 } ); +cells.push_back( {20700312,2487,63,7,1,1,-0.325,2.06961 } ); +cells.push_back( {20700322,2507,63,7,2,1,-0.325,2.11918 } ); +cells.push_back( {20800312,2488,63,8,1,1,-0.375,2.06961 } ); +cells.push_back( {20800322,2508,63,8,2,1,-0.375,2.11918 } ); +cells.push_back( {20900312,2489,63,9,1,1,-0.425,2.06961 } ); +cells.push_back( {20900322,2509,63,9,2,1,-0.425,2.11918 } ); +cells.push_back( {21000312,2490,63,10,1,1,-0.475,2.06961 } ); +cells.push_back( {21000322,2510,63,10,2,1,-0.475,2.11918 } ); +cells.push_back( {21100312,2491,63,11,1,1,-0.525,2.06961 } ); +cells.push_back( {21100322,2511,63,11,2,1,-0.525,2.11918 } ); +cells.push_back( {21200312,2492,63,12,1,1,-0.575,2.06961 } ); +cells.push_back( {21200322,2512,63,12,2,1,-0.575,2.11918 } ); +cells.push_back( {21300312,2493,63,13,1,1,-0.625,2.06961 } ); +cells.push_back( {21300322,2513,63,13,2,1,-0.625,2.11918 } ); +cells.push_back( {21400312,2494,63,14,1,1,-0.675,2.06961 } ); +cells.push_back( {21400322,2514,63,14,2,1,-0.675,2.11918 } ); +cells.push_back( {21500312,2495,63,15,1,1,-0.725,2.06961 } ); +cells.push_back( {21500322,2515,63,15,2,1,-0.725,2.11918 } ); +cells.push_back( {21600312,2496,63,16,1,1,-0.775,2.06961 } ); +cells.push_back( {21600322,2516,63,16,2,1,-0.775,2.11918 } ); +cells.push_back( {21700312,2497,63,17,1,1,-0.825,2.06961 } ); +cells.push_back( {21700322,2517,63,17,2,1,-0.825,2.11918 } ); +cells.push_back( {21800312,2498,63,18,1,1,-0.875,2.06961 } ); +cells.push_back( {21800322,2518,63,18,2,1,-0.875,2.11918 } ); +cells.push_back( {21900312,2499,63,19,1,1,-0.925,2.06961 } ); +cells.push_back( {21900322,2519,63,19,2,1,-0.925,2.11918 } ); +cells.push_back( {22000312,2500,63,20,1,1,-0.967,2.06961 } ); +cells.push_back( {22000322,2520,63,20,2,1,-0.967,2.11918 } ); +cells.push_back( {20100411,2521,64,1,1,2,-0.02675,2.17433 } ); +cells.push_back( {20100421,2541,64,1,2,2,-0.02675,2.2239 } ); +cells.push_back( {20200411,2522,64,2,1,2,-0.075,2.17433 } ); +cells.push_back( {20200421,2542,64,2,2,2,-0.075,2.2239 } ); +cells.push_back( {20300411,2523,64,3,1,2,-0.125,2.17433 } ); +cells.push_back( {20300421,2543,64,3,2,2,-0.125,2.2239 } ); +cells.push_back( {20400411,2524,64,4,1,2,-0.175,2.17433 } ); +cells.push_back( {20400421,2544,64,4,2,2,-0.175,2.2239 } ); +cells.push_back( {20500411,2525,64,5,1,2,-0.225,2.17433 } ); +cells.push_back( {20500421,2545,64,5,2,2,-0.225,2.2239 } ); +cells.push_back( {20600411,2526,64,6,1,2,-0.275,2.17433 } ); +cells.push_back( {20600421,2546,64,6,2,2,-0.275,2.2239 } ); +cells.push_back( {20700411,2527,64,7,1,2,-0.325,2.17433 } ); +cells.push_back( {20700421,2547,64,7,2,2,-0.325,2.2239 } ); +cells.push_back( {20800411,2528,64,8,1,2,-0.375,2.17433 } ); +cells.push_back( {20800421,2548,64,8,2,2,-0.375,2.2239 } ); +cells.push_back( {20900411,2529,64,9,1,2,-0.425,2.17433 } ); +cells.push_back( {20900421,2549,64,9,2,2,-0.425,2.2239 } ); +cells.push_back( {21000411,2530,64,10,1,2,-0.475,2.17433 } ); +cells.push_back( {21000421,2550,64,10,2,2,-0.475,2.2239 } ); +cells.push_back( {21100411,2531,64,11,1,2,-0.525,2.17433 } ); +cells.push_back( {21100421,2551,64,11,2,2,-0.525,2.2239 } ); +cells.push_back( {21200411,2532,64,12,1,2,-0.575,2.17433 } ); +cells.push_back( {21200421,2552,64,12,2,2,-0.575,2.2239 } ); +cells.push_back( {21300411,2533,64,13,1,2,-0.625,2.17433 } ); +cells.push_back( {21300421,2553,64,13,2,2,-0.625,2.2239 } ); +cells.push_back( {21400411,2534,64,14,1,2,-0.675,2.17433 } ); +cells.push_back( {21400421,2554,64,14,2,2,-0.675,2.2239 } ); +cells.push_back( {21500411,2535,64,15,1,2,-0.725,2.17433 } ); +cells.push_back( {21500421,2555,64,15,2,2,-0.725,2.2239 } ); +cells.push_back( {21600411,2536,64,16,1,2,-0.775,2.17433 } ); +cells.push_back( {21600421,2556,64,16,2,2,-0.775,2.2239 } ); +cells.push_back( {21700411,2537,64,17,1,2,-0.825,2.17433 } ); +cells.push_back( {21700421,2557,64,17,2,2,-0.825,2.2239 } ); +cells.push_back( {21800411,2538,64,18,1,2,-0.875,2.17433 } ); +cells.push_back( {21800421,2558,64,18,2,2,-0.875,2.2239 } ); +cells.push_back( {21900411,2539,64,19,1,2,-0.925,2.17433 } ); +cells.push_back( {21900421,2559,64,19,2,2,-0.925,2.2239 } ); +cells.push_back( {22000411,2540,64,20,1,2,-0.967,2.17433 } ); +cells.push_back( {22000421,2560,64,20,2,2,-0.967,2.2239 } ); +cells.push_back( {20100412,2521,64,1,1,1,-0.02675,2.17433 } ); +cells.push_back( {20100422,2541,64,1,2,1,-0.02675,2.2239 } ); +cells.push_back( {20200412,2522,64,2,1,1,-0.075,2.17433 } ); +cells.push_back( {20200422,2542,64,2,2,1,-0.075,2.2239 } ); +cells.push_back( {20300412,2523,64,3,1,1,-0.125,2.17433 } ); +cells.push_back( {20300422,2543,64,3,2,1,-0.125,2.2239 } ); +cells.push_back( {20400412,2524,64,4,1,1,-0.175,2.17433 } ); +cells.push_back( {20400422,2544,64,4,2,1,-0.175,2.2239 } ); +cells.push_back( {20500412,2525,64,5,1,1,-0.225,2.17433 } ); +cells.push_back( {20500422,2545,64,5,2,1,-0.225,2.2239 } ); +cells.push_back( {20600412,2526,64,6,1,1,-0.275,2.17433 } ); +cells.push_back( {20600422,2546,64,6,2,1,-0.275,2.2239 } ); +cells.push_back( {20700412,2527,64,7,1,1,-0.325,2.17433 } ); +cells.push_back( {20700422,2547,64,7,2,1,-0.325,2.2239 } ); +cells.push_back( {20800412,2528,64,8,1,1,-0.375,2.17433 } ); +cells.push_back( {20800422,2548,64,8,2,1,-0.375,2.2239 } ); +cells.push_back( {20900412,2529,64,9,1,1,-0.425,2.17433 } ); +cells.push_back( {20900422,2549,64,9,2,1,-0.425,2.2239 } ); +cells.push_back( {21000412,2530,64,10,1,1,-0.475,2.17433 } ); +cells.push_back( {21000422,2550,64,10,2,1,-0.475,2.2239 } ); +cells.push_back( {21100412,2531,64,11,1,1,-0.525,2.17433 } ); +cells.push_back( {21100422,2551,64,11,2,1,-0.525,2.2239 } ); +cells.push_back( {21200412,2532,64,12,1,1,-0.575,2.17433 } ); +cells.push_back( {21200422,2552,64,12,2,1,-0.575,2.2239 } ); +cells.push_back( {21300412,2533,64,13,1,1,-0.625,2.17433 } ); +cells.push_back( {21300422,2553,64,13,2,1,-0.625,2.2239 } ); +cells.push_back( {21400412,2534,64,14,1,1,-0.675,2.17433 } ); +cells.push_back( {21400422,2554,64,14,2,1,-0.675,2.2239 } ); +cells.push_back( {21500412,2535,64,15,1,1,-0.725,2.17433 } ); +cells.push_back( {21500422,2555,64,15,2,1,-0.725,2.2239 } ); +cells.push_back( {21600412,2536,64,16,1,1,-0.775,2.17433 } ); +cells.push_back( {21600422,2556,64,16,2,1,-0.775,2.2239 } ); +cells.push_back( {21700412,2537,64,17,1,1,-0.825,2.17433 } ); +cells.push_back( {21700422,2557,64,17,2,1,-0.825,2.2239 } ); +cells.push_back( {21800412,2538,64,18,1,1,-0.875,2.17433 } ); +cells.push_back( {21800422,2558,64,18,2,1,-0.875,2.2239 } ); +cells.push_back( {21900412,2539,64,19,1,1,-0.925,2.17433 } ); +cells.push_back( {21900422,2559,64,19,2,1,-0.925,2.2239 } ); +cells.push_back( {22000412,2540,64,20,1,1,-0.967,2.17433 } ); +cells.push_back( {22000422,2560,64,20,2,1,-0.967,2.2239 } ); +cells.push_back( {20100511,2561,65,1,1,2,-0.02675,2.27905 } ); +cells.push_back( {20100521,2581,65,1,2,2,-0.02675,2.32862 } ); +cells.push_back( {20200511,2562,65,2,1,2,-0.075,2.27905 } ); +cells.push_back( {20200521,2582,65,2,2,2,-0.075,2.32862 } ); +cells.push_back( {20300511,2563,65,3,1,2,-0.125,2.27905 } ); +cells.push_back( {20300521,2583,65,3,2,2,-0.125,2.32862 } ); +cells.push_back( {20400511,2564,65,4,1,2,-0.175,2.27905 } ); +cells.push_back( {20400521,2584,65,4,2,2,-0.175,2.32862 } ); +cells.push_back( {20500511,2565,65,5,1,2,-0.225,2.27905 } ); +cells.push_back( {20500521,2585,65,5,2,2,-0.225,2.32862 } ); +cells.push_back( {20600511,2566,65,6,1,2,-0.275,2.27905 } ); +cells.push_back( {20600521,2586,65,6,2,2,-0.275,2.32862 } ); +cells.push_back( {20700511,2567,65,7,1,2,-0.325,2.27905 } ); +cells.push_back( {20700521,2587,65,7,2,2,-0.325,2.32862 } ); +cells.push_back( {20800511,2568,65,8,1,2,-0.375,2.27905 } ); +cells.push_back( {20800521,2588,65,8,2,2,-0.375,2.32862 } ); +cells.push_back( {20900511,2569,65,9,1,2,-0.425,2.27905 } ); +cells.push_back( {20900521,2589,65,9,2,2,-0.425,2.32862 } ); +cells.push_back( {21000511,2570,65,10,1,2,-0.475,2.27905 } ); +cells.push_back( {21000521,2590,65,10,2,2,-0.475,2.32862 } ); +cells.push_back( {21100511,2571,65,11,1,2,-0.525,2.27905 } ); +cells.push_back( {21100521,2591,65,11,2,2,-0.525,2.32862 } ); +cells.push_back( {21200511,2572,65,12,1,2,-0.575,2.27905 } ); +cells.push_back( {21200521,2592,65,12,2,2,-0.575,2.32862 } ); +cells.push_back( {21300511,2573,65,13,1,2,-0.625,2.27905 } ); +cells.push_back( {21300521,2593,65,13,2,2,-0.625,2.32862 } ); +cells.push_back( {21400511,2574,65,14,1,2,-0.675,2.27905 } ); +cells.push_back( {21400521,2594,65,14,2,2,-0.675,2.32862 } ); +cells.push_back( {21500511,2575,65,15,1,2,-0.725,2.27905 } ); +cells.push_back( {21500521,2595,65,15,2,2,-0.725,2.32862 } ); +cells.push_back( {21600511,2576,65,16,1,2,-0.775,2.27905 } ); +cells.push_back( {21600521,2596,65,16,2,2,-0.775,2.32862 } ); +cells.push_back( {21700511,2577,65,17,1,2,-0.825,2.27905 } ); +cells.push_back( {21700521,2597,65,17,2,2,-0.825,2.32862 } ); +cells.push_back( {21800511,2578,65,18,1,2,-0.875,2.27905 } ); +cells.push_back( {21800521,2598,65,18,2,2,-0.875,2.32862 } ); +cells.push_back( {21900511,2579,65,19,1,2,-0.925,2.27905 } ); +cells.push_back( {21900521,2599,65,19,2,2,-0.925,2.32862 } ); +cells.push_back( {22000511,2580,65,20,1,2,-0.967,2.27905 } ); +cells.push_back( {22000521,2600,65,20,2,2,-0.967,2.32862 } ); +cells.push_back( {20100512,2561,65,1,1,1,-0.02675,2.27905 } ); +cells.push_back( {20100522,2581,65,1,2,1,-0.02675,2.32862 } ); +cells.push_back( {20200512,2562,65,2,1,1,-0.075,2.27905 } ); +cells.push_back( {20200522,2582,65,2,2,1,-0.075,2.32862 } ); +cells.push_back( {20300512,2563,65,3,1,1,-0.125,2.27905 } ); +cells.push_back( {20300522,2583,65,3,2,1,-0.125,2.32862 } ); +cells.push_back( {20400512,2564,65,4,1,1,-0.175,2.27905 } ); +cells.push_back( {20400522,2584,65,4,2,1,-0.175,2.32862 } ); +cells.push_back( {20500512,2565,65,5,1,1,-0.225,2.27905 } ); +cells.push_back( {20500522,2585,65,5,2,1,-0.225,2.32862 } ); +cells.push_back( {20600512,2566,65,6,1,1,-0.275,2.27905 } ); +cells.push_back( {20600522,2586,65,6,2,1,-0.275,2.32862 } ); +cells.push_back( {20700512,2567,65,7,1,1,-0.325,2.27905 } ); +cells.push_back( {20700522,2587,65,7,2,1,-0.325,2.32862 } ); +cells.push_back( {20800512,2568,65,8,1,1,-0.375,2.27905 } ); +cells.push_back( {20800522,2588,65,8,2,1,-0.375,2.32862 } ); +cells.push_back( {20900512,2569,65,9,1,1,-0.425,2.27905 } ); +cells.push_back( {20900522,2589,65,9,2,1,-0.425,2.32862 } ); +cells.push_back( {21000512,2570,65,10,1,1,-0.475,2.27905 } ); +cells.push_back( {21000522,2590,65,10,2,1,-0.475,2.32862 } ); +cells.push_back( {21100512,2571,65,11,1,1,-0.525,2.27905 } ); +cells.push_back( {21100522,2591,65,11,2,1,-0.525,2.32862 } ); +cells.push_back( {21200512,2572,65,12,1,1,-0.575,2.27905 } ); +cells.push_back( {21200522,2592,65,12,2,1,-0.575,2.32862 } ); +cells.push_back( {21300512,2573,65,13,1,1,-0.625,2.27905 } ); +cells.push_back( {21300522,2593,65,13,2,1,-0.625,2.32862 } ); +cells.push_back( {21400512,2574,65,14,1,1,-0.675,2.27905 } ); +cells.push_back( {21400522,2594,65,14,2,1,-0.675,2.32862 } ); +cells.push_back( {21500512,2575,65,15,1,1,-0.725,2.27905 } ); +cells.push_back( {21500522,2595,65,15,2,1,-0.725,2.32862 } ); +cells.push_back( {21600512,2576,65,16,1,1,-0.775,2.27905 } ); +cells.push_back( {21600522,2596,65,16,2,1,-0.775,2.32862 } ); +cells.push_back( {21700512,2577,65,17,1,1,-0.825,2.27905 } ); +cells.push_back( {21700522,2597,65,17,2,1,-0.825,2.32862 } ); +cells.push_back( {21800512,2578,65,18,1,1,-0.875,2.27905 } ); +cells.push_back( {21800522,2598,65,18,2,1,-0.875,2.32862 } ); +cells.push_back( {21900512,2579,65,19,1,1,-0.925,2.27905 } ); +cells.push_back( {21900522,2599,65,19,2,1,-0.925,2.32862 } ); +cells.push_back( {22000512,2580,65,20,1,1,-0.967,2.27905 } ); +cells.push_back( {22000522,2600,65,20,2,1,-0.967,2.32862 } ); +cells.push_back( {20100611,2601,66,1,1,2,-0.02675,2.38377 } ); +cells.push_back( {20100621,2621,66,1,2,2,-0.02675,2.43334 } ); +cells.push_back( {20200611,2602,66,2,1,2,-0.075,2.38377 } ); +cells.push_back( {20200621,2622,66,2,2,2,-0.075,2.43334 } ); +cells.push_back( {20300611,2603,66,3,1,2,-0.125,2.38377 } ); +cells.push_back( {20300621,2623,66,3,2,2,-0.125,2.43334 } ); +cells.push_back( {20400611,2604,66,4,1,2,-0.175,2.38377 } ); +cells.push_back( {20400621,2624,66,4,2,2,-0.175,2.43334 } ); +cells.push_back( {20500611,2605,66,5,1,2,-0.225,2.38377 } ); +cells.push_back( {20500621,2625,66,5,2,2,-0.225,2.43334 } ); +cells.push_back( {20600611,2606,66,6,1,2,-0.275,2.38377 } ); +cells.push_back( {20600621,2626,66,6,2,2,-0.275,2.43334 } ); +cells.push_back( {20700611,2607,66,7,1,2,-0.325,2.38377 } ); +cells.push_back( {20700621,2627,66,7,2,2,-0.325,2.43334 } ); +cells.push_back( {20800611,2608,66,8,1,2,-0.375,2.38377 } ); +cells.push_back( {20800621,2628,66,8,2,2,-0.375,2.43334 } ); +cells.push_back( {20900611,2609,66,9,1,2,-0.425,2.38377 } ); +cells.push_back( {20900621,2629,66,9,2,2,-0.425,2.43334 } ); +cells.push_back( {21000611,2610,66,10,1,2,-0.475,2.38377 } ); +cells.push_back( {21000621,2630,66,10,2,2,-0.475,2.43334 } ); +cells.push_back( {21100611,2611,66,11,1,2,-0.525,2.38377 } ); +cells.push_back( {21100621,2631,66,11,2,2,-0.525,2.43334 } ); +cells.push_back( {21200611,2612,66,12,1,2,-0.575,2.38377 } ); +cells.push_back( {21200621,2632,66,12,2,2,-0.575,2.43334 } ); +cells.push_back( {21300611,2613,66,13,1,2,-0.625,2.38377 } ); +cells.push_back( {21300621,2633,66,13,2,2,-0.625,2.43334 } ); +cells.push_back( {21400611,2614,66,14,1,2,-0.675,2.38377 } ); +cells.push_back( {21400621,2634,66,14,2,2,-0.675,2.43334 } ); +cells.push_back( {21500611,2615,66,15,1,2,-0.725,2.38377 } ); +cells.push_back( {21500621,2635,66,15,2,2,-0.725,2.43334 } ); +cells.push_back( {21600611,2616,66,16,1,2,-0.775,2.38377 } ); +cells.push_back( {21600621,2636,66,16,2,2,-0.775,2.43334 } ); +cells.push_back( {21700611,2617,66,17,1,2,-0.825,2.38377 } ); +cells.push_back( {21700621,2637,66,17,2,2,-0.825,2.43334 } ); +cells.push_back( {21800611,2618,66,18,1,2,-0.875,2.38377 } ); +cells.push_back( {21800621,2638,66,18,2,2,-0.875,2.43334 } ); +cells.push_back( {21900611,2619,66,19,1,2,-0.925,2.38377 } ); +cells.push_back( {21900621,2639,66,19,2,2,-0.925,2.43334 } ); +cells.push_back( {22000611,2620,66,20,1,2,-0.967,2.38377 } ); +cells.push_back( {22000621,2640,66,20,2,2,-0.967,2.43334 } ); +cells.push_back( {20100612,2601,66,1,1,1,-0.02675,2.38377 } ); +cells.push_back( {20100622,2621,66,1,2,1,-0.02675,2.43334 } ); +cells.push_back( {20200612,2602,66,2,1,1,-0.075,2.38377 } ); +cells.push_back( {20200622,2622,66,2,2,1,-0.075,2.43334 } ); +cells.push_back( {20300612,2603,66,3,1,1,-0.125,2.38377 } ); +cells.push_back( {20300622,2623,66,3,2,1,-0.125,2.43334 } ); +cells.push_back( {20400612,2604,66,4,1,1,-0.175,2.38377 } ); +cells.push_back( {20400622,2624,66,4,2,1,-0.175,2.43334 } ); +cells.push_back( {20500612,2605,66,5,1,1,-0.225,2.38377 } ); +cells.push_back( {20500622,2625,66,5,2,1,-0.225,2.43334 } ); +cells.push_back( {20600612,2606,66,6,1,1,-0.275,2.38377 } ); +cells.push_back( {20600622,2626,66,6,2,1,-0.275,2.43334 } ); +cells.push_back( {20700612,2607,66,7,1,1,-0.325,2.38377 } ); +cells.push_back( {20700622,2627,66,7,2,1,-0.325,2.43334 } ); +cells.push_back( {20800612,2608,66,8,1,1,-0.375,2.38377 } ); +cells.push_back( {20800622,2628,66,8,2,1,-0.375,2.43334 } ); +cells.push_back( {20900612,2609,66,9,1,1,-0.425,2.38377 } ); +cells.push_back( {20900622,2629,66,9,2,1,-0.425,2.43334 } ); +cells.push_back( {21000612,2610,66,10,1,1,-0.475,2.38377 } ); +cells.push_back( {21000622,2630,66,10,2,1,-0.475,2.43334 } ); +cells.push_back( {21100612,2611,66,11,1,1,-0.525,2.38377 } ); +cells.push_back( {21100622,2631,66,11,2,1,-0.525,2.43334 } ); +cells.push_back( {21200612,2612,66,12,1,1,-0.575,2.38377 } ); +cells.push_back( {21200622,2632,66,12,2,1,-0.575,2.43334 } ); +cells.push_back( {21300612,2613,66,13,1,1,-0.625,2.38377 } ); +cells.push_back( {21300622,2633,66,13,2,1,-0.625,2.43334 } ); +cells.push_back( {21400612,2614,66,14,1,1,-0.675,2.38377 } ); +cells.push_back( {21400622,2634,66,14,2,1,-0.675,2.43334 } ); +cells.push_back( {21500612,2615,66,15,1,1,-0.725,2.38377 } ); +cells.push_back( {21500622,2635,66,15,2,1,-0.725,2.43334 } ); +cells.push_back( {21600612,2616,66,16,1,1,-0.775,2.38377 } ); +cells.push_back( {21600622,2636,66,16,2,1,-0.775,2.43334 } ); +cells.push_back( {21700612,2617,66,17,1,1,-0.825,2.38377 } ); +cells.push_back( {21700622,2637,66,17,2,1,-0.825,2.43334 } ); +cells.push_back( {21800612,2618,66,18,1,1,-0.875,2.38377 } ); +cells.push_back( {21800622,2638,66,18,2,1,-0.875,2.43334 } ); +cells.push_back( {21900612,2619,66,19,1,1,-0.925,2.38377 } ); +cells.push_back( {21900622,2639,66,19,2,1,-0.925,2.43334 } ); +cells.push_back( {22000612,2620,66,20,1,1,-0.967,2.38377 } ); +cells.push_back( {22000622,2640,66,20,2,1,-0.967,2.43334 } ); +cells.push_back( {20100711,2641,67,1,1,2,-0.02675,2.48849 } ); +cells.push_back( {20100721,2661,67,1,2,2,-0.02675,2.53806 } ); +cells.push_back( {20200711,2642,67,2,1,2,-0.075,2.48849 } ); +cells.push_back( {20200721,2662,67,2,2,2,-0.075,2.53806 } ); +cells.push_back( {20300711,2643,67,3,1,2,-0.125,2.48849 } ); +cells.push_back( {20300721,2663,67,3,2,2,-0.125,2.53806 } ); +cells.push_back( {20400711,2644,67,4,1,2,-0.175,2.48849 } ); +cells.push_back( {20400721,2664,67,4,2,2,-0.175,2.53806 } ); +cells.push_back( {20500711,2645,67,5,1,2,-0.225,2.48849 } ); +cells.push_back( {20500721,2665,67,5,2,2,-0.225,2.53806 } ); +cells.push_back( {20600711,2646,67,6,1,2,-0.275,2.48849 } ); +cells.push_back( {20600721,2666,67,6,2,2,-0.275,2.53806 } ); +cells.push_back( {20700711,2647,67,7,1,2,-0.325,2.48849 } ); +cells.push_back( {20700721,2667,67,7,2,2,-0.325,2.53806 } ); +cells.push_back( {20800711,2648,67,8,1,2,-0.375,2.48849 } ); +cells.push_back( {20800721,2668,67,8,2,2,-0.375,2.53806 } ); +cells.push_back( {20900711,2649,67,9,1,2,-0.425,2.48849 } ); +cells.push_back( {20900721,2669,67,9,2,2,-0.425,2.53806 } ); +cells.push_back( {21000711,2650,67,10,1,2,-0.475,2.48849 } ); +cells.push_back( {21000721,2670,67,10,2,2,-0.475,2.53806 } ); +cells.push_back( {21100711,2651,67,11,1,2,-0.525,2.48849 } ); +cells.push_back( {21100721,2671,67,11,2,2,-0.525,2.53806 } ); +cells.push_back( {21200711,2652,67,12,1,2,-0.575,2.48849 } ); +cells.push_back( {21200721,2672,67,12,2,2,-0.575,2.53806 } ); +cells.push_back( {21300711,2653,67,13,1,2,-0.625,2.48849 } ); +cells.push_back( {21300721,2673,67,13,2,2,-0.625,2.53806 } ); +cells.push_back( {21400711,2654,67,14,1,2,-0.675,2.48849 } ); +cells.push_back( {21400721,2674,67,14,2,2,-0.675,2.53806 } ); +cells.push_back( {21500711,2655,67,15,1,2,-0.725,2.48849 } ); +cells.push_back( {21500721,2675,67,15,2,2,-0.725,2.53806 } ); +cells.push_back( {21600711,2656,67,16,1,2,-0.775,2.48849 } ); +cells.push_back( {21600721,2676,67,16,2,2,-0.775,2.53806 } ); +cells.push_back( {21700711,2657,67,17,1,2,-0.825,2.48849 } ); +cells.push_back( {21700721,2677,67,17,2,2,-0.825,2.53806 } ); +cells.push_back( {21800711,2658,67,18,1,2,-0.875,2.48849 } ); +cells.push_back( {21800721,2678,67,18,2,2,-0.875,2.53806 } ); +cells.push_back( {21900711,2659,67,19,1,2,-0.925,2.48849 } ); +cells.push_back( {21900721,2679,67,19,2,2,-0.925,2.53806 } ); +cells.push_back( {22000711,2660,67,20,1,2,-0.967,2.48849 } ); +cells.push_back( {22000721,2680,67,20,2,2,-0.967,2.53806 } ); +cells.push_back( {20100712,2641,67,1,1,1,-0.02675,2.48849 } ); +cells.push_back( {20100722,2661,67,1,2,1,-0.02675,2.53806 } ); +cells.push_back( {20200712,2642,67,2,1,1,-0.075,2.48849 } ); +cells.push_back( {20200722,2662,67,2,2,1,-0.075,2.53806 } ); +cells.push_back( {20300712,2643,67,3,1,1,-0.125,2.48849 } ); +cells.push_back( {20300722,2663,67,3,2,1,-0.125,2.53806 } ); +cells.push_back( {20400712,2644,67,4,1,1,-0.175,2.48849 } ); +cells.push_back( {20400722,2664,67,4,2,1,-0.175,2.53806 } ); +cells.push_back( {20500712,2645,67,5,1,1,-0.225,2.48849 } ); +cells.push_back( {20500722,2665,67,5,2,1,-0.225,2.53806 } ); +cells.push_back( {20600712,2646,67,6,1,1,-0.275,2.48849 } ); +cells.push_back( {20600722,2666,67,6,2,1,-0.275,2.53806 } ); +cells.push_back( {20700712,2647,67,7,1,1,-0.325,2.48849 } ); +cells.push_back( {20700722,2667,67,7,2,1,-0.325,2.53806 } ); +cells.push_back( {20800712,2648,67,8,1,1,-0.375,2.48849 } ); +cells.push_back( {20800722,2668,67,8,2,1,-0.375,2.53806 } ); +cells.push_back( {20900712,2649,67,9,1,1,-0.425,2.48849 } ); +cells.push_back( {20900722,2669,67,9,2,1,-0.425,2.53806 } ); +cells.push_back( {21000712,2650,67,10,1,1,-0.475,2.48849 } ); +cells.push_back( {21000722,2670,67,10,2,1,-0.475,2.53806 } ); +cells.push_back( {21100712,2651,67,11,1,1,-0.525,2.48849 } ); +cells.push_back( {21100722,2671,67,11,2,1,-0.525,2.53806 } ); +cells.push_back( {21200712,2652,67,12,1,1,-0.575,2.48849 } ); +cells.push_back( {21200722,2672,67,12,2,1,-0.575,2.53806 } ); +cells.push_back( {21300712,2653,67,13,1,1,-0.625,2.48849 } ); +cells.push_back( {21300722,2673,67,13,2,1,-0.625,2.53806 } ); +cells.push_back( {21400712,2654,67,14,1,1,-0.675,2.48849 } ); +cells.push_back( {21400722,2674,67,14,2,1,-0.675,2.53806 } ); +cells.push_back( {21500712,2655,67,15,1,1,-0.725,2.48849 } ); +cells.push_back( {21500722,2675,67,15,2,1,-0.725,2.53806 } ); +cells.push_back( {21600712,2656,67,16,1,1,-0.775,2.48849 } ); +cells.push_back( {21600722,2676,67,16,2,1,-0.775,2.53806 } ); +cells.push_back( {21700712,2657,67,17,1,1,-0.825,2.48849 } ); +cells.push_back( {21700722,2677,67,17,2,1,-0.825,2.53806 } ); +cells.push_back( {21800712,2658,67,18,1,1,-0.875,2.48849 } ); +cells.push_back( {21800722,2678,67,18,2,1,-0.875,2.53806 } ); +cells.push_back( {21900712,2659,67,19,1,1,-0.925,2.48849 } ); +cells.push_back( {21900722,2679,67,19,2,1,-0.925,2.53806 } ); +cells.push_back( {22000712,2660,67,20,1,1,-0.967,2.48849 } ); +cells.push_back( {22000722,2680,67,20,2,1,-0.967,2.53806 } ); +cells.push_back( {20100811,2681,68,1,1,2,-0.02675,2.59321 } ); +cells.push_back( {20100821,2701,68,1,2,2,-0.02675,2.64278 } ); +cells.push_back( {20200811,2682,68,2,1,2,-0.075,2.59321 } ); +cells.push_back( {20200821,2702,68,2,2,2,-0.075,2.64278 } ); +cells.push_back( {20300811,2683,68,3,1,2,-0.125,2.59321 } ); +cells.push_back( {20300821,2703,68,3,2,2,-0.125,2.64278 } ); +cells.push_back( {20400811,2684,68,4,1,2,-0.175,2.59321 } ); +cells.push_back( {20400821,2704,68,4,2,2,-0.175,2.64278 } ); +cells.push_back( {20500811,2685,68,5,1,2,-0.225,2.59321 } ); +cells.push_back( {20500821,2705,68,5,2,2,-0.225,2.64278 } ); +cells.push_back( {20600811,2686,68,6,1,2,-0.275,2.59321 } ); +cells.push_back( {20600821,2706,68,6,2,2,-0.275,2.64278 } ); +cells.push_back( {20700811,2687,68,7,1,2,-0.325,2.59321 } ); +cells.push_back( {20700821,2707,68,7,2,2,-0.325,2.64278 } ); +cells.push_back( {20800811,2688,68,8,1,2,-0.375,2.59321 } ); +cells.push_back( {20800821,2708,68,8,2,2,-0.375,2.64278 } ); +cells.push_back( {20900811,2689,68,9,1,2,-0.425,2.59321 } ); +cells.push_back( {20900821,2709,68,9,2,2,-0.425,2.64278 } ); +cells.push_back( {21000811,2690,68,10,1,2,-0.475,2.59321 } ); +cells.push_back( {21000821,2710,68,10,2,2,-0.475,2.64278 } ); +cells.push_back( {21100811,2691,68,11,1,2,-0.525,2.59321 } ); +cells.push_back( {21100821,2711,68,11,2,2,-0.525,2.64278 } ); +cells.push_back( {21200811,2692,68,12,1,2,-0.575,2.59321 } ); +cells.push_back( {21200821,2712,68,12,2,2,-0.575,2.64278 } ); +cells.push_back( {21300811,2693,68,13,1,2,-0.625,2.59321 } ); +cells.push_back( {21300821,2713,68,13,2,2,-0.625,2.64278 } ); +cells.push_back( {21400811,2694,68,14,1,2,-0.675,2.59321 } ); +cells.push_back( {21400821,2714,68,14,2,2,-0.675,2.64278 } ); +cells.push_back( {21500811,2695,68,15,1,2,-0.725,2.59321 } ); +cells.push_back( {21500821,2715,68,15,2,2,-0.725,2.64278 } ); +cells.push_back( {21600811,2696,68,16,1,2,-0.775,2.59321 } ); +cells.push_back( {21600821,2716,68,16,2,2,-0.775,2.64278 } ); +cells.push_back( {21700811,2697,68,17,1,2,-0.825,2.59321 } ); +cells.push_back( {21700821,2717,68,17,2,2,-0.825,2.64278 } ); +cells.push_back( {21800811,2698,68,18,1,2,-0.875,2.59321 } ); +cells.push_back( {21800821,2718,68,18,2,2,-0.875,2.64278 } ); +cells.push_back( {21900811,2699,68,19,1,2,-0.925,2.59321 } ); +cells.push_back( {21900821,2719,68,19,2,2,-0.925,2.64278 } ); +cells.push_back( {22000811,2700,68,20,1,2,-0.967,2.59321 } ); +cells.push_back( {22000821,2720,68,20,2,2,-0.967,2.64278 } ); +cells.push_back( {20100812,2681,68,1,1,1,-0.02675,2.59321 } ); +cells.push_back( {20100822,2701,68,1,2,1,-0.02675,2.64278 } ); +cells.push_back( {20200812,2682,68,2,1,1,-0.075,2.59321 } ); +cells.push_back( {20200822,2702,68,2,2,1,-0.075,2.64278 } ); +cells.push_back( {20300812,2683,68,3,1,1,-0.125,2.59321 } ); +cells.push_back( {20300822,2703,68,3,2,1,-0.125,2.64278 } ); +cells.push_back( {20400812,2684,68,4,1,1,-0.175,2.59321 } ); +cells.push_back( {20400822,2704,68,4,2,1,-0.175,2.64278 } ); +cells.push_back( {20500812,2685,68,5,1,1,-0.225,2.59321 } ); +cells.push_back( {20500822,2705,68,5,2,1,-0.225,2.64278 } ); +cells.push_back( {20600812,2686,68,6,1,1,-0.275,2.59321 } ); +cells.push_back( {20600822,2706,68,6,2,1,-0.275,2.64278 } ); +cells.push_back( {20700812,2687,68,7,1,1,-0.325,2.59321 } ); +cells.push_back( {20700822,2707,68,7,2,1,-0.325,2.64278 } ); +cells.push_back( {20800812,2688,68,8,1,1,-0.375,2.59321 } ); +cells.push_back( {20800822,2708,68,8,2,1,-0.375,2.64278 } ); +cells.push_back( {20900812,2689,68,9,1,1,-0.425,2.59321 } ); +cells.push_back( {20900822,2709,68,9,2,1,-0.425,2.64278 } ); +cells.push_back( {21000812,2690,68,10,1,1,-0.475,2.59321 } ); +cells.push_back( {21000822,2710,68,10,2,1,-0.475,2.64278 } ); +cells.push_back( {21100812,2691,68,11,1,1,-0.525,2.59321 } ); +cells.push_back( {21100822,2711,68,11,2,1,-0.525,2.64278 } ); +cells.push_back( {21200812,2692,68,12,1,1,-0.575,2.59321 } ); +cells.push_back( {21200822,2712,68,12,2,1,-0.575,2.64278 } ); +cells.push_back( {21300812,2693,68,13,1,1,-0.625,2.59321 } ); +cells.push_back( {21300822,2713,68,13,2,1,-0.625,2.64278 } ); +cells.push_back( {21400812,2694,68,14,1,1,-0.675,2.59321 } ); +cells.push_back( {21400822,2714,68,14,2,1,-0.675,2.64278 } ); +cells.push_back( {21500812,2695,68,15,1,1,-0.725,2.59321 } ); +cells.push_back( {21500822,2715,68,15,2,1,-0.725,2.64278 } ); +cells.push_back( {21600812,2696,68,16,1,1,-0.775,2.59321 } ); +cells.push_back( {21600822,2716,68,16,2,1,-0.775,2.64278 } ); +cells.push_back( {21700812,2697,68,17,1,1,-0.825,2.59321 } ); +cells.push_back( {21700822,2717,68,17,2,1,-0.825,2.64278 } ); +cells.push_back( {21800812,2698,68,18,1,1,-0.875,2.59321 } ); +cells.push_back( {21800822,2718,68,18,2,1,-0.875,2.64278 } ); +cells.push_back( {21900812,2699,68,19,1,1,-0.925,2.59321 } ); +cells.push_back( {21900822,2719,68,19,2,1,-0.925,2.64278 } ); +cells.push_back( {22000812,2700,68,20,1,1,-0.967,2.59321 } ); +cells.push_back( {22000822,2720,68,20,2,1,-0.967,2.64278 } ); +cells.push_back( {20100911,2721,69,1,1,2,-0.02675,2.69793 } ); +cells.push_back( {20100921,2741,69,1,2,2,-0.02675,2.7475 } ); +cells.push_back( {20200911,2722,69,2,1,2,-0.075,2.69793 } ); +cells.push_back( {20200921,2742,69,2,2,2,-0.075,2.7475 } ); +cells.push_back( {20300911,2723,69,3,1,2,-0.125,2.69793 } ); +cells.push_back( {20300921,2743,69,3,2,2,-0.125,2.7475 } ); +cells.push_back( {20400911,2724,69,4,1,2,-0.175,2.69793 } ); +cells.push_back( {20400921,2744,69,4,2,2,-0.175,2.7475 } ); +cells.push_back( {20500911,2725,69,5,1,2,-0.225,2.69793 } ); +cells.push_back( {20500921,2745,69,5,2,2,-0.225,2.7475 } ); +cells.push_back( {20600911,2726,69,6,1,2,-0.275,2.69793 } ); +cells.push_back( {20600921,2746,69,6,2,2,-0.275,2.7475 } ); +cells.push_back( {20700911,2727,69,7,1,2,-0.325,2.69793 } ); +cells.push_back( {20700921,2747,69,7,2,2,-0.325,2.7475 } ); +cells.push_back( {20800911,2728,69,8,1,2,-0.375,2.69793 } ); +cells.push_back( {20800921,2748,69,8,2,2,-0.375,2.7475 } ); +cells.push_back( {20900911,2729,69,9,1,2,-0.425,2.69793 } ); +cells.push_back( {20900921,2749,69,9,2,2,-0.425,2.7475 } ); +cells.push_back( {21000911,2730,69,10,1,2,-0.475,2.69793 } ); +cells.push_back( {21000921,2750,69,10,2,2,-0.475,2.7475 } ); +cells.push_back( {21100911,2731,69,11,1,2,-0.525,2.69793 } ); +cells.push_back( {21100921,2751,69,11,2,2,-0.525,2.7475 } ); +cells.push_back( {21200911,2732,69,12,1,2,-0.575,2.69793 } ); +cells.push_back( {21200921,2752,69,12,2,2,-0.575,2.7475 } ); +cells.push_back( {21300911,2733,69,13,1,2,-0.625,2.69793 } ); +cells.push_back( {21300921,2753,69,13,2,2,-0.625,2.7475 } ); +cells.push_back( {21400911,2734,69,14,1,2,-0.675,2.69793 } ); +cells.push_back( {21400921,2754,69,14,2,2,-0.675,2.7475 } ); +cells.push_back( {21500911,2735,69,15,1,2,-0.725,2.69793 } ); +cells.push_back( {21500921,2755,69,15,2,2,-0.725,2.7475 } ); +cells.push_back( {21600911,2736,69,16,1,2,-0.775,2.69793 } ); +cells.push_back( {21600921,2756,69,16,2,2,-0.775,2.7475 } ); +cells.push_back( {21700911,2737,69,17,1,2,-0.825,2.69793 } ); +cells.push_back( {21700921,2757,69,17,2,2,-0.825,2.7475 } ); +cells.push_back( {21800911,2738,69,18,1,2,-0.875,2.69793 } ); +cells.push_back( {21800921,2758,69,18,2,2,-0.875,2.7475 } ); +cells.push_back( {21900911,2739,69,19,1,2,-0.925,2.69793 } ); +cells.push_back( {21900921,2759,69,19,2,2,-0.925,2.7475 } ); +cells.push_back( {22000911,2740,69,20,1,2,-0.967,2.69793 } ); +cells.push_back( {22000921,2760,69,20,2,2,-0.967,2.7475 } ); +cells.push_back( {20100912,2721,69,1,1,1,-0.02675,2.69793 } ); +cells.push_back( {20100922,2741,69,1,2,1,-0.02675,2.7475 } ); +cells.push_back( {20200912,2722,69,2,1,1,-0.075,2.69793 } ); +cells.push_back( {20200922,2742,69,2,2,1,-0.075,2.7475 } ); +cells.push_back( {20300912,2723,69,3,1,1,-0.125,2.69793 } ); +cells.push_back( {20300922,2743,69,3,2,1,-0.125,2.7475 } ); +cells.push_back( {20400912,2724,69,4,1,1,-0.175,2.69793 } ); +cells.push_back( {20400922,2744,69,4,2,1,-0.175,2.7475 } ); +cells.push_back( {20500912,2725,69,5,1,1,-0.225,2.69793 } ); +cells.push_back( {20500922,2745,69,5,2,1,-0.225,2.7475 } ); +cells.push_back( {20600912,2726,69,6,1,1,-0.275,2.69793 } ); +cells.push_back( {20600922,2746,69,6,2,1,-0.275,2.7475 } ); +cells.push_back( {20700912,2727,69,7,1,1,-0.325,2.69793 } ); +cells.push_back( {20700922,2747,69,7,2,1,-0.325,2.7475 } ); +cells.push_back( {20800912,2728,69,8,1,1,-0.375,2.69793 } ); +cells.push_back( {20800922,2748,69,8,2,1,-0.375,2.7475 } ); +cells.push_back( {20900912,2729,69,9,1,1,-0.425,2.69793 } ); +cells.push_back( {20900922,2749,69,9,2,1,-0.425,2.7475 } ); +cells.push_back( {21000912,2730,69,10,1,1,-0.475,2.69793 } ); +cells.push_back( {21000922,2750,69,10,2,1,-0.475,2.7475 } ); +cells.push_back( {21100912,2731,69,11,1,1,-0.525,2.69793 } ); +cells.push_back( {21100922,2751,69,11,2,1,-0.525,2.7475 } ); +cells.push_back( {21200912,2732,69,12,1,1,-0.575,2.69793 } ); +cells.push_back( {21200922,2752,69,12,2,1,-0.575,2.7475 } ); +cells.push_back( {21300912,2733,69,13,1,1,-0.625,2.69793 } ); +cells.push_back( {21300922,2753,69,13,2,1,-0.625,2.7475 } ); +cells.push_back( {21400912,2734,69,14,1,1,-0.675,2.69793 } ); +cells.push_back( {21400922,2754,69,14,2,1,-0.675,2.7475 } ); +cells.push_back( {21500912,2735,69,15,1,1,-0.725,2.69793 } ); +cells.push_back( {21500922,2755,69,15,2,1,-0.725,2.7475 } ); +cells.push_back( {21600912,2736,69,16,1,1,-0.775,2.69793 } ); +cells.push_back( {21600922,2756,69,16,2,1,-0.775,2.7475 } ); +cells.push_back( {21700912,2737,69,17,1,1,-0.825,2.69793 } ); +cells.push_back( {21700922,2757,69,17,2,1,-0.825,2.7475 } ); +cells.push_back( {21800912,2738,69,18,1,1,-0.875,2.69793 } ); +cells.push_back( {21800922,2758,69,18,2,1,-0.875,2.7475 } ); +cells.push_back( {21900912,2739,69,19,1,1,-0.925,2.69793 } ); +cells.push_back( {21900922,2759,69,19,2,1,-0.925,2.7475 } ); +cells.push_back( {22000912,2740,69,20,1,1,-0.967,2.69793 } ); +cells.push_back( {22000922,2760,69,20,2,1,-0.967,2.7475 } ); +cells.push_back( {20101011,2761,70,1,1,2,-0.02675,2.80265 } ); +cells.push_back( {20101021,2781,70,1,2,2,-0.02675,2.85221 } ); +cells.push_back( {20201011,2762,70,2,1,2,-0.075,2.80265 } ); +cells.push_back( {20201021,2782,70,2,2,2,-0.075,2.85221 } ); +cells.push_back( {20301011,2763,70,3,1,2,-0.125,2.80265 } ); +cells.push_back( {20301021,2783,70,3,2,2,-0.125,2.85221 } ); +cells.push_back( {20401011,2764,70,4,1,2,-0.175,2.80265 } ); +cells.push_back( {20401021,2784,70,4,2,2,-0.175,2.85221 } ); +cells.push_back( {20501011,2765,70,5,1,2,-0.225,2.80265 } ); +cells.push_back( {20501021,2785,70,5,2,2,-0.225,2.85221 } ); +cells.push_back( {20601011,2766,70,6,1,2,-0.275,2.80265 } ); +cells.push_back( {20601021,2786,70,6,2,2,-0.275,2.85221 } ); +cells.push_back( {20701011,2767,70,7,1,2,-0.325,2.80265 } ); +cells.push_back( {20701021,2787,70,7,2,2,-0.325,2.85221 } ); +cells.push_back( {20801011,2768,70,8,1,2,-0.375,2.80265 } ); +cells.push_back( {20801021,2788,70,8,2,2,-0.375,2.85221 } ); +cells.push_back( {20901011,2769,70,9,1,2,-0.425,2.80265 } ); +cells.push_back( {20901021,2789,70,9,2,2,-0.425,2.85221 } ); +cells.push_back( {21001011,2770,70,10,1,2,-0.475,2.80265 } ); +cells.push_back( {21001021,2790,70,10,2,2,-0.475,2.85221 } ); +cells.push_back( {21101011,2771,70,11,1,2,-0.525,2.80265 } ); +cells.push_back( {21101021,2791,70,11,2,2,-0.525,2.85221 } ); +cells.push_back( {21201011,2772,70,12,1,2,-0.575,2.80265 } ); +cells.push_back( {21201021,2792,70,12,2,2,-0.575,2.85221 } ); +cells.push_back( {21301011,2773,70,13,1,2,-0.625,2.80265 } ); +cells.push_back( {21301021,2793,70,13,2,2,-0.625,2.85221 } ); +cells.push_back( {21401011,2774,70,14,1,2,-0.675,2.80265 } ); +cells.push_back( {21401021,2794,70,14,2,2,-0.675,2.85221 } ); +cells.push_back( {21501011,2775,70,15,1,2,-0.725,2.80265 } ); +cells.push_back( {21501021,2795,70,15,2,2,-0.725,2.85221 } ); +cells.push_back( {21601011,2776,70,16,1,2,-0.775,2.80265 } ); +cells.push_back( {21601021,2796,70,16,2,2,-0.775,2.85221 } ); +cells.push_back( {21701011,2777,70,17,1,2,-0.825,2.80265 } ); +cells.push_back( {21701021,2797,70,17,2,2,-0.825,2.85221 } ); +cells.push_back( {21801011,2778,70,18,1,2,-0.875,2.80265 } ); +cells.push_back( {21801021,2798,70,18,2,2,-0.875,2.85221 } ); +cells.push_back( {21901011,2779,70,19,1,2,-0.925,2.80265 } ); +cells.push_back( {21901021,2799,70,19,2,2,-0.925,2.85221 } ); +cells.push_back( {22001011,2780,70,20,1,2,-0.967,2.80265 } ); +cells.push_back( {22001021,2800,70,20,2,2,-0.967,2.85221 } ); +cells.push_back( {20101012,2761,70,1,1,1,-0.02675,2.80265 } ); +cells.push_back( {20101022,2781,70,1,2,1,-0.02675,2.85221 } ); +cells.push_back( {20201012,2762,70,2,1,1,-0.075,2.80265 } ); +cells.push_back( {20201022,2782,70,2,2,1,-0.075,2.85221 } ); +cells.push_back( {20301012,2763,70,3,1,1,-0.125,2.80265 } ); +cells.push_back( {20301022,2783,70,3,2,1,-0.125,2.85221 } ); +cells.push_back( {20401012,2764,70,4,1,1,-0.175,2.80265 } ); +cells.push_back( {20401022,2784,70,4,2,1,-0.175,2.85221 } ); +cells.push_back( {20501012,2765,70,5,1,1,-0.225,2.80265 } ); +cells.push_back( {20501022,2785,70,5,2,1,-0.225,2.85221 } ); +cells.push_back( {20601012,2766,70,6,1,1,-0.275,2.80265 } ); +cells.push_back( {20601022,2786,70,6,2,1,-0.275,2.85221 } ); +cells.push_back( {20701012,2767,70,7,1,1,-0.325,2.80265 } ); +cells.push_back( {20701022,2787,70,7,2,1,-0.325,2.85221 } ); +cells.push_back( {20801012,2768,70,8,1,1,-0.375,2.80265 } ); +cells.push_back( {20801022,2788,70,8,2,1,-0.375,2.85221 } ); +cells.push_back( {20901012,2769,70,9,1,1,-0.425,2.80265 } ); +cells.push_back( {20901022,2789,70,9,2,1,-0.425,2.85221 } ); +cells.push_back( {21001012,2770,70,10,1,1,-0.475,2.80265 } ); +cells.push_back( {21001022,2790,70,10,2,1,-0.475,2.85221 } ); +cells.push_back( {21101012,2771,70,11,1,1,-0.525,2.80265 } ); +cells.push_back( {21101022,2791,70,11,2,1,-0.525,2.85221 } ); +cells.push_back( {21201012,2772,70,12,1,1,-0.575,2.80265 } ); +cells.push_back( {21201022,2792,70,12,2,1,-0.575,2.85221 } ); +cells.push_back( {21301012,2773,70,13,1,1,-0.625,2.80265 } ); +cells.push_back( {21301022,2793,70,13,2,1,-0.625,2.85221 } ); +cells.push_back( {21401012,2774,70,14,1,1,-0.675,2.80265 } ); +cells.push_back( {21401022,2794,70,14,2,1,-0.675,2.85221 } ); +cells.push_back( {21501012,2775,70,15,1,1,-0.725,2.80265 } ); +cells.push_back( {21501022,2795,70,15,2,1,-0.725,2.85221 } ); +cells.push_back( {21601012,2776,70,16,1,1,-0.775,2.80265 } ); +cells.push_back( {21601022,2796,70,16,2,1,-0.775,2.85221 } ); +cells.push_back( {21701012,2777,70,17,1,1,-0.825,2.80265 } ); +cells.push_back( {21701022,2797,70,17,2,1,-0.825,2.85221 } ); +cells.push_back( {21801012,2778,70,18,1,1,-0.875,2.80265 } ); +cells.push_back( {21801022,2798,70,18,2,1,-0.875,2.85221 } ); +cells.push_back( {21901012,2779,70,19,1,1,-0.925,2.80265 } ); +cells.push_back( {21901022,2799,70,19,2,1,-0.925,2.85221 } ); +cells.push_back( {22001012,2780,70,20,1,1,-0.967,2.80265 } ); +cells.push_back( {22001022,2800,70,20,2,1,-0.967,2.85221 } ); +cells.push_back( {20101111,2801,71,1,1,2,-0.02675,2.90737 } ); +cells.push_back( {20101121,2821,71,1,2,2,-0.02675,2.95693 } ); +cells.push_back( {20201111,2802,71,2,1,2,-0.075,2.90737 } ); +cells.push_back( {20201121,2822,71,2,2,2,-0.075,2.95693 } ); +cells.push_back( {20301111,2803,71,3,1,2,-0.125,2.90737 } ); +cells.push_back( {20301121,2823,71,3,2,2,-0.125,2.95693 } ); +cells.push_back( {20401111,2804,71,4,1,2,-0.175,2.90737 } ); +cells.push_back( {20401121,2824,71,4,2,2,-0.175,2.95693 } ); +cells.push_back( {20501111,2805,71,5,1,2,-0.225,2.90737 } ); +cells.push_back( {20501121,2825,71,5,2,2,-0.225,2.95693 } ); +cells.push_back( {20601111,2806,71,6,1,2,-0.275,2.90737 } ); +cells.push_back( {20601121,2826,71,6,2,2,-0.275,2.95693 } ); +cells.push_back( {20701111,2807,71,7,1,2,-0.325,2.90737 } ); +cells.push_back( {20701121,2827,71,7,2,2,-0.325,2.95693 } ); +cells.push_back( {20801111,2808,71,8,1,2,-0.375,2.90737 } ); +cells.push_back( {20801121,2828,71,8,2,2,-0.375,2.95693 } ); +cells.push_back( {20901111,2809,71,9,1,2,-0.425,2.90737 } ); +cells.push_back( {20901121,2829,71,9,2,2,-0.425,2.95693 } ); +cells.push_back( {21001111,2810,71,10,1,2,-0.475,2.90737 } ); +cells.push_back( {21001121,2830,71,10,2,2,-0.475,2.95693 } ); +cells.push_back( {21101111,2811,71,11,1,2,-0.525,2.90737 } ); +cells.push_back( {21101121,2831,71,11,2,2,-0.525,2.95693 } ); +cells.push_back( {21201111,2812,71,12,1,2,-0.575,2.90737 } ); +cells.push_back( {21201121,2832,71,12,2,2,-0.575,2.95693 } ); +cells.push_back( {21301111,2813,71,13,1,2,-0.625,2.90737 } ); +cells.push_back( {21301121,2833,71,13,2,2,-0.625,2.95693 } ); +cells.push_back( {21401111,2814,71,14,1,2,-0.675,2.90737 } ); +cells.push_back( {21401121,2834,71,14,2,2,-0.675,2.95693 } ); +cells.push_back( {21501111,2815,71,15,1,2,-0.725,2.90737 } ); +cells.push_back( {21501121,2835,71,15,2,2,-0.725,2.95693 } ); +cells.push_back( {21601111,2816,71,16,1,2,-0.775,2.90737 } ); +cells.push_back( {21601121,2836,71,16,2,2,-0.775,2.95693 } ); +cells.push_back( {21701111,2817,71,17,1,2,-0.825,2.90737 } ); +cells.push_back( {21701121,2837,71,17,2,2,-0.825,2.95693 } ); +cells.push_back( {21801111,2818,71,18,1,2,-0.875,2.90737 } ); +cells.push_back( {21801121,2838,71,18,2,2,-0.875,2.95693 } ); +cells.push_back( {21901111,2819,71,19,1,2,-0.925,2.90737 } ); +cells.push_back( {21901121,2839,71,19,2,2,-0.925,2.95693 } ); +cells.push_back( {22001111,2820,71,20,1,2,-0.967,2.90737 } ); +cells.push_back( {22001121,2840,71,20,2,2,-0.967,2.95693 } ); +cells.push_back( {20101112,2801,71,1,1,1,-0.02675,2.90737 } ); +cells.push_back( {20101122,2821,71,1,2,1,-0.02675,2.95693 } ); +cells.push_back( {20201112,2802,71,2,1,1,-0.075,2.90737 } ); +cells.push_back( {20201122,2822,71,2,2,1,-0.075,2.95693 } ); +cells.push_back( {20301112,2803,71,3,1,1,-0.125,2.90737 } ); +cells.push_back( {20301122,2823,71,3,2,1,-0.125,2.95693 } ); +cells.push_back( {20401112,2804,71,4,1,1,-0.175,2.90737 } ); +cells.push_back( {20401122,2824,71,4,2,1,-0.175,2.95693 } ); +cells.push_back( {20501112,2805,71,5,1,1,-0.225,2.90737 } ); +cells.push_back( {20501122,2825,71,5,2,1,-0.225,2.95693 } ); +cells.push_back( {20601112,2806,71,6,1,1,-0.275,2.90737 } ); +cells.push_back( {20601122,2826,71,6,2,1,-0.275,2.95693 } ); +cells.push_back( {20701112,2807,71,7,1,1,-0.325,2.90737 } ); +cells.push_back( {20701122,2827,71,7,2,1,-0.325,2.95693 } ); +cells.push_back( {20801112,2808,71,8,1,1,-0.375,2.90737 } ); +cells.push_back( {20801122,2828,71,8,2,1,-0.375,2.95693 } ); +cells.push_back( {20901112,2809,71,9,1,1,-0.425,2.90737 } ); +cells.push_back( {20901122,2829,71,9,2,1,-0.425,2.95693 } ); +cells.push_back( {21001112,2810,71,10,1,1,-0.475,2.90737 } ); +cells.push_back( {21001122,2830,71,10,2,1,-0.475,2.95693 } ); +cells.push_back( {21101112,2811,71,11,1,1,-0.525,2.90737 } ); +cells.push_back( {21101122,2831,71,11,2,1,-0.525,2.95693 } ); +cells.push_back( {21201112,2812,71,12,1,1,-0.575,2.90737 } ); +cells.push_back( {21201122,2832,71,12,2,1,-0.575,2.95693 } ); +cells.push_back( {21301112,2813,71,13,1,1,-0.625,2.90737 } ); +cells.push_back( {21301122,2833,71,13,2,1,-0.625,2.95693 } ); +cells.push_back( {21401112,2814,71,14,1,1,-0.675,2.90737 } ); +cells.push_back( {21401122,2834,71,14,2,1,-0.675,2.95693 } ); +cells.push_back( {21501112,2815,71,15,1,1,-0.725,2.90737 } ); +cells.push_back( {21501122,2835,71,15,2,1,-0.725,2.95693 } ); +cells.push_back( {21601112,2816,71,16,1,1,-0.775,2.90737 } ); +cells.push_back( {21601122,2836,71,16,2,1,-0.775,2.95693 } ); +cells.push_back( {21701112,2817,71,17,1,1,-0.825,2.90737 } ); +cells.push_back( {21701122,2837,71,17,2,1,-0.825,2.95693 } ); +cells.push_back( {21801112,2818,71,18,1,1,-0.875,2.90737 } ); +cells.push_back( {21801122,2838,71,18,2,1,-0.875,2.95693 } ); +cells.push_back( {21901112,2819,71,19,1,1,-0.925,2.90737 } ); +cells.push_back( {21901122,2839,71,19,2,1,-0.925,2.95693 } ); +cells.push_back( {22001112,2820,71,20,1,1,-0.967,2.90737 } ); +cells.push_back( {22001122,2840,71,20,2,1,-0.967,2.95693 } ); +cells.push_back( {20101211,2841,72,1,1,2,-0.02675,3.01209 } ); +cells.push_back( {20101221,2861,72,1,2,2,-0.02675,3.06165 } ); +cells.push_back( {20201211,2842,72,2,1,2,-0.075,3.01209 } ); +cells.push_back( {20201221,2862,72,2,2,2,-0.075,3.06165 } ); +cells.push_back( {20301211,2843,72,3,1,2,-0.125,3.01209 } ); +cells.push_back( {20301221,2863,72,3,2,2,-0.125,3.06165 } ); +cells.push_back( {20401211,2844,72,4,1,2,-0.175,3.01209 } ); +cells.push_back( {20401221,2864,72,4,2,2,-0.175,3.06165 } ); +cells.push_back( {20501211,2845,72,5,1,2,-0.225,3.01209 } ); +cells.push_back( {20501221,2865,72,5,2,2,-0.225,3.06165 } ); +cells.push_back( {20601211,2846,72,6,1,2,-0.275,3.01209 } ); +cells.push_back( {20601221,2866,72,6,2,2,-0.275,3.06165 } ); +cells.push_back( {20701211,2847,72,7,1,2,-0.325,3.01209 } ); +cells.push_back( {20701221,2867,72,7,2,2,-0.325,3.06165 } ); +cells.push_back( {20801211,2848,72,8,1,2,-0.375,3.01209 } ); +cells.push_back( {20801221,2868,72,8,2,2,-0.375,3.06165 } ); +cells.push_back( {20901211,2849,72,9,1,2,-0.425,3.01209 } ); +cells.push_back( {20901221,2869,72,9,2,2,-0.425,3.06165 } ); +cells.push_back( {21001211,2850,72,10,1,2,-0.475,3.01209 } ); +cells.push_back( {21001221,2870,72,10,2,2,-0.475,3.06165 } ); +cells.push_back( {21101211,2851,72,11,1,2,-0.525,3.01209 } ); +cells.push_back( {21101221,2871,72,11,2,2,-0.525,3.06165 } ); +cells.push_back( {21201211,2852,72,12,1,2,-0.575,3.01209 } ); +cells.push_back( {21201221,2872,72,12,2,2,-0.575,3.06165 } ); +cells.push_back( {21301211,2853,72,13,1,2,-0.625,3.01209 } ); +cells.push_back( {21301221,2873,72,13,2,2,-0.625,3.06165 } ); +cells.push_back( {21401211,2854,72,14,1,2,-0.675,3.01209 } ); +cells.push_back( {21401221,2874,72,14,2,2,-0.675,3.06165 } ); +cells.push_back( {21501211,2855,72,15,1,2,-0.725,3.01209 } ); +cells.push_back( {21501221,2875,72,15,2,2,-0.725,3.06165 } ); +cells.push_back( {21601211,2856,72,16,1,2,-0.775,3.01209 } ); +cells.push_back( {21601221,2876,72,16,2,2,-0.775,3.06165 } ); +cells.push_back( {21701211,2857,72,17,1,2,-0.825,3.01209 } ); +cells.push_back( {21701221,2877,72,17,2,2,-0.825,3.06165 } ); +cells.push_back( {21801211,2858,72,18,1,2,-0.875,3.01209 } ); +cells.push_back( {21801221,2878,72,18,2,2,-0.875,3.06165 } ); +cells.push_back( {21901211,2859,72,19,1,2,-0.925,3.01209 } ); +cells.push_back( {21901221,2879,72,19,2,2,-0.925,3.06165 } ); +cells.push_back( {22001211,2860,72,20,1,2,-0.967,3.01209 } ); +cells.push_back( {22001221,2880,72,20,2,2,-0.967,3.06165 } ); +cells.push_back( {20101212,2841,72,1,1,1,-0.02675,3.01209 } ); +cells.push_back( {20101222,2861,72,1,2,1,-0.02675,3.06165 } ); +cells.push_back( {20201212,2842,72,2,1,1,-0.075,3.01209 } ); +cells.push_back( {20201222,2862,72,2,2,1,-0.075,3.06165 } ); +cells.push_back( {20301212,2843,72,3,1,1,-0.125,3.01209 } ); +cells.push_back( {20301222,2863,72,3,2,1,-0.125,3.06165 } ); +cells.push_back( {20401212,2844,72,4,1,1,-0.175,3.01209 } ); +cells.push_back( {20401222,2864,72,4,2,1,-0.175,3.06165 } ); +cells.push_back( {20501212,2845,72,5,1,1,-0.225,3.01209 } ); +cells.push_back( {20501222,2865,72,5,2,1,-0.225,3.06165 } ); +cells.push_back( {20601212,2846,72,6,1,1,-0.275,3.01209 } ); +cells.push_back( {20601222,2866,72,6,2,1,-0.275,3.06165 } ); +cells.push_back( {20701212,2847,72,7,1,1,-0.325,3.01209 } ); +cells.push_back( {20701222,2867,72,7,2,1,-0.325,3.06165 } ); +cells.push_back( {20801212,2848,72,8,1,1,-0.375,3.01209 } ); +cells.push_back( {20801222,2868,72,8,2,1,-0.375,3.06165 } ); +cells.push_back( {20901212,2849,72,9,1,1,-0.425,3.01209 } ); +cells.push_back( {20901222,2869,72,9,2,1,-0.425,3.06165 } ); +cells.push_back( {21001212,2850,72,10,1,1,-0.475,3.01209 } ); +cells.push_back( {21001222,2870,72,10,2,1,-0.475,3.06165 } ); +cells.push_back( {21101212,2851,72,11,1,1,-0.525,3.01209 } ); +cells.push_back( {21101222,2871,72,11,2,1,-0.525,3.06165 } ); +cells.push_back( {21201212,2852,72,12,1,1,-0.575,3.01209 } ); +cells.push_back( {21201222,2872,72,12,2,1,-0.575,3.06165 } ); +cells.push_back( {21301212,2853,72,13,1,1,-0.625,3.01209 } ); +cells.push_back( {21301222,2873,72,13,2,1,-0.625,3.06165 } ); +cells.push_back( {21401212,2854,72,14,1,1,-0.675,3.01209 } ); +cells.push_back( {21401222,2874,72,14,2,1,-0.675,3.06165 } ); +cells.push_back( {21501212,2855,72,15,1,1,-0.725,3.01209 } ); +cells.push_back( {21501222,2875,72,15,2,1,-0.725,3.06165 } ); +cells.push_back( {21601212,2856,72,16,1,1,-0.775,3.01209 } ); +cells.push_back( {21601222,2876,72,16,2,1,-0.775,3.06165 } ); +cells.push_back( {21701212,2857,72,17,1,1,-0.825,3.01209 } ); +cells.push_back( {21701222,2877,72,17,2,1,-0.825,3.06165 } ); +cells.push_back( {21801212,2858,72,18,1,1,-0.875,3.01209 } ); +cells.push_back( {21801222,2878,72,18,2,1,-0.875,3.06165 } ); +cells.push_back( {21901212,2859,72,19,1,1,-0.925,3.01209 } ); +cells.push_back( {21901222,2879,72,19,2,1,-0.925,3.06165 } ); +cells.push_back( {22001212,2860,72,20,1,1,-0.967,3.01209 } ); +cells.push_back( {22001222,2880,72,20,2,1,-0.967,3.06165 } ); +cells.push_back( {20101311,2881,73,1,1,2,-0.02675,3.11681 } ); +cells.push_back( {20101321,2901,73,1,2,2,-0.02675,-3.11681 } ); +cells.push_back( {20201311,2882,73,2,1,2,-0.075,3.11681 } ); +cells.push_back( {20201321,2902,73,2,2,2,-0.075,-3.11681 } ); +cells.push_back( {20301311,2883,73,3,1,2,-0.125,3.11681 } ); +cells.push_back( {20301321,2903,73,3,2,2,-0.125,-3.11681 } ); +cells.push_back( {20401311,2884,73,4,1,2,-0.175,3.11681 } ); +cells.push_back( {20401321,2904,73,4,2,2,-0.175,-3.11681 } ); +cells.push_back( {20501311,2885,73,5,1,2,-0.225,3.11681 } ); +cells.push_back( {20501321,2905,73,5,2,2,-0.225,-3.11681 } ); +cells.push_back( {20601311,2886,73,6,1,2,-0.275,3.11681 } ); +cells.push_back( {20601321,2906,73,6,2,2,-0.275,-3.11681 } ); +cells.push_back( {20701311,2887,73,7,1,2,-0.325,3.11681 } ); +cells.push_back( {20701321,2907,73,7,2,2,-0.325,-3.11681 } ); +cells.push_back( {20801311,2888,73,8,1,2,-0.375,3.11681 } ); +cells.push_back( {20801321,2908,73,8,2,2,-0.375,-3.11681 } ); +cells.push_back( {20901311,2889,73,9,1,2,-0.425,3.11681 } ); +cells.push_back( {20901321,2909,73,9,2,2,-0.425,-3.11681 } ); +cells.push_back( {21001311,2890,73,10,1,2,-0.475,3.11681 } ); +cells.push_back( {21001321,2910,73,10,2,2,-0.475,-3.11681 } ); +cells.push_back( {21101311,2891,73,11,1,2,-0.525,3.11681 } ); +cells.push_back( {21101321,2911,73,11,2,2,-0.525,-3.11681 } ); +cells.push_back( {21201311,2892,73,12,1,2,-0.575,3.11681 } ); +cells.push_back( {21201321,2912,73,12,2,2,-0.575,-3.11681 } ); +cells.push_back( {21301311,2893,73,13,1,2,-0.625,3.11681 } ); +cells.push_back( {21301321,2913,73,13,2,2,-0.625,-3.11681 } ); +cells.push_back( {21401311,2894,73,14,1,2,-0.675,3.11681 } ); +cells.push_back( {21401321,2914,73,14,2,2,-0.675,-3.11681 } ); +cells.push_back( {21501311,2895,73,15,1,2,-0.725,3.11681 } ); +cells.push_back( {21501321,2915,73,15,2,2,-0.725,-3.11681 } ); +cells.push_back( {21601311,2896,73,16,1,2,-0.775,3.11681 } ); +cells.push_back( {21601321,2916,73,16,2,2,-0.775,-3.11681 } ); +cells.push_back( {21701311,2897,73,17,1,2,-0.825,3.11681 } ); +cells.push_back( {21701321,2917,73,17,2,2,-0.825,-3.11681 } ); +cells.push_back( {21801311,2898,73,18,1,2,-0.875,3.11681 } ); +cells.push_back( {21801321,2918,73,18,2,2,-0.875,-3.11681 } ); +cells.push_back( {21901311,2899,73,19,1,2,-0.925,3.11681 } ); +cells.push_back( {21901321,2919,73,19,2,2,-0.925,-3.11681 } ); +cells.push_back( {22001311,2900,73,20,1,2,-0.967,3.11681 } ); +cells.push_back( {22001321,2920,73,20,2,2,-0.967,-3.11681 } ); +cells.push_back( {20101312,2881,73,1,1,1,-0.02675,3.11681 } ); +cells.push_back( {20101322,2901,73,1,2,1,-0.02675,-3.11681 } ); +cells.push_back( {20201312,2882,73,2,1,1,-0.075,3.11681 } ); +cells.push_back( {20201322,2902,73,2,2,1,-0.075,-3.11681 } ); +cells.push_back( {20301312,2883,73,3,1,1,-0.125,3.11681 } ); +cells.push_back( {20301322,2903,73,3,2,1,-0.125,-3.11681 } ); +cells.push_back( {20401312,2884,73,4,1,1,-0.175,3.11681 } ); +cells.push_back( {20401322,2904,73,4,2,1,-0.175,-3.11681 } ); +cells.push_back( {20501312,2885,73,5,1,1,-0.225,3.11681 } ); +cells.push_back( {20501322,2905,73,5,2,1,-0.225,-3.11681 } ); +cells.push_back( {20601312,2886,73,6,1,1,-0.275,3.11681 } ); +cells.push_back( {20601322,2906,73,6,2,1,-0.275,-3.11681 } ); +cells.push_back( {20701312,2887,73,7,1,1,-0.325,3.11681 } ); +cells.push_back( {20701322,2907,73,7,2,1,-0.325,-3.11681 } ); +cells.push_back( {20801312,2888,73,8,1,1,-0.375,3.11681 } ); +cells.push_back( {20801322,2908,73,8,2,1,-0.375,-3.11681 } ); +cells.push_back( {20901312,2889,73,9,1,1,-0.425,3.11681 } ); +cells.push_back( {20901322,2909,73,9,2,1,-0.425,-3.11681 } ); +cells.push_back( {21001312,2890,73,10,1,1,-0.475,3.11681 } ); +cells.push_back( {21001322,2910,73,10,2,1,-0.475,-3.11681 } ); +cells.push_back( {21101312,2891,73,11,1,1,-0.525,3.11681 } ); +cells.push_back( {21101322,2911,73,11,2,1,-0.525,-3.11681 } ); +cells.push_back( {21201312,2892,73,12,1,1,-0.575,3.11681 } ); +cells.push_back( {21201322,2912,73,12,2,1,-0.575,-3.11681 } ); +cells.push_back( {21301312,2893,73,13,1,1,-0.625,3.11681 } ); +cells.push_back( {21301322,2913,73,13,2,1,-0.625,-3.11681 } ); +cells.push_back( {21401312,2894,73,14,1,1,-0.675,3.11681 } ); +cells.push_back( {21401322,2914,73,14,2,1,-0.675,-3.11681 } ); +cells.push_back( {21501312,2895,73,15,1,1,-0.725,3.11681 } ); +cells.push_back( {21501322,2915,73,15,2,1,-0.725,-3.11681 } ); +cells.push_back( {21601312,2896,73,16,1,1,-0.775,3.11681 } ); +cells.push_back( {21601322,2916,73,16,2,1,-0.775,-3.11681 } ); +cells.push_back( {21701312,2897,73,17,1,1,-0.825,3.11681 } ); +cells.push_back( {21701322,2917,73,17,2,1,-0.825,-3.11681 } ); +cells.push_back( {21801312,2898,73,18,1,1,-0.875,3.11681 } ); +cells.push_back( {21801322,2918,73,18,2,1,-0.875,-3.11681 } ); +cells.push_back( {21901312,2899,73,19,1,1,-0.925,3.11681 } ); +cells.push_back( {21901322,2919,73,19,2,1,-0.925,-3.11681 } ); +cells.push_back( {22001312,2900,73,20,1,1,-0.967,3.11681 } ); +cells.push_back( {22001322,2920,73,20,2,1,-0.967,-3.11681 } ); +cells.push_back( {20101411,2921,74,1,1,2,-0.02675,-3.06165 } ); +cells.push_back( {20101421,2941,74,1,2,2,-0.02675,-3.01209 } ); +cells.push_back( {20201411,2922,74,2,1,2,-0.075,-3.06165 } ); +cells.push_back( {20201421,2942,74,2,2,2,-0.075,-3.01209 } ); +cells.push_back( {20301411,2923,74,3,1,2,-0.125,-3.06165 } ); +cells.push_back( {20301421,2943,74,3,2,2,-0.125,-3.01209 } ); +cells.push_back( {20401411,2924,74,4,1,2,-0.175,-3.06165 } ); +cells.push_back( {20401421,2944,74,4,2,2,-0.175,-3.01209 } ); +cells.push_back( {20501411,2925,74,5,1,2,-0.225,-3.06165 } ); +cells.push_back( {20501421,2945,74,5,2,2,-0.225,-3.01209 } ); +cells.push_back( {20601411,2926,74,6,1,2,-0.275,-3.06165 } ); +cells.push_back( {20601421,2946,74,6,2,2,-0.275,-3.01209 } ); +cells.push_back( {20701411,2927,74,7,1,2,-0.325,-3.06165 } ); +cells.push_back( {20701421,2947,74,7,2,2,-0.325,-3.01209 } ); +cells.push_back( {20801411,2928,74,8,1,2,-0.375,-3.06165 } ); +cells.push_back( {20801421,2948,74,8,2,2,-0.375,-3.01209 } ); +cells.push_back( {20901411,2929,74,9,1,2,-0.425,-3.06165 } ); +cells.push_back( {20901421,2949,74,9,2,2,-0.425,-3.01209 } ); +cells.push_back( {21001411,2930,74,10,1,2,-0.475,-3.06165 } ); +cells.push_back( {21001421,2950,74,10,2,2,-0.475,-3.01209 } ); +cells.push_back( {21101411,2931,74,11,1,2,-0.525,-3.06165 } ); +cells.push_back( {21101421,2951,74,11,2,2,-0.525,-3.01209 } ); +cells.push_back( {21201411,2932,74,12,1,2,-0.575,-3.06165 } ); +cells.push_back( {21201421,2952,74,12,2,2,-0.575,-3.01209 } ); +cells.push_back( {21301411,2933,74,13,1,2,-0.625,-3.06165 } ); +cells.push_back( {21301421,2953,74,13,2,2,-0.625,-3.01209 } ); +cells.push_back( {21401411,2934,74,14,1,2,-0.675,-3.06165 } ); +cells.push_back( {21401421,2954,74,14,2,2,-0.675,-3.01209 } ); +cells.push_back( {21501411,2935,74,15,1,2,-0.725,-3.06165 } ); +cells.push_back( {21501421,2955,74,15,2,2,-0.725,-3.01209 } ); +cells.push_back( {21601411,2936,74,16,1,2,-0.775,-3.06165 } ); +cells.push_back( {21601421,2956,74,16,2,2,-0.775,-3.01209 } ); +cells.push_back( {21701411,2937,74,17,1,2,-0.825,-3.06165 } ); +cells.push_back( {21701421,2957,74,17,2,2,-0.825,-3.01209 } ); +cells.push_back( {21801411,2938,74,18,1,2,-0.875,-3.06165 } ); +cells.push_back( {21801421,2958,74,18,2,2,-0.875,-3.01209 } ); +cells.push_back( {21901411,2939,74,19,1,2,-0.925,-3.06165 } ); +cells.push_back( {21901421,2959,74,19,2,2,-0.925,-3.01209 } ); +cells.push_back( {22001411,2940,74,20,1,2,-0.967,-3.06165 } ); +cells.push_back( {22001421,2960,74,20,2,2,-0.967,-3.01209 } ); +cells.push_back( {20101412,2921,74,1,1,1,-0.02675,-3.06165 } ); +cells.push_back( {20101422,2941,74,1,2,1,-0.02675,-3.01209 } ); +cells.push_back( {20201412,2922,74,2,1,1,-0.075,-3.06165 } ); +cells.push_back( {20201422,2942,74,2,2,1,-0.075,-3.01209 } ); +cells.push_back( {20301412,2923,74,3,1,1,-0.125,-3.06165 } ); +cells.push_back( {20301422,2943,74,3,2,1,-0.125,-3.01209 } ); +cells.push_back( {20401412,2924,74,4,1,1,-0.175,-3.06165 } ); +cells.push_back( {20401422,2944,74,4,2,1,-0.175,-3.01209 } ); +cells.push_back( {20501412,2925,74,5,1,1,-0.225,-3.06165 } ); +cells.push_back( {20501422,2945,74,5,2,1,-0.225,-3.01209 } ); +cells.push_back( {20601412,2926,74,6,1,1,-0.275,-3.06165 } ); +cells.push_back( {20601422,2946,74,6,2,1,-0.275,-3.01209 } ); +cells.push_back( {20701412,2927,74,7,1,1,-0.325,-3.06165 } ); +cells.push_back( {20701422,2947,74,7,2,1,-0.325,-3.01209 } ); +cells.push_back( {20801412,2928,74,8,1,1,-0.375,-3.06165 } ); +cells.push_back( {20801422,2948,74,8,2,1,-0.375,-3.01209 } ); +cells.push_back( {20901412,2929,74,9,1,1,-0.425,-3.06165 } ); +cells.push_back( {20901422,2949,74,9,2,1,-0.425,-3.01209 } ); +cells.push_back( {21001412,2930,74,10,1,1,-0.475,-3.06165 } ); +cells.push_back( {21001422,2950,74,10,2,1,-0.475,-3.01209 } ); +cells.push_back( {21101412,2931,74,11,1,1,-0.525,-3.06165 } ); +cells.push_back( {21101422,2951,74,11,2,1,-0.525,-3.01209 } ); +cells.push_back( {21201412,2932,74,12,1,1,-0.575,-3.06165 } ); +cells.push_back( {21201422,2952,74,12,2,1,-0.575,-3.01209 } ); +cells.push_back( {21301412,2933,74,13,1,1,-0.625,-3.06165 } ); +cells.push_back( {21301422,2953,74,13,2,1,-0.625,-3.01209 } ); +cells.push_back( {21401412,2934,74,14,1,1,-0.675,-3.06165 } ); +cells.push_back( {21401422,2954,74,14,2,1,-0.675,-3.01209 } ); +cells.push_back( {21501412,2935,74,15,1,1,-0.725,-3.06165 } ); +cells.push_back( {21501422,2955,74,15,2,1,-0.725,-3.01209 } ); +cells.push_back( {21601412,2936,74,16,1,1,-0.775,-3.06165 } ); +cells.push_back( {21601422,2956,74,16,2,1,-0.775,-3.01209 } ); +cells.push_back( {21701412,2937,74,17,1,1,-0.825,-3.06165 } ); +cells.push_back( {21701422,2957,74,17,2,1,-0.825,-3.01209 } ); +cells.push_back( {21801412,2938,74,18,1,1,-0.875,-3.06165 } ); +cells.push_back( {21801422,2958,74,18,2,1,-0.875,-3.01209 } ); +cells.push_back( {21901412,2939,74,19,1,1,-0.925,-3.06165 } ); +cells.push_back( {21901422,2959,74,19,2,1,-0.925,-3.01209 } ); +cells.push_back( {22001412,2940,74,20,1,1,-0.967,-3.06165 } ); +cells.push_back( {22001422,2960,74,20,2,1,-0.967,-3.01209 } ); +cells.push_back( {20101511,2961,75,1,1,2,-0.02675,-2.95693 } ); +cells.push_back( {20101521,2981,75,1,2,2,-0.02675,-2.90737 } ); +cells.push_back( {20201511,2962,75,2,1,2,-0.075,-2.95693 } ); +cells.push_back( {20201521,2982,75,2,2,2,-0.075,-2.90737 } ); +cells.push_back( {20301511,2963,75,3,1,2,-0.125,-2.95693 } ); +cells.push_back( {20301521,2983,75,3,2,2,-0.125,-2.90737 } ); +cells.push_back( {20401511,2964,75,4,1,2,-0.175,-2.95693 } ); +cells.push_back( {20401521,2984,75,4,2,2,-0.175,-2.90737 } ); +cells.push_back( {20501511,2965,75,5,1,2,-0.225,-2.95693 } ); +cells.push_back( {20501521,2985,75,5,2,2,-0.225,-2.90737 } ); +cells.push_back( {20601511,2966,75,6,1,2,-0.275,-2.95693 } ); +cells.push_back( {20601521,2986,75,6,2,2,-0.275,-2.90737 } ); +cells.push_back( {20701511,2967,75,7,1,2,-0.325,-2.95693 } ); +cells.push_back( {20701521,2987,75,7,2,2,-0.325,-2.90737 } ); +cells.push_back( {20801511,2968,75,8,1,2,-0.375,-2.95693 } ); +cells.push_back( {20801521,2988,75,8,2,2,-0.375,-2.90737 } ); +cells.push_back( {20901511,2969,75,9,1,2,-0.425,-2.95693 } ); +cells.push_back( {20901521,2989,75,9,2,2,-0.425,-2.90737 } ); +cells.push_back( {21001511,2970,75,10,1,2,-0.475,-2.95693 } ); +cells.push_back( {21001521,2990,75,10,2,2,-0.475,-2.90737 } ); +cells.push_back( {21101511,2971,75,11,1,2,-0.525,-2.95693 } ); +cells.push_back( {21101521,2991,75,11,2,2,-0.525,-2.90737 } ); +cells.push_back( {21201511,2972,75,12,1,2,-0.575,-2.95693 } ); +cells.push_back( {21201521,2992,75,12,2,2,-0.575,-2.90737 } ); +cells.push_back( {21301511,2973,75,13,1,2,-0.625,-2.95693 } ); +cells.push_back( {21301521,2993,75,13,2,2,-0.625,-2.90737 } ); +cells.push_back( {21401511,2974,75,14,1,2,-0.675,-2.95693 } ); +cells.push_back( {21401521,2994,75,14,2,2,-0.675,-2.90737 } ); +cells.push_back( {21501511,2975,75,15,1,2,-0.725,-2.95693 } ); +cells.push_back( {21501521,2995,75,15,2,2,-0.725,-2.90737 } ); +cells.push_back( {21601511,2976,75,16,1,2,-0.775,-2.95693 } ); +cells.push_back( {21601521,2996,75,16,2,2,-0.775,-2.90737 } ); +cells.push_back( {21701511,2977,75,17,1,2,-0.825,-2.95693 } ); +cells.push_back( {21701521,2997,75,17,2,2,-0.825,-2.90737 } ); +cells.push_back( {21801511,2978,75,18,1,2,-0.875,-2.95693 } ); +cells.push_back( {21801521,2998,75,18,2,2,-0.875,-2.90737 } ); +cells.push_back( {21901511,2979,75,19,1,2,-0.925,-2.95693 } ); +cells.push_back( {21901521,2999,75,19,2,2,-0.925,-2.90737 } ); +cells.push_back( {22001511,2980,75,20,1,2,-0.967,-2.95693 } ); +cells.push_back( {22001521,3000,75,20,2,2,-0.967,-2.90737 } ); +cells.push_back( {20101512,2961,75,1,1,1,-0.02675,-2.95693 } ); +cells.push_back( {20101522,2981,75,1,2,1,-0.02675,-2.90737 } ); +cells.push_back( {20201512,2962,75,2,1,1,-0.075,-2.95693 } ); +cells.push_back( {20201522,2982,75,2,2,1,-0.075,-2.90737 } ); +cells.push_back( {20301512,2963,75,3,1,1,-0.125,-2.95693 } ); +cells.push_back( {20301522,2983,75,3,2,1,-0.125,-2.90737 } ); +cells.push_back( {20401512,2964,75,4,1,1,-0.175,-2.95693 } ); +cells.push_back( {20401522,2984,75,4,2,1,-0.175,-2.90737 } ); +cells.push_back( {20501512,2965,75,5,1,1,-0.225,-2.95693 } ); +cells.push_back( {20501522,2985,75,5,2,1,-0.225,-2.90737 } ); +cells.push_back( {20601512,2966,75,6,1,1,-0.275,-2.95693 } ); +cells.push_back( {20601522,2986,75,6,2,1,-0.275,-2.90737 } ); +cells.push_back( {20701512,2967,75,7,1,1,-0.325,-2.95693 } ); +cells.push_back( {20701522,2987,75,7,2,1,-0.325,-2.90737 } ); +cells.push_back( {20801512,2968,75,8,1,1,-0.375,-2.95693 } ); +cells.push_back( {20801522,2988,75,8,2,1,-0.375,-2.90737 } ); +cells.push_back( {20901512,2969,75,9,1,1,-0.425,-2.95693 } ); +cells.push_back( {20901522,2989,75,9,2,1,-0.425,-2.90737 } ); +cells.push_back( {21001512,2970,75,10,1,1,-0.475,-2.95693 } ); +cells.push_back( {21001522,2990,75,10,2,1,-0.475,-2.90737 } ); +cells.push_back( {21101512,2971,75,11,1,1,-0.525,-2.95693 } ); +cells.push_back( {21101522,2991,75,11,2,1,-0.525,-2.90737 } ); +cells.push_back( {21201512,2972,75,12,1,1,-0.575,-2.95693 } ); +cells.push_back( {21201522,2992,75,12,2,1,-0.575,-2.90737 } ); +cells.push_back( {21301512,2973,75,13,1,1,-0.625,-2.95693 } ); +cells.push_back( {21301522,2993,75,13,2,1,-0.625,-2.90737 } ); +cells.push_back( {21401512,2974,75,14,1,1,-0.675,-2.95693 } ); +cells.push_back( {21401522,2994,75,14,2,1,-0.675,-2.90737 } ); +cells.push_back( {21501512,2975,75,15,1,1,-0.725,-2.95693 } ); +cells.push_back( {21501522,2995,75,15,2,1,-0.725,-2.90737 } ); +cells.push_back( {21601512,2976,75,16,1,1,-0.775,-2.95693 } ); +cells.push_back( {21601522,2996,75,16,2,1,-0.775,-2.90737 } ); +cells.push_back( {21701512,2977,75,17,1,1,-0.825,-2.95693 } ); +cells.push_back( {21701522,2997,75,17,2,1,-0.825,-2.90737 } ); +cells.push_back( {21801512,2978,75,18,1,1,-0.875,-2.95693 } ); +cells.push_back( {21801522,2998,75,18,2,1,-0.875,-2.90737 } ); +cells.push_back( {21901512,2979,75,19,1,1,-0.925,-2.95693 } ); +cells.push_back( {21901522,2999,75,19,2,1,-0.925,-2.90737 } ); +cells.push_back( {22001512,2980,75,20,1,1,-0.967,-2.95693 } ); +cells.push_back( {22001522,3000,75,20,2,1,-0.967,-2.90737 } ); +cells.push_back( {20101611,3001,76,1,1,2,-0.02675,-2.85221 } ); +cells.push_back( {20101621,3021,76,1,2,2,-0.02675,-2.80265 } ); +cells.push_back( {20201611,3002,76,2,1,2,-0.075,-2.85221 } ); +cells.push_back( {20201621,3022,76,2,2,2,-0.075,-2.80265 } ); +cells.push_back( {20301611,3003,76,3,1,2,-0.125,-2.85221 } ); +cells.push_back( {20301621,3023,76,3,2,2,-0.125,-2.80265 } ); +cells.push_back( {20401611,3004,76,4,1,2,-0.175,-2.85221 } ); +cells.push_back( {20401621,3024,76,4,2,2,-0.175,-2.80265 } ); +cells.push_back( {20501611,3005,76,5,1,2,-0.225,-2.85221 } ); +cells.push_back( {20501621,3025,76,5,2,2,-0.225,-2.80265 } ); +cells.push_back( {20601611,3006,76,6,1,2,-0.275,-2.85221 } ); +cells.push_back( {20601621,3026,76,6,2,2,-0.275,-2.80265 } ); +cells.push_back( {20701611,3007,76,7,1,2,-0.325,-2.85221 } ); +cells.push_back( {20701621,3027,76,7,2,2,-0.325,-2.80265 } ); +cells.push_back( {20801611,3008,76,8,1,2,-0.375,-2.85221 } ); +cells.push_back( {20801621,3028,76,8,2,2,-0.375,-2.80265 } ); +cells.push_back( {20901611,3009,76,9,1,2,-0.425,-2.85221 } ); +cells.push_back( {20901621,3029,76,9,2,2,-0.425,-2.80265 } ); +cells.push_back( {21001611,3010,76,10,1,2,-0.475,-2.85221 } ); +cells.push_back( {21001621,3030,76,10,2,2,-0.475,-2.80265 } ); +cells.push_back( {21101611,3011,76,11,1,2,-0.525,-2.85221 } ); +cells.push_back( {21101621,3031,76,11,2,2,-0.525,-2.80265 } ); +cells.push_back( {21201611,3012,76,12,1,2,-0.575,-2.85221 } ); +cells.push_back( {21201621,3032,76,12,2,2,-0.575,-2.80265 } ); +cells.push_back( {21301611,3013,76,13,1,2,-0.625,-2.85221 } ); +cells.push_back( {21301621,3033,76,13,2,2,-0.625,-2.80265 } ); +cells.push_back( {21401611,3014,76,14,1,2,-0.675,-2.85221 } ); +cells.push_back( {21401621,3034,76,14,2,2,-0.675,-2.80265 } ); +cells.push_back( {21501611,3015,76,15,1,2,-0.725,-2.85221 } ); +cells.push_back( {21501621,3035,76,15,2,2,-0.725,-2.80265 } ); +cells.push_back( {21601611,3016,76,16,1,2,-0.775,-2.85221 } ); +cells.push_back( {21601621,3036,76,16,2,2,-0.775,-2.80265 } ); +cells.push_back( {21701611,3017,76,17,1,2,-0.825,-2.85221 } ); +cells.push_back( {21701621,3037,76,17,2,2,-0.825,-2.80265 } ); +cells.push_back( {21801611,3018,76,18,1,2,-0.875,-2.85221 } ); +cells.push_back( {21801621,3038,76,18,2,2,-0.875,-2.80265 } ); +cells.push_back( {21901611,3019,76,19,1,2,-0.925,-2.85221 } ); +cells.push_back( {21901621,3039,76,19,2,2,-0.925,-2.80265 } ); +cells.push_back( {22001611,3020,76,20,1,2,-0.967,-2.85221 } ); +cells.push_back( {22001621,3040,76,20,2,2,-0.967,-2.80265 } ); +cells.push_back( {20101612,3001,76,1,1,1,-0.02675,-2.85221 } ); +cells.push_back( {20101622,3021,76,1,2,1,-0.02675,-2.80265 } ); +cells.push_back( {20201612,3002,76,2,1,1,-0.075,-2.85221 } ); +cells.push_back( {20201622,3022,76,2,2,1,-0.075,-2.80265 } ); +cells.push_back( {20301612,3003,76,3,1,1,-0.125,-2.85221 } ); +cells.push_back( {20301622,3023,76,3,2,1,-0.125,-2.80265 } ); +cells.push_back( {20401612,3004,76,4,1,1,-0.175,-2.85221 } ); +cells.push_back( {20401622,3024,76,4,2,1,-0.175,-2.80265 } ); +cells.push_back( {20501612,3005,76,5,1,1,-0.225,-2.85221 } ); +cells.push_back( {20501622,3025,76,5,2,1,-0.225,-2.80265 } ); +cells.push_back( {20601612,3006,76,6,1,1,-0.275,-2.85221 } ); +cells.push_back( {20601622,3026,76,6,2,1,-0.275,-2.80265 } ); +cells.push_back( {20701612,3007,76,7,1,1,-0.325,-2.85221 } ); +cells.push_back( {20701622,3027,76,7,2,1,-0.325,-2.80265 } ); +cells.push_back( {20801612,3008,76,8,1,1,-0.375,-2.85221 } ); +cells.push_back( {20801622,3028,76,8,2,1,-0.375,-2.80265 } ); +cells.push_back( {20901612,3009,76,9,1,1,-0.425,-2.85221 } ); +cells.push_back( {20901622,3029,76,9,2,1,-0.425,-2.80265 } ); +cells.push_back( {21001612,3010,76,10,1,1,-0.475,-2.85221 } ); +cells.push_back( {21001622,3030,76,10,2,1,-0.475,-2.80265 } ); +cells.push_back( {21101612,3011,76,11,1,1,-0.525,-2.85221 } ); +cells.push_back( {21101622,3031,76,11,2,1,-0.525,-2.80265 } ); +cells.push_back( {21201612,3012,76,12,1,1,-0.575,-2.85221 } ); +cells.push_back( {21201622,3032,76,12,2,1,-0.575,-2.80265 } ); +cells.push_back( {21301612,3013,76,13,1,1,-0.625,-2.85221 } ); +cells.push_back( {21301622,3033,76,13,2,1,-0.625,-2.80265 } ); +cells.push_back( {21401612,3014,76,14,1,1,-0.675,-2.85221 } ); +cells.push_back( {21401622,3034,76,14,2,1,-0.675,-2.80265 } ); +cells.push_back( {21501612,3015,76,15,1,1,-0.725,-2.85221 } ); +cells.push_back( {21501622,3035,76,15,2,1,-0.725,-2.80265 } ); +cells.push_back( {21601612,3016,76,16,1,1,-0.775,-2.85221 } ); +cells.push_back( {21601622,3036,76,16,2,1,-0.775,-2.80265 } ); +cells.push_back( {21701612,3017,76,17,1,1,-0.825,-2.85221 } ); +cells.push_back( {21701622,3037,76,17,2,1,-0.825,-2.80265 } ); +cells.push_back( {21801612,3018,76,18,1,1,-0.875,-2.85221 } ); +cells.push_back( {21801622,3038,76,18,2,1,-0.875,-2.80265 } ); +cells.push_back( {21901612,3019,76,19,1,1,-0.925,-2.85221 } ); +cells.push_back( {21901622,3039,76,19,2,1,-0.925,-2.80265 } ); +cells.push_back( {22001612,3020,76,20,1,1,-0.967,-2.85221 } ); +cells.push_back( {22001622,3040,76,20,2,1,-0.967,-2.80265 } ); +cells.push_back( {20101711,3041,77,1,1,2,-0.02675,-2.74749 } ); +cells.push_back( {20101721,3061,77,1,2,2,-0.02675,-2.69793 } ); +cells.push_back( {20201711,3042,77,2,1,2,-0.075,-2.74749 } ); +cells.push_back( {20201721,3062,77,2,2,2,-0.075,-2.69793 } ); +cells.push_back( {20301711,3043,77,3,1,2,-0.125,-2.74749 } ); +cells.push_back( {20301721,3063,77,3,2,2,-0.125,-2.69793 } ); +cells.push_back( {20401711,3044,77,4,1,2,-0.175,-2.74749 } ); +cells.push_back( {20401721,3064,77,4,2,2,-0.175,-2.69793 } ); +cells.push_back( {20501711,3045,77,5,1,2,-0.225,-2.74749 } ); +cells.push_back( {20501721,3065,77,5,2,2,-0.225,-2.69793 } ); +cells.push_back( {20601711,3046,77,6,1,2,-0.275,-2.74749 } ); +cells.push_back( {20601721,3066,77,6,2,2,-0.275,-2.69793 } ); +cells.push_back( {20701711,3047,77,7,1,2,-0.325,-2.74749 } ); +cells.push_back( {20701721,3067,77,7,2,2,-0.325,-2.69793 } ); +cells.push_back( {20801711,3048,77,8,1,2,-0.375,-2.74749 } ); +cells.push_back( {20801721,3068,77,8,2,2,-0.375,-2.69793 } ); +cells.push_back( {20901711,3049,77,9,1,2,-0.425,-2.74749 } ); +cells.push_back( {20901721,3069,77,9,2,2,-0.425,-2.69793 } ); +cells.push_back( {21001711,3050,77,10,1,2,-0.475,-2.74749 } ); +cells.push_back( {21001721,3070,77,10,2,2,-0.475,-2.69793 } ); +cells.push_back( {21101711,3051,77,11,1,2,-0.525,-2.74749 } ); +cells.push_back( {21101721,3071,77,11,2,2,-0.525,-2.69793 } ); +cells.push_back( {21201711,3052,77,12,1,2,-0.575,-2.74749 } ); +cells.push_back( {21201721,3072,77,12,2,2,-0.575,-2.69793 } ); +cells.push_back( {21301711,3053,77,13,1,2,-0.625,-2.74749 } ); +cells.push_back( {21301721,3073,77,13,2,2,-0.625,-2.69793 } ); +cells.push_back( {21401711,3054,77,14,1,2,-0.675,-2.74749 } ); +cells.push_back( {21401721,3074,77,14,2,2,-0.675,-2.69793 } ); +cells.push_back( {21501711,3055,77,15,1,2,-0.725,-2.74749 } ); +cells.push_back( {21501721,3075,77,15,2,2,-0.725,-2.69793 } ); +cells.push_back( {21601711,3056,77,16,1,2,-0.775,-2.74749 } ); +cells.push_back( {21601721,3076,77,16,2,2,-0.775,-2.69793 } ); +cells.push_back( {21701711,3057,77,17,1,2,-0.825,-2.74749 } ); +cells.push_back( {21701721,3077,77,17,2,2,-0.825,-2.69793 } ); +cells.push_back( {21801711,3058,77,18,1,2,-0.875,-2.74749 } ); +cells.push_back( {21801721,3078,77,18,2,2,-0.875,-2.69793 } ); +cells.push_back( {21901711,3059,77,19,1,2,-0.925,-2.74749 } ); +cells.push_back( {21901721,3079,77,19,2,2,-0.925,-2.69793 } ); +cells.push_back( {22001711,3060,77,20,1,2,-0.967,-2.74749 } ); +cells.push_back( {22001721,3080,77,20,2,2,-0.967,-2.69793 } ); +cells.push_back( {20101712,3041,77,1,1,1,-0.02675,-2.74749 } ); +cells.push_back( {20101722,3061,77,1,2,1,-0.02675,-2.69793 } ); +cells.push_back( {20201712,3042,77,2,1,1,-0.075,-2.74749 } ); +cells.push_back( {20201722,3062,77,2,2,1,-0.075,-2.69793 } ); +cells.push_back( {20301712,3043,77,3,1,1,-0.125,-2.74749 } ); +cells.push_back( {20301722,3063,77,3,2,1,-0.125,-2.69793 } ); +cells.push_back( {20401712,3044,77,4,1,1,-0.175,-2.74749 } ); +cells.push_back( {20401722,3064,77,4,2,1,-0.175,-2.69793 } ); +cells.push_back( {20501712,3045,77,5,1,1,-0.225,-2.74749 } ); +cells.push_back( {20501722,3065,77,5,2,1,-0.225,-2.69793 } ); +cells.push_back( {20601712,3046,77,6,1,1,-0.275,-2.74749 } ); +cells.push_back( {20601722,3066,77,6,2,1,-0.275,-2.69793 } ); +cells.push_back( {20701712,3047,77,7,1,1,-0.325,-2.74749 } ); +cells.push_back( {20701722,3067,77,7,2,1,-0.325,-2.69793 } ); +cells.push_back( {20801712,3048,77,8,1,1,-0.375,-2.74749 } ); +cells.push_back( {20801722,3068,77,8,2,1,-0.375,-2.69793 } ); +cells.push_back( {20901712,3049,77,9,1,1,-0.425,-2.74749 } ); +cells.push_back( {20901722,3069,77,9,2,1,-0.425,-2.69793 } ); +cells.push_back( {21001712,3050,77,10,1,1,-0.475,-2.74749 } ); +cells.push_back( {21001722,3070,77,10,2,1,-0.475,-2.69793 } ); +cells.push_back( {21101712,3051,77,11,1,1,-0.525,-2.74749 } ); +cells.push_back( {21101722,3071,77,11,2,1,-0.525,-2.69793 } ); +cells.push_back( {21201712,3052,77,12,1,1,-0.575,-2.74749 } ); +cells.push_back( {21201722,3072,77,12,2,1,-0.575,-2.69793 } ); +cells.push_back( {21301712,3053,77,13,1,1,-0.625,-2.74749 } ); +cells.push_back( {21301722,3073,77,13,2,1,-0.625,-2.69793 } ); +cells.push_back( {21401712,3054,77,14,1,1,-0.675,-2.74749 } ); +cells.push_back( {21401722,3074,77,14,2,1,-0.675,-2.69793 } ); +cells.push_back( {21501712,3055,77,15,1,1,-0.725,-2.74749 } ); +cells.push_back( {21501722,3075,77,15,2,1,-0.725,-2.69793 } ); +cells.push_back( {21601712,3056,77,16,1,1,-0.775,-2.74749 } ); +cells.push_back( {21601722,3076,77,16,2,1,-0.775,-2.69793 } ); +cells.push_back( {21701712,3057,77,17,1,1,-0.825,-2.74749 } ); +cells.push_back( {21701722,3077,77,17,2,1,-0.825,-2.69793 } ); +cells.push_back( {21801712,3058,77,18,1,1,-0.875,-2.74749 } ); +cells.push_back( {21801722,3078,77,18,2,1,-0.875,-2.69793 } ); +cells.push_back( {21901712,3059,77,19,1,1,-0.925,-2.74749 } ); +cells.push_back( {21901722,3079,77,19,2,1,-0.925,-2.69793 } ); +cells.push_back( {22001712,3060,77,20,1,1,-0.967,-2.74749 } ); +cells.push_back( {22001722,3080,77,20,2,1,-0.967,-2.69793 } ); +cells.push_back( {20101811,3081,78,1,1,2,-0.02675,-2.64278 } ); +cells.push_back( {20101821,3101,78,1,2,2,-0.02675,-2.59321 } ); +cells.push_back( {20201811,3082,78,2,1,2,-0.075,-2.64278 } ); +cells.push_back( {20201821,3102,78,2,2,2,-0.075,-2.59321 } ); +cells.push_back( {20301811,3083,78,3,1,2,-0.125,-2.64278 } ); +cells.push_back( {20301821,3103,78,3,2,2,-0.125,-2.59321 } ); +cells.push_back( {20401811,3084,78,4,1,2,-0.175,-2.64278 } ); +cells.push_back( {20401821,3104,78,4,2,2,-0.175,-2.59321 } ); +cells.push_back( {20501811,3085,78,5,1,2,-0.225,-2.64278 } ); +cells.push_back( {20501821,3105,78,5,2,2,-0.225,-2.59321 } ); +cells.push_back( {20601811,3086,78,6,1,2,-0.275,-2.64278 } ); +cells.push_back( {20601821,3106,78,6,2,2,-0.275,-2.59321 } ); +cells.push_back( {20701811,3087,78,7,1,2,-0.325,-2.64278 } ); +cells.push_back( {20701821,3107,78,7,2,2,-0.325,-2.59321 } ); +cells.push_back( {20801811,3088,78,8,1,2,-0.375,-2.64278 } ); +cells.push_back( {20801821,3108,78,8,2,2,-0.375,-2.59321 } ); +cells.push_back( {20901811,3089,78,9,1,2,-0.425,-2.64278 } ); +cells.push_back( {20901821,3109,78,9,2,2,-0.425,-2.59321 } ); +cells.push_back( {21001811,3090,78,10,1,2,-0.475,-2.64278 } ); +cells.push_back( {21001821,3110,78,10,2,2,-0.475,-2.59321 } ); +cells.push_back( {21101811,3091,78,11,1,2,-0.525,-2.64278 } ); +cells.push_back( {21101821,3111,78,11,2,2,-0.525,-2.59321 } ); +cells.push_back( {21201811,3092,78,12,1,2,-0.575,-2.64278 } ); +cells.push_back( {21201821,3112,78,12,2,2,-0.575,-2.59321 } ); +cells.push_back( {21301811,3093,78,13,1,2,-0.625,-2.64278 } ); +cells.push_back( {21301821,3113,78,13,2,2,-0.625,-2.59321 } ); +cells.push_back( {21401811,3094,78,14,1,2,-0.675,-2.64278 } ); +cells.push_back( {21401821,3114,78,14,2,2,-0.675,-2.59321 } ); +cells.push_back( {21501811,3095,78,15,1,2,-0.725,-2.64278 } ); +cells.push_back( {21501821,3115,78,15,2,2,-0.725,-2.59321 } ); +cells.push_back( {21601811,3096,78,16,1,2,-0.775,-2.64278 } ); +cells.push_back( {21601821,3116,78,16,2,2,-0.775,-2.59321 } ); +cells.push_back( {21701811,3097,78,17,1,2,-0.825,-2.64278 } ); +cells.push_back( {21701821,3117,78,17,2,2,-0.825,-2.59321 } ); +cells.push_back( {21801811,3098,78,18,1,2,-0.875,-2.64278 } ); +cells.push_back( {21801821,3118,78,18,2,2,-0.875,-2.59321 } ); +cells.push_back( {21901811,3099,78,19,1,2,-0.925,-2.64278 } ); +cells.push_back( {21901821,3119,78,19,2,2,-0.925,-2.59321 } ); +cells.push_back( {22001811,3100,78,20,1,2,-0.967,-2.64278 } ); +cells.push_back( {22001821,3120,78,20,2,2,-0.967,-2.59321 } ); +cells.push_back( {20101812,3081,78,1,1,1,-0.02675,-2.64278 } ); +cells.push_back( {20101822,3101,78,1,2,1,-0.02675,-2.59321 } ); +cells.push_back( {20201812,3082,78,2,1,1,-0.075,-2.64278 } ); +cells.push_back( {20201822,3102,78,2,2,1,-0.075,-2.59321 } ); +cells.push_back( {20301812,3083,78,3,1,1,-0.125,-2.64278 } ); +cells.push_back( {20301822,3103,78,3,2,1,-0.125,-2.59321 } ); +cells.push_back( {20401812,3084,78,4,1,1,-0.175,-2.64278 } ); +cells.push_back( {20401822,3104,78,4,2,1,-0.175,-2.59321 } ); +cells.push_back( {20501812,3085,78,5,1,1,-0.225,-2.64278 } ); +cells.push_back( {20501822,3105,78,5,2,1,-0.225,-2.59321 } ); +cells.push_back( {20601812,3086,78,6,1,1,-0.275,-2.64278 } ); +cells.push_back( {20601822,3106,78,6,2,1,-0.275,-2.59321 } ); +cells.push_back( {20701812,3087,78,7,1,1,-0.325,-2.64278 } ); +cells.push_back( {20701822,3107,78,7,2,1,-0.325,-2.59321 } ); +cells.push_back( {20801812,3088,78,8,1,1,-0.375,-2.64278 } ); +cells.push_back( {20801822,3108,78,8,2,1,-0.375,-2.59321 } ); +cells.push_back( {20901812,3089,78,9,1,1,-0.425,-2.64278 } ); +cells.push_back( {20901822,3109,78,9,2,1,-0.425,-2.59321 } ); +cells.push_back( {21001812,3090,78,10,1,1,-0.475,-2.64278 } ); +cells.push_back( {21001822,3110,78,10,2,1,-0.475,-2.59321 } ); +cells.push_back( {21101812,3091,78,11,1,1,-0.525,-2.64278 } ); +cells.push_back( {21101822,3111,78,11,2,1,-0.525,-2.59321 } ); +cells.push_back( {21201812,3092,78,12,1,1,-0.575,-2.64278 } ); +cells.push_back( {21201822,3112,78,12,2,1,-0.575,-2.59321 } ); +cells.push_back( {21301812,3093,78,13,1,1,-0.625,-2.64278 } ); +cells.push_back( {21301822,3113,78,13,2,1,-0.625,-2.59321 } ); +cells.push_back( {21401812,3094,78,14,1,1,-0.675,-2.64278 } ); +cells.push_back( {21401822,3114,78,14,2,1,-0.675,-2.59321 } ); +cells.push_back( {21501812,3095,78,15,1,1,-0.725,-2.64278 } ); +cells.push_back( {21501822,3115,78,15,2,1,-0.725,-2.59321 } ); +cells.push_back( {21601812,3096,78,16,1,1,-0.775,-2.64278 } ); +cells.push_back( {21601822,3116,78,16,2,1,-0.775,-2.59321 } ); +cells.push_back( {21701812,3097,78,17,1,1,-0.825,-2.64278 } ); +cells.push_back( {21701822,3117,78,17,2,1,-0.825,-2.59321 } ); +cells.push_back( {21801812,3098,78,18,1,1,-0.875,-2.64278 } ); +cells.push_back( {21801822,3118,78,18,2,1,-0.875,-2.59321 } ); +cells.push_back( {21901812,3099,78,19,1,1,-0.925,-2.64278 } ); +cells.push_back( {21901822,3119,78,19,2,1,-0.925,-2.59321 } ); +cells.push_back( {22001812,3100,78,20,1,1,-0.967,-2.64278 } ); +cells.push_back( {22001822,3120,78,20,2,1,-0.967,-2.59321 } ); +cells.push_back( {20101911,3121,79,1,1,2,-0.02675,-2.53806 } ); +cells.push_back( {20101921,3141,79,1,2,2,-0.02675,-2.48849 } ); +cells.push_back( {20201911,3122,79,2,1,2,-0.075,-2.53806 } ); +cells.push_back( {20201921,3142,79,2,2,2,-0.075,-2.48849 } ); +cells.push_back( {20301911,3123,79,3,1,2,-0.125,-2.53806 } ); +cells.push_back( {20301921,3143,79,3,2,2,-0.125,-2.48849 } ); +cells.push_back( {20401911,3124,79,4,1,2,-0.175,-2.53806 } ); +cells.push_back( {20401921,3144,79,4,2,2,-0.175,-2.48849 } ); +cells.push_back( {20501911,3125,79,5,1,2,-0.225,-2.53806 } ); +cells.push_back( {20501921,3145,79,5,2,2,-0.225,-2.48849 } ); +cells.push_back( {20601911,3126,79,6,1,2,-0.275,-2.53806 } ); +cells.push_back( {20601921,3146,79,6,2,2,-0.275,-2.48849 } ); +cells.push_back( {20701911,3127,79,7,1,2,-0.325,-2.53806 } ); +cells.push_back( {20701921,3147,79,7,2,2,-0.325,-2.48849 } ); +cells.push_back( {20801911,3128,79,8,1,2,-0.375,-2.53806 } ); +cells.push_back( {20801921,3148,79,8,2,2,-0.375,-2.48849 } ); +cells.push_back( {20901911,3129,79,9,1,2,-0.425,-2.53806 } ); +cells.push_back( {20901921,3149,79,9,2,2,-0.425,-2.48849 } ); +cells.push_back( {21001911,3130,79,10,1,2,-0.475,-2.53806 } ); +cells.push_back( {21001921,3150,79,10,2,2,-0.475,-2.48849 } ); +cells.push_back( {21101911,3131,79,11,1,2,-0.525,-2.53806 } ); +cells.push_back( {21101921,3151,79,11,2,2,-0.525,-2.48849 } ); +cells.push_back( {21201911,3132,79,12,1,2,-0.575,-2.53806 } ); +cells.push_back( {21201921,3152,79,12,2,2,-0.575,-2.48849 } ); +cells.push_back( {21301911,3133,79,13,1,2,-0.625,-2.53806 } ); +cells.push_back( {21301921,3153,79,13,2,2,-0.625,-2.48849 } ); +cells.push_back( {21401911,3134,79,14,1,2,-0.675,-2.53806 } ); +cells.push_back( {21401921,3154,79,14,2,2,-0.675,-2.48849 } ); +cells.push_back( {21501911,3135,79,15,1,2,-0.725,-2.53806 } ); +cells.push_back( {21501921,3155,79,15,2,2,-0.725,-2.48849 } ); +cells.push_back( {21601911,3136,79,16,1,2,-0.775,-2.53806 } ); +cells.push_back( {21601921,3156,79,16,2,2,-0.775,-2.48849 } ); +cells.push_back( {21701911,3137,79,17,1,2,-0.825,-2.53806 } ); +cells.push_back( {21701921,3157,79,17,2,2,-0.825,-2.48849 } ); +cells.push_back( {21801911,3138,79,18,1,2,-0.875,-2.53806 } ); +cells.push_back( {21801921,3158,79,18,2,2,-0.875,-2.48849 } ); +cells.push_back( {21901911,3139,79,19,1,2,-0.925,-2.53806 } ); +cells.push_back( {21901921,3159,79,19,2,2,-0.925,-2.48849 } ); +cells.push_back( {22001911,3140,79,20,1,2,-0.967,-2.53806 } ); +cells.push_back( {22001921,3160,79,20,2,2,-0.967,-2.48849 } ); +cells.push_back( {20101912,3121,79,1,1,1,-0.02675,-2.53806 } ); +cells.push_back( {20101922,3141,79,1,2,1,-0.02675,-2.48849 } ); +cells.push_back( {20201912,3122,79,2,1,1,-0.075,-2.53806 } ); +cells.push_back( {20201922,3142,79,2,2,1,-0.075,-2.48849 } ); +cells.push_back( {20301912,3123,79,3,1,1,-0.125,-2.53806 } ); +cells.push_back( {20301922,3143,79,3,2,1,-0.125,-2.48849 } ); +cells.push_back( {20401912,3124,79,4,1,1,-0.175,-2.53806 } ); +cells.push_back( {20401922,3144,79,4,2,1,-0.175,-2.48849 } ); +cells.push_back( {20501912,3125,79,5,1,1,-0.225,-2.53806 } ); +cells.push_back( {20501922,3145,79,5,2,1,-0.225,-2.48849 } ); +cells.push_back( {20601912,3126,79,6,1,1,-0.275,-2.53806 } ); +cells.push_back( {20601922,3146,79,6,2,1,-0.275,-2.48849 } ); +cells.push_back( {20701912,3127,79,7,1,1,-0.325,-2.53806 } ); +cells.push_back( {20701922,3147,79,7,2,1,-0.325,-2.48849 } ); +cells.push_back( {20801912,3128,79,8,1,1,-0.375,-2.53806 } ); +cells.push_back( {20801922,3148,79,8,2,1,-0.375,-2.48849 } ); +cells.push_back( {20901912,3129,79,9,1,1,-0.425,-2.53806 } ); +cells.push_back( {20901922,3149,79,9,2,1,-0.425,-2.48849 } ); +cells.push_back( {21001912,3130,79,10,1,1,-0.475,-2.53806 } ); +cells.push_back( {21001922,3150,79,10,2,1,-0.475,-2.48849 } ); +cells.push_back( {21101912,3131,79,11,1,1,-0.525,-2.53806 } ); +cells.push_back( {21101922,3151,79,11,2,1,-0.525,-2.48849 } ); +cells.push_back( {21201912,3132,79,12,1,1,-0.575,-2.53806 } ); +cells.push_back( {21201922,3152,79,12,2,1,-0.575,-2.48849 } ); +cells.push_back( {21301912,3133,79,13,1,1,-0.625,-2.53806 } ); +cells.push_back( {21301922,3153,79,13,2,1,-0.625,-2.48849 } ); +cells.push_back( {21401912,3134,79,14,1,1,-0.675,-2.53806 } ); +cells.push_back( {21401922,3154,79,14,2,1,-0.675,-2.48849 } ); +cells.push_back( {21501912,3135,79,15,1,1,-0.725,-2.53806 } ); +cells.push_back( {21501922,3155,79,15,2,1,-0.725,-2.48849 } ); +cells.push_back( {21601912,3136,79,16,1,1,-0.775,-2.53806 } ); +cells.push_back( {21601922,3156,79,16,2,1,-0.775,-2.48849 } ); +cells.push_back( {21701912,3137,79,17,1,1,-0.825,-2.53806 } ); +cells.push_back( {21701922,3157,79,17,2,1,-0.825,-2.48849 } ); +cells.push_back( {21801912,3138,79,18,1,1,-0.875,-2.53806 } ); +cells.push_back( {21801922,3158,79,18,2,1,-0.875,-2.48849 } ); +cells.push_back( {21901912,3139,79,19,1,1,-0.925,-2.53806 } ); +cells.push_back( {21901922,3159,79,19,2,1,-0.925,-2.48849 } ); +cells.push_back( {22001912,3140,79,20,1,1,-0.967,-2.53806 } ); +cells.push_back( {22001922,3160,79,20,2,1,-0.967,-2.48849 } ); +cells.push_back( {20102011,3161,80,1,1,2,-0.02675,-2.43334 } ); +cells.push_back( {20102021,3181,80,1,2,2,-0.02675,-2.38377 } ); +cells.push_back( {20202011,3162,80,2,1,2,-0.075,-2.43334 } ); +cells.push_back( {20202021,3182,80,2,2,2,-0.075,-2.38377 } ); +cells.push_back( {20302011,3163,80,3,1,2,-0.125,-2.43334 } ); +cells.push_back( {20302021,3183,80,3,2,2,-0.125,-2.38377 } ); +cells.push_back( {20402011,3164,80,4,1,2,-0.175,-2.43334 } ); +cells.push_back( {20402021,3184,80,4,2,2,-0.175,-2.38377 } ); +cells.push_back( {20502011,3165,80,5,1,2,-0.225,-2.43334 } ); +cells.push_back( {20502021,3185,80,5,2,2,-0.225,-2.38377 } ); +cells.push_back( {20602011,3166,80,6,1,2,-0.275,-2.43334 } ); +cells.push_back( {20602021,3186,80,6,2,2,-0.275,-2.38377 } ); +cells.push_back( {20702011,3167,80,7,1,2,-0.325,-2.43334 } ); +cells.push_back( {20702021,3187,80,7,2,2,-0.325,-2.38377 } ); +cells.push_back( {20802011,3168,80,8,1,2,-0.375,-2.43334 } ); +cells.push_back( {20802021,3188,80,8,2,2,-0.375,-2.38377 } ); +cells.push_back( {20902011,3169,80,9,1,2,-0.425,-2.43334 } ); +cells.push_back( {20902021,3189,80,9,2,2,-0.425,-2.38377 } ); +cells.push_back( {21002011,3170,80,10,1,2,-0.475,-2.43334 } ); +cells.push_back( {21002021,3190,80,10,2,2,-0.475,-2.38377 } ); +cells.push_back( {21102011,3171,80,11,1,2,-0.525,-2.43334 } ); +cells.push_back( {21102021,3191,80,11,2,2,-0.525,-2.38377 } ); +cells.push_back( {21202011,3172,80,12,1,2,-0.575,-2.43334 } ); +cells.push_back( {21202021,3192,80,12,2,2,-0.575,-2.38377 } ); +cells.push_back( {21302011,3173,80,13,1,2,-0.625,-2.43334 } ); +cells.push_back( {21302021,3193,80,13,2,2,-0.625,-2.38377 } ); +cells.push_back( {21402011,3174,80,14,1,2,-0.675,-2.43334 } ); +cells.push_back( {21402021,3194,80,14,2,2,-0.675,-2.38377 } ); +cells.push_back( {21502011,3175,80,15,1,2,-0.725,-2.43334 } ); +cells.push_back( {21502021,3195,80,15,2,2,-0.725,-2.38377 } ); +cells.push_back( {21602011,3176,80,16,1,2,-0.775,-2.43334 } ); +cells.push_back( {21602021,3196,80,16,2,2,-0.775,-2.38377 } ); +cells.push_back( {21702011,3177,80,17,1,2,-0.825,-2.43334 } ); +cells.push_back( {21702021,3197,80,17,2,2,-0.825,-2.38377 } ); +cells.push_back( {21802011,3178,80,18,1,2,-0.875,-2.43334 } ); +cells.push_back( {21802021,3198,80,18,2,2,-0.875,-2.38377 } ); +cells.push_back( {21902011,3179,80,19,1,2,-0.925,-2.43334 } ); +cells.push_back( {21902021,3199,80,19,2,2,-0.925,-2.38377 } ); +cells.push_back( {22002011,3180,80,20,1,2,-0.967,-2.43334 } ); +cells.push_back( {22002021,3200,80,20,2,2,-0.967,-2.38377 } ); +cells.push_back( {20102012,3161,80,1,1,1,-0.02675,-2.43334 } ); +cells.push_back( {20102022,3181,80,1,2,1,-0.02675,-2.38377 } ); +cells.push_back( {20202012,3162,80,2,1,1,-0.075,-2.43334 } ); +cells.push_back( {20202022,3182,80,2,2,1,-0.075,-2.38377 } ); +cells.push_back( {20302012,3163,80,3,1,1,-0.125,-2.43334 } ); +cells.push_back( {20302022,3183,80,3,2,1,-0.125,-2.38377 } ); +cells.push_back( {20402012,3164,80,4,1,1,-0.175,-2.43334 } ); +cells.push_back( {20402022,3184,80,4,2,1,-0.175,-2.38377 } ); +cells.push_back( {20502012,3165,80,5,1,1,-0.225,-2.43334 } ); +cells.push_back( {20502022,3185,80,5,2,1,-0.225,-2.38377 } ); +cells.push_back( {20602012,3166,80,6,1,1,-0.275,-2.43334 } ); +cells.push_back( {20602022,3186,80,6,2,1,-0.275,-2.38377 } ); +cells.push_back( {20702012,3167,80,7,1,1,-0.325,-2.43334 } ); +cells.push_back( {20702022,3187,80,7,2,1,-0.325,-2.38377 } ); +cells.push_back( {20802012,3168,80,8,1,1,-0.375,-2.43334 } ); +cells.push_back( {20802022,3188,80,8,2,1,-0.375,-2.38377 } ); +cells.push_back( {20902012,3169,80,9,1,1,-0.425,-2.43334 } ); +cells.push_back( {20902022,3189,80,9,2,1,-0.425,-2.38377 } ); +cells.push_back( {21002012,3170,80,10,1,1,-0.475,-2.43334 } ); +cells.push_back( {21002022,3190,80,10,2,1,-0.475,-2.38377 } ); +cells.push_back( {21102012,3171,80,11,1,1,-0.525,-2.43334 } ); +cells.push_back( {21102022,3191,80,11,2,1,-0.525,-2.38377 } ); +cells.push_back( {21202012,3172,80,12,1,1,-0.575,-2.43334 } ); +cells.push_back( {21202022,3192,80,12,2,1,-0.575,-2.38377 } ); +cells.push_back( {21302012,3173,80,13,1,1,-0.625,-2.43334 } ); +cells.push_back( {21302022,3193,80,13,2,1,-0.625,-2.38377 } ); +cells.push_back( {21402012,3174,80,14,1,1,-0.675,-2.43334 } ); +cells.push_back( {21402022,3194,80,14,2,1,-0.675,-2.38377 } ); +cells.push_back( {21502012,3175,80,15,1,1,-0.725,-2.43334 } ); +cells.push_back( {21502022,3195,80,15,2,1,-0.725,-2.38377 } ); +cells.push_back( {21602012,3176,80,16,1,1,-0.775,-2.43334 } ); +cells.push_back( {21602022,3196,80,16,2,1,-0.775,-2.38377 } ); +cells.push_back( {21702012,3177,80,17,1,1,-0.825,-2.43334 } ); +cells.push_back( {21702022,3197,80,17,2,1,-0.825,-2.38377 } ); +cells.push_back( {21802012,3178,80,18,1,1,-0.875,-2.43334 } ); +cells.push_back( {21802022,3198,80,18,2,1,-0.875,-2.38377 } ); +cells.push_back( {21902012,3179,80,19,1,1,-0.925,-2.43334 } ); +cells.push_back( {21902022,3199,80,19,2,1,-0.925,-2.38377 } ); +cells.push_back( {22002012,3180,80,20,1,1,-0.967,-2.43334 } ); +cells.push_back( {22002022,3200,80,20,2,1,-0.967,-2.38377 } ); +cells.push_back( {20102111,3201,81,1,1,2,-0.02675,-2.32862 } ); +cells.push_back( {20102121,3221,81,1,2,2,-0.02675,-2.27905 } ); +cells.push_back( {20202111,3202,81,2,1,2,-0.075,-2.32862 } ); +cells.push_back( {20202121,3222,81,2,2,2,-0.075,-2.27905 } ); +cells.push_back( {20302111,3203,81,3,1,2,-0.125,-2.32862 } ); +cells.push_back( {20302121,3223,81,3,2,2,-0.125,-2.27905 } ); +cells.push_back( {20402111,3204,81,4,1,2,-0.175,-2.32862 } ); +cells.push_back( {20402121,3224,81,4,2,2,-0.175,-2.27905 } ); +cells.push_back( {20502111,3205,81,5,1,2,-0.225,-2.32862 } ); +cells.push_back( {20502121,3225,81,5,2,2,-0.225,-2.27905 } ); +cells.push_back( {20602111,3206,81,6,1,2,-0.275,-2.32862 } ); +cells.push_back( {20602121,3226,81,6,2,2,-0.275,-2.27905 } ); +cells.push_back( {20702111,3207,81,7,1,2,-0.325,-2.32862 } ); +cells.push_back( {20702121,3227,81,7,2,2,-0.325,-2.27905 } ); +cells.push_back( {20802111,3208,81,8,1,2,-0.375,-2.32862 } ); +cells.push_back( {20802121,3228,81,8,2,2,-0.375,-2.27905 } ); +cells.push_back( {20902111,3209,81,9,1,2,-0.425,-2.32862 } ); +cells.push_back( {20902121,3229,81,9,2,2,-0.425,-2.27905 } ); +cells.push_back( {21002111,3210,81,10,1,2,-0.475,-2.32862 } ); +cells.push_back( {21002121,3230,81,10,2,2,-0.475,-2.27905 } ); +cells.push_back( {21102111,3211,81,11,1,2,-0.525,-2.32862 } ); +cells.push_back( {21102121,3231,81,11,2,2,-0.525,-2.27905 } ); +cells.push_back( {21202111,3212,81,12,1,2,-0.575,-2.32862 } ); +cells.push_back( {21202121,3232,81,12,2,2,-0.575,-2.27905 } ); +cells.push_back( {21302111,3213,81,13,1,2,-0.625,-2.32862 } ); +cells.push_back( {21302121,3233,81,13,2,2,-0.625,-2.27905 } ); +cells.push_back( {21402111,3214,81,14,1,2,-0.675,-2.32862 } ); +cells.push_back( {21402121,3234,81,14,2,2,-0.675,-2.27905 } ); +cells.push_back( {21502111,3215,81,15,1,2,-0.725,-2.32862 } ); +cells.push_back( {21502121,3235,81,15,2,2,-0.725,-2.27905 } ); +cells.push_back( {21602111,3216,81,16,1,2,-0.775,-2.32862 } ); +cells.push_back( {21602121,3236,81,16,2,2,-0.775,-2.27905 } ); +cells.push_back( {21702111,3217,81,17,1,2,-0.825,-2.32862 } ); +cells.push_back( {21702121,3237,81,17,2,2,-0.825,-2.27905 } ); +cells.push_back( {21802111,3218,81,18,1,2,-0.875,-2.32862 } ); +cells.push_back( {21802121,3238,81,18,2,2,-0.875,-2.27905 } ); +cells.push_back( {21902111,3219,81,19,1,2,-0.925,-2.32862 } ); +cells.push_back( {21902121,3239,81,19,2,2,-0.925,-2.27905 } ); +cells.push_back( {22002111,3220,81,20,1,2,-0.967,-2.32862 } ); +cells.push_back( {22002121,3240,81,20,2,2,-0.967,-2.27905 } ); +cells.push_back( {20102112,3201,81,1,1,1,-0.02675,-2.32862 } ); +cells.push_back( {20102122,3221,81,1,2,1,-0.02675,-2.27905 } ); +cells.push_back( {20202112,3202,81,2,1,1,-0.075,-2.32862 } ); +cells.push_back( {20202122,3222,81,2,2,1,-0.075,-2.27905 } ); +cells.push_back( {20302112,3203,81,3,1,1,-0.125,-2.32862 } ); +cells.push_back( {20302122,3223,81,3,2,1,-0.125,-2.27905 } ); +cells.push_back( {20402112,3204,81,4,1,1,-0.175,-2.32862 } ); +cells.push_back( {20402122,3224,81,4,2,1,-0.175,-2.27905 } ); +cells.push_back( {20502112,3205,81,5,1,1,-0.225,-2.32862 } ); +cells.push_back( {20502122,3225,81,5,2,1,-0.225,-2.27905 } ); +cells.push_back( {20602112,3206,81,6,1,1,-0.275,-2.32862 } ); +cells.push_back( {20602122,3226,81,6,2,1,-0.275,-2.27905 } ); +cells.push_back( {20702112,3207,81,7,1,1,-0.325,-2.32862 } ); +cells.push_back( {20702122,3227,81,7,2,1,-0.325,-2.27905 } ); +cells.push_back( {20802112,3208,81,8,1,1,-0.375,-2.32862 } ); +cells.push_back( {20802122,3228,81,8,2,1,-0.375,-2.27905 } ); +cells.push_back( {20902112,3209,81,9,1,1,-0.425,-2.32862 } ); +cells.push_back( {20902122,3229,81,9,2,1,-0.425,-2.27905 } ); +cells.push_back( {21002112,3210,81,10,1,1,-0.475,-2.32862 } ); +cells.push_back( {21002122,3230,81,10,2,1,-0.475,-2.27905 } ); +cells.push_back( {21102112,3211,81,11,1,1,-0.525,-2.32862 } ); +cells.push_back( {21102122,3231,81,11,2,1,-0.525,-2.27905 } ); +cells.push_back( {21202112,3212,81,12,1,1,-0.575,-2.32862 } ); +cells.push_back( {21202122,3232,81,12,2,1,-0.575,-2.27905 } ); +cells.push_back( {21302112,3213,81,13,1,1,-0.625,-2.32862 } ); +cells.push_back( {21302122,3233,81,13,2,1,-0.625,-2.27905 } ); +cells.push_back( {21402112,3214,81,14,1,1,-0.675,-2.32862 } ); +cells.push_back( {21402122,3234,81,14,2,1,-0.675,-2.27905 } ); +cells.push_back( {21502112,3215,81,15,1,1,-0.725,-2.32862 } ); +cells.push_back( {21502122,3235,81,15,2,1,-0.725,-2.27905 } ); +cells.push_back( {21602112,3216,81,16,1,1,-0.775,-2.32862 } ); +cells.push_back( {21602122,3236,81,16,2,1,-0.775,-2.27905 } ); +cells.push_back( {21702112,3217,81,17,1,1,-0.825,-2.32862 } ); +cells.push_back( {21702122,3237,81,17,2,1,-0.825,-2.27905 } ); +cells.push_back( {21802112,3218,81,18,1,1,-0.875,-2.32862 } ); +cells.push_back( {21802122,3238,81,18,2,1,-0.875,-2.27905 } ); +cells.push_back( {21902112,3219,81,19,1,1,-0.925,-2.32862 } ); +cells.push_back( {21902122,3239,81,19,2,1,-0.925,-2.27905 } ); +cells.push_back( {22002112,3220,81,20,1,1,-0.967,-2.32862 } ); +cells.push_back( {22002122,3240,81,20,2,1,-0.967,-2.27905 } ); +cells.push_back( {20102211,3241,82,1,1,2,-0.02675,-2.2239 } ); +cells.push_back( {20102221,3261,82,1,2,2,-0.02675,-2.17433 } ); +cells.push_back( {20202211,3242,82,2,1,2,-0.075,-2.2239 } ); +cells.push_back( {20202221,3262,82,2,2,2,-0.075,-2.17433 } ); +cells.push_back( {20302211,3243,82,3,1,2,-0.125,-2.2239 } ); +cells.push_back( {20302221,3263,82,3,2,2,-0.125,-2.17433 } ); +cells.push_back( {20402211,3244,82,4,1,2,-0.175,-2.2239 } ); +cells.push_back( {20402221,3264,82,4,2,2,-0.175,-2.17433 } ); +cells.push_back( {20502211,3245,82,5,1,2,-0.225,-2.2239 } ); +cells.push_back( {20502221,3265,82,5,2,2,-0.225,-2.17433 } ); +cells.push_back( {20602211,3246,82,6,1,2,-0.275,-2.2239 } ); +cells.push_back( {20602221,3266,82,6,2,2,-0.275,-2.17433 } ); +cells.push_back( {20702211,3247,82,7,1,2,-0.325,-2.2239 } ); +cells.push_back( {20702221,3267,82,7,2,2,-0.325,-2.17433 } ); +cells.push_back( {20802211,3248,82,8,1,2,-0.375,-2.2239 } ); +cells.push_back( {20802221,3268,82,8,2,2,-0.375,-2.17433 } ); +cells.push_back( {20902211,3249,82,9,1,2,-0.425,-2.2239 } ); +cells.push_back( {20902221,3269,82,9,2,2,-0.425,-2.17433 } ); +cells.push_back( {21002211,3250,82,10,1,2,-0.475,-2.2239 } ); +cells.push_back( {21002221,3270,82,10,2,2,-0.475,-2.17433 } ); +cells.push_back( {21102211,3251,82,11,1,2,-0.525,-2.2239 } ); +cells.push_back( {21102221,3271,82,11,2,2,-0.525,-2.17433 } ); +cells.push_back( {21202211,3252,82,12,1,2,-0.575,-2.2239 } ); +cells.push_back( {21202221,3272,82,12,2,2,-0.575,-2.17433 } ); +cells.push_back( {21302211,3253,82,13,1,2,-0.625,-2.2239 } ); +cells.push_back( {21302221,3273,82,13,2,2,-0.625,-2.17433 } ); +cells.push_back( {21402211,3254,82,14,1,2,-0.675,-2.2239 } ); +cells.push_back( {21402221,3274,82,14,2,2,-0.675,-2.17433 } ); +cells.push_back( {21502211,3255,82,15,1,2,-0.725,-2.2239 } ); +cells.push_back( {21502221,3275,82,15,2,2,-0.725,-2.17433 } ); +cells.push_back( {21602211,3256,82,16,1,2,-0.775,-2.2239 } ); +cells.push_back( {21602221,3276,82,16,2,2,-0.775,-2.17433 } ); +cells.push_back( {21702211,3257,82,17,1,2,-0.825,-2.2239 } ); +cells.push_back( {21702221,3277,82,17,2,2,-0.825,-2.17433 } ); +cells.push_back( {21802211,3258,82,18,1,2,-0.875,-2.2239 } ); +cells.push_back( {21802221,3278,82,18,2,2,-0.875,-2.17433 } ); +cells.push_back( {21902211,3259,82,19,1,2,-0.925,-2.2239 } ); +cells.push_back( {21902221,3279,82,19,2,2,-0.925,-2.17433 } ); +cells.push_back( {22002211,3260,82,20,1,2,-0.967,-2.2239 } ); +cells.push_back( {22002221,3280,82,20,2,2,-0.967,-2.17433 } ); +cells.push_back( {20102212,3241,82,1,1,1,-0.02675,-2.2239 } ); +cells.push_back( {20102222,3261,82,1,2,1,-0.02675,-2.17433 } ); +cells.push_back( {20202212,3242,82,2,1,1,-0.075,-2.2239 } ); +cells.push_back( {20202222,3262,82,2,2,1,-0.075,-2.17433 } ); +cells.push_back( {20302212,3243,82,3,1,1,-0.125,-2.2239 } ); +cells.push_back( {20302222,3263,82,3,2,1,-0.125,-2.17433 } ); +cells.push_back( {20402212,3244,82,4,1,1,-0.175,-2.2239 } ); +cells.push_back( {20402222,3264,82,4,2,1,-0.175,-2.17433 } ); +cells.push_back( {20502212,3245,82,5,1,1,-0.225,-2.2239 } ); +cells.push_back( {20502222,3265,82,5,2,1,-0.225,-2.17433 } ); +cells.push_back( {20602212,3246,82,6,1,1,-0.275,-2.2239 } ); +cells.push_back( {20602222,3266,82,6,2,1,-0.275,-2.17433 } ); +cells.push_back( {20702212,3247,82,7,1,1,-0.325,-2.2239 } ); +cells.push_back( {20702222,3267,82,7,2,1,-0.325,-2.17433 } ); +cells.push_back( {20802212,3248,82,8,1,1,-0.375,-2.2239 } ); +cells.push_back( {20802222,3268,82,8,2,1,-0.375,-2.17433 } ); +cells.push_back( {20902212,3249,82,9,1,1,-0.425,-2.2239 } ); +cells.push_back( {20902222,3269,82,9,2,1,-0.425,-2.17433 } ); +cells.push_back( {21002212,3250,82,10,1,1,-0.475,-2.2239 } ); +cells.push_back( {21002222,3270,82,10,2,1,-0.475,-2.17433 } ); +cells.push_back( {21102212,3251,82,11,1,1,-0.525,-2.2239 } ); +cells.push_back( {21102222,3271,82,11,2,1,-0.525,-2.17433 } ); +cells.push_back( {21202212,3252,82,12,1,1,-0.575,-2.2239 } ); +cells.push_back( {21202222,3272,82,12,2,1,-0.575,-2.17433 } ); +cells.push_back( {21302212,3253,82,13,1,1,-0.625,-2.2239 } ); +cells.push_back( {21302222,3273,82,13,2,1,-0.625,-2.17433 } ); +cells.push_back( {21402212,3254,82,14,1,1,-0.675,-2.2239 } ); +cells.push_back( {21402222,3274,82,14,2,1,-0.675,-2.17433 } ); +cells.push_back( {21502212,3255,82,15,1,1,-0.725,-2.2239 } ); +cells.push_back( {21502222,3275,82,15,2,1,-0.725,-2.17433 } ); +cells.push_back( {21602212,3256,82,16,1,1,-0.775,-2.2239 } ); +cells.push_back( {21602222,3276,82,16,2,1,-0.775,-2.17433 } ); +cells.push_back( {21702212,3257,82,17,1,1,-0.825,-2.2239 } ); +cells.push_back( {21702222,3277,82,17,2,1,-0.825,-2.17433 } ); +cells.push_back( {21802212,3258,82,18,1,1,-0.875,-2.2239 } ); +cells.push_back( {21802222,3278,82,18,2,1,-0.875,-2.17433 } ); +cells.push_back( {21902212,3259,82,19,1,1,-0.925,-2.2239 } ); +cells.push_back( {21902222,3279,82,19,2,1,-0.925,-2.17433 } ); +cells.push_back( {22002212,3260,82,20,1,1,-0.967,-2.2239 } ); +cells.push_back( {22002222,3280,82,20,2,1,-0.967,-2.17433 } ); +cells.push_back( {20102311,3281,83,1,1,2,-0.02675,-2.11918 } ); +cells.push_back( {20102321,3301,83,1,2,2,-0.02675,-2.06961 } ); +cells.push_back( {20202311,3282,83,2,1,2,-0.075,-2.11918 } ); +cells.push_back( {20202321,3302,83,2,2,2,-0.075,-2.06961 } ); +cells.push_back( {20302311,3283,83,3,1,2,-0.125,-2.11918 } ); +cells.push_back( {20302321,3303,83,3,2,2,-0.125,-2.06961 } ); +cells.push_back( {20402311,3284,83,4,1,2,-0.175,-2.11918 } ); +cells.push_back( {20402321,3304,83,4,2,2,-0.175,-2.06961 } ); +cells.push_back( {20502311,3285,83,5,1,2,-0.225,-2.11918 } ); +cells.push_back( {20502321,3305,83,5,2,2,-0.225,-2.06961 } ); +cells.push_back( {20602311,3286,83,6,1,2,-0.275,-2.11918 } ); +cells.push_back( {20602321,3306,83,6,2,2,-0.275,-2.06961 } ); +cells.push_back( {20702311,3287,83,7,1,2,-0.325,-2.11918 } ); +cells.push_back( {20702321,3307,83,7,2,2,-0.325,-2.06961 } ); +cells.push_back( {20802311,3288,83,8,1,2,-0.375,-2.11918 } ); +cells.push_back( {20802321,3308,83,8,2,2,-0.375,-2.06961 } ); +cells.push_back( {20902311,3289,83,9,1,2,-0.425,-2.11918 } ); +cells.push_back( {20902321,3309,83,9,2,2,-0.425,-2.06961 } ); +cells.push_back( {21002311,3290,83,10,1,2,-0.475,-2.11918 } ); +cells.push_back( {21002321,3310,83,10,2,2,-0.475,-2.06961 } ); +cells.push_back( {21102311,3291,83,11,1,2,-0.525,-2.11918 } ); +cells.push_back( {21102321,3311,83,11,2,2,-0.525,-2.06961 } ); +cells.push_back( {21202311,3292,83,12,1,2,-0.575,-2.11918 } ); +cells.push_back( {21202321,3312,83,12,2,2,-0.575,-2.06961 } ); +cells.push_back( {21302311,3293,83,13,1,2,-0.625,-2.11918 } ); +cells.push_back( {21302321,3313,83,13,2,2,-0.625,-2.06961 } ); +cells.push_back( {21402311,3294,83,14,1,2,-0.675,-2.11918 } ); +cells.push_back( {21402321,3314,83,14,2,2,-0.675,-2.06961 } ); +cells.push_back( {21502311,3295,83,15,1,2,-0.725,-2.11918 } ); +cells.push_back( {21502321,3315,83,15,2,2,-0.725,-2.06961 } ); +cells.push_back( {21602311,3296,83,16,1,2,-0.775,-2.11918 } ); +cells.push_back( {21602321,3316,83,16,2,2,-0.775,-2.06961 } ); +cells.push_back( {21702311,3297,83,17,1,2,-0.825,-2.11918 } ); +cells.push_back( {21702321,3317,83,17,2,2,-0.825,-2.06961 } ); +cells.push_back( {21802311,3298,83,18,1,2,-0.875,-2.11918 } ); +cells.push_back( {21802321,3318,83,18,2,2,-0.875,-2.06961 } ); +cells.push_back( {21902311,3299,83,19,1,2,-0.925,-2.11918 } ); +cells.push_back( {21902321,3319,83,19,2,2,-0.925,-2.06961 } ); +cells.push_back( {22002311,3300,83,20,1,2,-0.967,-2.11918 } ); +cells.push_back( {22002321,3320,83,20,2,2,-0.967,-2.06961 } ); +cells.push_back( {20102312,3281,83,1,1,1,-0.02675,-2.11918 } ); +cells.push_back( {20102322,3301,83,1,2,1,-0.02675,-2.06961 } ); +cells.push_back( {20202312,3282,83,2,1,1,-0.075,-2.11918 } ); +cells.push_back( {20202322,3302,83,2,2,1,-0.075,-2.06961 } ); +cells.push_back( {20302312,3283,83,3,1,1,-0.125,-2.11918 } ); +cells.push_back( {20302322,3303,83,3,2,1,-0.125,-2.06961 } ); +cells.push_back( {20402312,3284,83,4,1,1,-0.175,-2.11918 } ); +cells.push_back( {20402322,3304,83,4,2,1,-0.175,-2.06961 } ); +cells.push_back( {20502312,3285,83,5,1,1,-0.225,-2.11918 } ); +cells.push_back( {20502322,3305,83,5,2,1,-0.225,-2.06961 } ); +cells.push_back( {20602312,3286,83,6,1,1,-0.275,-2.11918 } ); +cells.push_back( {20602322,3306,83,6,2,1,-0.275,-2.06961 } ); +cells.push_back( {20702312,3287,83,7,1,1,-0.325,-2.11918 } ); +cells.push_back( {20702322,3307,83,7,2,1,-0.325,-2.06961 } ); +cells.push_back( {20802312,3288,83,8,1,1,-0.375,-2.11918 } ); +cells.push_back( {20802322,3308,83,8,2,1,-0.375,-2.06961 } ); +cells.push_back( {20902312,3289,83,9,1,1,-0.425,-2.11918 } ); +cells.push_back( {20902322,3309,83,9,2,1,-0.425,-2.06961 } ); +cells.push_back( {21002312,3290,83,10,1,1,-0.475,-2.11918 } ); +cells.push_back( {21002322,3310,83,10,2,1,-0.475,-2.06961 } ); +cells.push_back( {21102312,3291,83,11,1,1,-0.525,-2.11918 } ); +cells.push_back( {21102322,3311,83,11,2,1,-0.525,-2.06961 } ); +cells.push_back( {21202312,3292,83,12,1,1,-0.575,-2.11918 } ); +cells.push_back( {21202322,3312,83,12,2,1,-0.575,-2.06961 } ); +cells.push_back( {21302312,3293,83,13,1,1,-0.625,-2.11918 } ); +cells.push_back( {21302322,3313,83,13,2,1,-0.625,-2.06961 } ); +cells.push_back( {21402312,3294,83,14,1,1,-0.675,-2.11918 } ); +cells.push_back( {21402322,3314,83,14,2,1,-0.675,-2.06961 } ); +cells.push_back( {21502312,3295,83,15,1,1,-0.725,-2.11918 } ); +cells.push_back( {21502322,3315,83,15,2,1,-0.725,-2.06961 } ); +cells.push_back( {21602312,3296,83,16,1,1,-0.775,-2.11918 } ); +cells.push_back( {21602322,3316,83,16,2,1,-0.775,-2.06961 } ); +cells.push_back( {21702312,3297,83,17,1,1,-0.825,-2.11918 } ); +cells.push_back( {21702322,3317,83,17,2,1,-0.825,-2.06961 } ); +cells.push_back( {21802312,3298,83,18,1,1,-0.875,-2.11918 } ); +cells.push_back( {21802322,3318,83,18,2,1,-0.875,-2.06961 } ); +cells.push_back( {21902312,3299,83,19,1,1,-0.925,-2.11918 } ); +cells.push_back( {21902322,3319,83,19,2,1,-0.925,-2.06961 } ); +cells.push_back( {22002312,3300,83,20,1,1,-0.967,-2.11918 } ); +cells.push_back( {22002322,3320,83,20,2,1,-0.967,-2.06961 } ); +cells.push_back( {20102411,3321,84,1,1,2,-0.02675,-2.01446 } ); +cells.push_back( {20102421,3341,84,1,2,2,-0.02675,-1.96489 } ); +cells.push_back( {20202411,3322,84,2,1,2,-0.075,-2.01446 } ); +cells.push_back( {20202421,3342,84,2,2,2,-0.075,-1.96489 } ); +cells.push_back( {20302411,3323,84,3,1,2,-0.125,-2.01446 } ); +cells.push_back( {20302421,3343,84,3,2,2,-0.125,-1.96489 } ); +cells.push_back( {20402411,3324,84,4,1,2,-0.175,-2.01446 } ); +cells.push_back( {20402421,3344,84,4,2,2,-0.175,-1.96489 } ); +cells.push_back( {20502411,3325,84,5,1,2,-0.225,-2.01446 } ); +cells.push_back( {20502421,3345,84,5,2,2,-0.225,-1.96489 } ); +cells.push_back( {20602411,3326,84,6,1,2,-0.275,-2.01446 } ); +cells.push_back( {20602421,3346,84,6,2,2,-0.275,-1.96489 } ); +cells.push_back( {20702411,3327,84,7,1,2,-0.325,-2.01446 } ); +cells.push_back( {20702421,3347,84,7,2,2,-0.325,-1.96489 } ); +cells.push_back( {20802411,3328,84,8,1,2,-0.375,-2.01446 } ); +cells.push_back( {20802421,3348,84,8,2,2,-0.375,-1.96489 } ); +cells.push_back( {20902411,3329,84,9,1,2,-0.425,-2.01446 } ); +cells.push_back( {20902421,3349,84,9,2,2,-0.425,-1.96489 } ); +cells.push_back( {21002411,3330,84,10,1,2,-0.475,-2.01446 } ); +cells.push_back( {21002421,3350,84,10,2,2,-0.475,-1.96489 } ); +cells.push_back( {21102411,3331,84,11,1,2,-0.525,-2.01446 } ); +cells.push_back( {21102421,3351,84,11,2,2,-0.525,-1.96489 } ); +cells.push_back( {21202411,3332,84,12,1,2,-0.575,-2.01446 } ); +cells.push_back( {21202421,3352,84,12,2,2,-0.575,-1.96489 } ); +cells.push_back( {21302411,3333,84,13,1,2,-0.625,-2.01446 } ); +cells.push_back( {21302421,3353,84,13,2,2,-0.625,-1.96489 } ); +cells.push_back( {21402411,3334,84,14,1,2,-0.675,-2.01446 } ); +cells.push_back( {21402421,3354,84,14,2,2,-0.675,-1.96489 } ); +cells.push_back( {21502411,3335,84,15,1,2,-0.725,-2.01446 } ); +cells.push_back( {21502421,3355,84,15,2,2,-0.725,-1.96489 } ); +cells.push_back( {21602411,3336,84,16,1,2,-0.775,-2.01446 } ); +cells.push_back( {21602421,3356,84,16,2,2,-0.775,-1.96489 } ); +cells.push_back( {21702411,3337,84,17,1,2,-0.825,-2.01446 } ); +cells.push_back( {21702421,3357,84,17,2,2,-0.825,-1.96489 } ); +cells.push_back( {21802411,3338,84,18,1,2,-0.875,-2.01446 } ); +cells.push_back( {21802421,3358,84,18,2,2,-0.875,-1.96489 } ); +cells.push_back( {21902411,3339,84,19,1,2,-0.925,-2.01446 } ); +cells.push_back( {21902421,3359,84,19,2,2,-0.925,-1.96489 } ); +cells.push_back( {22002411,3340,84,20,1,2,-0.967,-2.01446 } ); +cells.push_back( {22002421,3360,84,20,2,2,-0.967,-1.96489 } ); +cells.push_back( {20102412,3321,84,1,1,1,-0.02675,-2.01446 } ); +cells.push_back( {20102422,3341,84,1,2,1,-0.02675,-1.96489 } ); +cells.push_back( {20202412,3322,84,2,1,1,-0.075,-2.01446 } ); +cells.push_back( {20202422,3342,84,2,2,1,-0.075,-1.96489 } ); +cells.push_back( {20302412,3323,84,3,1,1,-0.125,-2.01446 } ); +cells.push_back( {20302422,3343,84,3,2,1,-0.125,-1.96489 } ); +cells.push_back( {20402412,3324,84,4,1,1,-0.175,-2.01446 } ); +cells.push_back( {20402422,3344,84,4,2,1,-0.175,-1.96489 } ); +cells.push_back( {20502412,3325,84,5,1,1,-0.225,-2.01446 } ); +cells.push_back( {20502422,3345,84,5,2,1,-0.225,-1.96489 } ); +cells.push_back( {20602412,3326,84,6,1,1,-0.275,-2.01446 } ); +cells.push_back( {20602422,3346,84,6,2,1,-0.275,-1.96489 } ); +cells.push_back( {20702412,3327,84,7,1,1,-0.325,-2.01446 } ); +cells.push_back( {20702422,3347,84,7,2,1,-0.325,-1.96489 } ); +cells.push_back( {20802412,3328,84,8,1,1,-0.375,-2.01446 } ); +cells.push_back( {20802422,3348,84,8,2,1,-0.375,-1.96489 } ); +cells.push_back( {20902412,3329,84,9,1,1,-0.425,-2.01446 } ); +cells.push_back( {20902422,3349,84,9,2,1,-0.425,-1.96489 } ); +cells.push_back( {21002412,3330,84,10,1,1,-0.475,-2.01446 } ); +cells.push_back( {21002422,3350,84,10,2,1,-0.475,-1.96489 } ); +cells.push_back( {21102412,3331,84,11,1,1,-0.525,-2.01446 } ); +cells.push_back( {21102422,3351,84,11,2,1,-0.525,-1.96489 } ); +cells.push_back( {21202412,3332,84,12,1,1,-0.575,-2.01446 } ); +cells.push_back( {21202422,3352,84,12,2,1,-0.575,-1.96489 } ); +cells.push_back( {21302412,3333,84,13,1,1,-0.625,-2.01446 } ); +cells.push_back( {21302422,3353,84,13,2,1,-0.625,-1.96489 } ); +cells.push_back( {21402412,3334,84,14,1,1,-0.675,-2.01446 } ); +cells.push_back( {21402422,3354,84,14,2,1,-0.675,-1.96489 } ); +cells.push_back( {21502412,3335,84,15,1,1,-0.725,-2.01446 } ); +cells.push_back( {21502422,3355,84,15,2,1,-0.725,-1.96489 } ); +cells.push_back( {21602412,3336,84,16,1,1,-0.775,-2.01446 } ); +cells.push_back( {21602422,3356,84,16,2,1,-0.775,-1.96489 } ); +cells.push_back( {21702412,3337,84,17,1,1,-0.825,-2.01446 } ); +cells.push_back( {21702422,3357,84,17,2,1,-0.825,-1.96489 } ); +cells.push_back( {21802412,3338,84,18,1,1,-0.875,-2.01446 } ); +cells.push_back( {21802422,3358,84,18,2,1,-0.875,-1.96489 } ); +cells.push_back( {21902412,3339,84,19,1,1,-0.925,-2.01446 } ); +cells.push_back( {21902422,3359,84,19,2,1,-0.925,-1.96489 } ); +cells.push_back( {22002412,3340,84,20,1,1,-0.967,-2.01446 } ); +cells.push_back( {22002422,3360,84,20,2,1,-0.967,-1.96489 } ); +cells.push_back( {20102511,3361,85,1,1,2,-0.02675,-1.90974 } ); +cells.push_back( {20102521,3381,85,1,2,2,-0.02675,-1.86017 } ); +cells.push_back( {20202511,3362,85,2,1,2,-0.075,-1.90974 } ); +cells.push_back( {20202521,3382,85,2,2,2,-0.075,-1.86017 } ); +cells.push_back( {20302511,3363,85,3,1,2,-0.125,-1.90974 } ); +cells.push_back( {20302521,3383,85,3,2,2,-0.125,-1.86017 } ); +cells.push_back( {20402511,3364,85,4,1,2,-0.175,-1.90974 } ); +cells.push_back( {20402521,3384,85,4,2,2,-0.175,-1.86017 } ); +cells.push_back( {20502511,3365,85,5,1,2,-0.225,-1.90974 } ); +cells.push_back( {20502521,3385,85,5,2,2,-0.225,-1.86017 } ); +cells.push_back( {20602511,3366,85,6,1,2,-0.275,-1.90974 } ); +cells.push_back( {20602521,3386,85,6,2,2,-0.275,-1.86017 } ); +cells.push_back( {20702511,3367,85,7,1,2,-0.325,-1.90974 } ); +cells.push_back( {20702521,3387,85,7,2,2,-0.325,-1.86017 } ); +cells.push_back( {20802511,3368,85,8,1,2,-0.375,-1.90974 } ); +cells.push_back( {20802521,3388,85,8,2,2,-0.375,-1.86017 } ); +cells.push_back( {20902511,3369,85,9,1,2,-0.425,-1.90974 } ); +cells.push_back( {20902521,3389,85,9,2,2,-0.425,-1.86017 } ); +cells.push_back( {21002511,3370,85,10,1,2,-0.475,-1.90974 } ); +cells.push_back( {21002521,3390,85,10,2,2,-0.475,-1.86017 } ); +cells.push_back( {21102511,3371,85,11,1,2,-0.525,-1.90974 } ); +cells.push_back( {21102521,3391,85,11,2,2,-0.525,-1.86017 } ); +cells.push_back( {21202511,3372,85,12,1,2,-0.575,-1.90974 } ); +cells.push_back( {21202521,3392,85,12,2,2,-0.575,-1.86017 } ); +cells.push_back( {21302511,3373,85,13,1,2,-0.625,-1.90974 } ); +cells.push_back( {21302521,3393,85,13,2,2,-0.625,-1.86017 } ); +cells.push_back( {21402511,3374,85,14,1,2,-0.675,-1.90974 } ); +cells.push_back( {21402521,3394,85,14,2,2,-0.675,-1.86017 } ); +cells.push_back( {21502511,3375,85,15,1,2,-0.725,-1.90974 } ); +cells.push_back( {21502521,3395,85,15,2,2,-0.725,-1.86017 } ); +cells.push_back( {21602511,3376,85,16,1,2,-0.775,-1.90974 } ); +cells.push_back( {21602521,3396,85,16,2,2,-0.775,-1.86017 } ); +cells.push_back( {21702511,3377,85,17,1,2,-0.825,-1.90974 } ); +cells.push_back( {21702521,3397,85,17,2,2,-0.825,-1.86017 } ); +cells.push_back( {21802511,3378,85,18,1,2,-0.875,-1.90974 } ); +cells.push_back( {21802521,3398,85,18,2,2,-0.875,-1.86017 } ); +cells.push_back( {21902511,3379,85,19,1,2,-0.925,-1.90974 } ); +cells.push_back( {21902521,3399,85,19,2,2,-0.925,-1.86017 } ); +cells.push_back( {22002511,3380,85,20,1,2,-0.967,-1.90974 } ); +cells.push_back( {22002521,3400,85,20,2,2,-0.967,-1.86017 } ); +cells.push_back( {20102512,3361,85,1,1,1,-0.02675,-1.90974 } ); +cells.push_back( {20102522,3381,85,1,2,1,-0.02675,-1.86017 } ); +cells.push_back( {20202512,3362,85,2,1,1,-0.075,-1.90974 } ); +cells.push_back( {20202522,3382,85,2,2,1,-0.075,-1.86017 } ); +cells.push_back( {20302512,3363,85,3,1,1,-0.125,-1.90974 } ); +cells.push_back( {20302522,3383,85,3,2,1,-0.125,-1.86017 } ); +cells.push_back( {20402512,3364,85,4,1,1,-0.175,-1.90974 } ); +cells.push_back( {20402522,3384,85,4,2,1,-0.175,-1.86017 } ); +cells.push_back( {20502512,3365,85,5,1,1,-0.225,-1.90974 } ); +cells.push_back( {20502522,3385,85,5,2,1,-0.225,-1.86017 } ); +cells.push_back( {20602512,3366,85,6,1,1,-0.275,-1.90974 } ); +cells.push_back( {20602522,3386,85,6,2,1,-0.275,-1.86017 } ); +cells.push_back( {20702512,3367,85,7,1,1,-0.325,-1.90974 } ); +cells.push_back( {20702522,3387,85,7,2,1,-0.325,-1.86017 } ); +cells.push_back( {20802512,3368,85,8,1,1,-0.375,-1.90974 } ); +cells.push_back( {20802522,3388,85,8,2,1,-0.375,-1.86017 } ); +cells.push_back( {20902512,3369,85,9,1,1,-0.425,-1.90974 } ); +cells.push_back( {20902522,3389,85,9,2,1,-0.425,-1.86017 } ); +cells.push_back( {21002512,3370,85,10,1,1,-0.475,-1.90974 } ); +cells.push_back( {21002522,3390,85,10,2,1,-0.475,-1.86017 } ); +cells.push_back( {21102512,3371,85,11,1,1,-0.525,-1.90974 } ); +cells.push_back( {21102522,3391,85,11,2,1,-0.525,-1.86017 } ); +cells.push_back( {21202512,3372,85,12,1,1,-0.575,-1.90974 } ); +cells.push_back( {21202522,3392,85,12,2,1,-0.575,-1.86017 } ); +cells.push_back( {21302512,3373,85,13,1,1,-0.625,-1.90974 } ); +cells.push_back( {21302522,3393,85,13,2,1,-0.625,-1.86017 } ); +cells.push_back( {21402512,3374,85,14,1,1,-0.675,-1.90974 } ); +cells.push_back( {21402522,3394,85,14,2,1,-0.675,-1.86017 } ); +cells.push_back( {21502512,3375,85,15,1,1,-0.725,-1.90974 } ); +cells.push_back( {21502522,3395,85,15,2,1,-0.725,-1.86017 } ); +cells.push_back( {21602512,3376,85,16,1,1,-0.775,-1.90974 } ); +cells.push_back( {21602522,3396,85,16,2,1,-0.775,-1.86017 } ); +cells.push_back( {21702512,3377,85,17,1,1,-0.825,-1.90974 } ); +cells.push_back( {21702522,3397,85,17,2,1,-0.825,-1.86017 } ); +cells.push_back( {21802512,3378,85,18,1,1,-0.875,-1.90974 } ); +cells.push_back( {21802522,3398,85,18,2,1,-0.875,-1.86017 } ); +cells.push_back( {21902512,3379,85,19,1,1,-0.925,-1.90974 } ); +cells.push_back( {21902522,3399,85,19,2,1,-0.925,-1.86017 } ); +cells.push_back( {22002512,3380,85,20,1,1,-0.967,-1.90974 } ); +cells.push_back( {22002522,3400,85,20,2,1,-0.967,-1.86017 } ); +cells.push_back( {20102611,3401,86,1,1,2,-0.02675,-1.80502 } ); +cells.push_back( {20102621,3421,86,1,2,2,-0.02675,-1.75545 } ); +cells.push_back( {20202611,3402,86,2,1,2,-0.075,-1.80502 } ); +cells.push_back( {20202621,3422,86,2,2,2,-0.075,-1.75545 } ); +cells.push_back( {20302611,3403,86,3,1,2,-0.125,-1.80502 } ); +cells.push_back( {20302621,3423,86,3,2,2,-0.125,-1.75545 } ); +cells.push_back( {20402611,3404,86,4,1,2,-0.175,-1.80502 } ); +cells.push_back( {20402621,3424,86,4,2,2,-0.175,-1.75545 } ); +cells.push_back( {20502611,3405,86,5,1,2,-0.225,-1.80502 } ); +cells.push_back( {20502621,3425,86,5,2,2,-0.225,-1.75545 } ); +cells.push_back( {20602611,3406,86,6,1,2,-0.275,-1.80502 } ); +cells.push_back( {20602621,3426,86,6,2,2,-0.275,-1.75545 } ); +cells.push_back( {20702611,3407,86,7,1,2,-0.325,-1.80502 } ); +cells.push_back( {20702621,3427,86,7,2,2,-0.325,-1.75545 } ); +cells.push_back( {20802611,3408,86,8,1,2,-0.375,-1.80502 } ); +cells.push_back( {20802621,3428,86,8,2,2,-0.375,-1.75545 } ); +cells.push_back( {20902611,3409,86,9,1,2,-0.425,-1.80502 } ); +cells.push_back( {20902621,3429,86,9,2,2,-0.425,-1.75545 } ); +cells.push_back( {21002611,3410,86,10,1,2,-0.475,-1.80502 } ); +cells.push_back( {21002621,3430,86,10,2,2,-0.475,-1.75545 } ); +cells.push_back( {21102611,3411,86,11,1,2,-0.525,-1.80502 } ); +cells.push_back( {21102621,3431,86,11,2,2,-0.525,-1.75545 } ); +cells.push_back( {21202611,3412,86,12,1,2,-0.575,-1.80502 } ); +cells.push_back( {21202621,3432,86,12,2,2,-0.575,-1.75545 } ); +cells.push_back( {21302611,3413,86,13,1,2,-0.625,-1.80502 } ); +cells.push_back( {21302621,3433,86,13,2,2,-0.625,-1.75545 } ); +cells.push_back( {21402611,3414,86,14,1,2,-0.675,-1.80502 } ); +cells.push_back( {21402621,3434,86,14,2,2,-0.675,-1.75545 } ); +cells.push_back( {21502611,3415,86,15,1,2,-0.725,-1.80502 } ); +cells.push_back( {21502621,3435,86,15,2,2,-0.725,-1.75545 } ); +cells.push_back( {21602611,3416,86,16,1,2,-0.775,-1.80502 } ); +cells.push_back( {21602621,3436,86,16,2,2,-0.775,-1.75545 } ); +cells.push_back( {21702611,3417,86,17,1,2,-0.825,-1.80502 } ); +cells.push_back( {21702621,3437,86,17,2,2,-0.825,-1.75545 } ); +cells.push_back( {21802611,3418,86,18,1,2,-0.875,-1.80502 } ); +cells.push_back( {21802621,3438,86,18,2,2,-0.875,-1.75545 } ); +cells.push_back( {21902611,3419,86,19,1,2,-0.925,-1.80502 } ); +cells.push_back( {21902621,3439,86,19,2,2,-0.925,-1.75545 } ); +cells.push_back( {22002611,3420,86,20,1,2,-0.967,-1.80502 } ); +cells.push_back( {22002621,3440,86,20,2,2,-0.967,-1.75545 } ); +cells.push_back( {20102612,3401,86,1,1,1,-0.02675,-1.80502 } ); +cells.push_back( {20102622,3421,86,1,2,1,-0.02675,-1.75545 } ); +cells.push_back( {20202612,3402,86,2,1,1,-0.075,-1.80502 } ); +cells.push_back( {20202622,3422,86,2,2,1,-0.075,-1.75545 } ); +cells.push_back( {20302612,3403,86,3,1,1,-0.125,-1.80502 } ); +cells.push_back( {20302622,3423,86,3,2,1,-0.125,-1.75545 } ); +cells.push_back( {20402612,3404,86,4,1,1,-0.175,-1.80502 } ); +cells.push_back( {20402622,3424,86,4,2,1,-0.175,-1.75545 } ); +cells.push_back( {20502612,3405,86,5,1,1,-0.225,-1.80502 } ); +cells.push_back( {20502622,3425,86,5,2,1,-0.225,-1.75545 } ); +cells.push_back( {20602612,3406,86,6,1,1,-0.275,-1.80502 } ); +cells.push_back( {20602622,3426,86,6,2,1,-0.275,-1.75545 } ); +cells.push_back( {20702612,3407,86,7,1,1,-0.325,-1.80502 } ); +cells.push_back( {20702622,3427,86,7,2,1,-0.325,-1.75545 } ); +cells.push_back( {20802612,3408,86,8,1,1,-0.375,-1.80502 } ); +cells.push_back( {20802622,3428,86,8,2,1,-0.375,-1.75545 } ); +cells.push_back( {20902612,3409,86,9,1,1,-0.425,-1.80502 } ); +cells.push_back( {20902622,3429,86,9,2,1,-0.425,-1.75545 } ); +cells.push_back( {21002612,3410,86,10,1,1,-0.475,-1.80502 } ); +cells.push_back( {21002622,3430,86,10,2,1,-0.475,-1.75545 } ); +cells.push_back( {21102612,3411,86,11,1,1,-0.525,-1.80502 } ); +cells.push_back( {21102622,3431,86,11,2,1,-0.525,-1.75545 } ); +cells.push_back( {21202612,3412,86,12,1,1,-0.575,-1.80502 } ); +cells.push_back( {21202622,3432,86,12,2,1,-0.575,-1.75545 } ); +cells.push_back( {21302612,3413,86,13,1,1,-0.625,-1.80502 } ); +cells.push_back( {21302622,3433,86,13,2,1,-0.625,-1.75545 } ); +cells.push_back( {21402612,3414,86,14,1,1,-0.675,-1.80502 } ); +cells.push_back( {21402622,3434,86,14,2,1,-0.675,-1.75545 } ); +cells.push_back( {21502612,3415,86,15,1,1,-0.725,-1.80502 } ); +cells.push_back( {21502622,3435,86,15,2,1,-0.725,-1.75545 } ); +cells.push_back( {21602612,3416,86,16,1,1,-0.775,-1.80502 } ); +cells.push_back( {21602622,3436,86,16,2,1,-0.775,-1.75545 } ); +cells.push_back( {21702612,3417,86,17,1,1,-0.825,-1.80502 } ); +cells.push_back( {21702622,3437,86,17,2,1,-0.825,-1.75545 } ); +cells.push_back( {21802612,3418,86,18,1,1,-0.875,-1.80502 } ); +cells.push_back( {21802622,3438,86,18,2,1,-0.875,-1.75545 } ); +cells.push_back( {21902612,3419,86,19,1,1,-0.925,-1.80502 } ); +cells.push_back( {21902622,3439,86,19,2,1,-0.925,-1.75545 } ); +cells.push_back( {22002612,3420,86,20,1,1,-0.967,-1.80502 } ); +cells.push_back( {22002622,3440,86,20,2,1,-0.967,-1.75545 } ); +cells.push_back( {20102711,3441,87,1,1,2,-0.02675,-1.7003 } ); +cells.push_back( {20102721,3461,87,1,2,2,-0.02675,-1.65073 } ); +cells.push_back( {20202711,3442,87,2,1,2,-0.075,-1.7003 } ); +cells.push_back( {20202721,3462,87,2,2,2,-0.075,-1.65073 } ); +cells.push_back( {20302711,3443,87,3,1,2,-0.125,-1.7003 } ); +cells.push_back( {20302721,3463,87,3,2,2,-0.125,-1.65073 } ); +cells.push_back( {20402711,3444,87,4,1,2,-0.175,-1.7003 } ); +cells.push_back( {20402721,3464,87,4,2,2,-0.175,-1.65073 } ); +cells.push_back( {20502711,3445,87,5,1,2,-0.225,-1.7003 } ); +cells.push_back( {20502721,3465,87,5,2,2,-0.225,-1.65073 } ); +cells.push_back( {20602711,3446,87,6,1,2,-0.275,-1.7003 } ); +cells.push_back( {20602721,3466,87,6,2,2,-0.275,-1.65073 } ); +cells.push_back( {20702711,3447,87,7,1,2,-0.325,-1.7003 } ); +cells.push_back( {20702721,3467,87,7,2,2,-0.325,-1.65073 } ); +cells.push_back( {20802711,3448,87,8,1,2,-0.375,-1.7003 } ); +cells.push_back( {20802721,3468,87,8,2,2,-0.375,-1.65073 } ); +cells.push_back( {20902711,3449,87,9,1,2,-0.425,-1.7003 } ); +cells.push_back( {20902721,3469,87,9,2,2,-0.425,-1.65073 } ); +cells.push_back( {21002711,3450,87,10,1,2,-0.475,-1.7003 } ); +cells.push_back( {21002721,3470,87,10,2,2,-0.475,-1.65073 } ); +cells.push_back( {21102711,3451,87,11,1,2,-0.525,-1.7003 } ); +cells.push_back( {21102721,3471,87,11,2,2,-0.525,-1.65073 } ); +cells.push_back( {21202711,3452,87,12,1,2,-0.575,-1.7003 } ); +cells.push_back( {21202721,3472,87,12,2,2,-0.575,-1.65073 } ); +cells.push_back( {21302711,3453,87,13,1,2,-0.625,-1.7003 } ); +cells.push_back( {21302721,3473,87,13,2,2,-0.625,-1.65073 } ); +cells.push_back( {21402711,3454,87,14,1,2,-0.675,-1.7003 } ); +cells.push_back( {21402721,3474,87,14,2,2,-0.675,-1.65073 } ); +cells.push_back( {21502711,3455,87,15,1,2,-0.725,-1.7003 } ); +cells.push_back( {21502721,3475,87,15,2,2,-0.725,-1.65073 } ); +cells.push_back( {21602711,3456,87,16,1,2,-0.775,-1.7003 } ); +cells.push_back( {21602721,3476,87,16,2,2,-0.775,-1.65073 } ); +cells.push_back( {21702711,3457,87,17,1,2,-0.825,-1.7003 } ); +cells.push_back( {21702721,3477,87,17,2,2,-0.825,-1.65073 } ); +cells.push_back( {21802711,3458,87,18,1,2,-0.875,-1.7003 } ); +cells.push_back( {21802721,3478,87,18,2,2,-0.875,-1.65073 } ); +cells.push_back( {21902711,3459,87,19,1,2,-0.925,-1.7003 } ); +cells.push_back( {21902721,3479,87,19,2,2,-0.925,-1.65073 } ); +cells.push_back( {22002711,3460,87,20,1,2,-0.967,-1.7003 } ); +cells.push_back( {22002721,3480,87,20,2,2,-0.967,-1.65073 } ); +cells.push_back( {20102712,3441,87,1,1,1,-0.02675,-1.7003 } ); +cells.push_back( {20102722,3461,87,1,2,1,-0.02675,-1.65073 } ); +cells.push_back( {20202712,3442,87,2,1,1,-0.075,-1.7003 } ); +cells.push_back( {20202722,3462,87,2,2,1,-0.075,-1.65073 } ); +cells.push_back( {20302712,3443,87,3,1,1,-0.125,-1.7003 } ); +cells.push_back( {20302722,3463,87,3,2,1,-0.125,-1.65073 } ); +cells.push_back( {20402712,3444,87,4,1,1,-0.175,-1.7003 } ); +cells.push_back( {20402722,3464,87,4,2,1,-0.175,-1.65073 } ); +cells.push_back( {20502712,3445,87,5,1,1,-0.225,-1.7003 } ); +cells.push_back( {20502722,3465,87,5,2,1,-0.225,-1.65073 } ); +cells.push_back( {20602712,3446,87,6,1,1,-0.275,-1.7003 } ); +cells.push_back( {20602722,3466,87,6,2,1,-0.275,-1.65073 } ); +cells.push_back( {20702712,3447,87,7,1,1,-0.325,-1.7003 } ); +cells.push_back( {20702722,3467,87,7,2,1,-0.325,-1.65073 } ); +cells.push_back( {20802712,3448,87,8,1,1,-0.375,-1.7003 } ); +cells.push_back( {20802722,3468,87,8,2,1,-0.375,-1.65073 } ); +cells.push_back( {20902712,3449,87,9,1,1,-0.425,-1.7003 } ); +cells.push_back( {20902722,3469,87,9,2,1,-0.425,-1.65073 } ); +cells.push_back( {21002712,3450,87,10,1,1,-0.475,-1.7003 } ); +cells.push_back( {21002722,3470,87,10,2,1,-0.475,-1.65073 } ); +cells.push_back( {21102712,3451,87,11,1,1,-0.525,-1.7003 } ); +cells.push_back( {21102722,3471,87,11,2,1,-0.525,-1.65073 } ); +cells.push_back( {21202712,3452,87,12,1,1,-0.575,-1.7003 } ); +cells.push_back( {21202722,3472,87,12,2,1,-0.575,-1.65073 } ); +cells.push_back( {21302712,3453,87,13,1,1,-0.625,-1.7003 } ); +cells.push_back( {21302722,3473,87,13,2,1,-0.625,-1.65073 } ); +cells.push_back( {21402712,3454,87,14,1,1,-0.675,-1.7003 } ); +cells.push_back( {21402722,3474,87,14,2,1,-0.675,-1.65073 } ); +cells.push_back( {21502712,3455,87,15,1,1,-0.725,-1.7003 } ); +cells.push_back( {21502722,3475,87,15,2,1,-0.725,-1.65073 } ); +cells.push_back( {21602712,3456,87,16,1,1,-0.775,-1.7003 } ); +cells.push_back( {21602722,3476,87,16,2,1,-0.775,-1.65073 } ); +cells.push_back( {21702712,3457,87,17,1,1,-0.825,-1.7003 } ); +cells.push_back( {21702722,3477,87,17,2,1,-0.825,-1.65073 } ); +cells.push_back( {21802712,3458,87,18,1,1,-0.875,-1.7003 } ); +cells.push_back( {21802722,3478,87,18,2,1,-0.875,-1.65073 } ); +cells.push_back( {21902712,3459,87,19,1,1,-0.925,-1.7003 } ); +cells.push_back( {21902722,3479,87,19,2,1,-0.925,-1.65073 } ); +cells.push_back( {22002712,3460,87,20,1,1,-0.967,-1.7003 } ); +cells.push_back( {22002722,3480,87,20,2,1,-0.967,-1.65073 } ); +cells.push_back( {20102811,3481,88,1,1,2,-0.02675,-1.59558 } ); +cells.push_back( {20102821,3501,88,1,2,2,-0.02675,-1.54601 } ); +cells.push_back( {20202811,3482,88,2,1,2,-0.075,-1.59558 } ); +cells.push_back( {20202821,3502,88,2,2,2,-0.075,-1.54601 } ); +cells.push_back( {20302811,3483,88,3,1,2,-0.125,-1.59558 } ); +cells.push_back( {20302821,3503,88,3,2,2,-0.125,-1.54601 } ); +cells.push_back( {20402811,3484,88,4,1,2,-0.175,-1.59558 } ); +cells.push_back( {20402821,3504,88,4,2,2,-0.175,-1.54601 } ); +cells.push_back( {20502811,3485,88,5,1,2,-0.225,-1.59558 } ); +cells.push_back( {20502821,3505,88,5,2,2,-0.225,-1.54601 } ); +cells.push_back( {20602811,3486,88,6,1,2,-0.275,-1.59558 } ); +cells.push_back( {20602821,3506,88,6,2,2,-0.275,-1.54601 } ); +cells.push_back( {20702811,3487,88,7,1,2,-0.325,-1.59558 } ); +cells.push_back( {20702821,3507,88,7,2,2,-0.325,-1.54601 } ); +cells.push_back( {20802811,3488,88,8,1,2,-0.375,-1.59558 } ); +cells.push_back( {20802821,3508,88,8,2,2,-0.375,-1.54601 } ); +cells.push_back( {20902811,3489,88,9,1,2,-0.425,-1.59558 } ); +cells.push_back( {20902821,3509,88,9,2,2,-0.425,-1.54601 } ); +cells.push_back( {21002811,3490,88,10,1,2,-0.475,-1.59558 } ); +cells.push_back( {21002821,3510,88,10,2,2,-0.475,-1.54601 } ); +cells.push_back( {21102811,3491,88,11,1,2,-0.525,-1.59558 } ); +cells.push_back( {21102821,3511,88,11,2,2,-0.525,-1.54601 } ); +cells.push_back( {21202811,3492,88,12,1,2,-0.575,-1.59558 } ); +cells.push_back( {21202821,3512,88,12,2,2,-0.575,-1.54601 } ); +cells.push_back( {21302811,3493,88,13,1,2,-0.625,-1.59558 } ); +cells.push_back( {21302821,3513,88,13,2,2,-0.625,-1.54601 } ); +cells.push_back( {21402811,3494,88,14,1,2,-0.675,-1.59558 } ); +cells.push_back( {21402821,3514,88,14,2,2,-0.675,-1.54601 } ); +cells.push_back( {21502811,3495,88,15,1,2,-0.725,-1.59558 } ); +cells.push_back( {21502821,3515,88,15,2,2,-0.725,-1.54601 } ); +cells.push_back( {21602811,3496,88,16,1,2,-0.775,-1.59558 } ); +cells.push_back( {21602821,3516,88,16,2,2,-0.775,-1.54601 } ); +cells.push_back( {21702811,3497,88,17,1,2,-0.825,-1.59558 } ); +cells.push_back( {21702821,3517,88,17,2,2,-0.825,-1.54601 } ); +cells.push_back( {21802811,3498,88,18,1,2,-0.875,-1.59558 } ); +cells.push_back( {21802821,3518,88,18,2,2,-0.875,-1.54601 } ); +cells.push_back( {21902811,3499,88,19,1,2,-0.925,-1.59558 } ); +cells.push_back( {21902821,3519,88,19,2,2,-0.925,-1.54601 } ); +cells.push_back( {22002811,3500,88,20,1,2,-0.967,-1.59558 } ); +cells.push_back( {22002821,3520,88,20,2,2,-0.967,-1.54601 } ); +cells.push_back( {20102812,3481,88,1,1,1,-0.02675,-1.59558 } ); +cells.push_back( {20102822,3501,88,1,2,1,-0.02675,-1.54601 } ); +cells.push_back( {20202812,3482,88,2,1,1,-0.075,-1.59558 } ); +cells.push_back( {20202822,3502,88,2,2,1,-0.075,-1.54601 } ); +cells.push_back( {20302812,3483,88,3,1,1,-0.125,-1.59558 } ); +cells.push_back( {20302822,3503,88,3,2,1,-0.125,-1.54601 } ); +cells.push_back( {20402812,3484,88,4,1,1,-0.175,-1.59558 } ); +cells.push_back( {20402822,3504,88,4,2,1,-0.175,-1.54601 } ); +cells.push_back( {20502812,3485,88,5,1,1,-0.225,-1.59558 } ); +cells.push_back( {20502822,3505,88,5,2,1,-0.225,-1.54601 } ); +cells.push_back( {20602812,3486,88,6,1,1,-0.275,-1.59558 } ); +cells.push_back( {20602822,3506,88,6,2,1,-0.275,-1.54601 } ); +cells.push_back( {20702812,3487,88,7,1,1,-0.325,-1.59558 } ); +cells.push_back( {20702822,3507,88,7,2,1,-0.325,-1.54601 } ); +cells.push_back( {20802812,3488,88,8,1,1,-0.375,-1.59558 } ); +cells.push_back( {20802822,3508,88,8,2,1,-0.375,-1.54601 } ); +cells.push_back( {20902812,3489,88,9,1,1,-0.425,-1.59558 } ); +cells.push_back( {20902822,3509,88,9,2,1,-0.425,-1.54601 } ); +cells.push_back( {21002812,3490,88,10,1,1,-0.475,-1.59558 } ); +cells.push_back( {21002822,3510,88,10,2,1,-0.475,-1.54601 } ); +cells.push_back( {21102812,3491,88,11,1,1,-0.525,-1.59558 } ); +cells.push_back( {21102822,3511,88,11,2,1,-0.525,-1.54601 } ); +cells.push_back( {21202812,3492,88,12,1,1,-0.575,-1.59558 } ); +cells.push_back( {21202822,3512,88,12,2,1,-0.575,-1.54601 } ); +cells.push_back( {21302812,3493,88,13,1,1,-0.625,-1.59558 } ); +cells.push_back( {21302822,3513,88,13,2,1,-0.625,-1.54601 } ); +cells.push_back( {21402812,3494,88,14,1,1,-0.675,-1.59558 } ); +cells.push_back( {21402822,3514,88,14,2,1,-0.675,-1.54601 } ); +cells.push_back( {21502812,3495,88,15,1,1,-0.725,-1.59558 } ); +cells.push_back( {21502822,3515,88,15,2,1,-0.725,-1.54601 } ); +cells.push_back( {21602812,3496,88,16,1,1,-0.775,-1.59558 } ); +cells.push_back( {21602822,3516,88,16,2,1,-0.775,-1.54601 } ); +cells.push_back( {21702812,3497,88,17,1,1,-0.825,-1.59558 } ); +cells.push_back( {21702822,3517,88,17,2,1,-0.825,-1.54601 } ); +cells.push_back( {21802812,3498,88,18,1,1,-0.875,-1.59558 } ); +cells.push_back( {21802822,3518,88,18,2,1,-0.875,-1.54601 } ); +cells.push_back( {21902812,3499,88,19,1,1,-0.925,-1.59558 } ); +cells.push_back( {21902822,3519,88,19,2,1,-0.925,-1.54601 } ); +cells.push_back( {22002812,3500,88,20,1,1,-0.967,-1.59558 } ); +cells.push_back( {22002822,3520,88,20,2,1,-0.967,-1.54601 } ); +cells.push_back( {20102911,3521,89,1,1,2,-0.02675,-1.49086 } ); +cells.push_back( {20102921,3541,89,1,2,2,-0.02675,-1.4413 } ); +cells.push_back( {20202911,3522,89,2,1,2,-0.075,-1.49086 } ); +cells.push_back( {20202921,3542,89,2,2,2,-0.075,-1.4413 } ); +cells.push_back( {20302911,3523,89,3,1,2,-0.125,-1.49086 } ); +cells.push_back( {20302921,3543,89,3,2,2,-0.125,-1.4413 } ); +cells.push_back( {20402911,3524,89,4,1,2,-0.175,-1.49086 } ); +cells.push_back( {20402921,3544,89,4,2,2,-0.175,-1.4413 } ); +cells.push_back( {20502911,3525,89,5,1,2,-0.225,-1.49086 } ); +cells.push_back( {20502921,3545,89,5,2,2,-0.225,-1.4413 } ); +cells.push_back( {20602911,3526,89,6,1,2,-0.275,-1.49086 } ); +cells.push_back( {20602921,3546,89,6,2,2,-0.275,-1.4413 } ); +cells.push_back( {20702911,3527,89,7,1,2,-0.325,-1.49086 } ); +cells.push_back( {20702921,3547,89,7,2,2,-0.325,-1.4413 } ); +cells.push_back( {20802911,3528,89,8,1,2,-0.375,-1.49086 } ); +cells.push_back( {20802921,3548,89,8,2,2,-0.375,-1.4413 } ); +cells.push_back( {20902911,3529,89,9,1,2,-0.425,-1.49086 } ); +cells.push_back( {20902921,3549,89,9,2,2,-0.425,-1.4413 } ); +cells.push_back( {21002911,3530,89,10,1,2,-0.475,-1.49086 } ); +cells.push_back( {21002921,3550,89,10,2,2,-0.475,-1.4413 } ); +cells.push_back( {21102911,3531,89,11,1,2,-0.525,-1.49086 } ); +cells.push_back( {21102921,3551,89,11,2,2,-0.525,-1.4413 } ); +cells.push_back( {21202911,3532,89,12,1,2,-0.575,-1.49086 } ); +cells.push_back( {21202921,3552,89,12,2,2,-0.575,-1.4413 } ); +cells.push_back( {21302911,3533,89,13,1,2,-0.625,-1.49086 } ); +cells.push_back( {21302921,3553,89,13,2,2,-0.625,-1.4413 } ); +cells.push_back( {21402911,3534,89,14,1,2,-0.675,-1.49086 } ); +cells.push_back( {21402921,3554,89,14,2,2,-0.675,-1.4413 } ); +cells.push_back( {21502911,3535,89,15,1,2,-0.725,-1.49086 } ); +cells.push_back( {21502921,3555,89,15,2,2,-0.725,-1.4413 } ); +cells.push_back( {21602911,3536,89,16,1,2,-0.775,-1.49086 } ); +cells.push_back( {21602921,3556,89,16,2,2,-0.775,-1.4413 } ); +cells.push_back( {21702911,3537,89,17,1,2,-0.825,-1.49086 } ); +cells.push_back( {21702921,3557,89,17,2,2,-0.825,-1.4413 } ); +cells.push_back( {21802911,3538,89,18,1,2,-0.875,-1.49086 } ); +cells.push_back( {21802921,3558,89,18,2,2,-0.875,-1.4413 } ); +cells.push_back( {21902911,3539,89,19,1,2,-0.925,-1.49086 } ); +cells.push_back( {21902921,3559,89,19,2,2,-0.925,-1.4413 } ); +cells.push_back( {22002911,3540,89,20,1,2,-0.967,-1.49086 } ); +cells.push_back( {22002921,3560,89,20,2,2,-0.967,-1.4413 } ); +cells.push_back( {20102912,3521,89,1,1,1,-0.02675,-1.49086 } ); +cells.push_back( {20102922,3541,89,1,2,1,-0.02675,-1.4413 } ); +cells.push_back( {20202912,3522,89,2,1,1,-0.075,-1.49086 } ); +cells.push_back( {20202922,3542,89,2,2,1,-0.075,-1.4413 } ); +cells.push_back( {20302912,3523,89,3,1,1,-0.125,-1.49086 } ); +cells.push_back( {20302922,3543,89,3,2,1,-0.125,-1.4413 } ); +cells.push_back( {20402912,3524,89,4,1,1,-0.175,-1.49086 } ); +cells.push_back( {20402922,3544,89,4,2,1,-0.175,-1.4413 } ); +cells.push_back( {20502912,3525,89,5,1,1,-0.225,-1.49086 } ); +cells.push_back( {20502922,3545,89,5,2,1,-0.225,-1.4413 } ); +cells.push_back( {20602912,3526,89,6,1,1,-0.275,-1.49086 } ); +cells.push_back( {20602922,3546,89,6,2,1,-0.275,-1.4413 } ); +cells.push_back( {20702912,3527,89,7,1,1,-0.325,-1.49086 } ); +cells.push_back( {20702922,3547,89,7,2,1,-0.325,-1.4413 } ); +cells.push_back( {20802912,3528,89,8,1,1,-0.375,-1.49086 } ); +cells.push_back( {20802922,3548,89,8,2,1,-0.375,-1.4413 } ); +cells.push_back( {20902912,3529,89,9,1,1,-0.425,-1.49086 } ); +cells.push_back( {20902922,3549,89,9,2,1,-0.425,-1.4413 } ); +cells.push_back( {21002912,3530,89,10,1,1,-0.475,-1.49086 } ); +cells.push_back( {21002922,3550,89,10,2,1,-0.475,-1.4413 } ); +cells.push_back( {21102912,3531,89,11,1,1,-0.525,-1.49086 } ); +cells.push_back( {21102922,3551,89,11,2,1,-0.525,-1.4413 } ); +cells.push_back( {21202912,3532,89,12,1,1,-0.575,-1.49086 } ); +cells.push_back( {21202922,3552,89,12,2,1,-0.575,-1.4413 } ); +cells.push_back( {21302912,3533,89,13,1,1,-0.625,-1.49086 } ); +cells.push_back( {21302922,3553,89,13,2,1,-0.625,-1.4413 } ); +cells.push_back( {21402912,3534,89,14,1,1,-0.675,-1.49086 } ); +cells.push_back( {21402922,3554,89,14,2,1,-0.675,-1.4413 } ); +cells.push_back( {21502912,3535,89,15,1,1,-0.725,-1.49086 } ); +cells.push_back( {21502922,3555,89,15,2,1,-0.725,-1.4413 } ); +cells.push_back( {21602912,3536,89,16,1,1,-0.775,-1.49086 } ); +cells.push_back( {21602922,3556,89,16,2,1,-0.775,-1.4413 } ); +cells.push_back( {21702912,3537,89,17,1,1,-0.825,-1.49086 } ); +cells.push_back( {21702922,3557,89,17,2,1,-0.825,-1.4413 } ); +cells.push_back( {21802912,3538,89,18,1,1,-0.875,-1.49086 } ); +cells.push_back( {21802922,3558,89,18,2,1,-0.875,-1.4413 } ); +cells.push_back( {21902912,3539,89,19,1,1,-0.925,-1.49086 } ); +cells.push_back( {21902922,3559,89,19,2,1,-0.925,-1.4413 } ); +cells.push_back( {22002912,3540,89,20,1,1,-0.967,-1.49086 } ); +cells.push_back( {22002922,3560,89,20,2,1,-0.967,-1.4413 } ); +cells.push_back( {20103011,3561,90,1,1,2,-0.02675,-1.38614 } ); +cells.push_back( {20103021,3581,90,1,2,2,-0.02675,-1.33658 } ); +cells.push_back( {20203011,3562,90,2,1,2,-0.075,-1.38614 } ); +cells.push_back( {20203021,3582,90,2,2,2,-0.075,-1.33658 } ); +cells.push_back( {20303011,3563,90,3,1,2,-0.125,-1.38614 } ); +cells.push_back( {20303021,3583,90,3,2,2,-0.125,-1.33658 } ); +cells.push_back( {20403011,3564,90,4,1,2,-0.175,-1.38614 } ); +cells.push_back( {20403021,3584,90,4,2,2,-0.175,-1.33658 } ); +cells.push_back( {20503011,3565,90,5,1,2,-0.225,-1.38614 } ); +cells.push_back( {20503021,3585,90,5,2,2,-0.225,-1.33658 } ); +cells.push_back( {20603011,3566,90,6,1,2,-0.275,-1.38614 } ); +cells.push_back( {20603021,3586,90,6,2,2,-0.275,-1.33658 } ); +cells.push_back( {20703011,3567,90,7,1,2,-0.325,-1.38614 } ); +cells.push_back( {20703021,3587,90,7,2,2,-0.325,-1.33658 } ); +cells.push_back( {20803011,3568,90,8,1,2,-0.375,-1.38614 } ); +cells.push_back( {20803021,3588,90,8,2,2,-0.375,-1.33658 } ); +cells.push_back( {20903011,3569,90,9,1,2,-0.425,-1.38614 } ); +cells.push_back( {20903021,3589,90,9,2,2,-0.425,-1.33658 } ); +cells.push_back( {21003011,3570,90,10,1,2,-0.475,-1.38614 } ); +cells.push_back( {21003021,3590,90,10,2,2,-0.475,-1.33658 } ); +cells.push_back( {21103011,3571,90,11,1,2,-0.525,-1.38614 } ); +cells.push_back( {21103021,3591,90,11,2,2,-0.525,-1.33658 } ); +cells.push_back( {21203011,3572,90,12,1,2,-0.575,-1.38614 } ); +cells.push_back( {21203021,3592,90,12,2,2,-0.575,-1.33658 } ); +cells.push_back( {21303011,3573,90,13,1,2,-0.625,-1.38614 } ); +cells.push_back( {21303021,3593,90,13,2,2,-0.625,-1.33658 } ); +cells.push_back( {21403011,3574,90,14,1,2,-0.675,-1.38614 } ); +cells.push_back( {21403021,3594,90,14,2,2,-0.675,-1.33658 } ); +cells.push_back( {21503011,3575,90,15,1,2,-0.725,-1.38614 } ); +cells.push_back( {21503021,3595,90,15,2,2,-0.725,-1.33658 } ); +cells.push_back( {21603011,3576,90,16,1,2,-0.775,-1.38614 } ); +cells.push_back( {21603021,3596,90,16,2,2,-0.775,-1.33658 } ); +cells.push_back( {21703011,3577,90,17,1,2,-0.825,-1.38614 } ); +cells.push_back( {21703021,3597,90,17,2,2,-0.825,-1.33658 } ); +cells.push_back( {21803011,3578,90,18,1,2,-0.875,-1.38614 } ); +cells.push_back( {21803021,3598,90,18,2,2,-0.875,-1.33658 } ); +cells.push_back( {21903011,3579,90,19,1,2,-0.925,-1.38614 } ); +cells.push_back( {21903021,3599,90,19,2,2,-0.925,-1.33658 } ); +cells.push_back( {22003011,3580,90,20,1,2,-0.967,-1.38614 } ); +cells.push_back( {22003021,3600,90,20,2,2,-0.967,-1.33658 } ); +cells.push_back( {20103012,3561,90,1,1,1,-0.02675,-1.38614 } ); +cells.push_back( {20103022,3581,90,1,2,1,-0.02675,-1.33658 } ); +cells.push_back( {20203012,3562,90,2,1,1,-0.075,-1.38614 } ); +cells.push_back( {20203022,3582,90,2,2,1,-0.075,-1.33658 } ); +cells.push_back( {20303012,3563,90,3,1,1,-0.125,-1.38614 } ); +cells.push_back( {20303022,3583,90,3,2,1,-0.125,-1.33658 } ); +cells.push_back( {20403012,3564,90,4,1,1,-0.175,-1.38614 } ); +cells.push_back( {20403022,3584,90,4,2,1,-0.175,-1.33658 } ); +cells.push_back( {20503012,3565,90,5,1,1,-0.225,-1.38614 } ); +cells.push_back( {20503022,3585,90,5,2,1,-0.225,-1.33658 } ); +cells.push_back( {20603012,3566,90,6,1,1,-0.275,-1.38614 } ); +cells.push_back( {20603022,3586,90,6,2,1,-0.275,-1.33658 } ); +cells.push_back( {20703012,3567,90,7,1,1,-0.325,-1.38614 } ); +cells.push_back( {20703022,3587,90,7,2,1,-0.325,-1.33658 } ); +cells.push_back( {20803012,3568,90,8,1,1,-0.375,-1.38614 } ); +cells.push_back( {20803022,3588,90,8,2,1,-0.375,-1.33658 } ); +cells.push_back( {20903012,3569,90,9,1,1,-0.425,-1.38614 } ); +cells.push_back( {20903022,3589,90,9,2,1,-0.425,-1.33658 } ); +cells.push_back( {21003012,3570,90,10,1,1,-0.475,-1.38614 } ); +cells.push_back( {21003022,3590,90,10,2,1,-0.475,-1.33658 } ); +cells.push_back( {21103012,3571,90,11,1,1,-0.525,-1.38614 } ); +cells.push_back( {21103022,3591,90,11,2,1,-0.525,-1.33658 } ); +cells.push_back( {21203012,3572,90,12,1,1,-0.575,-1.38614 } ); +cells.push_back( {21203022,3592,90,12,2,1,-0.575,-1.33658 } ); +cells.push_back( {21303012,3573,90,13,1,1,-0.625,-1.38614 } ); +cells.push_back( {21303022,3593,90,13,2,1,-0.625,-1.33658 } ); +cells.push_back( {21403012,3574,90,14,1,1,-0.675,-1.38614 } ); +cells.push_back( {21403022,3594,90,14,2,1,-0.675,-1.33658 } ); +cells.push_back( {21503012,3575,90,15,1,1,-0.725,-1.38614 } ); +cells.push_back( {21503022,3595,90,15,2,1,-0.725,-1.33658 } ); +cells.push_back( {21603012,3576,90,16,1,1,-0.775,-1.38614 } ); +cells.push_back( {21603022,3596,90,16,2,1,-0.775,-1.33658 } ); +cells.push_back( {21703012,3577,90,17,1,1,-0.825,-1.38614 } ); +cells.push_back( {21703022,3597,90,17,2,1,-0.825,-1.33658 } ); +cells.push_back( {21803012,3578,90,18,1,1,-0.875,-1.38614 } ); +cells.push_back( {21803022,3598,90,18,2,1,-0.875,-1.33658 } ); +cells.push_back( {21903012,3579,90,19,1,1,-0.925,-1.38614 } ); +cells.push_back( {21903022,3599,90,19,2,1,-0.925,-1.33658 } ); +cells.push_back( {22003012,3580,90,20,1,1,-0.967,-1.38614 } ); +cells.push_back( {22003022,3600,90,20,2,1,-0.967,-1.33658 } ); +cells.push_back( {20103111,3601,91,1,1,2,-0.02675,-1.28142 } ); +cells.push_back( {20103121,3621,91,1,2,2,-0.02675,-1.23186 } ); +cells.push_back( {20203111,3602,91,2,1,2,-0.075,-1.28142 } ); +cells.push_back( {20203121,3622,91,2,2,2,-0.075,-1.23186 } ); +cells.push_back( {20303111,3603,91,3,1,2,-0.125,-1.28142 } ); +cells.push_back( {20303121,3623,91,3,2,2,-0.125,-1.23186 } ); +cells.push_back( {20403111,3604,91,4,1,2,-0.175,-1.28142 } ); +cells.push_back( {20403121,3624,91,4,2,2,-0.175,-1.23186 } ); +cells.push_back( {20503111,3605,91,5,1,2,-0.225,-1.28142 } ); +cells.push_back( {20503121,3625,91,5,2,2,-0.225,-1.23186 } ); +cells.push_back( {20603111,3606,91,6,1,2,-0.275,-1.28142 } ); +cells.push_back( {20603121,3626,91,6,2,2,-0.275,-1.23186 } ); +cells.push_back( {20703111,3607,91,7,1,2,-0.325,-1.28142 } ); +cells.push_back( {20703121,3627,91,7,2,2,-0.325,-1.23186 } ); +cells.push_back( {20803111,3608,91,8,1,2,-0.375,-1.28142 } ); +cells.push_back( {20803121,3628,91,8,2,2,-0.375,-1.23186 } ); +cells.push_back( {20903111,3609,91,9,1,2,-0.425,-1.28142 } ); +cells.push_back( {20903121,3629,91,9,2,2,-0.425,-1.23186 } ); +cells.push_back( {21003111,3610,91,10,1,2,-0.475,-1.28142 } ); +cells.push_back( {21003121,3630,91,10,2,2,-0.475,-1.23186 } ); +cells.push_back( {21103111,3611,91,11,1,2,-0.525,-1.28142 } ); +cells.push_back( {21103121,3631,91,11,2,2,-0.525,-1.23186 } ); +cells.push_back( {21203111,3612,91,12,1,2,-0.575,-1.28142 } ); +cells.push_back( {21203121,3632,91,12,2,2,-0.575,-1.23186 } ); +cells.push_back( {21303111,3613,91,13,1,2,-0.625,-1.28142 } ); +cells.push_back( {21303121,3633,91,13,2,2,-0.625,-1.23186 } ); +cells.push_back( {21403111,3614,91,14,1,2,-0.675,-1.28142 } ); +cells.push_back( {21403121,3634,91,14,2,2,-0.675,-1.23186 } ); +cells.push_back( {21503111,3615,91,15,1,2,-0.725,-1.28142 } ); +cells.push_back( {21503121,3635,91,15,2,2,-0.725,-1.23186 } ); +cells.push_back( {21603111,3616,91,16,1,2,-0.775,-1.28142 } ); +cells.push_back( {21603121,3636,91,16,2,2,-0.775,-1.23186 } ); +cells.push_back( {21703111,3617,91,17,1,2,-0.825,-1.28142 } ); +cells.push_back( {21703121,3637,91,17,2,2,-0.825,-1.23186 } ); +cells.push_back( {21803111,3618,91,18,1,2,-0.875,-1.28142 } ); +cells.push_back( {21803121,3638,91,18,2,2,-0.875,-1.23186 } ); +cells.push_back( {21903111,3619,91,19,1,2,-0.925,-1.28142 } ); +cells.push_back( {21903121,3639,91,19,2,2,-0.925,-1.23186 } ); +cells.push_back( {22003111,3620,91,20,1,2,-0.967,-1.28142 } ); +cells.push_back( {22003121,3640,91,20,2,2,-0.967,-1.23186 } ); +cells.push_back( {20103112,3601,91,1,1,1,-0.02675,-1.28142 } ); +cells.push_back( {20103122,3621,91,1,2,1,-0.02675,-1.23186 } ); +cells.push_back( {20203112,3602,91,2,1,1,-0.075,-1.28142 } ); +cells.push_back( {20203122,3622,91,2,2,1,-0.075,-1.23186 } ); +cells.push_back( {20303112,3603,91,3,1,1,-0.125,-1.28142 } ); +cells.push_back( {20303122,3623,91,3,2,1,-0.125,-1.23186 } ); +cells.push_back( {20403112,3604,91,4,1,1,-0.175,-1.28142 } ); +cells.push_back( {20403122,3624,91,4,2,1,-0.175,-1.23186 } ); +cells.push_back( {20503112,3605,91,5,1,1,-0.225,-1.28142 } ); +cells.push_back( {20503122,3625,91,5,2,1,-0.225,-1.23186 } ); +cells.push_back( {20603112,3606,91,6,1,1,-0.275,-1.28142 } ); +cells.push_back( {20603122,3626,91,6,2,1,-0.275,-1.23186 } ); +cells.push_back( {20703112,3607,91,7,1,1,-0.325,-1.28142 } ); +cells.push_back( {20703122,3627,91,7,2,1,-0.325,-1.23186 } ); +cells.push_back( {20803112,3608,91,8,1,1,-0.375,-1.28142 } ); +cells.push_back( {20803122,3628,91,8,2,1,-0.375,-1.23186 } ); +cells.push_back( {20903112,3609,91,9,1,1,-0.425,-1.28142 } ); +cells.push_back( {20903122,3629,91,9,2,1,-0.425,-1.23186 } ); +cells.push_back( {21003112,3610,91,10,1,1,-0.475,-1.28142 } ); +cells.push_back( {21003122,3630,91,10,2,1,-0.475,-1.23186 } ); +cells.push_back( {21103112,3611,91,11,1,1,-0.525,-1.28142 } ); +cells.push_back( {21103122,3631,91,11,2,1,-0.525,-1.23186 } ); +cells.push_back( {21203112,3612,91,12,1,1,-0.575,-1.28142 } ); +cells.push_back( {21203122,3632,91,12,2,1,-0.575,-1.23186 } ); +cells.push_back( {21303112,3613,91,13,1,1,-0.625,-1.28142 } ); +cells.push_back( {21303122,3633,91,13,2,1,-0.625,-1.23186 } ); +cells.push_back( {21403112,3614,91,14,1,1,-0.675,-1.28142 } ); +cells.push_back( {21403122,3634,91,14,2,1,-0.675,-1.23186 } ); +cells.push_back( {21503112,3615,91,15,1,1,-0.725,-1.28142 } ); +cells.push_back( {21503122,3635,91,15,2,1,-0.725,-1.23186 } ); +cells.push_back( {21603112,3616,91,16,1,1,-0.775,-1.28142 } ); +cells.push_back( {21603122,3636,91,16,2,1,-0.775,-1.23186 } ); +cells.push_back( {21703112,3617,91,17,1,1,-0.825,-1.28142 } ); +cells.push_back( {21703122,3637,91,17,2,1,-0.825,-1.23186 } ); +cells.push_back( {21803112,3618,91,18,1,1,-0.875,-1.28142 } ); +cells.push_back( {21803122,3638,91,18,2,1,-0.875,-1.23186 } ); +cells.push_back( {21903112,3619,91,19,1,1,-0.925,-1.28142 } ); +cells.push_back( {21903122,3639,91,19,2,1,-0.925,-1.23186 } ); +cells.push_back( {22003112,3620,91,20,1,1,-0.967,-1.28142 } ); +cells.push_back( {22003122,3640,91,20,2,1,-0.967,-1.23186 } ); +cells.push_back( {20103211,3641,92,1,1,2,-0.02675,-1.1767 } ); +cells.push_back( {20103221,3661,92,1,2,2,-0.02675,-1.12714 } ); +cells.push_back( {20203211,3642,92,2,1,2,-0.075,-1.1767 } ); +cells.push_back( {20203221,3662,92,2,2,2,-0.075,-1.12714 } ); +cells.push_back( {20303211,3643,92,3,1,2,-0.125,-1.1767 } ); +cells.push_back( {20303221,3663,92,3,2,2,-0.125,-1.12714 } ); +cells.push_back( {20403211,3644,92,4,1,2,-0.175,-1.1767 } ); +cells.push_back( {20403221,3664,92,4,2,2,-0.175,-1.12714 } ); +cells.push_back( {20503211,3645,92,5,1,2,-0.225,-1.1767 } ); +cells.push_back( {20503221,3665,92,5,2,2,-0.225,-1.12714 } ); +cells.push_back( {20603211,3646,92,6,1,2,-0.275,-1.1767 } ); +cells.push_back( {20603221,3666,92,6,2,2,-0.275,-1.12714 } ); +cells.push_back( {20703211,3647,92,7,1,2,-0.325,-1.1767 } ); +cells.push_back( {20703221,3667,92,7,2,2,-0.325,-1.12714 } ); +cells.push_back( {20803211,3648,92,8,1,2,-0.375,-1.1767 } ); +cells.push_back( {20803221,3668,92,8,2,2,-0.375,-1.12714 } ); +cells.push_back( {20903211,3649,92,9,1,2,-0.425,-1.1767 } ); +cells.push_back( {20903221,3669,92,9,2,2,-0.425,-1.12714 } ); +cells.push_back( {21003211,3650,92,10,1,2,-0.475,-1.1767 } ); +cells.push_back( {21003221,3670,92,10,2,2,-0.475,-1.12714 } ); +cells.push_back( {21103211,3651,92,11,1,2,-0.525,-1.1767 } ); +cells.push_back( {21103221,3671,92,11,2,2,-0.525,-1.12714 } ); +cells.push_back( {21203211,3652,92,12,1,2,-0.575,-1.1767 } ); +cells.push_back( {21203221,3672,92,12,2,2,-0.575,-1.12714 } ); +cells.push_back( {21303211,3653,92,13,1,2,-0.625,-1.1767 } ); +cells.push_back( {21303221,3673,92,13,2,2,-0.625,-1.12714 } ); +cells.push_back( {21403211,3654,92,14,1,2,-0.675,-1.1767 } ); +cells.push_back( {21403221,3674,92,14,2,2,-0.675,-1.12714 } ); +cells.push_back( {21503211,3655,92,15,1,2,-0.725,-1.1767 } ); +cells.push_back( {21503221,3675,92,15,2,2,-0.725,-1.12714 } ); +cells.push_back( {21603211,3656,92,16,1,2,-0.775,-1.1767 } ); +cells.push_back( {21603221,3676,92,16,2,2,-0.775,-1.12714 } ); +cells.push_back( {21703211,3657,92,17,1,2,-0.825,-1.1767 } ); +cells.push_back( {21703221,3677,92,17,2,2,-0.825,-1.12714 } ); +cells.push_back( {21803211,3658,92,18,1,2,-0.875,-1.1767 } ); +cells.push_back( {21803221,3678,92,18,2,2,-0.875,-1.12714 } ); +cells.push_back( {21903211,3659,92,19,1,2,-0.925,-1.1767 } ); +cells.push_back( {21903221,3679,92,19,2,2,-0.925,-1.12714 } ); +cells.push_back( {22003211,3660,92,20,1,2,-0.967,-1.1767 } ); +cells.push_back( {22003221,3680,92,20,2,2,-0.967,-1.12714 } ); +cells.push_back( {20103212,3641,92,1,1,1,-0.02675,-1.1767 } ); +cells.push_back( {20103222,3661,92,1,2,1,-0.02675,-1.12714 } ); +cells.push_back( {20203212,3642,92,2,1,1,-0.075,-1.1767 } ); +cells.push_back( {20203222,3662,92,2,2,1,-0.075,-1.12714 } ); +cells.push_back( {20303212,3643,92,3,1,1,-0.125,-1.1767 } ); +cells.push_back( {20303222,3663,92,3,2,1,-0.125,-1.12714 } ); +cells.push_back( {20403212,3644,92,4,1,1,-0.175,-1.1767 } ); +cells.push_back( {20403222,3664,92,4,2,1,-0.175,-1.12714 } ); +cells.push_back( {20503212,3645,92,5,1,1,-0.225,-1.1767 } ); +cells.push_back( {20503222,3665,92,5,2,1,-0.225,-1.12714 } ); +cells.push_back( {20603212,3646,92,6,1,1,-0.275,-1.1767 } ); +cells.push_back( {20603222,3666,92,6,2,1,-0.275,-1.12714 } ); +cells.push_back( {20703212,3647,92,7,1,1,-0.325,-1.1767 } ); +cells.push_back( {20703222,3667,92,7,2,1,-0.325,-1.12714 } ); +cells.push_back( {20803212,3648,92,8,1,1,-0.375,-1.1767 } ); +cells.push_back( {20803222,3668,92,8,2,1,-0.375,-1.12714 } ); +cells.push_back( {20903212,3649,92,9,1,1,-0.425,-1.1767 } ); +cells.push_back( {20903222,3669,92,9,2,1,-0.425,-1.12714 } ); +cells.push_back( {21003212,3650,92,10,1,1,-0.475,-1.1767 } ); +cells.push_back( {21003222,3670,92,10,2,1,-0.475,-1.12714 } ); +cells.push_back( {21103212,3651,92,11,1,1,-0.525,-1.1767 } ); +cells.push_back( {21103222,3671,92,11,2,1,-0.525,-1.12714 } ); +cells.push_back( {21203212,3652,92,12,1,1,-0.575,-1.1767 } ); +cells.push_back( {21203222,3672,92,12,2,1,-0.575,-1.12714 } ); +cells.push_back( {21303212,3653,92,13,1,1,-0.625,-1.1767 } ); +cells.push_back( {21303222,3673,92,13,2,1,-0.625,-1.12714 } ); +cells.push_back( {21403212,3654,92,14,1,1,-0.675,-1.1767 } ); +cells.push_back( {21403222,3674,92,14,2,1,-0.675,-1.12714 } ); +cells.push_back( {21503212,3655,92,15,1,1,-0.725,-1.1767 } ); +cells.push_back( {21503222,3675,92,15,2,1,-0.725,-1.12714 } ); +cells.push_back( {21603212,3656,92,16,1,1,-0.775,-1.1767 } ); +cells.push_back( {21603222,3676,92,16,2,1,-0.775,-1.12714 } ); +cells.push_back( {21703212,3657,92,17,1,1,-0.825,-1.1767 } ); +cells.push_back( {21703222,3677,92,17,2,1,-0.825,-1.12714 } ); +cells.push_back( {21803212,3658,92,18,1,1,-0.875,-1.1767 } ); +cells.push_back( {21803222,3678,92,18,2,1,-0.875,-1.12714 } ); +cells.push_back( {21903212,3659,92,19,1,1,-0.925,-1.1767 } ); +cells.push_back( {21903222,3679,92,19,2,1,-0.925,-1.12714 } ); +cells.push_back( {22003212,3660,92,20,1,1,-0.967,-1.1767 } ); +cells.push_back( {22003222,3680,92,20,2,1,-0.967,-1.12714 } ); +cells.push_back( {20103311,3681,93,1,1,2,-0.02675,-1.07198 } ); +cells.push_back( {20103321,3701,93,1,2,2,-0.02675,-1.02242 } ); +cells.push_back( {20203311,3682,93,2,1,2,-0.075,-1.07198 } ); +cells.push_back( {20203321,3702,93,2,2,2,-0.075,-1.02242 } ); +cells.push_back( {20303311,3683,93,3,1,2,-0.125,-1.07198 } ); +cells.push_back( {20303321,3703,93,3,2,2,-0.125,-1.02242 } ); +cells.push_back( {20403311,3684,93,4,1,2,-0.175,-1.07198 } ); +cells.push_back( {20403321,3704,93,4,2,2,-0.175,-1.02242 } ); +cells.push_back( {20503311,3685,93,5,1,2,-0.225,-1.07198 } ); +cells.push_back( {20503321,3705,93,5,2,2,-0.225,-1.02242 } ); +cells.push_back( {20603311,3686,93,6,1,2,-0.275,-1.07198 } ); +cells.push_back( {20603321,3706,93,6,2,2,-0.275,-1.02242 } ); +cells.push_back( {20703311,3687,93,7,1,2,-0.325,-1.07198 } ); +cells.push_back( {20703321,3707,93,7,2,2,-0.325,-1.02242 } ); +cells.push_back( {20803311,3688,93,8,1,2,-0.375,-1.07198 } ); +cells.push_back( {20803321,3708,93,8,2,2,-0.375,-1.02242 } ); +cells.push_back( {20903311,3689,93,9,1,2,-0.425,-1.07198 } ); +cells.push_back( {20903321,3709,93,9,2,2,-0.425,-1.02242 } ); +cells.push_back( {21003311,3690,93,10,1,2,-0.475,-1.07198 } ); +cells.push_back( {21003321,3710,93,10,2,2,-0.475,-1.02242 } ); +cells.push_back( {21103311,3691,93,11,1,2,-0.525,-1.07198 } ); +cells.push_back( {21103321,3711,93,11,2,2,-0.525,-1.02242 } ); +cells.push_back( {21203311,3692,93,12,1,2,-0.575,-1.07198 } ); +cells.push_back( {21203321,3712,93,12,2,2,-0.575,-1.02242 } ); +cells.push_back( {21303311,3693,93,13,1,2,-0.625,-1.07198 } ); +cells.push_back( {21303321,3713,93,13,2,2,-0.625,-1.02242 } ); +cells.push_back( {21403311,3694,93,14,1,2,-0.675,-1.07198 } ); +cells.push_back( {21403321,3714,93,14,2,2,-0.675,-1.02242 } ); +cells.push_back( {21503311,3695,93,15,1,2,-0.725,-1.07198 } ); +cells.push_back( {21503321,3715,93,15,2,2,-0.725,-1.02242 } ); +cells.push_back( {21603311,3696,93,16,1,2,-0.775,-1.07198 } ); +cells.push_back( {21603321,3716,93,16,2,2,-0.775,-1.02242 } ); +cells.push_back( {21703311,3697,93,17,1,2,-0.825,-1.07198 } ); +cells.push_back( {21703321,3717,93,17,2,2,-0.825,-1.02242 } ); +cells.push_back( {21803311,3698,93,18,1,2,-0.875,-1.07198 } ); +cells.push_back( {21803321,3718,93,18,2,2,-0.875,-1.02242 } ); +cells.push_back( {21903311,3699,93,19,1,2,-0.925,-1.07198 } ); +cells.push_back( {21903321,3719,93,19,2,2,-0.925,-1.02242 } ); +cells.push_back( {22003311,3700,93,20,1,2,-0.967,-1.07198 } ); +cells.push_back( {22003321,3720,93,20,2,2,-0.967,-1.02242 } ); +cells.push_back( {20103312,3681,93,1,1,1,-0.02675,-1.07198 } ); +cells.push_back( {20103322,3701,93,1,2,1,-0.02675,-1.02242 } ); +cells.push_back( {20203312,3682,93,2,1,1,-0.075,-1.07198 } ); +cells.push_back( {20203322,3702,93,2,2,1,-0.075,-1.02242 } ); +cells.push_back( {20303312,3683,93,3,1,1,-0.125,-1.07198 } ); +cells.push_back( {20303322,3703,93,3,2,1,-0.125,-1.02242 } ); +cells.push_back( {20403312,3684,93,4,1,1,-0.175,-1.07198 } ); +cells.push_back( {20403322,3704,93,4,2,1,-0.175,-1.02242 } ); +cells.push_back( {20503312,3685,93,5,1,1,-0.225,-1.07198 } ); +cells.push_back( {20503322,3705,93,5,2,1,-0.225,-1.02242 } ); +cells.push_back( {20603312,3686,93,6,1,1,-0.275,-1.07198 } ); +cells.push_back( {20603322,3706,93,6,2,1,-0.275,-1.02242 } ); +cells.push_back( {20703312,3687,93,7,1,1,-0.325,-1.07198 } ); +cells.push_back( {20703322,3707,93,7,2,1,-0.325,-1.02242 } ); +cells.push_back( {20803312,3688,93,8,1,1,-0.375,-1.07198 } ); +cells.push_back( {20803322,3708,93,8,2,1,-0.375,-1.02242 } ); +cells.push_back( {20903312,3689,93,9,1,1,-0.425,-1.07198 } ); +cells.push_back( {20903322,3709,93,9,2,1,-0.425,-1.02242 } ); +cells.push_back( {21003312,3690,93,10,1,1,-0.475,-1.07198 } ); +cells.push_back( {21003322,3710,93,10,2,1,-0.475,-1.02242 } ); +cells.push_back( {21103312,3691,93,11,1,1,-0.525,-1.07198 } ); +cells.push_back( {21103322,3711,93,11,2,1,-0.525,-1.02242 } ); +cells.push_back( {21203312,3692,93,12,1,1,-0.575,-1.07198 } ); +cells.push_back( {21203322,3712,93,12,2,1,-0.575,-1.02242 } ); +cells.push_back( {21303312,3693,93,13,1,1,-0.625,-1.07198 } ); +cells.push_back( {21303322,3713,93,13,2,1,-0.625,-1.02242 } ); +cells.push_back( {21403312,3694,93,14,1,1,-0.675,-1.07198 } ); +cells.push_back( {21403322,3714,93,14,2,1,-0.675,-1.02242 } ); +cells.push_back( {21503312,3695,93,15,1,1,-0.725,-1.07198 } ); +cells.push_back( {21503322,3715,93,15,2,1,-0.725,-1.02242 } ); +cells.push_back( {21603312,3696,93,16,1,1,-0.775,-1.07198 } ); +cells.push_back( {21603322,3716,93,16,2,1,-0.775,-1.02242 } ); +cells.push_back( {21703312,3697,93,17,1,1,-0.825,-1.07198 } ); +cells.push_back( {21703322,3717,93,17,2,1,-0.825,-1.02242 } ); +cells.push_back( {21803312,3698,93,18,1,1,-0.875,-1.07198 } ); +cells.push_back( {21803322,3718,93,18,2,1,-0.875,-1.02242 } ); +cells.push_back( {21903312,3699,93,19,1,1,-0.925,-1.07198 } ); +cells.push_back( {21903322,3719,93,19,2,1,-0.925,-1.02242 } ); +cells.push_back( {22003312,3700,93,20,1,1,-0.967,-1.07198 } ); +cells.push_back( {22003322,3720,93,20,2,1,-0.967,-1.02242 } ); +cells.push_back( {20103411,3721,94,1,1,2,-0.02675,-0.967259 } ); +cells.push_back( {20103421,3741,94,1,2,2,-0.02675,-0.917696 } ); +cells.push_back( {20203411,3722,94,2,1,2,-0.075,-0.967259 } ); +cells.push_back( {20203421,3742,94,2,2,2,-0.075,-0.917696 } ); +cells.push_back( {20303411,3723,94,3,1,2,-0.125,-0.967259 } ); +cells.push_back( {20303421,3743,94,3,2,2,-0.125,-0.917696 } ); +cells.push_back( {20403411,3724,94,4,1,2,-0.175,-0.967259 } ); +cells.push_back( {20403421,3744,94,4,2,2,-0.175,-0.917696 } ); +cells.push_back( {20503411,3725,94,5,1,2,-0.225,-0.967259 } ); +cells.push_back( {20503421,3745,94,5,2,2,-0.225,-0.917696 } ); +cells.push_back( {20603411,3726,94,6,1,2,-0.275,-0.967259 } ); +cells.push_back( {20603421,3746,94,6,2,2,-0.275,-0.917696 } ); +cells.push_back( {20703411,3727,94,7,1,2,-0.325,-0.967259 } ); +cells.push_back( {20703421,3747,94,7,2,2,-0.325,-0.917696 } ); +cells.push_back( {20803411,3728,94,8,1,2,-0.375,-0.967259 } ); +cells.push_back( {20803421,3748,94,8,2,2,-0.375,-0.917696 } ); +cells.push_back( {20903411,3729,94,9,1,2,-0.425,-0.967259 } ); +cells.push_back( {20903421,3749,94,9,2,2,-0.425,-0.917696 } ); +cells.push_back( {21003411,3730,94,10,1,2,-0.475,-0.967259 } ); +cells.push_back( {21003421,3750,94,10,2,2,-0.475,-0.917696 } ); +cells.push_back( {21103411,3731,94,11,1,2,-0.525,-0.967259 } ); +cells.push_back( {21103421,3751,94,11,2,2,-0.525,-0.917696 } ); +cells.push_back( {21203411,3732,94,12,1,2,-0.575,-0.967259 } ); +cells.push_back( {21203421,3752,94,12,2,2,-0.575,-0.917696 } ); +cells.push_back( {21303411,3733,94,13,1,2,-0.625,-0.967259 } ); +cells.push_back( {21303421,3753,94,13,2,2,-0.625,-0.917696 } ); +cells.push_back( {21403411,3734,94,14,1,2,-0.675,-0.967259 } ); +cells.push_back( {21403421,3754,94,14,2,2,-0.675,-0.917696 } ); +cells.push_back( {21503411,3735,94,15,1,2,-0.725,-0.967259 } ); +cells.push_back( {21503421,3755,94,15,2,2,-0.725,-0.917696 } ); +cells.push_back( {21603411,3736,94,16,1,2,-0.775,-0.967259 } ); +cells.push_back( {21603421,3756,94,16,2,2,-0.775,-0.917696 } ); +cells.push_back( {21703411,3737,94,17,1,2,-0.825,-0.967259 } ); +cells.push_back( {21703421,3757,94,17,2,2,-0.825,-0.917696 } ); +cells.push_back( {21803411,3738,94,18,1,2,-0.875,-0.967259 } ); +cells.push_back( {21803421,3758,94,18,2,2,-0.875,-0.917696 } ); +cells.push_back( {21903411,3739,94,19,1,2,-0.925,-0.967259 } ); +cells.push_back( {21903421,3759,94,19,2,2,-0.925,-0.917696 } ); +cells.push_back( {22003411,3740,94,20,1,2,-0.967,-0.967259 } ); +cells.push_back( {22003421,3760,94,20,2,2,-0.967,-0.917696 } ); +cells.push_back( {20103412,3721,94,1,1,1,-0.02675,-0.967259 } ); +cells.push_back( {20103422,3741,94,1,2,1,-0.02675,-0.917696 } ); +cells.push_back( {20203412,3722,94,2,1,1,-0.075,-0.967259 } ); +cells.push_back( {20203422,3742,94,2,2,1,-0.075,-0.917696 } ); +cells.push_back( {20303412,3723,94,3,1,1,-0.125,-0.967259 } ); +cells.push_back( {20303422,3743,94,3,2,1,-0.125,-0.917696 } ); +cells.push_back( {20403412,3724,94,4,1,1,-0.175,-0.967259 } ); +cells.push_back( {20403422,3744,94,4,2,1,-0.175,-0.917696 } ); +cells.push_back( {20503412,3725,94,5,1,1,-0.225,-0.967259 } ); +cells.push_back( {20503422,3745,94,5,2,1,-0.225,-0.917696 } ); +cells.push_back( {20603412,3726,94,6,1,1,-0.275,-0.967259 } ); +cells.push_back( {20603422,3746,94,6,2,1,-0.275,-0.917696 } ); +cells.push_back( {20703412,3727,94,7,1,1,-0.325,-0.967259 } ); +cells.push_back( {20703422,3747,94,7,2,1,-0.325,-0.917696 } ); +cells.push_back( {20803412,3728,94,8,1,1,-0.375,-0.967259 } ); +cells.push_back( {20803422,3748,94,8,2,1,-0.375,-0.917696 } ); +cells.push_back( {20903412,3729,94,9,1,1,-0.425,-0.967259 } ); +cells.push_back( {20903422,3749,94,9,2,1,-0.425,-0.917696 } ); +cells.push_back( {21003412,3730,94,10,1,1,-0.475,-0.967259 } ); +cells.push_back( {21003422,3750,94,10,2,1,-0.475,-0.917696 } ); +cells.push_back( {21103412,3731,94,11,1,1,-0.525,-0.967259 } ); +cells.push_back( {21103422,3751,94,11,2,1,-0.525,-0.917696 } ); +cells.push_back( {21203412,3732,94,12,1,1,-0.575,-0.967259 } ); +cells.push_back( {21203422,3752,94,12,2,1,-0.575,-0.917696 } ); +cells.push_back( {21303412,3733,94,13,1,1,-0.625,-0.967259 } ); +cells.push_back( {21303422,3753,94,13,2,1,-0.625,-0.917696 } ); +cells.push_back( {21403412,3734,94,14,1,1,-0.675,-0.967259 } ); +cells.push_back( {21403422,3754,94,14,2,1,-0.675,-0.917696 } ); +cells.push_back( {21503412,3735,94,15,1,1,-0.725,-0.967259 } ); +cells.push_back( {21503422,3755,94,15,2,1,-0.725,-0.917696 } ); +cells.push_back( {21603412,3736,94,16,1,1,-0.775,-0.967259 } ); +cells.push_back( {21603422,3756,94,16,2,1,-0.775,-0.917696 } ); +cells.push_back( {21703412,3737,94,17,1,1,-0.825,-0.967259 } ); +cells.push_back( {21703422,3757,94,17,2,1,-0.825,-0.917696 } ); +cells.push_back( {21803412,3738,94,18,1,1,-0.875,-0.967259 } ); +cells.push_back( {21803422,3758,94,18,2,1,-0.875,-0.917696 } ); +cells.push_back( {21903412,3739,94,19,1,1,-0.925,-0.967259 } ); +cells.push_back( {21903422,3759,94,19,2,1,-0.925,-0.917696 } ); +cells.push_back( {22003412,3740,94,20,1,1,-0.967,-0.967259 } ); +cells.push_back( {22003422,3760,94,20,2,1,-0.967,-0.917696 } ); +cells.push_back( {20103511,3761,95,1,1,2,-0.02675,-0.862539 } ); +cells.push_back( {20103521,3781,95,1,2,2,-0.02675,-0.812976 } ); +cells.push_back( {20203511,3762,95,2,1,2,-0.075,-0.862539 } ); +cells.push_back( {20203521,3782,95,2,2,2,-0.075,-0.812976 } ); +cells.push_back( {20303511,3763,95,3,1,2,-0.125,-0.862539 } ); +cells.push_back( {20303521,3783,95,3,2,2,-0.125,-0.812976 } ); +cells.push_back( {20403511,3764,95,4,1,2,-0.175,-0.862539 } ); +cells.push_back( {20403521,3784,95,4,2,2,-0.175,-0.812976 } ); +cells.push_back( {20503511,3765,95,5,1,2,-0.225,-0.862539 } ); +cells.push_back( {20503521,3785,95,5,2,2,-0.225,-0.812976 } ); +cells.push_back( {20603511,3766,95,6,1,2,-0.275,-0.862539 } ); +cells.push_back( {20603521,3786,95,6,2,2,-0.275,-0.812976 } ); +cells.push_back( {20703511,3767,95,7,1,2,-0.325,-0.862539 } ); +cells.push_back( {20703521,3787,95,7,2,2,-0.325,-0.812976 } ); +cells.push_back( {20803511,3768,95,8,1,2,-0.375,-0.862539 } ); +cells.push_back( {20803521,3788,95,8,2,2,-0.375,-0.812976 } ); +cells.push_back( {20903511,3769,95,9,1,2,-0.425,-0.862539 } ); +cells.push_back( {20903521,3789,95,9,2,2,-0.425,-0.812976 } ); +cells.push_back( {21003511,3770,95,10,1,2,-0.475,-0.862539 } ); +cells.push_back( {21003521,3790,95,10,2,2,-0.475,-0.812976 } ); +cells.push_back( {21103511,3771,95,11,1,2,-0.525,-0.862539 } ); +cells.push_back( {21103521,3791,95,11,2,2,-0.525,-0.812976 } ); +cells.push_back( {21203511,3772,95,12,1,2,-0.575,-0.862539 } ); +cells.push_back( {21203521,3792,95,12,2,2,-0.575,-0.812976 } ); +cells.push_back( {21303511,3773,95,13,1,2,-0.625,-0.862539 } ); +cells.push_back( {21303521,3793,95,13,2,2,-0.625,-0.812976 } ); +cells.push_back( {21403511,3774,95,14,1,2,-0.675,-0.862539 } ); +cells.push_back( {21403521,3794,95,14,2,2,-0.675,-0.812976 } ); +cells.push_back( {21503511,3775,95,15,1,2,-0.725,-0.862539 } ); +cells.push_back( {21503521,3795,95,15,2,2,-0.725,-0.812976 } ); +cells.push_back( {21603511,3776,95,16,1,2,-0.775,-0.862539 } ); +cells.push_back( {21603521,3796,95,16,2,2,-0.775,-0.812976 } ); +cells.push_back( {21703511,3777,95,17,1,2,-0.825,-0.862539 } ); +cells.push_back( {21703521,3797,95,17,2,2,-0.825,-0.812976 } ); +cells.push_back( {21803511,3778,95,18,1,2,-0.875,-0.862539 } ); +cells.push_back( {21803521,3798,95,18,2,2,-0.875,-0.812976 } ); +cells.push_back( {21903511,3779,95,19,1,2,-0.925,-0.862539 } ); +cells.push_back( {21903521,3799,95,19,2,2,-0.925,-0.812976 } ); +cells.push_back( {22003511,3780,95,20,1,2,-0.967,-0.862539 } ); +cells.push_back( {22003521,3800,95,20,2,2,-0.967,-0.812976 } ); +cells.push_back( {20103512,3761,95,1,1,1,-0.02675,-0.862539 } ); +cells.push_back( {20103522,3781,95,1,2,1,-0.02675,-0.812976 } ); +cells.push_back( {20203512,3762,95,2,1,1,-0.075,-0.862539 } ); +cells.push_back( {20203522,3782,95,2,2,1,-0.075,-0.812976 } ); +cells.push_back( {20303512,3763,95,3,1,1,-0.125,-0.862539 } ); +cells.push_back( {20303522,3783,95,3,2,1,-0.125,-0.812976 } ); +cells.push_back( {20403512,3764,95,4,1,1,-0.175,-0.862539 } ); +cells.push_back( {20403522,3784,95,4,2,1,-0.175,-0.812976 } ); +cells.push_back( {20503512,3765,95,5,1,1,-0.225,-0.862539 } ); +cells.push_back( {20503522,3785,95,5,2,1,-0.225,-0.812976 } ); +cells.push_back( {20603512,3766,95,6,1,1,-0.275,-0.862539 } ); +cells.push_back( {20603522,3786,95,6,2,1,-0.275,-0.812976 } ); +cells.push_back( {20703512,3767,95,7,1,1,-0.325,-0.862539 } ); +cells.push_back( {20703522,3787,95,7,2,1,-0.325,-0.812976 } ); +cells.push_back( {20803512,3768,95,8,1,1,-0.375,-0.862539 } ); +cells.push_back( {20803522,3788,95,8,2,1,-0.375,-0.812976 } ); +cells.push_back( {20903512,3769,95,9,1,1,-0.425,-0.862539 } ); +cells.push_back( {20903522,3789,95,9,2,1,-0.425,-0.812976 } ); +cells.push_back( {21003512,3770,95,10,1,1,-0.475,-0.862539 } ); +cells.push_back( {21003522,3790,95,10,2,1,-0.475,-0.812976 } ); +cells.push_back( {21103512,3771,95,11,1,1,-0.525,-0.862539 } ); +cells.push_back( {21103522,3791,95,11,2,1,-0.525,-0.812976 } ); +cells.push_back( {21203512,3772,95,12,1,1,-0.575,-0.862539 } ); +cells.push_back( {21203522,3792,95,12,2,1,-0.575,-0.812976 } ); +cells.push_back( {21303512,3773,95,13,1,1,-0.625,-0.862539 } ); +cells.push_back( {21303522,3793,95,13,2,1,-0.625,-0.812976 } ); +cells.push_back( {21403512,3774,95,14,1,1,-0.675,-0.862539 } ); +cells.push_back( {21403522,3794,95,14,2,1,-0.675,-0.812976 } ); +cells.push_back( {21503512,3775,95,15,1,1,-0.725,-0.862539 } ); +cells.push_back( {21503522,3795,95,15,2,1,-0.725,-0.812976 } ); +cells.push_back( {21603512,3776,95,16,1,1,-0.775,-0.862539 } ); +cells.push_back( {21603522,3796,95,16,2,1,-0.775,-0.812976 } ); +cells.push_back( {21703512,3777,95,17,1,1,-0.825,-0.862539 } ); +cells.push_back( {21703522,3797,95,17,2,1,-0.825,-0.812976 } ); +cells.push_back( {21803512,3778,95,18,1,1,-0.875,-0.862539 } ); +cells.push_back( {21803522,3798,95,18,2,1,-0.875,-0.812976 } ); +cells.push_back( {21903512,3779,95,19,1,1,-0.925,-0.862539 } ); +cells.push_back( {21903522,3799,95,19,2,1,-0.925,-0.812976 } ); +cells.push_back( {22003512,3780,95,20,1,1,-0.967,-0.862539 } ); +cells.push_back( {22003522,3800,95,20,2,1,-0.967,-0.812976 } ); +cells.push_back( {20103611,3801,96,1,1,2,-0.02675,-0.75782 } ); +cells.push_back( {20103621,3821,96,1,2,2,-0.02675,-0.708257 } ); +cells.push_back( {20203611,3802,96,2,1,2,-0.075,-0.75782 } ); +cells.push_back( {20203621,3822,96,2,2,2,-0.075,-0.708257 } ); +cells.push_back( {20303611,3803,96,3,1,2,-0.125,-0.75782 } ); +cells.push_back( {20303621,3823,96,3,2,2,-0.125,-0.708257 } ); +cells.push_back( {20403611,3804,96,4,1,2,-0.175,-0.75782 } ); +cells.push_back( {20403621,3824,96,4,2,2,-0.175,-0.708257 } ); +cells.push_back( {20503611,3805,96,5,1,2,-0.225,-0.75782 } ); +cells.push_back( {20503621,3825,96,5,2,2,-0.225,-0.708257 } ); +cells.push_back( {20603611,3806,96,6,1,2,-0.275,-0.75782 } ); +cells.push_back( {20603621,3826,96,6,2,2,-0.275,-0.708257 } ); +cells.push_back( {20703611,3807,96,7,1,2,-0.325,-0.75782 } ); +cells.push_back( {20703621,3827,96,7,2,2,-0.325,-0.708257 } ); +cells.push_back( {20803611,3808,96,8,1,2,-0.375,-0.75782 } ); +cells.push_back( {20803621,3828,96,8,2,2,-0.375,-0.708257 } ); +cells.push_back( {20903611,3809,96,9,1,2,-0.425,-0.75782 } ); +cells.push_back( {20903621,3829,96,9,2,2,-0.425,-0.708257 } ); +cells.push_back( {21003611,3810,96,10,1,2,-0.475,-0.75782 } ); +cells.push_back( {21003621,3830,96,10,2,2,-0.475,-0.708257 } ); +cells.push_back( {21103611,3811,96,11,1,2,-0.525,-0.75782 } ); +cells.push_back( {21103621,3831,96,11,2,2,-0.525,-0.708257 } ); +cells.push_back( {21203611,3812,96,12,1,2,-0.575,-0.75782 } ); +cells.push_back( {21203621,3832,96,12,2,2,-0.575,-0.708257 } ); +cells.push_back( {21303611,3813,96,13,1,2,-0.625,-0.75782 } ); +cells.push_back( {21303621,3833,96,13,2,2,-0.625,-0.708257 } ); +cells.push_back( {21403611,3814,96,14,1,2,-0.675,-0.75782 } ); +cells.push_back( {21403621,3834,96,14,2,2,-0.675,-0.708257 } ); +cells.push_back( {21503611,3815,96,15,1,2,-0.725,-0.75782 } ); +cells.push_back( {21503621,3835,96,15,2,2,-0.725,-0.708257 } ); +cells.push_back( {21603611,3816,96,16,1,2,-0.775,-0.75782 } ); +cells.push_back( {21603621,3836,96,16,2,2,-0.775,-0.708257 } ); +cells.push_back( {21703611,3817,96,17,1,2,-0.825,-0.75782 } ); +cells.push_back( {21703621,3837,96,17,2,2,-0.825,-0.708257 } ); +cells.push_back( {21803611,3818,96,18,1,2,-0.875,-0.75782 } ); +cells.push_back( {21803621,3838,96,18,2,2,-0.875,-0.708257 } ); +cells.push_back( {21903611,3819,96,19,1,2,-0.925,-0.75782 } ); +cells.push_back( {21903621,3839,96,19,2,2,-0.925,-0.708257 } ); +cells.push_back( {22003611,3820,96,20,1,2,-0.967,-0.75782 } ); +cells.push_back( {22003621,3840,96,20,2,2,-0.967,-0.708257 } ); +cells.push_back( {20103612,3801,96,1,1,1,-0.02675,-0.75782 } ); +cells.push_back( {20103622,3821,96,1,2,1,-0.02675,-0.708257 } ); +cells.push_back( {20203612,3802,96,2,1,1,-0.075,-0.75782 } ); +cells.push_back( {20203622,3822,96,2,2,1,-0.075,-0.708257 } ); +cells.push_back( {20303612,3803,96,3,1,1,-0.125,-0.75782 } ); +cells.push_back( {20303622,3823,96,3,2,1,-0.125,-0.708257 } ); +cells.push_back( {20403612,3804,96,4,1,1,-0.175,-0.75782 } ); +cells.push_back( {20403622,3824,96,4,2,1,-0.175,-0.708257 } ); +cells.push_back( {20503612,3805,96,5,1,1,-0.225,-0.75782 } ); +cells.push_back( {20503622,3825,96,5,2,1,-0.225,-0.708257 } ); +cells.push_back( {20603612,3806,96,6,1,1,-0.275,-0.75782 } ); +cells.push_back( {20603622,3826,96,6,2,1,-0.275,-0.708257 } ); +cells.push_back( {20703612,3807,96,7,1,1,-0.325,-0.75782 } ); +cells.push_back( {20703622,3827,96,7,2,1,-0.325,-0.708257 } ); +cells.push_back( {20803612,3808,96,8,1,1,-0.375,-0.75782 } ); +cells.push_back( {20803622,3828,96,8,2,1,-0.375,-0.708257 } ); +cells.push_back( {20903612,3809,96,9,1,1,-0.425,-0.75782 } ); +cells.push_back( {20903622,3829,96,9,2,1,-0.425,-0.708257 } ); +cells.push_back( {21003612,3810,96,10,1,1,-0.475,-0.75782 } ); +cells.push_back( {21003622,3830,96,10,2,1,-0.475,-0.708257 } ); +cells.push_back( {21103612,3811,96,11,1,1,-0.525,-0.75782 } ); +cells.push_back( {21103622,3831,96,11,2,1,-0.525,-0.708257 } ); +cells.push_back( {21203612,3812,96,12,1,1,-0.575,-0.75782 } ); +cells.push_back( {21203622,3832,96,12,2,1,-0.575,-0.708257 } ); +cells.push_back( {21303612,3813,96,13,1,1,-0.625,-0.75782 } ); +cells.push_back( {21303622,3833,96,13,2,1,-0.625,-0.708257 } ); +cells.push_back( {21403612,3814,96,14,1,1,-0.675,-0.75782 } ); +cells.push_back( {21403622,3834,96,14,2,1,-0.675,-0.708257 } ); +cells.push_back( {21503612,3815,96,15,1,1,-0.725,-0.75782 } ); +cells.push_back( {21503622,3835,96,15,2,1,-0.725,-0.708257 } ); +cells.push_back( {21603612,3816,96,16,1,1,-0.775,-0.75782 } ); +cells.push_back( {21603622,3836,96,16,2,1,-0.775,-0.708257 } ); +cells.push_back( {21703612,3817,96,17,1,1,-0.825,-0.75782 } ); +cells.push_back( {21703622,3837,96,17,2,1,-0.825,-0.708257 } ); +cells.push_back( {21803612,3818,96,18,1,1,-0.875,-0.75782 } ); +cells.push_back( {21803622,3838,96,18,2,1,-0.875,-0.708257 } ); +cells.push_back( {21903612,3819,96,19,1,1,-0.925,-0.75782 } ); +cells.push_back( {21903622,3839,96,19,2,1,-0.925,-0.708257 } ); +cells.push_back( {22003612,3820,96,20,1,1,-0.967,-0.75782 } ); +cells.push_back( {22003622,3840,96,20,2,1,-0.967,-0.708257 } ); +cells.push_back( {20103711,3841,97,1,1,2,-0.02675,-0.6531 } ); +cells.push_back( {20103721,3861,97,1,2,2,-0.02675,-0.603537 } ); +cells.push_back( {20203711,3842,97,2,1,2,-0.075,-0.6531 } ); +cells.push_back( {20203721,3862,97,2,2,2,-0.075,-0.603537 } ); +cells.push_back( {20303711,3843,97,3,1,2,-0.125,-0.6531 } ); +cells.push_back( {20303721,3863,97,3,2,2,-0.125,-0.603537 } ); +cells.push_back( {20403711,3844,97,4,1,2,-0.175,-0.6531 } ); +cells.push_back( {20403721,3864,97,4,2,2,-0.175,-0.603537 } ); +cells.push_back( {20503711,3845,97,5,1,2,-0.225,-0.6531 } ); +cells.push_back( {20503721,3865,97,5,2,2,-0.225,-0.603537 } ); +cells.push_back( {20603711,3846,97,6,1,2,-0.275,-0.6531 } ); +cells.push_back( {20603721,3866,97,6,2,2,-0.275,-0.603537 } ); +cells.push_back( {20703711,3847,97,7,1,2,-0.325,-0.6531 } ); +cells.push_back( {20703721,3867,97,7,2,2,-0.325,-0.603537 } ); +cells.push_back( {20803711,3848,97,8,1,2,-0.375,-0.6531 } ); +cells.push_back( {20803721,3868,97,8,2,2,-0.375,-0.603537 } ); +cells.push_back( {20903711,3849,97,9,1,2,-0.425,-0.6531 } ); +cells.push_back( {20903721,3869,97,9,2,2,-0.425,-0.603537 } ); +cells.push_back( {21003711,3850,97,10,1,2,-0.475,-0.6531 } ); +cells.push_back( {21003721,3870,97,10,2,2,-0.475,-0.603537 } ); +cells.push_back( {21103711,3851,97,11,1,2,-0.525,-0.6531 } ); +cells.push_back( {21103721,3871,97,11,2,2,-0.525,-0.603537 } ); +cells.push_back( {21203711,3852,97,12,1,2,-0.575,-0.6531 } ); +cells.push_back( {21203721,3872,97,12,2,2,-0.575,-0.603537 } ); +cells.push_back( {21303711,3853,97,13,1,2,-0.625,-0.6531 } ); +cells.push_back( {21303721,3873,97,13,2,2,-0.625,-0.603537 } ); +cells.push_back( {21403711,3854,97,14,1,2,-0.675,-0.6531 } ); +cells.push_back( {21403721,3874,97,14,2,2,-0.675,-0.603537 } ); +cells.push_back( {21503711,3855,97,15,1,2,-0.725,-0.6531 } ); +cells.push_back( {21503721,3875,97,15,2,2,-0.725,-0.603537 } ); +cells.push_back( {21603711,3856,97,16,1,2,-0.775,-0.6531 } ); +cells.push_back( {21603721,3876,97,16,2,2,-0.775,-0.603537 } ); +cells.push_back( {21703711,3857,97,17,1,2,-0.825,-0.6531 } ); +cells.push_back( {21703721,3877,97,17,2,2,-0.825,-0.603537 } ); +cells.push_back( {21803711,3858,97,18,1,2,-0.875,-0.6531 } ); +cells.push_back( {21803721,3878,97,18,2,2,-0.875,-0.603537 } ); +cells.push_back( {21903711,3859,97,19,1,2,-0.925,-0.6531 } ); +cells.push_back( {21903721,3879,97,19,2,2,-0.925,-0.603537 } ); +cells.push_back( {22003711,3860,97,20,1,2,-0.967,-0.6531 } ); +cells.push_back( {22003721,3880,97,20,2,2,-0.967,-0.603537 } ); +cells.push_back( {20103712,3841,97,1,1,1,-0.02675,-0.6531 } ); +cells.push_back( {20103722,3861,97,1,2,1,-0.02675,-0.603537 } ); +cells.push_back( {20203712,3842,97,2,1,1,-0.075,-0.6531 } ); +cells.push_back( {20203722,3862,97,2,2,1,-0.075,-0.603537 } ); +cells.push_back( {20303712,3843,97,3,1,1,-0.125,-0.6531 } ); +cells.push_back( {20303722,3863,97,3,2,1,-0.125,-0.603537 } ); +cells.push_back( {20403712,3844,97,4,1,1,-0.175,-0.6531 } ); +cells.push_back( {20403722,3864,97,4,2,1,-0.175,-0.603537 } ); +cells.push_back( {20503712,3845,97,5,1,1,-0.225,-0.6531 } ); +cells.push_back( {20503722,3865,97,5,2,1,-0.225,-0.603537 } ); +cells.push_back( {20603712,3846,97,6,1,1,-0.275,-0.6531 } ); +cells.push_back( {20603722,3866,97,6,2,1,-0.275,-0.603537 } ); +cells.push_back( {20703712,3847,97,7,1,1,-0.325,-0.6531 } ); +cells.push_back( {20703722,3867,97,7,2,1,-0.325,-0.603537 } ); +cells.push_back( {20803712,3848,97,8,1,1,-0.375,-0.6531 } ); +cells.push_back( {20803722,3868,97,8,2,1,-0.375,-0.603537 } ); +cells.push_back( {20903712,3849,97,9,1,1,-0.425,-0.6531 } ); +cells.push_back( {20903722,3869,97,9,2,1,-0.425,-0.603537 } ); +cells.push_back( {21003712,3850,97,10,1,1,-0.475,-0.6531 } ); +cells.push_back( {21003722,3870,97,10,2,1,-0.475,-0.603537 } ); +cells.push_back( {21103712,3851,97,11,1,1,-0.525,-0.6531 } ); +cells.push_back( {21103722,3871,97,11,2,1,-0.525,-0.603537 } ); +cells.push_back( {21203712,3852,97,12,1,1,-0.575,-0.6531 } ); +cells.push_back( {21203722,3872,97,12,2,1,-0.575,-0.603537 } ); +cells.push_back( {21303712,3853,97,13,1,1,-0.625,-0.6531 } ); +cells.push_back( {21303722,3873,97,13,2,1,-0.625,-0.603537 } ); +cells.push_back( {21403712,3854,97,14,1,1,-0.675,-0.6531 } ); +cells.push_back( {21403722,3874,97,14,2,1,-0.675,-0.603537 } ); +cells.push_back( {21503712,3855,97,15,1,1,-0.725,-0.6531 } ); +cells.push_back( {21503722,3875,97,15,2,1,-0.725,-0.603537 } ); +cells.push_back( {21603712,3856,97,16,1,1,-0.775,-0.6531 } ); +cells.push_back( {21603722,3876,97,16,2,1,-0.775,-0.603537 } ); +cells.push_back( {21703712,3857,97,17,1,1,-0.825,-0.6531 } ); +cells.push_back( {21703722,3877,97,17,2,1,-0.825,-0.603537 } ); +cells.push_back( {21803712,3858,97,18,1,1,-0.875,-0.6531 } ); +cells.push_back( {21803722,3878,97,18,2,1,-0.875,-0.603537 } ); +cells.push_back( {21903712,3859,97,19,1,1,-0.925,-0.6531 } ); +cells.push_back( {21903722,3879,97,19,2,1,-0.925,-0.603537 } ); +cells.push_back( {22003712,3860,97,20,1,1,-0.967,-0.6531 } ); +cells.push_back( {22003722,3880,97,20,2,1,-0.967,-0.603537 } ); +cells.push_back( {20103811,3881,98,1,1,2,-0.02675,-0.54838 } ); +cells.push_back( {20103821,3901,98,1,2,2,-0.02675,-0.498817 } ); +cells.push_back( {20203811,3882,98,2,1,2,-0.075,-0.54838 } ); +cells.push_back( {20203821,3902,98,2,2,2,-0.075,-0.498817 } ); +cells.push_back( {20303811,3883,98,3,1,2,-0.125,-0.54838 } ); +cells.push_back( {20303821,3903,98,3,2,2,-0.125,-0.498817 } ); +cells.push_back( {20403811,3884,98,4,1,2,-0.175,-0.54838 } ); +cells.push_back( {20403821,3904,98,4,2,2,-0.175,-0.498817 } ); +cells.push_back( {20503811,3885,98,5,1,2,-0.225,-0.54838 } ); +cells.push_back( {20503821,3905,98,5,2,2,-0.225,-0.498817 } ); +cells.push_back( {20603811,3886,98,6,1,2,-0.275,-0.54838 } ); +cells.push_back( {20603821,3906,98,6,2,2,-0.275,-0.498817 } ); +cells.push_back( {20703811,3887,98,7,1,2,-0.325,-0.54838 } ); +cells.push_back( {20703821,3907,98,7,2,2,-0.325,-0.498817 } ); +cells.push_back( {20803811,3888,98,8,1,2,-0.375,-0.54838 } ); +cells.push_back( {20803821,3908,98,8,2,2,-0.375,-0.498817 } ); +cells.push_back( {20903811,3889,98,9,1,2,-0.425,-0.54838 } ); +cells.push_back( {20903821,3909,98,9,2,2,-0.425,-0.498817 } ); +cells.push_back( {21003811,3890,98,10,1,2,-0.475,-0.54838 } ); +cells.push_back( {21003821,3910,98,10,2,2,-0.475,-0.498817 } ); +cells.push_back( {21103811,3891,98,11,1,2,-0.525,-0.54838 } ); +cells.push_back( {21103821,3911,98,11,2,2,-0.525,-0.498817 } ); +cells.push_back( {21203811,3892,98,12,1,2,-0.575,-0.54838 } ); +cells.push_back( {21203821,3912,98,12,2,2,-0.575,-0.498817 } ); +cells.push_back( {21303811,3893,98,13,1,2,-0.625,-0.54838 } ); +cells.push_back( {21303821,3913,98,13,2,2,-0.625,-0.498817 } ); +cells.push_back( {21403811,3894,98,14,1,2,-0.675,-0.54838 } ); +cells.push_back( {21403821,3914,98,14,2,2,-0.675,-0.498817 } ); +cells.push_back( {21503811,3895,98,15,1,2,-0.725,-0.54838 } ); +cells.push_back( {21503821,3915,98,15,2,2,-0.725,-0.498817 } ); +cells.push_back( {21603811,3896,98,16,1,2,-0.775,-0.54838 } ); +cells.push_back( {21603821,3916,98,16,2,2,-0.775,-0.498817 } ); +cells.push_back( {21703811,3897,98,17,1,2,-0.825,-0.54838 } ); +cells.push_back( {21703821,3917,98,17,2,2,-0.825,-0.498817 } ); +cells.push_back( {21803811,3898,98,18,1,2,-0.875,-0.54838 } ); +cells.push_back( {21803821,3918,98,18,2,2,-0.875,-0.498817 } ); +cells.push_back( {21903811,3899,98,19,1,2,-0.925,-0.54838 } ); +cells.push_back( {21903821,3919,98,19,2,2,-0.925,-0.498817 } ); +cells.push_back( {22003811,3900,98,20,1,2,-0.967,-0.54838 } ); +cells.push_back( {22003821,3920,98,20,2,2,-0.967,-0.498817 } ); +cells.push_back( {20103812,3881,98,1,1,1,-0.02675,-0.54838 } ); +cells.push_back( {20103822,3901,98,1,2,1,-0.02675,-0.498817 } ); +cells.push_back( {20203812,3882,98,2,1,1,-0.075,-0.54838 } ); +cells.push_back( {20203822,3902,98,2,2,1,-0.075,-0.498817 } ); +cells.push_back( {20303812,3883,98,3,1,1,-0.125,-0.54838 } ); +cells.push_back( {20303822,3903,98,3,2,1,-0.125,-0.498817 } ); +cells.push_back( {20403812,3884,98,4,1,1,-0.175,-0.54838 } ); +cells.push_back( {20403822,3904,98,4,2,1,-0.175,-0.498817 } ); +cells.push_back( {20503812,3885,98,5,1,1,-0.225,-0.54838 } ); +cells.push_back( {20503822,3905,98,5,2,1,-0.225,-0.498817 } ); +cells.push_back( {20603812,3886,98,6,1,1,-0.275,-0.54838 } ); +cells.push_back( {20603822,3906,98,6,2,1,-0.275,-0.498817 } ); +cells.push_back( {20703812,3887,98,7,1,1,-0.325,-0.54838 } ); +cells.push_back( {20703822,3907,98,7,2,1,-0.325,-0.498817 } ); +cells.push_back( {20803812,3888,98,8,1,1,-0.375,-0.54838 } ); +cells.push_back( {20803822,3908,98,8,2,1,-0.375,-0.498817 } ); +cells.push_back( {20903812,3889,98,9,1,1,-0.425,-0.54838 } ); +cells.push_back( {20903822,3909,98,9,2,1,-0.425,-0.498817 } ); +cells.push_back( {21003812,3890,98,10,1,1,-0.475,-0.54838 } ); +cells.push_back( {21003822,3910,98,10,2,1,-0.475,-0.498817 } ); +cells.push_back( {21103812,3891,98,11,1,1,-0.525,-0.54838 } ); +cells.push_back( {21103822,3911,98,11,2,1,-0.525,-0.498817 } ); +cells.push_back( {21203812,3892,98,12,1,1,-0.575,-0.54838 } ); +cells.push_back( {21203822,3912,98,12,2,1,-0.575,-0.498817 } ); +cells.push_back( {21303812,3893,98,13,1,1,-0.625,-0.54838 } ); +cells.push_back( {21303822,3913,98,13,2,1,-0.625,-0.498817 } ); +cells.push_back( {21403812,3894,98,14,1,1,-0.675,-0.54838 } ); +cells.push_back( {21403822,3914,98,14,2,1,-0.675,-0.498817 } ); +cells.push_back( {21503812,3895,98,15,1,1,-0.725,-0.54838 } ); +cells.push_back( {21503822,3915,98,15,2,1,-0.725,-0.498817 } ); +cells.push_back( {21603812,3896,98,16,1,1,-0.775,-0.54838 } ); +cells.push_back( {21603822,3916,98,16,2,1,-0.775,-0.498817 } ); +cells.push_back( {21703812,3897,98,17,1,1,-0.825,-0.54838 } ); +cells.push_back( {21703822,3917,98,17,2,1,-0.825,-0.498817 } ); +cells.push_back( {21803812,3898,98,18,1,1,-0.875,-0.54838 } ); +cells.push_back( {21803822,3918,98,18,2,1,-0.875,-0.498817 } ); +cells.push_back( {21903812,3899,98,19,1,1,-0.925,-0.54838 } ); +cells.push_back( {21903822,3919,98,19,2,1,-0.925,-0.498817 } ); +cells.push_back( {22003812,3900,98,20,1,1,-0.967,-0.54838 } ); +cells.push_back( {22003822,3920,98,20,2,1,-0.967,-0.498817 } ); +cells.push_back( {20103911,3921,99,1,1,2,-0.02675,-0.44366 } ); +cells.push_back( {20103921,3941,99,1,2,2,-0.02675,-0.394097 } ); +cells.push_back( {20203911,3922,99,2,1,2,-0.075,-0.44366 } ); +cells.push_back( {20203921,3942,99,2,2,2,-0.075,-0.394097 } ); +cells.push_back( {20303911,3923,99,3,1,2,-0.125,-0.44366 } ); +cells.push_back( {20303921,3943,99,3,2,2,-0.125,-0.394097 } ); +cells.push_back( {20403911,3924,99,4,1,2,-0.175,-0.44366 } ); +cells.push_back( {20403921,3944,99,4,2,2,-0.175,-0.394097 } ); +cells.push_back( {20503911,3925,99,5,1,2,-0.225,-0.44366 } ); +cells.push_back( {20503921,3945,99,5,2,2,-0.225,-0.394097 } ); +cells.push_back( {20603911,3926,99,6,1,2,-0.275,-0.44366 } ); +cells.push_back( {20603921,3946,99,6,2,2,-0.275,-0.394097 } ); +cells.push_back( {20703911,3927,99,7,1,2,-0.325,-0.44366 } ); +cells.push_back( {20703921,3947,99,7,2,2,-0.325,-0.394097 } ); +cells.push_back( {20803911,3928,99,8,1,2,-0.375,-0.44366 } ); +cells.push_back( {20803921,3948,99,8,2,2,-0.375,-0.394097 } ); +cells.push_back( {20903911,3929,99,9,1,2,-0.425,-0.44366 } ); +cells.push_back( {20903921,3949,99,9,2,2,-0.425,-0.394097 } ); +cells.push_back( {21003911,3930,99,10,1,2,-0.475,-0.44366 } ); +cells.push_back( {21003921,3950,99,10,2,2,-0.475,-0.394097 } ); +cells.push_back( {21103911,3931,99,11,1,2,-0.525,-0.44366 } ); +cells.push_back( {21103921,3951,99,11,2,2,-0.525,-0.394097 } ); +cells.push_back( {21203911,3932,99,12,1,2,-0.575,-0.44366 } ); +cells.push_back( {21203921,3952,99,12,2,2,-0.575,-0.394097 } ); +cells.push_back( {21303911,3933,99,13,1,2,-0.625,-0.44366 } ); +cells.push_back( {21303921,3953,99,13,2,2,-0.625,-0.394097 } ); +cells.push_back( {21403911,3934,99,14,1,2,-0.675,-0.44366 } ); +cells.push_back( {21403921,3954,99,14,2,2,-0.675,-0.394097 } ); +cells.push_back( {21503911,3935,99,15,1,2,-0.725,-0.44366 } ); +cells.push_back( {21503921,3955,99,15,2,2,-0.725,-0.394097 } ); +cells.push_back( {21603911,3936,99,16,1,2,-0.775,-0.44366 } ); +cells.push_back( {21603921,3956,99,16,2,2,-0.775,-0.394097 } ); +cells.push_back( {21703911,3937,99,17,1,2,-0.825,-0.44366 } ); +cells.push_back( {21703921,3957,99,17,2,2,-0.825,-0.394097 } ); +cells.push_back( {21803911,3938,99,18,1,2,-0.875,-0.44366 } ); +cells.push_back( {21803921,3958,99,18,2,2,-0.875,-0.394097 } ); +cells.push_back( {21903911,3939,99,19,1,2,-0.925,-0.44366 } ); +cells.push_back( {21903921,3959,99,19,2,2,-0.925,-0.394097 } ); +cells.push_back( {22003911,3940,99,20,1,2,-0.967,-0.44366 } ); +cells.push_back( {22003921,3960,99,20,2,2,-0.967,-0.394097 } ); +cells.push_back( {20103912,3921,99,1,1,1,-0.02675,-0.44366 } ); +cells.push_back( {20103922,3941,99,1,2,1,-0.02675,-0.394097 } ); +cells.push_back( {20203912,3922,99,2,1,1,-0.075,-0.44366 } ); +cells.push_back( {20203922,3942,99,2,2,1,-0.075,-0.394097 } ); +cells.push_back( {20303912,3923,99,3,1,1,-0.125,-0.44366 } ); +cells.push_back( {20303922,3943,99,3,2,1,-0.125,-0.394097 } ); +cells.push_back( {20403912,3924,99,4,1,1,-0.175,-0.44366 } ); +cells.push_back( {20403922,3944,99,4,2,1,-0.175,-0.394097 } ); +cells.push_back( {20503912,3925,99,5,1,1,-0.225,-0.44366 } ); +cells.push_back( {20503922,3945,99,5,2,1,-0.225,-0.394097 } ); +cells.push_back( {20603912,3926,99,6,1,1,-0.275,-0.44366 } ); +cells.push_back( {20603922,3946,99,6,2,1,-0.275,-0.394097 } ); +cells.push_back( {20703912,3927,99,7,1,1,-0.325,-0.44366 } ); +cells.push_back( {20703922,3947,99,7,2,1,-0.325,-0.394097 } ); +cells.push_back( {20803912,3928,99,8,1,1,-0.375,-0.44366 } ); +cells.push_back( {20803922,3948,99,8,2,1,-0.375,-0.394097 } ); +cells.push_back( {20903912,3929,99,9,1,1,-0.425,-0.44366 } ); +cells.push_back( {20903922,3949,99,9,2,1,-0.425,-0.394097 } ); +cells.push_back( {21003912,3930,99,10,1,1,-0.475,-0.44366 } ); +cells.push_back( {21003922,3950,99,10,2,1,-0.475,-0.394097 } ); +cells.push_back( {21103912,3931,99,11,1,1,-0.525,-0.44366 } ); +cells.push_back( {21103922,3951,99,11,2,1,-0.525,-0.394097 } ); +cells.push_back( {21203912,3932,99,12,1,1,-0.575,-0.44366 } ); +cells.push_back( {21203922,3952,99,12,2,1,-0.575,-0.394097 } ); +cells.push_back( {21303912,3933,99,13,1,1,-0.625,-0.44366 } ); +cells.push_back( {21303922,3953,99,13,2,1,-0.625,-0.394097 } ); +cells.push_back( {21403912,3934,99,14,1,1,-0.675,-0.44366 } ); +cells.push_back( {21403922,3954,99,14,2,1,-0.675,-0.394097 } ); +cells.push_back( {21503912,3935,99,15,1,1,-0.725,-0.44366 } ); +cells.push_back( {21503922,3955,99,15,2,1,-0.725,-0.394097 } ); +cells.push_back( {21603912,3936,99,16,1,1,-0.775,-0.44366 } ); +cells.push_back( {21603922,3956,99,16,2,1,-0.775,-0.394097 } ); +cells.push_back( {21703912,3937,99,17,1,1,-0.825,-0.44366 } ); +cells.push_back( {21703922,3957,99,17,2,1,-0.825,-0.394097 } ); +cells.push_back( {21803912,3938,99,18,1,1,-0.875,-0.44366 } ); +cells.push_back( {21803922,3958,99,18,2,1,-0.875,-0.394097 } ); +cells.push_back( {21903912,3939,99,19,1,1,-0.925,-0.44366 } ); +cells.push_back( {21903922,3959,99,19,2,1,-0.925,-0.394097 } ); +cells.push_back( {22003912,3940,99,20,1,1,-0.967,-0.44366 } ); +cells.push_back( {22003922,3960,99,20,2,1,-0.967,-0.394097 } ); +cells.push_back( {20104011,3961,100,1,1,2,-0.02675,-0.338941 } ); +cells.push_back( {20104021,3981,100,1,2,2,-0.02675,-0.289378 } ); +cells.push_back( {20204011,3962,100,2,1,2,-0.075,-0.338941 } ); +cells.push_back( {20204021,3982,100,2,2,2,-0.075,-0.289378 } ); +cells.push_back( {20304011,3963,100,3,1,2,-0.125,-0.338941 } ); +cells.push_back( {20304021,3983,100,3,2,2,-0.125,-0.289378 } ); +cells.push_back( {20404011,3964,100,4,1,2,-0.175,-0.338941 } ); +cells.push_back( {20404021,3984,100,4,2,2,-0.175,-0.289378 } ); +cells.push_back( {20504011,3965,100,5,1,2,-0.225,-0.338941 } ); +cells.push_back( {20504021,3985,100,5,2,2,-0.225,-0.289378 } ); +cells.push_back( {20604011,3966,100,6,1,2,-0.275,-0.338941 } ); +cells.push_back( {20604021,3986,100,6,2,2,-0.275,-0.289378 } ); +cells.push_back( {20704011,3967,100,7,1,2,-0.325,-0.338941 } ); +cells.push_back( {20704021,3987,100,7,2,2,-0.325,-0.289378 } ); +cells.push_back( {20804011,3968,100,8,1,2,-0.375,-0.338941 } ); +cells.push_back( {20804021,3988,100,8,2,2,-0.375,-0.289378 } ); +cells.push_back( {20904011,3969,100,9,1,2,-0.425,-0.338941 } ); +cells.push_back( {20904021,3989,100,9,2,2,-0.425,-0.289378 } ); +cells.push_back( {21004011,3970,100,10,1,2,-0.475,-0.338941 } ); +cells.push_back( {21004021,3990,100,10,2,2,-0.475,-0.289378 } ); +cells.push_back( {21104011,3971,100,11,1,2,-0.525,-0.338941 } ); +cells.push_back( {21104021,3991,100,11,2,2,-0.525,-0.289378 } ); +cells.push_back( {21204011,3972,100,12,1,2,-0.575,-0.338941 } ); +cells.push_back( {21204021,3992,100,12,2,2,-0.575,-0.289378 } ); +cells.push_back( {21304011,3973,100,13,1,2,-0.625,-0.338941 } ); +cells.push_back( {21304021,3993,100,13,2,2,-0.625,-0.289378 } ); +cells.push_back( {21404011,3974,100,14,1,2,-0.675,-0.338941 } ); +cells.push_back( {21404021,3994,100,14,2,2,-0.675,-0.289378 } ); +cells.push_back( {21504011,3975,100,15,1,2,-0.725,-0.338941 } ); +cells.push_back( {21504021,3995,100,15,2,2,-0.725,-0.289378 } ); +cells.push_back( {21604011,3976,100,16,1,2,-0.775,-0.338941 } ); +cells.push_back( {21604021,3996,100,16,2,2,-0.775,-0.289378 } ); +cells.push_back( {21704011,3977,100,17,1,2,-0.825,-0.338941 } ); +cells.push_back( {21704021,3997,100,17,2,2,-0.825,-0.289378 } ); +cells.push_back( {21804011,3978,100,18,1,2,-0.875,-0.338941 } ); +cells.push_back( {21804021,3998,100,18,2,2,-0.875,-0.289378 } ); +cells.push_back( {21904011,3979,100,19,1,2,-0.925,-0.338941 } ); +cells.push_back( {21904021,3999,100,19,2,2,-0.925,-0.289378 } ); +cells.push_back( {22004011,3980,100,20,1,2,-0.967,-0.338941 } ); +cells.push_back( {22004021,4000,100,20,2,2,-0.967,-0.289378 } ); +cells.push_back( {20104012,3961,100,1,1,1,-0.02675,-0.338941 } ); +cells.push_back( {20104022,3981,100,1,2,1,-0.02675,-0.289378 } ); +cells.push_back( {20204012,3962,100,2,1,1,-0.075,-0.338941 } ); +cells.push_back( {20204022,3982,100,2,2,1,-0.075,-0.289378 } ); +cells.push_back( {20304012,3963,100,3,1,1,-0.125,-0.338941 } ); +cells.push_back( {20304022,3983,100,3,2,1,-0.125,-0.289378 } ); +cells.push_back( {20404012,3964,100,4,1,1,-0.175,-0.338941 } ); +cells.push_back( {20404022,3984,100,4,2,1,-0.175,-0.289378 } ); +cells.push_back( {20504012,3965,100,5,1,1,-0.225,-0.338941 } ); +cells.push_back( {20504022,3985,100,5,2,1,-0.225,-0.289378 } ); +cells.push_back( {20604012,3966,100,6,1,1,-0.275,-0.338941 } ); +cells.push_back( {20604022,3986,100,6,2,1,-0.275,-0.289378 } ); +cells.push_back( {20704012,3967,100,7,1,1,-0.325,-0.338941 } ); +cells.push_back( {20704022,3987,100,7,2,1,-0.325,-0.289378 } ); +cells.push_back( {20804012,3968,100,8,1,1,-0.375,-0.338941 } ); +cells.push_back( {20804022,3988,100,8,2,1,-0.375,-0.289378 } ); +cells.push_back( {20904012,3969,100,9,1,1,-0.425,-0.338941 } ); +cells.push_back( {20904022,3989,100,9,2,1,-0.425,-0.289378 } ); +cells.push_back( {21004012,3970,100,10,1,1,-0.475,-0.338941 } ); +cells.push_back( {21004022,3990,100,10,2,1,-0.475,-0.289378 } ); +cells.push_back( {21104012,3971,100,11,1,1,-0.525,-0.338941 } ); +cells.push_back( {21104022,3991,100,11,2,1,-0.525,-0.289378 } ); +cells.push_back( {21204012,3972,100,12,1,1,-0.575,-0.338941 } ); +cells.push_back( {21204022,3992,100,12,2,1,-0.575,-0.289378 } ); +cells.push_back( {21304012,3973,100,13,1,1,-0.625,-0.338941 } ); +cells.push_back( {21304022,3993,100,13,2,1,-0.625,-0.289378 } ); +cells.push_back( {21404012,3974,100,14,1,1,-0.675,-0.338941 } ); +cells.push_back( {21404022,3994,100,14,2,1,-0.675,-0.289378 } ); +cells.push_back( {21504012,3975,100,15,1,1,-0.725,-0.338941 } ); +cells.push_back( {21504022,3995,100,15,2,1,-0.725,-0.289378 } ); +cells.push_back( {21604012,3976,100,16,1,1,-0.775,-0.338941 } ); +cells.push_back( {21604022,3996,100,16,2,1,-0.775,-0.289378 } ); +cells.push_back( {21704012,3977,100,17,1,1,-0.825,-0.338941 } ); +cells.push_back( {21704022,3997,100,17,2,1,-0.825,-0.289378 } ); +cells.push_back( {21804012,3978,100,18,1,1,-0.875,-0.338941 } ); +cells.push_back( {21804022,3998,100,18,2,1,-0.875,-0.289378 } ); +cells.push_back( {21904012,3979,100,19,1,1,-0.925,-0.338941 } ); +cells.push_back( {21904022,3999,100,19,2,1,-0.925,-0.289378 } ); +cells.push_back( {22004012,3980,100,20,1,1,-0.967,-0.338941 } ); +cells.push_back( {22004022,4000,100,20,2,1,-0.967,-0.289378 } ); +cells.push_back( {20104111,4001,101,1,1,2,-0.02675,-0.234221 } ); +cells.push_back( {20104121,4021,101,1,2,2,-0.02675,-0.184658 } ); +cells.push_back( {20204111,4002,101,2,1,2,-0.075,-0.234221 } ); +cells.push_back( {20204121,4022,101,2,2,2,-0.075,-0.184658 } ); +cells.push_back( {20304111,4003,101,3,1,2,-0.125,-0.234221 } ); +cells.push_back( {20304121,4023,101,3,2,2,-0.125,-0.184658 } ); +cells.push_back( {20404111,4004,101,4,1,2,-0.175,-0.234221 } ); +cells.push_back( {20404121,4024,101,4,2,2,-0.175,-0.184658 } ); +cells.push_back( {20504111,4005,101,5,1,2,-0.225,-0.234221 } ); +cells.push_back( {20504121,4025,101,5,2,2,-0.225,-0.184658 } ); +cells.push_back( {20604111,4006,101,6,1,2,-0.275,-0.234221 } ); +cells.push_back( {20604121,4026,101,6,2,2,-0.275,-0.184658 } ); +cells.push_back( {20704111,4007,101,7,1,2,-0.325,-0.234221 } ); +cells.push_back( {20704121,4027,101,7,2,2,-0.325,-0.184658 } ); +cells.push_back( {20804111,4008,101,8,1,2,-0.375,-0.234221 } ); +cells.push_back( {20804121,4028,101,8,2,2,-0.375,-0.184658 } ); +cells.push_back( {20904111,4009,101,9,1,2,-0.425,-0.234221 } ); +cells.push_back( {20904121,4029,101,9,2,2,-0.425,-0.184658 } ); +cells.push_back( {21004111,4010,101,10,1,2,-0.475,-0.234221 } ); +cells.push_back( {21004121,4030,101,10,2,2,-0.475,-0.184658 } ); +cells.push_back( {21104111,4011,101,11,1,2,-0.525,-0.234221 } ); +cells.push_back( {21104121,4031,101,11,2,2,-0.525,-0.184658 } ); +cells.push_back( {21204111,4012,101,12,1,2,-0.575,-0.234221 } ); +cells.push_back( {21204121,4032,101,12,2,2,-0.575,-0.184658 } ); +cells.push_back( {21304111,4013,101,13,1,2,-0.625,-0.234221 } ); +cells.push_back( {21304121,4033,101,13,2,2,-0.625,-0.184658 } ); +cells.push_back( {21404111,4014,101,14,1,2,-0.675,-0.234221 } ); +cells.push_back( {21404121,4034,101,14,2,2,-0.675,-0.184658 } ); +cells.push_back( {21504111,4015,101,15,1,2,-0.725,-0.234221 } ); +cells.push_back( {21504121,4035,101,15,2,2,-0.725,-0.184658 } ); +cells.push_back( {21604111,4016,101,16,1,2,-0.775,-0.234221 } ); +cells.push_back( {21604121,4036,101,16,2,2,-0.775,-0.184658 } ); +cells.push_back( {21704111,4017,101,17,1,2,-0.825,-0.234221 } ); +cells.push_back( {21704121,4037,101,17,2,2,-0.825,-0.184658 } ); +cells.push_back( {21804111,4018,101,18,1,2,-0.875,-0.234221 } ); +cells.push_back( {21804121,4038,101,18,2,2,-0.875,-0.184658 } ); +cells.push_back( {21904111,4019,101,19,1,2,-0.925,-0.234221 } ); +cells.push_back( {21904121,4039,101,19,2,2,-0.925,-0.184658 } ); +cells.push_back( {22004111,4020,101,20,1,2,-0.967,-0.234221 } ); +cells.push_back( {22004121,4040,101,20,2,2,-0.967,-0.184658 } ); +cells.push_back( {20104112,4001,101,1,1,1,-0.02675,-0.234221 } ); +cells.push_back( {20104122,4021,101,1,2,1,-0.02675,-0.184658 } ); +cells.push_back( {20204112,4002,101,2,1,1,-0.075,-0.234221 } ); +cells.push_back( {20204122,4022,101,2,2,1,-0.075,-0.184658 } ); +cells.push_back( {20304112,4003,101,3,1,1,-0.125,-0.234221 } ); +cells.push_back( {20304122,4023,101,3,2,1,-0.125,-0.184658 } ); +cells.push_back( {20404112,4004,101,4,1,1,-0.175,-0.234221 } ); +cells.push_back( {20404122,4024,101,4,2,1,-0.175,-0.184658 } ); +cells.push_back( {20504112,4005,101,5,1,1,-0.225,-0.234221 } ); +cells.push_back( {20504122,4025,101,5,2,1,-0.225,-0.184658 } ); +cells.push_back( {20604112,4006,101,6,1,1,-0.275,-0.234221 } ); +cells.push_back( {20604122,4026,101,6,2,1,-0.275,-0.184658 } ); +cells.push_back( {20704112,4007,101,7,1,1,-0.325,-0.234221 } ); +cells.push_back( {20704122,4027,101,7,2,1,-0.325,-0.184658 } ); +cells.push_back( {20804112,4008,101,8,1,1,-0.375,-0.234221 } ); +cells.push_back( {20804122,4028,101,8,2,1,-0.375,-0.184658 } ); +cells.push_back( {20904112,4009,101,9,1,1,-0.425,-0.234221 } ); +cells.push_back( {20904122,4029,101,9,2,1,-0.425,-0.184658 } ); +cells.push_back( {21004112,4010,101,10,1,1,-0.475,-0.234221 } ); +cells.push_back( {21004122,4030,101,10,2,1,-0.475,-0.184658 } ); +cells.push_back( {21104112,4011,101,11,1,1,-0.525,-0.234221 } ); +cells.push_back( {21104122,4031,101,11,2,1,-0.525,-0.184658 } ); +cells.push_back( {21204112,4012,101,12,1,1,-0.575,-0.234221 } ); +cells.push_back( {21204122,4032,101,12,2,1,-0.575,-0.184658 } ); +cells.push_back( {21304112,4013,101,13,1,1,-0.625,-0.234221 } ); +cells.push_back( {21304122,4033,101,13,2,1,-0.625,-0.184658 } ); +cells.push_back( {21404112,4014,101,14,1,1,-0.675,-0.234221 } ); +cells.push_back( {21404122,4034,101,14,2,1,-0.675,-0.184658 } ); +cells.push_back( {21504112,4015,101,15,1,1,-0.725,-0.234221 } ); +cells.push_back( {21504122,4035,101,15,2,1,-0.725,-0.184658 } ); +cells.push_back( {21604112,4016,101,16,1,1,-0.775,-0.234221 } ); +cells.push_back( {21604122,4036,101,16,2,1,-0.775,-0.184658 } ); +cells.push_back( {21704112,4017,101,17,1,1,-0.825,-0.234221 } ); +cells.push_back( {21704122,4037,101,17,2,1,-0.825,-0.184658 } ); +cells.push_back( {21804112,4018,101,18,1,1,-0.875,-0.234221 } ); +cells.push_back( {21804122,4038,101,18,2,1,-0.875,-0.184658 } ); +cells.push_back( {21904112,4019,101,19,1,1,-0.925,-0.234221 } ); +cells.push_back( {21904122,4039,101,19,2,1,-0.925,-0.184658 } ); +cells.push_back( {22004112,4020,101,20,1,1,-0.967,-0.234221 } ); +cells.push_back( {22004122,4040,101,20,2,1,-0.967,-0.184658 } ); +cells.push_back( {20104211,4041,102,1,1,2,-0.02675,-0.129501 } ); +cells.push_back( {20104221,4061,102,1,2,2,-0.02675,-0.0799382 } ); +cells.push_back( {20204211,4042,102,2,1,2,-0.075,-0.129501 } ); +cells.push_back( {20204221,4062,102,2,2,2,-0.075,-0.0799382 } ); +cells.push_back( {20304211,4043,102,3,1,2,-0.125,-0.129501 } ); +cells.push_back( {20304221,4063,102,3,2,2,-0.125,-0.0799382 } ); +cells.push_back( {20404211,4044,102,4,1,2,-0.175,-0.129501 } ); +cells.push_back( {20404221,4064,102,4,2,2,-0.175,-0.0799382 } ); +cells.push_back( {20504211,4045,102,5,1,2,-0.225,-0.129501 } ); +cells.push_back( {20504221,4065,102,5,2,2,-0.225,-0.0799382 } ); +cells.push_back( {20604211,4046,102,6,1,2,-0.275,-0.129501 } ); +cells.push_back( {20604221,4066,102,6,2,2,-0.275,-0.0799382 } ); +cells.push_back( {20704211,4047,102,7,1,2,-0.325,-0.129501 } ); +cells.push_back( {20704221,4067,102,7,2,2,-0.325,-0.0799382 } ); +cells.push_back( {20804211,4048,102,8,1,2,-0.375,-0.129501 } ); +cells.push_back( {20804221,4068,102,8,2,2,-0.375,-0.0799382 } ); +cells.push_back( {20904211,4049,102,9,1,2,-0.425,-0.129501 } ); +cells.push_back( {20904221,4069,102,9,2,2,-0.425,-0.0799382 } ); +cells.push_back( {21004211,4050,102,10,1,2,-0.475,-0.129501 } ); +cells.push_back( {21004221,4070,102,10,2,2,-0.475,-0.0799382 } ); +cells.push_back( {21104211,4051,102,11,1,2,-0.525,-0.129501 } ); +cells.push_back( {21104221,4071,102,11,2,2,-0.525,-0.0799382 } ); +cells.push_back( {21204211,4052,102,12,1,2,-0.575,-0.129501 } ); +cells.push_back( {21204221,4072,102,12,2,2,-0.575,-0.0799382 } ); +cells.push_back( {21304211,4053,102,13,1,2,-0.625,-0.129501 } ); +cells.push_back( {21304221,4073,102,13,2,2,-0.625,-0.0799382 } ); +cells.push_back( {21404211,4054,102,14,1,2,-0.675,-0.129501 } ); +cells.push_back( {21404221,4074,102,14,2,2,-0.675,-0.0799382 } ); +cells.push_back( {21504211,4055,102,15,1,2,-0.725,-0.129501 } ); +cells.push_back( {21504221,4075,102,15,2,2,-0.725,-0.0799382 } ); +cells.push_back( {21604211,4056,102,16,1,2,-0.775,-0.129501 } ); +cells.push_back( {21604221,4076,102,16,2,2,-0.775,-0.0799382 } ); +cells.push_back( {21704211,4057,102,17,1,2,-0.825,-0.129501 } ); +cells.push_back( {21704221,4077,102,17,2,2,-0.825,-0.0799382 } ); +cells.push_back( {21804211,4058,102,18,1,2,-0.875,-0.129501 } ); +cells.push_back( {21804221,4078,102,18,2,2,-0.875,-0.0799382 } ); +cells.push_back( {21904211,4059,102,19,1,2,-0.925,-0.129501 } ); +cells.push_back( {21904221,4079,102,19,2,2,-0.925,-0.0799382 } ); +cells.push_back( {22004211,4060,102,20,1,2,-0.967,-0.129501 } ); +cells.push_back( {22004221,4080,102,20,2,2,-0.967,-0.0799382 } ); +cells.push_back( {20104212,4041,102,1,1,1,-0.02675,-0.129501 } ); +cells.push_back( {20104222,4061,102,1,2,1,-0.02675,-0.0799382 } ); +cells.push_back( {20204212,4042,102,2,1,1,-0.075,-0.129501 } ); +cells.push_back( {20204222,4062,102,2,2,1,-0.075,-0.0799382 } ); +cells.push_back( {20304212,4043,102,3,1,1,-0.125,-0.129501 } ); +cells.push_back( {20304222,4063,102,3,2,1,-0.125,-0.0799382 } ); +cells.push_back( {20404212,4044,102,4,1,1,-0.175,-0.129501 } ); +cells.push_back( {20404222,4064,102,4,2,1,-0.175,-0.0799382 } ); +cells.push_back( {20504212,4045,102,5,1,1,-0.225,-0.129501 } ); +cells.push_back( {20504222,4065,102,5,2,1,-0.225,-0.0799382 } ); +cells.push_back( {20604212,4046,102,6,1,1,-0.275,-0.129501 } ); +cells.push_back( {20604222,4066,102,6,2,1,-0.275,-0.0799382 } ); +cells.push_back( {20704212,4047,102,7,1,1,-0.325,-0.129501 } ); +cells.push_back( {20704222,4067,102,7,2,1,-0.325,-0.0799382 } ); +cells.push_back( {20804212,4048,102,8,1,1,-0.375,-0.129501 } ); +cells.push_back( {20804222,4068,102,8,2,1,-0.375,-0.0799382 } ); +cells.push_back( {20904212,4049,102,9,1,1,-0.425,-0.129501 } ); +cells.push_back( {20904222,4069,102,9,2,1,-0.425,-0.0799382 } ); +cells.push_back( {21004212,4050,102,10,1,1,-0.475,-0.129501 } ); +cells.push_back( {21004222,4070,102,10,2,1,-0.475,-0.0799382 } ); +cells.push_back( {21104212,4051,102,11,1,1,-0.525,-0.129501 } ); +cells.push_back( {21104222,4071,102,11,2,1,-0.525,-0.0799382 } ); +cells.push_back( {21204212,4052,102,12,1,1,-0.575,-0.129501 } ); +cells.push_back( {21204222,4072,102,12,2,1,-0.575,-0.0799382 } ); +cells.push_back( {21304212,4053,102,13,1,1,-0.625,-0.129501 } ); +cells.push_back( {21304222,4073,102,13,2,1,-0.625,-0.0799382 } ); +cells.push_back( {21404212,4054,102,14,1,1,-0.675,-0.129501 } ); +cells.push_back( {21404222,4074,102,14,2,1,-0.675,-0.0799382 } ); +cells.push_back( {21504212,4055,102,15,1,1,-0.725,-0.129501 } ); +cells.push_back( {21504222,4075,102,15,2,1,-0.725,-0.0799382 } ); +cells.push_back( {21604212,4056,102,16,1,1,-0.775,-0.129501 } ); +cells.push_back( {21604222,4076,102,16,2,1,-0.775,-0.0799382 } ); +cells.push_back( {21704212,4057,102,17,1,1,-0.825,-0.129501 } ); +cells.push_back( {21704222,4077,102,17,2,1,-0.825,-0.0799382 } ); +cells.push_back( {21804212,4058,102,18,1,1,-0.875,-0.129501 } ); +cells.push_back( {21804222,4078,102,18,2,1,-0.875,-0.0799382 } ); +cells.push_back( {21904212,4059,102,19,1,1,-0.925,-0.129501 } ); +cells.push_back( {21904222,4079,102,19,2,1,-0.925,-0.0799382 } ); +cells.push_back( {22004212,4060,102,20,1,1,-0.967,-0.129501 } ); +cells.push_back( {22004222,4080,102,20,2,1,-0.967,-0.0799382 } ); +cells.push_back( {20104311,4081,103,1,1,2,-0.02675,-0.0247812 } ); +cells.push_back( {20104321,4101,103,1,2,2,-0.02675,0.0247816 } ); +cells.push_back( {20204311,4082,103,2,1,2,-0.075,-0.0247812 } ); +cells.push_back( {20204321,4102,103,2,2,2,-0.075,0.0247816 } ); +cells.push_back( {20304311,4083,103,3,1,2,-0.125,-0.0247812 } ); +cells.push_back( {20304321,4103,103,3,2,2,-0.125,0.0247816 } ); +cells.push_back( {20404311,4084,103,4,1,2,-0.175,-0.0247812 } ); +cells.push_back( {20404321,4104,103,4,2,2,-0.175,0.0247816 } ); +cells.push_back( {20504311,4085,103,5,1,2,-0.225,-0.0247812 } ); +cells.push_back( {20504321,4105,103,5,2,2,-0.225,0.0247816 } ); +cells.push_back( {20604311,4086,103,6,1,2,-0.275,-0.0247812 } ); +cells.push_back( {20604321,4106,103,6,2,2,-0.275,0.0247816 } ); +cells.push_back( {20704311,4087,103,7,1,2,-0.325,-0.0247812 } ); +cells.push_back( {20704321,4107,103,7,2,2,-0.325,0.0247816 } ); +cells.push_back( {20804311,4088,103,8,1,2,-0.375,-0.0247812 } ); +cells.push_back( {20804321,4108,103,8,2,2,-0.375,0.0247816 } ); +cells.push_back( {20904311,4089,103,9,1,2,-0.425,-0.0247812 } ); +cells.push_back( {20904321,4109,103,9,2,2,-0.425,0.0247816 } ); +cells.push_back( {21004311,4090,103,10,1,2,-0.475,-0.0247812 } ); +cells.push_back( {21004321,4110,103,10,2,2,-0.475,0.0247816 } ); +cells.push_back( {21104311,4091,103,11,1,2,-0.525,-0.0247812 } ); +cells.push_back( {21104321,4111,103,11,2,2,-0.525,0.0247816 } ); +cells.push_back( {21204311,4092,103,12,1,2,-0.575,-0.0247812 } ); +cells.push_back( {21204321,4112,103,12,2,2,-0.575,0.0247816 } ); +cells.push_back( {21304311,4093,103,13,1,2,-0.625,-0.0247812 } ); +cells.push_back( {21304321,4113,103,13,2,2,-0.625,0.0247816 } ); +cells.push_back( {21404311,4094,103,14,1,2,-0.675,-0.0247812 } ); +cells.push_back( {21404321,4114,103,14,2,2,-0.675,0.0247816 } ); +cells.push_back( {21504311,4095,103,15,1,2,-0.725,-0.0247812 } ); +cells.push_back( {21504321,4115,103,15,2,2,-0.725,0.0247816 } ); +cells.push_back( {21604311,4096,103,16,1,2,-0.775,-0.0247812 } ); +cells.push_back( {21604321,4116,103,16,2,2,-0.775,0.0247816 } ); +cells.push_back( {21704311,4097,103,17,1,2,-0.825,-0.0247812 } ); +cells.push_back( {21704321,4117,103,17,2,2,-0.825,0.0247816 } ); +cells.push_back( {21804311,4098,103,18,1,2,-0.875,-0.0247812 } ); +cells.push_back( {21804321,4118,103,18,2,2,-0.875,0.0247816 } ); +cells.push_back( {21904311,4099,103,19,1,2,-0.925,-0.0247812 } ); +cells.push_back( {21904321,4119,103,19,2,2,-0.925,0.0247816 } ); +cells.push_back( {22004311,4100,103,20,1,2,-0.967,-0.0247812 } ); +cells.push_back( {22004321,4120,103,20,2,2,-0.967,0.0247816 } ); +cells.push_back( {20104312,4081,103,1,1,1,-0.02675,-0.0247812 } ); +cells.push_back( {20104322,4101,103,1,2,1,-0.02675,0.0247816 } ); +cells.push_back( {20204312,4082,103,2,1,1,-0.075,-0.0247812 } ); +cells.push_back( {20204322,4102,103,2,2,1,-0.075,0.0247816 } ); +cells.push_back( {20304312,4083,103,3,1,1,-0.125,-0.0247812 } ); +cells.push_back( {20304322,4103,103,3,2,1,-0.125,0.0247816 } ); +cells.push_back( {20404312,4084,103,4,1,1,-0.175,-0.0247812 } ); +cells.push_back( {20404322,4104,103,4,2,1,-0.175,0.0247816 } ); +cells.push_back( {20504312,4085,103,5,1,1,-0.225,-0.0247812 } ); +cells.push_back( {20504322,4105,103,5,2,1,-0.225,0.0247816 } ); +cells.push_back( {20604312,4086,103,6,1,1,-0.275,-0.0247812 } ); +cells.push_back( {20604322,4106,103,6,2,1,-0.275,0.0247816 } ); +cells.push_back( {20704312,4087,103,7,1,1,-0.325,-0.0247812 } ); +cells.push_back( {20704322,4107,103,7,2,1,-0.325,0.0247816 } ); +cells.push_back( {20804312,4088,103,8,1,1,-0.375,-0.0247812 } ); +cells.push_back( {20804322,4108,103,8,2,1,-0.375,0.0247816 } ); +cells.push_back( {20904312,4089,103,9,1,1,-0.425,-0.0247812 } ); +cells.push_back( {20904322,4109,103,9,2,1,-0.425,0.0247816 } ); +cells.push_back( {21004312,4090,103,10,1,1,-0.475,-0.0247812 } ); +cells.push_back( {21004322,4110,103,10,2,1,-0.475,0.0247816 } ); +cells.push_back( {21104312,4091,103,11,1,1,-0.525,-0.0247812 } ); +cells.push_back( {21104322,4111,103,11,2,1,-0.525,0.0247816 } ); +cells.push_back( {21204312,4092,103,12,1,1,-0.575,-0.0247812 } ); +cells.push_back( {21204322,4112,103,12,2,1,-0.575,0.0247816 } ); +cells.push_back( {21304312,4093,103,13,1,1,-0.625,-0.0247812 } ); +cells.push_back( {21304322,4113,103,13,2,1,-0.625,0.0247816 } ); +cells.push_back( {21404312,4094,103,14,1,1,-0.675,-0.0247812 } ); +cells.push_back( {21404322,4114,103,14,2,1,-0.675,0.0247816 } ); +cells.push_back( {21504312,4095,103,15,1,1,-0.725,-0.0247812 } ); +cells.push_back( {21504322,4115,103,15,2,1,-0.725,0.0247816 } ); +cells.push_back( {21604312,4096,103,16,1,1,-0.775,-0.0247812 } ); +cells.push_back( {21604322,4116,103,16,2,1,-0.775,0.0247816 } ); +cells.push_back( {21704312,4097,103,17,1,1,-0.825,-0.0247812 } ); +cells.push_back( {21704322,4117,103,17,2,1,-0.825,0.0247816 } ); +cells.push_back( {21804312,4098,103,18,1,1,-0.875,-0.0247812 } ); +cells.push_back( {21804322,4118,103,18,2,1,-0.875,0.0247816 } ); +cells.push_back( {21904312,4099,103,19,1,1,-0.925,-0.0247812 } ); +cells.push_back( {21904322,4119,103,19,2,1,-0.925,0.0247816 } ); +cells.push_back( {22004312,4100,103,20,1,1,-0.967,-0.0247812 } ); +cells.push_back( {22004322,4120,103,20,2,1,-0.967,0.0247816 } ); +cells.push_back( {20104411,4121,104,1,1,2,-0.02675,0.0799385 } ); +cells.push_back( {20104421,4141,104,1,2,2,-0.02675,0.129501 } ); +cells.push_back( {20204411,4122,104,2,1,2,-0.075,0.0799385 } ); +cells.push_back( {20204421,4142,104,2,2,2,-0.075,0.129501 } ); +cells.push_back( {20304411,4123,104,3,1,2,-0.125,0.0799385 } ); +cells.push_back( {20304421,4143,104,3,2,2,-0.125,0.129501 } ); +cells.push_back( {20404411,4124,104,4,1,2,-0.175,0.0799385 } ); +cells.push_back( {20404421,4144,104,4,2,2,-0.175,0.129501 } ); +cells.push_back( {20504411,4125,104,5,1,2,-0.225,0.0799385 } ); +cells.push_back( {20504421,4145,104,5,2,2,-0.225,0.129501 } ); +cells.push_back( {20604411,4126,104,6,1,2,-0.275,0.0799385 } ); +cells.push_back( {20604421,4146,104,6,2,2,-0.275,0.129501 } ); +cells.push_back( {20704411,4127,104,7,1,2,-0.325,0.0799385 } ); +cells.push_back( {20704421,4147,104,7,2,2,-0.325,0.129501 } ); +cells.push_back( {20804411,4128,104,8,1,2,-0.375,0.0799385 } ); +cells.push_back( {20804421,4148,104,8,2,2,-0.375,0.129501 } ); +cells.push_back( {20904411,4129,104,9,1,2,-0.425,0.0799385 } ); +cells.push_back( {20904421,4149,104,9,2,2,-0.425,0.129501 } ); +cells.push_back( {21004411,4130,104,10,1,2,-0.475,0.0799385 } ); +cells.push_back( {21004421,4150,104,10,2,2,-0.475,0.129501 } ); +cells.push_back( {21104411,4131,104,11,1,2,-0.525,0.0799385 } ); +cells.push_back( {21104421,4151,104,11,2,2,-0.525,0.129501 } ); +cells.push_back( {21204411,4132,104,12,1,2,-0.575,0.0799385 } ); +cells.push_back( {21204421,4152,104,12,2,2,-0.575,0.129501 } ); +cells.push_back( {21304411,4133,104,13,1,2,-0.625,0.0799385 } ); +cells.push_back( {21304421,4153,104,13,2,2,-0.625,0.129501 } ); +cells.push_back( {21404411,4134,104,14,1,2,-0.675,0.0799385 } ); +cells.push_back( {21404421,4154,104,14,2,2,-0.675,0.129501 } ); +cells.push_back( {21504411,4135,104,15,1,2,-0.725,0.0799385 } ); +cells.push_back( {21504421,4155,104,15,2,2,-0.725,0.129501 } ); +cells.push_back( {21604411,4136,104,16,1,2,-0.775,0.0799385 } ); +cells.push_back( {21604421,4156,104,16,2,2,-0.775,0.129501 } ); +cells.push_back( {21704411,4137,104,17,1,2,-0.825,0.0799385 } ); +cells.push_back( {21704421,4157,104,17,2,2,-0.825,0.129501 } ); +cells.push_back( {21804411,4138,104,18,1,2,-0.875,0.0799385 } ); +cells.push_back( {21804421,4158,104,18,2,2,-0.875,0.129501 } ); +cells.push_back( {21904411,4139,104,19,1,2,-0.925,0.0799385 } ); +cells.push_back( {21904421,4159,104,19,2,2,-0.925,0.129501 } ); +cells.push_back( {22004411,4140,104,20,1,2,-0.967,0.0799385 } ); +cells.push_back( {22004421,4160,104,20,2,2,-0.967,0.129501 } ); +cells.push_back( {20104412,4121,104,1,1,1,-0.02675,0.0799385 } ); +cells.push_back( {20104422,4141,104,1,2,1,-0.02675,0.129501 } ); +cells.push_back( {20204412,4122,104,2,1,1,-0.075,0.0799385 } ); +cells.push_back( {20204422,4142,104,2,2,1,-0.075,0.129501 } ); +cells.push_back( {20304412,4123,104,3,1,1,-0.125,0.0799385 } ); +cells.push_back( {20304422,4143,104,3,2,1,-0.125,0.129501 } ); +cells.push_back( {20404412,4124,104,4,1,1,-0.175,0.0799385 } ); +cells.push_back( {20404422,4144,104,4,2,1,-0.175,0.129501 } ); +cells.push_back( {20504412,4125,104,5,1,1,-0.225,0.0799385 } ); +cells.push_back( {20504422,4145,104,5,2,1,-0.225,0.129501 } ); +cells.push_back( {20604412,4126,104,6,1,1,-0.275,0.0799385 } ); +cells.push_back( {20604422,4146,104,6,2,1,-0.275,0.129501 } ); +cells.push_back( {20704412,4127,104,7,1,1,-0.325,0.0799385 } ); +cells.push_back( {20704422,4147,104,7,2,1,-0.325,0.129501 } ); +cells.push_back( {20804412,4128,104,8,1,1,-0.375,0.0799385 } ); +cells.push_back( {20804422,4148,104,8,2,1,-0.375,0.129501 } ); +cells.push_back( {20904412,4129,104,9,1,1,-0.425,0.0799385 } ); +cells.push_back( {20904422,4149,104,9,2,1,-0.425,0.129501 } ); +cells.push_back( {21004412,4130,104,10,1,1,-0.475,0.0799385 } ); +cells.push_back( {21004422,4150,104,10,2,1,-0.475,0.129501 } ); +cells.push_back( {21104412,4131,104,11,1,1,-0.525,0.0799385 } ); +cells.push_back( {21104422,4151,104,11,2,1,-0.525,0.129501 } ); +cells.push_back( {21204412,4132,104,12,1,1,-0.575,0.0799385 } ); +cells.push_back( {21204422,4152,104,12,2,1,-0.575,0.129501 } ); +cells.push_back( {21304412,4133,104,13,1,1,-0.625,0.0799385 } ); +cells.push_back( {21304422,4153,104,13,2,1,-0.625,0.129501 } ); +cells.push_back( {21404412,4134,104,14,1,1,-0.675,0.0799385 } ); +cells.push_back( {21404422,4154,104,14,2,1,-0.675,0.129501 } ); +cells.push_back( {21504412,4135,104,15,1,1,-0.725,0.0799385 } ); +cells.push_back( {21504422,4155,104,15,2,1,-0.725,0.129501 } ); +cells.push_back( {21604412,4136,104,16,1,1,-0.775,0.0799385 } ); +cells.push_back( {21604422,4156,104,16,2,1,-0.775,0.129501 } ); +cells.push_back( {21704412,4137,104,17,1,1,-0.825,0.0799385 } ); +cells.push_back( {21704422,4157,104,17,2,1,-0.825,0.129501 } ); +cells.push_back( {21804412,4138,104,18,1,1,-0.875,0.0799385 } ); +cells.push_back( {21804422,4158,104,18,2,1,-0.875,0.129501 } ); +cells.push_back( {21904412,4139,104,19,1,1,-0.925,0.0799385 } ); +cells.push_back( {21904422,4159,104,19,2,1,-0.925,0.129501 } ); +cells.push_back( {22004412,4140,104,20,1,1,-0.967,0.0799385 } ); +cells.push_back( {22004422,4160,104,20,2,1,-0.967,0.129501 } ); +cells.push_back( {20104511,4161,105,1,1,2,-0.02675,0.184658 } ); +cells.push_back( {20104521,4181,105,1,2,2,-0.02675,0.234221 } ); +cells.push_back( {20204511,4162,105,2,1,2,-0.075,0.184658 } ); +cells.push_back( {20204521,4182,105,2,2,2,-0.075,0.234221 } ); +cells.push_back( {20304511,4163,105,3,1,2,-0.125,0.184658 } ); +cells.push_back( {20304521,4183,105,3,2,2,-0.125,0.234221 } ); +cells.push_back( {20404511,4164,105,4,1,2,-0.175,0.184658 } ); +cells.push_back( {20404521,4184,105,4,2,2,-0.175,0.234221 } ); +cells.push_back( {20504511,4165,105,5,1,2,-0.225,0.184658 } ); +cells.push_back( {20504521,4185,105,5,2,2,-0.225,0.234221 } ); +cells.push_back( {20604511,4166,105,6,1,2,-0.275,0.184658 } ); +cells.push_back( {20604521,4186,105,6,2,2,-0.275,0.234221 } ); +cells.push_back( {20704511,4167,105,7,1,2,-0.325,0.184658 } ); +cells.push_back( {20704521,4187,105,7,2,2,-0.325,0.234221 } ); +cells.push_back( {20804511,4168,105,8,1,2,-0.375,0.184658 } ); +cells.push_back( {20804521,4188,105,8,2,2,-0.375,0.234221 } ); +cells.push_back( {20904511,4169,105,9,1,2,-0.425,0.184658 } ); +cells.push_back( {20904521,4189,105,9,2,2,-0.425,0.234221 } ); +cells.push_back( {21004511,4170,105,10,1,2,-0.475,0.184658 } ); +cells.push_back( {21004521,4190,105,10,2,2,-0.475,0.234221 } ); +cells.push_back( {21104511,4171,105,11,1,2,-0.525,0.184658 } ); +cells.push_back( {21104521,4191,105,11,2,2,-0.525,0.234221 } ); +cells.push_back( {21204511,4172,105,12,1,2,-0.575,0.184658 } ); +cells.push_back( {21204521,4192,105,12,2,2,-0.575,0.234221 } ); +cells.push_back( {21304511,4173,105,13,1,2,-0.625,0.184658 } ); +cells.push_back( {21304521,4193,105,13,2,2,-0.625,0.234221 } ); +cells.push_back( {21404511,4174,105,14,1,2,-0.675,0.184658 } ); +cells.push_back( {21404521,4194,105,14,2,2,-0.675,0.234221 } ); +cells.push_back( {21504511,4175,105,15,1,2,-0.725,0.184658 } ); +cells.push_back( {21504521,4195,105,15,2,2,-0.725,0.234221 } ); +cells.push_back( {21604511,4176,105,16,1,2,-0.775,0.184658 } ); +cells.push_back( {21604521,4196,105,16,2,2,-0.775,0.234221 } ); +cells.push_back( {21704511,4177,105,17,1,2,-0.825,0.184658 } ); +cells.push_back( {21704521,4197,105,17,2,2,-0.825,0.234221 } ); +cells.push_back( {21804511,4178,105,18,1,2,-0.875,0.184658 } ); +cells.push_back( {21804521,4198,105,18,2,2,-0.875,0.234221 } ); +cells.push_back( {21904511,4179,105,19,1,2,-0.925,0.184658 } ); +cells.push_back( {21904521,4199,105,19,2,2,-0.925,0.234221 } ); +cells.push_back( {22004511,4180,105,20,1,2,-0.967,0.184658 } ); +cells.push_back( {22004521,4200,105,20,2,2,-0.967,0.234221 } ); +cells.push_back( {20104512,4161,105,1,1,1,-0.02675,0.184658 } ); +cells.push_back( {20104522,4181,105,1,2,1,-0.02675,0.234221 } ); +cells.push_back( {20204512,4162,105,2,1,1,-0.075,0.184658 } ); +cells.push_back( {20204522,4182,105,2,2,1,-0.075,0.234221 } ); +cells.push_back( {20304512,4163,105,3,1,1,-0.125,0.184658 } ); +cells.push_back( {20304522,4183,105,3,2,1,-0.125,0.234221 } ); +cells.push_back( {20404512,4164,105,4,1,1,-0.175,0.184658 } ); +cells.push_back( {20404522,4184,105,4,2,1,-0.175,0.234221 } ); +cells.push_back( {20504512,4165,105,5,1,1,-0.225,0.184658 } ); +cells.push_back( {20504522,4185,105,5,2,1,-0.225,0.234221 } ); +cells.push_back( {20604512,4166,105,6,1,1,-0.275,0.184658 } ); +cells.push_back( {20604522,4186,105,6,2,1,-0.275,0.234221 } ); +cells.push_back( {20704512,4167,105,7,1,1,-0.325,0.184658 } ); +cells.push_back( {20704522,4187,105,7,2,1,-0.325,0.234221 } ); +cells.push_back( {20804512,4168,105,8,1,1,-0.375,0.184658 } ); +cells.push_back( {20804522,4188,105,8,2,1,-0.375,0.234221 } ); +cells.push_back( {20904512,4169,105,9,1,1,-0.425,0.184658 } ); +cells.push_back( {20904522,4189,105,9,2,1,-0.425,0.234221 } ); +cells.push_back( {21004512,4170,105,10,1,1,-0.475,0.184658 } ); +cells.push_back( {21004522,4190,105,10,2,1,-0.475,0.234221 } ); +cells.push_back( {21104512,4171,105,11,1,1,-0.525,0.184658 } ); +cells.push_back( {21104522,4191,105,11,2,1,-0.525,0.234221 } ); +cells.push_back( {21204512,4172,105,12,1,1,-0.575,0.184658 } ); +cells.push_back( {21204522,4192,105,12,2,1,-0.575,0.234221 } ); +cells.push_back( {21304512,4173,105,13,1,1,-0.625,0.184658 } ); +cells.push_back( {21304522,4193,105,13,2,1,-0.625,0.234221 } ); +cells.push_back( {21404512,4174,105,14,1,1,-0.675,0.184658 } ); +cells.push_back( {21404522,4194,105,14,2,1,-0.675,0.234221 } ); +cells.push_back( {21504512,4175,105,15,1,1,-0.725,0.184658 } ); +cells.push_back( {21504522,4195,105,15,2,1,-0.725,0.234221 } ); +cells.push_back( {21604512,4176,105,16,1,1,-0.775,0.184658 } ); +cells.push_back( {21604522,4196,105,16,2,1,-0.775,0.234221 } ); +cells.push_back( {21704512,4177,105,17,1,1,-0.825,0.184658 } ); +cells.push_back( {21704522,4197,105,17,2,1,-0.825,0.234221 } ); +cells.push_back( {21804512,4178,105,18,1,1,-0.875,0.184658 } ); +cells.push_back( {21804522,4198,105,18,2,1,-0.875,0.234221 } ); +cells.push_back( {21904512,4179,105,19,1,1,-0.925,0.184658 } ); +cells.push_back( {21904522,4199,105,19,2,1,-0.925,0.234221 } ); +cells.push_back( {22004512,4180,105,20,1,1,-0.967,0.184658 } ); +cells.push_back( {22004522,4200,105,20,2,1,-0.967,0.234221 } ); +cells.push_back( {20104611,4201,106,1,1,2,-0.02675,0.289378 } ); +cells.push_back( {20104621,4221,106,1,2,2,-0.02675,0.338941 } ); +cells.push_back( {20204611,4202,106,2,1,2,-0.075,0.289378 } ); +cells.push_back( {20204621,4222,106,2,2,2,-0.075,0.338941 } ); +cells.push_back( {20304611,4203,106,3,1,2,-0.125,0.289378 } ); +cells.push_back( {20304621,4223,106,3,2,2,-0.125,0.338941 } ); +cells.push_back( {20404611,4204,106,4,1,2,-0.175,0.289378 } ); +cells.push_back( {20404621,4224,106,4,2,2,-0.175,0.338941 } ); +cells.push_back( {20504611,4205,106,5,1,2,-0.225,0.289378 } ); +cells.push_back( {20504621,4225,106,5,2,2,-0.225,0.338941 } ); +cells.push_back( {20604611,4206,106,6,1,2,-0.275,0.289378 } ); +cells.push_back( {20604621,4226,106,6,2,2,-0.275,0.338941 } ); +cells.push_back( {20704611,4207,106,7,1,2,-0.325,0.289378 } ); +cells.push_back( {20704621,4227,106,7,2,2,-0.325,0.338941 } ); +cells.push_back( {20804611,4208,106,8,1,2,-0.375,0.289378 } ); +cells.push_back( {20804621,4228,106,8,2,2,-0.375,0.338941 } ); +cells.push_back( {20904611,4209,106,9,1,2,-0.425,0.289378 } ); +cells.push_back( {20904621,4229,106,9,2,2,-0.425,0.338941 } ); +cells.push_back( {21004611,4210,106,10,1,2,-0.475,0.289378 } ); +cells.push_back( {21004621,4230,106,10,2,2,-0.475,0.338941 } ); +cells.push_back( {21104611,4211,106,11,1,2,-0.525,0.289378 } ); +cells.push_back( {21104621,4231,106,11,2,2,-0.525,0.338941 } ); +cells.push_back( {21204611,4212,106,12,1,2,-0.575,0.289378 } ); +cells.push_back( {21204621,4232,106,12,2,2,-0.575,0.338941 } ); +cells.push_back( {21304611,4213,106,13,1,2,-0.625,0.289378 } ); +cells.push_back( {21304621,4233,106,13,2,2,-0.625,0.338941 } ); +cells.push_back( {21404611,4214,106,14,1,2,-0.675,0.289378 } ); +cells.push_back( {21404621,4234,106,14,2,2,-0.675,0.338941 } ); +cells.push_back( {21504611,4215,106,15,1,2,-0.725,0.289378 } ); +cells.push_back( {21504621,4235,106,15,2,2,-0.725,0.338941 } ); +cells.push_back( {21604611,4216,106,16,1,2,-0.775,0.289378 } ); +cells.push_back( {21604621,4236,106,16,2,2,-0.775,0.338941 } ); +cells.push_back( {21704611,4217,106,17,1,2,-0.825,0.289378 } ); +cells.push_back( {21704621,4237,106,17,2,2,-0.825,0.338941 } ); +cells.push_back( {21804611,4218,106,18,1,2,-0.875,0.289378 } ); +cells.push_back( {21804621,4238,106,18,2,2,-0.875,0.338941 } ); +cells.push_back( {21904611,4219,106,19,1,2,-0.925,0.289378 } ); +cells.push_back( {21904621,4239,106,19,2,2,-0.925,0.338941 } ); +cells.push_back( {22004611,4220,106,20,1,2,-0.967,0.289378 } ); +cells.push_back( {22004621,4240,106,20,2,2,-0.967,0.338941 } ); +cells.push_back( {20104612,4201,106,1,1,1,-0.02675,0.289378 } ); +cells.push_back( {20104622,4221,106,1,2,1,-0.02675,0.338941 } ); +cells.push_back( {20204612,4202,106,2,1,1,-0.075,0.289378 } ); +cells.push_back( {20204622,4222,106,2,2,1,-0.075,0.338941 } ); +cells.push_back( {20304612,4203,106,3,1,1,-0.125,0.289378 } ); +cells.push_back( {20304622,4223,106,3,2,1,-0.125,0.338941 } ); +cells.push_back( {20404612,4204,106,4,1,1,-0.175,0.289378 } ); +cells.push_back( {20404622,4224,106,4,2,1,-0.175,0.338941 } ); +cells.push_back( {20504612,4205,106,5,1,1,-0.225,0.289378 } ); +cells.push_back( {20504622,4225,106,5,2,1,-0.225,0.338941 } ); +cells.push_back( {20604612,4206,106,6,1,1,-0.275,0.289378 } ); +cells.push_back( {20604622,4226,106,6,2,1,-0.275,0.338941 } ); +cells.push_back( {20704612,4207,106,7,1,1,-0.325,0.289378 } ); +cells.push_back( {20704622,4227,106,7,2,1,-0.325,0.338941 } ); +cells.push_back( {20804612,4208,106,8,1,1,-0.375,0.289378 } ); +cells.push_back( {20804622,4228,106,8,2,1,-0.375,0.338941 } ); +cells.push_back( {20904612,4209,106,9,1,1,-0.425,0.289378 } ); +cells.push_back( {20904622,4229,106,9,2,1,-0.425,0.338941 } ); +cells.push_back( {21004612,4210,106,10,1,1,-0.475,0.289378 } ); +cells.push_back( {21004622,4230,106,10,2,1,-0.475,0.338941 } ); +cells.push_back( {21104612,4211,106,11,1,1,-0.525,0.289378 } ); +cells.push_back( {21104622,4231,106,11,2,1,-0.525,0.338941 } ); +cells.push_back( {21204612,4212,106,12,1,1,-0.575,0.289378 } ); +cells.push_back( {21204622,4232,106,12,2,1,-0.575,0.338941 } ); +cells.push_back( {21304612,4213,106,13,1,1,-0.625,0.289378 } ); +cells.push_back( {21304622,4233,106,13,2,1,-0.625,0.338941 } ); +cells.push_back( {21404612,4214,106,14,1,1,-0.675,0.289378 } ); +cells.push_back( {21404622,4234,106,14,2,1,-0.675,0.338941 } ); +cells.push_back( {21504612,4215,106,15,1,1,-0.725,0.289378 } ); +cells.push_back( {21504622,4235,106,15,2,1,-0.725,0.338941 } ); +cells.push_back( {21604612,4216,106,16,1,1,-0.775,0.289378 } ); +cells.push_back( {21604622,4236,106,16,2,1,-0.775,0.338941 } ); +cells.push_back( {21704612,4217,106,17,1,1,-0.825,0.289378 } ); +cells.push_back( {21704622,4237,106,17,2,1,-0.825,0.338941 } ); +cells.push_back( {21804612,4218,106,18,1,1,-0.875,0.289378 } ); +cells.push_back( {21804622,4238,106,18,2,1,-0.875,0.338941 } ); +cells.push_back( {21904612,4219,106,19,1,1,-0.925,0.289378 } ); +cells.push_back( {21904622,4239,106,19,2,1,-0.925,0.338941 } ); +cells.push_back( {22004612,4220,106,20,1,1,-0.967,0.289378 } ); +cells.push_back( {22004622,4240,106,20,2,1,-0.967,0.338941 } ); +cells.push_back( {20104711,4241,107,1,1,2,-0.02675,0.394098 } ); +cells.push_back( {20104721,4261,107,1,2,2,-0.02675,0.443661 } ); +cells.push_back( {20204711,4242,107,2,1,2,-0.075,0.394098 } ); +cells.push_back( {20204721,4262,107,2,2,2,-0.075,0.443661 } ); +cells.push_back( {20304711,4243,107,3,1,2,-0.125,0.394098 } ); +cells.push_back( {20304721,4263,107,3,2,2,-0.125,0.443661 } ); +cells.push_back( {20404711,4244,107,4,1,2,-0.175,0.394098 } ); +cells.push_back( {20404721,4264,107,4,2,2,-0.175,0.443661 } ); +cells.push_back( {20504711,4245,107,5,1,2,-0.225,0.394098 } ); +cells.push_back( {20504721,4265,107,5,2,2,-0.225,0.443661 } ); +cells.push_back( {20604711,4246,107,6,1,2,-0.275,0.394098 } ); +cells.push_back( {20604721,4266,107,6,2,2,-0.275,0.443661 } ); +cells.push_back( {20704711,4247,107,7,1,2,-0.325,0.394098 } ); +cells.push_back( {20704721,4267,107,7,2,2,-0.325,0.443661 } ); +cells.push_back( {20804711,4248,107,8,1,2,-0.375,0.394098 } ); +cells.push_back( {20804721,4268,107,8,2,2,-0.375,0.443661 } ); +cells.push_back( {20904711,4249,107,9,1,2,-0.425,0.394098 } ); +cells.push_back( {20904721,4269,107,9,2,2,-0.425,0.443661 } ); +cells.push_back( {21004711,4250,107,10,1,2,-0.475,0.394098 } ); +cells.push_back( {21004721,4270,107,10,2,2,-0.475,0.443661 } ); +cells.push_back( {21104711,4251,107,11,1,2,-0.525,0.394098 } ); +cells.push_back( {21104721,4271,107,11,2,2,-0.525,0.443661 } ); +cells.push_back( {21204711,4252,107,12,1,2,-0.575,0.394098 } ); +cells.push_back( {21204721,4272,107,12,2,2,-0.575,0.443661 } ); +cells.push_back( {21304711,4253,107,13,1,2,-0.625,0.394098 } ); +cells.push_back( {21304721,4273,107,13,2,2,-0.625,0.443661 } ); +cells.push_back( {21404711,4254,107,14,1,2,-0.675,0.394098 } ); +cells.push_back( {21404721,4274,107,14,2,2,-0.675,0.443661 } ); +cells.push_back( {21504711,4255,107,15,1,2,-0.725,0.394098 } ); +cells.push_back( {21504721,4275,107,15,2,2,-0.725,0.443661 } ); +cells.push_back( {21604711,4256,107,16,1,2,-0.775,0.394098 } ); +cells.push_back( {21604721,4276,107,16,2,2,-0.775,0.443661 } ); +cells.push_back( {21704711,4257,107,17,1,2,-0.825,0.394098 } ); +cells.push_back( {21704721,4277,107,17,2,2,-0.825,0.443661 } ); +cells.push_back( {21804711,4258,107,18,1,2,-0.875,0.394098 } ); +cells.push_back( {21804721,4278,107,18,2,2,-0.875,0.443661 } ); +cells.push_back( {21904711,4259,107,19,1,2,-0.925,0.394098 } ); +cells.push_back( {21904721,4279,107,19,2,2,-0.925,0.443661 } ); +cells.push_back( {22004711,4260,107,20,1,2,-0.967,0.394098 } ); +cells.push_back( {22004721,4280,107,20,2,2,-0.967,0.443661 } ); +cells.push_back( {20104712,4241,107,1,1,1,-0.02675,0.394098 } ); +cells.push_back( {20104722,4261,107,1,2,1,-0.02675,0.443661 } ); +cells.push_back( {20204712,4242,107,2,1,1,-0.075,0.394098 } ); +cells.push_back( {20204722,4262,107,2,2,1,-0.075,0.443661 } ); +cells.push_back( {20304712,4243,107,3,1,1,-0.125,0.394098 } ); +cells.push_back( {20304722,4263,107,3,2,1,-0.125,0.443661 } ); +cells.push_back( {20404712,4244,107,4,1,1,-0.175,0.394098 } ); +cells.push_back( {20404722,4264,107,4,2,1,-0.175,0.443661 } ); +cells.push_back( {20504712,4245,107,5,1,1,-0.225,0.394098 } ); +cells.push_back( {20504722,4265,107,5,2,1,-0.225,0.443661 } ); +cells.push_back( {20604712,4246,107,6,1,1,-0.275,0.394098 } ); +cells.push_back( {20604722,4266,107,6,2,1,-0.275,0.443661 } ); +cells.push_back( {20704712,4247,107,7,1,1,-0.325,0.394098 } ); +cells.push_back( {20704722,4267,107,7,2,1,-0.325,0.443661 } ); +cells.push_back( {20804712,4248,107,8,1,1,-0.375,0.394098 } ); +cells.push_back( {20804722,4268,107,8,2,1,-0.375,0.443661 } ); +cells.push_back( {20904712,4249,107,9,1,1,-0.425,0.394098 } ); +cells.push_back( {20904722,4269,107,9,2,1,-0.425,0.443661 } ); +cells.push_back( {21004712,4250,107,10,1,1,-0.475,0.394098 } ); +cells.push_back( {21004722,4270,107,10,2,1,-0.475,0.443661 } ); +cells.push_back( {21104712,4251,107,11,1,1,-0.525,0.394098 } ); +cells.push_back( {21104722,4271,107,11,2,1,-0.525,0.443661 } ); +cells.push_back( {21204712,4252,107,12,1,1,-0.575,0.394098 } ); +cells.push_back( {21204722,4272,107,12,2,1,-0.575,0.443661 } ); +cells.push_back( {21304712,4253,107,13,1,1,-0.625,0.394098 } ); +cells.push_back( {21304722,4273,107,13,2,1,-0.625,0.443661 } ); +cells.push_back( {21404712,4254,107,14,1,1,-0.675,0.394098 } ); +cells.push_back( {21404722,4274,107,14,2,1,-0.675,0.443661 } ); +cells.push_back( {21504712,4255,107,15,1,1,-0.725,0.394098 } ); +cells.push_back( {21504722,4275,107,15,2,1,-0.725,0.443661 } ); +cells.push_back( {21604712,4256,107,16,1,1,-0.775,0.394098 } ); +cells.push_back( {21604722,4276,107,16,2,1,-0.775,0.443661 } ); +cells.push_back( {21704712,4257,107,17,1,1,-0.825,0.394098 } ); +cells.push_back( {21704722,4277,107,17,2,1,-0.825,0.443661 } ); +cells.push_back( {21804712,4258,107,18,1,1,-0.875,0.394098 } ); +cells.push_back( {21804722,4278,107,18,2,1,-0.875,0.443661 } ); +cells.push_back( {21904712,4259,107,19,1,1,-0.925,0.394098 } ); +cells.push_back( {21904722,4279,107,19,2,1,-0.925,0.443661 } ); +cells.push_back( {22004712,4260,107,20,1,1,-0.967,0.394098 } ); +cells.push_back( {22004722,4280,107,20,2,1,-0.967,0.443661 } ); +cells.push_back( {20104811,4281,108,1,1,2,-0.02675,0.498818 } ); +cells.push_back( {20104821,4301,108,1,2,2,-0.02675,0.54838 } ); +cells.push_back( {20204811,4282,108,2,1,2,-0.075,0.498818 } ); +cells.push_back( {20204821,4302,108,2,2,2,-0.075,0.54838 } ); +cells.push_back( {20304811,4283,108,3,1,2,-0.125,0.498818 } ); +cells.push_back( {20304821,4303,108,3,2,2,-0.125,0.54838 } ); +cells.push_back( {20404811,4284,108,4,1,2,-0.175,0.498818 } ); +cells.push_back( {20404821,4304,108,4,2,2,-0.175,0.54838 } ); +cells.push_back( {20504811,4285,108,5,1,2,-0.225,0.498818 } ); +cells.push_back( {20504821,4305,108,5,2,2,-0.225,0.54838 } ); +cells.push_back( {20604811,4286,108,6,1,2,-0.275,0.498818 } ); +cells.push_back( {20604821,4306,108,6,2,2,-0.275,0.54838 } ); +cells.push_back( {20704811,4287,108,7,1,2,-0.325,0.498818 } ); +cells.push_back( {20704821,4307,108,7,2,2,-0.325,0.54838 } ); +cells.push_back( {20804811,4288,108,8,1,2,-0.375,0.498818 } ); +cells.push_back( {20804821,4308,108,8,2,2,-0.375,0.54838 } ); +cells.push_back( {20904811,4289,108,9,1,2,-0.425,0.498818 } ); +cells.push_back( {20904821,4309,108,9,2,2,-0.425,0.54838 } ); +cells.push_back( {21004811,4290,108,10,1,2,-0.475,0.498818 } ); +cells.push_back( {21004821,4310,108,10,2,2,-0.475,0.54838 } ); +cells.push_back( {21104811,4291,108,11,1,2,-0.525,0.498818 } ); +cells.push_back( {21104821,4311,108,11,2,2,-0.525,0.54838 } ); +cells.push_back( {21204811,4292,108,12,1,2,-0.575,0.498818 } ); +cells.push_back( {21204821,4312,108,12,2,2,-0.575,0.54838 } ); +cells.push_back( {21304811,4293,108,13,1,2,-0.625,0.498818 } ); +cells.push_back( {21304821,4313,108,13,2,2,-0.625,0.54838 } ); +cells.push_back( {21404811,4294,108,14,1,2,-0.675,0.498818 } ); +cells.push_back( {21404821,4314,108,14,2,2,-0.675,0.54838 } ); +cells.push_back( {21504811,4295,108,15,1,2,-0.725,0.498818 } ); +cells.push_back( {21504821,4315,108,15,2,2,-0.725,0.54838 } ); +cells.push_back( {21604811,4296,108,16,1,2,-0.775,0.498818 } ); +cells.push_back( {21604821,4316,108,16,2,2,-0.775,0.54838 } ); +cells.push_back( {21704811,4297,108,17,1,2,-0.825,0.498818 } ); +cells.push_back( {21704821,4317,108,17,2,2,-0.825,0.54838 } ); +cells.push_back( {21804811,4298,108,18,1,2,-0.875,0.498818 } ); +cells.push_back( {21804821,4318,108,18,2,2,-0.875,0.54838 } ); +cells.push_back( {21904811,4299,108,19,1,2,-0.925,0.498818 } ); +cells.push_back( {21904821,4319,108,19,2,2,-0.925,0.54838 } ); +cells.push_back( {22004811,4300,108,20,1,2,-0.967,0.498818 } ); +cells.push_back( {22004821,4320,108,20,2,2,-0.967,0.54838 } ); +cells.push_back( {20104812,4281,108,1,1,1,-0.02675,0.498818 } ); +cells.push_back( {20104822,4301,108,1,2,1,-0.02675,0.54838 } ); +cells.push_back( {20204812,4282,108,2,1,1,-0.075,0.498818 } ); +cells.push_back( {20204822,4302,108,2,2,1,-0.075,0.54838 } ); +cells.push_back( {20304812,4283,108,3,1,1,-0.125,0.498818 } ); +cells.push_back( {20304822,4303,108,3,2,1,-0.125,0.54838 } ); +cells.push_back( {20404812,4284,108,4,1,1,-0.175,0.498818 } ); +cells.push_back( {20404822,4304,108,4,2,1,-0.175,0.54838 } ); +cells.push_back( {20504812,4285,108,5,1,1,-0.225,0.498818 } ); +cells.push_back( {20504822,4305,108,5,2,1,-0.225,0.54838 } ); +cells.push_back( {20604812,4286,108,6,1,1,-0.275,0.498818 } ); +cells.push_back( {20604822,4306,108,6,2,1,-0.275,0.54838 } ); +cells.push_back( {20704812,4287,108,7,1,1,-0.325,0.498818 } ); +cells.push_back( {20704822,4307,108,7,2,1,-0.325,0.54838 } ); +cells.push_back( {20804812,4288,108,8,1,1,-0.375,0.498818 } ); +cells.push_back( {20804822,4308,108,8,2,1,-0.375,0.54838 } ); +cells.push_back( {20904812,4289,108,9,1,1,-0.425,0.498818 } ); +cells.push_back( {20904822,4309,108,9,2,1,-0.425,0.54838 } ); +cells.push_back( {21004812,4290,108,10,1,1,-0.475,0.498818 } ); +cells.push_back( {21004822,4310,108,10,2,1,-0.475,0.54838 } ); +cells.push_back( {21104812,4291,108,11,1,1,-0.525,0.498818 } ); +cells.push_back( {21104822,4311,108,11,2,1,-0.525,0.54838 } ); +cells.push_back( {21204812,4292,108,12,1,1,-0.575,0.498818 } ); +cells.push_back( {21204822,4312,108,12,2,1,-0.575,0.54838 } ); +cells.push_back( {21304812,4293,108,13,1,1,-0.625,0.498818 } ); +cells.push_back( {21304822,4313,108,13,2,1,-0.625,0.54838 } ); +cells.push_back( {21404812,4294,108,14,1,1,-0.675,0.498818 } ); +cells.push_back( {21404822,4314,108,14,2,1,-0.675,0.54838 } ); +cells.push_back( {21504812,4295,108,15,1,1,-0.725,0.498818 } ); +cells.push_back( {21504822,4315,108,15,2,1,-0.725,0.54838 } ); +cells.push_back( {21604812,4296,108,16,1,1,-0.775,0.498818 } ); +cells.push_back( {21604822,4316,108,16,2,1,-0.775,0.54838 } ); +cells.push_back( {21704812,4297,108,17,1,1,-0.825,0.498818 } ); +cells.push_back( {21704822,4317,108,17,2,1,-0.825,0.54838 } ); +cells.push_back( {21804812,4298,108,18,1,1,-0.875,0.498818 } ); +cells.push_back( {21804822,4318,108,18,2,1,-0.875,0.54838 } ); +cells.push_back( {21904812,4299,108,19,1,1,-0.925,0.498818 } ); +cells.push_back( {21904822,4319,108,19,2,1,-0.925,0.54838 } ); +cells.push_back( {22004812,4300,108,20,1,1,-0.967,0.498818 } ); +cells.push_back( {22004822,4320,108,20,2,1,-0.967,0.54838 } ); +cells.push_back( {20104911,4321,109,1,1,2,-0.02675,0.603537 } ); +cells.push_back( {20104921,4341,109,1,2,2,-0.02675,0.6531 } ); +cells.push_back( {20204911,4322,109,2,1,2,-0.075,0.603537 } ); +cells.push_back( {20204921,4342,109,2,2,2,-0.075,0.6531 } ); +cells.push_back( {20304911,4323,109,3,1,2,-0.125,0.603537 } ); +cells.push_back( {20304921,4343,109,3,2,2,-0.125,0.6531 } ); +cells.push_back( {20404911,4324,109,4,1,2,-0.175,0.603537 } ); +cells.push_back( {20404921,4344,109,4,2,2,-0.175,0.6531 } ); +cells.push_back( {20504911,4325,109,5,1,2,-0.225,0.603537 } ); +cells.push_back( {20504921,4345,109,5,2,2,-0.225,0.6531 } ); +cells.push_back( {20604911,4326,109,6,1,2,-0.275,0.603537 } ); +cells.push_back( {20604921,4346,109,6,2,2,-0.275,0.6531 } ); +cells.push_back( {20704911,4327,109,7,1,2,-0.325,0.603537 } ); +cells.push_back( {20704921,4347,109,7,2,2,-0.325,0.6531 } ); +cells.push_back( {20804911,4328,109,8,1,2,-0.375,0.603537 } ); +cells.push_back( {20804921,4348,109,8,2,2,-0.375,0.6531 } ); +cells.push_back( {20904911,4329,109,9,1,2,-0.425,0.603537 } ); +cells.push_back( {20904921,4349,109,9,2,2,-0.425,0.6531 } ); +cells.push_back( {21004911,4330,109,10,1,2,-0.475,0.603537 } ); +cells.push_back( {21004921,4350,109,10,2,2,-0.475,0.6531 } ); +cells.push_back( {21104911,4331,109,11,1,2,-0.525,0.603537 } ); +cells.push_back( {21104921,4351,109,11,2,2,-0.525,0.6531 } ); +cells.push_back( {21204911,4332,109,12,1,2,-0.575,0.603537 } ); +cells.push_back( {21204921,4352,109,12,2,2,-0.575,0.6531 } ); +cells.push_back( {21304911,4333,109,13,1,2,-0.625,0.603537 } ); +cells.push_back( {21304921,4353,109,13,2,2,-0.625,0.6531 } ); +cells.push_back( {21404911,4334,109,14,1,2,-0.675,0.603537 } ); +cells.push_back( {21404921,4354,109,14,2,2,-0.675,0.6531 } ); +cells.push_back( {21504911,4335,109,15,1,2,-0.725,0.603537 } ); +cells.push_back( {21504921,4355,109,15,2,2,-0.725,0.6531 } ); +cells.push_back( {21604911,4336,109,16,1,2,-0.775,0.603537 } ); +cells.push_back( {21604921,4356,109,16,2,2,-0.775,0.6531 } ); +cells.push_back( {21704911,4337,109,17,1,2,-0.825,0.603537 } ); +cells.push_back( {21704921,4357,109,17,2,2,-0.825,0.6531 } ); +cells.push_back( {21804911,4338,109,18,1,2,-0.875,0.603537 } ); +cells.push_back( {21804921,4358,109,18,2,2,-0.875,0.6531 } ); +cells.push_back( {21904911,4339,109,19,1,2,-0.925,0.603537 } ); +cells.push_back( {21904921,4359,109,19,2,2,-0.925,0.6531 } ); +cells.push_back( {22004911,4340,109,20,1,2,-0.967,0.603537 } ); +cells.push_back( {22004921,4360,109,20,2,2,-0.967,0.6531 } ); +cells.push_back( {20104912,4321,109,1,1,1,-0.02675,0.603537 } ); +cells.push_back( {20104922,4341,109,1,2,1,-0.02675,0.6531 } ); +cells.push_back( {20204912,4322,109,2,1,1,-0.075,0.603537 } ); +cells.push_back( {20204922,4342,109,2,2,1,-0.075,0.6531 } ); +cells.push_back( {20304912,4323,109,3,1,1,-0.125,0.603537 } ); +cells.push_back( {20304922,4343,109,3,2,1,-0.125,0.6531 } ); +cells.push_back( {20404912,4324,109,4,1,1,-0.175,0.603537 } ); +cells.push_back( {20404922,4344,109,4,2,1,-0.175,0.6531 } ); +cells.push_back( {20504912,4325,109,5,1,1,-0.225,0.603537 } ); +cells.push_back( {20504922,4345,109,5,2,1,-0.225,0.6531 } ); +cells.push_back( {20604912,4326,109,6,1,1,-0.275,0.603537 } ); +cells.push_back( {20604922,4346,109,6,2,1,-0.275,0.6531 } ); +cells.push_back( {20704912,4327,109,7,1,1,-0.325,0.603537 } ); +cells.push_back( {20704922,4347,109,7,2,1,-0.325,0.6531 } ); +cells.push_back( {20804912,4328,109,8,1,1,-0.375,0.603537 } ); +cells.push_back( {20804922,4348,109,8,2,1,-0.375,0.6531 } ); +cells.push_back( {20904912,4329,109,9,1,1,-0.425,0.603537 } ); +cells.push_back( {20904922,4349,109,9,2,1,-0.425,0.6531 } ); +cells.push_back( {21004912,4330,109,10,1,1,-0.475,0.603537 } ); +cells.push_back( {21004922,4350,109,10,2,1,-0.475,0.6531 } ); +cells.push_back( {21104912,4331,109,11,1,1,-0.525,0.603537 } ); +cells.push_back( {21104922,4351,109,11,2,1,-0.525,0.6531 } ); +cells.push_back( {21204912,4332,109,12,1,1,-0.575,0.603537 } ); +cells.push_back( {21204922,4352,109,12,2,1,-0.575,0.6531 } ); +cells.push_back( {21304912,4333,109,13,1,1,-0.625,0.603537 } ); +cells.push_back( {21304922,4353,109,13,2,1,-0.625,0.6531 } ); +cells.push_back( {21404912,4334,109,14,1,1,-0.675,0.603537 } ); +cells.push_back( {21404922,4354,109,14,2,1,-0.675,0.6531 } ); +cells.push_back( {21504912,4335,109,15,1,1,-0.725,0.603537 } ); +cells.push_back( {21504922,4355,109,15,2,1,-0.725,0.6531 } ); +cells.push_back( {21604912,4336,109,16,1,1,-0.775,0.603537 } ); +cells.push_back( {21604922,4356,109,16,2,1,-0.775,0.6531 } ); +cells.push_back( {21704912,4337,109,17,1,1,-0.825,0.603537 } ); +cells.push_back( {21704922,4357,109,17,2,1,-0.825,0.6531 } ); +cells.push_back( {21804912,4338,109,18,1,1,-0.875,0.603537 } ); +cells.push_back( {21804922,4358,109,18,2,1,-0.875,0.6531 } ); +cells.push_back( {21904912,4339,109,19,1,1,-0.925,0.603537 } ); +cells.push_back( {21904922,4359,109,19,2,1,-0.925,0.6531 } ); +cells.push_back( {22004912,4340,109,20,1,1,-0.967,0.603537 } ); +cells.push_back( {22004922,4360,109,20,2,1,-0.967,0.6531 } ); +cells.push_back( {20105011,4361,110,1,1,2,-0.02675,0.708257 } ); +cells.push_back( {20105021,4381,110,1,2,2,-0.02675,0.75782 } ); +cells.push_back( {20205011,4362,110,2,1,2,-0.075,0.708257 } ); +cells.push_back( {20205021,4382,110,2,2,2,-0.075,0.75782 } ); +cells.push_back( {20305011,4363,110,3,1,2,-0.125,0.708257 } ); +cells.push_back( {20305021,4383,110,3,2,2,-0.125,0.75782 } ); +cells.push_back( {20405011,4364,110,4,1,2,-0.175,0.708257 } ); +cells.push_back( {20405021,4384,110,4,2,2,-0.175,0.75782 } ); +cells.push_back( {20505011,4365,110,5,1,2,-0.225,0.708257 } ); +cells.push_back( {20505021,4385,110,5,2,2,-0.225,0.75782 } ); +cells.push_back( {20605011,4366,110,6,1,2,-0.275,0.708257 } ); +cells.push_back( {20605021,4386,110,6,2,2,-0.275,0.75782 } ); +cells.push_back( {20705011,4367,110,7,1,2,-0.325,0.708257 } ); +cells.push_back( {20705021,4387,110,7,2,2,-0.325,0.75782 } ); +cells.push_back( {20805011,4368,110,8,1,2,-0.375,0.708257 } ); +cells.push_back( {20805021,4388,110,8,2,2,-0.375,0.75782 } ); +cells.push_back( {20905011,4369,110,9,1,2,-0.425,0.708257 } ); +cells.push_back( {20905021,4389,110,9,2,2,-0.425,0.75782 } ); +cells.push_back( {21005011,4370,110,10,1,2,-0.475,0.708257 } ); +cells.push_back( {21005021,4390,110,10,2,2,-0.475,0.75782 } ); +cells.push_back( {21105011,4371,110,11,1,2,-0.525,0.708257 } ); +cells.push_back( {21105021,4391,110,11,2,2,-0.525,0.75782 } ); +cells.push_back( {21205011,4372,110,12,1,2,-0.575,0.708257 } ); +cells.push_back( {21205021,4392,110,12,2,2,-0.575,0.75782 } ); +cells.push_back( {21305011,4373,110,13,1,2,-0.625,0.708257 } ); +cells.push_back( {21305021,4393,110,13,2,2,-0.625,0.75782 } ); +cells.push_back( {21405011,4374,110,14,1,2,-0.675,0.708257 } ); +cells.push_back( {21405021,4394,110,14,2,2,-0.675,0.75782 } ); +cells.push_back( {21505011,4375,110,15,1,2,-0.725,0.708257 } ); +cells.push_back( {21505021,4395,110,15,2,2,-0.725,0.75782 } ); +cells.push_back( {21605011,4376,110,16,1,2,-0.775,0.708257 } ); +cells.push_back( {21605021,4396,110,16,2,2,-0.775,0.75782 } ); +cells.push_back( {21705011,4377,110,17,1,2,-0.825,0.708257 } ); +cells.push_back( {21705021,4397,110,17,2,2,-0.825,0.75782 } ); +cells.push_back( {21805011,4378,110,18,1,2,-0.875,0.708257 } ); +cells.push_back( {21805021,4398,110,18,2,2,-0.875,0.75782 } ); +cells.push_back( {21905011,4379,110,19,1,2,-0.925,0.708257 } ); +cells.push_back( {21905021,4399,110,19,2,2,-0.925,0.75782 } ); +cells.push_back( {22005011,4380,110,20,1,2,-0.967,0.708257 } ); +cells.push_back( {22005021,4400,110,20,2,2,-0.967,0.75782 } ); +cells.push_back( {20105012,4361,110,1,1,1,-0.02675,0.708257 } ); +cells.push_back( {20105022,4381,110,1,2,1,-0.02675,0.75782 } ); +cells.push_back( {20205012,4362,110,2,1,1,-0.075,0.708257 } ); +cells.push_back( {20205022,4382,110,2,2,1,-0.075,0.75782 } ); +cells.push_back( {20305012,4363,110,3,1,1,-0.125,0.708257 } ); +cells.push_back( {20305022,4383,110,3,2,1,-0.125,0.75782 } ); +cells.push_back( {20405012,4364,110,4,1,1,-0.175,0.708257 } ); +cells.push_back( {20405022,4384,110,4,2,1,-0.175,0.75782 } ); +cells.push_back( {20505012,4365,110,5,1,1,-0.225,0.708257 } ); +cells.push_back( {20505022,4385,110,5,2,1,-0.225,0.75782 } ); +cells.push_back( {20605012,4366,110,6,1,1,-0.275,0.708257 } ); +cells.push_back( {20605022,4386,110,6,2,1,-0.275,0.75782 } ); +cells.push_back( {20705012,4367,110,7,1,1,-0.325,0.708257 } ); +cells.push_back( {20705022,4387,110,7,2,1,-0.325,0.75782 } ); +cells.push_back( {20805012,4368,110,8,1,1,-0.375,0.708257 } ); +cells.push_back( {20805022,4388,110,8,2,1,-0.375,0.75782 } ); +cells.push_back( {20905012,4369,110,9,1,1,-0.425,0.708257 } ); +cells.push_back( {20905022,4389,110,9,2,1,-0.425,0.75782 } ); +cells.push_back( {21005012,4370,110,10,1,1,-0.475,0.708257 } ); +cells.push_back( {21005022,4390,110,10,2,1,-0.475,0.75782 } ); +cells.push_back( {21105012,4371,110,11,1,1,-0.525,0.708257 } ); +cells.push_back( {21105022,4391,110,11,2,1,-0.525,0.75782 } ); +cells.push_back( {21205012,4372,110,12,1,1,-0.575,0.708257 } ); +cells.push_back( {21205022,4392,110,12,2,1,-0.575,0.75782 } ); +cells.push_back( {21305012,4373,110,13,1,1,-0.625,0.708257 } ); +cells.push_back( {21305022,4393,110,13,2,1,-0.625,0.75782 } ); +cells.push_back( {21405012,4374,110,14,1,1,-0.675,0.708257 } ); +cells.push_back( {21405022,4394,110,14,2,1,-0.675,0.75782 } ); +cells.push_back( {21505012,4375,110,15,1,1,-0.725,0.708257 } ); +cells.push_back( {21505022,4395,110,15,2,1,-0.725,0.75782 } ); +cells.push_back( {21605012,4376,110,16,1,1,-0.775,0.708257 } ); +cells.push_back( {21605022,4396,110,16,2,1,-0.775,0.75782 } ); +cells.push_back( {21705012,4377,110,17,1,1,-0.825,0.708257 } ); +cells.push_back( {21705022,4397,110,17,2,1,-0.825,0.75782 } ); +cells.push_back( {21805012,4378,110,18,1,1,-0.875,0.708257 } ); +cells.push_back( {21805022,4398,110,18,2,1,-0.875,0.75782 } ); +cells.push_back( {21905012,4379,110,19,1,1,-0.925,0.708257 } ); +cells.push_back( {21905022,4399,110,19,2,1,-0.925,0.75782 } ); +cells.push_back( {22005012,4380,110,20,1,1,-0.967,0.708257 } ); +cells.push_back( {22005022,4400,110,20,2,1,-0.967,0.75782 } ); +cells.push_back( {20105111,4401,111,1,1,2,-0.02675,0.812977 } ); +cells.push_back( {20105121,4421,111,1,2,2,-0.02675,0.86254 } ); +cells.push_back( {20205111,4402,111,2,1,2,-0.075,0.812977 } ); +cells.push_back( {20205121,4422,111,2,2,2,-0.075,0.86254 } ); +cells.push_back( {20305111,4403,111,3,1,2,-0.125,0.812977 } ); +cells.push_back( {20305121,4423,111,3,2,2,-0.125,0.86254 } ); +cells.push_back( {20405111,4404,111,4,1,2,-0.175,0.812977 } ); +cells.push_back( {20405121,4424,111,4,2,2,-0.175,0.86254 } ); +cells.push_back( {20505111,4405,111,5,1,2,-0.225,0.812977 } ); +cells.push_back( {20505121,4425,111,5,2,2,-0.225,0.86254 } ); +cells.push_back( {20605111,4406,111,6,1,2,-0.275,0.812977 } ); +cells.push_back( {20605121,4426,111,6,2,2,-0.275,0.86254 } ); +cells.push_back( {20705111,4407,111,7,1,2,-0.325,0.812977 } ); +cells.push_back( {20705121,4427,111,7,2,2,-0.325,0.86254 } ); +cells.push_back( {20805111,4408,111,8,1,2,-0.375,0.812977 } ); +cells.push_back( {20805121,4428,111,8,2,2,-0.375,0.86254 } ); +cells.push_back( {20905111,4409,111,9,1,2,-0.425,0.812977 } ); +cells.push_back( {20905121,4429,111,9,2,2,-0.425,0.86254 } ); +cells.push_back( {21005111,4410,111,10,1,2,-0.475,0.812977 } ); +cells.push_back( {21005121,4430,111,10,2,2,-0.475,0.86254 } ); +cells.push_back( {21105111,4411,111,11,1,2,-0.525,0.812977 } ); +cells.push_back( {21105121,4431,111,11,2,2,-0.525,0.86254 } ); +cells.push_back( {21205111,4412,111,12,1,2,-0.575,0.812977 } ); +cells.push_back( {21205121,4432,111,12,2,2,-0.575,0.86254 } ); +cells.push_back( {21305111,4413,111,13,1,2,-0.625,0.812977 } ); +cells.push_back( {21305121,4433,111,13,2,2,-0.625,0.86254 } ); +cells.push_back( {21405111,4414,111,14,1,2,-0.675,0.812977 } ); +cells.push_back( {21405121,4434,111,14,2,2,-0.675,0.86254 } ); +cells.push_back( {21505111,4415,111,15,1,2,-0.725,0.812977 } ); +cells.push_back( {21505121,4435,111,15,2,2,-0.725,0.86254 } ); +cells.push_back( {21605111,4416,111,16,1,2,-0.775,0.812977 } ); +cells.push_back( {21605121,4436,111,16,2,2,-0.775,0.86254 } ); +cells.push_back( {21705111,4417,111,17,1,2,-0.825,0.812977 } ); +cells.push_back( {21705121,4437,111,17,2,2,-0.825,0.86254 } ); +cells.push_back( {21805111,4418,111,18,1,2,-0.875,0.812977 } ); +cells.push_back( {21805121,4438,111,18,2,2,-0.875,0.86254 } ); +cells.push_back( {21905111,4419,111,19,1,2,-0.925,0.812977 } ); +cells.push_back( {21905121,4439,111,19,2,2,-0.925,0.86254 } ); +cells.push_back( {22005111,4420,111,20,1,2,-0.967,0.812977 } ); +cells.push_back( {22005121,4440,111,20,2,2,-0.967,0.86254 } ); +cells.push_back( {20105112,4401,111,1,1,1,-0.02675,0.812977 } ); +cells.push_back( {20105122,4421,111,1,2,1,-0.02675,0.86254 } ); +cells.push_back( {20205112,4402,111,2,1,1,-0.075,0.812977 } ); +cells.push_back( {20205122,4422,111,2,2,1,-0.075,0.86254 } ); +cells.push_back( {20305112,4403,111,3,1,1,-0.125,0.812977 } ); +cells.push_back( {20305122,4423,111,3,2,1,-0.125,0.86254 } ); +cells.push_back( {20405112,4404,111,4,1,1,-0.175,0.812977 } ); +cells.push_back( {20405122,4424,111,4,2,1,-0.175,0.86254 } ); +cells.push_back( {20505112,4405,111,5,1,1,-0.225,0.812977 } ); +cells.push_back( {20505122,4425,111,5,2,1,-0.225,0.86254 } ); +cells.push_back( {20605112,4406,111,6,1,1,-0.275,0.812977 } ); +cells.push_back( {20605122,4426,111,6,2,1,-0.275,0.86254 } ); +cells.push_back( {20705112,4407,111,7,1,1,-0.325,0.812977 } ); +cells.push_back( {20705122,4427,111,7,2,1,-0.325,0.86254 } ); +cells.push_back( {20805112,4408,111,8,1,1,-0.375,0.812977 } ); +cells.push_back( {20805122,4428,111,8,2,1,-0.375,0.86254 } ); +cells.push_back( {20905112,4409,111,9,1,1,-0.425,0.812977 } ); +cells.push_back( {20905122,4429,111,9,2,1,-0.425,0.86254 } ); +cells.push_back( {21005112,4410,111,10,1,1,-0.475,0.812977 } ); +cells.push_back( {21005122,4430,111,10,2,1,-0.475,0.86254 } ); +cells.push_back( {21105112,4411,111,11,1,1,-0.525,0.812977 } ); +cells.push_back( {21105122,4431,111,11,2,1,-0.525,0.86254 } ); +cells.push_back( {21205112,4412,111,12,1,1,-0.575,0.812977 } ); +cells.push_back( {21205122,4432,111,12,2,1,-0.575,0.86254 } ); +cells.push_back( {21305112,4413,111,13,1,1,-0.625,0.812977 } ); +cells.push_back( {21305122,4433,111,13,2,1,-0.625,0.86254 } ); +cells.push_back( {21405112,4414,111,14,1,1,-0.675,0.812977 } ); +cells.push_back( {21405122,4434,111,14,2,1,-0.675,0.86254 } ); +cells.push_back( {21505112,4415,111,15,1,1,-0.725,0.812977 } ); +cells.push_back( {21505122,4435,111,15,2,1,-0.725,0.86254 } ); +cells.push_back( {21605112,4416,111,16,1,1,-0.775,0.812977 } ); +cells.push_back( {21605122,4436,111,16,2,1,-0.775,0.86254 } ); +cells.push_back( {21705112,4417,111,17,1,1,-0.825,0.812977 } ); +cells.push_back( {21705122,4437,111,17,2,1,-0.825,0.86254 } ); +cells.push_back( {21805112,4418,111,18,1,1,-0.875,0.812977 } ); +cells.push_back( {21805122,4438,111,18,2,1,-0.875,0.86254 } ); +cells.push_back( {21905112,4419,111,19,1,1,-0.925,0.812977 } ); +cells.push_back( {21905122,4439,111,19,2,1,-0.925,0.86254 } ); +cells.push_back( {22005112,4420,111,20,1,1,-0.967,0.812977 } ); +cells.push_back( {22005122,4440,111,20,2,1,-0.967,0.86254 } ); +cells.push_back( {20105211,4441,112,1,1,2,-0.02675,0.917697 } ); +cells.push_back( {20105221,4461,112,1,2,2,-0.02675,0.967259 } ); +cells.push_back( {20205211,4442,112,2,1,2,-0.075,0.917697 } ); +cells.push_back( {20205221,4462,112,2,2,2,-0.075,0.967259 } ); +cells.push_back( {20305211,4443,112,3,1,2,-0.125,0.917697 } ); +cells.push_back( {20305221,4463,112,3,2,2,-0.125,0.967259 } ); +cells.push_back( {20405211,4444,112,4,1,2,-0.175,0.917697 } ); +cells.push_back( {20405221,4464,112,4,2,2,-0.175,0.967259 } ); +cells.push_back( {20505211,4445,112,5,1,2,-0.225,0.917697 } ); +cells.push_back( {20505221,4465,112,5,2,2,-0.225,0.967259 } ); +cells.push_back( {20605211,4446,112,6,1,2,-0.275,0.917697 } ); +cells.push_back( {20605221,4466,112,6,2,2,-0.275,0.967259 } ); +cells.push_back( {20705211,4447,112,7,1,2,-0.325,0.917697 } ); +cells.push_back( {20705221,4467,112,7,2,2,-0.325,0.967259 } ); +cells.push_back( {20805211,4448,112,8,1,2,-0.375,0.917697 } ); +cells.push_back( {20805221,4468,112,8,2,2,-0.375,0.967259 } ); +cells.push_back( {20905211,4449,112,9,1,2,-0.425,0.917697 } ); +cells.push_back( {20905221,4469,112,9,2,2,-0.425,0.967259 } ); +cells.push_back( {21005211,4450,112,10,1,2,-0.475,0.917697 } ); +cells.push_back( {21005221,4470,112,10,2,2,-0.475,0.967259 } ); +cells.push_back( {21105211,4451,112,11,1,2,-0.525,0.917697 } ); +cells.push_back( {21105221,4471,112,11,2,2,-0.525,0.967259 } ); +cells.push_back( {21205211,4452,112,12,1,2,-0.575,0.917697 } ); +cells.push_back( {21205221,4472,112,12,2,2,-0.575,0.967259 } ); +cells.push_back( {21305211,4453,112,13,1,2,-0.625,0.917697 } ); +cells.push_back( {21305221,4473,112,13,2,2,-0.625,0.967259 } ); +cells.push_back( {21405211,4454,112,14,1,2,-0.675,0.917697 } ); +cells.push_back( {21405221,4474,112,14,2,2,-0.675,0.967259 } ); +cells.push_back( {21505211,4455,112,15,1,2,-0.725,0.917697 } ); +cells.push_back( {21505221,4475,112,15,2,2,-0.725,0.967259 } ); +cells.push_back( {21605211,4456,112,16,1,2,-0.775,0.917697 } ); +cells.push_back( {21605221,4476,112,16,2,2,-0.775,0.967259 } ); +cells.push_back( {21705211,4457,112,17,1,2,-0.825,0.917697 } ); +cells.push_back( {21705221,4477,112,17,2,2,-0.825,0.967259 } ); +cells.push_back( {21805211,4458,112,18,1,2,-0.875,0.917697 } ); +cells.push_back( {21805221,4478,112,18,2,2,-0.875,0.967259 } ); +cells.push_back( {21905211,4459,112,19,1,2,-0.925,0.917697 } ); +cells.push_back( {21905221,4479,112,19,2,2,-0.925,0.967259 } ); +cells.push_back( {22005211,4460,112,20,1,2,-0.967,0.917697 } ); +cells.push_back( {22005221,4480,112,20,2,2,-0.967,0.967259 } ); +cells.push_back( {20105212,4441,112,1,1,1,-0.02675,0.917697 } ); +cells.push_back( {20105222,4461,112,1,2,1,-0.02675,0.967259 } ); +cells.push_back( {20205212,4442,112,2,1,1,-0.075,0.917697 } ); +cells.push_back( {20205222,4462,112,2,2,1,-0.075,0.967259 } ); +cells.push_back( {20305212,4443,112,3,1,1,-0.125,0.917697 } ); +cells.push_back( {20305222,4463,112,3,2,1,-0.125,0.967259 } ); +cells.push_back( {20405212,4444,112,4,1,1,-0.175,0.917697 } ); +cells.push_back( {20405222,4464,112,4,2,1,-0.175,0.967259 } ); +cells.push_back( {20505212,4445,112,5,1,1,-0.225,0.917697 } ); +cells.push_back( {20505222,4465,112,5,2,1,-0.225,0.967259 } ); +cells.push_back( {20605212,4446,112,6,1,1,-0.275,0.917697 } ); +cells.push_back( {20605222,4466,112,6,2,1,-0.275,0.967259 } ); +cells.push_back( {20705212,4447,112,7,1,1,-0.325,0.917697 } ); +cells.push_back( {20705222,4467,112,7,2,1,-0.325,0.967259 } ); +cells.push_back( {20805212,4448,112,8,1,1,-0.375,0.917697 } ); +cells.push_back( {20805222,4468,112,8,2,1,-0.375,0.967259 } ); +cells.push_back( {20905212,4449,112,9,1,1,-0.425,0.917697 } ); +cells.push_back( {20905222,4469,112,9,2,1,-0.425,0.967259 } ); +cells.push_back( {21005212,4450,112,10,1,1,-0.475,0.917697 } ); +cells.push_back( {21005222,4470,112,10,2,1,-0.475,0.967259 } ); +cells.push_back( {21105212,4451,112,11,1,1,-0.525,0.917697 } ); +cells.push_back( {21105222,4471,112,11,2,1,-0.525,0.967259 } ); +cells.push_back( {21205212,4452,112,12,1,1,-0.575,0.917697 } ); +cells.push_back( {21205222,4472,112,12,2,1,-0.575,0.967259 } ); +cells.push_back( {21305212,4453,112,13,1,1,-0.625,0.917697 } ); +cells.push_back( {21305222,4473,112,13,2,1,-0.625,0.967259 } ); +cells.push_back( {21405212,4454,112,14,1,1,-0.675,0.917697 } ); +cells.push_back( {21405222,4474,112,14,2,1,-0.675,0.967259 } ); +cells.push_back( {21505212,4455,112,15,1,1,-0.725,0.917697 } ); +cells.push_back( {21505222,4475,112,15,2,1,-0.725,0.967259 } ); +cells.push_back( {21605212,4456,112,16,1,1,-0.775,0.917697 } ); +cells.push_back( {21605222,4476,112,16,2,1,-0.775,0.967259 } ); +cells.push_back( {21705212,4457,112,17,1,1,-0.825,0.917697 } ); +cells.push_back( {21705222,4477,112,17,2,1,-0.825,0.967259 } ); +cells.push_back( {21805212,4458,112,18,1,1,-0.875,0.917697 } ); +cells.push_back( {21805222,4478,112,18,2,1,-0.875,0.967259 } ); +cells.push_back( {21905212,4459,112,19,1,1,-0.925,0.917697 } ); +cells.push_back( {21905222,4479,112,19,2,1,-0.925,0.967259 } ); +cells.push_back( {22005212,4460,112,20,1,1,-0.967,0.917697 } ); +cells.push_back( {22005222,4480,112,20,2,1,-0.967,0.967259 } ); +cells.push_back( {20105311,4481,113,1,1,2,-0.02675,1.02242 } ); +cells.push_back( {20105321,4501,113,1,2,2,-0.02675,1.07198 } ); +cells.push_back( {20205311,4482,113,2,1,2,-0.075,1.02242 } ); +cells.push_back( {20205321,4502,113,2,2,2,-0.075,1.07198 } ); +cells.push_back( {20305311,4483,113,3,1,2,-0.125,1.02242 } ); +cells.push_back( {20305321,4503,113,3,2,2,-0.125,1.07198 } ); +cells.push_back( {20405311,4484,113,4,1,2,-0.175,1.02242 } ); +cells.push_back( {20405321,4504,113,4,2,2,-0.175,1.07198 } ); +cells.push_back( {20505311,4485,113,5,1,2,-0.225,1.02242 } ); +cells.push_back( {20505321,4505,113,5,2,2,-0.225,1.07198 } ); +cells.push_back( {20605311,4486,113,6,1,2,-0.275,1.02242 } ); +cells.push_back( {20605321,4506,113,6,2,2,-0.275,1.07198 } ); +cells.push_back( {20705311,4487,113,7,1,2,-0.325,1.02242 } ); +cells.push_back( {20705321,4507,113,7,2,2,-0.325,1.07198 } ); +cells.push_back( {20805311,4488,113,8,1,2,-0.375,1.02242 } ); +cells.push_back( {20805321,4508,113,8,2,2,-0.375,1.07198 } ); +cells.push_back( {20905311,4489,113,9,1,2,-0.425,1.02242 } ); +cells.push_back( {20905321,4509,113,9,2,2,-0.425,1.07198 } ); +cells.push_back( {21005311,4490,113,10,1,2,-0.475,1.02242 } ); +cells.push_back( {21005321,4510,113,10,2,2,-0.475,1.07198 } ); +cells.push_back( {21105311,4491,113,11,1,2,-0.525,1.02242 } ); +cells.push_back( {21105321,4511,113,11,2,2,-0.525,1.07198 } ); +cells.push_back( {21205311,4492,113,12,1,2,-0.575,1.02242 } ); +cells.push_back( {21205321,4512,113,12,2,2,-0.575,1.07198 } ); +cells.push_back( {21305311,4493,113,13,1,2,-0.625,1.02242 } ); +cells.push_back( {21305321,4513,113,13,2,2,-0.625,1.07198 } ); +cells.push_back( {21405311,4494,113,14,1,2,-0.675,1.02242 } ); +cells.push_back( {21405321,4514,113,14,2,2,-0.675,1.07198 } ); +cells.push_back( {21505311,4495,113,15,1,2,-0.725,1.02242 } ); +cells.push_back( {21505321,4515,113,15,2,2,-0.725,1.07198 } ); +cells.push_back( {21605311,4496,113,16,1,2,-0.775,1.02242 } ); +cells.push_back( {21605321,4516,113,16,2,2,-0.775,1.07198 } ); +cells.push_back( {21705311,4497,113,17,1,2,-0.825,1.02242 } ); +cells.push_back( {21705321,4517,113,17,2,2,-0.825,1.07198 } ); +cells.push_back( {21805311,4498,113,18,1,2,-0.875,1.02242 } ); +cells.push_back( {21805321,4518,113,18,2,2,-0.875,1.07198 } ); +cells.push_back( {21905311,4499,113,19,1,2,-0.925,1.02242 } ); +cells.push_back( {21905321,4519,113,19,2,2,-0.925,1.07198 } ); +cells.push_back( {22005311,4500,113,20,1,2,-0.967,1.02242 } ); +cells.push_back( {22005321,4520,113,20,2,2,-0.967,1.07198 } ); +cells.push_back( {20105312,4481,113,1,1,1,-0.02675,1.02242 } ); +cells.push_back( {20105322,4501,113,1,2,1,-0.02675,1.07198 } ); +cells.push_back( {20205312,4482,113,2,1,1,-0.075,1.02242 } ); +cells.push_back( {20205322,4502,113,2,2,1,-0.075,1.07198 } ); +cells.push_back( {20305312,4483,113,3,1,1,-0.125,1.02242 } ); +cells.push_back( {20305322,4503,113,3,2,1,-0.125,1.07198 } ); +cells.push_back( {20405312,4484,113,4,1,1,-0.175,1.02242 } ); +cells.push_back( {20405322,4504,113,4,2,1,-0.175,1.07198 } ); +cells.push_back( {20505312,4485,113,5,1,1,-0.225,1.02242 } ); +cells.push_back( {20505322,4505,113,5,2,1,-0.225,1.07198 } ); +cells.push_back( {20605312,4486,113,6,1,1,-0.275,1.02242 } ); +cells.push_back( {20605322,4506,113,6,2,1,-0.275,1.07198 } ); +cells.push_back( {20705312,4487,113,7,1,1,-0.325,1.02242 } ); +cells.push_back( {20705322,4507,113,7,2,1,-0.325,1.07198 } ); +cells.push_back( {20805312,4488,113,8,1,1,-0.375,1.02242 } ); +cells.push_back( {20805322,4508,113,8,2,1,-0.375,1.07198 } ); +cells.push_back( {20905312,4489,113,9,1,1,-0.425,1.02242 } ); +cells.push_back( {20905322,4509,113,9,2,1,-0.425,1.07198 } ); +cells.push_back( {21005312,4490,113,10,1,1,-0.475,1.02242 } ); +cells.push_back( {21005322,4510,113,10,2,1,-0.475,1.07198 } ); +cells.push_back( {21105312,4491,113,11,1,1,-0.525,1.02242 } ); +cells.push_back( {21105322,4511,113,11,2,1,-0.525,1.07198 } ); +cells.push_back( {21205312,4492,113,12,1,1,-0.575,1.02242 } ); +cells.push_back( {21205322,4512,113,12,2,1,-0.575,1.07198 } ); +cells.push_back( {21305312,4493,113,13,1,1,-0.625,1.02242 } ); +cells.push_back( {21305322,4513,113,13,2,1,-0.625,1.07198 } ); +cells.push_back( {21405312,4494,113,14,1,1,-0.675,1.02242 } ); +cells.push_back( {21405322,4514,113,14,2,1,-0.675,1.07198 } ); +cells.push_back( {21505312,4495,113,15,1,1,-0.725,1.02242 } ); +cells.push_back( {21505322,4515,113,15,2,1,-0.725,1.07198 } ); +cells.push_back( {21605312,4496,113,16,1,1,-0.775,1.02242 } ); +cells.push_back( {21605322,4516,113,16,2,1,-0.775,1.07198 } ); +cells.push_back( {21705312,4497,113,17,1,1,-0.825,1.02242 } ); +cells.push_back( {21705322,4517,113,17,2,1,-0.825,1.07198 } ); +cells.push_back( {21805312,4498,113,18,1,1,-0.875,1.02242 } ); +cells.push_back( {21805322,4518,113,18,2,1,-0.875,1.07198 } ); +cells.push_back( {21905312,4499,113,19,1,1,-0.925,1.02242 } ); +cells.push_back( {21905322,4519,113,19,2,1,-0.925,1.07198 } ); +cells.push_back( {22005312,4500,113,20,1,1,-0.967,1.02242 } ); +cells.push_back( {22005322,4520,113,20,2,1,-0.967,1.07198 } ); +cells.push_back( {20105411,4521,114,1,1,2,-0.02675,1.12714 } ); +cells.push_back( {20105421,4541,114,1,2,2,-0.02675,1.1767 } ); +cells.push_back( {20205411,4522,114,2,1,2,-0.075,1.12714 } ); +cells.push_back( {20205421,4542,114,2,2,2,-0.075,1.1767 } ); +cells.push_back( {20305411,4523,114,3,1,2,-0.125,1.12714 } ); +cells.push_back( {20305421,4543,114,3,2,2,-0.125,1.1767 } ); +cells.push_back( {20405411,4524,114,4,1,2,-0.175,1.12714 } ); +cells.push_back( {20405421,4544,114,4,2,2,-0.175,1.1767 } ); +cells.push_back( {20505411,4525,114,5,1,2,-0.225,1.12714 } ); +cells.push_back( {20505421,4545,114,5,2,2,-0.225,1.1767 } ); +cells.push_back( {20605411,4526,114,6,1,2,-0.275,1.12714 } ); +cells.push_back( {20605421,4546,114,6,2,2,-0.275,1.1767 } ); +cells.push_back( {20705411,4527,114,7,1,2,-0.325,1.12714 } ); +cells.push_back( {20705421,4547,114,7,2,2,-0.325,1.1767 } ); +cells.push_back( {20805411,4528,114,8,1,2,-0.375,1.12714 } ); +cells.push_back( {20805421,4548,114,8,2,2,-0.375,1.1767 } ); +cells.push_back( {20905411,4529,114,9,1,2,-0.425,1.12714 } ); +cells.push_back( {20905421,4549,114,9,2,2,-0.425,1.1767 } ); +cells.push_back( {21005411,4530,114,10,1,2,-0.475,1.12714 } ); +cells.push_back( {21005421,4550,114,10,2,2,-0.475,1.1767 } ); +cells.push_back( {21105411,4531,114,11,1,2,-0.525,1.12714 } ); +cells.push_back( {21105421,4551,114,11,2,2,-0.525,1.1767 } ); +cells.push_back( {21205411,4532,114,12,1,2,-0.575,1.12714 } ); +cells.push_back( {21205421,4552,114,12,2,2,-0.575,1.1767 } ); +cells.push_back( {21305411,4533,114,13,1,2,-0.625,1.12714 } ); +cells.push_back( {21305421,4553,114,13,2,2,-0.625,1.1767 } ); +cells.push_back( {21405411,4534,114,14,1,2,-0.675,1.12714 } ); +cells.push_back( {21405421,4554,114,14,2,2,-0.675,1.1767 } ); +cells.push_back( {21505411,4535,114,15,1,2,-0.725,1.12714 } ); +cells.push_back( {21505421,4555,114,15,2,2,-0.725,1.1767 } ); +cells.push_back( {21605411,4536,114,16,1,2,-0.775,1.12714 } ); +cells.push_back( {21605421,4556,114,16,2,2,-0.775,1.1767 } ); +cells.push_back( {21705411,4537,114,17,1,2,-0.825,1.12714 } ); +cells.push_back( {21705421,4557,114,17,2,2,-0.825,1.1767 } ); +cells.push_back( {21805411,4538,114,18,1,2,-0.875,1.12714 } ); +cells.push_back( {21805421,4558,114,18,2,2,-0.875,1.1767 } ); +cells.push_back( {21905411,4539,114,19,1,2,-0.925,1.12714 } ); +cells.push_back( {21905421,4559,114,19,2,2,-0.925,1.1767 } ); +cells.push_back( {22005411,4540,114,20,1,2,-0.967,1.12714 } ); +cells.push_back( {22005421,4560,114,20,2,2,-0.967,1.1767 } ); +cells.push_back( {20105412,4521,114,1,1,1,-0.02675,1.12714 } ); +cells.push_back( {20105422,4541,114,1,2,1,-0.02675,1.1767 } ); +cells.push_back( {20205412,4522,114,2,1,1,-0.075,1.12714 } ); +cells.push_back( {20205422,4542,114,2,2,1,-0.075,1.1767 } ); +cells.push_back( {20305412,4523,114,3,1,1,-0.125,1.12714 } ); +cells.push_back( {20305422,4543,114,3,2,1,-0.125,1.1767 } ); +cells.push_back( {20405412,4524,114,4,1,1,-0.175,1.12714 } ); +cells.push_back( {20405422,4544,114,4,2,1,-0.175,1.1767 } ); +cells.push_back( {20505412,4525,114,5,1,1,-0.225,1.12714 } ); +cells.push_back( {20505422,4545,114,5,2,1,-0.225,1.1767 } ); +cells.push_back( {20605412,4526,114,6,1,1,-0.275,1.12714 } ); +cells.push_back( {20605422,4546,114,6,2,1,-0.275,1.1767 } ); +cells.push_back( {20705412,4527,114,7,1,1,-0.325,1.12714 } ); +cells.push_back( {20705422,4547,114,7,2,1,-0.325,1.1767 } ); +cells.push_back( {20805412,4528,114,8,1,1,-0.375,1.12714 } ); +cells.push_back( {20805422,4548,114,8,2,1,-0.375,1.1767 } ); +cells.push_back( {20905412,4529,114,9,1,1,-0.425,1.12714 } ); +cells.push_back( {20905422,4549,114,9,2,1,-0.425,1.1767 } ); +cells.push_back( {21005412,4530,114,10,1,1,-0.475,1.12714 } ); +cells.push_back( {21005422,4550,114,10,2,1,-0.475,1.1767 } ); +cells.push_back( {21105412,4531,114,11,1,1,-0.525,1.12714 } ); +cells.push_back( {21105422,4551,114,11,2,1,-0.525,1.1767 } ); +cells.push_back( {21205412,4532,114,12,1,1,-0.575,1.12714 } ); +cells.push_back( {21205422,4552,114,12,2,1,-0.575,1.1767 } ); +cells.push_back( {21305412,4533,114,13,1,1,-0.625,1.12714 } ); +cells.push_back( {21305422,4553,114,13,2,1,-0.625,1.1767 } ); +cells.push_back( {21405412,4534,114,14,1,1,-0.675,1.12714 } ); +cells.push_back( {21405422,4554,114,14,2,1,-0.675,1.1767 } ); +cells.push_back( {21505412,4535,114,15,1,1,-0.725,1.12714 } ); +cells.push_back( {21505422,4555,114,15,2,1,-0.725,1.1767 } ); +cells.push_back( {21605412,4536,114,16,1,1,-0.775,1.12714 } ); +cells.push_back( {21605422,4556,114,16,2,1,-0.775,1.1767 } ); +cells.push_back( {21705412,4537,114,17,1,1,-0.825,1.12714 } ); +cells.push_back( {21705422,4557,114,17,2,1,-0.825,1.1767 } ); +cells.push_back( {21805412,4538,114,18,1,1,-0.875,1.12714 } ); +cells.push_back( {21805422,4558,114,18,2,1,-0.875,1.1767 } ); +cells.push_back( {21905412,4539,114,19,1,1,-0.925,1.12714 } ); +cells.push_back( {21905422,4559,114,19,2,1,-0.925,1.1767 } ); +cells.push_back( {22005412,4540,114,20,1,1,-0.967,1.12714 } ); +cells.push_back( {22005422,4560,114,20,2,1,-0.967,1.1767 } ); +cells.push_back( {20105511,4561,115,1,1,2,-0.02675,1.23186 } ); +cells.push_back( {20105521,4581,115,1,2,2,-0.02675,1.28142 } ); +cells.push_back( {20205511,4562,115,2,1,2,-0.075,1.23186 } ); +cells.push_back( {20205521,4582,115,2,2,2,-0.075,1.28142 } ); +cells.push_back( {20305511,4563,115,3,1,2,-0.125,1.23186 } ); +cells.push_back( {20305521,4583,115,3,2,2,-0.125,1.28142 } ); +cells.push_back( {20405511,4564,115,4,1,2,-0.175,1.23186 } ); +cells.push_back( {20405521,4584,115,4,2,2,-0.175,1.28142 } ); +cells.push_back( {20505511,4565,115,5,1,2,-0.225,1.23186 } ); +cells.push_back( {20505521,4585,115,5,2,2,-0.225,1.28142 } ); +cells.push_back( {20605511,4566,115,6,1,2,-0.275,1.23186 } ); +cells.push_back( {20605521,4586,115,6,2,2,-0.275,1.28142 } ); +cells.push_back( {20705511,4567,115,7,1,2,-0.325,1.23186 } ); +cells.push_back( {20705521,4587,115,7,2,2,-0.325,1.28142 } ); +cells.push_back( {20805511,4568,115,8,1,2,-0.375,1.23186 } ); +cells.push_back( {20805521,4588,115,8,2,2,-0.375,1.28142 } ); +cells.push_back( {20905511,4569,115,9,1,2,-0.425,1.23186 } ); +cells.push_back( {20905521,4589,115,9,2,2,-0.425,1.28142 } ); +cells.push_back( {21005511,4570,115,10,1,2,-0.475,1.23186 } ); +cells.push_back( {21005521,4590,115,10,2,2,-0.475,1.28142 } ); +cells.push_back( {21105511,4571,115,11,1,2,-0.525,1.23186 } ); +cells.push_back( {21105521,4591,115,11,2,2,-0.525,1.28142 } ); +cells.push_back( {21205511,4572,115,12,1,2,-0.575,1.23186 } ); +cells.push_back( {21205521,4592,115,12,2,2,-0.575,1.28142 } ); +cells.push_back( {21305511,4573,115,13,1,2,-0.625,1.23186 } ); +cells.push_back( {21305521,4593,115,13,2,2,-0.625,1.28142 } ); +cells.push_back( {21405511,4574,115,14,1,2,-0.675,1.23186 } ); +cells.push_back( {21405521,4594,115,14,2,2,-0.675,1.28142 } ); +cells.push_back( {21505511,4575,115,15,1,2,-0.725,1.23186 } ); +cells.push_back( {21505521,4595,115,15,2,2,-0.725,1.28142 } ); +cells.push_back( {21605511,4576,115,16,1,2,-0.775,1.23186 } ); +cells.push_back( {21605521,4596,115,16,2,2,-0.775,1.28142 } ); +cells.push_back( {21705511,4577,115,17,1,2,-0.825,1.23186 } ); +cells.push_back( {21705521,4597,115,17,2,2,-0.825,1.28142 } ); +cells.push_back( {21805511,4578,115,18,1,2,-0.875,1.23186 } ); +cells.push_back( {21805521,4598,115,18,2,2,-0.875,1.28142 } ); +cells.push_back( {21905511,4579,115,19,1,2,-0.925,1.23186 } ); +cells.push_back( {21905521,4599,115,19,2,2,-0.925,1.28142 } ); +cells.push_back( {22005511,4580,115,20,1,2,-0.967,1.23186 } ); +cells.push_back( {22005521,4600,115,20,2,2,-0.967,1.28142 } ); +cells.push_back( {20105512,4561,115,1,1,1,-0.02675,1.23186 } ); +cells.push_back( {20105522,4581,115,1,2,1,-0.02675,1.28142 } ); +cells.push_back( {20205512,4562,115,2,1,1,-0.075,1.23186 } ); +cells.push_back( {20205522,4582,115,2,2,1,-0.075,1.28142 } ); +cells.push_back( {20305512,4563,115,3,1,1,-0.125,1.23186 } ); +cells.push_back( {20305522,4583,115,3,2,1,-0.125,1.28142 } ); +cells.push_back( {20405512,4564,115,4,1,1,-0.175,1.23186 } ); +cells.push_back( {20405522,4584,115,4,2,1,-0.175,1.28142 } ); +cells.push_back( {20505512,4565,115,5,1,1,-0.225,1.23186 } ); +cells.push_back( {20505522,4585,115,5,2,1,-0.225,1.28142 } ); +cells.push_back( {20605512,4566,115,6,1,1,-0.275,1.23186 } ); +cells.push_back( {20605522,4586,115,6,2,1,-0.275,1.28142 } ); +cells.push_back( {20705512,4567,115,7,1,1,-0.325,1.23186 } ); +cells.push_back( {20705522,4587,115,7,2,1,-0.325,1.28142 } ); +cells.push_back( {20805512,4568,115,8,1,1,-0.375,1.23186 } ); +cells.push_back( {20805522,4588,115,8,2,1,-0.375,1.28142 } ); +cells.push_back( {20905512,4569,115,9,1,1,-0.425,1.23186 } ); +cells.push_back( {20905522,4589,115,9,2,1,-0.425,1.28142 } ); +cells.push_back( {21005512,4570,115,10,1,1,-0.475,1.23186 } ); +cells.push_back( {21005522,4590,115,10,2,1,-0.475,1.28142 } ); +cells.push_back( {21105512,4571,115,11,1,1,-0.525,1.23186 } ); +cells.push_back( {21105522,4591,115,11,2,1,-0.525,1.28142 } ); +cells.push_back( {21205512,4572,115,12,1,1,-0.575,1.23186 } ); +cells.push_back( {21205522,4592,115,12,2,1,-0.575,1.28142 } ); +cells.push_back( {21305512,4573,115,13,1,1,-0.625,1.23186 } ); +cells.push_back( {21305522,4593,115,13,2,1,-0.625,1.28142 } ); +cells.push_back( {21405512,4574,115,14,1,1,-0.675,1.23186 } ); +cells.push_back( {21405522,4594,115,14,2,1,-0.675,1.28142 } ); +cells.push_back( {21505512,4575,115,15,1,1,-0.725,1.23186 } ); +cells.push_back( {21505522,4595,115,15,2,1,-0.725,1.28142 } ); +cells.push_back( {21605512,4576,115,16,1,1,-0.775,1.23186 } ); +cells.push_back( {21605522,4596,115,16,2,1,-0.775,1.28142 } ); +cells.push_back( {21705512,4577,115,17,1,1,-0.825,1.23186 } ); +cells.push_back( {21705522,4597,115,17,2,1,-0.825,1.28142 } ); +cells.push_back( {21805512,4578,115,18,1,1,-0.875,1.23186 } ); +cells.push_back( {21805522,4598,115,18,2,1,-0.875,1.28142 } ); +cells.push_back( {21905512,4579,115,19,1,1,-0.925,1.23186 } ); +cells.push_back( {21905522,4599,115,19,2,1,-0.925,1.28142 } ); +cells.push_back( {22005512,4580,115,20,1,1,-0.967,1.23186 } ); +cells.push_back( {22005522,4600,115,20,2,1,-0.967,1.28142 } ); +cells.push_back( {20105611,4601,116,1,1,2,-0.02675,1.33658 } ); +cells.push_back( {20105621,4621,116,1,2,2,-0.02675,1.38614 } ); +cells.push_back( {20205611,4602,116,2,1,2,-0.075,1.33658 } ); +cells.push_back( {20205621,4622,116,2,2,2,-0.075,1.38614 } ); +cells.push_back( {20305611,4603,116,3,1,2,-0.125,1.33658 } ); +cells.push_back( {20305621,4623,116,3,2,2,-0.125,1.38614 } ); +cells.push_back( {20405611,4604,116,4,1,2,-0.175,1.33658 } ); +cells.push_back( {20405621,4624,116,4,2,2,-0.175,1.38614 } ); +cells.push_back( {20505611,4605,116,5,1,2,-0.225,1.33658 } ); +cells.push_back( {20505621,4625,116,5,2,2,-0.225,1.38614 } ); +cells.push_back( {20605611,4606,116,6,1,2,-0.275,1.33658 } ); +cells.push_back( {20605621,4626,116,6,2,2,-0.275,1.38614 } ); +cells.push_back( {20705611,4607,116,7,1,2,-0.325,1.33658 } ); +cells.push_back( {20705621,4627,116,7,2,2,-0.325,1.38614 } ); +cells.push_back( {20805611,4608,116,8,1,2,-0.375,1.33658 } ); +cells.push_back( {20805621,4628,116,8,2,2,-0.375,1.38614 } ); +cells.push_back( {20905611,4609,116,9,1,2,-0.425,1.33658 } ); +cells.push_back( {20905621,4629,116,9,2,2,-0.425,1.38614 } ); +cells.push_back( {21005611,4610,116,10,1,2,-0.475,1.33658 } ); +cells.push_back( {21005621,4630,116,10,2,2,-0.475,1.38614 } ); +cells.push_back( {21105611,4611,116,11,1,2,-0.525,1.33658 } ); +cells.push_back( {21105621,4631,116,11,2,2,-0.525,1.38614 } ); +cells.push_back( {21205611,4612,116,12,1,2,-0.575,1.33658 } ); +cells.push_back( {21205621,4632,116,12,2,2,-0.575,1.38614 } ); +cells.push_back( {21305611,4613,116,13,1,2,-0.625,1.33658 } ); +cells.push_back( {21305621,4633,116,13,2,2,-0.625,1.38614 } ); +cells.push_back( {21405611,4614,116,14,1,2,-0.675,1.33658 } ); +cells.push_back( {21405621,4634,116,14,2,2,-0.675,1.38614 } ); +cells.push_back( {21505611,4615,116,15,1,2,-0.725,1.33658 } ); +cells.push_back( {21505621,4635,116,15,2,2,-0.725,1.38614 } ); +cells.push_back( {21605611,4616,116,16,1,2,-0.775,1.33658 } ); +cells.push_back( {21605621,4636,116,16,2,2,-0.775,1.38614 } ); +cells.push_back( {21705611,4617,116,17,1,2,-0.825,1.33658 } ); +cells.push_back( {21705621,4637,116,17,2,2,-0.825,1.38614 } ); +cells.push_back( {21805611,4618,116,18,1,2,-0.875,1.33658 } ); +cells.push_back( {21805621,4638,116,18,2,2,-0.875,1.38614 } ); +cells.push_back( {21905611,4619,116,19,1,2,-0.925,1.33658 } ); +cells.push_back( {21905621,4639,116,19,2,2,-0.925,1.38614 } ); +cells.push_back( {22005611,4620,116,20,1,2,-0.967,1.33658 } ); +cells.push_back( {22005621,4640,116,20,2,2,-0.967,1.38614 } ); +cells.push_back( {20105612,4601,116,1,1,1,-0.02675,1.33658 } ); +cells.push_back( {20105622,4621,116,1,2,1,-0.02675,1.38614 } ); +cells.push_back( {20205612,4602,116,2,1,1,-0.075,1.33658 } ); +cells.push_back( {20205622,4622,116,2,2,1,-0.075,1.38614 } ); +cells.push_back( {20305612,4603,116,3,1,1,-0.125,1.33658 } ); +cells.push_back( {20305622,4623,116,3,2,1,-0.125,1.38614 } ); +cells.push_back( {20405612,4604,116,4,1,1,-0.175,1.33658 } ); +cells.push_back( {20405622,4624,116,4,2,1,-0.175,1.38614 } ); +cells.push_back( {20505612,4605,116,5,1,1,-0.225,1.33658 } ); +cells.push_back( {20505622,4625,116,5,2,1,-0.225,1.38614 } ); +cells.push_back( {20605612,4606,116,6,1,1,-0.275,1.33658 } ); +cells.push_back( {20605622,4626,116,6,2,1,-0.275,1.38614 } ); +cells.push_back( {20705612,4607,116,7,1,1,-0.325,1.33658 } ); +cells.push_back( {20705622,4627,116,7,2,1,-0.325,1.38614 } ); +cells.push_back( {20805612,4608,116,8,1,1,-0.375,1.33658 } ); +cells.push_back( {20805622,4628,116,8,2,1,-0.375,1.38614 } ); +cells.push_back( {20905612,4609,116,9,1,1,-0.425,1.33658 } ); +cells.push_back( {20905622,4629,116,9,2,1,-0.425,1.38614 } ); +cells.push_back( {21005612,4610,116,10,1,1,-0.475,1.33658 } ); +cells.push_back( {21005622,4630,116,10,2,1,-0.475,1.38614 } ); +cells.push_back( {21105612,4611,116,11,1,1,-0.525,1.33658 } ); +cells.push_back( {21105622,4631,116,11,2,1,-0.525,1.38614 } ); +cells.push_back( {21205612,4612,116,12,1,1,-0.575,1.33658 } ); +cells.push_back( {21205622,4632,116,12,2,1,-0.575,1.38614 } ); +cells.push_back( {21305612,4613,116,13,1,1,-0.625,1.33658 } ); +cells.push_back( {21305622,4633,116,13,2,1,-0.625,1.38614 } ); +cells.push_back( {21405612,4614,116,14,1,1,-0.675,1.33658 } ); +cells.push_back( {21405622,4634,116,14,2,1,-0.675,1.38614 } ); +cells.push_back( {21505612,4615,116,15,1,1,-0.725,1.33658 } ); +cells.push_back( {21505622,4635,116,15,2,1,-0.725,1.38614 } ); +cells.push_back( {21605612,4616,116,16,1,1,-0.775,1.33658 } ); +cells.push_back( {21605622,4636,116,16,2,1,-0.775,1.38614 } ); +cells.push_back( {21705612,4617,116,17,1,1,-0.825,1.33658 } ); +cells.push_back( {21705622,4637,116,17,2,1,-0.825,1.38614 } ); +cells.push_back( {21805612,4618,116,18,1,1,-0.875,1.33658 } ); +cells.push_back( {21805622,4638,116,18,2,1,-0.875,1.38614 } ); +cells.push_back( {21905612,4619,116,19,1,1,-0.925,1.33658 } ); +cells.push_back( {21905622,4639,116,19,2,1,-0.925,1.38614 } ); +cells.push_back( {22005612,4620,116,20,1,1,-0.967,1.33658 } ); +cells.push_back( {22005622,4640,116,20,2,1,-0.967,1.38614 } ); +cells.push_back( {20105711,4641,117,1,1,2,-0.02675,1.4413 } ); +cells.push_back( {20105721,4661,117,1,2,2,-0.02675,1.49086 } ); +cells.push_back( {20205711,4642,117,2,1,2,-0.075,1.4413 } ); +cells.push_back( {20205721,4662,117,2,2,2,-0.075,1.49086 } ); +cells.push_back( {20305711,4643,117,3,1,2,-0.125,1.4413 } ); +cells.push_back( {20305721,4663,117,3,2,2,-0.125,1.49086 } ); +cells.push_back( {20405711,4644,117,4,1,2,-0.175,1.4413 } ); +cells.push_back( {20405721,4664,117,4,2,2,-0.175,1.49086 } ); +cells.push_back( {20505711,4645,117,5,1,2,-0.225,1.4413 } ); +cells.push_back( {20505721,4665,117,5,2,2,-0.225,1.49086 } ); +cells.push_back( {20605711,4646,117,6,1,2,-0.275,1.4413 } ); +cells.push_back( {20605721,4666,117,6,2,2,-0.275,1.49086 } ); +cells.push_back( {20705711,4647,117,7,1,2,-0.325,1.4413 } ); +cells.push_back( {20705721,4667,117,7,2,2,-0.325,1.49086 } ); +cells.push_back( {20805711,4648,117,8,1,2,-0.375,1.4413 } ); +cells.push_back( {20805721,4668,117,8,2,2,-0.375,1.49086 } ); +cells.push_back( {20905711,4649,117,9,1,2,-0.425,1.4413 } ); +cells.push_back( {20905721,4669,117,9,2,2,-0.425,1.49086 } ); +cells.push_back( {21005711,4650,117,10,1,2,-0.475,1.4413 } ); +cells.push_back( {21005721,4670,117,10,2,2,-0.475,1.49086 } ); +cells.push_back( {21105711,4651,117,11,1,2,-0.525,1.4413 } ); +cells.push_back( {21105721,4671,117,11,2,2,-0.525,1.49086 } ); +cells.push_back( {21205711,4652,117,12,1,2,-0.575,1.4413 } ); +cells.push_back( {21205721,4672,117,12,2,2,-0.575,1.49086 } ); +cells.push_back( {21305711,4653,117,13,1,2,-0.625,1.4413 } ); +cells.push_back( {21305721,4673,117,13,2,2,-0.625,1.49086 } ); +cells.push_back( {21405711,4654,117,14,1,2,-0.675,1.4413 } ); +cells.push_back( {21405721,4674,117,14,2,2,-0.675,1.49086 } ); +cells.push_back( {21505711,4655,117,15,1,2,-0.725,1.4413 } ); +cells.push_back( {21505721,4675,117,15,2,2,-0.725,1.49086 } ); +cells.push_back( {21605711,4656,117,16,1,2,-0.775,1.4413 } ); +cells.push_back( {21605721,4676,117,16,2,2,-0.775,1.49086 } ); +cells.push_back( {21705711,4657,117,17,1,2,-0.825,1.4413 } ); +cells.push_back( {21705721,4677,117,17,2,2,-0.825,1.49086 } ); +cells.push_back( {21805711,4658,117,18,1,2,-0.875,1.4413 } ); +cells.push_back( {21805721,4678,117,18,2,2,-0.875,1.49086 } ); +cells.push_back( {21905711,4659,117,19,1,2,-0.925,1.4413 } ); +cells.push_back( {21905721,4679,117,19,2,2,-0.925,1.49086 } ); +cells.push_back( {22005711,4660,117,20,1,2,-0.967,1.4413 } ); +cells.push_back( {22005721,4680,117,20,2,2,-0.967,1.49086 } ); +cells.push_back( {20105712,4641,117,1,1,1,-0.02675,1.4413 } ); +cells.push_back( {20105722,4661,117,1,2,1,-0.02675,1.49086 } ); +cells.push_back( {20205712,4642,117,2,1,1,-0.075,1.4413 } ); +cells.push_back( {20205722,4662,117,2,2,1,-0.075,1.49086 } ); +cells.push_back( {20305712,4643,117,3,1,1,-0.125,1.4413 } ); +cells.push_back( {20305722,4663,117,3,2,1,-0.125,1.49086 } ); +cells.push_back( {20405712,4644,117,4,1,1,-0.175,1.4413 } ); +cells.push_back( {20405722,4664,117,4,2,1,-0.175,1.49086 } ); +cells.push_back( {20505712,4645,117,5,1,1,-0.225,1.4413 } ); +cells.push_back( {20505722,4665,117,5,2,1,-0.225,1.49086 } ); +cells.push_back( {20605712,4646,117,6,1,1,-0.275,1.4413 } ); +cells.push_back( {20605722,4666,117,6,2,1,-0.275,1.49086 } ); +cells.push_back( {20705712,4647,117,7,1,1,-0.325,1.4413 } ); +cells.push_back( {20705722,4667,117,7,2,1,-0.325,1.49086 } ); +cells.push_back( {20805712,4648,117,8,1,1,-0.375,1.4413 } ); +cells.push_back( {20805722,4668,117,8,2,1,-0.375,1.49086 } ); +cells.push_back( {20905712,4649,117,9,1,1,-0.425,1.4413 } ); +cells.push_back( {20905722,4669,117,9,2,1,-0.425,1.49086 } ); +cells.push_back( {21005712,4650,117,10,1,1,-0.475,1.4413 } ); +cells.push_back( {21005722,4670,117,10,2,1,-0.475,1.49086 } ); +cells.push_back( {21105712,4651,117,11,1,1,-0.525,1.4413 } ); +cells.push_back( {21105722,4671,117,11,2,1,-0.525,1.49086 } ); +cells.push_back( {21205712,4652,117,12,1,1,-0.575,1.4413 } ); +cells.push_back( {21205722,4672,117,12,2,1,-0.575,1.49086 } ); +cells.push_back( {21305712,4653,117,13,1,1,-0.625,1.4413 } ); +cells.push_back( {21305722,4673,117,13,2,1,-0.625,1.49086 } ); +cells.push_back( {21405712,4654,117,14,1,1,-0.675,1.4413 } ); +cells.push_back( {21405722,4674,117,14,2,1,-0.675,1.49086 } ); +cells.push_back( {21505712,4655,117,15,1,1,-0.725,1.4413 } ); +cells.push_back( {21505722,4675,117,15,2,1,-0.725,1.49086 } ); +cells.push_back( {21605712,4656,117,16,1,1,-0.775,1.4413 } ); +cells.push_back( {21605722,4676,117,16,2,1,-0.775,1.49086 } ); +cells.push_back( {21705712,4657,117,17,1,1,-0.825,1.4413 } ); +cells.push_back( {21705722,4677,117,17,2,1,-0.825,1.49086 } ); +cells.push_back( {21805712,4658,117,18,1,1,-0.875,1.4413 } ); +cells.push_back( {21805722,4678,117,18,2,1,-0.875,1.49086 } ); +cells.push_back( {21905712,4659,117,19,1,1,-0.925,1.4413 } ); +cells.push_back( {21905722,4679,117,19,2,1,-0.925,1.49086 } ); +cells.push_back( {22005712,4660,117,20,1,1,-0.967,1.4413 } ); +cells.push_back( {22005722,4680,117,20,2,1,-0.967,1.49086 } ); +cells.push_back( {20105811,4681,118,1,1,2,-0.02675,1.54602 } ); +cells.push_back( {20105821,4701,118,1,2,2,-0.02675,1.59558 } ); +cells.push_back( {20205811,4682,118,2,1,2,-0.075,1.54602 } ); +cells.push_back( {20205821,4702,118,2,2,2,-0.075,1.59558 } ); +cells.push_back( {20305811,4683,118,3,1,2,-0.125,1.54602 } ); +cells.push_back( {20305821,4703,118,3,2,2,-0.125,1.59558 } ); +cells.push_back( {20405811,4684,118,4,1,2,-0.175,1.54602 } ); +cells.push_back( {20405821,4704,118,4,2,2,-0.175,1.59558 } ); +cells.push_back( {20505811,4685,118,5,1,2,-0.225,1.54602 } ); +cells.push_back( {20505821,4705,118,5,2,2,-0.225,1.59558 } ); +cells.push_back( {20605811,4686,118,6,1,2,-0.275,1.54602 } ); +cells.push_back( {20605821,4706,118,6,2,2,-0.275,1.59558 } ); +cells.push_back( {20705811,4687,118,7,1,2,-0.325,1.54602 } ); +cells.push_back( {20705821,4707,118,7,2,2,-0.325,1.59558 } ); +cells.push_back( {20805811,4688,118,8,1,2,-0.375,1.54602 } ); +cells.push_back( {20805821,4708,118,8,2,2,-0.375,1.59558 } ); +cells.push_back( {20905811,4689,118,9,1,2,-0.425,1.54602 } ); +cells.push_back( {20905821,4709,118,9,2,2,-0.425,1.59558 } ); +cells.push_back( {21005811,4690,118,10,1,2,-0.475,1.54602 } ); +cells.push_back( {21005821,4710,118,10,2,2,-0.475,1.59558 } ); +cells.push_back( {21105811,4691,118,11,1,2,-0.525,1.54602 } ); +cells.push_back( {21105821,4711,118,11,2,2,-0.525,1.59558 } ); +cells.push_back( {21205811,4692,118,12,1,2,-0.575,1.54602 } ); +cells.push_back( {21205821,4712,118,12,2,2,-0.575,1.59558 } ); +cells.push_back( {21305811,4693,118,13,1,2,-0.625,1.54602 } ); +cells.push_back( {21305821,4713,118,13,2,2,-0.625,1.59558 } ); +cells.push_back( {21405811,4694,118,14,1,2,-0.675,1.54602 } ); +cells.push_back( {21405821,4714,118,14,2,2,-0.675,1.59558 } ); +cells.push_back( {21505811,4695,118,15,1,2,-0.725,1.54602 } ); +cells.push_back( {21505821,4715,118,15,2,2,-0.725,1.59558 } ); +cells.push_back( {21605811,4696,118,16,1,2,-0.775,1.54602 } ); +cells.push_back( {21605821,4716,118,16,2,2,-0.775,1.59558 } ); +cells.push_back( {21705811,4697,118,17,1,2,-0.825,1.54602 } ); +cells.push_back( {21705821,4717,118,17,2,2,-0.825,1.59558 } ); +cells.push_back( {21805811,4698,118,18,1,2,-0.875,1.54602 } ); +cells.push_back( {21805821,4718,118,18,2,2,-0.875,1.59558 } ); +cells.push_back( {21905811,4699,118,19,1,2,-0.925,1.54602 } ); +cells.push_back( {21905821,4719,118,19,2,2,-0.925,1.59558 } ); +cells.push_back( {22005811,4700,118,20,1,2,-0.967,1.54602 } ); +cells.push_back( {22005821,4720,118,20,2,2,-0.967,1.59558 } ); +cells.push_back( {20105812,4681,118,1,1,1,-0.02675,1.54602 } ); +cells.push_back( {20105822,4701,118,1,2,1,-0.02675,1.59558 } ); +cells.push_back( {20205812,4682,118,2,1,1,-0.075,1.54602 } ); +cells.push_back( {20205822,4702,118,2,2,1,-0.075,1.59558 } ); +cells.push_back( {20305812,4683,118,3,1,1,-0.125,1.54602 } ); +cells.push_back( {20305822,4703,118,3,2,1,-0.125,1.59558 } ); +cells.push_back( {20405812,4684,118,4,1,1,-0.175,1.54602 } ); +cells.push_back( {20405822,4704,118,4,2,1,-0.175,1.59558 } ); +cells.push_back( {20505812,4685,118,5,1,1,-0.225,1.54602 } ); +cells.push_back( {20505822,4705,118,5,2,1,-0.225,1.59558 } ); +cells.push_back( {20605812,4686,118,6,1,1,-0.275,1.54602 } ); +cells.push_back( {20605822,4706,118,6,2,1,-0.275,1.59558 } ); +cells.push_back( {20705812,4687,118,7,1,1,-0.325,1.54602 } ); +cells.push_back( {20705822,4707,118,7,2,1,-0.325,1.59558 } ); +cells.push_back( {20805812,4688,118,8,1,1,-0.375,1.54602 } ); +cells.push_back( {20805822,4708,118,8,2,1,-0.375,1.59558 } ); +cells.push_back( {20905812,4689,118,9,1,1,-0.425,1.54602 } ); +cells.push_back( {20905822,4709,118,9,2,1,-0.425,1.59558 } ); +cells.push_back( {21005812,4690,118,10,1,1,-0.475,1.54602 } ); +cells.push_back( {21005822,4710,118,10,2,1,-0.475,1.59558 } ); +cells.push_back( {21105812,4691,118,11,1,1,-0.525,1.54602 } ); +cells.push_back( {21105822,4711,118,11,2,1,-0.525,1.59558 } ); +cells.push_back( {21205812,4692,118,12,1,1,-0.575,1.54602 } ); +cells.push_back( {21205822,4712,118,12,2,1,-0.575,1.59558 } ); +cells.push_back( {21305812,4693,118,13,1,1,-0.625,1.54602 } ); +cells.push_back( {21305822,4713,118,13,2,1,-0.625,1.59558 } ); +cells.push_back( {21405812,4694,118,14,1,1,-0.675,1.54602 } ); +cells.push_back( {21405822,4714,118,14,2,1,-0.675,1.59558 } ); +cells.push_back( {21505812,4695,118,15,1,1,-0.725,1.54602 } ); +cells.push_back( {21505822,4715,118,15,2,1,-0.725,1.59558 } ); +cells.push_back( {21605812,4696,118,16,1,1,-0.775,1.54602 } ); +cells.push_back( {21605822,4716,118,16,2,1,-0.775,1.59558 } ); +cells.push_back( {21705812,4697,118,17,1,1,-0.825,1.54602 } ); +cells.push_back( {21705822,4717,118,17,2,1,-0.825,1.59558 } ); +cells.push_back( {21805812,4698,118,18,1,1,-0.875,1.54602 } ); +cells.push_back( {21805822,4718,118,18,2,1,-0.875,1.59558 } ); +cells.push_back( {21905812,4699,118,19,1,1,-0.925,1.54602 } ); +cells.push_back( {21905822,4719,118,19,2,1,-0.925,1.59558 } ); +cells.push_back( {22005812,4700,118,20,1,1,-0.967,1.54602 } ); +cells.push_back( {22005822,4720,118,20,2,1,-0.967,1.59558 } ); +cells.push_back( {20105911,4721,119,1,1,2,-0.02675,1.65073 } ); +cells.push_back( {20105921,4741,119,1,2,2,-0.02675,1.7003 } ); +cells.push_back( {20205911,4722,119,2,1,2,-0.075,1.65073 } ); +cells.push_back( {20205921,4742,119,2,2,2,-0.075,1.7003 } ); +cells.push_back( {20305911,4723,119,3,1,2,-0.125,1.65073 } ); +cells.push_back( {20305921,4743,119,3,2,2,-0.125,1.7003 } ); +cells.push_back( {20405911,4724,119,4,1,2,-0.175,1.65073 } ); +cells.push_back( {20405921,4744,119,4,2,2,-0.175,1.7003 } ); +cells.push_back( {20505911,4725,119,5,1,2,-0.225,1.65073 } ); +cells.push_back( {20505921,4745,119,5,2,2,-0.225,1.7003 } ); +cells.push_back( {20605911,4726,119,6,1,2,-0.275,1.65073 } ); +cells.push_back( {20605921,4746,119,6,2,2,-0.275,1.7003 } ); +cells.push_back( {20705911,4727,119,7,1,2,-0.325,1.65073 } ); +cells.push_back( {20705921,4747,119,7,2,2,-0.325,1.7003 } ); +cells.push_back( {20805911,4728,119,8,1,2,-0.375,1.65073 } ); +cells.push_back( {20805921,4748,119,8,2,2,-0.375,1.7003 } ); +cells.push_back( {20905911,4729,119,9,1,2,-0.425,1.65073 } ); +cells.push_back( {20905921,4749,119,9,2,2,-0.425,1.7003 } ); +cells.push_back( {21005911,4730,119,10,1,2,-0.475,1.65073 } ); +cells.push_back( {21005921,4750,119,10,2,2,-0.475,1.7003 } ); +cells.push_back( {21105911,4731,119,11,1,2,-0.525,1.65073 } ); +cells.push_back( {21105921,4751,119,11,2,2,-0.525,1.7003 } ); +cells.push_back( {21205911,4732,119,12,1,2,-0.575,1.65073 } ); +cells.push_back( {21205921,4752,119,12,2,2,-0.575,1.7003 } ); +cells.push_back( {21305911,4733,119,13,1,2,-0.625,1.65073 } ); +cells.push_back( {21305921,4753,119,13,2,2,-0.625,1.7003 } ); +cells.push_back( {21405911,4734,119,14,1,2,-0.675,1.65073 } ); +cells.push_back( {21405921,4754,119,14,2,2,-0.675,1.7003 } ); +cells.push_back( {21505911,4735,119,15,1,2,-0.725,1.65073 } ); +cells.push_back( {21505921,4755,119,15,2,2,-0.725,1.7003 } ); +cells.push_back( {21605911,4736,119,16,1,2,-0.775,1.65073 } ); +cells.push_back( {21605921,4756,119,16,2,2,-0.775,1.7003 } ); +cells.push_back( {21705911,4737,119,17,1,2,-0.825,1.65073 } ); +cells.push_back( {21705921,4757,119,17,2,2,-0.825,1.7003 } ); +cells.push_back( {21805911,4738,119,18,1,2,-0.875,1.65073 } ); +cells.push_back( {21805921,4758,119,18,2,2,-0.875,1.7003 } ); +cells.push_back( {21905911,4739,119,19,1,2,-0.925,1.65073 } ); +cells.push_back( {21905921,4759,119,19,2,2,-0.925,1.7003 } ); +cells.push_back( {22005911,4740,119,20,1,2,-0.967,1.65073 } ); +cells.push_back( {22005921,4760,119,20,2,2,-0.967,1.7003 } ); +cells.push_back( {20105912,4721,119,1,1,1,-0.02675,1.65073 } ); +cells.push_back( {20105922,4741,119,1,2,1,-0.02675,1.7003 } ); +cells.push_back( {20205912,4722,119,2,1,1,-0.075,1.65073 } ); +cells.push_back( {20205922,4742,119,2,2,1,-0.075,1.7003 } ); +cells.push_back( {20305912,4723,119,3,1,1,-0.125,1.65073 } ); +cells.push_back( {20305922,4743,119,3,2,1,-0.125,1.7003 } ); +cells.push_back( {20405912,4724,119,4,1,1,-0.175,1.65073 } ); +cells.push_back( {20405922,4744,119,4,2,1,-0.175,1.7003 } ); +cells.push_back( {20505912,4725,119,5,1,1,-0.225,1.65073 } ); +cells.push_back( {20505922,4745,119,5,2,1,-0.225,1.7003 } ); +cells.push_back( {20605912,4726,119,6,1,1,-0.275,1.65073 } ); +cells.push_back( {20605922,4746,119,6,2,1,-0.275,1.7003 } ); +cells.push_back( {20705912,4727,119,7,1,1,-0.325,1.65073 } ); +cells.push_back( {20705922,4747,119,7,2,1,-0.325,1.7003 } ); +cells.push_back( {20805912,4728,119,8,1,1,-0.375,1.65073 } ); +cells.push_back( {20805922,4748,119,8,2,1,-0.375,1.7003 } ); +cells.push_back( {20905912,4729,119,9,1,1,-0.425,1.65073 } ); +cells.push_back( {20905922,4749,119,9,2,1,-0.425,1.7003 } ); +cells.push_back( {21005912,4730,119,10,1,1,-0.475,1.65073 } ); +cells.push_back( {21005922,4750,119,10,2,1,-0.475,1.7003 } ); +cells.push_back( {21105912,4731,119,11,1,1,-0.525,1.65073 } ); +cells.push_back( {21105922,4751,119,11,2,1,-0.525,1.7003 } ); +cells.push_back( {21205912,4732,119,12,1,1,-0.575,1.65073 } ); +cells.push_back( {21205922,4752,119,12,2,1,-0.575,1.7003 } ); +cells.push_back( {21305912,4733,119,13,1,1,-0.625,1.65073 } ); +cells.push_back( {21305922,4753,119,13,2,1,-0.625,1.7003 } ); +cells.push_back( {21405912,4734,119,14,1,1,-0.675,1.65073 } ); +cells.push_back( {21405922,4754,119,14,2,1,-0.675,1.7003 } ); +cells.push_back( {21505912,4735,119,15,1,1,-0.725,1.65073 } ); +cells.push_back( {21505922,4755,119,15,2,1,-0.725,1.7003 } ); +cells.push_back( {21605912,4736,119,16,1,1,-0.775,1.65073 } ); +cells.push_back( {21605922,4756,119,16,2,1,-0.775,1.7003 } ); +cells.push_back( {21705912,4737,119,17,1,1,-0.825,1.65073 } ); +cells.push_back( {21705922,4757,119,17,2,1,-0.825,1.7003 } ); +cells.push_back( {21805912,4738,119,18,1,1,-0.875,1.65073 } ); +cells.push_back( {21805922,4758,119,18,2,1,-0.875,1.7003 } ); +cells.push_back( {21905912,4739,119,19,1,1,-0.925,1.65073 } ); +cells.push_back( {21905922,4759,119,19,2,1,-0.925,1.7003 } ); +cells.push_back( {22005912,4740,119,20,1,1,-0.967,1.65073 } ); +cells.push_back( {22005922,4760,119,20,2,1,-0.967,1.7003 } ); +cells.push_back( {20106011,4761,120,1,1,2,-0.02675,1.75545 } ); +cells.push_back( {20106021,4781,120,1,2,2,-0.02675,1.80502 } ); +cells.push_back( {20206011,4762,120,2,1,2,-0.075,1.75545 } ); +cells.push_back( {20206021,4782,120,2,2,2,-0.075,1.80502 } ); +cells.push_back( {20306011,4763,120,3,1,2,-0.125,1.75545 } ); +cells.push_back( {20306021,4783,120,3,2,2,-0.125,1.80502 } ); +cells.push_back( {20406011,4764,120,4,1,2,-0.175,1.75545 } ); +cells.push_back( {20406021,4784,120,4,2,2,-0.175,1.80502 } ); +cells.push_back( {20506011,4765,120,5,1,2,-0.225,1.75545 } ); +cells.push_back( {20506021,4785,120,5,2,2,-0.225,1.80502 } ); +cells.push_back( {20606011,4766,120,6,1,2,-0.275,1.75545 } ); +cells.push_back( {20606021,4786,120,6,2,2,-0.275,1.80502 } ); +cells.push_back( {20706011,4767,120,7,1,2,-0.325,1.75545 } ); +cells.push_back( {20706021,4787,120,7,2,2,-0.325,1.80502 } ); +cells.push_back( {20806011,4768,120,8,1,2,-0.375,1.75545 } ); +cells.push_back( {20806021,4788,120,8,2,2,-0.375,1.80502 } ); +cells.push_back( {20906011,4769,120,9,1,2,-0.425,1.75545 } ); +cells.push_back( {20906021,4789,120,9,2,2,-0.425,1.80502 } ); +cells.push_back( {21006011,4770,120,10,1,2,-0.475,1.75545 } ); +cells.push_back( {21006021,4790,120,10,2,2,-0.475,1.80502 } ); +cells.push_back( {21106011,4771,120,11,1,2,-0.525,1.75545 } ); +cells.push_back( {21106021,4791,120,11,2,2,-0.525,1.80502 } ); +cells.push_back( {21206011,4772,120,12,1,2,-0.575,1.75545 } ); +cells.push_back( {21206021,4792,120,12,2,2,-0.575,1.80502 } ); +cells.push_back( {21306011,4773,120,13,1,2,-0.625,1.75545 } ); +cells.push_back( {21306021,4793,120,13,2,2,-0.625,1.80502 } ); +cells.push_back( {21406011,4774,120,14,1,2,-0.675,1.75545 } ); +cells.push_back( {21406021,4794,120,14,2,2,-0.675,1.80502 } ); +cells.push_back( {21506011,4775,120,15,1,2,-0.725,1.75545 } ); +cells.push_back( {21506021,4795,120,15,2,2,-0.725,1.80502 } ); +cells.push_back( {21606011,4776,120,16,1,2,-0.775,1.75545 } ); +cells.push_back( {21606021,4796,120,16,2,2,-0.775,1.80502 } ); +cells.push_back( {21706011,4777,120,17,1,2,-0.825,1.75545 } ); +cells.push_back( {21706021,4797,120,17,2,2,-0.825,1.80502 } ); +cells.push_back( {21806011,4778,120,18,1,2,-0.875,1.75545 } ); +cells.push_back( {21806021,4798,120,18,2,2,-0.875,1.80502 } ); +cells.push_back( {21906011,4779,120,19,1,2,-0.925,1.75545 } ); +cells.push_back( {21906021,4799,120,19,2,2,-0.925,1.80502 } ); +cells.push_back( {22006011,4780,120,20,1,2,-0.967,1.75545 } ); +cells.push_back( {22006021,4800,120,20,2,2,-0.967,1.80502 } ); +cells.push_back( {20106012,4761,120,1,1,1,-0.02675,1.75545 } ); +cells.push_back( {20106022,4781,120,1,2,1,-0.02675,1.80502 } ); +cells.push_back( {20206012,4762,120,2,1,1,-0.075,1.75545 } ); +cells.push_back( {20206022,4782,120,2,2,1,-0.075,1.80502 } ); +cells.push_back( {20306012,4763,120,3,1,1,-0.125,1.75545 } ); +cells.push_back( {20306022,4783,120,3,2,1,-0.125,1.80502 } ); +cells.push_back( {20406012,4764,120,4,1,1,-0.175,1.75545 } ); +cells.push_back( {20406022,4784,120,4,2,1,-0.175,1.80502 } ); +cells.push_back( {20506012,4765,120,5,1,1,-0.225,1.75545 } ); +cells.push_back( {20506022,4785,120,5,2,1,-0.225,1.80502 } ); +cells.push_back( {20606012,4766,120,6,1,1,-0.275,1.75545 } ); +cells.push_back( {20606022,4786,120,6,2,1,-0.275,1.80502 } ); +cells.push_back( {20706012,4767,120,7,1,1,-0.325,1.75545 } ); +cells.push_back( {20706022,4787,120,7,2,1,-0.325,1.80502 } ); +cells.push_back( {20806012,4768,120,8,1,1,-0.375,1.75545 } ); +cells.push_back( {20806022,4788,120,8,2,1,-0.375,1.80502 } ); +cells.push_back( {20906012,4769,120,9,1,1,-0.425,1.75545 } ); +cells.push_back( {20906022,4789,120,9,2,1,-0.425,1.80502 } ); +cells.push_back( {21006012,4770,120,10,1,1,-0.475,1.75545 } ); +cells.push_back( {21006022,4790,120,10,2,1,-0.475,1.80502 } ); +cells.push_back( {21106012,4771,120,11,1,1,-0.525,1.75545 } ); +cells.push_back( {21106022,4791,120,11,2,1,-0.525,1.80502 } ); +cells.push_back( {21206012,4772,120,12,1,1,-0.575,1.75545 } ); +cells.push_back( {21206022,4792,120,12,2,1,-0.575,1.80502 } ); +cells.push_back( {21306012,4773,120,13,1,1,-0.625,1.75545 } ); +cells.push_back( {21306022,4793,120,13,2,1,-0.625,1.80502 } ); +cells.push_back( {21406012,4774,120,14,1,1,-0.675,1.75545 } ); +cells.push_back( {21406022,4794,120,14,2,1,-0.675,1.80502 } ); +cells.push_back( {21506012,4775,120,15,1,1,-0.725,1.75545 } ); +cells.push_back( {21506022,4795,120,15,2,1,-0.725,1.80502 } ); +cells.push_back( {21606012,4776,120,16,1,1,-0.775,1.75545 } ); +cells.push_back( {21606022,4796,120,16,2,1,-0.775,1.80502 } ); +cells.push_back( {21706012,4777,120,17,1,1,-0.825,1.75545 } ); +cells.push_back( {21706022,4797,120,17,2,1,-0.825,1.80502 } ); +cells.push_back( {21806012,4778,120,18,1,1,-0.875,1.75545 } ); +cells.push_back( {21806022,4798,120,18,2,1,-0.875,1.80502 } ); +cells.push_back( {21906012,4779,120,19,1,1,-0.925,1.75545 } ); +cells.push_back( {21906022,4799,120,19,2,1,-0.925,1.80502 } ); +cells.push_back( {22006012,4780,120,20,1,1,-0.967,1.75545 } ); +cells.push_back( {22006022,4800,120,20,2,1,-0.967,1.80502 } ); + +}; diff --git a/StRoot/StGeant4Maker/tests/unit_test_epd_hits.C b/StRoot/StGeant4Maker/tests/unit_test_epd_hits.C new file mode 100644 index 00000000000..ecd6fd9a169 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_epd_hits.C @@ -0,0 +1,203 @@ +#include "tests/unit_tests.h" + +#include "StEpdUtil/StEpdGeom.h" + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +void throw_muon_in_epd_tile( double eta, double phid, int charge = 1 ) { + + throw_muon( eta, phid, 10.0, charge ); // energetic + _eta = eta; + _phid = phid; + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_epd_hit") ); + +} + +//___________________________________________________________________ +void unit_test_epd_hits() { + + gROOT->ProcessLine("initChain();"); + + if ( 0 == hasRuntimeArg("epdutil") ) { + std::cout << "Please re-run with --epdutil option" << std::endl; + assert(0); + } + + StEpdGeom epd; + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and EPD hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + TVector3 direction; + + for ( int eastwest=-1; eastwest<=+1; eastwest+=2 ) { + for ( int supersector=1; supersector<=12; supersector++ ) { + for ( int tilenumber=1; tilenumber<=31; tilenumber++ ) { + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << "eastwest = " << eastwest << std::endl; + LOG_TEST << "supersector = " << supersector << std::endl; + LOG_TEST << "tilenumber = " << tilenumber << std::endl; + + /* from g2t_volume_id + " EPD volume_id " + " 100,000 : east or west " + " 1,000 : Position clock wise, 1 to 12 " + " 10 : Tile number 1 to 31, refer EPD Drupal page" + " 1 : 1 T1 trap or T2 thin; 0 T1 triangular or T2 thick + */ + + int expected_id = + 100000 * (3+eastwest)/2 + + 1000 * supersector + + 10 * tilenumber ; + // we cannot target further... + direction = epd.TileCenter( supersector, tilenumber, eastwest ); + + throw_muon_in_epd_tile( direction.Eta(), direction.Phi()*180.0/TMath::Pi() ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the EPD", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 1 hit in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_epd_hit; + std::string result = FAIL; + if ( n==1 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + check_epd_hit( "Print the hit...", hit, [=](const g2t_epd_hit_st* h) { + LOG_TEST << "id=" << h->id + << " track_p=" << h->track_p + << " volume_id=" << h->volume_id + << " de=" << h->de + << std::endl; + return PASS; + }); + + check_epd_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form(" volumeId=%i ", h->volume_id ) + result; + return result; + }); + check_epd_hit( "The decoded side from volume_id should be 1 or 2 (E or W)",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id / 100000; + if ( ew == 1 || ew == 2 ) result = PASS; + result = Form("(eastwest=%i) ",ew) + result; + return result; + }); + check_epd_hit( "The decoded position from volume_id should be 1..12",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id % 100000 / 1000; + if ( ew >= 1 && ew <= 12 ) result = PASS; + result = Form("(position=%i) ",ew) + result; + return result; + }); + check_epd_hit( "The decoded tile from volume_id should be 1..31",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id % 1000 / 10; + if ( ew >= 1 && ew <= 31 ) result = PASS; + result = Form("(tile=%i) ",ew) + result; + return result; + }); + check_epd_hit( "The decoded tile shape from volume_id should be 0..1",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id % 10; + if ( ew == 1 || ew == 0 ) result = PASS; + result = Form("(in/out=%i) ",ew) + result; + return result; + }); + check_epd_hit( Form("The volume_id should be %i or %i",expected_id,expected_id+1),hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id; + if ( ew == expected_id ) result=PASS; + else if ( ew == expected_id+1 ) result=PASS; + result = Form("(expected=%i (or+1) volumeId=%i eta=%f phi=%f) ",expected_id,ew,_eta,_phid) + result; + return result; + }); + + } + + } + + } + + } + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_epd_response.C b/StRoot/StGeant4Maker/tests/unit_test_epd_response.C new file mode 100644 index 00000000000..34f3ca45db2 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_epd_response.C @@ -0,0 +1,103 @@ +#include "tests/unit_tests.h" +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +void throw_muon_in_epd_tile( double eta, double phid, int charge = 1 ) { + + throw_muon( eta, phid, 10.0, charge ); // energetic + _eta = eta; + _phid = phid; + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_epd_hit") ); + +} + +//___________________________________________________________________ +void unit_test_epd_response( int nevents=5000 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and EPD hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + auto* chain = StMaker::GetChain(); + + auto sumHits = [=](const char* name, float sf=1.0 ) -> double { + assert(sf>0); + float sum = 0.; + auto* table = dynamic_cast( chain->GetDataSet( name ) ) ; + if (0!=table) + for ( int i=0;iGetNRows();i++ ){ + const g2t_epd_hit_st* hit = static_cast( table->At(i) ); + if ( hit ) sum+=hit->de; + }; + return 1000.0*sum; + }; + + auto throw_particle = [=]( std::string type, int n=1, const double E=0.500, double etaMn=2.15, double etaMx=5.08 ) { + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + for ( int i=0;iAddParticle(type.c_str()); + auto _mass = _part->GetMass(); // Get the mass of the proton + if ( E > _mass ) { + auto _pmom = TMath::Sqrt(E*E-_mass*_mass); + auto _eta = gRandom->Rndm() * ( etaMx - etaMn ) + etaMn; // random angle + auto _phi = gRandom->Rndm() * TMath::TwoPi(); + TVector3 unit(0,0,1); + unit.SetPtEtaPhi(1.0,_eta,_phi); + unit=unit.Unit(); + auto momentum=_pmom*unit; + momentum.Print(); + _part->SetPx( momentum[0] ); + _part->SetPy( momentum[1] ); + _part->SetPz( momentum[2] ); + _part->SetVx( 0 ); + _part->SetVy( 0 ); + _part->SetVz( 0 ); + } + else { + LOG_INFO << "ERROR: mass > E (no particle simulated)" << endm; + } + } + chain->Clear(); + chain->Make(); + }; + + TFile* file = TFile::Open("epd.response.root","recreate"); + TH1F* hOneMip = new TH1F("hOneMip","Single muon incident @ 500 MeV; dE [MeV]",100,0.,10.0); hOneMip->SetLineColor(6); + TH1F* hTwoMip = new TH1F("hTwoMip","Two muons incident @ 500 MeV; dE [MeV]",100,0.,10.0); hTwoMip->SetLineColor(3); + TH1F* hRedMip = new TH1F("hRedMip","Three muons incident @ 500 MeV; dE [MeV]",100,0.,10.0); hRedMip->SetLineColor(2); + TH1F* hBluMip = new TH1F("hBluMip","Four muons incident @ 500 MeV; dE [MeV]",100,0.,10.0); hBluMip->SetLineColor(4); + TH1F* hSumMip = new TH1F("hSumMip","Four muons incident @ 500 MeV; dE [MeV]",100,0.,10.0); + + for ( int ievent=0;ieventFill( sum = sumHits( "g2t_epd_hit") ); + hSumMip->Fill( sum ); + throw_particle( "mu+", 2 ); + hTwoMip->Fill( sum = sumHits( "g2t_epd_hit") ); + hSumMip->Fill( sum ); + throw_particle( "mu+", 3 ); + hRedMip->Fill( sum = sumHits( "g2t_epd_hit") ); + hSumMip->Fill( sum ); + throw_particle( "mu+", 4 ); + hBluMip->Fill( sum = sumHits( "g2t_epd_hit") ); + hSumMip->Fill( sum ); + } + + file->Write(); + delete file; + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_fcs_hits.C b/StRoot/StGeant4Maker/tests/unit_test_fcs_hits.C new file mode 100644 index 00000000000..d6843de85a9 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_fcs_hits.C @@ -0,0 +1,4220 @@ +#include "tests/unit_tests.h" + +#include +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; + +struct Cell { + int northSouth; + int cellId; + double eta; + double phi; + double x,y,z; + int volumeId; // expected Volume ID +}; + +#ifndef __CINT__ +// Expected volume IDs + +#endif + + +//___________________________________________________________________ +void unit_test_fcs_hits() { + + gROOT->ProcessLine("initChain();"); + std::vector wcal = { + { 0, 0, 2.73468,102.1735,-19.9044, 92.2680,723.9693, 1001} +, { 0, 1, 2.72053,105.4456,-25.4938, 92.2680,723.8004, 1002} +, { 0, 2, 2.70348,108.6177,-31.0833, 92.2680,723.6316, 1003} +, { 0, 3, 2.68384,111.6758,-36.6727, 92.2680,723.4628, 1004} +, { 0, 4, 2.66192,114.6095,-42.2622, 92.2680,723.2940, 1005} +, { 0, 5, 2.63806,117.4120,-47.8516, 92.2680,723.1252, 1006} +, { 0, 6, 2.61255,120.0792,-53.4411, 92.2680,722.9563, 1007} +, { 0, 7, 2.58571,122.6100,-59.0305, 92.2680,722.7875, 1008} +, { 0, 8, 2.55780,125.0055,-64.6200, 92.2680,722.6187, 1009} +, { 0, 9, 2.52908,127.2686,-70.2094, 92.2680,722.4499, 1010} +, { 0, 10, 2.49976,129.4034,-75.7989, 92.2680,722.2811, 1011} +, { 0, 11, 2.47004,131.4151,-81.3883, 92.2680,722.1122, 1012} +, { 0, 12, 2.44010,133.3095,-86.9778, 92.2680,721.9434, 1013} +, { 0, 13, 2.41007,135.0928,-92.5672, 92.2680,721.7746, 1014} +, { 0, 14, 2.38007,136.7712,-98.1567, 92.2680,721.6058, 1015} +, { 0, 15, 2.35020,138.3513,-103.7461, 92.2680,721.4369, 1016} +, { 0, 16, 2.32055,139.8391,-109.3356, 92.2680,721.2681, 1017} +, { 0, 17, 2.29119,141.2406,-114.9250, 92.2680,721.0993, 1018} +, { 0, 18, 2.26216,142.5617,-120.5145, 92.2680,720.9305, 1019} +, { 0, 19, 2.23352,143.8077,-126.1039, 92.2680,720.7617, 1020} +, { 0, 20, 2.20528,144.9839,-131.6934, 92.2680,720.5928, 1021} +, { 0, 21, 2.17749,146.0949,-137.2828, 92.2680,720.4240, 1022} +, { 0, 22, 2.79377,102.9332,-19.9044, 86.6760,723.9693, 1023} +, { 0, 23, 2.77787,106.3901,-25.4938, 86.6760,723.8004, 1024} +, { 0, 24, 2.75879,109.7286,-31.0833, 86.6760,723.6316, 1025} +, { 0, 25, 2.73688,112.9333,-36.6727, 86.6760,723.4628, 1026} +, { 0, 26, 2.71256,115.9933,-42.2622, 86.6760,723.2940, 1027} +, { 0, 27, 2.68619,118.9020,-47.8516, 86.6760,723.1252, 1028} +, { 0, 28, 2.65815,121.6564,-53.4411, 86.6760,722.9563, 1029} +, { 0, 29, 2.62878,124.2567,-59.0305, 86.6760,722.7875, 1030} +, { 0, 30, 2.59840,126.7058,-64.6200, 86.6760,722.6187, 1031} +, { 0, 31, 2.56728,129.0082,-70.2094, 86.6760,722.4499, 1032} +, { 0, 32, 2.53567,131.1700,-75.7989, 86.6760,722.2811, 1033} +, { 0, 33, 2.50377,133.1979,-81.3883, 86.6760,722.1122, 1034} +, { 0, 34, 2.47176,135.0996,-86.9778, 86.6760,721.9434, 1035} +, { 0, 35, 2.43978,136.8825,-92.5672, 86.6760,721.7746, 1036} +, { 0, 36, 2.40796,138.5543,-98.1567, 86.6760,721.6058, 1037} +, { 0, 37, 2.37639,140.1225,-103.7461, 86.6760,721.4369, 1038} +, { 0, 38, 2.34515,141.5943,-109.3356, 86.6760,721.2681, 1039} +, { 0, 39, 2.31430,142.9765,-114.9250, 86.6760,721.0993, 1040} +, { 0, 40, 2.28390,144.2757,-120.5145, 86.6760,720.9305, 1041} +, { 0, 41, 2.25397,145.4978,-126.1039, 86.6760,720.7617, 1042} +, { 0, 42, 2.22455,146.6485,-131.6934, 86.6760,720.5928, 1043} +, { 0, 43, 2.19566,147.7330,-137.2828, 86.6760,720.4240, 1044} +, { 0, 44, 2.85646,103.7921,-19.9044, 81.0840,723.9693, 1045} +, { 0, 45, 2.83847,107.4538,-25.4938, 81.0840,723.8004, 1046} +, { 0, 46, 2.81697,110.9741,-31.0833, 81.0840,723.6316, 1047} +, { 0, 47, 2.79242,114.3363,-36.6727, 81.0840,723.4628, 1048} +, { 0, 48, 2.76529,117.5292,-42.2622, 81.0840,723.2940, 1049} +, { 0, 49, 2.73604,120.5469,-47.8516, 81.0840,723.1252, 1050} +, { 0, 50, 2.70512,123.3882,-53.4411, 81.0840,722.9563, 1051} +, { 0, 51, 2.67292,126.0552,-59.0305, 81.0840,722.7875, 1052} +, { 0, 52, 2.63979,128.5531,-64.6200, 81.0840,722.6187, 1053} +, { 0, 53, 2.60604,130.8888,-70.2094, 81.0840,722.4499, 1054} +, { 0, 54, 2.57192,133.0705,-75.7989, 81.0840,722.2811, 1055} +, { 0, 55, 2.53766,135.1073,-81.3883, 81.0840,722.1122, 1056} +, { 0, 56, 2.50344,137.0085,-86.9778, 81.0840,721.9434, 1057} +, { 0, 57, 2.46939,138.7834,-92.5672, 81.0840,721.7746, 1058} +, { 0, 58, 2.43565,140.4410,-98.1567, 81.0840,721.6058, 1059} +, { 0, 59, 2.40229,141.9902,-103.7461, 81.0840,721.4369, 1060} +, { 0, 60, 2.36940,143.4391,-109.3356, 81.0840,721.2681, 1061} +, { 0, 61, 2.33703,144.7956,-114.9250, 81.0840,721.0993, 1062} +, { 0, 62, 2.30521,146.0667,-120.5145, 81.0840,720.9305, 1063} +, { 0, 63, 2.27398,147.2592,-126.1039, 81.0840,720.7617, 1064} +, { 0, 64, 2.24335,148.3793,-131.6934, 81.0840,720.5928, 1065} +, { 0, 65, 2.21334,149.4324,-137.2828, 81.0840,720.4240, 1066} +, { 0, 66, 2.92316,104.7706,-19.9044, 75.4920,723.9693, 1067} +, { 0, 67, 2.90265,108.6599,-25.4938, 75.4920,723.8004, 1068} +, { 0, 68, 2.87827,112.3790,-31.0833, 75.4920,723.6316, 1069} +, { 0, 69, 2.85058,115.9097,-36.6727, 75.4920,723.4628, 1070} +, { 0, 70, 2.82018,119.2411,-42.2622, 75.4920,723.2940, 1071} +, { 0, 71, 2.78763,122.3691,-47.8516, 75.4920,723.1252, 1072} +, { 0, 72, 2.75343,125.2948,-53.4411, 75.4920,722.9563, 1073} +, { 0, 73, 2.71804,128.0234,-59.0305, 75.4920,722.7875, 1074} +, { 0, 74, 2.68185,130.5630,-64.6200, 75.4920,722.6187, 1075} +, { 0, 75, 2.64520,132.9236,-70.2094, 75.4920,722.4499, 1076} +, { 0, 76, 2.60837,135.1162,-75.7989, 75.4920,722.2811, 1077} +, { 0, 77, 2.57157,137.1524,-81.3883, 75.4920,722.1122, 1078} +, { 0, 78, 2.53499,139.0438,-86.9778, 75.4920,721.9434, 1079} +, { 0, 79, 2.49876,140.8015,-92.5672, 75.4920,721.7746, 1080} +, { 0, 80, 2.46300,142.4362,-98.1567, 75.4920,721.6058, 1081} +, { 0, 81, 2.42779,143.9581,-103.7461, 75.4920,721.4369, 1082} +, { 0, 82, 2.39320,145.3764,-109.3356, 75.4920,721.2681, 1083} +, { 0, 83, 2.35925,146.6999,-114.9250, 75.4920,721.0993, 1084} +, { 0, 84, 2.32600,147.9364,-120.5145, 75.4920,720.9305, 1085} +, { 0, 85, 2.29344,149.0932,-126.1039, 75.4920,720.7617, 1086} +, { 0, 86, 2.26159,150.1769,-131.6934, 75.4920,720.5928, 1087} +, { 0, 87, 2.23046,151.1936,-137.2828, 75.4920,720.4240, 1088} +, { 0, 88, 2.99436,105.8946,-19.9044, 69.9000,723.9693, 1089} +, { 0, 89, 2.97079,110.0378,-25.4938, 69.9000,723.8004, 1090} +, { 0, 90, 2.94293,113.9738,-31.0833, 69.9000,723.6316, 1091} +, { 0, 91, 2.91152,117.6835,-36.6727, 69.9000,723.4628, 1092} +, { 0, 92, 2.87729,121.1575,-42.2622, 69.9000,723.2940, 1093} +, { 0, 93, 2.84091,124.3945,-47.8516, 69.9000,723.1252, 1094} +, { 0, 94, 2.80297,127.3992,-53.4411, 69.9000,722.9563, 1095} +, { 0, 95, 2.76400,130.1811,-59.0305, 69.9000,722.7875, 1096} +, { 0, 96, 2.72443,132.7522,-64.6200, 69.9000,722.6187, 1097} +, { 0, 97, 2.68461,135.1265,-70.2094, 69.9000,722.4499, 1098} +, { 0, 98, 2.64483,137.3185,-75.7989, 69.9000,722.2811, 1099} +, { 0, 99, 2.60531,139.3425,-81.3883, 69.9000,722.1122, 1100} +, { 0,100, 2.56623,141.2128,-86.9778, 69.9000,721.9434, 1101} +, { 0,101, 2.52771,142.9426,-92.5672, 69.9000,721.7746, 1102} +, { 0,102, 2.48986,144.5443,-98.1567, 69.9000,721.6058, 1103} +, { 0,103, 2.45274,146.0295,-103.7461, 69.9000,721.4369, 1104} +, { 0,104, 2.41639,147.4086,-109.3356, 69.9000,721.2681, 1105} +, { 0,105, 2.38085,148.6911,-114.9250, 69.9000,721.0993, 1106} +, { 0,106, 2.34613,149.8857,-120.5145, 69.9000,720.9305, 1107} +, { 0,107, 2.31224,151.0002,-126.1039, 69.9000,720.7617, 1108} +, { 0,108, 2.27918,152.0416,-131.6934, 69.9000,720.5928, 1109} +, { 0,109, 2.24693,153.0163,-137.2828, 69.9000,720.4240, 1110} +, { 0,110, 3.07062,107.1981,-19.9044, 64.3080,723.9693, 1111} +, { 0,111, 3.04327,111.6250,-25.4938, 64.3080,723.8004, 1112} +, { 0,112, 3.01119,115.7968,-31.0833, 64.3080,723.6316, 1113} +, { 0,113, 2.97534,119.6947,-36.6727, 64.3080,723.4628, 1114} +, { 0,114, 2.93660,123.3123,-42.2622, 64.3080,723.2940, 1115} +, { 0,115, 2.89579,126.6530,-47.8516, 64.3080,723.1252, 1116} +, { 0,116, 2.85360,129.7272,-53.4411, 64.3080,722.9563, 1117} +, { 0,117, 2.81062,132.5499,-59.0305, 64.3080,722.7875, 1118} +, { 0,118, 2.76730,135.1386,-64.6200, 64.3080,722.6187, 1119} +, { 0,119, 2.72403,137.5120,-70.2094, 64.3080,722.4499, 1120} +, { 0,120, 2.68108,139.6886,-75.7989, 64.3080,722.2811, 1121} +, { 0,121, 2.63867,141.6864,-81.3883, 64.3080,722.1122, 1122} +, { 0,122, 2.59696,143.5222,-86.9778, 64.3080,721.9434, 1123} +, { 0,123, 2.55606,145.2116,-92.5672, 64.3080,721.7746, 1124} +, { 0,124, 2.51604,146.7689,-98.1567, 64.3080,721.6058, 1125} +, { 0,125, 2.47696,148.2069,-103.7461, 64.3080,721.4369, 1126} +, { 0,126, 2.43883,149.5372,-109.3356, 64.3080,721.2681, 1127} +, { 0,127, 2.40168,150.7702,-114.9250, 64.3080,721.0993, 1128} +, { 0,128, 2.36550,151.9151,-120.5145, 64.3080,720.9305, 1129} +, { 0,129, 2.33028,152.9802,-126.1039, 64.3080,720.7617, 1130} +, { 0,130, 2.29600,153.9730,-131.6934, 64.3080,720.5928, 1131} +, { 0,131, 2.26264,154.9000,-137.2828, 64.3080,720.4240, 1132} +, { 0,132, 3.15262,108.7263,-19.9044, 58.7160,723.9693, 1133} +, { 0,133, 3.12055,113.4699,-25.4938, 58.7160,723.8004, 1134} +, { 0,134, 3.08329,117.8960,-31.0833, 58.7160,723.6316, 1135} +, { 0,135, 3.04208,121.9880,-36.6727, 58.7160,723.4628, 1136} +, { 0,136, 2.99802,125.7453,-42.2622, 58.7160,723.2940, 1137} +, { 0,137, 2.95209,129.1789,-47.8516, 58.7160,723.1252, 1138} +, { 0,138, 2.90507,132.3073,-53.4411, 58.7160,722.9563, 1139} +, { 0,139, 2.85760,135.1530,-59.0305, 58.7160,722.7875, 1140} +, { 0,140, 2.81018,137.7406,-64.6200, 58.7160,722.6187, 1141} +, { 0,141, 2.76317,140.0943,-70.2094, 58.7160,722.4499, 1142} +, { 0,142, 2.71684,142.2376,-75.7989, 58.7160,722.2811, 1143} +, { 0,143, 2.67138,144.1922,-81.3883, 58.7160,722.1122, 1144} +, { 0,144, 2.62693,145.9779,-86.9778, 58.7160,721.9434, 1145} +, { 0,145, 2.58357,147.6128,-92.5672, 58.7160,721.7746, 1146} +, { 0,146, 2.54134,149.1127,-98.1567, 58.7160,721.6058, 1147} +, { 0,147, 2.50027,150.4919,-103.7461, 58.7160,721.4369, 1148} +, { 0,148, 2.46036,151.7631,-109.3356, 58.7160,721.2681, 1149} +, { 0,149, 2.42159,152.9372,-114.9250, 58.7160,721.0993, 1150} +, { 0,150, 2.38396,154.0241,-120.5145, 58.7160,720.9305, 1151} +, { 0,151, 2.34742,155.0326,-126.1039, 58.7160,720.7617, 1152} +, { 0,152, 2.31195,155.9701,-131.6934, 58.7160,720.5928, 1153} +, { 0,153, 2.27752,156.8436,-137.2828, 58.7160,720.4240, 1154} +, { 0,154, 3.24112,110.5398,-19.9044, 53.1240,723.9693, 1155} +, { 0,155, 3.20306,115.6360,-25.4938, 53.1240,723.8004, 1156} +, { 0,156, 3.15939,120.3322,-31.0833, 53.1240,723.6316, 1157} +, { 0,157, 3.11170,124.6182,-36.6727, 53.1240,723.4628, 1158} +, { 0,158, 3.06136,128.5036,-42.2622, 53.1240,723.2940, 1159} +, { 0,159, 3.00950,132.0110,-47.8516, 53.1240,723.1252, 1160} +, { 0,160, 2.95701,135.1705,-53.4411, 53.1240,722.9563, 1161} +, { 0,161, 2.90458,138.0146,-59.0305, 53.1240,722.7875, 1162} +, { 0,162, 2.85268,140.5764,-64.6200, 53.1240,722.6187, 1163} +, { 0,163, 2.80167,142.8870,-70.2094, 53.1240,722.4499, 1164} +, { 0,164, 2.75177,144.9751,-75.7989, 53.1240,722.2811, 1165} +, { 0,165, 2.70314,146.8666,-81.3883, 53.1240,722.1122, 1166} +, { 0,166, 2.65587,148.5844,-86.9778, 53.1240,721.9434, 1167} +, { 0,167, 2.61000,150.1486,-92.5672, 53.1240,721.7746, 1168} +, { 0,168, 2.56554,151.5770,-98.1567, 53.1240,721.6058, 1169} +, { 0,169, 2.52248,152.8849,-103.7461, 53.1240,721.4369, 1170} +, { 0,170, 2.48079,154.0858,-109.3356, 53.1240,721.2681, 1171} +, { 0,171, 2.44044,155.1913,-114.9250, 53.1240,721.0993, 1172} +, { 0,172, 2.40138,156.2116,-120.5145, 53.1240,720.9305, 1173} +, { 0,173, 2.36356,157.1557,-126.1039, 53.1240,720.7617, 1174} +, { 0,174, 2.32693,158.0313,-131.6934, 53.1240,720.5928, 1175} +, { 0,175, 2.29145,158.8452,-137.2828, 53.1240,720.4240, 1176} +, { 0,176, 3.33697,112.7218,-19.9044, 47.5320,723.9693, 1177} +, { 0,177, 3.29123,118.2069,-25.4938, 47.5320,723.8004, 1178} +, { 0,178, 3.23955,123.1824,-31.0833, 47.5320,723.6316, 1179} +, { 0,179, 3.18399,127.6515,-36.6727, 47.5320,723.4628, 1180} +, { 0,180, 3.12622,131.6413,-42.2622, 47.5320,723.2940, 1181} +, { 0,181, 3.06756,135.1920,-47.8516, 47.5320,723.1252, 1182} +, { 0,182, 3.00894,138.3492,-53.4411, 47.5320,722.9563, 1183} +, { 0,183, 2.95105,141.1586,-59.0305, 47.5320,722.7875, 1184} +, { 0,184, 2.89434,143.6632,-64.6200, 47.5320,722.6187, 1185} +, { 0,185, 2.83909,145.9019,-70.2094, 47.5320,722.4499, 1186} +, { 0,186, 2.78548,147.9090,-75.7989, 47.5320,722.2811, 1187} +, { 0,187, 2.73359,149.7144,-81.3883, 47.5320,722.1122, 1188} +, { 0,188, 2.68346,151.3441,-86.9778, 47.5320,721.9434, 1189} +, { 0,189, 2.63507,152.8201,-92.5672, 47.5320,721.7746, 1190} +, { 0,190, 2.58839,154.1616,-98.1567, 47.5320,721.6058, 1191} +, { 0,191, 2.54337,155.3848,-103.7461, 47.5320,721.4369, 1192} +, { 0,192, 2.49994,156.5037,-109.3356, 47.5320,721.2681, 1193} +, { 0,193, 2.45805,157.5304,-114.9250, 47.5320,721.0993, 1194} +, { 0,194, 2.41760,158.4753,-120.5145, 47.5320,720.9305, 1195} +, { 0,195, 2.37855,159.3472,-126.1039, 47.5320,720.7617, 1196} +, { 0,196, 2.34082,160.1540,-131.6934, 47.5320,720.5928, 1197} +, { 0,197, 2.30435,160.9024,-137.2828, 47.5320,720.4240, 1198} +, { 0,198, 3.44112,115.3886,-19.9044, 41.9400,723.9693, 1199} +, { 0,199, 3.38535,121.2939,-25.4938, 41.9400,723.8004, 1200} +, { 0,200, 3.32359,126.5435,-31.0833, 41.9400,723.6316, 1201} +, { 0,201, 3.25848,131.1667,-36.6727, 41.9400,723.4628, 1202} +, { 0,202, 3.19200,135.2192,-42.2622, 41.9400,723.2940, 1203} +, { 0,203, 3.12558,138.7668,-47.8516, 41.9400,723.1252, 1204} +, { 0,204, 3.06017,141.8755,-53.4411, 41.9400,722.9563, 1205} +, { 0,205, 2.99638,144.6070,-59.0305, 41.9400,722.7875, 1206} +, { 0,206, 2.93457,147.0154,-64.6200, 41.9400,722.6187, 1207} +, { 0,207, 2.87492,149.1478,-70.2094, 41.9400,722.4499, 1208} +, { 0,208, 2.81751,151.0440,-75.7989, 41.9400,722.2811, 1209} +, { 0,209, 2.76234,152.7376,-81.3883, 41.9400,722.1122, 1210} +, { 0,210, 2.70936,154.2570,-86.9778, 41.9400,721.9434, 1211} +, { 0,211, 2.65849,155.6259,-92.5672, 41.9400,721.7746, 1212} +, { 0,212, 2.60964,156.8641,-98.1567, 41.9400,721.6058, 1213} +, { 0,213, 2.56272,157.9887,-103.7461, 41.9400,721.4369, 1214} +, { 0,214, 2.51763,159.0137,-109.3356, 41.9400,721.2681, 1215} +, { 0,215, 2.47425,159.9513,-114.9250, 41.9400,721.0993, 1216} +, { 0,216, 2.43250,160.8117,-120.5145, 41.9400,720.9305, 1217} +, { 0,217, 2.39229,161.6038,-126.1039, 41.9400,720.7617, 1218} +, { 0,218, 2.35352,162.3350,-131.6934, 41.9400,720.5928, 1219} +, { 0,219, 2.31611,163.0121,-137.2828, 41.9400,720.4240, 1220} +, { 0,220, 3.55444,118.7054,-19.9044, 36.3480,723.9693, 1221} +, { 0,221, 3.48543,125.0451,-25.4938, 36.3480,723.8004, 1222} +, { 0,222, 3.41095,130.5357,-31.0833, 36.3480,723.6316, 1223} +, { 0,223, 3.33429,135.2548,-36.6727, 36.3480,723.4628, 1224} +, { 0,224, 3.25769,139.3025,-42.2622, 36.3480,723.2940, 1225} +, { 0,225, 3.18259,142.7798,-47.8516, 36.3480,723.1252, 1226} +, { 0,226, 3.10980,145.7784,-53.4411, 36.3480,722.9563, 1227} +, { 0,227, 3.03977,148.3773,-59.0305, 36.3480,722.7875, 1228} +, { 0,228, 2.97268,150.6427,-64.6200, 36.3480,722.6187, 1229} +, { 0,229, 2.90856,152.6290,-70.2094, 36.3480,722.4499, 1230} +, { 0,230, 2.84736,154.3808,-75.7989, 36.3480,722.2811, 1231} +, { 0,231, 2.78895,155.9345,-81.3883, 36.3480,722.1122, 1232} +, { 0,232, 2.73320,157.3200,-86.9778, 36.3480,721.9434, 1233} +, { 0,233, 2.67994,158.5618,-92.5672, 36.3480,721.7746, 1234} +, { 0,234, 2.62903,159.6801,-98.1567, 36.3480,721.6058, 1235} +, { 0,235, 2.58031,160.6918,-103.7461, 36.3480,721.4369, 1236} +, { 0,236, 2.53364,161.6109,-109.3356, 36.3480,721.2681, 1237} +, { 0,237, 2.48889,162.4491,-114.9250, 36.3480,721.0993, 1238} +, { 0,238, 2.44592,163.2163,-120.5145, 36.3480,720.9305, 1239} +, { 0,239, 2.40463,163.9210,-126.1039, 36.3480,720.7617, 1240} +, { 0,240, 2.36490,164.5702,-131.6934, 36.3480,720.5928, 1241} +, { 0,241, 2.32664,165.1702,-137.2828, 36.3480,720.4240, 1242} +, { 0,242, 3.67753,122.9097,-19.9044, 30.7560,723.9693, 1243} +, { 0,243, 3.59084,129.6555,-25.4938, 30.7560,723.8004, 1244} +, { 0,244, 3.50036,135.3032,-31.0833, 30.7560,723.6316, 1245} +, { 0,245, 3.40996,140.0147,-36.6727, 30.7560,723.4628, 1246} +, { 0,246, 3.32187,143.9550,-42.2622, 30.7560,723.2940, 1247} +, { 0,247, 3.23727,147.2696,-47.8516, 30.7560,723.1252, 1248} +, { 0,248, 3.15668,150.0790,-53.4411, 30.7560,722.9563, 1249} +, { 0,249, 3.08024,152.4796,-59.0305, 30.7560,722.7875, 1250} +, { 0,250, 3.00785,154.5478,-64.6200, 30.7560,722.6187, 1251} +, { 0,251, 2.93934,156.3437,-70.2094, 30.7560,722.4499, 1252} +, { 0,252, 2.87446,157.9148,-75.7989, 30.7560,722.2811, 1253} +, { 0,253, 2.81296,159.2988,-81.3883, 30.7560,722.1122, 1254} +, { 0,254, 2.75459,160.5260,-86.9778, 30.7560,721.9434, 1255} +, { 0,255, 2.69910,161.6206,-92.5672, 30.7560,721.7746, 1256} +, { 0,256, 2.64628,162.6024,-98.1567, 30.7560,721.6058, 1257} +, { 0,257, 2.59590,163.4873,-103.7461, 30.7560,721.4369, 1258} +, { 0,258, 2.54780,164.2888,-109.3356, 30.7560,721.2681, 1259} +, { 0,259, 2.50180,165.0177,-114.9250, 30.7560,721.0993, 1260} +, { 0,260, 2.45773,165.6834,-120.5145, 30.7560,720.9305, 1261} +, { 0,261, 2.41547,166.2935,-126.1039, 30.7560,720.7617, 1262} +, { 0,262, 2.37488,166.8546,-131.6934, 30.7560,720.5928, 1263} +, { 0,263, 2.33586,167.3723,-137.2828, 30.7560,720.4240, 1264} +, { 0,264, 3.81002,128.3435,-19.9044, 25.1640,723.9693, 1265} +, { 0,265, 3.69973,135.3730,-25.4938, 25.1640,723.8004, 1266} +, { 0,266, 3.58950,141.0075,-31.0833, 25.1640,723.6316, 1267} +, { 0,267, 3.48319,145.5430,-36.6727, 25.1640,723.4628, 1268} +, { 0,268, 3.38250,149.2293,-42.2622, 25.1640,723.2940, 1269} +, { 0,269, 3.28794,152.2612,-47.8516, 25.1640,723.1252, 1270} +, { 0,270, 3.19945,154.7855,-53.4411, 25.1640,722.9563, 1271} +, { 0,271, 3.11669,156.9120,-59.0305, 25.1640,722.7875, 1272} +, { 0,272, 3.03920,158.7233,-64.6200, 25.1640,722.6187, 1273} +, { 0,273, 2.96654,160.2816,-70.2094, 25.1640,722.4499, 1274} +, { 0,274, 2.89824,161.6347,-75.7989, 25.1640,722.2811, 1275} +, { 0,275, 2.83391,162.8192,-81.3883, 25.1640,722.1122, 1276} +, { 0,276, 2.77316,163.8640,-86.9778, 25.1640,721.9434, 1277} +, { 0,277, 2.71566,164.7919,-92.5672, 25.1640,721.7746, 1278} +, { 0,278, 2.66113,165.6210,-98.1567, 25.1640,721.6058, 1279} +, { 0,279, 2.60929,166.3660,-103.7461, 25.1640,721.4369, 1280} +, { 0,280, 2.55992,167.0389,-109.3356, 25.1640,721.2681, 1281} +, { 0,281, 2.51282,167.6494,-114.9250, 25.1640,721.0993, 1282} +, { 0,282, 2.46779,168.2058,-120.5145, 25.1640,720.9305, 1283} +, { 0,283, 2.42469,168.7149,-126.1039, 25.1640,720.7617, 1284} +, { 0,284, 2.38336,169.1823,-131.6934, 25.1640,720.5928, 1285} +, { 0,285, 2.34367,169.6130,-137.2828, 25.1640,720.4240, 1286} +, { 0,286, 3.94910,135.4824,-19.9044, 19.5720,723.9693, 1287} +, { 0,287, 3.80805,142.4860,-25.4938, 19.5720,723.8004, 1288} +, { 0,288, 3.67443,147.8029,-31.0833, 19.5720,723.6316, 1289} +, { 0,289, 3.55067,151.9114,-36.6727, 19.5720,723.4628, 1290} +, { 0,290, 3.43695,155.1507,-42.2622, 19.5720,723.2940, 1291} +, { 0,291, 3.33256,157.7547,-47.8516, 19.5720,723.1252, 1292} +, { 0,292, 3.23653,159.8855,-53.4411, 19.5720,722.9563, 1293} +, { 0,293, 3.14791,161.6567,-59.0305, 19.5720,722.7875, 1294} +, { 0,294, 3.06580,163.1496,-64.6200, 19.5720,722.6187, 1295} +, { 0,295, 2.98943,164.4233,-70.2094, 19.5720,722.4499, 1296} +, { 0,296, 2.91813,165.5219,-75.7989, 19.5720,722.2811, 1297} +, { 0,297, 2.85133,166.4784,-81.3883, 19.5720,722.1122, 1298} +, { 0,298, 2.78853,167.3184,-86.9778, 19.5720,721.9434, 1299} +, { 0,299, 2.72933,168.0615,-92.5672, 19.5720,721.7746, 1300} +, { 0,300, 2.67334,168.7234,-98.1567, 19.5720,721.6058, 1301} +, { 0,301, 2.62027,169.3165,-103.7461, 19.5720,721.4369, 1302} +, { 0,302, 2.56984,169.8511,-109.3356, 19.5720,721.2681, 1303} +, { 0,303, 2.52182,170.3351,-114.9250, 19.5720,721.0993, 1304} +, { 0,304, 2.47600,170.7755,-120.5145, 19.5720,720.9305, 1305} +, { 0,305, 2.43219,171.1778,-126.1039, 19.5720,720.7617, 1306} +, { 0,306, 2.39025,171.5467,-131.6934, 19.5720,720.5928, 1307} +, { 0,307, 2.35002,171.8862,-137.2828, 19.5720,720.4240, 1308} +, { 0,308, 4.08674,144.9174,-19.9044, 13.9800,723.9693, 1309} +, { 0,309, 3.90818,151.2610,-25.4938, 13.9800,723.8004, 1310} +, { 0,310, 3.74920,155.7837,-31.0833, 13.9800,723.6316, 1311} +, { 0,311, 3.60806,159.1327,-36.6727, 13.9800,723.4628, 1312} +, { 0,312, 3.48210,161.6962,-42.2622, 13.9800,723.2940, 1313} +, { 0,313, 3.36886,163.7141,-47.8516, 13.9800,723.1252, 1314} +, { 0,314, 3.26628,165.3401,-53.4411, 13.9800,722.9563, 1315} +, { 0,315, 3.17268,166.6763,-59.0305, 13.9800,722.7875, 1316} +, { 0,316, 3.08672,167.7927,-64.6200, 13.9800,722.6187, 1317} +, { 0,317, 3.00732,168.7386,-70.2094, 13.9800,722.4499, 1318} +, { 0,318, 2.93359,169.5501,-75.7989, 13.9800,722.2811, 1319} +, { 0,319, 2.86481,170.2535,-81.3883, 13.9800,722.1122, 1320} +, { 0,320, 2.80039,170.8689,-86.9778, 13.9800,721.9434, 1321} +, { 0,321, 2.73983,171.4118,-92.5672, 13.9800,721.7746, 1322} +, { 0,322, 2.68271,171.8941,-98.1567, 13.9800,721.6058, 1323} +, { 0,323, 2.62867,172.3255,-103.7461, 13.9800,721.4369, 1324} +, { 0,324, 2.57742,172.7135,-109.3356, 13.9800,721.2681, 1325} +, { 0,325, 2.52868,173.0644,-114.9250, 13.9800,721.0993, 1326} +, { 0,326, 2.48224,173.3831,-120.5145, 13.9800,720.9305, 1327} +, { 0,327, 2.43790,173.6740,-126.1039, 13.9800,720.7617, 1328} +, { 0,328, 2.39548,173.9404,-131.6934, 13.9800,720.5928, 1329} +, { 0,329, 2.35483,174.1854,-137.2828, 13.9800,720.4240, 1330} +, { 0,330, 4.20544,157.1487,-19.9044, 8.3880,723.9693, 1331} +, { 0,331, 3.98818,161.7877,-25.4938, 8.3880,723.8004, 1332} +, { 0,332, 3.80611,164.8981,-31.0833, 8.3880,723.6316, 1333} +, { 0,333, 3.65034,167.1166,-36.6727, 8.3880,723.4628, 1334} +, { 0,334, 3.51464,168.7741,-42.2622, 8.3880,723.2940, 1335} +, { 0,335, 3.39462,170.0575,-47.8516, 8.3880,723.1252, 1336} +, { 0,336, 3.28714,171.0798,-53.4411, 8.3880,722.9563, 1337} +, { 0,337, 3.18991,171.9126,-59.0305, 8.3880,722.7875, 1338} +, { 0,338, 3.10118,172.6041,-64.6200, 8.3880,722.6187, 1339} +, { 0,339, 3.01961,173.1871,-70.2094, 8.3880,722.4499, 1340} +, { 0,340, 2.94417,173.6853,-75.7989, 8.3880,722.2811, 1341} +, { 0,341, 2.87401,174.1158,-81.3883, 8.3880,722.1122, 1342} +, { 0,342, 2.80846,174.4915,-86.9778, 8.3880,721.9434, 1343} +, { 0,343, 2.74696,174.8223,-92.5672, 8.3880,721.7746, 1344} +, { 0,344, 2.68905,175.1156,-98.1567, 8.3880,721.6058, 1345} +, { 0,345, 2.63435,175.3776,-103.7461, 8.3880,721.4369, 1346} +, { 0,346, 2.58253,175.6130,-109.3356, 8.3880,721.2681, 1347} +, { 0,347, 2.53331,175.8256,-114.9250, 8.3880,721.0993, 1348} +, { 0,348, 2.48645,176.0185,-120.5145, 8.3880,720.9305, 1349} +, { 0,349, 2.44174,176.1945,-126.1039, 8.3880,720.7617, 1350} +, { 0,350, 2.39900,176.3556,-131.6934, 8.3880,720.5928, 1351} +, { 0,351, 2.35807,176.5036,-137.2828, 8.3880,720.4240, 1352} +, { 0,352, 4.27738,172.0039,-19.9044, 2.7960,723.9693, 1353} +, { 0,353, 4.03356,173.7412,-25.4938, 2.7960,723.8004, 1354} +, { 0,354, 3.83720,174.8600,-31.0833, 2.7960,723.6316, 1355} +, { 0,355, 3.67291,175.6401,-36.6727, 2.7960,723.4628, 1356} +, { 0,356, 3.53174,176.2149,-42.2622, 2.7960,723.2940, 1357} +, { 0,357, 3.40802,176.6560,-47.8516, 2.7960,723.1252, 1358} +, { 0,358, 3.29792,177.0051,-53.4411, 2.7960,722.9563, 1359} +, { 0,359, 3.19875,177.2882,-59.0305, 2.7960,722.7875, 1360} +, { 0,360, 3.10857,177.5224,-64.6200, 2.7960,722.6187, 1361} +, { 0,361, 3.02588,177.7195,-70.2094, 2.7960,722.4499, 1362} +, { 0,362, 2.94954,177.8875,-75.7989, 2.7960,722.2811, 1363} +, { 0,363, 2.87867,178.0324,-81.3883, 2.7960,722.1122, 1364} +, { 0,364, 2.81254,178.1588,-86.9778, 2.7960,721.9434, 1365} +, { 0,365, 2.75056,178.2699,-92.5672, 2.7960,721.7746, 1366} +, { 0,366, 2.69225,178.3684,-98.1567, 2.7960,721.6058, 1367} +, { 0,367, 2.63722,178.4562,-103.7461, 2.7960,721.4369, 1368} +, { 0,368, 2.58511,178.5351,-109.3356, 2.7960,721.2681, 1369} +, { 0,369, 2.53564,178.6063,-114.9250, 2.7960,721.0993, 1370} +, { 0,370, 2.48857,178.6709,-120.5145, 2.7960,720.9305, 1371} +, { 0,371, 2.44367,178.7298,-126.1039, 2.7960,720.7617, 1372} +, { 0,372, 2.40077,178.7837,-131.6934, 2.7960,720.5928, 1373} +, { 0,373, 2.35970,178.8332,-137.2828, 2.7960,720.4240, 1374} +, { 0,374, 4.27738,-172.0039,-19.9044, -2.7960,723.9693, 1375} +, { 0,375, 4.03356,-173.7412,-25.4938, -2.7960,723.8004, 1376} +, { 0,376, 3.83720,-174.8600,-31.0833, -2.7960,723.6316, 1377} +, { 0,377, 3.67291,-175.6401,-36.6727, -2.7960,723.4628, 1378} +, { 0,378, 3.53174,-176.2149,-42.2622, -2.7960,723.2940, 1379} +, { 0,379, 3.40802,-176.6560,-47.8516, -2.7960,723.1252, 1380} +, { 0,380, 3.29792,-177.0051,-53.4411, -2.7960,722.9563, 1381} +, { 0,381, 3.19875,-177.2882,-59.0305, -2.7960,722.7875, 1382} +, { 0,382, 3.10857,-177.5225,-64.6200, -2.7960,722.6187, 1383} +, { 0,383, 3.02588,-177.7195,-70.2094, -2.7960,722.4499, 1384} +, { 0,384, 2.94954,-177.8875,-75.7989, -2.7960,722.2811, 1385} +, { 0,385, 2.87867,-178.0324,-81.3883, -2.7960,722.1122, 1386} +, { 0,386, 2.81254,-178.1588,-86.9778, -2.7960,721.9434, 1387} +, { 0,387, 2.75056,-178.2699,-92.5672, -2.7960,721.7746, 1388} +, { 0,388, 2.69225,-178.3684,-98.1567, -2.7960,721.6058, 1389} +, { 0,389, 2.63722,-178.4562,-103.7461, -2.7960,721.4369, 1390} +, { 0,390, 2.58511,-178.5351,-109.3356, -2.7960,721.2681, 1391} +, { 0,391, 2.53564,-178.6063,-114.9250, -2.7960,721.0993, 1392} +, { 0,392, 2.48857,-178.6709,-120.5145, -2.7960,720.9305, 1393} +, { 0,393, 2.44367,-178.7298,-126.1039, -2.7960,720.7617, 1394} +, { 0,394, 2.40077,-178.7837,-131.6934, -2.7960,720.5928, 1395} +, { 0,395, 2.35970,-178.8332,-137.2828, -2.7960,720.4240, 1396} +, { 0,396, 4.20544,-157.1487,-19.9044, -8.3880,723.9693, 1397} +, { 0,397, 3.98818,-161.7877,-25.4938, -8.3880,723.8004, 1398} +, { 0,398, 3.80611,-164.8981,-31.0833, -8.3880,723.6316, 1399} +, { 0,399, 3.65034,-167.1166,-36.6727, -8.3880,723.4628, 1400} +, { 0,400, 3.51464,-168.7741,-42.2622, -8.3880,723.2940, 1401} +, { 0,401, 3.39462,-170.0575,-47.8516, -8.3880,723.1252, 1402} +, { 0,402, 3.28714,-171.0797,-53.4411, -8.3880,722.9563, 1403} +, { 0,403, 3.18991,-171.9126,-59.0305, -8.3880,722.7875, 1404} +, { 0,404, 3.10118,-172.6041,-64.6200, -8.3880,722.6187, 1405} +, { 0,405, 3.01961,-173.1871,-70.2094, -8.3880,722.4499, 1406} +, { 0,406, 2.94417,-173.6853,-75.7989, -8.3880,722.2811, 1407} +, { 0,407, 2.87401,-174.1158,-81.3883, -8.3880,722.1122, 1408} +, { 0,408, 2.80846,-174.4915,-86.9778, -8.3880,721.9434, 1409} +, { 0,409, 2.74696,-174.8223,-92.5672, -8.3880,721.7746, 1410} +, { 0,410, 2.68905,-175.1156,-98.1567, -8.3880,721.6058, 1411} +, { 0,411, 2.63435,-175.3776,-103.7461, -8.3880,721.4369, 1412} +, { 0,412, 2.58253,-175.6130,-109.3356, -8.3880,721.2681, 1413} +, { 0,413, 2.53331,-175.8256,-114.9250, -8.3880,721.0993, 1414} +, { 0,414, 2.48645,-176.0185,-120.5145, -8.3880,720.9305, 1415} +, { 0,415, 2.44174,-176.1945,-126.1039, -8.3880,720.7617, 1416} +, { 0,416, 2.39900,-176.3556,-131.6934, -8.3880,720.5928, 1417} +, { 0,417, 2.35807,-176.5036,-137.2828, -8.3880,720.4240, 1418} +, { 0,418, 4.08674,-144.9174,-19.9044,-13.9800,723.9693, 1419} +, { 0,419, 3.90818,-151.2610,-25.4938,-13.9800,723.8004, 1420} +, { 0,420, 3.74920,-155.7837,-31.0833,-13.9800,723.6316, 1421} +, { 0,421, 3.60806,-159.1327,-36.6727,-13.9800,723.4628, 1422} +, { 0,422, 3.48210,-161.6962,-42.2622,-13.9800,723.2940, 1423} +, { 0,423, 3.36886,-163.7141,-47.8516,-13.9800,723.1252, 1424} +, { 0,424, 3.26628,-165.3401,-53.4411,-13.9800,722.9563, 1425} +, { 0,425, 3.17268,-166.6763,-59.0305,-13.9800,722.7875, 1426} +, { 0,426, 3.08672,-167.7927,-64.6200,-13.9800,722.6187, 1427} +, { 0,427, 3.00732,-168.7386,-70.2094,-13.9800,722.4499, 1428} +, { 0,428, 2.93359,-169.5501,-75.7989,-13.9800,722.2811, 1429} +, { 0,429, 2.86481,-170.2535,-81.3883,-13.9800,722.1122, 1430} +, { 0,430, 2.80039,-170.8689,-86.9778,-13.9800,721.9434, 1431} +, { 0,431, 2.73983,-171.4118,-92.5672,-13.9800,721.7746, 1432} +, { 0,432, 2.68271,-171.8941,-98.1567,-13.9800,721.6058, 1433} +, { 0,433, 2.62867,-172.3255,-103.7461,-13.9800,721.4369, 1434} +, { 0,434, 2.57742,-172.7135,-109.3356,-13.9800,721.2681, 1435} +, { 0,435, 2.52868,-173.0644,-114.9250,-13.9800,721.0993, 1436} +, { 0,436, 2.48224,-173.3831,-120.5145,-13.9800,720.9305, 1437} +, { 0,437, 2.43790,-173.6740,-126.1039,-13.9800,720.7617, 1438} +, { 0,438, 2.39548,-173.9404,-131.6934,-13.9800,720.5928, 1439} +, { 0,439, 2.35483,-174.1854,-137.2828,-13.9800,720.4240, 1440} +, { 0,440, 3.94910,-135.4824,-19.9044,-19.5720,723.9693, 1441} +, { 0,441, 3.80805,-142.4860,-25.4938,-19.5720,723.8004, 1442} +, { 0,442, 3.67443,-147.8029,-31.0833,-19.5720,723.6316, 1443} +, { 0,443, 3.55067,-151.9114,-36.6727,-19.5720,723.4628, 1444} +, { 0,444, 3.43695,-155.1507,-42.2622,-19.5720,723.2940, 1445} +, { 0,445, 3.33256,-157.7547,-47.8516,-19.5720,723.1252, 1446} +, { 0,446, 3.23653,-159.8855,-53.4411,-19.5720,722.9563, 1447} +, { 0,447, 3.14791,-161.6567,-59.0305,-19.5720,722.7875, 1448} +, { 0,448, 3.06580,-163.1496,-64.6200,-19.5720,722.6187, 1449} +, { 0,449, 2.98943,-164.4233,-70.2094,-19.5720,722.4499, 1450} +, { 0,450, 2.91813,-165.5219,-75.7989,-19.5720,722.2811, 1451} +, { 0,451, 2.85133,-166.4784,-81.3883,-19.5720,722.1122, 1452} +, { 0,452, 2.78853,-167.3184,-86.9778,-19.5720,721.9434, 1453} +, { 0,453, 2.72933,-168.0615,-92.5672,-19.5720,721.7746, 1454} +, { 0,454, 2.67334,-168.7234,-98.1567,-19.5720,721.6058, 1455} +, { 0,455, 2.62027,-169.3165,-103.7461,-19.5720,721.4369, 1456} +, { 0,456, 2.56984,-169.8511,-109.3356,-19.5720,721.2681, 1457} +, { 0,457, 2.52182,-170.3351,-114.9250,-19.5720,721.0993, 1458} +, { 0,458, 2.47600,-170.7755,-120.5145,-19.5720,720.9305, 1459} +, { 0,459, 2.43219,-171.1778,-126.1039,-19.5720,720.7617, 1460} +, { 0,460, 2.39025,-171.5467,-131.6934,-19.5720,720.5928, 1461} +, { 0,461, 2.35002,-171.8862,-137.2828,-19.5720,720.4240, 1462} +, { 0,462, 3.81002,-128.3435,-19.9044,-25.1640,723.9693, 1463} +, { 0,463, 3.69973,-135.3730,-25.4938,-25.1640,723.8004, 1464} +, { 0,464, 3.58950,-141.0075,-31.0833,-25.1640,723.6316, 1465} +, { 0,465, 3.48319,-145.5430,-36.6727,-25.1640,723.4628, 1466} +, { 0,466, 3.38250,-149.2293,-42.2622,-25.1640,723.2940, 1467} +, { 0,467, 3.28794,-152.2612,-47.8516,-25.1640,723.1252, 1468} +, { 0,468, 3.19945,-154.7855,-53.4411,-25.1640,722.9563, 1469} +, { 0,469, 3.11669,-156.9120,-59.0305,-25.1640,722.7875, 1470} +, { 0,470, 3.03920,-158.7233,-64.6200,-25.1640,722.6187, 1471} +, { 0,471, 2.96654,-160.2816,-70.2094,-25.1640,722.4499, 1472} +, { 0,472, 2.89824,-161.6347,-75.7989,-25.1640,722.2811, 1473} +, { 0,473, 2.83391,-162.8192,-81.3883,-25.1640,722.1122, 1474} +, { 0,474, 2.77316,-163.8640,-86.9778,-25.1640,721.9434, 1475} +, { 0,475, 2.71566,-164.7919,-92.5672,-25.1640,721.7746, 1476} +, { 0,476, 2.66113,-165.6210,-98.1567,-25.1640,721.6058, 1477} +, { 0,477, 2.60929,-166.3660,-103.7461,-25.1640,721.4369, 1478} +, { 0,478, 2.55992,-167.0389,-109.3356,-25.1640,721.2681, 1479} +, { 0,479, 2.51282,-167.6494,-114.9250,-25.1640,721.0993, 1480} +, { 0,480, 2.46779,-168.2058,-120.5145,-25.1640,720.9305, 1481} +, { 0,481, 2.42469,-168.7149,-126.1039,-25.1640,720.7617, 1482} +, { 0,482, 2.38336,-169.1823,-131.6934,-25.1640,720.5928, 1483} +, { 0,483, 2.34367,-169.6130,-137.2828,-25.1640,720.4240, 1484} +, { 0,484, 3.67753,-122.9097,-19.9044,-30.7560,723.9693, 1485} +, { 0,485, 3.59084,-129.6555,-25.4938,-30.7560,723.8004, 1486} +, { 0,486, 3.50036,-135.3032,-31.0833,-30.7560,723.6316, 1487} +, { 0,487, 3.40996,-140.0147,-36.6727,-30.7560,723.4628, 1488} +, { 0,488, 3.32187,-143.9550,-42.2622,-30.7560,723.2940, 1489} +, { 0,489, 3.23727,-147.2696,-47.8516,-30.7560,723.1252, 1490} +, { 0,490, 3.15668,-150.0790,-53.4411,-30.7560,722.9563, 1491} +, { 0,491, 3.08024,-152.4796,-59.0305,-30.7560,722.7875, 1492} +, { 0,492, 3.00785,-154.5478,-64.6200,-30.7560,722.6187, 1493} +, { 0,493, 2.93934,-156.3437,-70.2094,-30.7560,722.4499, 1494} +, { 0,494, 2.87446,-157.9148,-75.7989,-30.7560,722.2811, 1495} +, { 0,495, 2.81296,-159.2988,-81.3883,-30.7560,722.1122, 1496} +, { 0,496, 2.75459,-160.5260,-86.9778,-30.7560,721.9434, 1497} +, { 0,497, 2.69910,-161.6206,-92.5672,-30.7560,721.7746, 1498} +, { 0,498, 2.64628,-162.6024,-98.1567,-30.7560,721.6058, 1499} +, { 0,499, 2.59590,-163.4873,-103.7461,-30.7560,721.4369, 1500} +, { 0,500, 2.54780,-164.2888,-109.3356,-30.7560,721.2681, 1501} +, { 0,501, 2.50180,-165.0177,-114.9250,-30.7560,721.0993, 1502} +, { 0,502, 2.45773,-165.6834,-120.5145,-30.7560,720.9305, 1503} +, { 0,503, 2.41547,-166.2935,-126.1039,-30.7560,720.7617, 1504} +, { 0,504, 2.37488,-166.8546,-131.6934,-30.7560,720.5928, 1505} +, { 0,505, 2.33586,-167.3723,-137.2828,-30.7560,720.4240, 1506} +, { 0,506, 3.55444,-118.7053,-19.9044,-36.3480,723.9693, 1507} +, { 0,507, 3.48543,-125.0451,-25.4938,-36.3480,723.8004, 1508} +, { 0,508, 3.41095,-130.5357,-31.0833,-36.3480,723.6316, 1509} +, { 0,509, 3.33429,-135.2548,-36.6727,-36.3480,723.4628, 1510} +, { 0,510, 3.25769,-139.3025,-42.2622,-36.3480,723.2940, 1511} +, { 0,511, 3.18259,-142.7798,-47.8516,-36.3480,723.1252, 1512} +, { 0,512, 3.10980,-145.7784,-53.4411,-36.3480,722.9563, 1513} +, { 0,513, 3.03977,-148.3773,-59.0305,-36.3480,722.7875, 1514} +, { 0,514, 2.97268,-150.6427,-64.6200,-36.3480,722.6187, 1515} +, { 0,515, 2.90856,-152.6290,-70.2094,-36.3480,722.4499, 1516} +, { 0,516, 2.84736,-154.3808,-75.7989,-36.3480,722.2811, 1517} +, { 0,517, 2.78895,-155.9345,-81.3883,-36.3480,722.1122, 1518} +, { 0,518, 2.73320,-157.3200,-86.9778,-36.3480,721.9434, 1519} +, { 0,519, 2.67994,-158.5618,-92.5672,-36.3480,721.7746, 1520} +, { 0,520, 2.62903,-159.6801,-98.1567,-36.3480,721.6058, 1521} +, { 0,521, 2.58031,-160.6918,-103.7461,-36.3480,721.4369, 1522} +, { 0,522, 2.53364,-161.6109,-109.3356,-36.3480,721.2681, 1523} +, { 0,523, 2.48889,-162.4491,-114.9250,-36.3480,721.0993, 1524} +, { 0,524, 2.44592,-163.2163,-120.5145,-36.3480,720.9305, 1525} +, { 0,525, 2.40463,-163.9210,-126.1039,-36.3480,720.7617, 1526} +, { 0,526, 2.36490,-164.5702,-131.6934,-36.3480,720.5928, 1527} +, { 0,527, 2.32664,-165.1702,-137.2828,-36.3480,720.4240, 1528} +, { 0,528, 3.44112,-115.3886,-19.9044,-41.9400,723.9693, 1529} +, { 0,529, 3.38535,-121.2939,-25.4938,-41.9400,723.8004, 1530} +, { 0,530, 3.32359,-126.5435,-31.0833,-41.9400,723.6316, 1531} +, { 0,531, 3.25848,-131.1667,-36.6727,-41.9400,723.4628, 1532} +, { 0,532, 3.19200,-135.2192,-42.2622,-41.9400,723.2940, 1533} +, { 0,533, 3.12558,-138.7668,-47.8516,-41.9400,723.1252, 1534} +, { 0,534, 3.06017,-141.8755,-53.4411,-41.9400,722.9563, 1535} +, { 0,535, 2.99638,-144.6070,-59.0305,-41.9400,722.7875, 1536} +, { 0,536, 2.93457,-147.0154,-64.6200,-41.9400,722.6187, 1537} +, { 0,537, 2.87492,-149.1478,-70.2094,-41.9400,722.4499, 1538} +, { 0,538, 2.81751,-151.0440,-75.7989,-41.9400,722.2811, 1539} +, { 0,539, 2.76234,-152.7376,-81.3883,-41.9400,722.1122, 1540} +, { 0,540, 2.70936,-154.2570,-86.9778,-41.9400,721.9434, 1541} +, { 0,541, 2.65849,-155.6259,-92.5672,-41.9400,721.7746, 1542} +, { 0,542, 2.60964,-156.8641,-98.1567,-41.9400,721.6058, 1543} +, { 0,543, 2.56272,-157.9887,-103.7461,-41.9400,721.4369, 1544} +, { 0,544, 2.51763,-159.0137,-109.3356,-41.9400,721.2681, 1545} +, { 0,545, 2.47425,-159.9513,-114.9250,-41.9400,721.0993, 1546} +, { 0,546, 2.43250,-160.8117,-120.5145,-41.9400,720.9305, 1547} +, { 0,547, 2.39229,-161.6038,-126.1039,-41.9400,720.7617, 1548} +, { 0,548, 2.35352,-162.3350,-131.6934,-41.9400,720.5928, 1549} +, { 0,549, 2.31611,-163.0121,-137.2828,-41.9400,720.4240, 1550} +, { 0,550, 3.33697,-112.7218,-19.9044,-47.5320,723.9693, 1551} +, { 0,551, 3.29123,-118.2069,-25.4938,-47.5320,723.8004, 1552} +, { 0,552, 3.23955,-123.1824,-31.0833,-47.5320,723.6316, 1553} +, { 0,553, 3.18399,-127.6515,-36.6727,-47.5320,723.4628, 1554} +, { 0,554, 3.12623,-131.6413,-42.2622,-47.5320,723.2940, 1555} +, { 0,555, 3.06756,-135.1920,-47.8516,-47.5320,723.1252, 1556} +, { 0,556, 3.00894,-138.3492,-53.4411,-47.5320,722.9563, 1557} +, { 0,557, 2.95105,-141.1586,-59.0305,-47.5320,722.7875, 1558} +, { 0,558, 2.89434,-143.6632,-64.6200,-47.5320,722.6187, 1559} +, { 0,559, 2.83909,-145.9019,-70.2094,-47.5320,722.4499, 1560} +, { 0,560, 2.78548,-147.9090,-75.7989,-47.5320,722.2811, 1561} +, { 0,561, 2.73359,-149.7144,-81.3883,-47.5320,722.1122, 1562} +, { 0,562, 2.68346,-151.3441,-86.9778,-47.5320,721.9434, 1563} +, { 0,563, 2.63507,-152.8201,-92.5672,-47.5320,721.7746, 1564} +, { 0,564, 2.58839,-154.1616,-98.1567,-47.5320,721.6058, 1565} +, { 0,565, 2.54337,-155.3848,-103.7461,-47.5320,721.4369, 1566} +, { 0,566, 2.49994,-156.5037,-109.3356,-47.5320,721.2681, 1567} +, { 0,567, 2.45805,-157.5304,-114.9250,-47.5320,721.0993, 1568} +, { 0,568, 2.41760,-158.4753,-120.5145,-47.5320,720.9305, 1569} +, { 0,569, 2.37855,-159.3472,-126.1039,-47.5320,720.7617, 1570} +, { 0,570, 2.34082,-160.1540,-131.6934,-47.5320,720.5928, 1571} +, { 0,571, 2.30435,-160.9024,-137.2828,-47.5320,720.4240, 1572} +, { 0,572, 3.24112,-110.5398,-19.9044,-53.1240,723.9693, 1573} +, { 0,573, 3.20306,-115.6360,-25.4938,-53.1240,723.8004, 1574} +, { 0,574, 3.15939,-120.3322,-31.0833,-53.1240,723.6316, 1575} +, { 0,575, 3.11170,-124.6182,-36.6727,-53.1240,723.4628, 1576} +, { 0,576, 3.06136,-128.5036,-42.2622,-53.1240,723.2940, 1577} +, { 0,577, 3.00950,-132.0110,-47.8516,-53.1240,723.1252, 1578} +, { 0,578, 2.95701,-135.1705,-53.4411,-53.1240,722.9563, 1579} +, { 0,579, 2.90458,-138.0146,-59.0305,-53.1240,722.7875, 1580} +, { 0,580, 2.85268,-140.5764,-64.6200,-53.1240,722.6187, 1581} +, { 0,581, 2.80167,-142.8870,-70.2094,-53.1240,722.4499, 1582} +, { 0,582, 2.75177,-144.9751,-75.7989,-53.1240,722.2811, 1583} +, { 0,583, 2.70314,-146.8666,-81.3883,-53.1240,722.1122, 1584} +, { 0,584, 2.65587,-148.5844,-86.9778,-53.1240,721.9434, 1585} +, { 0,585, 2.61000,-150.1486,-92.5672,-53.1240,721.7746, 1586} +, { 0,586, 2.56554,-151.5770,-98.1567,-53.1240,721.6058, 1587} +, { 0,587, 2.52248,-152.8849,-103.7461,-53.1240,721.4369, 1588} +, { 0,588, 2.48079,-154.0858,-109.3356,-53.1240,721.2681, 1589} +, { 0,589, 2.44044,-155.1913,-114.9250,-53.1240,721.0993, 1590} +, { 0,590, 2.40138,-156.2116,-120.5145,-53.1240,720.9305, 1591} +, { 0,591, 2.36356,-157.1557,-126.1039,-53.1240,720.7617, 1592} +, { 0,592, 2.32693,-158.0313,-131.6934,-53.1240,720.5928, 1593} +, { 0,593, 2.29145,-158.8452,-137.2828,-53.1240,720.4240, 1594} +, { 0,594, 3.15262,-108.7263,-19.9044,-58.7160,723.9693, 1595} +, { 0,595, 3.12055,-113.4699,-25.4938,-58.7160,723.8004, 1596} +, { 0,596, 3.08329,-117.8960,-31.0833,-58.7160,723.6316, 1597} +, { 0,597, 3.04208,-121.9880,-36.6727,-58.7160,723.4628, 1598} +, { 0,598, 2.99802,-125.7453,-42.2622,-58.7160,723.2940, 1599} +, { 0,599, 2.95209,-129.1789,-47.8516,-58.7160,723.1252, 1600} +, { 0,600, 2.90507,-132.3073,-53.4411,-58.7160,722.9563, 1601} +, { 0,601, 2.85760,-135.1530,-59.0305,-58.7160,722.7875, 1602} +, { 0,602, 2.81018,-137.7406,-64.6200,-58.7160,722.6187, 1603} +, { 0,603, 2.76317,-140.0943,-70.2094,-58.7160,722.4499, 1604} +, { 0,604, 2.71684,-142.2376,-75.7989,-58.7160,722.2811, 1605} +, { 0,605, 2.67138,-144.1922,-81.3883,-58.7160,722.1122, 1606} +, { 0,606, 2.62693,-145.9779,-86.9778,-58.7160,721.9434, 1607} +, { 0,607, 2.58357,-147.6128,-92.5672,-58.7160,721.7746, 1608} +, { 0,608, 2.54134,-149.1127,-98.1567,-58.7160,721.6058, 1609} +, { 0,609, 2.50027,-150.4919,-103.7461,-58.7160,721.4369, 1610} +, { 0,610, 2.46036,-151.7631,-109.3356,-58.7160,721.2681, 1611} +, { 0,611, 2.42159,-152.9372,-114.9250,-58.7160,721.0993, 1612} +, { 0,612, 2.38396,-154.0241,-120.5145,-58.7160,720.9305, 1613} +, { 0,613, 2.34742,-155.0326,-126.1039,-58.7160,720.7617, 1614} +, { 0,614, 2.31195,-155.9701,-131.6934,-58.7160,720.5928, 1615} +, { 0,615, 2.27752,-156.8436,-137.2828,-58.7160,720.4240, 1616} +, { 0,616, 3.07062,-107.1981,-19.9044,-64.3080,723.9693, 1617} +, { 0,617, 3.04327,-111.6250,-25.4938,-64.3080,723.8004, 1618} +, { 0,618, 3.01119,-115.7968,-31.0833,-64.3080,723.6316, 1619} +, { 0,619, 2.97534,-119.6947,-36.6727,-64.3080,723.4628, 1620} +, { 0,620, 2.93660,-123.3123,-42.2622,-64.3080,723.2940, 1621} +, { 0,621, 2.89579,-126.6530,-47.8516,-64.3080,723.1252, 1622} +, { 0,622, 2.85360,-129.7272,-53.4411,-64.3080,722.9563, 1623} +, { 0,623, 2.81062,-132.5499,-59.0305,-64.3080,722.7875, 1624} +, { 0,624, 2.76730,-135.1386,-64.6200,-64.3080,722.6187, 1625} +, { 0,625, 2.72403,-137.5120,-70.2094,-64.3080,722.4499, 1626} +, { 0,626, 2.68108,-139.6886,-75.7989,-64.3080,722.2811, 1627} +, { 0,627, 2.63867,-141.6864,-81.3883,-64.3080,722.1122, 1628} +, { 0,628, 2.59696,-143.5222,-86.9778,-64.3080,721.9434, 1629} +, { 0,629, 2.55606,-145.2116,-92.5672,-64.3080,721.7746, 1630} +, { 0,630, 2.51604,-146.7689,-98.1567,-64.3080,721.6058, 1631} +, { 0,631, 2.47696,-148.2069,-103.7461,-64.3080,721.4369, 1632} +, { 0,632, 2.43883,-149.5372,-109.3356,-64.3080,721.2681, 1633} +, { 0,633, 2.40168,-150.7702,-114.9250,-64.3080,721.0993, 1634} +, { 0,634, 2.36550,-151.9151,-120.5145,-64.3080,720.9305, 1635} +, { 0,635, 2.33028,-152.9802,-126.1039,-64.3080,720.7617, 1636} +, { 0,636, 2.29600,-153.9730,-131.6934,-64.3080,720.5928, 1637} +, { 0,637, 2.26264,-154.9000,-137.2828,-64.3080,720.4240, 1638} +, { 0,638, 2.99436,-105.8946,-19.9044,-69.9000,723.9693, 1639} +, { 0,639, 2.97079,-110.0378,-25.4938,-69.9000,723.8004, 1640} +, { 0,640, 2.94293,-113.9738,-31.0833,-69.9000,723.6316, 1641} +, { 0,641, 2.91152,-117.6835,-36.6727,-69.9000,723.4628, 1642} +, { 0,642, 2.87729,-121.1575,-42.2622,-69.9000,723.2940, 1643} +, { 0,643, 2.84091,-124.3945,-47.8516,-69.9000,723.1252, 1644} +, { 0,644, 2.80297,-127.3992,-53.4411,-69.9000,722.9563, 1645} +, { 0,645, 2.76400,-130.1811,-59.0305,-69.9000,722.7875, 1646} +, { 0,646, 2.72443,-132.7522,-64.6200,-69.9000,722.6187, 1647} +, { 0,647, 2.68461,-135.1265,-70.2094,-69.9000,722.4499, 1648} +, { 0,648, 2.64483,-137.3185,-75.7989,-69.9000,722.2811, 1649} +, { 0,649, 2.60531,-139.3425,-81.3883,-69.9000,722.1122, 1650} +, { 0,650, 2.56623,-141.2128,-86.9778,-69.9000,721.9434, 1651} +, { 0,651, 2.52771,-142.9426,-92.5672,-69.9000,721.7746, 1652} +, { 0,652, 2.48986,-144.5443,-98.1567,-69.9000,721.6058, 1653} +, { 0,653, 2.45274,-146.0295,-103.7461,-69.9000,721.4369, 1654} +, { 0,654, 2.41639,-147.4086,-109.3356,-69.9000,721.2681, 1655} +, { 0,655, 2.38085,-148.6911,-114.9250,-69.9000,721.0993, 1656} +, { 0,656, 2.34613,-149.8857,-120.5145,-69.9000,720.9305, 1657} +, { 0,657, 2.31224,-151.0002,-126.1039,-69.9000,720.7617, 1658} +, { 0,658, 2.27918,-152.0416,-131.6934,-69.9000,720.5928, 1659} +, { 0,659, 2.24693,-153.0163,-137.2828,-69.9000,720.4240, 1660} +, { 0,660, 2.92316,-104.7706,-19.9044,-75.4920,723.9693, 1661} +, { 0,661, 2.90265,-108.6599,-25.4938,-75.4920,723.8004, 1662} +, { 0,662, 2.87827,-112.3790,-31.0833,-75.4920,723.6316, 1663} +, { 0,663, 2.85058,-115.9097,-36.6727,-75.4920,723.4628, 1664} +, { 0,664, 2.82018,-119.2411,-42.2622,-75.4920,723.2940, 1665} +, { 0,665, 2.78763,-122.3691,-47.8516,-75.4920,723.1252, 1666} +, { 0,666, 2.75343,-125.2948,-53.4411,-75.4920,722.9563, 1667} +, { 0,667, 2.71804,-128.0234,-59.0305,-75.4920,722.7875, 1668} +, { 0,668, 2.68185,-130.5630,-64.6200,-75.4920,722.6187, 1669} +, { 0,669, 2.64520,-132.9236,-70.2094,-75.4920,722.4499, 1670} +, { 0,670, 2.60837,-135.1162,-75.7989,-75.4920,722.2811, 1671} +, { 0,671, 2.57157,-137.1524,-81.3883,-75.4920,722.1122, 1672} +, { 0,672, 2.53499,-139.0438,-86.9778,-75.4920,721.9434, 1673} +, { 0,673, 2.49876,-140.8015,-92.5672,-75.4920,721.7746, 1674} +, { 0,674, 2.46300,-142.4362,-98.1567,-75.4920,721.6058, 1675} +, { 0,675, 2.42779,-143.9581,-103.7461,-75.4920,721.4369, 1676} +, { 0,676, 2.39320,-145.3764,-109.3356,-75.4920,721.2681, 1677} +, { 0,677, 2.35925,-146.6999,-114.9250,-75.4920,721.0993, 1678} +, { 0,678, 2.32600,-147.9364,-120.5145,-75.4920,720.9305, 1679} +, { 0,679, 2.29344,-149.0932,-126.1039,-75.4920,720.7617, 1680} +, { 0,680, 2.26159,-150.1769,-131.6934,-75.4920,720.5928, 1681} +, { 0,681, 2.23046,-151.1936,-137.2828,-75.4920,720.4240, 1682} +, { 0,682, 2.85646,-103.7922,-19.9044,-81.0840,723.9693, 1683} +, { 0,683, 2.83847,-107.4538,-25.4938,-81.0840,723.8004, 1684} +, { 0,684, 2.81697,-110.9741,-31.0833,-81.0840,723.6316, 1685} +, { 0,685, 2.79242,-114.3363,-36.6727,-81.0840,723.4628, 1686} +, { 0,686, 2.76529,-117.5292,-42.2622,-81.0840,723.2940, 1687} +, { 0,687, 2.73604,-120.5469,-47.8516,-81.0840,723.1252, 1688} +, { 0,688, 2.70512,-123.3882,-53.4411,-81.0840,722.9563, 1689} +, { 0,689, 2.67292,-126.0553,-59.0305,-81.0840,722.7875, 1690} +, { 0,690, 2.63979,-128.5531,-64.6200,-81.0840,722.6187, 1691} +, { 0,691, 2.60604,-130.8888,-70.2094,-81.0840,722.4499, 1692} +, { 0,692, 2.57192,-133.0705,-75.7989,-81.0840,722.2811, 1693} +, { 0,693, 2.53766,-135.1073,-81.3883,-81.0840,722.1122, 1694} +, { 0,694, 2.50344,-137.0085,-86.9778,-81.0840,721.9434, 1695} +, { 0,695, 2.46939,-138.7834,-92.5672,-81.0840,721.7746, 1696} +, { 0,696, 2.43565,-140.4410,-98.1567,-81.0840,721.6058, 1697} +, { 0,697, 2.40229,-141.9902,-103.7461,-81.0840,721.4369, 1698} +, { 0,698, 2.36940,-143.4391,-109.3356,-81.0840,721.2681, 1699} +, { 0,699, 2.33703,-144.7956,-114.9250,-81.0840,721.0993, 1700} +, { 0,700, 2.30521,-146.0667,-120.5145,-81.0840,720.9305, 1701} +, { 0,701, 2.27398,-147.2593,-126.1039,-81.0840,720.7617, 1702} +, { 0,702, 2.24335,-148.3793,-131.6934,-81.0840,720.5928, 1703} +, { 0,703, 2.21334,-149.4324,-137.2828,-81.0840,720.4240, 1704} +, { 0,704, 2.79377,-102.9332,-19.9044,-86.6760,723.9693, 1705} +, { 0,705, 2.77787,-106.3901,-25.4938,-86.6760,723.8004, 1706} +, { 0,706, 2.75879,-109.7286,-31.0833,-86.6760,723.6316, 1707} +, { 0,707, 2.73688,-112.9333,-36.6727,-86.6760,723.4628, 1708} +, { 0,708, 2.71256,-115.9933,-42.2622,-86.6760,723.2940, 1709} +, { 0,709, 2.68619,-118.9020,-47.8516,-86.6760,723.1252, 1710} +, { 0,710, 2.65815,-121.6564,-53.4411,-86.6760,722.9563, 1711} +, { 0,711, 2.62878,-124.2567,-59.0305,-86.6760,722.7875, 1712} +, { 0,712, 2.59840,-126.7058,-64.6200,-86.6760,722.6187, 1713} +, { 0,713, 2.56728,-129.0082,-70.2094,-86.6760,722.4499, 1714} +, { 0,714, 2.53567,-131.1700,-75.7989,-86.6760,722.2811, 1715} +, { 0,715, 2.50377,-133.1979,-81.3883,-86.6760,722.1122, 1716} +, { 0,716, 2.47176,-135.0996,-86.9778,-86.6760,721.9434, 1717} +, { 0,717, 2.43978,-136.8825,-92.5672,-86.6760,721.7746, 1718} +, { 0,718, 2.40796,-138.5543,-98.1567,-86.6760,721.6058, 1719} +, { 0,719, 2.37639,-140.1225,-103.7461,-86.6760,721.4369, 1720} +, { 0,720, 2.34515,-141.5943,-109.3356,-86.6760,721.2681, 1721} +, { 0,721, 2.31430,-142.9765,-114.9250,-86.6760,721.0993, 1722} +, { 0,722, 2.28390,-144.2757,-120.5145,-86.6760,720.9305, 1723} +, { 0,723, 2.25397,-145.4978,-126.1039,-86.6760,720.7617, 1724} +, { 0,724, 2.22455,-146.6485,-131.6934,-86.6760,720.5928, 1725} +, { 0,725, 2.19566,-147.7330,-137.2828,-86.6760,720.4240, 1726} +, { 0,726, 2.73468,-102.1735,-19.9044,-92.2680,723.9693, 1727} +, { 0,727, 2.72053,-105.4456,-25.4938,-92.2680,723.8004, 1728} +, { 0,728, 2.70348,-108.6177,-31.0833,-92.2680,723.6316, 1729} +, { 0,729, 2.68384,-111.6758,-36.6727,-92.2680,723.4628, 1730} +, { 0,730, 2.66192,-114.6095,-42.2622,-92.2680,723.2940, 1731} +, { 0,731, 2.63806,-117.4120,-47.8516,-92.2680,723.1252, 1732} +, { 0,732, 2.61255,-120.0792,-53.4411,-92.2680,722.9563, 1733} +, { 0,733, 2.58571,-122.6100,-59.0305,-92.2680,722.7875, 1734} +, { 0,734, 2.55780,-125.0055,-64.6200,-92.2680,722.6187, 1735} +, { 0,735, 2.52908,-127.2686,-70.2094,-92.2680,722.4499, 1736} +, { 0,736, 2.49976,-129.4034,-75.7989,-92.2680,722.2811, 1737} +, { 0,737, 2.47004,-131.4151,-81.3883,-92.2680,722.1122, 1738} +, { 0,738, 2.44010,-133.3095,-86.9778,-92.2680,721.9434, 1739} +, { 0,739, 2.41007,-135.0928,-92.5672,-92.2680,721.7746, 1740} +, { 0,740, 2.38007,-136.7712,-98.1567,-92.2680,721.6058, 1741} +, { 0,741, 2.35020,-138.3513,-103.7461,-92.2680,721.4369, 1742} +, { 0,742, 2.32055,-139.8391,-109.3356,-92.2680,721.2681, 1743} +, { 0,743, 2.29119,-141.2406,-114.9250,-92.2680,721.0993, 1744} +, { 0,744, 2.26216,-142.5617,-120.5145,-92.2680,720.9305, 1745} +, { 0,745, 2.23352,-143.8077,-126.1039,-92.2680,720.7617, 1746} +, { 0,746, 2.20528,-144.9839,-131.6934,-92.2680,720.5928, 1747} +, { 0,747, 2.17749,-146.0949,-137.2828,-92.2680,720.4240, 1748} +, { 1, 0, 2.73468, 77.8265, 19.9044, 92.2680,723.9693, 2001} +, { 1, 1, 2.72053, 74.5544, 25.4938, 92.2680,723.8004, 2002} +, { 1, 2, 2.70348, 71.3823, 31.0833, 92.2680,723.6316, 2003} +, { 1, 3, 2.68384, 68.3242, 36.6727, 92.2680,723.4628, 2004} +, { 1, 4, 2.66192, 65.3905, 42.2622, 92.2680,723.2940, 2005} +, { 1, 5, 2.63806, 62.5880, 47.8516, 92.2680,723.1252, 2006} +, { 1, 6, 2.61255, 59.9208, 53.4411, 92.2680,722.9563, 2007} +, { 1, 7, 2.58571, 57.3900, 59.0305, 92.2680,722.7875, 2008} +, { 1, 8, 2.55780, 54.9945, 64.6200, 92.2680,722.6187, 2009} +, { 1, 9, 2.52908, 52.7314, 70.2094, 92.2680,722.4499, 2010} +, { 1, 10, 2.49976, 50.5966, 75.7989, 92.2680,722.2811, 2011} +, { 1, 11, 2.47004, 48.5849, 81.3883, 92.2680,722.1122, 2012} +, { 1, 12, 2.44010, 46.6905, 86.9778, 92.2680,721.9434, 2013} +, { 1, 13, 2.41007, 44.9072, 92.5672, 92.2680,721.7746, 2014} +, { 1, 14, 2.38007, 43.2288, 98.1567, 92.2680,721.6058, 2015} +, { 1, 15, 2.35020, 41.6487,103.7461, 92.2680,721.4369, 2016} +, { 1, 16, 2.32055, 40.1609,109.3356, 92.2680,721.2681, 2017} +, { 1, 17, 2.29119, 38.7594,114.9250, 92.2680,721.0993, 2018} +, { 1, 18, 2.26216, 37.4383,120.5145, 92.2680,720.9305, 2019} +, { 1, 19, 2.23352, 36.1923,126.1039, 92.2680,720.7617, 2020} +, { 1, 20, 2.20528, 35.0161,131.6934, 92.2680,720.5928, 2021} +, { 1, 21, 2.17749, 33.9051,137.2828, 92.2680,720.4240, 2022} +, { 1, 22, 2.79377, 77.0668, 19.9044, 86.6760,723.9693, 2023} +, { 1, 23, 2.77787, 73.6099, 25.4938, 86.6760,723.8004, 2024} +, { 1, 24, 2.75879, 70.2714, 31.0833, 86.6760,723.6316, 2025} +, { 1, 25, 2.73688, 67.0667, 36.6727, 86.6760,723.4628, 2026} +, { 1, 26, 2.71256, 64.0067, 42.2622, 86.6760,723.2940, 2027} +, { 1, 27, 2.68619, 61.0980, 47.8516, 86.6760,723.1252, 2028} +, { 1, 28, 2.65815, 58.3436, 53.4411, 86.6760,722.9563, 2029} +, { 1, 29, 2.62878, 55.7433, 59.0305, 86.6760,722.7875, 2030} +, { 1, 30, 2.59840, 53.2942, 64.6200, 86.6760,722.6187, 2031} +, { 1, 31, 2.56728, 50.9918, 70.2094, 86.6760,722.4499, 2032} +, { 1, 32, 2.53567, 48.8300, 75.7989, 86.6760,722.2811, 2033} +, { 1, 33, 2.50377, 46.8021, 81.3883, 86.6760,722.1122, 2034} +, { 1, 34, 2.47176, 44.9004, 86.9778, 86.6760,721.9434, 2035} +, { 1, 35, 2.43978, 43.1175, 92.5672, 86.6760,721.7746, 2036} +, { 1, 36, 2.40796, 41.4457, 98.1567, 86.6760,721.6058, 2037} +, { 1, 37, 2.37639, 39.8775,103.7461, 86.6760,721.4369, 2038} +, { 1, 38, 2.34515, 38.4057,109.3356, 86.6760,721.2681, 2039} +, { 1, 39, 2.31430, 37.0235,114.9250, 86.6760,721.0993, 2040} +, { 1, 40, 2.28390, 35.7243,120.5145, 86.6760,720.9305, 2041} +, { 1, 41, 2.25397, 34.5022,126.1039, 86.6760,720.7617, 2042} +, { 1, 42, 2.22455, 33.3515,131.6934, 86.6760,720.5928, 2043} +, { 1, 43, 2.19566, 32.2670,137.2828, 86.6760,720.4240, 2044} +, { 1, 44, 2.85646, 76.2079, 19.9044, 81.0840,723.9693, 2045} +, { 1, 45, 2.83847, 72.5462, 25.4938, 81.0840,723.8004, 2046} +, { 1, 46, 2.81697, 69.0259, 31.0833, 81.0840,723.6316, 2047} +, { 1, 47, 2.79242, 65.6637, 36.6727, 81.0840,723.4628, 2048} +, { 1, 48, 2.76529, 62.4708, 42.2622, 81.0840,723.2940, 2049} +, { 1, 49, 2.73604, 59.4531, 47.8516, 81.0840,723.1252, 2050} +, { 1, 50, 2.70512, 56.6118, 53.4411, 81.0840,722.9563, 2051} +, { 1, 51, 2.67292, 53.9448, 59.0305, 81.0840,722.7875, 2052} +, { 1, 52, 2.63979, 51.4469, 64.6200, 81.0840,722.6187, 2053} +, { 1, 53, 2.60604, 49.1112, 70.2094, 81.0840,722.4499, 2054} +, { 1, 54, 2.57192, 46.9295, 75.7989, 81.0840,722.2811, 2055} +, { 1, 55, 2.53766, 44.8927, 81.3883, 81.0840,722.1122, 2056} +, { 1, 56, 2.50344, 42.9915, 86.9778, 81.0840,721.9434, 2057} +, { 1, 57, 2.46939, 41.2166, 92.5672, 81.0840,721.7746, 2058} +, { 1, 58, 2.43565, 39.5590, 98.1567, 81.0840,721.6058, 2059} +, { 1, 59, 2.40229, 38.0098,103.7461, 81.0840,721.4369, 2060} +, { 1, 60, 2.36940, 36.5609,109.3356, 81.0840,721.2681, 2061} +, { 1, 61, 2.33703, 35.2044,114.9250, 81.0840,721.0993, 2062} +, { 1, 62, 2.30521, 33.9333,120.5145, 81.0840,720.9305, 2063} +, { 1, 63, 2.27398, 32.7408,126.1039, 81.0840,720.7617, 2064} +, { 1, 64, 2.24335, 31.6207,131.6934, 81.0840,720.5928, 2065} +, { 1, 65, 2.21334, 30.5676,137.2828, 81.0840,720.4240, 2066} +, { 1, 66, 2.92316, 75.2294, 19.9044, 75.4920,723.9693, 2067} +, { 1, 67, 2.90265, 71.3401, 25.4938, 75.4920,723.8004, 2068} +, { 1, 68, 2.87827, 67.6210, 31.0833, 75.4920,723.6316, 2069} +, { 1, 69, 2.85058, 64.0903, 36.6727, 75.4920,723.4628, 2070} +, { 1, 70, 2.82018, 60.7589, 42.2622, 75.4920,723.2940, 2071} +, { 1, 71, 2.78763, 57.6309, 47.8516, 75.4920,723.1252, 2072} +, { 1, 72, 2.75343, 54.7052, 53.4411, 75.4920,722.9563, 2073} +, { 1, 73, 2.71804, 51.9766, 59.0305, 75.4920,722.7875, 2074} +, { 1, 74, 2.68185, 49.4370, 64.6200, 75.4920,722.6187, 2075} +, { 1, 75, 2.64520, 47.0764, 70.2094, 75.4920,722.4499, 2076} +, { 1, 76, 2.60837, 44.8838, 75.7989, 75.4920,722.2811, 2077} +, { 1, 77, 2.57157, 42.8476, 81.3883, 75.4920,722.1122, 2078} +, { 1, 78, 2.53499, 40.9562, 86.9778, 75.4920,721.9434, 2079} +, { 1, 79, 2.49876, 39.1985, 92.5672, 75.4920,721.7746, 2080} +, { 1, 80, 2.46300, 37.5638, 98.1567, 75.4920,721.6058, 2081} +, { 1, 81, 2.42779, 36.0419,103.7461, 75.4920,721.4369, 2082} +, { 1, 82, 2.39320, 34.6236,109.3356, 75.4920,721.2681, 2083} +, { 1, 83, 2.35925, 33.3001,114.9250, 75.4920,721.0993, 2084} +, { 1, 84, 2.32600, 32.0636,120.5145, 75.4920,720.9305, 2085} +, { 1, 85, 2.29344, 30.9068,126.1039, 75.4920,720.7617, 2086} +, { 1, 86, 2.26159, 29.8231,131.6934, 75.4920,720.5928, 2087} +, { 1, 87, 2.23046, 28.8064,137.2828, 75.4920,720.4240, 2088} +, { 1, 88, 2.99436, 74.1054, 19.9044, 69.9000,723.9693, 2089} +, { 1, 89, 2.97079, 69.9622, 25.4938, 69.9000,723.8004, 2090} +, { 1, 90, 2.94293, 66.0262, 31.0833, 69.9000,723.6316, 2091} +, { 1, 91, 2.91152, 62.3165, 36.6727, 69.9000,723.4628, 2092} +, { 1, 92, 2.87729, 58.8425, 42.2622, 69.9000,723.2940, 2093} +, { 1, 93, 2.84091, 55.6055, 47.8516, 69.9000,723.1252, 2094} +, { 1, 94, 2.80297, 52.6008, 53.4411, 69.9000,722.9563, 2095} +, { 1, 95, 2.76400, 49.8189, 59.0305, 69.9000,722.7875, 2096} +, { 1, 96, 2.72443, 47.2478, 64.6200, 69.9000,722.6187, 2097} +, { 1, 97, 2.68461, 44.8735, 70.2094, 69.9000,722.4499, 2098} +, { 1, 98, 2.64483, 42.6815, 75.7989, 69.9000,722.2811, 2099} +, { 1, 99, 2.60531, 40.6575, 81.3883, 69.9000,722.1122, 2100} +, { 1,100, 2.56623, 38.7872, 86.9778, 69.9000,721.9434, 2101} +, { 1,101, 2.52771, 37.0574, 92.5672, 69.9000,721.7746, 2102} +, { 1,102, 2.48986, 35.4557, 98.1567, 69.9000,721.6058, 2103} +, { 1,103, 2.45274, 33.9705,103.7461, 69.9000,721.4369, 2104} +, { 1,104, 2.41639, 32.5914,109.3356, 69.9000,721.2681, 2105} +, { 1,105, 2.38085, 31.3089,114.9250, 69.9000,721.0993, 2106} +, { 1,106, 2.34613, 30.1143,120.5145, 69.9000,720.9305, 2107} +, { 1,107, 2.31224, 28.9998,126.1039, 69.9000,720.7617, 2108} +, { 1,108, 2.27918, 27.9584,131.6934, 69.9000,720.5928, 2109} +, { 1,109, 2.24693, 26.9837,137.2828, 69.9000,720.4240, 2110} +, { 1,110, 3.07062, 72.8019, 19.9044, 64.3080,723.9693, 2111} +, { 1,111, 3.04327, 68.3750, 25.4938, 64.3080,723.8004, 2112} +, { 1,112, 3.01119, 64.2032, 31.0833, 64.3080,723.6316, 2113} +, { 1,113, 2.97534, 60.3053, 36.6727, 64.3080,723.4628, 2114} +, { 1,114, 2.93660, 56.6877, 42.2622, 64.3080,723.2940, 2115} +, { 1,115, 2.89579, 53.3470, 47.8516, 64.3080,723.1252, 2116} +, { 1,116, 2.85360, 50.2728, 53.4411, 64.3080,722.9563, 2117} +, { 1,117, 2.81062, 47.4501, 59.0305, 64.3080,722.7875, 2118} +, { 1,118, 2.76730, 44.8614, 64.6200, 64.3080,722.6187, 2119} +, { 1,119, 2.72403, 42.4880, 70.2094, 64.3080,722.4499, 2120} +, { 1,120, 2.68108, 40.3114, 75.7989, 64.3080,722.2811, 2121} +, { 1,121, 2.63867, 38.3136, 81.3883, 64.3080,722.1122, 2122} +, { 1,122, 2.59696, 36.4778, 86.9778, 64.3080,721.9434, 2123} +, { 1,123, 2.55606, 34.7884, 92.5672, 64.3080,721.7746, 2124} +, { 1,124, 2.51604, 33.2311, 98.1567, 64.3080,721.6058, 2125} +, { 1,125, 2.47696, 31.7931,103.7461, 64.3080,721.4369, 2126} +, { 1,126, 2.43883, 30.4628,109.3356, 64.3080,721.2681, 2127} +, { 1,127, 2.40168, 29.2298,114.9250, 64.3080,721.0993, 2128} +, { 1,128, 2.36550, 28.0849,120.5145, 64.3080,720.9305, 2129} +, { 1,129, 2.33028, 27.0198,126.1039, 64.3080,720.7617, 2130} +, { 1,130, 2.29600, 26.0270,131.6934, 64.3080,720.5928, 2131} +, { 1,131, 2.26264, 25.1000,137.2828, 64.3080,720.4240, 2132} +, { 1,132, 3.15262, 71.2737, 19.9044, 58.7160,723.9693, 2133} +, { 1,133, 3.12055, 66.5301, 25.4938, 58.7160,723.8004, 2134} +, { 1,134, 3.08329, 62.1040, 31.0833, 58.7160,723.6316, 2135} +, { 1,135, 3.04208, 58.0120, 36.6727, 58.7160,723.4628, 2136} +, { 1,136, 2.99802, 54.2547, 42.2622, 58.7160,723.2940, 2137} +, { 1,137, 2.95209, 50.8211, 47.8516, 58.7160,723.1252, 2138} +, { 1,138, 2.90507, 47.6927, 53.4411, 58.7160,722.9563, 2139} +, { 1,139, 2.85760, 44.8470, 59.0305, 58.7160,722.7875, 2140} +, { 1,140, 2.81018, 42.2594, 64.6200, 58.7160,722.6187, 2141} +, { 1,141, 2.76317, 39.9057, 70.2094, 58.7160,722.4499, 2142} +, { 1,142, 2.71684, 37.7624, 75.7989, 58.7160,722.2811, 2143} +, { 1,143, 2.67138, 35.8078, 81.3883, 58.7160,722.1122, 2144} +, { 1,144, 2.62693, 34.0221, 86.9778, 58.7160,721.9434, 2145} +, { 1,145, 2.58357, 32.3872, 92.5672, 58.7160,721.7746, 2146} +, { 1,146, 2.54134, 30.8873, 98.1567, 58.7160,721.6058, 2147} +, { 1,147, 2.50027, 29.5081,103.7461, 58.7160,721.4369, 2148} +, { 1,148, 2.46036, 28.2369,109.3356, 58.7160,721.2681, 2149} +, { 1,149, 2.42159, 27.0628,114.9250, 58.7160,721.0993, 2150} +, { 1,150, 2.38396, 25.9759,120.5145, 58.7160,720.9305, 2151} +, { 1,151, 2.34742, 24.9674,126.1039, 58.7160,720.7617, 2152} +, { 1,152, 2.31195, 24.0299,131.6934, 58.7160,720.5928, 2153} +, { 1,153, 2.27752, 23.1564,137.2828, 58.7160,720.4240, 2154} +, { 1,154, 3.24112, 69.4602, 19.9044, 53.1240,723.9693, 2155} +, { 1,155, 3.20306, 64.3640, 25.4938, 53.1240,723.8004, 2156} +, { 1,156, 3.15939, 59.6678, 31.0833, 53.1240,723.6316, 2157} +, { 1,157, 3.11170, 55.3818, 36.6727, 53.1240,723.4628, 2158} +, { 1,158, 3.06136, 51.4964, 42.2622, 53.1240,723.2940, 2159} +, { 1,159, 3.00950, 47.9890, 47.8516, 53.1240,723.1252, 2160} +, { 1,160, 2.95701, 44.8295, 53.4411, 53.1240,722.9563, 2161} +, { 1,161, 2.90458, 41.9854, 59.0305, 53.1240,722.7875, 2162} +, { 1,162, 2.85268, 39.4236, 64.6200, 53.1240,722.6187, 2163} +, { 1,163, 2.80167, 37.1130, 70.2094, 53.1240,722.4499, 2164} +, { 1,164, 2.75177, 35.0249, 75.7989, 53.1240,722.2811, 2165} +, { 1,165, 2.70314, 33.1334, 81.3883, 53.1240,722.1122, 2166} +, { 1,166, 2.65587, 31.4156, 86.9778, 53.1240,721.9434, 2167} +, { 1,167, 2.61000, 29.8514, 92.5672, 53.1240,721.7746, 2168} +, { 1,168, 2.56554, 28.4230, 98.1567, 53.1240,721.6058, 2169} +, { 1,169, 2.52248, 27.1151,103.7461, 53.1240,721.4369, 2170} +, { 1,170, 2.48079, 25.9142,109.3356, 53.1240,721.2681, 2171} +, { 1,171, 2.44044, 24.8087,114.9250, 53.1240,721.0993, 2172} +, { 1,172, 2.40138, 23.7884,120.5145, 53.1240,720.9305, 2173} +, { 1,173, 2.36356, 22.8443,126.1039, 53.1240,720.7617, 2174} +, { 1,174, 2.32693, 21.9687,131.6934, 53.1240,720.5928, 2175} +, { 1,175, 2.29145, 21.1548,137.2828, 53.1240,720.4240, 2176} +, { 1,176, 3.33697, 67.2782, 19.9044, 47.5320,723.9693, 2177} +, { 1,177, 3.29123, 61.7931, 25.4938, 47.5320,723.8004, 2178} +, { 1,178, 3.23955, 56.8176, 31.0833, 47.5320,723.6316, 2179} +, { 1,179, 3.18399, 52.3485, 36.6727, 47.5320,723.4628, 2180} +, { 1,180, 3.12622, 48.3587, 42.2622, 47.5320,723.2940, 2181} +, { 1,181, 3.06756, 44.8080, 47.8516, 47.5320,723.1252, 2182} +, { 1,182, 3.00894, 41.6508, 53.4411, 47.5320,722.9563, 2183} +, { 1,183, 2.95105, 38.8414, 59.0305, 47.5320,722.7875, 2184} +, { 1,184, 2.89434, 36.3368, 64.6200, 47.5320,722.6187, 2185} +, { 1,185, 2.83909, 34.0981, 70.2094, 47.5320,722.4499, 2186} +, { 1,186, 2.78548, 32.0910, 75.7989, 47.5320,722.2811, 2187} +, { 1,187, 2.73359, 30.2856, 81.3883, 47.5320,722.1122, 2188} +, { 1,188, 2.68346, 28.6559, 86.9778, 47.5320,721.9434, 2189} +, { 1,189, 2.63507, 27.1799, 92.5672, 47.5320,721.7746, 2190} +, { 1,190, 2.58839, 25.8384, 98.1567, 47.5320,721.6058, 2191} +, { 1,191, 2.54337, 24.6152,103.7461, 47.5320,721.4369, 2192} +, { 1,192, 2.49994, 23.4963,109.3356, 47.5320,721.2681, 2193} +, { 1,193, 2.45805, 22.4696,114.9250, 47.5320,721.0993, 2194} +, { 1,194, 2.41760, 21.5247,120.5145, 47.5320,720.9305, 2195} +, { 1,195, 2.37855, 20.6528,126.1039, 47.5320,720.7617, 2196} +, { 1,196, 2.34082, 19.8460,131.6934, 47.5320,720.5928, 2197} +, { 1,197, 2.30435, 19.0976,137.2828, 47.5320,720.4240, 2198} +, { 1,198, 3.44112, 64.6114, 19.9044, 41.9400,723.9693, 2199} +, { 1,199, 3.38535, 58.7061, 25.4938, 41.9400,723.8004, 2200} +, { 1,200, 3.32359, 53.4565, 31.0833, 41.9400,723.6316, 2201} +, { 1,201, 3.25848, 48.8333, 36.6727, 41.9400,723.4628, 2202} +, { 1,202, 3.19200, 44.7808, 42.2622, 41.9400,723.2940, 2203} +, { 1,203, 3.12558, 41.2332, 47.8516, 41.9400,723.1252, 2204} +, { 1,204, 3.06017, 38.1245, 53.4411, 41.9400,722.9563, 2205} +, { 1,205, 2.99638, 35.3930, 59.0305, 41.9400,722.7875, 2206} +, { 1,206, 2.93457, 32.9846, 64.6200, 41.9400,722.6187, 2207} +, { 1,207, 2.87492, 30.8522, 70.2094, 41.9400,722.4499, 2208} +, { 1,208, 2.81751, 28.9560, 75.7989, 41.9400,722.2811, 2209} +, { 1,209, 2.76234, 27.2624, 81.3883, 41.9400,722.1122, 2210} +, { 1,210, 2.70936, 25.7430, 86.9778, 41.9400,721.9434, 2211} +, { 1,211, 2.65849, 24.3741, 92.5672, 41.9400,721.7746, 2212} +, { 1,212, 2.60964, 23.1359, 98.1567, 41.9400,721.6058, 2213} +, { 1,213, 2.56272, 22.0113,103.7461, 41.9400,721.4369, 2214} +, { 1,214, 2.51763, 20.9863,109.3356, 41.9400,721.2681, 2215} +, { 1,215, 2.47425, 20.0487,114.9250, 41.9400,721.0993, 2216} +, { 1,216, 2.43250, 19.1883,120.5145, 41.9400,720.9305, 2217} +, { 1,217, 2.39229, 18.3962,126.1039, 41.9400,720.7617, 2218} +, { 1,218, 2.35352, 17.6650,131.6934, 41.9400,720.5928, 2219} +, { 1,219, 2.31611, 16.9879,137.2828, 41.9400,720.4240, 2220} +, { 1,220, 3.55444, 61.2946, 19.9044, 36.3480,723.9693, 2221} +, { 1,221, 3.48543, 54.9549, 25.4938, 36.3480,723.8004, 2222} +, { 1,222, 3.41095, 49.4643, 31.0833, 36.3480,723.6316, 2223} +, { 1,223, 3.33429, 44.7452, 36.6727, 36.3480,723.4628, 2224} +, { 1,224, 3.25769, 40.6975, 42.2622, 36.3480,723.2940, 2225} +, { 1,225, 3.18259, 37.2202, 47.8516, 36.3480,723.1252, 2226} +, { 1,226, 3.10980, 34.2216, 53.4411, 36.3480,722.9563, 2227} +, { 1,227, 3.03977, 31.6227, 59.0305, 36.3480,722.7875, 2228} +, { 1,228, 2.97268, 29.3573, 64.6200, 36.3480,722.6187, 2229} +, { 1,229, 2.90856, 27.3710, 70.2094, 36.3480,722.4499, 2230} +, { 1,230, 2.84736, 25.6192, 75.7989, 36.3480,722.2811, 2231} +, { 1,231, 2.78895, 24.0655, 81.3883, 36.3480,722.1122, 2232} +, { 1,232, 2.73320, 22.6800, 86.9778, 36.3480,721.9434, 2233} +, { 1,233, 2.67994, 21.4382, 92.5672, 36.3480,721.7746, 2234} +, { 1,234, 2.62903, 20.3199, 98.1567, 36.3480,721.6058, 2235} +, { 1,235, 2.58031, 19.3082,103.7461, 36.3480,721.4369, 2236} +, { 1,236, 2.53364, 18.3891,109.3356, 36.3480,721.2681, 2237} +, { 1,237, 2.48889, 17.5509,114.9250, 36.3480,721.0993, 2238} +, { 1,238, 2.44592, 16.7837,120.5145, 36.3480,720.9305, 2239} +, { 1,239, 2.40463, 16.0790,126.1039, 36.3480,720.7617, 2240} +, { 1,240, 2.36490, 15.4298,131.6934, 36.3480,720.5928, 2241} +, { 1,241, 2.32664, 14.8298,137.2828, 36.3480,720.4240, 2242} +, { 1,242, 3.67753, 57.0903, 19.9044, 30.7560,723.9693, 2243} +, { 1,243, 3.59084, 50.3445, 25.4938, 30.7560,723.8004, 2244} +, { 1,244, 3.50036, 44.6968, 31.0833, 30.7560,723.6316, 2245} +, { 1,245, 3.40996, 39.9853, 36.6727, 30.7560,723.4628, 2246} +, { 1,246, 3.32187, 36.0450, 42.2622, 30.7560,723.2940, 2247} +, { 1,247, 3.23727, 32.7304, 47.8516, 30.7560,723.1252, 2248} +, { 1,248, 3.15668, 29.9210, 53.4411, 30.7560,722.9563, 2249} +, { 1,249, 3.08024, 27.5204, 59.0305, 30.7560,722.7875, 2250} +, { 1,250, 3.00785, 25.4522, 64.6200, 30.7560,722.6187, 2251} +, { 1,251, 2.93934, 23.6563, 70.2094, 30.7560,722.4499, 2252} +, { 1,252, 2.87446, 22.0852, 75.7989, 30.7560,722.2811, 2253} +, { 1,253, 2.81296, 20.7012, 81.3883, 30.7560,722.1122, 2254} +, { 1,254, 2.75459, 19.4740, 86.9778, 30.7560,721.9434, 2255} +, { 1,255, 2.69910, 18.3794, 92.5672, 30.7560,721.7746, 2256} +, { 1,256, 2.64628, 17.3976, 98.1567, 30.7560,721.6058, 2257} +, { 1,257, 2.59590, 16.5127,103.7461, 30.7560,721.4369, 2258} +, { 1,258, 2.54780, 15.7112,109.3356, 30.7560,721.2681, 2259} +, { 1,259, 2.50180, 14.9823,114.9250, 30.7560,721.0993, 2260} +, { 1,260, 2.45773, 14.3166,120.5145, 30.7560,720.9305, 2261} +, { 1,261, 2.41547, 13.7065,126.1039, 30.7560,720.7617, 2262} +, { 1,262, 2.37488, 13.1454,131.6934, 30.7560,720.5928, 2263} +, { 1,263, 2.33586, 12.6277,137.2828, 30.7560,720.4240, 2264} +, { 1,264, 3.81002, 51.6565, 19.9044, 25.1640,723.9693, 2265} +, { 1,265, 3.69973, 44.6270, 25.4938, 25.1640,723.8004, 2266} +, { 1,266, 3.58950, 38.9925, 31.0833, 25.1640,723.6316, 2267} +, { 1,267, 3.48319, 34.4570, 36.6727, 25.1640,723.4628, 2268} +, { 1,268, 3.38250, 30.7707, 42.2622, 25.1640,723.2940, 2269} +, { 1,269, 3.28794, 27.7388, 47.8516, 25.1640,723.1252, 2270} +, { 1,270, 3.19945, 25.2145, 53.4411, 25.1640,722.9563, 2271} +, { 1,271, 3.11669, 23.0880, 59.0305, 25.1640,722.7875, 2272} +, { 1,272, 3.03920, 21.2767, 64.6200, 25.1640,722.6187, 2273} +, { 1,273, 2.96654, 19.7184, 70.2094, 25.1640,722.4499, 2274} +, { 1,274, 2.89824, 18.3653, 75.7989, 25.1640,722.2811, 2275} +, { 1,275, 2.83391, 17.1808, 81.3883, 25.1640,722.1122, 2276} +, { 1,276, 2.77316, 16.1360, 86.9778, 25.1640,721.9434, 2277} +, { 1,277, 2.71566, 15.2081, 92.5672, 25.1640,721.7746, 2278} +, { 1,278, 2.66113, 14.3790, 98.1567, 25.1640,721.6058, 2279} +, { 1,279, 2.60929, 13.6340,103.7461, 25.1640,721.4369, 2280} +, { 1,280, 2.55992, 12.9611,109.3356, 25.1640,721.2681, 2281} +, { 1,281, 2.51282, 12.3506,114.9250, 25.1640,721.0993, 2282} +, { 1,282, 2.46779, 11.7942,120.5145, 25.1640,720.9305, 2283} +, { 1,283, 2.42469, 11.2851,126.1039, 25.1640,720.7617, 2284} +, { 1,284, 2.38336, 10.8177,131.6934, 25.1640,720.5928, 2285} +, { 1,285, 2.34367, 10.3870,137.2828, 25.1640,720.4240, 2286} +, { 1,286, 3.94910, 44.5176, 19.9044, 19.5720,723.9693, 2287} +, { 1,287, 3.80805, 37.5140, 25.4938, 19.5720,723.8004, 2288} +, { 1,288, 3.67443, 32.1971, 31.0833, 19.5720,723.6316, 2289} +, { 1,289, 3.55067, 28.0886, 36.6727, 19.5720,723.4628, 2290} +, { 1,290, 3.43695, 24.8493, 42.2622, 19.5720,723.2940, 2291} +, { 1,291, 3.33256, 22.2453, 47.8516, 19.5720,723.1252, 2292} +, { 1,292, 3.23653, 20.1145, 53.4411, 19.5720,722.9563, 2293} +, { 1,293, 3.14791, 18.3433, 59.0305, 19.5720,722.7875, 2294} +, { 1,294, 3.06580, 16.8504, 64.6200, 19.5720,722.6187, 2295} +, { 1,295, 2.98943, 15.5767, 70.2094, 19.5720,722.4499, 2296} +, { 1,296, 2.91813, 14.4781, 75.7989, 19.5720,722.2811, 2297} +, { 1,297, 2.85133, 13.5216, 81.3883, 19.5720,722.1122, 2298} +, { 1,298, 2.78853, 12.6816, 86.9778, 19.5720,721.9434, 2299} +, { 1,299, 2.72933, 11.9385, 92.5672, 19.5720,721.7746, 2300} +, { 1,300, 2.67334, 11.2766, 98.1567, 19.5720,721.6058, 2301} +, { 1,301, 2.62027, 10.6835,103.7461, 19.5720,721.4369, 2302} +, { 1,302, 2.56984, 10.1489,109.3356, 19.5720,721.2681, 2303} +, { 1,303, 2.52182, 9.6649,114.9250, 19.5720,721.0993, 2304} +, { 1,304, 2.47600, 9.2245,120.5145, 19.5720,720.9305, 2305} +, { 1,305, 2.43219, 8.8222,126.1039, 19.5720,720.7617, 2306} +, { 1,306, 2.39025, 8.4533,131.6934, 19.5720,720.5928, 2307} +, { 1,307, 2.35002, 8.1138,137.2828, 19.5720,720.4240, 2308} +, { 1,308, 4.08674, 35.0826, 19.9044, 13.9800,723.9693, 2309} +, { 1,309, 3.90818, 28.7390, 25.4938, 13.9800,723.8004, 2310} +, { 1,310, 3.74920, 24.2163, 31.0833, 13.9800,723.6316, 2311} +, { 1,311, 3.60806, 20.8673, 36.6727, 13.9800,723.4628, 2312} +, { 1,312, 3.48210, 18.3038, 42.2622, 13.9800,723.2940, 2313} +, { 1,313, 3.36886, 16.2859, 47.8516, 13.9800,723.1252, 2314} +, { 1,314, 3.26628, 14.6599, 53.4411, 13.9800,722.9563, 2315} +, { 1,315, 3.17268, 13.3237, 59.0305, 13.9800,722.7875, 2316} +, { 1,316, 3.08672, 12.2073, 64.6200, 13.9800,722.6187, 2317} +, { 1,317, 3.00732, 11.2614, 70.2094, 13.9800,722.4499, 2318} +, { 1,318, 2.93359, 10.4499, 75.7989, 13.9800,722.2811, 2319} +, { 1,319, 2.86481, 9.7465, 81.3883, 13.9800,722.1122, 2320} +, { 1,320, 2.80039, 9.1311, 86.9778, 13.9800,721.9434, 2321} +, { 1,321, 2.73983, 8.5882, 92.5672, 13.9800,721.7746, 2322} +, { 1,322, 2.68271, 8.1059, 98.1567, 13.9800,721.6058, 2323} +, { 1,323, 2.62867, 7.6745,103.7461, 13.9800,721.4369, 2324} +, { 1,324, 2.57742, 7.2865,109.3356, 13.9800,721.2681, 2325} +, { 1,325, 2.52868, 6.9356,114.9250, 13.9800,721.0993, 2326} +, { 1,326, 2.48224, 6.6169,120.5145, 13.9800,720.9305, 2327} +, { 1,327, 2.43790, 6.3260,126.1039, 13.9800,720.7617, 2328} +, { 1,328, 2.39548, 6.0596,131.6934, 13.9800,720.5928, 2329} +, { 1,329, 2.35483, 5.8146,137.2828, 13.9800,720.4240, 2330} +, { 1,330, 4.20544, 22.8513, 19.9044, 8.3880,723.9693, 2331} +, { 1,331, 3.98818, 18.2123, 25.4938, 8.3880,723.8004, 2332} +, { 1,332, 3.80611, 15.1019, 31.0833, 8.3880,723.6316, 2333} +, { 1,333, 3.65034, 12.8834, 36.6727, 8.3880,723.4628, 2334} +, { 1,334, 3.51464, 11.2259, 42.2622, 8.3880,723.2940, 2335} +, { 1,335, 3.39462, 9.9425, 47.8516, 8.3880,723.1252, 2336} +, { 1,336, 3.28714, 8.9202, 53.4411, 8.3880,722.9563, 2337} +, { 1,337, 3.18991, 8.0874, 59.0305, 8.3880,722.7875, 2338} +, { 1,338, 3.10118, 7.3959, 64.6200, 8.3880,722.6187, 2339} +, { 1,339, 3.01961, 6.8129, 70.2094, 8.3880,722.4499, 2340} +, { 1,340, 2.94417, 6.3147, 75.7989, 8.3880,722.2811, 2341} +, { 1,341, 2.87401, 5.8842, 81.3883, 8.3880,722.1122, 2342} +, { 1,342, 2.80846, 5.5085, 86.9778, 8.3880,721.9434, 2343} +, { 1,343, 2.74696, 5.1777, 92.5672, 8.3880,721.7746, 2344} +, { 1,344, 2.68905, 4.8844, 98.1567, 8.3880,721.6058, 2345} +, { 1,345, 2.63435, 4.6224,103.7461, 8.3880,721.4369, 2346} +, { 1,346, 2.58253, 4.3870,109.3356, 8.3880,721.2681, 2347} +, { 1,347, 2.53331, 4.1744,114.9250, 8.3880,721.0993, 2348} +, { 1,348, 2.48645, 3.9815,120.5145, 8.3880,720.9305, 2349} +, { 1,349, 2.44174, 3.8055,126.1039, 8.3880,720.7617, 2350} +, { 1,350, 2.39900, 3.6444,131.6934, 8.3880,720.5928, 2351} +, { 1,351, 2.35807, 3.4964,137.2828, 8.3880,720.4240, 2352} +, { 1,352, 4.27738, 7.9961, 19.9044, 2.7960,723.9693, 2353} +, { 1,353, 4.03356, 6.2588, 25.4938, 2.7960,723.8004, 2354} +, { 1,354, 3.83720, 5.1400, 31.0833, 2.7960,723.6316, 2355} +, { 1,355, 3.67291, 4.3599, 36.6727, 2.7960,723.4628, 2356} +, { 1,356, 3.53174, 3.7851, 42.2622, 2.7960,723.2940, 2357} +, { 1,357, 3.40802, 3.3440, 47.8516, 2.7960,723.1252, 2358} +, { 1,358, 3.29792, 2.9949, 53.4411, 2.7960,722.9563, 2359} +, { 1,359, 3.19875, 2.7118, 59.0305, 2.7960,722.7875, 2360} +, { 1,360, 3.10857, 2.4776, 64.6200, 2.7960,722.6187, 2361} +, { 1,361, 3.02588, 2.2805, 70.2094, 2.7960,722.4499, 2362} +, { 1,362, 2.94954, 2.1125, 75.7989, 2.7960,722.2811, 2363} +, { 1,363, 2.87867, 1.9676, 81.3883, 2.7960,722.1122, 2364} +, { 1,364, 2.81254, 1.8412, 86.9778, 2.7960,721.9434, 2365} +, { 1,365, 2.75056, 1.7301, 92.5672, 2.7960,721.7746, 2366} +, { 1,366, 2.69225, 1.6316, 98.1567, 2.7960,721.6058, 2367} +, { 1,367, 2.63722, 1.5438,103.7461, 2.7960,721.4369, 2368} +, { 1,368, 2.58511, 1.4649,109.3356, 2.7960,721.2681, 2369} +, { 1,369, 2.53564, 1.3937,114.9250, 2.7960,721.0993, 2370} +, { 1,370, 2.48857, 1.3291,120.5145, 2.7960,720.9305, 2371} +, { 1,371, 2.44367, 1.2702,126.1039, 2.7960,720.7617, 2372} +, { 1,372, 2.40077, 1.2163,131.6934, 2.7960,720.5928, 2373} +, { 1,373, 2.35970, 1.1668,137.2828, 2.7960,720.4240, 2374} +, { 1,374, 4.27738, -7.9961, 19.9044, -2.7960,723.9693, 2375} +, { 1,375, 4.03356, -6.2588, 25.4938, -2.7960,723.8004, 2376} +, { 1,376, 3.83720, -5.1400, 31.0833, -2.7960,723.6316, 2377} +, { 1,377, 3.67291, -4.3599, 36.6727, -2.7960,723.4628, 2378} +, { 1,378, 3.53174, -3.7851, 42.2622, -2.7960,723.2940, 2379} +, { 1,379, 3.40802, -3.3440, 47.8516, -2.7960,723.1252, 2380} +, { 1,380, 3.29792, -2.9949, 53.4411, -2.7960,722.9563, 2381} +, { 1,381, 3.19875, -2.7118, 59.0305, -2.7960,722.7875, 2382} +, { 1,382, 3.10857, -2.4775, 64.6200, -2.7960,722.6187, 2383} +, { 1,383, 3.02588, -2.2805, 70.2094, -2.7960,722.4499, 2384} +, { 1,384, 2.94954, -2.1125, 75.7989, -2.7960,722.2811, 2385} +, { 1,385, 2.87867, -1.9676, 81.3883, -2.7960,722.1122, 2386} +, { 1,386, 2.81254, -1.8412, 86.9778, -2.7960,721.9434, 2387} +, { 1,387, 2.75056, -1.7301, 92.5672, -2.7960,721.7746, 2388} +, { 1,388, 2.69225, -1.6316, 98.1567, -2.7960,721.6058, 2389} +, { 1,389, 2.63722, -1.5438,103.7461, -2.7960,721.4369, 2390} +, { 1,390, 2.58511, -1.4649,109.3356, -2.7960,721.2681, 2391} +, { 1,391, 2.53564, -1.3937,114.9250, -2.7960,721.0993, 2392} +, { 1,392, 2.48857, -1.3291,120.5145, -2.7960,720.9305, 2393} +, { 1,393, 2.44367, -1.2702,126.1039, -2.7960,720.7617, 2394} +, { 1,394, 2.40077, -1.2163,131.6934, -2.7960,720.5928, 2395} +, { 1,395, 2.35970, -1.1668,137.2828, -2.7960,720.4240, 2396} +, { 1,396, 4.20544,-22.8513, 19.9044, -8.3880,723.9693, 2397} +, { 1,397, 3.98818,-18.2123, 25.4938, -8.3880,723.8004, 2398} +, { 1,398, 3.80611,-15.1019, 31.0833, -8.3880,723.6316, 2399} +, { 1,399, 3.65034,-12.8834, 36.6727, -8.3880,723.4628, 2400} +, { 1,400, 3.51464,-11.2259, 42.2622, -8.3880,723.2940, 2401} +, { 1,401, 3.39462, -9.9425, 47.8516, -8.3880,723.1252, 2402} +, { 1,402, 3.28714, -8.9203, 53.4411, -8.3880,722.9563, 2403} +, { 1,403, 3.18991, -8.0874, 59.0305, -8.3880,722.7875, 2404} +, { 1,404, 3.10118, -7.3959, 64.6200, -8.3880,722.6187, 2405} +, { 1,405, 3.01961, -6.8129, 70.2094, -8.3880,722.4499, 2406} +, { 1,406, 2.94417, -6.3147, 75.7989, -8.3880,722.2811, 2407} +, { 1,407, 2.87401, -5.8842, 81.3883, -8.3880,722.1122, 2408} +, { 1,408, 2.80846, -5.5085, 86.9778, -8.3880,721.9434, 2409} +, { 1,409, 2.74696, -5.1777, 92.5672, -8.3880,721.7746, 2410} +, { 1,410, 2.68905, -4.8844, 98.1567, -8.3880,721.6058, 2411} +, { 1,411, 2.63435, -4.6224,103.7461, -8.3880,721.4369, 2412} +, { 1,412, 2.58253, -4.3870,109.3356, -8.3880,721.2681, 2413} +, { 1,413, 2.53331, -4.1744,114.9250, -8.3880,721.0993, 2414} +, { 1,414, 2.48645, -3.9815,120.5145, -8.3880,720.9305, 2415} +, { 1,415, 2.44174, -3.8055,126.1039, -8.3880,720.7617, 2416} +, { 1,416, 2.39900, -3.6444,131.6934, -8.3880,720.5928, 2417} +, { 1,417, 2.35807, -3.4964,137.2828, -8.3880,720.4240, 2418} +, { 1,418, 4.08674,-35.0826, 19.9044,-13.9800,723.9693, 2419} +, { 1,419, 3.90818,-28.7390, 25.4938,-13.9800,723.8004, 2420} +, { 1,420, 3.74920,-24.2163, 31.0833,-13.9800,723.6316, 2421} +, { 1,421, 3.60806,-20.8673, 36.6727,-13.9800,723.4628, 2422} +, { 1,422, 3.48210,-18.3038, 42.2622,-13.9800,723.2940, 2423} +, { 1,423, 3.36886,-16.2859, 47.8516,-13.9800,723.1252, 2424} +, { 1,424, 3.26628,-14.6599, 53.4411,-13.9800,722.9563, 2425} +, { 1,425, 3.17268,-13.3237, 59.0305,-13.9800,722.7875, 2426} +, { 1,426, 3.08672,-12.2073, 64.6200,-13.9800,722.6187, 2427} +, { 1,427, 3.00732,-11.2614, 70.2094,-13.9800,722.4499, 2428} +, { 1,428, 2.93359,-10.4499, 75.7989,-13.9800,722.2811, 2429} +, { 1,429, 2.86481, -9.7465, 81.3883,-13.9800,722.1122, 2430} +, { 1,430, 2.80039, -9.1311, 86.9778,-13.9800,721.9434, 2431} +, { 1,431, 2.73983, -8.5882, 92.5672,-13.9800,721.7746, 2432} +, { 1,432, 2.68271, -8.1059, 98.1567,-13.9800,721.6058, 2433} +, { 1,433, 2.62867, -7.6745,103.7461,-13.9800,721.4369, 2434} +, { 1,434, 2.57742, -7.2865,109.3356,-13.9800,721.2681, 2435} +, { 1,435, 2.52868, -6.9356,114.9250,-13.9800,721.0993, 2436} +, { 1,436, 2.48224, -6.6169,120.5145,-13.9800,720.9305, 2437} +, { 1,437, 2.43790, -6.3260,126.1039,-13.9800,720.7617, 2438} +, { 1,438, 2.39548, -6.0596,131.6934,-13.9800,720.5928, 2439} +, { 1,439, 2.35483, -5.8146,137.2828,-13.9800,720.4240, 2440} +, { 1,440, 3.94910,-44.5176, 19.9044,-19.5720,723.9693, 2441} +, { 1,441, 3.80805,-37.5140, 25.4938,-19.5720,723.8004, 2442} +, { 1,442, 3.67443,-32.1971, 31.0833,-19.5720,723.6316, 2443} +, { 1,443, 3.55067,-28.0886, 36.6727,-19.5720,723.4628, 2444} +, { 1,444, 3.43695,-24.8493, 42.2622,-19.5720,723.2940, 2445} +, { 1,445, 3.33256,-22.2453, 47.8516,-19.5720,723.1252, 2446} +, { 1,446, 3.23653,-20.1145, 53.4411,-19.5720,722.9563, 2447} +, { 1,447, 3.14791,-18.3433, 59.0305,-19.5720,722.7875, 2448} +, { 1,448, 3.06580,-16.8504, 64.6200,-19.5720,722.6187, 2449} +, { 1,449, 2.98943,-15.5767, 70.2094,-19.5720,722.4499, 2450} +, { 1,450, 2.91813,-14.4781, 75.7989,-19.5720,722.2811, 2451} +, { 1,451, 2.85133,-13.5216, 81.3883,-19.5720,722.1122, 2452} +, { 1,452, 2.78853,-12.6816, 86.9778,-19.5720,721.9434, 2453} +, { 1,453, 2.72933,-11.9385, 92.5672,-19.5720,721.7746, 2454} +, { 1,454, 2.67334,-11.2766, 98.1567,-19.5720,721.6058, 2455} +, { 1,455, 2.62027,-10.6835,103.7461,-19.5720,721.4369, 2456} +, { 1,456, 2.56984,-10.1489,109.3356,-19.5720,721.2681, 2457} +, { 1,457, 2.52182, -9.6649,114.9250,-19.5720,721.0993, 2458} +, { 1,458, 2.47600, -9.2245,120.5145,-19.5720,720.9305, 2459} +, { 1,459, 2.43219, -8.8222,126.1039,-19.5720,720.7617, 2460} +, { 1,460, 2.39025, -8.4533,131.6934,-19.5720,720.5928, 2461} +, { 1,461, 2.35002, -8.1138,137.2828,-19.5720,720.4240, 2462} +, { 1,462, 3.81002,-51.6565, 19.9044,-25.1640,723.9693, 2463} +, { 1,463, 3.69973,-44.6270, 25.4938,-25.1640,723.8004, 2464} +, { 1,464, 3.58950,-38.9925, 31.0833,-25.1640,723.6316, 2465} +, { 1,465, 3.48319,-34.4570, 36.6727,-25.1640,723.4628, 2466} +, { 1,466, 3.38250,-30.7707, 42.2622,-25.1640,723.2940, 2467} +, { 1,467, 3.28794,-27.7388, 47.8516,-25.1640,723.1252, 2468} +, { 1,468, 3.19945,-25.2145, 53.4411,-25.1640,722.9563, 2469} +, { 1,469, 3.11669,-23.0880, 59.0305,-25.1640,722.7875, 2470} +, { 1,470, 3.03920,-21.2767, 64.6200,-25.1640,722.6187, 2471} +, { 1,471, 2.96654,-19.7184, 70.2094,-25.1640,722.4499, 2472} +, { 1,472, 2.89824,-18.3653, 75.7989,-25.1640,722.2811, 2473} +, { 1,473, 2.83391,-17.1808, 81.3883,-25.1640,722.1122, 2474} +, { 1,474, 2.77316,-16.1360, 86.9778,-25.1640,721.9434, 2475} +, { 1,475, 2.71566,-15.2081, 92.5672,-25.1640,721.7746, 2476} +, { 1,476, 2.66113,-14.3790, 98.1567,-25.1640,721.6058, 2477} +, { 1,477, 2.60929,-13.6340,103.7461,-25.1640,721.4369, 2478} +, { 1,478, 2.55992,-12.9611,109.3356,-25.1640,721.2681, 2479} +, { 1,479, 2.51282,-12.3506,114.9250,-25.1640,721.0993, 2480} +, { 1,480, 2.46779,-11.7942,120.5145,-25.1640,720.9305, 2481} +, { 1,481, 2.42469,-11.2851,126.1039,-25.1640,720.7617, 2482} +, { 1,482, 2.38336,-10.8177,131.6934,-25.1640,720.5928, 2483} +, { 1,483, 2.34367,-10.3870,137.2828,-25.1640,720.4240, 2484} +, { 1,484, 3.67753,-57.0903, 19.9044,-30.7560,723.9693, 2485} +, { 1,485, 3.59084,-50.3445, 25.4938,-30.7560,723.8004, 2486} +, { 1,486, 3.50036,-44.6968, 31.0833,-30.7560,723.6316, 2487} +, { 1,487, 3.40996,-39.9853, 36.6727,-30.7560,723.4628, 2488} +, { 1,488, 3.32187,-36.0450, 42.2622,-30.7560,723.2940, 2489} +, { 1,489, 3.23727,-32.7304, 47.8516,-30.7560,723.1252, 2490} +, { 1,490, 3.15668,-29.9210, 53.4411,-30.7560,722.9563, 2491} +, { 1,491, 3.08024,-27.5204, 59.0305,-30.7560,722.7875, 2492} +, { 1,492, 3.00785,-25.4522, 64.6200,-30.7560,722.6187, 2493} +, { 1,493, 2.93934,-23.6563, 70.2094,-30.7560,722.4499, 2494} +, { 1,494, 2.87446,-22.0852, 75.7989,-30.7560,722.2811, 2495} +, { 1,495, 2.81296,-20.7012, 81.3883,-30.7560,722.1122, 2496} +, { 1,496, 2.75459,-19.4740, 86.9778,-30.7560,721.9434, 2497} +, { 1,497, 2.69910,-18.3794, 92.5672,-30.7560,721.7746, 2498} +, { 1,498, 2.64628,-17.3976, 98.1567,-30.7560,721.6058, 2499} +, { 1,499, 2.59590,-16.5127,103.7461,-30.7560,721.4369, 2500} +, { 1,500, 2.54780,-15.7112,109.3356,-30.7560,721.2681, 2501} +, { 1,501, 2.50180,-14.9823,114.9250,-30.7560,721.0993, 2502} +, { 1,502, 2.45773,-14.3166,120.5145,-30.7560,720.9305, 2503} +, { 1,503, 2.41547,-13.7065,126.1039,-30.7560,720.7617, 2504} +, { 1,504, 2.37488,-13.1454,131.6934,-30.7560,720.5928, 2505} +, { 1,505, 2.33586,-12.6277,137.2828,-30.7560,720.4240, 2506} +, { 1,506, 3.55444,-61.2947, 19.9044,-36.3480,723.9693, 2507} +, { 1,507, 3.48543,-54.9549, 25.4938,-36.3480,723.8004, 2508} +, { 1,508, 3.41095,-49.4643, 31.0833,-36.3480,723.6316, 2509} +, { 1,509, 3.33429,-44.7452, 36.6727,-36.3480,723.4628, 2510} +, { 1,510, 3.25769,-40.6975, 42.2622,-36.3480,723.2940, 2511} +, { 1,511, 3.18259,-37.2202, 47.8516,-36.3480,723.1252, 2512} +, { 1,512, 3.10980,-34.2216, 53.4411,-36.3480,722.9563, 2513} +, { 1,513, 3.03977,-31.6227, 59.0305,-36.3480,722.7875, 2514} +, { 1,514, 2.97268,-29.3573, 64.6200,-36.3480,722.6187, 2515} +, { 1,515, 2.90856,-27.3710, 70.2094,-36.3480,722.4499, 2516} +, { 1,516, 2.84736,-25.6192, 75.7989,-36.3480,722.2811, 2517} +, { 1,517, 2.78895,-24.0655, 81.3883,-36.3480,722.1122, 2518} +, { 1,518, 2.73320,-22.6800, 86.9778,-36.3480,721.9434, 2519} +, { 1,519, 2.67994,-21.4382, 92.5672,-36.3480,721.7746, 2520} +, { 1,520, 2.62903,-20.3199, 98.1567,-36.3480,721.6058, 2521} +, { 1,521, 2.58031,-19.3082,103.7461,-36.3480,721.4369, 2522} +, { 1,522, 2.53364,-18.3891,109.3356,-36.3480,721.2681, 2523} +, { 1,523, 2.48889,-17.5509,114.9250,-36.3480,721.0993, 2524} +, { 1,524, 2.44592,-16.7837,120.5145,-36.3480,720.9305, 2525} +, { 1,525, 2.40463,-16.0790,126.1039,-36.3480,720.7617, 2526} +, { 1,526, 2.36490,-15.4298,131.6934,-36.3480,720.5928, 2527} +, { 1,527, 2.32664,-14.8298,137.2828,-36.3480,720.4240, 2528} +, { 1,528, 3.44112,-64.6114, 19.9044,-41.9400,723.9693, 2529} +, { 1,529, 3.38535,-58.7061, 25.4938,-41.9400,723.8004, 2530} +, { 1,530, 3.32359,-53.4565, 31.0833,-41.9400,723.6316, 2531} +, { 1,531, 3.25848,-48.8333, 36.6727,-41.9400,723.4628, 2532} +, { 1,532, 3.19200,-44.7808, 42.2622,-41.9400,723.2940, 2533} +, { 1,533, 3.12558,-41.2332, 47.8516,-41.9400,723.1252, 2534} +, { 1,534, 3.06017,-38.1245, 53.4411,-41.9400,722.9563, 2535} +, { 1,535, 2.99638,-35.3930, 59.0305,-41.9400,722.7875, 2536} +, { 1,536, 2.93457,-32.9846, 64.6200,-41.9400,722.6187, 2537} +, { 1,537, 2.87492,-30.8522, 70.2094,-41.9400,722.4499, 2538} +, { 1,538, 2.81751,-28.9560, 75.7989,-41.9400,722.2811, 2539} +, { 1,539, 2.76234,-27.2624, 81.3883,-41.9400,722.1122, 2540} +, { 1,540, 2.70936,-25.7430, 86.9778,-41.9400,721.9434, 2541} +, { 1,541, 2.65849,-24.3741, 92.5672,-41.9400,721.7746, 2542} +, { 1,542, 2.60964,-23.1359, 98.1567,-41.9400,721.6058, 2543} +, { 1,543, 2.56272,-22.0113,103.7461,-41.9400,721.4369, 2544} +, { 1,544, 2.51763,-20.9863,109.3356,-41.9400,721.2681, 2545} +, { 1,545, 2.47425,-20.0487,114.9250,-41.9400,721.0993, 2546} +, { 1,546, 2.43250,-19.1883,120.5145,-41.9400,720.9305, 2547} +, { 1,547, 2.39229,-18.3962,126.1039,-41.9400,720.7617, 2548} +, { 1,548, 2.35352,-17.6650,131.6934,-41.9400,720.5928, 2549} +, { 1,549, 2.31611,-16.9879,137.2828,-41.9400,720.4240, 2550} +, { 1,550, 3.33697,-67.2782, 19.9044,-47.5320,723.9693, 2551} +, { 1,551, 3.29123,-61.7931, 25.4938,-47.5320,723.8004, 2552} +, { 1,552, 3.23955,-56.8176, 31.0833,-47.5320,723.6316, 2553} +, { 1,553, 3.18399,-52.3485, 36.6727,-47.5320,723.4628, 2554} +, { 1,554, 3.12623,-48.3587, 42.2622,-47.5320,723.2940, 2555} +, { 1,555, 3.06756,-44.8080, 47.8516,-47.5320,723.1252, 2556} +, { 1,556, 3.00894,-41.6508, 53.4411,-47.5320,722.9563, 2557} +, { 1,557, 2.95105,-38.8414, 59.0305,-47.5320,722.7875, 2558} +, { 1,558, 2.89434,-36.3368, 64.6200,-47.5320,722.6187, 2559} +, { 1,559, 2.83909,-34.0981, 70.2094,-47.5320,722.4499, 2560} +, { 1,560, 2.78548,-32.0910, 75.7989,-47.5320,722.2811, 2561} +, { 1,561, 2.73359,-30.2856, 81.3883,-47.5320,722.1122, 2562} +, { 1,562, 2.68346,-28.6559, 86.9778,-47.5320,721.9434, 2563} +, { 1,563, 2.63507,-27.1799, 92.5672,-47.5320,721.7746, 2564} +, { 1,564, 2.58839,-25.8384, 98.1567,-47.5320,721.6058, 2565} +, { 1,565, 2.54337,-24.6152,103.7461,-47.5320,721.4369, 2566} +, { 1,566, 2.49994,-23.4963,109.3356,-47.5320,721.2681, 2567} +, { 1,567, 2.45805,-22.4696,114.9250,-47.5320,721.0993, 2568} +, { 1,568, 2.41760,-21.5247,120.5145,-47.5320,720.9305, 2569} +, { 1,569, 2.37855,-20.6528,126.1039,-47.5320,720.7617, 2570} +, { 1,570, 2.34082,-19.8460,131.6934,-47.5320,720.5928, 2571} +, { 1,571, 2.30435,-19.0976,137.2828,-47.5320,720.4240, 2572} +, { 1,572, 3.24112,-69.4602, 19.9044,-53.1240,723.9693, 2573} +, { 1,573, 3.20306,-64.3640, 25.4938,-53.1240,723.8004, 2574} +, { 1,574, 3.15939,-59.6678, 31.0833,-53.1240,723.6316, 2575} +, { 1,575, 3.11170,-55.3818, 36.6727,-53.1240,723.4628, 2576} +, { 1,576, 3.06136,-51.4964, 42.2622,-53.1240,723.2940, 2577} +, { 1,577, 3.00950,-47.9890, 47.8516,-53.1240,723.1252, 2578} +, { 1,578, 2.95701,-44.8295, 53.4411,-53.1240,722.9563, 2579} +, { 1,579, 2.90458,-41.9854, 59.0305,-53.1240,722.7875, 2580} +, { 1,580, 2.85268,-39.4236, 64.6200,-53.1240,722.6187, 2581} +, { 1,581, 2.80167,-37.1130, 70.2094,-53.1240,722.4499, 2582} +, { 1,582, 2.75177,-35.0249, 75.7989,-53.1240,722.2811, 2583} +, { 1,583, 2.70314,-33.1334, 81.3883,-53.1240,722.1122, 2584} +, { 1,584, 2.65587,-31.4156, 86.9778,-53.1240,721.9434, 2585} +, { 1,585, 2.61000,-29.8514, 92.5672,-53.1240,721.7746, 2586} +, { 1,586, 2.56554,-28.4230, 98.1567,-53.1240,721.6058, 2587} +, { 1,587, 2.52248,-27.1151,103.7461,-53.1240,721.4369, 2588} +, { 1,588, 2.48079,-25.9142,109.3356,-53.1240,721.2681, 2589} +, { 1,589, 2.44044,-24.8087,114.9250,-53.1240,721.0993, 2590} +, { 1,590, 2.40138,-23.7884,120.5145,-53.1240,720.9305, 2591} +, { 1,591, 2.36356,-22.8443,126.1039,-53.1240,720.7617, 2592} +, { 1,592, 2.32693,-21.9687,131.6934,-53.1240,720.5928, 2593} +, { 1,593, 2.29145,-21.1548,137.2828,-53.1240,720.4240, 2594} +, { 1,594, 3.15262,-71.2737, 19.9044,-58.7160,723.9693, 2595} +, { 1,595, 3.12055,-66.5301, 25.4938,-58.7160,723.8004, 2596} +, { 1,596, 3.08329,-62.1040, 31.0833,-58.7160,723.6316, 2597} +, { 1,597, 3.04208,-58.0120, 36.6727,-58.7160,723.4628, 2598} +, { 1,598, 2.99802,-54.2547, 42.2622,-58.7160,723.2940, 2599} +, { 1,599, 2.95209,-50.8211, 47.8516,-58.7160,723.1252, 2600} +, { 1,600, 2.90507,-47.6927, 53.4411,-58.7160,722.9563, 2601} +, { 1,601, 2.85760,-44.8470, 59.0305,-58.7160,722.7875, 2602} +, { 1,602, 2.81018,-42.2594, 64.6200,-58.7160,722.6187, 2603} +, { 1,603, 2.76317,-39.9057, 70.2094,-58.7160,722.4499, 2604} +, { 1,604, 2.71684,-37.7624, 75.7989,-58.7160,722.2811, 2605} +, { 1,605, 2.67138,-35.8078, 81.3883,-58.7160,722.1122, 2606} +, { 1,606, 2.62693,-34.0221, 86.9778,-58.7160,721.9434, 2607} +, { 1,607, 2.58357,-32.3872, 92.5672,-58.7160,721.7746, 2608} +, { 1,608, 2.54134,-30.8873, 98.1567,-58.7160,721.6058, 2609} +, { 1,609, 2.50027,-29.5081,103.7461,-58.7160,721.4369, 2610} +, { 1,610, 2.46036,-28.2369,109.3356,-58.7160,721.2681, 2611} +, { 1,611, 2.42159,-27.0628,114.9250,-58.7160,721.0993, 2612} +, { 1,612, 2.38396,-25.9759,120.5145,-58.7160,720.9305, 2613} +, { 1,613, 2.34742,-24.9674,126.1039,-58.7160,720.7617, 2614} +, { 1,614, 2.31195,-24.0299,131.6934,-58.7160,720.5928, 2615} +, { 1,615, 2.27752,-23.1564,137.2828,-58.7160,720.4240, 2616} +, { 1,616, 3.07062,-72.8019, 19.9044,-64.3080,723.9693, 2617} +, { 1,617, 3.04327,-68.3750, 25.4938,-64.3080,723.8004, 2618} +, { 1,618, 3.01119,-64.2032, 31.0833,-64.3080,723.6316, 2619} +, { 1,619, 2.97534,-60.3053, 36.6727,-64.3080,723.4628, 2620} +, { 1,620, 2.93660,-56.6877, 42.2622,-64.3080,723.2940, 2621} +, { 1,621, 2.89579,-53.3470, 47.8516,-64.3080,723.1252, 2622} +, { 1,622, 2.85360,-50.2728, 53.4411,-64.3080,722.9563, 2623} +, { 1,623, 2.81062,-47.4501, 59.0305,-64.3080,722.7875, 2624} +, { 1,624, 2.76730,-44.8614, 64.6200,-64.3080,722.6187, 2625} +, { 1,625, 2.72403,-42.4880, 70.2094,-64.3080,722.4499, 2626} +, { 1,626, 2.68108,-40.3114, 75.7989,-64.3080,722.2811, 2627} +, { 1,627, 2.63867,-38.3136, 81.3883,-64.3080,722.1122, 2628} +, { 1,628, 2.59696,-36.4778, 86.9778,-64.3080,721.9434, 2629} +, { 1,629, 2.55606,-34.7884, 92.5672,-64.3080,721.7746, 2630} +, { 1,630, 2.51604,-33.2311, 98.1567,-64.3080,721.6058, 2631} +, { 1,631, 2.47696,-31.7931,103.7461,-64.3080,721.4369, 2632} +, { 1,632, 2.43883,-30.4628,109.3356,-64.3080,721.2681, 2633} +, { 1,633, 2.40168,-29.2298,114.9250,-64.3080,721.0993, 2634} +, { 1,634, 2.36550,-28.0849,120.5145,-64.3080,720.9305, 2635} +, { 1,635, 2.33028,-27.0198,126.1039,-64.3080,720.7617, 2636} +, { 1,636, 2.29600,-26.0270,131.6934,-64.3080,720.5928, 2637} +, { 1,637, 2.26264,-25.1000,137.2828,-64.3080,720.4240, 2638} +, { 1,638, 2.99436,-74.1054, 19.9044,-69.9000,723.9693, 2639} +, { 1,639, 2.97079,-69.9622, 25.4938,-69.9000,723.8004, 2640} +, { 1,640, 2.94293,-66.0262, 31.0833,-69.9000,723.6316, 2641} +, { 1,641, 2.91152,-62.3165, 36.6727,-69.9000,723.4628, 2642} +, { 1,642, 2.87729,-58.8425, 42.2622,-69.9000,723.2940, 2643} +, { 1,643, 2.84091,-55.6055, 47.8516,-69.9000,723.1252, 2644} +, { 1,644, 2.80297,-52.6008, 53.4411,-69.9000,722.9563, 2645} +, { 1,645, 2.76400,-49.8189, 59.0305,-69.9000,722.7875, 2646} +, { 1,646, 2.72443,-47.2478, 64.6200,-69.9000,722.6187, 2647} +, { 1,647, 2.68461,-44.8735, 70.2094,-69.9000,722.4499, 2648} +, { 1,648, 2.64483,-42.6815, 75.7989,-69.9000,722.2811, 2649} +, { 1,649, 2.60531,-40.6575, 81.3883,-69.9000,722.1122, 2650} +, { 1,650, 2.56623,-38.7872, 86.9778,-69.9000,721.9434, 2651} +, { 1,651, 2.52771,-37.0574, 92.5672,-69.9000,721.7746, 2652} +, { 1,652, 2.48986,-35.4557, 98.1567,-69.9000,721.6058, 2653} +, { 1,653, 2.45274,-33.9705,103.7461,-69.9000,721.4369, 2654} +, { 1,654, 2.41639,-32.5914,109.3356,-69.9000,721.2681, 2655} +, { 1,655, 2.38085,-31.3089,114.9250,-69.9000,721.0993, 2656} +, { 1,656, 2.34613,-30.1143,120.5145,-69.9000,720.9305, 2657} +, { 1,657, 2.31224,-28.9998,126.1039,-69.9000,720.7617, 2658} +, { 1,658, 2.27918,-27.9584,131.6934,-69.9000,720.5928, 2659} +, { 1,659, 2.24693,-26.9837,137.2828,-69.9000,720.4240, 2660} +, { 1,660, 2.92316,-75.2294, 19.9044,-75.4920,723.9693, 2661} +, { 1,661, 2.90265,-71.3401, 25.4938,-75.4920,723.8004, 2662} +, { 1,662, 2.87827,-67.6210, 31.0833,-75.4920,723.6316, 2663} +, { 1,663, 2.85058,-64.0903, 36.6727,-75.4920,723.4628, 2664} +, { 1,664, 2.82018,-60.7589, 42.2622,-75.4920,723.2940, 2665} +, { 1,665, 2.78763,-57.6309, 47.8516,-75.4920,723.1252, 2666} +, { 1,666, 2.75343,-54.7052, 53.4411,-75.4920,722.9563, 2667} +, { 1,667, 2.71804,-51.9766, 59.0305,-75.4920,722.7875, 2668} +, { 1,668, 2.68185,-49.4370, 64.6200,-75.4920,722.6187, 2669} +, { 1,669, 2.64520,-47.0764, 70.2094,-75.4920,722.4499, 2670} +, { 1,670, 2.60837,-44.8838, 75.7989,-75.4920,722.2811, 2671} +, { 1,671, 2.57157,-42.8476, 81.3883,-75.4920,722.1122, 2672} +, { 1,672, 2.53499,-40.9562, 86.9778,-75.4920,721.9434, 2673} +, { 1,673, 2.49876,-39.1985, 92.5672,-75.4920,721.7746, 2674} +, { 1,674, 2.46300,-37.5638, 98.1567,-75.4920,721.6058, 2675} +, { 1,675, 2.42779,-36.0419,103.7461,-75.4920,721.4369, 2676} +, { 1,676, 2.39320,-34.6236,109.3356,-75.4920,721.2681, 2677} +, { 1,677, 2.35925,-33.3001,114.9250,-75.4920,721.0993, 2678} +, { 1,678, 2.32600,-32.0636,120.5145,-75.4920,720.9305, 2679} +, { 1,679, 2.29344,-30.9068,126.1039,-75.4920,720.7617, 2680} +, { 1,680, 2.26159,-29.8231,131.6934,-75.4920,720.5928, 2681} +, { 1,681, 2.23046,-28.8064,137.2828,-75.4920,720.4240, 2682} +, { 1,682, 2.85646,-76.2078, 19.9044,-81.0840,723.9693, 2683} +, { 1,683, 2.83847,-72.5462, 25.4938,-81.0840,723.8004, 2684} +, { 1,684, 2.81697,-69.0259, 31.0833,-81.0840,723.6316, 2685} +, { 1,685, 2.79242,-65.6637, 36.6727,-81.0840,723.4628, 2686} +, { 1,686, 2.76529,-62.4708, 42.2622,-81.0840,723.2940, 2687} +, { 1,687, 2.73604,-59.4531, 47.8516,-81.0840,723.1252, 2688} +, { 1,688, 2.70512,-56.6118, 53.4411,-81.0840,722.9563, 2689} +, { 1,689, 2.67292,-53.9447, 59.0305,-81.0840,722.7875, 2690} +, { 1,690, 2.63979,-51.4469, 64.6200,-81.0840,722.6187, 2691} +, { 1,691, 2.60604,-49.1112, 70.2094,-81.0840,722.4499, 2692} +, { 1,692, 2.57192,-46.9295, 75.7989,-81.0840,722.2811, 2693} +, { 1,693, 2.53766,-44.8927, 81.3883,-81.0840,722.1122, 2694} +, { 1,694, 2.50344,-42.9915, 86.9778,-81.0840,721.9434, 2695} +, { 1,695, 2.46939,-41.2166, 92.5672,-81.0840,721.7746, 2696} +, { 1,696, 2.43565,-39.5590, 98.1567,-81.0840,721.6058, 2697} +, { 1,697, 2.40229,-38.0098,103.7461,-81.0840,721.4369, 2698} +, { 1,698, 2.36940,-36.5609,109.3356,-81.0840,721.2681, 2699} +, { 1,699, 2.33703,-35.2044,114.9250,-81.0840,721.0993, 2700} +, { 1,700, 2.30521,-33.9333,120.5145,-81.0840,720.9305, 2701} +, { 1,701, 2.27398,-32.7407,126.1039,-81.0840,720.7617, 2702} +, { 1,702, 2.24335,-31.6207,131.6934,-81.0840,720.5928, 2703} +, { 1,703, 2.21334,-30.5676,137.2828,-81.0840,720.4240, 2704} +, { 1,704, 2.79377,-77.0668, 19.9044,-86.6760,723.9693, 2705} +, { 1,705, 2.77787,-73.6099, 25.4938,-86.6760,723.8004, 2706} +, { 1,706, 2.75879,-70.2714, 31.0833,-86.6760,723.6316, 2707} +, { 1,707, 2.73688,-67.0667, 36.6727,-86.6760,723.4628, 2708} +, { 1,708, 2.71256,-64.0067, 42.2622,-86.6760,723.2940, 2709} +, { 1,709, 2.68619,-61.0980, 47.8516,-86.6760,723.1252, 2710} +, { 1,710, 2.65815,-58.3436, 53.4411,-86.6760,722.9563, 2711} +, { 1,711, 2.62878,-55.7433, 59.0305,-86.6760,722.7875, 2712} +, { 1,712, 2.59840,-53.2942, 64.6200,-86.6760,722.6187, 2713} +, { 1,713, 2.56728,-50.9918, 70.2094,-86.6760,722.4499, 2714} +, { 1,714, 2.53567,-48.8300, 75.7989,-86.6760,722.2811, 2715} +, { 1,715, 2.50377,-46.8021, 81.3883,-86.6760,722.1122, 2716} +, { 1,716, 2.47176,-44.9004, 86.9778,-86.6760,721.9434, 2717} +, { 1,717, 2.43978,-43.1175, 92.5672,-86.6760,721.7746, 2718} +, { 1,718, 2.40796,-41.4457, 98.1567,-86.6760,721.6058, 2719} +, { 1,719, 2.37639,-39.8775,103.7461,-86.6760,721.4369, 2720} +, { 1,720, 2.34515,-38.4057,109.3356,-86.6760,721.2681, 2721} +, { 1,721, 2.31430,-37.0235,114.9250,-86.6760,721.0993, 2722} +, { 1,722, 2.28390,-35.7243,120.5145,-86.6760,720.9305, 2723} +, { 1,723, 2.25397,-34.5022,126.1039,-86.6760,720.7617, 2724} +, { 1,724, 2.22455,-33.3515,131.6934,-86.6760,720.5928, 2725} +, { 1,725, 2.19566,-32.2670,137.2828,-86.6760,720.4240, 2726} +, { 1,726, 2.73468,-77.8265, 19.9044,-92.2680,723.9693, 2727} +, { 1,727, 2.72053,-74.5544, 25.4938,-92.2680,723.8004, 2728} +, { 1,728, 2.70348,-71.3823, 31.0833,-92.2680,723.6316, 2729} +, { 1,729, 2.68384,-68.3242, 36.6727,-92.2680,723.4628, 2730} +, { 1,730, 2.66192,-65.3905, 42.2622,-92.2680,723.2940, 2731} +, { 1,731, 2.63806,-62.5880, 47.8516,-92.2680,723.1252, 2732} +, { 1,732, 2.61255,-59.9208, 53.4411,-92.2680,722.9563, 2733} +, { 1,733, 2.58571,-57.3900, 59.0305,-92.2680,722.7875, 2734} +, { 1,734, 2.55780,-54.9945, 64.6200,-92.2680,722.6187, 2735} +, { 1,735, 2.52908,-52.7314, 70.2094,-92.2680,722.4499, 2736} +, { 1,736, 2.49976,-50.5966, 75.7989,-92.2680,722.2811, 2737} +, { 1,737, 2.47004,-48.5849, 81.3883,-92.2680,722.1122, 2738} +, { 1,738, 2.44010,-46.6905, 86.9778,-92.2680,721.9434, 2739} +, { 1,739, 2.41007,-44.9072, 92.5672,-92.2680,721.7746, 2740} +, { 1,740, 2.38007,-43.2288, 98.1567,-92.2680,721.6058, 2741} +, { 1,741, 2.35020,-41.6487,103.7461,-92.2680,721.4369, 2742} +, { 1,742, 2.32055,-40.1609,109.3356,-92.2680,721.2681, 2743} +, { 1,743, 2.29119,-38.7594,114.9250,-92.2680,721.0993, 2744} +, { 1,744, 2.26216,-37.4383,120.5145,-92.2680,720.9305, 2745} +, { 1,745, 2.23352,-36.1923,126.1039,-92.2680,720.7617, 2746} +, { 1,746, 2.20528,-35.0161,131.6934,-92.2680,720.5928, 2747} +, { 1,747, 2.17749,-33.9051,137.2828,-92.2680,720.4240, 2748} +}; + std::vector hcal = { + { 0, 0, 2.77314,104.0817,-23.8777, 95.1900,782.4788, 1001} +, { 0, 1, 2.74382,109.5987,-33.8931, 95.1900,782.1763, 1002} +, { 0, 2, 2.70697,114.7626,-43.9086, 95.1900,781.8738, 1003} +, { 0, 3, 2.66428,119.5310,-53.9240, 95.1900,781.5713, 1004} +, { 0, 4, 2.61734,123.8894,-63.9395, 95.1900,781.2688, 1005} +, { 0, 5, 2.56758,127.8443,-73.9549, 95.1900,780.9663, 1006} +, { 0, 6, 2.51617,131.4166,-83.9703, 95.1900,780.6638, 1007} +, { 0, 7, 2.46405,134.6353,-93.9857, 95.1900,780.3613, 1008} +, { 0, 8, 2.41192,137.5328,-104.0012, 95.1900,780.0588, 1009} +, { 0, 9, 2.36030,140.1422,-114.0166, 95.1900,779.7563, 1010} +, { 0, 10, 2.30956,142.4951,-124.0321, 95.1900,779.4538, 1011} +, { 0, 11, 2.25995,144.6206,-134.0475, 95.1900,779.1513, 1012} +, { 0, 12, 2.21164,146.5451,-144.0629, 95.1900,778.8488, 1013} +, { 0, 13, 2.87631,105.6610,-23.8777, 85.1700,782.4788, 1014} +, { 0, 14, 2.84049,111.6999,-33.8931, 85.1700,782.1763, 1015} +, { 0, 15, 2.79608,117.2729,-43.9086, 85.1700,781.8738, 1016} +, { 0, 16, 2.74539,122.3393,-53.9240, 85.1700,781.5713, 1017} +, { 0, 17, 2.69054,126.8966,-63.9395, 85.1700,781.2688, 1018} +, { 0, 18, 2.63326,130.9685,-73.9549, 85.1700,780.9663, 1019} +, { 0, 19, 2.57493,134.5936,-83.9703, 85.1700,780.6638, 1020} +, { 0, 20, 2.51655,137.8171,-93.9857, 85.1700,780.3613, 1021} +, { 0, 21, 2.45885,140.6848,-104.0012, 85.1700,780.0588, 1022} +, { 0, 22, 2.40231,143.2404,-114.0166, 85.1700,779.7563, 1023} +, { 0, 23, 2.34724,145.5235,-124.0321, 85.1700,779.4538, 1024} +, { 0, 24, 2.29383,147.5693,-134.0475, 85.1700,779.1513, 1025} +, { 0, 25, 2.24219,149.4084,-144.0629, 85.1700,778.8488, 1026} +, { 0, 26, 2.99057,107.6268,-23.8777, 75.1500,782.4788, 1027} +, { 0, 27, 2.94593,114.2757,-33.8931, 75.1500,782.1763, 1028} +, { 0, 28, 2.89159,120.2969,-43.9086, 75.1500,781.8738, 1029} +, { 0, 29, 2.83078,125.6614,-53.9240, 75.1500,781.5713, 1030} +, { 0, 30, 2.76625,130.3919,-63.9395, 75.1500,781.2688, 1031} +, { 0, 31, 2.70010,134.5408,-73.9549, 75.1500,780.9663, 1032} +, { 0, 32, 2.63384,138.1728,-83.9703, 75.1500,780.6638, 1033} +, { 0, 33, 2.56851,141.3545,-93.9857, 75.1500,780.3613, 1034} +, { 0, 34, 2.50475,144.1486,-104.0012, 75.1500,780.0588, 1035} +, { 0, 35, 2.44298,146.6105,-114.0166, 75.1500,779.7563, 1036} +, { 0, 36, 2.38340,148.7887,-124.0321, 75.1500,779.4538, 1037} +, { 0, 37, 2.32609,150.7240,-134.0475, 75.1500,779.1513, 1038} +, { 0, 38, 2.27108,152.4513,-144.0629, 75.1500,778.8488, 1039} +, { 0, 39, 3.11813,110.1338,-23.8777, 65.1300,782.4788, 1040} +, { 0, 40, 3.06121,117.4921,-33.8931, 65.1300,782.1763, 1041} +, { 0, 41, 2.99364,123.9866,-43.9086, 65.1300,781.8738, 1042} +, { 0, 42, 2.91995,129.6229,-53.9240, 65.1300,781.5713, 1043} +, { 0, 43, 2.84364,134.4715,-63.9395, 65.1300,781.2688, 1044} +, { 0, 44, 2.76712,138.6305,-73.9549, 65.1300,780.9663, 1045} +, { 0, 45, 2.69193,142.2017,-83.9703, 65.1300,780.6638, 1046} +, { 0, 46, 2.61899,145.2789,-93.9857, 65.1300,780.3613, 1047} +, { 0, 47, 2.54881,147.9434,-104.0012, 65.1300,780.0588, 1048} +, { 0, 48, 2.48160,150.2636,-114.0166, 65.1300,779.7563, 1049} +, { 0, 49, 2.41742,152.2958,-124.0321, 65.1300,779.4538, 1050} +, { 0, 50, 2.35621,154.0862,-134.0475, 65.1300,779.1513, 1051} +, { 0, 51, 2.29787,155.6726,-144.0629, 65.1300,778.8488, 1052} +, { 0, 52, 3.26173,113.4258,-23.8777, 55.1100,782.4788, 1053} +, { 0, 53, 3.18720,121.5919,-33.8931, 55.1100,782.1763, 1054} +, { 0, 54, 3.10177,128.5459,-43.9086, 55.1100,781.8738, 1055} +, { 0, 55, 3.01173,134.3768,-53.9240, 55.1100,781.5713, 1056} +, { 0, 56, 2.92126,139.2416,-63.9395, 55.1100,781.2688, 1057} +, { 0, 57, 2.83286,143.3071,-73.9549, 55.1100,780.9663, 1058} +, { 0, 58, 2.74785,146.7230,-83.9703, 55.1100,780.6638, 1059} +, { 0, 59, 2.66684,149.6141,-93.9857, 55.1100,780.3613, 1060} +, { 0, 60, 2.59002,152.0810,-104.0012, 55.1100,780.0588, 1061} +, { 0, 61, 2.51733,154.2032,-114.0166, 55.1100,779.7563, 1062} +, { 0, 62, 2.44861,156.0434,-124.0321, 55.1100,779.4538, 1063} +, { 0, 63, 2.38361,157.6513,-134.0475, 55.1100,779.1513, 1064} +, { 0, 64, 2.32209,159.0661,-144.0629, 55.1100,778.8488, 1065} +, { 0, 65, 3.42442,117.9038,-23.8777, 45.0900,782.4788, 1066} +, { 0, 66, 3.32392,126.9314,-33.8931, 45.0900,782.1763, 1067} +, { 0, 67, 3.21432,134.2395,-43.9086, 45.0900,781.8738, 1068} +, { 0, 68, 3.10382,140.0984,-53.9240, 45.0900,781.5713, 1069} +, { 0, 69, 2.99679,144.8086,-63.9395, 45.0900,781.2688, 1070} +, { 0, 70, 2.89525,148.6295,-73.9549, 45.0900,780.9663, 1071} +, { 0, 71, 2.79986,151.7653,-83.9703, 45.0900,780.6638, 1072} +, { 0, 72, 2.71062,154.3705,-93.9857, 45.0900,780.3613, 1073} +, { 0, 73, 2.62723,156.5607,-104.0012, 45.0900,780.0588, 1074} +, { 0, 74, 2.54926,158.4228,-114.0166, 45.0900,779.7563, 1075} +, { 0, 75, 2.47623,160.0220,-124.0321, 45.0900,779.4538, 1076} +, { 0, 76, 2.40770,161.4084,-134.0475, 45.0900,779.1513, 1077} +, { 0, 77, 2.34325,162.6205,-144.0629, 45.0900,778.8488, 1078} +, { 0, 78, 3.60856,124.2493,-23.8777, 35.0700,782.4788, 1079} +, { 0, 79, 3.46905,134.0223,-33.8931, 35.0700,782.1763, 1080} +, { 0, 80, 3.32730,141.3855,-43.9086, 35.0700,781.8738, 1081} +, { 0, 81, 3.19219,146.9617,-53.9240, 35.0700,781.5713, 1082} +, { 0, 82, 3.06680,151.2558,-63.9395, 35.0700,781.2688, 1083} +, { 0, 83, 2.95154,154.6293,-73.9549, 35.0700,780.9663, 1084} +, { 0, 84, 2.84582,157.3323,-83.9703, 35.0700,780.6638, 1085} +, { 0, 85, 2.74869,159.5374,-93.9857, 35.0700,780.3613, 1086} +, { 0, 86, 2.65918,161.3655,-104.0012, 35.0700,780.0588, 1087} +, { 0, 87, 2.57639,162.9028,-114.0166, 35.0700,779.7563, 1088} +, { 0, 88, 2.49951,164.2118,-124.0321, 35.0700,779.4538, 1089} +, { 0, 89, 2.42787,165.3387,-134.0475, 35.0700,779.1513, 1090} +, { 0, 90, 2.36087,166.3183,-144.0629, 35.0700,778.8488, 1091} +, { 0, 91, 3.81205,133.6275,-23.8777, 25.0500,782.4788, 1092} +, { 0, 92, 3.61482,143.5324,-33.8931, 25.0500,782.1763, 1093} +, { 0, 93, 3.43289,150.2951,-43.9086, 25.0500,781.8738, 1094} +, { 0, 94, 3.27062,155.0831,-53.9240, 25.0500,781.5713, 1095} +, { 0, 95, 3.12666,158.6059,-63.9395, 25.0500,781.2688, 1096} +, { 0, 96, 2.99841,161.2877,-73.9549, 25.0500,780.9663, 1097} +, { 0, 97, 2.88334,163.3891,-83.9703, 25.0500,780.6638, 1098} +, { 0, 98, 2.77931,165.0759,-93.9857, 25.0500,780.3613, 1099} +, { 0, 99, 2.68459,166.4575,-104.0012, 25.0500,780.0588, 1100} +, { 0,100, 2.59777,167.6087,-114.0166, 25.0500,779.7563, 1101} +, { 0,101, 2.51774,168.5819,-124.0321, 25.0500,779.4538, 1102} +, { 0,102, 2.44357,169.4150,-134.0475, 25.0500,779.1513, 1103} +, { 0,103, 2.37452,170.1359,-144.0629, 25.0500,778.8488, 1104} +, { 0,104, 4.01611,147.8113,-23.8777, 15.0300,782.4788, 1105} +, { 0,105, 3.74281,156.0850,-33.8931, 15.0300,782.1763, 1106} +, { 0,106, 3.51821,161.1038,-43.9086, 15.0300,781.8738, 1107} +, { 0,107, 3.33075,164.4255,-53.9240, 15.0300,781.5713, 1108} +, { 0,108, 3.17100,166.7719,-63.9395, 15.0300,781.2688, 1109} +, { 0,109, 3.03231,168.5121,-73.9549, 15.0300,780.9663, 1110} +, { 0,110, 2.91003,169.8520,-83.9703, 15.0300,780.6638, 1111} +, { 0,111, 2.80083,170.9143,-93.9857, 15.0300,780.3613, 1112} +, { 0,112, 2.70229,171.7767,-104.0012, 15.0300,780.0588, 1113} +, { 0,113, 2.61256,172.4904,-114.0166, 15.0300,779.7563, 1114} +, { 0,114, 2.53027,173.0907,-124.0321, 15.0300,779.4538, 1115} +, { 0,115, 2.45432,173.6025,-134.0475, 15.0300,779.1513, 1116} +, { 0,116, 2.38384,174.0439,-144.0629, 15.0300,778.8488, 1117} +, { 0,117, 4.16137,168.1501,-23.8777, 5.0100,782.4788, 1118} +, { 0,118, 3.82169,171.5916,-33.8931, 5.0100,782.1763, 1119} +, { 0,119, 3.56706,173.4907,-43.9086, 5.0100,781.8738, 1120} +, { 0,120, 3.36378,174.6920,-53.9240, 5.0100,781.5713, 1121} +, { 0,121, 3.19475,175.5197,-63.9395, 5.0100,781.2688, 1122} +, { 0,122, 3.05018,176.1245,-73.9549, 5.0100,780.9663, 1123} +, { 0,123, 2.92394,176.5856,-83.9703, 5.0100,780.6638, 1124} +, { 0,124, 2.81196,176.9487,-93.9857, 5.0100,780.3613, 1125} +, { 0,125, 2.71138,177.2420,-104.0012, 5.0100,780.0588, 1126} +, { 0,126, 2.62013,177.4840,-114.0166, 5.0100,779.7563, 1127} +, { 0,127, 2.53667,177.6869,-124.0321, 5.0100,779.4538, 1128} +, { 0,128, 2.45979,177.8596,-134.0475, 5.0100,779.1513, 1129} +, { 0,129, 2.38857,178.0083,-144.0629, 5.0100,778.8488, 1130} +, { 0,130, 4.16137,-168.1501,-23.8777, -5.0100,782.4788, 1131} +, { 0,131, 3.82169,-171.5916,-33.8931, -5.0100,782.1763, 1132} +, { 0,132, 3.56706,-173.4907,-43.9086, -5.0100,781.8738, 1133} +, { 0,133, 3.36378,-174.6920,-53.9240, -5.0100,781.5713, 1134} +, { 0,134, 3.19475,-175.5197,-63.9395, -5.0100,781.2688, 1135} +, { 0,135, 3.05018,-176.1245,-73.9549, -5.0100,780.9663, 1136} +, { 0,136, 2.92394,-176.5856,-83.9703, -5.0100,780.6638, 1137} +, { 0,137, 2.81196,-176.9487,-93.9857, -5.0100,780.3613, 1138} +, { 0,138, 2.71138,-177.2420,-104.0012, -5.0100,780.0588, 1139} +, { 0,139, 2.62013,-177.4840,-114.0166, -5.0100,779.7563, 1140} +, { 0,140, 2.53667,-177.6869,-124.0321, -5.0100,779.4538, 1141} +, { 0,141, 2.45979,-177.8596,-134.0475, -5.0100,779.1513, 1142} +, { 0,142, 2.38857,-178.0083,-144.0629, -5.0100,778.8488, 1143} +, { 0,143, 4.01611,-147.8113,-23.8777,-15.0300,782.4788, 1144} +, { 0,144, 3.74281,-156.0850,-33.8931,-15.0300,782.1763, 1145} +, { 0,145, 3.51821,-161.1038,-43.9086,-15.0300,781.8738, 1146} +, { 0,146, 3.33075,-164.4255,-53.9240,-15.0300,781.5713, 1147} +, { 0,147, 3.17100,-166.7719,-63.9395,-15.0300,781.2688, 1148} +, { 0,148, 3.03231,-168.5121,-73.9549,-15.0300,780.9663, 1149} +, { 0,149, 2.91003,-169.8520,-83.9703,-15.0300,780.6638, 1150} +, { 0,150, 2.80083,-170.9143,-93.9857,-15.0300,780.3613, 1151} +, { 0,151, 2.70229,-171.7767,-104.0012,-15.0300,780.0588, 1152} +, { 0,152, 2.61256,-172.4904,-114.0166,-15.0300,779.7563, 1153} +, { 0,153, 2.53027,-173.0907,-124.0321,-15.0300,779.4538, 1154} +, { 0,154, 2.45432,-173.6025,-134.0475,-15.0300,779.1513, 1155} +, { 0,155, 2.38384,-174.0439,-144.0629,-15.0300,778.8488, 1156} +, { 0,156, 3.81205,-133.6275,-23.8777,-25.0500,782.4788, 1157} +, { 0,157, 3.61482,-143.5324,-33.8931,-25.0500,782.1763, 1158} +, { 0,158, 3.43289,-150.2951,-43.9086,-25.0500,781.8738, 1159} +, { 0,159, 3.27062,-155.0831,-53.9240,-25.0500,781.5713, 1160} +, { 0,160, 3.12666,-158.6059,-63.9395,-25.0500,781.2688, 1161} +, { 0,161, 2.99841,-161.2877,-73.9549,-25.0500,780.9663, 1162} +, { 0,162, 2.88334,-163.3891,-83.9703,-25.0500,780.6638, 1163} +, { 0,163, 2.77931,-165.0759,-93.9857,-25.0500,780.3613, 1164} +, { 0,164, 2.68459,-166.4575,-104.0012,-25.0500,780.0588, 1165} +, { 0,165, 2.59777,-167.6087,-114.0166,-25.0500,779.7563, 1166} +, { 0,166, 2.51774,-168.5819,-124.0321,-25.0500,779.4538, 1167} +, { 0,167, 2.44357,-169.4150,-134.0475,-25.0500,779.1513, 1168} +, { 0,168, 2.37452,-170.1359,-144.0629,-25.0500,778.8488, 1169} +, { 0,169, 3.60856,-124.2493,-23.8777,-35.0700,782.4788, 1170} +, { 0,170, 3.46905,-134.0223,-33.8931,-35.0700,782.1763, 1171} +, { 0,171, 3.32730,-141.3855,-43.9086,-35.0700,781.8738, 1172} +, { 0,172, 3.19219,-146.9617,-53.9240,-35.0700,781.5713, 1173} +, { 0,173, 3.06680,-151.2558,-63.9395,-35.0700,781.2688, 1174} +, { 0,174, 2.95154,-154.6293,-73.9549,-35.0700,780.9663, 1175} +, { 0,175, 2.84582,-157.3323,-83.9703,-35.0700,780.6638, 1176} +, { 0,176, 2.74869,-159.5374,-93.9857,-35.0700,780.3613, 1177} +, { 0,177, 2.65918,-161.3655,-104.0012,-35.0700,780.0588, 1178} +, { 0,178, 2.57639,-162.9028,-114.0166,-35.0700,779.7563, 1179} +, { 0,179, 2.49951,-164.2118,-124.0321,-35.0700,779.4538, 1180} +, { 0,180, 2.42787,-165.3387,-134.0475,-35.0700,779.1513, 1181} +, { 0,181, 2.36087,-166.3183,-144.0629,-35.0700,778.8488, 1182} +, { 0,182, 3.42442,-117.9038,-23.8777,-45.0900,782.4788, 1183} +, { 0,183, 3.32392,-126.9314,-33.8931,-45.0900,782.1763, 1184} +, { 0,184, 3.21432,-134.2395,-43.9086,-45.0900,781.8738, 1185} +, { 0,185, 3.10382,-140.0984,-53.9240,-45.0900,781.5713, 1186} +, { 0,186, 2.99679,-144.8086,-63.9395,-45.0900,781.2688, 1187} +, { 0,187, 2.89525,-148.6295,-73.9549,-45.0900,780.9663, 1188} +, { 0,188, 2.79986,-151.7653,-83.9703,-45.0900,780.6638, 1189} +, { 0,189, 2.71062,-154.3705,-93.9857,-45.0900,780.3613, 1190} +, { 0,190, 2.62723,-156.5607,-104.0012,-45.0900,780.0588, 1191} +, { 0,191, 2.54926,-158.4228,-114.0166,-45.0900,779.7563, 1192} +, { 0,192, 2.47623,-160.0220,-124.0321,-45.0900,779.4538, 1193} +, { 0,193, 2.40770,-161.4084,-134.0475,-45.0900,779.1513, 1194} +, { 0,194, 2.34325,-162.6205,-144.0629,-45.0900,778.8488, 1195} +, { 0,195, 3.26173,-113.4258,-23.8777,-55.1100,782.4788, 1196} +, { 0,196, 3.18720,-121.5919,-33.8931,-55.1100,782.1763, 1197} +, { 0,197, 3.10177,-128.5459,-43.9086,-55.1100,781.8738, 1198} +, { 0,198, 3.01173,-134.3768,-53.9240,-55.1100,781.5713, 1199} +, { 0,199, 2.92126,-139.2416,-63.9395,-55.1100,781.2688, 1200} +, { 0,200, 2.83286,-143.3071,-73.9549,-55.1100,780.9663, 1201} +, { 0,201, 2.74785,-146.7230,-83.9703,-55.1100,780.6638, 1202} +, { 0,202, 2.66684,-149.6141,-93.9857,-55.1100,780.3613, 1203} +, { 0,203, 2.59002,-152.0810,-104.0012,-55.1100,780.0588, 1204} +, { 0,204, 2.51733,-154.2032,-114.0166,-55.1100,779.7563, 1205} +, { 0,205, 2.44861,-156.0434,-124.0321,-55.1100,779.4538, 1206} +, { 0,206, 2.38361,-157.6513,-134.0475,-55.1100,779.1513, 1207} +, { 0,207, 2.32209,-159.0661,-144.0629,-55.1100,778.8488, 1208} +, { 0,208, 3.11813,-110.1338,-23.8777,-65.1300,782.4788, 1209} +, { 0,209, 3.06121,-117.4921,-33.8931,-65.1300,782.1763, 1210} +, { 0,210, 2.99364,-123.9866,-43.9086,-65.1300,781.8738, 1211} +, { 0,211, 2.91995,-129.6229,-53.9240,-65.1300,781.5713, 1212} +, { 0,212, 2.84364,-134.4715,-63.9395,-65.1300,781.2688, 1213} +, { 0,213, 2.76712,-138.6305,-73.9549,-65.1300,780.9663, 1214} +, { 0,214, 2.69193,-142.2017,-83.9703,-65.1300,780.6638, 1215} +, { 0,215, 2.61899,-145.2789,-93.9857,-65.1300,780.3613, 1216} +, { 0,216, 2.54881,-147.9434,-104.0012,-65.1300,780.0588, 1217} +, { 0,217, 2.48160,-150.2636,-114.0166,-65.1300,779.7563, 1218} +, { 0,218, 2.41742,-152.2958,-124.0321,-65.1300,779.4538, 1219} +, { 0,219, 2.35621,-154.0862,-134.0475,-65.1300,779.1513, 1220} +, { 0,220, 2.29787,-155.6726,-144.0629,-65.1300,778.8488, 1221} +, { 0,221, 2.99057,-107.6268,-23.8777,-75.1500,782.4788, 1222} +, { 0,222, 2.94593,-114.2757,-33.8931,-75.1500,782.1763, 1223} +, { 0,223, 2.89159,-120.2969,-43.9086,-75.1500,781.8738, 1224} +, { 0,224, 2.83078,-125.6614,-53.9240,-75.1500,781.5713, 1225} +, { 0,225, 2.76625,-130.3919,-63.9395,-75.1500,781.2688, 1226} +, { 0,226, 2.70010,-134.5408,-73.9549,-75.1500,780.9663, 1227} +, { 0,227, 2.63384,-138.1728,-83.9703,-75.1500,780.6638, 1228} +, { 0,228, 2.56851,-141.3545,-93.9857,-75.1500,780.3613, 1229} +, { 0,229, 2.50475,-144.1486,-104.0012,-75.1500,780.0588, 1230} +, { 0,230, 2.44298,-146.6105,-114.0166,-75.1500,779.7563, 1231} +, { 0,231, 2.38340,-148.7887,-124.0321,-75.1500,779.4538, 1232} +, { 0,232, 2.32609,-150.7240,-134.0475,-75.1500,779.1513, 1233} +, { 0,233, 2.27108,-152.4513,-144.0629,-75.1500,778.8488, 1234} +, { 0,234, 2.87631,-105.6610,-23.8777,-85.1700,782.4788, 1235} +, { 0,235, 2.84049,-111.6999,-33.8931,-85.1700,782.1763, 1236} +, { 0,236, 2.79608,-117.2729,-43.9086,-85.1700,781.8738, 1237} +, { 0,237, 2.74539,-122.3393,-53.9240,-85.1700,781.5713, 1238} +, { 0,238, 2.69054,-126.8966,-63.9395,-85.1700,781.2688, 1239} +, { 0,239, 2.63326,-130.9685,-73.9549,-85.1700,780.9663, 1240} +, { 0,240, 2.57493,-134.5936,-83.9703,-85.1700,780.6638, 1241} +, { 0,241, 2.51655,-137.8171,-93.9857,-85.1700,780.3613, 1242} +, { 0,242, 2.45885,-140.6848,-104.0012,-85.1700,780.0588, 1243} +, { 0,243, 2.40231,-143.2404,-114.0166,-85.1700,779.7563, 1244} +, { 0,244, 2.34724,-145.5235,-124.0321,-85.1700,779.4538, 1245} +, { 0,245, 2.29383,-147.5693,-134.0475,-85.1700,779.1513, 1246} +, { 0,246, 2.24219,-149.4084,-144.0629,-85.1700,778.8488, 1247} +, { 0,247, 2.77314,-104.0817,-23.8777,-95.1900,782.4788, 1248} +, { 0,248, 2.74382,-109.5987,-33.8931,-95.1900,782.1763, 1249} +, { 0,249, 2.70697,-114.7626,-43.9086,-95.1900,781.8738, 1250} +, { 0,250, 2.66428,-119.5310,-53.9240,-95.1900,781.5713, 1251} +, { 0,251, 2.61734,-123.8894,-63.9395,-95.1900,781.2688, 1252} +, { 0,252, 2.56758,-127.8443,-73.9549,-95.1900,780.9663, 1253} +, { 0,253, 2.51617,-131.4166,-83.9703,-95.1900,780.6638, 1254} +, { 0,254, 2.46405,-134.6353,-93.9857,-95.1900,780.3613, 1255} +, { 0,255, 2.41192,-137.5328,-104.0012,-95.1900,780.0588, 1256} +, { 0,256, 2.36030,-140.1422,-114.0166,-95.1900,779.7563, 1257} +, { 0,257, 2.30956,-142.4951,-124.0321,-95.1900,779.4538, 1258} +, { 0,258, 2.25995,-144.6206,-134.0475,-95.1900,779.1513, 1259} +, { 0,259, 2.21164,-146.5451,-144.0629,-95.1900,778.8488, 1260} +, { 1, 0, 2.77314, 75.9183, 23.8777, 95.1900,782.4788, 2001} +, { 1, 1, 2.74382, 70.4013, 33.8931, 95.1900,782.1763, 2002} +, { 1, 2, 2.70697, 65.2374, 43.9086, 95.1900,781.8738, 2003} +, { 1, 3, 2.66428, 60.4690, 53.9240, 95.1900,781.5713, 2004} +, { 1, 4, 2.61734, 56.1106, 63.9395, 95.1900,781.2688, 2005} +, { 1, 5, 2.56758, 52.1557, 73.9549, 95.1900,780.9663, 2006} +, { 1, 6, 2.51617, 48.5834, 83.9703, 95.1900,780.6638, 2007} +, { 1, 7, 2.46405, 45.3647, 93.9857, 95.1900,780.3613, 2008} +, { 1, 8, 2.41192, 42.4672,104.0012, 95.1900,780.0588, 2009} +, { 1, 9, 2.36030, 39.8578,114.0166, 95.1900,779.7563, 2010} +, { 1, 10, 2.30956, 37.5049,124.0321, 95.1900,779.4538, 2011} +, { 1, 11, 2.25995, 35.3794,134.0475, 95.1900,779.1513, 2012} +, { 1, 12, 2.21164, 33.4549,144.0629, 95.1900,778.8488, 2013} +, { 1, 13, 2.87631, 74.3390, 23.8777, 85.1700,782.4788, 2014} +, { 1, 14, 2.84049, 68.3001, 33.8931, 85.1700,782.1763, 2015} +, { 1, 15, 2.79608, 62.7271, 43.9086, 85.1700,781.8738, 2016} +, { 1, 16, 2.74539, 57.6607, 53.9240, 85.1700,781.5713, 2017} +, { 1, 17, 2.69054, 53.1034, 63.9395, 85.1700,781.2688, 2018} +, { 1, 18, 2.63326, 49.0315, 73.9549, 85.1700,780.9663, 2019} +, { 1, 19, 2.57493, 45.4064, 83.9703, 85.1700,780.6638, 2020} +, { 1, 20, 2.51655, 42.1829, 93.9857, 85.1700,780.3613, 2021} +, { 1, 21, 2.45885, 39.3152,104.0012, 85.1700,780.0588, 2022} +, { 1, 22, 2.40231, 36.7596,114.0166, 85.1700,779.7563, 2023} +, { 1, 23, 2.34724, 34.4765,124.0321, 85.1700,779.4538, 2024} +, { 1, 24, 2.29383, 32.4307,134.0475, 85.1700,779.1513, 2025} +, { 1, 25, 2.24219, 30.5916,144.0629, 85.1700,778.8488, 2026} +, { 1, 26, 2.99057, 72.3732, 23.8777, 75.1500,782.4788, 2027} +, { 1, 27, 2.94593, 65.7243, 33.8931, 75.1500,782.1763, 2028} +, { 1, 28, 2.89159, 59.7031, 43.9086, 75.1500,781.8738, 2029} +, { 1, 29, 2.83078, 54.3386, 53.9240, 75.1500,781.5713, 2030} +, { 1, 30, 2.76625, 49.6081, 63.9395, 75.1500,781.2688, 2031} +, { 1, 31, 2.70010, 45.4592, 73.9549, 75.1500,780.9663, 2032} +, { 1, 32, 2.63384, 41.8272, 83.9703, 75.1500,780.6638, 2033} +, { 1, 33, 2.56851, 38.6455, 93.9857, 75.1500,780.3613, 2034} +, { 1, 34, 2.50475, 35.8514,104.0012, 75.1500,780.0588, 2035} +, { 1, 35, 2.44298, 33.3895,114.0166, 75.1500,779.7563, 2036} +, { 1, 36, 2.38340, 31.2113,124.0321, 75.1500,779.4538, 2037} +, { 1, 37, 2.32609, 29.2760,134.0475, 75.1500,779.1513, 2038} +, { 1, 38, 2.27108, 27.5487,144.0629, 75.1500,778.8488, 2039} +, { 1, 39, 3.11813, 69.8662, 23.8777, 65.1300,782.4788, 2040} +, { 1, 40, 3.06121, 62.5079, 33.8931, 65.1300,782.1763, 2041} +, { 1, 41, 2.99364, 56.0134, 43.9086, 65.1300,781.8738, 2042} +, { 1, 42, 2.91995, 50.3771, 53.9240, 65.1300,781.5713, 2043} +, { 1, 43, 2.84364, 45.5285, 63.9395, 65.1300,781.2688, 2044} +, { 1, 44, 2.76712, 41.3695, 73.9549, 65.1300,780.9663, 2045} +, { 1, 45, 2.69193, 37.7983, 83.9703, 65.1300,780.6638, 2046} +, { 1, 46, 2.61899, 34.7211, 93.9857, 65.1300,780.3613, 2047} +, { 1, 47, 2.54881, 32.0566,104.0012, 65.1300,780.0588, 2048} +, { 1, 48, 2.48160, 29.7364,114.0166, 65.1300,779.7563, 2049} +, { 1, 49, 2.41742, 27.7042,124.0321, 65.1300,779.4538, 2050} +, { 1, 50, 2.35621, 25.9138,134.0475, 65.1300,779.1513, 2051} +, { 1, 51, 2.29787, 24.3274,144.0629, 65.1300,778.8488, 2052} +, { 1, 52, 3.26173, 66.5742, 23.8777, 55.1100,782.4788, 2053} +, { 1, 53, 3.18720, 58.4081, 33.8931, 55.1100,782.1763, 2054} +, { 1, 54, 3.10177, 51.4541, 43.9086, 55.1100,781.8738, 2055} +, { 1, 55, 3.01173, 45.6232, 53.9240, 55.1100,781.5713, 2056} +, { 1, 56, 2.92126, 40.7584, 63.9395, 55.1100,781.2688, 2057} +, { 1, 57, 2.83286, 36.6929, 73.9549, 55.1100,780.9663, 2058} +, { 1, 58, 2.74785, 33.2770, 83.9703, 55.1100,780.6638, 2059} +, { 1, 59, 2.66684, 30.3859, 93.9857, 55.1100,780.3613, 2060} +, { 1, 60, 2.59002, 27.9190,104.0012, 55.1100,780.0588, 2061} +, { 1, 61, 2.51733, 25.7968,114.0166, 55.1100,779.7563, 2062} +, { 1, 62, 2.44861, 23.9566,124.0321, 55.1100,779.4538, 2063} +, { 1, 63, 2.38361, 22.3487,134.0475, 55.1100,779.1513, 2064} +, { 1, 64, 2.32209, 20.9339,144.0629, 55.1100,778.8488, 2065} +, { 1, 65, 3.42442, 62.0962, 23.8777, 45.0900,782.4788, 2066} +, { 1, 66, 3.32392, 53.0686, 33.8931, 45.0900,782.1763, 2067} +, { 1, 67, 3.21432, 45.7605, 43.9086, 45.0900,781.8738, 2068} +, { 1, 68, 3.10382, 39.9016, 53.9240, 45.0900,781.5713, 2069} +, { 1, 69, 2.99679, 35.1914, 63.9395, 45.0900,781.2688, 2070} +, { 1, 70, 2.89525, 31.3705, 73.9549, 45.0900,780.9663, 2071} +, { 1, 71, 2.79986, 28.2347, 83.9703, 45.0900,780.6638, 2072} +, { 1, 72, 2.71062, 25.6295, 93.9857, 45.0900,780.3613, 2073} +, { 1, 73, 2.62723, 23.4393,104.0012, 45.0900,780.0588, 2074} +, { 1, 74, 2.54926, 21.5772,114.0166, 45.0900,779.7563, 2075} +, { 1, 75, 2.47623, 19.9780,124.0321, 45.0900,779.4538, 2076} +, { 1, 76, 2.40770, 18.5916,134.0475, 45.0900,779.1513, 2077} +, { 1, 77, 2.34325, 17.3795,144.0629, 45.0900,778.8488, 2078} +, { 1, 78, 3.60856, 55.7507, 23.8777, 35.0700,782.4788, 2079} +, { 1, 79, 3.46905, 45.9777, 33.8931, 35.0700,782.1763, 2080} +, { 1, 80, 3.32730, 38.6145, 43.9086, 35.0700,781.8738, 2081} +, { 1, 81, 3.19219, 33.0383, 53.9240, 35.0700,781.5713, 2082} +, { 1, 82, 3.06680, 28.7442, 63.9395, 35.0700,781.2688, 2083} +, { 1, 83, 2.95154, 25.3707, 73.9549, 35.0700,780.9663, 2084} +, { 1, 84, 2.84582, 22.6677, 83.9703, 35.0700,780.6638, 2085} +, { 1, 85, 2.74869, 20.4626, 93.9857, 35.0700,780.3613, 2086} +, { 1, 86, 2.65918, 18.6345,104.0012, 35.0700,780.0588, 2087} +, { 1, 87, 2.57639, 17.0972,114.0166, 35.0700,779.7563, 2088} +, { 1, 88, 2.49951, 15.7882,124.0321, 35.0700,779.4538, 2089} +, { 1, 89, 2.42787, 14.6613,134.0475, 35.0700,779.1513, 2090} +, { 1, 90, 2.36087, 13.6817,144.0629, 35.0700,778.8488, 2091} +, { 1, 91, 3.81205, 46.3725, 23.8777, 25.0500,782.4788, 2092} +, { 1, 92, 3.61482, 36.4676, 33.8931, 25.0500,782.1763, 2093} +, { 1, 93, 3.43289, 29.7049, 43.9086, 25.0500,781.8738, 2094} +, { 1, 94, 3.27062, 24.9169, 53.9240, 25.0500,781.5713, 2095} +, { 1, 95, 3.12666, 21.3941, 63.9395, 25.0500,781.2688, 2096} +, { 1, 96, 2.99841, 18.7123, 73.9549, 25.0500,780.9663, 2097} +, { 1, 97, 2.88334, 16.6109, 83.9703, 25.0500,780.6638, 2098} +, { 1, 98, 2.77931, 14.9241, 93.9857, 25.0500,780.3613, 2099} +, { 1, 99, 2.68459, 13.5425,104.0012, 25.0500,780.0588, 2100} +, { 1,100, 2.59777, 12.3913,114.0166, 25.0500,779.7563, 2101} +, { 1,101, 2.51774, 11.4181,124.0321, 25.0500,779.4538, 2102} +, { 1,102, 2.44357, 10.5850,134.0475, 25.0500,779.1513, 2103} +, { 1,103, 2.37452, 9.8641,144.0629, 25.0500,778.8488, 2104} +, { 1,104, 4.01611, 32.1887, 23.8777, 15.0300,782.4788, 2105} +, { 1,105, 3.74281, 23.9150, 33.8931, 15.0300,782.1763, 2106} +, { 1,106, 3.51821, 18.8962, 43.9086, 15.0300,781.8738, 2107} +, { 1,107, 3.33075, 15.5745, 53.9240, 15.0300,781.5713, 2108} +, { 1,108, 3.17100, 13.2281, 63.9395, 15.0300,781.2688, 2109} +, { 1,109, 3.03231, 11.4879, 73.9549, 15.0300,780.9663, 2110} +, { 1,110, 2.91003, 10.1480, 83.9703, 15.0300,780.6638, 2111} +, { 1,111, 2.80083, 9.0857, 93.9857, 15.0300,780.3613, 2112} +, { 1,112, 2.70229, 8.2233,104.0012, 15.0300,780.0588, 2113} +, { 1,113, 2.61256, 7.5096,114.0166, 15.0300,779.7563, 2114} +, { 1,114, 2.53027, 6.9093,124.0321, 15.0300,779.4538, 2115} +, { 1,115, 2.45432, 6.3975,134.0475, 15.0300,779.1513, 2116} +, { 1,116, 2.38384, 5.9561,144.0629, 15.0300,778.8488, 2117} +, { 1,117, 4.16137, 11.8499, 23.8777, 5.0100,782.4788, 2118} +, { 1,118, 3.82169, 8.4084, 33.8931, 5.0100,782.1763, 2119} +, { 1,119, 3.56706, 6.5093, 43.9086, 5.0100,781.8738, 2120} +, { 1,120, 3.36378, 5.3080, 53.9240, 5.0100,781.5713, 2121} +, { 1,121, 3.19475, 4.4803, 63.9395, 5.0100,781.2688, 2122} +, { 1,122, 3.05018, 3.8755, 73.9549, 5.0100,780.9663, 2123} +, { 1,123, 2.92394, 3.4144, 83.9703, 5.0100,780.6638, 2124} +, { 1,124, 2.81196, 3.0513, 93.9857, 5.0100,780.3613, 2125} +, { 1,125, 2.71138, 2.7580,104.0012, 5.0100,780.0588, 2126} +, { 1,126, 2.62013, 2.5160,114.0166, 5.0100,779.7563, 2127} +, { 1,127, 2.53667, 2.3131,124.0321, 5.0100,779.4538, 2128} +, { 1,128, 2.45979, 2.1404,134.0475, 5.0100,779.1513, 2129} +, { 1,129, 2.38857, 1.9917,144.0629, 5.0100,778.8488, 2130} +, { 1,130, 4.16137,-11.8499, 23.8777, -5.0100,782.4788, 2131} +, { 1,131, 3.82169, -8.4084, 33.8931, -5.0100,782.1763, 2132} +, { 1,132, 3.56706, -6.5093, 43.9086, -5.0100,781.8738, 2133} +, { 1,133, 3.36378, -5.3080, 53.9240, -5.0100,781.5713, 2134} +, { 1,134, 3.19475, -4.4803, 63.9395, -5.0100,781.2688, 2135} +, { 1,135, 3.05018, -3.8755, 73.9549, -5.0100,780.9663, 2136} +, { 1,136, 2.92394, -3.4144, 83.9703, -5.0100,780.6638, 2137} +, { 1,137, 2.81196, -3.0513, 93.9857, -5.0100,780.3613, 2138} +, { 1,138, 2.71138, -2.7580,104.0012, -5.0100,780.0588, 2139} +, { 1,139, 2.62013, -2.5160,114.0166, -5.0100,779.7563, 2140} +, { 1,140, 2.53667, -2.3131,124.0321, -5.0100,779.4538, 2141} +, { 1,141, 2.45979, -2.1404,134.0475, -5.0100,779.1513, 2142} +, { 1,142, 2.38857, -1.9917,144.0629, -5.0100,778.8488, 2143} +, { 1,143, 4.01611,-32.1887, 23.8777,-15.0300,782.4788, 2144} +, { 1,144, 3.74281,-23.9150, 33.8931,-15.0300,782.1763, 2145} +, { 1,145, 3.51821,-18.8962, 43.9086,-15.0300,781.8738, 2146} +, { 1,146, 3.33075,-15.5745, 53.9240,-15.0300,781.5713, 2147} +, { 1,147, 3.17100,-13.2281, 63.9395,-15.0300,781.2688, 2148} +, { 1,148, 3.03231,-11.4879, 73.9549,-15.0300,780.9663, 2149} +, { 1,149, 2.91003,-10.1480, 83.9703,-15.0300,780.6638, 2150} +, { 1,150, 2.80083, -9.0857, 93.9857,-15.0300,780.3613, 2151} +, { 1,151, 2.70229, -8.2233,104.0012,-15.0300,780.0588, 2152} +, { 1,152, 2.61256, -7.5096,114.0166,-15.0300,779.7563, 2153} +, { 1,153, 2.53027, -6.9093,124.0321,-15.0300,779.4538, 2154} +, { 1,154, 2.45432, -6.3975,134.0475,-15.0300,779.1513, 2155} +, { 1,155, 2.38384, -5.9561,144.0629,-15.0300,778.8488, 2156} +, { 1,156, 3.81205,-46.3725, 23.8777,-25.0500,782.4788, 2157} +, { 1,157, 3.61482,-36.4676, 33.8931,-25.0500,782.1763, 2158} +, { 1,158, 3.43289,-29.7049, 43.9086,-25.0500,781.8738, 2159} +, { 1,159, 3.27062,-24.9169, 53.9240,-25.0500,781.5713, 2160} +, { 1,160, 3.12666,-21.3941, 63.9395,-25.0500,781.2688, 2161} +, { 1,161, 2.99841,-18.7123, 73.9549,-25.0500,780.9663, 2162} +, { 1,162, 2.88334,-16.6109, 83.9703,-25.0500,780.6638, 2163} +, { 1,163, 2.77931,-14.9241, 93.9857,-25.0500,780.3613, 2164} +, { 1,164, 2.68459,-13.5425,104.0012,-25.0500,780.0588, 2165} +, { 1,165, 2.59777,-12.3913,114.0166,-25.0500,779.7563, 2166} +, { 1,166, 2.51774,-11.4181,124.0321,-25.0500,779.4538, 2167} +, { 1,167, 2.44357,-10.5850,134.0475,-25.0500,779.1513, 2168} +, { 1,168, 2.37452, -9.8641,144.0629,-25.0500,778.8488, 2169} +, { 1,169, 3.60856,-55.7507, 23.8777,-35.0700,782.4788, 2170} +, { 1,170, 3.46905,-45.9777, 33.8931,-35.0700,782.1763, 2171} +, { 1,171, 3.32730,-38.6145, 43.9086,-35.0700,781.8738, 2172} +, { 1,172, 3.19219,-33.0383, 53.9240,-35.0700,781.5713, 2173} +, { 1,173, 3.06680,-28.7442, 63.9395,-35.0700,781.2688, 2174} +, { 1,174, 2.95154,-25.3707, 73.9549,-35.0700,780.9663, 2175} +, { 1,175, 2.84582,-22.6677, 83.9703,-35.0700,780.6638, 2176} +, { 1,176, 2.74869,-20.4626, 93.9857,-35.0700,780.3613, 2177} +, { 1,177, 2.65918,-18.6345,104.0012,-35.0700,780.0588, 2178} +, { 1,178, 2.57639,-17.0972,114.0166,-35.0700,779.7563, 2179} +, { 1,179, 2.49951,-15.7882,124.0321,-35.0700,779.4538, 2180} +, { 1,180, 2.42787,-14.6613,134.0475,-35.0700,779.1513, 2181} +, { 1,181, 2.36087,-13.6817,144.0629,-35.0700,778.8488, 2182} +, { 1,182, 3.42442,-62.0962, 23.8777,-45.0900,782.4788, 2183} +, { 1,183, 3.32392,-53.0686, 33.8931,-45.0900,782.1763, 2184} +, { 1,184, 3.21432,-45.7605, 43.9086,-45.0900,781.8738, 2185} +, { 1,185, 3.10382,-39.9016, 53.9240,-45.0900,781.5713, 2186} +, { 1,186, 2.99679,-35.1914, 63.9395,-45.0900,781.2688, 2187} +, { 1,187, 2.89525,-31.3705, 73.9549,-45.0900,780.9663, 2188} +, { 1,188, 2.79986,-28.2347, 83.9703,-45.0900,780.6638, 2189} +, { 1,189, 2.71062,-25.6295, 93.9857,-45.0900,780.3613, 2190} +, { 1,190, 2.62723,-23.4393,104.0012,-45.0900,780.0588, 2191} +, { 1,191, 2.54926,-21.5772,114.0166,-45.0900,779.7563, 2192} +, { 1,192, 2.47623,-19.9780,124.0321,-45.0900,779.4538, 2193} +, { 1,193, 2.40770,-18.5916,134.0475,-45.0900,779.1513, 2194} +, { 1,194, 2.34325,-17.3795,144.0629,-45.0900,778.8488, 2195} +, { 1,195, 3.26173,-66.5742, 23.8777,-55.1100,782.4788, 2196} +, { 1,196, 3.18720,-58.4081, 33.8931,-55.1100,782.1763, 2197} +, { 1,197, 3.10177,-51.4541, 43.9086,-55.1100,781.8738, 2198} +, { 1,198, 3.01173,-45.6232, 53.9240,-55.1100,781.5713, 2199} +, { 1,199, 2.92126,-40.7584, 63.9395,-55.1100,781.2688, 2200} +, { 1,200, 2.83286,-36.6929, 73.9549,-55.1100,780.9663, 2201} +, { 1,201, 2.74785,-33.2770, 83.9703,-55.1100,780.6638, 2202} +, { 1,202, 2.66684,-30.3859, 93.9857,-55.1100,780.3613, 2203} +, { 1,203, 2.59002,-27.9190,104.0012,-55.1100,780.0588, 2204} +, { 1,204, 2.51733,-25.7968,114.0166,-55.1100,779.7563, 2205} +, { 1,205, 2.44861,-23.9566,124.0321,-55.1100,779.4538, 2206} +, { 1,206, 2.38361,-22.3487,134.0475,-55.1100,779.1513, 2207} +, { 1,207, 2.32209,-20.9339,144.0629,-55.1100,778.8488, 2208} +, { 1,208, 3.11813,-69.8662, 23.8777,-65.1300,782.4788, 2209} +, { 1,209, 3.06121,-62.5079, 33.8931,-65.1300,782.1763, 2210} +, { 1,210, 2.99364,-56.0134, 43.9086,-65.1300,781.8738, 2211} +, { 1,211, 2.91995,-50.3771, 53.9240,-65.1300,781.5713, 2212} +, { 1,212, 2.84364,-45.5285, 63.9395,-65.1300,781.2688, 2213} +, { 1,213, 2.76712,-41.3695, 73.9549,-65.1300,780.9663, 2214} +, { 1,214, 2.69193,-37.7983, 83.9703,-65.1300,780.6638, 2215} +, { 1,215, 2.61899,-34.7211, 93.9857,-65.1300,780.3613, 2216} +, { 1,216, 2.54881,-32.0566,104.0012,-65.1300,780.0588, 2217} +, { 1,217, 2.48160,-29.7364,114.0166,-65.1300,779.7563, 2218} +, { 1,218, 2.41742,-27.7042,124.0321,-65.1300,779.4538, 2219} +, { 1,219, 2.35621,-25.9138,134.0475,-65.1300,779.1513, 2220} +, { 1,220, 2.29787,-24.3274,144.0629,-65.1300,778.8488, 2221} +, { 1,221, 2.99057,-72.3732, 23.8777,-75.1500,782.4788, 2222} +, { 1,222, 2.94593,-65.7243, 33.8931,-75.1500,782.1763, 2223} +, { 1,223, 2.89159,-59.7031, 43.9086,-75.1500,781.8738, 2224} +, { 1,224, 2.83078,-54.3386, 53.9240,-75.1500,781.5713, 2225} +, { 1,225, 2.76625,-49.6081, 63.9395,-75.1500,781.2688, 2226} +, { 1,226, 2.70010,-45.4592, 73.9549,-75.1500,780.9663, 2227} +, { 1,227, 2.63384,-41.8272, 83.9703,-75.1500,780.6638, 2228} +, { 1,228, 2.56851,-38.6455, 93.9857,-75.1500,780.3613, 2229} +, { 1,229, 2.50475,-35.8514,104.0012,-75.1500,780.0588, 2230} +, { 1,230, 2.44298,-33.3895,114.0166,-75.1500,779.7563, 2231} +, { 1,231, 2.38340,-31.2113,124.0321,-75.1500,779.4538, 2232} +, { 1,232, 2.32609,-29.2760,134.0475,-75.1500,779.1513, 2233} +, { 1,233, 2.27108,-27.5487,144.0629,-75.1500,778.8488, 2234} +, { 1,234, 2.87631,-74.3390, 23.8777,-85.1700,782.4788, 2235} +, { 1,235, 2.84049,-68.3001, 33.8931,-85.1700,782.1763, 2236} +, { 1,236, 2.79608,-62.7271, 43.9086,-85.1700,781.8738, 2237} +, { 1,237, 2.74539,-57.6607, 53.9240,-85.1700,781.5713, 2238} +, { 1,238, 2.69054,-53.1034, 63.9395,-85.1700,781.2688, 2239} +, { 1,239, 2.63326,-49.0315, 73.9549,-85.1700,780.9663, 2240} +, { 1,240, 2.57493,-45.4064, 83.9703,-85.1700,780.6638, 2241} +, { 1,241, 2.51655,-42.1829, 93.9857,-85.1700,780.3613, 2242} +, { 1,242, 2.45885,-39.3152,104.0012,-85.1700,780.0588, 2243} +, { 1,243, 2.40231,-36.7596,114.0166,-85.1700,779.7563, 2244} +, { 1,244, 2.34724,-34.4765,124.0321,-85.1700,779.4538, 2245} +, { 1,245, 2.29383,-32.4307,134.0475,-85.1700,779.1513, 2246} +, { 1,246, 2.24219,-30.5916,144.0629,-85.1700,778.8488, 2247} +, { 1,247, 2.77314,-75.9183, 23.8777,-95.1900,782.4788, 2248} +, { 1,248, 2.74382,-70.4013, 33.8931,-95.1900,782.1763, 2249} +, { 1,249, 2.70697,-65.2374, 43.9086,-95.1900,781.8738, 2250} +, { 1,250, 2.66428,-60.4690, 53.9240,-95.1900,781.5713, 2251} +, { 1,251, 2.61734,-56.1106, 63.9395,-95.1900,781.2688, 2252} +, { 1,252, 2.56758,-52.1557, 73.9549,-95.1900,780.9663, 2253} +, { 1,253, 2.51617,-48.5834, 83.9703,-95.1900,780.6638, 2254} +, { 1,254, 2.46405,-45.3647, 93.9857,-95.1900,780.3613, 2255} +, { 1,255, 2.41192,-42.4672,104.0012,-95.1900,780.0588, 2256} +, { 1,256, 2.36030,-39.8578,114.0166,-95.1900,779.7563, 2257} +, { 1,257, 2.30956,-37.5049,124.0321,-95.1900,779.4538, 2258} +, { 1,258, 2.25995,-35.3794,134.0475,-95.1900,779.1513, 2259} +, { 1,259, 2.21164,-33.4549,144.0629,-95.1900,778.8488, 2260} +}; + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "========================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and FCS/ECAL hits on single muons" << std::endl; + LOG_TEST << "========================================================" << std::endl; + + auto testCalos = [=](std::vector& calorimeter, bool dowcal) { + + for ( auto cell : calorimeter ) { + pm->SetVertex(cell.x,cell.y,cell.z-100.0); + + auto* chain = StMaker::GetChain(); + { + const double pz = 10.0; + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* particle = _kine->AddParticle( "mu+" ); + particle->SetPx( 0. ); + particle->SetPy( 0. ); + particle->SetPz( pz ); + double mass = particle->GetMass(); + double ener = sqrt( pz*pz + mass*mass ); + particle->SetEnergy(ener); + chain->Clear(); + chain->Make(); + } + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + if ( dowcal ) + hit_table = dynamic_cast( chain->GetDataSet("g2t_wca_hit") ) ; + else + hit_table = dynamic_cast( chain->GetDataSet("g2t_hca_hit") ) ; + + LOG_TEST << GIVEN << "a 500 GeV muon @ eta=" << cell.eta << " phi=" << cell.phi << " volume=" << cell.volumeId << std::endl; + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + // Failure is tested by check_track when it tests for a valid track pointer + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "The start vertex should be before the calorimeter", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) + if ( vertex->ge_x[2] < cell.z ) + result = PASS; + return result; + }); + + check_track( "The track should have a stop vertex", [=](const g2t_track_st* t){ + return (t->stop_vertex_p>0)?PASS:FAIL; + }); + check_track( "The stop vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + + check_track( "The stop vertex should be after the calorimeter face", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_x[2] >= cell.z ) + result = PASS; + else + result = Form("stop z=%8.4f ",vertex->ge_x[2]) + FAIL; + } + return result; + }); + + + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + + if ( dowcal ) + check_track( "The track should have WCA hits" , [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->n_wca_hit < 1 ) result = FAIL; + return result; + }); + else + check_track( "The track should have HCA hits" , [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->n_hca_hit < 1 ) result = FAIL; + return result; + }); + + // check_track( "The track should have PRE hits" , [=](const g2t_track_st* t){ + // std::string result = PASS; + // if ( t->n_pre_hit < 1 ) result = FAIL; + // return result; + // }); + + + check_emc_hit( Form("The hit has the expected volume ID %s",(dowcal)?"WCAL":"HCAL"), [=](const g2t_emc_hit_st* h){ + int volumeId = h->volume_id; + int expected = cell.volumeId; + int nhits = hit_table->GetNRows(); + int actual = -999; + double emax = -999; + for ( int i=0; iAt(i); + const g2t_emc_hit_st* h = static_cast( voidhit ); + if ( h->de > emax ) { + emax = h->de; + actual = h->volume_id; + } + } + std::string result = PASS; + if ( actual != expected ) { + result = FAIL; + } + result = Form("(expect=%i actual=%i)",expected,actual) + result; + return result; + }); + + } + + + }; + + testCalos( wcal, true ); + testCalos( hcal, false ); + +} + + + +#if 0 +std::vector wcal = { + { 0, 0, 2.75399,102.4419, 1001} + , { 0, 1, 2.73960,105.7065, 1002} + , { 0, 2, 2.72233,108.8698, 1003} + , { 0, 3, 2.70249,111.9182, 1004} + , { 0, 4, 2.68040,114.8415, 1005} + , { 0, 5, 2.65638,117.6331, 1006} + , { 0, 6, 2.63075,120.2893, 1007} + , { 0, 7, 2.60380,122.8091, 1008} + , { 0, 8, 2.57581,125.1937, 1009} + , { 0, 9, 2.54702,127.4462, 1010} + , { 0, 10, 2.51766,129.5709, 1011} + , { 0, 11, 2.48791,131.5728, 1012} + , { 0, 12, 2.45794,133.4580, 1013} + , { 0, 13, 2.42789,135.2326, 1014} + , { 0, 14, 2.39788,136.9028, 1015} + , { 0, 15, 2.36801,138.4752, 1016} + , { 0, 16, 2.33837,139.9558, 1017} + , { 0, 17, 2.30901,141.3506, 1018} + , { 0, 18, 2.27999,142.6654, 1019} + , { 0, 19, 2.25136,143.9056, 1020} + , { 0, 20, 2.22314,145.0762, 1021} + , { 0, 21, 2.19537,146.1822, 1022} + , { 0, 22, 2.81298,103.2173, 1023} + , { 0, 23, 2.79681,106.6652, 1024} + , { 0, 24, 2.77748,109.9934, 1025} + , { 0, 25, 2.75536,113.1867, 1026} + , { 0, 26, 2.73085,116.2347, 1027} + , { 0, 27, 2.70433,119.1309, 1028} + , { 0, 28, 2.67616,121.8728, 1029} + , { 0, 29, 2.64669,124.4607, 1030} + , { 0, 30, 2.61623,126.8977, 1031} + , { 0, 31, 2.58506,129.1885, 1032} + , { 0, 32, 2.55341,131.3391, 1033} + , { 0, 33, 2.52148,133.3566, 1034} + , { 0, 34, 2.48945,135.2483, 1035} + , { 0, 35, 2.45747,137.0220, 1036} + , { 0, 36, 2.42565,138.6851, 1037} + , { 0, 37, 2.39408,140.2452, 1038} + , { 0, 38, 2.36286,141.7095, 1039} + , { 0, 39, 2.33203,143.0848, 1040} + , { 0, 40, 2.30164,144.3775, 1041} + , { 0, 41, 2.27174,145.5936, 1042} + , { 0, 42, 2.24234,146.7387, 1043} + , { 0, 43, 2.21346,147.8181, 1044} + , { 0, 44, 2.87553,104.0936, 1045} + , { 0, 45, 2.85724,107.7445, 1046} + , { 0, 46, 2.83547,111.2526, 1047} + , { 0, 47, 2.81069,114.6014, 1048} + , { 0, 48, 2.78337,117.7802, 1049} + , { 0, 49, 2.75397,120.7837, 1050} + , { 0, 50, 2.72292,123.6107, 1051} + , { 0, 51, 2.69062,126.2638, 1052} + , { 0, 52, 2.65742,128.7483, 1053} + , { 0, 53, 2.62362,131.0712, 1054} + , { 0, 54, 2.58948,133.2408, 1055} + , { 0, 55, 2.55520,135.2663, 1056} + , { 0, 56, 2.52097,137.1569, 1057} + , { 0, 57, 2.48694,138.9219, 1058} + , { 0, 58, 2.45320,140.5704, 1059} + , { 0, 59, 2.41987,142.1112, 1060} + , { 0, 60, 2.38700,143.5524, 1061} + , { 0, 61, 2.35465,144.9016, 1062} + , { 0, 62, 2.32286,146.1662, 1063} + , { 0, 63, 2.29166,147.3526, 1064} + , { 0, 64, 2.26106,148.4670, 1065} + , { 0, 65, 2.23108,149.5150, 1066} + , { 0, 66, 2.94206,105.0914, 1067} + , { 0, 67, 2.92122,108.9679, 1068} + , { 0, 68, 2.89654,112.6723, 1069} + , { 0, 69, 2.86861,116.1871, 1070} + , { 0, 70, 2.83801,119.5021, 1071} + , { 0, 71, 2.80530,122.6136, 1072} + , { 0, 72, 2.77098,125.5231, 1073} + , { 0, 73, 2.73551,128.2361, 1074} + , { 0, 74, 2.69926,130.7608, 1075} + , { 0, 75, 2.66258,133.1073, 1076} + , { 0, 76, 2.62573,135.2869, 1077} + , { 0, 77, 2.58893,137.3109, 1078} + , { 0, 78, 2.55236,139.1910, 1079} + , { 0, 79, 2.51615,140.9384, 1080} + , { 0, 80, 2.48042,142.5636, 1081} + , { 0, 81, 2.44524,144.0767, 1082} + , { 0, 82, 2.41068,145.4871, 1083} + , { 0, 83, 2.37677,146.8032, 1084} + , { 0, 84, 2.34355,148.0330, 1085} + , { 0, 85, 2.31103,149.1836, 1086} + , { 0, 86, 2.27922,150.2617, 1087} + , { 0, 87, 2.24812,151.2731, 1088} + , { 0, 88, 3.01304,106.2373, 1089} + , { 0, 89, 2.98909,110.3648, 1090} + , { 0, 90, 2.96092,114.2830, 1091} + , { 0, 91, 2.92926,117.9738, 1092} + , { 0, 92, 2.89482,121.4286, 1093} + , { 0, 93, 2.85829,124.6464, 1094} + , { 0, 94, 2.82025,127.6327, 1095} + , { 0, 95, 2.78120,130.3971, 1096} + , { 0, 96, 2.74159,132.9517, 1097} + , { 0, 97, 2.70176,135.3107, 1098} + , { 0, 98, 2.66198,137.4885, 1099} + , { 0, 99, 2.62248,139.4996, 1100} + , { 0,100, 2.58342,141.3580, 1101} + , { 0,101, 2.54494,143.0769, 1102} + , { 0,102, 2.50713,144.6688, 1103} + , { 0,103, 2.47005,146.1450, 1104} + , { 0,104, 2.43375,147.5159, 1105} + , { 0,105, 2.39826,148.7910, 1106} + , { 0,106, 2.36359,149.9789, 1107} + , { 0,107, 2.32975,151.0872, 1108} + , { 0,108, 2.29672,152.1230, 1109} + , { 0,109, 2.26452,153.0925, 1110} + , { 0,110, 3.08904,107.5656, 1111} + , { 0,111, 3.06127,111.9728, 1112} + , { 0,112, 3.02884,116.1229, 1113} + , { 0,113, 2.99272,119.9982, 1114} + , { 0,114, 2.95378,123.5931, 1115} + , { 0,115, 2.91283,126.9118, 1116} + , { 0,116, 2.87055,129.9650, 1117} + , { 0,117, 2.82752,132.7681, 1118} + , { 0,118, 2.78418,135.3387, 1119} + , { 0,119, 2.74092,137.6954, 1120} + , { 0,120, 2.69800,139.8569, 1121} + , { 0,121, 2.65563,141.8409, 1122} + , { 0,122, 2.61396,143.6643, 1123} + , { 0,123, 2.57312,145.3425, 1124} + , { 0,124, 2.53316,146.8897, 1125} + , { 0,125, 2.49413,148.3186, 1126} + , { 0,126, 2.45607,149.6406, 1127} + , { 0,127, 2.41898,150.8661, 1128} + , { 0,128, 2.38286,152.0042, 1129} + , { 0,129, 2.34769,153.0633, 1130} + , { 0,130, 2.31347,154.0505, 1131} + , { 0,131, 2.28016,154.9724, 1132} + , { 0,132, 3.17069,109.1218, 1133} + , { 0,133, 3.13815,113.8407, 1134} + , { 0,134, 3.10053,118.2401, 1135} + , { 0,135, 3.05904,122.3048, 1136} + , { 0,136, 3.01479,126.0353, 1137} + , { 0,137, 2.96874,129.4434, 1138} + , { 0,138, 2.92165,132.5480, 1139} + , { 0,139, 2.87417,135.3720, 1140} + , { 0,140, 2.82676,137.9397, 1141} + , { 0,141, 2.77978,140.2755, 1142} + , { 0,142, 2.73351,142.4027, 1143} + , { 0,143, 2.68812,144.3429, 1144} + , { 0,144, 2.64374,146.1158, 1145} + , { 0,145, 2.60045,147.7391, 1146} + , { 0,146, 2.55830,149.2288, 1147} + , { 0,147, 2.51731,150.5988, 1148} + , { 0,148, 2.47747,151.8617, 1149} + , { 0,149, 2.43878,153.0284, 1150} + , { 0,150, 2.40122,154.1087, 1151} + , { 0,151, 2.36475,155.1111, 1152} + , { 0,152, 2.32934,156.0432, 1153} + , { 0,153, 2.29497,156.9117, 1154} + , { 0,154, 3.25874,110.9669, 1155} + , { 0,155, 3.22016,116.0317, 1156} + , { 0,156, 3.17611,120.6947, 1157} + , { 0,157, 3.12815,124.9477, 1158} + , { 0,158, 3.07764,128.8015, 1159} + , { 0,159, 3.02570,132.2795, 1160} + , { 0,160, 2.97319,135.4122, 1161} + , { 0,161, 2.92078,138.2323, 1162} + , { 0,162, 2.86893,140.7726, 1163} + , { 0,163, 2.81799,143.0641, 1164} + , { 0,164, 2.76818,145.1354, 1165} + , { 0,165, 2.71965,147.0120, 1166} + , { 0,166, 2.67248,148.7166, 1167} + , { 0,167, 2.62670,150.2692, 1168} + , { 0,168, 2.58234,151.6873, 1169} + , { 0,169, 2.53938,152.9860, 1170} + , { 0,170, 2.49778,154.1788, 1171} + , { 0,171, 2.45752,155.2770, 1172} + , { 0,172, 2.41854,156.2908, 1173} + , { 0,173, 2.38080,157.2291, 1174} + , { 0,174, 2.34424,158.0994, 1175} + , { 0,175, 2.30883,158.9086, 1176} + , { 0,176, 3.35401,113.1847, 1177} + , { 0,177, 3.30770,118.6291, 1178} + , { 0,178, 3.25563,123.5631, 1179} + , { 0,179, 3.19983,127.9921, 1180} + , { 0,180, 3.14195,131.9447, 1181} + , { 0,181, 3.08325,135.4618, 1182} + , { 0,182, 3.02467,138.5892, 1183} + , { 0,183, 2.96685,141.3723, 1184} + , { 0,184, 2.91024,143.8540, 1185} + , { 0,185, 2.85511,146.0727, 1186} + , { 0,186, 2.80162,148.0624, 1187} + , { 0,187, 2.74986,149.8527, 1188} + , { 0,188, 2.69986,151.4691, 1189} + , { 0,189, 2.65160,152.9336, 1190} + , { 0,190, 2.60504,154.2649, 1191} + , { 0,191, 2.56013,155.4792, 1192} + , { 0,192, 2.51681,156.5902, 1193} + , { 0,193, 2.47502,157.6099, 1194} + , { 0,194, 2.43467,158.5485, 1195} + , { 0,195, 2.39571,159.4149, 1196} + , { 0,196, 2.35806,160.2167, 1197} + , { 0,197, 2.32166,160.9607, 1198} + , { 0,198, 3.45737,115.8914, 1199} + , { 0,199, 3.40100,121.7435, 1200} + , { 0,200, 3.33888,126.9407, 1201} + , { 0,201, 3.27359,131.5155, 1202} + , { 0,202, 3.20707,135.5245, 1203} + , { 0,203, 3.14069,139.0341, 1204} + , { 0,204, 3.07539,142.1101, 1205} + , { 0,205, 3.01175,144.8134, 1206} + , { 0,206, 2.95010,147.1979, 1207} + , { 0,207, 2.89062,149.3097, 1208} + , { 0,208, 2.83338,151.1883, 1209} + , { 0,209, 2.77838,152.8669, 1210} + , { 0,210, 2.72555,154.3732, 1211} + , { 0,211, 2.67484,155.7308, 1212} + , { 0,212, 2.62614,156.9593, 1213} + , { 0,213, 2.57935,158.0753, 1214} + , { 0,214, 2.53438,159.0928, 1215} + , { 0,215, 2.49112,160.0237, 1216} + , { 0,216, 2.44948,160.8783, 1217} + , { 0,217, 2.40936,161.6652, 1218} + , { 0,218, 2.37068,162.3918, 1219} + , { 0,219, 2.33336,163.0647, 1220} + , { 0,220, 3.56964,119.2516, 1221} + , { 0,221, 3.50003,125.5208, 1222} + , { 0,222, 3.42526,130.9454, 1223} + , { 0,223, 3.34854,135.6063, 1224} + , { 0,224, 3.27202,139.6041, 1225} + , { 0,225, 3.19707,143.0394, 1226} + , { 0,226, 3.12448,146.0029, 1227} + , { 0,227, 3.05468,148.5725, 1228} + , { 0,228, 2.98782,150.8134, 1229} + , { 0,229, 2.92394,152.7791, 1230} + , { 0,230, 2.86295,154.5136, 1231} + , { 0,231, 2.80475,156.0526, 1232} + , { 0,232, 2.74919,157.4256, 1233} + , { 0,233, 2.69612,158.6567, 1234} + , { 0,234, 2.64537,159.7658, 1235} + , { 0,235, 2.59681,160.7696, 1236} + , { 0,236, 2.55029,161.6817, 1237} + , { 0,237, 2.50566,162.5138, 1238} + , { 0,238, 2.46282,163.2756, 1239} + , { 0,239, 2.42163,163.9756, 1240} + , { 0,240, 2.38201,164.6206, 1241} + , { 0,241, 2.34384,165.2169, 1242} + , { 0,242, 3.69127,123.5003, 1243} + , { 0,243, 3.60407,130.1520, 1244} + , { 0,244, 3.51349,135.7175, 1245} + , { 0,245, 3.42320,140.3606, 1246} + , { 0,246, 3.33536,144.2451, 1247} + , { 0,247, 3.25107,147.5146, 1248} + , { 0,248, 3.17081,150.2876, 1249} + , { 0,249, 3.09469,152.6587, 1250} + , { 0,250, 3.02262,154.7027, 1251} + , { 0,251, 2.95440,156.4787, 1252} + , { 0,252, 2.88979,158.0334, 1253} + , { 0,253, 2.82854,159.4037, 1254} + , { 0,254, 2.77040,160.6193, 1255} + , { 0,255, 2.71512,161.7041, 1256} + , { 0,256, 2.66249,162.6775, 1257} + , { 0,257, 2.61229,163.5552, 1258} + , { 0,258, 2.56434,164.3504, 1259} + , { 0,259, 2.51848,165.0739, 1260} + , { 0,260, 2.47455,165.7348, 1261} + , { 0,261, 2.43241,166.3407, 1262} + , { 0,262, 2.39193,166.8981, 1263} + , { 0,263, 2.35300,167.4125, 1264} + , { 0,264, 3.82172,128.9722, 1265} + , { 0,265, 3.71123,135.8773, 1266} + , { 0,266, 3.60120,141.4121, 1267} + , { 0,267, 3.49530,145.8703, 1268} + , { 0,268, 3.39509,149.4971, 1269} + , { 0,269, 3.30103,152.4829, 1270} + , { 0,270, 3.21302,154.9713, 1271} + , { 0,271, 3.13069,157.0696, 1272} + , { 0,272, 3.05361,158.8583, 1273} + , { 0,273, 2.98130,160.3983, 1274} + , { 0,274, 2.91333,161.7365, 1275} + , { 0,275, 2.84929,162.9087, 1276} + , { 0,276, 2.78880,163.9433, 1277} + , { 0,277, 2.73154,164.8625, 1278} + , { 0,278, 2.67722,165.6843, 1279} + , { 0,279, 2.62557,166.4231, 1280} + , { 0,280, 2.57638,167.0905, 1281} + , { 0,281, 2.52943,167.6964, 1282} + , { 0,282, 2.48455,168.2487, 1283} + , { 0,283, 2.44157,168.7542, 1284} + , { 0,284, 2.40035,169.2185, 1285} + , { 0,285, 2.36077,169.6464, 1286} + , { 0,286, 3.95803,136.1266, 1287} + , { 0,287, 3.81739,142.9721, 1288} + , { 0,288, 3.68452,148.1753, 1289} + , { 0,289, 3.56159,152.2025, 1290} + , { 0,290, 3.44865,155.3828, 1291} + , { 0,291, 3.34497,157.9432, 1292} + , { 0,292, 3.24957,160.0411, 1293} + , { 0,293, 3.16150,161.7871, 1294} + , { 0,294, 3.07987,163.2602, 1295} + , { 0,295, 3.00393,164.5184, 1296} + , { 0,296, 2.93300,165.6043, 1297} + , { 0,297, 2.86653,166.5505, 1298} + , { 0,298, 2.80403,167.3819, 1299} + , { 0,299, 2.74508,168.1179, 1300} + , { 0,300, 2.68933,168.7738, 1301} + , { 0,301, 2.63646,169.3619, 1302} + , { 0,302, 2.58622,169.8921, 1303} + , { 0,303, 2.53837,170.3723, 1304} + , { 0,304, 2.49269,170.8094, 1305} + , { 0,305, 2.44902,171.2089, 1306} + , { 0,306, 2.40720,171.5752, 1307} + , { 0,307, 2.36708,171.9125, 1308} + , { 0,308, 4.09206,145.5213, 1309} + , { 0,309, 3.91508,151.6843, 1310} + , { 0,310, 3.75764,156.0922, 1311} + , { 0,311, 3.61782,159.3656, 1312} + , { 0,312, 3.49298,161.8775, 1313} + , { 0,313, 3.38067,163.8588, 1314} + , { 0,314, 3.27886,165.4581, 1315} + , { 0,315, 3.18593,166.7742, 1316} + , { 0,316, 3.10053,167.8751, 1317} + , { 0,317, 3.02160,168.8090, 1318} + , { 0,318, 2.94829,169.6108, 1319} + , { 0,319, 2.87987,170.3064, 1320} + , { 0,320, 2.81577,170.9154, 1321} + , { 0,321, 2.75549,171.4530, 1322} + , { 0,322, 2.69861,171.9309, 1323} + , { 0,323, 2.64480,172.3585, 1324} + , { 0,324, 2.59374,172.7432, 1325} + , { 0,325, 2.54518,173.0913, 1326} + , { 0,326, 2.49889,173.4077, 1327} + , { 0,327, 2.45469,173.6964, 1328} + , { 0,328, 2.41240,173.9610, 1329} + , { 0,329, 2.37187,174.2044, 1330} + , { 0,330, 4.20677,157.6063, 1331} + , { 0,331, 3.99276,162.0851, 1332} + , { 0,332, 3.81311,165.1053, 1333} + , { 0,333, 3.65917,167.2686, 1334} + , { 0,334, 3.52488,168.8901, 1335} + , { 0,335, 3.40597,170.1489, 1336} + , { 0,336, 3.29940,171.1535, 1337} + , { 0,337, 3.20291,171.9734, 1338} + , { 0,338, 3.11479,172.6550, 1339} + , { 0,339, 3.03375,173.2304, 1340} + , { 0,340, 2.95875,173.7225, 1341} + , { 0,341, 2.88897,174.1481, 1342} + , { 0,342, 2.82375,174.5199, 1343} + , { 0,343, 2.76255,174.8473, 1344} + , { 0,344, 2.70490,175.1380, 1345} + , { 0,345, 2.65043,175.3976, 1346} + , { 0,346, 2.59881,175.6310, 1347} + , { 0,347, 2.54977,175.8419, 1348} + , { 0,348, 2.50307,176.0334, 1349} + , { 0,349, 2.45851,176.2081, 1350} + , { 0,350, 2.41590,176.3680, 1351} + , { 0,351, 2.37509,176.5150, 1352} + , { 0,352, 4.27581,172.1795, 1353} + , { 0,353, 4.03666,173.8496, 1354} + , { 0,354, 3.84335,174.9334, 1355} + , { 0,355, 3.68121,175.6931, 1356} + , { 0,356, 3.54163,176.2549, 1357} + , { 0,357, 3.41913,176.6873, 1358} + , { 0,358, 3.31000,177.0302, 1359} + , { 0,359, 3.21162,177.3088, 1360} + , { 0,360, 3.12208,177.5397, 1361} + , { 0,361, 3.03993,177.7341, 1362} + , { 0,362, 2.96406,177.9000, 1363} + , { 0,363, 2.89359,178.0433, 1364} + , { 0,364, 2.82780,178.1683, 1365} + , { 0,365, 2.76612,178.2783, 1366} + , { 0,366, 2.70808,178.3759, 1367} + , { 0,367, 2.65327,178.4629, 1368} + , { 0,368, 2.60137,178.5412, 1369} + , { 0,369, 2.55209,178.6118, 1370} + , { 0,370, 2.50518,178.6759, 1371} + , { 0,371, 2.46043,178.7344, 1372} + , { 0,372, 2.41766,178.7879, 1373} + , { 0,373, 2.37670,178.8371, 1374} + , { 0,374, 4.27581,-172.1795, 1375} + , { 0,375, 4.03666,-173.8496, 1376} + , { 0,376, 3.84335,-174.9334, 1377} + , { 0,377, 3.68121,-175.6931, 1378} + , { 0,378, 3.54163,-176.2549, 1379} + , { 0,379, 3.41913,-176.6873, 1380} + , { 0,380, 3.31000,-177.0302, 1381} + , { 0,381, 3.21162,-177.3088, 1382} + , { 0,382, 3.12208,-177.5397, 1383} + , { 0,383, 3.03993,-177.7341, 1384} + , { 0,384, 2.96406,-177.9000, 1385} + , { 0,385, 2.89359,-178.0433, 1386} + , { 0,386, 2.82780,-178.1683, 1387} + , { 0,387, 2.76612,-178.2783, 1388} + , { 0,388, 2.70808,-178.3759, 1389} + , { 0,389, 2.65327,-178.4629, 1390} + , { 0,390, 2.60137,-178.5412, 1391} + , { 0,391, 2.55209,-178.6118, 1392} + , { 0,392, 2.50518,-178.6759, 1393} + , { 0,393, 2.46043,-178.7344, 1394} + , { 0,394, 2.41766,-178.7879, 1395} + , { 0,395, 2.37670,-178.8371, 1396} + , { 0,396, 4.20677,-157.6063, 1397} + , { 0,397, 3.99276,-162.0851, 1398} + , { 0,398, 3.81311,-165.1053, 1399} + , { 0,399, 3.65917,-167.2686, 1400} + , { 0,400, 3.52488,-168.8901, 1401} + , { 0,401, 3.40597,-170.1489, 1402} + , { 0,402, 3.29940,-171.1535, 1403} + , { 0,403, 3.20291,-171.9734, 1404} + , { 0,404, 3.11479,-172.6550, 1405} + , { 0,405, 3.03375,-173.2304, 1406} + , { 0,406, 2.95875,-173.7225, 1407} + , { 0,407, 2.88897,-174.1481, 1408} + , { 0,408, 2.82375,-174.5199, 1409} + , { 0,409, 2.76255,-174.8473, 1410} + , { 0,410, 2.70490,-175.1380, 1411} + , { 0,411, 2.65043,-175.3976, 1412} + , { 0,412, 2.59881,-175.6310, 1413} + , { 0,413, 2.54977,-175.8419, 1414} + , { 0,414, 2.50307,-176.0334, 1415} + , { 0,415, 2.45851,-176.2081, 1416} + , { 0,416, 2.41590,-176.3680, 1417} + , { 0,417, 2.37509,-176.5150, 1418} + , { 0,418, 4.09206,-145.5213, 1419} + , { 0,419, 3.91508,-151.6843, 1420} + , { 0,420, 3.75764,-156.0922, 1421} + , { 0,421, 3.61782,-159.3656, 1422} + , { 0,422, 3.49298,-161.8775, 1423} + , { 0,423, 3.38067,-163.8588, 1424} + , { 0,424, 3.27886,-165.4581, 1425} + , { 0,425, 3.18593,-166.7742, 1426} + , { 0,426, 3.10053,-167.8751, 1427} + , { 0,427, 3.02160,-168.8090, 1428} + , { 0,428, 2.94829,-169.6108, 1429} + , { 0,429, 2.87987,-170.3064, 1430} + , { 0,430, 2.81577,-170.9154, 1431} + , { 0,431, 2.75549,-171.4530, 1432} + , { 0,432, 2.69861,-171.9309, 1433} + , { 0,433, 2.64480,-172.3585, 1434} + , { 0,434, 2.59374,-172.7432, 1435} + , { 0,435, 2.54518,-173.0913, 1436} + , { 0,436, 2.49889,-173.4077, 1437} + , { 0,437, 2.45469,-173.6964, 1438} + , { 0,438, 2.41240,-173.9610, 1439} + , { 0,439, 2.37187,-174.2044, 1440} + , { 0,440, 3.95803,-136.1266, 1441} + , { 0,441, 3.81739,-142.9721, 1442} + , { 0,442, 3.68452,-148.1754, 1443} + , { 0,443, 3.56159,-152.2025, 1444} + , { 0,444, 3.44865,-155.3828, 1445} + , { 0,445, 3.34497,-157.9432, 1446} + , { 0,446, 3.24957,-160.0411, 1447} + , { 0,447, 3.16150,-161.7871, 1448} + , { 0,448, 3.07987,-163.2602, 1449} + , { 0,449, 3.00393,-164.5184, 1450} + , { 0,450, 2.93300,-165.6043, 1451} + , { 0,451, 2.86653,-166.5505, 1452} + , { 0,452, 2.80403,-167.3819, 1453} + , { 0,453, 2.74508,-168.1179, 1454} + , { 0,454, 2.68933,-168.7738, 1455} + , { 0,455, 2.63646,-169.3619, 1456} + , { 0,456, 2.58622,-169.8921, 1457} + , { 0,457, 2.53837,-170.3723, 1458} + , { 0,458, 2.49269,-170.8094, 1459} + , { 0,459, 2.44902,-171.2089, 1460} + , { 0,460, 2.40720,-171.5752, 1461} + , { 0,461, 2.36708,-171.9125, 1462} + , { 0,462, 3.82172,-128.9722, 1463} + , { 0,463, 3.71123,-135.8773, 1464} + , { 0,464, 3.60120,-141.4121, 1465} + , { 0,465, 3.49530,-145.8703, 1466} + , { 0,466, 3.39509,-149.4971, 1467} + , { 0,467, 3.30103,-152.4829, 1468} + , { 0,468, 3.21302,-154.9713, 1469} + , { 0,469, 3.13069,-157.0696, 1470} + , { 0,470, 3.05361,-158.8583, 1471} + , { 0,471, 2.98130,-160.3983, 1472} + , { 0,472, 2.91333,-161.7365, 1473} + , { 0,473, 2.84929,-162.9087, 1474} + , { 0,474, 2.78880,-163.9433, 1475} + , { 0,475, 2.73154,-164.8625, 1476} + , { 0,476, 2.67722,-165.6843, 1477} + , { 0,477, 2.62557,-166.4231, 1478} + , { 0,478, 2.57638,-167.0905, 1479} + , { 0,479, 2.52943,-167.6964, 1480} + , { 0,480, 2.48455,-168.2487, 1481} + , { 0,481, 2.44157,-168.7542, 1482} + , { 0,482, 2.40035,-169.2185, 1483} + , { 0,483, 2.36077,-169.6464, 1484} + , { 0,484, 3.69127,-123.5003, 1485} + , { 0,485, 3.60408,-130.1520, 1486} + , { 0,486, 3.51349,-135.7175, 1487} + , { 0,487, 3.42320,-140.3606, 1488} + , { 0,488, 3.33536,-144.2451, 1489} + , { 0,489, 3.25107,-147.5146, 1490} + , { 0,490, 3.17081,-150.2876, 1491} + , { 0,491, 3.09469,-152.6587, 1492} + , { 0,492, 3.02262,-154.7027, 1493} + , { 0,493, 2.95440,-156.4787, 1494} + , { 0,494, 2.88979,-158.0334, 1495} + , { 0,495, 2.82854,-159.4037, 1496} + , { 0,496, 2.77040,-160.6193, 1497} + , { 0,497, 2.71512,-161.7041, 1498} + , { 0,498, 2.66249,-162.6775, 1499} + , { 0,499, 2.61229,-163.5552, 1500} + , { 0,500, 2.56434,-164.3504, 1501} + , { 0,501, 2.51848,-165.0739, 1502} + , { 0,502, 2.47455,-165.7348, 1503} + , { 0,503, 2.43241,-166.3407, 1504} + , { 0,504, 2.39193,-166.8981, 1505} + , { 0,505, 2.35300,-167.4125, 1506} + , { 0,506, 3.56964,-119.2516, 1507} + , { 0,507, 3.50003,-125.5208, 1508} + , { 0,508, 3.42526,-130.9454, 1509} + , { 0,509, 3.34854,-135.6063, 1510} + , { 0,510, 3.27202,-139.6041, 1511} + , { 0,511, 3.19707,-143.0394, 1512} + , { 0,512, 3.12448,-146.0028, 1513} + , { 0,513, 3.05468,-148.5725, 1514} + , { 0,514, 2.98782,-150.8134, 1515} + , { 0,515, 2.92394,-152.7791, 1516} + , { 0,516, 2.86295,-154.5136, 1517} + , { 0,517, 2.80475,-156.0526, 1518} + , { 0,518, 2.74919,-157.4256, 1519} + , { 0,519, 2.69612,-158.6567, 1520} + , { 0,520, 2.64537,-159.7658, 1521} + , { 0,521, 2.59681,-160.7696, 1522} + , { 0,522, 2.55029,-161.6817, 1523} + , { 0,523, 2.50566,-162.5138, 1524} + , { 0,524, 2.46282,-163.2756, 1525} + , { 0,525, 2.42163,-163.9756, 1526} + , { 0,526, 2.38201,-164.6206, 1527} + , { 0,527, 2.34384,-165.2169, 1528} + , { 0,528, 3.45737,-115.8914, 1529} + , { 0,529, 3.40100,-121.7435, 1530} + , { 0,530, 3.33888,-126.9407, 1531} + , { 0,531, 3.27359,-131.5155, 1532} + , { 0,532, 3.20707,-135.5245, 1533} + , { 0,533, 3.14069,-139.0341, 1534} + , { 0,534, 3.07539,-142.1101, 1535} + , { 0,535, 3.01175,-144.8134, 1536} + , { 0,536, 2.95010,-147.1979, 1537} + , { 0,537, 2.89062,-149.3097, 1538} + , { 0,538, 2.83338,-151.1883, 1539} + , { 0,539, 2.77838,-152.8669, 1540} + , { 0,540, 2.72555,-154.3732, 1541} + , { 0,541, 2.67484,-155.7308, 1542} + , { 0,542, 2.62614,-156.9593, 1543} + , { 0,543, 2.57935,-158.0753, 1544} + , { 0,544, 2.53438,-159.0928, 1545} + , { 0,545, 2.49112,-160.0237, 1546} + , { 0,546, 2.44948,-160.8783, 1547} + , { 0,547, 2.40936,-161.6652, 1548} + , { 0,548, 2.37068,-162.3918, 1549} + , { 0,549, 2.33336,-163.0647, 1550} + , { 0,550, 3.35401,-113.1847, 1551} + , { 0,551, 3.30770,-118.6291, 1552} + , { 0,552, 3.25563,-123.5631, 1553} + , { 0,553, 3.19983,-127.9921, 1554} + , { 0,554, 3.14195,-131.9447, 1555} + , { 0,555, 3.08325,-135.4618, 1556} + , { 0,556, 3.02467,-138.5892, 1557} + , { 0,557, 2.96685,-141.3723, 1558} + , { 0,558, 2.91024,-143.8540, 1559} + , { 0,559, 2.85511,-146.0727, 1560} + , { 0,560, 2.80162,-148.0624, 1561} + , { 0,561, 2.74986,-149.8527, 1562} + , { 0,562, 2.69986,-151.4691, 1563} + , { 0,563, 2.65160,-152.9336, 1564} + , { 0,564, 2.60504,-154.2649, 1565} + , { 0,565, 2.56013,-155.4792, 1566} + , { 0,566, 2.51681,-156.5902, 1567} + , { 0,567, 2.47502,-157.6099, 1568} + , { 0,568, 2.43467,-158.5485, 1569} + , { 0,569, 2.39571,-159.4149, 1570} + , { 0,570, 2.35806,-160.2167, 1571} + , { 0,571, 2.32166,-160.9607, 1572} + , { 0,572, 3.25874,-110.9669, 1573} + , { 0,573, 3.22016,-116.0317, 1574} + , { 0,574, 3.17611,-120.6947, 1575} + , { 0,575, 3.12815,-124.9477, 1576} + , { 0,576, 3.07764,-128.8015, 1577} + , { 0,577, 3.02570,-132.2795, 1578} + , { 0,578, 2.97319,-135.4122, 1579} + , { 0,579, 2.92078,-138.2323, 1580} + , { 0,580, 2.86893,-140.7726, 1581} + , { 0,581, 2.81799,-143.0641, 1582} + , { 0,582, 2.76818,-145.1354, 1583} + , { 0,583, 2.71965,-147.0120, 1584} + , { 0,584, 2.67248,-148.7166, 1585} + , { 0,585, 2.62670,-150.2692, 1586} + , { 0,586, 2.58234,-151.6873, 1587} + , { 0,587, 2.53938,-152.9860, 1588} + , { 0,588, 2.49778,-154.1788, 1589} + , { 0,589, 2.45752,-155.2770, 1590} + , { 0,590, 2.41854,-156.2908, 1591} + , { 0,591, 2.38080,-157.2291, 1592} + , { 0,592, 2.34424,-158.0994, 1593} + , { 0,593, 2.30883,-158.9086, 1594} + , { 0,594, 3.17069,-109.1218, 1595} + , { 0,595, 3.13815,-113.8407, 1596} + , { 0,596, 3.10053,-118.2401, 1597} + , { 0,597, 3.05904,-122.3048, 1598} + , { 0,598, 3.01479,-126.0353, 1599} + , { 0,599, 2.96874,-129.4434, 1600} + , { 0,600, 2.92165,-132.5480, 1601} + , { 0,601, 2.87417,-135.3720, 1602} + , { 0,602, 2.82676,-137.9397, 1603} + , { 0,603, 2.77978,-140.2755, 1604} + , { 0,604, 2.73351,-142.4027, 1605} + , { 0,605, 2.68812,-144.3429, 1606} + , { 0,606, 2.64374,-146.1158, 1607} + , { 0,607, 2.60045,-147.7391, 1608} + , { 0,608, 2.55830,-149.2288, 1609} + , { 0,609, 2.51731,-150.5988, 1610} + , { 0,610, 2.47747,-151.8617, 1611} + , { 0,611, 2.43878,-153.0284, 1612} + , { 0,612, 2.40122,-154.1087, 1613} + , { 0,613, 2.36475,-155.1111, 1614} + , { 0,614, 2.32934,-156.0432, 1615} + , { 0,615, 2.29497,-156.9117, 1616} + , { 0,616, 3.08904,-107.5656, 1617} + , { 0,617, 3.06127,-111.9728, 1618} + , { 0,618, 3.02884,-116.1229, 1619} + , { 0,619, 2.99272,-119.9982, 1620} + , { 0,620, 2.95378,-123.5931, 1621} + , { 0,621, 2.91283,-126.9118, 1622} + , { 0,622, 2.87055,-129.9650, 1623} + , { 0,623, 2.82752,-132.7681, 1624} + , { 0,624, 2.78418,-135.3387, 1625} + , { 0,625, 2.74092,-137.6954, 1626} + , { 0,626, 2.69800,-139.8569, 1627} + , { 0,627, 2.65563,-141.8409, 1628} + , { 0,628, 2.61396,-143.6643, 1629} + , { 0,629, 2.57312,-145.3426, 1630} + , { 0,630, 2.53316,-146.8897, 1631} + , { 0,631, 2.49413,-148.3186, 1632} + , { 0,632, 2.45607,-149.6406, 1633} + , { 0,633, 2.41898,-150.8661, 1634} + , { 0,634, 2.38286,-152.0042, 1635} + , { 0,635, 2.34769,-153.0633, 1636} + , { 0,636, 2.31347,-154.0505, 1637} + , { 0,637, 2.28016,-154.9724, 1638} + , { 0,638, 3.01304,-106.2373, 1639} + , { 0,639, 2.98909,-110.3648, 1640} + , { 0,640, 2.96092,-114.2830, 1641} + , { 0,641, 2.92926,-117.9738, 1642} + , { 0,642, 2.89482,-121.4286, 1643} + , { 0,643, 2.85829,-124.6464, 1644} + , { 0,644, 2.82025,-127.6327, 1645} + , { 0,645, 2.78120,-130.3971, 1646} + , { 0,646, 2.74159,-132.9517, 1647} + , { 0,647, 2.70176,-135.3107, 1648} + , { 0,648, 2.66198,-137.4885, 1649} + , { 0,649, 2.62248,-139.4996, 1650} + , { 0,650, 2.58342,-141.3580, 1651} + , { 0,651, 2.54494,-143.0769, 1652} + , { 0,652, 2.50713,-144.6688, 1653} + , { 0,653, 2.47005,-146.1450, 1654} + , { 0,654, 2.43375,-147.5159, 1655} + , { 0,655, 2.39826,-148.7910, 1656} + , { 0,656, 2.36359,-149.9789, 1657} + , { 0,657, 2.32975,-151.0872, 1658} + , { 0,658, 2.29672,-152.1230, 1659} + , { 0,659, 2.26452,-153.0925, 1660} + , { 0,660, 2.94206,-105.0914, 1661} + , { 0,661, 2.92122,-108.9679, 1662} + , { 0,662, 2.89654,-112.6723, 1663} + , { 0,663, 2.86861,-116.1871, 1664} + , { 0,664, 2.83801,-119.5021, 1665} + , { 0,665, 2.80530,-122.6136, 1666} + , { 0,666, 2.77098,-125.5231, 1667} + , { 0,667, 2.73551,-128.2361, 1668} + , { 0,668, 2.69926,-130.7608, 1669} + , { 0,669, 2.66258,-133.1073, 1670} + , { 0,670, 2.62573,-135.2869, 1671} + , { 0,671, 2.58893,-137.3109, 1672} + , { 0,672, 2.55236,-139.1910, 1673} + , { 0,673, 2.51615,-140.9384, 1674} + , { 0,674, 2.48042,-142.5636, 1675} + , { 0,675, 2.44524,-144.0767, 1676} + , { 0,676, 2.41068,-145.4871, 1677} + , { 0,677, 2.37677,-146.8032, 1678} + , { 0,678, 2.34355,-148.0330, 1679} + , { 0,679, 2.31103,-149.1836, 1680} + , { 0,680, 2.27922,-150.2617, 1681} + , { 0,681, 2.24812,-151.2731, 1682} + , { 0,682, 2.87553,-104.0936, 1683} + , { 0,683, 2.85724,-107.7445, 1684} + , { 0,684, 2.83547,-111.2526, 1685} + , { 0,685, 2.81069,-114.6014, 1686} + , { 0,686, 2.78337,-117.7802, 1687} + , { 0,687, 2.75397,-120.7837, 1688} + , { 0,688, 2.72292,-123.6107, 1689} + , { 0,689, 2.69062,-126.2638, 1690} + , { 0,690, 2.65742,-128.7483, 1691} + , { 0,691, 2.62362,-131.0712, 1692} + , { 0,692, 2.58948,-133.2408, 1693} + , { 0,693, 2.55520,-135.2663, 1694} + , { 0,694, 2.52097,-137.1569, 1695} + , { 0,695, 2.48694,-138.9219, 1696} + , { 0,696, 2.45320,-140.5704, 1697} + , { 0,697, 2.41987,-142.1112, 1698} + , { 0,698, 2.38700,-143.5524, 1699} + , { 0,699, 2.35465,-144.9016, 1700} + , { 0,700, 2.32286,-146.1662, 1701} + , { 0,701, 2.29166,-147.3526, 1702} + , { 0,702, 2.26106,-148.4670, 1703} + , { 0,703, 2.23108,-149.5150, 1704} + , { 0,704, 2.81298,-103.2172, 1705} + , { 0,705, 2.79681,-106.6652, 1706} + , { 0,706, 2.77748,-109.9934, 1707} + , { 0,707, 2.75536,-113.1867, 1708} + , { 0,708, 2.73085,-116.2346, 1709} + , { 0,709, 2.70433,-119.1309, 1710} + , { 0,710, 2.67616,-121.8728, 1711} + , { 0,711, 2.64669,-124.4607, 1712} + , { 0,712, 2.61623,-126.8977, 1713} + , { 0,713, 2.58506,-129.1885, 1714} + , { 0,714, 2.55341,-131.3391, 1715} + , { 0,715, 2.52148,-133.3566, 1716} + , { 0,716, 2.48945,-135.2483, 1717} + , { 0,717, 2.45747,-137.0220, 1718} + , { 0,718, 2.42565,-138.6851, 1719} + , { 0,719, 2.39408,-140.2452, 1720} + , { 0,720, 2.36286,-141.7095, 1721} + , { 0,721, 2.33203,-143.0848, 1722} + , { 0,722, 2.30164,-144.3775, 1723} + , { 0,723, 2.27174,-145.5936, 1724} + , { 0,724, 2.24234,-146.7387, 1725} + , { 0,725, 2.21346,-147.8181, 1726} + , { 0,726, 2.75399,-102.4419, 1727} + , { 0,727, 2.73960,-105.7065, 1728} + , { 0,728, 2.72233,-108.8698, 1729} + , { 0,729, 2.70249,-111.9182, 1730} + , { 0,730, 2.68040,-114.8415, 1731} + , { 0,731, 2.65638,-117.6331, 1732} + , { 0,732, 2.63075,-120.2893, 1733} + , { 0,733, 2.60380,-122.8091, 1734} + , { 0,734, 2.57581,-125.1937, 1735} + , { 0,735, 2.54702,-127.4462, 1736} + , { 0,736, 2.51766,-129.5709, 1737} + , { 0,737, 2.48791,-131.5728, 1738} + , { 0,738, 2.45794,-133.4580, 1739} + , { 0,739, 2.42789,-135.2326, 1740} + , { 0,740, 2.39788,-136.9028, 1741} + , { 0,741, 2.36801,-138.4752, 1742} + , { 0,742, 2.33837,-139.9558, 1743} + , { 0,743, 2.30901,-141.3506, 1744} + , { 0,744, 2.27999,-142.6654, 1745} + , { 0,745, 2.25136,-143.9056, 1746} + , { 0,746, 2.22314,-145.0762, 1747} + , { 0,747, 2.19537,-146.1822, 1748} + , { 1, 0, 2.75399, 77.5581, 2001} + , { 1, 1, 2.73960, 74.2935, 2002} + , { 1, 2, 2.72233, 71.1302, 2003} + , { 1, 3, 2.70249, 68.0818, 2004} + , { 1, 4, 2.68040, 65.1585, 2005} + , { 1, 5, 2.65638, 62.3669, 2006} + , { 1, 6, 2.63075, 59.7107, 2007} + , { 1, 7, 2.60380, 57.1909, 2008} + , { 1, 8, 2.57581, 54.8063, 2009} + , { 1, 9, 2.54702, 52.5538, 2010} + , { 1, 10, 2.51766, 50.4291, 2011} + , { 1, 11, 2.48791, 48.4272, 2012} + , { 1, 12, 2.45794, 46.5420, 2013} + , { 1, 13, 2.42789, 44.7674, 2014} + , { 1, 14, 2.39788, 43.0972, 2015} + , { 1, 15, 2.36801, 41.5248, 2016} + , { 1, 16, 2.33837, 40.0442, 2017} + , { 1, 17, 2.30901, 38.6494, 2018} + , { 1, 18, 2.27999, 37.3346, 2019} + , { 1, 19, 2.25136, 36.0944, 2020} + , { 1, 20, 2.22314, 34.9238, 2021} + , { 1, 21, 2.19537, 33.8178, 2022} + , { 1, 22, 2.81298, 76.7827, 2023} + , { 1, 23, 2.79681, 73.3348, 2024} + , { 1, 24, 2.77748, 70.0066, 2025} + , { 1, 25, 2.75536, 66.8133, 2026} + , { 1, 26, 2.73085, 63.7653, 2027} + , { 1, 27, 2.70433, 60.8691, 2028} + , { 1, 28, 2.67616, 58.1272, 2029} + , { 1, 29, 2.64669, 55.5393, 2030} + , { 1, 30, 2.61623, 53.1023, 2031} + , { 1, 31, 2.58506, 50.8115, 2032} + , { 1, 32, 2.55341, 48.6609, 2033} + , { 1, 33, 2.52148, 46.6434, 2034} + , { 1, 34, 2.48945, 44.7517, 2035} + , { 1, 35, 2.45747, 42.9780, 2036} + , { 1, 36, 2.42565, 41.3149, 2037} + , { 1, 37, 2.39408, 39.7548, 2038} + , { 1, 38, 2.36286, 38.2905, 2039} + , { 1, 39, 2.33203, 36.9152, 2040} + , { 1, 40, 2.30164, 35.6225, 2041} + , { 1, 41, 2.27174, 34.4064, 2042} + , { 1, 42, 2.24234, 33.2613, 2043} + , { 1, 43, 2.21346, 32.1819, 2044} + , { 1, 44, 2.87553, 75.9064, 2045} + , { 1, 45, 2.85724, 72.2555, 2046} + , { 1, 46, 2.83547, 68.7474, 2047} + , { 1, 47, 2.81069, 65.3986, 2048} + , { 1, 48, 2.78337, 62.2198, 2049} + , { 1, 49, 2.75397, 59.2163, 2050} + , { 1, 50, 2.72292, 56.3893, 2051} + , { 1, 51, 2.69062, 53.7362, 2052} + , { 1, 52, 2.65742, 51.2517, 2053} + , { 1, 53, 2.62362, 48.9288, 2054} + , { 1, 54, 2.58948, 46.7592, 2055} + , { 1, 55, 2.55520, 44.7337, 2056} + , { 1, 56, 2.52097, 42.8431, 2057} + , { 1, 57, 2.48694, 41.0781, 2058} + , { 1, 58, 2.45320, 39.4296, 2059} + , { 1, 59, 2.41987, 37.8888, 2060} + , { 1, 60, 2.38700, 36.4476, 2061} + , { 1, 61, 2.35465, 35.0984, 2062} + , { 1, 62, 2.32286, 33.8338, 2063} + , { 1, 63, 2.29166, 32.6474, 2064} + , { 1, 64, 2.26106, 31.5330, 2065} + , { 1, 65, 2.23108, 30.4850, 2066} + , { 1, 66, 2.94206, 74.9086, 2067} + , { 1, 67, 2.92122, 71.0321, 2068} + , { 1, 68, 2.89654, 67.3277, 2069} + , { 1, 69, 2.86861, 63.8129, 2070} + , { 1, 70, 2.83801, 60.4979, 2071} + , { 1, 71, 2.80530, 57.3864, 2072} + , { 1, 72, 2.77098, 54.4769, 2073} + , { 1, 73, 2.73551, 51.7639, 2074} + , { 1, 74, 2.69926, 49.2392, 2075} + , { 1, 75, 2.66258, 46.8927, 2076} + , { 1, 76, 2.62573, 44.7131, 2077} + , { 1, 77, 2.58893, 42.6891, 2078} + , { 1, 78, 2.55236, 40.8090, 2079} + , { 1, 79, 2.51615, 39.0616, 2080} + , { 1, 80, 2.48042, 37.4364, 2081} + , { 1, 81, 2.44524, 35.9233, 2082} + , { 1, 82, 2.41068, 34.5129, 2083} + , { 1, 83, 2.37677, 33.1968, 2084} + , { 1, 84, 2.34355, 31.9670, 2085} + , { 1, 85, 2.31103, 30.8164, 2086} + , { 1, 86, 2.27922, 29.7383, 2087} + , { 1, 87, 2.24812, 28.7269, 2088} + , { 1, 88, 3.01304, 73.7627, 2089} + , { 1, 89, 2.98909, 69.6352, 2090} + , { 1, 90, 2.96092, 65.7170, 2091} + , { 1, 91, 2.92926, 62.0262, 2092} + , { 1, 92, 2.89482, 58.5714, 2093} + , { 1, 93, 2.85829, 55.3536, 2094} + , { 1, 94, 2.82025, 52.3673, 2095} + , { 1, 95, 2.78120, 49.6029, 2096} + , { 1, 96, 2.74159, 47.0483, 2097} + , { 1, 97, 2.70176, 44.6893, 2098} + , { 1, 98, 2.66198, 42.5115, 2099} + , { 1, 99, 2.62248, 40.5004, 2100} + , { 1,100, 2.58342, 38.6420, 2101} + , { 1,101, 2.54494, 36.9231, 2102} + , { 1,102, 2.50713, 35.3312, 2103} + , { 1,103, 2.47005, 33.8550, 2104} + , { 1,104, 2.43375, 32.4841, 2105} + , { 1,105, 2.39826, 31.2090, 2106} + , { 1,106, 2.36359, 30.0211, 2107} + , { 1,107, 2.32975, 28.9128, 2108} + , { 1,108, 2.29672, 27.8770, 2109} + , { 1,109, 2.26452, 26.9075, 2110} + , { 1,110, 3.08904, 72.4344, 2111} + , { 1,111, 3.06127, 68.0272, 2112} + , { 1,112, 3.02884, 63.8771, 2113} + , { 1,113, 2.99272, 60.0018, 2114} + , { 1,114, 2.95378, 56.4069, 2115} + , { 1,115, 2.91283, 53.0882, 2116} + , { 1,116, 2.87055, 50.0350, 2117} + , { 1,117, 2.82752, 47.2319, 2118} + , { 1,118, 2.78418, 44.6613, 2119} + , { 1,119, 2.74092, 42.3046, 2120} + , { 1,120, 2.69800, 40.1431, 2121} + , { 1,121, 2.65563, 38.1591, 2122} + , { 1,122, 2.61396, 36.3357, 2123} + , { 1,123, 2.57312, 34.6575, 2124} + , { 1,124, 2.53316, 33.1103, 2125} + , { 1,125, 2.49413, 31.6814, 2126} + , { 1,126, 2.45607, 30.3594, 2127} + , { 1,127, 2.41898, 29.1339, 2128} + , { 1,128, 2.38286, 27.9958, 2129} + , { 1,129, 2.34769, 26.9367, 2130} + , { 1,130, 2.31347, 25.9495, 2131} + , { 1,131, 2.28016, 25.0276, 2132} + , { 1,132, 3.17069, 70.8782, 2133} + , { 1,133, 3.13815, 66.1593, 2134} + , { 1,134, 3.10053, 61.7599, 2135} + , { 1,135, 3.05904, 57.6952, 2136} + , { 1,136, 3.01479, 53.9647, 2137} + , { 1,137, 2.96874, 50.5566, 2138} + , { 1,138, 2.92165, 47.4520, 2139} + , { 1,139, 2.87417, 44.6280, 2140} + , { 1,140, 2.82676, 42.0603, 2141} + , { 1,141, 2.77978, 39.7245, 2142} + , { 1,142, 2.73351, 37.5973, 2143} + , { 1,143, 2.68812, 35.6571, 2144} + , { 1,144, 2.64374, 33.8842, 2145} + , { 1,145, 2.60045, 32.2609, 2146} + , { 1,146, 2.55830, 30.7712, 2147} + , { 1,147, 2.51731, 29.4012, 2148} + , { 1,148, 2.47747, 28.1383, 2149} + , { 1,149, 2.43878, 26.9716, 2150} + , { 1,150, 2.40122, 25.8913, 2151} + , { 1,151, 2.36475, 24.8889, 2152} + , { 1,152, 2.32934, 23.9568, 2153} + , { 1,153, 2.29497, 23.0883, 2154} + , { 1,154, 3.25874, 69.0331, 2155} + , { 1,155, 3.22016, 63.9683, 2156} + , { 1,156, 3.17611, 59.3053, 2157} + , { 1,157, 3.12815, 55.0523, 2158} + , { 1,158, 3.07764, 51.1985, 2159} + , { 1,159, 3.02570, 47.7205, 2160} + , { 1,160, 2.97319, 44.5878, 2161} + , { 1,161, 2.92078, 41.7677, 2162} + , { 1,162, 2.86893, 39.2274, 2163} + , { 1,163, 2.81799, 36.9359, 2164} + , { 1,164, 2.76818, 34.8646, 2165} + , { 1,165, 2.71965, 32.9880, 2166} + , { 1,166, 2.67248, 31.2834, 2167} + , { 1,167, 2.62670, 29.7308, 2168} + , { 1,168, 2.58234, 28.3127, 2169} + , { 1,169, 2.53938, 27.0140, 2170} + , { 1,170, 2.49778, 25.8212, 2171} + , { 1,171, 2.45752, 24.7230, 2172} + , { 1,172, 2.41854, 23.7092, 2173} + , { 1,173, 2.38080, 22.7709, 2174} + , { 1,174, 2.34424, 21.9006, 2175} + , { 1,175, 2.30883, 21.0914, 2176} + , { 1,176, 3.35401, 66.8153, 2177} + , { 1,177, 3.30770, 61.3709, 2178} + , { 1,178, 3.25563, 56.4369, 2179} + , { 1,179, 3.19983, 52.0079, 2180} + , { 1,180, 3.14195, 48.0553, 2181} + , { 1,181, 3.08325, 44.5382, 2182} + , { 1,182, 3.02467, 41.4108, 2183} + , { 1,183, 2.96685, 38.6277, 2184} + , { 1,184, 2.91024, 36.1460, 2185} + , { 1,185, 2.85511, 33.9273, 2186} + , { 1,186, 2.80162, 31.9376, 2187} + , { 1,187, 2.74986, 30.1473, 2188} + , { 1,188, 2.69986, 28.5309, 2189} + , { 1,189, 2.65160, 27.0664, 2190} + , { 1,190, 2.60504, 25.7351, 2191} + , { 1,191, 2.56013, 24.5208, 2192} + , { 1,192, 2.51681, 23.4098, 2193} + , { 1,193, 2.47502, 22.3901, 2194} + , { 1,194, 2.43467, 21.4515, 2195} + , { 1,195, 2.39571, 20.5851, 2196} + , { 1,196, 2.35806, 19.7833, 2197} + , { 1,197, 2.32166, 19.0393, 2198} + , { 1,198, 3.45737, 64.1086, 2199} + , { 1,199, 3.40100, 58.2565, 2200} + , { 1,200, 3.33888, 53.0593, 2201} + , { 1,201, 3.27359, 48.4845, 2202} + , { 1,202, 3.20707, 44.4755, 2203} + , { 1,203, 3.14069, 40.9659, 2204} + , { 1,204, 3.07539, 37.8899, 2205} + , { 1,205, 3.01175, 35.1866, 2206} + , { 1,206, 2.95010, 32.8021, 2207} + , { 1,207, 2.89062, 30.6903, 2208} + , { 1,208, 2.83338, 28.8117, 2209} + , { 1,209, 2.77838, 27.1331, 2210} + , { 1,210, 2.72555, 25.6268, 2211} + , { 1,211, 2.67484, 24.2692, 2212} + , { 1,212, 2.62614, 23.0407, 2213} + , { 1,213, 2.57935, 21.9247, 2214} + , { 1,214, 2.53438, 20.9072, 2215} + , { 1,215, 2.49112, 19.9763, 2216} + , { 1,216, 2.44948, 19.1217, 2217} + , { 1,217, 2.40936, 18.3348, 2218} + , { 1,218, 2.37068, 17.6082, 2219} + , { 1,219, 2.33336, 16.9353, 2220} + , { 1,220, 3.56964, 60.7484, 2221} + , { 1,221, 3.50003, 54.4792, 2222} + , { 1,222, 3.42526, 49.0546, 2223} + , { 1,223, 3.34854, 44.3937, 2224} + , { 1,224, 3.27202, 40.3959, 2225} + , { 1,225, 3.19707, 36.9606, 2226} + , { 1,226, 3.12448, 33.9971, 2227} + , { 1,227, 3.05468, 31.4275, 2228} + , { 1,228, 2.98782, 29.1866, 2229} + , { 1,229, 2.92394, 27.2209, 2230} + , { 1,230, 2.86295, 25.4864, 2231} + , { 1,231, 2.80475, 23.9474, 2232} + , { 1,232, 2.74919, 22.5744, 2233} + , { 1,233, 2.69612, 21.3433, 2234} + , { 1,234, 2.64537, 20.2342, 2235} + , { 1,235, 2.59681, 19.2304, 2236} + , { 1,236, 2.55029, 18.3183, 2237} + , { 1,237, 2.50566, 17.4862, 2238} + , { 1,238, 2.46282, 16.7244, 2239} + , { 1,239, 2.42163, 16.0244, 2240} + , { 1,240, 2.38201, 15.3794, 2241} + , { 1,241, 2.34384, 14.7831, 2242} + , { 1,242, 3.69127, 56.4997, 2243} + , { 1,243, 3.60407, 49.8480, 2244} + , { 1,244, 3.51349, 44.2825, 2245} + , { 1,245, 3.42320, 39.6394, 2246} + , { 1,246, 3.33536, 35.7549, 2247} + , { 1,247, 3.25107, 32.4854, 2248} + , { 1,248, 3.17081, 29.7124, 2249} + , { 1,249, 3.09469, 27.3413, 2250} + , { 1,250, 3.02262, 25.2973, 2251} + , { 1,251, 2.95440, 23.5213, 2252} + , { 1,252, 2.88979, 21.9666, 2253} + , { 1,253, 2.82854, 20.5963, 2254} + , { 1,254, 2.77040, 19.3807, 2255} + , { 1,255, 2.71512, 18.2959, 2256} + , { 1,256, 2.66249, 17.3225, 2257} + , { 1,257, 2.61229, 16.4448, 2258} + , { 1,258, 2.56434, 15.6496, 2259} + , { 1,259, 2.51848, 14.9261, 2260} + , { 1,260, 2.47455, 14.2652, 2261} + , { 1,261, 2.43241, 13.6593, 2262} + , { 1,262, 2.39193, 13.1019, 2263} + , { 1,263, 2.35300, 12.5875, 2264} + , { 1,264, 3.82172, 51.0278, 2265} + , { 1,265, 3.71123, 44.1227, 2266} + , { 1,266, 3.60120, 38.5879, 2267} + , { 1,267, 3.49530, 34.1297, 2268} + , { 1,268, 3.39509, 30.5029, 2269} + , { 1,269, 3.30103, 27.5171, 2270} + , { 1,270, 3.21302, 25.0287, 2271} + , { 1,271, 3.13069, 22.9304, 2272} + , { 1,272, 3.05361, 21.1417, 2273} + , { 1,273, 2.98130, 19.6017, 2274} + , { 1,274, 2.91333, 18.2635, 2275} + , { 1,275, 2.84929, 17.0913, 2276} + , { 1,276, 2.78880, 16.0567, 2277} + , { 1,277, 2.73154, 15.1375, 2278} + , { 1,278, 2.67722, 14.3157, 2279} + , { 1,279, 2.62557, 13.5769, 2280} + , { 1,280, 2.57638, 12.9095, 2281} + , { 1,281, 2.52943, 12.3036, 2282} + , { 1,282, 2.48455, 11.7513, 2283} + , { 1,283, 2.44157, 11.2458, 2284} + , { 1,284, 2.40035, 10.7815, 2285} + , { 1,285, 2.36077, 10.3536, 2286} + , { 1,286, 3.95803, 43.8734, 2287} + , { 1,287, 3.81739, 37.0279, 2288} + , { 1,288, 3.68452, 31.8247, 2289} + , { 1,289, 3.56159, 27.7975, 2290} + , { 1,290, 3.44865, 24.6172, 2291} + , { 1,291, 3.34497, 22.0568, 2292} + , { 1,292, 3.24957, 19.9589, 2293} + , { 1,293, 3.16150, 18.2129, 2294} + , { 1,294, 3.07987, 16.7398, 2295} + , { 1,295, 3.00393, 15.4816, 2296} + , { 1,296, 2.93300, 14.3957, 2297} + , { 1,297, 2.86653, 13.4495, 2298} + , { 1,298, 2.80403, 12.6181, 2299} + , { 1,299, 2.74508, 11.8821, 2300} + , { 1,300, 2.68933, 11.2262, 2301} + , { 1,301, 2.63646, 10.6381, 2302} + , { 1,302, 2.58622, 10.1079, 2303} + , { 1,303, 2.53837, 9.6277, 2304} + , { 1,304, 2.49269, 9.1906, 2305} + , { 1,305, 2.44902, 8.7911, 2306} + , { 1,306, 2.40720, 8.4248, 2307} + , { 1,307, 2.36708, 8.0875, 2308} + , { 1,308, 4.09206, 34.4787, 2309} + , { 1,309, 3.91508, 28.3157, 2310} + , { 1,310, 3.75764, 23.9078, 2311} + , { 1,311, 3.61782, 20.6344, 2312} + , { 1,312, 3.49298, 18.1225, 2313} + , { 1,313, 3.38067, 16.1412, 2314} + , { 1,314, 3.27886, 14.5419, 2315} + , { 1,315, 3.18593, 13.2258, 2316} + , { 1,316, 3.10053, 12.1249, 2317} + , { 1,317, 3.02160, 11.1910, 2318} + , { 1,318, 2.94829, 10.3892, 2319} + , { 1,319, 2.87987, 9.6936, 2320} + , { 1,320, 2.81577, 9.0846, 2321} + , { 1,321, 2.75549, 8.5470, 2322} + , { 1,322, 2.69861, 8.0691, 2323} + , { 1,323, 2.64480, 7.6415, 2324} + , { 1,324, 2.59374, 7.2568, 2325} + , { 1,325, 2.54518, 6.9087, 2326} + , { 1,326, 2.49889, 6.5923, 2327} + , { 1,327, 2.45469, 6.3036, 2328} + , { 1,328, 2.41240, 6.0390, 2329} + , { 1,329, 2.37187, 5.7956, 2330} + , { 1,330, 4.20677, 22.3937, 2331} + , { 1,331, 3.99276, 17.9149, 2332} + , { 1,332, 3.81311, 14.8947, 2333} + , { 1,333, 3.65917, 12.7314, 2334} + , { 1,334, 3.52488, 11.1099, 2335} + , { 1,335, 3.40597, 9.8511, 2336} + , { 1,336, 3.29940, 8.8465, 2337} + , { 1,337, 3.20291, 8.0266, 2338} + , { 1,338, 3.11479, 7.3450, 2339} + , { 1,339, 3.03375, 6.7696, 2340} + , { 1,340, 2.95875, 6.2775, 2341} + , { 1,341, 2.88897, 5.8519, 2342} + , { 1,342, 2.82375, 5.4801, 2343} + , { 1,343, 2.76255, 5.1527, 2344} + , { 1,344, 2.70490, 4.8620, 2345} + , { 1,345, 2.65043, 4.6024, 2346} + , { 1,346, 2.59881, 4.3690, 2347} + , { 1,347, 2.54977, 4.1581, 2348} + , { 1,348, 2.50307, 3.9666, 2349} + , { 1,349, 2.45851, 3.7919, 2350} + , { 1,350, 2.41590, 3.6320, 2351} + , { 1,351, 2.37509, 3.4850, 2352} + , { 1,352, 4.27581, 7.8205, 2353} + , { 1,353, 4.03666, 6.1504, 2354} + , { 1,354, 3.84335, 5.0666, 2355} + , { 1,355, 3.68121, 4.3069, 2356} + , { 1,356, 3.54163, 3.7451, 2357} + , { 1,357, 3.41913, 3.3127, 2358} + , { 1,358, 3.31000, 2.9698, 2359} + , { 1,359, 3.21162, 2.6912, 2360} + , { 1,360, 3.12208, 2.4603, 2361} + , { 1,361, 3.03993, 2.2659, 2362} + , { 1,362, 2.96406, 2.1000, 2363} + , { 1,363, 2.89359, 1.9567, 2364} + , { 1,364, 2.82780, 1.8317, 2365} + , { 1,365, 2.76612, 1.7217, 2366} + , { 1,366, 2.70808, 1.6241, 2367} + , { 1,367, 2.65327, 1.5371, 2368} + , { 1,368, 2.60137, 1.4588, 2369} + , { 1,369, 2.55209, 1.3882, 2370} + , { 1,370, 2.50518, 1.3241, 2371} + , { 1,371, 2.46043, 1.2656, 2372} + , { 1,372, 2.41766, 1.2121, 2373} + , { 1,373, 2.37670, 1.1629, 2374} + , { 1,374, 4.27581, -7.8205, 2375} + , { 1,375, 4.03666, -6.1504, 2376} + , { 1,376, 3.84335, -5.0666, 2377} + , { 1,377, 3.68121, -4.3069, 2378} + , { 1,378, 3.54163, -3.7451, 2379} + , { 1,379, 3.41913, -3.3127, 2380} + , { 1,380, 3.31000, -2.9698, 2381} + , { 1,381, 3.21162, -2.6912, 2382} + , { 1,382, 3.12208, -2.4603, 2383} + , { 1,383, 3.03993, -2.2659, 2384} + , { 1,384, 2.96406, -2.1000, 2385} + , { 1,385, 2.89359, -1.9567, 2386} + , { 1,386, 2.82780, -1.8317, 2387} + , { 1,387, 2.76612, -1.7217, 2388} + , { 1,388, 2.70808, -1.6241, 2389} + , { 1,389, 2.65327, -1.5371, 2390} + , { 1,390, 2.60137, -1.4588, 2391} + , { 1,391, 2.55209, -1.3882, 2392} + , { 1,392, 2.50518, -1.3241, 2393} + , { 1,393, 2.46043, -1.2656, 2394} + , { 1,394, 2.41766, -1.2121, 2395} + , { 1,395, 2.37670, -1.1629, 2396} + , { 1,396, 4.20677,-22.3937, 2397} + , { 1,397, 3.99276,-17.9149, 2398} + , { 1,398, 3.81311,-14.8947, 2399} + , { 1,399, 3.65917,-12.7314, 2400} + , { 1,400, 3.52488,-11.1099, 2401} + , { 1,401, 3.40597, -9.8511, 2402} + , { 1,402, 3.29940, -8.8465, 2403} + , { 1,403, 3.20291, -8.0266, 2404} + , { 1,404, 3.11479, -7.3450, 2405} + , { 1,405, 3.03375, -6.7696, 2406} + , { 1,406, 2.95875, -6.2775, 2407} + , { 1,407, 2.88897, -5.8519, 2408} + , { 1,408, 2.82375, -5.4801, 2409} + , { 1,409, 2.76255, -5.1527, 2410} + , { 1,410, 2.70490, -4.8620, 2411} + , { 1,411, 2.65043, -4.6024, 2412} + , { 1,412, 2.59881, -4.3690, 2413} + , { 1,413, 2.54977, -4.1581, 2414} + , { 1,414, 2.50307, -3.9666, 2415} + , { 1,415, 2.45851, -3.7919, 2416} + , { 1,416, 2.41590, -3.6320, 2417} + , { 1,417, 2.37509, -3.4850, 2418} + , { 1,418, 4.09206,-34.4787, 2419} + , { 1,419, 3.91508,-28.3157, 2420} + , { 1,420, 3.75764,-23.9078, 2421} + , { 1,421, 3.61782,-20.6344, 2422} + , { 1,422, 3.49298,-18.1225, 2423} + , { 1,423, 3.38067,-16.1412, 2424} + , { 1,424, 3.27886,-14.5419, 2425} + , { 1,425, 3.18593,-13.2258, 2426} + , { 1,426, 3.10053,-12.1249, 2427} + , { 1,427, 3.02160,-11.1910, 2428} + , { 1,428, 2.94829,-10.3892, 2429} + , { 1,429, 2.87987, -9.6936, 2430} + , { 1,430, 2.81577, -9.0846, 2431} + , { 1,431, 2.75549, -8.5470, 2432} + , { 1,432, 2.69861, -8.0691, 2433} + , { 1,433, 2.64480, -7.6415, 2434} + , { 1,434, 2.59374, -7.2568, 2435} + , { 1,435, 2.54518, -6.9087, 2436} + , { 1,436, 2.49889, -6.5923, 2437} + , { 1,437, 2.45469, -6.3036, 2438} + , { 1,438, 2.41240, -6.0390, 2439} + , { 1,439, 2.37187, -5.7956, 2440} + , { 1,440, 3.95803,-43.8734, 2441} + , { 1,441, 3.81739,-37.0279, 2442} + , { 1,442, 3.68452,-31.8246, 2443} + , { 1,443, 3.56159,-27.7975, 2444} + , { 1,444, 3.44865,-24.6172, 2445} + , { 1,445, 3.34497,-22.0568, 2446} + , { 1,446, 3.24957,-19.9589, 2447} + , { 1,447, 3.16150,-18.2129, 2448} + , { 1,448, 3.07987,-16.7398, 2449} + , { 1,449, 3.00393,-15.4816, 2450} + , { 1,450, 2.93300,-14.3957, 2451} + , { 1,451, 2.86653,-13.4495, 2452} + , { 1,452, 2.80403,-12.6181, 2453} + , { 1,453, 2.74508,-11.8821, 2454} + , { 1,454, 2.68933,-11.2262, 2455} + , { 1,455, 2.63646,-10.6381, 2456} + , { 1,456, 2.58622,-10.1079, 2457} + , { 1,457, 2.53837, -9.6277, 2458} + , { 1,458, 2.49269, -9.1906, 2459} + , { 1,459, 2.44902, -8.7911, 2460} + , { 1,460, 2.40720, -8.4248, 2461} + , { 1,461, 2.36708, -8.0875, 2462} + , { 1,462, 3.82172,-51.0278, 2463} + , { 1,463, 3.71123,-44.1227, 2464} + , { 1,464, 3.60120,-38.5879, 2465} + , { 1,465, 3.49530,-34.1297, 2466} + , { 1,466, 3.39509,-30.5029, 2467} + , { 1,467, 3.30103,-27.5171, 2468} + , { 1,468, 3.21302,-25.0287, 2469} + , { 1,469, 3.13069,-22.9304, 2470} + , { 1,470, 3.05361,-21.1417, 2471} + , { 1,471, 2.98130,-19.6017, 2472} + , { 1,472, 2.91333,-18.2635, 2473} + , { 1,473, 2.84929,-17.0913, 2474} + , { 1,474, 2.78880,-16.0567, 2475} + , { 1,475, 2.73154,-15.1375, 2476} + , { 1,476, 2.67722,-14.3157, 2477} + , { 1,477, 2.62557,-13.5769, 2478} + , { 1,478, 2.57638,-12.9095, 2479} + , { 1,479, 2.52943,-12.3036, 2480} + , { 1,480, 2.48455,-11.7513, 2481} + , { 1,481, 2.44157,-11.2458, 2482} + , { 1,482, 2.40035,-10.7815, 2483} + , { 1,483, 2.36077,-10.3536, 2484} + , { 1,484, 3.69127,-56.4997, 2485} + , { 1,485, 3.60408,-49.8480, 2486} + , { 1,486, 3.51349,-44.2825, 2487} + , { 1,487, 3.42320,-39.6394, 2488} + , { 1,488, 3.33536,-35.7549, 2489} + , { 1,489, 3.25107,-32.4854, 2490} + , { 1,490, 3.17081,-29.7124, 2491} + , { 1,491, 3.09469,-27.3413, 2492} + , { 1,492, 3.02262,-25.2973, 2493} + , { 1,493, 2.95440,-23.5213, 2494} + , { 1,494, 2.88979,-21.9666, 2495} + , { 1,495, 2.82854,-20.5963, 2496} + , { 1,496, 2.77040,-19.3807, 2497} + , { 1,497, 2.71512,-18.2959, 2498} + , { 1,498, 2.66249,-17.3225, 2499} + , { 1,499, 2.61229,-16.4448, 2500} + , { 1,500, 2.56434,-15.6496, 2501} + , { 1,501, 2.51848,-14.9261, 2502} + , { 1,502, 2.47455,-14.2652, 2503} + , { 1,503, 2.43241,-13.6593, 2504} + , { 1,504, 2.39193,-13.1019, 2505} + , { 1,505, 2.35300,-12.5875, 2506} + , { 1,506, 3.56964,-60.7484, 2507} + , { 1,507, 3.50003,-54.4792, 2508} + , { 1,508, 3.42526,-49.0546, 2509} + , { 1,509, 3.34854,-44.3937, 2510} + , { 1,510, 3.27202,-40.3959, 2511} + , { 1,511, 3.19707,-36.9606, 2512} + , { 1,512, 3.12448,-33.9972, 2513} + , { 1,513, 3.05468,-31.4275, 2514} + , { 1,514, 2.98782,-29.1866, 2515} + , { 1,515, 2.92394,-27.2209, 2516} + , { 1,516, 2.86295,-25.4864, 2517} + , { 1,517, 2.80475,-23.9474, 2518} + , { 1,518, 2.74919,-22.5744, 2519} + , { 1,519, 2.69612,-21.3433, 2520} + , { 1,520, 2.64537,-20.2342, 2521} + , { 1,521, 2.59681,-19.2304, 2522} + , { 1,522, 2.55029,-18.3183, 2523} + , { 1,523, 2.50566,-17.4862, 2524} + , { 1,524, 2.46282,-16.7244, 2525} + , { 1,525, 2.42163,-16.0244, 2526} + , { 1,526, 2.38201,-15.3794, 2527} + , { 1,527, 2.34384,-14.7831, 2528} + , { 1,528, 3.45737,-64.1086, 2529} + , { 1,529, 3.40100,-58.2565, 2530} + , { 1,530, 3.33888,-53.0593, 2531} + , { 1,531, 3.27359,-48.4845, 2532} + , { 1,532, 3.20707,-44.4755, 2533} + , { 1,533, 3.14069,-40.9659, 2534} + , { 1,534, 3.07539,-37.8899, 2535} + , { 1,535, 3.01175,-35.1866, 2536} + , { 1,536, 2.95010,-32.8021, 2537} + , { 1,537, 2.89062,-30.6903, 2538} + , { 1,538, 2.83338,-28.8117, 2539} + , { 1,539, 2.77838,-27.1331, 2540} + , { 1,540, 2.72555,-25.6268, 2541} + , { 1,541, 2.67484,-24.2692, 2542} + , { 1,542, 2.62614,-23.0407, 2543} + , { 1,543, 2.57935,-21.9247, 2544} + , { 1,544, 2.53438,-20.9072, 2545} + , { 1,545, 2.49112,-19.9763, 2546} + , { 1,546, 2.44948,-19.1217, 2547} + , { 1,547, 2.40936,-18.3348, 2548} + , { 1,548, 2.37068,-17.6082, 2549} + , { 1,549, 2.33336,-16.9353, 2550} + , { 1,550, 3.35401,-66.8153, 2551} + , { 1,551, 3.30770,-61.3709, 2552} + , { 1,552, 3.25563,-56.4369, 2553} + , { 1,553, 3.19983,-52.0079, 2554} + , { 1,554, 3.14195,-48.0553, 2555} + , { 1,555, 3.08325,-44.5382, 2556} + , { 1,556, 3.02467,-41.4108, 2557} + , { 1,557, 2.96685,-38.6277, 2558} + , { 1,558, 2.91024,-36.1460, 2559} + , { 1,559, 2.85511,-33.9273, 2560} + , { 1,560, 2.80162,-31.9376, 2561} + , { 1,561, 2.74986,-30.1473, 2562} + , { 1,562, 2.69986,-28.5309, 2563} + , { 1,563, 2.65160,-27.0664, 2564} + , { 1,564, 2.60504,-25.7351, 2565} + , { 1,565, 2.56013,-24.5208, 2566} + , { 1,566, 2.51681,-23.4098, 2567} + , { 1,567, 2.47502,-22.3901, 2568} + , { 1,568, 2.43467,-21.4515, 2569} + , { 1,569, 2.39571,-20.5851, 2570} + , { 1,570, 2.35806,-19.7833, 2571} + , { 1,571, 2.32166,-19.0393, 2572} + , { 1,572, 3.25874,-69.0331, 2573} + , { 1,573, 3.22016,-63.9683, 2574} + , { 1,574, 3.17611,-59.3053, 2575} + , { 1,575, 3.12815,-55.0523, 2576} + , { 1,576, 3.07764,-51.1985, 2577} + , { 1,577, 3.02570,-47.7205, 2578} + , { 1,578, 2.97319,-44.5878, 2579} + , { 1,579, 2.92078,-41.7677, 2580} + , { 1,580, 2.86893,-39.2274, 2581} + , { 1,581, 2.81799,-36.9359, 2582} + , { 1,582, 2.76818,-34.8646, 2583} + , { 1,583, 2.71965,-32.9880, 2584} + , { 1,584, 2.67248,-31.2834, 2585} + , { 1,585, 2.62670,-29.7308, 2586} + , { 1,586, 2.58234,-28.3127, 2587} + , { 1,587, 2.53938,-27.0140, 2588} + , { 1,588, 2.49778,-25.8212, 2589} + , { 1,589, 2.45752,-24.7230, 2590} + , { 1,590, 2.41854,-23.7092, 2591} + , { 1,591, 2.38080,-22.7709, 2592} + , { 1,592, 2.34424,-21.9006, 2593} + , { 1,593, 2.30883,-21.0914, 2594} + , { 1,594, 3.17069,-70.8782, 2595} + , { 1,595, 3.13815,-66.1593, 2596} + , { 1,596, 3.10053,-61.7599, 2597} + , { 1,597, 3.05904,-57.6952, 2598} + , { 1,598, 3.01479,-53.9647, 2599} + , { 1,599, 2.96874,-50.5566, 2600} + , { 1,600, 2.92165,-47.4520, 2601} + , { 1,601, 2.87417,-44.6280, 2602} + , { 1,602, 2.82676,-42.0603, 2603} + , { 1,603, 2.77978,-39.7245, 2604} + , { 1,604, 2.73351,-37.5973, 2605} + , { 1,605, 2.68812,-35.6571, 2606} + , { 1,606, 2.64374,-33.8842, 2607} + , { 1,607, 2.60045,-32.2609, 2608} + , { 1,608, 2.55830,-30.7712, 2609} + , { 1,609, 2.51731,-29.4012, 2610} + , { 1,610, 2.47747,-28.1383, 2611} + , { 1,611, 2.43878,-26.9716, 2612} + , { 1,612, 2.40122,-25.8913, 2613} + , { 1,613, 2.36475,-24.8889, 2614} + , { 1,614, 2.32934,-23.9568, 2615} + , { 1,615, 2.29497,-23.0883, 2616} + , { 1,616, 3.08904,-72.4344, 2617} + , { 1,617, 3.06127,-68.0272, 2618} + , { 1,618, 3.02884,-63.8771, 2619} + , { 1,619, 2.99272,-60.0018, 2620} + , { 1,620, 2.95378,-56.4069, 2621} + , { 1,621, 2.91283,-53.0882, 2622} + , { 1,622, 2.87055,-50.0350, 2623} + , { 1,623, 2.82752,-47.2319, 2624} + , { 1,624, 2.78418,-44.6613, 2625} + , { 1,625, 2.74092,-42.3046, 2626} + , { 1,626, 2.69800,-40.1431, 2627} + , { 1,627, 2.65563,-38.1591, 2628} + , { 1,628, 2.61396,-36.3357, 2629} + , { 1,629, 2.57312,-34.6574, 2630} + , { 1,630, 2.53316,-33.1103, 2631} + , { 1,631, 2.49413,-31.6814, 2632} + , { 1,632, 2.45607,-30.3594, 2633} + , { 1,633, 2.41898,-29.1339, 2634} + , { 1,634, 2.38286,-27.9958, 2635} + , { 1,635, 2.34769,-26.9367, 2636} + , { 1,636, 2.31347,-25.9495, 2637} + , { 1,637, 2.28016,-25.0276, 2638} + , { 1,638, 3.01304,-73.7627, 2639} + , { 1,639, 2.98909,-69.6352, 2640} + , { 1,640, 2.96092,-65.7170, 2641} + , { 1,641, 2.92926,-62.0262, 2642} + , { 1,642, 2.89482,-58.5714, 2643} + , { 1,643, 2.85829,-55.3536, 2644} + , { 1,644, 2.82025,-52.3673, 2645} + , { 1,645, 2.78120,-49.6029, 2646} + , { 1,646, 2.74159,-47.0483, 2647} + , { 1,647, 2.70176,-44.6893, 2648} + , { 1,648, 2.66198,-42.5115, 2649} + , { 1,649, 2.62248,-40.5004, 2650} + , { 1,650, 2.58342,-38.6420, 2651} + , { 1,651, 2.54494,-36.9231, 2652} + , { 1,652, 2.50713,-35.3312, 2653} + , { 1,653, 2.47005,-33.8550, 2654} + , { 1,654, 2.43375,-32.4841, 2655} + , { 1,655, 2.39826,-31.2090, 2656} + , { 1,656, 2.36359,-30.0211, 2657} + , { 1,657, 2.32975,-28.9128, 2658} + , { 1,658, 2.29672,-27.8770, 2659} + , { 1,659, 2.26452,-26.9075, 2660} + , { 1,660, 2.94206,-74.9086, 2661} + , { 1,661, 2.92122,-71.0321, 2662} + , { 1,662, 2.89654,-67.3277, 2663} + , { 1,663, 2.86861,-63.8129, 2664} + , { 1,664, 2.83801,-60.4979, 2665} + , { 1,665, 2.80530,-57.3864, 2666} + , { 1,666, 2.77098,-54.4769, 2667} + , { 1,667, 2.73551,-51.7639, 2668} + , { 1,668, 2.69926,-49.2392, 2669} + , { 1,669, 2.66258,-46.8927, 2670} + , { 1,670, 2.62573,-44.7131, 2671} + , { 1,671, 2.58893,-42.6891, 2672} + , { 1,672, 2.55236,-40.8090, 2673} + , { 1,673, 2.51615,-39.0616, 2674} + , { 1,674, 2.48042,-37.4364, 2675} + , { 1,675, 2.44524,-35.9233, 2676} + , { 1,676, 2.41068,-34.5129, 2677} + , { 1,677, 2.37677,-33.1968, 2678} + , { 1,678, 2.34355,-31.9670, 2679} + , { 1,679, 2.31103,-30.8164, 2680} + , { 1,680, 2.27922,-29.7383, 2681} + , { 1,681, 2.24812,-28.7269, 2682} + , { 1,682, 2.87553,-75.9064, 2683} + , { 1,683, 2.85724,-72.2555, 2684} + , { 1,684, 2.83547,-68.7474, 2685} + , { 1,685, 2.81069,-65.3986, 2686} + , { 1,686, 2.78337,-62.2198, 2687} + , { 1,687, 2.75397,-59.2163, 2688} + , { 1,688, 2.72292,-56.3893, 2689} + , { 1,689, 2.69062,-53.7362, 2690} + , { 1,690, 2.65742,-51.2517, 2691} + , { 1,691, 2.62362,-48.9288, 2692} + , { 1,692, 2.58948,-46.7592, 2693} + , { 1,693, 2.55520,-44.7337, 2694} + , { 1,694, 2.52097,-42.8431, 2695} + , { 1,695, 2.48694,-41.0781, 2696} + , { 1,696, 2.45320,-39.4296, 2697} + , { 1,697, 2.41987,-37.8888, 2698} + , { 1,698, 2.38700,-36.4476, 2699} + , { 1,699, 2.35465,-35.0984, 2700} + , { 1,700, 2.32286,-33.8338, 2701} + , { 1,701, 2.29166,-32.6474, 2702} + , { 1,702, 2.26106,-31.5330, 2703} + , { 1,703, 2.23108,-30.4850, 2704} + , { 1,704, 2.81298,-76.7828, 2705} + , { 1,705, 2.79681,-73.3348, 2706} + , { 1,706, 2.77748,-70.0066, 2707} + , { 1,707, 2.75536,-66.8133, 2708} + , { 1,708, 2.73085,-63.7654, 2709} + , { 1,709, 2.70433,-60.8691, 2710} + , { 1,710, 2.67616,-58.1272, 2711} + , { 1,711, 2.64669,-55.5393, 2712} + , { 1,712, 2.61623,-53.1023, 2713} + , { 1,713, 2.58506,-50.8115, 2714} + , { 1,714, 2.55341,-48.6609, 2715} + , { 1,715, 2.52148,-46.6434, 2716} + , { 1,716, 2.48945,-44.7517, 2717} + , { 1,717, 2.45747,-42.9780, 2718} + , { 1,718, 2.42565,-41.3149, 2719} + , { 1,719, 2.39408,-39.7548, 2720} + , { 1,720, 2.36286,-38.2905, 2721} + , { 1,721, 2.33203,-36.9152, 2722} + , { 1,722, 2.30164,-35.6225, 2723} + , { 1,723, 2.27174,-34.4064, 2724} + , { 1,724, 2.24234,-33.2613, 2725} + , { 1,725, 2.21346,-32.1819, 2726} + , { 1,726, 2.75399,-77.5581, 2727} + , { 1,727, 2.73960,-74.2935, 2728} + , { 1,728, 2.72233,-71.1302, 2729} + , { 1,729, 2.70249,-68.0818, 2730} + , { 1,730, 2.68040,-65.1585, 2731} + , { 1,731, 2.65638,-62.3669, 2732} + , { 1,732, 2.63075,-59.7107, 2733} + , { 1,733, 2.60380,-57.1909, 2734} + , { 1,734, 2.57581,-54.8063, 2735} + , { 1,735, 2.54702,-52.5538, 2736} + , { 1,736, 2.51766,-50.4291, 2737} + , { 1,737, 2.48791,-48.4272, 2738} + , { 1,738, 2.45794,-46.5420, 2739} + , { 1,739, 2.42789,-44.7674, 2740} + , { 1,740, 2.39788,-43.0972, 2741} + , { 1,741, 2.36801,-41.5248, 2742} + , { 1,742, 2.33837,-40.0442, 2743} + , { 1,743, 2.30901,-38.6494, 2744} + , { 1,744, 2.27999,-37.3346, 2745} + , { 1,745, 2.25136,-36.0944, 2746} + , { 1,746, 2.22314,-34.9238, 2747} + , { 1,747, 2.19537,-33.8178, 2748} +}; +std::vector hcal = { + { 0, 0, 2.80245,104.5083, 1001} + , { 0, 1, 2.77251,110.0008, 1002} + , { 0, 2, 2.73516,115.1361, 1003} + , { 0, 3, 2.69208,119.8738, 1004} + , { 0, 4, 2.64486,124.2013, 1005} + , { 0, 5, 2.59492,128.1265, 1006} + , { 0, 6, 2.54340,131.6711, 1007} + , { 0, 7, 2.49122,134.8644, 1008} + , { 0, 8, 2.43907,137.7391, 1009} + , { 0, 9, 2.38747,140.3281, 1010} + , { 0, 10, 2.33676,142.6628, 1011} + , { 0, 11, 2.28720,144.7723, 1012} + , { 0, 12, 2.23894,146.6827, 1013} + , { 0, 13, 2.90524,106.1307, 1014} + , { 0, 14, 2.86868,112.1369, 1015} + , { 0, 15, 2.82371,117.6726, 1016} + , { 0, 16, 2.77263,122.7003, 1017} + , { 0, 17, 2.71752,127.2199, 1018} + , { 0, 18, 2.66010,131.2567, 1019} + , { 0, 19, 2.60170,134.8499, 1020} + , { 0, 20, 2.54332,138.0450, 1021} + , { 0, 21, 2.48566,140.8878, 1022} + , { 0, 22, 2.42917,143.4215, 1023} + , { 0, 23, 2.37418,145.6855, 1024} + , { 0, 24, 2.32085,147.7147, 1025} + , { 0, 25, 2.26929,149.5394, 1026} + , { 0, 26, 3.01893,108.1480, 1027} + , { 0, 27, 2.97344,114.7521, 1028} + , { 0, 28, 2.91849,120.7240, 1029} + , { 0, 29, 2.85731,126.0394, 1030} + , { 0, 30, 2.79257,130.7241, 1031} + , { 0, 31, 2.72634,134.8316, 1032} + , { 0, 32, 2.66009,138.4274, 1033} + , { 0, 33, 2.59483,141.5779, 1034} + , { 0, 34, 2.53118,144.3450, 1035} + , { 0, 35, 2.46952,146.7840, 1036} + , { 0, 36, 2.41006,148.9425, 1037} + , { 0, 37, 2.35288,150.8611, 1038} + , { 0, 38, 2.29798,152.5739, 1039} + , { 0, 39, 3.14567,110.7168, 1040} + , { 0, 40, 3.08777,118.0121, 1041} + , { 0, 41, 3.01958,124.4406, 1042} + , { 0, 42, 2.94558,130.0146, 1043} + , { 0, 43, 2.86916,134.8077, 1044} + , { 0, 44, 2.79267,138.9189, 1045} + , { 0, 45, 2.71760,142.4497, 1046} + , { 0, 46, 2.64483,145.4932, 1047} + , { 0, 47, 2.57482,148.1295, 1048} + , { 0, 48, 2.50780,150.4261, 1049} + , { 0, 49, 2.44380,152.4386, 1050} + , { 0, 50, 2.38276,154.2124, 1051} + , { 0, 51, 2.32458,155.7847, 1052} + , { 0, 52, 3.28804,114.0832, 1053} + , { 0, 53, 3.21242,122.1577, 1054} + , { 0, 54, 3.12645,129.0227, 1055} + , { 0, 55, 3.03624,134.7749, 1056} + , { 0, 56, 2.94584,139.5739, 1057} + , { 0, 57, 2.85763,143.5854, 1058} + , { 0, 58, 2.77288,146.9577, 1059} + , { 0, 59, 2.69216,149.8137, 1060} + , { 0, 60, 2.61561,152.2520, 1061} + , { 0, 61, 2.54319,154.3510, 1062} + , { 0, 62, 2.47471,156.1722, 1063} + , { 0, 63, 2.40994,157.7642, 1064} + , { 0, 64, 2.34861,159.1658, 1065} + , { 0, 65, 3.44882,118.6476, 1066} + , { 0, 66, 3.34724,127.5393, 1067} + , { 0, 67, 3.23734,134.7276, 1068} + , { 0, 68, 3.12697,140.4898, 1069} + , { 0, 69, 3.02030,145.1246, 1070} + , { 0, 70, 2.91918,148.8875, 1071} + , { 0, 71, 2.82423,151.9784, 1072} + , { 0, 72, 2.73541,154.5487, 1073} + , { 0, 73, 2.65241,156.7115, 1074} + , { 0, 74, 2.57478,158.5517, 1075} + , { 0, 75, 2.50206,160.1334, 1076} + , { 0, 76, 2.43381,161.5054, 1077} + , { 0, 77, 2.36959,162.7057, 1078} + , { 0, 78, 3.62990,125.0834, 1079} + , { 0, 79, 3.48970,134.6531, 1080} + , { 0, 80, 3.34824,141.8607, 1081} + , { 0, 81, 3.21379,147.3246, 1082} + , { 0, 82, 3.08914,151.5384, 1083} + , { 0, 83, 2.97461,154.8538, 1084} + , { 0, 84, 2.86954,157.5140, 1085} + , { 0, 85, 2.77299,159.6870, 1086} + , { 0, 86, 2.68398,161.4906, 1087} + , { 0, 87, 2.60161,163.0087, 1088} + , { 0, 88, 2.52511,164.3025, 1089} + , { 0, 89, 2.45378,165.4173, 1090} + , { 0, 90, 2.38706,166.3869, 1091} + , { 0, 91, 3.82841,134.5185, 1092} + , { 0, 92, 3.63189,144.1335, 1093} + , { 0, 93, 3.45140,150.7135, 1094} + , { 0, 94, 3.29058,155.3860, 1095} + , { 0, 95, 3.14787,158.8333, 1096} + , { 0, 96, 3.02068,161.4638, 1097} + , { 0, 97, 2.90648,163.5290, 1098} + , { 0, 98, 2.80318,165.1896, 1099} + , { 0, 99, 2.70906,166.5516, 1100} + , { 0,100, 2.62275,167.6877, 1101} + , { 0,101, 2.54314,168.6492, 1102} + , { 0,102, 2.46933,169.4729, 1103} + , { 0,103, 2.40058,170.1863, 1104} + , { 0,104, 4.02506,148.6097, 1105} + , { 0,105, 3.75578,156.5492, 1106} + , { 0,106, 3.53436,161.4010, 1107} + , { 0,107, 3.34926,164.6302, 1108} + , { 0,108, 3.19129,166.9208, 1109} + , { 0,109, 3.05396,168.6251, 1110} + , { 0,110, 2.93274,169.9405, 1111} + , { 0,111, 2.82438,170.9855, 1112} + , { 0,112, 2.72652,171.8351, 1113} + , { 0,113, 2.63736,172.5392, 1114} + , { 0,114, 2.55554,173.1321, 1115} + , { 0,115, 2.47997,173.6380, 1116} + , { 0,116, 2.40981,174.0747, 1117} + , { 0,117, 4.16296,168.5034, 1118} + , { 0,118, 3.83156,171.7722, 1119} + , { 0,119, 3.58167,173.5997, 1120} + , { 0,120, 3.38143,174.7648, 1121} + , { 0,121, 3.21450,175.5718, 1122} + , { 0,122, 3.07147,176.1635, 1123} + , { 0,123, 2.94641,176.6159, 1124} + , { 0,124, 2.83534,176.9729, 1125} + , { 0,125, 2.73549,177.2619, 1126} + , { 0,126, 2.64483,177.5005, 1127} + , { 0,127, 2.56186,177.7009, 1128} + , { 0,128, 2.48538,177.8715, 1129} + , { 0,129, 2.41450,178.0186, 1130} + , { 0,130, 4.16296,-168.5034, 1131} + , { 0,131, 3.83156,-171.7722, 1132} + , { 0,132, 3.58167,-173.5997, 1133} + , { 0,133, 3.38143,-174.7648, 1134} + , { 0,134, 3.21450,-175.5718, 1135} + , { 0,135, 3.07147,-176.1635, 1136} + , { 0,136, 2.94641,-176.6159, 1137} + , { 0,137, 2.83534,-176.9729, 1138} + , { 0,138, 2.73549,-177.2619, 1139} + , { 0,139, 2.64483,-177.5005, 1140} + , { 0,140, 2.56186,-177.7009, 1141} + , { 0,141, 2.48538,-177.8715, 1142} + , { 0,142, 2.41450,-178.0186, 1143} + , { 0,143, 4.02506,-148.6097, 1144} + , { 0,144, 3.75578,-156.5492, 1145} + , { 0,145, 3.53436,-161.4010, 1146} + , { 0,146, 3.34926,-164.6302, 1147} + , { 0,147, 3.19129,-166.9208, 1148} + , { 0,148, 3.05396,-168.6251, 1149} + , { 0,149, 2.93274,-169.9405, 1150} + , { 0,150, 2.82438,-170.9855, 1151} + , { 0,151, 2.72652,-171.8351, 1152} + , { 0,152, 2.63736,-172.5392, 1153} + , { 0,153, 2.55554,-173.1321, 1154} + , { 0,154, 2.47997,-173.6380, 1155} + , { 0,155, 2.40981,-174.0747, 1156} + , { 0,156, 3.82841,-134.5185, 1157} + , { 0,157, 3.63189,-144.1335, 1158} + , { 0,158, 3.45140,-150.7135, 1159} + , { 0,159, 3.29058,-155.3860, 1160} + , { 0,160, 3.14787,-158.8333, 1161} + , { 0,161, 3.02068,-161.4638, 1162} + , { 0,162, 2.90648,-163.5290, 1163} + , { 0,163, 2.80318,-165.1896, 1164} + , { 0,164, 2.70906,-166.5516, 1165} + , { 0,165, 2.62275,-167.6877, 1166} + , { 0,166, 2.54314,-168.6492, 1167} + , { 0,167, 2.46933,-169.4729, 1168} + , { 0,168, 2.40058,-170.1863, 1169} + , { 0,169, 3.62990,-125.0834, 1170} + , { 0,170, 3.48970,-134.6531, 1171} + , { 0,171, 3.34824,-141.8607, 1172} + , { 0,172, 3.21379,-147.3246, 1173} + , { 0,173, 3.08914,-151.5384, 1174} + , { 0,174, 2.97461,-154.8538, 1175} + , { 0,175, 2.86954,-157.5140, 1176} + , { 0,176, 2.77299,-159.6870, 1177} + , { 0,177, 2.68398,-161.4906, 1178} + , { 0,178, 2.60161,-163.0087, 1179} + , { 0,179, 2.52511,-164.3025, 1180} + , { 0,180, 2.45378,-165.4173, 1181} + , { 0,181, 2.38706,-166.3869, 1182} + , { 0,182, 3.44882,-118.6476, 1183} + , { 0,183, 3.34724,-127.5393, 1184} + , { 0,184, 3.23734,-134.7276, 1185} + , { 0,185, 3.12697,-140.4898, 1186} + , { 0,186, 3.02030,-145.1246, 1187} + , { 0,187, 2.91918,-148.8875, 1188} + , { 0,188, 2.82423,-151.9784, 1189} + , { 0,189, 2.73541,-154.5487, 1190} + , { 0,190, 2.65241,-156.7115, 1191} + , { 0,191, 2.57478,-158.5517, 1192} + , { 0,192, 2.50206,-160.1334, 1193} + , { 0,193, 2.43381,-161.5054, 1194} + , { 0,194, 2.36959,-162.7057, 1195} + , { 0,195, 3.28804,-114.0832, 1196} + , { 0,196, 3.21242,-122.1577, 1197} + , { 0,197, 3.12645,-129.0227, 1198} + , { 0,198, 3.03624,-134.7749, 1199} + , { 0,199, 2.94584,-139.5738, 1200} + , { 0,200, 2.85763,-143.5854, 1201} + , { 0,201, 2.77288,-146.9577, 1202} + , { 0,202, 2.69216,-149.8137, 1203} + , { 0,203, 2.61561,-152.2520, 1204} + , { 0,204, 2.54319,-154.3510, 1205} + , { 0,205, 2.47471,-156.1721, 1206} + , { 0,206, 2.40994,-157.7642, 1207} + , { 0,207, 2.34861,-159.1658, 1208} + , { 0,208, 3.14567,-110.7168, 1209} + , { 0,209, 3.08777,-118.0121, 1210} + , { 0,210, 3.01958,-124.4406, 1211} + , { 0,211, 2.94558,-130.0146, 1212} + , { 0,212, 2.86916,-134.8077, 1213} + , { 0,213, 2.79267,-138.9189, 1214} + , { 0,214, 2.71760,-142.4497, 1215} + , { 0,215, 2.64483,-145.4932, 1216} + , { 0,216, 2.57482,-148.1295, 1217} + , { 0,217, 2.50780,-150.4261, 1218} + , { 0,218, 2.44380,-152.4386, 1219} + , { 0,219, 2.38276,-154.2124, 1220} + , { 0,220, 2.32458,-155.7847, 1221} + , { 0,221, 3.01893,-108.1480, 1222} + , { 0,222, 2.97344,-114.7521, 1223} + , { 0,223, 2.91849,-120.7240, 1224} + , { 0,224, 2.85731,-126.0394, 1225} + , { 0,225, 2.79257,-130.7241, 1226} + , { 0,226, 2.72634,-134.8316, 1227} + , { 0,227, 2.66009,-138.4274, 1228} + , { 0,228, 2.59483,-141.5779, 1229} + , { 0,229, 2.53118,-144.3450, 1230} + , { 0,230, 2.46952,-146.7840, 1231} + , { 0,231, 2.41006,-148.9425, 1232} + , { 0,232, 2.35288,-150.8611, 1233} + , { 0,233, 2.29798,-152.5739, 1234} + , { 0,234, 2.90524,-106.1307, 1235} + , { 0,235, 2.86868,-112.1369, 1236} + , { 0,236, 2.82371,-117.6726, 1237} + , { 0,237, 2.77263,-122.7003, 1238} + , { 0,238, 2.71752,-127.2199, 1239} + , { 0,239, 2.66010,-131.2567, 1240} + , { 0,240, 2.60170,-134.8499, 1241} + , { 0,241, 2.54332,-138.0450, 1242} + , { 0,242, 2.48566,-140.8878, 1243} + , { 0,243, 2.42917,-143.4215, 1244} + , { 0,244, 2.37418,-145.6855, 1245} + , { 0,245, 2.32085,-147.7147, 1246} + , { 0,246, 2.26929,-149.5394, 1247} + , { 0,247, 2.80245,-104.5083, 1248} + , { 0,248, 2.77251,-110.0008, 1249} + , { 0,249, 2.73516,-115.1361, 1250} + , { 0,250, 2.69208,-119.8738, 1251} + , { 0,251, 2.64486,-124.2013, 1252} + , { 0,252, 2.59492,-128.1265, 1253} + , { 0,253, 2.54340,-131.6711, 1254} + , { 0,254, 2.49122,-134.8644, 1255} + , { 0,255, 2.43907,-137.7391, 1256} + , { 0,256, 2.38747,-140.3281, 1257} + , { 0,257, 2.33676,-142.6628, 1258} + , { 0,258, 2.28720,-144.7723, 1259} + , { 0,259, 2.23894,-146.6827, 1260} + , { 1, 0, 2.80245, 75.4917, 2001} + , { 1, 1, 2.77251, 69.9992, 2002} + , { 1, 2, 2.73516, 64.8639, 2003} + , { 1, 3, 2.69208, 60.1262, 2004} + , { 1, 4, 2.64486, 55.7987, 2005} + , { 1, 5, 2.59492, 51.8735, 2006} + , { 1, 6, 2.54340, 48.3289, 2007} + , { 1, 7, 2.49122, 45.1356, 2008} + , { 1, 8, 2.43907, 42.2609, 2009} + , { 1, 9, 2.38747, 39.6719, 2010} + , { 1, 10, 2.33676, 37.3372, 2011} + , { 1, 11, 2.28720, 35.2277, 2012} + , { 1, 12, 2.23894, 33.3173, 2013} + , { 1, 13, 2.90524, 73.8693, 2014} + , { 1, 14, 2.86868, 67.8631, 2015} + , { 1, 15, 2.82371, 62.3274, 2016} + , { 1, 16, 2.77263, 57.2997, 2017} + , { 1, 17, 2.71752, 52.7801, 2018} + , { 1, 18, 2.66010, 48.7433, 2019} + , { 1, 19, 2.60170, 45.1501, 2020} + , { 1, 20, 2.54332, 41.9550, 2021} + , { 1, 21, 2.48566, 39.1122, 2022} + , { 1, 22, 2.42917, 36.5785, 2023} + , { 1, 23, 2.37418, 34.3145, 2024} + , { 1, 24, 2.32085, 32.2853, 2025} + , { 1, 25, 2.26929, 30.4606, 2026} + , { 1, 26, 3.01893, 71.8520, 2027} + , { 1, 27, 2.97344, 65.2479, 2028} + , { 1, 28, 2.91849, 59.2760, 2029} + , { 1, 29, 2.85731, 53.9606, 2030} + , { 1, 30, 2.79257, 49.2759, 2031} + , { 1, 31, 2.72634, 45.1684, 2032} + , { 1, 32, 2.66009, 41.5726, 2033} + , { 1, 33, 2.59483, 38.4221, 2034} + , { 1, 34, 2.53118, 35.6550, 2035} + , { 1, 35, 2.46952, 33.2160, 2036} + , { 1, 36, 2.41006, 31.0575, 2037} + , { 1, 37, 2.35288, 29.1389, 2038} + , { 1, 38, 2.29798, 27.4261, 2039} + , { 1, 39, 3.14567, 69.2832, 2040} + , { 1, 40, 3.08777, 61.9879, 2041} + , { 1, 41, 3.01958, 55.5594, 2042} + , { 1, 42, 2.94558, 49.9854, 2043} + , { 1, 43, 2.86916, 45.1923, 2044} + , { 1, 44, 2.79267, 41.0811, 2045} + , { 1, 45, 2.71760, 37.5503, 2046} + , { 1, 46, 2.64483, 34.5068, 2047} + , { 1, 47, 2.57482, 31.8705, 2048} + , { 1, 48, 2.50780, 29.5739, 2049} + , { 1, 49, 2.44380, 27.5614, 2050} + , { 1, 50, 2.38276, 25.7876, 2051} + , { 1, 51, 2.32458, 24.2153, 2052} + , { 1, 52, 3.28804, 65.9168, 2053} + , { 1, 53, 3.21242, 57.8423, 2054} + , { 1, 54, 3.12645, 50.9773, 2055} + , { 1, 55, 3.03624, 45.2251, 2056} + , { 1, 56, 2.94584, 40.4261, 2057} + , { 1, 57, 2.85763, 36.4146, 2058} + , { 1, 58, 2.77288, 33.0423, 2059} + , { 1, 59, 2.69216, 30.1863, 2060} + , { 1, 60, 2.61561, 27.7480, 2061} + , { 1, 61, 2.54319, 25.6490, 2062} + , { 1, 62, 2.47471, 23.8278, 2063} + , { 1, 63, 2.40994, 22.2358, 2064} + , { 1, 64, 2.34861, 20.8342, 2065} + , { 1, 65, 3.44882, 61.3524, 2066} + , { 1, 66, 3.34724, 52.4607, 2067} + , { 1, 67, 3.23734, 45.2724, 2068} + , { 1, 68, 3.12697, 39.5102, 2069} + , { 1, 69, 3.02030, 34.8754, 2070} + , { 1, 70, 2.91918, 31.1125, 2071} + , { 1, 71, 2.82423, 28.0216, 2072} + , { 1, 72, 2.73541, 25.4513, 2073} + , { 1, 73, 2.65241, 23.2885, 2074} + , { 1, 74, 2.57478, 21.4483, 2075} + , { 1, 75, 2.50206, 19.8666, 2076} + , { 1, 76, 2.43381, 18.4946, 2077} + , { 1, 77, 2.36959, 17.2943, 2078} + , { 1, 78, 3.62990, 54.9166, 2079} + , { 1, 79, 3.48970, 45.3469, 2080} + , { 1, 80, 3.34824, 38.1393, 2081} + , { 1, 81, 3.21379, 32.6754, 2082} + , { 1, 82, 3.08914, 28.4616, 2083} + , { 1, 83, 2.97461, 25.1462, 2084} + , { 1, 84, 2.86954, 22.4860, 2085} + , { 1, 85, 2.77299, 20.3130, 2086} + , { 1, 86, 2.68398, 18.5094, 2087} + , { 1, 87, 2.60161, 16.9913, 2088} + , { 1, 88, 2.52511, 15.6975, 2089} + , { 1, 89, 2.45378, 14.5827, 2090} + , { 1, 90, 2.38706, 13.6131, 2091} + , { 1, 91, 3.82841, 45.4815, 2092} + , { 1, 92, 3.63189, 35.8665, 2093} + , { 1, 93, 3.45140, 29.2865, 2094} + , { 1, 94, 3.29058, 24.6140, 2095} + , { 1, 95, 3.14787, 21.1667, 2096} + , { 1, 96, 3.02068, 18.5362, 2097} + , { 1, 97, 2.90648, 16.4710, 2098} + , { 1, 98, 2.80318, 14.8104, 2099} + , { 1, 99, 2.70906, 13.4484, 2100} + , { 1,100, 2.62275, 12.3123, 2101} + , { 1,101, 2.54314, 11.3508, 2102} + , { 1,102, 2.46933, 10.5271, 2103} + , { 1,103, 2.40058, 9.8137, 2104} + , { 1,104, 4.02506, 31.3903, 2105} + , { 1,105, 3.75578, 23.4508, 2106} + , { 1,106, 3.53436, 18.5990, 2107} + , { 1,107, 3.34926, 15.3698, 2108} + , { 1,108, 3.19129, 13.0792, 2109} + , { 1,109, 3.05396, 11.3749, 2110} + , { 1,110, 2.93274, 10.0595, 2111} + , { 1,111, 2.82438, 9.0145, 2112} + , { 1,112, 2.72652, 8.1649, 2113} + , { 1,113, 2.63736, 7.4608, 2114} + , { 1,114, 2.55554, 6.8679, 2115} + , { 1,115, 2.47997, 6.3620, 2116} + , { 1,116, 2.40981, 5.9253, 2117} + , { 1,117, 4.16296, 11.4966, 2118} + , { 1,118, 3.83156, 8.2278, 2119} + , { 1,119, 3.58167, 6.4003, 2120} + , { 1,120, 3.38143, 5.2352, 2121} + , { 1,121, 3.21450, 4.4282, 2122} + , { 1,122, 3.07147, 3.8365, 2123} + , { 1,123, 2.94641, 3.3841, 2124} + , { 1,124, 2.83534, 3.0271, 2125} + , { 1,125, 2.73549, 2.7381, 2126} + , { 1,126, 2.64483, 2.4995, 2127} + , { 1,127, 2.56186, 2.2991, 2128} + , { 1,128, 2.48538, 2.1285, 2129} + , { 1,129, 2.41450, 1.9814, 2130} + , { 1,130, 4.16296,-11.4966, 2131} + , { 1,131, 3.83156, -8.2278, 2132} + , { 1,132, 3.58167, -6.4003, 2133} + , { 1,133, 3.38143, -5.2352, 2134} + , { 1,134, 3.21450, -4.4282, 2135} + , { 1,135, 3.07147, -3.8365, 2136} + , { 1,136, 2.94641, -3.3841, 2137} + , { 1,137, 2.83534, -3.0271, 2138} + , { 1,138, 2.73549, -2.7381, 2139} + , { 1,139, 2.64483, -2.4995, 2140} + , { 1,140, 2.56186, -2.2991, 2141} + , { 1,141, 2.48538, -2.1285, 2142} + , { 1,142, 2.41450, -1.9814, 2143} + , { 1,143, 4.02506,-31.3903, 2144} + , { 1,144, 3.75578,-23.4508, 2145} + , { 1,145, 3.53436,-18.5990, 2146} + , { 1,146, 3.34926,-15.3698, 2147} + , { 1,147, 3.19129,-13.0792, 2148} + , { 1,148, 3.05396,-11.3749, 2149} + , { 1,149, 2.93274,-10.0595, 2150} + , { 1,150, 2.82438, -9.0145, 2151} + , { 1,151, 2.72652, -8.1649, 2152} + , { 1,152, 2.63736, -7.4608, 2153} + , { 1,153, 2.55554, -6.8679, 2154} + , { 1,154, 2.47997, -6.3620, 2155} + , { 1,155, 2.40981, -5.9253, 2156} + , { 1,156, 3.82841,-45.4815, 2157} + , { 1,157, 3.63189,-35.8665, 2158} + , { 1,158, 3.45140,-29.2865, 2159} + , { 1,159, 3.29058,-24.6140, 2160} + , { 1,160, 3.14787,-21.1667, 2161} + , { 1,161, 3.02068,-18.5362, 2162} + , { 1,162, 2.90648,-16.4710, 2163} + , { 1,163, 2.80318,-14.8104, 2164} + , { 1,164, 2.70906,-13.4484, 2165} + , { 1,165, 2.62275,-12.3123, 2166} + , { 1,166, 2.54314,-11.3508, 2167} + , { 1,167, 2.46933,-10.5271, 2168} + , { 1,168, 2.40058, -9.8137, 2169} + , { 1,169, 3.62990,-54.9166, 2170} + , { 1,170, 3.48970,-45.3469, 2171} + , { 1,171, 3.34824,-38.1393, 2172} + , { 1,172, 3.21379,-32.6754, 2173} + , { 1,173, 3.08914,-28.4616, 2174} + , { 1,174, 2.97461,-25.1462, 2175} + , { 1,175, 2.86954,-22.4860, 2176} + , { 1,176, 2.77299,-20.3130, 2177} + , { 1,177, 2.68398,-18.5094, 2178} + , { 1,178, 2.60161,-16.9913, 2179} + , { 1,179, 2.52511,-15.6975, 2180} + , { 1,180, 2.45378,-14.5827, 2181} + , { 1,181, 2.38706,-13.6131, 2182} + , { 1,182, 3.44882,-61.3524, 2183} + , { 1,183, 3.34724,-52.4607, 2184} + , { 1,184, 3.23734,-45.2724, 2185} + , { 1,185, 3.12697,-39.5102, 2186} + , { 1,186, 3.02030,-34.8754, 2187} + , { 1,187, 2.91918,-31.1125, 2188} + , { 1,188, 2.82423,-28.0216, 2189} + , { 1,189, 2.73541,-25.4513, 2190} + , { 1,190, 2.65241,-23.2885, 2191} + , { 1,191, 2.57478,-21.4483, 2192} + , { 1,192, 2.50206,-19.8666, 2193} + , { 1,193, 2.43381,-18.4946, 2194} + , { 1,194, 2.36959,-17.2943, 2195} + , { 1,195, 3.28804,-65.9168, 2196} + , { 1,196, 3.21242,-57.8423, 2197} + , { 1,197, 3.12645,-50.9773, 2198} + , { 1,198, 3.03624,-45.2251, 2199} + , { 1,199, 2.94584,-40.4262, 2200} + , { 1,200, 2.85763,-36.4146, 2201} + , { 1,201, 2.77288,-33.0423, 2202} + , { 1,202, 2.69216,-30.1863, 2203} + , { 1,203, 2.61561,-27.7480, 2204} + , { 1,204, 2.54319,-25.6490, 2205} + , { 1,205, 2.47471,-23.8279, 2206} + , { 1,206, 2.40994,-22.2358, 2207} + , { 1,207, 2.34861,-20.8342, 2208} + , { 1,208, 3.14567,-69.2832, 2209} + , { 1,209, 3.08777,-61.9879, 2210} + , { 1,210, 3.01958,-55.5594, 2211} + , { 1,211, 2.94558,-49.9854, 2212} + , { 1,212, 2.86916,-45.1923, 2213} + , { 1,213, 2.79267,-41.0811, 2214} + , { 1,214, 2.71760,-37.5503, 2215} + , { 1,215, 2.64483,-34.5068, 2216} + , { 1,216, 2.57482,-31.8705, 2217} + , { 1,217, 2.50780,-29.5739, 2218} + , { 1,218, 2.44380,-27.5614, 2219} + , { 1,219, 2.38276,-25.7876, 2220} + , { 1,220, 2.32458,-24.2153, 2221} + , { 1,221, 3.01893,-71.8520, 2222} + , { 1,222, 2.97344,-65.2479, 2223} + , { 1,223, 2.91849,-59.2760, 2224} + , { 1,224, 2.85731,-53.9606, 2225} + , { 1,225, 2.79257,-49.2759, 2226} + , { 1,226, 2.72634,-45.1684, 2227} + , { 1,227, 2.66009,-41.5726, 2228} + , { 1,228, 2.59483,-38.4221, 2229} + , { 1,229, 2.53118,-35.6550, 2230} + , { 1,230, 2.46952,-33.2160, 2231} + , { 1,231, 2.41006,-31.0575, 2232} + , { 1,232, 2.35288,-29.1389, 2233} + , { 1,233, 2.29798,-27.4261, 2234} + , { 1,234, 2.90524,-73.8693, 2235} + , { 1,235, 2.86868,-67.8631, 2236} + , { 1,236, 2.82371,-62.3274, 2237} + , { 1,237, 2.77263,-57.2997, 2238} + , { 1,238, 2.71752,-52.7801, 2239} + , { 1,239, 2.66010,-48.7433, 2240} + , { 1,240, 2.60170,-45.1501, 2241} + , { 1,241, 2.54332,-41.9550, 2242} + , { 1,242, 2.48566,-39.1122, 2243} + , { 1,243, 2.42917,-36.5785, 2244} + , { 1,244, 2.37418,-34.3145, 2245} + , { 1,245, 2.32085,-32.2853, 2246} + , { 1,246, 2.26929,-30.4606, 2247} + , { 1,247, 2.80245,-75.4917, 2248} + , { 1,248, 2.77251,-69.9992, 2249} + , { 1,249, 2.73516,-64.8639, 2250} + , { 1,250, 2.69208,-60.1262, 2251} + , { 1,251, 2.64486,-55.7987, 2252} + , { 1,252, 2.59492,-51.8735, 2253} + , { 1,253, 2.54340,-48.3289, 2254} + , { 1,254, 2.49122,-45.1356, 2255} + , { 1,255, 2.43907,-42.2609, 2256} + , { 1,256, 2.38747,-39.6719, 2257} + , { 1,257, 2.33676,-37.3372, 2258} + , { 1,258, 2.28720,-35.2277, 2259} + , { 1,259, 2.23894,-33.3173, 2260} +}; +#endif diff --git a/StRoot/StGeant4Maker/tests/unit_test_fcs_sampling.C b/StRoot/StGeant4Maker/tests/unit_test_fcs_sampling.C new file mode 100644 index 00000000000..3be9d828440 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_fcs_sampling.C @@ -0,0 +1,150 @@ +#include "tests/unit_tests.h" +//#include "StFcsDbMaker/StFcsDbMaker.h" + +#include +#include +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; + +struct Cell { + int northSouth; + int cellId; + double eta; + double phi; + double x,y,z; + int volumeId; // expected Volume ID +}; + + +void unit_test_fcs_sampling( const int nevents=1000 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.0,0.0,0.0); + pm->SetSigma (0.0,0.0,0.0); + + LOG_TEST << "========================================================" << std::endl; + LOG_TEST << "Test 3.85 GeV protons, neutrons" << std::endl; + LOG_TEST << "Test 7.7 GeV deuteron" << std::endl; + LOG_TEST << "Test 15.4 GeV alpha" << std::endl; + LOG_TEST << "========================================================" << std::endl; + + TFile* file = TFile::Open("output.root","recreate"); + int nbin=80; + double mn=0.; + double mx=20.0; + + auto* chain = StMaker::GetChain(); + + auto sumHits = [=](const char* name, double sf=1.0 ) -> double { + assert(sf>0); + double sum = 0.; + auto* table = dynamic_cast( chain->GetDataSet( name ) ) ; + if (table) + for ( int i=0;iGetNRows();i++ ){ + const g2t_emc_hit_st* hit = static_cast( table->At(i) ); + sum+=hit->de / sf; + }; + return sum; + }; + + auto throw_particle = [=]( std::string type, const double E=3.85, double etaMn=2.75, double etaMx=3.75 ) { + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* _part = _kine->AddParticle(type.c_str()); + auto _mass = _part->GetMass(); // Get the mass of the proton + if ( E > _mass ) { + auto _pmom = TMath::Sqrt(E*E-_mass*_mass); + auto _eta = gRandom->Rndm() * ( etaMx - etaMn ) + etaMn; // random angle + auto _phi = gRandom->Rndm() * TMath::TwoPi(); + TVector3 unit(0,0,1); + unit.SetPtEtaPhi(1.0,_eta,_phi); + unit=unit.Unit(); + auto momentum=_pmom*unit; + momentum.Print(); + _part->SetPx( momentum[0] ); + _part->SetPy( momentum[1] ); + _part->SetPz( momentum[2] ); + _part->SetVx( 0 ); + _part->SetVy( 0 ); + _part->SetVz( 0 ); + chain->Clear(); + chain->Make(); + } + else { + LOG_INFO << "ERROR: mass > E (no particle simulated)" << endm; + } + }; + + struct Job { + std::string particle; + double energy; + TH1F* hWCAL; + TH1F* hHCAL; + TH1F* hESUM; + }; + + TH1F* hWCAL[5]; + TH1F* hHCAL[5]; + TH1F* hESUM[5]; + + std::vector jobs = { + { "electron",3.85, 0, 0, 0 }, + { "proton", 3.85, 0, 0, 0 }, + { "neutron", 3.85, 0, 0, 0 }, + { "D", 7.70, 0, 0, 0 }, + { "alpha", 15.4, 0, 0, 0 } + }; + + int count = 0; + for ( auto job : jobs ) { + std::string name; + std::string title; + + name = Form("hWCAL%s",job.particle.c_str()); + title = Form("WCAL response to %5f GeV %s; E [GeV]",job.energy,job.particle.c_str()); + hWCAL[count] = new TH1F(name.c_str(),title.c_str(),500,0.,25.); + + name = Form("hHCAL%s",job.particle.c_str()); + title = Form("HCAL response to %5f GeV %s; E [GeV]",job.energy,job.particle.c_str()); + hHCAL[count] = new TH1F(name.c_str(),title.c_str(),500,0.,25.); + + name = Form("hESUM%s",job.particle.c_str()); + title = Form("FCS summed response to %5f GeV %s; E [GeV]",job.energy,job.particle.c_str()); + hESUM[count] = new TH1F(name.c_str(),title.c_str(),500,0.,25.); + + count++; + } + + + for ( int event=0;eventInfo() << "//==========================================================================" << endm; + gMessMgr->Info() << "Throwing event number " << event << " of " << nevents << endm; + + count = 0; + for ( auto& job : jobs ) { + throw_particle( job.particle, job.energy ); + double wcal = sumHits( "g2t_wca_hit", 0.2 ); + double hcal = sumHits( "g2t_hca_hit", 0.0145 ); + double sum = wcal + hcal; + LOG_INFO << "Particle = " << job.particle << endm; + LOG_INFO << "E (wcal) = " << wcal << endm; + LOG_INFO << "E (hcal) = " << hcal << endm; + LOG_INFO << "E (totl) = " << sum << endm; + hWCAL[count]->Fill(wcal); + hHCAL[count]->Fill(hcal); + hESUM[count]->Fill(sum); + count++; + } + + } + + file->Write(); + delete file; + +} + diff --git a/StRoot/StGeant4Maker/tests/unit_test_fst_hits.C b/StRoot/StGeant4Maker/tests/unit_test_fst_hits.C new file mode 100644 index 00000000000..d03fe6d49fb --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_fst_hits.C @@ -0,0 +1,181 @@ +#include "tests/unit_tests.h" +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +//void throw_muon_in_fst_wedge( int wedgeid, int inout, int charge = 1 ) { +void throw_muon_in_fst_wedge( double eta, double phid ) { + + // TODO... + //double eta = 2.8; + _eta=eta; + //double phid = 15.0; + _phid=phid; + + throw_muon( eta, phid, 5.0, 1 ); // energetic + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ) ; + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ) ; + hit_table = dynamic_cast( chain->GetDataSet("g2t_fsi_hit") ) ; + +} +//___________________________________________________________________ +void unit_test_fst_hits() { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and forward silicon hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + double etas[] = { 2.55, 3.00, 3.50, 3.95 }; + double phis[] = { 15.0, 45.0, 75.0, 105.0, 135.0, 165.0, 195.0, 225.0, 255.0, 285.0, 315.0, 345.0 }; + + for ( auto e : etas ) { + for ( auto p : phis ) { + + throw_muon_in_fst_wedge( e, p+1.9 ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + // Failure is tested by check_track when it tests for a valid track pointer + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the FSI", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 3 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_fts_hit; + std::string result = FAIL; + if ( n==3 ) + result = PASS; + else if ( n==4 ) + result = UNKN; + result = Form(" n=%i ",n) + result; + return result; + }); + + for ( int i=0;iGetNRows();i++ ) { + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + check_stg_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have an energy deposit > 0",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->de > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have a path length > 0",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have a nonzero momentum",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + check_stg_hit( "Track's momentum at hit should be < initial value",hit, [=](const g2t_fts_hit_st* h){ + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + check_stg_hit( "Hit position should be w/in the fiducial volume of the station",hit,[=](const g2t_fts_hit_st* h){ + // TODO + return TODO; + }); + check_stg_hit( "The hit position and tof*c agree to w/in 0.15 mm ", hit,[=](const g2t_fts_hit_st* h) { + // There should be some tolerance on this, b/c of roundoff error at each tracking step + std::string result = FAIL; + double c_tof = 2.99792458E10 /* cm/s */ * h->tof; + double s_trk = + sqrt( h->x[0]*h->x[0] + + h->x[1]*h->x[1] + + h->x[2]*h->x[2] ); + double diff = TMath::Abs(c_tof-s_trk); + if ( diff < 0.015 ) result = PASS; + result = Form("c_tof=%f cm strack=%f cm diff=%f cm ",c_tof,s_trk,diff) + result; + return result; + }); + check_stg_hit( "The station should decode as ...",hit,[=](const g2t_fts_hit_st* h) { + std::string result=TODO; + int station = h->volume_id / 10; + if ( station>=1 && station<=4 ) result=PASS; + result = Form(" volume_id=%i ",h->volume_id) + result; + return result; + }); + + } + + } + } + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_fst_timing.C b/StRoot/StGeant4Maker/tests/unit_test_fst_timing.C new file mode 100644 index 00000000000..9928cb4614c --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_fst_timing.C @@ -0,0 +1,173 @@ +#include "tests/unit_tests.h" +#include + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +void throw_muon_in_fst() { + + + throw_particle( 1, "mu+,mu-", 0.2, 5.0, 2.5, 4.0, 0.0, TMath::TwoPi() ); + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ) ; + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ) ; + hit_table = dynamic_cast( chain->GetDataSet("g2t_fsi_hit") ) ; + + const g2t_track_st* track = static_cast( track_table->At(0) ); + _eta = track->eta; + + _phid = TMath::ATan2( track->p[1], track->p[0] ) * 180.0 / TMath::Pi(); + while ( _phid < 0 ) _phid+=360; + + +} +//___________________________________________________________________ +void unit_test_fst_timing( int longtest=10000 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + Accumulator_t time; // Time per thrown muon + Accumulator_t time_phi[181]; // time in 2 degree phi slices + + for ( int event=0;eventstart_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the FSI", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 3 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_fts_hit; + std::string result = FAIL; + if ( n==3 ) + result = PASS; + else if ( n==4 ) + result = UNKN; + result = Form(" n=%i ",n) + result; + return result; + }); + + } + + auto printTime = [=]( const std::string& message, const Accumulator_t& time ) { + + int _count = boost::accumulators::count(time); + double _mean = boost::accumulators::mean(time); + double _median = boost::accumulators::median(time); + double _min = boost::accumulators::min(time); + double _max = boost::accumulators::max(time); + double _error_of_mean = boost::accumulators::error_of(time); + + LOG_TEST << message.c_str() << std::endl; + LOG_TEST << Form( "count = %i", _count ) << std::endl; + LOG_TEST << Form( "time / muon: mean = %f s", _mean ) << std::endl; + LOG_TEST << Form( "time / muon: median = %f s", _median ) << std::endl; + LOG_TEST << Form( "time / muon: min = %f s", _min ) << std::endl; + LOG_TEST << Form( "time / muon: max = %f s", _max ) << std::endl; + if ( _count > 2 ) + LOG_TEST << Form( "time / muon: error of mean = %f s", _error_of_mean ) << std::endl; + + + }; + + printTime( "TOTAL /////////////////////////////////", time ); + int index=0; + for ( auto t : time_phi ) { + + printTime( Form("PHI=%i /////////////////////////////////",2*index), time_phi[index] ); + index++; + + } + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_kinematics.C b/StRoot/StGeant4Maker/tests/unit_test_kinematics.C new file mode 100644 index 00000000000..1bf8274055f --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_kinematics.C @@ -0,0 +1,183 @@ +#include "tests/unit_tests.h" + +#include + +template +std::string check_kine( std::string message, Add addfunc, Test testfunc ) { + std::string af = addfunc(); + std::string tf = testfunc(); + std::string result = "\u001b[37m [" + message + "] " + "(" + af +") " + tf; + gMessMgr->Info() << result << endm; + return result; +}; + +void unit_test_kinematics() { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of paticle gun" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + auto* chain = StMaker::GetChain(); + + auto no_op = [=]() -> std::string { return "-same-"; } ; + auto add_deuteron = [=]() { + std::string result = "Deuteron"; + const double ptmn = 0.099999; + const double ptmx = 10.100001; + const double etamn= -1.; + const double etamx= +4.; + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + pm->Clear(); + _kine->SetAttr("rapidity",1); + _kine->Kine(1,"D",ptmn,ptmx,etamn,etamx); + pm->Make(); + pm->event()->Print(); + return result; + }; + + check_kine( "After adding a deuteron to the generator, a single particle appears in the event", add_deuteron, [=](){ + std::string result = FAIL; + int np = _kine->GetNumberOfParticles(); + if ( 1 == np ) { + result = PASS; + } + result = Form(" /number of particles = %i/ ", np) + result; + return result; + }); + check_kine( "The particle should be accessible in the event structure at element 1", no_op, [=](){ + auto& event = *pm->event(); + auto part = event[1]; + if ( part ) + return PASS; + else + return FAIL; + }); + check_kine( "The particle should have PDG id id=1000010020", no_op, [=](){ + auto& event = *pm->event(); + auto part = event[1]; + std::string result = FAIL; + if ( 1000010020 == part->GetId() ) + result = PASS; + + result = Form("/id = %i/ ",part->GetId()) + result; + return result; + }); + check_kine( "The particle should have mass > 0", no_op, [=](){ + std::string result = FAIL; + auto& event = *pm->event(); + auto part = event[1]; + auto mass = part->GetMass(); + if ( mass > 0 ) result = PASS; + result = Form("/mass = %f GeV/ ",mass) + result; + return result; + }); + check_kine( "The dot product of the particl's 4-momentum w/ itself is (mc^2)^2", no_op, [=](){ + std::string result = FAIL; + auto& event = *pm->event(); + auto part = event[1]; + auto mass = part->GetMass(); + auto momentum = part->momentum(); + auto inner = momentum.Dot(momentum); + //momentum.Print(); + bool good = TMath::Abs( sqrt(inner) - mass ) < 0.005*mass; + if ( good ) + result = PASS; + result = Form("/sqrt(p4 dot p4) = %f expect %f/", sqrt(inner), mass) + result; + return result; + }); + + + auto add_helium3 = [=]() { + std::string result = "He3"; + const double ptmn = 0.099999; + const double ptmx = 10.100001; + const double etamn= -1.; + const double etamx= +4.; + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + pm->Clear(); + _kine->SetAttr("rapidity",1); + _kine->Kine(1,"He3",ptmn,ptmx,etamn,etamx); + pm->Make(); + pm->event()->Print(); + return result; + }; + +#if 0 + auto add_alpha = [=]() { + std::string result = "alpha"; + const double ptmn = 0.099999; + const double ptmx = 10.100001; + const double etamn= -1.; + const double etamx= +4.; + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + pm->Clear(); + _kine->SetAttr("rapidity",1); + _kine->Kine(1,"He4",ptmn,ptmx,etamn,etamx); + pm->Make(); + pm->event()->Print(); + return result; + }; +#endif + + check_kine( "After adding He3 to the generator, a single particle appears in the event", add_helium3, [=](){ + std::string result = FAIL; + int np = _kine->GetNumberOfParticles(); + if ( 1 == np ) { + result = PASS; + } + result = Form(" /number of particles = %i/ ", np) + result; + return result; + }); + check_kine( "The particle should be accessible in the event structure at element 1", no_op, [=](){ + auto& event = *pm->event(); + auto part = event[1]; + if ( part ) + return PASS; + else + return FAIL; + }); + check_kine( "The particle should have PDG id id=1000020020", no_op, [=](){ + auto& event = *pm->event(); + auto part = event[1]; + std::string result = FAIL; + if ( 1000020020 == part->GetId() ) + result = PASS; + + result = Form("/id = %i/ ",part->GetId()) + result; + return result; + }); + check_kine( "The particle should have mass > 0", no_op, [=](){ + std::string result = FAIL; + auto& event = *pm->event(); + auto part = event[1]; + auto mass = part->GetMass(); + if ( mass > 0 ) result = PASS; + result = Form("/mass = %f GeV/ ",mass) + result; + return result; + }); + check_kine( "The dot product of the particl's 4-momentum w/ itself is (mc^2)^2", no_op, [=](){ + std::string result = FAIL; + auto& event = *pm->event(); + auto part = event[1]; + auto mass = part->GetMass(); + auto momentum = part->momentum(); + auto inner = momentum.Dot(momentum); + //momentum.Print(); + bool good = TMath::Abs( sqrt(inner) - mass ) < 0.005*mass; + if ( good ) + result = PASS; + result = Form("/sqrt(p4 dot p4) = %f expect %f/", sqrt(inner), mass) + result; + return result; + }); + + + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_mtd_hits.C b/StRoot/StGeant4Maker/tests/unit_test_mtd_hits.C new file mode 100644 index 00000000000..582e9ccc43f --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_mtd_hits.C @@ -0,0 +1,1748 @@ +#include "tests/unit_tests.h" +#include + +struct Cell { + int icell; + int bl; // backleg + int mod; // module + float phi; + float eta; +}; +std::vector cells; +void init_cells(); + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//______________________________________________________________________ +void unit_test_mtd_hits( int longtest=0, double _pt=25.0 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and TPC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + Accumulator_t edep; // Energy deposition + Accumulator_t step; // Step size + Accumulator_t time; // Time per throw + + init_cells(); + + for ( auto cell : cells ) { + + throw_muon( _eta = cell.eta, cell.phi * 180.0 / TMath::Pi(), _pt ); + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_mtd_hit") ); + + + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + assert(t); + std::string result = PASS; + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the TPC", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* v = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( 0==v ) + result = PASS; + else { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 208.0 || xx2 > 208.0 ) + result = PASS; + result = Form(" r=%f ",TMath::Max(xx1,xx2)) + result; + } + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 6 hits in the MTD (dev2021 geometry)", [=](const g2t_track_st* t){ + int n = t->n_mtd_hit; + std::string result = FAIL; + if ( n==5 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + if ( 0==hit_table ) continue; + + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << GIVEN << "A hit on that track" << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + check_mtd_hit( "The hit should have a nonzero volume_id", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form("id=%i vid=%i de=%f ds=%f ",h->id,h->volume_id,h->de,h->ds) + result; + return result; + }); + check_mtd_hit( "The hit should have an energy deposit > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; // undetermined + if ( h->de > 0 ) result = PASS; + return result; + }); + check_mtd_hit( "The hit should have a step size > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_mtd_hit( "The hit should have a path length > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->s_track > 0 ) result = PASS; + return result; + }); + check_mtd_hit( "The hit should have time-of-flight > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->tof > 0 ) result = PASS; + result = Form(" tof=%f ",h->tof) + result; + return result; + }); + check_mtd_hit( "The hit should have a nonzero momentum", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + check_mtd_hit( "The hit should have a length > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->s_track > 0 ) result = PASS; + return result; + }); + + check_mtd_hit( "The hit should be at a radius > 364.25", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double R2 = h->xglobal[0]*h->xglobal[0] + h->xglobal[1]*h->xglobal[1]; + if ( R2 > 364.25*364.25 ) result = PASS; + result = Form(" R=%f ",sqrt(R2)) + result; + return result; + }); + check_mtd_hit( "The hit should be at a radius < 430.0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double R2 = h->xglobal[0]*h->xglobal[0] + h->xglobal[1]*h->xglobal[1]; + if ( R2 < 430.0*430.0 ) result = PASS; + result = Form(" R=%f ",sqrt(R2)) + result; + return result; + }); + + check_mtd_hit( "Track's momentum at hit should be < initial value", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + + + if ( Conditional ( + check_mtd_hit("Conditional: Is the track's momentum at hit > 50% of its initial value", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 > 0.25* _pmom*_pmom ) result = YES; + return result; + }) + ) + ) { + + check_mtd_hit( "The track length and tof*c agree to w/in 0.15 mm ", hit,[=](const g2t_mtd_hit_st* h) { + // There should be some tolerance on this, b/c of roundoff error at each tracking step + std::string result = FAIL; + double c_tof = 2.99792458E10 /* cm/s */ * h->tof; + double s_trk = h->s_track; + double diff = TMath::Abs(c_tof-s_trk); + if ( diff < 0.015 ) result = PASS; + result = Form("c_tof=%f cm strack=%f cm diff=%f cm ",c_tof,s_trk,diff) + result; + return result; + }); + check_mtd_hit( "The track length at the hit should be >= radius at the hit",hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double R2 = h->xglobal[0]*h->xglobal[0] + h->xglobal[1]*h->xglobal[1]; + double L2 = h->s_track * h->s_track; + if ( R2 <= L2 ) result = PASS; + result = Form(" R=%f L=%f",sqrt(R2),sqrt(L2)) + result; + return result; + }); + + } else { + + LOG_TEST << "The track length and tof*c agree to w/in 0.15 mm " << NADA << std::endl; + LOG_TEST << "The track length at the hit should be >= radius at the hit" << NADA << std::endl; + + } + + + check_mtd_hit( "The sector (aka backleg) should decode as 1..30", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + int sector = h->volume_id / 1000; + if ( sector >= 1 && sector <= 30 ) result = PASS; + result = Form("sector=%i ",sector) + result; + return result; + }); + check_mtd_hit( "The module should decode as 1..5", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + int module = h->volume_id % 1000 / 100; + if ( module >= 1 && module <= 5 ) result = PASS; + result = Form("module=%i ",module) + result; + return result; + }); + check_mtd_hit( "The layer should decode as 1..5", hit,[=]( const g2t_mtd_hit_st* h) { + std::string result = FAIL; + int layer = h->volume_id % 10; + if ( layer >= 1 && layer <= 5 ) result = PASS; + result = Form("layer=%i ",layer) + result; + return result; + }); + } + + } + + std::cout << std::endl << std::endl; + + // Print out energy deposition + { + + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + // Print out time per track + { + + double _mean = boost::accumulators::mean(time); + double _median = boost::accumulators::median(time); + double _min = boost::accumulators::min(time); + double _max = boost::accumulators::max(time); + double _error_of_mean = boost::accumulators::error_of(time); + LOG_TEST << Form( "time / muon: mean = %f s", _mean ) << std::endl; + LOG_TEST << Form( "time / muon: median = %f s", _median ) << std::endl; + LOG_TEST << Form( "time / muon: min = %f s", _min ) << std::endl; + LOG_TEST << Form( "time / muon: max = %f s", _max ) << std::endl; + LOG_TEST << Form( "time / muon: error of mean = %f s", _error_of_mean ) << std::endl; + + } + + // Reset accumulators + edep = step = time = {}; + + if ( longtest > 0 ) { + + std::cout << "-/ running long test with N pi+/pi- =" << longtest << " /-" << std::endl; + + throw_particle( longtest, "pi+,pi-", 0.200, 20.0, -1.0, 1.0, 0.0, TMath::TwoPi() ); + + auto* chain = StMaker::GetChain(); + hit_table = dynamic_cast( chain->GetDataSet("g2t_mtd_hit") ) ; + + // Accumulate + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + // std::cout << *hit << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + } + + // Print out energy deposition + { + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + } + + +} +//___________________________________________________________________ +void init_cells() { +cells.push_back({ 0,1,1, 1.510019,-0.416592 }); +cells.push_back({ 1,1,1, 1.521069,-0.416592 }); +cells.push_back({ 2,1,1, 1.532120,-0.416592 }); +cells.push_back({ 3,1,1, 1.543170,-0.416592 }); +cells.push_back({ 4,1,1, 1.554221,-0.416592 }); +cells.push_back({ 5,1,1, 1.565271,-0.416592 }); +cells.push_back({ 6,1,1, 1.576321,-0.416592 }); +cells.push_back({ 7,1,1, 1.587372,-0.416592 }); +cells.push_back({ 8,1,1, 1.598422,-0.416592 }); +cells.push_back({ 9,1,1, 1.609473,-0.416592 }); +cells.push_back({ 10,1,1, 1.620523,-0.416592 }); +cells.push_back({ 11,1,1, 1.631574,-0.416592 }); +// ibackleg=1 imodule=2 +cells.push_back({ 0,1,2, 1.509247,-0.212765 }); +cells.push_back({ 1,1,2, 1.520438,-0.212765 }); +cells.push_back({ 2,1,2, 1.531629,-0.212765 }); +cells.push_back({ 3,1,2, 1.542819,-0.212765 }); +cells.push_back({ 4,1,2, 1.554010,-0.212765 }); +cells.push_back({ 5,1,2, 1.565201,-0.212765 }); +cells.push_back({ 6,1,2, 1.576392,-0.212765 }); +cells.push_back({ 7,1,2, 1.587582,-0.212765 }); +cells.push_back({ 8,1,2, 1.598773,-0.212765 }); +cells.push_back({ 9,1,2, 1.609964,-0.212765 }); +cells.push_back({ 10,1,2, 1.621154,-0.212765 }); +cells.push_back({ 11,1,2, 1.632345,-0.212765 }); +// ibackleg=1 imodule=3 +cells.push_back({ 0,1,3, 1.510019,-0.000000 }); +cells.push_back({ 1,1,3, 1.521069,-0.000000 }); +cells.push_back({ 2,1,3, 1.532120,-0.000000 }); +cells.push_back({ 3,1,3, 1.543170,-0.000000 }); +cells.push_back({ 4,1,3, 1.554221,-0.000000 }); +cells.push_back({ 5,1,3, 1.565271,-0.000000 }); +cells.push_back({ 6,1,3, 1.576321,-0.000000 }); +cells.push_back({ 7,1,3, 1.587372,-0.000000 }); +cells.push_back({ 8,1,3, 1.598422,-0.000000 }); +cells.push_back({ 9,1,3, 1.609473,-0.000000 }); +cells.push_back({ 10,1,3, 1.620523,-0.000000 }); +cells.push_back({ 11,1,3, 1.631574,-0.000000 }); +// ibackleg=1 imodule=4 +cells.push_back({ 0,1,4, 1.632345,0.212765 }); +cells.push_back({ 1,1,4, 1.621154,0.212765 }); +cells.push_back({ 2,1,4, 1.609964,0.212765 }); +cells.push_back({ 3,1,4, 1.598773,0.212765 }); +cells.push_back({ 4,1,4, 1.587582,0.212765 }); +cells.push_back({ 5,1,4, 1.576392,0.212765 }); +cells.push_back({ 6,1,4, 1.565201,0.212765 }); +cells.push_back({ 7,1,4, 1.554010,0.212765 }); +cells.push_back({ 8,1,4, 1.542819,0.212765 }); +cells.push_back({ 9,1,4, 1.531629,0.212765 }); +cells.push_back({ 10,1,4, 1.520438,0.212765 }); +cells.push_back({ 11,1,4, 1.509247,0.212765 }); +// ibackleg=2 imodule=0 +// ibackleg=2 imodule=1 +cells.push_back({ 0,2,1, 1.719458,-0.416592 }); +cells.push_back({ 1,2,1, 1.730509,-0.416592 }); +cells.push_back({ 2,2,1, 1.741559,-0.416592 }); +cells.push_back({ 3,2,1, 1.752610,-0.416592 }); +cells.push_back({ 4,2,1, 1.763660,-0.416592 }); +cells.push_back({ 5,2,1, 1.774711,-0.416592 }); +cells.push_back({ 6,2,1, 1.785761,-0.416592 }); +cells.push_back({ 7,2,1, 1.796812,-0.416592 }); +cells.push_back({ 8,2,1, 1.807862,-0.416592 }); +cells.push_back({ 9,2,1, 1.818912,-0.416592 }); +cells.push_back({ 10,2,1, 1.829963,-0.416592 }); +cells.push_back({ 11,2,1, 1.841013,-0.416592 }); +// ibackleg=2 imodule=2 +cells.push_back({ 0,2,2, 1.718687,-0.212765 }); +cells.push_back({ 1,2,2, 1.729878,-0.212765 }); +cells.push_back({ 2,2,2, 1.741068,-0.212765 }); +cells.push_back({ 3,2,2, 1.752259,-0.212765 }); +cells.push_back({ 4,2,2, 1.763450,-0.212765 }); +cells.push_back({ 5,2,2, 1.774641,-0.212765 }); +cells.push_back({ 6,2,2, 1.785831,-0.212765 }); +cells.push_back({ 7,2,2, 1.797022,-0.212765 }); +cells.push_back({ 8,2,2, 1.808213,-0.212765 }); +cells.push_back({ 9,2,2, 1.819403,-0.212765 }); +cells.push_back({ 10,2,2, 1.830594,-0.212765 }); +cells.push_back({ 11,2,2, 1.841785,-0.212765 }); +// ibackleg=2 imodule=3 +cells.push_back({ 0,2,3, 1.719458,-0.000000 }); +cells.push_back({ 1,2,3, 1.730509,-0.000000 }); +cells.push_back({ 2,2,3, 1.741559,-0.000000 }); +cells.push_back({ 3,2,3, 1.752610,-0.000000 }); +cells.push_back({ 4,2,3, 1.763660,-0.000000 }); +cells.push_back({ 5,2,3, 1.774711,-0.000000 }); +cells.push_back({ 6,2,3, 1.785761,-0.000000 }); +cells.push_back({ 7,2,3, 1.796812,-0.000000 }); +cells.push_back({ 8,2,3, 1.807862,-0.000000 }); +cells.push_back({ 9,2,3, 1.818912,-0.000000 }); +cells.push_back({ 10,2,3, 1.829963,-0.000000 }); +cells.push_back({ 11,2,3, 1.841013,-0.000000 }); +// ibackleg=2 imodule=4 +cells.push_back({ 0,2,4, 1.841785,0.212765 }); +cells.push_back({ 1,2,4, 1.830594,0.212765 }); +cells.push_back({ 2,2,4, 1.819403,0.212765 }); +cells.push_back({ 3,2,4, 1.808213,0.212765 }); +cells.push_back({ 4,2,4, 1.797022,0.212765 }); +cells.push_back({ 5,2,4, 1.785831,0.212765 }); +cells.push_back({ 6,2,4, 1.774641,0.212765 }); +cells.push_back({ 7,2,4, 1.763450,0.212765 }); +cells.push_back({ 8,2,4, 1.752259,0.212765 }); +cells.push_back({ 9,2,4, 1.741068,0.212765 }); +cells.push_back({ 10,2,4, 1.729878,0.212765 }); +cells.push_back({ 11,2,4, 1.718687,0.212765 }); +// ibackleg=3 imodule=0 +// ibackleg=3 imodule=1 +cells.push_back({ 0,3,1, 1.928898,-0.416592 }); +cells.push_back({ 1,3,1, 1.939948,-0.416592 }); +cells.push_back({ 2,3,1, 1.950999,-0.416592 }); +cells.push_back({ 3,3,1, 1.962049,-0.416592 }); +cells.push_back({ 4,3,1, 1.973100,-0.416592 }); +cells.push_back({ 5,3,1, 1.984150,-0.416592 }); +cells.push_back({ 6,3,1, 1.995201,-0.416592 }); +cells.push_back({ 7,3,1, 2.006251,-0.416592 }); +cells.push_back({ 8,3,1, 2.017302,-0.416592 }); +cells.push_back({ 9,3,1, 2.028352,-0.416592 }); +cells.push_back({ 10,3,1, 2.039402,-0.416592 }); +cells.push_back({ 11,3,1, 2.050453,-0.416592 }); +// ibackleg=3 imodule=2 +cells.push_back({ 0,3,2, 1.928126,-0.212765 }); +cells.push_back({ 1,3,2, 1.939317,-0.212765 }); +cells.push_back({ 2,3,2, 1.950508,-0.212765 }); +cells.push_back({ 3,3,2, 1.961699,-0.212765 }); +cells.push_back({ 4,3,2, 1.972889,-0.212765 }); +cells.push_back({ 5,3,2, 1.984080,-0.212765 }); +cells.push_back({ 6,3,2, 1.995271,-0.212765 }); +cells.push_back({ 7,3,2, 2.006461,-0.212765 }); +cells.push_back({ 8,3,2, 2.017652,-0.212765 }); +cells.push_back({ 9,3,2, 2.028843,-0.212765 }); +cells.push_back({ 10,3,2, 2.040034,-0.212765 }); +cells.push_back({ 11,3,2, 2.051224,-0.212765 }); +// ibackleg=3 imodule=3 +cells.push_back({ 0,3,3, 1.928898,-0.000000 }); +cells.push_back({ 1,3,3, 1.939948,-0.000000 }); +cells.push_back({ 2,3,3, 1.950999,-0.000000 }); +cells.push_back({ 3,3,3, 1.962049,-0.000000 }); +cells.push_back({ 4,3,3, 1.973100,-0.000000 }); +cells.push_back({ 5,3,3, 1.984150,-0.000000 }); +cells.push_back({ 6,3,3, 1.995201,-0.000000 }); +cells.push_back({ 7,3,3, 2.006251,-0.000000 }); +cells.push_back({ 8,3,3, 2.017302,-0.000000 }); +cells.push_back({ 9,3,3, 2.028352,-0.000000 }); +cells.push_back({ 10,3,3, 2.039402,-0.000000 }); +cells.push_back({ 11,3,3, 2.050453,-0.000000 }); +// ibackleg=3 imodule=4 +cells.push_back({ 0,3,4, 2.051224,0.212765 }); +cells.push_back({ 1,3,4, 2.040034,0.212765 }); +cells.push_back({ 2,3,4, 2.028843,0.212765 }); +cells.push_back({ 3,3,4, 2.017652,0.212765 }); +cells.push_back({ 4,3,4, 2.006461,0.212765 }); +cells.push_back({ 5,3,4, 1.995271,0.212765 }); +cells.push_back({ 6,3,4, 1.984080,0.212765 }); +cells.push_back({ 7,3,4, 1.972889,0.212765 }); +cells.push_back({ 8,3,4, 1.961699,0.212765 }); +cells.push_back({ 9,3,4, 1.950508,0.212765 }); +cells.push_back({ 10,3,4, 1.939317,0.212765 }); +cells.push_back({ 11,3,4, 1.928126,0.212765 }); +// ibackleg=4 imodule=0 +// ibackleg=4 imodule=1 +cells.push_back({ 0,4,1, 2.138337,-0.416592 }); +cells.push_back({ 1,4,1, 2.149388,-0.416592 }); +cells.push_back({ 2,4,1, 2.160438,-0.416592 }); +cells.push_back({ 3,4,1, 2.171489,-0.416592 }); +cells.push_back({ 4,4,1, 2.182539,-0.416592 }); +cells.push_back({ 5,4,1, 2.193590,-0.416592 }); +cells.push_back({ 6,4,1, 2.204640,-0.416592 }); +cells.push_back({ 7,4,1, 2.215690,-0.416592 }); +cells.push_back({ 8,4,1, 2.226741,-0.416592 }); +cells.push_back({ 9,4,1, 2.237791,-0.416592 }); +cells.push_back({ 10,4,1, 2.248842,-0.416592 }); +cells.push_back({ 11,4,1, 2.259892,-0.416592 }); +// ibackleg=4 imodule=2 +cells.push_back({ 0,4,2, 2.137566,-0.212765 }); +cells.push_back({ 1,4,2, 2.148757,-0.212765 }); +cells.push_back({ 2,4,2, 2.159947,-0.212765 }); +cells.push_back({ 3,4,2, 2.171138,-0.212765 }); +cells.push_back({ 4,4,2, 2.182329,-0.212765 }); +cells.push_back({ 5,4,2, 2.193519,-0.212765 }); +cells.push_back({ 6,4,2, 2.204710,-0.212765 }); +cells.push_back({ 7,4,2, 2.215901,-0.212765 }); +cells.push_back({ 8,4,2, 2.227092,-0.212765 }); +cells.push_back({ 9,4,2, 2.238282,-0.212765 }); +cells.push_back({ 10,4,2, 2.249473,-0.212765 }); +cells.push_back({ 11,4,2, 2.260664,-0.212765 }); +// ibackleg=4 imodule=3 +cells.push_back({ 0,4,3, 2.138337,-0.000000 }); +cells.push_back({ 1,4,3, 2.149388,-0.000000 }); +cells.push_back({ 2,4,3, 2.160438,-0.000000 }); +cells.push_back({ 3,4,3, 2.171489,-0.000000 }); +cells.push_back({ 4,4,3, 2.182539,-0.000000 }); +cells.push_back({ 5,4,3, 2.193590,-0.000000 }); +cells.push_back({ 6,4,3, 2.204640,-0.000000 }); +cells.push_back({ 7,4,3, 2.215690,-0.000000 }); +cells.push_back({ 8,4,3, 2.226741,-0.000000 }); +cells.push_back({ 9,4,3, 2.237791,-0.000000 }); +cells.push_back({ 10,4,3, 2.248842,-0.000000 }); +cells.push_back({ 11,4,3, 2.259892,-0.000000 }); +// ibackleg=4 imodule=4 +cells.push_back({ 0,4,4, 2.260664,0.212765 }); +cells.push_back({ 1,4,4, 2.249473,0.212765 }); +cells.push_back({ 2,4,4, 2.238282,0.212765 }); +cells.push_back({ 3,4,4, 2.227092,0.212765 }); +cells.push_back({ 4,4,4, 2.215901,0.212765 }); +cells.push_back({ 5,4,4, 2.204710,0.212765 }); +cells.push_back({ 6,4,4, 2.193519,0.212765 }); +cells.push_back({ 7,4,4, 2.182329,0.212765 }); +cells.push_back({ 8,4,4, 2.171138,0.212765 }); +cells.push_back({ 9,4,4, 2.159947,0.212765 }); +cells.push_back({ 10,4,4, 2.148757,0.212765 }); +cells.push_back({ 11,4,4, 2.137566,0.212765 }); +// ibackleg=5 imodule=0 +// ibackleg=5 imodule=1 +cells.push_back({ 0,5,1, 2.347777,-0.416592 }); +cells.push_back({ 1,5,1, 2.358827,-0.416592 }); +cells.push_back({ 2,5,1, 2.369878,-0.416592 }); +cells.push_back({ 3,5,1, 2.380928,-0.416592 }); +cells.push_back({ 4,5,1, 2.391979,-0.416592 }); +cells.push_back({ 5,5,1, 2.403029,-0.416592 }); +cells.push_back({ 6,5,1, 2.414079,-0.416592 }); +cells.push_back({ 7,5,1, 2.425130,-0.416592 }); +cells.push_back({ 8,5,1, 2.436180,-0.416592 }); +cells.push_back({ 9,5,1, 2.447231,-0.416592 }); +cells.push_back({ 10,5,1, 2.458281,-0.416592 }); +cells.push_back({ 11,5,1, 2.469332,-0.416592 }); +// ibackleg=5 imodule=2 +cells.push_back({ 0,5,2, 2.347005,-0.212765 }); +cells.push_back({ 1,5,2, 2.358196,-0.212765 }); +cells.push_back({ 2,5,2, 2.369387,-0.212765 }); +cells.push_back({ 3,5,2, 2.380578,-0.212765 }); +cells.push_back({ 4,5,2, 2.391768,-0.212765 }); +cells.push_back({ 5,5,2, 2.402959,-0.212765 }); +cells.push_back({ 6,5,2, 2.414150,-0.212765 }); +cells.push_back({ 7,5,2, 2.425340,-0.212765 }); +cells.push_back({ 8,5,2, 2.436531,-0.212765 }); +cells.push_back({ 9,5,2, 2.447722,-0.212765 }); +cells.push_back({ 10,5,2, 2.458913,-0.212765 }); +cells.push_back({ 11,5,2, 2.470103,-0.212765 }); +// ibackleg=5 imodule=3 +cells.push_back({ 0,5,3, 2.347777,-0.000000 }); +cells.push_back({ 1,5,3, 2.358827,-0.000000 }); +cells.push_back({ 2,5,3, 2.369878,-0.000000 }); +cells.push_back({ 3,5,3, 2.380928,-0.000000 }); +cells.push_back({ 4,5,3, 2.391979,-0.000000 }); +cells.push_back({ 5,5,3, 2.403029,-0.000000 }); +cells.push_back({ 6,5,3, 2.414079,-0.000000 }); +cells.push_back({ 7,5,3, 2.425130,-0.000000 }); +cells.push_back({ 8,5,3, 2.436180,-0.000000 }); +cells.push_back({ 9,5,3, 2.447231,-0.000000 }); +cells.push_back({ 10,5,3, 2.458281,-0.000000 }); +cells.push_back({ 11,5,3, 2.469332,-0.000000 }); +// ibackleg=5 imodule=4 +cells.push_back({ 0,5,4, 2.470103,0.212765 }); +cells.push_back({ 1,5,4, 2.458913,0.212765 }); +cells.push_back({ 2,5,4, 2.447722,0.212765 }); +cells.push_back({ 3,5,4, 2.436531,0.212765 }); +cells.push_back({ 4,5,4, 2.425340,0.212765 }); +cells.push_back({ 5,5,4, 2.414150,0.212765 }); +cells.push_back({ 6,5,4, 2.402959,0.212765 }); +cells.push_back({ 7,5,4, 2.391768,0.212765 }); +cells.push_back({ 8,5,4, 2.380578,0.212765 }); +cells.push_back({ 9,5,4, 2.369387,0.212765 }); +cells.push_back({ 10,5,4, 2.358196,0.212765 }); +cells.push_back({ 11,5,4, 2.347005,0.212765 }); +// ibackleg=6 imodule=0 +// ibackleg=6 imodule=1 +cells.push_back({ 0,6,1, 2.557216,-0.416592 }); +cells.push_back({ 1,6,1, 2.568267,-0.416592 }); +cells.push_back({ 2,6,1, 2.579317,-0.416592 }); +cells.push_back({ 3,6,1, 2.590368,-0.416592 }); +cells.push_back({ 4,6,1, 2.601418,-0.416592 }); +cells.push_back({ 5,6,1, 2.612469,-0.416592 }); +cells.push_back({ 6,6,1, 2.623519,-0.416592 }); +cells.push_back({ 7,6,1, 2.634569,-0.416592 }); +cells.push_back({ 8,6,1, 2.645620,-0.416592 }); +cells.push_back({ 9,6,1, 2.656670,-0.416592 }); +cells.push_back({ 10,6,1, 2.667721,-0.416592 }); +cells.push_back({ 11,6,1, 2.678771,-0.416592 }); +// ibackleg=6 imodule=2 +cells.push_back({ 0,6,2, 2.556445,-0.212765 }); +cells.push_back({ 1,6,2, 2.567636,-0.212765 }); +cells.push_back({ 2,6,2, 2.578826,-0.212765 }); +cells.push_back({ 3,6,2, 2.590017,-0.212765 }); +cells.push_back({ 4,6,2, 2.601208,-0.212765 }); +cells.push_back({ 5,6,2, 2.612398,-0.212765 }); +cells.push_back({ 6,6,2, 2.623589,-0.212765 }); +cells.push_back({ 7,6,2, 2.634780,-0.212765 }); +cells.push_back({ 8,6,2, 2.645971,-0.212765 }); +cells.push_back({ 9,6,2, 2.657161,-0.212765 }); +cells.push_back({ 10,6,2, 2.668352,-0.212765 }); +cells.push_back({ 11,6,2, 2.679543,-0.212765 }); +// ibackleg=6 imodule=3 +cells.push_back({ 0,6,3, 2.557216,-0.000000 }); +cells.push_back({ 1,6,3, 2.568267,-0.000000 }); +cells.push_back({ 2,6,3, 2.579317,-0.000000 }); +cells.push_back({ 3,6,3, 2.590368,-0.000000 }); +cells.push_back({ 4,6,3, 2.601418,-0.000000 }); +cells.push_back({ 5,6,3, 2.612469,-0.000000 }); +cells.push_back({ 6,6,3, 2.623519,-0.000000 }); +cells.push_back({ 7,6,3, 2.634569,-0.000000 }); +cells.push_back({ 8,6,3, 2.645620,-0.000000 }); +cells.push_back({ 9,6,3, 2.656670,-0.000000 }); +cells.push_back({ 10,6,3, 2.667721,-0.000000 }); +cells.push_back({ 11,6,3, 2.678771,-0.000000 }); +// ibackleg=6 imodule=4 +cells.push_back({ 0,6,4, 2.679543,0.212765 }); +cells.push_back({ 1,6,4, 2.668352,0.212765 }); +cells.push_back({ 2,6,4, 2.657161,0.212765 }); +cells.push_back({ 3,6,4, 2.645971,0.212765 }); +cells.push_back({ 4,6,4, 2.634780,0.212765 }); +cells.push_back({ 5,6,4, 2.623589,0.212765 }); +cells.push_back({ 6,6,4, 2.612398,0.212765 }); +cells.push_back({ 7,6,4, 2.601208,0.212765 }); +cells.push_back({ 8,6,4, 2.590017,0.212765 }); +cells.push_back({ 9,6,4, 2.578826,0.212765 }); +cells.push_back({ 10,6,4, 2.567636,0.212765 }); +cells.push_back({ 11,6,4, 2.556445,0.212765 }); +// ibackleg=7 imodule=0 +// ibackleg=7 imodule=1 +cells.push_back({ 0,7,1, 2.767657,-0.416592 }); +cells.push_back({ 1,7,1, 2.778526,-0.416592 }); +cells.push_back({ 2,7,1, 2.789394,-0.416592 }); +cells.push_back({ 3,7,1, 2.800262,-0.416592 }); +cells.push_back({ 4,7,1, 2.811131,-0.416592 }); +cells.push_back({ 5,7,1, 2.821999,-0.416592 }); +cells.push_back({ 6,7,1, 2.832868,-0.416592 }); +cells.push_back({ 7,7,1, 2.843736,-0.416592 }); +cells.push_back({ 8,7,1, 2.854604,-0.416592 }); +cells.push_back({ 9,7,1, 2.865473,-0.416592 }); +cells.push_back({ 10,7,1, 2.876341,-0.416592 }); +cells.push_back({ 11,7,1, 2.887209,-0.416592 }); +// ibackleg=7 imodule=2 +cells.push_back({ 0,7,2, 2.766911,-0.212765 }); +cells.push_back({ 1,7,2, 2.777915,-0.212765 }); +cells.push_back({ 2,7,2, 2.788919,-0.212765 }); +cells.push_back({ 3,7,2, 2.799923,-0.212765 }); +cells.push_back({ 4,7,2, 2.810927,-0.212765 }); +cells.push_back({ 5,7,2, 2.821931,-0.212765 }); +cells.push_back({ 6,7,2, 2.832935,-0.212765 }); +cells.push_back({ 7,7,2, 2.843939,-0.212765 }); +cells.push_back({ 8,7,2, 2.854944,-0.212765 }); +cells.push_back({ 9,7,2, 2.865947,-0.212765 }); +cells.push_back({ 10,7,2, 2.876951,-0.212765 }); +cells.push_back({ 11,7,2, 2.887956,-0.212765 }); +// ibackleg=7 imodule=3 +cells.push_back({ 0,7,3, 2.767657,-0.000000 }); +cells.push_back({ 1,7,3, 2.778526,-0.000000 }); +cells.push_back({ 2,7,3, 2.789394,-0.000000 }); +cells.push_back({ 3,7,3, 2.800262,-0.000000 }); +cells.push_back({ 4,7,3, 2.811131,-0.000000 }); +cells.push_back({ 5,7,3, 2.821999,-0.000000 }); +cells.push_back({ 6,7,3, 2.832868,-0.000000 }); +cells.push_back({ 7,7,3, 2.843736,-0.000000 }); +cells.push_back({ 8,7,3, 2.854604,-0.000000 }); +cells.push_back({ 9,7,3, 2.865473,-0.000000 }); +cells.push_back({ 10,7,3, 2.876341,-0.000000 }); +cells.push_back({ 11,7,3, 2.887209,-0.000000 }); +// ibackleg=7 imodule=4 +cells.push_back({ 0,7,4, 2.887956,0.212765 }); +cells.push_back({ 1,7,4, 2.876951,0.212765 }); +cells.push_back({ 2,7,4, 2.865947,0.212765 }); +cells.push_back({ 3,7,4, 2.854944,0.212765 }); +cells.push_back({ 4,7,4, 2.843939,0.212765 }); +cells.push_back({ 5,7,4, 2.832935,0.212765 }); +cells.push_back({ 6,7,4, 2.821931,0.212765 }); +cells.push_back({ 7,7,4, 2.810927,0.212765 }); +cells.push_back({ 8,7,4, 2.799923,0.212765 }); +cells.push_back({ 9,7,4, 2.788919,0.212765 }); +cells.push_back({ 10,7,4, 2.777915,0.212765 }); +cells.push_back({ 11,7,4, 2.766911,0.212765 }); +// ibackleg=8 imodule=0 +// ibackleg=8 imodule=1 +cells.push_back({ 0,8,1, 2.947753,-0.416592 }); +cells.push_back({ 1,8,1, 2.958220,-0.416592 }); +cells.push_back({ 2,8,1, 2.968686,-0.416592 }); +cells.push_back({ 3,8,1, 2.979152,-0.416592 }); +cells.push_back({ 4,8,1, 2.989618,-0.416592 }); +cells.push_back({ 5,8,1, 3.000084,-0.416592 }); +cells.push_back({ 6,8,1, 3.010550,-0.416592 }); +cells.push_back({ 7,8,1, 3.021016,-0.416592 }); +cells.push_back({ 8,8,1, 3.031483,-0.416592 }); +cells.push_back({ 9,8,1, 3.041949,-0.416592 }); +cells.push_back({ 10,8,1, 3.052415,-0.416592 }); +cells.push_back({ 11,8,1, 3.062881,-0.416592 }); +// ibackleg=8 imodule=2 +cells.push_back({ 0,8,2, 2.946683,-0.212765 }); +cells.push_back({ 1,8,2, 2.957275,-0.212765 }); +cells.push_back({ 2,8,2, 2.967867,-0.212765 }); +cells.push_back({ 3,8,2, 2.978459,-0.212765 }); +cells.push_back({ 4,8,2, 2.989050,-0.212765 }); +cells.push_back({ 5,8,2, 2.999642,-0.212765 }); +cells.push_back({ 6,8,2, 3.010234,-0.212765 }); +cells.push_back({ 7,8,2, 3.020826,-0.212765 }); +cells.push_back({ 8,8,2, 3.031418,-0.212765 }); +cells.push_back({ 9,8,2, 3.042010,-0.212765 }); +cells.push_back({ 10,8,2, 3.052601,-0.212765 }); +cells.push_back({ 11,8,2, 3.063193,-0.212765 }); +// ibackleg=8 imodule=3 +cells.push_back({ 0,8,3, 2.947753,-0.000000 }); +cells.push_back({ 1,8,3, 2.958220,-0.000000 }); +cells.push_back({ 2,8,3, 2.968686,-0.000000 }); +cells.push_back({ 3,8,3, 2.979152,-0.000000 }); +cells.push_back({ 4,8,3, 2.989618,-0.000000 }); +cells.push_back({ 5,8,3, 3.000084,-0.000000 }); +cells.push_back({ 6,8,3, 3.010550,-0.000000 }); +cells.push_back({ 7,8,3, 3.021016,-0.000000 }); +cells.push_back({ 8,8,3, 3.031483,-0.000000 }); +cells.push_back({ 9,8,3, 3.041949,-0.000000 }); +cells.push_back({ 10,8,3, 3.052415,-0.000000 }); +cells.push_back({ 11,8,3, 3.062881,-0.000000 }); +// ibackleg=8 imodule=4 +cells.push_back({ 0,8,4, 3.063193,0.212765 }); +cells.push_back({ 1,8,4, 3.052601,0.212765 }); +cells.push_back({ 2,8,4, 3.042010,0.212765 }); +cells.push_back({ 3,8,4, 3.031418,0.212765 }); +cells.push_back({ 4,8,4, 3.020826,0.212765 }); +cells.push_back({ 5,8,4, 3.010234,0.212765 }); +cells.push_back({ 6,8,4, 2.999642,0.212765 }); +cells.push_back({ 7,8,4, 2.989050,0.212765 }); +cells.push_back({ 8,8,4, 2.978459,0.212765 }); +cells.push_back({ 9,8,4, 2.967867,0.212765 }); +cells.push_back({ 10,8,4, 2.957275,0.212765 }); +cells.push_back({ 11,8,4, 2.946683,0.212765 }); +// ibackleg=9 imodule=0 +// ibackleg=9 imodule=1 +// ibackleg=9 imodule=2 +// ibackleg=9 imodule=3 +// ibackleg=9 imodule=4 +// ibackleg=10 imodule=0 +// ibackleg=10 imodule=1 +cells.push_back({ 0,10,1, -2.887209,-0.416592 }); +cells.push_back({ 1,10,1, -2.876341,-0.416592 }); +cells.push_back({ 2,10,1, -2.865473,-0.416592 }); +cells.push_back({ 3,10,1, -2.854604,-0.416592 }); +cells.push_back({ 4,10,1, -2.843736,-0.416592 }); +cells.push_back({ 5,10,1, -2.832868,-0.416592 }); +cells.push_back({ 6,10,1, -2.821999,-0.416592 }); +cells.push_back({ 7,10,1, -2.811131,-0.416592 }); +cells.push_back({ 8,10,1, -2.800263,-0.416592 }); +cells.push_back({ 9,10,1, -2.789394,-0.416592 }); +cells.push_back({ 10,10,1, -2.778526,-0.416592 }); +cells.push_back({ 11,10,1, -2.767657,-0.416592 }); +// ibackleg=10 imodule=2 +cells.push_back({ 0,10,2, -2.887956,-0.212765 }); +cells.push_back({ 1,10,2, -2.876952,-0.212765 }); +cells.push_back({ 2,10,2, -2.865948,-0.212765 }); +cells.push_back({ 3,10,2, -2.854944,-0.212765 }); +cells.push_back({ 4,10,2, -2.843939,-0.212765 }); +cells.push_back({ 5,10,2, -2.832935,-0.212765 }); +cells.push_back({ 6,10,2, -2.821931,-0.212765 }); +cells.push_back({ 7,10,2, -2.810927,-0.212765 }); +cells.push_back({ 8,10,2, -2.799923,-0.212765 }); +cells.push_back({ 9,10,2, -2.788919,-0.212765 }); +cells.push_back({ 10,10,2, -2.777915,-0.212765 }); +cells.push_back({ 11,10,2, -2.766911,-0.212765 }); +// ibackleg=10 imodule=3 +cells.push_back({ 0,10,3, -2.887209,-0.000000 }); +cells.push_back({ 1,10,3, -2.876341,-0.000000 }); +cells.push_back({ 2,10,3, -2.865473,-0.000000 }); +cells.push_back({ 3,10,3, -2.854604,-0.000000 }); +cells.push_back({ 4,10,3, -2.843736,-0.000000 }); +cells.push_back({ 5,10,3, -2.832868,-0.000000 }); +cells.push_back({ 6,10,3, -2.821999,-0.000000 }); +cells.push_back({ 7,10,3, -2.811131,-0.000000 }); +cells.push_back({ 8,10,3, -2.800263,-0.000000 }); +cells.push_back({ 9,10,3, -2.789394,-0.000000 }); +cells.push_back({ 10,10,3, -2.778526,-0.000000 }); +cells.push_back({ 11,10,3, -2.767657,-0.000000 }); +// ibackleg=10 imodule=4 +cells.push_back({ 0,10,4, -2.766911,0.212765 }); +cells.push_back({ 1,10,4, -2.777915,0.212765 }); +cells.push_back({ 2,10,4, -2.788919,0.212765 }); +cells.push_back({ 3,10,4, -2.799923,0.212765 }); +cells.push_back({ 4,10,4, -2.810927,0.212765 }); +cells.push_back({ 5,10,4, -2.821931,0.212765 }); +cells.push_back({ 6,10,4, -2.832935,0.212765 }); +cells.push_back({ 7,10,4, -2.843939,0.212765 }); +cells.push_back({ 8,10,4, -2.854944,0.212765 }); +cells.push_back({ 9,10,4, -2.865948,0.212765 }); +cells.push_back({ 10,10,4, -2.876952,0.212765 }); +cells.push_back({ 11,10,4, -2.887956,0.212765 }); +// ibackleg=11 imodule=0 +// ibackleg=11 imodule=1 +cells.push_back({ 0,11,1, -2.676486,-0.416592 }); +cells.push_back({ 1,11,1, -2.665851,-0.416592 }); +cells.push_back({ 2,11,1, -2.655216,-0.416592 }); +cells.push_back({ 3,11,1, -2.644581,-0.416592 }); +cells.push_back({ 4,11,1, -2.633946,-0.416592 }); +cells.push_back({ 5,11,1, -2.623311,-0.416592 }); +cells.push_back({ 6,11,1, -2.612676,-0.416592 }); +cells.push_back({ 7,11,1, -2.602042,-0.416592 }); +cells.push_back({ 8,11,1, -2.591407,-0.416592 }); +cells.push_back({ 9,11,1, -2.580772,-0.416592 }); +cells.push_back({ 10,11,1, -2.570137,-0.416592 }); +cells.push_back({ 11,11,1, -2.559502,-0.416592 }); +// ibackleg=11 imodule=2 +cells.push_back({ 0,11,2, -2.677200,-0.212765 }); +cells.push_back({ 1,11,2, -2.666435,-0.212765 }); +cells.push_back({ 2,11,2, -2.655670,-0.212765 }); +cells.push_back({ 3,11,2, -2.644906,-0.212765 }); +cells.push_back({ 4,11,2, -2.634141,-0.212765 }); +cells.push_back({ 5,11,2, -2.623376,-0.212765 }); +cells.push_back({ 6,11,2, -2.612612,-0.212765 }); +cells.push_back({ 7,11,2, -2.601847,-0.212765 }); +cells.push_back({ 8,11,2, -2.591082,-0.212765 }); +cells.push_back({ 9,11,2, -2.580317,-0.212765 }); +cells.push_back({ 10,11,2, -2.569553,-0.212765 }); +cells.push_back({ 11,11,2, -2.558788,-0.212765 }); +// ibackleg=11 imodule=3 +cells.push_back({ 0,11,3, -2.676486,-0.000000 }); +cells.push_back({ 1,11,3, -2.665851,-0.000000 }); +cells.push_back({ 2,11,3, -2.655216,-0.000000 }); +cells.push_back({ 3,11,3, -2.644581,-0.000000 }); +cells.push_back({ 4,11,3, -2.633946,-0.000000 }); +cells.push_back({ 5,11,3, -2.623311,-0.000000 }); +cells.push_back({ 6,11,3, -2.612676,-0.000000 }); +cells.push_back({ 7,11,3, -2.602042,-0.000000 }); +cells.push_back({ 8,11,3, -2.591407,-0.000000 }); +cells.push_back({ 9,11,3, -2.580772,-0.000000 }); +cells.push_back({ 10,11,3, -2.570137,-0.000000 }); +cells.push_back({ 11,11,3, -2.559502,-0.000000 }); +// ibackleg=11 imodule=4 +cells.push_back({ 0,11,4, -2.558788,0.212765 }); +cells.push_back({ 1,11,4, -2.569553,0.212765 }); +cells.push_back({ 2,11,4, -2.580317,0.212765 }); +cells.push_back({ 3,11,4, -2.591082,0.212765 }); +cells.push_back({ 4,11,4, -2.601847,0.212765 }); +cells.push_back({ 5,11,4, -2.612612,0.212765 }); +cells.push_back({ 6,11,4, -2.623376,0.212765 }); +cells.push_back({ 7,11,4, -2.634141,0.212765 }); +cells.push_back({ 8,11,4, -2.644906,0.212765 }); +cells.push_back({ 9,11,4, -2.655670,0.212765 }); +cells.push_back({ 10,11,4, -2.666435,0.212765 }); +cells.push_back({ 11,11,4, -2.677200,0.212765 }); +// ibackleg=12 imodule=0 +// ibackleg=12 imodule=1 +// ibackleg=12 imodule=2 +cells.push_back({ 0,12,2, -2.466943,-0.212765 }); +cells.push_back({ 1,12,2, -2.456327,-0.212765 }); +cells.push_back({ 2,12,2, -2.445711,-0.212765 }); +cells.push_back({ 3,12,2, -2.435095,-0.212765 }); +cells.push_back({ 4,12,2, -2.424479,-0.212765 }); +cells.push_back({ 5,12,2, -2.413863,-0.212765 }); +cells.push_back({ 6,12,2, -2.403246,-0.212765 }); +cells.push_back({ 7,12,2, -2.392630,-0.212765 }); +cells.push_back({ 8,12,2, -2.382014,-0.212765 }); +cells.push_back({ 9,12,2, -2.371398,-0.212765 }); +cells.push_back({ 10,12,2, -2.360782,-0.212765 }); +cells.push_back({ 11,12,2, -2.350166,-0.212765 }); +// ibackleg=12 imodule=3 +cells.push_back({ 0,12,3, -2.466248,-0.000000 }); +cells.push_back({ 1,12,3, -2.455759,-0.000000 }); +cells.push_back({ 2,12,3, -2.445269,-0.000000 }); +cells.push_back({ 3,12,3, -2.434779,-0.000000 }); +cells.push_back({ 4,12,3, -2.424289,-0.000000 }); +cells.push_back({ 5,12,3, -2.413799,-0.000000 }); +cells.push_back({ 6,12,3, -2.403309,-0.000000 }); +cells.push_back({ 7,12,3, -2.392820,-0.000000 }); +cells.push_back({ 8,12,3, -2.382330,-0.000000 }); +cells.push_back({ 9,12,3, -2.371840,-0.000000 }); +cells.push_back({ 10,12,3, -2.361350,-0.000000 }); +cells.push_back({ 11,12,3, -2.350860,-0.000000 }); +// ibackleg=12 imodule=4 +cells.push_back({ 0,12,4, -2.350166,0.212765 }); +cells.push_back({ 1,12,4, -2.360782,0.212765 }); +cells.push_back({ 2,12,4, -2.371398,0.212765 }); +cells.push_back({ 3,12,4, -2.382014,0.212765 }); +cells.push_back({ 4,12,4, -2.392630,0.212765 }); +cells.push_back({ 5,12,4, -2.403246,0.212765 }); +cells.push_back({ 6,12,4, -2.413863,0.212765 }); +cells.push_back({ 7,12,4, -2.424479,0.212765 }); +cells.push_back({ 8,12,4, -2.435095,0.212765 }); +cells.push_back({ 9,12,4, -2.445711,0.212765 }); +cells.push_back({ 10,12,4, -2.456327,0.212765 }); +cells.push_back({ 11,12,4, -2.466943,0.212765 }); +// ibackleg=13 imodule=0 +// ibackleg=13 imodule=1 +// ibackleg=13 imodule=2 +cells.push_back({ 0,13,2, -2.257503,-0.212765 }); +cells.push_back({ 1,13,2, -2.246888,-0.212765 }); +cells.push_back({ 2,13,2, -2.236271,-0.212765 }); +cells.push_back({ 3,13,2, -2.225655,-0.212765 }); +cells.push_back({ 4,13,2, -2.215039,-0.212765 }); +cells.push_back({ 5,13,2, -2.204423,-0.212765 }); +cells.push_back({ 6,13,2, -2.193806,-0.212765 }); +cells.push_back({ 7,13,2, -2.183191,-0.212765 }); +cells.push_back({ 8,13,2, -2.172574,-0.212765 }); +cells.push_back({ 9,13,2, -2.161958,-0.212765 }); +cells.push_back({ 10,13,2, -2.151342,-0.212765 }); +cells.push_back({ 11,13,2, -2.140726,-0.212765 }); +// ibackleg=13 imodule=3 +cells.push_back({ 0,13,3, -2.256809,-0.000000 }); +cells.push_back({ 1,13,3, -2.246319,-0.000000 }); +cells.push_back({ 2,13,3, -2.235829,-0.000000 }); +cells.push_back({ 3,13,3, -2.225339,-0.000000 }); +cells.push_back({ 4,13,3, -2.214849,-0.000000 }); +cells.push_back({ 5,13,3, -2.204360,-0.000000 }); +cells.push_back({ 6,13,3, -2.193870,-0.000000 }); +cells.push_back({ 7,13,3, -2.183380,-0.000000 }); +cells.push_back({ 8,13,3, -2.172890,-0.000000 }); +cells.push_back({ 9,13,3, -2.162401,-0.000000 }); +cells.push_back({ 10,13,3, -2.151911,-0.000000 }); +cells.push_back({ 11,13,3, -2.141421,-0.000000 }); +// ibackleg=13 imodule=4 +cells.push_back({ 0,13,4, -2.140726,0.212765 }); +cells.push_back({ 1,13,4, -2.151342,0.212765 }); +cells.push_back({ 2,13,4, -2.161958,0.212765 }); +cells.push_back({ 3,13,4, -2.172574,0.212765 }); +cells.push_back({ 4,13,4, -2.183191,0.212765 }); +cells.push_back({ 5,13,4, -2.193806,0.212765 }); +cells.push_back({ 6,13,4, -2.204423,0.212765 }); +cells.push_back({ 7,13,4, -2.215039,0.212765 }); +cells.push_back({ 8,13,4, -2.225655,0.212765 }); +cells.push_back({ 9,13,4, -2.236271,0.212765 }); +cells.push_back({ 10,13,4, -2.246888,0.212765 }); +cells.push_back({ 11,13,4, -2.257503,0.212765 }); +// ibackleg=14 imodule=0 +// ibackleg=14 imodule=1 +// ibackleg=14 imodule=2 +cells.push_back({ 0,14,2, -2.048064,-0.212765 }); +cells.push_back({ 1,14,2, -2.037448,-0.212765 }); +cells.push_back({ 2,14,2, -2.026832,-0.212765 }); +cells.push_back({ 3,14,2, -2.016216,-0.212765 }); +cells.push_back({ 4,14,2, -2.005599,-0.212765 }); +cells.push_back({ 5,14,2, -1.994983,-0.212765 }); +cells.push_back({ 6,14,2, -1.984367,-0.212765 }); +cells.push_back({ 7,14,2, -1.973751,-0.212765 }); +cells.push_back({ 8,14,2, -1.963135,-0.212765 }); +cells.push_back({ 9,14,2, -1.952519,-0.212765 }); +cells.push_back({ 10,14,2, -1.941902,-0.212765 }); +cells.push_back({ 11,14,2, -1.931287,-0.212765 }); +// ibackleg=14 imodule=3 +cells.push_back({ 0,14,3, -2.047369,-0.000000 }); +cells.push_back({ 1,14,3, -2.036879,-0.000000 }); +cells.push_back({ 2,14,3, -2.026389,-0.000000 }); +cells.push_back({ 3,14,3, -2.015900,-0.000000 }); +cells.push_back({ 4,14,3, -2.005410,-0.000000 }); +cells.push_back({ 5,14,3, -1.994920,-0.000000 }); +cells.push_back({ 6,14,3, -1.984431,-0.000000 }); +cells.push_back({ 7,14,3, -1.973941,-0.000000 }); +cells.push_back({ 8,14,3, -1.963451,-0.000000 }); +cells.push_back({ 9,14,3, -1.952961,-0.000000 }); +cells.push_back({ 10,14,3, -1.942471,-0.000000 }); +cells.push_back({ 11,14,3, -1.931981,-0.000000 }); +// ibackleg=14 imodule=4 +cells.push_back({ 0,14,4, -1.931287,0.212765 }); +cells.push_back({ 1,14,4, -1.941902,0.212765 }); +cells.push_back({ 2,14,4, -1.952519,0.212765 }); +cells.push_back({ 3,14,4, -1.963135,0.212765 }); +cells.push_back({ 4,14,4, -1.973751,0.212765 }); +cells.push_back({ 5,14,4, -1.984367,0.212765 }); +cells.push_back({ 6,14,4, -1.994983,0.212765 }); +cells.push_back({ 7,14,4, -2.005599,0.212765 }); +cells.push_back({ 8,14,4, -2.016216,0.212765 }); +cells.push_back({ 9,14,4, -2.026832,0.212765 }); +cells.push_back({ 10,14,4, -2.037448,0.212765 }); +cells.push_back({ 11,14,4, -2.048064,0.212765 }); +// ibackleg=15 imodule=0 +// ibackleg=15 imodule=1 +// ibackleg=15 imodule=2 +cells.push_back({ 0,15,2, -1.838625,-0.212765 }); +cells.push_back({ 1,15,2, -1.828008,-0.212765 }); +cells.push_back({ 2,15,2, -1.817392,-0.212765 }); +cells.push_back({ 3,15,2, -1.806776,-0.212765 }); +cells.push_back({ 4,15,2, -1.796160,-0.212765 }); +cells.push_back({ 5,15,2, -1.785544,-0.212765 }); +cells.push_back({ 6,15,2, -1.774928,-0.212765 }); +cells.push_back({ 7,15,2, -1.764312,-0.212765 }); +cells.push_back({ 8,15,2, -1.753695,-0.212765 }); +cells.push_back({ 9,15,2, -1.743079,-0.212765 }); +cells.push_back({ 10,15,2, -1.732463,-0.212765 }); +cells.push_back({ 11,15,2, -1.721847,-0.212765 }); +// ibackleg=15 imodule=3 +cells.push_back({ 0,15,3, -1.837930,-0.000000 }); +cells.push_back({ 1,15,3, -1.827440,-0.000000 }); +cells.push_back({ 2,15,3, -1.816950,-0.000000 }); +cells.push_back({ 3,15,3, -1.806460,-0.000000 }); +cells.push_back({ 4,15,3, -1.795970,-0.000000 }); +cells.push_back({ 5,15,3, -1.785481,-0.000000 }); +cells.push_back({ 6,15,3, -1.774991,-0.000000 }); +cells.push_back({ 7,15,3, -1.764501,-0.000000 }); +cells.push_back({ 8,15,3, -1.754011,-0.000000 }); +cells.push_back({ 9,15,3, -1.743522,-0.000000 }); +cells.push_back({ 10,15,3, -1.733032,-0.000000 }); +cells.push_back({ 11,15,3, -1.722542,-0.000000 }); +// ibackleg=15 imodule=4 +cells.push_back({ 0,15,4, -1.721847,0.212765 }); +cells.push_back({ 1,15,4, -1.732463,0.212765 }); +cells.push_back({ 2,15,4, -1.743079,0.212765 }); +cells.push_back({ 3,15,4, -1.753695,0.212765 }); +cells.push_back({ 4,15,4, -1.764312,0.212765 }); +cells.push_back({ 5,15,4, -1.774928,0.212765 }); +cells.push_back({ 6,15,4, -1.785544,0.212765 }); +cells.push_back({ 7,15,4, -1.796160,0.212765 }); +cells.push_back({ 8,15,4, -1.806776,0.212765 }); +cells.push_back({ 9,15,4, -1.817392,0.212765 }); +cells.push_back({ 10,15,4, -1.828008,0.212765 }); +cells.push_back({ 11,15,4, -1.838625,0.212765 }); +// ibackleg=16 imodule=0 +// ibackleg=16 imodule=1 +// ibackleg=16 imodule=2 +cells.push_back({ 0,16,2, -1.629185,-0.212765 }); +cells.push_back({ 1,16,2, -1.618569,-0.212765 }); +cells.push_back({ 2,16,2, -1.607953,-0.212765 }); +cells.push_back({ 3,16,2, -1.597337,-0.212765 }); +cells.push_back({ 4,16,2, -1.586720,-0.212765 }); +cells.push_back({ 5,16,2, -1.576104,-0.212765 }); +cells.push_back({ 6,16,2, -1.565488,-0.212765 }); +cells.push_back({ 7,16,2, -1.554872,-0.212765 }); +cells.push_back({ 8,16,2, -1.544256,-0.212765 }); +cells.push_back({ 9,16,2, -1.533640,-0.212765 }); +cells.push_back({ 10,16,2, -1.523023,-0.212765 }); +cells.push_back({ 11,16,2, -1.512408,-0.212765 }); +// ibackleg=16 imodule=3 +cells.push_back({ 0,16,3, -1.628490,-0.000000 }); +cells.push_back({ 1,16,3, -1.618000,-0.000000 }); +cells.push_back({ 2,16,3, -1.607510,-0.000000 }); +cells.push_back({ 3,16,3, -1.597021,-0.000000 }); +cells.push_back({ 4,16,3, -1.586531,-0.000000 }); +cells.push_back({ 5,16,3, -1.576041,-0.000000 }); +cells.push_back({ 6,16,3, -1.565552,-0.000000 }); +cells.push_back({ 7,16,3, -1.555062,-0.000000 }); +cells.push_back({ 8,16,3, -1.544572,-0.000000 }); +cells.push_back({ 9,16,3, -1.534082,-0.000000 }); +cells.push_back({ 10,16,3, -1.523592,-0.000000 }); +cells.push_back({ 11,16,3, -1.513102,-0.000000 }); +// ibackleg=16 imodule=4 +cells.push_back({ 0,16,4, -1.512408,0.212765 }); +cells.push_back({ 1,16,4, -1.523023,0.212765 }); +cells.push_back({ 2,16,4, -1.533640,0.212765 }); +cells.push_back({ 3,16,4, -1.544256,0.212765 }); +cells.push_back({ 4,16,4, -1.554872,0.212765 }); +cells.push_back({ 5,16,4, -1.565488,0.212765 }); +cells.push_back({ 6,16,4, -1.576104,0.212765 }); +cells.push_back({ 7,16,4, -1.586720,0.212765 }); +cells.push_back({ 8,16,4, -1.597337,0.212765 }); +cells.push_back({ 9,16,4, -1.607953,0.212765 }); +cells.push_back({ 10,16,4, -1.618569,0.212765 }); +cells.push_back({ 11,16,4, -1.629185,0.212765 }); +// ibackleg=17 imodule=0 +// ibackleg=17 imodule=1 +// ibackleg=17 imodule=2 +cells.push_back({ 0,17,2, -1.419746,-0.212765 }); +cells.push_back({ 1,17,2, -1.409129,-0.212765 }); +cells.push_back({ 2,17,2, -1.398513,-0.212765 }); +cells.push_back({ 3,17,2, -1.387897,-0.212765 }); +cells.push_back({ 4,17,2, -1.377281,-0.212765 }); +cells.push_back({ 5,17,2, -1.366665,-0.212765 }); +cells.push_back({ 6,17,2, -1.356049,-0.212765 }); +cells.push_back({ 7,17,2, -1.345433,-0.212765 }); +cells.push_back({ 8,17,2, -1.334816,-0.212765 }); +cells.push_back({ 9,17,2, -1.324200,-0.212765 }); +cells.push_back({ 10,17,2, -1.313584,-0.212765 }); +cells.push_back({ 11,17,2, -1.302968,-0.212765 }); +// ibackleg=17 imodule=3 +cells.push_back({ 0,17,3, -1.419051,-0.000000 }); +cells.push_back({ 1,17,3, -1.408561,-0.000000 }); +cells.push_back({ 2,17,3, -1.398071,-0.000000 }); +cells.push_back({ 3,17,3, -1.387581,-0.000000 }); +cells.push_back({ 4,17,3, -1.377092,-0.000000 }); +cells.push_back({ 5,17,3, -1.366602,-0.000000 }); +cells.push_back({ 6,17,3, -1.356112,-0.000000 }); +cells.push_back({ 7,17,3, -1.345622,-0.000000 }); +cells.push_back({ 8,17,3, -1.335132,-0.000000 }); +cells.push_back({ 9,17,3, -1.324642,-0.000000 }); +cells.push_back({ 10,17,3, -1.314153,-0.000000 }); +cells.push_back({ 11,17,3, -1.303663,-0.000000 }); +// ibackleg=17 imodule=4 +cells.push_back({ 0,17,4, -1.302968,0.212765 }); +cells.push_back({ 1,17,4, -1.313584,0.212765 }); +cells.push_back({ 2,17,4, -1.324200,0.212765 }); +cells.push_back({ 3,17,4, -1.334816,0.212765 }); +cells.push_back({ 4,17,4, -1.345433,0.212765 }); +cells.push_back({ 5,17,4, -1.356049,0.212765 }); +cells.push_back({ 6,17,4, -1.366665,0.212765 }); +cells.push_back({ 7,17,4, -1.377281,0.212765 }); +cells.push_back({ 8,17,4, -1.387897,0.212765 }); +cells.push_back({ 9,17,4, -1.398513,0.212765 }); +cells.push_back({ 10,17,4, -1.409129,0.212765 }); +cells.push_back({ 11,17,4, -1.419746,0.212765 }); +// ibackleg=18 imodule=0 +// ibackleg=18 imodule=1 +// ibackleg=18 imodule=2 +cells.push_back({ 0,18,2, -1.210306,-0.212765 }); +cells.push_back({ 1,18,2, -1.199690,-0.212765 }); +cells.push_back({ 2,18,2, -1.189074,-0.212765 }); +cells.push_back({ 3,18,2, -1.178458,-0.212765 }); +cells.push_back({ 4,18,2, -1.167842,-0.212765 }); +cells.push_back({ 5,18,2, -1.157225,-0.212765 }); +cells.push_back({ 6,18,2, -1.146609,-0.212765 }); +cells.push_back({ 7,18,2, -1.135993,-0.212765 }); +cells.push_back({ 8,18,2, -1.125377,-0.212765 }); +cells.push_back({ 9,18,2, -1.114761,-0.212765 }); +cells.push_back({ 10,18,2, -1.104145,-0.212765 }); +cells.push_back({ 11,18,2, -1.093529,-0.212765 }); +// ibackleg=18 imodule=3 +cells.push_back({ 0,18,3, -1.209611,-0.000000 }); +cells.push_back({ 1,18,3, -1.199121,-0.000000 }); +cells.push_back({ 2,18,3, -1.188632,-0.000000 }); +cells.push_back({ 3,18,3, -1.178142,-0.000000 }); +cells.push_back({ 4,18,3, -1.167652,-0.000000 }); +cells.push_back({ 5,18,3, -1.157162,-0.000000 }); +cells.push_back({ 6,18,3, -1.146673,-0.000000 }); +cells.push_back({ 7,18,3, -1.136183,-0.000000 }); +cells.push_back({ 8,18,3, -1.125693,-0.000000 }); +cells.push_back({ 9,18,3, -1.115203,-0.000000 }); +cells.push_back({ 10,18,3, -1.104713,-0.000000 }); +cells.push_back({ 11,18,3, -1.094223,-0.000000 }); +// ibackleg=18 imodule=4 +cells.push_back({ 0,18,4, -1.093529,0.212765 }); +cells.push_back({ 1,18,4, -1.104145,0.212765 }); +cells.push_back({ 2,18,4, -1.114761,0.212765 }); +cells.push_back({ 3,18,4, -1.125377,0.212765 }); +cells.push_back({ 4,18,4, -1.135993,0.212765 }); +cells.push_back({ 5,18,4, -1.146609,0.212765 }); +cells.push_back({ 6,18,4, -1.157225,0.212765 }); +cells.push_back({ 7,18,4, -1.167842,0.212765 }); +cells.push_back({ 8,18,4, -1.178458,0.212765 }); +cells.push_back({ 9,18,4, -1.189074,0.212765 }); +cells.push_back({ 10,18,4, -1.199690,0.212765 }); +cells.push_back({ 11,18,4, -1.210306,0.212765 }); +// ibackleg=19 imodule=0 +// ibackleg=19 imodule=1 +// ibackleg=19 imodule=2 +cells.push_back({ 0,19,2, -1.000867,-0.212765 }); +cells.push_back({ 1,19,2, -0.990250,-0.212765 }); +cells.push_back({ 2,19,2, -0.979634,-0.212765 }); +cells.push_back({ 3,19,2, -0.969018,-0.212765 }); +cells.push_back({ 4,19,2, -0.958402,-0.212765 }); +cells.push_back({ 5,19,2, -0.947786,-0.212765 }); +cells.push_back({ 6,19,2, -0.937170,-0.212765 }); +cells.push_back({ 7,19,2, -0.926554,-0.212765 }); +cells.push_back({ 8,19,2, -0.915937,-0.212765 }); +cells.push_back({ 9,19,2, -0.905321,-0.212765 }); +cells.push_back({ 10,19,2, -0.894705,-0.212765 }); +cells.push_back({ 11,19,2, -0.884089,-0.212765 }); +// ibackleg=19 imodule=3 +cells.push_back({ 0,19,3, -1.000172,-0.000000 }); +cells.push_back({ 1,19,3, -0.989682,-0.000000 }); +cells.push_back({ 2,19,3, -0.979192,-0.000000 }); +cells.push_back({ 3,19,3, -0.968702,-0.000000 }); +cells.push_back({ 4,19,3, -0.958213,-0.000000 }); +cells.push_back({ 5,19,3, -0.947723,-0.000000 }); +cells.push_back({ 6,19,3, -0.937233,-0.000000 }); +cells.push_back({ 7,19,3, -0.926743,-0.000000 }); +cells.push_back({ 8,19,3, -0.916253,-0.000000 }); +cells.push_back({ 9,19,3, -0.905763,-0.000000 }); +cells.push_back({ 10,19,3, -0.895274,-0.000000 }); +cells.push_back({ 11,19,3, -0.884784,-0.000000 }); +// ibackleg=19 imodule=4 +cells.push_back({ 0,19,4, -0.884089,0.212765 }); +cells.push_back({ 1,19,4, -0.894705,0.212765 }); +cells.push_back({ 2,19,4, -0.905321,0.212765 }); +cells.push_back({ 3,19,4, -0.915937,0.212765 }); +cells.push_back({ 4,19,4, -0.926554,0.212765 }); +cells.push_back({ 5,19,4, -0.937170,0.212765 }); +cells.push_back({ 6,19,4, -0.947786,0.212765 }); +cells.push_back({ 7,19,4, -0.958402,0.212765 }); +cells.push_back({ 8,19,4, -0.969018,0.212765 }); +cells.push_back({ 9,19,4, -0.979634,0.212765 }); +cells.push_back({ 10,19,4, -0.990250,0.212765 }); +cells.push_back({ 11,19,4, -1.000867,0.212765 }); +// ibackleg=20 imodule=0 +// ibackleg=20 imodule=1 +// ibackleg=20 imodule=2 +cells.push_back({ 0,20,2, -0.791427,-0.212765 }); +cells.push_back({ 1,20,2, -0.780811,-0.212765 }); +cells.push_back({ 2,20,2, -0.770195,-0.212765 }); +cells.push_back({ 3,20,2, -0.759579,-0.212765 }); +cells.push_back({ 4,20,2, -0.748963,-0.212765 }); +cells.push_back({ 5,20,2, -0.738346,-0.212765 }); +cells.push_back({ 6,20,2, -0.727730,-0.212765 }); +cells.push_back({ 7,20,2, -0.717114,-0.212765 }); +cells.push_back({ 8,20,2, -0.706498,-0.212765 }); +cells.push_back({ 9,20,2, -0.695882,-0.212765 }); +cells.push_back({ 10,20,2, -0.685266,-0.212765 }); +cells.push_back({ 11,20,2, -0.674650,-0.212765 }); +// ibackleg=20 imodule=3 +cells.push_back({ 0,20,3, -0.790732,-0.000000 }); +cells.push_back({ 1,20,3, -0.780242,-0.000000 }); +cells.push_back({ 2,20,3, -0.769753,-0.000000 }); +cells.push_back({ 3,20,3, -0.759263,-0.000000 }); +cells.push_back({ 4,20,3, -0.748773,-0.000000 }); +cells.push_back({ 5,20,3, -0.738283,-0.000000 }); +cells.push_back({ 6,20,3, -0.727794,-0.000000 }); +cells.push_back({ 7,20,3, -0.717304,-0.000000 }); +cells.push_back({ 8,20,3, -0.706814,-0.000000 }); +cells.push_back({ 9,20,3, -0.696324,-0.000000 }); +cells.push_back({ 10,20,3, -0.685834,-0.000000 }); +cells.push_back({ 11,20,3, -0.675344,-0.000000 }); +// ibackleg=20 imodule=4 +cells.push_back({ 0,20,4, -0.674650,0.212765 }); +cells.push_back({ 1,20,4, -0.685266,0.212765 }); +cells.push_back({ 2,20,4, -0.695882,0.212765 }); +cells.push_back({ 3,20,4, -0.706498,0.212765 }); +cells.push_back({ 4,20,4, -0.717114,0.212765 }); +cells.push_back({ 5,20,4, -0.727730,0.212765 }); +cells.push_back({ 6,20,4, -0.738346,0.212765 }); +cells.push_back({ 7,20,4, -0.748963,0.212765 }); +cells.push_back({ 8,20,4, -0.759579,0.212765 }); +cells.push_back({ 9,20,4, -0.770195,0.212765 }); +cells.push_back({ 10,20,4, -0.780811,0.212765 }); +cells.push_back({ 11,20,4, -0.791427,0.212765 }); +// ibackleg=21 imodule=0 +// ibackleg=21 imodule=1 +cells.push_back({ 0,21,1, -0.582090,-0.416592 }); +cells.push_back({ 1,21,1, -0.571456,-0.416592 }); +cells.push_back({ 2,21,1, -0.560821,-0.416592 }); +cells.push_back({ 3,21,1, -0.550186,-0.416592 }); +cells.push_back({ 4,21,1, -0.539551,-0.416592 }); +cells.push_back({ 5,21,1, -0.528916,-0.416592 }); +cells.push_back({ 6,21,1, -0.518281,-0.416592 }); +cells.push_back({ 7,21,1, -0.507646,-0.416592 }); +cells.push_back({ 8,21,1, -0.497011,-0.416592 }); +cells.push_back({ 9,21,1, -0.486377,-0.416592 }); +cells.push_back({ 10,21,1, -0.475742,-0.416592 }); +cells.push_back({ 11,21,1, -0.465107,-0.416592 }); +// ibackleg=21 imodule=2 +cells.push_back({ 0,21,2, -0.582805,-0.212765 }); +cells.push_back({ 1,21,2, -0.572040,-0.212765 }); +cells.push_back({ 2,21,2, -0.561275,-0.212765 }); +cells.push_back({ 3,21,2, -0.550511,-0.212765 }); +cells.push_back({ 4,21,2, -0.539746,-0.212765 }); +cells.push_back({ 5,21,2, -0.528981,-0.212765 }); +cells.push_back({ 6,21,2, -0.518216,-0.212765 }); +cells.push_back({ 7,21,2, -0.507452,-0.212765 }); +cells.push_back({ 8,21,2, -0.496687,-0.212765 }); +cells.push_back({ 9,21,2, -0.485922,-0.212765 }); +cells.push_back({ 10,21,2, -0.475158,-0.212765 }); +cells.push_back({ 11,21,2, -0.464393,-0.212765 }); +// ibackleg=21 imodule=3 +cells.push_back({ 0,21,3, -0.582090,-0.000000 }); +cells.push_back({ 1,21,3, -0.571456,-0.000000 }); +cells.push_back({ 2,21,3, -0.560821,-0.000000 }); +cells.push_back({ 3,21,3, -0.550186,-0.000000 }); +cells.push_back({ 4,21,3, -0.539551,-0.000000 }); +cells.push_back({ 5,21,3, -0.528916,-0.000000 }); +cells.push_back({ 6,21,3, -0.518281,-0.000000 }); +cells.push_back({ 7,21,3, -0.507646,-0.000000 }); +cells.push_back({ 8,21,3, -0.497011,-0.000000 }); +cells.push_back({ 9,21,3, -0.486377,-0.000000 }); +cells.push_back({ 10,21,3, -0.475742,-0.000000 }); +cells.push_back({ 11,21,3, -0.465107,-0.000000 }); +// ibackleg=21 imodule=4 +cells.push_back({ 0,21,4, -0.464393,0.212765 }); +cells.push_back({ 1,21,4, -0.475158,0.212765 }); +cells.push_back({ 2,21,4, -0.485922,0.212765 }); +cells.push_back({ 3,21,4, -0.496687,0.212765 }); +cells.push_back({ 4,21,4, -0.507452,0.212765 }); +cells.push_back({ 5,21,4, -0.518216,0.212765 }); +cells.push_back({ 6,21,4, -0.528981,0.212765 }); +cells.push_back({ 7,21,4, -0.539746,0.212765 }); +cells.push_back({ 8,21,4, -0.550511,0.212765 }); +cells.push_back({ 9,21,4, -0.561275,0.212765 }); +cells.push_back({ 10,21,4, -0.572040,0.212765 }); +cells.push_back({ 11,21,4, -0.582805,0.212765 }); +// ibackleg=22 imodule=0 +// ibackleg=22 imodule=1 +cells.push_back({ 0,22,1, -0.373936,-0.416592 }); +cells.push_back({ 1,22,1, -0.363067,-0.416592 }); +cells.push_back({ 2,22,1, -0.352198,-0.416592 }); +cells.push_back({ 3,22,1, -0.341330,-0.416592 }); +cells.push_back({ 4,22,1, -0.330462,-0.416592 }); +cells.push_back({ 5,22,1, -0.319593,-0.416592 }); +cells.push_back({ 6,22,1, -0.308725,-0.416592 }); +cells.push_back({ 7,22,1, -0.297857,-0.416592 }); +cells.push_back({ 8,22,1, -0.286988,-0.416592 }); +cells.push_back({ 9,22,1, -0.276120,-0.416592 }); +cells.push_back({ 10,22,1, -0.265251,-0.416592 }); +cells.push_back({ 11,22,1, -0.254383,-0.416592 }); +// ibackleg=22 imodule=2 +cells.push_back({ 0,22,2, -0.374681,-0.212765 }); +cells.push_back({ 1,22,2, -0.363677,-0.212765 }); +cells.push_back({ 2,22,2, -0.352673,-0.212765 }); +cells.push_back({ 3,22,2, -0.341669,-0.212765 }); +cells.push_back({ 4,22,2, -0.330665,-0.212765 }); +cells.push_back({ 5,22,2, -0.319661,-0.212765 }); +cells.push_back({ 6,22,2, -0.308657,-0.212765 }); +cells.push_back({ 7,22,2, -0.297653,-0.212765 }); +cells.push_back({ 8,22,2, -0.286649,-0.212765 }); +cells.push_back({ 9,22,2, -0.275645,-0.212765 }); +cells.push_back({ 10,22,2, -0.264641,-0.212765 }); +cells.push_back({ 11,22,2, -0.253637,-0.212765 }); +// ibackleg=22 imodule=3 +cells.push_back({ 0,22,3, -0.373936,-0.000000 }); +cells.push_back({ 1,22,3, -0.363067,-0.000000 }); +cells.push_back({ 2,22,3, -0.352198,-0.000000 }); +cells.push_back({ 3,22,3, -0.341330,-0.000000 }); +cells.push_back({ 4,22,3, -0.330462,-0.000000 }); +cells.push_back({ 5,22,3, -0.319593,-0.000000 }); +cells.push_back({ 6,22,3, -0.308725,-0.000000 }); +cells.push_back({ 7,22,3, -0.297857,-0.000000 }); +cells.push_back({ 8,22,3, -0.286988,-0.000000 }); +cells.push_back({ 9,22,3, -0.276120,-0.000000 }); +cells.push_back({ 10,22,3, -0.265251,-0.000000 }); +cells.push_back({ 11,22,3, -0.254383,-0.000000 }); +// ibackleg=22 imodule=4 +cells.push_back({ 0,22,4, -0.253637,0.212765 }); +cells.push_back({ 1,22,4, -0.264641,0.212765 }); +cells.push_back({ 2,22,4, -0.275645,0.212765 }); +cells.push_back({ 3,22,4, -0.286649,0.212765 }); +cells.push_back({ 4,22,4, -0.297653,0.212765 }); +cells.push_back({ 5,22,4, -0.308657,0.212765 }); +cells.push_back({ 6,22,4, -0.319661,0.212765 }); +cells.push_back({ 7,22,4, -0.330665,0.212765 }); +cells.push_back({ 8,22,4, -0.341669,0.212765 }); +cells.push_back({ 9,22,4, -0.352673,0.212765 }); +cells.push_back({ 10,22,4, -0.363677,0.212765 }); +cells.push_back({ 11,22,4, -0.374681,0.212765 }); +// ibackleg=23 imodule=0 +// ibackleg=23 imodule=1 +// ibackleg=23 imodule=2 +// ibackleg=23 imodule=3 +// ibackleg=23 imodule=4 +// ibackleg=24 imodule=0 +// ibackleg=24 imodule=1 +cells.push_back({ 0,24,1, 0.066479,-0.416592 }); +cells.push_back({ 1,24,1, 0.077280,-0.416592 }); +cells.push_back({ 2,24,1, 0.088080,-0.416592 }); +cells.push_back({ 3,24,1, 0.098881,-0.416592 }); +cells.push_back({ 4,24,1, 0.109682,-0.416592 }); +cells.push_back({ 5,24,1, 0.120482,-0.416592 }); +cells.push_back({ 6,24,1, 0.131283,-0.416592 }); +cells.push_back({ 7,24,1, 0.142084,-0.416592 }); +cells.push_back({ 8,24,1, 0.152884,-0.416592 }); +cells.push_back({ 9,24,1, 0.163685,-0.416592 }); +cells.push_back({ 10,24,1, 0.174485,-0.416592 }); +cells.push_back({ 11,24,1, 0.185286,-0.416592 }); +// ibackleg=24 imodule=2 +cells.push_back({ 0,24,2, 0.066005,-0.212765 }); +cells.push_back({ 1,24,2, 0.076940,-0.212765 }); +cells.push_back({ 2,24,2, 0.087874,-0.212765 }); +cells.push_back({ 3,24,2, 0.098809,-0.212765 }); +cells.push_back({ 4,24,2, 0.109743,-0.212765 }); +cells.push_back({ 5,24,2, 0.120678,-0.212765 }); +cells.push_back({ 6,24,2, 0.131612,-0.212765 }); +cells.push_back({ 7,24,2, 0.142547,-0.212765 }); +cells.push_back({ 8,24,2, 0.153481,-0.212765 }); +cells.push_back({ 9,24,2, 0.164416,-0.212765 }); +cells.push_back({ 10,24,2, 0.175351,-0.212765 }); +cells.push_back({ 11,24,2, 0.186285,-0.212765 }); +// ibackleg=24 imodule=3 +cells.push_back({ 0,24,3, 0.066479,-0.000000 }); +cells.push_back({ 1,24,3, 0.077280,-0.000000 }); +cells.push_back({ 2,24,3, 0.088080,-0.000000 }); +cells.push_back({ 3,24,3, 0.098881,-0.000000 }); +cells.push_back({ 4,24,3, 0.109682,-0.000000 }); +cells.push_back({ 5,24,3, 0.120482,-0.000000 }); +cells.push_back({ 6,24,3, 0.131283,-0.000000 }); +cells.push_back({ 7,24,3, 0.142084,-0.000000 }); +cells.push_back({ 8,24,3, 0.152884,-0.000000 }); +cells.push_back({ 9,24,3, 0.163685,-0.000000 }); +cells.push_back({ 10,24,3, 0.174485,-0.000000 }); +cells.push_back({ 11,24,3, 0.185286,-0.000000 }); +// ibackleg=24 imodule=4 +cells.push_back({ 0,24,4, 0.186285,0.212765 }); +cells.push_back({ 1,24,4, 0.175351,0.212765 }); +cells.push_back({ 2,24,4, 0.164416,0.212765 }); +cells.push_back({ 3,24,4, 0.153481,0.212765 }); +cells.push_back({ 4,24,4, 0.142547,0.212765 }); +cells.push_back({ 5,24,4, 0.131612,0.212765 }); +cells.push_back({ 6,24,4, 0.120678,0.212765 }); +cells.push_back({ 7,24,4, 0.109743,0.212765 }); +cells.push_back({ 8,24,4, 0.098809,0.212765 }); +cells.push_back({ 9,24,4, 0.087874,0.212765 }); +cells.push_back({ 10,24,4, 0.076940,0.212765 }); +cells.push_back({ 11,24,4, 0.066005,0.212765 }); +// ibackleg=25 imodule=0 +// ibackleg=25 imodule=1 +cells.push_back({ 0,25,1, 0.254383,-0.416592 }); +cells.push_back({ 1,25,1, 0.265252,-0.416592 }); +cells.push_back({ 2,25,1, 0.276120,-0.416592 }); +cells.push_back({ 3,25,1, 0.286988,-0.416592 }); +cells.push_back({ 4,25,1, 0.297857,-0.416592 }); +cells.push_back({ 5,25,1, 0.308725,-0.416592 }); +cells.push_back({ 6,25,1, 0.319593,-0.416592 }); +cells.push_back({ 7,25,1, 0.330462,-0.416592 }); +cells.push_back({ 8,25,1, 0.341330,-0.416592 }); +cells.push_back({ 9,25,1, 0.352199,-0.416592 }); +cells.push_back({ 10,25,1, 0.363067,-0.416592 }); +cells.push_back({ 11,25,1, 0.373935,-0.416592 }); +// ibackleg=25 imodule=2 +cells.push_back({ 0,25,2, 0.253637,-0.212765 }); +cells.push_back({ 1,25,2, 0.264641,-0.212765 }); +cells.push_back({ 2,25,2, 0.275645,-0.212765 }); +cells.push_back({ 3,25,2, 0.286649,-0.212765 }); +cells.push_back({ 4,25,2, 0.297653,-0.212765 }); +cells.push_back({ 5,25,2, 0.308657,-0.212765 }); +cells.push_back({ 6,25,2, 0.319661,-0.212765 }); +cells.push_back({ 7,25,2, 0.330665,-0.212765 }); +cells.push_back({ 8,25,2, 0.341669,-0.212765 }); +cells.push_back({ 9,25,2, 0.352673,-0.212765 }); +cells.push_back({ 10,25,2, 0.363677,-0.212765 }); +cells.push_back({ 11,25,2, 0.374682,-0.212765 }); +// ibackleg=25 imodule=3 +cells.push_back({ 0,25,3, 0.254383,-0.000000 }); +cells.push_back({ 1,25,3, 0.265252,-0.000000 }); +cells.push_back({ 2,25,3, 0.276120,-0.000000 }); +cells.push_back({ 3,25,3, 0.286988,-0.000000 }); +cells.push_back({ 4,25,3, 0.297857,-0.000000 }); +cells.push_back({ 5,25,3, 0.308725,-0.000000 }); +cells.push_back({ 6,25,3, 0.319593,-0.000000 }); +cells.push_back({ 7,25,3, 0.330462,-0.000000 }); +cells.push_back({ 8,25,3, 0.341330,-0.000000 }); +cells.push_back({ 9,25,3, 0.352199,-0.000000 }); +cells.push_back({ 10,25,3, 0.363067,-0.000000 }); +cells.push_back({ 11,25,3, 0.373935,-0.000000 }); +// ibackleg=25 imodule=4 +cells.push_back({ 0,25,4, 0.374682,0.212765 }); +cells.push_back({ 1,25,4, 0.363677,0.212765 }); +cells.push_back({ 2,25,4, 0.352673,0.212765 }); +cells.push_back({ 3,25,4, 0.341669,0.212765 }); +cells.push_back({ 4,25,4, 0.330665,0.212765 }); +cells.push_back({ 5,25,4, 0.319661,0.212765 }); +cells.push_back({ 6,25,4, 0.308657,0.212765 }); +cells.push_back({ 7,25,4, 0.297653,0.212765 }); +cells.push_back({ 8,25,4, 0.286649,0.212765 }); +cells.push_back({ 9,25,4, 0.275645,0.212765 }); +cells.push_back({ 10,25,4, 0.264641,0.212765 }); +cells.push_back({ 11,25,4, 0.253637,0.212765 }); +// ibackleg=26 imodule=0 +// ibackleg=26 imodule=1 +cells.push_back({ 0,26,1, 0.462821,-0.416592 }); +cells.push_back({ 1,26,1, 0.473872,-0.416592 }); +cells.push_back({ 2,26,1, 0.484922,-0.416592 }); +cells.push_back({ 3,26,1, 0.495973,-0.416592 }); +cells.push_back({ 4,26,1, 0.507023,-0.416592 }); +cells.push_back({ 5,26,1, 0.518074,-0.416592 }); +cells.push_back({ 6,26,1, 0.529124,-0.416592 }); +cells.push_back({ 7,26,1, 0.540174,-0.416592 }); +cells.push_back({ 8,26,1, 0.551225,-0.416592 }); +cells.push_back({ 9,26,1, 0.562275,-0.416592 }); +cells.push_back({ 10,26,1, 0.573326,-0.416592 }); +cells.push_back({ 11,26,1, 0.584376,-0.416592 }); +// ibackleg=26 imodule=2 +cells.push_back({ 0,26,2, 0.462050,-0.212765 }); +cells.push_back({ 1,26,2, 0.473241,-0.212765 }); +cells.push_back({ 2,26,2, 0.484431,-0.212765 }); +cells.push_back({ 3,26,2, 0.495622,-0.212765 }); +cells.push_back({ 4,26,2, 0.506813,-0.212765 }); +cells.push_back({ 5,26,2, 0.518003,-0.212765 }); +cells.push_back({ 6,26,2, 0.529194,-0.212765 }); +cells.push_back({ 7,26,2, 0.540385,-0.212765 }); +cells.push_back({ 8,26,2, 0.551576,-0.212765 }); +cells.push_back({ 9,26,2, 0.562766,-0.212765 }); +cells.push_back({ 10,26,2, 0.573957,-0.212765 }); +cells.push_back({ 11,26,2, 0.585148,-0.212765 }); +// ibackleg=26 imodule=3 +cells.push_back({ 0,26,3, 0.462821,-0.000000 }); +cells.push_back({ 1,26,3, 0.473872,-0.000000 }); +cells.push_back({ 2,26,3, 0.484922,-0.000000 }); +cells.push_back({ 3,26,3, 0.495973,-0.000000 }); +cells.push_back({ 4,26,3, 0.507023,-0.000000 }); +cells.push_back({ 5,26,3, 0.518074,-0.000000 }); +cells.push_back({ 6,26,3, 0.529124,-0.000000 }); +cells.push_back({ 7,26,3, 0.540174,-0.000000 }); +cells.push_back({ 8,26,3, 0.551225,-0.000000 }); +cells.push_back({ 9,26,3, 0.562275,-0.000000 }); +cells.push_back({ 10,26,3, 0.573326,-0.000000 }); +cells.push_back({ 11,26,3, 0.584376,-0.000000 }); +// ibackleg=26 imodule=4 +cells.push_back({ 0,26,4, 0.585148,0.212765 }); +cells.push_back({ 1,26,4, 0.573957,0.212765 }); +cells.push_back({ 2,26,4, 0.562766,0.212765 }); +cells.push_back({ 3,26,4, 0.551576,0.212765 }); +cells.push_back({ 4,26,4, 0.540385,0.212765 }); +cells.push_back({ 5,26,4, 0.529194,0.212765 }); +cells.push_back({ 6,26,4, 0.518003,0.212765 }); +cells.push_back({ 7,26,4, 0.506813,0.212765 }); +cells.push_back({ 8,26,4, 0.495622,0.212765 }); +cells.push_back({ 9,26,4, 0.484431,0.212765 }); +cells.push_back({ 10,26,4, 0.473241,0.212765 }); +cells.push_back({ 11,26,4, 0.462050,0.212765 }); +// ibackleg=27 imodule=0 +// ibackleg=27 imodule=1 +cells.push_back({ 0,27,1, 0.672261,-0.416592 }); +cells.push_back({ 1,27,1, 0.683311,-0.416592 }); +cells.push_back({ 2,27,1, 0.694362,-0.416592 }); +cells.push_back({ 3,27,1, 0.705412,-0.416592 }); +cells.push_back({ 4,27,1, 0.716463,-0.416592 }); +cells.push_back({ 5,27,1, 0.727513,-0.416592 }); +cells.push_back({ 6,27,1, 0.738563,-0.416592 }); +cells.push_back({ 7,27,1, 0.749614,-0.416592 }); +cells.push_back({ 8,27,1, 0.760664,-0.416592 }); +cells.push_back({ 9,27,1, 0.771715,-0.416592 }); +cells.push_back({ 10,27,1, 0.782765,-0.416592 }); +cells.push_back({ 11,27,1, 0.793816,-0.416592 }); +// ibackleg=27 imodule=2 +cells.push_back({ 0,27,2, 0.671489,-0.212765 }); +cells.push_back({ 1,27,2, 0.682680,-0.212765 }); +cells.push_back({ 2,27,2, 0.693871,-0.212765 }); +cells.push_back({ 3,27,2, 0.705061,-0.212765 }); +cells.push_back({ 4,27,2, 0.716252,-0.212765 }); +cells.push_back({ 5,27,2, 0.727443,-0.212765 }); +cells.push_back({ 6,27,2, 0.738634,-0.212765 }); +cells.push_back({ 7,27,2, 0.749824,-0.212765 }); +cells.push_back({ 8,27,2, 0.761015,-0.212765 }); +cells.push_back({ 9,27,2, 0.772206,-0.212765 }); +cells.push_back({ 10,27,2, 0.783396,-0.212765 }); +cells.push_back({ 11,27,2, 0.794587,-0.212765 }); +// ibackleg=27 imodule=3 +cells.push_back({ 0,27,3, 0.672261,-0.000000 }); +cells.push_back({ 1,27,3, 0.683311,-0.000000 }); +cells.push_back({ 2,27,3, 0.694362,-0.000000 }); +cells.push_back({ 3,27,3, 0.705412,-0.000000 }); +cells.push_back({ 4,27,3, 0.716463,-0.000000 }); +cells.push_back({ 5,27,3, 0.727513,-0.000000 }); +cells.push_back({ 6,27,3, 0.738563,-0.000000 }); +cells.push_back({ 7,27,3, 0.749614,-0.000000 }); +cells.push_back({ 8,27,3, 0.760664,-0.000000 }); +cells.push_back({ 9,27,3, 0.771715,-0.000000 }); +cells.push_back({ 10,27,3, 0.782765,-0.000000 }); +cells.push_back({ 11,27,3, 0.793816,-0.000000 }); +// ibackleg=27 imodule=4 +cells.push_back({ 0,27,4, 0.794587,0.212765 }); +cells.push_back({ 1,27,4, 0.783396,0.212765 }); +cells.push_back({ 2,27,4, 0.772206,0.212765 }); +cells.push_back({ 3,27,4, 0.761015,0.212765 }); +cells.push_back({ 4,27,4, 0.749824,0.212765 }); +cells.push_back({ 5,27,4, 0.738634,0.212765 }); +cells.push_back({ 6,27,4, 0.727443,0.212765 }); +cells.push_back({ 7,27,4, 0.716252,0.212765 }); +cells.push_back({ 8,27,4, 0.705061,0.212765 }); +cells.push_back({ 9,27,4, 0.693871,0.212765 }); +cells.push_back({ 10,27,4, 0.682680,0.212765 }); +cells.push_back({ 11,27,4, 0.671489,0.212765 }); +// ibackleg=28 imodule=0 +// ibackleg=28 imodule=1 +cells.push_back({ 0,28,1, 0.881700,-0.416592 }); +cells.push_back({ 1,28,1, 0.892751,-0.416592 }); +cells.push_back({ 2,28,1, 0.903801,-0.416592 }); +cells.push_back({ 3,28,1, 0.914852,-0.416592 }); +cells.push_back({ 4,28,1, 0.925902,-0.416592 }); +cells.push_back({ 5,28,1, 0.936953,-0.416592 }); +cells.push_back({ 6,28,1, 0.948003,-0.416592 }); +cells.push_back({ 7,28,1, 0.959053,-0.416592 }); +cells.push_back({ 8,28,1, 0.970104,-0.416592 }); +cells.push_back({ 9,28,1, 0.981154,-0.416592 }); +cells.push_back({ 10,28,1, 0.992205,-0.416592 }); +cells.push_back({ 11,28,1, 1.003255,-0.416592 }); +// ibackleg=28 imodule=2 +cells.push_back({ 0,28,2, 0.880929,-0.212765 }); +cells.push_back({ 1,28,2, 0.892120,-0.212765 }); +cells.push_back({ 2,28,2, 0.903310,-0.212765 }); +cells.push_back({ 3,28,2, 0.914501,-0.212765 }); +cells.push_back({ 4,28,2, 0.925692,-0.212765 }); +cells.push_back({ 5,28,2, 0.936882,-0.212765 }); +cells.push_back({ 6,28,2, 0.948073,-0.212765 }); +cells.push_back({ 7,28,2, 0.959264,-0.212765 }); +cells.push_back({ 8,28,2, 0.970455,-0.212765 }); +cells.push_back({ 9,28,2, 0.981645,-0.212765 }); +cells.push_back({ 10,28,2, 0.992836,-0.212765 }); +cells.push_back({ 11,28,2, 1.004027,-0.212765 }); +// ibackleg=28 imodule=3 +cells.push_back({ 0,28,3, 0.881700,-0.000000 }); +cells.push_back({ 1,28,3, 0.892751,-0.000000 }); +cells.push_back({ 2,28,3, 0.903801,-0.000000 }); +cells.push_back({ 3,28,3, 0.914852,-0.000000 }); +cells.push_back({ 4,28,3, 0.925902,-0.000000 }); +cells.push_back({ 5,28,3, 0.936953,-0.000000 }); +cells.push_back({ 6,28,3, 0.948003,-0.000000 }); +cells.push_back({ 7,28,3, 0.959053,-0.000000 }); +cells.push_back({ 8,28,3, 0.970104,-0.000000 }); +cells.push_back({ 9,28,3, 0.981154,-0.000000 }); +cells.push_back({ 10,28,3, 0.992205,-0.000000 }); +cells.push_back({ 11,28,3, 1.003255,-0.000000 }); +// ibackleg=28 imodule=4 +cells.push_back({ 0,28,4, 1.004027,0.212765 }); +cells.push_back({ 1,28,4, 0.992836,0.212765 }); +cells.push_back({ 2,28,4, 0.981645,0.212765 }); +cells.push_back({ 3,28,4, 0.970455,0.212765 }); +cells.push_back({ 4,28,4, 0.959264,0.212765 }); +cells.push_back({ 5,28,4, 0.948073,0.212765 }); +cells.push_back({ 6,28,4, 0.936882,0.212765 }); +cells.push_back({ 7,28,4, 0.925692,0.212765 }); +cells.push_back({ 8,28,4, 0.914501,0.212765 }); +cells.push_back({ 9,28,4, 0.903310,0.212765 }); +cells.push_back({ 10,28,4, 0.892120,0.212765 }); +cells.push_back({ 11,28,4, 0.880929,0.212765 }); +// ibackleg=29 imodule=0 +// ibackleg=29 imodule=1 +cells.push_back({ 0,29,1, 1.091140,-0.416592 }); +cells.push_back({ 1,29,1, 1.102190,-0.416592 }); +cells.push_back({ 2,29,1, 1.113241,-0.416592 }); +cells.push_back({ 3,29,1, 1.124291,-0.416592 }); +cells.push_back({ 4,29,1, 1.135342,-0.416592 }); +cells.push_back({ 5,29,1, 1.146392,-0.416592 }); +cells.push_back({ 6,29,1, 1.157443,-0.416592 }); +cells.push_back({ 7,29,1, 1.168493,-0.416592 }); +cells.push_back({ 8,29,1, 1.179543,-0.416592 }); +cells.push_back({ 9,29,1, 1.190594,-0.416592 }); +cells.push_back({ 10,29,1, 1.201644,-0.416592 }); +cells.push_back({ 11,29,1, 1.212695,-0.416592 }); +// ibackleg=29 imodule=2 +cells.push_back({ 0,29,2, 1.090368,-0.212765 }); +cells.push_back({ 1,29,2, 1.101559,-0.212765 }); +cells.push_back({ 2,29,2, 1.112750,-0.212765 }); +cells.push_back({ 3,29,2, 1.123941,-0.212765 }); +cells.push_back({ 4,29,2, 1.135131,-0.212765 }); +cells.push_back({ 5,29,2, 1.146322,-0.212765 }); +cells.push_back({ 6,29,2, 1.157513,-0.212765 }); +cells.push_back({ 7,29,2, 1.168703,-0.212765 }); +cells.push_back({ 8,29,2, 1.179894,-0.212765 }); +cells.push_back({ 9,29,2, 1.191085,-0.212765 }); +cells.push_back({ 10,29,2, 1.202276,-0.212765 }); +cells.push_back({ 11,29,2, 1.213466,-0.212765 }); +// ibackleg=29 imodule=3 +cells.push_back({ 0,29,3, 1.091140,-0.000000 }); +cells.push_back({ 1,29,3, 1.102190,-0.000000 }); +cells.push_back({ 2,29,3, 1.113241,-0.000000 }); +cells.push_back({ 3,29,3, 1.124291,-0.000000 }); +cells.push_back({ 4,29,3, 1.135342,-0.000000 }); +cells.push_back({ 5,29,3, 1.146392,-0.000000 }); +cells.push_back({ 6,29,3, 1.157443,-0.000000 }); +cells.push_back({ 7,29,3, 1.168493,-0.000000 }); +cells.push_back({ 8,29,3, 1.179543,-0.000000 }); +cells.push_back({ 9,29,3, 1.190594,-0.000000 }); +cells.push_back({ 10,29,3, 1.201644,-0.000000 }); +cells.push_back({ 11,29,3, 1.212695,-0.000000 }); +// ibackleg=29 imodule=4 +cells.push_back({ 0,29,4, 1.213466,0.212765 }); +cells.push_back({ 1,29,4, 1.202276,0.212765 }); +cells.push_back({ 2,29,4, 1.191085,0.212765 }); +cells.push_back({ 3,29,4, 1.179894,0.212765 }); +cells.push_back({ 4,29,4, 1.168703,0.212765 }); +cells.push_back({ 5,29,4, 1.157513,0.212765 }); +cells.push_back({ 6,29,4, 1.146322,0.212765 }); +cells.push_back({ 7,29,4, 1.135131,0.212765 }); +cells.push_back({ 8,29,4, 1.123941,0.212765 }); +cells.push_back({ 9,29,4, 1.112750,0.212765 }); +cells.push_back({ 10,29,4, 1.101559,0.212765 }); +cells.push_back({ 11,29,4, 1.090368,0.212765 }); + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_mtd_response.C b/StRoot/StGeant4Maker/tests/unit_test_mtd_response.C new file mode 100644 index 00000000000..4a7476a3979 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_mtd_response.C @@ -0,0 +1,89 @@ +#include "tests/unit_tests.h" + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; + +//___________________________________________________________________ +void unit_test_mtd_response( int nevents=1000 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and EPD hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + auto* chain = StMaker::GetChain(); + + TFile* file = TFile::Open("mtd.response.root","recreate"); + TH1F* hOneMuon = new TH1F("hOneMuon","Single muon incident @ E=10 GeV; dE [eV]",100,0.,10.0); + TH2F* hEtaPhi = new TH2F("hEtaPhi","Phi vs Eta; #eta; #phi",90,-180.0,180.0,100,-0.5,0.5); + + auto sumHits = [=](const char* name, float sf=1.0 ) -> double { + assert(sf>0); + float sum = 0.; + auto* table = dynamic_cast( chain->GetDataSet( "g2t_mtd_hit" ) ) ; + if (table) + for ( int i=0;iGetNRows();i++ ){ + const g2t_mtd_hit_st* hit = static_cast( table->At(i) ); + sum+=hit->de; + }; + return 1.0*1000.0*1000.*1000.*sum; + // GeV MeV keV eV + }; + + + + auto throw_particle = [=]( std::string type, int n=1, const double E=0.500, double etaMn=-0.45, double etaMx=0.45 ) { + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + for ( int i=0;iAddParticle(type.c_str()); + auto _mass = _part->GetMass(); // Get the mass of the proton + if ( E > _mass ) { + auto _pmom = TMath::Sqrt(E*E-_mass*_mass); + auto _eta = gRandom->Rndm() * ( etaMx - etaMn ) + etaMn; // random angle + auto _phi = gRandom->Rndm() * TMath::TwoPi(); + TVector3 unit(0,0,1); + unit.SetPtEtaPhi(1.0,_eta,_phi); + unit=unit.Unit(); + auto momentum=_pmom*unit; + momentum.Print(); + _part->SetPx( momentum[0] ); + _part->SetPy( momentum[1] ); + _part->SetPz( momentum[2] ); + _part->SetVx( 0 ); + _part->SetVy( 0 ); + _part->SetVz( 0 ); + } + else { + LOG_INFO << "ERROR: mass > E (no particle simulated)" << endm; + } + } + chain->Clear(); + chain->Make(); + }; + + for ( int ievent=0;ieventFill( sumHits( "g2t_mtd_hit" ) ); + auto* table = dynamic_cast( chain->GetDataSet( "g2t_mtd_hit" ) ) ; + if (table) + for ( int i=0;iGetNRows();i++ ){ + const g2t_mtd_hit_st* hit = static_cast( table->At(i) ); + // double de = hit->de * 1.0*1000.0*1000.*1000.0; + TVector3 pos( hit->x ); + double eta = pos.Eta(); + double phi = pos.Phi() * 180.0/TMath::Pi(); + if ( phi > 180.0 ) phi -= 360.0; + hEtaPhi->Fill(eta,phi); + }; + } + + file->Write(); + delete file; + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_multi_engine_emc.C b/StRoot/StGeant4Maker/tests/unit_test_multi_engine_emc.C new file mode 100644 index 00000000000..d2b2b43ae7d --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_multi_engine_emc.C @@ -0,0 +1,230 @@ +#include "tests/unit_tests.h" + +#include "StGeant4Maker.h" +#include "TMath.h" +#include "TProfile.h" + + + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set + >>; +#endif + +std::vector sampling_fraction_vs_pt; +std::vector sampling_fraction_vs_eta; +std::vector sampling_fraction_vs_phi; + +#include +//___________________________________________________________________ +const int neta = 40; +const int nphi = 120; +const double dphi = 3.0; +const double phi0 = 0.0; // not really... + + +//___________________________________________________________________ + +// Obtain a track pointer from the given hit +template const g2t_track_st* get_track( Hit* hit ) { + int index = hit->track_p - 1; + if ( index < 0 || index > track_table->GetNRows() ) { + return 0; + } + else { + return static_cast( track_table -> At( index ) ); + } +} + +//___________________________________________________________________ +std::vector mean_, median_, min_, max_, error_of_mean_, sum_; +std::vector nhits_; +void trackLoop() { + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ) ; + + Accumulator_t edep; // Energy deposition + + std::map< int, double > edep_per_track; + + // Loop on all hits and accumulate all energy depositions + int nh = hit_table->GetNRows(); + nhits_.push_back(nh); + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + + // accumulate energy deposition + edep( hit->de ); + + // accumulate sampling fraction + auto* track = get_track( hit ); + if ( track ) { + double pt = track->pt; + double eta = track->eta; + if ( pt > 0.100 && pt < 10.0 ) { + LOG_INFO << "Accumulate track->id = " << track->id << " hit de = " << hit->de << std::endl; + edep_per_track[ track->id ] += hit->de; // running sum + } + } + + } + + // Fill histograms + for ( int i=0;iGetNRows(); i++ ) { + const g2t_track_st* track = static_cast( track_table->At(i) ); + if ( track ) { + double pt = track->pt; + double eta = track->eta; + // todo phi + double E = track->e + 1.0e-12; // prevent div by zero + LOG_INFO << "itrack=" << i << " idtruth=" << track->id << "Fill pt=" << pt << " eta=" << track->eta << " E=" << track->e << " edep=" << edep_per_track[ track->id ] << endm; + if ( pt > 0.100 && pt < 10.0 && eta > -0.95 && eta < 0.95 ) { + sampling_fraction_vs_pt.back()->Fill( pt, edep_per_track[ track->id ] / E ); + sampling_fraction_vs_eta.back()->Fill( eta, edep_per_track[ track->id ] / E ); + } + } + } + + + double _sum = boost::accumulators::sum(edep); + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + sum_.push_back(_sum); + mean_.push_back(_mean); + median_.push_back(_median); + min_.push_back(_min); + max_.push_back(_max); + error_of_mean_.push_back(_error_of_mean); + +} +//___________________________________________________________________ +void book_histograms() { + + const char* engines[] = { "geant3", "geant4" }; + assert(sampling_fraction_vs_pt.size() < sizeof(engines)/sizeof(const char*) ); + + TString base = Form( "%s_sampling_fraction_vs_", engines[ sampling_fraction_vs_pt.size() ] ); + TString title = Form( "EMC Sampling fraction [%s]", engines[ sampling_fraction_vs_pt.size() ] ); + + sampling_fraction_vs_pt.push_back ( new TProfile(base+"pt", title+";p_{T}", 50, 0., 10.0, 0.0, 1.0 ) ); + sampling_fraction_vs_eta.push_back( new TProfile(base+"eta", title+";#eta", 40, -0.95, 0.95, 0.0, 1.0 ) ); + sampling_fraction_vs_phi.push_back( new TProfile(base+"phi", title+";#phi", 60, 0., TMath::TwoPi(), 0.0, 1.0 ) ); + +} +//___________________________________________________________________ +void unit_test_multi_engine_emc( const char* part = "gamma", int ntracks = 10 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Multi-engine testing of EMC" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << Form("GEANT3 response to %i 1 GeV photons %s",ntracks,part) << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + + auto* gm = dynamic_cast( StMaker::GetChain()->GetMaker("geant4star") ); + auto* stack = gm->stack(); + + TFile* output = new TFile(Form("unit_test_multi_engine_emc_%s.root",part),"recreate"); + + gm->SetEngineForModule( "CALB", 0 ); + book_histograms(); + throw_particle(ntracks, part, 0.09995, 10.00005, -0.55, 0.55, 0., TMath::TwoPi() ); + + stack->StackDump(); + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ) ; + + auto all_primary_tracks_have_hits = [=](g2t_track_st* begin_, g2t_track_st* end_) { + + + auto ret = PASS; + + int count = 0; + for ( const auto* track=begin_; track < end_; track++ ) { + + LOG_INFO << "Track " << track->id << " pid=" << track->eg_pid << " n emc hits = " << track-> n_emc_hit << endm; + if ( track->n_emc_hit <= 0 ) { + ret = FAIL; + } + if ( ++count == ntracks ) break; + + } + return ret; + + }; + + check_track_table( "All primary tracks have hits", all_primary_tracks_have_hits ); + + + return; + + + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Multi-engine testing of EMC" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << Form("Geant 4 response to %i 1 GeV %s",ntracks,part) << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + gm->SetEngineForModule( "CALB", 1 ); + book_histograms(); + + throw_particle(ntracks, part, 0.09995, 10.00005, -0.95, 0.95, 0., TMath::TwoPi() ); + // trackLoop(); + + output->Write(); + output->Close(); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Multi-engine testing of EMC" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << Form("GEANT3 vs Geant 4 response to %i 1 GeV %s",ntracks,part) << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + LOG_TEST << Form( "energy deposition: sum = %f %f keV", sum_[0], sum_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: mean = %f %f keV", mean_[0], mean_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f %f keV", median_[0], median_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f %f keV", min_[0], min_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f %f keV", max_[0], max_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f %f keV", error_of_mean_[0], error_of_mean_[1] ) << std::endl; + LOG_TEST << Form( "number of hits: %i %i ", nhits_[0], nhits_[1] ) << std::endl; + +} + + + diff --git a/StRoot/StGeant4Maker/tests/unit_test_muons.C b/StRoot/StGeant4Maker/tests/unit_test_muons.C new file mode 100644 index 00000000000..648611dc384 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_muons.C @@ -0,0 +1,391 @@ +#include "tests/unit_tests.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +#include + +StGeant4Maker* _g4mk = 0; + +using Accumulator_t = accumulator_set +>>; + + +const double GeV = 1; +const double MeV = 1E3; +const double keV = 1E6; +const double eV = 1E9; +const std::map scale2string = { + {GeV,"GeV"}, + {MeV,"MeV"}, + {keV,"keV"}, + {eV,"eV"} +}; + +// template double energy_deposit(const T* h) { return h->de; } +// template double path_length (const T* h) { return h->ds; } +// template double deds (const T* h) { +// double de = h->de; +// double ds = h->ds; +// double deds = -999; +// if ( ds > 0 ) deds = de / ds; +// return deds; +// } + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +const int ntracks = 100; +//___________________________________________________________________ + +struct tpcTag { + static double energy_deposit(const g2t_tpc_hit_st* h){ return h->de; } + static double path_length(const g2t_tpc_hit_st* h){ return h->ds; } + static double de_ds(const g2t_tpc_hit_st* h ) { + double de = h->de; + double ds = h->ds; + double deds = -999; + if ( ds > 0 ) deds = de / ds; + return deds; + } +} tpc; // TPC hits +struct fstmTag { + static double energy_deposit(const g2t_fts_hit_st* h){ return h->de; } + static double path_length(const g2t_fts_hit_st* h){ return h->ds; } + static double de_ds(const g2t_fts_hit_st* h ) { + double de = h->de; + double ds = h->ds; + double deds = -999; + if ( ds > 0 ) deds = de / ds; + return deds; + } +} fstm; +struct stgcTag { + static double energy_deposit(const g2t_fts_hit_st* h){ return h->de; } + static double path_length(const g2t_fts_hit_st* h){ return h->ds; } + static double de_ds(const g2t_fts_hit_st* h ) { + double de = h->de; + double ds = h->ds; + double deds = -999; + if ( ds > 0 ) deds = de / ds; + return deds; + } +} stgc; + +struct bemcTag { + static double energy_deposit(const g2t_emc_hit_st* h){ return h->de; } +} bemc; // BEMC hits +struct bsmdTag { + static double energy_deposit(const g2t_emc_hit_st* h){ return h->de; } +} bsmd; // BSMD hits +struct eemcTag { + static double energy_deposit(const g2t_emc_hit_st* h){ return h->de; } +} eemc; // EEMC hits +struct esmdTag { + static double energy_deposit(const g2t_emc_hit_st* h){ return h->de; } +} esmd; // ESMD hits + +template struct HitTraits { + /* empty, this will not go well */ +}; +template<> struct HitTraits { + const std::string tableName = "g2t_tpc_hit"; + typedef g2t_tpc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_emc_hit"; + typedef g2t_emc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_smd_hit"; + typedef g2t_emc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_eem_hit"; + typedef g2t_emc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_esm_hit"; + typedef g2t_emc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_fsi_hit"; + typedef g2t_fts_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_stg_hit"; + typedef g2t_fts_hit_st hit_type; +}; + +template +void check_hit_distribution( std::string message, Tag, + std::function::hit_type *)> stat, + std::function eval, + double scale=1.0, + std::function::hit_type *)> filt = [](const typename HitTraits::hit_type *){ return true; } + ) { + Accumulator_t acc; + HitTraits traits; + TTable* table = static_cast( _g4mk->GetDataSet(traits.tableName.c_str()) ); + for ( int irow=0; irowGetNRows();irow++ ) { + auto* hit = static_cast::hit_type *>( table->At(irow) ); + if ( filt(hit) ) { + acc( stat(hit)*scale ); + } + } + LOG_TEST << message << " " << eval(acc) << std::endl; + +} + +void unit_test_muons() { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast ( chain->GetMaker("StarKine") ); + _g4mk = dynamic_cast ( chain->GetMaker("geant4star") ); + + double minPt = 0.100; + double maxPt = 10.000; + int nbinPt = 100; + + // Throw 1k gammas at BEMC, EEMC + _kine->Kine(3000,"e+,e-",4.9999,5.0001,-0.95,+2.00); + + chain->Clear(); + chain->Make(); + + check_hit_distribution( "BEMC sampling fraction (e+,e-)", bemc, bemc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = PASS; result += "\n"; + double _count = boost::accumulators::count(acc); + double _sum = boost::accumulators::sum(acc); + double _sf = _sum / 1000.0 / 5.0; + result += Form("Sampling fraction @ 5 GeV = %f\n",_sf); + return result; + }); + + check_hit_distribution( "EEMC sampling fraction (e+,e-)", eemc, eemc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = PASS; result += "\n"; + double _count = boost::accumulators::count(acc); + double _sum = boost::accumulators::sum(acc); + double _sf = _sum / 1000.0 / 5.0; + result += Form("Sampling fraction @ 5 GeV = %f\n",_sf); + return result; + }); + + return; + + _kine->Kine(ntracks,"mu+,mu-",0.100,10.00,-2.0,5.0); + + chain->Clear(); + chain->Make(); + + check_hit_distribution( "TPC energy deposit [keV] (muons)", tpc, tpc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "TPC energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },keV); + check_hit_distribution( "TPC path length (muons)", tpc, tpc.path_length , [=](const Accumulator_t& acc){ + std::string result = "TPC path length " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "path length: mean = %f\n", _mean ); + result+= Form( "path length: median = %f\n", _median ); + result+= Form( "path length: min = %f\n", _min ); + result+= Form( "path length: max = %f\n", _max ); + result+= Form( "path length: error of mean = %f\n", _error_of_mean ); + + return result; + } ); + check_hit_distribution( "TPC dE/ds [keV/cm] (muons)", tpc, tpc.de_ds, [=](const Accumulator_t& acc){ + std::string result = "TPC dE/ds " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "de/ds: mean = %f\n", _mean ); + result+= Form( "de/ds: median = %f\n", _median ); + result+= Form( "de/ds: min = %f\n", _min ); + result+= Form( "de/ds: max = %f\n", _max ); + result+= Form( "de/ds: error of mean = %f\n", _error_of_mean ); + + return result; + }, keV, [](const g2t_tpc_hit_st* h){ return h->ds>0; }); + + check_hit_distribution( "BEMC energy deposit [MeV] (muons)", bemc, bemc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "BEMC energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },MeV); + check_hit_distribution( "EEMC energy deposit [MeV] (muons)", eemc, eemc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "EEMC energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },MeV); + + + check_hit_distribution( "FSTM energy deposit [keV] (muons)", fstm, fstm.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "FSTM energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },keV); + check_hit_distribution( "FSTM path length (muons)", fstm, fstm.path_length , [=](const Accumulator_t& acc){ + std::string result = "FSTM path length " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "path length: mean = %f\n", _mean ); + result+= Form( "path length: median = %f\n", _median ); + result+= Form( "path length: min = %f\n", _min ); + result+= Form( "path length: max = %f\n", _max ); + result+= Form( "path length: error of mean = %f\n", _error_of_mean ); + + return result; + } ); + check_hit_distribution( "FSTM dE/ds [keV/cm] (muons)", fstm, fstm.de_ds, [=](const Accumulator_t& acc){ + std::string result = "FSTM dE/ds " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "de/ds: mean = %f\n", _mean ); + result+= Form( "de/ds: median = %f\n", _median ); + result+= Form( "de/ds: min = %f\n", _min ); + result+= Form( "de/ds: max = %f\n", _max ); + result+= Form( "de/ds: error of mean = %f\n", _error_of_mean ); + + return result; + }, keV, [](const g2t_fts_hit_st* h){ return h->ds>0; }); + + check_hit_distribution( "STGC energy deposit [keV] (muons)", stgc, stgc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "STGC energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },keV); + check_hit_distribution( "STGC path length (muons)", stgc, stgc.path_length , [=](const Accumulator_t& acc){ + std::string result = "STGC path length " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "path length: mean = %f\n", _mean ); + result+= Form( "path length: median = %f\n", _median ); + result+= Form( "path length: min = %f\n", _min ); + result+= Form( "path length: max = %f\n", _max ); + result+= Form( "path length: error of mean = %f\n", _error_of_mean ); + + return result; + } ); + check_hit_distribution( "STGC dE/ds [keV/cm] (muons)", stgc, stgc.de_ds, [=](const Accumulator_t& acc){ + std::string result = "STGC dE/ds " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "de/ds: mean = %f\n", _mean ); + result+= Form( "de/ds: median = %f\n", _median ); + result+= Form( "de/ds: min = %f\n", _min ); + result+= Form( "de/ds: max = %f\n", _max ); + result+= Form( "de/ds: error of mean = %f\n", _error_of_mean ); + + return result; + }, keV, [](const g2t_fts_hit_st* h){ return h->ds>0; }); + + chain->Clear(); + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_single_engine_emc.C b/StRoot/StGeant4Maker/tests/unit_test_single_engine_emc.C new file mode 100644 index 00000000000..afe25744997 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_single_engine_emc.C @@ -0,0 +1,191 @@ +#include "tests/unit_tests.h" + +#include "StGeant4Maker.h" +#include "TMath.h" +#include "TProfile.h" + + + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set + >>; +#endif + +std::vector sampling_fraction_vs_pt; +std::vector sampling_fraction_vs_eta; +std::vector sampling_fraction_vs_phi; + +#include +//___________________________________________________________________ +const int neta = 40; +const int nphi = 120; +const double dphi = 3.0; +const double phi0 = 0.0; // not really... + + +//___________________________________________________________________ + +// Obtain a track pointer from the given hit +template const g2t_track_st* get_track( Hit* hit ) { + int index = hit->track_p - 1; + if ( index < 0 || index > track_table->GetNRows() ) { + return 0; + } + else { + return static_cast( track_table -> At( index ) ); + } +} + +//___________________________________________________________________ +std::vector mean_, median_, min_, max_, error_of_mean_, sum_; +std::vector nhits_; +void trackLoop() { + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ) ; + + Accumulator_t edep; // Energy deposition + + std::map< int, double > edep_per_track; + + // Loop on all hits and accumulate all energy depositions + int nh = hit_table->GetNRows(); + nhits_.push_back(nh); + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + + // accumulate energy deposition + edep( hit->de ); + + // accumulate sampling fraction + auto* track = get_track( hit ); + if ( track ) { + double pt = track->pt; + double eta = track->eta; + if ( pt > 0.100 && pt < 10.0 ) { + LOG_INFO << "Accumulate track->id = " << track->id << " hit de = " << hit->de << std::endl; + edep_per_track[ track->id ] += hit->de; // running sum + } + } + + } + + // Fill histograms + for ( int i=0;iGetNRows(); i++ ) { + const g2t_track_st* track = static_cast( track_table->At(i) ); + if ( track ) { + double pt = track->pt; + double eta = track->eta; + // todo phi + double E = track->e + 1.0e-12; // prevent div by zero + LOG_INFO << "itrack=" << i << " idtruth=" << track->id << "Fill pt=" << pt << " eta=" << track->eta << " E=" << track->e << " edep=" << edep_per_track[ track->id ] << endl; + if ( pt > 0.100 && pt < 10.0 && eta > -0.95 && eta < 0.95 ) { + sampling_fraction_vs_pt.back()->Fill( pt, edep_per_track[ track->id ] / E ); + sampling_fraction_vs_eta.back()->Fill( eta, edep_per_track[ track->id ] / E ); + } + } + } + + + double _sum = boost::accumulators::sum(edep); + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + sum_.push_back(_sum); + mean_.push_back(_mean); + median_.push_back(_median); + min_.push_back(_min); + max_.push_back(_max); + error_of_mean_.push_back(_error_of_mean); + +} +//___________________________________________________________________ +void book_histograms() { + + const char* engines[] = { "geant3", "geant4" }; + assert(sampling_fraction_vs_pt.size() < sizeof(engines)/sizeof(const char*) ); + + TString base = Form( "%s_sampling_fraction_vs_", engines[ sampling_fraction_vs_pt.size() ] ); + TString title = Form( "EMC Sampling fraction [%s]", engines[ sampling_fraction_vs_pt.size() ] ); + + sampling_fraction_vs_pt.push_back ( new TProfile(base+"pt", title+";p_{T}", 50, 0., 10.0, 0.0, 1.0 ) ); + sampling_fraction_vs_eta.push_back( new TProfile(base+"eta", title+";#eta", 40, -0.95, 0.95, 0.0, 1.0 ) ); + sampling_fraction_vs_phi.push_back( new TProfile(base+"phi", title+";#phi", 60, 0., TMath::TwoPi(), 0.0, 1.0 ) ); + +} +//___________________________________________________________________ +void unit_test_single_engine_emc( const char* part = "mu+", int ntracks = 10 ) { + + gROOT->ProcessLine("initChain();"); + + TString engineName; + if ( hasRuntimeArg("application:engine=G3") ) engineName = "GEANT3 "; + if ( hasRuntimeArg("application:engine=G4") ) engineName = "Geant 4 "; + std::cout << "Engine name = " << engineName.Data() << endl; + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Single-engine testing of EMC" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << Form("GEANT3 response to %i 1 GeV photons %s",ntracks,part) << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + + auto* gm = dynamic_cast( StMaker::GetChain()->GetMaker("geant4star") ); + + throw_particle(ntracks, part, 0.09995, 10.00005, -0.95, 0.95, 0., TMath::TwoPi() ); + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ) ; + + auto all_primary_tracks_have_hits = [=](g2t_track_st* begin_, g2t_track_st* end_) { + + int count = 0; + int hits = 0; + for ( const auto* track=begin_; track < end_; track++ ) { + + if ( track->n_emc_hit ) hits++; + if ( ++count == ntracks ) break; + + } + return (hits == count) ? PASS : FAIL; + + }; + + check_track_table( "All primary tracks have hits", all_primary_tracks_have_hits ); + + return; + +} + + + diff --git a/StRoot/StGeant4Maker/tests/unit_test_stg_hits.C b/StRoot/StGeant4Maker/tests/unit_test_stg_hits.C new file mode 100644 index 00000000000..7fa7012496a --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_stg_hits.C @@ -0,0 +1,190 @@ +#include "tests/unit_tests.h" +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +//void throw_muon_in_stg_wedge( int wedgeid, int inout, int charge = 1 ) { +void throw_muon_in_stg_wedge( double eta, double phid ) { + + // TODO... + //double eta = 2.8; + _eta=eta; + //double phid = 15.0; + _phid=phid; + + throw_muon( eta, phid, 5.0, 1 ); // energetic + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ) ; + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ) ; + hit_table = dynamic_cast( chain->GetDataSet("g2t_stg_hit") ) ; + +} +//___________________________________________________________________ +void unit_test_stg_hits() { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and sTGC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + double etas[] = { 2.75, 3.25, 3.75 }; + double phis[] = { 15.0, 45.0, 75.0, 105.0, 135.0, 165.0, 195.0, 225.0, 255.0, 285.0, 315.0, 345.0 }; + + for ( auto e : etas ) { + for ( auto p : phis ) { + + throw_muon_in_stg_wedge( e, p ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + // Failure is tested by check_track when it tests for a valid track pointer + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the FST", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 4 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_stg_hit; + std::string result = FAIL; + if ( n==4 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + for ( int i=0;iGetNRows();i++ ) { + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + check_stg_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have an energy deposit > 0",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->de > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have a path length > 0",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have a nonzero momentum",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + // check_stg_hit( "The volume ID should be in 1..48",hit,[=](const g2t_fts_hit_st* h) { + // std::string result=PASS; + // if ( h->volume_id<1||h->volume_id>48 ) result=FAIL; + // result = Form(" volume_id = %i ",h->volume_id) + result; + // return result; + // }); + check_stg_hit( "Track's momentum at hit should be < initial value",hit, [=](const g2t_fts_hit_st* h){ + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + check_stg_hit( "Hit position should be w/in the fiducial volume of the station",hit,[=](const g2t_fts_hit_st* h){ + // TODO + return TODO; + }); + check_stg_hit( "The hit position and tof*c agree to w/in 0.15 mm ", hit,[=](const g2t_fts_hit_st* h) { + // There should be some tolerance on this, b/c of roundoff error at each tracking step + std::string result = FAIL; + double c_tof = 2.99792458E10 /* cm/s */ * h->tof; + double s_trk = + sqrt( h->x[0]*h->x[0] + + h->x[1]*h->x[1] + + h->x[2]*h->x[2] ); + double diff = TMath::Abs(c_tof-s_trk); + if ( diff < 0.015 ) result = PASS; + result = Form("c_tof=%f cm strack=%f cm diff=%f cm ",c_tof,s_trk,diff) + result; + return result; + }); + check_stg_hit( "The station should decode as 1..4",hit,[=](const g2t_fts_hit_st* h) { + std::string result=FAIL; + int station = h->volume_id / 10; + if ( station>=1 && station<=4 ) result=PASS; + result = Form(" volume_id=%i ",h->volume_id) + result; + return result; + }); + check_stg_hit( "The chamber should decode as 1..4",hit,[=](const g2t_fts_hit_st* h) { + std::string result=FAIL; + int chamber = h->volume_id % 10; + if ( chamber>=1 && chamber<=4 ) result=PASS; + result = Form(" volume_id=%i ",h->volume_id) + result; + return result; + }); + } + + } + } + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_tdm_truth.C b/StRoot/StGeant4Maker/tests/unit_test_tdm_truth.C new file mode 100644 index 00000000000..19d6d5b8b4e --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_tdm_truth.C @@ -0,0 +1,309 @@ +#include "tests/unit_tests.h" +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ + +std::map idIsNotUnique; +int expectedId = 0; + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +struct Track_t { + double pt; + double phi; + double x0; + double y0; + double z0; +}; + +void unit_test_tdm_truth() { + + gROOT->ProcessLine("initChain();"); + + Accumulator_t edep; // Energy deposition + Accumulator_t time; // Time per throw + + auto* chain = StMaker::GetChain(); + auto* kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* pm = dynamic_cast( chain->GetMaker("PrimaryMaker") ); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks " << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + timer.Start(); + + + + std::vector input_tracks = { + { 1.0, 90.0, 0.0, 0.0, -90.0 }, + { 2.0, 90.0, 0.0, 0.0, -70.0 }, + { 3.0, 90.0, 0.0, 0.0, -50.0 }, + { 4.0, 90.0, 0.0, 0.0, -30.0 }, + { 5.0, 90.0, 0.0, 0.0, -10.0 }, + { 6.0, 90.0, 0.0, 0.0, 10.0 }, + { 7.0, 90.0, 0.0, 0.0, 30.0 }, + { 8.0, 90.0, 0.0, 0.0, 50.0 }, + { 9.0, 90.0, 0.0, 0.0, 70.0 }, + { 10., 90.0, 0.0, 0.0, 90.0 } + }; + + for ( auto t : input_tracks ) { + + pm->SetVertex( t.x0, t.y0, t.z0 ); + auto* part = kine->AddParticle("e+"); + + double px = t.pt * TMath::Cos( t.phi * TMath::Pi()/180.0 ); // required eta=0 for now + double py = t.pt * TMath::Sin( t.phi * TMath::Pi()/180.0 ); + double pz = 0.0; + + part->SetPx(px); + part->SetPy(py); + part->SetPz(pz); + + double mass = part->GetMass(); assert(mass>0); + double energy = TMath::Sqrt(px*px+py*py+mass*mass+pz*pz); + + part->SetEnergy( energy ); + + } + + chain->Clear(); + chain->Make(); + + timer.Stop(); + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + auto emc_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ); // EMC hits + auto tpc_table = dynamic_cast( chain->GetDataSet("g2t_tpc_hit") ); // TPC hits + + // TRACK VALIDATION + // for ( int idx=0;idxGetNRows();idx++ ) + for ( int idx=0;idx<10;idx++ ) { + + check_track( "A particle must have been processed by geant", [=](const g2t_track_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = Form("particle id = %i",t->eg_pid); + return result + PASS; + }, idx); + check_track( "The track has a unique ID", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_track( "The track IDs are in numerical order", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }, idx); + + + if ( idxeg_pid; + if ( pdgid == -11 ) result = PASS; + return result; + }, idx); + } + + if ( idxstart_vertex_p; + if ( idv>0 ) { + auto vertex = static_cast( vertex_table->At(idv-1) ); + auto x = vertex->ge_x[0]; + auto y = vertex->ge_x[1]; + auto r = TMath::Sqrt(x*x+y*y); + if ( r<0.01 ) result = PASS; + } + return result; + }, idx); + } + + if ( idxid; + if ( t->id==idx+1) result = PASS; + return result; + }, idx); + } + + if ( idxid; + if ( t->id==int(t->pt) ) result = PASS; + return result; + }, idx); + } + + if ( idxn_tpc_hit==int(76) ) result = PASS; + return result; + }, idx); + } + + if ( idxn_emc_hit ) result = PASS; + return result; + }, idx); + } + + check_track( "... does the track have a stop vertex?", [=](const g2t_track_st* t){ + return (t->stop_vertex_p>0)?YES:NOPE; + }, idx); + + + // check_track( "The track should have a stop vertex", [=](const g2t_track_st* t){ + // return (t->stop_vertex_p>0)?PASS:FAIL; + // }, idx); + // check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + // std::string result = FAIL; + // int istart = t->start_vertex_p; + // const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + // if ( vertex ) { + // result = PASS; + // std::cout << *vertex << std::endl; + // } + // return result; + // }, idx); + // check_track( "The stop vertex should be in the vertex table", [=](const g2t_track_st* t){ + // std::string result = FAIL; + // int istart = t->stop_vertex_p; + // const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + // if ( vertex ) { + // result = PASS; + // std::cout << *vertex << std::endl; + // } + // return result; + // }, idx); + // check_track( "The id of the START vertex is nonzero", [=](const g2t_track_st* t){ + // std::string result = FAIL; + // int istart = t->start_vertex_p; + // if ( istart > 0 ) result = PASS; + // return result; + // }, idx); + // check_track( "The START vertex records a valid medium", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istart = t->start_vertex_p; + // const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + // if ( vertex ) { + // if ( vertex->ge_medium>0 ) result = PASS; + // } + // return result; + + // }, idx); + // check_track( "The START vertex records a valid process", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istart = t->start_vertex_p; + // const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + // if ( vertex ) { + // // vertex_table->Print(istart-1,1); + // result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + // if ( vertex->ge_proc >= 0 && vertex->ge_proc < 44 && vertex->ge_proc!=kPStop ) result += PASS; + // else result += FAIL; + // } + // else + // result = Form("No start vertex on track") + result; + + // return result; + // }, idx); + // check_track( "The id of the START vertex is less than the id of the STOP vertex", [=](const g2t_track_st* t){ + // std::string result = FAIL; + // int istart = t->start_vertex_p; + // int istop = t->stop_vertex_p; + // if ( istart > 0 && istop > istart ) result = PASS; + // if ( istart == istop ) result = TODO; + // return Form("(start=%i stop=%i)",istart,istop) + result; + // }, idx); + // check_track( "The STOP vertex records a valid medium", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istop = t->stop_vertex_p; + // const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + // if ( vertex ) { + // if ( vertex->ge_medium>0 ) result = PASS; + // } + // return result; + + // }, idx); + // check_track( "The STOP vertex records a valid process", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istop = t->stop_vertex_p; + // const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + // if ( vertex ) { + // result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + // if ( vertex->ge_proc > 0 && vertex->ge_proc < 44 ) result += PASS; + // else result += FAIL; + // } + // else + // result = Form("No stop vertex on track") + result; + + // return result; + // }, idx); + // check_track( "The STOP vertex parent track is this track", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istop = t->stop_vertex_p; + // const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + // if ( vertex ) { + // int iparent = vertex->parent_p; + // result = Form(" track id=%i vertex parent id=%i", t->id, vertex->parent_p ); + // if ( vertex->parent_p == t->id ) result += PASS; + // else result += FAIL; + // } + // else + // result = Form("No stop vertex on track") + result; + + // return result; + // }, idx); + + + } + + // Print the track list + // track_table->Print(0, track_table->GetNRows()); + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_tpc_hits.C b/StRoot/StGeant4Maker/tests/unit_test_tpc_hits.C new file mode 100644 index 00000000000..4aa4a64975b --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_tpc_hits.C @@ -0,0 +1,427 @@ +#include "tests/unit_tests.h" +#include + +// TODO: Implement test of prompt-hits + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +#include + + + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +void throw_muon_in_tpc_sector( int sectorid, int charge = 1 ) { + assert(sectorid>0 && sectorid <= 24); + const double sectors[] = { + 60.0, 30.0, 0.0, 330.0, 300.0, 270., 240.0, 210.0, 180.0, 150.0, 120.0, 90.0, + 120.0, 150.0, 180.0, 210.0, 240.0, 270.0, 300.0, 330.0, 0.0, 30.0, 60.0, 90.0 + }; + double eta = (sectorid<=12) ? 0.5 : -0.5; + _eta = eta; + double phid = sectors[sectorid-1]; + _phid = phid; + throw_muon( eta, phid, 500.0, charge ); // energetic + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_tpc_hit") ) ; + + auto* gm = dynamic_cast( StMaker::GetChain()->GetMaker("geant4star") ); + // auto* stack = gm->stack(); + // stack->StackDump(); + + assert(vertex_table); + +} +//______________________________________________________________________ +void unit_test_tpc_hits( int longtest=0 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + // Setup post stepping debug output + auto* gm = dynamic_cast( StMaker::GetChain()->GetMaker("geant4star") ); + auto* stack = gm->stack(); + + if (0) + gm->AddUserPostSteppingAction( [stack]() { + auto* nav = gGeoManager->GetCurrentNavigator(); + auto* mc = TVirtualMC::GetMC(); + const double *xyz = nav->GetCurrentPoint(); + std::string path = nav->GetPath(); + LOG_INFO << "Post step _________________________________________________________________" << endm; + LOG_INFO << "step number = " << mc->StepNumber() << endm; + LOG_INFO << "n secondaries = " << mc->NSecondaries() << endm; + LOG_INFO << "track is alive = " << mc->IsTrackAlive() << endm; + mc->Print(); + LOG_INFO << "x=" << xyz[0] << " y= " << xyz[1] << " z=" << xyz[2] << " " << path.c_str() << endm; + int current = stack->GetCurrentTrackNumber(); + LOG_INFO << "Current track = " << current << endm; + LOG_INFO << "Persistent track @ " << stack->GetCurrentPersistentTrack() << endm; + stack->StackDump(current); + }); + + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and TPC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + Accumulator_t edep; // Energy deposition + Accumulator_t step; // Step size + Accumulator_t time; // Time per throw + + for ( int sector=1; sector<=24; sector++ ) { + + timer.Start(); + throw_muon_in_tpc_sector( sector ); + time( timer.CpuTime() ); + timer.Reset(); + + + LOG_TEST << "======================================================================================" << std::endl; + LOG_TEST << GIVEN << "A muon thrown down the center of TPC sector " << sector << std::endl; + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + std::string result = Form("sector=%i ", sector); + return result+PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the TPC", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* v = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( 0==v ) + result = PASS; + else { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 208.0 || xx2 > 208.0 ) + result = PASS; + result = Form(" r=%f ",TMath::Max(xx1,xx2)) + result; + } + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 76 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_tpc_hit; + std::string result = FAIL; + if ( n==76 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + + + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << GIVEN << "A hit on that track" << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + // check_tpc_hit( "Print the hit...", hit, [=](const g2t_tpc_hit_st* h) { + // LOG_TEST << "id=" << h->id + // << " track_p=" << h->track_p + // << " volume_id=" << h->volume_id + // << " x=" << h->x[0] + // << " y=" << h->x[1] + // << " z=" << h->x[2] + // << std::endl; + // return PASS; + // }); + check_tpc_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form("id=%i vid=%i de=%f ds=%f ",h->id,h->volume_id,h->de,h->ds) + result; + return result; + }); + check_tpc_hit( "The hit should have an energy deposit > 0",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = NADA; // undetermined + double ds = h->ds; + if ( ds > 1.0 && h->de > 0 ) result = PASS; + else if ( ds > 1.0 && h->de <=0 ) result = FAIL; + return result; + }); + check_tpc_hit( "The hit should have a path length > 0",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_tpc_hit( "The hit should have a nonzero momentum",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + check_tpc_hit( "The hit should have a nonzero log10(gamma)",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->lgam != 0 ) result = PASS; + result = Form(" lgam=%f (needs to be filled) ",h->lgam ) + result; + return result; + }); + check_tpc_hit( "The hit should have a length > 0",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->length > 0 ) result = PASS; + return result; + }); + check_tpc_hit( "The hit should have adc, pad and timebucket set to zero",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = PASS; + if ( h->adc > 0 ) result = FAIL; + if ( h->pad > 0 ) result = FAIL; + if ( h->timebucket > 0 ) result = FAIL; + return result; + }); + check_tpc_hit( "Track's momentum at hit should be < initial value",hit, [=](const g2t_tpc_hit_st* h){ + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + check_tpc_hit( "Hit position should be w/in the fiducial volume of the sector",hit,[=](const g2t_tpc_hit_st* h){ + double x = h->x[0]; + double y = h->x[1]; + double z = h->x[2]; + TVector3 hitpos( x, y, z ); + int rotator = (sector>12)? 12-sector : sector-12; + double rotatord = (double) rotator; + hitpos.RotateZ( rotatord * TMath::Pi() / 6.0 ); + bool isInSectorPhi = TMath::Abs(hitpos.Phi() - TMath::Pi()/2.0) < TMath::Pi()/12.0; + bool isInSectorR = TMath::Abs(hitpos.Perp() -124.0) < 76.0; + bool isInSector = isInSectorPhi && isInSectorR; + std::string result = Form("(%f %f %f / in phi=%i r=%i",x,y,z,isInSectorPhi,isInSectorR); + result += ( isInSector ) ? PASS : FAIL; + return result; + }); + check_tpc_hit( "The padrow should be 1 <= pad <= 72",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = PASS; + int padrow = h->volume_id % 100; + if ( padrow<1 || padrow > 72 ) result=FAIL; + return result; + }); + check_tpc_hit( "The sector should be 1 <= sector <= 24",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = PASS; + int sector = ( h->volume_id / 100 ) % 1000; + if ( sector<1 || sector>24 ) result=FAIL; + return result; + }); + check_tpc_hit( "The detector state is in (0,1,2)",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = PASS; + int det = h->volume_id/100000; + if ( det<0||det>2 ) result = FAIL; + return result; + }); + check_tpc_hit( Form("The decoded sector number should be %i",sector),hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + int _sector = ( h->volume_id / 100 ) % 1000; + if ( sector == _sector ) result = PASS; + result = Form(" sector=%i",_sector ) + result; + return result; + }); + } + + } + + std::cout << std::endl << std::endl; + + // Print out energy deposition + { + + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + // Print out time per track + { + + double _mean = boost::accumulators::mean(time); + double _median = boost::accumulators::median(time); + double _min = boost::accumulators::min(time); + double _max = boost::accumulators::max(time); + double _error_of_mean = boost::accumulators::error_of(time); + LOG_TEST << Form( "time / muon: mean = %f s", _mean ) << std::endl; + LOG_TEST << Form( "time / muon: median = %f s", _median ) << std::endl; + LOG_TEST << Form( "time / muon: min = %f s", _min ) << std::endl; + LOG_TEST << Form( "time / muon: max = %f s", _max ) << std::endl; + LOG_TEST << Form( "time / muon: error of mean = %f s", _error_of_mean ) << std::endl; + + } + + // Reset accumulators + edep = step = time = {}; + + if ( longtest > 0 ) { + + std::cout << "-/ running long test with N pi+/pi- =" << longtest << " /-" << std::endl; + + throw_particle( longtest, "pi+,pi-", 0.200, 20.0, -1.0, 1.0, 0.0, TMath::TwoPi() ); + + auto* chain = StMaker::GetChain(); + hit_table = dynamic_cast( chain->GetDataSet("g2t_tpc_hit") ) ; + + // Accumulate + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + // std::cout << *hit << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + } + + // Print out energy deposition + { + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + } + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C new file mode 100644 index 00000000000..275e8f5c0b3 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C @@ -0,0 +1,309 @@ +#include "tests/unit_tests.h" +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ + +std::map idIsNotUnique; +int expectedId = 0; + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +void unit_test_track_data_model() { + + gROOT->ProcessLine("initChain();"); + + Accumulator_t edep; // Energy deposition + Accumulator_t time; // Time per throw + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks " << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + timer.Start(); + + // // Generate 10 e+ + // for ( int i=0;i<9;i++ ) + // add_particle( "e+", 0.4251, 3.1415/4, 10.0 ); + throw_particle( "e+", 0.4251, 3.1415/4, 10.0 ); + + //throw_particle( "mu+", 0.4251, 3.1415/4, 10.0 ); + + timer.Stop(); + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ); + + // TRACK VALIDATION + for ( int idx=0;idxGetNRows();idx++ ) { + + check_track( "A particle must have been processed by geant", [=](const g2t_track_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = Form("particle id = %i",t->eg_pid); + return result + PASS; + }, idx); + check_track( "The track has a unique ID", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_track( "The track IDs are in numerical order", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }, idx); + check_track( "The track should have a stop vertex", [=](const g2t_track_st* t){ + return (t->stop_vertex_p>0)?PASS:FAIL; + }, idx); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + std::cout << *vertex << std::endl; + } + return result; + }, idx); + check_track( "The stop vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + std::cout << *vertex << std::endl; + } + return result; + }, idx); + check_track( "The id of the START vertex is nonzero", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + if ( istart > 0 ) result = PASS; + return result; + }, idx); + check_track( "The START vertex records a valid medium", [=](const g2t_track_st* t){ + auto result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_medium>0 ) result = PASS; + } + return result; + + }, idx); + check_track( "The START vertex records a valid process", [=](const g2t_track_st* t){ + auto result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + // vertex_table->Print(istart-1,1); + result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + if ( vertex->ge_proc >= 0 && vertex->ge_proc < 44 && vertex->ge_proc!=kPStop ) result += PASS; + else result += FAIL; + } + else + result = Form("No start vertex on track") + result; + + return result; + }, idx); + check_track( "The id of the START vertex is less than the id of the STOP vertex", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + int istop = t->stop_vertex_p; + if ( istart > 0 && istop > istart ) result = PASS; + if ( istart == istop ) result = TODO; + return Form("(start=%i stop=%i)",istart,istop) + result; + }, idx); + check_track( "The STOP vertex records a valid medium", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_medium>0 ) result = PASS; + } + return result; + + }, idx); + check_track( "The STOP vertex records a valid process", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + if ( vertex->ge_proc > 0 && vertex->ge_proc < 44 ) result += PASS; + else result += FAIL; + } + else + result = Form("No stop vertex on track") + result; + + return result; + }, idx); + check_track( "The STOP vertex parent track is this track", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + int iparent = vertex->parent_p; + result = Form(" track id=%i vertex parent id=%i", t->id, vertex->parent_p ); + if ( vertex->parent_p == t->id ) result += PASS; + else result += FAIL; + } + else + result = Form("No stop vertex on track") + result; + + return result; + }, idx); + + + } + + expectedId=0; + idIsNotUnique.clear(); + // VERTEX VALIDATION + for ( int idx=0;idxGetNRows();idx++ ) { + check_vertex( "A vertex must have been processed by geant", [=](const g2t_vertex_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = PASS; + return result; + }, idx); + check_vertex( "Is this vertex intermediate?", [=](const g2t_vertex_st* v){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + return (v->is_itrmd)? YES : NOPE; + }, idx); + check_vertex( "The vertex has a unique ID", [=](const g2t_vertex_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_vertex( "The vertex IDs are in numerical order", [=](const g2t_vertex_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + check_vertex( "Primary vertex has no parents, all others do", [=](const g2t_vertex_st* v){ + std::string result; + int np = v->n_parent; + if (v->id==1) { + result = Form("primary vertex: nparent=%i ",np); + result += (np==0) ? PASS : FAIL; + } + else { + result = Form("secondary vertex: nparent=%i ",np); + result += (np==1) ? PASS : FAIL; + } + return result; + }, idx); + check_vertex( "Vertex parent track stops on this vertex if not intermediate", [=](const g2t_vertex_st* v){ + std::string result; + int np = v->n_parent; + if (v->id==1) { + result = Form("primary vertex: nparent=%i ",np); + result += (np==0) ? PASS : FAIL; + } + else { + int itrack=v->parent_p; + const g2t_track_st* track = static_cast(track_table->At(itrack-1)); + int idvert=v->id; + int idstop= (track)? track->stop_vertex_p : -1; + int isint = v->is_itrmd; + if ( isint==0 ) + result += ( idvert==idstop )? PASS : FAIL; + else + result += PASS; + } + return result; + }, idx); + check_vertex( "Intermediate vertex must have daughter tracks", [=](const g2t_vertex_st* v){ + std::string result = NADA; + if ( v->is_itrmd ) { + result = Form("(n daughter=%i proc=%i %s) ", v->n_daughter, v->ge_proc, TMCProcessName[v->ge_proc] ); + if ( v->n_daughter>0 ) result += PASS; + else { + result += FAIL; + // std::cout << *v << std::endl; + } + } + return result; + }, idx); + + + } + + // Hit accumulation + for ( int idx=0;idxGetNRows();idx++ ) { + auto hit = static_cast( hit_table->At(idx) ); + if ( 0==hit ) continue; + edep( hit->de * 1000 ); + // std::cout << "hit dE=" << hit->de << " volume_id=" << hit->volume_id << std::endl; + std::cout << *hit << std::endl; + } + + // Print out energy deposition + { + + int _count = boost::accumulators::count(edep); + double _sum = boost::accumulators::sum(edep); + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "number of hits = %i", _count) << std::endl; + LOG_TEST << Form( "energy deposition: sum = %f MeV", _sum ) << std::endl; + LOG_TEST << Form( "energy deposition: mean = %f MeV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f MeV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f MeV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f MeV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f MeV", _error_of_mean ) << std::endl; + + } + + // Print the track list + track_table->Print(0, track_table->GetNRows()); + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_track_data_model_ntrack.C b/StRoot/StGeant4Maker/tests/unit_test_track_data_model_ntrack.C new file mode 100644 index 00000000000..2ac3d3aaa53 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_track_data_model_ntrack.C @@ -0,0 +1,361 @@ +#include "tests/unit_tests.h" +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ + +std::map idIsNotUnique; +int expectedId = 0; + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +void unit_test_track_data_model_ntrack() { + + gROOT->ProcessLine("initChain();"); + + Accumulator_t edep; // Energy deposition + Accumulator_t time; // Time per throw + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks " << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + timer.Start(); + + int _ntrack = 500; + double _pt = 10.0; + // for ( int i=1;i<_ntrack;i++ ) + // add_particle( "mu+", 0.4251, 3.1415/4*(1.0+0.8*double(i)), _pt ); + // throw_particle( "mu+", 0.4251, 3.1415/4, _pt ); + throw_particle( _ntrack, "mu+", 0.1, 10.0, -0.95, 0.95, 0.0, TMath::TwoPi() ); + timer.Stop(); + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ); + + // Track table validation + check_track_table( Form("The first %i tracks should be primary muons",_ntrack), [=](g2t_track_st* begin_, g2t_track_st* end_) { + std::string result = PASS; + g2t_track_st* track = begin_; + for ( int i=0;i<_ntrack;i++ ) { + if ( track->eg_pid != -13 ) result = FAIL; + track++; + } + return result; + }); + check_track_table( Form("The first %i tracks should have 0.1 < pT < 10.0 GeV",_ntrack), [=](g2t_track_st* begin_, g2t_track_st* end_) { + std::string result = PASS; + g2t_track_st* track = begin_; + for ( int i=0;i<_ntrack;i++ ) { + //if ( TMath::Abs(track->pt - _pt) > 0.001*_pt ) result = FAIL; + if ( track->pt<0.1 || track->pt>10.0 ) result = FAIL; + track++; + } + return result; + }); + check_track_table( "80% of primary tracks should have >= 70 TPC hits", [=](g2t_track_st* begin_, g2t_track_st* end_) { + std::string result = PASS; + g2t_track_st* track = begin_; + std::vector nh; + double fail=0; + for ( int i=0;i<_ntrack;i++ ) { + if ( track->n_tpc_hit<70 ) fail+=1; + track++; + } + fail /= _ntrack; + if ( fail > 0.80 ) result = Form("fail rate=%f%% ",fail*100.0) + FAIL; + return result; + }); + + check_track_table( "Primary tracks should have < 78 hits", [=](g2t_track_st* begin_, g2t_track_st* end_) { + std::string result = PASS; + g2t_track_st* track = begin_; + std::vector nh; + double fail=0; + std::string nf = ""; + for ( int i=0;i<_ntrack;i++ ) { + if ( track->n_tpc_hit>=78 ) { fail+=1; nf += Form("%i ",track->n_tpc_hit); } + track++; + } + fail /= _ntrack; + if ( fail > 0.00 ) result = Form("fail rate=%f%% %s",fail*100.0,nf.c_str()) + FAIL; + return result; + }); + + + // TRACK VALIDATION + if (0) for ( int idx=0;idxGetNRows();idx++ ) { + + check_track( "A particle must have been processed by geant", [=](const g2t_track_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = Form("particle id = %i",t->eg_pid); + return result + PASS; + }, idx); + check_track( "The track has a unique ID", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_track( "The track IDs are in numerical order", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }, idx); + check_track( "The track should have a stop vertex", [=](const g2t_track_st* t){ + return (t->stop_vertex_p>0)?PASS:FAIL; + }, idx); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + std::cout << *vertex << std::endl; + } + return result; + }, idx); + check_track( "The stop vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + std::cout << *vertex << std::endl; + } + return result; + }, idx); + check_track( "The id of the START vertex is nonzero", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + if ( istart > 0 ) result = PASS; + return result; + }, idx); + check_track( "The START vertex records a valid medium", [=](const g2t_track_st* t){ + auto result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_medium>0 ) result = PASS; + } + return result; + + }, idx); + check_track( "The START vertex records a valid process", [=](const g2t_track_st* t){ + auto result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + // vertex_table->Print(istart-1,1); + result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + if ( vertex->ge_proc >= 0 && vertex->ge_proc < 44 && vertex->ge_proc!=kPStop ) result += PASS; + else result += FAIL; + } + else + result = Form("No start vertex on track") + result; + + return result; + }, idx); + check_track( "The id of the START vertex is less than the id of the STOP vertex", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + int istop = t->stop_vertex_p; + if ( istart > 0 && istop > istart ) result = PASS; + if ( istart == istop ) result = TODO; + return Form("(start=%i stop=%i)",istart,istop) + result; + }, idx); + check_track( "The STOP vertex records a valid medium", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_medium>0 ) result = PASS; + } + return result; + + }, idx); + check_track( "The STOP vertex records a valid process", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + if ( vertex->ge_proc > 0 && vertex->ge_proc < 44 ) result += PASS; + else result += FAIL; + } + else + result = Form("No stop vertex on track") + result; + + return result; + }, idx); + check_track( "The STOP vertex parent track is this track", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + int iparent = vertex->parent_p; + result = Form(" track id=%i vertex parent id=%i", t->id, vertex->parent_p ); + if ( vertex->parent_p == t->id ) result += PASS; + else result += FAIL; + } + else + result = Form("No stop vertex on track") + result; + + return result; + }, idx); + + } + + expectedId=0; + idIsNotUnique.clear(); + // VERTEX VALIDATION + if (0) for ( int idx=0;idxGetNRows();idx++ ) { + check_vertex( "A vertex must have been processed by geant", [=](const g2t_vertex_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = PASS; + return result; + }, idx); + check_vertex( "Is this vertex intermediate?", [=](const g2t_vertex_st* v){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + return (v->is_itrmd)? YES : NOPE; + }, idx); + check_vertex( "The vertex has a unique ID", [=](const g2t_vertex_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_vertex( "The vertex IDs are in numerical order", [=](const g2t_vertex_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + check_vertex( "Primary vertex has no parents, all others do", [=](const g2t_vertex_st* v){ + std::string result; + int np = v->n_parent; + if (v->id==1) { + result = Form("primary vertex: nparent=%i ",np); + result += (np==0) ? PASS : FAIL; + } + else { + result = Form("secondary vertex: nparent=%i ",np); + result += (np==1) ? PASS : FAIL; + } + return result; + }, idx); + check_vertex( "Vertex parent track stops on this vertex if not intermediate", [=](const g2t_vertex_st* v){ + std::string result; + int np = v->n_parent; + if (v->id==1) { + result = Form("primary vertex: nparent=%i ",np); + result += (np==0) ? PASS : FAIL; + } + else { + int itrack=v->parent_p; + const g2t_track_st* track = static_cast(track_table->At(itrack-1)); + int idvert=v->id; + int idstop= (track)? track->stop_vertex_p : -1; + int isint = v->is_itrmd; + if ( isint==0 ) + result += ( idvert==idstop )? PASS : FAIL; + else + result += PASS; + } + return result; + }, idx); + check_vertex( "Intermediate vertex must have daughter tracks", [=](const g2t_vertex_st* v){ + std::string result = NADA; + if ( v->is_itrmd ) { + result = Form("(n daughter=%i proc=%i %s) ", v->n_daughter, v->ge_proc, TMCProcessName[v->ge_proc] ); + if ( v->n_daughter>0 ) result += PASS; + else { + result += FAIL; + // std::cout << *v << std::endl; + } + } + return result; + }, idx); + + + } + + // Hit accumulation + if (0) for ( int idx=0;idxGetNRows();idx++ ) { + auto hit = static_cast( hit_table->At(idx) ); + if ( 0==hit ) continue; + edep( hit->de * 1000 ); + // std::cout << "hit dE=" << hit->de << " volume_id=" << hit->volume_id << std::endl; + std::cout << *hit << std::endl; + } + + // Print out energy deposition + if (0) + { + + int _count = boost::accumulators::count(edep); + double _sum = boost::accumulators::sum(edep); + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "number of hits = %i", _count) << std::endl; + LOG_TEST << Form( "energy deposition: sum = %f MeV", _sum ) << std::endl; + LOG_TEST << Form( "energy deposition: mean = %f MeV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f MeV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f MeV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f MeV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f MeV", _error_of_mean ) << std::endl; + + } + + // Print the track list + if (0) + track_table->Print(0, _ntrack); + else if (0) + track_table->Print(0, track_table->GetNRows() ); + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_tests.h b/StRoot/StGeant4Maker/tests/unit_tests.h new file mode 100644 index 00000000000..daa4ff68d7c --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_tests.h @@ -0,0 +1,235 @@ +#ifndef __unit_tests__ +#define __unit_tests__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#define __COLOR__ +#ifdef __COLOR__ +const std::string FAIL = "\u001b[31m -failed- \u001b[0m"; +const std::string PASS = "\u001b[32m -passed- \u001b[0m"; +const std::string NOPE = "\u001b[33m - nope - \u001b[0m"; +const std::string YES = "\u001b[33m - yes - \u001b[0m"; +const std::string UNKN = "\u001b[33m -unknown- \u001b[0m"; +const std::string TODO = "\u001b[36m -todo- \u001b[0m"; +const std::string NADA = "\u001b[36m - N/A - \u001b[0m"; +const std::string GIVEN = "\u001b[34m - given - \u001b[0m"; +#else +const std::string FAIL = " -failed- "; +const std::string PASS = " -passed- "; +const std::string UNKN = " -unknown- "; +const std::string TODO = " -todo- "; +const std::string NADA = " - n/a - "; +#endif + +std::string __PREFIX__ = " \u001b[35m | \u001b[0m"; + +bool Conditional( std::string result ) { + bool value = true; + if ( result.find(FAIL) != std::string::npos ) { + value = false; + } + return value; +} + +using namespace std; +//___________________________________________________________________ +#define LOG_TEST std::cout << __PREFIX__ +//___________________________________________________________________ +TTable* hit_table = 0; +TTable* track_table = 0; +TTable* vertex_table = 0; +static TVector3 _vector3; +//___________________________________________________________________ +TStopwatch timer; +//___________________________________________________________________ +double _pmom = 0; +void throw_muon( double eta, double phid, double pT = 25.0, int q=1 ) { + // eta = pseudorapidity + // phid = azimuthal angle in degrees + double phi = TMath::Pi() * phid / 180.0; + TVector3 momentum; + momentum.SetPtEtaPhi(pT,eta,phi); + _pmom = momentum.Mag(); + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* particle = _kine->AddParticle( (q==1)?"mu+":"mu-" ); + particle->SetPx(momentum[0]); + particle->SetPy(momentum[1]); + particle->SetPz(momentum[2]); + double mass = particle->GetMass(); + double ener = sqrt( momentum.Mag2() + mass*mass ); + particle->SetEnergy(ener); + chain->Clear(); + chain->Make(); +} +void throw_particle( const char* part, double eta, double phid, double pT = 25.0, int q=1 ) { + // eta = pseudorapidity + // phid = azimuthal angle in degrees + double phi = TMath::Pi() * phid / 180.0; + TVector3 momentum; + momentum.SetPtEtaPhi(pT,eta,phi); + _pmom = momentum.Mag(); + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* particle = _kine->AddParticle( part ); + particle->SetPx(momentum[0]); + particle->SetPy(momentum[1]); + particle->SetPz(momentum[2]); + double mass = particle->GetMass(); + double ener = sqrt( momentum.Mag2() + mass*mass ); + particle->SetEnergy(ener); + chain->Clear(); + chain->Make(); +} +void throw_particle( int n, const char* part, double ptmn, double ptmx, double etamn, double etamx, double phimn, double phimx ) { + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + _kine->Kine( n, part, ptmn, ptmx, etamn, etamx, phimn, phimx ); + chain->Clear(); + chain->Make(); +} +void add_particle( const char* part, double eta, double phid, double pT = 25.0, int q=1 ) { + double phi = TMath::Pi() * phid / 180.0; + TVector3 momentum; + momentum.SetPtEtaPhi(pT,eta,phi); + _pmom = momentum.Mag(); + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* particle = _kine->AddParticle( part ); + particle->SetPx(momentum[0]); + particle->SetPy(momentum[1]); + particle->SetPz(momentum[2]); + double mass = particle->GetMass(); + double ener = sqrt( momentum.Mag2() + mass*mass ); + particle->SetEnergy(ener); +} +//___________________________________________________________________ +std::string check_track_table( std::string message, std::function f) { + g2t_track_st* first = static_cast( track_table->GetArray() ); + g2t_track_st* last = static_cast( track_table->GetArray() ) + track_table->GetNRows(); + std::string result = "\u001b[37m [" + message + "] " + (track_table? f(first,last):FAIL ); + LOG_TEST << result << std::endl; + return result; +} +//___________________________________________________________________ +std::string check_track( std::string message, std::function f, int idx=0) { + const g2t_track_st* track = static_cast( track_table->At(idx) ); + std::string result = "\u001b[37m [" + message + "] " + (track? f(track):FAIL ); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_vertex( std::string message, std::function f, int idx=0) { + const g2t_vertex_st* vertex = static_cast( vertex_table->At(idx) ); + std::string result = "\u001b[37m [" + message + "] " + (vertex? f(vertex):FAIL ); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_tpc_hit( std::string message, const g2t_tpc_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_stg_hit( std::string message, const g2t_fts_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_ctf_hit( std::string message, const g2t_ctf_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_mtd_hit( std::string message, const g2t_mtd_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_emc_hit( std::string message, const g2t_emc_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +std::string check_emc_hit( std::string message, std::function f, int idx=0) { + const g2t_emc_hit_st* hit = static_cast( hit_table->At(idx) ); + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_epd_hit( std::string message, const g2t_epd_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +std::string check_epd_hit( std::string message, std::function f, int idx=0) { + const g2t_epd_hit_st* hit = static_cast( hit_table->At(idx) ); + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; + +//___________________________________________________________________ +template +TH1F* gimmeTH1F( std::string name, std::string title, int nbin, double xmn, double xmx, + std::function filler ) { + TH1F* histo = new TH1F(name.c_str(), title.c_str(), nbin, xmn, xmx ); + for ( int i=0;iGetNRows();i++ ){ + const Hit* hit = static_cast( hit_table->At(i) ); + filler( hit, histo ); + } + return histo; +} +//___________________________________________________________________ +ostream& operator<<( ostream& os, const g2t_vertex_st& v ) { + os << Form("g2t_vertex id=%i ",v.id); + os << Form("volume=%s ",v.ge_volume); + os << Form("np=%i nd=%i itrmd=%i x=(%f, %f, %f)",v.n_parent,v.n_daughter,v.is_itrmd,v.ge_x[0],v.ge_x[1],v.ge_x[2]); + return os; +}; +//___________________________________________________________________ +ostream& operator<<( ostream& os, const g2t_tpc_hit_st& h ) { + os << Form("g2t_tpc_hit id=%i de=%f ds=%f",h.id,h.de,h.ds); + return os; +}; +//___________________________________________________________________ +ostream& operator<<( ostream& os, const g2t_emc_hit_st& h ) { + double r2 = h.x*h.x+h.y*h.y; + os << Form("g2t_emc_hit id=%i idtruth=%i volume=%i de=%f R=%f",h.id,h.track_p,h.volume_id,h.de,sqrt(r2)); + return os; +}; +//___________________________________________________________________ +// ostream& operator<<( ostream& os, const g2t_wca_hit_st& h ) { +// double r2 = h.x*h.x+h.y*h.y; +// os << Form("g2t_wca_hit id=%i idtruth=%i volume=%i de=%f R=%f",h.id,h.track_p,h.volume_id,h.de,sqrt(r2)); +// return os; +// }; +// //___________________________________________________________________ +// ostream& operator<<( ostream& os, const g2t_hca_hit_st& h ) { +// double r2 = h.x*h.x+h.y*h.y; +// os << Form("g2t_hca_hit id=%i idtruth=%i volume=%i de=%f R=%f",h.id,h.track_p,h.volume_id,h.de,sqrt(r2)); +// return os; +// }; +#endif diff --git a/StRoot/StarGenerator/BASE/StarPrimaryMaker.h b/StRoot/StarGenerator/BASE/StarPrimaryMaker.h index e673d2ca0fe..6dd35774e90 100644 --- a/StRoot/StarGenerator/BASE/StarPrimaryMaker.h +++ b/StRoot/StarGenerator/BASE/StarPrimaryMaker.h @@ -167,6 +167,8 @@ class StarPrimaryMaker : public StMaker /// Return a pointer to the event StarGenEvent *event() { return mPrimaryEvent; } + /// Return a pointer to the stack + StarParticleStack *stack(){ return mStack; } virtual const char *GetCVS() const {static const char cvs[]="Tag $Name: $ $Id: StarPrimaryMaker.h,v 1.8 2015/06/15 13:23:00 jwebb Exp $ built " __DATE__ " " __TIME__ ; return cvs;} diff --git a/StarVMC/StarAgmlLib/AgBlock.cxx b/StarVMC/StarAgmlLib/AgBlock.cxx index 5c96915bdef..9c1a39f1949 100644 --- a/StarVMC/StarAgmlLib/AgBlock.cxx +++ b/StarVMC/StarAgmlLib/AgBlock.cxx @@ -11,6 +11,7 @@ ClassImp(AgBlock); #include "StarAgmlStacker.h" #include "StMessMgr.h" +#include // Setup static members AgBlock *AgBlock::mCurrent=0; diff --git a/StarVMC/StarAgmlLib/AgMLExtension.cxx b/StarVMC/StarAgmlLib/AgMLExtension.cxx index de85e142434..0348addc83c 100644 --- a/StarVMC/StarAgmlLib/AgMLExtension.cxx +++ b/StarVMC/StarAgmlLib/AgMLExtension.cxx @@ -1,4 +1,5 @@ #include "AgMLExtension.h" +#include AgMLExtension::AgMLExtension() : TGeoRCExtension(), mModuleName("none"), @@ -9,9 +10,31 @@ AgMLExtension::AgMLExtension() : TGeoRCExtension(), mBranchings(0), mVolumeId( new AgMLVolumeId ), mHitScoring(), - mGstpar() + mGstpar(), + mEngine(-1) { Grab(); } + void AgMLExtension::AddCut( TString cut, double value ){ mGstpar[cut] = value; } + +void AgMLExtension::Print( Option_t* opts ) const { + +//static const char* en[] = { "default", "geant3", "geant4" }; + + LOG_INFO << mModuleName.Data() << ":" + << mFamilyName.Data() << ":" + << mVolumeName.Data() << " this=" + << this << " sens=" + << mSensitive << " tracking=" + << mTracking << " nbranch=" + << mBranchings << " nuser=" + // << mHitScoring.size() << " engine=" + // << (mEngine>=0 && mEngine < 2) ? en[mEngine] : "invalid!? " + << endm; + +} + +std::map AgMLExtension::mExtensionMap; + diff --git a/StarVMC/StarAgmlLib/AgMLExtension.h b/StarVMC/StarAgmlLib/AgMLExtension.h index e379749d116..34c81e47ec4 100644 --- a/StarVMC/StarAgmlLib/AgMLExtension.h +++ b/StarVMC/StarAgmlLib/AgMLExtension.h @@ -2,6 +2,8 @@ #define __AgmlExtension_h__ #include +#include + #include #include #include @@ -24,7 +26,7 @@ class AgMLExtension : public TGeoRCExtension { public: AgMLExtension(); - virtual ~AgMLExtension() { delete mVolumeId; mVolumeId = nullptr; } + virtual ~AgMLExtension(){ /* nada */ }; void SetModuleName( const char* name ){ mModuleName = name; } void SetFamilyName( const char* name ){ mFamilyName = name; } @@ -41,7 +43,7 @@ class AgMLExtension : public TGeoRCExtension { void SetBranchings( int b ) { mBranchings=b; } - void SetVolumeIdentifier( AgMLVolumeId* identifier ){ delete mVolumeId; mVolumeId = identifier; } + void SetVolumeIdentifier( AgMLVolumeId* identifier ){ mVolumeId = identifier; } void AddHitScoring( AgMLScoring* sc ){ mHitScoring.push_back( sc ); } @@ -49,7 +51,7 @@ class AgMLExtension : public TGeoRCExtension { TString GetFamilyName(){ return mFamilyName; } TString GetVolumeName(){ return mVolumeName; } - int GetVolumeId( int* numbv ){ return mVolumeId ? mVolumeId->id( numbv ) : 0; } + int GetVolumeId( int* numbv ){ return mVolumeId->id( numbv ); } bool GetSensitive() { return mSensitive; } short GetTracking() { return mTracking; } @@ -59,7 +61,20 @@ class AgMLExtension : public TGeoRCExtension { void AddCut( TString cut, double value ); std::map& GetCuts() { return mGstpar; } + + const static int Geant3 = 0; + const static int Geant4 = 1; + + int GetEngine(){ return mEngine; } + void SetEngine( int e ){ mEngine = e; } + void Print( Option_t* opts="" ) const; + + void extends( TGeoVolume* volume ){ mExtensionMap[volume->GetName()] = this; } + static AgMLExtension* get( TGeoVolume* volume ){ return mExtensionMap[volume->GetName()]; } + static AgMLExtension* get( TString volume ){ return mExtensionMap[volume]; } + + static const std::map< TString, AgMLExtension* >& GetMap() { return mExtensionMap; } private: protected: @@ -77,8 +92,15 @@ class AgMLExtension : public TGeoRCExtension { std::vector mHitScoring; // Vector of functors for hit scoring std::map mGstpar; // GSTPAR tracking cuts for this volume + int mEngine; + + static std::map< TString, AgMLExtension* > mExtensionMap; + ClassDef(AgMLExtension,0); }; +// Global map to agml extensions + + #endif diff --git a/StarVMC/StarAgmlLib/AgMLStructure.h b/StarVMC/StarAgmlLib/AgMLStructure.h index ee7e0ad745b..84498ec8c61 100644 --- a/StarVMC/StarAgmlLib/AgMLStructure.h +++ b/StarVMC/StarAgmlLib/AgMLStructure.h @@ -222,7 +222,7 @@ class AgMLStructure : public AgMLStructureBase AgMLStructure( const char *_name ) : AgMLStructureBase(), name(_name) { }; ~AgMLStructure() { for ( auto t : table ) { // cleanup the table - delete (t); + if (t) delete (t); } }; diff --git a/StarVMC/StarAgmlLib/AgModule.cxx b/StarVMC/StarAgmlLib/AgModule.cxx index 29465ba7618..c0ef30f5ffb 100644 --- a/StarVMC/StarAgmlLib/AgModule.cxx +++ b/StarVMC/StarAgmlLib/AgModule.cxx @@ -4,6 +4,11 @@ #include "TObjectSet.h" #include "TGenericTable.h" +#include "TGeoManager.h" +#include "TGeoVolume.h" +#include "AgMLExtension.h" +#include "StMessMgr.h" + ClassImp(AgModule); TDataSet *AgModule::mGeomSet = 0; @@ -86,7 +91,21 @@ AgModule::~AgModule() { _module = NULL; } - +//______________________________________________________________________________________________ +void AgModule::AddHitScoring( TString name, AgMLScoring* sc ) { + TString key (name(0,4)); + // LOG_INFO << "Add hit scoring " << key.Data() << endm; + mHitScoring[name] = sc; + auto* volume = gGeoManager->FindVolumeFast(key); + if (0==volume) { + LOG_WARN << "Volume " << key.Data() << " has not been created yet, no user hits defined " << name.Data() << endm; + } + else { + auto* ext = AgMLExtension::get( volume ); + ext->AddHitScoring(sc); + } +} +//______________________________________________________________________________________________ diff --git a/StarVMC/StarAgmlLib/AgModule.h b/StarVMC/StarAgmlLib/AgModule.h index c69e5a3d61d..480c965b2f7 100644 --- a/StarVMC/StarAgmlLib/AgModule.h +++ b/StarVMC/StarAgmlLib/AgModule.h @@ -5,7 +5,7 @@ #include "Mortran.h" #include "AgDetp.h" #include -#include "StarVMC/StarAgmlLib/AgMLExtension.h" +#include using namespace std; class TDataSet; diff --git a/StarVMC/StarAgmlLib/AgPlacement.h b/StarVMC/StarAgmlLib/AgPlacement.h index be0734207d7..21b673ed2ab 100644 --- a/StarVMC/StarAgmlLib/AgPlacement.h +++ b/StarVMC/StarAgmlLib/AgPlacement.h @@ -74,8 +74,11 @@ class AgPlacement : public TNamed, public AgParameterList enum { kUnknown, kRot3, kRot6, kRotO }; enum { kAlphaX, kAlphaY, kAlphaZ }; + //#ifndef __CINT__ Translation mTranslation; +#if !defined(__CLING__) std::vector< Rotation > mRotation; +#endif std::vector< int > mType; double mRotationMatrix[9]; diff --git a/StarVMC/StarAgmlLib/StarTGeoStacker.cxx b/StarVMC/StarAgmlLib/StarTGeoStacker.cxx index f5f7cf71f55..895d64804d3 100644 --- a/StarVMC/StarAgmlLib/StarTGeoStacker.cxx +++ b/StarVMC/StarAgmlLib/StarTGeoStacker.cxx @@ -638,15 +638,10 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) // AgML extented volume information AgMLExtension* agmlExt = gAgMLExt[ block->GetName() ]; - if ( !agmlExt ) { + if ( 0==agmlExt ) { // Create new agml extension gAgMLExt[ block->GetName() ] = agmlExt = new AgMLExtension(); - // Add user hits to the extension - for ( auto kv : module->GetHitScoring() ) { - TString key = kv.first; - AgMLScoring* scoring = kv.second; - agmlExt -> AddHitScoring( scoring ); - } + // NOTE: user hits have not been defined at this point, add to extension at point of definition } agmlExt->SetVolumeName( nn ); agmlExt->SetFamilyName( block->GetName() ); @@ -658,8 +653,7 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) agmlExt->AddCut( kv.first, kv.second ); } - volume->SetUserExtension( agmlExt ); - + agmlExt->extends(volume); if ( mDebugOptions[block_name].Contains("shape") ) { @@ -732,7 +726,7 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) // AgML extented volume information AgMLExtension* agmlExt = gAgMLExt[ block->GetName() ]; - if ( !agmlExt ) { + if ( 0==agmlExt ) { // Create new agml extension gAgMLExt[ block->GetName() ] = agmlExt = new AgMLExtension(); // Add user hits to the extension @@ -752,7 +746,7 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) agmlExt->AddCut( kv.first, kv.second ); } - volume->SetUserExtension( agmlExt ); + agmlExt->extends(volume); } @@ -870,9 +864,8 @@ Bool_t sanityCheck( TGeoVolume *volume ) result = true; } else { - - TGeoShape *shape = volume->GetShape(); - if ( 0==shape ) { + TGeoShape *shape = volume->GetShape(); + if ( 0==shape ) { result = false; } else { @@ -882,11 +875,9 @@ Bool_t sanityCheck( TGeoVolume *volume ) else { result = false; } + } - } - if ( result == false ) { - LOG_WARN << "Invalid shape for volume " << volume->GetName() << endm; } return result; diff --git a/mgr/Conscript-standard b/mgr/Conscript-standard index db1f9b9204b..62ea10a8fd8 100644 --- a/mgr/Conscript-standard +++ b/mgr/Conscript-standard @@ -720,6 +720,22 @@ if ( $pkg !~ /^sim$/ && $pkg !~ /^gen$/ ) { print "CPPPATH = $CPPPATH\n" if $param::debug; + } elsif ( $pkg =~ m/StGeant4Maker$/ ) { + + # Add G4 to include path + my $g4prefix = `geant4-config --prefix`; + chomp($g4prefix); + $CPPPATH .= $main::PATH_SEPARATOR . $g4prefix . "/include/Geant4/"; + + # Add G4 vmc to include path (presumes that spack has added this to ROOT_INCLUDE_PATH ...) + my @paths = split ":", $ENV{ROOT_INCLUDE_PATH}; + foreach my $p (@paths) { + if ($p =~ /geant4-vmc/) { + print $p, "\n"; + $CPPPATH .= $main::PATH_SEPARATOR . $p . "/geant4vmc"; + } + } + # This block can be used for ANY Maker or Pool having a 2 level # directory structure using auto-globbing for include purposes } elsif ( $pkg =~ m/^StAssociationMaker$/ || From 4ef0d92f8311257905d768ac576d242637d92217 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 8 Nov 2023 10:53:33 -0500 Subject: [PATCH 02/70] [geant4star] Load packages required for G4* for 64bit builds. --- mgr/config/v0.3.0-rhel7-root6.24.06.config | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mgr/config/v0.3.0-rhel7-root6.24.06.config b/mgr/config/v0.3.0-rhel7-root6.24.06.config index 80efe1ef9cb..e65c3ed2ad3 100644 --- a/mgr/config/v0.3.0-rhel7-root6.24.06.config +++ b/mgr/config/v0.3.0-rhel7-root6.24.06.config @@ -14,3 +14,9 @@ else endif module load star-env-0.3.0-root-6.24.06 + +if ( $USE_64BITS == 1 ) then + module load geant4-10.4.0 + module load geant4-data-10.4.0 + module load geant4-vmc-4-0-p3-root-6.24.06 +endif From 78ea6c0ff3a1d3581e2c111e2ae8b4c1183a72d4 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Thu, 9 Nov 2023 10:18:58 -0500 Subject: [PATCH 03/70] ... and the CLHEP package required by G4 as well ... --- mgr/config/v0.3.0-rhel7-root6.24.06.config | 1 + 1 file changed, 1 insertion(+) diff --git a/mgr/config/v0.3.0-rhel7-root6.24.06.config b/mgr/config/v0.3.0-rhel7-root6.24.06.config index e65c3ed2ad3..4897050b2d5 100644 --- a/mgr/config/v0.3.0-rhel7-root6.24.06.config +++ b/mgr/config/v0.3.0-rhel7-root6.24.06.config @@ -19,4 +19,5 @@ if ( $USE_64BITS == 1 ) then module load geant4-10.4.0 module load geant4-data-10.4.0 module load geant4-vmc-4-0-p3-root-6.24.06 + module load clhep-2.4.5.1 endif From e4a4ba768a8c9d0b7e51586b053a0a4c373d1a3d Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 20 Feb 2024 16:12:36 -0500 Subject: [PATCH 04/70] Fix duplicate. --- StarVMC/StarAgmlLib/AgModule.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StarVMC/StarAgmlLib/AgModule.cxx b/StarVMC/StarAgmlLib/AgModule.cxx index c0ef30f5ffb..f5678b1207c 100644 --- a/StarVMC/StarAgmlLib/AgModule.cxx +++ b/StarVMC/StarAgmlLib/AgModule.cxx @@ -30,7 +30,7 @@ TDataSet *AgModule::Geom() else return mGeomSet; }; -void AgModule::AddHitScoring( TString name, AgMLScoring* sc ){ mHitScoring[name] = sc; } +//void AgModule::AddHitScoring( TString name, AgMLScoring* sc ){ mHitScoring[name] = sc; } // --------------------------------------------------------------------------------------------- AgBlock *AgModule::AddBlock( const Char_t *name, AgBlock *_block ) From 6dca37a3707070fdcf10483c5a68688d0027f6ab Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 20 Feb 2024 16:14:46 -0500 Subject: [PATCH 05/70] Restore gcomad for agstar dummy routines --- StRoot/StGeant4Maker/AgStarDummy.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StRoot/StGeant4Maker/AgStarDummy.cxx b/StRoot/StGeant4Maker/AgStarDummy.cxx index d76514d2d0c..9876a002f89 100644 --- a/StRoot/StGeant4Maker/AgStarDummy.cxx +++ b/StRoot/StGeant4Maker/AgStarDummy.cxx @@ -6,5 +6,5 @@ extern "C" { void type_of_call agskine_( float *plab, int *ip, int *nv, float *ubuf, int *nb, int *nt ) { } void type_of_call gsvert_( float *, int &, int &, float *, int &, int &){ } void type_of_call gskine_( float *, int &, int &, float *, int &, int &){ } - // void type_of_call gcomad_(DEFCHARD, int*& DEFCHARL){ } + void type_of_call gcomad_(DEFCHARD, int*& DEFCHARL){ } }; From 5c2582158beeb22bf2a055862905dcae99971d47 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 20 Feb 2024 16:16:14 -0500 Subject: [PATCH 06/70] Extern causes issues at runtime --- StRoot/StGeant4Maker/macros/initStar.C | 1 + 1 file changed, 1 insertion(+) diff --git a/StRoot/StGeant4Maker/macros/initStar.C b/StRoot/StGeant4Maker/macros/initStar.C index 059f4415d7f..45e5377df37 100644 --- a/StRoot/StGeant4Maker/macros/initStar.C +++ b/StRoot/StGeant4Maker/macros/initStar.C @@ -41,3 +41,4 @@ void initStar() { Load("StBFChain.so"); }; + From b5a7f9943142fb48c7ccd9db9848e9b8354c9c5c Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 21 Feb 2024 00:42:01 -0500 Subject: [PATCH 07/70] Duplicate load removed. --- StRoot/StGeant4Maker/macros/geant4star.C | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/StRoot/StGeant4Maker/macros/geant4star.C b/StRoot/StGeant4Maker/macros/geant4star.C index 0ab6508f35e..db1ef79146b 100644 --- a/StRoot/StGeant4Maker/macros/geant4star.C +++ b/StRoot/StGeant4Maker/macros/geant4star.C @@ -5,9 +5,9 @@ StBFChain* chain = 0; #include #include -extern "C" { - void Load( const char* lib ); -} +//extern "C" { +// void Load( const char* lib ); +//} // Random number generator seed int __rngSeed = 12345; From 6c1e9dc4c9b5cc15981967c771a9921f7ead8981 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 21 Feb 2024 09:11:49 -0500 Subject: [PATCH 08/70] Make multi-engine simulation the default. Comment out the "NAME:engine" option (which was meant as documentation). --- StRoot/StGeant4Maker/StGeant4Maker.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/StRoot/StGeant4Maker/StGeant4Maker.cxx b/StRoot/StGeant4Maker/StGeant4Maker.cxx index bad2c25de6f..93c8e9c82e2 100644 --- a/StRoot/StGeant4Maker/StGeant4Maker.cxx +++ b/StRoot/StGeant4Maker/StGeant4Maker.cxx @@ -546,10 +546,10 @@ StGeant4Maker::StGeant4Maker( const char* nm ) : AddOption("SYNC", 1, "Synchrotron radiation"); // Application defaults to single engine mode with Geant4 - AddOption("application:engine","G4","Application mode: G3=GEANT3, G4=Geant4, multi=mixed G3/G4 mode with defaults below"); + AddOption("application:engine","multi","Application mode: G3=GEANT3, G4=Geant4, multi=mixed G3/G4 mode with defaults below"); AddOption("all:engine", "G3", "In multi-engine mode, selects the default engine for all subsystems" ); // default engine in multi-engine mode is G3 - AddOption("NAME:engine", "XX", "Specifies the physics engine (XX=G3 or XX=G4) for all volumes defined in NAMEGeo"); + //AddOption("NAME:engine", "XX", "Specifies the physics engine (XX=G3 or XX=G4) for all volumes defined in NAMEGeo"); AddOption("wcal:engine", "G4", "Default engine for all volumes defined in WcalGeo" ); // Forward EMC defaults to G4 AddOption("hcal:engine", "G4", "Default engine for all volumes defined in HcalGeo" ); // Forward hcal defaults to G4 From 40e83402fc6e76be941b3bc1b44777c057193d8c Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 12 Mar 2024 13:57:25 -0400 Subject: [PATCH 09/70] Handle ROOT version dependence for VMC library. --- StRoot/StBFChain/BigFullChain.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index a498a925c84..5b77830226c 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -25,6 +25,14 @@ ________________________________________________________________________________ */ #endif +#include + +#if ROOT_VERSION_CODE>=ROOT_VERSION(6,24,0) +#define libVMC "libVMCLibrary.so" +#else +#define libVMC "libVMC.so" +#endif + #define STAR_CHAIN_OBSOLETE "WARNING *** Option is OBSOLETE ***" //#define __NoStrangeMuDst__ @@ -1212,7 +1220,7 @@ Bfc_st BFC[] = { // standard chains {"StarMiniCern","" ,"","geant3","" ,"","STAR addition to minicern OBSOLETE",kFALSE}, {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom,libVMC,libgeant3", "VMC geant3",kFALSE}, + {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom," libVMC ",libgeant321.so", "VMC geant3",kFALSE}, {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, {"StarMagField","", "","magF" ,"","VMC,StarMagField","Load StarMagField",kFALSE}, @@ -1275,7 +1283,7 @@ Bfc_st BFC[] = { // standard chains {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T"/*+++*/, "", "libVMC.so,libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, + {"stargen", "","", "gen_T,sim_T"/*+++*/, "", libVMC ",libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, @@ -1294,8 +1302,8 @@ Bfc_st BFC[] = { // standard chains {"g4geant3", "", "", "", "", "libG3toG4.so", "Load g3 to g4 support", false }, {"geant4", "", "", "g4physics,g4interfaces","","","Load G4 libs", false}, - {"geant4vmc", "","", "geant4", "", "libVMC.so,libgeant4vmc.so", "Load G4 VMC libs", false}, - {"geant4mk", "","", "stargen,geant4vmc", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, + {"geant4vmc", "","", "geant4", "", libVMC ",libgeant4vmc.so", "Load G4 VMC libs", false}, + {"geant4mk", "","", "stargen,geant4vmc,geant3vmc", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, From f164cd2d4e4e2eb5cfab0d85632b83e0144c94d3 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 12 Mar 2024 14:21:09 -0400 Subject: [PATCH 10/70] Add VMC include path if separate from ROOT. --- mgr/Conscript-standard | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/mgr/Conscript-standard b/mgr/Conscript-standard index 62ea10a8fd8..351a42afb33 100644 --- a/mgr/Conscript-standard +++ b/mgr/Conscript-standard @@ -120,6 +120,8 @@ print "idlL = @idlL\n" if $param::debug; my (@src, @h_files, @idlM); my $CPPPATH = $env1->{CPPPATH}; +$CPPPATH .= helpers::vmcPath(); + if ($pkg eq "RTS") { if ($STAR_SYS =~ /^x86_darwin/) {} else { @@ -728,9 +730,10 @@ if ( $pkg !~ /^sim$/ && $pkg !~ /^gen$/ ) { $CPPPATH .= $main::PATH_SEPARATOR . $g4prefix . "/include/Geant4/"; # Add G4 vmc to include path (presumes that spack has added this to ROOT_INCLUDE_PATH ...) + # Add vmc package to include path (ditto) my @paths = split ":", $ENV{ROOT_INCLUDE_PATH}; foreach my $p (@paths) { - if ($p =~ /geant4-vmc/) { + if ($p =~ /geant4-vmc/ ) { print $p, "\n"; $CPPPATH .= $main::PATH_SEPARATOR . $p . "/geant4vmc"; } @@ -1472,6 +1475,19 @@ if ( $#src > -1 ) { } } #_________________________________________________________________________________ +sub helpers::vmcPath { + # If VMC is supplied separtely from root + my @paths = split ":", $ENV{ROOT_INCLUDE_PATH}; + my $result = ""; + foreach my $p (@paths) { + if ($p =~ /\/vmc-/ ) { + print $p, "\n"; + $result .= $main::PATH_SEPARATOR . $p . "/vmc"; + } + } + return $result; +} +#_________________________________________________________________________________ sub script::MakeMoc { my $envQt = shift; my $pkg = shift; From 80f70bb4c615801bff8f9f378f06bbc9a76b84dc Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 12 Mar 2024 14:34:18 -0400 Subject: [PATCH 11/70] Load VMC, G3/G4 VMC and concrete libraries for 64bit builds. --- mgr/config/v0.3.0-rhel7-root6.24.06.config | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mgr/config/v0.3.0-rhel7-root6.24.06.config b/mgr/config/v0.3.0-rhel7-root6.24.06.config index 4897050b2d5..ad720672530 100644 --- a/mgr/config/v0.3.0-rhel7-root6.24.06.config +++ b/mgr/config/v0.3.0-rhel7-root6.24.06.config @@ -16,8 +16,9 @@ endif module load star-env-0.3.0-root-6.24.06 if ( $USE_64BITS == 1 ) then - module load geant4-10.4.0 - module load geant4-data-10.4.0 - module load geant4-vmc-4-0-p3-root-6.24.06 + module load geant4-10.5.1 + module load geant4-data-10.5.1 + module load geant4-vmc-5-0-p5-root-6.24.06 + module load geant3-3-9-p1-root-6.24.06 module load clhep-2.4.5.1 endif From ca409ab46a4b03e3a4dca4bc968a7d9ebcc56aa3 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:21:28 -0400 Subject: [PATCH 12/70] Invoke local copy for sensitive volume materials. --- StarVMC/Geometry/StgmGeo/StgmGeo1.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/StarVMC/Geometry/StgmGeo/StgmGeo1.xml b/StarVMC/Geometry/StgmGeo/StgmGeo1.xml index decc23be73b..8b95063ed70 100644 --- a/StarVMC/Geometry/StgmGeo/StgmGeo1.xml +++ b/StarVMC/Geometry/StgmGeo/StgmGeo1.xml @@ -452,7 +452,8 @@ - + + @@ -476,7 +477,8 @@ - + + @@ -499,7 +501,8 @@ - + + From 6597aec0b5d2ed5286c4b642d7e2410bb4615ab1 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:23:32 -0400 Subject: [PATCH 13/70] Different set of sensitive volumes in sTGC geometry. --- StRoot/StGeant4Maker/StGeant4Maker.cxx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/StRoot/StGeant4Maker/StGeant4Maker.cxx b/StRoot/StGeant4Maker/StGeant4Maker.cxx index 93c8e9c82e2..c218b038939 100644 --- a/StRoot/StGeant4Maker/StGeant4Maker.cxx +++ b/StRoot/StGeant4Maker/StGeant4Maker.cxx @@ -918,6 +918,7 @@ void StarVMCApplication::ConstructSensitiveDetectors() { TGeoVolume* volume = (TGeoVolume *)volumes->At(i); AgMLExtension* ae = getExtension(volume); + if ( 0==ae ) { LOG_INFO << "No agml extension on volume = " << volume->GetName() << endm; continue; // shouldn't happen @@ -931,7 +932,7 @@ void StarVMCApplication::ConstructSensitiveDetectors() { ae->SetEngine( engineFromModule( mname.Data() ) ); if ( 0==ae->GetSensitive() ) { - LOG_DEBUG << "Not sensitive = " << volume->GetName() << endm; + LOG_INFO << "Not sensitive = " << volume->GetName() << endm; continue; } @@ -1165,7 +1166,7 @@ void StGeant4Maker::FinishEvent(){ AddHits( "EPDH", {"EPDT"}, "g2t_epd_hit", sd2table_epd ); AddHits( "FSTH", {"FTUS"}, "g2t_fsi_hit", sd2table_fst ); - AddHits( "STGH", {"TGCG"}, "g2t_stg_hit", sd2table_stgc ); + AddHits( "STGH", {"STGP","STGL","STGS"}, "g2t_stg_hit", sd2table_stgc ); AddHits( "PREH", {"PSCI"}, "g2t_pre_hit", sd2table_emc ); AddHits( "WCAH", {"WSCI"}, "g2t_wca_hit", sd2table_emc ); AddHits( "HCAH", {"HSCI"}, "g2t_hca_hit", sd2table_hca ); // HCA should have its own copier @@ -1297,6 +1298,8 @@ int StGeant4Maker::regionTransition( int curr, int prev ) { void StarVMCApplication::Stepping(){ _g4maker -> Stepping(); } void StGeant4Maker::Stepping(){ + LOG_INFO << ".............................................................................. stepping" << endm; + // At start of user stepping, try to transfer the track between engine auto* mgr = TMCManager::Instance(); auto* mc = TVirtualMC::GetMC(); @@ -1363,6 +1366,11 @@ void StGeant4Maker::Stepping(){ }; + if ( IAttr("Stepping:verbose") > 0 ) { + // truth->Print(); + current->Print(); + } + // Check if option to stop punchout tracks is enabled if ( IAttr("Stepping:Punchout:Stop") && 1==transit && !trackingRegion() ) { @@ -1393,6 +1401,8 @@ void StGeant4Maker::Stepping(){ mc->StopTrack(); stopped = true; + + if ( IAttr("Stepping:verbose") > 0 ) { std::cout << "Track is stopped" << std::endl; } } @@ -1452,7 +1462,7 @@ void StGeant4Maker::Stepping(){ } - if ( stopped ) { + if ( stopped || IAttr("Stepping:verbose") ) { LOG_DEBUG << Form("track stopped x=%f y=%f z=%f ds=%f transit=%d %d stopped=%s %s", vx,vy,vz,mc->TrackStep(), mCurrentTrackingRegion, mPreviousTrackingRegion, (stopped)?"T":"F", mc->CurrentVolPath() ) << endm; } From 23627ac71cde3f12be2493bc45b95bb03898310d Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:34:21 -0400 Subject: [PATCH 14/70] Think we really want muons here... --- StRoot/StBFChain/doc/StBFChain.cxx_doc | 5422 ----------------- StRoot/StBFChain/doc/index.html | 2229 ------- .../tests/unit_test_track_data_model.C | 57 +- 3 files changed, 38 insertions(+), 7670 deletions(-) delete mode 100644 StRoot/StBFChain/doc/StBFChain.cxx_doc delete mode 100644 StRoot/StBFChain/doc/index.html diff --git a/StRoot/StBFChain/doc/StBFChain.cxx_doc b/StRoot/StBFChain/doc/StBFChain.cxx_doc deleted file mode 100644 index f11db03cf02..00000000000 --- a/StRoot/StBFChain/doc/StBFChain.cxx_doc +++ /dev/null @@ -1,5422 +0,0 @@ -// @(#)StRoot/StBFChain:$Name: $:$Id: StBFChain.cxx,v 1.670 2021/03/21 03:32:28 genevb Exp $ - -#include "TROOT.h" -#include "TPRegexp.h" -#include "TString.h" -#include "TObjString.h" -#include "TSystem.h" -#include "TInterpreter.h" -#include "TClassTable.h" -#include "StMemStat.h" -#include "StBFChain.h" -#include "StBFChainOpt.h" -#include "St_db_Maker/St_db_Maker.h" -#include "StTreeMaker/StTreeMaker.h" -#include "StIOMaker/StIOMaker.h" -#include "StMessMgr.h" -#include "StShadowMaker/StShadowMaker.h" -#include "StEnumerations.h" -#include "TTree.h" -#include "TEnv.h" -#define STAR_LOGGER 1 -// PLease, preserve the comment after = { . It is used for documentation formatting -// -#if 0 -// Keep to be compatible with old documentaion -#define STR_OBSOLETE "WARNING *** Option is OBSOLETE ***" - -Bfc_st BFC[] = { - {"Key" ,"Name" ,"Chain" ,"Opts" ,"Maker","Libs","Comment",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"TIME STAMPS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"RY2008","","","db,detDb,NosvtIT,NossdIT" ,"","","y2008 for dAu run",kFALSE}, - {"RY2009","","","db,detDb,NosvtIT,NossdIT" ,"","","y2009 for p+p run",kFALSE}, - {"ForceGeometry","","","","","", "Force geometry to overwrite the geometry coming from fz-file", kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Valid Db ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"NoDb" ,"" ,"","-db,-tpcDb,-magF" ,"","","Take out Db from Chain",kFALSE}, - {"DbV" ,"" ,"","db,ry1h" ,"","","19940614/0 Db Version for none",kFALSE}, - {"DbV0614" ,"" ,"","db,ry1h" ,"","","20000614/0 Db Version for p00hd",kFALSE}, - {"DbV0624" ,"" ,"","db,ry1h" ,"","","20000624/0 Db Version for p00hd_1",kFALSE}, - {"DbV0713" ,"" ,"","db,ry1h" ,"","","20000713/0 Db Version for p00he",kFALSE}, - {"DbV0727" ,"" ,"","db,ry1h" ,"","","20000727/0 Db Version for p00he",kFALSE}, - {"DbV0819" ,"" ,"","db,ry1h" ,"","","20000819/0 Db Version for p00hg",kFALSE}, - {"DbV1123" ,"" ,"","db,ry1h" ,"","","20001123/0 Db wo TpcDriftVel. from StTpcT0Maker",kFALSE}, - {"DbV0523" ,"" ,"","db,ry1h" ,"","", "20010523/0 Db Version for p01he",kFALSE}, - {"DbV1007" ,"" ,"","db,ry1h" ,"","", "20011007/0 Db Version for p01hi",kFALSE}, - {"DbV1107" ,"" ,"","db,ry1h" ,"","", "20011107/0 Db Version for pass1 p01gk",kFALSE}, - {"DbV1211" ,"" ,"","db,ry1h" ,"","", "20011211/0 Db Version for prod p01gl",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Geometry ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ideal", "", "","", "", "", "Ideal Alignment", kFALSE}, - {"misalign", "", "","", "","-AgMLideal", "Misaligned Geometry", kFALSE}, - {"AgMLutil", "", "","", "","StarAgmlUtil", "AgML support", kFALSE}, - {"AgMLlib", "", "","", "","StarAgmlUtil,StarAgmlLib", "AgML support", kFALSE}, - {"AgML" ,"" ,"","AgMLlib,-Agi,-VmcGeo","","Geometry,StarGeometry" - , "Alias VmcGeometry to AgiLGeometry",kFALSE}, - {"Agi" ,"" ,"","-VmcGeo","","" ,"Alias VmcGeometry to AgiGeometry (gstar original geometry)",kFALSE}, - {"VmcGeo" ,"" ,"","-AgML,-Agi" ,"","" ,"Alias VmcGeometry to VmcGeo",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Trigger Type","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Physics" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"LaserTest" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PulserSvt" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"alltrigger" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"phys_off" ,"","","" ,"","","Turn off physics in simulation",kFALSE}, - {"hadr_off" ,"","","" ,"","","Turn off hadronic interactions in simulation",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"C H A I N S ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Calibration chains","------------","-----------","-----------------------------------","","","",kFALSE}, - {"LanaDV", "","","LanaDVtpx","","" ,"get LDV",kFALSE}, - {"LanaDVtpx","","","MakeEvent,trgd,in,tpx,TpcHitMover,LaserIT,VFMinuit,Lana,Analysis,Corr4,NosvtIT,NossdIT", - "","" ,"get LDV with TPX",kFALSE}, - {"LaserDV.Chain","","","in,LaserCal,fcf,TpcHitMover,OGridLeak3D,OShortR,OSpaceZ2","","","get LDV",kFALSE}, - {"Test.default.ITTF","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent,genvtx," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.default.y2005g.ITTF","","","Test.default.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.default.y2007g.ITTF","","","Test.default.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.fast.y2005g.ITTF","","","Test.fast.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.reco.StiVMC","","","MakeEvent,tpcI,tcl,ftpc,SvtCL,Test.StiVMC" ,"","","",kFALSE}, - {"Test.default.StiVMC","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent," - "miniMcMk,McAna,Test.reco.StiVMC,CMuDst" ,"","","",kFALSE}, - {"Test.StiVMC","","","TpcRS,StiVMC,event,analysis,tags,EvOut,StarMagField,FieldOn,Idst,CMuDst" - , "","","",kFALSE}, - {"Test.VeryFast.StiVMC","","","TpcFastSim,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna," - "SvtCL,tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,StiVMC,Idst,event,analysis,EventQA,tags," - "EvOut,StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.fast.StiVMC","","","tfs,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna,SvtCL," - "tpc_T,globT,tls,db,tpcDB,svtDb,StiVMC,Idst,event,analysis,EventQA,tags,EvOut," - "StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.fast.y2007g.ITTF","","","Test.fast.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2005g.ITTF","","","Test.VeryFast.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2007g.ITTF","","","Test.VeryFast.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.default.StiVMC","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.y2009.ITTF","","","Test.default.ITTF,y2009,TpcRS,sdt20090428.141700" ,"","","",kFALSE}, - {"Test.y2009.StiVMC","","","Test.default.StiVMC,y2009,TpcRS,sdt20090428.141700,noSimuDb","","","",kFALSE}, - {"Test.fast.y2005g.StiVMC","","","Test.fast.StiVMC,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2005g.StiVMC","","","Test.VeryFast.StiVMC,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2007g.StiVMC","","","Test.VeryFast.StiVMC,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.default.Fast.ITTF","","","tfs,sfs,ssdFast,IdTruth,MakeEvent,miniMcMk,Test.ITTF", "","","",kFALSE}, - {"Test.srs.ITTF","","", "TpcRS,Simu,srs,svt,ssd,fss,bbcSim,emcY2,McEvOut,GeantOut,IdTruth," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.ITTF","","","svtIT,ssdIT,ITTF,event,analysis,EventQA,tags,EvOut,StarMagField,FieldOn" - ",IDST,CMuDst,analysis" ,"","","",kFALSE}, - {"Test.reco.ITTF","","","MakeEvent,tpcI,tcl,ftpc,SvtCL,Test.ITTF" ,"","","",kFALSE}, - {"Test.fast.ITTF","","","tfs,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna,SvtCL," - "tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,ITTF,Idst,event,analysis,EventQA,tags,EvOut," - "StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.VeryFast.ITTF","","","TpcFastSim,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna," - "SvtCL,tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,ITTF,Idst,event,analysis,EventQA,tags," - "EvOut,StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"nightly test (dev) chains","-----------","-----------","----------------------------","","","", kFALSE}, - {"MC----------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"MC.y2000" ,"","","trs,rrs,y1h,Idst,rich,IAna,l0,tpcI,tpxClu,NosvtIT,NossdIT," - "-Kink2,VFMinuit,geant,evout,IdTruth,tags,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2001" ,"","","trs,fss,rrs,y2001n,Idst,rich,IAna,l0,tpcI,tpxClu,ftpc,-Kink2," - "VFMinuit,geant,evout,IdTruth,tags,emcY2,GeantOut,big" ,"","","",kFALSE}, - {"MC.pp.y2001" ,"","","trs,rrs,fss,y2001n,Idst,rich,IAna,l0,tpcI,tpxClu,ftpc,-Kink2," - "VFMinuit,geant,evout,IdTruth,tags,emcY2,MiniMcMk,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2003" ,"","","trs,fss,y2003,Idst,IAna,l0,tpcI,tpxClu,ftpc,VFMinuit,bbcSim,tofsim," - "tags,emcY2,evout,IdTruth,geantout" ,"","","",kFALSE}, - {"MC.y2004" ,"","","trs,srs,fss,y2004,Idst,BAna,l0,tpcI,tpxClu,ftpc,VFMinuit,SvtIt,geant,evout," - "tags,bbcSim,tofsim,emcY2,EEfs,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2004a" ,"","","trs,srs,fss,y2004a,Idst,BAna,l0,tpcI,tpxClu,ftpc,VFMinuit,SvtIT,geant" - ",tags,bbcSim,tofsim,emcY2,EEfs,evout,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2005" ,"","","trs,srs,fss,ssd,y2005x,Idst,IAna,l0,tpcI,tpxClu,ftpc,SvtCL,svtDb," - "SsdIt,SvtIt,VFMinuit,geant,evout,tags,bbcSim,tofsim,emcY2,EEfs,GeantOut,big" - , "","","",kFALSE}, - {"MC.y2006" ,"","","trs,fss,y2006h,Idst,IAna,l0,tpcI,tpxClu,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2007" ,"","","trs,srs,ssd,fss,y2007,Idst,BAna,tpcI,tpxClu,ftpc,SvtIt,SsdIt," - "VFMinuit,MakeEvent,IdTruth,geant,tags,bbcSim,tofsim,emcY2,EEfs,evout,GeantOut,big" - "" ,"","","",kFALSE}, - {"MC.y2008" ,"","","trs,fss,y2008a,Idst,IAna,tpcI,tpxClu,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.in.y2008" ,"","","in,y2008e,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.in.y2009" ,"","","in,y2009c,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.y2009" ,"","","TpcRS,TpxClu,fss,y2009,Idst,IAna,tpcI,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2009a" ,"","","TpcRS,TpxClu,fss,y2009a,Idst,IAna,tpcI,ftpc,VFMinuit,NoSsdIt,NoSvtIt," - "MakeEvent,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2010a" ,"","","TpcRS,TpxClu,y2010a,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2010" ,"","","TpcRS,TpxClu,y2010,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"MC.fast.pp.y2011","","","y2011,Test.default.Fast.ITTF,bbcSim,btofsim,btofMatch,emcY2,emcSim,EEfs," - "NosvtIT,NossdIT,-sfs,-ssdFast,VFPPVnoCTB,beamline" ,"","","",kFALSE}, - {"MC.in.y2010" ,"","","in,y2010c,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.y2011" ,"","","TpcRS,TpxClu,y2011,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB" - ",TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.fast.y2011" ,"","","y2011,Test.default.Fast.ITTF,NosvtIT,NossdIT,-sfs,-ssdFast," - "VFPPVnoCTB,beamline,emcy2" ,"","","",kFALSE}, - {"MC.in.y2011" ,"","","in,y2011,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt,NoSvtIt," - "VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk,ReadAll" - , "","","",kFALSE}, - {"MC.y2012" ,"","","TpcRS,TpxClu,y2012,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2012a" ,"","","TpcRS,TpxClu,y2012a,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2012.eval" ,"","","in,y2012,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt,NoSvtIt" - ",VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk,ReadAll" - , "","","",kFALSE}, - {"MC.y2013" ,"","","TpcRS,TpxClu,y2013_1x,useXgeom,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"MC.y2014" ,"","","TpcRS,TpxClu,y2014,useXgeom,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"RC----------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"RC.y2000" ,"","","p2000,VFMinuit,CMuDst,NosvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.y2001" ,"","","P2001a,VFMinuit,ZDCvtx,CMuDst,NosvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2001" ,"","","pp2001a,VFMinuit,CMuDst,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2001.ppv" ,"","","pp2001a,VFPPV,beamLine,CMuDst,NossdIT" ,"","","",kFALSE}, - {"RC.y2003" ,"","","DbV20040520,dau2003i,in,-SvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2003.VFPPV" ,"","","pp2003,VFPPV,beamLine,CMuDst,-svtIT,NossdIT,Corr2,v0,xi","","","",kFALSE}, - {"RC.y2004" ,"","","P2004,DbV20041213" ,"","","",kFALSE}, - {"RC.y2004.NoSvt" ,"","","P2004,DbV20041213,-SsdIt,-SvtIt,pmdRaw" ,"","","",kFALSE}, - {"RC.y2004.NoSvt.pmd" ,"","","P2004,DbV20041213,pmdRaw,-SvtIT,-SsdIT" ,"","","",kFALSE}, - {"RC.pp.y2004" ,"","","pp2004,DbV20041213,beamLine" ,"","","",kFALSE}, - {"RC.y2005" ,"","","P2005,tofDat,MakeEvent,ssddat,sptd,SsdIt,SvtIt,pmdRaw,OShortR,OSpaceZ2" - , "","","",kFALSE}, - {"RC.pp.y2005" ,"","","pp2005a,tofdat,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.pp.y2006" ,"","","pp2006b,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2007" ,"","","DbV20080418,B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit3,emcDY2,ftpc,trgd," - "ZDCvtx,svtIT,ssdIT,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2007.NoSvt" ,"","","DbV20080418,B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit3,emcDY2,ftpc," - "trgd,ZDCvtx,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2008" ,"","","DbV20080712,P2008,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.y2008.notof" ,"","","DbV20080712,P2008,-ToF,-tofDat,-tofrMatch,-tofpMatch,-tofCalib,OSpaceZ2," - "OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2008" ,"","","DbV20080712,pp2008,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2008.Minuit","","","DbV20080712,pp2008,-VFPPV,VFMinuit,-ToF,-tofDat,-tofrMatch,-tofpMatch," - "-tofCalib,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2009" ,"","","pp2009c,VFMinuit,beamLine,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.pp.y2009.notof","","","pp2009c,VFMinuit,beamLine,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.pp.y2009.VFPP","","","pp2009c,VFPPVnoCTB,beamLine,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.y2010" ,"","","P2010a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,pmdReco", "","","",kFALSE}, - {"RC.y2010.notof" ,"","","P2010a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.pp.y2011.VFPPV","","","pp2011a,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt" ,"","","",kFALSE}, - {"RC.pp.y2011","","","pp2011a,VFMinuit,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt" - , "","","",kFALSE}, - {"RC.y2011" ,"","","P2011a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,pmdReco,mtdDat" - , "","","",kFALSE}, - {"RC.y2011.notof" ,"","","P2011a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,pmdReco,mtdDat" - , "","","",kFALSE}, - {"RC.y2012" ,"","","P2012a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,mtdDat,fmsDat" - , "","","",kFALSE}, - {"RC.y2012.notof" ,"","","P2012a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012" ,"","","pp2012a,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt,mtdDat,fmsDat", "","","",kFALSE}, - {"RC.pp.y2012.notof","","","pp2012a,VFPPVnoCTB,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012.notofMin","","","pp2012a,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.y2012b" ,"","","P2012b,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,mtdDat,fmsDat" - , "","","",kFALSE}, - {"RC.y2012b.notof" ,"","","P2012b,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b" ,"","","pp2012b,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt,mtdDat,fmsDat", "","","",kFALSE}, - {"RC.pp.y2012b.notof","","","pp2012b,VFPPVnoCTB,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b.notofMin","","","pp2012b,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b.notofMin","","","pp2012b,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2013","","","pp2013a,mtd,btof,fmsDat,fgt,fgtPoint,VFPPVnoCTB,beamline,BEmcChkStat,Corr4," - "OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.y2014","","","P2014a,mtd,btof,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"MC nightlies and Eval","--","-----------","------------------------------------------","","","",kFALSE}, - {"test_MC.stan.y2000","","","MC.y2000,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/cocktail/hadronic/default/standard/year_1h/half_field/hadronic_on/Gstardata/" - "hc_standard.40_evts.fz", kFALSE}, - {"test_MC.pp.y2001","","","MC.pp.y2001,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp200/pythia/default/minbias/year2001/hadronic_on/gstardata/pds0200_04_12812evts.fzd" - , kFALSE}, - {"test_MC.stan.y2001","","","MC.y2001,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/cocktail/hadronic/default/standard/year2001/hadronic_on/Gstardata/hc_standard.40_evts.fz" - , kFALSE}, - {"test_dau.MC.y2003" ,"","","MC.y2003,Sti,fzin,MiniMcMk","" - , "","/star/rcf/simu/rcf1197_05_5940evts.fzd",kFALSE}, - {"test_auauCtr.MC.y2004" ,"","","MC.y2004a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1209_05_80evts.fzd",kFALSE}, - {"test_auau.MC.y2004" ,"","","MC.y2004,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1207_01_225evts.fzd",kFALSE}, - {"test_cucu200.MC.y2005" ,"","","MC.y2005,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1216_05_200evts.fzd",kFALSE}, - {"test_cucu62.MC.y2005" ,"","","MC.y2005,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1237_01_500evts.fzd",kFALSE}, - {"test_pp200.MC.y2006" ,"","","MC.y2006,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9991_01_1000evts.fzd",kFALSE}, - {"test_auau200.MC.y2007" ,"","","MC.y2007,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"test_dau200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"test_pp500.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"test_auau11.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"test_auau200.MC.y2010","","","MC.y2010,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"test_auau39.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"test_auau62.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"test_auau7.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"test_auau200.MC.y2011","","","MC.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"test_pp500.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"test_pp500.pileup.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n" - " gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"test_CuAu200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"test_CuAu200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"test_pp200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"test_pp500.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"test_pp500.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"test_UU200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"test_UU200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"test.RC.centr.y2000","","","RC.y2000,Sti","","" - , "/star/rcf/test/daq/2000/09/st_physics_1248022_raw_0001.daq",kFALSE}, - {"test.RC.minb.y2000","","","RC.y2000,Sti","","" - , "/star/rcf/test/daq/2000/08/st_physics_1229021_raw_0003.daq",kFALSE}, - {"test.RC.cent.y2001d","","","RC.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq",kFALSE}, - {"test.RC.cent.y2001","","","RC.y2001,v0,xi,Sti","","" - , "/star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq",kFALSE}, - {"test.RC.minb.y2001d","","","RC.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq",kFALSE}, - {"test.RC.minb.y2001","","","RC.y2001,v0,xi,Sti","","" - , "/star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq",kFALSE}, - {"test.RC.pp.y2001d","","","RC.pp.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.pp.y2001","","","RC.pp.y2001.ppv,v0,xi,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.pp.y2001_vfppvd","","","RC.pp.y2001.ppv,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.dau.y2003","","","RC.y2003,ITTF,Sti","","" - , "/star/rcf/test/daq/2003/041/st_physics_4041002_raw_0020001.daq",kFALSE}, - {"test.RC.pp.y2003","","","RC.pp.y2003.VFPPV,Sti","","" - , "/star/rcf/test/daq/2003/095/st_physics_4095050_raw_0010002.daq",kFALSE}, - {"test.RC.auau.lo.y2004","","","RC.y2004,-SvtIT,-SsdIT,pmdRaw,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/044/st_physics_5044116_raw_3010002.daq",kFALSE}, - {"test.RC.auau.ph.y2004","","","RC.y2004,pmdRaw,-SvtIT,-SsdIT,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/044/st_physics_5044102_raw_1010003.daq",kFALSE}, - {"test.RC.auau.StiCA.y2004","","","RC.y2004,-SsdIt,-SvtIt,pmdRaw,StiCA","","" - , "/star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq",kFALSE}, - {"test.RC.auau.y2004","","","RC.y2004,-SsdIt,-SvtIt,pmdRaw,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq",kFALSE}, - {"test.RC.pp.y2004","","","RC.pp.y2004,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/134/st_physics_5134013_raw_2010010.daq",kFALSE}, - {"test.RC.cucu200.ht.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/054/st_physics_6054016_raw_1020005.daq",kFALSE}, - {"test.RC.cucu200.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/048/st_physics_6048025_raw_1020002.daq",kFALSE}, - {"test.RC.cucu22.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/083/st_physics_6083006_raw_1040002.daq",kFALSE}, - {"test.RC.cucu62.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/080/st_physics_6080011_raw_1020004.daq",kFALSE}, - {"test.RC.pp200.y2005","","","RC.pp.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/171/st_physics_6171062_raw_2040010.daq",kFALSE}, - {"test.RC.pp200.Long.y2006","","","RC.pp.y2006,ITTF,Sti","","" - , "/star/rcf/test/daq/2006/155/7155010/st_physics_7155010_raw_1020003.daq",kFALSE}, - {"test.RC.pp200.Trans.y2006","","","RC.pp.y2006,ITTF,Sti","","" - , "/star/rcf/test/daq/2006/129/7129023/st_physics_7129023_raw_1020003.daq",kFALSE}, - {"test.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"test.RC.auau200.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq",kFALSE}, - {"test.RC.dau200.y2008","","","RC.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"test.RC.pp200.y2008","","","RC.pp.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"test.RC.pp200.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"test.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"test.RC.auau11.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"test.RC.auau200.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"test.RC.auau39.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"test.RC.auau62.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"test.RC.auau7.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/143/st_physics_11143043_raw_1020001.daq",kFALSE}, - {"test.RC.auau200.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"test.RC.auau20.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"test.RC.auau27.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"test.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"test.RC.cuAu200.AgML.y2012","","","RC.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"test.RC.cuAu200.y2012","","","RC.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"test.RC.pp200.AgML.y2012","","","RC.pp.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"test.RC.pp200.y2012","","","RC.pp.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"test.RC.pp500.AgML.y2012","","","RC.pp.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"test.RC.pp500.y2012","","","RC.pp.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"test.RC.UU193.AgML.y2012","","","RC.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"test.RC.UU193.y2012","","","RC.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"test.RC.pp500.y2013","","","RC.pp.y2013,Sti","","" - , "/star/rcf/test/daq/2013/079/st_physics_14079008_raw_1920004.daq",kFALSE}, - {"test.RC.AuAu15.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/069/st_physics_15069008_raw_2500008.daq",kFALSE}, - {"test.RC.AuAu200.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/086/st_physics_15086051_raw_2500017.daq",kFALSE}, - {"test.RC.AuAu200.mid.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/146/st_mtd_15146050_raw_1000030.daq",kFALSE}, - {"test.RC.He3Au200.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/171/st_physics_15171039_raw_2000008.daq",kFALSE}, - {"eval_Sti_auau200.MC.y2007" ,"","","MC.y2007,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"eval_StiCA_auau200.MC.y2007","","","MC.y2007,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_dau200.MC.y2008","","","MC.y2008,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp200.MC.y2008","","","MC.y2008,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_dau200.MC.y2008","","","MC.y2008,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp200.MC.y2008","","","MC.y2008,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_Sti_dau200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_StvCA_dau200.MC.Stv.y2008","","","MC.in.y2008,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11025_2040_100evts.event.root",kFALSE}, - {"eval_Stv_dau200.MC.y2008","","","MC.in.y2008,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11025_2040_100evts.event.root",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2009","","","MC.y2009a,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp200.MC.y2009","","","MC.y2009a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp500.MC.y2009","","","MC.y2009a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"eval_Sti_pp500.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_StvCA_pp500.MC.y2009","","","MC.in.y2009,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11026_1020_50evts_pileup.event.root",kFALSE}, - {"eval_Stv_pp500.MC.y2009","","","MC.in.y2009,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11026_1020_50evts_pileup.event.root",kFALSE}, - {"eval_Sti.AgML_auau11.MC.y2010","","","MC.y2010a,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_auau200.MC.y2010","","","MC.y2010,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_Sti_auau11.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau200.MC.y2010","","","MC.y2010,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_Sti_auau39.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau62.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau7.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau11.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau200.MC.y2010","","","MC.y2010,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_StiCA_auau39.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau62.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau7.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_Stv_auau200.MC.y2010","","","MC.in.y2010,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11022_2241_50evts.event.root",kFALSE}, - {"eval_StvCA_auau200.MC.y2010","","","MC.in.y2010,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11022_2241_50evts.event.root",kFALSE}, - {"eval_StvCA_auau39.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_StvCA_auau62.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_StvCA_auau7.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_auau200.MC.y2011","","","MC.y2011,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2011","","","MC.fast.y2011,AgML,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_Sti_auau200.MC.y2011","","","MC.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"eval_StiCA_pp500.MC.y2011","","","MC.fast.y2011,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_StiCA_pp500.pileup.MC.y2011","","","MC.fast.y2011,StiCA,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n " - "gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"eval_Sti_pp500.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_Sti_pp500.pileup.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n" - " gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"eval_Stv_auau200.MC.y2011","","","MC.in.y2011,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.event.root",kFALSE}, - {"eval_StvCA_auau200.MC.y2011","","","MC.in.y2011,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.event.root",kFALSE}, - {"eval_Sti.AgML_CuAu200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_UU200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"eval_Sti_CuAu200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"eval_Sti_pp500.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"eval_Sti_UU200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,AgML,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StiCA.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,StiCA","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2007","","","RC.y2007,pmdReco,StiCA","","" - , "/star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq",kFALSE}, - {"eval_Sti.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.MB.y2007","","","RC.y2007,Stv,AgML","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StvCA.RC.auau200.MB.y2007","","","RC.y2007.NoSvt,StvCA","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Stv.RC.auau200.MB.y2007","","","RC.y2007.NoSvt,Stv","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Sti.AgML.RC.dau200.y2008","","","RC.y2008,ITTF,AgML,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StiCA.RC.dau200.y2008","","","RC.y2008,StiCA","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2008","","","RC.pp.y2008,StiCA","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Sti.RC.dau200.y2008","","","RC.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2008","","","RC.pp.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.dau200.y2008","","","RC.y2008.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StvCA.RC.dau200.y2008","","","RC.y2008.notof,StvCA","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2008","","","RC.pp.y2008.Minuit,StvCA","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Stv.RC.dau200.y2008","","","RC.y2008.notof,Stv","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2008","","","RC.pp.y2008.Minuit,Stv","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2009","","","RC.pp.y2009.VFPP,StiCA","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_StiCA.RC.pp500.y2009","","","RC.pp.y2009.VFPP,StiCA","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp500.y2009","","","RC.pp.y2009,Stv,AgML","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2009","","","RC.pp.y2009,StvCA","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2009","","","RC.pp.y2009,StvCA","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2009","","","RC.pp.y2009,Stv","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2009","","","RC.pp.y2009,Stv","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau200.y2010","","","RC.y2010.notof,AgML,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau39.y2010","","","RC.y2010.notof,AgML,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StiCA.RC.auau11.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_StiCA.RC.auau39.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StiCA.RC.auau62.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Sti.RC.auau11.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_Sti.RC.auau200.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Sti.RC.auau39.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_Sti.RC.auau62.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.y2010","","","RC.y2010.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau39.y2010","","","RC.y2010.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StvCA.RC.auau11.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_StvCA.RC.auau200.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_StvCA.RC.auau39.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StvCA.RC.auau62.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Stv.RC.auau11.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_Stv.RC.auau200.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Stv.RC.auau39.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_Stv.RC.auau62.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau200.y2011","","","RC.y2011,AgML,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau20.y2011","","","RC.y2011,AgML,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_StiCA.RC.auau20.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StiCA.RC.auau27.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_StiCA.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,StiCA","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Sti.RC.auau200.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Sti.RC.auau20.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Sti.RC.auau27.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.y2011","","","RC.y2011,Stv,AgML","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau20.y2011","","","RC.y2011,Stv,AgML","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.auau200.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_StvCA.RC.auau20.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.auau27.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2011","","","RC.pp.y2011,pmdReco,mtdDat,StvCA","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Stv.RC.auau200.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Stv.RC.auau20.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Stv.RC.auau27.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2011","","","RC.pp.y2011,pmdReco,mtdDat,Stv","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp200.y2012","","","RC.pp.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2012","","","RC.pp.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Sti.AgML.RC.UU193.y2012","","","RC.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2012","","","RC.pp.y2012,StiCA","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2012","","","RC.pp.y2012,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2012","","","RC.pp.y2012,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Sti.RC.UU193.y2012","","","RC.y2012,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_Stv.AgML.RC.cuAu200.y2012","","","RC.y2012b.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp200.y2012","","","RC.pp.y2012.notofMin,Stv,AgML","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp500.y2012","","","RC.pp.y2012.notofMin,Stv,AgML","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Stv.AgML.RC.UU193.y2012","","","RC.y2012b.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.cuAu200.y2012","","","RC.y2012b.notof,StvCA","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2012","","","RC.pp.y2012.notofMin,StvCA","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2012","","","RC.pp.y2012.notofMin,StvCA","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_StvCA.RC.UU193.y2012","","","RC.y2012b.notof,StvCA","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_Stv.RC.cuAu200.y2012","","","RC.y2012b.notof,Stv","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2012","","","RC.pp.y2012.notofMin,Stv","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2012","","","RC.pp.y2012.notofMin,Stv","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Stv.RC.UU193.y2012","","","RC.y2012b.notof,Stv","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"doEvents" ,"" ,"","in,StEvent,analysis,NoDb" ,"","","",kFALSE}, - {"MakeMuDst","","","in,StEvent,CMuDST,Tree,nodefault,NoHistos,ReadAll","","" ,"StEvent => MuDst",kFALSE}, - {"drawDst" ,"" ,"","in,ry1h,globT,SCL,geant,display,NoDb,TbUtil" ,"","","",kFALSE}, - {"Cdst" ,"" ,"","ITTF,event,analysis,EventQA" ,"","","",kFALSE}, - {"C1default" ,"" ,"","rich,l0,Cdst,tags,Tree,EvOut,NoHits" ,"","","Year 1 chain",kFALSE}, - {"C2default" ,"" ,"","rich,l0,Cdst,tags,Tree,EvOut,ftpc,svt,emcY2" ,"","","Year 2 chain",kFALSE}, - {"C3default" ,"" ,"","l0,Cdst,tags,Tree,EvOut,NoHits,ftpc,svt,bbcsim,emcY2" - , "","","Year 3 simu base chain",kFALSE}, - {"CAdefault" ,"" ,"","l0,Cdst,tags,Tree,EvOut,NoHits,ftpc,svt,emcY2","","","Assymptotic chain",kFALSE}, - {"Cy1a" ,"" ,"","y1a,C1default" ,"","","Turn on chain y1a",kFALSE}, - {"Cy1b" ,"" ,"","y1b,C1default" ,"","","Turn on chain y1b",kFALSE}, - {"Cy1s" ,"" ,"","y1s,C1default" ,"","","Turn on chain y1s",kFALSE}, - {"Cy1d" ,"" ,"","y1d,C1default" ,"","","Turn on chain y1d",kFALSE}, - {"cy1e" ,"" ,"","y1e,C1default" ,"","","Turn on chain y1h",kFALSE}, - {"cy1h" ,"" ,"","y1h,C1default" ,"","","Turn on chain y1e",kFALSE}, - {"Cy2a" ,"" ,"","y2a,CAdefault" ,"","","Turn on chain y2a",kFALSE}, - {"Cy2b" ,"" ,"","y2b,C2default" ,"","","Turn on chain y2b",kFALSE}, - {"C2000" ,"" ,"","y2000,C1default" ,"","","Turn on chain Y2000",kFALSE}, - {"C2001" ,"" ,"","y2001,C2default" ,"","","Turn on chain Y2001",kFALSE}, - {"C2003" ,"" ,"","y2003,C3default" ,"","","Turn on chain Y2003",kFALSE}, - {"C2003X" ,"" ,"","y2003X,C3default" ,"","","Turn on chain Y2003X (full B/E EMC)",kFALSE}, - {"mdc3" ,"" ,"","cy1h,GeantOut" ,"","","MDC3 default chain",kFALSE}, - {"MDC4" ,"" ,"","C2001,trs,tpc_daq,Simu,srs,fss,rrs,big,GeantOut","","","Turn on chain for MDC4",kFALSE}, - {"MDC4New" ,"" ,"","y2001n,C2default,trs,tpc_daq,Simu,srs,fss,rrs,big,GeantOut","","" - , "Turn on chain for MDC4 (for after September)",kFALSE}, - {"PostMDC4" ,"" ,"","C2001,trs,tpc_daq,Simu,sss,fss,rrs,big,GeantOut" - , "","","Turn on Post MDC4 chain",kFALSE}, - {"ppMDC4","","","ppOpt,C2001,mwc,trs,tpc_daq,Simu,srs,rrs,big,GeantOut" - , "","","Turn on chain for ppMDC",kFALSE}, - {"dAuMDC" ,"" ,"","ppOpt,C2003,trs,tpc_daq,Simu,srs,fss,big,GeantOut","","","Chain for d+Au",kFALSE}, - {"dAuMDCa" ,"" ,"","ppOpt,C2003,trs,tpc_daq,Simu,srs,fss,big,GeantOut,est","","","Chain for d+Au",kFALSE}, - {"CComplete" ,"" ,"","Complete,C2default" ,"","","Turn on chain for Complete STAR",kFALSE}, - {"SvtD" ,"","","SvtCalDb,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit", "","","SVT chain for Data",kFALSE}, - {"P00h" ,"" ,"","ry1h,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,ExB,NoHits","","" - , "Production chain for summer 2000 data",kFALSE}, - {"P2000" ,"" ,"","ry2000,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,ExB,NoHits","","" - , "Production chain for summer 2000 data",kFALSE}, - {"B2000" ,"","","ry2000,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,NosvtIT,NossdIT","","" - , "Base chain for 2001 (tpc+rhic)",kFALSE}, - {"P2000a" ,"" ,"","B2000,Corr1","","" ,"Production chain for summer 2000 data",kFALSE}, - {"B2001" ,"" ,"","ry2001,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,svtDb","","" - ,"Base chain for 2001 (tpc+rhic)" ,kFALSE}, - {"P2001" ,"" ,"","B2001,l3onl,tofDat,Corr2,OSpaceZ","","" - , "Production chain for summer 2001 data (+ l3, tof)",kFALSE}, - {"P2001a" ,"" ,"","B2001,svt_daq,SvtD,ftpc,l3onl,tofDat,emcDY2,Corr2,OSpaceZ","","" - , "Production chain for summer 2001 data (+ ftpc, svt, l3, tof, emc)",kFALSE}, - {"pp2001","","","ppOpt,B2001,-PreVtx,l3onl,tofDat,emcDY2,Corr2","","" ,"pp 2001 (+ l3, tof, emc)",kFALSE}, - {"pp2001a" ,"" ,"","pp2001,svt_daq,SvtD,ftpc","","" ,"pp 2001 (+ ftpc, svt, l3, tof, emc)",kFALSE}, - {"B2003" ,"" ,"","ry2003,in,tpc_daq,tpc,Physics,Cdst,Kalman,tags,Tree,evout,svtDb","","" - , "Base chain for 2003 (tpc)",kFALSE}, - {"dau2003" ,"" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc","","" - , "Production chain for winter 2003 data (+ tof, svt (no est), ftpc, emc)",kFALSE}, - {"dau2003a" ,"" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd","","" - , "Production chain for winter 2003 data (+ tof, svt (no est), ftpc, emc, trgd)",kFALSE}, - {"pp2003" , "" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd","","" - , "Production chain for Spring 2003 data (+ tof, svt (no est), ftpc, emc, trgd)",kFALSE}, - {"Idst" ,"" ,"", "event,compend,EventQA" ,"","","Turn on DST for ITTF",kFALSE}, - {"IAna" ,"" ,"","dEdxY2,Kink2,xi2,CMuDst,analysis","","" ,"Turn on Xi, Kink, dEdx and MuDst",kFALSE}, - {"BAna" ,"" ,"","dEdxY2,CMuDst,analysis" ,"","" ,"Turn on dEdx and MuDst",kFALSE}, - {"B2003I" ,"","","ry2003,in,TpxRaw,TpxClu,Idst,l0,tags,Tree,evout,svtDb" - , "","","Base chain for 2003 ITTF",kFALSE}, - {"dau2003i" ,"","","B2003I,IAna,CtbMatchVtx,Corr2,ppOpt,l3onl,tofDat,emcDY2,svt_daq,SvtD,ftpc,trgd" - , "","","Production chain for winter 2003 data dau2003a with ITTF",kFALSE}, - {"pp2003i","","","B2003I,IAna,CtbMatchVtx,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd" - , "","","Production chain for winter 2003 data dau2003a with ITTF",kFALSE}, - {"B2004" ,"","","ry2004,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2004 ITTF (tpc+svt)",kFALSE}, - {"P2004","" ,"","B2004,IAna,fcf,VFMinuit,ToF,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr4,OSpaceZ2" - , "","","Production chain for 2003/2004 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2004" ,"" ,"", - "B2004,IAna,fcf,ppOpt,VFppLMV5,CtbMatchVtx,ToF,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr4,OSpaceZ2" - , "","","Production chain for 2003/2004 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2005" ,"","","ry2005b,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF (tpc+svt)",kFALSE}, - {"B2005a" ,"" ,"","ry2005b,in,tpc_daq,tpcI,Physics,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2005 ITTF (tpc only)",kFALSE}, - {"B2005b" ,"" ,"","ry2005f,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF Geo f (tpc+svt only)",kFALSE}, - {"B2005c" ,"" ,"","ry2005g,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF Geo g (tpc+svt only + dead material)",kFALSE}, - {"P2005" ,"" ,"", "B2005,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2005b" ,"" ,"", "B2005b,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2005c" ,"" ,"", "B2005c,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005","" ,"","B2005,IAna,fcf,ppOpt,VFppLMV5,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005a","","","B2005a,IAna,fcf,ppOpt,VFPPV,beamline,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,Corr4" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005b","","", "B2005b,IAna,fcf,ppOpt,VFPPV,beamline,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,Corr4" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2006" ,"" ,"","ry2005d,in,tpc_daq,tpcI,svt_daq,SvtD,Idst,tags,Tree,evout,ssdDb","","" - , "Base chain for 2006 ITTF (tpc+svt)",kFALSE}, - {"B2006a" ,"" ,"","ry2005d,in,tpc_daq,tpcI,Idst,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 with 2005d geom ITTF (tpc only)",kFALSE}, - {"B2006b" ,"" ,"","ry2006,in,tpc_daq,tpcI,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 ITTF (tpc only)",kFALSE}, - {"B2006g" ,"" ,"","ry2006g,in,tpc_daq,tpcI,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 ITTF geo g (tpc only)",kFALSE}, - {"pp2006a" ,"" ,"", - "B2006a,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr3" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2006b" ,"" ,"", - "B2006b,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr4,BeamBack" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2006g" ,"" ,"", - "B2006g,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr4,BeamBack" - , "","","Production chain for 2005 pp data geo g (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"T2007","","","ry2007g,MakeEvent,in,tpc_daq,tpcI,fcf,Tree,evout" - , "","","TPC only chain, 2007 ITTF",kFALSE}, - {"B2007","","","ry2007,MakeEvent,in,tpc_daq,tpcI,fcf,svt_daq,SvtD,ssddat,sptd,Idst,tags,Tree,evout" - , "","","Base chain for 2007 ITTF (tpc+svt+ssd)",kFALSE}, - {"B2007g","","","ry2007g,MakeEvent,in,tpc_daq,tpcI,fcf,svt_daq,SvtD,ssddat,sptd,Idst,tags,Tree,evout" - , "","","Base chain for 2007 ITTF geo g (tpc+svt+ssd)",kFALSE}, - {"P2007" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr5" - , "","","Production chain for 2007 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007g" ,"" ,"", - "B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit2,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr5" - , "","","Production chain for 2007 data, revised 2008 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007a" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr3" - , "","","Production chain for 2007 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007b" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr4" - , "","","Production chain for 2007 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2008" ,"","","ry2008,in,tpc_daq,tpcI,fcf,Idst,tags,Tree,evout","","" - , "Base chain for 2008 ITTF (tpc)",kFALSE}, - {"B2008a","","","ry2008,in,tpcX,ToFx,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2008 ITTF (tpc+tof)",kFALSE}, - {"P2008a" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr3,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008b" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008a" ,"" ,"", - "B2008,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008c" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008c" ,"" ,"", - "B2008,IAna,hitfilt,ppOpt,Minuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008" ,"" ,"", - "B2008a,IAna,hitfilt,ppOpt,VFPPV,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008" ,"" ,"", - "B2008a,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2009.1","","","ry2009,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"B2009.2","","","ry2009a,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"B2009.3","","","ry2009d,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"pp2009a" ,"" ,"", - "B2009.1,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2009 data - no Corr (+ l3, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2009b" ,"" ,"", - "B2009.1,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2009 data - no Corr (+ l3, ftpc, e/b-emc, no trigger)",kFALSE}, - {"pp2009c" ,"" ,"", - "B2009.2,BAna,hitfilt,ppOpt,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis","","" - , "Production chain for 2009 data - no Corr, no VF (+l3, ftpc, e/b-emc, trig)",kFALSE}, - {"pp2009d" ,"" ,"", - "B2009.3,BAna,hitfilt,ppOpt,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis","","" - , "Production chain for 2009 data - no Corr, no VF (+l3, ftpc, e/b-emc, trig)",kFALSE}, - {"B2010","","","ry2010,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2010 ITTF (tpc)",kFALSE}, - {"B2010c","","","ry2010c,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2010 ITTF (tpc)",kFALSE}, - {"P2010a","" ,"", - "B2010,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2010a","" ,"", - "B2010,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"P2010c","" ,"", - "B2010c,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2010c","" ,"", - "B2010c,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"B2011","","","ry2011,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2011 ITTF (tpc)",kFALSE}, - {"P2011a","" ,"", - "B2011,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2011a","" ,"", - "B2011,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"B2012","","","ry2012,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2012 ITTF (tpc)",kFALSE}, - {"pp2012a","" ,"","B2012,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2012 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"P2012a","" ,"", - "B2012,BAna,hitfilt,VFMinuit,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, e/b-emc)",kFALSE}, - {"B2012b","","","ry2012a,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2012 ITTF (tpc)",kFALSE}, - {"pp2012b","" ,"", - "B2012b,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2012 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"P2012b","" ,"", - "B2012b,BAna,hitfilt,VFMinuit,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, e/b-emc)",kFALSE}, - {"B2013","","","in,tpcX,UseXgeom,ITTF,NosvtIT,NossdIT,tpcDB,TpcHitMover,Idst,tags,Tree,evout," - "btof,mtd,BAna,emcDY2,trgd,ZDCvtx","","", "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"B2013x","","","ry2013_1x,B2013","","", "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"pp2013x","","","B2013x,BAna,emcDY2,trgd,ZDCvtx" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"B2013" ,"","","B2013_c2","","", "Alias for B2013 Configuration 2",kFALSE}, - {"B2013_c2","","","ry2013_2c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"B2013_c1","","","ry2013_1c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"pp2013a","" ,"", - "B2013_c2,ITTF,UseXgeom,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis", - "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"pp2013b","" ,"", - "B2013_c1,ITTF,UseXgeom,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"pp2013","" ,"", - "BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"B2014" ,"","","ry2014,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2014 ITTF (tpc)",kFALSE}, - {"B2014a","","","ry2014a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2014a ITTF (tpc)",kFALSE}, - {"P2014","" ,"", - "B2014,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for 2014 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2014a","" ,"", - "B2014a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis," - , "","","Production chain for 2014 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2015" ,"","","ry2015,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2015 ITTF (tpc)",kFALSE}, - {"B2015a" ,"","","ry2015a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015a data",kFALSE}, - {"B2015b" ,"","","ry2015b,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015 with y2015b geometry",kFALSE}, - {"B2015c" ,"","","ry2015c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015 with y2015c geometry",kFALSE}, - {"pp2015","" ,"", - "B2015,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2015 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015a","" ,"", - "B2015a,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015a data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015b","" ,"", - "B2015b,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015b data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015c","" ,"", - "B2015c,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015c data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015","" ,"", - "B2015,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2015 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015a","" ,"", - "B2015a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015a data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015b","" ,"", - "B2015b,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015b data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015c","" ,"", - "B2015c,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015c data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2016" ,"","","ry2016,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2016 ITTF (tpc)",kFALSE}, - {"P2016","" ,"", - "B2016,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2016 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2016a" ,"","","ry2016a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Production chain for 2016 data (tpc)",kFALSE}, - {"P2016a","" ,"", - "B2016a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2016 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2017" ,"","","ry2017,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2017 data (tpc)",kFALSE}, - {"pp2017","" ,"", - "B2017,Sti,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2017 pp data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2017","" ,"", - "B2017,Sti,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2017 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2017a" ,"","","ry2017a,in,tpcX,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite","","" - , "Production chain for run 2017 data (tpc)",kFALSE}, - {"pp2017a","" ,"", - "B2017a,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline3D,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for year 2017 pp data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2017a","" ,"", - "B2017a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,beamline3D,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for year 2017 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2018a" ,"","","ry2018a,in,tpcX,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite","","" - , "Base chain for run 2018 data (tpc)",kFALSE}, - {"P2018a","" ,"", - "B2018a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,beamline3D,l3onl,emcDY2,epdHit,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2018 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2019a" ,"","","ry2019a,in,tpcX,UseXgeom,iTpcIT,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite", - "","", "Base chain for run 2019 data (tpc)",kFALSE}, - {"P2019a","" ,"", - "B2019a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,beamline3D,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2019 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2020a" ,"","", - "ry2020a,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2020 data (tpc)",kFALSE}, - {"P2020a","" ,"", - "B2020a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2020 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2021a" ,"","", - "ry2021a,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2020 data (tpc)",kFALSE}, - {"P2021a","" ,"", - "B2021a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2020 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2022" ,"","", - "ry2022,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2022 data (tpc)",kFALSE}, - {"pp2022","" ,"", - "B2022,ITTF,BAna,hitfilt,ppOpt,ImpBToFt0Mode,VFPPVnoCTB,beamline3D,l3onl,etofa,btof,mtd,emcDY2,FttDat,fcs,trgd,ZDCvtx,analysis", - "","","Production chain for year 2022 pp data - no Corr (+ l3, epd, mtf, b/etof, fcs, e/b-emc)",kFALSE}, - {"LaserCal0","" ,"","db,detDb,tpc_daq,tpcDb,tcl,globT,laser,LaserTest","","" - , "Laser Calibration Chain (tcl)",kFALSE}, - {"LaserCal","" ,"","db,detDb,tpc_daq,tpcDb,fcf,globT,laser,LaserTest","","" - , "Laser Calibration Chain",kFALSE}, - {"L3Counter","" ,"","db,detDb,in,l3count","","", "L3 Counter extraction pass",kFALSE}, - {"VtxSeedCal","","","ppOpt,ry2001,in,tpc_daq,tpc,globT,-Tree,Physics,-PreVtx,FindVtxSeed,NoEvent,Corr2" - , "","","Pass0 Vertex evaluator",kFALSE}, - {"SpcChgCal","","","B2004,fcf,Corr3,OSpaceZ2,OShortR,SCEbyE,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 SpaceCharge evaluator",kFALSE}, - {"SpcChgCalG","","","MuDST,fcf,Corr4,OSpaceZ2,OGridLeak3D,SCEbyE,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 SpaceCharge evaluator with GridLeak, no geo or tracker dependence",kFALSE}, - {"VtxSeedCalG","","","MuDST,fcf,Corr4,FindEvtVtxSeed,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 Vertex evaluator",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"OPTIONS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ITTF" ,"","","","","","request to use one of Sti(default), StiCA, Stv,StvCA, ... trackers",kFALSE}, - {"NoHits" ,"" ,"","" ,"","","Don\'t write hits into Event.Branch",kFALSE}, - {"Kalman" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Eval" ,"" ,"","","","" ,"Turn on evaluation switch for different makers",kFALSE}, - {"Ev03" ,"" ,"","","","" ,"Turn on alternative V0 method",kFALSE}, - {"off" ,"" ,"","","","" ,"Turn off default chain",kFALSE}, - {"clearDAQCTB" ,"" ,"","","" ,"" ,"clear DAQ CTB Hits for embedding",kFALSE}, - {"NoInput" ,"" ,"","","" ,"" ,"No input file",kFALSE}, - {"util" ,"" ,"","","","StAnalysisUtilities", "Load StAnalysisUtilities",kFALSE}, - {"StUtilities" ,"" ,"","","","StUtilities", "Load StUtilities",kFALSE}, - {"FieldOn" ,"" ,"","MagF" ,"","" ,"Constant nominal field",kFALSE}, - {"FieldOff" ,"" ,"","MagF" ,"","" ,"No Field option",kFALSE}, - {"HalfField" ,"" ,"","MagF" ,"","","Half Field option",kFALSE}, - {"ReverseField","" ,"","MagF" ,"","","Reverse Field option",kFALSE}, - {"NoCintDb" ,"" ,"","" ,"","","Switch off all Cint Db",kFALSE}, - {"NoStarCintDb","" ,"","" ,"","","Switch off standard Cint Db",kFALSE}, - {"NoLocalCintDb","" ,"","" ,"","","Switch off local Cint Db",kFALSE}, - {"NoMySQLDb" ,"" ,"","" ,"","","Switch off MySQL Db",kFALSE}, - {"NoCintCalDb" ,"" ,"","NoLocalCintDb" ,"","","Switch off local Cint Db",kFALSE}, - {"dbSnapshot" ,"" ,"","" ,"","","Create?use dbSnapshot",kFALSE}, - {"NoEvent" ,"" ,"","-event,-analysis" ,"","","Switch Off StEvent and StAnalysis Makers",kFALSE}, - {"MakeDoc" ,"" ,"","" ,"","","Make HTML documentation for the given Chain",kFALSE}, - {"Debug" ,"" ,"","" ,"","","Set debug flag = 1",kFALSE}, - {"Debug1" ,"" ,"","" ,"","","Set debug flag = 1",kFALSE}, - {"Debug2" ,"" ,"","" ,"","","Set debug flag = 2",kFALSE}, - {"IdTruth" ,"" ,"","" ,"","","Enable IdTruth association in StAssociationMaker",kFALSE}, - {"OldMiniMc" ,"" ,"","" ,"","","Keep pre-2008 convention for MiniMc",kFALSE}, - {"useInTracker","" ,"","","","" ,"switch from EGR to ITTF global tracks in StAssociationMaker",kFALSE}, - {"noRepeat" ,"" ,"","" ,"","","No repeat in Messenger",kFALSE}, - {"noHistos" ,"" ,"","" ,"","","Disables Attributes histos",kFALSE}, - {"noRunco" ,"" ,"","" ,"","","Disables Attributes runco",kFALSE}, - {"Higz" ,"" ,"","" ,"","","Pop Higz window",kFALSE}, - {"big" ,"" ,"","" ,"","","Set NwGEANT =20Mwords",kFALSE}, - {"bigbig" ,"" ,"","" ,"","","Set NwGEANT =40Mwords",kFALSE}, - {"huge" ,"" ,"","" ,"","","Set NwGEANT =80Mwords",kFALSE}, - {"clearmem" ,"" ,"","" ,"","","Obsolete",kFALSE}, - {"adcOnly" ,"" ,"","" ,"","","DAQMaker selects only TPC ADC events",kFALSE}, - {"InTree" ,"" ,"","in","" ,"","bfcTree Input Tree name",kFALSE}, - {"OutTree" ,"" ,"","Tree","" ,"","bfcTree Output Tree name",kFALSE}, - {"DstOut" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"McEvOut" ,"" ,"","StMcEvent,Tree" ,"","","Write StMcEvent to StTree",kFALSE}, - {"EvOut" ,"" ,"","Tree" ,"","","Write StEvent to StTree",kFALSE}, - {"GeantOut" ,"" ,"","Tree" ,"","","Write g2t tables to StTree",kFALSE}, - {"Simu" ,"" ,"","" ,"","","Simulated Data, force to use Db time stamp from used geometry",kFALSE}, - {"HitsBranch" ,"" ,"","" ,"","","take out points from dst branch and put them into HitsBranch",kFALSE}, - {"paw" ,"" ,"","" ,"","","Allocate memory for pawc",kFALSE}, - {"AllEvent" ,"" ,"","Tree" ,"","","Write whole event to StTree",kFALSE}, - {"AllTables" ,"" ,"","","" ,"St_Tables","Load Star Tables",kFALSE}, - {"FXT" ,"" ,"","btofFXT","" ,"","enable anything FXT-specific",kFALSE}, - {"btofFXT" ,"" ,"","","" ,"","enable FXT mode for btof",kFALSE}, - {"Corr1" ,"" ,"","AlignSectors,ExB,OBmap,OClock,OPr13","","" - , "... AlignSectors,ExB,OBmap,OClock,OPr13 ...",kFALSE}, - {"Corr2" ,"" ,"","Corr1,OTwist,OIFC" ,"","","...Corr1+OTwist,OIFC ...",kFALSE}, - {"Corr3" ,"" ,"","AlignSectors,ExB,OBmap2D,OClock,OPr13,OTwist,OIFC","","" - , "... AlignSectors,ExB,OBmap2D,OClock,OPr13,OTwist,OIFC ...",kFALSE}, - {"Corr4" ,"" ,"","Corr3,OShortR" ,"","","... Corr3+OShortR...",kFALSE}, - {"Corr5" ,"" ,"","Corr4,SCEbyE,OGridLeak3D,OSpaceZ2","","" - , "... Corr4+SCEbyE,OGridLeak3D,OSpaceZ2...",kFALSE}, - {"CorrX" ,"" ,"","ExB,OShortR,OBmap,OPr13,OIFC,OSectorAlign,NewTpcAlignment" - ",-AlignSectors,-OBmap2D,-OClock,-OTwist" ,"","","New Tpc Alignment",kFALSE}, - {"CorrY" ,"" ,"","ExB,OShortR,OBmap,OPr40,OIFC,OSectorAlign,NewTpcAlignment,OSpaceZ2,OGridLeakFull" - ",-AlignSectors,-OBmap2D,-OClock,-OTwist" ,"","","New Tpc Alignment",kFALSE}, - {"ExB" ,"" ,"","","" ,"","Activate ExB correction",kFALSE}, - {"EB1" ,"" ,"","","" ,"","Force ExB configuration 1",kFALSE}, - {"EB2" ,"" ,"","","" ,"","Force ExB configuration 2",kFALSE}, - {"OBmap" ,"" ,"","","" ,"","ExB shape correction",kFALSE}, - {"OBmap2D" ,"" ,"","","" ,"","ExB 2 D shape correction",kFALSE}, - {"OTwist" ,"" ,"","","" ,"","ExB twist correction",kFALSE}, - {"OClock" ,"" ,"","","" ,"","Clock/tpc rot. correction",kFALSE}, - {"OPr13" ,"" ,"","","" ,"","PadRow 13 distortion",kFALSE}, - {"OPr40" ,"" ,"","","" ,"","PadRow 40 distortion",kFALSE}, - {"OCentm" ,"" ,"","","" ,"","Central membrane correction",kFALSE}, - {"OECap" ,"" ,"","","" ,"","EndCap (curved) correction",kFALSE}, - {"OIFC" ,"" ,"","","" ,"","Field Cage correction",kFALSE}, - {"OSpaceZ" ,"" ,"","","" ,"","Space Charge corrections",kFALSE}, - {"OSpaceZ2" ,"" ,"","","" ,"","Space Charge corrections R2",kFALSE}, - {"OShortR" ,"" ,"","","" ,"","Shorted Ring correction",kFALSE}, - {"OGridLeak" ,"" ,"","","" ,"","Grid Leak correction",kFALSE}, - {"OGridLeak3D" ,"" ,"","","" ,"","3D Grid Leak correction",kFALSE}, - {"OGridLeakFull","" ,"","","" ,"","Full Grid Leak correction",kFALSE}, - {"OGGVoltErr" ,"" ,"","","" ,"","GG voltage error correction",kFALSE}, - {"OSectorAlign","" ,"","","" ,"","Sector alignment distortion correction",kFALSE}, - {"ODistoSmear" ,"" ,"","","" ,"","Distortion smearing accounting for calibration resolutions",kFALSE}, - {"OAbortGap" ,"" ,"","","" ,"","Abort gap cleaning event distortion correction",kFALSE}, - {"AlignSectors","" ,"","","" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"EbyET0" ,"" ,"","","" ,"","Event-by-event T0 corrections",kFALSE}, - {"DbRichSca" ,"" ,"","detdb","","", "Force reading of Rich scalers from DB",kFALSE}, - {"EastOff" ,"" ,"","","" ,"","Disactivate East part of tpc",kFALSE}, - {"WestOff" ,"" ,"","","" ,"","Disactivate West part of tpc",kFALSE}, - {"AllOn" ,"" ,"","","" ,"","Activate both East and West parts of tpc",kFALSE}, - {"ReadAll" ,"" ,"","","" ,"","Activate all branches to read",kFALSE}, - {"pp" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppOpt" ,"" ,"","TrsPileUp","","", "pp option without enabling special cases",kFALSE}, - {"TrsPileUp" ,"" ,"","","","", "Trs pile up mode",kFALSE}, - {"TrsToF" ,"" ,"","","","", "Trs account for particle time of flight",kFALSE}, - {"SvtMatchVtx" ,"" ,"","","" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"VtxOffSet" ,"" ,"","","" ,"","Account Primary Vertex offset from y2000 data",kFALSE}, - {"Calibration" ,"" ,"","","" ,"","Calibration mode",kFALSE}, - {"beamLine" ,"" ,"","","" ,"","LMV Beam line constrain",kFALSE}, - {"beamLine3D" ,"" ,"","","" ,"","Use beamline in 3D vertex fit",kFALSE}, - {"min2trkVtx" ,"" ,"","","" ,"","...only 2 tracks needed for vertex finding",kFALSE}, - {"hitreuseon" ,"" ,"","","" ,"","...do re-use hits for other tracks in Sti",kFALSE}, - {"usePct4Vtx" ,"" ,"","","" ,"","Use Post-Crossing Tracks for vertex finding",kFALSE}, - {"useBTOF4Vtx" ,"" ,"","","" ,"","Use BTOF track matching for vertex ranking",kFALSE}, - {"useBTOFmatchOnly","","","useBTOF4Vtx","" ,"","Use BTOF track matching only",kFALSE}, - {"svt1hit" ,"" ,"","","" ,"","Use 1 SVT hit only combination",kFALSE}, - {"onlcl" ,"" ,"","","" ,"","Read/use TPC DAQ100 clusters",kFALSE}, - {"onlraw" ,"" ,"","","" ,"","Read/use TPC raw hits",kFALSE}, - {"ezTree" ,"" ,"","","" ,"","Create ezTree branch",kFALSE}, - {"BEmcDebug","" ,"","","" ,"","Turn OFF B-EMC hit reconstruction cuts",kFALSE}, - {"BEmcChkStat","" ,"","","" ,"","Turn ON status checking in raw data",kFALSE}, - {"useLDV" ,"" ,"","","" ,"","... uses laserDV database flavor",kFALSE}, - {"useCDV" ,"" ,"","","" ,"","... uses ofl database flavor",kFALSE}, - {"useNewLDV" ,"" ,"","","" ,"","... uses ofl database flavor",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Tables ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"tables" ,"","","StDbT,ebyeT,emc_T,ftpcT,gen_T,geomT,globT,l3_T,sim_T,svt_T,tpc_T","","","",kFALSE}, - {"StDbT" ,"" ,"","","" ,"StDb_Tables","Load StDb_Tables",kFALSE}, - {"ctf_T" ,"" ,"","","" ,"ctf_Tables","Load ctf_Tables",kFALSE}, - {"ebyeT" ,"" ,"","","" ,"ebye_Tables","Load ebye_Tables",kFALSE}, - {"emc_T" ,"" ,"","","" ,"emc_Tables","Load emc_Tables",kFALSE}, - {"ftpcT" ,"" ,"","","" ,"ftpc_Tables","Load ftpc_Tables",kFALSE}, - {"gen_T" ,"" ,"","","" ,"gen_Tables","Load gen_Tables",kFALSE}, - {"geomT" ,"" ,"","","" ,"geometry_Tables","Load geometry_Tables",kFALSE}, - {"globT" ,"" ,"","","" ,"global_Tables","Load global_Tables",kFALSE}, - {"l3_T" ,"", "","","" ,"l3_Tables","Load l3_Tables",kFALSE}, - {"mwc_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"sim_T" ,"" ,"","","" ,"sim_Tables","Load sim_Tables",kFALSE}, - {"svt_T" ,"" ,"","","" ,"svt_Tables","Load svt_Tables",kFALSE}, - {"tpc_T" ,"" ,"","" ,"" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"trg_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"vpd_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Embedding" ,"","","-Simu" ,"","","Embedding run",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Utilities ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Geometry+Mag","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"pgf77" ,"" ,"","","" ,"pgf77VMC","Fortran",kFALSE}, - {"rootcern" ,"" ,"","geant3","" ,"","ROOT minicern OBSOLETE",kFALSE}, - {"StarMiniCern","" ,"","geant3","" ,"","STAR addition to minicern OBSOLETE",kFALSE}, - {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, - {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom,libVMC,libgeant3", "VMC geant3",kFALSE}, - {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, - {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, - {"StarMagField","", "","magF" ,"","VMC,StarMagField","Load StarMagField",kFALSE}, - {"geomNoField" ,"" ,"","-geometry,StarMagField" ,"","geometryNoField","geometry-Mag.Field",kFALSE}, - {"xgeometry" ,"" ,"","-geometry,-geomNoField" ,"","xgeometry","AgML geometry-Mag.Field",kFALSE}, - {"UseProjectedVertex" ,"" ,"","" ,"","","Run StBTofCalibMaker w/wo Primary Vertex",kFALSE}, - {"ImpBToFt0Mode" ,"" ,"","" ,"","","pppAMode in StVpdCalibMaker and StBTofCalibMaker",kFALSE}, - {"setOutlierRej4BToft0" ,"" ,"","" ,"","","setPPPAOutlierRej is set in StBTofCalibMaker",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"vpd" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tls" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"rts" ,"" ,"","","" ,"RTS","load libRTS",kFALSE}, - {"daq" ,"" ,"","rts","" ,"StDaqLib,StDAQMaker","Load StDAQMaker",kFALSE}, - {"SCL" ,"" ,"","","" ,"StarClassLibrary","Load StarClassLibrary",kFALSE}, - {"SvtCL" ,"" ,"","","" ,"Geom,StSvtClassLibrary","",kFALSE}, - {"TbUtil" ,"" ,"","sim_T,tpc_t,globT,SCL","" ,"StTableUtilities","Load StTableUtilities",kFALSE}, - {"TofUtil" ,"" ,"","","" ,"StTofUtil","Load StTofUtil",kFALSE}, - {"BTofUtil" ,"" ,"","","" ,"StBTofUtil","Load StBTofUtil",kFALSE}, - {"ETofUtil" ,"" ,"","","" ,"StETofUtil","Load StETofUtil",kFALSE}, - {"MtdUtil" ,"" ,"","","" ,"StMtdUtil","Load StMtdUtil",kFALSE}, - {"StBichsel" ,"" ,"","","" ,"StBichsel","Load Bichsel model for dE/dx",kFALSE}, - {"StEvent" ,"","","globT,SCL,TRGDef,StBichsel,EmcUtil,TbUtil,detDb","","StEvent","Load StEvent",kFALSE}, - {"PxlUtil" ,"" ,"","","", "StPxlUtil","Load StPxlUtil",kFALSE}, - {"IstUtil" ,"" ,"","","", "StIstUtil","Load StIstUtil",kFALSE}, - {"SsdUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSsdUtil","Load SSD Util",kFALSE}, - {"SstUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSstUtil","Load SST Util",kFALSE}, - {"EmcUtil" ,"" ,"","emc_T,geomT,StDbT","" ,"StEmcUtil","Load StEmcUtil",kFALSE}, - {"EEmcUtil" ,"" ,"","","" ,"StEEmcUtil","Load StEEmcUtil",kFALSE}, - {"FmsUtil" ,"" ,"","","" ,"StFmsUtil,libMinuit","Load StFmsUtil",kFALSE}, - {"FgtUtil" ,"" ,"","","" ,"StFgtUtil","Load StFgtUtil",kFALSE}, - {"GmtUtil" ,"" ,"","","" ,"StGmtUtil","Load StGmtUtil",kFALSE}, - {"l3Util" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PmdUtil" ,"" ,"","","", "StPmdUtil","Load StPmdUtil",kFALSE}, - {"QUtils" ,"" ,"","PmdUtil,EmcUtil","", "","Load QA Libs dependencies",kFALSE}, - {"Stu" ,"" ,"","","", "StEventUtilities","Load StEventUtilities",kFALSE}, - {"MuDSTDeps" ,"","","StEvent,Stu,StBichsel","" - , "StStrangeMuDstMaker,Tree","Load MuDST misc. dependencies",kFALSE}, - {"MuDST" ,"" ,"","MuDSTDeps,EmcUtil,TofUtil,BTofUtil,PmdUtil","" - , "StMuDSTMaker","Load MuDST library",kFALSE}, - {"picoEvt" ,"","","StEvent,Stu","", "StPicoEvent","Load picoEvent and dependencies",kFALSE}, - {"picoDst" ,"","","picoEvt,EmcUtil,TofUtil,BTofUtil,PmdUtil","" - , "StPicoDstMaker","Load PicoDST library",kFALSE}, - {"geantL","","","geomT,gen_T,sim_T,StarMagField","","geometry,Geom,St_db_Maker,St_g2t,St_geant_Maker" - , "Load GeantLibs",kFALSE}, - {"gstarLib","","","" ,"","gstar","Load gstar lib",kFALSE}, - {"flux" ,"","","simu" ,"","flux","Load flux lib",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T" , "", "libVMC.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, - {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, - {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, - {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, - {"kinematics" ,"","","stargen", "", "Kinematics.so", "Load STAR Particle Gun", false }, - {"genreader" ,"","","stargen", "", "StarGenEventReader.so", "Load STAR Gen Event Reader", false }, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"I/O Makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"gstar" ,"geant" ,"","-fzin,-ntin,-geant,Simu,geantL","St_geant_Maker" - , "","gstar for 80 muon tracks with pT = 1GeV in |eta|<4",kFALSE}, - {"pythia" ,"geant" ,"","-gstar,-fzin,-ntin,-geant,geantL","St_geant_Maker" - , "Pythia6_4_26,bpythia","Load Pythia in starsim, set pp 510 GeV",kFALSE}, - {"Wenu" ,"" ,"","pythia","", "" ,"set pp 510 GeV -> W+/- -> e+/- nu/nubar",kFALSE}, - {"hijing" ,"geant" ,"","-gstar,-fzin,-ntin,-geant,geantL","St_geant_Maker" - ,"StarGeneratorUtil,StarGeneratorEvent,StarGeneratorBase,Hijing1_383" - , "Load Hijing in starsim, set AuAu200 GeV",kFALSE}, - {"tdaq" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"miniDAQ" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"fzin" ,"geant","","Simu,-gstar,-ntin,-geant,geantL","St_geant_Maker","" - , "read gstar fz-file",kFALSE}, - {"UseXgeom","","","-geometry,-geomNoField,xgeometry","","","suppress mortran version of geometry",kFALSE}, - {"in" ,"" ,"","" , "StIOMaker","StIOMaker","Read [DAQ|ROOT] input file",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Db makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"db" ,"db" ,"","StDbT" ,"St_db_Maker","StDbLib,StDbBroker,St_db_Maker","",kFALSE}, - {"magF" ,"MagField","","StDbT,db,detDb","StMagFMaker","StarMagField,StMagF" - , "Mag.field map with scale factor from Db",kFALSE}, - {"detDb","detDb","","db","StDetectorDbMaker","StDetectorDbMaker","Load StDetectorDbMaker library",kFALSE}, - {"mtin" ,"geant" ,"","-fzin,-geant,-gstar,geantL,gstarLib,-magF","St_geant_Maker" - , "gstar","read event from MuDst",kFALSE}, - {"tpcDB" ,"tpcDB","","tpc_T,dbutil,detDb,StarMagField,magF,StEvent","StTpcDbMaker","StTpcDb","",kFALSE}, - {"dbutil" ,"" ,"","detDb,StDbT" ,"","StDbUtilities","Load StDbUtilities",kFALSE}, - {"svtDb" ,"svtDb","","tpcDb,SvtCL", "StSvtDbMaker","StSvtDbMaker","Load and run SvtDbMaker",kFALSE}, - {"ssdDb" ,"ssdDb","","tpcDb,SsdUtil","StSsdDbMaker","StSsdDbMaker","Load and run SsdDbMaker",kFALSE}, - {"sstDb" ,"sstDb","","tpcDb,SstUtil","StSstDbMaker","StSsdDbMaker","Load and run SstDbMaker",kFALSE}, - {"svtCalDb" ,"" ,"","svtDb" ,"","","Declare Calibrations/svt as while list member",kFALSE}, - {"ssdCalDb" ,"" ,"","ssdDb" ,"","","Declare Calibrations/ssd as while list member",kFALSE}, - {"sstCalDb" ,"" ,"","sstDb" ,"","","Declare Calibrations/sst as while list member",kFALSE}, - {"eemcDb" ,"eeDb" ,"","db,EEmcUtil", "StEEmcDbMaker","StEEmcDbMaker","Load EEmcDbMaker",kFALSE}, - {"fmsDb" ,"fmsDb","","db,fmsutil", "StFmsDbMaker","StFmsDbMaker","Load FmsDbMaker",kFALSE}, - {"fcsDb" ,"fcsDbMkr","","", "StFcsDbMaker","StFcsDbMaker","Load FcsDbMaker",kFALSE}, - {"fttDb" ,"fttDbMkr","","", "StFttDbMaker","StFttDbMaker","Load FttDbMaker",kFALSE}, - {"fgtDb" ,"fgtDb","","db,fgtutil", "StFgtDbMaker","StFgtDbMaker","Load FgtDbMaker",kFALSE}, - {"pxlDb" ,"pxlDb","","tpcDb PxlUtil", "StPxlDbMaker","StPxlDbMaker","Load PxlDbMaker",kFALSE}, - {"istDb" ,"istDb","","tpcDb", "StIstDbMaker","StIstDbMaker","Load IstDbMaker",kFALSE}, - {"fstDb" ,"fstDb","","tpcDb", "StFstDbMaker","StFstDbMaker","Load FstDbMaker",kFALSE}, - {"epdDb" ,"epdDb","","tpcDb", "StEpdDbMaker","StEpdDbMaker","Load EpdDbMaker",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"MAKERS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ntin" ,"geant","","paw,-fzin,-geant,-gstar,Simu,geantL,gstarLib","St_geant_Maker" - , "","read event generated Hbook nt-file",kFALSE}, - {"PrepEmbed","","","geantEmb","StPrepEmbedMaker","St_geant_Maker" - , "Prepare kinematics for embedding",kFALSE}, - {"PythiaEmbed","","","pythia,-Simu","","", "Prepare kinematics for embedding",kFALSE}, - {"geant" ,"geant","","geantL" ,"St_geant_Maker","","passive GEANT",kFALSE}, - {"geantEmb" ,"geant","","geantL" ,"St_geant_Maker","","GEANT embedding mode",kFALSE}, - {"RootVMC","","","-geant,-fzin,-ntin,StarMagField,-geantL,-geometry,-geomNoField,geant3","","","",kFALSE}, - {"VMCAppl" ,"","","geomT,gen_t,sim_T,tpcDB,RootVMC,","","StSvtDbMaker,StSsdDbMaker,StarVMCApplication" - , "VMC G3",kFALSE}, - {"VMC" ,"geant","","Simu,VMCAppl,-geant","StVMCMaker", "StVMCMaker","VMC Maker",kFALSE}, - {"VMCPassive" ,"geant","","VMCAppl", "StVMCMaker","StVMCMaker","VMC Maker in Passive Mode",kFALSE}, - {"trg" ,"trg","l0Chain","trg_T,globT,db","St_trg_Maker","St_trg,St_trg_Maker" - , "trigger analysis for Year 2001-2005 data",kFALSE}, - {"TRGDef" ,"" ,"","","" ,"StTriggerDataMaker","Load StTriggerData",kFALSE}, - {"trgd" ,"trgd","","TRGDef" ,"StTriggerDataMaker","StTriggerDataMaker","Get trigger data",kFALSE}, - {"MakeEvent","0Event","","StEvent,detDb","StEventMaker","StTpcDb,StEventMaker" - , "",kFALSE}, - {"LaserAvEv" ,"","","" ,"StLaserAvEventMaker","StLaserAvEventMaker","Hejrad",kFALSE}, - {"LaserAvCl" ,"","","" ,"StLaserAvClusterMaker","StLaserAvClusterMaker","",kFALSE}, - {"l0" ,"l0Chain","","globT,ctf,trg" ,"StMaker","StChain","",kFALSE}, - {"ctf" ,"ctf","l0Chain","ctf_T,db" ,"St_ctf_Maker","ctf,St_ctf,St_ctf_Maker","ToF simulation",kFALSE}, - {"mwc" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppMCTrig" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"pp2pp" ,"","","", "St_pp2pp_Maker","St_pp2pp_Maker","pp->pp",kFALSE}, - {"mtdFilt" ,"","","", "StMtdEvtFilterApplyMaker","StDataFilterMaker","MTD-based event filtering",kFALSE}, - {"mtd" ,"MtdChain","","mtdDat,mtdMatch","StMaker", "StChain","MTD Chain",kFALSE}, - {"mtdDat" ,"mtd_raw","MtdChain","db,MuDst","StMtdHitMaker","StEvent,StMtdHitMaker" - , "MTD hit maker",kFALSE}, - {"mtdTrkMask","","","db","StMtdTrackingMaskMaker" ,"StMtdEvtFilterMaker","MTD track masking",kFALSE}, - {"epdHit", "", "", "epdDb,event", "StEpdHitMaker", "StEpdHitMaker","EPD hit maker", kFALSE}, - {"tpc" ,"","","TpxRaw,TpxClu,tpcI" ,"","","WARNING *** Option is OBSOLETE *** use TpxClu instead",kFALSE}, - {"tpcI" ,"tpcChain","","db,tpcDB,TpcHitMover", "StMaker","StChain","tpc with ITTF",kFALSE}, - {"tpcX" ,"tpcChain","","-tpcI,tpx,MakeEvent" ,"StMaker","StChain","tpc+tpcx with ITTF",kFALSE}, - {"Trs","Trs","tpcChain","scl,tpcDB,TrsToF,StEvent,EmbeddingShortCut","StTrsMaker","StTrsMaker","",kFALSE}, - {"TpcRS","","tpcChain","scl,tpcDB,-Trs,-EmbeddingShortCut,Stu","StTpcRSMaker" - ,"libMathMore,StdEdxY2Maker,StTpcRSMaker", "New Tpc Response Simulator",kFALSE}, - {"tfs" ,"","","TpcFastSim" ,"","","WARNING *** Option is OBSOLETE *** use TpcFastSim instead",kFALSE}, - {"TpcFastSim" ,"tpc_hits","tpcChain","MakeEvent,Simu,-trs,-TpcRS,-tcl,-tpxclu,-fcf,-tpc_daq,StEvent," - "-TpcHitMover,EmbeddingShortCut" ,"StTpcFastSimMaker","St_tcl_Maker","use tfs (no Trs or TpcRS)",kFALSE}, - {"EmbeddingShortCut","","","", "","","Short Cut for StdEdxY2Maker and StTpcHitMover",kFALSE}, - {"StMcEvent" ,"","","gen_t,sim_T" ,"","StMcEvent","",kFALSE}, - {"McEvent" ,"","","StEvent,tpcDb,EEmcUtil,EmcUtil,StMcEvent","StMcEventMaker","StMcEventMaker","",kFALSE}, - {"Mixer" ,"tpc_raw","","daq","StMixerMaker" ,"StTrsMaker,StMixerMaker","",kFALSE}, - {"St_tpc" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"St_svt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tpc_daq" ,"","","TpxRaw", "","","WARNING *** Option is OBSOLETE *** use TpxRaw instead",kFALSE}, - {"tcl","","","TpxRaw,TpxClu,MakeEvent","","" - , "WARNING *** Option is OBSOLETE *** use option TpxRaw,TpxClu,MakeEvent instead",kFALSE}, - {"fcf" ,"","","-tcl,tpcX", "","","WARNING *** Option is OBSOLETE *** use tpcX instead",kFALSE}, - {"tpx" ,"tpc_hits","tpcChain","MakeEvent,tpc_T,StEvent,rts,detDb" - , "StTpcHitMaker","StTpcHitMaker","TPC hit reader for tpc + tpx via EVP_READER",kFALSE}, - {"gmt" ,"GmtChain","","gmtDat,gmtClu" ,"StMaker","StChain","Gmt data Chain",kFALSE}, - {"gmtDat" ,"","GmtChain", "event","StGmtRawMaker","StGmtRawMaker", "GMT Data reader",kFALSE}, - {"gmtClu" ,"","GmtChain","gmtutil","StGmtClusterMaker","StGmtClusterMaker","GMT cluster maker",kFALSE}, - {"TpxPulser","TpxPulser","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker","TPC+TPX pulser analysis" - , kFALSE}, - {"TpxPadMonitor","","","" ,"","","WARNING *** Option is OBSOLETE ***", kFALSE}, - {"TpxAvLaser","TpxAvLaser","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX averaging laser events into Sparse histogram on pixels level", kFALSE}, - {"TpxDumpPxls2Nt","TpxDumpPxls2Nt","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX pixel dump to NTuple", kFALSE}, - {"TpxRaw","TpxRaw","tpcChain","rts,detDb,StEvent","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX convert DAQ Tpc Raw Data to TpcRawEvent used by TpcMixer and/or TpxClu", kFALSE}, - {"TpcMixer","","tpcChain","StEvent,rts,-Mixer,-tpx,TpxClu" ,"StTpcMixerMaker","StTpcHitMaker","",kFALSE}, - {"TpxClu","tpc_hits","tpcChain","rts,tpcDb,detDb,-tpx,-tpc_daq,-fcf","StTpcRTSHitMaker" - ,"StTpcHitMaker", "RTS(online) cluster maker",kFALSE}, - {"TpxClu2D" ,"","","TpxClu","","", "RTS(online) 2D-cluster maker",kFALSE}, - {"TpcAvCluster","TpcAvCluster","tpcChain","rts,detDb","StTpcAvClusterMaker","StTpcHitMaker" - , "TPC+TPX averaging laser events into Sparse histogram on cluster level", kFALSE}, - {"Velo" ,"","tpcChain","tpc_T" ,"StVeloMaker","StVeloMaker","",kFALSE}, - {"TpcHitMover" ,"tpc_hit_mover","tpcChain","tpcDb,StEvent,Stu" - , "StTpcHitMover","StTpcHitMoverMaker","TPC hits coord transform + corrections",kFALSE}, - {"tpt","","ITTF","", "","","WARNING *** Option is OBSOLETE *** use ITTF",kFALSE}, - {"tpt_old","","ITTF","", "","","WARNING *** Option is OBSOLETE *** use ITTF",kFALSE}, - {"TpcT0" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ChargeStep","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"laser" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PreVtx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"svt" ,"svtChain","","svt_T,SvtCL" ,"StMaker","StChain","",kFALSE}, - {"svt_daq" ,"svt_raw","svtChain","daq,SvtCL" ,"StSvtDaqMaker","StSvtDaqMaker","",kFALSE}, - {"sss" ,"","","SvtSlowSim" ,"","","Short cut for SvtSlowSim",kFALSE}, - {"SvtSlowSim" ,"","","SvtSSim,SvtOnlSeq" ,"","","Short cut for SvtSlowSim and SvtOnlSeq",kFALSE}, - {"SvtSSim","SvtSSimu","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit" - , "StSvtSimulationMaker","StSvtSimulationMaker,StSvtCalibMaker","",kFALSE}, - {"SvtEmbed" ,"","","SvtSSim,SvtEm,SvtOnlSeq" ,"","","Short cutfor SvtSlowSim and SvtOnlSeq",kFALSE}, - {"SvtEm","SvtEm","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit","StSvtEmbeddingMaker" - , "StSvtSimulationMaker,StSvtCalibMaker","",kFALSE}, - {"SvtOnlSeq" ,"SvtOnlSeq","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit" - , "StSvtOnlineSeqAdjSimMaker","StSvtSimulationMaker","",kFALSE}, - {"srs","","","sfs", "","","WARNING *** Option is OBSOLETE use sfs instead ***",kFALSE}, - {"sfs","svt_hits","svtChain","svtDb,Simu,SvtCL,-sss,-SvtSlowSim,StEvent,MakeEvent" - , "St_sfs_Maker","St_srs_Maker","Very fast simulator for SVT",kFALSE}, - {"SvtSeqAdj" ,"SvtSeqAdj","svtChain","SvtCL" ,"StSvtSeqAdjMaker","StSvtSeqAdjMaker","",kFALSE}, - {"SvtClu" ,"SvtClu","svtChain","svt_T,StEvent,SvtCL","StSvtClusterMaker","StSvtClusterMaker","",kFALSE}, - {"SvtCluAnal" ,"SvtCluAnal","svtChain","SvtCL","StSvtClusterAnalysisMaker","StSvtClusterMaker","",kFALSE}, - {"SvtHit" ,"svt_hits","svtChain","SvtCL" ,"StSvtHitMaker","StSvtClusterMaker","",kFALSE}, - {"SvtVtx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"stk" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Est" ,"","","SvtIT", "","","WARNING *** Option is OBSOLETE *** use SvtIT instead",kFALSE}, - {"global" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Match" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Vertex" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Primary" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"V0" ,"","","V02", "","","WARNING *** Option is OBSOLETE use V02 instead***",kFALSE}, - {"Xi" ,"","","Xi2", "","","WARNING *** Option is OBSOLETE use Xi2 instead***",kFALSE}, - {"Kink" ,"","","Kink2", "","","WARNING *** Option is OBSOLETE use Kink2 instead***",kFALSE}, - {"dst" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Fglobal" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Fprimary" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"dEdx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"svtdEdx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Event" , "","","MakeEvent", "","","Request to initialize event",kFALSE}, - {"pxlRaw" ,"","","pxlDb", "StPxlRawHitMaker", "StPxlRawHitMaker", "PXL raw hit maker",kFALSE}, - {"pxlFastSim" ,"","","pxlRaw,StMcEvent,StEvent" - , "StPxlSimMaker","StPxlSimMaker","PXL Fast Simulator",kFALSE}, - {"pxlSlowSim" ,"","","pxlRaw,StMcEvent,StEvent" - , "StPxlSimMaker","StPxlSimMaker","PXL Slow Simulator",kFALSE}, - {"pxlCluster" ,"","","pxlRaw", "StPxlClusterMaker", "StPxlClusterMaker", "PXL cluster maker",kFALSE}, - {"pxlHit" ,"","","event pxlCluster", "StPxlHitMaker", "StPxlHitMaker", "PXL hit maker",kFALSE}, - {"istSlowSim", "", "","StMcEvent,StEvent,IstUtil", "StIstSlowSimMaker", - "StIstSimMaker", "IST Slow simulator", kFALSE}, - {"istFastSim","","","StMcEvent,StEvent","StIstFastSimMaker","StIstSimMaker","IST Fast simulator", kFALSE}, - {"istRawHit", "", "", "istUtil,istDb","StIstRawHitMaker", "StIstRawHitMaker","IST RAWhit maker", kFALSE}, - {"istCluster", "", "", "istRawHit","StIstClusterMaker", "StIstClusterMaker","IST Cluster maker", kFALSE}, - {"istHit", "", "", "event,istCluster", "StIstHitMaker", "StIstHitMaker","IST Hit Maker",kFALSE}, - {"fst","fstChain","","fstRawHit,fstCluster,fstHit", "StMaker","StChain","FST chain" ,kFALSE}, - {"fstFastSim","","fstChain","StMcEvent,StEvent","StFstFastSimMaker","StFstSimMaker","FST fast simulator", - kFALSE}, - {"fstRawHit", "", "fstChain", "fstUtil,fstDb","StFstRawHitMaker", "StFstRawHitMaker","FST raw hit maker", - kFALSE}, - {"fstCluster", "", "fstChain", "fstRawHit","StFstClusterMaker", "StFstClusterMaker","FST Cluster maker", - kFALSE}, - {"fstHit", "", "fstChain", "event,fstCluster", "StFstHitMaker", "StFstHitMaker","FST Hit Maker", - kFALSE}, - {"fstUtil" , "", "", "", "", "StFstUtil", "Fst Utilities", - kFALSE}, - {"ssddat" ,"","","ssd_daq" ,"","","SSD full chain for Real Data",kFALSE}, - {"sstdat" ,"","","sst_daq" ,"","","SST full chain for Real Data",kFALSE}, - {"ssd_daq","","","ssdCalDb,svt_T,-sls,-spa,ssdUtil","StSsdDaqMaker","StSsdDaqMaker","... SSD Daq",kFALSE}, - {"sst_daq","","","sstCalDb,svt_T,-sls,-spa,sstUtil","StSstDaqMaker","StSstDaqMaker","... SSDT Daq",kFALSE}, - {"ssdfast" ,"","","ssdDb,StMcEvent,StEvent","StSsdFastSimMaker","StSsdFastSimMaker", - "... SSD fast simulator" ,kFALSE}, - {"ssd" ,"","","ssdCalDb,sls,spa,sptd" ,"","","SSD full chain for simulation",kFALSE}, - {"sls","","","McEvent,Simu,svt_T,SvtCL" - , "St_sls_Maker","StSsdSimulationMaker", "... SSD slow simulator",kFALSE}, - {"spa" ,"SpaStrip","","Simu,svt_T,SvtCL,ssdUtil","St_spa_Maker","StSsdSimulationMaker" - , "... SSD Pedestal Annihilator",kFALSE}, - {"SsdEmbed" ,"","","","StSsdEmbeddingMaker","StSsdSimulationMaker","... SSD Mixing geom Maker" ,kFALSE}, - {"spt" ,"","","sptd", "","" ,"Alias for sptd - please replace in chain",kFALSE}, - {"sptd" ,"","","ssdUtil,svt_T", "StSsdPointMaker","StSsdPointMaker","... SSD Point Creator",kFALSE}, - {"sptt" ,"","","sstUtil", "StSstPointMaker","StSstPointMaker", "... SST Point Creator",kFALSE}, - {"sstHit", "", "", "sst_daq,sptt", "", "","SST reconstruction chain",kFALSE}, - {"ssdpre" ,"","","ssdEmbed,spa" ,"","","SSD full chain for pre-embedding",kFALSE}, - {"ssdAdd" ,"","","ssd_daq","StSsdAddMaker","StSsdAddMaker", "... SSD merge maker",kFALSE}, - {"ssdE" ,"","","ssdpre,ssdAdd" ,"","","SSD full chain for embedding",kFALSE}, - {"ZDCVtx" ,"","","db" ,"StZdcVertexMaker","StZdcVertexMaker","",kFALSE}, - {"emcDY2" ,"emcRaw","","daq,eemcDb,EEmcUtil,emc_T,EmcUtil,StEvent,PreEcl,Epc" - ,"StEmcRawMaker","StEmcRawMaker", "B/E EMC data common maker",kFALSE}, - {"eemcD" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"emcY2" ,"","","emc_T,tpc_T,db,emcSim,PreEcl,epc","","" - , "EMC Chain for Y2A (must be before makers which include in this chain)",kFALSE}, - {"emcSim" ,"","","emc_T,EmcUtil,McEvent,MuDST","StEmcSimulatorMaker","StEmcSimulatorMaker" - , "New simulator for BEMC",kFALSE}, - {"EEfs" ,"eefs","","eemcDb,EEmcUtil,MuDst","StEEmcFastMaker","StEEmcSimulatorMaker" - , "EEMC fast simulator",kFALSE}, - {"EEss" ,"eess","","-eefs,eemcDb,EEmcUtil,MuDst","StEEmcSlowMaker","StEEmcSimulatorMaker" - , "EEMC slow simulator",kFALSE}, - {"BEmcMixer", "","","", "StEmcMixerMaker","StEmcMixerMaker","BEMC mixer",kFALSE}, - {"emcAtoE" ,"bemcA2E","" ,"db","StEmcADCtoEMaker","StEmcADCtoEMaker" - , "B-EMC ADC to E converter OBSOLETE for data in Run 9 or later",kFALSE}, - {"PreEcl" ,"preecl","","" ,"StPreEclMaker", "StPreEclMaker","B-EMC Cluster finder",kFALSE}, - {"Epc" ,"epc","","PreEcl,EmcUtil" ,"StEpcMaker","StEpcMaker","B-EMC point maker",kFALSE}, - {"EEmcMixer", "","","", "StEEmcMixerMaker","StEEmcSimulatorMaker","EEMC mixer",kFALSE}, - {"eemcA2E","eemcA2E","" ,"db","StEEmcA2EMaker", "StEEmcA2EMaker","E-EMC ADC to E converter",kFALSE}, - {"eemCl" ,"eemCl","","db","StEEmcClusterMaker" ,"StEEmcClusterMaker","E-EMC clustering",kFALSE}, - {"btof" ,"BTofChain","","btofDat,vpdCalib,btofMatch,btofCalib","StMaker" - , "StChain","BTOF Chain",kFALSE}, - {"BtofDat" ,"tof_raw","BTofChain","db,BTofutil","StBTofHitMaker","StEvent,StBTofHitMaker" - , "BTOF hit maker",kFALSE}, - {"vpdSim" ,"","VpdChain","BTofUtil","StVpdSimMaker","StEvent,StMcEvent,StBTofHitMaker,StVpdSimMaker" - , "Vpd Simulator",kFALSE}, - {"vpdCalib","","BTofChain","db,BTofUtil","StVpdCalibMaker" ,"StVpdCalibMaker","VPD calibration",kFALSE}, - {"btofSim" ,"","BTofChain","BTofUtil" ,"StBTofSimMaker", - "StEvent,StMcEvent,StTofUtil,StBTofHitMaker,StBTofSimMaker","BTOF Simulator",kFALSE}, - {"btofMixer" ,"","BTofChain","BTofUtil","StBTofMixerMaker","StEvent,StBTofHitMaker,StBTofMixerMaker" - , "BTof Mixer",kFALSE}, - {"ETofDat", "etof_raw","ETofChain", "db, ETofUtil", "StETofDigiMaker", "StEvent,StETofDigiMaker", - "ETOF digi maker",kFALSE}, - {"ETofCalib", "", "ETofChain", "db, ETofUtil, muDst", "StETofCalibMaker", "StETofCalibMaker", - "ETOF calibration",kFALSE}, - {"ETofSim" , "", "ETofChain", "", "StETofSimMaker", "StETofSimMaker", - "ETOF simulator",kFALSE}, - {"mtdSim" ,"","MtdChain","","StMtdSimMaker", "StEvent,StMtdSimMaker","MTD Simulator",kFALSE}, - {"ToF" ,"TofChain","","tofDat,tofrMatch,tofpMatch,tofCalib,geant","StMaker","StChain","ToF Chain",kFALSE}, - {"ToFx" ,"TofChain","","tofXDat,tofrMatch,tofCalib,geant" ,"StMaker","StChain","ToFx Chain",kFALSE}, - {"tofDat" ,"tof_raw","TofChain","db,Tofutil","StTofMaker","StEvent,StTofMaker", - "TOF Data base chain", kFALSE}, - {"tofXDat" ,"tof_raw","TofChain","db,Tofutil","StTofHitMaker","StEvent,StTofMaker,StTofHitMaker", - "TOF hit maker", kFALSE}, - {"tofsim" ,"","TofChain","TofUtil","StTofSimMaker","StEvent,StTofMaker,StTofSimMaker", - "TOF Simulator, Tof version before y2009", kFALSE}, - {"tofrMatch" ,"","TofChain","db,TofUtil","StTofrMatchMaker","StTofrMatchMaker", - "TPC to TOFr track matching", kFALSE}, - {"tofpMatch" ,"","TofChain","db,TofUtil","StTofpMatchMaker","StTofpMatchMaker", - "TPC to TOFp track matching", kFALSE}, - {"tofCalib" ,"","TofChain","db,TofUtil","StTofCalibMaker","StTofCalibMaker", "TOF calibration",kFALSE}, - {"FiltGamma" ,"","","StEvent,StMcEvent,EmcUtil", - "StGammaFilterMaker","StFilterMaker", "BEmc Gamma filtering", kFALSE}, - {"FiltEemcGamma" ,"","","StEvent,StMcEvent,EmcUtil", - "StEemcGammaFilterMaker","StFilterMaker", "EEmc Gamma filtering", kFALSE}, - {"rich" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Rrs" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"rch" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"RichPiD" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3cl" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3t" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3onl" ,"","","" ,"Stl3RawReaderMaker","Stl3RawReaderMaker","",kFALSE}, - {"l3count" ,"","","" ,"Stl3CounterMaker","Stl3RawReaderMaker","",kFALSE}, - {"bbcSim" ,"","","db","StBbcSimulationMaker" ,"StBbcSimulationMaker","BBC Simulator",kFALSE}, - {"fmsSim","" ,"","StEvent,fmsDb", - "StFmsFastSimulatorMaker","StFmsFastSimulatorMaker","FMS Fast Simulator", kFALSE}, - {"fmsDat" ,"","", "StEvent,fmsDb", - "StFmsHitMaker","StFmsHitMaker","Fill FMS struct and zero TRG", kFALSE}, - {"fpsDat" ,"","", "StEvent,fmsdb", - "StFpsRawHitMaker","StFpsRawHitMaker","Fill FPS struct", kFALSE}, - {"fmsPoint" ,"","", "event,fmsDb", - "StFmsPointMaker","StFmsPointMaker","Fill FMS clusters and points", kFALSE}, - {"fmsfps" ,"","", "event,fmsDb", - "StFmsFpsMaker","StFmsFpsMaker","Fill FPS association in FMS points", kFALSE}, - {"fcs","fcsChain","","fcsDat,fcsWFF,fcsCluster,fcsPoint", "StMaker","StChain","FCS chain",kFALSE}, - {"fcsSim","" ,"fcsChain","StEvent,fcsDb", - "StFcsFastSimulatorMaker","StFcsFastSimulatorMaker","FCS Fast Simulator", kFALSE}, - {"fcsDat","" ,"fcsChain","StEvent,fcsDb", - "StFcsRawHitMaker","StFcsRawHitMaker","FCS daq file reader/hit maker", kFALSE}, - {"fcsWFF" ,"","fcsChain", "StEvent,fcsDb", - "StFcsWaveformFitMaker","StFcsWaveformFitMaker","Fit FCS waveform", kFALSE}, - {"fcsCluster" ,"","fcsChain", "StEvent,fcsDb", - "StFcsClusterMaker","StFcsClusterMaker","Fill FCS clusters", kFALSE}, - {"fcsPoint" ,"","fcsChain", "StEvent,fcsDb", - "StFcsPointMaker","StFcsPointMaker,libMinuit","Fill FCS points", kFALSE}, - {"ftt","fttChain","","FttDat,FttHitCalib,FttClu,FttPoint", "StMaker","StChain","FST chain" ,kFALSE}, - {"FttDat","","fttChain","StEvent","StFttRawHitMaker","StFttRawHitMaker,StEvent", - "sTGC Raw hit maker", kFALSE}, - {"FttHitCalib","","fttChain","StEvent,MuDST","StFttHitCalibMaker","StFttHitCalibMaker,StFttRawHitMaker,StEvent", - "sTGC hit calib maker", kFALSE}, - {"FttClu","","fttChain","StEvent,fttDb","StFttClusterMaker","StFttClusterMaker,StEvent,StFttDbMaker", - "sTGC Cluster maker", kFALSE}, - {"FttPoint","","fttChain","StEvent,fttDb","StFttPointMaker","StFttPointMaker,StEvent,StFttDbMaker", - "sTGC Point maker", kFALSE}, - {"FttQA","","fttChain","","StFttQAMaker","StFttQAMaker", "sTGC Raw hit QA maker", kFALSE}, - {"fpd" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"fgt" ,"FgtChain","","fgtDat,fgtClu,fgtAtoC" ,"StMaker","StChain","Fgt data Chain",kFALSE}, - {"fgtDat" ,"","", "event,fgtdb","StFgtRawMaker","StFgtRawMaker", "FGT Data reader",kFALSE}, - {"fgtAtoC" ,"","", "fgtdb", "StFgtA2CMaker","StFgtA2CMaker", "FGT ADC to Charge maker",kFALSE}, - {"fgtClu" ,"","", "fgtutil", "StFgtClusterMaker","StFgtClusterMaker", "FGT cluster maker",kFALSE}, - {"fgtAtoC" ,"","", "fgtdb", "StFgtA2CMaker","StFgtA2CMaker", "FGT ADC to Charge maker",kFALSE}, - {"fgtPoint" ,"","", "event", "StFgtPointMaker", "StFgtPointMaker", "Creates FGT points",kFALSE}, - {"genvtx" ,"" ,"","EEmcUtil","StGenericVertexMaker" - , "Minuit,StGenericVertexMakerNoSti" - , "Generic Vertex Finder library (default is MinuitVertexFinder)",kFALSE}, - {"VFMinuit" ,"" ,"" ,"genvtx" ,"","","... Generic VF will use Minuit method",kFALSE}, - {"CtbMatchVtx" ,"" ,"","VFMinuit","" ,"","... CTB Matching ON in Vertex Finding",kFALSE}, - {"VFMinuit2" ,"" ,"","VFMinuit","","","... Generic VF will use Minuit method w/rank mode 2",kFALSE}, - {"VFMinuit3" ,"" ,"","VFMinuit","","","... Generic VF will use Minuit method w/rank mode 3",kFALSE}, - {"VFFV" ,"" ,"","genvtx" ,"","","... Fixed dummy VF method",kFALSE}, - {"VFMCE" ,"" ,"","genvtx" ,"","","... Fixed vertex from MCEvent",kFALSE}, - {"VFppLMV" ,"" ,"","genvtx" ,"","","... VertexMaker will use ppLMV method",kFALSE}, - {"VFppLMV5" ,"" ,"","VFppLMV" ,"","","... VertexMaker will use ppLMV method (tuned)",kFALSE}, - {"VFStoreX" ,"" ,"","" ,"","","... VertexMaker will use save at least 100 vertices",kFALSE}, - {"StiPulls" ,"","","" ,"","", "Request to make Sti Pulls",kFALSE}, - {"StvPulls" ,"","","" ,"","", "Request to make Stv Pulls",kFALSE}, - {"StiLib" ,"","","" ,"","Sti,StiUtilities","Load Sti",kFALSE}, - {"StiCALib" ,"","","" ,"","TPCCATracker,StiCA","Load Sti+CA",kFALSE}, - {"StiTpc" ,"","","TpcDb,ITTF,tpc_T,dbutil,detDb,StarMagField,magF" ,"","StiTpc","Load StiTpc",kFALSE}, - {"StiSvt" ,"",""," " ,"","StSvtClassLibrary,StSvtDbMaker,StiSvt","Load StiSvt",kFALSE}, - {"StiSsd" ,"","","" ,"","StSsdUtil,StSsdDbMaker,StiSsd","Load StiSsd",kFALSE}, - {"StiSst" ,"","","" ,"","StSsdUtil,StSsdDbMaker,StiSsd","Load StiSsd(t)",kFALSE}, - {"StiPxl" ,"","","" ,"","StPxlUtil,StPxlDbMaker,StiPxl","Load StiPxl",kFALSE}, - {"StiIst" ,"","","" ,"","StIstUtil,StIstDbMaker,StiIst","Load StiIst",kFALSE}, - {"StiLibs" ,"","","StiTpc,StiSvt,StiSsd,BTofUtil" - ,"","StEEmcDbMaker","Load Sti Detector libs",kFALSE}, - {"StiLibsHft" ,"","","StiLibs,StiSst,StiPxl,StiIst" ,"","","Load Sti Detector libs for HFT",kFALSE}, - {"StiHftP", "","","StiLibsHft,-SvtIT,-SsdIT,PxlIT,pxlDb","" ,"","Enables partial Hft (PXL)",kFALSE}, - {"StiHftC", "","","StiLibsHft,-SvtIT,-SsdIT,PxlIT,pxlDb,IstIT,istDb,SstIT,sstDb","" - , "","Enables complete Hft (PXL+IST+SST)",kFALSE}, - {"VFPPV" ,"" ,""," eemcDb,StiLib,-VFMinuit,-VFMinuit2,-VFMinuit3,","StGenericVertexMaker" - , "Minuit,StGenericVertexMaker","... Pile-up proof vertex finder",kFALSE}, - {"VFPPVnoCTB" ,"" ,"","VFPPV","" ,"","... Pile-up proof vertex finder, noCTB",kFALSE}, - {"VFPPVEv" ,"" ,"" ,"eemcDb" ,"StGenericVertexMaker" - , "Minui,StGenericVertexMaker" ,"... StEvent based VFPPV, noCTB",kFALSE}, - {"VFPPVEvNoBtof" ,"" ,"" ,"VFPPVEv" ,"" ,"","...VFPPVEv with no Btof ",kFALSE}, - {"Sti" ,"Sti","","StiLib,StiLibs,SCL,StEvent,StDbT,TpcIT,compend,sim_T,tbutil","StiMaker" - , "StEventUtilities,StiUtilities,StiMaker","Sti tracker",kFALSE}, - {"StiCA" ,"Sti","","Sti","StiMaker","TPCCATracker,StiCA" ,"StiCA tracker",kFALSE}, - {"StiCAPerf","","","","", "TPCCATrackerPerformance", "CA Performance",kFALSE}, - {"StiCA" ,"Sti","","Sti,StiLib,StiCALib,StiLibs,SCL,StEvent,StDbT,TpcIT,compend,tbutil","StiMaker" - , "StEventUtilities,libEG,StiUtilities,StiMaker","Sti+CA tracker",kFALSE}, - {"HLTCA" ,"" ,"Sti","", "StHLTCAMaker","StHLTCAMaker", "HLT reconstruction",kFALSE}, - {"KFVertex" ,"" ,"Sti","-genvtx,-VFMinuit,-VFFV,-VFMCE,-VFppLMV,-VFPPVnoCTB,-VFPPV,-Kink2,-V02,-Xi2" - ,"StKFVertexMaker", "MathMore,Spectrum", "...KFParticle based multi vertex reconstruction",kFALSE}, - {"Stv" ,"Stv","","-xgeometry,-Sti,-StiTpc,-StiSsd,-StiSvt,-StiPxl,-StiSsd,-StiSst,-StiIst,","StvMaker" - ,"libHist,libHistPainter,libVMC,StarMiniCern,geant3,GeoTestMaker,StvUtil,Stv,StvSeed,StvMaker,StEventUtilities,-StiLibs,-StiLibsHft","Stv",kFALSE}, - {"StvCA" ,"StvCA","","Stv","","" ,"StvCA",kFALSE}, - {"StiVMC" ,"StiVMC","","-Sti,SCL,StEvent,StDbT,TpcDb,compend","StiVMCMaker" - , "StEventUtilities,StiVMC,StiVMCMaker" ,"ITTF VMC tracker",kFALSE}, - {"StiVMCLibs","","","detDb,StarMagField","", "","ITTF:load StiVMC libraries",kFALSE}, - {"laserIT" ,"","","","", "TpcIT","use Sti for laser reconstruction",kFALSE}, - {"TpcIT" ,"","","ITTF" ,"","","Sti tracking: TPC",kFALSE}, - {"SvtIT" ,"","","ITTF" ,"","","Sti tracking: SVT",kFALSE}, - {"SsdIT" ,"","","ITTF" ,"","","Sti tracking: SSD",kFALSE}, - {"HpdIT" ,"" ,"","ITTF","" ,"Sti,StiRnD","Sti tracking: Hpd geom",kFALSE}, - {"PixelIT","" ,"","PxlIT","" ,"","Alias for PxlIT",kFALSE}, - {"PxlIT" ,"" ,"","ITTF","" ,"","Sti tracking: Pixel geom",kFALSE}, - {"IstIT" ,"" ,"","ITTF","" ,"","Sti tracking: Ist geom",kFALSE}, - {"SstIT" ,"" ,"","ITTF","" ,"","Sti tracking: Sst geom",kFALSE}, - {"iTpcIT" ,"" ,"","ITTF","" ,"","Sti tracking: iTpc geom + hits",kFALSE}, - {"BTofIT" ,"" ,"","ITTF","" ,"","Sti tracking: BTof geom",kFALSE}, - {"NoSvtIT" ,"" ,"","-SvtIT","" ,"","ITTF: track with switch off SVT geom",kFALSE}, - {"NoSsdIT" ,"" ,"","-SsdIT","" ,"","ITTF: track with switch off SSD geom",kFALSE}, - {"NoSstIT" ,"" ,"","-SstIT","" ,"","ITTF: track with switch off SST geom",kFALSE}, - {"NoPxlIT" ,"" ,"","-PxlIT","" ,"","ITTF: track with switch off PXL geom",kFALSE}, - {"NoIstIT" ,"" ,"","-IstIT","" ,"","ITTF: track with switch off IST geom",kFALSE}, - {"skip1row" ,"" ,"","","" ,"","ITTF: skip the first pad row in TPC",kFALSE}, - {"StiRnD" ,"","","", "","StiRnD", "Load StiRnD shared library",kFALSE}, - {"Alignment" ,"","","", "","", "Sti Tpc Alignment, reconstruction per sector",kFALSE}, - {"Cosmics" ,"","","", "","", "Ignore events without recostructed tracks",kFALSE}, - {"StiPulls" ,"","","Sti", "","", "Request to make Sti Pulls",kFALSE}, - {"BeamBack" ,"","","StEvent" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"dEdxY2" ,"dEdxY2","","tpcDb,StEvent","StdEdxY2Maker","libMinuit,StdEdxY2Maker" - , "Bichsel method used for dEdx",kFALSE}, - {"CalcdNdx", "", "", "dEdxY2", "", "", "Option for StdEdxY2Maker to calculate dN/dx",kFALSE}, - {"btofMatch" ,"","","db,BTofUtil,vpdCalib,btofCalib","StBTofMatchMaker","StBTofMatchMaker" - , "TPC-BTOF track matching",kFALSE}, - {"btofCalib","","","db,BTofUtil", "StBTofCalibMaker","StBTofCalibMaker","BTOF calibration",kFALSE}, - {"ETofHit", "", "ETofChain", "db, ETofUtil, muDst", "StETofHitMaker", "StETofHitMaker", - "ETOF hit maker",kFALSE}, - {"ETofMatch", "", "ETofChain", "db, ETofUtil, muDst", "StETofMatchMaker", "StETofMatchMaker", - "ETOF match maker",kFALSE}, - {"ETofQa", "", "ETofChain", "db, ETofUtil, muDst", "StETofQAMaker", "StETofQAMaker", - "ETOF QA maker",kFALSE}, - {"ETofA", "", "","etofdat,ETofCalib,etofhit,ETofMatch","","... ETOF chain options for data", kFALSE}, - {"mtdMatch" ,"","","db,MtdUtil", "StMtdMatchMaker","StMtdMatchMaker","TPC-MTD track matching",kFALSE}, - {"mtdCalib" ,"","","db", "StMtdCalibMaker","StMtdCalibMaker","MTD calibration",kFALSE}, - {"mtdEvtFilt" ,"","","db", "StMtdEvtFilterMaker","StMtdEvtFilterMaker","MTD event filter" ,kFALSE}, - {"FindVtxSeed" ,"FindVtxSeed" ,"","globT,MuDSTDeps,picoDst","StVertexSeedMaker" - , "StPass0CalibMaker", "Performs vertex seed finding",kFALSE}, - {"FindEvtVtxSeed","FindEvtVtxSeed","","MuDSTDeps,picoDst","StEvtVtxSeedMaker" - , "StPass0CalibMaker","Performs vertex seed finding using StEvent",kFALSE}, - {"Ftpc" ,"ftpcChain" ,"","ftpcT,fcl,fpt" ,"StMaker","StChain","",kFALSE}, - {"fss" ,"ftpc_raw","ftpcChain","SCL,Simu","StFtpcSlowSimMaker" - , "StFtpcSlowSimMaker,StFtpcTrackMaker,StFtpcClusterMaker","FTPC Slow simulator",kFALSE}, - {"Fcl" ,"ftpc_hits","ftpcChain","SCL,daq","StFtpcClusterMaker" - , "StFtpcTrackMaker,StFtpcClusterMaker","FTPC cluster finder",kFALSE}, - {"fpt" ,"ftpc_tracks","ftpcChain","SCL" - , "StFtpcTrackMaker","StFtpcTrackMaker","FTPC Track Maker",kFALSE}, - {"fgain" ,"","","fcl,fpt","","" - , "StFtpcClusterMaker and StFtpcTrackMaker will produce gain scan histograms",kFALSE}, - {"fdbg" ,"","","fcl,fpt","","","StFtpcClusterMaker and StFtpcTrackMaker will write debugfile",kFALSE}, - {"flaser" ,"","","fcl,fpt" ,"","","StFtpcClusterMaker and StFtpcTrackMaker for LASERTRACKING",kFALSE}, - {"pmdReco" ,"pmdReco","","PmdUtil,pmdClust" ,"StMaker","StChain","PMD Reco chain",kFALSE}, - {"pmdRaw" ,"pmdRaw","pmdReco","pmdReco,pmdRead" ,"","","PMD Reco chain giving raw data",kFALSE}, - {"pmd" ,"pmd","pmdReco","pmdReco,pmdSim,pmdDis" ,"","", "PMD Simulation chain",kFALSE}, - {"pmdRead" ,"","pmdReco","PmdUtil","StPmdReadMaker" ,"StPmdReadMaker", "DAQ reader for PMD",kFALSE}, - {"pmdSim" ,"","pmdReco","PmdUtil","StPmdSimulatorMaker","StPmdSimulatorMaker" - ,"Hit Simulator for PMD" ,kFALSE}, - {"pmdClust" ,"pmdClust","pmdReco","","StPmdClusterMaker","StPmdClusterMaker" - ,"ClusterMaker for PMD" ,kFALSE}, - {"pmdDis" ,"pmdDis","pmdReco","PmdClust","StPmdDiscriminatorMaker" - , "StPmdDiscriminatorMaker","Discriminator for PMD",kFALSE}, - {"Kink2" ,"kink2","","db,MuDST,-kink","StKinkMaker","StSecondaryVertexMaker" - , "Find Kinks from StEvent",kFALSE}, - {"V02" ,"v02","","db,MuDST,-V0","StV0FinderMaker","StSecondaryVertexMaker" - , "Find V0s from StEvent",kFALSE}, - {"Xi2" ,"xi2","","db,MuDST,-V02,-Xi","StXiFinderMaker","StSecondaryVertexMaker" - , "Xis AND V0s from StEvent",kFALSE}, - {"V0svt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Xisvt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"SCEbyE" ,"scebye","","MuDSTDeps,picoDst","StSpaceChargeEbyEMaker" - , "StMuDSTMaker,StPass0CalibMaker","Determine EbyE SpaceCharge using StEvent",kFALSE}, - {"SCScalerCal" ,"scscalercal","","MuDSTDeps,picoDst","StSpaceChargeEbyEMaker" - , "StMuDSTMaker,StPass0CalibMaker","Calibrate SpaceCharge scalers",kFALSE}, - {"compend" ,"","","event,detDb","StEventCompendiumMaker","StEventCompendiumMaker" - , "Fill event summary in ITTF Chain",kFALSE}, - {"shadow" ,"","","event,compend" ,"StShadowMaker","StShadowMaker","",kFALSE}, - {"TpcAligner" ,"","","Alignment" ,"StTpcAlignerMaker","StTpcAlignerMaker","TpcAligner",kFALSE}, - {"pec" ,"PeC","","Event" ,"StPeCMaker","StPeCMaker","PCollAnalysis",kFALSE}, - {"RichSpectra" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"TagsChain" ,"TagsChain","","" ,"StMaker","StChain","",kFALSE}, - {"TpcTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Flow" ,"","","," ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"FlowTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"FlowAnalysis","","","" ,"","WARNING *** Option is OBSOLETE ***","",kFALSE}, - {"SpectraTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"HeavyTags" ,"","TagsChain","StEVent" ,"StHeavyTagMaker","StHeavyTagMaker","",kFALSE}, - {"EbyeScaTags" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"HighPtTags" ,"","TagsChain","StEVent" ,"StHighPtTagsMaker","StHighPtTagsMaker","",kFALSE}, - {"PCollTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tags" ,"","TagsChain","globT,Event,HeavyTags,HighPtTags" - , "StTagsMaker","StTagsMaker","Collect all tags to TTree",kFALSE}, - {"noTags" ,"","","-tags,-HeavyTags,-HighPtTags" ,"","","Turn Off tags",kFALSE}, - {"MuDSTChain","MuDSTChain","EMCmDST,CMuDST","" ,"StMaker","StChain","",kFALSE}, - {"StrngMuDST","","MuDSTDeps","", "StStrangeMuDstMaker","","Creates Stangeness MuDST",kFALSE}, - {"EMCmDST" ,"","MuDSTChain","MuDst", "StEmcMicroDstMaker","","Creates EMC MuDST",kFALSE}, - {"CMuDST" ,"","MuDSTChain","MuDst,StrngMuDST,Tree", "StMuDstMaker","","Writes Common MuDST",kFALSE}, - {"RMuDST" ,"","","CMuDST" ,"","","reads Common MuDST, do not disactivate if no output files",kFALSE}, - {"picoWrite" ,"","PicoChain","picoDst","StPicoDstMaker","" ,"Writes picoDST format",kFALSE}, - {"picoRead" ,"","PicoChain","picoDst","StPicoDstMaker","" ,"WritesRead picoDST format",kFALSE}, - {"PicoVtxDefault" ,"","","" ,"" ,"","pico Vtx default mode",kFALSE}, - {"PicoVtxVpd" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx cut on Tof and VPD mode",kFALSE}, - {"PicoVtxVpdOrDefault","","","-PicoVtxDefault" ,"","","pico Vtx cut on Tof and VPD or default",kFALSE}, - {"PicoVtxFXT" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx constraint on FXT [198,202] mode",kFALSE}, - {"PicoVtxMtd" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx using MTD matching mode",kFALSE}, - {"PicoCovMtxSkip" ,"","","" ,"" ,"","Do not write covariance matrices to picoDst (default)",kFALSE}, - {"PicoCovMtxWrite","","","-PicoCovMtxSkip" ,"" ,"","Write track covariance matrices to picoDst",kFALSE}, - {"PicoBEmcSmdSkip" ,"","","" ,"" ,"","Do not write BSMD to picoDst (default)",kFALSE}, - {"PicoBEmcSmdWrite","","","-PicoBEmcSmdSkip" ,"" ,"","Write BSMD to picoDst",kFALSE}, - {"St_geom" ,"" ,"","" , "St_geom_Maker","St_geom_Maker","",kFALSE}, - {"Display" ,"","","", "","","WARNING *** Option is OBSOLETE *** use Ed.C macro instead",kFALSE}, - {"Mc" ,"McChain","McEvent","sim_T,globT,McAss,McAna" ,"StMaker","StChain","",kFALSE}, - {"McAss" ,"","McChain","McEvent", "StAssociationMaker","StAssociationMaker","",kFALSE}, - {"McAnaTpc" ,"","","McAna" ,"","","Mc Analysis for Tpc",kFALSE}, - {"McAnaSvt" ,"","","McAna" ,"","","Mc Analysis for Svt",kFALSE}, - {"McAnaSsd" ,"","","McAna" ,"","","Mc Analysis for Ssd",kFALSE}, - {"McAna" ,"","McChain","McEvent,McAss", "StMcAnalysisMaker","StMcAnalysisMaker","",kFALSE}, - {"McQa" ,"","McChain","McEvent", "StMcQaMaker","StMcQaMaker","QA histogramms for McEvent",kFALSE}, - {"McTpcAna" ,"","McAnaChain","tpcDb,dbutil,McEvent,StEvent" - , "StTpcMcAnalysisMaker","StTpcMcAnalysisMaker","",kFALSE}, - {"MiniMcEvent" ,"","","","", "StMiniMcEvent","Loads StMiniMcEvent library only",kFALSE}, - {"MiniMcMk" ,"","","McAss,MiniMcEvent","StMiniMcMaker","StMiniMcMaker" - , "Creates tree in minimc.root file",kFALSE}, - {"SvtMatTree","","","","SvtMatchedTree" - , "StSvtPoolEventT,StSvtPoolSvtMatchedTree","Create SvtMatchedTree",kFALSE}, - {"LAna" ,"","","in,detDb,StEvent,tpcDb","StLaserAnalysisMaker" - , "StLaserAnalysisMaker","Laser data Analysis",kFALSE}, - {"EandBDir","","","in,StEvent,TpcHitMover,nodefault" - , "StEandBDirMaker","MathMore,Spectrum,StEandBDirMaker", "get E&B direction",kFALSE}, - {"SpinTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPfind1" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"SpinSortA" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPprojectA","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppDAQfilter1","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPeval1" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"QA" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"EventQA","EventQA","","QUtils,Event","StEventQAMaker" ,"St_QA_Maker","Filling Y2/Y3 Qa histo",kFALSE}, - {"QAC" ,"CosmicsQA","globT","" ,"StQACosmicMaker","StQACosmicMaker","",kFALSE}, - {"QAalltrigs" ,"", "","", "","","Analyze all triggers in QA",kFALSE}, - {"HitFilt" ,"", "","", "StHitFilterMaker","StHitFilterMaker","Hit filter Maker",kFALSE}, - {"SvtHitFilt" ,"", "","HitFilt", "","","SVT Hit filter Maker",kFALSE}, - {"TpcHitFilt" ,"", "","HitFilt", "","","filter out TPC Hits not on tracks",kFALSE}, - {"HftHitFilt" ,"", "","HitFilt", "","","filter out non-HFT hits",kFALSE}, - {"KeepTpcHit" ,"", "","HitFilt", "","","Keep all TPC hits in StHitFilterMaker",kFALSE}, - {"KeepSvtHit" ,"", "","HitFilt", "","","Keep all SVT hits in StHitFilterMaker",kFALSE}, - {"KeepFgtHit" ,"", "","HitFilt", "","","Keep all FGT hits in StHitFilterMaker",kFALSE}, - {"Tree" ,"OutTree","","","StTreeMaker","StTreeMaker","Write requested branches into files",kFALSE}, - {"logger" ,"" ,"","" ,"","","Use log4cxx package to manage the program messages",kFALSE}, - {"NoSimuDb" ,"" ,"","" ,"","","Switch off Simu Option for DB",kFALSE}, - {"SimuDb" ,"" ,"","-NoSimuDb" ,"","","Switch on Simu Option for DB",kFALSE}, - {"NoOutput" ,"" ,"","-Tree,-EvOut,noTags" ,"","","Suppress Output root files",kFALSE}, - {"EvOutOnly" ,"" ,"","EvOut,Tree,noTags" ,"","","Only event.root files",kFALSE}, - {"NoDefault" ,"" ,"","" ,"","","No Default consistency check",kFALSE}, - {"Notpc_daq" ,"" ,"","-tpc_daq" ,"","","No tpc_daq",kFALSE}, - {"analysis" ,"","","StEvent" ,"StAnalysisMaker","StAnalysisMaker","Example of Analysis",kFALSE}, - {"NewTpcAlignment","","","" ,"","","Switch on new Tpc Alignment schema",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Aliased ","time stamps","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE} -}; -// ITTF Chain will be put here. Option list starting from minimalistic requirements -// and may not initially work. -// Please, preserve the comment after = { . It is used for documentation formatting -// -// ITTF Chains -Bfc_st BFC[] = { - {"Key" ,"Name" ,"Chain" ,"Opts" ,"Maker","Libs","Comment",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"TIME STAMPS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"RY2008","","","db,detDb,NosvtIT,NossdIT" ,"","","y2008 for dAu run",kFALSE}, - {"RY2009","","","db,detDb,NosvtIT,NossdIT" ,"","","y2009 for p+p run",kFALSE}, - {"ForceGeometry","","","","","", "Force geometry to overwrite the geometry coming from fz-file", kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Valid Db ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"NoDb" ,"" ,"","-db,-tpcDb,-magF" ,"","","Take out Db from Chain",kFALSE}, - {"DbV" ,"" ,"","db,ry1h" ,"","","19940614/0 Db Version for none",kFALSE}, - {"DbV0614" ,"" ,"","db,ry1h" ,"","","20000614/0 Db Version for p00hd",kFALSE}, - {"DbV0624" ,"" ,"","db,ry1h" ,"","","20000624/0 Db Version for p00hd_1",kFALSE}, - {"DbV0713" ,"" ,"","db,ry1h" ,"","","20000713/0 Db Version for p00he",kFALSE}, - {"DbV0727" ,"" ,"","db,ry1h" ,"","","20000727/0 Db Version for p00he",kFALSE}, - {"DbV0819" ,"" ,"","db,ry1h" ,"","","20000819/0 Db Version for p00hg",kFALSE}, - {"DbV1123" ,"" ,"","db,ry1h" ,"","","20001123/0 Db wo TpcDriftVel. from StTpcT0Maker",kFALSE}, - {"DbV0523" ,"" ,"","db,ry1h" ,"","", "20010523/0 Db Version for p01he",kFALSE}, - {"DbV1007" ,"" ,"","db,ry1h" ,"","", "20011007/0 Db Version for p01hi",kFALSE}, - {"DbV1107" ,"" ,"","db,ry1h" ,"","", "20011107/0 Db Version for pass1 p01gk",kFALSE}, - {"DbV1211" ,"" ,"","db,ry1h" ,"","", "20011211/0 Db Version for prod p01gl",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Geometry ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ideal", "", "","", "", "", "Ideal Alignment", kFALSE}, - {"misalign", "", "","", "","-AgMLideal", "Misaligned Geometry", kFALSE}, - {"AgMLutil", "", "","", "","StarAgmlUtil", "AgML support", kFALSE}, - {"AgMLlib", "", "","", "","StarAgmlUtil,StarAgmlLib", "AgML support", kFALSE}, - {"AgML" ,"" ,"","AgMLlib,-Agi,-VmcGeo","","Geometry,StarGeometry" - , "Alias VmcGeometry to AgiLGeometry",kFALSE}, - {"Agi" ,"" ,"","-VmcGeo","","" ,"Alias VmcGeometry to AgiGeometry (gstar original geometry)",kFALSE}, - {"VmcGeo" ,"" ,"","-AgML,-Agi" ,"","" ,"Alias VmcGeometry to VmcGeo",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Trigger Type","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Physics" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"LaserTest" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PulserSvt" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"alltrigger" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"phys_off" ,"","","" ,"","","Turn off physics in simulation",kFALSE}, - {"hadr_off" ,"","","" ,"","","Turn off hadronic interactions in simulation",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"C H A I N S ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Calibration chains","------------","-----------","-----------------------------------","","","",kFALSE}, - {"LanaDV", "","","LanaDVtpx","","" ,"get LDV",kFALSE}, - {"LanaDVtpx","","","MakeEvent,trgd,in,tpx,TpcHitMover,LaserIT,VFMinuit,Lana,Analysis,Corr4,NosvtIT,NossdIT", - "","" ,"get LDV with TPX",kFALSE}, - {"LaserDV.Chain","","","in,LaserCal,fcf,TpcHitMover,OGridLeak3D,OShortR,OSpaceZ2","","","get LDV",kFALSE}, - {"Test.default.ITTF","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent,genvtx," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.default.y2005g.ITTF","","","Test.default.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.default.y2007g.ITTF","","","Test.default.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.fast.y2005g.ITTF","","","Test.fast.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.reco.StiVMC","","","MakeEvent,tpcI,tcl,ftpc,SvtCL,Test.StiVMC" ,"","","",kFALSE}, - {"Test.default.StiVMC","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent," - "miniMcMk,McAna,Test.reco.StiVMC,CMuDst" ,"","","",kFALSE}, - {"Test.StiVMC","","","TpcRS,StiVMC,event,analysis,tags,EvOut,StarMagField,FieldOn,Idst,CMuDst" - , "","","",kFALSE}, - {"Test.VeryFast.StiVMC","","","TpcFastSim,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna," - "SvtCL,tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,StiVMC,Idst,event,analysis,EventQA,tags," - "EvOut,StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.fast.StiVMC","","","tfs,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna,SvtCL," - "tpc_T,globT,tls,db,tpcDB,svtDb,StiVMC,Idst,event,analysis,EventQA,tags,EvOut," - "StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.fast.y2007g.ITTF","","","Test.fast.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2005g.ITTF","","","Test.VeryFast.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2007g.ITTF","","","Test.VeryFast.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.default.StiVMC","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.y2009.ITTF","","","Test.default.ITTF,y2009,TpcRS,sdt20090428.141700" ,"","","",kFALSE}, - {"Test.y2009.StiVMC","","","Test.default.StiVMC,y2009,TpcRS,sdt20090428.141700,noSimuDb","","","",kFALSE}, - {"Test.fast.y2005g.StiVMC","","","Test.fast.StiVMC,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2005g.StiVMC","","","Test.VeryFast.StiVMC,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2007g.StiVMC","","","Test.VeryFast.StiVMC,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.default.Fast.ITTF","","","tfs,sfs,ssdFast,IdTruth,MakeEvent,miniMcMk,Test.ITTF", "","","",kFALSE}, - {"Test.srs.ITTF","","", "TpcRS,Simu,srs,svt,ssd,fss,bbcSim,emcY2,McEvOut,GeantOut,IdTruth," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.ITTF","","","svtIT,ssdIT,ITTF,event,analysis,EventQA,tags,EvOut,StarMagField,FieldOn" - ",IDST,CMuDst,analysis" ,"","","",kFALSE}, - {"Test.reco.ITTF","","","MakeEvent,tpcI,tcl,ftpc,SvtCL,Test.ITTF" ,"","","",kFALSE}, - {"Test.fast.ITTF","","","tfs,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna,SvtCL," - "tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,ITTF,Idst,event,analysis,EventQA,tags,EvOut," - "StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.VeryFast.ITTF","","","TpcFastSim,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna," - "SvtCL,tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,ITTF,Idst,event,analysis,EventQA,tags," - "EvOut,StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"nightly test (dev) chains","-----------","-----------","----------------------------","","","", kFALSE}, - {"MC----------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"MC.y2000" ,"","","trs,rrs,y1h,Idst,rich,IAna,l0,tpcI,tpxClu,NosvtIT,NossdIT," - "-Kink2,VFMinuit,geant,evout,IdTruth,tags,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2001" ,"","","trs,fss,rrs,y2001n,Idst,rich,IAna,l0,tpcI,tpxClu,ftpc,-Kink2," - "VFMinuit,geant,evout,IdTruth,tags,emcY2,GeantOut,big" ,"","","",kFALSE}, - {"MC.pp.y2001" ,"","","trs,rrs,fss,y2001n,Idst,rich,IAna,l0,tpcI,tpxClu,ftpc,-Kink2," - "VFMinuit,geant,evout,IdTruth,tags,emcY2,MiniMcMk,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2003" ,"","","trs,fss,y2003,Idst,IAna,l0,tpcI,tpxClu,ftpc,VFMinuit,bbcSim,tofsim," - "tags,emcY2,evout,IdTruth,geantout" ,"","","",kFALSE}, - {"MC.y2004" ,"","","trs,srs,fss,y2004,Idst,BAna,l0,tpcI,tpxClu,ftpc,VFMinuit,SvtIt,geant,evout," - "tags,bbcSim,tofsim,emcY2,EEfs,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2004a" ,"","","trs,srs,fss,y2004a,Idst,BAna,l0,tpcI,tpxClu,ftpc,VFMinuit,SvtIT,geant" - ",tags,bbcSim,tofsim,emcY2,EEfs,evout,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2005" ,"","","trs,srs,fss,ssd,y2005x,Idst,IAna,l0,tpcI,tpxClu,ftpc,SvtCL,svtDb," - "SsdIt,SvtIt,VFMinuit,geant,evout,tags,bbcSim,tofsim,emcY2,EEfs,GeantOut,big" - , "","","",kFALSE}, - {"MC.y2006" ,"","","trs,fss,y2006h,Idst,IAna,l0,tpcI,tpxClu,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2007" ,"","","trs,srs,ssd,fss,y2007,Idst,BAna,tpcI,tpxClu,ftpc,SvtIt,SsdIt," - "VFMinuit,MakeEvent,IdTruth,geant,tags,bbcSim,tofsim,emcY2,EEfs,evout,GeantOut,big" - "" ,"","","",kFALSE}, - {"MC.y2008" ,"","","trs,fss,y2008a,Idst,IAna,tpcI,tpxClu,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.in.y2008" ,"","","in,y2008e,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.in.y2009" ,"","","in,y2009c,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.y2009" ,"","","TpcRS,TpxClu,fss,y2009,Idst,IAna,tpcI,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2009a" ,"","","TpcRS,TpxClu,fss,y2009a,Idst,IAna,tpcI,ftpc,VFMinuit,NoSsdIt,NoSvtIt," - "MakeEvent,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2010a" ,"","","TpcRS,TpxClu,y2010a,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2010" ,"","","TpcRS,TpxClu,y2010,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"MC.fast.pp.y2011","","","y2011,Test.default.Fast.ITTF,bbcSim,btofsim,btofMatch,emcY2,emcSim,EEfs," - "NosvtIT,NossdIT,-sfs,-ssdFast,VFPPVnoCTB,beamline" ,"","","",kFALSE}, - {"MC.in.y2010" ,"","","in,y2010c,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.y2011" ,"","","TpcRS,TpxClu,y2011,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB" - ",TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.fast.y2011" ,"","","y2011,Test.default.Fast.ITTF,NosvtIT,NossdIT,-sfs,-ssdFast," - "VFPPVnoCTB,beamline,emcy2" ,"","","",kFALSE}, - {"MC.in.y2011" ,"","","in,y2011,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt,NoSvtIt," - "VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk,ReadAll" - , "","","",kFALSE}, - {"MC.y2012" ,"","","TpcRS,TpxClu,y2012,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2012a" ,"","","TpcRS,TpxClu,y2012a,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2012.eval" ,"","","in,y2012,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt,NoSvtIt" - ",VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk,ReadAll" - , "","","",kFALSE}, - {"MC.y2013" ,"","","TpcRS,TpxClu,y2013_1x,useXgeom,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"MC.y2014" ,"","","TpcRS,TpxClu,y2014,useXgeom,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"RC----------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"RC.y2000" ,"","","p2000,VFMinuit,CMuDst,NosvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.y2001" ,"","","P2001a,VFMinuit,ZDCvtx,CMuDst,NosvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2001" ,"","","pp2001a,VFMinuit,CMuDst,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2001.ppv" ,"","","pp2001a,VFPPV,beamLine,CMuDst,NossdIT" ,"","","",kFALSE}, - {"RC.y2003" ,"","","DbV20040520,dau2003i,in,-SvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2003.VFPPV" ,"","","pp2003,VFPPV,beamLine,CMuDst,-svtIT,NossdIT,Corr2,v0,xi","","","",kFALSE}, - {"RC.y2004" ,"","","P2004,DbV20041213" ,"","","",kFALSE}, - {"RC.y2004.NoSvt" ,"","","P2004,DbV20041213,-SsdIt,-SvtIt,pmdRaw" ,"","","",kFALSE}, - {"RC.y2004.NoSvt.pmd" ,"","","P2004,DbV20041213,pmdRaw,-SvtIT,-SsdIT" ,"","","",kFALSE}, - {"RC.pp.y2004" ,"","","pp2004,DbV20041213,beamLine" ,"","","",kFALSE}, - {"RC.y2005" ,"","","P2005,tofDat,MakeEvent,ssddat,sptd,SsdIt,SvtIt,pmdRaw,OShortR,OSpaceZ2" - , "","","",kFALSE}, - {"RC.pp.y2005" ,"","","pp2005a,tofdat,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.pp.y2006" ,"","","pp2006b,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2007" ,"","","DbV20080418,B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit3,emcDY2,ftpc,trgd," - "ZDCvtx,svtIT,ssdIT,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2007.NoSvt" ,"","","DbV20080418,B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit3,emcDY2,ftpc," - "trgd,ZDCvtx,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2008" ,"","","DbV20080712,P2008,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.y2008.notof" ,"","","DbV20080712,P2008,-ToF,-tofDat,-tofrMatch,-tofpMatch,-tofCalib,OSpaceZ2," - "OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2008" ,"","","DbV20080712,pp2008,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2008.Minuit","","","DbV20080712,pp2008,-VFPPV,VFMinuit,-ToF,-tofDat,-tofrMatch,-tofpMatch," - "-tofCalib,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2009" ,"","","pp2009c,VFMinuit,beamLine,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.pp.y2009.notof","","","pp2009c,VFMinuit,beamLine,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.pp.y2009.VFPP","","","pp2009c,VFPPVnoCTB,beamLine,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.y2010" ,"","","P2010a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,pmdReco", "","","",kFALSE}, - {"RC.y2010.notof" ,"","","P2010a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.pp.y2011.VFPPV","","","pp2011a,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt" ,"","","",kFALSE}, - {"RC.pp.y2011","","","pp2011a,VFMinuit,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt" - , "","","",kFALSE}, - {"RC.y2011" ,"","","P2011a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,pmdReco,mtdDat" - , "","","",kFALSE}, - {"RC.y2011.notof" ,"","","P2011a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,pmdReco,mtdDat" - , "","","",kFALSE}, - {"RC.y2012" ,"","","P2012a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,mtdDat,fmsDat" - , "","","",kFALSE}, - {"RC.y2012.notof" ,"","","P2012a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012" ,"","","pp2012a,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt,mtdDat,fmsDat", "","","",kFALSE}, - {"RC.pp.y2012.notof","","","pp2012a,VFPPVnoCTB,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012.notofMin","","","pp2012a,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.y2012b" ,"","","P2012b,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,mtdDat,fmsDat" - , "","","",kFALSE}, - {"RC.y2012b.notof" ,"","","P2012b,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b" ,"","","pp2012b,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt,mtdDat,fmsDat", "","","",kFALSE}, - {"RC.pp.y2012b.notof","","","pp2012b,VFPPVnoCTB,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b.notofMin","","","pp2012b,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b.notofMin","","","pp2012b,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2013","","","pp2013a,mtd,btof,fmsDat,fgt,fgtPoint,VFPPVnoCTB,beamline,BEmcChkStat,Corr4," - "OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.y2014","","","P2014a,mtd,btof,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"MC nightlies and Eval","--","-----------","------------------------------------------","","","",kFALSE}, - {"test_MC.stan.y2000","","","MC.y2000,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/cocktail/hadronic/default/standard/year_1h/half_field/hadronic_on/Gstardata/" - "hc_standard.40_evts.fz", kFALSE}, - {"test_MC.pp.y2001","","","MC.pp.y2001,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp200/pythia/default/minbias/year2001/hadronic_on/gstardata/pds0200_04_12812evts.fzd" - , kFALSE}, - {"test_MC.stan.y2001","","","MC.y2001,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/cocktail/hadronic/default/standard/year2001/hadronic_on/Gstardata/hc_standard.40_evts.fz" - , kFALSE}, - {"test_dau.MC.y2003" ,"","","MC.y2003,Sti,fzin,MiniMcMk","" - , "","/star/rcf/simu/rcf1197_05_5940evts.fzd",kFALSE}, - {"test_auauCtr.MC.y2004" ,"","","MC.y2004a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1209_05_80evts.fzd",kFALSE}, - {"test_auau.MC.y2004" ,"","","MC.y2004,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1207_01_225evts.fzd",kFALSE}, - {"test_cucu200.MC.y2005" ,"","","MC.y2005,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1216_05_200evts.fzd",kFALSE}, - {"test_cucu62.MC.y2005" ,"","","MC.y2005,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1237_01_500evts.fzd",kFALSE}, - {"test_pp200.MC.y2006" ,"","","MC.y2006,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9991_01_1000evts.fzd",kFALSE}, - {"test_auau200.MC.y2007" ,"","","MC.y2007,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"test_dau200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"test_pp500.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"test_auau11.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"test_auau200.MC.y2010","","","MC.y2010,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"test_auau39.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"test_auau62.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"test_auau7.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"test_auau200.MC.y2011","","","MC.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"test_pp500.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"test_pp500.pileup.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n" - " gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"test_CuAu200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"test_CuAu200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"test_pp200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"test_pp500.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"test_pp500.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"test_UU200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"test_UU200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"test.RC.centr.y2000","","","RC.y2000,Sti","","" - , "/star/rcf/test/daq/2000/09/st_physics_1248022_raw_0001.daq",kFALSE}, - {"test.RC.minb.y2000","","","RC.y2000,Sti","","" - , "/star/rcf/test/daq/2000/08/st_physics_1229021_raw_0003.daq",kFALSE}, - {"test.RC.cent.y2001d","","","RC.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq",kFALSE}, - {"test.RC.cent.y2001","","","RC.y2001,v0,xi,Sti","","" - , "/star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq",kFALSE}, - {"test.RC.minb.y2001d","","","RC.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq",kFALSE}, - {"test.RC.minb.y2001","","","RC.y2001,v0,xi,Sti","","" - , "/star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq",kFALSE}, - {"test.RC.pp.y2001d","","","RC.pp.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.pp.y2001","","","RC.pp.y2001.ppv,v0,xi,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.pp.y2001_vfppvd","","","RC.pp.y2001.ppv,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.dau.y2003","","","RC.y2003,ITTF,Sti","","" - , "/star/rcf/test/daq/2003/041/st_physics_4041002_raw_0020001.daq",kFALSE}, - {"test.RC.pp.y2003","","","RC.pp.y2003.VFPPV,Sti","","" - , "/star/rcf/test/daq/2003/095/st_physics_4095050_raw_0010002.daq",kFALSE}, - {"test.RC.auau.lo.y2004","","","RC.y2004,-SvtIT,-SsdIT,pmdRaw,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/044/st_physics_5044116_raw_3010002.daq",kFALSE}, - {"test.RC.auau.ph.y2004","","","RC.y2004,pmdRaw,-SvtIT,-SsdIT,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/044/st_physics_5044102_raw_1010003.daq",kFALSE}, - {"test.RC.auau.StiCA.y2004","","","RC.y2004,-SsdIt,-SvtIt,pmdRaw,StiCA","","" - , "/star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq",kFALSE}, - {"test.RC.auau.y2004","","","RC.y2004,-SsdIt,-SvtIt,pmdRaw,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq",kFALSE}, - {"test.RC.pp.y2004","","","RC.pp.y2004,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/134/st_physics_5134013_raw_2010010.daq",kFALSE}, - {"test.RC.cucu200.ht.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/054/st_physics_6054016_raw_1020005.daq",kFALSE}, - {"test.RC.cucu200.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/048/st_physics_6048025_raw_1020002.daq",kFALSE}, - {"test.RC.cucu22.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/083/st_physics_6083006_raw_1040002.daq",kFALSE}, - {"test.RC.cucu62.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/080/st_physics_6080011_raw_1020004.daq",kFALSE}, - {"test.RC.pp200.y2005","","","RC.pp.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/171/st_physics_6171062_raw_2040010.daq",kFALSE}, - {"test.RC.pp200.Long.y2006","","","RC.pp.y2006,ITTF,Sti","","" - , "/star/rcf/test/daq/2006/155/7155010/st_physics_7155010_raw_1020003.daq",kFALSE}, - {"test.RC.pp200.Trans.y2006","","","RC.pp.y2006,ITTF,Sti","","" - , "/star/rcf/test/daq/2006/129/7129023/st_physics_7129023_raw_1020003.daq",kFALSE}, - {"test.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"test.RC.auau200.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq",kFALSE}, - {"test.RC.dau200.y2008","","","RC.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"test.RC.pp200.y2008","","","RC.pp.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"test.RC.pp200.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"test.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"test.RC.auau11.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"test.RC.auau200.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"test.RC.auau39.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"test.RC.auau62.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"test.RC.auau7.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/143/st_physics_11143043_raw_1020001.daq",kFALSE}, - {"test.RC.auau200.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"test.RC.auau20.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"test.RC.auau27.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"test.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"test.RC.cuAu200.AgML.y2012","","","RC.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"test.RC.cuAu200.y2012","","","RC.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"test.RC.pp200.AgML.y2012","","","RC.pp.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"test.RC.pp200.y2012","","","RC.pp.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"test.RC.pp500.AgML.y2012","","","RC.pp.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"test.RC.pp500.y2012","","","RC.pp.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"test.RC.UU193.AgML.y2012","","","RC.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"test.RC.UU193.y2012","","","RC.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"test.RC.pp500.y2013","","","RC.pp.y2013,Sti","","" - , "/star/rcf/test/daq/2013/079/st_physics_14079008_raw_1920004.daq",kFALSE}, - {"test.RC.AuAu15.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/069/st_physics_15069008_raw_2500008.daq",kFALSE}, - {"test.RC.AuAu200.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/086/st_physics_15086051_raw_2500017.daq",kFALSE}, - {"test.RC.AuAu200.mid.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/146/st_mtd_15146050_raw_1000030.daq",kFALSE}, - {"test.RC.He3Au200.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/171/st_physics_15171039_raw_2000008.daq",kFALSE}, - {"eval_Sti_auau200.MC.y2007" ,"","","MC.y2007,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"eval_StiCA_auau200.MC.y2007","","","MC.y2007,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_dau200.MC.y2008","","","MC.y2008,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp200.MC.y2008","","","MC.y2008,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_dau200.MC.y2008","","","MC.y2008,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp200.MC.y2008","","","MC.y2008,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_Sti_dau200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_StvCA_dau200.MC.Stv.y2008","","","MC.in.y2008,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11025_2040_100evts.event.root",kFALSE}, - {"eval_Stv_dau200.MC.y2008","","","MC.in.y2008,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11025_2040_100evts.event.root",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2009","","","MC.y2009a,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp200.MC.y2009","","","MC.y2009a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp500.MC.y2009","","","MC.y2009a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"eval_Sti_pp500.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_StvCA_pp500.MC.y2009","","","MC.in.y2009,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11026_1020_50evts_pileup.event.root",kFALSE}, - {"eval_Stv_pp500.MC.y2009","","","MC.in.y2009,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11026_1020_50evts_pileup.event.root",kFALSE}, - {"eval_Sti.AgML_auau11.MC.y2010","","","MC.y2010a,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_auau200.MC.y2010","","","MC.y2010,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_Sti_auau11.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau200.MC.y2010","","","MC.y2010,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_Sti_auau39.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau62.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau7.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau11.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau200.MC.y2010","","","MC.y2010,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_StiCA_auau39.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau62.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau7.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_Stv_auau200.MC.y2010","","","MC.in.y2010,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11022_2241_50evts.event.root",kFALSE}, - {"eval_StvCA_auau200.MC.y2010","","","MC.in.y2010,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11022_2241_50evts.event.root",kFALSE}, - {"eval_StvCA_auau39.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_StvCA_auau62.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_StvCA_auau7.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_auau200.MC.y2011","","","MC.y2011,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2011","","","MC.fast.y2011,AgML,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_Sti_auau200.MC.y2011","","","MC.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"eval_StiCA_pp500.MC.y2011","","","MC.fast.y2011,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_StiCA_pp500.pileup.MC.y2011","","","MC.fast.y2011,StiCA,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n " - "gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"eval_Sti_pp500.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_Sti_pp500.pileup.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n" - " gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"eval_Stv_auau200.MC.y2011","","","MC.in.y2011,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.event.root",kFALSE}, - {"eval_StvCA_auau200.MC.y2011","","","MC.in.y2011,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.event.root",kFALSE}, - {"eval_Sti.AgML_CuAu200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_UU200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"eval_Sti_CuAu200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"eval_Sti_pp500.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"eval_Sti_UU200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,AgML,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StiCA.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,StiCA","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2007","","","RC.y2007,pmdReco,StiCA","","" - , "/star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq",kFALSE}, - {"eval_Sti.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.MB.y2007","","","RC.y2007,Stv,AgML","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StvCA.RC.auau200.MB.y2007","","","RC.y2007.NoSvt,StvCA","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Stv.RC.auau200.MB.y2007","","","RC.y2007.NoSvt,Stv","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Sti.AgML.RC.dau200.y2008","","","RC.y2008,ITTF,AgML,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StiCA.RC.dau200.y2008","","","RC.y2008,StiCA","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2008","","","RC.pp.y2008,StiCA","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Sti.RC.dau200.y2008","","","RC.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2008","","","RC.pp.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.dau200.y2008","","","RC.y2008.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StvCA.RC.dau200.y2008","","","RC.y2008.notof,StvCA","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2008","","","RC.pp.y2008.Minuit,StvCA","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Stv.RC.dau200.y2008","","","RC.y2008.notof,Stv","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2008","","","RC.pp.y2008.Minuit,Stv","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2009","","","RC.pp.y2009.VFPP,StiCA","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_StiCA.RC.pp500.y2009","","","RC.pp.y2009.VFPP,StiCA","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp500.y2009","","","RC.pp.y2009,Stv,AgML","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2009","","","RC.pp.y2009,StvCA","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2009","","","RC.pp.y2009,StvCA","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2009","","","RC.pp.y2009,Stv","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2009","","","RC.pp.y2009,Stv","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau200.y2010","","","RC.y2010.notof,AgML,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau39.y2010","","","RC.y2010.notof,AgML,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StiCA.RC.auau11.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_StiCA.RC.auau39.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StiCA.RC.auau62.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Sti.RC.auau11.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_Sti.RC.auau200.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Sti.RC.auau39.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_Sti.RC.auau62.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.y2010","","","RC.y2010.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau39.y2010","","","RC.y2010.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StvCA.RC.auau11.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_StvCA.RC.auau200.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_StvCA.RC.auau39.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StvCA.RC.auau62.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Stv.RC.auau11.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_Stv.RC.auau200.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Stv.RC.auau39.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_Stv.RC.auau62.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau200.y2011","","","RC.y2011,AgML,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau20.y2011","","","RC.y2011,AgML,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_StiCA.RC.auau20.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StiCA.RC.auau27.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_StiCA.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,StiCA","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Sti.RC.auau200.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Sti.RC.auau20.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Sti.RC.auau27.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.y2011","","","RC.y2011,Stv,AgML","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau20.y2011","","","RC.y2011,Stv,AgML","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.auau200.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_StvCA.RC.auau20.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.auau27.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2011","","","RC.pp.y2011,pmdReco,mtdDat,StvCA","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Stv.RC.auau200.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Stv.RC.auau20.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Stv.RC.auau27.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2011","","","RC.pp.y2011,pmdReco,mtdDat,Stv","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp200.y2012","","","RC.pp.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2012","","","RC.pp.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Sti.AgML.RC.UU193.y2012","","","RC.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2012","","","RC.pp.y2012,StiCA","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2012","","","RC.pp.y2012,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2012","","","RC.pp.y2012,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Sti.RC.UU193.y2012","","","RC.y2012,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_Stv.AgML.RC.cuAu200.y2012","","","RC.y2012b.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp200.y2012","","","RC.pp.y2012.notofMin,Stv,AgML","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp500.y2012","","","RC.pp.y2012.notofMin,Stv,AgML","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Stv.AgML.RC.UU193.y2012","","","RC.y2012b.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.cuAu200.y2012","","","RC.y2012b.notof,StvCA","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2012","","","RC.pp.y2012.notofMin,StvCA","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2012","","","RC.pp.y2012.notofMin,StvCA","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_StvCA.RC.UU193.y2012","","","RC.y2012b.notof,StvCA","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_Stv.RC.cuAu200.y2012","","","RC.y2012b.notof,Stv","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2012","","","RC.pp.y2012.notofMin,Stv","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2012","","","RC.pp.y2012.notofMin,Stv","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Stv.RC.UU193.y2012","","","RC.y2012b.notof,Stv","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"doEvents" ,"" ,"","in,StEvent,analysis,NoDb" ,"","","",kFALSE}, - {"MakeMuDst","","","in,StEvent,CMuDST,Tree,nodefault,NoHistos,ReadAll","","" ,"StEvent => MuDst",kFALSE}, - {"drawDst" ,"" ,"","in,ry1h,globT,SCL,geant,display,NoDb,TbUtil" ,"","","",kFALSE}, - {"Cdst" ,"" ,"","ITTF,event,analysis,EventQA" ,"","","",kFALSE}, - {"C1default" ,"" ,"","rich,l0,Cdst,tags,Tree,EvOut,NoHits" ,"","","Year 1 chain",kFALSE}, - {"C2default" ,"" ,"","rich,l0,Cdst,tags,Tree,EvOut,ftpc,svt,emcY2" ,"","","Year 2 chain",kFALSE}, - {"C3default" ,"" ,"","l0,Cdst,tags,Tree,EvOut,NoHits,ftpc,svt,bbcsim,emcY2" - , "","","Year 3 simu base chain",kFALSE}, - {"CAdefault" ,"" ,"","l0,Cdst,tags,Tree,EvOut,NoHits,ftpc,svt,emcY2","","","Assymptotic chain",kFALSE}, - {"Cy1a" ,"" ,"","y1a,C1default" ,"","","Turn on chain y1a",kFALSE}, - {"Cy1b" ,"" ,"","y1b,C1default" ,"","","Turn on chain y1b",kFALSE}, - {"Cy1s" ,"" ,"","y1s,C1default" ,"","","Turn on chain y1s",kFALSE}, - {"Cy1d" ,"" ,"","y1d,C1default" ,"","","Turn on chain y1d",kFALSE}, - {"cy1e" ,"" ,"","y1e,C1default" ,"","","Turn on chain y1h",kFALSE}, - {"cy1h" ,"" ,"","y1h,C1default" ,"","","Turn on chain y1e",kFALSE}, - {"Cy2a" ,"" ,"","y2a,CAdefault" ,"","","Turn on chain y2a",kFALSE}, - {"Cy2b" ,"" ,"","y2b,C2default" ,"","","Turn on chain y2b",kFALSE}, - {"C2000" ,"" ,"","y2000,C1default" ,"","","Turn on chain Y2000",kFALSE}, - {"C2001" ,"" ,"","y2001,C2default" ,"","","Turn on chain Y2001",kFALSE}, - {"C2003" ,"" ,"","y2003,C3default" ,"","","Turn on chain Y2003",kFALSE}, - {"C2003X" ,"" ,"","y2003X,C3default" ,"","","Turn on chain Y2003X (full B/E EMC)",kFALSE}, - {"mdc3" ,"" ,"","cy1h,GeantOut" ,"","","MDC3 default chain",kFALSE}, - {"MDC4" ,"" ,"","C2001,trs,tpc_daq,Simu,srs,fss,rrs,big,GeantOut","","","Turn on chain for MDC4",kFALSE}, - {"MDC4New" ,"" ,"","y2001n,C2default,trs,tpc_daq,Simu,srs,fss,rrs,big,GeantOut","","" - , "Turn on chain for MDC4 (for after September)",kFALSE}, - {"PostMDC4" ,"" ,"","C2001,trs,tpc_daq,Simu,sss,fss,rrs,big,GeantOut" - , "","","Turn on Post MDC4 chain",kFALSE}, - {"ppMDC4","","","ppOpt,C2001,mwc,trs,tpc_daq,Simu,srs,rrs,big,GeantOut" - , "","","Turn on chain for ppMDC",kFALSE}, - {"dAuMDC" ,"" ,"","ppOpt,C2003,trs,tpc_daq,Simu,srs,fss,big,GeantOut","","","Chain for d+Au",kFALSE}, - {"dAuMDCa" ,"" ,"","ppOpt,C2003,trs,tpc_daq,Simu,srs,fss,big,GeantOut,est","","","Chain for d+Au",kFALSE}, - {"CComplete" ,"" ,"","Complete,C2default" ,"","","Turn on chain for Complete STAR",kFALSE}, - {"SvtD" ,"","","SvtCalDb,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit", "","","SVT chain for Data",kFALSE}, - {"P00h" ,"" ,"","ry1h,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,ExB,NoHits","","" - , "Production chain for summer 2000 data",kFALSE}, - {"P2000" ,"" ,"","ry2000,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,ExB,NoHits","","" - , "Production chain for summer 2000 data",kFALSE}, - {"B2000" ,"","","ry2000,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,NosvtIT,NossdIT","","" - , "Base chain for 2001 (tpc+rhic)",kFALSE}, - {"P2000a" ,"" ,"","B2000,Corr1","","" ,"Production chain for summer 2000 data",kFALSE}, - {"B2001" ,"" ,"","ry2001,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,svtDb","","" - ,"Base chain for 2001 (tpc+rhic)" ,kFALSE}, - {"P2001" ,"" ,"","B2001,l3onl,tofDat,Corr2,OSpaceZ","","" - , "Production chain for summer 2001 data (+ l3, tof)",kFALSE}, - {"P2001a" ,"" ,"","B2001,svt_daq,SvtD,ftpc,l3onl,tofDat,emcDY2,Corr2,OSpaceZ","","" - , "Production chain for summer 2001 data (+ ftpc, svt, l3, tof, emc)",kFALSE}, - {"pp2001","","","ppOpt,B2001,-PreVtx,l3onl,tofDat,emcDY2,Corr2","","" ,"pp 2001 (+ l3, tof, emc)",kFALSE}, - {"pp2001a" ,"" ,"","pp2001,svt_daq,SvtD,ftpc","","" ,"pp 2001 (+ ftpc, svt, l3, tof, emc)",kFALSE}, - {"B2003" ,"" ,"","ry2003,in,tpc_daq,tpc,Physics,Cdst,Kalman,tags,Tree,evout,svtDb","","" - , "Base chain for 2003 (tpc)",kFALSE}, - {"dau2003" ,"" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc","","" - , "Production chain for winter 2003 data (+ tof, svt (no est), ftpc, emc)",kFALSE}, - {"dau2003a" ,"" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd","","" - , "Production chain for winter 2003 data (+ tof, svt (no est), ftpc, emc, trgd)",kFALSE}, - {"pp2003" , "" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd","","" - , "Production chain for Spring 2003 data (+ tof, svt (no est), ftpc, emc, trgd)",kFALSE}, - {"Idst" ,"" ,"", "event,compend,EventQA" ,"","","Turn on DST for ITTF",kFALSE}, - {"IAna" ,"" ,"","dEdxY2,Kink2,xi2,CMuDst,analysis","","" ,"Turn on Xi, Kink, dEdx and MuDst",kFALSE}, - {"BAna" ,"" ,"","dEdxY2,CMuDst,analysis" ,"","" ,"Turn on dEdx and MuDst",kFALSE}, - {"B2003I" ,"","","ry2003,in,TpxRaw,TpxClu,Idst,l0,tags,Tree,evout,svtDb" - , "","","Base chain for 2003 ITTF",kFALSE}, - {"dau2003i" ,"","","B2003I,IAna,CtbMatchVtx,Corr2,ppOpt,l3onl,tofDat,emcDY2,svt_daq,SvtD,ftpc,trgd" - , "","","Production chain for winter 2003 data dau2003a with ITTF",kFALSE}, - {"pp2003i","","","B2003I,IAna,CtbMatchVtx,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd" - , "","","Production chain for winter 2003 data dau2003a with ITTF",kFALSE}, - {"B2004" ,"","","ry2004,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2004 ITTF (tpc+svt)",kFALSE}, - {"P2004","" ,"","B2004,IAna,fcf,VFMinuit,ToF,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr4,OSpaceZ2" - , "","","Production chain for 2003/2004 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2004" ,"" ,"", - "B2004,IAna,fcf,ppOpt,VFppLMV5,CtbMatchVtx,ToF,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr4,OSpaceZ2" - , "","","Production chain for 2003/2004 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2005" ,"","","ry2005b,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF (tpc+svt)",kFALSE}, - {"B2005a" ,"" ,"","ry2005b,in,tpc_daq,tpcI,Physics,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2005 ITTF (tpc only)",kFALSE}, - {"B2005b" ,"" ,"","ry2005f,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF Geo f (tpc+svt only)",kFALSE}, - {"B2005c" ,"" ,"","ry2005g,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF Geo g (tpc+svt only + dead material)",kFALSE}, - {"P2005" ,"" ,"", "B2005,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2005b" ,"" ,"", "B2005b,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2005c" ,"" ,"", "B2005c,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005","" ,"","B2005,IAna,fcf,ppOpt,VFppLMV5,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005a","","","B2005a,IAna,fcf,ppOpt,VFPPV,beamline,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,Corr4" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005b","","", "B2005b,IAna,fcf,ppOpt,VFPPV,beamline,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,Corr4" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2006" ,"" ,"","ry2005d,in,tpc_daq,tpcI,svt_daq,SvtD,Idst,tags,Tree,evout,ssdDb","","" - , "Base chain for 2006 ITTF (tpc+svt)",kFALSE}, - {"B2006a" ,"" ,"","ry2005d,in,tpc_daq,tpcI,Idst,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 with 2005d geom ITTF (tpc only)",kFALSE}, - {"B2006b" ,"" ,"","ry2006,in,tpc_daq,tpcI,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 ITTF (tpc only)",kFALSE}, - {"B2006g" ,"" ,"","ry2006g,in,tpc_daq,tpcI,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 ITTF geo g (tpc only)",kFALSE}, - {"pp2006a" ,"" ,"", - "B2006a,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr3" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2006b" ,"" ,"", - "B2006b,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr4,BeamBack" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2006g" ,"" ,"", - "B2006g,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr4,BeamBack" - , "","","Production chain for 2005 pp data geo g (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"T2007","","","ry2007g,MakeEvent,in,tpc_daq,tpcI,fcf,Tree,evout" - , "","","TPC only chain, 2007 ITTF",kFALSE}, - {"B2007","","","ry2007,MakeEvent,in,tpc_daq,tpcI,fcf,svt_daq,SvtD,ssddat,sptd,Idst,tags,Tree,evout" - , "","","Base chain for 2007 ITTF (tpc+svt+ssd)",kFALSE}, - {"B2007g","","","ry2007g,MakeEvent,in,tpc_daq,tpcI,fcf,svt_daq,SvtD,ssddat,sptd,Idst,tags,Tree,evout" - , "","","Base chain for 2007 ITTF geo g (tpc+svt+ssd)",kFALSE}, - {"P2007" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr5" - , "","","Production chain for 2007 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007g" ,"" ,"", - "B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit2,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr5" - , "","","Production chain for 2007 data, revised 2008 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007a" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr3" - , "","","Production chain for 2007 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007b" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr4" - , "","","Production chain for 2007 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2008" ,"","","ry2008,in,tpc_daq,tpcI,fcf,Idst,tags,Tree,evout","","" - , "Base chain for 2008 ITTF (tpc)",kFALSE}, - {"B2008a","","","ry2008,in,tpcX,ToFx,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2008 ITTF (tpc+tof)",kFALSE}, - {"P2008a" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr3,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008b" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008a" ,"" ,"", - "B2008,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008c" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008c" ,"" ,"", - "B2008,IAna,hitfilt,ppOpt,Minuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008" ,"" ,"", - "B2008a,IAna,hitfilt,ppOpt,VFPPV,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008" ,"" ,"", - "B2008a,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2009.1","","","ry2009,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"B2009.2","","","ry2009a,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"B2009.3","","","ry2009d,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"pp2009a" ,"" ,"", - "B2009.1,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2009 data - no Corr (+ l3, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2009b" ,"" ,"", - "B2009.1,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2009 data - no Corr (+ l3, ftpc, e/b-emc, no trigger)",kFALSE}, - {"pp2009c" ,"" ,"", - "B2009.2,BAna,hitfilt,ppOpt,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis","","" - , "Production chain for 2009 data - no Corr, no VF (+l3, ftpc, e/b-emc, trig)",kFALSE}, - {"pp2009d" ,"" ,"", - "B2009.3,BAna,hitfilt,ppOpt,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis","","" - , "Production chain for 2009 data - no Corr, no VF (+l3, ftpc, e/b-emc, trig)",kFALSE}, - {"B2010","","","ry2010,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2010 ITTF (tpc)",kFALSE}, - {"B2010c","","","ry2010c,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2010 ITTF (tpc)",kFALSE}, - {"P2010a","" ,"", - "B2010,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2010a","" ,"", - "B2010,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"P2010c","" ,"", - "B2010c,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2010c","" ,"", - "B2010c,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"B2011","","","ry2011,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2011 ITTF (tpc)",kFALSE}, - {"P2011a","" ,"", - "B2011,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2011a","" ,"", - "B2011,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"B2012","","","ry2012,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2012 ITTF (tpc)",kFALSE}, - {"pp2012a","" ,"","B2012,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2012 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"P2012a","" ,"", - "B2012,BAna,hitfilt,VFMinuit,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, e/b-emc)",kFALSE}, - {"B2012b","","","ry2012a,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2012 ITTF (tpc)",kFALSE}, - {"pp2012b","" ,"", - "B2012b,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2012 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"P2012b","" ,"", - "B2012b,BAna,hitfilt,VFMinuit,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, e/b-emc)",kFALSE}, - {"B2013","","","in,tpcX,UseXgeom,ITTF,NosvtIT,NossdIT,tpcDB,TpcHitMover,Idst,tags,Tree,evout," - "btof,mtd,BAna,emcDY2,trgd,ZDCvtx","","", "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"B2013x","","","ry2013_1x,B2013","","", "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"pp2013x","","","B2013x,BAna,emcDY2,trgd,ZDCvtx" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"B2013" ,"","","B2013_c2","","", "Alias for B2013 Configuration 2",kFALSE}, - {"B2013_c2","","","ry2013_2c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"B2013_c1","","","ry2013_1c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"pp2013a","" ,"", - "B2013_c2,ITTF,UseXgeom,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis", - "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"pp2013b","" ,"", - "B2013_c1,ITTF,UseXgeom,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"pp2013","" ,"", - "BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"B2014" ,"","","ry2014,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2014 ITTF (tpc)",kFALSE}, - {"B2014a","","","ry2014a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2014a ITTF (tpc)",kFALSE}, - {"P2014","" ,"", - "B2014,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for 2014 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2014a","" ,"", - "B2014a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis," - , "","","Production chain for 2014 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2015" ,"","","ry2015,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2015 ITTF (tpc)",kFALSE}, - {"B2015a" ,"","","ry2015a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015a data",kFALSE}, - {"B2015b" ,"","","ry2015b,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015 with y2015b geometry",kFALSE}, - {"B2015c" ,"","","ry2015c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015 with y2015c geometry",kFALSE}, - {"pp2015","" ,"", - "B2015,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2015 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015a","" ,"", - "B2015a,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015a data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015b","" ,"", - "B2015b,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015b data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015c","" ,"", - "B2015c,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015c data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015","" ,"", - "B2015,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2015 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015a","" ,"", - "B2015a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015a data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015b","" ,"", - "B2015b,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015b data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015c","" ,"", - "B2015c,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015c data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2016" ,"","","ry2016,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2016 ITTF (tpc)",kFALSE}, - {"P2016","" ,"", - "B2016,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2016 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2016a" ,"","","ry2016a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Production chain for 2016 data (tpc)",kFALSE}, - {"P2016a","" ,"", - "B2016a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2016 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2017" ,"","","ry2017,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2017 data (tpc)",kFALSE}, - {"pp2017","" ,"", - "B2017,Sti,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2017 pp data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2017","" ,"", - "B2017,Sti,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2017 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2017a" ,"","","ry2017a,in,tpcX,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite","","" - , "Production chain for run 2017 data (tpc)",kFALSE}, - {"pp2017a","" ,"", - "B2017a,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline3D,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for year 2017 pp data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2017a","" ,"", - "B2017a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,beamline3D,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for year 2017 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2018a" ,"","","ry2018a,in,tpcX,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite","","" - , "Base chain for run 2018 data (tpc)",kFALSE}, - {"P2018a","" ,"", - "B2018a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,beamline3D,l3onl,emcDY2,epdHit,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2018 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2019a" ,"","","ry2019a,in,tpcX,UseXgeom,iTpcIT,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite", - "","", "Base chain for run 2019 data (tpc)",kFALSE}, - {"P2019a","" ,"", - "B2019a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,beamline3D,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2019 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2020a" ,"","", - "ry2020a,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2020 data (tpc)",kFALSE}, - {"P2020a","" ,"", - "B2020a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2020 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2021a" ,"","", - "ry2021a,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2020 data (tpc)",kFALSE}, - {"P2021a","" ,"", - "B2021a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2020 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2022" ,"","", - "ry2022,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2022 data (tpc)",kFALSE}, - {"pp2022","" ,"", - "B2022,ITTF,BAna,hitfilt,ppOpt,ImpBToFt0Mode,VFPPVnoCTB,beamline3D,l3onl,etofa,btof,mtd,emcDY2,FttDat,fcs,trgd,ZDCvtx,analysis", - "","","Production chain for year 2022 pp data - no Corr (+ l3, epd, mtf, b/etof, fcs, e/b-emc)",kFALSE}, - {"LaserCal0","" ,"","db,detDb,tpc_daq,tpcDb,tcl,globT,laser,LaserTest","","" - , "Laser Calibration Chain (tcl)",kFALSE}, - {"LaserCal","" ,"","db,detDb,tpc_daq,tpcDb,fcf,globT,laser,LaserTest","","" - , "Laser Calibration Chain",kFALSE}, - {"L3Counter","" ,"","db,detDb,in,l3count","","", "L3 Counter extraction pass",kFALSE}, - {"VtxSeedCal","","","ppOpt,ry2001,in,tpc_daq,tpc,globT,-Tree,Physics,-PreVtx,FindVtxSeed,NoEvent,Corr2" - , "","","Pass0 Vertex evaluator",kFALSE}, - {"SpcChgCal","","","B2004,fcf,Corr3,OSpaceZ2,OShortR,SCEbyE,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 SpaceCharge evaluator",kFALSE}, - {"SpcChgCalG","","","MuDST,fcf,Corr4,OSpaceZ2,OGridLeak3D,SCEbyE,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 SpaceCharge evaluator with GridLeak, no geo or tracker dependence",kFALSE}, - {"VtxSeedCalG","","","MuDST,fcf,Corr4,FindEvtVtxSeed,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 Vertex evaluator",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"OPTIONS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ITTF" ,"","","","","","request to use one of Sti(default), StiCA, Stv,StvCA, ... trackers",kFALSE}, - {"NoHits" ,"" ,"","" ,"","","Don\'t write hits into Event.Branch",kFALSE}, - {"Kalman" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Eval" ,"" ,"","","","" ,"Turn on evaluation switch for different makers",kFALSE}, - {"Ev03" ,"" ,"","","","" ,"Turn on alternative V0 method",kFALSE}, - {"off" ,"" ,"","","","" ,"Turn off default chain",kFALSE}, - {"clearDAQCTB" ,"" ,"","","" ,"" ,"clear DAQ CTB Hits for embedding",kFALSE}, - {"NoInput" ,"" ,"","","" ,"" ,"No input file",kFALSE}, - {"util" ,"" ,"","","","StAnalysisUtilities", "Load StAnalysisUtilities",kFALSE}, - {"StUtilities" ,"" ,"","","","StUtilities", "Load StUtilities",kFALSE}, - {"FieldOn" ,"" ,"","MagF" ,"","" ,"Constant nominal field",kFALSE}, - {"FieldOff" ,"" ,"","MagF" ,"","" ,"No Field option",kFALSE}, - {"HalfField" ,"" ,"","MagF" ,"","","Half Field option",kFALSE}, - {"ReverseField","" ,"","MagF" ,"","","Reverse Field option",kFALSE}, - {"NoCintDb" ,"" ,"","" ,"","","Switch off all Cint Db",kFALSE}, - {"NoStarCintDb","" ,"","" ,"","","Switch off standard Cint Db",kFALSE}, - {"NoLocalCintDb","" ,"","" ,"","","Switch off local Cint Db",kFALSE}, - {"NoMySQLDb" ,"" ,"","" ,"","","Switch off MySQL Db",kFALSE}, - {"NoCintCalDb" ,"" ,"","NoLocalCintDb" ,"","","Switch off local Cint Db",kFALSE}, - {"dbSnapshot" ,"" ,"","" ,"","","Create?use dbSnapshot",kFALSE}, - {"NoEvent" ,"" ,"","-event,-analysis" ,"","","Switch Off StEvent and StAnalysis Makers",kFALSE}, - {"MakeDoc" ,"" ,"","" ,"","","Make HTML documentation for the given Chain",kFALSE}, - {"Debug" ,"" ,"","" ,"","","Set debug flag = 1",kFALSE}, - {"Debug1" ,"" ,"","" ,"","","Set debug flag = 1",kFALSE}, - {"Debug2" ,"" ,"","" ,"","","Set debug flag = 2",kFALSE}, - {"IdTruth" ,"" ,"","" ,"","","Enable IdTruth association in StAssociationMaker",kFALSE}, - {"OldMiniMc" ,"" ,"","" ,"","","Keep pre-2008 convention for MiniMc",kFALSE}, - {"useInTracker","" ,"","","","" ,"switch from EGR to ITTF global tracks in StAssociationMaker",kFALSE}, - {"noRepeat" ,"" ,"","" ,"","","No repeat in Messenger",kFALSE}, - {"noHistos" ,"" ,"","" ,"","","Disables Attributes histos",kFALSE}, - {"noRunco" ,"" ,"","" ,"","","Disables Attributes runco",kFALSE}, - {"Higz" ,"" ,"","" ,"","","Pop Higz window",kFALSE}, - {"big" ,"" ,"","" ,"","","Set NwGEANT =20Mwords",kFALSE}, - {"bigbig" ,"" ,"","" ,"","","Set NwGEANT =40Mwords",kFALSE}, - {"huge" ,"" ,"","" ,"","","Set NwGEANT =80Mwords",kFALSE}, - {"clearmem" ,"" ,"","" ,"","","Obsolete",kFALSE}, - {"adcOnly" ,"" ,"","" ,"","","DAQMaker selects only TPC ADC events",kFALSE}, - {"InTree" ,"" ,"","in","" ,"","bfcTree Input Tree name",kFALSE}, - {"OutTree" ,"" ,"","Tree","" ,"","bfcTree Output Tree name",kFALSE}, - {"DstOut" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"McEvOut" ,"" ,"","StMcEvent,Tree" ,"","","Write StMcEvent to StTree",kFALSE}, - {"EvOut" ,"" ,"","Tree" ,"","","Write StEvent to StTree",kFALSE}, - {"GeantOut" ,"" ,"","Tree" ,"","","Write g2t tables to StTree",kFALSE}, - {"Simu" ,"" ,"","" ,"","","Simulated Data, force to use Db time stamp from used geometry",kFALSE}, - {"HitsBranch" ,"" ,"","" ,"","","take out points from dst branch and put them into HitsBranch",kFALSE}, - {"paw" ,"" ,"","" ,"","","Allocate memory for pawc",kFALSE}, - {"AllEvent" ,"" ,"","Tree" ,"","","Write whole event to StTree",kFALSE}, - {"AllTables" ,"" ,"","","" ,"St_Tables","Load Star Tables",kFALSE}, - {"FXT" ,"" ,"","btofFXT","" ,"","enable anything FXT-specific",kFALSE}, - {"btofFXT" ,"" ,"","","" ,"","enable FXT mode for btof",kFALSE}, - {"Corr1" ,"" ,"","AlignSectors,ExB,OBmap,OClock,OPr13","","" - , "... AlignSectors,ExB,OBmap,OClock,OPr13 ...",kFALSE}, - {"Corr2" ,"" ,"","Corr1,OTwist,OIFC" ,"","","...Corr1+OTwist,OIFC ...",kFALSE}, - {"Corr3" ,"" ,"","AlignSectors,ExB,OBmap2D,OClock,OPr13,OTwist,OIFC","","" - , "... AlignSectors,ExB,OBmap2D,OClock,OPr13,OTwist,OIFC ...",kFALSE}, - {"Corr4" ,"" ,"","Corr3,OShortR" ,"","","... Corr3+OShortR...",kFALSE}, - {"Corr5" ,"" ,"","Corr4,SCEbyE,OGridLeak3D,OSpaceZ2","","" - , "... Corr4+SCEbyE,OGridLeak3D,OSpaceZ2...",kFALSE}, - {"CorrX" ,"" ,"","ExB,OShortR,OBmap,OPr13,OIFC,OSectorAlign,NewTpcAlignment" - ",-AlignSectors,-OBmap2D,-OClock,-OTwist" ,"","","New Tpc Alignment",kFALSE}, - {"CorrY" ,"" ,"","ExB,OShortR,OBmap,OPr40,OIFC,OSectorAlign,NewTpcAlignment,OSpaceZ2,OGridLeakFull" - ",-AlignSectors,-OBmap2D,-OClock,-OTwist" ,"","","New Tpc Alignment",kFALSE}, - {"ExB" ,"" ,"","","" ,"","Activate ExB correction",kFALSE}, - {"EB1" ,"" ,"","","" ,"","Force ExB configuration 1",kFALSE}, - {"EB2" ,"" ,"","","" ,"","Force ExB configuration 2",kFALSE}, - {"OBmap" ,"" ,"","","" ,"","ExB shape correction",kFALSE}, - {"OBmap2D" ,"" ,"","","" ,"","ExB 2 D shape correction",kFALSE}, - {"OTwist" ,"" ,"","","" ,"","ExB twist correction",kFALSE}, - {"OClock" ,"" ,"","","" ,"","Clock/tpc rot. correction",kFALSE}, - {"OPr13" ,"" ,"","","" ,"","PadRow 13 distortion",kFALSE}, - {"OPr40" ,"" ,"","","" ,"","PadRow 40 distortion",kFALSE}, - {"OCentm" ,"" ,"","","" ,"","Central membrane correction",kFALSE}, - {"OECap" ,"" ,"","","" ,"","EndCap (curved) correction",kFALSE}, - {"OIFC" ,"" ,"","","" ,"","Field Cage correction",kFALSE}, - {"OSpaceZ" ,"" ,"","","" ,"","Space Charge corrections",kFALSE}, - {"OSpaceZ2" ,"" ,"","","" ,"","Space Charge corrections R2",kFALSE}, - {"OShortR" ,"" ,"","","" ,"","Shorted Ring correction",kFALSE}, - {"OGridLeak" ,"" ,"","","" ,"","Grid Leak correction",kFALSE}, - {"OGridLeak3D" ,"" ,"","","" ,"","3D Grid Leak correction",kFALSE}, - {"OGridLeakFull","" ,"","","" ,"","Full Grid Leak correction",kFALSE}, - {"OGGVoltErr" ,"" ,"","","" ,"","GG voltage error correction",kFALSE}, - {"OSectorAlign","" ,"","","" ,"","Sector alignment distortion correction",kFALSE}, - {"ODistoSmear" ,"" ,"","","" ,"","Distortion smearing accounting for calibration resolutions",kFALSE}, - {"OAbortGap" ,"" ,"","","" ,"","Abort gap cleaning event distortion correction",kFALSE}, - {"AlignSectors","" ,"","","" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"EbyET0" ,"" ,"","","" ,"","Event-by-event T0 corrections",kFALSE}, - {"DbRichSca" ,"" ,"","detdb","","", "Force reading of Rich scalers from DB",kFALSE}, - {"EastOff" ,"" ,"","","" ,"","Disactivate East part of tpc",kFALSE}, - {"WestOff" ,"" ,"","","" ,"","Disactivate West part of tpc",kFALSE}, - {"AllOn" ,"" ,"","","" ,"","Activate both East and West parts of tpc",kFALSE}, - {"ReadAll" ,"" ,"","","" ,"","Activate all branches to read",kFALSE}, - {"pp" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppOpt" ,"" ,"","TrsPileUp","","", "pp option without enabling special cases",kFALSE}, - {"TrsPileUp" ,"" ,"","","","", "Trs pile up mode",kFALSE}, - {"TrsToF" ,"" ,"","","","", "Trs account for particle time of flight",kFALSE}, - {"SvtMatchVtx" ,"" ,"","","" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"VtxOffSet" ,"" ,"","","" ,"","Account Primary Vertex offset from y2000 data",kFALSE}, - {"Calibration" ,"" ,"","","" ,"","Calibration mode",kFALSE}, - {"beamLine" ,"" ,"","","" ,"","LMV Beam line constrain",kFALSE}, - {"beamLine3D" ,"" ,"","","" ,"","Use beamline in 3D vertex fit",kFALSE}, - {"min2trkVtx" ,"" ,"","","" ,"","...only 2 tracks needed for vertex finding",kFALSE}, - {"hitreuseon" ,"" ,"","","" ,"","...do re-use hits for other tracks in Sti",kFALSE}, - {"usePct4Vtx" ,"" ,"","","" ,"","Use Post-Crossing Tracks for vertex finding",kFALSE}, - {"useBTOF4Vtx" ,"" ,"","","" ,"","Use BTOF track matching for vertex ranking",kFALSE}, - {"useBTOFmatchOnly","","","useBTOF4Vtx","" ,"","Use BTOF track matching only",kFALSE}, - {"svt1hit" ,"" ,"","","" ,"","Use 1 SVT hit only combination",kFALSE}, - {"onlcl" ,"" ,"","","" ,"","Read/use TPC DAQ100 clusters",kFALSE}, - {"onlraw" ,"" ,"","","" ,"","Read/use TPC raw hits",kFALSE}, - {"ezTree" ,"" ,"","","" ,"","Create ezTree branch",kFALSE}, - {"BEmcDebug","" ,"","","" ,"","Turn OFF B-EMC hit reconstruction cuts",kFALSE}, - {"BEmcChkStat","" ,"","","" ,"","Turn ON status checking in raw data",kFALSE}, - {"useLDV" ,"" ,"","","" ,"","... uses laserDV database flavor",kFALSE}, - {"useCDV" ,"" ,"","","" ,"","... uses ofl database flavor",kFALSE}, - {"useNewLDV" ,"" ,"","","" ,"","... uses ofl database flavor",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Tables ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"tables" ,"","","StDbT,ebyeT,emc_T,ftpcT,gen_T,geomT,globT,l3_T,sim_T,svt_T,tpc_T","","","",kFALSE}, - {"StDbT" ,"" ,"","","" ,"StDb_Tables","Load StDb_Tables",kFALSE}, - {"ctf_T" ,"" ,"","","" ,"ctf_Tables","Load ctf_Tables",kFALSE}, - {"ebyeT" ,"" ,"","","" ,"ebye_Tables","Load ebye_Tables",kFALSE}, - {"emc_T" ,"" ,"","","" ,"emc_Tables","Load emc_Tables",kFALSE}, - {"ftpcT" ,"" ,"","","" ,"ftpc_Tables","Load ftpc_Tables",kFALSE}, - {"gen_T" ,"" ,"","","" ,"gen_Tables","Load gen_Tables",kFALSE}, - {"geomT" ,"" ,"","","" ,"geometry_Tables","Load geometry_Tables",kFALSE}, - {"globT" ,"" ,"","","" ,"global_Tables","Load global_Tables",kFALSE}, - {"l3_T" ,"", "","","" ,"l3_Tables","Load l3_Tables",kFALSE}, - {"mwc_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"sim_T" ,"" ,"","","" ,"sim_Tables","Load sim_Tables",kFALSE}, - {"svt_T" ,"" ,"","","" ,"svt_Tables","Load svt_Tables",kFALSE}, - {"tpc_T" ,"" ,"","" ,"" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"trg_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"vpd_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Embedding" ,"","","-Simu" ,"","","Embedding run",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Utilities ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Geometry+Mag","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"pgf77" ,"" ,"","","" ,"pgf77VMC","Fortran",kFALSE}, - {"rootcern" ,"" ,"","geant3","" ,"","ROOT minicern OBSOLETE",kFALSE}, - {"StarMiniCern","" ,"","geant3","" ,"","STAR addition to minicern OBSOLETE",kFALSE}, - {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, - {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom,libVMC,libgeant3", "VMC geant3",kFALSE}, - {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, - {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, - {"StarMagField","", "","magF" ,"","VMC,StarMagField","Load StarMagField",kFALSE}, - {"geomNoField" ,"" ,"","-geometry,StarMagField" ,"","geometryNoField","geometry-Mag.Field",kFALSE}, - {"xgeometry" ,"" ,"","-geometry,-geomNoField" ,"","xgeometry","AgML geometry-Mag.Field",kFALSE}, - {"UseProjectedVertex" ,"" ,"","" ,"","","Run StBTofCalibMaker w/wo Primary Vertex",kFALSE}, - {"ImpBToFt0Mode" ,"" ,"","" ,"","","pppAMode in StVpdCalibMaker and StBTofCalibMaker",kFALSE}, - {"setOutlierRej4BToft0" ,"" ,"","" ,"","","setPPPAOutlierRej is set in StBTofCalibMaker",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"vpd" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tls" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"rts" ,"" ,"","","" ,"RTS","load libRTS",kFALSE}, - {"daq" ,"" ,"","rts","" ,"StDaqLib,StDAQMaker","Load StDAQMaker",kFALSE}, - {"SCL" ,"" ,"","","" ,"StarClassLibrary","Load StarClassLibrary",kFALSE}, - {"SvtCL" ,"" ,"","","" ,"Geom,StSvtClassLibrary","",kFALSE}, - {"TbUtil" ,"" ,"","sim_T,tpc_t,globT,SCL","" ,"StTableUtilities","Load StTableUtilities",kFALSE}, - {"TofUtil" ,"" ,"","","" ,"StTofUtil","Load StTofUtil",kFALSE}, - {"BTofUtil" ,"" ,"","","" ,"StBTofUtil","Load StBTofUtil",kFALSE}, - {"ETofUtil" ,"" ,"","","" ,"StETofUtil","Load StETofUtil",kFALSE}, - {"MtdUtil" ,"" ,"","","" ,"StMtdUtil","Load StMtdUtil",kFALSE}, - {"StBichsel" ,"" ,"","","" ,"StBichsel","Load Bichsel model for dE/dx",kFALSE}, - {"StEvent" ,"","","globT,SCL,TRGDef,StBichsel,EmcUtil,TbUtil,detDb","","StEvent","Load StEvent",kFALSE}, - {"PxlUtil" ,"" ,"","","", "StPxlUtil","Load StPxlUtil",kFALSE}, - {"IstUtil" ,"" ,"","","", "StIstUtil","Load StIstUtil",kFALSE}, - {"SsdUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSsdUtil","Load SSD Util",kFALSE}, - {"SstUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSstUtil","Load SST Util",kFALSE}, - {"EmcUtil" ,"" ,"","emc_T,geomT,StDbT","" ,"StEmcUtil","Load StEmcUtil",kFALSE}, - {"EEmcUtil" ,"" ,"","","" ,"StEEmcUtil","Load StEEmcUtil",kFALSE}, - {"FmsUtil" ,"" ,"","","" ,"StFmsUtil,libMinuit","Load StFmsUtil",kFALSE}, - {"FgtUtil" ,"" ,"","","" ,"StFgtUtil","Load StFgtUtil",kFALSE}, - {"GmtUtil" ,"" ,"","","" ,"StGmtUtil","Load StGmtUtil",kFALSE}, - {"l3Util" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PmdUtil" ,"" ,"","","", "StPmdUtil","Load StPmdUtil",kFALSE}, - {"QUtils" ,"" ,"","PmdUtil,EmcUtil","", "","Load QA Libs dependencies",kFALSE}, - {"Stu" ,"" ,"","","", "StEventUtilities","Load StEventUtilities",kFALSE}, - {"MuDSTDeps" ,"","","StEvent,Stu,StBichsel","" - , "StStrangeMuDstMaker,Tree","Load MuDST misc. dependencies",kFALSE}, - {"MuDST" ,"" ,"","MuDSTDeps,EmcUtil,TofUtil,BTofUtil,PmdUtil","" - , "StMuDSTMaker","Load MuDST library",kFALSE}, - {"picoEvt" ,"","","StEvent,Stu","", "StPicoEvent","Load picoEvent and dependencies",kFALSE}, - {"picoDst" ,"","","picoEvt,EmcUtil,TofUtil,BTofUtil,PmdUtil","" - , "StPicoDstMaker","Load PicoDST library",kFALSE}, - {"geantL","","","geomT,gen_T,sim_T,StarMagField","","geometry,Geom,St_db_Maker,St_g2t,St_geant_Maker" - , "Load GeantLibs",kFALSE}, - {"gstarLib","","","" ,"","gstar","Load gstar lib",kFALSE}, - {"flux" ,"","","simu" ,"","flux","Load flux lib",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T" , "", "libVMC.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, - {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, - {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, - {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, - {"kinematics" ,"","","stargen", "", "Kinematics.so", "Load STAR Particle Gun", false }, - {"genreader" ,"","","stargen", "", "StarGenEventReader.so", "Load STAR Gen Event Reader", false }, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"I/O Makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"gstar" ,"geant" ,"","-fzin,-ntin,-geant,Simu,geantL","St_geant_Maker" - , "","gstar for 80 muon tracks with pT = 1GeV in |eta|<4",kFALSE}, - {"pythia" ,"geant" ,"","-gstar,-fzin,-ntin,-geant,geantL","St_geant_Maker" - , "Pythia6_4_26,bpythia","Load Pythia in starsim, set pp 510 GeV",kFALSE}, - {"Wenu" ,"" ,"","pythia","", "" ,"set pp 510 GeV -> W+/- -> e+/- nu/nubar",kFALSE}, - {"hijing" ,"geant" ,"","-gstar,-fzin,-ntin,-geant,geantL","St_geant_Maker" - ,"StarGeneratorUtil,StarGeneratorEvent,StarGeneratorBase,Hijing1_383" - , "Load Hijing in starsim, set AuAu200 GeV",kFALSE}, - {"tdaq" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"miniDAQ" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"fzin" ,"geant","","Simu,-gstar,-ntin,-geant,geantL","St_geant_Maker","" - , "read gstar fz-file",kFALSE}, - {"UseXgeom","","","-geometry,-geomNoField,xgeometry","","","suppress mortran version of geometry",kFALSE}, - {"in" ,"" ,"","" , "StIOMaker","StIOMaker","Read [DAQ|ROOT] input file",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Db makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"db" ,"db" ,"","StDbT" ,"St_db_Maker","StDbLib,StDbBroker,St_db_Maker","",kFALSE}, - {"magF" ,"MagField","","StDbT,db,detDb","StMagFMaker","StarMagField,StMagF" - , "Mag.field map with scale factor from Db",kFALSE}, - {"detDb","detDb","","db","StDetectorDbMaker","StDetectorDbMaker","Load StDetectorDbMaker library",kFALSE}, - {"mtin" ,"geant" ,"","-fzin,-geant,-gstar,geantL,gstarLib,-magF","St_geant_Maker" - , "gstar","read event from MuDst",kFALSE}, - {"tpcDB" ,"tpcDB","","tpc_T,dbutil,detDb,StarMagField,magF,StEvent","StTpcDbMaker","StTpcDb","",kFALSE}, - {"dbutil" ,"" ,"","detDb,StDbT" ,"","StDbUtilities","Load StDbUtilities",kFALSE}, - {"svtDb" ,"svtDb","","tpcDb,SvtCL", "StSvtDbMaker","StSvtDbMaker","Load and run SvtDbMaker",kFALSE}, - {"ssdDb" ,"ssdDb","","tpcDb,SsdUtil","StSsdDbMaker","StSsdDbMaker","Load and run SsdDbMaker",kFALSE}, - {"sstDb" ,"sstDb","","tpcDb,SstUtil","StSstDbMaker","StSsdDbMaker","Load and run SstDbMaker",kFALSE}, - {"svtCalDb" ,"" ,"","svtDb" ,"","","Declare Calibrations/svt as while list member",kFALSE}, - {"ssdCalDb" ,"" ,"","ssdDb" ,"","","Declare Calibrations/ssd as while list member",kFALSE}, - {"sstCalDb" ,"" ,"","sstDb" ,"","","Declare Calibrations/sst as while list member",kFALSE}, - {"eemcDb" ,"eeDb" ,"","db,EEmcUtil", "StEEmcDbMaker","StEEmcDbMaker","Load EEmcDbMaker",kFALSE}, - {"fmsDb" ,"fmsDb","","db,fmsutil", "StFmsDbMaker","StFmsDbMaker","Load FmsDbMaker",kFALSE}, - {"fcsDb" ,"fcsDbMkr","","", "StFcsDbMaker","StFcsDbMaker","Load FcsDbMaker",kFALSE}, - {"fttDb" ,"fttDbMkr","","", "StFttDbMaker","StFttDbMaker","Load FttDbMaker",kFALSE}, - {"fgtDb" ,"fgtDb","","db,fgtutil", "StFgtDbMaker","StFgtDbMaker","Load FgtDbMaker",kFALSE}, - {"pxlDb" ,"pxlDb","","tpcDb PxlUtil", "StPxlDbMaker","StPxlDbMaker","Load PxlDbMaker",kFALSE}, - {"istDb" ,"istDb","","tpcDb", "StIstDbMaker","StIstDbMaker","Load IstDbMaker",kFALSE}, - {"fstDb" ,"fstDb","","tpcDb", "StFstDbMaker","StFstDbMaker","Load FstDbMaker",kFALSE}, - {"epdDb" ,"epdDb","","tpcDb", "StEpdDbMaker","StEpdDbMaker","Load EpdDbMaker",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"MAKERS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ntin" ,"geant","","paw,-fzin,-geant,-gstar,Simu,geantL,gstarLib","St_geant_Maker" - , "","read event generated Hbook nt-file",kFALSE}, - {"PrepEmbed","","","geantEmb","StPrepEmbedMaker","St_geant_Maker" - , "Prepare kinematics for embedding",kFALSE}, - {"PythiaEmbed","","","pythia,-Simu","","", "Prepare kinematics for embedding",kFALSE}, - {"geant" ,"geant","","geantL" ,"St_geant_Maker","","passive GEANT",kFALSE}, - {"geantEmb" ,"geant","","geantL" ,"St_geant_Maker","","GEANT embedding mode",kFALSE}, - {"RootVMC","","","-geant,-fzin,-ntin,StarMagField,-geantL,-geometry,-geomNoField,geant3","","","",kFALSE}, - {"VMCAppl" ,"","","geomT,gen_t,sim_T,tpcDB,RootVMC,","","StSvtDbMaker,StSsdDbMaker,StarVMCApplication" - , "VMC G3",kFALSE}, - {"VMC" ,"geant","","Simu,VMCAppl,-geant","StVMCMaker", "StVMCMaker","VMC Maker",kFALSE}, - {"VMCPassive" ,"geant","","VMCAppl", "StVMCMaker","StVMCMaker","VMC Maker in Passive Mode",kFALSE}, - {"trg" ,"trg","l0Chain","trg_T,globT,db","St_trg_Maker","St_trg,St_trg_Maker" - , "trigger analysis for Year 2001-2005 data",kFALSE}, - {"TRGDef" ,"" ,"","","" ,"StTriggerDataMaker","Load StTriggerData",kFALSE}, - {"trgd" ,"trgd","","TRGDef" ,"StTriggerDataMaker","StTriggerDataMaker","Get trigger data",kFALSE}, - {"MakeEvent","0Event","","StEvent,detDb","StEventMaker","StTpcDb,StEventMaker" - , "",kFALSE}, - {"LaserAvEv" ,"","","" ,"StLaserAvEventMaker","StLaserAvEventMaker","Hejrad",kFALSE}, - {"LaserAvCl" ,"","","" ,"StLaserAvClusterMaker","StLaserAvClusterMaker","",kFALSE}, - {"l0" ,"l0Chain","","globT,ctf,trg" ,"StMaker","StChain","",kFALSE}, - {"ctf" ,"ctf","l0Chain","ctf_T,db" ,"St_ctf_Maker","ctf,St_ctf,St_ctf_Maker","ToF simulation",kFALSE}, - {"mwc" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppMCTrig" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"pp2pp" ,"","","", "St_pp2pp_Maker","St_pp2pp_Maker","pp->pp",kFALSE}, - {"mtdFilt" ,"","","", "StMtdEvtFilterApplyMaker","StDataFilterMaker","MTD-based event filtering",kFALSE}, - {"mtd" ,"MtdChain","","mtdDat,mtdMatch","StMaker", "StChain","MTD Chain",kFALSE}, - {"mtdDat" ,"mtd_raw","MtdChain","db,MuDst","StMtdHitMaker","StEvent,StMtdHitMaker" - , "MTD hit maker",kFALSE}, - {"mtdTrkMask","","","db","StMtdTrackingMaskMaker" ,"StMtdEvtFilterMaker","MTD track masking",kFALSE}, - {"epdHit", "", "", "epdDb,event", "StEpdHitMaker", "StEpdHitMaker","EPD hit maker", kFALSE}, - {"tpc" ,"","","TpxRaw,TpxClu,tpcI" ,"","","WARNING *** Option is OBSOLETE *** use TpxClu instead",kFALSE}, - {"tpcI" ,"tpcChain","","db,tpcDB,TpcHitMover", "StMaker","StChain","tpc with ITTF",kFALSE}, - {"tpcX" ,"tpcChain","","-tpcI,tpx,MakeEvent" ,"StMaker","StChain","tpc+tpcx with ITTF",kFALSE}, - {"Trs","Trs","tpcChain","scl,tpcDB,TrsToF,StEvent,EmbeddingShortCut","StTrsMaker","StTrsMaker","",kFALSE}, - {"TpcRS","","tpcChain","scl,tpcDB,-Trs,-EmbeddingShortCut,Stu","StTpcRSMaker" - ,"libMathMore,StdEdxY2Maker,StTpcRSMaker", "New Tpc Response Simulator",kFALSE}, - {"tfs" ,"","","TpcFastSim" ,"","","WARNING *** Option is OBSOLETE *** use TpcFastSim instead",kFALSE}, - {"TpcFastSim" ,"tpc_hits","tpcChain","MakeEvent,Simu,-trs,-TpcRS,-tcl,-tpxclu,-fcf,-tpc_daq,StEvent," - "-TpcHitMover,EmbeddingShortCut" ,"StTpcFastSimMaker","St_tcl_Maker","use tfs (no Trs or TpcRS)",kFALSE}, - {"EmbeddingShortCut","","","", "","","Short Cut for StdEdxY2Maker and StTpcHitMover",kFALSE}, - {"StMcEvent" ,"","","gen_t,sim_T" ,"","StMcEvent","",kFALSE}, - {"McEvent" ,"","","StEvent,tpcDb,EEmcUtil,EmcUtil,StMcEvent","StMcEventMaker","StMcEventMaker","",kFALSE}, - {"Mixer" ,"tpc_raw","","daq","StMixerMaker" ,"StTrsMaker,StMixerMaker","",kFALSE}, - {"St_tpc" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"St_svt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tpc_daq" ,"","","TpxRaw", "","","WARNING *** Option is OBSOLETE *** use TpxRaw instead",kFALSE}, - {"tcl","","","TpxRaw,TpxClu,MakeEvent","","" - , "WARNING *** Option is OBSOLETE *** use option TpxRaw,TpxClu,MakeEvent instead",kFALSE}, - {"fcf" ,"","","-tcl,tpcX", "","","WARNING *** Option is OBSOLETE *** use tpcX instead",kFALSE}, - {"tpx" ,"tpc_hits","tpcChain","MakeEvent,tpc_T,StEvent,rts,detDb" - , "StTpcHitMaker","StTpcHitMaker","TPC hit reader for tpc + tpx via EVP_READER",kFALSE}, - {"gmt" ,"GmtChain","","gmtDat,gmtClu" ,"StMaker","StChain","Gmt data Chain",kFALSE}, - {"gmtDat" ,"","GmtChain", "event","StGmtRawMaker","StGmtRawMaker", "GMT Data reader",kFALSE}, - {"gmtClu" ,"","GmtChain","gmtutil","StGmtClusterMaker","StGmtClusterMaker","GMT cluster maker",kFALSE}, - {"TpxPulser","TpxPulser","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker","TPC+TPX pulser analysis" - , kFALSE}, - {"TpxPadMonitor","","","" ,"","","WARNING *** Option is OBSOLETE ***", kFALSE}, - {"TpxAvLaser","TpxAvLaser","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX averaging laser events into Sparse histogram on pixels level", kFALSE}, - {"TpxDumpPxls2Nt","TpxDumpPxls2Nt","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX pixel dump to NTuple", kFALSE}, - {"TpxRaw","TpxRaw","tpcChain","rts,detDb,StEvent","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX convert DAQ Tpc Raw Data to TpcRawEvent used by TpcMixer and/or TpxClu", kFALSE}, - {"TpcMixer","","tpcChain","StEvent,rts,-Mixer,-tpx,TpxClu" ,"StTpcMixerMaker","StTpcHitMaker","",kFALSE}, - {"TpxClu","tpc_hits","tpcChain","rts,tpcDb,detDb,-tpx,-tpc_daq,-fcf","StTpcRTSHitMaker" - ,"StTpcHitMaker", "RTS(online) cluster maker",kFALSE}, - {"TpxClu2D" ,"","","TpxClu","","", "RTS(online) 2D-cluster maker",kFALSE}, - {"TpcAvCluster","TpcAvCluster","tpcChain","rts,detDb","StTpcAvClusterMaker","StTpcHitMaker" - , "TPC+TPX averaging laser events into Sparse histogram on cluster level", kFALSE}, - {"Velo" ,"","tpcChain","tpc_T" ,"StVeloMaker","StVeloMaker","",kFALSE}, - {"TpcHitMover" ,"tpc_hit_mover","tpcChain","tpcDb,StEvent,Stu" - , "StTpcHitMover","StTpcHitMoverMaker","TPC hits coord transform + corrections",kFALSE}, - {"tpt","","ITTF","", "","","WARNING *** Option is OBSOLETE *** use ITTF",kFALSE}, - {"tpt_old","","ITTF","", "","","WARNING *** Option is OBSOLETE *** use ITTF",kFALSE}, - {"TpcT0" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ChargeStep","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"laser" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PreVtx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"svt" ,"svtChain","","svt_T,SvtCL" ,"StMaker","StChain","",kFALSE}, - {"svt_daq" ,"svt_raw","svtChain","daq,SvtCL" ,"StSvtDaqMaker","StSvtDaqMaker","",kFALSE}, - {"sss" ,"","","SvtSlowSim" ,"","","Short cut for SvtSlowSim",kFALSE}, - {"SvtSlowSim" ,"","","SvtSSim,SvtOnlSeq" ,"","","Short cut for SvtSlowSim and SvtOnlSeq",kFALSE}, - {"SvtSSim","SvtSSimu","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit" - , "StSvtSimulationMaker","StSvtSimulationMaker,StSvtCalibMaker","",kFALSE}, - {"SvtEmbed" ,"","","SvtSSim,SvtEm,SvtOnlSeq" ,"","","Short cutfor SvtSlowSim and SvtOnlSeq",kFALSE}, - {"SvtEm","SvtEm","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit","StSvtEmbeddingMaker" - , "StSvtSimulationMaker,StSvtCalibMaker","",kFALSE}, - {"SvtOnlSeq" ,"SvtOnlSeq","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit" - , "StSvtOnlineSeqAdjSimMaker","StSvtSimulationMaker","",kFALSE}, - {"srs","","","sfs", "","","WARNING *** Option is OBSOLETE use sfs instead ***",kFALSE}, - {"sfs","svt_hits","svtChain","svtDb,Simu,SvtCL,-sss,-SvtSlowSim,StEvent,MakeEvent" - , "St_sfs_Maker","St_srs_Maker","Very fast simulator for SVT",kFALSE}, - {"SvtSeqAdj" ,"SvtSeqAdj","svtChain","SvtCL" ,"StSvtSeqAdjMaker","StSvtSeqAdjMaker","",kFALSE}, - {"SvtClu" ,"SvtClu","svtChain","svt_T,StEvent,SvtCL","StSvtClusterMaker","StSvtClusterMaker","",kFALSE}, - {"SvtCluAnal" ,"SvtCluAnal","svtChain","SvtCL","StSvtClusterAnalysisMaker","StSvtClusterMaker","",kFALSE}, - {"SvtHit" ,"svt_hits","svtChain","SvtCL" ,"StSvtHitMaker","StSvtClusterMaker","",kFALSE}, - {"SvtVtx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"stk" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Est" ,"","","SvtIT", "","","WARNING *** Option is OBSOLETE *** use SvtIT instead",kFALSE}, - {"global" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Match" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Vertex" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Primary" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"V0" ,"","","V02", "","","WARNING *** Option is OBSOLETE use V02 instead***",kFALSE}, - {"Xi" ,"","","Xi2", "","","WARNING *** Option is OBSOLETE use Xi2 instead***",kFALSE}, - {"Kink" ,"","","Kink2", "","","WARNING *** Option is OBSOLETE use Kink2 instead***",kFALSE}, - {"dst" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Fglobal" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Fprimary" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"dEdx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"svtdEdx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Event" , "","","MakeEvent", "","","Request to initialize event",kFALSE}, - {"pxlRaw" ,"","","pxlDb", "StPxlRawHitMaker", "StPxlRawHitMaker", "PXL raw hit maker",kFALSE}, - {"pxlFastSim" ,"","","pxlRaw,StMcEvent,StEvent" - , "StPxlSimMaker","StPxlSimMaker","PXL Fast Simulator",kFALSE}, - {"pxlSlowSim" ,"","","pxlRaw,StMcEvent,StEvent" - , "StPxlSimMaker","StPxlSimMaker","PXL Slow Simulator",kFALSE}, - {"pxlCluster" ,"","","pxlRaw", "StPxlClusterMaker", "StPxlClusterMaker", "PXL cluster maker",kFALSE}, - {"pxlHit" ,"","","event pxlCluster", "StPxlHitMaker", "StPxlHitMaker", "PXL hit maker",kFALSE}, - {"istSlowSim", "", "","StMcEvent,StEvent,IstUtil", "StIstSlowSimMaker", - "StIstSimMaker", "IST Slow simulator", kFALSE}, - {"istFastSim","","","StMcEvent,StEvent","StIstFastSimMaker","StIstSimMaker","IST Fast simulator", kFALSE}, - {"istRawHit", "", "", "istUtil,istDb","StIstRawHitMaker", "StIstRawHitMaker","IST RAWhit maker", kFALSE}, - {"istCluster", "", "", "istRawHit","StIstClusterMaker", "StIstClusterMaker","IST Cluster maker", kFALSE}, - {"istHit", "", "", "event,istCluster", "StIstHitMaker", "StIstHitMaker","IST Hit Maker",kFALSE}, - {"fst","fstChain","","fstRawHit,fstCluster,fstHit", "StMaker","StChain","FST chain" ,kFALSE}, - {"fstFastSim","","fstChain","StMcEvent,StEvent","StFstFastSimMaker","StFstSimMaker","FST fast simulator", - kFALSE}, - {"fstRawHit", "", "fstChain", "fstUtil,fstDb","StFstRawHitMaker", "StFstRawHitMaker","FST raw hit maker", - kFALSE}, - {"fstCluster", "", "fstChain", "fstRawHit","StFstClusterMaker", "StFstClusterMaker","FST Cluster maker", - kFALSE}, - {"fstHit", "", "fstChain", "event,fstCluster", "StFstHitMaker", "StFstHitMaker","FST Hit Maker", - kFALSE}, - {"fstUtil" , "", "", "", "", "StFstUtil", "Fst Utilities", - kFALSE}, - {"ssddat" ,"","","ssd_daq" ,"","","SSD full chain for Real Data",kFALSE}, - {"sstdat" ,"","","sst_daq" ,"","","SST full chain for Real Data",kFALSE}, - {"ssd_daq","","","ssdCalDb,svt_T,-sls,-spa,ssdUtil","StSsdDaqMaker","StSsdDaqMaker","... SSD Daq",kFALSE}, - {"sst_daq","","","sstCalDb,svt_T,-sls,-spa,sstUtil","StSstDaqMaker","StSstDaqMaker","... SSDT Daq",kFALSE}, - {"ssdfast" ,"","","ssdDb,StMcEvent,StEvent","StSsdFastSimMaker","StSsdFastSimMaker", - "... SSD fast simulator" ,kFALSE}, - {"ssd" ,"","","ssdCalDb,sls,spa,sptd" ,"","","SSD full chain for simulation",kFALSE}, - {"sls","","","McEvent,Simu,svt_T,SvtCL" - , "St_sls_Maker","StSsdSimulationMaker", "... SSD slow simulator",kFALSE}, - {"spa" ,"SpaStrip","","Simu,svt_T,SvtCL,ssdUtil","St_spa_Maker","StSsdSimulationMaker" - , "... SSD Pedestal Annihilator",kFALSE}, - {"SsdEmbed" ,"","","","StSsdEmbeddingMaker","StSsdSimulationMaker","... SSD Mixing geom Maker" ,kFALSE}, - {"spt" ,"","","sptd", "","" ,"Alias for sptd - please replace in chain",kFALSE}, - {"sptd" ,"","","ssdUtil,svt_T", "StSsdPointMaker","StSsdPointMaker","... SSD Point Creator",kFALSE}, - {"sptt" ,"","","sstUtil", "StSstPointMaker","StSstPointMaker", "... SST Point Creator",kFALSE}, - {"sstHit", "", "", "sst_daq,sptt", "", "","SST reconstruction chain",kFALSE}, - {"ssdpre" ,"","","ssdEmbed,spa" ,"","","SSD full chain for pre-embedding",kFALSE}, - {"ssdAdd" ,"","","ssd_daq","StSsdAddMaker","StSsdAddMaker", "... SSD merge maker",kFALSE}, - {"ssdE" ,"","","ssdpre,ssdAdd" ,"","","SSD full chain for embedding",kFALSE}, - {"ZDCVtx" ,"","","db" ,"StZdcVertexMaker","StZdcVertexMaker","",kFALSE}, - {"emcDY2" ,"emcRaw","","daq,eemcDb,EEmcUtil,emc_T,EmcUtil,StEvent,PreEcl,Epc" - ,"StEmcRawMaker","StEmcRawMaker", "B/E EMC data common maker",kFALSE}, - {"eemcD" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"emcY2" ,"","","emc_T,tpc_T,db,emcSim,PreEcl,epc","","" - , "EMC Chain for Y2A (must be before makers which include in this chain)",kFALSE}, - {"emcSim" ,"","","emc_T,EmcUtil,McEvent,MuDST","StEmcSimulatorMaker","StEmcSimulatorMaker" - , "New simulator for BEMC",kFALSE}, - {"EEfs" ,"eefs","","eemcDb,EEmcUtil,MuDst","StEEmcFastMaker","StEEmcSimulatorMaker" - , "EEMC fast simulator",kFALSE}, - {"EEss" ,"eess","","-eefs,eemcDb,EEmcUtil,MuDst","StEEmcSlowMaker","StEEmcSimulatorMaker" - , "EEMC slow simulator",kFALSE}, - {"BEmcMixer", "","","", "StEmcMixerMaker","StEmcMixerMaker","BEMC mixer",kFALSE}, - {"emcAtoE" ,"bemcA2E","" ,"db","StEmcADCtoEMaker","StEmcADCtoEMaker" - , "B-EMC ADC to E converter OBSOLETE for data in Run 9 or later",kFALSE}, - {"PreEcl" ,"preecl","","" ,"StPreEclMaker", "StPreEclMaker","B-EMC Cluster finder",kFALSE}, - {"Epc" ,"epc","","PreEcl,EmcUtil" ,"StEpcMaker","StEpcMaker","B-EMC point maker",kFALSE}, - {"EEmcMixer", "","","", "StEEmcMixerMaker","StEEmcSimulatorMaker","EEMC mixer",kFALSE}, - {"eemcA2E","eemcA2E","" ,"db","StEEmcA2EMaker", "StEEmcA2EMaker","E-EMC ADC to E converter",kFALSE}, - {"eemCl" ,"eemCl","","db","StEEmcClusterMaker" ,"StEEmcClusterMaker","E-EMC clustering",kFALSE}, - {"btof" ,"BTofChain","","btofDat,vpdCalib,btofMatch,btofCalib","StMaker" - , "StChain","BTOF Chain",kFALSE}, - {"BtofDat" ,"tof_raw","BTofChain","db,BTofutil","StBTofHitMaker","StEvent,StBTofHitMaker" - , "BTOF hit maker",kFALSE}, - {"vpdSim" ,"","VpdChain","BTofUtil","StVpdSimMaker","StEvent,StMcEvent,StBTofHitMaker,StVpdSimMaker" - , "Vpd Simulator",kFALSE}, - {"vpdCalib","","BTofChain","db,BTofUtil","StVpdCalibMaker" ,"StVpdCalibMaker","VPD calibration",kFALSE}, - {"btofSim" ,"","BTofChain","BTofUtil" ,"StBTofSimMaker", - "StEvent,StMcEvent,StTofUtil,StBTofHitMaker,StBTofSimMaker","BTOF Simulator",kFALSE}, - {"btofMixer" ,"","BTofChain","BTofUtil","StBTofMixerMaker","StEvent,StBTofHitMaker,StBTofMixerMaker" - , "BTof Mixer",kFALSE}, - {"ETofDat", "etof_raw","ETofChain", "db, ETofUtil", "StETofDigiMaker", "StEvent,StETofDigiMaker", - "ETOF digi maker",kFALSE}, - {"ETofCalib", "", "ETofChain", "db, ETofUtil, muDst", "StETofCalibMaker", "StETofCalibMaker", - "ETOF calibration",kFALSE}, - {"ETofSim" , "", "ETofChain", "", "StETofSimMaker", "StETofSimMaker", - "ETOF simulator",kFALSE}, - {"mtdSim" ,"","MtdChain","","StMtdSimMaker", "StEvent,StMtdSimMaker","MTD Simulator",kFALSE}, - {"ToF" ,"TofChain","","tofDat,tofrMatch,tofpMatch,tofCalib,geant","StMaker","StChain","ToF Chain",kFALSE}, - {"ToFx" ,"TofChain","","tofXDat,tofrMatch,tofCalib,geant" ,"StMaker","StChain","ToFx Chain",kFALSE}, - {"tofDat" ,"tof_raw","TofChain","db,Tofutil","StTofMaker","StEvent,StTofMaker", - "TOF Data base chain", kFALSE}, - {"tofXDat" ,"tof_raw","TofChain","db,Tofutil","StTofHitMaker","StEvent,StTofMaker,StTofHitMaker", - "TOF hit maker", kFALSE}, - {"tofsim" ,"","TofChain","TofUtil","StTofSimMaker","StEvent,StTofMaker,StTofSimMaker", - "TOF Simulator, Tof version before y2009", kFALSE}, - {"tofrMatch" ,"","TofChain","db,TofUtil","StTofrMatchMaker","StTofrMatchMaker", - "TPC to TOFr track matching", kFALSE}, - {"tofpMatch" ,"","TofChain","db,TofUtil","StTofpMatchMaker","StTofpMatchMaker", - "TPC to TOFp track matching", kFALSE}, - {"tofCalib" ,"","TofChain","db,TofUtil","StTofCalibMaker","StTofCalibMaker", "TOF calibration",kFALSE}, - {"FiltGamma" ,"","","StEvent,StMcEvent,EmcUtil", - "StGammaFilterMaker","StFilterMaker", "BEmc Gamma filtering", kFALSE}, - {"FiltEemcGamma" ,"","","StEvent,StMcEvent,EmcUtil", - "StEemcGammaFilterMaker","StFilterMaker", "EEmc Gamma filtering", kFALSE}, - {"rich" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Rrs" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"rch" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"RichPiD" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3cl" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3t" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3onl" ,"","","" ,"Stl3RawReaderMaker","Stl3RawReaderMaker","",kFALSE}, - {"l3count" ,"","","" ,"Stl3CounterMaker","Stl3RawReaderMaker","",kFALSE}, - {"bbcSim" ,"","","db","StBbcSimulationMaker" ,"StBbcSimulationMaker","BBC Simulator",kFALSE}, - {"fmsSim","" ,"","StEvent,fmsDb", - "StFmsFastSimulatorMaker","StFmsFastSimulatorMaker","FMS Fast Simulator", kFALSE}, - {"fmsDat" ,"","", "StEvent,fmsDb", - "StFmsHitMaker","StFmsHitMaker","Fill FMS struct and zero TRG", kFALSE}, - {"fpsDat" ,"","", "StEvent,fmsdb", - "StFpsRawHitMaker","StFpsRawHitMaker","Fill FPS struct", kFALSE}, - {"fmsPoint" ,"","", "event,fmsDb", - "StFmsPointMaker","StFmsPointMaker","Fill FMS clusters and points", kFALSE}, - {"fmsfps" ,"","", "event,fmsDb", - "StFmsFpsMaker","StFmsFpsMaker","Fill FPS association in FMS points", kFALSE}, - {"fcs","fcsChain","","fcsDat,fcsWFF,fcsCluster,fcsPoint", "StMaker","StChain","FCS chain",kFALSE}, - {"fcsSim","" ,"fcsChain","StEvent,fcsDb", - "StFcsFastSimulatorMaker","StFcsFastSimulatorMaker","FCS Fast Simulator", kFALSE}, - {"fcsDat","" ,"fcsChain","StEvent,fcsDb", - "StFcsRawHitMaker","StFcsRawHitMaker","FCS daq file reader/hit maker", kFALSE}, - {"fcsWFF" ,"","fcsChain", "StEvent,fcsDb", - "StFcsWaveformFitMaker","StFcsWaveformFitMaker","Fit FCS waveform", kFALSE}, - {"fcsCluster" ,"","fcsChain", "StEvent,fcsDb", - "StFcsClusterMaker","StFcsClusterMaker","Fill FCS clusters", kFALSE}, - {"fcsPoint" ,"","fcsChain", "StEvent,fcsDb", - "StFcsPointMaker","StFcsPointMaker,libMinuit","Fill FCS points", kFALSE}, - {"ftt","fttChain","","FttDat,FttHitCalib,FttClu,FttPoint", "StMaker","StChain","FST chain" ,kFALSE}, - {"FttDat","","fttChain","StEvent","StFttRawHitMaker","StFttRawHitMaker,StEvent", - "sTGC Raw hit maker", kFALSE}, - {"FttHitCalib","","fttChain","StEvent,MuDST","StFttHitCalibMaker","StFttHitCalibMaker,StFttRawHitMaker,StEvent", - "sTGC hit calib maker", kFALSE}, - {"FttClu","","fttChain","StEvent,fttDb","StFttClusterMaker","StFttClusterMaker,StEvent,StFttDbMaker", - "sTGC Cluster maker", kFALSE}, - {"FttPoint","","fttChain","StEvent,fttDb","StFttPointMaker","StFttPointMaker,StEvent,StFttDbMaker", - "sTGC Point maker", kFALSE}, - {"FttQA","","fttChain","","StFttQAMaker","StFttQAMaker", "sTGC Raw hit QA maker", kFALSE}, - {"fpd" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"fgt" ,"FgtChain","","fgtDat,fgtClu,fgtAtoC" ,"StMaker","StChain","Fgt data Chain",kFALSE}, - {"fgtDat" ,"","", "event,fgtdb","StFgtRawMaker","StFgtRawMaker", "FGT Data reader",kFALSE}, - {"fgtAtoC" ,"","", "fgtdb", "StFgtA2CMaker","StFgtA2CMaker", "FGT ADC to Charge maker",kFALSE}, - {"fgtClu" ,"","", "fgtutil", "StFgtClusterMaker","StFgtClusterMaker", "FGT cluster maker",kFALSE}, - {"fgtAtoC" ,"","", "fgtdb", "StFgtA2CMaker","StFgtA2CMaker", "FGT ADC to Charge maker",kFALSE}, - {"fgtPoint" ,"","", "event", "StFgtPointMaker", "StFgtPointMaker", "Creates FGT points",kFALSE}, - {"genvtx" ,"" ,"","EEmcUtil","StGenericVertexMaker" - , "Minuit,StGenericVertexMakerNoSti" - , "Generic Vertex Finder library (default is MinuitVertexFinder)",kFALSE}, - {"VFMinuit" ,"" ,"" ,"genvtx" ,"","","... Generic VF will use Minuit method",kFALSE}, - {"CtbMatchVtx" ,"" ,"","VFMinuit","" ,"","... CTB Matching ON in Vertex Finding",kFALSE}, - {"VFMinuit2" ,"" ,"","VFMinuit","","","... Generic VF will use Minuit method w/rank mode 2",kFALSE}, - {"VFMinuit3" ,"" ,"","VFMinuit","","","... Generic VF will use Minuit method w/rank mode 3",kFALSE}, - {"VFFV" ,"" ,"","genvtx" ,"","","... Fixed dummy VF method",kFALSE}, - {"VFMCE" ,"" ,"","genvtx" ,"","","... Fixed vertex from MCEvent",kFALSE}, - {"VFppLMV" ,"" ,"","genvtx" ,"","","... VertexMaker will use ppLMV method",kFALSE}, - {"VFppLMV5" ,"" ,"","VFppLMV" ,"","","... VertexMaker will use ppLMV method (tuned)",kFALSE}, - {"VFStoreX" ,"" ,"","" ,"","","... VertexMaker will use save at least 100 vertices",kFALSE}, - {"StiPulls" ,"","","" ,"","", "Request to make Sti Pulls",kFALSE}, - {"StvPulls" ,"","","" ,"","", "Request to make Stv Pulls",kFALSE}, - {"StiLib" ,"","","" ,"","Sti,StiUtilities","Load Sti",kFALSE}, - {"StiCALib" ,"","","" ,"","TPCCATracker,StiCA","Load Sti+CA",kFALSE}, - {"StiTpc" ,"","","TpcDb,ITTF,tpc_T,dbutil,detDb,StarMagField,magF" ,"","StiTpc","Load StiTpc",kFALSE}, - {"StiSvt" ,"",""," " ,"","StSvtClassLibrary,StSvtDbMaker,StiSvt","Load StiSvt",kFALSE}, - {"StiSsd" ,"","","" ,"","StSsdUtil,StSsdDbMaker,StiSsd","Load StiSsd",kFALSE}, - {"StiSst" ,"","","" ,"","StSsdUtil,StSsdDbMaker,StiSsd","Load StiSsd(t)",kFALSE}, - {"StiPxl" ,"","","" ,"","StPxlUtil,StPxlDbMaker,StiPxl","Load StiPxl",kFALSE}, - {"StiIst" ,"","","" ,"","StIstUtil,StIstDbMaker,StiIst","Load StiIst",kFALSE}, - {"StiLibs" ,"","","StiTpc,StiSvt,StiSsd,BTofUtil" - ,"","StEEmcDbMaker","Load Sti Detector libs",kFALSE}, - {"StiLibsHft" ,"","","StiLibs,StiSst,StiPxl,StiIst" ,"","","Load Sti Detector libs for HFT",kFALSE}, - {"StiHftP", "","","StiLibsHft,-SvtIT,-SsdIT,PxlIT,pxlDb","" ,"","Enables partial Hft (PXL)",kFALSE}, - {"StiHftC", "","","StiLibsHft,-SvtIT,-SsdIT,PxlIT,pxlDb,IstIT,istDb,SstIT,sstDb","" - , "","Enables complete Hft (PXL+IST+SST)",kFALSE}, - {"VFPPV" ,"" ,""," eemcDb,StiLib,-VFMinuit,-VFMinuit2,-VFMinuit3,","StGenericVertexMaker" - , "Minuit,StGenericVertexMaker","... Pile-up proof vertex finder",kFALSE}, - {"VFPPVnoCTB" ,"" ,"","VFPPV","" ,"","... Pile-up proof vertex finder, noCTB",kFALSE}, - {"VFPPVEv" ,"" ,"" ,"eemcDb" ,"StGenericVertexMaker" - , "Minui,StGenericVertexMaker" ,"... StEvent based VFPPV, noCTB",kFALSE}, - {"VFPPVEvNoBtof" ,"" ,"" ,"VFPPVEv" ,"" ,"","...VFPPVEv with no Btof ",kFALSE}, - {"Sti" ,"Sti","","StiLib,StiLibs,SCL,StEvent,StDbT,TpcIT,compend,sim_T,tbutil","StiMaker" - , "StEventUtilities,StiUtilities,StiMaker","Sti tracker",kFALSE}, - {"StiCA" ,"Sti","","Sti","StiMaker","TPCCATracker,StiCA" ,"StiCA tracker",kFALSE}, - {"StiCAPerf","","","","", "TPCCATrackerPerformance", "CA Performance",kFALSE}, - {"StiCA" ,"Sti","","Sti,StiLib,StiCALib,StiLibs,SCL,StEvent,StDbT,TpcIT,compend,tbutil","StiMaker" - , "StEventUtilities,libEG,StiUtilities,StiMaker","Sti+CA tracker",kFALSE}, - {"HLTCA" ,"" ,"Sti","", "StHLTCAMaker","StHLTCAMaker", "HLT reconstruction",kFALSE}, - {"KFVertex" ,"" ,"Sti","-genvtx,-VFMinuit,-VFFV,-VFMCE,-VFppLMV,-VFPPVnoCTB,-VFPPV,-Kink2,-V02,-Xi2" - ,"StKFVertexMaker", "MathMore,Spectrum", "...KFParticle based multi vertex reconstruction",kFALSE}, - {"Stv" ,"Stv","","-xgeometry,-Sti,-StiTpc,-StiSsd,-StiSvt,-StiPxl,-StiSsd,-StiSst,-StiIst,","StvMaker" - ,"libHist,libHistPainter,libVMC,StarMiniCern,geant3,GeoTestMaker,StvUtil,Stv,StvSeed,StvMaker,StEventUtilities,-StiLibs,-StiLibsHft","Stv",kFALSE}, - {"StvCA" ,"StvCA","","Stv","","" ,"StvCA",kFALSE}, - {"StiVMC" ,"StiVMC","","-Sti,SCL,StEvent,StDbT,TpcDb,compend","StiVMCMaker" - , "StEventUtilities,StiVMC,StiVMCMaker" ,"ITTF VMC tracker",kFALSE}, - {"StiVMCLibs","","","detDb,StarMagField","", "","ITTF:load StiVMC libraries",kFALSE}, - {"laserIT" ,"","","","", "TpcIT","use Sti for laser reconstruction",kFALSE}, - {"TpcIT" ,"","","ITTF" ,"","","Sti tracking: TPC",kFALSE}, - {"SvtIT" ,"","","ITTF" ,"","","Sti tracking: SVT",kFALSE}, - {"SsdIT" ,"","","ITTF" ,"","","Sti tracking: SSD",kFALSE}, - {"HpdIT" ,"" ,"","ITTF","" ,"Sti,StiRnD","Sti tracking: Hpd geom",kFALSE}, - {"PixelIT","" ,"","PxlIT","" ,"","Alias for PxlIT",kFALSE}, - {"PxlIT" ,"" ,"","ITTF","" ,"","Sti tracking: Pixel geom",kFALSE}, - {"IstIT" ,"" ,"","ITTF","" ,"","Sti tracking: Ist geom",kFALSE}, - {"SstIT" ,"" ,"","ITTF","" ,"","Sti tracking: Sst geom",kFALSE}, - {"iTpcIT" ,"" ,"","ITTF","" ,"","Sti tracking: iTpc geom + hits",kFALSE}, - {"BTofIT" ,"" ,"","ITTF","" ,"","Sti tracking: BTof geom",kFALSE}, - {"NoSvtIT" ,"" ,"","-SvtIT","" ,"","ITTF: track with switch off SVT geom",kFALSE}, - {"NoSsdIT" ,"" ,"","-SsdIT","" ,"","ITTF: track with switch off SSD geom",kFALSE}, - {"NoSstIT" ,"" ,"","-SstIT","" ,"","ITTF: track with switch off SST geom",kFALSE}, - {"NoPxlIT" ,"" ,"","-PxlIT","" ,"","ITTF: track with switch off PXL geom",kFALSE}, - {"NoIstIT" ,"" ,"","-IstIT","" ,"","ITTF: track with switch off IST geom",kFALSE}, - {"skip1row" ,"" ,"","","" ,"","ITTF: skip the first pad row in TPC",kFALSE}, - {"StiRnD" ,"","","", "","StiRnD", "Load StiRnD shared library",kFALSE}, - {"Alignment" ,"","","", "","", "Sti Tpc Alignment, reconstruction per sector",kFALSE}, - {"Cosmics" ,"","","", "","", "Ignore events without recostructed tracks",kFALSE}, - {"StiPulls" ,"","","Sti", "","", "Request to make Sti Pulls",kFALSE}, - {"BeamBack" ,"","","StEvent" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"dEdxY2" ,"dEdxY2","","tpcDb,StEvent","StdEdxY2Maker","libMinuit,StdEdxY2Maker" - , "Bichsel method used for dEdx",kFALSE}, - {"CalcdNdx", "", "", "dEdxY2", "", "", "Option for StdEdxY2Maker to calculate dN/dx",kFALSE}, - {"btofMatch" ,"","","db,BTofUtil,vpdCalib,btofCalib","StBTofMatchMaker","StBTofMatchMaker" - , "TPC-BTOF track matching",kFALSE}, - {"btofCalib","","","db,BTofUtil", "StBTofCalibMaker","StBTofCalibMaker","BTOF calibration",kFALSE}, - {"ETofHit", "", "ETofChain", "db, ETofUtil, muDst", "StETofHitMaker", "StETofHitMaker", - "ETOF hit maker",kFALSE}, - {"ETofMatch", "", "ETofChain", "db, ETofUtil, muDst", "StETofMatchMaker", "StETofMatchMaker", - "ETOF match maker",kFALSE}, - {"ETofQa", "", "ETofChain", "db, ETofUtil, muDst", "StETofQAMaker", "StETofQAMaker", - "ETOF QA maker",kFALSE}, - {"ETofA", "", "","etofdat,ETofCalib,etofhit,ETofMatch","","... ETOF chain options for data", kFALSE}, - {"mtdMatch" ,"","","db,MtdUtil", "StMtdMatchMaker","StMtdMatchMaker","TPC-MTD track matching",kFALSE}, - {"mtdCalib" ,"","","db", "StMtdCalibMaker","StMtdCalibMaker","MTD calibration",kFALSE}, - {"mtdEvtFilt" ,"","","db", "StMtdEvtFilterMaker","StMtdEvtFilterMaker","MTD event filter" ,kFALSE}, - {"FindVtxSeed" ,"FindVtxSeed" ,"","globT,MuDSTDeps,picoDst","StVertexSeedMaker" - , "StPass0CalibMaker", "Performs vertex seed finding",kFALSE}, - {"FindEvtVtxSeed","FindEvtVtxSeed","","MuDSTDeps,picoDst","StEvtVtxSeedMaker" - , "StPass0CalibMaker","Performs vertex seed finding using StEvent",kFALSE}, - {"Ftpc" ,"ftpcChain" ,"","ftpcT,fcl,fpt" ,"StMaker","StChain","",kFALSE}, - {"fss" ,"ftpc_raw","ftpcChain","SCL,Simu","StFtpcSlowSimMaker" - , "StFtpcSlowSimMaker,StFtpcTrackMaker,StFtpcClusterMaker","FTPC Slow simulator",kFALSE}, - {"Fcl" ,"ftpc_hits","ftpcChain","SCL,daq","StFtpcClusterMaker" - , "StFtpcTrackMaker,StFtpcClusterMaker","FTPC cluster finder",kFALSE}, - {"fpt" ,"ftpc_tracks","ftpcChain","SCL" - , "StFtpcTrackMaker","StFtpcTrackMaker","FTPC Track Maker",kFALSE}, - {"fgain" ,"","","fcl,fpt","","" - , "StFtpcClusterMaker and StFtpcTrackMaker will produce gain scan histograms",kFALSE}, - {"fdbg" ,"","","fcl,fpt","","","StFtpcClusterMaker and StFtpcTrackMaker will write debugfile",kFALSE}, - {"flaser" ,"","","fcl,fpt" ,"","","StFtpcClusterMaker and StFtpcTrackMaker for LASERTRACKING",kFALSE}, - {"pmdReco" ,"pmdReco","","PmdUtil,pmdClust" ,"StMaker","StChain","PMD Reco chain",kFALSE}, - {"pmdRaw" ,"pmdRaw","pmdReco","pmdReco,pmdRead" ,"","","PMD Reco chain giving raw data",kFALSE}, - {"pmd" ,"pmd","pmdReco","pmdReco,pmdSim,pmdDis" ,"","", "PMD Simulation chain",kFALSE}, - {"pmdRead" ,"","pmdReco","PmdUtil","StPmdReadMaker" ,"StPmdReadMaker", "DAQ reader for PMD",kFALSE}, - {"pmdSim" ,"","pmdReco","PmdUtil","StPmdSimulatorMaker","StPmdSimulatorMaker" - ,"Hit Simulator for PMD" ,kFALSE}, - {"pmdClust" ,"pmdClust","pmdReco","","StPmdClusterMaker","StPmdClusterMaker" - ,"ClusterMaker for PMD" ,kFALSE}, - {"pmdDis" ,"pmdDis","pmdReco","PmdClust","StPmdDiscriminatorMaker" - , "StPmdDiscriminatorMaker","Discriminator for PMD",kFALSE}, - {"Kink2" ,"kink2","","db,MuDST,-kink","StKinkMaker","StSecondaryVertexMaker" - , "Find Kinks from StEvent",kFALSE}, - {"V02" ,"v02","","db,MuDST,-V0","StV0FinderMaker","StSecondaryVertexMaker" - , "Find V0s from StEvent",kFALSE}, - {"Xi2" ,"xi2","","db,MuDST,-V02,-Xi","StXiFinderMaker","StSecondaryVertexMaker" - , "Xis AND V0s from StEvent",kFALSE}, - {"V0svt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Xisvt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"SCEbyE" ,"scebye","","MuDSTDeps,picoDst","StSpaceChargeEbyEMaker" - , "StMuDSTMaker,StPass0CalibMaker","Determine EbyE SpaceCharge using StEvent",kFALSE}, - {"SCScalerCal" ,"scscalercal","","MuDSTDeps,picoDst","StSpaceChargeEbyEMaker" - , "StMuDSTMaker,StPass0CalibMaker","Calibrate SpaceCharge scalers",kFALSE}, - {"compend" ,"","","event,detDb","StEventCompendiumMaker","StEventCompendiumMaker" - , "Fill event summary in ITTF Chain",kFALSE}, - {"shadow" ,"","","event,compend" ,"StShadowMaker","StShadowMaker","",kFALSE}, - {"TpcAligner" ,"","","Alignment" ,"StTpcAlignerMaker","StTpcAlignerMaker","TpcAligner",kFALSE}, - {"pec" ,"PeC","","Event" ,"StPeCMaker","StPeCMaker","PCollAnalysis",kFALSE}, - {"RichSpectra" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"TagsChain" ,"TagsChain","","" ,"StMaker","StChain","",kFALSE}, - {"TpcTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Flow" ,"","","," ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"FlowTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"FlowAnalysis","","","" ,"","WARNING *** Option is OBSOLETE ***","",kFALSE}, - {"SpectraTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"HeavyTags" ,"","TagsChain","StEVent" ,"StHeavyTagMaker","StHeavyTagMaker","",kFALSE}, - {"EbyeScaTags" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"HighPtTags" ,"","TagsChain","StEVent" ,"StHighPtTagsMaker","StHighPtTagsMaker","",kFALSE}, - {"PCollTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tags" ,"","TagsChain","globT,Event,HeavyTags,HighPtTags" - , "StTagsMaker","StTagsMaker","Collect all tags to TTree",kFALSE}, - {"noTags" ,"","","-tags,-HeavyTags,-HighPtTags" ,"","","Turn Off tags",kFALSE}, - {"MuDSTChain","MuDSTChain","EMCmDST,CMuDST","" ,"StMaker","StChain","",kFALSE}, - {"StrngMuDST","","MuDSTDeps","", "StStrangeMuDstMaker","","Creates Stangeness MuDST",kFALSE}, - {"EMCmDST" ,"","MuDSTChain","MuDst", "StEmcMicroDstMaker","","Creates EMC MuDST",kFALSE}, - {"CMuDST" ,"","MuDSTChain","MuDst,StrngMuDST,Tree", "StMuDstMaker","","Writes Common MuDST",kFALSE}, - {"RMuDST" ,"","","CMuDST" ,"","","reads Common MuDST, do not disactivate if no output files",kFALSE}, - {"picoWrite" ,"","PicoChain","picoDst","StPicoDstMaker","" ,"Writes picoDST format",kFALSE}, - {"picoRead" ,"","PicoChain","picoDst","StPicoDstMaker","" ,"WritesRead picoDST format",kFALSE}, - {"PicoVtxDefault" ,"","","" ,"" ,"","pico Vtx default mode",kFALSE}, - {"PicoVtxVpd" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx cut on Tof and VPD mode",kFALSE}, - {"PicoVtxVpdOrDefault","","","-PicoVtxDefault" ,"","","pico Vtx cut on Tof and VPD or default",kFALSE}, - {"PicoVtxFXT" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx constraint on FXT [198,202] mode",kFALSE}, - {"PicoVtxMtd" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx using MTD matching mode",kFALSE}, - {"PicoCovMtxSkip" ,"","","" ,"" ,"","Do not write covariance matrices to picoDst (default)",kFALSE}, - {"PicoCovMtxWrite","","","-PicoCovMtxSkip" ,"" ,"","Write track covariance matrices to picoDst",kFALSE}, - {"PicoBEmcSmdSkip" ,"","","" ,"" ,"","Do not write BSMD to picoDst (default)",kFALSE}, - {"PicoBEmcSmdWrite","","","-PicoBEmcSmdSkip" ,"" ,"","Write BSMD to picoDst",kFALSE}, - {"St_geom" ,"" ,"","" , "St_geom_Maker","St_geom_Maker","",kFALSE}, - {"Display" ,"","","", "","","WARNING *** Option is OBSOLETE *** use Ed.C macro instead",kFALSE}, - {"Mc" ,"McChain","McEvent","sim_T,globT,McAss,McAna" ,"StMaker","StChain","",kFALSE}, - {"McAss" ,"","McChain","McEvent", "StAssociationMaker","StAssociationMaker","",kFALSE}, - {"McAnaTpc" ,"","","McAna" ,"","","Mc Analysis for Tpc",kFALSE}, - {"McAnaSvt" ,"","","McAna" ,"","","Mc Analysis for Svt",kFALSE}, - {"McAnaSsd" ,"","","McAna" ,"","","Mc Analysis for Ssd",kFALSE}, - {"McAna" ,"","McChain","McEvent,McAss", "StMcAnalysisMaker","StMcAnalysisMaker","",kFALSE}, - {"McQa" ,"","McChain","McEvent", "StMcQaMaker","StMcQaMaker","QA histogramms for McEvent",kFALSE}, - {"McTpcAna" ,"","McAnaChain","tpcDb,dbutil,McEvent,StEvent" - , "StTpcMcAnalysisMaker","StTpcMcAnalysisMaker","",kFALSE}, - {"MiniMcEvent" ,"","","","", "StMiniMcEvent","Loads StMiniMcEvent library only",kFALSE}, - {"MiniMcMk" ,"","","McAss,MiniMcEvent","StMiniMcMaker","StMiniMcMaker" - , "Creates tree in minimc.root file",kFALSE}, - {"SvtMatTree","","","","SvtMatchedTree" - , "StSvtPoolEventT,StSvtPoolSvtMatchedTree","Create SvtMatchedTree",kFALSE}, - {"LAna" ,"","","in,detDb,StEvent,tpcDb","StLaserAnalysisMaker" - , "StLaserAnalysisMaker","Laser data Analysis",kFALSE}, - {"EandBDir","","","in,StEvent,TpcHitMover,nodefault" - , "StEandBDirMaker","MathMore,Spectrum,StEandBDirMaker", "get E&B direction",kFALSE}, - {"SpinTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPfind1" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"SpinSortA" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPprojectA","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppDAQfilter1","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPeval1" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"QA" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"EventQA","EventQA","","QUtils,Event","StEventQAMaker" ,"St_QA_Maker","Filling Y2/Y3 Qa histo",kFALSE}, - {"QAC" ,"CosmicsQA","globT","" ,"StQACosmicMaker","StQACosmicMaker","",kFALSE}, - {"QAalltrigs" ,"", "","", "","","Analyze all triggers in QA",kFALSE}, - {"HitFilt" ,"", "","", "StHitFilterMaker","StHitFilterMaker","Hit filter Maker",kFALSE}, - {"SvtHitFilt" ,"", "","HitFilt", "","","SVT Hit filter Maker",kFALSE}, - {"TpcHitFilt" ,"", "","HitFilt", "","","filter out TPC Hits not on tracks",kFALSE}, - {"HftHitFilt" ,"", "","HitFilt", "","","filter out non-HFT hits",kFALSE}, - {"KeepTpcHit" ,"", "","HitFilt", "","","Keep all TPC hits in StHitFilterMaker",kFALSE}, - {"KeepSvtHit" ,"", "","HitFilt", "","","Keep all SVT hits in StHitFilterMaker",kFALSE}, - {"KeepFgtHit" ,"", "","HitFilt", "","","Keep all FGT hits in StHitFilterMaker",kFALSE}, - {"Tree" ,"OutTree","","","StTreeMaker","StTreeMaker","Write requested branches into files",kFALSE}, - {"logger" ,"" ,"","" ,"","","Use log4cxx package to manage the program messages",kFALSE}, - {"NoSimuDb" ,"" ,"","" ,"","","Switch off Simu Option for DB",kFALSE}, - {"SimuDb" ,"" ,"","-NoSimuDb" ,"","","Switch on Simu Option for DB",kFALSE}, - {"NoOutput" ,"" ,"","-Tree,-EvOut,noTags" ,"","","Suppress Output root files",kFALSE}, - {"EvOutOnly" ,"" ,"","EvOut,Tree,noTags" ,"","","Only event.root files",kFALSE}, - {"NoDefault" ,"" ,"","" ,"","","No Default consistency check",kFALSE}, - {"Notpc_daq" ,"" ,"","-tpc_daq" ,"","","No tpc_daq",kFALSE}, - {"analysis" ,"","","StEvent" ,"StAnalysisMaker","StAnalysisMaker","Example of Analysis",kFALSE}, - {"NewTpcAlignment","","","" ,"","","Switch on new Tpc Alignment schema",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Aliased ","time stamps","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE} -}; -#endif - -// JL - define this once, use two places -#define BFC_DBREGEXP "(dbv|sdt)(\\d+)(_)(.*)(_)(.*)" - - -// NoChainOptions -> Number of chain options auto-calculated -TableImpl(Bfc); -ClassImp(StBFChain); - -//_____________________________________________________________________________ -// Hack constructor. -/*! - * This method can be called with mode 1 or 2 to enable chain setup 1 or chain - * setup 2. - * - * Note: This constructor now accepts a second argument for the chain name. - * Embedding scripts were modified accordingly. - * - * This was primarily set to make possible the transition between the regular - * chain and the ITTF chain options. - */ -void StBFChain::Setup(Int_t mode) { - static const Char_t *path = "./StRoot/StBFChain:$STAR/StRoot/StBFChain"; - TString chain("BFC.C"); - Char_t *file = gSystem->Which(path,chain,kReadPermission); -#ifdef STAR_LOGGER - if (! file) { LOG_FATAL << Form("StBFChain::Setup\tFile %s has not been found in path %s",chain.Data(),path) << endm; } - else { LOG_WARN << Form("StBFChain::Setup\tFile %s has been found as %s",chain.Data(),file) << endm; } -#else - - if (! file) Fatal("StBFChain::Setup","File %s has not been found in path %s",chain.Data(),path); - else Warning("StBFChain::Setup","File %s has been found as %s",chain.Data(),file); -#endif - TString cmd(".L "); - cmd += file; - gInterpreter->ProcessLine(cmd); - fchainOpt = (St_Bfc *) gInterpreter->Calc("CreateTable()"); - cmd = ".U "; - cmd += file; - gInterpreter->ProcessLine(cmd); - assert(fchainOpt); - delete [] file; - fNoChainOptions = fchainOpt->GetNRows(); - fBFC = fchainOpt->GetTable(); - // add predifined time stamps and geometry versions - const DbAlias_t *DbAlias = GetDbAliases(); - Bfc_st row = {"","","","db,detDb","","","",kFALSE}; - for (Int_t i = 0; DbAlias[i].tag; i++) { - for (Int_t r = 0; r < 2; r++) { - TString dbTag(""); - if (r) dbTag += "r"; - dbTag += DbAlias[i].tag; - if (! kOpt(dbTag,kFALSE)) { - memset (&row.Key, 0, sizeof(row.Key)); - memcpy (&row.Key, dbTag.Data(), dbTag.Length()); - fchainOpt->AddAt(&row); - fNoChainOptions = fchainOpt->GetNRows(); - fBFC = fchainOpt->GetTable(); - } - } - } - FDate = FTime = 0; - FDateS = FTimeS = 0; - fFiltTrg = ""; - fRunG = -1; - fFmsGainCorrTag=""; - Gproperty.clear(); - Gvalue.clear(); - Gpattern.clear(); - - -} -//_____________________________________________________________________________ -/// Destructor. Call Finish() . See this method for detail on what is cleaned. -StBFChain::~StBFChain(){ - Finish(); -} -//_____________________________________________________________________________ -/// Routine handling library loading depending on chain options -Int_t StBFChain::Load() -{ - static const Char_t *prefix[3] = {"lib_","lib",""}; - Int_t status = kStOk; - Int_t i, iok; - TString lib(gSystem->GetLibraries(0,"D")); - TObjArray LoadedLibs; - ParseString(lib,LoadedLibs); - TIter next(&LoadedLibs); - TObjString *LoadedLib; - while ((LoadedLib = (TObjString *) next())){ - TString Base(gSystem->BaseName(LoadedLib->GetName())); - Base.ReplaceAll(".so",""); - Base.ReplaceAll(".sl",""); - if (Base.BeginsWith("lib_")) Base.ReplaceAll("lib_",""); - if (Base.BeginsWith("lib")) Base.ReplaceAll("lib",""); - LoadedLib->SetString(Base); - } - for (i = 1; i< fNoChainOptions; i++) { // Load Libraries if any - if (fBFC[i].Flag) { - if (strlen(fBFC[i].Libs) > 0) { - TObjArray Libs; - ParseString(fBFC[i].Libs,Libs); - TIter nextL(&Libs); - TObjString *libe = 0; - Char_t *path = 0; - while ((libe = (TObjString *) nextL())) { - TString libN(libe->GetString()); - if (libN.BeginsWith("lib_")) libN.ReplaceAll("lib_",""); - if (libN.BeginsWith("lib")) libN.ReplaceAll("lib",""); - - TString libL(""); - for (Int_t j = 0; j < 3; j++) { - libL = prefix[j]; libL += libN; - //LOG_QA << " Checking " << libL << endm; - if ((path = gSystem->DynamicPathName(libL,kTRUE))) break; - } - iok = -1; - if (path) { - TIter next(&LoadedLibs); - TObjString *LoadedLib; - while ((LoadedLib = (TObjString *) next())){ - TString Base(LoadedLib->GetName()); - //LOG_QA << " Checking " << Base << endm; - if (Base == libN) {iok = 1; break;} - } - if (iok > 0) continue; - - - //LOG_QA << "Trying to load Library " << libL << endm; - - - iok = gSystem->Load(libL); - if (iok < 0) { - - LOG_FATAL << "problem with loading of " << libL.Data() << endm; - LOG_FATAL << fBFC[i].Key << " is switched off \t!!!!" << endm; - - //fBFC[i].Flag = kFALSE; - //status = kStErr; - //assert(iok >= 0); ?? obviously it is so, but not very specific - Int_t libraryload = kStErr; - assert(libraryload!=kStErr); // this is obvious and will display an explicit - break; - } else { - LOG_QA << Form("Library %-22s [%15s] (%s)\tis loaded",libL.Data(),fBFC[i].Key,path) << endm; - StMemStat::doPs(libL.Data(), "Load"); - LoadedLibs.Add(new TObjString(libN)); - } - } else { - if ( ! index(fBFC[i].Libs,',') || Debug() > 1 ) { - LOG_WARN << "No path for Key=" << fBFC[i].Key << "-> Searched for [" << libL - << "] from Libs=" << fBFC[i].Libs << " (will proceed)" << endm; - } - } - } - Libs.Delete(); - } - } - } - LoadedLibs.Delete(); - return status; -} - -//_____________________________________________________________________________ -/// Maker-instantiation handler. -/*! - This routine contains it all (make instantiation that is), from calibration - precedence to parameter setting depending on option etc ... Other thing done - here which deserves attention - - The maker's SetMode() mechanism is treated here. - - Calibration options like NoMySQLDb, NoCintCalDb or NoCintDb and path are set - - SetFlavor() sim+ofl or sim, and filestreams is made - - If a maker is added along with some flag options, this is the place to - implement the switches. -*/ -Int_t StBFChain::Instantiate() -{ - Int_t status = kStOk; - Int_t i; - if (! fNoChainOptions) return status; - Long64_t maxsize = kMaxLong64; - TTree::SetMaxTreeSize(maxsize); - for (i = 1; i< fNoChainOptions; i++) {// Instantiate Makers if any - if (! fBFC[i].Flag) continue; - TString maker(fBFC[i].Maker); - if (maker == "") continue; - TString Key(fBFC[i].Key); - TString name(fBFC[i].Name); - Key.ToLower(); - StMaker *myChain = 0; - StMaker *mk = 0; - // Require only instance for the following named makers - if (maker == "St_db_Maker" || maker == "StTpcDbMaker" || - maker == "StSvtDbMaker" || maker == "StSsdDbMaker" || maker == "StSstDbMaker" || - maker == "StDetectorDbMaker" || - maker == "StMagFMaker" || - maker == "StEEmcDbMaker" || - maker == "St_geant_Maker" || - maker == "StVMCMaker") { - mk = GetTopChain()->GetMakerInheritsFrom(maker); - if (mk) { - if (maker == "St_geant_Maker" || maker == "StVMCMaker") { - LOG_INFO << "StBFChain::Instantiate ignore request for instantiation of " << maker - << "(\"" << fBFC[i].Name << "\") because chain alreary has one." << endm; - continue; - } - if (name == "" || name == mk->GetName()) { - LOG_INFO << "StBFChain::Instantiate ignore request for instantiation of " << maker - << "(\"" << fBFC[i].Name << "\") because chain alreary has one" - << " but accumulate options" << endm; - //Accumulate option for these makers continue; - } - } - } - if (strlen(fBFC[i].Chain) > 0) myChain = GetMaker(fBFC[i].Chain); - if (maker == "St_db_Maker"){ - if (Key.CompareTo("db",TString::kIgnoreCase) == 0) { - St_db_Maker* dbMk = (St_db_Maker *) mk; - if (! dbMk) { - TString MySQLDb("MySQL:StarDb"); - TString MainCintDb("$STAR/StarDb"); - TString MainCintDbObj("$STAR/.$STAR_HOST_SYS/obj/StarDb"); - TString MyCintDb("$PWD/StarDb"); - TString MyCintDbObj("$PWD/.$STAR_HOST_SYS/obj/StarDb"); - if (GetOption("NoMySQLDb")) {MySQLDb = "";} - // Removed twice already and put back (start to be a bit boring) - // DO NOT REMOVE THE NEXT OPTION - Used in AutoCalibration - if (GetOption("NoLocalCintDb")) {MyCintDb = "";} - if (GetOption("NoStarCintDb") ) {MainCintDb = "";} - if (GetOption("NoCintDb") ) {MainCintDb = ""; MyCintDb = "";} - - TString Dirs[10]; - Int_t j; - for (j = 0; j < 10; j++) Dirs[j] = ""; - j = 0; - if (MySQLDb != "") {Dirs[j] = MySQLDb; j++;} - if (MainCintDb != "") {Dirs[j] = MainCintDb; j++;} - if (MainCintDbObj != "") {Dirs[j] = MainCintDbObj; j++;} - if (MyCintDb != "") {Dirs[j] = MyCintDb; j++;} - if (MyCintDbObj != "") {Dirs[j] = MyCintDbObj; j++;} - dbMk = new St_db_Maker(fBFC[i].Name,Dirs[0],Dirs[1],Dirs[2],Dirs[3],Dirs[4]); - if (!dbMk) goto Error; - - TString namec = dbMk->GetName(); - int len = sizeof(fBFC[i].Name); - if ( namec.Length() <= len){ - strncpy (fBFC[i].Name, namec.Data(),len); - } else { - gMessMgr->Error() << "Maker name [" << namec - << "] length is > " << len - << " - increase BFC Name field length" << endm; - } - - // Determine flavors - TString flavors = "ofl"; // default flavor for offline - - // fixed target flavor - if (GetOption("FXT")) flavors.Prepend("FXT+"); - - // simulation flavors - if (GetOption("Simu") && ! GetOption("NoSimuDb")) flavors.Prepend("sim+"); - - // filestream flavors - if (fSetFiles) { - TString firstFileName = fSetFiles->GetFileName(0); - firstFileName = firstFileName(firstFileName.Last('/')+1,firstFileName.Length()); - if (firstFileName.BeginsWith("st_")) { - TString fileStream = firstFileName(3,firstFileName.Index('_',3)-3); - if (fileStream.Length()>0) flavors.Prepend(fileStream += '+'); - } - } - - LOG_INFO << "Using DB flavors: " << flavors << endm; - dbMk->SetFlavor(flavors.Data()); - mk = dbMk; - } - if (GetOption("dbSnapshot")) dbMk->SetAttr("dbSnapshot","dbSnapshot.root",dbMk->GetName()); - SetDbOptions(dbMk); - } - goto Add2Chain; - } - if (!mk && maker == "StIOMaker" && fSetFiles) { - StIOMaker *inpMk=0; - if (GetOption("InTree")) { - Char_t line[80] = "bfcTree"; - Int_t k = kOpt("InTree"); - sscanf(fBFC[k].Comment,"%s",line); - inpMk = new StIOMaker("inputStream","r",fSetFiles,line); - } - else inpMk = new StIOMaker("inputStream","r",fSetFiles); - mk = inpMk; - if (mk) { - TString namec = mk->GetName(); - int len = sizeof(fBFC[i].Name); - if ( namec.Length() <= len){ - strncpy (fBFC[i].Name, namec.Data() , len); - } else { - gMessMgr->Error() << "Maker name [" << namec - << "] length is > " << len - << " - increase BFC Name field length" << endm; - } - - SetInput("StDAQReader",".make/inputStream/.make/inputStream_DAQ/.const/StDAQReader"); - if (GetOption("ReadAll")) { //activate all branches - // inpMk->SetBranch("*",0,"r"); - const Char_t *allBranches[] = { - "emc_rawBranch","eventBranch","ftpc_rawBranch", - "geantBranch","globalBranch","McEventBranch","svt_hitsBranch","svt_tracksBranch", - "tpc_hitsBranch","trgBranch",0}; - for (Int_t i = 0; allBranches[i]; i++) inpMk->SetBranch(allBranches[i],0,"r"); - } - if (GetOption("adcOnly")) mk->SetAttr("adcOnly",1); ; - goto Add2Chain; - } - goto Error; - } - if (!mk && maker == "StTreeMaker" && fFileOut != "") { - StTreeMaker *treeMk = 0; - if (GetOption("OutTree")) { - Char_t line[80] = "bfcTree"; - Int_t k = kOpt("OutTree"); - sscanf(fBFC[k].Comment,"%s",line); - treeMk = new StTreeMaker("outputStream",fFileOut.Data(),line); - } - else treeMk = new StTreeMaker("outputStream",fFileOut.Data()); - mk = treeMk; - if (mk) { - TString namec = treeMk->GetName(); - int len = sizeof(fBFC[i].Name); - if ( namec.Length() <= len ){ - strncpy (fBFC[i].Name, namec.Data() , len); - } else { - gMessMgr->Error() << "Maker name [" << namec - << "] length is > " << len - << " - increase BFC Name field length" << endm; - } - treeMk->SetIOMode("w"); - SetTreeOptions(); - goto Add2Chain; - } - } - // Special makers already created or action which - // need to take place before 'maker' is created. - if (! mk) { - if (strlen(fBFC[i].Name) > 0) mk = New(fBFC[i].Maker,fBFC[i].Name); - else mk = New(fBFC[i].Maker); - if (! mk) { - LOG_FATAL << Form("StBFChain::Instantiate() problem with instantiation Maker=[%s] Name=[%s]",fBFC[i].Maker,fBFC[i].Name) << endm; - assert(mk); - } - } - - { - TString namec = mk->GetName(); - int len = sizeof(fBFC[i].Name); - if ( namec.Length() <= len){ - strncpy (fBFC[i].Name,namec.Data(),len); - } else { - gMessMgr->Error() << "Maker name [" << namec - << "] length is > " << len - << " - increase BFC Name field length" << endm; - } - } - - if (maker == "StTpcDbMaker" && GetOption("laserIT")) mk->SetAttr("laserIT" ,kTRUE); - if (maker == "StDAQMaker") { - if (GetOption("adcOnly")) mk->SetAttr("adcOnly",1); ; - } - - if (maker == "St_geant_Maker") { // takes only first request for geant, if it is active then it should be the first one - Int_t NwGeant = 10; // default geant parameters - if (!GetOption("fzin") && - !GetOption("ntin") && - !GetOption("gstar") && - !GetOption("pythia")) NwGeant = 5; - if (GetOption("big")) NwGeant = 20; - if (GetOption("bigbig")) NwGeant = 40; - if (GetOption("huge")) NwGeant = 80; - ProcessLine(Form("((St_geant_Maker *) %p)->SetNwGEANT(%i);",mk,NwGeant)); - if (GetOption("Higz")) ProcessLine(Form("((St_geant_Maker *) %p)->SetIwtype(1);",mk)); - if (GetOption("paw")) ProcessLine(Form("((St_geant_Maker *) %p)->SetNwPAW(2);",mk)); - if (GetOption("fzin") || - GetOption("ntin") || - GetOption("gstar") || - GetOption("pythia") || - GetOption("hijing") || - GetOption("PrepEmbed") || - GetOption("mtin")) { - mk->SetActive(kTRUE); - // if (GetOption("PrepEmbed")) mk->SetMode(10*(mk->GetMode()/10)+1); - if (GetOption("PrepEmbed") || GetOption("pythiaEmbed")) mk->SetAttr("Don'tTouchTimeStamp",kTRUE); - if (GetOption("flux")) mk->SetAttr("flux",kTRUE); - if (GetOption("pythia")) { - mk->SetAttr("Pythia",kTRUE); - if (GetOption("Wenu")) mk->SetAttr("Wenu",kTRUE); - if (GetOption("beamLine")) mk->SetAttr("beamLine",kTRUE); - } - if (GetOption("hijing")) { - mk->SetAttr("hijing",kTRUE); - } - } - else mk->SetActive(kFALSE); - //if (! mk) goto Error; - SetGeantOptions(mk); - } - - // special maker options - // m_Mode xyz - // x = 1 phys_off - // y = 1 Passive mode (do not call RunMC() - // z = 1 Mixer Mode - if (maker == "StVMCMaker") { - if (GetOption("VMCPassive")) {// don't use mk->SetActive(kFALSE) because we want to have InitRun - mk->SetAttr("VMCPassive",kTRUE); - } - else { - if (GetOption("phys_off")) mk->SetAttr("phys_off",kTRUE); - if (GetOption("hadr_off")) mk->SetAttr("hadr_off",kTRUE); - if (fInFile != "") { - if (ProcessLine(Form("((StVMCMaker *) %p)->SetInputFile(\"%s\")",mk,fInFile.Data()))) - goto Error; - } - } - if (GetOption("Embedding")) mk->SetAttr("Embedding",kTRUE); - } - - // --- - // Sti(ITTF) start - // --- - if (maker == "StiMaker" || maker == "StiVMCMaker" || maker == "StvMaker") { - if ( maker == "StvMaker" && GetOption("StvCA")) { - // mk->SetAttr("seedFinders","CA","Stv"); // for CA seed finder - mk->SetAttr("seedFinders","CA,Default","Stv"); // for CA + Default seed finders - } - - // When StiCA library is requested CA will be used as seed finder in StiMaker - if ( GetOption("StiCA") ) { - mk->SetAttr("seedFinders", "CA DEF"); - } - - // Option to re-use hits in other tracks - if ( GetOption("hitreuseon") ){ - mk->SetAttr("SetMaxTimes", 100); - } - - // By default iTpc hits are used in tracking - mk->SetAttr("activeiTpc", GetOption("iTpcIT") ? kTRUE : kFALSE); - - // old logic for svt and ssd - if (GetOption("NoSvtIT")){ - mk->SetAttr("useSvt" ,kFALSE); - } else { - if (GetOption("SvtIT")){ - mk->SetAttr("useSvt" ,kTRUE); - mk->SetAttr("activeSvt" ,kTRUE); - } - } - if ( GetOption("NoSsdIT") && - !GetOption("SstIT") ){ - mk->SetAttr("useSsd" ,kFALSE); - } else { - if (GetOption("SsdIT")){ - mk->SetAttr("useSsd" ,kTRUE); - mk->SetAttr("activeSsd" ,kTRUE); - } - } - - // this was an R&D detector never implemented - // simulations were made nonetheless - if (GetOption("HpdIT")){ - mk->SetAttr("useHpd" ,kTRUE); - mk->SetAttr("activeHpd" ,kTRUE); - } - - // back to the HFT sub-system - if (GetOption("NoPxlIT")) { - mk->SetAttr("usePxl" ,kTRUE); - mk->SetAttr("usePixel" ,kTRUE); - } else { - if (GetOption("PixelIT") || GetOption("PxlIT") ){ - mk->SetAttr("usePxl" ,kTRUE); - mk->SetAttr("usePixel" ,kTRUE); - mk->SetAttr("activePxl" ,kTRUE); - mk->SetAttr("activePixel",kTRUE); - } - } - if (GetOption("NoIstIT")) { - mk->SetAttr("useIst" ,kTRUE); - } else { - if (GetOption("IstIT")){ - mk->SetAttr("useIst" ,kTRUE); - mk->SetAttr("activeIst" ,kTRUE); - } - } - if (GetOption("NoSstIT")) { - mk->SetAttr("useSst" ,kTRUE); - } else { - if (GetOption("SstIT")){ - mk->SetAttr("useSst" ,kTRUE); - mk->SetAttr("activeSst" ,kTRUE); - } - } - - // other sub-systems - if (GetOption("BTofIT")){ - mk->SetAttr("useBTof" ,kTRUE); - mk->SetAttr("activeBTof" ,kTRUE); - } - - if (GetOption("StiPulls") || - GetOption("StvPulls")) mk->SetAttr("makePulls" ,kTRUE); - if (GetOption("skip1row")) mk->SetAttr("skip1row" ,kTRUE); - if (GetOption("EastOff")) mk->SetAttr("EastOff" ,kTRUE); - if (GetOption("WestOff")) mk->SetAttr("WestOff" ,kTRUE); - if (GetOption("laserIT")) mk->SetAttr("laserIT" ,kTRUE); - if (GetOption("Alignment")) mk->SetAttr("Alignment" ,kTRUE); - if (GetOption("Cosmics")) mk->SetAttr("Cosmics" ,kTRUE); - mk->PrintAttr(); - } - if (maker=="StKFVertexMaker" && GetOption("laserIT")) mk->SetAttr("laserIT" ,kTRUE); - // Sti(ITTF) end - if (maker=="StGenericVertexMaker") { - // VertexFinder methods - if (GetOption("Sti") || GetOption("StiCA") || - GetOption("Stv") || - GetOption("StiVMC" ) ) mk->SetAttr("ITTF" , kTRUE); - if (GetOption("VFMinuit" ) ) mk->SetAttr("VFMinuit" , kTRUE); - if (GetOption("VFppLMV" ) ) mk->SetAttr("VFppLMV" , kTRUE); - if (GetOption("VFppLMV5" ) ) mk->SetAttr("VFppLMV5" , kTRUE); - if ((GetOption("VFPPV") && GetOption("Stv")) || GetOption("VFPPVEv") ) { - gSystem->Load("StBTofUtil.so"); - mk->SetAttr("VFPPVEv" , kTRUE); - } else if (GetOption("VFPPV") && GetOption("Sti")) mk->SetAttr( "VFPPV", kTRUE); - if (GetOption("VFPPVEvNoBtof")){ - gSystem->Load("StBTofUtil.so"); //Not used but loaded to avoid fail - mk->SetAttr("VFPPVEvNoBtof", kTRUE); - } - if (GetOption("VFPPVnoCTB" ) ) mk->SetAttr("VFPPVnoCTB" , kTRUE); - if (GetOption("VFFV" ) ) mk->SetAttr("VFFV" , kTRUE); - if (GetOption("VFMCE" ) ) mk->SetAttr("VFMCE" , kTRUE); - if (GetOption("VFMinuit2" ) ) mk->SetAttr("VFMinuit2" , kTRUE); - if (GetOption("VFMinuit3" ) ) mk->SetAttr("VFMinuit3" , kTRUE); - if (GetOption("beamLine" ) ) mk->SetAttr("BeamLine" , kTRUE); - if (GetOption("beamLine3D" ) ) mk->SetAttr("BeamLine3D" , kTRUE); - if (GetOption("CtbMatchVtx") ) mk->SetAttr("CTB" , kTRUE); - if (GetOption("min2trkVtx" ) ) mk->SetAttr("minTracks" , 2); - if (GetOption("VtxSeedCalG") ) mk->SetAttr("calibBeamline" , kTRUE); - if (GetOption("usePct4Vtx" ) ) mk->SetAttr("PCT" , kTRUE); - if (GetOption("useBTOF4Vtx") ) mk->SetAttr("BTOF" , kTRUE); - if (GetOption("useBTOFmatchOnly") ) mk->SetAttr("useBTOFmatchOnly", kTRUE); - - // X-tended works only for VFPPV, VFPPVnoCTB, VFPPVev for now but could be re-used - // However, we will change this to a more flexible arbitrarry setting later - if (GetOption("VFStoreX") ) mk->SetAttr("VFStore" , 100); - //if (GetOption("VFStoreX") ) mk->SetAttr("VFStore" , 100); - mk->PrintAttr(); - } - if (maker=="StKFVertexMaker") { - if (GetOption("beamLine" ) ) mk->SetAttr("BeamLine" , kTRUE); - } - if (maker=="StAssociationMaker") { - - LOG_QA << "StBFChain::Instantiate Setting the Parameters for the Association Maker" << endm; - - TString cmd(""); - if (GetOption("ITTF") || GetOption("StiVMC") || GetOption("useInTracker")) - cmd = Form ("((StAssociationMaker *) %p)->useInTracker();",mk); - cmd += "StMcParameterDB* parameterDB = StMcParameterDB::instance();"; - // TPC -#if 0 - cmd += "parameterDB->setXCutTpc(.5);"; // 5 mm - cmd += "parameterDB->setYCutTpc(.5);"; // 5 mm - cmd += "parameterDB->setZCutTpc(.5);"; // 5 mm -#endif - cmd += "parameterDB->setReqCommonHitsTpc(3);"; // Require 3 hits in common for tracks to be associated - // FTPC -#if 0 - cmd += "parameterDB->setRCutFtpc(.3);"; // 3 mm - cmd += "parameterDB->setPhiCutFtpc(5*(3.1415927/180.0));"; // 5 degrees -#endif - cmd += "parameterDB->setReqCommonHitsFtpc(3);"; // Require 3 hits in common for tracks to be associated - // SVT -#if 0 - cmd += "parameterDB->setXCutSvt(.08);"; // 800 um - cmd += "parameterDB->setYCutSvt(.08);"; // 800 um - cmd += "parameterDB->setZCutSvt(.08);"; // 800 um -#endif - cmd += "parameterDB->setReqCommonHitsSvt(1);"; // Require 1 hits in common for tracks to be associated - if (GetOption("IdTruth")) cmd += Form("((StAssociationMaker *) %p)->useIdAssoc();",mk); - ProcessLine(cmd); - } - if (maker == "StMiniMcMaker" && GetOption("IdTruth") && ! GetOption("OldMiniMc")) { - mk->SetMode(1); - gMessMgr->QAInfo() << "StBFChain::Instantiate create simplified MiniMcTree in " << maker << endm; - } - // usually, we do maker first and option second but the - // logic is more readable with option first here (as it - // got a bit out of hand) - if (GetOption("ppOpt") ) { // pp specific stuff - if (maker == "StTrsMaker") - mk->SetMode(1); // Pile-up correction - } - - if (maker == "StStrangeMuDstMaker" && GetOption("CMuDST")&& GetOption("StrngMuDST") ) { - TString cmd(Form("StStrangeMuDstMaker *pSMMk = (StStrangeMuDstMaker*) %p;",mk)); - cmd += "pSMMk->DoV0();"; // Set StrangeMuDstMaker parameters - cmd += "pSMMk->DoXi();"; - cmd += "pSMMk->DoKink();"; - cmd += "pSMMk->SetNoKeep();"; // Set flag for output OFF - ProcessLine(cmd); - } - - // Alex requested an option (not turned by default) to disable all - // hit reco cuts. This will make allm hits saved to MuDST /ezTree. - if ( maker == "StEmcRawMaker" && GetOption("BEmcDebug")) - mk->SetMode(1); // only one option now, bit a bitmask - - // Use status tables for raw BEMC data (helpful for QA) - if ( maker == "StEmcRawMaker" && GetOption("BEmcChkStat")) - mk->SetAttr("BEmcCheckStatus",kTRUE); - - // MuDST and ezTree. Combinations are - // ezTree -> ezTree only - // CMuDST -> regular MuDST only - // ezTree,CMuDST -> both - if (maker == "StMuDstMaker" && GetOption("ezTree") ){ - TString cmd(Form("StMuDstMaker *pMuMk = (StMuDstMaker *) %p;",mk)); - if ( ! GetOption("CMuDST")) cmd += "pMuMk->SetStatus(\"*\",0);"; - cmd += "pMuMk->SetStatus(\"EztAll\",1);"; - ProcessLine(cmd); - } - - if ( maker == "StPicoDstMaker"){ - if ( GetOption("picoWrite") ) mk->SetMode(1); - if ( GetOption("picoRead") ) mk->SetMode(2); // possibly more magic - if ( GetOption("PicoVtxVpd")) mk->SetAttr("PicoVtxMode", "PicoVtxVpd"); - else if ( GetOption("PicoVtxFXT")) mk->SetAttr("PicoVtxMode", "PicoVtxFXT"); - else if ( GetOption("PicoVtxMtd")) mk->SetAttr("PicoVtxMode", "PicoVtxMtd"); - else if ( GetOption("PicoVtxVpdOrDefault")) mk->SetAttr("PicoVtxMode", "PicoVtxVpdOrDefault"); - else if ( GetOption("PicoVtxDefault")) mk->SetAttr("PicoVtxMode", "PicoVtxDefault"); - if ( GetOption("PicoCovMtxWrite")) mk->SetAttr("PicoCovMtxMode", "PicoCovMtxWrite"); - else if ( GetOption("PicoCovMtxSkip")) mk->SetAttr("PicoCovMtxMode", "PicoCovMtxSkip"); // Default mode - if ( GetOption("PicoBEmcSmdWrite")) mk->SetAttr("PicoBEmcSmdMode", "PicoBEmcSmdWrite"); - else if ( GetOption("PicoBEmcSmdSkip")) mk->SetAttr("PicoBEmcSmdMode", "PicoBEmcSmdSkip"); // Default mode - } - - - if (maker == "StLaserEventMaker"){ - // Bill stuff - Empty place-holder - } - if (maker == "StDetectorDbMaker") { - if ( GetOption("DbRichSca") ) mk->SetMode(1); - } - if (maker == "StTpcRSMaker") { - if (! GetOption("TrsToF")) { - Int_t mode = mk->GetMode(); - mode |= (1 << 10); // kNoToflight //10 don't account for particle time of flight - mk->SetMode(mode); - } - if (GetOption("EbyET0")) mk->SetAttr("EbyET0", kTRUE); - } - if (maker == "StTrsMaker") { - Int_t mode = 0; - if (GetOption("TrsPileUp")) mode += 1; // Pile-up correction - if (GetOption("TrsToF")) mode += 2; // account for particle time of flight - if (mode) mk->SetMode(mode); - } - - // Place-holder. Would possibly be a bitmask - if (maker == "StTofrMatchMaker"){ - mk->SetMode(0); - } - - if (maker == "StSpaceChargeEbyEMaker") { - if ( GetOption("SpcChgCal") || - GetOption("SpcChgCalG")) mk->SetMode(2); - if ( GetOption("SCScalerCal") ) mk->SetMode(4); - if ( GetOption("EastOff")) mk->SetAttr("EastOff",kTRUE); - if ( GetOption("WestOff")) mk->SetAttr("WestOff",kTRUE); - } - if (maker == "StEventQAMaker" && GetOption("QAalltrigs")) - ProcessLine(Form("((StEventQAMaker *) %p)->AllTriggers();",mk)); - //Special options for V0s and Xis using estGlobal tracks - if(maker=="StV0FinderMaker" && Key=="v0svt"){ - TString cmd(Form("StV0FinderMaker *V0mk=(StV0FinderMaker*) %p;",mk)); - cmd += "V0mk->SetLanguageUsage(0);"; - cmd += "V0mk->SetSVTUsage(1);"; - cmd += "V0mk->SetV0LanguageUsage(3);"; - ProcessLine(cmd); - } - if(maker=="StXiFinderMaker" && Key=="xisvt"){ - TString cmd(Form("StXiFinderMaker *Ximk=(StXiFinderMaker*) %p;",mk)); - cmd += "Ximk->SetLanguageUsage(0);"; - cmd += "Ximk->SetSVTUsage(1);"; - cmd += "Ximk->SetV0LanguageUsage(3);"; - cmd += "Ximk->SetXiLanguageUsage(5);"; - ProcessLine(cmd); - } - - // TPC - if (maker == "StTpcRTSHitMaker") { - if ( GetOption("TpxClu2D")) mk->SetAttr("TpxClu2D", kTRUE); - } - if (maker == "StTpcDbMaker"){ - if ( GetOption("Simu") && ! GetOption("NoSimuDb")) mk->SetAttr("Simu",kTRUE); - if ( GetOption("useLDV") ) mk->SetAttr("useLDV",kTRUE) ;// uses laserDV database - if ( GetOption("useCDV") ) mk->SetAttr("useCDV",kTRUE) ;// uses ofl database - if ( GetOption("useNewLDV") ) mk->SetAttr("useNewLDV",kTRUE);// uses new laserDV - if ( GetOption("shadow") ) mk->SetAttr("NoReset",kTRUE);// no resetting ExB - if ( GetOption("ExB")){ - mk->SetAttr("ExB", kTRUE); // bit 0 is ExB ON or OFF - if ( GetOption("EB1") ) mk->SetAttr("EB1", kTRUE); - else if ( GetOption("EB2") ) mk->SetAttr("EB2", kTRUE); - else { - // depend on RY option i.e. take default for that RealYear data - // expectations. - if(GetOption("RY1H") || - GetOption("RY2000") || - GetOption("RY2001") || - GetOption("RY2001N") || - GetOption("RY2003") || - GetOption("RY2003X")) mk->SetAttr("OldRuns", kTRUE); - } - // Other options introduced in October 2001 for distortion corrections - // studies and year1 re-production. Those are OR additive to the mask. - //(void) printf("StBFChain:: Options list : %d %d %d %d %d %d %d %d\n", - // kPadrow13,kTwist,kClock,kMembrane,kEndcap, - // kIFCShift,kSpaceCharge,kSpaceChargeR2); - if( GetOption("OBmap") ) mk->SetAttr("OBmap" , kTRUE); - if( GetOption("OPr13") ) mk->SetAttr("OPr13" , kTRUE); - if( GetOption("OPr40") ) mk->SetAttr("OPr40" , kTRUE); - if( GetOption("OTwist") ) mk->SetAttr("OTwist" , kTRUE); - if( GetOption("OClock") ) mk->SetAttr("OClock" , kTRUE); - if( GetOption("OCentm") ) mk->SetAttr("OCentm" , kTRUE); - if( GetOption("OECap") ) mk->SetAttr("OECap" , kTRUE); - if( GetOption("OIFC") ) mk->SetAttr("OIFC" , kTRUE); - if( GetOption("OSpaceZ") ) mk->SetAttr("OSpaceZ" , kTRUE); - if( GetOption("OSpaceZ2") ) mk->SetAttr("OSpaceZ2" , kTRUE); - if( GetOption("OShortR") ) mk->SetAttr("OShortR" , kTRUE); - if( GetOption("OBMap2d") ) mk->SetAttr("OBMap2d" , kTRUE); - if( GetOption("OGridLeak") ) mk->SetAttr("OGridLeak" , kTRUE); - if( GetOption("OGridLeak3D")) mk->SetAttr("OGridLeak3D", kTRUE); - if( GetOption("OGridLeakFull")) mk->SetAttr("OGridLeakFull", kTRUE); - if( GetOption("OGGVoltErr") ) mk->SetAttr("OGGVoltErr" , kTRUE); - if( GetOption("OSectorAlign"))mk->SetAttr("OSectorAlign",kTRUE); - if( GetOption("ODistoSmear")) mk->SetAttr("ODistoSmear", kTRUE); - if( GetOption("OAbortGap")) mk->SetAttr("OAbortGap" , kTRUE); - } - mk->PrintAttr(); - } - if (maker == "StTpcHitMover" && GetOption("EbyET0")) { - mk->SetAttr("EbyET0", kTRUE); - } - if ((maker == "StdEdxY2Maker" || maker == "StTpcHitMover") && - GetOption("EmbeddingShortCut")) { - mk->SetAttr("EmbeddingShortCut", kTRUE); - mk->PrintAttr(); - } - if (maker == "StdEdxY2Maker" && !GetOption("CalcdNdx")) { - mk->SetAttr("SkipdNdx", kTRUE); - } - if (maker == "StSvtDbMaker" || maker == "StSsdDbMaker"){ - mk->SetMode(0); - // If simulation running make sure pick up simu stuff from db - if (GetOption("Simu") && ! GetOption("NoSimuDb")) mk->SetMode(1); - } - - // FTPC - if ((maker == "StFtpcClusterMaker" || - maker == "StFtpcTrackMaker" ) && - GetOption("fdbg")) mk->SetMode(mk->GetMode()+2); - if ( ( maker == "StFtpcClusterMaker" || // ? - maker == "StFtpcTrackMaker" ) && - GetOption("flaser")) mk->SetMode(mk->GetMode()+1); - - if ((maker == "StFtpcClusterMaker" || - maker == "StFtpcTrackMaker" ) && - GetOption("fgain")) mk->SetMode(mk->GetMode()+4); - - - // PMD - if ( maker == "StPmdReadMaker" && - GetOption("pmdRaw")) mk->SetAttr("pmdRaw",kTRUE); - - // HFT - //if (maker == "StPxlSimMaker" && - // GetOption("pxlSlowSim")) mk->SetAttr("useDIGMAPSSim",kTRUE); - // ... PXL - if (maker == "StPxlSimMaker") { - if (GetOption("pxlSlowSim")) mk->SetAttr("useDIGMAPSSim",kTRUE); - } - - //FMS GainCorrection flavors - if (maker == "StFmsDbMaker"){ - if(fFmsGainCorrTag!="") mk->SetAttr("FmsGainCorr",fFmsGainCorrTag.Data()); - } - - // Hit filtering will be made from a single maker in - // future with flexible filtering method - if (maker == "StHitFilterMaker") { - if (GetOption("SvtHitFilt")){ - // Filter out SVT bad hits, TPC hits not on tracks and all hits if fabs(ZVert)>30 - LOG_QA << "SVT hit filter is ON" << endm; - TString cmd(Form("StHitFilterMaker *Filtmk=(StHitFilterMaker*) %p;",mk)); - cmd += "Filtmk->setPtLowerCut(-99.);"; - cmd += "Filtmk->setPtUpperCut(-99.);"; - cmd += "Filtmk->setAbsEtaCut(-99);"; - cmd += "Filtmk->setAbsZVertCut(30);"; - ProcessLine(cmd); - } else if (GetOption("TpcHitFilt")){ - // Filter out TPC hits not on tracks - LOG_QA << "TPC hit filter is ON" << endm; - TString cmd(Form("StHitFilterMaker *Filtmk=(StHitFilterMaker*) %p;",mk)); - cmd += "Filtmk->setPtLowerCut(-99.);"; - cmd += "Filtmk->setPtUpperCut(-99.);"; - cmd += "Filtmk->setAbsEtaCut(-99);"; - cmd += "Filtmk->setAbsZVertCut(999);"; - ProcessLine(cmd); - } else if (GetOption("HftHitFilt")){ - // Filter out TPC hits not on tracks - LOG_QA << "HFT hit filter is ON" << endm; - TString cmd(Form("StHitFilterMaker *Filtmk=(StHitFilterMaker*) %p;",mk)); - cmd += "Filtmk->setAbsZVertCut(-1);"; - cmd += "Filtmk->setKeepWestHighEtaHitsForFgt(0);"; - ProcessLine(cmd); - } else { - LOG_QA << "Default hit filtering is ON" << endm; - } - Int_t mode = 0; - if (GetOption("KeepTpcHit")) mode |= (1 << kTpcId); - if (GetOption("KeepSvtHit")) mode |= (1 << kSvtId); - mk->SetMode(mode); - // the m_Mode (Int_t is signed integer 4 bytes) mask is too short for the FGT - if (GetOption("KeepFgtHit")){ - TString cmd(Form("StHitFilterMaker *Filtmk=(StHitFilterMaker*) %p;",mk)); - cmd += "Filtmk->setKeepWestHighEtaHitsForFgt(1.0);"; - ProcessLine(cmd); - } - } - if (maker == "StMiniMcMaker" && fFileOut != "") { - ProcessLine(Form("((StMiniMcMaker *) %p)->setFileName(\"%s\");", mk, fFileOut.Data())); - } - if (maker == "StMcAnalysisMaker") { - Int_t mode = 0; - if (GetOption("McAnaTpc")) mode += 0x1; - if (GetOption("McAnaSvt")) mode += 0x2; - if (GetOption("McAnaSsd")) mode += 0x4; - if (mode) - ProcessLine(Form("((StMaker *) %p)->SetMode(%i);", mk, mode)); - } - if (maker == "StBTofCalibMaker") { - if (GetOption("UseProjectedVertex")) mk->SetAttr("UseProjectedVertex",kTRUE); - if (GetOption("setOutlierRej4BToft0")) mk->SetAttr("setPPPAOutlierRej", kTRUE); - if (GetOption("ImpBToFt0Mode")) mk->SetAttr("pppAMode", kTRUE); - if (GetOption("btofFXT")) mk->SetAttr("btofFXT", kTRUE); - } - if (maker == "StVpdCalibMaker" && GetOption("ImpBToFt0Mode")) mk->SetAttr("pppAMode", kTRUE); - - if (maker == "StEventMaker" && fFiltTrg.Length()) { - mk->SetAttr("FiltTrg",(Int_t) (fFiltTrg.BeginsWith('+') ? 1 : -1)); - TString FiltTrgFlavor = fFiltTrg(1,128); - if (FiltTrgFlavor.Length()) - SetFlavor((FiltTrgFlavor += "+ofl").Data(),"trgOfflineFilter"); - } - if (maker == "StTagsMaker"){ - if ( GetOption("shadow") ) mk->SetAttr("shadow",kTRUE); - } - - Add2Chain: - if (! mk) continue; - if (name == "") strncpy (fBFC[i].Name,(Char_t *) mk->GetName() , sizeof(fBFC[i].Name)); - if (myChain) myChain->AddMaker(mk); - continue; - Error: - status = kStErr; - LOG_QA << " ======================================" << endm; - LOG_QA << " problem with Instantiation of " << fBFC[i].Maker << endm; - LOG_QA << " ======================================" << endm; - } - // PrintQAInfo(); - PrintInfo(); - // START the chain (may the force be with you) - // Create HTML docs of all Maker's inv -#if 0 - if (GetOption("MakeDoc")) MakeDoc(); -#endif - if (GetOption("Debug")) SetDEBUG(1); - if (GetOption("Debug1")) SetDEBUG(1); - if (GetOption("Debug2")) SetDEBUG(2); - if (GetOption("nohistos")) SetAttr(".histos",0,"*"); - else SetAttr(".histos",1,"*"); - if (GetOption("NoRepeat")) gMessMgr->IgnoreRepeats(); - - if (GetOption("svt1hit")) SetAttr("minPrecHits",1,"Sti"); - if (GetOption("svt1hit")) SetAttr("minPrecHits",1,"StiCA"); - if (GetOption("svt1hit")) SetAttr("minPrecHits",1,"Stv"); - if (GetOption("svt1hit")) SetAttr("minPrecHits",1,"StiVMC"); - - for ( unsigned int n=0 ; n < Gproperty.size() ; n++ ){ - gMessMgr->QAInfo() << "+++ Setting attribute " - << (Gproperty.at(n)).Data() << " = " << (Gvalue.at(n)).Data() << " for " - << (Gpattern.at(n).Data()) << endm; - - SetAttr( (Gproperty.at(n)).Data(), - (Gvalue.at(n)).Data(), - (Gpattern.at(n)).Data() ); - } - - return status; -} -//_____________________________________________________________________ -Int_t StBFChain::Init() { - - TDatime td; - Info("Init","Time=%s Cwd=%s",td.AsString(),gSystem->pwd()); - - SetChainOpt(new StBFChainOpt(this)); - // SetDbOptions(); moved to Instantiation - if (fNoChainOptions) { - // SetGeantOptions(); move back to Init - if (GetOption("Simu") && ! (GetOption("mtin") || GetOption("PrepEmbed") || GetOption("pythiaEmbed"))) { // ! Simu - StEvtHddr *fEvtHddr = (StEvtHddr*)GetDataSet("EvtHddr"); - if (!fEvtHddr) { - fEvtHddr = new StEvtHddr(m_ConstSet); - SetOutput(fEvtHddr); //Declare this "EvtHddr" for output - } - if (fEvtHddr->GetRunNumber() < 0 || fEvtHddr->GetRunNumber() >= 1000000) { - fEvtHddr->SetRunNumber(1); // to have run positive and < 1000000 (to avoid mess with RunLog) - } - } - } - if (fNoChainOptions) { - if (GetOption("NoOutput") || GetOption("EvOutOnly")) { - if (! GetOption("RMuDst")) - SetAttr(".call","SetActive(0)","MuDst"); //NO MuDst - if (! GetOption("EvOutOnly")) { - SetAttr(".call","SetActive(0)","outputStream"); //NO Out - } - SetAttr(".call","SetActive(0)","kink2"); - SetAttr(".call","SetActive(0)","StTagsMaker::"); - SetAttr(".call","SetActive(0)","StStrangeMuDstMaker::"); - } -#if 1 - - - if (fNoChainOptions) { - if (GetOption("misalign") && TClass::GetClass("AgPosition") ) - gROOT->ProcessLine("AgPosition::SetReal();"); - else if ( TClass::GetClass("AgPosition") ) - gROOT->ProcessLine("AgPosition::SetIdeal();"); - } - - - // force load of geometry for VMC and Sti - - if (GetOption("Sti") || GetOption("StiCA") || - GetOption("Stv") || - GetOption("StiVMC") ||GetOption("VMC") || - GetOption("VMCPassive")) { - const DbAlias_t *DbAlias = GetDbAliases(); - for (Int_t i = 0; DbAlias[i].tag; i++) { - TString dbTag("r"); - dbTag += DbAlias[i].tag; - if (GetOption(dbTag)) { - TString path("./StarDb/AgiGeometry:$STAR/StarDb/AgiGeometry"); - if (GetOption("AgML")) { - path = "./StarDb/AgMLGeometry:$STAR/StarDb/AgMLGeometry"; - } - if (GetOption("VmcGeo")) { - path = "./StarDb/VmcGeo:$STAR/StarDb/VmcGeo"; - } - TString geom("Geometry."); - geom += DbAlias[i].geometry; - geom += ".C"; - Char_t *file = gSystem->Which(path.Data(),geom,kReadPermission); - if (file) { - LOG_INFO << "StBFChain::Init force load of " << file << endm; - TString command = ".L "; command += file; - gInterpreter->ProcessLine(command); - gInterpreter->Calc("CreateTable()"); - command.ReplaceAll(".L ",".U "); - gInterpreter->ProcessLine(command); - delete [] file; - } else { - LOG_INFO << "StBFChain::Init file for geometry tag " << geom << " has not been found in path" << path << endm; - } - break; - } - } - } -#endif - } - return StChain::Init(); -} -//_____________________________________________________________________ -/// Really the destructor (close files, delete pointers etc ...) -Int_t StBFChain::Finish() -{ - TFile *tf = GetTFile(); - if (tf) {tf->Write(); tf->Flush(); tf->Close(); delete tf; SetTFile(0);} - if (!fBFC) return kStOK; - Int_t ians = StChain::Finish(); - SafeDelete(fchainOpt); - fBFC = 0; -// delete gMessMgr; gMessMgr = 0; - return ians; -} - - -//_____________________________________________________________________ -Int_t StBFChain::AddAB (const Char_t *mkname,const StMaker *maker,const Int_t Opt) { - if (! maker || strlen(mkname) == 0) return kStErr; - StMaker *parent = maker->GetParentMaker(); - if (parent) { - TList *list = parent->GetMakeList(); - list->Remove((StMaker *)maker); - } - StMaker *mk = GetMaker(mkname); if (!mk) return kStErr; - parent = mk->GetParentMaker(); if (!parent) return kStErr; - TList *list = parent->GetMakeList(); if (!list) return kStErr; - if (Opt > 0) list->AddAfter (mk,(StMaker*)maker); - else list->AddBefore(mk,(StMaker*)maker); - return kStOk; -} - -//_____________________________________________________________________ -Int_t StBFChain::ParseString (const TString &tChain, TObjArray &Opt, Bool_t Sort) { - Opt.Clear(); - TObjArray *obj = tChain.Tokenize("[^ ;,]+"); - Int_t nParsed = obj->GetEntries(); - Int_t k, N = 0; - if (GetChain() && GetChain()->Debug() > 2) { - gMessMgr->QAInfo() << "ParseString " << tChain.Data() << endm; - for (k = 0; k < nParsed; k++) { - if (obj->At(k)) { - gMessMgr->QAInfo() << k << "\t" << ((TObjString *) obj->At(k))->GetName() << endm; - } - } - } - for (k = 0; k < nParsed; k++) {if (obj->At(k)) {if (k != N) obj->AddAt(obj->At(k),N); N++;}} - nParsed = N; - // sort options - StBFChain *chain = (StBFChain *) StMaker::GetChain(); - if (chain && Sort) {// sort options - TArrayI idT(nParsed); Int_t *idx = idT.GetArray(); - TArrayI kdT(nParsed); Int_t *kdx = kdT.GetArray(); - for (k = 0; k < nParsed; k++) { - TString string = ((TObjString *) obj->At(k))->GetString(); - kdx[k] = TMath::Abs(chain->kOpt(string,kFALSE)); - } - TMath::Sort(nParsed,kdx,idx,0); - TString sChain; - for (k = 0; k < nParsed; k++) { - Opt.AddAtAndExpand(obj->At(idx[k]),k); - if (k == 0) sChain = ((TObjString *)Opt[k])->GetString(); - else {sChain += ","; sChain += ((TObjString *)Opt[k])->GetString();} - } - if (N > 1 && chain->Debug() > 2) { - gMessMgr->QAInfo() << "Requested chain is :\t" << tChain.Data() << endm; - gMessMgr->QAInfo() << "Sorted chain is :\t" << sChain.Data() << endm; - } - } else for (k = 0; k < nParsed; k++) Opt.AddAtAndExpand(obj->At(k),k); - obj->SetOwner(kFALSE); - delete obj; - return nParsed; -} - -//_____________________________________________________________________ -/// Check option if defined (Char_t argument interface) -Int_t StBFChain::kOpt (const Char_t *tag, Bool_t Check) const { - TString Tag(tag); - Int_t kO = kOpt(&Tag, Check); - return kO; -} -//_____________________________________________________________________ -/// Check option if defined. -/*! - This method checks if the options are valid by %comparing them - to the list of declared options. This is called for each option - passed as argument. The real sorting of all options is done in - SetFlags(). -*/ -Int_t StBFChain::kOpt (const TString *tag, Bool_t Check) const { - TString Tag = *tag; - Tag.ToLower(); - TString opt, nopt; - for (Int_t i = 1; i< fNoChainOptions; i++) { - opt = TString(fBFC[i].Key); //check nick name - opt.ToLower(); - nopt = TString("-"); - nopt += opt; - if (Tag == opt) {return i;} - else {if (Tag == nopt) {return -i;}} - opt = fBFC[i].Maker; //check full maker name2 - nopt = "-"; - nopt += opt; - if (Tag == opt) {return i;} - else {if (Tag == nopt) {return -i;}} - } - // - // JL - sdt and dbv for timestamp - // - // Gopt for arbitrary property on 3 letter name (wildcard would be added) and length - // 6 for a value. Not advertized / not used and implementation is not complete (needed - // a case and do not have a clear one). TBD. - // - // 2011/11 added the possibility of detector sub-system specific timestamps. - // DBV only for now, logic is similar if we equally parse. - // - // {sdt|dbv}YYYYMMDD -> {sdt|dbv} 3 / YYYYMMDD 8 => 11 || YYYYMMDD.HHMMSS = 15 => 18 - if (Tag.BeginsWith("dbv") || Tag.BeginsWith("sdt")) { - Check = kTRUE; - - if (Tag.Length() == 11 || Tag.Length() == 18) return 0; - - // Else we need to parse some more - assume a pattern {dbv|sdt}YYYYMMDD[.HHMMSS]_XXX_ZZZZZ - // First, detect it using quick counting - Tag.ToLower(); - if ( TPRegexp(BFC_DBREGEXP).Match(Tag) == 7) return 0; - } - if (Tag.BeginsWith("rung")) { - Check = kTRUE; - return 0; - } - - //FMS gaincorr - if(Tag.BeginsWith("fmsGainCorr")){ - Check = kTRUE; - return 0; - } - - // GoptXXXvvvvvv -> Gopt 4 / XXX 3 / vvvvvv 6 = 13 - if ( Tag.BeginsWith("gopt") && Tag.Length() == 13 ) return 0; - - if ( Tag.BeginsWith("FiltTrg",TString::kIgnoreCase) ) { - Check = kTRUE; - if ( TPRegexp("^FiltTrg(Inc|Exc)?(_.*)*$").Match(Tag,"i") > 0) return 0; - } - if ( Tag.BeginsWith("VFStore",TString::kIgnoreCase) || - Tag.BeginsWith("TpcVpdVzDiffCut",TString::kIgnoreCase) - ) { - // need to match an ":" sign - Check = kTRUE; - if ( Tag.Index(':') != 0) return 0; - } - - - if (Check) { - gMessMgr->Error() << "Option " << Tag.Data() << " has not been recognized" << endm; - abort(); //assert(1); - } - return 0; -} -//_____________________________________________________________________ -void StBFChain::SetOptions(const Char_t *options, const Char_t *chain) { - TString tChain(options); - TObjArray Opts; - Int_t nParsed = ParseString(tChain,Opts,kTRUE); - for (Int_t l = 0; l < nParsed; l++) { - TString Tag = ((TObjString *)Opts[l])->GetString(); - Int_t kgo; - Int_t in = Tag.Index("="); - if (in > 0) {// string with "=" - TString subTag(Tag.Data(),in); - subTag.ToLower(); //printf ("Chain %s\n",tChain.Data()); - kgo = kOpt(subTag.Data()); - if (kgo > 0) { - int len= sizeof(fBFC[kgo].Comment); - memset(fBFC[kgo].Comment,0,len); // be careful size of Comment - TString Comment(Tag.Data()+in+1,Tag.Capacity()-in-1); - if ( Comment.Length() <= len ){ - strncpy (fBFC[kgo].Comment, Comment.Data(),sizeof(fBFC[kgo].Comment)); - gMessMgr->QAInfo() << Form(" Set %s = %s", fBFC[kgo].Key,fBFC[kgo].Comment) << endm; - } else { - gMessMgr->Error() << Form(" Cpy problem [%s] is > %d - adjust BFC Comment field size", - Comment.Data(),len) << endm; - } - } - } else { - Tag.ToLower(); - // printf ("Chain %s\n",tChain.Data()); - kgo = kOpt(Tag.Data(),kFALSE); - if (kgo != 0) { - SetOption(kgo,chain); - if (kgo > 0) { - TString Comment(fBFC[kgo].Comment); - TString Opts(fBFC[kgo].Opts); - if (Tag.BeginsWith("Test.",TString::kIgnoreCase) && ! Comment.BeginsWith("/star/") && - Opts.BeginsWith("test_",TString::kIgnoreCase)) { - SetOptions(Opts,Tag); - } else { - if ((Tag.BeginsWith("Test.",TString::kIgnoreCase) || - Tag.BeginsWith("test_",TString::kIgnoreCase) || - Tag.BeginsWith("eval_",TString::kIgnoreCase)) && Comment.BeginsWith("/star/") ) { - fkChain = kgo; - gMessMgr->QAInfo() << "Default Test chain set " << fBFC[fkChain].Key << " with input " << fBFC[fkChain].Comment << endm; - } - } - } - } else { - // it is 0 i.e. was not recognized. - // Check if it is a (dbv|sdt)YYYYMMDD or (dbv|sdt)YYYYMMDD.HHMMSS and derivative - // We really set the options only once later in SetDbOptions() (removing the fBFC[i].Flag check) - // but the goal here is to avoid user's histeria by displaying extra messages NOW. - // - // Note that kOpt() has already validated the pattern (so it has to be right here). - // - // !!! Debug: dbv20040917 - if (Tag.BeginsWith("dbv")) { - if (Tag.Length() == 11) (void) sscanf(Tag.Data(),"dbv%8d",&FDate); - if (Tag.Length() == 18) (void) sscanf(Tag.Data(),"dbv%8d.%6d",&FDate,&FTime); - if (Tag.Length() == 11 || Tag.Length() == 18) { - gMessMgr->QAInfo() << Tag.Data() << " ... but still will be considered as a dynamic timestamp (Max DB EntryTime) " - << FDate << "." << FTime << endm; -#ifdef USE_BFCTIMESTAMP - } else { - // we passed kOpt() parsing was fine - //if ( TPRegexp(BFC_DBREGEXP).Match(Tag) == 7) return 0; - TObjArray *subStrL = TPRegexp(BFC_DBREGEXP).MatchS(Tag); - BFCTimeStamp TS; - TString realm; - - TS.Type = 1; - TS.Date = (((TObjString *) subStrL->At(2))->GetString()).Atoi(); - TS.Time = 0; // for now, avoid parsing this as user use simple TS 99% of the time - TS.Detector = ((TObjString *) subStrL->At(4))->GetString(); - TS.Realm = ((TObjString *) subStrL->At(6))->GetString(); - - if ( TS.Realm.IsNull() ){ realm = "*";} - else { realm = TS.Realm;} - - GTSOptions.push_back(TS); - - LOG_WARN << "Override timestamp for detector requested\n\t" - << "Detector " << TS.Detector << "\n\t" - << "Realm " << realm << "\n\t" - << "Date " << TS.Date << "\n\t" - << "Time " << TS.Time << endm; -#endif /* USE_BFCTIMESTAMP */ - } - - } else if (Tag.BeginsWith("sdt")) { - if (Tag.Length() == 11) (void) sscanf(Tag.Data(),"sdt%8d",&FDateS); - if (Tag.Length() == 18) (void) sscanf(Tag.Data(),"sdt%8d.%6d",&FDateS,&FTimeS); - if (Tag.Length() == 11 || Tag.Length() == 18) { - gMessMgr->QAInfo() << Tag.Data() << " ... but still will be considered as a dynamic timestamp (Event Time) " - << FDateS << "." << FTimeS << endm; - - // <<< same logic for GTSOptions can be inserted here - // <<< if so, use TS.Type = 2 - } - - } else if ( Tag.BeginsWith("gopt") && Tag.Length() == 13){ - // TODO option best as gopt.$ATTRR.$VAL for arbitrary attribute and value - // parsing to extend - char GOptName[4],GOptValue[7]; - TString property(".gopt."); - //TString pattern("*"); - - (void) sscanf(Tag.Data(),"gopt%3s%6s",GOptName,GOptValue); - // sscanf adds null terminators for %s, so buffers need to be 1 longer - - // see StBFChain::Setup() for default values - property += GOptName; - Gproperty.push_back(property); - Gvalue.push_back(GOptValue); - Gpattern.push_back("*"); - - // JL - this is not finished, see comment in kOpt() - - // pattern is case sensitive, need more checks on this before - // setting to something else than "*" - //Gpattern += GOptName; - //Gpattern += "*"; - - - gMessMgr->QAInfo() << Tag.Data() << " ... this will set an general attribute " - << property.Data() << " with value " << GOptValue << " to " - << "*" << endm; - // Attr() need to be set after the maker exist - //SetAttr(property.Data(),GOptValue,pattern.Data()); - //SetAttr(property.Data(),GOptValue,pattern.Data()); - - } else if (Tag.BeginsWith("rung")) { - fRunG = 1; - if (Tag.Length() > 4) (void) sscanf(Tag.Data(),"rung.%d",&fRunG); - gMessMgr->QAInfo() << Tag.Data() << " will be considered as Run number (& rndm seed set) " - << fRunG << " for simulation." << endm; - - - // JL: super long options I could not accomomodate with gopt (also used ":") - } else if (Tag.BeginsWith("VFStore" ,TString::kIgnoreCase) || - Tag.BeginsWith("TpcVpdVzDiffCut",TString::kIgnoreCase) - ) { - TString VFS = Tag; - Ssiz_t idx = Tag.Index(':'); - - //cout << "-+-+-+- DEBUG -+-+-+- position = " << idx << endl; - - if ( idx != 0){ - // exclude VFStoreX or options not containing "." - Gproperty.push_back(Tag(0,idx)); - Gvalue.push_back(Tag(idx+1,64)); - // can use better patterns VFStore -> mk=StGenericVertexMaker - Gpattern.push_back("*"); - - gMessMgr->QAInfo() << "Detecting " << Tag(0,idx).Data() << " = " << Tag(idx+1,64).Data() << " as global property" << endm; - - // Attr() need to be set after the maker exist - - } - - - } else if (Tag.BeginsWith("FiltTrg",TString::kIgnoreCase)) { - TString filtTrgTag = Tag; - Ssiz_t flavorIdx = Tag.Index('_'); - if (flavorIdx > 0) { - filtTrgTag = Tag(0,flavorIdx); - fFiltTrg = Tag(flavorIdx+1,64); - } - if (filtTrgTag.CompareTo("FiltTrgExc",TString::kIgnoreCase)==0) { - gMessMgr->QAInfo() << "Trigger Filtering exclude with flavor=" << fFiltTrg << endm; - fFiltTrg.Prepend('-'); - } else if (filtTrgTag.CompareTo("FiltTrgInc",TString::kIgnoreCase)==0 || - filtTrgTag.CompareTo("FiltTrg" ,TString::kIgnoreCase)==0) { - gMessMgr->QAInfo() << "Trigger Filtering include with flavor=" << fFiltTrg << endm; - fFiltTrg.Prepend('+'); - } else { - // not a match, disable - fFiltTrg = ""; - } - - } else if (Tag.BeginsWith("fmsGainCorr",TString::kIgnoreCase)) { - fFmsGainCorrTag = Tag; - - } else { // Check for predefined db time stamps ? - kgo = kOpt(Tag.Data(),kFALSE); - if (kgo != 0){ - SetOption(kgo,chain); - } else { - // Check that option can be library name or / and Maker - static const Char_t *path = ".:.$STAR_HOST_SYS/lib::.$STAR_HOST_SYS/LIB:$STAR/.$STAR_HOST_SYS/lib:$STAR/.$STAR_HOST_SYS/LIB"; - TString File = Tag; File += ".so"; - Char_t *file = gSystem->Which(path,File.Data(),kReadPermission); - if (file) { - TString Maker(""); - Bfc_st row = {"","","","","","","",kTRUE}; - memcpy (&row.Key, Tag.Data(), Tag.Length()); - if (Tag.Contains("Maker")) memcpy (&row.Maker, Tag.Data(), Tag.Length()); - memcpy (&row.Libs, Tag.Data(), Tag.Length()); - fchainOpt->AddAt(&row); - fNoChainOptions = fchainOpt->GetNRows(); - fBFC = fchainOpt->GetTable(); - delete [] file; - } - kgo = kOpt(Tag.Data(),kFALSE); - if (kgo != 0) { - SetOption(kgo,chain); - } else { - gMessMgr->QAInfo() << " Invalid Option " << Tag.Data() << ". !! ABORT !! " << endm; - abort(); //assert(1); - return; - } - } - } - } - } - } - Opts.Delete(); -} -//_____________________________________________________________________ -/// Enable/disable valid command line options -void StBFChain::SetOption(const Int_t k, const Char_t *chain) { - if (k > 0) { - assert(k 0) SetOptions(fBFC[k].Opts,fBFC[k].Key); - if (!fBFC[k].Flag) { - fBFC[k].Flag = kTRUE; - gMessMgr->QAInfo() << Form(" Switch On %20s by %s", fBFC[k].Key, chain) << endm; - } - } else { - assert(-kQAInfo() << Form(" Switch Off %20s by %s", fBFC[-k].Key, chain) << endm; - } - } -} - -//_____________________________________________________________________ -/// Returns chain-option state (on/off) -Bool_t StBFChain::GetOption(const Int_t k) const -{ - return (k>0 && k Note : If the requested option is not part of the global BFC[] - * array, the kOpt() method is going to scream at you but it will still - * work. You can ask for that option to be added to the chain official - * options later whenever your code debugging is done. In other words, - * this method allows you to pass ANY options not officially declared - * and use it as test/work-around to pass any parameters to your maker. - * - * However, if the parameters are to be used in production, we DO - * request/require that they are declared as a valid option. - * - * - */ -Char_t *StBFChain::GetOptionString(const Char_t *Opt) -{ - Int_t o = kOpt(Opt); - if(!o) return NULL; - else if(!GetOption(o)) return NULL; - else return(fBFC[o].Comment); -} - - -//_____________________________________________________________________________ -/// Scan all flags, check if they are correct, manipulate the comment if necessary -/*! - This method checks if the options passed are correct and/or sorts out - the extraneous information passed through the comment if applies. Two - special flags exists, that is, dbv and sdt for database interraction ... - - The dbv tag is used to setup the end-time for entries (time after - which any database insertions will be ignored). This is used to provide a - mechanism by which we can run production with a stable set of calibration - constant and still allow for development value insertion to get in. - - The sdt tag is used to setup the database look-up time stamp - that is, on which date to look at the database. This is usefull if we - want to decouple Geant geometry and database calibration constants. - This may also be used to get database values when you do not run over - a raw data file. - - The geometry options are now dynamic. This includes BOTH Y(ear) based - geometries and RY geometry (Real data) options. They are defined now in - StMaker as a static map. - - The GOptXXXvvvvvv options are used to pass an flexible option - value vvvvvv to makers in the chain matching the name XXX. - The three letter acronym will be following the detector sub-systems naming. - If a maker uses such convenience, the basic rule applies: - - the Maker MUST use a centralized conversion function of vvvvvv - to a private structure with explicit naming of each switches - - explaination on usage and the thourough explaination of the meaning - of the values vvvvvv must be clearly added to the documentation - -*/ -void StBFChain::SetFlags(const Char_t *Chain) -{ - TString tChain(Chain); - Int_t mode = 1; - Setup(mode); - Int_t k=0; - if (tChain == "" || tChain.CompareTo("ittf",TString::kIgnoreCase) == 0) { - gMessMgr->QAInfo() << "\tPossible Chain Options are:" << endm; - for (k=0;kQAInfo() - << Form(" %3d: %-30s:%-12s:%-12s:%s:%s:%s:%s" - ,k,fBFC[k].Key,fBFC[k].Name,fBFC[k].Chain,fBFC[k].Opts,fBFC[k].Maker,fBFC[k].Libs,fBFC[k].Comment) - << endm; - - return; - } - TString STAR_VERSION("$STAR_VERSION"); - gSystem->ExpandPathName(STAR_VERSION); - gMessMgr->QAInfo() << "==============================================" << endm; - gMessMgr->QAInfo() << "============= You are in " << STAR_VERSION.Data() << " ===============" << endm; - gMessMgr->QAInfo() << "Requested chain " << GetName() << " is :\t" << tChain.Data() << endm; - SetOptions(tChain,"Chain"); - if (GetOption("NewTpcAlignment")) { - gMessMgr->QAInfo() << "Set environment to use NewTpcAlignment" << endm; - gEnv->SetValue("NewTpcAlignment",1); - } - if (!GetOption("NoDefault")) { // Default - // Check flags consistency - if (gClassTable->GetID("TGiant3") >= 0) { // root4star - SetOption("-VMC","Default,TGiant3"); - SetOption("-VMCPassive","Default,TGiant3"); - SetOption("-VMCAppl","Default,TGiant3"); - SetOption("-RootVMC","Default,TGiant3"); - if (GetOption("xgeometry")) { - SetOption("-geometry","Default,-xgeometry"); - SetOption("-geomNoField","Default,-xgeometry"); - } - } else { // root - if (GetOption("fzin")) { - gMessMgr->Error() << "Option fzin cannot be used in root.exe. Use root4star" << endm; - abort(); - } - if (GetOption("ntin")) { - gMessMgr->Error() << "Option ntin cannot be used in root.exe. Use root4star" << endm; - abort(); - } - if (! (GetOption("Stv"))) { - if (GetOption("gstar") || GetOption("pythia")) { - SetOption("VMC","Default,-TGiant3,gstar"); - SetOption("-gstar","Default,-TGiant3"); - SetOption("-pythia","Default,-TGiant3"); - } - } - SetOption("-geant","Default,-TGiant3"); - SetOption("-geantL","Default,-TGiant3"); - SetOption("-geometry","Default,-TGiant3"); - SetOption("-geomNoField","Default,-TGiant3"); - if (! (GetOption("Stv"))) { - if (! (GetOption("VMC") || GetOption("VMCPassive"))) { - SetOption("VMCPassive","Default,-TGiant3"); - } - SetOption("pgf77","Default,-TGiant3"); - SetOption("mysql","Default,-TGiant3"); - SetOption("StarMiniCern","Default,-TGiant3"); - } - } - if (GetOption("ITTF") && ! (GetOption("Sti") || GetOption("StiCA") || GetOption("Stv") || GetOption("StiVMC"))) { - TString STAR_LEVEL(gSystem->Getenv("STAR_LEVEL")); - if (STAR_LEVEL == ".DEV2") SetOption("StiCA","Default,ITTF"); - else SetOption("Sti" ,"Default,ITTF"); - } - if (GetOption("Stv")) { - SetOption("-TpcIT","Default,Stv"); - SetOption("-SvtIT","Default,Stv"); - SetOption("-SsdIT","Default,Stv"); - SetOption("-HpdIT","Default,Stv"); - SetOption("-BTofIT","Default,Stv"); - SetOption("-PxlIT","Default,Stv"); - SetOption("-IstIT","Default,Stv"); - } - - } - if (!GetOption("Eval") && GetOption("AllEvent")) SetOption("Eval","-Eval,AllEvent"); - // Print set values - St_Bfc *Bfc = new St_Bfc("BFChain",fNoChainOptions); - AddRunco(Bfc); - for (k = 1; kQAInfo() << Form("================== %20s\tis ON \t: %s", - (char *) fBFC[k].Key, (char *) fBFC[k].Comment) << endm; - Bfc->AddAt(&fBFC[k]); - } - } - // gSystem->Exit(1); -} -//_____________________________________________________________________ -void StBFChain::Set_IO_Files (const Char_t *infile, const Char_t *outfile){ - TString gc(""); - if (infile) { - if (strlen(infile) > 2) { - gc = TString(infile,3); - gc.ToLower(); - } - } - SetInputFile(infile); - if (! GetOption("NoOutput")) SetOutputFile(outfile); -} -//_____________________________________________________________________ -void StBFChain::SetInputFile (const Char_t *infile){ - // define input file - if (infile) fInFile = infile; - if (fInFile != "") { - fInFile.ReplaceAll("\n",";"); - fInFile.ReplaceAll("#",";"); - fInFile.ReplaceAll(":",";"); - gMessMgr->QAInfo() << "Input file name = " << fInFile.Data() << endm; - } else { - if (fkChain >= 0) { - fInFile = fBFC[fkChain].Comment; - fInFile.ReplaceAll("\n",";"); - gMessMgr->QAInfo() << "Default Input file name = " << fInFile.Data() << " for chain : " << fBFC[fkChain].Key << endm; - } - } - if (fInFile == "") {SetOption("-in","No Input File"); SetOption("-InTree","NoInput File"); return;} - if (!GetOption("fzin") && !GetOption("ntin")) { - fSetFiles= new StFile(); - TObjArray Files; - ParseString(fInFile,Files); - TIter next(&Files); - TObjString *File; - while ((File = (TObjString *) next())) { - TString string = File->GetString(); - if (!string.Contains("*") && ! string.BeginsWith("@") && - gSystem->AccessPathName(string.Data())) {// file does not exist - gMessMgr->Error() << "StBFChain::SetInputFile *** NO FILE: " << string.Data() << ", exit!" << endm; - gSystem->Exit(1); - } - else fSetFiles->AddFile(File->String().Data()); - } - Files.Delete(); - } -} -//_____________________________________________________________________ -/// Takes care of output file name (extension) -void StBFChain::SetOutputFile (const Char_t *outfile){ - if (! GetOption("NoOutput")) { - if (outfile) { - fFileOut = outfile; - } else { - if (fInFile != "") { - if (GetOption("fzin") || GetOption("ntin")) { - TObjArray words; - ParseString(fInFile,words); - TIter nextL(&words); - TObjString *word = 0; - while ((word = (TObjString *) nextL())) { - if (word->GetString().Contains(".fz") || - word->GetString().Contains(".nt")) { - fFileOut = gSystem->BaseName(word->GetName()); - break; - } - } - } else { - fFileOut = gSystem->BaseName(fInFile.Data()); - if (GetOption("shadow")) { - TObjArray* fileOutTokens = fFileOut.Tokenize("_."); - TString& runToken = ((TObjString*) (fileOutTokens->At(2)))->String(); - TString& seqToken = ((TObjString*) (fileOutTokens->At(4)))->String(); - if (!(runToken.CompareTo("adc"))) { - runToken = ((TObjString*) (fileOutTokens->At(3)))->String(); - seqToken = ((TObjString*) (fileOutTokens->At(5)))->String(); - } - if (!(runToken.IsDigit())) { - LOG_ERROR << "Unable to locate run number in filename for shadowing." << endm; - } else { - fFileOut.ReplaceAll(runToken,Form("%d", - StShadowMaker::getRunNumber(runToken.Atoi()))); - } - if (!(seqToken.IsDigit())) { - LOG_ERROR << "Unable to locate file sequence number in filename for shadowing." << endm; - } else { - fFileOut.ReplaceAll(seqToken,Form("%07d", - StShadowMaker::getFileSeq(seqToken.Atoi()))); - } - delete fileOutTokens; - } - } - } - if (fFileOut == "") { - if (GetOption("pythia")) fFileOut = "pythia.root"; - else if (GetOption("hijing")) fFileOut = "hijing.root"; - else if (GetOption("VMC")) fFileOut = "VMC.root"; - else if (GetOption("gstar")) fFileOut = "gtrack.root"; - } - if ( fFileOut != "") { - fFileOut.ReplaceAll("*",""); - fFileOut.ReplaceAll("@",""); - fFileOut.ReplaceAll("..","."); - fFileOut.ReplaceAll(".daq",""); - fFileOut.ReplaceAll(".fzd",""); - fFileOut.ReplaceAll(".fz",""); - fFileOut.ReplaceAll(".nt",""); - fFileOut.ReplaceAll(".root",""); - fFileOut.ReplaceAll(".list",""); - fFileOut.ReplaceAll(".lis",""); - fFileOut.Strip(); - fFileOut.Append(".root"); - } - } - } - if (fFileOut != "") gMessMgr->QAInfo() << "Output root file name " << fFileOut.Data() << endm; - else SetOption("NoOutput","No Output File"); - if (!GetTFile()) { - if ( ( GetOption("tags") || GetOption("lana") ) && (fFileOut != "") ){ - TString TagsName = fFileOut; - if( GetOption("lana") ){ - TagsName.ReplaceAll(".root",".laser.root"); - } else if ( GetOption("mtdEvtFilt") ){ - TagsName.ReplaceAll(".root",".pretags.root"); - } else { - TagsName.ReplaceAll(".root",".tags.root"); - } - SetTFile(new TFile(TagsName.Data(),"RECREATE")); - } - } -} -//_____________________________________________________________________ -/// Handles all geant options -/*! - This method sets the Geant options that is the Geometry loading - part. Depends on St_geant_Maker instantiated in the Instantiate() - method. - Please, change SetDbOptions() -*/ -void StBFChain::SetGeantOptions(StMaker *geantMk){ - if (geantMk && geantMk->InheritsFrom("St_geant_Maker")) { - SetInput("geant",".make/geant/.data"); - TString GeomVersion(""); - if (fRunG > 0) { - geantMk->SetAttr("RunG",fRunG); - } - if (!GetOption("fzin") || GetOption("ForceGeometry")) { - GeomVersion = "y2004x"; - const DbAlias_t *DbAlias = GetDbAliases(); - Int_t found = 0; - for (Int_t i = 0; DbAlias[i].tag; i++) { - TString r("r"); - r += DbAlias[i].tag; - if ( !GetOption(DbAlias[i].tag,kFALSE) && !GetOption(r,kFALSE)) continue; - GeomVersion = DbAlias[i].geometry; - found = i; - break; - } - if (! found) gMessMgr->QAInfo() << "StBFChain::SetGeantOptions() Chain has not found geometry tag. Use " << GeomVersion << endm; - TString GeometryOpt; - if (GetOption("phys_off")) {GeometryOpt += "detp phys_off=1;"; geantMk->SetAttr("phys_off",kTRUE);} - if (GetOption("hadr_off")) {GeometryOpt += "detp hadr_off=1;"; geantMk->SetAttr("hadr_off",kTRUE);} - GeometryOpt += ("detp geometry "); - GeometryOpt += GeomVersion; - ProcessLine(Form("((St_geant_Maker *) %p)->LoadGeometry(\"%s\");",geantMk,GeometryOpt.Data())); - } - if ((GetOption("fzin") || GetOption("ntin") || GetOption("mtin") || fInFile.Data()[0] == ';') && fInFile != "") - ProcessLine(Form("((St_geant_Maker *) %p)->SetInputFile(\"%s\")",geantMk,fInFile.Data())); - } -} -//_____________________________________________________________________ -/// Treats the DbV options used for database timestamp. -/*! - Re-scan all options and search for dbv options. This method also sorts - out the string-based database timestamp for reconstruction. Those have - to be in phase with the geant geometry (see SetGeantOptions()) if - simulation is being reconstructed. - - The order matters since a later option would overwrite an earlier one. - The mechanism introduced for a dynamic (i.e. not pre-defined) timestamp is that - it will be used ONLY if there are no other timestamp options. - Be aware of this precedence ... - -*/ -void StBFChain::SetDbOptions(StMaker *mk){ - if (! mk ) return; - if (GetOption("Agi")) mk->SetAlias("VmcGeometry","db/.const/StarDb/AgiGeometry"); - else if (GetOption("AgML") ) mk->SetAlias("VmcGeometry","db/.const/StarDb/AgMLGeometry"); - else if (GetOption("VmcGeo")) mk->SetAlias("VmcGeometry","db/.const/StarDb/VmcGeo"); - else mk->SetAlias("VmcGeometry","db/.const/StarDb/AgiGeometry"); - Int_t i; - Int_t Idate=0,Itime=0; - - // First possibility - for (i = 1; i < fNoChainOptions; i++) { - if (fBFC[i].Flag && !strncmp(fBFC[i].Key ,"DbV",3)){ - // JL - we use to set timestamp as a chain option (any) starting with dbv and followed - // by an arbitrary set of numbers. The real stamp was taken from the comment. - // This supports this old mode. - gMessMgr->QAInfo() << "StBFChain::SetDbOptions Found time-stamp " << fBFC[i].Key << " [" << fBFC[i].Comment << "]" << endm; - (void) sscanf(fBFC[i].Comment,"%d/%d",&Idate,&Itime); - } - } - - // If FDate is set and we do not have the old mode, then a dynamic timestamp was used - // Overwrite - if( ! Idate && FDate){ - gMessMgr->QAInfo() << "StBFChain::SetDbOptions Switching to user chosen dynamic time-stamp (MaxEntry) " - << FDate << " " << FTime << endm; - gMessMgr->QAInfo() << "Chain may crash if time-stamp is not validated by db interface" << endm; - - Idate = FDate; - Itime = FTime; - } - - St_db_Maker *db = (St_db_Maker *) mk; - // Startup date over-write - if (FDateS){ - gMessMgr->QAInfo() << "StBFChain::SetDbOptions Switching to user chosen dynamic time-stamp (Start)" - << FDateS << " " << FTimeS << endm; - gMessMgr->QAInfo() << "Chain may crash if time-stamp is not validated by db interface" << endm; - - db->SetDateTime(FDateS,FTimeS); - } else { - if (GetOption("simu")) { - const DbAlias_t *DbAlias = GetDbAliases(); - Int_t found = 0; - for (Int_t i = 0; DbAlias[i].tag; i++) { - if (GetOption(DbAlias[i].tag,kFALSE)) { - db->SetDateTime(DbAlias[i].tag); - found = i; - break; - } - } - if (! found) {gMessMgr->QAInfo() << "StBFChain::SetDbOptions() Chain has not set a time-stamp" << endm;} - // Show date settings - gMessMgr->QAInfo() << db->GetName() - << " Maker set time = " - << db->GetDateTime().GetDate() << "." - << db->GetDateTime().GetTime() << endm; - if (GetOption("SIMU") && m_EvtHddr) { - gMessMgr->QAInfo() << GetName() << " Chain set time from " << db->GetName() << endm; - m_EvtHddr->SetDateTime(db->GetDateTime()); - } - } - } - - // MaxEntry over-write - default and global for all realm and detectors - if (Idate) { - db->SetMaxEntryTime(Idate,Itime); - gMessMgr->Info() << "\tSet DataBase max entry time " << Idate << "/" << Itime - << " for St_db_Maker(\"" << db->GetName() <<"\")" << endm; - } -#ifdef USE_BFCTIMESTAMP - // - // Now treat the detector specific options - // - TString realm; - for (UInt_t i = 0; i < GTSOptions.size() ; i++){ - if ( (GTSOptions[i].Realm).IsNull() ){ realm = "*";} - else { realm = GTSOptions[i].Realm;} - - //LOG_INFO << "DEBUG MORE [" << (GTSOptions[i].Realm).Data() << "]" << endm; - //LOG_INFO << "DEBUG MORE [" << realm.Data() << "]" << endm; - - if ( GTSOptions[i].Type == 1){ - db->AddMaxEntryTimeOverride(GTSOptions[i].Date,0, - (char *) realm.Data(), - (char *) GTSOptions[i].Detector.Data()); - - LOG_INFO << "Recovering override stamp " << i << " :: " - << GTSOptions[i].Detector << ", " << realm << ", " - << GTSOptions[i].Date << ", " << GTSOptions[i].Time << endm; - } else { - LOG_WARN << "Found override type " << GTSOptions[i].Type << " no treated yet" - << GTSOptions[i].Detector << ", " << realm << ", " - << GTSOptions[i].Date << ", " << GTSOptions[i].Time << endm; - } - } - - //abort(); -#endif /* USE_BFCTIMESTAMP */ - - if (!GetOption("fzin")) { - struct Field_t { - const Char_t *name; - Float_t scale; - }; - Field_t FieldOptions[5] = { - {"FullMagFNegative", -1.0}, - {"FullMagFPositive", 1.0}, - {"HalfMagFNegative", -0.5}, - {"HalfMagFPositive", 0.5}, - {"ZeroMagF", 0.0} - }; - Int_t k = -1; - if (GetOption("FieldON")) { - if (GetOption("ReverseField")) k = 0; - else k = 1; - } else if (GetOption("HalfField")) { - if (GetOption("ReverseField")) k = 2; - else k = 3; - } else if (GetOption("FieldOff")) k = 4; - if (k >= 0) { - SetFlavor(FieldOptions[k].name, "MagFactor"); - gMessMgr->QAInfo() << "StBFChain::SetDbOptions SetFlavor(\"" << FieldOptions[k].name - << "\",\"MagFactor\")" << endm; - if ( gClassTable->GetID("StarMagField") >= 0) { - TString cmd = - Form("if (!StarMagField::Instance()) new StarMagField( 2, %f, kTRUE);", - FieldOptions[k].scale); - ProcessLine(cmd); - } - } - } - if (this == GetTopChain()) { - // Db blacklist (remove black listed system from St_Db_Maker Calibrations configuration) - if (! GetOption("TpcDb") ) {mk->SetAttr("blacklist", "tpc"); gMessMgr->QAInfo() << "blacklist tpc" << endm;} - if (!(GetOption("SvtDb")||GetOption("SvtCalDb"))) {mk->SetAttr("blacklist", "svt"); gMessMgr->QAInfo() << "blacklist svt" << endm;} - if (!(GetOption("SsdDb")||GetOption("SsdCalDb"))) {mk->SetAttr("blacklist", "ssd"); gMessMgr->QAInfo() << "blacklist ssd" << endm;} - if (!(GetOption("SstDb")||GetOption("SstCalDb"))) {mk->SetAttr("blacklist", "sst"); gMessMgr->QAInfo() << "blacklist sst" << endm;} - if (! GetOption("EemcDb") ) {mk->SetAttr("blacklist", "eemc"); gMessMgr->QAInfo() << "blacklist eemc"<< endm;} - if (! GetOption("FmsDb") ) {mk->SetAttr("blacklist", "fms"); gMessMgr->QAInfo() << "blacklist fms" << endm;} - } else {// for Embedding chain trigger black list by NoSsdIT and NoSvtIT, could be some problems if you try to run svt or ssd clusters, ... - if (GetOption("NoSvtIt")) {mk->SetAttr("blacklist", "svt"); gMessMgr->QAInfo() << "blacklist svt" << endm;} - if (GetOption("NoSsdIt")) {mk->SetAttr("blacklist", "ssd"); gMessMgr->QAInfo() << "blacklist ssd" << endm;} - if (GetOption("NoSstIt")) {mk->SetAttr("blacklist", "sst"); gMessMgr->QAInfo() << "blacklist sst" << endm;} - } -} -//_____________________________________________________________________ -/// Creates output-tree branches -void StBFChain::SetTreeOptions() -{ - - StTreeMaker *treeMk = (StTreeMaker *) GetMaker("outputStream"); - if (!treeMk) return; - if (GetOption("EvOut")){ - gMessMgr->QAInfo() << "Will Write StEvent out, treeMk->GetFile() = " << treeMk->GetFile() << endm; - treeMk->IntoBranch("eventBranch","StEvent"); - if (GetOption("EvOutOnly")) return; - } - if (! GetOption("nohistos")) treeMk->SetBranch("histBranch"); - if (! GetOption("norunco")) treeMk->SetBranch("runcoBranch"); - if (GetOption("McEvent") && GetOption("McEvOut")){ - gMessMgr->QAInfo() << "Will Write StMcEvent out, treeMk->GetFile() = " << treeMk->GetFile() << endm; - treeMk->IntoBranch("McEventBranch","StMcEvent"); - } - if (GetOption("GeantOut")) treeMk->IntoBranch("geantBranch","geant"); - if (GetOption("AllEvent")) { - if (GetOption("fzin") || - GetOption("ntin") || - GetOption("gstar") || - GetOption("pythia") || - GetOption("VMC") || - GetOption("PrepEmbed")) { - treeMk->IntoBranch("geantBranch","geant"); - treeMk->IntoBranch("geantBranch","geant/.data/particle"); - treeMk->IntoBranch("geantBranch","geant/.data/g2t_rch_hit"); - } - } -} -//________________________________________________________________________________ -Long_t StBFChain::ProcessLine(const char *line) { - if (! line || !strlen(line)) return -1; - if (Debug()) gMessMgr->QAInfo() << "ProcessLine " << line << endm; - TInterpreter::EErrorCode error = TInterpreter::kNoError; - Long_t res = gInterpreter->ProcessLine(line, &error); - if (error != TInterpreter::kNoError) { - gMessMgr->Error() << "StBFChain::ProcessLine command:" << line << " has failed. Quit job." << endm; - gSystem->Exit(1); - } - return res; -} -//________________________________________________________________________________ -TString StBFChain::GetGeometry() const -{ - Int_t n = fchainOpt->GetNRows(); - for (Int_t i=0;iGetTable()[i].Flag) continue; - TString k(fchainOpt->GetTable()[i].Key); - k.ToLower(); - if (k[0]!='y') continue; - if (k[1]!='2') continue; - if (k[2] <'0' || k[2]>'9') continue; - if (k[3] <'0' || k[3]>'9') continue; - if (k[4] <'0' || k[4]>'9') continue; - return k; - } - return TString(""); -} diff --git a/StRoot/StBFChain/doc/index.html b/StRoot/StBFChain/doc/index.html deleted file mode 100644 index 390b490e952..00000000000 --- a/StRoot/StBFChain/doc/index.html +++ /dev/null @@ -1,2229 +0,0 @@ -BFChain Options - - - -

BFChain Options

-
  • Block 0 - -
  • Block 1 - - -


    Options for Block 0

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    KeyNameChainOpts MakerLibsComment
    TIME STAMPS
    RY2008  db detDb NosvtIT NossdIT   y2008 for dAu run
    RY2009  db detDb NosvtIT NossdIT   y2009 for p+p run
    ForceGeometry      Force geometry to overwrite the geometry coming from fz-file
    Valid Db
    NoDb  -db -tpcDb -magF   Take out Db from Chain
    DbV  db ry1h   19940614/0 Db Version for none
    DbV0614  db ry1h   20000614/0 Db Version for p00hd
    DbV0624  db ry1h   20000624/0 Db Version for p00hd_1
    DbV0713  db ry1h   20000713/0 Db Version for p00he
    DbV0727  db ry1h   20000727/0 Db Version for p00he
    DbV0819  db ry1h   20000819/0 Db Version for p00hg
    DbV1123  db ry1h   20001123/0 Db wo TpcDriftVel. from StTpcT0Maker
    DbV0523  db ry1h   20010523/0 Db Version for p01he
    DbV1007  db ry1h   20011007/0 Db Version for p01hi
    DbV1107  db ry1h   20011107/0 Db Version for pass1 p01gk
    DbV1211  db ry1h   20011211/0 Db Version for prod p01gl
    geometry     geometrygeometry+Mag.Field
    ideal      Ideal Alignment
    misalign     -AgMLidealMisaligned Geometry
    AgMLutil     StarAgmlUtilAgML support
    AgMLlib     StarAgmlUtil StarAgmlLibAgML support
    AgML  AgMLlib -Agi -VmcGeo  Geometry StarGeometryAlias VmcGeometry to AgiLGeometry
    Agi  -VmcGeo   Alias VmcGeometry to AgiGeometry (gstar original geometry)
    VmcGeo  -AgML -Agi   Alias VmcGeometry to VmcGeo
    Trigger Type
    Physics      WARNING *** Option is OBSOLETE ***
    LaserTest      WARNING *** Option is OBSOLETE ***
    PulserSvt      WARNING *** Option is OBSOLETE ***
    alltrigger      WARNING *** Option is OBSOLETE ***
    phys_off      Turn off physics in simulation
    hadr_off      Turn off hadronic interactions in simulation
    C H A I N S
    Calibration chains
    LanaDV  LanaDVtpx   get LDV
    LanaDVtpx  MakeEvent trgd in tpx TpcHitMover LaserIT VFMinuit Lana Analysis Corr4 NosvtIT NossdIT   get LDV with TPX
    LaserDV.Chain  in LaserCal fcf TpcHitMover OGridLeak3D OShortR OSpaceZ2   get LDV
    Test.default.ITTF  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent genvtx miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.default.y2005g.ITTF  Test.default.ITTF sdt20050130 noSimuDb    
    Test.default.y2007g.ITTF  Test.default.ITTF sdt20070322 noSimuDb    
    Test.fast.y2005g.ITTF  Test.fast.ITTF sdt20050130 noSimuDb    
    Test.reco.StiVMC  MakeEvent tpcI tcl ftpc SvtCL Test.StiVMC    
    Test.default.StiVMC  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.StiVMC  TpcRS StiVMC event analysis tags EvOut StarMagField FieldOn Idst CMuDst    
    Test.VeryFast.StiVMC  TpcFastSim Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT StiVMC Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.fast.StiVMC  tfs Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb StiVMC Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.fast.y2007g.ITTF  Test.fast.ITTF sdt20070322 noSimuDb    
    Test.VeryFast.y2005g.ITTF  Test.VeryFast.ITTF sdt20050130 noSimuDb    
    Test.VeryFast.y2007g.ITTF  Test.VeryFast.ITTF sdt20070322 noSimuDb    
    Test.default.StiVMC  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.y2009.ITTF  Test.default.ITTF y2009 TpcRS sdt20090428.141700    
    Test.y2009.StiVMC  Test.default.StiVMC y2009 TpcRS sdt20090428.141700 noSimuDb    
    Test.fast.y2005g.StiVMC  Test.fast.StiVMC sdt20050130 noSimuDb    
    Test.VeryFast.y2005g.StiVMC  Test.VeryFast.StiVMC sdt20050130 noSimuDb    
    Test.VeryFast.y2007g.StiVMC  Test.VeryFast.StiVMC sdt20070322 noSimuDb    
    Test.default.Fast.ITTF  tfs sfs ssdFast IdTruth MakeEvent miniMcMk Test.ITTF    
    Test.srs.ITTF  TpcRS Simu srs svt ssd fss bbcSim emcY2 McEvOut GeantOut IdTruth miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.ITTF  svtIT ssdIT ITTF event analysis EventQA tags EvOut StarMagField FieldOn IDST CMuDst analysis  
    Test.reco.ITTF  MakeEvent tpcI tcl ftpc SvtCL Test.ITTF    
    Test.fast.ITTF  tfs Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT ITTF Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.VeryFast.ITTF  TpcFastSim Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT ITTF Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    nightly test (dev) chains
    McMcChainMcEventsim_T globT McAss McAna StMakerStChain 
    MC.y2000  trs rrs y1h Idst rich IAna l0 tpcI tpxClu NosvtIT NossdIT -Kink2 VFMinuit geant evout IdTruth tags GeantOut big    
    MC.y2001  trs fss rrs y2001n Idst rich IAna l0 tpcI tpxClu ftpc -Kink2 VFMinuit geant evout IdTruth tags emcY2 GeantOut big    
    MC.pp.y2001  trs rrs fss y2001n Idst rich IAna l0 tpcI tpxClu ftpc -Kink2 VFMinuit geant evout IdTruth tags emcY2 MiniMcMk GeantOut big    
    MC.y2003  trs fss y2003 Idst IAna l0 tpcI tpxClu ftpc VFMinuit bbcSim tofsim tags emcY2 evout IdTruth geantout    
    MC.y2004  trs srs fss y2004 Idst BAna l0 tpcI tpxClu ftpc VFMinuit SvtIt geant evout tags bbcSim tofsim emcY2 EEfs GeantOut big    
    MC.y2004a  trs srs fss y2004a Idst BAna l0 tpcI tpxClu ftpc VFMinuit SvtIT geant tags bbcSim tofsim emcY2 EEfs evout GeantOut big  
    MC.y2005  trs srs fss ssd y2005x Idst IAna l0 tpcI tpxClu ftpc SvtCL svtDb SsdIt SvtIt VFMinuit geant evout tags bbcSim tofsim emcY2 EEfs GeantOut big    
    MC.y2006  trs fss y2006h Idst IAna l0 tpcI tpxClu ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.y2007  trs srs ssd fss y2007 Idst BAna tpcI tpxClu ftpc SvtIt SsdIt VFMinuit MakeEvent IdTruth geant tags bbcSim tofsim emcY2 EEfs evout GeantOut big    
    MC.y2008  trs fss y2008a Idst IAna tpcI tpxClu ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.in.y2008  in y2008e FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.in.y2009  in y2009c FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2009  TpcRS TpxClu fss y2009 Idst IAna tpcI ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.y2009a  TpcRS TpxClu fss y2009a Idst IAna tpcI ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2010a  TpcRS TpxClu y2010a MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2010  TpcRS TpxClu y2010 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.fast.pp.y2011  y2011 Test.default.Fast.ITTF bbcSim btofsim btofMatch emcY2 emcSim EEfs NosvtIT NossdIT -sfs -ssdFast VFPPVnoCTB beamline    
    MC.in.y2010  in y2010c FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2011  TpcRS TpxClu y2011 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big  
    MC.fast.y2011  y2011 Test.default.Fast.ITTF NosvtIT NossdIT -sfs -ssdFast VFPPVnoCTB beamline emcy2    
    MC.in.y2011  in y2011 FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2012  TpcRS TpxClu y2012 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2012a  TpcRS TpxClu y2012a MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2012.eval  in y2012 FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll  
    MC.y2013  TpcRS TpxClu y2013_1x useXgeom MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2014  TpcRS TpxClu y2014 useXgeom MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    RC
    RC.y2000  p2000 VFMinuit CMuDst NosvtIT NossdIT    
    RC.y2001  P2001a VFMinuit ZDCvtx CMuDst NosvtIT NossdIT    
    RC.pp.y2001  pp2001a VFMinuit CMuDst NossdIT    
    RC.pp.y2001.ppv  pp2001a VFPPV beamLine CMuDst NossdIT    
    RC.y2003  DbV20040520 dau2003i in -SvtIT NossdIT    
    RC.pp.y2003.VFPPV  pp2003 VFPPV beamLine CMuDst -svtIT NossdIT Corr2 v0 xi    
    RC.y2004  P2004 DbV20041213    
    RC.y2004.NoSvt  P2004 DbV20041213 -SsdIt -SvtIt pmdRaw    
    RC.y2004.NoSvt.pmd  P2004 DbV20041213 pmdRaw -SvtIT -SsdIT    
    RC.pp.y2004  pp2004 DbV20041213 beamLine    
    RC.y2005  P2005 tofDat MakeEvent ssddat sptd SsdIt SvtIt pmdRaw OShortR OSpaceZ2    
    RC.pp.y2005  pp2005a tofdat OSpaceZ2 OGridLeak3D    
    RC.pp.y2006  pp2006b OSpaceZ2 OGridLeak3D    
    RC.y2007  DbV20080418 B2007g IAna KeepSvtHit hitfilt VFMinuit3 emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2007.NoSvt  DbV20080418 B2007g IAna KeepSvtHit hitfilt VFMinuit3 emcDY2 ftpc trgd ZDCvtx Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2008  DbV20080712 P2008 OSpaceZ2 OGridLeak3D beamLine    
    RC.y2008.notof  DbV20080712 P2008 -ToF -tofDat -tofrMatch -tofpMatch -tofCalib OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2008  DbV20080712 pp2008 OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2008.Minuit  DbV20080712 pp2008 -VFPPV VFMinuit -ToF -tofDat -tofrMatch -tofpMatch -tofCalib OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2009  pp2009c VFMinuit beamLine BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2009.notof  pp2009c VFMinuit beamLine BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2009.VFPP  pp2009c VFPPVnoCTB beamLine BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2010  P2010a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D pmdReco    
    RC.y2010.notof  P2010a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2011.VFPPV  pp2011a VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2011  pp2011a VFMinuit beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.y2011  P2011a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt pmdReco mtdDat    
    RC.y2011.notof  P2011a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt pmdReco mtdDat    
    RC.y2012  P2012a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.y2012.notof  P2012a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012  pp2012a VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.pp.y2012.notof  pp2012a VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012.notofMin  pp2012a VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.y2012b  P2012b BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.y2012b.notof  P2012b BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012b  pp2012b VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.pp.y2012b.notof  pp2012b VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2012b.notofMin  pp2012b VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2012b.notofMin  pp2012b VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2013  pp2013a mtd btof fmsDat fgt fgtPoint VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.y2014  P2014a mtd btof BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    MC nightlies and Eval--      
    test_MC.stan.y2000  MC.y2000 Sti fzin MiniMcMk   /star/rcf/simu/cocktail/hadronic/default/standard/year_1h/half_field/hadronic_on/Gstardata/hc_standard.40_evts.fz
    test_MC.pp.y2001  MC.pp.y2001 Sti fzin MiniMcMk   /star/rcf/simu/pp200/pythia/default/minbias/year2001/hadronic_on/gstardata/pds0200_04_12812evts.fzd
    test_MC.stan.y2001  MC.y2001 Sti fzin MiniMcMk   /star/rcf/simu/cocktail/hadronic/default/standard/year2001/hadronic_on/Gstardata/hc_standard.40_evts.fz
    test_dau.MC.y2003  MC.y2003 Sti fzin MiniMcMk   /star/rcf/simu/rcf1197_05_5940evts.fzd
    test_auauCtr.MC.y2004  MC.y2004a Sti fzin MiniMcMk   /star/rcf/simu/rcf1209_05_80evts.fzd
    test_auau.MC.y2004  MC.y2004 Sti fzin MiniMcMk   /star/rcf/simu/rcf1207_01_225evts.fzd
    test_cucu200.MC.y2005  MC.y2005 Sti fzin MiniMcMk   /star/rcf/simu/rcf1216_05_200evts.fzd
    test_cucu62.MC.y2005  MC.y2005 Sti fzin MiniMcMk   /star/rcf/simu/rcf1237_01_500evts.fzd
    test_pp200.MC.y2006  MC.y2006 Sti fzin MiniMcMk   /star/rcf/simu/rcf9991_01_1000evts.fzd
    test_auau200.MC.y2007  MC.y2007 Sti fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    test_dau200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    test_pp200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    test_pp200.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    test_pp500.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    test_auau11.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    test_auau200.MC.y2010  MC.y2010 Sti fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    test_auau39.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    test_auau62.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    test_auau7.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    test_auau200.MC.y2011  MC.y2011 Sti fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    test_pp500.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    test_pp500.pileup.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    test_CuAu200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    test_CuAu200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    test_pp200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    test_pp200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    test_pp500.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    test_pp500.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    test_UU200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    test_UU200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    test.RC.centr.y2000  RC.y2000 Sti   /star/rcf/test/daq/2000/09/st_physics_1248022_raw_0001.daq
    test.RC.minb.y2000  RC.y2000 Sti   /star/rcf/test/daq/2000/08/st_physics_1229021_raw_0003.daq
    test.RC.cent.y2001d  RC.y2001 v02 xi2 Sti   /star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq
    test.RC.cent.y2001  RC.y2001 v0 xi Sti   /star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq
    test.RC.minb.y2001d  RC.y2001 v02 xi2 Sti   /star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq
    test.RC.minb.y2001  RC.y2001 v0 xi Sti   /star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq
    test.RC.pp.y2001d  RC.pp.y2001 v02 xi2 Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.pp.y2001  RC.pp.y2001.ppv v0 xi Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.pp.y2001_vfppvd  RC.pp.y2001.ppv v02 xi2 Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.dau.y2003  RC.y2003 ITTF Sti   /star/rcf/test/daq/2003/041/st_physics_4041002_raw_0020001.daq
    test.RC.pp.y2003  RC.pp.y2003.VFPPV Sti   /star/rcf/test/daq/2003/095/st_physics_4095050_raw_0010002.daq
    test.RC.auau.lo.y2004  RC.y2004 -SvtIT -SsdIT pmdRaw ITTF Sti   /star/rcf/test/daq/2004/044/st_physics_5044116_raw_3010002.daq
    test.RC.auau.ph.y2004  RC.y2004 pmdRaw -SvtIT -SsdIT ITTF Sti   /star/rcf/test/daq/2004/044/st_physics_5044102_raw_1010003.daq
    test.RC.auau.StiCA.y2004  RC.y2004 -SsdIt -SvtIt pmdRaw StiCA   /star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq
    test.RC.auau.y2004  RC.y2004 -SsdIt -SvtIt pmdRaw ITTF Sti   /star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq
    test.RC.pp.y2004  RC.pp.y2004 ITTF Sti   /star/rcf/test/daq/2004/134/st_physics_5134013_raw_2010010.daq
    test.RC.cucu200.ht.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/054/st_physics_6054016_raw_1020005.daq
    test.RC.cucu200.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/048/st_physics_6048025_raw_1020002.daq
    test.RC.cucu22.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/083/st_physics_6083006_raw_1040002.daq
    test.RC.cucu62.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/080/st_physics_6080011_raw_1020004.daq
    test.RC.pp200.y2005  RC.pp.y2005 ITTF Sti   /star/rcf/test/daq/2005/171/st_physics_6171062_raw_2040010.daq
    test.RC.pp200.Long.y2006  RC.pp.y2006 ITTF Sti   /star/rcf/test/daq/2006/155/7155010/st_physics_7155010_raw_1020003.daq
    test.RC.pp200.Trans.y2006  RC.pp.y2006 ITTF Sti   /star/rcf/test/daq/2006/129/7129023/st_physics_7129023_raw_1020003.daq
    test.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    test.RC.auau200.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq
    test.RC.dau200.y2008  RC.y2008 ITTF Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    test.RC.pp200.y2008  RC.pp.y2008 ITTF Sti   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    test.RC.pp200.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    test.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    test.RC.auau11.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    test.RC.auau200.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    test.RC.auau39.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    test.RC.auau62.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    test.RC.auau7.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/143/st_physics_11143043_raw_1020001.daq
    test.RC.auau200.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    test.RC.auau20.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    test.RC.auau27.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    test.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    test.RC.cuAu200.AgML.y2012  RC.y2012b AgML Sti   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    test.RC.cuAu200.y2012  RC.y2012b Sti   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    test.RC.pp200.AgML.y2012  RC.pp.y2012b AgML Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    test.RC.pp200.y2012  RC.pp.y2012b Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    test.RC.pp500.AgML.y2012  RC.pp.y2012b AgML Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    test.RC.pp500.y2012  RC.pp.y2012b Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    test.RC.UU193.AgML.y2012  RC.y2012b AgML Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    test.RC.UU193.y2012  RC.y2012b Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    test.RC.pp500.y2013  RC.pp.y2013 Sti   /star/rcf/test/daq/2013/079/st_physics_14079008_raw_1920004.daq
    test.RC.AuAu15.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/069/st_physics_15069008_raw_2500008.daq
    test.RC.AuAu200.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/086/st_physics_15086051_raw_2500017.daq
    test.RC.AuAu200.mid.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/146/st_mtd_15146050_raw_1000030.daq
    test.RC.He3Au200.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/171/st_physics_15171039_raw_2000008.daq
    eval_Sti_auau200.MC.y2007  MC.y2007 Sti fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    eval_StiCA_auau200.MC.y2007  MC.y2007 StiCA fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    eval_Sti.AgML_dau200.MC.y2008  MC.y2008 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_Sti.AgML_pp200.MC.y2008  MC.y2008 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_StiCA_dau200.MC.y2008  MC.y2008 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_StiCA_pp200.MC.y2008  MC.y2008 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_Sti_dau200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_Sti_pp200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_StvCA_dau200.MC.Stv.y2008  MC.in.y2008 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11025_2040_100evts.event.root
    eval_Stv_dau200.MC.y2008  MC.in.y2008 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11025_2040_100evts.event.root
    eval_Sti.AgML_pp500.MC.y2009  MC.y2009a Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_StiCA_pp200.MC.y2009  MC.y2009a StiCA fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    eval_StiCA_pp500.MC.y2009  MC.y2009a StiCA fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_Sti_pp200.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    eval_Sti_pp500.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_StvCA_pp500.MC.y2009  MC.in.y2009 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11026_1020_50evts_pileup.event.root
    eval_Stv_pp500.MC.y2009  MC.in.y2009 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11026_1020_50evts_pileup.event.root
    eval_Sti.AgML_auau11.MC.y2010  MC.y2010a Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_Sti.AgML_auau200.MC.y2010  MC.y2010 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_Sti_auau11.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_Sti_auau200.MC.y2010  MC.y2010 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_Sti_auau39.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_Sti_auau62.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_Sti_auau7.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_StiCA_auau11.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_StiCA_auau200.MC.y2010  MC.y2010 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_StiCA_auau39.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_StiCA_auau62.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_StiCA_auau7.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_Stv_auau200.MC.y2010  MC.in.y2010 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11022_2241_50evts.event.root
    eval_StvCA_auau200.MC.y2010  MC.in.y2010 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11022_2241_50evts.event.root
    eval_StvCA_auau39.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_StvCA_auau62.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_StvCA_auau7.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_Sti.AgML_auau200.MC.y2011  MC.y2011 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    eval_Sti.AgML_pp500.MC.y2011  MC.fast.y2011 AgML Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_Sti_auau200.MC.y2011  MC.y2011 Sti fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    eval_StiCA_pp500.MC.y2011  MC.fast.y2011 StiCA fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_StiCA_pp500.pileup.MC.y2011  MC.fast.y2011 StiCA fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    eval_Sti_pp500.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_Sti_pp500.pileup.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    eval_Stv_auau200.MC.y2011  MC.in.y2011 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.event.root
    eval_StvCA_auau200.MC.y2011  MC.in.y2011 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.event.root
    eval_Sti.AgML_CuAu200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    eval_Sti.AgML_pp200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    eval_Sti.AgML_pp500.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    eval_Sti.AgML_UU200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    eval_Sti_CuAu200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    eval_Sti_pp200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    eval_Sti_pp500.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    eval_Sti_UU200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    eval_Sti.AgML.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF AgML Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StiCA.RC.auau200.MB.y2007  RC.y2007 pmdReco StiCA   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StiCA.RC.auau200.y2007  RC.y2007 pmdReco StiCA   /star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq
    eval_Sti.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Stv.AgML.RC.auau200.MB.y2007  RC.y2007 Stv AgML   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StvCA.RC.auau200.MB.y2007  RC.y2007.NoSvt StvCA   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Stv.RC.auau200.MB.y2007  RC.y2007.NoSvt Stv   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Sti.AgML.RC.dau200.y2008  RC.y2008 ITTF AgML Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StiCA.RC.dau200.y2008  RC.y2008 StiCA   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StiCA.RC.pp200.y2008  RC.pp.y2008 StiCA   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Sti.RC.dau200.y2008  RC.y2008 ITTF Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_Sti.RC.pp200.y2008  RC.pp.y2008 ITTF Sti   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Stv.AgML.RC.dau200.y2008  RC.y2008.notof Stv AgML   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StvCA.RC.dau200.y2008  RC.y2008.notof StvCA   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StvCA.RC.pp200.y2008  RC.pp.y2008.Minuit StvCA   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Stv.RC.dau200.y2008  RC.y2008.notof Stv   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_Stv.RC.pp200.y2008  RC.pp.y2008.Minuit Stv   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Sti.AgML.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_StiCA.RC.pp200.y2009  RC.pp.y2009.VFPP StiCA   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_StiCA.RC.pp500.y2009  RC.pp.y2009.VFPP StiCA   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Sti.RC.pp200.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_Sti.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Stv.AgML.RC.pp500.y2009  RC.pp.y2009 Stv AgML   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_StvCA.RC.pp200.y2009  RC.pp.y2009 StvCA   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_StvCA.RC.pp500.y2009  RC.pp.y2009 StvCA   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Stv.RC.pp200.y2009  RC.pp.y2009 Stv   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_Stv.RC.pp500.y2009  RC.pp.y2009 Stv   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Sti.AgML.RC.auau200.y2010  RC.y2010.notof AgML Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Sti.AgML.RC.auau39.y2010  RC.y2010.notof AgML Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StiCA.RC.auau11.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_StiCA.RC.auau200.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_StiCA.RC.auau39.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StiCA.RC.auau62.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Sti.RC.auau11.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_Sti.RC.auau200.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Sti.RC.auau39.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_Sti.RC.auau62.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Stv.AgML.RC.auau200.y2010  RC.y2010.notof Stv AgML   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Stv.AgML.RC.auau39.y2010  RC.y2010.notof Stv AgML   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StvCA.RC.auau11.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_StvCA.RC.auau200.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_StvCA.RC.auau39.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StvCA.RC.auau62.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Stv.RC.auau11.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_Stv.RC.auau200.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Stv.RC.auau39.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_Stv.RC.auau62.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Sti.AgML.RC.auau200.y2011  RC.y2011 AgML Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Sti.AgML.RC.auau20.y2011  RC.y2011 AgML Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Sti.AgML.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_StiCA.RC.auau200.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_StiCA.RC.auau20.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StiCA.RC.auau27.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_StiCA.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat StiCA   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Sti.RC.auau200.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Sti.RC.auau20.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Sti.RC.auau27.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_Sti.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Stv.AgML.RC.auau200.y2011  RC.y2011 Stv AgML   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Stv.AgML.RC.auau20.y2011  RC.y2011 Stv AgML   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StvCA.RC.auau200.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_StvCA.RC.auau20.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StvCA.RC.auau27.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_StvCA.RC.pp500.y2011  RC.pp.y2011 pmdReco mtdDat StvCA   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Stv.RC.auau200.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Stv.RC.auau20.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Stv.RC.auau27.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_Stv.RC.pp500.y2011  RC.pp.y2011 pmdReco mtdDat Stv   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Sti.AgML.RC.pp200.y2012  RC.pp.y2012 AgML Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.AgML.RC.pp500.y2012  RC.pp.y2012 AgML Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Sti.AgML.RC.UU193.y2012  RC.y2012 AgML Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_StiCA.RC.pp200.y2012  RC.pp.y2012 StiCA   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.RC.pp200.y2012  RC.pp.y2012 Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.RC.pp500.y2012  RC.pp.y2012 Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Sti.RC.UU193.y2012  RC.y2012 Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_Stv.AgML.RC.cuAu200.y2012  RC.y2012b.notof Stv AgML   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_Stv.AgML.RC.pp200.y2012  RC.pp.y2012.notofMin Stv AgML   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Stv.AgML.RC.pp500.y2012  RC.pp.y2012.notofMin Stv AgML   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Stv.AgML.RC.UU193.y2012  RC.y2012b.notof Stv AgML   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_StvCA.RC.cuAu200.y2012  RC.y2012b.notof StvCA   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_StvCA.RC.pp200.y2012  RC.pp.y2012.notofMin StvCA   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_StvCA.RC.pp500.y2012  RC.pp.y2012.notofMin StvCA   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_StvCA.RC.UU193.y2012  RC.y2012b.notof StvCA   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_Stv.RC.cuAu200.y2012  RC.y2012b.notof Stv   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_Stv.RC.pp200.y2012  RC.pp.y2012.notofMin Stv   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Stv.RC.pp500.y2012  RC.pp.y2012.notofMin Stv   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Stv.RC.UU193.y2012  RC.y2012b.notof Stv   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    doEvents  in StEvent analysis NoDb    
    MakeMuDst  in StEvent CMuDST Tree nodefault NoHistos ReadAll   StEvent => MuDst
    drawDst  in ry1h globT SCL geant display NoDb TbUtil    
    Cdst  ITTF event analysis EventQA    
    C1default  rich l0 Cdst tags Tree EvOut NoHits   Year 1 chain
    C2default  rich l0 Cdst tags Tree EvOut ftpc svt emcY2   Year 2 chain
    C3default  l0 Cdst tags Tree EvOut NoHits ftpc svt bbcsim emcY2   Year 3 simu base chain
    CAdefault  l0 Cdst tags Tree EvOut NoHits ftpc svt emcY2   Assymptotic chain
    Cy1a  y1a C1default   Turn on chain y1a
    Cy1b  y1b C1default   Turn on chain y1b
    Cy1s  y1s C1default   Turn on chain y1s
    Cy1d  y1d C1default   Turn on chain y1d
    cy1e  y1e C1default   Turn on chain y1h
    cy1h  y1h C1default   Turn on chain y1e
    Cy2a  y2a CAdefault   Turn on chain y2a
    Cy2b  y2b C2default   Turn on chain y2b
    C2000  y2000 C1default   Turn on chain Y2000
    C2001  y2001 C2default   Turn on chain Y2001
    C2003  y2003 C3default   Turn on chain Y2003
    C2003X  y2003X C3default   Turn on chain Y2003X (full B/E EMC)
    mdc3  cy1h GeantOut   MDC3 default chain
    MDC4  C2001 trs tpc_daq Simu srs fss rrs big GeantOut   Turn on chain for MDC4
    MDC4New  y2001n C2default trs tpc_daq Simu srs fss rrs big GeantOut   Turn on chain for MDC4 (for after September)
    PostMDC4  C2001 trs tpc_daq Simu sss fss rrs big GeantOut   Turn on Post MDC4 chain
    ppMDC4  ppOpt C2001 mwc trs tpc_daq Simu srs rrs big GeantOut   Turn on chain for ppMDC
    dAuMDC  ppOpt C2003 trs tpc_daq Simu srs fss big GeantOut   Chain for d+Au
    dAuMDCa  ppOpt C2003 trs tpc_daq Simu srs fss big GeantOut est   Chain for d+Au
    CComplete  Complete C2default   Turn on chain for Complete STAR
    SvtD  SvtCalDb SvtSeqAdj SvtClu SvtCluAnal SvtHit   SVT chain for Data
    P00h  ry1h in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout ExB NoHits   Production chain for summer 2000 data
    P2000  ry2000 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout ExB NoHits   Production chain for summer 2000 data
    B2000  ry2000 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout NosvtIT NossdIT   Base chain for 2001 (tpc+rhic)
    P2000a  B2000 Corr1   Production chain for summer 2000 data
    B2001  ry2001 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout svtDb   Base chain for 2001 (tpc+rhic)
    P2001  B2001 l3onl tofDat Corr2 OSpaceZ   Production chain for summer 2001 data (+ l3 tof)
    P2001a  B2001 svt_daq SvtD ftpc l3onl tofDat emcDY2 Corr2 OSpaceZ   Production chain for summer 2001 data (+ ftpc svt l3 tof emc)
    pp2001  ppOpt B2001 -PreVtx l3onl tofDat emcDY2 Corr2   pp 2001 (+ l3 tof emc)
    pp2001a  pp2001 svt_daq SvtD ftpc   pp 2001 (+ ftpc svt l3 tof emc)
    B2003  ry2003 in tpc_daq tpc Physics Cdst Kalman tags Tree evout svtDb   Base chain for 2003 (tpc)
    dau2003  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc   Production chain for winter 2003 data (+ tof svt (no est) ftpc emc)
    dau2003a  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data (+ tof svt (no est) ftpc emc trgd)
    pp2003  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for Spring 2003 data (+ tof svt (no est) ftpc emc trgd)
    Idst  event compend EventQA   Turn on DST for ITTF
    IAna  dEdxY2 Kink2 xi2 CMuDst analysis   Turn on Xi Kink dEdx and MuDst
    BAna  dEdxY2 CMuDst analysis   Turn on dEdx and MuDst
    B2003I  ry2003 in TpxRaw TpxClu Idst l0 tags Tree evout svtDb   Base chain for 2003 ITTF
    dau2003i  B2003I IAna CtbMatchVtx Corr2 ppOpt l3onl tofDat emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data dau2003a with ITTF
    pp2003i  B2003I IAna CtbMatchVtx Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data dau2003a with ITTF
    B2004  ry2004 in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2004 ITTF (tpc+svt)
    P2004  B2004 IAna fcf VFMinuit ToF emcDY2 ftpc trgd ZDCvtx svtIT Corr4 OSpaceZ2   Production chain for 2003/2004 data (+ l3 tof ftpc e/b-emc trgd)
    pp2004  B2004 IAna fcf ppOpt VFppLMV5 CtbMatchVtx ToF emcDY2 ftpc trgd ZDCvtx svtIT Corr4 OSpaceZ2   Production chain for 2003/2004 data (+ l3 tof ftpc e/b-emc trgd)
    B2005  ry2005b in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF (tpc+svt)
    B2005a  ry2005b in tpc_daq tpcI Physics Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2005 ITTF (tpc only)
    B2005b  ry2005f in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF Geo f (tpc+svt only)
    B2005c  ry2005g in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF Geo g (tpc+svt only + dead material)
    P2005  B2005 IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    P2005b  B2005b IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    P2005c  B2005c IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    pp2005  B2005 IAna fcf ppOpt VFppLMV5 CtbMatchVtx emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2005a  B2005a IAna fcf ppOpt VFPPV beamline CtbMatchVtx emcDY2 ftpc trgd ZDCvtx Corr4   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2005b  B2005b IAna fcf ppOpt VFPPV beamline CtbMatchVtx emcDY2 ftpc trgd ZDCvtx Corr4   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    B2006  ry2005d in tpc_daq tpcI svt_daq SvtD Idst tags Tree evout ssdDb   Base chain for 2006 ITTF (tpc+svt)
    B2006a  ry2005d in tpc_daq tpcI Idst tags Tree evout svtDb ssdDb   Base chain for 2006 with 2005d geom ITTF (tpc only)
    B2006b  ry2006 in tpc_daq tpcI Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2006 ITTF (tpc only)
    B2006g  ry2006g in tpc_daq tpcI Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2006 ITTF geo g (tpc only)
    pp2006a  B2006a IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr3   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2006b  B2006b IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr4 BeamBack   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2006g  B2006g IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr4 BeamBack   Production chain for 2005 pp data geo g (+ l3 tof ftpc e/b-emc trgd)
    T2007  ry2007g MakeEvent in tpc_daq tpcI fcf Tree evout   TPC only chain 2007 ITTF
    B2007  ry2007 MakeEvent in tpc_daq tpcI fcf svt_daq SvtD ssddat sptd Idst tags Tree evout   Base chain for 2007 ITTF (tpc+svt+ssd)
    B2007g  ry2007g MakeEvent in tpc_daq tpcI fcf svt_daq SvtD ssddat sptd Idst tags Tree evout   Base chain for 2007 ITTF geo g (tpc+svt+ssd)
    P2007  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr5   Production chain for 2007 data (+ l3 tof ftpc e/b-emc trgd)
    P2007g  B2007g IAna KeepSvtHit hitfilt VFMinuit2 emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr5   Production chain for 2007 data revised 2008 (+ l3 tof ftpc e/b-emc trgd)
    P2007a  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr3   Production chain for 2007 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2007b  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr4   Production chain for 2007 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    B2008  ry2008 in tpc_daq tpcI fcf Idst tags Tree evout   Base chain for 2008 ITTF (tpc)
    B2008a  ry2008 in tpcX ToFx tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2008 ITTF (tpc+tof)
    P2008a  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr3 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008b  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    pp2008a  B2008 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008c  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data (+ l3 tof ftpc e/b-emc trgd)
    pp2008c  B2008 IAna hitfilt ppOpt Minuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    pp2008  B2008a IAna hitfilt ppOpt VFPPV emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008  B2008a IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data (+ l3 tof ftpc e/b-emc trgd)
    B2009.1  ry2009 in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    B2009.2  ry2009a in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    B2009.3  ry2009d in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    pp2009a  B2009.1 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr (+ l3 ftpc e/b-emc trgd)
    pp2009b  B2009.1 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr (+ l3 ftpc e/b-emc no trigger)
    pp2009c  B2009.2 BAna hitfilt ppOpt emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr no VF (+l3 ftpc e/b-emc trig)
    pp2009d  B2009.3 BAna hitfilt ppOpt emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr no VF (+l3 ftpc e/b-emc trig)
    B2010  ry2010 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2010 ITTF (tpc)
    B2010c  ry2010c in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2010 ITTF (tpc)
    P2010a  B2010 BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc)
    pp2010a  B2010 BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc no VF)
    P2010c  B2010c BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc)
    pp2010c  B2010c BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc no VF)
    B2011  ry2011 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2011 ITTF (tpc)
    P2011a  B2011 BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 ftpc e/b-emc)
    pp2011a  B2011 BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 ftpc e/b-emc no VF)
    B2012  ry2012 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2012 ITTF (tpc)
    pp2012a  B2012 BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2012 data - no Corr (+ l3 e/b-emc no VF)
    P2012a  B2012 BAna hitfilt VFMinuit emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 e/b-emc)
    B2012b  ry2012a in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2012 ITTF (tpc)
    pp2012b  B2012b BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2012 data - no Corr (+ l3 e/b-emc no VF)
    P2012b  B2012b BAna hitfilt VFMinuit emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 e/b-emc)
    B2013  B2013_c2   Alias for B2013 Configuration 2
    B2013x  ry2013_1x B2013   Base chain for 2013 ITTF (tpc)
    pp2013x  B2013x BAna emcDY2 trgd ZDCvtx   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    B2013  B2013_c2   Alias for B2013 Configuration 2
    B2013_c2  ry2013_2c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2013 ITTF (tpc)
    B2013_c1  ry2013_1c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2013 ITTF (tpc)
    pp2013a  B2013_c2 ITTF UseXgeom BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    pp2013b  B2013_c1 ITTF UseXgeom BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    pp2013  BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    B2014  ry2014 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2014 ITTF (tpc)
    B2014a  ry2014a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2014a ITTF (tpc)
    P2014  B2014 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for 2014 data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2014a  B2014a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2014 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2015  ry2015 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2015 ITTF (tpc)
    B2015a  ry2015a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015a data
    B2015b  ry2015b in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015 with y2015b geometry
    B2015c  ry2015c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015 with y2015c geometry
    pp2015  B2015 ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2015 data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015a  B2015a ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015a data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015b  B2015b ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015b data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015c  B2015c ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015c data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015  B2015 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2015 data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015a  B2015a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015a data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015b  B2015b ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015b data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015c  B2015c ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015c data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2016  ry2016 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2016 ITTF (tpc)
    P2016  B2016 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2016 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2016a  ry2016a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Production chain for 2016 data (tpc)
    P2016a  B2016a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2016 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2017  ry2017 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2017 data (tpc)
    pp2017  B2017 Sti UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx analysis   Base chain for year 2017 pp data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2017  B2017 Sti UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx analysis   Base chain for year 2017 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2017a  ry2017a in tpcX CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Production chain for run 2017 data (tpc)
    pp2017a  B2017a ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline3D l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for year 2017 pp data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2017a  B2017a ITTF UseXgeom BAna hitfilt VFMinuit beamline3D l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for year 2017 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2018a  ry2018a in tpcX CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Base chain for run 2018 data (tpc)
    P2018a  B2018a ITTF UseXgeom BAna hitfilt VFMinuit beamline3D l3onl emcDY2 epdHit fpd trgd ZDCvtx analysis   Base chain for year 2018 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2019a  ry2019a in tpcX UseXgeom iTpcIT CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Base chain for run 2019 data (tpc)
    P2019a  B2019a ITTF BAna iTpcIT hitfilt VFMinuit beamline3D etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2019 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2020a  ry2020a in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2020 data (tpc)
    P2020a  B2020a ITTF BAna iTpcIT hitfilt VFMinuit etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2020 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2021a  ry2021a in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2020 data (tpc)
    P2021a  B2021a ITTF BAna iTpcIT hitfilt VFMinuit etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2020 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2022  ry2022 in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2022 data (tpc)
    pp2022  B2022 ITTF BAna hitfilt ppOpt ImpBToFt0Mode VFPPVnoCTB beamline3D l3onl etofa btof mtd emcDY2 FttDat fcs trgd ZDCvtx analysis   Production chain for year 2022 pp data - no Corr (+ l3 epd mtf b/etof fcs e/b-emc)
    LaserCal0  db detDb tpc_daq tpcDb tcl globT laser LaserTest   Laser Calibration Chain (tcl)
    LaserCal  db detDb tpc_daq tpcDb fcf globT laser LaserTest   Laser Calibration Chain
    L3Counter  db detDb in l3count   L3 Counter extraction pass
    VtxSeedCal  ppOpt ry2001 in tpc_daq tpc globT -Tree Physics -PreVtx FindVtxSeed NoEvent Corr2   Pass0 Vertex evaluator
    SpcChgCal  B2004 fcf Corr3 OSpaceZ2 OShortR SCEbyE -Tree -tags -EvOut -EventQA   Pass0 SpaceCharge evaluator
    SpcChgCalG  MuDST fcf Corr4 OSpaceZ2 OGridLeak3D SCEbyE -Tree -tags -EvOut -EventQA   Pass0 SpaceCharge evaluator with GridLeak no geo or tracker dependence
    VtxSeedCalG  MuDST fcf Corr4 FindEvtVtxSeed -Tree -tags -EvOut -EventQA   Pass0 Vertex evaluator
    OPTIONS
    ITTF      request to use one of Sti(default) StiCA Stv StvCA ... trackers
    NoHits      Don\'t write hits into Event.Branch
    Kalman      WARNING *** Option is OBSOLETE ***
    Eval      Turn on evaluation switch for different makers
    Ev03      Turn on alternative V0 method
    off      Turn off default chain
    clearDAQCTB      clear DAQ CTB Hits for embedding
    NoInput      No input file
    util     StAnalysisUtilitiesLoad StAnalysisUtilities
    StUtilities     StUtilitiesLoad StUtilities
    FieldOn  MagF   Constant nominal field
    FieldOff  MagF   No Field option
    HalfField  MagF   Half Field option
    ReverseField  MagF   Reverse Field option
    NoCintDb      Switch off all Cint Db
    NoStarCintDb      Switch off standard Cint Db
    NoLocalCintDb      Switch off local Cint Db
    NoMySQLDb      Switch off MySQL Db
    NoCintCalDb  NoLocalCintDb   Switch off local Cint Db
    dbSnapshot      Create?use dbSnapshot
    NoEvent  -event -analysis   Switch Off StEvent and StAnalysis Makers
    MakeDoc      Make HTML documentation for the given Chain
    Debug      Set debug flag = 1
    Debug1      Set debug flag = 1
    Debug2      Set debug flag = 2
    IdTruth      Enable IdTruth association in StAssociationMaker
    OldMiniMc      Keep pre-2008 convention for MiniMc
    useInTracker      switch from EGR to ITTF global tracks in StAssociationMaker
    noRepeat      No repeat in Messenger
    noHistos      Disables Attributes histos
    noRunco      Disables Attributes runco
    Higz      Pop Higz window
    big      Set NwGEANT =20Mwords
    bigbig      Set NwGEANT =40Mwords
    huge      Set NwGEANT =80Mwords
    clearmem      Obsolete
    adcOnly      DAQMaker selects only TPC ADC events
    InTree  in   bfcTree Input Tree name
    OutTree  Tree   bfcTree Output Tree name
    DstOut      WARNING *** Option is OBSOLETE ***
    McEvOut  StMcEvent Tree   Write StMcEvent to StTree
    EvOut  Tree   Write StEvent to StTree
    GeantOut  Tree   Write g2t tables to StTree
    Simu      Simulated Data force to use Db time stamp from used geometry
    HitsBranch      take out points from dst branch and put them into HitsBranch
    paw      Allocate memory for pawc
    AllEvent  Tree   Write whole event to StTree
    AllTables     St_TablesLoad Star Tables
    FXT  btofFXT   enable anything FXT-specific
    btofFXT      enable FXT mode for btof
    Corr1  AlignSectors ExB OBmap OClock OPr13   ... AlignSectors ExB OBmap OClock OPr13 ...
    Corr2  Corr1 OTwist OIFC   ...Corr1+OTwist OIFC ...
    Corr3  AlignSectors ExB OBmap2D OClock OPr13 OTwist OIFC   ... AlignSectors ExB OBmap2D OClock OPr13 OTwist OIFC ...
    Corr4  Corr3 OShortR   ... Corr3+OShortR...
    Corr5  Corr4 SCEbyE OGridLeak3D OSpaceZ2   ... Corr4+SCEbyE OGridLeak3D OSpaceZ2...
    CorrX  ExB OShortR OBmap OPr13 OIFC OSectorAlign NewTpcAlignment -AlignSectors -OBmap2D -OClock -OTwist  
    CorrY  ExB OShortR OBmap OPr40 OIFC OSectorAlign NewTpcAlignment OSpaceZ2 OGridLeakFull -AlignSectors -OBmap2D -OClock -OTwist  
    ExB      Activate ExB correction
    EB1      Force ExB configuration 1
    EB2      Force ExB configuration 2
    OBmap      ExB shape correction
    OBmap2D      ExB 2 D shape correction
    OTwist      ExB twist correction
    OClock      Clock/tpc rot. correction
    OPr13      PadRow 13 distortion
    OPr40      PadRow 40 distortion
    OCentm      Central membrane correction
    OECap      EndCap (curved) correction
    OIFC      Field Cage correction
    OSpaceZ      Space Charge corrections
    OSpaceZ2      Space Charge corrections R2
    OShortR      Shorted Ring correction
    OGridLeak      Grid Leak correction
    OGridLeak3D      3D Grid Leak correction
    OGridLeakFull      Full Grid Leak correction
    OGGVoltErr      GG voltage error correction
    OSectorAlign      Sector alignment distortion correction
    ODistoSmear      Distortion smearing accounting for calibration resolutions
    OAbortGap      Abort gap cleaning event distortion correction
    AlignSectors      WARNING *** Option is OBSOLETE ***
    EbyET0      Event-by-event T0 corrections
    DbRichSca  detdb   Force reading of Rich scalers from DB
    EastOff      Disactivate East part of tpc
    WestOff      Disactivate West part of tpc
    AllOn      Activate both East and West parts of tpc
    ReadAll      Activate all branches to read
    pp      WARNING *** Option is OBSOLETE ***
    ppOpt  TrsPileUp   pp option without enabling special cases
    TrsPileUp      Trs pile up mode
    TrsToF      Trs account for particle time of flight
    SvtMatchVtx      WARNING *** Option is OBSOLETE ***
    VtxOffSet      Account Primary Vertex offset from y2000 data
    Calibration      Calibration mode
    beamLine      LMV Beam line constrain
    beamLine3D      Use beamline in 3D vertex fit
    min2trkVtx      ...only 2 tracks needed for vertex finding
    hitreuseon      ...do re-use hits for other tracks in Sti
    usePct4Vtx      Use Post-Crossing Tracks for vertex finding
    useBTOF4Vtx      Use BTOF track matching for vertex ranking
    useBTOFmatchOnly  useBTOF4Vtx   Use BTOF track matching only
    svt1hit      Use 1 SVT hit only combination
    onlcl      Read/use TPC DAQ100 clusters
    onlraw      Read/use TPC raw hits
    ezTree      Create ezTree branch
    BEmcDebug      Turn OFF B-EMC hit reconstruction cuts
    BEmcChkStat      Turn ON status checking in raw data
    useLDV      ... uses laserDV database flavor
    useCDV      ... uses ofl database flavor
    useNewLDV      ... uses ofl database flavor
    tables  StDbT ebyeT emc_T ftpcT gen_T geomT globT l3_T sim_T svt_T tpc_T    
    tables  StDbT ebyeT emc_T ftpcT gen_T geomT globT l3_T sim_T svt_T tpc_T    
    StDbT     StDb_TablesLoad StDb_Tables
    ctf_T     ctf_TablesLoad ctf_Tables
    ebyeT     ebye_TablesLoad ebye_Tables
    emc_T     emc_TablesLoad emc_Tables
    ftpcT     ftpc_TablesLoad ftpc_Tables
    gen_T     gen_TablesLoad gen_Tables
    geomT     geometry_TablesLoad geometry_Tables
    globT     global_TablesLoad global_Tables
    l3_T     l3_TablesLoad l3_Tables
    mwc_T      WARNING *** Option is OBSOLETE ***
    sim_T     sim_TablesLoad sim_Tables
    svt_T     svt_TablesLoad svt_Tables
    tpc_T      WARNING *** Option is OBSOLETE ***
    trg_T      WARNING *** Option is OBSOLETE ***
    vpd_T      WARNING *** Option is OBSOLETE ***
    Embedding  -Simu   Embedding run
    Utilities
    Geometry+Mag
    pgf77     pgf77VMCFortran
    rootcern  geant3   ROOT minicern OBSOLETE
    StarMiniCern  geant3   STAR addition to minicern OBSOLETE
    mysql     libmysqlclientMySQL
    libPhysics     libPhysicsTVector
    geant3vmc  -usexgeom -xgeometry  libGeom libVMC libgeant3VMC geant3
    geant3  geant3vmc  EG Pythia6 EGPythia6VMC geant3 plus ROOT EG pythia6
    geometry     geometrygeometry+Mag.Field
    StarMagField  magF  VMC StarMagFieldLoad StarMagField
    geomNoField  -geometry StarMagField  geometryNoFieldgeometry-Mag.Field
    xgeometry  -geometry -geomNoField  xgeometryAgML geometry-Mag.Field
    UseProjectedVertex      Run StBTofCalibMaker w/wo Primary Vertex
    ImpBToFt0Mode      pppAMode in StVpdCalibMaker and StBTofCalibMaker
    setOutlierRej4BToft0      setPPPAOutlierRej is set in StBTofCalibMaker
    vpd      WARNING *** Option is OBSOLETE ***
    tls      WARNING *** Option is OBSOLETE ***
    rts     RTSload libRTS
    daq  rts  StDaqLib StDAQMakerLoad StDAQMaker
    SCL     StarClassLibraryLoad StarClassLibrary
    SvtCL     Geom StSvtClassLibrary 
    TbUtil  sim_T tpc_t globT SCL  StTableUtilitiesLoad StTableUtilities
    TofUtil     StTofUtilLoad StTofUtil
    BTofUtil     StBTofUtilLoad StBTofUtil
    ETofUtil     StETofUtilLoad StETofUtil
    MtdUtil     StMtdUtilLoad StMtdUtil
    StBichsel     StBichselLoad Bichsel model for dE/dx
    StEvent  globT SCL TRGDef StBichsel EmcUtil TbUtil detDb  StEventLoad StEvent
    PxlUtil     StPxlUtilLoad StPxlUtil
    IstUtil     StIstUtilLoad StIstUtil
    SsdUtil  StarMagField StEvent  Geom StSsdUtilLoad SSD Util
    SstUtil  StarMagField StEvent  Geom StSstUtilLoad SST Util
    EmcUtil  emc_T geomT StDbT  StEmcUtilLoad StEmcUtil
    EEmcUtil     StEEmcUtilLoad StEEmcUtil
    FmsUtil     StFmsUtil libMinuitLoad StFmsUtil
    FgtUtil     StFgtUtilLoad StFgtUtil
    GmtUtil     StGmtUtilLoad StGmtUtil
    l3Util      WARNING *** Option is OBSOLETE ***
    PmdUtil     StPmdUtilLoad StPmdUtil
    QUtils  PmdUtil EmcUtil   Load QA Libs dependencies
    Stu     StEventUtilitiesLoad StEventUtilities
    MuDSTDeps  StEvent Stu StBichsel  StStrangeMuDstMaker TreeLoad MuDST misc. dependencies
    MuDST  MuDSTDeps EmcUtil TofUtil BTofUtil PmdUtil  StMuDSTMakerLoad MuDST library
    picoEvt  StEvent Stu  StPicoEventLoad picoEvent and dependencies
    picoDst  picoEvt EmcUtil TofUtil BTofUtil PmdUtil  StPicoDstMakerLoad PicoDST library
    geantL  geomT gen_T sim_T StarMagField  geometry Geom St_db_Maker St_g2t St_geant_MakerLoad GeantLibs
    gstarLib     gstarLoad gstar lib
    flux  simu  fluxLoad flux lib
    Generators
    stargen  gen_T sim_T  libVMC.so libStarGeneratorUtil.so libStarGeneratorEvent.so libStarGeneratorBase.so libStarGeneratorFilt.so libMathMore.soSTAR Generator BASE
    pythia8.1.86  stargen  Pythia8_1_86.soLoad Pythia 8.1.86 generator
    pythia8.2.35  stargen  Pythia8_2_35.soLoad Pythia 8.1.86 generator
    hijing1.383  stargen  Hijing1_383.soLoad Hijing 1.383 generator
    kinematics  stargen  Kinematics.soLoad STAR Particle Gun
    genreader  stargen  StarGenEventReader.soLoad STAR Gen Event Reader
    I/O Makers
    gstargeant -fzin -ntin -geant Simu geantL St_geant_Maker gstar for 80 muon tracks with pT = 1GeV in |eta|<4
    pythiageant -gstar -fzin -ntin -geant geantL St_geant_MakerPythia6_4_26 bpythiaLoad Pythia in starsim set pp 510 GeV
    Wenu  pythia   set pp 510 GeV -> W+/- -> e+/- nu/nubar
    hijinggeant -gstar -fzin -ntin -geant geantL St_geant_MakerStarGeneratorUtil StarGeneratorEvent StarGeneratorBase Hijing1_383Load Hijing in starsim set AuAu200 GeV
    tdaq      WARNING *** Option is OBSOLETE ***
    miniDAQ      WARNING *** Option is OBSOLETE ***
    fzingeant Simu -gstar -ntin -geant geantL St_geant_Maker read gstar fz-file
    UseXgeom  -geometry -geomNoField xgeometry   suppress mortran version of geometry
    in    StIOMakerStIOMakerRead [DAQ|ROOT] input file
    Db makers
    dbdb StDbT St_db_MakerStDbLib StDbBroker St_db_Maker 
    magFMagField StDbT db detDb StMagFMakerStarMagField StMagFMag.field map with scale factor from Db
    detDbdetDb db StDetectorDbMakerStDetectorDbMakerLoad StDetectorDbMaker library
    mtingeant -fzin -geant -gstar geantL gstarLib -magF St_geant_Makergstarread event from MuDst
    tpcDBtpcDB tpc_T dbutil detDb StarMagField magF StEvent StTpcDbMakerStTpcDb 
    dbutil  detDb StDbT  StDbUtilitiesLoad StDbUtilities
    svtDbsvtDb tpcDb SvtCL StSvtDbMakerStSvtDbMakerLoad and run SvtDbMaker
    ssdDbssdDb tpcDb SsdUtil StSsdDbMakerStSsdDbMakerLoad and run SsdDbMaker
    sstDbsstDb tpcDb SstUtil StSstDbMakerStSsdDbMakerLoad and run SstDbMaker
    svtCalDb  svtDb   Declare Calibrations/svt as while list member
    ssdCalDb  ssdDb   Declare Calibrations/ssd as while list member
    sstCalDb  sstDb   Declare Calibrations/sst as while list member
    eemcDbeeDb db EEmcUtil StEEmcDbMakerStEEmcDbMakerLoad EEmcDbMaker
    fmsDbfmsDb db fmsutil StFmsDbMakerStFmsDbMakerLoad FmsDbMaker
    fcsDbfcsDbMkr   StFcsDbMakerStFcsDbMakerLoad FcsDbMaker
    fttDbfttDbMkr   StFttDbMakerStFttDbMakerLoad FttDbMaker
    fgtDbfgtDb db fgtutil StFgtDbMakerStFgtDbMakerLoad FgtDbMaker
    pxlDbpxlDb tpcDb PxlUtil StPxlDbMakerStPxlDbMakerLoad PxlDbMaker
    istDbistDb tpcDb StIstDbMakerStIstDbMakerLoad IstDbMaker
    fstDbfstDb tpcDb StFstDbMakerStFstDbMakerLoad FstDbMaker
    epdDbepdDb tpcDb StEpdDbMakerStEpdDbMakerLoad EpdDbMaker
    MAKERS
    ntingeant paw -fzin -geant -gstar Simu geantL gstarLib St_geant_Maker read event generated Hbook nt-file
    PrepEmbed  geantEmb StPrepEmbedMakerSt_geant_MakerPrepare kinematics for embedding
    PythiaEmbed  pythia -Simu   Prepare kinematics for embedding
    geantgeant geantL St_geant_Maker passive GEANT
    geantEmbgeant geantL St_geant_Maker GEANT embedding mode
    RootVMC  -geant -fzin -ntin StarMagField -geantL -geometry -geomNoField geant3    
    VMCAppl  geomT gen_t sim_T tpcDB RootVMC  StSvtDbMaker StSsdDbMaker StarVMCApplicationVMC G3
    VMCgeant Simu VMCAppl -geant StVMCMakerStVMCMakerVMC Maker
    VMCPassivegeant VMCAppl StVMCMakerStVMCMakerVMC Maker in Passive Mode
    trgtrgl0Chaintrg_T globT db St_trg_MakerSt_trg St_trg_Makertrigger analysis for Year 2001-2005 data
    TRGDef     StTriggerDataMakerLoad StTriggerData
    trgdtrgd TRGDef StTriggerDataMakerStTriggerDataMakerGet trigger data
    MakeEvent0Event StEvent detDb StEventMakerStTpcDb StEventMaker
    LaserAvEv    StLaserAvEventMakerStLaserAvEventMakerHejrad
    LaserAvCl    StLaserAvClusterMakerStLaserAvClusterMaker 
    l0l0Chain globT ctf trg StMakerStChain 
    ctfctfl0Chainctf_T db St_ctf_Makerctf St_ctf St_ctf_MakerToF simulation
    mwc      WARNING *** Option is OBSOLETE ***
    ppMCTrig      WARNING *** Option is OBSOLETE ***
    pp2pp    St_pp2pp_MakerSt_pp2pp_Makerpp->pp
    mtdFilt    StMtdEvtFilterApplyMakerStDataFilterMakerMTD-based event filtering
    mtdMtdChain mtdDat mtdMatch StMakerStChainMTD Chain
    mtdDatmtd_rawMtdChaindb MuDst StMtdHitMakerStEvent StMtdHitMakerMTD hit maker
    mtdTrkMask  db StMtdTrackingMaskMakerStMtdEvtFilterMakerMTD track masking
    epdHit  epdDb event StEpdHitMakerStEpdHitMakerEPD hit maker
    tpc  TpxRaw TpxClu tpcI   WARNING *** Option is OBSOLETE *** use TpxClu instead
    tpcItpcChain db tpcDB TpcHitMover StMakerStChaintpc with ITTF
    tpcXtpcChain -tpcI tpx MakeEvent StMakerStChaintpc+tpcx with ITTF
    TrsTrstpcChainscl tpcDB TrsToF StEvent EmbeddingShortCut StTrsMakerStTrsMaker 
    TpcRS tpcChainscl tpcDB -Trs -EmbeddingShortCut Stu StTpcRSMakerlibMathMore StdEdxY2Maker StTpcRSMakerNew Tpc Response Simulator
    tfs  TpcFastSim   WARNING *** Option is OBSOLETE *** use TpcFastSim instead
    TpcFastSimtpc_hitstpcChainMakeEvent Simu -trs -TpcRS -tcl -tpxclu -fcf -tpc_daq StEvent -TpcHitMover EmbeddingShortCut StTpcFastSimMakerSt_tcl_Makeruse tfs (no Trs or TpcRS)
    EmbeddingShortCut      Short Cut for StdEdxY2Maker and StTpcHitMover
    StMcEvent  gen_t sim_T  StMcEvent 
    McEvent  StEvent tpcDb EEmcUtil EmcUtil StMcEvent StMcEventMakerStMcEventMaker 
    Mixertpc_raw daq StMixerMakerStTrsMaker StMixerMaker 
    St_tpc      WARNING *** Option is OBSOLETE ***
    St_svt      WARNING *** Option is OBSOLETE ***
    tpc_daq  TpxRaw   WARNING *** Option is OBSOLETE *** use TpxRaw instead
    tcl  TpxRaw TpxClu MakeEvent   WARNING *** Option is OBSOLETE *** use option TpxRaw TpxClu MakeEvent instead
    fcf  -tcl tpcX   WARNING *** Option is OBSOLETE *** use tpcX instead
    tpxtpc_hitstpcChainMakeEvent tpc_T StEvent rts detDb StTpcHitMakerStTpcHitMakerTPC hit reader for tpc + tpx via EVP_READER
    gmtGmtChain gmtDat gmtClu StMakerStChainGmt data Chain
    gmtDat GmtChainevent StGmtRawMakerStGmtRawMakerGMT Data reader
    gmtClu GmtChaingmtutil StGmtClusterMakerStGmtClusterMakerGMT cluster maker
    TpxPulserTpxPulsertpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX pulser analysis
    TpxPadMonitor      WARNING *** Option is OBSOLETE ***
    TpxAvLaserTpxAvLasertpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX averaging laser events into Sparse histogram on pixels level
    TpxDumpPxls2NtTpxDumpPxls2NttpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX pixel dump to NTuple
    TpxRawTpxRawtpcChainrts detDb StEvent StTpcHitMakerStTpcHitMakerTPC+TPX convert DAQ Tpc Raw Data to TpcRawEvent used by TpcMixer and/or TpxClu
    TpcMixer tpcChainStEvent rts -Mixer -tpx TpxClu StTpcMixerMakerStTpcHitMaker 
    TpxClutpc_hitstpcChainrts tpcDb detDb -tpx -tpc_daq -fcf StTpcRTSHitMakerStTpcHitMakerRTS(online) cluster maker
    TpxClu2D  TpxClu   RTS(online) 2D-cluster maker
    TpcAvClusterTpcAvClustertpcChainrts detDb StTpcAvClusterMakerStTpcHitMakerTPC+TPX averaging laser events into Sparse histogram on cluster level
    Velo tpcChaintpc_T StVeloMakerStVeloMaker 
    TpcHitMovertpc_hit_movertpcChaintpcDb StEvent Stu StTpcHitMoverStTpcHitMoverMakerTPC hits coord transform + corrections
    tpt ITTF    WARNING *** Option is OBSOLETE *** use ITTF
    tpt_old ITTF    WARNING *** Option is OBSOLETE *** use ITTF
    TpcT0      WARNING *** Option is OBSOLETE ***
    ChargeStep      WARNING *** Option is OBSOLETE ***
    laser      WARNING *** Option is OBSOLETE ***
    PreVtx      WARNING *** Option is OBSOLETE ***
    svtsvtChain svt_T SvtCL StMakerStChain 
    svt_daqsvt_rawsvtChaindaq SvtCL StSvtDaqMakerStSvtDaqMaker 
    sss  SvtSlowSim   Short cut for SvtSlowSim
    SvtSlowSim  SvtSSim SvtOnlSeq   Short cut for SvtSlowSim and SvtOnlSeq
    SvtSSimSvtSSimusvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtSimulationMakerStSvtSimulationMaker StSvtCalibMaker 
    SvtEmbed  SvtSSim SvtEm SvtOnlSeq   Short cutfor SvtSlowSim and SvtOnlSeq
    SvtEmSvtEmsvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtEmbeddingMakerStSvtSimulationMaker StSvtCalibMaker 
    SvtOnlSeqSvtOnlSeqsvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtOnlineSeqAdjSimMakerStSvtSimulationMaker 
    srs  sfs   WARNING *** Option is OBSOLETE use sfs instead ***
    sfssvt_hitssvtChainsvtDb Simu SvtCL -sss -SvtSlowSim StEvent MakeEvent St_sfs_MakerSt_srs_MakerVery fast simulator for SVT
    SvtSeqAdjSvtSeqAdjsvtChainSvtCL StSvtSeqAdjMakerStSvtSeqAdjMaker 
    SvtCluSvtClusvtChainsvt_T StEvent SvtCL StSvtClusterMakerStSvtClusterMaker 
    SvtCluAnalSvtCluAnalsvtChainSvtCL StSvtClusterAnalysisMakerStSvtClusterMaker 
    SvtHitsvt_hitssvtChainSvtCL StSvtHitMakerStSvtClusterMaker 
    SvtVtx      WARNING *** Option is OBSOLETE ***
    stk      WARNING *** Option is OBSOLETE ***
    Est  SvtIT   WARNING *** Option is OBSOLETE *** use SvtIT instead
    global  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Match  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Vertex  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Primary  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    V0  V02   WARNING *** Option is OBSOLETE use V02 instead***
    Xi  Xi2   WARNING *** Option is OBSOLETE use Xi2 instead***
    Kink  Kink2   WARNING *** Option is OBSOLETE use Kink2 instead***
    dst      WARNING *** Option is OBSOLETE ***
    Fglobal      WARNING *** Option is OBSOLETE ***
    Fprimary      WARNING *** Option is OBSOLETE ***
    dEdx      WARNING *** Option is OBSOLETE ***
    svtdEdx      WARNING *** Option is OBSOLETE ***
    Event  MakeEvent   Request to initialize event
    pxlRaw  pxlDb StPxlRawHitMakerStPxlRawHitMakerPXL raw hit maker
    pxlFastSim  pxlRaw StMcEvent StEvent StPxlSimMakerStPxlSimMakerPXL Fast Simulator
    pxlSlowSim  pxlRaw StMcEvent StEvent StPxlSimMakerStPxlSimMakerPXL Slow Simulator
    pxlCluster  pxlRaw StPxlClusterMakerStPxlClusterMakerPXL cluster maker
    pxlHit  event pxlCluster StPxlHitMakerStPxlHitMakerPXL hit maker
    istSlowSim  StMcEvent StEvent IstUtil StIstSlowSimMakerStIstSimMakerIST Slow simulator
    istFastSim  StMcEvent StEvent StIstFastSimMakerStIstSimMakerIST Fast simulator
    istRawHit  istUtil istDb StIstRawHitMakerStIstRawHitMakerIST RAWhit maker
    istCluster  istRawHit StIstClusterMakerStIstClusterMakerIST Cluster maker
    istHit  event istCluster StIstHitMakerStIstHitMakerIST Hit Maker
    fstfstChain fstRawHit fstCluster fstHit StMakerStChainFST chain
    fstFastSim fstChainStMcEvent StEvent StFstFastSimMakerStFstSimMakerFST fast simulator
    fstRawHit fstChainfstUtil fstDb StFstRawHitMakerStFstRawHitMakerFST raw hit maker
    fstCluster fstChainfstRawHit StFstClusterMakerStFstClusterMakerFST Cluster maker
    fstHit fstChainevent fstCluster StFstHitMakerStFstHitMakerFST Hit Maker
    fstUtil     StFstUtilFst Utilities
    ssddat  ssd_daq   SSD full chain for Real Data
    sstdat  sst_daq   SST full chain for Real Data
    ssd_daq  ssdCalDb svt_T -sls -spa ssdUtil StSsdDaqMakerStSsdDaqMaker... SSD Daq
    sst_daq  sstCalDb svt_T -sls -spa sstUtil StSstDaqMakerStSstDaqMaker... SSDT Daq
    ssdfast  ssdDb StMcEvent StEvent StSsdFastSimMakerStSsdFastSimMaker... SSD fast simulator
    ssd  ssdCalDb sls spa sptd   SSD full chain for simulation
    sls  McEvent Simu svt_T SvtCL St_sls_MakerStSsdSimulationMaker... SSD slow simulator
    spaSpaStrip Simu svt_T SvtCL ssdUtil St_spa_MakerStSsdSimulationMaker... SSD Pedestal Annihilator
    SsdEmbed    StSsdEmbeddingMakerStSsdSimulationMaker... SSD Mixing geom Maker
    spt  sptd   Alias for sptd - please replace in chain
    sptd  ssdUtil svt_T StSsdPointMakerStSsdPointMaker... SSD Point Creator
    sptt  sstUtil StSstPointMakerStSstPointMaker... SST Point Creator
    sstHit  sst_daq sptt   SST reconstruction chain
    ssdpre  ssdEmbed spa   SSD full chain for pre-embedding
    ssdAdd  ssd_daq StSsdAddMakerStSsdAddMaker... SSD merge maker
    ssdE  ssdpre ssdAdd   SSD full chain for embedding
    ZDCVtx  db StZdcVertexMakerStZdcVertexMaker 
    emcDY2emcRaw daq eemcDb EEmcUtil emc_T EmcUtil StEvent PreEcl Epc StEmcRawMakerStEmcRawMakerB/E EMC data common maker
    eemcD      WARNING *** Option is OBSOLETE ***
    emcY2  emc_T tpc_T db emcSim PreEcl epc   EMC Chain for Y2A (must be before makers which include in this chain)
    emcSim  emc_T EmcUtil McEvent MuDST StEmcSimulatorMakerStEmcSimulatorMakerNew simulator for BEMC
    EEfseefs eemcDb EEmcUtil MuDst StEEmcFastMakerStEEmcSimulatorMakerEEMC fast simulator
    EEsseess -eefs eemcDb EEmcUtil MuDst StEEmcSlowMakerStEEmcSimulatorMakerEEMC slow simulator
    BEmcMixer    StEmcMixerMakerStEmcMixerMakerBEMC mixer
    emcAtoEbemcA2E db StEmcADCtoEMakerStEmcADCtoEMakerB-EMC ADC to E converter OBSOLETE for data in Run 9 or later
    PreEclpreecl   StPreEclMakerStPreEclMakerB-EMC Cluster finder
    Epcepc PreEcl EmcUtil StEpcMakerStEpcMakerB-EMC point maker
    EEmcMixer    StEEmcMixerMakerStEEmcSimulatorMakerEEMC mixer
    eemcA2EeemcA2E db StEEmcA2EMakerStEEmcA2EMakerE-EMC ADC to E converter
    eemCleemCl db StEEmcClusterMakerStEEmcClusterMakerE-EMC clustering
    btofBTofChain btofDat vpdCalib btofMatch btofCalib StMakerStChainBTOF Chain
    BtofDattof_rawBTofChaindb BTofutil StBTofHitMakerStEvent StBTofHitMakerBTOF hit maker
    vpdSim VpdChainBTofUtil StVpdSimMakerStEvent StMcEvent StBTofHitMaker StVpdSimMakerVpd Simulator
    vpdCalib BTofChaindb BTofUtil StVpdCalibMakerStVpdCalibMakerVPD calibration
    btofSim BTofChainBTofUtil StBTofSimMakerStEvent StMcEvent StTofUtil StBTofHitMaker StBTofSimMakerBTOF Simulator
    btofMixer BTofChainBTofUtil StBTofMixerMakerStEvent StBTofHitMaker StBTofMixerMakerBTof Mixer
    ETofDatetof_rawETofChaindb ETofUtil StETofDigiMakerStEvent StETofDigiMakerETOF digi maker
    ETofCalib ETofChaindb ETofUtil muDst StETofCalibMakerStETofCalibMakerETOF calibration
    ETofSim ETofChain  StETofSimMakerStETofSimMakerETOF simulator
    mtdSim MtdChain  StMtdSimMakerStEvent StMtdSimMakerMTD Simulator
    ToFTofChain tofDat tofrMatch tofpMatch tofCalib geant StMakerStChainToF Chain
    ToFxTofChain tofXDat tofrMatch tofCalib geant StMakerStChainToFx Chain
    tofDattof_rawTofChaindb Tofutil StTofMakerStEvent StTofMakerTOF Data base chain
    tofXDattof_rawTofChaindb Tofutil StTofHitMakerStEvent StTofMaker StTofHitMakerTOF hit maker
    tofsim TofChainTofUtil StTofSimMakerStEvent StTofMaker StTofSimMakerTOF Simulator Tof version before y2009
    tofrMatch TofChaindb TofUtil StTofrMatchMakerStTofrMatchMakerTPC to TOFr track matching
    tofpMatch TofChaindb TofUtil StTofpMatchMakerStTofpMatchMakerTPC to TOFp track matching
    tofCalib TofChaindb TofUtil StTofCalibMakerStTofCalibMakerTOF calibration
    FiltGamma  StEvent StMcEvent EmcUtil StGammaFilterMakerStFilterMakerBEmc Gamma filtering
    FiltEemcGamma  StEvent StMcEvent EmcUtil StEemcGammaFilterMakerStFilterMakerEEmc Gamma filtering
    rich      WARNING *** Option is OBSOLETE ***
    Rrs      WARNING *** Option is OBSOLETE ***
    rch      WARNING *** Option is OBSOLETE ***
    RichPiD      WARNING *** Option is OBSOLETE ***
    l3      WARNING *** Option is OBSOLETE ***
    l3cl      WARNING *** Option is OBSOLETE ***
    l3t      WARNING *** Option is OBSOLETE ***
    l3onl    Stl3RawReaderMakerStl3RawReaderMaker 
    l3count    Stl3CounterMakerStl3RawReaderMaker 
    bbcSim  db StBbcSimulationMakerStBbcSimulationMakerBBC Simulator
    fmsSim  StEvent fmsDb StFmsFastSimulatorMakerStFmsFastSimulatorMakerFMS Fast Simulator
    fmsDat  StEvent fmsDb StFmsHitMakerStFmsHitMakerFill FMS struct and zero TRG
    fpsDat  StEvent fmsdb StFpsRawHitMakerStFpsRawHitMakerFill FPS struct
    fmsPoint  event fmsDb StFmsPointMakerStFmsPointMakerFill FMS clusters and points
    fmsfps  event fmsDb StFmsFpsMakerStFmsFpsMakerFill FPS association in FMS points
    fcsfcsChain fcsDat fcsWFF fcsCluster fcsPoint StMakerStChainFCS chain
    fcsSim fcsChainStEvent fcsDb StFcsFastSimulatorMakerStFcsFastSimulatorMakerFCS Fast Simulator
    fcsDat fcsChainStEvent fcsDb StFcsRawHitMakerStFcsRawHitMakerFCS daq file reader/hit maker
    fcsWFF fcsChainStEvent fcsDb StFcsWaveformFitMakerStFcsWaveformFitMakerFit FCS waveform
    fcsCluster fcsChainStEvent fcsDb StFcsClusterMakerStFcsClusterMakerFill FCS clusters
    fcsPoint fcsChainStEvent fcsDb StFcsPointMakerStFcsPointMaker libMinuitFill FCS points
    fttfttChain FttDat FttHitCalib FttClu FttPoint StMakerStChainFST chain
    FttDat fttChainStEvent StFttRawHitMakerStFttRawHitMaker StEventsTGC Raw hit maker
    FttHitCalib fttChainStEvent MuDST StFttHitCalibMakerStFttHitCalibMaker StFttRawHitMaker StEventsTGC hit calib maker
    FttClu fttChainStEvent fttDb StFttClusterMakerStFttClusterMaker StEvent StFttDbMakersTGC Cluster maker
    FttPoint fttChainStEvent fttDb StFttPointMakerStFttPointMaker StEvent StFttDbMakersTGC Point maker
    FttQA fttChain  StFttQAMakerStFttQAMakersTGC Raw hit QA maker
    fpd      WARNING *** Option is OBSOLETE ***
    fgtFgtChain fgtDat fgtClu fgtAtoC StMakerStChainFgt data Chain
    fgtDat  event fgtdb StFgtRawMakerStFgtRawMakerFGT Data reader
    fgtAtoC  fgtdb StFgtA2CMakerStFgtA2CMakerFGT ADC to Charge maker
    fgtClu  fgtutil StFgtClusterMakerStFgtClusterMakerFGT cluster maker
    fgtAtoC  fgtdb StFgtA2CMakerStFgtA2CMakerFGT ADC to Charge maker
    fgtPoint  event StFgtPointMakerStFgtPointMakerCreates FGT points
    genvtx  EEmcUtil StGenericVertexMakerMinuit StGenericVertexMakerNoStiGeneric Vertex Finder library (default is MinuitVertexFinder)
    VFMinuit  genvtx   ... Generic VF will use Minuit method
    CtbMatchVtx  VFMinuit   ... CTB Matching ON in Vertex Finding
    VFMinuit2  VFMinuit   ... Generic VF will use Minuit method w/rank mode 2
    VFMinuit3  VFMinuit   ... Generic VF will use Minuit method w/rank mode 3
    VFFV  genvtx   ... Fixed dummy VF method
    VFMCE  genvtx   ... Fixed vertex from MCEvent
    VFppLMV  genvtx   ... VertexMaker will use ppLMV method
    VFppLMV5  VFppLMV   ... VertexMaker will use ppLMV method (tuned)
    VFStoreX      ... VertexMaker will use save at least 100 vertices
    StiPulls  Sti   Request to make Sti Pulls
    StvPulls      Request to make Stv Pulls
    StiLib     Sti StiUtilitiesLoad Sti
    StiCALib     TPCCATracker StiCALoad Sti+CA
    StiTpc  TpcDb ITTF tpc_T dbutil detDb StarMagField magF  StiTpcLoad StiTpc
    StiSvt     StSvtClassLibrary StSvtDbMaker StiSvtLoad StiSvt
    StiSsd     StSsdUtil StSsdDbMaker StiSsdLoad StiSsd
    StiSst     StSsdUtil StSsdDbMaker StiSsdLoad StiSsd(t)
    StiPxl     StPxlUtil StPxlDbMaker StiPxlLoad StiPxl
    StiIst     StIstUtil StIstDbMaker StiIstLoad StiIst
    StiLibs  StiTpc StiSvt StiSsd BTofUtil  StEEmcDbMakerLoad Sti Detector libs
    StiLibsHft  StiLibs StiSst StiPxl StiIst   Load Sti Detector libs for HFT
    StiHftP  StiLibsHft -SvtIT -SsdIT PxlIT pxlDb   Enables partial Hft (PXL)
    StiHftC  StiLibsHft -SvtIT -SsdIT PxlIT pxlDb IstIT istDb SstIT sstDb   Enables complete Hft (PXL+IST+SST)
    VFPPV  eemcDb StiLib -VFMinuit -VFMinuit2 -VFMinuit3 StGenericVertexMakerMinuit StGenericVertexMaker... Pile-up proof vertex finder
    VFPPVnoCTB  VFPPV   ... Pile-up proof vertex finder noCTB
    VFPPVEv  eemcDb StGenericVertexMakerMinui StGenericVertexMaker... StEvent based VFPPV noCTB
    VFPPVEvNoBtof  VFPPVEv   ...VFPPVEv with no Btof
    StiSti StiLib StiLibs SCL StEvent StDbT TpcIT compend sim_T tbutil StiMakerStEventUtilities StiUtilities StiMakerSti tracker
    StiCASti Sti StiLib StiCALib StiLibs SCL StEvent StDbT TpcIT compend tbutil StiMakerStEventUtilities libEG StiUtilities StiMakerSti+CA tracker
    StiCAPerf     TPCCATrackerPerformanceCA Performance
    StiCASti Sti StiLib StiCALib StiLibs SCL StEvent StDbT TpcIT compend tbutil StiMakerStEventUtilities libEG StiUtilities StiMakerSti+CA tracker
    HLTCA Sti  StHLTCAMakerStHLTCAMakerHLT reconstruction
    KFVertex Sti-genvtx -VFMinuit -VFFV -VFMCE -VFppLMV -VFPPVnoCTB -VFPPV -Kink2 -V02 -Xi2 StKFVertexMakerMathMore Spectrum...KFParticle based multi vertex reconstruction
    StvStv -xgeometry -Sti -StiTpc -StiSsd -StiSvt -StiPxl -StiSsd -StiSst -StiIst StvMakerlibHist libHistPainter libVMC StarMiniCern geant3 GeoTestMaker StvUtil Stv StvSeed StvMaker StEventUtilities -StiLibs -StiLibsHftStv
    StvCAStvCA Stv   StvCA
    StiVMCStiVMC -Sti SCL StEvent StDbT TpcDb compend StiVMCMakerStEventUtilities StiVMC StiVMCMakerITTF VMC tracker
    StiVMCLibs  detDb StarMagField   ITTF:load StiVMC libraries
    laserIT     TpcITuse Sti for laser reconstruction
    TpcIT  ITTF   Sti tracking: TPC
    SvtIT  ITTF   Sti tracking: SVT
    SsdIT  ITTF   Sti tracking: SSD
    HpdIT  ITTF  Sti StiRnDSti tracking: Hpd geom
    PixelIT  PxlIT   Alias for PxlIT
    PxlIT  ITTF   Sti tracking: Pixel geom
    IstIT  ITTF   Sti tracking: Ist geom
    SstIT  ITTF   Sti tracking: Sst geom
    iTpcIT  ITTF   Sti tracking: iTpc geom + hits
    BTofIT  ITTF   Sti tracking: BTof geom
    NoSvtIT  -SvtIT   ITTF: track with switch off SVT geom
    NoSsdIT  -SsdIT   ITTF: track with switch off SSD geom
    NoSstIT  -SstIT   ITTF: track with switch off SST geom
    NoPxlIT  -PxlIT   ITTF: track with switch off PXL geom
    NoIstIT  -IstIT   ITTF: track with switch off IST geom
    skip1row      ITTF: skip the first pad row in TPC
    StiRnD     StiRnDLoad StiRnD shared library
    Alignment      Sti Tpc Alignment reconstruction per sector
    Cosmics      Ignore events without recostructed tracks
    StiPulls  Sti   Request to make Sti Pulls
    BeamBack  StEvent   WARNING *** Option is OBSOLETE ***
    dEdxY2dEdxY2 tpcDb StEvent StdEdxY2MakerlibMinuit StdEdxY2MakerBichsel method used for dEdx
    CalcdNdx  dEdxY2   Option for StdEdxY2Maker to calculate dN/dx
    btofMatch  db BTofUtil vpdCalib btofCalib StBTofMatchMakerStBTofMatchMakerTPC-BTOF track matching
    btofCalib  db BTofUtil StBTofCalibMakerStBTofCalibMakerBTOF calibration
    ETofHit ETofChaindb ETofUtil muDst StETofHitMakerStETofHitMakerETOF hit maker
    ETofMatch ETofChaindb ETofUtil muDst StETofMatchMakerStETofMatchMakerETOF match maker
    ETofQa ETofChaindb ETofUtil muDst StETofQAMakerStETofQAMakerETOF QA maker
    ETofA  etofdat ETofCalib etofhit ETofMatch  ... ETOF chain options for datakFALSE
    mtdMatch  db MtdUtil StMtdMatchMakerStMtdMatchMakerTPC-MTD track matching
    mtdCalib  db StMtdCalibMakerStMtdCalibMakerMTD calibration
    mtdEvtFilt  db StMtdEvtFilterMakerStMtdEvtFilterMakerMTD event filter
    FindVtxSeedFindVtxSeed globT MuDSTDeps picoDst StVertexSeedMakerStPass0CalibMakerPerforms vertex seed finding
    FindEvtVtxSeedFindEvtVtxSeed MuDSTDeps picoDst StEvtVtxSeedMakerStPass0CalibMakerPerforms vertex seed finding using StEvent
    FtpcftpcChain ftpcT fcl fpt StMakerStChain 
    fssftpc_rawftpcChainSCL Simu StFtpcSlowSimMakerStFtpcSlowSimMaker StFtpcTrackMaker StFtpcClusterMakerFTPC Slow simulator
    Fclftpc_hitsftpcChainSCL daq StFtpcClusterMakerStFtpcTrackMaker StFtpcClusterMakerFTPC cluster finder
    fptftpc_tracksftpcChainSCL StFtpcTrackMakerStFtpcTrackMakerFTPC Track Maker
    fgain  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker will produce gain scan histograms
    fdbg  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker will write debugfile
    flaser  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker for LASERTRACKING
    pmdRecopmdReco PmdUtil pmdClust StMakerStChainPMD Reco chain
    pmdRawpmdRawpmdRecopmdReco pmdRead   PMD Reco chain giving raw data
    pmdpmdpmdRecopmdReco pmdSim pmdDis   PMD Simulation chain
    pmdRead pmdRecoPmdUtil StPmdReadMakerStPmdReadMakerDAQ reader for PMD
    pmdSim pmdRecoPmdUtil StPmdSimulatorMakerStPmdSimulatorMakerHit Simulator for PMD
    pmdClustpmdClustpmdReco  StPmdClusterMakerStPmdClusterMakerClusterMaker for PMD
    pmdDispmdDispmdRecoPmdClust StPmdDiscriminatorMakerStPmdDiscriminatorMakerDiscriminator for PMD
    Kink2kink2 db MuDST -kink StKinkMakerStSecondaryVertexMakerFind Kinks from StEvent
    V02v02 db MuDST -V0 StV0FinderMakerStSecondaryVertexMakerFind V0s from StEvent
    Xi2xi2 db MuDST -V02 -Xi StXiFinderMakerStSecondaryVertexMakerXis AND V0s from StEvent
    V0svt      WARNING *** Option is OBSOLETE ***
    Xisvt      WARNING *** Option is OBSOLETE ***
    SCEbyEscebye MuDSTDeps picoDst StSpaceChargeEbyEMakerStMuDSTMaker StPass0CalibMakerDetermine EbyE SpaceCharge using StEvent
    SCScalerCalscscalercal MuDSTDeps picoDst StSpaceChargeEbyEMakerStMuDSTMaker StPass0CalibMakerCalibrate SpaceCharge scalers
    compend  event detDb StEventCompendiumMakerStEventCompendiumMakerFill event summary in ITTF Chain
    shadow  event compend StShadowMakerStShadowMaker 
    TpcAligner  Alignment StTpcAlignerMakerStTpcAlignerMakerTpcAligner
    pecPeC Event StPeCMakerStPeCMakerPCollAnalysis
    RichSpectra      WARNING *** Option is OBSOLETE ***
    TagsChainTagsChain   StMakerStChain 
    TpcTag      WARNING *** Option is OBSOLETE ***
    Flow
    FlowTag      WARNING *** Option is OBSOLETE ***
    FlowAnalysis     WARNING *** Option is OBSOLETE *** 
    SpectraTag      WARNING *** Option is OBSOLETE ***
    HeavyTags TagsChainStEVent StHeavyTagMakerStHeavyTagMaker 
    EbyeScaTags      WARNING *** Option is OBSOLETE ***
    HighPtTags TagsChainStEVent StHighPtTagsMakerStHighPtTagsMaker 
    PCollTag      WARNING *** Option is OBSOLETE ***
    tags TagsChainglobT Event HeavyTags HighPtTags StTagsMakerStTagsMakerCollect all tags to TTree
    noTags  -tags -HeavyTags -HighPtTags   Turn Off tags
    MuDSTChainMuDSTChainEMCmDST CMuDST  StMakerStChain 
    StrngMuDST MuDSTDeps  StStrangeMuDstMaker Creates Stangeness MuDST
    EMCmDST MuDSTChainMuDst StEmcMicroDstMaker Creates EMC MuDST
    CMuDST MuDSTChainMuDst StrngMuDST Tree StMuDstMaker Writes Common MuDST
    RMuDST  CMuDST   reads Common MuDST do not disactivate if no output files
    picoWrite PicoChainpicoDst StPicoDstMaker Writes picoDST format
    picoRead PicoChainpicoDst StPicoDstMaker WritesRead picoDST format
    PicoVtxDefault      pico Vtx default mode
    PicoVtxVpd  -PicoVtxDefault   pico Vtx cut on Tof and VPD mode
    PicoVtxVpdOrDefault  -PicoVtxDefault   pico Vtx cut on Tof and VPD or default
    PicoVtxFXT  -PicoVtxDefault   pico Vtx constraint on FXT [198 202] mode
    PicoVtxMtd  -PicoVtxDefault   pico Vtx using MTD matching mode
    PicoCovMtxSkip      Do not write covariance matrices to picoDst (default)
    PicoCovMtxWrite  -PicoCovMtxSkip   Write track covariance matrices to picoDst
    PicoBEmcSmdSkip      Do not write BSMD to picoDst (default)
    PicoBEmcSmdWrite  -PicoBEmcSmdSkip   Write BSMD to picoDst
    St_geom    St_geom_MakerSt_geom_Maker 
    Display      WARNING *** Option is OBSOLETE *** use Ed.C macro instead
    McMcChainMcEventsim_T globT McAss McAna StMakerStChain 
    McAss McChainMcEvent StAssociationMakerStAssociationMaker 
    McAnaTpc  McAna   Mc Analysis for Tpc
    McAnaSvt  McAna   Mc Analysis for Svt
    McAnaSsd  McAna   Mc Analysis for Ssd
    McAna McChainMcEvent McAss StMcAnalysisMakerStMcAnalysisMaker 
    McQa McChainMcEvent StMcQaMakerStMcQaMakerQA histogramms for McEvent
    McTpcAna McAnaChaintpcDb dbutil McEvent StEvent StTpcMcAnalysisMakerStTpcMcAnalysisMaker 
    MiniMcEvent     StMiniMcEventLoads StMiniMcEvent library only
    MiniMcMk  McAss MiniMcEvent StMiniMcMakerStMiniMcMakerCreates tree in minimc.root file
    SvtMatTree    SvtMatchedTreeStSvtPoolEventT StSvtPoolSvtMatchedTreeCreate SvtMatchedTree
    LAna  in detDb StEvent tpcDb StLaserAnalysisMakerStLaserAnalysisMakerLaser data Analysis
    EandBDir  in StEvent TpcHitMover nodefault StEandBDirMakerMathMore Spectrum StEandBDirMakerget E&B direction
    SpinTag      WARNING *** Option is OBSOLETE ***
    ppLPfind1      WARNING *** Option is OBSOLETE ***
    SpinSortA      WARNING *** Option is OBSOLETE ***
    ppLPprojectA      WARNING *** Option is OBSOLETE ***
    ppDAQfilter1      WARNING *** Option is OBSOLETE ***
    ppLPeval1      WARNING *** Option is OBSOLETE ***
    QA      WARNING *** Option is OBSOLETE ***
    EventQAEventQA QUtils Event StEventQAMakerSt_QA_MakerFilling Y2/Y3 Qa histo
    QACCosmicsQAglobT  StQACosmicMakerStQACosmicMaker 
    QAalltrigs      Analyze all triggers in QA
    HitFilt    StHitFilterMakerStHitFilterMakerHit filter Maker
    SvtHitFilt  HitFilt   SVT Hit filter Maker
    TpcHitFilt  HitFilt   filter out TPC Hits not on tracks
    HftHitFilt  HitFilt   filter out non-HFT hits
    KeepTpcHit  HitFilt   Keep all TPC hits in StHitFilterMaker
    KeepSvtHit  HitFilt   Keep all SVT hits in StHitFilterMaker
    KeepFgtHit  HitFilt   Keep all FGT hits in StHitFilterMaker
    TreeOutTree   StTreeMakerStTreeMakerWrite requested branches into files
    logger      Use log4cxx package to manage the program messages
    NoSimuDb      Switch off Simu Option for DB
    SimuDb  -NoSimuDb   Switch on Simu Option for DB
    NoOutput  -Tree -EvOut noTags   Suppress Output root files
    EvOutOnly  EvOut Tree noTags   Only event.root files
    NoDefault      No Default consistency check
    Notpc_daq  -tpc_daq   No tpc_daq
    analysis  StEvent StAnalysisMakerStAnalysisMakerExample of Analysis
    NewTpcAlignment      Switch on new Tpc Alignment schema
    Aliasedtime stamps      
    -

    Options for Block 1

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    KeyNameChainOpts MakerLibsComment
    TIME STAMPS
    RY2008  db detDb NosvtIT NossdIT   y2008 for dAu run
    RY2009  db detDb NosvtIT NossdIT   y2009 for p+p run
    ForceGeometry      Force geometry to overwrite the geometry coming from fz-file
    Valid Db
    NoDb  -db -tpcDb -magF   Take out Db from Chain
    DbV  db ry1h   19940614/0 Db Version for none
    DbV0614  db ry1h   20000614/0 Db Version for p00hd
    DbV0624  db ry1h   20000624/0 Db Version for p00hd_1
    DbV0713  db ry1h   20000713/0 Db Version for p00he
    DbV0727  db ry1h   20000727/0 Db Version for p00he
    DbV0819  db ry1h   20000819/0 Db Version for p00hg
    DbV1123  db ry1h   20001123/0 Db wo TpcDriftVel. from StTpcT0Maker
    DbV0523  db ry1h   20010523/0 Db Version for p01he
    DbV1007  db ry1h   20011007/0 Db Version for p01hi
    DbV1107  db ry1h   20011107/0 Db Version for pass1 p01gk
    DbV1211  db ry1h   20011211/0 Db Version for prod p01gl
    geometry     geometrygeometry+Mag.Field
    ideal      Ideal Alignment
    misalign     -AgMLidealMisaligned Geometry
    AgMLutil     StarAgmlUtilAgML support
    AgMLlib     StarAgmlUtil StarAgmlLibAgML support
    AgML  AgMLlib -Agi -VmcGeo  Geometry StarGeometryAlias VmcGeometry to AgiLGeometry
    Agi  -VmcGeo   Alias VmcGeometry to AgiGeometry (gstar original geometry)
    VmcGeo  -AgML -Agi   Alias VmcGeometry to VmcGeo
    Trigger Type
    Physics      WARNING *** Option is OBSOLETE ***
    LaserTest      WARNING *** Option is OBSOLETE ***
    PulserSvt      WARNING *** Option is OBSOLETE ***
    alltrigger      WARNING *** Option is OBSOLETE ***
    phys_off      Turn off physics in simulation
    hadr_off      Turn off hadronic interactions in simulation
    C H A I N S
    Calibration chains
    LanaDV  LanaDVtpx   get LDV
    LanaDVtpx  MakeEvent trgd in tpx TpcHitMover LaserIT VFMinuit Lana Analysis Corr4 NosvtIT NossdIT   get LDV with TPX
    LaserDV.Chain  in LaserCal fcf TpcHitMover OGridLeak3D OShortR OSpaceZ2   get LDV
    Test.default.ITTF  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent genvtx miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.default.y2005g.ITTF  Test.default.ITTF sdt20050130 noSimuDb    
    Test.default.y2007g.ITTF  Test.default.ITTF sdt20070322 noSimuDb    
    Test.fast.y2005g.ITTF  Test.fast.ITTF sdt20050130 noSimuDb    
    Test.reco.StiVMC  MakeEvent tpcI tcl ftpc SvtCL Test.StiVMC    
    Test.default.StiVMC  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.StiVMC  TpcRS StiVMC event analysis tags EvOut StarMagField FieldOn Idst CMuDst    
    Test.VeryFast.StiVMC  TpcFastSim Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT StiVMC Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.fast.StiVMC  tfs Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb StiVMC Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.fast.y2007g.ITTF  Test.fast.ITTF sdt20070322 noSimuDb    
    Test.VeryFast.y2005g.ITTF  Test.VeryFast.ITTF sdt20050130 noSimuDb    
    Test.VeryFast.y2007g.ITTF  Test.VeryFast.ITTF sdt20070322 noSimuDb    
    Test.default.StiVMC  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.y2009.ITTF  Test.default.ITTF y2009 TpcRS sdt20090428.141700    
    Test.y2009.StiVMC  Test.default.StiVMC y2009 TpcRS sdt20090428.141700 noSimuDb    
    Test.fast.y2005g.StiVMC  Test.fast.StiVMC sdt20050130 noSimuDb    
    Test.VeryFast.y2005g.StiVMC  Test.VeryFast.StiVMC sdt20050130 noSimuDb    
    Test.VeryFast.y2007g.StiVMC  Test.VeryFast.StiVMC sdt20070322 noSimuDb    
    Test.default.Fast.ITTF  tfs sfs ssdFast IdTruth MakeEvent miniMcMk Test.ITTF    
    Test.srs.ITTF  TpcRS Simu srs svt ssd fss bbcSim emcY2 McEvOut GeantOut IdTruth miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.ITTF  svtIT ssdIT ITTF event analysis EventQA tags EvOut StarMagField FieldOn IDST CMuDst analysis  
    Test.reco.ITTF  MakeEvent tpcI tcl ftpc SvtCL Test.ITTF    
    Test.fast.ITTF  tfs Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT ITTF Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.VeryFast.ITTF  TpcFastSim Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT ITTF Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    nightly test (dev) chains
    McMcChainMcEventsim_T globT McAss McAna StMakerStChain 
    MC.y2000  trs rrs y1h Idst rich IAna l0 tpcI tpxClu NosvtIT NossdIT -Kink2 VFMinuit geant evout IdTruth tags GeantOut big    
    MC.y2001  trs fss rrs y2001n Idst rich IAna l0 tpcI tpxClu ftpc -Kink2 VFMinuit geant evout IdTruth tags emcY2 GeantOut big    
    MC.pp.y2001  trs rrs fss y2001n Idst rich IAna l0 tpcI tpxClu ftpc -Kink2 VFMinuit geant evout IdTruth tags emcY2 MiniMcMk GeantOut big    
    MC.y2003  trs fss y2003 Idst IAna l0 tpcI tpxClu ftpc VFMinuit bbcSim tofsim tags emcY2 evout IdTruth geantout    
    MC.y2004  trs srs fss y2004 Idst BAna l0 tpcI tpxClu ftpc VFMinuit SvtIt geant evout tags bbcSim tofsim emcY2 EEfs GeantOut big    
    MC.y2004a  trs srs fss y2004a Idst BAna l0 tpcI tpxClu ftpc VFMinuit SvtIT geant tags bbcSim tofsim emcY2 EEfs evout GeantOut big  
    MC.y2005  trs srs fss ssd y2005x Idst IAna l0 tpcI tpxClu ftpc SvtCL svtDb SsdIt SvtIt VFMinuit geant evout tags bbcSim tofsim emcY2 EEfs GeantOut big    
    MC.y2006  trs fss y2006h Idst IAna l0 tpcI tpxClu ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.y2007  trs srs ssd fss y2007 Idst BAna tpcI tpxClu ftpc SvtIt SsdIt VFMinuit MakeEvent IdTruth geant tags bbcSim tofsim emcY2 EEfs evout GeantOut big    
    MC.y2008  trs fss y2008a Idst IAna tpcI tpxClu ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.in.y2008  in y2008e FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.in.y2009  in y2009c FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2009  TpcRS TpxClu fss y2009 Idst IAna tpcI ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.y2009a  TpcRS TpxClu fss y2009a Idst IAna tpcI ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2010a  TpcRS TpxClu y2010a MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2010  TpcRS TpxClu y2010 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.fast.pp.y2011  y2011 Test.default.Fast.ITTF bbcSim btofsim btofMatch emcY2 emcSim EEfs NosvtIT NossdIT -sfs -ssdFast VFPPVnoCTB beamline    
    MC.in.y2010  in y2010c FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2011  TpcRS TpxClu y2011 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big  
    MC.fast.y2011  y2011 Test.default.Fast.ITTF NosvtIT NossdIT -sfs -ssdFast VFPPVnoCTB beamline emcy2    
    MC.in.y2011  in y2011 FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2012  TpcRS TpxClu y2012 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2012a  TpcRS TpxClu y2012a MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2012.eval  in y2012 FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll  
    MC.y2013  TpcRS TpxClu y2013_1x useXgeom MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2014  TpcRS TpxClu y2014 useXgeom MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    RC
    RC.y2000  p2000 VFMinuit CMuDst NosvtIT NossdIT    
    RC.y2001  P2001a VFMinuit ZDCvtx CMuDst NosvtIT NossdIT    
    RC.pp.y2001  pp2001a VFMinuit CMuDst NossdIT    
    RC.pp.y2001.ppv  pp2001a VFPPV beamLine CMuDst NossdIT    
    RC.y2003  DbV20040520 dau2003i in -SvtIT NossdIT    
    RC.pp.y2003.VFPPV  pp2003 VFPPV beamLine CMuDst -svtIT NossdIT Corr2 v0 xi    
    RC.y2004  P2004 DbV20041213    
    RC.y2004.NoSvt  P2004 DbV20041213 -SsdIt -SvtIt pmdRaw    
    RC.y2004.NoSvt.pmd  P2004 DbV20041213 pmdRaw -SvtIT -SsdIT    
    RC.pp.y2004  pp2004 DbV20041213 beamLine    
    RC.y2005  P2005 tofDat MakeEvent ssddat sptd SsdIt SvtIt pmdRaw OShortR OSpaceZ2    
    RC.pp.y2005  pp2005a tofdat OSpaceZ2 OGridLeak3D    
    RC.pp.y2006  pp2006b OSpaceZ2 OGridLeak3D    
    RC.y2007  DbV20080418 B2007g IAna KeepSvtHit hitfilt VFMinuit3 emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2007.NoSvt  DbV20080418 B2007g IAna KeepSvtHit hitfilt VFMinuit3 emcDY2 ftpc trgd ZDCvtx Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2008  DbV20080712 P2008 OSpaceZ2 OGridLeak3D beamLine    
    RC.y2008.notof  DbV20080712 P2008 -ToF -tofDat -tofrMatch -tofpMatch -tofCalib OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2008  DbV20080712 pp2008 OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2008.Minuit  DbV20080712 pp2008 -VFPPV VFMinuit -ToF -tofDat -tofrMatch -tofpMatch -tofCalib OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2009  pp2009c VFMinuit beamLine BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2009.notof  pp2009c VFMinuit beamLine BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2009.VFPP  pp2009c VFPPVnoCTB beamLine BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2010  P2010a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D pmdReco    
    RC.y2010.notof  P2010a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2011.VFPPV  pp2011a VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2011  pp2011a VFMinuit beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.y2011  P2011a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt pmdReco mtdDat    
    RC.y2011.notof  P2011a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt pmdReco mtdDat    
    RC.y2012  P2012a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.y2012.notof  P2012a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012  pp2012a VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.pp.y2012.notof  pp2012a VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012.notofMin  pp2012a VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.y2012b  P2012b BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.y2012b.notof  P2012b BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012b  pp2012b VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.pp.y2012b.notof  pp2012b VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2012b.notofMin  pp2012b VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2012b.notofMin  pp2012b VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2013  pp2013a mtd btof fmsDat fgt fgtPoint VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.y2014  P2014a mtd btof BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    MC nightlies and Eval--      
    test_MC.stan.y2000  MC.y2000 Sti fzin MiniMcMk   /star/rcf/simu/cocktail/hadronic/default/standard/year_1h/half_field/hadronic_on/Gstardata/hc_standard.40_evts.fz
    test_MC.pp.y2001  MC.pp.y2001 Sti fzin MiniMcMk   /star/rcf/simu/pp200/pythia/default/minbias/year2001/hadronic_on/gstardata/pds0200_04_12812evts.fzd
    test_MC.stan.y2001  MC.y2001 Sti fzin MiniMcMk   /star/rcf/simu/cocktail/hadronic/default/standard/year2001/hadronic_on/Gstardata/hc_standard.40_evts.fz
    test_dau.MC.y2003  MC.y2003 Sti fzin MiniMcMk   /star/rcf/simu/rcf1197_05_5940evts.fzd
    test_auauCtr.MC.y2004  MC.y2004a Sti fzin MiniMcMk   /star/rcf/simu/rcf1209_05_80evts.fzd
    test_auau.MC.y2004  MC.y2004 Sti fzin MiniMcMk   /star/rcf/simu/rcf1207_01_225evts.fzd
    test_cucu200.MC.y2005  MC.y2005 Sti fzin MiniMcMk   /star/rcf/simu/rcf1216_05_200evts.fzd
    test_cucu62.MC.y2005  MC.y2005 Sti fzin MiniMcMk   /star/rcf/simu/rcf1237_01_500evts.fzd
    test_pp200.MC.y2006  MC.y2006 Sti fzin MiniMcMk   /star/rcf/simu/rcf9991_01_1000evts.fzd
    test_auau200.MC.y2007  MC.y2007 Sti fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    test_dau200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    test_pp200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    test_pp200.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    test_pp500.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    test_auau11.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    test_auau200.MC.y2010  MC.y2010 Sti fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    test_auau39.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    test_auau62.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    test_auau7.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    test_auau200.MC.y2011  MC.y2011 Sti fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    test_pp500.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    test_pp500.pileup.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    test_CuAu200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    test_CuAu200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    test_pp200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    test_pp200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    test_pp500.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    test_pp500.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    test_UU200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    test_UU200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    test.RC.centr.y2000  RC.y2000 Sti   /star/rcf/test/daq/2000/09/st_physics_1248022_raw_0001.daq
    test.RC.minb.y2000  RC.y2000 Sti   /star/rcf/test/daq/2000/08/st_physics_1229021_raw_0003.daq
    test.RC.cent.y2001d  RC.y2001 v02 xi2 Sti   /star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq
    test.RC.cent.y2001  RC.y2001 v0 xi Sti   /star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq
    test.RC.minb.y2001d  RC.y2001 v02 xi2 Sti   /star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq
    test.RC.minb.y2001  RC.y2001 v0 xi Sti   /star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq
    test.RC.pp.y2001d  RC.pp.y2001 v02 xi2 Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.pp.y2001  RC.pp.y2001.ppv v0 xi Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.pp.y2001_vfppvd  RC.pp.y2001.ppv v02 xi2 Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.dau.y2003  RC.y2003 ITTF Sti   /star/rcf/test/daq/2003/041/st_physics_4041002_raw_0020001.daq
    test.RC.pp.y2003  RC.pp.y2003.VFPPV Sti   /star/rcf/test/daq/2003/095/st_physics_4095050_raw_0010002.daq
    test.RC.auau.lo.y2004  RC.y2004 -SvtIT -SsdIT pmdRaw ITTF Sti   /star/rcf/test/daq/2004/044/st_physics_5044116_raw_3010002.daq
    test.RC.auau.ph.y2004  RC.y2004 pmdRaw -SvtIT -SsdIT ITTF Sti   /star/rcf/test/daq/2004/044/st_physics_5044102_raw_1010003.daq
    test.RC.auau.StiCA.y2004  RC.y2004 -SsdIt -SvtIt pmdRaw StiCA   /star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq
    test.RC.auau.y2004  RC.y2004 -SsdIt -SvtIt pmdRaw ITTF Sti   /star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq
    test.RC.pp.y2004  RC.pp.y2004 ITTF Sti   /star/rcf/test/daq/2004/134/st_physics_5134013_raw_2010010.daq
    test.RC.cucu200.ht.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/054/st_physics_6054016_raw_1020005.daq
    test.RC.cucu200.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/048/st_physics_6048025_raw_1020002.daq
    test.RC.cucu22.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/083/st_physics_6083006_raw_1040002.daq
    test.RC.cucu62.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/080/st_physics_6080011_raw_1020004.daq
    test.RC.pp200.y2005  RC.pp.y2005 ITTF Sti   /star/rcf/test/daq/2005/171/st_physics_6171062_raw_2040010.daq
    test.RC.pp200.Long.y2006  RC.pp.y2006 ITTF Sti   /star/rcf/test/daq/2006/155/7155010/st_physics_7155010_raw_1020003.daq
    test.RC.pp200.Trans.y2006  RC.pp.y2006 ITTF Sti   /star/rcf/test/daq/2006/129/7129023/st_physics_7129023_raw_1020003.daq
    test.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    test.RC.auau200.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq
    test.RC.dau200.y2008  RC.y2008 ITTF Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    test.RC.pp200.y2008  RC.pp.y2008 ITTF Sti   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    test.RC.pp200.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    test.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    test.RC.auau11.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    test.RC.auau200.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    test.RC.auau39.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    test.RC.auau62.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    test.RC.auau7.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/143/st_physics_11143043_raw_1020001.daq
    test.RC.auau200.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    test.RC.auau20.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    test.RC.auau27.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    test.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    test.RC.cuAu200.AgML.y2012  RC.y2012b AgML Sti   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    test.RC.cuAu200.y2012  RC.y2012b Sti   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    test.RC.pp200.AgML.y2012  RC.pp.y2012b AgML Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    test.RC.pp200.y2012  RC.pp.y2012b Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    test.RC.pp500.AgML.y2012  RC.pp.y2012b AgML Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    test.RC.pp500.y2012  RC.pp.y2012b Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    test.RC.UU193.AgML.y2012  RC.y2012b AgML Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    test.RC.UU193.y2012  RC.y2012b Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    test.RC.pp500.y2013  RC.pp.y2013 Sti   /star/rcf/test/daq/2013/079/st_physics_14079008_raw_1920004.daq
    test.RC.AuAu15.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/069/st_physics_15069008_raw_2500008.daq
    test.RC.AuAu200.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/086/st_physics_15086051_raw_2500017.daq
    test.RC.AuAu200.mid.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/146/st_mtd_15146050_raw_1000030.daq
    test.RC.He3Au200.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/171/st_physics_15171039_raw_2000008.daq
    eval_Sti_auau200.MC.y2007  MC.y2007 Sti fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    eval_StiCA_auau200.MC.y2007  MC.y2007 StiCA fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    eval_Sti.AgML_dau200.MC.y2008  MC.y2008 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_Sti.AgML_pp200.MC.y2008  MC.y2008 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_StiCA_dau200.MC.y2008  MC.y2008 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_StiCA_pp200.MC.y2008  MC.y2008 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_Sti_dau200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_Sti_pp200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_StvCA_dau200.MC.Stv.y2008  MC.in.y2008 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11025_2040_100evts.event.root
    eval_Stv_dau200.MC.y2008  MC.in.y2008 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11025_2040_100evts.event.root
    eval_Sti.AgML_pp500.MC.y2009  MC.y2009a Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_StiCA_pp200.MC.y2009  MC.y2009a StiCA fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    eval_StiCA_pp500.MC.y2009  MC.y2009a StiCA fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_Sti_pp200.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    eval_Sti_pp500.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_StvCA_pp500.MC.y2009  MC.in.y2009 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11026_1020_50evts_pileup.event.root
    eval_Stv_pp500.MC.y2009  MC.in.y2009 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11026_1020_50evts_pileup.event.root
    eval_Sti.AgML_auau11.MC.y2010  MC.y2010a Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_Sti.AgML_auau200.MC.y2010  MC.y2010 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_Sti_auau11.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_Sti_auau200.MC.y2010  MC.y2010 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_Sti_auau39.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_Sti_auau62.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_Sti_auau7.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_StiCA_auau11.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_StiCA_auau200.MC.y2010  MC.y2010 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_StiCA_auau39.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_StiCA_auau62.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_StiCA_auau7.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_Stv_auau200.MC.y2010  MC.in.y2010 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11022_2241_50evts.event.root
    eval_StvCA_auau200.MC.y2010  MC.in.y2010 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11022_2241_50evts.event.root
    eval_StvCA_auau39.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_StvCA_auau62.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_StvCA_auau7.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_Sti.AgML_auau200.MC.y2011  MC.y2011 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    eval_Sti.AgML_pp500.MC.y2011  MC.fast.y2011 AgML Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_Sti_auau200.MC.y2011  MC.y2011 Sti fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    eval_StiCA_pp500.MC.y2011  MC.fast.y2011 StiCA fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_StiCA_pp500.pileup.MC.y2011  MC.fast.y2011 StiCA fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    eval_Sti_pp500.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_Sti_pp500.pileup.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    eval_Stv_auau200.MC.y2011  MC.in.y2011 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.event.root
    eval_StvCA_auau200.MC.y2011  MC.in.y2011 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.event.root
    eval_Sti.AgML_CuAu200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    eval_Sti.AgML_pp200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    eval_Sti.AgML_pp500.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    eval_Sti.AgML_UU200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    eval_Sti_CuAu200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    eval_Sti_pp200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    eval_Sti_pp500.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    eval_Sti_UU200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    eval_Sti.AgML.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF AgML Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StiCA.RC.auau200.MB.y2007  RC.y2007 pmdReco StiCA   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StiCA.RC.auau200.y2007  RC.y2007 pmdReco StiCA   /star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq
    eval_Sti.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Stv.AgML.RC.auau200.MB.y2007  RC.y2007 Stv AgML   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StvCA.RC.auau200.MB.y2007  RC.y2007.NoSvt StvCA   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Stv.RC.auau200.MB.y2007  RC.y2007.NoSvt Stv   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Sti.AgML.RC.dau200.y2008  RC.y2008 ITTF AgML Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StiCA.RC.dau200.y2008  RC.y2008 StiCA   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StiCA.RC.pp200.y2008  RC.pp.y2008 StiCA   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Sti.RC.dau200.y2008  RC.y2008 ITTF Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_Sti.RC.pp200.y2008  RC.pp.y2008 ITTF Sti   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Stv.AgML.RC.dau200.y2008  RC.y2008.notof Stv AgML   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StvCA.RC.dau200.y2008  RC.y2008.notof StvCA   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StvCA.RC.pp200.y2008  RC.pp.y2008.Minuit StvCA   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Stv.RC.dau200.y2008  RC.y2008.notof Stv   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_Stv.RC.pp200.y2008  RC.pp.y2008.Minuit Stv   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Sti.AgML.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_StiCA.RC.pp200.y2009  RC.pp.y2009.VFPP StiCA   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_StiCA.RC.pp500.y2009  RC.pp.y2009.VFPP StiCA   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Sti.RC.pp200.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_Sti.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Stv.AgML.RC.pp500.y2009  RC.pp.y2009 Stv AgML   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_StvCA.RC.pp200.y2009  RC.pp.y2009 StvCA   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_StvCA.RC.pp500.y2009  RC.pp.y2009 StvCA   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Stv.RC.pp200.y2009  RC.pp.y2009 Stv   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_Stv.RC.pp500.y2009  RC.pp.y2009 Stv   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Sti.AgML.RC.auau200.y2010  RC.y2010.notof AgML Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Sti.AgML.RC.auau39.y2010  RC.y2010.notof AgML Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StiCA.RC.auau11.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_StiCA.RC.auau200.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_StiCA.RC.auau39.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StiCA.RC.auau62.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Sti.RC.auau11.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_Sti.RC.auau200.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Sti.RC.auau39.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_Sti.RC.auau62.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Stv.AgML.RC.auau200.y2010  RC.y2010.notof Stv AgML   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Stv.AgML.RC.auau39.y2010  RC.y2010.notof Stv AgML   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StvCA.RC.auau11.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_StvCA.RC.auau200.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_StvCA.RC.auau39.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StvCA.RC.auau62.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Stv.RC.auau11.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_Stv.RC.auau200.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Stv.RC.auau39.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_Stv.RC.auau62.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Sti.AgML.RC.auau200.y2011  RC.y2011 AgML Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Sti.AgML.RC.auau20.y2011  RC.y2011 AgML Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Sti.AgML.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_StiCA.RC.auau200.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_StiCA.RC.auau20.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StiCA.RC.auau27.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_StiCA.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat StiCA   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Sti.RC.auau200.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Sti.RC.auau20.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Sti.RC.auau27.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_Sti.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Stv.AgML.RC.auau200.y2011  RC.y2011 Stv AgML   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Stv.AgML.RC.auau20.y2011  RC.y2011 Stv AgML   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StvCA.RC.auau200.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_StvCA.RC.auau20.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StvCA.RC.auau27.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_StvCA.RC.pp500.y2011  RC.pp.y2011 pmdReco mtdDat StvCA   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Stv.RC.auau200.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Stv.RC.auau20.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Stv.RC.auau27.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_Stv.RC.pp500.y2011  RC.pp.y2011 pmdReco mtdDat Stv   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Sti.AgML.RC.pp200.y2012  RC.pp.y2012 AgML Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.AgML.RC.pp500.y2012  RC.pp.y2012 AgML Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Sti.AgML.RC.UU193.y2012  RC.y2012 AgML Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_StiCA.RC.pp200.y2012  RC.pp.y2012 StiCA   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.RC.pp200.y2012  RC.pp.y2012 Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.RC.pp500.y2012  RC.pp.y2012 Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Sti.RC.UU193.y2012  RC.y2012 Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_Stv.AgML.RC.cuAu200.y2012  RC.y2012b.notof Stv AgML   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_Stv.AgML.RC.pp200.y2012  RC.pp.y2012.notofMin Stv AgML   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Stv.AgML.RC.pp500.y2012  RC.pp.y2012.notofMin Stv AgML   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Stv.AgML.RC.UU193.y2012  RC.y2012b.notof Stv AgML   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_StvCA.RC.cuAu200.y2012  RC.y2012b.notof StvCA   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_StvCA.RC.pp200.y2012  RC.pp.y2012.notofMin StvCA   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_StvCA.RC.pp500.y2012  RC.pp.y2012.notofMin StvCA   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_StvCA.RC.UU193.y2012  RC.y2012b.notof StvCA   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_Stv.RC.cuAu200.y2012  RC.y2012b.notof Stv   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_Stv.RC.pp200.y2012  RC.pp.y2012.notofMin Stv   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Stv.RC.pp500.y2012  RC.pp.y2012.notofMin Stv   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Stv.RC.UU193.y2012  RC.y2012b.notof Stv   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    doEvents  in StEvent analysis NoDb    
    MakeMuDst  in StEvent CMuDST Tree nodefault NoHistos ReadAll   StEvent => MuDst
    drawDst  in ry1h globT SCL geant display NoDb TbUtil    
    Cdst  ITTF event analysis EventQA    
    C1default  rich l0 Cdst tags Tree EvOut NoHits   Year 1 chain
    C2default  rich l0 Cdst tags Tree EvOut ftpc svt emcY2   Year 2 chain
    C3default  l0 Cdst tags Tree EvOut NoHits ftpc svt bbcsim emcY2   Year 3 simu base chain
    CAdefault  l0 Cdst tags Tree EvOut NoHits ftpc svt emcY2   Assymptotic chain
    Cy1a  y1a C1default   Turn on chain y1a
    Cy1b  y1b C1default   Turn on chain y1b
    Cy1s  y1s C1default   Turn on chain y1s
    Cy1d  y1d C1default   Turn on chain y1d
    cy1e  y1e C1default   Turn on chain y1h
    cy1h  y1h C1default   Turn on chain y1e
    Cy2a  y2a CAdefault   Turn on chain y2a
    Cy2b  y2b C2default   Turn on chain y2b
    C2000  y2000 C1default   Turn on chain Y2000
    C2001  y2001 C2default   Turn on chain Y2001
    C2003  y2003 C3default   Turn on chain Y2003
    C2003X  y2003X C3default   Turn on chain Y2003X (full B/E EMC)
    mdc3  cy1h GeantOut   MDC3 default chain
    MDC4  C2001 trs tpc_daq Simu srs fss rrs big GeantOut   Turn on chain for MDC4
    MDC4New  y2001n C2default trs tpc_daq Simu srs fss rrs big GeantOut   Turn on chain for MDC4 (for after September)
    PostMDC4  C2001 trs tpc_daq Simu sss fss rrs big GeantOut   Turn on Post MDC4 chain
    ppMDC4  ppOpt C2001 mwc trs tpc_daq Simu srs rrs big GeantOut   Turn on chain for ppMDC
    dAuMDC  ppOpt C2003 trs tpc_daq Simu srs fss big GeantOut   Chain for d+Au
    dAuMDCa  ppOpt C2003 trs tpc_daq Simu srs fss big GeantOut est   Chain for d+Au
    CComplete  Complete C2default   Turn on chain for Complete STAR
    SvtD  SvtCalDb SvtSeqAdj SvtClu SvtCluAnal SvtHit   SVT chain for Data
    P00h  ry1h in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout ExB NoHits   Production chain for summer 2000 data
    P2000  ry2000 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout ExB NoHits   Production chain for summer 2000 data
    B2000  ry2000 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout NosvtIT NossdIT   Base chain for 2001 (tpc+rhic)
    P2000a  B2000 Corr1   Production chain for summer 2000 data
    B2001  ry2001 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout svtDb   Base chain for 2001 (tpc+rhic)
    P2001  B2001 l3onl tofDat Corr2 OSpaceZ   Production chain for summer 2001 data (+ l3 tof)
    P2001a  B2001 svt_daq SvtD ftpc l3onl tofDat emcDY2 Corr2 OSpaceZ   Production chain for summer 2001 data (+ ftpc svt l3 tof emc)
    pp2001  ppOpt B2001 -PreVtx l3onl tofDat emcDY2 Corr2   pp 2001 (+ l3 tof emc)
    pp2001a  pp2001 svt_daq SvtD ftpc   pp 2001 (+ ftpc svt l3 tof emc)
    B2003  ry2003 in tpc_daq tpc Physics Cdst Kalman tags Tree evout svtDb   Base chain for 2003 (tpc)
    dau2003  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc   Production chain for winter 2003 data (+ tof svt (no est) ftpc emc)
    dau2003a  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data (+ tof svt (no est) ftpc emc trgd)
    pp2003  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for Spring 2003 data (+ tof svt (no est) ftpc emc trgd)
    Idst  event compend EventQA   Turn on DST for ITTF
    IAna  dEdxY2 Kink2 xi2 CMuDst analysis   Turn on Xi Kink dEdx and MuDst
    BAna  dEdxY2 CMuDst analysis   Turn on dEdx and MuDst
    B2003I  ry2003 in TpxRaw TpxClu Idst l0 tags Tree evout svtDb   Base chain for 2003 ITTF
    dau2003i  B2003I IAna CtbMatchVtx Corr2 ppOpt l3onl tofDat emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data dau2003a with ITTF
    pp2003i  B2003I IAna CtbMatchVtx Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data dau2003a with ITTF
    B2004  ry2004 in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2004 ITTF (tpc+svt)
    P2004  B2004 IAna fcf VFMinuit ToF emcDY2 ftpc trgd ZDCvtx svtIT Corr4 OSpaceZ2   Production chain for 2003/2004 data (+ l3 tof ftpc e/b-emc trgd)
    pp2004  B2004 IAna fcf ppOpt VFppLMV5 CtbMatchVtx ToF emcDY2 ftpc trgd ZDCvtx svtIT Corr4 OSpaceZ2   Production chain for 2003/2004 data (+ l3 tof ftpc e/b-emc trgd)
    B2005  ry2005b in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF (tpc+svt)
    B2005a  ry2005b in tpc_daq tpcI Physics Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2005 ITTF (tpc only)
    B2005b  ry2005f in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF Geo f (tpc+svt only)
    B2005c  ry2005g in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF Geo g (tpc+svt only + dead material)
    P2005  B2005 IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    P2005b  B2005b IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    P2005c  B2005c IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    pp2005  B2005 IAna fcf ppOpt VFppLMV5 CtbMatchVtx emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2005a  B2005a IAna fcf ppOpt VFPPV beamline CtbMatchVtx emcDY2 ftpc trgd ZDCvtx Corr4   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2005b  B2005b IAna fcf ppOpt VFPPV beamline CtbMatchVtx emcDY2 ftpc trgd ZDCvtx Corr4   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    B2006  ry2005d in tpc_daq tpcI svt_daq SvtD Idst tags Tree evout ssdDb   Base chain for 2006 ITTF (tpc+svt)
    B2006a  ry2005d in tpc_daq tpcI Idst tags Tree evout svtDb ssdDb   Base chain for 2006 with 2005d geom ITTF (tpc only)
    B2006b  ry2006 in tpc_daq tpcI Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2006 ITTF (tpc only)
    B2006g  ry2006g in tpc_daq tpcI Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2006 ITTF geo g (tpc only)
    pp2006a  B2006a IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr3   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2006b  B2006b IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr4 BeamBack   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2006g  B2006g IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr4 BeamBack   Production chain for 2005 pp data geo g (+ l3 tof ftpc e/b-emc trgd)
    T2007  ry2007g MakeEvent in tpc_daq tpcI fcf Tree evout   TPC only chain 2007 ITTF
    B2007  ry2007 MakeEvent in tpc_daq tpcI fcf svt_daq SvtD ssddat sptd Idst tags Tree evout   Base chain for 2007 ITTF (tpc+svt+ssd)
    B2007g  ry2007g MakeEvent in tpc_daq tpcI fcf svt_daq SvtD ssddat sptd Idst tags Tree evout   Base chain for 2007 ITTF geo g (tpc+svt+ssd)
    P2007  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr5   Production chain for 2007 data (+ l3 tof ftpc e/b-emc trgd)
    P2007g  B2007g IAna KeepSvtHit hitfilt VFMinuit2 emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr5   Production chain for 2007 data revised 2008 (+ l3 tof ftpc e/b-emc trgd)
    P2007a  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr3   Production chain for 2007 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2007b  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr4   Production chain for 2007 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    B2008  ry2008 in tpc_daq tpcI fcf Idst tags Tree evout   Base chain for 2008 ITTF (tpc)
    B2008a  ry2008 in tpcX ToFx tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2008 ITTF (tpc+tof)
    P2008a  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr3 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008b  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    pp2008a  B2008 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008c  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data (+ l3 tof ftpc e/b-emc trgd)
    pp2008c  B2008 IAna hitfilt ppOpt Minuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    pp2008  B2008a IAna hitfilt ppOpt VFPPV emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008  B2008a IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data (+ l3 tof ftpc e/b-emc trgd)
    B2009.1  ry2009 in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    B2009.2  ry2009a in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    B2009.3  ry2009d in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    pp2009a  B2009.1 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr (+ l3 ftpc e/b-emc trgd)
    pp2009b  B2009.1 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr (+ l3 ftpc e/b-emc no trigger)
    pp2009c  B2009.2 BAna hitfilt ppOpt emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr no VF (+l3 ftpc e/b-emc trig)
    pp2009d  B2009.3 BAna hitfilt ppOpt emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr no VF (+l3 ftpc e/b-emc trig)
    B2010  ry2010 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2010 ITTF (tpc)
    B2010c  ry2010c in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2010 ITTF (tpc)
    P2010a  B2010 BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc)
    pp2010a  B2010 BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc no VF)
    P2010c  B2010c BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc)
    pp2010c  B2010c BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc no VF)
    B2011  ry2011 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2011 ITTF (tpc)
    P2011a  B2011 BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 ftpc e/b-emc)
    pp2011a  B2011 BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 ftpc e/b-emc no VF)
    B2012  ry2012 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2012 ITTF (tpc)
    pp2012a  B2012 BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2012 data - no Corr (+ l3 e/b-emc no VF)
    P2012a  B2012 BAna hitfilt VFMinuit emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 e/b-emc)
    B2012b  ry2012a in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2012 ITTF (tpc)
    pp2012b  B2012b BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2012 data - no Corr (+ l3 e/b-emc no VF)
    P2012b  B2012b BAna hitfilt VFMinuit emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 e/b-emc)
    B2013  B2013_c2   Alias for B2013 Configuration 2
    B2013x  ry2013_1x B2013   Base chain for 2013 ITTF (tpc)
    pp2013x  B2013x BAna emcDY2 trgd ZDCvtx   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    B2013  B2013_c2   Alias for B2013 Configuration 2
    B2013_c2  ry2013_2c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2013 ITTF (tpc)
    B2013_c1  ry2013_1c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2013 ITTF (tpc)
    pp2013a  B2013_c2 ITTF UseXgeom BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    pp2013b  B2013_c1 ITTF UseXgeom BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    pp2013  BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    B2014  ry2014 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2014 ITTF (tpc)
    B2014a  ry2014a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2014a ITTF (tpc)
    P2014  B2014 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for 2014 data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2014a  B2014a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2014 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2015  ry2015 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2015 ITTF (tpc)
    B2015a  ry2015a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015a data
    B2015b  ry2015b in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015 with y2015b geometry
    B2015c  ry2015c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015 with y2015c geometry
    pp2015  B2015 ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2015 data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015a  B2015a ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015a data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015b  B2015b ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015b data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015c  B2015c ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015c data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015  B2015 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2015 data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015a  B2015a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015a data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015b  B2015b ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015b data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015c  B2015c ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015c data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2016  ry2016 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2016 ITTF (tpc)
    P2016  B2016 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2016 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2016a  ry2016a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Production chain for 2016 data (tpc)
    P2016a  B2016a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2016 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2017  ry2017 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2017 data (tpc)
    pp2017  B2017 Sti UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx analysis   Base chain for year 2017 pp data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2017  B2017 Sti UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx analysis   Base chain for year 2017 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2017a  ry2017a in tpcX CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Production chain for run 2017 data (tpc)
    pp2017a  B2017a ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline3D l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for year 2017 pp data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2017a  B2017a ITTF UseXgeom BAna hitfilt VFMinuit beamline3D l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for year 2017 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2018a  ry2018a in tpcX CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Base chain for run 2018 data (tpc)
    P2018a  B2018a ITTF UseXgeom BAna hitfilt VFMinuit beamline3D l3onl emcDY2 epdHit fpd trgd ZDCvtx analysis   Base chain for year 2018 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2019a  ry2019a in tpcX UseXgeom iTpcIT CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Base chain for run 2019 data (tpc)
    P2019a  B2019a ITTF BAna iTpcIT hitfilt VFMinuit beamline3D etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2019 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2020a  ry2020a in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2020 data (tpc)
    P2020a  B2020a ITTF BAna iTpcIT hitfilt VFMinuit etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2020 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2021a  ry2021a in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2020 data (tpc)
    P2021a  B2021a ITTF BAna iTpcIT hitfilt VFMinuit etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2020 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2022  ry2022 in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2022 data (tpc)
    pp2022  B2022 ITTF BAna hitfilt ppOpt ImpBToFt0Mode VFPPVnoCTB beamline3D l3onl etofa btof mtd emcDY2 FttDat fcs trgd ZDCvtx analysis   Production chain for year 2022 pp data - no Corr (+ l3 epd mtf b/etof fcs e/b-emc)
    LaserCal0  db detDb tpc_daq tpcDb tcl globT laser LaserTest   Laser Calibration Chain (tcl)
    LaserCal  db detDb tpc_daq tpcDb fcf globT laser LaserTest   Laser Calibration Chain
    L3Counter  db detDb in l3count   L3 Counter extraction pass
    VtxSeedCal  ppOpt ry2001 in tpc_daq tpc globT -Tree Physics -PreVtx FindVtxSeed NoEvent Corr2   Pass0 Vertex evaluator
    SpcChgCal  B2004 fcf Corr3 OSpaceZ2 OShortR SCEbyE -Tree -tags -EvOut -EventQA   Pass0 SpaceCharge evaluator
    SpcChgCalG  MuDST fcf Corr4 OSpaceZ2 OGridLeak3D SCEbyE -Tree -tags -EvOut -EventQA   Pass0 SpaceCharge evaluator with GridLeak no geo or tracker dependence
    VtxSeedCalG  MuDST fcf Corr4 FindEvtVtxSeed -Tree -tags -EvOut -EventQA   Pass0 Vertex evaluator
    OPTIONS
    ITTF      request to use one of Sti(default) StiCA Stv StvCA ... trackers
    NoHits      Don\'t write hits into Event.Branch
    Kalman      WARNING *** Option is OBSOLETE ***
    Eval      Turn on evaluation switch for different makers
    Ev03      Turn on alternative V0 method
    off      Turn off default chain
    clearDAQCTB      clear DAQ CTB Hits for embedding
    NoInput      No input file
    util     StAnalysisUtilitiesLoad StAnalysisUtilities
    StUtilities     StUtilitiesLoad StUtilities
    FieldOn  MagF   Constant nominal field
    FieldOff  MagF   No Field option
    HalfField  MagF   Half Field option
    ReverseField  MagF   Reverse Field option
    NoCintDb      Switch off all Cint Db
    NoStarCintDb      Switch off standard Cint Db
    NoLocalCintDb      Switch off local Cint Db
    NoMySQLDb      Switch off MySQL Db
    NoCintCalDb  NoLocalCintDb   Switch off local Cint Db
    dbSnapshot      Create?use dbSnapshot
    NoEvent  -event -analysis   Switch Off StEvent and StAnalysis Makers
    MakeDoc      Make HTML documentation for the given Chain
    Debug      Set debug flag = 1
    Debug1      Set debug flag = 1
    Debug2      Set debug flag = 2
    IdTruth      Enable IdTruth association in StAssociationMaker
    OldMiniMc      Keep pre-2008 convention for MiniMc
    useInTracker      switch from EGR to ITTF global tracks in StAssociationMaker
    noRepeat      No repeat in Messenger
    noHistos      Disables Attributes histos
    noRunco      Disables Attributes runco
    Higz      Pop Higz window
    big      Set NwGEANT =20Mwords
    bigbig      Set NwGEANT =40Mwords
    huge      Set NwGEANT =80Mwords
    clearmem      Obsolete
    adcOnly      DAQMaker selects only TPC ADC events
    InTree  in   bfcTree Input Tree name
    OutTree  Tree   bfcTree Output Tree name
    DstOut      WARNING *** Option is OBSOLETE ***
    McEvOut  StMcEvent Tree   Write StMcEvent to StTree
    EvOut  Tree   Write StEvent to StTree
    GeantOut  Tree   Write g2t tables to StTree
    Simu      Simulated Data force to use Db time stamp from used geometry
    HitsBranch      take out points from dst branch and put them into HitsBranch
    paw      Allocate memory for pawc
    AllEvent  Tree   Write whole event to StTree
    AllTables     St_TablesLoad Star Tables
    FXT  btofFXT   enable anything FXT-specific
    btofFXT      enable FXT mode for btof
    Corr1  AlignSectors ExB OBmap OClock OPr13   ... AlignSectors ExB OBmap OClock OPr13 ...
    Corr2  Corr1 OTwist OIFC   ...Corr1+OTwist OIFC ...
    Corr3  AlignSectors ExB OBmap2D OClock OPr13 OTwist OIFC   ... AlignSectors ExB OBmap2D OClock OPr13 OTwist OIFC ...
    Corr4  Corr3 OShortR   ... Corr3+OShortR...
    Corr5  Corr4 SCEbyE OGridLeak3D OSpaceZ2   ... Corr4+SCEbyE OGridLeak3D OSpaceZ2...
    CorrX  ExB OShortR OBmap OPr13 OIFC OSectorAlign NewTpcAlignment -AlignSectors -OBmap2D -OClock -OTwist  
    CorrY  ExB OShortR OBmap OPr40 OIFC OSectorAlign NewTpcAlignment OSpaceZ2 OGridLeakFull -AlignSectors -OBmap2D -OClock -OTwist  
    ExB      Activate ExB correction
    EB1      Force ExB configuration 1
    EB2      Force ExB configuration 2
    OBmap      ExB shape correction
    OBmap2D      ExB 2 D shape correction
    OTwist      ExB twist correction
    OClock      Clock/tpc rot. correction
    OPr13      PadRow 13 distortion
    OPr40      PadRow 40 distortion
    OCentm      Central membrane correction
    OECap      EndCap (curved) correction
    OIFC      Field Cage correction
    OSpaceZ      Space Charge corrections
    OSpaceZ2      Space Charge corrections R2
    OShortR      Shorted Ring correction
    OGridLeak      Grid Leak correction
    OGridLeak3D      3D Grid Leak correction
    OGridLeakFull      Full Grid Leak correction
    OGGVoltErr      GG voltage error correction
    OSectorAlign      Sector alignment distortion correction
    ODistoSmear      Distortion smearing accounting for calibration resolutions
    OAbortGap      Abort gap cleaning event distortion correction
    AlignSectors      WARNING *** Option is OBSOLETE ***
    EbyET0      Event-by-event T0 corrections
    DbRichSca  detdb   Force reading of Rich scalers from DB
    EastOff      Disactivate East part of tpc
    WestOff      Disactivate West part of tpc
    AllOn      Activate both East and West parts of tpc
    ReadAll      Activate all branches to read
    pp      WARNING *** Option is OBSOLETE ***
    ppOpt  TrsPileUp   pp option without enabling special cases
    TrsPileUp      Trs pile up mode
    TrsToF      Trs account for particle time of flight
    SvtMatchVtx      WARNING *** Option is OBSOLETE ***
    VtxOffSet      Account Primary Vertex offset from y2000 data
    Calibration      Calibration mode
    beamLine      LMV Beam line constrain
    beamLine3D      Use beamline in 3D vertex fit
    min2trkVtx      ...only 2 tracks needed for vertex finding
    hitreuseon      ...do re-use hits for other tracks in Sti
    usePct4Vtx      Use Post-Crossing Tracks for vertex finding
    useBTOF4Vtx      Use BTOF track matching for vertex ranking
    useBTOFmatchOnly  useBTOF4Vtx   Use BTOF track matching only
    svt1hit      Use 1 SVT hit only combination
    onlcl      Read/use TPC DAQ100 clusters
    onlraw      Read/use TPC raw hits
    ezTree      Create ezTree branch
    BEmcDebug      Turn OFF B-EMC hit reconstruction cuts
    BEmcChkStat      Turn ON status checking in raw data
    useLDV      ... uses laserDV database flavor
    useCDV      ... uses ofl database flavor
    useNewLDV      ... uses ofl database flavor
    tables  StDbT ebyeT emc_T ftpcT gen_T geomT globT l3_T sim_T svt_T tpc_T    
    tables  StDbT ebyeT emc_T ftpcT gen_T geomT globT l3_T sim_T svt_T tpc_T    
    StDbT     StDb_TablesLoad StDb_Tables
    ctf_T     ctf_TablesLoad ctf_Tables
    ebyeT     ebye_TablesLoad ebye_Tables
    emc_T     emc_TablesLoad emc_Tables
    ftpcT     ftpc_TablesLoad ftpc_Tables
    gen_T     gen_TablesLoad gen_Tables
    geomT     geometry_TablesLoad geometry_Tables
    globT     global_TablesLoad global_Tables
    l3_T     l3_TablesLoad l3_Tables
    mwc_T      WARNING *** Option is OBSOLETE ***
    sim_T     sim_TablesLoad sim_Tables
    svt_T     svt_TablesLoad svt_Tables
    tpc_T      WARNING *** Option is OBSOLETE ***
    trg_T      WARNING *** Option is OBSOLETE ***
    vpd_T      WARNING *** Option is OBSOLETE ***
    Embedding  -Simu   Embedding run
    Utilities
    Geometry+Mag
    pgf77     pgf77VMCFortran
    rootcern  geant3   ROOT minicern OBSOLETE
    StarMiniCern  geant3   STAR addition to minicern OBSOLETE
    mysql     libmysqlclientMySQL
    libPhysics     libPhysicsTVector
    geant3vmc  -usexgeom -xgeometry  libGeom libVMC libgeant3VMC geant3
    geant3  geant3vmc  EG Pythia6 EGPythia6VMC geant3 plus ROOT EG pythia6
    geometry     geometrygeometry+Mag.Field
    StarMagField  magF  VMC StarMagFieldLoad StarMagField
    geomNoField  -geometry StarMagField  geometryNoFieldgeometry-Mag.Field
    xgeometry  -geometry -geomNoField  xgeometryAgML geometry-Mag.Field
    UseProjectedVertex      Run StBTofCalibMaker w/wo Primary Vertex
    ImpBToFt0Mode      pppAMode in StVpdCalibMaker and StBTofCalibMaker
    setOutlierRej4BToft0      setPPPAOutlierRej is set in StBTofCalibMaker
    vpd      WARNING *** Option is OBSOLETE ***
    tls      WARNING *** Option is OBSOLETE ***
    rts     RTSload libRTS
    daq  rts  StDaqLib StDAQMakerLoad StDAQMaker
    SCL     StarClassLibraryLoad StarClassLibrary
    SvtCL     Geom StSvtClassLibrary 
    TbUtil  sim_T tpc_t globT SCL  StTableUtilitiesLoad StTableUtilities
    TofUtil     StTofUtilLoad StTofUtil
    BTofUtil     StBTofUtilLoad StBTofUtil
    ETofUtil     StETofUtilLoad StETofUtil
    MtdUtil     StMtdUtilLoad StMtdUtil
    StBichsel     StBichselLoad Bichsel model for dE/dx
    StEvent  globT SCL TRGDef StBichsel EmcUtil TbUtil detDb  StEventLoad StEvent
    PxlUtil     StPxlUtilLoad StPxlUtil
    IstUtil     StIstUtilLoad StIstUtil
    SsdUtil  StarMagField StEvent  Geom StSsdUtilLoad SSD Util
    SstUtil  StarMagField StEvent  Geom StSstUtilLoad SST Util
    EmcUtil  emc_T geomT StDbT  StEmcUtilLoad StEmcUtil
    EEmcUtil     StEEmcUtilLoad StEEmcUtil
    FmsUtil     StFmsUtil libMinuitLoad StFmsUtil
    FgtUtil     StFgtUtilLoad StFgtUtil
    GmtUtil     StGmtUtilLoad StGmtUtil
    l3Util      WARNING *** Option is OBSOLETE ***
    PmdUtil     StPmdUtilLoad StPmdUtil
    QUtils  PmdUtil EmcUtil   Load QA Libs dependencies
    Stu     StEventUtilitiesLoad StEventUtilities
    MuDSTDeps  StEvent Stu StBichsel  StStrangeMuDstMaker TreeLoad MuDST misc. dependencies
    MuDST  MuDSTDeps EmcUtil TofUtil BTofUtil PmdUtil  StMuDSTMakerLoad MuDST library
    picoEvt  StEvent Stu  StPicoEventLoad picoEvent and dependencies
    picoDst  picoEvt EmcUtil TofUtil BTofUtil PmdUtil  StPicoDstMakerLoad PicoDST library
    geantL  geomT gen_T sim_T StarMagField  geometry Geom St_db_Maker St_g2t St_geant_MakerLoad GeantLibs
    gstarLib     gstarLoad gstar lib
    flux  simu  fluxLoad flux lib
    Generators
    stargen  gen_T sim_T  libVMC.so libStarGeneratorUtil.so libStarGeneratorEvent.so libStarGeneratorBase.so libStarGeneratorFilt.so libMathMore.soSTAR Generator BASE
    pythia8.1.86  stargen  Pythia8_1_86.soLoad Pythia 8.1.86 generator
    pythia8.2.35  stargen  Pythia8_2_35.soLoad Pythia 8.1.86 generator
    hijing1.383  stargen  Hijing1_383.soLoad Hijing 1.383 generator
    kinematics  stargen  Kinematics.soLoad STAR Particle Gun
    genreader  stargen  StarGenEventReader.soLoad STAR Gen Event Reader
    I/O Makers
    gstargeant -fzin -ntin -geant Simu geantL St_geant_Maker gstar for 80 muon tracks with pT = 1GeV in |eta|<4
    pythiageant -gstar -fzin -ntin -geant geantL St_geant_MakerPythia6_4_26 bpythiaLoad Pythia in starsim set pp 510 GeV
    Wenu  pythia   set pp 510 GeV -> W+/- -> e+/- nu/nubar
    hijinggeant -gstar -fzin -ntin -geant geantL St_geant_MakerStarGeneratorUtil StarGeneratorEvent StarGeneratorBase Hijing1_383Load Hijing in starsim set AuAu200 GeV
    tdaq      WARNING *** Option is OBSOLETE ***
    miniDAQ      WARNING *** Option is OBSOLETE ***
    fzingeant Simu -gstar -ntin -geant geantL St_geant_Maker read gstar fz-file
    UseXgeom  -geometry -geomNoField xgeometry   suppress mortran version of geometry
    in    StIOMakerStIOMakerRead [DAQ|ROOT] input file
    Db makers
    dbdb StDbT St_db_MakerStDbLib StDbBroker St_db_Maker 
    magFMagField StDbT db detDb StMagFMakerStarMagField StMagFMag.field map with scale factor from Db
    detDbdetDb db StDetectorDbMakerStDetectorDbMakerLoad StDetectorDbMaker library
    mtingeant -fzin -geant -gstar geantL gstarLib -magF St_geant_Makergstarread event from MuDst
    tpcDBtpcDB tpc_T dbutil detDb StarMagField magF StEvent StTpcDbMakerStTpcDb 
    dbutil  detDb StDbT  StDbUtilitiesLoad StDbUtilities
    svtDbsvtDb tpcDb SvtCL StSvtDbMakerStSvtDbMakerLoad and run SvtDbMaker
    ssdDbssdDb tpcDb SsdUtil StSsdDbMakerStSsdDbMakerLoad and run SsdDbMaker
    sstDbsstDb tpcDb SstUtil StSstDbMakerStSsdDbMakerLoad and run SstDbMaker
    svtCalDb  svtDb   Declare Calibrations/svt as while list member
    ssdCalDb  ssdDb   Declare Calibrations/ssd as while list member
    sstCalDb  sstDb   Declare Calibrations/sst as while list member
    eemcDbeeDb db EEmcUtil StEEmcDbMakerStEEmcDbMakerLoad EEmcDbMaker
    fmsDbfmsDb db fmsutil StFmsDbMakerStFmsDbMakerLoad FmsDbMaker
    fcsDbfcsDbMkr   StFcsDbMakerStFcsDbMakerLoad FcsDbMaker
    fttDbfttDbMkr   StFttDbMakerStFttDbMakerLoad FttDbMaker
    fgtDbfgtDb db fgtutil StFgtDbMakerStFgtDbMakerLoad FgtDbMaker
    pxlDbpxlDb tpcDb PxlUtil StPxlDbMakerStPxlDbMakerLoad PxlDbMaker
    istDbistDb tpcDb StIstDbMakerStIstDbMakerLoad IstDbMaker
    fstDbfstDb tpcDb StFstDbMakerStFstDbMakerLoad FstDbMaker
    epdDbepdDb tpcDb StEpdDbMakerStEpdDbMakerLoad EpdDbMaker
    MAKERS
    ntingeant paw -fzin -geant -gstar Simu geantL gstarLib St_geant_Maker read event generated Hbook nt-file
    PrepEmbed  geantEmb StPrepEmbedMakerSt_geant_MakerPrepare kinematics for embedding
    PythiaEmbed  pythia -Simu   Prepare kinematics for embedding
    geantgeant geantL St_geant_Maker passive GEANT
    geantEmbgeant geantL St_geant_Maker GEANT embedding mode
    RootVMC  -geant -fzin -ntin StarMagField -geantL -geometry -geomNoField geant3    
    VMCAppl  geomT gen_t sim_T tpcDB RootVMC  StSvtDbMaker StSsdDbMaker StarVMCApplicationVMC G3
    VMCgeant Simu VMCAppl -geant StVMCMakerStVMCMakerVMC Maker
    VMCPassivegeant VMCAppl StVMCMakerStVMCMakerVMC Maker in Passive Mode
    trgtrgl0Chaintrg_T globT db St_trg_MakerSt_trg St_trg_Makertrigger analysis for Year 2001-2005 data
    TRGDef     StTriggerDataMakerLoad StTriggerData
    trgdtrgd TRGDef StTriggerDataMakerStTriggerDataMakerGet trigger data
    MakeEvent0Event StEvent detDb StEventMakerStTpcDb StEventMaker
    LaserAvEv    StLaserAvEventMakerStLaserAvEventMakerHejrad
    LaserAvCl    StLaserAvClusterMakerStLaserAvClusterMaker 
    l0l0Chain globT ctf trg StMakerStChain 
    ctfctfl0Chainctf_T db St_ctf_Makerctf St_ctf St_ctf_MakerToF simulation
    mwc      WARNING *** Option is OBSOLETE ***
    ppMCTrig      WARNING *** Option is OBSOLETE ***
    pp2pp    St_pp2pp_MakerSt_pp2pp_Makerpp->pp
    mtdFilt    StMtdEvtFilterApplyMakerStDataFilterMakerMTD-based event filtering
    mtdMtdChain mtdDat mtdMatch StMakerStChainMTD Chain
    mtdDatmtd_rawMtdChaindb MuDst StMtdHitMakerStEvent StMtdHitMakerMTD hit maker
    mtdTrkMask  db StMtdTrackingMaskMakerStMtdEvtFilterMakerMTD track masking
    epdHit  epdDb event StEpdHitMakerStEpdHitMakerEPD hit maker
    tpc  TpxRaw TpxClu tpcI   WARNING *** Option is OBSOLETE *** use TpxClu instead
    tpcItpcChain db tpcDB TpcHitMover StMakerStChaintpc with ITTF
    tpcXtpcChain -tpcI tpx MakeEvent StMakerStChaintpc+tpcx with ITTF
    TrsTrstpcChainscl tpcDB TrsToF StEvent EmbeddingShortCut StTrsMakerStTrsMaker 
    TpcRS tpcChainscl tpcDB -Trs -EmbeddingShortCut Stu StTpcRSMakerlibMathMore StdEdxY2Maker StTpcRSMakerNew Tpc Response Simulator
    tfs  TpcFastSim   WARNING *** Option is OBSOLETE *** use TpcFastSim instead
    TpcFastSimtpc_hitstpcChainMakeEvent Simu -trs -TpcRS -tcl -tpxclu -fcf -tpc_daq StEvent -TpcHitMover EmbeddingShortCut StTpcFastSimMakerSt_tcl_Makeruse tfs (no Trs or TpcRS)
    EmbeddingShortCut      Short Cut for StdEdxY2Maker and StTpcHitMover
    StMcEvent  gen_t sim_T  StMcEvent 
    McEvent  StEvent tpcDb EEmcUtil EmcUtil StMcEvent StMcEventMakerStMcEventMaker 
    Mixertpc_raw daq StMixerMakerStTrsMaker StMixerMaker 
    St_tpc      WARNING *** Option is OBSOLETE ***
    St_svt      WARNING *** Option is OBSOLETE ***
    tpc_daq  TpxRaw   WARNING *** Option is OBSOLETE *** use TpxRaw instead
    tcl  TpxRaw TpxClu MakeEvent   WARNING *** Option is OBSOLETE *** use option TpxRaw TpxClu MakeEvent instead
    fcf  -tcl tpcX   WARNING *** Option is OBSOLETE *** use tpcX instead
    tpxtpc_hitstpcChainMakeEvent tpc_T StEvent rts detDb StTpcHitMakerStTpcHitMakerTPC hit reader for tpc + tpx via EVP_READER
    gmtGmtChain gmtDat gmtClu StMakerStChainGmt data Chain
    gmtDat GmtChainevent StGmtRawMakerStGmtRawMakerGMT Data reader
    gmtClu GmtChaingmtutil StGmtClusterMakerStGmtClusterMakerGMT cluster maker
    TpxPulserTpxPulsertpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX pulser analysis
    TpxPadMonitor      WARNING *** Option is OBSOLETE ***
    TpxAvLaserTpxAvLasertpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX averaging laser events into Sparse histogram on pixels level
    TpxDumpPxls2NtTpxDumpPxls2NttpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX pixel dump to NTuple
    TpxRawTpxRawtpcChainrts detDb StEvent StTpcHitMakerStTpcHitMakerTPC+TPX convert DAQ Tpc Raw Data to TpcRawEvent used by TpcMixer and/or TpxClu
    TpcMixer tpcChainStEvent rts -Mixer -tpx TpxClu StTpcMixerMakerStTpcHitMaker 
    TpxClutpc_hitstpcChainrts tpcDb detDb -tpx -tpc_daq -fcf StTpcRTSHitMakerStTpcHitMakerRTS(online) cluster maker
    TpxClu2D  TpxClu   RTS(online) 2D-cluster maker
    TpcAvClusterTpcAvClustertpcChainrts detDb StTpcAvClusterMakerStTpcHitMakerTPC+TPX averaging laser events into Sparse histogram on cluster level
    Velo tpcChaintpc_T StVeloMakerStVeloMaker 
    TpcHitMovertpc_hit_movertpcChaintpcDb StEvent Stu StTpcHitMoverStTpcHitMoverMakerTPC hits coord transform + corrections
    tpt ITTF    WARNING *** Option is OBSOLETE *** use ITTF
    tpt_old ITTF    WARNING *** Option is OBSOLETE *** use ITTF
    TpcT0      WARNING *** Option is OBSOLETE ***
    ChargeStep      WARNING *** Option is OBSOLETE ***
    laser      WARNING *** Option is OBSOLETE ***
    PreVtx      WARNING *** Option is OBSOLETE ***
    svtsvtChain svt_T SvtCL StMakerStChain 
    svt_daqsvt_rawsvtChaindaq SvtCL StSvtDaqMakerStSvtDaqMaker 
    sss  SvtSlowSim   Short cut for SvtSlowSim
    SvtSlowSim  SvtSSim SvtOnlSeq   Short cut for SvtSlowSim and SvtOnlSeq
    SvtSSimSvtSSimusvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtSimulationMakerStSvtSimulationMaker StSvtCalibMaker 
    SvtEmbed  SvtSSim SvtEm SvtOnlSeq   Short cutfor SvtSlowSim and SvtOnlSeq
    SvtEmSvtEmsvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtEmbeddingMakerStSvtSimulationMaker StSvtCalibMaker 
    SvtOnlSeqSvtOnlSeqsvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtOnlineSeqAdjSimMakerStSvtSimulationMaker 
    srs  sfs   WARNING *** Option is OBSOLETE use sfs instead ***
    sfssvt_hitssvtChainsvtDb Simu SvtCL -sss -SvtSlowSim StEvent MakeEvent St_sfs_MakerSt_srs_MakerVery fast simulator for SVT
    SvtSeqAdjSvtSeqAdjsvtChainSvtCL StSvtSeqAdjMakerStSvtSeqAdjMaker 
    SvtCluSvtClusvtChainsvt_T StEvent SvtCL StSvtClusterMakerStSvtClusterMaker 
    SvtCluAnalSvtCluAnalsvtChainSvtCL StSvtClusterAnalysisMakerStSvtClusterMaker 
    SvtHitsvt_hitssvtChainSvtCL StSvtHitMakerStSvtClusterMaker 
    SvtVtx      WARNING *** Option is OBSOLETE ***
    stk      WARNING *** Option is OBSOLETE ***
    Est  SvtIT   WARNING *** Option is OBSOLETE *** use SvtIT instead
    global  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Match  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Vertex  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Primary  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    V0  V02   WARNING *** Option is OBSOLETE use V02 instead***
    Xi  Xi2   WARNING *** Option is OBSOLETE use Xi2 instead***
    Kink  Kink2   WARNING *** Option is OBSOLETE use Kink2 instead***
    dst      WARNING *** Option is OBSOLETE ***
    Fglobal      WARNING *** Option is OBSOLETE ***
    Fprimary      WARNING *** Option is OBSOLETE ***
    dEdx      WARNING *** Option is OBSOLETE ***
    svtdEdx      WARNING *** Option is OBSOLETE ***
    Event  MakeEvent   Request to initialize event
    pxlRaw  pxlDb StPxlRawHitMakerStPxlRawHitMakerPXL raw hit maker
    pxlFastSim  pxlRaw StMcEvent StEvent StPxlSimMakerStPxlSimMakerPXL Fast Simulator
    pxlSlowSim  pxlRaw StMcEvent StEvent StPxlSimMakerStPxlSimMakerPXL Slow Simulator
    pxlCluster  pxlRaw StPxlClusterMakerStPxlClusterMakerPXL cluster maker
    pxlHit  event pxlCluster StPxlHitMakerStPxlHitMakerPXL hit maker
    istSlowSim  StMcEvent StEvent IstUtil StIstSlowSimMakerStIstSimMakerIST Slow simulator
    istFastSim  StMcEvent StEvent StIstFastSimMakerStIstSimMakerIST Fast simulator
    istRawHit  istUtil istDb StIstRawHitMakerStIstRawHitMakerIST RAWhit maker
    istCluster  istRawHit StIstClusterMakerStIstClusterMakerIST Cluster maker
    istHit  event istCluster StIstHitMakerStIstHitMakerIST Hit Maker
    fstfstChain fstRawHit fstCluster fstHit StMakerStChainFST chain
    fstFastSim fstChainStMcEvent StEvent StFstFastSimMakerStFstSimMakerFST fast simulator
    fstRawHit fstChainfstUtil fstDb StFstRawHitMakerStFstRawHitMakerFST raw hit maker
    fstCluster fstChainfstRawHit StFstClusterMakerStFstClusterMakerFST Cluster maker
    fstHit fstChainevent fstCluster StFstHitMakerStFstHitMakerFST Hit Maker
    fstUtil     StFstUtilFst Utilities
    ssddat  ssd_daq   SSD full chain for Real Data
    sstdat  sst_daq   SST full chain for Real Data
    ssd_daq  ssdCalDb svt_T -sls -spa ssdUtil StSsdDaqMakerStSsdDaqMaker... SSD Daq
    sst_daq  sstCalDb svt_T -sls -spa sstUtil StSstDaqMakerStSstDaqMaker... SSDT Daq
    ssdfast  ssdDb StMcEvent StEvent StSsdFastSimMakerStSsdFastSimMaker... SSD fast simulator
    ssd  ssdCalDb sls spa sptd   SSD full chain for simulation
    sls  McEvent Simu svt_T SvtCL St_sls_MakerStSsdSimulationMaker... SSD slow simulator
    spaSpaStrip Simu svt_T SvtCL ssdUtil St_spa_MakerStSsdSimulationMaker... SSD Pedestal Annihilator
    SsdEmbed    StSsdEmbeddingMakerStSsdSimulationMaker... SSD Mixing geom Maker
    spt  sptd   Alias for sptd - please replace in chain
    sptd  ssdUtil svt_T StSsdPointMakerStSsdPointMaker... SSD Point Creator
    sptt  sstUtil StSstPointMakerStSstPointMaker... SST Point Creator
    sstHit  sst_daq sptt   SST reconstruction chain
    ssdpre  ssdEmbed spa   SSD full chain for pre-embedding
    ssdAdd  ssd_daq StSsdAddMakerStSsdAddMaker... SSD merge maker
    ssdE  ssdpre ssdAdd   SSD full chain for embedding
    ZDCVtx  db StZdcVertexMakerStZdcVertexMaker 
    emcDY2emcRaw daq eemcDb EEmcUtil emc_T EmcUtil StEvent PreEcl Epc StEmcRawMakerStEmcRawMakerB/E EMC data common maker
    eemcD      WARNING *** Option is OBSOLETE ***
    emcY2  emc_T tpc_T db emcSim PreEcl epc   EMC Chain for Y2A (must be before makers which include in this chain)
    emcSim  emc_T EmcUtil McEvent MuDST StEmcSimulatorMakerStEmcSimulatorMakerNew simulator for BEMC
    EEfseefs eemcDb EEmcUtil MuDst StEEmcFastMakerStEEmcSimulatorMakerEEMC fast simulator
    EEsseess -eefs eemcDb EEmcUtil MuDst StEEmcSlowMakerStEEmcSimulatorMakerEEMC slow simulator
    BEmcMixer    StEmcMixerMakerStEmcMixerMakerBEMC mixer
    emcAtoEbemcA2E db StEmcADCtoEMakerStEmcADCtoEMakerB-EMC ADC to E converter OBSOLETE for data in Run 9 or later
    PreEclpreecl   StPreEclMakerStPreEclMakerB-EMC Cluster finder
    Epcepc PreEcl EmcUtil StEpcMakerStEpcMakerB-EMC point maker
    EEmcMixer    StEEmcMixerMakerStEEmcSimulatorMakerEEMC mixer
    eemcA2EeemcA2E db StEEmcA2EMakerStEEmcA2EMakerE-EMC ADC to E converter
    eemCleemCl db StEEmcClusterMakerStEEmcClusterMakerE-EMC clustering
    btofBTofChain btofDat vpdCalib btofMatch btofCalib StMakerStChainBTOF Chain
    BtofDattof_rawBTofChaindb BTofutil StBTofHitMakerStEvent StBTofHitMakerBTOF hit maker
    vpdSim VpdChainBTofUtil StVpdSimMakerStEvent StMcEvent StBTofHitMaker StVpdSimMakerVpd Simulator
    vpdCalib BTofChaindb BTofUtil StVpdCalibMakerStVpdCalibMakerVPD calibration
    btofSim BTofChainBTofUtil StBTofSimMakerStEvent StMcEvent StTofUtil StBTofHitMaker StBTofSimMakerBTOF Simulator
    btofMixer BTofChainBTofUtil StBTofMixerMakerStEvent StBTofHitMaker StBTofMixerMakerBTof Mixer
    ETofDatetof_rawETofChaindb ETofUtil StETofDigiMakerStEvent StETofDigiMakerETOF digi maker
    ETofCalib ETofChaindb ETofUtil muDst StETofCalibMakerStETofCalibMakerETOF calibration
    ETofSim ETofChain  StETofSimMakerStETofSimMakerETOF simulator
    mtdSim MtdChain  StMtdSimMakerStEvent StMtdSimMakerMTD Simulator
    ToFTofChain tofDat tofrMatch tofpMatch tofCalib geant StMakerStChainToF Chain
    ToFxTofChain tofXDat tofrMatch tofCalib geant StMakerStChainToFx Chain
    tofDattof_rawTofChaindb Tofutil StTofMakerStEvent StTofMakerTOF Data base chain
    tofXDattof_rawTofChaindb Tofutil StTofHitMakerStEvent StTofMaker StTofHitMakerTOF hit maker
    tofsim TofChainTofUtil StTofSimMakerStEvent StTofMaker StTofSimMakerTOF Simulator Tof version before y2009
    tofrMatch TofChaindb TofUtil StTofrMatchMakerStTofrMatchMakerTPC to TOFr track matching
    tofpMatch TofChaindb TofUtil StTofpMatchMakerStTofpMatchMakerTPC to TOFp track matching
    tofCalib TofChaindb TofUtil StTofCalibMakerStTofCalibMakerTOF calibration
    FiltGamma  StEvent StMcEvent EmcUtil StGammaFilterMakerStFilterMakerBEmc Gamma filtering
    FiltEemcGamma  StEvent StMcEvent EmcUtil StEemcGammaFilterMakerStFilterMakerEEmc Gamma filtering
    rich      WARNING *** Option is OBSOLETE ***
    Rrs      WARNING *** Option is OBSOLETE ***
    rch      WARNING *** Option is OBSOLETE ***
    RichPiD      WARNING *** Option is OBSOLETE ***
    l3      WARNING *** Option is OBSOLETE ***
    l3cl      WARNING *** Option is OBSOLETE ***
    l3t      WARNING *** Option is OBSOLETE ***
    l3onl    Stl3RawReaderMakerStl3RawReaderMaker 
    l3count    Stl3CounterMakerStl3RawReaderMaker 
    bbcSim  db StBbcSimulationMakerStBbcSimulationMakerBBC Simulator
    fmsSim  StEvent fmsDb StFmsFastSimulatorMakerStFmsFastSimulatorMakerFMS Fast Simulator
    fmsDat  StEvent fmsDb StFmsHitMakerStFmsHitMakerFill FMS struct and zero TRG
    fpsDat  StEvent fmsdb StFpsRawHitMakerStFpsRawHitMakerFill FPS struct
    fmsPoint  event fmsDb StFmsPointMakerStFmsPointMakerFill FMS clusters and points
    fmsfps  event fmsDb StFmsFpsMakerStFmsFpsMakerFill FPS association in FMS points
    fcsfcsChain fcsDat fcsWFF fcsCluster fcsPoint StMakerStChainFCS chain
    fcsSim fcsChainStEvent fcsDb StFcsFastSimulatorMakerStFcsFastSimulatorMakerFCS Fast Simulator
    fcsDat fcsChainStEvent fcsDb StFcsRawHitMakerStFcsRawHitMakerFCS daq file reader/hit maker
    fcsWFF fcsChainStEvent fcsDb StFcsWaveformFitMakerStFcsWaveformFitMakerFit FCS waveform
    fcsCluster fcsChainStEvent fcsDb StFcsClusterMakerStFcsClusterMakerFill FCS clusters
    fcsPoint fcsChainStEvent fcsDb StFcsPointMakerStFcsPointMaker libMinuitFill FCS points
    fttfttChain FttDat FttHitCalib FttClu FttPoint StMakerStChainFST chain
    FttDat fttChainStEvent StFttRawHitMakerStFttRawHitMaker StEventsTGC Raw hit maker
    FttHitCalib fttChainStEvent MuDST StFttHitCalibMakerStFttHitCalibMaker StFttRawHitMaker StEventsTGC hit calib maker
    FttClu fttChainStEvent fttDb StFttClusterMakerStFttClusterMaker StEvent StFttDbMakersTGC Cluster maker
    FttPoint fttChainStEvent fttDb StFttPointMakerStFttPointMaker StEvent StFttDbMakersTGC Point maker
    FttQA fttChain  StFttQAMakerStFttQAMakersTGC Raw hit QA maker
    fpd      WARNING *** Option is OBSOLETE ***
    fgtFgtChain fgtDat fgtClu fgtAtoC StMakerStChainFgt data Chain
    fgtDat  event fgtdb StFgtRawMakerStFgtRawMakerFGT Data reader
    fgtAtoC  fgtdb StFgtA2CMakerStFgtA2CMakerFGT ADC to Charge maker
    fgtClu  fgtutil StFgtClusterMakerStFgtClusterMakerFGT cluster maker
    fgtAtoC  fgtdb StFgtA2CMakerStFgtA2CMakerFGT ADC to Charge maker
    fgtPoint  event StFgtPointMakerStFgtPointMakerCreates FGT points
    genvtx  EEmcUtil StGenericVertexMakerMinuit StGenericVertexMakerNoStiGeneric Vertex Finder library (default is MinuitVertexFinder)
    VFMinuit  genvtx   ... Generic VF will use Minuit method
    CtbMatchVtx  VFMinuit   ... CTB Matching ON in Vertex Finding
    VFMinuit2  VFMinuit   ... Generic VF will use Minuit method w/rank mode 2
    VFMinuit3  VFMinuit   ... Generic VF will use Minuit method w/rank mode 3
    VFFV  genvtx   ... Fixed dummy VF method
    VFMCE  genvtx   ... Fixed vertex from MCEvent
    VFppLMV  genvtx   ... VertexMaker will use ppLMV method
    VFppLMV5  VFppLMV   ... VertexMaker will use ppLMV method (tuned)
    VFStoreX      ... VertexMaker will use save at least 100 vertices
    StiPulls  Sti   Request to make Sti Pulls
    StvPulls      Request to make Stv Pulls
    StiLib     Sti StiUtilitiesLoad Sti
    StiCALib     TPCCATracker StiCALoad Sti+CA
    StiTpc  TpcDb ITTF tpc_T dbutil detDb StarMagField magF  StiTpcLoad StiTpc
    StiSvt     StSvtClassLibrary StSvtDbMaker StiSvtLoad StiSvt
    StiSsd     StSsdUtil StSsdDbMaker StiSsdLoad StiSsd
    StiSst     StSsdUtil StSsdDbMaker StiSsdLoad StiSsd(t)
    StiPxl     StPxlUtil StPxlDbMaker StiPxlLoad StiPxl
    StiIst     StIstUtil StIstDbMaker StiIstLoad StiIst
    StiLibs  StiTpc StiSvt StiSsd BTofUtil  StEEmcDbMakerLoad Sti Detector libs
    StiLibsHft  StiLibs StiSst StiPxl StiIst   Load Sti Detector libs for HFT
    StiHftP  StiLibsHft -SvtIT -SsdIT PxlIT pxlDb   Enables partial Hft (PXL)
    StiHftC  StiLibsHft -SvtIT -SsdIT PxlIT pxlDb IstIT istDb SstIT sstDb   Enables complete Hft (PXL+IST+SST)
    VFPPV  eemcDb StiLib -VFMinuit -VFMinuit2 -VFMinuit3 StGenericVertexMakerMinuit StGenericVertexMaker... Pile-up proof vertex finder
    VFPPVnoCTB  VFPPV   ... Pile-up proof vertex finder noCTB
    VFPPVEv  eemcDb StGenericVertexMakerMinui StGenericVertexMaker... StEvent based VFPPV noCTB
    VFPPVEvNoBtof  VFPPVEv   ...VFPPVEv with no Btof
    StiSti StiLib StiLibs SCL StEvent StDbT TpcIT compend sim_T tbutil StiMakerStEventUtilities StiUtilities StiMakerSti tracker
    StiCASti Sti StiLib StiCALib StiLibs SCL StEvent StDbT TpcIT compend tbutil StiMakerStEventUtilities libEG StiUtilities StiMakerSti+CA tracker
    StiCAPerf     TPCCATrackerPerformanceCA Performance
    StiCASti Sti StiLib StiCALib StiLibs SCL StEvent StDbT TpcIT compend tbutil StiMakerStEventUtilities libEG StiUtilities StiMakerSti+CA tracker
    HLTCA Sti  StHLTCAMakerStHLTCAMakerHLT reconstruction
    KFVertex Sti-genvtx -VFMinuit -VFFV -VFMCE -VFppLMV -VFPPVnoCTB -VFPPV -Kink2 -V02 -Xi2 StKFVertexMakerMathMore Spectrum...KFParticle based multi vertex reconstruction
    StvStv -xgeometry -Sti -StiTpc -StiSsd -StiSvt -StiPxl -StiSsd -StiSst -StiIst StvMakerlibHist libHistPainter libVMC StarMiniCern geant3 GeoTestMaker StvUtil Stv StvSeed StvMaker StEventUtilities -StiLibs -StiLibsHftStv
    StvCAStvCA Stv   StvCA
    StiVMCStiVMC -Sti SCL StEvent StDbT TpcDb compend StiVMCMakerStEventUtilities StiVMC StiVMCMakerITTF VMC tracker
    StiVMCLibs  detDb StarMagField   ITTF:load StiVMC libraries
    laserIT     TpcITuse Sti for laser reconstruction
    TpcIT  ITTF   Sti tracking: TPC
    SvtIT  ITTF   Sti tracking: SVT
    SsdIT  ITTF   Sti tracking: SSD
    HpdIT  ITTF  Sti StiRnDSti tracking: Hpd geom
    PixelIT  PxlIT   Alias for PxlIT
    PxlIT  ITTF   Sti tracking: Pixel geom
    IstIT  ITTF   Sti tracking: Ist geom
    SstIT  ITTF   Sti tracking: Sst geom
    iTpcIT  ITTF   Sti tracking: iTpc geom + hits
    BTofIT  ITTF   Sti tracking: BTof geom
    NoSvtIT  -SvtIT   ITTF: track with switch off SVT geom
    NoSsdIT  -SsdIT   ITTF: track with switch off SSD geom
    NoSstIT  -SstIT   ITTF: track with switch off SST geom
    NoPxlIT  -PxlIT   ITTF: track with switch off PXL geom
    NoIstIT  -IstIT   ITTF: track with switch off IST geom
    skip1row      ITTF: skip the first pad row in TPC
    StiRnD     StiRnDLoad StiRnD shared library
    Alignment      Sti Tpc Alignment reconstruction per sector
    Cosmics      Ignore events without recostructed tracks
    StiPulls  Sti   Request to make Sti Pulls
    BeamBack  StEvent   WARNING *** Option is OBSOLETE ***
    dEdxY2dEdxY2 tpcDb StEvent StdEdxY2MakerlibMinuit StdEdxY2MakerBichsel method used for dEdx
    CalcdNdx  dEdxY2   Option for StdEdxY2Maker to calculate dN/dx
    btofMatch  db BTofUtil vpdCalib btofCalib StBTofMatchMakerStBTofMatchMakerTPC-BTOF track matching
    btofCalib  db BTofUtil StBTofCalibMakerStBTofCalibMakerBTOF calibration
    ETofHit ETofChaindb ETofUtil muDst StETofHitMakerStETofHitMakerETOF hit maker
    ETofMatch ETofChaindb ETofUtil muDst StETofMatchMakerStETofMatchMakerETOF match maker
    ETofQa ETofChaindb ETofUtil muDst StETofQAMakerStETofQAMakerETOF QA maker
    ETofA  etofdat ETofCalib etofhit ETofMatch  ... ETOF chain options for datakFALSE
    mtdMatch  db MtdUtil StMtdMatchMakerStMtdMatchMakerTPC-MTD track matching
    mtdCalib  db StMtdCalibMakerStMtdCalibMakerMTD calibration
    mtdEvtFilt  db StMtdEvtFilterMakerStMtdEvtFilterMakerMTD event filter
    FindVtxSeedFindVtxSeed globT MuDSTDeps picoDst StVertexSeedMakerStPass0CalibMakerPerforms vertex seed finding
    FindEvtVtxSeedFindEvtVtxSeed MuDSTDeps picoDst StEvtVtxSeedMakerStPass0CalibMakerPerforms vertex seed finding using StEvent
    FtpcftpcChain ftpcT fcl fpt StMakerStChain 
    fssftpc_rawftpcChainSCL Simu StFtpcSlowSimMakerStFtpcSlowSimMaker StFtpcTrackMaker StFtpcClusterMakerFTPC Slow simulator
    Fclftpc_hitsftpcChainSCL daq StFtpcClusterMakerStFtpcTrackMaker StFtpcClusterMakerFTPC cluster finder
    fptftpc_tracksftpcChainSCL StFtpcTrackMakerStFtpcTrackMakerFTPC Track Maker
    fgain  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker will produce gain scan histograms
    fdbg  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker will write debugfile
    flaser  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker for LASERTRACKING
    pmdRecopmdReco PmdUtil pmdClust StMakerStChainPMD Reco chain
    pmdRawpmdRawpmdRecopmdReco pmdRead   PMD Reco chain giving raw data
    pmdpmdpmdRecopmdReco pmdSim pmdDis   PMD Simulation chain
    pmdRead pmdRecoPmdUtil StPmdReadMakerStPmdReadMakerDAQ reader for PMD
    pmdSim pmdRecoPmdUtil StPmdSimulatorMakerStPmdSimulatorMakerHit Simulator for PMD
    pmdClustpmdClustpmdReco  StPmdClusterMakerStPmdClusterMakerClusterMaker for PMD
    pmdDispmdDispmdRecoPmdClust StPmdDiscriminatorMakerStPmdDiscriminatorMakerDiscriminator for PMD
    Kink2kink2 db MuDST -kink StKinkMakerStSecondaryVertexMakerFind Kinks from StEvent
    V02v02 db MuDST -V0 StV0FinderMakerStSecondaryVertexMakerFind V0s from StEvent
    Xi2xi2 db MuDST -V02 -Xi StXiFinderMakerStSecondaryVertexMakerXis AND V0s from StEvent
    V0svt      WARNING *** Option is OBSOLETE ***
    Xisvt      WARNING *** Option is OBSOLETE ***
    SCEbyEscebye MuDSTDeps picoDst StSpaceChargeEbyEMakerStMuDSTMaker StPass0CalibMakerDetermine EbyE SpaceCharge using StEvent
    SCScalerCalscscalercal MuDSTDeps picoDst StSpaceChargeEbyEMakerStMuDSTMaker StPass0CalibMakerCalibrate SpaceCharge scalers
    compend  event detDb StEventCompendiumMakerStEventCompendiumMakerFill event summary in ITTF Chain
    shadow  event compend StShadowMakerStShadowMaker 
    TpcAligner  Alignment StTpcAlignerMakerStTpcAlignerMakerTpcAligner
    pecPeC Event StPeCMakerStPeCMakerPCollAnalysis
    RichSpectra      WARNING *** Option is OBSOLETE ***
    TagsChainTagsChain   StMakerStChain 
    TpcTag      WARNING *** Option is OBSOLETE ***
    Flow
    FlowTag      WARNING *** Option is OBSOLETE ***
    FlowAnalysis     WARNING *** Option is OBSOLETE *** 
    SpectraTag      WARNING *** Option is OBSOLETE ***
    HeavyTags TagsChainStEVent StHeavyTagMakerStHeavyTagMaker 
    EbyeScaTags      WARNING *** Option is OBSOLETE ***
    HighPtTags TagsChainStEVent StHighPtTagsMakerStHighPtTagsMaker 
    PCollTag      WARNING *** Option is OBSOLETE ***
    tags TagsChainglobT Event HeavyTags HighPtTags StTagsMakerStTagsMakerCollect all tags to TTree
    noTags  -tags -HeavyTags -HighPtTags   Turn Off tags
    MuDSTChainMuDSTChainEMCmDST CMuDST  StMakerStChain 
    StrngMuDST MuDSTDeps  StStrangeMuDstMaker Creates Stangeness MuDST
    EMCmDST MuDSTChainMuDst StEmcMicroDstMaker Creates EMC MuDST
    CMuDST MuDSTChainMuDst StrngMuDST Tree StMuDstMaker Writes Common MuDST
    RMuDST  CMuDST   reads Common MuDST do not disactivate if no output files
    picoWrite PicoChainpicoDst StPicoDstMaker Writes picoDST format
    picoRead PicoChainpicoDst StPicoDstMaker WritesRead picoDST format
    PicoVtxDefault      pico Vtx default mode
    PicoVtxVpd  -PicoVtxDefault   pico Vtx cut on Tof and VPD mode
    PicoVtxVpdOrDefault  -PicoVtxDefault   pico Vtx cut on Tof and VPD or default
    PicoVtxFXT  -PicoVtxDefault   pico Vtx constraint on FXT [198 202] mode
    PicoVtxMtd  -PicoVtxDefault   pico Vtx using MTD matching mode
    PicoCovMtxSkip      Do not write covariance matrices to picoDst (default)
    PicoCovMtxWrite  -PicoCovMtxSkip   Write track covariance matrices to picoDst
    PicoBEmcSmdSkip      Do not write BSMD to picoDst (default)
    PicoBEmcSmdWrite  -PicoBEmcSmdSkip   Write BSMD to picoDst
    St_geom    St_geom_MakerSt_geom_Maker 
    Display      WARNING *** Option is OBSOLETE *** use Ed.C macro instead
    McMcChainMcEventsim_T globT McAss McAna StMakerStChain 
    McAss McChainMcEvent StAssociationMakerStAssociationMaker 
    McAnaTpc  McAna   Mc Analysis for Tpc
    McAnaSvt  McAna   Mc Analysis for Svt
    McAnaSsd  McAna   Mc Analysis for Ssd
    McAna McChainMcEvent McAss StMcAnalysisMakerStMcAnalysisMaker 
    McQa McChainMcEvent StMcQaMakerStMcQaMakerQA histogramms for McEvent
    McTpcAna McAnaChaintpcDb dbutil McEvent StEvent StTpcMcAnalysisMakerStTpcMcAnalysisMaker 
    MiniMcEvent     StMiniMcEventLoads StMiniMcEvent library only
    MiniMcMk  McAss MiniMcEvent StMiniMcMakerStMiniMcMakerCreates tree in minimc.root file
    SvtMatTree    SvtMatchedTreeStSvtPoolEventT StSvtPoolSvtMatchedTreeCreate SvtMatchedTree
    LAna  in detDb StEvent tpcDb StLaserAnalysisMakerStLaserAnalysisMakerLaser data Analysis
    EandBDir  in StEvent TpcHitMover nodefault StEandBDirMakerMathMore Spectrum StEandBDirMakerget E&B direction
    SpinTag      WARNING *** Option is OBSOLETE ***
    ppLPfind1      WARNING *** Option is OBSOLETE ***
    SpinSortA      WARNING *** Option is OBSOLETE ***
    ppLPprojectA      WARNING *** Option is OBSOLETE ***
    ppDAQfilter1      WARNING *** Option is OBSOLETE ***
    ppLPeval1      WARNING *** Option is OBSOLETE ***
    QA      WARNING *** Option is OBSOLETE ***
    EventQAEventQA QUtils Event StEventQAMakerSt_QA_MakerFilling Y2/Y3 Qa histo
    QACCosmicsQAglobT  StQACosmicMakerStQACosmicMaker 
    QAalltrigs      Analyze all triggers in QA
    HitFilt    StHitFilterMakerStHitFilterMakerHit filter Maker
    SvtHitFilt  HitFilt   SVT Hit filter Maker
    TpcHitFilt  HitFilt   filter out TPC Hits not on tracks
    HftHitFilt  HitFilt   filter out non-HFT hits
    KeepTpcHit  HitFilt   Keep all TPC hits in StHitFilterMaker
    KeepSvtHit  HitFilt   Keep all SVT hits in StHitFilterMaker
    KeepFgtHit  HitFilt   Keep all FGT hits in StHitFilterMaker
    TreeOutTree   StTreeMakerStTreeMakerWrite requested branches into files
    logger      Use log4cxx package to manage the program messages
    NoSimuDb      Switch off Simu Option for DB
    SimuDb  -NoSimuDb   Switch on Simu Option for DB
    NoOutput  -Tree -EvOut noTags   Suppress Output root files
    EvOutOnly  EvOut Tree noTags   Only event.root files
    NoDefault      No Default consistency check
    Notpc_daq  -tpc_daq   No tpc_daq
    analysis  StEvent StAnalysisMakerStAnalysisMakerExample of Analysis
    NewTpcAlignment      Switch on new Tpc Alignment schema
    Aliasedtime stamps      
    -
    Created by BFCOpt2Html.pl on Wed Jan 26 17:53:39 2022 - J. Lauret
    - - diff --git a/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C index 275e8f5c0b3..e306b122c5d 100644 --- a/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C +++ b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C @@ -52,9 +52,9 @@ void unit_test_track_data_model() { // // Generate 10 e+ // for ( int i=0;i<9;i++ ) // add_particle( "e+", 0.4251, 3.1415/4, 10.0 ); - throw_particle( "e+", 0.4251, 3.1415/4, 10.0 ); + // throw_particle( "e+", 0.4251, 3.1415/4, 10.0 ); - //throw_particle( "mu+", 0.4251, 3.1415/4, 10.0 ); + throw_particle( "mu+", 0.4251, 3.1415/4, 10.0 ); timer.Stop(); @@ -191,9 +191,9 @@ void unit_test_track_data_model() { return result; }, idx); - } + expectedId=0; idIsNotUnique.clear(); // VERTEX VALIDATION @@ -268,7 +268,6 @@ void unit_test_track_data_model() { return result; }, idx); - } // Hit accumulation @@ -276,31 +275,51 @@ void unit_test_track_data_model() { auto hit = static_cast( hit_table->At(idx) ); if ( 0==hit ) continue; edep( hit->de * 1000 ); - // std::cout << "hit dE=" << hit->de << " volume_id=" << hit->volume_id << std::endl; - std::cout << *hit << std::endl; + std::cout << "hit dE=" << hit->de << " volume_id=" << hit->volume_id << std::endl; + // std::cout << *hit << std::endl; } // Print out energy deposition + if ( 1 ) { int _count = boost::accumulators::count(edep); - double _sum = boost::accumulators::sum(edep); - double _mean = boost::accumulators::mean(edep); - double _median = boost::accumulators::median(edep); - double _min = boost::accumulators::min(edep); - double _max = boost::accumulators::max(edep); - double _error_of_mean = boost::accumulators::error_of(edep); - LOG_TEST << Form( "number of hits = %i", _count) << std::endl; - LOG_TEST << Form( "energy deposition: sum = %f MeV", _sum ) << std::endl; - LOG_TEST << Form( "energy deposition: mean = %f MeV", _mean ) << std::endl; - LOG_TEST << Form( "energy deposition: median = %f MeV", _median ) << std::endl; - LOG_TEST << Form( "energy deposition: min = %f MeV", _min ) << std::endl; - LOG_TEST << Form( "energy deposition: max = %f MeV", _max ) << std::endl; - LOG_TEST << Form( "energy deposition: error of mean = %f MeV", _error_of_mean ) << std::endl; + if ( _count < 0 ) { + LOG_TEST << "count < 0 makes no sense..." << std::endl; + } + else if ( _count == 0 ) { + LOG_TEST << "no hits were registered..." << std::endl; + } + else { + + double _sum = boost::accumulators::sum(edep); + LOG_TEST << Form( "energy deposition: sum = %f MeV", _sum ) << std::endl; + + + double _mean = boost::accumulators::mean(edep); + LOG_TEST << Form( "energy deposition: mean = %f MeV", _mean ) << std::endl; + + + double _median = boost::accumulators::median(edep); + LOG_TEST << Form( "energy deposition: median = %f MeV", _median ) << std::endl; + + + double _min = boost::accumulators::min(edep); + LOG_TEST << Form( "energy deposition: min = %f MeV", _min ) << std::endl; + + + double _max = boost::accumulators::max(edep); + LOG_TEST << Form( "energy deposition: max = %f MeV", _max ) << std::endl; + + + double _error_of_mean = boost::accumulators::error_of(edep); + LOG_TEST << Form( "energy deposition: error of mean = %f MeV", _error_of_mean ) << std::endl; + } } + // Print the track list track_table->Print(0, track_table->GetNRows()); From d7b18de4204d53fc81cbcce8d96778e372990f7d Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:35:06 -0400 Subject: [PATCH 15/70] Volume sensitivitiy can be flagged in either the material or medium blocks. --- StarVMC/StarAgmlLib/StarTGeoStacker.cxx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/StarVMC/StarAgmlLib/StarTGeoStacker.cxx b/StarVMC/StarAgmlLib/StarTGeoStacker.cxx index 895d64804d3..fe2a475eff2 100644 --- a/StarVMC/StarAgmlLib/StarTGeoStacker.cxx +++ b/StarVMC/StarAgmlLib/StarTGeoStacker.cxx @@ -645,8 +645,10 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) } agmlExt->SetVolumeName( nn ); agmlExt->SetFamilyName( block->GetName() ); - agmlExt->SetModuleName( module->GetName() ); - agmlExt->SetSensitive( mMedium.par("isvol") ); + agmlExt->SetModuleName( module->GetName() ); + int isvol = mMedium.par("isvol"); + if ( 0==isvol ) isvol=mMaterial.par("isvol"); + agmlExt->SetSensitive( isvol ); agmlExt->SetTracking( module->GetTrackingFlag() ); // Get tracking cuts from the block for ( auto kv : block->GetCuts() ) { @@ -739,7 +741,11 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) agmlExt->SetVolumeName( nn ); agmlExt->SetFamilyName( block->GetName() ); agmlExt->SetModuleName( module->GetName() ); - agmlExt->SetSensitive( mMedium.par("isvol") ); + int isvol = mMedium.par("isvol"); + if ( 0==isvol ) isvol=mMaterial.par("isvol"); + //mMedium.Print(); + //mMaterial.Print(); + agmlExt->SetSensitive( isvol ); agmlExt->SetTracking( module->GetTrackingFlag() ); // Get tracking cuts from the block for ( auto kv : block->GetCuts() ) { From cfc676718382b0e7ad384dec91668567f6c0fb66 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:44:59 -0400 Subject: [PATCH 16/70] ... and definitely want them here... --- StRoot/StGeant4Maker/tests/unit_test_muons.C | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/StRoot/StGeant4Maker/tests/unit_test_muons.C b/StRoot/StGeant4Maker/tests/unit_test_muons.C index 648611dc384..3b7a94c8595 100644 --- a/StRoot/StGeant4Maker/tests/unit_test_muons.C +++ b/StRoot/StGeant4Maker/tests/unit_test_muons.C @@ -26,10 +26,10 @@ stats< tag::count, >>; -const double GeV = 1; -const double MeV = 1E3; -const double keV = 1E6; -const double eV = 1E9; +//const double GeV = 1; +//const double MeV = 1E3; +//const double keV = 1E6; +//const double eV = 1E9; const std::map scale2string = { {GeV,"GeV"}, {MeV,"MeV"}, @@ -174,7 +174,8 @@ void unit_test_muons() { int nbinPt = 100; // Throw 1k gammas at BEMC, EEMC - _kine->Kine(3000,"e+,e-",4.9999,5.0001,-0.95,+2.00); + // _kine->Kine(3000,"e+,e-",4.9999,5.0001,-0.95,+2.00); + _kine->Kine(10,"mu+,mu-",4.9999,5.0001,-0.95,+2.00); chain->Clear(); chain->Make(); From 1a136be1ed96b99b501260744c0e94c96b2018d3 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:18:56 -0400 Subject: [PATCH 17/70] libgeom not needed for geant3vmc / fix EEmcUtil chain option. --- StRoot/StBFChain/BigFullChain.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 5b77830226c..ffbb5fd410f 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -1220,7 +1220,9 @@ Bfc_st BFC[] = { // standard chains {"StarMiniCern","" ,"","geant3","" ,"","STAR addition to minicern OBSOLETE",kFALSE}, {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom," libVMC ",libgeant321.so", "VMC geant3",kFALSE}, + + {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", libVMC ",libgeant321.so", "VMC geant3",kFALSE}, + {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, {"StarMagField","", "","magF" ,"","VMC,StarMagField","Load StarMagField",kFALSE}, @@ -1249,7 +1251,7 @@ Bfc_st BFC[] = { // standard chains {"SsdUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSsdUtil","Load SSD Util",kFALSE}, {"SstUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSstUtil","Load SST Util",kFALSE}, {"EmcUtil" ,"" ,"","emc_T,geomT,StDbT","" ,"StEmcUtil","Load StEmcUtil",kFALSE}, - {"EEmcUtil" ,"" ,"","","" ,"StEEmcUtil","Load StEEmcUtil",kFALSE}, + {"EEmcUtil" ,"" ,"","","" ,"EEmcUtil","Load StEEmcUtil",kFALSE}, {"FmsUtil" ,"" ,"","","" ,"StFmsUtil,libMinuit","Load StFmsUtil",kFALSE}, {"RhicfUtil" ,"" ,"","","" ,"StRHICfUtil,libSpectrum","Load StRHICfUtil",kFALSE}, {"FgtUtil" ,"" ,"","","" ,"StFgtUtil","Load StFgtUtil",kFALSE}, From 9dcbce8c78b017797d6323994de21431a21cad18 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:19:35 -0400 Subject: [PATCH 18/70] Add g3 vmc as default chain option. --- StRoot/StGeant4Maker/macros/geant4star.C | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/StRoot/StGeant4Maker/macros/geant4star.C b/StRoot/StGeant4Maker/macros/geant4star.C index db1ef79146b..f8f689dc2de 100644 --- a/StRoot/StGeant4Maker/macros/geant4star.C +++ b/StRoot/StGeant4Maker/macros/geant4star.C @@ -70,7 +70,8 @@ void loadStar(TString mytag="dev2021", Bool_t agml = true ) gROOT->ProcessLine("chain->cd();"); gROOT->ProcessLine("chain->SetDebug(1);"); - TString chainOpts = "agml geant4 geant4vmc stargen geant4mk kinematics -emc_t -ftpcT mysql nodefault "; + TString chainOpts = "agml geant4 geant3vmc geant4vmc stargen geant4mk kinematics -emc_t -ftpcT mysql nodefault "; + ///TString chainOpts = "agml geant4 geant4vmc stargen kinematics -emc_t -ftpcT nodefault "; // pickup command line options ala "--" and add them as a chain option From 0f5dace2dfbb7e194dbc2b5c225e0f7e4da96106 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:20:01 -0400 Subject: [PATCH 19/70] libPhysics does not need to be preloaded. --- StRoot/StGeant4Maker/macros/initStar.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StRoot/StGeant4Maker/macros/initStar.C b/StRoot/StGeant4Maker/macros/initStar.C index 45e5377df37..86b86b1ecf6 100644 --- a/StRoot/StGeant4Maker/macros/initStar.C +++ b/StRoot/StGeant4Maker/macros/initStar.C @@ -28,7 +28,7 @@ void initStar() { // Preload a few libraries Load("libGeom.so"); - Load("libPhysics.so"); + // Load("libPhysics.so"); Load("libTable.so"); Load("StarRoot.so"); From 7b3f60493061534898523b045167f9be74395b5e Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:20:29 -0400 Subject: [PATCH 20/70] Reduce unneccesary verbosity. --- StRoot/StGeant4Maker/StGeant4Maker.cxx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/StRoot/StGeant4Maker/StGeant4Maker.cxx b/StRoot/StGeant4Maker/StGeant4Maker.cxx index c218b038939..ebffe3db8bd 100644 --- a/StRoot/StGeant4Maker/StGeant4Maker.cxx +++ b/StRoot/StGeant4Maker/StGeant4Maker.cxx @@ -931,10 +931,10 @@ void StarVMCApplication::ConstructSensitiveDetectors() { ae->SetEngine( engineFromModule( mname.Data() ) ); - if ( 0==ae->GetSensitive() ) { - LOG_INFO << "Not sensitive = " << volume->GetName() << endm; - continue; - } + // if ( 0==ae->GetSensitive() ) { + // LOG_INFO << "Not sensitive = " << volume->GetName() << endm; + // continue; + // } AgMLVolumeId* identifier = AgMLVolumeIdFactory::Create( fname ); if ( identifier ) { @@ -1298,8 +1298,6 @@ int StGeant4Maker::regionTransition( int curr, int prev ) { void StarVMCApplication::Stepping(){ _g4maker -> Stepping(); } void StGeant4Maker::Stepping(){ - LOG_INFO << ".............................................................................. stepping" << endm; - // At start of user stepping, try to transfer the track between engine auto* mgr = TMCManager::Instance(); auto* mc = TVirtualMC::GetMC(); From 4012f0c68430898a2fc0d977dbba2e022e701dd3 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:29:49 -0400 Subject: [PATCH 21/70] Apply the NODEBUG environment variable. --- mgr/config/v0.3.0-rhel7-root6.24.06.config | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/mgr/config/v0.3.0-rhel7-root6.24.06.config b/mgr/config/v0.3.0-rhel7-root6.24.06.config index ad720672530..d52ad500f5c 100644 --- a/mgr/config/v0.3.0-rhel7-root6.24.06.config +++ b/mgr/config/v0.3.0-rhel7-root6.24.06.config @@ -16,9 +16,18 @@ endif module load star-env-0.3.0-root-6.24.06 if ( $USE_64BITS == 1 ) then - module load geant4-10.5.1 - module load geant4-data-10.5.1 - module load geant4-vmc-5-0-p5-root-6.24.06 - module load geant3-3-9-p1-root-6.24.06 - module load clhep-2.4.5.1 + module load clhep-2.4.5.1 + module load geant4-data-10.5.1 + # If NODEBUG is not set, load debug versions, otherwise, optimized + if (! $?NODEBUG) then + module load geant4-10.5.1-debug + module load geant4-vmc-5-0-p5-root-6.24.06-debug + module load geant3-3-9-p1-root-6.24.06-debug + module load vmc-1-0-p3-root-6.24.06-debug + else + module load geant4-10.5.1 + module load geant4-vmc-5-0-p5-root-6.24.06 + module load geant3-3-9-p1-root-6.24.06 + module load vmc-1-0-p3-root-6.24.06 + endif endif From b3285d74da62913f5f243bce3586c9f55f00cf55 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 31 Oct 2023 13:12:00 -0400 Subject: [PATCH 22/70] [g4star] Expose partcile stack for the geant4 application. [g4star] Update stacker and agml extension classes to enable multi engine tracking and user defined hits in the geant4 application. Few additional fixes and cleanups in the code. [g4star] Import the StGeant4Maker into the repository. Builds under root 6.24 (with some additional compilation flags). [g4star] Defer mysql load until StBFChain can do it. [g4star] Add geant4vmc, geant4mk and fastjet chain options. Load libfastjet with stargen package b/c one or more filters depends on it. (Should consider splitting filters into sep chain opt). [g4star] Cleanup commented out includes. [g4star] Reduce compile time warnings... [g4star] ... more reduction of compiler warnings ... and even more reduction of compiler warnings... [g4star] And modify cons to pickup the include paths to geant4 and geant4 vmc libraries --- StRoot/StBFChain/BigFullChain.h | 7 +- StRoot/StGeant4Maker/.includes_for_export.flg | 0 StRoot/StGeant4Maker/AgMLBTofVolumeId.h | 38 + StRoot/StGeant4Maker/AgMLEEmcVolumeId.h | 70 + StRoot/StGeant4Maker/AgMLEmcVolumeId.h | 66 + StRoot/StGeant4Maker/AgMLEpdVolumeId.h | 40 + StRoot/StGeant4Maker/AgMLFstVolumeId.h | 28 + StRoot/StGeant4Maker/AgMLHcaVolumeId.h | 23 + StRoot/StGeant4Maker/AgMLMtdVolumeId.h | 25 + StRoot/StGeant4Maker/AgMLPreVolumeId.h | 23 + StRoot/StGeant4Maker/AgMLStgVolumeId.h | 29 + StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx | 45 + StRoot/StGeant4Maker/AgMLTpcVolumeId.h | 66 + StRoot/StGeant4Maker/AgMLVolumeIdFactory.h | 66 + StRoot/StGeant4Maker/AgMLVpdVolumeId.h | 30 + StRoot/StGeant4Maker/AgMLWcaVolumeId.h | 23 + StRoot/StGeant4Maker/AgStarDummy.cxx | 10 + StRoot/StGeant4Maker/GeometryUtils.cxx | 26 + StRoot/StGeant4Maker/GeometryUtils.h | 11 + StRoot/StGeant4Maker/StGeant4Application.cxx | 1 + StRoot/StGeant4Maker/StGeant4Application.h | 43 + StRoot/StGeant4Maker/StGeant4Maker.cxx | 1539 +++ StRoot/StGeant4Maker/StGeant4Maker.h | 258 + StRoot/StGeant4Maker/StHitCollection.cxx | 449 + StRoot/StGeant4Maker/StHitCollection.h | 94 + StRoot/StGeant4Maker/StMCParticleStack.cxx | 512 + StRoot/StGeant4Maker/StMCParticleStack.h | 274 + StRoot/StGeant4Maker/StSensitiveDetector.cxx | 116 + StRoot/StGeant4Maker/StSensitiveDetector.h | 105 + StRoot/StGeant4Maker/macros/DrawHits.C | 54 + StRoot/StGeant4Maker/macros/gamma.C | 3 + StRoot/StGeant4Maker/macros/geant4star | 14 + .../StGeant4Maker/macros/geant4star-leakcheck | 10 + .../StGeant4Maker/macros/geant4star-memcheck | 9 + StRoot/StGeant4Maker/macros/geant4star.C | 347 + StRoot/StGeant4Maker/macros/initStar.C | 43 + StRoot/StGeant4Maker/macros/initStarG3.C | 149 + StRoot/StGeant4Maker/macros/muon.C | 4 + StRoot/StGeant4Maker/macros/pi0.C | 4 + StRoot/StGeant4Maker/macros/pion.C | 3 + StRoot/StGeant4Maker/macros/pythia6.C | 174 + StRoot/StGeant4Maker/macros/pythia8.C | 108 + .../macros/runGeant4Simulation.xml | 49 + StRoot/StGeant4Maker/macros/test_forward.C | 21 + .../macros/test_particle_decay.C | 47 + StRoot/StGeant4Maker/macros/test_pi0_decay.C | 34 + .../macros/test_stress_acceptance.C | 36 + StRoot/StGeant4Maker/tests/unit-test-summary | 93 + .../StGeant4Maker/tests/unit_test_btof_hits.C | 400 + .../StGeant4Maker/tests/unit_test_eem_hits.C | 295 + .../StGeant4Maker/tests/unit_test_emc_hits.C | 9817 +++++++++++++++++ .../StGeant4Maker/tests/unit_test_epd_hits.C | 203 + .../tests/unit_test_epd_response.C | 103 + .../StGeant4Maker/tests/unit_test_fcs_hits.C | 4220 +++++++ .../tests/unit_test_fcs_sampling.C | 150 + .../StGeant4Maker/tests/unit_test_fst_hits.C | 181 + .../tests/unit_test_fst_timing.C | 173 + .../tests/unit_test_kinematics.C | 183 + .../StGeant4Maker/tests/unit_test_mtd_hits.C | 1748 +++ .../tests/unit_test_mtd_response.C | 89 + .../tests/unit_test_multi_engine_emc.C | 230 + StRoot/StGeant4Maker/tests/unit_test_muons.C | 391 + .../tests/unit_test_single_engine_emc.C | 191 + .../StGeant4Maker/tests/unit_test_stg_hits.C | 190 + .../StGeant4Maker/tests/unit_test_tdm_truth.C | 309 + .../StGeant4Maker/tests/unit_test_tpc_hits.C | 427 + .../tests/unit_test_track_data_model.C | 309 + .../tests/unit_test_track_data_model_ntrack.C | 361 + StRoot/StGeant4Maker/tests/unit_tests.h | 235 + StRoot/StarGenerator/BASE/StarPrimaryMaker.h | 2 + StarVMC/StarAgmlLib/AgBlock.cxx | 1 + StarVMC/StarAgmlLib/AgMLExtension.cxx | 25 +- StarVMC/StarAgmlLib/AgMLExtension.h | 28 +- StarVMC/StarAgmlLib/AgMLStructure.h | 2 +- StarVMC/StarAgmlLib/AgModule.cxx | 21 +- StarVMC/StarAgmlLib/AgModule.h | 2 +- StarVMC/StarAgmlLib/AgPlacement.h | 3 + StarVMC/StarAgmlLib/StarTGeoStacker.cxx | 25 +- mgr/Conscript-standard | 16 + 79 files changed, 25524 insertions(+), 25 deletions(-) create mode 100644 StRoot/StGeant4Maker/.includes_for_export.flg create mode 100644 StRoot/StGeant4Maker/AgMLBTofVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLEEmcVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLEmcVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLEpdVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLFstVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLHcaVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLMtdVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLPreVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLStgVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx create mode 100644 StRoot/StGeant4Maker/AgMLTpcVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLVolumeIdFactory.h create mode 100644 StRoot/StGeant4Maker/AgMLVpdVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgMLWcaVolumeId.h create mode 100644 StRoot/StGeant4Maker/AgStarDummy.cxx create mode 100644 StRoot/StGeant4Maker/GeometryUtils.cxx create mode 100644 StRoot/StGeant4Maker/GeometryUtils.h create mode 100644 StRoot/StGeant4Maker/StGeant4Application.cxx create mode 100644 StRoot/StGeant4Maker/StGeant4Application.h create mode 100644 StRoot/StGeant4Maker/StGeant4Maker.cxx create mode 100644 StRoot/StGeant4Maker/StGeant4Maker.h create mode 100644 StRoot/StGeant4Maker/StHitCollection.cxx create mode 100644 StRoot/StGeant4Maker/StHitCollection.h create mode 100644 StRoot/StGeant4Maker/StMCParticleStack.cxx create mode 100644 StRoot/StGeant4Maker/StMCParticleStack.h create mode 100644 StRoot/StGeant4Maker/StSensitiveDetector.cxx create mode 100644 StRoot/StGeant4Maker/StSensitiveDetector.h create mode 100644 StRoot/StGeant4Maker/macros/DrawHits.C create mode 100644 StRoot/StGeant4Maker/macros/gamma.C create mode 100755 StRoot/StGeant4Maker/macros/geant4star create mode 100755 StRoot/StGeant4Maker/macros/geant4star-leakcheck create mode 100755 StRoot/StGeant4Maker/macros/geant4star-memcheck create mode 100644 StRoot/StGeant4Maker/macros/geant4star.C create mode 100644 StRoot/StGeant4Maker/macros/initStar.C create mode 100644 StRoot/StGeant4Maker/macros/initStarG3.C create mode 100644 StRoot/StGeant4Maker/macros/muon.C create mode 100644 StRoot/StGeant4Maker/macros/pi0.C create mode 100644 StRoot/StGeant4Maker/macros/pion.C create mode 100644 StRoot/StGeant4Maker/macros/pythia6.C create mode 100644 StRoot/StGeant4Maker/macros/pythia8.C create mode 100644 StRoot/StGeant4Maker/macros/runGeant4Simulation.xml create mode 100644 StRoot/StGeant4Maker/macros/test_forward.C create mode 100644 StRoot/StGeant4Maker/macros/test_particle_decay.C create mode 100644 StRoot/StGeant4Maker/macros/test_pi0_decay.C create mode 100644 StRoot/StGeant4Maker/macros/test_stress_acceptance.C create mode 100755 StRoot/StGeant4Maker/tests/unit-test-summary create mode 100644 StRoot/StGeant4Maker/tests/unit_test_btof_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_eem_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_emc_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_epd_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_epd_response.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_fcs_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_fcs_sampling.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_fst_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_fst_timing.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_kinematics.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_mtd_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_mtd_response.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_multi_engine_emc.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_muons.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_single_engine_emc.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_stg_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_tdm_truth.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_tpc_hits.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_track_data_model.C create mode 100644 StRoot/StGeant4Maker/tests/unit_test_track_data_model_ntrack.C create mode 100644 StRoot/StGeant4Maker/tests/unit_tests.h diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 57880357085..2b12b1c5ff9 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -1284,13 +1284,15 @@ Bfc_st BFC[] = { // standard chains {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T"/*+++*/, "", "libVMC.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, + {"stargen", "","", "gen_T,sim_T"/*+++*/, "", "libVMC.so,libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, {"kinematics" ,"","","stargen", "", "Kinematics.so", "Load STAR Particle Gun", false }, {"genreader" ,"","","stargen", "", "StarGenEventReader.so", "Load STAR Gen Event Reader", false }, + {"fastjet" ,"","","" , "", "libfastjet.so", "Load fast jet reconstruction algo", false}, + {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"GEANT4 Libs ","-----------","-----------","------------------------------------------","","","",kFALSE}, @@ -1301,6 +1303,9 @@ Bfc_st BFC[] = { // standard chains {"g4geant3", "", "", "", "", "libG3toG4.so", "Load g3 to g4 support", false }, {"geant4", "", "", "g4physics,g4interfaces","","","Load G4 libs", false}, + {"geant4vmc", "","", "geant4", "", "libVMC.so,libgeant4vmc.so", "Load G4 VMC libs", false}, + {"geant4mk", "","", "stargen,geant4vmc", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, + {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"I/O Makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, diff --git a/StRoot/StGeant4Maker/.includes_for_export.flg b/StRoot/StGeant4Maker/.includes_for_export.flg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/StRoot/StGeant4Maker/AgMLBTofVolumeId.h b/StRoot/StGeant4Maker/AgMLBTofVolumeId.h new file mode 100644 index 00000000000..651f0eef368 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLBTofVolumeId.h @@ -0,0 +1,38 @@ +#ifndef __AgMLBtofVolumeId_h__ +#define __AgMLBtofVolumeId_h__ + +#include +#include + +class AgMLBtofVolumeId : public AgMLVolumeId { +public: + + AgMLBtofVolumeId(){} + // Applies to btog.version = 8 with btog.choice =13 (run 13 onwards) + + virtual int id( int* numbv ) const { + + int rileft = numbv[0]; + int sector = numbv[1]; + int module = numbv[2]; + int layer = numbv[3]; + + // Adjust for GMT modules + if ( rileft==1 ) { + if ( sector== 8 ) module += 4; + if ( sector==23 ) module += 4; + } + else if ( rileft==2 ) { + if ( sector == 33 ) module += 4; + if ( sector == 48 ) module += 4; + } + + int _id = layer + 10 * (module + 100 * (sector+100*rileft) ); + + return _id; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLEEmcVolumeId.h b/StRoot/StGeant4Maker/AgMLEEmcVolumeId.h new file mode 100644 index 00000000000..b82ae0425e9 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLEEmcVolumeId.h @@ -0,0 +1,70 @@ +#ifndef __AgMLEEmcVolumeId_h__ +#define __AgMLEEmcVolumeId_h__ + +#include +#include +#include +#include +#include +#include + +#include +#include + +class AgMLEEmcVolumeId : public AgMLVolumeId { + + const int onoff = 1; + const int fillmode = 3; + const int sectormap[2][6] = { + { 4, 5, 6, 7, 8, 9}, + {10,11,12, 1, 2, 3} + }; + + +public: + + AgMLEEmcVolumeId() : AgMLVolumeId() { /* nada */ }; + + virtual int id( int* numbv ) const { + + // cd == ESCI + int rileft = onoff; + int shift = 0; + + int wheel = numbv[0]; + int section = numbv[1]; + int idx = numbv[2]; + int phi30d = sectormap[wheel-1][idx-1]; // sector number + int subsec = numbv[3]; // subsection (i.e. layer) within each section + int sublay = numbv[4]; // ??? + int phi = numbv[5]; // phibin in sector + int eta = numbv[6]; + + int depth = subsec + 3 * ( section - 1 ); + + // int volumeid = 100000*rileft + 1000*(5*(phi30d-1)+phi) + 10*eta + depth; + + int volumeid = 100000 * rileft + + 1000 * ( 5 * ( phi30d-1 ) + phi ) + + 10 * eta + + depth; + + // LOG_INFO << Form("AgML EEmc VolumdId = wheel=%i section=%i idx=%i phi30d=%i subsection=%i %i %i %i %i", + // numbv[0], + // numbv[1], + // numbv[2], + // phi30d, + // numbv[3], + // numbv[4], + // numbv[5], + // numbv[6], + // volumeid ) << endm; + + + return volumeid; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLEmcVolumeId.h b/StRoot/StGeant4Maker/AgMLEmcVolumeId.h new file mode 100644 index 00000000000..70557536977 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLEmcVolumeId.h @@ -0,0 +1,66 @@ +#ifndef __AgMLEmcVolumeId_h__ +#define __AgMLEmcVolumeId_h__ + +#include +#include +#include +#include +#include +#include + +#include +#include + +class AgMLEmcVolumeId : public AgMLVolumeId { + + const int numberOfEtaRings = 20; + +public: + + AgMLEmcVolumeId() : AgMLVolumeId() { /* nada */ }; + + virtual int id( int* numbv ) const { + + + int rileft = numbv[0]; // east barrel vs west barrel + int phi = numbv[1]; // module + int superl = numbv[2]; // before / after SMD layer + + TLorentzVector _direction(0,0,0,0); + TVirtualMC::GetMC()->TrackPosition( _direction ); + + double xg[4], xl[4]; + _direction.GetXYZT( xg ); + double pseudoRapidity = TMath::Abs(_direction.Eta()); + + // Obtain local coordinates from global coordinates + TVirtualMC::GetMC()->Gmtod( xg, xl, 1 ); + + // Calculate the eta ring and submodule + int eta_tow = ( pseudoRapidity * double(numberOfEtaRings) ) + 1.0; + int phi_sub = ( xl[1]>= 0 )? 1 : 0; // (-13,0)=0, (0,13)=1 + + // LOG_INFO << Form("eta=%f xlocal=%f %f %f | phi_sub=%i eta_tow=%i", pseudoRapidity, xl[0], xl[1], xl[2],phi_sub,eta_tow) << endm; + + int volumeid = -999; + + if ( rileft==1 ) { + phi = 60 - phi + 1; + if ( phi_sub==0 ) { + phi_sub=2; + } + } + else { + phi = 60+phi; + phi_sub = phi_sub + 1; + } + + volumeid=10000000*rileft+100000*eta_tow+100*phi+10*phi_sub+superl; + + return volumeid; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLEpdVolumeId.h b/StRoot/StGeant4Maker/AgMLEpdVolumeId.h new file mode 100644 index 00000000000..ff22ae2d18c --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLEpdVolumeId.h @@ -0,0 +1,40 @@ +#ifndef __AgMLEpdVolumeId_h__ +#define __AgMLEpdVolumeId_h__ + +#include +#include + +class AgMLEpdVolumeId : public AgMLVolumeId { +public: + + AgMLEpdVolumeId(){} + + virtual int id( int* numbv ) const { + + int epdm = numbv[0]; // 1=east, 2=west + int epss = numbv[1]; // 1 for PP1, 2 for PP2, PP-postion 1'o,2'o clock etc + int epdt = numbv[2]; // 1:T1 trap, 2:T1 Triangular, 3:T2 Thin, 4:T3 Thick + + /* + + " EPD volume_id " + " 100,000 : east or west " + " 1,000 : Position clock wise, 1 to 12 " + " 10 : Tile number 1 to 31, refer EPD Drupal page" + " 1 : 1 T1 trap or T2 thin; 0 T1 triangular or T2 thick + + */ + + int _id = 0; + _id += 100000 * epdm; + _id += 1000 * epss; + _id += 10 * ( epdt%2 + epdt/2 ); + _id += 1 * ( epdt%2 ); + + return _id; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLFstVolumeId.h b/StRoot/StGeant4Maker/AgMLFstVolumeId.h new file mode 100644 index 00000000000..4f93ddb2eb2 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLFstVolumeId.h @@ -0,0 +1,28 @@ +#ifndef __AgMLFstVolumeId_h__ +#define __AgMLFstVolumeId_h__ + +#include +#include + +class AgMLFstVolumeId : public AgMLVolumeId { +public: + + AgMLFstVolumeId(){} + + virtual int id( int* numbv ) const { + + static const int mapping[] = { 2, 3, 1 }; + + int disk = numbv[0]; + int wedge = numbv[1]; + assert( numbv[2]>0 && numbv[2]<=3 ); + int sensor = mapping[ numbv[2]-1 ]; + + + return 1000*disk + 10*wedge + sensor; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLHcaVolumeId.h b/StRoot/StGeant4Maker/AgMLHcaVolumeId.h new file mode 100644 index 00000000000..c5b5ef409a7 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLHcaVolumeId.h @@ -0,0 +1,23 @@ +#ifndef __AgMLHcaVolumeId_h__ +#define __AgMLHcaVolumeId_h__ + +#include +#include + +class AgMLHcaVolumeId : public AgMLVolumeId { +public: + + AgMLHcaVolumeId(){} + + virtual int id( int* numbv ) const { + + int mod = numbv[0]; // module + int tow = numbv[1]; // tower + + return 1000*mod + tow; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLMtdVolumeId.h b/StRoot/StGeant4Maker/AgMLMtdVolumeId.h new file mode 100644 index 00000000000..af294664b78 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLMtdVolumeId.h @@ -0,0 +1,25 @@ +#ifndef __AgMLMtdVolumeId_h__ +#define __AgMLMtdVolumeId_h__ + +#include +#include + +class AgMLMtdVolumeId : public AgMLVolumeId { +public: + + AgMLMtdVolumeId(){} + // Applies to btog.version = 8 with btog.choice =13 (run 13 onwards) + + virtual int id( int* numbv ) const { + + int sector = numbv[0]; + int module = numbv[1]; + int layer = numbv[2]; + + return 1000 * sector + 100 * module + layer; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLPreVolumeId.h b/StRoot/StGeant4Maker/AgMLPreVolumeId.h new file mode 100644 index 00000000000..87e1026a37b --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLPreVolumeId.h @@ -0,0 +1,23 @@ +#ifndef __AgMLPreVolumeId_h__ +#define __AgMLPreVolumeId_h__ + +#include +#include + +class AgMLPreVolumeId : public AgMLVolumeId { +public: + + AgMLPreVolumeId(){} + + virtual int id( int* numbv ) const { + + int layer = numbv[0]; // layer + int slat = numbv[1]; // slat + + return 1000*layer + slat; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLStgVolumeId.h b/StRoot/StGeant4Maker/AgMLStgVolumeId.h new file mode 100644 index 00000000000..d98d39679be --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLStgVolumeId.h @@ -0,0 +1,29 @@ +#ifndef __AgMLStgVolumeId_h__ +#define __AgMLStgVolumeId_h__ + +#include +#include + +class AgMLStgVolumeId : public AgMLVolumeId { + + static const int version = 2; + +public: + + AgMLStgVolumeId(){} + + virtual int id( int* numbv ) const { + + int station = (numbv[0]-1) / 4 + 1; + int chamber = (numbv[0]-1) % 4 + 1; + + if ( version == 2 ) + return 10*station + chamber; + else + return numbv[0]; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx b/StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx new file mode 100644 index 00000000000..224c3d85db3 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLTpcVolumeId.cxx @@ -0,0 +1,45 @@ +#include +AgMLTpcVolumeId::AgMLTpcVolumeId() : + AgMLVolumeId(), + tpads{ + 1, 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, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 72, + 1, 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, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 72 + }, + + isdet{ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2 + } +{ + +} + + diff --git a/StRoot/StGeant4Maker/AgMLTpcVolumeId.h b/StRoot/StGeant4Maker/AgMLTpcVolumeId.h new file mode 100644 index 00000000000..6be8d489f20 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLTpcVolumeId.h @@ -0,0 +1,66 @@ +#ifndef __AgMLTpcVolumeId_h__ +#define __AgMLTpcVolumeId_h__ + +#include +#include + +class AgMLTpcVolumeId : public AgMLVolumeId { +public: + + AgMLTpcVolumeId(); + + int tpads[76*2]; + int isdet[76*2]; + + virtual int id( int* numbv ) const { + + int tpgv = numbv[0]; // tpc gas volume 1, 2 + int tpss = numbv[1]; // tpc super sector 1-12 + int tpad = numbv[2]; // tpc padrow + + int sector = tpss + 12 * (tpgv-1); // sector 1-24 + + int det = isdet[tpad-1]; // memcheck flags invalid read of size 4 + int pad = tpads[tpad-1]; + + int volumeid = 100000*det + 100*sector + pad; + + return volumeid; + + }; +}; + +class AgMLTpcVolumeIdTest__ : public AgMLTpcVolumeId { +public: + + AgMLTpcVolumeIdTest__() : AgMLTpcVolumeId(){ }; + + virtual int id( int* numbv ) const { + + int tpgv = numbv[0]; // tpc gas volume 1, 2 + assert(tpgv==1 || tpgv==2 ); + + int tpss = numbv[1]; // tpc super sector 1-12 + assert( tpss>=1 && tpss <=12 ); + + int tpad = numbv[2]; // tpc padrow + assert( tpad>=1 && tpad <= 76*2 ); + + int sector = tpss + 12 * (tpgv-1); // sector 1-24 + assert( sector >= 1 && sector <= 24 ); + + int det = isdet[tpad-1]; // memcheck flags invalid read of size 4 + assert( det>=0 && det<=2 ); + + int pad = tpads[tpad-1]; + assert(pad>=1 && pad<=72 ); + + int volumeid = 100000*det + 100*sector + pad; + + return volumeid; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLVolumeIdFactory.h b/StRoot/StGeant4Maker/AgMLVolumeIdFactory.h new file mode 100644 index 00000000000..eac3b5b6186 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLVolumeIdFactory.h @@ -0,0 +1,66 @@ +#ifndef __AgMLVolumeIdFactory_h__ +#define __AgMLVolumeIdFactory_h__ + +#include "TString.h" +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class AgMLVolumeIdFactory { +public: + + // TODO: Identify what the test flag is for and (probably) remove it + static AgMLVolumeId* Create( TString name, bool test=false ) { + + static std::map VolumeId; + + AgMLVolumeId* id = VolumeId[name]; + if ( 0==id ) { + if ( name == "TPAD" && test==false ) + id = new AgMLTpcVolumeId; + else if ( name == "TPAD" && test==true ) + id = new AgMLTpcVolumeIdTest__; + else if ( name == "FTUS" ) + id = new AgMLFstVolumeId; + else if ( name == "TGCG" ) + id = new AgMLStgVolumeId; + else if ( name == "WSCI" ) + id = new AgMLWcaVolumeId; + else if ( name == "HSCI" ) + id = new AgMLHcaVolumeId; + else if ( name == "PSCI" ) + id = new AgMLPreVolumeId; + else if ( name == "EPDT" ) + id = new AgMLEpdVolumeId; + else if ( name == "CSCI" ) + id = new AgMLEmcVolumeId; + else if ( name == "ESCI" ) + id = new AgMLEEmcVolumeId; + else if ( name == "BRSG" ) + id = new AgMLBtofVolumeId; + else if ( name == "MIGG" ) + id = new AgMLMtdVolumeId; + else if ( name == "VRAD" ) + id = new AgMLVpdVolumeId; + VolumeId[name] = id; + } + + return id; + + }; + +}; + +#endif diff --git a/StRoot/StGeant4Maker/AgMLVpdVolumeId.h b/StRoot/StGeant4Maker/AgMLVpdVolumeId.h new file mode 100644 index 00000000000..c3bd4cdac40 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLVpdVolumeId.h @@ -0,0 +1,30 @@ +#ifndef __AgMLVpdVolumeId_h__ +#define __AgMLVpdVolumeId_h__ + +#include +#include + +class AgMLVpdVolumeId : public AgMLVolumeId { +public: + + AgMLVpdVolumeId(){} + + static const int version = 2; // version is hard coded to the dev2021 geometry + + virtual int id( int* numbv ) const { + + int idx = 0; + + int rileft = numbv[idx++]; + int inout = (1==version) ? numbv[idx++] : 0; + int sector = numbv[idx++]; + + int _id = 1000 * rileft + 100*inout + sector; + + return _id; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgMLWcaVolumeId.h b/StRoot/StGeant4Maker/AgMLWcaVolumeId.h new file mode 100644 index 00000000000..fe80933b500 --- /dev/null +++ b/StRoot/StGeant4Maker/AgMLWcaVolumeId.h @@ -0,0 +1,23 @@ +#ifndef __AgMLWcaVolumeId_h__ +#define __AgMLWcaVolumeId_h__ + +#include +#include + +class AgMLWcaVolumeId : public AgMLVolumeId { +public: + + AgMLWcaVolumeId(){} + + virtual int id( int* numbv ) const { + + int mod = numbv[0]; // module + int tow = numbv[1]; // tower + + return 1000*mod + tow; + + }; +}; + + +#endif diff --git a/StRoot/StGeant4Maker/AgStarDummy.cxx b/StRoot/StGeant4Maker/AgStarDummy.cxx new file mode 100644 index 00000000000..d76514d2d0c --- /dev/null +++ b/StRoot/StGeant4Maker/AgStarDummy.cxx @@ -0,0 +1,10 @@ +// Provide dummy functions expected from starsim +#include "StarCallf77.h" + +extern "C" { + void type_of_call agsvert_( float *vertex, int *nb, int *nt, float *ubuf, int *nu, int *nv ) { } + void type_of_call agskine_( float *plab, int *ip, int *nv, float *ubuf, int *nb, int *nt ) { } + void type_of_call gsvert_( float *, int &, int &, float *, int &, int &){ } + void type_of_call gskine_( float *, int &, int &, float *, int &, int &){ } + // void type_of_call gcomad_(DEFCHARD, int*& DEFCHARL){ } +}; diff --git a/StRoot/StGeant4Maker/GeometryUtils.cxx b/StRoot/StGeant4Maker/GeometryUtils.cxx new file mode 100644 index 00000000000..97ac5fa48c1 --- /dev/null +++ b/StRoot/StGeant4Maker/GeometryUtils.cxx @@ -0,0 +1,26 @@ +#include + +AgMLExtension* getExtension( TGeoNode* n ) { + + // + // Extension classes may be attached to the node or to the volume + // + AgMLExtension* agmlext = dynamic_cast( n->GetUserExtension() ); + if ( 0==agmlext ) agmlext = getExtension ( n->GetVolume() ); + + // + // If the extension is still missing, inherit from the parent volume + // + if ( 0==agmlext ) agmlext = getExtension( n->GetMotherVolume() ); + + + // + // If it is still missing, its the user's problem now + // + return agmlext; + +} + +AgMLExtension* getExtension( TGeoVolume* v ) { + return AgMLExtension::get(v); +} diff --git a/StRoot/StGeant4Maker/GeometryUtils.h b/StRoot/StGeant4Maker/GeometryUtils.h new file mode 100644 index 00000000000..6de7bcdb0ea --- /dev/null +++ b/StRoot/StGeant4Maker/GeometryUtils.h @@ -0,0 +1,11 @@ +#ifndef __GeometryUtils_h__ +#define __GeometryUtils_h__ + +#include +#include +#include + +AgMLExtension* getExtension( TGeoNode* n ); +AgMLExtension* getExtension( TGeoVolume* v ); + +#endif diff --git a/StRoot/StGeant4Maker/StGeant4Application.cxx b/StRoot/StGeant4Maker/StGeant4Application.cxx new file mode 100644 index 00000000000..f38c56264dd --- /dev/null +++ b/StRoot/StGeant4Maker/StGeant4Application.cxx @@ -0,0 +1 @@ +// Really empty... all functionality in StGeant4Maker diff --git a/StRoot/StGeant4Maker/StGeant4Application.h b/StRoot/StGeant4Maker/StGeant4Application.h new file mode 100644 index 00000000000..ae7bdbc5eae --- /dev/null +++ b/StRoot/StGeant4Maker/StGeant4Application.h @@ -0,0 +1,43 @@ +#ifndef __StGeant4Application_h__ +#define __StGeant4Application_h__ + +#include "TVirtualMCApplication.h" + +class StGeant4Application : public TVirtualMCApplication { +public: + StGeant4Application( const char* name="g4application", const char* title="Geant4 Application" ); + virtual ~StGeant4Application(){ /* nada */ }; + + static StGeant4Application* Instance(); + + void InitMC ( const char* macro ); + void RunMC ( const int nevents ); + + virtual void ConstructGeometry(); + virtual void ConstructOpGeometry(); + virtual void InitGeometry(); + virtual void GeneratePrimaries(); + virtual void BeginEvent(); + virtual void BeginPrimary(); + virtual void PreTrack(); + virtual void Stepping(); + virtual void PostTrack(); + virtual void FinishPrimary(); + virtual void FinishEvent(); + + void SetVerboseLevel(int verboseLevel); + + private: + // data members + int fEventNo; ///< Event counter + int fGammaCounter; ///< Optical photons counter + TMCVerbose fVerbose; ///< VMC verbose helper + // Ex03MCStack* fStack; ///< VMC stack + TVirtualMagField* fMagField; ///< The magnetic field + // Ex06DetectorConstruction* fDetConstruction; ///< Dector construction + // Ex06PrimaryGenerator* fPrimaryGenerator;///< Primary generator + // Bool_t fOldGeometry; ///< Option for geometry definition + +}; + +#endif diff --git a/StRoot/StGeant4Maker/StGeant4Maker.cxx b/StRoot/StGeant4Maker/StGeant4Maker.cxx new file mode 100644 index 00000000000..bad2c25de6f --- /dev/null +++ b/StRoot/StGeant4Maker/StGeant4Maker.cxx @@ -0,0 +1,1539 @@ +#include "StGeant4Maker.h" +//________________________________________________________________________________________________ +#include "StMessMgr.h" +//________________________________________________________________________________________________ +#include "StarMagField.h" +#include "StMCParticleStack.h" +#include "TSystem.h" +#include "StBFChain.h" +#include "TInterpreter.h" +#include "TGeoManager.h" +#include "StarVMC/StarAgmlLib/StarAgmlStacker.h" +#include "StarGenerator/BASE/StarPrimaryMaker.h" +#include "StarGenerator/BASE/StarParticleStack.h" +#include "StarGenerator/UTIL/StarParticleData.h" +#include "StarGenerator/UTIL/StarRandom.h" + +#include "TString.h" +#include "StSensitiveDetector.h" + +#include + +#include "StarVMC/StarAgmlLib/AgMLExtension.h" +#include "GeometryUtils.h" +#include "TString.h" + +#include "StChain/StEvtHddr.h" +#include "TH2F.h" + +#include + +//_______________________________________________________________________________________________ +#include +//_______________________________________________________________________________________________ +#include "TMCManager.h" +//________________________________________________________________________________________________ +#include "TGeant4.h" +#include "TG4RunManager.h" +#include "TG4RunConfiguration.h" +#include "TGeant3TGeo.h" +//________________________________________________________________________________________________ +#include "tables/St_g2t_event_Table.h" +#include "tables/St_g2t_vertex_Table.h" +#include "tables/St_g2t_track_Table.h" +//________________________________________________________________________________________________ +#include "g2t/St_g2t_tpc_Module.h" +#include "g2t/St_g2t_hca_Module.h" +#include "g2t/St_g2t_wca_Module.h" +#include "g2t/St_g2t_pre_Module.h" +#include "g2t/St_g2t_fts_Module.h" +#include "g2t/St_g2t_stg_Module.h" +#include "g2t/St_g2t_epd_Module.h" +#include "g2t/St_g2t_tfr_Module.h" +#include "g2t/St_g2t_mtd_Module.h" +#include "g2t/St_g2t_vpd_Module.h" +//________________________________________________________________________________________________ +#include +#include +//________________________________________________________________________________________________ + +// Functors used to copy the hits from the sensitive detector hit collections into the g2t tables. +// There's an explitive-load of boilerplate in these things + +struct SD2Table_TPC { + void operator()( StSensitiveDetector* sd, St_g2t_tpc_hit* table, St_g2t_track* track ) { + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_tpc_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_tpc_hit_st)); + + g2t_hit.id = hit->id; + + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + for ( int i=0; i<3; i++ ) { + g2t_hit.p[i] = 0.5 * ( hit->momentum_in[i] + hit->momentum_out[i] ); + g2t_hit.x[i] = 0.5 * ( hit->position_in[i] + hit->position_out[i] ); + } + g2t_hit.tof = 0.5 * ( hit->position_in[3] + hit->position_out[3] ); + g2t_hit.length = hit->length; + g2t_hit.lgam = hit->lgam; + + + + /* + these are used downstream by the slow simulator (and should not be filled here) + + g2t_hit.adc = ...; + g2t_hit.pad = ...; + g2t_hit.timebucket = ...; + g2t_hit.np = ...; // number of primary electrons + + */ + + int idtruth = hit->idtruth; + g2t_track_st* g2t_track = (g2t_track_st*)track->At(idtruth-1); + + g2t_hit.next_tr_hit_p = g2t_track->hit_tpc_p; // store next hit on the linked list + g2t_track->hit_tpc_p = hit->id; // this hit becomes the head of the linked list + + g2t_track->n_tpc_hit++; + + // Add hit to the table + table -> AddAt( &g2t_hit ); + + } + // TODO: increment hit count on track + } +} sd2table_tpc; +struct SD2Table_EPD { + void operator()( StSensitiveDetector* sd, St_g2t_epd_hit* table, St_g2t_track* track ) { + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_epd_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_epd_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + for ( int i=0; i<3; i++ ) { + g2t_hit.p[i] = 0.5 * ( hit->momentum_in[i] + hit->momentum_out[i] ); + g2t_hit.x[i] = 0.5 * ( hit->position_in[i] + hit->position_out[i] ); + } + g2t_hit.tof = 0.5 * ( hit->position_in[3] + hit->position_out[3] ); + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + trk->n_epd_hit++; + + } + + } +} sd2table_epd; +// Copy to sTGC and FST structures +struct SD2Table_STGC { + void operator()( StSensitiveDetector* sd, St_g2t_fts_hit* table, St_g2t_track* track ) { + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_fts_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_fts_hit_st)); + + g2t_hit.id = hit->id; + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + for ( int i=0; i<3; i++ ) { + g2t_hit.p[i] = 0.5 * ( hit->momentum_in[i] + hit->momentum_out[i] ); + g2t_hit.x[i] = 0.5 * ( hit->position_in[i] + hit->position_out[i] ); + } + g2t_hit.tof = 0.5 * ( hit->position_in[3] + hit->position_out[3] ); + + int idtruth = hit->idtruth; + g2t_track_st* g2t_track = (g2t_track_st*)track->At(idtruth-1); + + g2t_hit.next_tr_hit_p = g2t_track->hit_stg_p; // store next hit on the linked list + g2t_track->hit_stg_p = hit->id; // this hit becomes the head of the linked list + g2t_track->n_stg_hit++; + + table -> AddAt( &g2t_hit ); + + } + } +} sd2table_stgc; +struct SD2Table_FST { + void operator()( StSensitiveDetector* sd, St_g2t_fts_hit* table, St_g2t_track* track ) { + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_fts_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_fts_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + for ( int i=0; i<3; i++ ) { + g2t_hit.p[i] = 0.5 * ( hit->momentum_in[i] + hit->momentum_out[i] ); + g2t_hit.x[i] = 0.5 * ( hit->position_in[i] + hit->position_out[i] ); + } + g2t_hit.tof = 0.5 * ( hit->position_in[3] + hit->position_out[3] ); + + int idtruth = hit->idtruth; + g2t_track_st* g2t_track = (g2t_track_st*)track->At(idtruth-1); + + g2t_hit.next_tr_hit_p = g2t_track->hit_fts_p; // store next hit on the linked list + g2t_track->hit_fts_p = hit->id; // this hit becomes the head of the linked list + g2t_track->n_fts_hit++; + + table -> AddAt( &g2t_hit ); + + } + } +} sd2table_fst; + +// Generic EMC copy (no increment on track hits) +struct SD2Table_EMC { + void operator()( StSensitiveDetector* sd, St_g2t_emc_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StCalorimeterHitCollection* collection = (StCalorimeterHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_emc_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_emc_hit_st)); + + g2t_hit.id = hit->id; + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.x = hit->position_in[0]; + g2t_hit.y = hit->position_in[1]; + g2t_hit.z = hit->position_in[2]; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + if ( sdname == "CSCI" ) + trk->n_emc_hit++; + else if ( sdname == "ESCI" ) + trk->n_eem_hit++; + else if ( sdname == "PSCI" ) + trk->n_pre_hit++; + else if ( sdname == "WSCI" ) + trk->n_wca_hit++; + else if ( sdname == "HSCI" ) + trk->n_hca_hit++; + } + } +} sd2table_emc; + +struct SD2Table_HCA { + void operator()( StSensitiveDetector* sd, St_g2t_hca_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StCalorimeterHitCollection* collection = (StCalorimeterHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_hca_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_hca_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + if ( hit->user.size()>=1 ) g2t_hit.deA = hit->user[0]; else g2t_hit.deA = -1; + if ( hit->user.size()>=2 ) g2t_hit.deB = hit->user[1]; else g2t_hit.deB = -2; + if ( hit->user.size()>=3 ) g2t_hit.deC = hit->user[2]; else g2t_hit.deC = -3; + if ( hit->user.size()>=4 ) g2t_hit.deD = hit->user[3]; else g2t_hit.deD = -4; + g2t_hit.x = hit->position_in[0]; + g2t_hit.y = hit->position_in[1]; + g2t_hit.z = hit->position_in[2]; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + trk->n_hca_hit++; + + } + } +} sd2table_hca; + + +struct SD2Table_CTF { + void operator()( StSensitiveDetector* sd, St_g2t_ctf_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_ctf_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_ctf_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + + g2t_hit.x[0] = (hit->position_in[0] + hit->position_out[0]) * 0.5; + g2t_hit.x[1] = (hit->position_in[1] + hit->position_out[1]) * 0.5; + g2t_hit.x[2] = (hit->position_in[2] + hit->position_out[2]) * 0.5; + g2t_hit.tof = (hit->position_in[3] + hit->position_out[3]) * 0.5; + g2t_hit.p[0] = (hit->momentum_in[0] + hit->momentum_out[0]) * 0.5; + g2t_hit.p[1] = (hit->momentum_in[1] + hit->momentum_out[1]) * 0.5; + g2t_hit.p[2] = (hit->momentum_in[2] + hit->momentum_out[2]) * 0.5; + g2t_hit.s_track = hit->length; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + trk->n_tof_hit++; + + } + } +} sd2table_ctf; +struct SD2Table_VPD { + void operator()( StSensitiveDetector* sd, St_g2t_vpd_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_vpd_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_vpd_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + + g2t_hit.x[0] = (hit->position_in[0] + hit->position_out[0]) * 0.5; + g2t_hit.x[1] = (hit->position_in[1] + hit->position_out[1]) * 0.5; + g2t_hit.x[2] = (hit->position_in[2] + hit->position_out[2]) * 0.5; + g2t_hit.tof = (hit->position_in[3] + hit->position_out[3]) * 0.5; + g2t_hit.p[0] = (hit->momentum_in[0] + hit->momentum_out[0]) * 0.5; + g2t_hit.p[1] = (hit->momentum_in[1] + hit->momentum_out[1]) * 0.5; + g2t_hit.p[2] = (hit->momentum_in[2] + hit->momentum_out[2]) * 0.5; + g2t_hit.s_track = hit->length; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + trk->n_vpd_hit++; + + } + } +} sd2table_vpd; +struct SD2Table_MTD { + void operator()( StSensitiveDetector* sd, St_g2t_mtd_hit* table, St_g2t_track* track ) { + + TString sdname = sd->GetName(); + + // Retrieve the hit collection + StTrackerHitCollection* collection = (StTrackerHitCollection *)sd->hits(); + // Iterate over all hits + for ( auto hit : collection->hits() ) { + + g2t_mtd_hit_st g2t_hit; memset(&g2t_hit,0,sizeof(g2t_mtd_hit_st)); + + g2t_hit.id = hit->id; + // TODO: add pointer to next hit on the track + g2t_hit.track_p = hit->idtruth; + g2t_hit.volume_id = hit->volId; + g2t_hit.de = hit->de; + g2t_hit.ds = hit->ds; + + g2t_hit.xglobal[0] = (hit->position_in[0] + hit->position_out[0]) * 0.5; + g2t_hit.xglobal[1] = (hit->position_in[1] + hit->position_out[1]) * 0.5; + g2t_hit.xglobal[2] = (hit->position_in[2] + hit->position_out[2]) * 0.5; + + g2t_hit.tof = (hit->position_in[3] + hit->position_out[3]) * 0.5; + g2t_hit.p[0] = (hit->momentum_in[0] + hit->momentum_out[0]) * 0.5; + g2t_hit.p[1] = (hit->momentum_in[1] + hit->momentum_out[1]) * 0.5; + g2t_hit.p[2] = (hit->momentum_in[2] + hit->momentum_out[2]) * 0.5; + g2t_hit.s_track = hit->length; + + table -> AddAt( &g2t_hit ); + + int idtruth = hit->idtruth; + g2t_track_st* trk = (g2t_track_st*)track->At(idtruth-1); + + trk->n_mtd_hit++; + + } + } +} sd2table_mtd; + +//________________________________________________________________________________________________ +TGeant4* gG4 = 0; +TGeant3TGeo* gG3 = 0; + +// Function to process one event +std::function trigger; + +//________________________________________________________________________________________________ +// Pointer to the maker so we can forward VMC calls there +static StGeant4Maker* _g4maker = 0; +//________________________________________________________________________________________________ +StarParticleData &particleData = StarParticleData::instance(); +//________________________________________________________________________________________________ +StarVMCApplication::StarVMCApplication( const Char_t *name, const Char_t *title, double zmax, double rmax, std::string multi, StMCParticleStack* stack ) : + TVirtualMCApplication(name,title),mZmax(zmax),mRmax(rmax),mMulti( multi=="multi" ) +{ + + mMCStack = stack; + + if ( mMulti && stack ) { + + LOG_INFO << "VMC Application Initialized for Multi-engine Run" << endm; + + RequestMCManager(); + fMCManager->SetUserStack(stack); + + } + +} +//________________________________________________________________________________________________ +void StGeant4Maker::PrintOptions( const char* opts ) { + if ( 0==opts ) { + + std::cout << std::endl << std::endl; + for ( auto o : mCmdOptions ) { + + std::cout << o.name + << " value=" << SAttr(o.name.c_str()) << std::endl + << " " << o.help << std::endl; + + + } + std::cout << std::endl << std::endl; + + } +} +//________________________________________________________________________________________________ +StGeant4Maker::StGeant4Maker( const char* nm ) : + StMaker(nm), + mCmdOptions(), + mVmcApplication ( NULL ), + mGeomPath ( "./StarDb/AgMLGeometry:$STAR/StarDb/AgMLGeometry" ), + mStarField ( NULL ), + mMCStack ( new StMCParticleStack( "MCstack" ) ), + mMagfield ( NULL ), + mRunConfig ( NULL ), + mCurrentNode (0), + mPreviousNode (0), + mCurrentVolume (0), + mPreviousVolume (0), + mCurrentTrackingRegion(2), + mPreviousTrackingRegion(2), + acurr(0),aprev(0), + mEventHeader(0), + mDefaultEngine(0) +{ + + + LOG_INFO << "Geant4Maker configuration" << endm; + LOG_INFO << "Each option can be overridden using --option=value" << endm; + + + // Setup default attributes + // SetAttr( "G4Opt:Nav", "geomRoot" );// Default uses only possibility for us... ROOT geom with ROOT nav. No VGM to convert to G4 geometry. + // Possibilities geomVMCtoGeant4 geomVMCtoRoot geomRoot geomRootToGeant4 geomGeant4 + SetAttr( "G4VmcOpt:Nav", "geomVMCtoRoot" ); + SetAttr( "G4VmcOpt:Name", "Geant4" ); + SetAttr( "G4VmcOpt:Title", "The Geant4 Monte Carlo" ); + AddOption( "G4VmcOpt:Phys", "FTFP_BERT", "Geant 4 physics list" ); // default physics list + // SetAttr( "G4VmcOpt:Process", "stepLimiter+specialCuts" ); // special process + SetAttr( "G4VmcOpt:Process", "stepLimiter+specialControls+specialCuts+stackPopper" ); // special process + // SetAttr( "G4VmcOpt:Process", "stepLimiter+stackPopper" ); // special process + + SetAttr("G3VmcOpt:Name", "GEANT3" ); + SetAttr("G3VmcOpt:nwgeant", 0 ); + + AddOption( "AgMLOpt:TopVolume", "HALL", "Name of the top-level volume" ); + + AddOption( "Stepping:Punchout:Stop", 1, "Punchout action: 0=no action, 1=track stopped, 2=track stopped and re-injected" ); + AddOption( "Stepping:Punchout:Rmin", 223.49, "Min radius applied to punchout logic" ); + AddOption( "Stepping:Punchout:Zmin", 268.75, "Min Z applied to punchout logic" ); + AddOption( "Random:G4", 12345, "Sets the Random number seed"); + AddOption( "field", -5.0, "Sets the STAR magnetic field [kG]" ); + + AddOption( "Application:Zmax", DBL_MAX, "Universe maximum z" ); + AddOption( "Application:Rmax", DBL_MAX, "Universe maximum radius" ); + + SetAttr("Scoring:Transit",0); + AddOption("Scoring:Rmax",450.0, "Maxium secondary production radius to enter truth tables" ); + AddOption("Scoring:Zmax",2000.0, "Maximum secondary production z to enter truth tables"); + AddOption("Scoring:Emin",0.01, "Minimum secondary energy to enter truth tables"); + + AddOption("vertex:x",0.0, "Primary vertex x [cm]"); + AddOption("vertex:y",0.0, "Primary vertex y [cm]"); + AddOption("vertex:z",0.0, "Primary vertex z [cm]"); + AddOption("vertex:sigmax",0.0, "Primary vertex width [cm]"); + AddOption("vertex:sigmay",0.0, "Primary vertex width [cm]"); + AddOption("vertex:sigmaz",0.0, "Primary vertex width [cm]"); + + + AddOption( "runnumber", 1, "Run number" ); + + + // Setup default cuts + AddOption("CUTGAM", 0.001, "Minimum photon energy for track propagation"); + AddOption("CUTELE", 0.001, "Minimum electron energy for track propagation" ); + AddOption("CUTHAD", 0.01, "Minimum charged hadron energy for track propagation"); + AddOption("CUTNEU", 0.01, "Minimum neutral hadron energy for track propagation"); + AddOption("CUTMUO", 0.01, "Minimum muon energy for track propagation"); + AddOption("BCUTE", /* R 'Cut for electron brems.' D=*/ 0.0001, "Cut for electron brem" ); + AddOption("BCUTM", /* R 'Cut for muon brems.' D=-1.*/ 0.0001, "Cut for muon brem" ); + AddOption("DCUTE", /* R 'Cut for electron delta-rays' D=*/ 0.0001, "Cut for electron delta rays" ); + AddOption("DCUTM", /* R 'Cut for muon delta-rays' D=-1.*/ 0.0001, "Cut for muon delta rays" ); + AddOption("PPCUTM", /* R 'Cut for e+e- pairs by muons' D=0.01*/ 0.01, "Cut for e+e- production by muons" ); + AddOption("TOFMAX", /* R 'Time of flight cut' D=*/ 1.E+10, "Maximum time-of-flight for tracks" ); + + // Setup default physics + AddOption("PAIR", 1, "Enable/disable pair production"); + AddOption("COMP", 1, "Enable/disable compton scattering" ); + AddOption("PHOT", 1, "Enable/diable photoelectric effect" ); + AddOption("PFIS", 1, "Enable/disable photo fission" ); + AddOption("DRAY", 1, "Enable/disable delta rays"); + AddOption("ANNI", 1, "Enable/disable positron annihilation"); + AddOption("BREM", 1, "Enable/disable bremstrahlung"); + AddOption("HADR", 1, "Enable/disable hadronic interactions"); + AddOption("MUNU", 1, "Enable/disable muon-nucleus interactions"); + AddOption("DCAY", 1, "Enable/disable decays"); + AddOption("LOSS", 2, "Energy loss mode" ); + AddOption("MULS", 1, "Multiple scattering"); + AddOption("CKOV", 1, "Cherenkov radiation"); + AddOption("RAYL", 1, "Rayleigh scattering"); + AddOption("LABS", 1, "Absorption of ckov photons"); + AddOption("SYNC", 1, "Synchrotron radiation"); + + // Application defaults to single engine mode with Geant4 + AddOption("application:engine","G4","Application mode: G3=GEANT3, G4=Geant4, multi=mixed G3/G4 mode with defaults below"); + + AddOption("all:engine", "G3", "In multi-engine mode, selects the default engine for all subsystems" ); // default engine in multi-engine mode is G3 + AddOption("NAME:engine", "XX", "Specifies the physics engine (XX=G3 or XX=G4) for all volumes defined in NAMEGeo"); + AddOption("wcal:engine", "G4", "Default engine for all volumes defined in WcalGeo" ); // Forward EMC defaults to G4 + AddOption("hcal:engine", "G4", "Default engine for all volumes defined in HcalGeo" ); // Forward hcal defaults to G4 + + + + // Naughty + _g4maker = this; // Provide a global pointer to the G4 maker + + PrintOptions(); + +} +//________________________________________________________________________________________________ +int StGeant4Maker::Init() { + + InitGeom(); + + mVmcApplication = new StarVMCApplication("g4star","STAR G4/VMC",DAttr("Application:Zmax"),DAttr("Application:Rmax"), SAttr("application:engine"), mMCStack ); + + const bool specialStacking = false; + const bool multiThreaded = false; + mRunConfig = new TG4RunConfiguration( SAttr("G4VmcOpt:Nav"), SAttr("G4VmcOpt:Phys" ), SAttr("G4VmcOpt:Process"), specialStacking, multiThreaded ); + + AddObj( mVmcApplication, ".const", 0 ); // Register VMC application + + if ( 0==std::strcmp( SAttr("application:engine"), "G3") || 0==std::strcmp( SAttr("application:engine"), "multi") ) { + gG3 = new TGeant3TGeo(SAttr("G3VmcOpt:Name"), IAttr("G3VmcOpt:nwgeant" ) ); // ID = 0 in multi engine + LOG_INFO << "Created GEANT3 instance" << gG3->GetName() << endm; + } + + if ( 0==std::strcmp( SAttr("application:engine"), "G4") || 0==std::strcmp( SAttr("application:engine"), "multi") ) { + gG4 = new TGeant4(SAttr("G4VmcOpt:Name"), SAttr("G4VmcOpt:Title") ,mRunConfig); // ID = 1 in multi engine + LOG_INFO << "Created Geant 4 instance " << gG4->GetName() << endm; + } + + if ( gG4 ) AddObj( gG4, ".const", 0 ); + if ( gG3 ) AddObj( gG3, ".const", 0 ); + + bool multimode = gG3 && gG4; + + if ( multimode ) { + LOG_INFO << "Application will run both G3 and G4 physics engines, with default as "<< SAttr("all:physics") << endm; + // Verify that G3 and G4 registered themselves with the manager + auto* mgr = TMCManager::Instance(); + if ( mgr ) { + std::vector engines; + mgr->GetEngines(engines); + for ( auto* mc : engines ) { + mc->Print(); + } + } + } + + // + // Create the function which processes a single event + // + + trigger = [](){ std::cout << "StGeant4Maker::trigger warning. No trigger function defined. No events produced." << std::endl; } ; + if ( gG3 || gG4 ) { + if ( 0==std::strcmp( SAttr("application:engine"), "G4" ) ) { + trigger = []() { gG4->ProcessRun(1); } ; + } + + else if ( 0==std::strcmp( SAttr("application:engine"), "G3" ) ) { + trigger = []() { gG3->ProcessRun(1); } ; + } + + else if ( 0==std::strcmp( SAttr("application:engine"), "multi" ) ) { + trigger = [](){ TMCManager::Instance()->Run(1); } ; + } + } + + mMagfield = new StarMagFieldAdaptor(/*nada*/); + + auto SetDefaultCuts = [this](TVirtualMC* mc) { + mc->SetCut( "CUTGAM", DAttr("cutgam") ); + mc->SetCut( "CUTELE", DAttr("cutele") ); + mc->SetCut( "CUTHAD", DAttr("cuthad") ); + mc->SetCut( "CUTNEU", DAttr("cutneu") ); + mc->SetCut( "CUTMUO", DAttr("cutmuo") ); + mc->SetCut( "BCUTE" , DAttr("bcute") ); + mc->SetCut( "DCUTE" , DAttr("dcute") ); + mc->SetCut( "BCUTM" , DAttr("bcutm") ); + mc->SetCut( "DCUTM" , DAttr("dcutm") ); + }; + auto SetDefaultProcesses = [this](TVirtualMC* mc) { + mc->SetProcess("PAIR", IAttr("PAIR")); + mc->SetProcess("COMP", IAttr("COMP")); + mc->SetProcess("PHOT", IAttr("PHOT")); + mc->SetProcess("PFIS", IAttr("PFIS")); + mc->SetProcess("DRAY", IAttr("DRAY")); + mc->SetProcess("ANNI", IAttr("ANNI")); + mc->SetProcess("BREM", IAttr("BREM")); + mc->SetProcess("HADR", IAttr("HADR")); + mc->SetProcess("MUNU", IAttr("MUNU")); + mc->SetProcess("DCAY", IAttr("DCAY")); + mc->SetProcess("LOSS", IAttr("LOSS")); + mc->SetProcess("MULS", IAttr("MULS")); + mc->SetProcess("CKOV", IAttr("CKOV")); + mc->SetProcess("RAYL", IAttr("RAYL")); + mc->SetProcess("LABS", IAttr("LABS")); + mc->SetProcess("SYNC", IAttr("SYNC")); + }; + auto SetFieldAndGeometry = [this](TVirtualMC* mc) { + mc->SetMagField( mMagfield ); + mc->SetRootGeometry(); + }; + auto SetStack = [this,multimode](TVirtualMC* mc) { + if ( 0==multimode ) mc->SetStack(mMCStack); + }; + auto InitializeMC = [SetDefaultCuts,SetDefaultProcesses,SetFieldAndGeometry,SetStack](TVirtualMC* mc) { + SetDefaultCuts(mc); + SetDefaultProcesses(mc); + SetFieldAndGeometry(mc); + SetStack(mc); + mc->Init(); + mc->BuildPhysics(); + }; + + // Multi-engine initialization + if ( 0==std::strcmp( SAttr("application:engine"), "multi") ) { + + LOG_INFO << "Initialize Geant 4 + GEANT3 multiengine run" << endm; + TMCManager::Instance()->Init( InitializeMC ); + + } + + // Geant4 standalone initialization + if ( 0==std::strcmp( SAttr("application:engine"), "G4") ) { + + LOG_INFO << "Initialize Geant 4 standalone" << endm; + + InitializeMC( gG4 ); + + TG4RunManager* runManager = TG4RunManager::Instance(); + runManager->UseRootRandom(false); + + } + + // GEANT3 standalone initialization + if ( 0==std::strcmp( SAttr("application:engine"), "G3") ) { + + LOG_INFO << "Initialize GEANT3 standalone" << endm; + + InitializeMC( gG3 ); + + } + + return StMaker::Init(); +} +//________________________________________________________________________________________________ +int StGeant4Maker::InitRun( int /* run */ ){ + + auto result = kStOK; + + // Get magnetic field scale + double field = DAttr("field"); /* kG */ + + if ( 0 == StarMagField::Instance() ) new StarMagField( StarMagField::kMapped, field / 5.0 ); + + if ( 0.0 == field ) { // TODO: Not sure about the logic here... + // field = St_MagFactorC::instance()->ScaleFactor(); + // if ( TMath::Abs(field)<1E-3 ) field = 1E-3; + StarMagField::Instance()->SetFactor(field); + } + + // Obtain a pointer to the event header + mEventHeader = (StEvtHddr*) ( GetTopChain()->GetDataSet("EvtHddr") ); + + // If it does not exist, create and register + if ( 0 == mEventHeader ) { + mEventHeader = new StEvtHddr(GetConst()); + mEventHeader->SetRunNumber(0); + SetOutput(mEventHeader); // Declare this event header for output + } + + // Obtain pointer to the primary maker + StarPrimaryMaker* primarymk = dynamic_cast (GetMaker("PrimaryMaker")); + if (primarymk) { + primarymk->SetVertex( DAttr("vertex:x"), DAttr("vertex:y"), DAttr("vertex:z") ); + primarymk->SetSigma ( DAttr("vertex:sigmax"), DAttr("vertex:sigmay"), DAttr("vertex:sigmaz") ); + } + else { + LOG_FATAL << "Primary event generator not registered" << endm; + result = kStFatal; + } + + return result; +} +//________________________________________________________________________________________________ +void StarVMCApplication::ConstructGeometry(){ + // Geometry construction is the responsability of the framework and should + // have already occurred. If the geometry is missing, it should be fatal. + if ( 0==gGeoManager ) { + LOG_FATAL << "Geometry manager is not available at StarVMCApplication::ConstructGeometry... this will not go well" << endm; + } + gGeoManager->CloseGeometry(); +} +//________________________________________________________________________________________________ +int StGeant4Maker::InitGeom() { + + const DbAlias_t *DbAlias = GetDbAliases(); + if ( 0==gGeoManager ) { + for (int i = 0; DbAlias[i].tag; i++) // iterate over DB aliases + { + StBFChain *bfc = (StBFChain *)(GetTopChain()); + if ( 0==bfc ) break; // nothing to do in this case... + + // + // Look for BFC option of form y2019x or ry2019x + // + TString rtag = "r"; rtag += DbAlias[i].tag; + TString tag = DbAlias[i].tag; + if ( 0==bfc->GetOption(rtag.Data()) && 0==bfc->GetOption(tag.Data()) ) continue; + // + // Get the geometry generation macro + // + TString geo = "Geometry."; geo += DbAlias[i].tag; geo += ".C"; + Char_t *mac = gSystem->Which( mGeomPath.Data(), geo, kReadPermission ); + if ( 0==mac ) continue; + // + // Load and execute + // + LOG_INFO << "Load geometry file " << mac << endm; + gInterpreter->ProcessLine( Form( ".L %s", mac ) ); + gInterpreter->ProcessLine( "CreateTable();" ); + gInterpreter->ProcessLine( Form( ".U %s", mac ) ); + // + // Cleanup file + // + if (mac) delete [] mac; + } + } + + assert(gGeoManager); + + LOG_INFO << "Geometry constructed." << endm; + TGeoVolume* top = gGeoManager->FindVolumeFast( SAttr("AgMLOpt:TopVolume") ); + gGeoManager->SetTopVolume( top ); + + return kStOK; +} +//________________________________________________________________________________________________ +double StarVMCApplication::TrackingRmax() const { + return mRmax; +} +double StarVMCApplication::TrackingZmax() const { + return mZmax; +} +//________________________________________________________________________________________________ +int StGeant4Maker::InitHits() { + return kStOK; +} +//________________________________________________________________________________________________ +struct A { }; +struct B { }; +int StGeant4Maker::Make() { + + static int eventNumber = 1; + const int runnumber = IAttr("runnumber"); + + // One time initialization + if ( 1 == eventNumber ) { + + mMCStack->SetScoring( DAttr("Scoring:Rmax"), DAttr("Scoring:Zmax"), DAttr("Scoring:Emin") ); + + } + + trigger(); + + // Update event header. Note that event header's SetRunNumber method sets the run number AND updates the previous run number. + + if ( runnumber != mEventHeader->GetRunNumber() ) mEventHeader -> SetRunNumber( runnumber ); + mEventHeader -> SetEventNumber( eventNumber ); + mEventHeader -> SetProdDateTime(); + + // SetDateTime(); + + // Increment event number + eventNumber++; + + // Dump the stack at the end of make + // mMCStack -> StackDump(); + + return kStOK; +} +//________________________________________________________________________________________________ +void StGeant4Maker::Clear( const Option_t* opts ){ + + mMCStack -> Clear(); // Clear the MC stack + acurr = aprev = 0; // zero out pointers to the current and previous agml extensions + + + StMaker::Clear(); +} +//________________________________________________________________________________________________ +void StarVMCApplication::InitGeometry(){ + + _g4maker -> ConfigureGeometry(); + +} +//________________________________________________________________________________________________ +void StarVMCApplication::ConstructSensitiveDetectors() { + + // + // This routine registers sensitive detectors to volumes. Additionally, + // in multi-engine mode, this routine is responsible for associating + // a physics engine to each volume in the geometry. + // + // NOTE: physics engines are assigned at the granularity of geometry + // modules. Users have the ability to specify the physics engine for + // a given module (and all volumes defined within) by using the syntax + // + // --syst:engine=G3 or --syst:engine=G4 + // + // where "syst" denotes the first four letters of the name of the geometry + // module. + // + + assert(gGeoManager); + + // + // Returns the engine enum (kGeant3 or kGeant4) from the command line option + // of the form NAME:engine=G3 or NAME:engine=G4 + // + // NAME = all signifies the default engine + // NAME = modu is the first four letters (lower cased) of the module name. All + // volumes within that module will be assigned to the engine. + // + auto engineFromOption = []( const std::string _option ) -> int { + std::string option = _option; + int result; + // Get the default from the maker + std::string v; + const std::string default_ = _g4maker->SAttr("all:engine"); + + if ( option == "" ) v = default_; + else v = _g4maker->SAttr(option.c_str()); + if ( v == "" ) v = default_; + + // Returns either geant3 or geant4 + if ( v == "G3" ) result = AgMLExtension::Geant3; + else if ( v == "G4" ) result = AgMLExtension::Geant4; + else { assert(0); } // should never fall through + assert( result==0 || result==1 ); + return result; + }; + auto engineFromModule = [engineFromOption]( const std::string _m ) -> int { + // grab the first four characters of the module + std::string m4 = _m.substr(0,4); + // is there an attribute set + std::string option = m4 + ":engine"; + return engineFromOption( option ); + }; + + _g4maker->SetDefaultEngine( engineFromOption("all:engine") ); + + // First collect all AgML extensions with sensitive volumes + // by the family name of the volume + std::map sdmap; + + // Get list of volumes + TObjArray *volumes = gGeoManager->GetListOfVolumes(); + + // Get list of extensions mapped to volume + for ( int i=0; iGetEntries(); i++ ) { + + TGeoVolume* volume = (TGeoVolume *)volumes->At(i); + AgMLExtension* ae = getExtension(volume); + if ( 0==ae ) { + LOG_INFO << "No agml extension on volume = " << volume->GetName() << endm; + continue; // shouldn't happen + } + + // Name of the volume + TString vname=volume->GetName(); + TString fname=ae->GetFamilyName(); + TString mname=ae->GetModuleName(); + + ae->SetEngine( engineFromModule( mname.Data() ) ); + + if ( 0==ae->GetSensitive() ) { + LOG_DEBUG << "Not sensitive = " << volume->GetName() << endm; + continue; + } + + AgMLVolumeId* identifier = AgMLVolumeIdFactory::Create( fname ); + if ( identifier ) { + ae -> SetVolumeIdentifier( identifier ); + } + + // + // Get the sensitive detector. If we don't have one registered + // to this family, create one and register it + // + StSensitiveDetector* sd = sdmap[fname]; + if ( 0==sd ) { + // add sensitive detector to local map + sd = sdmap[fname] = new StSensitiveDetector( fname, mname ); + sd->SetUserStack( mMCStack ); + } + + // Register this volume to the sensitive detector + + auto* mgr = TMCManager::Instance(); + if ( 0 == mgr ) { + + auto* mc = TVirtualMC::GetMC(); // Question: Do we need to obtain pointer through TMCManager here? + if ( nullptr == mc->GetSensitiveDetector( vname ) ) { + mc->SetSensitiveDetector( vname, sd ); + } + + } + else { // multi engine mode + + mgr->Apply( [sd,vname]( TVirtualMC* _mc ) { + _mc->SetSensitiveDetector( vname, sd ); + }); + + } + + // Register this volume with the sensitive detector + sd->addVolume( volume ); + + } + +} +//________________________________________________________________________________________________ +void StGeant4Maker::SetEngineForModule( const char* module_, const int engine ) { + + LOG_INFO << "Remapping all volumes in module " << module_ << " to MC engine " << engine << endm; + + // Get list of volumes + TObjArray *volumes = gGeoManager->GetListOfVolumes(); + + // Get list of extensions mapped to volume + for ( int i=0; iGetEntries(); i++ ) { + + TGeoVolume* volume = (TGeoVolume *)volumes->At(i); + AgMLExtension* ae = getExtension(volume); + if ( 0==ae ) { + LOG_INFO << "No agml extension on volume = " << volume->GetName() << endm; + continue; // shouldn't happen + } + + // Name of the volume + TString vname=volume->GetName(); + TString fname=ae->GetFamilyName(); + TString mname=ae->GetModuleName(); + TString mname_ = module_; + + if ( mname == mname_ ) { + + ae->SetEngine( engine ); + + } + + } + +} +//________________________________________________________________________________________________ +int StGeant4Maker::ConfigureGeometry() { + + auto* mgr = TMCManager::Instance(); + + // Iterate overall volumes and set volume specific tracking cuts + std::map media; + TObjArray* objArray = gGeoManager->GetListOfVolumes(); + for ( int i=0; iGetEntries();i++ ) { + TGeoVolume* volume = (TGeoVolume *)objArray->At(i); + if ( 0==volume ) continue; + TGeoMedium* medium = volume->GetMedium(); + int id = medium->GetId(); + if ( media[id]>0 ) continue; // skip if medium already encountered + AgMLExtension* agmlExt = getExtension(volume); + if ( 0==agmlExt ) continue; + media[id] = id; + for ( auto kv : agmlExt->GetCuts() ) { + if ( 0==mgr ) { + TVirtualMC::GetMC()->Gstpar( id, kv.first, kv.second ); + } + else { + mgr->Apply( [id,kv]( TVirtualMC* mc ) { + mc->Gstpar( id, kv.first, kv.second ); + }); + } + } + } + + + return kStOK; +} +//________________________________________________________________________________________________ +void StarVMCApplication::BeginEvent(){ _g4maker->BeginEvent(); } +void StGeant4Maker::BeginEvent(){ + + +} +//________________________________________________________________________________________________ +void StarVMCApplication::FinishEvent(){ _g4maker -> FinishEvent(); } +void StGeant4Maker::FinishEvent(){ + + // Event information is (for the time being) zeroed out + St_g2t_event* g2t_event = new St_g2t_event("g2t_event",1); AddData(g2t_event); + g2t_event_st event; + event = {0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0}; + g2t_event->AddAt( &event ); + + // TODO: handle multi-engine + StMCParticleStack* stack = mMCStack; // (StMCParticleStack *)TVirtualMC::GetMC()->GetStack(); + auto& vertex = stack->GetVertexTable(); + auto& particle = stack->GetParticleTable(); + unsigned int nvertex = vertex.size(); + unsigned int ntrack = particle.size(); + + St_g2t_vertex* g2t_vertex = new St_g2t_vertex("g2t_vertex",nvertex); AddData(g2t_vertex); + St_g2t_track* g2t_track = new St_g2t_track ("g2t_track", ntrack); AddData(g2t_track); + + // Add tracks and vertices to the data structures... + + std::map truthTrack; + std::map truthVertex; + + // Map vertex and track ID truth to their pointers + + int ivertex = 1; // vertex numbering starts from 1 + for ( auto v : vertex ) { + truthVertex[v] = ivertex; + ivertex++; + } + + int itrack = 1; // track numbering starts from 1 + for ( auto t : particle ) { + truthTrack[t] = itrack; + itrack++; + } + + ivertex = 1; + for ( auto v : vertex ) { + + // partial fill of vertex table ________________________ + g2t_vertex_st myvertex; memset(&myvertex, 0, sizeof(g2t_vertex_st)); + myvertex.id = ivertex; + std::string vname = v->volume(); + std::copy(vname.begin(), vname.end(), myvertex.ge_volume); + myvertex.eg_x[0] = myvertex.ge_x[0] = v->vx(); + myvertex.eg_x[1] = myvertex.ge_x[1] = v->vy(); + myvertex.eg_x[2] = myvertex.ge_x[2] = v->vz(); + myvertex.eg_tof = myvertex.ge_tof = v->tof(); + myvertex.n_daughter = v->daughters().size(); + if ( v->daughters().size() ) { + myvertex.daughter_p = truthTrack[ v->daughters()[0] ]; + } + if ( v->parent() ) { + myvertex.n_parent = 1; // almost by definition + myvertex.parent_p = truthTrack[ v->parent() ]; + } + myvertex.ge_medium = v->medium(); + myvertex.ge_proc = v->process(); + myvertex.is_itrmd = v->intermediate(); + + // TODO: map ROOT mechanism to G3 names + + // An intermediate vertex with no daughters makes no + // sense (daughters must have been ranged out) so + // skip filling + // if ( myvertex.is_itrmd && 0==myvertex.n_daughter ) continue; + + + //__________________________________________ next vertex + g2t_vertex->AddAt( &myvertex ); + ivertex++; + + } + + itrack = 1; // track numbering starts from 1 + for ( auto t : particle ) { + + auto* pdgdata = particleData.GetParticle( t->GetPdg() ); + + // partial fill of track table _______________________ + g2t_track_st mytrack; memset(&mytrack, 0, sizeof(g2t_track_st)); + mytrack.id = itrack; + mytrack.eg_pid = t->GetPdg(); + if ( pdgdata ) { + mytrack.ge_pid = pdgdata->TrackingCode(); + mytrack.charge = pdgdata->Charge()/3.0; + } + else { + LOG_WARN << Form("Particle w/ pdgid = %i has no G3 ID (assign 0 to g2t_track::ge_pid)",t->GetPdg()) << endm; + } + mytrack.p[0] = t->px(); + mytrack.p[1] = t->py(); + mytrack.p[2] = t->pz(); + mytrack.e = t->particle()->Energy(); + mytrack.pt = t->pt(); // NOTE: starsim secondaries have pt = -999 + mytrack.eta = t->particle()->Eta(); + mytrack.rapidity = t->particle()->Y(); + // index of the start and stop vertices. + // TODO: particle stop vertices need to be scored + mytrack.start_vertex_p = truthVertex[ t->start() ]; + mytrack.stop_vertex_p = truthVertex[ t->stop() ]; + // next, track parent + mytrack.next_parent_p = truthTrack[ t->start()->parent() ]; + //__________________________________________ next track + g2t_track->AddAt(&mytrack); + itrack++; + } + + // Copy hits to tables + AddHits( "TPCH", {"TPAD"}, "g2t_tpc_hit", sd2table_tpc ); + AddHits( "CALH", {"CSCI"}, "g2t_emc_hit", sd2table_emc ); + AddHits( "ECAH", {"ESCI"}, "g2t_eem_hit", sd2table_emc ); + + AddHits( "EPDH", {"EPDT"}, "g2t_epd_hit", sd2table_epd ); + AddHits( "FSTH", {"FTUS"}, "g2t_fsi_hit", sd2table_fst ); + AddHits( "STGH", {"TGCG"}, "g2t_stg_hit", sd2table_stgc ); + AddHits( "PREH", {"PSCI"}, "g2t_pre_hit", sd2table_emc ); + AddHits( "WCAH", {"WSCI"}, "g2t_wca_hit", sd2table_emc ); + AddHits( "HCAH", {"HSCI"}, "g2t_hca_hit", sd2table_hca ); // HCA should have its own copier + + AddHits( "BTOH", {"BRSG"}, "g2t_tfr_hit", sd2table_ctf ); + AddHits( "VPDH", {"VRAD"}, "g2t_vpd_hit", sd2table_vpd ); + AddHits( "MUTH", {"MIGG"}, "g2t_mtd_hit", sd2table_mtd ); + + // g2t_track->Print(0,10); + +} +//________________________________________________________________________________________________ +void StarVMCApplication::BeginPrimary(){ _g4maker -> BeginPrimary(); } +void StGeant4Maker::BeginPrimary() +{ + + std::vector& truthTable = mMCStack->GetTruthTable(); + truthTable.clear(); + + +} +//________________________________________________________________________________________________ +void StarVMCApplication::FinishPrimary(){ _g4maker->FinishPrimary(); } +void StGeant4Maker::FinishPrimary() +{ + +} +//________________________________________________________________________________________________ +void StarVMCApplication::PreTrack(){ _g4maker->PreTrack(); } +void StGeant4Maker::PreTrack() +{ + + auto* navigator = gGeoManager->GetCurrentNavigator(); + + // Reset the history (tracks always born in full tracking region) + mPreviousNode = mCurrentNode = 0; + mPreviousVolume = mCurrentVolume = 0; + mCurrentTrackingRegion=2; + mPreviousTrackingRegion=2; + + mCurrentNode = navigator->GetCurrentNode(); + mCurrentVolume = navigator->GetCurrentVolume(); +} +//________________________________________________________________________________________________ +void StarVMCApplication::PostTrack(){ _g4maker->PostTrack(); } +void StGeant4Maker::PostTrack() +{ + +} +//________________________________________________________________________________________________ +void StGeant4Maker::UpdateHistory() { + + static auto* navigator = gGeoManager->GetCurrentNavigator(); + // TODO: handle multi-engine +//static auto* mc = TVirtualMC::GetMC(); + + + mPreviousNode = mCurrentNode; + mPreviousVolume = mCurrentVolume; + mCurrentNode = navigator->GetCurrentNode(); + mCurrentVolume = navigator->GetCurrentVolume(); + + // Obtain the agml extensions, giving priority to anything attached to + // a node. + + aprev = (mPreviousNode ) ? dynamic_cast( mPreviousNode->GetUserExtension() ) : 0; + acurr = (mCurrentNode ) ? dynamic_cast( mCurrentNode->GetUserExtension() ) : 0; + + if ( 0==aprev ) { + aprev = (mPreviousVolume) ? getExtension(mPreviousVolume) : 0; + } + if ( 0==acurr ) { + acurr = (mCurrentVolume) ? getExtension(mCurrentVolume) : 0; + } + + // Possibly inherit from parent volume + if ( 0==aprev && mPreviousNode ) { + aprev = getExtension( mPreviousNode->GetMotherVolume() ); + } + if ( 0==acurr && mCurrentNode ) { + acurr = getExtension( mCurrentNode->GetMotherVolume() ); + } + + // If the previous or current extension is null, there is no change in the tracking state. + + if ( aprev ) { + mPreviousTrackingRegion = aprev->GetTracking(); + // HACK override for CAVE, SCON + if ( aprev->GetVolumeName() == "CAVE" ) mPreviousTrackingRegion = 2; + } + if ( acurr ) { + mCurrentTrackingRegion = acurr->GetTracking(); + // HACK override for CAVE + if ( acurr->GetVolumeName() == "CAVE" ) mCurrentTrackingRegion = 2; + } + +} +//________________________________________________________________________________________________ +int StGeant4Maker::regionTransition( int curr, int prev ) { + TString previous = (mPreviousNode) ? mPreviousNode->GetName() : ""; + int result = 0; + + // TODO: handle multi-engine +//static auto mc = TVirtualMC::GetMC(); + +//static double Rmin = DAttr("Stepping:Punchout:Rmin"); +//static double Zmin = DAttr("Stepping:Punchout:Zmin"); + + // TODO: This is a hack. We need to update the geometry and group these three + // detectors underneath a single integration volume / region. + if ( previous == "PMOD" || + previous == "WMOD" || + previous == "HMOD" ) { + result = 0; + } + else { + result = curr - prev; + } + + // 2 2 0 no transition + // 2 1 1 into tracking from calorimeter + // 1 2 -1 into calorimeter from tracking + // 1 1 0 no transition + + return result; + +} +//________________________________________________________________________________________________ +void StarVMCApplication::Stepping(){ _g4maker -> Stepping(); } +void StGeant4Maker::Stepping(){ + + // At start of user stepping, try to transfer the track between engine + auto* mgr = TMCManager::Instance(); + auto* mc = TVirtualMC::GetMC(); + + if ( mgr ) { + + mc = mgr->GetCurrentEngine(); + + int target = mDefaultEngine; + int current = mc->GetId(); + + auto* ext = getExtension( mCurrentVolume ); + if ( ext ) { + target = ext->GetEngine(); + } + + + if ( current != target ) { + mgr->TransferTrack(target); + } + + } + + auto* stack = mMCStack; + + // Get access to the current track + TParticle* current = stack->GetCurrentTrack(); + + // Get access to the current MC truth + StarMCParticle* truth = stack->GetParticleTable().back(); + + // Update the immediate track history + UpdateHistory(); + + // Check for region transitions + const int transit = regionTransition( mCurrentTrackingRegion, mPreviousTrackingRegion ); + + double vx, vy, vz, tof; + mc->TrackPosition( vx,vy,vz ); + tof = mc->TrackTime(); // because consistent interface ala TrackMomentum is hard... + + bool stopped = false; + + static double Rmin = DAttr("Stepping:Punchout:Rmin"); + static double Zmin = DAttr("Stepping:Punchout:Zmin"); + + // Defines a tracking region which overrides the geometry module region assignment + auto trackingRegion = [=]()->bool { + +// bool result = false; + + double x,y,z,r; + mc->TrackPosition( x, y, z ); + r = TMath::Sqrt( x*x + y*y ); + z = TMath::Abs(z); + + bool tpcFiducial = r < Rmin && z < Zmin; + bool fwdFiducial = r < 90.0; // 90cm is poletip donut hole + + bool fcsFiducial = z > 700 && z < 1000 && TMath::Abs(x) < 150 && TMath::Abs(y) < 101.0; + + + return tpcFiducial || fwdFiducial || fcsFiducial; + + }; + + // Check if option to stop punchout tracks is enabled + if ( IAttr("Stepping:Punchout:Stop") && 1==transit && !trackingRegion() ) { + + if ( 2==IAttr("Stepping:Punchout:Stop") ) { + + assert(truth); + + // Parent track is the ID known to the particle stack + int parent = truth->idStack(); + + assert(current); + + // PDG of the track has not changed + int pdg = current->GetPdgCode(); + // We will use the current momentum of the particle + double px, py, pz, e; + mc->TrackMomentum( px, py, pz, e ); + // ... and its current vertex and TOF from the point where it + // emerges from the calorimeter + + // this is a user process (and I would dearly love to be able to extend the definitions here...) + TMCProcess mech = kPUserDefined; + int ntr; + + stack->PushTrack( 1, parent, pdg, px, py, pz, e, vx, vy, vz, tof, 0., 0., 0., mech, ntr, 1.0, 1 ); + + } + + mc->StopTrack(); + stopped = true; + + } + + // Score interaction vertices on entrance / exit of a tracking region + bool transitCheck = (0!=transit)&&IAttr("Scoring:Transit"); + if ( 2==mCurrentTrackingRegion || transitCheck ) { + + int nsec = mc->NSecondaries(); + + // Track has decayed or otherwise been stopped + if ( mc->IsTrackDisappeared() || + mc->IsTrackStop() || + mc->IsTrackOut() ) { + + const StarMCVertex* vertex_ = truth->stop(); + if ( 0==vertex_ ) { + + auto* vertex = mMCStack->GetVertex( vx, vy, vz, tof, -1 ); + vertex->setParent( truth ); + vertex->setMedium( mc->CurrentMedium() ); + +// int pdgid = 0; + if ( mc->IsTrackDisappeared() ) { + + if ( nsec ) vertex->setProcess( mc->ProdProcess(0) ); + else if ( mc->IsTrackStop() ) vertex->setProcess( kPStop ); + else if ( mc->IsTrackOut() ) vertex->setProcess( kPNull ); + + } + else if ( mc->IsTrackStop() ) vertex->setProcess( kPStop ); + else if ( mc->IsTrackOut() ) vertex->setProcess( kPNull ); + + truth->setStopVertex( vertex ); + } + + } + else if ( nsec > 0 ) { + + + TMCProcess proc = mc->ProdProcess(0); + { + + // interaction which throws off secondaries and track contiues... + auto* vertex = mMCStack->GetVertex(vx,vy,vz,tof,proc); + + vertex->setParent( truth ); + vertex->setMedium( mc->CurrentMedium() ); + vertex->setProcess( mc->ProdProcess(0) ); + vertex->setIntermediate(true); + + // this is an intermediate vertex on the truth track + truth->addIntermediateVertex( vertex ); + + } + + } + + } + + if ( stopped ) { + LOG_DEBUG << Form("track stopped x=%f y=%f z=%f ds=%f transit=%d %d stopped=%s %s", + vx,vy,vz,mc->TrackStep(), mCurrentTrackingRegion, mPreviousTrackingRegion, (stopped)?"T":"F", mc->CurrentVolPath() ) << endm; + } + + // Perform any post stepping actions + for ( auto f : mPostSteppingActions ) f(); + + +} +//________________________________________________________________________________________________ +void StarVMCApplication::GeneratePrimaries() { _g4maker -> PushPrimaries(); } +void StGeant4Maker::PushPrimaries() { + + StMaker *mymaker = GetMaker("PrimaryMaker"); + StarPrimaryMaker *myprimary = (StarPrimaryMaker *)mymaker; + StarParticleStack *mystack = myprimary->stack(); + + int ntrack = mystack -> GetNtrack(); + + int ntr = 0; // set by reference below... + for ( int itrack = 0; itrack < ntrack; itrack++ ) + { + + TParticle *track = mystack->GetParticle(itrack); + int pdg = track -> GetPdgCode(); + TParticlePDG *pdgPart = particleData(pdg); + + if ( 0 == pdgPart ) + { // Protect against unknown particle codes + continue; + } + + int parent = track->GetFirstMother(); +// int kid1 = track->GetFirstDaughter(); +// int kid2 = track->GetLastDaughter(); + double px = track->Px(); + double py = track->Py(); + double pz = track->Pz(); + + double M = pdgPart->Mass(); + + double E = TMath::Sqrt( px * px + py * py + pz * pz + M * M ); + double vx = track->Vx(); + double vy = track->Vy(); + double vz = track->Vz(); + double tof= track->T(); + double weight = 1.0; + TMCProcess proc = kPPrimary; + int stat = track->GetStatusCode(); + + if ( 1 == stat ) + { + + // Push all tracks with parent = -1 to flag as primary + mMCStack->PushTrack( 1, parent=-1, pdg, px, py, pz, E, vx, vy, vz, tof, 0, 0, 0, proc, ntr, weight, stat ); + + } + + + } + + LOG_INFO << "Pushed " << ntr << " tracks from primary event generator" << endm; + +} +//________________________________________________________________________________________________ +int StGeant4Maker::Finish() { + + LOG_INFO << "Energy sums per sensitive volume" << endm; + for ( auto kv : mHitSum ) { + + std::string name = kv.first; + double esum = kv.second; + + LOG_INFO << name.c_str() << " dE sum = " << esum << endm; + + } + + return kStOK; +} + + + +//________________________________________________________________________________________________ + diff --git a/StRoot/StGeant4Maker/StGeant4Maker.h b/StRoot/StGeant4Maker/StGeant4Maker.h new file mode 100644 index 00000000000..d2da9c8eb90 --- /dev/null +++ b/StRoot/StGeant4Maker/StGeant4Maker.h @@ -0,0 +1,258 @@ +#ifndef __StGeant4Maker_h__ +#define __StGeant4Maker_h__ +#include + +#include "StChain.h" + +#include "TVirtualMC.h" +#include "TVirtualMCApplication.h" +#include "TVirtualMagField.h" +#include "StarMagField.h" +#include +#include +#include +#include "StMCParticleStack.h" + +#include + +class StGeant4Maker; + +class AgMLExtension; + +class TGeoNode; +class TGeoVolume; + +class TG4RunConfiguration; + +class St_g2t_track; + +class StEvtHddr; + +//______________________________________________________________________________________ +class StarMagFieldAdaptor : public TVirtualMagField { +public: + void Field( const double *x, double *B ) + { + StarMagField::Instance()->BField(x,B); + } +}; +//______________________________________________________________________________________ +class StarVMCApplication : public TVirtualMCApplication { +public: + StarVMCApplication( const char *name = "starsim", const char *title="STAR VMC simulation", double zmax=DBL_MAX, double rmax=DBL_MAX, std::string engine="geant4", StMCParticleStack* stack = 0 ); + ~StarVMCApplication(){ /* nada */ }; + + /// Geometry construction is the responsability of the STAR chain + virtual void ConstructGeometry(); + virtual void ConstructSensitiveDetectors(); + + /// Misalignment of geometry. Default false. + virtual bool MisalignGeometry(){ return false; } + + /// Define parameters for optical processes (optional) + virtual void ConstructOpGeometry() { LOG_INFO << "VMC APP ConstructOpGeometry()" << endm; } + + /// TODO: Initialize geometry. (Usually used to define sensitive volumes IDs) + virtual void InitGeometry(); + + /// Add user defined particles (optional) + virtual void AddParticles() {LOG_INFO << "VMC APP AddParticles()" << endm; }; + + /// Add user defined ions (optional) + virtual void AddIons() {} + + /// Primary generation is responsability of the STAR framework + virtual void GeneratePrimaries(); + + /// Define actions at the beginning of the event + virtual void BeginEvent(); + + /// Define actions at the beginning of the primary track + virtual void BeginPrimary(); + + /// Define actions at the beginning of each track + virtual void PreTrack(); + + /// Define action at each step + virtual void Stepping(); + + /// Define actions at the end of each track + virtual void PostTrack(); + + /// Define actions at the end of the primary track + virtual void FinishPrimary(); + + /// Define actions at the end of the event + virtual void FinishEvent(); + + /// Define maximum radius for tracking (optional) + virtual double TrackingRmax() const; + + /// Define maximum z for tracking (optional) + virtual double TrackingZmax() const; + + /// Calculate user field \a b at point \a x + virtual void Field(const double* x, double* b) const { StarMagField::Instance()->BField(x,b); } + + /// Define action at each step for Geane + virtual void GeaneStepping() {;} + +private: +protected: + + double mZmax; + double mRmax; + + bool mMulti; + + StMCParticleStack* mMCStack; + + ClassDef(StarVMCApplication, 0); + +}; +//______________________________________________________________________________________ +class StGeant4Maker : public StMaker { + +public: + + StGeant4Maker( const char* nm="geant4star" ); + ~StGeant4Maker(){ /* nada */ }; + + /// Initialize maker + int Init(); + int InitRun( int run ); + int InitGeom(); + int InitHits(); + + /// Perform runtime initialization of per-medium track propagation cuts, processes, etc... + int ConfigureGeometry(); + + /// Process one event + int Make(); + + void BeginEvent(); + void BeginPrimary(); + void PreTrack(); + void PostTrack(); + void FinishPrimary(); + void FinishEvent(); + + // Executed on each tracking step + void Stepping(); + + /// Push primary event out for tracking + void PushPrimaries(); + + /// Clear for the next event + void Clear( const Option_t* opts="" ); + + /// Final end of run actions + int Finish(); + + void SetDefaultEngine( int e ) { mDefaultEngine = e; } + + /// Sets the MC engine for a given module + void SetEngineForModule( const char* module_, const int engine ); + + StMCParticleStack* stack(){ return mMCStack; } + + void AddUserPostSteppingAction( std::function f ) { mPostSteppingActions.push_back(f); } + + /// Registers a command line option + template + void AddOption( const char* opt, T val, const char* help ){ + SetAttr( opt, val ); + mCmdOptions.push_back( { opt, help } ); + } + + void PrintOptions( const char* opts = 0 ); + + +private: +protected: + + struct CmdOption { + std::string name; + std::string help; + }; + std::vector mCmdOptions; + + StarVMCApplication *mVmcApplication; + TString mGeomPath; // Search path for geometry construction + StarMagField *mStarField; + StMCParticleStack *mMCStack; // Monte Carlo stack + StarMagFieldAdaptor *mMagfield; + TG4RunConfiguration* mRunConfig; + // StVMCStepManager* mStepping; + + void UpdateHistory(); + + TGeoNode* mCurrentNode; + TGeoNode* mPreviousNode; + TGeoVolume* mCurrentVolume; + TGeoVolume* mPreviousVolume; + + int mCurrentTrackingRegion; + int mPreviousTrackingRegion; + + AgMLExtension* acurr; + AgMLExtension* aprev; + + StEvtHddr* mEventHeader; + + int regionTransition( int, int ); + + std::map mHitSum; + + /// @param T specifies the type of the table + /// @param F specifies the functor class which retrieves the hits from geant + template + int AddHits( std::string name, std::vector volumes, std::string gname, F sd2table ) { + + int nhits = 0; + StSensitiveDetector* sd = 0; + for ( auto v : volumes ) { + sd = dynamic_cast(TVirtualMC::GetMC()->GetSensitiveDetector( v.c_str() )); + if ( 0==sd ) { LOG_INFO << "no SD for " << v << endm; continue; } + nhits += sd->numberOfHits(); + break; + } + if ( 0==sd ) return 0; + + LOG_INFO << name << " adding number of hits = " << nhits << endm; + auto* table = new T( gname.c_str(), nhits ); + auto* g2t_track = (St_g2t_track*)FindByName("g2t_track"); + + // Copy data from the sensitive detector to the table + sd2table( sd, table, g2t_track ); + + AddData( table ); + double sum = 0.0; + for ( auto hit : (*table) ) { + sum += hit.de; + } + mHitSum[ name ] += sum; + + // Clear the sensitive detector + sd->Clear(); + + return nhits; + } + + int mDefaultEngine; + + std::vector< std::function > mPostSteppingActions; + + ClassDef(StGeant4Maker,0); + +public: + + virtual const char *GetCVS() const + { + static const char cvs[]="Tag $Name:$ $Id:$ built __DATE__ __TIME__ "; + return cvs; + } + +}; +//______________________________________________________________________________________ +#endif diff --git a/StRoot/StGeant4Maker/StHitCollection.cxx b/StRoot/StGeant4Maker/StHitCollection.cxx new file mode 100644 index 00000000000..64700cab0db --- /dev/null +++ b/StRoot/StGeant4Maker/StHitCollection.cxx @@ -0,0 +1,449 @@ +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include + +//____________________________________________________________________________________________ +ostream& operator<<(ostream& os, const TrackerHit& hit) { + + TString mypath(""); + + int i=0; + int volu=hit.volu[i]; + int copy=hit.copy[i]; + while ( volu>0 ) { + mypath += "/"; mypath += gGeoManager->GetVolume(volu)->GetName(); mypath += "_"; mypath += copy; + i++; + volu=hit.volu[i]; + copy=hit.copy[i]; + } + + TString numbv; + for ( unsigned int iv=0;iv0 ) { + + mypath += "/"; mypath += gGeoManager->GetVolume(volu)->GetName(); mypath += "_"; mypath += copy; + + i++; + + volu=hit.volu[i]; + copy=hit.copy[i]; + + } + + TString numbv; + for ( unsigned int iv=0;ivGetCurrentNavigator(); + TVirtualMC* mc = (TMCManager::Instance()) ? + TMCManager::Instance()->GetCurrentEngine() : + TVirtualMC::GetMC(); + + TGeoVolume* current = navigator->GetCurrentVolume(); + + // Is this a charged particle? If not, skip it... + if ( 0 == mc->TrackCharge() ) return; + + // Energy deposited in this tracking step + double Edep = mc->Edep(); + + // Position and momentum of the hit + double x, y, z, px, py, pz, etot; + mc->TrackPosition( x, y, z ); + mc->TrackMomentum( px, py, pz, etot ); + + TVirtualMCStack* stack = (TVirtualMCStack *)mc->GetStack(); + + // Get list of tracks from particle stack + StMCParticleStack* userstack = (StMCParticleStack*)mUserStack; + std::vector& truthTable = userstack->GetTruthTable(); + std::vector& particleTable = userstack->GetParticleTable(); + + // This should be the current particle truth + StarMCParticle* truth = userstack->GetCurrentPersistentTrack(); + + LOG_DEBUG << "Process hits with track " << truth << " current tn=" << userstack->GetCurrentTrackNumber() << endm; + + bool isNewTrack = mc->IsNewTrack(); + bool isTrackEntering = mc->IsTrackEntering(); + bool isTrackExiting = mc->IsTrackExiting(); + bool isTrackInside = mc->IsTrackInside(); + bool isTrackOut = mc->IsTrackOut(); + bool isTrackStop = mc->IsTrackStop(); + + TrackerHit* hit = 0; + + // Track has entered this volume, create a new hit + if ( isTrackEntering || isNewTrack ) { + + // Make sure that the level is not too deep + if ( navigator->GetLevel() > int(DetectorHit::maxdepth) ) { + LOG_INFO << "Cannot score hits with depth " << navigator->GetLevel() << endm; + return; + } + + mHits.push_back( hit = new TrackerHit ); + truth->addHit( hit ); + + // Get the current path to the sensitive volume + hit->path = mc->CurrentVolPath(); + + // Get the current volume / copy numbers to the sensitive volume. n.b. GetBranchNumbers + // only writes to the current level, so if hit is not new or cleared, need to clear by hand. + gGeoManager->GetBranchNumbers( hit->copy, hit->volu ); + + int inumbv = 0; + AgMLExtension* agmlext = 0; + for ( int ilvl=0; ilvlGetLevel()+1;ilvl++ ) { + TGeoVolume* volume = gGeoManager->GetVolume( hit->volu[ilvl] ); + agmlext = getExtension( volume ); + if ( 0 == agmlext ) continue; // but probably an error + if ( agmlext->GetBranchings() <= 1 ) continue; // skip unique volumes (and HALL) + hit->numbv[ inumbv++ ] = hit->copy[ilvl]; + } + + // Set the volume unique ID + assert(agmlext); + hit->volId = agmlext->GetVolumeId( hit->numbv ); + + // Assign the hit a unqiue ID (index + 1) + hit->id = mHits.size(); + + // Assign the hit the ID truth of the current track (index + 1) + // hit->idtruth = particleTable.size(); + // hit->idtruth = truthTable.size(); + hit->idtruth = userstack->GetIdTruth ( truth ); + + + + // Score entrance momentum and + mc->TrackMomentum( hit->momentum_in[0], hit->momentum_in[1], hit->momentum_in[2], hit->momentum_in[3] ); + mc->TrackPosition( hit->position_in[0], hit->position_in[1], hit->position_in[2] ); + hit->position_in[3] = mc->TrackTime(); + + } + + if ( mHits.size() == 0 ) { + LOG_INFO << "No available hits" << endm; + return; + } + + // Update the final step in this hit + hit = mHits.back(); + + hit -> nsteps += 1; + + // For all other tracking states, update the exit momentum and position + mc->TrackMomentum( hit->momentum_out[0], hit->momentum_out[1], hit->momentum_out[2], hit->momentum_out[3] ); + mc->TrackPosition( hit->position_out[0], hit->position_out[1], hit->position_out[2] ); + hit->position_out[3] = mc->TrackTime(); + + // Increment the energy loss and step sums + hit -> de += mc->Edep(); + hit -> ds += mc->TrackStep(); + + // Total length to this point + hit -> length = mc->TrackLength(); + + double mass = mc->TrackMass(); + double Etot = mc->Etot(); // total energy + + double Ekin = Etot - mass; + if ( mass <= 0 ) hit->lgam = -999; + else if ( Ekin <= 0 ) hit->lgam = -998; + else hit->lgam = TMath::Log10( Ekin/mass ); + + + // Grab the agml extension and evaluate user hits + AgMLExtension* agmlext = getExtension( current ); + if ( 0==agmlext ) return; + + // Score user defined hit quantities + for ( auto score : agmlext->GetUserHits() ) { + hit->user.push_back( score->hit() ); + } + +} +//_____________________________________________________________________________________________ +void StTrackerHitCollection::EndOfEvent() { + // Do nothing +} +//_____________________________________________________________________________________________ +void StTrackerHitCollection::Clear(Option_t*) { + for ( auto h : mHits ) { + if ( h ) delete h; + } + mHits.clear(); +} + + +//_____________________________________________________________________________________________ +void StCalorimeterHitCollection::Initialize() { + +} +//_____________________________________________________________________________________________ +void StCalorimeterHitCollection::ProcessHits() { + + TGeoNavigator* navigator = gGeoManager->GetCurrentNavigator(); + TVirtualMC* mc = TVirtualMC::GetMC(); + TGeoVolume* current = navigator->GetCurrentVolume(); + + // Is this a charged particle? If not, skip it... + if ( 0 == mc->TrackCharge() ) return; + + // Energy deposited in this tracking step + double Edep = mc->Edep(); + + // Correct for Birk's law + // Edep = Edep * mBirk[0] / ( 1.0 + mBirk[1]*Edep + mBirk[2]*Edep*Edep ); + + // Position and momentum of the hit + double x, y, z, px, py, pz, etot; + mc->TrackPosition( x, y, z ); + mc->TrackMomentum( px, py, pz, etot ); + + TVirtualMCStack* stack = (TVirtualMCStack *)mc->GetStack(); + + // Get list of tracks from particle stack + StMCParticleStack* userstack = (StMCParticleStack*)mUserStack; + std::vector& truthTable = userstack->GetTruthTable(); + std::vector& particleTable = userstack->GetParticleTable(); + + // This should be the current particle truth + StarMCParticle* truth = userstack->GetCurrentPersistentTrack(); + + LOG_DEBUG << "Process hits with track " << truth << " current tn=" << userstack->GetCurrentTrackNumber() << endm; + + bool isNewTrack = mc->IsNewTrack(); + bool isTrackEntering = mc->IsTrackEntering(); + bool isTrackExiting = mc->IsTrackExiting(); + bool isTrackInside = mc->IsTrackInside(); + bool isTrackOut = mc->IsTrackOut(); + bool isTrackStop = mc->IsTrackStop(); + + CalorimeterHit* hit = 0; + + // Track has entered this volume, create a new hit + if ( isTrackEntering || isNewTrack ) { + + // Zero out the energy sum + mEsum = 0; + + // Make sure that the level is not too deep + if ( navigator->GetLevel() > int(DetectorHit::maxdepth) ) { + LOG_INFO << "Cannot score hits with depth " << navigator->GetLevel() << endm; + return; + } + + mHits.push_back( hit = new CalorimeterHit ); + truth->addHit( hit ); + + // Get the current path to the sensitive volume + hit->path = mc->CurrentVolPath(); + + // Get the current volume / copy numbers to the sensitive volume. n.b. GetBranchNumbers + // only writes to the current level, so if hit is not new or cleared, need to clear by hand. + gGeoManager->GetBranchNumbers( hit->copy, hit->volu ); + + // Set reduced volume path + int inumbv = 0; + AgMLExtension* agmlext = 0; + for ( int ilvl=0; ilvlGetLevel()+1;ilvl++ ) { + TGeoVolume* volume = gGeoManager->GetVolume( hit->volu[ilvl] ); + agmlext = getExtension(volume); + if ( 0 == agmlext ) continue; // but probably an error + if ( agmlext->GetBranchings() <= 1 ) continue; // skip unique volumes (and HALL) + hit->numbv[ inumbv++ ] = hit->copy[ilvl]; + } + + // Set the volume unique ID + assert(agmlext); + hit->volId = agmlext->GetVolumeId( hit->numbv ); + + // Assign the hit a unqiue ID (index + 1) + hit->id = 1 + mHits.size(); + + // Assign the hit the ID truth of the current track (index + 1) + // hit->idtruth = particleTable.size(); + // hit->idtruth = truthTable.size(); + hit->idtruth = userstack->GetIdTruth ( truth ); + + // Score entrance + mc->TrackPosition( hit->position_in[0], hit->position_in[1], hit->position_in[2] ); + hit->position_in[3] = mc->TrackTime(); + + } + + if ( mHits.size() == 0 ) { + LOG_INFO << "No available hits" << endm; + return; + } + + // Update the final step in this hit + hit = mHits.back(); + + hit -> nsteps += 1; + + // Add current energy deposit to energy sum + mEsum += Edep; + + // Hit energy will be the total energy deposition corrected by Birk's law + hit -> de = mEsum * mBirk[0] / ( 1.0 + mBirk[1]*mEsum + mBirk[2]*mEsum*mEsum ); + + // Grab the agml extension and evaluate user hits + AgMLExtension* agmlext = getExtension( current ); + if ( 0==agmlext ) return; + + // Score user defined hit quantities + for ( auto score : agmlext->GetUserHits() ) { + hit->user.push_back( score->hit() ); + } + + +} +//_____________________________________________________________________________________________ +void StCalorimeterHitCollection::EndOfEvent() { + // Aggregate hits in each calorimeter sensitive volume + int count=0; + int idtruth=0; + double demax=-9E9; + std::map hitsByVolume; + + for ( auto hit : mHits ) { + int volumeId = hit->volId; + auto myhit = hitsByVolume[volumeId]; + + if ( 0==myhit ) { + myhit = hitsByVolume[volumeId] = new CalorimeterHit(); + myhit->id = ++count; + myhit->idtruth=hit->idtruth; + std::copy( hit->volu, hit->volu+DetectorHit::maxdepth, myhit->volu ); + std::copy( hit->copy, hit->copy+DetectorHit::maxdepth, myhit->copy ); + myhit->volId = volumeId; + myhit->path = hit->path; + myhit->user.resize(hit->user.size()); + std::copy(hit->position_in,hit->position_in+4,myhit->position_in); + myhit->idtruth=hit->idtruth; + } + + myhit->idtruth = TMath::Min( hit->idtruth, myhit->idtruth ); + myhit->nsteps += hit->nsteps; + myhit->de += hit->de; + + if ( hit->user.size() == myhit->user.size() ) + { + for ( int i=0;iuser.size();i++ ) { + myhit->user[i]+=hit->user[i]; + } + } + else + { + LOG_INFO << "Size mismatch in user hit vector, skip adding this hit. " << endm; + } + } + + for ( auto h : mHits ) { + if (h) delete h; + } + mHits.clear(); + + for ( auto kv : hitsByVolume ) { + mHits.push_back( kv.second ); + } + +} +//_____________________________________________________________________________________________ + +//_____________________________________________________________________________________________ +void StCalorimeterHitCollection::Clear(Option_t*) { + for ( auto h : mHits ) { + if (h) delete h; + } + mHits.clear(); + mEsum=0; +} diff --git a/StRoot/StGeant4Maker/StHitCollection.h b/StRoot/StGeant4Maker/StHitCollection.h new file mode 100644 index 00000000000..cf1d46cb5b4 --- /dev/null +++ b/StRoot/StGeant4Maker/StHitCollection.h @@ -0,0 +1,94 @@ +#ifndef __StHitCollection_h__ +#define __StHitCollection_h__ + +class DetectorHit; +class TrackerHit; +class CalorimeterHit; + +#include +#include +#include +#include +#include + +class TVirtualMCStack; + +class StHitCollection : public TNamed { + +public: + + StHitCollection( const char* name, const char* title ); + ~StHitCollection(){ /* nada */ }; + + virtual void Initialize() = 0; + virtual void ProcessHits() = 0; + virtual void EndOfEvent() = 0; + virtual void Clear(Option_t* o="") = 0; + + virtual int numberOfHits() = 0; + + void SetUserStack( TVirtualMCStack* stack ) { mUserStack = stack; } + +private: +protected: + + TVirtualMCStack* mUserStack; + + ClassDef(StHitCollection,0); + +}; + +class StTrackerHitCollection : public StHitCollection { + +public: + StTrackerHitCollection( const char* name, const char* title ); + ~StTrackerHitCollection() { /* nada */ }; + + virtual void Initialize(); + virtual void ProcessHits(); + virtual void EndOfEvent(); + virtual void Clear(Option_t* o=""); + + virtual int numberOfHits(){ return mHits.size(); } + + std::vector& hits(){ return mHits; } + +private: +protected: + + std::vector mHits; + + ClassDef(StTrackerHitCollection,0); + +}; + + +class StCalorimeterHitCollection : public StHitCollection { + +public: + StCalorimeterHitCollection( const char* name, const char* title ); + ~StCalorimeterHitCollection() { /* nada */ }; + + virtual void Initialize(); + virtual void ProcessHits(); + virtual void EndOfEvent(); + virtual void Clear(Option_t* o=""); + + virtual int numberOfHits(){ return mHits.size(); } + + std::vector& hits(){ return mHits; } + +private: +protected: + + std::vector mHits; + double mBirk[3]; + double mEsum; + + ClassDef(StCalorimeterHitCollection,0); + +}; + +std::ostream& operator<<(std::ostream& os, const TrackerHit& hit); + +#endif diff --git a/StRoot/StGeant4Maker/StMCParticleStack.cxx b/StRoot/StGeant4Maker/StMCParticleStack.cxx new file mode 100644 index 00000000000..a9d51d73f1a --- /dev/null +++ b/StRoot/StGeant4Maker/StMCParticleStack.cxx @@ -0,0 +1,512 @@ +#include "StMCParticleStack.h" + +#include + +#include "TMCProcess.h" +using namespace std; + +#include +#include + +#include +#include +#include +#include + +#include + +#include +#include +#include + +const int kDefaultStackSize = 400; +const int kDefaultArraySize = 4000; + +ostream& operator<<(ostream& os, const StarMCVertex& vert) { + os << Form("[StMCVertex %p] (%f,%f,%f)", + (void*)&vert, + vert.vx(), + vert.vy(), + vert.vz()); + return os; +} +ostream& operator<<(ostream& os, const StarMCParticle& part) { + os << Form("[StMcParticle %s %p] stat=%i pdg=%i p=(%f,%f,%f;%f) v=(%f,%f,%f)",part.GetName(),(void*)&part, + part.GetStatus(), part.GetPdg(), + part.px(),part.py(),part.pz(),part.E(), + part.vx(),part.vy(),part.vz() + ); + + if ( part.start() ) { + os << std::endl << " [start] " << *part.start(); + } + + for ( auto i : part.intermediate() ) { + os << std::endl << " [inter] " << *i; + } + + if ( part.stop() ) { + os << std::endl << " [stop] " << *part.stop(); + } + + return os; +} +ostream& operator<<(ostream& os, const TParticle& part) { + os << Form("[TParticle %s %p] stat=%i pdg=%i p=(%f,%f,%f;%f) v=(%f,%f,%f) mother=%i daughters=%i %i", + part.GetName(), + (void*)&part, + part.GetStatusCode(),part.GetPdgCode(), + part.Px(),part.Py(),part.Pz(),part.Energy(), + part.Vx(),part.Vy(),part.Vz(), + part.GetFirstMother(), part.GetFirstDaughter(), + part.GetLastDaughter()); + return os; +} + + + + +//___________________________________________________________________________________________________________________ +//___________________________________________________________________________________________________________________ +StMCParticleStack::StMCParticleStack( const Char_t *name ) : + TVirtualMCStack(), + mNumPrimary(0), + mCurrent(-1), + mArraySize(0), + mArray(0), + mPersistentTrack(), + mStackSize(0), + mStack(), + mStackIdx(), + mTruthTable(), + mParticleTable(), + mVertexTable(), + mStackToTable(), + mIdTruthFromParticle(), + mScoringRmax(450.0), + mScoringZmax(2000.0), + mScoringEmin(0.01) +{ + + mArray = new TClonesArray("TParticle", kDefaultArraySize ); + +} +//___________________________________________________________________________________________________________________ +// +//___________________________________________________________________________________________________________________ +StMCParticleStack::~StMCParticleStack() +{ + if ( mArray ) delete mArray; +} +//___________________________________________________________________________________________________________________ +// +//___________________________________________________________________________________________________________________ +void StMCParticleStack::PushTrack( int toDo, int parent, int pdg, + double px, double py, double pz, double energy, + double vx, double vy, double vz, double vt, + double polx, double poly, double polz, + TMCProcess mech, int& ntr, double weight, + int is ) +{ + + // Determine whether we are in a tracking region or calorimeter region + static auto* navigator = gGeoManager->GetCurrentNavigator(); + auto* node = navigator->FindNode( vx, vy, vz ); + auto* volume = (node) ? node->GetVolume() : 0; + + if ( 0 == volume ) { + LOG_INFO << "Attempt to push a track @ v="<< vx << "," << vy << "," << vz << " ... no node found (FindNode)" << endm; + LOG_INFO << "... current path = " << navigator->GetPath() << endm; + return; // drop track on the ground + } + + // NOTE: No early returns allowed from this point + + AgMLExtension* agmlext = getExtension( node ); + + int agmlreg = (agmlext) ? agmlext->GetTracking() : 2; // 1=calorimeter 2=tracking 0=blackhole + + if (0==agmlreg) { + LOG_WARN << "... dropped into a blackhole ..." << endm; + return; // complete drop of particle into blackhole + } + + // + // Add a new particle to the array. Note: VMC standard PushTrack does not specify the children + // (or 2nd parent) of particles. So these are entered with value of -1. + // + TClonesArray &array = (*mArray); + TParticle *particle = new(array[mArraySize]) TParticle( pdg, is, parent, -1, -1, -1, + px, py, pz, energy, vx, vy, vz, vt); + particle->SetPolarisation( polx, poly, polz ); + particle->SetWeight(weight); + particle->SetUniqueID(mech); + + // mArray and mPersistent track should always have same number of entries + mPersistentTrack.push_back(0); + + bool isPrimary = parent<0; + mNumPrimary += isPrimary; + + // Add to the stack of particles + if ( toDo ) { + + mStack.push_back( particle ); + mStackIdx.push_back( mArraySize ); // store stack ID + + } + ntr = mArraySize; // guess this is supposed to be track number (index in array) + + + double Rmax2=mScoringRmax*mScoringRmax; + double vr2 = vx*vx+vy*vy; + + bool tracing = (vr2 mScoringEmin; + + // + // And handle region-based track persistence + // + if ( tracing && (agmlreg == 2 || isPrimary) ) { + + StarMCVertex* vertex = GetVertex( vx, vy, vz, vt, mech ); + + auto* persistent = new StarMCParticle(particle,vertex); + persistent->setIdTruth( mParticleTable.size() ); + persistent->setStartVertex( vertex ); + mParticleTable.push_back(persistent); // mParticleTable owns the pointer + mPersistentTrack[mArraySize] = persistent; + + mIdTruthFromParticle[ persistent ] = mParticleTable.size(); + + // Set corrspondance between stack ID and table ID + mStackToTable[ntr] = mParticleTable.back(); + mStackToTable[ntr]->setIdStack( ntr ); + + // add this particle as a daughter of the vertex + vertex->addDaughter( mParticleTable.back() ); + + auto* navigator = gGeoManager->GetCurrentNavigator(); + auto* volume = navigator->GetCurrentVolume(); + auto* medium = volume->GetMedium(); + int imed = medium->GetId(); + + vertex->setMedium(imed); + vertex->setProcess( mech ); + + } + + // + // Check to see if a persistent track has been assigned. If not, inherit from parent. + // + if ( 0==mPersistentTrack[mArraySize] ) { + int mother = particle->GetFirstMother(); + if ( mother >= 0 ) { + mPersistentTrack[mArraySize] = mPersistentTrack[mother]; + } + } + + // + // Forward to TMCManager if it exists + // + + if ( auto mgr = TMCManager::Instance() ) { + mgr -> ForwardTrack( toDo, ntr, parent, particle ); + } + + + // Increment mArraySize + mArraySize++; + + + + +} +//___________________________________________________________________________________________________________________ +StarMCParticle* StMCParticleStack::GetCurrentPersistentTrack() { + int index = GetCurrentTrackNumber(); + return mPersistentTrack[ index ]; +} +//___________________________________________________________________________________________________________________ +StarMCVertex* StMCParticleStack::GetVertex( double vx, double vy, double vz, double vt, int proc ) { + + StarMCVertex* vertex = 0; + + // TODO: Make eps a class parameter + const double eps=0.0000005; + if ( proc >= 0 ) + for ( auto vtx : mVertexTable ) { + double dist = vtx->distance(vx,vy,vz); + if ( dist < eps ) { + if ( vtx->process() == proc ) { + vertex=vtx; + break; + } + } + } + + if ( 0==vertex ) { + vertex = new StarMCVertex(vx,vy,vz,vt); + auto* navigator = gGeoManager->GetCurrentNavigator(); + auto* volume = navigator->GetCurrentVolume(); + vertex->setVolume( volume->GetName() ); + mVertexTable.push_back( vertex ); // mVertexTable owns pointer + } + + return vertex; + +} +//___________________________________________________________________________________________________________________ +TParticle *StMCParticleStack::PopNextTrack( int &itrack ) +{ + + // Start with invalid track index + itrack = -1; + + // The stack is empty. Signal the end. + if ( mStack.empty() ) + { + return NULL; + } + + // Get the particle on the top of the stack + TParticle *particle = mStack.back(); mStack.pop_back(); + itrack = mStackIdx.back(); mStackIdx.pop_back(); + + // Set the current track number + mCurrent = itrack; + + return particle; + +} +//___________________________________________________________________________________________________________________ +// +//___________________________________________________________________________________________________________________ +TParticle *StMCParticleStack::PopPrimaryForTracking( int i ) +{ + LOG_INFO << "PopPrimaryForTracking array size = " << mArraySize << endm; + + assert(iGetEntriesFast(); +} +//___________________________________________________________________________________________________________________ +// +//___________________________________________________________________________________________________________________ +TParticle *StMCParticleStack::GetCurrentTrack() const +{ + return GetParticle(mCurrent); +} +//___________________________________________________________________________________________________________________ +int StMCParticleStack::GetCurrentTrackNumber() const +{ + return mCurrent; +} +//___________________________________________________________________________________________________________________ +int StMCParticleStack::GetCurrentParentTrackNumber() const +{ + TParticle *current = GetCurrentTrack(); + return (current)? current->GetFirstMother() : -1; +} +//___________________________________________________________________________________________________________________ +TParticle *StMCParticleStack::GetParticle( int idx ) const +{ + return (TParticle *)(*mArray)[idx]; +} +//___________________________________________________________________________________________________________________ +void StMCParticleStack::Clear( const Option_t *opts ) +{ + +#if 0 + LOG_INFO << "TParticle table" << endm; + int index = 0; + for ( auto obj : (*mArray) ) { + + TParticle* part = dynamic_cast( obj ); assert(part); + LOG_INFO << Form("[%04i] ",index++) << *part << endm; + + } + + index = 0; + LOG_INFO << "StarMCParticle table" << endm; + for ( auto p : mParticleTable ) { + LOG_INFO << Form("[%04i] ",index++) << *p << endm; + } + + index = 0; + LOG_INFO << "StarMCVertex table" << endm; + for ( auto v : mVertexTable ) { + LOG_INFO << Form("[%04i] ",index++) << *v << endm; + if ( v->parent() ) { + LOG_INFO << " " << *(v->parent()) << " --> " << endm; + } + for ( auto d : v->daughters() ) { + LOG_INFO << " " << *d << endm; + } + } +#endif + + + mArray->Clear(); mPersistentTrack.clear(); + mStack.clear(); mStackIdx.clear(); + mCurrent = -1; + mArraySize = 0; + mStackSize = 0; + + for ( auto v : mVertexTable ) { if (v) delete v; } + for ( auto p : mParticleTable ) { if (p) delete p; } + + mVertexTable.clear(); + mTruthTable.clear(); + mParticleTable.clear(); + +} +//___________________________________________________________________________________________________________________ + + + + + + + +//___________________________________________________________________________________________________________________ +StarMCParticle::StarMCParticle( TParticle* part, StarMCVertex* vert ) : + mStacked(part), + mStartVertex(vert), + mIntermediateVertices(), + mStopVertex(0), + mIdStack(-1), + mIdTruth(-1), + mNumHits(0), + mHits() +{ + +} +//___________________________________________________________________________________________________________________ +void StarMCParticle::addHit( DetectorHit* hit ) { + mHits.push_back( hit ); +} +//___________________________________________________________________________________________________________________ +StarMCVertex::StarMCVertex() : mVertex{0,0,0,0}, + mParent(0), + mDaughters(), + mMechanism(kPNoProcess), + mMedium(0), + mVolume("unkn"), + mIntermediate(false) +{ + + +} +//___________________________________________________________________________________________________________________ +StarMCVertex::StarMCVertex( double x, double y, double z, double t, StarMCParticle* parent) : mVertex{x,y,z,t}, + mParent(parent), + mDaughters(), + mMechanism(kPNoProcess), + mMedium(0), + mVolume("unkn"), + mIntermediate(false) +{ + + +} +//___________________________________________________________________________________________________________________ +double StarMCParticle::vx() const { assert(mStartVertex); return mStartVertex->vx(); } +double StarMCParticle::vy() const { return mStartVertex->vy(); } +double StarMCParticle::vz() const { return mStartVertex->vz(); } +//___________________________________________________________________________________________________________________ +// Helper struct +struct Particle { + int index; + TParticle* mc; + StarMCParticle* st; +}; +// Printout +ostream& operator<<(ostream& os, const Particle& part ) { + os << Form( "%-5i %-5s %-4i %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %-6i %-6i %-6i", + part.index, + part.mc->GetName(), + part.mc->GetStatusCode(), + part.mc->Px(), + part.mc->Py(), + part.mc->Pz(), + part.mc->Vx(), + part.mc->Vy(), + part.mc->Vz(), + part.mc->GetFirstMother(), + part.mc->GetFirstDaughter(), + part.mc->GetLastDaughter() + ); + + os << "|"; + + if ( 0==part.st ) { + os << " -null entry- "; + return os; + } + +// auto* stop = part.st->stop(); +// std::string volume = (0==stop)? "none" : stop->volume(); + +//double vx = part.st->vx(); +//double vy = part.st->vy(); +//double vz = part.st->vz(); + + // static auto* navigator = gGeoManager->GetCurrentNavigator(); + // auto* node = navigator->FindNode( vx, vy, vz ); + // //auto* volume = (node) ? node->GetVolume() : 0; + + // std::string volume = navigator->GetPath(); + + // os << Form( "%-5i %-5i %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %4i %4i %s", + os << Form( "%-5i %-5i %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %-6.3f %4i %4i", + part.st->GetPdg(), + part.st->GetStatus(), + part.st->px(), part.st->py(), part.st->pz(), + part.st->vx(), part.st->vy(), part.st->vz(), + part.st->idTruth(), + (int)part.st->numberOfHits() + ); + + + return os; +}; +void StMCParticleStack::StackDump( int idtruth ) { + + LOG_INFO << "-----------------------------------------------------------------------------------------" << endm; + LOG_INFO << "StarMCParticleStack::StackDump()" << endm; + LOG_INFO << "-----------------------------------------------------------------------------------------" << endm; + LOG_INFO << "N primary: " << mNumPrimary << endm; + LOG_INFO << "N particles: " << mArraySize << endm; + LOG_INFO << "Stack size: " << mStackSize << endm; + LOG_INFO << "Truth size: " << mParticleTable.size() << endm; + LOG_INFO << "-----------------------------------------------------------------------------------------" << endm; + LOG_INFO << "TParticle | StarMCParticle" << endm; + // 12345 12345 1234 123456 123456 123456 123456 123456 123456 123456 123456 123456|12345 12345 123456 123456 123456 123456 123456 123456 1234 + LOG_INFO << "index name stat px py pz vx vy vz parent daughters pdg stat px py pz vx vy vz true " << endm; + Particle p; + for ( int i=0;i( mArray->At(i) ); + p.st = mPersistentTrack[i]; + + if ( idtruth==-1 || idtruth==p.st->idTruth() ) LOG_INFO << p << endm; + + } + LOG_INFO << "-----------------------------------------------------------------------------------------" << endm; + + +} diff --git a/StRoot/StGeant4Maker/StMCParticleStack.h b/StRoot/StGeant4Maker/StMCParticleStack.h new file mode 100644 index 00000000000..55d7a67616d --- /dev/null +++ b/StRoot/StGeant4Maker/StMCParticleStack.h @@ -0,0 +1,274 @@ +#ifndef __StMCParticleStack_h__ +#define __StMCParticleStack_h__ + +#include "TObjArray.h" +#include "StarCallf77.h" +#include "TVirtualMCStack.h" +#include "TDataSet.h" +#include "TMCProcess.h" +#include "TParticle.h" +#include "TClonesArray.h" +#include +#include +#include +#include + +class DetectorHit; + + +/** + \class StMCParticleStack + \author Jason C. Webb + \brief Implementation of the VMC particle stack for use in STAR + +*/ + +class StarMCParticle; +class StarMCVertex; + +class StarMCParticle { + + // TODO: add primary, secondary flags + +public: + StarMCParticle( TParticle* particle=0, StarMCVertex* start=0 ); +// StarMCParticle( const StarMCParticle& ); +// StarMCParticle( const StarMCParticle&& ) = default; + ~StarMCParticle(){ /* nada */ }; + + const TParticle* particle() const { return mStacked; } + + double px() const { assert(mStacked); return mStacked->Px(); } + double py() const { assert(mStacked); return mStacked->Py(); } + double pz() const { assert(mStacked); return mStacked->Pz(); } + double pt() const { return sqrt( px()*px()+py()*py() ); } + double E() const { assert(mStacked); return mStacked->Energy(); } + + double vx() const; + double vy() const; + double vz() const; + + const char* GetName() const { assert(mStacked); return mStacked->GetName(); } + const int GetPdg() const { assert(mStacked); return mStacked->GetPdgCode(); } + const int GetStatus() const { assert(mStacked); return mStacked->GetStatusCode(); } + + const StarMCVertex* start() const { return mStartVertex; } + const StarMCVertex* stop() const { return mStopVertex; } + + void setStartVertex( StarMCVertex* v ){ mStartVertex = v; } + void addIntermediateVertex( StarMCVertex* v ){ mIntermediateVertices.push_back(v); } + void setStopVertex( StarMCVertex* v ){ mStopVertex = v; } + + std::vector intermediate() const { return mIntermediateVertices; } + + void setIdStack( int id ) { mIdStack = id; } + int idStack() const { return mIdStack; } + + void setIdTruth( int id ) { mIdTruth = id; } + int idTruth() const { return mIdTruth; } + + //const long long numberOfHits(){ return mNumHits; } + //void addHit(){ mNumHits++; } + + const long long numberOfHits(){ return mHits.size(); } + void addHit( DetectorHit* hit );//{ mHits.push_back(hit); } + + std::vector& hits(){ return mHits; } + + +private: +protected: + + TParticle* mStacked; /// Pointer to the stacked particle + StarMCVertex* mStartVertex; /// Pointer to the start vertex + std::vector mIntermediateVertices; /// Pointer to the intermediate vertex + StarMCVertex* mStopVertex; /// Pointer to the stop vertex + + int mIdStack; /// Track identity on stack + int mIdTruth; + long long mNumHits; /// Number of hits registered on the track + + std::vector mHits; /// List of hits on track + +}; + +class StarMCVertex { +public: + StarMCVertex(); + StarMCVertex( double vx, double vy, double vz, double vt, StarMCParticle* parent=0 ); +// StarMCVertex( const StarMCVertex& ); +// StarMCVertex( const StarMCVertex&& ) = default; + ~StarMCVertex(){ /* nada */ }; + + double distance( double vx_, double vy_, double vz_ ){ + double vx2 = (vx_-mVertex[0])*(vx_-mVertex[0]); + double vy2 = (vy_-mVertex[1])*(vy_-mVertex[1]); + double vz2 = (vz_-mVertex[2])*(vz_-mVertex[2]); + return sqrt(vx2+vy2+vz2); + }; + + double vx() const { return mVertex[0]; } + double vy() const { return mVertex[1]; } + double vz() const { return mVertex[2]; } + double tof() const { return mVertex[3]; } + + void setParent ( StarMCParticle* _parent ){ mParent = _parent; } + void addDaughter( StarMCParticle* daughter ){ mDaughters.push_back( daughter ); } + + const StarMCParticle* parent() const { return mParent; } + const std::vector& daughters() const { return mDaughters; } + + void setMedium( const int medium ) { mMedium = medium; } + int medium() const { return mMedium; } + + void setProcess( const TMCProcess p ) { mMechanism=p; } + TMCProcess process() const { return mMechanism; } + + void setVolume( const char* name ){ mVolume = name; } + std::string volume() const { return mVolume; } + + void setIntermediate( bool stat=true ){ mIntermediate=true; } + bool intermediate(){ return mIntermediate; } + +private: +protected: + + double mVertex[4]; /// Position of the vertex + StarMCParticle* mParent; /// Parent particle + std::vector mDaughters; /// Decay daughters / interaction products + TMCProcess mMechanism; /// Creation mechanism + int mMedium; /// Medium ID + std::string mVolume; /// Name of the volume + bool mIntermediate; /// Vertex is an intermediate vtx + +}; + +std::ostream& operator<<(std::ostream& os, const StarMCParticle& p); +std::ostream& operator<<(std::ostream& os, const TParticle& p); +std::ostream& operator<<(std::ostream& os, const StarMCVertex& v); + +class StMCParticleStack : public TVirtualMCStack +{ + public: + + StMCParticleStack( const Char_t *name = "stack" ); + ~StMCParticleStack(); + + + /// + /// ROOT/VMC method to create a new particle and push into stack + /// + /// @param toBeDone - 1 if particles should go to tracking, 0 otherwise + /// @param parent - number of the parent track, -1 if track is primary + /// @param pdg - PDG encoding + /// @param px, py, pz - particle momentum [GeV/c] + /// @param e - total energy [GeV] + /// @param vx, vy, vz - position [cm] + /// @param tof - time of flight [s] + /// @param polx, poly, polz - polarization + /// @param mech - creator process VMC code + /// @param ntr - track number (is filled by the stack + /// @param weight - particle weight + /// @param is - generation status code + virtual void PushTrack(int toBeDone, int parent, int pdg, + double px, double py, double pz, double e, + double vx, double vy, double vz, double tof, + double polx, double poly, double polz, + TMCProcess mech, int& ntr, double weight, + int is); + + + /// The stack has to provide two pop mechanisms: + /// The first pop mechanism required. + /// Pop all particles with toBeDone = 1, both primaries and seconadies. + /// @param itrack is the index of the track in the array of all particles + virtual TParticle* PopNextTrack(int& itrack); + + /// The second pop mechanism required. + /// Pop only primary particles with toBeDone = 1, stacking of secondaries + /// is done by MC + /// @param i is the index of the track to be "popped". Note that "pop" here is a misnomer... no stack is being popped... we are only accessing the track with index i. Nor is there really any distinction between "primary" and "secondary" here... So I'd like to see Alice's actual implementation of this rather than their poorly documented examples. Looks like they use this just to index a track. + virtual TParticle* PopPrimaryForTracking(int i); + + /// Set the current track number + virtual void SetCurrentTrack(int trackNumber); + + /// Total number of tracks + virtual int GetNtrack() const; + + /// Total number of primary tracks + virtual int GetNprimary() const { return mNumPrimary; } + + /// Current track particle + virtual TParticle* GetCurrentTrack() const; + + /// Current track number + virtual int GetCurrentTrackNumber() const; + + /// Number of the parent of the current track + virtual int GetCurrentParentTrackNumber() const; + + /// Retrieve the ith particle in the array + virtual TParticle *GetParticle( const int i ) const; + + /// Clear the stack + virtual void Clear( const Option_t *opts="" ); + + /// Get the current stack size + virtual int GetStackSize(){ return mStack.size(); } + + /// Print out the particle table + void StackDump( int idtruth=-1 ); + + + /// Obtain the current particle truth +// const StarMCParticle* GetCurrentTruth() const { return mParticleTable.back(); } + + std::vector& GetTruthTable() { return mTruthTable; } + std::vector& GetParticleTable(){ return mParticleTable; } + std::vector& GetVertexTable() { return mVertexTable; } + + StarMCVertex* GetVertex( double vx, double vy, double vz, double vt, int proc=-1 ); + + StarMCParticle* GetCurrentPersistentTrack(); + + int GetIdTruth( StarMCParticle* part ){ return mIdTruthFromParticle[part]; } + + void SetScoring( const float rmax, const float zmax, const float emin ){ + mScoringRmax=rmax; + mScoringZmax=zmax; + mScoringEmin=emin; + }; + + private: + protected: + + int mNumPrimary; + int mCurrent; + + int mArraySize; + TClonesArray *mArray; + std::vector mPersistentTrack; + + int mStackSize; + std::list mStack; // note: vector may be faster + std::list mStackIdx; // note: vector may be faster + + + + std::vector mTruthTable; + std::vector mParticleTable; + std::vector mVertexTable; + + std::map mStackToTable; + std::map mIdTruthFromParticle; + + float mScoringRmax; + float mScoringZmax; + float mScoringEmin; + + // ClassDef(StMCParticleStack,0); + +}; + +#endif diff --git a/StRoot/StGeant4Maker/StSensitiveDetector.cxx b/StRoot/StGeant4Maker/StSensitiveDetector.cxx new file mode 100644 index 00000000000..1f83efa83dc --- /dev/null +++ b/StRoot/StGeant4Maker/StSensitiveDetector.cxx @@ -0,0 +1,116 @@ +#include + +#include +#include +#include +#include + +#include +#include + +#include +#include + +//TVirtualMC* mc = 0; +TGeoNavigator* navigator = 0; + +#include +#include + +#include +//____________________________________________________________________________________________ +DetectorHit::DetectorHit() : id(0), idtruth(0), volu{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0}, copy{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0}, numbv{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0}, path(), nsteps(0), user() +{ + /* nada */ +} +TrackerHit::TrackerHit() : DetectorHit(), + position_in{0,0,0,0}, position_out{0,0,0,0}, + momentum_in{0,0,0,0}, momentum_out{0,0,0,0}, + de(0), ds(0), length(0), lgam(0) +{ + /*nada*/ +} +CalorimeterHit::CalorimeterHit() : DetectorHit(), position_in{0,0,0,0}, de(0) { /* nada */ } + +//____________________________________________________________________________________________ +StSensitiveDetector::StSensitiveDetector( const char* name, const char* title ) : TVirtualMCSensitiveDetector(name,title), mVolumes(), mAgMLInfo(0), mCollection(0) { + LOG_DEBUG << "SD created for " << name << " " << title << endm; +} +//____________________________________________________________________________________________ +void StSensitiveDetector::Initialize(){ + navigator = gGeoManager->GetCurrentNavigator(); + +} +//____________________________________________________________________________________________ +void StSensitiveDetector::addVolume( TGeoVolume* volume ) { + if ( 0 == mVolumes.size() ) { + mAgMLInfo = getExtension(volume); + + TString cname = mAgMLInfo->GetFamilyName(); cname += "_hits"; + TString ctitle = mAgMLInfo->GetModuleName(); ctitle += " "; ctitle += cname; + + if ( DetectorType::kTracker == detectorType() ) { + mCollection = new StTrackerHitCollection(cname.Data(),ctitle.Data()); + mCollection->SetUserStack(mUserStack); + LOG_DEBUG << "Setting tracker collection" << endm; + } + if ( DetectorType::kCalorimeter == detectorType() ) { + mCollection = new StCalorimeterHitCollection(cname.Data(),ctitle.Data()); + mCollection->SetUserStack(mUserStack); + LOG_DEBUG << "Setting calorimeter collection" << endm; + } + + } + + mVolumes.push_back( volume ); + +}; +//____________________________________________________________________________________________ +void StSensitiveDetector::ProcessHits(){ + + // Is this a charged particle? If not, skip it... + TVirtualMC* mc = (TMCManager::Instance()) ? + TMCManager::Instance()->GetCurrentEngine() : + TVirtualMC::GetMC(); + if ( 0 == mc->TrackCharge() ) return; + + // The actual hit processing occurs in the collection. + mCollection->ProcessHits(); + + return; + +} +//____________________________________________________________________________________________ +void StSensitiveDetector::EndOfEvent(){ + + mCollection->EndOfEvent(); + +} +//____________________________________________________________________________________________ +void StSensitiveDetector::Clear(Option_t* o) { + mCollection->Clear(); +} +//____________________________________________________________________________________________ +StSensitiveDetector::DetectorType StSensitiveDetector::detectorType() { + + // For the time being, just flag on the name of the module to decide tracker vs calorimeter + if ( 0 == mAgMLInfo ) { + return DetectorType::kUninitialized; + } + + TString module = mAgMLInfo->GetModuleName(); + module.ToLower(); + + if ( module.Contains("cal") ) { + return DetectorType::kCalorimeter; + } + else { + return DetectorType::kTracker; + } + +} +//____________________________________________________________________________________________ +int StSensitiveDetector::numberOfHits(){ return int( mCollection->numberOfHits() ); } +//____________________________________________________________________________________________ +void StSensitiveDetector::SetUserStack( TVirtualMCStack* stack ) { mUserStack = stack; } + diff --git a/StRoot/StGeant4Maker/StSensitiveDetector.h b/StRoot/StGeant4Maker/StSensitiveDetector.h new file mode 100644 index 00000000000..8ae0775273c --- /dev/null +++ b/StRoot/StGeant4Maker/StSensitiveDetector.h @@ -0,0 +1,105 @@ +#ifndef __StSensitiveDetector_h__ +#define __StSensitiveDetector_h__ + +#include +#include +#include +#include +#include +#include + +class TVirtualMCStack; + +class AgMLExtension; +class StHitCollection; + +class DetectorHit { +public: + + DetectorHit(); + virtual ~DetectorHit(){ /* nada */ }; + + static const unsigned int maxdepth = 15; + + unsigned int id; /// unique ID assigned to hit + unsigned int idtruth; /// unique ID of the track + int volu[maxdepth]; /// volume numbers specifying path to hit + int copy[maxdepth]; /// copy numbers specifying path to the hit + int numbv[maxdepth]; /// "Reduced" numbering + int volId; /// Unique volume ID + + TString path; + + unsigned int nsteps; /// number of steps inside volume + + std::vector user; /// user specified hits + +}; + +class TrackerHit : public DetectorHit { +public: + + TrackerHit(); + virtual ~TrackerHit(){ /* nada */ } + + double position_in[4]; /// x,y,z,t position where track entered volume + double position_out[4]; /// x,y,z,t position where track exited volume + + double momentum_in[4]; + double momentum_out[4]; + + double de; + double ds; + + double length; /// total track length to this point + double lgam; /// log10( Ekin / mass ) + +}; + +class CalorimeterHit : public DetectorHit { +public: + + CalorimeterHit(); + virtual ~CalorimeterHit(){ /* nada */ } + + double position_in[4]; /// x,y,z,t position where track entered volume + double de; + +}; + +class StSensitiveDetector : public TVirtualMCSensitiveDetector { +public: + StSensitiveDetector( const char* sdname, const char* title ); + virtual ~StSensitiveDetector(){ /* nada */ } + + void Initialize(); + void ProcessHits(); + void EndOfEvent(); + void Clear(Option_t* o=""); + + void addVolume(TGeoVolume *v); + int numberOfVolumes(){ return mVolumes.size(); } + + int numberOfHits();//{ return int( mCollection->size() ); } + + StHitCollection* hits(){ return mCollection; } + + enum class DetectorType { kUninitialized, kCalorimeter, kTracker }; + + DetectorType detectorType(); + + void SetUserStack( TVirtualMCStack* stack ); + +private: +protected: + + std::vector mVolumes; + + AgMLExtension* mAgMLInfo; + + StHitCollection* mCollection; + TVirtualMCStack* mUserStack; + +}; + +#endif diff --git a/StRoot/StGeant4Maker/macros/DrawHits.C b/StRoot/StGeant4Maker/macros/DrawHits.C new file mode 100644 index 00000000000..49cbc407ce1 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/DrawHits.C @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +TH2F* hYX = 0; +TH2F* vYX = 0; +TCanvas* hcanvas = 0; +TCanvas* vcanvas = 0; +void DrawHits() { + +if ( 0==hYX ) hYX = new TH2F("hYX","Hits ;x [cm]; y [cm]", 601,-300.5,300.6,601,-300.5,300.5 ); +if ( 0==vYX ) vYX = new TH2F("vYX","Vertices;x [cm]; y [cm]", 601,-300.5,300.6,601,-300.5,300.5 ); + +hYX->Reset(); +vYX->Reset(); + +TTable* vertices = (TTable*)chain->FindByName("g2t_vertex"); +TTable* tpchits = (TTable*)chain->FindByName("g2t_tpc_hit"); +TTable* emchits = (TTable*)chain->FindByName("g2t_emc_hit"); + +int nvtx=vertices->GetNRows(); +int ntpc=tpchits->GetNRows(); +int nemc=emchits->GetNRows(); + +for ( int i=0;iAt(i); + double x = v->ge_x[0]; + double y = v->ge_x[1]; + vYX->Fill(x,y); +} + +for ( int i=0;iAt(i); + double x = v->x[0]; + double y = v->x[1]; + hYX->Fill(x,y); +} + +for ( int i=0;iAt(i); + double x = v->x; + double y = v->y; + hYX->Fill(x,y); +} + +hcanvas=new TCanvas("hcanvas","TPC and BEMC hits",500,500); hYX->Draw("colz"); +vcanvas=new TCanvas("vcanvas","Track vertices ",500,500); vYX->Draw("colz"); + +}; diff --git a/StRoot/StGeant4Maker/macros/gamma.C b/StRoot/StGeant4Maker/macros/gamma.C new file mode 100644 index 00000000000..70268d9aa2b --- /dev/null +++ b/StRoot/StGeant4Maker/macros/gamma.C @@ -0,0 +1,3 @@ +void gamma(int n=1, double ptmn=1.0, double ptmx=10.0, double etamn=-.5, double etamx=.5 ) { + particleGun(n,"gamma",ptmn,ptmx,etamn,etamx); +}; diff --git a/StRoot/StGeant4Maker/macros/geant4star b/StRoot/StGeant4Maker/macros/geant4star new file mode 100755 index 00000000000..7a2dfd7c9a0 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/geant4star @@ -0,0 +1,14 @@ +#!/bin/csh -f + +setenv __G4STAR_MYSQL_DIR__ `mysql_config --variable=pkglibdir` + +setenv ROOT_INCLUDE_PATH ${STAR}:${STAR}/StRoot:${STAR}/StRoot/StStarLogger:${STAR}/StRoot/StGeant4Maker:${STAR}:StRoot/StarGenerator/BASE:${STAR}/StarVMC/StarAgmlLib/:${STAR}/.sl73_x8664_gcc485/include/ + +if ( -e ./StRoot/StGeant4Maker/macros/geant4star.C ) then + root.exe -l ./StRoot/StGeant4Maker/macros/initStar.C ./StRoot/StGeant4Maker/macros/geant4star.C $argv +else + root.exe -l $STAR/StRoot/StGeant4Maker/macros/initStar.C $STAR/StRoot/StGeant4Maker/macros/geant4star.C $argv +endif + + + diff --git a/StRoot/StGeant4Maker/macros/geant4star-leakcheck b/StRoot/StGeant4Maker/macros/geant4star-leakcheck new file mode 100755 index 00000000000..abeffee47d5 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/geant4star-leakcheck @@ -0,0 +1,10 @@ +#!/bin/csh -f + +valgrind --tool=memcheck \ + --error-limit=no \ + --suppressions=$ROOTSYS/etc/valgrind-root.supp \ + --leak-check=yes \ + --show-leak-kinds=all \ +root.exe -l macros/initStar.C macros/geant4star.C $argv + + diff --git a/StRoot/StGeant4Maker/macros/geant4star-memcheck b/StRoot/StGeant4Maker/macros/geant4star-memcheck new file mode 100755 index 00000000000..02c0cbc355b --- /dev/null +++ b/StRoot/StGeant4Maker/macros/geant4star-memcheck @@ -0,0 +1,9 @@ +#!/bin/csh -f + +valgrind --tool=memcheck \ + --error-limit=no \ + --suppressions=$ROOTSYS/etc/valgrind-root.supp \ + --leak-check=no \ +root.exe -l macros/initStar.C macros/geant4star.C $argv + + diff --git a/StRoot/StGeant4Maker/macros/geant4star.C b/StRoot/StGeant4Maker/macros/geant4star.C new file mode 100644 index 00000000000..0ab6508f35e --- /dev/null +++ b/StRoot/StGeant4Maker/macros/geant4star.C @@ -0,0 +1,347 @@ +class StBFChain; +StBFChain* chain = 0; + +#include +#include +#include + +extern "C" { + void Load( const char* lib ); +} + +// Random number generator seed +int __rngSeed = 12345; +bool __export = false; +TString __rngName = ""; +TString __geometry_tag="dev2021"; + +// Add a new maker to the chain +void addMaker( const char* name, const char* maker ) { + LOG_INFO << "// Adding maker " << maker << endm; + LOG_INFO << "auto* _" << name << " = new " << maker << endm; + gROOT->ProcessLine( Form( "auto* _%s = new %s;", name, maker ) ); +} + +// Add a new event generator to the primary event generator +void addGenerator( const char* name, const char* maker ) { + LOG_INFO << "auto* _" << name << " = new " << maker << endm; + gROOT->ProcessLine( Form( "auto* _%s = new %s;", name, maker ) ); + gROOT->ProcessLine( Form( "_primary->AddGenerator( _%s );", name ) ); +} + +// Add a filter to the primary event generator +void addFilter( const char* name ) { + + TString myname = name; myname.ToLower(); + LOG_INFO << "auto* _" << myname.Data() << " = new " << name << endm; + gROOT->ProcessLine( Form( "auto* _%s = new %s;", myname.Data(), name ) ); + gROOT->ProcessLine( Form( "_primary->AddFilter( _%s );", myname.Data() ) ); + +} + +std::map _generatorMap = { + { "genreader", "StarGenEventReader" } +}; + +// Hack to make sure finish is called on the chain +struct __Fini { + ~__Fini() { + gROOT->ProcessLine("chain->Finish();"); + } +} __fini__; + +bool hasRuntimeArg( const char* arg_ ) { + bool result = false; + for ( int i=0; iArgc();i++ ) { + TString arg = gApplication->Argv(i); + arg.ReplaceAll("--",""); + if ( arg.Contains(arg_) ) { + result = true; + break; + } + } + return result; +} + +void loadStar(TString mytag="dev2021", Bool_t agml = true ) +{ + + gROOT->ProcessLine("chain = new StBFChain();"); + gROOT->ProcessLine("chain->cd();"); + gROOT->ProcessLine("chain->SetDebug(1);"); + + TString chainOpts = "agml geant4 geant4vmc stargen geant4mk kinematics -emc_t -ftpcT mysql nodefault "; + + // pickup command line options ala "--" and add them as a chain option + + for ( int i=0; iArgc();i++ ) { + TString arg = gApplication->Argv(i); + if ( arg.Contains("--web") || arg.Contains("notebook") ) continue; + if ( arg=="--export" ) { __export = true; continue; } // exports geometry + // Parse "--" style options for ourselves + if ( arg.Contains("--") ) { + arg.ReplaceAll("--"," "); // n.b. the space pads out the chain options + // If the option matches key=value, treat this as an attribute to be + // set on the G4 maker... + if ( arg.Contains("=") ) { + // Generally skip, but output triggers geantout chain option + if ( arg.Contains("output") ) { + chainOpts += " geantout "; + } + // By specifying a filter, load the stargeneratorfilt package + if ( arg.Contains("filter") ) { + chainOpts += " stargen.filt"; + } + } + else { + chainOpts += arg; + } + } + } + + // Set the chain options + gROOT->ProcessLine(Form("chain->SetFlags(\"%s\");",chainOpts.Data())); + + TString output = ""; + std::vector< std::string > filters; + for ( int i=0; iArgc();i++ ) { + TString arg = gApplication->Argv(i); + if ( arg.Contains("--") ) { + gMessMgr->Info() << arg.Data() << endm; + arg.ReplaceAll("--",""); + // If the option matches key=value, treat this as an attribute to be + // set on the G4 maker... + if ( arg.Contains("=") ) { + TString key = arg.Tokenize("=")->At(0)->GetName(); + TString val = arg.Tokenize("=")->At(1)->GetName(); + // std::cout << " key = [" << key.Data() << "] value = " << val.Data() << std::endl; + // Find the output filename, if given, and set as the output + if ( key=="output" ){ + output = val; + gROOT->ProcessLine(Form("chain->Set_IO_Files(\"\",\"%s\");",output.Data())); + //break; + } + if ( key=="geometry" ) { + mytag = val; + } + if ( key=="filter" ) { + filters.push_back( val.Data() ); + } + } + } + } + + + // Load shared libraries + gROOT->ProcessLine("chain->Load();"); + + // Add in star mag field + gSystem->Load("libStarMagFieldNoDict.so"); + + gROOT->ProcessLine( "int __result = chain->Instantiate();" ); + + // Now add makers... + addMaker( "primary", "StarPrimaryMaker()" ); + addMaker( "geant4", "StGeant4Maker()" ); + + // Attach filters to the primary maker... + for ( auto s : filters ) { + addFilter( s.c_str() ); + } + + + // addMaker( "pythia8", "StarPythia8()" ); + // gROOT->ProcessLine("_primary->AddGenerator( _pythia8 );"); + + // Always add the kinematic generator + addMaker( "kine", "StarKinematics()" ); + gROOT->ProcessLine("_primary->AddGenerator( _kine );"); + + + // Loop on the chain options and add in other generators which have been called for + for ( auto _s : *chainOpts.Tokenize(" ") ) { + auto s = ( dynamic_cast( _s ) ) -> String() ; // annoying + if ( _generatorMap[s] != "" ) { + addGenerator( s, _generatorMap[s] ); + } + } + + + + + + // Move outputStream after the geant maker + gROOT->ProcessLine("StMaker* __outputStream = chain->GetMaker(\"outputStream\");"); + // gROOT->ProcessLine("LOG_INFO << " + // "\"outputStream = \" << __outputStream << endm;") + + gROOT->ProcessLine("chain->AddAfter( _geant4->GetName(), __outputStream ); "); + + + + + // gROOT->ProcessLine("auto* __outputStream = chain->GetMaker(\"outputStream\"\); + + + gROOT->ProcessLine("StMaker::lsMakers(chain);"); + + + // set attributes for arguements matching --x=y + for ( int i=0; iArgc();i++ ) { + + TString arg = gApplication->Argv(i); + if ( arg.Contains("--web") || arg.Contains("notebook") ) continue; + + // Parse "--" style options for ourselves + if ( arg.Contains("--") ) { + arg.ReplaceAll("--",""); + + // If the option matches key=value, treat this as an attribute to be + // set on the G4 maker... + if ( arg.Contains("=") ) { + + TString key = arg.Tokenize("=")->At(0)->GetName(); + TString val = arg.Tokenize("=")->At(1)->GetName(); + + if ( key=="geometry" ) continue; // action already taken + if ( key=="output" ) continue; // ... ditto + if ( key=="filter" ) continue; // ... ditto + + // std::cout << "geant4star commandline option " << key.Data() << " = " << val.Data() << std::endl; + + // Process RNG seed + if ( key=="seed" ) { + __rngSeed = val.Atoi(); + gMessMgr->Info() << "Setting RNG seed --seed=" << __rngSeed << endm; + continue; + } + + if ( key=="rng" ) { + __rngName = val; + gMessMgr->Info() << "Setting RNG --rng=" << __rngName.Data() << endm; + continue; + } + + // All other variables pass through to G4 maker + if ( val.IsFloat() ) gROOT->ProcessLine(Form("_geant4->SetAttr(\"%s\",%s);", key.Data(), val.Data() )); + else gROOT->ProcessLine(Form("_geant4->SetAttr(\"%s\",\"%s\");", key.Data(), val.Data() )); + + + } + } + } + + + // + // ROOT6 command line processing + // + const char* cmds[] = { + + // Geometry instantiation + //"TString __geometry_tag = \"dev2021\";" + "AgModule::SetStacker( new StarTGeoStacker() );" + "StarGeometry::Construct(__geometry_tag);" + // "gGeoManager->Export(\"y2014x.root\");" + // "gGeoManager->Export(\"y2014x.C\");" + + }; + + //gROOT->ProcessLine( Form("TString __geometry_tag = \"%s\";", mytag.Data() ) ); + for ( auto cmd : cmds ) { + gROOT->ProcessLine( cmd ); + } + + if ( __export ) { + gROOT->ProcessLine(Form( "gGeoManager->Export(\"%s.root\");", mytag.Data() )); + } + + + + +} + +bool __initialized = false; + +bool initChain( std::vector _cmds={ "std::cout << \"Chain has been initialized.\" << std::endl;" } ) { + std::cout << "initChain is called seed = " << __rngSeed << std::endl; + if ( !__initialized ) { + + if ( __rngSeed > -1 ) { + gROOT->ProcessLine(Form("chain->SetAttr(\"Random:G4\",%i)",__rngSeed)); + // Setup RNG seed and map all ROOT TRandom here + gROOT->ProcessLine(Form("StarRandom::seed( %i );",__rngSeed)); + gROOT->ProcessLine("StarRandom::capture();"); + gMessMgr->Info() << "RNG seed set to " << __rngSeed << endm; + } + + gROOT->ProcessLine("chain->Init();"); + for ( auto cmd : _cmds ) { + gROOT->ProcessLine( cmd.c_str() ); + } + __initialized = true; + } + return true; +} + +void particleGun( const int ntrack=1, const char* particles="pi+,pi-", double ptmn=1.0,double ptmx=10.0, double etamn=-1, double etamx=2 ) { + + initChain(); + + const char* _cmds[] = { + + // Clear the chain from the previous event + "chain->Clear();", + Form("_kine->Kine(%i,\"%s\",%f,%f,%f,%f);",ntrack,particles,ptmn,ptmx,etamn,etamx), + "chain->Make();" + }; + + for ( auto cmd : _cmds ) { + gROOT->ProcessLine( cmd ); + } + +}; + + +void particleGun( const char* particle="mu+", double px=1.0/sqrt(2), double py=1.0/sqrt(2), double pz=0.0, double vx=0., double vy=0., double vz=0. ) { + + initChain(); + + const char* _cmds[] = { + "chain->Clear();", + "{", + Form("double _px=%f",px), + Form("double _py=%f",py), + Form("double _pz=%f",pz), + Form("auto _part=_kine->AddParticle(\"%s\");",particle), + "double _mass = _part->GetMass();", + "double _energy = sqrt( _px*_px+_py*_py+_pz*_pz+_mass*_mass );", + "_part->SetPx(_px);", + "_part->SetPy(_py);", + "_part->SetPz(_pz);", + "_part->SetEnergy(_energy);", + "_part->SetVx(_vx);", + "_part->SetVy(_vy);", + "_part->SetVz(_vz);", + "_part->SetTof(0);", + "chain->Make();", + "}" + }; + + for ( auto cmd : _cmds ) { + gROOT->ProcessLine( cmd ); + } + +}; + + + + +void geant4star(){ + TString cmdline="geant4star:"; + for ( int i=0;iArgc();i++ ) { + cmdline+=" "; + cmdline+=gApplication->Argv(i); + } + std::cout << cmdline.Data() << std::endl; + loadStar(); +} diff --git a/StRoot/StGeant4Maker/macros/initStar.C b/StRoot/StGeant4Maker/macros/initStar.C new file mode 100644 index 00000000000..059f4415d7f --- /dev/null +++ b/StRoot/StGeant4Maker/macros/initStar.C @@ -0,0 +1,43 @@ +#include +#include +#include + +void Load( const char* lib ) { + std::cout << "Loading shared library " << lib << std::endl; + gSystem->Load( lib ); +} + +// +// Add include paths and preload the shared libraries which are required for the geant4star.C +// macro to instantiate StBFChain. +// +void initStar() { + + for (int sig = 0; sig < kMAXSIGNALS; sig++) gSystem->ResetSignal((ESignals)sig); + + // Add a few things to the include path + gSystem->AddIncludePath(" -I$STAR/StRoot -I$STAR/StarVMC "); + gSystem->AddIncludePath(" -IStRoot -Igeom -IStarVMC -IStarVMC/Geometry/macros -I.${STAR_HOST_SYS}/include "); + gEnv->SetValue("Logger.Colors","YES"); + + gSystem->SetAclicMode(TSystem::kDebug); + + // ADdress sanitizer + // Load("/usr/lib64/libasan.so.0"); + + // Preload a few libraries + Load("libGeom.so"); + + Load("libPhysics.so"); + Load("libTable.so"); + + Load("StarRoot.so"); + Load("St_base.so"); + Load("StStarLogger.so"); + + gROOT->ProcessLine("StLoggerManager::StarLoggerInit();"); + + Load("StChain.so"); + Load("StBFChain.so"); + +}; diff --git a/StRoot/StGeant4Maker/macros/initStarG3.C b/StRoot/StGeant4Maker/macros/initStarG3.C new file mode 100644 index 00000000000..094486a666f --- /dev/null +++ b/StRoot/StGeant4Maker/macros/initStarG3.C @@ -0,0 +1,149 @@ +// macro to instantiate the Geant3 from within +// STAR C++ framework and get the starsim prompt +// To use it do +// root4star starsim.C + +class St_geant_Maker; +St_geant_Maker *geant_maker = 0; + +class StarGenEvent; +StarGenEvent *event = 0; + +class StarPrimaryMaker; +StarPrimaryMaker *_primary = 0; + +class StarKinematics; +StarKinematics *kinematics = 0; + +TF1 *ptDist = 0; +TF1 *etaDist = 0; + +void initChain(){ /* nada */ } + +// ---------------------------------------------------------------------------- +void geometry( TString tag, Bool_t agml=true ) +{ + TString cmd = "DETP GEOM "; cmd += tag; + if ( !geant_maker ) geant_maker = (St_geant_Maker *)chain->GetMaker("geant"); + geant_maker -> LoadGeometry(cmd); + // if ( agml ) command("gexec $STAR_LIB/libxgeometry.so"); +} +// ---------------------------------------------------------------------------- +void command( TString cmd ) +{ + if ( !geant_maker ) geant_maker = (St_geant_Maker *)chain->GetMaker("geant"); + geant_maker -> Do( cmd ); +} +// ---------------------------------------------------------------------------- +void trig( Int_t n=1 ) +{ + for ( Int_t i=0; iClear(); + + // Generate 1 mu minus at high pT + kinematics->Kine( 1, "mu-", 10.0, 50.0, -2.0, 2.0 ); + + + // Generate the event + chain->Make(); + + // Print the event + _primary->event()->Print(); + } +} +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +void Kinematics() +{ + + // gSystem->Load( "libStarGeneratorPoolPythia6_4_23.so" ); + gSystem->Load( "libKinematics.so"); + kinematics = new StarKinematics(); + + _primary->AddGenerator(kinematics); +} +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +void initStarG3( const char* tag="dev2021", Int_t nevents=0, Int_t rngSeed=1234 ) +{ + + // Add a few things to the include path + gSystem->AddIncludePath(" -IStRoot -I${STAR}/StRoot -Igeom -IStarVMC -I${STAR}/StarVMC -IStarVMC/Geometry/macros -I.${STAR_HOST_SYS}/include "); + gEnv->SetValue("Logger.Colors","YES"); + + gSystem->SetAclicMode(TSystem::kDebug); + + gROOT->ProcessLine(".L bfc.C"); + { + TString simple = tag; simple += " geant gstar usexgeom agml "; + bfc(0, simple ); + } + + gSystem->SetFlagsDebug("-g -std=c++0x"); + gSystem->SetFlagsOpt("-g -std=c++0x"); + + gSystem->Load( "libVMC.so"); + + gSystem->Load( "StarGeneratorUtil.so" ); + gSystem->Load( "StarGeneratorEvent.so" ); + gSystem->Load( "StarGeneratorBase.so" ); + + gSystem->Load( "libMathMore.so" ); + gSystem->Load( "xgeometry.so" ); + + gSystem->Load( "StEpdUtil.so" ); + + // Setup RNG seed and map all ROOT TRandom here + StarRandom::seed( rngSeed ); + StarRandom::capture(); + + // + // Create the primary event generator and insert it + // before the geant maker + // + // StarPrimaryMaker * + _primary = new StarPrimaryMaker(); + { + _primary -> SetFileName( "kinematics.starsim.root"); + chain -> AddBefore( "geant", _primary ); + } + + Kinematics(); + + // + // Initialize primary event generator and all sub makers + // + _primary -> Init(); + + // + // Setup geometry and set starsim to use agusread for input + // + //geometry("y2012"); + command("gkine -4 0"); + command("gfile o kinematics.starsim.fzd"); + + + // + // Setup PT and ETA distributions + // + + // Double_t pt0 = 3.0; + // ptDist = new TF1("ptDist","(x/[0])/(1+(x/[0])^2)^6",0.0,10.0); + // ptDist->SetParameter(0, pt0); + // ptDist->Draw(); + + // etaDist = new TF1("etaDist","-TMath::Erf(x+2.6)*TMath::Erf(x-2.6)",-0.8,+0.8); + + // + // Trigger on nevents + // + trig( nevents ); + + +} +// ---------------------------------------------------------------------------- + diff --git a/StRoot/StGeant4Maker/macros/muon.C b/StRoot/StGeant4Maker/macros/muon.C new file mode 100644 index 00000000000..6d856224407 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/muon.C @@ -0,0 +1,4 @@ +void muon(int n=1) { + particleGun(n,"mu+,mu-",9.9,10.1,-0.5,-0.25); + gROOT->ProcessLine("chain->Clear();"); +}; diff --git a/StRoot/StGeant4Maker/macros/pi0.C b/StRoot/StGeant4Maker/macros/pi0.C new file mode 100644 index 00000000000..d9a90ccd632 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/pi0.C @@ -0,0 +1,4 @@ +void pi0(int n=1, double ptmn=1.0, double ptmx=10.0, double etamn=-1.0, double etamx=2.0 ) { + particleGun(n,"pi0",ptmn,ptmx,etamn,etamx); +gROOT->ProcessLine("chain->Clear();"); +}; diff --git a/StRoot/StGeant4Maker/macros/pion.C b/StRoot/StGeant4Maker/macros/pion.C new file mode 100644 index 00000000000..545c9bbdc73 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/pion.C @@ -0,0 +1,3 @@ +void pion( int n=10, double ptmn=0.2, double ptmx=5.0, double etamn=2.5, double etamx=4.0 ) { + particleGun(n,"pi+,pi-",ptmn,ptmx,etamn,etamx); +}; diff --git a/StRoot/StGeant4Maker/macros/pythia6.C b/StRoot/StGeant4Maker/macros/pythia6.C new file mode 100644 index 00000000000..0dd2d499cdc --- /dev/null +++ b/StRoot/StGeant4Maker/macros/pythia6.C @@ -0,0 +1,174 @@ +#include "StChain/StMaker.h" + +#include "StarGenerator/BASE/StarPrimaryMaker.h" +#include "StarGenerator/UTIL/StarParticleData.h" + +#include "StarGenerator/Pythia6_4_28/StarPythia6.h" + +#include "StMessMgr.h" +#include "TList.h" +#include "TAttr.h" +#include "TString.h" +#include + +#include + +StarParticleData& particleData = StarParticleData::instance(); +StarPrimaryMaker* primaryMk = 0; +StarPythia6* pythia6mk = 0; + +int nevents = 0; + +extern "C" { + + // Interface to the pythia configuration command + void pygive_( const char* give, int ngive ); + +}; + +void PyGive( std::string give ) { + pygive_( give.c_str(), give.size() ); +} + +//___________________________________________________________________ +void init(); // initialize the chain +void eventloop(); +void drellyan(); +//___________________________________________________________________ +void pythia6() +{ + + init(); + eventloop(); + +} +//___________________________________________________________________ +void init() { + + primaryMk = dynamic_cast( chain->GetMaker("PrimaryMaker") ); assert(primaryMk); + auto* geant4mk = dynamic_cast (chain->GetMaker("geant4star") ); assert(geant4mk); + + assert(&particleData); + + nevents = geant4mk->IAttr("nevents"); + LOG_INFO << "Number of events to process" << nevents << endm; + LOG_INFO << "Create and register pythia6 maker to primaryMk = " << primaryMk << endm; + + std::string blue = geant4mk->SAttr("blue"); if ( blue == "" ) blue="proton"; + std::string yell = geant4mk->SAttr("yell"); if ( yell == "" ) yell="proton"; + double Ecms = geant4mk->DAttr("Ecms"); if ( Ecms <= 0.0 ) Ecms = 510.0; + + LOG_INFO << "Blue beam " << blue.c_str() << endm; + LOG_INFO << "Yellow beam " << yell.c_str() << endm; + LOG_INFO << "Ecms = " << Ecms << " GeV " << endm; + + pythia6mk = new StarPythia6(); + pythia6mk->SetFrame("CMS", Ecms ); + pythia6mk->SetBlue( blue.c_str() ); + pythia6mk->SetYell( yell.c_str() ); + + int setcount = 0; + auto* setlist = dynamic_cast(geant4mk->GetAttr()); + setlist->Print(); + TIter Next(setlist); + TNamed* obj = 0; + // ROOT's interface is a bit annoying here. It has reveresed the order of the + // arguements stuffed into the TList. And I don't see an easy (read syntatically + // clear and concise) way to reverse iterate over a TList... so... + std::vector mylist; + std::vector closeDecays; + std::vector openDecays; + while (( obj = dynamic_cast(Next()) )) { + TString str = obj->GetName(); + TString tit = obj->GetTitle(); + if ( str.Contains("pythia6:set:") ) { + str.ReplaceAll("pythia6:set:",""); + TString cmd = str + "="; + if ( tit.IsDigit() ) { // integer digits + cmd += tit; + } + else if ( tit.IsFloat() ) { // floating point + // keep to five decimal places + cmd += Form( "%.5f", tit.Atof() ); + } + else { + cmd += tit; + } + mylist.push_back(cmd); + } + if ( str.Contains("pythia6:tune") ) { + int tune = pythia6mk->IAttr("pythia6:tune"); + pythia6mk->PyTune(tune); // set tune + } + // if ( str.Contains("pythia6:drellyan:ee") ) { + // // initialize DY --> ee + // drellyan(); + // } + if ( str.Contains("pythia6:closedecay") ) { + TString ex = Form("pythia6mk->CloseDecays(%s);", tit.Data()); + //LOG_INFO<< ex.Data() << endm; + //gROOT->ProcessLine(ex.Data()); + closeDecays.push_back(ex); + + } + if ( str.Contains("pythia6:opendecay") ) { + TString ex = Form("pythia6mk->OpenDecay(%s);", tit.Data()); + // LOG_INFO<< ex.Data() << endm; + // gROOT->ProcessLine(ex.Data()); + openDecays.push_back(ex); + } + } + + for ( auto iter=mylist.rbegin(); iter!=mylist.rend(); iter++ ) { + // TString cmd=*iter; + std::string cmd = (*iter).Data(); + LOG_INFO << "execute pythia6 command " << cmd.c_str() << endm; + // pythia6mk->PyGive(cmd.Data()); + PyGive(cmd); + setcount++; + } + + for ( auto iter=closeDecays.begin(); iter != closeDecays.end();iter++ ) { + gROOT->ProcessLine( (*iter) ); + } + for ( auto iter=openDecays.begin(); iter!= openDecays.end();iter++ ) { + gROOT->ProcessLine( (*iter) ); + } + + // Always default to nondiffractive (i.e. as-close-to-minbias-as-documented) + primaryMk->AddGenerator(pythia6mk); + + chain->Init(); + +} +//___________________________________________________________________ +void eventloop() { + + for ( int event = 0; event < nevents; event++ ) { + LOG_INFO << "[geant4star running event " << event << "/" << nevents << "]" << endm; + chain->Clear(); + chain->Make(); + primaryMk->event()->Print(); + } + +} +//___________________________________________________________________ +void drellyan() { + + auto& pyjets = pythia6mk->pyjets(); + auto& pysubs = pythia6mk->pysubs(); + auto& pydat3 = pythia6mk->pydat3(); + auto& pypars = pythia6mk->pypars(); + auto& pyint5 = pythia6mk->pyint5(); + + LOG_INFO << "DRELL YAN Z0/GAMMA* e+e-" << endm; + + pysubs.msel = 0; // select specific processes + pysubs.msub(1) = 1; // ffbar --> Z0/gamma* + // others?? 15? 19? + + // close decays for the Z (and I believe the gamma* as well) + pythia6mk->CloseDecays(23); + pythia6mk->OpenDecay( 23, 182, 2 ); // limit decay to electrons + +} diff --git a/StRoot/StGeant4Maker/macros/pythia8.C b/StRoot/StGeant4Maker/macros/pythia8.C new file mode 100644 index 00000000000..a27e0d90f3c --- /dev/null +++ b/StRoot/StGeant4Maker/macros/pythia8.C @@ -0,0 +1,108 @@ +#include "StChain/StMaker.h" + +#include "StarGenerator/BASE/StarPrimaryMaker.h" +#include "StarGenerator/UTIL/StarParticleData.h" + +#include "StarGenerator/Pythia8_1_86/StarPythia8.h" + +#include "StMessMgr.h" +#include "TList.h" +#include "TAttr.h" +#include "TString.h" +#include + +#include + +StarParticleData& particleData = StarParticleData::instance(); +StarPrimaryMaker* primaryMk = 0; + +int nevents = 0; + +//___________________________________________________________________ +void init(); // initialize the chain +void eventloop(); + +//___________________________________________________________________ +void pythia8() +{ + + init(); + eventloop(); + + // Finish ... chain has been finished... so wtf? + chain->Finish(); + +} +//___________________________________________________________________ +void init() { + + primaryMk = dynamic_cast( chain->GetMaker("PrimaryMaker") ); assert(primaryMk); + auto* geant4mk = dynamic_cast (chain->GetMaker("geant4star") ); assert(geant4mk); + + assert(&particleData); + + nevents = geant4mk->IAttr("nevents"); + LOG_INFO << "Number of events to process" << nevents << endm; + LOG_INFO << "Create and register pythia8 maker to primaryMk = " << primaryMk << endm; + + std::string blue = geant4mk->SAttr("blue"); if ( blue == "" ) blue="proton"; + std::string yell = geant4mk->SAttr("yell"); if ( yell == "" ) yell="proton"; + double Ecms = geant4mk->DAttr("cms"); if ( Ecms <= 0.0 ) Ecms = 510.0; + + LOG_INFO << "Blue beam " << blue.c_str() << endm; + LOG_INFO << "Yellow beam " << yell.c_str() << endm; + LOG_INFO << "Ecms = " << Ecms << " GeV " << endm; + + StarPythia8* pythia8 = new StarPythia8(); + pythia8->SetFrame("CMS", Ecms ); + pythia8->SetBlue( blue.c_str() ); + pythia8->SetYell( yell.c_str() ); + + int setcount = 0; + auto* setlist = dynamic_cast(geant4mk->GetAttr()); + setlist->Print(); + TIter Next(setlist); + TNamed* obj = 0; + // ROOT's interface is a bit annoying here. It has reveresed the order of the + // arguements stuffed into the TList. And I don't see an easy (read syntatically + // clear and concise) way to reverse iterate over a TList... so... + std::vector mylist; + while (( obj = dynamic_cast(Next()) )) { + TString str = obj->GetName(); + TString tit = obj->GetTitle(); + if ( str.Contains("pythia8:set:") ) { + str.ReplaceAll("pythia8:set:",""); + TString cmd = str + "=" + tit; + mylist.push_back(cmd); + } + } + + for ( auto iter=mylist.rbegin(); iter!=mylist.rend(); iter++ ) { + TString cmd=*iter; + LOG_INFO << cmd.Data() << endm; + pythia8->Set(cmd.Data()); + setcount++; + } + + + + + // Always default to nondiffractive (i.e. as-close-to-minbias-as-documented) + if ( 0==setcount ) pythia8->Set("SoftQCD:nonDiffractive=on"); + + primaryMk->AddGenerator(pythia8); + + chain->Init(); + +} +//___________________________________________________________________ +void eventloop() { + + for ( int event = 0; event < nevents; event++ ) { + LOG_INFO << "[geant4star running event " << event << "/" << nevents << "]" << endm; + chain->Clear(); + chain->Make(); + primaryMk->event()->Print(); + } + +} diff --git a/StRoot/StGeant4Maker/macros/runGeant4Simulation.xml b/StRoot/StGeant4Maker/macros/runGeant4Simulation.xml new file mode 100644 index 00000000000..5801558dab0 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/runGeant4Simulation.xml @@ -0,0 +1,49 @@ + + + + + + + + + +]> + + + + + + setup 64b + stardev + source /star/simu/simu/root6.16.00/bin/thisroot.csh + source /star/simu/simu/geant4.10.3.3/bin/geant4.csh /star/simu/simu/geant4.10.3.3/bin/ + + which root + which root.exe + + setenv ASAN_OPTIONS abort_on_error=true + + cp &WORKINGDIR;/geant4star . + cp -R &WORKINGDIR;/macros . + cp -R &WORKINGDIR;/macros . + cp -R &WORKINGDIR;/StRoot . + cp -R &WORKINGDIR;/StarVMC . + cp -R &WORKINGDIR;/StDb . + cp -R &WORKINGDIR;/mgr . + cp -R &WORKINGDIR;/.$STAR_HOST_SYS . + cp &WORKINGDIR;/fini.C . + ls -la + + geant4star -q -b --stepping:punchout:stop=2 --seed=${JOBINDEX} macros/test_stress_acceptance.C\(&NEVENT;,&NTRACK;\) >& stress-&NEVENT;-&NTRACK;.${JOBINDEX}.log + mv *.log &OUTDIR; + + + + + + + + &JOBDIR; + + diff --git a/StRoot/StGeant4Maker/macros/test_forward.C b/StRoot/StGeant4Maker/macros/test_forward.C new file mode 100644 index 00000000000..0d283b3cc92 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/test_forward.C @@ -0,0 +1,21 @@ +#include +#include +#include +#include +#include + +void test_forward(int n=1,const char* particles="pi+,pi-") { + + double ptmn = 1.0; + double ptmx = 10.0; + double etamn= -2.8; + double etamx= 3.8; + + // Configure G4 maker + StMaker* _geant4 = chain->GetMaker("geant4"); + + // Run particle gun simulation + particleGun(n,particles,ptmn,ptmx,etamn,etamx); + + +}; diff --git a/StRoot/StGeant4Maker/macros/test_particle_decay.C b/StRoot/StGeant4Maker/macros/test_particle_decay.C new file mode 100644 index 00000000000..2af5be00660 --- /dev/null +++ b/StRoot/StGeant4Maker/macros/test_particle_decay.C @@ -0,0 +1,47 @@ +#include +#include +#include +#include +#include + +void test_particle_decay(int n=1,const char* particles="pi0") { + + double ptmn = 1.0; + double ptmx = 10.0; + double etamn= -1.0; + double etamx= 2.0; + + // Configure G4 maker + StMaker* _geant4 = chain->GetMaker("geant4"); + + // Run particle gun simulation + particleGun(n,particles,ptmn,ptmx,etamn,etamx); + + // gROOT->ProcessLine("chain->Clear();"); +#if 0 + StMCParticleStack* stack = (StMCParticleStack *)TVirtualMC::GetMC()->GetStack(); + + LOG_INFO << "Stack: ntrack = " << stack->GetNtrack() << endm; + LOG_INFO << "Stack: nprimary = " << stack->GetNprimary() << endm; + + int index = 0; + LOG_INFO << "StarMCParticle table" << endm; + for ( auto p : stack->GetParticleTable() ) { + LOG_INFO << Form("[%04i] ",index++) << *p << " nhits=" << p->numberOfHits() << endm; + } + + index = 0; + LOG_INFO << "StarMCVertex table" << endm; + for ( auto v : stack -> GetVertexTable() ) { + LOG_INFO << Form("[%04i] ",index++) << *v << endm; + if ( v->parent() ) { + LOG_INFO << " " << *(v->parent()) << " --> " << endm; + //LOG_INFO << Form(" %p", v->parent()) << endm; + } + for ( auto d : v->daughters() ) { + LOG_INFO << " " << *d << endm; + } + } +#endif + +}; diff --git a/StRoot/StGeant4Maker/macros/test_pi0_decay.C b/StRoot/StGeant4Maker/macros/test_pi0_decay.C new file mode 100644 index 00000000000..d68582f298c --- /dev/null +++ b/StRoot/StGeant4Maker/macros/test_pi0_decay.C @@ -0,0 +1,34 @@ +#include +#include + +void test_pi0_decay() { + + double ptmn=1.0; + double ptmx=10.0; + double etamn=-1.0; + double etamx=2.0; + + double cutgam = 999.0; + double cutele = 999.0; + double dcute = 999.0; + double dcutm = 999.0; + double bcute = 999.0; + double bcutm = 999.0; + + StMaker* _geant4 = chain->GetMaker("geant4"); + + _geant4 -> SetAttr("CUTGAM",cutgam); + _geant4 -> SetAttr("CUTELE",cutele); + _geant4 -> SetAttr("DCUTE",dcute); + _geant4 -> SetAttr("DCUTM",dcutm); + _geant4 -> SetAttr("BCUTE",bcute); + _geant4 -> SetAttr("BCUTM",bcutm); + + int number[] = { 1, 10, 100, 1000, 10000 }; + + for ( auto n : number ) { + particleGun(n,"pi0",ptmn,ptmx,etamn,etamx); + gROOT->ProcessLine("chain->Clear();"); + } + +}; diff --git a/StRoot/StGeant4Maker/macros/test_stress_acceptance.C b/StRoot/StGeant4Maker/macros/test_stress_acceptance.C new file mode 100644 index 00000000000..84a06f97d5a --- /dev/null +++ b/StRoot/StGeant4Maker/macros/test_stress_acceptance.C @@ -0,0 +1,36 @@ +#include +#include +#include +#include +#include + +void test_stress_acceptance(int nevents=10, int ntracks=10,const char* particles="pi+,pi-,K+,K-,mu+,mu-,e+,e-,proton,antiproton,pi0,gamma", const bool verbose=false ) { + + double ptmn = 0.100; + double ptmx = 10.000; + double etamn= -2.0; + double etamx= +4.0; + + StMaker* _geant4 = chain->GetMaker("geant4star"); + + // Run particle gun simulation + for ( int i=0;iGetStack(); + + for ( auto vert : _stack->GetVertexTable() ) { + LOG_INFO << *vert << endm; + } + + for ( auto part : _stack->GetParticleTable() ) { + LOG_INFO << *part << endm; + } + + } + + +}; diff --git a/StRoot/StGeant4Maker/tests/unit-test-summary b/StRoot/StGeant4Maker/tests/unit-test-summary new file mode 100755 index 00000000000..b9d34164026 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit-test-summary @@ -0,0 +1,93 @@ +#!/usr/bin/env python + +import re +import sys +import argparse +import subprocess + +ansi_escape = re.compile(r'\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])') + +TEST_REPORT = re.compile( '.*\[(.*)\].*-(.*)-' ) + +TEST_PASS = {} +TEST_FAIL = {} +TEST_TOTAL = {} +TEST_KEYS = [] + +count = 0 + +p = argparse.ArgumentParser() +p.add_argument('input', nargs='?', + type=argparse.FileType(), default=sys.stdin) +args = p.parse_args() + +# Number of test lines with passes and failures +npass_line = 0 +nfail_line = 0 + +# Number of test lines which completely pass / fail +npass_complete = 0 +nfail_complete = 0 + +for line in args.input.readlines(): + line = line.replace(' | ','') + line = ansi_escape.sub('',line) + m = TEST_REPORT.match(line) + if m: + group1 = m.group(1) + group2 = m.group(2) + + count = count + 1 + + try: + TEST_TOTAL[group1] = TEST_TOTAL[group1] + 1 + except KeyError: + TEST_TOTAL[group1] = 1 + TEST_PASS[group1] = 0 + TEST_FAIL[group1] = 0 + TEST_KEYS.append(group1) + + + if 'passed' == group2: + TEST_PASS[group1] = TEST_PASS[group1] + 1 + + if 'failed' == group2: + TEST_FAIL[group1] = TEST_FAIL[group1] + 1 + + +print "" +print "Summary of tests" +print "----------------------------------------------------------------------" +print "pass | fail | total | test" +print "----------------------------------------------------------------------" + +for key in TEST_KEYS: + + npass = TEST_PASS[key] + nfail = TEST_FAIL[key] + count = TEST_TOTAL[key] + + if ( npass == count ): + npass_complete = npass_complete + 1 + if ( nfail == count ): + nfail_complete = nfail_complete + 1 + if ( npass != 0 ): + npass_line = npass_line + 1 + if ( nfail != 0 ): + nfail_line = nfail_line + 1 + + + if ( nfail == 0 ): + print "%4i | %4i | %4i %s"%(npass,nfail,count,key) + else: + print "%4i | %4i | %4i [!] %s"%(npass,nfail,count,key) + +print "----------------------------------------------------------------------" +print "N tests w/ passes = " + str(npass_line) +print "N tests w/ failures = " + str(nfail_line) +print "N tests w/ complete passes = " + str(npass_complete) +print "N tests w/ complete failures = " + str(nfail_complete) + + + + diff --git a/StRoot/StGeant4Maker/tests/unit_test_btof_hits.C b/StRoot/StGeant4Maker/tests/unit_test_btof_hits.C new file mode 100644 index 00000000000..950d872cd45 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_btof_hits.C @@ -0,0 +1,400 @@ +#include "tests/unit_tests.h" +#include + +// TODO: Implement test of prompt-hits + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +#include + + + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +void throw_muon_in_tpc_sector( int sectorid, int charge = 1 ) { + assert(sectorid>0 && sectorid <= 24); + const double sectors[] = { + 60.0, 30.0, 0.0, 330.0, 300.0, 270., 240.0, 210.0, 180.0, 150.0, 120.0, 90.0, + 120.0, 150.0, 180.0, 210.0, 240.0, 270.0, 300.0, 330.0, 0.0, 30.0, 60.0, 90.0 + }; + double eta = (sectorid<=12) ? 0.5 : -0.5; + _eta = eta; + double phid = sectors[sectorid-1]; + _phid = phid; + throw_muon( eta, phid, 500.0, charge ); // energetic + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_tfr_hit") ) ; + + assert(vertex_table); + +} +//______________________________________________________________________ +void unit_test_btof_hits( int longtest=0 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and TPC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + Accumulator_t edep; // Energy deposition + Accumulator_t step; // Step size + Accumulator_t time; // Time per throw + + for ( int sector=1; sector<=24; sector++ ) { + + timer.Start(); + throw_muon_in_tpc_sector( sector ); + time( timer.CpuTime() ); + timer.Reset(); + + LOG_TEST << "======================================================================================" << std::endl; + LOG_TEST << GIVEN << "A muon thrown down the center of TPC sector " << sector << std::endl; + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + std::string result = Form("sector=%i ", sector); + return result+PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the TPC", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* v = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( 0==v ) + result = PASS; + else { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 208.0 || xx2 > 208.0 ) + result = PASS; + result = Form(" r=%f ",TMath::Max(xx1,xx2)) + result; + } + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 6 hits in the BTOF (dev2021 geometry)", [=](const g2t_track_st* t){ + int n = t->n_tof_hit; + std::string result = FAIL; + if ( n==6 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << GIVEN << "A hit on that track" << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + check_ctf_hit( "The hit should have a nonzero volume_id", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form("id=%i vid=%i de=%f ds=%f ",h->id,h->volume_id,h->de,h->ds) + result; + return result; + }); + check_ctf_hit( "The hit should have an energy deposit > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; // undetermined + if ( h->de > 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The hit should have a step size > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The hit should have a path length > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->s_track > 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The hit should have time-of-flight > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->tof > 0 ) result = PASS; + result = Form(" tof=%f ",h->tof) + result; + return result; + }); + check_ctf_hit( "The hit should have a nonzero momentum", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The hit should have a length > 0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + if ( h->s_track > 0 ) result = PASS; + return result; + }); + check_ctf_hit( "The track length and tof*c agree to w/in 0.15 mm ", hit,[=](const g2t_ctf_hit_st* h) { + // There should be some tolerance on this, b/c of roundoff error at each tracking step + std::string result = FAIL; + double c_tof = 2.99792458E10 /* cm/s */ * h->tof; + double s_trk = h->s_track; + double diff = TMath::Abs(c_tof-s_trk); + if ( diff < 0.015 ) result = PASS; + result = Form("c_tof=%f cm strack=%f cm diff=%f cm ",c_tof,s_trk,diff) + result; + return result; + }); + check_ctf_hit( "The hit be at a radius > 207.8", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + double R2 = h->x[0]*h->x[0] + h->x[1]*h->x[1]; + if ( R2 > 207.8*207.8 ) result = PASS; + result = Form(" R=%f ",sqrt(R2)) + result; + return result; + }); + check_ctf_hit( "The hit be at a radius < 221.0", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + double R2 = h->x[0]*h->x[0] + h->x[1]*h->x[1]; + if ( R2 < 221.0*221.0 ) result = PASS; + result = Form(" R=%f ",sqrt(R2)) + result; + return result; + }); + check_ctf_hit( "The track length at the hit should be >= radius at the hit", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + double R2 = h->x[0]*h->x[0] + h->x[1]*h->x[1]; + double L2 = h->s_track * h->s_track; + if ( R2 <= L2 ) result = PASS; + result = Form(" R=%f L=%f",sqrt(R2),sqrt(L2)) + result; + return result; + }); + check_ctf_hit( "Track's momentum at hit should be < initial value", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + check_ctf_hit( "BTOF half should decode as 1..2", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + int half = h->volume_id / 100000; + if ( half == 1 || half == 2) result = PASS; + return result; + }); + check_ctf_hit( "BTOF sector/tray should decode as 1..60", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + int sector = h->volume_id % 100000 / 1000; + if ( sector >= 1 && sector <= 60 ) result = PASS; + return result; + }); + check_ctf_hit( "BTOF module should decode as 1..33", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + int module = h->volume_id % 1000 / 10; + if ( module >= 1 && module <= 33 ) result = PASS; + return result; + }); + check_ctf_hit( "BTOF layer should decode as 1..6", hit,[=](const g2t_ctf_hit_st* h) { + std::string result = FAIL; + int layer = h->volume_id % 10; + if ( layer >=1 && layer <= 6 ) result = PASS; + return result; + }); + } + + } + + std::cout << std::endl << std::endl; + + // Print out energy deposition + { + + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + if ( 1 ){ + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + // double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + // LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + // Print out time per track + { + + double _mean = boost::accumulators::mean(time); + double _median = boost::accumulators::median(time); + double _min = boost::accumulators::min(time); + double _max = boost::accumulators::max(time); + double _error_of_mean = boost::accumulators::error_of(time); + LOG_TEST << Form( "time / muon: mean = %f s", _mean ) << std::endl; + LOG_TEST << Form( "time / muon: median = %f s", _median ) << std::endl; + LOG_TEST << Form( "time / muon: min = %f s", _min ) << std::endl; + LOG_TEST << Form( "time / muon: max = %f s", _max ) << std::endl; + LOG_TEST << Form( "time / muon: error of mean = %f s", _error_of_mean ) << std::endl; + + } + + // Reset accumulators + edep = step = time = {}; + + if ( longtest > 1 ) { + + std::cout << "-/ running long test with N pi+/pi- =" << longtest << " /-" << std::endl; + + throw_particle( longtest, "pi+,pi-", 0.200, 20.0, -1.0, 1.0, 0.0, TMath::TwoPi() ); + + auto* chain = StMaker::GetChain(); + hit_table = dynamic_cast( chain->GetDataSet("g2t_ctf_hit") ) ; + + // Accumulate + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + // std::cout << *hit << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + } + + // Print out energy deposition + { + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + // double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + // LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + } + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_eem_hits.C b/StRoot/StGeant4Maker/tests/unit_test_eem_hits.C new file mode 100644 index 00000000000..b1b68d2dc56 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_eem_hits.C @@ -0,0 +1,295 @@ +#include "tests/unit_tests.h" + +#include "StEEmcUtil/EEmcGeom/EEmcGeomSimple.h" + +namespace eemcgeom { + +const int kEEmcNumDepths = 5; +const int kEEmcNumSectors = 12; +const int kEEmcNumSubSectors = 5; +const int kEEmcNumEtas = 12; +const int kEEmcNumSmdPlanes = 3; +const int kEEmcNumStrips =288; +const int kEEmcNumEdgeStrips =283; +const int kEEmcNumSmdUVs = 2; + + + + // for Tower +const int kEEmcTowerHalfId = 100000; +const int kEEmcTowerPhiId = 1000; +const int kEEmcTowerEtaId = 10; +const int kEEmcTowerDepId = 1; + + // for SMDs +const int kEEmcSmdHalfId = 1000000; +const int kEEmcSmdPhiId = 10000; +const int kEEmcSmdPlaneId = 1000; +const int kEEmcSmdStripId = 1; + + + +const double etabounds[] = { 2.0000 , + 1.9008 , 1.8065 , 1.7168 , 1.6317 , 1.5507 , 1.4738 , + 1.4007 , 1.3312 , 1.2651 , 1.2023 , 1.1427 , 1.086 +}; + +} + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +void throw_muon_in_eemc_tower( double eta, double phid, int charge = 1 ) { + + throw_muon( eta, phid, 10.0, charge ); // energetic + _eta = eta; + _phid = phid; + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_eem_hit") ); + chain->ls(10); + assert(track_table); + track_table->Print(0,10); + +} +//___________________________________________________________________ +struct EEmcVolumeId { + int half; + int sector; + int subsector; + int phibin; + int etabin; + int depth; +}; +//___________________________________________________________________ +EEmcVolumeId decode_eemc_volume_id( const int _volumeId ) { + EEmcVolumeId result = {0}; + int halfId = _volumeId / eemcgeom::kEEmcTowerHalfId; + int volumeId = _volumeId % eemcgeom::kEEmcTowerHalfId; + result.half = halfId; + result.phibin = volumeId / eemcgeom::kEEmcTowerPhiId; volumeId%=eemcgeom::kEEmcTowerPhiId; + result.etabin = volumeId / eemcgeom::kEEmcTowerEtaId; volumeId%=eemcgeom::kEEmcTowerEtaId; + result.depth = volumeId / eemcgeom::kEEmcTowerDepId; volumeId%=eemcgeom::kEEmcTowerDepId; + result.subsector = ( result.phibin - 1 )%5 + 1; + result.sector = ( result.phibin - 1 )/5 + 1; + return result; +} + +//___________________________________________________________________ +void unit_test_eem_hits() { + + gROOT->ProcessLine("initChain();"); + + if ( 0 == hasRuntimeArg("eemcutil") ) { + std::cout << "Please re-run with --eemcutil option" << std::endl; + assert(0); + } + + const EEmcGeomSimple& eemc = EEmcGeomSimple::Instance(); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and EEMC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + // double eta = 0.5 * ( etabounds[3]+etabounds[4] ); + // double phid = 6.0 * 5; + + + TVector3 direction; + + for ( int i=0;i<12;i++ ) { // loop on eta bin + for ( int j=0;j<60;j++ ) { // loop on phi bin + + double eta=0.5*(eemcgeom::etabounds[i]+eemcgeom::etabounds[i+1]); + double phid = 6.0*j; + + int etabin = i + 1; + int phibin = j + 1; // maybe maybe not + int sector = j / 5 + 1; + int subsector = j % 5 + 1; + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << "Throwing muon at tower center eta=" << eta << " phi=" << phid << std::endl; + LOG_TEST << "sector = " << j / 5 << " subsector = " << j % 5 << " etabin = " << i << std::endl; + LOG_TEST << "------------------------------------------------------------------" << std::endl; + + direction = eemc.getTowerCenter( sector - 1, subsector - 1, etabin - 1 ); + + throw_muon_in_eemc_tower( direction.Eta(), direction.Phi()*180.0/TMath::Pi() ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + assert(t); + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the EEMC", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 5 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_eem_hit; + std::string result = FAIL; + if ( n==5 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + check_emc_hit( "Print the hit...", hit, [=](const g2t_emc_hit_st* h) { + LOG_TEST << "id=" << h->id + << " track_p=" << h->track_p + << " volume_id=" << h->volume_id + << " de=" << h->de + << std::endl; + return PASS; + }); + check_emc_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form(" volumeId=%i ", h->volume_id ) + result; + return result; + }); + check_emc_hit( "The hit's volume_id should be < 2*100000",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id < 200000 ) result = PASS; + result = Form(" volumeId=%i ", h->volume_id ) + result; + return result; + }); + check_emc_hit( "The hit should be in half 1 or half 2",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + int half = id.half; + if ( half>=1 && half <=2 ) result = PASS; + result = Form(" ... half=%i ", half ) + result; + return result; + }); + check_emc_hit( "The sector of the hit should be 1-12",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + int sector = id.sector; + if ( sector >= 1 && sector <= 12 ) result = PASS; + result = Form(" ... sector=%i ", sector ) + result; + return result; + }); + check_emc_hit( "The hit has the expected sector",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + if ( sector ==id.sector ) result = PASS; + result = Form(" expect %i actual %i ", id.sector,sector ) + result; + return result; + }); + check_emc_hit( "The hit has the expected subsector",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + if ( id.subsector == subsector ) result = PASS; + result = Form(" expect %i actual %i ", id.subsector,subsector ) + result; + return result; + }); + check_emc_hit( "The hit has the expected phibin",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + if ( id.phibin == phibin ) result = PASS; + result = Form(" expect %i actual %i ", id.phibin, phibin ) + result; + return result; + }); + check_emc_hit( "The hit has the expected eta bin",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + if ( etabin == id.etabin ) result = PASS; + result = Form(" expect %i actual %i ", id.etabin, etabin ) + result; + return result; + }); + check_emc_hit( "The depth of the hit should be 1-5",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + int volumeId = h->volume_id; + EEmcVolumeId id = decode_eemc_volume_id( volumeId ); + int depth = id.depth; + + if ( depth >= 1 && depth <= 5 ) result = PASS; + result = Form(" ... depth=%i ", depth ) + result; + return result; + }); + check_emc_hit( "The hit should have an energy deposit > 0",hit,[=](const g2t_emc_hit_st* h) { + std::string result = FAIL; + if ( h->de > 0 ) result = PASS; + return result; + }); + + } + + } + } + + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_emc_hits.C b/StRoot/StGeant4Maker/tests/unit_test_emc_hits.C new file mode 100644 index 00000000000..2a9e43c78fb --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_emc_hits.C @@ -0,0 +1,9817 @@ +#include "tests/unit_tests.h" + +#include +//___________________________________________________________________ +const int neta = 40; +const int nphi = 120; +const double dphi = 3.0; +const double phi0 = 0.0; // not really... + +void init_cells(); + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; + +struct Cell { + int volumeId; + int softId; + int m; + int e; + int s; + int d; + float eta; + float phi; +}; +std::vector cells; +//___________________________________________________________________ +void throw_muon_in_bemc_tower( double eta, double phid, int charge = 1 ) { + + throw_muon( eta, phid, 10.0, charge ); // energetic + _eta = eta; + _phid = phid; + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ); + +} +//___________________________________________________________________ +void unit_test_emc_hits() { + + gROOT->ProcessLine("initChain();"); + + init_cells(); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and BEMC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + for ( auto cell : cells ) { + + double eta = cell.eta; _eta = eta; + double phi = cell.phi; + double phid = phi * 180.0 / TMath::Pi(); + int volId = cell.volumeId; + if ( volId % 10 == 2 ) continue; // skip superlayer = 2 + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << "Throwing muon at tower center eta=" << eta << " phi=" << phid << std::endl; + LOG_TEST << "------------------------------------------------------------------" << std::endl; + + throw_muon_in_bemc_tower( eta, phid ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + // Failure is tested by check_track when it tests for a valid track pointer + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0 && istart <= vertex_table->GetNRows()) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the BEMC", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 && istart <= vertex_table->GetNRows() ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( "The track should has the expected eta", [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + std::string result = FAIL; + if ( TMath::Abs(t->eta-_eta)<1E-5 ) + result = PASS; + result = Form(" expect %f got %f ", _eta, t->eta ) + result; + return result; + }); + // check_track( "The track should has the expected phi", [=](const g2t_track_st* t){ + // double delta = TMath::Abs(t->phi-_phi); + // return delta<1E-5 ?PASS:FAIL; + // }); + check_track( "Expect 2 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_emc_hit; + std::string result = FAIL; + if ( n==2 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + for ( int i=0;iGetNRows();i++ ) { + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + check_emc_hit( "Energy deposition is positive", hit, [=]( const g2t_emc_hit_st* hit ) { + std::string result = FAIL; + if ( hit->de > 0 ) result = PASS; + return result; + }); + check_emc_hit( "Half barrel is 1 or 2 from volume ID", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int half = h->volume_id / 10000000; + std::string result = FAIL; + if ( 1==half || 2==half ) result = PASS; + result = Form("half=%i ",half) + result; + return result; + }); + check_emc_hit( "Eta bin is in 1..20", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int tow = (h->volume_id % 10000000)/100000; + std::string result = FAIL; + if ( tow>=1 && tow<= 40 ) result = PASS; + result = Form("etabin=%i ",tow) + result; + return result; + }); + check_emc_hit( "Phi module is in 1..60", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int tow = (h->volume_id % 100000) / 100; + std::string result = FAIL; + if ( tow>=1 && tow<= 60 ) result = PASS; + result = Form("phibin=%i ",tow) + result; + return result; + }); + check_emc_hit( "Phi sub-module is in 1..2", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int tow = (h->volume_id % 100)/10; + std::string result = FAIL; + if ( tow>=1 && tow<= 40 ) result = PASS; + result = Form("phi submodule=%i ",tow) + result; + return result; + }); + check_emc_hit( "Superlayer is 1..2", hit, [=](const g2t_emc_hit_st* h) { + int volId = h->volume_id; + int tow = (h->volume_id % 10); + std::string result = FAIL; + if ( tow>=1 && tow<= 40 ) result = PASS; + result = Form("super layer=%i ",tow) + result; + return result; + }); + std::string side = (eta>0)?"west":"east"; + check_emc_hit( Form("Hit has the expected volume ID %s",side.c_str()), hit, [=]( const g2t_emc_hit_st* h) { + std::string result = FAIL; + if ( cell.volumeId == h->volume_id || cell.volumeId+1 == h->volume_id ) result = PASS; + result = Form(" got volume id %i expect %i or %i ",h->volume_id,cell.volumeId,cell.volumeId+1) + result; + return result; + }); + + }; + + + } + + // } + // } + +} + + + +void init_cells() { + cells.push_back( {10100111,1,1,1,1,2,0.02675,1.28142 } ); + cells.push_back( {10100121,21,1,1,2,2,0.02675,1.23186 } ); + cells.push_back( {10200111,2,1,2,1,2,0.075,1.28142 } ); + cells.push_back( {10200121,22,1,2,2,2,0.075,1.23186 } ); + cells.push_back( {10300111,3,1,3,1,2,0.125,1.28142 } ); + cells.push_back( {10300121,23,1,3,2,2,0.125,1.23186 } ); + cells.push_back( {10400111,4,1,4,1,2,0.175,1.28142 } ); +cells.push_back( {10400121,24,1,4,2,2,0.175,1.23186 } ); +cells.push_back( {10500111,5,1,5,1,2,0.225,1.28142 } ); +cells.push_back( {10500121,25,1,5,2,2,0.225,1.23186 } ); +cells.push_back( {10600111,6,1,6,1,2,0.275,1.28142 } ); +cells.push_back( {10600121,26,1,6,2,2,0.275,1.23186 } ); +cells.push_back( {10700111,7,1,7,1,2,0.325,1.28142 } ); +cells.push_back( {10700121,27,1,7,2,2,0.325,1.23186 } ); +cells.push_back( {10800111,8,1,8,1,2,0.375,1.28142 } ); +cells.push_back( {10800121,28,1,8,2,2,0.375,1.23186 } ); +cells.push_back( {10900111,9,1,9,1,2,0.425,1.28142 } ); +cells.push_back( {10900121,29,1,9,2,2,0.425,1.23186 } ); +cells.push_back( {11000111,10,1,10,1,2,0.475,1.28142 } ); +cells.push_back( {11000121,30,1,10,2,2,0.475,1.23186 } ); +cells.push_back( {11100111,11,1,11,1,2,0.525,1.28142 } ); +cells.push_back( {11100121,31,1,11,2,2,0.525,1.23186 } ); +cells.push_back( {11200111,12,1,12,1,2,0.575,1.28142 } ); +cells.push_back( {11200121,32,1,12,2,2,0.575,1.23186 } ); +cells.push_back( {11300111,13,1,13,1,2,0.625,1.28142 } ); +cells.push_back( {11300121,33,1,13,2,2,0.625,1.23186 } ); +cells.push_back( {11400111,14,1,14,1,2,0.675,1.28142 } ); +cells.push_back( {11400121,34,1,14,2,2,0.675,1.23186 } ); +cells.push_back( {11500111,15,1,15,1,2,0.725,1.28142 } ); +cells.push_back( {11500121,35,1,15,2,2,0.725,1.23186 } ); +cells.push_back( {11600111,16,1,16,1,2,0.775,1.28142 } ); +cells.push_back( {11600121,36,1,16,2,2,0.775,1.23186 } ); +cells.push_back( {11700111,17,1,17,1,2,0.825,1.28142 } ); +cells.push_back( {11700121,37,1,17,2,2,0.825,1.23186 } ); +cells.push_back( {11800111,18,1,18,1,2,0.875,1.28142 } ); +cells.push_back( {11800121,38,1,18,2,2,0.875,1.23186 } ); +cells.push_back( {11900111,19,1,19,1,2,0.925,1.28142 } ); +cells.push_back( {11900121,39,1,19,2,2,0.925,1.23186 } ); +cells.push_back( {12000111,20,1,20,1,2,0.967,1.28142 } ); +cells.push_back( {12000121,40,1,20,2,2,0.967,1.23186 } ); +cells.push_back( {10100112,1,1,1,1,1,0.02675,1.28142 } ); +cells.push_back( {10100122,21,1,1,2,1,0.02675,1.23186 } ); +cells.push_back( {10200112,2,1,2,1,1,0.075,1.28142 } ); +cells.push_back( {10200122,22,1,2,2,1,0.075,1.23186 } ); +cells.push_back( {10300112,3,1,3,1,1,0.125,1.28142 } ); +cells.push_back( {10300122,23,1,3,2,1,0.125,1.23186 } ); +cells.push_back( {10400112,4,1,4,1,1,0.175,1.28142 } ); +cells.push_back( {10400122,24,1,4,2,1,0.175,1.23186 } ); +cells.push_back( {10500112,5,1,5,1,1,0.225,1.28142 } ); +cells.push_back( {10500122,25,1,5,2,1,0.225,1.23186 } ); +cells.push_back( {10600112,6,1,6,1,1,0.275,1.28142 } ); +cells.push_back( {10600122,26,1,6,2,1,0.275,1.23186 } ); +cells.push_back( {10700112,7,1,7,1,1,0.325,1.28142 } ); +cells.push_back( {10700122,27,1,7,2,1,0.325,1.23186 } ); +cells.push_back( {10800112,8,1,8,1,1,0.375,1.28142 } ); +cells.push_back( {10800122,28,1,8,2,1,0.375,1.23186 } ); +cells.push_back( {10900112,9,1,9,1,1,0.425,1.28142 } ); +cells.push_back( {10900122,29,1,9,2,1,0.425,1.23186 } ); +cells.push_back( {11000112,10,1,10,1,1,0.475,1.28142 } ); +cells.push_back( {11000122,30,1,10,2,1,0.475,1.23186 } ); +cells.push_back( {11100112,11,1,11,1,1,0.525,1.28142 } ); +cells.push_back( {11100122,31,1,11,2,1,0.525,1.23186 } ); +cells.push_back( {11200112,12,1,12,1,1,0.575,1.28142 } ); +cells.push_back( {11200122,32,1,12,2,1,0.575,1.23186 } ); +cells.push_back( {11300112,13,1,13,1,1,0.625,1.28142 } ); +cells.push_back( {11300122,33,1,13,2,1,0.625,1.23186 } ); +cells.push_back( {11400112,14,1,14,1,1,0.675,1.28142 } ); +cells.push_back( {11400122,34,1,14,2,1,0.675,1.23186 } ); +cells.push_back( {11500112,15,1,15,1,1,0.725,1.28142 } ); +cells.push_back( {11500122,35,1,15,2,1,0.725,1.23186 } ); +cells.push_back( {11600112,16,1,16,1,1,0.775,1.28142 } ); +cells.push_back( {11600122,36,1,16,2,1,0.775,1.23186 } ); +cells.push_back( {11700112,17,1,17,1,1,0.825,1.28142 } ); +cells.push_back( {11700122,37,1,17,2,1,0.825,1.23186 } ); +cells.push_back( {11800112,18,1,18,1,1,0.875,1.28142 } ); +cells.push_back( {11800122,38,1,18,2,1,0.875,1.23186 } ); +cells.push_back( {11900112,19,1,19,1,1,0.925,1.28142 } ); +cells.push_back( {11900122,39,1,19,2,1,0.925,1.23186 } ); +cells.push_back( {12000112,20,1,20,1,1,0.967,1.28142 } ); +cells.push_back( {12000122,40,1,20,2,1,0.967,1.23186 } ); +cells.push_back( {10100211,41,2,1,1,2,0.02675,1.1767 } ); +cells.push_back( {10100221,61,2,1,2,2,0.02675,1.12714 } ); +cells.push_back( {10200211,42,2,2,1,2,0.075,1.1767 } ); +cells.push_back( {10200221,62,2,2,2,2,0.075,1.12714 } ); +cells.push_back( {10300211,43,2,3,1,2,0.125,1.1767 } ); +cells.push_back( {10300221,63,2,3,2,2,0.125,1.12714 } ); +cells.push_back( {10400211,44,2,4,1,2,0.175,1.1767 } ); +cells.push_back( {10400221,64,2,4,2,2,0.175,1.12714 } ); +cells.push_back( {10500211,45,2,5,1,2,0.225,1.1767 } ); +cells.push_back( {10500221,65,2,5,2,2,0.225,1.12714 } ); +cells.push_back( {10600211,46,2,6,1,2,0.275,1.1767 } ); +cells.push_back( {10600221,66,2,6,2,2,0.275,1.12714 } ); +cells.push_back( {10700211,47,2,7,1,2,0.325,1.1767 } ); +cells.push_back( {10700221,67,2,7,2,2,0.325,1.12714 } ); +cells.push_back( {10800211,48,2,8,1,2,0.375,1.1767 } ); +cells.push_back( {10800221,68,2,8,2,2,0.375,1.12714 } ); +cells.push_back( {10900211,49,2,9,1,2,0.425,1.1767 } ); +cells.push_back( {10900221,69,2,9,2,2,0.425,1.12714 } ); +cells.push_back( {11000211,50,2,10,1,2,0.475,1.1767 } ); +cells.push_back( {11000221,70,2,10,2,2,0.475,1.12714 } ); +cells.push_back( {11100211,51,2,11,1,2,0.525,1.1767 } ); +cells.push_back( {11100221,71,2,11,2,2,0.525,1.12714 } ); +cells.push_back( {11200211,52,2,12,1,2,0.575,1.1767 } ); +cells.push_back( {11200221,72,2,12,2,2,0.575,1.12714 } ); +cells.push_back( {11300211,53,2,13,1,2,0.625,1.1767 } ); +cells.push_back( {11300221,73,2,13,2,2,0.625,1.12714 } ); +cells.push_back( {11400211,54,2,14,1,2,0.675,1.1767 } ); +cells.push_back( {11400221,74,2,14,2,2,0.675,1.12714 } ); +cells.push_back( {11500211,55,2,15,1,2,0.725,1.1767 } ); +cells.push_back( {11500221,75,2,15,2,2,0.725,1.12714 } ); +cells.push_back( {11600211,56,2,16,1,2,0.775,1.1767 } ); +cells.push_back( {11600221,76,2,16,2,2,0.775,1.12714 } ); +cells.push_back( {11700211,57,2,17,1,2,0.825,1.1767 } ); +cells.push_back( {11700221,77,2,17,2,2,0.825,1.12714 } ); +cells.push_back( {11800211,58,2,18,1,2,0.875,1.1767 } ); +cells.push_back( {11800221,78,2,18,2,2,0.875,1.12714 } ); +cells.push_back( {11900211,59,2,19,1,2,0.925,1.1767 } ); +cells.push_back( {11900221,79,2,19,2,2,0.925,1.12714 } ); +cells.push_back( {12000211,60,2,20,1,2,0.967,1.1767 } ); +cells.push_back( {12000221,80,2,20,2,2,0.967,1.12714 } ); +cells.push_back( {10100212,41,2,1,1,1,0.02675,1.1767 } ); +cells.push_back( {10100222,61,2,1,2,1,0.02675,1.12714 } ); +cells.push_back( {10200212,42,2,2,1,1,0.075,1.1767 } ); +cells.push_back( {10200222,62,2,2,2,1,0.075,1.12714 } ); +cells.push_back( {10300212,43,2,3,1,1,0.125,1.1767 } ); +cells.push_back( {10300222,63,2,3,2,1,0.125,1.12714 } ); +cells.push_back( {10400212,44,2,4,1,1,0.175,1.1767 } ); +cells.push_back( {10400222,64,2,4,2,1,0.175,1.12714 } ); +cells.push_back( {10500212,45,2,5,1,1,0.225,1.1767 } ); +cells.push_back( {10500222,65,2,5,2,1,0.225,1.12714 } ); +cells.push_back( {10600212,46,2,6,1,1,0.275,1.1767 } ); +cells.push_back( {10600222,66,2,6,2,1,0.275,1.12714 } ); +cells.push_back( {10700212,47,2,7,1,1,0.325,1.1767 } ); +cells.push_back( {10700222,67,2,7,2,1,0.325,1.12714 } ); +cells.push_back( {10800212,48,2,8,1,1,0.375,1.1767 } ); +cells.push_back( {10800222,68,2,8,2,1,0.375,1.12714 } ); +cells.push_back( {10900212,49,2,9,1,1,0.425,1.1767 } ); +cells.push_back( {10900222,69,2,9,2,1,0.425,1.12714 } ); +cells.push_back( {11000212,50,2,10,1,1,0.475,1.1767 } ); +cells.push_back( {11000222,70,2,10,2,1,0.475,1.12714 } ); +cells.push_back( {11100212,51,2,11,1,1,0.525,1.1767 } ); +cells.push_back( {11100222,71,2,11,2,1,0.525,1.12714 } ); +cells.push_back( {11200212,52,2,12,1,1,0.575,1.1767 } ); +cells.push_back( {11200222,72,2,12,2,1,0.575,1.12714 } ); +cells.push_back( {11300212,53,2,13,1,1,0.625,1.1767 } ); +cells.push_back( {11300222,73,2,13,2,1,0.625,1.12714 } ); +cells.push_back( {11400212,54,2,14,1,1,0.675,1.1767 } ); +cells.push_back( {11400222,74,2,14,2,1,0.675,1.12714 } ); +cells.push_back( {11500212,55,2,15,1,1,0.725,1.1767 } ); +cells.push_back( {11500222,75,2,15,2,1,0.725,1.12714 } ); +cells.push_back( {11600212,56,2,16,1,1,0.775,1.1767 } ); +cells.push_back( {11600222,76,2,16,2,1,0.775,1.12714 } ); +cells.push_back( {11700212,57,2,17,1,1,0.825,1.1767 } ); +cells.push_back( {11700222,77,2,17,2,1,0.825,1.12714 } ); +cells.push_back( {11800212,58,2,18,1,1,0.875,1.1767 } ); +cells.push_back( {11800222,78,2,18,2,1,0.875,1.12714 } ); +cells.push_back( {11900212,59,2,19,1,1,0.925,1.1767 } ); +cells.push_back( {11900222,79,2,19,2,1,0.925,1.12714 } ); +cells.push_back( {12000212,60,2,20,1,1,0.967,1.1767 } ); +cells.push_back( {12000222,80,2,20,2,1,0.967,1.12714 } ); +cells.push_back( {10100311,81,3,1,1,2,0.02675,1.07198 } ); +cells.push_back( {10100321,101,3,1,2,2,0.02675,1.02242 } ); +cells.push_back( {10200311,82,3,2,1,2,0.075,1.07198 } ); +cells.push_back( {10200321,102,3,2,2,2,0.075,1.02242 } ); +cells.push_back( {10300311,83,3,3,1,2,0.125,1.07198 } ); +cells.push_back( {10300321,103,3,3,2,2,0.125,1.02242 } ); +cells.push_back( {10400311,84,3,4,1,2,0.175,1.07198 } ); +cells.push_back( {10400321,104,3,4,2,2,0.175,1.02242 } ); +cells.push_back( {10500311,85,3,5,1,2,0.225,1.07198 } ); +cells.push_back( {10500321,105,3,5,2,2,0.225,1.02242 } ); +cells.push_back( {10600311,86,3,6,1,2,0.275,1.07198 } ); +cells.push_back( {10600321,106,3,6,2,2,0.275,1.02242 } ); +cells.push_back( {10700311,87,3,7,1,2,0.325,1.07198 } ); +cells.push_back( {10700321,107,3,7,2,2,0.325,1.02242 } ); +cells.push_back( {10800311,88,3,8,1,2,0.375,1.07198 } ); +cells.push_back( {10800321,108,3,8,2,2,0.375,1.02242 } ); +cells.push_back( {10900311,89,3,9,1,2,0.425,1.07198 } ); +cells.push_back( {10900321,109,3,9,2,2,0.425,1.02242 } ); +cells.push_back( {11000311,90,3,10,1,2,0.475,1.07198 } ); +cells.push_back( {11000321,110,3,10,2,2,0.475,1.02242 } ); +cells.push_back( {11100311,91,3,11,1,2,0.525,1.07198 } ); +cells.push_back( {11100321,111,3,11,2,2,0.525,1.02242 } ); +cells.push_back( {11200311,92,3,12,1,2,0.575,1.07198 } ); +cells.push_back( {11200321,112,3,12,2,2,0.575,1.02242 } ); +cells.push_back( {11300311,93,3,13,1,2,0.625,1.07198 } ); +cells.push_back( {11300321,113,3,13,2,2,0.625,1.02242 } ); +cells.push_back( {11400311,94,3,14,1,2,0.675,1.07198 } ); +cells.push_back( {11400321,114,3,14,2,2,0.675,1.02242 } ); +cells.push_back( {11500311,95,3,15,1,2,0.725,1.07198 } ); +cells.push_back( {11500321,115,3,15,2,2,0.725,1.02242 } ); +cells.push_back( {11600311,96,3,16,1,2,0.775,1.07198 } ); +cells.push_back( {11600321,116,3,16,2,2,0.775,1.02242 } ); +cells.push_back( {11700311,97,3,17,1,2,0.825,1.07198 } ); +cells.push_back( {11700321,117,3,17,2,2,0.825,1.02242 } ); +cells.push_back( {11800311,98,3,18,1,2,0.875,1.07198 } ); +cells.push_back( {11800321,118,3,18,2,2,0.875,1.02242 } ); +cells.push_back( {11900311,99,3,19,1,2,0.925,1.07198 } ); +cells.push_back( {11900321,119,3,19,2,2,0.925,1.02242 } ); +cells.push_back( {12000311,100,3,20,1,2,0.967,1.07198 } ); +cells.push_back( {12000321,120,3,20,2,2,0.967,1.02242 } ); +cells.push_back( {10100312,81,3,1,1,1,0.02675,1.07198 } ); +cells.push_back( {10100322,101,3,1,2,1,0.02675,1.02242 } ); +cells.push_back( {10200312,82,3,2,1,1,0.075,1.07198 } ); +cells.push_back( {10200322,102,3,2,2,1,0.075,1.02242 } ); +cells.push_back( {10300312,83,3,3,1,1,0.125,1.07198 } ); +cells.push_back( {10300322,103,3,3,2,1,0.125,1.02242 } ); +cells.push_back( {10400312,84,3,4,1,1,0.175,1.07198 } ); +cells.push_back( {10400322,104,3,4,2,1,0.175,1.02242 } ); +cells.push_back( {10500312,85,3,5,1,1,0.225,1.07198 } ); +cells.push_back( {10500322,105,3,5,2,1,0.225,1.02242 } ); +cells.push_back( {10600312,86,3,6,1,1,0.275,1.07198 } ); +cells.push_back( {10600322,106,3,6,2,1,0.275,1.02242 } ); +cells.push_back( {10700312,87,3,7,1,1,0.325,1.07198 } ); +cells.push_back( {10700322,107,3,7,2,1,0.325,1.02242 } ); +cells.push_back( {10800312,88,3,8,1,1,0.375,1.07198 } ); +cells.push_back( {10800322,108,3,8,2,1,0.375,1.02242 } ); +cells.push_back( {10900312,89,3,9,1,1,0.425,1.07198 } ); +cells.push_back( {10900322,109,3,9,2,1,0.425,1.02242 } ); +cells.push_back( {11000312,90,3,10,1,1,0.475,1.07198 } ); +cells.push_back( {11000322,110,3,10,2,1,0.475,1.02242 } ); +cells.push_back( {11100312,91,3,11,1,1,0.525,1.07198 } ); +cells.push_back( {11100322,111,3,11,2,1,0.525,1.02242 } ); +cells.push_back( {11200312,92,3,12,1,1,0.575,1.07198 } ); +cells.push_back( {11200322,112,3,12,2,1,0.575,1.02242 } ); +cells.push_back( {11300312,93,3,13,1,1,0.625,1.07198 } ); +cells.push_back( {11300322,113,3,13,2,1,0.625,1.02242 } ); +cells.push_back( {11400312,94,3,14,1,1,0.675,1.07198 } ); +cells.push_back( {11400322,114,3,14,2,1,0.675,1.02242 } ); +cells.push_back( {11500312,95,3,15,1,1,0.725,1.07198 } ); +cells.push_back( {11500322,115,3,15,2,1,0.725,1.02242 } ); +cells.push_back( {11600312,96,3,16,1,1,0.775,1.07198 } ); +cells.push_back( {11600322,116,3,16,2,1,0.775,1.02242 } ); +cells.push_back( {11700312,97,3,17,1,1,0.825,1.07198 } ); +cells.push_back( {11700322,117,3,17,2,1,0.825,1.02242 } ); +cells.push_back( {11800312,98,3,18,1,1,0.875,1.07198 } ); +cells.push_back( {11800322,118,3,18,2,1,0.875,1.02242 } ); +cells.push_back( {11900312,99,3,19,1,1,0.925,1.07198 } ); +cells.push_back( {11900322,119,3,19,2,1,0.925,1.02242 } ); +cells.push_back( {12000312,100,3,20,1,1,0.967,1.07198 } ); +cells.push_back( {12000322,120,3,20,2,1,0.967,1.02242 } ); +cells.push_back( {10100411,121,4,1,1,2,0.02675,0.967259 } ); +cells.push_back( {10100421,141,4,1,2,2,0.02675,0.917696 } ); +cells.push_back( {10200411,122,4,2,1,2,0.075,0.967259 } ); +cells.push_back( {10200421,142,4,2,2,2,0.075,0.917696 } ); +cells.push_back( {10300411,123,4,3,1,2,0.125,0.967259 } ); +cells.push_back( {10300421,143,4,3,2,2,0.125,0.917696 } ); +cells.push_back( {10400411,124,4,4,1,2,0.175,0.967259 } ); +cells.push_back( {10400421,144,4,4,2,2,0.175,0.917696 } ); +cells.push_back( {10500411,125,4,5,1,2,0.225,0.967259 } ); +cells.push_back( {10500421,145,4,5,2,2,0.225,0.917696 } ); +cells.push_back( {10600411,126,4,6,1,2,0.275,0.967259 } ); +cells.push_back( {10600421,146,4,6,2,2,0.275,0.917696 } ); +cells.push_back( {10700411,127,4,7,1,2,0.325,0.967259 } ); +cells.push_back( {10700421,147,4,7,2,2,0.325,0.917696 } ); +cells.push_back( {10800411,128,4,8,1,2,0.375,0.967259 } ); +cells.push_back( {10800421,148,4,8,2,2,0.375,0.917696 } ); +cells.push_back( {10900411,129,4,9,1,2,0.425,0.967259 } ); +cells.push_back( {10900421,149,4,9,2,2,0.425,0.917696 } ); +cells.push_back( {11000411,130,4,10,1,2,0.475,0.967259 } ); +cells.push_back( {11000421,150,4,10,2,2,0.475,0.917696 } ); +cells.push_back( {11100411,131,4,11,1,2,0.525,0.967259 } ); +cells.push_back( {11100421,151,4,11,2,2,0.525,0.917696 } ); +cells.push_back( {11200411,132,4,12,1,2,0.575,0.967259 } ); +cells.push_back( {11200421,152,4,12,2,2,0.575,0.917696 } ); +cells.push_back( {11300411,133,4,13,1,2,0.625,0.967259 } ); +cells.push_back( {11300421,153,4,13,2,2,0.625,0.917696 } ); +cells.push_back( {11400411,134,4,14,1,2,0.675,0.967259 } ); +cells.push_back( {11400421,154,4,14,2,2,0.675,0.917696 } ); +cells.push_back( {11500411,135,4,15,1,2,0.725,0.967259 } ); +cells.push_back( {11500421,155,4,15,2,2,0.725,0.917696 } ); +cells.push_back( {11600411,136,4,16,1,2,0.775,0.967259 } ); +cells.push_back( {11600421,156,4,16,2,2,0.775,0.917696 } ); +cells.push_back( {11700411,137,4,17,1,2,0.825,0.967259 } ); +cells.push_back( {11700421,157,4,17,2,2,0.825,0.917696 } ); +cells.push_back( {11800411,138,4,18,1,2,0.875,0.967259 } ); +cells.push_back( {11800421,158,4,18,2,2,0.875,0.917696 } ); +cells.push_back( {11900411,139,4,19,1,2,0.925,0.967259 } ); +cells.push_back( {11900421,159,4,19,2,2,0.925,0.917696 } ); +cells.push_back( {12000411,140,4,20,1,2,0.967,0.967259 } ); +cells.push_back( {12000421,160,4,20,2,2,0.967,0.917696 } ); +cells.push_back( {10100412,121,4,1,1,1,0.02675,0.967259 } ); +cells.push_back( {10100422,141,4,1,2,1,0.02675,0.917696 } ); +cells.push_back( {10200412,122,4,2,1,1,0.075,0.967259 } ); +cells.push_back( {10200422,142,4,2,2,1,0.075,0.917696 } ); +cells.push_back( {10300412,123,4,3,1,1,0.125,0.967259 } ); +cells.push_back( {10300422,143,4,3,2,1,0.125,0.917696 } ); +cells.push_back( {10400412,124,4,4,1,1,0.175,0.967259 } ); +cells.push_back( {10400422,144,4,4,2,1,0.175,0.917696 } ); +cells.push_back( {10500412,125,4,5,1,1,0.225,0.967259 } ); +cells.push_back( {10500422,145,4,5,2,1,0.225,0.917696 } ); +cells.push_back( {10600412,126,4,6,1,1,0.275,0.967259 } ); +cells.push_back( {10600422,146,4,6,2,1,0.275,0.917696 } ); +cells.push_back( {10700412,127,4,7,1,1,0.325,0.967259 } ); +cells.push_back( {10700422,147,4,7,2,1,0.325,0.917696 } ); +cells.push_back( {10800412,128,4,8,1,1,0.375,0.967259 } ); +cells.push_back( {10800422,148,4,8,2,1,0.375,0.917696 } ); +cells.push_back( {10900412,129,4,9,1,1,0.425,0.967259 } ); +cells.push_back( {10900422,149,4,9,2,1,0.425,0.917696 } ); +cells.push_back( {11000412,130,4,10,1,1,0.475,0.967259 } ); +cells.push_back( {11000422,150,4,10,2,1,0.475,0.917696 } ); +cells.push_back( {11100412,131,4,11,1,1,0.525,0.967259 } ); +cells.push_back( {11100422,151,4,11,2,1,0.525,0.917696 } ); +cells.push_back( {11200412,132,4,12,1,1,0.575,0.967259 } ); +cells.push_back( {11200422,152,4,12,2,1,0.575,0.917696 } ); +cells.push_back( {11300412,133,4,13,1,1,0.625,0.967259 } ); +cells.push_back( {11300422,153,4,13,2,1,0.625,0.917696 } ); +cells.push_back( {11400412,134,4,14,1,1,0.675,0.967259 } ); +cells.push_back( {11400422,154,4,14,2,1,0.675,0.917696 } ); +cells.push_back( {11500412,135,4,15,1,1,0.725,0.967259 } ); +cells.push_back( {11500422,155,4,15,2,1,0.725,0.917696 } ); +cells.push_back( {11600412,136,4,16,1,1,0.775,0.967259 } ); +cells.push_back( {11600422,156,4,16,2,1,0.775,0.917696 } ); +cells.push_back( {11700412,137,4,17,1,1,0.825,0.967259 } ); +cells.push_back( {11700422,157,4,17,2,1,0.825,0.917696 } ); +cells.push_back( {11800412,138,4,18,1,1,0.875,0.967259 } ); +cells.push_back( {11800422,158,4,18,2,1,0.875,0.917696 } ); +cells.push_back( {11900412,139,4,19,1,1,0.925,0.967259 } ); +cells.push_back( {11900422,159,4,19,2,1,0.925,0.917696 } ); +cells.push_back( {12000412,140,4,20,1,1,0.967,0.967259 } ); +cells.push_back( {12000422,160,4,20,2,1,0.967,0.917696 } ); +cells.push_back( {10100511,161,5,1,1,2,0.02675,0.862539 } ); +cells.push_back( {10100521,181,5,1,2,2,0.02675,0.812977 } ); +cells.push_back( {10200511,162,5,2,1,2,0.075,0.862539 } ); +cells.push_back( {10200521,182,5,2,2,2,0.075,0.812977 } ); +cells.push_back( {10300511,163,5,3,1,2,0.125,0.862539 } ); +cells.push_back( {10300521,183,5,3,2,2,0.125,0.812977 } ); +cells.push_back( {10400511,164,5,4,1,2,0.175,0.862539 } ); +cells.push_back( {10400521,184,5,4,2,2,0.175,0.812977 } ); +cells.push_back( {10500511,165,5,5,1,2,0.225,0.862539 } ); +cells.push_back( {10500521,185,5,5,2,2,0.225,0.812977 } ); +cells.push_back( {10600511,166,5,6,1,2,0.275,0.862539 } ); +cells.push_back( {10600521,186,5,6,2,2,0.275,0.812977 } ); +cells.push_back( {10700511,167,5,7,1,2,0.325,0.862539 } ); +cells.push_back( {10700521,187,5,7,2,2,0.325,0.812977 } ); +cells.push_back( {10800511,168,5,8,1,2,0.375,0.862539 } ); +cells.push_back( {10800521,188,5,8,2,2,0.375,0.812977 } ); +cells.push_back( {10900511,169,5,9,1,2,0.425,0.862539 } ); +cells.push_back( {10900521,189,5,9,2,2,0.425,0.812977 } ); +cells.push_back( {11000511,170,5,10,1,2,0.475,0.862539 } ); +cells.push_back( {11000521,190,5,10,2,2,0.475,0.812977 } ); +cells.push_back( {11100511,171,5,11,1,2,0.525,0.862539 } ); +cells.push_back( {11100521,191,5,11,2,2,0.525,0.812977 } ); +cells.push_back( {11200511,172,5,12,1,2,0.575,0.862539 } ); +cells.push_back( {11200521,192,5,12,2,2,0.575,0.812977 } ); +cells.push_back( {11300511,173,5,13,1,2,0.625,0.862539 } ); +cells.push_back( {11300521,193,5,13,2,2,0.625,0.812977 } ); +cells.push_back( {11400511,174,5,14,1,2,0.675,0.862539 } ); +cells.push_back( {11400521,194,5,14,2,2,0.675,0.812977 } ); +cells.push_back( {11500511,175,5,15,1,2,0.725,0.862539 } ); +cells.push_back( {11500521,195,5,15,2,2,0.725,0.812977 } ); +cells.push_back( {11600511,176,5,16,1,2,0.775,0.862539 } ); +cells.push_back( {11600521,196,5,16,2,2,0.775,0.812977 } ); +cells.push_back( {11700511,177,5,17,1,2,0.825,0.862539 } ); +cells.push_back( {11700521,197,5,17,2,2,0.825,0.812977 } ); +cells.push_back( {11800511,178,5,18,1,2,0.875,0.862539 } ); +cells.push_back( {11800521,198,5,18,2,2,0.875,0.812977 } ); +cells.push_back( {11900511,179,5,19,1,2,0.925,0.862539 } ); +cells.push_back( {11900521,199,5,19,2,2,0.925,0.812977 } ); +cells.push_back( {12000511,180,5,20,1,2,0.967,0.862539 } ); +cells.push_back( {12000521,200,5,20,2,2,0.967,0.812977 } ); +cells.push_back( {10100512,161,5,1,1,1,0.02675,0.862539 } ); +cells.push_back( {10100522,181,5,1,2,1,0.02675,0.812977 } ); +cells.push_back( {10200512,162,5,2,1,1,0.075,0.862539 } ); +cells.push_back( {10200522,182,5,2,2,1,0.075,0.812977 } ); +cells.push_back( {10300512,163,5,3,1,1,0.125,0.862539 } ); +cells.push_back( {10300522,183,5,3,2,1,0.125,0.812977 } ); +cells.push_back( {10400512,164,5,4,1,1,0.175,0.862539 } ); +cells.push_back( {10400522,184,5,4,2,1,0.175,0.812977 } ); +cells.push_back( {10500512,165,5,5,1,1,0.225,0.862539 } ); +cells.push_back( {10500522,185,5,5,2,1,0.225,0.812977 } ); +cells.push_back( {10600512,166,5,6,1,1,0.275,0.862539 } ); +cells.push_back( {10600522,186,5,6,2,1,0.275,0.812977 } ); +cells.push_back( {10700512,167,5,7,1,1,0.325,0.862539 } ); +cells.push_back( {10700522,187,5,7,2,1,0.325,0.812977 } ); +cells.push_back( {10800512,168,5,8,1,1,0.375,0.862539 } ); +cells.push_back( {10800522,188,5,8,2,1,0.375,0.812977 } ); +cells.push_back( {10900512,169,5,9,1,1,0.425,0.862539 } ); +cells.push_back( {10900522,189,5,9,2,1,0.425,0.812977 } ); +cells.push_back( {11000512,170,5,10,1,1,0.475,0.862539 } ); +cells.push_back( {11000522,190,5,10,2,1,0.475,0.812977 } ); +cells.push_back( {11100512,171,5,11,1,1,0.525,0.862539 } ); +cells.push_back( {11100522,191,5,11,2,1,0.525,0.812977 } ); +cells.push_back( {11200512,172,5,12,1,1,0.575,0.862539 } ); +cells.push_back( {11200522,192,5,12,2,1,0.575,0.812977 } ); +cells.push_back( {11300512,173,5,13,1,1,0.625,0.862539 } ); +cells.push_back( {11300522,193,5,13,2,1,0.625,0.812977 } ); +cells.push_back( {11400512,174,5,14,1,1,0.675,0.862539 } ); +cells.push_back( {11400522,194,5,14,2,1,0.675,0.812977 } ); +cells.push_back( {11500512,175,5,15,1,1,0.725,0.862539 } ); +cells.push_back( {11500522,195,5,15,2,1,0.725,0.812977 } ); +cells.push_back( {11600512,176,5,16,1,1,0.775,0.862539 } ); +cells.push_back( {11600522,196,5,16,2,1,0.775,0.812977 } ); +cells.push_back( {11700512,177,5,17,1,1,0.825,0.862539 } ); +cells.push_back( {11700522,197,5,17,2,1,0.825,0.812977 } ); +cells.push_back( {11800512,178,5,18,1,1,0.875,0.862539 } ); +cells.push_back( {11800522,198,5,18,2,1,0.875,0.812977 } ); +cells.push_back( {11900512,179,5,19,1,1,0.925,0.862539 } ); +cells.push_back( {11900522,199,5,19,2,1,0.925,0.812977 } ); +cells.push_back( {12000512,180,5,20,1,1,0.967,0.862539 } ); +cells.push_back( {12000522,200,5,20,2,1,0.967,0.812977 } ); +cells.push_back( {10100611,201,6,1,1,2,0.02675,0.75782 } ); +cells.push_back( {10100621,221,6,1,2,2,0.02675,0.708257 } ); +cells.push_back( {10200611,202,6,2,1,2,0.075,0.75782 } ); +cells.push_back( {10200621,222,6,2,2,2,0.075,0.708257 } ); +cells.push_back( {10300611,203,6,3,1,2,0.125,0.75782 } ); +cells.push_back( {10300621,223,6,3,2,2,0.125,0.708257 } ); +cells.push_back( {10400611,204,6,4,1,2,0.175,0.75782 } ); +cells.push_back( {10400621,224,6,4,2,2,0.175,0.708257 } ); +cells.push_back( {10500611,205,6,5,1,2,0.225,0.75782 } ); +cells.push_back( {10500621,225,6,5,2,2,0.225,0.708257 } ); +cells.push_back( {10600611,206,6,6,1,2,0.275,0.75782 } ); +cells.push_back( {10600621,226,6,6,2,2,0.275,0.708257 } ); +cells.push_back( {10700611,207,6,7,1,2,0.325,0.75782 } ); +cells.push_back( {10700621,227,6,7,2,2,0.325,0.708257 } ); +cells.push_back( {10800611,208,6,8,1,2,0.375,0.75782 } ); +cells.push_back( {10800621,228,6,8,2,2,0.375,0.708257 } ); +cells.push_back( {10900611,209,6,9,1,2,0.425,0.75782 } ); +cells.push_back( {10900621,229,6,9,2,2,0.425,0.708257 } ); +cells.push_back( {11000611,210,6,10,1,2,0.475,0.75782 } ); +cells.push_back( {11000621,230,6,10,2,2,0.475,0.708257 } ); +cells.push_back( {11100611,211,6,11,1,2,0.525,0.75782 } ); +cells.push_back( {11100621,231,6,11,2,2,0.525,0.708257 } ); +cells.push_back( {11200611,212,6,12,1,2,0.575,0.75782 } ); +cells.push_back( {11200621,232,6,12,2,2,0.575,0.708257 } ); +cells.push_back( {11300611,213,6,13,1,2,0.625,0.75782 } ); +cells.push_back( {11300621,233,6,13,2,2,0.625,0.708257 } ); +cells.push_back( {11400611,214,6,14,1,2,0.675,0.75782 } ); +cells.push_back( {11400621,234,6,14,2,2,0.675,0.708257 } ); +cells.push_back( {11500611,215,6,15,1,2,0.725,0.75782 } ); +cells.push_back( {11500621,235,6,15,2,2,0.725,0.708257 } ); +cells.push_back( {11600611,216,6,16,1,2,0.775,0.75782 } ); +cells.push_back( {11600621,236,6,16,2,2,0.775,0.708257 } ); +cells.push_back( {11700611,217,6,17,1,2,0.825,0.75782 } ); +cells.push_back( {11700621,237,6,17,2,2,0.825,0.708257 } ); +cells.push_back( {11800611,218,6,18,1,2,0.875,0.75782 } ); +cells.push_back( {11800621,238,6,18,2,2,0.875,0.708257 } ); +cells.push_back( {11900611,219,6,19,1,2,0.925,0.75782 } ); +cells.push_back( {11900621,239,6,19,2,2,0.925,0.708257 } ); +cells.push_back( {12000611,220,6,20,1,2,0.967,0.75782 } ); +cells.push_back( {12000621,240,6,20,2,2,0.967,0.708257 } ); +cells.push_back( {10100612,201,6,1,1,1,0.02675,0.75782 } ); +cells.push_back( {10100622,221,6,1,2,1,0.02675,0.708257 } ); +cells.push_back( {10200612,202,6,2,1,1,0.075,0.75782 } ); +cells.push_back( {10200622,222,6,2,2,1,0.075,0.708257 } ); +cells.push_back( {10300612,203,6,3,1,1,0.125,0.75782 } ); +cells.push_back( {10300622,223,6,3,2,1,0.125,0.708257 } ); +cells.push_back( {10400612,204,6,4,1,1,0.175,0.75782 } ); +cells.push_back( {10400622,224,6,4,2,1,0.175,0.708257 } ); +cells.push_back( {10500612,205,6,5,1,1,0.225,0.75782 } ); +cells.push_back( {10500622,225,6,5,2,1,0.225,0.708257 } ); +cells.push_back( {10600612,206,6,6,1,1,0.275,0.75782 } ); +cells.push_back( {10600622,226,6,6,2,1,0.275,0.708257 } ); +cells.push_back( {10700612,207,6,7,1,1,0.325,0.75782 } ); +cells.push_back( {10700622,227,6,7,2,1,0.325,0.708257 } ); +cells.push_back( {10800612,208,6,8,1,1,0.375,0.75782 } ); +cells.push_back( {10800622,228,6,8,2,1,0.375,0.708257 } ); +cells.push_back( {10900612,209,6,9,1,1,0.425,0.75782 } ); +cells.push_back( {10900622,229,6,9,2,1,0.425,0.708257 } ); +cells.push_back( {11000612,210,6,10,1,1,0.475,0.75782 } ); +cells.push_back( {11000622,230,6,10,2,1,0.475,0.708257 } ); +cells.push_back( {11100612,211,6,11,1,1,0.525,0.75782 } ); +cells.push_back( {11100622,231,6,11,2,1,0.525,0.708257 } ); +cells.push_back( {11200612,212,6,12,1,1,0.575,0.75782 } ); +cells.push_back( {11200622,232,6,12,2,1,0.575,0.708257 } ); +cells.push_back( {11300612,213,6,13,1,1,0.625,0.75782 } ); +cells.push_back( {11300622,233,6,13,2,1,0.625,0.708257 } ); +cells.push_back( {11400612,214,6,14,1,1,0.675,0.75782 } ); +cells.push_back( {11400622,234,6,14,2,1,0.675,0.708257 } ); +cells.push_back( {11500612,215,6,15,1,1,0.725,0.75782 } ); +cells.push_back( {11500622,235,6,15,2,1,0.725,0.708257 } ); +cells.push_back( {11600612,216,6,16,1,1,0.775,0.75782 } ); +cells.push_back( {11600622,236,6,16,2,1,0.775,0.708257 } ); +cells.push_back( {11700612,217,6,17,1,1,0.825,0.75782 } ); +cells.push_back( {11700622,237,6,17,2,1,0.825,0.708257 } ); +cells.push_back( {11800612,218,6,18,1,1,0.875,0.75782 } ); +cells.push_back( {11800622,238,6,18,2,1,0.875,0.708257 } ); +cells.push_back( {11900612,219,6,19,1,1,0.925,0.75782 } ); +cells.push_back( {11900622,239,6,19,2,1,0.925,0.708257 } ); +cells.push_back( {12000612,220,6,20,1,1,0.967,0.75782 } ); +cells.push_back( {12000622,240,6,20,2,1,0.967,0.708257 } ); +cells.push_back( {10100711,241,7,1,1,2,0.02675,0.6531 } ); +cells.push_back( {10100721,261,7,1,2,2,0.02675,0.603537 } ); +cells.push_back( {10200711,242,7,2,1,2,0.075,0.6531 } ); +cells.push_back( {10200721,262,7,2,2,2,0.075,0.603537 } ); +cells.push_back( {10300711,243,7,3,1,2,0.125,0.6531 } ); +cells.push_back( {10300721,263,7,3,2,2,0.125,0.603537 } ); +cells.push_back( {10400711,244,7,4,1,2,0.175,0.6531 } ); +cells.push_back( {10400721,264,7,4,2,2,0.175,0.603537 } ); +cells.push_back( {10500711,245,7,5,1,2,0.225,0.6531 } ); +cells.push_back( {10500721,265,7,5,2,2,0.225,0.603537 } ); +cells.push_back( {10600711,246,7,6,1,2,0.275,0.6531 } ); +cells.push_back( {10600721,266,7,6,2,2,0.275,0.603537 } ); +cells.push_back( {10700711,247,7,7,1,2,0.325,0.6531 } ); +cells.push_back( {10700721,267,7,7,2,2,0.325,0.603537 } ); +cells.push_back( {10800711,248,7,8,1,2,0.375,0.6531 } ); +cells.push_back( {10800721,268,7,8,2,2,0.375,0.603537 } ); +cells.push_back( {10900711,249,7,9,1,2,0.425,0.6531 } ); +cells.push_back( {10900721,269,7,9,2,2,0.425,0.603537 } ); +cells.push_back( {11000711,250,7,10,1,2,0.475,0.6531 } ); +cells.push_back( {11000721,270,7,10,2,2,0.475,0.603537 } ); +cells.push_back( {11100711,251,7,11,1,2,0.525,0.6531 } ); +cells.push_back( {11100721,271,7,11,2,2,0.525,0.603537 } ); +cells.push_back( {11200711,252,7,12,1,2,0.575,0.6531 } ); +cells.push_back( {11200721,272,7,12,2,2,0.575,0.603537 } ); +cells.push_back( {11300711,253,7,13,1,2,0.625,0.6531 } ); +cells.push_back( {11300721,273,7,13,2,2,0.625,0.603537 } ); +cells.push_back( {11400711,254,7,14,1,2,0.675,0.6531 } ); +cells.push_back( {11400721,274,7,14,2,2,0.675,0.603537 } ); +cells.push_back( {11500711,255,7,15,1,2,0.725,0.6531 } ); +cells.push_back( {11500721,275,7,15,2,2,0.725,0.603537 } ); +cells.push_back( {11600711,256,7,16,1,2,0.775,0.6531 } ); +cells.push_back( {11600721,276,7,16,2,2,0.775,0.603537 } ); +cells.push_back( {11700711,257,7,17,1,2,0.825,0.6531 } ); +cells.push_back( {11700721,277,7,17,2,2,0.825,0.603537 } ); +cells.push_back( {11800711,258,7,18,1,2,0.875,0.6531 } ); +cells.push_back( {11800721,278,7,18,2,2,0.875,0.603537 } ); +cells.push_back( {11900711,259,7,19,1,2,0.925,0.6531 } ); +cells.push_back( {11900721,279,7,19,2,2,0.925,0.603537 } ); +cells.push_back( {12000711,260,7,20,1,2,0.967,0.6531 } ); +cells.push_back( {12000721,280,7,20,2,2,0.967,0.603537 } ); +cells.push_back( {10100712,241,7,1,1,1,0.02675,0.6531 } ); +cells.push_back( {10100722,261,7,1,2,1,0.02675,0.603537 } ); +cells.push_back( {10200712,242,7,2,1,1,0.075,0.6531 } ); +cells.push_back( {10200722,262,7,2,2,1,0.075,0.603537 } ); +cells.push_back( {10300712,243,7,3,1,1,0.125,0.6531 } ); +cells.push_back( {10300722,263,7,3,2,1,0.125,0.603537 } ); +cells.push_back( {10400712,244,7,4,1,1,0.175,0.6531 } ); +cells.push_back( {10400722,264,7,4,2,1,0.175,0.603537 } ); +cells.push_back( {10500712,245,7,5,1,1,0.225,0.6531 } ); +cells.push_back( {10500722,265,7,5,2,1,0.225,0.603537 } ); +cells.push_back( {10600712,246,7,6,1,1,0.275,0.6531 } ); +cells.push_back( {10600722,266,7,6,2,1,0.275,0.603537 } ); +cells.push_back( {10700712,247,7,7,1,1,0.325,0.6531 } ); +cells.push_back( {10700722,267,7,7,2,1,0.325,0.603537 } ); +cells.push_back( {10800712,248,7,8,1,1,0.375,0.6531 } ); +cells.push_back( {10800722,268,7,8,2,1,0.375,0.603537 } ); +cells.push_back( {10900712,249,7,9,1,1,0.425,0.6531 } ); +cells.push_back( {10900722,269,7,9,2,1,0.425,0.603537 } ); +cells.push_back( {11000712,250,7,10,1,1,0.475,0.6531 } ); +cells.push_back( {11000722,270,7,10,2,1,0.475,0.603537 } ); +cells.push_back( {11100712,251,7,11,1,1,0.525,0.6531 } ); +cells.push_back( {11100722,271,7,11,2,1,0.525,0.603537 } ); +cells.push_back( {11200712,252,7,12,1,1,0.575,0.6531 } ); +cells.push_back( {11200722,272,7,12,2,1,0.575,0.603537 } ); +cells.push_back( {11300712,253,7,13,1,1,0.625,0.6531 } ); +cells.push_back( {11300722,273,7,13,2,1,0.625,0.603537 } ); +cells.push_back( {11400712,254,7,14,1,1,0.675,0.6531 } ); +cells.push_back( {11400722,274,7,14,2,1,0.675,0.603537 } ); +cells.push_back( {11500712,255,7,15,1,1,0.725,0.6531 } ); +cells.push_back( {11500722,275,7,15,2,1,0.725,0.603537 } ); +cells.push_back( {11600712,256,7,16,1,1,0.775,0.6531 } ); +cells.push_back( {11600722,276,7,16,2,1,0.775,0.603537 } ); +cells.push_back( {11700712,257,7,17,1,1,0.825,0.6531 } ); +cells.push_back( {11700722,277,7,17,2,1,0.825,0.603537 } ); +cells.push_back( {11800712,258,7,18,1,1,0.875,0.6531 } ); +cells.push_back( {11800722,278,7,18,2,1,0.875,0.603537 } ); +cells.push_back( {11900712,259,7,19,1,1,0.925,0.6531 } ); +cells.push_back( {11900722,279,7,19,2,1,0.925,0.603537 } ); +cells.push_back( {12000712,260,7,20,1,1,0.967,0.6531 } ); +cells.push_back( {12000722,280,7,20,2,1,0.967,0.603537 } ); +cells.push_back( {10100811,281,8,1,1,2,0.02675,0.54838 } ); +cells.push_back( {10100821,301,8,1,2,2,0.02675,0.498817 } ); +cells.push_back( {10200811,282,8,2,1,2,0.075,0.54838 } ); +cells.push_back( {10200821,302,8,2,2,2,0.075,0.498817 } ); +cells.push_back( {10300811,283,8,3,1,2,0.125,0.54838 } ); +cells.push_back( {10300821,303,8,3,2,2,0.125,0.498817 } ); +cells.push_back( {10400811,284,8,4,1,2,0.175,0.54838 } ); +cells.push_back( {10400821,304,8,4,2,2,0.175,0.498817 } ); +cells.push_back( {10500811,285,8,5,1,2,0.225,0.54838 } ); +cells.push_back( {10500821,305,8,5,2,2,0.225,0.498817 } ); +cells.push_back( {10600811,286,8,6,1,2,0.275,0.54838 } ); +cells.push_back( {10600821,306,8,6,2,2,0.275,0.498817 } ); +cells.push_back( {10700811,287,8,7,1,2,0.325,0.54838 } ); +cells.push_back( {10700821,307,8,7,2,2,0.325,0.498817 } ); +cells.push_back( {10800811,288,8,8,1,2,0.375,0.54838 } ); +cells.push_back( {10800821,308,8,8,2,2,0.375,0.498817 } ); +cells.push_back( {10900811,289,8,9,1,2,0.425,0.54838 } ); +cells.push_back( {10900821,309,8,9,2,2,0.425,0.498817 } ); +cells.push_back( {11000811,290,8,10,1,2,0.475,0.54838 } ); +cells.push_back( {11000821,310,8,10,2,2,0.475,0.498817 } ); +cells.push_back( {11100811,291,8,11,1,2,0.525,0.54838 } ); +cells.push_back( {11100821,311,8,11,2,2,0.525,0.498817 } ); +cells.push_back( {11200811,292,8,12,1,2,0.575,0.54838 } ); +cells.push_back( {11200821,312,8,12,2,2,0.575,0.498817 } ); +cells.push_back( {11300811,293,8,13,1,2,0.625,0.54838 } ); +cells.push_back( {11300821,313,8,13,2,2,0.625,0.498817 } ); +cells.push_back( {11400811,294,8,14,1,2,0.675,0.54838 } ); +cells.push_back( {11400821,314,8,14,2,2,0.675,0.498817 } ); +cells.push_back( {11500811,295,8,15,1,2,0.725,0.54838 } ); +cells.push_back( {11500821,315,8,15,2,2,0.725,0.498817 } ); +cells.push_back( {11600811,296,8,16,1,2,0.775,0.54838 } ); +cells.push_back( {11600821,316,8,16,2,2,0.775,0.498817 } ); +cells.push_back( {11700811,297,8,17,1,2,0.825,0.54838 } ); +cells.push_back( {11700821,317,8,17,2,2,0.825,0.498817 } ); +cells.push_back( {11800811,298,8,18,1,2,0.875,0.54838 } ); +cells.push_back( {11800821,318,8,18,2,2,0.875,0.498817 } ); +cells.push_back( {11900811,299,8,19,1,2,0.925,0.54838 } ); +cells.push_back( {11900821,319,8,19,2,2,0.925,0.498817 } ); +cells.push_back( {12000811,300,8,20,1,2,0.967,0.54838 } ); +cells.push_back( {12000821,320,8,20,2,2,0.967,0.498817 } ); +cells.push_back( {10100812,281,8,1,1,1,0.02675,0.54838 } ); +cells.push_back( {10100822,301,8,1,2,1,0.02675,0.498817 } ); +cells.push_back( {10200812,282,8,2,1,1,0.075,0.54838 } ); +cells.push_back( {10200822,302,8,2,2,1,0.075,0.498817 } ); +cells.push_back( {10300812,283,8,3,1,1,0.125,0.54838 } ); +cells.push_back( {10300822,303,8,3,2,1,0.125,0.498817 } ); +cells.push_back( {10400812,284,8,4,1,1,0.175,0.54838 } ); +cells.push_back( {10400822,304,8,4,2,1,0.175,0.498817 } ); +cells.push_back( {10500812,285,8,5,1,1,0.225,0.54838 } ); +cells.push_back( {10500822,305,8,5,2,1,0.225,0.498817 } ); +cells.push_back( {10600812,286,8,6,1,1,0.275,0.54838 } ); +cells.push_back( {10600822,306,8,6,2,1,0.275,0.498817 } ); +cells.push_back( {10700812,287,8,7,1,1,0.325,0.54838 } ); +cells.push_back( {10700822,307,8,7,2,1,0.325,0.498817 } ); +cells.push_back( {10800812,288,8,8,1,1,0.375,0.54838 } ); +cells.push_back( {10800822,308,8,8,2,1,0.375,0.498817 } ); +cells.push_back( {10900812,289,8,9,1,1,0.425,0.54838 } ); +cells.push_back( {10900822,309,8,9,2,1,0.425,0.498817 } ); +cells.push_back( {11000812,290,8,10,1,1,0.475,0.54838 } ); +cells.push_back( {11000822,310,8,10,2,1,0.475,0.498817 } ); +cells.push_back( {11100812,291,8,11,1,1,0.525,0.54838 } ); +cells.push_back( {11100822,311,8,11,2,1,0.525,0.498817 } ); +cells.push_back( {11200812,292,8,12,1,1,0.575,0.54838 } ); +cells.push_back( {11200822,312,8,12,2,1,0.575,0.498817 } ); +cells.push_back( {11300812,293,8,13,1,1,0.625,0.54838 } ); +cells.push_back( {11300822,313,8,13,2,1,0.625,0.498817 } ); +cells.push_back( {11400812,294,8,14,1,1,0.675,0.54838 } ); +cells.push_back( {11400822,314,8,14,2,1,0.675,0.498817 } ); +cells.push_back( {11500812,295,8,15,1,1,0.725,0.54838 } ); +cells.push_back( {11500822,315,8,15,2,1,0.725,0.498817 } ); +cells.push_back( {11600812,296,8,16,1,1,0.775,0.54838 } ); +cells.push_back( {11600822,316,8,16,2,1,0.775,0.498817 } ); +cells.push_back( {11700812,297,8,17,1,1,0.825,0.54838 } ); +cells.push_back( {11700822,317,8,17,2,1,0.825,0.498817 } ); +cells.push_back( {11800812,298,8,18,1,1,0.875,0.54838 } ); +cells.push_back( {11800822,318,8,18,2,1,0.875,0.498817 } ); +cells.push_back( {11900812,299,8,19,1,1,0.925,0.54838 } ); +cells.push_back( {11900822,319,8,19,2,1,0.925,0.498817 } ); +cells.push_back( {12000812,300,8,20,1,1,0.967,0.54838 } ); +cells.push_back( {12000822,320,8,20,2,1,0.967,0.498817 } ); +cells.push_back( {10100911,321,9,1,1,2,0.02675,0.44366 } ); +cells.push_back( {10100921,341,9,1,2,2,0.02675,0.394098 } ); +cells.push_back( {10200911,322,9,2,1,2,0.075,0.44366 } ); +cells.push_back( {10200921,342,9,2,2,2,0.075,0.394098 } ); +cells.push_back( {10300911,323,9,3,1,2,0.125,0.44366 } ); +cells.push_back( {10300921,343,9,3,2,2,0.125,0.394098 } ); +cells.push_back( {10400911,324,9,4,1,2,0.175,0.44366 } ); +cells.push_back( {10400921,344,9,4,2,2,0.175,0.394098 } ); +cells.push_back( {10500911,325,9,5,1,2,0.225,0.44366 } ); +cells.push_back( {10500921,345,9,5,2,2,0.225,0.394098 } ); +cells.push_back( {10600911,326,9,6,1,2,0.275,0.44366 } ); +cells.push_back( {10600921,346,9,6,2,2,0.275,0.394098 } ); +cells.push_back( {10700911,327,9,7,1,2,0.325,0.44366 } ); +cells.push_back( {10700921,347,9,7,2,2,0.325,0.394098 } ); +cells.push_back( {10800911,328,9,8,1,2,0.375,0.44366 } ); +cells.push_back( {10800921,348,9,8,2,2,0.375,0.394098 } ); +cells.push_back( {10900911,329,9,9,1,2,0.425,0.44366 } ); +cells.push_back( {10900921,349,9,9,2,2,0.425,0.394098 } ); +cells.push_back( {11000911,330,9,10,1,2,0.475,0.44366 } ); +cells.push_back( {11000921,350,9,10,2,2,0.475,0.394098 } ); +cells.push_back( {11100911,331,9,11,1,2,0.525,0.44366 } ); +cells.push_back( {11100921,351,9,11,2,2,0.525,0.394098 } ); +cells.push_back( {11200911,332,9,12,1,2,0.575,0.44366 } ); +cells.push_back( {11200921,352,9,12,2,2,0.575,0.394098 } ); +cells.push_back( {11300911,333,9,13,1,2,0.625,0.44366 } ); +cells.push_back( {11300921,353,9,13,2,2,0.625,0.394098 } ); +cells.push_back( {11400911,334,9,14,1,2,0.675,0.44366 } ); +cells.push_back( {11400921,354,9,14,2,2,0.675,0.394098 } ); +cells.push_back( {11500911,335,9,15,1,2,0.725,0.44366 } ); +cells.push_back( {11500921,355,9,15,2,2,0.725,0.394098 } ); +cells.push_back( {11600911,336,9,16,1,2,0.775,0.44366 } ); +cells.push_back( {11600921,356,9,16,2,2,0.775,0.394098 } ); +cells.push_back( {11700911,337,9,17,1,2,0.825,0.44366 } ); +cells.push_back( {11700921,357,9,17,2,2,0.825,0.394098 } ); +cells.push_back( {11800911,338,9,18,1,2,0.875,0.44366 } ); +cells.push_back( {11800921,358,9,18,2,2,0.875,0.394098 } ); +cells.push_back( {11900911,339,9,19,1,2,0.925,0.44366 } ); +cells.push_back( {11900921,359,9,19,2,2,0.925,0.394098 } ); +cells.push_back( {12000911,340,9,20,1,2,0.967,0.44366 } ); +cells.push_back( {12000921,360,9,20,2,2,0.967,0.394098 } ); +cells.push_back( {10100912,321,9,1,1,1,0.02675,0.44366 } ); +cells.push_back( {10100922,341,9,1,2,1,0.02675,0.394098 } ); +cells.push_back( {10200912,322,9,2,1,1,0.075,0.44366 } ); +cells.push_back( {10200922,342,9,2,2,1,0.075,0.394098 } ); +cells.push_back( {10300912,323,9,3,1,1,0.125,0.44366 } ); +cells.push_back( {10300922,343,9,3,2,1,0.125,0.394098 } ); +cells.push_back( {10400912,324,9,4,1,1,0.175,0.44366 } ); +cells.push_back( {10400922,344,9,4,2,1,0.175,0.394098 } ); +cells.push_back( {10500912,325,9,5,1,1,0.225,0.44366 } ); +cells.push_back( {10500922,345,9,5,2,1,0.225,0.394098 } ); +cells.push_back( {10600912,326,9,6,1,1,0.275,0.44366 } ); +cells.push_back( {10600922,346,9,6,2,1,0.275,0.394098 } ); +cells.push_back( {10700912,327,9,7,1,1,0.325,0.44366 } ); +cells.push_back( {10700922,347,9,7,2,1,0.325,0.394098 } ); +cells.push_back( {10800912,328,9,8,1,1,0.375,0.44366 } ); +cells.push_back( {10800922,348,9,8,2,1,0.375,0.394098 } ); +cells.push_back( {10900912,329,9,9,1,1,0.425,0.44366 } ); +cells.push_back( {10900922,349,9,9,2,1,0.425,0.394098 } ); +cells.push_back( {11000912,330,9,10,1,1,0.475,0.44366 } ); +cells.push_back( {11000922,350,9,10,2,1,0.475,0.394098 } ); +cells.push_back( {11100912,331,9,11,1,1,0.525,0.44366 } ); +cells.push_back( {11100922,351,9,11,2,1,0.525,0.394098 } ); +cells.push_back( {11200912,332,9,12,1,1,0.575,0.44366 } ); +cells.push_back( {11200922,352,9,12,2,1,0.575,0.394098 } ); +cells.push_back( {11300912,333,9,13,1,1,0.625,0.44366 } ); +cells.push_back( {11300922,353,9,13,2,1,0.625,0.394098 } ); +cells.push_back( {11400912,334,9,14,1,1,0.675,0.44366 } ); +cells.push_back( {11400922,354,9,14,2,1,0.675,0.394098 } ); +cells.push_back( {11500912,335,9,15,1,1,0.725,0.44366 } ); +cells.push_back( {11500922,355,9,15,2,1,0.725,0.394098 } ); +cells.push_back( {11600912,336,9,16,1,1,0.775,0.44366 } ); +cells.push_back( {11600922,356,9,16,2,1,0.775,0.394098 } ); +cells.push_back( {11700912,337,9,17,1,1,0.825,0.44366 } ); +cells.push_back( {11700922,357,9,17,2,1,0.825,0.394098 } ); +cells.push_back( {11800912,338,9,18,1,1,0.875,0.44366 } ); +cells.push_back( {11800922,358,9,18,2,1,0.875,0.394098 } ); +cells.push_back( {11900912,339,9,19,1,1,0.925,0.44366 } ); +cells.push_back( {11900922,359,9,19,2,1,0.925,0.394098 } ); +cells.push_back( {12000912,340,9,20,1,1,0.967,0.44366 } ); +cells.push_back( {12000922,360,9,20,2,1,0.967,0.394098 } ); +cells.push_back( {10101011,361,10,1,1,2,0.02675,0.338941 } ); +cells.push_back( {10101021,381,10,1,2,2,0.02675,0.289378 } ); +cells.push_back( {10201011,362,10,2,1,2,0.075,0.338941 } ); +cells.push_back( {10201021,382,10,2,2,2,0.075,0.289378 } ); +cells.push_back( {10301011,363,10,3,1,2,0.125,0.338941 } ); +cells.push_back( {10301021,383,10,3,2,2,0.125,0.289378 } ); +cells.push_back( {10401011,364,10,4,1,2,0.175,0.338941 } ); +cells.push_back( {10401021,384,10,4,2,2,0.175,0.289378 } ); +cells.push_back( {10501011,365,10,5,1,2,0.225,0.338941 } ); +cells.push_back( {10501021,385,10,5,2,2,0.225,0.289378 } ); +cells.push_back( {10601011,366,10,6,1,2,0.275,0.338941 } ); +cells.push_back( {10601021,386,10,6,2,2,0.275,0.289378 } ); +cells.push_back( {10701011,367,10,7,1,2,0.325,0.338941 } ); +cells.push_back( {10701021,387,10,7,2,2,0.325,0.289378 } ); +cells.push_back( {10801011,368,10,8,1,2,0.375,0.338941 } ); +cells.push_back( {10801021,388,10,8,2,2,0.375,0.289378 } ); +cells.push_back( {10901011,369,10,9,1,2,0.425,0.338941 } ); +cells.push_back( {10901021,389,10,9,2,2,0.425,0.289378 } ); +cells.push_back( {11001011,370,10,10,1,2,0.475,0.338941 } ); +cells.push_back( {11001021,390,10,10,2,2,0.475,0.289378 } ); +cells.push_back( {11101011,371,10,11,1,2,0.525,0.338941 } ); +cells.push_back( {11101021,391,10,11,2,2,0.525,0.289378 } ); +cells.push_back( {11201011,372,10,12,1,2,0.575,0.338941 } ); +cells.push_back( {11201021,392,10,12,2,2,0.575,0.289378 } ); +cells.push_back( {11301011,373,10,13,1,2,0.625,0.338941 } ); +cells.push_back( {11301021,393,10,13,2,2,0.625,0.289378 } ); +cells.push_back( {11401011,374,10,14,1,2,0.675,0.338941 } ); +cells.push_back( {11401021,394,10,14,2,2,0.675,0.289378 } ); +cells.push_back( {11501011,375,10,15,1,2,0.725,0.338941 } ); +cells.push_back( {11501021,395,10,15,2,2,0.725,0.289378 } ); +cells.push_back( {11601011,376,10,16,1,2,0.775,0.338941 } ); +cells.push_back( {11601021,396,10,16,2,2,0.775,0.289378 } ); +cells.push_back( {11701011,377,10,17,1,2,0.825,0.338941 } ); +cells.push_back( {11701021,397,10,17,2,2,0.825,0.289378 } ); +cells.push_back( {11801011,378,10,18,1,2,0.875,0.338941 } ); +cells.push_back( {11801021,398,10,18,2,2,0.875,0.289378 } ); +cells.push_back( {11901011,379,10,19,1,2,0.925,0.338941 } ); +cells.push_back( {11901021,399,10,19,2,2,0.925,0.289378 } ); +cells.push_back( {12001011,380,10,20,1,2,0.967,0.338941 } ); +cells.push_back( {12001021,400,10,20,2,2,0.967,0.289378 } ); +cells.push_back( {10101012,361,10,1,1,1,0.02675,0.338941 } ); +cells.push_back( {10101022,381,10,1,2,1,0.02675,0.289378 } ); +cells.push_back( {10201012,362,10,2,1,1,0.075,0.338941 } ); +cells.push_back( {10201022,382,10,2,2,1,0.075,0.289378 } ); +cells.push_back( {10301012,363,10,3,1,1,0.125,0.338941 } ); +cells.push_back( {10301022,383,10,3,2,1,0.125,0.289378 } ); +cells.push_back( {10401012,364,10,4,1,1,0.175,0.338941 } ); +cells.push_back( {10401022,384,10,4,2,1,0.175,0.289378 } ); +cells.push_back( {10501012,365,10,5,1,1,0.225,0.338941 } ); +cells.push_back( {10501022,385,10,5,2,1,0.225,0.289378 } ); +cells.push_back( {10601012,366,10,6,1,1,0.275,0.338941 } ); +cells.push_back( {10601022,386,10,6,2,1,0.275,0.289378 } ); +cells.push_back( {10701012,367,10,7,1,1,0.325,0.338941 } ); +cells.push_back( {10701022,387,10,7,2,1,0.325,0.289378 } ); +cells.push_back( {10801012,368,10,8,1,1,0.375,0.338941 } ); +cells.push_back( {10801022,388,10,8,2,1,0.375,0.289378 } ); +cells.push_back( {10901012,369,10,9,1,1,0.425,0.338941 } ); +cells.push_back( {10901022,389,10,9,2,1,0.425,0.289378 } ); +cells.push_back( {11001012,370,10,10,1,1,0.475,0.338941 } ); +cells.push_back( {11001022,390,10,10,2,1,0.475,0.289378 } ); +cells.push_back( {11101012,371,10,11,1,1,0.525,0.338941 } ); +cells.push_back( {11101022,391,10,11,2,1,0.525,0.289378 } ); +cells.push_back( {11201012,372,10,12,1,1,0.575,0.338941 } ); +cells.push_back( {11201022,392,10,12,2,1,0.575,0.289378 } ); +cells.push_back( {11301012,373,10,13,1,1,0.625,0.338941 } ); +cells.push_back( {11301022,393,10,13,2,1,0.625,0.289378 } ); +cells.push_back( {11401012,374,10,14,1,1,0.675,0.338941 } ); +cells.push_back( {11401022,394,10,14,2,1,0.675,0.289378 } ); +cells.push_back( {11501012,375,10,15,1,1,0.725,0.338941 } ); +cells.push_back( {11501022,395,10,15,2,1,0.725,0.289378 } ); +cells.push_back( {11601012,376,10,16,1,1,0.775,0.338941 } ); +cells.push_back( {11601022,396,10,16,2,1,0.775,0.289378 } ); +cells.push_back( {11701012,377,10,17,1,1,0.825,0.338941 } ); +cells.push_back( {11701022,397,10,17,2,1,0.825,0.289378 } ); +cells.push_back( {11801012,378,10,18,1,1,0.875,0.338941 } ); +cells.push_back( {11801022,398,10,18,2,1,0.875,0.289378 } ); +cells.push_back( {11901012,379,10,19,1,1,0.925,0.338941 } ); +cells.push_back( {11901022,399,10,19,2,1,0.925,0.289378 } ); +cells.push_back( {12001012,380,10,20,1,1,0.967,0.338941 } ); +cells.push_back( {12001022,400,10,20,2,1,0.967,0.289378 } ); +cells.push_back( {10101111,401,11,1,1,2,0.02675,0.234221 } ); +cells.push_back( {10101121,421,11,1,2,2,0.02675,0.184658 } ); +cells.push_back( {10201111,402,11,2,1,2,0.075,0.234221 } ); +cells.push_back( {10201121,422,11,2,2,2,0.075,0.184658 } ); +cells.push_back( {10301111,403,11,3,1,2,0.125,0.234221 } ); +cells.push_back( {10301121,423,11,3,2,2,0.125,0.184658 } ); +cells.push_back( {10401111,404,11,4,1,2,0.175,0.234221 } ); +cells.push_back( {10401121,424,11,4,2,2,0.175,0.184658 } ); +cells.push_back( {10501111,405,11,5,1,2,0.225,0.234221 } ); +cells.push_back( {10501121,425,11,5,2,2,0.225,0.184658 } ); +cells.push_back( {10601111,406,11,6,1,2,0.275,0.234221 } ); +cells.push_back( {10601121,426,11,6,2,2,0.275,0.184658 } ); +cells.push_back( {10701111,407,11,7,1,2,0.325,0.234221 } ); +cells.push_back( {10701121,427,11,7,2,2,0.325,0.184658 } ); +cells.push_back( {10801111,408,11,8,1,2,0.375,0.234221 } ); +cells.push_back( {10801121,428,11,8,2,2,0.375,0.184658 } ); +cells.push_back( {10901111,409,11,9,1,2,0.425,0.234221 } ); +cells.push_back( {10901121,429,11,9,2,2,0.425,0.184658 } ); +cells.push_back( {11001111,410,11,10,1,2,0.475,0.234221 } ); +cells.push_back( {11001121,430,11,10,2,2,0.475,0.184658 } ); +cells.push_back( {11101111,411,11,11,1,2,0.525,0.234221 } ); +cells.push_back( {11101121,431,11,11,2,2,0.525,0.184658 } ); +cells.push_back( {11201111,412,11,12,1,2,0.575,0.234221 } ); +cells.push_back( {11201121,432,11,12,2,2,0.575,0.184658 } ); +cells.push_back( {11301111,413,11,13,1,2,0.625,0.234221 } ); +cells.push_back( {11301121,433,11,13,2,2,0.625,0.184658 } ); +cells.push_back( {11401111,414,11,14,1,2,0.675,0.234221 } ); +cells.push_back( {11401121,434,11,14,2,2,0.675,0.184658 } ); +cells.push_back( {11501111,415,11,15,1,2,0.725,0.234221 } ); +cells.push_back( {11501121,435,11,15,2,2,0.725,0.184658 } ); +cells.push_back( {11601111,416,11,16,1,2,0.775,0.234221 } ); +cells.push_back( {11601121,436,11,16,2,2,0.775,0.184658 } ); +cells.push_back( {11701111,417,11,17,1,2,0.825,0.234221 } ); +cells.push_back( {11701121,437,11,17,2,2,0.825,0.184658 } ); +cells.push_back( {11801111,418,11,18,1,2,0.875,0.234221 } ); +cells.push_back( {11801121,438,11,18,2,2,0.875,0.184658 } ); +cells.push_back( {11901111,419,11,19,1,2,0.925,0.234221 } ); +cells.push_back( {11901121,439,11,19,2,2,0.925,0.184658 } ); +cells.push_back( {12001111,420,11,20,1,2,0.967,0.234221 } ); +cells.push_back( {12001121,440,11,20,2,2,0.967,0.184658 } ); +cells.push_back( {10101112,401,11,1,1,1,0.02675,0.234221 } ); +cells.push_back( {10101122,421,11,1,2,1,0.02675,0.184658 } ); +cells.push_back( {10201112,402,11,2,1,1,0.075,0.234221 } ); +cells.push_back( {10201122,422,11,2,2,1,0.075,0.184658 } ); +cells.push_back( {10301112,403,11,3,1,1,0.125,0.234221 } ); +cells.push_back( {10301122,423,11,3,2,1,0.125,0.184658 } ); +cells.push_back( {10401112,404,11,4,1,1,0.175,0.234221 } ); +cells.push_back( {10401122,424,11,4,2,1,0.175,0.184658 } ); +cells.push_back( {10501112,405,11,5,1,1,0.225,0.234221 } ); +cells.push_back( {10501122,425,11,5,2,1,0.225,0.184658 } ); +cells.push_back( {10601112,406,11,6,1,1,0.275,0.234221 } ); +cells.push_back( {10601122,426,11,6,2,1,0.275,0.184658 } ); +cells.push_back( {10701112,407,11,7,1,1,0.325,0.234221 } ); +cells.push_back( {10701122,427,11,7,2,1,0.325,0.184658 } ); +cells.push_back( {10801112,408,11,8,1,1,0.375,0.234221 } ); +cells.push_back( {10801122,428,11,8,2,1,0.375,0.184658 } ); +cells.push_back( {10901112,409,11,9,1,1,0.425,0.234221 } ); +cells.push_back( {10901122,429,11,9,2,1,0.425,0.184658 } ); +cells.push_back( {11001112,410,11,10,1,1,0.475,0.234221 } ); +cells.push_back( {11001122,430,11,10,2,1,0.475,0.184658 } ); +cells.push_back( {11101112,411,11,11,1,1,0.525,0.234221 } ); +cells.push_back( {11101122,431,11,11,2,1,0.525,0.184658 } ); +cells.push_back( {11201112,412,11,12,1,1,0.575,0.234221 } ); +cells.push_back( {11201122,432,11,12,2,1,0.575,0.184658 } ); +cells.push_back( {11301112,413,11,13,1,1,0.625,0.234221 } ); +cells.push_back( {11301122,433,11,13,2,1,0.625,0.184658 } ); +cells.push_back( {11401112,414,11,14,1,1,0.675,0.234221 } ); +cells.push_back( {11401122,434,11,14,2,1,0.675,0.184658 } ); +cells.push_back( {11501112,415,11,15,1,1,0.725,0.234221 } ); +cells.push_back( {11501122,435,11,15,2,1,0.725,0.184658 } ); +cells.push_back( {11601112,416,11,16,1,1,0.775,0.234221 } ); +cells.push_back( {11601122,436,11,16,2,1,0.775,0.184658 } ); +cells.push_back( {11701112,417,11,17,1,1,0.825,0.234221 } ); +cells.push_back( {11701122,437,11,17,2,1,0.825,0.184658 } ); +cells.push_back( {11801112,418,11,18,1,1,0.875,0.234221 } ); +cells.push_back( {11801122,438,11,18,2,1,0.875,0.184658 } ); +cells.push_back( {11901112,419,11,19,1,1,0.925,0.234221 } ); +cells.push_back( {11901122,439,11,19,2,1,0.925,0.184658 } ); +cells.push_back( {12001112,420,11,20,1,1,0.967,0.234221 } ); +cells.push_back( {12001122,440,11,20,2,1,0.967,0.184658 } ); +cells.push_back( {10101211,441,12,1,1,2,0.02675,0.129501 } ); +cells.push_back( {10101221,461,12,1,2,2,0.02675,0.0799383 } ); +cells.push_back( {10201211,442,12,2,1,2,0.075,0.129501 } ); +cells.push_back( {10201221,462,12,2,2,2,0.075,0.0799383 } ); +cells.push_back( {10301211,443,12,3,1,2,0.125,0.129501 } ); +cells.push_back( {10301221,463,12,3,2,2,0.125,0.0799383 } ); +cells.push_back( {10401211,444,12,4,1,2,0.175,0.129501 } ); +cells.push_back( {10401221,464,12,4,2,2,0.175,0.0799383 } ); +cells.push_back( {10501211,445,12,5,1,2,0.225,0.129501 } ); +cells.push_back( {10501221,465,12,5,2,2,0.225,0.0799383 } ); +cells.push_back( {10601211,446,12,6,1,2,0.275,0.129501 } ); +cells.push_back( {10601221,466,12,6,2,2,0.275,0.0799383 } ); +cells.push_back( {10701211,447,12,7,1,2,0.325,0.129501 } ); +cells.push_back( {10701221,467,12,7,2,2,0.325,0.0799383 } ); +cells.push_back( {10801211,448,12,8,1,2,0.375,0.129501 } ); +cells.push_back( {10801221,468,12,8,2,2,0.375,0.0799383 } ); +cells.push_back( {10901211,449,12,9,1,2,0.425,0.129501 } ); +cells.push_back( {10901221,469,12,9,2,2,0.425,0.0799383 } ); +cells.push_back( {11001211,450,12,10,1,2,0.475,0.129501 } ); +cells.push_back( {11001221,470,12,10,2,2,0.475,0.0799383 } ); +cells.push_back( {11101211,451,12,11,1,2,0.525,0.129501 } ); +cells.push_back( {11101221,471,12,11,2,2,0.525,0.0799383 } ); +cells.push_back( {11201211,452,12,12,1,2,0.575,0.129501 } ); +cells.push_back( {11201221,472,12,12,2,2,0.575,0.0799383 } ); +cells.push_back( {11301211,453,12,13,1,2,0.625,0.129501 } ); +cells.push_back( {11301221,473,12,13,2,2,0.625,0.0799383 } ); +cells.push_back( {11401211,454,12,14,1,2,0.675,0.129501 } ); +cells.push_back( {11401221,474,12,14,2,2,0.675,0.0799383 } ); +cells.push_back( {11501211,455,12,15,1,2,0.725,0.129501 } ); +cells.push_back( {11501221,475,12,15,2,2,0.725,0.0799383 } ); +cells.push_back( {11601211,456,12,16,1,2,0.775,0.129501 } ); +cells.push_back( {11601221,476,12,16,2,2,0.775,0.0799383 } ); +cells.push_back( {11701211,457,12,17,1,2,0.825,0.129501 } ); +cells.push_back( {11701221,477,12,17,2,2,0.825,0.0799383 } ); +cells.push_back( {11801211,458,12,18,1,2,0.875,0.129501 } ); +cells.push_back( {11801221,478,12,18,2,2,0.875,0.0799383 } ); +cells.push_back( {11901211,459,12,19,1,2,0.925,0.129501 } ); +cells.push_back( {11901221,479,12,19,2,2,0.925,0.0799383 } ); +cells.push_back( {12001211,460,12,20,1,2,0.967,0.129501 } ); +cells.push_back( {12001221,480,12,20,2,2,0.967,0.0799383 } ); +cells.push_back( {10101212,441,12,1,1,1,0.02675,0.129501 } ); +cells.push_back( {10101222,461,12,1,2,1,0.02675,0.0799383 } ); +cells.push_back( {10201212,442,12,2,1,1,0.075,0.129501 } ); +cells.push_back( {10201222,462,12,2,2,1,0.075,0.0799383 } ); +cells.push_back( {10301212,443,12,3,1,1,0.125,0.129501 } ); +cells.push_back( {10301222,463,12,3,2,1,0.125,0.0799383 } ); +cells.push_back( {10401212,444,12,4,1,1,0.175,0.129501 } ); +cells.push_back( {10401222,464,12,4,2,1,0.175,0.0799383 } ); +cells.push_back( {10501212,445,12,5,1,1,0.225,0.129501 } ); +cells.push_back( {10501222,465,12,5,2,1,0.225,0.0799383 } ); +cells.push_back( {10601212,446,12,6,1,1,0.275,0.129501 } ); +cells.push_back( {10601222,466,12,6,2,1,0.275,0.0799383 } ); +cells.push_back( {10701212,447,12,7,1,1,0.325,0.129501 } ); +cells.push_back( {10701222,467,12,7,2,1,0.325,0.0799383 } ); +cells.push_back( {10801212,448,12,8,1,1,0.375,0.129501 } ); +cells.push_back( {10801222,468,12,8,2,1,0.375,0.0799383 } ); +cells.push_back( {10901212,449,12,9,1,1,0.425,0.129501 } ); +cells.push_back( {10901222,469,12,9,2,1,0.425,0.0799383 } ); +cells.push_back( {11001212,450,12,10,1,1,0.475,0.129501 } ); +cells.push_back( {11001222,470,12,10,2,1,0.475,0.0799383 } ); +cells.push_back( {11101212,451,12,11,1,1,0.525,0.129501 } ); +cells.push_back( {11101222,471,12,11,2,1,0.525,0.0799383 } ); +cells.push_back( {11201212,452,12,12,1,1,0.575,0.129501 } ); +cells.push_back( {11201222,472,12,12,2,1,0.575,0.0799383 } ); +cells.push_back( {11301212,453,12,13,1,1,0.625,0.129501 } ); +cells.push_back( {11301222,473,12,13,2,1,0.625,0.0799383 } ); +cells.push_back( {11401212,454,12,14,1,1,0.675,0.129501 } ); +cells.push_back( {11401222,474,12,14,2,1,0.675,0.0799383 } ); +cells.push_back( {11501212,455,12,15,1,1,0.725,0.129501 } ); +cells.push_back( {11501222,475,12,15,2,1,0.725,0.0799383 } ); +cells.push_back( {11601212,456,12,16,1,1,0.775,0.129501 } ); +cells.push_back( {11601222,476,12,16,2,1,0.775,0.0799383 } ); +cells.push_back( {11701212,457,12,17,1,1,0.825,0.129501 } ); +cells.push_back( {11701222,477,12,17,2,1,0.825,0.0799383 } ); +cells.push_back( {11801212,458,12,18,1,1,0.875,0.129501 } ); +cells.push_back( {11801222,478,12,18,2,1,0.875,0.0799383 } ); +cells.push_back( {11901212,459,12,19,1,1,0.925,0.129501 } ); +cells.push_back( {11901222,479,12,19,2,1,0.925,0.0799383 } ); +cells.push_back( {12001212,460,12,20,1,1,0.967,0.129501 } ); +cells.push_back( {12001222,480,12,20,2,1,0.967,0.0799383 } ); +cells.push_back( {10101311,481,13,1,1,2,0.02675,0.0247814 } ); +cells.push_back( {10101321,501,13,1,2,2,0.02675,-0.0247814 } ); +cells.push_back( {10201311,482,13,2,1,2,0.075,0.0247814 } ); +cells.push_back( {10201321,502,13,2,2,2,0.075,-0.0247814 } ); +cells.push_back( {10301311,483,13,3,1,2,0.125,0.0247814 } ); +cells.push_back( {10301321,503,13,3,2,2,0.125,-0.0247814 } ); +cells.push_back( {10401311,484,13,4,1,2,0.175,0.0247814 } ); +cells.push_back( {10401321,504,13,4,2,2,0.175,-0.0247814 } ); +cells.push_back( {10501311,485,13,5,1,2,0.225,0.0247814 } ); +cells.push_back( {10501321,505,13,5,2,2,0.225,-0.0247814 } ); +cells.push_back( {10601311,486,13,6,1,2,0.275,0.0247814 } ); +cells.push_back( {10601321,506,13,6,2,2,0.275,-0.0247814 } ); +cells.push_back( {10701311,487,13,7,1,2,0.325,0.0247814 } ); +cells.push_back( {10701321,507,13,7,2,2,0.325,-0.0247814 } ); +cells.push_back( {10801311,488,13,8,1,2,0.375,0.0247814 } ); +cells.push_back( {10801321,508,13,8,2,2,0.375,-0.0247814 } ); +cells.push_back( {10901311,489,13,9,1,2,0.425,0.0247814 } ); +cells.push_back( {10901321,509,13,9,2,2,0.425,-0.0247814 } ); +cells.push_back( {11001311,490,13,10,1,2,0.475,0.0247814 } ); +cells.push_back( {11001321,510,13,10,2,2,0.475,-0.0247814 } ); +cells.push_back( {11101311,491,13,11,1,2,0.525,0.0247814 } ); +cells.push_back( {11101321,511,13,11,2,2,0.525,-0.0247814 } ); +cells.push_back( {11201311,492,13,12,1,2,0.575,0.0247814 } ); +cells.push_back( {11201321,512,13,12,2,2,0.575,-0.0247814 } ); +cells.push_back( {11301311,493,13,13,1,2,0.625,0.0247814 } ); +cells.push_back( {11301321,513,13,13,2,2,0.625,-0.0247814 } ); +cells.push_back( {11401311,494,13,14,1,2,0.675,0.0247814 } ); +cells.push_back( {11401321,514,13,14,2,2,0.675,-0.0247814 } ); +cells.push_back( {11501311,495,13,15,1,2,0.725,0.0247814 } ); +cells.push_back( {11501321,515,13,15,2,2,0.725,-0.0247814 } ); +cells.push_back( {11601311,496,13,16,1,2,0.775,0.0247814 } ); +cells.push_back( {11601321,516,13,16,2,2,0.775,-0.0247814 } ); +cells.push_back( {11701311,497,13,17,1,2,0.825,0.0247814 } ); +cells.push_back( {11701321,517,13,17,2,2,0.825,-0.0247814 } ); +cells.push_back( {11801311,498,13,18,1,2,0.875,0.0247814 } ); +cells.push_back( {11801321,518,13,18,2,2,0.875,-0.0247814 } ); +cells.push_back( {11901311,499,13,19,1,2,0.925,0.0247814 } ); +cells.push_back( {11901321,519,13,19,2,2,0.925,-0.0247814 } ); +cells.push_back( {12001311,500,13,20,1,2,0.967,0.0247814 } ); +cells.push_back( {12001321,520,13,20,2,2,0.967,-0.0247814 } ); +cells.push_back( {10101312,481,13,1,1,1,0.02675,0.0247814 } ); +cells.push_back( {10101322,501,13,1,2,1,0.02675,-0.0247814 } ); +cells.push_back( {10201312,482,13,2,1,1,0.075,0.0247814 } ); +cells.push_back( {10201322,502,13,2,2,1,0.075,-0.0247814 } ); +cells.push_back( {10301312,483,13,3,1,1,0.125,0.0247814 } ); +cells.push_back( {10301322,503,13,3,2,1,0.125,-0.0247814 } ); +cells.push_back( {10401312,484,13,4,1,1,0.175,0.0247814 } ); +cells.push_back( {10401322,504,13,4,2,1,0.175,-0.0247814 } ); +cells.push_back( {10501312,485,13,5,1,1,0.225,0.0247814 } ); +cells.push_back( {10501322,505,13,5,2,1,0.225,-0.0247814 } ); +cells.push_back( {10601312,486,13,6,1,1,0.275,0.0247814 } ); +cells.push_back( {10601322,506,13,6,2,1,0.275,-0.0247814 } ); +cells.push_back( {10701312,487,13,7,1,1,0.325,0.0247814 } ); +cells.push_back( {10701322,507,13,7,2,1,0.325,-0.0247814 } ); +cells.push_back( {10801312,488,13,8,1,1,0.375,0.0247814 } ); +cells.push_back( {10801322,508,13,8,2,1,0.375,-0.0247814 } ); +cells.push_back( {10901312,489,13,9,1,1,0.425,0.0247814 } ); +cells.push_back( {10901322,509,13,9,2,1,0.425,-0.0247814 } ); +cells.push_back( {11001312,490,13,10,1,1,0.475,0.0247814 } ); +cells.push_back( {11001322,510,13,10,2,1,0.475,-0.0247814 } ); +cells.push_back( {11101312,491,13,11,1,1,0.525,0.0247814 } ); +cells.push_back( {11101322,511,13,11,2,1,0.525,-0.0247814 } ); +cells.push_back( {11201312,492,13,12,1,1,0.575,0.0247814 } ); +cells.push_back( {11201322,512,13,12,2,1,0.575,-0.0247814 } ); +cells.push_back( {11301312,493,13,13,1,1,0.625,0.0247814 } ); +cells.push_back( {11301322,513,13,13,2,1,0.625,-0.0247814 } ); +cells.push_back( {11401312,494,13,14,1,1,0.675,0.0247814 } ); +cells.push_back( {11401322,514,13,14,2,1,0.675,-0.0247814 } ); +cells.push_back( {11501312,495,13,15,1,1,0.725,0.0247814 } ); +cells.push_back( {11501322,515,13,15,2,1,0.725,-0.0247814 } ); +cells.push_back( {11601312,496,13,16,1,1,0.775,0.0247814 } ); +cells.push_back( {11601322,516,13,16,2,1,0.775,-0.0247814 } ); +cells.push_back( {11701312,497,13,17,1,1,0.825,0.0247814 } ); +cells.push_back( {11701322,517,13,17,2,1,0.825,-0.0247814 } ); +cells.push_back( {11801312,498,13,18,1,1,0.875,0.0247814 } ); +cells.push_back( {11801322,518,13,18,2,1,0.875,-0.0247814 } ); +cells.push_back( {11901312,499,13,19,1,1,0.925,0.0247814 } ); +cells.push_back( {11901322,519,13,19,2,1,0.925,-0.0247814 } ); +cells.push_back( {12001312,500,13,20,1,1,0.967,0.0247814 } ); +cells.push_back( {12001322,520,13,20,2,1,0.967,-0.0247814 } ); +cells.push_back( {10101411,521,14,1,1,2,0.02675,-0.0799383 } ); +cells.push_back( {10101421,541,14,1,2,2,0.02675,-0.129501 } ); +cells.push_back( {10201411,522,14,2,1,2,0.075,-0.0799383 } ); +cells.push_back( {10201421,542,14,2,2,2,0.075,-0.129501 } ); +cells.push_back( {10301411,523,14,3,1,2,0.125,-0.0799383 } ); +cells.push_back( {10301421,543,14,3,2,2,0.125,-0.129501 } ); +cells.push_back( {10401411,524,14,4,1,2,0.175,-0.0799383 } ); +cells.push_back( {10401421,544,14,4,2,2,0.175,-0.129501 } ); +cells.push_back( {10501411,525,14,5,1,2,0.225,-0.0799383 } ); +cells.push_back( {10501421,545,14,5,2,2,0.225,-0.129501 } ); +cells.push_back( {10601411,526,14,6,1,2,0.275,-0.0799383 } ); +cells.push_back( {10601421,546,14,6,2,2,0.275,-0.129501 } ); +cells.push_back( {10701411,527,14,7,1,2,0.325,-0.0799383 } ); +cells.push_back( {10701421,547,14,7,2,2,0.325,-0.129501 } ); +cells.push_back( {10801411,528,14,8,1,2,0.375,-0.0799383 } ); +cells.push_back( {10801421,548,14,8,2,2,0.375,-0.129501 } ); +cells.push_back( {10901411,529,14,9,1,2,0.425,-0.0799383 } ); +cells.push_back( {10901421,549,14,9,2,2,0.425,-0.129501 } ); +cells.push_back( {11001411,530,14,10,1,2,0.475,-0.0799383 } ); +cells.push_back( {11001421,550,14,10,2,2,0.475,-0.129501 } ); +cells.push_back( {11101411,531,14,11,1,2,0.525,-0.0799383 } ); +cells.push_back( {11101421,551,14,11,2,2,0.525,-0.129501 } ); +cells.push_back( {11201411,532,14,12,1,2,0.575,-0.0799383 } ); +cells.push_back( {11201421,552,14,12,2,2,0.575,-0.129501 } ); +cells.push_back( {11301411,533,14,13,1,2,0.625,-0.0799383 } ); +cells.push_back( {11301421,553,14,13,2,2,0.625,-0.129501 } ); +cells.push_back( {11401411,534,14,14,1,2,0.675,-0.0799383 } ); +cells.push_back( {11401421,554,14,14,2,2,0.675,-0.129501 } ); +cells.push_back( {11501411,535,14,15,1,2,0.725,-0.0799383 } ); +cells.push_back( {11501421,555,14,15,2,2,0.725,-0.129501 } ); +cells.push_back( {11601411,536,14,16,1,2,0.775,-0.0799383 } ); +cells.push_back( {11601421,556,14,16,2,2,0.775,-0.129501 } ); +cells.push_back( {11701411,537,14,17,1,2,0.825,-0.0799383 } ); +cells.push_back( {11701421,557,14,17,2,2,0.825,-0.129501 } ); +cells.push_back( {11801411,538,14,18,1,2,0.875,-0.0799383 } ); +cells.push_back( {11801421,558,14,18,2,2,0.875,-0.129501 } ); +cells.push_back( {11901411,539,14,19,1,2,0.925,-0.0799383 } ); +cells.push_back( {11901421,559,14,19,2,2,0.925,-0.129501 } ); +cells.push_back( {12001411,540,14,20,1,2,0.967,-0.0799383 } ); +cells.push_back( {12001421,560,14,20,2,2,0.967,-0.129501 } ); +cells.push_back( {10101412,521,14,1,1,1,0.02675,-0.0799383 } ); +cells.push_back( {10101422,541,14,1,2,1,0.02675,-0.129501 } ); +cells.push_back( {10201412,522,14,2,1,1,0.075,-0.0799383 } ); +cells.push_back( {10201422,542,14,2,2,1,0.075,-0.129501 } ); +cells.push_back( {10301412,523,14,3,1,1,0.125,-0.0799383 } ); +cells.push_back( {10301422,543,14,3,2,1,0.125,-0.129501 } ); +cells.push_back( {10401412,524,14,4,1,1,0.175,-0.0799383 } ); +cells.push_back( {10401422,544,14,4,2,1,0.175,-0.129501 } ); +cells.push_back( {10501412,525,14,5,1,1,0.225,-0.0799383 } ); +cells.push_back( {10501422,545,14,5,2,1,0.225,-0.129501 } ); +cells.push_back( {10601412,526,14,6,1,1,0.275,-0.0799383 } ); +cells.push_back( {10601422,546,14,6,2,1,0.275,-0.129501 } ); +cells.push_back( {10701412,527,14,7,1,1,0.325,-0.0799383 } ); +cells.push_back( {10701422,547,14,7,2,1,0.325,-0.129501 } ); +cells.push_back( {10801412,528,14,8,1,1,0.375,-0.0799383 } ); +cells.push_back( {10801422,548,14,8,2,1,0.375,-0.129501 } ); +cells.push_back( {10901412,529,14,9,1,1,0.425,-0.0799383 } ); +cells.push_back( {10901422,549,14,9,2,1,0.425,-0.129501 } ); +cells.push_back( {11001412,530,14,10,1,1,0.475,-0.0799383 } ); +cells.push_back( {11001422,550,14,10,2,1,0.475,-0.129501 } ); +cells.push_back( {11101412,531,14,11,1,1,0.525,-0.0799383 } ); +cells.push_back( {11101422,551,14,11,2,1,0.525,-0.129501 } ); +cells.push_back( {11201412,532,14,12,1,1,0.575,-0.0799383 } ); +cells.push_back( {11201422,552,14,12,2,1,0.575,-0.129501 } ); +cells.push_back( {11301412,533,14,13,1,1,0.625,-0.0799383 } ); +cells.push_back( {11301422,553,14,13,2,1,0.625,-0.129501 } ); +cells.push_back( {11401412,534,14,14,1,1,0.675,-0.0799383 } ); +cells.push_back( {11401422,554,14,14,2,1,0.675,-0.129501 } ); +cells.push_back( {11501412,535,14,15,1,1,0.725,-0.0799383 } ); +cells.push_back( {11501422,555,14,15,2,1,0.725,-0.129501 } ); +cells.push_back( {11601412,536,14,16,1,1,0.775,-0.0799383 } ); +cells.push_back( {11601422,556,14,16,2,1,0.775,-0.129501 } ); +cells.push_back( {11701412,537,14,17,1,1,0.825,-0.0799383 } ); +cells.push_back( {11701422,557,14,17,2,1,0.825,-0.129501 } ); +cells.push_back( {11801412,538,14,18,1,1,0.875,-0.0799383 } ); +cells.push_back( {11801422,558,14,18,2,1,0.875,-0.129501 } ); +cells.push_back( {11901412,539,14,19,1,1,0.925,-0.0799383 } ); +cells.push_back( {11901422,559,14,19,2,1,0.925,-0.129501 } ); +cells.push_back( {12001412,540,14,20,1,1,0.967,-0.0799383 } ); +cells.push_back( {12001422,560,14,20,2,1,0.967,-0.129501 } ); +cells.push_back( {10101511,561,15,1,1,2,0.02675,-0.184658 } ); +cells.push_back( {10101521,581,15,1,2,2,0.02675,-0.234221 } ); +cells.push_back( {10201511,562,15,2,1,2,0.075,-0.184658 } ); +cells.push_back( {10201521,582,15,2,2,2,0.075,-0.234221 } ); +cells.push_back( {10301511,563,15,3,1,2,0.125,-0.184658 } ); +cells.push_back( {10301521,583,15,3,2,2,0.125,-0.234221 } ); +cells.push_back( {10401511,564,15,4,1,2,0.175,-0.184658 } ); +cells.push_back( {10401521,584,15,4,2,2,0.175,-0.234221 } ); +cells.push_back( {10501511,565,15,5,1,2,0.225,-0.184658 } ); +cells.push_back( {10501521,585,15,5,2,2,0.225,-0.234221 } ); +cells.push_back( {10601511,566,15,6,1,2,0.275,-0.184658 } ); +cells.push_back( {10601521,586,15,6,2,2,0.275,-0.234221 } ); +cells.push_back( {10701511,567,15,7,1,2,0.325,-0.184658 } ); +cells.push_back( {10701521,587,15,7,2,2,0.325,-0.234221 } ); +cells.push_back( {10801511,568,15,8,1,2,0.375,-0.184658 } ); +cells.push_back( {10801521,588,15,8,2,2,0.375,-0.234221 } ); +cells.push_back( {10901511,569,15,9,1,2,0.425,-0.184658 } ); +cells.push_back( {10901521,589,15,9,2,2,0.425,-0.234221 } ); +cells.push_back( {11001511,570,15,10,1,2,0.475,-0.184658 } ); +cells.push_back( {11001521,590,15,10,2,2,0.475,-0.234221 } ); +cells.push_back( {11101511,571,15,11,1,2,0.525,-0.184658 } ); +cells.push_back( {11101521,591,15,11,2,2,0.525,-0.234221 } ); +cells.push_back( {11201511,572,15,12,1,2,0.575,-0.184658 } ); +cells.push_back( {11201521,592,15,12,2,2,0.575,-0.234221 } ); +cells.push_back( {11301511,573,15,13,1,2,0.625,-0.184658 } ); +cells.push_back( {11301521,593,15,13,2,2,0.625,-0.234221 } ); +cells.push_back( {11401511,574,15,14,1,2,0.675,-0.184658 } ); +cells.push_back( {11401521,594,15,14,2,2,0.675,-0.234221 } ); +cells.push_back( {11501511,575,15,15,1,2,0.725,-0.184658 } ); +cells.push_back( {11501521,595,15,15,2,2,0.725,-0.234221 } ); +cells.push_back( {11601511,576,15,16,1,2,0.775,-0.184658 } ); +cells.push_back( {11601521,596,15,16,2,2,0.775,-0.234221 } ); +cells.push_back( {11701511,577,15,17,1,2,0.825,-0.184658 } ); +cells.push_back( {11701521,597,15,17,2,2,0.825,-0.234221 } ); +cells.push_back( {11801511,578,15,18,1,2,0.875,-0.184658 } ); +cells.push_back( {11801521,598,15,18,2,2,0.875,-0.234221 } ); +cells.push_back( {11901511,579,15,19,1,2,0.925,-0.184658 } ); +cells.push_back( {11901521,599,15,19,2,2,0.925,-0.234221 } ); +cells.push_back( {12001511,580,15,20,1,2,0.967,-0.184658 } ); +cells.push_back( {12001521,600,15,20,2,2,0.967,-0.234221 } ); +cells.push_back( {10101512,561,15,1,1,1,0.02675,-0.184658 } ); +cells.push_back( {10101522,581,15,1,2,1,0.02675,-0.234221 } ); +cells.push_back( {10201512,562,15,2,1,1,0.075,-0.184658 } ); +cells.push_back( {10201522,582,15,2,2,1,0.075,-0.234221 } ); +cells.push_back( {10301512,563,15,3,1,1,0.125,-0.184658 } ); +cells.push_back( {10301522,583,15,3,2,1,0.125,-0.234221 } ); +cells.push_back( {10401512,564,15,4,1,1,0.175,-0.184658 } ); +cells.push_back( {10401522,584,15,4,2,1,0.175,-0.234221 } ); +cells.push_back( {10501512,565,15,5,1,1,0.225,-0.184658 } ); +cells.push_back( {10501522,585,15,5,2,1,0.225,-0.234221 } ); +cells.push_back( {10601512,566,15,6,1,1,0.275,-0.184658 } ); +cells.push_back( {10601522,586,15,6,2,1,0.275,-0.234221 } ); +cells.push_back( {10701512,567,15,7,1,1,0.325,-0.184658 } ); +cells.push_back( {10701522,587,15,7,2,1,0.325,-0.234221 } ); +cells.push_back( {10801512,568,15,8,1,1,0.375,-0.184658 } ); +cells.push_back( {10801522,588,15,8,2,1,0.375,-0.234221 } ); +cells.push_back( {10901512,569,15,9,1,1,0.425,-0.184658 } ); +cells.push_back( {10901522,589,15,9,2,1,0.425,-0.234221 } ); +cells.push_back( {11001512,570,15,10,1,1,0.475,-0.184658 } ); +cells.push_back( {11001522,590,15,10,2,1,0.475,-0.234221 } ); +cells.push_back( {11101512,571,15,11,1,1,0.525,-0.184658 } ); +cells.push_back( {11101522,591,15,11,2,1,0.525,-0.234221 } ); +cells.push_back( {11201512,572,15,12,1,1,0.575,-0.184658 } ); +cells.push_back( {11201522,592,15,12,2,1,0.575,-0.234221 } ); +cells.push_back( {11301512,573,15,13,1,1,0.625,-0.184658 } ); +cells.push_back( {11301522,593,15,13,2,1,0.625,-0.234221 } ); +cells.push_back( {11401512,574,15,14,1,1,0.675,-0.184658 } ); +cells.push_back( {11401522,594,15,14,2,1,0.675,-0.234221 } ); +cells.push_back( {11501512,575,15,15,1,1,0.725,-0.184658 } ); +cells.push_back( {11501522,595,15,15,2,1,0.725,-0.234221 } ); +cells.push_back( {11601512,576,15,16,1,1,0.775,-0.184658 } ); +cells.push_back( {11601522,596,15,16,2,1,0.775,-0.234221 } ); +cells.push_back( {11701512,577,15,17,1,1,0.825,-0.184658 } ); +cells.push_back( {11701522,597,15,17,2,1,0.825,-0.234221 } ); +cells.push_back( {11801512,578,15,18,1,1,0.875,-0.184658 } ); +cells.push_back( {11801522,598,15,18,2,1,0.875,-0.234221 } ); +cells.push_back( {11901512,579,15,19,1,1,0.925,-0.184658 } ); +cells.push_back( {11901522,599,15,19,2,1,0.925,-0.234221 } ); +cells.push_back( {12001512,580,15,20,1,1,0.967,-0.184658 } ); +cells.push_back( {12001522,600,15,20,2,1,0.967,-0.234221 } ); +cells.push_back( {10101611,601,16,1,1,2,0.02675,-0.289378 } ); +cells.push_back( {10101621,621,16,1,2,2,0.02675,-0.338941 } ); +cells.push_back( {10201611,602,16,2,1,2,0.075,-0.289378 } ); +cells.push_back( {10201621,622,16,2,2,2,0.075,-0.338941 } ); +cells.push_back( {10301611,603,16,3,1,2,0.125,-0.289378 } ); +cells.push_back( {10301621,623,16,3,2,2,0.125,-0.338941 } ); +cells.push_back( {10401611,604,16,4,1,2,0.175,-0.289378 } ); +cells.push_back( {10401621,624,16,4,2,2,0.175,-0.338941 } ); +cells.push_back( {10501611,605,16,5,1,2,0.225,-0.289378 } ); +cells.push_back( {10501621,625,16,5,2,2,0.225,-0.338941 } ); +cells.push_back( {10601611,606,16,6,1,2,0.275,-0.289378 } ); +cells.push_back( {10601621,626,16,6,2,2,0.275,-0.338941 } ); +cells.push_back( {10701611,607,16,7,1,2,0.325,-0.289378 } ); +cells.push_back( {10701621,627,16,7,2,2,0.325,-0.338941 } ); +cells.push_back( {10801611,608,16,8,1,2,0.375,-0.289378 } ); +cells.push_back( {10801621,628,16,8,2,2,0.375,-0.338941 } ); +cells.push_back( {10901611,609,16,9,1,2,0.425,-0.289378 } ); +cells.push_back( {10901621,629,16,9,2,2,0.425,-0.338941 } ); +cells.push_back( {11001611,610,16,10,1,2,0.475,-0.289378 } ); +cells.push_back( {11001621,630,16,10,2,2,0.475,-0.338941 } ); +cells.push_back( {11101611,611,16,11,1,2,0.525,-0.289378 } ); +cells.push_back( {11101621,631,16,11,2,2,0.525,-0.338941 } ); +cells.push_back( {11201611,612,16,12,1,2,0.575,-0.289378 } ); +cells.push_back( {11201621,632,16,12,2,2,0.575,-0.338941 } ); +cells.push_back( {11301611,613,16,13,1,2,0.625,-0.289378 } ); +cells.push_back( {11301621,633,16,13,2,2,0.625,-0.338941 } ); +cells.push_back( {11401611,614,16,14,1,2,0.675,-0.289378 } ); +cells.push_back( {11401621,634,16,14,2,2,0.675,-0.338941 } ); +cells.push_back( {11501611,615,16,15,1,2,0.725,-0.289378 } ); +cells.push_back( {11501621,635,16,15,2,2,0.725,-0.338941 } ); +cells.push_back( {11601611,616,16,16,1,2,0.775,-0.289378 } ); +cells.push_back( {11601621,636,16,16,2,2,0.775,-0.338941 } ); +cells.push_back( {11701611,617,16,17,1,2,0.825,-0.289378 } ); +cells.push_back( {11701621,637,16,17,2,2,0.825,-0.338941 } ); +cells.push_back( {11801611,618,16,18,1,2,0.875,-0.289378 } ); +cells.push_back( {11801621,638,16,18,2,2,0.875,-0.338941 } ); +cells.push_back( {11901611,619,16,19,1,2,0.925,-0.289378 } ); +cells.push_back( {11901621,639,16,19,2,2,0.925,-0.338941 } ); +cells.push_back( {12001611,620,16,20,1,2,0.967,-0.289378 } ); +cells.push_back( {12001621,640,16,20,2,2,0.967,-0.338941 } ); +cells.push_back( {10101612,601,16,1,1,1,0.02675,-0.289378 } ); +cells.push_back( {10101622,621,16,1,2,1,0.02675,-0.338941 } ); +cells.push_back( {10201612,602,16,2,1,1,0.075,-0.289378 } ); +cells.push_back( {10201622,622,16,2,2,1,0.075,-0.338941 } ); +cells.push_back( {10301612,603,16,3,1,1,0.125,-0.289378 } ); +cells.push_back( {10301622,623,16,3,2,1,0.125,-0.338941 } ); +cells.push_back( {10401612,604,16,4,1,1,0.175,-0.289378 } ); +cells.push_back( {10401622,624,16,4,2,1,0.175,-0.338941 } ); +cells.push_back( {10501612,605,16,5,1,1,0.225,-0.289378 } ); +cells.push_back( {10501622,625,16,5,2,1,0.225,-0.338941 } ); +cells.push_back( {10601612,606,16,6,1,1,0.275,-0.289378 } ); +cells.push_back( {10601622,626,16,6,2,1,0.275,-0.338941 } ); +cells.push_back( {10701612,607,16,7,1,1,0.325,-0.289378 } ); +cells.push_back( {10701622,627,16,7,2,1,0.325,-0.338941 } ); +cells.push_back( {10801612,608,16,8,1,1,0.375,-0.289378 } ); +cells.push_back( {10801622,628,16,8,2,1,0.375,-0.338941 } ); +cells.push_back( {10901612,609,16,9,1,1,0.425,-0.289378 } ); +cells.push_back( {10901622,629,16,9,2,1,0.425,-0.338941 } ); +cells.push_back( {11001612,610,16,10,1,1,0.475,-0.289378 } ); +cells.push_back( {11001622,630,16,10,2,1,0.475,-0.338941 } ); +cells.push_back( {11101612,611,16,11,1,1,0.525,-0.289378 } ); +cells.push_back( {11101622,631,16,11,2,1,0.525,-0.338941 } ); +cells.push_back( {11201612,612,16,12,1,1,0.575,-0.289378 } ); +cells.push_back( {11201622,632,16,12,2,1,0.575,-0.338941 } ); +cells.push_back( {11301612,613,16,13,1,1,0.625,-0.289378 } ); +cells.push_back( {11301622,633,16,13,2,1,0.625,-0.338941 } ); +cells.push_back( {11401612,614,16,14,1,1,0.675,-0.289378 } ); +cells.push_back( {11401622,634,16,14,2,1,0.675,-0.338941 } ); +cells.push_back( {11501612,615,16,15,1,1,0.725,-0.289378 } ); +cells.push_back( {11501622,635,16,15,2,1,0.725,-0.338941 } ); +cells.push_back( {11601612,616,16,16,1,1,0.775,-0.289378 } ); +cells.push_back( {11601622,636,16,16,2,1,0.775,-0.338941 } ); +cells.push_back( {11701612,617,16,17,1,1,0.825,-0.289378 } ); +cells.push_back( {11701622,637,16,17,2,1,0.825,-0.338941 } ); +cells.push_back( {11801612,618,16,18,1,1,0.875,-0.289378 } ); +cells.push_back( {11801622,638,16,18,2,1,0.875,-0.338941 } ); +cells.push_back( {11901612,619,16,19,1,1,0.925,-0.289378 } ); +cells.push_back( {11901622,639,16,19,2,1,0.925,-0.338941 } ); +cells.push_back( {12001612,620,16,20,1,1,0.967,-0.289378 } ); +cells.push_back( {12001622,640,16,20,2,1,0.967,-0.338941 } ); +cells.push_back( {10101711,641,17,1,1,2,0.02675,-0.394098 } ); +cells.push_back( {10101721,661,17,1,2,2,0.02675,-0.44366 } ); +cells.push_back( {10201711,642,17,2,1,2,0.075,-0.394098 } ); +cells.push_back( {10201721,662,17,2,2,2,0.075,-0.44366 } ); +cells.push_back( {10301711,643,17,3,1,2,0.125,-0.394098 } ); +cells.push_back( {10301721,663,17,3,2,2,0.125,-0.44366 } ); +cells.push_back( {10401711,644,17,4,1,2,0.175,-0.394098 } ); +cells.push_back( {10401721,664,17,4,2,2,0.175,-0.44366 } ); +cells.push_back( {10501711,645,17,5,1,2,0.225,-0.394098 } ); +cells.push_back( {10501721,665,17,5,2,2,0.225,-0.44366 } ); +cells.push_back( {10601711,646,17,6,1,2,0.275,-0.394098 } ); +cells.push_back( {10601721,666,17,6,2,2,0.275,-0.44366 } ); +cells.push_back( {10701711,647,17,7,1,2,0.325,-0.394098 } ); +cells.push_back( {10701721,667,17,7,2,2,0.325,-0.44366 } ); +cells.push_back( {10801711,648,17,8,1,2,0.375,-0.394098 } ); +cells.push_back( {10801721,668,17,8,2,2,0.375,-0.44366 } ); +cells.push_back( {10901711,649,17,9,1,2,0.425,-0.394098 } ); +cells.push_back( {10901721,669,17,9,2,2,0.425,-0.44366 } ); +cells.push_back( {11001711,650,17,10,1,2,0.475,-0.394098 } ); +cells.push_back( {11001721,670,17,10,2,2,0.475,-0.44366 } ); +cells.push_back( {11101711,651,17,11,1,2,0.525,-0.394098 } ); +cells.push_back( {11101721,671,17,11,2,2,0.525,-0.44366 } ); +cells.push_back( {11201711,652,17,12,1,2,0.575,-0.394098 } ); +cells.push_back( {11201721,672,17,12,2,2,0.575,-0.44366 } ); +cells.push_back( {11301711,653,17,13,1,2,0.625,-0.394098 } ); +cells.push_back( {11301721,673,17,13,2,2,0.625,-0.44366 } ); +cells.push_back( {11401711,654,17,14,1,2,0.675,-0.394098 } ); +cells.push_back( {11401721,674,17,14,2,2,0.675,-0.44366 } ); +cells.push_back( {11501711,655,17,15,1,2,0.725,-0.394098 } ); +cells.push_back( {11501721,675,17,15,2,2,0.725,-0.44366 } ); +cells.push_back( {11601711,656,17,16,1,2,0.775,-0.394098 } ); +cells.push_back( {11601721,676,17,16,2,2,0.775,-0.44366 } ); +cells.push_back( {11701711,657,17,17,1,2,0.825,-0.394098 } ); +cells.push_back( {11701721,677,17,17,2,2,0.825,-0.44366 } ); +cells.push_back( {11801711,658,17,18,1,2,0.875,-0.394098 } ); +cells.push_back( {11801721,678,17,18,2,2,0.875,-0.44366 } ); +cells.push_back( {11901711,659,17,19,1,2,0.925,-0.394098 } ); +cells.push_back( {11901721,679,17,19,2,2,0.925,-0.44366 } ); +cells.push_back( {12001711,660,17,20,1,2,0.967,-0.394098 } ); +cells.push_back( {12001721,680,17,20,2,2,0.967,-0.44366 } ); +cells.push_back( {10101712,641,17,1,1,1,0.02675,-0.394098 } ); +cells.push_back( {10101722,661,17,1,2,1,0.02675,-0.44366 } ); +cells.push_back( {10201712,642,17,2,1,1,0.075,-0.394098 } ); +cells.push_back( {10201722,662,17,2,2,1,0.075,-0.44366 } ); +cells.push_back( {10301712,643,17,3,1,1,0.125,-0.394098 } ); +cells.push_back( {10301722,663,17,3,2,1,0.125,-0.44366 } ); +cells.push_back( {10401712,644,17,4,1,1,0.175,-0.394098 } ); +cells.push_back( {10401722,664,17,4,2,1,0.175,-0.44366 } ); +cells.push_back( {10501712,645,17,5,1,1,0.225,-0.394098 } ); +cells.push_back( {10501722,665,17,5,2,1,0.225,-0.44366 } ); +cells.push_back( {10601712,646,17,6,1,1,0.275,-0.394098 } ); +cells.push_back( {10601722,666,17,6,2,1,0.275,-0.44366 } ); +cells.push_back( {10701712,647,17,7,1,1,0.325,-0.394098 } ); +cells.push_back( {10701722,667,17,7,2,1,0.325,-0.44366 } ); +cells.push_back( {10801712,648,17,8,1,1,0.375,-0.394098 } ); +cells.push_back( {10801722,668,17,8,2,1,0.375,-0.44366 } ); +cells.push_back( {10901712,649,17,9,1,1,0.425,-0.394098 } ); +cells.push_back( {10901722,669,17,9,2,1,0.425,-0.44366 } ); +cells.push_back( {11001712,650,17,10,1,1,0.475,-0.394098 } ); +cells.push_back( {11001722,670,17,10,2,1,0.475,-0.44366 } ); +cells.push_back( {11101712,651,17,11,1,1,0.525,-0.394098 } ); +cells.push_back( {11101722,671,17,11,2,1,0.525,-0.44366 } ); +cells.push_back( {11201712,652,17,12,1,1,0.575,-0.394098 } ); +cells.push_back( {11201722,672,17,12,2,1,0.575,-0.44366 } ); +cells.push_back( {11301712,653,17,13,1,1,0.625,-0.394098 } ); +cells.push_back( {11301722,673,17,13,2,1,0.625,-0.44366 } ); +cells.push_back( {11401712,654,17,14,1,1,0.675,-0.394098 } ); +cells.push_back( {11401722,674,17,14,2,1,0.675,-0.44366 } ); +cells.push_back( {11501712,655,17,15,1,1,0.725,-0.394098 } ); +cells.push_back( {11501722,675,17,15,2,1,0.725,-0.44366 } ); +cells.push_back( {11601712,656,17,16,1,1,0.775,-0.394098 } ); +cells.push_back( {11601722,676,17,16,2,1,0.775,-0.44366 } ); +cells.push_back( {11701712,657,17,17,1,1,0.825,-0.394098 } ); +cells.push_back( {11701722,677,17,17,2,1,0.825,-0.44366 } ); +cells.push_back( {11801712,658,17,18,1,1,0.875,-0.394098 } ); +cells.push_back( {11801722,678,17,18,2,1,0.875,-0.44366 } ); +cells.push_back( {11901712,659,17,19,1,1,0.925,-0.394098 } ); +cells.push_back( {11901722,679,17,19,2,1,0.925,-0.44366 } ); +cells.push_back( {12001712,660,17,20,1,1,0.967,-0.394098 } ); +cells.push_back( {12001722,680,17,20,2,1,0.967,-0.44366 } ); +cells.push_back( {10101811,681,18,1,1,2,0.02675,-0.498817 } ); +cells.push_back( {10101821,701,18,1,2,2,0.02675,-0.54838 } ); +cells.push_back( {10201811,682,18,2,1,2,0.075,-0.498817 } ); +cells.push_back( {10201821,702,18,2,2,2,0.075,-0.54838 } ); +cells.push_back( {10301811,683,18,3,1,2,0.125,-0.498817 } ); +cells.push_back( {10301821,703,18,3,2,2,0.125,-0.54838 } ); +cells.push_back( {10401811,684,18,4,1,2,0.175,-0.498817 } ); +cells.push_back( {10401821,704,18,4,2,2,0.175,-0.54838 } ); +cells.push_back( {10501811,685,18,5,1,2,0.225,-0.498817 } ); +cells.push_back( {10501821,705,18,5,2,2,0.225,-0.54838 } ); +cells.push_back( {10601811,686,18,6,1,2,0.275,-0.498817 } ); +cells.push_back( {10601821,706,18,6,2,2,0.275,-0.54838 } ); +cells.push_back( {10701811,687,18,7,1,2,0.325,-0.498817 } ); +cells.push_back( {10701821,707,18,7,2,2,0.325,-0.54838 } ); +cells.push_back( {10801811,688,18,8,1,2,0.375,-0.498817 } ); +cells.push_back( {10801821,708,18,8,2,2,0.375,-0.54838 } ); +cells.push_back( {10901811,689,18,9,1,2,0.425,-0.498817 } ); +cells.push_back( {10901821,709,18,9,2,2,0.425,-0.54838 } ); +cells.push_back( {11001811,690,18,10,1,2,0.475,-0.498817 } ); +cells.push_back( {11001821,710,18,10,2,2,0.475,-0.54838 } ); +cells.push_back( {11101811,691,18,11,1,2,0.525,-0.498817 } ); +cells.push_back( {11101821,711,18,11,2,2,0.525,-0.54838 } ); +cells.push_back( {11201811,692,18,12,1,2,0.575,-0.498817 } ); +cells.push_back( {11201821,712,18,12,2,2,0.575,-0.54838 } ); +cells.push_back( {11301811,693,18,13,1,2,0.625,-0.498817 } ); +cells.push_back( {11301821,713,18,13,2,2,0.625,-0.54838 } ); +cells.push_back( {11401811,694,18,14,1,2,0.675,-0.498817 } ); +cells.push_back( {11401821,714,18,14,2,2,0.675,-0.54838 } ); +cells.push_back( {11501811,695,18,15,1,2,0.725,-0.498817 } ); +cells.push_back( {11501821,715,18,15,2,2,0.725,-0.54838 } ); +cells.push_back( {11601811,696,18,16,1,2,0.775,-0.498817 } ); +cells.push_back( {11601821,716,18,16,2,2,0.775,-0.54838 } ); +cells.push_back( {11701811,697,18,17,1,2,0.825,-0.498817 } ); +cells.push_back( {11701821,717,18,17,2,2,0.825,-0.54838 } ); +cells.push_back( {11801811,698,18,18,1,2,0.875,-0.498817 } ); +cells.push_back( {11801821,718,18,18,2,2,0.875,-0.54838 } ); +cells.push_back( {11901811,699,18,19,1,2,0.925,-0.498817 } ); +cells.push_back( {11901821,719,18,19,2,2,0.925,-0.54838 } ); +cells.push_back( {12001811,700,18,20,1,2,0.967,-0.498817 } ); +cells.push_back( {12001821,720,18,20,2,2,0.967,-0.54838 } ); +cells.push_back( {10101812,681,18,1,1,1,0.02675,-0.498817 } ); +cells.push_back( {10101822,701,18,1,2,1,0.02675,-0.54838 } ); +cells.push_back( {10201812,682,18,2,1,1,0.075,-0.498817 } ); +cells.push_back( {10201822,702,18,2,2,1,0.075,-0.54838 } ); +cells.push_back( {10301812,683,18,3,1,1,0.125,-0.498817 } ); +cells.push_back( {10301822,703,18,3,2,1,0.125,-0.54838 } ); +cells.push_back( {10401812,684,18,4,1,1,0.175,-0.498817 } ); +cells.push_back( {10401822,704,18,4,2,1,0.175,-0.54838 } ); +cells.push_back( {10501812,685,18,5,1,1,0.225,-0.498817 } ); +cells.push_back( {10501822,705,18,5,2,1,0.225,-0.54838 } ); +cells.push_back( {10601812,686,18,6,1,1,0.275,-0.498817 } ); +cells.push_back( {10601822,706,18,6,2,1,0.275,-0.54838 } ); +cells.push_back( {10701812,687,18,7,1,1,0.325,-0.498817 } ); +cells.push_back( {10701822,707,18,7,2,1,0.325,-0.54838 } ); +cells.push_back( {10801812,688,18,8,1,1,0.375,-0.498817 } ); +cells.push_back( {10801822,708,18,8,2,1,0.375,-0.54838 } ); +cells.push_back( {10901812,689,18,9,1,1,0.425,-0.498817 } ); +cells.push_back( {10901822,709,18,9,2,1,0.425,-0.54838 } ); +cells.push_back( {11001812,690,18,10,1,1,0.475,-0.498817 } ); +cells.push_back( {11001822,710,18,10,2,1,0.475,-0.54838 } ); +cells.push_back( {11101812,691,18,11,1,1,0.525,-0.498817 } ); +cells.push_back( {11101822,711,18,11,2,1,0.525,-0.54838 } ); +cells.push_back( {11201812,692,18,12,1,1,0.575,-0.498817 } ); +cells.push_back( {11201822,712,18,12,2,1,0.575,-0.54838 } ); +cells.push_back( {11301812,693,18,13,1,1,0.625,-0.498817 } ); +cells.push_back( {11301822,713,18,13,2,1,0.625,-0.54838 } ); +cells.push_back( {11401812,694,18,14,1,1,0.675,-0.498817 } ); +cells.push_back( {11401822,714,18,14,2,1,0.675,-0.54838 } ); +cells.push_back( {11501812,695,18,15,1,1,0.725,-0.498817 } ); +cells.push_back( {11501822,715,18,15,2,1,0.725,-0.54838 } ); +cells.push_back( {11601812,696,18,16,1,1,0.775,-0.498817 } ); +cells.push_back( {11601822,716,18,16,2,1,0.775,-0.54838 } ); +cells.push_back( {11701812,697,18,17,1,1,0.825,-0.498817 } ); +cells.push_back( {11701822,717,18,17,2,1,0.825,-0.54838 } ); +cells.push_back( {11801812,698,18,18,1,1,0.875,-0.498817 } ); +cells.push_back( {11801822,718,18,18,2,1,0.875,-0.54838 } ); +cells.push_back( {11901812,699,18,19,1,1,0.925,-0.498817 } ); +cells.push_back( {11901822,719,18,19,2,1,0.925,-0.54838 } ); +cells.push_back( {12001812,700,18,20,1,1,0.967,-0.498817 } ); +cells.push_back( {12001822,720,18,20,2,1,0.967,-0.54838 } ); +cells.push_back( {10101911,721,19,1,1,2,0.02675,-0.603537 } ); +cells.push_back( {10101921,741,19,1,2,2,0.02675,-0.6531 } ); +cells.push_back( {10201911,722,19,2,1,2,0.075,-0.603537 } ); +cells.push_back( {10201921,742,19,2,2,2,0.075,-0.6531 } ); +cells.push_back( {10301911,723,19,3,1,2,0.125,-0.603537 } ); +cells.push_back( {10301921,743,19,3,2,2,0.125,-0.6531 } ); +cells.push_back( {10401911,724,19,4,1,2,0.175,-0.603537 } ); +cells.push_back( {10401921,744,19,4,2,2,0.175,-0.6531 } ); +cells.push_back( {10501911,725,19,5,1,2,0.225,-0.603537 } ); +cells.push_back( {10501921,745,19,5,2,2,0.225,-0.6531 } ); +cells.push_back( {10601911,726,19,6,1,2,0.275,-0.603537 } ); +cells.push_back( {10601921,746,19,6,2,2,0.275,-0.6531 } ); +cells.push_back( {10701911,727,19,7,1,2,0.325,-0.603537 } ); +cells.push_back( {10701921,747,19,7,2,2,0.325,-0.6531 } ); +cells.push_back( {10801911,728,19,8,1,2,0.375,-0.603537 } ); +cells.push_back( {10801921,748,19,8,2,2,0.375,-0.6531 } ); +cells.push_back( {10901911,729,19,9,1,2,0.425,-0.603537 } ); +cells.push_back( {10901921,749,19,9,2,2,0.425,-0.6531 } ); +cells.push_back( {11001911,730,19,10,1,2,0.475,-0.603537 } ); +cells.push_back( {11001921,750,19,10,2,2,0.475,-0.6531 } ); +cells.push_back( {11101911,731,19,11,1,2,0.525,-0.603537 } ); +cells.push_back( {11101921,751,19,11,2,2,0.525,-0.6531 } ); +cells.push_back( {11201911,732,19,12,1,2,0.575,-0.603537 } ); +cells.push_back( {11201921,752,19,12,2,2,0.575,-0.6531 } ); +cells.push_back( {11301911,733,19,13,1,2,0.625,-0.603537 } ); +cells.push_back( {11301921,753,19,13,2,2,0.625,-0.6531 } ); +cells.push_back( {11401911,734,19,14,1,2,0.675,-0.603537 } ); +cells.push_back( {11401921,754,19,14,2,2,0.675,-0.6531 } ); +cells.push_back( {11501911,735,19,15,1,2,0.725,-0.603537 } ); +cells.push_back( {11501921,755,19,15,2,2,0.725,-0.6531 } ); +cells.push_back( {11601911,736,19,16,1,2,0.775,-0.603537 } ); +cells.push_back( {11601921,756,19,16,2,2,0.775,-0.6531 } ); +cells.push_back( {11701911,737,19,17,1,2,0.825,-0.603537 } ); +cells.push_back( {11701921,757,19,17,2,2,0.825,-0.6531 } ); +cells.push_back( {11801911,738,19,18,1,2,0.875,-0.603537 } ); +cells.push_back( {11801921,758,19,18,2,2,0.875,-0.6531 } ); +cells.push_back( {11901911,739,19,19,1,2,0.925,-0.603537 } ); +cells.push_back( {11901921,759,19,19,2,2,0.925,-0.6531 } ); +cells.push_back( {12001911,740,19,20,1,2,0.967,-0.603537 } ); +cells.push_back( {12001921,760,19,20,2,2,0.967,-0.6531 } ); +cells.push_back( {10101912,721,19,1,1,1,0.02675,-0.603537 } ); +cells.push_back( {10101922,741,19,1,2,1,0.02675,-0.6531 } ); +cells.push_back( {10201912,722,19,2,1,1,0.075,-0.603537 } ); +cells.push_back( {10201922,742,19,2,2,1,0.075,-0.6531 } ); +cells.push_back( {10301912,723,19,3,1,1,0.125,-0.603537 } ); +cells.push_back( {10301922,743,19,3,2,1,0.125,-0.6531 } ); +cells.push_back( {10401912,724,19,4,1,1,0.175,-0.603537 } ); +cells.push_back( {10401922,744,19,4,2,1,0.175,-0.6531 } ); +cells.push_back( {10501912,725,19,5,1,1,0.225,-0.603537 } ); +cells.push_back( {10501922,745,19,5,2,1,0.225,-0.6531 } ); +cells.push_back( {10601912,726,19,6,1,1,0.275,-0.603537 } ); +cells.push_back( {10601922,746,19,6,2,1,0.275,-0.6531 } ); +cells.push_back( {10701912,727,19,7,1,1,0.325,-0.603537 } ); +cells.push_back( {10701922,747,19,7,2,1,0.325,-0.6531 } ); +cells.push_back( {10801912,728,19,8,1,1,0.375,-0.603537 } ); +cells.push_back( {10801922,748,19,8,2,1,0.375,-0.6531 } ); +cells.push_back( {10901912,729,19,9,1,1,0.425,-0.603537 } ); +cells.push_back( {10901922,749,19,9,2,1,0.425,-0.6531 } ); +cells.push_back( {11001912,730,19,10,1,1,0.475,-0.603537 } ); +cells.push_back( {11001922,750,19,10,2,1,0.475,-0.6531 } ); +cells.push_back( {11101912,731,19,11,1,1,0.525,-0.603537 } ); +cells.push_back( {11101922,751,19,11,2,1,0.525,-0.6531 } ); +cells.push_back( {11201912,732,19,12,1,1,0.575,-0.603537 } ); +cells.push_back( {11201922,752,19,12,2,1,0.575,-0.6531 } ); +cells.push_back( {11301912,733,19,13,1,1,0.625,-0.603537 } ); +cells.push_back( {11301922,753,19,13,2,1,0.625,-0.6531 } ); +cells.push_back( {11401912,734,19,14,1,1,0.675,-0.603537 } ); +cells.push_back( {11401922,754,19,14,2,1,0.675,-0.6531 } ); +cells.push_back( {11501912,735,19,15,1,1,0.725,-0.603537 } ); +cells.push_back( {11501922,755,19,15,2,1,0.725,-0.6531 } ); +cells.push_back( {11601912,736,19,16,1,1,0.775,-0.603537 } ); +cells.push_back( {11601922,756,19,16,2,1,0.775,-0.6531 } ); +cells.push_back( {11701912,737,19,17,1,1,0.825,-0.603537 } ); +cells.push_back( {11701922,757,19,17,2,1,0.825,-0.6531 } ); +cells.push_back( {11801912,738,19,18,1,1,0.875,-0.603537 } ); +cells.push_back( {11801922,758,19,18,2,1,0.875,-0.6531 } ); +cells.push_back( {11901912,739,19,19,1,1,0.925,-0.603537 } ); +cells.push_back( {11901922,759,19,19,2,1,0.925,-0.6531 } ); +cells.push_back( {12001912,740,19,20,1,1,0.967,-0.603537 } ); +cells.push_back( {12001922,760,19,20,2,1,0.967,-0.6531 } ); +cells.push_back( {10102011,761,20,1,1,2,0.02675,-0.708257 } ); +cells.push_back( {10102021,781,20,1,2,2,0.02675,-0.75782 } ); +cells.push_back( {10202011,762,20,2,1,2,0.075,-0.708257 } ); +cells.push_back( {10202021,782,20,2,2,2,0.075,-0.75782 } ); +cells.push_back( {10302011,763,20,3,1,2,0.125,-0.708257 } ); +cells.push_back( {10302021,783,20,3,2,2,0.125,-0.75782 } ); +cells.push_back( {10402011,764,20,4,1,2,0.175,-0.708257 } ); +cells.push_back( {10402021,784,20,4,2,2,0.175,-0.75782 } ); +cells.push_back( {10502011,765,20,5,1,2,0.225,-0.708257 } ); +cells.push_back( {10502021,785,20,5,2,2,0.225,-0.75782 } ); +cells.push_back( {10602011,766,20,6,1,2,0.275,-0.708257 } ); +cells.push_back( {10602021,786,20,6,2,2,0.275,-0.75782 } ); +cells.push_back( {10702011,767,20,7,1,2,0.325,-0.708257 } ); +cells.push_back( {10702021,787,20,7,2,2,0.325,-0.75782 } ); +cells.push_back( {10802011,768,20,8,1,2,0.375,-0.708257 } ); +cells.push_back( {10802021,788,20,8,2,2,0.375,-0.75782 } ); +cells.push_back( {10902011,769,20,9,1,2,0.425,-0.708257 } ); +cells.push_back( {10902021,789,20,9,2,2,0.425,-0.75782 } ); +cells.push_back( {11002011,770,20,10,1,2,0.475,-0.708257 } ); +cells.push_back( {11002021,790,20,10,2,2,0.475,-0.75782 } ); +cells.push_back( {11102011,771,20,11,1,2,0.525,-0.708257 } ); +cells.push_back( {11102021,791,20,11,2,2,0.525,-0.75782 } ); +cells.push_back( {11202011,772,20,12,1,2,0.575,-0.708257 } ); +cells.push_back( {11202021,792,20,12,2,2,0.575,-0.75782 } ); +cells.push_back( {11302011,773,20,13,1,2,0.625,-0.708257 } ); +cells.push_back( {11302021,793,20,13,2,2,0.625,-0.75782 } ); +cells.push_back( {11402011,774,20,14,1,2,0.675,-0.708257 } ); +cells.push_back( {11402021,794,20,14,2,2,0.675,-0.75782 } ); +cells.push_back( {11502011,775,20,15,1,2,0.725,-0.708257 } ); +cells.push_back( {11502021,795,20,15,2,2,0.725,-0.75782 } ); +cells.push_back( {11602011,776,20,16,1,2,0.775,-0.708257 } ); +cells.push_back( {11602021,796,20,16,2,2,0.775,-0.75782 } ); +cells.push_back( {11702011,777,20,17,1,2,0.825,-0.708257 } ); +cells.push_back( {11702021,797,20,17,2,2,0.825,-0.75782 } ); +cells.push_back( {11802011,778,20,18,1,2,0.875,-0.708257 } ); +cells.push_back( {11802021,798,20,18,2,2,0.875,-0.75782 } ); +cells.push_back( {11902011,779,20,19,1,2,0.925,-0.708257 } ); +cells.push_back( {11902021,799,20,19,2,2,0.925,-0.75782 } ); +cells.push_back( {12002011,780,20,20,1,2,0.967,-0.708257 } ); +cells.push_back( {12002021,800,20,20,2,2,0.967,-0.75782 } ); +cells.push_back( {10102012,761,20,1,1,1,0.02675,-0.708257 } ); +cells.push_back( {10102022,781,20,1,2,1,0.02675,-0.75782 } ); +cells.push_back( {10202012,762,20,2,1,1,0.075,-0.708257 } ); +cells.push_back( {10202022,782,20,2,2,1,0.075,-0.75782 } ); +cells.push_back( {10302012,763,20,3,1,1,0.125,-0.708257 } ); +cells.push_back( {10302022,783,20,3,2,1,0.125,-0.75782 } ); +cells.push_back( {10402012,764,20,4,1,1,0.175,-0.708257 } ); +cells.push_back( {10402022,784,20,4,2,1,0.175,-0.75782 } ); +cells.push_back( {10502012,765,20,5,1,1,0.225,-0.708257 } ); +cells.push_back( {10502022,785,20,5,2,1,0.225,-0.75782 } ); +cells.push_back( {10602012,766,20,6,1,1,0.275,-0.708257 } ); +cells.push_back( {10602022,786,20,6,2,1,0.275,-0.75782 } ); +cells.push_back( {10702012,767,20,7,1,1,0.325,-0.708257 } ); +cells.push_back( {10702022,787,20,7,2,1,0.325,-0.75782 } ); +cells.push_back( {10802012,768,20,8,1,1,0.375,-0.708257 } ); +cells.push_back( {10802022,788,20,8,2,1,0.375,-0.75782 } ); +cells.push_back( {10902012,769,20,9,1,1,0.425,-0.708257 } ); +cells.push_back( {10902022,789,20,9,2,1,0.425,-0.75782 } ); +cells.push_back( {11002012,770,20,10,1,1,0.475,-0.708257 } ); +cells.push_back( {11002022,790,20,10,2,1,0.475,-0.75782 } ); +cells.push_back( {11102012,771,20,11,1,1,0.525,-0.708257 } ); +cells.push_back( {11102022,791,20,11,2,1,0.525,-0.75782 } ); +cells.push_back( {11202012,772,20,12,1,1,0.575,-0.708257 } ); +cells.push_back( {11202022,792,20,12,2,1,0.575,-0.75782 } ); +cells.push_back( {11302012,773,20,13,1,1,0.625,-0.708257 } ); +cells.push_back( {11302022,793,20,13,2,1,0.625,-0.75782 } ); +cells.push_back( {11402012,774,20,14,1,1,0.675,-0.708257 } ); +cells.push_back( {11402022,794,20,14,2,1,0.675,-0.75782 } ); +cells.push_back( {11502012,775,20,15,1,1,0.725,-0.708257 } ); +cells.push_back( {11502022,795,20,15,2,1,0.725,-0.75782 } ); +cells.push_back( {11602012,776,20,16,1,1,0.775,-0.708257 } ); +cells.push_back( {11602022,796,20,16,2,1,0.775,-0.75782 } ); +cells.push_back( {11702012,777,20,17,1,1,0.825,-0.708257 } ); +cells.push_back( {11702022,797,20,17,2,1,0.825,-0.75782 } ); +cells.push_back( {11802012,778,20,18,1,1,0.875,-0.708257 } ); +cells.push_back( {11802022,798,20,18,2,1,0.875,-0.75782 } ); +cells.push_back( {11902012,779,20,19,1,1,0.925,-0.708257 } ); +cells.push_back( {11902022,799,20,19,2,1,0.925,-0.75782 } ); +cells.push_back( {12002012,780,20,20,1,1,0.967,-0.708257 } ); +cells.push_back( {12002022,800,20,20,2,1,0.967,-0.75782 } ); +cells.push_back( {10102111,801,21,1,1,2,0.02675,-0.812977 } ); +cells.push_back( {10102121,821,21,1,2,2,0.02675,-0.862539 } ); +cells.push_back( {10202111,802,21,2,1,2,0.075,-0.812977 } ); +cells.push_back( {10202121,822,21,2,2,2,0.075,-0.862539 } ); +cells.push_back( {10302111,803,21,3,1,2,0.125,-0.812977 } ); +cells.push_back( {10302121,823,21,3,2,2,0.125,-0.862539 } ); +cells.push_back( {10402111,804,21,4,1,2,0.175,-0.812977 } ); +cells.push_back( {10402121,824,21,4,2,2,0.175,-0.862539 } ); +cells.push_back( {10502111,805,21,5,1,2,0.225,-0.812977 } ); +cells.push_back( {10502121,825,21,5,2,2,0.225,-0.862539 } ); +cells.push_back( {10602111,806,21,6,1,2,0.275,-0.812977 } ); +cells.push_back( {10602121,826,21,6,2,2,0.275,-0.862539 } ); +cells.push_back( {10702111,807,21,7,1,2,0.325,-0.812977 } ); +cells.push_back( {10702121,827,21,7,2,2,0.325,-0.862539 } ); +cells.push_back( {10802111,808,21,8,1,2,0.375,-0.812977 } ); +cells.push_back( {10802121,828,21,8,2,2,0.375,-0.862539 } ); +cells.push_back( {10902111,809,21,9,1,2,0.425,-0.812977 } ); +cells.push_back( {10902121,829,21,9,2,2,0.425,-0.862539 } ); +cells.push_back( {11002111,810,21,10,1,2,0.475,-0.812977 } ); +cells.push_back( {11002121,830,21,10,2,2,0.475,-0.862539 } ); +cells.push_back( {11102111,811,21,11,1,2,0.525,-0.812977 } ); +cells.push_back( {11102121,831,21,11,2,2,0.525,-0.862539 } ); +cells.push_back( {11202111,812,21,12,1,2,0.575,-0.812977 } ); +cells.push_back( {11202121,832,21,12,2,2,0.575,-0.862539 } ); +cells.push_back( {11302111,813,21,13,1,2,0.625,-0.812977 } ); +cells.push_back( {11302121,833,21,13,2,2,0.625,-0.862539 } ); +cells.push_back( {11402111,814,21,14,1,2,0.675,-0.812977 } ); +cells.push_back( {11402121,834,21,14,2,2,0.675,-0.862539 } ); +cells.push_back( {11502111,815,21,15,1,2,0.725,-0.812977 } ); +cells.push_back( {11502121,835,21,15,2,2,0.725,-0.862539 } ); +cells.push_back( {11602111,816,21,16,1,2,0.775,-0.812977 } ); +cells.push_back( {11602121,836,21,16,2,2,0.775,-0.862539 } ); +cells.push_back( {11702111,817,21,17,1,2,0.825,-0.812977 } ); +cells.push_back( {11702121,837,21,17,2,2,0.825,-0.862539 } ); +cells.push_back( {11802111,818,21,18,1,2,0.875,-0.812977 } ); +cells.push_back( {11802121,838,21,18,2,2,0.875,-0.862539 } ); +cells.push_back( {11902111,819,21,19,1,2,0.925,-0.812977 } ); +cells.push_back( {11902121,839,21,19,2,2,0.925,-0.862539 } ); +cells.push_back( {12002111,820,21,20,1,2,0.967,-0.812977 } ); +cells.push_back( {12002121,840,21,20,2,2,0.967,-0.862539 } ); +cells.push_back( {10102112,801,21,1,1,1,0.02675,-0.812977 } ); +cells.push_back( {10102122,821,21,1,2,1,0.02675,-0.862539 } ); +cells.push_back( {10202112,802,21,2,1,1,0.075,-0.812977 } ); +cells.push_back( {10202122,822,21,2,2,1,0.075,-0.862539 } ); +cells.push_back( {10302112,803,21,3,1,1,0.125,-0.812977 } ); +cells.push_back( {10302122,823,21,3,2,1,0.125,-0.862539 } ); +cells.push_back( {10402112,804,21,4,1,1,0.175,-0.812977 } ); +cells.push_back( {10402122,824,21,4,2,1,0.175,-0.862539 } ); +cells.push_back( {10502112,805,21,5,1,1,0.225,-0.812977 } ); +cells.push_back( {10502122,825,21,5,2,1,0.225,-0.862539 } ); +cells.push_back( {10602112,806,21,6,1,1,0.275,-0.812977 } ); +cells.push_back( {10602122,826,21,6,2,1,0.275,-0.862539 } ); +cells.push_back( {10702112,807,21,7,1,1,0.325,-0.812977 } ); +cells.push_back( {10702122,827,21,7,2,1,0.325,-0.862539 } ); +cells.push_back( {10802112,808,21,8,1,1,0.375,-0.812977 } ); +cells.push_back( {10802122,828,21,8,2,1,0.375,-0.862539 } ); +cells.push_back( {10902112,809,21,9,1,1,0.425,-0.812977 } ); +cells.push_back( {10902122,829,21,9,2,1,0.425,-0.862539 } ); +cells.push_back( {11002112,810,21,10,1,1,0.475,-0.812977 } ); +cells.push_back( {11002122,830,21,10,2,1,0.475,-0.862539 } ); +cells.push_back( {11102112,811,21,11,1,1,0.525,-0.812977 } ); +cells.push_back( {11102122,831,21,11,2,1,0.525,-0.862539 } ); +cells.push_back( {11202112,812,21,12,1,1,0.575,-0.812977 } ); +cells.push_back( {11202122,832,21,12,2,1,0.575,-0.862539 } ); +cells.push_back( {11302112,813,21,13,1,1,0.625,-0.812977 } ); +cells.push_back( {11302122,833,21,13,2,1,0.625,-0.862539 } ); +cells.push_back( {11402112,814,21,14,1,1,0.675,-0.812977 } ); +cells.push_back( {11402122,834,21,14,2,1,0.675,-0.862539 } ); +cells.push_back( {11502112,815,21,15,1,1,0.725,-0.812977 } ); +cells.push_back( {11502122,835,21,15,2,1,0.725,-0.862539 } ); +cells.push_back( {11602112,816,21,16,1,1,0.775,-0.812977 } ); +cells.push_back( {11602122,836,21,16,2,1,0.775,-0.862539 } ); +cells.push_back( {11702112,817,21,17,1,1,0.825,-0.812977 } ); +cells.push_back( {11702122,837,21,17,2,1,0.825,-0.862539 } ); +cells.push_back( {11802112,818,21,18,1,1,0.875,-0.812977 } ); +cells.push_back( {11802122,838,21,18,2,1,0.875,-0.862539 } ); +cells.push_back( {11902112,819,21,19,1,1,0.925,-0.812977 } ); +cells.push_back( {11902122,839,21,19,2,1,0.925,-0.862539 } ); +cells.push_back( {12002112,820,21,20,1,1,0.967,-0.812977 } ); +cells.push_back( {12002122,840,21,20,2,1,0.967,-0.862539 } ); +cells.push_back( {10102211,841,22,1,1,2,0.02675,-0.917696 } ); +cells.push_back( {10102221,861,22,1,2,2,0.02675,-0.967259 } ); +cells.push_back( {10202211,842,22,2,1,2,0.075,-0.917696 } ); +cells.push_back( {10202221,862,22,2,2,2,0.075,-0.967259 } ); +cells.push_back( {10302211,843,22,3,1,2,0.125,-0.917696 } ); +cells.push_back( {10302221,863,22,3,2,2,0.125,-0.967259 } ); +cells.push_back( {10402211,844,22,4,1,2,0.175,-0.917696 } ); +cells.push_back( {10402221,864,22,4,2,2,0.175,-0.967259 } ); +cells.push_back( {10502211,845,22,5,1,2,0.225,-0.917696 } ); +cells.push_back( {10502221,865,22,5,2,2,0.225,-0.967259 } ); +cells.push_back( {10602211,846,22,6,1,2,0.275,-0.917696 } ); +cells.push_back( {10602221,866,22,6,2,2,0.275,-0.967259 } ); +cells.push_back( {10702211,847,22,7,1,2,0.325,-0.917696 } ); +cells.push_back( {10702221,867,22,7,2,2,0.325,-0.967259 } ); +cells.push_back( {10802211,848,22,8,1,2,0.375,-0.917696 } ); +cells.push_back( {10802221,868,22,8,2,2,0.375,-0.967259 } ); +cells.push_back( {10902211,849,22,9,1,2,0.425,-0.917696 } ); +cells.push_back( {10902221,869,22,9,2,2,0.425,-0.967259 } ); +cells.push_back( {11002211,850,22,10,1,2,0.475,-0.917696 } ); +cells.push_back( {11002221,870,22,10,2,2,0.475,-0.967259 } ); +cells.push_back( {11102211,851,22,11,1,2,0.525,-0.917696 } ); +cells.push_back( {11102221,871,22,11,2,2,0.525,-0.967259 } ); +cells.push_back( {11202211,852,22,12,1,2,0.575,-0.917696 } ); +cells.push_back( {11202221,872,22,12,2,2,0.575,-0.967259 } ); +cells.push_back( {11302211,853,22,13,1,2,0.625,-0.917696 } ); +cells.push_back( {11302221,873,22,13,2,2,0.625,-0.967259 } ); +cells.push_back( {11402211,854,22,14,1,2,0.675,-0.917696 } ); +cells.push_back( {11402221,874,22,14,2,2,0.675,-0.967259 } ); +cells.push_back( {11502211,855,22,15,1,2,0.725,-0.917696 } ); +cells.push_back( {11502221,875,22,15,2,2,0.725,-0.967259 } ); +cells.push_back( {11602211,856,22,16,1,2,0.775,-0.917696 } ); +cells.push_back( {11602221,876,22,16,2,2,0.775,-0.967259 } ); +cells.push_back( {11702211,857,22,17,1,2,0.825,-0.917696 } ); +cells.push_back( {11702221,877,22,17,2,2,0.825,-0.967259 } ); +cells.push_back( {11802211,858,22,18,1,2,0.875,-0.917696 } ); +cells.push_back( {11802221,878,22,18,2,2,0.875,-0.967259 } ); +cells.push_back( {11902211,859,22,19,1,2,0.925,-0.917696 } ); +cells.push_back( {11902221,879,22,19,2,2,0.925,-0.967259 } ); +cells.push_back( {12002211,860,22,20,1,2,0.967,-0.917696 } ); +cells.push_back( {12002221,880,22,20,2,2,0.967,-0.967259 } ); +cells.push_back( {10102212,841,22,1,1,1,0.02675,-0.917696 } ); +cells.push_back( {10102222,861,22,1,2,1,0.02675,-0.967259 } ); +cells.push_back( {10202212,842,22,2,1,1,0.075,-0.917696 } ); +cells.push_back( {10202222,862,22,2,2,1,0.075,-0.967259 } ); +cells.push_back( {10302212,843,22,3,1,1,0.125,-0.917696 } ); +cells.push_back( {10302222,863,22,3,2,1,0.125,-0.967259 } ); +cells.push_back( {10402212,844,22,4,1,1,0.175,-0.917696 } ); +cells.push_back( {10402222,864,22,4,2,1,0.175,-0.967259 } ); +cells.push_back( {10502212,845,22,5,1,1,0.225,-0.917696 } ); +cells.push_back( {10502222,865,22,5,2,1,0.225,-0.967259 } ); +cells.push_back( {10602212,846,22,6,1,1,0.275,-0.917696 } ); +cells.push_back( {10602222,866,22,6,2,1,0.275,-0.967259 } ); +cells.push_back( {10702212,847,22,7,1,1,0.325,-0.917696 } ); +cells.push_back( {10702222,867,22,7,2,1,0.325,-0.967259 } ); +cells.push_back( {10802212,848,22,8,1,1,0.375,-0.917696 } ); +cells.push_back( {10802222,868,22,8,2,1,0.375,-0.967259 } ); +cells.push_back( {10902212,849,22,9,1,1,0.425,-0.917696 } ); +cells.push_back( {10902222,869,22,9,2,1,0.425,-0.967259 } ); +cells.push_back( {11002212,850,22,10,1,1,0.475,-0.917696 } ); +cells.push_back( {11002222,870,22,10,2,1,0.475,-0.967259 } ); +cells.push_back( {11102212,851,22,11,1,1,0.525,-0.917696 } ); +cells.push_back( {11102222,871,22,11,2,1,0.525,-0.967259 } ); +cells.push_back( {11202212,852,22,12,1,1,0.575,-0.917696 } ); +cells.push_back( {11202222,872,22,12,2,1,0.575,-0.967259 } ); +cells.push_back( {11302212,853,22,13,1,1,0.625,-0.917696 } ); +cells.push_back( {11302222,873,22,13,2,1,0.625,-0.967259 } ); +cells.push_back( {11402212,854,22,14,1,1,0.675,-0.917696 } ); +cells.push_back( {11402222,874,22,14,2,1,0.675,-0.967259 } ); +cells.push_back( {11502212,855,22,15,1,1,0.725,-0.917696 } ); +cells.push_back( {11502222,875,22,15,2,1,0.725,-0.967259 } ); +cells.push_back( {11602212,856,22,16,1,1,0.775,-0.917696 } ); +cells.push_back( {11602222,876,22,16,2,1,0.775,-0.967259 } ); +cells.push_back( {11702212,857,22,17,1,1,0.825,-0.917696 } ); +cells.push_back( {11702222,877,22,17,2,1,0.825,-0.967259 } ); +cells.push_back( {11802212,858,22,18,1,1,0.875,-0.917696 } ); +cells.push_back( {11802222,878,22,18,2,1,0.875,-0.967259 } ); +cells.push_back( {11902212,859,22,19,1,1,0.925,-0.917696 } ); +cells.push_back( {11902222,879,22,19,2,1,0.925,-0.967259 } ); +cells.push_back( {12002212,860,22,20,1,1,0.967,-0.917696 } ); +cells.push_back( {12002222,880,22,20,2,1,0.967,-0.967259 } ); +cells.push_back( {10102311,881,23,1,1,2,0.02675,-1.02242 } ); +cells.push_back( {10102321,901,23,1,2,2,0.02675,-1.07198 } ); +cells.push_back( {10202311,882,23,2,1,2,0.075,-1.02242 } ); +cells.push_back( {10202321,902,23,2,2,2,0.075,-1.07198 } ); +cells.push_back( {10302311,883,23,3,1,2,0.125,-1.02242 } ); +cells.push_back( {10302321,903,23,3,2,2,0.125,-1.07198 } ); +cells.push_back( {10402311,884,23,4,1,2,0.175,-1.02242 } ); +cells.push_back( {10402321,904,23,4,2,2,0.175,-1.07198 } ); +cells.push_back( {10502311,885,23,5,1,2,0.225,-1.02242 } ); +cells.push_back( {10502321,905,23,5,2,2,0.225,-1.07198 } ); +cells.push_back( {10602311,886,23,6,1,2,0.275,-1.02242 } ); +cells.push_back( {10602321,906,23,6,2,2,0.275,-1.07198 } ); +cells.push_back( {10702311,887,23,7,1,2,0.325,-1.02242 } ); +cells.push_back( {10702321,907,23,7,2,2,0.325,-1.07198 } ); +cells.push_back( {10802311,888,23,8,1,2,0.375,-1.02242 } ); +cells.push_back( {10802321,908,23,8,2,2,0.375,-1.07198 } ); +cells.push_back( {10902311,889,23,9,1,2,0.425,-1.02242 } ); +cells.push_back( {10902321,909,23,9,2,2,0.425,-1.07198 } ); +cells.push_back( {11002311,890,23,10,1,2,0.475,-1.02242 } ); +cells.push_back( {11002321,910,23,10,2,2,0.475,-1.07198 } ); +cells.push_back( {11102311,891,23,11,1,2,0.525,-1.02242 } ); +cells.push_back( {11102321,911,23,11,2,2,0.525,-1.07198 } ); +cells.push_back( {11202311,892,23,12,1,2,0.575,-1.02242 } ); +cells.push_back( {11202321,912,23,12,2,2,0.575,-1.07198 } ); +cells.push_back( {11302311,893,23,13,1,2,0.625,-1.02242 } ); +cells.push_back( {11302321,913,23,13,2,2,0.625,-1.07198 } ); +cells.push_back( {11402311,894,23,14,1,2,0.675,-1.02242 } ); +cells.push_back( {11402321,914,23,14,2,2,0.675,-1.07198 } ); +cells.push_back( {11502311,895,23,15,1,2,0.725,-1.02242 } ); +cells.push_back( {11502321,915,23,15,2,2,0.725,-1.07198 } ); +cells.push_back( {11602311,896,23,16,1,2,0.775,-1.02242 } ); +cells.push_back( {11602321,916,23,16,2,2,0.775,-1.07198 } ); +cells.push_back( {11702311,897,23,17,1,2,0.825,-1.02242 } ); +cells.push_back( {11702321,917,23,17,2,2,0.825,-1.07198 } ); +cells.push_back( {11802311,898,23,18,1,2,0.875,-1.02242 } ); +cells.push_back( {11802321,918,23,18,2,2,0.875,-1.07198 } ); +cells.push_back( {11902311,899,23,19,1,2,0.925,-1.02242 } ); +cells.push_back( {11902321,919,23,19,2,2,0.925,-1.07198 } ); +cells.push_back( {12002311,900,23,20,1,2,0.967,-1.02242 } ); +cells.push_back( {12002321,920,23,20,2,2,0.967,-1.07198 } ); +cells.push_back( {10102312,881,23,1,1,1,0.02675,-1.02242 } ); +cells.push_back( {10102322,901,23,1,2,1,0.02675,-1.07198 } ); +cells.push_back( {10202312,882,23,2,1,1,0.075,-1.02242 } ); +cells.push_back( {10202322,902,23,2,2,1,0.075,-1.07198 } ); +cells.push_back( {10302312,883,23,3,1,1,0.125,-1.02242 } ); +cells.push_back( {10302322,903,23,3,2,1,0.125,-1.07198 } ); +cells.push_back( {10402312,884,23,4,1,1,0.175,-1.02242 } ); +cells.push_back( {10402322,904,23,4,2,1,0.175,-1.07198 } ); +cells.push_back( {10502312,885,23,5,1,1,0.225,-1.02242 } ); +cells.push_back( {10502322,905,23,5,2,1,0.225,-1.07198 } ); +cells.push_back( {10602312,886,23,6,1,1,0.275,-1.02242 } ); +cells.push_back( {10602322,906,23,6,2,1,0.275,-1.07198 } ); +cells.push_back( {10702312,887,23,7,1,1,0.325,-1.02242 } ); +cells.push_back( {10702322,907,23,7,2,1,0.325,-1.07198 } ); +cells.push_back( {10802312,888,23,8,1,1,0.375,-1.02242 } ); +cells.push_back( {10802322,908,23,8,2,1,0.375,-1.07198 } ); +cells.push_back( {10902312,889,23,9,1,1,0.425,-1.02242 } ); +cells.push_back( {10902322,909,23,9,2,1,0.425,-1.07198 } ); +cells.push_back( {11002312,890,23,10,1,1,0.475,-1.02242 } ); +cells.push_back( {11002322,910,23,10,2,1,0.475,-1.07198 } ); +cells.push_back( {11102312,891,23,11,1,1,0.525,-1.02242 } ); +cells.push_back( {11102322,911,23,11,2,1,0.525,-1.07198 } ); +cells.push_back( {11202312,892,23,12,1,1,0.575,-1.02242 } ); +cells.push_back( {11202322,912,23,12,2,1,0.575,-1.07198 } ); +cells.push_back( {11302312,893,23,13,1,1,0.625,-1.02242 } ); +cells.push_back( {11302322,913,23,13,2,1,0.625,-1.07198 } ); +cells.push_back( {11402312,894,23,14,1,1,0.675,-1.02242 } ); +cells.push_back( {11402322,914,23,14,2,1,0.675,-1.07198 } ); +cells.push_back( {11502312,895,23,15,1,1,0.725,-1.02242 } ); +cells.push_back( {11502322,915,23,15,2,1,0.725,-1.07198 } ); +cells.push_back( {11602312,896,23,16,1,1,0.775,-1.02242 } ); +cells.push_back( {11602322,916,23,16,2,1,0.775,-1.07198 } ); +cells.push_back( {11702312,897,23,17,1,1,0.825,-1.02242 } ); +cells.push_back( {11702322,917,23,17,2,1,0.825,-1.07198 } ); +cells.push_back( {11802312,898,23,18,1,1,0.875,-1.02242 } ); +cells.push_back( {11802322,918,23,18,2,1,0.875,-1.07198 } ); +cells.push_back( {11902312,899,23,19,1,1,0.925,-1.02242 } ); +cells.push_back( {11902322,919,23,19,2,1,0.925,-1.07198 } ); +cells.push_back( {12002312,900,23,20,1,1,0.967,-1.02242 } ); +cells.push_back( {12002322,920,23,20,2,1,0.967,-1.07198 } ); +cells.push_back( {10102411,921,24,1,1,2,0.02675,-1.12714 } ); +cells.push_back( {10102421,941,24,1,2,2,0.02675,-1.1767 } ); +cells.push_back( {10202411,922,24,2,1,2,0.075,-1.12714 } ); +cells.push_back( {10202421,942,24,2,2,2,0.075,-1.1767 } ); +cells.push_back( {10302411,923,24,3,1,2,0.125,-1.12714 } ); +cells.push_back( {10302421,943,24,3,2,2,0.125,-1.1767 } ); +cells.push_back( {10402411,924,24,4,1,2,0.175,-1.12714 } ); +cells.push_back( {10402421,944,24,4,2,2,0.175,-1.1767 } ); +cells.push_back( {10502411,925,24,5,1,2,0.225,-1.12714 } ); +cells.push_back( {10502421,945,24,5,2,2,0.225,-1.1767 } ); +cells.push_back( {10602411,926,24,6,1,2,0.275,-1.12714 } ); +cells.push_back( {10602421,946,24,6,2,2,0.275,-1.1767 } ); +cells.push_back( {10702411,927,24,7,1,2,0.325,-1.12714 } ); +cells.push_back( {10702421,947,24,7,2,2,0.325,-1.1767 } ); +cells.push_back( {10802411,928,24,8,1,2,0.375,-1.12714 } ); +cells.push_back( {10802421,948,24,8,2,2,0.375,-1.1767 } ); +cells.push_back( {10902411,929,24,9,1,2,0.425,-1.12714 } ); +cells.push_back( {10902421,949,24,9,2,2,0.425,-1.1767 } ); +cells.push_back( {11002411,930,24,10,1,2,0.475,-1.12714 } ); +cells.push_back( {11002421,950,24,10,2,2,0.475,-1.1767 } ); +cells.push_back( {11102411,931,24,11,1,2,0.525,-1.12714 } ); +cells.push_back( {11102421,951,24,11,2,2,0.525,-1.1767 } ); +cells.push_back( {11202411,932,24,12,1,2,0.575,-1.12714 } ); +cells.push_back( {11202421,952,24,12,2,2,0.575,-1.1767 } ); +cells.push_back( {11302411,933,24,13,1,2,0.625,-1.12714 } ); +cells.push_back( {11302421,953,24,13,2,2,0.625,-1.1767 } ); +cells.push_back( {11402411,934,24,14,1,2,0.675,-1.12714 } ); +cells.push_back( {11402421,954,24,14,2,2,0.675,-1.1767 } ); +cells.push_back( {11502411,935,24,15,1,2,0.725,-1.12714 } ); +cells.push_back( {11502421,955,24,15,2,2,0.725,-1.1767 } ); +cells.push_back( {11602411,936,24,16,1,2,0.775,-1.12714 } ); +cells.push_back( {11602421,956,24,16,2,2,0.775,-1.1767 } ); +cells.push_back( {11702411,937,24,17,1,2,0.825,-1.12714 } ); +cells.push_back( {11702421,957,24,17,2,2,0.825,-1.1767 } ); +cells.push_back( {11802411,938,24,18,1,2,0.875,-1.12714 } ); +cells.push_back( {11802421,958,24,18,2,2,0.875,-1.1767 } ); +cells.push_back( {11902411,939,24,19,1,2,0.925,-1.12714 } ); +cells.push_back( {11902421,959,24,19,2,2,0.925,-1.1767 } ); +cells.push_back( {12002411,940,24,20,1,2,0.967,-1.12714 } ); +cells.push_back( {12002421,960,24,20,2,2,0.967,-1.1767 } ); +cells.push_back( {10102412,921,24,1,1,1,0.02675,-1.12714 } ); +cells.push_back( {10102422,941,24,1,2,1,0.02675,-1.1767 } ); +cells.push_back( {10202412,922,24,2,1,1,0.075,-1.12714 } ); +cells.push_back( {10202422,942,24,2,2,1,0.075,-1.1767 } ); +cells.push_back( {10302412,923,24,3,1,1,0.125,-1.12714 } ); +cells.push_back( {10302422,943,24,3,2,1,0.125,-1.1767 } ); +cells.push_back( {10402412,924,24,4,1,1,0.175,-1.12714 } ); +cells.push_back( {10402422,944,24,4,2,1,0.175,-1.1767 } ); +cells.push_back( {10502412,925,24,5,1,1,0.225,-1.12714 } ); +cells.push_back( {10502422,945,24,5,2,1,0.225,-1.1767 } ); +cells.push_back( {10602412,926,24,6,1,1,0.275,-1.12714 } ); +cells.push_back( {10602422,946,24,6,2,1,0.275,-1.1767 } ); +cells.push_back( {10702412,927,24,7,1,1,0.325,-1.12714 } ); +cells.push_back( {10702422,947,24,7,2,1,0.325,-1.1767 } ); +cells.push_back( {10802412,928,24,8,1,1,0.375,-1.12714 } ); +cells.push_back( {10802422,948,24,8,2,1,0.375,-1.1767 } ); +cells.push_back( {10902412,929,24,9,1,1,0.425,-1.12714 } ); +cells.push_back( {10902422,949,24,9,2,1,0.425,-1.1767 } ); +cells.push_back( {11002412,930,24,10,1,1,0.475,-1.12714 } ); +cells.push_back( {11002422,950,24,10,2,1,0.475,-1.1767 } ); +cells.push_back( {11102412,931,24,11,1,1,0.525,-1.12714 } ); +cells.push_back( {11102422,951,24,11,2,1,0.525,-1.1767 } ); +cells.push_back( {11202412,932,24,12,1,1,0.575,-1.12714 } ); +cells.push_back( {11202422,952,24,12,2,1,0.575,-1.1767 } ); +cells.push_back( {11302412,933,24,13,1,1,0.625,-1.12714 } ); +cells.push_back( {11302422,953,24,13,2,1,0.625,-1.1767 } ); +cells.push_back( {11402412,934,24,14,1,1,0.675,-1.12714 } ); +cells.push_back( {11402422,954,24,14,2,1,0.675,-1.1767 } ); +cells.push_back( {11502412,935,24,15,1,1,0.725,-1.12714 } ); +cells.push_back( {11502422,955,24,15,2,1,0.725,-1.1767 } ); +cells.push_back( {11602412,936,24,16,1,1,0.775,-1.12714 } ); +cells.push_back( {11602422,956,24,16,2,1,0.775,-1.1767 } ); +cells.push_back( {11702412,937,24,17,1,1,0.825,-1.12714 } ); +cells.push_back( {11702422,957,24,17,2,1,0.825,-1.1767 } ); +cells.push_back( {11802412,938,24,18,1,1,0.875,-1.12714 } ); +cells.push_back( {11802422,958,24,18,2,1,0.875,-1.1767 } ); +cells.push_back( {11902412,939,24,19,1,1,0.925,-1.12714 } ); +cells.push_back( {11902422,959,24,19,2,1,0.925,-1.1767 } ); +cells.push_back( {12002412,940,24,20,1,1,0.967,-1.12714 } ); +cells.push_back( {12002422,960,24,20,2,1,0.967,-1.1767 } ); +cells.push_back( {10102511,961,25,1,1,2,0.02675,-1.23186 } ); +cells.push_back( {10102521,981,25,1,2,2,0.02675,-1.28142 } ); +cells.push_back( {10202511,962,25,2,1,2,0.075,-1.23186 } ); +cells.push_back( {10202521,982,25,2,2,2,0.075,-1.28142 } ); +cells.push_back( {10302511,963,25,3,1,2,0.125,-1.23186 } ); +cells.push_back( {10302521,983,25,3,2,2,0.125,-1.28142 } ); +cells.push_back( {10402511,964,25,4,1,2,0.175,-1.23186 } ); +cells.push_back( {10402521,984,25,4,2,2,0.175,-1.28142 } ); +cells.push_back( {10502511,965,25,5,1,2,0.225,-1.23186 } ); +cells.push_back( {10502521,985,25,5,2,2,0.225,-1.28142 } ); +cells.push_back( {10602511,966,25,6,1,2,0.275,-1.23186 } ); +cells.push_back( {10602521,986,25,6,2,2,0.275,-1.28142 } ); +cells.push_back( {10702511,967,25,7,1,2,0.325,-1.23186 } ); +cells.push_back( {10702521,987,25,7,2,2,0.325,-1.28142 } ); +cells.push_back( {10802511,968,25,8,1,2,0.375,-1.23186 } ); +cells.push_back( {10802521,988,25,8,2,2,0.375,-1.28142 } ); +cells.push_back( {10902511,969,25,9,1,2,0.425,-1.23186 } ); +cells.push_back( {10902521,989,25,9,2,2,0.425,-1.28142 } ); +cells.push_back( {11002511,970,25,10,1,2,0.475,-1.23186 } ); +cells.push_back( {11002521,990,25,10,2,2,0.475,-1.28142 } ); +cells.push_back( {11102511,971,25,11,1,2,0.525,-1.23186 } ); +cells.push_back( {11102521,991,25,11,2,2,0.525,-1.28142 } ); +cells.push_back( {11202511,972,25,12,1,2,0.575,-1.23186 } ); +cells.push_back( {11202521,992,25,12,2,2,0.575,-1.28142 } ); +cells.push_back( {11302511,973,25,13,1,2,0.625,-1.23186 } ); +cells.push_back( {11302521,993,25,13,2,2,0.625,-1.28142 } ); +cells.push_back( {11402511,974,25,14,1,2,0.675,-1.23186 } ); +cells.push_back( {11402521,994,25,14,2,2,0.675,-1.28142 } ); +cells.push_back( {11502511,975,25,15,1,2,0.725,-1.23186 } ); +cells.push_back( {11502521,995,25,15,2,2,0.725,-1.28142 } ); +cells.push_back( {11602511,976,25,16,1,2,0.775,-1.23186 } ); +cells.push_back( {11602521,996,25,16,2,2,0.775,-1.28142 } ); +cells.push_back( {11702511,977,25,17,1,2,0.825,-1.23186 } ); +cells.push_back( {11702521,997,25,17,2,2,0.825,-1.28142 } ); +cells.push_back( {11802511,978,25,18,1,2,0.875,-1.23186 } ); +cells.push_back( {11802521,998,25,18,2,2,0.875,-1.28142 } ); +cells.push_back( {11902511,979,25,19,1,2,0.925,-1.23186 } ); +cells.push_back( {11902521,999,25,19,2,2,0.925,-1.28142 } ); +cells.push_back( {12002511,980,25,20,1,2,0.967,-1.23186 } ); +cells.push_back( {12002521,1000,25,20,2,2,0.967,-1.28142 } ); +cells.push_back( {10102512,961,25,1,1,1,0.02675,-1.23186 } ); +cells.push_back( {10102522,981,25,1,2,1,0.02675,-1.28142 } ); +cells.push_back( {10202512,962,25,2,1,1,0.075,-1.23186 } ); +cells.push_back( {10202522,982,25,2,2,1,0.075,-1.28142 } ); +cells.push_back( {10302512,963,25,3,1,1,0.125,-1.23186 } ); +cells.push_back( {10302522,983,25,3,2,1,0.125,-1.28142 } ); +cells.push_back( {10402512,964,25,4,1,1,0.175,-1.23186 } ); +cells.push_back( {10402522,984,25,4,2,1,0.175,-1.28142 } ); +cells.push_back( {10502512,965,25,5,1,1,0.225,-1.23186 } ); +cells.push_back( {10502522,985,25,5,2,1,0.225,-1.28142 } ); +cells.push_back( {10602512,966,25,6,1,1,0.275,-1.23186 } ); +cells.push_back( {10602522,986,25,6,2,1,0.275,-1.28142 } ); +cells.push_back( {10702512,967,25,7,1,1,0.325,-1.23186 } ); +cells.push_back( {10702522,987,25,7,2,1,0.325,-1.28142 } ); +cells.push_back( {10802512,968,25,8,1,1,0.375,-1.23186 } ); +cells.push_back( {10802522,988,25,8,2,1,0.375,-1.28142 } ); +cells.push_back( {10902512,969,25,9,1,1,0.425,-1.23186 } ); +cells.push_back( {10902522,989,25,9,2,1,0.425,-1.28142 } ); +cells.push_back( {11002512,970,25,10,1,1,0.475,-1.23186 } ); +cells.push_back( {11002522,990,25,10,2,1,0.475,-1.28142 } ); +cells.push_back( {11102512,971,25,11,1,1,0.525,-1.23186 } ); +cells.push_back( {11102522,991,25,11,2,1,0.525,-1.28142 } ); +cells.push_back( {11202512,972,25,12,1,1,0.575,-1.23186 } ); +cells.push_back( {11202522,992,25,12,2,1,0.575,-1.28142 } ); +cells.push_back( {11302512,973,25,13,1,1,0.625,-1.23186 } ); +cells.push_back( {11302522,993,25,13,2,1,0.625,-1.28142 } ); +cells.push_back( {11402512,974,25,14,1,1,0.675,-1.23186 } ); +cells.push_back( {11402522,994,25,14,2,1,0.675,-1.28142 } ); +cells.push_back( {11502512,975,25,15,1,1,0.725,-1.23186 } ); +cells.push_back( {11502522,995,25,15,2,1,0.725,-1.28142 } ); +cells.push_back( {11602512,976,25,16,1,1,0.775,-1.23186 } ); +cells.push_back( {11602522,996,25,16,2,1,0.775,-1.28142 } ); +cells.push_back( {11702512,977,25,17,1,1,0.825,-1.23186 } ); +cells.push_back( {11702522,997,25,17,2,1,0.825,-1.28142 } ); +cells.push_back( {11802512,978,25,18,1,1,0.875,-1.23186 } ); +cells.push_back( {11802522,998,25,18,2,1,0.875,-1.28142 } ); +cells.push_back( {11902512,979,25,19,1,1,0.925,-1.23186 } ); +cells.push_back( {11902522,999,25,19,2,1,0.925,-1.28142 } ); +cells.push_back( {12002512,980,25,20,1,1,0.967,-1.23186 } ); +cells.push_back( {12002522,1000,25,20,2,1,0.967,-1.28142 } ); +cells.push_back( {10102611,1001,26,1,1,2,0.02675,-1.33658 } ); +cells.push_back( {10102621,1021,26,1,2,2,0.02675,-1.38614 } ); +cells.push_back( {10202611,1002,26,2,1,2,0.075,-1.33658 } ); +cells.push_back( {10202621,1022,26,2,2,2,0.075,-1.38614 } ); +cells.push_back( {10302611,1003,26,3,1,2,0.125,-1.33658 } ); +cells.push_back( {10302621,1023,26,3,2,2,0.125,-1.38614 } ); +cells.push_back( {10402611,1004,26,4,1,2,0.175,-1.33658 } ); +cells.push_back( {10402621,1024,26,4,2,2,0.175,-1.38614 } ); +cells.push_back( {10502611,1005,26,5,1,2,0.225,-1.33658 } ); +cells.push_back( {10502621,1025,26,5,2,2,0.225,-1.38614 } ); +cells.push_back( {10602611,1006,26,6,1,2,0.275,-1.33658 } ); +cells.push_back( {10602621,1026,26,6,2,2,0.275,-1.38614 } ); +cells.push_back( {10702611,1007,26,7,1,2,0.325,-1.33658 } ); +cells.push_back( {10702621,1027,26,7,2,2,0.325,-1.38614 } ); +cells.push_back( {10802611,1008,26,8,1,2,0.375,-1.33658 } ); +cells.push_back( {10802621,1028,26,8,2,2,0.375,-1.38614 } ); +cells.push_back( {10902611,1009,26,9,1,2,0.425,-1.33658 } ); +cells.push_back( {10902621,1029,26,9,2,2,0.425,-1.38614 } ); +cells.push_back( {11002611,1010,26,10,1,2,0.475,-1.33658 } ); +cells.push_back( {11002621,1030,26,10,2,2,0.475,-1.38614 } ); +cells.push_back( {11102611,1011,26,11,1,2,0.525,-1.33658 } ); +cells.push_back( {11102621,1031,26,11,2,2,0.525,-1.38614 } ); +cells.push_back( {11202611,1012,26,12,1,2,0.575,-1.33658 } ); +cells.push_back( {11202621,1032,26,12,2,2,0.575,-1.38614 } ); +cells.push_back( {11302611,1013,26,13,1,2,0.625,-1.33658 } ); +cells.push_back( {11302621,1033,26,13,2,2,0.625,-1.38614 } ); +cells.push_back( {11402611,1014,26,14,1,2,0.675,-1.33658 } ); +cells.push_back( {11402621,1034,26,14,2,2,0.675,-1.38614 } ); +cells.push_back( {11502611,1015,26,15,1,2,0.725,-1.33658 } ); +cells.push_back( {11502621,1035,26,15,2,2,0.725,-1.38614 } ); +cells.push_back( {11602611,1016,26,16,1,2,0.775,-1.33658 } ); +cells.push_back( {11602621,1036,26,16,2,2,0.775,-1.38614 } ); +cells.push_back( {11702611,1017,26,17,1,2,0.825,-1.33658 } ); +cells.push_back( {11702621,1037,26,17,2,2,0.825,-1.38614 } ); +cells.push_back( {11802611,1018,26,18,1,2,0.875,-1.33658 } ); +cells.push_back( {11802621,1038,26,18,2,2,0.875,-1.38614 } ); +cells.push_back( {11902611,1019,26,19,1,2,0.925,-1.33658 } ); +cells.push_back( {11902621,1039,26,19,2,2,0.925,-1.38614 } ); +cells.push_back( {12002611,1020,26,20,1,2,0.967,-1.33658 } ); +cells.push_back( {12002621,1040,26,20,2,2,0.967,-1.38614 } ); +cells.push_back( {10102612,1001,26,1,1,1,0.02675,-1.33658 } ); +cells.push_back( {10102622,1021,26,1,2,1,0.02675,-1.38614 } ); +cells.push_back( {10202612,1002,26,2,1,1,0.075,-1.33658 } ); +cells.push_back( {10202622,1022,26,2,2,1,0.075,-1.38614 } ); +cells.push_back( {10302612,1003,26,3,1,1,0.125,-1.33658 } ); +cells.push_back( {10302622,1023,26,3,2,1,0.125,-1.38614 } ); +cells.push_back( {10402612,1004,26,4,1,1,0.175,-1.33658 } ); +cells.push_back( {10402622,1024,26,4,2,1,0.175,-1.38614 } ); +cells.push_back( {10502612,1005,26,5,1,1,0.225,-1.33658 } ); +cells.push_back( {10502622,1025,26,5,2,1,0.225,-1.38614 } ); +cells.push_back( {10602612,1006,26,6,1,1,0.275,-1.33658 } ); +cells.push_back( {10602622,1026,26,6,2,1,0.275,-1.38614 } ); +cells.push_back( {10702612,1007,26,7,1,1,0.325,-1.33658 } ); +cells.push_back( {10702622,1027,26,7,2,1,0.325,-1.38614 } ); +cells.push_back( {10802612,1008,26,8,1,1,0.375,-1.33658 } ); +cells.push_back( {10802622,1028,26,8,2,1,0.375,-1.38614 } ); +cells.push_back( {10902612,1009,26,9,1,1,0.425,-1.33658 } ); +cells.push_back( {10902622,1029,26,9,2,1,0.425,-1.38614 } ); +cells.push_back( {11002612,1010,26,10,1,1,0.475,-1.33658 } ); +cells.push_back( {11002622,1030,26,10,2,1,0.475,-1.38614 } ); +cells.push_back( {11102612,1011,26,11,1,1,0.525,-1.33658 } ); +cells.push_back( {11102622,1031,26,11,2,1,0.525,-1.38614 } ); +cells.push_back( {11202612,1012,26,12,1,1,0.575,-1.33658 } ); +cells.push_back( {11202622,1032,26,12,2,1,0.575,-1.38614 } ); +cells.push_back( {11302612,1013,26,13,1,1,0.625,-1.33658 } ); +cells.push_back( {11302622,1033,26,13,2,1,0.625,-1.38614 } ); +cells.push_back( {11402612,1014,26,14,1,1,0.675,-1.33658 } ); +cells.push_back( {11402622,1034,26,14,2,1,0.675,-1.38614 } ); +cells.push_back( {11502612,1015,26,15,1,1,0.725,-1.33658 } ); +cells.push_back( {11502622,1035,26,15,2,1,0.725,-1.38614 } ); +cells.push_back( {11602612,1016,26,16,1,1,0.775,-1.33658 } ); +cells.push_back( {11602622,1036,26,16,2,1,0.775,-1.38614 } ); +cells.push_back( {11702612,1017,26,17,1,1,0.825,-1.33658 } ); +cells.push_back( {11702622,1037,26,17,2,1,0.825,-1.38614 } ); +cells.push_back( {11802612,1018,26,18,1,1,0.875,-1.33658 } ); +cells.push_back( {11802622,1038,26,18,2,1,0.875,-1.38614 } ); +cells.push_back( {11902612,1019,26,19,1,1,0.925,-1.33658 } ); +cells.push_back( {11902622,1039,26,19,2,1,0.925,-1.38614 } ); +cells.push_back( {12002612,1020,26,20,1,1,0.967,-1.33658 } ); +cells.push_back( {12002622,1040,26,20,2,1,0.967,-1.38614 } ); +cells.push_back( {10102711,1041,27,1,1,2,0.02675,-1.4413 } ); +cells.push_back( {10102721,1061,27,1,2,2,0.02675,-1.49086 } ); +cells.push_back( {10202711,1042,27,2,1,2,0.075,-1.4413 } ); +cells.push_back( {10202721,1062,27,2,2,2,0.075,-1.49086 } ); +cells.push_back( {10302711,1043,27,3,1,2,0.125,-1.4413 } ); +cells.push_back( {10302721,1063,27,3,2,2,0.125,-1.49086 } ); +cells.push_back( {10402711,1044,27,4,1,2,0.175,-1.4413 } ); +cells.push_back( {10402721,1064,27,4,2,2,0.175,-1.49086 } ); +cells.push_back( {10502711,1045,27,5,1,2,0.225,-1.4413 } ); +cells.push_back( {10502721,1065,27,5,2,2,0.225,-1.49086 } ); +cells.push_back( {10602711,1046,27,6,1,2,0.275,-1.4413 } ); +cells.push_back( {10602721,1066,27,6,2,2,0.275,-1.49086 } ); +cells.push_back( {10702711,1047,27,7,1,2,0.325,-1.4413 } ); +cells.push_back( {10702721,1067,27,7,2,2,0.325,-1.49086 } ); +cells.push_back( {10802711,1048,27,8,1,2,0.375,-1.4413 } ); +cells.push_back( {10802721,1068,27,8,2,2,0.375,-1.49086 } ); +cells.push_back( {10902711,1049,27,9,1,2,0.425,-1.4413 } ); +cells.push_back( {10902721,1069,27,9,2,2,0.425,-1.49086 } ); +cells.push_back( {11002711,1050,27,10,1,2,0.475,-1.4413 } ); +cells.push_back( {11002721,1070,27,10,2,2,0.475,-1.49086 } ); +cells.push_back( {11102711,1051,27,11,1,2,0.525,-1.4413 } ); +cells.push_back( {11102721,1071,27,11,2,2,0.525,-1.49086 } ); +cells.push_back( {11202711,1052,27,12,1,2,0.575,-1.4413 } ); +cells.push_back( {11202721,1072,27,12,2,2,0.575,-1.49086 } ); +cells.push_back( {11302711,1053,27,13,1,2,0.625,-1.4413 } ); +cells.push_back( {11302721,1073,27,13,2,2,0.625,-1.49086 } ); +cells.push_back( {11402711,1054,27,14,1,2,0.675,-1.4413 } ); +cells.push_back( {11402721,1074,27,14,2,2,0.675,-1.49086 } ); +cells.push_back( {11502711,1055,27,15,1,2,0.725,-1.4413 } ); +cells.push_back( {11502721,1075,27,15,2,2,0.725,-1.49086 } ); +cells.push_back( {11602711,1056,27,16,1,2,0.775,-1.4413 } ); +cells.push_back( {11602721,1076,27,16,2,2,0.775,-1.49086 } ); +cells.push_back( {11702711,1057,27,17,1,2,0.825,-1.4413 } ); +cells.push_back( {11702721,1077,27,17,2,2,0.825,-1.49086 } ); +cells.push_back( {11802711,1058,27,18,1,2,0.875,-1.4413 } ); +cells.push_back( {11802721,1078,27,18,2,2,0.875,-1.49086 } ); +cells.push_back( {11902711,1059,27,19,1,2,0.925,-1.4413 } ); +cells.push_back( {11902721,1079,27,19,2,2,0.925,-1.49086 } ); +cells.push_back( {12002711,1060,27,20,1,2,0.967,-1.4413 } ); +cells.push_back( {12002721,1080,27,20,2,2,0.967,-1.49086 } ); +cells.push_back( {10102712,1041,27,1,1,1,0.02675,-1.4413 } ); +cells.push_back( {10102722,1061,27,1,2,1,0.02675,-1.49086 } ); +cells.push_back( {10202712,1042,27,2,1,1,0.075,-1.4413 } ); +cells.push_back( {10202722,1062,27,2,2,1,0.075,-1.49086 } ); +cells.push_back( {10302712,1043,27,3,1,1,0.125,-1.4413 } ); +cells.push_back( {10302722,1063,27,3,2,1,0.125,-1.49086 } ); +cells.push_back( {10402712,1044,27,4,1,1,0.175,-1.4413 } ); +cells.push_back( {10402722,1064,27,4,2,1,0.175,-1.49086 } ); +cells.push_back( {10502712,1045,27,5,1,1,0.225,-1.4413 } ); +cells.push_back( {10502722,1065,27,5,2,1,0.225,-1.49086 } ); +cells.push_back( {10602712,1046,27,6,1,1,0.275,-1.4413 } ); +cells.push_back( {10602722,1066,27,6,2,1,0.275,-1.49086 } ); +cells.push_back( {10702712,1047,27,7,1,1,0.325,-1.4413 } ); +cells.push_back( {10702722,1067,27,7,2,1,0.325,-1.49086 } ); +cells.push_back( {10802712,1048,27,8,1,1,0.375,-1.4413 } ); +cells.push_back( {10802722,1068,27,8,2,1,0.375,-1.49086 } ); +cells.push_back( {10902712,1049,27,9,1,1,0.425,-1.4413 } ); +cells.push_back( {10902722,1069,27,9,2,1,0.425,-1.49086 } ); +cells.push_back( {11002712,1050,27,10,1,1,0.475,-1.4413 } ); +cells.push_back( {11002722,1070,27,10,2,1,0.475,-1.49086 } ); +cells.push_back( {11102712,1051,27,11,1,1,0.525,-1.4413 } ); +cells.push_back( {11102722,1071,27,11,2,1,0.525,-1.49086 } ); +cells.push_back( {11202712,1052,27,12,1,1,0.575,-1.4413 } ); +cells.push_back( {11202722,1072,27,12,2,1,0.575,-1.49086 } ); +cells.push_back( {11302712,1053,27,13,1,1,0.625,-1.4413 } ); +cells.push_back( {11302722,1073,27,13,2,1,0.625,-1.49086 } ); +cells.push_back( {11402712,1054,27,14,1,1,0.675,-1.4413 } ); +cells.push_back( {11402722,1074,27,14,2,1,0.675,-1.49086 } ); +cells.push_back( {11502712,1055,27,15,1,1,0.725,-1.4413 } ); +cells.push_back( {11502722,1075,27,15,2,1,0.725,-1.49086 } ); +cells.push_back( {11602712,1056,27,16,1,1,0.775,-1.4413 } ); +cells.push_back( {11602722,1076,27,16,2,1,0.775,-1.49086 } ); +cells.push_back( {11702712,1057,27,17,1,1,0.825,-1.4413 } ); +cells.push_back( {11702722,1077,27,17,2,1,0.825,-1.49086 } ); +cells.push_back( {11802712,1058,27,18,1,1,0.875,-1.4413 } ); +cells.push_back( {11802722,1078,27,18,2,1,0.875,-1.49086 } ); +cells.push_back( {11902712,1059,27,19,1,1,0.925,-1.4413 } ); +cells.push_back( {11902722,1079,27,19,2,1,0.925,-1.49086 } ); +cells.push_back( {12002712,1060,27,20,1,1,0.967,-1.4413 } ); +cells.push_back( {12002722,1080,27,20,2,1,0.967,-1.49086 } ); +cells.push_back( {10102811,1081,28,1,1,2,0.02675,-1.54601 } ); +cells.push_back( {10102821,1101,28,1,2,2,0.02675,-1.59558 } ); +cells.push_back( {10202811,1082,28,2,1,2,0.075,-1.54601 } ); +cells.push_back( {10202821,1102,28,2,2,2,0.075,-1.59558 } ); +cells.push_back( {10302811,1083,28,3,1,2,0.125,-1.54601 } ); +cells.push_back( {10302821,1103,28,3,2,2,0.125,-1.59558 } ); +cells.push_back( {10402811,1084,28,4,1,2,0.175,-1.54601 } ); +cells.push_back( {10402821,1104,28,4,2,2,0.175,-1.59558 } ); +cells.push_back( {10502811,1085,28,5,1,2,0.225,-1.54601 } ); +cells.push_back( {10502821,1105,28,5,2,2,0.225,-1.59558 } ); +cells.push_back( {10602811,1086,28,6,1,2,0.275,-1.54601 } ); +cells.push_back( {10602821,1106,28,6,2,2,0.275,-1.59558 } ); +cells.push_back( {10702811,1087,28,7,1,2,0.325,-1.54601 } ); +cells.push_back( {10702821,1107,28,7,2,2,0.325,-1.59558 } ); +cells.push_back( {10802811,1088,28,8,1,2,0.375,-1.54601 } ); +cells.push_back( {10802821,1108,28,8,2,2,0.375,-1.59558 } ); +cells.push_back( {10902811,1089,28,9,1,2,0.425,-1.54601 } ); +cells.push_back( {10902821,1109,28,9,2,2,0.425,-1.59558 } ); +cells.push_back( {11002811,1090,28,10,1,2,0.475,-1.54601 } ); +cells.push_back( {11002821,1110,28,10,2,2,0.475,-1.59558 } ); +cells.push_back( {11102811,1091,28,11,1,2,0.525,-1.54601 } ); +cells.push_back( {11102821,1111,28,11,2,2,0.525,-1.59558 } ); +cells.push_back( {11202811,1092,28,12,1,2,0.575,-1.54601 } ); +cells.push_back( {11202821,1112,28,12,2,2,0.575,-1.59558 } ); +cells.push_back( {11302811,1093,28,13,1,2,0.625,-1.54601 } ); +cells.push_back( {11302821,1113,28,13,2,2,0.625,-1.59558 } ); +cells.push_back( {11402811,1094,28,14,1,2,0.675,-1.54601 } ); +cells.push_back( {11402821,1114,28,14,2,2,0.675,-1.59558 } ); +cells.push_back( {11502811,1095,28,15,1,2,0.725,-1.54601 } ); +cells.push_back( {11502821,1115,28,15,2,2,0.725,-1.59558 } ); +cells.push_back( {11602811,1096,28,16,1,2,0.775,-1.54601 } ); +cells.push_back( {11602821,1116,28,16,2,2,0.775,-1.59558 } ); +cells.push_back( {11702811,1097,28,17,1,2,0.825,-1.54601 } ); +cells.push_back( {11702821,1117,28,17,2,2,0.825,-1.59558 } ); +cells.push_back( {11802811,1098,28,18,1,2,0.875,-1.54601 } ); +cells.push_back( {11802821,1118,28,18,2,2,0.875,-1.59558 } ); +cells.push_back( {11902811,1099,28,19,1,2,0.925,-1.54601 } ); +cells.push_back( {11902821,1119,28,19,2,2,0.925,-1.59558 } ); +cells.push_back( {12002811,1100,28,20,1,2,0.967,-1.54601 } ); +cells.push_back( {12002821,1120,28,20,2,2,0.967,-1.59558 } ); +cells.push_back( {10102812,1081,28,1,1,1,0.02675,-1.54601 } ); +cells.push_back( {10102822,1101,28,1,2,1,0.02675,-1.59558 } ); +cells.push_back( {10202812,1082,28,2,1,1,0.075,-1.54601 } ); +cells.push_back( {10202822,1102,28,2,2,1,0.075,-1.59558 } ); +cells.push_back( {10302812,1083,28,3,1,1,0.125,-1.54601 } ); +cells.push_back( {10302822,1103,28,3,2,1,0.125,-1.59558 } ); +cells.push_back( {10402812,1084,28,4,1,1,0.175,-1.54601 } ); +cells.push_back( {10402822,1104,28,4,2,1,0.175,-1.59558 } ); +cells.push_back( {10502812,1085,28,5,1,1,0.225,-1.54601 } ); +cells.push_back( {10502822,1105,28,5,2,1,0.225,-1.59558 } ); +cells.push_back( {10602812,1086,28,6,1,1,0.275,-1.54601 } ); +cells.push_back( {10602822,1106,28,6,2,1,0.275,-1.59558 } ); +cells.push_back( {10702812,1087,28,7,1,1,0.325,-1.54601 } ); +cells.push_back( {10702822,1107,28,7,2,1,0.325,-1.59558 } ); +cells.push_back( {10802812,1088,28,8,1,1,0.375,-1.54601 } ); +cells.push_back( {10802822,1108,28,8,2,1,0.375,-1.59558 } ); +cells.push_back( {10902812,1089,28,9,1,1,0.425,-1.54601 } ); +cells.push_back( {10902822,1109,28,9,2,1,0.425,-1.59558 } ); +cells.push_back( {11002812,1090,28,10,1,1,0.475,-1.54601 } ); +cells.push_back( {11002822,1110,28,10,2,1,0.475,-1.59558 } ); +cells.push_back( {11102812,1091,28,11,1,1,0.525,-1.54601 } ); +cells.push_back( {11102822,1111,28,11,2,1,0.525,-1.59558 } ); +cells.push_back( {11202812,1092,28,12,1,1,0.575,-1.54601 } ); +cells.push_back( {11202822,1112,28,12,2,1,0.575,-1.59558 } ); +cells.push_back( {11302812,1093,28,13,1,1,0.625,-1.54601 } ); +cells.push_back( {11302822,1113,28,13,2,1,0.625,-1.59558 } ); +cells.push_back( {11402812,1094,28,14,1,1,0.675,-1.54601 } ); +cells.push_back( {11402822,1114,28,14,2,1,0.675,-1.59558 } ); +cells.push_back( {11502812,1095,28,15,1,1,0.725,-1.54601 } ); +cells.push_back( {11502822,1115,28,15,2,1,0.725,-1.59558 } ); +cells.push_back( {11602812,1096,28,16,1,1,0.775,-1.54601 } ); +cells.push_back( {11602822,1116,28,16,2,1,0.775,-1.59558 } ); +cells.push_back( {11702812,1097,28,17,1,1,0.825,-1.54601 } ); +cells.push_back( {11702822,1117,28,17,2,1,0.825,-1.59558 } ); +cells.push_back( {11802812,1098,28,18,1,1,0.875,-1.54601 } ); +cells.push_back( {11802822,1118,28,18,2,1,0.875,-1.59558 } ); +cells.push_back( {11902812,1099,28,19,1,1,0.925,-1.54601 } ); +cells.push_back( {11902822,1119,28,19,2,1,0.925,-1.59558 } ); +cells.push_back( {12002812,1100,28,20,1,1,0.967,-1.54601 } ); +cells.push_back( {12002822,1120,28,20,2,1,0.967,-1.59558 } ); +cells.push_back( {10102911,1121,29,1,1,2,0.02675,-1.65073 } ); +cells.push_back( {10102921,1141,29,1,2,2,0.02675,-1.7003 } ); +cells.push_back( {10202911,1122,29,2,1,2,0.075,-1.65073 } ); +cells.push_back( {10202921,1142,29,2,2,2,0.075,-1.7003 } ); +cells.push_back( {10302911,1123,29,3,1,2,0.125,-1.65073 } ); +cells.push_back( {10302921,1143,29,3,2,2,0.125,-1.7003 } ); +cells.push_back( {10402911,1124,29,4,1,2,0.175,-1.65073 } ); +cells.push_back( {10402921,1144,29,4,2,2,0.175,-1.7003 } ); +cells.push_back( {10502911,1125,29,5,1,2,0.225,-1.65073 } ); +cells.push_back( {10502921,1145,29,5,2,2,0.225,-1.7003 } ); +cells.push_back( {10602911,1126,29,6,1,2,0.275,-1.65073 } ); +cells.push_back( {10602921,1146,29,6,2,2,0.275,-1.7003 } ); +cells.push_back( {10702911,1127,29,7,1,2,0.325,-1.65073 } ); +cells.push_back( {10702921,1147,29,7,2,2,0.325,-1.7003 } ); +cells.push_back( {10802911,1128,29,8,1,2,0.375,-1.65073 } ); +cells.push_back( {10802921,1148,29,8,2,2,0.375,-1.7003 } ); +cells.push_back( {10902911,1129,29,9,1,2,0.425,-1.65073 } ); +cells.push_back( {10902921,1149,29,9,2,2,0.425,-1.7003 } ); +cells.push_back( {11002911,1130,29,10,1,2,0.475,-1.65073 } ); +cells.push_back( {11002921,1150,29,10,2,2,0.475,-1.7003 } ); +cells.push_back( {11102911,1131,29,11,1,2,0.525,-1.65073 } ); +cells.push_back( {11102921,1151,29,11,2,2,0.525,-1.7003 } ); +cells.push_back( {11202911,1132,29,12,1,2,0.575,-1.65073 } ); +cells.push_back( {11202921,1152,29,12,2,2,0.575,-1.7003 } ); +cells.push_back( {11302911,1133,29,13,1,2,0.625,-1.65073 } ); +cells.push_back( {11302921,1153,29,13,2,2,0.625,-1.7003 } ); +cells.push_back( {11402911,1134,29,14,1,2,0.675,-1.65073 } ); +cells.push_back( {11402921,1154,29,14,2,2,0.675,-1.7003 } ); +cells.push_back( {11502911,1135,29,15,1,2,0.725,-1.65073 } ); +cells.push_back( {11502921,1155,29,15,2,2,0.725,-1.7003 } ); +cells.push_back( {11602911,1136,29,16,1,2,0.775,-1.65073 } ); +cells.push_back( {11602921,1156,29,16,2,2,0.775,-1.7003 } ); +cells.push_back( {11702911,1137,29,17,1,2,0.825,-1.65073 } ); +cells.push_back( {11702921,1157,29,17,2,2,0.825,-1.7003 } ); +cells.push_back( {11802911,1138,29,18,1,2,0.875,-1.65073 } ); +cells.push_back( {11802921,1158,29,18,2,2,0.875,-1.7003 } ); +cells.push_back( {11902911,1139,29,19,1,2,0.925,-1.65073 } ); +cells.push_back( {11902921,1159,29,19,2,2,0.925,-1.7003 } ); +cells.push_back( {12002911,1140,29,20,1,2,0.967,-1.65073 } ); +cells.push_back( {12002921,1160,29,20,2,2,0.967,-1.7003 } ); +cells.push_back( {10102912,1121,29,1,1,1,0.02675,-1.65073 } ); +cells.push_back( {10102922,1141,29,1,2,1,0.02675,-1.7003 } ); +cells.push_back( {10202912,1122,29,2,1,1,0.075,-1.65073 } ); +cells.push_back( {10202922,1142,29,2,2,1,0.075,-1.7003 } ); +cells.push_back( {10302912,1123,29,3,1,1,0.125,-1.65073 } ); +cells.push_back( {10302922,1143,29,3,2,1,0.125,-1.7003 } ); +cells.push_back( {10402912,1124,29,4,1,1,0.175,-1.65073 } ); +cells.push_back( {10402922,1144,29,4,2,1,0.175,-1.7003 } ); +cells.push_back( {10502912,1125,29,5,1,1,0.225,-1.65073 } ); +cells.push_back( {10502922,1145,29,5,2,1,0.225,-1.7003 } ); +cells.push_back( {10602912,1126,29,6,1,1,0.275,-1.65073 } ); +cells.push_back( {10602922,1146,29,6,2,1,0.275,-1.7003 } ); +cells.push_back( {10702912,1127,29,7,1,1,0.325,-1.65073 } ); +cells.push_back( {10702922,1147,29,7,2,1,0.325,-1.7003 } ); +cells.push_back( {10802912,1128,29,8,1,1,0.375,-1.65073 } ); +cells.push_back( {10802922,1148,29,8,2,1,0.375,-1.7003 } ); +cells.push_back( {10902912,1129,29,9,1,1,0.425,-1.65073 } ); +cells.push_back( {10902922,1149,29,9,2,1,0.425,-1.7003 } ); +cells.push_back( {11002912,1130,29,10,1,1,0.475,-1.65073 } ); +cells.push_back( {11002922,1150,29,10,2,1,0.475,-1.7003 } ); +cells.push_back( {11102912,1131,29,11,1,1,0.525,-1.65073 } ); +cells.push_back( {11102922,1151,29,11,2,1,0.525,-1.7003 } ); +cells.push_back( {11202912,1132,29,12,1,1,0.575,-1.65073 } ); +cells.push_back( {11202922,1152,29,12,2,1,0.575,-1.7003 } ); +cells.push_back( {11302912,1133,29,13,1,1,0.625,-1.65073 } ); +cells.push_back( {11302922,1153,29,13,2,1,0.625,-1.7003 } ); +cells.push_back( {11402912,1134,29,14,1,1,0.675,-1.65073 } ); +cells.push_back( {11402922,1154,29,14,2,1,0.675,-1.7003 } ); +cells.push_back( {11502912,1135,29,15,1,1,0.725,-1.65073 } ); +cells.push_back( {11502922,1155,29,15,2,1,0.725,-1.7003 } ); +cells.push_back( {11602912,1136,29,16,1,1,0.775,-1.65073 } ); +cells.push_back( {11602922,1156,29,16,2,1,0.775,-1.7003 } ); +cells.push_back( {11702912,1137,29,17,1,1,0.825,-1.65073 } ); +cells.push_back( {11702922,1157,29,17,2,1,0.825,-1.7003 } ); +cells.push_back( {11802912,1138,29,18,1,1,0.875,-1.65073 } ); +cells.push_back( {11802922,1158,29,18,2,1,0.875,-1.7003 } ); +cells.push_back( {11902912,1139,29,19,1,1,0.925,-1.65073 } ); +cells.push_back( {11902922,1159,29,19,2,1,0.925,-1.7003 } ); +cells.push_back( {12002912,1140,29,20,1,1,0.967,-1.65073 } ); +cells.push_back( {12002922,1160,29,20,2,1,0.967,-1.7003 } ); +cells.push_back( {10103011,1161,30,1,1,2,0.02675,-1.75545 } ); +cells.push_back( {10103021,1181,30,1,2,2,0.02675,-1.80502 } ); +cells.push_back( {10203011,1162,30,2,1,2,0.075,-1.75545 } ); +cells.push_back( {10203021,1182,30,2,2,2,0.075,-1.80502 } ); +cells.push_back( {10303011,1163,30,3,1,2,0.125,-1.75545 } ); +cells.push_back( {10303021,1183,30,3,2,2,0.125,-1.80502 } ); +cells.push_back( {10403011,1164,30,4,1,2,0.175,-1.75545 } ); +cells.push_back( {10403021,1184,30,4,2,2,0.175,-1.80502 } ); +cells.push_back( {10503011,1165,30,5,1,2,0.225,-1.75545 } ); +cells.push_back( {10503021,1185,30,5,2,2,0.225,-1.80502 } ); +cells.push_back( {10603011,1166,30,6,1,2,0.275,-1.75545 } ); +cells.push_back( {10603021,1186,30,6,2,2,0.275,-1.80502 } ); +cells.push_back( {10703011,1167,30,7,1,2,0.325,-1.75545 } ); +cells.push_back( {10703021,1187,30,7,2,2,0.325,-1.80502 } ); +cells.push_back( {10803011,1168,30,8,1,2,0.375,-1.75545 } ); +cells.push_back( {10803021,1188,30,8,2,2,0.375,-1.80502 } ); +cells.push_back( {10903011,1169,30,9,1,2,0.425,-1.75545 } ); +cells.push_back( {10903021,1189,30,9,2,2,0.425,-1.80502 } ); +cells.push_back( {11003011,1170,30,10,1,2,0.475,-1.75545 } ); +cells.push_back( {11003021,1190,30,10,2,2,0.475,-1.80502 } ); +cells.push_back( {11103011,1171,30,11,1,2,0.525,-1.75545 } ); +cells.push_back( {11103021,1191,30,11,2,2,0.525,-1.80502 } ); +cells.push_back( {11203011,1172,30,12,1,2,0.575,-1.75545 } ); +cells.push_back( {11203021,1192,30,12,2,2,0.575,-1.80502 } ); +cells.push_back( {11303011,1173,30,13,1,2,0.625,-1.75545 } ); +cells.push_back( {11303021,1193,30,13,2,2,0.625,-1.80502 } ); +cells.push_back( {11403011,1174,30,14,1,2,0.675,-1.75545 } ); +cells.push_back( {11403021,1194,30,14,2,2,0.675,-1.80502 } ); +cells.push_back( {11503011,1175,30,15,1,2,0.725,-1.75545 } ); +cells.push_back( {11503021,1195,30,15,2,2,0.725,-1.80502 } ); +cells.push_back( {11603011,1176,30,16,1,2,0.775,-1.75545 } ); +cells.push_back( {11603021,1196,30,16,2,2,0.775,-1.80502 } ); +cells.push_back( {11703011,1177,30,17,1,2,0.825,-1.75545 } ); +cells.push_back( {11703021,1197,30,17,2,2,0.825,-1.80502 } ); +cells.push_back( {11803011,1178,30,18,1,2,0.875,-1.75545 } ); +cells.push_back( {11803021,1198,30,18,2,2,0.875,-1.80502 } ); +cells.push_back( {11903011,1179,30,19,1,2,0.925,-1.75545 } ); +cells.push_back( {11903021,1199,30,19,2,2,0.925,-1.80502 } ); +cells.push_back( {12003011,1180,30,20,1,2,0.967,-1.75545 } ); +cells.push_back( {12003021,1200,30,20,2,2,0.967,-1.80502 } ); +cells.push_back( {10103012,1161,30,1,1,1,0.02675,-1.75545 } ); +cells.push_back( {10103022,1181,30,1,2,1,0.02675,-1.80502 } ); +cells.push_back( {10203012,1162,30,2,1,1,0.075,-1.75545 } ); +cells.push_back( {10203022,1182,30,2,2,1,0.075,-1.80502 } ); +cells.push_back( {10303012,1163,30,3,1,1,0.125,-1.75545 } ); +cells.push_back( {10303022,1183,30,3,2,1,0.125,-1.80502 } ); +cells.push_back( {10403012,1164,30,4,1,1,0.175,-1.75545 } ); +cells.push_back( {10403022,1184,30,4,2,1,0.175,-1.80502 } ); +cells.push_back( {10503012,1165,30,5,1,1,0.225,-1.75545 } ); +cells.push_back( {10503022,1185,30,5,2,1,0.225,-1.80502 } ); +cells.push_back( {10603012,1166,30,6,1,1,0.275,-1.75545 } ); +cells.push_back( {10603022,1186,30,6,2,1,0.275,-1.80502 } ); +cells.push_back( {10703012,1167,30,7,1,1,0.325,-1.75545 } ); +cells.push_back( {10703022,1187,30,7,2,1,0.325,-1.80502 } ); +cells.push_back( {10803012,1168,30,8,1,1,0.375,-1.75545 } ); +cells.push_back( {10803022,1188,30,8,2,1,0.375,-1.80502 } ); +cells.push_back( {10903012,1169,30,9,1,1,0.425,-1.75545 } ); +cells.push_back( {10903022,1189,30,9,2,1,0.425,-1.80502 } ); +cells.push_back( {11003012,1170,30,10,1,1,0.475,-1.75545 } ); +cells.push_back( {11003022,1190,30,10,2,1,0.475,-1.80502 } ); +cells.push_back( {11103012,1171,30,11,1,1,0.525,-1.75545 } ); +cells.push_back( {11103022,1191,30,11,2,1,0.525,-1.80502 } ); +cells.push_back( {11203012,1172,30,12,1,1,0.575,-1.75545 } ); +cells.push_back( {11203022,1192,30,12,2,1,0.575,-1.80502 } ); +cells.push_back( {11303012,1173,30,13,1,1,0.625,-1.75545 } ); +cells.push_back( {11303022,1193,30,13,2,1,0.625,-1.80502 } ); +cells.push_back( {11403012,1174,30,14,1,1,0.675,-1.75545 } ); +cells.push_back( {11403022,1194,30,14,2,1,0.675,-1.80502 } ); +cells.push_back( {11503012,1175,30,15,1,1,0.725,-1.75545 } ); +cells.push_back( {11503022,1195,30,15,2,1,0.725,-1.80502 } ); +cells.push_back( {11603012,1176,30,16,1,1,0.775,-1.75545 } ); +cells.push_back( {11603022,1196,30,16,2,1,0.775,-1.80502 } ); +cells.push_back( {11703012,1177,30,17,1,1,0.825,-1.75545 } ); +cells.push_back( {11703022,1197,30,17,2,1,0.825,-1.80502 } ); +cells.push_back( {11803012,1178,30,18,1,1,0.875,-1.75545 } ); +cells.push_back( {11803022,1198,30,18,2,1,0.875,-1.80502 } ); +cells.push_back( {11903012,1179,30,19,1,1,0.925,-1.75545 } ); +cells.push_back( {11903022,1199,30,19,2,1,0.925,-1.80502 } ); +cells.push_back( {12003012,1180,30,20,1,1,0.967,-1.75545 } ); +cells.push_back( {12003022,1200,30,20,2,1,0.967,-1.80502 } ); +cells.push_back( {10103111,1201,31,1,1,2,0.02675,-1.86017 } ); +cells.push_back( {10103121,1221,31,1,2,2,0.02675,-1.90974 } ); +cells.push_back( {10203111,1202,31,2,1,2,0.075,-1.86017 } ); +cells.push_back( {10203121,1222,31,2,2,2,0.075,-1.90974 } ); +cells.push_back( {10303111,1203,31,3,1,2,0.125,-1.86017 } ); +cells.push_back( {10303121,1223,31,3,2,2,0.125,-1.90974 } ); +cells.push_back( {10403111,1204,31,4,1,2,0.175,-1.86017 } ); +cells.push_back( {10403121,1224,31,4,2,2,0.175,-1.90974 } ); +cells.push_back( {10503111,1205,31,5,1,2,0.225,-1.86017 } ); +cells.push_back( {10503121,1225,31,5,2,2,0.225,-1.90974 } ); +cells.push_back( {10603111,1206,31,6,1,2,0.275,-1.86017 } ); +cells.push_back( {10603121,1226,31,6,2,2,0.275,-1.90974 } ); +cells.push_back( {10703111,1207,31,7,1,2,0.325,-1.86017 } ); +cells.push_back( {10703121,1227,31,7,2,2,0.325,-1.90974 } ); +cells.push_back( {10803111,1208,31,8,1,2,0.375,-1.86017 } ); +cells.push_back( {10803121,1228,31,8,2,2,0.375,-1.90974 } ); +cells.push_back( {10903111,1209,31,9,1,2,0.425,-1.86017 } ); +cells.push_back( {10903121,1229,31,9,2,2,0.425,-1.90974 } ); +cells.push_back( {11003111,1210,31,10,1,2,0.475,-1.86017 } ); +cells.push_back( {11003121,1230,31,10,2,2,0.475,-1.90974 } ); +cells.push_back( {11103111,1211,31,11,1,2,0.525,-1.86017 } ); +cells.push_back( {11103121,1231,31,11,2,2,0.525,-1.90974 } ); +cells.push_back( {11203111,1212,31,12,1,2,0.575,-1.86017 } ); +cells.push_back( {11203121,1232,31,12,2,2,0.575,-1.90974 } ); +cells.push_back( {11303111,1213,31,13,1,2,0.625,-1.86017 } ); +cells.push_back( {11303121,1233,31,13,2,2,0.625,-1.90974 } ); +cells.push_back( {11403111,1214,31,14,1,2,0.675,-1.86017 } ); +cells.push_back( {11403121,1234,31,14,2,2,0.675,-1.90974 } ); +cells.push_back( {11503111,1215,31,15,1,2,0.725,-1.86017 } ); +cells.push_back( {11503121,1235,31,15,2,2,0.725,-1.90974 } ); +cells.push_back( {11603111,1216,31,16,1,2,0.775,-1.86017 } ); +cells.push_back( {11603121,1236,31,16,2,2,0.775,-1.90974 } ); +cells.push_back( {11703111,1217,31,17,1,2,0.825,-1.86017 } ); +cells.push_back( {11703121,1237,31,17,2,2,0.825,-1.90974 } ); +cells.push_back( {11803111,1218,31,18,1,2,0.875,-1.86017 } ); +cells.push_back( {11803121,1238,31,18,2,2,0.875,-1.90974 } ); +cells.push_back( {11903111,1219,31,19,1,2,0.925,-1.86017 } ); +cells.push_back( {11903121,1239,31,19,2,2,0.925,-1.90974 } ); +cells.push_back( {12003111,1220,31,20,1,2,0.967,-1.86017 } ); +cells.push_back( {12003121,1240,31,20,2,2,0.967,-1.90974 } ); +cells.push_back( {10103112,1201,31,1,1,1,0.02675,-1.86017 } ); +cells.push_back( {10103122,1221,31,1,2,1,0.02675,-1.90974 } ); +cells.push_back( {10203112,1202,31,2,1,1,0.075,-1.86017 } ); +cells.push_back( {10203122,1222,31,2,2,1,0.075,-1.90974 } ); +cells.push_back( {10303112,1203,31,3,1,1,0.125,-1.86017 } ); +cells.push_back( {10303122,1223,31,3,2,1,0.125,-1.90974 } ); +cells.push_back( {10403112,1204,31,4,1,1,0.175,-1.86017 } ); +cells.push_back( {10403122,1224,31,4,2,1,0.175,-1.90974 } ); +cells.push_back( {10503112,1205,31,5,1,1,0.225,-1.86017 } ); +cells.push_back( {10503122,1225,31,5,2,1,0.225,-1.90974 } ); +cells.push_back( {10603112,1206,31,6,1,1,0.275,-1.86017 } ); +cells.push_back( {10603122,1226,31,6,2,1,0.275,-1.90974 } ); +cells.push_back( {10703112,1207,31,7,1,1,0.325,-1.86017 } ); +cells.push_back( {10703122,1227,31,7,2,1,0.325,-1.90974 } ); +cells.push_back( {10803112,1208,31,8,1,1,0.375,-1.86017 } ); +cells.push_back( {10803122,1228,31,8,2,1,0.375,-1.90974 } ); +cells.push_back( {10903112,1209,31,9,1,1,0.425,-1.86017 } ); +cells.push_back( {10903122,1229,31,9,2,1,0.425,-1.90974 } ); +cells.push_back( {11003112,1210,31,10,1,1,0.475,-1.86017 } ); +cells.push_back( {11003122,1230,31,10,2,1,0.475,-1.90974 } ); +cells.push_back( {11103112,1211,31,11,1,1,0.525,-1.86017 } ); +cells.push_back( {11103122,1231,31,11,2,1,0.525,-1.90974 } ); +cells.push_back( {11203112,1212,31,12,1,1,0.575,-1.86017 } ); +cells.push_back( {11203122,1232,31,12,2,1,0.575,-1.90974 } ); +cells.push_back( {11303112,1213,31,13,1,1,0.625,-1.86017 } ); +cells.push_back( {11303122,1233,31,13,2,1,0.625,-1.90974 } ); +cells.push_back( {11403112,1214,31,14,1,1,0.675,-1.86017 } ); +cells.push_back( {11403122,1234,31,14,2,1,0.675,-1.90974 } ); +cells.push_back( {11503112,1215,31,15,1,1,0.725,-1.86017 } ); +cells.push_back( {11503122,1235,31,15,2,1,0.725,-1.90974 } ); +cells.push_back( {11603112,1216,31,16,1,1,0.775,-1.86017 } ); +cells.push_back( {11603122,1236,31,16,2,1,0.775,-1.90974 } ); +cells.push_back( {11703112,1217,31,17,1,1,0.825,-1.86017 } ); +cells.push_back( {11703122,1237,31,17,2,1,0.825,-1.90974 } ); +cells.push_back( {11803112,1218,31,18,1,1,0.875,-1.86017 } ); +cells.push_back( {11803122,1238,31,18,2,1,0.875,-1.90974 } ); +cells.push_back( {11903112,1219,31,19,1,1,0.925,-1.86017 } ); +cells.push_back( {11903122,1239,31,19,2,1,0.925,-1.90974 } ); +cells.push_back( {12003112,1220,31,20,1,1,0.967,-1.86017 } ); +cells.push_back( {12003122,1240,31,20,2,1,0.967,-1.90974 } ); +cells.push_back( {10103211,1241,32,1,1,2,0.02675,-1.96489 } ); +cells.push_back( {10103221,1261,32,1,2,2,0.02675,-2.01446 } ); +cells.push_back( {10203211,1242,32,2,1,2,0.075,-1.96489 } ); +cells.push_back( {10203221,1262,32,2,2,2,0.075,-2.01446 } ); +cells.push_back( {10303211,1243,32,3,1,2,0.125,-1.96489 } ); +cells.push_back( {10303221,1263,32,3,2,2,0.125,-2.01446 } ); +cells.push_back( {10403211,1244,32,4,1,2,0.175,-1.96489 } ); +cells.push_back( {10403221,1264,32,4,2,2,0.175,-2.01446 } ); +cells.push_back( {10503211,1245,32,5,1,2,0.225,-1.96489 } ); +cells.push_back( {10503221,1265,32,5,2,2,0.225,-2.01446 } ); +cells.push_back( {10603211,1246,32,6,1,2,0.275,-1.96489 } ); +cells.push_back( {10603221,1266,32,6,2,2,0.275,-2.01446 } ); +cells.push_back( {10703211,1247,32,7,1,2,0.325,-1.96489 } ); +cells.push_back( {10703221,1267,32,7,2,2,0.325,-2.01446 } ); +cells.push_back( {10803211,1248,32,8,1,2,0.375,-1.96489 } ); +cells.push_back( {10803221,1268,32,8,2,2,0.375,-2.01446 } ); +cells.push_back( {10903211,1249,32,9,1,2,0.425,-1.96489 } ); +cells.push_back( {10903221,1269,32,9,2,2,0.425,-2.01446 } ); +cells.push_back( {11003211,1250,32,10,1,2,0.475,-1.96489 } ); +cells.push_back( {11003221,1270,32,10,2,2,0.475,-2.01446 } ); +cells.push_back( {11103211,1251,32,11,1,2,0.525,-1.96489 } ); +cells.push_back( {11103221,1271,32,11,2,2,0.525,-2.01446 } ); +cells.push_back( {11203211,1252,32,12,1,2,0.575,-1.96489 } ); +cells.push_back( {11203221,1272,32,12,2,2,0.575,-2.01446 } ); +cells.push_back( {11303211,1253,32,13,1,2,0.625,-1.96489 } ); +cells.push_back( {11303221,1273,32,13,2,2,0.625,-2.01446 } ); +cells.push_back( {11403211,1254,32,14,1,2,0.675,-1.96489 } ); +cells.push_back( {11403221,1274,32,14,2,2,0.675,-2.01446 } ); +cells.push_back( {11503211,1255,32,15,1,2,0.725,-1.96489 } ); +cells.push_back( {11503221,1275,32,15,2,2,0.725,-2.01446 } ); +cells.push_back( {11603211,1256,32,16,1,2,0.775,-1.96489 } ); +cells.push_back( {11603221,1276,32,16,2,2,0.775,-2.01446 } ); +cells.push_back( {11703211,1257,32,17,1,2,0.825,-1.96489 } ); +cells.push_back( {11703221,1277,32,17,2,2,0.825,-2.01446 } ); +cells.push_back( {11803211,1258,32,18,1,2,0.875,-1.96489 } ); +cells.push_back( {11803221,1278,32,18,2,2,0.875,-2.01446 } ); +cells.push_back( {11903211,1259,32,19,1,2,0.925,-1.96489 } ); +cells.push_back( {11903221,1279,32,19,2,2,0.925,-2.01446 } ); +cells.push_back( {12003211,1260,32,20,1,2,0.967,-1.96489 } ); +cells.push_back( {12003221,1280,32,20,2,2,0.967,-2.01446 } ); +cells.push_back( {10103212,1241,32,1,1,1,0.02675,-1.96489 } ); +cells.push_back( {10103222,1261,32,1,2,1,0.02675,-2.01446 } ); +cells.push_back( {10203212,1242,32,2,1,1,0.075,-1.96489 } ); +cells.push_back( {10203222,1262,32,2,2,1,0.075,-2.01446 } ); +cells.push_back( {10303212,1243,32,3,1,1,0.125,-1.96489 } ); +cells.push_back( {10303222,1263,32,3,2,1,0.125,-2.01446 } ); +cells.push_back( {10403212,1244,32,4,1,1,0.175,-1.96489 } ); +cells.push_back( {10403222,1264,32,4,2,1,0.175,-2.01446 } ); +cells.push_back( {10503212,1245,32,5,1,1,0.225,-1.96489 } ); +cells.push_back( {10503222,1265,32,5,2,1,0.225,-2.01446 } ); +cells.push_back( {10603212,1246,32,6,1,1,0.275,-1.96489 } ); +cells.push_back( {10603222,1266,32,6,2,1,0.275,-2.01446 } ); +cells.push_back( {10703212,1247,32,7,1,1,0.325,-1.96489 } ); +cells.push_back( {10703222,1267,32,7,2,1,0.325,-2.01446 } ); +cells.push_back( {10803212,1248,32,8,1,1,0.375,-1.96489 } ); +cells.push_back( {10803222,1268,32,8,2,1,0.375,-2.01446 } ); +cells.push_back( {10903212,1249,32,9,1,1,0.425,-1.96489 } ); +cells.push_back( {10903222,1269,32,9,2,1,0.425,-2.01446 } ); +cells.push_back( {11003212,1250,32,10,1,1,0.475,-1.96489 } ); +cells.push_back( {11003222,1270,32,10,2,1,0.475,-2.01446 } ); +cells.push_back( {11103212,1251,32,11,1,1,0.525,-1.96489 } ); +cells.push_back( {11103222,1271,32,11,2,1,0.525,-2.01446 } ); +cells.push_back( {11203212,1252,32,12,1,1,0.575,-1.96489 } ); +cells.push_back( {11203222,1272,32,12,2,1,0.575,-2.01446 } ); +cells.push_back( {11303212,1253,32,13,1,1,0.625,-1.96489 } ); +cells.push_back( {11303222,1273,32,13,2,1,0.625,-2.01446 } ); +cells.push_back( {11403212,1254,32,14,1,1,0.675,-1.96489 } ); +cells.push_back( {11403222,1274,32,14,2,1,0.675,-2.01446 } ); +cells.push_back( {11503212,1255,32,15,1,1,0.725,-1.96489 } ); +cells.push_back( {11503222,1275,32,15,2,1,0.725,-2.01446 } ); +cells.push_back( {11603212,1256,32,16,1,1,0.775,-1.96489 } ); +cells.push_back( {11603222,1276,32,16,2,1,0.775,-2.01446 } ); +cells.push_back( {11703212,1257,32,17,1,1,0.825,-1.96489 } ); +cells.push_back( {11703222,1277,32,17,2,1,0.825,-2.01446 } ); +cells.push_back( {11803212,1258,32,18,1,1,0.875,-1.96489 } ); +cells.push_back( {11803222,1278,32,18,2,1,0.875,-2.01446 } ); +cells.push_back( {11903212,1259,32,19,1,1,0.925,-1.96489 } ); +cells.push_back( {11903222,1279,32,19,2,1,0.925,-2.01446 } ); +cells.push_back( {12003212,1260,32,20,1,1,0.967,-1.96489 } ); +cells.push_back( {12003222,1280,32,20,2,1,0.967,-2.01446 } ); +cells.push_back( {10103311,1281,33,1,1,2,0.02675,-2.06961 } ); +cells.push_back( {10103321,1301,33,1,2,2,0.02675,-2.11918 } ); +cells.push_back( {10203311,1282,33,2,1,2,0.075,-2.06961 } ); +cells.push_back( {10203321,1302,33,2,2,2,0.075,-2.11918 } ); +cells.push_back( {10303311,1283,33,3,1,2,0.125,-2.06961 } ); +cells.push_back( {10303321,1303,33,3,2,2,0.125,-2.11918 } ); +cells.push_back( {10403311,1284,33,4,1,2,0.175,-2.06961 } ); +cells.push_back( {10403321,1304,33,4,2,2,0.175,-2.11918 } ); +cells.push_back( {10503311,1285,33,5,1,2,0.225,-2.06961 } ); +cells.push_back( {10503321,1305,33,5,2,2,0.225,-2.11918 } ); +cells.push_back( {10603311,1286,33,6,1,2,0.275,-2.06961 } ); +cells.push_back( {10603321,1306,33,6,2,2,0.275,-2.11918 } ); +cells.push_back( {10703311,1287,33,7,1,2,0.325,-2.06961 } ); +cells.push_back( {10703321,1307,33,7,2,2,0.325,-2.11918 } ); +cells.push_back( {10803311,1288,33,8,1,2,0.375,-2.06961 } ); +cells.push_back( {10803321,1308,33,8,2,2,0.375,-2.11918 } ); +cells.push_back( {10903311,1289,33,9,1,2,0.425,-2.06961 } ); +cells.push_back( {10903321,1309,33,9,2,2,0.425,-2.11918 } ); +cells.push_back( {11003311,1290,33,10,1,2,0.475,-2.06961 } ); +cells.push_back( {11003321,1310,33,10,2,2,0.475,-2.11918 } ); +cells.push_back( {11103311,1291,33,11,1,2,0.525,-2.06961 } ); +cells.push_back( {11103321,1311,33,11,2,2,0.525,-2.11918 } ); +cells.push_back( {11203311,1292,33,12,1,2,0.575,-2.06961 } ); +cells.push_back( {11203321,1312,33,12,2,2,0.575,-2.11918 } ); +cells.push_back( {11303311,1293,33,13,1,2,0.625,-2.06961 } ); +cells.push_back( {11303321,1313,33,13,2,2,0.625,-2.11918 } ); +cells.push_back( {11403311,1294,33,14,1,2,0.675,-2.06961 } ); +cells.push_back( {11403321,1314,33,14,2,2,0.675,-2.11918 } ); +cells.push_back( {11503311,1295,33,15,1,2,0.725,-2.06961 } ); +cells.push_back( {11503321,1315,33,15,2,2,0.725,-2.11918 } ); +cells.push_back( {11603311,1296,33,16,1,2,0.775,-2.06961 } ); +cells.push_back( {11603321,1316,33,16,2,2,0.775,-2.11918 } ); +cells.push_back( {11703311,1297,33,17,1,2,0.825,-2.06961 } ); +cells.push_back( {11703321,1317,33,17,2,2,0.825,-2.11918 } ); +cells.push_back( {11803311,1298,33,18,1,2,0.875,-2.06961 } ); +cells.push_back( {11803321,1318,33,18,2,2,0.875,-2.11918 } ); +cells.push_back( {11903311,1299,33,19,1,2,0.925,-2.06961 } ); +cells.push_back( {11903321,1319,33,19,2,2,0.925,-2.11918 } ); +cells.push_back( {12003311,1300,33,20,1,2,0.967,-2.06961 } ); +cells.push_back( {12003321,1320,33,20,2,2,0.967,-2.11918 } ); +cells.push_back( {10103312,1281,33,1,1,1,0.02675,-2.06961 } ); +cells.push_back( {10103322,1301,33,1,2,1,0.02675,-2.11918 } ); +cells.push_back( {10203312,1282,33,2,1,1,0.075,-2.06961 } ); +cells.push_back( {10203322,1302,33,2,2,1,0.075,-2.11918 } ); +cells.push_back( {10303312,1283,33,3,1,1,0.125,-2.06961 } ); +cells.push_back( {10303322,1303,33,3,2,1,0.125,-2.11918 } ); +cells.push_back( {10403312,1284,33,4,1,1,0.175,-2.06961 } ); +cells.push_back( {10403322,1304,33,4,2,1,0.175,-2.11918 } ); +cells.push_back( {10503312,1285,33,5,1,1,0.225,-2.06961 } ); +cells.push_back( {10503322,1305,33,5,2,1,0.225,-2.11918 } ); +cells.push_back( {10603312,1286,33,6,1,1,0.275,-2.06961 } ); +cells.push_back( {10603322,1306,33,6,2,1,0.275,-2.11918 } ); +cells.push_back( {10703312,1287,33,7,1,1,0.325,-2.06961 } ); +cells.push_back( {10703322,1307,33,7,2,1,0.325,-2.11918 } ); +cells.push_back( {10803312,1288,33,8,1,1,0.375,-2.06961 } ); +cells.push_back( {10803322,1308,33,8,2,1,0.375,-2.11918 } ); +cells.push_back( {10903312,1289,33,9,1,1,0.425,-2.06961 } ); +cells.push_back( {10903322,1309,33,9,2,1,0.425,-2.11918 } ); +cells.push_back( {11003312,1290,33,10,1,1,0.475,-2.06961 } ); +cells.push_back( {11003322,1310,33,10,2,1,0.475,-2.11918 } ); +cells.push_back( {11103312,1291,33,11,1,1,0.525,-2.06961 } ); +cells.push_back( {11103322,1311,33,11,2,1,0.525,-2.11918 } ); +cells.push_back( {11203312,1292,33,12,1,1,0.575,-2.06961 } ); +cells.push_back( {11203322,1312,33,12,2,1,0.575,-2.11918 } ); +cells.push_back( {11303312,1293,33,13,1,1,0.625,-2.06961 } ); +cells.push_back( {11303322,1313,33,13,2,1,0.625,-2.11918 } ); +cells.push_back( {11403312,1294,33,14,1,1,0.675,-2.06961 } ); +cells.push_back( {11403322,1314,33,14,2,1,0.675,-2.11918 } ); +cells.push_back( {11503312,1295,33,15,1,1,0.725,-2.06961 } ); +cells.push_back( {11503322,1315,33,15,2,1,0.725,-2.11918 } ); +cells.push_back( {11603312,1296,33,16,1,1,0.775,-2.06961 } ); +cells.push_back( {11603322,1316,33,16,2,1,0.775,-2.11918 } ); +cells.push_back( {11703312,1297,33,17,1,1,0.825,-2.06961 } ); +cells.push_back( {11703322,1317,33,17,2,1,0.825,-2.11918 } ); +cells.push_back( {11803312,1298,33,18,1,1,0.875,-2.06961 } ); +cells.push_back( {11803322,1318,33,18,2,1,0.875,-2.11918 } ); +cells.push_back( {11903312,1299,33,19,1,1,0.925,-2.06961 } ); +cells.push_back( {11903322,1319,33,19,2,1,0.925,-2.11918 } ); +cells.push_back( {12003312,1300,33,20,1,1,0.967,-2.06961 } ); +cells.push_back( {12003322,1320,33,20,2,1,0.967,-2.11918 } ); +cells.push_back( {10103411,1321,34,1,1,2,0.02675,-2.17433 } ); +cells.push_back( {10103421,1341,34,1,2,2,0.02675,-2.2239 } ); +cells.push_back( {10203411,1322,34,2,1,2,0.075,-2.17433 } ); +cells.push_back( {10203421,1342,34,2,2,2,0.075,-2.2239 } ); +cells.push_back( {10303411,1323,34,3,1,2,0.125,-2.17433 } ); +cells.push_back( {10303421,1343,34,3,2,2,0.125,-2.2239 } ); +cells.push_back( {10403411,1324,34,4,1,2,0.175,-2.17433 } ); +cells.push_back( {10403421,1344,34,4,2,2,0.175,-2.2239 } ); +cells.push_back( {10503411,1325,34,5,1,2,0.225,-2.17433 } ); +cells.push_back( {10503421,1345,34,5,2,2,0.225,-2.2239 } ); +cells.push_back( {10603411,1326,34,6,1,2,0.275,-2.17433 } ); +cells.push_back( {10603421,1346,34,6,2,2,0.275,-2.2239 } ); +cells.push_back( {10703411,1327,34,7,1,2,0.325,-2.17433 } ); +cells.push_back( {10703421,1347,34,7,2,2,0.325,-2.2239 } ); +cells.push_back( {10803411,1328,34,8,1,2,0.375,-2.17433 } ); +cells.push_back( {10803421,1348,34,8,2,2,0.375,-2.2239 } ); +cells.push_back( {10903411,1329,34,9,1,2,0.425,-2.17433 } ); +cells.push_back( {10903421,1349,34,9,2,2,0.425,-2.2239 } ); +cells.push_back( {11003411,1330,34,10,1,2,0.475,-2.17433 } ); +cells.push_back( {11003421,1350,34,10,2,2,0.475,-2.2239 } ); +cells.push_back( {11103411,1331,34,11,1,2,0.525,-2.17433 } ); +cells.push_back( {11103421,1351,34,11,2,2,0.525,-2.2239 } ); +cells.push_back( {11203411,1332,34,12,1,2,0.575,-2.17433 } ); +cells.push_back( {11203421,1352,34,12,2,2,0.575,-2.2239 } ); +cells.push_back( {11303411,1333,34,13,1,2,0.625,-2.17433 } ); +cells.push_back( {11303421,1353,34,13,2,2,0.625,-2.2239 } ); +cells.push_back( {11403411,1334,34,14,1,2,0.675,-2.17433 } ); +cells.push_back( {11403421,1354,34,14,2,2,0.675,-2.2239 } ); +cells.push_back( {11503411,1335,34,15,1,2,0.725,-2.17433 } ); +cells.push_back( {11503421,1355,34,15,2,2,0.725,-2.2239 } ); +cells.push_back( {11603411,1336,34,16,1,2,0.775,-2.17433 } ); +cells.push_back( {11603421,1356,34,16,2,2,0.775,-2.2239 } ); +cells.push_back( {11703411,1337,34,17,1,2,0.825,-2.17433 } ); +cells.push_back( {11703421,1357,34,17,2,2,0.825,-2.2239 } ); +cells.push_back( {11803411,1338,34,18,1,2,0.875,-2.17433 } ); +cells.push_back( {11803421,1358,34,18,2,2,0.875,-2.2239 } ); +cells.push_back( {11903411,1339,34,19,1,2,0.925,-2.17433 } ); +cells.push_back( {11903421,1359,34,19,2,2,0.925,-2.2239 } ); +cells.push_back( {12003411,1340,34,20,1,2,0.967,-2.17433 } ); +cells.push_back( {12003421,1360,34,20,2,2,0.967,-2.2239 } ); +cells.push_back( {10103412,1321,34,1,1,1,0.02675,-2.17433 } ); +cells.push_back( {10103422,1341,34,1,2,1,0.02675,-2.2239 } ); +cells.push_back( {10203412,1322,34,2,1,1,0.075,-2.17433 } ); +cells.push_back( {10203422,1342,34,2,2,1,0.075,-2.2239 } ); +cells.push_back( {10303412,1323,34,3,1,1,0.125,-2.17433 } ); +cells.push_back( {10303422,1343,34,3,2,1,0.125,-2.2239 } ); +cells.push_back( {10403412,1324,34,4,1,1,0.175,-2.17433 } ); +cells.push_back( {10403422,1344,34,4,2,1,0.175,-2.2239 } ); +cells.push_back( {10503412,1325,34,5,1,1,0.225,-2.17433 } ); +cells.push_back( {10503422,1345,34,5,2,1,0.225,-2.2239 } ); +cells.push_back( {10603412,1326,34,6,1,1,0.275,-2.17433 } ); +cells.push_back( {10603422,1346,34,6,2,1,0.275,-2.2239 } ); +cells.push_back( {10703412,1327,34,7,1,1,0.325,-2.17433 } ); +cells.push_back( {10703422,1347,34,7,2,1,0.325,-2.2239 } ); +cells.push_back( {10803412,1328,34,8,1,1,0.375,-2.17433 } ); +cells.push_back( {10803422,1348,34,8,2,1,0.375,-2.2239 } ); +cells.push_back( {10903412,1329,34,9,1,1,0.425,-2.17433 } ); +cells.push_back( {10903422,1349,34,9,2,1,0.425,-2.2239 } ); +cells.push_back( {11003412,1330,34,10,1,1,0.475,-2.17433 } ); +cells.push_back( {11003422,1350,34,10,2,1,0.475,-2.2239 } ); +cells.push_back( {11103412,1331,34,11,1,1,0.525,-2.17433 } ); +cells.push_back( {11103422,1351,34,11,2,1,0.525,-2.2239 } ); +cells.push_back( {11203412,1332,34,12,1,1,0.575,-2.17433 } ); +cells.push_back( {11203422,1352,34,12,2,1,0.575,-2.2239 } ); +cells.push_back( {11303412,1333,34,13,1,1,0.625,-2.17433 } ); +cells.push_back( {11303422,1353,34,13,2,1,0.625,-2.2239 } ); +cells.push_back( {11403412,1334,34,14,1,1,0.675,-2.17433 } ); +cells.push_back( {11403422,1354,34,14,2,1,0.675,-2.2239 } ); +cells.push_back( {11503412,1335,34,15,1,1,0.725,-2.17433 } ); +cells.push_back( {11503422,1355,34,15,2,1,0.725,-2.2239 } ); +cells.push_back( {11603412,1336,34,16,1,1,0.775,-2.17433 } ); +cells.push_back( {11603422,1356,34,16,2,1,0.775,-2.2239 } ); +cells.push_back( {11703412,1337,34,17,1,1,0.825,-2.17433 } ); +cells.push_back( {11703422,1357,34,17,2,1,0.825,-2.2239 } ); +cells.push_back( {11803412,1338,34,18,1,1,0.875,-2.17433 } ); +cells.push_back( {11803422,1358,34,18,2,1,0.875,-2.2239 } ); +cells.push_back( {11903412,1339,34,19,1,1,0.925,-2.17433 } ); +cells.push_back( {11903422,1359,34,19,2,1,0.925,-2.2239 } ); +cells.push_back( {12003412,1340,34,20,1,1,0.967,-2.17433 } ); +cells.push_back( {12003422,1360,34,20,2,1,0.967,-2.2239 } ); +cells.push_back( {10103511,1361,35,1,1,2,0.02675,-2.27905 } ); +cells.push_back( {10103521,1381,35,1,2,2,0.02675,-2.32862 } ); +cells.push_back( {10203511,1362,35,2,1,2,0.075,-2.27905 } ); +cells.push_back( {10203521,1382,35,2,2,2,0.075,-2.32862 } ); +cells.push_back( {10303511,1363,35,3,1,2,0.125,-2.27905 } ); +cells.push_back( {10303521,1383,35,3,2,2,0.125,-2.32862 } ); +cells.push_back( {10403511,1364,35,4,1,2,0.175,-2.27905 } ); +cells.push_back( {10403521,1384,35,4,2,2,0.175,-2.32862 } ); +cells.push_back( {10503511,1365,35,5,1,2,0.225,-2.27905 } ); +cells.push_back( {10503521,1385,35,5,2,2,0.225,-2.32862 } ); +cells.push_back( {10603511,1366,35,6,1,2,0.275,-2.27905 } ); +cells.push_back( {10603521,1386,35,6,2,2,0.275,-2.32862 } ); +cells.push_back( {10703511,1367,35,7,1,2,0.325,-2.27905 } ); +cells.push_back( {10703521,1387,35,7,2,2,0.325,-2.32862 } ); +cells.push_back( {10803511,1368,35,8,1,2,0.375,-2.27905 } ); +cells.push_back( {10803521,1388,35,8,2,2,0.375,-2.32862 } ); +cells.push_back( {10903511,1369,35,9,1,2,0.425,-2.27905 } ); +cells.push_back( {10903521,1389,35,9,2,2,0.425,-2.32862 } ); +cells.push_back( {11003511,1370,35,10,1,2,0.475,-2.27905 } ); +cells.push_back( {11003521,1390,35,10,2,2,0.475,-2.32862 } ); +cells.push_back( {11103511,1371,35,11,1,2,0.525,-2.27905 } ); +cells.push_back( {11103521,1391,35,11,2,2,0.525,-2.32862 } ); +cells.push_back( {11203511,1372,35,12,1,2,0.575,-2.27905 } ); +cells.push_back( {11203521,1392,35,12,2,2,0.575,-2.32862 } ); +cells.push_back( {11303511,1373,35,13,1,2,0.625,-2.27905 } ); +cells.push_back( {11303521,1393,35,13,2,2,0.625,-2.32862 } ); +cells.push_back( {11403511,1374,35,14,1,2,0.675,-2.27905 } ); +cells.push_back( {11403521,1394,35,14,2,2,0.675,-2.32862 } ); +cells.push_back( {11503511,1375,35,15,1,2,0.725,-2.27905 } ); +cells.push_back( {11503521,1395,35,15,2,2,0.725,-2.32862 } ); +cells.push_back( {11603511,1376,35,16,1,2,0.775,-2.27905 } ); +cells.push_back( {11603521,1396,35,16,2,2,0.775,-2.32862 } ); +cells.push_back( {11703511,1377,35,17,1,2,0.825,-2.27905 } ); +cells.push_back( {11703521,1397,35,17,2,2,0.825,-2.32862 } ); +cells.push_back( {11803511,1378,35,18,1,2,0.875,-2.27905 } ); +cells.push_back( {11803521,1398,35,18,2,2,0.875,-2.32862 } ); +cells.push_back( {11903511,1379,35,19,1,2,0.925,-2.27905 } ); +cells.push_back( {11903521,1399,35,19,2,2,0.925,-2.32862 } ); +cells.push_back( {12003511,1380,35,20,1,2,0.967,-2.27905 } ); +cells.push_back( {12003521,1400,35,20,2,2,0.967,-2.32862 } ); +cells.push_back( {10103512,1361,35,1,1,1,0.02675,-2.27905 } ); +cells.push_back( {10103522,1381,35,1,2,1,0.02675,-2.32862 } ); +cells.push_back( {10203512,1362,35,2,1,1,0.075,-2.27905 } ); +cells.push_back( {10203522,1382,35,2,2,1,0.075,-2.32862 } ); +cells.push_back( {10303512,1363,35,3,1,1,0.125,-2.27905 } ); +cells.push_back( {10303522,1383,35,3,2,1,0.125,-2.32862 } ); +cells.push_back( {10403512,1364,35,4,1,1,0.175,-2.27905 } ); +cells.push_back( {10403522,1384,35,4,2,1,0.175,-2.32862 } ); +cells.push_back( {10503512,1365,35,5,1,1,0.225,-2.27905 } ); +cells.push_back( {10503522,1385,35,5,2,1,0.225,-2.32862 } ); +cells.push_back( {10603512,1366,35,6,1,1,0.275,-2.27905 } ); +cells.push_back( {10603522,1386,35,6,2,1,0.275,-2.32862 } ); +cells.push_back( {10703512,1367,35,7,1,1,0.325,-2.27905 } ); +cells.push_back( {10703522,1387,35,7,2,1,0.325,-2.32862 } ); +cells.push_back( {10803512,1368,35,8,1,1,0.375,-2.27905 } ); +cells.push_back( {10803522,1388,35,8,2,1,0.375,-2.32862 } ); +cells.push_back( {10903512,1369,35,9,1,1,0.425,-2.27905 } ); +cells.push_back( {10903522,1389,35,9,2,1,0.425,-2.32862 } ); +cells.push_back( {11003512,1370,35,10,1,1,0.475,-2.27905 } ); +cells.push_back( {11003522,1390,35,10,2,1,0.475,-2.32862 } ); +cells.push_back( {11103512,1371,35,11,1,1,0.525,-2.27905 } ); +cells.push_back( {11103522,1391,35,11,2,1,0.525,-2.32862 } ); +cells.push_back( {11203512,1372,35,12,1,1,0.575,-2.27905 } ); +cells.push_back( {11203522,1392,35,12,2,1,0.575,-2.32862 } ); +cells.push_back( {11303512,1373,35,13,1,1,0.625,-2.27905 } ); +cells.push_back( {11303522,1393,35,13,2,1,0.625,-2.32862 } ); +cells.push_back( {11403512,1374,35,14,1,1,0.675,-2.27905 } ); +cells.push_back( {11403522,1394,35,14,2,1,0.675,-2.32862 } ); +cells.push_back( {11503512,1375,35,15,1,1,0.725,-2.27905 } ); +cells.push_back( {11503522,1395,35,15,2,1,0.725,-2.32862 } ); +cells.push_back( {11603512,1376,35,16,1,1,0.775,-2.27905 } ); +cells.push_back( {11603522,1396,35,16,2,1,0.775,-2.32862 } ); +cells.push_back( {11703512,1377,35,17,1,1,0.825,-2.27905 } ); +cells.push_back( {11703522,1397,35,17,2,1,0.825,-2.32862 } ); +cells.push_back( {11803512,1378,35,18,1,1,0.875,-2.27905 } ); +cells.push_back( {11803522,1398,35,18,2,1,0.875,-2.32862 } ); +cells.push_back( {11903512,1379,35,19,1,1,0.925,-2.27905 } ); +cells.push_back( {11903522,1399,35,19,2,1,0.925,-2.32862 } ); +cells.push_back( {12003512,1380,35,20,1,1,0.967,-2.27905 } ); +cells.push_back( {12003522,1400,35,20,2,1,0.967,-2.32862 } ); +cells.push_back( {10103611,1401,36,1,1,2,0.02675,-2.38377 } ); +cells.push_back( {10103621,1421,36,1,2,2,0.02675,-2.43334 } ); +cells.push_back( {10203611,1402,36,2,1,2,0.075,-2.38377 } ); +cells.push_back( {10203621,1422,36,2,2,2,0.075,-2.43334 } ); +cells.push_back( {10303611,1403,36,3,1,2,0.125,-2.38377 } ); +cells.push_back( {10303621,1423,36,3,2,2,0.125,-2.43334 } ); +cells.push_back( {10403611,1404,36,4,1,2,0.175,-2.38377 } ); +cells.push_back( {10403621,1424,36,4,2,2,0.175,-2.43334 } ); +cells.push_back( {10503611,1405,36,5,1,2,0.225,-2.38377 } ); +cells.push_back( {10503621,1425,36,5,2,2,0.225,-2.43334 } ); +cells.push_back( {10603611,1406,36,6,1,2,0.275,-2.38377 } ); +cells.push_back( {10603621,1426,36,6,2,2,0.275,-2.43334 } ); +cells.push_back( {10703611,1407,36,7,1,2,0.325,-2.38377 } ); +cells.push_back( {10703621,1427,36,7,2,2,0.325,-2.43334 } ); +cells.push_back( {10803611,1408,36,8,1,2,0.375,-2.38377 } ); +cells.push_back( {10803621,1428,36,8,2,2,0.375,-2.43334 } ); +cells.push_back( {10903611,1409,36,9,1,2,0.425,-2.38377 } ); +cells.push_back( {10903621,1429,36,9,2,2,0.425,-2.43334 } ); +cells.push_back( {11003611,1410,36,10,1,2,0.475,-2.38377 } ); +cells.push_back( {11003621,1430,36,10,2,2,0.475,-2.43334 } ); +cells.push_back( {11103611,1411,36,11,1,2,0.525,-2.38377 } ); +cells.push_back( {11103621,1431,36,11,2,2,0.525,-2.43334 } ); +cells.push_back( {11203611,1412,36,12,1,2,0.575,-2.38377 } ); +cells.push_back( {11203621,1432,36,12,2,2,0.575,-2.43334 } ); +cells.push_back( {11303611,1413,36,13,1,2,0.625,-2.38377 } ); +cells.push_back( {11303621,1433,36,13,2,2,0.625,-2.43334 } ); +cells.push_back( {11403611,1414,36,14,1,2,0.675,-2.38377 } ); +cells.push_back( {11403621,1434,36,14,2,2,0.675,-2.43334 } ); +cells.push_back( {11503611,1415,36,15,1,2,0.725,-2.38377 } ); +cells.push_back( {11503621,1435,36,15,2,2,0.725,-2.43334 } ); +cells.push_back( {11603611,1416,36,16,1,2,0.775,-2.38377 } ); +cells.push_back( {11603621,1436,36,16,2,2,0.775,-2.43334 } ); +cells.push_back( {11703611,1417,36,17,1,2,0.825,-2.38377 } ); +cells.push_back( {11703621,1437,36,17,2,2,0.825,-2.43334 } ); +cells.push_back( {11803611,1418,36,18,1,2,0.875,-2.38377 } ); +cells.push_back( {11803621,1438,36,18,2,2,0.875,-2.43334 } ); +cells.push_back( {11903611,1419,36,19,1,2,0.925,-2.38377 } ); +cells.push_back( {11903621,1439,36,19,2,2,0.925,-2.43334 } ); +cells.push_back( {12003611,1420,36,20,1,2,0.967,-2.38377 } ); +cells.push_back( {12003621,1440,36,20,2,2,0.967,-2.43334 } ); +cells.push_back( {10103612,1401,36,1,1,1,0.02675,-2.38377 } ); +cells.push_back( {10103622,1421,36,1,2,1,0.02675,-2.43334 } ); +cells.push_back( {10203612,1402,36,2,1,1,0.075,-2.38377 } ); +cells.push_back( {10203622,1422,36,2,2,1,0.075,-2.43334 } ); +cells.push_back( {10303612,1403,36,3,1,1,0.125,-2.38377 } ); +cells.push_back( {10303622,1423,36,3,2,1,0.125,-2.43334 } ); +cells.push_back( {10403612,1404,36,4,1,1,0.175,-2.38377 } ); +cells.push_back( {10403622,1424,36,4,2,1,0.175,-2.43334 } ); +cells.push_back( {10503612,1405,36,5,1,1,0.225,-2.38377 } ); +cells.push_back( {10503622,1425,36,5,2,1,0.225,-2.43334 } ); +cells.push_back( {10603612,1406,36,6,1,1,0.275,-2.38377 } ); +cells.push_back( {10603622,1426,36,6,2,1,0.275,-2.43334 } ); +cells.push_back( {10703612,1407,36,7,1,1,0.325,-2.38377 } ); +cells.push_back( {10703622,1427,36,7,2,1,0.325,-2.43334 } ); +cells.push_back( {10803612,1408,36,8,1,1,0.375,-2.38377 } ); +cells.push_back( {10803622,1428,36,8,2,1,0.375,-2.43334 } ); +cells.push_back( {10903612,1409,36,9,1,1,0.425,-2.38377 } ); +cells.push_back( {10903622,1429,36,9,2,1,0.425,-2.43334 } ); +cells.push_back( {11003612,1410,36,10,1,1,0.475,-2.38377 } ); +cells.push_back( {11003622,1430,36,10,2,1,0.475,-2.43334 } ); +cells.push_back( {11103612,1411,36,11,1,1,0.525,-2.38377 } ); +cells.push_back( {11103622,1431,36,11,2,1,0.525,-2.43334 } ); +cells.push_back( {11203612,1412,36,12,1,1,0.575,-2.38377 } ); +cells.push_back( {11203622,1432,36,12,2,1,0.575,-2.43334 } ); +cells.push_back( {11303612,1413,36,13,1,1,0.625,-2.38377 } ); +cells.push_back( {11303622,1433,36,13,2,1,0.625,-2.43334 } ); +cells.push_back( {11403612,1414,36,14,1,1,0.675,-2.38377 } ); +cells.push_back( {11403622,1434,36,14,2,1,0.675,-2.43334 } ); +cells.push_back( {11503612,1415,36,15,1,1,0.725,-2.38377 } ); +cells.push_back( {11503622,1435,36,15,2,1,0.725,-2.43334 } ); +cells.push_back( {11603612,1416,36,16,1,1,0.775,-2.38377 } ); +cells.push_back( {11603622,1436,36,16,2,1,0.775,-2.43334 } ); +cells.push_back( {11703612,1417,36,17,1,1,0.825,-2.38377 } ); +cells.push_back( {11703622,1437,36,17,2,1,0.825,-2.43334 } ); +cells.push_back( {11803612,1418,36,18,1,1,0.875,-2.38377 } ); +cells.push_back( {11803622,1438,36,18,2,1,0.875,-2.43334 } ); +cells.push_back( {11903612,1419,36,19,1,1,0.925,-2.38377 } ); +cells.push_back( {11903622,1439,36,19,2,1,0.925,-2.43334 } ); +cells.push_back( {12003612,1420,36,20,1,1,0.967,-2.38377 } ); +cells.push_back( {12003622,1440,36,20,2,1,0.967,-2.43334 } ); +cells.push_back( {10103711,1441,37,1,1,2,0.02675,-2.48849 } ); +cells.push_back( {10103721,1461,37,1,2,2,0.02675,-2.53806 } ); +cells.push_back( {10203711,1442,37,2,1,2,0.075,-2.48849 } ); +cells.push_back( {10203721,1462,37,2,2,2,0.075,-2.53806 } ); +cells.push_back( {10303711,1443,37,3,1,2,0.125,-2.48849 } ); +cells.push_back( {10303721,1463,37,3,2,2,0.125,-2.53806 } ); +cells.push_back( {10403711,1444,37,4,1,2,0.175,-2.48849 } ); +cells.push_back( {10403721,1464,37,4,2,2,0.175,-2.53806 } ); +cells.push_back( {10503711,1445,37,5,1,2,0.225,-2.48849 } ); +cells.push_back( {10503721,1465,37,5,2,2,0.225,-2.53806 } ); +cells.push_back( {10603711,1446,37,6,1,2,0.275,-2.48849 } ); +cells.push_back( {10603721,1466,37,6,2,2,0.275,-2.53806 } ); +cells.push_back( {10703711,1447,37,7,1,2,0.325,-2.48849 } ); +cells.push_back( {10703721,1467,37,7,2,2,0.325,-2.53806 } ); +cells.push_back( {10803711,1448,37,8,1,2,0.375,-2.48849 } ); +cells.push_back( {10803721,1468,37,8,2,2,0.375,-2.53806 } ); +cells.push_back( {10903711,1449,37,9,1,2,0.425,-2.48849 } ); +cells.push_back( {10903721,1469,37,9,2,2,0.425,-2.53806 } ); +cells.push_back( {11003711,1450,37,10,1,2,0.475,-2.48849 } ); +cells.push_back( {11003721,1470,37,10,2,2,0.475,-2.53806 } ); +cells.push_back( {11103711,1451,37,11,1,2,0.525,-2.48849 } ); +cells.push_back( {11103721,1471,37,11,2,2,0.525,-2.53806 } ); +cells.push_back( {11203711,1452,37,12,1,2,0.575,-2.48849 } ); +cells.push_back( {11203721,1472,37,12,2,2,0.575,-2.53806 } ); +cells.push_back( {11303711,1453,37,13,1,2,0.625,-2.48849 } ); +cells.push_back( {11303721,1473,37,13,2,2,0.625,-2.53806 } ); +cells.push_back( {11403711,1454,37,14,1,2,0.675,-2.48849 } ); +cells.push_back( {11403721,1474,37,14,2,2,0.675,-2.53806 } ); +cells.push_back( {11503711,1455,37,15,1,2,0.725,-2.48849 } ); +cells.push_back( {11503721,1475,37,15,2,2,0.725,-2.53806 } ); +cells.push_back( {11603711,1456,37,16,1,2,0.775,-2.48849 } ); +cells.push_back( {11603721,1476,37,16,2,2,0.775,-2.53806 } ); +cells.push_back( {11703711,1457,37,17,1,2,0.825,-2.48849 } ); +cells.push_back( {11703721,1477,37,17,2,2,0.825,-2.53806 } ); +cells.push_back( {11803711,1458,37,18,1,2,0.875,-2.48849 } ); +cells.push_back( {11803721,1478,37,18,2,2,0.875,-2.53806 } ); +cells.push_back( {11903711,1459,37,19,1,2,0.925,-2.48849 } ); +cells.push_back( {11903721,1479,37,19,2,2,0.925,-2.53806 } ); +cells.push_back( {12003711,1460,37,20,1,2,0.967,-2.48849 } ); +cells.push_back( {12003721,1480,37,20,2,2,0.967,-2.53806 } ); +cells.push_back( {10103712,1441,37,1,1,1,0.02675,-2.48849 } ); +cells.push_back( {10103722,1461,37,1,2,1,0.02675,-2.53806 } ); +cells.push_back( {10203712,1442,37,2,1,1,0.075,-2.48849 } ); +cells.push_back( {10203722,1462,37,2,2,1,0.075,-2.53806 } ); +cells.push_back( {10303712,1443,37,3,1,1,0.125,-2.48849 } ); +cells.push_back( {10303722,1463,37,3,2,1,0.125,-2.53806 } ); +cells.push_back( {10403712,1444,37,4,1,1,0.175,-2.48849 } ); +cells.push_back( {10403722,1464,37,4,2,1,0.175,-2.53806 } ); +cells.push_back( {10503712,1445,37,5,1,1,0.225,-2.48849 } ); +cells.push_back( {10503722,1465,37,5,2,1,0.225,-2.53806 } ); +cells.push_back( {10603712,1446,37,6,1,1,0.275,-2.48849 } ); +cells.push_back( {10603722,1466,37,6,2,1,0.275,-2.53806 } ); +cells.push_back( {10703712,1447,37,7,1,1,0.325,-2.48849 } ); +cells.push_back( {10703722,1467,37,7,2,1,0.325,-2.53806 } ); +cells.push_back( {10803712,1448,37,8,1,1,0.375,-2.48849 } ); +cells.push_back( {10803722,1468,37,8,2,1,0.375,-2.53806 } ); +cells.push_back( {10903712,1449,37,9,1,1,0.425,-2.48849 } ); +cells.push_back( {10903722,1469,37,9,2,1,0.425,-2.53806 } ); +cells.push_back( {11003712,1450,37,10,1,1,0.475,-2.48849 } ); +cells.push_back( {11003722,1470,37,10,2,1,0.475,-2.53806 } ); +cells.push_back( {11103712,1451,37,11,1,1,0.525,-2.48849 } ); +cells.push_back( {11103722,1471,37,11,2,1,0.525,-2.53806 } ); +cells.push_back( {11203712,1452,37,12,1,1,0.575,-2.48849 } ); +cells.push_back( {11203722,1472,37,12,2,1,0.575,-2.53806 } ); +cells.push_back( {11303712,1453,37,13,1,1,0.625,-2.48849 } ); +cells.push_back( {11303722,1473,37,13,2,1,0.625,-2.53806 } ); +cells.push_back( {11403712,1454,37,14,1,1,0.675,-2.48849 } ); +cells.push_back( {11403722,1474,37,14,2,1,0.675,-2.53806 } ); +cells.push_back( {11503712,1455,37,15,1,1,0.725,-2.48849 } ); +cells.push_back( {11503722,1475,37,15,2,1,0.725,-2.53806 } ); +cells.push_back( {11603712,1456,37,16,1,1,0.775,-2.48849 } ); +cells.push_back( {11603722,1476,37,16,2,1,0.775,-2.53806 } ); +cells.push_back( {11703712,1457,37,17,1,1,0.825,-2.48849 } ); +cells.push_back( {11703722,1477,37,17,2,1,0.825,-2.53806 } ); +cells.push_back( {11803712,1458,37,18,1,1,0.875,-2.48849 } ); +cells.push_back( {11803722,1478,37,18,2,1,0.875,-2.53806 } ); +cells.push_back( {11903712,1459,37,19,1,1,0.925,-2.48849 } ); +cells.push_back( {11903722,1479,37,19,2,1,0.925,-2.53806 } ); +cells.push_back( {12003712,1460,37,20,1,1,0.967,-2.48849 } ); +cells.push_back( {12003722,1480,37,20,2,1,0.967,-2.53806 } ); +cells.push_back( {10103811,1481,38,1,1,2,0.02675,-2.59321 } ); +cells.push_back( {10103821,1501,38,1,2,2,0.02675,-2.64278 } ); +cells.push_back( {10203811,1482,38,2,1,2,0.075,-2.59321 } ); +cells.push_back( {10203821,1502,38,2,2,2,0.075,-2.64278 } ); +cells.push_back( {10303811,1483,38,3,1,2,0.125,-2.59321 } ); +cells.push_back( {10303821,1503,38,3,2,2,0.125,-2.64278 } ); +cells.push_back( {10403811,1484,38,4,1,2,0.175,-2.59321 } ); +cells.push_back( {10403821,1504,38,4,2,2,0.175,-2.64278 } ); +cells.push_back( {10503811,1485,38,5,1,2,0.225,-2.59321 } ); +cells.push_back( {10503821,1505,38,5,2,2,0.225,-2.64278 } ); +cells.push_back( {10603811,1486,38,6,1,2,0.275,-2.59321 } ); +cells.push_back( {10603821,1506,38,6,2,2,0.275,-2.64278 } ); +cells.push_back( {10703811,1487,38,7,1,2,0.325,-2.59321 } ); +cells.push_back( {10703821,1507,38,7,2,2,0.325,-2.64278 } ); +cells.push_back( {10803811,1488,38,8,1,2,0.375,-2.59321 } ); +cells.push_back( {10803821,1508,38,8,2,2,0.375,-2.64278 } ); +cells.push_back( {10903811,1489,38,9,1,2,0.425,-2.59321 } ); +cells.push_back( {10903821,1509,38,9,2,2,0.425,-2.64278 } ); +cells.push_back( {11003811,1490,38,10,1,2,0.475,-2.59321 } ); +cells.push_back( {11003821,1510,38,10,2,2,0.475,-2.64278 } ); +cells.push_back( {11103811,1491,38,11,1,2,0.525,-2.59321 } ); +cells.push_back( {11103821,1511,38,11,2,2,0.525,-2.64278 } ); +cells.push_back( {11203811,1492,38,12,1,2,0.575,-2.59321 } ); +cells.push_back( {11203821,1512,38,12,2,2,0.575,-2.64278 } ); +cells.push_back( {11303811,1493,38,13,1,2,0.625,-2.59321 } ); +cells.push_back( {11303821,1513,38,13,2,2,0.625,-2.64278 } ); +cells.push_back( {11403811,1494,38,14,1,2,0.675,-2.59321 } ); +cells.push_back( {11403821,1514,38,14,2,2,0.675,-2.64278 } ); +cells.push_back( {11503811,1495,38,15,1,2,0.725,-2.59321 } ); +cells.push_back( {11503821,1515,38,15,2,2,0.725,-2.64278 } ); +cells.push_back( {11603811,1496,38,16,1,2,0.775,-2.59321 } ); +cells.push_back( {11603821,1516,38,16,2,2,0.775,-2.64278 } ); +cells.push_back( {11703811,1497,38,17,1,2,0.825,-2.59321 } ); +cells.push_back( {11703821,1517,38,17,2,2,0.825,-2.64278 } ); +cells.push_back( {11803811,1498,38,18,1,2,0.875,-2.59321 } ); +cells.push_back( {11803821,1518,38,18,2,2,0.875,-2.64278 } ); +cells.push_back( {11903811,1499,38,19,1,2,0.925,-2.59321 } ); +cells.push_back( {11903821,1519,38,19,2,2,0.925,-2.64278 } ); +cells.push_back( {12003811,1500,38,20,1,2,0.967,-2.59321 } ); +cells.push_back( {12003821,1520,38,20,2,2,0.967,-2.64278 } ); +cells.push_back( {10103812,1481,38,1,1,1,0.02675,-2.59321 } ); +cells.push_back( {10103822,1501,38,1,2,1,0.02675,-2.64278 } ); +cells.push_back( {10203812,1482,38,2,1,1,0.075,-2.59321 } ); +cells.push_back( {10203822,1502,38,2,2,1,0.075,-2.64278 } ); +cells.push_back( {10303812,1483,38,3,1,1,0.125,-2.59321 } ); +cells.push_back( {10303822,1503,38,3,2,1,0.125,-2.64278 } ); +cells.push_back( {10403812,1484,38,4,1,1,0.175,-2.59321 } ); +cells.push_back( {10403822,1504,38,4,2,1,0.175,-2.64278 } ); +cells.push_back( {10503812,1485,38,5,1,1,0.225,-2.59321 } ); +cells.push_back( {10503822,1505,38,5,2,1,0.225,-2.64278 } ); +cells.push_back( {10603812,1486,38,6,1,1,0.275,-2.59321 } ); +cells.push_back( {10603822,1506,38,6,2,1,0.275,-2.64278 } ); +cells.push_back( {10703812,1487,38,7,1,1,0.325,-2.59321 } ); +cells.push_back( {10703822,1507,38,7,2,1,0.325,-2.64278 } ); +cells.push_back( {10803812,1488,38,8,1,1,0.375,-2.59321 } ); +cells.push_back( {10803822,1508,38,8,2,1,0.375,-2.64278 } ); +cells.push_back( {10903812,1489,38,9,1,1,0.425,-2.59321 } ); +cells.push_back( {10903822,1509,38,9,2,1,0.425,-2.64278 } ); +cells.push_back( {11003812,1490,38,10,1,1,0.475,-2.59321 } ); +cells.push_back( {11003822,1510,38,10,2,1,0.475,-2.64278 } ); +cells.push_back( {11103812,1491,38,11,1,1,0.525,-2.59321 } ); +cells.push_back( {11103822,1511,38,11,2,1,0.525,-2.64278 } ); +cells.push_back( {11203812,1492,38,12,1,1,0.575,-2.59321 } ); +cells.push_back( {11203822,1512,38,12,2,1,0.575,-2.64278 } ); +cells.push_back( {11303812,1493,38,13,1,1,0.625,-2.59321 } ); +cells.push_back( {11303822,1513,38,13,2,1,0.625,-2.64278 } ); +cells.push_back( {11403812,1494,38,14,1,1,0.675,-2.59321 } ); +cells.push_back( {11403822,1514,38,14,2,1,0.675,-2.64278 } ); +cells.push_back( {11503812,1495,38,15,1,1,0.725,-2.59321 } ); +cells.push_back( {11503822,1515,38,15,2,1,0.725,-2.64278 } ); +cells.push_back( {11603812,1496,38,16,1,1,0.775,-2.59321 } ); +cells.push_back( {11603822,1516,38,16,2,1,0.775,-2.64278 } ); +cells.push_back( {11703812,1497,38,17,1,1,0.825,-2.59321 } ); +cells.push_back( {11703822,1517,38,17,2,1,0.825,-2.64278 } ); +cells.push_back( {11803812,1498,38,18,1,1,0.875,-2.59321 } ); +cells.push_back( {11803822,1518,38,18,2,1,0.875,-2.64278 } ); +cells.push_back( {11903812,1499,38,19,1,1,0.925,-2.59321 } ); +cells.push_back( {11903822,1519,38,19,2,1,0.925,-2.64278 } ); +cells.push_back( {12003812,1500,38,20,1,1,0.967,-2.59321 } ); +cells.push_back( {12003822,1520,38,20,2,1,0.967,-2.64278 } ); +cells.push_back( {10103911,1521,39,1,1,2,0.02675,-2.69793 } ); +cells.push_back( {10103921,1541,39,1,2,2,0.02675,-2.7475 } ); +cells.push_back( {10203911,1522,39,2,1,2,0.075,-2.69793 } ); +cells.push_back( {10203921,1542,39,2,2,2,0.075,-2.7475 } ); +cells.push_back( {10303911,1523,39,3,1,2,0.125,-2.69793 } ); +cells.push_back( {10303921,1543,39,3,2,2,0.125,-2.7475 } ); +cells.push_back( {10403911,1524,39,4,1,2,0.175,-2.69793 } ); +cells.push_back( {10403921,1544,39,4,2,2,0.175,-2.7475 } ); +cells.push_back( {10503911,1525,39,5,1,2,0.225,-2.69793 } ); +cells.push_back( {10503921,1545,39,5,2,2,0.225,-2.7475 } ); +cells.push_back( {10603911,1526,39,6,1,2,0.275,-2.69793 } ); +cells.push_back( {10603921,1546,39,6,2,2,0.275,-2.7475 } ); +cells.push_back( {10703911,1527,39,7,1,2,0.325,-2.69793 } ); +cells.push_back( {10703921,1547,39,7,2,2,0.325,-2.7475 } ); +cells.push_back( {10803911,1528,39,8,1,2,0.375,-2.69793 } ); +cells.push_back( {10803921,1548,39,8,2,2,0.375,-2.7475 } ); +cells.push_back( {10903911,1529,39,9,1,2,0.425,-2.69793 } ); +cells.push_back( {10903921,1549,39,9,2,2,0.425,-2.7475 } ); +cells.push_back( {11003911,1530,39,10,1,2,0.475,-2.69793 } ); +cells.push_back( {11003921,1550,39,10,2,2,0.475,-2.7475 } ); +cells.push_back( {11103911,1531,39,11,1,2,0.525,-2.69793 } ); +cells.push_back( {11103921,1551,39,11,2,2,0.525,-2.7475 } ); +cells.push_back( {11203911,1532,39,12,1,2,0.575,-2.69793 } ); +cells.push_back( {11203921,1552,39,12,2,2,0.575,-2.7475 } ); +cells.push_back( {11303911,1533,39,13,1,2,0.625,-2.69793 } ); +cells.push_back( {11303921,1553,39,13,2,2,0.625,-2.7475 } ); +cells.push_back( {11403911,1534,39,14,1,2,0.675,-2.69793 } ); +cells.push_back( {11403921,1554,39,14,2,2,0.675,-2.7475 } ); +cells.push_back( {11503911,1535,39,15,1,2,0.725,-2.69793 } ); +cells.push_back( {11503921,1555,39,15,2,2,0.725,-2.7475 } ); +cells.push_back( {11603911,1536,39,16,1,2,0.775,-2.69793 } ); +cells.push_back( {11603921,1556,39,16,2,2,0.775,-2.7475 } ); +cells.push_back( {11703911,1537,39,17,1,2,0.825,-2.69793 } ); +cells.push_back( {11703921,1557,39,17,2,2,0.825,-2.7475 } ); +cells.push_back( {11803911,1538,39,18,1,2,0.875,-2.69793 } ); +cells.push_back( {11803921,1558,39,18,2,2,0.875,-2.7475 } ); +cells.push_back( {11903911,1539,39,19,1,2,0.925,-2.69793 } ); +cells.push_back( {11903921,1559,39,19,2,2,0.925,-2.7475 } ); +cells.push_back( {12003911,1540,39,20,1,2,0.967,-2.69793 } ); +cells.push_back( {12003921,1560,39,20,2,2,0.967,-2.7475 } ); +cells.push_back( {10103912,1521,39,1,1,1,0.02675,-2.69793 } ); +cells.push_back( {10103922,1541,39,1,2,1,0.02675,-2.7475 } ); +cells.push_back( {10203912,1522,39,2,1,1,0.075,-2.69793 } ); +cells.push_back( {10203922,1542,39,2,2,1,0.075,-2.7475 } ); +cells.push_back( {10303912,1523,39,3,1,1,0.125,-2.69793 } ); +cells.push_back( {10303922,1543,39,3,2,1,0.125,-2.7475 } ); +cells.push_back( {10403912,1524,39,4,1,1,0.175,-2.69793 } ); +cells.push_back( {10403922,1544,39,4,2,1,0.175,-2.7475 } ); +cells.push_back( {10503912,1525,39,5,1,1,0.225,-2.69793 } ); +cells.push_back( {10503922,1545,39,5,2,1,0.225,-2.7475 } ); +cells.push_back( {10603912,1526,39,6,1,1,0.275,-2.69793 } ); +cells.push_back( {10603922,1546,39,6,2,1,0.275,-2.7475 } ); +cells.push_back( {10703912,1527,39,7,1,1,0.325,-2.69793 } ); +cells.push_back( {10703922,1547,39,7,2,1,0.325,-2.7475 } ); +cells.push_back( {10803912,1528,39,8,1,1,0.375,-2.69793 } ); +cells.push_back( {10803922,1548,39,8,2,1,0.375,-2.7475 } ); +cells.push_back( {10903912,1529,39,9,1,1,0.425,-2.69793 } ); +cells.push_back( {10903922,1549,39,9,2,1,0.425,-2.7475 } ); +cells.push_back( {11003912,1530,39,10,1,1,0.475,-2.69793 } ); +cells.push_back( {11003922,1550,39,10,2,1,0.475,-2.7475 } ); +cells.push_back( {11103912,1531,39,11,1,1,0.525,-2.69793 } ); +cells.push_back( {11103922,1551,39,11,2,1,0.525,-2.7475 } ); +cells.push_back( {11203912,1532,39,12,1,1,0.575,-2.69793 } ); +cells.push_back( {11203922,1552,39,12,2,1,0.575,-2.7475 } ); +cells.push_back( {11303912,1533,39,13,1,1,0.625,-2.69793 } ); +cells.push_back( {11303922,1553,39,13,2,1,0.625,-2.7475 } ); +cells.push_back( {11403912,1534,39,14,1,1,0.675,-2.69793 } ); +cells.push_back( {11403922,1554,39,14,2,1,0.675,-2.7475 } ); +cells.push_back( {11503912,1535,39,15,1,1,0.725,-2.69793 } ); +cells.push_back( {11503922,1555,39,15,2,1,0.725,-2.7475 } ); +cells.push_back( {11603912,1536,39,16,1,1,0.775,-2.69793 } ); +cells.push_back( {11603922,1556,39,16,2,1,0.775,-2.7475 } ); +cells.push_back( {11703912,1537,39,17,1,1,0.825,-2.69793 } ); +cells.push_back( {11703922,1557,39,17,2,1,0.825,-2.7475 } ); +cells.push_back( {11803912,1538,39,18,1,1,0.875,-2.69793 } ); +cells.push_back( {11803922,1558,39,18,2,1,0.875,-2.7475 } ); +cells.push_back( {11903912,1539,39,19,1,1,0.925,-2.69793 } ); +cells.push_back( {11903922,1559,39,19,2,1,0.925,-2.7475 } ); +cells.push_back( {12003912,1540,39,20,1,1,0.967,-2.69793 } ); +cells.push_back( {12003922,1560,39,20,2,1,0.967,-2.7475 } ); +cells.push_back( {10104011,1561,40,1,1,2,0.02675,-2.80265 } ); +cells.push_back( {10104021,1581,40,1,2,2,0.02675,-2.85221 } ); +cells.push_back( {10204011,1562,40,2,1,2,0.075,-2.80265 } ); +cells.push_back( {10204021,1582,40,2,2,2,0.075,-2.85221 } ); +cells.push_back( {10304011,1563,40,3,1,2,0.125,-2.80265 } ); +cells.push_back( {10304021,1583,40,3,2,2,0.125,-2.85221 } ); +cells.push_back( {10404011,1564,40,4,1,2,0.175,-2.80265 } ); +cells.push_back( {10404021,1584,40,4,2,2,0.175,-2.85221 } ); +cells.push_back( {10504011,1565,40,5,1,2,0.225,-2.80265 } ); +cells.push_back( {10504021,1585,40,5,2,2,0.225,-2.85221 } ); +cells.push_back( {10604011,1566,40,6,1,2,0.275,-2.80265 } ); +cells.push_back( {10604021,1586,40,6,2,2,0.275,-2.85221 } ); +cells.push_back( {10704011,1567,40,7,1,2,0.325,-2.80265 } ); +cells.push_back( {10704021,1587,40,7,2,2,0.325,-2.85221 } ); +cells.push_back( {10804011,1568,40,8,1,2,0.375,-2.80265 } ); +cells.push_back( {10804021,1588,40,8,2,2,0.375,-2.85221 } ); +cells.push_back( {10904011,1569,40,9,1,2,0.425,-2.80265 } ); +cells.push_back( {10904021,1589,40,9,2,2,0.425,-2.85221 } ); +cells.push_back( {11004011,1570,40,10,1,2,0.475,-2.80265 } ); +cells.push_back( {11004021,1590,40,10,2,2,0.475,-2.85221 } ); +cells.push_back( {11104011,1571,40,11,1,2,0.525,-2.80265 } ); +cells.push_back( {11104021,1591,40,11,2,2,0.525,-2.85221 } ); +cells.push_back( {11204011,1572,40,12,1,2,0.575,-2.80265 } ); +cells.push_back( {11204021,1592,40,12,2,2,0.575,-2.85221 } ); +cells.push_back( {11304011,1573,40,13,1,2,0.625,-2.80265 } ); +cells.push_back( {11304021,1593,40,13,2,2,0.625,-2.85221 } ); +cells.push_back( {11404011,1574,40,14,1,2,0.675,-2.80265 } ); +cells.push_back( {11404021,1594,40,14,2,2,0.675,-2.85221 } ); +cells.push_back( {11504011,1575,40,15,1,2,0.725,-2.80265 } ); +cells.push_back( {11504021,1595,40,15,2,2,0.725,-2.85221 } ); +cells.push_back( {11604011,1576,40,16,1,2,0.775,-2.80265 } ); +cells.push_back( {11604021,1596,40,16,2,2,0.775,-2.85221 } ); +cells.push_back( {11704011,1577,40,17,1,2,0.825,-2.80265 } ); +cells.push_back( {11704021,1597,40,17,2,2,0.825,-2.85221 } ); +cells.push_back( {11804011,1578,40,18,1,2,0.875,-2.80265 } ); +cells.push_back( {11804021,1598,40,18,2,2,0.875,-2.85221 } ); +cells.push_back( {11904011,1579,40,19,1,2,0.925,-2.80265 } ); +cells.push_back( {11904021,1599,40,19,2,2,0.925,-2.85221 } ); +cells.push_back( {12004011,1580,40,20,1,2,0.967,-2.80265 } ); +cells.push_back( {12004021,1600,40,20,2,2,0.967,-2.85221 } ); +cells.push_back( {10104012,1561,40,1,1,1,0.02675,-2.80265 } ); +cells.push_back( {10104022,1581,40,1,2,1,0.02675,-2.85221 } ); +cells.push_back( {10204012,1562,40,2,1,1,0.075,-2.80265 } ); +cells.push_back( {10204022,1582,40,2,2,1,0.075,-2.85221 } ); +cells.push_back( {10304012,1563,40,3,1,1,0.125,-2.80265 } ); +cells.push_back( {10304022,1583,40,3,2,1,0.125,-2.85221 } ); +cells.push_back( {10404012,1564,40,4,1,1,0.175,-2.80265 } ); +cells.push_back( {10404022,1584,40,4,2,1,0.175,-2.85221 } ); +cells.push_back( {10504012,1565,40,5,1,1,0.225,-2.80265 } ); +cells.push_back( {10504022,1585,40,5,2,1,0.225,-2.85221 } ); +cells.push_back( {10604012,1566,40,6,1,1,0.275,-2.80265 } ); +cells.push_back( {10604022,1586,40,6,2,1,0.275,-2.85221 } ); +cells.push_back( {10704012,1567,40,7,1,1,0.325,-2.80265 } ); +cells.push_back( {10704022,1587,40,7,2,1,0.325,-2.85221 } ); +cells.push_back( {10804012,1568,40,8,1,1,0.375,-2.80265 } ); +cells.push_back( {10804022,1588,40,8,2,1,0.375,-2.85221 } ); +cells.push_back( {10904012,1569,40,9,1,1,0.425,-2.80265 } ); +cells.push_back( {10904022,1589,40,9,2,1,0.425,-2.85221 } ); +cells.push_back( {11004012,1570,40,10,1,1,0.475,-2.80265 } ); +cells.push_back( {11004022,1590,40,10,2,1,0.475,-2.85221 } ); +cells.push_back( {11104012,1571,40,11,1,1,0.525,-2.80265 } ); +cells.push_back( {11104022,1591,40,11,2,1,0.525,-2.85221 } ); +cells.push_back( {11204012,1572,40,12,1,1,0.575,-2.80265 } ); +cells.push_back( {11204022,1592,40,12,2,1,0.575,-2.85221 } ); +cells.push_back( {11304012,1573,40,13,1,1,0.625,-2.80265 } ); +cells.push_back( {11304022,1593,40,13,2,1,0.625,-2.85221 } ); +cells.push_back( {11404012,1574,40,14,1,1,0.675,-2.80265 } ); +cells.push_back( {11404022,1594,40,14,2,1,0.675,-2.85221 } ); +cells.push_back( {11504012,1575,40,15,1,1,0.725,-2.80265 } ); +cells.push_back( {11504022,1595,40,15,2,1,0.725,-2.85221 } ); +cells.push_back( {11604012,1576,40,16,1,1,0.775,-2.80265 } ); +cells.push_back( {11604022,1596,40,16,2,1,0.775,-2.85221 } ); +cells.push_back( {11704012,1577,40,17,1,1,0.825,-2.80265 } ); +cells.push_back( {11704022,1597,40,17,2,1,0.825,-2.85221 } ); +cells.push_back( {11804012,1578,40,18,1,1,0.875,-2.80265 } ); +cells.push_back( {11804022,1598,40,18,2,1,0.875,-2.85221 } ); +cells.push_back( {11904012,1579,40,19,1,1,0.925,-2.80265 } ); +cells.push_back( {11904022,1599,40,19,2,1,0.925,-2.85221 } ); +cells.push_back( {12004012,1580,40,20,1,1,0.967,-2.80265 } ); +cells.push_back( {12004022,1600,40,20,2,1,0.967,-2.85221 } ); +cells.push_back( {10104111,1601,41,1,1,2,0.02675,-2.90737 } ); +cells.push_back( {10104121,1621,41,1,2,2,0.02675,-2.95693 } ); +cells.push_back( {10204111,1602,41,2,1,2,0.075,-2.90737 } ); +cells.push_back( {10204121,1622,41,2,2,2,0.075,-2.95693 } ); +cells.push_back( {10304111,1603,41,3,1,2,0.125,-2.90737 } ); +cells.push_back( {10304121,1623,41,3,2,2,0.125,-2.95693 } ); +cells.push_back( {10404111,1604,41,4,1,2,0.175,-2.90737 } ); +cells.push_back( {10404121,1624,41,4,2,2,0.175,-2.95693 } ); +cells.push_back( {10504111,1605,41,5,1,2,0.225,-2.90737 } ); +cells.push_back( {10504121,1625,41,5,2,2,0.225,-2.95693 } ); +cells.push_back( {10604111,1606,41,6,1,2,0.275,-2.90737 } ); +cells.push_back( {10604121,1626,41,6,2,2,0.275,-2.95693 } ); +cells.push_back( {10704111,1607,41,7,1,2,0.325,-2.90737 } ); +cells.push_back( {10704121,1627,41,7,2,2,0.325,-2.95693 } ); +cells.push_back( {10804111,1608,41,8,1,2,0.375,-2.90737 } ); +cells.push_back( {10804121,1628,41,8,2,2,0.375,-2.95693 } ); +cells.push_back( {10904111,1609,41,9,1,2,0.425,-2.90737 } ); +cells.push_back( {10904121,1629,41,9,2,2,0.425,-2.95693 } ); +cells.push_back( {11004111,1610,41,10,1,2,0.475,-2.90737 } ); +cells.push_back( {11004121,1630,41,10,2,2,0.475,-2.95693 } ); +cells.push_back( {11104111,1611,41,11,1,2,0.525,-2.90737 } ); +cells.push_back( {11104121,1631,41,11,2,2,0.525,-2.95693 } ); +cells.push_back( {11204111,1612,41,12,1,2,0.575,-2.90737 } ); +cells.push_back( {11204121,1632,41,12,2,2,0.575,-2.95693 } ); +cells.push_back( {11304111,1613,41,13,1,2,0.625,-2.90737 } ); +cells.push_back( {11304121,1633,41,13,2,2,0.625,-2.95693 } ); +cells.push_back( {11404111,1614,41,14,1,2,0.675,-2.90737 } ); +cells.push_back( {11404121,1634,41,14,2,2,0.675,-2.95693 } ); +cells.push_back( {11504111,1615,41,15,1,2,0.725,-2.90737 } ); +cells.push_back( {11504121,1635,41,15,2,2,0.725,-2.95693 } ); +cells.push_back( {11604111,1616,41,16,1,2,0.775,-2.90737 } ); +cells.push_back( {11604121,1636,41,16,2,2,0.775,-2.95693 } ); +cells.push_back( {11704111,1617,41,17,1,2,0.825,-2.90737 } ); +cells.push_back( {11704121,1637,41,17,2,2,0.825,-2.95693 } ); +cells.push_back( {11804111,1618,41,18,1,2,0.875,-2.90737 } ); +cells.push_back( {11804121,1638,41,18,2,2,0.875,-2.95693 } ); +cells.push_back( {11904111,1619,41,19,1,2,0.925,-2.90737 } ); +cells.push_back( {11904121,1639,41,19,2,2,0.925,-2.95693 } ); +cells.push_back( {12004111,1620,41,20,1,2,0.967,-2.90737 } ); +cells.push_back( {12004121,1640,41,20,2,2,0.967,-2.95693 } ); +cells.push_back( {10104112,1601,41,1,1,1,0.02675,-2.90737 } ); +cells.push_back( {10104122,1621,41,1,2,1,0.02675,-2.95693 } ); +cells.push_back( {10204112,1602,41,2,1,1,0.075,-2.90737 } ); +cells.push_back( {10204122,1622,41,2,2,1,0.075,-2.95693 } ); +cells.push_back( {10304112,1603,41,3,1,1,0.125,-2.90737 } ); +cells.push_back( {10304122,1623,41,3,2,1,0.125,-2.95693 } ); +cells.push_back( {10404112,1604,41,4,1,1,0.175,-2.90737 } ); +cells.push_back( {10404122,1624,41,4,2,1,0.175,-2.95693 } ); +cells.push_back( {10504112,1605,41,5,1,1,0.225,-2.90737 } ); +cells.push_back( {10504122,1625,41,5,2,1,0.225,-2.95693 } ); +cells.push_back( {10604112,1606,41,6,1,1,0.275,-2.90737 } ); +cells.push_back( {10604122,1626,41,6,2,1,0.275,-2.95693 } ); +cells.push_back( {10704112,1607,41,7,1,1,0.325,-2.90737 } ); +cells.push_back( {10704122,1627,41,7,2,1,0.325,-2.95693 } ); +cells.push_back( {10804112,1608,41,8,1,1,0.375,-2.90737 } ); +cells.push_back( {10804122,1628,41,8,2,1,0.375,-2.95693 } ); +cells.push_back( {10904112,1609,41,9,1,1,0.425,-2.90737 } ); +cells.push_back( {10904122,1629,41,9,2,1,0.425,-2.95693 } ); +cells.push_back( {11004112,1610,41,10,1,1,0.475,-2.90737 } ); +cells.push_back( {11004122,1630,41,10,2,1,0.475,-2.95693 } ); +cells.push_back( {11104112,1611,41,11,1,1,0.525,-2.90737 } ); +cells.push_back( {11104122,1631,41,11,2,1,0.525,-2.95693 } ); +cells.push_back( {11204112,1612,41,12,1,1,0.575,-2.90737 } ); +cells.push_back( {11204122,1632,41,12,2,1,0.575,-2.95693 } ); +cells.push_back( {11304112,1613,41,13,1,1,0.625,-2.90737 } ); +cells.push_back( {11304122,1633,41,13,2,1,0.625,-2.95693 } ); +cells.push_back( {11404112,1614,41,14,1,1,0.675,-2.90737 } ); +cells.push_back( {11404122,1634,41,14,2,1,0.675,-2.95693 } ); +cells.push_back( {11504112,1615,41,15,1,1,0.725,-2.90737 } ); +cells.push_back( {11504122,1635,41,15,2,1,0.725,-2.95693 } ); +cells.push_back( {11604112,1616,41,16,1,1,0.775,-2.90737 } ); +cells.push_back( {11604122,1636,41,16,2,1,0.775,-2.95693 } ); +cells.push_back( {11704112,1617,41,17,1,1,0.825,-2.90737 } ); +cells.push_back( {11704122,1637,41,17,2,1,0.825,-2.95693 } ); +cells.push_back( {11804112,1618,41,18,1,1,0.875,-2.90737 } ); +cells.push_back( {11804122,1638,41,18,2,1,0.875,-2.95693 } ); +cells.push_back( {11904112,1619,41,19,1,1,0.925,-2.90737 } ); +cells.push_back( {11904122,1639,41,19,2,1,0.925,-2.95693 } ); +cells.push_back( {12004112,1620,41,20,1,1,0.967,-2.90737 } ); +cells.push_back( {12004122,1640,41,20,2,1,0.967,-2.95693 } ); +cells.push_back( {10104211,1641,42,1,1,2,0.02675,-3.01209 } ); +cells.push_back( {10104221,1661,42,1,2,2,0.02675,-3.06165 } ); +cells.push_back( {10204211,1642,42,2,1,2,0.075,-3.01209 } ); +cells.push_back( {10204221,1662,42,2,2,2,0.075,-3.06165 } ); +cells.push_back( {10304211,1643,42,3,1,2,0.125,-3.01209 } ); +cells.push_back( {10304221,1663,42,3,2,2,0.125,-3.06165 } ); +cells.push_back( {10404211,1644,42,4,1,2,0.175,-3.01209 } ); +cells.push_back( {10404221,1664,42,4,2,2,0.175,-3.06165 } ); +cells.push_back( {10504211,1645,42,5,1,2,0.225,-3.01209 } ); +cells.push_back( {10504221,1665,42,5,2,2,0.225,-3.06165 } ); +cells.push_back( {10604211,1646,42,6,1,2,0.275,-3.01209 } ); +cells.push_back( {10604221,1666,42,6,2,2,0.275,-3.06165 } ); +cells.push_back( {10704211,1647,42,7,1,2,0.325,-3.01209 } ); +cells.push_back( {10704221,1667,42,7,2,2,0.325,-3.06165 } ); +cells.push_back( {10804211,1648,42,8,1,2,0.375,-3.01209 } ); +cells.push_back( {10804221,1668,42,8,2,2,0.375,-3.06165 } ); +cells.push_back( {10904211,1649,42,9,1,2,0.425,-3.01209 } ); +cells.push_back( {10904221,1669,42,9,2,2,0.425,-3.06165 } ); +cells.push_back( {11004211,1650,42,10,1,2,0.475,-3.01209 } ); +cells.push_back( {11004221,1670,42,10,2,2,0.475,-3.06165 } ); +cells.push_back( {11104211,1651,42,11,1,2,0.525,-3.01209 } ); +cells.push_back( {11104221,1671,42,11,2,2,0.525,-3.06165 } ); +cells.push_back( {11204211,1652,42,12,1,2,0.575,-3.01209 } ); +cells.push_back( {11204221,1672,42,12,2,2,0.575,-3.06165 } ); +cells.push_back( {11304211,1653,42,13,1,2,0.625,-3.01209 } ); +cells.push_back( {11304221,1673,42,13,2,2,0.625,-3.06165 } ); +cells.push_back( {11404211,1654,42,14,1,2,0.675,-3.01209 } ); +cells.push_back( {11404221,1674,42,14,2,2,0.675,-3.06165 } ); +cells.push_back( {11504211,1655,42,15,1,2,0.725,-3.01209 } ); +cells.push_back( {11504221,1675,42,15,2,2,0.725,-3.06165 } ); +cells.push_back( {11604211,1656,42,16,1,2,0.775,-3.01209 } ); +cells.push_back( {11604221,1676,42,16,2,2,0.775,-3.06165 } ); +cells.push_back( {11704211,1657,42,17,1,2,0.825,-3.01209 } ); +cells.push_back( {11704221,1677,42,17,2,2,0.825,-3.06165 } ); +cells.push_back( {11804211,1658,42,18,1,2,0.875,-3.01209 } ); +cells.push_back( {11804221,1678,42,18,2,2,0.875,-3.06165 } ); +cells.push_back( {11904211,1659,42,19,1,2,0.925,-3.01209 } ); +cells.push_back( {11904221,1679,42,19,2,2,0.925,-3.06165 } ); +cells.push_back( {12004211,1660,42,20,1,2,0.967,-3.01209 } ); +cells.push_back( {12004221,1680,42,20,2,2,0.967,-3.06165 } ); +cells.push_back( {10104212,1641,42,1,1,1,0.02675,-3.01209 } ); +cells.push_back( {10104222,1661,42,1,2,1,0.02675,-3.06165 } ); +cells.push_back( {10204212,1642,42,2,1,1,0.075,-3.01209 } ); +cells.push_back( {10204222,1662,42,2,2,1,0.075,-3.06165 } ); +cells.push_back( {10304212,1643,42,3,1,1,0.125,-3.01209 } ); +cells.push_back( {10304222,1663,42,3,2,1,0.125,-3.06165 } ); +cells.push_back( {10404212,1644,42,4,1,1,0.175,-3.01209 } ); +cells.push_back( {10404222,1664,42,4,2,1,0.175,-3.06165 } ); +cells.push_back( {10504212,1645,42,5,1,1,0.225,-3.01209 } ); +cells.push_back( {10504222,1665,42,5,2,1,0.225,-3.06165 } ); +cells.push_back( {10604212,1646,42,6,1,1,0.275,-3.01209 } ); +cells.push_back( {10604222,1666,42,6,2,1,0.275,-3.06165 } ); +cells.push_back( {10704212,1647,42,7,1,1,0.325,-3.01209 } ); +cells.push_back( {10704222,1667,42,7,2,1,0.325,-3.06165 } ); +cells.push_back( {10804212,1648,42,8,1,1,0.375,-3.01209 } ); +cells.push_back( {10804222,1668,42,8,2,1,0.375,-3.06165 } ); +cells.push_back( {10904212,1649,42,9,1,1,0.425,-3.01209 } ); +cells.push_back( {10904222,1669,42,9,2,1,0.425,-3.06165 } ); +cells.push_back( {11004212,1650,42,10,1,1,0.475,-3.01209 } ); +cells.push_back( {11004222,1670,42,10,2,1,0.475,-3.06165 } ); +cells.push_back( {11104212,1651,42,11,1,1,0.525,-3.01209 } ); +cells.push_back( {11104222,1671,42,11,2,1,0.525,-3.06165 } ); +cells.push_back( {11204212,1652,42,12,1,1,0.575,-3.01209 } ); +cells.push_back( {11204222,1672,42,12,2,1,0.575,-3.06165 } ); +cells.push_back( {11304212,1653,42,13,1,1,0.625,-3.01209 } ); +cells.push_back( {11304222,1673,42,13,2,1,0.625,-3.06165 } ); +cells.push_back( {11404212,1654,42,14,1,1,0.675,-3.01209 } ); +cells.push_back( {11404222,1674,42,14,2,1,0.675,-3.06165 } ); +cells.push_back( {11504212,1655,42,15,1,1,0.725,-3.01209 } ); +cells.push_back( {11504222,1675,42,15,2,1,0.725,-3.06165 } ); +cells.push_back( {11604212,1656,42,16,1,1,0.775,-3.01209 } ); +cells.push_back( {11604222,1676,42,16,2,1,0.775,-3.06165 } ); +cells.push_back( {11704212,1657,42,17,1,1,0.825,-3.01209 } ); +cells.push_back( {11704222,1677,42,17,2,1,0.825,-3.06165 } ); +cells.push_back( {11804212,1658,42,18,1,1,0.875,-3.01209 } ); +cells.push_back( {11804222,1678,42,18,2,1,0.875,-3.06165 } ); +cells.push_back( {11904212,1659,42,19,1,1,0.925,-3.01209 } ); +cells.push_back( {11904222,1679,42,19,2,1,0.925,-3.06165 } ); +cells.push_back( {12004212,1660,42,20,1,1,0.967,-3.01209 } ); +cells.push_back( {12004222,1680,42,20,2,1,0.967,-3.06165 } ); +cells.push_back( {10104311,1681,43,1,1,2,0.02675,-3.11681 } ); +cells.push_back( {10104321,1701,43,1,2,2,0.02675,3.11681 } ); +cells.push_back( {10204311,1682,43,2,1,2,0.075,-3.11681 } ); +cells.push_back( {10204321,1702,43,2,2,2,0.075,3.11681 } ); +cells.push_back( {10304311,1683,43,3,1,2,0.125,-3.11681 } ); +cells.push_back( {10304321,1703,43,3,2,2,0.125,3.11681 } ); +cells.push_back( {10404311,1684,43,4,1,2,0.175,-3.11681 } ); +cells.push_back( {10404321,1704,43,4,2,2,0.175,3.11681 } ); +cells.push_back( {10504311,1685,43,5,1,2,0.225,-3.11681 } ); +cells.push_back( {10504321,1705,43,5,2,2,0.225,3.11681 } ); +cells.push_back( {10604311,1686,43,6,1,2,0.275,-3.11681 } ); +cells.push_back( {10604321,1706,43,6,2,2,0.275,3.11681 } ); +cells.push_back( {10704311,1687,43,7,1,2,0.325,-3.11681 } ); +cells.push_back( {10704321,1707,43,7,2,2,0.325,3.11681 } ); +cells.push_back( {10804311,1688,43,8,1,2,0.375,-3.11681 } ); +cells.push_back( {10804321,1708,43,8,2,2,0.375,3.11681 } ); +cells.push_back( {10904311,1689,43,9,1,2,0.425,-3.11681 } ); +cells.push_back( {10904321,1709,43,9,2,2,0.425,3.11681 } ); +cells.push_back( {11004311,1690,43,10,1,2,0.475,-3.11681 } ); +cells.push_back( {11004321,1710,43,10,2,2,0.475,3.11681 } ); +cells.push_back( {11104311,1691,43,11,1,2,0.525,-3.11681 } ); +cells.push_back( {11104321,1711,43,11,2,2,0.525,3.11681 } ); +cells.push_back( {11204311,1692,43,12,1,2,0.575,-3.11681 } ); +cells.push_back( {11204321,1712,43,12,2,2,0.575,3.11681 } ); +cells.push_back( {11304311,1693,43,13,1,2,0.625,-3.11681 } ); +cells.push_back( {11304321,1713,43,13,2,2,0.625,3.11681 } ); +cells.push_back( {11404311,1694,43,14,1,2,0.675,-3.11681 } ); +cells.push_back( {11404321,1714,43,14,2,2,0.675,3.11681 } ); +cells.push_back( {11504311,1695,43,15,1,2,0.725,-3.11681 } ); +cells.push_back( {11504321,1715,43,15,2,2,0.725,3.11681 } ); +cells.push_back( {11604311,1696,43,16,1,2,0.775,-3.11681 } ); +cells.push_back( {11604321,1716,43,16,2,2,0.775,3.11681 } ); +cells.push_back( {11704311,1697,43,17,1,2,0.825,-3.11681 } ); +cells.push_back( {11704321,1717,43,17,2,2,0.825,3.11681 } ); +cells.push_back( {11804311,1698,43,18,1,2,0.875,-3.11681 } ); +cells.push_back( {11804321,1718,43,18,2,2,0.875,3.11681 } ); +cells.push_back( {11904311,1699,43,19,1,2,0.925,-3.11681 } ); +cells.push_back( {11904321,1719,43,19,2,2,0.925,3.11681 } ); +cells.push_back( {12004311,1700,43,20,1,2,0.967,-3.11681 } ); +cells.push_back( {12004321,1720,43,20,2,2,0.967,3.11681 } ); +cells.push_back( {10104312,1681,43,1,1,1,0.02675,-3.11681 } ); +cells.push_back( {10104322,1701,43,1,2,1,0.02675,3.11681 } ); +cells.push_back( {10204312,1682,43,2,1,1,0.075,-3.11681 } ); +cells.push_back( {10204322,1702,43,2,2,1,0.075,3.11681 } ); +cells.push_back( {10304312,1683,43,3,1,1,0.125,-3.11681 } ); +cells.push_back( {10304322,1703,43,3,2,1,0.125,3.11681 } ); +cells.push_back( {10404312,1684,43,4,1,1,0.175,-3.11681 } ); +cells.push_back( {10404322,1704,43,4,2,1,0.175,3.11681 } ); +cells.push_back( {10504312,1685,43,5,1,1,0.225,-3.11681 } ); +cells.push_back( {10504322,1705,43,5,2,1,0.225,3.11681 } ); +cells.push_back( {10604312,1686,43,6,1,1,0.275,-3.11681 } ); +cells.push_back( {10604322,1706,43,6,2,1,0.275,3.11681 } ); +cells.push_back( {10704312,1687,43,7,1,1,0.325,-3.11681 } ); +cells.push_back( {10704322,1707,43,7,2,1,0.325,3.11681 } ); +cells.push_back( {10804312,1688,43,8,1,1,0.375,-3.11681 } ); +cells.push_back( {10804322,1708,43,8,2,1,0.375,3.11681 } ); +cells.push_back( {10904312,1689,43,9,1,1,0.425,-3.11681 } ); +cells.push_back( {10904322,1709,43,9,2,1,0.425,3.11681 } ); +cells.push_back( {11004312,1690,43,10,1,1,0.475,-3.11681 } ); +cells.push_back( {11004322,1710,43,10,2,1,0.475,3.11681 } ); +cells.push_back( {11104312,1691,43,11,1,1,0.525,-3.11681 } ); +cells.push_back( {11104322,1711,43,11,2,1,0.525,3.11681 } ); +cells.push_back( {11204312,1692,43,12,1,1,0.575,-3.11681 } ); +cells.push_back( {11204322,1712,43,12,2,1,0.575,3.11681 } ); +cells.push_back( {11304312,1693,43,13,1,1,0.625,-3.11681 } ); +cells.push_back( {11304322,1713,43,13,2,1,0.625,3.11681 } ); +cells.push_back( {11404312,1694,43,14,1,1,0.675,-3.11681 } ); +cells.push_back( {11404322,1714,43,14,2,1,0.675,3.11681 } ); +cells.push_back( {11504312,1695,43,15,1,1,0.725,-3.11681 } ); +cells.push_back( {11504322,1715,43,15,2,1,0.725,3.11681 } ); +cells.push_back( {11604312,1696,43,16,1,1,0.775,-3.11681 } ); +cells.push_back( {11604322,1716,43,16,2,1,0.775,3.11681 } ); +cells.push_back( {11704312,1697,43,17,1,1,0.825,-3.11681 } ); +cells.push_back( {11704322,1717,43,17,2,1,0.825,3.11681 } ); +cells.push_back( {11804312,1698,43,18,1,1,0.875,-3.11681 } ); +cells.push_back( {11804322,1718,43,18,2,1,0.875,3.11681 } ); +cells.push_back( {11904312,1699,43,19,1,1,0.925,-3.11681 } ); +cells.push_back( {11904322,1719,43,19,2,1,0.925,3.11681 } ); +cells.push_back( {12004312,1700,43,20,1,1,0.967,-3.11681 } ); +cells.push_back( {12004322,1720,43,20,2,1,0.967,3.11681 } ); +cells.push_back( {10104411,1721,44,1,1,2,0.02675,3.06165 } ); +cells.push_back( {10104421,1741,44,1,2,2,0.02675,3.01209 } ); +cells.push_back( {10204411,1722,44,2,1,2,0.075,3.06165 } ); +cells.push_back( {10204421,1742,44,2,2,2,0.075,3.01209 } ); +cells.push_back( {10304411,1723,44,3,1,2,0.125,3.06165 } ); +cells.push_back( {10304421,1743,44,3,2,2,0.125,3.01209 } ); +cells.push_back( {10404411,1724,44,4,1,2,0.175,3.06165 } ); +cells.push_back( {10404421,1744,44,4,2,2,0.175,3.01209 } ); +cells.push_back( {10504411,1725,44,5,1,2,0.225,3.06165 } ); +cells.push_back( {10504421,1745,44,5,2,2,0.225,3.01209 } ); +cells.push_back( {10604411,1726,44,6,1,2,0.275,3.06165 } ); +cells.push_back( {10604421,1746,44,6,2,2,0.275,3.01209 } ); +cells.push_back( {10704411,1727,44,7,1,2,0.325,3.06165 } ); +cells.push_back( {10704421,1747,44,7,2,2,0.325,3.01209 } ); +cells.push_back( {10804411,1728,44,8,1,2,0.375,3.06165 } ); +cells.push_back( {10804421,1748,44,8,2,2,0.375,3.01209 } ); +cells.push_back( {10904411,1729,44,9,1,2,0.425,3.06165 } ); +cells.push_back( {10904421,1749,44,9,2,2,0.425,3.01209 } ); +cells.push_back( {11004411,1730,44,10,1,2,0.475,3.06165 } ); +cells.push_back( {11004421,1750,44,10,2,2,0.475,3.01209 } ); +cells.push_back( {11104411,1731,44,11,1,2,0.525,3.06165 } ); +cells.push_back( {11104421,1751,44,11,2,2,0.525,3.01209 } ); +cells.push_back( {11204411,1732,44,12,1,2,0.575,3.06165 } ); +cells.push_back( {11204421,1752,44,12,2,2,0.575,3.01209 } ); +cells.push_back( {11304411,1733,44,13,1,2,0.625,3.06165 } ); +cells.push_back( {11304421,1753,44,13,2,2,0.625,3.01209 } ); +cells.push_back( {11404411,1734,44,14,1,2,0.675,3.06165 } ); +cells.push_back( {11404421,1754,44,14,2,2,0.675,3.01209 } ); +cells.push_back( {11504411,1735,44,15,1,2,0.725,3.06165 } ); +cells.push_back( {11504421,1755,44,15,2,2,0.725,3.01209 } ); +cells.push_back( {11604411,1736,44,16,1,2,0.775,3.06165 } ); +cells.push_back( {11604421,1756,44,16,2,2,0.775,3.01209 } ); +cells.push_back( {11704411,1737,44,17,1,2,0.825,3.06165 } ); +cells.push_back( {11704421,1757,44,17,2,2,0.825,3.01209 } ); +cells.push_back( {11804411,1738,44,18,1,2,0.875,3.06165 } ); +cells.push_back( {11804421,1758,44,18,2,2,0.875,3.01209 } ); +cells.push_back( {11904411,1739,44,19,1,2,0.925,3.06165 } ); +cells.push_back( {11904421,1759,44,19,2,2,0.925,3.01209 } ); +cells.push_back( {12004411,1740,44,20,1,2,0.967,3.06165 } ); +cells.push_back( {12004421,1760,44,20,2,2,0.967,3.01209 } ); +cells.push_back( {10104412,1721,44,1,1,1,0.02675,3.06165 } ); +cells.push_back( {10104422,1741,44,1,2,1,0.02675,3.01209 } ); +cells.push_back( {10204412,1722,44,2,1,1,0.075,3.06165 } ); +cells.push_back( {10204422,1742,44,2,2,1,0.075,3.01209 } ); +cells.push_back( {10304412,1723,44,3,1,1,0.125,3.06165 } ); +cells.push_back( {10304422,1743,44,3,2,1,0.125,3.01209 } ); +cells.push_back( {10404412,1724,44,4,1,1,0.175,3.06165 } ); +cells.push_back( {10404422,1744,44,4,2,1,0.175,3.01209 } ); +cells.push_back( {10504412,1725,44,5,1,1,0.225,3.06165 } ); +cells.push_back( {10504422,1745,44,5,2,1,0.225,3.01209 } ); +cells.push_back( {10604412,1726,44,6,1,1,0.275,3.06165 } ); +cells.push_back( {10604422,1746,44,6,2,1,0.275,3.01209 } ); +cells.push_back( {10704412,1727,44,7,1,1,0.325,3.06165 } ); +cells.push_back( {10704422,1747,44,7,2,1,0.325,3.01209 } ); +cells.push_back( {10804412,1728,44,8,1,1,0.375,3.06165 } ); +cells.push_back( {10804422,1748,44,8,2,1,0.375,3.01209 } ); +cells.push_back( {10904412,1729,44,9,1,1,0.425,3.06165 } ); +cells.push_back( {10904422,1749,44,9,2,1,0.425,3.01209 } ); +cells.push_back( {11004412,1730,44,10,1,1,0.475,3.06165 } ); +cells.push_back( {11004422,1750,44,10,2,1,0.475,3.01209 } ); +cells.push_back( {11104412,1731,44,11,1,1,0.525,3.06165 } ); +cells.push_back( {11104422,1751,44,11,2,1,0.525,3.01209 } ); +cells.push_back( {11204412,1732,44,12,1,1,0.575,3.06165 } ); +cells.push_back( {11204422,1752,44,12,2,1,0.575,3.01209 } ); +cells.push_back( {11304412,1733,44,13,1,1,0.625,3.06165 } ); +cells.push_back( {11304422,1753,44,13,2,1,0.625,3.01209 } ); +cells.push_back( {11404412,1734,44,14,1,1,0.675,3.06165 } ); +cells.push_back( {11404422,1754,44,14,2,1,0.675,3.01209 } ); +cells.push_back( {11504412,1735,44,15,1,1,0.725,3.06165 } ); +cells.push_back( {11504422,1755,44,15,2,1,0.725,3.01209 } ); +cells.push_back( {11604412,1736,44,16,1,1,0.775,3.06165 } ); +cells.push_back( {11604422,1756,44,16,2,1,0.775,3.01209 } ); +cells.push_back( {11704412,1737,44,17,1,1,0.825,3.06165 } ); +cells.push_back( {11704422,1757,44,17,2,1,0.825,3.01209 } ); +cells.push_back( {11804412,1738,44,18,1,1,0.875,3.06165 } ); +cells.push_back( {11804422,1758,44,18,2,1,0.875,3.01209 } ); +cells.push_back( {11904412,1739,44,19,1,1,0.925,3.06165 } ); +cells.push_back( {11904422,1759,44,19,2,1,0.925,3.01209 } ); +cells.push_back( {12004412,1740,44,20,1,1,0.967,3.06165 } ); +cells.push_back( {12004422,1760,44,20,2,1,0.967,3.01209 } ); +cells.push_back( {10104511,1761,45,1,1,2,0.02675,2.95693 } ); +cells.push_back( {10104521,1781,45,1,2,2,0.02675,2.90737 } ); +cells.push_back( {10204511,1762,45,2,1,2,0.075,2.95693 } ); +cells.push_back( {10204521,1782,45,2,2,2,0.075,2.90737 } ); +cells.push_back( {10304511,1763,45,3,1,2,0.125,2.95693 } ); +cells.push_back( {10304521,1783,45,3,2,2,0.125,2.90737 } ); +cells.push_back( {10404511,1764,45,4,1,2,0.175,2.95693 } ); +cells.push_back( {10404521,1784,45,4,2,2,0.175,2.90737 } ); +cells.push_back( {10504511,1765,45,5,1,2,0.225,2.95693 } ); +cells.push_back( {10504521,1785,45,5,2,2,0.225,2.90737 } ); +cells.push_back( {10604511,1766,45,6,1,2,0.275,2.95693 } ); +cells.push_back( {10604521,1786,45,6,2,2,0.275,2.90737 } ); +cells.push_back( {10704511,1767,45,7,1,2,0.325,2.95693 } ); +cells.push_back( {10704521,1787,45,7,2,2,0.325,2.90737 } ); +cells.push_back( {10804511,1768,45,8,1,2,0.375,2.95693 } ); +cells.push_back( {10804521,1788,45,8,2,2,0.375,2.90737 } ); +cells.push_back( {10904511,1769,45,9,1,2,0.425,2.95693 } ); +cells.push_back( {10904521,1789,45,9,2,2,0.425,2.90737 } ); +cells.push_back( {11004511,1770,45,10,1,2,0.475,2.95693 } ); +cells.push_back( {11004521,1790,45,10,2,2,0.475,2.90737 } ); +cells.push_back( {11104511,1771,45,11,1,2,0.525,2.95693 } ); +cells.push_back( {11104521,1791,45,11,2,2,0.525,2.90737 } ); +cells.push_back( {11204511,1772,45,12,1,2,0.575,2.95693 } ); +cells.push_back( {11204521,1792,45,12,2,2,0.575,2.90737 } ); +cells.push_back( {11304511,1773,45,13,1,2,0.625,2.95693 } ); +cells.push_back( {11304521,1793,45,13,2,2,0.625,2.90737 } ); +cells.push_back( {11404511,1774,45,14,1,2,0.675,2.95693 } ); +cells.push_back( {11404521,1794,45,14,2,2,0.675,2.90737 } ); +cells.push_back( {11504511,1775,45,15,1,2,0.725,2.95693 } ); +cells.push_back( {11504521,1795,45,15,2,2,0.725,2.90737 } ); +cells.push_back( {11604511,1776,45,16,1,2,0.775,2.95693 } ); +cells.push_back( {11604521,1796,45,16,2,2,0.775,2.90737 } ); +cells.push_back( {11704511,1777,45,17,1,2,0.825,2.95693 } ); +cells.push_back( {11704521,1797,45,17,2,2,0.825,2.90737 } ); +cells.push_back( {11804511,1778,45,18,1,2,0.875,2.95693 } ); +cells.push_back( {11804521,1798,45,18,2,2,0.875,2.90737 } ); +cells.push_back( {11904511,1779,45,19,1,2,0.925,2.95693 } ); +cells.push_back( {11904521,1799,45,19,2,2,0.925,2.90737 } ); +cells.push_back( {12004511,1780,45,20,1,2,0.967,2.95693 } ); +cells.push_back( {12004521,1800,45,20,2,2,0.967,2.90737 } ); +cells.push_back( {10104512,1761,45,1,1,1,0.02675,2.95693 } ); +cells.push_back( {10104522,1781,45,1,2,1,0.02675,2.90737 } ); +cells.push_back( {10204512,1762,45,2,1,1,0.075,2.95693 } ); +cells.push_back( {10204522,1782,45,2,2,1,0.075,2.90737 } ); +cells.push_back( {10304512,1763,45,3,1,1,0.125,2.95693 } ); +cells.push_back( {10304522,1783,45,3,2,1,0.125,2.90737 } ); +cells.push_back( {10404512,1764,45,4,1,1,0.175,2.95693 } ); +cells.push_back( {10404522,1784,45,4,2,1,0.175,2.90737 } ); +cells.push_back( {10504512,1765,45,5,1,1,0.225,2.95693 } ); +cells.push_back( {10504522,1785,45,5,2,1,0.225,2.90737 } ); +cells.push_back( {10604512,1766,45,6,1,1,0.275,2.95693 } ); +cells.push_back( {10604522,1786,45,6,2,1,0.275,2.90737 } ); +cells.push_back( {10704512,1767,45,7,1,1,0.325,2.95693 } ); +cells.push_back( {10704522,1787,45,7,2,1,0.325,2.90737 } ); +cells.push_back( {10804512,1768,45,8,1,1,0.375,2.95693 } ); +cells.push_back( {10804522,1788,45,8,2,1,0.375,2.90737 } ); +cells.push_back( {10904512,1769,45,9,1,1,0.425,2.95693 } ); +cells.push_back( {10904522,1789,45,9,2,1,0.425,2.90737 } ); +cells.push_back( {11004512,1770,45,10,1,1,0.475,2.95693 } ); +cells.push_back( {11004522,1790,45,10,2,1,0.475,2.90737 } ); +cells.push_back( {11104512,1771,45,11,1,1,0.525,2.95693 } ); +cells.push_back( {11104522,1791,45,11,2,1,0.525,2.90737 } ); +cells.push_back( {11204512,1772,45,12,1,1,0.575,2.95693 } ); +cells.push_back( {11204522,1792,45,12,2,1,0.575,2.90737 } ); +cells.push_back( {11304512,1773,45,13,1,1,0.625,2.95693 } ); +cells.push_back( {11304522,1793,45,13,2,1,0.625,2.90737 } ); +cells.push_back( {11404512,1774,45,14,1,1,0.675,2.95693 } ); +cells.push_back( {11404522,1794,45,14,2,1,0.675,2.90737 } ); +cells.push_back( {11504512,1775,45,15,1,1,0.725,2.95693 } ); +cells.push_back( {11504522,1795,45,15,2,1,0.725,2.90737 } ); +cells.push_back( {11604512,1776,45,16,1,1,0.775,2.95693 } ); +cells.push_back( {11604522,1796,45,16,2,1,0.775,2.90737 } ); +cells.push_back( {11704512,1777,45,17,1,1,0.825,2.95693 } ); +cells.push_back( {11704522,1797,45,17,2,1,0.825,2.90737 } ); +cells.push_back( {11804512,1778,45,18,1,1,0.875,2.95693 } ); +cells.push_back( {11804522,1798,45,18,2,1,0.875,2.90737 } ); +cells.push_back( {11904512,1779,45,19,1,1,0.925,2.95693 } ); +cells.push_back( {11904522,1799,45,19,2,1,0.925,2.90737 } ); +cells.push_back( {12004512,1780,45,20,1,1,0.967,2.95693 } ); +cells.push_back( {12004522,1800,45,20,2,1,0.967,2.90737 } ); +cells.push_back( {10104611,1801,46,1,1,2,0.02675,2.85221 } ); +cells.push_back( {10104621,1821,46,1,2,2,0.02675,2.80265 } ); +cells.push_back( {10204611,1802,46,2,1,2,0.075,2.85221 } ); +cells.push_back( {10204621,1822,46,2,2,2,0.075,2.80265 } ); +cells.push_back( {10304611,1803,46,3,1,2,0.125,2.85221 } ); +cells.push_back( {10304621,1823,46,3,2,2,0.125,2.80265 } ); +cells.push_back( {10404611,1804,46,4,1,2,0.175,2.85221 } ); +cells.push_back( {10404621,1824,46,4,2,2,0.175,2.80265 } ); +cells.push_back( {10504611,1805,46,5,1,2,0.225,2.85221 } ); +cells.push_back( {10504621,1825,46,5,2,2,0.225,2.80265 } ); +cells.push_back( {10604611,1806,46,6,1,2,0.275,2.85221 } ); +cells.push_back( {10604621,1826,46,6,2,2,0.275,2.80265 } ); +cells.push_back( {10704611,1807,46,7,1,2,0.325,2.85221 } ); +cells.push_back( {10704621,1827,46,7,2,2,0.325,2.80265 } ); +cells.push_back( {10804611,1808,46,8,1,2,0.375,2.85221 } ); +cells.push_back( {10804621,1828,46,8,2,2,0.375,2.80265 } ); +cells.push_back( {10904611,1809,46,9,1,2,0.425,2.85221 } ); +cells.push_back( {10904621,1829,46,9,2,2,0.425,2.80265 } ); +cells.push_back( {11004611,1810,46,10,1,2,0.475,2.85221 } ); +cells.push_back( {11004621,1830,46,10,2,2,0.475,2.80265 } ); +cells.push_back( {11104611,1811,46,11,1,2,0.525,2.85221 } ); +cells.push_back( {11104621,1831,46,11,2,2,0.525,2.80265 } ); +cells.push_back( {11204611,1812,46,12,1,2,0.575,2.85221 } ); +cells.push_back( {11204621,1832,46,12,2,2,0.575,2.80265 } ); +cells.push_back( {11304611,1813,46,13,1,2,0.625,2.85221 } ); +cells.push_back( {11304621,1833,46,13,2,2,0.625,2.80265 } ); +cells.push_back( {11404611,1814,46,14,1,2,0.675,2.85221 } ); +cells.push_back( {11404621,1834,46,14,2,2,0.675,2.80265 } ); +cells.push_back( {11504611,1815,46,15,1,2,0.725,2.85221 } ); +cells.push_back( {11504621,1835,46,15,2,2,0.725,2.80265 } ); +cells.push_back( {11604611,1816,46,16,1,2,0.775,2.85221 } ); +cells.push_back( {11604621,1836,46,16,2,2,0.775,2.80265 } ); +cells.push_back( {11704611,1817,46,17,1,2,0.825,2.85221 } ); +cells.push_back( {11704621,1837,46,17,2,2,0.825,2.80265 } ); +cells.push_back( {11804611,1818,46,18,1,2,0.875,2.85221 } ); +cells.push_back( {11804621,1838,46,18,2,2,0.875,2.80265 } ); +cells.push_back( {11904611,1819,46,19,1,2,0.925,2.85221 } ); +cells.push_back( {11904621,1839,46,19,2,2,0.925,2.80265 } ); +cells.push_back( {12004611,1820,46,20,1,2,0.967,2.85221 } ); +cells.push_back( {12004621,1840,46,20,2,2,0.967,2.80265 } ); +cells.push_back( {10104612,1801,46,1,1,1,0.02675,2.85221 } ); +cells.push_back( {10104622,1821,46,1,2,1,0.02675,2.80265 } ); +cells.push_back( {10204612,1802,46,2,1,1,0.075,2.85221 } ); +cells.push_back( {10204622,1822,46,2,2,1,0.075,2.80265 } ); +cells.push_back( {10304612,1803,46,3,1,1,0.125,2.85221 } ); +cells.push_back( {10304622,1823,46,3,2,1,0.125,2.80265 } ); +cells.push_back( {10404612,1804,46,4,1,1,0.175,2.85221 } ); +cells.push_back( {10404622,1824,46,4,2,1,0.175,2.80265 } ); +cells.push_back( {10504612,1805,46,5,1,1,0.225,2.85221 } ); +cells.push_back( {10504622,1825,46,5,2,1,0.225,2.80265 } ); +cells.push_back( {10604612,1806,46,6,1,1,0.275,2.85221 } ); +cells.push_back( {10604622,1826,46,6,2,1,0.275,2.80265 } ); +cells.push_back( {10704612,1807,46,7,1,1,0.325,2.85221 } ); +cells.push_back( {10704622,1827,46,7,2,1,0.325,2.80265 } ); +cells.push_back( {10804612,1808,46,8,1,1,0.375,2.85221 } ); +cells.push_back( {10804622,1828,46,8,2,1,0.375,2.80265 } ); +cells.push_back( {10904612,1809,46,9,1,1,0.425,2.85221 } ); +cells.push_back( {10904622,1829,46,9,2,1,0.425,2.80265 } ); +cells.push_back( {11004612,1810,46,10,1,1,0.475,2.85221 } ); +cells.push_back( {11004622,1830,46,10,2,1,0.475,2.80265 } ); +cells.push_back( {11104612,1811,46,11,1,1,0.525,2.85221 } ); +cells.push_back( {11104622,1831,46,11,2,1,0.525,2.80265 } ); +cells.push_back( {11204612,1812,46,12,1,1,0.575,2.85221 } ); +cells.push_back( {11204622,1832,46,12,2,1,0.575,2.80265 } ); +cells.push_back( {11304612,1813,46,13,1,1,0.625,2.85221 } ); +cells.push_back( {11304622,1833,46,13,2,1,0.625,2.80265 } ); +cells.push_back( {11404612,1814,46,14,1,1,0.675,2.85221 } ); +cells.push_back( {11404622,1834,46,14,2,1,0.675,2.80265 } ); +cells.push_back( {11504612,1815,46,15,1,1,0.725,2.85221 } ); +cells.push_back( {11504622,1835,46,15,2,1,0.725,2.80265 } ); +cells.push_back( {11604612,1816,46,16,1,1,0.775,2.85221 } ); +cells.push_back( {11604622,1836,46,16,2,1,0.775,2.80265 } ); +cells.push_back( {11704612,1817,46,17,1,1,0.825,2.85221 } ); +cells.push_back( {11704622,1837,46,17,2,1,0.825,2.80265 } ); +cells.push_back( {11804612,1818,46,18,1,1,0.875,2.85221 } ); +cells.push_back( {11804622,1838,46,18,2,1,0.875,2.80265 } ); +cells.push_back( {11904612,1819,46,19,1,1,0.925,2.85221 } ); +cells.push_back( {11904622,1839,46,19,2,1,0.925,2.80265 } ); +cells.push_back( {12004612,1820,46,20,1,1,0.967,2.85221 } ); +cells.push_back( {12004622,1840,46,20,2,1,0.967,2.80265 } ); +cells.push_back( {10104711,1841,47,1,1,2,0.02675,2.74749 } ); +cells.push_back( {10104721,1861,47,1,2,2,0.02675,2.69793 } ); +cells.push_back( {10204711,1842,47,2,1,2,0.075,2.74749 } ); +cells.push_back( {10204721,1862,47,2,2,2,0.075,2.69793 } ); +cells.push_back( {10304711,1843,47,3,1,2,0.125,2.74749 } ); +cells.push_back( {10304721,1863,47,3,2,2,0.125,2.69793 } ); +cells.push_back( {10404711,1844,47,4,1,2,0.175,2.74749 } ); +cells.push_back( {10404721,1864,47,4,2,2,0.175,2.69793 } ); +cells.push_back( {10504711,1845,47,5,1,2,0.225,2.74749 } ); +cells.push_back( {10504721,1865,47,5,2,2,0.225,2.69793 } ); +cells.push_back( {10604711,1846,47,6,1,2,0.275,2.74749 } ); +cells.push_back( {10604721,1866,47,6,2,2,0.275,2.69793 } ); +cells.push_back( {10704711,1847,47,7,1,2,0.325,2.74749 } ); +cells.push_back( {10704721,1867,47,7,2,2,0.325,2.69793 } ); +cells.push_back( {10804711,1848,47,8,1,2,0.375,2.74749 } ); +cells.push_back( {10804721,1868,47,8,2,2,0.375,2.69793 } ); +cells.push_back( {10904711,1849,47,9,1,2,0.425,2.74749 } ); +cells.push_back( {10904721,1869,47,9,2,2,0.425,2.69793 } ); +cells.push_back( {11004711,1850,47,10,1,2,0.475,2.74749 } ); +cells.push_back( {11004721,1870,47,10,2,2,0.475,2.69793 } ); +cells.push_back( {11104711,1851,47,11,1,2,0.525,2.74749 } ); +cells.push_back( {11104721,1871,47,11,2,2,0.525,2.69793 } ); +cells.push_back( {11204711,1852,47,12,1,2,0.575,2.74749 } ); +cells.push_back( {11204721,1872,47,12,2,2,0.575,2.69793 } ); +cells.push_back( {11304711,1853,47,13,1,2,0.625,2.74749 } ); +cells.push_back( {11304721,1873,47,13,2,2,0.625,2.69793 } ); +cells.push_back( {11404711,1854,47,14,1,2,0.675,2.74749 } ); +cells.push_back( {11404721,1874,47,14,2,2,0.675,2.69793 } ); +cells.push_back( {11504711,1855,47,15,1,2,0.725,2.74749 } ); +cells.push_back( {11504721,1875,47,15,2,2,0.725,2.69793 } ); +cells.push_back( {11604711,1856,47,16,1,2,0.775,2.74749 } ); +cells.push_back( {11604721,1876,47,16,2,2,0.775,2.69793 } ); +cells.push_back( {11704711,1857,47,17,1,2,0.825,2.74749 } ); +cells.push_back( {11704721,1877,47,17,2,2,0.825,2.69793 } ); +cells.push_back( {11804711,1858,47,18,1,2,0.875,2.74749 } ); +cells.push_back( {11804721,1878,47,18,2,2,0.875,2.69793 } ); +cells.push_back( {11904711,1859,47,19,1,2,0.925,2.74749 } ); +cells.push_back( {11904721,1879,47,19,2,2,0.925,2.69793 } ); +cells.push_back( {12004711,1860,47,20,1,2,0.967,2.74749 } ); +cells.push_back( {12004721,1880,47,20,2,2,0.967,2.69793 } ); +cells.push_back( {10104712,1841,47,1,1,1,0.02675,2.74749 } ); +cells.push_back( {10104722,1861,47,1,2,1,0.02675,2.69793 } ); +cells.push_back( {10204712,1842,47,2,1,1,0.075,2.74749 } ); +cells.push_back( {10204722,1862,47,2,2,1,0.075,2.69793 } ); +cells.push_back( {10304712,1843,47,3,1,1,0.125,2.74749 } ); +cells.push_back( {10304722,1863,47,3,2,1,0.125,2.69793 } ); +cells.push_back( {10404712,1844,47,4,1,1,0.175,2.74749 } ); +cells.push_back( {10404722,1864,47,4,2,1,0.175,2.69793 } ); +cells.push_back( {10504712,1845,47,5,1,1,0.225,2.74749 } ); +cells.push_back( {10504722,1865,47,5,2,1,0.225,2.69793 } ); +cells.push_back( {10604712,1846,47,6,1,1,0.275,2.74749 } ); +cells.push_back( {10604722,1866,47,6,2,1,0.275,2.69793 } ); +cells.push_back( {10704712,1847,47,7,1,1,0.325,2.74749 } ); +cells.push_back( {10704722,1867,47,7,2,1,0.325,2.69793 } ); +cells.push_back( {10804712,1848,47,8,1,1,0.375,2.74749 } ); +cells.push_back( {10804722,1868,47,8,2,1,0.375,2.69793 } ); +cells.push_back( {10904712,1849,47,9,1,1,0.425,2.74749 } ); +cells.push_back( {10904722,1869,47,9,2,1,0.425,2.69793 } ); +cells.push_back( {11004712,1850,47,10,1,1,0.475,2.74749 } ); +cells.push_back( {11004722,1870,47,10,2,1,0.475,2.69793 } ); +cells.push_back( {11104712,1851,47,11,1,1,0.525,2.74749 } ); +cells.push_back( {11104722,1871,47,11,2,1,0.525,2.69793 } ); +cells.push_back( {11204712,1852,47,12,1,1,0.575,2.74749 } ); +cells.push_back( {11204722,1872,47,12,2,1,0.575,2.69793 } ); +cells.push_back( {11304712,1853,47,13,1,1,0.625,2.74749 } ); +cells.push_back( {11304722,1873,47,13,2,1,0.625,2.69793 } ); +cells.push_back( {11404712,1854,47,14,1,1,0.675,2.74749 } ); +cells.push_back( {11404722,1874,47,14,2,1,0.675,2.69793 } ); +cells.push_back( {11504712,1855,47,15,1,1,0.725,2.74749 } ); +cells.push_back( {11504722,1875,47,15,2,1,0.725,2.69793 } ); +cells.push_back( {11604712,1856,47,16,1,1,0.775,2.74749 } ); +cells.push_back( {11604722,1876,47,16,2,1,0.775,2.69793 } ); +cells.push_back( {11704712,1857,47,17,1,1,0.825,2.74749 } ); +cells.push_back( {11704722,1877,47,17,2,1,0.825,2.69793 } ); +cells.push_back( {11804712,1858,47,18,1,1,0.875,2.74749 } ); +cells.push_back( {11804722,1878,47,18,2,1,0.875,2.69793 } ); +cells.push_back( {11904712,1859,47,19,1,1,0.925,2.74749 } ); +cells.push_back( {11904722,1879,47,19,2,1,0.925,2.69793 } ); +cells.push_back( {12004712,1860,47,20,1,1,0.967,2.74749 } ); +cells.push_back( {12004722,1880,47,20,2,1,0.967,2.69793 } ); +cells.push_back( {10104811,1881,48,1,1,2,0.02675,2.64278 } ); +cells.push_back( {10104821,1901,48,1,2,2,0.02675,2.59321 } ); +cells.push_back( {10204811,1882,48,2,1,2,0.075,2.64278 } ); +cells.push_back( {10204821,1902,48,2,2,2,0.075,2.59321 } ); +cells.push_back( {10304811,1883,48,3,1,2,0.125,2.64278 } ); +cells.push_back( {10304821,1903,48,3,2,2,0.125,2.59321 } ); +cells.push_back( {10404811,1884,48,4,1,2,0.175,2.64278 } ); +cells.push_back( {10404821,1904,48,4,2,2,0.175,2.59321 } ); +cells.push_back( {10504811,1885,48,5,1,2,0.225,2.64278 } ); +cells.push_back( {10504821,1905,48,5,2,2,0.225,2.59321 } ); +cells.push_back( {10604811,1886,48,6,1,2,0.275,2.64278 } ); +cells.push_back( {10604821,1906,48,6,2,2,0.275,2.59321 } ); +cells.push_back( {10704811,1887,48,7,1,2,0.325,2.64278 } ); +cells.push_back( {10704821,1907,48,7,2,2,0.325,2.59321 } ); +cells.push_back( {10804811,1888,48,8,1,2,0.375,2.64278 } ); +cells.push_back( {10804821,1908,48,8,2,2,0.375,2.59321 } ); +cells.push_back( {10904811,1889,48,9,1,2,0.425,2.64278 } ); +cells.push_back( {10904821,1909,48,9,2,2,0.425,2.59321 } ); +cells.push_back( {11004811,1890,48,10,1,2,0.475,2.64278 } ); +cells.push_back( {11004821,1910,48,10,2,2,0.475,2.59321 } ); +cells.push_back( {11104811,1891,48,11,1,2,0.525,2.64278 } ); +cells.push_back( {11104821,1911,48,11,2,2,0.525,2.59321 } ); +cells.push_back( {11204811,1892,48,12,1,2,0.575,2.64278 } ); +cells.push_back( {11204821,1912,48,12,2,2,0.575,2.59321 } ); +cells.push_back( {11304811,1893,48,13,1,2,0.625,2.64278 } ); +cells.push_back( {11304821,1913,48,13,2,2,0.625,2.59321 } ); +cells.push_back( {11404811,1894,48,14,1,2,0.675,2.64278 } ); +cells.push_back( {11404821,1914,48,14,2,2,0.675,2.59321 } ); +cells.push_back( {11504811,1895,48,15,1,2,0.725,2.64278 } ); +cells.push_back( {11504821,1915,48,15,2,2,0.725,2.59321 } ); +cells.push_back( {11604811,1896,48,16,1,2,0.775,2.64278 } ); +cells.push_back( {11604821,1916,48,16,2,2,0.775,2.59321 } ); +cells.push_back( {11704811,1897,48,17,1,2,0.825,2.64278 } ); +cells.push_back( {11704821,1917,48,17,2,2,0.825,2.59321 } ); +cells.push_back( {11804811,1898,48,18,1,2,0.875,2.64278 } ); +cells.push_back( {11804821,1918,48,18,2,2,0.875,2.59321 } ); +cells.push_back( {11904811,1899,48,19,1,2,0.925,2.64278 } ); +cells.push_back( {11904821,1919,48,19,2,2,0.925,2.59321 } ); +cells.push_back( {12004811,1900,48,20,1,2,0.967,2.64278 } ); +cells.push_back( {12004821,1920,48,20,2,2,0.967,2.59321 } ); +cells.push_back( {10104812,1881,48,1,1,1,0.02675,2.64278 } ); +cells.push_back( {10104822,1901,48,1,2,1,0.02675,2.59321 } ); +cells.push_back( {10204812,1882,48,2,1,1,0.075,2.64278 } ); +cells.push_back( {10204822,1902,48,2,2,1,0.075,2.59321 } ); +cells.push_back( {10304812,1883,48,3,1,1,0.125,2.64278 } ); +cells.push_back( {10304822,1903,48,3,2,1,0.125,2.59321 } ); +cells.push_back( {10404812,1884,48,4,1,1,0.175,2.64278 } ); +cells.push_back( {10404822,1904,48,4,2,1,0.175,2.59321 } ); +cells.push_back( {10504812,1885,48,5,1,1,0.225,2.64278 } ); +cells.push_back( {10504822,1905,48,5,2,1,0.225,2.59321 } ); +cells.push_back( {10604812,1886,48,6,1,1,0.275,2.64278 } ); +cells.push_back( {10604822,1906,48,6,2,1,0.275,2.59321 } ); +cells.push_back( {10704812,1887,48,7,1,1,0.325,2.64278 } ); +cells.push_back( {10704822,1907,48,7,2,1,0.325,2.59321 } ); +cells.push_back( {10804812,1888,48,8,1,1,0.375,2.64278 } ); +cells.push_back( {10804822,1908,48,8,2,1,0.375,2.59321 } ); +cells.push_back( {10904812,1889,48,9,1,1,0.425,2.64278 } ); +cells.push_back( {10904822,1909,48,9,2,1,0.425,2.59321 } ); +cells.push_back( {11004812,1890,48,10,1,1,0.475,2.64278 } ); +cells.push_back( {11004822,1910,48,10,2,1,0.475,2.59321 } ); +cells.push_back( {11104812,1891,48,11,1,1,0.525,2.64278 } ); +cells.push_back( {11104822,1911,48,11,2,1,0.525,2.59321 } ); +cells.push_back( {11204812,1892,48,12,1,1,0.575,2.64278 } ); +cells.push_back( {11204822,1912,48,12,2,1,0.575,2.59321 } ); +cells.push_back( {11304812,1893,48,13,1,1,0.625,2.64278 } ); +cells.push_back( {11304822,1913,48,13,2,1,0.625,2.59321 } ); +cells.push_back( {11404812,1894,48,14,1,1,0.675,2.64278 } ); +cells.push_back( {11404822,1914,48,14,2,1,0.675,2.59321 } ); +cells.push_back( {11504812,1895,48,15,1,1,0.725,2.64278 } ); +cells.push_back( {11504822,1915,48,15,2,1,0.725,2.59321 } ); +cells.push_back( {11604812,1896,48,16,1,1,0.775,2.64278 } ); +cells.push_back( {11604822,1916,48,16,2,1,0.775,2.59321 } ); +cells.push_back( {11704812,1897,48,17,1,1,0.825,2.64278 } ); +cells.push_back( {11704822,1917,48,17,2,1,0.825,2.59321 } ); +cells.push_back( {11804812,1898,48,18,1,1,0.875,2.64278 } ); +cells.push_back( {11804822,1918,48,18,2,1,0.875,2.59321 } ); +cells.push_back( {11904812,1899,48,19,1,1,0.925,2.64278 } ); +cells.push_back( {11904822,1919,48,19,2,1,0.925,2.59321 } ); +cells.push_back( {12004812,1900,48,20,1,1,0.967,2.64278 } ); +cells.push_back( {12004822,1920,48,20,2,1,0.967,2.59321 } ); +cells.push_back( {10104911,1921,49,1,1,2,0.02675,2.53806 } ); +cells.push_back( {10104921,1941,49,1,2,2,0.02675,2.48849 } ); +cells.push_back( {10204911,1922,49,2,1,2,0.075,2.53806 } ); +cells.push_back( {10204921,1942,49,2,2,2,0.075,2.48849 } ); +cells.push_back( {10304911,1923,49,3,1,2,0.125,2.53806 } ); +cells.push_back( {10304921,1943,49,3,2,2,0.125,2.48849 } ); +cells.push_back( {10404911,1924,49,4,1,2,0.175,2.53806 } ); +cells.push_back( {10404921,1944,49,4,2,2,0.175,2.48849 } ); +cells.push_back( {10504911,1925,49,5,1,2,0.225,2.53806 } ); +cells.push_back( {10504921,1945,49,5,2,2,0.225,2.48849 } ); +cells.push_back( {10604911,1926,49,6,1,2,0.275,2.53806 } ); +cells.push_back( {10604921,1946,49,6,2,2,0.275,2.48849 } ); +cells.push_back( {10704911,1927,49,7,1,2,0.325,2.53806 } ); +cells.push_back( {10704921,1947,49,7,2,2,0.325,2.48849 } ); +cells.push_back( {10804911,1928,49,8,1,2,0.375,2.53806 } ); +cells.push_back( {10804921,1948,49,8,2,2,0.375,2.48849 } ); +cells.push_back( {10904911,1929,49,9,1,2,0.425,2.53806 } ); +cells.push_back( {10904921,1949,49,9,2,2,0.425,2.48849 } ); +cells.push_back( {11004911,1930,49,10,1,2,0.475,2.53806 } ); +cells.push_back( {11004921,1950,49,10,2,2,0.475,2.48849 } ); +cells.push_back( {11104911,1931,49,11,1,2,0.525,2.53806 } ); +cells.push_back( {11104921,1951,49,11,2,2,0.525,2.48849 } ); +cells.push_back( {11204911,1932,49,12,1,2,0.575,2.53806 } ); +cells.push_back( {11204921,1952,49,12,2,2,0.575,2.48849 } ); +cells.push_back( {11304911,1933,49,13,1,2,0.625,2.53806 } ); +cells.push_back( {11304921,1953,49,13,2,2,0.625,2.48849 } ); +cells.push_back( {11404911,1934,49,14,1,2,0.675,2.53806 } ); +cells.push_back( {11404921,1954,49,14,2,2,0.675,2.48849 } ); +cells.push_back( {11504911,1935,49,15,1,2,0.725,2.53806 } ); +cells.push_back( {11504921,1955,49,15,2,2,0.725,2.48849 } ); +cells.push_back( {11604911,1936,49,16,1,2,0.775,2.53806 } ); +cells.push_back( {11604921,1956,49,16,2,2,0.775,2.48849 } ); +cells.push_back( {11704911,1937,49,17,1,2,0.825,2.53806 } ); +cells.push_back( {11704921,1957,49,17,2,2,0.825,2.48849 } ); +cells.push_back( {11804911,1938,49,18,1,2,0.875,2.53806 } ); +cells.push_back( {11804921,1958,49,18,2,2,0.875,2.48849 } ); +cells.push_back( {11904911,1939,49,19,1,2,0.925,2.53806 } ); +cells.push_back( {11904921,1959,49,19,2,2,0.925,2.48849 } ); +cells.push_back( {12004911,1940,49,20,1,2,0.967,2.53806 } ); +cells.push_back( {12004921,1960,49,20,2,2,0.967,2.48849 } ); +cells.push_back( {10104912,1921,49,1,1,1,0.02675,2.53806 } ); +cells.push_back( {10104922,1941,49,1,2,1,0.02675,2.48849 } ); +cells.push_back( {10204912,1922,49,2,1,1,0.075,2.53806 } ); +cells.push_back( {10204922,1942,49,2,2,1,0.075,2.48849 } ); +cells.push_back( {10304912,1923,49,3,1,1,0.125,2.53806 } ); +cells.push_back( {10304922,1943,49,3,2,1,0.125,2.48849 } ); +cells.push_back( {10404912,1924,49,4,1,1,0.175,2.53806 } ); +cells.push_back( {10404922,1944,49,4,2,1,0.175,2.48849 } ); +cells.push_back( {10504912,1925,49,5,1,1,0.225,2.53806 } ); +cells.push_back( {10504922,1945,49,5,2,1,0.225,2.48849 } ); +cells.push_back( {10604912,1926,49,6,1,1,0.275,2.53806 } ); +cells.push_back( {10604922,1946,49,6,2,1,0.275,2.48849 } ); +cells.push_back( {10704912,1927,49,7,1,1,0.325,2.53806 } ); +cells.push_back( {10704922,1947,49,7,2,1,0.325,2.48849 } ); +cells.push_back( {10804912,1928,49,8,1,1,0.375,2.53806 } ); +cells.push_back( {10804922,1948,49,8,2,1,0.375,2.48849 } ); +cells.push_back( {10904912,1929,49,9,1,1,0.425,2.53806 } ); +cells.push_back( {10904922,1949,49,9,2,1,0.425,2.48849 } ); +cells.push_back( {11004912,1930,49,10,1,1,0.475,2.53806 } ); +cells.push_back( {11004922,1950,49,10,2,1,0.475,2.48849 } ); +cells.push_back( {11104912,1931,49,11,1,1,0.525,2.53806 } ); +cells.push_back( {11104922,1951,49,11,2,1,0.525,2.48849 } ); +cells.push_back( {11204912,1932,49,12,1,1,0.575,2.53806 } ); +cells.push_back( {11204922,1952,49,12,2,1,0.575,2.48849 } ); +cells.push_back( {11304912,1933,49,13,1,1,0.625,2.53806 } ); +cells.push_back( {11304922,1953,49,13,2,1,0.625,2.48849 } ); +cells.push_back( {11404912,1934,49,14,1,1,0.675,2.53806 } ); +cells.push_back( {11404922,1954,49,14,2,1,0.675,2.48849 } ); +cells.push_back( {11504912,1935,49,15,1,1,0.725,2.53806 } ); +cells.push_back( {11504922,1955,49,15,2,1,0.725,2.48849 } ); +cells.push_back( {11604912,1936,49,16,1,1,0.775,2.53806 } ); +cells.push_back( {11604922,1956,49,16,2,1,0.775,2.48849 } ); +cells.push_back( {11704912,1937,49,17,1,1,0.825,2.53806 } ); +cells.push_back( {11704922,1957,49,17,2,1,0.825,2.48849 } ); +cells.push_back( {11804912,1938,49,18,1,1,0.875,2.53806 } ); +cells.push_back( {11804922,1958,49,18,2,1,0.875,2.48849 } ); +cells.push_back( {11904912,1939,49,19,1,1,0.925,2.53806 } ); +cells.push_back( {11904922,1959,49,19,2,1,0.925,2.48849 } ); +cells.push_back( {12004912,1940,49,20,1,1,0.967,2.53806 } ); +cells.push_back( {12004922,1960,49,20,2,1,0.967,2.48849 } ); +cells.push_back( {10105011,1961,50,1,1,2,0.02675,2.43334 } ); +cells.push_back( {10105021,1981,50,1,2,2,0.02675,2.38377 } ); +cells.push_back( {10205011,1962,50,2,1,2,0.075,2.43334 } ); +cells.push_back( {10205021,1982,50,2,2,2,0.075,2.38377 } ); +cells.push_back( {10305011,1963,50,3,1,2,0.125,2.43334 } ); +cells.push_back( {10305021,1983,50,3,2,2,0.125,2.38377 } ); +cells.push_back( {10405011,1964,50,4,1,2,0.175,2.43334 } ); +cells.push_back( {10405021,1984,50,4,2,2,0.175,2.38377 } ); +cells.push_back( {10505011,1965,50,5,1,2,0.225,2.43334 } ); +cells.push_back( {10505021,1985,50,5,2,2,0.225,2.38377 } ); +cells.push_back( {10605011,1966,50,6,1,2,0.275,2.43334 } ); +cells.push_back( {10605021,1986,50,6,2,2,0.275,2.38377 } ); +cells.push_back( {10705011,1967,50,7,1,2,0.325,2.43334 } ); +cells.push_back( {10705021,1987,50,7,2,2,0.325,2.38377 } ); +cells.push_back( {10805011,1968,50,8,1,2,0.375,2.43334 } ); +cells.push_back( {10805021,1988,50,8,2,2,0.375,2.38377 } ); +cells.push_back( {10905011,1969,50,9,1,2,0.425,2.43334 } ); +cells.push_back( {10905021,1989,50,9,2,2,0.425,2.38377 } ); +cells.push_back( {11005011,1970,50,10,1,2,0.475,2.43334 } ); +cells.push_back( {11005021,1990,50,10,2,2,0.475,2.38377 } ); +cells.push_back( {11105011,1971,50,11,1,2,0.525,2.43334 } ); +cells.push_back( {11105021,1991,50,11,2,2,0.525,2.38377 } ); +cells.push_back( {11205011,1972,50,12,1,2,0.575,2.43334 } ); +cells.push_back( {11205021,1992,50,12,2,2,0.575,2.38377 } ); +cells.push_back( {11305011,1973,50,13,1,2,0.625,2.43334 } ); +cells.push_back( {11305021,1993,50,13,2,2,0.625,2.38377 } ); +cells.push_back( {11405011,1974,50,14,1,2,0.675,2.43334 } ); +cells.push_back( {11405021,1994,50,14,2,2,0.675,2.38377 } ); +cells.push_back( {11505011,1975,50,15,1,2,0.725,2.43334 } ); +cells.push_back( {11505021,1995,50,15,2,2,0.725,2.38377 } ); +cells.push_back( {11605011,1976,50,16,1,2,0.775,2.43334 } ); +cells.push_back( {11605021,1996,50,16,2,2,0.775,2.38377 } ); +cells.push_back( {11705011,1977,50,17,1,2,0.825,2.43334 } ); +cells.push_back( {11705021,1997,50,17,2,2,0.825,2.38377 } ); +cells.push_back( {11805011,1978,50,18,1,2,0.875,2.43334 } ); +cells.push_back( {11805021,1998,50,18,2,2,0.875,2.38377 } ); +cells.push_back( {11905011,1979,50,19,1,2,0.925,2.43334 } ); +cells.push_back( {11905021,1999,50,19,2,2,0.925,2.38377 } ); +cells.push_back( {12005011,1980,50,20,1,2,0.967,2.43334 } ); +cells.push_back( {12005021,2000,50,20,2,2,0.967,2.38377 } ); +cells.push_back( {10105012,1961,50,1,1,1,0.02675,2.43334 } ); +cells.push_back( {10105022,1981,50,1,2,1,0.02675,2.38377 } ); +cells.push_back( {10205012,1962,50,2,1,1,0.075,2.43334 } ); +cells.push_back( {10205022,1982,50,2,2,1,0.075,2.38377 } ); +cells.push_back( {10305012,1963,50,3,1,1,0.125,2.43334 } ); +cells.push_back( {10305022,1983,50,3,2,1,0.125,2.38377 } ); +cells.push_back( {10405012,1964,50,4,1,1,0.175,2.43334 } ); +cells.push_back( {10405022,1984,50,4,2,1,0.175,2.38377 } ); +cells.push_back( {10505012,1965,50,5,1,1,0.225,2.43334 } ); +cells.push_back( {10505022,1985,50,5,2,1,0.225,2.38377 } ); +cells.push_back( {10605012,1966,50,6,1,1,0.275,2.43334 } ); +cells.push_back( {10605022,1986,50,6,2,1,0.275,2.38377 } ); +cells.push_back( {10705012,1967,50,7,1,1,0.325,2.43334 } ); +cells.push_back( {10705022,1987,50,7,2,1,0.325,2.38377 } ); +cells.push_back( {10805012,1968,50,8,1,1,0.375,2.43334 } ); +cells.push_back( {10805022,1988,50,8,2,1,0.375,2.38377 } ); +cells.push_back( {10905012,1969,50,9,1,1,0.425,2.43334 } ); +cells.push_back( {10905022,1989,50,9,2,1,0.425,2.38377 } ); +cells.push_back( {11005012,1970,50,10,1,1,0.475,2.43334 } ); +cells.push_back( {11005022,1990,50,10,2,1,0.475,2.38377 } ); +cells.push_back( {11105012,1971,50,11,1,1,0.525,2.43334 } ); +cells.push_back( {11105022,1991,50,11,2,1,0.525,2.38377 } ); +cells.push_back( {11205012,1972,50,12,1,1,0.575,2.43334 } ); +cells.push_back( {11205022,1992,50,12,2,1,0.575,2.38377 } ); +cells.push_back( {11305012,1973,50,13,1,1,0.625,2.43334 } ); +cells.push_back( {11305022,1993,50,13,2,1,0.625,2.38377 } ); +cells.push_back( {11405012,1974,50,14,1,1,0.675,2.43334 } ); +cells.push_back( {11405022,1994,50,14,2,1,0.675,2.38377 } ); +cells.push_back( {11505012,1975,50,15,1,1,0.725,2.43334 } ); +cells.push_back( {11505022,1995,50,15,2,1,0.725,2.38377 } ); +cells.push_back( {11605012,1976,50,16,1,1,0.775,2.43334 } ); +cells.push_back( {11605022,1996,50,16,2,1,0.775,2.38377 } ); +cells.push_back( {11705012,1977,50,17,1,1,0.825,2.43334 } ); +cells.push_back( {11705022,1997,50,17,2,1,0.825,2.38377 } ); +cells.push_back( {11805012,1978,50,18,1,1,0.875,2.43334 } ); +cells.push_back( {11805022,1998,50,18,2,1,0.875,2.38377 } ); +cells.push_back( {11905012,1979,50,19,1,1,0.925,2.43334 } ); +cells.push_back( {11905022,1999,50,19,2,1,0.925,2.38377 } ); +cells.push_back( {12005012,1980,50,20,1,1,0.967,2.43334 } ); +cells.push_back( {12005022,2000,50,20,2,1,0.967,2.38377 } ); +cells.push_back( {10105111,2001,51,1,1,2,0.02675,2.32862 } ); +cells.push_back( {10105121,2021,51,1,2,2,0.02675,2.27905 } ); +cells.push_back( {10205111,2002,51,2,1,2,0.075,2.32862 } ); +cells.push_back( {10205121,2022,51,2,2,2,0.075,2.27905 } ); +cells.push_back( {10305111,2003,51,3,1,2,0.125,2.32862 } ); +cells.push_back( {10305121,2023,51,3,2,2,0.125,2.27905 } ); +cells.push_back( {10405111,2004,51,4,1,2,0.175,2.32862 } ); +cells.push_back( {10405121,2024,51,4,2,2,0.175,2.27905 } ); +cells.push_back( {10505111,2005,51,5,1,2,0.225,2.32862 } ); +cells.push_back( {10505121,2025,51,5,2,2,0.225,2.27905 } ); +cells.push_back( {10605111,2006,51,6,1,2,0.275,2.32862 } ); +cells.push_back( {10605121,2026,51,6,2,2,0.275,2.27905 } ); +cells.push_back( {10705111,2007,51,7,1,2,0.325,2.32862 } ); +cells.push_back( {10705121,2027,51,7,2,2,0.325,2.27905 } ); +cells.push_back( {10805111,2008,51,8,1,2,0.375,2.32862 } ); +cells.push_back( {10805121,2028,51,8,2,2,0.375,2.27905 } ); +cells.push_back( {10905111,2009,51,9,1,2,0.425,2.32862 } ); +cells.push_back( {10905121,2029,51,9,2,2,0.425,2.27905 } ); +cells.push_back( {11005111,2010,51,10,1,2,0.475,2.32862 } ); +cells.push_back( {11005121,2030,51,10,2,2,0.475,2.27905 } ); +cells.push_back( {11105111,2011,51,11,1,2,0.525,2.32862 } ); +cells.push_back( {11105121,2031,51,11,2,2,0.525,2.27905 } ); +cells.push_back( {11205111,2012,51,12,1,2,0.575,2.32862 } ); +cells.push_back( {11205121,2032,51,12,2,2,0.575,2.27905 } ); +cells.push_back( {11305111,2013,51,13,1,2,0.625,2.32862 } ); +cells.push_back( {11305121,2033,51,13,2,2,0.625,2.27905 } ); +cells.push_back( {11405111,2014,51,14,1,2,0.675,2.32862 } ); +cells.push_back( {11405121,2034,51,14,2,2,0.675,2.27905 } ); +cells.push_back( {11505111,2015,51,15,1,2,0.725,2.32862 } ); +cells.push_back( {11505121,2035,51,15,2,2,0.725,2.27905 } ); +cells.push_back( {11605111,2016,51,16,1,2,0.775,2.32862 } ); +cells.push_back( {11605121,2036,51,16,2,2,0.775,2.27905 } ); +cells.push_back( {11705111,2017,51,17,1,2,0.825,2.32862 } ); +cells.push_back( {11705121,2037,51,17,2,2,0.825,2.27905 } ); +cells.push_back( {11805111,2018,51,18,1,2,0.875,2.32862 } ); +cells.push_back( {11805121,2038,51,18,2,2,0.875,2.27905 } ); +cells.push_back( {11905111,2019,51,19,1,2,0.925,2.32862 } ); +cells.push_back( {11905121,2039,51,19,2,2,0.925,2.27905 } ); +cells.push_back( {12005111,2020,51,20,1,2,0.967,2.32862 } ); +cells.push_back( {12005121,2040,51,20,2,2,0.967,2.27905 } ); +cells.push_back( {10105112,2001,51,1,1,1,0.02675,2.32862 } ); +cells.push_back( {10105122,2021,51,1,2,1,0.02675,2.27905 } ); +cells.push_back( {10205112,2002,51,2,1,1,0.075,2.32862 } ); +cells.push_back( {10205122,2022,51,2,2,1,0.075,2.27905 } ); +cells.push_back( {10305112,2003,51,3,1,1,0.125,2.32862 } ); +cells.push_back( {10305122,2023,51,3,2,1,0.125,2.27905 } ); +cells.push_back( {10405112,2004,51,4,1,1,0.175,2.32862 } ); +cells.push_back( {10405122,2024,51,4,2,1,0.175,2.27905 } ); +cells.push_back( {10505112,2005,51,5,1,1,0.225,2.32862 } ); +cells.push_back( {10505122,2025,51,5,2,1,0.225,2.27905 } ); +cells.push_back( {10605112,2006,51,6,1,1,0.275,2.32862 } ); +cells.push_back( {10605122,2026,51,6,2,1,0.275,2.27905 } ); +cells.push_back( {10705112,2007,51,7,1,1,0.325,2.32862 } ); +cells.push_back( {10705122,2027,51,7,2,1,0.325,2.27905 } ); +cells.push_back( {10805112,2008,51,8,1,1,0.375,2.32862 } ); +cells.push_back( {10805122,2028,51,8,2,1,0.375,2.27905 } ); +cells.push_back( {10905112,2009,51,9,1,1,0.425,2.32862 } ); +cells.push_back( {10905122,2029,51,9,2,1,0.425,2.27905 } ); +cells.push_back( {11005112,2010,51,10,1,1,0.475,2.32862 } ); +cells.push_back( {11005122,2030,51,10,2,1,0.475,2.27905 } ); +cells.push_back( {11105112,2011,51,11,1,1,0.525,2.32862 } ); +cells.push_back( {11105122,2031,51,11,2,1,0.525,2.27905 } ); +cells.push_back( {11205112,2012,51,12,1,1,0.575,2.32862 } ); +cells.push_back( {11205122,2032,51,12,2,1,0.575,2.27905 } ); +cells.push_back( {11305112,2013,51,13,1,1,0.625,2.32862 } ); +cells.push_back( {11305122,2033,51,13,2,1,0.625,2.27905 } ); +cells.push_back( {11405112,2014,51,14,1,1,0.675,2.32862 } ); +cells.push_back( {11405122,2034,51,14,2,1,0.675,2.27905 } ); +cells.push_back( {11505112,2015,51,15,1,1,0.725,2.32862 } ); +cells.push_back( {11505122,2035,51,15,2,1,0.725,2.27905 } ); +cells.push_back( {11605112,2016,51,16,1,1,0.775,2.32862 } ); +cells.push_back( {11605122,2036,51,16,2,1,0.775,2.27905 } ); +cells.push_back( {11705112,2017,51,17,1,1,0.825,2.32862 } ); +cells.push_back( {11705122,2037,51,17,2,1,0.825,2.27905 } ); +cells.push_back( {11805112,2018,51,18,1,1,0.875,2.32862 } ); +cells.push_back( {11805122,2038,51,18,2,1,0.875,2.27905 } ); +cells.push_back( {11905112,2019,51,19,1,1,0.925,2.32862 } ); +cells.push_back( {11905122,2039,51,19,2,1,0.925,2.27905 } ); +cells.push_back( {12005112,2020,51,20,1,1,0.967,2.32862 } ); +cells.push_back( {12005122,2040,51,20,2,1,0.967,2.27905 } ); +cells.push_back( {10105211,2041,52,1,1,2,0.02675,2.2239 } ); +cells.push_back( {10105221,2061,52,1,2,2,0.02675,2.17433 } ); +cells.push_back( {10205211,2042,52,2,1,2,0.075,2.2239 } ); +cells.push_back( {10205221,2062,52,2,2,2,0.075,2.17433 } ); +cells.push_back( {10305211,2043,52,3,1,2,0.125,2.2239 } ); +cells.push_back( {10305221,2063,52,3,2,2,0.125,2.17433 } ); +cells.push_back( {10405211,2044,52,4,1,2,0.175,2.2239 } ); +cells.push_back( {10405221,2064,52,4,2,2,0.175,2.17433 } ); +cells.push_back( {10505211,2045,52,5,1,2,0.225,2.2239 } ); +cells.push_back( {10505221,2065,52,5,2,2,0.225,2.17433 } ); +cells.push_back( {10605211,2046,52,6,1,2,0.275,2.2239 } ); +cells.push_back( {10605221,2066,52,6,2,2,0.275,2.17433 } ); +cells.push_back( {10705211,2047,52,7,1,2,0.325,2.2239 } ); +cells.push_back( {10705221,2067,52,7,2,2,0.325,2.17433 } ); +cells.push_back( {10805211,2048,52,8,1,2,0.375,2.2239 } ); +cells.push_back( {10805221,2068,52,8,2,2,0.375,2.17433 } ); +cells.push_back( {10905211,2049,52,9,1,2,0.425,2.2239 } ); +cells.push_back( {10905221,2069,52,9,2,2,0.425,2.17433 } ); +cells.push_back( {11005211,2050,52,10,1,2,0.475,2.2239 } ); +cells.push_back( {11005221,2070,52,10,2,2,0.475,2.17433 } ); +cells.push_back( {11105211,2051,52,11,1,2,0.525,2.2239 } ); +cells.push_back( {11105221,2071,52,11,2,2,0.525,2.17433 } ); +cells.push_back( {11205211,2052,52,12,1,2,0.575,2.2239 } ); +cells.push_back( {11205221,2072,52,12,2,2,0.575,2.17433 } ); +cells.push_back( {11305211,2053,52,13,1,2,0.625,2.2239 } ); +cells.push_back( {11305221,2073,52,13,2,2,0.625,2.17433 } ); +cells.push_back( {11405211,2054,52,14,1,2,0.675,2.2239 } ); +cells.push_back( {11405221,2074,52,14,2,2,0.675,2.17433 } ); +cells.push_back( {11505211,2055,52,15,1,2,0.725,2.2239 } ); +cells.push_back( {11505221,2075,52,15,2,2,0.725,2.17433 } ); +cells.push_back( {11605211,2056,52,16,1,2,0.775,2.2239 } ); +cells.push_back( {11605221,2076,52,16,2,2,0.775,2.17433 } ); +cells.push_back( {11705211,2057,52,17,1,2,0.825,2.2239 } ); +cells.push_back( {11705221,2077,52,17,2,2,0.825,2.17433 } ); +cells.push_back( {11805211,2058,52,18,1,2,0.875,2.2239 } ); +cells.push_back( {11805221,2078,52,18,2,2,0.875,2.17433 } ); +cells.push_back( {11905211,2059,52,19,1,2,0.925,2.2239 } ); +cells.push_back( {11905221,2079,52,19,2,2,0.925,2.17433 } ); +cells.push_back( {12005211,2060,52,20,1,2,0.967,2.2239 } ); +cells.push_back( {12005221,2080,52,20,2,2,0.967,2.17433 } ); +cells.push_back( {10105212,2041,52,1,1,1,0.02675,2.2239 } ); +cells.push_back( {10105222,2061,52,1,2,1,0.02675,2.17433 } ); +cells.push_back( {10205212,2042,52,2,1,1,0.075,2.2239 } ); +cells.push_back( {10205222,2062,52,2,2,1,0.075,2.17433 } ); +cells.push_back( {10305212,2043,52,3,1,1,0.125,2.2239 } ); +cells.push_back( {10305222,2063,52,3,2,1,0.125,2.17433 } ); +cells.push_back( {10405212,2044,52,4,1,1,0.175,2.2239 } ); +cells.push_back( {10405222,2064,52,4,2,1,0.175,2.17433 } ); +cells.push_back( {10505212,2045,52,5,1,1,0.225,2.2239 } ); +cells.push_back( {10505222,2065,52,5,2,1,0.225,2.17433 } ); +cells.push_back( {10605212,2046,52,6,1,1,0.275,2.2239 } ); +cells.push_back( {10605222,2066,52,6,2,1,0.275,2.17433 } ); +cells.push_back( {10705212,2047,52,7,1,1,0.325,2.2239 } ); +cells.push_back( {10705222,2067,52,7,2,1,0.325,2.17433 } ); +cells.push_back( {10805212,2048,52,8,1,1,0.375,2.2239 } ); +cells.push_back( {10805222,2068,52,8,2,1,0.375,2.17433 } ); +cells.push_back( {10905212,2049,52,9,1,1,0.425,2.2239 } ); +cells.push_back( {10905222,2069,52,9,2,1,0.425,2.17433 } ); +cells.push_back( {11005212,2050,52,10,1,1,0.475,2.2239 } ); +cells.push_back( {11005222,2070,52,10,2,1,0.475,2.17433 } ); +cells.push_back( {11105212,2051,52,11,1,1,0.525,2.2239 } ); +cells.push_back( {11105222,2071,52,11,2,1,0.525,2.17433 } ); +cells.push_back( {11205212,2052,52,12,1,1,0.575,2.2239 } ); +cells.push_back( {11205222,2072,52,12,2,1,0.575,2.17433 } ); +cells.push_back( {11305212,2053,52,13,1,1,0.625,2.2239 } ); +cells.push_back( {11305222,2073,52,13,2,1,0.625,2.17433 } ); +cells.push_back( {11405212,2054,52,14,1,1,0.675,2.2239 } ); +cells.push_back( {11405222,2074,52,14,2,1,0.675,2.17433 } ); +cells.push_back( {11505212,2055,52,15,1,1,0.725,2.2239 } ); +cells.push_back( {11505222,2075,52,15,2,1,0.725,2.17433 } ); +cells.push_back( {11605212,2056,52,16,1,1,0.775,2.2239 } ); +cells.push_back( {11605222,2076,52,16,2,1,0.775,2.17433 } ); +cells.push_back( {11705212,2057,52,17,1,1,0.825,2.2239 } ); +cells.push_back( {11705222,2077,52,17,2,1,0.825,2.17433 } ); +cells.push_back( {11805212,2058,52,18,1,1,0.875,2.2239 } ); +cells.push_back( {11805222,2078,52,18,2,1,0.875,2.17433 } ); +cells.push_back( {11905212,2059,52,19,1,1,0.925,2.2239 } ); +cells.push_back( {11905222,2079,52,19,2,1,0.925,2.17433 } ); +cells.push_back( {12005212,2060,52,20,1,1,0.967,2.2239 } ); +cells.push_back( {12005222,2080,52,20,2,1,0.967,2.17433 } ); +cells.push_back( {10105311,2081,53,1,1,2,0.02675,2.11918 } ); +cells.push_back( {10105321,2101,53,1,2,2,0.02675,2.06961 } ); +cells.push_back( {10205311,2082,53,2,1,2,0.075,2.11918 } ); +cells.push_back( {10205321,2102,53,2,2,2,0.075,2.06961 } ); +cells.push_back( {10305311,2083,53,3,1,2,0.125,2.11918 } ); +cells.push_back( {10305321,2103,53,3,2,2,0.125,2.06961 } ); +cells.push_back( {10405311,2084,53,4,1,2,0.175,2.11918 } ); +cells.push_back( {10405321,2104,53,4,2,2,0.175,2.06961 } ); +cells.push_back( {10505311,2085,53,5,1,2,0.225,2.11918 } ); +cells.push_back( {10505321,2105,53,5,2,2,0.225,2.06961 } ); +cells.push_back( {10605311,2086,53,6,1,2,0.275,2.11918 } ); +cells.push_back( {10605321,2106,53,6,2,2,0.275,2.06961 } ); +cells.push_back( {10705311,2087,53,7,1,2,0.325,2.11918 } ); +cells.push_back( {10705321,2107,53,7,2,2,0.325,2.06961 } ); +cells.push_back( {10805311,2088,53,8,1,2,0.375,2.11918 } ); +cells.push_back( {10805321,2108,53,8,2,2,0.375,2.06961 } ); +cells.push_back( {10905311,2089,53,9,1,2,0.425,2.11918 } ); +cells.push_back( {10905321,2109,53,9,2,2,0.425,2.06961 } ); +cells.push_back( {11005311,2090,53,10,1,2,0.475,2.11918 } ); +cells.push_back( {11005321,2110,53,10,2,2,0.475,2.06961 } ); +cells.push_back( {11105311,2091,53,11,1,2,0.525,2.11918 } ); +cells.push_back( {11105321,2111,53,11,2,2,0.525,2.06961 } ); +cells.push_back( {11205311,2092,53,12,1,2,0.575,2.11918 } ); +cells.push_back( {11205321,2112,53,12,2,2,0.575,2.06961 } ); +cells.push_back( {11305311,2093,53,13,1,2,0.625,2.11918 } ); +cells.push_back( {11305321,2113,53,13,2,2,0.625,2.06961 } ); +cells.push_back( {11405311,2094,53,14,1,2,0.675,2.11918 } ); +cells.push_back( {11405321,2114,53,14,2,2,0.675,2.06961 } ); +cells.push_back( {11505311,2095,53,15,1,2,0.725,2.11918 } ); +cells.push_back( {11505321,2115,53,15,2,2,0.725,2.06961 } ); +cells.push_back( {11605311,2096,53,16,1,2,0.775,2.11918 } ); +cells.push_back( {11605321,2116,53,16,2,2,0.775,2.06961 } ); +cells.push_back( {11705311,2097,53,17,1,2,0.825,2.11918 } ); +cells.push_back( {11705321,2117,53,17,2,2,0.825,2.06961 } ); +cells.push_back( {11805311,2098,53,18,1,2,0.875,2.11918 } ); +cells.push_back( {11805321,2118,53,18,2,2,0.875,2.06961 } ); +cells.push_back( {11905311,2099,53,19,1,2,0.925,2.11918 } ); +cells.push_back( {11905321,2119,53,19,2,2,0.925,2.06961 } ); +cells.push_back( {12005311,2100,53,20,1,2,0.967,2.11918 } ); +cells.push_back( {12005321,2120,53,20,2,2,0.967,2.06961 } ); +cells.push_back( {10105312,2081,53,1,1,1,0.02675,2.11918 } ); +cells.push_back( {10105322,2101,53,1,2,1,0.02675,2.06961 } ); +cells.push_back( {10205312,2082,53,2,1,1,0.075,2.11918 } ); +cells.push_back( {10205322,2102,53,2,2,1,0.075,2.06961 } ); +cells.push_back( {10305312,2083,53,3,1,1,0.125,2.11918 } ); +cells.push_back( {10305322,2103,53,3,2,1,0.125,2.06961 } ); +cells.push_back( {10405312,2084,53,4,1,1,0.175,2.11918 } ); +cells.push_back( {10405322,2104,53,4,2,1,0.175,2.06961 } ); +cells.push_back( {10505312,2085,53,5,1,1,0.225,2.11918 } ); +cells.push_back( {10505322,2105,53,5,2,1,0.225,2.06961 } ); +cells.push_back( {10605312,2086,53,6,1,1,0.275,2.11918 } ); +cells.push_back( {10605322,2106,53,6,2,1,0.275,2.06961 } ); +cells.push_back( {10705312,2087,53,7,1,1,0.325,2.11918 } ); +cells.push_back( {10705322,2107,53,7,2,1,0.325,2.06961 } ); +cells.push_back( {10805312,2088,53,8,1,1,0.375,2.11918 } ); +cells.push_back( {10805322,2108,53,8,2,1,0.375,2.06961 } ); +cells.push_back( {10905312,2089,53,9,1,1,0.425,2.11918 } ); +cells.push_back( {10905322,2109,53,9,2,1,0.425,2.06961 } ); +cells.push_back( {11005312,2090,53,10,1,1,0.475,2.11918 } ); +cells.push_back( {11005322,2110,53,10,2,1,0.475,2.06961 } ); +cells.push_back( {11105312,2091,53,11,1,1,0.525,2.11918 } ); +cells.push_back( {11105322,2111,53,11,2,1,0.525,2.06961 } ); +cells.push_back( {11205312,2092,53,12,1,1,0.575,2.11918 } ); +cells.push_back( {11205322,2112,53,12,2,1,0.575,2.06961 } ); +cells.push_back( {11305312,2093,53,13,1,1,0.625,2.11918 } ); +cells.push_back( {11305322,2113,53,13,2,1,0.625,2.06961 } ); +cells.push_back( {11405312,2094,53,14,1,1,0.675,2.11918 } ); +cells.push_back( {11405322,2114,53,14,2,1,0.675,2.06961 } ); +cells.push_back( {11505312,2095,53,15,1,1,0.725,2.11918 } ); +cells.push_back( {11505322,2115,53,15,2,1,0.725,2.06961 } ); +cells.push_back( {11605312,2096,53,16,1,1,0.775,2.11918 } ); +cells.push_back( {11605322,2116,53,16,2,1,0.775,2.06961 } ); +cells.push_back( {11705312,2097,53,17,1,1,0.825,2.11918 } ); +cells.push_back( {11705322,2117,53,17,2,1,0.825,2.06961 } ); +cells.push_back( {11805312,2098,53,18,1,1,0.875,2.11918 } ); +cells.push_back( {11805322,2118,53,18,2,1,0.875,2.06961 } ); +cells.push_back( {11905312,2099,53,19,1,1,0.925,2.11918 } ); +cells.push_back( {11905322,2119,53,19,2,1,0.925,2.06961 } ); +cells.push_back( {12005312,2100,53,20,1,1,0.967,2.11918 } ); +cells.push_back( {12005322,2120,53,20,2,1,0.967,2.06961 } ); +cells.push_back( {10105411,2121,54,1,1,2,0.02675,2.01446 } ); +cells.push_back( {10105421,2141,54,1,2,2,0.02675,1.96489 } ); +cells.push_back( {10205411,2122,54,2,1,2,0.075,2.01446 } ); +cells.push_back( {10205421,2142,54,2,2,2,0.075,1.96489 } ); +cells.push_back( {10305411,2123,54,3,1,2,0.125,2.01446 } ); +cells.push_back( {10305421,2143,54,3,2,2,0.125,1.96489 } ); +cells.push_back( {10405411,2124,54,4,1,2,0.175,2.01446 } ); +cells.push_back( {10405421,2144,54,4,2,2,0.175,1.96489 } ); +cells.push_back( {10505411,2125,54,5,1,2,0.225,2.01446 } ); +cells.push_back( {10505421,2145,54,5,2,2,0.225,1.96489 } ); +cells.push_back( {10605411,2126,54,6,1,2,0.275,2.01446 } ); +cells.push_back( {10605421,2146,54,6,2,2,0.275,1.96489 } ); +cells.push_back( {10705411,2127,54,7,1,2,0.325,2.01446 } ); +cells.push_back( {10705421,2147,54,7,2,2,0.325,1.96489 } ); +cells.push_back( {10805411,2128,54,8,1,2,0.375,2.01446 } ); +cells.push_back( {10805421,2148,54,8,2,2,0.375,1.96489 } ); +cells.push_back( {10905411,2129,54,9,1,2,0.425,2.01446 } ); +cells.push_back( {10905421,2149,54,9,2,2,0.425,1.96489 } ); +cells.push_back( {11005411,2130,54,10,1,2,0.475,2.01446 } ); +cells.push_back( {11005421,2150,54,10,2,2,0.475,1.96489 } ); +cells.push_back( {11105411,2131,54,11,1,2,0.525,2.01446 } ); +cells.push_back( {11105421,2151,54,11,2,2,0.525,1.96489 } ); +cells.push_back( {11205411,2132,54,12,1,2,0.575,2.01446 } ); +cells.push_back( {11205421,2152,54,12,2,2,0.575,1.96489 } ); +cells.push_back( {11305411,2133,54,13,1,2,0.625,2.01446 } ); +cells.push_back( {11305421,2153,54,13,2,2,0.625,1.96489 } ); +cells.push_back( {11405411,2134,54,14,1,2,0.675,2.01446 } ); +cells.push_back( {11405421,2154,54,14,2,2,0.675,1.96489 } ); +cells.push_back( {11505411,2135,54,15,1,2,0.725,2.01446 } ); +cells.push_back( {11505421,2155,54,15,2,2,0.725,1.96489 } ); +cells.push_back( {11605411,2136,54,16,1,2,0.775,2.01446 } ); +cells.push_back( {11605421,2156,54,16,2,2,0.775,1.96489 } ); +cells.push_back( {11705411,2137,54,17,1,2,0.825,2.01446 } ); +cells.push_back( {11705421,2157,54,17,2,2,0.825,1.96489 } ); +cells.push_back( {11805411,2138,54,18,1,2,0.875,2.01446 } ); +cells.push_back( {11805421,2158,54,18,2,2,0.875,1.96489 } ); +cells.push_back( {11905411,2139,54,19,1,2,0.925,2.01446 } ); +cells.push_back( {11905421,2159,54,19,2,2,0.925,1.96489 } ); +cells.push_back( {12005411,2140,54,20,1,2,0.967,2.01446 } ); +cells.push_back( {12005421,2160,54,20,2,2,0.967,1.96489 } ); +cells.push_back( {10105412,2121,54,1,1,1,0.02675,2.01446 } ); +cells.push_back( {10105422,2141,54,1,2,1,0.02675,1.96489 } ); +cells.push_back( {10205412,2122,54,2,1,1,0.075,2.01446 } ); +cells.push_back( {10205422,2142,54,2,2,1,0.075,1.96489 } ); +cells.push_back( {10305412,2123,54,3,1,1,0.125,2.01446 } ); +cells.push_back( {10305422,2143,54,3,2,1,0.125,1.96489 } ); +cells.push_back( {10405412,2124,54,4,1,1,0.175,2.01446 } ); +cells.push_back( {10405422,2144,54,4,2,1,0.175,1.96489 } ); +cells.push_back( {10505412,2125,54,5,1,1,0.225,2.01446 } ); +cells.push_back( {10505422,2145,54,5,2,1,0.225,1.96489 } ); +cells.push_back( {10605412,2126,54,6,1,1,0.275,2.01446 } ); +cells.push_back( {10605422,2146,54,6,2,1,0.275,1.96489 } ); +cells.push_back( {10705412,2127,54,7,1,1,0.325,2.01446 } ); +cells.push_back( {10705422,2147,54,7,2,1,0.325,1.96489 } ); +cells.push_back( {10805412,2128,54,8,1,1,0.375,2.01446 } ); +cells.push_back( {10805422,2148,54,8,2,1,0.375,1.96489 } ); +cells.push_back( {10905412,2129,54,9,1,1,0.425,2.01446 } ); +cells.push_back( {10905422,2149,54,9,2,1,0.425,1.96489 } ); +cells.push_back( {11005412,2130,54,10,1,1,0.475,2.01446 } ); +cells.push_back( {11005422,2150,54,10,2,1,0.475,1.96489 } ); +cells.push_back( {11105412,2131,54,11,1,1,0.525,2.01446 } ); +cells.push_back( {11105422,2151,54,11,2,1,0.525,1.96489 } ); +cells.push_back( {11205412,2132,54,12,1,1,0.575,2.01446 } ); +cells.push_back( {11205422,2152,54,12,2,1,0.575,1.96489 } ); +cells.push_back( {11305412,2133,54,13,1,1,0.625,2.01446 } ); +cells.push_back( {11305422,2153,54,13,2,1,0.625,1.96489 } ); +cells.push_back( {11405412,2134,54,14,1,1,0.675,2.01446 } ); +cells.push_back( {11405422,2154,54,14,2,1,0.675,1.96489 } ); +cells.push_back( {11505412,2135,54,15,1,1,0.725,2.01446 } ); +cells.push_back( {11505422,2155,54,15,2,1,0.725,1.96489 } ); +cells.push_back( {11605412,2136,54,16,1,1,0.775,2.01446 } ); +cells.push_back( {11605422,2156,54,16,2,1,0.775,1.96489 } ); +cells.push_back( {11705412,2137,54,17,1,1,0.825,2.01446 } ); +cells.push_back( {11705422,2157,54,17,2,1,0.825,1.96489 } ); +cells.push_back( {11805412,2138,54,18,1,1,0.875,2.01446 } ); +cells.push_back( {11805422,2158,54,18,2,1,0.875,1.96489 } ); +cells.push_back( {11905412,2139,54,19,1,1,0.925,2.01446 } ); +cells.push_back( {11905422,2159,54,19,2,1,0.925,1.96489 } ); +cells.push_back( {12005412,2140,54,20,1,1,0.967,2.01446 } ); +cells.push_back( {12005422,2160,54,20,2,1,0.967,1.96489 } ); +cells.push_back( {10105511,2161,55,1,1,2,0.02675,1.90974 } ); +cells.push_back( {10105521,2181,55,1,2,2,0.02675,1.86017 } ); +cells.push_back( {10205511,2162,55,2,1,2,0.075,1.90974 } ); +cells.push_back( {10205521,2182,55,2,2,2,0.075,1.86017 } ); +cells.push_back( {10305511,2163,55,3,1,2,0.125,1.90974 } ); +cells.push_back( {10305521,2183,55,3,2,2,0.125,1.86017 } ); +cells.push_back( {10405511,2164,55,4,1,2,0.175,1.90974 } ); +cells.push_back( {10405521,2184,55,4,2,2,0.175,1.86017 } ); +cells.push_back( {10505511,2165,55,5,1,2,0.225,1.90974 } ); +cells.push_back( {10505521,2185,55,5,2,2,0.225,1.86017 } ); +cells.push_back( {10605511,2166,55,6,1,2,0.275,1.90974 } ); +cells.push_back( {10605521,2186,55,6,2,2,0.275,1.86017 } ); +cells.push_back( {10705511,2167,55,7,1,2,0.325,1.90974 } ); +cells.push_back( {10705521,2187,55,7,2,2,0.325,1.86017 } ); +cells.push_back( {10805511,2168,55,8,1,2,0.375,1.90974 } ); +cells.push_back( {10805521,2188,55,8,2,2,0.375,1.86017 } ); +cells.push_back( {10905511,2169,55,9,1,2,0.425,1.90974 } ); +cells.push_back( {10905521,2189,55,9,2,2,0.425,1.86017 } ); +cells.push_back( {11005511,2170,55,10,1,2,0.475,1.90974 } ); +cells.push_back( {11005521,2190,55,10,2,2,0.475,1.86017 } ); +cells.push_back( {11105511,2171,55,11,1,2,0.525,1.90974 } ); +cells.push_back( {11105521,2191,55,11,2,2,0.525,1.86017 } ); +cells.push_back( {11205511,2172,55,12,1,2,0.575,1.90974 } ); +cells.push_back( {11205521,2192,55,12,2,2,0.575,1.86017 } ); +cells.push_back( {11305511,2173,55,13,1,2,0.625,1.90974 } ); +cells.push_back( {11305521,2193,55,13,2,2,0.625,1.86017 } ); +cells.push_back( {11405511,2174,55,14,1,2,0.675,1.90974 } ); +cells.push_back( {11405521,2194,55,14,2,2,0.675,1.86017 } ); +cells.push_back( {11505511,2175,55,15,1,2,0.725,1.90974 } ); +cells.push_back( {11505521,2195,55,15,2,2,0.725,1.86017 } ); +cells.push_back( {11605511,2176,55,16,1,2,0.775,1.90974 } ); +cells.push_back( {11605521,2196,55,16,2,2,0.775,1.86017 } ); +cells.push_back( {11705511,2177,55,17,1,2,0.825,1.90974 } ); +cells.push_back( {11705521,2197,55,17,2,2,0.825,1.86017 } ); +cells.push_back( {11805511,2178,55,18,1,2,0.875,1.90974 } ); +cells.push_back( {11805521,2198,55,18,2,2,0.875,1.86017 } ); +cells.push_back( {11905511,2179,55,19,1,2,0.925,1.90974 } ); +cells.push_back( {11905521,2199,55,19,2,2,0.925,1.86017 } ); +cells.push_back( {12005511,2180,55,20,1,2,0.967,1.90974 } ); +cells.push_back( {12005521,2200,55,20,2,2,0.967,1.86017 } ); +cells.push_back( {10105512,2161,55,1,1,1,0.02675,1.90974 } ); +cells.push_back( {10105522,2181,55,1,2,1,0.02675,1.86017 } ); +cells.push_back( {10205512,2162,55,2,1,1,0.075,1.90974 } ); +cells.push_back( {10205522,2182,55,2,2,1,0.075,1.86017 } ); +cells.push_back( {10305512,2163,55,3,1,1,0.125,1.90974 } ); +cells.push_back( {10305522,2183,55,3,2,1,0.125,1.86017 } ); +cells.push_back( {10405512,2164,55,4,1,1,0.175,1.90974 } ); +cells.push_back( {10405522,2184,55,4,2,1,0.175,1.86017 } ); +cells.push_back( {10505512,2165,55,5,1,1,0.225,1.90974 } ); +cells.push_back( {10505522,2185,55,5,2,1,0.225,1.86017 } ); +cells.push_back( {10605512,2166,55,6,1,1,0.275,1.90974 } ); +cells.push_back( {10605522,2186,55,6,2,1,0.275,1.86017 } ); +cells.push_back( {10705512,2167,55,7,1,1,0.325,1.90974 } ); +cells.push_back( {10705522,2187,55,7,2,1,0.325,1.86017 } ); +cells.push_back( {10805512,2168,55,8,1,1,0.375,1.90974 } ); +cells.push_back( {10805522,2188,55,8,2,1,0.375,1.86017 } ); +cells.push_back( {10905512,2169,55,9,1,1,0.425,1.90974 } ); +cells.push_back( {10905522,2189,55,9,2,1,0.425,1.86017 } ); +cells.push_back( {11005512,2170,55,10,1,1,0.475,1.90974 } ); +cells.push_back( {11005522,2190,55,10,2,1,0.475,1.86017 } ); +cells.push_back( {11105512,2171,55,11,1,1,0.525,1.90974 } ); +cells.push_back( {11105522,2191,55,11,2,1,0.525,1.86017 } ); +cells.push_back( {11205512,2172,55,12,1,1,0.575,1.90974 } ); +cells.push_back( {11205522,2192,55,12,2,1,0.575,1.86017 } ); +cells.push_back( {11305512,2173,55,13,1,1,0.625,1.90974 } ); +cells.push_back( {11305522,2193,55,13,2,1,0.625,1.86017 } ); +cells.push_back( {11405512,2174,55,14,1,1,0.675,1.90974 } ); +cells.push_back( {11405522,2194,55,14,2,1,0.675,1.86017 } ); +cells.push_back( {11505512,2175,55,15,1,1,0.725,1.90974 } ); +cells.push_back( {11505522,2195,55,15,2,1,0.725,1.86017 } ); +cells.push_back( {11605512,2176,55,16,1,1,0.775,1.90974 } ); +cells.push_back( {11605522,2196,55,16,2,1,0.775,1.86017 } ); +cells.push_back( {11705512,2177,55,17,1,1,0.825,1.90974 } ); +cells.push_back( {11705522,2197,55,17,2,1,0.825,1.86017 } ); +cells.push_back( {11805512,2178,55,18,1,1,0.875,1.90974 } ); +cells.push_back( {11805522,2198,55,18,2,1,0.875,1.86017 } ); +cells.push_back( {11905512,2179,55,19,1,1,0.925,1.90974 } ); +cells.push_back( {11905522,2199,55,19,2,1,0.925,1.86017 } ); +cells.push_back( {12005512,2180,55,20,1,1,0.967,1.90974 } ); +cells.push_back( {12005522,2200,55,20,2,1,0.967,1.86017 } ); +cells.push_back( {10105611,2201,56,1,1,2,0.02675,1.80502 } ); +cells.push_back( {10105621,2221,56,1,2,2,0.02675,1.75545 } ); +cells.push_back( {10205611,2202,56,2,1,2,0.075,1.80502 } ); +cells.push_back( {10205621,2222,56,2,2,2,0.075,1.75545 } ); +cells.push_back( {10305611,2203,56,3,1,2,0.125,1.80502 } ); +cells.push_back( {10305621,2223,56,3,2,2,0.125,1.75545 } ); +cells.push_back( {10405611,2204,56,4,1,2,0.175,1.80502 } ); +cells.push_back( {10405621,2224,56,4,2,2,0.175,1.75545 } ); +cells.push_back( {10505611,2205,56,5,1,2,0.225,1.80502 } ); +cells.push_back( {10505621,2225,56,5,2,2,0.225,1.75545 } ); +cells.push_back( {10605611,2206,56,6,1,2,0.275,1.80502 } ); +cells.push_back( {10605621,2226,56,6,2,2,0.275,1.75545 } ); +cells.push_back( {10705611,2207,56,7,1,2,0.325,1.80502 } ); +cells.push_back( {10705621,2227,56,7,2,2,0.325,1.75545 } ); +cells.push_back( {10805611,2208,56,8,1,2,0.375,1.80502 } ); +cells.push_back( {10805621,2228,56,8,2,2,0.375,1.75545 } ); +cells.push_back( {10905611,2209,56,9,1,2,0.425,1.80502 } ); +cells.push_back( {10905621,2229,56,9,2,2,0.425,1.75545 } ); +cells.push_back( {11005611,2210,56,10,1,2,0.475,1.80502 } ); +cells.push_back( {11005621,2230,56,10,2,2,0.475,1.75545 } ); +cells.push_back( {11105611,2211,56,11,1,2,0.525,1.80502 } ); +cells.push_back( {11105621,2231,56,11,2,2,0.525,1.75545 } ); +cells.push_back( {11205611,2212,56,12,1,2,0.575,1.80502 } ); +cells.push_back( {11205621,2232,56,12,2,2,0.575,1.75545 } ); +cells.push_back( {11305611,2213,56,13,1,2,0.625,1.80502 } ); +cells.push_back( {11305621,2233,56,13,2,2,0.625,1.75545 } ); +cells.push_back( {11405611,2214,56,14,1,2,0.675,1.80502 } ); +cells.push_back( {11405621,2234,56,14,2,2,0.675,1.75545 } ); +cells.push_back( {11505611,2215,56,15,1,2,0.725,1.80502 } ); +cells.push_back( {11505621,2235,56,15,2,2,0.725,1.75545 } ); +cells.push_back( {11605611,2216,56,16,1,2,0.775,1.80502 } ); +cells.push_back( {11605621,2236,56,16,2,2,0.775,1.75545 } ); +cells.push_back( {11705611,2217,56,17,1,2,0.825,1.80502 } ); +cells.push_back( {11705621,2237,56,17,2,2,0.825,1.75545 } ); +cells.push_back( {11805611,2218,56,18,1,2,0.875,1.80502 } ); +cells.push_back( {11805621,2238,56,18,2,2,0.875,1.75545 } ); +cells.push_back( {11905611,2219,56,19,1,2,0.925,1.80502 } ); +cells.push_back( {11905621,2239,56,19,2,2,0.925,1.75545 } ); +cells.push_back( {12005611,2220,56,20,1,2,0.967,1.80502 } ); +cells.push_back( {12005621,2240,56,20,2,2,0.967,1.75545 } ); +cells.push_back( {10105612,2201,56,1,1,1,0.02675,1.80502 } ); +cells.push_back( {10105622,2221,56,1,2,1,0.02675,1.75545 } ); +cells.push_back( {10205612,2202,56,2,1,1,0.075,1.80502 } ); +cells.push_back( {10205622,2222,56,2,2,1,0.075,1.75545 } ); +cells.push_back( {10305612,2203,56,3,1,1,0.125,1.80502 } ); +cells.push_back( {10305622,2223,56,3,2,1,0.125,1.75545 } ); +cells.push_back( {10405612,2204,56,4,1,1,0.175,1.80502 } ); +cells.push_back( {10405622,2224,56,4,2,1,0.175,1.75545 } ); +cells.push_back( {10505612,2205,56,5,1,1,0.225,1.80502 } ); +cells.push_back( {10505622,2225,56,5,2,1,0.225,1.75545 } ); +cells.push_back( {10605612,2206,56,6,1,1,0.275,1.80502 } ); +cells.push_back( {10605622,2226,56,6,2,1,0.275,1.75545 } ); +cells.push_back( {10705612,2207,56,7,1,1,0.325,1.80502 } ); +cells.push_back( {10705622,2227,56,7,2,1,0.325,1.75545 } ); +cells.push_back( {10805612,2208,56,8,1,1,0.375,1.80502 } ); +cells.push_back( {10805622,2228,56,8,2,1,0.375,1.75545 } ); +cells.push_back( {10905612,2209,56,9,1,1,0.425,1.80502 } ); +cells.push_back( {10905622,2229,56,9,2,1,0.425,1.75545 } ); +cells.push_back( {11005612,2210,56,10,1,1,0.475,1.80502 } ); +cells.push_back( {11005622,2230,56,10,2,1,0.475,1.75545 } ); +cells.push_back( {11105612,2211,56,11,1,1,0.525,1.80502 } ); +cells.push_back( {11105622,2231,56,11,2,1,0.525,1.75545 } ); +cells.push_back( {11205612,2212,56,12,1,1,0.575,1.80502 } ); +cells.push_back( {11205622,2232,56,12,2,1,0.575,1.75545 } ); +cells.push_back( {11305612,2213,56,13,1,1,0.625,1.80502 } ); +cells.push_back( {11305622,2233,56,13,2,1,0.625,1.75545 } ); +cells.push_back( {11405612,2214,56,14,1,1,0.675,1.80502 } ); +cells.push_back( {11405622,2234,56,14,2,1,0.675,1.75545 } ); +cells.push_back( {11505612,2215,56,15,1,1,0.725,1.80502 } ); +cells.push_back( {11505622,2235,56,15,2,1,0.725,1.75545 } ); +cells.push_back( {11605612,2216,56,16,1,1,0.775,1.80502 } ); +cells.push_back( {11605622,2236,56,16,2,1,0.775,1.75545 } ); +cells.push_back( {11705612,2217,56,17,1,1,0.825,1.80502 } ); +cells.push_back( {11705622,2237,56,17,2,1,0.825,1.75545 } ); +cells.push_back( {11805612,2218,56,18,1,1,0.875,1.80502 } ); +cells.push_back( {11805622,2238,56,18,2,1,0.875,1.75545 } ); +cells.push_back( {11905612,2219,56,19,1,1,0.925,1.80502 } ); +cells.push_back( {11905622,2239,56,19,2,1,0.925,1.75545 } ); +cells.push_back( {12005612,2220,56,20,1,1,0.967,1.80502 } ); +cells.push_back( {12005622,2240,56,20,2,1,0.967,1.75545 } ); +cells.push_back( {10105711,2241,57,1,1,2,0.02675,1.7003 } ); +cells.push_back( {10105721,2261,57,1,2,2,0.02675,1.65073 } ); +cells.push_back( {10205711,2242,57,2,1,2,0.075,1.7003 } ); +cells.push_back( {10205721,2262,57,2,2,2,0.075,1.65073 } ); +cells.push_back( {10305711,2243,57,3,1,2,0.125,1.7003 } ); +cells.push_back( {10305721,2263,57,3,2,2,0.125,1.65073 } ); +cells.push_back( {10405711,2244,57,4,1,2,0.175,1.7003 } ); +cells.push_back( {10405721,2264,57,4,2,2,0.175,1.65073 } ); +cells.push_back( {10505711,2245,57,5,1,2,0.225,1.7003 } ); +cells.push_back( {10505721,2265,57,5,2,2,0.225,1.65073 } ); +cells.push_back( {10605711,2246,57,6,1,2,0.275,1.7003 } ); +cells.push_back( {10605721,2266,57,6,2,2,0.275,1.65073 } ); +cells.push_back( {10705711,2247,57,7,1,2,0.325,1.7003 } ); +cells.push_back( {10705721,2267,57,7,2,2,0.325,1.65073 } ); +cells.push_back( {10805711,2248,57,8,1,2,0.375,1.7003 } ); +cells.push_back( {10805721,2268,57,8,2,2,0.375,1.65073 } ); +cells.push_back( {10905711,2249,57,9,1,2,0.425,1.7003 } ); +cells.push_back( {10905721,2269,57,9,2,2,0.425,1.65073 } ); +cells.push_back( {11005711,2250,57,10,1,2,0.475,1.7003 } ); +cells.push_back( {11005721,2270,57,10,2,2,0.475,1.65073 } ); +cells.push_back( {11105711,2251,57,11,1,2,0.525,1.7003 } ); +cells.push_back( {11105721,2271,57,11,2,2,0.525,1.65073 } ); +cells.push_back( {11205711,2252,57,12,1,2,0.575,1.7003 } ); +cells.push_back( {11205721,2272,57,12,2,2,0.575,1.65073 } ); +cells.push_back( {11305711,2253,57,13,1,2,0.625,1.7003 } ); +cells.push_back( {11305721,2273,57,13,2,2,0.625,1.65073 } ); +cells.push_back( {11405711,2254,57,14,1,2,0.675,1.7003 } ); +cells.push_back( {11405721,2274,57,14,2,2,0.675,1.65073 } ); +cells.push_back( {11505711,2255,57,15,1,2,0.725,1.7003 } ); +cells.push_back( {11505721,2275,57,15,2,2,0.725,1.65073 } ); +cells.push_back( {11605711,2256,57,16,1,2,0.775,1.7003 } ); +cells.push_back( {11605721,2276,57,16,2,2,0.775,1.65073 } ); +cells.push_back( {11705711,2257,57,17,1,2,0.825,1.7003 } ); +cells.push_back( {11705721,2277,57,17,2,2,0.825,1.65073 } ); +cells.push_back( {11805711,2258,57,18,1,2,0.875,1.7003 } ); +cells.push_back( {11805721,2278,57,18,2,2,0.875,1.65073 } ); +cells.push_back( {11905711,2259,57,19,1,2,0.925,1.7003 } ); +cells.push_back( {11905721,2279,57,19,2,2,0.925,1.65073 } ); +cells.push_back( {12005711,2260,57,20,1,2,0.967,1.7003 } ); +cells.push_back( {12005721,2280,57,20,2,2,0.967,1.65073 } ); +cells.push_back( {10105712,2241,57,1,1,1,0.02675,1.7003 } ); +cells.push_back( {10105722,2261,57,1,2,1,0.02675,1.65073 } ); +cells.push_back( {10205712,2242,57,2,1,1,0.075,1.7003 } ); +cells.push_back( {10205722,2262,57,2,2,1,0.075,1.65073 } ); +cells.push_back( {10305712,2243,57,3,1,1,0.125,1.7003 } ); +cells.push_back( {10305722,2263,57,3,2,1,0.125,1.65073 } ); +cells.push_back( {10405712,2244,57,4,1,1,0.175,1.7003 } ); +cells.push_back( {10405722,2264,57,4,2,1,0.175,1.65073 } ); +cells.push_back( {10505712,2245,57,5,1,1,0.225,1.7003 } ); +cells.push_back( {10505722,2265,57,5,2,1,0.225,1.65073 } ); +cells.push_back( {10605712,2246,57,6,1,1,0.275,1.7003 } ); +cells.push_back( {10605722,2266,57,6,2,1,0.275,1.65073 } ); +cells.push_back( {10705712,2247,57,7,1,1,0.325,1.7003 } ); +cells.push_back( {10705722,2267,57,7,2,1,0.325,1.65073 } ); +cells.push_back( {10805712,2248,57,8,1,1,0.375,1.7003 } ); +cells.push_back( {10805722,2268,57,8,2,1,0.375,1.65073 } ); +cells.push_back( {10905712,2249,57,9,1,1,0.425,1.7003 } ); +cells.push_back( {10905722,2269,57,9,2,1,0.425,1.65073 } ); +cells.push_back( {11005712,2250,57,10,1,1,0.475,1.7003 } ); +cells.push_back( {11005722,2270,57,10,2,1,0.475,1.65073 } ); +cells.push_back( {11105712,2251,57,11,1,1,0.525,1.7003 } ); +cells.push_back( {11105722,2271,57,11,2,1,0.525,1.65073 } ); +cells.push_back( {11205712,2252,57,12,1,1,0.575,1.7003 } ); +cells.push_back( {11205722,2272,57,12,2,1,0.575,1.65073 } ); +cells.push_back( {11305712,2253,57,13,1,1,0.625,1.7003 } ); +cells.push_back( {11305722,2273,57,13,2,1,0.625,1.65073 } ); +cells.push_back( {11405712,2254,57,14,1,1,0.675,1.7003 } ); +cells.push_back( {11405722,2274,57,14,2,1,0.675,1.65073 } ); +cells.push_back( {11505712,2255,57,15,1,1,0.725,1.7003 } ); +cells.push_back( {11505722,2275,57,15,2,1,0.725,1.65073 } ); +cells.push_back( {11605712,2256,57,16,1,1,0.775,1.7003 } ); +cells.push_back( {11605722,2276,57,16,2,1,0.775,1.65073 } ); +cells.push_back( {11705712,2257,57,17,1,1,0.825,1.7003 } ); +cells.push_back( {11705722,2277,57,17,2,1,0.825,1.65073 } ); +cells.push_back( {11805712,2258,57,18,1,1,0.875,1.7003 } ); +cells.push_back( {11805722,2278,57,18,2,1,0.875,1.65073 } ); +cells.push_back( {11905712,2259,57,19,1,1,0.925,1.7003 } ); +cells.push_back( {11905722,2279,57,19,2,1,0.925,1.65073 } ); +cells.push_back( {12005712,2260,57,20,1,1,0.967,1.7003 } ); +cells.push_back( {12005722,2280,57,20,2,1,0.967,1.65073 } ); +cells.push_back( {10105811,2281,58,1,1,2,0.02675,1.59558 } ); +cells.push_back( {10105821,2301,58,1,2,2,0.02675,1.54601 } ); +cells.push_back( {10205811,2282,58,2,1,2,0.075,1.59558 } ); +cells.push_back( {10205821,2302,58,2,2,2,0.075,1.54601 } ); +cells.push_back( {10305811,2283,58,3,1,2,0.125,1.59558 } ); +cells.push_back( {10305821,2303,58,3,2,2,0.125,1.54601 } ); +cells.push_back( {10405811,2284,58,4,1,2,0.175,1.59558 } ); +cells.push_back( {10405821,2304,58,4,2,2,0.175,1.54601 } ); +cells.push_back( {10505811,2285,58,5,1,2,0.225,1.59558 } ); +cells.push_back( {10505821,2305,58,5,2,2,0.225,1.54601 } ); +cells.push_back( {10605811,2286,58,6,1,2,0.275,1.59558 } ); +cells.push_back( {10605821,2306,58,6,2,2,0.275,1.54601 } ); +cells.push_back( {10705811,2287,58,7,1,2,0.325,1.59558 } ); +cells.push_back( {10705821,2307,58,7,2,2,0.325,1.54601 } ); +cells.push_back( {10805811,2288,58,8,1,2,0.375,1.59558 } ); +cells.push_back( {10805821,2308,58,8,2,2,0.375,1.54601 } ); +cells.push_back( {10905811,2289,58,9,1,2,0.425,1.59558 } ); +cells.push_back( {10905821,2309,58,9,2,2,0.425,1.54601 } ); +cells.push_back( {11005811,2290,58,10,1,2,0.475,1.59558 } ); +cells.push_back( {11005821,2310,58,10,2,2,0.475,1.54601 } ); +cells.push_back( {11105811,2291,58,11,1,2,0.525,1.59558 } ); +cells.push_back( {11105821,2311,58,11,2,2,0.525,1.54601 } ); +cells.push_back( {11205811,2292,58,12,1,2,0.575,1.59558 } ); +cells.push_back( {11205821,2312,58,12,2,2,0.575,1.54601 } ); +cells.push_back( {11305811,2293,58,13,1,2,0.625,1.59558 } ); +cells.push_back( {11305821,2313,58,13,2,2,0.625,1.54601 } ); +cells.push_back( {11405811,2294,58,14,1,2,0.675,1.59558 } ); +cells.push_back( {11405821,2314,58,14,2,2,0.675,1.54601 } ); +cells.push_back( {11505811,2295,58,15,1,2,0.725,1.59558 } ); +cells.push_back( {11505821,2315,58,15,2,2,0.725,1.54601 } ); +cells.push_back( {11605811,2296,58,16,1,2,0.775,1.59558 } ); +cells.push_back( {11605821,2316,58,16,2,2,0.775,1.54601 } ); +cells.push_back( {11705811,2297,58,17,1,2,0.825,1.59558 } ); +cells.push_back( {11705821,2317,58,17,2,2,0.825,1.54601 } ); +cells.push_back( {11805811,2298,58,18,1,2,0.875,1.59558 } ); +cells.push_back( {11805821,2318,58,18,2,2,0.875,1.54601 } ); +cells.push_back( {11905811,2299,58,19,1,2,0.925,1.59558 } ); +cells.push_back( {11905821,2319,58,19,2,2,0.925,1.54601 } ); +cells.push_back( {12005811,2300,58,20,1,2,0.967,1.59558 } ); +cells.push_back( {12005821,2320,58,20,2,2,0.967,1.54601 } ); +cells.push_back( {10105812,2281,58,1,1,1,0.02675,1.59558 } ); +cells.push_back( {10105822,2301,58,1,2,1,0.02675,1.54601 } ); +cells.push_back( {10205812,2282,58,2,1,1,0.075,1.59558 } ); +cells.push_back( {10205822,2302,58,2,2,1,0.075,1.54601 } ); +cells.push_back( {10305812,2283,58,3,1,1,0.125,1.59558 } ); +cells.push_back( {10305822,2303,58,3,2,1,0.125,1.54601 } ); +cells.push_back( {10405812,2284,58,4,1,1,0.175,1.59558 } ); +cells.push_back( {10405822,2304,58,4,2,1,0.175,1.54601 } ); +cells.push_back( {10505812,2285,58,5,1,1,0.225,1.59558 } ); +cells.push_back( {10505822,2305,58,5,2,1,0.225,1.54601 } ); +cells.push_back( {10605812,2286,58,6,1,1,0.275,1.59558 } ); +cells.push_back( {10605822,2306,58,6,2,1,0.275,1.54601 } ); +cells.push_back( {10705812,2287,58,7,1,1,0.325,1.59558 } ); +cells.push_back( {10705822,2307,58,7,2,1,0.325,1.54601 } ); +cells.push_back( {10805812,2288,58,8,1,1,0.375,1.59558 } ); +cells.push_back( {10805822,2308,58,8,2,1,0.375,1.54601 } ); +cells.push_back( {10905812,2289,58,9,1,1,0.425,1.59558 } ); +cells.push_back( {10905822,2309,58,9,2,1,0.425,1.54601 } ); +cells.push_back( {11005812,2290,58,10,1,1,0.475,1.59558 } ); +cells.push_back( {11005822,2310,58,10,2,1,0.475,1.54601 } ); +cells.push_back( {11105812,2291,58,11,1,1,0.525,1.59558 } ); +cells.push_back( {11105822,2311,58,11,2,1,0.525,1.54601 } ); +cells.push_back( {11205812,2292,58,12,1,1,0.575,1.59558 } ); +cells.push_back( {11205822,2312,58,12,2,1,0.575,1.54601 } ); +cells.push_back( {11305812,2293,58,13,1,1,0.625,1.59558 } ); +cells.push_back( {11305822,2313,58,13,2,1,0.625,1.54601 } ); +cells.push_back( {11405812,2294,58,14,1,1,0.675,1.59558 } ); +cells.push_back( {11405822,2314,58,14,2,1,0.675,1.54601 } ); +cells.push_back( {11505812,2295,58,15,1,1,0.725,1.59558 } ); +cells.push_back( {11505822,2315,58,15,2,1,0.725,1.54601 } ); +cells.push_back( {11605812,2296,58,16,1,1,0.775,1.59558 } ); +cells.push_back( {11605822,2316,58,16,2,1,0.775,1.54601 } ); +cells.push_back( {11705812,2297,58,17,1,1,0.825,1.59558 } ); +cells.push_back( {11705822,2317,58,17,2,1,0.825,1.54601 } ); +cells.push_back( {11805812,2298,58,18,1,1,0.875,1.59558 } ); +cells.push_back( {11805822,2318,58,18,2,1,0.875,1.54601 } ); +cells.push_back( {11905812,2299,58,19,1,1,0.925,1.59558 } ); +cells.push_back( {11905822,2319,58,19,2,1,0.925,1.54601 } ); +cells.push_back( {12005812,2300,58,20,1,1,0.967,1.59558 } ); +cells.push_back( {12005822,2320,58,20,2,1,0.967,1.54601 } ); +cells.push_back( {10105911,2321,59,1,1,2,0.02675,1.49086 } ); +cells.push_back( {10105921,2341,59,1,2,2,0.02675,1.4413 } ); +cells.push_back( {10205911,2322,59,2,1,2,0.075,1.49086 } ); +cells.push_back( {10205921,2342,59,2,2,2,0.075,1.4413 } ); +cells.push_back( {10305911,2323,59,3,1,2,0.125,1.49086 } ); +cells.push_back( {10305921,2343,59,3,2,2,0.125,1.4413 } ); +cells.push_back( {10405911,2324,59,4,1,2,0.175,1.49086 } ); +cells.push_back( {10405921,2344,59,4,2,2,0.175,1.4413 } ); +cells.push_back( {10505911,2325,59,5,1,2,0.225,1.49086 } ); +cells.push_back( {10505921,2345,59,5,2,2,0.225,1.4413 } ); +cells.push_back( {10605911,2326,59,6,1,2,0.275,1.49086 } ); +cells.push_back( {10605921,2346,59,6,2,2,0.275,1.4413 } ); +cells.push_back( {10705911,2327,59,7,1,2,0.325,1.49086 } ); +cells.push_back( {10705921,2347,59,7,2,2,0.325,1.4413 } ); +cells.push_back( {10805911,2328,59,8,1,2,0.375,1.49086 } ); +cells.push_back( {10805921,2348,59,8,2,2,0.375,1.4413 } ); +cells.push_back( {10905911,2329,59,9,1,2,0.425,1.49086 } ); +cells.push_back( {10905921,2349,59,9,2,2,0.425,1.4413 } ); +cells.push_back( {11005911,2330,59,10,1,2,0.475,1.49086 } ); +cells.push_back( {11005921,2350,59,10,2,2,0.475,1.4413 } ); +cells.push_back( {11105911,2331,59,11,1,2,0.525,1.49086 } ); +cells.push_back( {11105921,2351,59,11,2,2,0.525,1.4413 } ); +cells.push_back( {11205911,2332,59,12,1,2,0.575,1.49086 } ); +cells.push_back( {11205921,2352,59,12,2,2,0.575,1.4413 } ); +cells.push_back( {11305911,2333,59,13,1,2,0.625,1.49086 } ); +cells.push_back( {11305921,2353,59,13,2,2,0.625,1.4413 } ); +cells.push_back( {11405911,2334,59,14,1,2,0.675,1.49086 } ); +cells.push_back( {11405921,2354,59,14,2,2,0.675,1.4413 } ); +cells.push_back( {11505911,2335,59,15,1,2,0.725,1.49086 } ); +cells.push_back( {11505921,2355,59,15,2,2,0.725,1.4413 } ); +cells.push_back( {11605911,2336,59,16,1,2,0.775,1.49086 } ); +cells.push_back( {11605921,2356,59,16,2,2,0.775,1.4413 } ); +cells.push_back( {11705911,2337,59,17,1,2,0.825,1.49086 } ); +cells.push_back( {11705921,2357,59,17,2,2,0.825,1.4413 } ); +cells.push_back( {11805911,2338,59,18,1,2,0.875,1.49086 } ); +cells.push_back( {11805921,2358,59,18,2,2,0.875,1.4413 } ); +cells.push_back( {11905911,2339,59,19,1,2,0.925,1.49086 } ); +cells.push_back( {11905921,2359,59,19,2,2,0.925,1.4413 } ); +cells.push_back( {12005911,2340,59,20,1,2,0.967,1.49086 } ); +cells.push_back( {12005921,2360,59,20,2,2,0.967,1.4413 } ); +cells.push_back( {10105912,2321,59,1,1,1,0.02675,1.49086 } ); +cells.push_back( {10105922,2341,59,1,2,1,0.02675,1.4413 } ); +cells.push_back( {10205912,2322,59,2,1,1,0.075,1.49086 } ); +cells.push_back( {10205922,2342,59,2,2,1,0.075,1.4413 } ); +cells.push_back( {10305912,2323,59,3,1,1,0.125,1.49086 } ); +cells.push_back( {10305922,2343,59,3,2,1,0.125,1.4413 } ); +cells.push_back( {10405912,2324,59,4,1,1,0.175,1.49086 } ); +cells.push_back( {10405922,2344,59,4,2,1,0.175,1.4413 } ); +cells.push_back( {10505912,2325,59,5,1,1,0.225,1.49086 } ); +cells.push_back( {10505922,2345,59,5,2,1,0.225,1.4413 } ); +cells.push_back( {10605912,2326,59,6,1,1,0.275,1.49086 } ); +cells.push_back( {10605922,2346,59,6,2,1,0.275,1.4413 } ); +cells.push_back( {10705912,2327,59,7,1,1,0.325,1.49086 } ); +cells.push_back( {10705922,2347,59,7,2,1,0.325,1.4413 } ); +cells.push_back( {10805912,2328,59,8,1,1,0.375,1.49086 } ); +cells.push_back( {10805922,2348,59,8,2,1,0.375,1.4413 } ); +cells.push_back( {10905912,2329,59,9,1,1,0.425,1.49086 } ); +cells.push_back( {10905922,2349,59,9,2,1,0.425,1.4413 } ); +cells.push_back( {11005912,2330,59,10,1,1,0.475,1.49086 } ); +cells.push_back( {11005922,2350,59,10,2,1,0.475,1.4413 } ); +cells.push_back( {11105912,2331,59,11,1,1,0.525,1.49086 } ); +cells.push_back( {11105922,2351,59,11,2,1,0.525,1.4413 } ); +cells.push_back( {11205912,2332,59,12,1,1,0.575,1.49086 } ); +cells.push_back( {11205922,2352,59,12,2,1,0.575,1.4413 } ); +cells.push_back( {11305912,2333,59,13,1,1,0.625,1.49086 } ); +cells.push_back( {11305922,2353,59,13,2,1,0.625,1.4413 } ); +cells.push_back( {11405912,2334,59,14,1,1,0.675,1.49086 } ); +cells.push_back( {11405922,2354,59,14,2,1,0.675,1.4413 } ); +cells.push_back( {11505912,2335,59,15,1,1,0.725,1.49086 } ); +cells.push_back( {11505922,2355,59,15,2,1,0.725,1.4413 } ); +cells.push_back( {11605912,2336,59,16,1,1,0.775,1.49086 } ); +cells.push_back( {11605922,2356,59,16,2,1,0.775,1.4413 } ); +cells.push_back( {11705912,2337,59,17,1,1,0.825,1.49086 } ); +cells.push_back( {11705922,2357,59,17,2,1,0.825,1.4413 } ); +cells.push_back( {11805912,2338,59,18,1,1,0.875,1.49086 } ); +cells.push_back( {11805922,2358,59,18,2,1,0.875,1.4413 } ); +cells.push_back( {11905912,2339,59,19,1,1,0.925,1.49086 } ); +cells.push_back( {11905922,2359,59,19,2,1,0.925,1.4413 } ); +cells.push_back( {12005912,2340,59,20,1,1,0.967,1.49086 } ); +cells.push_back( {12005922,2360,59,20,2,1,0.967,1.4413 } ); +cells.push_back( {10106011,2361,60,1,1,2,0.02675,1.38614 } ); +cells.push_back( {10106021,2381,60,1,2,2,0.02675,1.33658 } ); +cells.push_back( {10206011,2362,60,2,1,2,0.075,1.38614 } ); +cells.push_back( {10206021,2382,60,2,2,2,0.075,1.33658 } ); +cells.push_back( {10306011,2363,60,3,1,2,0.125,1.38614 } ); +cells.push_back( {10306021,2383,60,3,2,2,0.125,1.33658 } ); +cells.push_back( {10406011,2364,60,4,1,2,0.175,1.38614 } ); +cells.push_back( {10406021,2384,60,4,2,2,0.175,1.33658 } ); +cells.push_back( {10506011,2365,60,5,1,2,0.225,1.38614 } ); +cells.push_back( {10506021,2385,60,5,2,2,0.225,1.33658 } ); +cells.push_back( {10606011,2366,60,6,1,2,0.275,1.38614 } ); +cells.push_back( {10606021,2386,60,6,2,2,0.275,1.33658 } ); +cells.push_back( {10706011,2367,60,7,1,2,0.325,1.38614 } ); +cells.push_back( {10706021,2387,60,7,2,2,0.325,1.33658 } ); +cells.push_back( {10806011,2368,60,8,1,2,0.375,1.38614 } ); +cells.push_back( {10806021,2388,60,8,2,2,0.375,1.33658 } ); +cells.push_back( {10906011,2369,60,9,1,2,0.425,1.38614 } ); +cells.push_back( {10906021,2389,60,9,2,2,0.425,1.33658 } ); +cells.push_back( {11006011,2370,60,10,1,2,0.475,1.38614 } ); +cells.push_back( {11006021,2390,60,10,2,2,0.475,1.33658 } ); +cells.push_back( {11106011,2371,60,11,1,2,0.525,1.38614 } ); +cells.push_back( {11106021,2391,60,11,2,2,0.525,1.33658 } ); +cells.push_back( {11206011,2372,60,12,1,2,0.575,1.38614 } ); +cells.push_back( {11206021,2392,60,12,2,2,0.575,1.33658 } ); +cells.push_back( {11306011,2373,60,13,1,2,0.625,1.38614 } ); +cells.push_back( {11306021,2393,60,13,2,2,0.625,1.33658 } ); +cells.push_back( {11406011,2374,60,14,1,2,0.675,1.38614 } ); +cells.push_back( {11406021,2394,60,14,2,2,0.675,1.33658 } ); +cells.push_back( {11506011,2375,60,15,1,2,0.725,1.38614 } ); +cells.push_back( {11506021,2395,60,15,2,2,0.725,1.33658 } ); +cells.push_back( {11606011,2376,60,16,1,2,0.775,1.38614 } ); +cells.push_back( {11606021,2396,60,16,2,2,0.775,1.33658 } ); +cells.push_back( {11706011,2377,60,17,1,2,0.825,1.38614 } ); +cells.push_back( {11706021,2397,60,17,2,2,0.825,1.33658 } ); +cells.push_back( {11806011,2378,60,18,1,2,0.875,1.38614 } ); +cells.push_back( {11806021,2398,60,18,2,2,0.875,1.33658 } ); +cells.push_back( {11906011,2379,60,19,1,2,0.925,1.38614 } ); +cells.push_back( {11906021,2399,60,19,2,2,0.925,1.33658 } ); +cells.push_back( {12006011,2380,60,20,1,2,0.967,1.38614 } ); +cells.push_back( {12006021,2400,60,20,2,2,0.967,1.33658 } ); +cells.push_back( {10106012,2361,60,1,1,1,0.02675,1.38614 } ); +cells.push_back( {10106022,2381,60,1,2,1,0.02675,1.33658 } ); +cells.push_back( {10206012,2362,60,2,1,1,0.075,1.38614 } ); +cells.push_back( {10206022,2382,60,2,2,1,0.075,1.33658 } ); +cells.push_back( {10306012,2363,60,3,1,1,0.125,1.38614 } ); +cells.push_back( {10306022,2383,60,3,2,1,0.125,1.33658 } ); +cells.push_back( {10406012,2364,60,4,1,1,0.175,1.38614 } ); +cells.push_back( {10406022,2384,60,4,2,1,0.175,1.33658 } ); +cells.push_back( {10506012,2365,60,5,1,1,0.225,1.38614 } ); +cells.push_back( {10506022,2385,60,5,2,1,0.225,1.33658 } ); +cells.push_back( {10606012,2366,60,6,1,1,0.275,1.38614 } ); +cells.push_back( {10606022,2386,60,6,2,1,0.275,1.33658 } ); +cells.push_back( {10706012,2367,60,7,1,1,0.325,1.38614 } ); +cells.push_back( {10706022,2387,60,7,2,1,0.325,1.33658 } ); +cells.push_back( {10806012,2368,60,8,1,1,0.375,1.38614 } ); +cells.push_back( {10806022,2388,60,8,2,1,0.375,1.33658 } ); +cells.push_back( {10906012,2369,60,9,1,1,0.425,1.38614 } ); +cells.push_back( {10906022,2389,60,9,2,1,0.425,1.33658 } ); +cells.push_back( {11006012,2370,60,10,1,1,0.475,1.38614 } ); +cells.push_back( {11006022,2390,60,10,2,1,0.475,1.33658 } ); +cells.push_back( {11106012,2371,60,11,1,1,0.525,1.38614 } ); +cells.push_back( {11106022,2391,60,11,2,1,0.525,1.33658 } ); +cells.push_back( {11206012,2372,60,12,1,1,0.575,1.38614 } ); +cells.push_back( {11206022,2392,60,12,2,1,0.575,1.33658 } ); +cells.push_back( {11306012,2373,60,13,1,1,0.625,1.38614 } ); +cells.push_back( {11306022,2393,60,13,2,1,0.625,1.33658 } ); +cells.push_back( {11406012,2374,60,14,1,1,0.675,1.38614 } ); +cells.push_back( {11406022,2394,60,14,2,1,0.675,1.33658 } ); +cells.push_back( {11506012,2375,60,15,1,1,0.725,1.38614 } ); +cells.push_back( {11506022,2395,60,15,2,1,0.725,1.33658 } ); +cells.push_back( {11606012,2376,60,16,1,1,0.775,1.38614 } ); +cells.push_back( {11606022,2396,60,16,2,1,0.775,1.33658 } ); +cells.push_back( {11706012,2377,60,17,1,1,0.825,1.38614 } ); +cells.push_back( {11706022,2397,60,17,2,1,0.825,1.33658 } ); +cells.push_back( {11806012,2378,60,18,1,1,0.875,1.38614 } ); +cells.push_back( {11806022,2398,60,18,2,1,0.875,1.33658 } ); +cells.push_back( {11906012,2379,60,19,1,1,0.925,1.38614 } ); +cells.push_back( {11906022,2399,60,19,2,1,0.925,1.33658 } ); +cells.push_back( {12006012,2380,60,20,1,1,0.967,1.38614 } ); +cells.push_back( {12006022,2400,60,20,2,1,0.967,1.33658 } ); +cells.push_back( {20100111,2401,61,1,1,2,-0.02675,1.86017 } ); +cells.push_back( {20100121,2421,61,1,2,2,-0.02675,1.90974 } ); +cells.push_back( {20200111,2402,61,2,1,2,-0.075,1.86017 } ); +cells.push_back( {20200121,2422,61,2,2,2,-0.075,1.90974 } ); +cells.push_back( {20300111,2403,61,3,1,2,-0.125,1.86017 } ); +cells.push_back( {20300121,2423,61,3,2,2,-0.125,1.90974 } ); +cells.push_back( {20400111,2404,61,4,1,2,-0.175,1.86017 } ); +cells.push_back( {20400121,2424,61,4,2,2,-0.175,1.90974 } ); +cells.push_back( {20500111,2405,61,5,1,2,-0.225,1.86017 } ); +cells.push_back( {20500121,2425,61,5,2,2,-0.225,1.90974 } ); +cells.push_back( {20600111,2406,61,6,1,2,-0.275,1.86017 } ); +cells.push_back( {20600121,2426,61,6,2,2,-0.275,1.90974 } ); +cells.push_back( {20700111,2407,61,7,1,2,-0.325,1.86017 } ); +cells.push_back( {20700121,2427,61,7,2,2,-0.325,1.90974 } ); +cells.push_back( {20800111,2408,61,8,1,2,-0.375,1.86017 } ); +cells.push_back( {20800121,2428,61,8,2,2,-0.375,1.90974 } ); +cells.push_back( {20900111,2409,61,9,1,2,-0.425,1.86017 } ); +cells.push_back( {20900121,2429,61,9,2,2,-0.425,1.90974 } ); +cells.push_back( {21000111,2410,61,10,1,2,-0.475,1.86017 } ); +cells.push_back( {21000121,2430,61,10,2,2,-0.475,1.90974 } ); +cells.push_back( {21100111,2411,61,11,1,2,-0.525,1.86017 } ); +cells.push_back( {21100121,2431,61,11,2,2,-0.525,1.90974 } ); +cells.push_back( {21200111,2412,61,12,1,2,-0.575,1.86017 } ); +cells.push_back( {21200121,2432,61,12,2,2,-0.575,1.90974 } ); +cells.push_back( {21300111,2413,61,13,1,2,-0.625,1.86017 } ); +cells.push_back( {21300121,2433,61,13,2,2,-0.625,1.90974 } ); +cells.push_back( {21400111,2414,61,14,1,2,-0.675,1.86017 } ); +cells.push_back( {21400121,2434,61,14,2,2,-0.675,1.90974 } ); +cells.push_back( {21500111,2415,61,15,1,2,-0.725,1.86017 } ); +cells.push_back( {21500121,2435,61,15,2,2,-0.725,1.90974 } ); +cells.push_back( {21600111,2416,61,16,1,2,-0.775,1.86017 } ); +cells.push_back( {21600121,2436,61,16,2,2,-0.775,1.90974 } ); +cells.push_back( {21700111,2417,61,17,1,2,-0.825,1.86017 } ); +cells.push_back( {21700121,2437,61,17,2,2,-0.825,1.90974 } ); +cells.push_back( {21800111,2418,61,18,1,2,-0.875,1.86017 } ); +cells.push_back( {21800121,2438,61,18,2,2,-0.875,1.90974 } ); +cells.push_back( {21900111,2419,61,19,1,2,-0.925,1.86017 } ); +cells.push_back( {21900121,2439,61,19,2,2,-0.925,1.90974 } ); +cells.push_back( {22000111,2420,61,20,1,2,-0.967,1.86017 } ); +cells.push_back( {22000121,2440,61,20,2,2,-0.967,1.90974 } ); +cells.push_back( {20100112,2401,61,1,1,1,-0.02675,1.86017 } ); +cells.push_back( {20100122,2421,61,1,2,1,-0.02675,1.90974 } ); +cells.push_back( {20200112,2402,61,2,1,1,-0.075,1.86017 } ); +cells.push_back( {20200122,2422,61,2,2,1,-0.075,1.90974 } ); +cells.push_back( {20300112,2403,61,3,1,1,-0.125,1.86017 } ); +cells.push_back( {20300122,2423,61,3,2,1,-0.125,1.90974 } ); +cells.push_back( {20400112,2404,61,4,1,1,-0.175,1.86017 } ); +cells.push_back( {20400122,2424,61,4,2,1,-0.175,1.90974 } ); +cells.push_back( {20500112,2405,61,5,1,1,-0.225,1.86017 } ); +cells.push_back( {20500122,2425,61,5,2,1,-0.225,1.90974 } ); +cells.push_back( {20600112,2406,61,6,1,1,-0.275,1.86017 } ); +cells.push_back( {20600122,2426,61,6,2,1,-0.275,1.90974 } ); +cells.push_back( {20700112,2407,61,7,1,1,-0.325,1.86017 } ); +cells.push_back( {20700122,2427,61,7,2,1,-0.325,1.90974 } ); +cells.push_back( {20800112,2408,61,8,1,1,-0.375,1.86017 } ); +cells.push_back( {20800122,2428,61,8,2,1,-0.375,1.90974 } ); +cells.push_back( {20900112,2409,61,9,1,1,-0.425,1.86017 } ); +cells.push_back( {20900122,2429,61,9,2,1,-0.425,1.90974 } ); +cells.push_back( {21000112,2410,61,10,1,1,-0.475,1.86017 } ); +cells.push_back( {21000122,2430,61,10,2,1,-0.475,1.90974 } ); +cells.push_back( {21100112,2411,61,11,1,1,-0.525,1.86017 } ); +cells.push_back( {21100122,2431,61,11,2,1,-0.525,1.90974 } ); +cells.push_back( {21200112,2412,61,12,1,1,-0.575,1.86017 } ); +cells.push_back( {21200122,2432,61,12,2,1,-0.575,1.90974 } ); +cells.push_back( {21300112,2413,61,13,1,1,-0.625,1.86017 } ); +cells.push_back( {21300122,2433,61,13,2,1,-0.625,1.90974 } ); +cells.push_back( {21400112,2414,61,14,1,1,-0.675,1.86017 } ); +cells.push_back( {21400122,2434,61,14,2,1,-0.675,1.90974 } ); +cells.push_back( {21500112,2415,61,15,1,1,-0.725,1.86017 } ); +cells.push_back( {21500122,2435,61,15,2,1,-0.725,1.90974 } ); +cells.push_back( {21600112,2416,61,16,1,1,-0.775,1.86017 } ); +cells.push_back( {21600122,2436,61,16,2,1,-0.775,1.90974 } ); +cells.push_back( {21700112,2417,61,17,1,1,-0.825,1.86017 } ); +cells.push_back( {21700122,2437,61,17,2,1,-0.825,1.90974 } ); +cells.push_back( {21800112,2418,61,18,1,1,-0.875,1.86017 } ); +cells.push_back( {21800122,2438,61,18,2,1,-0.875,1.90974 } ); +cells.push_back( {21900112,2419,61,19,1,1,-0.925,1.86017 } ); +cells.push_back( {21900122,2439,61,19,2,1,-0.925,1.90974 } ); +cells.push_back( {22000112,2420,61,20,1,1,-0.967,1.86017 } ); +cells.push_back( {22000122,2440,61,20,2,1,-0.967,1.90974 } ); +cells.push_back( {20100211,2441,62,1,1,2,-0.02675,1.96489 } ); +cells.push_back( {20100221,2461,62,1,2,2,-0.02675,2.01446 } ); +cells.push_back( {20200211,2442,62,2,1,2,-0.075,1.96489 } ); +cells.push_back( {20200221,2462,62,2,2,2,-0.075,2.01446 } ); +cells.push_back( {20300211,2443,62,3,1,2,-0.125,1.96489 } ); +cells.push_back( {20300221,2463,62,3,2,2,-0.125,2.01446 } ); +cells.push_back( {20400211,2444,62,4,1,2,-0.175,1.96489 } ); +cells.push_back( {20400221,2464,62,4,2,2,-0.175,2.01446 } ); +cells.push_back( {20500211,2445,62,5,1,2,-0.225,1.96489 } ); +cells.push_back( {20500221,2465,62,5,2,2,-0.225,2.01446 } ); +cells.push_back( {20600211,2446,62,6,1,2,-0.275,1.96489 } ); +cells.push_back( {20600221,2466,62,6,2,2,-0.275,2.01446 } ); +cells.push_back( {20700211,2447,62,7,1,2,-0.325,1.96489 } ); +cells.push_back( {20700221,2467,62,7,2,2,-0.325,2.01446 } ); +cells.push_back( {20800211,2448,62,8,1,2,-0.375,1.96489 } ); +cells.push_back( {20800221,2468,62,8,2,2,-0.375,2.01446 } ); +cells.push_back( {20900211,2449,62,9,1,2,-0.425,1.96489 } ); +cells.push_back( {20900221,2469,62,9,2,2,-0.425,2.01446 } ); +cells.push_back( {21000211,2450,62,10,1,2,-0.475,1.96489 } ); +cells.push_back( {21000221,2470,62,10,2,2,-0.475,2.01446 } ); +cells.push_back( {21100211,2451,62,11,1,2,-0.525,1.96489 } ); +cells.push_back( {21100221,2471,62,11,2,2,-0.525,2.01446 } ); +cells.push_back( {21200211,2452,62,12,1,2,-0.575,1.96489 } ); +cells.push_back( {21200221,2472,62,12,2,2,-0.575,2.01446 } ); +cells.push_back( {21300211,2453,62,13,1,2,-0.625,1.96489 } ); +cells.push_back( {21300221,2473,62,13,2,2,-0.625,2.01446 } ); +cells.push_back( {21400211,2454,62,14,1,2,-0.675,1.96489 } ); +cells.push_back( {21400221,2474,62,14,2,2,-0.675,2.01446 } ); +cells.push_back( {21500211,2455,62,15,1,2,-0.725,1.96489 } ); +cells.push_back( {21500221,2475,62,15,2,2,-0.725,2.01446 } ); +cells.push_back( {21600211,2456,62,16,1,2,-0.775,1.96489 } ); +cells.push_back( {21600221,2476,62,16,2,2,-0.775,2.01446 } ); +cells.push_back( {21700211,2457,62,17,1,2,-0.825,1.96489 } ); +cells.push_back( {21700221,2477,62,17,2,2,-0.825,2.01446 } ); +cells.push_back( {21800211,2458,62,18,1,2,-0.875,1.96489 } ); +cells.push_back( {21800221,2478,62,18,2,2,-0.875,2.01446 } ); +cells.push_back( {21900211,2459,62,19,1,2,-0.925,1.96489 } ); +cells.push_back( {21900221,2479,62,19,2,2,-0.925,2.01446 } ); +cells.push_back( {22000211,2460,62,20,1,2,-0.967,1.96489 } ); +cells.push_back( {22000221,2480,62,20,2,2,-0.967,2.01446 } ); +cells.push_back( {20100212,2441,62,1,1,1,-0.02675,1.96489 } ); +cells.push_back( {20100222,2461,62,1,2,1,-0.02675,2.01446 } ); +cells.push_back( {20200212,2442,62,2,1,1,-0.075,1.96489 } ); +cells.push_back( {20200222,2462,62,2,2,1,-0.075,2.01446 } ); +cells.push_back( {20300212,2443,62,3,1,1,-0.125,1.96489 } ); +cells.push_back( {20300222,2463,62,3,2,1,-0.125,2.01446 } ); +cells.push_back( {20400212,2444,62,4,1,1,-0.175,1.96489 } ); +cells.push_back( {20400222,2464,62,4,2,1,-0.175,2.01446 } ); +cells.push_back( {20500212,2445,62,5,1,1,-0.225,1.96489 } ); +cells.push_back( {20500222,2465,62,5,2,1,-0.225,2.01446 } ); +cells.push_back( {20600212,2446,62,6,1,1,-0.275,1.96489 } ); +cells.push_back( {20600222,2466,62,6,2,1,-0.275,2.01446 } ); +cells.push_back( {20700212,2447,62,7,1,1,-0.325,1.96489 } ); +cells.push_back( {20700222,2467,62,7,2,1,-0.325,2.01446 } ); +cells.push_back( {20800212,2448,62,8,1,1,-0.375,1.96489 } ); +cells.push_back( {20800222,2468,62,8,2,1,-0.375,2.01446 } ); +cells.push_back( {20900212,2449,62,9,1,1,-0.425,1.96489 } ); +cells.push_back( {20900222,2469,62,9,2,1,-0.425,2.01446 } ); +cells.push_back( {21000212,2450,62,10,1,1,-0.475,1.96489 } ); +cells.push_back( {21000222,2470,62,10,2,1,-0.475,2.01446 } ); +cells.push_back( {21100212,2451,62,11,1,1,-0.525,1.96489 } ); +cells.push_back( {21100222,2471,62,11,2,1,-0.525,2.01446 } ); +cells.push_back( {21200212,2452,62,12,1,1,-0.575,1.96489 } ); +cells.push_back( {21200222,2472,62,12,2,1,-0.575,2.01446 } ); +cells.push_back( {21300212,2453,62,13,1,1,-0.625,1.96489 } ); +cells.push_back( {21300222,2473,62,13,2,1,-0.625,2.01446 } ); +cells.push_back( {21400212,2454,62,14,1,1,-0.675,1.96489 } ); +cells.push_back( {21400222,2474,62,14,2,1,-0.675,2.01446 } ); +cells.push_back( {21500212,2455,62,15,1,1,-0.725,1.96489 } ); +cells.push_back( {21500222,2475,62,15,2,1,-0.725,2.01446 } ); +cells.push_back( {21600212,2456,62,16,1,1,-0.775,1.96489 } ); +cells.push_back( {21600222,2476,62,16,2,1,-0.775,2.01446 } ); +cells.push_back( {21700212,2457,62,17,1,1,-0.825,1.96489 } ); +cells.push_back( {21700222,2477,62,17,2,1,-0.825,2.01446 } ); +cells.push_back( {21800212,2458,62,18,1,1,-0.875,1.96489 } ); +cells.push_back( {21800222,2478,62,18,2,1,-0.875,2.01446 } ); +cells.push_back( {21900212,2459,62,19,1,1,-0.925,1.96489 } ); +cells.push_back( {21900222,2479,62,19,2,1,-0.925,2.01446 } ); +cells.push_back( {22000212,2460,62,20,1,1,-0.967,1.96489 } ); +cells.push_back( {22000222,2480,62,20,2,1,-0.967,2.01446 } ); +cells.push_back( {20100311,2481,63,1,1,2,-0.02675,2.06961 } ); +cells.push_back( {20100321,2501,63,1,2,2,-0.02675,2.11918 } ); +cells.push_back( {20200311,2482,63,2,1,2,-0.075,2.06961 } ); +cells.push_back( {20200321,2502,63,2,2,2,-0.075,2.11918 } ); +cells.push_back( {20300311,2483,63,3,1,2,-0.125,2.06961 } ); +cells.push_back( {20300321,2503,63,3,2,2,-0.125,2.11918 } ); +cells.push_back( {20400311,2484,63,4,1,2,-0.175,2.06961 } ); +cells.push_back( {20400321,2504,63,4,2,2,-0.175,2.11918 } ); +cells.push_back( {20500311,2485,63,5,1,2,-0.225,2.06961 } ); +cells.push_back( {20500321,2505,63,5,2,2,-0.225,2.11918 } ); +cells.push_back( {20600311,2486,63,6,1,2,-0.275,2.06961 } ); +cells.push_back( {20600321,2506,63,6,2,2,-0.275,2.11918 } ); +cells.push_back( {20700311,2487,63,7,1,2,-0.325,2.06961 } ); +cells.push_back( {20700321,2507,63,7,2,2,-0.325,2.11918 } ); +cells.push_back( {20800311,2488,63,8,1,2,-0.375,2.06961 } ); +cells.push_back( {20800321,2508,63,8,2,2,-0.375,2.11918 } ); +cells.push_back( {20900311,2489,63,9,1,2,-0.425,2.06961 } ); +cells.push_back( {20900321,2509,63,9,2,2,-0.425,2.11918 } ); +cells.push_back( {21000311,2490,63,10,1,2,-0.475,2.06961 } ); +cells.push_back( {21000321,2510,63,10,2,2,-0.475,2.11918 } ); +cells.push_back( {21100311,2491,63,11,1,2,-0.525,2.06961 } ); +cells.push_back( {21100321,2511,63,11,2,2,-0.525,2.11918 } ); +cells.push_back( {21200311,2492,63,12,1,2,-0.575,2.06961 } ); +cells.push_back( {21200321,2512,63,12,2,2,-0.575,2.11918 } ); +cells.push_back( {21300311,2493,63,13,1,2,-0.625,2.06961 } ); +cells.push_back( {21300321,2513,63,13,2,2,-0.625,2.11918 } ); +cells.push_back( {21400311,2494,63,14,1,2,-0.675,2.06961 } ); +cells.push_back( {21400321,2514,63,14,2,2,-0.675,2.11918 } ); +cells.push_back( {21500311,2495,63,15,1,2,-0.725,2.06961 } ); +cells.push_back( {21500321,2515,63,15,2,2,-0.725,2.11918 } ); +cells.push_back( {21600311,2496,63,16,1,2,-0.775,2.06961 } ); +cells.push_back( {21600321,2516,63,16,2,2,-0.775,2.11918 } ); +cells.push_back( {21700311,2497,63,17,1,2,-0.825,2.06961 } ); +cells.push_back( {21700321,2517,63,17,2,2,-0.825,2.11918 } ); +cells.push_back( {21800311,2498,63,18,1,2,-0.875,2.06961 } ); +cells.push_back( {21800321,2518,63,18,2,2,-0.875,2.11918 } ); +cells.push_back( {21900311,2499,63,19,1,2,-0.925,2.06961 } ); +cells.push_back( {21900321,2519,63,19,2,2,-0.925,2.11918 } ); +cells.push_back( {22000311,2500,63,20,1,2,-0.967,2.06961 } ); +cells.push_back( {22000321,2520,63,20,2,2,-0.967,2.11918 } ); +cells.push_back( {20100312,2481,63,1,1,1,-0.02675,2.06961 } ); +cells.push_back( {20100322,2501,63,1,2,1,-0.02675,2.11918 } ); +cells.push_back( {20200312,2482,63,2,1,1,-0.075,2.06961 } ); +cells.push_back( {20200322,2502,63,2,2,1,-0.075,2.11918 } ); +cells.push_back( {20300312,2483,63,3,1,1,-0.125,2.06961 } ); +cells.push_back( {20300322,2503,63,3,2,1,-0.125,2.11918 } ); +cells.push_back( {20400312,2484,63,4,1,1,-0.175,2.06961 } ); +cells.push_back( {20400322,2504,63,4,2,1,-0.175,2.11918 } ); +cells.push_back( {20500312,2485,63,5,1,1,-0.225,2.06961 } ); +cells.push_back( {20500322,2505,63,5,2,1,-0.225,2.11918 } ); +cells.push_back( {20600312,2486,63,6,1,1,-0.275,2.06961 } ); +cells.push_back( {20600322,2506,63,6,2,1,-0.275,2.11918 } ); +cells.push_back( {20700312,2487,63,7,1,1,-0.325,2.06961 } ); +cells.push_back( {20700322,2507,63,7,2,1,-0.325,2.11918 } ); +cells.push_back( {20800312,2488,63,8,1,1,-0.375,2.06961 } ); +cells.push_back( {20800322,2508,63,8,2,1,-0.375,2.11918 } ); +cells.push_back( {20900312,2489,63,9,1,1,-0.425,2.06961 } ); +cells.push_back( {20900322,2509,63,9,2,1,-0.425,2.11918 } ); +cells.push_back( {21000312,2490,63,10,1,1,-0.475,2.06961 } ); +cells.push_back( {21000322,2510,63,10,2,1,-0.475,2.11918 } ); +cells.push_back( {21100312,2491,63,11,1,1,-0.525,2.06961 } ); +cells.push_back( {21100322,2511,63,11,2,1,-0.525,2.11918 } ); +cells.push_back( {21200312,2492,63,12,1,1,-0.575,2.06961 } ); +cells.push_back( {21200322,2512,63,12,2,1,-0.575,2.11918 } ); +cells.push_back( {21300312,2493,63,13,1,1,-0.625,2.06961 } ); +cells.push_back( {21300322,2513,63,13,2,1,-0.625,2.11918 } ); +cells.push_back( {21400312,2494,63,14,1,1,-0.675,2.06961 } ); +cells.push_back( {21400322,2514,63,14,2,1,-0.675,2.11918 } ); +cells.push_back( {21500312,2495,63,15,1,1,-0.725,2.06961 } ); +cells.push_back( {21500322,2515,63,15,2,1,-0.725,2.11918 } ); +cells.push_back( {21600312,2496,63,16,1,1,-0.775,2.06961 } ); +cells.push_back( {21600322,2516,63,16,2,1,-0.775,2.11918 } ); +cells.push_back( {21700312,2497,63,17,1,1,-0.825,2.06961 } ); +cells.push_back( {21700322,2517,63,17,2,1,-0.825,2.11918 } ); +cells.push_back( {21800312,2498,63,18,1,1,-0.875,2.06961 } ); +cells.push_back( {21800322,2518,63,18,2,1,-0.875,2.11918 } ); +cells.push_back( {21900312,2499,63,19,1,1,-0.925,2.06961 } ); +cells.push_back( {21900322,2519,63,19,2,1,-0.925,2.11918 } ); +cells.push_back( {22000312,2500,63,20,1,1,-0.967,2.06961 } ); +cells.push_back( {22000322,2520,63,20,2,1,-0.967,2.11918 } ); +cells.push_back( {20100411,2521,64,1,1,2,-0.02675,2.17433 } ); +cells.push_back( {20100421,2541,64,1,2,2,-0.02675,2.2239 } ); +cells.push_back( {20200411,2522,64,2,1,2,-0.075,2.17433 } ); +cells.push_back( {20200421,2542,64,2,2,2,-0.075,2.2239 } ); +cells.push_back( {20300411,2523,64,3,1,2,-0.125,2.17433 } ); +cells.push_back( {20300421,2543,64,3,2,2,-0.125,2.2239 } ); +cells.push_back( {20400411,2524,64,4,1,2,-0.175,2.17433 } ); +cells.push_back( {20400421,2544,64,4,2,2,-0.175,2.2239 } ); +cells.push_back( {20500411,2525,64,5,1,2,-0.225,2.17433 } ); +cells.push_back( {20500421,2545,64,5,2,2,-0.225,2.2239 } ); +cells.push_back( {20600411,2526,64,6,1,2,-0.275,2.17433 } ); +cells.push_back( {20600421,2546,64,6,2,2,-0.275,2.2239 } ); +cells.push_back( {20700411,2527,64,7,1,2,-0.325,2.17433 } ); +cells.push_back( {20700421,2547,64,7,2,2,-0.325,2.2239 } ); +cells.push_back( {20800411,2528,64,8,1,2,-0.375,2.17433 } ); +cells.push_back( {20800421,2548,64,8,2,2,-0.375,2.2239 } ); +cells.push_back( {20900411,2529,64,9,1,2,-0.425,2.17433 } ); +cells.push_back( {20900421,2549,64,9,2,2,-0.425,2.2239 } ); +cells.push_back( {21000411,2530,64,10,1,2,-0.475,2.17433 } ); +cells.push_back( {21000421,2550,64,10,2,2,-0.475,2.2239 } ); +cells.push_back( {21100411,2531,64,11,1,2,-0.525,2.17433 } ); +cells.push_back( {21100421,2551,64,11,2,2,-0.525,2.2239 } ); +cells.push_back( {21200411,2532,64,12,1,2,-0.575,2.17433 } ); +cells.push_back( {21200421,2552,64,12,2,2,-0.575,2.2239 } ); +cells.push_back( {21300411,2533,64,13,1,2,-0.625,2.17433 } ); +cells.push_back( {21300421,2553,64,13,2,2,-0.625,2.2239 } ); +cells.push_back( {21400411,2534,64,14,1,2,-0.675,2.17433 } ); +cells.push_back( {21400421,2554,64,14,2,2,-0.675,2.2239 } ); +cells.push_back( {21500411,2535,64,15,1,2,-0.725,2.17433 } ); +cells.push_back( {21500421,2555,64,15,2,2,-0.725,2.2239 } ); +cells.push_back( {21600411,2536,64,16,1,2,-0.775,2.17433 } ); +cells.push_back( {21600421,2556,64,16,2,2,-0.775,2.2239 } ); +cells.push_back( {21700411,2537,64,17,1,2,-0.825,2.17433 } ); +cells.push_back( {21700421,2557,64,17,2,2,-0.825,2.2239 } ); +cells.push_back( {21800411,2538,64,18,1,2,-0.875,2.17433 } ); +cells.push_back( {21800421,2558,64,18,2,2,-0.875,2.2239 } ); +cells.push_back( {21900411,2539,64,19,1,2,-0.925,2.17433 } ); +cells.push_back( {21900421,2559,64,19,2,2,-0.925,2.2239 } ); +cells.push_back( {22000411,2540,64,20,1,2,-0.967,2.17433 } ); +cells.push_back( {22000421,2560,64,20,2,2,-0.967,2.2239 } ); +cells.push_back( {20100412,2521,64,1,1,1,-0.02675,2.17433 } ); +cells.push_back( {20100422,2541,64,1,2,1,-0.02675,2.2239 } ); +cells.push_back( {20200412,2522,64,2,1,1,-0.075,2.17433 } ); +cells.push_back( {20200422,2542,64,2,2,1,-0.075,2.2239 } ); +cells.push_back( {20300412,2523,64,3,1,1,-0.125,2.17433 } ); +cells.push_back( {20300422,2543,64,3,2,1,-0.125,2.2239 } ); +cells.push_back( {20400412,2524,64,4,1,1,-0.175,2.17433 } ); +cells.push_back( {20400422,2544,64,4,2,1,-0.175,2.2239 } ); +cells.push_back( {20500412,2525,64,5,1,1,-0.225,2.17433 } ); +cells.push_back( {20500422,2545,64,5,2,1,-0.225,2.2239 } ); +cells.push_back( {20600412,2526,64,6,1,1,-0.275,2.17433 } ); +cells.push_back( {20600422,2546,64,6,2,1,-0.275,2.2239 } ); +cells.push_back( {20700412,2527,64,7,1,1,-0.325,2.17433 } ); +cells.push_back( {20700422,2547,64,7,2,1,-0.325,2.2239 } ); +cells.push_back( {20800412,2528,64,8,1,1,-0.375,2.17433 } ); +cells.push_back( {20800422,2548,64,8,2,1,-0.375,2.2239 } ); +cells.push_back( {20900412,2529,64,9,1,1,-0.425,2.17433 } ); +cells.push_back( {20900422,2549,64,9,2,1,-0.425,2.2239 } ); +cells.push_back( {21000412,2530,64,10,1,1,-0.475,2.17433 } ); +cells.push_back( {21000422,2550,64,10,2,1,-0.475,2.2239 } ); +cells.push_back( {21100412,2531,64,11,1,1,-0.525,2.17433 } ); +cells.push_back( {21100422,2551,64,11,2,1,-0.525,2.2239 } ); +cells.push_back( {21200412,2532,64,12,1,1,-0.575,2.17433 } ); +cells.push_back( {21200422,2552,64,12,2,1,-0.575,2.2239 } ); +cells.push_back( {21300412,2533,64,13,1,1,-0.625,2.17433 } ); +cells.push_back( {21300422,2553,64,13,2,1,-0.625,2.2239 } ); +cells.push_back( {21400412,2534,64,14,1,1,-0.675,2.17433 } ); +cells.push_back( {21400422,2554,64,14,2,1,-0.675,2.2239 } ); +cells.push_back( {21500412,2535,64,15,1,1,-0.725,2.17433 } ); +cells.push_back( {21500422,2555,64,15,2,1,-0.725,2.2239 } ); +cells.push_back( {21600412,2536,64,16,1,1,-0.775,2.17433 } ); +cells.push_back( {21600422,2556,64,16,2,1,-0.775,2.2239 } ); +cells.push_back( {21700412,2537,64,17,1,1,-0.825,2.17433 } ); +cells.push_back( {21700422,2557,64,17,2,1,-0.825,2.2239 } ); +cells.push_back( {21800412,2538,64,18,1,1,-0.875,2.17433 } ); +cells.push_back( {21800422,2558,64,18,2,1,-0.875,2.2239 } ); +cells.push_back( {21900412,2539,64,19,1,1,-0.925,2.17433 } ); +cells.push_back( {21900422,2559,64,19,2,1,-0.925,2.2239 } ); +cells.push_back( {22000412,2540,64,20,1,1,-0.967,2.17433 } ); +cells.push_back( {22000422,2560,64,20,2,1,-0.967,2.2239 } ); +cells.push_back( {20100511,2561,65,1,1,2,-0.02675,2.27905 } ); +cells.push_back( {20100521,2581,65,1,2,2,-0.02675,2.32862 } ); +cells.push_back( {20200511,2562,65,2,1,2,-0.075,2.27905 } ); +cells.push_back( {20200521,2582,65,2,2,2,-0.075,2.32862 } ); +cells.push_back( {20300511,2563,65,3,1,2,-0.125,2.27905 } ); +cells.push_back( {20300521,2583,65,3,2,2,-0.125,2.32862 } ); +cells.push_back( {20400511,2564,65,4,1,2,-0.175,2.27905 } ); +cells.push_back( {20400521,2584,65,4,2,2,-0.175,2.32862 } ); +cells.push_back( {20500511,2565,65,5,1,2,-0.225,2.27905 } ); +cells.push_back( {20500521,2585,65,5,2,2,-0.225,2.32862 } ); +cells.push_back( {20600511,2566,65,6,1,2,-0.275,2.27905 } ); +cells.push_back( {20600521,2586,65,6,2,2,-0.275,2.32862 } ); +cells.push_back( {20700511,2567,65,7,1,2,-0.325,2.27905 } ); +cells.push_back( {20700521,2587,65,7,2,2,-0.325,2.32862 } ); +cells.push_back( {20800511,2568,65,8,1,2,-0.375,2.27905 } ); +cells.push_back( {20800521,2588,65,8,2,2,-0.375,2.32862 } ); +cells.push_back( {20900511,2569,65,9,1,2,-0.425,2.27905 } ); +cells.push_back( {20900521,2589,65,9,2,2,-0.425,2.32862 } ); +cells.push_back( {21000511,2570,65,10,1,2,-0.475,2.27905 } ); +cells.push_back( {21000521,2590,65,10,2,2,-0.475,2.32862 } ); +cells.push_back( {21100511,2571,65,11,1,2,-0.525,2.27905 } ); +cells.push_back( {21100521,2591,65,11,2,2,-0.525,2.32862 } ); +cells.push_back( {21200511,2572,65,12,1,2,-0.575,2.27905 } ); +cells.push_back( {21200521,2592,65,12,2,2,-0.575,2.32862 } ); +cells.push_back( {21300511,2573,65,13,1,2,-0.625,2.27905 } ); +cells.push_back( {21300521,2593,65,13,2,2,-0.625,2.32862 } ); +cells.push_back( {21400511,2574,65,14,1,2,-0.675,2.27905 } ); +cells.push_back( {21400521,2594,65,14,2,2,-0.675,2.32862 } ); +cells.push_back( {21500511,2575,65,15,1,2,-0.725,2.27905 } ); +cells.push_back( {21500521,2595,65,15,2,2,-0.725,2.32862 } ); +cells.push_back( {21600511,2576,65,16,1,2,-0.775,2.27905 } ); +cells.push_back( {21600521,2596,65,16,2,2,-0.775,2.32862 } ); +cells.push_back( {21700511,2577,65,17,1,2,-0.825,2.27905 } ); +cells.push_back( {21700521,2597,65,17,2,2,-0.825,2.32862 } ); +cells.push_back( {21800511,2578,65,18,1,2,-0.875,2.27905 } ); +cells.push_back( {21800521,2598,65,18,2,2,-0.875,2.32862 } ); +cells.push_back( {21900511,2579,65,19,1,2,-0.925,2.27905 } ); +cells.push_back( {21900521,2599,65,19,2,2,-0.925,2.32862 } ); +cells.push_back( {22000511,2580,65,20,1,2,-0.967,2.27905 } ); +cells.push_back( {22000521,2600,65,20,2,2,-0.967,2.32862 } ); +cells.push_back( {20100512,2561,65,1,1,1,-0.02675,2.27905 } ); +cells.push_back( {20100522,2581,65,1,2,1,-0.02675,2.32862 } ); +cells.push_back( {20200512,2562,65,2,1,1,-0.075,2.27905 } ); +cells.push_back( {20200522,2582,65,2,2,1,-0.075,2.32862 } ); +cells.push_back( {20300512,2563,65,3,1,1,-0.125,2.27905 } ); +cells.push_back( {20300522,2583,65,3,2,1,-0.125,2.32862 } ); +cells.push_back( {20400512,2564,65,4,1,1,-0.175,2.27905 } ); +cells.push_back( {20400522,2584,65,4,2,1,-0.175,2.32862 } ); +cells.push_back( {20500512,2565,65,5,1,1,-0.225,2.27905 } ); +cells.push_back( {20500522,2585,65,5,2,1,-0.225,2.32862 } ); +cells.push_back( {20600512,2566,65,6,1,1,-0.275,2.27905 } ); +cells.push_back( {20600522,2586,65,6,2,1,-0.275,2.32862 } ); +cells.push_back( {20700512,2567,65,7,1,1,-0.325,2.27905 } ); +cells.push_back( {20700522,2587,65,7,2,1,-0.325,2.32862 } ); +cells.push_back( {20800512,2568,65,8,1,1,-0.375,2.27905 } ); +cells.push_back( {20800522,2588,65,8,2,1,-0.375,2.32862 } ); +cells.push_back( {20900512,2569,65,9,1,1,-0.425,2.27905 } ); +cells.push_back( {20900522,2589,65,9,2,1,-0.425,2.32862 } ); +cells.push_back( {21000512,2570,65,10,1,1,-0.475,2.27905 } ); +cells.push_back( {21000522,2590,65,10,2,1,-0.475,2.32862 } ); +cells.push_back( {21100512,2571,65,11,1,1,-0.525,2.27905 } ); +cells.push_back( {21100522,2591,65,11,2,1,-0.525,2.32862 } ); +cells.push_back( {21200512,2572,65,12,1,1,-0.575,2.27905 } ); +cells.push_back( {21200522,2592,65,12,2,1,-0.575,2.32862 } ); +cells.push_back( {21300512,2573,65,13,1,1,-0.625,2.27905 } ); +cells.push_back( {21300522,2593,65,13,2,1,-0.625,2.32862 } ); +cells.push_back( {21400512,2574,65,14,1,1,-0.675,2.27905 } ); +cells.push_back( {21400522,2594,65,14,2,1,-0.675,2.32862 } ); +cells.push_back( {21500512,2575,65,15,1,1,-0.725,2.27905 } ); +cells.push_back( {21500522,2595,65,15,2,1,-0.725,2.32862 } ); +cells.push_back( {21600512,2576,65,16,1,1,-0.775,2.27905 } ); +cells.push_back( {21600522,2596,65,16,2,1,-0.775,2.32862 } ); +cells.push_back( {21700512,2577,65,17,1,1,-0.825,2.27905 } ); +cells.push_back( {21700522,2597,65,17,2,1,-0.825,2.32862 } ); +cells.push_back( {21800512,2578,65,18,1,1,-0.875,2.27905 } ); +cells.push_back( {21800522,2598,65,18,2,1,-0.875,2.32862 } ); +cells.push_back( {21900512,2579,65,19,1,1,-0.925,2.27905 } ); +cells.push_back( {21900522,2599,65,19,2,1,-0.925,2.32862 } ); +cells.push_back( {22000512,2580,65,20,1,1,-0.967,2.27905 } ); +cells.push_back( {22000522,2600,65,20,2,1,-0.967,2.32862 } ); +cells.push_back( {20100611,2601,66,1,1,2,-0.02675,2.38377 } ); +cells.push_back( {20100621,2621,66,1,2,2,-0.02675,2.43334 } ); +cells.push_back( {20200611,2602,66,2,1,2,-0.075,2.38377 } ); +cells.push_back( {20200621,2622,66,2,2,2,-0.075,2.43334 } ); +cells.push_back( {20300611,2603,66,3,1,2,-0.125,2.38377 } ); +cells.push_back( {20300621,2623,66,3,2,2,-0.125,2.43334 } ); +cells.push_back( {20400611,2604,66,4,1,2,-0.175,2.38377 } ); +cells.push_back( {20400621,2624,66,4,2,2,-0.175,2.43334 } ); +cells.push_back( {20500611,2605,66,5,1,2,-0.225,2.38377 } ); +cells.push_back( {20500621,2625,66,5,2,2,-0.225,2.43334 } ); +cells.push_back( {20600611,2606,66,6,1,2,-0.275,2.38377 } ); +cells.push_back( {20600621,2626,66,6,2,2,-0.275,2.43334 } ); +cells.push_back( {20700611,2607,66,7,1,2,-0.325,2.38377 } ); +cells.push_back( {20700621,2627,66,7,2,2,-0.325,2.43334 } ); +cells.push_back( {20800611,2608,66,8,1,2,-0.375,2.38377 } ); +cells.push_back( {20800621,2628,66,8,2,2,-0.375,2.43334 } ); +cells.push_back( {20900611,2609,66,9,1,2,-0.425,2.38377 } ); +cells.push_back( {20900621,2629,66,9,2,2,-0.425,2.43334 } ); +cells.push_back( {21000611,2610,66,10,1,2,-0.475,2.38377 } ); +cells.push_back( {21000621,2630,66,10,2,2,-0.475,2.43334 } ); +cells.push_back( {21100611,2611,66,11,1,2,-0.525,2.38377 } ); +cells.push_back( {21100621,2631,66,11,2,2,-0.525,2.43334 } ); +cells.push_back( {21200611,2612,66,12,1,2,-0.575,2.38377 } ); +cells.push_back( {21200621,2632,66,12,2,2,-0.575,2.43334 } ); +cells.push_back( {21300611,2613,66,13,1,2,-0.625,2.38377 } ); +cells.push_back( {21300621,2633,66,13,2,2,-0.625,2.43334 } ); +cells.push_back( {21400611,2614,66,14,1,2,-0.675,2.38377 } ); +cells.push_back( {21400621,2634,66,14,2,2,-0.675,2.43334 } ); +cells.push_back( {21500611,2615,66,15,1,2,-0.725,2.38377 } ); +cells.push_back( {21500621,2635,66,15,2,2,-0.725,2.43334 } ); +cells.push_back( {21600611,2616,66,16,1,2,-0.775,2.38377 } ); +cells.push_back( {21600621,2636,66,16,2,2,-0.775,2.43334 } ); +cells.push_back( {21700611,2617,66,17,1,2,-0.825,2.38377 } ); +cells.push_back( {21700621,2637,66,17,2,2,-0.825,2.43334 } ); +cells.push_back( {21800611,2618,66,18,1,2,-0.875,2.38377 } ); +cells.push_back( {21800621,2638,66,18,2,2,-0.875,2.43334 } ); +cells.push_back( {21900611,2619,66,19,1,2,-0.925,2.38377 } ); +cells.push_back( {21900621,2639,66,19,2,2,-0.925,2.43334 } ); +cells.push_back( {22000611,2620,66,20,1,2,-0.967,2.38377 } ); +cells.push_back( {22000621,2640,66,20,2,2,-0.967,2.43334 } ); +cells.push_back( {20100612,2601,66,1,1,1,-0.02675,2.38377 } ); +cells.push_back( {20100622,2621,66,1,2,1,-0.02675,2.43334 } ); +cells.push_back( {20200612,2602,66,2,1,1,-0.075,2.38377 } ); +cells.push_back( {20200622,2622,66,2,2,1,-0.075,2.43334 } ); +cells.push_back( {20300612,2603,66,3,1,1,-0.125,2.38377 } ); +cells.push_back( {20300622,2623,66,3,2,1,-0.125,2.43334 } ); +cells.push_back( {20400612,2604,66,4,1,1,-0.175,2.38377 } ); +cells.push_back( {20400622,2624,66,4,2,1,-0.175,2.43334 } ); +cells.push_back( {20500612,2605,66,5,1,1,-0.225,2.38377 } ); +cells.push_back( {20500622,2625,66,5,2,1,-0.225,2.43334 } ); +cells.push_back( {20600612,2606,66,6,1,1,-0.275,2.38377 } ); +cells.push_back( {20600622,2626,66,6,2,1,-0.275,2.43334 } ); +cells.push_back( {20700612,2607,66,7,1,1,-0.325,2.38377 } ); +cells.push_back( {20700622,2627,66,7,2,1,-0.325,2.43334 } ); +cells.push_back( {20800612,2608,66,8,1,1,-0.375,2.38377 } ); +cells.push_back( {20800622,2628,66,8,2,1,-0.375,2.43334 } ); +cells.push_back( {20900612,2609,66,9,1,1,-0.425,2.38377 } ); +cells.push_back( {20900622,2629,66,9,2,1,-0.425,2.43334 } ); +cells.push_back( {21000612,2610,66,10,1,1,-0.475,2.38377 } ); +cells.push_back( {21000622,2630,66,10,2,1,-0.475,2.43334 } ); +cells.push_back( {21100612,2611,66,11,1,1,-0.525,2.38377 } ); +cells.push_back( {21100622,2631,66,11,2,1,-0.525,2.43334 } ); +cells.push_back( {21200612,2612,66,12,1,1,-0.575,2.38377 } ); +cells.push_back( {21200622,2632,66,12,2,1,-0.575,2.43334 } ); +cells.push_back( {21300612,2613,66,13,1,1,-0.625,2.38377 } ); +cells.push_back( {21300622,2633,66,13,2,1,-0.625,2.43334 } ); +cells.push_back( {21400612,2614,66,14,1,1,-0.675,2.38377 } ); +cells.push_back( {21400622,2634,66,14,2,1,-0.675,2.43334 } ); +cells.push_back( {21500612,2615,66,15,1,1,-0.725,2.38377 } ); +cells.push_back( {21500622,2635,66,15,2,1,-0.725,2.43334 } ); +cells.push_back( {21600612,2616,66,16,1,1,-0.775,2.38377 } ); +cells.push_back( {21600622,2636,66,16,2,1,-0.775,2.43334 } ); +cells.push_back( {21700612,2617,66,17,1,1,-0.825,2.38377 } ); +cells.push_back( {21700622,2637,66,17,2,1,-0.825,2.43334 } ); +cells.push_back( {21800612,2618,66,18,1,1,-0.875,2.38377 } ); +cells.push_back( {21800622,2638,66,18,2,1,-0.875,2.43334 } ); +cells.push_back( {21900612,2619,66,19,1,1,-0.925,2.38377 } ); +cells.push_back( {21900622,2639,66,19,2,1,-0.925,2.43334 } ); +cells.push_back( {22000612,2620,66,20,1,1,-0.967,2.38377 } ); +cells.push_back( {22000622,2640,66,20,2,1,-0.967,2.43334 } ); +cells.push_back( {20100711,2641,67,1,1,2,-0.02675,2.48849 } ); +cells.push_back( {20100721,2661,67,1,2,2,-0.02675,2.53806 } ); +cells.push_back( {20200711,2642,67,2,1,2,-0.075,2.48849 } ); +cells.push_back( {20200721,2662,67,2,2,2,-0.075,2.53806 } ); +cells.push_back( {20300711,2643,67,3,1,2,-0.125,2.48849 } ); +cells.push_back( {20300721,2663,67,3,2,2,-0.125,2.53806 } ); +cells.push_back( {20400711,2644,67,4,1,2,-0.175,2.48849 } ); +cells.push_back( {20400721,2664,67,4,2,2,-0.175,2.53806 } ); +cells.push_back( {20500711,2645,67,5,1,2,-0.225,2.48849 } ); +cells.push_back( {20500721,2665,67,5,2,2,-0.225,2.53806 } ); +cells.push_back( {20600711,2646,67,6,1,2,-0.275,2.48849 } ); +cells.push_back( {20600721,2666,67,6,2,2,-0.275,2.53806 } ); +cells.push_back( {20700711,2647,67,7,1,2,-0.325,2.48849 } ); +cells.push_back( {20700721,2667,67,7,2,2,-0.325,2.53806 } ); +cells.push_back( {20800711,2648,67,8,1,2,-0.375,2.48849 } ); +cells.push_back( {20800721,2668,67,8,2,2,-0.375,2.53806 } ); +cells.push_back( {20900711,2649,67,9,1,2,-0.425,2.48849 } ); +cells.push_back( {20900721,2669,67,9,2,2,-0.425,2.53806 } ); +cells.push_back( {21000711,2650,67,10,1,2,-0.475,2.48849 } ); +cells.push_back( {21000721,2670,67,10,2,2,-0.475,2.53806 } ); +cells.push_back( {21100711,2651,67,11,1,2,-0.525,2.48849 } ); +cells.push_back( {21100721,2671,67,11,2,2,-0.525,2.53806 } ); +cells.push_back( {21200711,2652,67,12,1,2,-0.575,2.48849 } ); +cells.push_back( {21200721,2672,67,12,2,2,-0.575,2.53806 } ); +cells.push_back( {21300711,2653,67,13,1,2,-0.625,2.48849 } ); +cells.push_back( {21300721,2673,67,13,2,2,-0.625,2.53806 } ); +cells.push_back( {21400711,2654,67,14,1,2,-0.675,2.48849 } ); +cells.push_back( {21400721,2674,67,14,2,2,-0.675,2.53806 } ); +cells.push_back( {21500711,2655,67,15,1,2,-0.725,2.48849 } ); +cells.push_back( {21500721,2675,67,15,2,2,-0.725,2.53806 } ); +cells.push_back( {21600711,2656,67,16,1,2,-0.775,2.48849 } ); +cells.push_back( {21600721,2676,67,16,2,2,-0.775,2.53806 } ); +cells.push_back( {21700711,2657,67,17,1,2,-0.825,2.48849 } ); +cells.push_back( {21700721,2677,67,17,2,2,-0.825,2.53806 } ); +cells.push_back( {21800711,2658,67,18,1,2,-0.875,2.48849 } ); +cells.push_back( {21800721,2678,67,18,2,2,-0.875,2.53806 } ); +cells.push_back( {21900711,2659,67,19,1,2,-0.925,2.48849 } ); +cells.push_back( {21900721,2679,67,19,2,2,-0.925,2.53806 } ); +cells.push_back( {22000711,2660,67,20,1,2,-0.967,2.48849 } ); +cells.push_back( {22000721,2680,67,20,2,2,-0.967,2.53806 } ); +cells.push_back( {20100712,2641,67,1,1,1,-0.02675,2.48849 } ); +cells.push_back( {20100722,2661,67,1,2,1,-0.02675,2.53806 } ); +cells.push_back( {20200712,2642,67,2,1,1,-0.075,2.48849 } ); +cells.push_back( {20200722,2662,67,2,2,1,-0.075,2.53806 } ); +cells.push_back( {20300712,2643,67,3,1,1,-0.125,2.48849 } ); +cells.push_back( {20300722,2663,67,3,2,1,-0.125,2.53806 } ); +cells.push_back( {20400712,2644,67,4,1,1,-0.175,2.48849 } ); +cells.push_back( {20400722,2664,67,4,2,1,-0.175,2.53806 } ); +cells.push_back( {20500712,2645,67,5,1,1,-0.225,2.48849 } ); +cells.push_back( {20500722,2665,67,5,2,1,-0.225,2.53806 } ); +cells.push_back( {20600712,2646,67,6,1,1,-0.275,2.48849 } ); +cells.push_back( {20600722,2666,67,6,2,1,-0.275,2.53806 } ); +cells.push_back( {20700712,2647,67,7,1,1,-0.325,2.48849 } ); +cells.push_back( {20700722,2667,67,7,2,1,-0.325,2.53806 } ); +cells.push_back( {20800712,2648,67,8,1,1,-0.375,2.48849 } ); +cells.push_back( {20800722,2668,67,8,2,1,-0.375,2.53806 } ); +cells.push_back( {20900712,2649,67,9,1,1,-0.425,2.48849 } ); +cells.push_back( {20900722,2669,67,9,2,1,-0.425,2.53806 } ); +cells.push_back( {21000712,2650,67,10,1,1,-0.475,2.48849 } ); +cells.push_back( {21000722,2670,67,10,2,1,-0.475,2.53806 } ); +cells.push_back( {21100712,2651,67,11,1,1,-0.525,2.48849 } ); +cells.push_back( {21100722,2671,67,11,2,1,-0.525,2.53806 } ); +cells.push_back( {21200712,2652,67,12,1,1,-0.575,2.48849 } ); +cells.push_back( {21200722,2672,67,12,2,1,-0.575,2.53806 } ); +cells.push_back( {21300712,2653,67,13,1,1,-0.625,2.48849 } ); +cells.push_back( {21300722,2673,67,13,2,1,-0.625,2.53806 } ); +cells.push_back( {21400712,2654,67,14,1,1,-0.675,2.48849 } ); +cells.push_back( {21400722,2674,67,14,2,1,-0.675,2.53806 } ); +cells.push_back( {21500712,2655,67,15,1,1,-0.725,2.48849 } ); +cells.push_back( {21500722,2675,67,15,2,1,-0.725,2.53806 } ); +cells.push_back( {21600712,2656,67,16,1,1,-0.775,2.48849 } ); +cells.push_back( {21600722,2676,67,16,2,1,-0.775,2.53806 } ); +cells.push_back( {21700712,2657,67,17,1,1,-0.825,2.48849 } ); +cells.push_back( {21700722,2677,67,17,2,1,-0.825,2.53806 } ); +cells.push_back( {21800712,2658,67,18,1,1,-0.875,2.48849 } ); +cells.push_back( {21800722,2678,67,18,2,1,-0.875,2.53806 } ); +cells.push_back( {21900712,2659,67,19,1,1,-0.925,2.48849 } ); +cells.push_back( {21900722,2679,67,19,2,1,-0.925,2.53806 } ); +cells.push_back( {22000712,2660,67,20,1,1,-0.967,2.48849 } ); +cells.push_back( {22000722,2680,67,20,2,1,-0.967,2.53806 } ); +cells.push_back( {20100811,2681,68,1,1,2,-0.02675,2.59321 } ); +cells.push_back( {20100821,2701,68,1,2,2,-0.02675,2.64278 } ); +cells.push_back( {20200811,2682,68,2,1,2,-0.075,2.59321 } ); +cells.push_back( {20200821,2702,68,2,2,2,-0.075,2.64278 } ); +cells.push_back( {20300811,2683,68,3,1,2,-0.125,2.59321 } ); +cells.push_back( {20300821,2703,68,3,2,2,-0.125,2.64278 } ); +cells.push_back( {20400811,2684,68,4,1,2,-0.175,2.59321 } ); +cells.push_back( {20400821,2704,68,4,2,2,-0.175,2.64278 } ); +cells.push_back( {20500811,2685,68,5,1,2,-0.225,2.59321 } ); +cells.push_back( {20500821,2705,68,5,2,2,-0.225,2.64278 } ); +cells.push_back( {20600811,2686,68,6,1,2,-0.275,2.59321 } ); +cells.push_back( {20600821,2706,68,6,2,2,-0.275,2.64278 } ); +cells.push_back( {20700811,2687,68,7,1,2,-0.325,2.59321 } ); +cells.push_back( {20700821,2707,68,7,2,2,-0.325,2.64278 } ); +cells.push_back( {20800811,2688,68,8,1,2,-0.375,2.59321 } ); +cells.push_back( {20800821,2708,68,8,2,2,-0.375,2.64278 } ); +cells.push_back( {20900811,2689,68,9,1,2,-0.425,2.59321 } ); +cells.push_back( {20900821,2709,68,9,2,2,-0.425,2.64278 } ); +cells.push_back( {21000811,2690,68,10,1,2,-0.475,2.59321 } ); +cells.push_back( {21000821,2710,68,10,2,2,-0.475,2.64278 } ); +cells.push_back( {21100811,2691,68,11,1,2,-0.525,2.59321 } ); +cells.push_back( {21100821,2711,68,11,2,2,-0.525,2.64278 } ); +cells.push_back( {21200811,2692,68,12,1,2,-0.575,2.59321 } ); +cells.push_back( {21200821,2712,68,12,2,2,-0.575,2.64278 } ); +cells.push_back( {21300811,2693,68,13,1,2,-0.625,2.59321 } ); +cells.push_back( {21300821,2713,68,13,2,2,-0.625,2.64278 } ); +cells.push_back( {21400811,2694,68,14,1,2,-0.675,2.59321 } ); +cells.push_back( {21400821,2714,68,14,2,2,-0.675,2.64278 } ); +cells.push_back( {21500811,2695,68,15,1,2,-0.725,2.59321 } ); +cells.push_back( {21500821,2715,68,15,2,2,-0.725,2.64278 } ); +cells.push_back( {21600811,2696,68,16,1,2,-0.775,2.59321 } ); +cells.push_back( {21600821,2716,68,16,2,2,-0.775,2.64278 } ); +cells.push_back( {21700811,2697,68,17,1,2,-0.825,2.59321 } ); +cells.push_back( {21700821,2717,68,17,2,2,-0.825,2.64278 } ); +cells.push_back( {21800811,2698,68,18,1,2,-0.875,2.59321 } ); +cells.push_back( {21800821,2718,68,18,2,2,-0.875,2.64278 } ); +cells.push_back( {21900811,2699,68,19,1,2,-0.925,2.59321 } ); +cells.push_back( {21900821,2719,68,19,2,2,-0.925,2.64278 } ); +cells.push_back( {22000811,2700,68,20,1,2,-0.967,2.59321 } ); +cells.push_back( {22000821,2720,68,20,2,2,-0.967,2.64278 } ); +cells.push_back( {20100812,2681,68,1,1,1,-0.02675,2.59321 } ); +cells.push_back( {20100822,2701,68,1,2,1,-0.02675,2.64278 } ); +cells.push_back( {20200812,2682,68,2,1,1,-0.075,2.59321 } ); +cells.push_back( {20200822,2702,68,2,2,1,-0.075,2.64278 } ); +cells.push_back( {20300812,2683,68,3,1,1,-0.125,2.59321 } ); +cells.push_back( {20300822,2703,68,3,2,1,-0.125,2.64278 } ); +cells.push_back( {20400812,2684,68,4,1,1,-0.175,2.59321 } ); +cells.push_back( {20400822,2704,68,4,2,1,-0.175,2.64278 } ); +cells.push_back( {20500812,2685,68,5,1,1,-0.225,2.59321 } ); +cells.push_back( {20500822,2705,68,5,2,1,-0.225,2.64278 } ); +cells.push_back( {20600812,2686,68,6,1,1,-0.275,2.59321 } ); +cells.push_back( {20600822,2706,68,6,2,1,-0.275,2.64278 } ); +cells.push_back( {20700812,2687,68,7,1,1,-0.325,2.59321 } ); +cells.push_back( {20700822,2707,68,7,2,1,-0.325,2.64278 } ); +cells.push_back( {20800812,2688,68,8,1,1,-0.375,2.59321 } ); +cells.push_back( {20800822,2708,68,8,2,1,-0.375,2.64278 } ); +cells.push_back( {20900812,2689,68,9,1,1,-0.425,2.59321 } ); +cells.push_back( {20900822,2709,68,9,2,1,-0.425,2.64278 } ); +cells.push_back( {21000812,2690,68,10,1,1,-0.475,2.59321 } ); +cells.push_back( {21000822,2710,68,10,2,1,-0.475,2.64278 } ); +cells.push_back( {21100812,2691,68,11,1,1,-0.525,2.59321 } ); +cells.push_back( {21100822,2711,68,11,2,1,-0.525,2.64278 } ); +cells.push_back( {21200812,2692,68,12,1,1,-0.575,2.59321 } ); +cells.push_back( {21200822,2712,68,12,2,1,-0.575,2.64278 } ); +cells.push_back( {21300812,2693,68,13,1,1,-0.625,2.59321 } ); +cells.push_back( {21300822,2713,68,13,2,1,-0.625,2.64278 } ); +cells.push_back( {21400812,2694,68,14,1,1,-0.675,2.59321 } ); +cells.push_back( {21400822,2714,68,14,2,1,-0.675,2.64278 } ); +cells.push_back( {21500812,2695,68,15,1,1,-0.725,2.59321 } ); +cells.push_back( {21500822,2715,68,15,2,1,-0.725,2.64278 } ); +cells.push_back( {21600812,2696,68,16,1,1,-0.775,2.59321 } ); +cells.push_back( {21600822,2716,68,16,2,1,-0.775,2.64278 } ); +cells.push_back( {21700812,2697,68,17,1,1,-0.825,2.59321 } ); +cells.push_back( {21700822,2717,68,17,2,1,-0.825,2.64278 } ); +cells.push_back( {21800812,2698,68,18,1,1,-0.875,2.59321 } ); +cells.push_back( {21800822,2718,68,18,2,1,-0.875,2.64278 } ); +cells.push_back( {21900812,2699,68,19,1,1,-0.925,2.59321 } ); +cells.push_back( {21900822,2719,68,19,2,1,-0.925,2.64278 } ); +cells.push_back( {22000812,2700,68,20,1,1,-0.967,2.59321 } ); +cells.push_back( {22000822,2720,68,20,2,1,-0.967,2.64278 } ); +cells.push_back( {20100911,2721,69,1,1,2,-0.02675,2.69793 } ); +cells.push_back( {20100921,2741,69,1,2,2,-0.02675,2.7475 } ); +cells.push_back( {20200911,2722,69,2,1,2,-0.075,2.69793 } ); +cells.push_back( {20200921,2742,69,2,2,2,-0.075,2.7475 } ); +cells.push_back( {20300911,2723,69,3,1,2,-0.125,2.69793 } ); +cells.push_back( {20300921,2743,69,3,2,2,-0.125,2.7475 } ); +cells.push_back( {20400911,2724,69,4,1,2,-0.175,2.69793 } ); +cells.push_back( {20400921,2744,69,4,2,2,-0.175,2.7475 } ); +cells.push_back( {20500911,2725,69,5,1,2,-0.225,2.69793 } ); +cells.push_back( {20500921,2745,69,5,2,2,-0.225,2.7475 } ); +cells.push_back( {20600911,2726,69,6,1,2,-0.275,2.69793 } ); +cells.push_back( {20600921,2746,69,6,2,2,-0.275,2.7475 } ); +cells.push_back( {20700911,2727,69,7,1,2,-0.325,2.69793 } ); +cells.push_back( {20700921,2747,69,7,2,2,-0.325,2.7475 } ); +cells.push_back( {20800911,2728,69,8,1,2,-0.375,2.69793 } ); +cells.push_back( {20800921,2748,69,8,2,2,-0.375,2.7475 } ); +cells.push_back( {20900911,2729,69,9,1,2,-0.425,2.69793 } ); +cells.push_back( {20900921,2749,69,9,2,2,-0.425,2.7475 } ); +cells.push_back( {21000911,2730,69,10,1,2,-0.475,2.69793 } ); +cells.push_back( {21000921,2750,69,10,2,2,-0.475,2.7475 } ); +cells.push_back( {21100911,2731,69,11,1,2,-0.525,2.69793 } ); +cells.push_back( {21100921,2751,69,11,2,2,-0.525,2.7475 } ); +cells.push_back( {21200911,2732,69,12,1,2,-0.575,2.69793 } ); +cells.push_back( {21200921,2752,69,12,2,2,-0.575,2.7475 } ); +cells.push_back( {21300911,2733,69,13,1,2,-0.625,2.69793 } ); +cells.push_back( {21300921,2753,69,13,2,2,-0.625,2.7475 } ); +cells.push_back( {21400911,2734,69,14,1,2,-0.675,2.69793 } ); +cells.push_back( {21400921,2754,69,14,2,2,-0.675,2.7475 } ); +cells.push_back( {21500911,2735,69,15,1,2,-0.725,2.69793 } ); +cells.push_back( {21500921,2755,69,15,2,2,-0.725,2.7475 } ); +cells.push_back( {21600911,2736,69,16,1,2,-0.775,2.69793 } ); +cells.push_back( {21600921,2756,69,16,2,2,-0.775,2.7475 } ); +cells.push_back( {21700911,2737,69,17,1,2,-0.825,2.69793 } ); +cells.push_back( {21700921,2757,69,17,2,2,-0.825,2.7475 } ); +cells.push_back( {21800911,2738,69,18,1,2,-0.875,2.69793 } ); +cells.push_back( {21800921,2758,69,18,2,2,-0.875,2.7475 } ); +cells.push_back( {21900911,2739,69,19,1,2,-0.925,2.69793 } ); +cells.push_back( {21900921,2759,69,19,2,2,-0.925,2.7475 } ); +cells.push_back( {22000911,2740,69,20,1,2,-0.967,2.69793 } ); +cells.push_back( {22000921,2760,69,20,2,2,-0.967,2.7475 } ); +cells.push_back( {20100912,2721,69,1,1,1,-0.02675,2.69793 } ); +cells.push_back( {20100922,2741,69,1,2,1,-0.02675,2.7475 } ); +cells.push_back( {20200912,2722,69,2,1,1,-0.075,2.69793 } ); +cells.push_back( {20200922,2742,69,2,2,1,-0.075,2.7475 } ); +cells.push_back( {20300912,2723,69,3,1,1,-0.125,2.69793 } ); +cells.push_back( {20300922,2743,69,3,2,1,-0.125,2.7475 } ); +cells.push_back( {20400912,2724,69,4,1,1,-0.175,2.69793 } ); +cells.push_back( {20400922,2744,69,4,2,1,-0.175,2.7475 } ); +cells.push_back( {20500912,2725,69,5,1,1,-0.225,2.69793 } ); +cells.push_back( {20500922,2745,69,5,2,1,-0.225,2.7475 } ); +cells.push_back( {20600912,2726,69,6,1,1,-0.275,2.69793 } ); +cells.push_back( {20600922,2746,69,6,2,1,-0.275,2.7475 } ); +cells.push_back( {20700912,2727,69,7,1,1,-0.325,2.69793 } ); +cells.push_back( {20700922,2747,69,7,2,1,-0.325,2.7475 } ); +cells.push_back( {20800912,2728,69,8,1,1,-0.375,2.69793 } ); +cells.push_back( {20800922,2748,69,8,2,1,-0.375,2.7475 } ); +cells.push_back( {20900912,2729,69,9,1,1,-0.425,2.69793 } ); +cells.push_back( {20900922,2749,69,9,2,1,-0.425,2.7475 } ); +cells.push_back( {21000912,2730,69,10,1,1,-0.475,2.69793 } ); +cells.push_back( {21000922,2750,69,10,2,1,-0.475,2.7475 } ); +cells.push_back( {21100912,2731,69,11,1,1,-0.525,2.69793 } ); +cells.push_back( {21100922,2751,69,11,2,1,-0.525,2.7475 } ); +cells.push_back( {21200912,2732,69,12,1,1,-0.575,2.69793 } ); +cells.push_back( {21200922,2752,69,12,2,1,-0.575,2.7475 } ); +cells.push_back( {21300912,2733,69,13,1,1,-0.625,2.69793 } ); +cells.push_back( {21300922,2753,69,13,2,1,-0.625,2.7475 } ); +cells.push_back( {21400912,2734,69,14,1,1,-0.675,2.69793 } ); +cells.push_back( {21400922,2754,69,14,2,1,-0.675,2.7475 } ); +cells.push_back( {21500912,2735,69,15,1,1,-0.725,2.69793 } ); +cells.push_back( {21500922,2755,69,15,2,1,-0.725,2.7475 } ); +cells.push_back( {21600912,2736,69,16,1,1,-0.775,2.69793 } ); +cells.push_back( {21600922,2756,69,16,2,1,-0.775,2.7475 } ); +cells.push_back( {21700912,2737,69,17,1,1,-0.825,2.69793 } ); +cells.push_back( {21700922,2757,69,17,2,1,-0.825,2.7475 } ); +cells.push_back( {21800912,2738,69,18,1,1,-0.875,2.69793 } ); +cells.push_back( {21800922,2758,69,18,2,1,-0.875,2.7475 } ); +cells.push_back( {21900912,2739,69,19,1,1,-0.925,2.69793 } ); +cells.push_back( {21900922,2759,69,19,2,1,-0.925,2.7475 } ); +cells.push_back( {22000912,2740,69,20,1,1,-0.967,2.69793 } ); +cells.push_back( {22000922,2760,69,20,2,1,-0.967,2.7475 } ); +cells.push_back( {20101011,2761,70,1,1,2,-0.02675,2.80265 } ); +cells.push_back( {20101021,2781,70,1,2,2,-0.02675,2.85221 } ); +cells.push_back( {20201011,2762,70,2,1,2,-0.075,2.80265 } ); +cells.push_back( {20201021,2782,70,2,2,2,-0.075,2.85221 } ); +cells.push_back( {20301011,2763,70,3,1,2,-0.125,2.80265 } ); +cells.push_back( {20301021,2783,70,3,2,2,-0.125,2.85221 } ); +cells.push_back( {20401011,2764,70,4,1,2,-0.175,2.80265 } ); +cells.push_back( {20401021,2784,70,4,2,2,-0.175,2.85221 } ); +cells.push_back( {20501011,2765,70,5,1,2,-0.225,2.80265 } ); +cells.push_back( {20501021,2785,70,5,2,2,-0.225,2.85221 } ); +cells.push_back( {20601011,2766,70,6,1,2,-0.275,2.80265 } ); +cells.push_back( {20601021,2786,70,6,2,2,-0.275,2.85221 } ); +cells.push_back( {20701011,2767,70,7,1,2,-0.325,2.80265 } ); +cells.push_back( {20701021,2787,70,7,2,2,-0.325,2.85221 } ); +cells.push_back( {20801011,2768,70,8,1,2,-0.375,2.80265 } ); +cells.push_back( {20801021,2788,70,8,2,2,-0.375,2.85221 } ); +cells.push_back( {20901011,2769,70,9,1,2,-0.425,2.80265 } ); +cells.push_back( {20901021,2789,70,9,2,2,-0.425,2.85221 } ); +cells.push_back( {21001011,2770,70,10,1,2,-0.475,2.80265 } ); +cells.push_back( {21001021,2790,70,10,2,2,-0.475,2.85221 } ); +cells.push_back( {21101011,2771,70,11,1,2,-0.525,2.80265 } ); +cells.push_back( {21101021,2791,70,11,2,2,-0.525,2.85221 } ); +cells.push_back( {21201011,2772,70,12,1,2,-0.575,2.80265 } ); +cells.push_back( {21201021,2792,70,12,2,2,-0.575,2.85221 } ); +cells.push_back( {21301011,2773,70,13,1,2,-0.625,2.80265 } ); +cells.push_back( {21301021,2793,70,13,2,2,-0.625,2.85221 } ); +cells.push_back( {21401011,2774,70,14,1,2,-0.675,2.80265 } ); +cells.push_back( {21401021,2794,70,14,2,2,-0.675,2.85221 } ); +cells.push_back( {21501011,2775,70,15,1,2,-0.725,2.80265 } ); +cells.push_back( {21501021,2795,70,15,2,2,-0.725,2.85221 } ); +cells.push_back( {21601011,2776,70,16,1,2,-0.775,2.80265 } ); +cells.push_back( {21601021,2796,70,16,2,2,-0.775,2.85221 } ); +cells.push_back( {21701011,2777,70,17,1,2,-0.825,2.80265 } ); +cells.push_back( {21701021,2797,70,17,2,2,-0.825,2.85221 } ); +cells.push_back( {21801011,2778,70,18,1,2,-0.875,2.80265 } ); +cells.push_back( {21801021,2798,70,18,2,2,-0.875,2.85221 } ); +cells.push_back( {21901011,2779,70,19,1,2,-0.925,2.80265 } ); +cells.push_back( {21901021,2799,70,19,2,2,-0.925,2.85221 } ); +cells.push_back( {22001011,2780,70,20,1,2,-0.967,2.80265 } ); +cells.push_back( {22001021,2800,70,20,2,2,-0.967,2.85221 } ); +cells.push_back( {20101012,2761,70,1,1,1,-0.02675,2.80265 } ); +cells.push_back( {20101022,2781,70,1,2,1,-0.02675,2.85221 } ); +cells.push_back( {20201012,2762,70,2,1,1,-0.075,2.80265 } ); +cells.push_back( {20201022,2782,70,2,2,1,-0.075,2.85221 } ); +cells.push_back( {20301012,2763,70,3,1,1,-0.125,2.80265 } ); +cells.push_back( {20301022,2783,70,3,2,1,-0.125,2.85221 } ); +cells.push_back( {20401012,2764,70,4,1,1,-0.175,2.80265 } ); +cells.push_back( {20401022,2784,70,4,2,1,-0.175,2.85221 } ); +cells.push_back( {20501012,2765,70,5,1,1,-0.225,2.80265 } ); +cells.push_back( {20501022,2785,70,5,2,1,-0.225,2.85221 } ); +cells.push_back( {20601012,2766,70,6,1,1,-0.275,2.80265 } ); +cells.push_back( {20601022,2786,70,6,2,1,-0.275,2.85221 } ); +cells.push_back( {20701012,2767,70,7,1,1,-0.325,2.80265 } ); +cells.push_back( {20701022,2787,70,7,2,1,-0.325,2.85221 } ); +cells.push_back( {20801012,2768,70,8,1,1,-0.375,2.80265 } ); +cells.push_back( {20801022,2788,70,8,2,1,-0.375,2.85221 } ); +cells.push_back( {20901012,2769,70,9,1,1,-0.425,2.80265 } ); +cells.push_back( {20901022,2789,70,9,2,1,-0.425,2.85221 } ); +cells.push_back( {21001012,2770,70,10,1,1,-0.475,2.80265 } ); +cells.push_back( {21001022,2790,70,10,2,1,-0.475,2.85221 } ); +cells.push_back( {21101012,2771,70,11,1,1,-0.525,2.80265 } ); +cells.push_back( {21101022,2791,70,11,2,1,-0.525,2.85221 } ); +cells.push_back( {21201012,2772,70,12,1,1,-0.575,2.80265 } ); +cells.push_back( {21201022,2792,70,12,2,1,-0.575,2.85221 } ); +cells.push_back( {21301012,2773,70,13,1,1,-0.625,2.80265 } ); +cells.push_back( {21301022,2793,70,13,2,1,-0.625,2.85221 } ); +cells.push_back( {21401012,2774,70,14,1,1,-0.675,2.80265 } ); +cells.push_back( {21401022,2794,70,14,2,1,-0.675,2.85221 } ); +cells.push_back( {21501012,2775,70,15,1,1,-0.725,2.80265 } ); +cells.push_back( {21501022,2795,70,15,2,1,-0.725,2.85221 } ); +cells.push_back( {21601012,2776,70,16,1,1,-0.775,2.80265 } ); +cells.push_back( {21601022,2796,70,16,2,1,-0.775,2.85221 } ); +cells.push_back( {21701012,2777,70,17,1,1,-0.825,2.80265 } ); +cells.push_back( {21701022,2797,70,17,2,1,-0.825,2.85221 } ); +cells.push_back( {21801012,2778,70,18,1,1,-0.875,2.80265 } ); +cells.push_back( {21801022,2798,70,18,2,1,-0.875,2.85221 } ); +cells.push_back( {21901012,2779,70,19,1,1,-0.925,2.80265 } ); +cells.push_back( {21901022,2799,70,19,2,1,-0.925,2.85221 } ); +cells.push_back( {22001012,2780,70,20,1,1,-0.967,2.80265 } ); +cells.push_back( {22001022,2800,70,20,2,1,-0.967,2.85221 } ); +cells.push_back( {20101111,2801,71,1,1,2,-0.02675,2.90737 } ); +cells.push_back( {20101121,2821,71,1,2,2,-0.02675,2.95693 } ); +cells.push_back( {20201111,2802,71,2,1,2,-0.075,2.90737 } ); +cells.push_back( {20201121,2822,71,2,2,2,-0.075,2.95693 } ); +cells.push_back( {20301111,2803,71,3,1,2,-0.125,2.90737 } ); +cells.push_back( {20301121,2823,71,3,2,2,-0.125,2.95693 } ); +cells.push_back( {20401111,2804,71,4,1,2,-0.175,2.90737 } ); +cells.push_back( {20401121,2824,71,4,2,2,-0.175,2.95693 } ); +cells.push_back( {20501111,2805,71,5,1,2,-0.225,2.90737 } ); +cells.push_back( {20501121,2825,71,5,2,2,-0.225,2.95693 } ); +cells.push_back( {20601111,2806,71,6,1,2,-0.275,2.90737 } ); +cells.push_back( {20601121,2826,71,6,2,2,-0.275,2.95693 } ); +cells.push_back( {20701111,2807,71,7,1,2,-0.325,2.90737 } ); +cells.push_back( {20701121,2827,71,7,2,2,-0.325,2.95693 } ); +cells.push_back( {20801111,2808,71,8,1,2,-0.375,2.90737 } ); +cells.push_back( {20801121,2828,71,8,2,2,-0.375,2.95693 } ); +cells.push_back( {20901111,2809,71,9,1,2,-0.425,2.90737 } ); +cells.push_back( {20901121,2829,71,9,2,2,-0.425,2.95693 } ); +cells.push_back( {21001111,2810,71,10,1,2,-0.475,2.90737 } ); +cells.push_back( {21001121,2830,71,10,2,2,-0.475,2.95693 } ); +cells.push_back( {21101111,2811,71,11,1,2,-0.525,2.90737 } ); +cells.push_back( {21101121,2831,71,11,2,2,-0.525,2.95693 } ); +cells.push_back( {21201111,2812,71,12,1,2,-0.575,2.90737 } ); +cells.push_back( {21201121,2832,71,12,2,2,-0.575,2.95693 } ); +cells.push_back( {21301111,2813,71,13,1,2,-0.625,2.90737 } ); +cells.push_back( {21301121,2833,71,13,2,2,-0.625,2.95693 } ); +cells.push_back( {21401111,2814,71,14,1,2,-0.675,2.90737 } ); +cells.push_back( {21401121,2834,71,14,2,2,-0.675,2.95693 } ); +cells.push_back( {21501111,2815,71,15,1,2,-0.725,2.90737 } ); +cells.push_back( {21501121,2835,71,15,2,2,-0.725,2.95693 } ); +cells.push_back( {21601111,2816,71,16,1,2,-0.775,2.90737 } ); +cells.push_back( {21601121,2836,71,16,2,2,-0.775,2.95693 } ); +cells.push_back( {21701111,2817,71,17,1,2,-0.825,2.90737 } ); +cells.push_back( {21701121,2837,71,17,2,2,-0.825,2.95693 } ); +cells.push_back( {21801111,2818,71,18,1,2,-0.875,2.90737 } ); +cells.push_back( {21801121,2838,71,18,2,2,-0.875,2.95693 } ); +cells.push_back( {21901111,2819,71,19,1,2,-0.925,2.90737 } ); +cells.push_back( {21901121,2839,71,19,2,2,-0.925,2.95693 } ); +cells.push_back( {22001111,2820,71,20,1,2,-0.967,2.90737 } ); +cells.push_back( {22001121,2840,71,20,2,2,-0.967,2.95693 } ); +cells.push_back( {20101112,2801,71,1,1,1,-0.02675,2.90737 } ); +cells.push_back( {20101122,2821,71,1,2,1,-0.02675,2.95693 } ); +cells.push_back( {20201112,2802,71,2,1,1,-0.075,2.90737 } ); +cells.push_back( {20201122,2822,71,2,2,1,-0.075,2.95693 } ); +cells.push_back( {20301112,2803,71,3,1,1,-0.125,2.90737 } ); +cells.push_back( {20301122,2823,71,3,2,1,-0.125,2.95693 } ); +cells.push_back( {20401112,2804,71,4,1,1,-0.175,2.90737 } ); +cells.push_back( {20401122,2824,71,4,2,1,-0.175,2.95693 } ); +cells.push_back( {20501112,2805,71,5,1,1,-0.225,2.90737 } ); +cells.push_back( {20501122,2825,71,5,2,1,-0.225,2.95693 } ); +cells.push_back( {20601112,2806,71,6,1,1,-0.275,2.90737 } ); +cells.push_back( {20601122,2826,71,6,2,1,-0.275,2.95693 } ); +cells.push_back( {20701112,2807,71,7,1,1,-0.325,2.90737 } ); +cells.push_back( {20701122,2827,71,7,2,1,-0.325,2.95693 } ); +cells.push_back( {20801112,2808,71,8,1,1,-0.375,2.90737 } ); +cells.push_back( {20801122,2828,71,8,2,1,-0.375,2.95693 } ); +cells.push_back( {20901112,2809,71,9,1,1,-0.425,2.90737 } ); +cells.push_back( {20901122,2829,71,9,2,1,-0.425,2.95693 } ); +cells.push_back( {21001112,2810,71,10,1,1,-0.475,2.90737 } ); +cells.push_back( {21001122,2830,71,10,2,1,-0.475,2.95693 } ); +cells.push_back( {21101112,2811,71,11,1,1,-0.525,2.90737 } ); +cells.push_back( {21101122,2831,71,11,2,1,-0.525,2.95693 } ); +cells.push_back( {21201112,2812,71,12,1,1,-0.575,2.90737 } ); +cells.push_back( {21201122,2832,71,12,2,1,-0.575,2.95693 } ); +cells.push_back( {21301112,2813,71,13,1,1,-0.625,2.90737 } ); +cells.push_back( {21301122,2833,71,13,2,1,-0.625,2.95693 } ); +cells.push_back( {21401112,2814,71,14,1,1,-0.675,2.90737 } ); +cells.push_back( {21401122,2834,71,14,2,1,-0.675,2.95693 } ); +cells.push_back( {21501112,2815,71,15,1,1,-0.725,2.90737 } ); +cells.push_back( {21501122,2835,71,15,2,1,-0.725,2.95693 } ); +cells.push_back( {21601112,2816,71,16,1,1,-0.775,2.90737 } ); +cells.push_back( {21601122,2836,71,16,2,1,-0.775,2.95693 } ); +cells.push_back( {21701112,2817,71,17,1,1,-0.825,2.90737 } ); +cells.push_back( {21701122,2837,71,17,2,1,-0.825,2.95693 } ); +cells.push_back( {21801112,2818,71,18,1,1,-0.875,2.90737 } ); +cells.push_back( {21801122,2838,71,18,2,1,-0.875,2.95693 } ); +cells.push_back( {21901112,2819,71,19,1,1,-0.925,2.90737 } ); +cells.push_back( {21901122,2839,71,19,2,1,-0.925,2.95693 } ); +cells.push_back( {22001112,2820,71,20,1,1,-0.967,2.90737 } ); +cells.push_back( {22001122,2840,71,20,2,1,-0.967,2.95693 } ); +cells.push_back( {20101211,2841,72,1,1,2,-0.02675,3.01209 } ); +cells.push_back( {20101221,2861,72,1,2,2,-0.02675,3.06165 } ); +cells.push_back( {20201211,2842,72,2,1,2,-0.075,3.01209 } ); +cells.push_back( {20201221,2862,72,2,2,2,-0.075,3.06165 } ); +cells.push_back( {20301211,2843,72,3,1,2,-0.125,3.01209 } ); +cells.push_back( {20301221,2863,72,3,2,2,-0.125,3.06165 } ); +cells.push_back( {20401211,2844,72,4,1,2,-0.175,3.01209 } ); +cells.push_back( {20401221,2864,72,4,2,2,-0.175,3.06165 } ); +cells.push_back( {20501211,2845,72,5,1,2,-0.225,3.01209 } ); +cells.push_back( {20501221,2865,72,5,2,2,-0.225,3.06165 } ); +cells.push_back( {20601211,2846,72,6,1,2,-0.275,3.01209 } ); +cells.push_back( {20601221,2866,72,6,2,2,-0.275,3.06165 } ); +cells.push_back( {20701211,2847,72,7,1,2,-0.325,3.01209 } ); +cells.push_back( {20701221,2867,72,7,2,2,-0.325,3.06165 } ); +cells.push_back( {20801211,2848,72,8,1,2,-0.375,3.01209 } ); +cells.push_back( {20801221,2868,72,8,2,2,-0.375,3.06165 } ); +cells.push_back( {20901211,2849,72,9,1,2,-0.425,3.01209 } ); +cells.push_back( {20901221,2869,72,9,2,2,-0.425,3.06165 } ); +cells.push_back( {21001211,2850,72,10,1,2,-0.475,3.01209 } ); +cells.push_back( {21001221,2870,72,10,2,2,-0.475,3.06165 } ); +cells.push_back( {21101211,2851,72,11,1,2,-0.525,3.01209 } ); +cells.push_back( {21101221,2871,72,11,2,2,-0.525,3.06165 } ); +cells.push_back( {21201211,2852,72,12,1,2,-0.575,3.01209 } ); +cells.push_back( {21201221,2872,72,12,2,2,-0.575,3.06165 } ); +cells.push_back( {21301211,2853,72,13,1,2,-0.625,3.01209 } ); +cells.push_back( {21301221,2873,72,13,2,2,-0.625,3.06165 } ); +cells.push_back( {21401211,2854,72,14,1,2,-0.675,3.01209 } ); +cells.push_back( {21401221,2874,72,14,2,2,-0.675,3.06165 } ); +cells.push_back( {21501211,2855,72,15,1,2,-0.725,3.01209 } ); +cells.push_back( {21501221,2875,72,15,2,2,-0.725,3.06165 } ); +cells.push_back( {21601211,2856,72,16,1,2,-0.775,3.01209 } ); +cells.push_back( {21601221,2876,72,16,2,2,-0.775,3.06165 } ); +cells.push_back( {21701211,2857,72,17,1,2,-0.825,3.01209 } ); +cells.push_back( {21701221,2877,72,17,2,2,-0.825,3.06165 } ); +cells.push_back( {21801211,2858,72,18,1,2,-0.875,3.01209 } ); +cells.push_back( {21801221,2878,72,18,2,2,-0.875,3.06165 } ); +cells.push_back( {21901211,2859,72,19,1,2,-0.925,3.01209 } ); +cells.push_back( {21901221,2879,72,19,2,2,-0.925,3.06165 } ); +cells.push_back( {22001211,2860,72,20,1,2,-0.967,3.01209 } ); +cells.push_back( {22001221,2880,72,20,2,2,-0.967,3.06165 } ); +cells.push_back( {20101212,2841,72,1,1,1,-0.02675,3.01209 } ); +cells.push_back( {20101222,2861,72,1,2,1,-0.02675,3.06165 } ); +cells.push_back( {20201212,2842,72,2,1,1,-0.075,3.01209 } ); +cells.push_back( {20201222,2862,72,2,2,1,-0.075,3.06165 } ); +cells.push_back( {20301212,2843,72,3,1,1,-0.125,3.01209 } ); +cells.push_back( {20301222,2863,72,3,2,1,-0.125,3.06165 } ); +cells.push_back( {20401212,2844,72,4,1,1,-0.175,3.01209 } ); +cells.push_back( {20401222,2864,72,4,2,1,-0.175,3.06165 } ); +cells.push_back( {20501212,2845,72,5,1,1,-0.225,3.01209 } ); +cells.push_back( {20501222,2865,72,5,2,1,-0.225,3.06165 } ); +cells.push_back( {20601212,2846,72,6,1,1,-0.275,3.01209 } ); +cells.push_back( {20601222,2866,72,6,2,1,-0.275,3.06165 } ); +cells.push_back( {20701212,2847,72,7,1,1,-0.325,3.01209 } ); +cells.push_back( {20701222,2867,72,7,2,1,-0.325,3.06165 } ); +cells.push_back( {20801212,2848,72,8,1,1,-0.375,3.01209 } ); +cells.push_back( {20801222,2868,72,8,2,1,-0.375,3.06165 } ); +cells.push_back( {20901212,2849,72,9,1,1,-0.425,3.01209 } ); +cells.push_back( {20901222,2869,72,9,2,1,-0.425,3.06165 } ); +cells.push_back( {21001212,2850,72,10,1,1,-0.475,3.01209 } ); +cells.push_back( {21001222,2870,72,10,2,1,-0.475,3.06165 } ); +cells.push_back( {21101212,2851,72,11,1,1,-0.525,3.01209 } ); +cells.push_back( {21101222,2871,72,11,2,1,-0.525,3.06165 } ); +cells.push_back( {21201212,2852,72,12,1,1,-0.575,3.01209 } ); +cells.push_back( {21201222,2872,72,12,2,1,-0.575,3.06165 } ); +cells.push_back( {21301212,2853,72,13,1,1,-0.625,3.01209 } ); +cells.push_back( {21301222,2873,72,13,2,1,-0.625,3.06165 } ); +cells.push_back( {21401212,2854,72,14,1,1,-0.675,3.01209 } ); +cells.push_back( {21401222,2874,72,14,2,1,-0.675,3.06165 } ); +cells.push_back( {21501212,2855,72,15,1,1,-0.725,3.01209 } ); +cells.push_back( {21501222,2875,72,15,2,1,-0.725,3.06165 } ); +cells.push_back( {21601212,2856,72,16,1,1,-0.775,3.01209 } ); +cells.push_back( {21601222,2876,72,16,2,1,-0.775,3.06165 } ); +cells.push_back( {21701212,2857,72,17,1,1,-0.825,3.01209 } ); +cells.push_back( {21701222,2877,72,17,2,1,-0.825,3.06165 } ); +cells.push_back( {21801212,2858,72,18,1,1,-0.875,3.01209 } ); +cells.push_back( {21801222,2878,72,18,2,1,-0.875,3.06165 } ); +cells.push_back( {21901212,2859,72,19,1,1,-0.925,3.01209 } ); +cells.push_back( {21901222,2879,72,19,2,1,-0.925,3.06165 } ); +cells.push_back( {22001212,2860,72,20,1,1,-0.967,3.01209 } ); +cells.push_back( {22001222,2880,72,20,2,1,-0.967,3.06165 } ); +cells.push_back( {20101311,2881,73,1,1,2,-0.02675,3.11681 } ); +cells.push_back( {20101321,2901,73,1,2,2,-0.02675,-3.11681 } ); +cells.push_back( {20201311,2882,73,2,1,2,-0.075,3.11681 } ); +cells.push_back( {20201321,2902,73,2,2,2,-0.075,-3.11681 } ); +cells.push_back( {20301311,2883,73,3,1,2,-0.125,3.11681 } ); +cells.push_back( {20301321,2903,73,3,2,2,-0.125,-3.11681 } ); +cells.push_back( {20401311,2884,73,4,1,2,-0.175,3.11681 } ); +cells.push_back( {20401321,2904,73,4,2,2,-0.175,-3.11681 } ); +cells.push_back( {20501311,2885,73,5,1,2,-0.225,3.11681 } ); +cells.push_back( {20501321,2905,73,5,2,2,-0.225,-3.11681 } ); +cells.push_back( {20601311,2886,73,6,1,2,-0.275,3.11681 } ); +cells.push_back( {20601321,2906,73,6,2,2,-0.275,-3.11681 } ); +cells.push_back( {20701311,2887,73,7,1,2,-0.325,3.11681 } ); +cells.push_back( {20701321,2907,73,7,2,2,-0.325,-3.11681 } ); +cells.push_back( {20801311,2888,73,8,1,2,-0.375,3.11681 } ); +cells.push_back( {20801321,2908,73,8,2,2,-0.375,-3.11681 } ); +cells.push_back( {20901311,2889,73,9,1,2,-0.425,3.11681 } ); +cells.push_back( {20901321,2909,73,9,2,2,-0.425,-3.11681 } ); +cells.push_back( {21001311,2890,73,10,1,2,-0.475,3.11681 } ); +cells.push_back( {21001321,2910,73,10,2,2,-0.475,-3.11681 } ); +cells.push_back( {21101311,2891,73,11,1,2,-0.525,3.11681 } ); +cells.push_back( {21101321,2911,73,11,2,2,-0.525,-3.11681 } ); +cells.push_back( {21201311,2892,73,12,1,2,-0.575,3.11681 } ); +cells.push_back( {21201321,2912,73,12,2,2,-0.575,-3.11681 } ); +cells.push_back( {21301311,2893,73,13,1,2,-0.625,3.11681 } ); +cells.push_back( {21301321,2913,73,13,2,2,-0.625,-3.11681 } ); +cells.push_back( {21401311,2894,73,14,1,2,-0.675,3.11681 } ); +cells.push_back( {21401321,2914,73,14,2,2,-0.675,-3.11681 } ); +cells.push_back( {21501311,2895,73,15,1,2,-0.725,3.11681 } ); +cells.push_back( {21501321,2915,73,15,2,2,-0.725,-3.11681 } ); +cells.push_back( {21601311,2896,73,16,1,2,-0.775,3.11681 } ); +cells.push_back( {21601321,2916,73,16,2,2,-0.775,-3.11681 } ); +cells.push_back( {21701311,2897,73,17,1,2,-0.825,3.11681 } ); +cells.push_back( {21701321,2917,73,17,2,2,-0.825,-3.11681 } ); +cells.push_back( {21801311,2898,73,18,1,2,-0.875,3.11681 } ); +cells.push_back( {21801321,2918,73,18,2,2,-0.875,-3.11681 } ); +cells.push_back( {21901311,2899,73,19,1,2,-0.925,3.11681 } ); +cells.push_back( {21901321,2919,73,19,2,2,-0.925,-3.11681 } ); +cells.push_back( {22001311,2900,73,20,1,2,-0.967,3.11681 } ); +cells.push_back( {22001321,2920,73,20,2,2,-0.967,-3.11681 } ); +cells.push_back( {20101312,2881,73,1,1,1,-0.02675,3.11681 } ); +cells.push_back( {20101322,2901,73,1,2,1,-0.02675,-3.11681 } ); +cells.push_back( {20201312,2882,73,2,1,1,-0.075,3.11681 } ); +cells.push_back( {20201322,2902,73,2,2,1,-0.075,-3.11681 } ); +cells.push_back( {20301312,2883,73,3,1,1,-0.125,3.11681 } ); +cells.push_back( {20301322,2903,73,3,2,1,-0.125,-3.11681 } ); +cells.push_back( {20401312,2884,73,4,1,1,-0.175,3.11681 } ); +cells.push_back( {20401322,2904,73,4,2,1,-0.175,-3.11681 } ); +cells.push_back( {20501312,2885,73,5,1,1,-0.225,3.11681 } ); +cells.push_back( {20501322,2905,73,5,2,1,-0.225,-3.11681 } ); +cells.push_back( {20601312,2886,73,6,1,1,-0.275,3.11681 } ); +cells.push_back( {20601322,2906,73,6,2,1,-0.275,-3.11681 } ); +cells.push_back( {20701312,2887,73,7,1,1,-0.325,3.11681 } ); +cells.push_back( {20701322,2907,73,7,2,1,-0.325,-3.11681 } ); +cells.push_back( {20801312,2888,73,8,1,1,-0.375,3.11681 } ); +cells.push_back( {20801322,2908,73,8,2,1,-0.375,-3.11681 } ); +cells.push_back( {20901312,2889,73,9,1,1,-0.425,3.11681 } ); +cells.push_back( {20901322,2909,73,9,2,1,-0.425,-3.11681 } ); +cells.push_back( {21001312,2890,73,10,1,1,-0.475,3.11681 } ); +cells.push_back( {21001322,2910,73,10,2,1,-0.475,-3.11681 } ); +cells.push_back( {21101312,2891,73,11,1,1,-0.525,3.11681 } ); +cells.push_back( {21101322,2911,73,11,2,1,-0.525,-3.11681 } ); +cells.push_back( {21201312,2892,73,12,1,1,-0.575,3.11681 } ); +cells.push_back( {21201322,2912,73,12,2,1,-0.575,-3.11681 } ); +cells.push_back( {21301312,2893,73,13,1,1,-0.625,3.11681 } ); +cells.push_back( {21301322,2913,73,13,2,1,-0.625,-3.11681 } ); +cells.push_back( {21401312,2894,73,14,1,1,-0.675,3.11681 } ); +cells.push_back( {21401322,2914,73,14,2,1,-0.675,-3.11681 } ); +cells.push_back( {21501312,2895,73,15,1,1,-0.725,3.11681 } ); +cells.push_back( {21501322,2915,73,15,2,1,-0.725,-3.11681 } ); +cells.push_back( {21601312,2896,73,16,1,1,-0.775,3.11681 } ); +cells.push_back( {21601322,2916,73,16,2,1,-0.775,-3.11681 } ); +cells.push_back( {21701312,2897,73,17,1,1,-0.825,3.11681 } ); +cells.push_back( {21701322,2917,73,17,2,1,-0.825,-3.11681 } ); +cells.push_back( {21801312,2898,73,18,1,1,-0.875,3.11681 } ); +cells.push_back( {21801322,2918,73,18,2,1,-0.875,-3.11681 } ); +cells.push_back( {21901312,2899,73,19,1,1,-0.925,3.11681 } ); +cells.push_back( {21901322,2919,73,19,2,1,-0.925,-3.11681 } ); +cells.push_back( {22001312,2900,73,20,1,1,-0.967,3.11681 } ); +cells.push_back( {22001322,2920,73,20,2,1,-0.967,-3.11681 } ); +cells.push_back( {20101411,2921,74,1,1,2,-0.02675,-3.06165 } ); +cells.push_back( {20101421,2941,74,1,2,2,-0.02675,-3.01209 } ); +cells.push_back( {20201411,2922,74,2,1,2,-0.075,-3.06165 } ); +cells.push_back( {20201421,2942,74,2,2,2,-0.075,-3.01209 } ); +cells.push_back( {20301411,2923,74,3,1,2,-0.125,-3.06165 } ); +cells.push_back( {20301421,2943,74,3,2,2,-0.125,-3.01209 } ); +cells.push_back( {20401411,2924,74,4,1,2,-0.175,-3.06165 } ); +cells.push_back( {20401421,2944,74,4,2,2,-0.175,-3.01209 } ); +cells.push_back( {20501411,2925,74,5,1,2,-0.225,-3.06165 } ); +cells.push_back( {20501421,2945,74,5,2,2,-0.225,-3.01209 } ); +cells.push_back( {20601411,2926,74,6,1,2,-0.275,-3.06165 } ); +cells.push_back( {20601421,2946,74,6,2,2,-0.275,-3.01209 } ); +cells.push_back( {20701411,2927,74,7,1,2,-0.325,-3.06165 } ); +cells.push_back( {20701421,2947,74,7,2,2,-0.325,-3.01209 } ); +cells.push_back( {20801411,2928,74,8,1,2,-0.375,-3.06165 } ); +cells.push_back( {20801421,2948,74,8,2,2,-0.375,-3.01209 } ); +cells.push_back( {20901411,2929,74,9,1,2,-0.425,-3.06165 } ); +cells.push_back( {20901421,2949,74,9,2,2,-0.425,-3.01209 } ); +cells.push_back( {21001411,2930,74,10,1,2,-0.475,-3.06165 } ); +cells.push_back( {21001421,2950,74,10,2,2,-0.475,-3.01209 } ); +cells.push_back( {21101411,2931,74,11,1,2,-0.525,-3.06165 } ); +cells.push_back( {21101421,2951,74,11,2,2,-0.525,-3.01209 } ); +cells.push_back( {21201411,2932,74,12,1,2,-0.575,-3.06165 } ); +cells.push_back( {21201421,2952,74,12,2,2,-0.575,-3.01209 } ); +cells.push_back( {21301411,2933,74,13,1,2,-0.625,-3.06165 } ); +cells.push_back( {21301421,2953,74,13,2,2,-0.625,-3.01209 } ); +cells.push_back( {21401411,2934,74,14,1,2,-0.675,-3.06165 } ); +cells.push_back( {21401421,2954,74,14,2,2,-0.675,-3.01209 } ); +cells.push_back( {21501411,2935,74,15,1,2,-0.725,-3.06165 } ); +cells.push_back( {21501421,2955,74,15,2,2,-0.725,-3.01209 } ); +cells.push_back( {21601411,2936,74,16,1,2,-0.775,-3.06165 } ); +cells.push_back( {21601421,2956,74,16,2,2,-0.775,-3.01209 } ); +cells.push_back( {21701411,2937,74,17,1,2,-0.825,-3.06165 } ); +cells.push_back( {21701421,2957,74,17,2,2,-0.825,-3.01209 } ); +cells.push_back( {21801411,2938,74,18,1,2,-0.875,-3.06165 } ); +cells.push_back( {21801421,2958,74,18,2,2,-0.875,-3.01209 } ); +cells.push_back( {21901411,2939,74,19,1,2,-0.925,-3.06165 } ); +cells.push_back( {21901421,2959,74,19,2,2,-0.925,-3.01209 } ); +cells.push_back( {22001411,2940,74,20,1,2,-0.967,-3.06165 } ); +cells.push_back( {22001421,2960,74,20,2,2,-0.967,-3.01209 } ); +cells.push_back( {20101412,2921,74,1,1,1,-0.02675,-3.06165 } ); +cells.push_back( {20101422,2941,74,1,2,1,-0.02675,-3.01209 } ); +cells.push_back( {20201412,2922,74,2,1,1,-0.075,-3.06165 } ); +cells.push_back( {20201422,2942,74,2,2,1,-0.075,-3.01209 } ); +cells.push_back( {20301412,2923,74,3,1,1,-0.125,-3.06165 } ); +cells.push_back( {20301422,2943,74,3,2,1,-0.125,-3.01209 } ); +cells.push_back( {20401412,2924,74,4,1,1,-0.175,-3.06165 } ); +cells.push_back( {20401422,2944,74,4,2,1,-0.175,-3.01209 } ); +cells.push_back( {20501412,2925,74,5,1,1,-0.225,-3.06165 } ); +cells.push_back( {20501422,2945,74,5,2,1,-0.225,-3.01209 } ); +cells.push_back( {20601412,2926,74,6,1,1,-0.275,-3.06165 } ); +cells.push_back( {20601422,2946,74,6,2,1,-0.275,-3.01209 } ); +cells.push_back( {20701412,2927,74,7,1,1,-0.325,-3.06165 } ); +cells.push_back( {20701422,2947,74,7,2,1,-0.325,-3.01209 } ); +cells.push_back( {20801412,2928,74,8,1,1,-0.375,-3.06165 } ); +cells.push_back( {20801422,2948,74,8,2,1,-0.375,-3.01209 } ); +cells.push_back( {20901412,2929,74,9,1,1,-0.425,-3.06165 } ); +cells.push_back( {20901422,2949,74,9,2,1,-0.425,-3.01209 } ); +cells.push_back( {21001412,2930,74,10,1,1,-0.475,-3.06165 } ); +cells.push_back( {21001422,2950,74,10,2,1,-0.475,-3.01209 } ); +cells.push_back( {21101412,2931,74,11,1,1,-0.525,-3.06165 } ); +cells.push_back( {21101422,2951,74,11,2,1,-0.525,-3.01209 } ); +cells.push_back( {21201412,2932,74,12,1,1,-0.575,-3.06165 } ); +cells.push_back( {21201422,2952,74,12,2,1,-0.575,-3.01209 } ); +cells.push_back( {21301412,2933,74,13,1,1,-0.625,-3.06165 } ); +cells.push_back( {21301422,2953,74,13,2,1,-0.625,-3.01209 } ); +cells.push_back( {21401412,2934,74,14,1,1,-0.675,-3.06165 } ); +cells.push_back( {21401422,2954,74,14,2,1,-0.675,-3.01209 } ); +cells.push_back( {21501412,2935,74,15,1,1,-0.725,-3.06165 } ); +cells.push_back( {21501422,2955,74,15,2,1,-0.725,-3.01209 } ); +cells.push_back( {21601412,2936,74,16,1,1,-0.775,-3.06165 } ); +cells.push_back( {21601422,2956,74,16,2,1,-0.775,-3.01209 } ); +cells.push_back( {21701412,2937,74,17,1,1,-0.825,-3.06165 } ); +cells.push_back( {21701422,2957,74,17,2,1,-0.825,-3.01209 } ); +cells.push_back( {21801412,2938,74,18,1,1,-0.875,-3.06165 } ); +cells.push_back( {21801422,2958,74,18,2,1,-0.875,-3.01209 } ); +cells.push_back( {21901412,2939,74,19,1,1,-0.925,-3.06165 } ); +cells.push_back( {21901422,2959,74,19,2,1,-0.925,-3.01209 } ); +cells.push_back( {22001412,2940,74,20,1,1,-0.967,-3.06165 } ); +cells.push_back( {22001422,2960,74,20,2,1,-0.967,-3.01209 } ); +cells.push_back( {20101511,2961,75,1,1,2,-0.02675,-2.95693 } ); +cells.push_back( {20101521,2981,75,1,2,2,-0.02675,-2.90737 } ); +cells.push_back( {20201511,2962,75,2,1,2,-0.075,-2.95693 } ); +cells.push_back( {20201521,2982,75,2,2,2,-0.075,-2.90737 } ); +cells.push_back( {20301511,2963,75,3,1,2,-0.125,-2.95693 } ); +cells.push_back( {20301521,2983,75,3,2,2,-0.125,-2.90737 } ); +cells.push_back( {20401511,2964,75,4,1,2,-0.175,-2.95693 } ); +cells.push_back( {20401521,2984,75,4,2,2,-0.175,-2.90737 } ); +cells.push_back( {20501511,2965,75,5,1,2,-0.225,-2.95693 } ); +cells.push_back( {20501521,2985,75,5,2,2,-0.225,-2.90737 } ); +cells.push_back( {20601511,2966,75,6,1,2,-0.275,-2.95693 } ); +cells.push_back( {20601521,2986,75,6,2,2,-0.275,-2.90737 } ); +cells.push_back( {20701511,2967,75,7,1,2,-0.325,-2.95693 } ); +cells.push_back( {20701521,2987,75,7,2,2,-0.325,-2.90737 } ); +cells.push_back( {20801511,2968,75,8,1,2,-0.375,-2.95693 } ); +cells.push_back( {20801521,2988,75,8,2,2,-0.375,-2.90737 } ); +cells.push_back( {20901511,2969,75,9,1,2,-0.425,-2.95693 } ); +cells.push_back( {20901521,2989,75,9,2,2,-0.425,-2.90737 } ); +cells.push_back( {21001511,2970,75,10,1,2,-0.475,-2.95693 } ); +cells.push_back( {21001521,2990,75,10,2,2,-0.475,-2.90737 } ); +cells.push_back( {21101511,2971,75,11,1,2,-0.525,-2.95693 } ); +cells.push_back( {21101521,2991,75,11,2,2,-0.525,-2.90737 } ); +cells.push_back( {21201511,2972,75,12,1,2,-0.575,-2.95693 } ); +cells.push_back( {21201521,2992,75,12,2,2,-0.575,-2.90737 } ); +cells.push_back( {21301511,2973,75,13,1,2,-0.625,-2.95693 } ); +cells.push_back( {21301521,2993,75,13,2,2,-0.625,-2.90737 } ); +cells.push_back( {21401511,2974,75,14,1,2,-0.675,-2.95693 } ); +cells.push_back( {21401521,2994,75,14,2,2,-0.675,-2.90737 } ); +cells.push_back( {21501511,2975,75,15,1,2,-0.725,-2.95693 } ); +cells.push_back( {21501521,2995,75,15,2,2,-0.725,-2.90737 } ); +cells.push_back( {21601511,2976,75,16,1,2,-0.775,-2.95693 } ); +cells.push_back( {21601521,2996,75,16,2,2,-0.775,-2.90737 } ); +cells.push_back( {21701511,2977,75,17,1,2,-0.825,-2.95693 } ); +cells.push_back( {21701521,2997,75,17,2,2,-0.825,-2.90737 } ); +cells.push_back( {21801511,2978,75,18,1,2,-0.875,-2.95693 } ); +cells.push_back( {21801521,2998,75,18,2,2,-0.875,-2.90737 } ); +cells.push_back( {21901511,2979,75,19,1,2,-0.925,-2.95693 } ); +cells.push_back( {21901521,2999,75,19,2,2,-0.925,-2.90737 } ); +cells.push_back( {22001511,2980,75,20,1,2,-0.967,-2.95693 } ); +cells.push_back( {22001521,3000,75,20,2,2,-0.967,-2.90737 } ); +cells.push_back( {20101512,2961,75,1,1,1,-0.02675,-2.95693 } ); +cells.push_back( {20101522,2981,75,1,2,1,-0.02675,-2.90737 } ); +cells.push_back( {20201512,2962,75,2,1,1,-0.075,-2.95693 } ); +cells.push_back( {20201522,2982,75,2,2,1,-0.075,-2.90737 } ); +cells.push_back( {20301512,2963,75,3,1,1,-0.125,-2.95693 } ); +cells.push_back( {20301522,2983,75,3,2,1,-0.125,-2.90737 } ); +cells.push_back( {20401512,2964,75,4,1,1,-0.175,-2.95693 } ); +cells.push_back( {20401522,2984,75,4,2,1,-0.175,-2.90737 } ); +cells.push_back( {20501512,2965,75,5,1,1,-0.225,-2.95693 } ); +cells.push_back( {20501522,2985,75,5,2,1,-0.225,-2.90737 } ); +cells.push_back( {20601512,2966,75,6,1,1,-0.275,-2.95693 } ); +cells.push_back( {20601522,2986,75,6,2,1,-0.275,-2.90737 } ); +cells.push_back( {20701512,2967,75,7,1,1,-0.325,-2.95693 } ); +cells.push_back( {20701522,2987,75,7,2,1,-0.325,-2.90737 } ); +cells.push_back( {20801512,2968,75,8,1,1,-0.375,-2.95693 } ); +cells.push_back( {20801522,2988,75,8,2,1,-0.375,-2.90737 } ); +cells.push_back( {20901512,2969,75,9,1,1,-0.425,-2.95693 } ); +cells.push_back( {20901522,2989,75,9,2,1,-0.425,-2.90737 } ); +cells.push_back( {21001512,2970,75,10,1,1,-0.475,-2.95693 } ); +cells.push_back( {21001522,2990,75,10,2,1,-0.475,-2.90737 } ); +cells.push_back( {21101512,2971,75,11,1,1,-0.525,-2.95693 } ); +cells.push_back( {21101522,2991,75,11,2,1,-0.525,-2.90737 } ); +cells.push_back( {21201512,2972,75,12,1,1,-0.575,-2.95693 } ); +cells.push_back( {21201522,2992,75,12,2,1,-0.575,-2.90737 } ); +cells.push_back( {21301512,2973,75,13,1,1,-0.625,-2.95693 } ); +cells.push_back( {21301522,2993,75,13,2,1,-0.625,-2.90737 } ); +cells.push_back( {21401512,2974,75,14,1,1,-0.675,-2.95693 } ); +cells.push_back( {21401522,2994,75,14,2,1,-0.675,-2.90737 } ); +cells.push_back( {21501512,2975,75,15,1,1,-0.725,-2.95693 } ); +cells.push_back( {21501522,2995,75,15,2,1,-0.725,-2.90737 } ); +cells.push_back( {21601512,2976,75,16,1,1,-0.775,-2.95693 } ); +cells.push_back( {21601522,2996,75,16,2,1,-0.775,-2.90737 } ); +cells.push_back( {21701512,2977,75,17,1,1,-0.825,-2.95693 } ); +cells.push_back( {21701522,2997,75,17,2,1,-0.825,-2.90737 } ); +cells.push_back( {21801512,2978,75,18,1,1,-0.875,-2.95693 } ); +cells.push_back( {21801522,2998,75,18,2,1,-0.875,-2.90737 } ); +cells.push_back( {21901512,2979,75,19,1,1,-0.925,-2.95693 } ); +cells.push_back( {21901522,2999,75,19,2,1,-0.925,-2.90737 } ); +cells.push_back( {22001512,2980,75,20,1,1,-0.967,-2.95693 } ); +cells.push_back( {22001522,3000,75,20,2,1,-0.967,-2.90737 } ); +cells.push_back( {20101611,3001,76,1,1,2,-0.02675,-2.85221 } ); +cells.push_back( {20101621,3021,76,1,2,2,-0.02675,-2.80265 } ); +cells.push_back( {20201611,3002,76,2,1,2,-0.075,-2.85221 } ); +cells.push_back( {20201621,3022,76,2,2,2,-0.075,-2.80265 } ); +cells.push_back( {20301611,3003,76,3,1,2,-0.125,-2.85221 } ); +cells.push_back( {20301621,3023,76,3,2,2,-0.125,-2.80265 } ); +cells.push_back( {20401611,3004,76,4,1,2,-0.175,-2.85221 } ); +cells.push_back( {20401621,3024,76,4,2,2,-0.175,-2.80265 } ); +cells.push_back( {20501611,3005,76,5,1,2,-0.225,-2.85221 } ); +cells.push_back( {20501621,3025,76,5,2,2,-0.225,-2.80265 } ); +cells.push_back( {20601611,3006,76,6,1,2,-0.275,-2.85221 } ); +cells.push_back( {20601621,3026,76,6,2,2,-0.275,-2.80265 } ); +cells.push_back( {20701611,3007,76,7,1,2,-0.325,-2.85221 } ); +cells.push_back( {20701621,3027,76,7,2,2,-0.325,-2.80265 } ); +cells.push_back( {20801611,3008,76,8,1,2,-0.375,-2.85221 } ); +cells.push_back( {20801621,3028,76,8,2,2,-0.375,-2.80265 } ); +cells.push_back( {20901611,3009,76,9,1,2,-0.425,-2.85221 } ); +cells.push_back( {20901621,3029,76,9,2,2,-0.425,-2.80265 } ); +cells.push_back( {21001611,3010,76,10,1,2,-0.475,-2.85221 } ); +cells.push_back( {21001621,3030,76,10,2,2,-0.475,-2.80265 } ); +cells.push_back( {21101611,3011,76,11,1,2,-0.525,-2.85221 } ); +cells.push_back( {21101621,3031,76,11,2,2,-0.525,-2.80265 } ); +cells.push_back( {21201611,3012,76,12,1,2,-0.575,-2.85221 } ); +cells.push_back( {21201621,3032,76,12,2,2,-0.575,-2.80265 } ); +cells.push_back( {21301611,3013,76,13,1,2,-0.625,-2.85221 } ); +cells.push_back( {21301621,3033,76,13,2,2,-0.625,-2.80265 } ); +cells.push_back( {21401611,3014,76,14,1,2,-0.675,-2.85221 } ); +cells.push_back( {21401621,3034,76,14,2,2,-0.675,-2.80265 } ); +cells.push_back( {21501611,3015,76,15,1,2,-0.725,-2.85221 } ); +cells.push_back( {21501621,3035,76,15,2,2,-0.725,-2.80265 } ); +cells.push_back( {21601611,3016,76,16,1,2,-0.775,-2.85221 } ); +cells.push_back( {21601621,3036,76,16,2,2,-0.775,-2.80265 } ); +cells.push_back( {21701611,3017,76,17,1,2,-0.825,-2.85221 } ); +cells.push_back( {21701621,3037,76,17,2,2,-0.825,-2.80265 } ); +cells.push_back( {21801611,3018,76,18,1,2,-0.875,-2.85221 } ); +cells.push_back( {21801621,3038,76,18,2,2,-0.875,-2.80265 } ); +cells.push_back( {21901611,3019,76,19,1,2,-0.925,-2.85221 } ); +cells.push_back( {21901621,3039,76,19,2,2,-0.925,-2.80265 } ); +cells.push_back( {22001611,3020,76,20,1,2,-0.967,-2.85221 } ); +cells.push_back( {22001621,3040,76,20,2,2,-0.967,-2.80265 } ); +cells.push_back( {20101612,3001,76,1,1,1,-0.02675,-2.85221 } ); +cells.push_back( {20101622,3021,76,1,2,1,-0.02675,-2.80265 } ); +cells.push_back( {20201612,3002,76,2,1,1,-0.075,-2.85221 } ); +cells.push_back( {20201622,3022,76,2,2,1,-0.075,-2.80265 } ); +cells.push_back( {20301612,3003,76,3,1,1,-0.125,-2.85221 } ); +cells.push_back( {20301622,3023,76,3,2,1,-0.125,-2.80265 } ); +cells.push_back( {20401612,3004,76,4,1,1,-0.175,-2.85221 } ); +cells.push_back( {20401622,3024,76,4,2,1,-0.175,-2.80265 } ); +cells.push_back( {20501612,3005,76,5,1,1,-0.225,-2.85221 } ); +cells.push_back( {20501622,3025,76,5,2,1,-0.225,-2.80265 } ); +cells.push_back( {20601612,3006,76,6,1,1,-0.275,-2.85221 } ); +cells.push_back( {20601622,3026,76,6,2,1,-0.275,-2.80265 } ); +cells.push_back( {20701612,3007,76,7,1,1,-0.325,-2.85221 } ); +cells.push_back( {20701622,3027,76,7,2,1,-0.325,-2.80265 } ); +cells.push_back( {20801612,3008,76,8,1,1,-0.375,-2.85221 } ); +cells.push_back( {20801622,3028,76,8,2,1,-0.375,-2.80265 } ); +cells.push_back( {20901612,3009,76,9,1,1,-0.425,-2.85221 } ); +cells.push_back( {20901622,3029,76,9,2,1,-0.425,-2.80265 } ); +cells.push_back( {21001612,3010,76,10,1,1,-0.475,-2.85221 } ); +cells.push_back( {21001622,3030,76,10,2,1,-0.475,-2.80265 } ); +cells.push_back( {21101612,3011,76,11,1,1,-0.525,-2.85221 } ); +cells.push_back( {21101622,3031,76,11,2,1,-0.525,-2.80265 } ); +cells.push_back( {21201612,3012,76,12,1,1,-0.575,-2.85221 } ); +cells.push_back( {21201622,3032,76,12,2,1,-0.575,-2.80265 } ); +cells.push_back( {21301612,3013,76,13,1,1,-0.625,-2.85221 } ); +cells.push_back( {21301622,3033,76,13,2,1,-0.625,-2.80265 } ); +cells.push_back( {21401612,3014,76,14,1,1,-0.675,-2.85221 } ); +cells.push_back( {21401622,3034,76,14,2,1,-0.675,-2.80265 } ); +cells.push_back( {21501612,3015,76,15,1,1,-0.725,-2.85221 } ); +cells.push_back( {21501622,3035,76,15,2,1,-0.725,-2.80265 } ); +cells.push_back( {21601612,3016,76,16,1,1,-0.775,-2.85221 } ); +cells.push_back( {21601622,3036,76,16,2,1,-0.775,-2.80265 } ); +cells.push_back( {21701612,3017,76,17,1,1,-0.825,-2.85221 } ); +cells.push_back( {21701622,3037,76,17,2,1,-0.825,-2.80265 } ); +cells.push_back( {21801612,3018,76,18,1,1,-0.875,-2.85221 } ); +cells.push_back( {21801622,3038,76,18,2,1,-0.875,-2.80265 } ); +cells.push_back( {21901612,3019,76,19,1,1,-0.925,-2.85221 } ); +cells.push_back( {21901622,3039,76,19,2,1,-0.925,-2.80265 } ); +cells.push_back( {22001612,3020,76,20,1,1,-0.967,-2.85221 } ); +cells.push_back( {22001622,3040,76,20,2,1,-0.967,-2.80265 } ); +cells.push_back( {20101711,3041,77,1,1,2,-0.02675,-2.74749 } ); +cells.push_back( {20101721,3061,77,1,2,2,-0.02675,-2.69793 } ); +cells.push_back( {20201711,3042,77,2,1,2,-0.075,-2.74749 } ); +cells.push_back( {20201721,3062,77,2,2,2,-0.075,-2.69793 } ); +cells.push_back( {20301711,3043,77,3,1,2,-0.125,-2.74749 } ); +cells.push_back( {20301721,3063,77,3,2,2,-0.125,-2.69793 } ); +cells.push_back( {20401711,3044,77,4,1,2,-0.175,-2.74749 } ); +cells.push_back( {20401721,3064,77,4,2,2,-0.175,-2.69793 } ); +cells.push_back( {20501711,3045,77,5,1,2,-0.225,-2.74749 } ); +cells.push_back( {20501721,3065,77,5,2,2,-0.225,-2.69793 } ); +cells.push_back( {20601711,3046,77,6,1,2,-0.275,-2.74749 } ); +cells.push_back( {20601721,3066,77,6,2,2,-0.275,-2.69793 } ); +cells.push_back( {20701711,3047,77,7,1,2,-0.325,-2.74749 } ); +cells.push_back( {20701721,3067,77,7,2,2,-0.325,-2.69793 } ); +cells.push_back( {20801711,3048,77,8,1,2,-0.375,-2.74749 } ); +cells.push_back( {20801721,3068,77,8,2,2,-0.375,-2.69793 } ); +cells.push_back( {20901711,3049,77,9,1,2,-0.425,-2.74749 } ); +cells.push_back( {20901721,3069,77,9,2,2,-0.425,-2.69793 } ); +cells.push_back( {21001711,3050,77,10,1,2,-0.475,-2.74749 } ); +cells.push_back( {21001721,3070,77,10,2,2,-0.475,-2.69793 } ); +cells.push_back( {21101711,3051,77,11,1,2,-0.525,-2.74749 } ); +cells.push_back( {21101721,3071,77,11,2,2,-0.525,-2.69793 } ); +cells.push_back( {21201711,3052,77,12,1,2,-0.575,-2.74749 } ); +cells.push_back( {21201721,3072,77,12,2,2,-0.575,-2.69793 } ); +cells.push_back( {21301711,3053,77,13,1,2,-0.625,-2.74749 } ); +cells.push_back( {21301721,3073,77,13,2,2,-0.625,-2.69793 } ); +cells.push_back( {21401711,3054,77,14,1,2,-0.675,-2.74749 } ); +cells.push_back( {21401721,3074,77,14,2,2,-0.675,-2.69793 } ); +cells.push_back( {21501711,3055,77,15,1,2,-0.725,-2.74749 } ); +cells.push_back( {21501721,3075,77,15,2,2,-0.725,-2.69793 } ); +cells.push_back( {21601711,3056,77,16,1,2,-0.775,-2.74749 } ); +cells.push_back( {21601721,3076,77,16,2,2,-0.775,-2.69793 } ); +cells.push_back( {21701711,3057,77,17,1,2,-0.825,-2.74749 } ); +cells.push_back( {21701721,3077,77,17,2,2,-0.825,-2.69793 } ); +cells.push_back( {21801711,3058,77,18,1,2,-0.875,-2.74749 } ); +cells.push_back( {21801721,3078,77,18,2,2,-0.875,-2.69793 } ); +cells.push_back( {21901711,3059,77,19,1,2,-0.925,-2.74749 } ); +cells.push_back( {21901721,3079,77,19,2,2,-0.925,-2.69793 } ); +cells.push_back( {22001711,3060,77,20,1,2,-0.967,-2.74749 } ); +cells.push_back( {22001721,3080,77,20,2,2,-0.967,-2.69793 } ); +cells.push_back( {20101712,3041,77,1,1,1,-0.02675,-2.74749 } ); +cells.push_back( {20101722,3061,77,1,2,1,-0.02675,-2.69793 } ); +cells.push_back( {20201712,3042,77,2,1,1,-0.075,-2.74749 } ); +cells.push_back( {20201722,3062,77,2,2,1,-0.075,-2.69793 } ); +cells.push_back( {20301712,3043,77,3,1,1,-0.125,-2.74749 } ); +cells.push_back( {20301722,3063,77,3,2,1,-0.125,-2.69793 } ); +cells.push_back( {20401712,3044,77,4,1,1,-0.175,-2.74749 } ); +cells.push_back( {20401722,3064,77,4,2,1,-0.175,-2.69793 } ); +cells.push_back( {20501712,3045,77,5,1,1,-0.225,-2.74749 } ); +cells.push_back( {20501722,3065,77,5,2,1,-0.225,-2.69793 } ); +cells.push_back( {20601712,3046,77,6,1,1,-0.275,-2.74749 } ); +cells.push_back( {20601722,3066,77,6,2,1,-0.275,-2.69793 } ); +cells.push_back( {20701712,3047,77,7,1,1,-0.325,-2.74749 } ); +cells.push_back( {20701722,3067,77,7,2,1,-0.325,-2.69793 } ); +cells.push_back( {20801712,3048,77,8,1,1,-0.375,-2.74749 } ); +cells.push_back( {20801722,3068,77,8,2,1,-0.375,-2.69793 } ); +cells.push_back( {20901712,3049,77,9,1,1,-0.425,-2.74749 } ); +cells.push_back( {20901722,3069,77,9,2,1,-0.425,-2.69793 } ); +cells.push_back( {21001712,3050,77,10,1,1,-0.475,-2.74749 } ); +cells.push_back( {21001722,3070,77,10,2,1,-0.475,-2.69793 } ); +cells.push_back( {21101712,3051,77,11,1,1,-0.525,-2.74749 } ); +cells.push_back( {21101722,3071,77,11,2,1,-0.525,-2.69793 } ); +cells.push_back( {21201712,3052,77,12,1,1,-0.575,-2.74749 } ); +cells.push_back( {21201722,3072,77,12,2,1,-0.575,-2.69793 } ); +cells.push_back( {21301712,3053,77,13,1,1,-0.625,-2.74749 } ); +cells.push_back( {21301722,3073,77,13,2,1,-0.625,-2.69793 } ); +cells.push_back( {21401712,3054,77,14,1,1,-0.675,-2.74749 } ); +cells.push_back( {21401722,3074,77,14,2,1,-0.675,-2.69793 } ); +cells.push_back( {21501712,3055,77,15,1,1,-0.725,-2.74749 } ); +cells.push_back( {21501722,3075,77,15,2,1,-0.725,-2.69793 } ); +cells.push_back( {21601712,3056,77,16,1,1,-0.775,-2.74749 } ); +cells.push_back( {21601722,3076,77,16,2,1,-0.775,-2.69793 } ); +cells.push_back( {21701712,3057,77,17,1,1,-0.825,-2.74749 } ); +cells.push_back( {21701722,3077,77,17,2,1,-0.825,-2.69793 } ); +cells.push_back( {21801712,3058,77,18,1,1,-0.875,-2.74749 } ); +cells.push_back( {21801722,3078,77,18,2,1,-0.875,-2.69793 } ); +cells.push_back( {21901712,3059,77,19,1,1,-0.925,-2.74749 } ); +cells.push_back( {21901722,3079,77,19,2,1,-0.925,-2.69793 } ); +cells.push_back( {22001712,3060,77,20,1,1,-0.967,-2.74749 } ); +cells.push_back( {22001722,3080,77,20,2,1,-0.967,-2.69793 } ); +cells.push_back( {20101811,3081,78,1,1,2,-0.02675,-2.64278 } ); +cells.push_back( {20101821,3101,78,1,2,2,-0.02675,-2.59321 } ); +cells.push_back( {20201811,3082,78,2,1,2,-0.075,-2.64278 } ); +cells.push_back( {20201821,3102,78,2,2,2,-0.075,-2.59321 } ); +cells.push_back( {20301811,3083,78,3,1,2,-0.125,-2.64278 } ); +cells.push_back( {20301821,3103,78,3,2,2,-0.125,-2.59321 } ); +cells.push_back( {20401811,3084,78,4,1,2,-0.175,-2.64278 } ); +cells.push_back( {20401821,3104,78,4,2,2,-0.175,-2.59321 } ); +cells.push_back( {20501811,3085,78,5,1,2,-0.225,-2.64278 } ); +cells.push_back( {20501821,3105,78,5,2,2,-0.225,-2.59321 } ); +cells.push_back( {20601811,3086,78,6,1,2,-0.275,-2.64278 } ); +cells.push_back( {20601821,3106,78,6,2,2,-0.275,-2.59321 } ); +cells.push_back( {20701811,3087,78,7,1,2,-0.325,-2.64278 } ); +cells.push_back( {20701821,3107,78,7,2,2,-0.325,-2.59321 } ); +cells.push_back( {20801811,3088,78,8,1,2,-0.375,-2.64278 } ); +cells.push_back( {20801821,3108,78,8,2,2,-0.375,-2.59321 } ); +cells.push_back( {20901811,3089,78,9,1,2,-0.425,-2.64278 } ); +cells.push_back( {20901821,3109,78,9,2,2,-0.425,-2.59321 } ); +cells.push_back( {21001811,3090,78,10,1,2,-0.475,-2.64278 } ); +cells.push_back( {21001821,3110,78,10,2,2,-0.475,-2.59321 } ); +cells.push_back( {21101811,3091,78,11,1,2,-0.525,-2.64278 } ); +cells.push_back( {21101821,3111,78,11,2,2,-0.525,-2.59321 } ); +cells.push_back( {21201811,3092,78,12,1,2,-0.575,-2.64278 } ); +cells.push_back( {21201821,3112,78,12,2,2,-0.575,-2.59321 } ); +cells.push_back( {21301811,3093,78,13,1,2,-0.625,-2.64278 } ); +cells.push_back( {21301821,3113,78,13,2,2,-0.625,-2.59321 } ); +cells.push_back( {21401811,3094,78,14,1,2,-0.675,-2.64278 } ); +cells.push_back( {21401821,3114,78,14,2,2,-0.675,-2.59321 } ); +cells.push_back( {21501811,3095,78,15,1,2,-0.725,-2.64278 } ); +cells.push_back( {21501821,3115,78,15,2,2,-0.725,-2.59321 } ); +cells.push_back( {21601811,3096,78,16,1,2,-0.775,-2.64278 } ); +cells.push_back( {21601821,3116,78,16,2,2,-0.775,-2.59321 } ); +cells.push_back( {21701811,3097,78,17,1,2,-0.825,-2.64278 } ); +cells.push_back( {21701821,3117,78,17,2,2,-0.825,-2.59321 } ); +cells.push_back( {21801811,3098,78,18,1,2,-0.875,-2.64278 } ); +cells.push_back( {21801821,3118,78,18,2,2,-0.875,-2.59321 } ); +cells.push_back( {21901811,3099,78,19,1,2,-0.925,-2.64278 } ); +cells.push_back( {21901821,3119,78,19,2,2,-0.925,-2.59321 } ); +cells.push_back( {22001811,3100,78,20,1,2,-0.967,-2.64278 } ); +cells.push_back( {22001821,3120,78,20,2,2,-0.967,-2.59321 } ); +cells.push_back( {20101812,3081,78,1,1,1,-0.02675,-2.64278 } ); +cells.push_back( {20101822,3101,78,1,2,1,-0.02675,-2.59321 } ); +cells.push_back( {20201812,3082,78,2,1,1,-0.075,-2.64278 } ); +cells.push_back( {20201822,3102,78,2,2,1,-0.075,-2.59321 } ); +cells.push_back( {20301812,3083,78,3,1,1,-0.125,-2.64278 } ); +cells.push_back( {20301822,3103,78,3,2,1,-0.125,-2.59321 } ); +cells.push_back( {20401812,3084,78,4,1,1,-0.175,-2.64278 } ); +cells.push_back( {20401822,3104,78,4,2,1,-0.175,-2.59321 } ); +cells.push_back( {20501812,3085,78,5,1,1,-0.225,-2.64278 } ); +cells.push_back( {20501822,3105,78,5,2,1,-0.225,-2.59321 } ); +cells.push_back( {20601812,3086,78,6,1,1,-0.275,-2.64278 } ); +cells.push_back( {20601822,3106,78,6,2,1,-0.275,-2.59321 } ); +cells.push_back( {20701812,3087,78,7,1,1,-0.325,-2.64278 } ); +cells.push_back( {20701822,3107,78,7,2,1,-0.325,-2.59321 } ); +cells.push_back( {20801812,3088,78,8,1,1,-0.375,-2.64278 } ); +cells.push_back( {20801822,3108,78,8,2,1,-0.375,-2.59321 } ); +cells.push_back( {20901812,3089,78,9,1,1,-0.425,-2.64278 } ); +cells.push_back( {20901822,3109,78,9,2,1,-0.425,-2.59321 } ); +cells.push_back( {21001812,3090,78,10,1,1,-0.475,-2.64278 } ); +cells.push_back( {21001822,3110,78,10,2,1,-0.475,-2.59321 } ); +cells.push_back( {21101812,3091,78,11,1,1,-0.525,-2.64278 } ); +cells.push_back( {21101822,3111,78,11,2,1,-0.525,-2.59321 } ); +cells.push_back( {21201812,3092,78,12,1,1,-0.575,-2.64278 } ); +cells.push_back( {21201822,3112,78,12,2,1,-0.575,-2.59321 } ); +cells.push_back( {21301812,3093,78,13,1,1,-0.625,-2.64278 } ); +cells.push_back( {21301822,3113,78,13,2,1,-0.625,-2.59321 } ); +cells.push_back( {21401812,3094,78,14,1,1,-0.675,-2.64278 } ); +cells.push_back( {21401822,3114,78,14,2,1,-0.675,-2.59321 } ); +cells.push_back( {21501812,3095,78,15,1,1,-0.725,-2.64278 } ); +cells.push_back( {21501822,3115,78,15,2,1,-0.725,-2.59321 } ); +cells.push_back( {21601812,3096,78,16,1,1,-0.775,-2.64278 } ); +cells.push_back( {21601822,3116,78,16,2,1,-0.775,-2.59321 } ); +cells.push_back( {21701812,3097,78,17,1,1,-0.825,-2.64278 } ); +cells.push_back( {21701822,3117,78,17,2,1,-0.825,-2.59321 } ); +cells.push_back( {21801812,3098,78,18,1,1,-0.875,-2.64278 } ); +cells.push_back( {21801822,3118,78,18,2,1,-0.875,-2.59321 } ); +cells.push_back( {21901812,3099,78,19,1,1,-0.925,-2.64278 } ); +cells.push_back( {21901822,3119,78,19,2,1,-0.925,-2.59321 } ); +cells.push_back( {22001812,3100,78,20,1,1,-0.967,-2.64278 } ); +cells.push_back( {22001822,3120,78,20,2,1,-0.967,-2.59321 } ); +cells.push_back( {20101911,3121,79,1,1,2,-0.02675,-2.53806 } ); +cells.push_back( {20101921,3141,79,1,2,2,-0.02675,-2.48849 } ); +cells.push_back( {20201911,3122,79,2,1,2,-0.075,-2.53806 } ); +cells.push_back( {20201921,3142,79,2,2,2,-0.075,-2.48849 } ); +cells.push_back( {20301911,3123,79,3,1,2,-0.125,-2.53806 } ); +cells.push_back( {20301921,3143,79,3,2,2,-0.125,-2.48849 } ); +cells.push_back( {20401911,3124,79,4,1,2,-0.175,-2.53806 } ); +cells.push_back( {20401921,3144,79,4,2,2,-0.175,-2.48849 } ); +cells.push_back( {20501911,3125,79,5,1,2,-0.225,-2.53806 } ); +cells.push_back( {20501921,3145,79,5,2,2,-0.225,-2.48849 } ); +cells.push_back( {20601911,3126,79,6,1,2,-0.275,-2.53806 } ); +cells.push_back( {20601921,3146,79,6,2,2,-0.275,-2.48849 } ); +cells.push_back( {20701911,3127,79,7,1,2,-0.325,-2.53806 } ); +cells.push_back( {20701921,3147,79,7,2,2,-0.325,-2.48849 } ); +cells.push_back( {20801911,3128,79,8,1,2,-0.375,-2.53806 } ); +cells.push_back( {20801921,3148,79,8,2,2,-0.375,-2.48849 } ); +cells.push_back( {20901911,3129,79,9,1,2,-0.425,-2.53806 } ); +cells.push_back( {20901921,3149,79,9,2,2,-0.425,-2.48849 } ); +cells.push_back( {21001911,3130,79,10,1,2,-0.475,-2.53806 } ); +cells.push_back( {21001921,3150,79,10,2,2,-0.475,-2.48849 } ); +cells.push_back( {21101911,3131,79,11,1,2,-0.525,-2.53806 } ); +cells.push_back( {21101921,3151,79,11,2,2,-0.525,-2.48849 } ); +cells.push_back( {21201911,3132,79,12,1,2,-0.575,-2.53806 } ); +cells.push_back( {21201921,3152,79,12,2,2,-0.575,-2.48849 } ); +cells.push_back( {21301911,3133,79,13,1,2,-0.625,-2.53806 } ); +cells.push_back( {21301921,3153,79,13,2,2,-0.625,-2.48849 } ); +cells.push_back( {21401911,3134,79,14,1,2,-0.675,-2.53806 } ); +cells.push_back( {21401921,3154,79,14,2,2,-0.675,-2.48849 } ); +cells.push_back( {21501911,3135,79,15,1,2,-0.725,-2.53806 } ); +cells.push_back( {21501921,3155,79,15,2,2,-0.725,-2.48849 } ); +cells.push_back( {21601911,3136,79,16,1,2,-0.775,-2.53806 } ); +cells.push_back( {21601921,3156,79,16,2,2,-0.775,-2.48849 } ); +cells.push_back( {21701911,3137,79,17,1,2,-0.825,-2.53806 } ); +cells.push_back( {21701921,3157,79,17,2,2,-0.825,-2.48849 } ); +cells.push_back( {21801911,3138,79,18,1,2,-0.875,-2.53806 } ); +cells.push_back( {21801921,3158,79,18,2,2,-0.875,-2.48849 } ); +cells.push_back( {21901911,3139,79,19,1,2,-0.925,-2.53806 } ); +cells.push_back( {21901921,3159,79,19,2,2,-0.925,-2.48849 } ); +cells.push_back( {22001911,3140,79,20,1,2,-0.967,-2.53806 } ); +cells.push_back( {22001921,3160,79,20,2,2,-0.967,-2.48849 } ); +cells.push_back( {20101912,3121,79,1,1,1,-0.02675,-2.53806 } ); +cells.push_back( {20101922,3141,79,1,2,1,-0.02675,-2.48849 } ); +cells.push_back( {20201912,3122,79,2,1,1,-0.075,-2.53806 } ); +cells.push_back( {20201922,3142,79,2,2,1,-0.075,-2.48849 } ); +cells.push_back( {20301912,3123,79,3,1,1,-0.125,-2.53806 } ); +cells.push_back( {20301922,3143,79,3,2,1,-0.125,-2.48849 } ); +cells.push_back( {20401912,3124,79,4,1,1,-0.175,-2.53806 } ); +cells.push_back( {20401922,3144,79,4,2,1,-0.175,-2.48849 } ); +cells.push_back( {20501912,3125,79,5,1,1,-0.225,-2.53806 } ); +cells.push_back( {20501922,3145,79,5,2,1,-0.225,-2.48849 } ); +cells.push_back( {20601912,3126,79,6,1,1,-0.275,-2.53806 } ); +cells.push_back( {20601922,3146,79,6,2,1,-0.275,-2.48849 } ); +cells.push_back( {20701912,3127,79,7,1,1,-0.325,-2.53806 } ); +cells.push_back( {20701922,3147,79,7,2,1,-0.325,-2.48849 } ); +cells.push_back( {20801912,3128,79,8,1,1,-0.375,-2.53806 } ); +cells.push_back( {20801922,3148,79,8,2,1,-0.375,-2.48849 } ); +cells.push_back( {20901912,3129,79,9,1,1,-0.425,-2.53806 } ); +cells.push_back( {20901922,3149,79,9,2,1,-0.425,-2.48849 } ); +cells.push_back( {21001912,3130,79,10,1,1,-0.475,-2.53806 } ); +cells.push_back( {21001922,3150,79,10,2,1,-0.475,-2.48849 } ); +cells.push_back( {21101912,3131,79,11,1,1,-0.525,-2.53806 } ); +cells.push_back( {21101922,3151,79,11,2,1,-0.525,-2.48849 } ); +cells.push_back( {21201912,3132,79,12,1,1,-0.575,-2.53806 } ); +cells.push_back( {21201922,3152,79,12,2,1,-0.575,-2.48849 } ); +cells.push_back( {21301912,3133,79,13,1,1,-0.625,-2.53806 } ); +cells.push_back( {21301922,3153,79,13,2,1,-0.625,-2.48849 } ); +cells.push_back( {21401912,3134,79,14,1,1,-0.675,-2.53806 } ); +cells.push_back( {21401922,3154,79,14,2,1,-0.675,-2.48849 } ); +cells.push_back( {21501912,3135,79,15,1,1,-0.725,-2.53806 } ); +cells.push_back( {21501922,3155,79,15,2,1,-0.725,-2.48849 } ); +cells.push_back( {21601912,3136,79,16,1,1,-0.775,-2.53806 } ); +cells.push_back( {21601922,3156,79,16,2,1,-0.775,-2.48849 } ); +cells.push_back( {21701912,3137,79,17,1,1,-0.825,-2.53806 } ); +cells.push_back( {21701922,3157,79,17,2,1,-0.825,-2.48849 } ); +cells.push_back( {21801912,3138,79,18,1,1,-0.875,-2.53806 } ); +cells.push_back( {21801922,3158,79,18,2,1,-0.875,-2.48849 } ); +cells.push_back( {21901912,3139,79,19,1,1,-0.925,-2.53806 } ); +cells.push_back( {21901922,3159,79,19,2,1,-0.925,-2.48849 } ); +cells.push_back( {22001912,3140,79,20,1,1,-0.967,-2.53806 } ); +cells.push_back( {22001922,3160,79,20,2,1,-0.967,-2.48849 } ); +cells.push_back( {20102011,3161,80,1,1,2,-0.02675,-2.43334 } ); +cells.push_back( {20102021,3181,80,1,2,2,-0.02675,-2.38377 } ); +cells.push_back( {20202011,3162,80,2,1,2,-0.075,-2.43334 } ); +cells.push_back( {20202021,3182,80,2,2,2,-0.075,-2.38377 } ); +cells.push_back( {20302011,3163,80,3,1,2,-0.125,-2.43334 } ); +cells.push_back( {20302021,3183,80,3,2,2,-0.125,-2.38377 } ); +cells.push_back( {20402011,3164,80,4,1,2,-0.175,-2.43334 } ); +cells.push_back( {20402021,3184,80,4,2,2,-0.175,-2.38377 } ); +cells.push_back( {20502011,3165,80,5,1,2,-0.225,-2.43334 } ); +cells.push_back( {20502021,3185,80,5,2,2,-0.225,-2.38377 } ); +cells.push_back( {20602011,3166,80,6,1,2,-0.275,-2.43334 } ); +cells.push_back( {20602021,3186,80,6,2,2,-0.275,-2.38377 } ); +cells.push_back( {20702011,3167,80,7,1,2,-0.325,-2.43334 } ); +cells.push_back( {20702021,3187,80,7,2,2,-0.325,-2.38377 } ); +cells.push_back( {20802011,3168,80,8,1,2,-0.375,-2.43334 } ); +cells.push_back( {20802021,3188,80,8,2,2,-0.375,-2.38377 } ); +cells.push_back( {20902011,3169,80,9,1,2,-0.425,-2.43334 } ); +cells.push_back( {20902021,3189,80,9,2,2,-0.425,-2.38377 } ); +cells.push_back( {21002011,3170,80,10,1,2,-0.475,-2.43334 } ); +cells.push_back( {21002021,3190,80,10,2,2,-0.475,-2.38377 } ); +cells.push_back( {21102011,3171,80,11,1,2,-0.525,-2.43334 } ); +cells.push_back( {21102021,3191,80,11,2,2,-0.525,-2.38377 } ); +cells.push_back( {21202011,3172,80,12,1,2,-0.575,-2.43334 } ); +cells.push_back( {21202021,3192,80,12,2,2,-0.575,-2.38377 } ); +cells.push_back( {21302011,3173,80,13,1,2,-0.625,-2.43334 } ); +cells.push_back( {21302021,3193,80,13,2,2,-0.625,-2.38377 } ); +cells.push_back( {21402011,3174,80,14,1,2,-0.675,-2.43334 } ); +cells.push_back( {21402021,3194,80,14,2,2,-0.675,-2.38377 } ); +cells.push_back( {21502011,3175,80,15,1,2,-0.725,-2.43334 } ); +cells.push_back( {21502021,3195,80,15,2,2,-0.725,-2.38377 } ); +cells.push_back( {21602011,3176,80,16,1,2,-0.775,-2.43334 } ); +cells.push_back( {21602021,3196,80,16,2,2,-0.775,-2.38377 } ); +cells.push_back( {21702011,3177,80,17,1,2,-0.825,-2.43334 } ); +cells.push_back( {21702021,3197,80,17,2,2,-0.825,-2.38377 } ); +cells.push_back( {21802011,3178,80,18,1,2,-0.875,-2.43334 } ); +cells.push_back( {21802021,3198,80,18,2,2,-0.875,-2.38377 } ); +cells.push_back( {21902011,3179,80,19,1,2,-0.925,-2.43334 } ); +cells.push_back( {21902021,3199,80,19,2,2,-0.925,-2.38377 } ); +cells.push_back( {22002011,3180,80,20,1,2,-0.967,-2.43334 } ); +cells.push_back( {22002021,3200,80,20,2,2,-0.967,-2.38377 } ); +cells.push_back( {20102012,3161,80,1,1,1,-0.02675,-2.43334 } ); +cells.push_back( {20102022,3181,80,1,2,1,-0.02675,-2.38377 } ); +cells.push_back( {20202012,3162,80,2,1,1,-0.075,-2.43334 } ); +cells.push_back( {20202022,3182,80,2,2,1,-0.075,-2.38377 } ); +cells.push_back( {20302012,3163,80,3,1,1,-0.125,-2.43334 } ); +cells.push_back( {20302022,3183,80,3,2,1,-0.125,-2.38377 } ); +cells.push_back( {20402012,3164,80,4,1,1,-0.175,-2.43334 } ); +cells.push_back( {20402022,3184,80,4,2,1,-0.175,-2.38377 } ); +cells.push_back( {20502012,3165,80,5,1,1,-0.225,-2.43334 } ); +cells.push_back( {20502022,3185,80,5,2,1,-0.225,-2.38377 } ); +cells.push_back( {20602012,3166,80,6,1,1,-0.275,-2.43334 } ); +cells.push_back( {20602022,3186,80,6,2,1,-0.275,-2.38377 } ); +cells.push_back( {20702012,3167,80,7,1,1,-0.325,-2.43334 } ); +cells.push_back( {20702022,3187,80,7,2,1,-0.325,-2.38377 } ); +cells.push_back( {20802012,3168,80,8,1,1,-0.375,-2.43334 } ); +cells.push_back( {20802022,3188,80,8,2,1,-0.375,-2.38377 } ); +cells.push_back( {20902012,3169,80,9,1,1,-0.425,-2.43334 } ); +cells.push_back( {20902022,3189,80,9,2,1,-0.425,-2.38377 } ); +cells.push_back( {21002012,3170,80,10,1,1,-0.475,-2.43334 } ); +cells.push_back( {21002022,3190,80,10,2,1,-0.475,-2.38377 } ); +cells.push_back( {21102012,3171,80,11,1,1,-0.525,-2.43334 } ); +cells.push_back( {21102022,3191,80,11,2,1,-0.525,-2.38377 } ); +cells.push_back( {21202012,3172,80,12,1,1,-0.575,-2.43334 } ); +cells.push_back( {21202022,3192,80,12,2,1,-0.575,-2.38377 } ); +cells.push_back( {21302012,3173,80,13,1,1,-0.625,-2.43334 } ); +cells.push_back( {21302022,3193,80,13,2,1,-0.625,-2.38377 } ); +cells.push_back( {21402012,3174,80,14,1,1,-0.675,-2.43334 } ); +cells.push_back( {21402022,3194,80,14,2,1,-0.675,-2.38377 } ); +cells.push_back( {21502012,3175,80,15,1,1,-0.725,-2.43334 } ); +cells.push_back( {21502022,3195,80,15,2,1,-0.725,-2.38377 } ); +cells.push_back( {21602012,3176,80,16,1,1,-0.775,-2.43334 } ); +cells.push_back( {21602022,3196,80,16,2,1,-0.775,-2.38377 } ); +cells.push_back( {21702012,3177,80,17,1,1,-0.825,-2.43334 } ); +cells.push_back( {21702022,3197,80,17,2,1,-0.825,-2.38377 } ); +cells.push_back( {21802012,3178,80,18,1,1,-0.875,-2.43334 } ); +cells.push_back( {21802022,3198,80,18,2,1,-0.875,-2.38377 } ); +cells.push_back( {21902012,3179,80,19,1,1,-0.925,-2.43334 } ); +cells.push_back( {21902022,3199,80,19,2,1,-0.925,-2.38377 } ); +cells.push_back( {22002012,3180,80,20,1,1,-0.967,-2.43334 } ); +cells.push_back( {22002022,3200,80,20,2,1,-0.967,-2.38377 } ); +cells.push_back( {20102111,3201,81,1,1,2,-0.02675,-2.32862 } ); +cells.push_back( {20102121,3221,81,1,2,2,-0.02675,-2.27905 } ); +cells.push_back( {20202111,3202,81,2,1,2,-0.075,-2.32862 } ); +cells.push_back( {20202121,3222,81,2,2,2,-0.075,-2.27905 } ); +cells.push_back( {20302111,3203,81,3,1,2,-0.125,-2.32862 } ); +cells.push_back( {20302121,3223,81,3,2,2,-0.125,-2.27905 } ); +cells.push_back( {20402111,3204,81,4,1,2,-0.175,-2.32862 } ); +cells.push_back( {20402121,3224,81,4,2,2,-0.175,-2.27905 } ); +cells.push_back( {20502111,3205,81,5,1,2,-0.225,-2.32862 } ); +cells.push_back( {20502121,3225,81,5,2,2,-0.225,-2.27905 } ); +cells.push_back( {20602111,3206,81,6,1,2,-0.275,-2.32862 } ); +cells.push_back( {20602121,3226,81,6,2,2,-0.275,-2.27905 } ); +cells.push_back( {20702111,3207,81,7,1,2,-0.325,-2.32862 } ); +cells.push_back( {20702121,3227,81,7,2,2,-0.325,-2.27905 } ); +cells.push_back( {20802111,3208,81,8,1,2,-0.375,-2.32862 } ); +cells.push_back( {20802121,3228,81,8,2,2,-0.375,-2.27905 } ); +cells.push_back( {20902111,3209,81,9,1,2,-0.425,-2.32862 } ); +cells.push_back( {20902121,3229,81,9,2,2,-0.425,-2.27905 } ); +cells.push_back( {21002111,3210,81,10,1,2,-0.475,-2.32862 } ); +cells.push_back( {21002121,3230,81,10,2,2,-0.475,-2.27905 } ); +cells.push_back( {21102111,3211,81,11,1,2,-0.525,-2.32862 } ); +cells.push_back( {21102121,3231,81,11,2,2,-0.525,-2.27905 } ); +cells.push_back( {21202111,3212,81,12,1,2,-0.575,-2.32862 } ); +cells.push_back( {21202121,3232,81,12,2,2,-0.575,-2.27905 } ); +cells.push_back( {21302111,3213,81,13,1,2,-0.625,-2.32862 } ); +cells.push_back( {21302121,3233,81,13,2,2,-0.625,-2.27905 } ); +cells.push_back( {21402111,3214,81,14,1,2,-0.675,-2.32862 } ); +cells.push_back( {21402121,3234,81,14,2,2,-0.675,-2.27905 } ); +cells.push_back( {21502111,3215,81,15,1,2,-0.725,-2.32862 } ); +cells.push_back( {21502121,3235,81,15,2,2,-0.725,-2.27905 } ); +cells.push_back( {21602111,3216,81,16,1,2,-0.775,-2.32862 } ); +cells.push_back( {21602121,3236,81,16,2,2,-0.775,-2.27905 } ); +cells.push_back( {21702111,3217,81,17,1,2,-0.825,-2.32862 } ); +cells.push_back( {21702121,3237,81,17,2,2,-0.825,-2.27905 } ); +cells.push_back( {21802111,3218,81,18,1,2,-0.875,-2.32862 } ); +cells.push_back( {21802121,3238,81,18,2,2,-0.875,-2.27905 } ); +cells.push_back( {21902111,3219,81,19,1,2,-0.925,-2.32862 } ); +cells.push_back( {21902121,3239,81,19,2,2,-0.925,-2.27905 } ); +cells.push_back( {22002111,3220,81,20,1,2,-0.967,-2.32862 } ); +cells.push_back( {22002121,3240,81,20,2,2,-0.967,-2.27905 } ); +cells.push_back( {20102112,3201,81,1,1,1,-0.02675,-2.32862 } ); +cells.push_back( {20102122,3221,81,1,2,1,-0.02675,-2.27905 } ); +cells.push_back( {20202112,3202,81,2,1,1,-0.075,-2.32862 } ); +cells.push_back( {20202122,3222,81,2,2,1,-0.075,-2.27905 } ); +cells.push_back( {20302112,3203,81,3,1,1,-0.125,-2.32862 } ); +cells.push_back( {20302122,3223,81,3,2,1,-0.125,-2.27905 } ); +cells.push_back( {20402112,3204,81,4,1,1,-0.175,-2.32862 } ); +cells.push_back( {20402122,3224,81,4,2,1,-0.175,-2.27905 } ); +cells.push_back( {20502112,3205,81,5,1,1,-0.225,-2.32862 } ); +cells.push_back( {20502122,3225,81,5,2,1,-0.225,-2.27905 } ); +cells.push_back( {20602112,3206,81,6,1,1,-0.275,-2.32862 } ); +cells.push_back( {20602122,3226,81,6,2,1,-0.275,-2.27905 } ); +cells.push_back( {20702112,3207,81,7,1,1,-0.325,-2.32862 } ); +cells.push_back( {20702122,3227,81,7,2,1,-0.325,-2.27905 } ); +cells.push_back( {20802112,3208,81,8,1,1,-0.375,-2.32862 } ); +cells.push_back( {20802122,3228,81,8,2,1,-0.375,-2.27905 } ); +cells.push_back( {20902112,3209,81,9,1,1,-0.425,-2.32862 } ); +cells.push_back( {20902122,3229,81,9,2,1,-0.425,-2.27905 } ); +cells.push_back( {21002112,3210,81,10,1,1,-0.475,-2.32862 } ); +cells.push_back( {21002122,3230,81,10,2,1,-0.475,-2.27905 } ); +cells.push_back( {21102112,3211,81,11,1,1,-0.525,-2.32862 } ); +cells.push_back( {21102122,3231,81,11,2,1,-0.525,-2.27905 } ); +cells.push_back( {21202112,3212,81,12,1,1,-0.575,-2.32862 } ); +cells.push_back( {21202122,3232,81,12,2,1,-0.575,-2.27905 } ); +cells.push_back( {21302112,3213,81,13,1,1,-0.625,-2.32862 } ); +cells.push_back( {21302122,3233,81,13,2,1,-0.625,-2.27905 } ); +cells.push_back( {21402112,3214,81,14,1,1,-0.675,-2.32862 } ); +cells.push_back( {21402122,3234,81,14,2,1,-0.675,-2.27905 } ); +cells.push_back( {21502112,3215,81,15,1,1,-0.725,-2.32862 } ); +cells.push_back( {21502122,3235,81,15,2,1,-0.725,-2.27905 } ); +cells.push_back( {21602112,3216,81,16,1,1,-0.775,-2.32862 } ); +cells.push_back( {21602122,3236,81,16,2,1,-0.775,-2.27905 } ); +cells.push_back( {21702112,3217,81,17,1,1,-0.825,-2.32862 } ); +cells.push_back( {21702122,3237,81,17,2,1,-0.825,-2.27905 } ); +cells.push_back( {21802112,3218,81,18,1,1,-0.875,-2.32862 } ); +cells.push_back( {21802122,3238,81,18,2,1,-0.875,-2.27905 } ); +cells.push_back( {21902112,3219,81,19,1,1,-0.925,-2.32862 } ); +cells.push_back( {21902122,3239,81,19,2,1,-0.925,-2.27905 } ); +cells.push_back( {22002112,3220,81,20,1,1,-0.967,-2.32862 } ); +cells.push_back( {22002122,3240,81,20,2,1,-0.967,-2.27905 } ); +cells.push_back( {20102211,3241,82,1,1,2,-0.02675,-2.2239 } ); +cells.push_back( {20102221,3261,82,1,2,2,-0.02675,-2.17433 } ); +cells.push_back( {20202211,3242,82,2,1,2,-0.075,-2.2239 } ); +cells.push_back( {20202221,3262,82,2,2,2,-0.075,-2.17433 } ); +cells.push_back( {20302211,3243,82,3,1,2,-0.125,-2.2239 } ); +cells.push_back( {20302221,3263,82,3,2,2,-0.125,-2.17433 } ); +cells.push_back( {20402211,3244,82,4,1,2,-0.175,-2.2239 } ); +cells.push_back( {20402221,3264,82,4,2,2,-0.175,-2.17433 } ); +cells.push_back( {20502211,3245,82,5,1,2,-0.225,-2.2239 } ); +cells.push_back( {20502221,3265,82,5,2,2,-0.225,-2.17433 } ); +cells.push_back( {20602211,3246,82,6,1,2,-0.275,-2.2239 } ); +cells.push_back( {20602221,3266,82,6,2,2,-0.275,-2.17433 } ); +cells.push_back( {20702211,3247,82,7,1,2,-0.325,-2.2239 } ); +cells.push_back( {20702221,3267,82,7,2,2,-0.325,-2.17433 } ); +cells.push_back( {20802211,3248,82,8,1,2,-0.375,-2.2239 } ); +cells.push_back( {20802221,3268,82,8,2,2,-0.375,-2.17433 } ); +cells.push_back( {20902211,3249,82,9,1,2,-0.425,-2.2239 } ); +cells.push_back( {20902221,3269,82,9,2,2,-0.425,-2.17433 } ); +cells.push_back( {21002211,3250,82,10,1,2,-0.475,-2.2239 } ); +cells.push_back( {21002221,3270,82,10,2,2,-0.475,-2.17433 } ); +cells.push_back( {21102211,3251,82,11,1,2,-0.525,-2.2239 } ); +cells.push_back( {21102221,3271,82,11,2,2,-0.525,-2.17433 } ); +cells.push_back( {21202211,3252,82,12,1,2,-0.575,-2.2239 } ); +cells.push_back( {21202221,3272,82,12,2,2,-0.575,-2.17433 } ); +cells.push_back( {21302211,3253,82,13,1,2,-0.625,-2.2239 } ); +cells.push_back( {21302221,3273,82,13,2,2,-0.625,-2.17433 } ); +cells.push_back( {21402211,3254,82,14,1,2,-0.675,-2.2239 } ); +cells.push_back( {21402221,3274,82,14,2,2,-0.675,-2.17433 } ); +cells.push_back( {21502211,3255,82,15,1,2,-0.725,-2.2239 } ); +cells.push_back( {21502221,3275,82,15,2,2,-0.725,-2.17433 } ); +cells.push_back( {21602211,3256,82,16,1,2,-0.775,-2.2239 } ); +cells.push_back( {21602221,3276,82,16,2,2,-0.775,-2.17433 } ); +cells.push_back( {21702211,3257,82,17,1,2,-0.825,-2.2239 } ); +cells.push_back( {21702221,3277,82,17,2,2,-0.825,-2.17433 } ); +cells.push_back( {21802211,3258,82,18,1,2,-0.875,-2.2239 } ); +cells.push_back( {21802221,3278,82,18,2,2,-0.875,-2.17433 } ); +cells.push_back( {21902211,3259,82,19,1,2,-0.925,-2.2239 } ); +cells.push_back( {21902221,3279,82,19,2,2,-0.925,-2.17433 } ); +cells.push_back( {22002211,3260,82,20,1,2,-0.967,-2.2239 } ); +cells.push_back( {22002221,3280,82,20,2,2,-0.967,-2.17433 } ); +cells.push_back( {20102212,3241,82,1,1,1,-0.02675,-2.2239 } ); +cells.push_back( {20102222,3261,82,1,2,1,-0.02675,-2.17433 } ); +cells.push_back( {20202212,3242,82,2,1,1,-0.075,-2.2239 } ); +cells.push_back( {20202222,3262,82,2,2,1,-0.075,-2.17433 } ); +cells.push_back( {20302212,3243,82,3,1,1,-0.125,-2.2239 } ); +cells.push_back( {20302222,3263,82,3,2,1,-0.125,-2.17433 } ); +cells.push_back( {20402212,3244,82,4,1,1,-0.175,-2.2239 } ); +cells.push_back( {20402222,3264,82,4,2,1,-0.175,-2.17433 } ); +cells.push_back( {20502212,3245,82,5,1,1,-0.225,-2.2239 } ); +cells.push_back( {20502222,3265,82,5,2,1,-0.225,-2.17433 } ); +cells.push_back( {20602212,3246,82,6,1,1,-0.275,-2.2239 } ); +cells.push_back( {20602222,3266,82,6,2,1,-0.275,-2.17433 } ); +cells.push_back( {20702212,3247,82,7,1,1,-0.325,-2.2239 } ); +cells.push_back( {20702222,3267,82,7,2,1,-0.325,-2.17433 } ); +cells.push_back( {20802212,3248,82,8,1,1,-0.375,-2.2239 } ); +cells.push_back( {20802222,3268,82,8,2,1,-0.375,-2.17433 } ); +cells.push_back( {20902212,3249,82,9,1,1,-0.425,-2.2239 } ); +cells.push_back( {20902222,3269,82,9,2,1,-0.425,-2.17433 } ); +cells.push_back( {21002212,3250,82,10,1,1,-0.475,-2.2239 } ); +cells.push_back( {21002222,3270,82,10,2,1,-0.475,-2.17433 } ); +cells.push_back( {21102212,3251,82,11,1,1,-0.525,-2.2239 } ); +cells.push_back( {21102222,3271,82,11,2,1,-0.525,-2.17433 } ); +cells.push_back( {21202212,3252,82,12,1,1,-0.575,-2.2239 } ); +cells.push_back( {21202222,3272,82,12,2,1,-0.575,-2.17433 } ); +cells.push_back( {21302212,3253,82,13,1,1,-0.625,-2.2239 } ); +cells.push_back( {21302222,3273,82,13,2,1,-0.625,-2.17433 } ); +cells.push_back( {21402212,3254,82,14,1,1,-0.675,-2.2239 } ); +cells.push_back( {21402222,3274,82,14,2,1,-0.675,-2.17433 } ); +cells.push_back( {21502212,3255,82,15,1,1,-0.725,-2.2239 } ); +cells.push_back( {21502222,3275,82,15,2,1,-0.725,-2.17433 } ); +cells.push_back( {21602212,3256,82,16,1,1,-0.775,-2.2239 } ); +cells.push_back( {21602222,3276,82,16,2,1,-0.775,-2.17433 } ); +cells.push_back( {21702212,3257,82,17,1,1,-0.825,-2.2239 } ); +cells.push_back( {21702222,3277,82,17,2,1,-0.825,-2.17433 } ); +cells.push_back( {21802212,3258,82,18,1,1,-0.875,-2.2239 } ); +cells.push_back( {21802222,3278,82,18,2,1,-0.875,-2.17433 } ); +cells.push_back( {21902212,3259,82,19,1,1,-0.925,-2.2239 } ); +cells.push_back( {21902222,3279,82,19,2,1,-0.925,-2.17433 } ); +cells.push_back( {22002212,3260,82,20,1,1,-0.967,-2.2239 } ); +cells.push_back( {22002222,3280,82,20,2,1,-0.967,-2.17433 } ); +cells.push_back( {20102311,3281,83,1,1,2,-0.02675,-2.11918 } ); +cells.push_back( {20102321,3301,83,1,2,2,-0.02675,-2.06961 } ); +cells.push_back( {20202311,3282,83,2,1,2,-0.075,-2.11918 } ); +cells.push_back( {20202321,3302,83,2,2,2,-0.075,-2.06961 } ); +cells.push_back( {20302311,3283,83,3,1,2,-0.125,-2.11918 } ); +cells.push_back( {20302321,3303,83,3,2,2,-0.125,-2.06961 } ); +cells.push_back( {20402311,3284,83,4,1,2,-0.175,-2.11918 } ); +cells.push_back( {20402321,3304,83,4,2,2,-0.175,-2.06961 } ); +cells.push_back( {20502311,3285,83,5,1,2,-0.225,-2.11918 } ); +cells.push_back( {20502321,3305,83,5,2,2,-0.225,-2.06961 } ); +cells.push_back( {20602311,3286,83,6,1,2,-0.275,-2.11918 } ); +cells.push_back( {20602321,3306,83,6,2,2,-0.275,-2.06961 } ); +cells.push_back( {20702311,3287,83,7,1,2,-0.325,-2.11918 } ); +cells.push_back( {20702321,3307,83,7,2,2,-0.325,-2.06961 } ); +cells.push_back( {20802311,3288,83,8,1,2,-0.375,-2.11918 } ); +cells.push_back( {20802321,3308,83,8,2,2,-0.375,-2.06961 } ); +cells.push_back( {20902311,3289,83,9,1,2,-0.425,-2.11918 } ); +cells.push_back( {20902321,3309,83,9,2,2,-0.425,-2.06961 } ); +cells.push_back( {21002311,3290,83,10,1,2,-0.475,-2.11918 } ); +cells.push_back( {21002321,3310,83,10,2,2,-0.475,-2.06961 } ); +cells.push_back( {21102311,3291,83,11,1,2,-0.525,-2.11918 } ); +cells.push_back( {21102321,3311,83,11,2,2,-0.525,-2.06961 } ); +cells.push_back( {21202311,3292,83,12,1,2,-0.575,-2.11918 } ); +cells.push_back( {21202321,3312,83,12,2,2,-0.575,-2.06961 } ); +cells.push_back( {21302311,3293,83,13,1,2,-0.625,-2.11918 } ); +cells.push_back( {21302321,3313,83,13,2,2,-0.625,-2.06961 } ); +cells.push_back( {21402311,3294,83,14,1,2,-0.675,-2.11918 } ); +cells.push_back( {21402321,3314,83,14,2,2,-0.675,-2.06961 } ); +cells.push_back( {21502311,3295,83,15,1,2,-0.725,-2.11918 } ); +cells.push_back( {21502321,3315,83,15,2,2,-0.725,-2.06961 } ); +cells.push_back( {21602311,3296,83,16,1,2,-0.775,-2.11918 } ); +cells.push_back( {21602321,3316,83,16,2,2,-0.775,-2.06961 } ); +cells.push_back( {21702311,3297,83,17,1,2,-0.825,-2.11918 } ); +cells.push_back( {21702321,3317,83,17,2,2,-0.825,-2.06961 } ); +cells.push_back( {21802311,3298,83,18,1,2,-0.875,-2.11918 } ); +cells.push_back( {21802321,3318,83,18,2,2,-0.875,-2.06961 } ); +cells.push_back( {21902311,3299,83,19,1,2,-0.925,-2.11918 } ); +cells.push_back( {21902321,3319,83,19,2,2,-0.925,-2.06961 } ); +cells.push_back( {22002311,3300,83,20,1,2,-0.967,-2.11918 } ); +cells.push_back( {22002321,3320,83,20,2,2,-0.967,-2.06961 } ); +cells.push_back( {20102312,3281,83,1,1,1,-0.02675,-2.11918 } ); +cells.push_back( {20102322,3301,83,1,2,1,-0.02675,-2.06961 } ); +cells.push_back( {20202312,3282,83,2,1,1,-0.075,-2.11918 } ); +cells.push_back( {20202322,3302,83,2,2,1,-0.075,-2.06961 } ); +cells.push_back( {20302312,3283,83,3,1,1,-0.125,-2.11918 } ); +cells.push_back( {20302322,3303,83,3,2,1,-0.125,-2.06961 } ); +cells.push_back( {20402312,3284,83,4,1,1,-0.175,-2.11918 } ); +cells.push_back( {20402322,3304,83,4,2,1,-0.175,-2.06961 } ); +cells.push_back( {20502312,3285,83,5,1,1,-0.225,-2.11918 } ); +cells.push_back( {20502322,3305,83,5,2,1,-0.225,-2.06961 } ); +cells.push_back( {20602312,3286,83,6,1,1,-0.275,-2.11918 } ); +cells.push_back( {20602322,3306,83,6,2,1,-0.275,-2.06961 } ); +cells.push_back( {20702312,3287,83,7,1,1,-0.325,-2.11918 } ); +cells.push_back( {20702322,3307,83,7,2,1,-0.325,-2.06961 } ); +cells.push_back( {20802312,3288,83,8,1,1,-0.375,-2.11918 } ); +cells.push_back( {20802322,3308,83,8,2,1,-0.375,-2.06961 } ); +cells.push_back( {20902312,3289,83,9,1,1,-0.425,-2.11918 } ); +cells.push_back( {20902322,3309,83,9,2,1,-0.425,-2.06961 } ); +cells.push_back( {21002312,3290,83,10,1,1,-0.475,-2.11918 } ); +cells.push_back( {21002322,3310,83,10,2,1,-0.475,-2.06961 } ); +cells.push_back( {21102312,3291,83,11,1,1,-0.525,-2.11918 } ); +cells.push_back( {21102322,3311,83,11,2,1,-0.525,-2.06961 } ); +cells.push_back( {21202312,3292,83,12,1,1,-0.575,-2.11918 } ); +cells.push_back( {21202322,3312,83,12,2,1,-0.575,-2.06961 } ); +cells.push_back( {21302312,3293,83,13,1,1,-0.625,-2.11918 } ); +cells.push_back( {21302322,3313,83,13,2,1,-0.625,-2.06961 } ); +cells.push_back( {21402312,3294,83,14,1,1,-0.675,-2.11918 } ); +cells.push_back( {21402322,3314,83,14,2,1,-0.675,-2.06961 } ); +cells.push_back( {21502312,3295,83,15,1,1,-0.725,-2.11918 } ); +cells.push_back( {21502322,3315,83,15,2,1,-0.725,-2.06961 } ); +cells.push_back( {21602312,3296,83,16,1,1,-0.775,-2.11918 } ); +cells.push_back( {21602322,3316,83,16,2,1,-0.775,-2.06961 } ); +cells.push_back( {21702312,3297,83,17,1,1,-0.825,-2.11918 } ); +cells.push_back( {21702322,3317,83,17,2,1,-0.825,-2.06961 } ); +cells.push_back( {21802312,3298,83,18,1,1,-0.875,-2.11918 } ); +cells.push_back( {21802322,3318,83,18,2,1,-0.875,-2.06961 } ); +cells.push_back( {21902312,3299,83,19,1,1,-0.925,-2.11918 } ); +cells.push_back( {21902322,3319,83,19,2,1,-0.925,-2.06961 } ); +cells.push_back( {22002312,3300,83,20,1,1,-0.967,-2.11918 } ); +cells.push_back( {22002322,3320,83,20,2,1,-0.967,-2.06961 } ); +cells.push_back( {20102411,3321,84,1,1,2,-0.02675,-2.01446 } ); +cells.push_back( {20102421,3341,84,1,2,2,-0.02675,-1.96489 } ); +cells.push_back( {20202411,3322,84,2,1,2,-0.075,-2.01446 } ); +cells.push_back( {20202421,3342,84,2,2,2,-0.075,-1.96489 } ); +cells.push_back( {20302411,3323,84,3,1,2,-0.125,-2.01446 } ); +cells.push_back( {20302421,3343,84,3,2,2,-0.125,-1.96489 } ); +cells.push_back( {20402411,3324,84,4,1,2,-0.175,-2.01446 } ); +cells.push_back( {20402421,3344,84,4,2,2,-0.175,-1.96489 } ); +cells.push_back( {20502411,3325,84,5,1,2,-0.225,-2.01446 } ); +cells.push_back( {20502421,3345,84,5,2,2,-0.225,-1.96489 } ); +cells.push_back( {20602411,3326,84,6,1,2,-0.275,-2.01446 } ); +cells.push_back( {20602421,3346,84,6,2,2,-0.275,-1.96489 } ); +cells.push_back( {20702411,3327,84,7,1,2,-0.325,-2.01446 } ); +cells.push_back( {20702421,3347,84,7,2,2,-0.325,-1.96489 } ); +cells.push_back( {20802411,3328,84,8,1,2,-0.375,-2.01446 } ); +cells.push_back( {20802421,3348,84,8,2,2,-0.375,-1.96489 } ); +cells.push_back( {20902411,3329,84,9,1,2,-0.425,-2.01446 } ); +cells.push_back( {20902421,3349,84,9,2,2,-0.425,-1.96489 } ); +cells.push_back( {21002411,3330,84,10,1,2,-0.475,-2.01446 } ); +cells.push_back( {21002421,3350,84,10,2,2,-0.475,-1.96489 } ); +cells.push_back( {21102411,3331,84,11,1,2,-0.525,-2.01446 } ); +cells.push_back( {21102421,3351,84,11,2,2,-0.525,-1.96489 } ); +cells.push_back( {21202411,3332,84,12,1,2,-0.575,-2.01446 } ); +cells.push_back( {21202421,3352,84,12,2,2,-0.575,-1.96489 } ); +cells.push_back( {21302411,3333,84,13,1,2,-0.625,-2.01446 } ); +cells.push_back( {21302421,3353,84,13,2,2,-0.625,-1.96489 } ); +cells.push_back( {21402411,3334,84,14,1,2,-0.675,-2.01446 } ); +cells.push_back( {21402421,3354,84,14,2,2,-0.675,-1.96489 } ); +cells.push_back( {21502411,3335,84,15,1,2,-0.725,-2.01446 } ); +cells.push_back( {21502421,3355,84,15,2,2,-0.725,-1.96489 } ); +cells.push_back( {21602411,3336,84,16,1,2,-0.775,-2.01446 } ); +cells.push_back( {21602421,3356,84,16,2,2,-0.775,-1.96489 } ); +cells.push_back( {21702411,3337,84,17,1,2,-0.825,-2.01446 } ); +cells.push_back( {21702421,3357,84,17,2,2,-0.825,-1.96489 } ); +cells.push_back( {21802411,3338,84,18,1,2,-0.875,-2.01446 } ); +cells.push_back( {21802421,3358,84,18,2,2,-0.875,-1.96489 } ); +cells.push_back( {21902411,3339,84,19,1,2,-0.925,-2.01446 } ); +cells.push_back( {21902421,3359,84,19,2,2,-0.925,-1.96489 } ); +cells.push_back( {22002411,3340,84,20,1,2,-0.967,-2.01446 } ); +cells.push_back( {22002421,3360,84,20,2,2,-0.967,-1.96489 } ); +cells.push_back( {20102412,3321,84,1,1,1,-0.02675,-2.01446 } ); +cells.push_back( {20102422,3341,84,1,2,1,-0.02675,-1.96489 } ); +cells.push_back( {20202412,3322,84,2,1,1,-0.075,-2.01446 } ); +cells.push_back( {20202422,3342,84,2,2,1,-0.075,-1.96489 } ); +cells.push_back( {20302412,3323,84,3,1,1,-0.125,-2.01446 } ); +cells.push_back( {20302422,3343,84,3,2,1,-0.125,-1.96489 } ); +cells.push_back( {20402412,3324,84,4,1,1,-0.175,-2.01446 } ); +cells.push_back( {20402422,3344,84,4,2,1,-0.175,-1.96489 } ); +cells.push_back( {20502412,3325,84,5,1,1,-0.225,-2.01446 } ); +cells.push_back( {20502422,3345,84,5,2,1,-0.225,-1.96489 } ); +cells.push_back( {20602412,3326,84,6,1,1,-0.275,-2.01446 } ); +cells.push_back( {20602422,3346,84,6,2,1,-0.275,-1.96489 } ); +cells.push_back( {20702412,3327,84,7,1,1,-0.325,-2.01446 } ); +cells.push_back( {20702422,3347,84,7,2,1,-0.325,-1.96489 } ); +cells.push_back( {20802412,3328,84,8,1,1,-0.375,-2.01446 } ); +cells.push_back( {20802422,3348,84,8,2,1,-0.375,-1.96489 } ); +cells.push_back( {20902412,3329,84,9,1,1,-0.425,-2.01446 } ); +cells.push_back( {20902422,3349,84,9,2,1,-0.425,-1.96489 } ); +cells.push_back( {21002412,3330,84,10,1,1,-0.475,-2.01446 } ); +cells.push_back( {21002422,3350,84,10,2,1,-0.475,-1.96489 } ); +cells.push_back( {21102412,3331,84,11,1,1,-0.525,-2.01446 } ); +cells.push_back( {21102422,3351,84,11,2,1,-0.525,-1.96489 } ); +cells.push_back( {21202412,3332,84,12,1,1,-0.575,-2.01446 } ); +cells.push_back( {21202422,3352,84,12,2,1,-0.575,-1.96489 } ); +cells.push_back( {21302412,3333,84,13,1,1,-0.625,-2.01446 } ); +cells.push_back( {21302422,3353,84,13,2,1,-0.625,-1.96489 } ); +cells.push_back( {21402412,3334,84,14,1,1,-0.675,-2.01446 } ); +cells.push_back( {21402422,3354,84,14,2,1,-0.675,-1.96489 } ); +cells.push_back( {21502412,3335,84,15,1,1,-0.725,-2.01446 } ); +cells.push_back( {21502422,3355,84,15,2,1,-0.725,-1.96489 } ); +cells.push_back( {21602412,3336,84,16,1,1,-0.775,-2.01446 } ); +cells.push_back( {21602422,3356,84,16,2,1,-0.775,-1.96489 } ); +cells.push_back( {21702412,3337,84,17,1,1,-0.825,-2.01446 } ); +cells.push_back( {21702422,3357,84,17,2,1,-0.825,-1.96489 } ); +cells.push_back( {21802412,3338,84,18,1,1,-0.875,-2.01446 } ); +cells.push_back( {21802422,3358,84,18,2,1,-0.875,-1.96489 } ); +cells.push_back( {21902412,3339,84,19,1,1,-0.925,-2.01446 } ); +cells.push_back( {21902422,3359,84,19,2,1,-0.925,-1.96489 } ); +cells.push_back( {22002412,3340,84,20,1,1,-0.967,-2.01446 } ); +cells.push_back( {22002422,3360,84,20,2,1,-0.967,-1.96489 } ); +cells.push_back( {20102511,3361,85,1,1,2,-0.02675,-1.90974 } ); +cells.push_back( {20102521,3381,85,1,2,2,-0.02675,-1.86017 } ); +cells.push_back( {20202511,3362,85,2,1,2,-0.075,-1.90974 } ); +cells.push_back( {20202521,3382,85,2,2,2,-0.075,-1.86017 } ); +cells.push_back( {20302511,3363,85,3,1,2,-0.125,-1.90974 } ); +cells.push_back( {20302521,3383,85,3,2,2,-0.125,-1.86017 } ); +cells.push_back( {20402511,3364,85,4,1,2,-0.175,-1.90974 } ); +cells.push_back( {20402521,3384,85,4,2,2,-0.175,-1.86017 } ); +cells.push_back( {20502511,3365,85,5,1,2,-0.225,-1.90974 } ); +cells.push_back( {20502521,3385,85,5,2,2,-0.225,-1.86017 } ); +cells.push_back( {20602511,3366,85,6,1,2,-0.275,-1.90974 } ); +cells.push_back( {20602521,3386,85,6,2,2,-0.275,-1.86017 } ); +cells.push_back( {20702511,3367,85,7,1,2,-0.325,-1.90974 } ); +cells.push_back( {20702521,3387,85,7,2,2,-0.325,-1.86017 } ); +cells.push_back( {20802511,3368,85,8,1,2,-0.375,-1.90974 } ); +cells.push_back( {20802521,3388,85,8,2,2,-0.375,-1.86017 } ); +cells.push_back( {20902511,3369,85,9,1,2,-0.425,-1.90974 } ); +cells.push_back( {20902521,3389,85,9,2,2,-0.425,-1.86017 } ); +cells.push_back( {21002511,3370,85,10,1,2,-0.475,-1.90974 } ); +cells.push_back( {21002521,3390,85,10,2,2,-0.475,-1.86017 } ); +cells.push_back( {21102511,3371,85,11,1,2,-0.525,-1.90974 } ); +cells.push_back( {21102521,3391,85,11,2,2,-0.525,-1.86017 } ); +cells.push_back( {21202511,3372,85,12,1,2,-0.575,-1.90974 } ); +cells.push_back( {21202521,3392,85,12,2,2,-0.575,-1.86017 } ); +cells.push_back( {21302511,3373,85,13,1,2,-0.625,-1.90974 } ); +cells.push_back( {21302521,3393,85,13,2,2,-0.625,-1.86017 } ); +cells.push_back( {21402511,3374,85,14,1,2,-0.675,-1.90974 } ); +cells.push_back( {21402521,3394,85,14,2,2,-0.675,-1.86017 } ); +cells.push_back( {21502511,3375,85,15,1,2,-0.725,-1.90974 } ); +cells.push_back( {21502521,3395,85,15,2,2,-0.725,-1.86017 } ); +cells.push_back( {21602511,3376,85,16,1,2,-0.775,-1.90974 } ); +cells.push_back( {21602521,3396,85,16,2,2,-0.775,-1.86017 } ); +cells.push_back( {21702511,3377,85,17,1,2,-0.825,-1.90974 } ); +cells.push_back( {21702521,3397,85,17,2,2,-0.825,-1.86017 } ); +cells.push_back( {21802511,3378,85,18,1,2,-0.875,-1.90974 } ); +cells.push_back( {21802521,3398,85,18,2,2,-0.875,-1.86017 } ); +cells.push_back( {21902511,3379,85,19,1,2,-0.925,-1.90974 } ); +cells.push_back( {21902521,3399,85,19,2,2,-0.925,-1.86017 } ); +cells.push_back( {22002511,3380,85,20,1,2,-0.967,-1.90974 } ); +cells.push_back( {22002521,3400,85,20,2,2,-0.967,-1.86017 } ); +cells.push_back( {20102512,3361,85,1,1,1,-0.02675,-1.90974 } ); +cells.push_back( {20102522,3381,85,1,2,1,-0.02675,-1.86017 } ); +cells.push_back( {20202512,3362,85,2,1,1,-0.075,-1.90974 } ); +cells.push_back( {20202522,3382,85,2,2,1,-0.075,-1.86017 } ); +cells.push_back( {20302512,3363,85,3,1,1,-0.125,-1.90974 } ); +cells.push_back( {20302522,3383,85,3,2,1,-0.125,-1.86017 } ); +cells.push_back( {20402512,3364,85,4,1,1,-0.175,-1.90974 } ); +cells.push_back( {20402522,3384,85,4,2,1,-0.175,-1.86017 } ); +cells.push_back( {20502512,3365,85,5,1,1,-0.225,-1.90974 } ); +cells.push_back( {20502522,3385,85,5,2,1,-0.225,-1.86017 } ); +cells.push_back( {20602512,3366,85,6,1,1,-0.275,-1.90974 } ); +cells.push_back( {20602522,3386,85,6,2,1,-0.275,-1.86017 } ); +cells.push_back( {20702512,3367,85,7,1,1,-0.325,-1.90974 } ); +cells.push_back( {20702522,3387,85,7,2,1,-0.325,-1.86017 } ); +cells.push_back( {20802512,3368,85,8,1,1,-0.375,-1.90974 } ); +cells.push_back( {20802522,3388,85,8,2,1,-0.375,-1.86017 } ); +cells.push_back( {20902512,3369,85,9,1,1,-0.425,-1.90974 } ); +cells.push_back( {20902522,3389,85,9,2,1,-0.425,-1.86017 } ); +cells.push_back( {21002512,3370,85,10,1,1,-0.475,-1.90974 } ); +cells.push_back( {21002522,3390,85,10,2,1,-0.475,-1.86017 } ); +cells.push_back( {21102512,3371,85,11,1,1,-0.525,-1.90974 } ); +cells.push_back( {21102522,3391,85,11,2,1,-0.525,-1.86017 } ); +cells.push_back( {21202512,3372,85,12,1,1,-0.575,-1.90974 } ); +cells.push_back( {21202522,3392,85,12,2,1,-0.575,-1.86017 } ); +cells.push_back( {21302512,3373,85,13,1,1,-0.625,-1.90974 } ); +cells.push_back( {21302522,3393,85,13,2,1,-0.625,-1.86017 } ); +cells.push_back( {21402512,3374,85,14,1,1,-0.675,-1.90974 } ); +cells.push_back( {21402522,3394,85,14,2,1,-0.675,-1.86017 } ); +cells.push_back( {21502512,3375,85,15,1,1,-0.725,-1.90974 } ); +cells.push_back( {21502522,3395,85,15,2,1,-0.725,-1.86017 } ); +cells.push_back( {21602512,3376,85,16,1,1,-0.775,-1.90974 } ); +cells.push_back( {21602522,3396,85,16,2,1,-0.775,-1.86017 } ); +cells.push_back( {21702512,3377,85,17,1,1,-0.825,-1.90974 } ); +cells.push_back( {21702522,3397,85,17,2,1,-0.825,-1.86017 } ); +cells.push_back( {21802512,3378,85,18,1,1,-0.875,-1.90974 } ); +cells.push_back( {21802522,3398,85,18,2,1,-0.875,-1.86017 } ); +cells.push_back( {21902512,3379,85,19,1,1,-0.925,-1.90974 } ); +cells.push_back( {21902522,3399,85,19,2,1,-0.925,-1.86017 } ); +cells.push_back( {22002512,3380,85,20,1,1,-0.967,-1.90974 } ); +cells.push_back( {22002522,3400,85,20,2,1,-0.967,-1.86017 } ); +cells.push_back( {20102611,3401,86,1,1,2,-0.02675,-1.80502 } ); +cells.push_back( {20102621,3421,86,1,2,2,-0.02675,-1.75545 } ); +cells.push_back( {20202611,3402,86,2,1,2,-0.075,-1.80502 } ); +cells.push_back( {20202621,3422,86,2,2,2,-0.075,-1.75545 } ); +cells.push_back( {20302611,3403,86,3,1,2,-0.125,-1.80502 } ); +cells.push_back( {20302621,3423,86,3,2,2,-0.125,-1.75545 } ); +cells.push_back( {20402611,3404,86,4,1,2,-0.175,-1.80502 } ); +cells.push_back( {20402621,3424,86,4,2,2,-0.175,-1.75545 } ); +cells.push_back( {20502611,3405,86,5,1,2,-0.225,-1.80502 } ); +cells.push_back( {20502621,3425,86,5,2,2,-0.225,-1.75545 } ); +cells.push_back( {20602611,3406,86,6,1,2,-0.275,-1.80502 } ); +cells.push_back( {20602621,3426,86,6,2,2,-0.275,-1.75545 } ); +cells.push_back( {20702611,3407,86,7,1,2,-0.325,-1.80502 } ); +cells.push_back( {20702621,3427,86,7,2,2,-0.325,-1.75545 } ); +cells.push_back( {20802611,3408,86,8,1,2,-0.375,-1.80502 } ); +cells.push_back( {20802621,3428,86,8,2,2,-0.375,-1.75545 } ); +cells.push_back( {20902611,3409,86,9,1,2,-0.425,-1.80502 } ); +cells.push_back( {20902621,3429,86,9,2,2,-0.425,-1.75545 } ); +cells.push_back( {21002611,3410,86,10,1,2,-0.475,-1.80502 } ); +cells.push_back( {21002621,3430,86,10,2,2,-0.475,-1.75545 } ); +cells.push_back( {21102611,3411,86,11,1,2,-0.525,-1.80502 } ); +cells.push_back( {21102621,3431,86,11,2,2,-0.525,-1.75545 } ); +cells.push_back( {21202611,3412,86,12,1,2,-0.575,-1.80502 } ); +cells.push_back( {21202621,3432,86,12,2,2,-0.575,-1.75545 } ); +cells.push_back( {21302611,3413,86,13,1,2,-0.625,-1.80502 } ); +cells.push_back( {21302621,3433,86,13,2,2,-0.625,-1.75545 } ); +cells.push_back( {21402611,3414,86,14,1,2,-0.675,-1.80502 } ); +cells.push_back( {21402621,3434,86,14,2,2,-0.675,-1.75545 } ); +cells.push_back( {21502611,3415,86,15,1,2,-0.725,-1.80502 } ); +cells.push_back( {21502621,3435,86,15,2,2,-0.725,-1.75545 } ); +cells.push_back( {21602611,3416,86,16,1,2,-0.775,-1.80502 } ); +cells.push_back( {21602621,3436,86,16,2,2,-0.775,-1.75545 } ); +cells.push_back( {21702611,3417,86,17,1,2,-0.825,-1.80502 } ); +cells.push_back( {21702621,3437,86,17,2,2,-0.825,-1.75545 } ); +cells.push_back( {21802611,3418,86,18,1,2,-0.875,-1.80502 } ); +cells.push_back( {21802621,3438,86,18,2,2,-0.875,-1.75545 } ); +cells.push_back( {21902611,3419,86,19,1,2,-0.925,-1.80502 } ); +cells.push_back( {21902621,3439,86,19,2,2,-0.925,-1.75545 } ); +cells.push_back( {22002611,3420,86,20,1,2,-0.967,-1.80502 } ); +cells.push_back( {22002621,3440,86,20,2,2,-0.967,-1.75545 } ); +cells.push_back( {20102612,3401,86,1,1,1,-0.02675,-1.80502 } ); +cells.push_back( {20102622,3421,86,1,2,1,-0.02675,-1.75545 } ); +cells.push_back( {20202612,3402,86,2,1,1,-0.075,-1.80502 } ); +cells.push_back( {20202622,3422,86,2,2,1,-0.075,-1.75545 } ); +cells.push_back( {20302612,3403,86,3,1,1,-0.125,-1.80502 } ); +cells.push_back( {20302622,3423,86,3,2,1,-0.125,-1.75545 } ); +cells.push_back( {20402612,3404,86,4,1,1,-0.175,-1.80502 } ); +cells.push_back( {20402622,3424,86,4,2,1,-0.175,-1.75545 } ); +cells.push_back( {20502612,3405,86,5,1,1,-0.225,-1.80502 } ); +cells.push_back( {20502622,3425,86,5,2,1,-0.225,-1.75545 } ); +cells.push_back( {20602612,3406,86,6,1,1,-0.275,-1.80502 } ); +cells.push_back( {20602622,3426,86,6,2,1,-0.275,-1.75545 } ); +cells.push_back( {20702612,3407,86,7,1,1,-0.325,-1.80502 } ); +cells.push_back( {20702622,3427,86,7,2,1,-0.325,-1.75545 } ); +cells.push_back( {20802612,3408,86,8,1,1,-0.375,-1.80502 } ); +cells.push_back( {20802622,3428,86,8,2,1,-0.375,-1.75545 } ); +cells.push_back( {20902612,3409,86,9,1,1,-0.425,-1.80502 } ); +cells.push_back( {20902622,3429,86,9,2,1,-0.425,-1.75545 } ); +cells.push_back( {21002612,3410,86,10,1,1,-0.475,-1.80502 } ); +cells.push_back( {21002622,3430,86,10,2,1,-0.475,-1.75545 } ); +cells.push_back( {21102612,3411,86,11,1,1,-0.525,-1.80502 } ); +cells.push_back( {21102622,3431,86,11,2,1,-0.525,-1.75545 } ); +cells.push_back( {21202612,3412,86,12,1,1,-0.575,-1.80502 } ); +cells.push_back( {21202622,3432,86,12,2,1,-0.575,-1.75545 } ); +cells.push_back( {21302612,3413,86,13,1,1,-0.625,-1.80502 } ); +cells.push_back( {21302622,3433,86,13,2,1,-0.625,-1.75545 } ); +cells.push_back( {21402612,3414,86,14,1,1,-0.675,-1.80502 } ); +cells.push_back( {21402622,3434,86,14,2,1,-0.675,-1.75545 } ); +cells.push_back( {21502612,3415,86,15,1,1,-0.725,-1.80502 } ); +cells.push_back( {21502622,3435,86,15,2,1,-0.725,-1.75545 } ); +cells.push_back( {21602612,3416,86,16,1,1,-0.775,-1.80502 } ); +cells.push_back( {21602622,3436,86,16,2,1,-0.775,-1.75545 } ); +cells.push_back( {21702612,3417,86,17,1,1,-0.825,-1.80502 } ); +cells.push_back( {21702622,3437,86,17,2,1,-0.825,-1.75545 } ); +cells.push_back( {21802612,3418,86,18,1,1,-0.875,-1.80502 } ); +cells.push_back( {21802622,3438,86,18,2,1,-0.875,-1.75545 } ); +cells.push_back( {21902612,3419,86,19,1,1,-0.925,-1.80502 } ); +cells.push_back( {21902622,3439,86,19,2,1,-0.925,-1.75545 } ); +cells.push_back( {22002612,3420,86,20,1,1,-0.967,-1.80502 } ); +cells.push_back( {22002622,3440,86,20,2,1,-0.967,-1.75545 } ); +cells.push_back( {20102711,3441,87,1,1,2,-0.02675,-1.7003 } ); +cells.push_back( {20102721,3461,87,1,2,2,-0.02675,-1.65073 } ); +cells.push_back( {20202711,3442,87,2,1,2,-0.075,-1.7003 } ); +cells.push_back( {20202721,3462,87,2,2,2,-0.075,-1.65073 } ); +cells.push_back( {20302711,3443,87,3,1,2,-0.125,-1.7003 } ); +cells.push_back( {20302721,3463,87,3,2,2,-0.125,-1.65073 } ); +cells.push_back( {20402711,3444,87,4,1,2,-0.175,-1.7003 } ); +cells.push_back( {20402721,3464,87,4,2,2,-0.175,-1.65073 } ); +cells.push_back( {20502711,3445,87,5,1,2,-0.225,-1.7003 } ); +cells.push_back( {20502721,3465,87,5,2,2,-0.225,-1.65073 } ); +cells.push_back( {20602711,3446,87,6,1,2,-0.275,-1.7003 } ); +cells.push_back( {20602721,3466,87,6,2,2,-0.275,-1.65073 } ); +cells.push_back( {20702711,3447,87,7,1,2,-0.325,-1.7003 } ); +cells.push_back( {20702721,3467,87,7,2,2,-0.325,-1.65073 } ); +cells.push_back( {20802711,3448,87,8,1,2,-0.375,-1.7003 } ); +cells.push_back( {20802721,3468,87,8,2,2,-0.375,-1.65073 } ); +cells.push_back( {20902711,3449,87,9,1,2,-0.425,-1.7003 } ); +cells.push_back( {20902721,3469,87,9,2,2,-0.425,-1.65073 } ); +cells.push_back( {21002711,3450,87,10,1,2,-0.475,-1.7003 } ); +cells.push_back( {21002721,3470,87,10,2,2,-0.475,-1.65073 } ); +cells.push_back( {21102711,3451,87,11,1,2,-0.525,-1.7003 } ); +cells.push_back( {21102721,3471,87,11,2,2,-0.525,-1.65073 } ); +cells.push_back( {21202711,3452,87,12,1,2,-0.575,-1.7003 } ); +cells.push_back( {21202721,3472,87,12,2,2,-0.575,-1.65073 } ); +cells.push_back( {21302711,3453,87,13,1,2,-0.625,-1.7003 } ); +cells.push_back( {21302721,3473,87,13,2,2,-0.625,-1.65073 } ); +cells.push_back( {21402711,3454,87,14,1,2,-0.675,-1.7003 } ); +cells.push_back( {21402721,3474,87,14,2,2,-0.675,-1.65073 } ); +cells.push_back( {21502711,3455,87,15,1,2,-0.725,-1.7003 } ); +cells.push_back( {21502721,3475,87,15,2,2,-0.725,-1.65073 } ); +cells.push_back( {21602711,3456,87,16,1,2,-0.775,-1.7003 } ); +cells.push_back( {21602721,3476,87,16,2,2,-0.775,-1.65073 } ); +cells.push_back( {21702711,3457,87,17,1,2,-0.825,-1.7003 } ); +cells.push_back( {21702721,3477,87,17,2,2,-0.825,-1.65073 } ); +cells.push_back( {21802711,3458,87,18,1,2,-0.875,-1.7003 } ); +cells.push_back( {21802721,3478,87,18,2,2,-0.875,-1.65073 } ); +cells.push_back( {21902711,3459,87,19,1,2,-0.925,-1.7003 } ); +cells.push_back( {21902721,3479,87,19,2,2,-0.925,-1.65073 } ); +cells.push_back( {22002711,3460,87,20,1,2,-0.967,-1.7003 } ); +cells.push_back( {22002721,3480,87,20,2,2,-0.967,-1.65073 } ); +cells.push_back( {20102712,3441,87,1,1,1,-0.02675,-1.7003 } ); +cells.push_back( {20102722,3461,87,1,2,1,-0.02675,-1.65073 } ); +cells.push_back( {20202712,3442,87,2,1,1,-0.075,-1.7003 } ); +cells.push_back( {20202722,3462,87,2,2,1,-0.075,-1.65073 } ); +cells.push_back( {20302712,3443,87,3,1,1,-0.125,-1.7003 } ); +cells.push_back( {20302722,3463,87,3,2,1,-0.125,-1.65073 } ); +cells.push_back( {20402712,3444,87,4,1,1,-0.175,-1.7003 } ); +cells.push_back( {20402722,3464,87,4,2,1,-0.175,-1.65073 } ); +cells.push_back( {20502712,3445,87,5,1,1,-0.225,-1.7003 } ); +cells.push_back( {20502722,3465,87,5,2,1,-0.225,-1.65073 } ); +cells.push_back( {20602712,3446,87,6,1,1,-0.275,-1.7003 } ); +cells.push_back( {20602722,3466,87,6,2,1,-0.275,-1.65073 } ); +cells.push_back( {20702712,3447,87,7,1,1,-0.325,-1.7003 } ); +cells.push_back( {20702722,3467,87,7,2,1,-0.325,-1.65073 } ); +cells.push_back( {20802712,3448,87,8,1,1,-0.375,-1.7003 } ); +cells.push_back( {20802722,3468,87,8,2,1,-0.375,-1.65073 } ); +cells.push_back( {20902712,3449,87,9,1,1,-0.425,-1.7003 } ); +cells.push_back( {20902722,3469,87,9,2,1,-0.425,-1.65073 } ); +cells.push_back( {21002712,3450,87,10,1,1,-0.475,-1.7003 } ); +cells.push_back( {21002722,3470,87,10,2,1,-0.475,-1.65073 } ); +cells.push_back( {21102712,3451,87,11,1,1,-0.525,-1.7003 } ); +cells.push_back( {21102722,3471,87,11,2,1,-0.525,-1.65073 } ); +cells.push_back( {21202712,3452,87,12,1,1,-0.575,-1.7003 } ); +cells.push_back( {21202722,3472,87,12,2,1,-0.575,-1.65073 } ); +cells.push_back( {21302712,3453,87,13,1,1,-0.625,-1.7003 } ); +cells.push_back( {21302722,3473,87,13,2,1,-0.625,-1.65073 } ); +cells.push_back( {21402712,3454,87,14,1,1,-0.675,-1.7003 } ); +cells.push_back( {21402722,3474,87,14,2,1,-0.675,-1.65073 } ); +cells.push_back( {21502712,3455,87,15,1,1,-0.725,-1.7003 } ); +cells.push_back( {21502722,3475,87,15,2,1,-0.725,-1.65073 } ); +cells.push_back( {21602712,3456,87,16,1,1,-0.775,-1.7003 } ); +cells.push_back( {21602722,3476,87,16,2,1,-0.775,-1.65073 } ); +cells.push_back( {21702712,3457,87,17,1,1,-0.825,-1.7003 } ); +cells.push_back( {21702722,3477,87,17,2,1,-0.825,-1.65073 } ); +cells.push_back( {21802712,3458,87,18,1,1,-0.875,-1.7003 } ); +cells.push_back( {21802722,3478,87,18,2,1,-0.875,-1.65073 } ); +cells.push_back( {21902712,3459,87,19,1,1,-0.925,-1.7003 } ); +cells.push_back( {21902722,3479,87,19,2,1,-0.925,-1.65073 } ); +cells.push_back( {22002712,3460,87,20,1,1,-0.967,-1.7003 } ); +cells.push_back( {22002722,3480,87,20,2,1,-0.967,-1.65073 } ); +cells.push_back( {20102811,3481,88,1,1,2,-0.02675,-1.59558 } ); +cells.push_back( {20102821,3501,88,1,2,2,-0.02675,-1.54601 } ); +cells.push_back( {20202811,3482,88,2,1,2,-0.075,-1.59558 } ); +cells.push_back( {20202821,3502,88,2,2,2,-0.075,-1.54601 } ); +cells.push_back( {20302811,3483,88,3,1,2,-0.125,-1.59558 } ); +cells.push_back( {20302821,3503,88,3,2,2,-0.125,-1.54601 } ); +cells.push_back( {20402811,3484,88,4,1,2,-0.175,-1.59558 } ); +cells.push_back( {20402821,3504,88,4,2,2,-0.175,-1.54601 } ); +cells.push_back( {20502811,3485,88,5,1,2,-0.225,-1.59558 } ); +cells.push_back( {20502821,3505,88,5,2,2,-0.225,-1.54601 } ); +cells.push_back( {20602811,3486,88,6,1,2,-0.275,-1.59558 } ); +cells.push_back( {20602821,3506,88,6,2,2,-0.275,-1.54601 } ); +cells.push_back( {20702811,3487,88,7,1,2,-0.325,-1.59558 } ); +cells.push_back( {20702821,3507,88,7,2,2,-0.325,-1.54601 } ); +cells.push_back( {20802811,3488,88,8,1,2,-0.375,-1.59558 } ); +cells.push_back( {20802821,3508,88,8,2,2,-0.375,-1.54601 } ); +cells.push_back( {20902811,3489,88,9,1,2,-0.425,-1.59558 } ); +cells.push_back( {20902821,3509,88,9,2,2,-0.425,-1.54601 } ); +cells.push_back( {21002811,3490,88,10,1,2,-0.475,-1.59558 } ); +cells.push_back( {21002821,3510,88,10,2,2,-0.475,-1.54601 } ); +cells.push_back( {21102811,3491,88,11,1,2,-0.525,-1.59558 } ); +cells.push_back( {21102821,3511,88,11,2,2,-0.525,-1.54601 } ); +cells.push_back( {21202811,3492,88,12,1,2,-0.575,-1.59558 } ); +cells.push_back( {21202821,3512,88,12,2,2,-0.575,-1.54601 } ); +cells.push_back( {21302811,3493,88,13,1,2,-0.625,-1.59558 } ); +cells.push_back( {21302821,3513,88,13,2,2,-0.625,-1.54601 } ); +cells.push_back( {21402811,3494,88,14,1,2,-0.675,-1.59558 } ); +cells.push_back( {21402821,3514,88,14,2,2,-0.675,-1.54601 } ); +cells.push_back( {21502811,3495,88,15,1,2,-0.725,-1.59558 } ); +cells.push_back( {21502821,3515,88,15,2,2,-0.725,-1.54601 } ); +cells.push_back( {21602811,3496,88,16,1,2,-0.775,-1.59558 } ); +cells.push_back( {21602821,3516,88,16,2,2,-0.775,-1.54601 } ); +cells.push_back( {21702811,3497,88,17,1,2,-0.825,-1.59558 } ); +cells.push_back( {21702821,3517,88,17,2,2,-0.825,-1.54601 } ); +cells.push_back( {21802811,3498,88,18,1,2,-0.875,-1.59558 } ); +cells.push_back( {21802821,3518,88,18,2,2,-0.875,-1.54601 } ); +cells.push_back( {21902811,3499,88,19,1,2,-0.925,-1.59558 } ); +cells.push_back( {21902821,3519,88,19,2,2,-0.925,-1.54601 } ); +cells.push_back( {22002811,3500,88,20,1,2,-0.967,-1.59558 } ); +cells.push_back( {22002821,3520,88,20,2,2,-0.967,-1.54601 } ); +cells.push_back( {20102812,3481,88,1,1,1,-0.02675,-1.59558 } ); +cells.push_back( {20102822,3501,88,1,2,1,-0.02675,-1.54601 } ); +cells.push_back( {20202812,3482,88,2,1,1,-0.075,-1.59558 } ); +cells.push_back( {20202822,3502,88,2,2,1,-0.075,-1.54601 } ); +cells.push_back( {20302812,3483,88,3,1,1,-0.125,-1.59558 } ); +cells.push_back( {20302822,3503,88,3,2,1,-0.125,-1.54601 } ); +cells.push_back( {20402812,3484,88,4,1,1,-0.175,-1.59558 } ); +cells.push_back( {20402822,3504,88,4,2,1,-0.175,-1.54601 } ); +cells.push_back( {20502812,3485,88,5,1,1,-0.225,-1.59558 } ); +cells.push_back( {20502822,3505,88,5,2,1,-0.225,-1.54601 } ); +cells.push_back( {20602812,3486,88,6,1,1,-0.275,-1.59558 } ); +cells.push_back( {20602822,3506,88,6,2,1,-0.275,-1.54601 } ); +cells.push_back( {20702812,3487,88,7,1,1,-0.325,-1.59558 } ); +cells.push_back( {20702822,3507,88,7,2,1,-0.325,-1.54601 } ); +cells.push_back( {20802812,3488,88,8,1,1,-0.375,-1.59558 } ); +cells.push_back( {20802822,3508,88,8,2,1,-0.375,-1.54601 } ); +cells.push_back( {20902812,3489,88,9,1,1,-0.425,-1.59558 } ); +cells.push_back( {20902822,3509,88,9,2,1,-0.425,-1.54601 } ); +cells.push_back( {21002812,3490,88,10,1,1,-0.475,-1.59558 } ); +cells.push_back( {21002822,3510,88,10,2,1,-0.475,-1.54601 } ); +cells.push_back( {21102812,3491,88,11,1,1,-0.525,-1.59558 } ); +cells.push_back( {21102822,3511,88,11,2,1,-0.525,-1.54601 } ); +cells.push_back( {21202812,3492,88,12,1,1,-0.575,-1.59558 } ); +cells.push_back( {21202822,3512,88,12,2,1,-0.575,-1.54601 } ); +cells.push_back( {21302812,3493,88,13,1,1,-0.625,-1.59558 } ); +cells.push_back( {21302822,3513,88,13,2,1,-0.625,-1.54601 } ); +cells.push_back( {21402812,3494,88,14,1,1,-0.675,-1.59558 } ); +cells.push_back( {21402822,3514,88,14,2,1,-0.675,-1.54601 } ); +cells.push_back( {21502812,3495,88,15,1,1,-0.725,-1.59558 } ); +cells.push_back( {21502822,3515,88,15,2,1,-0.725,-1.54601 } ); +cells.push_back( {21602812,3496,88,16,1,1,-0.775,-1.59558 } ); +cells.push_back( {21602822,3516,88,16,2,1,-0.775,-1.54601 } ); +cells.push_back( {21702812,3497,88,17,1,1,-0.825,-1.59558 } ); +cells.push_back( {21702822,3517,88,17,2,1,-0.825,-1.54601 } ); +cells.push_back( {21802812,3498,88,18,1,1,-0.875,-1.59558 } ); +cells.push_back( {21802822,3518,88,18,2,1,-0.875,-1.54601 } ); +cells.push_back( {21902812,3499,88,19,1,1,-0.925,-1.59558 } ); +cells.push_back( {21902822,3519,88,19,2,1,-0.925,-1.54601 } ); +cells.push_back( {22002812,3500,88,20,1,1,-0.967,-1.59558 } ); +cells.push_back( {22002822,3520,88,20,2,1,-0.967,-1.54601 } ); +cells.push_back( {20102911,3521,89,1,1,2,-0.02675,-1.49086 } ); +cells.push_back( {20102921,3541,89,1,2,2,-0.02675,-1.4413 } ); +cells.push_back( {20202911,3522,89,2,1,2,-0.075,-1.49086 } ); +cells.push_back( {20202921,3542,89,2,2,2,-0.075,-1.4413 } ); +cells.push_back( {20302911,3523,89,3,1,2,-0.125,-1.49086 } ); +cells.push_back( {20302921,3543,89,3,2,2,-0.125,-1.4413 } ); +cells.push_back( {20402911,3524,89,4,1,2,-0.175,-1.49086 } ); +cells.push_back( {20402921,3544,89,4,2,2,-0.175,-1.4413 } ); +cells.push_back( {20502911,3525,89,5,1,2,-0.225,-1.49086 } ); +cells.push_back( {20502921,3545,89,5,2,2,-0.225,-1.4413 } ); +cells.push_back( {20602911,3526,89,6,1,2,-0.275,-1.49086 } ); +cells.push_back( {20602921,3546,89,6,2,2,-0.275,-1.4413 } ); +cells.push_back( {20702911,3527,89,7,1,2,-0.325,-1.49086 } ); +cells.push_back( {20702921,3547,89,7,2,2,-0.325,-1.4413 } ); +cells.push_back( {20802911,3528,89,8,1,2,-0.375,-1.49086 } ); +cells.push_back( {20802921,3548,89,8,2,2,-0.375,-1.4413 } ); +cells.push_back( {20902911,3529,89,9,1,2,-0.425,-1.49086 } ); +cells.push_back( {20902921,3549,89,9,2,2,-0.425,-1.4413 } ); +cells.push_back( {21002911,3530,89,10,1,2,-0.475,-1.49086 } ); +cells.push_back( {21002921,3550,89,10,2,2,-0.475,-1.4413 } ); +cells.push_back( {21102911,3531,89,11,1,2,-0.525,-1.49086 } ); +cells.push_back( {21102921,3551,89,11,2,2,-0.525,-1.4413 } ); +cells.push_back( {21202911,3532,89,12,1,2,-0.575,-1.49086 } ); +cells.push_back( {21202921,3552,89,12,2,2,-0.575,-1.4413 } ); +cells.push_back( {21302911,3533,89,13,1,2,-0.625,-1.49086 } ); +cells.push_back( {21302921,3553,89,13,2,2,-0.625,-1.4413 } ); +cells.push_back( {21402911,3534,89,14,1,2,-0.675,-1.49086 } ); +cells.push_back( {21402921,3554,89,14,2,2,-0.675,-1.4413 } ); +cells.push_back( {21502911,3535,89,15,1,2,-0.725,-1.49086 } ); +cells.push_back( {21502921,3555,89,15,2,2,-0.725,-1.4413 } ); +cells.push_back( {21602911,3536,89,16,1,2,-0.775,-1.49086 } ); +cells.push_back( {21602921,3556,89,16,2,2,-0.775,-1.4413 } ); +cells.push_back( {21702911,3537,89,17,1,2,-0.825,-1.49086 } ); +cells.push_back( {21702921,3557,89,17,2,2,-0.825,-1.4413 } ); +cells.push_back( {21802911,3538,89,18,1,2,-0.875,-1.49086 } ); +cells.push_back( {21802921,3558,89,18,2,2,-0.875,-1.4413 } ); +cells.push_back( {21902911,3539,89,19,1,2,-0.925,-1.49086 } ); +cells.push_back( {21902921,3559,89,19,2,2,-0.925,-1.4413 } ); +cells.push_back( {22002911,3540,89,20,1,2,-0.967,-1.49086 } ); +cells.push_back( {22002921,3560,89,20,2,2,-0.967,-1.4413 } ); +cells.push_back( {20102912,3521,89,1,1,1,-0.02675,-1.49086 } ); +cells.push_back( {20102922,3541,89,1,2,1,-0.02675,-1.4413 } ); +cells.push_back( {20202912,3522,89,2,1,1,-0.075,-1.49086 } ); +cells.push_back( {20202922,3542,89,2,2,1,-0.075,-1.4413 } ); +cells.push_back( {20302912,3523,89,3,1,1,-0.125,-1.49086 } ); +cells.push_back( {20302922,3543,89,3,2,1,-0.125,-1.4413 } ); +cells.push_back( {20402912,3524,89,4,1,1,-0.175,-1.49086 } ); +cells.push_back( {20402922,3544,89,4,2,1,-0.175,-1.4413 } ); +cells.push_back( {20502912,3525,89,5,1,1,-0.225,-1.49086 } ); +cells.push_back( {20502922,3545,89,5,2,1,-0.225,-1.4413 } ); +cells.push_back( {20602912,3526,89,6,1,1,-0.275,-1.49086 } ); +cells.push_back( {20602922,3546,89,6,2,1,-0.275,-1.4413 } ); +cells.push_back( {20702912,3527,89,7,1,1,-0.325,-1.49086 } ); +cells.push_back( {20702922,3547,89,7,2,1,-0.325,-1.4413 } ); +cells.push_back( {20802912,3528,89,8,1,1,-0.375,-1.49086 } ); +cells.push_back( {20802922,3548,89,8,2,1,-0.375,-1.4413 } ); +cells.push_back( {20902912,3529,89,9,1,1,-0.425,-1.49086 } ); +cells.push_back( {20902922,3549,89,9,2,1,-0.425,-1.4413 } ); +cells.push_back( {21002912,3530,89,10,1,1,-0.475,-1.49086 } ); +cells.push_back( {21002922,3550,89,10,2,1,-0.475,-1.4413 } ); +cells.push_back( {21102912,3531,89,11,1,1,-0.525,-1.49086 } ); +cells.push_back( {21102922,3551,89,11,2,1,-0.525,-1.4413 } ); +cells.push_back( {21202912,3532,89,12,1,1,-0.575,-1.49086 } ); +cells.push_back( {21202922,3552,89,12,2,1,-0.575,-1.4413 } ); +cells.push_back( {21302912,3533,89,13,1,1,-0.625,-1.49086 } ); +cells.push_back( {21302922,3553,89,13,2,1,-0.625,-1.4413 } ); +cells.push_back( {21402912,3534,89,14,1,1,-0.675,-1.49086 } ); +cells.push_back( {21402922,3554,89,14,2,1,-0.675,-1.4413 } ); +cells.push_back( {21502912,3535,89,15,1,1,-0.725,-1.49086 } ); +cells.push_back( {21502922,3555,89,15,2,1,-0.725,-1.4413 } ); +cells.push_back( {21602912,3536,89,16,1,1,-0.775,-1.49086 } ); +cells.push_back( {21602922,3556,89,16,2,1,-0.775,-1.4413 } ); +cells.push_back( {21702912,3537,89,17,1,1,-0.825,-1.49086 } ); +cells.push_back( {21702922,3557,89,17,2,1,-0.825,-1.4413 } ); +cells.push_back( {21802912,3538,89,18,1,1,-0.875,-1.49086 } ); +cells.push_back( {21802922,3558,89,18,2,1,-0.875,-1.4413 } ); +cells.push_back( {21902912,3539,89,19,1,1,-0.925,-1.49086 } ); +cells.push_back( {21902922,3559,89,19,2,1,-0.925,-1.4413 } ); +cells.push_back( {22002912,3540,89,20,1,1,-0.967,-1.49086 } ); +cells.push_back( {22002922,3560,89,20,2,1,-0.967,-1.4413 } ); +cells.push_back( {20103011,3561,90,1,1,2,-0.02675,-1.38614 } ); +cells.push_back( {20103021,3581,90,1,2,2,-0.02675,-1.33658 } ); +cells.push_back( {20203011,3562,90,2,1,2,-0.075,-1.38614 } ); +cells.push_back( {20203021,3582,90,2,2,2,-0.075,-1.33658 } ); +cells.push_back( {20303011,3563,90,3,1,2,-0.125,-1.38614 } ); +cells.push_back( {20303021,3583,90,3,2,2,-0.125,-1.33658 } ); +cells.push_back( {20403011,3564,90,4,1,2,-0.175,-1.38614 } ); +cells.push_back( {20403021,3584,90,4,2,2,-0.175,-1.33658 } ); +cells.push_back( {20503011,3565,90,5,1,2,-0.225,-1.38614 } ); +cells.push_back( {20503021,3585,90,5,2,2,-0.225,-1.33658 } ); +cells.push_back( {20603011,3566,90,6,1,2,-0.275,-1.38614 } ); +cells.push_back( {20603021,3586,90,6,2,2,-0.275,-1.33658 } ); +cells.push_back( {20703011,3567,90,7,1,2,-0.325,-1.38614 } ); +cells.push_back( {20703021,3587,90,7,2,2,-0.325,-1.33658 } ); +cells.push_back( {20803011,3568,90,8,1,2,-0.375,-1.38614 } ); +cells.push_back( {20803021,3588,90,8,2,2,-0.375,-1.33658 } ); +cells.push_back( {20903011,3569,90,9,1,2,-0.425,-1.38614 } ); +cells.push_back( {20903021,3589,90,9,2,2,-0.425,-1.33658 } ); +cells.push_back( {21003011,3570,90,10,1,2,-0.475,-1.38614 } ); +cells.push_back( {21003021,3590,90,10,2,2,-0.475,-1.33658 } ); +cells.push_back( {21103011,3571,90,11,1,2,-0.525,-1.38614 } ); +cells.push_back( {21103021,3591,90,11,2,2,-0.525,-1.33658 } ); +cells.push_back( {21203011,3572,90,12,1,2,-0.575,-1.38614 } ); +cells.push_back( {21203021,3592,90,12,2,2,-0.575,-1.33658 } ); +cells.push_back( {21303011,3573,90,13,1,2,-0.625,-1.38614 } ); +cells.push_back( {21303021,3593,90,13,2,2,-0.625,-1.33658 } ); +cells.push_back( {21403011,3574,90,14,1,2,-0.675,-1.38614 } ); +cells.push_back( {21403021,3594,90,14,2,2,-0.675,-1.33658 } ); +cells.push_back( {21503011,3575,90,15,1,2,-0.725,-1.38614 } ); +cells.push_back( {21503021,3595,90,15,2,2,-0.725,-1.33658 } ); +cells.push_back( {21603011,3576,90,16,1,2,-0.775,-1.38614 } ); +cells.push_back( {21603021,3596,90,16,2,2,-0.775,-1.33658 } ); +cells.push_back( {21703011,3577,90,17,1,2,-0.825,-1.38614 } ); +cells.push_back( {21703021,3597,90,17,2,2,-0.825,-1.33658 } ); +cells.push_back( {21803011,3578,90,18,1,2,-0.875,-1.38614 } ); +cells.push_back( {21803021,3598,90,18,2,2,-0.875,-1.33658 } ); +cells.push_back( {21903011,3579,90,19,1,2,-0.925,-1.38614 } ); +cells.push_back( {21903021,3599,90,19,2,2,-0.925,-1.33658 } ); +cells.push_back( {22003011,3580,90,20,1,2,-0.967,-1.38614 } ); +cells.push_back( {22003021,3600,90,20,2,2,-0.967,-1.33658 } ); +cells.push_back( {20103012,3561,90,1,1,1,-0.02675,-1.38614 } ); +cells.push_back( {20103022,3581,90,1,2,1,-0.02675,-1.33658 } ); +cells.push_back( {20203012,3562,90,2,1,1,-0.075,-1.38614 } ); +cells.push_back( {20203022,3582,90,2,2,1,-0.075,-1.33658 } ); +cells.push_back( {20303012,3563,90,3,1,1,-0.125,-1.38614 } ); +cells.push_back( {20303022,3583,90,3,2,1,-0.125,-1.33658 } ); +cells.push_back( {20403012,3564,90,4,1,1,-0.175,-1.38614 } ); +cells.push_back( {20403022,3584,90,4,2,1,-0.175,-1.33658 } ); +cells.push_back( {20503012,3565,90,5,1,1,-0.225,-1.38614 } ); +cells.push_back( {20503022,3585,90,5,2,1,-0.225,-1.33658 } ); +cells.push_back( {20603012,3566,90,6,1,1,-0.275,-1.38614 } ); +cells.push_back( {20603022,3586,90,6,2,1,-0.275,-1.33658 } ); +cells.push_back( {20703012,3567,90,7,1,1,-0.325,-1.38614 } ); +cells.push_back( {20703022,3587,90,7,2,1,-0.325,-1.33658 } ); +cells.push_back( {20803012,3568,90,8,1,1,-0.375,-1.38614 } ); +cells.push_back( {20803022,3588,90,8,2,1,-0.375,-1.33658 } ); +cells.push_back( {20903012,3569,90,9,1,1,-0.425,-1.38614 } ); +cells.push_back( {20903022,3589,90,9,2,1,-0.425,-1.33658 } ); +cells.push_back( {21003012,3570,90,10,1,1,-0.475,-1.38614 } ); +cells.push_back( {21003022,3590,90,10,2,1,-0.475,-1.33658 } ); +cells.push_back( {21103012,3571,90,11,1,1,-0.525,-1.38614 } ); +cells.push_back( {21103022,3591,90,11,2,1,-0.525,-1.33658 } ); +cells.push_back( {21203012,3572,90,12,1,1,-0.575,-1.38614 } ); +cells.push_back( {21203022,3592,90,12,2,1,-0.575,-1.33658 } ); +cells.push_back( {21303012,3573,90,13,1,1,-0.625,-1.38614 } ); +cells.push_back( {21303022,3593,90,13,2,1,-0.625,-1.33658 } ); +cells.push_back( {21403012,3574,90,14,1,1,-0.675,-1.38614 } ); +cells.push_back( {21403022,3594,90,14,2,1,-0.675,-1.33658 } ); +cells.push_back( {21503012,3575,90,15,1,1,-0.725,-1.38614 } ); +cells.push_back( {21503022,3595,90,15,2,1,-0.725,-1.33658 } ); +cells.push_back( {21603012,3576,90,16,1,1,-0.775,-1.38614 } ); +cells.push_back( {21603022,3596,90,16,2,1,-0.775,-1.33658 } ); +cells.push_back( {21703012,3577,90,17,1,1,-0.825,-1.38614 } ); +cells.push_back( {21703022,3597,90,17,2,1,-0.825,-1.33658 } ); +cells.push_back( {21803012,3578,90,18,1,1,-0.875,-1.38614 } ); +cells.push_back( {21803022,3598,90,18,2,1,-0.875,-1.33658 } ); +cells.push_back( {21903012,3579,90,19,1,1,-0.925,-1.38614 } ); +cells.push_back( {21903022,3599,90,19,2,1,-0.925,-1.33658 } ); +cells.push_back( {22003012,3580,90,20,1,1,-0.967,-1.38614 } ); +cells.push_back( {22003022,3600,90,20,2,1,-0.967,-1.33658 } ); +cells.push_back( {20103111,3601,91,1,1,2,-0.02675,-1.28142 } ); +cells.push_back( {20103121,3621,91,1,2,2,-0.02675,-1.23186 } ); +cells.push_back( {20203111,3602,91,2,1,2,-0.075,-1.28142 } ); +cells.push_back( {20203121,3622,91,2,2,2,-0.075,-1.23186 } ); +cells.push_back( {20303111,3603,91,3,1,2,-0.125,-1.28142 } ); +cells.push_back( {20303121,3623,91,3,2,2,-0.125,-1.23186 } ); +cells.push_back( {20403111,3604,91,4,1,2,-0.175,-1.28142 } ); +cells.push_back( {20403121,3624,91,4,2,2,-0.175,-1.23186 } ); +cells.push_back( {20503111,3605,91,5,1,2,-0.225,-1.28142 } ); +cells.push_back( {20503121,3625,91,5,2,2,-0.225,-1.23186 } ); +cells.push_back( {20603111,3606,91,6,1,2,-0.275,-1.28142 } ); +cells.push_back( {20603121,3626,91,6,2,2,-0.275,-1.23186 } ); +cells.push_back( {20703111,3607,91,7,1,2,-0.325,-1.28142 } ); +cells.push_back( {20703121,3627,91,7,2,2,-0.325,-1.23186 } ); +cells.push_back( {20803111,3608,91,8,1,2,-0.375,-1.28142 } ); +cells.push_back( {20803121,3628,91,8,2,2,-0.375,-1.23186 } ); +cells.push_back( {20903111,3609,91,9,1,2,-0.425,-1.28142 } ); +cells.push_back( {20903121,3629,91,9,2,2,-0.425,-1.23186 } ); +cells.push_back( {21003111,3610,91,10,1,2,-0.475,-1.28142 } ); +cells.push_back( {21003121,3630,91,10,2,2,-0.475,-1.23186 } ); +cells.push_back( {21103111,3611,91,11,1,2,-0.525,-1.28142 } ); +cells.push_back( {21103121,3631,91,11,2,2,-0.525,-1.23186 } ); +cells.push_back( {21203111,3612,91,12,1,2,-0.575,-1.28142 } ); +cells.push_back( {21203121,3632,91,12,2,2,-0.575,-1.23186 } ); +cells.push_back( {21303111,3613,91,13,1,2,-0.625,-1.28142 } ); +cells.push_back( {21303121,3633,91,13,2,2,-0.625,-1.23186 } ); +cells.push_back( {21403111,3614,91,14,1,2,-0.675,-1.28142 } ); +cells.push_back( {21403121,3634,91,14,2,2,-0.675,-1.23186 } ); +cells.push_back( {21503111,3615,91,15,1,2,-0.725,-1.28142 } ); +cells.push_back( {21503121,3635,91,15,2,2,-0.725,-1.23186 } ); +cells.push_back( {21603111,3616,91,16,1,2,-0.775,-1.28142 } ); +cells.push_back( {21603121,3636,91,16,2,2,-0.775,-1.23186 } ); +cells.push_back( {21703111,3617,91,17,1,2,-0.825,-1.28142 } ); +cells.push_back( {21703121,3637,91,17,2,2,-0.825,-1.23186 } ); +cells.push_back( {21803111,3618,91,18,1,2,-0.875,-1.28142 } ); +cells.push_back( {21803121,3638,91,18,2,2,-0.875,-1.23186 } ); +cells.push_back( {21903111,3619,91,19,1,2,-0.925,-1.28142 } ); +cells.push_back( {21903121,3639,91,19,2,2,-0.925,-1.23186 } ); +cells.push_back( {22003111,3620,91,20,1,2,-0.967,-1.28142 } ); +cells.push_back( {22003121,3640,91,20,2,2,-0.967,-1.23186 } ); +cells.push_back( {20103112,3601,91,1,1,1,-0.02675,-1.28142 } ); +cells.push_back( {20103122,3621,91,1,2,1,-0.02675,-1.23186 } ); +cells.push_back( {20203112,3602,91,2,1,1,-0.075,-1.28142 } ); +cells.push_back( {20203122,3622,91,2,2,1,-0.075,-1.23186 } ); +cells.push_back( {20303112,3603,91,3,1,1,-0.125,-1.28142 } ); +cells.push_back( {20303122,3623,91,3,2,1,-0.125,-1.23186 } ); +cells.push_back( {20403112,3604,91,4,1,1,-0.175,-1.28142 } ); +cells.push_back( {20403122,3624,91,4,2,1,-0.175,-1.23186 } ); +cells.push_back( {20503112,3605,91,5,1,1,-0.225,-1.28142 } ); +cells.push_back( {20503122,3625,91,5,2,1,-0.225,-1.23186 } ); +cells.push_back( {20603112,3606,91,6,1,1,-0.275,-1.28142 } ); +cells.push_back( {20603122,3626,91,6,2,1,-0.275,-1.23186 } ); +cells.push_back( {20703112,3607,91,7,1,1,-0.325,-1.28142 } ); +cells.push_back( {20703122,3627,91,7,2,1,-0.325,-1.23186 } ); +cells.push_back( {20803112,3608,91,8,1,1,-0.375,-1.28142 } ); +cells.push_back( {20803122,3628,91,8,2,1,-0.375,-1.23186 } ); +cells.push_back( {20903112,3609,91,9,1,1,-0.425,-1.28142 } ); +cells.push_back( {20903122,3629,91,9,2,1,-0.425,-1.23186 } ); +cells.push_back( {21003112,3610,91,10,1,1,-0.475,-1.28142 } ); +cells.push_back( {21003122,3630,91,10,2,1,-0.475,-1.23186 } ); +cells.push_back( {21103112,3611,91,11,1,1,-0.525,-1.28142 } ); +cells.push_back( {21103122,3631,91,11,2,1,-0.525,-1.23186 } ); +cells.push_back( {21203112,3612,91,12,1,1,-0.575,-1.28142 } ); +cells.push_back( {21203122,3632,91,12,2,1,-0.575,-1.23186 } ); +cells.push_back( {21303112,3613,91,13,1,1,-0.625,-1.28142 } ); +cells.push_back( {21303122,3633,91,13,2,1,-0.625,-1.23186 } ); +cells.push_back( {21403112,3614,91,14,1,1,-0.675,-1.28142 } ); +cells.push_back( {21403122,3634,91,14,2,1,-0.675,-1.23186 } ); +cells.push_back( {21503112,3615,91,15,1,1,-0.725,-1.28142 } ); +cells.push_back( {21503122,3635,91,15,2,1,-0.725,-1.23186 } ); +cells.push_back( {21603112,3616,91,16,1,1,-0.775,-1.28142 } ); +cells.push_back( {21603122,3636,91,16,2,1,-0.775,-1.23186 } ); +cells.push_back( {21703112,3617,91,17,1,1,-0.825,-1.28142 } ); +cells.push_back( {21703122,3637,91,17,2,1,-0.825,-1.23186 } ); +cells.push_back( {21803112,3618,91,18,1,1,-0.875,-1.28142 } ); +cells.push_back( {21803122,3638,91,18,2,1,-0.875,-1.23186 } ); +cells.push_back( {21903112,3619,91,19,1,1,-0.925,-1.28142 } ); +cells.push_back( {21903122,3639,91,19,2,1,-0.925,-1.23186 } ); +cells.push_back( {22003112,3620,91,20,1,1,-0.967,-1.28142 } ); +cells.push_back( {22003122,3640,91,20,2,1,-0.967,-1.23186 } ); +cells.push_back( {20103211,3641,92,1,1,2,-0.02675,-1.1767 } ); +cells.push_back( {20103221,3661,92,1,2,2,-0.02675,-1.12714 } ); +cells.push_back( {20203211,3642,92,2,1,2,-0.075,-1.1767 } ); +cells.push_back( {20203221,3662,92,2,2,2,-0.075,-1.12714 } ); +cells.push_back( {20303211,3643,92,3,1,2,-0.125,-1.1767 } ); +cells.push_back( {20303221,3663,92,3,2,2,-0.125,-1.12714 } ); +cells.push_back( {20403211,3644,92,4,1,2,-0.175,-1.1767 } ); +cells.push_back( {20403221,3664,92,4,2,2,-0.175,-1.12714 } ); +cells.push_back( {20503211,3645,92,5,1,2,-0.225,-1.1767 } ); +cells.push_back( {20503221,3665,92,5,2,2,-0.225,-1.12714 } ); +cells.push_back( {20603211,3646,92,6,1,2,-0.275,-1.1767 } ); +cells.push_back( {20603221,3666,92,6,2,2,-0.275,-1.12714 } ); +cells.push_back( {20703211,3647,92,7,1,2,-0.325,-1.1767 } ); +cells.push_back( {20703221,3667,92,7,2,2,-0.325,-1.12714 } ); +cells.push_back( {20803211,3648,92,8,1,2,-0.375,-1.1767 } ); +cells.push_back( {20803221,3668,92,8,2,2,-0.375,-1.12714 } ); +cells.push_back( {20903211,3649,92,9,1,2,-0.425,-1.1767 } ); +cells.push_back( {20903221,3669,92,9,2,2,-0.425,-1.12714 } ); +cells.push_back( {21003211,3650,92,10,1,2,-0.475,-1.1767 } ); +cells.push_back( {21003221,3670,92,10,2,2,-0.475,-1.12714 } ); +cells.push_back( {21103211,3651,92,11,1,2,-0.525,-1.1767 } ); +cells.push_back( {21103221,3671,92,11,2,2,-0.525,-1.12714 } ); +cells.push_back( {21203211,3652,92,12,1,2,-0.575,-1.1767 } ); +cells.push_back( {21203221,3672,92,12,2,2,-0.575,-1.12714 } ); +cells.push_back( {21303211,3653,92,13,1,2,-0.625,-1.1767 } ); +cells.push_back( {21303221,3673,92,13,2,2,-0.625,-1.12714 } ); +cells.push_back( {21403211,3654,92,14,1,2,-0.675,-1.1767 } ); +cells.push_back( {21403221,3674,92,14,2,2,-0.675,-1.12714 } ); +cells.push_back( {21503211,3655,92,15,1,2,-0.725,-1.1767 } ); +cells.push_back( {21503221,3675,92,15,2,2,-0.725,-1.12714 } ); +cells.push_back( {21603211,3656,92,16,1,2,-0.775,-1.1767 } ); +cells.push_back( {21603221,3676,92,16,2,2,-0.775,-1.12714 } ); +cells.push_back( {21703211,3657,92,17,1,2,-0.825,-1.1767 } ); +cells.push_back( {21703221,3677,92,17,2,2,-0.825,-1.12714 } ); +cells.push_back( {21803211,3658,92,18,1,2,-0.875,-1.1767 } ); +cells.push_back( {21803221,3678,92,18,2,2,-0.875,-1.12714 } ); +cells.push_back( {21903211,3659,92,19,1,2,-0.925,-1.1767 } ); +cells.push_back( {21903221,3679,92,19,2,2,-0.925,-1.12714 } ); +cells.push_back( {22003211,3660,92,20,1,2,-0.967,-1.1767 } ); +cells.push_back( {22003221,3680,92,20,2,2,-0.967,-1.12714 } ); +cells.push_back( {20103212,3641,92,1,1,1,-0.02675,-1.1767 } ); +cells.push_back( {20103222,3661,92,1,2,1,-0.02675,-1.12714 } ); +cells.push_back( {20203212,3642,92,2,1,1,-0.075,-1.1767 } ); +cells.push_back( {20203222,3662,92,2,2,1,-0.075,-1.12714 } ); +cells.push_back( {20303212,3643,92,3,1,1,-0.125,-1.1767 } ); +cells.push_back( {20303222,3663,92,3,2,1,-0.125,-1.12714 } ); +cells.push_back( {20403212,3644,92,4,1,1,-0.175,-1.1767 } ); +cells.push_back( {20403222,3664,92,4,2,1,-0.175,-1.12714 } ); +cells.push_back( {20503212,3645,92,5,1,1,-0.225,-1.1767 } ); +cells.push_back( {20503222,3665,92,5,2,1,-0.225,-1.12714 } ); +cells.push_back( {20603212,3646,92,6,1,1,-0.275,-1.1767 } ); +cells.push_back( {20603222,3666,92,6,2,1,-0.275,-1.12714 } ); +cells.push_back( {20703212,3647,92,7,1,1,-0.325,-1.1767 } ); +cells.push_back( {20703222,3667,92,7,2,1,-0.325,-1.12714 } ); +cells.push_back( {20803212,3648,92,8,1,1,-0.375,-1.1767 } ); +cells.push_back( {20803222,3668,92,8,2,1,-0.375,-1.12714 } ); +cells.push_back( {20903212,3649,92,9,1,1,-0.425,-1.1767 } ); +cells.push_back( {20903222,3669,92,9,2,1,-0.425,-1.12714 } ); +cells.push_back( {21003212,3650,92,10,1,1,-0.475,-1.1767 } ); +cells.push_back( {21003222,3670,92,10,2,1,-0.475,-1.12714 } ); +cells.push_back( {21103212,3651,92,11,1,1,-0.525,-1.1767 } ); +cells.push_back( {21103222,3671,92,11,2,1,-0.525,-1.12714 } ); +cells.push_back( {21203212,3652,92,12,1,1,-0.575,-1.1767 } ); +cells.push_back( {21203222,3672,92,12,2,1,-0.575,-1.12714 } ); +cells.push_back( {21303212,3653,92,13,1,1,-0.625,-1.1767 } ); +cells.push_back( {21303222,3673,92,13,2,1,-0.625,-1.12714 } ); +cells.push_back( {21403212,3654,92,14,1,1,-0.675,-1.1767 } ); +cells.push_back( {21403222,3674,92,14,2,1,-0.675,-1.12714 } ); +cells.push_back( {21503212,3655,92,15,1,1,-0.725,-1.1767 } ); +cells.push_back( {21503222,3675,92,15,2,1,-0.725,-1.12714 } ); +cells.push_back( {21603212,3656,92,16,1,1,-0.775,-1.1767 } ); +cells.push_back( {21603222,3676,92,16,2,1,-0.775,-1.12714 } ); +cells.push_back( {21703212,3657,92,17,1,1,-0.825,-1.1767 } ); +cells.push_back( {21703222,3677,92,17,2,1,-0.825,-1.12714 } ); +cells.push_back( {21803212,3658,92,18,1,1,-0.875,-1.1767 } ); +cells.push_back( {21803222,3678,92,18,2,1,-0.875,-1.12714 } ); +cells.push_back( {21903212,3659,92,19,1,1,-0.925,-1.1767 } ); +cells.push_back( {21903222,3679,92,19,2,1,-0.925,-1.12714 } ); +cells.push_back( {22003212,3660,92,20,1,1,-0.967,-1.1767 } ); +cells.push_back( {22003222,3680,92,20,2,1,-0.967,-1.12714 } ); +cells.push_back( {20103311,3681,93,1,1,2,-0.02675,-1.07198 } ); +cells.push_back( {20103321,3701,93,1,2,2,-0.02675,-1.02242 } ); +cells.push_back( {20203311,3682,93,2,1,2,-0.075,-1.07198 } ); +cells.push_back( {20203321,3702,93,2,2,2,-0.075,-1.02242 } ); +cells.push_back( {20303311,3683,93,3,1,2,-0.125,-1.07198 } ); +cells.push_back( {20303321,3703,93,3,2,2,-0.125,-1.02242 } ); +cells.push_back( {20403311,3684,93,4,1,2,-0.175,-1.07198 } ); +cells.push_back( {20403321,3704,93,4,2,2,-0.175,-1.02242 } ); +cells.push_back( {20503311,3685,93,5,1,2,-0.225,-1.07198 } ); +cells.push_back( {20503321,3705,93,5,2,2,-0.225,-1.02242 } ); +cells.push_back( {20603311,3686,93,6,1,2,-0.275,-1.07198 } ); +cells.push_back( {20603321,3706,93,6,2,2,-0.275,-1.02242 } ); +cells.push_back( {20703311,3687,93,7,1,2,-0.325,-1.07198 } ); +cells.push_back( {20703321,3707,93,7,2,2,-0.325,-1.02242 } ); +cells.push_back( {20803311,3688,93,8,1,2,-0.375,-1.07198 } ); +cells.push_back( {20803321,3708,93,8,2,2,-0.375,-1.02242 } ); +cells.push_back( {20903311,3689,93,9,1,2,-0.425,-1.07198 } ); +cells.push_back( {20903321,3709,93,9,2,2,-0.425,-1.02242 } ); +cells.push_back( {21003311,3690,93,10,1,2,-0.475,-1.07198 } ); +cells.push_back( {21003321,3710,93,10,2,2,-0.475,-1.02242 } ); +cells.push_back( {21103311,3691,93,11,1,2,-0.525,-1.07198 } ); +cells.push_back( {21103321,3711,93,11,2,2,-0.525,-1.02242 } ); +cells.push_back( {21203311,3692,93,12,1,2,-0.575,-1.07198 } ); +cells.push_back( {21203321,3712,93,12,2,2,-0.575,-1.02242 } ); +cells.push_back( {21303311,3693,93,13,1,2,-0.625,-1.07198 } ); +cells.push_back( {21303321,3713,93,13,2,2,-0.625,-1.02242 } ); +cells.push_back( {21403311,3694,93,14,1,2,-0.675,-1.07198 } ); +cells.push_back( {21403321,3714,93,14,2,2,-0.675,-1.02242 } ); +cells.push_back( {21503311,3695,93,15,1,2,-0.725,-1.07198 } ); +cells.push_back( {21503321,3715,93,15,2,2,-0.725,-1.02242 } ); +cells.push_back( {21603311,3696,93,16,1,2,-0.775,-1.07198 } ); +cells.push_back( {21603321,3716,93,16,2,2,-0.775,-1.02242 } ); +cells.push_back( {21703311,3697,93,17,1,2,-0.825,-1.07198 } ); +cells.push_back( {21703321,3717,93,17,2,2,-0.825,-1.02242 } ); +cells.push_back( {21803311,3698,93,18,1,2,-0.875,-1.07198 } ); +cells.push_back( {21803321,3718,93,18,2,2,-0.875,-1.02242 } ); +cells.push_back( {21903311,3699,93,19,1,2,-0.925,-1.07198 } ); +cells.push_back( {21903321,3719,93,19,2,2,-0.925,-1.02242 } ); +cells.push_back( {22003311,3700,93,20,1,2,-0.967,-1.07198 } ); +cells.push_back( {22003321,3720,93,20,2,2,-0.967,-1.02242 } ); +cells.push_back( {20103312,3681,93,1,1,1,-0.02675,-1.07198 } ); +cells.push_back( {20103322,3701,93,1,2,1,-0.02675,-1.02242 } ); +cells.push_back( {20203312,3682,93,2,1,1,-0.075,-1.07198 } ); +cells.push_back( {20203322,3702,93,2,2,1,-0.075,-1.02242 } ); +cells.push_back( {20303312,3683,93,3,1,1,-0.125,-1.07198 } ); +cells.push_back( {20303322,3703,93,3,2,1,-0.125,-1.02242 } ); +cells.push_back( {20403312,3684,93,4,1,1,-0.175,-1.07198 } ); +cells.push_back( {20403322,3704,93,4,2,1,-0.175,-1.02242 } ); +cells.push_back( {20503312,3685,93,5,1,1,-0.225,-1.07198 } ); +cells.push_back( {20503322,3705,93,5,2,1,-0.225,-1.02242 } ); +cells.push_back( {20603312,3686,93,6,1,1,-0.275,-1.07198 } ); +cells.push_back( {20603322,3706,93,6,2,1,-0.275,-1.02242 } ); +cells.push_back( {20703312,3687,93,7,1,1,-0.325,-1.07198 } ); +cells.push_back( {20703322,3707,93,7,2,1,-0.325,-1.02242 } ); +cells.push_back( {20803312,3688,93,8,1,1,-0.375,-1.07198 } ); +cells.push_back( {20803322,3708,93,8,2,1,-0.375,-1.02242 } ); +cells.push_back( {20903312,3689,93,9,1,1,-0.425,-1.07198 } ); +cells.push_back( {20903322,3709,93,9,2,1,-0.425,-1.02242 } ); +cells.push_back( {21003312,3690,93,10,1,1,-0.475,-1.07198 } ); +cells.push_back( {21003322,3710,93,10,2,1,-0.475,-1.02242 } ); +cells.push_back( {21103312,3691,93,11,1,1,-0.525,-1.07198 } ); +cells.push_back( {21103322,3711,93,11,2,1,-0.525,-1.02242 } ); +cells.push_back( {21203312,3692,93,12,1,1,-0.575,-1.07198 } ); +cells.push_back( {21203322,3712,93,12,2,1,-0.575,-1.02242 } ); +cells.push_back( {21303312,3693,93,13,1,1,-0.625,-1.07198 } ); +cells.push_back( {21303322,3713,93,13,2,1,-0.625,-1.02242 } ); +cells.push_back( {21403312,3694,93,14,1,1,-0.675,-1.07198 } ); +cells.push_back( {21403322,3714,93,14,2,1,-0.675,-1.02242 } ); +cells.push_back( {21503312,3695,93,15,1,1,-0.725,-1.07198 } ); +cells.push_back( {21503322,3715,93,15,2,1,-0.725,-1.02242 } ); +cells.push_back( {21603312,3696,93,16,1,1,-0.775,-1.07198 } ); +cells.push_back( {21603322,3716,93,16,2,1,-0.775,-1.02242 } ); +cells.push_back( {21703312,3697,93,17,1,1,-0.825,-1.07198 } ); +cells.push_back( {21703322,3717,93,17,2,1,-0.825,-1.02242 } ); +cells.push_back( {21803312,3698,93,18,1,1,-0.875,-1.07198 } ); +cells.push_back( {21803322,3718,93,18,2,1,-0.875,-1.02242 } ); +cells.push_back( {21903312,3699,93,19,1,1,-0.925,-1.07198 } ); +cells.push_back( {21903322,3719,93,19,2,1,-0.925,-1.02242 } ); +cells.push_back( {22003312,3700,93,20,1,1,-0.967,-1.07198 } ); +cells.push_back( {22003322,3720,93,20,2,1,-0.967,-1.02242 } ); +cells.push_back( {20103411,3721,94,1,1,2,-0.02675,-0.967259 } ); +cells.push_back( {20103421,3741,94,1,2,2,-0.02675,-0.917696 } ); +cells.push_back( {20203411,3722,94,2,1,2,-0.075,-0.967259 } ); +cells.push_back( {20203421,3742,94,2,2,2,-0.075,-0.917696 } ); +cells.push_back( {20303411,3723,94,3,1,2,-0.125,-0.967259 } ); +cells.push_back( {20303421,3743,94,3,2,2,-0.125,-0.917696 } ); +cells.push_back( {20403411,3724,94,4,1,2,-0.175,-0.967259 } ); +cells.push_back( {20403421,3744,94,4,2,2,-0.175,-0.917696 } ); +cells.push_back( {20503411,3725,94,5,1,2,-0.225,-0.967259 } ); +cells.push_back( {20503421,3745,94,5,2,2,-0.225,-0.917696 } ); +cells.push_back( {20603411,3726,94,6,1,2,-0.275,-0.967259 } ); +cells.push_back( {20603421,3746,94,6,2,2,-0.275,-0.917696 } ); +cells.push_back( {20703411,3727,94,7,1,2,-0.325,-0.967259 } ); +cells.push_back( {20703421,3747,94,7,2,2,-0.325,-0.917696 } ); +cells.push_back( {20803411,3728,94,8,1,2,-0.375,-0.967259 } ); +cells.push_back( {20803421,3748,94,8,2,2,-0.375,-0.917696 } ); +cells.push_back( {20903411,3729,94,9,1,2,-0.425,-0.967259 } ); +cells.push_back( {20903421,3749,94,9,2,2,-0.425,-0.917696 } ); +cells.push_back( {21003411,3730,94,10,1,2,-0.475,-0.967259 } ); +cells.push_back( {21003421,3750,94,10,2,2,-0.475,-0.917696 } ); +cells.push_back( {21103411,3731,94,11,1,2,-0.525,-0.967259 } ); +cells.push_back( {21103421,3751,94,11,2,2,-0.525,-0.917696 } ); +cells.push_back( {21203411,3732,94,12,1,2,-0.575,-0.967259 } ); +cells.push_back( {21203421,3752,94,12,2,2,-0.575,-0.917696 } ); +cells.push_back( {21303411,3733,94,13,1,2,-0.625,-0.967259 } ); +cells.push_back( {21303421,3753,94,13,2,2,-0.625,-0.917696 } ); +cells.push_back( {21403411,3734,94,14,1,2,-0.675,-0.967259 } ); +cells.push_back( {21403421,3754,94,14,2,2,-0.675,-0.917696 } ); +cells.push_back( {21503411,3735,94,15,1,2,-0.725,-0.967259 } ); +cells.push_back( {21503421,3755,94,15,2,2,-0.725,-0.917696 } ); +cells.push_back( {21603411,3736,94,16,1,2,-0.775,-0.967259 } ); +cells.push_back( {21603421,3756,94,16,2,2,-0.775,-0.917696 } ); +cells.push_back( {21703411,3737,94,17,1,2,-0.825,-0.967259 } ); +cells.push_back( {21703421,3757,94,17,2,2,-0.825,-0.917696 } ); +cells.push_back( {21803411,3738,94,18,1,2,-0.875,-0.967259 } ); +cells.push_back( {21803421,3758,94,18,2,2,-0.875,-0.917696 } ); +cells.push_back( {21903411,3739,94,19,1,2,-0.925,-0.967259 } ); +cells.push_back( {21903421,3759,94,19,2,2,-0.925,-0.917696 } ); +cells.push_back( {22003411,3740,94,20,1,2,-0.967,-0.967259 } ); +cells.push_back( {22003421,3760,94,20,2,2,-0.967,-0.917696 } ); +cells.push_back( {20103412,3721,94,1,1,1,-0.02675,-0.967259 } ); +cells.push_back( {20103422,3741,94,1,2,1,-0.02675,-0.917696 } ); +cells.push_back( {20203412,3722,94,2,1,1,-0.075,-0.967259 } ); +cells.push_back( {20203422,3742,94,2,2,1,-0.075,-0.917696 } ); +cells.push_back( {20303412,3723,94,3,1,1,-0.125,-0.967259 } ); +cells.push_back( {20303422,3743,94,3,2,1,-0.125,-0.917696 } ); +cells.push_back( {20403412,3724,94,4,1,1,-0.175,-0.967259 } ); +cells.push_back( {20403422,3744,94,4,2,1,-0.175,-0.917696 } ); +cells.push_back( {20503412,3725,94,5,1,1,-0.225,-0.967259 } ); +cells.push_back( {20503422,3745,94,5,2,1,-0.225,-0.917696 } ); +cells.push_back( {20603412,3726,94,6,1,1,-0.275,-0.967259 } ); +cells.push_back( {20603422,3746,94,6,2,1,-0.275,-0.917696 } ); +cells.push_back( {20703412,3727,94,7,1,1,-0.325,-0.967259 } ); +cells.push_back( {20703422,3747,94,7,2,1,-0.325,-0.917696 } ); +cells.push_back( {20803412,3728,94,8,1,1,-0.375,-0.967259 } ); +cells.push_back( {20803422,3748,94,8,2,1,-0.375,-0.917696 } ); +cells.push_back( {20903412,3729,94,9,1,1,-0.425,-0.967259 } ); +cells.push_back( {20903422,3749,94,9,2,1,-0.425,-0.917696 } ); +cells.push_back( {21003412,3730,94,10,1,1,-0.475,-0.967259 } ); +cells.push_back( {21003422,3750,94,10,2,1,-0.475,-0.917696 } ); +cells.push_back( {21103412,3731,94,11,1,1,-0.525,-0.967259 } ); +cells.push_back( {21103422,3751,94,11,2,1,-0.525,-0.917696 } ); +cells.push_back( {21203412,3732,94,12,1,1,-0.575,-0.967259 } ); +cells.push_back( {21203422,3752,94,12,2,1,-0.575,-0.917696 } ); +cells.push_back( {21303412,3733,94,13,1,1,-0.625,-0.967259 } ); +cells.push_back( {21303422,3753,94,13,2,1,-0.625,-0.917696 } ); +cells.push_back( {21403412,3734,94,14,1,1,-0.675,-0.967259 } ); +cells.push_back( {21403422,3754,94,14,2,1,-0.675,-0.917696 } ); +cells.push_back( {21503412,3735,94,15,1,1,-0.725,-0.967259 } ); +cells.push_back( {21503422,3755,94,15,2,1,-0.725,-0.917696 } ); +cells.push_back( {21603412,3736,94,16,1,1,-0.775,-0.967259 } ); +cells.push_back( {21603422,3756,94,16,2,1,-0.775,-0.917696 } ); +cells.push_back( {21703412,3737,94,17,1,1,-0.825,-0.967259 } ); +cells.push_back( {21703422,3757,94,17,2,1,-0.825,-0.917696 } ); +cells.push_back( {21803412,3738,94,18,1,1,-0.875,-0.967259 } ); +cells.push_back( {21803422,3758,94,18,2,1,-0.875,-0.917696 } ); +cells.push_back( {21903412,3739,94,19,1,1,-0.925,-0.967259 } ); +cells.push_back( {21903422,3759,94,19,2,1,-0.925,-0.917696 } ); +cells.push_back( {22003412,3740,94,20,1,1,-0.967,-0.967259 } ); +cells.push_back( {22003422,3760,94,20,2,1,-0.967,-0.917696 } ); +cells.push_back( {20103511,3761,95,1,1,2,-0.02675,-0.862539 } ); +cells.push_back( {20103521,3781,95,1,2,2,-0.02675,-0.812976 } ); +cells.push_back( {20203511,3762,95,2,1,2,-0.075,-0.862539 } ); +cells.push_back( {20203521,3782,95,2,2,2,-0.075,-0.812976 } ); +cells.push_back( {20303511,3763,95,3,1,2,-0.125,-0.862539 } ); +cells.push_back( {20303521,3783,95,3,2,2,-0.125,-0.812976 } ); +cells.push_back( {20403511,3764,95,4,1,2,-0.175,-0.862539 } ); +cells.push_back( {20403521,3784,95,4,2,2,-0.175,-0.812976 } ); +cells.push_back( {20503511,3765,95,5,1,2,-0.225,-0.862539 } ); +cells.push_back( {20503521,3785,95,5,2,2,-0.225,-0.812976 } ); +cells.push_back( {20603511,3766,95,6,1,2,-0.275,-0.862539 } ); +cells.push_back( {20603521,3786,95,6,2,2,-0.275,-0.812976 } ); +cells.push_back( {20703511,3767,95,7,1,2,-0.325,-0.862539 } ); +cells.push_back( {20703521,3787,95,7,2,2,-0.325,-0.812976 } ); +cells.push_back( {20803511,3768,95,8,1,2,-0.375,-0.862539 } ); +cells.push_back( {20803521,3788,95,8,2,2,-0.375,-0.812976 } ); +cells.push_back( {20903511,3769,95,9,1,2,-0.425,-0.862539 } ); +cells.push_back( {20903521,3789,95,9,2,2,-0.425,-0.812976 } ); +cells.push_back( {21003511,3770,95,10,1,2,-0.475,-0.862539 } ); +cells.push_back( {21003521,3790,95,10,2,2,-0.475,-0.812976 } ); +cells.push_back( {21103511,3771,95,11,1,2,-0.525,-0.862539 } ); +cells.push_back( {21103521,3791,95,11,2,2,-0.525,-0.812976 } ); +cells.push_back( {21203511,3772,95,12,1,2,-0.575,-0.862539 } ); +cells.push_back( {21203521,3792,95,12,2,2,-0.575,-0.812976 } ); +cells.push_back( {21303511,3773,95,13,1,2,-0.625,-0.862539 } ); +cells.push_back( {21303521,3793,95,13,2,2,-0.625,-0.812976 } ); +cells.push_back( {21403511,3774,95,14,1,2,-0.675,-0.862539 } ); +cells.push_back( {21403521,3794,95,14,2,2,-0.675,-0.812976 } ); +cells.push_back( {21503511,3775,95,15,1,2,-0.725,-0.862539 } ); +cells.push_back( {21503521,3795,95,15,2,2,-0.725,-0.812976 } ); +cells.push_back( {21603511,3776,95,16,1,2,-0.775,-0.862539 } ); +cells.push_back( {21603521,3796,95,16,2,2,-0.775,-0.812976 } ); +cells.push_back( {21703511,3777,95,17,1,2,-0.825,-0.862539 } ); +cells.push_back( {21703521,3797,95,17,2,2,-0.825,-0.812976 } ); +cells.push_back( {21803511,3778,95,18,1,2,-0.875,-0.862539 } ); +cells.push_back( {21803521,3798,95,18,2,2,-0.875,-0.812976 } ); +cells.push_back( {21903511,3779,95,19,1,2,-0.925,-0.862539 } ); +cells.push_back( {21903521,3799,95,19,2,2,-0.925,-0.812976 } ); +cells.push_back( {22003511,3780,95,20,1,2,-0.967,-0.862539 } ); +cells.push_back( {22003521,3800,95,20,2,2,-0.967,-0.812976 } ); +cells.push_back( {20103512,3761,95,1,1,1,-0.02675,-0.862539 } ); +cells.push_back( {20103522,3781,95,1,2,1,-0.02675,-0.812976 } ); +cells.push_back( {20203512,3762,95,2,1,1,-0.075,-0.862539 } ); +cells.push_back( {20203522,3782,95,2,2,1,-0.075,-0.812976 } ); +cells.push_back( {20303512,3763,95,3,1,1,-0.125,-0.862539 } ); +cells.push_back( {20303522,3783,95,3,2,1,-0.125,-0.812976 } ); +cells.push_back( {20403512,3764,95,4,1,1,-0.175,-0.862539 } ); +cells.push_back( {20403522,3784,95,4,2,1,-0.175,-0.812976 } ); +cells.push_back( {20503512,3765,95,5,1,1,-0.225,-0.862539 } ); +cells.push_back( {20503522,3785,95,5,2,1,-0.225,-0.812976 } ); +cells.push_back( {20603512,3766,95,6,1,1,-0.275,-0.862539 } ); +cells.push_back( {20603522,3786,95,6,2,1,-0.275,-0.812976 } ); +cells.push_back( {20703512,3767,95,7,1,1,-0.325,-0.862539 } ); +cells.push_back( {20703522,3787,95,7,2,1,-0.325,-0.812976 } ); +cells.push_back( {20803512,3768,95,8,1,1,-0.375,-0.862539 } ); +cells.push_back( {20803522,3788,95,8,2,1,-0.375,-0.812976 } ); +cells.push_back( {20903512,3769,95,9,1,1,-0.425,-0.862539 } ); +cells.push_back( {20903522,3789,95,9,2,1,-0.425,-0.812976 } ); +cells.push_back( {21003512,3770,95,10,1,1,-0.475,-0.862539 } ); +cells.push_back( {21003522,3790,95,10,2,1,-0.475,-0.812976 } ); +cells.push_back( {21103512,3771,95,11,1,1,-0.525,-0.862539 } ); +cells.push_back( {21103522,3791,95,11,2,1,-0.525,-0.812976 } ); +cells.push_back( {21203512,3772,95,12,1,1,-0.575,-0.862539 } ); +cells.push_back( {21203522,3792,95,12,2,1,-0.575,-0.812976 } ); +cells.push_back( {21303512,3773,95,13,1,1,-0.625,-0.862539 } ); +cells.push_back( {21303522,3793,95,13,2,1,-0.625,-0.812976 } ); +cells.push_back( {21403512,3774,95,14,1,1,-0.675,-0.862539 } ); +cells.push_back( {21403522,3794,95,14,2,1,-0.675,-0.812976 } ); +cells.push_back( {21503512,3775,95,15,1,1,-0.725,-0.862539 } ); +cells.push_back( {21503522,3795,95,15,2,1,-0.725,-0.812976 } ); +cells.push_back( {21603512,3776,95,16,1,1,-0.775,-0.862539 } ); +cells.push_back( {21603522,3796,95,16,2,1,-0.775,-0.812976 } ); +cells.push_back( {21703512,3777,95,17,1,1,-0.825,-0.862539 } ); +cells.push_back( {21703522,3797,95,17,2,1,-0.825,-0.812976 } ); +cells.push_back( {21803512,3778,95,18,1,1,-0.875,-0.862539 } ); +cells.push_back( {21803522,3798,95,18,2,1,-0.875,-0.812976 } ); +cells.push_back( {21903512,3779,95,19,1,1,-0.925,-0.862539 } ); +cells.push_back( {21903522,3799,95,19,2,1,-0.925,-0.812976 } ); +cells.push_back( {22003512,3780,95,20,1,1,-0.967,-0.862539 } ); +cells.push_back( {22003522,3800,95,20,2,1,-0.967,-0.812976 } ); +cells.push_back( {20103611,3801,96,1,1,2,-0.02675,-0.75782 } ); +cells.push_back( {20103621,3821,96,1,2,2,-0.02675,-0.708257 } ); +cells.push_back( {20203611,3802,96,2,1,2,-0.075,-0.75782 } ); +cells.push_back( {20203621,3822,96,2,2,2,-0.075,-0.708257 } ); +cells.push_back( {20303611,3803,96,3,1,2,-0.125,-0.75782 } ); +cells.push_back( {20303621,3823,96,3,2,2,-0.125,-0.708257 } ); +cells.push_back( {20403611,3804,96,4,1,2,-0.175,-0.75782 } ); +cells.push_back( {20403621,3824,96,4,2,2,-0.175,-0.708257 } ); +cells.push_back( {20503611,3805,96,5,1,2,-0.225,-0.75782 } ); +cells.push_back( {20503621,3825,96,5,2,2,-0.225,-0.708257 } ); +cells.push_back( {20603611,3806,96,6,1,2,-0.275,-0.75782 } ); +cells.push_back( {20603621,3826,96,6,2,2,-0.275,-0.708257 } ); +cells.push_back( {20703611,3807,96,7,1,2,-0.325,-0.75782 } ); +cells.push_back( {20703621,3827,96,7,2,2,-0.325,-0.708257 } ); +cells.push_back( {20803611,3808,96,8,1,2,-0.375,-0.75782 } ); +cells.push_back( {20803621,3828,96,8,2,2,-0.375,-0.708257 } ); +cells.push_back( {20903611,3809,96,9,1,2,-0.425,-0.75782 } ); +cells.push_back( {20903621,3829,96,9,2,2,-0.425,-0.708257 } ); +cells.push_back( {21003611,3810,96,10,1,2,-0.475,-0.75782 } ); +cells.push_back( {21003621,3830,96,10,2,2,-0.475,-0.708257 } ); +cells.push_back( {21103611,3811,96,11,1,2,-0.525,-0.75782 } ); +cells.push_back( {21103621,3831,96,11,2,2,-0.525,-0.708257 } ); +cells.push_back( {21203611,3812,96,12,1,2,-0.575,-0.75782 } ); +cells.push_back( {21203621,3832,96,12,2,2,-0.575,-0.708257 } ); +cells.push_back( {21303611,3813,96,13,1,2,-0.625,-0.75782 } ); +cells.push_back( {21303621,3833,96,13,2,2,-0.625,-0.708257 } ); +cells.push_back( {21403611,3814,96,14,1,2,-0.675,-0.75782 } ); +cells.push_back( {21403621,3834,96,14,2,2,-0.675,-0.708257 } ); +cells.push_back( {21503611,3815,96,15,1,2,-0.725,-0.75782 } ); +cells.push_back( {21503621,3835,96,15,2,2,-0.725,-0.708257 } ); +cells.push_back( {21603611,3816,96,16,1,2,-0.775,-0.75782 } ); +cells.push_back( {21603621,3836,96,16,2,2,-0.775,-0.708257 } ); +cells.push_back( {21703611,3817,96,17,1,2,-0.825,-0.75782 } ); +cells.push_back( {21703621,3837,96,17,2,2,-0.825,-0.708257 } ); +cells.push_back( {21803611,3818,96,18,1,2,-0.875,-0.75782 } ); +cells.push_back( {21803621,3838,96,18,2,2,-0.875,-0.708257 } ); +cells.push_back( {21903611,3819,96,19,1,2,-0.925,-0.75782 } ); +cells.push_back( {21903621,3839,96,19,2,2,-0.925,-0.708257 } ); +cells.push_back( {22003611,3820,96,20,1,2,-0.967,-0.75782 } ); +cells.push_back( {22003621,3840,96,20,2,2,-0.967,-0.708257 } ); +cells.push_back( {20103612,3801,96,1,1,1,-0.02675,-0.75782 } ); +cells.push_back( {20103622,3821,96,1,2,1,-0.02675,-0.708257 } ); +cells.push_back( {20203612,3802,96,2,1,1,-0.075,-0.75782 } ); +cells.push_back( {20203622,3822,96,2,2,1,-0.075,-0.708257 } ); +cells.push_back( {20303612,3803,96,3,1,1,-0.125,-0.75782 } ); +cells.push_back( {20303622,3823,96,3,2,1,-0.125,-0.708257 } ); +cells.push_back( {20403612,3804,96,4,1,1,-0.175,-0.75782 } ); +cells.push_back( {20403622,3824,96,4,2,1,-0.175,-0.708257 } ); +cells.push_back( {20503612,3805,96,5,1,1,-0.225,-0.75782 } ); +cells.push_back( {20503622,3825,96,5,2,1,-0.225,-0.708257 } ); +cells.push_back( {20603612,3806,96,6,1,1,-0.275,-0.75782 } ); +cells.push_back( {20603622,3826,96,6,2,1,-0.275,-0.708257 } ); +cells.push_back( {20703612,3807,96,7,1,1,-0.325,-0.75782 } ); +cells.push_back( {20703622,3827,96,7,2,1,-0.325,-0.708257 } ); +cells.push_back( {20803612,3808,96,8,1,1,-0.375,-0.75782 } ); +cells.push_back( {20803622,3828,96,8,2,1,-0.375,-0.708257 } ); +cells.push_back( {20903612,3809,96,9,1,1,-0.425,-0.75782 } ); +cells.push_back( {20903622,3829,96,9,2,1,-0.425,-0.708257 } ); +cells.push_back( {21003612,3810,96,10,1,1,-0.475,-0.75782 } ); +cells.push_back( {21003622,3830,96,10,2,1,-0.475,-0.708257 } ); +cells.push_back( {21103612,3811,96,11,1,1,-0.525,-0.75782 } ); +cells.push_back( {21103622,3831,96,11,2,1,-0.525,-0.708257 } ); +cells.push_back( {21203612,3812,96,12,1,1,-0.575,-0.75782 } ); +cells.push_back( {21203622,3832,96,12,2,1,-0.575,-0.708257 } ); +cells.push_back( {21303612,3813,96,13,1,1,-0.625,-0.75782 } ); +cells.push_back( {21303622,3833,96,13,2,1,-0.625,-0.708257 } ); +cells.push_back( {21403612,3814,96,14,1,1,-0.675,-0.75782 } ); +cells.push_back( {21403622,3834,96,14,2,1,-0.675,-0.708257 } ); +cells.push_back( {21503612,3815,96,15,1,1,-0.725,-0.75782 } ); +cells.push_back( {21503622,3835,96,15,2,1,-0.725,-0.708257 } ); +cells.push_back( {21603612,3816,96,16,1,1,-0.775,-0.75782 } ); +cells.push_back( {21603622,3836,96,16,2,1,-0.775,-0.708257 } ); +cells.push_back( {21703612,3817,96,17,1,1,-0.825,-0.75782 } ); +cells.push_back( {21703622,3837,96,17,2,1,-0.825,-0.708257 } ); +cells.push_back( {21803612,3818,96,18,1,1,-0.875,-0.75782 } ); +cells.push_back( {21803622,3838,96,18,2,1,-0.875,-0.708257 } ); +cells.push_back( {21903612,3819,96,19,1,1,-0.925,-0.75782 } ); +cells.push_back( {21903622,3839,96,19,2,1,-0.925,-0.708257 } ); +cells.push_back( {22003612,3820,96,20,1,1,-0.967,-0.75782 } ); +cells.push_back( {22003622,3840,96,20,2,1,-0.967,-0.708257 } ); +cells.push_back( {20103711,3841,97,1,1,2,-0.02675,-0.6531 } ); +cells.push_back( {20103721,3861,97,1,2,2,-0.02675,-0.603537 } ); +cells.push_back( {20203711,3842,97,2,1,2,-0.075,-0.6531 } ); +cells.push_back( {20203721,3862,97,2,2,2,-0.075,-0.603537 } ); +cells.push_back( {20303711,3843,97,3,1,2,-0.125,-0.6531 } ); +cells.push_back( {20303721,3863,97,3,2,2,-0.125,-0.603537 } ); +cells.push_back( {20403711,3844,97,4,1,2,-0.175,-0.6531 } ); +cells.push_back( {20403721,3864,97,4,2,2,-0.175,-0.603537 } ); +cells.push_back( {20503711,3845,97,5,1,2,-0.225,-0.6531 } ); +cells.push_back( {20503721,3865,97,5,2,2,-0.225,-0.603537 } ); +cells.push_back( {20603711,3846,97,6,1,2,-0.275,-0.6531 } ); +cells.push_back( {20603721,3866,97,6,2,2,-0.275,-0.603537 } ); +cells.push_back( {20703711,3847,97,7,1,2,-0.325,-0.6531 } ); +cells.push_back( {20703721,3867,97,7,2,2,-0.325,-0.603537 } ); +cells.push_back( {20803711,3848,97,8,1,2,-0.375,-0.6531 } ); +cells.push_back( {20803721,3868,97,8,2,2,-0.375,-0.603537 } ); +cells.push_back( {20903711,3849,97,9,1,2,-0.425,-0.6531 } ); +cells.push_back( {20903721,3869,97,9,2,2,-0.425,-0.603537 } ); +cells.push_back( {21003711,3850,97,10,1,2,-0.475,-0.6531 } ); +cells.push_back( {21003721,3870,97,10,2,2,-0.475,-0.603537 } ); +cells.push_back( {21103711,3851,97,11,1,2,-0.525,-0.6531 } ); +cells.push_back( {21103721,3871,97,11,2,2,-0.525,-0.603537 } ); +cells.push_back( {21203711,3852,97,12,1,2,-0.575,-0.6531 } ); +cells.push_back( {21203721,3872,97,12,2,2,-0.575,-0.603537 } ); +cells.push_back( {21303711,3853,97,13,1,2,-0.625,-0.6531 } ); +cells.push_back( {21303721,3873,97,13,2,2,-0.625,-0.603537 } ); +cells.push_back( {21403711,3854,97,14,1,2,-0.675,-0.6531 } ); +cells.push_back( {21403721,3874,97,14,2,2,-0.675,-0.603537 } ); +cells.push_back( {21503711,3855,97,15,1,2,-0.725,-0.6531 } ); +cells.push_back( {21503721,3875,97,15,2,2,-0.725,-0.603537 } ); +cells.push_back( {21603711,3856,97,16,1,2,-0.775,-0.6531 } ); +cells.push_back( {21603721,3876,97,16,2,2,-0.775,-0.603537 } ); +cells.push_back( {21703711,3857,97,17,1,2,-0.825,-0.6531 } ); +cells.push_back( {21703721,3877,97,17,2,2,-0.825,-0.603537 } ); +cells.push_back( {21803711,3858,97,18,1,2,-0.875,-0.6531 } ); +cells.push_back( {21803721,3878,97,18,2,2,-0.875,-0.603537 } ); +cells.push_back( {21903711,3859,97,19,1,2,-0.925,-0.6531 } ); +cells.push_back( {21903721,3879,97,19,2,2,-0.925,-0.603537 } ); +cells.push_back( {22003711,3860,97,20,1,2,-0.967,-0.6531 } ); +cells.push_back( {22003721,3880,97,20,2,2,-0.967,-0.603537 } ); +cells.push_back( {20103712,3841,97,1,1,1,-0.02675,-0.6531 } ); +cells.push_back( {20103722,3861,97,1,2,1,-0.02675,-0.603537 } ); +cells.push_back( {20203712,3842,97,2,1,1,-0.075,-0.6531 } ); +cells.push_back( {20203722,3862,97,2,2,1,-0.075,-0.603537 } ); +cells.push_back( {20303712,3843,97,3,1,1,-0.125,-0.6531 } ); +cells.push_back( {20303722,3863,97,3,2,1,-0.125,-0.603537 } ); +cells.push_back( {20403712,3844,97,4,1,1,-0.175,-0.6531 } ); +cells.push_back( {20403722,3864,97,4,2,1,-0.175,-0.603537 } ); +cells.push_back( {20503712,3845,97,5,1,1,-0.225,-0.6531 } ); +cells.push_back( {20503722,3865,97,5,2,1,-0.225,-0.603537 } ); +cells.push_back( {20603712,3846,97,6,1,1,-0.275,-0.6531 } ); +cells.push_back( {20603722,3866,97,6,2,1,-0.275,-0.603537 } ); +cells.push_back( {20703712,3847,97,7,1,1,-0.325,-0.6531 } ); +cells.push_back( {20703722,3867,97,7,2,1,-0.325,-0.603537 } ); +cells.push_back( {20803712,3848,97,8,1,1,-0.375,-0.6531 } ); +cells.push_back( {20803722,3868,97,8,2,1,-0.375,-0.603537 } ); +cells.push_back( {20903712,3849,97,9,1,1,-0.425,-0.6531 } ); +cells.push_back( {20903722,3869,97,9,2,1,-0.425,-0.603537 } ); +cells.push_back( {21003712,3850,97,10,1,1,-0.475,-0.6531 } ); +cells.push_back( {21003722,3870,97,10,2,1,-0.475,-0.603537 } ); +cells.push_back( {21103712,3851,97,11,1,1,-0.525,-0.6531 } ); +cells.push_back( {21103722,3871,97,11,2,1,-0.525,-0.603537 } ); +cells.push_back( {21203712,3852,97,12,1,1,-0.575,-0.6531 } ); +cells.push_back( {21203722,3872,97,12,2,1,-0.575,-0.603537 } ); +cells.push_back( {21303712,3853,97,13,1,1,-0.625,-0.6531 } ); +cells.push_back( {21303722,3873,97,13,2,1,-0.625,-0.603537 } ); +cells.push_back( {21403712,3854,97,14,1,1,-0.675,-0.6531 } ); +cells.push_back( {21403722,3874,97,14,2,1,-0.675,-0.603537 } ); +cells.push_back( {21503712,3855,97,15,1,1,-0.725,-0.6531 } ); +cells.push_back( {21503722,3875,97,15,2,1,-0.725,-0.603537 } ); +cells.push_back( {21603712,3856,97,16,1,1,-0.775,-0.6531 } ); +cells.push_back( {21603722,3876,97,16,2,1,-0.775,-0.603537 } ); +cells.push_back( {21703712,3857,97,17,1,1,-0.825,-0.6531 } ); +cells.push_back( {21703722,3877,97,17,2,1,-0.825,-0.603537 } ); +cells.push_back( {21803712,3858,97,18,1,1,-0.875,-0.6531 } ); +cells.push_back( {21803722,3878,97,18,2,1,-0.875,-0.603537 } ); +cells.push_back( {21903712,3859,97,19,1,1,-0.925,-0.6531 } ); +cells.push_back( {21903722,3879,97,19,2,1,-0.925,-0.603537 } ); +cells.push_back( {22003712,3860,97,20,1,1,-0.967,-0.6531 } ); +cells.push_back( {22003722,3880,97,20,2,1,-0.967,-0.603537 } ); +cells.push_back( {20103811,3881,98,1,1,2,-0.02675,-0.54838 } ); +cells.push_back( {20103821,3901,98,1,2,2,-0.02675,-0.498817 } ); +cells.push_back( {20203811,3882,98,2,1,2,-0.075,-0.54838 } ); +cells.push_back( {20203821,3902,98,2,2,2,-0.075,-0.498817 } ); +cells.push_back( {20303811,3883,98,3,1,2,-0.125,-0.54838 } ); +cells.push_back( {20303821,3903,98,3,2,2,-0.125,-0.498817 } ); +cells.push_back( {20403811,3884,98,4,1,2,-0.175,-0.54838 } ); +cells.push_back( {20403821,3904,98,4,2,2,-0.175,-0.498817 } ); +cells.push_back( {20503811,3885,98,5,1,2,-0.225,-0.54838 } ); +cells.push_back( {20503821,3905,98,5,2,2,-0.225,-0.498817 } ); +cells.push_back( {20603811,3886,98,6,1,2,-0.275,-0.54838 } ); +cells.push_back( {20603821,3906,98,6,2,2,-0.275,-0.498817 } ); +cells.push_back( {20703811,3887,98,7,1,2,-0.325,-0.54838 } ); +cells.push_back( {20703821,3907,98,7,2,2,-0.325,-0.498817 } ); +cells.push_back( {20803811,3888,98,8,1,2,-0.375,-0.54838 } ); +cells.push_back( {20803821,3908,98,8,2,2,-0.375,-0.498817 } ); +cells.push_back( {20903811,3889,98,9,1,2,-0.425,-0.54838 } ); +cells.push_back( {20903821,3909,98,9,2,2,-0.425,-0.498817 } ); +cells.push_back( {21003811,3890,98,10,1,2,-0.475,-0.54838 } ); +cells.push_back( {21003821,3910,98,10,2,2,-0.475,-0.498817 } ); +cells.push_back( {21103811,3891,98,11,1,2,-0.525,-0.54838 } ); +cells.push_back( {21103821,3911,98,11,2,2,-0.525,-0.498817 } ); +cells.push_back( {21203811,3892,98,12,1,2,-0.575,-0.54838 } ); +cells.push_back( {21203821,3912,98,12,2,2,-0.575,-0.498817 } ); +cells.push_back( {21303811,3893,98,13,1,2,-0.625,-0.54838 } ); +cells.push_back( {21303821,3913,98,13,2,2,-0.625,-0.498817 } ); +cells.push_back( {21403811,3894,98,14,1,2,-0.675,-0.54838 } ); +cells.push_back( {21403821,3914,98,14,2,2,-0.675,-0.498817 } ); +cells.push_back( {21503811,3895,98,15,1,2,-0.725,-0.54838 } ); +cells.push_back( {21503821,3915,98,15,2,2,-0.725,-0.498817 } ); +cells.push_back( {21603811,3896,98,16,1,2,-0.775,-0.54838 } ); +cells.push_back( {21603821,3916,98,16,2,2,-0.775,-0.498817 } ); +cells.push_back( {21703811,3897,98,17,1,2,-0.825,-0.54838 } ); +cells.push_back( {21703821,3917,98,17,2,2,-0.825,-0.498817 } ); +cells.push_back( {21803811,3898,98,18,1,2,-0.875,-0.54838 } ); +cells.push_back( {21803821,3918,98,18,2,2,-0.875,-0.498817 } ); +cells.push_back( {21903811,3899,98,19,1,2,-0.925,-0.54838 } ); +cells.push_back( {21903821,3919,98,19,2,2,-0.925,-0.498817 } ); +cells.push_back( {22003811,3900,98,20,1,2,-0.967,-0.54838 } ); +cells.push_back( {22003821,3920,98,20,2,2,-0.967,-0.498817 } ); +cells.push_back( {20103812,3881,98,1,1,1,-0.02675,-0.54838 } ); +cells.push_back( {20103822,3901,98,1,2,1,-0.02675,-0.498817 } ); +cells.push_back( {20203812,3882,98,2,1,1,-0.075,-0.54838 } ); +cells.push_back( {20203822,3902,98,2,2,1,-0.075,-0.498817 } ); +cells.push_back( {20303812,3883,98,3,1,1,-0.125,-0.54838 } ); +cells.push_back( {20303822,3903,98,3,2,1,-0.125,-0.498817 } ); +cells.push_back( {20403812,3884,98,4,1,1,-0.175,-0.54838 } ); +cells.push_back( {20403822,3904,98,4,2,1,-0.175,-0.498817 } ); +cells.push_back( {20503812,3885,98,5,1,1,-0.225,-0.54838 } ); +cells.push_back( {20503822,3905,98,5,2,1,-0.225,-0.498817 } ); +cells.push_back( {20603812,3886,98,6,1,1,-0.275,-0.54838 } ); +cells.push_back( {20603822,3906,98,6,2,1,-0.275,-0.498817 } ); +cells.push_back( {20703812,3887,98,7,1,1,-0.325,-0.54838 } ); +cells.push_back( {20703822,3907,98,7,2,1,-0.325,-0.498817 } ); +cells.push_back( {20803812,3888,98,8,1,1,-0.375,-0.54838 } ); +cells.push_back( {20803822,3908,98,8,2,1,-0.375,-0.498817 } ); +cells.push_back( {20903812,3889,98,9,1,1,-0.425,-0.54838 } ); +cells.push_back( {20903822,3909,98,9,2,1,-0.425,-0.498817 } ); +cells.push_back( {21003812,3890,98,10,1,1,-0.475,-0.54838 } ); +cells.push_back( {21003822,3910,98,10,2,1,-0.475,-0.498817 } ); +cells.push_back( {21103812,3891,98,11,1,1,-0.525,-0.54838 } ); +cells.push_back( {21103822,3911,98,11,2,1,-0.525,-0.498817 } ); +cells.push_back( {21203812,3892,98,12,1,1,-0.575,-0.54838 } ); +cells.push_back( {21203822,3912,98,12,2,1,-0.575,-0.498817 } ); +cells.push_back( {21303812,3893,98,13,1,1,-0.625,-0.54838 } ); +cells.push_back( {21303822,3913,98,13,2,1,-0.625,-0.498817 } ); +cells.push_back( {21403812,3894,98,14,1,1,-0.675,-0.54838 } ); +cells.push_back( {21403822,3914,98,14,2,1,-0.675,-0.498817 } ); +cells.push_back( {21503812,3895,98,15,1,1,-0.725,-0.54838 } ); +cells.push_back( {21503822,3915,98,15,2,1,-0.725,-0.498817 } ); +cells.push_back( {21603812,3896,98,16,1,1,-0.775,-0.54838 } ); +cells.push_back( {21603822,3916,98,16,2,1,-0.775,-0.498817 } ); +cells.push_back( {21703812,3897,98,17,1,1,-0.825,-0.54838 } ); +cells.push_back( {21703822,3917,98,17,2,1,-0.825,-0.498817 } ); +cells.push_back( {21803812,3898,98,18,1,1,-0.875,-0.54838 } ); +cells.push_back( {21803822,3918,98,18,2,1,-0.875,-0.498817 } ); +cells.push_back( {21903812,3899,98,19,1,1,-0.925,-0.54838 } ); +cells.push_back( {21903822,3919,98,19,2,1,-0.925,-0.498817 } ); +cells.push_back( {22003812,3900,98,20,1,1,-0.967,-0.54838 } ); +cells.push_back( {22003822,3920,98,20,2,1,-0.967,-0.498817 } ); +cells.push_back( {20103911,3921,99,1,1,2,-0.02675,-0.44366 } ); +cells.push_back( {20103921,3941,99,1,2,2,-0.02675,-0.394097 } ); +cells.push_back( {20203911,3922,99,2,1,2,-0.075,-0.44366 } ); +cells.push_back( {20203921,3942,99,2,2,2,-0.075,-0.394097 } ); +cells.push_back( {20303911,3923,99,3,1,2,-0.125,-0.44366 } ); +cells.push_back( {20303921,3943,99,3,2,2,-0.125,-0.394097 } ); +cells.push_back( {20403911,3924,99,4,1,2,-0.175,-0.44366 } ); +cells.push_back( {20403921,3944,99,4,2,2,-0.175,-0.394097 } ); +cells.push_back( {20503911,3925,99,5,1,2,-0.225,-0.44366 } ); +cells.push_back( {20503921,3945,99,5,2,2,-0.225,-0.394097 } ); +cells.push_back( {20603911,3926,99,6,1,2,-0.275,-0.44366 } ); +cells.push_back( {20603921,3946,99,6,2,2,-0.275,-0.394097 } ); +cells.push_back( {20703911,3927,99,7,1,2,-0.325,-0.44366 } ); +cells.push_back( {20703921,3947,99,7,2,2,-0.325,-0.394097 } ); +cells.push_back( {20803911,3928,99,8,1,2,-0.375,-0.44366 } ); +cells.push_back( {20803921,3948,99,8,2,2,-0.375,-0.394097 } ); +cells.push_back( {20903911,3929,99,9,1,2,-0.425,-0.44366 } ); +cells.push_back( {20903921,3949,99,9,2,2,-0.425,-0.394097 } ); +cells.push_back( {21003911,3930,99,10,1,2,-0.475,-0.44366 } ); +cells.push_back( {21003921,3950,99,10,2,2,-0.475,-0.394097 } ); +cells.push_back( {21103911,3931,99,11,1,2,-0.525,-0.44366 } ); +cells.push_back( {21103921,3951,99,11,2,2,-0.525,-0.394097 } ); +cells.push_back( {21203911,3932,99,12,1,2,-0.575,-0.44366 } ); +cells.push_back( {21203921,3952,99,12,2,2,-0.575,-0.394097 } ); +cells.push_back( {21303911,3933,99,13,1,2,-0.625,-0.44366 } ); +cells.push_back( {21303921,3953,99,13,2,2,-0.625,-0.394097 } ); +cells.push_back( {21403911,3934,99,14,1,2,-0.675,-0.44366 } ); +cells.push_back( {21403921,3954,99,14,2,2,-0.675,-0.394097 } ); +cells.push_back( {21503911,3935,99,15,1,2,-0.725,-0.44366 } ); +cells.push_back( {21503921,3955,99,15,2,2,-0.725,-0.394097 } ); +cells.push_back( {21603911,3936,99,16,1,2,-0.775,-0.44366 } ); +cells.push_back( {21603921,3956,99,16,2,2,-0.775,-0.394097 } ); +cells.push_back( {21703911,3937,99,17,1,2,-0.825,-0.44366 } ); +cells.push_back( {21703921,3957,99,17,2,2,-0.825,-0.394097 } ); +cells.push_back( {21803911,3938,99,18,1,2,-0.875,-0.44366 } ); +cells.push_back( {21803921,3958,99,18,2,2,-0.875,-0.394097 } ); +cells.push_back( {21903911,3939,99,19,1,2,-0.925,-0.44366 } ); +cells.push_back( {21903921,3959,99,19,2,2,-0.925,-0.394097 } ); +cells.push_back( {22003911,3940,99,20,1,2,-0.967,-0.44366 } ); +cells.push_back( {22003921,3960,99,20,2,2,-0.967,-0.394097 } ); +cells.push_back( {20103912,3921,99,1,1,1,-0.02675,-0.44366 } ); +cells.push_back( {20103922,3941,99,1,2,1,-0.02675,-0.394097 } ); +cells.push_back( {20203912,3922,99,2,1,1,-0.075,-0.44366 } ); +cells.push_back( {20203922,3942,99,2,2,1,-0.075,-0.394097 } ); +cells.push_back( {20303912,3923,99,3,1,1,-0.125,-0.44366 } ); +cells.push_back( {20303922,3943,99,3,2,1,-0.125,-0.394097 } ); +cells.push_back( {20403912,3924,99,4,1,1,-0.175,-0.44366 } ); +cells.push_back( {20403922,3944,99,4,2,1,-0.175,-0.394097 } ); +cells.push_back( {20503912,3925,99,5,1,1,-0.225,-0.44366 } ); +cells.push_back( {20503922,3945,99,5,2,1,-0.225,-0.394097 } ); +cells.push_back( {20603912,3926,99,6,1,1,-0.275,-0.44366 } ); +cells.push_back( {20603922,3946,99,6,2,1,-0.275,-0.394097 } ); +cells.push_back( {20703912,3927,99,7,1,1,-0.325,-0.44366 } ); +cells.push_back( {20703922,3947,99,7,2,1,-0.325,-0.394097 } ); +cells.push_back( {20803912,3928,99,8,1,1,-0.375,-0.44366 } ); +cells.push_back( {20803922,3948,99,8,2,1,-0.375,-0.394097 } ); +cells.push_back( {20903912,3929,99,9,1,1,-0.425,-0.44366 } ); +cells.push_back( {20903922,3949,99,9,2,1,-0.425,-0.394097 } ); +cells.push_back( {21003912,3930,99,10,1,1,-0.475,-0.44366 } ); +cells.push_back( {21003922,3950,99,10,2,1,-0.475,-0.394097 } ); +cells.push_back( {21103912,3931,99,11,1,1,-0.525,-0.44366 } ); +cells.push_back( {21103922,3951,99,11,2,1,-0.525,-0.394097 } ); +cells.push_back( {21203912,3932,99,12,1,1,-0.575,-0.44366 } ); +cells.push_back( {21203922,3952,99,12,2,1,-0.575,-0.394097 } ); +cells.push_back( {21303912,3933,99,13,1,1,-0.625,-0.44366 } ); +cells.push_back( {21303922,3953,99,13,2,1,-0.625,-0.394097 } ); +cells.push_back( {21403912,3934,99,14,1,1,-0.675,-0.44366 } ); +cells.push_back( {21403922,3954,99,14,2,1,-0.675,-0.394097 } ); +cells.push_back( {21503912,3935,99,15,1,1,-0.725,-0.44366 } ); +cells.push_back( {21503922,3955,99,15,2,1,-0.725,-0.394097 } ); +cells.push_back( {21603912,3936,99,16,1,1,-0.775,-0.44366 } ); +cells.push_back( {21603922,3956,99,16,2,1,-0.775,-0.394097 } ); +cells.push_back( {21703912,3937,99,17,1,1,-0.825,-0.44366 } ); +cells.push_back( {21703922,3957,99,17,2,1,-0.825,-0.394097 } ); +cells.push_back( {21803912,3938,99,18,1,1,-0.875,-0.44366 } ); +cells.push_back( {21803922,3958,99,18,2,1,-0.875,-0.394097 } ); +cells.push_back( {21903912,3939,99,19,1,1,-0.925,-0.44366 } ); +cells.push_back( {21903922,3959,99,19,2,1,-0.925,-0.394097 } ); +cells.push_back( {22003912,3940,99,20,1,1,-0.967,-0.44366 } ); +cells.push_back( {22003922,3960,99,20,2,1,-0.967,-0.394097 } ); +cells.push_back( {20104011,3961,100,1,1,2,-0.02675,-0.338941 } ); +cells.push_back( {20104021,3981,100,1,2,2,-0.02675,-0.289378 } ); +cells.push_back( {20204011,3962,100,2,1,2,-0.075,-0.338941 } ); +cells.push_back( {20204021,3982,100,2,2,2,-0.075,-0.289378 } ); +cells.push_back( {20304011,3963,100,3,1,2,-0.125,-0.338941 } ); +cells.push_back( {20304021,3983,100,3,2,2,-0.125,-0.289378 } ); +cells.push_back( {20404011,3964,100,4,1,2,-0.175,-0.338941 } ); +cells.push_back( {20404021,3984,100,4,2,2,-0.175,-0.289378 } ); +cells.push_back( {20504011,3965,100,5,1,2,-0.225,-0.338941 } ); +cells.push_back( {20504021,3985,100,5,2,2,-0.225,-0.289378 } ); +cells.push_back( {20604011,3966,100,6,1,2,-0.275,-0.338941 } ); +cells.push_back( {20604021,3986,100,6,2,2,-0.275,-0.289378 } ); +cells.push_back( {20704011,3967,100,7,1,2,-0.325,-0.338941 } ); +cells.push_back( {20704021,3987,100,7,2,2,-0.325,-0.289378 } ); +cells.push_back( {20804011,3968,100,8,1,2,-0.375,-0.338941 } ); +cells.push_back( {20804021,3988,100,8,2,2,-0.375,-0.289378 } ); +cells.push_back( {20904011,3969,100,9,1,2,-0.425,-0.338941 } ); +cells.push_back( {20904021,3989,100,9,2,2,-0.425,-0.289378 } ); +cells.push_back( {21004011,3970,100,10,1,2,-0.475,-0.338941 } ); +cells.push_back( {21004021,3990,100,10,2,2,-0.475,-0.289378 } ); +cells.push_back( {21104011,3971,100,11,1,2,-0.525,-0.338941 } ); +cells.push_back( {21104021,3991,100,11,2,2,-0.525,-0.289378 } ); +cells.push_back( {21204011,3972,100,12,1,2,-0.575,-0.338941 } ); +cells.push_back( {21204021,3992,100,12,2,2,-0.575,-0.289378 } ); +cells.push_back( {21304011,3973,100,13,1,2,-0.625,-0.338941 } ); +cells.push_back( {21304021,3993,100,13,2,2,-0.625,-0.289378 } ); +cells.push_back( {21404011,3974,100,14,1,2,-0.675,-0.338941 } ); +cells.push_back( {21404021,3994,100,14,2,2,-0.675,-0.289378 } ); +cells.push_back( {21504011,3975,100,15,1,2,-0.725,-0.338941 } ); +cells.push_back( {21504021,3995,100,15,2,2,-0.725,-0.289378 } ); +cells.push_back( {21604011,3976,100,16,1,2,-0.775,-0.338941 } ); +cells.push_back( {21604021,3996,100,16,2,2,-0.775,-0.289378 } ); +cells.push_back( {21704011,3977,100,17,1,2,-0.825,-0.338941 } ); +cells.push_back( {21704021,3997,100,17,2,2,-0.825,-0.289378 } ); +cells.push_back( {21804011,3978,100,18,1,2,-0.875,-0.338941 } ); +cells.push_back( {21804021,3998,100,18,2,2,-0.875,-0.289378 } ); +cells.push_back( {21904011,3979,100,19,1,2,-0.925,-0.338941 } ); +cells.push_back( {21904021,3999,100,19,2,2,-0.925,-0.289378 } ); +cells.push_back( {22004011,3980,100,20,1,2,-0.967,-0.338941 } ); +cells.push_back( {22004021,4000,100,20,2,2,-0.967,-0.289378 } ); +cells.push_back( {20104012,3961,100,1,1,1,-0.02675,-0.338941 } ); +cells.push_back( {20104022,3981,100,1,2,1,-0.02675,-0.289378 } ); +cells.push_back( {20204012,3962,100,2,1,1,-0.075,-0.338941 } ); +cells.push_back( {20204022,3982,100,2,2,1,-0.075,-0.289378 } ); +cells.push_back( {20304012,3963,100,3,1,1,-0.125,-0.338941 } ); +cells.push_back( {20304022,3983,100,3,2,1,-0.125,-0.289378 } ); +cells.push_back( {20404012,3964,100,4,1,1,-0.175,-0.338941 } ); +cells.push_back( {20404022,3984,100,4,2,1,-0.175,-0.289378 } ); +cells.push_back( {20504012,3965,100,5,1,1,-0.225,-0.338941 } ); +cells.push_back( {20504022,3985,100,5,2,1,-0.225,-0.289378 } ); +cells.push_back( {20604012,3966,100,6,1,1,-0.275,-0.338941 } ); +cells.push_back( {20604022,3986,100,6,2,1,-0.275,-0.289378 } ); +cells.push_back( {20704012,3967,100,7,1,1,-0.325,-0.338941 } ); +cells.push_back( {20704022,3987,100,7,2,1,-0.325,-0.289378 } ); +cells.push_back( {20804012,3968,100,8,1,1,-0.375,-0.338941 } ); +cells.push_back( {20804022,3988,100,8,2,1,-0.375,-0.289378 } ); +cells.push_back( {20904012,3969,100,9,1,1,-0.425,-0.338941 } ); +cells.push_back( {20904022,3989,100,9,2,1,-0.425,-0.289378 } ); +cells.push_back( {21004012,3970,100,10,1,1,-0.475,-0.338941 } ); +cells.push_back( {21004022,3990,100,10,2,1,-0.475,-0.289378 } ); +cells.push_back( {21104012,3971,100,11,1,1,-0.525,-0.338941 } ); +cells.push_back( {21104022,3991,100,11,2,1,-0.525,-0.289378 } ); +cells.push_back( {21204012,3972,100,12,1,1,-0.575,-0.338941 } ); +cells.push_back( {21204022,3992,100,12,2,1,-0.575,-0.289378 } ); +cells.push_back( {21304012,3973,100,13,1,1,-0.625,-0.338941 } ); +cells.push_back( {21304022,3993,100,13,2,1,-0.625,-0.289378 } ); +cells.push_back( {21404012,3974,100,14,1,1,-0.675,-0.338941 } ); +cells.push_back( {21404022,3994,100,14,2,1,-0.675,-0.289378 } ); +cells.push_back( {21504012,3975,100,15,1,1,-0.725,-0.338941 } ); +cells.push_back( {21504022,3995,100,15,2,1,-0.725,-0.289378 } ); +cells.push_back( {21604012,3976,100,16,1,1,-0.775,-0.338941 } ); +cells.push_back( {21604022,3996,100,16,2,1,-0.775,-0.289378 } ); +cells.push_back( {21704012,3977,100,17,1,1,-0.825,-0.338941 } ); +cells.push_back( {21704022,3997,100,17,2,1,-0.825,-0.289378 } ); +cells.push_back( {21804012,3978,100,18,1,1,-0.875,-0.338941 } ); +cells.push_back( {21804022,3998,100,18,2,1,-0.875,-0.289378 } ); +cells.push_back( {21904012,3979,100,19,1,1,-0.925,-0.338941 } ); +cells.push_back( {21904022,3999,100,19,2,1,-0.925,-0.289378 } ); +cells.push_back( {22004012,3980,100,20,1,1,-0.967,-0.338941 } ); +cells.push_back( {22004022,4000,100,20,2,1,-0.967,-0.289378 } ); +cells.push_back( {20104111,4001,101,1,1,2,-0.02675,-0.234221 } ); +cells.push_back( {20104121,4021,101,1,2,2,-0.02675,-0.184658 } ); +cells.push_back( {20204111,4002,101,2,1,2,-0.075,-0.234221 } ); +cells.push_back( {20204121,4022,101,2,2,2,-0.075,-0.184658 } ); +cells.push_back( {20304111,4003,101,3,1,2,-0.125,-0.234221 } ); +cells.push_back( {20304121,4023,101,3,2,2,-0.125,-0.184658 } ); +cells.push_back( {20404111,4004,101,4,1,2,-0.175,-0.234221 } ); +cells.push_back( {20404121,4024,101,4,2,2,-0.175,-0.184658 } ); +cells.push_back( {20504111,4005,101,5,1,2,-0.225,-0.234221 } ); +cells.push_back( {20504121,4025,101,5,2,2,-0.225,-0.184658 } ); +cells.push_back( {20604111,4006,101,6,1,2,-0.275,-0.234221 } ); +cells.push_back( {20604121,4026,101,6,2,2,-0.275,-0.184658 } ); +cells.push_back( {20704111,4007,101,7,1,2,-0.325,-0.234221 } ); +cells.push_back( {20704121,4027,101,7,2,2,-0.325,-0.184658 } ); +cells.push_back( {20804111,4008,101,8,1,2,-0.375,-0.234221 } ); +cells.push_back( {20804121,4028,101,8,2,2,-0.375,-0.184658 } ); +cells.push_back( {20904111,4009,101,9,1,2,-0.425,-0.234221 } ); +cells.push_back( {20904121,4029,101,9,2,2,-0.425,-0.184658 } ); +cells.push_back( {21004111,4010,101,10,1,2,-0.475,-0.234221 } ); +cells.push_back( {21004121,4030,101,10,2,2,-0.475,-0.184658 } ); +cells.push_back( {21104111,4011,101,11,1,2,-0.525,-0.234221 } ); +cells.push_back( {21104121,4031,101,11,2,2,-0.525,-0.184658 } ); +cells.push_back( {21204111,4012,101,12,1,2,-0.575,-0.234221 } ); +cells.push_back( {21204121,4032,101,12,2,2,-0.575,-0.184658 } ); +cells.push_back( {21304111,4013,101,13,1,2,-0.625,-0.234221 } ); +cells.push_back( {21304121,4033,101,13,2,2,-0.625,-0.184658 } ); +cells.push_back( {21404111,4014,101,14,1,2,-0.675,-0.234221 } ); +cells.push_back( {21404121,4034,101,14,2,2,-0.675,-0.184658 } ); +cells.push_back( {21504111,4015,101,15,1,2,-0.725,-0.234221 } ); +cells.push_back( {21504121,4035,101,15,2,2,-0.725,-0.184658 } ); +cells.push_back( {21604111,4016,101,16,1,2,-0.775,-0.234221 } ); +cells.push_back( {21604121,4036,101,16,2,2,-0.775,-0.184658 } ); +cells.push_back( {21704111,4017,101,17,1,2,-0.825,-0.234221 } ); +cells.push_back( {21704121,4037,101,17,2,2,-0.825,-0.184658 } ); +cells.push_back( {21804111,4018,101,18,1,2,-0.875,-0.234221 } ); +cells.push_back( {21804121,4038,101,18,2,2,-0.875,-0.184658 } ); +cells.push_back( {21904111,4019,101,19,1,2,-0.925,-0.234221 } ); +cells.push_back( {21904121,4039,101,19,2,2,-0.925,-0.184658 } ); +cells.push_back( {22004111,4020,101,20,1,2,-0.967,-0.234221 } ); +cells.push_back( {22004121,4040,101,20,2,2,-0.967,-0.184658 } ); +cells.push_back( {20104112,4001,101,1,1,1,-0.02675,-0.234221 } ); +cells.push_back( {20104122,4021,101,1,2,1,-0.02675,-0.184658 } ); +cells.push_back( {20204112,4002,101,2,1,1,-0.075,-0.234221 } ); +cells.push_back( {20204122,4022,101,2,2,1,-0.075,-0.184658 } ); +cells.push_back( {20304112,4003,101,3,1,1,-0.125,-0.234221 } ); +cells.push_back( {20304122,4023,101,3,2,1,-0.125,-0.184658 } ); +cells.push_back( {20404112,4004,101,4,1,1,-0.175,-0.234221 } ); +cells.push_back( {20404122,4024,101,4,2,1,-0.175,-0.184658 } ); +cells.push_back( {20504112,4005,101,5,1,1,-0.225,-0.234221 } ); +cells.push_back( {20504122,4025,101,5,2,1,-0.225,-0.184658 } ); +cells.push_back( {20604112,4006,101,6,1,1,-0.275,-0.234221 } ); +cells.push_back( {20604122,4026,101,6,2,1,-0.275,-0.184658 } ); +cells.push_back( {20704112,4007,101,7,1,1,-0.325,-0.234221 } ); +cells.push_back( {20704122,4027,101,7,2,1,-0.325,-0.184658 } ); +cells.push_back( {20804112,4008,101,8,1,1,-0.375,-0.234221 } ); +cells.push_back( {20804122,4028,101,8,2,1,-0.375,-0.184658 } ); +cells.push_back( {20904112,4009,101,9,1,1,-0.425,-0.234221 } ); +cells.push_back( {20904122,4029,101,9,2,1,-0.425,-0.184658 } ); +cells.push_back( {21004112,4010,101,10,1,1,-0.475,-0.234221 } ); +cells.push_back( {21004122,4030,101,10,2,1,-0.475,-0.184658 } ); +cells.push_back( {21104112,4011,101,11,1,1,-0.525,-0.234221 } ); +cells.push_back( {21104122,4031,101,11,2,1,-0.525,-0.184658 } ); +cells.push_back( {21204112,4012,101,12,1,1,-0.575,-0.234221 } ); +cells.push_back( {21204122,4032,101,12,2,1,-0.575,-0.184658 } ); +cells.push_back( {21304112,4013,101,13,1,1,-0.625,-0.234221 } ); +cells.push_back( {21304122,4033,101,13,2,1,-0.625,-0.184658 } ); +cells.push_back( {21404112,4014,101,14,1,1,-0.675,-0.234221 } ); +cells.push_back( {21404122,4034,101,14,2,1,-0.675,-0.184658 } ); +cells.push_back( {21504112,4015,101,15,1,1,-0.725,-0.234221 } ); +cells.push_back( {21504122,4035,101,15,2,1,-0.725,-0.184658 } ); +cells.push_back( {21604112,4016,101,16,1,1,-0.775,-0.234221 } ); +cells.push_back( {21604122,4036,101,16,2,1,-0.775,-0.184658 } ); +cells.push_back( {21704112,4017,101,17,1,1,-0.825,-0.234221 } ); +cells.push_back( {21704122,4037,101,17,2,1,-0.825,-0.184658 } ); +cells.push_back( {21804112,4018,101,18,1,1,-0.875,-0.234221 } ); +cells.push_back( {21804122,4038,101,18,2,1,-0.875,-0.184658 } ); +cells.push_back( {21904112,4019,101,19,1,1,-0.925,-0.234221 } ); +cells.push_back( {21904122,4039,101,19,2,1,-0.925,-0.184658 } ); +cells.push_back( {22004112,4020,101,20,1,1,-0.967,-0.234221 } ); +cells.push_back( {22004122,4040,101,20,2,1,-0.967,-0.184658 } ); +cells.push_back( {20104211,4041,102,1,1,2,-0.02675,-0.129501 } ); +cells.push_back( {20104221,4061,102,1,2,2,-0.02675,-0.0799382 } ); +cells.push_back( {20204211,4042,102,2,1,2,-0.075,-0.129501 } ); +cells.push_back( {20204221,4062,102,2,2,2,-0.075,-0.0799382 } ); +cells.push_back( {20304211,4043,102,3,1,2,-0.125,-0.129501 } ); +cells.push_back( {20304221,4063,102,3,2,2,-0.125,-0.0799382 } ); +cells.push_back( {20404211,4044,102,4,1,2,-0.175,-0.129501 } ); +cells.push_back( {20404221,4064,102,4,2,2,-0.175,-0.0799382 } ); +cells.push_back( {20504211,4045,102,5,1,2,-0.225,-0.129501 } ); +cells.push_back( {20504221,4065,102,5,2,2,-0.225,-0.0799382 } ); +cells.push_back( {20604211,4046,102,6,1,2,-0.275,-0.129501 } ); +cells.push_back( {20604221,4066,102,6,2,2,-0.275,-0.0799382 } ); +cells.push_back( {20704211,4047,102,7,1,2,-0.325,-0.129501 } ); +cells.push_back( {20704221,4067,102,7,2,2,-0.325,-0.0799382 } ); +cells.push_back( {20804211,4048,102,8,1,2,-0.375,-0.129501 } ); +cells.push_back( {20804221,4068,102,8,2,2,-0.375,-0.0799382 } ); +cells.push_back( {20904211,4049,102,9,1,2,-0.425,-0.129501 } ); +cells.push_back( {20904221,4069,102,9,2,2,-0.425,-0.0799382 } ); +cells.push_back( {21004211,4050,102,10,1,2,-0.475,-0.129501 } ); +cells.push_back( {21004221,4070,102,10,2,2,-0.475,-0.0799382 } ); +cells.push_back( {21104211,4051,102,11,1,2,-0.525,-0.129501 } ); +cells.push_back( {21104221,4071,102,11,2,2,-0.525,-0.0799382 } ); +cells.push_back( {21204211,4052,102,12,1,2,-0.575,-0.129501 } ); +cells.push_back( {21204221,4072,102,12,2,2,-0.575,-0.0799382 } ); +cells.push_back( {21304211,4053,102,13,1,2,-0.625,-0.129501 } ); +cells.push_back( {21304221,4073,102,13,2,2,-0.625,-0.0799382 } ); +cells.push_back( {21404211,4054,102,14,1,2,-0.675,-0.129501 } ); +cells.push_back( {21404221,4074,102,14,2,2,-0.675,-0.0799382 } ); +cells.push_back( {21504211,4055,102,15,1,2,-0.725,-0.129501 } ); +cells.push_back( {21504221,4075,102,15,2,2,-0.725,-0.0799382 } ); +cells.push_back( {21604211,4056,102,16,1,2,-0.775,-0.129501 } ); +cells.push_back( {21604221,4076,102,16,2,2,-0.775,-0.0799382 } ); +cells.push_back( {21704211,4057,102,17,1,2,-0.825,-0.129501 } ); +cells.push_back( {21704221,4077,102,17,2,2,-0.825,-0.0799382 } ); +cells.push_back( {21804211,4058,102,18,1,2,-0.875,-0.129501 } ); +cells.push_back( {21804221,4078,102,18,2,2,-0.875,-0.0799382 } ); +cells.push_back( {21904211,4059,102,19,1,2,-0.925,-0.129501 } ); +cells.push_back( {21904221,4079,102,19,2,2,-0.925,-0.0799382 } ); +cells.push_back( {22004211,4060,102,20,1,2,-0.967,-0.129501 } ); +cells.push_back( {22004221,4080,102,20,2,2,-0.967,-0.0799382 } ); +cells.push_back( {20104212,4041,102,1,1,1,-0.02675,-0.129501 } ); +cells.push_back( {20104222,4061,102,1,2,1,-0.02675,-0.0799382 } ); +cells.push_back( {20204212,4042,102,2,1,1,-0.075,-0.129501 } ); +cells.push_back( {20204222,4062,102,2,2,1,-0.075,-0.0799382 } ); +cells.push_back( {20304212,4043,102,3,1,1,-0.125,-0.129501 } ); +cells.push_back( {20304222,4063,102,3,2,1,-0.125,-0.0799382 } ); +cells.push_back( {20404212,4044,102,4,1,1,-0.175,-0.129501 } ); +cells.push_back( {20404222,4064,102,4,2,1,-0.175,-0.0799382 } ); +cells.push_back( {20504212,4045,102,5,1,1,-0.225,-0.129501 } ); +cells.push_back( {20504222,4065,102,5,2,1,-0.225,-0.0799382 } ); +cells.push_back( {20604212,4046,102,6,1,1,-0.275,-0.129501 } ); +cells.push_back( {20604222,4066,102,6,2,1,-0.275,-0.0799382 } ); +cells.push_back( {20704212,4047,102,7,1,1,-0.325,-0.129501 } ); +cells.push_back( {20704222,4067,102,7,2,1,-0.325,-0.0799382 } ); +cells.push_back( {20804212,4048,102,8,1,1,-0.375,-0.129501 } ); +cells.push_back( {20804222,4068,102,8,2,1,-0.375,-0.0799382 } ); +cells.push_back( {20904212,4049,102,9,1,1,-0.425,-0.129501 } ); +cells.push_back( {20904222,4069,102,9,2,1,-0.425,-0.0799382 } ); +cells.push_back( {21004212,4050,102,10,1,1,-0.475,-0.129501 } ); +cells.push_back( {21004222,4070,102,10,2,1,-0.475,-0.0799382 } ); +cells.push_back( {21104212,4051,102,11,1,1,-0.525,-0.129501 } ); +cells.push_back( {21104222,4071,102,11,2,1,-0.525,-0.0799382 } ); +cells.push_back( {21204212,4052,102,12,1,1,-0.575,-0.129501 } ); +cells.push_back( {21204222,4072,102,12,2,1,-0.575,-0.0799382 } ); +cells.push_back( {21304212,4053,102,13,1,1,-0.625,-0.129501 } ); +cells.push_back( {21304222,4073,102,13,2,1,-0.625,-0.0799382 } ); +cells.push_back( {21404212,4054,102,14,1,1,-0.675,-0.129501 } ); +cells.push_back( {21404222,4074,102,14,2,1,-0.675,-0.0799382 } ); +cells.push_back( {21504212,4055,102,15,1,1,-0.725,-0.129501 } ); +cells.push_back( {21504222,4075,102,15,2,1,-0.725,-0.0799382 } ); +cells.push_back( {21604212,4056,102,16,1,1,-0.775,-0.129501 } ); +cells.push_back( {21604222,4076,102,16,2,1,-0.775,-0.0799382 } ); +cells.push_back( {21704212,4057,102,17,1,1,-0.825,-0.129501 } ); +cells.push_back( {21704222,4077,102,17,2,1,-0.825,-0.0799382 } ); +cells.push_back( {21804212,4058,102,18,1,1,-0.875,-0.129501 } ); +cells.push_back( {21804222,4078,102,18,2,1,-0.875,-0.0799382 } ); +cells.push_back( {21904212,4059,102,19,1,1,-0.925,-0.129501 } ); +cells.push_back( {21904222,4079,102,19,2,1,-0.925,-0.0799382 } ); +cells.push_back( {22004212,4060,102,20,1,1,-0.967,-0.129501 } ); +cells.push_back( {22004222,4080,102,20,2,1,-0.967,-0.0799382 } ); +cells.push_back( {20104311,4081,103,1,1,2,-0.02675,-0.0247812 } ); +cells.push_back( {20104321,4101,103,1,2,2,-0.02675,0.0247816 } ); +cells.push_back( {20204311,4082,103,2,1,2,-0.075,-0.0247812 } ); +cells.push_back( {20204321,4102,103,2,2,2,-0.075,0.0247816 } ); +cells.push_back( {20304311,4083,103,3,1,2,-0.125,-0.0247812 } ); +cells.push_back( {20304321,4103,103,3,2,2,-0.125,0.0247816 } ); +cells.push_back( {20404311,4084,103,4,1,2,-0.175,-0.0247812 } ); +cells.push_back( {20404321,4104,103,4,2,2,-0.175,0.0247816 } ); +cells.push_back( {20504311,4085,103,5,1,2,-0.225,-0.0247812 } ); +cells.push_back( {20504321,4105,103,5,2,2,-0.225,0.0247816 } ); +cells.push_back( {20604311,4086,103,6,1,2,-0.275,-0.0247812 } ); +cells.push_back( {20604321,4106,103,6,2,2,-0.275,0.0247816 } ); +cells.push_back( {20704311,4087,103,7,1,2,-0.325,-0.0247812 } ); +cells.push_back( {20704321,4107,103,7,2,2,-0.325,0.0247816 } ); +cells.push_back( {20804311,4088,103,8,1,2,-0.375,-0.0247812 } ); +cells.push_back( {20804321,4108,103,8,2,2,-0.375,0.0247816 } ); +cells.push_back( {20904311,4089,103,9,1,2,-0.425,-0.0247812 } ); +cells.push_back( {20904321,4109,103,9,2,2,-0.425,0.0247816 } ); +cells.push_back( {21004311,4090,103,10,1,2,-0.475,-0.0247812 } ); +cells.push_back( {21004321,4110,103,10,2,2,-0.475,0.0247816 } ); +cells.push_back( {21104311,4091,103,11,1,2,-0.525,-0.0247812 } ); +cells.push_back( {21104321,4111,103,11,2,2,-0.525,0.0247816 } ); +cells.push_back( {21204311,4092,103,12,1,2,-0.575,-0.0247812 } ); +cells.push_back( {21204321,4112,103,12,2,2,-0.575,0.0247816 } ); +cells.push_back( {21304311,4093,103,13,1,2,-0.625,-0.0247812 } ); +cells.push_back( {21304321,4113,103,13,2,2,-0.625,0.0247816 } ); +cells.push_back( {21404311,4094,103,14,1,2,-0.675,-0.0247812 } ); +cells.push_back( {21404321,4114,103,14,2,2,-0.675,0.0247816 } ); +cells.push_back( {21504311,4095,103,15,1,2,-0.725,-0.0247812 } ); +cells.push_back( {21504321,4115,103,15,2,2,-0.725,0.0247816 } ); +cells.push_back( {21604311,4096,103,16,1,2,-0.775,-0.0247812 } ); +cells.push_back( {21604321,4116,103,16,2,2,-0.775,0.0247816 } ); +cells.push_back( {21704311,4097,103,17,1,2,-0.825,-0.0247812 } ); +cells.push_back( {21704321,4117,103,17,2,2,-0.825,0.0247816 } ); +cells.push_back( {21804311,4098,103,18,1,2,-0.875,-0.0247812 } ); +cells.push_back( {21804321,4118,103,18,2,2,-0.875,0.0247816 } ); +cells.push_back( {21904311,4099,103,19,1,2,-0.925,-0.0247812 } ); +cells.push_back( {21904321,4119,103,19,2,2,-0.925,0.0247816 } ); +cells.push_back( {22004311,4100,103,20,1,2,-0.967,-0.0247812 } ); +cells.push_back( {22004321,4120,103,20,2,2,-0.967,0.0247816 } ); +cells.push_back( {20104312,4081,103,1,1,1,-0.02675,-0.0247812 } ); +cells.push_back( {20104322,4101,103,1,2,1,-0.02675,0.0247816 } ); +cells.push_back( {20204312,4082,103,2,1,1,-0.075,-0.0247812 } ); +cells.push_back( {20204322,4102,103,2,2,1,-0.075,0.0247816 } ); +cells.push_back( {20304312,4083,103,3,1,1,-0.125,-0.0247812 } ); +cells.push_back( {20304322,4103,103,3,2,1,-0.125,0.0247816 } ); +cells.push_back( {20404312,4084,103,4,1,1,-0.175,-0.0247812 } ); +cells.push_back( {20404322,4104,103,4,2,1,-0.175,0.0247816 } ); +cells.push_back( {20504312,4085,103,5,1,1,-0.225,-0.0247812 } ); +cells.push_back( {20504322,4105,103,5,2,1,-0.225,0.0247816 } ); +cells.push_back( {20604312,4086,103,6,1,1,-0.275,-0.0247812 } ); +cells.push_back( {20604322,4106,103,6,2,1,-0.275,0.0247816 } ); +cells.push_back( {20704312,4087,103,7,1,1,-0.325,-0.0247812 } ); +cells.push_back( {20704322,4107,103,7,2,1,-0.325,0.0247816 } ); +cells.push_back( {20804312,4088,103,8,1,1,-0.375,-0.0247812 } ); +cells.push_back( {20804322,4108,103,8,2,1,-0.375,0.0247816 } ); +cells.push_back( {20904312,4089,103,9,1,1,-0.425,-0.0247812 } ); +cells.push_back( {20904322,4109,103,9,2,1,-0.425,0.0247816 } ); +cells.push_back( {21004312,4090,103,10,1,1,-0.475,-0.0247812 } ); +cells.push_back( {21004322,4110,103,10,2,1,-0.475,0.0247816 } ); +cells.push_back( {21104312,4091,103,11,1,1,-0.525,-0.0247812 } ); +cells.push_back( {21104322,4111,103,11,2,1,-0.525,0.0247816 } ); +cells.push_back( {21204312,4092,103,12,1,1,-0.575,-0.0247812 } ); +cells.push_back( {21204322,4112,103,12,2,1,-0.575,0.0247816 } ); +cells.push_back( {21304312,4093,103,13,1,1,-0.625,-0.0247812 } ); +cells.push_back( {21304322,4113,103,13,2,1,-0.625,0.0247816 } ); +cells.push_back( {21404312,4094,103,14,1,1,-0.675,-0.0247812 } ); +cells.push_back( {21404322,4114,103,14,2,1,-0.675,0.0247816 } ); +cells.push_back( {21504312,4095,103,15,1,1,-0.725,-0.0247812 } ); +cells.push_back( {21504322,4115,103,15,2,1,-0.725,0.0247816 } ); +cells.push_back( {21604312,4096,103,16,1,1,-0.775,-0.0247812 } ); +cells.push_back( {21604322,4116,103,16,2,1,-0.775,0.0247816 } ); +cells.push_back( {21704312,4097,103,17,1,1,-0.825,-0.0247812 } ); +cells.push_back( {21704322,4117,103,17,2,1,-0.825,0.0247816 } ); +cells.push_back( {21804312,4098,103,18,1,1,-0.875,-0.0247812 } ); +cells.push_back( {21804322,4118,103,18,2,1,-0.875,0.0247816 } ); +cells.push_back( {21904312,4099,103,19,1,1,-0.925,-0.0247812 } ); +cells.push_back( {21904322,4119,103,19,2,1,-0.925,0.0247816 } ); +cells.push_back( {22004312,4100,103,20,1,1,-0.967,-0.0247812 } ); +cells.push_back( {22004322,4120,103,20,2,1,-0.967,0.0247816 } ); +cells.push_back( {20104411,4121,104,1,1,2,-0.02675,0.0799385 } ); +cells.push_back( {20104421,4141,104,1,2,2,-0.02675,0.129501 } ); +cells.push_back( {20204411,4122,104,2,1,2,-0.075,0.0799385 } ); +cells.push_back( {20204421,4142,104,2,2,2,-0.075,0.129501 } ); +cells.push_back( {20304411,4123,104,3,1,2,-0.125,0.0799385 } ); +cells.push_back( {20304421,4143,104,3,2,2,-0.125,0.129501 } ); +cells.push_back( {20404411,4124,104,4,1,2,-0.175,0.0799385 } ); +cells.push_back( {20404421,4144,104,4,2,2,-0.175,0.129501 } ); +cells.push_back( {20504411,4125,104,5,1,2,-0.225,0.0799385 } ); +cells.push_back( {20504421,4145,104,5,2,2,-0.225,0.129501 } ); +cells.push_back( {20604411,4126,104,6,1,2,-0.275,0.0799385 } ); +cells.push_back( {20604421,4146,104,6,2,2,-0.275,0.129501 } ); +cells.push_back( {20704411,4127,104,7,1,2,-0.325,0.0799385 } ); +cells.push_back( {20704421,4147,104,7,2,2,-0.325,0.129501 } ); +cells.push_back( {20804411,4128,104,8,1,2,-0.375,0.0799385 } ); +cells.push_back( {20804421,4148,104,8,2,2,-0.375,0.129501 } ); +cells.push_back( {20904411,4129,104,9,1,2,-0.425,0.0799385 } ); +cells.push_back( {20904421,4149,104,9,2,2,-0.425,0.129501 } ); +cells.push_back( {21004411,4130,104,10,1,2,-0.475,0.0799385 } ); +cells.push_back( {21004421,4150,104,10,2,2,-0.475,0.129501 } ); +cells.push_back( {21104411,4131,104,11,1,2,-0.525,0.0799385 } ); +cells.push_back( {21104421,4151,104,11,2,2,-0.525,0.129501 } ); +cells.push_back( {21204411,4132,104,12,1,2,-0.575,0.0799385 } ); +cells.push_back( {21204421,4152,104,12,2,2,-0.575,0.129501 } ); +cells.push_back( {21304411,4133,104,13,1,2,-0.625,0.0799385 } ); +cells.push_back( {21304421,4153,104,13,2,2,-0.625,0.129501 } ); +cells.push_back( {21404411,4134,104,14,1,2,-0.675,0.0799385 } ); +cells.push_back( {21404421,4154,104,14,2,2,-0.675,0.129501 } ); +cells.push_back( {21504411,4135,104,15,1,2,-0.725,0.0799385 } ); +cells.push_back( {21504421,4155,104,15,2,2,-0.725,0.129501 } ); +cells.push_back( {21604411,4136,104,16,1,2,-0.775,0.0799385 } ); +cells.push_back( {21604421,4156,104,16,2,2,-0.775,0.129501 } ); +cells.push_back( {21704411,4137,104,17,1,2,-0.825,0.0799385 } ); +cells.push_back( {21704421,4157,104,17,2,2,-0.825,0.129501 } ); +cells.push_back( {21804411,4138,104,18,1,2,-0.875,0.0799385 } ); +cells.push_back( {21804421,4158,104,18,2,2,-0.875,0.129501 } ); +cells.push_back( {21904411,4139,104,19,1,2,-0.925,0.0799385 } ); +cells.push_back( {21904421,4159,104,19,2,2,-0.925,0.129501 } ); +cells.push_back( {22004411,4140,104,20,1,2,-0.967,0.0799385 } ); +cells.push_back( {22004421,4160,104,20,2,2,-0.967,0.129501 } ); +cells.push_back( {20104412,4121,104,1,1,1,-0.02675,0.0799385 } ); +cells.push_back( {20104422,4141,104,1,2,1,-0.02675,0.129501 } ); +cells.push_back( {20204412,4122,104,2,1,1,-0.075,0.0799385 } ); +cells.push_back( {20204422,4142,104,2,2,1,-0.075,0.129501 } ); +cells.push_back( {20304412,4123,104,3,1,1,-0.125,0.0799385 } ); +cells.push_back( {20304422,4143,104,3,2,1,-0.125,0.129501 } ); +cells.push_back( {20404412,4124,104,4,1,1,-0.175,0.0799385 } ); +cells.push_back( {20404422,4144,104,4,2,1,-0.175,0.129501 } ); +cells.push_back( {20504412,4125,104,5,1,1,-0.225,0.0799385 } ); +cells.push_back( {20504422,4145,104,5,2,1,-0.225,0.129501 } ); +cells.push_back( {20604412,4126,104,6,1,1,-0.275,0.0799385 } ); +cells.push_back( {20604422,4146,104,6,2,1,-0.275,0.129501 } ); +cells.push_back( {20704412,4127,104,7,1,1,-0.325,0.0799385 } ); +cells.push_back( {20704422,4147,104,7,2,1,-0.325,0.129501 } ); +cells.push_back( {20804412,4128,104,8,1,1,-0.375,0.0799385 } ); +cells.push_back( {20804422,4148,104,8,2,1,-0.375,0.129501 } ); +cells.push_back( {20904412,4129,104,9,1,1,-0.425,0.0799385 } ); +cells.push_back( {20904422,4149,104,9,2,1,-0.425,0.129501 } ); +cells.push_back( {21004412,4130,104,10,1,1,-0.475,0.0799385 } ); +cells.push_back( {21004422,4150,104,10,2,1,-0.475,0.129501 } ); +cells.push_back( {21104412,4131,104,11,1,1,-0.525,0.0799385 } ); +cells.push_back( {21104422,4151,104,11,2,1,-0.525,0.129501 } ); +cells.push_back( {21204412,4132,104,12,1,1,-0.575,0.0799385 } ); +cells.push_back( {21204422,4152,104,12,2,1,-0.575,0.129501 } ); +cells.push_back( {21304412,4133,104,13,1,1,-0.625,0.0799385 } ); +cells.push_back( {21304422,4153,104,13,2,1,-0.625,0.129501 } ); +cells.push_back( {21404412,4134,104,14,1,1,-0.675,0.0799385 } ); +cells.push_back( {21404422,4154,104,14,2,1,-0.675,0.129501 } ); +cells.push_back( {21504412,4135,104,15,1,1,-0.725,0.0799385 } ); +cells.push_back( {21504422,4155,104,15,2,1,-0.725,0.129501 } ); +cells.push_back( {21604412,4136,104,16,1,1,-0.775,0.0799385 } ); +cells.push_back( {21604422,4156,104,16,2,1,-0.775,0.129501 } ); +cells.push_back( {21704412,4137,104,17,1,1,-0.825,0.0799385 } ); +cells.push_back( {21704422,4157,104,17,2,1,-0.825,0.129501 } ); +cells.push_back( {21804412,4138,104,18,1,1,-0.875,0.0799385 } ); +cells.push_back( {21804422,4158,104,18,2,1,-0.875,0.129501 } ); +cells.push_back( {21904412,4139,104,19,1,1,-0.925,0.0799385 } ); +cells.push_back( {21904422,4159,104,19,2,1,-0.925,0.129501 } ); +cells.push_back( {22004412,4140,104,20,1,1,-0.967,0.0799385 } ); +cells.push_back( {22004422,4160,104,20,2,1,-0.967,0.129501 } ); +cells.push_back( {20104511,4161,105,1,1,2,-0.02675,0.184658 } ); +cells.push_back( {20104521,4181,105,1,2,2,-0.02675,0.234221 } ); +cells.push_back( {20204511,4162,105,2,1,2,-0.075,0.184658 } ); +cells.push_back( {20204521,4182,105,2,2,2,-0.075,0.234221 } ); +cells.push_back( {20304511,4163,105,3,1,2,-0.125,0.184658 } ); +cells.push_back( {20304521,4183,105,3,2,2,-0.125,0.234221 } ); +cells.push_back( {20404511,4164,105,4,1,2,-0.175,0.184658 } ); +cells.push_back( {20404521,4184,105,4,2,2,-0.175,0.234221 } ); +cells.push_back( {20504511,4165,105,5,1,2,-0.225,0.184658 } ); +cells.push_back( {20504521,4185,105,5,2,2,-0.225,0.234221 } ); +cells.push_back( {20604511,4166,105,6,1,2,-0.275,0.184658 } ); +cells.push_back( {20604521,4186,105,6,2,2,-0.275,0.234221 } ); +cells.push_back( {20704511,4167,105,7,1,2,-0.325,0.184658 } ); +cells.push_back( {20704521,4187,105,7,2,2,-0.325,0.234221 } ); +cells.push_back( {20804511,4168,105,8,1,2,-0.375,0.184658 } ); +cells.push_back( {20804521,4188,105,8,2,2,-0.375,0.234221 } ); +cells.push_back( {20904511,4169,105,9,1,2,-0.425,0.184658 } ); +cells.push_back( {20904521,4189,105,9,2,2,-0.425,0.234221 } ); +cells.push_back( {21004511,4170,105,10,1,2,-0.475,0.184658 } ); +cells.push_back( {21004521,4190,105,10,2,2,-0.475,0.234221 } ); +cells.push_back( {21104511,4171,105,11,1,2,-0.525,0.184658 } ); +cells.push_back( {21104521,4191,105,11,2,2,-0.525,0.234221 } ); +cells.push_back( {21204511,4172,105,12,1,2,-0.575,0.184658 } ); +cells.push_back( {21204521,4192,105,12,2,2,-0.575,0.234221 } ); +cells.push_back( {21304511,4173,105,13,1,2,-0.625,0.184658 } ); +cells.push_back( {21304521,4193,105,13,2,2,-0.625,0.234221 } ); +cells.push_back( {21404511,4174,105,14,1,2,-0.675,0.184658 } ); +cells.push_back( {21404521,4194,105,14,2,2,-0.675,0.234221 } ); +cells.push_back( {21504511,4175,105,15,1,2,-0.725,0.184658 } ); +cells.push_back( {21504521,4195,105,15,2,2,-0.725,0.234221 } ); +cells.push_back( {21604511,4176,105,16,1,2,-0.775,0.184658 } ); +cells.push_back( {21604521,4196,105,16,2,2,-0.775,0.234221 } ); +cells.push_back( {21704511,4177,105,17,1,2,-0.825,0.184658 } ); +cells.push_back( {21704521,4197,105,17,2,2,-0.825,0.234221 } ); +cells.push_back( {21804511,4178,105,18,1,2,-0.875,0.184658 } ); +cells.push_back( {21804521,4198,105,18,2,2,-0.875,0.234221 } ); +cells.push_back( {21904511,4179,105,19,1,2,-0.925,0.184658 } ); +cells.push_back( {21904521,4199,105,19,2,2,-0.925,0.234221 } ); +cells.push_back( {22004511,4180,105,20,1,2,-0.967,0.184658 } ); +cells.push_back( {22004521,4200,105,20,2,2,-0.967,0.234221 } ); +cells.push_back( {20104512,4161,105,1,1,1,-0.02675,0.184658 } ); +cells.push_back( {20104522,4181,105,1,2,1,-0.02675,0.234221 } ); +cells.push_back( {20204512,4162,105,2,1,1,-0.075,0.184658 } ); +cells.push_back( {20204522,4182,105,2,2,1,-0.075,0.234221 } ); +cells.push_back( {20304512,4163,105,3,1,1,-0.125,0.184658 } ); +cells.push_back( {20304522,4183,105,3,2,1,-0.125,0.234221 } ); +cells.push_back( {20404512,4164,105,4,1,1,-0.175,0.184658 } ); +cells.push_back( {20404522,4184,105,4,2,1,-0.175,0.234221 } ); +cells.push_back( {20504512,4165,105,5,1,1,-0.225,0.184658 } ); +cells.push_back( {20504522,4185,105,5,2,1,-0.225,0.234221 } ); +cells.push_back( {20604512,4166,105,6,1,1,-0.275,0.184658 } ); +cells.push_back( {20604522,4186,105,6,2,1,-0.275,0.234221 } ); +cells.push_back( {20704512,4167,105,7,1,1,-0.325,0.184658 } ); +cells.push_back( {20704522,4187,105,7,2,1,-0.325,0.234221 } ); +cells.push_back( {20804512,4168,105,8,1,1,-0.375,0.184658 } ); +cells.push_back( {20804522,4188,105,8,2,1,-0.375,0.234221 } ); +cells.push_back( {20904512,4169,105,9,1,1,-0.425,0.184658 } ); +cells.push_back( {20904522,4189,105,9,2,1,-0.425,0.234221 } ); +cells.push_back( {21004512,4170,105,10,1,1,-0.475,0.184658 } ); +cells.push_back( {21004522,4190,105,10,2,1,-0.475,0.234221 } ); +cells.push_back( {21104512,4171,105,11,1,1,-0.525,0.184658 } ); +cells.push_back( {21104522,4191,105,11,2,1,-0.525,0.234221 } ); +cells.push_back( {21204512,4172,105,12,1,1,-0.575,0.184658 } ); +cells.push_back( {21204522,4192,105,12,2,1,-0.575,0.234221 } ); +cells.push_back( {21304512,4173,105,13,1,1,-0.625,0.184658 } ); +cells.push_back( {21304522,4193,105,13,2,1,-0.625,0.234221 } ); +cells.push_back( {21404512,4174,105,14,1,1,-0.675,0.184658 } ); +cells.push_back( {21404522,4194,105,14,2,1,-0.675,0.234221 } ); +cells.push_back( {21504512,4175,105,15,1,1,-0.725,0.184658 } ); +cells.push_back( {21504522,4195,105,15,2,1,-0.725,0.234221 } ); +cells.push_back( {21604512,4176,105,16,1,1,-0.775,0.184658 } ); +cells.push_back( {21604522,4196,105,16,2,1,-0.775,0.234221 } ); +cells.push_back( {21704512,4177,105,17,1,1,-0.825,0.184658 } ); +cells.push_back( {21704522,4197,105,17,2,1,-0.825,0.234221 } ); +cells.push_back( {21804512,4178,105,18,1,1,-0.875,0.184658 } ); +cells.push_back( {21804522,4198,105,18,2,1,-0.875,0.234221 } ); +cells.push_back( {21904512,4179,105,19,1,1,-0.925,0.184658 } ); +cells.push_back( {21904522,4199,105,19,2,1,-0.925,0.234221 } ); +cells.push_back( {22004512,4180,105,20,1,1,-0.967,0.184658 } ); +cells.push_back( {22004522,4200,105,20,2,1,-0.967,0.234221 } ); +cells.push_back( {20104611,4201,106,1,1,2,-0.02675,0.289378 } ); +cells.push_back( {20104621,4221,106,1,2,2,-0.02675,0.338941 } ); +cells.push_back( {20204611,4202,106,2,1,2,-0.075,0.289378 } ); +cells.push_back( {20204621,4222,106,2,2,2,-0.075,0.338941 } ); +cells.push_back( {20304611,4203,106,3,1,2,-0.125,0.289378 } ); +cells.push_back( {20304621,4223,106,3,2,2,-0.125,0.338941 } ); +cells.push_back( {20404611,4204,106,4,1,2,-0.175,0.289378 } ); +cells.push_back( {20404621,4224,106,4,2,2,-0.175,0.338941 } ); +cells.push_back( {20504611,4205,106,5,1,2,-0.225,0.289378 } ); +cells.push_back( {20504621,4225,106,5,2,2,-0.225,0.338941 } ); +cells.push_back( {20604611,4206,106,6,1,2,-0.275,0.289378 } ); +cells.push_back( {20604621,4226,106,6,2,2,-0.275,0.338941 } ); +cells.push_back( {20704611,4207,106,7,1,2,-0.325,0.289378 } ); +cells.push_back( {20704621,4227,106,7,2,2,-0.325,0.338941 } ); +cells.push_back( {20804611,4208,106,8,1,2,-0.375,0.289378 } ); +cells.push_back( {20804621,4228,106,8,2,2,-0.375,0.338941 } ); +cells.push_back( {20904611,4209,106,9,1,2,-0.425,0.289378 } ); +cells.push_back( {20904621,4229,106,9,2,2,-0.425,0.338941 } ); +cells.push_back( {21004611,4210,106,10,1,2,-0.475,0.289378 } ); +cells.push_back( {21004621,4230,106,10,2,2,-0.475,0.338941 } ); +cells.push_back( {21104611,4211,106,11,1,2,-0.525,0.289378 } ); +cells.push_back( {21104621,4231,106,11,2,2,-0.525,0.338941 } ); +cells.push_back( {21204611,4212,106,12,1,2,-0.575,0.289378 } ); +cells.push_back( {21204621,4232,106,12,2,2,-0.575,0.338941 } ); +cells.push_back( {21304611,4213,106,13,1,2,-0.625,0.289378 } ); +cells.push_back( {21304621,4233,106,13,2,2,-0.625,0.338941 } ); +cells.push_back( {21404611,4214,106,14,1,2,-0.675,0.289378 } ); +cells.push_back( {21404621,4234,106,14,2,2,-0.675,0.338941 } ); +cells.push_back( {21504611,4215,106,15,1,2,-0.725,0.289378 } ); +cells.push_back( {21504621,4235,106,15,2,2,-0.725,0.338941 } ); +cells.push_back( {21604611,4216,106,16,1,2,-0.775,0.289378 } ); +cells.push_back( {21604621,4236,106,16,2,2,-0.775,0.338941 } ); +cells.push_back( {21704611,4217,106,17,1,2,-0.825,0.289378 } ); +cells.push_back( {21704621,4237,106,17,2,2,-0.825,0.338941 } ); +cells.push_back( {21804611,4218,106,18,1,2,-0.875,0.289378 } ); +cells.push_back( {21804621,4238,106,18,2,2,-0.875,0.338941 } ); +cells.push_back( {21904611,4219,106,19,1,2,-0.925,0.289378 } ); +cells.push_back( {21904621,4239,106,19,2,2,-0.925,0.338941 } ); +cells.push_back( {22004611,4220,106,20,1,2,-0.967,0.289378 } ); +cells.push_back( {22004621,4240,106,20,2,2,-0.967,0.338941 } ); +cells.push_back( {20104612,4201,106,1,1,1,-0.02675,0.289378 } ); +cells.push_back( {20104622,4221,106,1,2,1,-0.02675,0.338941 } ); +cells.push_back( {20204612,4202,106,2,1,1,-0.075,0.289378 } ); +cells.push_back( {20204622,4222,106,2,2,1,-0.075,0.338941 } ); +cells.push_back( {20304612,4203,106,3,1,1,-0.125,0.289378 } ); +cells.push_back( {20304622,4223,106,3,2,1,-0.125,0.338941 } ); +cells.push_back( {20404612,4204,106,4,1,1,-0.175,0.289378 } ); +cells.push_back( {20404622,4224,106,4,2,1,-0.175,0.338941 } ); +cells.push_back( {20504612,4205,106,5,1,1,-0.225,0.289378 } ); +cells.push_back( {20504622,4225,106,5,2,1,-0.225,0.338941 } ); +cells.push_back( {20604612,4206,106,6,1,1,-0.275,0.289378 } ); +cells.push_back( {20604622,4226,106,6,2,1,-0.275,0.338941 } ); +cells.push_back( {20704612,4207,106,7,1,1,-0.325,0.289378 } ); +cells.push_back( {20704622,4227,106,7,2,1,-0.325,0.338941 } ); +cells.push_back( {20804612,4208,106,8,1,1,-0.375,0.289378 } ); +cells.push_back( {20804622,4228,106,8,2,1,-0.375,0.338941 } ); +cells.push_back( {20904612,4209,106,9,1,1,-0.425,0.289378 } ); +cells.push_back( {20904622,4229,106,9,2,1,-0.425,0.338941 } ); +cells.push_back( {21004612,4210,106,10,1,1,-0.475,0.289378 } ); +cells.push_back( {21004622,4230,106,10,2,1,-0.475,0.338941 } ); +cells.push_back( {21104612,4211,106,11,1,1,-0.525,0.289378 } ); +cells.push_back( {21104622,4231,106,11,2,1,-0.525,0.338941 } ); +cells.push_back( {21204612,4212,106,12,1,1,-0.575,0.289378 } ); +cells.push_back( {21204622,4232,106,12,2,1,-0.575,0.338941 } ); +cells.push_back( {21304612,4213,106,13,1,1,-0.625,0.289378 } ); +cells.push_back( {21304622,4233,106,13,2,1,-0.625,0.338941 } ); +cells.push_back( {21404612,4214,106,14,1,1,-0.675,0.289378 } ); +cells.push_back( {21404622,4234,106,14,2,1,-0.675,0.338941 } ); +cells.push_back( {21504612,4215,106,15,1,1,-0.725,0.289378 } ); +cells.push_back( {21504622,4235,106,15,2,1,-0.725,0.338941 } ); +cells.push_back( {21604612,4216,106,16,1,1,-0.775,0.289378 } ); +cells.push_back( {21604622,4236,106,16,2,1,-0.775,0.338941 } ); +cells.push_back( {21704612,4217,106,17,1,1,-0.825,0.289378 } ); +cells.push_back( {21704622,4237,106,17,2,1,-0.825,0.338941 } ); +cells.push_back( {21804612,4218,106,18,1,1,-0.875,0.289378 } ); +cells.push_back( {21804622,4238,106,18,2,1,-0.875,0.338941 } ); +cells.push_back( {21904612,4219,106,19,1,1,-0.925,0.289378 } ); +cells.push_back( {21904622,4239,106,19,2,1,-0.925,0.338941 } ); +cells.push_back( {22004612,4220,106,20,1,1,-0.967,0.289378 } ); +cells.push_back( {22004622,4240,106,20,2,1,-0.967,0.338941 } ); +cells.push_back( {20104711,4241,107,1,1,2,-0.02675,0.394098 } ); +cells.push_back( {20104721,4261,107,1,2,2,-0.02675,0.443661 } ); +cells.push_back( {20204711,4242,107,2,1,2,-0.075,0.394098 } ); +cells.push_back( {20204721,4262,107,2,2,2,-0.075,0.443661 } ); +cells.push_back( {20304711,4243,107,3,1,2,-0.125,0.394098 } ); +cells.push_back( {20304721,4263,107,3,2,2,-0.125,0.443661 } ); +cells.push_back( {20404711,4244,107,4,1,2,-0.175,0.394098 } ); +cells.push_back( {20404721,4264,107,4,2,2,-0.175,0.443661 } ); +cells.push_back( {20504711,4245,107,5,1,2,-0.225,0.394098 } ); +cells.push_back( {20504721,4265,107,5,2,2,-0.225,0.443661 } ); +cells.push_back( {20604711,4246,107,6,1,2,-0.275,0.394098 } ); +cells.push_back( {20604721,4266,107,6,2,2,-0.275,0.443661 } ); +cells.push_back( {20704711,4247,107,7,1,2,-0.325,0.394098 } ); +cells.push_back( {20704721,4267,107,7,2,2,-0.325,0.443661 } ); +cells.push_back( {20804711,4248,107,8,1,2,-0.375,0.394098 } ); +cells.push_back( {20804721,4268,107,8,2,2,-0.375,0.443661 } ); +cells.push_back( {20904711,4249,107,9,1,2,-0.425,0.394098 } ); +cells.push_back( {20904721,4269,107,9,2,2,-0.425,0.443661 } ); +cells.push_back( {21004711,4250,107,10,1,2,-0.475,0.394098 } ); +cells.push_back( {21004721,4270,107,10,2,2,-0.475,0.443661 } ); +cells.push_back( {21104711,4251,107,11,1,2,-0.525,0.394098 } ); +cells.push_back( {21104721,4271,107,11,2,2,-0.525,0.443661 } ); +cells.push_back( {21204711,4252,107,12,1,2,-0.575,0.394098 } ); +cells.push_back( {21204721,4272,107,12,2,2,-0.575,0.443661 } ); +cells.push_back( {21304711,4253,107,13,1,2,-0.625,0.394098 } ); +cells.push_back( {21304721,4273,107,13,2,2,-0.625,0.443661 } ); +cells.push_back( {21404711,4254,107,14,1,2,-0.675,0.394098 } ); +cells.push_back( {21404721,4274,107,14,2,2,-0.675,0.443661 } ); +cells.push_back( {21504711,4255,107,15,1,2,-0.725,0.394098 } ); +cells.push_back( {21504721,4275,107,15,2,2,-0.725,0.443661 } ); +cells.push_back( {21604711,4256,107,16,1,2,-0.775,0.394098 } ); +cells.push_back( {21604721,4276,107,16,2,2,-0.775,0.443661 } ); +cells.push_back( {21704711,4257,107,17,1,2,-0.825,0.394098 } ); +cells.push_back( {21704721,4277,107,17,2,2,-0.825,0.443661 } ); +cells.push_back( {21804711,4258,107,18,1,2,-0.875,0.394098 } ); +cells.push_back( {21804721,4278,107,18,2,2,-0.875,0.443661 } ); +cells.push_back( {21904711,4259,107,19,1,2,-0.925,0.394098 } ); +cells.push_back( {21904721,4279,107,19,2,2,-0.925,0.443661 } ); +cells.push_back( {22004711,4260,107,20,1,2,-0.967,0.394098 } ); +cells.push_back( {22004721,4280,107,20,2,2,-0.967,0.443661 } ); +cells.push_back( {20104712,4241,107,1,1,1,-0.02675,0.394098 } ); +cells.push_back( {20104722,4261,107,1,2,1,-0.02675,0.443661 } ); +cells.push_back( {20204712,4242,107,2,1,1,-0.075,0.394098 } ); +cells.push_back( {20204722,4262,107,2,2,1,-0.075,0.443661 } ); +cells.push_back( {20304712,4243,107,3,1,1,-0.125,0.394098 } ); +cells.push_back( {20304722,4263,107,3,2,1,-0.125,0.443661 } ); +cells.push_back( {20404712,4244,107,4,1,1,-0.175,0.394098 } ); +cells.push_back( {20404722,4264,107,4,2,1,-0.175,0.443661 } ); +cells.push_back( {20504712,4245,107,5,1,1,-0.225,0.394098 } ); +cells.push_back( {20504722,4265,107,5,2,1,-0.225,0.443661 } ); +cells.push_back( {20604712,4246,107,6,1,1,-0.275,0.394098 } ); +cells.push_back( {20604722,4266,107,6,2,1,-0.275,0.443661 } ); +cells.push_back( {20704712,4247,107,7,1,1,-0.325,0.394098 } ); +cells.push_back( {20704722,4267,107,7,2,1,-0.325,0.443661 } ); +cells.push_back( {20804712,4248,107,8,1,1,-0.375,0.394098 } ); +cells.push_back( {20804722,4268,107,8,2,1,-0.375,0.443661 } ); +cells.push_back( {20904712,4249,107,9,1,1,-0.425,0.394098 } ); +cells.push_back( {20904722,4269,107,9,2,1,-0.425,0.443661 } ); +cells.push_back( {21004712,4250,107,10,1,1,-0.475,0.394098 } ); +cells.push_back( {21004722,4270,107,10,2,1,-0.475,0.443661 } ); +cells.push_back( {21104712,4251,107,11,1,1,-0.525,0.394098 } ); +cells.push_back( {21104722,4271,107,11,2,1,-0.525,0.443661 } ); +cells.push_back( {21204712,4252,107,12,1,1,-0.575,0.394098 } ); +cells.push_back( {21204722,4272,107,12,2,1,-0.575,0.443661 } ); +cells.push_back( {21304712,4253,107,13,1,1,-0.625,0.394098 } ); +cells.push_back( {21304722,4273,107,13,2,1,-0.625,0.443661 } ); +cells.push_back( {21404712,4254,107,14,1,1,-0.675,0.394098 } ); +cells.push_back( {21404722,4274,107,14,2,1,-0.675,0.443661 } ); +cells.push_back( {21504712,4255,107,15,1,1,-0.725,0.394098 } ); +cells.push_back( {21504722,4275,107,15,2,1,-0.725,0.443661 } ); +cells.push_back( {21604712,4256,107,16,1,1,-0.775,0.394098 } ); +cells.push_back( {21604722,4276,107,16,2,1,-0.775,0.443661 } ); +cells.push_back( {21704712,4257,107,17,1,1,-0.825,0.394098 } ); +cells.push_back( {21704722,4277,107,17,2,1,-0.825,0.443661 } ); +cells.push_back( {21804712,4258,107,18,1,1,-0.875,0.394098 } ); +cells.push_back( {21804722,4278,107,18,2,1,-0.875,0.443661 } ); +cells.push_back( {21904712,4259,107,19,1,1,-0.925,0.394098 } ); +cells.push_back( {21904722,4279,107,19,2,1,-0.925,0.443661 } ); +cells.push_back( {22004712,4260,107,20,1,1,-0.967,0.394098 } ); +cells.push_back( {22004722,4280,107,20,2,1,-0.967,0.443661 } ); +cells.push_back( {20104811,4281,108,1,1,2,-0.02675,0.498818 } ); +cells.push_back( {20104821,4301,108,1,2,2,-0.02675,0.54838 } ); +cells.push_back( {20204811,4282,108,2,1,2,-0.075,0.498818 } ); +cells.push_back( {20204821,4302,108,2,2,2,-0.075,0.54838 } ); +cells.push_back( {20304811,4283,108,3,1,2,-0.125,0.498818 } ); +cells.push_back( {20304821,4303,108,3,2,2,-0.125,0.54838 } ); +cells.push_back( {20404811,4284,108,4,1,2,-0.175,0.498818 } ); +cells.push_back( {20404821,4304,108,4,2,2,-0.175,0.54838 } ); +cells.push_back( {20504811,4285,108,5,1,2,-0.225,0.498818 } ); +cells.push_back( {20504821,4305,108,5,2,2,-0.225,0.54838 } ); +cells.push_back( {20604811,4286,108,6,1,2,-0.275,0.498818 } ); +cells.push_back( {20604821,4306,108,6,2,2,-0.275,0.54838 } ); +cells.push_back( {20704811,4287,108,7,1,2,-0.325,0.498818 } ); +cells.push_back( {20704821,4307,108,7,2,2,-0.325,0.54838 } ); +cells.push_back( {20804811,4288,108,8,1,2,-0.375,0.498818 } ); +cells.push_back( {20804821,4308,108,8,2,2,-0.375,0.54838 } ); +cells.push_back( {20904811,4289,108,9,1,2,-0.425,0.498818 } ); +cells.push_back( {20904821,4309,108,9,2,2,-0.425,0.54838 } ); +cells.push_back( {21004811,4290,108,10,1,2,-0.475,0.498818 } ); +cells.push_back( {21004821,4310,108,10,2,2,-0.475,0.54838 } ); +cells.push_back( {21104811,4291,108,11,1,2,-0.525,0.498818 } ); +cells.push_back( {21104821,4311,108,11,2,2,-0.525,0.54838 } ); +cells.push_back( {21204811,4292,108,12,1,2,-0.575,0.498818 } ); +cells.push_back( {21204821,4312,108,12,2,2,-0.575,0.54838 } ); +cells.push_back( {21304811,4293,108,13,1,2,-0.625,0.498818 } ); +cells.push_back( {21304821,4313,108,13,2,2,-0.625,0.54838 } ); +cells.push_back( {21404811,4294,108,14,1,2,-0.675,0.498818 } ); +cells.push_back( {21404821,4314,108,14,2,2,-0.675,0.54838 } ); +cells.push_back( {21504811,4295,108,15,1,2,-0.725,0.498818 } ); +cells.push_back( {21504821,4315,108,15,2,2,-0.725,0.54838 } ); +cells.push_back( {21604811,4296,108,16,1,2,-0.775,0.498818 } ); +cells.push_back( {21604821,4316,108,16,2,2,-0.775,0.54838 } ); +cells.push_back( {21704811,4297,108,17,1,2,-0.825,0.498818 } ); +cells.push_back( {21704821,4317,108,17,2,2,-0.825,0.54838 } ); +cells.push_back( {21804811,4298,108,18,1,2,-0.875,0.498818 } ); +cells.push_back( {21804821,4318,108,18,2,2,-0.875,0.54838 } ); +cells.push_back( {21904811,4299,108,19,1,2,-0.925,0.498818 } ); +cells.push_back( {21904821,4319,108,19,2,2,-0.925,0.54838 } ); +cells.push_back( {22004811,4300,108,20,1,2,-0.967,0.498818 } ); +cells.push_back( {22004821,4320,108,20,2,2,-0.967,0.54838 } ); +cells.push_back( {20104812,4281,108,1,1,1,-0.02675,0.498818 } ); +cells.push_back( {20104822,4301,108,1,2,1,-0.02675,0.54838 } ); +cells.push_back( {20204812,4282,108,2,1,1,-0.075,0.498818 } ); +cells.push_back( {20204822,4302,108,2,2,1,-0.075,0.54838 } ); +cells.push_back( {20304812,4283,108,3,1,1,-0.125,0.498818 } ); +cells.push_back( {20304822,4303,108,3,2,1,-0.125,0.54838 } ); +cells.push_back( {20404812,4284,108,4,1,1,-0.175,0.498818 } ); +cells.push_back( {20404822,4304,108,4,2,1,-0.175,0.54838 } ); +cells.push_back( {20504812,4285,108,5,1,1,-0.225,0.498818 } ); +cells.push_back( {20504822,4305,108,5,2,1,-0.225,0.54838 } ); +cells.push_back( {20604812,4286,108,6,1,1,-0.275,0.498818 } ); +cells.push_back( {20604822,4306,108,6,2,1,-0.275,0.54838 } ); +cells.push_back( {20704812,4287,108,7,1,1,-0.325,0.498818 } ); +cells.push_back( {20704822,4307,108,7,2,1,-0.325,0.54838 } ); +cells.push_back( {20804812,4288,108,8,1,1,-0.375,0.498818 } ); +cells.push_back( {20804822,4308,108,8,2,1,-0.375,0.54838 } ); +cells.push_back( {20904812,4289,108,9,1,1,-0.425,0.498818 } ); +cells.push_back( {20904822,4309,108,9,2,1,-0.425,0.54838 } ); +cells.push_back( {21004812,4290,108,10,1,1,-0.475,0.498818 } ); +cells.push_back( {21004822,4310,108,10,2,1,-0.475,0.54838 } ); +cells.push_back( {21104812,4291,108,11,1,1,-0.525,0.498818 } ); +cells.push_back( {21104822,4311,108,11,2,1,-0.525,0.54838 } ); +cells.push_back( {21204812,4292,108,12,1,1,-0.575,0.498818 } ); +cells.push_back( {21204822,4312,108,12,2,1,-0.575,0.54838 } ); +cells.push_back( {21304812,4293,108,13,1,1,-0.625,0.498818 } ); +cells.push_back( {21304822,4313,108,13,2,1,-0.625,0.54838 } ); +cells.push_back( {21404812,4294,108,14,1,1,-0.675,0.498818 } ); +cells.push_back( {21404822,4314,108,14,2,1,-0.675,0.54838 } ); +cells.push_back( {21504812,4295,108,15,1,1,-0.725,0.498818 } ); +cells.push_back( {21504822,4315,108,15,2,1,-0.725,0.54838 } ); +cells.push_back( {21604812,4296,108,16,1,1,-0.775,0.498818 } ); +cells.push_back( {21604822,4316,108,16,2,1,-0.775,0.54838 } ); +cells.push_back( {21704812,4297,108,17,1,1,-0.825,0.498818 } ); +cells.push_back( {21704822,4317,108,17,2,1,-0.825,0.54838 } ); +cells.push_back( {21804812,4298,108,18,1,1,-0.875,0.498818 } ); +cells.push_back( {21804822,4318,108,18,2,1,-0.875,0.54838 } ); +cells.push_back( {21904812,4299,108,19,1,1,-0.925,0.498818 } ); +cells.push_back( {21904822,4319,108,19,2,1,-0.925,0.54838 } ); +cells.push_back( {22004812,4300,108,20,1,1,-0.967,0.498818 } ); +cells.push_back( {22004822,4320,108,20,2,1,-0.967,0.54838 } ); +cells.push_back( {20104911,4321,109,1,1,2,-0.02675,0.603537 } ); +cells.push_back( {20104921,4341,109,1,2,2,-0.02675,0.6531 } ); +cells.push_back( {20204911,4322,109,2,1,2,-0.075,0.603537 } ); +cells.push_back( {20204921,4342,109,2,2,2,-0.075,0.6531 } ); +cells.push_back( {20304911,4323,109,3,1,2,-0.125,0.603537 } ); +cells.push_back( {20304921,4343,109,3,2,2,-0.125,0.6531 } ); +cells.push_back( {20404911,4324,109,4,1,2,-0.175,0.603537 } ); +cells.push_back( {20404921,4344,109,4,2,2,-0.175,0.6531 } ); +cells.push_back( {20504911,4325,109,5,1,2,-0.225,0.603537 } ); +cells.push_back( {20504921,4345,109,5,2,2,-0.225,0.6531 } ); +cells.push_back( {20604911,4326,109,6,1,2,-0.275,0.603537 } ); +cells.push_back( {20604921,4346,109,6,2,2,-0.275,0.6531 } ); +cells.push_back( {20704911,4327,109,7,1,2,-0.325,0.603537 } ); +cells.push_back( {20704921,4347,109,7,2,2,-0.325,0.6531 } ); +cells.push_back( {20804911,4328,109,8,1,2,-0.375,0.603537 } ); +cells.push_back( {20804921,4348,109,8,2,2,-0.375,0.6531 } ); +cells.push_back( {20904911,4329,109,9,1,2,-0.425,0.603537 } ); +cells.push_back( {20904921,4349,109,9,2,2,-0.425,0.6531 } ); +cells.push_back( {21004911,4330,109,10,1,2,-0.475,0.603537 } ); +cells.push_back( {21004921,4350,109,10,2,2,-0.475,0.6531 } ); +cells.push_back( {21104911,4331,109,11,1,2,-0.525,0.603537 } ); +cells.push_back( {21104921,4351,109,11,2,2,-0.525,0.6531 } ); +cells.push_back( {21204911,4332,109,12,1,2,-0.575,0.603537 } ); +cells.push_back( {21204921,4352,109,12,2,2,-0.575,0.6531 } ); +cells.push_back( {21304911,4333,109,13,1,2,-0.625,0.603537 } ); +cells.push_back( {21304921,4353,109,13,2,2,-0.625,0.6531 } ); +cells.push_back( {21404911,4334,109,14,1,2,-0.675,0.603537 } ); +cells.push_back( {21404921,4354,109,14,2,2,-0.675,0.6531 } ); +cells.push_back( {21504911,4335,109,15,1,2,-0.725,0.603537 } ); +cells.push_back( {21504921,4355,109,15,2,2,-0.725,0.6531 } ); +cells.push_back( {21604911,4336,109,16,1,2,-0.775,0.603537 } ); +cells.push_back( {21604921,4356,109,16,2,2,-0.775,0.6531 } ); +cells.push_back( {21704911,4337,109,17,1,2,-0.825,0.603537 } ); +cells.push_back( {21704921,4357,109,17,2,2,-0.825,0.6531 } ); +cells.push_back( {21804911,4338,109,18,1,2,-0.875,0.603537 } ); +cells.push_back( {21804921,4358,109,18,2,2,-0.875,0.6531 } ); +cells.push_back( {21904911,4339,109,19,1,2,-0.925,0.603537 } ); +cells.push_back( {21904921,4359,109,19,2,2,-0.925,0.6531 } ); +cells.push_back( {22004911,4340,109,20,1,2,-0.967,0.603537 } ); +cells.push_back( {22004921,4360,109,20,2,2,-0.967,0.6531 } ); +cells.push_back( {20104912,4321,109,1,1,1,-0.02675,0.603537 } ); +cells.push_back( {20104922,4341,109,1,2,1,-0.02675,0.6531 } ); +cells.push_back( {20204912,4322,109,2,1,1,-0.075,0.603537 } ); +cells.push_back( {20204922,4342,109,2,2,1,-0.075,0.6531 } ); +cells.push_back( {20304912,4323,109,3,1,1,-0.125,0.603537 } ); +cells.push_back( {20304922,4343,109,3,2,1,-0.125,0.6531 } ); +cells.push_back( {20404912,4324,109,4,1,1,-0.175,0.603537 } ); +cells.push_back( {20404922,4344,109,4,2,1,-0.175,0.6531 } ); +cells.push_back( {20504912,4325,109,5,1,1,-0.225,0.603537 } ); +cells.push_back( {20504922,4345,109,5,2,1,-0.225,0.6531 } ); +cells.push_back( {20604912,4326,109,6,1,1,-0.275,0.603537 } ); +cells.push_back( {20604922,4346,109,6,2,1,-0.275,0.6531 } ); +cells.push_back( {20704912,4327,109,7,1,1,-0.325,0.603537 } ); +cells.push_back( {20704922,4347,109,7,2,1,-0.325,0.6531 } ); +cells.push_back( {20804912,4328,109,8,1,1,-0.375,0.603537 } ); +cells.push_back( {20804922,4348,109,8,2,1,-0.375,0.6531 } ); +cells.push_back( {20904912,4329,109,9,1,1,-0.425,0.603537 } ); +cells.push_back( {20904922,4349,109,9,2,1,-0.425,0.6531 } ); +cells.push_back( {21004912,4330,109,10,1,1,-0.475,0.603537 } ); +cells.push_back( {21004922,4350,109,10,2,1,-0.475,0.6531 } ); +cells.push_back( {21104912,4331,109,11,1,1,-0.525,0.603537 } ); +cells.push_back( {21104922,4351,109,11,2,1,-0.525,0.6531 } ); +cells.push_back( {21204912,4332,109,12,1,1,-0.575,0.603537 } ); +cells.push_back( {21204922,4352,109,12,2,1,-0.575,0.6531 } ); +cells.push_back( {21304912,4333,109,13,1,1,-0.625,0.603537 } ); +cells.push_back( {21304922,4353,109,13,2,1,-0.625,0.6531 } ); +cells.push_back( {21404912,4334,109,14,1,1,-0.675,0.603537 } ); +cells.push_back( {21404922,4354,109,14,2,1,-0.675,0.6531 } ); +cells.push_back( {21504912,4335,109,15,1,1,-0.725,0.603537 } ); +cells.push_back( {21504922,4355,109,15,2,1,-0.725,0.6531 } ); +cells.push_back( {21604912,4336,109,16,1,1,-0.775,0.603537 } ); +cells.push_back( {21604922,4356,109,16,2,1,-0.775,0.6531 } ); +cells.push_back( {21704912,4337,109,17,1,1,-0.825,0.603537 } ); +cells.push_back( {21704922,4357,109,17,2,1,-0.825,0.6531 } ); +cells.push_back( {21804912,4338,109,18,1,1,-0.875,0.603537 } ); +cells.push_back( {21804922,4358,109,18,2,1,-0.875,0.6531 } ); +cells.push_back( {21904912,4339,109,19,1,1,-0.925,0.603537 } ); +cells.push_back( {21904922,4359,109,19,2,1,-0.925,0.6531 } ); +cells.push_back( {22004912,4340,109,20,1,1,-0.967,0.603537 } ); +cells.push_back( {22004922,4360,109,20,2,1,-0.967,0.6531 } ); +cells.push_back( {20105011,4361,110,1,1,2,-0.02675,0.708257 } ); +cells.push_back( {20105021,4381,110,1,2,2,-0.02675,0.75782 } ); +cells.push_back( {20205011,4362,110,2,1,2,-0.075,0.708257 } ); +cells.push_back( {20205021,4382,110,2,2,2,-0.075,0.75782 } ); +cells.push_back( {20305011,4363,110,3,1,2,-0.125,0.708257 } ); +cells.push_back( {20305021,4383,110,3,2,2,-0.125,0.75782 } ); +cells.push_back( {20405011,4364,110,4,1,2,-0.175,0.708257 } ); +cells.push_back( {20405021,4384,110,4,2,2,-0.175,0.75782 } ); +cells.push_back( {20505011,4365,110,5,1,2,-0.225,0.708257 } ); +cells.push_back( {20505021,4385,110,5,2,2,-0.225,0.75782 } ); +cells.push_back( {20605011,4366,110,6,1,2,-0.275,0.708257 } ); +cells.push_back( {20605021,4386,110,6,2,2,-0.275,0.75782 } ); +cells.push_back( {20705011,4367,110,7,1,2,-0.325,0.708257 } ); +cells.push_back( {20705021,4387,110,7,2,2,-0.325,0.75782 } ); +cells.push_back( {20805011,4368,110,8,1,2,-0.375,0.708257 } ); +cells.push_back( {20805021,4388,110,8,2,2,-0.375,0.75782 } ); +cells.push_back( {20905011,4369,110,9,1,2,-0.425,0.708257 } ); +cells.push_back( {20905021,4389,110,9,2,2,-0.425,0.75782 } ); +cells.push_back( {21005011,4370,110,10,1,2,-0.475,0.708257 } ); +cells.push_back( {21005021,4390,110,10,2,2,-0.475,0.75782 } ); +cells.push_back( {21105011,4371,110,11,1,2,-0.525,0.708257 } ); +cells.push_back( {21105021,4391,110,11,2,2,-0.525,0.75782 } ); +cells.push_back( {21205011,4372,110,12,1,2,-0.575,0.708257 } ); +cells.push_back( {21205021,4392,110,12,2,2,-0.575,0.75782 } ); +cells.push_back( {21305011,4373,110,13,1,2,-0.625,0.708257 } ); +cells.push_back( {21305021,4393,110,13,2,2,-0.625,0.75782 } ); +cells.push_back( {21405011,4374,110,14,1,2,-0.675,0.708257 } ); +cells.push_back( {21405021,4394,110,14,2,2,-0.675,0.75782 } ); +cells.push_back( {21505011,4375,110,15,1,2,-0.725,0.708257 } ); +cells.push_back( {21505021,4395,110,15,2,2,-0.725,0.75782 } ); +cells.push_back( {21605011,4376,110,16,1,2,-0.775,0.708257 } ); +cells.push_back( {21605021,4396,110,16,2,2,-0.775,0.75782 } ); +cells.push_back( {21705011,4377,110,17,1,2,-0.825,0.708257 } ); +cells.push_back( {21705021,4397,110,17,2,2,-0.825,0.75782 } ); +cells.push_back( {21805011,4378,110,18,1,2,-0.875,0.708257 } ); +cells.push_back( {21805021,4398,110,18,2,2,-0.875,0.75782 } ); +cells.push_back( {21905011,4379,110,19,1,2,-0.925,0.708257 } ); +cells.push_back( {21905021,4399,110,19,2,2,-0.925,0.75782 } ); +cells.push_back( {22005011,4380,110,20,1,2,-0.967,0.708257 } ); +cells.push_back( {22005021,4400,110,20,2,2,-0.967,0.75782 } ); +cells.push_back( {20105012,4361,110,1,1,1,-0.02675,0.708257 } ); +cells.push_back( {20105022,4381,110,1,2,1,-0.02675,0.75782 } ); +cells.push_back( {20205012,4362,110,2,1,1,-0.075,0.708257 } ); +cells.push_back( {20205022,4382,110,2,2,1,-0.075,0.75782 } ); +cells.push_back( {20305012,4363,110,3,1,1,-0.125,0.708257 } ); +cells.push_back( {20305022,4383,110,3,2,1,-0.125,0.75782 } ); +cells.push_back( {20405012,4364,110,4,1,1,-0.175,0.708257 } ); +cells.push_back( {20405022,4384,110,4,2,1,-0.175,0.75782 } ); +cells.push_back( {20505012,4365,110,5,1,1,-0.225,0.708257 } ); +cells.push_back( {20505022,4385,110,5,2,1,-0.225,0.75782 } ); +cells.push_back( {20605012,4366,110,6,1,1,-0.275,0.708257 } ); +cells.push_back( {20605022,4386,110,6,2,1,-0.275,0.75782 } ); +cells.push_back( {20705012,4367,110,7,1,1,-0.325,0.708257 } ); +cells.push_back( {20705022,4387,110,7,2,1,-0.325,0.75782 } ); +cells.push_back( {20805012,4368,110,8,1,1,-0.375,0.708257 } ); +cells.push_back( {20805022,4388,110,8,2,1,-0.375,0.75782 } ); +cells.push_back( {20905012,4369,110,9,1,1,-0.425,0.708257 } ); +cells.push_back( {20905022,4389,110,9,2,1,-0.425,0.75782 } ); +cells.push_back( {21005012,4370,110,10,1,1,-0.475,0.708257 } ); +cells.push_back( {21005022,4390,110,10,2,1,-0.475,0.75782 } ); +cells.push_back( {21105012,4371,110,11,1,1,-0.525,0.708257 } ); +cells.push_back( {21105022,4391,110,11,2,1,-0.525,0.75782 } ); +cells.push_back( {21205012,4372,110,12,1,1,-0.575,0.708257 } ); +cells.push_back( {21205022,4392,110,12,2,1,-0.575,0.75782 } ); +cells.push_back( {21305012,4373,110,13,1,1,-0.625,0.708257 } ); +cells.push_back( {21305022,4393,110,13,2,1,-0.625,0.75782 } ); +cells.push_back( {21405012,4374,110,14,1,1,-0.675,0.708257 } ); +cells.push_back( {21405022,4394,110,14,2,1,-0.675,0.75782 } ); +cells.push_back( {21505012,4375,110,15,1,1,-0.725,0.708257 } ); +cells.push_back( {21505022,4395,110,15,2,1,-0.725,0.75782 } ); +cells.push_back( {21605012,4376,110,16,1,1,-0.775,0.708257 } ); +cells.push_back( {21605022,4396,110,16,2,1,-0.775,0.75782 } ); +cells.push_back( {21705012,4377,110,17,1,1,-0.825,0.708257 } ); +cells.push_back( {21705022,4397,110,17,2,1,-0.825,0.75782 } ); +cells.push_back( {21805012,4378,110,18,1,1,-0.875,0.708257 } ); +cells.push_back( {21805022,4398,110,18,2,1,-0.875,0.75782 } ); +cells.push_back( {21905012,4379,110,19,1,1,-0.925,0.708257 } ); +cells.push_back( {21905022,4399,110,19,2,1,-0.925,0.75782 } ); +cells.push_back( {22005012,4380,110,20,1,1,-0.967,0.708257 } ); +cells.push_back( {22005022,4400,110,20,2,1,-0.967,0.75782 } ); +cells.push_back( {20105111,4401,111,1,1,2,-0.02675,0.812977 } ); +cells.push_back( {20105121,4421,111,1,2,2,-0.02675,0.86254 } ); +cells.push_back( {20205111,4402,111,2,1,2,-0.075,0.812977 } ); +cells.push_back( {20205121,4422,111,2,2,2,-0.075,0.86254 } ); +cells.push_back( {20305111,4403,111,3,1,2,-0.125,0.812977 } ); +cells.push_back( {20305121,4423,111,3,2,2,-0.125,0.86254 } ); +cells.push_back( {20405111,4404,111,4,1,2,-0.175,0.812977 } ); +cells.push_back( {20405121,4424,111,4,2,2,-0.175,0.86254 } ); +cells.push_back( {20505111,4405,111,5,1,2,-0.225,0.812977 } ); +cells.push_back( {20505121,4425,111,5,2,2,-0.225,0.86254 } ); +cells.push_back( {20605111,4406,111,6,1,2,-0.275,0.812977 } ); +cells.push_back( {20605121,4426,111,6,2,2,-0.275,0.86254 } ); +cells.push_back( {20705111,4407,111,7,1,2,-0.325,0.812977 } ); +cells.push_back( {20705121,4427,111,7,2,2,-0.325,0.86254 } ); +cells.push_back( {20805111,4408,111,8,1,2,-0.375,0.812977 } ); +cells.push_back( {20805121,4428,111,8,2,2,-0.375,0.86254 } ); +cells.push_back( {20905111,4409,111,9,1,2,-0.425,0.812977 } ); +cells.push_back( {20905121,4429,111,9,2,2,-0.425,0.86254 } ); +cells.push_back( {21005111,4410,111,10,1,2,-0.475,0.812977 } ); +cells.push_back( {21005121,4430,111,10,2,2,-0.475,0.86254 } ); +cells.push_back( {21105111,4411,111,11,1,2,-0.525,0.812977 } ); +cells.push_back( {21105121,4431,111,11,2,2,-0.525,0.86254 } ); +cells.push_back( {21205111,4412,111,12,1,2,-0.575,0.812977 } ); +cells.push_back( {21205121,4432,111,12,2,2,-0.575,0.86254 } ); +cells.push_back( {21305111,4413,111,13,1,2,-0.625,0.812977 } ); +cells.push_back( {21305121,4433,111,13,2,2,-0.625,0.86254 } ); +cells.push_back( {21405111,4414,111,14,1,2,-0.675,0.812977 } ); +cells.push_back( {21405121,4434,111,14,2,2,-0.675,0.86254 } ); +cells.push_back( {21505111,4415,111,15,1,2,-0.725,0.812977 } ); +cells.push_back( {21505121,4435,111,15,2,2,-0.725,0.86254 } ); +cells.push_back( {21605111,4416,111,16,1,2,-0.775,0.812977 } ); +cells.push_back( {21605121,4436,111,16,2,2,-0.775,0.86254 } ); +cells.push_back( {21705111,4417,111,17,1,2,-0.825,0.812977 } ); +cells.push_back( {21705121,4437,111,17,2,2,-0.825,0.86254 } ); +cells.push_back( {21805111,4418,111,18,1,2,-0.875,0.812977 } ); +cells.push_back( {21805121,4438,111,18,2,2,-0.875,0.86254 } ); +cells.push_back( {21905111,4419,111,19,1,2,-0.925,0.812977 } ); +cells.push_back( {21905121,4439,111,19,2,2,-0.925,0.86254 } ); +cells.push_back( {22005111,4420,111,20,1,2,-0.967,0.812977 } ); +cells.push_back( {22005121,4440,111,20,2,2,-0.967,0.86254 } ); +cells.push_back( {20105112,4401,111,1,1,1,-0.02675,0.812977 } ); +cells.push_back( {20105122,4421,111,1,2,1,-0.02675,0.86254 } ); +cells.push_back( {20205112,4402,111,2,1,1,-0.075,0.812977 } ); +cells.push_back( {20205122,4422,111,2,2,1,-0.075,0.86254 } ); +cells.push_back( {20305112,4403,111,3,1,1,-0.125,0.812977 } ); +cells.push_back( {20305122,4423,111,3,2,1,-0.125,0.86254 } ); +cells.push_back( {20405112,4404,111,4,1,1,-0.175,0.812977 } ); +cells.push_back( {20405122,4424,111,4,2,1,-0.175,0.86254 } ); +cells.push_back( {20505112,4405,111,5,1,1,-0.225,0.812977 } ); +cells.push_back( {20505122,4425,111,5,2,1,-0.225,0.86254 } ); +cells.push_back( {20605112,4406,111,6,1,1,-0.275,0.812977 } ); +cells.push_back( {20605122,4426,111,6,2,1,-0.275,0.86254 } ); +cells.push_back( {20705112,4407,111,7,1,1,-0.325,0.812977 } ); +cells.push_back( {20705122,4427,111,7,2,1,-0.325,0.86254 } ); +cells.push_back( {20805112,4408,111,8,1,1,-0.375,0.812977 } ); +cells.push_back( {20805122,4428,111,8,2,1,-0.375,0.86254 } ); +cells.push_back( {20905112,4409,111,9,1,1,-0.425,0.812977 } ); +cells.push_back( {20905122,4429,111,9,2,1,-0.425,0.86254 } ); +cells.push_back( {21005112,4410,111,10,1,1,-0.475,0.812977 } ); +cells.push_back( {21005122,4430,111,10,2,1,-0.475,0.86254 } ); +cells.push_back( {21105112,4411,111,11,1,1,-0.525,0.812977 } ); +cells.push_back( {21105122,4431,111,11,2,1,-0.525,0.86254 } ); +cells.push_back( {21205112,4412,111,12,1,1,-0.575,0.812977 } ); +cells.push_back( {21205122,4432,111,12,2,1,-0.575,0.86254 } ); +cells.push_back( {21305112,4413,111,13,1,1,-0.625,0.812977 } ); +cells.push_back( {21305122,4433,111,13,2,1,-0.625,0.86254 } ); +cells.push_back( {21405112,4414,111,14,1,1,-0.675,0.812977 } ); +cells.push_back( {21405122,4434,111,14,2,1,-0.675,0.86254 } ); +cells.push_back( {21505112,4415,111,15,1,1,-0.725,0.812977 } ); +cells.push_back( {21505122,4435,111,15,2,1,-0.725,0.86254 } ); +cells.push_back( {21605112,4416,111,16,1,1,-0.775,0.812977 } ); +cells.push_back( {21605122,4436,111,16,2,1,-0.775,0.86254 } ); +cells.push_back( {21705112,4417,111,17,1,1,-0.825,0.812977 } ); +cells.push_back( {21705122,4437,111,17,2,1,-0.825,0.86254 } ); +cells.push_back( {21805112,4418,111,18,1,1,-0.875,0.812977 } ); +cells.push_back( {21805122,4438,111,18,2,1,-0.875,0.86254 } ); +cells.push_back( {21905112,4419,111,19,1,1,-0.925,0.812977 } ); +cells.push_back( {21905122,4439,111,19,2,1,-0.925,0.86254 } ); +cells.push_back( {22005112,4420,111,20,1,1,-0.967,0.812977 } ); +cells.push_back( {22005122,4440,111,20,2,1,-0.967,0.86254 } ); +cells.push_back( {20105211,4441,112,1,1,2,-0.02675,0.917697 } ); +cells.push_back( {20105221,4461,112,1,2,2,-0.02675,0.967259 } ); +cells.push_back( {20205211,4442,112,2,1,2,-0.075,0.917697 } ); +cells.push_back( {20205221,4462,112,2,2,2,-0.075,0.967259 } ); +cells.push_back( {20305211,4443,112,3,1,2,-0.125,0.917697 } ); +cells.push_back( {20305221,4463,112,3,2,2,-0.125,0.967259 } ); +cells.push_back( {20405211,4444,112,4,1,2,-0.175,0.917697 } ); +cells.push_back( {20405221,4464,112,4,2,2,-0.175,0.967259 } ); +cells.push_back( {20505211,4445,112,5,1,2,-0.225,0.917697 } ); +cells.push_back( {20505221,4465,112,5,2,2,-0.225,0.967259 } ); +cells.push_back( {20605211,4446,112,6,1,2,-0.275,0.917697 } ); +cells.push_back( {20605221,4466,112,6,2,2,-0.275,0.967259 } ); +cells.push_back( {20705211,4447,112,7,1,2,-0.325,0.917697 } ); +cells.push_back( {20705221,4467,112,7,2,2,-0.325,0.967259 } ); +cells.push_back( {20805211,4448,112,8,1,2,-0.375,0.917697 } ); +cells.push_back( {20805221,4468,112,8,2,2,-0.375,0.967259 } ); +cells.push_back( {20905211,4449,112,9,1,2,-0.425,0.917697 } ); +cells.push_back( {20905221,4469,112,9,2,2,-0.425,0.967259 } ); +cells.push_back( {21005211,4450,112,10,1,2,-0.475,0.917697 } ); +cells.push_back( {21005221,4470,112,10,2,2,-0.475,0.967259 } ); +cells.push_back( {21105211,4451,112,11,1,2,-0.525,0.917697 } ); +cells.push_back( {21105221,4471,112,11,2,2,-0.525,0.967259 } ); +cells.push_back( {21205211,4452,112,12,1,2,-0.575,0.917697 } ); +cells.push_back( {21205221,4472,112,12,2,2,-0.575,0.967259 } ); +cells.push_back( {21305211,4453,112,13,1,2,-0.625,0.917697 } ); +cells.push_back( {21305221,4473,112,13,2,2,-0.625,0.967259 } ); +cells.push_back( {21405211,4454,112,14,1,2,-0.675,0.917697 } ); +cells.push_back( {21405221,4474,112,14,2,2,-0.675,0.967259 } ); +cells.push_back( {21505211,4455,112,15,1,2,-0.725,0.917697 } ); +cells.push_back( {21505221,4475,112,15,2,2,-0.725,0.967259 } ); +cells.push_back( {21605211,4456,112,16,1,2,-0.775,0.917697 } ); +cells.push_back( {21605221,4476,112,16,2,2,-0.775,0.967259 } ); +cells.push_back( {21705211,4457,112,17,1,2,-0.825,0.917697 } ); +cells.push_back( {21705221,4477,112,17,2,2,-0.825,0.967259 } ); +cells.push_back( {21805211,4458,112,18,1,2,-0.875,0.917697 } ); +cells.push_back( {21805221,4478,112,18,2,2,-0.875,0.967259 } ); +cells.push_back( {21905211,4459,112,19,1,2,-0.925,0.917697 } ); +cells.push_back( {21905221,4479,112,19,2,2,-0.925,0.967259 } ); +cells.push_back( {22005211,4460,112,20,1,2,-0.967,0.917697 } ); +cells.push_back( {22005221,4480,112,20,2,2,-0.967,0.967259 } ); +cells.push_back( {20105212,4441,112,1,1,1,-0.02675,0.917697 } ); +cells.push_back( {20105222,4461,112,1,2,1,-0.02675,0.967259 } ); +cells.push_back( {20205212,4442,112,2,1,1,-0.075,0.917697 } ); +cells.push_back( {20205222,4462,112,2,2,1,-0.075,0.967259 } ); +cells.push_back( {20305212,4443,112,3,1,1,-0.125,0.917697 } ); +cells.push_back( {20305222,4463,112,3,2,1,-0.125,0.967259 } ); +cells.push_back( {20405212,4444,112,4,1,1,-0.175,0.917697 } ); +cells.push_back( {20405222,4464,112,4,2,1,-0.175,0.967259 } ); +cells.push_back( {20505212,4445,112,5,1,1,-0.225,0.917697 } ); +cells.push_back( {20505222,4465,112,5,2,1,-0.225,0.967259 } ); +cells.push_back( {20605212,4446,112,6,1,1,-0.275,0.917697 } ); +cells.push_back( {20605222,4466,112,6,2,1,-0.275,0.967259 } ); +cells.push_back( {20705212,4447,112,7,1,1,-0.325,0.917697 } ); +cells.push_back( {20705222,4467,112,7,2,1,-0.325,0.967259 } ); +cells.push_back( {20805212,4448,112,8,1,1,-0.375,0.917697 } ); +cells.push_back( {20805222,4468,112,8,2,1,-0.375,0.967259 } ); +cells.push_back( {20905212,4449,112,9,1,1,-0.425,0.917697 } ); +cells.push_back( {20905222,4469,112,9,2,1,-0.425,0.967259 } ); +cells.push_back( {21005212,4450,112,10,1,1,-0.475,0.917697 } ); +cells.push_back( {21005222,4470,112,10,2,1,-0.475,0.967259 } ); +cells.push_back( {21105212,4451,112,11,1,1,-0.525,0.917697 } ); +cells.push_back( {21105222,4471,112,11,2,1,-0.525,0.967259 } ); +cells.push_back( {21205212,4452,112,12,1,1,-0.575,0.917697 } ); +cells.push_back( {21205222,4472,112,12,2,1,-0.575,0.967259 } ); +cells.push_back( {21305212,4453,112,13,1,1,-0.625,0.917697 } ); +cells.push_back( {21305222,4473,112,13,2,1,-0.625,0.967259 } ); +cells.push_back( {21405212,4454,112,14,1,1,-0.675,0.917697 } ); +cells.push_back( {21405222,4474,112,14,2,1,-0.675,0.967259 } ); +cells.push_back( {21505212,4455,112,15,1,1,-0.725,0.917697 } ); +cells.push_back( {21505222,4475,112,15,2,1,-0.725,0.967259 } ); +cells.push_back( {21605212,4456,112,16,1,1,-0.775,0.917697 } ); +cells.push_back( {21605222,4476,112,16,2,1,-0.775,0.967259 } ); +cells.push_back( {21705212,4457,112,17,1,1,-0.825,0.917697 } ); +cells.push_back( {21705222,4477,112,17,2,1,-0.825,0.967259 } ); +cells.push_back( {21805212,4458,112,18,1,1,-0.875,0.917697 } ); +cells.push_back( {21805222,4478,112,18,2,1,-0.875,0.967259 } ); +cells.push_back( {21905212,4459,112,19,1,1,-0.925,0.917697 } ); +cells.push_back( {21905222,4479,112,19,2,1,-0.925,0.967259 } ); +cells.push_back( {22005212,4460,112,20,1,1,-0.967,0.917697 } ); +cells.push_back( {22005222,4480,112,20,2,1,-0.967,0.967259 } ); +cells.push_back( {20105311,4481,113,1,1,2,-0.02675,1.02242 } ); +cells.push_back( {20105321,4501,113,1,2,2,-0.02675,1.07198 } ); +cells.push_back( {20205311,4482,113,2,1,2,-0.075,1.02242 } ); +cells.push_back( {20205321,4502,113,2,2,2,-0.075,1.07198 } ); +cells.push_back( {20305311,4483,113,3,1,2,-0.125,1.02242 } ); +cells.push_back( {20305321,4503,113,3,2,2,-0.125,1.07198 } ); +cells.push_back( {20405311,4484,113,4,1,2,-0.175,1.02242 } ); +cells.push_back( {20405321,4504,113,4,2,2,-0.175,1.07198 } ); +cells.push_back( {20505311,4485,113,5,1,2,-0.225,1.02242 } ); +cells.push_back( {20505321,4505,113,5,2,2,-0.225,1.07198 } ); +cells.push_back( {20605311,4486,113,6,1,2,-0.275,1.02242 } ); +cells.push_back( {20605321,4506,113,6,2,2,-0.275,1.07198 } ); +cells.push_back( {20705311,4487,113,7,1,2,-0.325,1.02242 } ); +cells.push_back( {20705321,4507,113,7,2,2,-0.325,1.07198 } ); +cells.push_back( {20805311,4488,113,8,1,2,-0.375,1.02242 } ); +cells.push_back( {20805321,4508,113,8,2,2,-0.375,1.07198 } ); +cells.push_back( {20905311,4489,113,9,1,2,-0.425,1.02242 } ); +cells.push_back( {20905321,4509,113,9,2,2,-0.425,1.07198 } ); +cells.push_back( {21005311,4490,113,10,1,2,-0.475,1.02242 } ); +cells.push_back( {21005321,4510,113,10,2,2,-0.475,1.07198 } ); +cells.push_back( {21105311,4491,113,11,1,2,-0.525,1.02242 } ); +cells.push_back( {21105321,4511,113,11,2,2,-0.525,1.07198 } ); +cells.push_back( {21205311,4492,113,12,1,2,-0.575,1.02242 } ); +cells.push_back( {21205321,4512,113,12,2,2,-0.575,1.07198 } ); +cells.push_back( {21305311,4493,113,13,1,2,-0.625,1.02242 } ); +cells.push_back( {21305321,4513,113,13,2,2,-0.625,1.07198 } ); +cells.push_back( {21405311,4494,113,14,1,2,-0.675,1.02242 } ); +cells.push_back( {21405321,4514,113,14,2,2,-0.675,1.07198 } ); +cells.push_back( {21505311,4495,113,15,1,2,-0.725,1.02242 } ); +cells.push_back( {21505321,4515,113,15,2,2,-0.725,1.07198 } ); +cells.push_back( {21605311,4496,113,16,1,2,-0.775,1.02242 } ); +cells.push_back( {21605321,4516,113,16,2,2,-0.775,1.07198 } ); +cells.push_back( {21705311,4497,113,17,1,2,-0.825,1.02242 } ); +cells.push_back( {21705321,4517,113,17,2,2,-0.825,1.07198 } ); +cells.push_back( {21805311,4498,113,18,1,2,-0.875,1.02242 } ); +cells.push_back( {21805321,4518,113,18,2,2,-0.875,1.07198 } ); +cells.push_back( {21905311,4499,113,19,1,2,-0.925,1.02242 } ); +cells.push_back( {21905321,4519,113,19,2,2,-0.925,1.07198 } ); +cells.push_back( {22005311,4500,113,20,1,2,-0.967,1.02242 } ); +cells.push_back( {22005321,4520,113,20,2,2,-0.967,1.07198 } ); +cells.push_back( {20105312,4481,113,1,1,1,-0.02675,1.02242 } ); +cells.push_back( {20105322,4501,113,1,2,1,-0.02675,1.07198 } ); +cells.push_back( {20205312,4482,113,2,1,1,-0.075,1.02242 } ); +cells.push_back( {20205322,4502,113,2,2,1,-0.075,1.07198 } ); +cells.push_back( {20305312,4483,113,3,1,1,-0.125,1.02242 } ); +cells.push_back( {20305322,4503,113,3,2,1,-0.125,1.07198 } ); +cells.push_back( {20405312,4484,113,4,1,1,-0.175,1.02242 } ); +cells.push_back( {20405322,4504,113,4,2,1,-0.175,1.07198 } ); +cells.push_back( {20505312,4485,113,5,1,1,-0.225,1.02242 } ); +cells.push_back( {20505322,4505,113,5,2,1,-0.225,1.07198 } ); +cells.push_back( {20605312,4486,113,6,1,1,-0.275,1.02242 } ); +cells.push_back( {20605322,4506,113,6,2,1,-0.275,1.07198 } ); +cells.push_back( {20705312,4487,113,7,1,1,-0.325,1.02242 } ); +cells.push_back( {20705322,4507,113,7,2,1,-0.325,1.07198 } ); +cells.push_back( {20805312,4488,113,8,1,1,-0.375,1.02242 } ); +cells.push_back( {20805322,4508,113,8,2,1,-0.375,1.07198 } ); +cells.push_back( {20905312,4489,113,9,1,1,-0.425,1.02242 } ); +cells.push_back( {20905322,4509,113,9,2,1,-0.425,1.07198 } ); +cells.push_back( {21005312,4490,113,10,1,1,-0.475,1.02242 } ); +cells.push_back( {21005322,4510,113,10,2,1,-0.475,1.07198 } ); +cells.push_back( {21105312,4491,113,11,1,1,-0.525,1.02242 } ); +cells.push_back( {21105322,4511,113,11,2,1,-0.525,1.07198 } ); +cells.push_back( {21205312,4492,113,12,1,1,-0.575,1.02242 } ); +cells.push_back( {21205322,4512,113,12,2,1,-0.575,1.07198 } ); +cells.push_back( {21305312,4493,113,13,1,1,-0.625,1.02242 } ); +cells.push_back( {21305322,4513,113,13,2,1,-0.625,1.07198 } ); +cells.push_back( {21405312,4494,113,14,1,1,-0.675,1.02242 } ); +cells.push_back( {21405322,4514,113,14,2,1,-0.675,1.07198 } ); +cells.push_back( {21505312,4495,113,15,1,1,-0.725,1.02242 } ); +cells.push_back( {21505322,4515,113,15,2,1,-0.725,1.07198 } ); +cells.push_back( {21605312,4496,113,16,1,1,-0.775,1.02242 } ); +cells.push_back( {21605322,4516,113,16,2,1,-0.775,1.07198 } ); +cells.push_back( {21705312,4497,113,17,1,1,-0.825,1.02242 } ); +cells.push_back( {21705322,4517,113,17,2,1,-0.825,1.07198 } ); +cells.push_back( {21805312,4498,113,18,1,1,-0.875,1.02242 } ); +cells.push_back( {21805322,4518,113,18,2,1,-0.875,1.07198 } ); +cells.push_back( {21905312,4499,113,19,1,1,-0.925,1.02242 } ); +cells.push_back( {21905322,4519,113,19,2,1,-0.925,1.07198 } ); +cells.push_back( {22005312,4500,113,20,1,1,-0.967,1.02242 } ); +cells.push_back( {22005322,4520,113,20,2,1,-0.967,1.07198 } ); +cells.push_back( {20105411,4521,114,1,1,2,-0.02675,1.12714 } ); +cells.push_back( {20105421,4541,114,1,2,2,-0.02675,1.1767 } ); +cells.push_back( {20205411,4522,114,2,1,2,-0.075,1.12714 } ); +cells.push_back( {20205421,4542,114,2,2,2,-0.075,1.1767 } ); +cells.push_back( {20305411,4523,114,3,1,2,-0.125,1.12714 } ); +cells.push_back( {20305421,4543,114,3,2,2,-0.125,1.1767 } ); +cells.push_back( {20405411,4524,114,4,1,2,-0.175,1.12714 } ); +cells.push_back( {20405421,4544,114,4,2,2,-0.175,1.1767 } ); +cells.push_back( {20505411,4525,114,5,1,2,-0.225,1.12714 } ); +cells.push_back( {20505421,4545,114,5,2,2,-0.225,1.1767 } ); +cells.push_back( {20605411,4526,114,6,1,2,-0.275,1.12714 } ); +cells.push_back( {20605421,4546,114,6,2,2,-0.275,1.1767 } ); +cells.push_back( {20705411,4527,114,7,1,2,-0.325,1.12714 } ); +cells.push_back( {20705421,4547,114,7,2,2,-0.325,1.1767 } ); +cells.push_back( {20805411,4528,114,8,1,2,-0.375,1.12714 } ); +cells.push_back( {20805421,4548,114,8,2,2,-0.375,1.1767 } ); +cells.push_back( {20905411,4529,114,9,1,2,-0.425,1.12714 } ); +cells.push_back( {20905421,4549,114,9,2,2,-0.425,1.1767 } ); +cells.push_back( {21005411,4530,114,10,1,2,-0.475,1.12714 } ); +cells.push_back( {21005421,4550,114,10,2,2,-0.475,1.1767 } ); +cells.push_back( {21105411,4531,114,11,1,2,-0.525,1.12714 } ); +cells.push_back( {21105421,4551,114,11,2,2,-0.525,1.1767 } ); +cells.push_back( {21205411,4532,114,12,1,2,-0.575,1.12714 } ); +cells.push_back( {21205421,4552,114,12,2,2,-0.575,1.1767 } ); +cells.push_back( {21305411,4533,114,13,1,2,-0.625,1.12714 } ); +cells.push_back( {21305421,4553,114,13,2,2,-0.625,1.1767 } ); +cells.push_back( {21405411,4534,114,14,1,2,-0.675,1.12714 } ); +cells.push_back( {21405421,4554,114,14,2,2,-0.675,1.1767 } ); +cells.push_back( {21505411,4535,114,15,1,2,-0.725,1.12714 } ); +cells.push_back( {21505421,4555,114,15,2,2,-0.725,1.1767 } ); +cells.push_back( {21605411,4536,114,16,1,2,-0.775,1.12714 } ); +cells.push_back( {21605421,4556,114,16,2,2,-0.775,1.1767 } ); +cells.push_back( {21705411,4537,114,17,1,2,-0.825,1.12714 } ); +cells.push_back( {21705421,4557,114,17,2,2,-0.825,1.1767 } ); +cells.push_back( {21805411,4538,114,18,1,2,-0.875,1.12714 } ); +cells.push_back( {21805421,4558,114,18,2,2,-0.875,1.1767 } ); +cells.push_back( {21905411,4539,114,19,1,2,-0.925,1.12714 } ); +cells.push_back( {21905421,4559,114,19,2,2,-0.925,1.1767 } ); +cells.push_back( {22005411,4540,114,20,1,2,-0.967,1.12714 } ); +cells.push_back( {22005421,4560,114,20,2,2,-0.967,1.1767 } ); +cells.push_back( {20105412,4521,114,1,1,1,-0.02675,1.12714 } ); +cells.push_back( {20105422,4541,114,1,2,1,-0.02675,1.1767 } ); +cells.push_back( {20205412,4522,114,2,1,1,-0.075,1.12714 } ); +cells.push_back( {20205422,4542,114,2,2,1,-0.075,1.1767 } ); +cells.push_back( {20305412,4523,114,3,1,1,-0.125,1.12714 } ); +cells.push_back( {20305422,4543,114,3,2,1,-0.125,1.1767 } ); +cells.push_back( {20405412,4524,114,4,1,1,-0.175,1.12714 } ); +cells.push_back( {20405422,4544,114,4,2,1,-0.175,1.1767 } ); +cells.push_back( {20505412,4525,114,5,1,1,-0.225,1.12714 } ); +cells.push_back( {20505422,4545,114,5,2,1,-0.225,1.1767 } ); +cells.push_back( {20605412,4526,114,6,1,1,-0.275,1.12714 } ); +cells.push_back( {20605422,4546,114,6,2,1,-0.275,1.1767 } ); +cells.push_back( {20705412,4527,114,7,1,1,-0.325,1.12714 } ); +cells.push_back( {20705422,4547,114,7,2,1,-0.325,1.1767 } ); +cells.push_back( {20805412,4528,114,8,1,1,-0.375,1.12714 } ); +cells.push_back( {20805422,4548,114,8,2,1,-0.375,1.1767 } ); +cells.push_back( {20905412,4529,114,9,1,1,-0.425,1.12714 } ); +cells.push_back( {20905422,4549,114,9,2,1,-0.425,1.1767 } ); +cells.push_back( {21005412,4530,114,10,1,1,-0.475,1.12714 } ); +cells.push_back( {21005422,4550,114,10,2,1,-0.475,1.1767 } ); +cells.push_back( {21105412,4531,114,11,1,1,-0.525,1.12714 } ); +cells.push_back( {21105422,4551,114,11,2,1,-0.525,1.1767 } ); +cells.push_back( {21205412,4532,114,12,1,1,-0.575,1.12714 } ); +cells.push_back( {21205422,4552,114,12,2,1,-0.575,1.1767 } ); +cells.push_back( {21305412,4533,114,13,1,1,-0.625,1.12714 } ); +cells.push_back( {21305422,4553,114,13,2,1,-0.625,1.1767 } ); +cells.push_back( {21405412,4534,114,14,1,1,-0.675,1.12714 } ); +cells.push_back( {21405422,4554,114,14,2,1,-0.675,1.1767 } ); +cells.push_back( {21505412,4535,114,15,1,1,-0.725,1.12714 } ); +cells.push_back( {21505422,4555,114,15,2,1,-0.725,1.1767 } ); +cells.push_back( {21605412,4536,114,16,1,1,-0.775,1.12714 } ); +cells.push_back( {21605422,4556,114,16,2,1,-0.775,1.1767 } ); +cells.push_back( {21705412,4537,114,17,1,1,-0.825,1.12714 } ); +cells.push_back( {21705422,4557,114,17,2,1,-0.825,1.1767 } ); +cells.push_back( {21805412,4538,114,18,1,1,-0.875,1.12714 } ); +cells.push_back( {21805422,4558,114,18,2,1,-0.875,1.1767 } ); +cells.push_back( {21905412,4539,114,19,1,1,-0.925,1.12714 } ); +cells.push_back( {21905422,4559,114,19,2,1,-0.925,1.1767 } ); +cells.push_back( {22005412,4540,114,20,1,1,-0.967,1.12714 } ); +cells.push_back( {22005422,4560,114,20,2,1,-0.967,1.1767 } ); +cells.push_back( {20105511,4561,115,1,1,2,-0.02675,1.23186 } ); +cells.push_back( {20105521,4581,115,1,2,2,-0.02675,1.28142 } ); +cells.push_back( {20205511,4562,115,2,1,2,-0.075,1.23186 } ); +cells.push_back( {20205521,4582,115,2,2,2,-0.075,1.28142 } ); +cells.push_back( {20305511,4563,115,3,1,2,-0.125,1.23186 } ); +cells.push_back( {20305521,4583,115,3,2,2,-0.125,1.28142 } ); +cells.push_back( {20405511,4564,115,4,1,2,-0.175,1.23186 } ); +cells.push_back( {20405521,4584,115,4,2,2,-0.175,1.28142 } ); +cells.push_back( {20505511,4565,115,5,1,2,-0.225,1.23186 } ); +cells.push_back( {20505521,4585,115,5,2,2,-0.225,1.28142 } ); +cells.push_back( {20605511,4566,115,6,1,2,-0.275,1.23186 } ); +cells.push_back( {20605521,4586,115,6,2,2,-0.275,1.28142 } ); +cells.push_back( {20705511,4567,115,7,1,2,-0.325,1.23186 } ); +cells.push_back( {20705521,4587,115,7,2,2,-0.325,1.28142 } ); +cells.push_back( {20805511,4568,115,8,1,2,-0.375,1.23186 } ); +cells.push_back( {20805521,4588,115,8,2,2,-0.375,1.28142 } ); +cells.push_back( {20905511,4569,115,9,1,2,-0.425,1.23186 } ); +cells.push_back( {20905521,4589,115,9,2,2,-0.425,1.28142 } ); +cells.push_back( {21005511,4570,115,10,1,2,-0.475,1.23186 } ); +cells.push_back( {21005521,4590,115,10,2,2,-0.475,1.28142 } ); +cells.push_back( {21105511,4571,115,11,1,2,-0.525,1.23186 } ); +cells.push_back( {21105521,4591,115,11,2,2,-0.525,1.28142 } ); +cells.push_back( {21205511,4572,115,12,1,2,-0.575,1.23186 } ); +cells.push_back( {21205521,4592,115,12,2,2,-0.575,1.28142 } ); +cells.push_back( {21305511,4573,115,13,1,2,-0.625,1.23186 } ); +cells.push_back( {21305521,4593,115,13,2,2,-0.625,1.28142 } ); +cells.push_back( {21405511,4574,115,14,1,2,-0.675,1.23186 } ); +cells.push_back( {21405521,4594,115,14,2,2,-0.675,1.28142 } ); +cells.push_back( {21505511,4575,115,15,1,2,-0.725,1.23186 } ); +cells.push_back( {21505521,4595,115,15,2,2,-0.725,1.28142 } ); +cells.push_back( {21605511,4576,115,16,1,2,-0.775,1.23186 } ); +cells.push_back( {21605521,4596,115,16,2,2,-0.775,1.28142 } ); +cells.push_back( {21705511,4577,115,17,1,2,-0.825,1.23186 } ); +cells.push_back( {21705521,4597,115,17,2,2,-0.825,1.28142 } ); +cells.push_back( {21805511,4578,115,18,1,2,-0.875,1.23186 } ); +cells.push_back( {21805521,4598,115,18,2,2,-0.875,1.28142 } ); +cells.push_back( {21905511,4579,115,19,1,2,-0.925,1.23186 } ); +cells.push_back( {21905521,4599,115,19,2,2,-0.925,1.28142 } ); +cells.push_back( {22005511,4580,115,20,1,2,-0.967,1.23186 } ); +cells.push_back( {22005521,4600,115,20,2,2,-0.967,1.28142 } ); +cells.push_back( {20105512,4561,115,1,1,1,-0.02675,1.23186 } ); +cells.push_back( {20105522,4581,115,1,2,1,-0.02675,1.28142 } ); +cells.push_back( {20205512,4562,115,2,1,1,-0.075,1.23186 } ); +cells.push_back( {20205522,4582,115,2,2,1,-0.075,1.28142 } ); +cells.push_back( {20305512,4563,115,3,1,1,-0.125,1.23186 } ); +cells.push_back( {20305522,4583,115,3,2,1,-0.125,1.28142 } ); +cells.push_back( {20405512,4564,115,4,1,1,-0.175,1.23186 } ); +cells.push_back( {20405522,4584,115,4,2,1,-0.175,1.28142 } ); +cells.push_back( {20505512,4565,115,5,1,1,-0.225,1.23186 } ); +cells.push_back( {20505522,4585,115,5,2,1,-0.225,1.28142 } ); +cells.push_back( {20605512,4566,115,6,1,1,-0.275,1.23186 } ); +cells.push_back( {20605522,4586,115,6,2,1,-0.275,1.28142 } ); +cells.push_back( {20705512,4567,115,7,1,1,-0.325,1.23186 } ); +cells.push_back( {20705522,4587,115,7,2,1,-0.325,1.28142 } ); +cells.push_back( {20805512,4568,115,8,1,1,-0.375,1.23186 } ); +cells.push_back( {20805522,4588,115,8,2,1,-0.375,1.28142 } ); +cells.push_back( {20905512,4569,115,9,1,1,-0.425,1.23186 } ); +cells.push_back( {20905522,4589,115,9,2,1,-0.425,1.28142 } ); +cells.push_back( {21005512,4570,115,10,1,1,-0.475,1.23186 } ); +cells.push_back( {21005522,4590,115,10,2,1,-0.475,1.28142 } ); +cells.push_back( {21105512,4571,115,11,1,1,-0.525,1.23186 } ); +cells.push_back( {21105522,4591,115,11,2,1,-0.525,1.28142 } ); +cells.push_back( {21205512,4572,115,12,1,1,-0.575,1.23186 } ); +cells.push_back( {21205522,4592,115,12,2,1,-0.575,1.28142 } ); +cells.push_back( {21305512,4573,115,13,1,1,-0.625,1.23186 } ); +cells.push_back( {21305522,4593,115,13,2,1,-0.625,1.28142 } ); +cells.push_back( {21405512,4574,115,14,1,1,-0.675,1.23186 } ); +cells.push_back( {21405522,4594,115,14,2,1,-0.675,1.28142 } ); +cells.push_back( {21505512,4575,115,15,1,1,-0.725,1.23186 } ); +cells.push_back( {21505522,4595,115,15,2,1,-0.725,1.28142 } ); +cells.push_back( {21605512,4576,115,16,1,1,-0.775,1.23186 } ); +cells.push_back( {21605522,4596,115,16,2,1,-0.775,1.28142 } ); +cells.push_back( {21705512,4577,115,17,1,1,-0.825,1.23186 } ); +cells.push_back( {21705522,4597,115,17,2,1,-0.825,1.28142 } ); +cells.push_back( {21805512,4578,115,18,1,1,-0.875,1.23186 } ); +cells.push_back( {21805522,4598,115,18,2,1,-0.875,1.28142 } ); +cells.push_back( {21905512,4579,115,19,1,1,-0.925,1.23186 } ); +cells.push_back( {21905522,4599,115,19,2,1,-0.925,1.28142 } ); +cells.push_back( {22005512,4580,115,20,1,1,-0.967,1.23186 } ); +cells.push_back( {22005522,4600,115,20,2,1,-0.967,1.28142 } ); +cells.push_back( {20105611,4601,116,1,1,2,-0.02675,1.33658 } ); +cells.push_back( {20105621,4621,116,1,2,2,-0.02675,1.38614 } ); +cells.push_back( {20205611,4602,116,2,1,2,-0.075,1.33658 } ); +cells.push_back( {20205621,4622,116,2,2,2,-0.075,1.38614 } ); +cells.push_back( {20305611,4603,116,3,1,2,-0.125,1.33658 } ); +cells.push_back( {20305621,4623,116,3,2,2,-0.125,1.38614 } ); +cells.push_back( {20405611,4604,116,4,1,2,-0.175,1.33658 } ); +cells.push_back( {20405621,4624,116,4,2,2,-0.175,1.38614 } ); +cells.push_back( {20505611,4605,116,5,1,2,-0.225,1.33658 } ); +cells.push_back( {20505621,4625,116,5,2,2,-0.225,1.38614 } ); +cells.push_back( {20605611,4606,116,6,1,2,-0.275,1.33658 } ); +cells.push_back( {20605621,4626,116,6,2,2,-0.275,1.38614 } ); +cells.push_back( {20705611,4607,116,7,1,2,-0.325,1.33658 } ); +cells.push_back( {20705621,4627,116,7,2,2,-0.325,1.38614 } ); +cells.push_back( {20805611,4608,116,8,1,2,-0.375,1.33658 } ); +cells.push_back( {20805621,4628,116,8,2,2,-0.375,1.38614 } ); +cells.push_back( {20905611,4609,116,9,1,2,-0.425,1.33658 } ); +cells.push_back( {20905621,4629,116,9,2,2,-0.425,1.38614 } ); +cells.push_back( {21005611,4610,116,10,1,2,-0.475,1.33658 } ); +cells.push_back( {21005621,4630,116,10,2,2,-0.475,1.38614 } ); +cells.push_back( {21105611,4611,116,11,1,2,-0.525,1.33658 } ); +cells.push_back( {21105621,4631,116,11,2,2,-0.525,1.38614 } ); +cells.push_back( {21205611,4612,116,12,1,2,-0.575,1.33658 } ); +cells.push_back( {21205621,4632,116,12,2,2,-0.575,1.38614 } ); +cells.push_back( {21305611,4613,116,13,1,2,-0.625,1.33658 } ); +cells.push_back( {21305621,4633,116,13,2,2,-0.625,1.38614 } ); +cells.push_back( {21405611,4614,116,14,1,2,-0.675,1.33658 } ); +cells.push_back( {21405621,4634,116,14,2,2,-0.675,1.38614 } ); +cells.push_back( {21505611,4615,116,15,1,2,-0.725,1.33658 } ); +cells.push_back( {21505621,4635,116,15,2,2,-0.725,1.38614 } ); +cells.push_back( {21605611,4616,116,16,1,2,-0.775,1.33658 } ); +cells.push_back( {21605621,4636,116,16,2,2,-0.775,1.38614 } ); +cells.push_back( {21705611,4617,116,17,1,2,-0.825,1.33658 } ); +cells.push_back( {21705621,4637,116,17,2,2,-0.825,1.38614 } ); +cells.push_back( {21805611,4618,116,18,1,2,-0.875,1.33658 } ); +cells.push_back( {21805621,4638,116,18,2,2,-0.875,1.38614 } ); +cells.push_back( {21905611,4619,116,19,1,2,-0.925,1.33658 } ); +cells.push_back( {21905621,4639,116,19,2,2,-0.925,1.38614 } ); +cells.push_back( {22005611,4620,116,20,1,2,-0.967,1.33658 } ); +cells.push_back( {22005621,4640,116,20,2,2,-0.967,1.38614 } ); +cells.push_back( {20105612,4601,116,1,1,1,-0.02675,1.33658 } ); +cells.push_back( {20105622,4621,116,1,2,1,-0.02675,1.38614 } ); +cells.push_back( {20205612,4602,116,2,1,1,-0.075,1.33658 } ); +cells.push_back( {20205622,4622,116,2,2,1,-0.075,1.38614 } ); +cells.push_back( {20305612,4603,116,3,1,1,-0.125,1.33658 } ); +cells.push_back( {20305622,4623,116,3,2,1,-0.125,1.38614 } ); +cells.push_back( {20405612,4604,116,4,1,1,-0.175,1.33658 } ); +cells.push_back( {20405622,4624,116,4,2,1,-0.175,1.38614 } ); +cells.push_back( {20505612,4605,116,5,1,1,-0.225,1.33658 } ); +cells.push_back( {20505622,4625,116,5,2,1,-0.225,1.38614 } ); +cells.push_back( {20605612,4606,116,6,1,1,-0.275,1.33658 } ); +cells.push_back( {20605622,4626,116,6,2,1,-0.275,1.38614 } ); +cells.push_back( {20705612,4607,116,7,1,1,-0.325,1.33658 } ); +cells.push_back( {20705622,4627,116,7,2,1,-0.325,1.38614 } ); +cells.push_back( {20805612,4608,116,8,1,1,-0.375,1.33658 } ); +cells.push_back( {20805622,4628,116,8,2,1,-0.375,1.38614 } ); +cells.push_back( {20905612,4609,116,9,1,1,-0.425,1.33658 } ); +cells.push_back( {20905622,4629,116,9,2,1,-0.425,1.38614 } ); +cells.push_back( {21005612,4610,116,10,1,1,-0.475,1.33658 } ); +cells.push_back( {21005622,4630,116,10,2,1,-0.475,1.38614 } ); +cells.push_back( {21105612,4611,116,11,1,1,-0.525,1.33658 } ); +cells.push_back( {21105622,4631,116,11,2,1,-0.525,1.38614 } ); +cells.push_back( {21205612,4612,116,12,1,1,-0.575,1.33658 } ); +cells.push_back( {21205622,4632,116,12,2,1,-0.575,1.38614 } ); +cells.push_back( {21305612,4613,116,13,1,1,-0.625,1.33658 } ); +cells.push_back( {21305622,4633,116,13,2,1,-0.625,1.38614 } ); +cells.push_back( {21405612,4614,116,14,1,1,-0.675,1.33658 } ); +cells.push_back( {21405622,4634,116,14,2,1,-0.675,1.38614 } ); +cells.push_back( {21505612,4615,116,15,1,1,-0.725,1.33658 } ); +cells.push_back( {21505622,4635,116,15,2,1,-0.725,1.38614 } ); +cells.push_back( {21605612,4616,116,16,1,1,-0.775,1.33658 } ); +cells.push_back( {21605622,4636,116,16,2,1,-0.775,1.38614 } ); +cells.push_back( {21705612,4617,116,17,1,1,-0.825,1.33658 } ); +cells.push_back( {21705622,4637,116,17,2,1,-0.825,1.38614 } ); +cells.push_back( {21805612,4618,116,18,1,1,-0.875,1.33658 } ); +cells.push_back( {21805622,4638,116,18,2,1,-0.875,1.38614 } ); +cells.push_back( {21905612,4619,116,19,1,1,-0.925,1.33658 } ); +cells.push_back( {21905622,4639,116,19,2,1,-0.925,1.38614 } ); +cells.push_back( {22005612,4620,116,20,1,1,-0.967,1.33658 } ); +cells.push_back( {22005622,4640,116,20,2,1,-0.967,1.38614 } ); +cells.push_back( {20105711,4641,117,1,1,2,-0.02675,1.4413 } ); +cells.push_back( {20105721,4661,117,1,2,2,-0.02675,1.49086 } ); +cells.push_back( {20205711,4642,117,2,1,2,-0.075,1.4413 } ); +cells.push_back( {20205721,4662,117,2,2,2,-0.075,1.49086 } ); +cells.push_back( {20305711,4643,117,3,1,2,-0.125,1.4413 } ); +cells.push_back( {20305721,4663,117,3,2,2,-0.125,1.49086 } ); +cells.push_back( {20405711,4644,117,4,1,2,-0.175,1.4413 } ); +cells.push_back( {20405721,4664,117,4,2,2,-0.175,1.49086 } ); +cells.push_back( {20505711,4645,117,5,1,2,-0.225,1.4413 } ); +cells.push_back( {20505721,4665,117,5,2,2,-0.225,1.49086 } ); +cells.push_back( {20605711,4646,117,6,1,2,-0.275,1.4413 } ); +cells.push_back( {20605721,4666,117,6,2,2,-0.275,1.49086 } ); +cells.push_back( {20705711,4647,117,7,1,2,-0.325,1.4413 } ); +cells.push_back( {20705721,4667,117,7,2,2,-0.325,1.49086 } ); +cells.push_back( {20805711,4648,117,8,1,2,-0.375,1.4413 } ); +cells.push_back( {20805721,4668,117,8,2,2,-0.375,1.49086 } ); +cells.push_back( {20905711,4649,117,9,1,2,-0.425,1.4413 } ); +cells.push_back( {20905721,4669,117,9,2,2,-0.425,1.49086 } ); +cells.push_back( {21005711,4650,117,10,1,2,-0.475,1.4413 } ); +cells.push_back( {21005721,4670,117,10,2,2,-0.475,1.49086 } ); +cells.push_back( {21105711,4651,117,11,1,2,-0.525,1.4413 } ); +cells.push_back( {21105721,4671,117,11,2,2,-0.525,1.49086 } ); +cells.push_back( {21205711,4652,117,12,1,2,-0.575,1.4413 } ); +cells.push_back( {21205721,4672,117,12,2,2,-0.575,1.49086 } ); +cells.push_back( {21305711,4653,117,13,1,2,-0.625,1.4413 } ); +cells.push_back( {21305721,4673,117,13,2,2,-0.625,1.49086 } ); +cells.push_back( {21405711,4654,117,14,1,2,-0.675,1.4413 } ); +cells.push_back( {21405721,4674,117,14,2,2,-0.675,1.49086 } ); +cells.push_back( {21505711,4655,117,15,1,2,-0.725,1.4413 } ); +cells.push_back( {21505721,4675,117,15,2,2,-0.725,1.49086 } ); +cells.push_back( {21605711,4656,117,16,1,2,-0.775,1.4413 } ); +cells.push_back( {21605721,4676,117,16,2,2,-0.775,1.49086 } ); +cells.push_back( {21705711,4657,117,17,1,2,-0.825,1.4413 } ); +cells.push_back( {21705721,4677,117,17,2,2,-0.825,1.49086 } ); +cells.push_back( {21805711,4658,117,18,1,2,-0.875,1.4413 } ); +cells.push_back( {21805721,4678,117,18,2,2,-0.875,1.49086 } ); +cells.push_back( {21905711,4659,117,19,1,2,-0.925,1.4413 } ); +cells.push_back( {21905721,4679,117,19,2,2,-0.925,1.49086 } ); +cells.push_back( {22005711,4660,117,20,1,2,-0.967,1.4413 } ); +cells.push_back( {22005721,4680,117,20,2,2,-0.967,1.49086 } ); +cells.push_back( {20105712,4641,117,1,1,1,-0.02675,1.4413 } ); +cells.push_back( {20105722,4661,117,1,2,1,-0.02675,1.49086 } ); +cells.push_back( {20205712,4642,117,2,1,1,-0.075,1.4413 } ); +cells.push_back( {20205722,4662,117,2,2,1,-0.075,1.49086 } ); +cells.push_back( {20305712,4643,117,3,1,1,-0.125,1.4413 } ); +cells.push_back( {20305722,4663,117,3,2,1,-0.125,1.49086 } ); +cells.push_back( {20405712,4644,117,4,1,1,-0.175,1.4413 } ); +cells.push_back( {20405722,4664,117,4,2,1,-0.175,1.49086 } ); +cells.push_back( {20505712,4645,117,5,1,1,-0.225,1.4413 } ); +cells.push_back( {20505722,4665,117,5,2,1,-0.225,1.49086 } ); +cells.push_back( {20605712,4646,117,6,1,1,-0.275,1.4413 } ); +cells.push_back( {20605722,4666,117,6,2,1,-0.275,1.49086 } ); +cells.push_back( {20705712,4647,117,7,1,1,-0.325,1.4413 } ); +cells.push_back( {20705722,4667,117,7,2,1,-0.325,1.49086 } ); +cells.push_back( {20805712,4648,117,8,1,1,-0.375,1.4413 } ); +cells.push_back( {20805722,4668,117,8,2,1,-0.375,1.49086 } ); +cells.push_back( {20905712,4649,117,9,1,1,-0.425,1.4413 } ); +cells.push_back( {20905722,4669,117,9,2,1,-0.425,1.49086 } ); +cells.push_back( {21005712,4650,117,10,1,1,-0.475,1.4413 } ); +cells.push_back( {21005722,4670,117,10,2,1,-0.475,1.49086 } ); +cells.push_back( {21105712,4651,117,11,1,1,-0.525,1.4413 } ); +cells.push_back( {21105722,4671,117,11,2,1,-0.525,1.49086 } ); +cells.push_back( {21205712,4652,117,12,1,1,-0.575,1.4413 } ); +cells.push_back( {21205722,4672,117,12,2,1,-0.575,1.49086 } ); +cells.push_back( {21305712,4653,117,13,1,1,-0.625,1.4413 } ); +cells.push_back( {21305722,4673,117,13,2,1,-0.625,1.49086 } ); +cells.push_back( {21405712,4654,117,14,1,1,-0.675,1.4413 } ); +cells.push_back( {21405722,4674,117,14,2,1,-0.675,1.49086 } ); +cells.push_back( {21505712,4655,117,15,1,1,-0.725,1.4413 } ); +cells.push_back( {21505722,4675,117,15,2,1,-0.725,1.49086 } ); +cells.push_back( {21605712,4656,117,16,1,1,-0.775,1.4413 } ); +cells.push_back( {21605722,4676,117,16,2,1,-0.775,1.49086 } ); +cells.push_back( {21705712,4657,117,17,1,1,-0.825,1.4413 } ); +cells.push_back( {21705722,4677,117,17,2,1,-0.825,1.49086 } ); +cells.push_back( {21805712,4658,117,18,1,1,-0.875,1.4413 } ); +cells.push_back( {21805722,4678,117,18,2,1,-0.875,1.49086 } ); +cells.push_back( {21905712,4659,117,19,1,1,-0.925,1.4413 } ); +cells.push_back( {21905722,4679,117,19,2,1,-0.925,1.49086 } ); +cells.push_back( {22005712,4660,117,20,1,1,-0.967,1.4413 } ); +cells.push_back( {22005722,4680,117,20,2,1,-0.967,1.49086 } ); +cells.push_back( {20105811,4681,118,1,1,2,-0.02675,1.54602 } ); +cells.push_back( {20105821,4701,118,1,2,2,-0.02675,1.59558 } ); +cells.push_back( {20205811,4682,118,2,1,2,-0.075,1.54602 } ); +cells.push_back( {20205821,4702,118,2,2,2,-0.075,1.59558 } ); +cells.push_back( {20305811,4683,118,3,1,2,-0.125,1.54602 } ); +cells.push_back( {20305821,4703,118,3,2,2,-0.125,1.59558 } ); +cells.push_back( {20405811,4684,118,4,1,2,-0.175,1.54602 } ); +cells.push_back( {20405821,4704,118,4,2,2,-0.175,1.59558 } ); +cells.push_back( {20505811,4685,118,5,1,2,-0.225,1.54602 } ); +cells.push_back( {20505821,4705,118,5,2,2,-0.225,1.59558 } ); +cells.push_back( {20605811,4686,118,6,1,2,-0.275,1.54602 } ); +cells.push_back( {20605821,4706,118,6,2,2,-0.275,1.59558 } ); +cells.push_back( {20705811,4687,118,7,1,2,-0.325,1.54602 } ); +cells.push_back( {20705821,4707,118,7,2,2,-0.325,1.59558 } ); +cells.push_back( {20805811,4688,118,8,1,2,-0.375,1.54602 } ); +cells.push_back( {20805821,4708,118,8,2,2,-0.375,1.59558 } ); +cells.push_back( {20905811,4689,118,9,1,2,-0.425,1.54602 } ); +cells.push_back( {20905821,4709,118,9,2,2,-0.425,1.59558 } ); +cells.push_back( {21005811,4690,118,10,1,2,-0.475,1.54602 } ); +cells.push_back( {21005821,4710,118,10,2,2,-0.475,1.59558 } ); +cells.push_back( {21105811,4691,118,11,1,2,-0.525,1.54602 } ); +cells.push_back( {21105821,4711,118,11,2,2,-0.525,1.59558 } ); +cells.push_back( {21205811,4692,118,12,1,2,-0.575,1.54602 } ); +cells.push_back( {21205821,4712,118,12,2,2,-0.575,1.59558 } ); +cells.push_back( {21305811,4693,118,13,1,2,-0.625,1.54602 } ); +cells.push_back( {21305821,4713,118,13,2,2,-0.625,1.59558 } ); +cells.push_back( {21405811,4694,118,14,1,2,-0.675,1.54602 } ); +cells.push_back( {21405821,4714,118,14,2,2,-0.675,1.59558 } ); +cells.push_back( {21505811,4695,118,15,1,2,-0.725,1.54602 } ); +cells.push_back( {21505821,4715,118,15,2,2,-0.725,1.59558 } ); +cells.push_back( {21605811,4696,118,16,1,2,-0.775,1.54602 } ); +cells.push_back( {21605821,4716,118,16,2,2,-0.775,1.59558 } ); +cells.push_back( {21705811,4697,118,17,1,2,-0.825,1.54602 } ); +cells.push_back( {21705821,4717,118,17,2,2,-0.825,1.59558 } ); +cells.push_back( {21805811,4698,118,18,1,2,-0.875,1.54602 } ); +cells.push_back( {21805821,4718,118,18,2,2,-0.875,1.59558 } ); +cells.push_back( {21905811,4699,118,19,1,2,-0.925,1.54602 } ); +cells.push_back( {21905821,4719,118,19,2,2,-0.925,1.59558 } ); +cells.push_back( {22005811,4700,118,20,1,2,-0.967,1.54602 } ); +cells.push_back( {22005821,4720,118,20,2,2,-0.967,1.59558 } ); +cells.push_back( {20105812,4681,118,1,1,1,-0.02675,1.54602 } ); +cells.push_back( {20105822,4701,118,1,2,1,-0.02675,1.59558 } ); +cells.push_back( {20205812,4682,118,2,1,1,-0.075,1.54602 } ); +cells.push_back( {20205822,4702,118,2,2,1,-0.075,1.59558 } ); +cells.push_back( {20305812,4683,118,3,1,1,-0.125,1.54602 } ); +cells.push_back( {20305822,4703,118,3,2,1,-0.125,1.59558 } ); +cells.push_back( {20405812,4684,118,4,1,1,-0.175,1.54602 } ); +cells.push_back( {20405822,4704,118,4,2,1,-0.175,1.59558 } ); +cells.push_back( {20505812,4685,118,5,1,1,-0.225,1.54602 } ); +cells.push_back( {20505822,4705,118,5,2,1,-0.225,1.59558 } ); +cells.push_back( {20605812,4686,118,6,1,1,-0.275,1.54602 } ); +cells.push_back( {20605822,4706,118,6,2,1,-0.275,1.59558 } ); +cells.push_back( {20705812,4687,118,7,1,1,-0.325,1.54602 } ); +cells.push_back( {20705822,4707,118,7,2,1,-0.325,1.59558 } ); +cells.push_back( {20805812,4688,118,8,1,1,-0.375,1.54602 } ); +cells.push_back( {20805822,4708,118,8,2,1,-0.375,1.59558 } ); +cells.push_back( {20905812,4689,118,9,1,1,-0.425,1.54602 } ); +cells.push_back( {20905822,4709,118,9,2,1,-0.425,1.59558 } ); +cells.push_back( {21005812,4690,118,10,1,1,-0.475,1.54602 } ); +cells.push_back( {21005822,4710,118,10,2,1,-0.475,1.59558 } ); +cells.push_back( {21105812,4691,118,11,1,1,-0.525,1.54602 } ); +cells.push_back( {21105822,4711,118,11,2,1,-0.525,1.59558 } ); +cells.push_back( {21205812,4692,118,12,1,1,-0.575,1.54602 } ); +cells.push_back( {21205822,4712,118,12,2,1,-0.575,1.59558 } ); +cells.push_back( {21305812,4693,118,13,1,1,-0.625,1.54602 } ); +cells.push_back( {21305822,4713,118,13,2,1,-0.625,1.59558 } ); +cells.push_back( {21405812,4694,118,14,1,1,-0.675,1.54602 } ); +cells.push_back( {21405822,4714,118,14,2,1,-0.675,1.59558 } ); +cells.push_back( {21505812,4695,118,15,1,1,-0.725,1.54602 } ); +cells.push_back( {21505822,4715,118,15,2,1,-0.725,1.59558 } ); +cells.push_back( {21605812,4696,118,16,1,1,-0.775,1.54602 } ); +cells.push_back( {21605822,4716,118,16,2,1,-0.775,1.59558 } ); +cells.push_back( {21705812,4697,118,17,1,1,-0.825,1.54602 } ); +cells.push_back( {21705822,4717,118,17,2,1,-0.825,1.59558 } ); +cells.push_back( {21805812,4698,118,18,1,1,-0.875,1.54602 } ); +cells.push_back( {21805822,4718,118,18,2,1,-0.875,1.59558 } ); +cells.push_back( {21905812,4699,118,19,1,1,-0.925,1.54602 } ); +cells.push_back( {21905822,4719,118,19,2,1,-0.925,1.59558 } ); +cells.push_back( {22005812,4700,118,20,1,1,-0.967,1.54602 } ); +cells.push_back( {22005822,4720,118,20,2,1,-0.967,1.59558 } ); +cells.push_back( {20105911,4721,119,1,1,2,-0.02675,1.65073 } ); +cells.push_back( {20105921,4741,119,1,2,2,-0.02675,1.7003 } ); +cells.push_back( {20205911,4722,119,2,1,2,-0.075,1.65073 } ); +cells.push_back( {20205921,4742,119,2,2,2,-0.075,1.7003 } ); +cells.push_back( {20305911,4723,119,3,1,2,-0.125,1.65073 } ); +cells.push_back( {20305921,4743,119,3,2,2,-0.125,1.7003 } ); +cells.push_back( {20405911,4724,119,4,1,2,-0.175,1.65073 } ); +cells.push_back( {20405921,4744,119,4,2,2,-0.175,1.7003 } ); +cells.push_back( {20505911,4725,119,5,1,2,-0.225,1.65073 } ); +cells.push_back( {20505921,4745,119,5,2,2,-0.225,1.7003 } ); +cells.push_back( {20605911,4726,119,6,1,2,-0.275,1.65073 } ); +cells.push_back( {20605921,4746,119,6,2,2,-0.275,1.7003 } ); +cells.push_back( {20705911,4727,119,7,1,2,-0.325,1.65073 } ); +cells.push_back( {20705921,4747,119,7,2,2,-0.325,1.7003 } ); +cells.push_back( {20805911,4728,119,8,1,2,-0.375,1.65073 } ); +cells.push_back( {20805921,4748,119,8,2,2,-0.375,1.7003 } ); +cells.push_back( {20905911,4729,119,9,1,2,-0.425,1.65073 } ); +cells.push_back( {20905921,4749,119,9,2,2,-0.425,1.7003 } ); +cells.push_back( {21005911,4730,119,10,1,2,-0.475,1.65073 } ); +cells.push_back( {21005921,4750,119,10,2,2,-0.475,1.7003 } ); +cells.push_back( {21105911,4731,119,11,1,2,-0.525,1.65073 } ); +cells.push_back( {21105921,4751,119,11,2,2,-0.525,1.7003 } ); +cells.push_back( {21205911,4732,119,12,1,2,-0.575,1.65073 } ); +cells.push_back( {21205921,4752,119,12,2,2,-0.575,1.7003 } ); +cells.push_back( {21305911,4733,119,13,1,2,-0.625,1.65073 } ); +cells.push_back( {21305921,4753,119,13,2,2,-0.625,1.7003 } ); +cells.push_back( {21405911,4734,119,14,1,2,-0.675,1.65073 } ); +cells.push_back( {21405921,4754,119,14,2,2,-0.675,1.7003 } ); +cells.push_back( {21505911,4735,119,15,1,2,-0.725,1.65073 } ); +cells.push_back( {21505921,4755,119,15,2,2,-0.725,1.7003 } ); +cells.push_back( {21605911,4736,119,16,1,2,-0.775,1.65073 } ); +cells.push_back( {21605921,4756,119,16,2,2,-0.775,1.7003 } ); +cells.push_back( {21705911,4737,119,17,1,2,-0.825,1.65073 } ); +cells.push_back( {21705921,4757,119,17,2,2,-0.825,1.7003 } ); +cells.push_back( {21805911,4738,119,18,1,2,-0.875,1.65073 } ); +cells.push_back( {21805921,4758,119,18,2,2,-0.875,1.7003 } ); +cells.push_back( {21905911,4739,119,19,1,2,-0.925,1.65073 } ); +cells.push_back( {21905921,4759,119,19,2,2,-0.925,1.7003 } ); +cells.push_back( {22005911,4740,119,20,1,2,-0.967,1.65073 } ); +cells.push_back( {22005921,4760,119,20,2,2,-0.967,1.7003 } ); +cells.push_back( {20105912,4721,119,1,1,1,-0.02675,1.65073 } ); +cells.push_back( {20105922,4741,119,1,2,1,-0.02675,1.7003 } ); +cells.push_back( {20205912,4722,119,2,1,1,-0.075,1.65073 } ); +cells.push_back( {20205922,4742,119,2,2,1,-0.075,1.7003 } ); +cells.push_back( {20305912,4723,119,3,1,1,-0.125,1.65073 } ); +cells.push_back( {20305922,4743,119,3,2,1,-0.125,1.7003 } ); +cells.push_back( {20405912,4724,119,4,1,1,-0.175,1.65073 } ); +cells.push_back( {20405922,4744,119,4,2,1,-0.175,1.7003 } ); +cells.push_back( {20505912,4725,119,5,1,1,-0.225,1.65073 } ); +cells.push_back( {20505922,4745,119,5,2,1,-0.225,1.7003 } ); +cells.push_back( {20605912,4726,119,6,1,1,-0.275,1.65073 } ); +cells.push_back( {20605922,4746,119,6,2,1,-0.275,1.7003 } ); +cells.push_back( {20705912,4727,119,7,1,1,-0.325,1.65073 } ); +cells.push_back( {20705922,4747,119,7,2,1,-0.325,1.7003 } ); +cells.push_back( {20805912,4728,119,8,1,1,-0.375,1.65073 } ); +cells.push_back( {20805922,4748,119,8,2,1,-0.375,1.7003 } ); +cells.push_back( {20905912,4729,119,9,1,1,-0.425,1.65073 } ); +cells.push_back( {20905922,4749,119,9,2,1,-0.425,1.7003 } ); +cells.push_back( {21005912,4730,119,10,1,1,-0.475,1.65073 } ); +cells.push_back( {21005922,4750,119,10,2,1,-0.475,1.7003 } ); +cells.push_back( {21105912,4731,119,11,1,1,-0.525,1.65073 } ); +cells.push_back( {21105922,4751,119,11,2,1,-0.525,1.7003 } ); +cells.push_back( {21205912,4732,119,12,1,1,-0.575,1.65073 } ); +cells.push_back( {21205922,4752,119,12,2,1,-0.575,1.7003 } ); +cells.push_back( {21305912,4733,119,13,1,1,-0.625,1.65073 } ); +cells.push_back( {21305922,4753,119,13,2,1,-0.625,1.7003 } ); +cells.push_back( {21405912,4734,119,14,1,1,-0.675,1.65073 } ); +cells.push_back( {21405922,4754,119,14,2,1,-0.675,1.7003 } ); +cells.push_back( {21505912,4735,119,15,1,1,-0.725,1.65073 } ); +cells.push_back( {21505922,4755,119,15,2,1,-0.725,1.7003 } ); +cells.push_back( {21605912,4736,119,16,1,1,-0.775,1.65073 } ); +cells.push_back( {21605922,4756,119,16,2,1,-0.775,1.7003 } ); +cells.push_back( {21705912,4737,119,17,1,1,-0.825,1.65073 } ); +cells.push_back( {21705922,4757,119,17,2,1,-0.825,1.7003 } ); +cells.push_back( {21805912,4738,119,18,1,1,-0.875,1.65073 } ); +cells.push_back( {21805922,4758,119,18,2,1,-0.875,1.7003 } ); +cells.push_back( {21905912,4739,119,19,1,1,-0.925,1.65073 } ); +cells.push_back( {21905922,4759,119,19,2,1,-0.925,1.7003 } ); +cells.push_back( {22005912,4740,119,20,1,1,-0.967,1.65073 } ); +cells.push_back( {22005922,4760,119,20,2,1,-0.967,1.7003 } ); +cells.push_back( {20106011,4761,120,1,1,2,-0.02675,1.75545 } ); +cells.push_back( {20106021,4781,120,1,2,2,-0.02675,1.80502 } ); +cells.push_back( {20206011,4762,120,2,1,2,-0.075,1.75545 } ); +cells.push_back( {20206021,4782,120,2,2,2,-0.075,1.80502 } ); +cells.push_back( {20306011,4763,120,3,1,2,-0.125,1.75545 } ); +cells.push_back( {20306021,4783,120,3,2,2,-0.125,1.80502 } ); +cells.push_back( {20406011,4764,120,4,1,2,-0.175,1.75545 } ); +cells.push_back( {20406021,4784,120,4,2,2,-0.175,1.80502 } ); +cells.push_back( {20506011,4765,120,5,1,2,-0.225,1.75545 } ); +cells.push_back( {20506021,4785,120,5,2,2,-0.225,1.80502 } ); +cells.push_back( {20606011,4766,120,6,1,2,-0.275,1.75545 } ); +cells.push_back( {20606021,4786,120,6,2,2,-0.275,1.80502 } ); +cells.push_back( {20706011,4767,120,7,1,2,-0.325,1.75545 } ); +cells.push_back( {20706021,4787,120,7,2,2,-0.325,1.80502 } ); +cells.push_back( {20806011,4768,120,8,1,2,-0.375,1.75545 } ); +cells.push_back( {20806021,4788,120,8,2,2,-0.375,1.80502 } ); +cells.push_back( {20906011,4769,120,9,1,2,-0.425,1.75545 } ); +cells.push_back( {20906021,4789,120,9,2,2,-0.425,1.80502 } ); +cells.push_back( {21006011,4770,120,10,1,2,-0.475,1.75545 } ); +cells.push_back( {21006021,4790,120,10,2,2,-0.475,1.80502 } ); +cells.push_back( {21106011,4771,120,11,1,2,-0.525,1.75545 } ); +cells.push_back( {21106021,4791,120,11,2,2,-0.525,1.80502 } ); +cells.push_back( {21206011,4772,120,12,1,2,-0.575,1.75545 } ); +cells.push_back( {21206021,4792,120,12,2,2,-0.575,1.80502 } ); +cells.push_back( {21306011,4773,120,13,1,2,-0.625,1.75545 } ); +cells.push_back( {21306021,4793,120,13,2,2,-0.625,1.80502 } ); +cells.push_back( {21406011,4774,120,14,1,2,-0.675,1.75545 } ); +cells.push_back( {21406021,4794,120,14,2,2,-0.675,1.80502 } ); +cells.push_back( {21506011,4775,120,15,1,2,-0.725,1.75545 } ); +cells.push_back( {21506021,4795,120,15,2,2,-0.725,1.80502 } ); +cells.push_back( {21606011,4776,120,16,1,2,-0.775,1.75545 } ); +cells.push_back( {21606021,4796,120,16,2,2,-0.775,1.80502 } ); +cells.push_back( {21706011,4777,120,17,1,2,-0.825,1.75545 } ); +cells.push_back( {21706021,4797,120,17,2,2,-0.825,1.80502 } ); +cells.push_back( {21806011,4778,120,18,1,2,-0.875,1.75545 } ); +cells.push_back( {21806021,4798,120,18,2,2,-0.875,1.80502 } ); +cells.push_back( {21906011,4779,120,19,1,2,-0.925,1.75545 } ); +cells.push_back( {21906021,4799,120,19,2,2,-0.925,1.80502 } ); +cells.push_back( {22006011,4780,120,20,1,2,-0.967,1.75545 } ); +cells.push_back( {22006021,4800,120,20,2,2,-0.967,1.80502 } ); +cells.push_back( {20106012,4761,120,1,1,1,-0.02675,1.75545 } ); +cells.push_back( {20106022,4781,120,1,2,1,-0.02675,1.80502 } ); +cells.push_back( {20206012,4762,120,2,1,1,-0.075,1.75545 } ); +cells.push_back( {20206022,4782,120,2,2,1,-0.075,1.80502 } ); +cells.push_back( {20306012,4763,120,3,1,1,-0.125,1.75545 } ); +cells.push_back( {20306022,4783,120,3,2,1,-0.125,1.80502 } ); +cells.push_back( {20406012,4764,120,4,1,1,-0.175,1.75545 } ); +cells.push_back( {20406022,4784,120,4,2,1,-0.175,1.80502 } ); +cells.push_back( {20506012,4765,120,5,1,1,-0.225,1.75545 } ); +cells.push_back( {20506022,4785,120,5,2,1,-0.225,1.80502 } ); +cells.push_back( {20606012,4766,120,6,1,1,-0.275,1.75545 } ); +cells.push_back( {20606022,4786,120,6,2,1,-0.275,1.80502 } ); +cells.push_back( {20706012,4767,120,7,1,1,-0.325,1.75545 } ); +cells.push_back( {20706022,4787,120,7,2,1,-0.325,1.80502 } ); +cells.push_back( {20806012,4768,120,8,1,1,-0.375,1.75545 } ); +cells.push_back( {20806022,4788,120,8,2,1,-0.375,1.80502 } ); +cells.push_back( {20906012,4769,120,9,1,1,-0.425,1.75545 } ); +cells.push_back( {20906022,4789,120,9,2,1,-0.425,1.80502 } ); +cells.push_back( {21006012,4770,120,10,1,1,-0.475,1.75545 } ); +cells.push_back( {21006022,4790,120,10,2,1,-0.475,1.80502 } ); +cells.push_back( {21106012,4771,120,11,1,1,-0.525,1.75545 } ); +cells.push_back( {21106022,4791,120,11,2,1,-0.525,1.80502 } ); +cells.push_back( {21206012,4772,120,12,1,1,-0.575,1.75545 } ); +cells.push_back( {21206022,4792,120,12,2,1,-0.575,1.80502 } ); +cells.push_back( {21306012,4773,120,13,1,1,-0.625,1.75545 } ); +cells.push_back( {21306022,4793,120,13,2,1,-0.625,1.80502 } ); +cells.push_back( {21406012,4774,120,14,1,1,-0.675,1.75545 } ); +cells.push_back( {21406022,4794,120,14,2,1,-0.675,1.80502 } ); +cells.push_back( {21506012,4775,120,15,1,1,-0.725,1.75545 } ); +cells.push_back( {21506022,4795,120,15,2,1,-0.725,1.80502 } ); +cells.push_back( {21606012,4776,120,16,1,1,-0.775,1.75545 } ); +cells.push_back( {21606022,4796,120,16,2,1,-0.775,1.80502 } ); +cells.push_back( {21706012,4777,120,17,1,1,-0.825,1.75545 } ); +cells.push_back( {21706022,4797,120,17,2,1,-0.825,1.80502 } ); +cells.push_back( {21806012,4778,120,18,1,1,-0.875,1.75545 } ); +cells.push_back( {21806022,4798,120,18,2,1,-0.875,1.80502 } ); +cells.push_back( {21906012,4779,120,19,1,1,-0.925,1.75545 } ); +cells.push_back( {21906022,4799,120,19,2,1,-0.925,1.80502 } ); +cells.push_back( {22006012,4780,120,20,1,1,-0.967,1.75545 } ); +cells.push_back( {22006022,4800,120,20,2,1,-0.967,1.80502 } ); + +}; diff --git a/StRoot/StGeant4Maker/tests/unit_test_epd_hits.C b/StRoot/StGeant4Maker/tests/unit_test_epd_hits.C new file mode 100644 index 00000000000..ecd6fd9a169 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_epd_hits.C @@ -0,0 +1,203 @@ +#include "tests/unit_tests.h" + +#include "StEpdUtil/StEpdGeom.h" + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +void throw_muon_in_epd_tile( double eta, double phid, int charge = 1 ) { + + throw_muon( eta, phid, 10.0, charge ); // energetic + _eta = eta; + _phid = phid; + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_epd_hit") ); + +} + +//___________________________________________________________________ +void unit_test_epd_hits() { + + gROOT->ProcessLine("initChain();"); + + if ( 0 == hasRuntimeArg("epdutil") ) { + std::cout << "Please re-run with --epdutil option" << std::endl; + assert(0); + } + + StEpdGeom epd; + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and EPD hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + TVector3 direction; + + for ( int eastwest=-1; eastwest<=+1; eastwest+=2 ) { + for ( int supersector=1; supersector<=12; supersector++ ) { + for ( int tilenumber=1; tilenumber<=31; tilenumber++ ) { + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << "eastwest = " << eastwest << std::endl; + LOG_TEST << "supersector = " << supersector << std::endl; + LOG_TEST << "tilenumber = " << tilenumber << std::endl; + + /* from g2t_volume_id + " EPD volume_id " + " 100,000 : east or west " + " 1,000 : Position clock wise, 1 to 12 " + " 10 : Tile number 1 to 31, refer EPD Drupal page" + " 1 : 1 T1 trap or T2 thin; 0 T1 triangular or T2 thick + */ + + int expected_id = + 100000 * (3+eastwest)/2 + + 1000 * supersector + + 10 * tilenumber ; + // we cannot target further... + direction = epd.TileCenter( supersector, tilenumber, eastwest ); + + throw_muon_in_epd_tile( direction.Eta(), direction.Phi()*180.0/TMath::Pi() ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the EPD", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 1 hit in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_epd_hit; + std::string result = FAIL; + if ( n==1 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + check_epd_hit( "Print the hit...", hit, [=](const g2t_epd_hit_st* h) { + LOG_TEST << "id=" << h->id + << " track_p=" << h->track_p + << " volume_id=" << h->volume_id + << " de=" << h->de + << std::endl; + return PASS; + }); + + check_epd_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form(" volumeId=%i ", h->volume_id ) + result; + return result; + }); + check_epd_hit( "The decoded side from volume_id should be 1 or 2 (E or W)",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id / 100000; + if ( ew == 1 || ew == 2 ) result = PASS; + result = Form("(eastwest=%i) ",ew) + result; + return result; + }); + check_epd_hit( "The decoded position from volume_id should be 1..12",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id % 100000 / 1000; + if ( ew >= 1 && ew <= 12 ) result = PASS; + result = Form("(position=%i) ",ew) + result; + return result; + }); + check_epd_hit( "The decoded tile from volume_id should be 1..31",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id % 1000 / 10; + if ( ew >= 1 && ew <= 31 ) result = PASS; + result = Form("(tile=%i) ",ew) + result; + return result; + }); + check_epd_hit( "The decoded tile shape from volume_id should be 0..1",hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id % 10; + if ( ew == 1 || ew == 0 ) result = PASS; + result = Form("(in/out=%i) ",ew) + result; + return result; + }); + check_epd_hit( Form("The volume_id should be %i or %i",expected_id,expected_id+1),hit,[=](const g2t_epd_hit_st* h) { + std::string result = FAIL; + int ew = h->volume_id; + if ( ew == expected_id ) result=PASS; + else if ( ew == expected_id+1 ) result=PASS; + result = Form("(expected=%i (or+1) volumeId=%i eta=%f phi=%f) ",expected_id,ew,_eta,_phid) + result; + return result; + }); + + } + + } + + } + + } + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_epd_response.C b/StRoot/StGeant4Maker/tests/unit_test_epd_response.C new file mode 100644 index 00000000000..34f3ca45db2 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_epd_response.C @@ -0,0 +1,103 @@ +#include "tests/unit_tests.h" +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +void throw_muon_in_epd_tile( double eta, double phid, int charge = 1 ) { + + throw_muon( eta, phid, 10.0, charge ); // energetic + _eta = eta; + _phid = phid; + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_epd_hit") ); + +} + +//___________________________________________________________________ +void unit_test_epd_response( int nevents=5000 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and EPD hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + auto* chain = StMaker::GetChain(); + + auto sumHits = [=](const char* name, float sf=1.0 ) -> double { + assert(sf>0); + float sum = 0.; + auto* table = dynamic_cast( chain->GetDataSet( name ) ) ; + if (0!=table) + for ( int i=0;iGetNRows();i++ ){ + const g2t_epd_hit_st* hit = static_cast( table->At(i) ); + if ( hit ) sum+=hit->de; + }; + return 1000.0*sum; + }; + + auto throw_particle = [=]( std::string type, int n=1, const double E=0.500, double etaMn=2.15, double etaMx=5.08 ) { + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + for ( int i=0;iAddParticle(type.c_str()); + auto _mass = _part->GetMass(); // Get the mass of the proton + if ( E > _mass ) { + auto _pmom = TMath::Sqrt(E*E-_mass*_mass); + auto _eta = gRandom->Rndm() * ( etaMx - etaMn ) + etaMn; // random angle + auto _phi = gRandom->Rndm() * TMath::TwoPi(); + TVector3 unit(0,0,1); + unit.SetPtEtaPhi(1.0,_eta,_phi); + unit=unit.Unit(); + auto momentum=_pmom*unit; + momentum.Print(); + _part->SetPx( momentum[0] ); + _part->SetPy( momentum[1] ); + _part->SetPz( momentum[2] ); + _part->SetVx( 0 ); + _part->SetVy( 0 ); + _part->SetVz( 0 ); + } + else { + LOG_INFO << "ERROR: mass > E (no particle simulated)" << endm; + } + } + chain->Clear(); + chain->Make(); + }; + + TFile* file = TFile::Open("epd.response.root","recreate"); + TH1F* hOneMip = new TH1F("hOneMip","Single muon incident @ 500 MeV; dE [MeV]",100,0.,10.0); hOneMip->SetLineColor(6); + TH1F* hTwoMip = new TH1F("hTwoMip","Two muons incident @ 500 MeV; dE [MeV]",100,0.,10.0); hTwoMip->SetLineColor(3); + TH1F* hRedMip = new TH1F("hRedMip","Three muons incident @ 500 MeV; dE [MeV]",100,0.,10.0); hRedMip->SetLineColor(2); + TH1F* hBluMip = new TH1F("hBluMip","Four muons incident @ 500 MeV; dE [MeV]",100,0.,10.0); hBluMip->SetLineColor(4); + TH1F* hSumMip = new TH1F("hSumMip","Four muons incident @ 500 MeV; dE [MeV]",100,0.,10.0); + + for ( int ievent=0;ieventFill( sum = sumHits( "g2t_epd_hit") ); + hSumMip->Fill( sum ); + throw_particle( "mu+", 2 ); + hTwoMip->Fill( sum = sumHits( "g2t_epd_hit") ); + hSumMip->Fill( sum ); + throw_particle( "mu+", 3 ); + hRedMip->Fill( sum = sumHits( "g2t_epd_hit") ); + hSumMip->Fill( sum ); + throw_particle( "mu+", 4 ); + hBluMip->Fill( sum = sumHits( "g2t_epd_hit") ); + hSumMip->Fill( sum ); + } + + file->Write(); + delete file; + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_fcs_hits.C b/StRoot/StGeant4Maker/tests/unit_test_fcs_hits.C new file mode 100644 index 00000000000..d6843de85a9 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_fcs_hits.C @@ -0,0 +1,4220 @@ +#include "tests/unit_tests.h" + +#include +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; + +struct Cell { + int northSouth; + int cellId; + double eta; + double phi; + double x,y,z; + int volumeId; // expected Volume ID +}; + +#ifndef __CINT__ +// Expected volume IDs + +#endif + + +//___________________________________________________________________ +void unit_test_fcs_hits() { + + gROOT->ProcessLine("initChain();"); + std::vector wcal = { + { 0, 0, 2.73468,102.1735,-19.9044, 92.2680,723.9693, 1001} +, { 0, 1, 2.72053,105.4456,-25.4938, 92.2680,723.8004, 1002} +, { 0, 2, 2.70348,108.6177,-31.0833, 92.2680,723.6316, 1003} +, { 0, 3, 2.68384,111.6758,-36.6727, 92.2680,723.4628, 1004} +, { 0, 4, 2.66192,114.6095,-42.2622, 92.2680,723.2940, 1005} +, { 0, 5, 2.63806,117.4120,-47.8516, 92.2680,723.1252, 1006} +, { 0, 6, 2.61255,120.0792,-53.4411, 92.2680,722.9563, 1007} +, { 0, 7, 2.58571,122.6100,-59.0305, 92.2680,722.7875, 1008} +, { 0, 8, 2.55780,125.0055,-64.6200, 92.2680,722.6187, 1009} +, { 0, 9, 2.52908,127.2686,-70.2094, 92.2680,722.4499, 1010} +, { 0, 10, 2.49976,129.4034,-75.7989, 92.2680,722.2811, 1011} +, { 0, 11, 2.47004,131.4151,-81.3883, 92.2680,722.1122, 1012} +, { 0, 12, 2.44010,133.3095,-86.9778, 92.2680,721.9434, 1013} +, { 0, 13, 2.41007,135.0928,-92.5672, 92.2680,721.7746, 1014} +, { 0, 14, 2.38007,136.7712,-98.1567, 92.2680,721.6058, 1015} +, { 0, 15, 2.35020,138.3513,-103.7461, 92.2680,721.4369, 1016} +, { 0, 16, 2.32055,139.8391,-109.3356, 92.2680,721.2681, 1017} +, { 0, 17, 2.29119,141.2406,-114.9250, 92.2680,721.0993, 1018} +, { 0, 18, 2.26216,142.5617,-120.5145, 92.2680,720.9305, 1019} +, { 0, 19, 2.23352,143.8077,-126.1039, 92.2680,720.7617, 1020} +, { 0, 20, 2.20528,144.9839,-131.6934, 92.2680,720.5928, 1021} +, { 0, 21, 2.17749,146.0949,-137.2828, 92.2680,720.4240, 1022} +, { 0, 22, 2.79377,102.9332,-19.9044, 86.6760,723.9693, 1023} +, { 0, 23, 2.77787,106.3901,-25.4938, 86.6760,723.8004, 1024} +, { 0, 24, 2.75879,109.7286,-31.0833, 86.6760,723.6316, 1025} +, { 0, 25, 2.73688,112.9333,-36.6727, 86.6760,723.4628, 1026} +, { 0, 26, 2.71256,115.9933,-42.2622, 86.6760,723.2940, 1027} +, { 0, 27, 2.68619,118.9020,-47.8516, 86.6760,723.1252, 1028} +, { 0, 28, 2.65815,121.6564,-53.4411, 86.6760,722.9563, 1029} +, { 0, 29, 2.62878,124.2567,-59.0305, 86.6760,722.7875, 1030} +, { 0, 30, 2.59840,126.7058,-64.6200, 86.6760,722.6187, 1031} +, { 0, 31, 2.56728,129.0082,-70.2094, 86.6760,722.4499, 1032} +, { 0, 32, 2.53567,131.1700,-75.7989, 86.6760,722.2811, 1033} +, { 0, 33, 2.50377,133.1979,-81.3883, 86.6760,722.1122, 1034} +, { 0, 34, 2.47176,135.0996,-86.9778, 86.6760,721.9434, 1035} +, { 0, 35, 2.43978,136.8825,-92.5672, 86.6760,721.7746, 1036} +, { 0, 36, 2.40796,138.5543,-98.1567, 86.6760,721.6058, 1037} +, { 0, 37, 2.37639,140.1225,-103.7461, 86.6760,721.4369, 1038} +, { 0, 38, 2.34515,141.5943,-109.3356, 86.6760,721.2681, 1039} +, { 0, 39, 2.31430,142.9765,-114.9250, 86.6760,721.0993, 1040} +, { 0, 40, 2.28390,144.2757,-120.5145, 86.6760,720.9305, 1041} +, { 0, 41, 2.25397,145.4978,-126.1039, 86.6760,720.7617, 1042} +, { 0, 42, 2.22455,146.6485,-131.6934, 86.6760,720.5928, 1043} +, { 0, 43, 2.19566,147.7330,-137.2828, 86.6760,720.4240, 1044} +, { 0, 44, 2.85646,103.7921,-19.9044, 81.0840,723.9693, 1045} +, { 0, 45, 2.83847,107.4538,-25.4938, 81.0840,723.8004, 1046} +, { 0, 46, 2.81697,110.9741,-31.0833, 81.0840,723.6316, 1047} +, { 0, 47, 2.79242,114.3363,-36.6727, 81.0840,723.4628, 1048} +, { 0, 48, 2.76529,117.5292,-42.2622, 81.0840,723.2940, 1049} +, { 0, 49, 2.73604,120.5469,-47.8516, 81.0840,723.1252, 1050} +, { 0, 50, 2.70512,123.3882,-53.4411, 81.0840,722.9563, 1051} +, { 0, 51, 2.67292,126.0552,-59.0305, 81.0840,722.7875, 1052} +, { 0, 52, 2.63979,128.5531,-64.6200, 81.0840,722.6187, 1053} +, { 0, 53, 2.60604,130.8888,-70.2094, 81.0840,722.4499, 1054} +, { 0, 54, 2.57192,133.0705,-75.7989, 81.0840,722.2811, 1055} +, { 0, 55, 2.53766,135.1073,-81.3883, 81.0840,722.1122, 1056} +, { 0, 56, 2.50344,137.0085,-86.9778, 81.0840,721.9434, 1057} +, { 0, 57, 2.46939,138.7834,-92.5672, 81.0840,721.7746, 1058} +, { 0, 58, 2.43565,140.4410,-98.1567, 81.0840,721.6058, 1059} +, { 0, 59, 2.40229,141.9902,-103.7461, 81.0840,721.4369, 1060} +, { 0, 60, 2.36940,143.4391,-109.3356, 81.0840,721.2681, 1061} +, { 0, 61, 2.33703,144.7956,-114.9250, 81.0840,721.0993, 1062} +, { 0, 62, 2.30521,146.0667,-120.5145, 81.0840,720.9305, 1063} +, { 0, 63, 2.27398,147.2592,-126.1039, 81.0840,720.7617, 1064} +, { 0, 64, 2.24335,148.3793,-131.6934, 81.0840,720.5928, 1065} +, { 0, 65, 2.21334,149.4324,-137.2828, 81.0840,720.4240, 1066} +, { 0, 66, 2.92316,104.7706,-19.9044, 75.4920,723.9693, 1067} +, { 0, 67, 2.90265,108.6599,-25.4938, 75.4920,723.8004, 1068} +, { 0, 68, 2.87827,112.3790,-31.0833, 75.4920,723.6316, 1069} +, { 0, 69, 2.85058,115.9097,-36.6727, 75.4920,723.4628, 1070} +, { 0, 70, 2.82018,119.2411,-42.2622, 75.4920,723.2940, 1071} +, { 0, 71, 2.78763,122.3691,-47.8516, 75.4920,723.1252, 1072} +, { 0, 72, 2.75343,125.2948,-53.4411, 75.4920,722.9563, 1073} +, { 0, 73, 2.71804,128.0234,-59.0305, 75.4920,722.7875, 1074} +, { 0, 74, 2.68185,130.5630,-64.6200, 75.4920,722.6187, 1075} +, { 0, 75, 2.64520,132.9236,-70.2094, 75.4920,722.4499, 1076} +, { 0, 76, 2.60837,135.1162,-75.7989, 75.4920,722.2811, 1077} +, { 0, 77, 2.57157,137.1524,-81.3883, 75.4920,722.1122, 1078} +, { 0, 78, 2.53499,139.0438,-86.9778, 75.4920,721.9434, 1079} +, { 0, 79, 2.49876,140.8015,-92.5672, 75.4920,721.7746, 1080} +, { 0, 80, 2.46300,142.4362,-98.1567, 75.4920,721.6058, 1081} +, { 0, 81, 2.42779,143.9581,-103.7461, 75.4920,721.4369, 1082} +, { 0, 82, 2.39320,145.3764,-109.3356, 75.4920,721.2681, 1083} +, { 0, 83, 2.35925,146.6999,-114.9250, 75.4920,721.0993, 1084} +, { 0, 84, 2.32600,147.9364,-120.5145, 75.4920,720.9305, 1085} +, { 0, 85, 2.29344,149.0932,-126.1039, 75.4920,720.7617, 1086} +, { 0, 86, 2.26159,150.1769,-131.6934, 75.4920,720.5928, 1087} +, { 0, 87, 2.23046,151.1936,-137.2828, 75.4920,720.4240, 1088} +, { 0, 88, 2.99436,105.8946,-19.9044, 69.9000,723.9693, 1089} +, { 0, 89, 2.97079,110.0378,-25.4938, 69.9000,723.8004, 1090} +, { 0, 90, 2.94293,113.9738,-31.0833, 69.9000,723.6316, 1091} +, { 0, 91, 2.91152,117.6835,-36.6727, 69.9000,723.4628, 1092} +, { 0, 92, 2.87729,121.1575,-42.2622, 69.9000,723.2940, 1093} +, { 0, 93, 2.84091,124.3945,-47.8516, 69.9000,723.1252, 1094} +, { 0, 94, 2.80297,127.3992,-53.4411, 69.9000,722.9563, 1095} +, { 0, 95, 2.76400,130.1811,-59.0305, 69.9000,722.7875, 1096} +, { 0, 96, 2.72443,132.7522,-64.6200, 69.9000,722.6187, 1097} +, { 0, 97, 2.68461,135.1265,-70.2094, 69.9000,722.4499, 1098} +, { 0, 98, 2.64483,137.3185,-75.7989, 69.9000,722.2811, 1099} +, { 0, 99, 2.60531,139.3425,-81.3883, 69.9000,722.1122, 1100} +, { 0,100, 2.56623,141.2128,-86.9778, 69.9000,721.9434, 1101} +, { 0,101, 2.52771,142.9426,-92.5672, 69.9000,721.7746, 1102} +, { 0,102, 2.48986,144.5443,-98.1567, 69.9000,721.6058, 1103} +, { 0,103, 2.45274,146.0295,-103.7461, 69.9000,721.4369, 1104} +, { 0,104, 2.41639,147.4086,-109.3356, 69.9000,721.2681, 1105} +, { 0,105, 2.38085,148.6911,-114.9250, 69.9000,721.0993, 1106} +, { 0,106, 2.34613,149.8857,-120.5145, 69.9000,720.9305, 1107} +, { 0,107, 2.31224,151.0002,-126.1039, 69.9000,720.7617, 1108} +, { 0,108, 2.27918,152.0416,-131.6934, 69.9000,720.5928, 1109} +, { 0,109, 2.24693,153.0163,-137.2828, 69.9000,720.4240, 1110} +, { 0,110, 3.07062,107.1981,-19.9044, 64.3080,723.9693, 1111} +, { 0,111, 3.04327,111.6250,-25.4938, 64.3080,723.8004, 1112} +, { 0,112, 3.01119,115.7968,-31.0833, 64.3080,723.6316, 1113} +, { 0,113, 2.97534,119.6947,-36.6727, 64.3080,723.4628, 1114} +, { 0,114, 2.93660,123.3123,-42.2622, 64.3080,723.2940, 1115} +, { 0,115, 2.89579,126.6530,-47.8516, 64.3080,723.1252, 1116} +, { 0,116, 2.85360,129.7272,-53.4411, 64.3080,722.9563, 1117} +, { 0,117, 2.81062,132.5499,-59.0305, 64.3080,722.7875, 1118} +, { 0,118, 2.76730,135.1386,-64.6200, 64.3080,722.6187, 1119} +, { 0,119, 2.72403,137.5120,-70.2094, 64.3080,722.4499, 1120} +, { 0,120, 2.68108,139.6886,-75.7989, 64.3080,722.2811, 1121} +, { 0,121, 2.63867,141.6864,-81.3883, 64.3080,722.1122, 1122} +, { 0,122, 2.59696,143.5222,-86.9778, 64.3080,721.9434, 1123} +, { 0,123, 2.55606,145.2116,-92.5672, 64.3080,721.7746, 1124} +, { 0,124, 2.51604,146.7689,-98.1567, 64.3080,721.6058, 1125} +, { 0,125, 2.47696,148.2069,-103.7461, 64.3080,721.4369, 1126} +, { 0,126, 2.43883,149.5372,-109.3356, 64.3080,721.2681, 1127} +, { 0,127, 2.40168,150.7702,-114.9250, 64.3080,721.0993, 1128} +, { 0,128, 2.36550,151.9151,-120.5145, 64.3080,720.9305, 1129} +, { 0,129, 2.33028,152.9802,-126.1039, 64.3080,720.7617, 1130} +, { 0,130, 2.29600,153.9730,-131.6934, 64.3080,720.5928, 1131} +, { 0,131, 2.26264,154.9000,-137.2828, 64.3080,720.4240, 1132} +, { 0,132, 3.15262,108.7263,-19.9044, 58.7160,723.9693, 1133} +, { 0,133, 3.12055,113.4699,-25.4938, 58.7160,723.8004, 1134} +, { 0,134, 3.08329,117.8960,-31.0833, 58.7160,723.6316, 1135} +, { 0,135, 3.04208,121.9880,-36.6727, 58.7160,723.4628, 1136} +, { 0,136, 2.99802,125.7453,-42.2622, 58.7160,723.2940, 1137} +, { 0,137, 2.95209,129.1789,-47.8516, 58.7160,723.1252, 1138} +, { 0,138, 2.90507,132.3073,-53.4411, 58.7160,722.9563, 1139} +, { 0,139, 2.85760,135.1530,-59.0305, 58.7160,722.7875, 1140} +, { 0,140, 2.81018,137.7406,-64.6200, 58.7160,722.6187, 1141} +, { 0,141, 2.76317,140.0943,-70.2094, 58.7160,722.4499, 1142} +, { 0,142, 2.71684,142.2376,-75.7989, 58.7160,722.2811, 1143} +, { 0,143, 2.67138,144.1922,-81.3883, 58.7160,722.1122, 1144} +, { 0,144, 2.62693,145.9779,-86.9778, 58.7160,721.9434, 1145} +, { 0,145, 2.58357,147.6128,-92.5672, 58.7160,721.7746, 1146} +, { 0,146, 2.54134,149.1127,-98.1567, 58.7160,721.6058, 1147} +, { 0,147, 2.50027,150.4919,-103.7461, 58.7160,721.4369, 1148} +, { 0,148, 2.46036,151.7631,-109.3356, 58.7160,721.2681, 1149} +, { 0,149, 2.42159,152.9372,-114.9250, 58.7160,721.0993, 1150} +, { 0,150, 2.38396,154.0241,-120.5145, 58.7160,720.9305, 1151} +, { 0,151, 2.34742,155.0326,-126.1039, 58.7160,720.7617, 1152} +, { 0,152, 2.31195,155.9701,-131.6934, 58.7160,720.5928, 1153} +, { 0,153, 2.27752,156.8436,-137.2828, 58.7160,720.4240, 1154} +, { 0,154, 3.24112,110.5398,-19.9044, 53.1240,723.9693, 1155} +, { 0,155, 3.20306,115.6360,-25.4938, 53.1240,723.8004, 1156} +, { 0,156, 3.15939,120.3322,-31.0833, 53.1240,723.6316, 1157} +, { 0,157, 3.11170,124.6182,-36.6727, 53.1240,723.4628, 1158} +, { 0,158, 3.06136,128.5036,-42.2622, 53.1240,723.2940, 1159} +, { 0,159, 3.00950,132.0110,-47.8516, 53.1240,723.1252, 1160} +, { 0,160, 2.95701,135.1705,-53.4411, 53.1240,722.9563, 1161} +, { 0,161, 2.90458,138.0146,-59.0305, 53.1240,722.7875, 1162} +, { 0,162, 2.85268,140.5764,-64.6200, 53.1240,722.6187, 1163} +, { 0,163, 2.80167,142.8870,-70.2094, 53.1240,722.4499, 1164} +, { 0,164, 2.75177,144.9751,-75.7989, 53.1240,722.2811, 1165} +, { 0,165, 2.70314,146.8666,-81.3883, 53.1240,722.1122, 1166} +, { 0,166, 2.65587,148.5844,-86.9778, 53.1240,721.9434, 1167} +, { 0,167, 2.61000,150.1486,-92.5672, 53.1240,721.7746, 1168} +, { 0,168, 2.56554,151.5770,-98.1567, 53.1240,721.6058, 1169} +, { 0,169, 2.52248,152.8849,-103.7461, 53.1240,721.4369, 1170} +, { 0,170, 2.48079,154.0858,-109.3356, 53.1240,721.2681, 1171} +, { 0,171, 2.44044,155.1913,-114.9250, 53.1240,721.0993, 1172} +, { 0,172, 2.40138,156.2116,-120.5145, 53.1240,720.9305, 1173} +, { 0,173, 2.36356,157.1557,-126.1039, 53.1240,720.7617, 1174} +, { 0,174, 2.32693,158.0313,-131.6934, 53.1240,720.5928, 1175} +, { 0,175, 2.29145,158.8452,-137.2828, 53.1240,720.4240, 1176} +, { 0,176, 3.33697,112.7218,-19.9044, 47.5320,723.9693, 1177} +, { 0,177, 3.29123,118.2069,-25.4938, 47.5320,723.8004, 1178} +, { 0,178, 3.23955,123.1824,-31.0833, 47.5320,723.6316, 1179} +, { 0,179, 3.18399,127.6515,-36.6727, 47.5320,723.4628, 1180} +, { 0,180, 3.12622,131.6413,-42.2622, 47.5320,723.2940, 1181} +, { 0,181, 3.06756,135.1920,-47.8516, 47.5320,723.1252, 1182} +, { 0,182, 3.00894,138.3492,-53.4411, 47.5320,722.9563, 1183} +, { 0,183, 2.95105,141.1586,-59.0305, 47.5320,722.7875, 1184} +, { 0,184, 2.89434,143.6632,-64.6200, 47.5320,722.6187, 1185} +, { 0,185, 2.83909,145.9019,-70.2094, 47.5320,722.4499, 1186} +, { 0,186, 2.78548,147.9090,-75.7989, 47.5320,722.2811, 1187} +, { 0,187, 2.73359,149.7144,-81.3883, 47.5320,722.1122, 1188} +, { 0,188, 2.68346,151.3441,-86.9778, 47.5320,721.9434, 1189} +, { 0,189, 2.63507,152.8201,-92.5672, 47.5320,721.7746, 1190} +, { 0,190, 2.58839,154.1616,-98.1567, 47.5320,721.6058, 1191} +, { 0,191, 2.54337,155.3848,-103.7461, 47.5320,721.4369, 1192} +, { 0,192, 2.49994,156.5037,-109.3356, 47.5320,721.2681, 1193} +, { 0,193, 2.45805,157.5304,-114.9250, 47.5320,721.0993, 1194} +, { 0,194, 2.41760,158.4753,-120.5145, 47.5320,720.9305, 1195} +, { 0,195, 2.37855,159.3472,-126.1039, 47.5320,720.7617, 1196} +, { 0,196, 2.34082,160.1540,-131.6934, 47.5320,720.5928, 1197} +, { 0,197, 2.30435,160.9024,-137.2828, 47.5320,720.4240, 1198} +, { 0,198, 3.44112,115.3886,-19.9044, 41.9400,723.9693, 1199} +, { 0,199, 3.38535,121.2939,-25.4938, 41.9400,723.8004, 1200} +, { 0,200, 3.32359,126.5435,-31.0833, 41.9400,723.6316, 1201} +, { 0,201, 3.25848,131.1667,-36.6727, 41.9400,723.4628, 1202} +, { 0,202, 3.19200,135.2192,-42.2622, 41.9400,723.2940, 1203} +, { 0,203, 3.12558,138.7668,-47.8516, 41.9400,723.1252, 1204} +, { 0,204, 3.06017,141.8755,-53.4411, 41.9400,722.9563, 1205} +, { 0,205, 2.99638,144.6070,-59.0305, 41.9400,722.7875, 1206} +, { 0,206, 2.93457,147.0154,-64.6200, 41.9400,722.6187, 1207} +, { 0,207, 2.87492,149.1478,-70.2094, 41.9400,722.4499, 1208} +, { 0,208, 2.81751,151.0440,-75.7989, 41.9400,722.2811, 1209} +, { 0,209, 2.76234,152.7376,-81.3883, 41.9400,722.1122, 1210} +, { 0,210, 2.70936,154.2570,-86.9778, 41.9400,721.9434, 1211} +, { 0,211, 2.65849,155.6259,-92.5672, 41.9400,721.7746, 1212} +, { 0,212, 2.60964,156.8641,-98.1567, 41.9400,721.6058, 1213} +, { 0,213, 2.56272,157.9887,-103.7461, 41.9400,721.4369, 1214} +, { 0,214, 2.51763,159.0137,-109.3356, 41.9400,721.2681, 1215} +, { 0,215, 2.47425,159.9513,-114.9250, 41.9400,721.0993, 1216} +, { 0,216, 2.43250,160.8117,-120.5145, 41.9400,720.9305, 1217} +, { 0,217, 2.39229,161.6038,-126.1039, 41.9400,720.7617, 1218} +, { 0,218, 2.35352,162.3350,-131.6934, 41.9400,720.5928, 1219} +, { 0,219, 2.31611,163.0121,-137.2828, 41.9400,720.4240, 1220} +, { 0,220, 3.55444,118.7054,-19.9044, 36.3480,723.9693, 1221} +, { 0,221, 3.48543,125.0451,-25.4938, 36.3480,723.8004, 1222} +, { 0,222, 3.41095,130.5357,-31.0833, 36.3480,723.6316, 1223} +, { 0,223, 3.33429,135.2548,-36.6727, 36.3480,723.4628, 1224} +, { 0,224, 3.25769,139.3025,-42.2622, 36.3480,723.2940, 1225} +, { 0,225, 3.18259,142.7798,-47.8516, 36.3480,723.1252, 1226} +, { 0,226, 3.10980,145.7784,-53.4411, 36.3480,722.9563, 1227} +, { 0,227, 3.03977,148.3773,-59.0305, 36.3480,722.7875, 1228} +, { 0,228, 2.97268,150.6427,-64.6200, 36.3480,722.6187, 1229} +, { 0,229, 2.90856,152.6290,-70.2094, 36.3480,722.4499, 1230} +, { 0,230, 2.84736,154.3808,-75.7989, 36.3480,722.2811, 1231} +, { 0,231, 2.78895,155.9345,-81.3883, 36.3480,722.1122, 1232} +, { 0,232, 2.73320,157.3200,-86.9778, 36.3480,721.9434, 1233} +, { 0,233, 2.67994,158.5618,-92.5672, 36.3480,721.7746, 1234} +, { 0,234, 2.62903,159.6801,-98.1567, 36.3480,721.6058, 1235} +, { 0,235, 2.58031,160.6918,-103.7461, 36.3480,721.4369, 1236} +, { 0,236, 2.53364,161.6109,-109.3356, 36.3480,721.2681, 1237} +, { 0,237, 2.48889,162.4491,-114.9250, 36.3480,721.0993, 1238} +, { 0,238, 2.44592,163.2163,-120.5145, 36.3480,720.9305, 1239} +, { 0,239, 2.40463,163.9210,-126.1039, 36.3480,720.7617, 1240} +, { 0,240, 2.36490,164.5702,-131.6934, 36.3480,720.5928, 1241} +, { 0,241, 2.32664,165.1702,-137.2828, 36.3480,720.4240, 1242} +, { 0,242, 3.67753,122.9097,-19.9044, 30.7560,723.9693, 1243} +, { 0,243, 3.59084,129.6555,-25.4938, 30.7560,723.8004, 1244} +, { 0,244, 3.50036,135.3032,-31.0833, 30.7560,723.6316, 1245} +, { 0,245, 3.40996,140.0147,-36.6727, 30.7560,723.4628, 1246} +, { 0,246, 3.32187,143.9550,-42.2622, 30.7560,723.2940, 1247} +, { 0,247, 3.23727,147.2696,-47.8516, 30.7560,723.1252, 1248} +, { 0,248, 3.15668,150.0790,-53.4411, 30.7560,722.9563, 1249} +, { 0,249, 3.08024,152.4796,-59.0305, 30.7560,722.7875, 1250} +, { 0,250, 3.00785,154.5478,-64.6200, 30.7560,722.6187, 1251} +, { 0,251, 2.93934,156.3437,-70.2094, 30.7560,722.4499, 1252} +, { 0,252, 2.87446,157.9148,-75.7989, 30.7560,722.2811, 1253} +, { 0,253, 2.81296,159.2988,-81.3883, 30.7560,722.1122, 1254} +, { 0,254, 2.75459,160.5260,-86.9778, 30.7560,721.9434, 1255} +, { 0,255, 2.69910,161.6206,-92.5672, 30.7560,721.7746, 1256} +, { 0,256, 2.64628,162.6024,-98.1567, 30.7560,721.6058, 1257} +, { 0,257, 2.59590,163.4873,-103.7461, 30.7560,721.4369, 1258} +, { 0,258, 2.54780,164.2888,-109.3356, 30.7560,721.2681, 1259} +, { 0,259, 2.50180,165.0177,-114.9250, 30.7560,721.0993, 1260} +, { 0,260, 2.45773,165.6834,-120.5145, 30.7560,720.9305, 1261} +, { 0,261, 2.41547,166.2935,-126.1039, 30.7560,720.7617, 1262} +, { 0,262, 2.37488,166.8546,-131.6934, 30.7560,720.5928, 1263} +, { 0,263, 2.33586,167.3723,-137.2828, 30.7560,720.4240, 1264} +, { 0,264, 3.81002,128.3435,-19.9044, 25.1640,723.9693, 1265} +, { 0,265, 3.69973,135.3730,-25.4938, 25.1640,723.8004, 1266} +, { 0,266, 3.58950,141.0075,-31.0833, 25.1640,723.6316, 1267} +, { 0,267, 3.48319,145.5430,-36.6727, 25.1640,723.4628, 1268} +, { 0,268, 3.38250,149.2293,-42.2622, 25.1640,723.2940, 1269} +, { 0,269, 3.28794,152.2612,-47.8516, 25.1640,723.1252, 1270} +, { 0,270, 3.19945,154.7855,-53.4411, 25.1640,722.9563, 1271} +, { 0,271, 3.11669,156.9120,-59.0305, 25.1640,722.7875, 1272} +, { 0,272, 3.03920,158.7233,-64.6200, 25.1640,722.6187, 1273} +, { 0,273, 2.96654,160.2816,-70.2094, 25.1640,722.4499, 1274} +, { 0,274, 2.89824,161.6347,-75.7989, 25.1640,722.2811, 1275} +, { 0,275, 2.83391,162.8192,-81.3883, 25.1640,722.1122, 1276} +, { 0,276, 2.77316,163.8640,-86.9778, 25.1640,721.9434, 1277} +, { 0,277, 2.71566,164.7919,-92.5672, 25.1640,721.7746, 1278} +, { 0,278, 2.66113,165.6210,-98.1567, 25.1640,721.6058, 1279} +, { 0,279, 2.60929,166.3660,-103.7461, 25.1640,721.4369, 1280} +, { 0,280, 2.55992,167.0389,-109.3356, 25.1640,721.2681, 1281} +, { 0,281, 2.51282,167.6494,-114.9250, 25.1640,721.0993, 1282} +, { 0,282, 2.46779,168.2058,-120.5145, 25.1640,720.9305, 1283} +, { 0,283, 2.42469,168.7149,-126.1039, 25.1640,720.7617, 1284} +, { 0,284, 2.38336,169.1823,-131.6934, 25.1640,720.5928, 1285} +, { 0,285, 2.34367,169.6130,-137.2828, 25.1640,720.4240, 1286} +, { 0,286, 3.94910,135.4824,-19.9044, 19.5720,723.9693, 1287} +, { 0,287, 3.80805,142.4860,-25.4938, 19.5720,723.8004, 1288} +, { 0,288, 3.67443,147.8029,-31.0833, 19.5720,723.6316, 1289} +, { 0,289, 3.55067,151.9114,-36.6727, 19.5720,723.4628, 1290} +, { 0,290, 3.43695,155.1507,-42.2622, 19.5720,723.2940, 1291} +, { 0,291, 3.33256,157.7547,-47.8516, 19.5720,723.1252, 1292} +, { 0,292, 3.23653,159.8855,-53.4411, 19.5720,722.9563, 1293} +, { 0,293, 3.14791,161.6567,-59.0305, 19.5720,722.7875, 1294} +, { 0,294, 3.06580,163.1496,-64.6200, 19.5720,722.6187, 1295} +, { 0,295, 2.98943,164.4233,-70.2094, 19.5720,722.4499, 1296} +, { 0,296, 2.91813,165.5219,-75.7989, 19.5720,722.2811, 1297} +, { 0,297, 2.85133,166.4784,-81.3883, 19.5720,722.1122, 1298} +, { 0,298, 2.78853,167.3184,-86.9778, 19.5720,721.9434, 1299} +, { 0,299, 2.72933,168.0615,-92.5672, 19.5720,721.7746, 1300} +, { 0,300, 2.67334,168.7234,-98.1567, 19.5720,721.6058, 1301} +, { 0,301, 2.62027,169.3165,-103.7461, 19.5720,721.4369, 1302} +, { 0,302, 2.56984,169.8511,-109.3356, 19.5720,721.2681, 1303} +, { 0,303, 2.52182,170.3351,-114.9250, 19.5720,721.0993, 1304} +, { 0,304, 2.47600,170.7755,-120.5145, 19.5720,720.9305, 1305} +, { 0,305, 2.43219,171.1778,-126.1039, 19.5720,720.7617, 1306} +, { 0,306, 2.39025,171.5467,-131.6934, 19.5720,720.5928, 1307} +, { 0,307, 2.35002,171.8862,-137.2828, 19.5720,720.4240, 1308} +, { 0,308, 4.08674,144.9174,-19.9044, 13.9800,723.9693, 1309} +, { 0,309, 3.90818,151.2610,-25.4938, 13.9800,723.8004, 1310} +, { 0,310, 3.74920,155.7837,-31.0833, 13.9800,723.6316, 1311} +, { 0,311, 3.60806,159.1327,-36.6727, 13.9800,723.4628, 1312} +, { 0,312, 3.48210,161.6962,-42.2622, 13.9800,723.2940, 1313} +, { 0,313, 3.36886,163.7141,-47.8516, 13.9800,723.1252, 1314} +, { 0,314, 3.26628,165.3401,-53.4411, 13.9800,722.9563, 1315} +, { 0,315, 3.17268,166.6763,-59.0305, 13.9800,722.7875, 1316} +, { 0,316, 3.08672,167.7927,-64.6200, 13.9800,722.6187, 1317} +, { 0,317, 3.00732,168.7386,-70.2094, 13.9800,722.4499, 1318} +, { 0,318, 2.93359,169.5501,-75.7989, 13.9800,722.2811, 1319} +, { 0,319, 2.86481,170.2535,-81.3883, 13.9800,722.1122, 1320} +, { 0,320, 2.80039,170.8689,-86.9778, 13.9800,721.9434, 1321} +, { 0,321, 2.73983,171.4118,-92.5672, 13.9800,721.7746, 1322} +, { 0,322, 2.68271,171.8941,-98.1567, 13.9800,721.6058, 1323} +, { 0,323, 2.62867,172.3255,-103.7461, 13.9800,721.4369, 1324} +, { 0,324, 2.57742,172.7135,-109.3356, 13.9800,721.2681, 1325} +, { 0,325, 2.52868,173.0644,-114.9250, 13.9800,721.0993, 1326} +, { 0,326, 2.48224,173.3831,-120.5145, 13.9800,720.9305, 1327} +, { 0,327, 2.43790,173.6740,-126.1039, 13.9800,720.7617, 1328} +, { 0,328, 2.39548,173.9404,-131.6934, 13.9800,720.5928, 1329} +, { 0,329, 2.35483,174.1854,-137.2828, 13.9800,720.4240, 1330} +, { 0,330, 4.20544,157.1487,-19.9044, 8.3880,723.9693, 1331} +, { 0,331, 3.98818,161.7877,-25.4938, 8.3880,723.8004, 1332} +, { 0,332, 3.80611,164.8981,-31.0833, 8.3880,723.6316, 1333} +, { 0,333, 3.65034,167.1166,-36.6727, 8.3880,723.4628, 1334} +, { 0,334, 3.51464,168.7741,-42.2622, 8.3880,723.2940, 1335} +, { 0,335, 3.39462,170.0575,-47.8516, 8.3880,723.1252, 1336} +, { 0,336, 3.28714,171.0798,-53.4411, 8.3880,722.9563, 1337} +, { 0,337, 3.18991,171.9126,-59.0305, 8.3880,722.7875, 1338} +, { 0,338, 3.10118,172.6041,-64.6200, 8.3880,722.6187, 1339} +, { 0,339, 3.01961,173.1871,-70.2094, 8.3880,722.4499, 1340} +, { 0,340, 2.94417,173.6853,-75.7989, 8.3880,722.2811, 1341} +, { 0,341, 2.87401,174.1158,-81.3883, 8.3880,722.1122, 1342} +, { 0,342, 2.80846,174.4915,-86.9778, 8.3880,721.9434, 1343} +, { 0,343, 2.74696,174.8223,-92.5672, 8.3880,721.7746, 1344} +, { 0,344, 2.68905,175.1156,-98.1567, 8.3880,721.6058, 1345} +, { 0,345, 2.63435,175.3776,-103.7461, 8.3880,721.4369, 1346} +, { 0,346, 2.58253,175.6130,-109.3356, 8.3880,721.2681, 1347} +, { 0,347, 2.53331,175.8256,-114.9250, 8.3880,721.0993, 1348} +, { 0,348, 2.48645,176.0185,-120.5145, 8.3880,720.9305, 1349} +, { 0,349, 2.44174,176.1945,-126.1039, 8.3880,720.7617, 1350} +, { 0,350, 2.39900,176.3556,-131.6934, 8.3880,720.5928, 1351} +, { 0,351, 2.35807,176.5036,-137.2828, 8.3880,720.4240, 1352} +, { 0,352, 4.27738,172.0039,-19.9044, 2.7960,723.9693, 1353} +, { 0,353, 4.03356,173.7412,-25.4938, 2.7960,723.8004, 1354} +, { 0,354, 3.83720,174.8600,-31.0833, 2.7960,723.6316, 1355} +, { 0,355, 3.67291,175.6401,-36.6727, 2.7960,723.4628, 1356} +, { 0,356, 3.53174,176.2149,-42.2622, 2.7960,723.2940, 1357} +, { 0,357, 3.40802,176.6560,-47.8516, 2.7960,723.1252, 1358} +, { 0,358, 3.29792,177.0051,-53.4411, 2.7960,722.9563, 1359} +, { 0,359, 3.19875,177.2882,-59.0305, 2.7960,722.7875, 1360} +, { 0,360, 3.10857,177.5224,-64.6200, 2.7960,722.6187, 1361} +, { 0,361, 3.02588,177.7195,-70.2094, 2.7960,722.4499, 1362} +, { 0,362, 2.94954,177.8875,-75.7989, 2.7960,722.2811, 1363} +, { 0,363, 2.87867,178.0324,-81.3883, 2.7960,722.1122, 1364} +, { 0,364, 2.81254,178.1588,-86.9778, 2.7960,721.9434, 1365} +, { 0,365, 2.75056,178.2699,-92.5672, 2.7960,721.7746, 1366} +, { 0,366, 2.69225,178.3684,-98.1567, 2.7960,721.6058, 1367} +, { 0,367, 2.63722,178.4562,-103.7461, 2.7960,721.4369, 1368} +, { 0,368, 2.58511,178.5351,-109.3356, 2.7960,721.2681, 1369} +, { 0,369, 2.53564,178.6063,-114.9250, 2.7960,721.0993, 1370} +, { 0,370, 2.48857,178.6709,-120.5145, 2.7960,720.9305, 1371} +, { 0,371, 2.44367,178.7298,-126.1039, 2.7960,720.7617, 1372} +, { 0,372, 2.40077,178.7837,-131.6934, 2.7960,720.5928, 1373} +, { 0,373, 2.35970,178.8332,-137.2828, 2.7960,720.4240, 1374} +, { 0,374, 4.27738,-172.0039,-19.9044, -2.7960,723.9693, 1375} +, { 0,375, 4.03356,-173.7412,-25.4938, -2.7960,723.8004, 1376} +, { 0,376, 3.83720,-174.8600,-31.0833, -2.7960,723.6316, 1377} +, { 0,377, 3.67291,-175.6401,-36.6727, -2.7960,723.4628, 1378} +, { 0,378, 3.53174,-176.2149,-42.2622, -2.7960,723.2940, 1379} +, { 0,379, 3.40802,-176.6560,-47.8516, -2.7960,723.1252, 1380} +, { 0,380, 3.29792,-177.0051,-53.4411, -2.7960,722.9563, 1381} +, { 0,381, 3.19875,-177.2882,-59.0305, -2.7960,722.7875, 1382} +, { 0,382, 3.10857,-177.5225,-64.6200, -2.7960,722.6187, 1383} +, { 0,383, 3.02588,-177.7195,-70.2094, -2.7960,722.4499, 1384} +, { 0,384, 2.94954,-177.8875,-75.7989, -2.7960,722.2811, 1385} +, { 0,385, 2.87867,-178.0324,-81.3883, -2.7960,722.1122, 1386} +, { 0,386, 2.81254,-178.1588,-86.9778, -2.7960,721.9434, 1387} +, { 0,387, 2.75056,-178.2699,-92.5672, -2.7960,721.7746, 1388} +, { 0,388, 2.69225,-178.3684,-98.1567, -2.7960,721.6058, 1389} +, { 0,389, 2.63722,-178.4562,-103.7461, -2.7960,721.4369, 1390} +, { 0,390, 2.58511,-178.5351,-109.3356, -2.7960,721.2681, 1391} +, { 0,391, 2.53564,-178.6063,-114.9250, -2.7960,721.0993, 1392} +, { 0,392, 2.48857,-178.6709,-120.5145, -2.7960,720.9305, 1393} +, { 0,393, 2.44367,-178.7298,-126.1039, -2.7960,720.7617, 1394} +, { 0,394, 2.40077,-178.7837,-131.6934, -2.7960,720.5928, 1395} +, { 0,395, 2.35970,-178.8332,-137.2828, -2.7960,720.4240, 1396} +, { 0,396, 4.20544,-157.1487,-19.9044, -8.3880,723.9693, 1397} +, { 0,397, 3.98818,-161.7877,-25.4938, -8.3880,723.8004, 1398} +, { 0,398, 3.80611,-164.8981,-31.0833, -8.3880,723.6316, 1399} +, { 0,399, 3.65034,-167.1166,-36.6727, -8.3880,723.4628, 1400} +, { 0,400, 3.51464,-168.7741,-42.2622, -8.3880,723.2940, 1401} +, { 0,401, 3.39462,-170.0575,-47.8516, -8.3880,723.1252, 1402} +, { 0,402, 3.28714,-171.0797,-53.4411, -8.3880,722.9563, 1403} +, { 0,403, 3.18991,-171.9126,-59.0305, -8.3880,722.7875, 1404} +, { 0,404, 3.10118,-172.6041,-64.6200, -8.3880,722.6187, 1405} +, { 0,405, 3.01961,-173.1871,-70.2094, -8.3880,722.4499, 1406} +, { 0,406, 2.94417,-173.6853,-75.7989, -8.3880,722.2811, 1407} +, { 0,407, 2.87401,-174.1158,-81.3883, -8.3880,722.1122, 1408} +, { 0,408, 2.80846,-174.4915,-86.9778, -8.3880,721.9434, 1409} +, { 0,409, 2.74696,-174.8223,-92.5672, -8.3880,721.7746, 1410} +, { 0,410, 2.68905,-175.1156,-98.1567, -8.3880,721.6058, 1411} +, { 0,411, 2.63435,-175.3776,-103.7461, -8.3880,721.4369, 1412} +, { 0,412, 2.58253,-175.6130,-109.3356, -8.3880,721.2681, 1413} +, { 0,413, 2.53331,-175.8256,-114.9250, -8.3880,721.0993, 1414} +, { 0,414, 2.48645,-176.0185,-120.5145, -8.3880,720.9305, 1415} +, { 0,415, 2.44174,-176.1945,-126.1039, -8.3880,720.7617, 1416} +, { 0,416, 2.39900,-176.3556,-131.6934, -8.3880,720.5928, 1417} +, { 0,417, 2.35807,-176.5036,-137.2828, -8.3880,720.4240, 1418} +, { 0,418, 4.08674,-144.9174,-19.9044,-13.9800,723.9693, 1419} +, { 0,419, 3.90818,-151.2610,-25.4938,-13.9800,723.8004, 1420} +, { 0,420, 3.74920,-155.7837,-31.0833,-13.9800,723.6316, 1421} +, { 0,421, 3.60806,-159.1327,-36.6727,-13.9800,723.4628, 1422} +, { 0,422, 3.48210,-161.6962,-42.2622,-13.9800,723.2940, 1423} +, { 0,423, 3.36886,-163.7141,-47.8516,-13.9800,723.1252, 1424} +, { 0,424, 3.26628,-165.3401,-53.4411,-13.9800,722.9563, 1425} +, { 0,425, 3.17268,-166.6763,-59.0305,-13.9800,722.7875, 1426} +, { 0,426, 3.08672,-167.7927,-64.6200,-13.9800,722.6187, 1427} +, { 0,427, 3.00732,-168.7386,-70.2094,-13.9800,722.4499, 1428} +, { 0,428, 2.93359,-169.5501,-75.7989,-13.9800,722.2811, 1429} +, { 0,429, 2.86481,-170.2535,-81.3883,-13.9800,722.1122, 1430} +, { 0,430, 2.80039,-170.8689,-86.9778,-13.9800,721.9434, 1431} +, { 0,431, 2.73983,-171.4118,-92.5672,-13.9800,721.7746, 1432} +, { 0,432, 2.68271,-171.8941,-98.1567,-13.9800,721.6058, 1433} +, { 0,433, 2.62867,-172.3255,-103.7461,-13.9800,721.4369, 1434} +, { 0,434, 2.57742,-172.7135,-109.3356,-13.9800,721.2681, 1435} +, { 0,435, 2.52868,-173.0644,-114.9250,-13.9800,721.0993, 1436} +, { 0,436, 2.48224,-173.3831,-120.5145,-13.9800,720.9305, 1437} +, { 0,437, 2.43790,-173.6740,-126.1039,-13.9800,720.7617, 1438} +, { 0,438, 2.39548,-173.9404,-131.6934,-13.9800,720.5928, 1439} +, { 0,439, 2.35483,-174.1854,-137.2828,-13.9800,720.4240, 1440} +, { 0,440, 3.94910,-135.4824,-19.9044,-19.5720,723.9693, 1441} +, { 0,441, 3.80805,-142.4860,-25.4938,-19.5720,723.8004, 1442} +, { 0,442, 3.67443,-147.8029,-31.0833,-19.5720,723.6316, 1443} +, { 0,443, 3.55067,-151.9114,-36.6727,-19.5720,723.4628, 1444} +, { 0,444, 3.43695,-155.1507,-42.2622,-19.5720,723.2940, 1445} +, { 0,445, 3.33256,-157.7547,-47.8516,-19.5720,723.1252, 1446} +, { 0,446, 3.23653,-159.8855,-53.4411,-19.5720,722.9563, 1447} +, { 0,447, 3.14791,-161.6567,-59.0305,-19.5720,722.7875, 1448} +, { 0,448, 3.06580,-163.1496,-64.6200,-19.5720,722.6187, 1449} +, { 0,449, 2.98943,-164.4233,-70.2094,-19.5720,722.4499, 1450} +, { 0,450, 2.91813,-165.5219,-75.7989,-19.5720,722.2811, 1451} +, { 0,451, 2.85133,-166.4784,-81.3883,-19.5720,722.1122, 1452} +, { 0,452, 2.78853,-167.3184,-86.9778,-19.5720,721.9434, 1453} +, { 0,453, 2.72933,-168.0615,-92.5672,-19.5720,721.7746, 1454} +, { 0,454, 2.67334,-168.7234,-98.1567,-19.5720,721.6058, 1455} +, { 0,455, 2.62027,-169.3165,-103.7461,-19.5720,721.4369, 1456} +, { 0,456, 2.56984,-169.8511,-109.3356,-19.5720,721.2681, 1457} +, { 0,457, 2.52182,-170.3351,-114.9250,-19.5720,721.0993, 1458} +, { 0,458, 2.47600,-170.7755,-120.5145,-19.5720,720.9305, 1459} +, { 0,459, 2.43219,-171.1778,-126.1039,-19.5720,720.7617, 1460} +, { 0,460, 2.39025,-171.5467,-131.6934,-19.5720,720.5928, 1461} +, { 0,461, 2.35002,-171.8862,-137.2828,-19.5720,720.4240, 1462} +, { 0,462, 3.81002,-128.3435,-19.9044,-25.1640,723.9693, 1463} +, { 0,463, 3.69973,-135.3730,-25.4938,-25.1640,723.8004, 1464} +, { 0,464, 3.58950,-141.0075,-31.0833,-25.1640,723.6316, 1465} +, { 0,465, 3.48319,-145.5430,-36.6727,-25.1640,723.4628, 1466} +, { 0,466, 3.38250,-149.2293,-42.2622,-25.1640,723.2940, 1467} +, { 0,467, 3.28794,-152.2612,-47.8516,-25.1640,723.1252, 1468} +, { 0,468, 3.19945,-154.7855,-53.4411,-25.1640,722.9563, 1469} +, { 0,469, 3.11669,-156.9120,-59.0305,-25.1640,722.7875, 1470} +, { 0,470, 3.03920,-158.7233,-64.6200,-25.1640,722.6187, 1471} +, { 0,471, 2.96654,-160.2816,-70.2094,-25.1640,722.4499, 1472} +, { 0,472, 2.89824,-161.6347,-75.7989,-25.1640,722.2811, 1473} +, { 0,473, 2.83391,-162.8192,-81.3883,-25.1640,722.1122, 1474} +, { 0,474, 2.77316,-163.8640,-86.9778,-25.1640,721.9434, 1475} +, { 0,475, 2.71566,-164.7919,-92.5672,-25.1640,721.7746, 1476} +, { 0,476, 2.66113,-165.6210,-98.1567,-25.1640,721.6058, 1477} +, { 0,477, 2.60929,-166.3660,-103.7461,-25.1640,721.4369, 1478} +, { 0,478, 2.55992,-167.0389,-109.3356,-25.1640,721.2681, 1479} +, { 0,479, 2.51282,-167.6494,-114.9250,-25.1640,721.0993, 1480} +, { 0,480, 2.46779,-168.2058,-120.5145,-25.1640,720.9305, 1481} +, { 0,481, 2.42469,-168.7149,-126.1039,-25.1640,720.7617, 1482} +, { 0,482, 2.38336,-169.1823,-131.6934,-25.1640,720.5928, 1483} +, { 0,483, 2.34367,-169.6130,-137.2828,-25.1640,720.4240, 1484} +, { 0,484, 3.67753,-122.9097,-19.9044,-30.7560,723.9693, 1485} +, { 0,485, 3.59084,-129.6555,-25.4938,-30.7560,723.8004, 1486} +, { 0,486, 3.50036,-135.3032,-31.0833,-30.7560,723.6316, 1487} +, { 0,487, 3.40996,-140.0147,-36.6727,-30.7560,723.4628, 1488} +, { 0,488, 3.32187,-143.9550,-42.2622,-30.7560,723.2940, 1489} +, { 0,489, 3.23727,-147.2696,-47.8516,-30.7560,723.1252, 1490} +, { 0,490, 3.15668,-150.0790,-53.4411,-30.7560,722.9563, 1491} +, { 0,491, 3.08024,-152.4796,-59.0305,-30.7560,722.7875, 1492} +, { 0,492, 3.00785,-154.5478,-64.6200,-30.7560,722.6187, 1493} +, { 0,493, 2.93934,-156.3437,-70.2094,-30.7560,722.4499, 1494} +, { 0,494, 2.87446,-157.9148,-75.7989,-30.7560,722.2811, 1495} +, { 0,495, 2.81296,-159.2988,-81.3883,-30.7560,722.1122, 1496} +, { 0,496, 2.75459,-160.5260,-86.9778,-30.7560,721.9434, 1497} +, { 0,497, 2.69910,-161.6206,-92.5672,-30.7560,721.7746, 1498} +, { 0,498, 2.64628,-162.6024,-98.1567,-30.7560,721.6058, 1499} +, { 0,499, 2.59590,-163.4873,-103.7461,-30.7560,721.4369, 1500} +, { 0,500, 2.54780,-164.2888,-109.3356,-30.7560,721.2681, 1501} +, { 0,501, 2.50180,-165.0177,-114.9250,-30.7560,721.0993, 1502} +, { 0,502, 2.45773,-165.6834,-120.5145,-30.7560,720.9305, 1503} +, { 0,503, 2.41547,-166.2935,-126.1039,-30.7560,720.7617, 1504} +, { 0,504, 2.37488,-166.8546,-131.6934,-30.7560,720.5928, 1505} +, { 0,505, 2.33586,-167.3723,-137.2828,-30.7560,720.4240, 1506} +, { 0,506, 3.55444,-118.7053,-19.9044,-36.3480,723.9693, 1507} +, { 0,507, 3.48543,-125.0451,-25.4938,-36.3480,723.8004, 1508} +, { 0,508, 3.41095,-130.5357,-31.0833,-36.3480,723.6316, 1509} +, { 0,509, 3.33429,-135.2548,-36.6727,-36.3480,723.4628, 1510} +, { 0,510, 3.25769,-139.3025,-42.2622,-36.3480,723.2940, 1511} +, { 0,511, 3.18259,-142.7798,-47.8516,-36.3480,723.1252, 1512} +, { 0,512, 3.10980,-145.7784,-53.4411,-36.3480,722.9563, 1513} +, { 0,513, 3.03977,-148.3773,-59.0305,-36.3480,722.7875, 1514} +, { 0,514, 2.97268,-150.6427,-64.6200,-36.3480,722.6187, 1515} +, { 0,515, 2.90856,-152.6290,-70.2094,-36.3480,722.4499, 1516} +, { 0,516, 2.84736,-154.3808,-75.7989,-36.3480,722.2811, 1517} +, { 0,517, 2.78895,-155.9345,-81.3883,-36.3480,722.1122, 1518} +, { 0,518, 2.73320,-157.3200,-86.9778,-36.3480,721.9434, 1519} +, { 0,519, 2.67994,-158.5618,-92.5672,-36.3480,721.7746, 1520} +, { 0,520, 2.62903,-159.6801,-98.1567,-36.3480,721.6058, 1521} +, { 0,521, 2.58031,-160.6918,-103.7461,-36.3480,721.4369, 1522} +, { 0,522, 2.53364,-161.6109,-109.3356,-36.3480,721.2681, 1523} +, { 0,523, 2.48889,-162.4491,-114.9250,-36.3480,721.0993, 1524} +, { 0,524, 2.44592,-163.2163,-120.5145,-36.3480,720.9305, 1525} +, { 0,525, 2.40463,-163.9210,-126.1039,-36.3480,720.7617, 1526} +, { 0,526, 2.36490,-164.5702,-131.6934,-36.3480,720.5928, 1527} +, { 0,527, 2.32664,-165.1702,-137.2828,-36.3480,720.4240, 1528} +, { 0,528, 3.44112,-115.3886,-19.9044,-41.9400,723.9693, 1529} +, { 0,529, 3.38535,-121.2939,-25.4938,-41.9400,723.8004, 1530} +, { 0,530, 3.32359,-126.5435,-31.0833,-41.9400,723.6316, 1531} +, { 0,531, 3.25848,-131.1667,-36.6727,-41.9400,723.4628, 1532} +, { 0,532, 3.19200,-135.2192,-42.2622,-41.9400,723.2940, 1533} +, { 0,533, 3.12558,-138.7668,-47.8516,-41.9400,723.1252, 1534} +, { 0,534, 3.06017,-141.8755,-53.4411,-41.9400,722.9563, 1535} +, { 0,535, 2.99638,-144.6070,-59.0305,-41.9400,722.7875, 1536} +, { 0,536, 2.93457,-147.0154,-64.6200,-41.9400,722.6187, 1537} +, { 0,537, 2.87492,-149.1478,-70.2094,-41.9400,722.4499, 1538} +, { 0,538, 2.81751,-151.0440,-75.7989,-41.9400,722.2811, 1539} +, { 0,539, 2.76234,-152.7376,-81.3883,-41.9400,722.1122, 1540} +, { 0,540, 2.70936,-154.2570,-86.9778,-41.9400,721.9434, 1541} +, { 0,541, 2.65849,-155.6259,-92.5672,-41.9400,721.7746, 1542} +, { 0,542, 2.60964,-156.8641,-98.1567,-41.9400,721.6058, 1543} +, { 0,543, 2.56272,-157.9887,-103.7461,-41.9400,721.4369, 1544} +, { 0,544, 2.51763,-159.0137,-109.3356,-41.9400,721.2681, 1545} +, { 0,545, 2.47425,-159.9513,-114.9250,-41.9400,721.0993, 1546} +, { 0,546, 2.43250,-160.8117,-120.5145,-41.9400,720.9305, 1547} +, { 0,547, 2.39229,-161.6038,-126.1039,-41.9400,720.7617, 1548} +, { 0,548, 2.35352,-162.3350,-131.6934,-41.9400,720.5928, 1549} +, { 0,549, 2.31611,-163.0121,-137.2828,-41.9400,720.4240, 1550} +, { 0,550, 3.33697,-112.7218,-19.9044,-47.5320,723.9693, 1551} +, { 0,551, 3.29123,-118.2069,-25.4938,-47.5320,723.8004, 1552} +, { 0,552, 3.23955,-123.1824,-31.0833,-47.5320,723.6316, 1553} +, { 0,553, 3.18399,-127.6515,-36.6727,-47.5320,723.4628, 1554} +, { 0,554, 3.12623,-131.6413,-42.2622,-47.5320,723.2940, 1555} +, { 0,555, 3.06756,-135.1920,-47.8516,-47.5320,723.1252, 1556} +, { 0,556, 3.00894,-138.3492,-53.4411,-47.5320,722.9563, 1557} +, { 0,557, 2.95105,-141.1586,-59.0305,-47.5320,722.7875, 1558} +, { 0,558, 2.89434,-143.6632,-64.6200,-47.5320,722.6187, 1559} +, { 0,559, 2.83909,-145.9019,-70.2094,-47.5320,722.4499, 1560} +, { 0,560, 2.78548,-147.9090,-75.7989,-47.5320,722.2811, 1561} +, { 0,561, 2.73359,-149.7144,-81.3883,-47.5320,722.1122, 1562} +, { 0,562, 2.68346,-151.3441,-86.9778,-47.5320,721.9434, 1563} +, { 0,563, 2.63507,-152.8201,-92.5672,-47.5320,721.7746, 1564} +, { 0,564, 2.58839,-154.1616,-98.1567,-47.5320,721.6058, 1565} +, { 0,565, 2.54337,-155.3848,-103.7461,-47.5320,721.4369, 1566} +, { 0,566, 2.49994,-156.5037,-109.3356,-47.5320,721.2681, 1567} +, { 0,567, 2.45805,-157.5304,-114.9250,-47.5320,721.0993, 1568} +, { 0,568, 2.41760,-158.4753,-120.5145,-47.5320,720.9305, 1569} +, { 0,569, 2.37855,-159.3472,-126.1039,-47.5320,720.7617, 1570} +, { 0,570, 2.34082,-160.1540,-131.6934,-47.5320,720.5928, 1571} +, { 0,571, 2.30435,-160.9024,-137.2828,-47.5320,720.4240, 1572} +, { 0,572, 3.24112,-110.5398,-19.9044,-53.1240,723.9693, 1573} +, { 0,573, 3.20306,-115.6360,-25.4938,-53.1240,723.8004, 1574} +, { 0,574, 3.15939,-120.3322,-31.0833,-53.1240,723.6316, 1575} +, { 0,575, 3.11170,-124.6182,-36.6727,-53.1240,723.4628, 1576} +, { 0,576, 3.06136,-128.5036,-42.2622,-53.1240,723.2940, 1577} +, { 0,577, 3.00950,-132.0110,-47.8516,-53.1240,723.1252, 1578} +, { 0,578, 2.95701,-135.1705,-53.4411,-53.1240,722.9563, 1579} +, { 0,579, 2.90458,-138.0146,-59.0305,-53.1240,722.7875, 1580} +, { 0,580, 2.85268,-140.5764,-64.6200,-53.1240,722.6187, 1581} +, { 0,581, 2.80167,-142.8870,-70.2094,-53.1240,722.4499, 1582} +, { 0,582, 2.75177,-144.9751,-75.7989,-53.1240,722.2811, 1583} +, { 0,583, 2.70314,-146.8666,-81.3883,-53.1240,722.1122, 1584} +, { 0,584, 2.65587,-148.5844,-86.9778,-53.1240,721.9434, 1585} +, { 0,585, 2.61000,-150.1486,-92.5672,-53.1240,721.7746, 1586} +, { 0,586, 2.56554,-151.5770,-98.1567,-53.1240,721.6058, 1587} +, { 0,587, 2.52248,-152.8849,-103.7461,-53.1240,721.4369, 1588} +, { 0,588, 2.48079,-154.0858,-109.3356,-53.1240,721.2681, 1589} +, { 0,589, 2.44044,-155.1913,-114.9250,-53.1240,721.0993, 1590} +, { 0,590, 2.40138,-156.2116,-120.5145,-53.1240,720.9305, 1591} +, { 0,591, 2.36356,-157.1557,-126.1039,-53.1240,720.7617, 1592} +, { 0,592, 2.32693,-158.0313,-131.6934,-53.1240,720.5928, 1593} +, { 0,593, 2.29145,-158.8452,-137.2828,-53.1240,720.4240, 1594} +, { 0,594, 3.15262,-108.7263,-19.9044,-58.7160,723.9693, 1595} +, { 0,595, 3.12055,-113.4699,-25.4938,-58.7160,723.8004, 1596} +, { 0,596, 3.08329,-117.8960,-31.0833,-58.7160,723.6316, 1597} +, { 0,597, 3.04208,-121.9880,-36.6727,-58.7160,723.4628, 1598} +, { 0,598, 2.99802,-125.7453,-42.2622,-58.7160,723.2940, 1599} +, { 0,599, 2.95209,-129.1789,-47.8516,-58.7160,723.1252, 1600} +, { 0,600, 2.90507,-132.3073,-53.4411,-58.7160,722.9563, 1601} +, { 0,601, 2.85760,-135.1530,-59.0305,-58.7160,722.7875, 1602} +, { 0,602, 2.81018,-137.7406,-64.6200,-58.7160,722.6187, 1603} +, { 0,603, 2.76317,-140.0943,-70.2094,-58.7160,722.4499, 1604} +, { 0,604, 2.71684,-142.2376,-75.7989,-58.7160,722.2811, 1605} +, { 0,605, 2.67138,-144.1922,-81.3883,-58.7160,722.1122, 1606} +, { 0,606, 2.62693,-145.9779,-86.9778,-58.7160,721.9434, 1607} +, { 0,607, 2.58357,-147.6128,-92.5672,-58.7160,721.7746, 1608} +, { 0,608, 2.54134,-149.1127,-98.1567,-58.7160,721.6058, 1609} +, { 0,609, 2.50027,-150.4919,-103.7461,-58.7160,721.4369, 1610} +, { 0,610, 2.46036,-151.7631,-109.3356,-58.7160,721.2681, 1611} +, { 0,611, 2.42159,-152.9372,-114.9250,-58.7160,721.0993, 1612} +, { 0,612, 2.38396,-154.0241,-120.5145,-58.7160,720.9305, 1613} +, { 0,613, 2.34742,-155.0326,-126.1039,-58.7160,720.7617, 1614} +, { 0,614, 2.31195,-155.9701,-131.6934,-58.7160,720.5928, 1615} +, { 0,615, 2.27752,-156.8436,-137.2828,-58.7160,720.4240, 1616} +, { 0,616, 3.07062,-107.1981,-19.9044,-64.3080,723.9693, 1617} +, { 0,617, 3.04327,-111.6250,-25.4938,-64.3080,723.8004, 1618} +, { 0,618, 3.01119,-115.7968,-31.0833,-64.3080,723.6316, 1619} +, { 0,619, 2.97534,-119.6947,-36.6727,-64.3080,723.4628, 1620} +, { 0,620, 2.93660,-123.3123,-42.2622,-64.3080,723.2940, 1621} +, { 0,621, 2.89579,-126.6530,-47.8516,-64.3080,723.1252, 1622} +, { 0,622, 2.85360,-129.7272,-53.4411,-64.3080,722.9563, 1623} +, { 0,623, 2.81062,-132.5499,-59.0305,-64.3080,722.7875, 1624} +, { 0,624, 2.76730,-135.1386,-64.6200,-64.3080,722.6187, 1625} +, { 0,625, 2.72403,-137.5120,-70.2094,-64.3080,722.4499, 1626} +, { 0,626, 2.68108,-139.6886,-75.7989,-64.3080,722.2811, 1627} +, { 0,627, 2.63867,-141.6864,-81.3883,-64.3080,722.1122, 1628} +, { 0,628, 2.59696,-143.5222,-86.9778,-64.3080,721.9434, 1629} +, { 0,629, 2.55606,-145.2116,-92.5672,-64.3080,721.7746, 1630} +, { 0,630, 2.51604,-146.7689,-98.1567,-64.3080,721.6058, 1631} +, { 0,631, 2.47696,-148.2069,-103.7461,-64.3080,721.4369, 1632} +, { 0,632, 2.43883,-149.5372,-109.3356,-64.3080,721.2681, 1633} +, { 0,633, 2.40168,-150.7702,-114.9250,-64.3080,721.0993, 1634} +, { 0,634, 2.36550,-151.9151,-120.5145,-64.3080,720.9305, 1635} +, { 0,635, 2.33028,-152.9802,-126.1039,-64.3080,720.7617, 1636} +, { 0,636, 2.29600,-153.9730,-131.6934,-64.3080,720.5928, 1637} +, { 0,637, 2.26264,-154.9000,-137.2828,-64.3080,720.4240, 1638} +, { 0,638, 2.99436,-105.8946,-19.9044,-69.9000,723.9693, 1639} +, { 0,639, 2.97079,-110.0378,-25.4938,-69.9000,723.8004, 1640} +, { 0,640, 2.94293,-113.9738,-31.0833,-69.9000,723.6316, 1641} +, { 0,641, 2.91152,-117.6835,-36.6727,-69.9000,723.4628, 1642} +, { 0,642, 2.87729,-121.1575,-42.2622,-69.9000,723.2940, 1643} +, { 0,643, 2.84091,-124.3945,-47.8516,-69.9000,723.1252, 1644} +, { 0,644, 2.80297,-127.3992,-53.4411,-69.9000,722.9563, 1645} +, { 0,645, 2.76400,-130.1811,-59.0305,-69.9000,722.7875, 1646} +, { 0,646, 2.72443,-132.7522,-64.6200,-69.9000,722.6187, 1647} +, { 0,647, 2.68461,-135.1265,-70.2094,-69.9000,722.4499, 1648} +, { 0,648, 2.64483,-137.3185,-75.7989,-69.9000,722.2811, 1649} +, { 0,649, 2.60531,-139.3425,-81.3883,-69.9000,722.1122, 1650} +, { 0,650, 2.56623,-141.2128,-86.9778,-69.9000,721.9434, 1651} +, { 0,651, 2.52771,-142.9426,-92.5672,-69.9000,721.7746, 1652} +, { 0,652, 2.48986,-144.5443,-98.1567,-69.9000,721.6058, 1653} +, { 0,653, 2.45274,-146.0295,-103.7461,-69.9000,721.4369, 1654} +, { 0,654, 2.41639,-147.4086,-109.3356,-69.9000,721.2681, 1655} +, { 0,655, 2.38085,-148.6911,-114.9250,-69.9000,721.0993, 1656} +, { 0,656, 2.34613,-149.8857,-120.5145,-69.9000,720.9305, 1657} +, { 0,657, 2.31224,-151.0002,-126.1039,-69.9000,720.7617, 1658} +, { 0,658, 2.27918,-152.0416,-131.6934,-69.9000,720.5928, 1659} +, { 0,659, 2.24693,-153.0163,-137.2828,-69.9000,720.4240, 1660} +, { 0,660, 2.92316,-104.7706,-19.9044,-75.4920,723.9693, 1661} +, { 0,661, 2.90265,-108.6599,-25.4938,-75.4920,723.8004, 1662} +, { 0,662, 2.87827,-112.3790,-31.0833,-75.4920,723.6316, 1663} +, { 0,663, 2.85058,-115.9097,-36.6727,-75.4920,723.4628, 1664} +, { 0,664, 2.82018,-119.2411,-42.2622,-75.4920,723.2940, 1665} +, { 0,665, 2.78763,-122.3691,-47.8516,-75.4920,723.1252, 1666} +, { 0,666, 2.75343,-125.2948,-53.4411,-75.4920,722.9563, 1667} +, { 0,667, 2.71804,-128.0234,-59.0305,-75.4920,722.7875, 1668} +, { 0,668, 2.68185,-130.5630,-64.6200,-75.4920,722.6187, 1669} +, { 0,669, 2.64520,-132.9236,-70.2094,-75.4920,722.4499, 1670} +, { 0,670, 2.60837,-135.1162,-75.7989,-75.4920,722.2811, 1671} +, { 0,671, 2.57157,-137.1524,-81.3883,-75.4920,722.1122, 1672} +, { 0,672, 2.53499,-139.0438,-86.9778,-75.4920,721.9434, 1673} +, { 0,673, 2.49876,-140.8015,-92.5672,-75.4920,721.7746, 1674} +, { 0,674, 2.46300,-142.4362,-98.1567,-75.4920,721.6058, 1675} +, { 0,675, 2.42779,-143.9581,-103.7461,-75.4920,721.4369, 1676} +, { 0,676, 2.39320,-145.3764,-109.3356,-75.4920,721.2681, 1677} +, { 0,677, 2.35925,-146.6999,-114.9250,-75.4920,721.0993, 1678} +, { 0,678, 2.32600,-147.9364,-120.5145,-75.4920,720.9305, 1679} +, { 0,679, 2.29344,-149.0932,-126.1039,-75.4920,720.7617, 1680} +, { 0,680, 2.26159,-150.1769,-131.6934,-75.4920,720.5928, 1681} +, { 0,681, 2.23046,-151.1936,-137.2828,-75.4920,720.4240, 1682} +, { 0,682, 2.85646,-103.7922,-19.9044,-81.0840,723.9693, 1683} +, { 0,683, 2.83847,-107.4538,-25.4938,-81.0840,723.8004, 1684} +, { 0,684, 2.81697,-110.9741,-31.0833,-81.0840,723.6316, 1685} +, { 0,685, 2.79242,-114.3363,-36.6727,-81.0840,723.4628, 1686} +, { 0,686, 2.76529,-117.5292,-42.2622,-81.0840,723.2940, 1687} +, { 0,687, 2.73604,-120.5469,-47.8516,-81.0840,723.1252, 1688} +, { 0,688, 2.70512,-123.3882,-53.4411,-81.0840,722.9563, 1689} +, { 0,689, 2.67292,-126.0553,-59.0305,-81.0840,722.7875, 1690} +, { 0,690, 2.63979,-128.5531,-64.6200,-81.0840,722.6187, 1691} +, { 0,691, 2.60604,-130.8888,-70.2094,-81.0840,722.4499, 1692} +, { 0,692, 2.57192,-133.0705,-75.7989,-81.0840,722.2811, 1693} +, { 0,693, 2.53766,-135.1073,-81.3883,-81.0840,722.1122, 1694} +, { 0,694, 2.50344,-137.0085,-86.9778,-81.0840,721.9434, 1695} +, { 0,695, 2.46939,-138.7834,-92.5672,-81.0840,721.7746, 1696} +, { 0,696, 2.43565,-140.4410,-98.1567,-81.0840,721.6058, 1697} +, { 0,697, 2.40229,-141.9902,-103.7461,-81.0840,721.4369, 1698} +, { 0,698, 2.36940,-143.4391,-109.3356,-81.0840,721.2681, 1699} +, { 0,699, 2.33703,-144.7956,-114.9250,-81.0840,721.0993, 1700} +, { 0,700, 2.30521,-146.0667,-120.5145,-81.0840,720.9305, 1701} +, { 0,701, 2.27398,-147.2593,-126.1039,-81.0840,720.7617, 1702} +, { 0,702, 2.24335,-148.3793,-131.6934,-81.0840,720.5928, 1703} +, { 0,703, 2.21334,-149.4324,-137.2828,-81.0840,720.4240, 1704} +, { 0,704, 2.79377,-102.9332,-19.9044,-86.6760,723.9693, 1705} +, { 0,705, 2.77787,-106.3901,-25.4938,-86.6760,723.8004, 1706} +, { 0,706, 2.75879,-109.7286,-31.0833,-86.6760,723.6316, 1707} +, { 0,707, 2.73688,-112.9333,-36.6727,-86.6760,723.4628, 1708} +, { 0,708, 2.71256,-115.9933,-42.2622,-86.6760,723.2940, 1709} +, { 0,709, 2.68619,-118.9020,-47.8516,-86.6760,723.1252, 1710} +, { 0,710, 2.65815,-121.6564,-53.4411,-86.6760,722.9563, 1711} +, { 0,711, 2.62878,-124.2567,-59.0305,-86.6760,722.7875, 1712} +, { 0,712, 2.59840,-126.7058,-64.6200,-86.6760,722.6187, 1713} +, { 0,713, 2.56728,-129.0082,-70.2094,-86.6760,722.4499, 1714} +, { 0,714, 2.53567,-131.1700,-75.7989,-86.6760,722.2811, 1715} +, { 0,715, 2.50377,-133.1979,-81.3883,-86.6760,722.1122, 1716} +, { 0,716, 2.47176,-135.0996,-86.9778,-86.6760,721.9434, 1717} +, { 0,717, 2.43978,-136.8825,-92.5672,-86.6760,721.7746, 1718} +, { 0,718, 2.40796,-138.5543,-98.1567,-86.6760,721.6058, 1719} +, { 0,719, 2.37639,-140.1225,-103.7461,-86.6760,721.4369, 1720} +, { 0,720, 2.34515,-141.5943,-109.3356,-86.6760,721.2681, 1721} +, { 0,721, 2.31430,-142.9765,-114.9250,-86.6760,721.0993, 1722} +, { 0,722, 2.28390,-144.2757,-120.5145,-86.6760,720.9305, 1723} +, { 0,723, 2.25397,-145.4978,-126.1039,-86.6760,720.7617, 1724} +, { 0,724, 2.22455,-146.6485,-131.6934,-86.6760,720.5928, 1725} +, { 0,725, 2.19566,-147.7330,-137.2828,-86.6760,720.4240, 1726} +, { 0,726, 2.73468,-102.1735,-19.9044,-92.2680,723.9693, 1727} +, { 0,727, 2.72053,-105.4456,-25.4938,-92.2680,723.8004, 1728} +, { 0,728, 2.70348,-108.6177,-31.0833,-92.2680,723.6316, 1729} +, { 0,729, 2.68384,-111.6758,-36.6727,-92.2680,723.4628, 1730} +, { 0,730, 2.66192,-114.6095,-42.2622,-92.2680,723.2940, 1731} +, { 0,731, 2.63806,-117.4120,-47.8516,-92.2680,723.1252, 1732} +, { 0,732, 2.61255,-120.0792,-53.4411,-92.2680,722.9563, 1733} +, { 0,733, 2.58571,-122.6100,-59.0305,-92.2680,722.7875, 1734} +, { 0,734, 2.55780,-125.0055,-64.6200,-92.2680,722.6187, 1735} +, { 0,735, 2.52908,-127.2686,-70.2094,-92.2680,722.4499, 1736} +, { 0,736, 2.49976,-129.4034,-75.7989,-92.2680,722.2811, 1737} +, { 0,737, 2.47004,-131.4151,-81.3883,-92.2680,722.1122, 1738} +, { 0,738, 2.44010,-133.3095,-86.9778,-92.2680,721.9434, 1739} +, { 0,739, 2.41007,-135.0928,-92.5672,-92.2680,721.7746, 1740} +, { 0,740, 2.38007,-136.7712,-98.1567,-92.2680,721.6058, 1741} +, { 0,741, 2.35020,-138.3513,-103.7461,-92.2680,721.4369, 1742} +, { 0,742, 2.32055,-139.8391,-109.3356,-92.2680,721.2681, 1743} +, { 0,743, 2.29119,-141.2406,-114.9250,-92.2680,721.0993, 1744} +, { 0,744, 2.26216,-142.5617,-120.5145,-92.2680,720.9305, 1745} +, { 0,745, 2.23352,-143.8077,-126.1039,-92.2680,720.7617, 1746} +, { 0,746, 2.20528,-144.9839,-131.6934,-92.2680,720.5928, 1747} +, { 0,747, 2.17749,-146.0949,-137.2828,-92.2680,720.4240, 1748} +, { 1, 0, 2.73468, 77.8265, 19.9044, 92.2680,723.9693, 2001} +, { 1, 1, 2.72053, 74.5544, 25.4938, 92.2680,723.8004, 2002} +, { 1, 2, 2.70348, 71.3823, 31.0833, 92.2680,723.6316, 2003} +, { 1, 3, 2.68384, 68.3242, 36.6727, 92.2680,723.4628, 2004} +, { 1, 4, 2.66192, 65.3905, 42.2622, 92.2680,723.2940, 2005} +, { 1, 5, 2.63806, 62.5880, 47.8516, 92.2680,723.1252, 2006} +, { 1, 6, 2.61255, 59.9208, 53.4411, 92.2680,722.9563, 2007} +, { 1, 7, 2.58571, 57.3900, 59.0305, 92.2680,722.7875, 2008} +, { 1, 8, 2.55780, 54.9945, 64.6200, 92.2680,722.6187, 2009} +, { 1, 9, 2.52908, 52.7314, 70.2094, 92.2680,722.4499, 2010} +, { 1, 10, 2.49976, 50.5966, 75.7989, 92.2680,722.2811, 2011} +, { 1, 11, 2.47004, 48.5849, 81.3883, 92.2680,722.1122, 2012} +, { 1, 12, 2.44010, 46.6905, 86.9778, 92.2680,721.9434, 2013} +, { 1, 13, 2.41007, 44.9072, 92.5672, 92.2680,721.7746, 2014} +, { 1, 14, 2.38007, 43.2288, 98.1567, 92.2680,721.6058, 2015} +, { 1, 15, 2.35020, 41.6487,103.7461, 92.2680,721.4369, 2016} +, { 1, 16, 2.32055, 40.1609,109.3356, 92.2680,721.2681, 2017} +, { 1, 17, 2.29119, 38.7594,114.9250, 92.2680,721.0993, 2018} +, { 1, 18, 2.26216, 37.4383,120.5145, 92.2680,720.9305, 2019} +, { 1, 19, 2.23352, 36.1923,126.1039, 92.2680,720.7617, 2020} +, { 1, 20, 2.20528, 35.0161,131.6934, 92.2680,720.5928, 2021} +, { 1, 21, 2.17749, 33.9051,137.2828, 92.2680,720.4240, 2022} +, { 1, 22, 2.79377, 77.0668, 19.9044, 86.6760,723.9693, 2023} +, { 1, 23, 2.77787, 73.6099, 25.4938, 86.6760,723.8004, 2024} +, { 1, 24, 2.75879, 70.2714, 31.0833, 86.6760,723.6316, 2025} +, { 1, 25, 2.73688, 67.0667, 36.6727, 86.6760,723.4628, 2026} +, { 1, 26, 2.71256, 64.0067, 42.2622, 86.6760,723.2940, 2027} +, { 1, 27, 2.68619, 61.0980, 47.8516, 86.6760,723.1252, 2028} +, { 1, 28, 2.65815, 58.3436, 53.4411, 86.6760,722.9563, 2029} +, { 1, 29, 2.62878, 55.7433, 59.0305, 86.6760,722.7875, 2030} +, { 1, 30, 2.59840, 53.2942, 64.6200, 86.6760,722.6187, 2031} +, { 1, 31, 2.56728, 50.9918, 70.2094, 86.6760,722.4499, 2032} +, { 1, 32, 2.53567, 48.8300, 75.7989, 86.6760,722.2811, 2033} +, { 1, 33, 2.50377, 46.8021, 81.3883, 86.6760,722.1122, 2034} +, { 1, 34, 2.47176, 44.9004, 86.9778, 86.6760,721.9434, 2035} +, { 1, 35, 2.43978, 43.1175, 92.5672, 86.6760,721.7746, 2036} +, { 1, 36, 2.40796, 41.4457, 98.1567, 86.6760,721.6058, 2037} +, { 1, 37, 2.37639, 39.8775,103.7461, 86.6760,721.4369, 2038} +, { 1, 38, 2.34515, 38.4057,109.3356, 86.6760,721.2681, 2039} +, { 1, 39, 2.31430, 37.0235,114.9250, 86.6760,721.0993, 2040} +, { 1, 40, 2.28390, 35.7243,120.5145, 86.6760,720.9305, 2041} +, { 1, 41, 2.25397, 34.5022,126.1039, 86.6760,720.7617, 2042} +, { 1, 42, 2.22455, 33.3515,131.6934, 86.6760,720.5928, 2043} +, { 1, 43, 2.19566, 32.2670,137.2828, 86.6760,720.4240, 2044} +, { 1, 44, 2.85646, 76.2079, 19.9044, 81.0840,723.9693, 2045} +, { 1, 45, 2.83847, 72.5462, 25.4938, 81.0840,723.8004, 2046} +, { 1, 46, 2.81697, 69.0259, 31.0833, 81.0840,723.6316, 2047} +, { 1, 47, 2.79242, 65.6637, 36.6727, 81.0840,723.4628, 2048} +, { 1, 48, 2.76529, 62.4708, 42.2622, 81.0840,723.2940, 2049} +, { 1, 49, 2.73604, 59.4531, 47.8516, 81.0840,723.1252, 2050} +, { 1, 50, 2.70512, 56.6118, 53.4411, 81.0840,722.9563, 2051} +, { 1, 51, 2.67292, 53.9448, 59.0305, 81.0840,722.7875, 2052} +, { 1, 52, 2.63979, 51.4469, 64.6200, 81.0840,722.6187, 2053} +, { 1, 53, 2.60604, 49.1112, 70.2094, 81.0840,722.4499, 2054} +, { 1, 54, 2.57192, 46.9295, 75.7989, 81.0840,722.2811, 2055} +, { 1, 55, 2.53766, 44.8927, 81.3883, 81.0840,722.1122, 2056} +, { 1, 56, 2.50344, 42.9915, 86.9778, 81.0840,721.9434, 2057} +, { 1, 57, 2.46939, 41.2166, 92.5672, 81.0840,721.7746, 2058} +, { 1, 58, 2.43565, 39.5590, 98.1567, 81.0840,721.6058, 2059} +, { 1, 59, 2.40229, 38.0098,103.7461, 81.0840,721.4369, 2060} +, { 1, 60, 2.36940, 36.5609,109.3356, 81.0840,721.2681, 2061} +, { 1, 61, 2.33703, 35.2044,114.9250, 81.0840,721.0993, 2062} +, { 1, 62, 2.30521, 33.9333,120.5145, 81.0840,720.9305, 2063} +, { 1, 63, 2.27398, 32.7408,126.1039, 81.0840,720.7617, 2064} +, { 1, 64, 2.24335, 31.6207,131.6934, 81.0840,720.5928, 2065} +, { 1, 65, 2.21334, 30.5676,137.2828, 81.0840,720.4240, 2066} +, { 1, 66, 2.92316, 75.2294, 19.9044, 75.4920,723.9693, 2067} +, { 1, 67, 2.90265, 71.3401, 25.4938, 75.4920,723.8004, 2068} +, { 1, 68, 2.87827, 67.6210, 31.0833, 75.4920,723.6316, 2069} +, { 1, 69, 2.85058, 64.0903, 36.6727, 75.4920,723.4628, 2070} +, { 1, 70, 2.82018, 60.7589, 42.2622, 75.4920,723.2940, 2071} +, { 1, 71, 2.78763, 57.6309, 47.8516, 75.4920,723.1252, 2072} +, { 1, 72, 2.75343, 54.7052, 53.4411, 75.4920,722.9563, 2073} +, { 1, 73, 2.71804, 51.9766, 59.0305, 75.4920,722.7875, 2074} +, { 1, 74, 2.68185, 49.4370, 64.6200, 75.4920,722.6187, 2075} +, { 1, 75, 2.64520, 47.0764, 70.2094, 75.4920,722.4499, 2076} +, { 1, 76, 2.60837, 44.8838, 75.7989, 75.4920,722.2811, 2077} +, { 1, 77, 2.57157, 42.8476, 81.3883, 75.4920,722.1122, 2078} +, { 1, 78, 2.53499, 40.9562, 86.9778, 75.4920,721.9434, 2079} +, { 1, 79, 2.49876, 39.1985, 92.5672, 75.4920,721.7746, 2080} +, { 1, 80, 2.46300, 37.5638, 98.1567, 75.4920,721.6058, 2081} +, { 1, 81, 2.42779, 36.0419,103.7461, 75.4920,721.4369, 2082} +, { 1, 82, 2.39320, 34.6236,109.3356, 75.4920,721.2681, 2083} +, { 1, 83, 2.35925, 33.3001,114.9250, 75.4920,721.0993, 2084} +, { 1, 84, 2.32600, 32.0636,120.5145, 75.4920,720.9305, 2085} +, { 1, 85, 2.29344, 30.9068,126.1039, 75.4920,720.7617, 2086} +, { 1, 86, 2.26159, 29.8231,131.6934, 75.4920,720.5928, 2087} +, { 1, 87, 2.23046, 28.8064,137.2828, 75.4920,720.4240, 2088} +, { 1, 88, 2.99436, 74.1054, 19.9044, 69.9000,723.9693, 2089} +, { 1, 89, 2.97079, 69.9622, 25.4938, 69.9000,723.8004, 2090} +, { 1, 90, 2.94293, 66.0262, 31.0833, 69.9000,723.6316, 2091} +, { 1, 91, 2.91152, 62.3165, 36.6727, 69.9000,723.4628, 2092} +, { 1, 92, 2.87729, 58.8425, 42.2622, 69.9000,723.2940, 2093} +, { 1, 93, 2.84091, 55.6055, 47.8516, 69.9000,723.1252, 2094} +, { 1, 94, 2.80297, 52.6008, 53.4411, 69.9000,722.9563, 2095} +, { 1, 95, 2.76400, 49.8189, 59.0305, 69.9000,722.7875, 2096} +, { 1, 96, 2.72443, 47.2478, 64.6200, 69.9000,722.6187, 2097} +, { 1, 97, 2.68461, 44.8735, 70.2094, 69.9000,722.4499, 2098} +, { 1, 98, 2.64483, 42.6815, 75.7989, 69.9000,722.2811, 2099} +, { 1, 99, 2.60531, 40.6575, 81.3883, 69.9000,722.1122, 2100} +, { 1,100, 2.56623, 38.7872, 86.9778, 69.9000,721.9434, 2101} +, { 1,101, 2.52771, 37.0574, 92.5672, 69.9000,721.7746, 2102} +, { 1,102, 2.48986, 35.4557, 98.1567, 69.9000,721.6058, 2103} +, { 1,103, 2.45274, 33.9705,103.7461, 69.9000,721.4369, 2104} +, { 1,104, 2.41639, 32.5914,109.3356, 69.9000,721.2681, 2105} +, { 1,105, 2.38085, 31.3089,114.9250, 69.9000,721.0993, 2106} +, { 1,106, 2.34613, 30.1143,120.5145, 69.9000,720.9305, 2107} +, { 1,107, 2.31224, 28.9998,126.1039, 69.9000,720.7617, 2108} +, { 1,108, 2.27918, 27.9584,131.6934, 69.9000,720.5928, 2109} +, { 1,109, 2.24693, 26.9837,137.2828, 69.9000,720.4240, 2110} +, { 1,110, 3.07062, 72.8019, 19.9044, 64.3080,723.9693, 2111} +, { 1,111, 3.04327, 68.3750, 25.4938, 64.3080,723.8004, 2112} +, { 1,112, 3.01119, 64.2032, 31.0833, 64.3080,723.6316, 2113} +, { 1,113, 2.97534, 60.3053, 36.6727, 64.3080,723.4628, 2114} +, { 1,114, 2.93660, 56.6877, 42.2622, 64.3080,723.2940, 2115} +, { 1,115, 2.89579, 53.3470, 47.8516, 64.3080,723.1252, 2116} +, { 1,116, 2.85360, 50.2728, 53.4411, 64.3080,722.9563, 2117} +, { 1,117, 2.81062, 47.4501, 59.0305, 64.3080,722.7875, 2118} +, { 1,118, 2.76730, 44.8614, 64.6200, 64.3080,722.6187, 2119} +, { 1,119, 2.72403, 42.4880, 70.2094, 64.3080,722.4499, 2120} +, { 1,120, 2.68108, 40.3114, 75.7989, 64.3080,722.2811, 2121} +, { 1,121, 2.63867, 38.3136, 81.3883, 64.3080,722.1122, 2122} +, { 1,122, 2.59696, 36.4778, 86.9778, 64.3080,721.9434, 2123} +, { 1,123, 2.55606, 34.7884, 92.5672, 64.3080,721.7746, 2124} +, { 1,124, 2.51604, 33.2311, 98.1567, 64.3080,721.6058, 2125} +, { 1,125, 2.47696, 31.7931,103.7461, 64.3080,721.4369, 2126} +, { 1,126, 2.43883, 30.4628,109.3356, 64.3080,721.2681, 2127} +, { 1,127, 2.40168, 29.2298,114.9250, 64.3080,721.0993, 2128} +, { 1,128, 2.36550, 28.0849,120.5145, 64.3080,720.9305, 2129} +, { 1,129, 2.33028, 27.0198,126.1039, 64.3080,720.7617, 2130} +, { 1,130, 2.29600, 26.0270,131.6934, 64.3080,720.5928, 2131} +, { 1,131, 2.26264, 25.1000,137.2828, 64.3080,720.4240, 2132} +, { 1,132, 3.15262, 71.2737, 19.9044, 58.7160,723.9693, 2133} +, { 1,133, 3.12055, 66.5301, 25.4938, 58.7160,723.8004, 2134} +, { 1,134, 3.08329, 62.1040, 31.0833, 58.7160,723.6316, 2135} +, { 1,135, 3.04208, 58.0120, 36.6727, 58.7160,723.4628, 2136} +, { 1,136, 2.99802, 54.2547, 42.2622, 58.7160,723.2940, 2137} +, { 1,137, 2.95209, 50.8211, 47.8516, 58.7160,723.1252, 2138} +, { 1,138, 2.90507, 47.6927, 53.4411, 58.7160,722.9563, 2139} +, { 1,139, 2.85760, 44.8470, 59.0305, 58.7160,722.7875, 2140} +, { 1,140, 2.81018, 42.2594, 64.6200, 58.7160,722.6187, 2141} +, { 1,141, 2.76317, 39.9057, 70.2094, 58.7160,722.4499, 2142} +, { 1,142, 2.71684, 37.7624, 75.7989, 58.7160,722.2811, 2143} +, { 1,143, 2.67138, 35.8078, 81.3883, 58.7160,722.1122, 2144} +, { 1,144, 2.62693, 34.0221, 86.9778, 58.7160,721.9434, 2145} +, { 1,145, 2.58357, 32.3872, 92.5672, 58.7160,721.7746, 2146} +, { 1,146, 2.54134, 30.8873, 98.1567, 58.7160,721.6058, 2147} +, { 1,147, 2.50027, 29.5081,103.7461, 58.7160,721.4369, 2148} +, { 1,148, 2.46036, 28.2369,109.3356, 58.7160,721.2681, 2149} +, { 1,149, 2.42159, 27.0628,114.9250, 58.7160,721.0993, 2150} +, { 1,150, 2.38396, 25.9759,120.5145, 58.7160,720.9305, 2151} +, { 1,151, 2.34742, 24.9674,126.1039, 58.7160,720.7617, 2152} +, { 1,152, 2.31195, 24.0299,131.6934, 58.7160,720.5928, 2153} +, { 1,153, 2.27752, 23.1564,137.2828, 58.7160,720.4240, 2154} +, { 1,154, 3.24112, 69.4602, 19.9044, 53.1240,723.9693, 2155} +, { 1,155, 3.20306, 64.3640, 25.4938, 53.1240,723.8004, 2156} +, { 1,156, 3.15939, 59.6678, 31.0833, 53.1240,723.6316, 2157} +, { 1,157, 3.11170, 55.3818, 36.6727, 53.1240,723.4628, 2158} +, { 1,158, 3.06136, 51.4964, 42.2622, 53.1240,723.2940, 2159} +, { 1,159, 3.00950, 47.9890, 47.8516, 53.1240,723.1252, 2160} +, { 1,160, 2.95701, 44.8295, 53.4411, 53.1240,722.9563, 2161} +, { 1,161, 2.90458, 41.9854, 59.0305, 53.1240,722.7875, 2162} +, { 1,162, 2.85268, 39.4236, 64.6200, 53.1240,722.6187, 2163} +, { 1,163, 2.80167, 37.1130, 70.2094, 53.1240,722.4499, 2164} +, { 1,164, 2.75177, 35.0249, 75.7989, 53.1240,722.2811, 2165} +, { 1,165, 2.70314, 33.1334, 81.3883, 53.1240,722.1122, 2166} +, { 1,166, 2.65587, 31.4156, 86.9778, 53.1240,721.9434, 2167} +, { 1,167, 2.61000, 29.8514, 92.5672, 53.1240,721.7746, 2168} +, { 1,168, 2.56554, 28.4230, 98.1567, 53.1240,721.6058, 2169} +, { 1,169, 2.52248, 27.1151,103.7461, 53.1240,721.4369, 2170} +, { 1,170, 2.48079, 25.9142,109.3356, 53.1240,721.2681, 2171} +, { 1,171, 2.44044, 24.8087,114.9250, 53.1240,721.0993, 2172} +, { 1,172, 2.40138, 23.7884,120.5145, 53.1240,720.9305, 2173} +, { 1,173, 2.36356, 22.8443,126.1039, 53.1240,720.7617, 2174} +, { 1,174, 2.32693, 21.9687,131.6934, 53.1240,720.5928, 2175} +, { 1,175, 2.29145, 21.1548,137.2828, 53.1240,720.4240, 2176} +, { 1,176, 3.33697, 67.2782, 19.9044, 47.5320,723.9693, 2177} +, { 1,177, 3.29123, 61.7931, 25.4938, 47.5320,723.8004, 2178} +, { 1,178, 3.23955, 56.8176, 31.0833, 47.5320,723.6316, 2179} +, { 1,179, 3.18399, 52.3485, 36.6727, 47.5320,723.4628, 2180} +, { 1,180, 3.12622, 48.3587, 42.2622, 47.5320,723.2940, 2181} +, { 1,181, 3.06756, 44.8080, 47.8516, 47.5320,723.1252, 2182} +, { 1,182, 3.00894, 41.6508, 53.4411, 47.5320,722.9563, 2183} +, { 1,183, 2.95105, 38.8414, 59.0305, 47.5320,722.7875, 2184} +, { 1,184, 2.89434, 36.3368, 64.6200, 47.5320,722.6187, 2185} +, { 1,185, 2.83909, 34.0981, 70.2094, 47.5320,722.4499, 2186} +, { 1,186, 2.78548, 32.0910, 75.7989, 47.5320,722.2811, 2187} +, { 1,187, 2.73359, 30.2856, 81.3883, 47.5320,722.1122, 2188} +, { 1,188, 2.68346, 28.6559, 86.9778, 47.5320,721.9434, 2189} +, { 1,189, 2.63507, 27.1799, 92.5672, 47.5320,721.7746, 2190} +, { 1,190, 2.58839, 25.8384, 98.1567, 47.5320,721.6058, 2191} +, { 1,191, 2.54337, 24.6152,103.7461, 47.5320,721.4369, 2192} +, { 1,192, 2.49994, 23.4963,109.3356, 47.5320,721.2681, 2193} +, { 1,193, 2.45805, 22.4696,114.9250, 47.5320,721.0993, 2194} +, { 1,194, 2.41760, 21.5247,120.5145, 47.5320,720.9305, 2195} +, { 1,195, 2.37855, 20.6528,126.1039, 47.5320,720.7617, 2196} +, { 1,196, 2.34082, 19.8460,131.6934, 47.5320,720.5928, 2197} +, { 1,197, 2.30435, 19.0976,137.2828, 47.5320,720.4240, 2198} +, { 1,198, 3.44112, 64.6114, 19.9044, 41.9400,723.9693, 2199} +, { 1,199, 3.38535, 58.7061, 25.4938, 41.9400,723.8004, 2200} +, { 1,200, 3.32359, 53.4565, 31.0833, 41.9400,723.6316, 2201} +, { 1,201, 3.25848, 48.8333, 36.6727, 41.9400,723.4628, 2202} +, { 1,202, 3.19200, 44.7808, 42.2622, 41.9400,723.2940, 2203} +, { 1,203, 3.12558, 41.2332, 47.8516, 41.9400,723.1252, 2204} +, { 1,204, 3.06017, 38.1245, 53.4411, 41.9400,722.9563, 2205} +, { 1,205, 2.99638, 35.3930, 59.0305, 41.9400,722.7875, 2206} +, { 1,206, 2.93457, 32.9846, 64.6200, 41.9400,722.6187, 2207} +, { 1,207, 2.87492, 30.8522, 70.2094, 41.9400,722.4499, 2208} +, { 1,208, 2.81751, 28.9560, 75.7989, 41.9400,722.2811, 2209} +, { 1,209, 2.76234, 27.2624, 81.3883, 41.9400,722.1122, 2210} +, { 1,210, 2.70936, 25.7430, 86.9778, 41.9400,721.9434, 2211} +, { 1,211, 2.65849, 24.3741, 92.5672, 41.9400,721.7746, 2212} +, { 1,212, 2.60964, 23.1359, 98.1567, 41.9400,721.6058, 2213} +, { 1,213, 2.56272, 22.0113,103.7461, 41.9400,721.4369, 2214} +, { 1,214, 2.51763, 20.9863,109.3356, 41.9400,721.2681, 2215} +, { 1,215, 2.47425, 20.0487,114.9250, 41.9400,721.0993, 2216} +, { 1,216, 2.43250, 19.1883,120.5145, 41.9400,720.9305, 2217} +, { 1,217, 2.39229, 18.3962,126.1039, 41.9400,720.7617, 2218} +, { 1,218, 2.35352, 17.6650,131.6934, 41.9400,720.5928, 2219} +, { 1,219, 2.31611, 16.9879,137.2828, 41.9400,720.4240, 2220} +, { 1,220, 3.55444, 61.2946, 19.9044, 36.3480,723.9693, 2221} +, { 1,221, 3.48543, 54.9549, 25.4938, 36.3480,723.8004, 2222} +, { 1,222, 3.41095, 49.4643, 31.0833, 36.3480,723.6316, 2223} +, { 1,223, 3.33429, 44.7452, 36.6727, 36.3480,723.4628, 2224} +, { 1,224, 3.25769, 40.6975, 42.2622, 36.3480,723.2940, 2225} +, { 1,225, 3.18259, 37.2202, 47.8516, 36.3480,723.1252, 2226} +, { 1,226, 3.10980, 34.2216, 53.4411, 36.3480,722.9563, 2227} +, { 1,227, 3.03977, 31.6227, 59.0305, 36.3480,722.7875, 2228} +, { 1,228, 2.97268, 29.3573, 64.6200, 36.3480,722.6187, 2229} +, { 1,229, 2.90856, 27.3710, 70.2094, 36.3480,722.4499, 2230} +, { 1,230, 2.84736, 25.6192, 75.7989, 36.3480,722.2811, 2231} +, { 1,231, 2.78895, 24.0655, 81.3883, 36.3480,722.1122, 2232} +, { 1,232, 2.73320, 22.6800, 86.9778, 36.3480,721.9434, 2233} +, { 1,233, 2.67994, 21.4382, 92.5672, 36.3480,721.7746, 2234} +, { 1,234, 2.62903, 20.3199, 98.1567, 36.3480,721.6058, 2235} +, { 1,235, 2.58031, 19.3082,103.7461, 36.3480,721.4369, 2236} +, { 1,236, 2.53364, 18.3891,109.3356, 36.3480,721.2681, 2237} +, { 1,237, 2.48889, 17.5509,114.9250, 36.3480,721.0993, 2238} +, { 1,238, 2.44592, 16.7837,120.5145, 36.3480,720.9305, 2239} +, { 1,239, 2.40463, 16.0790,126.1039, 36.3480,720.7617, 2240} +, { 1,240, 2.36490, 15.4298,131.6934, 36.3480,720.5928, 2241} +, { 1,241, 2.32664, 14.8298,137.2828, 36.3480,720.4240, 2242} +, { 1,242, 3.67753, 57.0903, 19.9044, 30.7560,723.9693, 2243} +, { 1,243, 3.59084, 50.3445, 25.4938, 30.7560,723.8004, 2244} +, { 1,244, 3.50036, 44.6968, 31.0833, 30.7560,723.6316, 2245} +, { 1,245, 3.40996, 39.9853, 36.6727, 30.7560,723.4628, 2246} +, { 1,246, 3.32187, 36.0450, 42.2622, 30.7560,723.2940, 2247} +, { 1,247, 3.23727, 32.7304, 47.8516, 30.7560,723.1252, 2248} +, { 1,248, 3.15668, 29.9210, 53.4411, 30.7560,722.9563, 2249} +, { 1,249, 3.08024, 27.5204, 59.0305, 30.7560,722.7875, 2250} +, { 1,250, 3.00785, 25.4522, 64.6200, 30.7560,722.6187, 2251} +, { 1,251, 2.93934, 23.6563, 70.2094, 30.7560,722.4499, 2252} +, { 1,252, 2.87446, 22.0852, 75.7989, 30.7560,722.2811, 2253} +, { 1,253, 2.81296, 20.7012, 81.3883, 30.7560,722.1122, 2254} +, { 1,254, 2.75459, 19.4740, 86.9778, 30.7560,721.9434, 2255} +, { 1,255, 2.69910, 18.3794, 92.5672, 30.7560,721.7746, 2256} +, { 1,256, 2.64628, 17.3976, 98.1567, 30.7560,721.6058, 2257} +, { 1,257, 2.59590, 16.5127,103.7461, 30.7560,721.4369, 2258} +, { 1,258, 2.54780, 15.7112,109.3356, 30.7560,721.2681, 2259} +, { 1,259, 2.50180, 14.9823,114.9250, 30.7560,721.0993, 2260} +, { 1,260, 2.45773, 14.3166,120.5145, 30.7560,720.9305, 2261} +, { 1,261, 2.41547, 13.7065,126.1039, 30.7560,720.7617, 2262} +, { 1,262, 2.37488, 13.1454,131.6934, 30.7560,720.5928, 2263} +, { 1,263, 2.33586, 12.6277,137.2828, 30.7560,720.4240, 2264} +, { 1,264, 3.81002, 51.6565, 19.9044, 25.1640,723.9693, 2265} +, { 1,265, 3.69973, 44.6270, 25.4938, 25.1640,723.8004, 2266} +, { 1,266, 3.58950, 38.9925, 31.0833, 25.1640,723.6316, 2267} +, { 1,267, 3.48319, 34.4570, 36.6727, 25.1640,723.4628, 2268} +, { 1,268, 3.38250, 30.7707, 42.2622, 25.1640,723.2940, 2269} +, { 1,269, 3.28794, 27.7388, 47.8516, 25.1640,723.1252, 2270} +, { 1,270, 3.19945, 25.2145, 53.4411, 25.1640,722.9563, 2271} +, { 1,271, 3.11669, 23.0880, 59.0305, 25.1640,722.7875, 2272} +, { 1,272, 3.03920, 21.2767, 64.6200, 25.1640,722.6187, 2273} +, { 1,273, 2.96654, 19.7184, 70.2094, 25.1640,722.4499, 2274} +, { 1,274, 2.89824, 18.3653, 75.7989, 25.1640,722.2811, 2275} +, { 1,275, 2.83391, 17.1808, 81.3883, 25.1640,722.1122, 2276} +, { 1,276, 2.77316, 16.1360, 86.9778, 25.1640,721.9434, 2277} +, { 1,277, 2.71566, 15.2081, 92.5672, 25.1640,721.7746, 2278} +, { 1,278, 2.66113, 14.3790, 98.1567, 25.1640,721.6058, 2279} +, { 1,279, 2.60929, 13.6340,103.7461, 25.1640,721.4369, 2280} +, { 1,280, 2.55992, 12.9611,109.3356, 25.1640,721.2681, 2281} +, { 1,281, 2.51282, 12.3506,114.9250, 25.1640,721.0993, 2282} +, { 1,282, 2.46779, 11.7942,120.5145, 25.1640,720.9305, 2283} +, { 1,283, 2.42469, 11.2851,126.1039, 25.1640,720.7617, 2284} +, { 1,284, 2.38336, 10.8177,131.6934, 25.1640,720.5928, 2285} +, { 1,285, 2.34367, 10.3870,137.2828, 25.1640,720.4240, 2286} +, { 1,286, 3.94910, 44.5176, 19.9044, 19.5720,723.9693, 2287} +, { 1,287, 3.80805, 37.5140, 25.4938, 19.5720,723.8004, 2288} +, { 1,288, 3.67443, 32.1971, 31.0833, 19.5720,723.6316, 2289} +, { 1,289, 3.55067, 28.0886, 36.6727, 19.5720,723.4628, 2290} +, { 1,290, 3.43695, 24.8493, 42.2622, 19.5720,723.2940, 2291} +, { 1,291, 3.33256, 22.2453, 47.8516, 19.5720,723.1252, 2292} +, { 1,292, 3.23653, 20.1145, 53.4411, 19.5720,722.9563, 2293} +, { 1,293, 3.14791, 18.3433, 59.0305, 19.5720,722.7875, 2294} +, { 1,294, 3.06580, 16.8504, 64.6200, 19.5720,722.6187, 2295} +, { 1,295, 2.98943, 15.5767, 70.2094, 19.5720,722.4499, 2296} +, { 1,296, 2.91813, 14.4781, 75.7989, 19.5720,722.2811, 2297} +, { 1,297, 2.85133, 13.5216, 81.3883, 19.5720,722.1122, 2298} +, { 1,298, 2.78853, 12.6816, 86.9778, 19.5720,721.9434, 2299} +, { 1,299, 2.72933, 11.9385, 92.5672, 19.5720,721.7746, 2300} +, { 1,300, 2.67334, 11.2766, 98.1567, 19.5720,721.6058, 2301} +, { 1,301, 2.62027, 10.6835,103.7461, 19.5720,721.4369, 2302} +, { 1,302, 2.56984, 10.1489,109.3356, 19.5720,721.2681, 2303} +, { 1,303, 2.52182, 9.6649,114.9250, 19.5720,721.0993, 2304} +, { 1,304, 2.47600, 9.2245,120.5145, 19.5720,720.9305, 2305} +, { 1,305, 2.43219, 8.8222,126.1039, 19.5720,720.7617, 2306} +, { 1,306, 2.39025, 8.4533,131.6934, 19.5720,720.5928, 2307} +, { 1,307, 2.35002, 8.1138,137.2828, 19.5720,720.4240, 2308} +, { 1,308, 4.08674, 35.0826, 19.9044, 13.9800,723.9693, 2309} +, { 1,309, 3.90818, 28.7390, 25.4938, 13.9800,723.8004, 2310} +, { 1,310, 3.74920, 24.2163, 31.0833, 13.9800,723.6316, 2311} +, { 1,311, 3.60806, 20.8673, 36.6727, 13.9800,723.4628, 2312} +, { 1,312, 3.48210, 18.3038, 42.2622, 13.9800,723.2940, 2313} +, { 1,313, 3.36886, 16.2859, 47.8516, 13.9800,723.1252, 2314} +, { 1,314, 3.26628, 14.6599, 53.4411, 13.9800,722.9563, 2315} +, { 1,315, 3.17268, 13.3237, 59.0305, 13.9800,722.7875, 2316} +, { 1,316, 3.08672, 12.2073, 64.6200, 13.9800,722.6187, 2317} +, { 1,317, 3.00732, 11.2614, 70.2094, 13.9800,722.4499, 2318} +, { 1,318, 2.93359, 10.4499, 75.7989, 13.9800,722.2811, 2319} +, { 1,319, 2.86481, 9.7465, 81.3883, 13.9800,722.1122, 2320} +, { 1,320, 2.80039, 9.1311, 86.9778, 13.9800,721.9434, 2321} +, { 1,321, 2.73983, 8.5882, 92.5672, 13.9800,721.7746, 2322} +, { 1,322, 2.68271, 8.1059, 98.1567, 13.9800,721.6058, 2323} +, { 1,323, 2.62867, 7.6745,103.7461, 13.9800,721.4369, 2324} +, { 1,324, 2.57742, 7.2865,109.3356, 13.9800,721.2681, 2325} +, { 1,325, 2.52868, 6.9356,114.9250, 13.9800,721.0993, 2326} +, { 1,326, 2.48224, 6.6169,120.5145, 13.9800,720.9305, 2327} +, { 1,327, 2.43790, 6.3260,126.1039, 13.9800,720.7617, 2328} +, { 1,328, 2.39548, 6.0596,131.6934, 13.9800,720.5928, 2329} +, { 1,329, 2.35483, 5.8146,137.2828, 13.9800,720.4240, 2330} +, { 1,330, 4.20544, 22.8513, 19.9044, 8.3880,723.9693, 2331} +, { 1,331, 3.98818, 18.2123, 25.4938, 8.3880,723.8004, 2332} +, { 1,332, 3.80611, 15.1019, 31.0833, 8.3880,723.6316, 2333} +, { 1,333, 3.65034, 12.8834, 36.6727, 8.3880,723.4628, 2334} +, { 1,334, 3.51464, 11.2259, 42.2622, 8.3880,723.2940, 2335} +, { 1,335, 3.39462, 9.9425, 47.8516, 8.3880,723.1252, 2336} +, { 1,336, 3.28714, 8.9202, 53.4411, 8.3880,722.9563, 2337} +, { 1,337, 3.18991, 8.0874, 59.0305, 8.3880,722.7875, 2338} +, { 1,338, 3.10118, 7.3959, 64.6200, 8.3880,722.6187, 2339} +, { 1,339, 3.01961, 6.8129, 70.2094, 8.3880,722.4499, 2340} +, { 1,340, 2.94417, 6.3147, 75.7989, 8.3880,722.2811, 2341} +, { 1,341, 2.87401, 5.8842, 81.3883, 8.3880,722.1122, 2342} +, { 1,342, 2.80846, 5.5085, 86.9778, 8.3880,721.9434, 2343} +, { 1,343, 2.74696, 5.1777, 92.5672, 8.3880,721.7746, 2344} +, { 1,344, 2.68905, 4.8844, 98.1567, 8.3880,721.6058, 2345} +, { 1,345, 2.63435, 4.6224,103.7461, 8.3880,721.4369, 2346} +, { 1,346, 2.58253, 4.3870,109.3356, 8.3880,721.2681, 2347} +, { 1,347, 2.53331, 4.1744,114.9250, 8.3880,721.0993, 2348} +, { 1,348, 2.48645, 3.9815,120.5145, 8.3880,720.9305, 2349} +, { 1,349, 2.44174, 3.8055,126.1039, 8.3880,720.7617, 2350} +, { 1,350, 2.39900, 3.6444,131.6934, 8.3880,720.5928, 2351} +, { 1,351, 2.35807, 3.4964,137.2828, 8.3880,720.4240, 2352} +, { 1,352, 4.27738, 7.9961, 19.9044, 2.7960,723.9693, 2353} +, { 1,353, 4.03356, 6.2588, 25.4938, 2.7960,723.8004, 2354} +, { 1,354, 3.83720, 5.1400, 31.0833, 2.7960,723.6316, 2355} +, { 1,355, 3.67291, 4.3599, 36.6727, 2.7960,723.4628, 2356} +, { 1,356, 3.53174, 3.7851, 42.2622, 2.7960,723.2940, 2357} +, { 1,357, 3.40802, 3.3440, 47.8516, 2.7960,723.1252, 2358} +, { 1,358, 3.29792, 2.9949, 53.4411, 2.7960,722.9563, 2359} +, { 1,359, 3.19875, 2.7118, 59.0305, 2.7960,722.7875, 2360} +, { 1,360, 3.10857, 2.4776, 64.6200, 2.7960,722.6187, 2361} +, { 1,361, 3.02588, 2.2805, 70.2094, 2.7960,722.4499, 2362} +, { 1,362, 2.94954, 2.1125, 75.7989, 2.7960,722.2811, 2363} +, { 1,363, 2.87867, 1.9676, 81.3883, 2.7960,722.1122, 2364} +, { 1,364, 2.81254, 1.8412, 86.9778, 2.7960,721.9434, 2365} +, { 1,365, 2.75056, 1.7301, 92.5672, 2.7960,721.7746, 2366} +, { 1,366, 2.69225, 1.6316, 98.1567, 2.7960,721.6058, 2367} +, { 1,367, 2.63722, 1.5438,103.7461, 2.7960,721.4369, 2368} +, { 1,368, 2.58511, 1.4649,109.3356, 2.7960,721.2681, 2369} +, { 1,369, 2.53564, 1.3937,114.9250, 2.7960,721.0993, 2370} +, { 1,370, 2.48857, 1.3291,120.5145, 2.7960,720.9305, 2371} +, { 1,371, 2.44367, 1.2702,126.1039, 2.7960,720.7617, 2372} +, { 1,372, 2.40077, 1.2163,131.6934, 2.7960,720.5928, 2373} +, { 1,373, 2.35970, 1.1668,137.2828, 2.7960,720.4240, 2374} +, { 1,374, 4.27738, -7.9961, 19.9044, -2.7960,723.9693, 2375} +, { 1,375, 4.03356, -6.2588, 25.4938, -2.7960,723.8004, 2376} +, { 1,376, 3.83720, -5.1400, 31.0833, -2.7960,723.6316, 2377} +, { 1,377, 3.67291, -4.3599, 36.6727, -2.7960,723.4628, 2378} +, { 1,378, 3.53174, -3.7851, 42.2622, -2.7960,723.2940, 2379} +, { 1,379, 3.40802, -3.3440, 47.8516, -2.7960,723.1252, 2380} +, { 1,380, 3.29792, -2.9949, 53.4411, -2.7960,722.9563, 2381} +, { 1,381, 3.19875, -2.7118, 59.0305, -2.7960,722.7875, 2382} +, { 1,382, 3.10857, -2.4775, 64.6200, -2.7960,722.6187, 2383} +, { 1,383, 3.02588, -2.2805, 70.2094, -2.7960,722.4499, 2384} +, { 1,384, 2.94954, -2.1125, 75.7989, -2.7960,722.2811, 2385} +, { 1,385, 2.87867, -1.9676, 81.3883, -2.7960,722.1122, 2386} +, { 1,386, 2.81254, -1.8412, 86.9778, -2.7960,721.9434, 2387} +, { 1,387, 2.75056, -1.7301, 92.5672, -2.7960,721.7746, 2388} +, { 1,388, 2.69225, -1.6316, 98.1567, -2.7960,721.6058, 2389} +, { 1,389, 2.63722, -1.5438,103.7461, -2.7960,721.4369, 2390} +, { 1,390, 2.58511, -1.4649,109.3356, -2.7960,721.2681, 2391} +, { 1,391, 2.53564, -1.3937,114.9250, -2.7960,721.0993, 2392} +, { 1,392, 2.48857, -1.3291,120.5145, -2.7960,720.9305, 2393} +, { 1,393, 2.44367, -1.2702,126.1039, -2.7960,720.7617, 2394} +, { 1,394, 2.40077, -1.2163,131.6934, -2.7960,720.5928, 2395} +, { 1,395, 2.35970, -1.1668,137.2828, -2.7960,720.4240, 2396} +, { 1,396, 4.20544,-22.8513, 19.9044, -8.3880,723.9693, 2397} +, { 1,397, 3.98818,-18.2123, 25.4938, -8.3880,723.8004, 2398} +, { 1,398, 3.80611,-15.1019, 31.0833, -8.3880,723.6316, 2399} +, { 1,399, 3.65034,-12.8834, 36.6727, -8.3880,723.4628, 2400} +, { 1,400, 3.51464,-11.2259, 42.2622, -8.3880,723.2940, 2401} +, { 1,401, 3.39462, -9.9425, 47.8516, -8.3880,723.1252, 2402} +, { 1,402, 3.28714, -8.9203, 53.4411, -8.3880,722.9563, 2403} +, { 1,403, 3.18991, -8.0874, 59.0305, -8.3880,722.7875, 2404} +, { 1,404, 3.10118, -7.3959, 64.6200, -8.3880,722.6187, 2405} +, { 1,405, 3.01961, -6.8129, 70.2094, -8.3880,722.4499, 2406} +, { 1,406, 2.94417, -6.3147, 75.7989, -8.3880,722.2811, 2407} +, { 1,407, 2.87401, -5.8842, 81.3883, -8.3880,722.1122, 2408} +, { 1,408, 2.80846, -5.5085, 86.9778, -8.3880,721.9434, 2409} +, { 1,409, 2.74696, -5.1777, 92.5672, -8.3880,721.7746, 2410} +, { 1,410, 2.68905, -4.8844, 98.1567, -8.3880,721.6058, 2411} +, { 1,411, 2.63435, -4.6224,103.7461, -8.3880,721.4369, 2412} +, { 1,412, 2.58253, -4.3870,109.3356, -8.3880,721.2681, 2413} +, { 1,413, 2.53331, -4.1744,114.9250, -8.3880,721.0993, 2414} +, { 1,414, 2.48645, -3.9815,120.5145, -8.3880,720.9305, 2415} +, { 1,415, 2.44174, -3.8055,126.1039, -8.3880,720.7617, 2416} +, { 1,416, 2.39900, -3.6444,131.6934, -8.3880,720.5928, 2417} +, { 1,417, 2.35807, -3.4964,137.2828, -8.3880,720.4240, 2418} +, { 1,418, 4.08674,-35.0826, 19.9044,-13.9800,723.9693, 2419} +, { 1,419, 3.90818,-28.7390, 25.4938,-13.9800,723.8004, 2420} +, { 1,420, 3.74920,-24.2163, 31.0833,-13.9800,723.6316, 2421} +, { 1,421, 3.60806,-20.8673, 36.6727,-13.9800,723.4628, 2422} +, { 1,422, 3.48210,-18.3038, 42.2622,-13.9800,723.2940, 2423} +, { 1,423, 3.36886,-16.2859, 47.8516,-13.9800,723.1252, 2424} +, { 1,424, 3.26628,-14.6599, 53.4411,-13.9800,722.9563, 2425} +, { 1,425, 3.17268,-13.3237, 59.0305,-13.9800,722.7875, 2426} +, { 1,426, 3.08672,-12.2073, 64.6200,-13.9800,722.6187, 2427} +, { 1,427, 3.00732,-11.2614, 70.2094,-13.9800,722.4499, 2428} +, { 1,428, 2.93359,-10.4499, 75.7989,-13.9800,722.2811, 2429} +, { 1,429, 2.86481, -9.7465, 81.3883,-13.9800,722.1122, 2430} +, { 1,430, 2.80039, -9.1311, 86.9778,-13.9800,721.9434, 2431} +, { 1,431, 2.73983, -8.5882, 92.5672,-13.9800,721.7746, 2432} +, { 1,432, 2.68271, -8.1059, 98.1567,-13.9800,721.6058, 2433} +, { 1,433, 2.62867, -7.6745,103.7461,-13.9800,721.4369, 2434} +, { 1,434, 2.57742, -7.2865,109.3356,-13.9800,721.2681, 2435} +, { 1,435, 2.52868, -6.9356,114.9250,-13.9800,721.0993, 2436} +, { 1,436, 2.48224, -6.6169,120.5145,-13.9800,720.9305, 2437} +, { 1,437, 2.43790, -6.3260,126.1039,-13.9800,720.7617, 2438} +, { 1,438, 2.39548, -6.0596,131.6934,-13.9800,720.5928, 2439} +, { 1,439, 2.35483, -5.8146,137.2828,-13.9800,720.4240, 2440} +, { 1,440, 3.94910,-44.5176, 19.9044,-19.5720,723.9693, 2441} +, { 1,441, 3.80805,-37.5140, 25.4938,-19.5720,723.8004, 2442} +, { 1,442, 3.67443,-32.1971, 31.0833,-19.5720,723.6316, 2443} +, { 1,443, 3.55067,-28.0886, 36.6727,-19.5720,723.4628, 2444} +, { 1,444, 3.43695,-24.8493, 42.2622,-19.5720,723.2940, 2445} +, { 1,445, 3.33256,-22.2453, 47.8516,-19.5720,723.1252, 2446} +, { 1,446, 3.23653,-20.1145, 53.4411,-19.5720,722.9563, 2447} +, { 1,447, 3.14791,-18.3433, 59.0305,-19.5720,722.7875, 2448} +, { 1,448, 3.06580,-16.8504, 64.6200,-19.5720,722.6187, 2449} +, { 1,449, 2.98943,-15.5767, 70.2094,-19.5720,722.4499, 2450} +, { 1,450, 2.91813,-14.4781, 75.7989,-19.5720,722.2811, 2451} +, { 1,451, 2.85133,-13.5216, 81.3883,-19.5720,722.1122, 2452} +, { 1,452, 2.78853,-12.6816, 86.9778,-19.5720,721.9434, 2453} +, { 1,453, 2.72933,-11.9385, 92.5672,-19.5720,721.7746, 2454} +, { 1,454, 2.67334,-11.2766, 98.1567,-19.5720,721.6058, 2455} +, { 1,455, 2.62027,-10.6835,103.7461,-19.5720,721.4369, 2456} +, { 1,456, 2.56984,-10.1489,109.3356,-19.5720,721.2681, 2457} +, { 1,457, 2.52182, -9.6649,114.9250,-19.5720,721.0993, 2458} +, { 1,458, 2.47600, -9.2245,120.5145,-19.5720,720.9305, 2459} +, { 1,459, 2.43219, -8.8222,126.1039,-19.5720,720.7617, 2460} +, { 1,460, 2.39025, -8.4533,131.6934,-19.5720,720.5928, 2461} +, { 1,461, 2.35002, -8.1138,137.2828,-19.5720,720.4240, 2462} +, { 1,462, 3.81002,-51.6565, 19.9044,-25.1640,723.9693, 2463} +, { 1,463, 3.69973,-44.6270, 25.4938,-25.1640,723.8004, 2464} +, { 1,464, 3.58950,-38.9925, 31.0833,-25.1640,723.6316, 2465} +, { 1,465, 3.48319,-34.4570, 36.6727,-25.1640,723.4628, 2466} +, { 1,466, 3.38250,-30.7707, 42.2622,-25.1640,723.2940, 2467} +, { 1,467, 3.28794,-27.7388, 47.8516,-25.1640,723.1252, 2468} +, { 1,468, 3.19945,-25.2145, 53.4411,-25.1640,722.9563, 2469} +, { 1,469, 3.11669,-23.0880, 59.0305,-25.1640,722.7875, 2470} +, { 1,470, 3.03920,-21.2767, 64.6200,-25.1640,722.6187, 2471} +, { 1,471, 2.96654,-19.7184, 70.2094,-25.1640,722.4499, 2472} +, { 1,472, 2.89824,-18.3653, 75.7989,-25.1640,722.2811, 2473} +, { 1,473, 2.83391,-17.1808, 81.3883,-25.1640,722.1122, 2474} +, { 1,474, 2.77316,-16.1360, 86.9778,-25.1640,721.9434, 2475} +, { 1,475, 2.71566,-15.2081, 92.5672,-25.1640,721.7746, 2476} +, { 1,476, 2.66113,-14.3790, 98.1567,-25.1640,721.6058, 2477} +, { 1,477, 2.60929,-13.6340,103.7461,-25.1640,721.4369, 2478} +, { 1,478, 2.55992,-12.9611,109.3356,-25.1640,721.2681, 2479} +, { 1,479, 2.51282,-12.3506,114.9250,-25.1640,721.0993, 2480} +, { 1,480, 2.46779,-11.7942,120.5145,-25.1640,720.9305, 2481} +, { 1,481, 2.42469,-11.2851,126.1039,-25.1640,720.7617, 2482} +, { 1,482, 2.38336,-10.8177,131.6934,-25.1640,720.5928, 2483} +, { 1,483, 2.34367,-10.3870,137.2828,-25.1640,720.4240, 2484} +, { 1,484, 3.67753,-57.0903, 19.9044,-30.7560,723.9693, 2485} +, { 1,485, 3.59084,-50.3445, 25.4938,-30.7560,723.8004, 2486} +, { 1,486, 3.50036,-44.6968, 31.0833,-30.7560,723.6316, 2487} +, { 1,487, 3.40996,-39.9853, 36.6727,-30.7560,723.4628, 2488} +, { 1,488, 3.32187,-36.0450, 42.2622,-30.7560,723.2940, 2489} +, { 1,489, 3.23727,-32.7304, 47.8516,-30.7560,723.1252, 2490} +, { 1,490, 3.15668,-29.9210, 53.4411,-30.7560,722.9563, 2491} +, { 1,491, 3.08024,-27.5204, 59.0305,-30.7560,722.7875, 2492} +, { 1,492, 3.00785,-25.4522, 64.6200,-30.7560,722.6187, 2493} +, { 1,493, 2.93934,-23.6563, 70.2094,-30.7560,722.4499, 2494} +, { 1,494, 2.87446,-22.0852, 75.7989,-30.7560,722.2811, 2495} +, { 1,495, 2.81296,-20.7012, 81.3883,-30.7560,722.1122, 2496} +, { 1,496, 2.75459,-19.4740, 86.9778,-30.7560,721.9434, 2497} +, { 1,497, 2.69910,-18.3794, 92.5672,-30.7560,721.7746, 2498} +, { 1,498, 2.64628,-17.3976, 98.1567,-30.7560,721.6058, 2499} +, { 1,499, 2.59590,-16.5127,103.7461,-30.7560,721.4369, 2500} +, { 1,500, 2.54780,-15.7112,109.3356,-30.7560,721.2681, 2501} +, { 1,501, 2.50180,-14.9823,114.9250,-30.7560,721.0993, 2502} +, { 1,502, 2.45773,-14.3166,120.5145,-30.7560,720.9305, 2503} +, { 1,503, 2.41547,-13.7065,126.1039,-30.7560,720.7617, 2504} +, { 1,504, 2.37488,-13.1454,131.6934,-30.7560,720.5928, 2505} +, { 1,505, 2.33586,-12.6277,137.2828,-30.7560,720.4240, 2506} +, { 1,506, 3.55444,-61.2947, 19.9044,-36.3480,723.9693, 2507} +, { 1,507, 3.48543,-54.9549, 25.4938,-36.3480,723.8004, 2508} +, { 1,508, 3.41095,-49.4643, 31.0833,-36.3480,723.6316, 2509} +, { 1,509, 3.33429,-44.7452, 36.6727,-36.3480,723.4628, 2510} +, { 1,510, 3.25769,-40.6975, 42.2622,-36.3480,723.2940, 2511} +, { 1,511, 3.18259,-37.2202, 47.8516,-36.3480,723.1252, 2512} +, { 1,512, 3.10980,-34.2216, 53.4411,-36.3480,722.9563, 2513} +, { 1,513, 3.03977,-31.6227, 59.0305,-36.3480,722.7875, 2514} +, { 1,514, 2.97268,-29.3573, 64.6200,-36.3480,722.6187, 2515} +, { 1,515, 2.90856,-27.3710, 70.2094,-36.3480,722.4499, 2516} +, { 1,516, 2.84736,-25.6192, 75.7989,-36.3480,722.2811, 2517} +, { 1,517, 2.78895,-24.0655, 81.3883,-36.3480,722.1122, 2518} +, { 1,518, 2.73320,-22.6800, 86.9778,-36.3480,721.9434, 2519} +, { 1,519, 2.67994,-21.4382, 92.5672,-36.3480,721.7746, 2520} +, { 1,520, 2.62903,-20.3199, 98.1567,-36.3480,721.6058, 2521} +, { 1,521, 2.58031,-19.3082,103.7461,-36.3480,721.4369, 2522} +, { 1,522, 2.53364,-18.3891,109.3356,-36.3480,721.2681, 2523} +, { 1,523, 2.48889,-17.5509,114.9250,-36.3480,721.0993, 2524} +, { 1,524, 2.44592,-16.7837,120.5145,-36.3480,720.9305, 2525} +, { 1,525, 2.40463,-16.0790,126.1039,-36.3480,720.7617, 2526} +, { 1,526, 2.36490,-15.4298,131.6934,-36.3480,720.5928, 2527} +, { 1,527, 2.32664,-14.8298,137.2828,-36.3480,720.4240, 2528} +, { 1,528, 3.44112,-64.6114, 19.9044,-41.9400,723.9693, 2529} +, { 1,529, 3.38535,-58.7061, 25.4938,-41.9400,723.8004, 2530} +, { 1,530, 3.32359,-53.4565, 31.0833,-41.9400,723.6316, 2531} +, { 1,531, 3.25848,-48.8333, 36.6727,-41.9400,723.4628, 2532} +, { 1,532, 3.19200,-44.7808, 42.2622,-41.9400,723.2940, 2533} +, { 1,533, 3.12558,-41.2332, 47.8516,-41.9400,723.1252, 2534} +, { 1,534, 3.06017,-38.1245, 53.4411,-41.9400,722.9563, 2535} +, { 1,535, 2.99638,-35.3930, 59.0305,-41.9400,722.7875, 2536} +, { 1,536, 2.93457,-32.9846, 64.6200,-41.9400,722.6187, 2537} +, { 1,537, 2.87492,-30.8522, 70.2094,-41.9400,722.4499, 2538} +, { 1,538, 2.81751,-28.9560, 75.7989,-41.9400,722.2811, 2539} +, { 1,539, 2.76234,-27.2624, 81.3883,-41.9400,722.1122, 2540} +, { 1,540, 2.70936,-25.7430, 86.9778,-41.9400,721.9434, 2541} +, { 1,541, 2.65849,-24.3741, 92.5672,-41.9400,721.7746, 2542} +, { 1,542, 2.60964,-23.1359, 98.1567,-41.9400,721.6058, 2543} +, { 1,543, 2.56272,-22.0113,103.7461,-41.9400,721.4369, 2544} +, { 1,544, 2.51763,-20.9863,109.3356,-41.9400,721.2681, 2545} +, { 1,545, 2.47425,-20.0487,114.9250,-41.9400,721.0993, 2546} +, { 1,546, 2.43250,-19.1883,120.5145,-41.9400,720.9305, 2547} +, { 1,547, 2.39229,-18.3962,126.1039,-41.9400,720.7617, 2548} +, { 1,548, 2.35352,-17.6650,131.6934,-41.9400,720.5928, 2549} +, { 1,549, 2.31611,-16.9879,137.2828,-41.9400,720.4240, 2550} +, { 1,550, 3.33697,-67.2782, 19.9044,-47.5320,723.9693, 2551} +, { 1,551, 3.29123,-61.7931, 25.4938,-47.5320,723.8004, 2552} +, { 1,552, 3.23955,-56.8176, 31.0833,-47.5320,723.6316, 2553} +, { 1,553, 3.18399,-52.3485, 36.6727,-47.5320,723.4628, 2554} +, { 1,554, 3.12623,-48.3587, 42.2622,-47.5320,723.2940, 2555} +, { 1,555, 3.06756,-44.8080, 47.8516,-47.5320,723.1252, 2556} +, { 1,556, 3.00894,-41.6508, 53.4411,-47.5320,722.9563, 2557} +, { 1,557, 2.95105,-38.8414, 59.0305,-47.5320,722.7875, 2558} +, { 1,558, 2.89434,-36.3368, 64.6200,-47.5320,722.6187, 2559} +, { 1,559, 2.83909,-34.0981, 70.2094,-47.5320,722.4499, 2560} +, { 1,560, 2.78548,-32.0910, 75.7989,-47.5320,722.2811, 2561} +, { 1,561, 2.73359,-30.2856, 81.3883,-47.5320,722.1122, 2562} +, { 1,562, 2.68346,-28.6559, 86.9778,-47.5320,721.9434, 2563} +, { 1,563, 2.63507,-27.1799, 92.5672,-47.5320,721.7746, 2564} +, { 1,564, 2.58839,-25.8384, 98.1567,-47.5320,721.6058, 2565} +, { 1,565, 2.54337,-24.6152,103.7461,-47.5320,721.4369, 2566} +, { 1,566, 2.49994,-23.4963,109.3356,-47.5320,721.2681, 2567} +, { 1,567, 2.45805,-22.4696,114.9250,-47.5320,721.0993, 2568} +, { 1,568, 2.41760,-21.5247,120.5145,-47.5320,720.9305, 2569} +, { 1,569, 2.37855,-20.6528,126.1039,-47.5320,720.7617, 2570} +, { 1,570, 2.34082,-19.8460,131.6934,-47.5320,720.5928, 2571} +, { 1,571, 2.30435,-19.0976,137.2828,-47.5320,720.4240, 2572} +, { 1,572, 3.24112,-69.4602, 19.9044,-53.1240,723.9693, 2573} +, { 1,573, 3.20306,-64.3640, 25.4938,-53.1240,723.8004, 2574} +, { 1,574, 3.15939,-59.6678, 31.0833,-53.1240,723.6316, 2575} +, { 1,575, 3.11170,-55.3818, 36.6727,-53.1240,723.4628, 2576} +, { 1,576, 3.06136,-51.4964, 42.2622,-53.1240,723.2940, 2577} +, { 1,577, 3.00950,-47.9890, 47.8516,-53.1240,723.1252, 2578} +, { 1,578, 2.95701,-44.8295, 53.4411,-53.1240,722.9563, 2579} +, { 1,579, 2.90458,-41.9854, 59.0305,-53.1240,722.7875, 2580} +, { 1,580, 2.85268,-39.4236, 64.6200,-53.1240,722.6187, 2581} +, { 1,581, 2.80167,-37.1130, 70.2094,-53.1240,722.4499, 2582} +, { 1,582, 2.75177,-35.0249, 75.7989,-53.1240,722.2811, 2583} +, { 1,583, 2.70314,-33.1334, 81.3883,-53.1240,722.1122, 2584} +, { 1,584, 2.65587,-31.4156, 86.9778,-53.1240,721.9434, 2585} +, { 1,585, 2.61000,-29.8514, 92.5672,-53.1240,721.7746, 2586} +, { 1,586, 2.56554,-28.4230, 98.1567,-53.1240,721.6058, 2587} +, { 1,587, 2.52248,-27.1151,103.7461,-53.1240,721.4369, 2588} +, { 1,588, 2.48079,-25.9142,109.3356,-53.1240,721.2681, 2589} +, { 1,589, 2.44044,-24.8087,114.9250,-53.1240,721.0993, 2590} +, { 1,590, 2.40138,-23.7884,120.5145,-53.1240,720.9305, 2591} +, { 1,591, 2.36356,-22.8443,126.1039,-53.1240,720.7617, 2592} +, { 1,592, 2.32693,-21.9687,131.6934,-53.1240,720.5928, 2593} +, { 1,593, 2.29145,-21.1548,137.2828,-53.1240,720.4240, 2594} +, { 1,594, 3.15262,-71.2737, 19.9044,-58.7160,723.9693, 2595} +, { 1,595, 3.12055,-66.5301, 25.4938,-58.7160,723.8004, 2596} +, { 1,596, 3.08329,-62.1040, 31.0833,-58.7160,723.6316, 2597} +, { 1,597, 3.04208,-58.0120, 36.6727,-58.7160,723.4628, 2598} +, { 1,598, 2.99802,-54.2547, 42.2622,-58.7160,723.2940, 2599} +, { 1,599, 2.95209,-50.8211, 47.8516,-58.7160,723.1252, 2600} +, { 1,600, 2.90507,-47.6927, 53.4411,-58.7160,722.9563, 2601} +, { 1,601, 2.85760,-44.8470, 59.0305,-58.7160,722.7875, 2602} +, { 1,602, 2.81018,-42.2594, 64.6200,-58.7160,722.6187, 2603} +, { 1,603, 2.76317,-39.9057, 70.2094,-58.7160,722.4499, 2604} +, { 1,604, 2.71684,-37.7624, 75.7989,-58.7160,722.2811, 2605} +, { 1,605, 2.67138,-35.8078, 81.3883,-58.7160,722.1122, 2606} +, { 1,606, 2.62693,-34.0221, 86.9778,-58.7160,721.9434, 2607} +, { 1,607, 2.58357,-32.3872, 92.5672,-58.7160,721.7746, 2608} +, { 1,608, 2.54134,-30.8873, 98.1567,-58.7160,721.6058, 2609} +, { 1,609, 2.50027,-29.5081,103.7461,-58.7160,721.4369, 2610} +, { 1,610, 2.46036,-28.2369,109.3356,-58.7160,721.2681, 2611} +, { 1,611, 2.42159,-27.0628,114.9250,-58.7160,721.0993, 2612} +, { 1,612, 2.38396,-25.9759,120.5145,-58.7160,720.9305, 2613} +, { 1,613, 2.34742,-24.9674,126.1039,-58.7160,720.7617, 2614} +, { 1,614, 2.31195,-24.0299,131.6934,-58.7160,720.5928, 2615} +, { 1,615, 2.27752,-23.1564,137.2828,-58.7160,720.4240, 2616} +, { 1,616, 3.07062,-72.8019, 19.9044,-64.3080,723.9693, 2617} +, { 1,617, 3.04327,-68.3750, 25.4938,-64.3080,723.8004, 2618} +, { 1,618, 3.01119,-64.2032, 31.0833,-64.3080,723.6316, 2619} +, { 1,619, 2.97534,-60.3053, 36.6727,-64.3080,723.4628, 2620} +, { 1,620, 2.93660,-56.6877, 42.2622,-64.3080,723.2940, 2621} +, { 1,621, 2.89579,-53.3470, 47.8516,-64.3080,723.1252, 2622} +, { 1,622, 2.85360,-50.2728, 53.4411,-64.3080,722.9563, 2623} +, { 1,623, 2.81062,-47.4501, 59.0305,-64.3080,722.7875, 2624} +, { 1,624, 2.76730,-44.8614, 64.6200,-64.3080,722.6187, 2625} +, { 1,625, 2.72403,-42.4880, 70.2094,-64.3080,722.4499, 2626} +, { 1,626, 2.68108,-40.3114, 75.7989,-64.3080,722.2811, 2627} +, { 1,627, 2.63867,-38.3136, 81.3883,-64.3080,722.1122, 2628} +, { 1,628, 2.59696,-36.4778, 86.9778,-64.3080,721.9434, 2629} +, { 1,629, 2.55606,-34.7884, 92.5672,-64.3080,721.7746, 2630} +, { 1,630, 2.51604,-33.2311, 98.1567,-64.3080,721.6058, 2631} +, { 1,631, 2.47696,-31.7931,103.7461,-64.3080,721.4369, 2632} +, { 1,632, 2.43883,-30.4628,109.3356,-64.3080,721.2681, 2633} +, { 1,633, 2.40168,-29.2298,114.9250,-64.3080,721.0993, 2634} +, { 1,634, 2.36550,-28.0849,120.5145,-64.3080,720.9305, 2635} +, { 1,635, 2.33028,-27.0198,126.1039,-64.3080,720.7617, 2636} +, { 1,636, 2.29600,-26.0270,131.6934,-64.3080,720.5928, 2637} +, { 1,637, 2.26264,-25.1000,137.2828,-64.3080,720.4240, 2638} +, { 1,638, 2.99436,-74.1054, 19.9044,-69.9000,723.9693, 2639} +, { 1,639, 2.97079,-69.9622, 25.4938,-69.9000,723.8004, 2640} +, { 1,640, 2.94293,-66.0262, 31.0833,-69.9000,723.6316, 2641} +, { 1,641, 2.91152,-62.3165, 36.6727,-69.9000,723.4628, 2642} +, { 1,642, 2.87729,-58.8425, 42.2622,-69.9000,723.2940, 2643} +, { 1,643, 2.84091,-55.6055, 47.8516,-69.9000,723.1252, 2644} +, { 1,644, 2.80297,-52.6008, 53.4411,-69.9000,722.9563, 2645} +, { 1,645, 2.76400,-49.8189, 59.0305,-69.9000,722.7875, 2646} +, { 1,646, 2.72443,-47.2478, 64.6200,-69.9000,722.6187, 2647} +, { 1,647, 2.68461,-44.8735, 70.2094,-69.9000,722.4499, 2648} +, { 1,648, 2.64483,-42.6815, 75.7989,-69.9000,722.2811, 2649} +, { 1,649, 2.60531,-40.6575, 81.3883,-69.9000,722.1122, 2650} +, { 1,650, 2.56623,-38.7872, 86.9778,-69.9000,721.9434, 2651} +, { 1,651, 2.52771,-37.0574, 92.5672,-69.9000,721.7746, 2652} +, { 1,652, 2.48986,-35.4557, 98.1567,-69.9000,721.6058, 2653} +, { 1,653, 2.45274,-33.9705,103.7461,-69.9000,721.4369, 2654} +, { 1,654, 2.41639,-32.5914,109.3356,-69.9000,721.2681, 2655} +, { 1,655, 2.38085,-31.3089,114.9250,-69.9000,721.0993, 2656} +, { 1,656, 2.34613,-30.1143,120.5145,-69.9000,720.9305, 2657} +, { 1,657, 2.31224,-28.9998,126.1039,-69.9000,720.7617, 2658} +, { 1,658, 2.27918,-27.9584,131.6934,-69.9000,720.5928, 2659} +, { 1,659, 2.24693,-26.9837,137.2828,-69.9000,720.4240, 2660} +, { 1,660, 2.92316,-75.2294, 19.9044,-75.4920,723.9693, 2661} +, { 1,661, 2.90265,-71.3401, 25.4938,-75.4920,723.8004, 2662} +, { 1,662, 2.87827,-67.6210, 31.0833,-75.4920,723.6316, 2663} +, { 1,663, 2.85058,-64.0903, 36.6727,-75.4920,723.4628, 2664} +, { 1,664, 2.82018,-60.7589, 42.2622,-75.4920,723.2940, 2665} +, { 1,665, 2.78763,-57.6309, 47.8516,-75.4920,723.1252, 2666} +, { 1,666, 2.75343,-54.7052, 53.4411,-75.4920,722.9563, 2667} +, { 1,667, 2.71804,-51.9766, 59.0305,-75.4920,722.7875, 2668} +, { 1,668, 2.68185,-49.4370, 64.6200,-75.4920,722.6187, 2669} +, { 1,669, 2.64520,-47.0764, 70.2094,-75.4920,722.4499, 2670} +, { 1,670, 2.60837,-44.8838, 75.7989,-75.4920,722.2811, 2671} +, { 1,671, 2.57157,-42.8476, 81.3883,-75.4920,722.1122, 2672} +, { 1,672, 2.53499,-40.9562, 86.9778,-75.4920,721.9434, 2673} +, { 1,673, 2.49876,-39.1985, 92.5672,-75.4920,721.7746, 2674} +, { 1,674, 2.46300,-37.5638, 98.1567,-75.4920,721.6058, 2675} +, { 1,675, 2.42779,-36.0419,103.7461,-75.4920,721.4369, 2676} +, { 1,676, 2.39320,-34.6236,109.3356,-75.4920,721.2681, 2677} +, { 1,677, 2.35925,-33.3001,114.9250,-75.4920,721.0993, 2678} +, { 1,678, 2.32600,-32.0636,120.5145,-75.4920,720.9305, 2679} +, { 1,679, 2.29344,-30.9068,126.1039,-75.4920,720.7617, 2680} +, { 1,680, 2.26159,-29.8231,131.6934,-75.4920,720.5928, 2681} +, { 1,681, 2.23046,-28.8064,137.2828,-75.4920,720.4240, 2682} +, { 1,682, 2.85646,-76.2078, 19.9044,-81.0840,723.9693, 2683} +, { 1,683, 2.83847,-72.5462, 25.4938,-81.0840,723.8004, 2684} +, { 1,684, 2.81697,-69.0259, 31.0833,-81.0840,723.6316, 2685} +, { 1,685, 2.79242,-65.6637, 36.6727,-81.0840,723.4628, 2686} +, { 1,686, 2.76529,-62.4708, 42.2622,-81.0840,723.2940, 2687} +, { 1,687, 2.73604,-59.4531, 47.8516,-81.0840,723.1252, 2688} +, { 1,688, 2.70512,-56.6118, 53.4411,-81.0840,722.9563, 2689} +, { 1,689, 2.67292,-53.9447, 59.0305,-81.0840,722.7875, 2690} +, { 1,690, 2.63979,-51.4469, 64.6200,-81.0840,722.6187, 2691} +, { 1,691, 2.60604,-49.1112, 70.2094,-81.0840,722.4499, 2692} +, { 1,692, 2.57192,-46.9295, 75.7989,-81.0840,722.2811, 2693} +, { 1,693, 2.53766,-44.8927, 81.3883,-81.0840,722.1122, 2694} +, { 1,694, 2.50344,-42.9915, 86.9778,-81.0840,721.9434, 2695} +, { 1,695, 2.46939,-41.2166, 92.5672,-81.0840,721.7746, 2696} +, { 1,696, 2.43565,-39.5590, 98.1567,-81.0840,721.6058, 2697} +, { 1,697, 2.40229,-38.0098,103.7461,-81.0840,721.4369, 2698} +, { 1,698, 2.36940,-36.5609,109.3356,-81.0840,721.2681, 2699} +, { 1,699, 2.33703,-35.2044,114.9250,-81.0840,721.0993, 2700} +, { 1,700, 2.30521,-33.9333,120.5145,-81.0840,720.9305, 2701} +, { 1,701, 2.27398,-32.7407,126.1039,-81.0840,720.7617, 2702} +, { 1,702, 2.24335,-31.6207,131.6934,-81.0840,720.5928, 2703} +, { 1,703, 2.21334,-30.5676,137.2828,-81.0840,720.4240, 2704} +, { 1,704, 2.79377,-77.0668, 19.9044,-86.6760,723.9693, 2705} +, { 1,705, 2.77787,-73.6099, 25.4938,-86.6760,723.8004, 2706} +, { 1,706, 2.75879,-70.2714, 31.0833,-86.6760,723.6316, 2707} +, { 1,707, 2.73688,-67.0667, 36.6727,-86.6760,723.4628, 2708} +, { 1,708, 2.71256,-64.0067, 42.2622,-86.6760,723.2940, 2709} +, { 1,709, 2.68619,-61.0980, 47.8516,-86.6760,723.1252, 2710} +, { 1,710, 2.65815,-58.3436, 53.4411,-86.6760,722.9563, 2711} +, { 1,711, 2.62878,-55.7433, 59.0305,-86.6760,722.7875, 2712} +, { 1,712, 2.59840,-53.2942, 64.6200,-86.6760,722.6187, 2713} +, { 1,713, 2.56728,-50.9918, 70.2094,-86.6760,722.4499, 2714} +, { 1,714, 2.53567,-48.8300, 75.7989,-86.6760,722.2811, 2715} +, { 1,715, 2.50377,-46.8021, 81.3883,-86.6760,722.1122, 2716} +, { 1,716, 2.47176,-44.9004, 86.9778,-86.6760,721.9434, 2717} +, { 1,717, 2.43978,-43.1175, 92.5672,-86.6760,721.7746, 2718} +, { 1,718, 2.40796,-41.4457, 98.1567,-86.6760,721.6058, 2719} +, { 1,719, 2.37639,-39.8775,103.7461,-86.6760,721.4369, 2720} +, { 1,720, 2.34515,-38.4057,109.3356,-86.6760,721.2681, 2721} +, { 1,721, 2.31430,-37.0235,114.9250,-86.6760,721.0993, 2722} +, { 1,722, 2.28390,-35.7243,120.5145,-86.6760,720.9305, 2723} +, { 1,723, 2.25397,-34.5022,126.1039,-86.6760,720.7617, 2724} +, { 1,724, 2.22455,-33.3515,131.6934,-86.6760,720.5928, 2725} +, { 1,725, 2.19566,-32.2670,137.2828,-86.6760,720.4240, 2726} +, { 1,726, 2.73468,-77.8265, 19.9044,-92.2680,723.9693, 2727} +, { 1,727, 2.72053,-74.5544, 25.4938,-92.2680,723.8004, 2728} +, { 1,728, 2.70348,-71.3823, 31.0833,-92.2680,723.6316, 2729} +, { 1,729, 2.68384,-68.3242, 36.6727,-92.2680,723.4628, 2730} +, { 1,730, 2.66192,-65.3905, 42.2622,-92.2680,723.2940, 2731} +, { 1,731, 2.63806,-62.5880, 47.8516,-92.2680,723.1252, 2732} +, { 1,732, 2.61255,-59.9208, 53.4411,-92.2680,722.9563, 2733} +, { 1,733, 2.58571,-57.3900, 59.0305,-92.2680,722.7875, 2734} +, { 1,734, 2.55780,-54.9945, 64.6200,-92.2680,722.6187, 2735} +, { 1,735, 2.52908,-52.7314, 70.2094,-92.2680,722.4499, 2736} +, { 1,736, 2.49976,-50.5966, 75.7989,-92.2680,722.2811, 2737} +, { 1,737, 2.47004,-48.5849, 81.3883,-92.2680,722.1122, 2738} +, { 1,738, 2.44010,-46.6905, 86.9778,-92.2680,721.9434, 2739} +, { 1,739, 2.41007,-44.9072, 92.5672,-92.2680,721.7746, 2740} +, { 1,740, 2.38007,-43.2288, 98.1567,-92.2680,721.6058, 2741} +, { 1,741, 2.35020,-41.6487,103.7461,-92.2680,721.4369, 2742} +, { 1,742, 2.32055,-40.1609,109.3356,-92.2680,721.2681, 2743} +, { 1,743, 2.29119,-38.7594,114.9250,-92.2680,721.0993, 2744} +, { 1,744, 2.26216,-37.4383,120.5145,-92.2680,720.9305, 2745} +, { 1,745, 2.23352,-36.1923,126.1039,-92.2680,720.7617, 2746} +, { 1,746, 2.20528,-35.0161,131.6934,-92.2680,720.5928, 2747} +, { 1,747, 2.17749,-33.9051,137.2828,-92.2680,720.4240, 2748} +}; + std::vector hcal = { + { 0, 0, 2.77314,104.0817,-23.8777, 95.1900,782.4788, 1001} +, { 0, 1, 2.74382,109.5987,-33.8931, 95.1900,782.1763, 1002} +, { 0, 2, 2.70697,114.7626,-43.9086, 95.1900,781.8738, 1003} +, { 0, 3, 2.66428,119.5310,-53.9240, 95.1900,781.5713, 1004} +, { 0, 4, 2.61734,123.8894,-63.9395, 95.1900,781.2688, 1005} +, { 0, 5, 2.56758,127.8443,-73.9549, 95.1900,780.9663, 1006} +, { 0, 6, 2.51617,131.4166,-83.9703, 95.1900,780.6638, 1007} +, { 0, 7, 2.46405,134.6353,-93.9857, 95.1900,780.3613, 1008} +, { 0, 8, 2.41192,137.5328,-104.0012, 95.1900,780.0588, 1009} +, { 0, 9, 2.36030,140.1422,-114.0166, 95.1900,779.7563, 1010} +, { 0, 10, 2.30956,142.4951,-124.0321, 95.1900,779.4538, 1011} +, { 0, 11, 2.25995,144.6206,-134.0475, 95.1900,779.1513, 1012} +, { 0, 12, 2.21164,146.5451,-144.0629, 95.1900,778.8488, 1013} +, { 0, 13, 2.87631,105.6610,-23.8777, 85.1700,782.4788, 1014} +, { 0, 14, 2.84049,111.6999,-33.8931, 85.1700,782.1763, 1015} +, { 0, 15, 2.79608,117.2729,-43.9086, 85.1700,781.8738, 1016} +, { 0, 16, 2.74539,122.3393,-53.9240, 85.1700,781.5713, 1017} +, { 0, 17, 2.69054,126.8966,-63.9395, 85.1700,781.2688, 1018} +, { 0, 18, 2.63326,130.9685,-73.9549, 85.1700,780.9663, 1019} +, { 0, 19, 2.57493,134.5936,-83.9703, 85.1700,780.6638, 1020} +, { 0, 20, 2.51655,137.8171,-93.9857, 85.1700,780.3613, 1021} +, { 0, 21, 2.45885,140.6848,-104.0012, 85.1700,780.0588, 1022} +, { 0, 22, 2.40231,143.2404,-114.0166, 85.1700,779.7563, 1023} +, { 0, 23, 2.34724,145.5235,-124.0321, 85.1700,779.4538, 1024} +, { 0, 24, 2.29383,147.5693,-134.0475, 85.1700,779.1513, 1025} +, { 0, 25, 2.24219,149.4084,-144.0629, 85.1700,778.8488, 1026} +, { 0, 26, 2.99057,107.6268,-23.8777, 75.1500,782.4788, 1027} +, { 0, 27, 2.94593,114.2757,-33.8931, 75.1500,782.1763, 1028} +, { 0, 28, 2.89159,120.2969,-43.9086, 75.1500,781.8738, 1029} +, { 0, 29, 2.83078,125.6614,-53.9240, 75.1500,781.5713, 1030} +, { 0, 30, 2.76625,130.3919,-63.9395, 75.1500,781.2688, 1031} +, { 0, 31, 2.70010,134.5408,-73.9549, 75.1500,780.9663, 1032} +, { 0, 32, 2.63384,138.1728,-83.9703, 75.1500,780.6638, 1033} +, { 0, 33, 2.56851,141.3545,-93.9857, 75.1500,780.3613, 1034} +, { 0, 34, 2.50475,144.1486,-104.0012, 75.1500,780.0588, 1035} +, { 0, 35, 2.44298,146.6105,-114.0166, 75.1500,779.7563, 1036} +, { 0, 36, 2.38340,148.7887,-124.0321, 75.1500,779.4538, 1037} +, { 0, 37, 2.32609,150.7240,-134.0475, 75.1500,779.1513, 1038} +, { 0, 38, 2.27108,152.4513,-144.0629, 75.1500,778.8488, 1039} +, { 0, 39, 3.11813,110.1338,-23.8777, 65.1300,782.4788, 1040} +, { 0, 40, 3.06121,117.4921,-33.8931, 65.1300,782.1763, 1041} +, { 0, 41, 2.99364,123.9866,-43.9086, 65.1300,781.8738, 1042} +, { 0, 42, 2.91995,129.6229,-53.9240, 65.1300,781.5713, 1043} +, { 0, 43, 2.84364,134.4715,-63.9395, 65.1300,781.2688, 1044} +, { 0, 44, 2.76712,138.6305,-73.9549, 65.1300,780.9663, 1045} +, { 0, 45, 2.69193,142.2017,-83.9703, 65.1300,780.6638, 1046} +, { 0, 46, 2.61899,145.2789,-93.9857, 65.1300,780.3613, 1047} +, { 0, 47, 2.54881,147.9434,-104.0012, 65.1300,780.0588, 1048} +, { 0, 48, 2.48160,150.2636,-114.0166, 65.1300,779.7563, 1049} +, { 0, 49, 2.41742,152.2958,-124.0321, 65.1300,779.4538, 1050} +, { 0, 50, 2.35621,154.0862,-134.0475, 65.1300,779.1513, 1051} +, { 0, 51, 2.29787,155.6726,-144.0629, 65.1300,778.8488, 1052} +, { 0, 52, 3.26173,113.4258,-23.8777, 55.1100,782.4788, 1053} +, { 0, 53, 3.18720,121.5919,-33.8931, 55.1100,782.1763, 1054} +, { 0, 54, 3.10177,128.5459,-43.9086, 55.1100,781.8738, 1055} +, { 0, 55, 3.01173,134.3768,-53.9240, 55.1100,781.5713, 1056} +, { 0, 56, 2.92126,139.2416,-63.9395, 55.1100,781.2688, 1057} +, { 0, 57, 2.83286,143.3071,-73.9549, 55.1100,780.9663, 1058} +, { 0, 58, 2.74785,146.7230,-83.9703, 55.1100,780.6638, 1059} +, { 0, 59, 2.66684,149.6141,-93.9857, 55.1100,780.3613, 1060} +, { 0, 60, 2.59002,152.0810,-104.0012, 55.1100,780.0588, 1061} +, { 0, 61, 2.51733,154.2032,-114.0166, 55.1100,779.7563, 1062} +, { 0, 62, 2.44861,156.0434,-124.0321, 55.1100,779.4538, 1063} +, { 0, 63, 2.38361,157.6513,-134.0475, 55.1100,779.1513, 1064} +, { 0, 64, 2.32209,159.0661,-144.0629, 55.1100,778.8488, 1065} +, { 0, 65, 3.42442,117.9038,-23.8777, 45.0900,782.4788, 1066} +, { 0, 66, 3.32392,126.9314,-33.8931, 45.0900,782.1763, 1067} +, { 0, 67, 3.21432,134.2395,-43.9086, 45.0900,781.8738, 1068} +, { 0, 68, 3.10382,140.0984,-53.9240, 45.0900,781.5713, 1069} +, { 0, 69, 2.99679,144.8086,-63.9395, 45.0900,781.2688, 1070} +, { 0, 70, 2.89525,148.6295,-73.9549, 45.0900,780.9663, 1071} +, { 0, 71, 2.79986,151.7653,-83.9703, 45.0900,780.6638, 1072} +, { 0, 72, 2.71062,154.3705,-93.9857, 45.0900,780.3613, 1073} +, { 0, 73, 2.62723,156.5607,-104.0012, 45.0900,780.0588, 1074} +, { 0, 74, 2.54926,158.4228,-114.0166, 45.0900,779.7563, 1075} +, { 0, 75, 2.47623,160.0220,-124.0321, 45.0900,779.4538, 1076} +, { 0, 76, 2.40770,161.4084,-134.0475, 45.0900,779.1513, 1077} +, { 0, 77, 2.34325,162.6205,-144.0629, 45.0900,778.8488, 1078} +, { 0, 78, 3.60856,124.2493,-23.8777, 35.0700,782.4788, 1079} +, { 0, 79, 3.46905,134.0223,-33.8931, 35.0700,782.1763, 1080} +, { 0, 80, 3.32730,141.3855,-43.9086, 35.0700,781.8738, 1081} +, { 0, 81, 3.19219,146.9617,-53.9240, 35.0700,781.5713, 1082} +, { 0, 82, 3.06680,151.2558,-63.9395, 35.0700,781.2688, 1083} +, { 0, 83, 2.95154,154.6293,-73.9549, 35.0700,780.9663, 1084} +, { 0, 84, 2.84582,157.3323,-83.9703, 35.0700,780.6638, 1085} +, { 0, 85, 2.74869,159.5374,-93.9857, 35.0700,780.3613, 1086} +, { 0, 86, 2.65918,161.3655,-104.0012, 35.0700,780.0588, 1087} +, { 0, 87, 2.57639,162.9028,-114.0166, 35.0700,779.7563, 1088} +, { 0, 88, 2.49951,164.2118,-124.0321, 35.0700,779.4538, 1089} +, { 0, 89, 2.42787,165.3387,-134.0475, 35.0700,779.1513, 1090} +, { 0, 90, 2.36087,166.3183,-144.0629, 35.0700,778.8488, 1091} +, { 0, 91, 3.81205,133.6275,-23.8777, 25.0500,782.4788, 1092} +, { 0, 92, 3.61482,143.5324,-33.8931, 25.0500,782.1763, 1093} +, { 0, 93, 3.43289,150.2951,-43.9086, 25.0500,781.8738, 1094} +, { 0, 94, 3.27062,155.0831,-53.9240, 25.0500,781.5713, 1095} +, { 0, 95, 3.12666,158.6059,-63.9395, 25.0500,781.2688, 1096} +, { 0, 96, 2.99841,161.2877,-73.9549, 25.0500,780.9663, 1097} +, { 0, 97, 2.88334,163.3891,-83.9703, 25.0500,780.6638, 1098} +, { 0, 98, 2.77931,165.0759,-93.9857, 25.0500,780.3613, 1099} +, { 0, 99, 2.68459,166.4575,-104.0012, 25.0500,780.0588, 1100} +, { 0,100, 2.59777,167.6087,-114.0166, 25.0500,779.7563, 1101} +, { 0,101, 2.51774,168.5819,-124.0321, 25.0500,779.4538, 1102} +, { 0,102, 2.44357,169.4150,-134.0475, 25.0500,779.1513, 1103} +, { 0,103, 2.37452,170.1359,-144.0629, 25.0500,778.8488, 1104} +, { 0,104, 4.01611,147.8113,-23.8777, 15.0300,782.4788, 1105} +, { 0,105, 3.74281,156.0850,-33.8931, 15.0300,782.1763, 1106} +, { 0,106, 3.51821,161.1038,-43.9086, 15.0300,781.8738, 1107} +, { 0,107, 3.33075,164.4255,-53.9240, 15.0300,781.5713, 1108} +, { 0,108, 3.17100,166.7719,-63.9395, 15.0300,781.2688, 1109} +, { 0,109, 3.03231,168.5121,-73.9549, 15.0300,780.9663, 1110} +, { 0,110, 2.91003,169.8520,-83.9703, 15.0300,780.6638, 1111} +, { 0,111, 2.80083,170.9143,-93.9857, 15.0300,780.3613, 1112} +, { 0,112, 2.70229,171.7767,-104.0012, 15.0300,780.0588, 1113} +, { 0,113, 2.61256,172.4904,-114.0166, 15.0300,779.7563, 1114} +, { 0,114, 2.53027,173.0907,-124.0321, 15.0300,779.4538, 1115} +, { 0,115, 2.45432,173.6025,-134.0475, 15.0300,779.1513, 1116} +, { 0,116, 2.38384,174.0439,-144.0629, 15.0300,778.8488, 1117} +, { 0,117, 4.16137,168.1501,-23.8777, 5.0100,782.4788, 1118} +, { 0,118, 3.82169,171.5916,-33.8931, 5.0100,782.1763, 1119} +, { 0,119, 3.56706,173.4907,-43.9086, 5.0100,781.8738, 1120} +, { 0,120, 3.36378,174.6920,-53.9240, 5.0100,781.5713, 1121} +, { 0,121, 3.19475,175.5197,-63.9395, 5.0100,781.2688, 1122} +, { 0,122, 3.05018,176.1245,-73.9549, 5.0100,780.9663, 1123} +, { 0,123, 2.92394,176.5856,-83.9703, 5.0100,780.6638, 1124} +, { 0,124, 2.81196,176.9487,-93.9857, 5.0100,780.3613, 1125} +, { 0,125, 2.71138,177.2420,-104.0012, 5.0100,780.0588, 1126} +, { 0,126, 2.62013,177.4840,-114.0166, 5.0100,779.7563, 1127} +, { 0,127, 2.53667,177.6869,-124.0321, 5.0100,779.4538, 1128} +, { 0,128, 2.45979,177.8596,-134.0475, 5.0100,779.1513, 1129} +, { 0,129, 2.38857,178.0083,-144.0629, 5.0100,778.8488, 1130} +, { 0,130, 4.16137,-168.1501,-23.8777, -5.0100,782.4788, 1131} +, { 0,131, 3.82169,-171.5916,-33.8931, -5.0100,782.1763, 1132} +, { 0,132, 3.56706,-173.4907,-43.9086, -5.0100,781.8738, 1133} +, { 0,133, 3.36378,-174.6920,-53.9240, -5.0100,781.5713, 1134} +, { 0,134, 3.19475,-175.5197,-63.9395, -5.0100,781.2688, 1135} +, { 0,135, 3.05018,-176.1245,-73.9549, -5.0100,780.9663, 1136} +, { 0,136, 2.92394,-176.5856,-83.9703, -5.0100,780.6638, 1137} +, { 0,137, 2.81196,-176.9487,-93.9857, -5.0100,780.3613, 1138} +, { 0,138, 2.71138,-177.2420,-104.0012, -5.0100,780.0588, 1139} +, { 0,139, 2.62013,-177.4840,-114.0166, -5.0100,779.7563, 1140} +, { 0,140, 2.53667,-177.6869,-124.0321, -5.0100,779.4538, 1141} +, { 0,141, 2.45979,-177.8596,-134.0475, -5.0100,779.1513, 1142} +, { 0,142, 2.38857,-178.0083,-144.0629, -5.0100,778.8488, 1143} +, { 0,143, 4.01611,-147.8113,-23.8777,-15.0300,782.4788, 1144} +, { 0,144, 3.74281,-156.0850,-33.8931,-15.0300,782.1763, 1145} +, { 0,145, 3.51821,-161.1038,-43.9086,-15.0300,781.8738, 1146} +, { 0,146, 3.33075,-164.4255,-53.9240,-15.0300,781.5713, 1147} +, { 0,147, 3.17100,-166.7719,-63.9395,-15.0300,781.2688, 1148} +, { 0,148, 3.03231,-168.5121,-73.9549,-15.0300,780.9663, 1149} +, { 0,149, 2.91003,-169.8520,-83.9703,-15.0300,780.6638, 1150} +, { 0,150, 2.80083,-170.9143,-93.9857,-15.0300,780.3613, 1151} +, { 0,151, 2.70229,-171.7767,-104.0012,-15.0300,780.0588, 1152} +, { 0,152, 2.61256,-172.4904,-114.0166,-15.0300,779.7563, 1153} +, { 0,153, 2.53027,-173.0907,-124.0321,-15.0300,779.4538, 1154} +, { 0,154, 2.45432,-173.6025,-134.0475,-15.0300,779.1513, 1155} +, { 0,155, 2.38384,-174.0439,-144.0629,-15.0300,778.8488, 1156} +, { 0,156, 3.81205,-133.6275,-23.8777,-25.0500,782.4788, 1157} +, { 0,157, 3.61482,-143.5324,-33.8931,-25.0500,782.1763, 1158} +, { 0,158, 3.43289,-150.2951,-43.9086,-25.0500,781.8738, 1159} +, { 0,159, 3.27062,-155.0831,-53.9240,-25.0500,781.5713, 1160} +, { 0,160, 3.12666,-158.6059,-63.9395,-25.0500,781.2688, 1161} +, { 0,161, 2.99841,-161.2877,-73.9549,-25.0500,780.9663, 1162} +, { 0,162, 2.88334,-163.3891,-83.9703,-25.0500,780.6638, 1163} +, { 0,163, 2.77931,-165.0759,-93.9857,-25.0500,780.3613, 1164} +, { 0,164, 2.68459,-166.4575,-104.0012,-25.0500,780.0588, 1165} +, { 0,165, 2.59777,-167.6087,-114.0166,-25.0500,779.7563, 1166} +, { 0,166, 2.51774,-168.5819,-124.0321,-25.0500,779.4538, 1167} +, { 0,167, 2.44357,-169.4150,-134.0475,-25.0500,779.1513, 1168} +, { 0,168, 2.37452,-170.1359,-144.0629,-25.0500,778.8488, 1169} +, { 0,169, 3.60856,-124.2493,-23.8777,-35.0700,782.4788, 1170} +, { 0,170, 3.46905,-134.0223,-33.8931,-35.0700,782.1763, 1171} +, { 0,171, 3.32730,-141.3855,-43.9086,-35.0700,781.8738, 1172} +, { 0,172, 3.19219,-146.9617,-53.9240,-35.0700,781.5713, 1173} +, { 0,173, 3.06680,-151.2558,-63.9395,-35.0700,781.2688, 1174} +, { 0,174, 2.95154,-154.6293,-73.9549,-35.0700,780.9663, 1175} +, { 0,175, 2.84582,-157.3323,-83.9703,-35.0700,780.6638, 1176} +, { 0,176, 2.74869,-159.5374,-93.9857,-35.0700,780.3613, 1177} +, { 0,177, 2.65918,-161.3655,-104.0012,-35.0700,780.0588, 1178} +, { 0,178, 2.57639,-162.9028,-114.0166,-35.0700,779.7563, 1179} +, { 0,179, 2.49951,-164.2118,-124.0321,-35.0700,779.4538, 1180} +, { 0,180, 2.42787,-165.3387,-134.0475,-35.0700,779.1513, 1181} +, { 0,181, 2.36087,-166.3183,-144.0629,-35.0700,778.8488, 1182} +, { 0,182, 3.42442,-117.9038,-23.8777,-45.0900,782.4788, 1183} +, { 0,183, 3.32392,-126.9314,-33.8931,-45.0900,782.1763, 1184} +, { 0,184, 3.21432,-134.2395,-43.9086,-45.0900,781.8738, 1185} +, { 0,185, 3.10382,-140.0984,-53.9240,-45.0900,781.5713, 1186} +, { 0,186, 2.99679,-144.8086,-63.9395,-45.0900,781.2688, 1187} +, { 0,187, 2.89525,-148.6295,-73.9549,-45.0900,780.9663, 1188} +, { 0,188, 2.79986,-151.7653,-83.9703,-45.0900,780.6638, 1189} +, { 0,189, 2.71062,-154.3705,-93.9857,-45.0900,780.3613, 1190} +, { 0,190, 2.62723,-156.5607,-104.0012,-45.0900,780.0588, 1191} +, { 0,191, 2.54926,-158.4228,-114.0166,-45.0900,779.7563, 1192} +, { 0,192, 2.47623,-160.0220,-124.0321,-45.0900,779.4538, 1193} +, { 0,193, 2.40770,-161.4084,-134.0475,-45.0900,779.1513, 1194} +, { 0,194, 2.34325,-162.6205,-144.0629,-45.0900,778.8488, 1195} +, { 0,195, 3.26173,-113.4258,-23.8777,-55.1100,782.4788, 1196} +, { 0,196, 3.18720,-121.5919,-33.8931,-55.1100,782.1763, 1197} +, { 0,197, 3.10177,-128.5459,-43.9086,-55.1100,781.8738, 1198} +, { 0,198, 3.01173,-134.3768,-53.9240,-55.1100,781.5713, 1199} +, { 0,199, 2.92126,-139.2416,-63.9395,-55.1100,781.2688, 1200} +, { 0,200, 2.83286,-143.3071,-73.9549,-55.1100,780.9663, 1201} +, { 0,201, 2.74785,-146.7230,-83.9703,-55.1100,780.6638, 1202} +, { 0,202, 2.66684,-149.6141,-93.9857,-55.1100,780.3613, 1203} +, { 0,203, 2.59002,-152.0810,-104.0012,-55.1100,780.0588, 1204} +, { 0,204, 2.51733,-154.2032,-114.0166,-55.1100,779.7563, 1205} +, { 0,205, 2.44861,-156.0434,-124.0321,-55.1100,779.4538, 1206} +, { 0,206, 2.38361,-157.6513,-134.0475,-55.1100,779.1513, 1207} +, { 0,207, 2.32209,-159.0661,-144.0629,-55.1100,778.8488, 1208} +, { 0,208, 3.11813,-110.1338,-23.8777,-65.1300,782.4788, 1209} +, { 0,209, 3.06121,-117.4921,-33.8931,-65.1300,782.1763, 1210} +, { 0,210, 2.99364,-123.9866,-43.9086,-65.1300,781.8738, 1211} +, { 0,211, 2.91995,-129.6229,-53.9240,-65.1300,781.5713, 1212} +, { 0,212, 2.84364,-134.4715,-63.9395,-65.1300,781.2688, 1213} +, { 0,213, 2.76712,-138.6305,-73.9549,-65.1300,780.9663, 1214} +, { 0,214, 2.69193,-142.2017,-83.9703,-65.1300,780.6638, 1215} +, { 0,215, 2.61899,-145.2789,-93.9857,-65.1300,780.3613, 1216} +, { 0,216, 2.54881,-147.9434,-104.0012,-65.1300,780.0588, 1217} +, { 0,217, 2.48160,-150.2636,-114.0166,-65.1300,779.7563, 1218} +, { 0,218, 2.41742,-152.2958,-124.0321,-65.1300,779.4538, 1219} +, { 0,219, 2.35621,-154.0862,-134.0475,-65.1300,779.1513, 1220} +, { 0,220, 2.29787,-155.6726,-144.0629,-65.1300,778.8488, 1221} +, { 0,221, 2.99057,-107.6268,-23.8777,-75.1500,782.4788, 1222} +, { 0,222, 2.94593,-114.2757,-33.8931,-75.1500,782.1763, 1223} +, { 0,223, 2.89159,-120.2969,-43.9086,-75.1500,781.8738, 1224} +, { 0,224, 2.83078,-125.6614,-53.9240,-75.1500,781.5713, 1225} +, { 0,225, 2.76625,-130.3919,-63.9395,-75.1500,781.2688, 1226} +, { 0,226, 2.70010,-134.5408,-73.9549,-75.1500,780.9663, 1227} +, { 0,227, 2.63384,-138.1728,-83.9703,-75.1500,780.6638, 1228} +, { 0,228, 2.56851,-141.3545,-93.9857,-75.1500,780.3613, 1229} +, { 0,229, 2.50475,-144.1486,-104.0012,-75.1500,780.0588, 1230} +, { 0,230, 2.44298,-146.6105,-114.0166,-75.1500,779.7563, 1231} +, { 0,231, 2.38340,-148.7887,-124.0321,-75.1500,779.4538, 1232} +, { 0,232, 2.32609,-150.7240,-134.0475,-75.1500,779.1513, 1233} +, { 0,233, 2.27108,-152.4513,-144.0629,-75.1500,778.8488, 1234} +, { 0,234, 2.87631,-105.6610,-23.8777,-85.1700,782.4788, 1235} +, { 0,235, 2.84049,-111.6999,-33.8931,-85.1700,782.1763, 1236} +, { 0,236, 2.79608,-117.2729,-43.9086,-85.1700,781.8738, 1237} +, { 0,237, 2.74539,-122.3393,-53.9240,-85.1700,781.5713, 1238} +, { 0,238, 2.69054,-126.8966,-63.9395,-85.1700,781.2688, 1239} +, { 0,239, 2.63326,-130.9685,-73.9549,-85.1700,780.9663, 1240} +, { 0,240, 2.57493,-134.5936,-83.9703,-85.1700,780.6638, 1241} +, { 0,241, 2.51655,-137.8171,-93.9857,-85.1700,780.3613, 1242} +, { 0,242, 2.45885,-140.6848,-104.0012,-85.1700,780.0588, 1243} +, { 0,243, 2.40231,-143.2404,-114.0166,-85.1700,779.7563, 1244} +, { 0,244, 2.34724,-145.5235,-124.0321,-85.1700,779.4538, 1245} +, { 0,245, 2.29383,-147.5693,-134.0475,-85.1700,779.1513, 1246} +, { 0,246, 2.24219,-149.4084,-144.0629,-85.1700,778.8488, 1247} +, { 0,247, 2.77314,-104.0817,-23.8777,-95.1900,782.4788, 1248} +, { 0,248, 2.74382,-109.5987,-33.8931,-95.1900,782.1763, 1249} +, { 0,249, 2.70697,-114.7626,-43.9086,-95.1900,781.8738, 1250} +, { 0,250, 2.66428,-119.5310,-53.9240,-95.1900,781.5713, 1251} +, { 0,251, 2.61734,-123.8894,-63.9395,-95.1900,781.2688, 1252} +, { 0,252, 2.56758,-127.8443,-73.9549,-95.1900,780.9663, 1253} +, { 0,253, 2.51617,-131.4166,-83.9703,-95.1900,780.6638, 1254} +, { 0,254, 2.46405,-134.6353,-93.9857,-95.1900,780.3613, 1255} +, { 0,255, 2.41192,-137.5328,-104.0012,-95.1900,780.0588, 1256} +, { 0,256, 2.36030,-140.1422,-114.0166,-95.1900,779.7563, 1257} +, { 0,257, 2.30956,-142.4951,-124.0321,-95.1900,779.4538, 1258} +, { 0,258, 2.25995,-144.6206,-134.0475,-95.1900,779.1513, 1259} +, { 0,259, 2.21164,-146.5451,-144.0629,-95.1900,778.8488, 1260} +, { 1, 0, 2.77314, 75.9183, 23.8777, 95.1900,782.4788, 2001} +, { 1, 1, 2.74382, 70.4013, 33.8931, 95.1900,782.1763, 2002} +, { 1, 2, 2.70697, 65.2374, 43.9086, 95.1900,781.8738, 2003} +, { 1, 3, 2.66428, 60.4690, 53.9240, 95.1900,781.5713, 2004} +, { 1, 4, 2.61734, 56.1106, 63.9395, 95.1900,781.2688, 2005} +, { 1, 5, 2.56758, 52.1557, 73.9549, 95.1900,780.9663, 2006} +, { 1, 6, 2.51617, 48.5834, 83.9703, 95.1900,780.6638, 2007} +, { 1, 7, 2.46405, 45.3647, 93.9857, 95.1900,780.3613, 2008} +, { 1, 8, 2.41192, 42.4672,104.0012, 95.1900,780.0588, 2009} +, { 1, 9, 2.36030, 39.8578,114.0166, 95.1900,779.7563, 2010} +, { 1, 10, 2.30956, 37.5049,124.0321, 95.1900,779.4538, 2011} +, { 1, 11, 2.25995, 35.3794,134.0475, 95.1900,779.1513, 2012} +, { 1, 12, 2.21164, 33.4549,144.0629, 95.1900,778.8488, 2013} +, { 1, 13, 2.87631, 74.3390, 23.8777, 85.1700,782.4788, 2014} +, { 1, 14, 2.84049, 68.3001, 33.8931, 85.1700,782.1763, 2015} +, { 1, 15, 2.79608, 62.7271, 43.9086, 85.1700,781.8738, 2016} +, { 1, 16, 2.74539, 57.6607, 53.9240, 85.1700,781.5713, 2017} +, { 1, 17, 2.69054, 53.1034, 63.9395, 85.1700,781.2688, 2018} +, { 1, 18, 2.63326, 49.0315, 73.9549, 85.1700,780.9663, 2019} +, { 1, 19, 2.57493, 45.4064, 83.9703, 85.1700,780.6638, 2020} +, { 1, 20, 2.51655, 42.1829, 93.9857, 85.1700,780.3613, 2021} +, { 1, 21, 2.45885, 39.3152,104.0012, 85.1700,780.0588, 2022} +, { 1, 22, 2.40231, 36.7596,114.0166, 85.1700,779.7563, 2023} +, { 1, 23, 2.34724, 34.4765,124.0321, 85.1700,779.4538, 2024} +, { 1, 24, 2.29383, 32.4307,134.0475, 85.1700,779.1513, 2025} +, { 1, 25, 2.24219, 30.5916,144.0629, 85.1700,778.8488, 2026} +, { 1, 26, 2.99057, 72.3732, 23.8777, 75.1500,782.4788, 2027} +, { 1, 27, 2.94593, 65.7243, 33.8931, 75.1500,782.1763, 2028} +, { 1, 28, 2.89159, 59.7031, 43.9086, 75.1500,781.8738, 2029} +, { 1, 29, 2.83078, 54.3386, 53.9240, 75.1500,781.5713, 2030} +, { 1, 30, 2.76625, 49.6081, 63.9395, 75.1500,781.2688, 2031} +, { 1, 31, 2.70010, 45.4592, 73.9549, 75.1500,780.9663, 2032} +, { 1, 32, 2.63384, 41.8272, 83.9703, 75.1500,780.6638, 2033} +, { 1, 33, 2.56851, 38.6455, 93.9857, 75.1500,780.3613, 2034} +, { 1, 34, 2.50475, 35.8514,104.0012, 75.1500,780.0588, 2035} +, { 1, 35, 2.44298, 33.3895,114.0166, 75.1500,779.7563, 2036} +, { 1, 36, 2.38340, 31.2113,124.0321, 75.1500,779.4538, 2037} +, { 1, 37, 2.32609, 29.2760,134.0475, 75.1500,779.1513, 2038} +, { 1, 38, 2.27108, 27.5487,144.0629, 75.1500,778.8488, 2039} +, { 1, 39, 3.11813, 69.8662, 23.8777, 65.1300,782.4788, 2040} +, { 1, 40, 3.06121, 62.5079, 33.8931, 65.1300,782.1763, 2041} +, { 1, 41, 2.99364, 56.0134, 43.9086, 65.1300,781.8738, 2042} +, { 1, 42, 2.91995, 50.3771, 53.9240, 65.1300,781.5713, 2043} +, { 1, 43, 2.84364, 45.5285, 63.9395, 65.1300,781.2688, 2044} +, { 1, 44, 2.76712, 41.3695, 73.9549, 65.1300,780.9663, 2045} +, { 1, 45, 2.69193, 37.7983, 83.9703, 65.1300,780.6638, 2046} +, { 1, 46, 2.61899, 34.7211, 93.9857, 65.1300,780.3613, 2047} +, { 1, 47, 2.54881, 32.0566,104.0012, 65.1300,780.0588, 2048} +, { 1, 48, 2.48160, 29.7364,114.0166, 65.1300,779.7563, 2049} +, { 1, 49, 2.41742, 27.7042,124.0321, 65.1300,779.4538, 2050} +, { 1, 50, 2.35621, 25.9138,134.0475, 65.1300,779.1513, 2051} +, { 1, 51, 2.29787, 24.3274,144.0629, 65.1300,778.8488, 2052} +, { 1, 52, 3.26173, 66.5742, 23.8777, 55.1100,782.4788, 2053} +, { 1, 53, 3.18720, 58.4081, 33.8931, 55.1100,782.1763, 2054} +, { 1, 54, 3.10177, 51.4541, 43.9086, 55.1100,781.8738, 2055} +, { 1, 55, 3.01173, 45.6232, 53.9240, 55.1100,781.5713, 2056} +, { 1, 56, 2.92126, 40.7584, 63.9395, 55.1100,781.2688, 2057} +, { 1, 57, 2.83286, 36.6929, 73.9549, 55.1100,780.9663, 2058} +, { 1, 58, 2.74785, 33.2770, 83.9703, 55.1100,780.6638, 2059} +, { 1, 59, 2.66684, 30.3859, 93.9857, 55.1100,780.3613, 2060} +, { 1, 60, 2.59002, 27.9190,104.0012, 55.1100,780.0588, 2061} +, { 1, 61, 2.51733, 25.7968,114.0166, 55.1100,779.7563, 2062} +, { 1, 62, 2.44861, 23.9566,124.0321, 55.1100,779.4538, 2063} +, { 1, 63, 2.38361, 22.3487,134.0475, 55.1100,779.1513, 2064} +, { 1, 64, 2.32209, 20.9339,144.0629, 55.1100,778.8488, 2065} +, { 1, 65, 3.42442, 62.0962, 23.8777, 45.0900,782.4788, 2066} +, { 1, 66, 3.32392, 53.0686, 33.8931, 45.0900,782.1763, 2067} +, { 1, 67, 3.21432, 45.7605, 43.9086, 45.0900,781.8738, 2068} +, { 1, 68, 3.10382, 39.9016, 53.9240, 45.0900,781.5713, 2069} +, { 1, 69, 2.99679, 35.1914, 63.9395, 45.0900,781.2688, 2070} +, { 1, 70, 2.89525, 31.3705, 73.9549, 45.0900,780.9663, 2071} +, { 1, 71, 2.79986, 28.2347, 83.9703, 45.0900,780.6638, 2072} +, { 1, 72, 2.71062, 25.6295, 93.9857, 45.0900,780.3613, 2073} +, { 1, 73, 2.62723, 23.4393,104.0012, 45.0900,780.0588, 2074} +, { 1, 74, 2.54926, 21.5772,114.0166, 45.0900,779.7563, 2075} +, { 1, 75, 2.47623, 19.9780,124.0321, 45.0900,779.4538, 2076} +, { 1, 76, 2.40770, 18.5916,134.0475, 45.0900,779.1513, 2077} +, { 1, 77, 2.34325, 17.3795,144.0629, 45.0900,778.8488, 2078} +, { 1, 78, 3.60856, 55.7507, 23.8777, 35.0700,782.4788, 2079} +, { 1, 79, 3.46905, 45.9777, 33.8931, 35.0700,782.1763, 2080} +, { 1, 80, 3.32730, 38.6145, 43.9086, 35.0700,781.8738, 2081} +, { 1, 81, 3.19219, 33.0383, 53.9240, 35.0700,781.5713, 2082} +, { 1, 82, 3.06680, 28.7442, 63.9395, 35.0700,781.2688, 2083} +, { 1, 83, 2.95154, 25.3707, 73.9549, 35.0700,780.9663, 2084} +, { 1, 84, 2.84582, 22.6677, 83.9703, 35.0700,780.6638, 2085} +, { 1, 85, 2.74869, 20.4626, 93.9857, 35.0700,780.3613, 2086} +, { 1, 86, 2.65918, 18.6345,104.0012, 35.0700,780.0588, 2087} +, { 1, 87, 2.57639, 17.0972,114.0166, 35.0700,779.7563, 2088} +, { 1, 88, 2.49951, 15.7882,124.0321, 35.0700,779.4538, 2089} +, { 1, 89, 2.42787, 14.6613,134.0475, 35.0700,779.1513, 2090} +, { 1, 90, 2.36087, 13.6817,144.0629, 35.0700,778.8488, 2091} +, { 1, 91, 3.81205, 46.3725, 23.8777, 25.0500,782.4788, 2092} +, { 1, 92, 3.61482, 36.4676, 33.8931, 25.0500,782.1763, 2093} +, { 1, 93, 3.43289, 29.7049, 43.9086, 25.0500,781.8738, 2094} +, { 1, 94, 3.27062, 24.9169, 53.9240, 25.0500,781.5713, 2095} +, { 1, 95, 3.12666, 21.3941, 63.9395, 25.0500,781.2688, 2096} +, { 1, 96, 2.99841, 18.7123, 73.9549, 25.0500,780.9663, 2097} +, { 1, 97, 2.88334, 16.6109, 83.9703, 25.0500,780.6638, 2098} +, { 1, 98, 2.77931, 14.9241, 93.9857, 25.0500,780.3613, 2099} +, { 1, 99, 2.68459, 13.5425,104.0012, 25.0500,780.0588, 2100} +, { 1,100, 2.59777, 12.3913,114.0166, 25.0500,779.7563, 2101} +, { 1,101, 2.51774, 11.4181,124.0321, 25.0500,779.4538, 2102} +, { 1,102, 2.44357, 10.5850,134.0475, 25.0500,779.1513, 2103} +, { 1,103, 2.37452, 9.8641,144.0629, 25.0500,778.8488, 2104} +, { 1,104, 4.01611, 32.1887, 23.8777, 15.0300,782.4788, 2105} +, { 1,105, 3.74281, 23.9150, 33.8931, 15.0300,782.1763, 2106} +, { 1,106, 3.51821, 18.8962, 43.9086, 15.0300,781.8738, 2107} +, { 1,107, 3.33075, 15.5745, 53.9240, 15.0300,781.5713, 2108} +, { 1,108, 3.17100, 13.2281, 63.9395, 15.0300,781.2688, 2109} +, { 1,109, 3.03231, 11.4879, 73.9549, 15.0300,780.9663, 2110} +, { 1,110, 2.91003, 10.1480, 83.9703, 15.0300,780.6638, 2111} +, { 1,111, 2.80083, 9.0857, 93.9857, 15.0300,780.3613, 2112} +, { 1,112, 2.70229, 8.2233,104.0012, 15.0300,780.0588, 2113} +, { 1,113, 2.61256, 7.5096,114.0166, 15.0300,779.7563, 2114} +, { 1,114, 2.53027, 6.9093,124.0321, 15.0300,779.4538, 2115} +, { 1,115, 2.45432, 6.3975,134.0475, 15.0300,779.1513, 2116} +, { 1,116, 2.38384, 5.9561,144.0629, 15.0300,778.8488, 2117} +, { 1,117, 4.16137, 11.8499, 23.8777, 5.0100,782.4788, 2118} +, { 1,118, 3.82169, 8.4084, 33.8931, 5.0100,782.1763, 2119} +, { 1,119, 3.56706, 6.5093, 43.9086, 5.0100,781.8738, 2120} +, { 1,120, 3.36378, 5.3080, 53.9240, 5.0100,781.5713, 2121} +, { 1,121, 3.19475, 4.4803, 63.9395, 5.0100,781.2688, 2122} +, { 1,122, 3.05018, 3.8755, 73.9549, 5.0100,780.9663, 2123} +, { 1,123, 2.92394, 3.4144, 83.9703, 5.0100,780.6638, 2124} +, { 1,124, 2.81196, 3.0513, 93.9857, 5.0100,780.3613, 2125} +, { 1,125, 2.71138, 2.7580,104.0012, 5.0100,780.0588, 2126} +, { 1,126, 2.62013, 2.5160,114.0166, 5.0100,779.7563, 2127} +, { 1,127, 2.53667, 2.3131,124.0321, 5.0100,779.4538, 2128} +, { 1,128, 2.45979, 2.1404,134.0475, 5.0100,779.1513, 2129} +, { 1,129, 2.38857, 1.9917,144.0629, 5.0100,778.8488, 2130} +, { 1,130, 4.16137,-11.8499, 23.8777, -5.0100,782.4788, 2131} +, { 1,131, 3.82169, -8.4084, 33.8931, -5.0100,782.1763, 2132} +, { 1,132, 3.56706, -6.5093, 43.9086, -5.0100,781.8738, 2133} +, { 1,133, 3.36378, -5.3080, 53.9240, -5.0100,781.5713, 2134} +, { 1,134, 3.19475, -4.4803, 63.9395, -5.0100,781.2688, 2135} +, { 1,135, 3.05018, -3.8755, 73.9549, -5.0100,780.9663, 2136} +, { 1,136, 2.92394, -3.4144, 83.9703, -5.0100,780.6638, 2137} +, { 1,137, 2.81196, -3.0513, 93.9857, -5.0100,780.3613, 2138} +, { 1,138, 2.71138, -2.7580,104.0012, -5.0100,780.0588, 2139} +, { 1,139, 2.62013, -2.5160,114.0166, -5.0100,779.7563, 2140} +, { 1,140, 2.53667, -2.3131,124.0321, -5.0100,779.4538, 2141} +, { 1,141, 2.45979, -2.1404,134.0475, -5.0100,779.1513, 2142} +, { 1,142, 2.38857, -1.9917,144.0629, -5.0100,778.8488, 2143} +, { 1,143, 4.01611,-32.1887, 23.8777,-15.0300,782.4788, 2144} +, { 1,144, 3.74281,-23.9150, 33.8931,-15.0300,782.1763, 2145} +, { 1,145, 3.51821,-18.8962, 43.9086,-15.0300,781.8738, 2146} +, { 1,146, 3.33075,-15.5745, 53.9240,-15.0300,781.5713, 2147} +, { 1,147, 3.17100,-13.2281, 63.9395,-15.0300,781.2688, 2148} +, { 1,148, 3.03231,-11.4879, 73.9549,-15.0300,780.9663, 2149} +, { 1,149, 2.91003,-10.1480, 83.9703,-15.0300,780.6638, 2150} +, { 1,150, 2.80083, -9.0857, 93.9857,-15.0300,780.3613, 2151} +, { 1,151, 2.70229, -8.2233,104.0012,-15.0300,780.0588, 2152} +, { 1,152, 2.61256, -7.5096,114.0166,-15.0300,779.7563, 2153} +, { 1,153, 2.53027, -6.9093,124.0321,-15.0300,779.4538, 2154} +, { 1,154, 2.45432, -6.3975,134.0475,-15.0300,779.1513, 2155} +, { 1,155, 2.38384, -5.9561,144.0629,-15.0300,778.8488, 2156} +, { 1,156, 3.81205,-46.3725, 23.8777,-25.0500,782.4788, 2157} +, { 1,157, 3.61482,-36.4676, 33.8931,-25.0500,782.1763, 2158} +, { 1,158, 3.43289,-29.7049, 43.9086,-25.0500,781.8738, 2159} +, { 1,159, 3.27062,-24.9169, 53.9240,-25.0500,781.5713, 2160} +, { 1,160, 3.12666,-21.3941, 63.9395,-25.0500,781.2688, 2161} +, { 1,161, 2.99841,-18.7123, 73.9549,-25.0500,780.9663, 2162} +, { 1,162, 2.88334,-16.6109, 83.9703,-25.0500,780.6638, 2163} +, { 1,163, 2.77931,-14.9241, 93.9857,-25.0500,780.3613, 2164} +, { 1,164, 2.68459,-13.5425,104.0012,-25.0500,780.0588, 2165} +, { 1,165, 2.59777,-12.3913,114.0166,-25.0500,779.7563, 2166} +, { 1,166, 2.51774,-11.4181,124.0321,-25.0500,779.4538, 2167} +, { 1,167, 2.44357,-10.5850,134.0475,-25.0500,779.1513, 2168} +, { 1,168, 2.37452, -9.8641,144.0629,-25.0500,778.8488, 2169} +, { 1,169, 3.60856,-55.7507, 23.8777,-35.0700,782.4788, 2170} +, { 1,170, 3.46905,-45.9777, 33.8931,-35.0700,782.1763, 2171} +, { 1,171, 3.32730,-38.6145, 43.9086,-35.0700,781.8738, 2172} +, { 1,172, 3.19219,-33.0383, 53.9240,-35.0700,781.5713, 2173} +, { 1,173, 3.06680,-28.7442, 63.9395,-35.0700,781.2688, 2174} +, { 1,174, 2.95154,-25.3707, 73.9549,-35.0700,780.9663, 2175} +, { 1,175, 2.84582,-22.6677, 83.9703,-35.0700,780.6638, 2176} +, { 1,176, 2.74869,-20.4626, 93.9857,-35.0700,780.3613, 2177} +, { 1,177, 2.65918,-18.6345,104.0012,-35.0700,780.0588, 2178} +, { 1,178, 2.57639,-17.0972,114.0166,-35.0700,779.7563, 2179} +, { 1,179, 2.49951,-15.7882,124.0321,-35.0700,779.4538, 2180} +, { 1,180, 2.42787,-14.6613,134.0475,-35.0700,779.1513, 2181} +, { 1,181, 2.36087,-13.6817,144.0629,-35.0700,778.8488, 2182} +, { 1,182, 3.42442,-62.0962, 23.8777,-45.0900,782.4788, 2183} +, { 1,183, 3.32392,-53.0686, 33.8931,-45.0900,782.1763, 2184} +, { 1,184, 3.21432,-45.7605, 43.9086,-45.0900,781.8738, 2185} +, { 1,185, 3.10382,-39.9016, 53.9240,-45.0900,781.5713, 2186} +, { 1,186, 2.99679,-35.1914, 63.9395,-45.0900,781.2688, 2187} +, { 1,187, 2.89525,-31.3705, 73.9549,-45.0900,780.9663, 2188} +, { 1,188, 2.79986,-28.2347, 83.9703,-45.0900,780.6638, 2189} +, { 1,189, 2.71062,-25.6295, 93.9857,-45.0900,780.3613, 2190} +, { 1,190, 2.62723,-23.4393,104.0012,-45.0900,780.0588, 2191} +, { 1,191, 2.54926,-21.5772,114.0166,-45.0900,779.7563, 2192} +, { 1,192, 2.47623,-19.9780,124.0321,-45.0900,779.4538, 2193} +, { 1,193, 2.40770,-18.5916,134.0475,-45.0900,779.1513, 2194} +, { 1,194, 2.34325,-17.3795,144.0629,-45.0900,778.8488, 2195} +, { 1,195, 3.26173,-66.5742, 23.8777,-55.1100,782.4788, 2196} +, { 1,196, 3.18720,-58.4081, 33.8931,-55.1100,782.1763, 2197} +, { 1,197, 3.10177,-51.4541, 43.9086,-55.1100,781.8738, 2198} +, { 1,198, 3.01173,-45.6232, 53.9240,-55.1100,781.5713, 2199} +, { 1,199, 2.92126,-40.7584, 63.9395,-55.1100,781.2688, 2200} +, { 1,200, 2.83286,-36.6929, 73.9549,-55.1100,780.9663, 2201} +, { 1,201, 2.74785,-33.2770, 83.9703,-55.1100,780.6638, 2202} +, { 1,202, 2.66684,-30.3859, 93.9857,-55.1100,780.3613, 2203} +, { 1,203, 2.59002,-27.9190,104.0012,-55.1100,780.0588, 2204} +, { 1,204, 2.51733,-25.7968,114.0166,-55.1100,779.7563, 2205} +, { 1,205, 2.44861,-23.9566,124.0321,-55.1100,779.4538, 2206} +, { 1,206, 2.38361,-22.3487,134.0475,-55.1100,779.1513, 2207} +, { 1,207, 2.32209,-20.9339,144.0629,-55.1100,778.8488, 2208} +, { 1,208, 3.11813,-69.8662, 23.8777,-65.1300,782.4788, 2209} +, { 1,209, 3.06121,-62.5079, 33.8931,-65.1300,782.1763, 2210} +, { 1,210, 2.99364,-56.0134, 43.9086,-65.1300,781.8738, 2211} +, { 1,211, 2.91995,-50.3771, 53.9240,-65.1300,781.5713, 2212} +, { 1,212, 2.84364,-45.5285, 63.9395,-65.1300,781.2688, 2213} +, { 1,213, 2.76712,-41.3695, 73.9549,-65.1300,780.9663, 2214} +, { 1,214, 2.69193,-37.7983, 83.9703,-65.1300,780.6638, 2215} +, { 1,215, 2.61899,-34.7211, 93.9857,-65.1300,780.3613, 2216} +, { 1,216, 2.54881,-32.0566,104.0012,-65.1300,780.0588, 2217} +, { 1,217, 2.48160,-29.7364,114.0166,-65.1300,779.7563, 2218} +, { 1,218, 2.41742,-27.7042,124.0321,-65.1300,779.4538, 2219} +, { 1,219, 2.35621,-25.9138,134.0475,-65.1300,779.1513, 2220} +, { 1,220, 2.29787,-24.3274,144.0629,-65.1300,778.8488, 2221} +, { 1,221, 2.99057,-72.3732, 23.8777,-75.1500,782.4788, 2222} +, { 1,222, 2.94593,-65.7243, 33.8931,-75.1500,782.1763, 2223} +, { 1,223, 2.89159,-59.7031, 43.9086,-75.1500,781.8738, 2224} +, { 1,224, 2.83078,-54.3386, 53.9240,-75.1500,781.5713, 2225} +, { 1,225, 2.76625,-49.6081, 63.9395,-75.1500,781.2688, 2226} +, { 1,226, 2.70010,-45.4592, 73.9549,-75.1500,780.9663, 2227} +, { 1,227, 2.63384,-41.8272, 83.9703,-75.1500,780.6638, 2228} +, { 1,228, 2.56851,-38.6455, 93.9857,-75.1500,780.3613, 2229} +, { 1,229, 2.50475,-35.8514,104.0012,-75.1500,780.0588, 2230} +, { 1,230, 2.44298,-33.3895,114.0166,-75.1500,779.7563, 2231} +, { 1,231, 2.38340,-31.2113,124.0321,-75.1500,779.4538, 2232} +, { 1,232, 2.32609,-29.2760,134.0475,-75.1500,779.1513, 2233} +, { 1,233, 2.27108,-27.5487,144.0629,-75.1500,778.8488, 2234} +, { 1,234, 2.87631,-74.3390, 23.8777,-85.1700,782.4788, 2235} +, { 1,235, 2.84049,-68.3001, 33.8931,-85.1700,782.1763, 2236} +, { 1,236, 2.79608,-62.7271, 43.9086,-85.1700,781.8738, 2237} +, { 1,237, 2.74539,-57.6607, 53.9240,-85.1700,781.5713, 2238} +, { 1,238, 2.69054,-53.1034, 63.9395,-85.1700,781.2688, 2239} +, { 1,239, 2.63326,-49.0315, 73.9549,-85.1700,780.9663, 2240} +, { 1,240, 2.57493,-45.4064, 83.9703,-85.1700,780.6638, 2241} +, { 1,241, 2.51655,-42.1829, 93.9857,-85.1700,780.3613, 2242} +, { 1,242, 2.45885,-39.3152,104.0012,-85.1700,780.0588, 2243} +, { 1,243, 2.40231,-36.7596,114.0166,-85.1700,779.7563, 2244} +, { 1,244, 2.34724,-34.4765,124.0321,-85.1700,779.4538, 2245} +, { 1,245, 2.29383,-32.4307,134.0475,-85.1700,779.1513, 2246} +, { 1,246, 2.24219,-30.5916,144.0629,-85.1700,778.8488, 2247} +, { 1,247, 2.77314,-75.9183, 23.8777,-95.1900,782.4788, 2248} +, { 1,248, 2.74382,-70.4013, 33.8931,-95.1900,782.1763, 2249} +, { 1,249, 2.70697,-65.2374, 43.9086,-95.1900,781.8738, 2250} +, { 1,250, 2.66428,-60.4690, 53.9240,-95.1900,781.5713, 2251} +, { 1,251, 2.61734,-56.1106, 63.9395,-95.1900,781.2688, 2252} +, { 1,252, 2.56758,-52.1557, 73.9549,-95.1900,780.9663, 2253} +, { 1,253, 2.51617,-48.5834, 83.9703,-95.1900,780.6638, 2254} +, { 1,254, 2.46405,-45.3647, 93.9857,-95.1900,780.3613, 2255} +, { 1,255, 2.41192,-42.4672,104.0012,-95.1900,780.0588, 2256} +, { 1,256, 2.36030,-39.8578,114.0166,-95.1900,779.7563, 2257} +, { 1,257, 2.30956,-37.5049,124.0321,-95.1900,779.4538, 2258} +, { 1,258, 2.25995,-35.3794,134.0475,-95.1900,779.1513, 2259} +, { 1,259, 2.21164,-33.4549,144.0629,-95.1900,778.8488, 2260} +}; + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "========================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and FCS/ECAL hits on single muons" << std::endl; + LOG_TEST << "========================================================" << std::endl; + + auto testCalos = [=](std::vector& calorimeter, bool dowcal) { + + for ( auto cell : calorimeter ) { + pm->SetVertex(cell.x,cell.y,cell.z-100.0); + + auto* chain = StMaker::GetChain(); + { + const double pz = 10.0; + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* particle = _kine->AddParticle( "mu+" ); + particle->SetPx( 0. ); + particle->SetPy( 0. ); + particle->SetPz( pz ); + double mass = particle->GetMass(); + double ener = sqrt( pz*pz + mass*mass ); + particle->SetEnergy(ener); + chain->Clear(); + chain->Make(); + } + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + if ( dowcal ) + hit_table = dynamic_cast( chain->GetDataSet("g2t_wca_hit") ) ; + else + hit_table = dynamic_cast( chain->GetDataSet("g2t_hca_hit") ) ; + + LOG_TEST << GIVEN << "a 500 GeV muon @ eta=" << cell.eta << " phi=" << cell.phi << " volume=" << cell.volumeId << std::endl; + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + // Failure is tested by check_track when it tests for a valid track pointer + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "The start vertex should be before the calorimeter", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) + if ( vertex->ge_x[2] < cell.z ) + result = PASS; + return result; + }); + + check_track( "The track should have a stop vertex", [=](const g2t_track_st* t){ + return (t->stop_vertex_p>0)?PASS:FAIL; + }); + check_track( "The stop vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + + check_track( "The stop vertex should be after the calorimeter face", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_x[2] >= cell.z ) + result = PASS; + else + result = Form("stop z=%8.4f ",vertex->ge_x[2]) + FAIL; + } + return result; + }); + + + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + + if ( dowcal ) + check_track( "The track should have WCA hits" , [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->n_wca_hit < 1 ) result = FAIL; + return result; + }); + else + check_track( "The track should have HCA hits" , [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->n_hca_hit < 1 ) result = FAIL; + return result; + }); + + // check_track( "The track should have PRE hits" , [=](const g2t_track_st* t){ + // std::string result = PASS; + // if ( t->n_pre_hit < 1 ) result = FAIL; + // return result; + // }); + + + check_emc_hit( Form("The hit has the expected volume ID %s",(dowcal)?"WCAL":"HCAL"), [=](const g2t_emc_hit_st* h){ + int volumeId = h->volume_id; + int expected = cell.volumeId; + int nhits = hit_table->GetNRows(); + int actual = -999; + double emax = -999; + for ( int i=0; iAt(i); + const g2t_emc_hit_st* h = static_cast( voidhit ); + if ( h->de > emax ) { + emax = h->de; + actual = h->volume_id; + } + } + std::string result = PASS; + if ( actual != expected ) { + result = FAIL; + } + result = Form("(expect=%i actual=%i)",expected,actual) + result; + return result; + }); + + } + + + }; + + testCalos( wcal, true ); + testCalos( hcal, false ); + +} + + + +#if 0 +std::vector wcal = { + { 0, 0, 2.75399,102.4419, 1001} + , { 0, 1, 2.73960,105.7065, 1002} + , { 0, 2, 2.72233,108.8698, 1003} + , { 0, 3, 2.70249,111.9182, 1004} + , { 0, 4, 2.68040,114.8415, 1005} + , { 0, 5, 2.65638,117.6331, 1006} + , { 0, 6, 2.63075,120.2893, 1007} + , { 0, 7, 2.60380,122.8091, 1008} + , { 0, 8, 2.57581,125.1937, 1009} + , { 0, 9, 2.54702,127.4462, 1010} + , { 0, 10, 2.51766,129.5709, 1011} + , { 0, 11, 2.48791,131.5728, 1012} + , { 0, 12, 2.45794,133.4580, 1013} + , { 0, 13, 2.42789,135.2326, 1014} + , { 0, 14, 2.39788,136.9028, 1015} + , { 0, 15, 2.36801,138.4752, 1016} + , { 0, 16, 2.33837,139.9558, 1017} + , { 0, 17, 2.30901,141.3506, 1018} + , { 0, 18, 2.27999,142.6654, 1019} + , { 0, 19, 2.25136,143.9056, 1020} + , { 0, 20, 2.22314,145.0762, 1021} + , { 0, 21, 2.19537,146.1822, 1022} + , { 0, 22, 2.81298,103.2173, 1023} + , { 0, 23, 2.79681,106.6652, 1024} + , { 0, 24, 2.77748,109.9934, 1025} + , { 0, 25, 2.75536,113.1867, 1026} + , { 0, 26, 2.73085,116.2347, 1027} + , { 0, 27, 2.70433,119.1309, 1028} + , { 0, 28, 2.67616,121.8728, 1029} + , { 0, 29, 2.64669,124.4607, 1030} + , { 0, 30, 2.61623,126.8977, 1031} + , { 0, 31, 2.58506,129.1885, 1032} + , { 0, 32, 2.55341,131.3391, 1033} + , { 0, 33, 2.52148,133.3566, 1034} + , { 0, 34, 2.48945,135.2483, 1035} + , { 0, 35, 2.45747,137.0220, 1036} + , { 0, 36, 2.42565,138.6851, 1037} + , { 0, 37, 2.39408,140.2452, 1038} + , { 0, 38, 2.36286,141.7095, 1039} + , { 0, 39, 2.33203,143.0848, 1040} + , { 0, 40, 2.30164,144.3775, 1041} + , { 0, 41, 2.27174,145.5936, 1042} + , { 0, 42, 2.24234,146.7387, 1043} + , { 0, 43, 2.21346,147.8181, 1044} + , { 0, 44, 2.87553,104.0936, 1045} + , { 0, 45, 2.85724,107.7445, 1046} + , { 0, 46, 2.83547,111.2526, 1047} + , { 0, 47, 2.81069,114.6014, 1048} + , { 0, 48, 2.78337,117.7802, 1049} + , { 0, 49, 2.75397,120.7837, 1050} + , { 0, 50, 2.72292,123.6107, 1051} + , { 0, 51, 2.69062,126.2638, 1052} + , { 0, 52, 2.65742,128.7483, 1053} + , { 0, 53, 2.62362,131.0712, 1054} + , { 0, 54, 2.58948,133.2408, 1055} + , { 0, 55, 2.55520,135.2663, 1056} + , { 0, 56, 2.52097,137.1569, 1057} + , { 0, 57, 2.48694,138.9219, 1058} + , { 0, 58, 2.45320,140.5704, 1059} + , { 0, 59, 2.41987,142.1112, 1060} + , { 0, 60, 2.38700,143.5524, 1061} + , { 0, 61, 2.35465,144.9016, 1062} + , { 0, 62, 2.32286,146.1662, 1063} + , { 0, 63, 2.29166,147.3526, 1064} + , { 0, 64, 2.26106,148.4670, 1065} + , { 0, 65, 2.23108,149.5150, 1066} + , { 0, 66, 2.94206,105.0914, 1067} + , { 0, 67, 2.92122,108.9679, 1068} + , { 0, 68, 2.89654,112.6723, 1069} + , { 0, 69, 2.86861,116.1871, 1070} + , { 0, 70, 2.83801,119.5021, 1071} + , { 0, 71, 2.80530,122.6136, 1072} + , { 0, 72, 2.77098,125.5231, 1073} + , { 0, 73, 2.73551,128.2361, 1074} + , { 0, 74, 2.69926,130.7608, 1075} + , { 0, 75, 2.66258,133.1073, 1076} + , { 0, 76, 2.62573,135.2869, 1077} + , { 0, 77, 2.58893,137.3109, 1078} + , { 0, 78, 2.55236,139.1910, 1079} + , { 0, 79, 2.51615,140.9384, 1080} + , { 0, 80, 2.48042,142.5636, 1081} + , { 0, 81, 2.44524,144.0767, 1082} + , { 0, 82, 2.41068,145.4871, 1083} + , { 0, 83, 2.37677,146.8032, 1084} + , { 0, 84, 2.34355,148.0330, 1085} + , { 0, 85, 2.31103,149.1836, 1086} + , { 0, 86, 2.27922,150.2617, 1087} + , { 0, 87, 2.24812,151.2731, 1088} + , { 0, 88, 3.01304,106.2373, 1089} + , { 0, 89, 2.98909,110.3648, 1090} + , { 0, 90, 2.96092,114.2830, 1091} + , { 0, 91, 2.92926,117.9738, 1092} + , { 0, 92, 2.89482,121.4286, 1093} + , { 0, 93, 2.85829,124.6464, 1094} + , { 0, 94, 2.82025,127.6327, 1095} + , { 0, 95, 2.78120,130.3971, 1096} + , { 0, 96, 2.74159,132.9517, 1097} + , { 0, 97, 2.70176,135.3107, 1098} + , { 0, 98, 2.66198,137.4885, 1099} + , { 0, 99, 2.62248,139.4996, 1100} + , { 0,100, 2.58342,141.3580, 1101} + , { 0,101, 2.54494,143.0769, 1102} + , { 0,102, 2.50713,144.6688, 1103} + , { 0,103, 2.47005,146.1450, 1104} + , { 0,104, 2.43375,147.5159, 1105} + , { 0,105, 2.39826,148.7910, 1106} + , { 0,106, 2.36359,149.9789, 1107} + , { 0,107, 2.32975,151.0872, 1108} + , { 0,108, 2.29672,152.1230, 1109} + , { 0,109, 2.26452,153.0925, 1110} + , { 0,110, 3.08904,107.5656, 1111} + , { 0,111, 3.06127,111.9728, 1112} + , { 0,112, 3.02884,116.1229, 1113} + , { 0,113, 2.99272,119.9982, 1114} + , { 0,114, 2.95378,123.5931, 1115} + , { 0,115, 2.91283,126.9118, 1116} + , { 0,116, 2.87055,129.9650, 1117} + , { 0,117, 2.82752,132.7681, 1118} + , { 0,118, 2.78418,135.3387, 1119} + , { 0,119, 2.74092,137.6954, 1120} + , { 0,120, 2.69800,139.8569, 1121} + , { 0,121, 2.65563,141.8409, 1122} + , { 0,122, 2.61396,143.6643, 1123} + , { 0,123, 2.57312,145.3425, 1124} + , { 0,124, 2.53316,146.8897, 1125} + , { 0,125, 2.49413,148.3186, 1126} + , { 0,126, 2.45607,149.6406, 1127} + , { 0,127, 2.41898,150.8661, 1128} + , { 0,128, 2.38286,152.0042, 1129} + , { 0,129, 2.34769,153.0633, 1130} + , { 0,130, 2.31347,154.0505, 1131} + , { 0,131, 2.28016,154.9724, 1132} + , { 0,132, 3.17069,109.1218, 1133} + , { 0,133, 3.13815,113.8407, 1134} + , { 0,134, 3.10053,118.2401, 1135} + , { 0,135, 3.05904,122.3048, 1136} + , { 0,136, 3.01479,126.0353, 1137} + , { 0,137, 2.96874,129.4434, 1138} + , { 0,138, 2.92165,132.5480, 1139} + , { 0,139, 2.87417,135.3720, 1140} + , { 0,140, 2.82676,137.9397, 1141} + , { 0,141, 2.77978,140.2755, 1142} + , { 0,142, 2.73351,142.4027, 1143} + , { 0,143, 2.68812,144.3429, 1144} + , { 0,144, 2.64374,146.1158, 1145} + , { 0,145, 2.60045,147.7391, 1146} + , { 0,146, 2.55830,149.2288, 1147} + , { 0,147, 2.51731,150.5988, 1148} + , { 0,148, 2.47747,151.8617, 1149} + , { 0,149, 2.43878,153.0284, 1150} + , { 0,150, 2.40122,154.1087, 1151} + , { 0,151, 2.36475,155.1111, 1152} + , { 0,152, 2.32934,156.0432, 1153} + , { 0,153, 2.29497,156.9117, 1154} + , { 0,154, 3.25874,110.9669, 1155} + , { 0,155, 3.22016,116.0317, 1156} + , { 0,156, 3.17611,120.6947, 1157} + , { 0,157, 3.12815,124.9477, 1158} + , { 0,158, 3.07764,128.8015, 1159} + , { 0,159, 3.02570,132.2795, 1160} + , { 0,160, 2.97319,135.4122, 1161} + , { 0,161, 2.92078,138.2323, 1162} + , { 0,162, 2.86893,140.7726, 1163} + , { 0,163, 2.81799,143.0641, 1164} + , { 0,164, 2.76818,145.1354, 1165} + , { 0,165, 2.71965,147.0120, 1166} + , { 0,166, 2.67248,148.7166, 1167} + , { 0,167, 2.62670,150.2692, 1168} + , { 0,168, 2.58234,151.6873, 1169} + , { 0,169, 2.53938,152.9860, 1170} + , { 0,170, 2.49778,154.1788, 1171} + , { 0,171, 2.45752,155.2770, 1172} + , { 0,172, 2.41854,156.2908, 1173} + , { 0,173, 2.38080,157.2291, 1174} + , { 0,174, 2.34424,158.0994, 1175} + , { 0,175, 2.30883,158.9086, 1176} + , { 0,176, 3.35401,113.1847, 1177} + , { 0,177, 3.30770,118.6291, 1178} + , { 0,178, 3.25563,123.5631, 1179} + , { 0,179, 3.19983,127.9921, 1180} + , { 0,180, 3.14195,131.9447, 1181} + , { 0,181, 3.08325,135.4618, 1182} + , { 0,182, 3.02467,138.5892, 1183} + , { 0,183, 2.96685,141.3723, 1184} + , { 0,184, 2.91024,143.8540, 1185} + , { 0,185, 2.85511,146.0727, 1186} + , { 0,186, 2.80162,148.0624, 1187} + , { 0,187, 2.74986,149.8527, 1188} + , { 0,188, 2.69986,151.4691, 1189} + , { 0,189, 2.65160,152.9336, 1190} + , { 0,190, 2.60504,154.2649, 1191} + , { 0,191, 2.56013,155.4792, 1192} + , { 0,192, 2.51681,156.5902, 1193} + , { 0,193, 2.47502,157.6099, 1194} + , { 0,194, 2.43467,158.5485, 1195} + , { 0,195, 2.39571,159.4149, 1196} + , { 0,196, 2.35806,160.2167, 1197} + , { 0,197, 2.32166,160.9607, 1198} + , { 0,198, 3.45737,115.8914, 1199} + , { 0,199, 3.40100,121.7435, 1200} + , { 0,200, 3.33888,126.9407, 1201} + , { 0,201, 3.27359,131.5155, 1202} + , { 0,202, 3.20707,135.5245, 1203} + , { 0,203, 3.14069,139.0341, 1204} + , { 0,204, 3.07539,142.1101, 1205} + , { 0,205, 3.01175,144.8134, 1206} + , { 0,206, 2.95010,147.1979, 1207} + , { 0,207, 2.89062,149.3097, 1208} + , { 0,208, 2.83338,151.1883, 1209} + , { 0,209, 2.77838,152.8669, 1210} + , { 0,210, 2.72555,154.3732, 1211} + , { 0,211, 2.67484,155.7308, 1212} + , { 0,212, 2.62614,156.9593, 1213} + , { 0,213, 2.57935,158.0753, 1214} + , { 0,214, 2.53438,159.0928, 1215} + , { 0,215, 2.49112,160.0237, 1216} + , { 0,216, 2.44948,160.8783, 1217} + , { 0,217, 2.40936,161.6652, 1218} + , { 0,218, 2.37068,162.3918, 1219} + , { 0,219, 2.33336,163.0647, 1220} + , { 0,220, 3.56964,119.2516, 1221} + , { 0,221, 3.50003,125.5208, 1222} + , { 0,222, 3.42526,130.9454, 1223} + , { 0,223, 3.34854,135.6063, 1224} + , { 0,224, 3.27202,139.6041, 1225} + , { 0,225, 3.19707,143.0394, 1226} + , { 0,226, 3.12448,146.0029, 1227} + , { 0,227, 3.05468,148.5725, 1228} + , { 0,228, 2.98782,150.8134, 1229} + , { 0,229, 2.92394,152.7791, 1230} + , { 0,230, 2.86295,154.5136, 1231} + , { 0,231, 2.80475,156.0526, 1232} + , { 0,232, 2.74919,157.4256, 1233} + , { 0,233, 2.69612,158.6567, 1234} + , { 0,234, 2.64537,159.7658, 1235} + , { 0,235, 2.59681,160.7696, 1236} + , { 0,236, 2.55029,161.6817, 1237} + , { 0,237, 2.50566,162.5138, 1238} + , { 0,238, 2.46282,163.2756, 1239} + , { 0,239, 2.42163,163.9756, 1240} + , { 0,240, 2.38201,164.6206, 1241} + , { 0,241, 2.34384,165.2169, 1242} + , { 0,242, 3.69127,123.5003, 1243} + , { 0,243, 3.60407,130.1520, 1244} + , { 0,244, 3.51349,135.7175, 1245} + , { 0,245, 3.42320,140.3606, 1246} + , { 0,246, 3.33536,144.2451, 1247} + , { 0,247, 3.25107,147.5146, 1248} + , { 0,248, 3.17081,150.2876, 1249} + , { 0,249, 3.09469,152.6587, 1250} + , { 0,250, 3.02262,154.7027, 1251} + , { 0,251, 2.95440,156.4787, 1252} + , { 0,252, 2.88979,158.0334, 1253} + , { 0,253, 2.82854,159.4037, 1254} + , { 0,254, 2.77040,160.6193, 1255} + , { 0,255, 2.71512,161.7041, 1256} + , { 0,256, 2.66249,162.6775, 1257} + , { 0,257, 2.61229,163.5552, 1258} + , { 0,258, 2.56434,164.3504, 1259} + , { 0,259, 2.51848,165.0739, 1260} + , { 0,260, 2.47455,165.7348, 1261} + , { 0,261, 2.43241,166.3407, 1262} + , { 0,262, 2.39193,166.8981, 1263} + , { 0,263, 2.35300,167.4125, 1264} + , { 0,264, 3.82172,128.9722, 1265} + , { 0,265, 3.71123,135.8773, 1266} + , { 0,266, 3.60120,141.4121, 1267} + , { 0,267, 3.49530,145.8703, 1268} + , { 0,268, 3.39509,149.4971, 1269} + , { 0,269, 3.30103,152.4829, 1270} + , { 0,270, 3.21302,154.9713, 1271} + , { 0,271, 3.13069,157.0696, 1272} + , { 0,272, 3.05361,158.8583, 1273} + , { 0,273, 2.98130,160.3983, 1274} + , { 0,274, 2.91333,161.7365, 1275} + , { 0,275, 2.84929,162.9087, 1276} + , { 0,276, 2.78880,163.9433, 1277} + , { 0,277, 2.73154,164.8625, 1278} + , { 0,278, 2.67722,165.6843, 1279} + , { 0,279, 2.62557,166.4231, 1280} + , { 0,280, 2.57638,167.0905, 1281} + , { 0,281, 2.52943,167.6964, 1282} + , { 0,282, 2.48455,168.2487, 1283} + , { 0,283, 2.44157,168.7542, 1284} + , { 0,284, 2.40035,169.2185, 1285} + , { 0,285, 2.36077,169.6464, 1286} + , { 0,286, 3.95803,136.1266, 1287} + , { 0,287, 3.81739,142.9721, 1288} + , { 0,288, 3.68452,148.1753, 1289} + , { 0,289, 3.56159,152.2025, 1290} + , { 0,290, 3.44865,155.3828, 1291} + , { 0,291, 3.34497,157.9432, 1292} + , { 0,292, 3.24957,160.0411, 1293} + , { 0,293, 3.16150,161.7871, 1294} + , { 0,294, 3.07987,163.2602, 1295} + , { 0,295, 3.00393,164.5184, 1296} + , { 0,296, 2.93300,165.6043, 1297} + , { 0,297, 2.86653,166.5505, 1298} + , { 0,298, 2.80403,167.3819, 1299} + , { 0,299, 2.74508,168.1179, 1300} + , { 0,300, 2.68933,168.7738, 1301} + , { 0,301, 2.63646,169.3619, 1302} + , { 0,302, 2.58622,169.8921, 1303} + , { 0,303, 2.53837,170.3723, 1304} + , { 0,304, 2.49269,170.8094, 1305} + , { 0,305, 2.44902,171.2089, 1306} + , { 0,306, 2.40720,171.5752, 1307} + , { 0,307, 2.36708,171.9125, 1308} + , { 0,308, 4.09206,145.5213, 1309} + , { 0,309, 3.91508,151.6843, 1310} + , { 0,310, 3.75764,156.0922, 1311} + , { 0,311, 3.61782,159.3656, 1312} + , { 0,312, 3.49298,161.8775, 1313} + , { 0,313, 3.38067,163.8588, 1314} + , { 0,314, 3.27886,165.4581, 1315} + , { 0,315, 3.18593,166.7742, 1316} + , { 0,316, 3.10053,167.8751, 1317} + , { 0,317, 3.02160,168.8090, 1318} + , { 0,318, 2.94829,169.6108, 1319} + , { 0,319, 2.87987,170.3064, 1320} + , { 0,320, 2.81577,170.9154, 1321} + , { 0,321, 2.75549,171.4530, 1322} + , { 0,322, 2.69861,171.9309, 1323} + , { 0,323, 2.64480,172.3585, 1324} + , { 0,324, 2.59374,172.7432, 1325} + , { 0,325, 2.54518,173.0913, 1326} + , { 0,326, 2.49889,173.4077, 1327} + , { 0,327, 2.45469,173.6964, 1328} + , { 0,328, 2.41240,173.9610, 1329} + , { 0,329, 2.37187,174.2044, 1330} + , { 0,330, 4.20677,157.6063, 1331} + , { 0,331, 3.99276,162.0851, 1332} + , { 0,332, 3.81311,165.1053, 1333} + , { 0,333, 3.65917,167.2686, 1334} + , { 0,334, 3.52488,168.8901, 1335} + , { 0,335, 3.40597,170.1489, 1336} + , { 0,336, 3.29940,171.1535, 1337} + , { 0,337, 3.20291,171.9734, 1338} + , { 0,338, 3.11479,172.6550, 1339} + , { 0,339, 3.03375,173.2304, 1340} + , { 0,340, 2.95875,173.7225, 1341} + , { 0,341, 2.88897,174.1481, 1342} + , { 0,342, 2.82375,174.5199, 1343} + , { 0,343, 2.76255,174.8473, 1344} + , { 0,344, 2.70490,175.1380, 1345} + , { 0,345, 2.65043,175.3976, 1346} + , { 0,346, 2.59881,175.6310, 1347} + , { 0,347, 2.54977,175.8419, 1348} + , { 0,348, 2.50307,176.0334, 1349} + , { 0,349, 2.45851,176.2081, 1350} + , { 0,350, 2.41590,176.3680, 1351} + , { 0,351, 2.37509,176.5150, 1352} + , { 0,352, 4.27581,172.1795, 1353} + , { 0,353, 4.03666,173.8496, 1354} + , { 0,354, 3.84335,174.9334, 1355} + , { 0,355, 3.68121,175.6931, 1356} + , { 0,356, 3.54163,176.2549, 1357} + , { 0,357, 3.41913,176.6873, 1358} + , { 0,358, 3.31000,177.0302, 1359} + , { 0,359, 3.21162,177.3088, 1360} + , { 0,360, 3.12208,177.5397, 1361} + , { 0,361, 3.03993,177.7341, 1362} + , { 0,362, 2.96406,177.9000, 1363} + , { 0,363, 2.89359,178.0433, 1364} + , { 0,364, 2.82780,178.1683, 1365} + , { 0,365, 2.76612,178.2783, 1366} + , { 0,366, 2.70808,178.3759, 1367} + , { 0,367, 2.65327,178.4629, 1368} + , { 0,368, 2.60137,178.5412, 1369} + , { 0,369, 2.55209,178.6118, 1370} + , { 0,370, 2.50518,178.6759, 1371} + , { 0,371, 2.46043,178.7344, 1372} + , { 0,372, 2.41766,178.7879, 1373} + , { 0,373, 2.37670,178.8371, 1374} + , { 0,374, 4.27581,-172.1795, 1375} + , { 0,375, 4.03666,-173.8496, 1376} + , { 0,376, 3.84335,-174.9334, 1377} + , { 0,377, 3.68121,-175.6931, 1378} + , { 0,378, 3.54163,-176.2549, 1379} + , { 0,379, 3.41913,-176.6873, 1380} + , { 0,380, 3.31000,-177.0302, 1381} + , { 0,381, 3.21162,-177.3088, 1382} + , { 0,382, 3.12208,-177.5397, 1383} + , { 0,383, 3.03993,-177.7341, 1384} + , { 0,384, 2.96406,-177.9000, 1385} + , { 0,385, 2.89359,-178.0433, 1386} + , { 0,386, 2.82780,-178.1683, 1387} + , { 0,387, 2.76612,-178.2783, 1388} + , { 0,388, 2.70808,-178.3759, 1389} + , { 0,389, 2.65327,-178.4629, 1390} + , { 0,390, 2.60137,-178.5412, 1391} + , { 0,391, 2.55209,-178.6118, 1392} + , { 0,392, 2.50518,-178.6759, 1393} + , { 0,393, 2.46043,-178.7344, 1394} + , { 0,394, 2.41766,-178.7879, 1395} + , { 0,395, 2.37670,-178.8371, 1396} + , { 0,396, 4.20677,-157.6063, 1397} + , { 0,397, 3.99276,-162.0851, 1398} + , { 0,398, 3.81311,-165.1053, 1399} + , { 0,399, 3.65917,-167.2686, 1400} + , { 0,400, 3.52488,-168.8901, 1401} + , { 0,401, 3.40597,-170.1489, 1402} + , { 0,402, 3.29940,-171.1535, 1403} + , { 0,403, 3.20291,-171.9734, 1404} + , { 0,404, 3.11479,-172.6550, 1405} + , { 0,405, 3.03375,-173.2304, 1406} + , { 0,406, 2.95875,-173.7225, 1407} + , { 0,407, 2.88897,-174.1481, 1408} + , { 0,408, 2.82375,-174.5199, 1409} + , { 0,409, 2.76255,-174.8473, 1410} + , { 0,410, 2.70490,-175.1380, 1411} + , { 0,411, 2.65043,-175.3976, 1412} + , { 0,412, 2.59881,-175.6310, 1413} + , { 0,413, 2.54977,-175.8419, 1414} + , { 0,414, 2.50307,-176.0334, 1415} + , { 0,415, 2.45851,-176.2081, 1416} + , { 0,416, 2.41590,-176.3680, 1417} + , { 0,417, 2.37509,-176.5150, 1418} + , { 0,418, 4.09206,-145.5213, 1419} + , { 0,419, 3.91508,-151.6843, 1420} + , { 0,420, 3.75764,-156.0922, 1421} + , { 0,421, 3.61782,-159.3656, 1422} + , { 0,422, 3.49298,-161.8775, 1423} + , { 0,423, 3.38067,-163.8588, 1424} + , { 0,424, 3.27886,-165.4581, 1425} + , { 0,425, 3.18593,-166.7742, 1426} + , { 0,426, 3.10053,-167.8751, 1427} + , { 0,427, 3.02160,-168.8090, 1428} + , { 0,428, 2.94829,-169.6108, 1429} + , { 0,429, 2.87987,-170.3064, 1430} + , { 0,430, 2.81577,-170.9154, 1431} + , { 0,431, 2.75549,-171.4530, 1432} + , { 0,432, 2.69861,-171.9309, 1433} + , { 0,433, 2.64480,-172.3585, 1434} + , { 0,434, 2.59374,-172.7432, 1435} + , { 0,435, 2.54518,-173.0913, 1436} + , { 0,436, 2.49889,-173.4077, 1437} + , { 0,437, 2.45469,-173.6964, 1438} + , { 0,438, 2.41240,-173.9610, 1439} + , { 0,439, 2.37187,-174.2044, 1440} + , { 0,440, 3.95803,-136.1266, 1441} + , { 0,441, 3.81739,-142.9721, 1442} + , { 0,442, 3.68452,-148.1754, 1443} + , { 0,443, 3.56159,-152.2025, 1444} + , { 0,444, 3.44865,-155.3828, 1445} + , { 0,445, 3.34497,-157.9432, 1446} + , { 0,446, 3.24957,-160.0411, 1447} + , { 0,447, 3.16150,-161.7871, 1448} + , { 0,448, 3.07987,-163.2602, 1449} + , { 0,449, 3.00393,-164.5184, 1450} + , { 0,450, 2.93300,-165.6043, 1451} + , { 0,451, 2.86653,-166.5505, 1452} + , { 0,452, 2.80403,-167.3819, 1453} + , { 0,453, 2.74508,-168.1179, 1454} + , { 0,454, 2.68933,-168.7738, 1455} + , { 0,455, 2.63646,-169.3619, 1456} + , { 0,456, 2.58622,-169.8921, 1457} + , { 0,457, 2.53837,-170.3723, 1458} + , { 0,458, 2.49269,-170.8094, 1459} + , { 0,459, 2.44902,-171.2089, 1460} + , { 0,460, 2.40720,-171.5752, 1461} + , { 0,461, 2.36708,-171.9125, 1462} + , { 0,462, 3.82172,-128.9722, 1463} + , { 0,463, 3.71123,-135.8773, 1464} + , { 0,464, 3.60120,-141.4121, 1465} + , { 0,465, 3.49530,-145.8703, 1466} + , { 0,466, 3.39509,-149.4971, 1467} + , { 0,467, 3.30103,-152.4829, 1468} + , { 0,468, 3.21302,-154.9713, 1469} + , { 0,469, 3.13069,-157.0696, 1470} + , { 0,470, 3.05361,-158.8583, 1471} + , { 0,471, 2.98130,-160.3983, 1472} + , { 0,472, 2.91333,-161.7365, 1473} + , { 0,473, 2.84929,-162.9087, 1474} + , { 0,474, 2.78880,-163.9433, 1475} + , { 0,475, 2.73154,-164.8625, 1476} + , { 0,476, 2.67722,-165.6843, 1477} + , { 0,477, 2.62557,-166.4231, 1478} + , { 0,478, 2.57638,-167.0905, 1479} + , { 0,479, 2.52943,-167.6964, 1480} + , { 0,480, 2.48455,-168.2487, 1481} + , { 0,481, 2.44157,-168.7542, 1482} + , { 0,482, 2.40035,-169.2185, 1483} + , { 0,483, 2.36077,-169.6464, 1484} + , { 0,484, 3.69127,-123.5003, 1485} + , { 0,485, 3.60408,-130.1520, 1486} + , { 0,486, 3.51349,-135.7175, 1487} + , { 0,487, 3.42320,-140.3606, 1488} + , { 0,488, 3.33536,-144.2451, 1489} + , { 0,489, 3.25107,-147.5146, 1490} + , { 0,490, 3.17081,-150.2876, 1491} + , { 0,491, 3.09469,-152.6587, 1492} + , { 0,492, 3.02262,-154.7027, 1493} + , { 0,493, 2.95440,-156.4787, 1494} + , { 0,494, 2.88979,-158.0334, 1495} + , { 0,495, 2.82854,-159.4037, 1496} + , { 0,496, 2.77040,-160.6193, 1497} + , { 0,497, 2.71512,-161.7041, 1498} + , { 0,498, 2.66249,-162.6775, 1499} + , { 0,499, 2.61229,-163.5552, 1500} + , { 0,500, 2.56434,-164.3504, 1501} + , { 0,501, 2.51848,-165.0739, 1502} + , { 0,502, 2.47455,-165.7348, 1503} + , { 0,503, 2.43241,-166.3407, 1504} + , { 0,504, 2.39193,-166.8981, 1505} + , { 0,505, 2.35300,-167.4125, 1506} + , { 0,506, 3.56964,-119.2516, 1507} + , { 0,507, 3.50003,-125.5208, 1508} + , { 0,508, 3.42526,-130.9454, 1509} + , { 0,509, 3.34854,-135.6063, 1510} + , { 0,510, 3.27202,-139.6041, 1511} + , { 0,511, 3.19707,-143.0394, 1512} + , { 0,512, 3.12448,-146.0028, 1513} + , { 0,513, 3.05468,-148.5725, 1514} + , { 0,514, 2.98782,-150.8134, 1515} + , { 0,515, 2.92394,-152.7791, 1516} + , { 0,516, 2.86295,-154.5136, 1517} + , { 0,517, 2.80475,-156.0526, 1518} + , { 0,518, 2.74919,-157.4256, 1519} + , { 0,519, 2.69612,-158.6567, 1520} + , { 0,520, 2.64537,-159.7658, 1521} + , { 0,521, 2.59681,-160.7696, 1522} + , { 0,522, 2.55029,-161.6817, 1523} + , { 0,523, 2.50566,-162.5138, 1524} + , { 0,524, 2.46282,-163.2756, 1525} + , { 0,525, 2.42163,-163.9756, 1526} + , { 0,526, 2.38201,-164.6206, 1527} + , { 0,527, 2.34384,-165.2169, 1528} + , { 0,528, 3.45737,-115.8914, 1529} + , { 0,529, 3.40100,-121.7435, 1530} + , { 0,530, 3.33888,-126.9407, 1531} + , { 0,531, 3.27359,-131.5155, 1532} + , { 0,532, 3.20707,-135.5245, 1533} + , { 0,533, 3.14069,-139.0341, 1534} + , { 0,534, 3.07539,-142.1101, 1535} + , { 0,535, 3.01175,-144.8134, 1536} + , { 0,536, 2.95010,-147.1979, 1537} + , { 0,537, 2.89062,-149.3097, 1538} + , { 0,538, 2.83338,-151.1883, 1539} + , { 0,539, 2.77838,-152.8669, 1540} + , { 0,540, 2.72555,-154.3732, 1541} + , { 0,541, 2.67484,-155.7308, 1542} + , { 0,542, 2.62614,-156.9593, 1543} + , { 0,543, 2.57935,-158.0753, 1544} + , { 0,544, 2.53438,-159.0928, 1545} + , { 0,545, 2.49112,-160.0237, 1546} + , { 0,546, 2.44948,-160.8783, 1547} + , { 0,547, 2.40936,-161.6652, 1548} + , { 0,548, 2.37068,-162.3918, 1549} + , { 0,549, 2.33336,-163.0647, 1550} + , { 0,550, 3.35401,-113.1847, 1551} + , { 0,551, 3.30770,-118.6291, 1552} + , { 0,552, 3.25563,-123.5631, 1553} + , { 0,553, 3.19983,-127.9921, 1554} + , { 0,554, 3.14195,-131.9447, 1555} + , { 0,555, 3.08325,-135.4618, 1556} + , { 0,556, 3.02467,-138.5892, 1557} + , { 0,557, 2.96685,-141.3723, 1558} + , { 0,558, 2.91024,-143.8540, 1559} + , { 0,559, 2.85511,-146.0727, 1560} + , { 0,560, 2.80162,-148.0624, 1561} + , { 0,561, 2.74986,-149.8527, 1562} + , { 0,562, 2.69986,-151.4691, 1563} + , { 0,563, 2.65160,-152.9336, 1564} + , { 0,564, 2.60504,-154.2649, 1565} + , { 0,565, 2.56013,-155.4792, 1566} + , { 0,566, 2.51681,-156.5902, 1567} + , { 0,567, 2.47502,-157.6099, 1568} + , { 0,568, 2.43467,-158.5485, 1569} + , { 0,569, 2.39571,-159.4149, 1570} + , { 0,570, 2.35806,-160.2167, 1571} + , { 0,571, 2.32166,-160.9607, 1572} + , { 0,572, 3.25874,-110.9669, 1573} + , { 0,573, 3.22016,-116.0317, 1574} + , { 0,574, 3.17611,-120.6947, 1575} + , { 0,575, 3.12815,-124.9477, 1576} + , { 0,576, 3.07764,-128.8015, 1577} + , { 0,577, 3.02570,-132.2795, 1578} + , { 0,578, 2.97319,-135.4122, 1579} + , { 0,579, 2.92078,-138.2323, 1580} + , { 0,580, 2.86893,-140.7726, 1581} + , { 0,581, 2.81799,-143.0641, 1582} + , { 0,582, 2.76818,-145.1354, 1583} + , { 0,583, 2.71965,-147.0120, 1584} + , { 0,584, 2.67248,-148.7166, 1585} + , { 0,585, 2.62670,-150.2692, 1586} + , { 0,586, 2.58234,-151.6873, 1587} + , { 0,587, 2.53938,-152.9860, 1588} + , { 0,588, 2.49778,-154.1788, 1589} + , { 0,589, 2.45752,-155.2770, 1590} + , { 0,590, 2.41854,-156.2908, 1591} + , { 0,591, 2.38080,-157.2291, 1592} + , { 0,592, 2.34424,-158.0994, 1593} + , { 0,593, 2.30883,-158.9086, 1594} + , { 0,594, 3.17069,-109.1218, 1595} + , { 0,595, 3.13815,-113.8407, 1596} + , { 0,596, 3.10053,-118.2401, 1597} + , { 0,597, 3.05904,-122.3048, 1598} + , { 0,598, 3.01479,-126.0353, 1599} + , { 0,599, 2.96874,-129.4434, 1600} + , { 0,600, 2.92165,-132.5480, 1601} + , { 0,601, 2.87417,-135.3720, 1602} + , { 0,602, 2.82676,-137.9397, 1603} + , { 0,603, 2.77978,-140.2755, 1604} + , { 0,604, 2.73351,-142.4027, 1605} + , { 0,605, 2.68812,-144.3429, 1606} + , { 0,606, 2.64374,-146.1158, 1607} + , { 0,607, 2.60045,-147.7391, 1608} + , { 0,608, 2.55830,-149.2288, 1609} + , { 0,609, 2.51731,-150.5988, 1610} + , { 0,610, 2.47747,-151.8617, 1611} + , { 0,611, 2.43878,-153.0284, 1612} + , { 0,612, 2.40122,-154.1087, 1613} + , { 0,613, 2.36475,-155.1111, 1614} + , { 0,614, 2.32934,-156.0432, 1615} + , { 0,615, 2.29497,-156.9117, 1616} + , { 0,616, 3.08904,-107.5656, 1617} + , { 0,617, 3.06127,-111.9728, 1618} + , { 0,618, 3.02884,-116.1229, 1619} + , { 0,619, 2.99272,-119.9982, 1620} + , { 0,620, 2.95378,-123.5931, 1621} + , { 0,621, 2.91283,-126.9118, 1622} + , { 0,622, 2.87055,-129.9650, 1623} + , { 0,623, 2.82752,-132.7681, 1624} + , { 0,624, 2.78418,-135.3387, 1625} + , { 0,625, 2.74092,-137.6954, 1626} + , { 0,626, 2.69800,-139.8569, 1627} + , { 0,627, 2.65563,-141.8409, 1628} + , { 0,628, 2.61396,-143.6643, 1629} + , { 0,629, 2.57312,-145.3426, 1630} + , { 0,630, 2.53316,-146.8897, 1631} + , { 0,631, 2.49413,-148.3186, 1632} + , { 0,632, 2.45607,-149.6406, 1633} + , { 0,633, 2.41898,-150.8661, 1634} + , { 0,634, 2.38286,-152.0042, 1635} + , { 0,635, 2.34769,-153.0633, 1636} + , { 0,636, 2.31347,-154.0505, 1637} + , { 0,637, 2.28016,-154.9724, 1638} + , { 0,638, 3.01304,-106.2373, 1639} + , { 0,639, 2.98909,-110.3648, 1640} + , { 0,640, 2.96092,-114.2830, 1641} + , { 0,641, 2.92926,-117.9738, 1642} + , { 0,642, 2.89482,-121.4286, 1643} + , { 0,643, 2.85829,-124.6464, 1644} + , { 0,644, 2.82025,-127.6327, 1645} + , { 0,645, 2.78120,-130.3971, 1646} + , { 0,646, 2.74159,-132.9517, 1647} + , { 0,647, 2.70176,-135.3107, 1648} + , { 0,648, 2.66198,-137.4885, 1649} + , { 0,649, 2.62248,-139.4996, 1650} + , { 0,650, 2.58342,-141.3580, 1651} + , { 0,651, 2.54494,-143.0769, 1652} + , { 0,652, 2.50713,-144.6688, 1653} + , { 0,653, 2.47005,-146.1450, 1654} + , { 0,654, 2.43375,-147.5159, 1655} + , { 0,655, 2.39826,-148.7910, 1656} + , { 0,656, 2.36359,-149.9789, 1657} + , { 0,657, 2.32975,-151.0872, 1658} + , { 0,658, 2.29672,-152.1230, 1659} + , { 0,659, 2.26452,-153.0925, 1660} + , { 0,660, 2.94206,-105.0914, 1661} + , { 0,661, 2.92122,-108.9679, 1662} + , { 0,662, 2.89654,-112.6723, 1663} + , { 0,663, 2.86861,-116.1871, 1664} + , { 0,664, 2.83801,-119.5021, 1665} + , { 0,665, 2.80530,-122.6136, 1666} + , { 0,666, 2.77098,-125.5231, 1667} + , { 0,667, 2.73551,-128.2361, 1668} + , { 0,668, 2.69926,-130.7608, 1669} + , { 0,669, 2.66258,-133.1073, 1670} + , { 0,670, 2.62573,-135.2869, 1671} + , { 0,671, 2.58893,-137.3109, 1672} + , { 0,672, 2.55236,-139.1910, 1673} + , { 0,673, 2.51615,-140.9384, 1674} + , { 0,674, 2.48042,-142.5636, 1675} + , { 0,675, 2.44524,-144.0767, 1676} + , { 0,676, 2.41068,-145.4871, 1677} + , { 0,677, 2.37677,-146.8032, 1678} + , { 0,678, 2.34355,-148.0330, 1679} + , { 0,679, 2.31103,-149.1836, 1680} + , { 0,680, 2.27922,-150.2617, 1681} + , { 0,681, 2.24812,-151.2731, 1682} + , { 0,682, 2.87553,-104.0936, 1683} + , { 0,683, 2.85724,-107.7445, 1684} + , { 0,684, 2.83547,-111.2526, 1685} + , { 0,685, 2.81069,-114.6014, 1686} + , { 0,686, 2.78337,-117.7802, 1687} + , { 0,687, 2.75397,-120.7837, 1688} + , { 0,688, 2.72292,-123.6107, 1689} + , { 0,689, 2.69062,-126.2638, 1690} + , { 0,690, 2.65742,-128.7483, 1691} + , { 0,691, 2.62362,-131.0712, 1692} + , { 0,692, 2.58948,-133.2408, 1693} + , { 0,693, 2.55520,-135.2663, 1694} + , { 0,694, 2.52097,-137.1569, 1695} + , { 0,695, 2.48694,-138.9219, 1696} + , { 0,696, 2.45320,-140.5704, 1697} + , { 0,697, 2.41987,-142.1112, 1698} + , { 0,698, 2.38700,-143.5524, 1699} + , { 0,699, 2.35465,-144.9016, 1700} + , { 0,700, 2.32286,-146.1662, 1701} + , { 0,701, 2.29166,-147.3526, 1702} + , { 0,702, 2.26106,-148.4670, 1703} + , { 0,703, 2.23108,-149.5150, 1704} + , { 0,704, 2.81298,-103.2172, 1705} + , { 0,705, 2.79681,-106.6652, 1706} + , { 0,706, 2.77748,-109.9934, 1707} + , { 0,707, 2.75536,-113.1867, 1708} + , { 0,708, 2.73085,-116.2346, 1709} + , { 0,709, 2.70433,-119.1309, 1710} + , { 0,710, 2.67616,-121.8728, 1711} + , { 0,711, 2.64669,-124.4607, 1712} + , { 0,712, 2.61623,-126.8977, 1713} + , { 0,713, 2.58506,-129.1885, 1714} + , { 0,714, 2.55341,-131.3391, 1715} + , { 0,715, 2.52148,-133.3566, 1716} + , { 0,716, 2.48945,-135.2483, 1717} + , { 0,717, 2.45747,-137.0220, 1718} + , { 0,718, 2.42565,-138.6851, 1719} + , { 0,719, 2.39408,-140.2452, 1720} + , { 0,720, 2.36286,-141.7095, 1721} + , { 0,721, 2.33203,-143.0848, 1722} + , { 0,722, 2.30164,-144.3775, 1723} + , { 0,723, 2.27174,-145.5936, 1724} + , { 0,724, 2.24234,-146.7387, 1725} + , { 0,725, 2.21346,-147.8181, 1726} + , { 0,726, 2.75399,-102.4419, 1727} + , { 0,727, 2.73960,-105.7065, 1728} + , { 0,728, 2.72233,-108.8698, 1729} + , { 0,729, 2.70249,-111.9182, 1730} + , { 0,730, 2.68040,-114.8415, 1731} + , { 0,731, 2.65638,-117.6331, 1732} + , { 0,732, 2.63075,-120.2893, 1733} + , { 0,733, 2.60380,-122.8091, 1734} + , { 0,734, 2.57581,-125.1937, 1735} + , { 0,735, 2.54702,-127.4462, 1736} + , { 0,736, 2.51766,-129.5709, 1737} + , { 0,737, 2.48791,-131.5728, 1738} + , { 0,738, 2.45794,-133.4580, 1739} + , { 0,739, 2.42789,-135.2326, 1740} + , { 0,740, 2.39788,-136.9028, 1741} + , { 0,741, 2.36801,-138.4752, 1742} + , { 0,742, 2.33837,-139.9558, 1743} + , { 0,743, 2.30901,-141.3506, 1744} + , { 0,744, 2.27999,-142.6654, 1745} + , { 0,745, 2.25136,-143.9056, 1746} + , { 0,746, 2.22314,-145.0762, 1747} + , { 0,747, 2.19537,-146.1822, 1748} + , { 1, 0, 2.75399, 77.5581, 2001} + , { 1, 1, 2.73960, 74.2935, 2002} + , { 1, 2, 2.72233, 71.1302, 2003} + , { 1, 3, 2.70249, 68.0818, 2004} + , { 1, 4, 2.68040, 65.1585, 2005} + , { 1, 5, 2.65638, 62.3669, 2006} + , { 1, 6, 2.63075, 59.7107, 2007} + , { 1, 7, 2.60380, 57.1909, 2008} + , { 1, 8, 2.57581, 54.8063, 2009} + , { 1, 9, 2.54702, 52.5538, 2010} + , { 1, 10, 2.51766, 50.4291, 2011} + , { 1, 11, 2.48791, 48.4272, 2012} + , { 1, 12, 2.45794, 46.5420, 2013} + , { 1, 13, 2.42789, 44.7674, 2014} + , { 1, 14, 2.39788, 43.0972, 2015} + , { 1, 15, 2.36801, 41.5248, 2016} + , { 1, 16, 2.33837, 40.0442, 2017} + , { 1, 17, 2.30901, 38.6494, 2018} + , { 1, 18, 2.27999, 37.3346, 2019} + , { 1, 19, 2.25136, 36.0944, 2020} + , { 1, 20, 2.22314, 34.9238, 2021} + , { 1, 21, 2.19537, 33.8178, 2022} + , { 1, 22, 2.81298, 76.7827, 2023} + , { 1, 23, 2.79681, 73.3348, 2024} + , { 1, 24, 2.77748, 70.0066, 2025} + , { 1, 25, 2.75536, 66.8133, 2026} + , { 1, 26, 2.73085, 63.7653, 2027} + , { 1, 27, 2.70433, 60.8691, 2028} + , { 1, 28, 2.67616, 58.1272, 2029} + , { 1, 29, 2.64669, 55.5393, 2030} + , { 1, 30, 2.61623, 53.1023, 2031} + , { 1, 31, 2.58506, 50.8115, 2032} + , { 1, 32, 2.55341, 48.6609, 2033} + , { 1, 33, 2.52148, 46.6434, 2034} + , { 1, 34, 2.48945, 44.7517, 2035} + , { 1, 35, 2.45747, 42.9780, 2036} + , { 1, 36, 2.42565, 41.3149, 2037} + , { 1, 37, 2.39408, 39.7548, 2038} + , { 1, 38, 2.36286, 38.2905, 2039} + , { 1, 39, 2.33203, 36.9152, 2040} + , { 1, 40, 2.30164, 35.6225, 2041} + , { 1, 41, 2.27174, 34.4064, 2042} + , { 1, 42, 2.24234, 33.2613, 2043} + , { 1, 43, 2.21346, 32.1819, 2044} + , { 1, 44, 2.87553, 75.9064, 2045} + , { 1, 45, 2.85724, 72.2555, 2046} + , { 1, 46, 2.83547, 68.7474, 2047} + , { 1, 47, 2.81069, 65.3986, 2048} + , { 1, 48, 2.78337, 62.2198, 2049} + , { 1, 49, 2.75397, 59.2163, 2050} + , { 1, 50, 2.72292, 56.3893, 2051} + , { 1, 51, 2.69062, 53.7362, 2052} + , { 1, 52, 2.65742, 51.2517, 2053} + , { 1, 53, 2.62362, 48.9288, 2054} + , { 1, 54, 2.58948, 46.7592, 2055} + , { 1, 55, 2.55520, 44.7337, 2056} + , { 1, 56, 2.52097, 42.8431, 2057} + , { 1, 57, 2.48694, 41.0781, 2058} + , { 1, 58, 2.45320, 39.4296, 2059} + , { 1, 59, 2.41987, 37.8888, 2060} + , { 1, 60, 2.38700, 36.4476, 2061} + , { 1, 61, 2.35465, 35.0984, 2062} + , { 1, 62, 2.32286, 33.8338, 2063} + , { 1, 63, 2.29166, 32.6474, 2064} + , { 1, 64, 2.26106, 31.5330, 2065} + , { 1, 65, 2.23108, 30.4850, 2066} + , { 1, 66, 2.94206, 74.9086, 2067} + , { 1, 67, 2.92122, 71.0321, 2068} + , { 1, 68, 2.89654, 67.3277, 2069} + , { 1, 69, 2.86861, 63.8129, 2070} + , { 1, 70, 2.83801, 60.4979, 2071} + , { 1, 71, 2.80530, 57.3864, 2072} + , { 1, 72, 2.77098, 54.4769, 2073} + , { 1, 73, 2.73551, 51.7639, 2074} + , { 1, 74, 2.69926, 49.2392, 2075} + , { 1, 75, 2.66258, 46.8927, 2076} + , { 1, 76, 2.62573, 44.7131, 2077} + , { 1, 77, 2.58893, 42.6891, 2078} + , { 1, 78, 2.55236, 40.8090, 2079} + , { 1, 79, 2.51615, 39.0616, 2080} + , { 1, 80, 2.48042, 37.4364, 2081} + , { 1, 81, 2.44524, 35.9233, 2082} + , { 1, 82, 2.41068, 34.5129, 2083} + , { 1, 83, 2.37677, 33.1968, 2084} + , { 1, 84, 2.34355, 31.9670, 2085} + , { 1, 85, 2.31103, 30.8164, 2086} + , { 1, 86, 2.27922, 29.7383, 2087} + , { 1, 87, 2.24812, 28.7269, 2088} + , { 1, 88, 3.01304, 73.7627, 2089} + , { 1, 89, 2.98909, 69.6352, 2090} + , { 1, 90, 2.96092, 65.7170, 2091} + , { 1, 91, 2.92926, 62.0262, 2092} + , { 1, 92, 2.89482, 58.5714, 2093} + , { 1, 93, 2.85829, 55.3536, 2094} + , { 1, 94, 2.82025, 52.3673, 2095} + , { 1, 95, 2.78120, 49.6029, 2096} + , { 1, 96, 2.74159, 47.0483, 2097} + , { 1, 97, 2.70176, 44.6893, 2098} + , { 1, 98, 2.66198, 42.5115, 2099} + , { 1, 99, 2.62248, 40.5004, 2100} + , { 1,100, 2.58342, 38.6420, 2101} + , { 1,101, 2.54494, 36.9231, 2102} + , { 1,102, 2.50713, 35.3312, 2103} + , { 1,103, 2.47005, 33.8550, 2104} + , { 1,104, 2.43375, 32.4841, 2105} + , { 1,105, 2.39826, 31.2090, 2106} + , { 1,106, 2.36359, 30.0211, 2107} + , { 1,107, 2.32975, 28.9128, 2108} + , { 1,108, 2.29672, 27.8770, 2109} + , { 1,109, 2.26452, 26.9075, 2110} + , { 1,110, 3.08904, 72.4344, 2111} + , { 1,111, 3.06127, 68.0272, 2112} + , { 1,112, 3.02884, 63.8771, 2113} + , { 1,113, 2.99272, 60.0018, 2114} + , { 1,114, 2.95378, 56.4069, 2115} + , { 1,115, 2.91283, 53.0882, 2116} + , { 1,116, 2.87055, 50.0350, 2117} + , { 1,117, 2.82752, 47.2319, 2118} + , { 1,118, 2.78418, 44.6613, 2119} + , { 1,119, 2.74092, 42.3046, 2120} + , { 1,120, 2.69800, 40.1431, 2121} + , { 1,121, 2.65563, 38.1591, 2122} + , { 1,122, 2.61396, 36.3357, 2123} + , { 1,123, 2.57312, 34.6575, 2124} + , { 1,124, 2.53316, 33.1103, 2125} + , { 1,125, 2.49413, 31.6814, 2126} + , { 1,126, 2.45607, 30.3594, 2127} + , { 1,127, 2.41898, 29.1339, 2128} + , { 1,128, 2.38286, 27.9958, 2129} + , { 1,129, 2.34769, 26.9367, 2130} + , { 1,130, 2.31347, 25.9495, 2131} + , { 1,131, 2.28016, 25.0276, 2132} + , { 1,132, 3.17069, 70.8782, 2133} + , { 1,133, 3.13815, 66.1593, 2134} + , { 1,134, 3.10053, 61.7599, 2135} + , { 1,135, 3.05904, 57.6952, 2136} + , { 1,136, 3.01479, 53.9647, 2137} + , { 1,137, 2.96874, 50.5566, 2138} + , { 1,138, 2.92165, 47.4520, 2139} + , { 1,139, 2.87417, 44.6280, 2140} + , { 1,140, 2.82676, 42.0603, 2141} + , { 1,141, 2.77978, 39.7245, 2142} + , { 1,142, 2.73351, 37.5973, 2143} + , { 1,143, 2.68812, 35.6571, 2144} + , { 1,144, 2.64374, 33.8842, 2145} + , { 1,145, 2.60045, 32.2609, 2146} + , { 1,146, 2.55830, 30.7712, 2147} + , { 1,147, 2.51731, 29.4012, 2148} + , { 1,148, 2.47747, 28.1383, 2149} + , { 1,149, 2.43878, 26.9716, 2150} + , { 1,150, 2.40122, 25.8913, 2151} + , { 1,151, 2.36475, 24.8889, 2152} + , { 1,152, 2.32934, 23.9568, 2153} + , { 1,153, 2.29497, 23.0883, 2154} + , { 1,154, 3.25874, 69.0331, 2155} + , { 1,155, 3.22016, 63.9683, 2156} + , { 1,156, 3.17611, 59.3053, 2157} + , { 1,157, 3.12815, 55.0523, 2158} + , { 1,158, 3.07764, 51.1985, 2159} + , { 1,159, 3.02570, 47.7205, 2160} + , { 1,160, 2.97319, 44.5878, 2161} + , { 1,161, 2.92078, 41.7677, 2162} + , { 1,162, 2.86893, 39.2274, 2163} + , { 1,163, 2.81799, 36.9359, 2164} + , { 1,164, 2.76818, 34.8646, 2165} + , { 1,165, 2.71965, 32.9880, 2166} + , { 1,166, 2.67248, 31.2834, 2167} + , { 1,167, 2.62670, 29.7308, 2168} + , { 1,168, 2.58234, 28.3127, 2169} + , { 1,169, 2.53938, 27.0140, 2170} + , { 1,170, 2.49778, 25.8212, 2171} + , { 1,171, 2.45752, 24.7230, 2172} + , { 1,172, 2.41854, 23.7092, 2173} + , { 1,173, 2.38080, 22.7709, 2174} + , { 1,174, 2.34424, 21.9006, 2175} + , { 1,175, 2.30883, 21.0914, 2176} + , { 1,176, 3.35401, 66.8153, 2177} + , { 1,177, 3.30770, 61.3709, 2178} + , { 1,178, 3.25563, 56.4369, 2179} + , { 1,179, 3.19983, 52.0079, 2180} + , { 1,180, 3.14195, 48.0553, 2181} + , { 1,181, 3.08325, 44.5382, 2182} + , { 1,182, 3.02467, 41.4108, 2183} + , { 1,183, 2.96685, 38.6277, 2184} + , { 1,184, 2.91024, 36.1460, 2185} + , { 1,185, 2.85511, 33.9273, 2186} + , { 1,186, 2.80162, 31.9376, 2187} + , { 1,187, 2.74986, 30.1473, 2188} + , { 1,188, 2.69986, 28.5309, 2189} + , { 1,189, 2.65160, 27.0664, 2190} + , { 1,190, 2.60504, 25.7351, 2191} + , { 1,191, 2.56013, 24.5208, 2192} + , { 1,192, 2.51681, 23.4098, 2193} + , { 1,193, 2.47502, 22.3901, 2194} + , { 1,194, 2.43467, 21.4515, 2195} + , { 1,195, 2.39571, 20.5851, 2196} + , { 1,196, 2.35806, 19.7833, 2197} + , { 1,197, 2.32166, 19.0393, 2198} + , { 1,198, 3.45737, 64.1086, 2199} + , { 1,199, 3.40100, 58.2565, 2200} + , { 1,200, 3.33888, 53.0593, 2201} + , { 1,201, 3.27359, 48.4845, 2202} + , { 1,202, 3.20707, 44.4755, 2203} + , { 1,203, 3.14069, 40.9659, 2204} + , { 1,204, 3.07539, 37.8899, 2205} + , { 1,205, 3.01175, 35.1866, 2206} + , { 1,206, 2.95010, 32.8021, 2207} + , { 1,207, 2.89062, 30.6903, 2208} + , { 1,208, 2.83338, 28.8117, 2209} + , { 1,209, 2.77838, 27.1331, 2210} + , { 1,210, 2.72555, 25.6268, 2211} + , { 1,211, 2.67484, 24.2692, 2212} + , { 1,212, 2.62614, 23.0407, 2213} + , { 1,213, 2.57935, 21.9247, 2214} + , { 1,214, 2.53438, 20.9072, 2215} + , { 1,215, 2.49112, 19.9763, 2216} + , { 1,216, 2.44948, 19.1217, 2217} + , { 1,217, 2.40936, 18.3348, 2218} + , { 1,218, 2.37068, 17.6082, 2219} + , { 1,219, 2.33336, 16.9353, 2220} + , { 1,220, 3.56964, 60.7484, 2221} + , { 1,221, 3.50003, 54.4792, 2222} + , { 1,222, 3.42526, 49.0546, 2223} + , { 1,223, 3.34854, 44.3937, 2224} + , { 1,224, 3.27202, 40.3959, 2225} + , { 1,225, 3.19707, 36.9606, 2226} + , { 1,226, 3.12448, 33.9971, 2227} + , { 1,227, 3.05468, 31.4275, 2228} + , { 1,228, 2.98782, 29.1866, 2229} + , { 1,229, 2.92394, 27.2209, 2230} + , { 1,230, 2.86295, 25.4864, 2231} + , { 1,231, 2.80475, 23.9474, 2232} + , { 1,232, 2.74919, 22.5744, 2233} + , { 1,233, 2.69612, 21.3433, 2234} + , { 1,234, 2.64537, 20.2342, 2235} + , { 1,235, 2.59681, 19.2304, 2236} + , { 1,236, 2.55029, 18.3183, 2237} + , { 1,237, 2.50566, 17.4862, 2238} + , { 1,238, 2.46282, 16.7244, 2239} + , { 1,239, 2.42163, 16.0244, 2240} + , { 1,240, 2.38201, 15.3794, 2241} + , { 1,241, 2.34384, 14.7831, 2242} + , { 1,242, 3.69127, 56.4997, 2243} + , { 1,243, 3.60407, 49.8480, 2244} + , { 1,244, 3.51349, 44.2825, 2245} + , { 1,245, 3.42320, 39.6394, 2246} + , { 1,246, 3.33536, 35.7549, 2247} + , { 1,247, 3.25107, 32.4854, 2248} + , { 1,248, 3.17081, 29.7124, 2249} + , { 1,249, 3.09469, 27.3413, 2250} + , { 1,250, 3.02262, 25.2973, 2251} + , { 1,251, 2.95440, 23.5213, 2252} + , { 1,252, 2.88979, 21.9666, 2253} + , { 1,253, 2.82854, 20.5963, 2254} + , { 1,254, 2.77040, 19.3807, 2255} + , { 1,255, 2.71512, 18.2959, 2256} + , { 1,256, 2.66249, 17.3225, 2257} + , { 1,257, 2.61229, 16.4448, 2258} + , { 1,258, 2.56434, 15.6496, 2259} + , { 1,259, 2.51848, 14.9261, 2260} + , { 1,260, 2.47455, 14.2652, 2261} + , { 1,261, 2.43241, 13.6593, 2262} + , { 1,262, 2.39193, 13.1019, 2263} + , { 1,263, 2.35300, 12.5875, 2264} + , { 1,264, 3.82172, 51.0278, 2265} + , { 1,265, 3.71123, 44.1227, 2266} + , { 1,266, 3.60120, 38.5879, 2267} + , { 1,267, 3.49530, 34.1297, 2268} + , { 1,268, 3.39509, 30.5029, 2269} + , { 1,269, 3.30103, 27.5171, 2270} + , { 1,270, 3.21302, 25.0287, 2271} + , { 1,271, 3.13069, 22.9304, 2272} + , { 1,272, 3.05361, 21.1417, 2273} + , { 1,273, 2.98130, 19.6017, 2274} + , { 1,274, 2.91333, 18.2635, 2275} + , { 1,275, 2.84929, 17.0913, 2276} + , { 1,276, 2.78880, 16.0567, 2277} + , { 1,277, 2.73154, 15.1375, 2278} + , { 1,278, 2.67722, 14.3157, 2279} + , { 1,279, 2.62557, 13.5769, 2280} + , { 1,280, 2.57638, 12.9095, 2281} + , { 1,281, 2.52943, 12.3036, 2282} + , { 1,282, 2.48455, 11.7513, 2283} + , { 1,283, 2.44157, 11.2458, 2284} + , { 1,284, 2.40035, 10.7815, 2285} + , { 1,285, 2.36077, 10.3536, 2286} + , { 1,286, 3.95803, 43.8734, 2287} + , { 1,287, 3.81739, 37.0279, 2288} + , { 1,288, 3.68452, 31.8247, 2289} + , { 1,289, 3.56159, 27.7975, 2290} + , { 1,290, 3.44865, 24.6172, 2291} + , { 1,291, 3.34497, 22.0568, 2292} + , { 1,292, 3.24957, 19.9589, 2293} + , { 1,293, 3.16150, 18.2129, 2294} + , { 1,294, 3.07987, 16.7398, 2295} + , { 1,295, 3.00393, 15.4816, 2296} + , { 1,296, 2.93300, 14.3957, 2297} + , { 1,297, 2.86653, 13.4495, 2298} + , { 1,298, 2.80403, 12.6181, 2299} + , { 1,299, 2.74508, 11.8821, 2300} + , { 1,300, 2.68933, 11.2262, 2301} + , { 1,301, 2.63646, 10.6381, 2302} + , { 1,302, 2.58622, 10.1079, 2303} + , { 1,303, 2.53837, 9.6277, 2304} + , { 1,304, 2.49269, 9.1906, 2305} + , { 1,305, 2.44902, 8.7911, 2306} + , { 1,306, 2.40720, 8.4248, 2307} + , { 1,307, 2.36708, 8.0875, 2308} + , { 1,308, 4.09206, 34.4787, 2309} + , { 1,309, 3.91508, 28.3157, 2310} + , { 1,310, 3.75764, 23.9078, 2311} + , { 1,311, 3.61782, 20.6344, 2312} + , { 1,312, 3.49298, 18.1225, 2313} + , { 1,313, 3.38067, 16.1412, 2314} + , { 1,314, 3.27886, 14.5419, 2315} + , { 1,315, 3.18593, 13.2258, 2316} + , { 1,316, 3.10053, 12.1249, 2317} + , { 1,317, 3.02160, 11.1910, 2318} + , { 1,318, 2.94829, 10.3892, 2319} + , { 1,319, 2.87987, 9.6936, 2320} + , { 1,320, 2.81577, 9.0846, 2321} + , { 1,321, 2.75549, 8.5470, 2322} + , { 1,322, 2.69861, 8.0691, 2323} + , { 1,323, 2.64480, 7.6415, 2324} + , { 1,324, 2.59374, 7.2568, 2325} + , { 1,325, 2.54518, 6.9087, 2326} + , { 1,326, 2.49889, 6.5923, 2327} + , { 1,327, 2.45469, 6.3036, 2328} + , { 1,328, 2.41240, 6.0390, 2329} + , { 1,329, 2.37187, 5.7956, 2330} + , { 1,330, 4.20677, 22.3937, 2331} + , { 1,331, 3.99276, 17.9149, 2332} + , { 1,332, 3.81311, 14.8947, 2333} + , { 1,333, 3.65917, 12.7314, 2334} + , { 1,334, 3.52488, 11.1099, 2335} + , { 1,335, 3.40597, 9.8511, 2336} + , { 1,336, 3.29940, 8.8465, 2337} + , { 1,337, 3.20291, 8.0266, 2338} + , { 1,338, 3.11479, 7.3450, 2339} + , { 1,339, 3.03375, 6.7696, 2340} + , { 1,340, 2.95875, 6.2775, 2341} + , { 1,341, 2.88897, 5.8519, 2342} + , { 1,342, 2.82375, 5.4801, 2343} + , { 1,343, 2.76255, 5.1527, 2344} + , { 1,344, 2.70490, 4.8620, 2345} + , { 1,345, 2.65043, 4.6024, 2346} + , { 1,346, 2.59881, 4.3690, 2347} + , { 1,347, 2.54977, 4.1581, 2348} + , { 1,348, 2.50307, 3.9666, 2349} + , { 1,349, 2.45851, 3.7919, 2350} + , { 1,350, 2.41590, 3.6320, 2351} + , { 1,351, 2.37509, 3.4850, 2352} + , { 1,352, 4.27581, 7.8205, 2353} + , { 1,353, 4.03666, 6.1504, 2354} + , { 1,354, 3.84335, 5.0666, 2355} + , { 1,355, 3.68121, 4.3069, 2356} + , { 1,356, 3.54163, 3.7451, 2357} + , { 1,357, 3.41913, 3.3127, 2358} + , { 1,358, 3.31000, 2.9698, 2359} + , { 1,359, 3.21162, 2.6912, 2360} + , { 1,360, 3.12208, 2.4603, 2361} + , { 1,361, 3.03993, 2.2659, 2362} + , { 1,362, 2.96406, 2.1000, 2363} + , { 1,363, 2.89359, 1.9567, 2364} + , { 1,364, 2.82780, 1.8317, 2365} + , { 1,365, 2.76612, 1.7217, 2366} + , { 1,366, 2.70808, 1.6241, 2367} + , { 1,367, 2.65327, 1.5371, 2368} + , { 1,368, 2.60137, 1.4588, 2369} + , { 1,369, 2.55209, 1.3882, 2370} + , { 1,370, 2.50518, 1.3241, 2371} + , { 1,371, 2.46043, 1.2656, 2372} + , { 1,372, 2.41766, 1.2121, 2373} + , { 1,373, 2.37670, 1.1629, 2374} + , { 1,374, 4.27581, -7.8205, 2375} + , { 1,375, 4.03666, -6.1504, 2376} + , { 1,376, 3.84335, -5.0666, 2377} + , { 1,377, 3.68121, -4.3069, 2378} + , { 1,378, 3.54163, -3.7451, 2379} + , { 1,379, 3.41913, -3.3127, 2380} + , { 1,380, 3.31000, -2.9698, 2381} + , { 1,381, 3.21162, -2.6912, 2382} + , { 1,382, 3.12208, -2.4603, 2383} + , { 1,383, 3.03993, -2.2659, 2384} + , { 1,384, 2.96406, -2.1000, 2385} + , { 1,385, 2.89359, -1.9567, 2386} + , { 1,386, 2.82780, -1.8317, 2387} + , { 1,387, 2.76612, -1.7217, 2388} + , { 1,388, 2.70808, -1.6241, 2389} + , { 1,389, 2.65327, -1.5371, 2390} + , { 1,390, 2.60137, -1.4588, 2391} + , { 1,391, 2.55209, -1.3882, 2392} + , { 1,392, 2.50518, -1.3241, 2393} + , { 1,393, 2.46043, -1.2656, 2394} + , { 1,394, 2.41766, -1.2121, 2395} + , { 1,395, 2.37670, -1.1629, 2396} + , { 1,396, 4.20677,-22.3937, 2397} + , { 1,397, 3.99276,-17.9149, 2398} + , { 1,398, 3.81311,-14.8947, 2399} + , { 1,399, 3.65917,-12.7314, 2400} + , { 1,400, 3.52488,-11.1099, 2401} + , { 1,401, 3.40597, -9.8511, 2402} + , { 1,402, 3.29940, -8.8465, 2403} + , { 1,403, 3.20291, -8.0266, 2404} + , { 1,404, 3.11479, -7.3450, 2405} + , { 1,405, 3.03375, -6.7696, 2406} + , { 1,406, 2.95875, -6.2775, 2407} + , { 1,407, 2.88897, -5.8519, 2408} + , { 1,408, 2.82375, -5.4801, 2409} + , { 1,409, 2.76255, -5.1527, 2410} + , { 1,410, 2.70490, -4.8620, 2411} + , { 1,411, 2.65043, -4.6024, 2412} + , { 1,412, 2.59881, -4.3690, 2413} + , { 1,413, 2.54977, -4.1581, 2414} + , { 1,414, 2.50307, -3.9666, 2415} + , { 1,415, 2.45851, -3.7919, 2416} + , { 1,416, 2.41590, -3.6320, 2417} + , { 1,417, 2.37509, -3.4850, 2418} + , { 1,418, 4.09206,-34.4787, 2419} + , { 1,419, 3.91508,-28.3157, 2420} + , { 1,420, 3.75764,-23.9078, 2421} + , { 1,421, 3.61782,-20.6344, 2422} + , { 1,422, 3.49298,-18.1225, 2423} + , { 1,423, 3.38067,-16.1412, 2424} + , { 1,424, 3.27886,-14.5419, 2425} + , { 1,425, 3.18593,-13.2258, 2426} + , { 1,426, 3.10053,-12.1249, 2427} + , { 1,427, 3.02160,-11.1910, 2428} + , { 1,428, 2.94829,-10.3892, 2429} + , { 1,429, 2.87987, -9.6936, 2430} + , { 1,430, 2.81577, -9.0846, 2431} + , { 1,431, 2.75549, -8.5470, 2432} + , { 1,432, 2.69861, -8.0691, 2433} + , { 1,433, 2.64480, -7.6415, 2434} + , { 1,434, 2.59374, -7.2568, 2435} + , { 1,435, 2.54518, -6.9087, 2436} + , { 1,436, 2.49889, -6.5923, 2437} + , { 1,437, 2.45469, -6.3036, 2438} + , { 1,438, 2.41240, -6.0390, 2439} + , { 1,439, 2.37187, -5.7956, 2440} + , { 1,440, 3.95803,-43.8734, 2441} + , { 1,441, 3.81739,-37.0279, 2442} + , { 1,442, 3.68452,-31.8246, 2443} + , { 1,443, 3.56159,-27.7975, 2444} + , { 1,444, 3.44865,-24.6172, 2445} + , { 1,445, 3.34497,-22.0568, 2446} + , { 1,446, 3.24957,-19.9589, 2447} + , { 1,447, 3.16150,-18.2129, 2448} + , { 1,448, 3.07987,-16.7398, 2449} + , { 1,449, 3.00393,-15.4816, 2450} + , { 1,450, 2.93300,-14.3957, 2451} + , { 1,451, 2.86653,-13.4495, 2452} + , { 1,452, 2.80403,-12.6181, 2453} + , { 1,453, 2.74508,-11.8821, 2454} + , { 1,454, 2.68933,-11.2262, 2455} + , { 1,455, 2.63646,-10.6381, 2456} + , { 1,456, 2.58622,-10.1079, 2457} + , { 1,457, 2.53837, -9.6277, 2458} + , { 1,458, 2.49269, -9.1906, 2459} + , { 1,459, 2.44902, -8.7911, 2460} + , { 1,460, 2.40720, -8.4248, 2461} + , { 1,461, 2.36708, -8.0875, 2462} + , { 1,462, 3.82172,-51.0278, 2463} + , { 1,463, 3.71123,-44.1227, 2464} + , { 1,464, 3.60120,-38.5879, 2465} + , { 1,465, 3.49530,-34.1297, 2466} + , { 1,466, 3.39509,-30.5029, 2467} + , { 1,467, 3.30103,-27.5171, 2468} + , { 1,468, 3.21302,-25.0287, 2469} + , { 1,469, 3.13069,-22.9304, 2470} + , { 1,470, 3.05361,-21.1417, 2471} + , { 1,471, 2.98130,-19.6017, 2472} + , { 1,472, 2.91333,-18.2635, 2473} + , { 1,473, 2.84929,-17.0913, 2474} + , { 1,474, 2.78880,-16.0567, 2475} + , { 1,475, 2.73154,-15.1375, 2476} + , { 1,476, 2.67722,-14.3157, 2477} + , { 1,477, 2.62557,-13.5769, 2478} + , { 1,478, 2.57638,-12.9095, 2479} + , { 1,479, 2.52943,-12.3036, 2480} + , { 1,480, 2.48455,-11.7513, 2481} + , { 1,481, 2.44157,-11.2458, 2482} + , { 1,482, 2.40035,-10.7815, 2483} + , { 1,483, 2.36077,-10.3536, 2484} + , { 1,484, 3.69127,-56.4997, 2485} + , { 1,485, 3.60408,-49.8480, 2486} + , { 1,486, 3.51349,-44.2825, 2487} + , { 1,487, 3.42320,-39.6394, 2488} + , { 1,488, 3.33536,-35.7549, 2489} + , { 1,489, 3.25107,-32.4854, 2490} + , { 1,490, 3.17081,-29.7124, 2491} + , { 1,491, 3.09469,-27.3413, 2492} + , { 1,492, 3.02262,-25.2973, 2493} + , { 1,493, 2.95440,-23.5213, 2494} + , { 1,494, 2.88979,-21.9666, 2495} + , { 1,495, 2.82854,-20.5963, 2496} + , { 1,496, 2.77040,-19.3807, 2497} + , { 1,497, 2.71512,-18.2959, 2498} + , { 1,498, 2.66249,-17.3225, 2499} + , { 1,499, 2.61229,-16.4448, 2500} + , { 1,500, 2.56434,-15.6496, 2501} + , { 1,501, 2.51848,-14.9261, 2502} + , { 1,502, 2.47455,-14.2652, 2503} + , { 1,503, 2.43241,-13.6593, 2504} + , { 1,504, 2.39193,-13.1019, 2505} + , { 1,505, 2.35300,-12.5875, 2506} + , { 1,506, 3.56964,-60.7484, 2507} + , { 1,507, 3.50003,-54.4792, 2508} + , { 1,508, 3.42526,-49.0546, 2509} + , { 1,509, 3.34854,-44.3937, 2510} + , { 1,510, 3.27202,-40.3959, 2511} + , { 1,511, 3.19707,-36.9606, 2512} + , { 1,512, 3.12448,-33.9972, 2513} + , { 1,513, 3.05468,-31.4275, 2514} + , { 1,514, 2.98782,-29.1866, 2515} + , { 1,515, 2.92394,-27.2209, 2516} + , { 1,516, 2.86295,-25.4864, 2517} + , { 1,517, 2.80475,-23.9474, 2518} + , { 1,518, 2.74919,-22.5744, 2519} + , { 1,519, 2.69612,-21.3433, 2520} + , { 1,520, 2.64537,-20.2342, 2521} + , { 1,521, 2.59681,-19.2304, 2522} + , { 1,522, 2.55029,-18.3183, 2523} + , { 1,523, 2.50566,-17.4862, 2524} + , { 1,524, 2.46282,-16.7244, 2525} + , { 1,525, 2.42163,-16.0244, 2526} + , { 1,526, 2.38201,-15.3794, 2527} + , { 1,527, 2.34384,-14.7831, 2528} + , { 1,528, 3.45737,-64.1086, 2529} + , { 1,529, 3.40100,-58.2565, 2530} + , { 1,530, 3.33888,-53.0593, 2531} + , { 1,531, 3.27359,-48.4845, 2532} + , { 1,532, 3.20707,-44.4755, 2533} + , { 1,533, 3.14069,-40.9659, 2534} + , { 1,534, 3.07539,-37.8899, 2535} + , { 1,535, 3.01175,-35.1866, 2536} + , { 1,536, 2.95010,-32.8021, 2537} + , { 1,537, 2.89062,-30.6903, 2538} + , { 1,538, 2.83338,-28.8117, 2539} + , { 1,539, 2.77838,-27.1331, 2540} + , { 1,540, 2.72555,-25.6268, 2541} + , { 1,541, 2.67484,-24.2692, 2542} + , { 1,542, 2.62614,-23.0407, 2543} + , { 1,543, 2.57935,-21.9247, 2544} + , { 1,544, 2.53438,-20.9072, 2545} + , { 1,545, 2.49112,-19.9763, 2546} + , { 1,546, 2.44948,-19.1217, 2547} + , { 1,547, 2.40936,-18.3348, 2548} + , { 1,548, 2.37068,-17.6082, 2549} + , { 1,549, 2.33336,-16.9353, 2550} + , { 1,550, 3.35401,-66.8153, 2551} + , { 1,551, 3.30770,-61.3709, 2552} + , { 1,552, 3.25563,-56.4369, 2553} + , { 1,553, 3.19983,-52.0079, 2554} + , { 1,554, 3.14195,-48.0553, 2555} + , { 1,555, 3.08325,-44.5382, 2556} + , { 1,556, 3.02467,-41.4108, 2557} + , { 1,557, 2.96685,-38.6277, 2558} + , { 1,558, 2.91024,-36.1460, 2559} + , { 1,559, 2.85511,-33.9273, 2560} + , { 1,560, 2.80162,-31.9376, 2561} + , { 1,561, 2.74986,-30.1473, 2562} + , { 1,562, 2.69986,-28.5309, 2563} + , { 1,563, 2.65160,-27.0664, 2564} + , { 1,564, 2.60504,-25.7351, 2565} + , { 1,565, 2.56013,-24.5208, 2566} + , { 1,566, 2.51681,-23.4098, 2567} + , { 1,567, 2.47502,-22.3901, 2568} + , { 1,568, 2.43467,-21.4515, 2569} + , { 1,569, 2.39571,-20.5851, 2570} + , { 1,570, 2.35806,-19.7833, 2571} + , { 1,571, 2.32166,-19.0393, 2572} + , { 1,572, 3.25874,-69.0331, 2573} + , { 1,573, 3.22016,-63.9683, 2574} + , { 1,574, 3.17611,-59.3053, 2575} + , { 1,575, 3.12815,-55.0523, 2576} + , { 1,576, 3.07764,-51.1985, 2577} + , { 1,577, 3.02570,-47.7205, 2578} + , { 1,578, 2.97319,-44.5878, 2579} + , { 1,579, 2.92078,-41.7677, 2580} + , { 1,580, 2.86893,-39.2274, 2581} + , { 1,581, 2.81799,-36.9359, 2582} + , { 1,582, 2.76818,-34.8646, 2583} + , { 1,583, 2.71965,-32.9880, 2584} + , { 1,584, 2.67248,-31.2834, 2585} + , { 1,585, 2.62670,-29.7308, 2586} + , { 1,586, 2.58234,-28.3127, 2587} + , { 1,587, 2.53938,-27.0140, 2588} + , { 1,588, 2.49778,-25.8212, 2589} + , { 1,589, 2.45752,-24.7230, 2590} + , { 1,590, 2.41854,-23.7092, 2591} + , { 1,591, 2.38080,-22.7709, 2592} + , { 1,592, 2.34424,-21.9006, 2593} + , { 1,593, 2.30883,-21.0914, 2594} + , { 1,594, 3.17069,-70.8782, 2595} + , { 1,595, 3.13815,-66.1593, 2596} + , { 1,596, 3.10053,-61.7599, 2597} + , { 1,597, 3.05904,-57.6952, 2598} + , { 1,598, 3.01479,-53.9647, 2599} + , { 1,599, 2.96874,-50.5566, 2600} + , { 1,600, 2.92165,-47.4520, 2601} + , { 1,601, 2.87417,-44.6280, 2602} + , { 1,602, 2.82676,-42.0603, 2603} + , { 1,603, 2.77978,-39.7245, 2604} + , { 1,604, 2.73351,-37.5973, 2605} + , { 1,605, 2.68812,-35.6571, 2606} + , { 1,606, 2.64374,-33.8842, 2607} + , { 1,607, 2.60045,-32.2609, 2608} + , { 1,608, 2.55830,-30.7712, 2609} + , { 1,609, 2.51731,-29.4012, 2610} + , { 1,610, 2.47747,-28.1383, 2611} + , { 1,611, 2.43878,-26.9716, 2612} + , { 1,612, 2.40122,-25.8913, 2613} + , { 1,613, 2.36475,-24.8889, 2614} + , { 1,614, 2.32934,-23.9568, 2615} + , { 1,615, 2.29497,-23.0883, 2616} + , { 1,616, 3.08904,-72.4344, 2617} + , { 1,617, 3.06127,-68.0272, 2618} + , { 1,618, 3.02884,-63.8771, 2619} + , { 1,619, 2.99272,-60.0018, 2620} + , { 1,620, 2.95378,-56.4069, 2621} + , { 1,621, 2.91283,-53.0882, 2622} + , { 1,622, 2.87055,-50.0350, 2623} + , { 1,623, 2.82752,-47.2319, 2624} + , { 1,624, 2.78418,-44.6613, 2625} + , { 1,625, 2.74092,-42.3046, 2626} + , { 1,626, 2.69800,-40.1431, 2627} + , { 1,627, 2.65563,-38.1591, 2628} + , { 1,628, 2.61396,-36.3357, 2629} + , { 1,629, 2.57312,-34.6574, 2630} + , { 1,630, 2.53316,-33.1103, 2631} + , { 1,631, 2.49413,-31.6814, 2632} + , { 1,632, 2.45607,-30.3594, 2633} + , { 1,633, 2.41898,-29.1339, 2634} + , { 1,634, 2.38286,-27.9958, 2635} + , { 1,635, 2.34769,-26.9367, 2636} + , { 1,636, 2.31347,-25.9495, 2637} + , { 1,637, 2.28016,-25.0276, 2638} + , { 1,638, 3.01304,-73.7627, 2639} + , { 1,639, 2.98909,-69.6352, 2640} + , { 1,640, 2.96092,-65.7170, 2641} + , { 1,641, 2.92926,-62.0262, 2642} + , { 1,642, 2.89482,-58.5714, 2643} + , { 1,643, 2.85829,-55.3536, 2644} + , { 1,644, 2.82025,-52.3673, 2645} + , { 1,645, 2.78120,-49.6029, 2646} + , { 1,646, 2.74159,-47.0483, 2647} + , { 1,647, 2.70176,-44.6893, 2648} + , { 1,648, 2.66198,-42.5115, 2649} + , { 1,649, 2.62248,-40.5004, 2650} + , { 1,650, 2.58342,-38.6420, 2651} + , { 1,651, 2.54494,-36.9231, 2652} + , { 1,652, 2.50713,-35.3312, 2653} + , { 1,653, 2.47005,-33.8550, 2654} + , { 1,654, 2.43375,-32.4841, 2655} + , { 1,655, 2.39826,-31.2090, 2656} + , { 1,656, 2.36359,-30.0211, 2657} + , { 1,657, 2.32975,-28.9128, 2658} + , { 1,658, 2.29672,-27.8770, 2659} + , { 1,659, 2.26452,-26.9075, 2660} + , { 1,660, 2.94206,-74.9086, 2661} + , { 1,661, 2.92122,-71.0321, 2662} + , { 1,662, 2.89654,-67.3277, 2663} + , { 1,663, 2.86861,-63.8129, 2664} + , { 1,664, 2.83801,-60.4979, 2665} + , { 1,665, 2.80530,-57.3864, 2666} + , { 1,666, 2.77098,-54.4769, 2667} + , { 1,667, 2.73551,-51.7639, 2668} + , { 1,668, 2.69926,-49.2392, 2669} + , { 1,669, 2.66258,-46.8927, 2670} + , { 1,670, 2.62573,-44.7131, 2671} + , { 1,671, 2.58893,-42.6891, 2672} + , { 1,672, 2.55236,-40.8090, 2673} + , { 1,673, 2.51615,-39.0616, 2674} + , { 1,674, 2.48042,-37.4364, 2675} + , { 1,675, 2.44524,-35.9233, 2676} + , { 1,676, 2.41068,-34.5129, 2677} + , { 1,677, 2.37677,-33.1968, 2678} + , { 1,678, 2.34355,-31.9670, 2679} + , { 1,679, 2.31103,-30.8164, 2680} + , { 1,680, 2.27922,-29.7383, 2681} + , { 1,681, 2.24812,-28.7269, 2682} + , { 1,682, 2.87553,-75.9064, 2683} + , { 1,683, 2.85724,-72.2555, 2684} + , { 1,684, 2.83547,-68.7474, 2685} + , { 1,685, 2.81069,-65.3986, 2686} + , { 1,686, 2.78337,-62.2198, 2687} + , { 1,687, 2.75397,-59.2163, 2688} + , { 1,688, 2.72292,-56.3893, 2689} + , { 1,689, 2.69062,-53.7362, 2690} + , { 1,690, 2.65742,-51.2517, 2691} + , { 1,691, 2.62362,-48.9288, 2692} + , { 1,692, 2.58948,-46.7592, 2693} + , { 1,693, 2.55520,-44.7337, 2694} + , { 1,694, 2.52097,-42.8431, 2695} + , { 1,695, 2.48694,-41.0781, 2696} + , { 1,696, 2.45320,-39.4296, 2697} + , { 1,697, 2.41987,-37.8888, 2698} + , { 1,698, 2.38700,-36.4476, 2699} + , { 1,699, 2.35465,-35.0984, 2700} + , { 1,700, 2.32286,-33.8338, 2701} + , { 1,701, 2.29166,-32.6474, 2702} + , { 1,702, 2.26106,-31.5330, 2703} + , { 1,703, 2.23108,-30.4850, 2704} + , { 1,704, 2.81298,-76.7828, 2705} + , { 1,705, 2.79681,-73.3348, 2706} + , { 1,706, 2.77748,-70.0066, 2707} + , { 1,707, 2.75536,-66.8133, 2708} + , { 1,708, 2.73085,-63.7654, 2709} + , { 1,709, 2.70433,-60.8691, 2710} + , { 1,710, 2.67616,-58.1272, 2711} + , { 1,711, 2.64669,-55.5393, 2712} + , { 1,712, 2.61623,-53.1023, 2713} + , { 1,713, 2.58506,-50.8115, 2714} + , { 1,714, 2.55341,-48.6609, 2715} + , { 1,715, 2.52148,-46.6434, 2716} + , { 1,716, 2.48945,-44.7517, 2717} + , { 1,717, 2.45747,-42.9780, 2718} + , { 1,718, 2.42565,-41.3149, 2719} + , { 1,719, 2.39408,-39.7548, 2720} + , { 1,720, 2.36286,-38.2905, 2721} + , { 1,721, 2.33203,-36.9152, 2722} + , { 1,722, 2.30164,-35.6225, 2723} + , { 1,723, 2.27174,-34.4064, 2724} + , { 1,724, 2.24234,-33.2613, 2725} + , { 1,725, 2.21346,-32.1819, 2726} + , { 1,726, 2.75399,-77.5581, 2727} + , { 1,727, 2.73960,-74.2935, 2728} + , { 1,728, 2.72233,-71.1302, 2729} + , { 1,729, 2.70249,-68.0818, 2730} + , { 1,730, 2.68040,-65.1585, 2731} + , { 1,731, 2.65638,-62.3669, 2732} + , { 1,732, 2.63075,-59.7107, 2733} + , { 1,733, 2.60380,-57.1909, 2734} + , { 1,734, 2.57581,-54.8063, 2735} + , { 1,735, 2.54702,-52.5538, 2736} + , { 1,736, 2.51766,-50.4291, 2737} + , { 1,737, 2.48791,-48.4272, 2738} + , { 1,738, 2.45794,-46.5420, 2739} + , { 1,739, 2.42789,-44.7674, 2740} + , { 1,740, 2.39788,-43.0972, 2741} + , { 1,741, 2.36801,-41.5248, 2742} + , { 1,742, 2.33837,-40.0442, 2743} + , { 1,743, 2.30901,-38.6494, 2744} + , { 1,744, 2.27999,-37.3346, 2745} + , { 1,745, 2.25136,-36.0944, 2746} + , { 1,746, 2.22314,-34.9238, 2747} + , { 1,747, 2.19537,-33.8178, 2748} +}; +std::vector hcal = { + { 0, 0, 2.80245,104.5083, 1001} + , { 0, 1, 2.77251,110.0008, 1002} + , { 0, 2, 2.73516,115.1361, 1003} + , { 0, 3, 2.69208,119.8738, 1004} + , { 0, 4, 2.64486,124.2013, 1005} + , { 0, 5, 2.59492,128.1265, 1006} + , { 0, 6, 2.54340,131.6711, 1007} + , { 0, 7, 2.49122,134.8644, 1008} + , { 0, 8, 2.43907,137.7391, 1009} + , { 0, 9, 2.38747,140.3281, 1010} + , { 0, 10, 2.33676,142.6628, 1011} + , { 0, 11, 2.28720,144.7723, 1012} + , { 0, 12, 2.23894,146.6827, 1013} + , { 0, 13, 2.90524,106.1307, 1014} + , { 0, 14, 2.86868,112.1369, 1015} + , { 0, 15, 2.82371,117.6726, 1016} + , { 0, 16, 2.77263,122.7003, 1017} + , { 0, 17, 2.71752,127.2199, 1018} + , { 0, 18, 2.66010,131.2567, 1019} + , { 0, 19, 2.60170,134.8499, 1020} + , { 0, 20, 2.54332,138.0450, 1021} + , { 0, 21, 2.48566,140.8878, 1022} + , { 0, 22, 2.42917,143.4215, 1023} + , { 0, 23, 2.37418,145.6855, 1024} + , { 0, 24, 2.32085,147.7147, 1025} + , { 0, 25, 2.26929,149.5394, 1026} + , { 0, 26, 3.01893,108.1480, 1027} + , { 0, 27, 2.97344,114.7521, 1028} + , { 0, 28, 2.91849,120.7240, 1029} + , { 0, 29, 2.85731,126.0394, 1030} + , { 0, 30, 2.79257,130.7241, 1031} + , { 0, 31, 2.72634,134.8316, 1032} + , { 0, 32, 2.66009,138.4274, 1033} + , { 0, 33, 2.59483,141.5779, 1034} + , { 0, 34, 2.53118,144.3450, 1035} + , { 0, 35, 2.46952,146.7840, 1036} + , { 0, 36, 2.41006,148.9425, 1037} + , { 0, 37, 2.35288,150.8611, 1038} + , { 0, 38, 2.29798,152.5739, 1039} + , { 0, 39, 3.14567,110.7168, 1040} + , { 0, 40, 3.08777,118.0121, 1041} + , { 0, 41, 3.01958,124.4406, 1042} + , { 0, 42, 2.94558,130.0146, 1043} + , { 0, 43, 2.86916,134.8077, 1044} + , { 0, 44, 2.79267,138.9189, 1045} + , { 0, 45, 2.71760,142.4497, 1046} + , { 0, 46, 2.64483,145.4932, 1047} + , { 0, 47, 2.57482,148.1295, 1048} + , { 0, 48, 2.50780,150.4261, 1049} + , { 0, 49, 2.44380,152.4386, 1050} + , { 0, 50, 2.38276,154.2124, 1051} + , { 0, 51, 2.32458,155.7847, 1052} + , { 0, 52, 3.28804,114.0832, 1053} + , { 0, 53, 3.21242,122.1577, 1054} + , { 0, 54, 3.12645,129.0227, 1055} + , { 0, 55, 3.03624,134.7749, 1056} + , { 0, 56, 2.94584,139.5739, 1057} + , { 0, 57, 2.85763,143.5854, 1058} + , { 0, 58, 2.77288,146.9577, 1059} + , { 0, 59, 2.69216,149.8137, 1060} + , { 0, 60, 2.61561,152.2520, 1061} + , { 0, 61, 2.54319,154.3510, 1062} + , { 0, 62, 2.47471,156.1722, 1063} + , { 0, 63, 2.40994,157.7642, 1064} + , { 0, 64, 2.34861,159.1658, 1065} + , { 0, 65, 3.44882,118.6476, 1066} + , { 0, 66, 3.34724,127.5393, 1067} + , { 0, 67, 3.23734,134.7276, 1068} + , { 0, 68, 3.12697,140.4898, 1069} + , { 0, 69, 3.02030,145.1246, 1070} + , { 0, 70, 2.91918,148.8875, 1071} + , { 0, 71, 2.82423,151.9784, 1072} + , { 0, 72, 2.73541,154.5487, 1073} + , { 0, 73, 2.65241,156.7115, 1074} + , { 0, 74, 2.57478,158.5517, 1075} + , { 0, 75, 2.50206,160.1334, 1076} + , { 0, 76, 2.43381,161.5054, 1077} + , { 0, 77, 2.36959,162.7057, 1078} + , { 0, 78, 3.62990,125.0834, 1079} + , { 0, 79, 3.48970,134.6531, 1080} + , { 0, 80, 3.34824,141.8607, 1081} + , { 0, 81, 3.21379,147.3246, 1082} + , { 0, 82, 3.08914,151.5384, 1083} + , { 0, 83, 2.97461,154.8538, 1084} + , { 0, 84, 2.86954,157.5140, 1085} + , { 0, 85, 2.77299,159.6870, 1086} + , { 0, 86, 2.68398,161.4906, 1087} + , { 0, 87, 2.60161,163.0087, 1088} + , { 0, 88, 2.52511,164.3025, 1089} + , { 0, 89, 2.45378,165.4173, 1090} + , { 0, 90, 2.38706,166.3869, 1091} + , { 0, 91, 3.82841,134.5185, 1092} + , { 0, 92, 3.63189,144.1335, 1093} + , { 0, 93, 3.45140,150.7135, 1094} + , { 0, 94, 3.29058,155.3860, 1095} + , { 0, 95, 3.14787,158.8333, 1096} + , { 0, 96, 3.02068,161.4638, 1097} + , { 0, 97, 2.90648,163.5290, 1098} + , { 0, 98, 2.80318,165.1896, 1099} + , { 0, 99, 2.70906,166.5516, 1100} + , { 0,100, 2.62275,167.6877, 1101} + , { 0,101, 2.54314,168.6492, 1102} + , { 0,102, 2.46933,169.4729, 1103} + , { 0,103, 2.40058,170.1863, 1104} + , { 0,104, 4.02506,148.6097, 1105} + , { 0,105, 3.75578,156.5492, 1106} + , { 0,106, 3.53436,161.4010, 1107} + , { 0,107, 3.34926,164.6302, 1108} + , { 0,108, 3.19129,166.9208, 1109} + , { 0,109, 3.05396,168.6251, 1110} + , { 0,110, 2.93274,169.9405, 1111} + , { 0,111, 2.82438,170.9855, 1112} + , { 0,112, 2.72652,171.8351, 1113} + , { 0,113, 2.63736,172.5392, 1114} + , { 0,114, 2.55554,173.1321, 1115} + , { 0,115, 2.47997,173.6380, 1116} + , { 0,116, 2.40981,174.0747, 1117} + , { 0,117, 4.16296,168.5034, 1118} + , { 0,118, 3.83156,171.7722, 1119} + , { 0,119, 3.58167,173.5997, 1120} + , { 0,120, 3.38143,174.7648, 1121} + , { 0,121, 3.21450,175.5718, 1122} + , { 0,122, 3.07147,176.1635, 1123} + , { 0,123, 2.94641,176.6159, 1124} + , { 0,124, 2.83534,176.9729, 1125} + , { 0,125, 2.73549,177.2619, 1126} + , { 0,126, 2.64483,177.5005, 1127} + , { 0,127, 2.56186,177.7009, 1128} + , { 0,128, 2.48538,177.8715, 1129} + , { 0,129, 2.41450,178.0186, 1130} + , { 0,130, 4.16296,-168.5034, 1131} + , { 0,131, 3.83156,-171.7722, 1132} + , { 0,132, 3.58167,-173.5997, 1133} + , { 0,133, 3.38143,-174.7648, 1134} + , { 0,134, 3.21450,-175.5718, 1135} + , { 0,135, 3.07147,-176.1635, 1136} + , { 0,136, 2.94641,-176.6159, 1137} + , { 0,137, 2.83534,-176.9729, 1138} + , { 0,138, 2.73549,-177.2619, 1139} + , { 0,139, 2.64483,-177.5005, 1140} + , { 0,140, 2.56186,-177.7009, 1141} + , { 0,141, 2.48538,-177.8715, 1142} + , { 0,142, 2.41450,-178.0186, 1143} + , { 0,143, 4.02506,-148.6097, 1144} + , { 0,144, 3.75578,-156.5492, 1145} + , { 0,145, 3.53436,-161.4010, 1146} + , { 0,146, 3.34926,-164.6302, 1147} + , { 0,147, 3.19129,-166.9208, 1148} + , { 0,148, 3.05396,-168.6251, 1149} + , { 0,149, 2.93274,-169.9405, 1150} + , { 0,150, 2.82438,-170.9855, 1151} + , { 0,151, 2.72652,-171.8351, 1152} + , { 0,152, 2.63736,-172.5392, 1153} + , { 0,153, 2.55554,-173.1321, 1154} + , { 0,154, 2.47997,-173.6380, 1155} + , { 0,155, 2.40981,-174.0747, 1156} + , { 0,156, 3.82841,-134.5185, 1157} + , { 0,157, 3.63189,-144.1335, 1158} + , { 0,158, 3.45140,-150.7135, 1159} + , { 0,159, 3.29058,-155.3860, 1160} + , { 0,160, 3.14787,-158.8333, 1161} + , { 0,161, 3.02068,-161.4638, 1162} + , { 0,162, 2.90648,-163.5290, 1163} + , { 0,163, 2.80318,-165.1896, 1164} + , { 0,164, 2.70906,-166.5516, 1165} + , { 0,165, 2.62275,-167.6877, 1166} + , { 0,166, 2.54314,-168.6492, 1167} + , { 0,167, 2.46933,-169.4729, 1168} + , { 0,168, 2.40058,-170.1863, 1169} + , { 0,169, 3.62990,-125.0834, 1170} + , { 0,170, 3.48970,-134.6531, 1171} + , { 0,171, 3.34824,-141.8607, 1172} + , { 0,172, 3.21379,-147.3246, 1173} + , { 0,173, 3.08914,-151.5384, 1174} + , { 0,174, 2.97461,-154.8538, 1175} + , { 0,175, 2.86954,-157.5140, 1176} + , { 0,176, 2.77299,-159.6870, 1177} + , { 0,177, 2.68398,-161.4906, 1178} + , { 0,178, 2.60161,-163.0087, 1179} + , { 0,179, 2.52511,-164.3025, 1180} + , { 0,180, 2.45378,-165.4173, 1181} + , { 0,181, 2.38706,-166.3869, 1182} + , { 0,182, 3.44882,-118.6476, 1183} + , { 0,183, 3.34724,-127.5393, 1184} + , { 0,184, 3.23734,-134.7276, 1185} + , { 0,185, 3.12697,-140.4898, 1186} + , { 0,186, 3.02030,-145.1246, 1187} + , { 0,187, 2.91918,-148.8875, 1188} + , { 0,188, 2.82423,-151.9784, 1189} + , { 0,189, 2.73541,-154.5487, 1190} + , { 0,190, 2.65241,-156.7115, 1191} + , { 0,191, 2.57478,-158.5517, 1192} + , { 0,192, 2.50206,-160.1334, 1193} + , { 0,193, 2.43381,-161.5054, 1194} + , { 0,194, 2.36959,-162.7057, 1195} + , { 0,195, 3.28804,-114.0832, 1196} + , { 0,196, 3.21242,-122.1577, 1197} + , { 0,197, 3.12645,-129.0227, 1198} + , { 0,198, 3.03624,-134.7749, 1199} + , { 0,199, 2.94584,-139.5738, 1200} + , { 0,200, 2.85763,-143.5854, 1201} + , { 0,201, 2.77288,-146.9577, 1202} + , { 0,202, 2.69216,-149.8137, 1203} + , { 0,203, 2.61561,-152.2520, 1204} + , { 0,204, 2.54319,-154.3510, 1205} + , { 0,205, 2.47471,-156.1721, 1206} + , { 0,206, 2.40994,-157.7642, 1207} + , { 0,207, 2.34861,-159.1658, 1208} + , { 0,208, 3.14567,-110.7168, 1209} + , { 0,209, 3.08777,-118.0121, 1210} + , { 0,210, 3.01958,-124.4406, 1211} + , { 0,211, 2.94558,-130.0146, 1212} + , { 0,212, 2.86916,-134.8077, 1213} + , { 0,213, 2.79267,-138.9189, 1214} + , { 0,214, 2.71760,-142.4497, 1215} + , { 0,215, 2.64483,-145.4932, 1216} + , { 0,216, 2.57482,-148.1295, 1217} + , { 0,217, 2.50780,-150.4261, 1218} + , { 0,218, 2.44380,-152.4386, 1219} + , { 0,219, 2.38276,-154.2124, 1220} + , { 0,220, 2.32458,-155.7847, 1221} + , { 0,221, 3.01893,-108.1480, 1222} + , { 0,222, 2.97344,-114.7521, 1223} + , { 0,223, 2.91849,-120.7240, 1224} + , { 0,224, 2.85731,-126.0394, 1225} + , { 0,225, 2.79257,-130.7241, 1226} + , { 0,226, 2.72634,-134.8316, 1227} + , { 0,227, 2.66009,-138.4274, 1228} + , { 0,228, 2.59483,-141.5779, 1229} + , { 0,229, 2.53118,-144.3450, 1230} + , { 0,230, 2.46952,-146.7840, 1231} + , { 0,231, 2.41006,-148.9425, 1232} + , { 0,232, 2.35288,-150.8611, 1233} + , { 0,233, 2.29798,-152.5739, 1234} + , { 0,234, 2.90524,-106.1307, 1235} + , { 0,235, 2.86868,-112.1369, 1236} + , { 0,236, 2.82371,-117.6726, 1237} + , { 0,237, 2.77263,-122.7003, 1238} + , { 0,238, 2.71752,-127.2199, 1239} + , { 0,239, 2.66010,-131.2567, 1240} + , { 0,240, 2.60170,-134.8499, 1241} + , { 0,241, 2.54332,-138.0450, 1242} + , { 0,242, 2.48566,-140.8878, 1243} + , { 0,243, 2.42917,-143.4215, 1244} + , { 0,244, 2.37418,-145.6855, 1245} + , { 0,245, 2.32085,-147.7147, 1246} + , { 0,246, 2.26929,-149.5394, 1247} + , { 0,247, 2.80245,-104.5083, 1248} + , { 0,248, 2.77251,-110.0008, 1249} + , { 0,249, 2.73516,-115.1361, 1250} + , { 0,250, 2.69208,-119.8738, 1251} + , { 0,251, 2.64486,-124.2013, 1252} + , { 0,252, 2.59492,-128.1265, 1253} + , { 0,253, 2.54340,-131.6711, 1254} + , { 0,254, 2.49122,-134.8644, 1255} + , { 0,255, 2.43907,-137.7391, 1256} + , { 0,256, 2.38747,-140.3281, 1257} + , { 0,257, 2.33676,-142.6628, 1258} + , { 0,258, 2.28720,-144.7723, 1259} + , { 0,259, 2.23894,-146.6827, 1260} + , { 1, 0, 2.80245, 75.4917, 2001} + , { 1, 1, 2.77251, 69.9992, 2002} + , { 1, 2, 2.73516, 64.8639, 2003} + , { 1, 3, 2.69208, 60.1262, 2004} + , { 1, 4, 2.64486, 55.7987, 2005} + , { 1, 5, 2.59492, 51.8735, 2006} + , { 1, 6, 2.54340, 48.3289, 2007} + , { 1, 7, 2.49122, 45.1356, 2008} + , { 1, 8, 2.43907, 42.2609, 2009} + , { 1, 9, 2.38747, 39.6719, 2010} + , { 1, 10, 2.33676, 37.3372, 2011} + , { 1, 11, 2.28720, 35.2277, 2012} + , { 1, 12, 2.23894, 33.3173, 2013} + , { 1, 13, 2.90524, 73.8693, 2014} + , { 1, 14, 2.86868, 67.8631, 2015} + , { 1, 15, 2.82371, 62.3274, 2016} + , { 1, 16, 2.77263, 57.2997, 2017} + , { 1, 17, 2.71752, 52.7801, 2018} + , { 1, 18, 2.66010, 48.7433, 2019} + , { 1, 19, 2.60170, 45.1501, 2020} + , { 1, 20, 2.54332, 41.9550, 2021} + , { 1, 21, 2.48566, 39.1122, 2022} + , { 1, 22, 2.42917, 36.5785, 2023} + , { 1, 23, 2.37418, 34.3145, 2024} + , { 1, 24, 2.32085, 32.2853, 2025} + , { 1, 25, 2.26929, 30.4606, 2026} + , { 1, 26, 3.01893, 71.8520, 2027} + , { 1, 27, 2.97344, 65.2479, 2028} + , { 1, 28, 2.91849, 59.2760, 2029} + , { 1, 29, 2.85731, 53.9606, 2030} + , { 1, 30, 2.79257, 49.2759, 2031} + , { 1, 31, 2.72634, 45.1684, 2032} + , { 1, 32, 2.66009, 41.5726, 2033} + , { 1, 33, 2.59483, 38.4221, 2034} + , { 1, 34, 2.53118, 35.6550, 2035} + , { 1, 35, 2.46952, 33.2160, 2036} + , { 1, 36, 2.41006, 31.0575, 2037} + , { 1, 37, 2.35288, 29.1389, 2038} + , { 1, 38, 2.29798, 27.4261, 2039} + , { 1, 39, 3.14567, 69.2832, 2040} + , { 1, 40, 3.08777, 61.9879, 2041} + , { 1, 41, 3.01958, 55.5594, 2042} + , { 1, 42, 2.94558, 49.9854, 2043} + , { 1, 43, 2.86916, 45.1923, 2044} + , { 1, 44, 2.79267, 41.0811, 2045} + , { 1, 45, 2.71760, 37.5503, 2046} + , { 1, 46, 2.64483, 34.5068, 2047} + , { 1, 47, 2.57482, 31.8705, 2048} + , { 1, 48, 2.50780, 29.5739, 2049} + , { 1, 49, 2.44380, 27.5614, 2050} + , { 1, 50, 2.38276, 25.7876, 2051} + , { 1, 51, 2.32458, 24.2153, 2052} + , { 1, 52, 3.28804, 65.9168, 2053} + , { 1, 53, 3.21242, 57.8423, 2054} + , { 1, 54, 3.12645, 50.9773, 2055} + , { 1, 55, 3.03624, 45.2251, 2056} + , { 1, 56, 2.94584, 40.4261, 2057} + , { 1, 57, 2.85763, 36.4146, 2058} + , { 1, 58, 2.77288, 33.0423, 2059} + , { 1, 59, 2.69216, 30.1863, 2060} + , { 1, 60, 2.61561, 27.7480, 2061} + , { 1, 61, 2.54319, 25.6490, 2062} + , { 1, 62, 2.47471, 23.8278, 2063} + , { 1, 63, 2.40994, 22.2358, 2064} + , { 1, 64, 2.34861, 20.8342, 2065} + , { 1, 65, 3.44882, 61.3524, 2066} + , { 1, 66, 3.34724, 52.4607, 2067} + , { 1, 67, 3.23734, 45.2724, 2068} + , { 1, 68, 3.12697, 39.5102, 2069} + , { 1, 69, 3.02030, 34.8754, 2070} + , { 1, 70, 2.91918, 31.1125, 2071} + , { 1, 71, 2.82423, 28.0216, 2072} + , { 1, 72, 2.73541, 25.4513, 2073} + , { 1, 73, 2.65241, 23.2885, 2074} + , { 1, 74, 2.57478, 21.4483, 2075} + , { 1, 75, 2.50206, 19.8666, 2076} + , { 1, 76, 2.43381, 18.4946, 2077} + , { 1, 77, 2.36959, 17.2943, 2078} + , { 1, 78, 3.62990, 54.9166, 2079} + , { 1, 79, 3.48970, 45.3469, 2080} + , { 1, 80, 3.34824, 38.1393, 2081} + , { 1, 81, 3.21379, 32.6754, 2082} + , { 1, 82, 3.08914, 28.4616, 2083} + , { 1, 83, 2.97461, 25.1462, 2084} + , { 1, 84, 2.86954, 22.4860, 2085} + , { 1, 85, 2.77299, 20.3130, 2086} + , { 1, 86, 2.68398, 18.5094, 2087} + , { 1, 87, 2.60161, 16.9913, 2088} + , { 1, 88, 2.52511, 15.6975, 2089} + , { 1, 89, 2.45378, 14.5827, 2090} + , { 1, 90, 2.38706, 13.6131, 2091} + , { 1, 91, 3.82841, 45.4815, 2092} + , { 1, 92, 3.63189, 35.8665, 2093} + , { 1, 93, 3.45140, 29.2865, 2094} + , { 1, 94, 3.29058, 24.6140, 2095} + , { 1, 95, 3.14787, 21.1667, 2096} + , { 1, 96, 3.02068, 18.5362, 2097} + , { 1, 97, 2.90648, 16.4710, 2098} + , { 1, 98, 2.80318, 14.8104, 2099} + , { 1, 99, 2.70906, 13.4484, 2100} + , { 1,100, 2.62275, 12.3123, 2101} + , { 1,101, 2.54314, 11.3508, 2102} + , { 1,102, 2.46933, 10.5271, 2103} + , { 1,103, 2.40058, 9.8137, 2104} + , { 1,104, 4.02506, 31.3903, 2105} + , { 1,105, 3.75578, 23.4508, 2106} + , { 1,106, 3.53436, 18.5990, 2107} + , { 1,107, 3.34926, 15.3698, 2108} + , { 1,108, 3.19129, 13.0792, 2109} + , { 1,109, 3.05396, 11.3749, 2110} + , { 1,110, 2.93274, 10.0595, 2111} + , { 1,111, 2.82438, 9.0145, 2112} + , { 1,112, 2.72652, 8.1649, 2113} + , { 1,113, 2.63736, 7.4608, 2114} + , { 1,114, 2.55554, 6.8679, 2115} + , { 1,115, 2.47997, 6.3620, 2116} + , { 1,116, 2.40981, 5.9253, 2117} + , { 1,117, 4.16296, 11.4966, 2118} + , { 1,118, 3.83156, 8.2278, 2119} + , { 1,119, 3.58167, 6.4003, 2120} + , { 1,120, 3.38143, 5.2352, 2121} + , { 1,121, 3.21450, 4.4282, 2122} + , { 1,122, 3.07147, 3.8365, 2123} + , { 1,123, 2.94641, 3.3841, 2124} + , { 1,124, 2.83534, 3.0271, 2125} + , { 1,125, 2.73549, 2.7381, 2126} + , { 1,126, 2.64483, 2.4995, 2127} + , { 1,127, 2.56186, 2.2991, 2128} + , { 1,128, 2.48538, 2.1285, 2129} + , { 1,129, 2.41450, 1.9814, 2130} + , { 1,130, 4.16296,-11.4966, 2131} + , { 1,131, 3.83156, -8.2278, 2132} + , { 1,132, 3.58167, -6.4003, 2133} + , { 1,133, 3.38143, -5.2352, 2134} + , { 1,134, 3.21450, -4.4282, 2135} + , { 1,135, 3.07147, -3.8365, 2136} + , { 1,136, 2.94641, -3.3841, 2137} + , { 1,137, 2.83534, -3.0271, 2138} + , { 1,138, 2.73549, -2.7381, 2139} + , { 1,139, 2.64483, -2.4995, 2140} + , { 1,140, 2.56186, -2.2991, 2141} + , { 1,141, 2.48538, -2.1285, 2142} + , { 1,142, 2.41450, -1.9814, 2143} + , { 1,143, 4.02506,-31.3903, 2144} + , { 1,144, 3.75578,-23.4508, 2145} + , { 1,145, 3.53436,-18.5990, 2146} + , { 1,146, 3.34926,-15.3698, 2147} + , { 1,147, 3.19129,-13.0792, 2148} + , { 1,148, 3.05396,-11.3749, 2149} + , { 1,149, 2.93274,-10.0595, 2150} + , { 1,150, 2.82438, -9.0145, 2151} + , { 1,151, 2.72652, -8.1649, 2152} + , { 1,152, 2.63736, -7.4608, 2153} + , { 1,153, 2.55554, -6.8679, 2154} + , { 1,154, 2.47997, -6.3620, 2155} + , { 1,155, 2.40981, -5.9253, 2156} + , { 1,156, 3.82841,-45.4815, 2157} + , { 1,157, 3.63189,-35.8665, 2158} + , { 1,158, 3.45140,-29.2865, 2159} + , { 1,159, 3.29058,-24.6140, 2160} + , { 1,160, 3.14787,-21.1667, 2161} + , { 1,161, 3.02068,-18.5362, 2162} + , { 1,162, 2.90648,-16.4710, 2163} + , { 1,163, 2.80318,-14.8104, 2164} + , { 1,164, 2.70906,-13.4484, 2165} + , { 1,165, 2.62275,-12.3123, 2166} + , { 1,166, 2.54314,-11.3508, 2167} + , { 1,167, 2.46933,-10.5271, 2168} + , { 1,168, 2.40058, -9.8137, 2169} + , { 1,169, 3.62990,-54.9166, 2170} + , { 1,170, 3.48970,-45.3469, 2171} + , { 1,171, 3.34824,-38.1393, 2172} + , { 1,172, 3.21379,-32.6754, 2173} + , { 1,173, 3.08914,-28.4616, 2174} + , { 1,174, 2.97461,-25.1462, 2175} + , { 1,175, 2.86954,-22.4860, 2176} + , { 1,176, 2.77299,-20.3130, 2177} + , { 1,177, 2.68398,-18.5094, 2178} + , { 1,178, 2.60161,-16.9913, 2179} + , { 1,179, 2.52511,-15.6975, 2180} + , { 1,180, 2.45378,-14.5827, 2181} + , { 1,181, 2.38706,-13.6131, 2182} + , { 1,182, 3.44882,-61.3524, 2183} + , { 1,183, 3.34724,-52.4607, 2184} + , { 1,184, 3.23734,-45.2724, 2185} + , { 1,185, 3.12697,-39.5102, 2186} + , { 1,186, 3.02030,-34.8754, 2187} + , { 1,187, 2.91918,-31.1125, 2188} + , { 1,188, 2.82423,-28.0216, 2189} + , { 1,189, 2.73541,-25.4513, 2190} + , { 1,190, 2.65241,-23.2885, 2191} + , { 1,191, 2.57478,-21.4483, 2192} + , { 1,192, 2.50206,-19.8666, 2193} + , { 1,193, 2.43381,-18.4946, 2194} + , { 1,194, 2.36959,-17.2943, 2195} + , { 1,195, 3.28804,-65.9168, 2196} + , { 1,196, 3.21242,-57.8423, 2197} + , { 1,197, 3.12645,-50.9773, 2198} + , { 1,198, 3.03624,-45.2251, 2199} + , { 1,199, 2.94584,-40.4262, 2200} + , { 1,200, 2.85763,-36.4146, 2201} + , { 1,201, 2.77288,-33.0423, 2202} + , { 1,202, 2.69216,-30.1863, 2203} + , { 1,203, 2.61561,-27.7480, 2204} + , { 1,204, 2.54319,-25.6490, 2205} + , { 1,205, 2.47471,-23.8279, 2206} + , { 1,206, 2.40994,-22.2358, 2207} + , { 1,207, 2.34861,-20.8342, 2208} + , { 1,208, 3.14567,-69.2832, 2209} + , { 1,209, 3.08777,-61.9879, 2210} + , { 1,210, 3.01958,-55.5594, 2211} + , { 1,211, 2.94558,-49.9854, 2212} + , { 1,212, 2.86916,-45.1923, 2213} + , { 1,213, 2.79267,-41.0811, 2214} + , { 1,214, 2.71760,-37.5503, 2215} + , { 1,215, 2.64483,-34.5068, 2216} + , { 1,216, 2.57482,-31.8705, 2217} + , { 1,217, 2.50780,-29.5739, 2218} + , { 1,218, 2.44380,-27.5614, 2219} + , { 1,219, 2.38276,-25.7876, 2220} + , { 1,220, 2.32458,-24.2153, 2221} + , { 1,221, 3.01893,-71.8520, 2222} + , { 1,222, 2.97344,-65.2479, 2223} + , { 1,223, 2.91849,-59.2760, 2224} + , { 1,224, 2.85731,-53.9606, 2225} + , { 1,225, 2.79257,-49.2759, 2226} + , { 1,226, 2.72634,-45.1684, 2227} + , { 1,227, 2.66009,-41.5726, 2228} + , { 1,228, 2.59483,-38.4221, 2229} + , { 1,229, 2.53118,-35.6550, 2230} + , { 1,230, 2.46952,-33.2160, 2231} + , { 1,231, 2.41006,-31.0575, 2232} + , { 1,232, 2.35288,-29.1389, 2233} + , { 1,233, 2.29798,-27.4261, 2234} + , { 1,234, 2.90524,-73.8693, 2235} + , { 1,235, 2.86868,-67.8631, 2236} + , { 1,236, 2.82371,-62.3274, 2237} + , { 1,237, 2.77263,-57.2997, 2238} + , { 1,238, 2.71752,-52.7801, 2239} + , { 1,239, 2.66010,-48.7433, 2240} + , { 1,240, 2.60170,-45.1501, 2241} + , { 1,241, 2.54332,-41.9550, 2242} + , { 1,242, 2.48566,-39.1122, 2243} + , { 1,243, 2.42917,-36.5785, 2244} + , { 1,244, 2.37418,-34.3145, 2245} + , { 1,245, 2.32085,-32.2853, 2246} + , { 1,246, 2.26929,-30.4606, 2247} + , { 1,247, 2.80245,-75.4917, 2248} + , { 1,248, 2.77251,-69.9992, 2249} + , { 1,249, 2.73516,-64.8639, 2250} + , { 1,250, 2.69208,-60.1262, 2251} + , { 1,251, 2.64486,-55.7987, 2252} + , { 1,252, 2.59492,-51.8735, 2253} + , { 1,253, 2.54340,-48.3289, 2254} + , { 1,254, 2.49122,-45.1356, 2255} + , { 1,255, 2.43907,-42.2609, 2256} + , { 1,256, 2.38747,-39.6719, 2257} + , { 1,257, 2.33676,-37.3372, 2258} + , { 1,258, 2.28720,-35.2277, 2259} + , { 1,259, 2.23894,-33.3173, 2260} +}; +#endif diff --git a/StRoot/StGeant4Maker/tests/unit_test_fcs_sampling.C b/StRoot/StGeant4Maker/tests/unit_test_fcs_sampling.C new file mode 100644 index 00000000000..3be9d828440 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_fcs_sampling.C @@ -0,0 +1,150 @@ +#include "tests/unit_tests.h" +//#include "StFcsDbMaker/StFcsDbMaker.h" + +#include +#include +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; + +struct Cell { + int northSouth; + int cellId; + double eta; + double phi; + double x,y,z; + int volumeId; // expected Volume ID +}; + + +void unit_test_fcs_sampling( const int nevents=1000 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.0,0.0,0.0); + pm->SetSigma (0.0,0.0,0.0); + + LOG_TEST << "========================================================" << std::endl; + LOG_TEST << "Test 3.85 GeV protons, neutrons" << std::endl; + LOG_TEST << "Test 7.7 GeV deuteron" << std::endl; + LOG_TEST << "Test 15.4 GeV alpha" << std::endl; + LOG_TEST << "========================================================" << std::endl; + + TFile* file = TFile::Open("output.root","recreate"); + int nbin=80; + double mn=0.; + double mx=20.0; + + auto* chain = StMaker::GetChain(); + + auto sumHits = [=](const char* name, double sf=1.0 ) -> double { + assert(sf>0); + double sum = 0.; + auto* table = dynamic_cast( chain->GetDataSet( name ) ) ; + if (table) + for ( int i=0;iGetNRows();i++ ){ + const g2t_emc_hit_st* hit = static_cast( table->At(i) ); + sum+=hit->de / sf; + }; + return sum; + }; + + auto throw_particle = [=]( std::string type, const double E=3.85, double etaMn=2.75, double etaMx=3.75 ) { + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* _part = _kine->AddParticle(type.c_str()); + auto _mass = _part->GetMass(); // Get the mass of the proton + if ( E > _mass ) { + auto _pmom = TMath::Sqrt(E*E-_mass*_mass); + auto _eta = gRandom->Rndm() * ( etaMx - etaMn ) + etaMn; // random angle + auto _phi = gRandom->Rndm() * TMath::TwoPi(); + TVector3 unit(0,0,1); + unit.SetPtEtaPhi(1.0,_eta,_phi); + unit=unit.Unit(); + auto momentum=_pmom*unit; + momentum.Print(); + _part->SetPx( momentum[0] ); + _part->SetPy( momentum[1] ); + _part->SetPz( momentum[2] ); + _part->SetVx( 0 ); + _part->SetVy( 0 ); + _part->SetVz( 0 ); + chain->Clear(); + chain->Make(); + } + else { + LOG_INFO << "ERROR: mass > E (no particle simulated)" << endm; + } + }; + + struct Job { + std::string particle; + double energy; + TH1F* hWCAL; + TH1F* hHCAL; + TH1F* hESUM; + }; + + TH1F* hWCAL[5]; + TH1F* hHCAL[5]; + TH1F* hESUM[5]; + + std::vector jobs = { + { "electron",3.85, 0, 0, 0 }, + { "proton", 3.85, 0, 0, 0 }, + { "neutron", 3.85, 0, 0, 0 }, + { "D", 7.70, 0, 0, 0 }, + { "alpha", 15.4, 0, 0, 0 } + }; + + int count = 0; + for ( auto job : jobs ) { + std::string name; + std::string title; + + name = Form("hWCAL%s",job.particle.c_str()); + title = Form("WCAL response to %5f GeV %s; E [GeV]",job.energy,job.particle.c_str()); + hWCAL[count] = new TH1F(name.c_str(),title.c_str(),500,0.,25.); + + name = Form("hHCAL%s",job.particle.c_str()); + title = Form("HCAL response to %5f GeV %s; E [GeV]",job.energy,job.particle.c_str()); + hHCAL[count] = new TH1F(name.c_str(),title.c_str(),500,0.,25.); + + name = Form("hESUM%s",job.particle.c_str()); + title = Form("FCS summed response to %5f GeV %s; E [GeV]",job.energy,job.particle.c_str()); + hESUM[count] = new TH1F(name.c_str(),title.c_str(),500,0.,25.); + + count++; + } + + + for ( int event=0;eventInfo() << "//==========================================================================" << endm; + gMessMgr->Info() << "Throwing event number " << event << " of " << nevents << endm; + + count = 0; + for ( auto& job : jobs ) { + throw_particle( job.particle, job.energy ); + double wcal = sumHits( "g2t_wca_hit", 0.2 ); + double hcal = sumHits( "g2t_hca_hit", 0.0145 ); + double sum = wcal + hcal; + LOG_INFO << "Particle = " << job.particle << endm; + LOG_INFO << "E (wcal) = " << wcal << endm; + LOG_INFO << "E (hcal) = " << hcal << endm; + LOG_INFO << "E (totl) = " << sum << endm; + hWCAL[count]->Fill(wcal); + hHCAL[count]->Fill(hcal); + hESUM[count]->Fill(sum); + count++; + } + + } + + file->Write(); + delete file; + +} + diff --git a/StRoot/StGeant4Maker/tests/unit_test_fst_hits.C b/StRoot/StGeant4Maker/tests/unit_test_fst_hits.C new file mode 100644 index 00000000000..d03fe6d49fb --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_fst_hits.C @@ -0,0 +1,181 @@ +#include "tests/unit_tests.h" +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +//void throw_muon_in_fst_wedge( int wedgeid, int inout, int charge = 1 ) { +void throw_muon_in_fst_wedge( double eta, double phid ) { + + // TODO... + //double eta = 2.8; + _eta=eta; + //double phid = 15.0; + _phid=phid; + + throw_muon( eta, phid, 5.0, 1 ); // energetic + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ) ; + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ) ; + hit_table = dynamic_cast( chain->GetDataSet("g2t_fsi_hit") ) ; + +} +//___________________________________________________________________ +void unit_test_fst_hits() { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and forward silicon hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + double etas[] = { 2.55, 3.00, 3.50, 3.95 }; + double phis[] = { 15.0, 45.0, 75.0, 105.0, 135.0, 165.0, 195.0, 225.0, 255.0, 285.0, 315.0, 345.0 }; + + for ( auto e : etas ) { + for ( auto p : phis ) { + + throw_muon_in_fst_wedge( e, p+1.9 ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + // Failure is tested by check_track when it tests for a valid track pointer + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the FSI", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 3 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_fts_hit; + std::string result = FAIL; + if ( n==3 ) + result = PASS; + else if ( n==4 ) + result = UNKN; + result = Form(" n=%i ",n) + result; + return result; + }); + + for ( int i=0;iGetNRows();i++ ) { + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + check_stg_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have an energy deposit > 0",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->de > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have a path length > 0",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have a nonzero momentum",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + check_stg_hit( "Track's momentum at hit should be < initial value",hit, [=](const g2t_fts_hit_st* h){ + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + check_stg_hit( "Hit position should be w/in the fiducial volume of the station",hit,[=](const g2t_fts_hit_st* h){ + // TODO + return TODO; + }); + check_stg_hit( "The hit position and tof*c agree to w/in 0.15 mm ", hit,[=](const g2t_fts_hit_st* h) { + // There should be some tolerance on this, b/c of roundoff error at each tracking step + std::string result = FAIL; + double c_tof = 2.99792458E10 /* cm/s */ * h->tof; + double s_trk = + sqrt( h->x[0]*h->x[0] + + h->x[1]*h->x[1] + + h->x[2]*h->x[2] ); + double diff = TMath::Abs(c_tof-s_trk); + if ( diff < 0.015 ) result = PASS; + result = Form("c_tof=%f cm strack=%f cm diff=%f cm ",c_tof,s_trk,diff) + result; + return result; + }); + check_stg_hit( "The station should decode as ...",hit,[=](const g2t_fts_hit_st* h) { + std::string result=TODO; + int station = h->volume_id / 10; + if ( station>=1 && station<=4 ) result=PASS; + result = Form(" volume_id=%i ",h->volume_id) + result; + return result; + }); + + } + + } + } + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_fst_timing.C b/StRoot/StGeant4Maker/tests/unit_test_fst_timing.C new file mode 100644 index 00000000000..9928cb4614c --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_fst_timing.C @@ -0,0 +1,173 @@ +#include "tests/unit_tests.h" +#include + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +void throw_muon_in_fst() { + + + throw_particle( 1, "mu+,mu-", 0.2, 5.0, 2.5, 4.0, 0.0, TMath::TwoPi() ); + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ) ; + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ) ; + hit_table = dynamic_cast( chain->GetDataSet("g2t_fsi_hit") ) ; + + const g2t_track_st* track = static_cast( track_table->At(0) ); + _eta = track->eta; + + _phid = TMath::ATan2( track->p[1], track->p[0] ) * 180.0 / TMath::Pi(); + while ( _phid < 0 ) _phid+=360; + + +} +//___________________________________________________________________ +void unit_test_fst_timing( int longtest=10000 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + Accumulator_t time; // Time per thrown muon + Accumulator_t time_phi[181]; // time in 2 degree phi slices + + for ( int event=0;eventstart_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the FSI", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 3 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_fts_hit; + std::string result = FAIL; + if ( n==3 ) + result = PASS; + else if ( n==4 ) + result = UNKN; + result = Form(" n=%i ",n) + result; + return result; + }); + + } + + auto printTime = [=]( const std::string& message, const Accumulator_t& time ) { + + int _count = boost::accumulators::count(time); + double _mean = boost::accumulators::mean(time); + double _median = boost::accumulators::median(time); + double _min = boost::accumulators::min(time); + double _max = boost::accumulators::max(time); + double _error_of_mean = boost::accumulators::error_of(time); + + LOG_TEST << message.c_str() << std::endl; + LOG_TEST << Form( "count = %i", _count ) << std::endl; + LOG_TEST << Form( "time / muon: mean = %f s", _mean ) << std::endl; + LOG_TEST << Form( "time / muon: median = %f s", _median ) << std::endl; + LOG_TEST << Form( "time / muon: min = %f s", _min ) << std::endl; + LOG_TEST << Form( "time / muon: max = %f s", _max ) << std::endl; + if ( _count > 2 ) + LOG_TEST << Form( "time / muon: error of mean = %f s", _error_of_mean ) << std::endl; + + + }; + + printTime( "TOTAL /////////////////////////////////", time ); + int index=0; + for ( auto t : time_phi ) { + + printTime( Form("PHI=%i /////////////////////////////////",2*index), time_phi[index] ); + index++; + + } + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_kinematics.C b/StRoot/StGeant4Maker/tests/unit_test_kinematics.C new file mode 100644 index 00000000000..1bf8274055f --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_kinematics.C @@ -0,0 +1,183 @@ +#include "tests/unit_tests.h" + +#include + +template +std::string check_kine( std::string message, Add addfunc, Test testfunc ) { + std::string af = addfunc(); + std::string tf = testfunc(); + std::string result = "\u001b[37m [" + message + "] " + "(" + af +") " + tf; + gMessMgr->Info() << result << endm; + return result; +}; + +void unit_test_kinematics() { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of paticle gun" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + auto* chain = StMaker::GetChain(); + + auto no_op = [=]() -> std::string { return "-same-"; } ; + auto add_deuteron = [=]() { + std::string result = "Deuteron"; + const double ptmn = 0.099999; + const double ptmx = 10.100001; + const double etamn= -1.; + const double etamx= +4.; + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + pm->Clear(); + _kine->SetAttr("rapidity",1); + _kine->Kine(1,"D",ptmn,ptmx,etamn,etamx); + pm->Make(); + pm->event()->Print(); + return result; + }; + + check_kine( "After adding a deuteron to the generator, a single particle appears in the event", add_deuteron, [=](){ + std::string result = FAIL; + int np = _kine->GetNumberOfParticles(); + if ( 1 == np ) { + result = PASS; + } + result = Form(" /number of particles = %i/ ", np) + result; + return result; + }); + check_kine( "The particle should be accessible in the event structure at element 1", no_op, [=](){ + auto& event = *pm->event(); + auto part = event[1]; + if ( part ) + return PASS; + else + return FAIL; + }); + check_kine( "The particle should have PDG id id=1000010020", no_op, [=](){ + auto& event = *pm->event(); + auto part = event[1]; + std::string result = FAIL; + if ( 1000010020 == part->GetId() ) + result = PASS; + + result = Form("/id = %i/ ",part->GetId()) + result; + return result; + }); + check_kine( "The particle should have mass > 0", no_op, [=](){ + std::string result = FAIL; + auto& event = *pm->event(); + auto part = event[1]; + auto mass = part->GetMass(); + if ( mass > 0 ) result = PASS; + result = Form("/mass = %f GeV/ ",mass) + result; + return result; + }); + check_kine( "The dot product of the particl's 4-momentum w/ itself is (mc^2)^2", no_op, [=](){ + std::string result = FAIL; + auto& event = *pm->event(); + auto part = event[1]; + auto mass = part->GetMass(); + auto momentum = part->momentum(); + auto inner = momentum.Dot(momentum); + //momentum.Print(); + bool good = TMath::Abs( sqrt(inner) - mass ) < 0.005*mass; + if ( good ) + result = PASS; + result = Form("/sqrt(p4 dot p4) = %f expect %f/", sqrt(inner), mass) + result; + return result; + }); + + + auto add_helium3 = [=]() { + std::string result = "He3"; + const double ptmn = 0.099999; + const double ptmx = 10.100001; + const double etamn= -1.; + const double etamx= +4.; + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + pm->Clear(); + _kine->SetAttr("rapidity",1); + _kine->Kine(1,"He3",ptmn,ptmx,etamn,etamx); + pm->Make(); + pm->event()->Print(); + return result; + }; + +#if 0 + auto add_alpha = [=]() { + std::string result = "alpha"; + const double ptmn = 0.099999; + const double ptmx = 10.100001; + const double etamn= -1.; + const double etamx= +4.; + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + pm->Clear(); + _kine->SetAttr("rapidity",1); + _kine->Kine(1,"He4",ptmn,ptmx,etamn,etamx); + pm->Make(); + pm->event()->Print(); + return result; + }; +#endif + + check_kine( "After adding He3 to the generator, a single particle appears in the event", add_helium3, [=](){ + std::string result = FAIL; + int np = _kine->GetNumberOfParticles(); + if ( 1 == np ) { + result = PASS; + } + result = Form(" /number of particles = %i/ ", np) + result; + return result; + }); + check_kine( "The particle should be accessible in the event structure at element 1", no_op, [=](){ + auto& event = *pm->event(); + auto part = event[1]; + if ( part ) + return PASS; + else + return FAIL; + }); + check_kine( "The particle should have PDG id id=1000020020", no_op, [=](){ + auto& event = *pm->event(); + auto part = event[1]; + std::string result = FAIL; + if ( 1000020020 == part->GetId() ) + result = PASS; + + result = Form("/id = %i/ ",part->GetId()) + result; + return result; + }); + check_kine( "The particle should have mass > 0", no_op, [=](){ + std::string result = FAIL; + auto& event = *pm->event(); + auto part = event[1]; + auto mass = part->GetMass(); + if ( mass > 0 ) result = PASS; + result = Form("/mass = %f GeV/ ",mass) + result; + return result; + }); + check_kine( "The dot product of the particl's 4-momentum w/ itself is (mc^2)^2", no_op, [=](){ + std::string result = FAIL; + auto& event = *pm->event(); + auto part = event[1]; + auto mass = part->GetMass(); + auto momentum = part->momentum(); + auto inner = momentum.Dot(momentum); + //momentum.Print(); + bool good = TMath::Abs( sqrt(inner) - mass ) < 0.005*mass; + if ( good ) + result = PASS; + result = Form("/sqrt(p4 dot p4) = %f expect %f/", sqrt(inner), mass) + result; + return result; + }); + + + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_mtd_hits.C b/StRoot/StGeant4Maker/tests/unit_test_mtd_hits.C new file mode 100644 index 00000000000..582e9ccc43f --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_mtd_hits.C @@ -0,0 +1,1748 @@ +#include "tests/unit_tests.h" +#include + +struct Cell { + int icell; + int bl; // backleg + int mod; // module + float phi; + float eta; +}; +std::vector cells; +void init_cells(); + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//______________________________________________________________________ +void unit_test_mtd_hits( int longtest=0, double _pt=25.0 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and TPC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + Accumulator_t edep; // Energy deposition + Accumulator_t step; // Step size + Accumulator_t time; // Time per throw + + init_cells(); + + for ( auto cell : cells ) { + + throw_muon( _eta = cell.eta, cell.phi * 180.0 / TMath::Pi(), _pt ); + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_mtd_hit") ); + + + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + assert(t); + std::string result = PASS; + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the TPC", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* v = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( 0==v ) + result = PASS; + else { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 208.0 || xx2 > 208.0 ) + result = PASS; + result = Form(" r=%f ",TMath::Max(xx1,xx2)) + result; + } + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 6 hits in the MTD (dev2021 geometry)", [=](const g2t_track_st* t){ + int n = t->n_mtd_hit; + std::string result = FAIL; + if ( n==5 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + if ( 0==hit_table ) continue; + + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << GIVEN << "A hit on that track" << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + check_mtd_hit( "The hit should have a nonzero volume_id", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form("id=%i vid=%i de=%f ds=%f ",h->id,h->volume_id,h->de,h->ds) + result; + return result; + }); + check_mtd_hit( "The hit should have an energy deposit > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; // undetermined + if ( h->de > 0 ) result = PASS; + return result; + }); + check_mtd_hit( "The hit should have a step size > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_mtd_hit( "The hit should have a path length > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->s_track > 0 ) result = PASS; + return result; + }); + check_mtd_hit( "The hit should have time-of-flight > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->tof > 0 ) result = PASS; + result = Form(" tof=%f ",h->tof) + result; + return result; + }); + check_mtd_hit( "The hit should have a nonzero momentum", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + check_mtd_hit( "The hit should have a length > 0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + if ( h->s_track > 0 ) result = PASS; + return result; + }); + + check_mtd_hit( "The hit should be at a radius > 364.25", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double R2 = h->xglobal[0]*h->xglobal[0] + h->xglobal[1]*h->xglobal[1]; + if ( R2 > 364.25*364.25 ) result = PASS; + result = Form(" R=%f ",sqrt(R2)) + result; + return result; + }); + check_mtd_hit( "The hit should be at a radius < 430.0", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double R2 = h->xglobal[0]*h->xglobal[0] + h->xglobal[1]*h->xglobal[1]; + if ( R2 < 430.0*430.0 ) result = PASS; + result = Form(" R=%f ",sqrt(R2)) + result; + return result; + }); + + check_mtd_hit( "Track's momentum at hit should be < initial value", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + + + if ( Conditional ( + check_mtd_hit("Conditional: Is the track's momentum at hit > 50% of its initial value", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 > 0.25* _pmom*_pmom ) result = YES; + return result; + }) + ) + ) { + + check_mtd_hit( "The track length and tof*c agree to w/in 0.15 mm ", hit,[=](const g2t_mtd_hit_st* h) { + // There should be some tolerance on this, b/c of roundoff error at each tracking step + std::string result = FAIL; + double c_tof = 2.99792458E10 /* cm/s */ * h->tof; + double s_trk = h->s_track; + double diff = TMath::Abs(c_tof-s_trk); + if ( diff < 0.015 ) result = PASS; + result = Form("c_tof=%f cm strack=%f cm diff=%f cm ",c_tof,s_trk,diff) + result; + return result; + }); + check_mtd_hit( "The track length at the hit should be >= radius at the hit",hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + double R2 = h->xglobal[0]*h->xglobal[0] + h->xglobal[1]*h->xglobal[1]; + double L2 = h->s_track * h->s_track; + if ( R2 <= L2 ) result = PASS; + result = Form(" R=%f L=%f",sqrt(R2),sqrt(L2)) + result; + return result; + }); + + } else { + + LOG_TEST << "The track length and tof*c agree to w/in 0.15 mm " << NADA << std::endl; + LOG_TEST << "The track length at the hit should be >= radius at the hit" << NADA << std::endl; + + } + + + check_mtd_hit( "The sector (aka backleg) should decode as 1..30", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + int sector = h->volume_id / 1000; + if ( sector >= 1 && sector <= 30 ) result = PASS; + result = Form("sector=%i ",sector) + result; + return result; + }); + check_mtd_hit( "The module should decode as 1..5", hit,[=](const g2t_mtd_hit_st* h) { + std::string result = FAIL; + int module = h->volume_id % 1000 / 100; + if ( module >= 1 && module <= 5 ) result = PASS; + result = Form("module=%i ",module) + result; + return result; + }); + check_mtd_hit( "The layer should decode as 1..5", hit,[=]( const g2t_mtd_hit_st* h) { + std::string result = FAIL; + int layer = h->volume_id % 10; + if ( layer >= 1 && layer <= 5 ) result = PASS; + result = Form("layer=%i ",layer) + result; + return result; + }); + } + + } + + std::cout << std::endl << std::endl; + + // Print out energy deposition + { + + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + // Print out time per track + { + + double _mean = boost::accumulators::mean(time); + double _median = boost::accumulators::median(time); + double _min = boost::accumulators::min(time); + double _max = boost::accumulators::max(time); + double _error_of_mean = boost::accumulators::error_of(time); + LOG_TEST << Form( "time / muon: mean = %f s", _mean ) << std::endl; + LOG_TEST << Form( "time / muon: median = %f s", _median ) << std::endl; + LOG_TEST << Form( "time / muon: min = %f s", _min ) << std::endl; + LOG_TEST << Form( "time / muon: max = %f s", _max ) << std::endl; + LOG_TEST << Form( "time / muon: error of mean = %f s", _error_of_mean ) << std::endl; + + } + + // Reset accumulators + edep = step = time = {}; + + if ( longtest > 0 ) { + + std::cout << "-/ running long test with N pi+/pi- =" << longtest << " /-" << std::endl; + + throw_particle( longtest, "pi+,pi-", 0.200, 20.0, -1.0, 1.0, 0.0, TMath::TwoPi() ); + + auto* chain = StMaker::GetChain(); + hit_table = dynamic_cast( chain->GetDataSet("g2t_mtd_hit") ) ; + + // Accumulate + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + // std::cout << *hit << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + } + + // Print out energy deposition + { + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + } + + +} +//___________________________________________________________________ +void init_cells() { +cells.push_back({ 0,1,1, 1.510019,-0.416592 }); +cells.push_back({ 1,1,1, 1.521069,-0.416592 }); +cells.push_back({ 2,1,1, 1.532120,-0.416592 }); +cells.push_back({ 3,1,1, 1.543170,-0.416592 }); +cells.push_back({ 4,1,1, 1.554221,-0.416592 }); +cells.push_back({ 5,1,1, 1.565271,-0.416592 }); +cells.push_back({ 6,1,1, 1.576321,-0.416592 }); +cells.push_back({ 7,1,1, 1.587372,-0.416592 }); +cells.push_back({ 8,1,1, 1.598422,-0.416592 }); +cells.push_back({ 9,1,1, 1.609473,-0.416592 }); +cells.push_back({ 10,1,1, 1.620523,-0.416592 }); +cells.push_back({ 11,1,1, 1.631574,-0.416592 }); +// ibackleg=1 imodule=2 +cells.push_back({ 0,1,2, 1.509247,-0.212765 }); +cells.push_back({ 1,1,2, 1.520438,-0.212765 }); +cells.push_back({ 2,1,2, 1.531629,-0.212765 }); +cells.push_back({ 3,1,2, 1.542819,-0.212765 }); +cells.push_back({ 4,1,2, 1.554010,-0.212765 }); +cells.push_back({ 5,1,2, 1.565201,-0.212765 }); +cells.push_back({ 6,1,2, 1.576392,-0.212765 }); +cells.push_back({ 7,1,2, 1.587582,-0.212765 }); +cells.push_back({ 8,1,2, 1.598773,-0.212765 }); +cells.push_back({ 9,1,2, 1.609964,-0.212765 }); +cells.push_back({ 10,1,2, 1.621154,-0.212765 }); +cells.push_back({ 11,1,2, 1.632345,-0.212765 }); +// ibackleg=1 imodule=3 +cells.push_back({ 0,1,3, 1.510019,-0.000000 }); +cells.push_back({ 1,1,3, 1.521069,-0.000000 }); +cells.push_back({ 2,1,3, 1.532120,-0.000000 }); +cells.push_back({ 3,1,3, 1.543170,-0.000000 }); +cells.push_back({ 4,1,3, 1.554221,-0.000000 }); +cells.push_back({ 5,1,3, 1.565271,-0.000000 }); +cells.push_back({ 6,1,3, 1.576321,-0.000000 }); +cells.push_back({ 7,1,3, 1.587372,-0.000000 }); +cells.push_back({ 8,1,3, 1.598422,-0.000000 }); +cells.push_back({ 9,1,3, 1.609473,-0.000000 }); +cells.push_back({ 10,1,3, 1.620523,-0.000000 }); +cells.push_back({ 11,1,3, 1.631574,-0.000000 }); +// ibackleg=1 imodule=4 +cells.push_back({ 0,1,4, 1.632345,0.212765 }); +cells.push_back({ 1,1,4, 1.621154,0.212765 }); +cells.push_back({ 2,1,4, 1.609964,0.212765 }); +cells.push_back({ 3,1,4, 1.598773,0.212765 }); +cells.push_back({ 4,1,4, 1.587582,0.212765 }); +cells.push_back({ 5,1,4, 1.576392,0.212765 }); +cells.push_back({ 6,1,4, 1.565201,0.212765 }); +cells.push_back({ 7,1,4, 1.554010,0.212765 }); +cells.push_back({ 8,1,4, 1.542819,0.212765 }); +cells.push_back({ 9,1,4, 1.531629,0.212765 }); +cells.push_back({ 10,1,4, 1.520438,0.212765 }); +cells.push_back({ 11,1,4, 1.509247,0.212765 }); +// ibackleg=2 imodule=0 +// ibackleg=2 imodule=1 +cells.push_back({ 0,2,1, 1.719458,-0.416592 }); +cells.push_back({ 1,2,1, 1.730509,-0.416592 }); +cells.push_back({ 2,2,1, 1.741559,-0.416592 }); +cells.push_back({ 3,2,1, 1.752610,-0.416592 }); +cells.push_back({ 4,2,1, 1.763660,-0.416592 }); +cells.push_back({ 5,2,1, 1.774711,-0.416592 }); +cells.push_back({ 6,2,1, 1.785761,-0.416592 }); +cells.push_back({ 7,2,1, 1.796812,-0.416592 }); +cells.push_back({ 8,2,1, 1.807862,-0.416592 }); +cells.push_back({ 9,2,1, 1.818912,-0.416592 }); +cells.push_back({ 10,2,1, 1.829963,-0.416592 }); +cells.push_back({ 11,2,1, 1.841013,-0.416592 }); +// ibackleg=2 imodule=2 +cells.push_back({ 0,2,2, 1.718687,-0.212765 }); +cells.push_back({ 1,2,2, 1.729878,-0.212765 }); +cells.push_back({ 2,2,2, 1.741068,-0.212765 }); +cells.push_back({ 3,2,2, 1.752259,-0.212765 }); +cells.push_back({ 4,2,2, 1.763450,-0.212765 }); +cells.push_back({ 5,2,2, 1.774641,-0.212765 }); +cells.push_back({ 6,2,2, 1.785831,-0.212765 }); +cells.push_back({ 7,2,2, 1.797022,-0.212765 }); +cells.push_back({ 8,2,2, 1.808213,-0.212765 }); +cells.push_back({ 9,2,2, 1.819403,-0.212765 }); +cells.push_back({ 10,2,2, 1.830594,-0.212765 }); +cells.push_back({ 11,2,2, 1.841785,-0.212765 }); +// ibackleg=2 imodule=3 +cells.push_back({ 0,2,3, 1.719458,-0.000000 }); +cells.push_back({ 1,2,3, 1.730509,-0.000000 }); +cells.push_back({ 2,2,3, 1.741559,-0.000000 }); +cells.push_back({ 3,2,3, 1.752610,-0.000000 }); +cells.push_back({ 4,2,3, 1.763660,-0.000000 }); +cells.push_back({ 5,2,3, 1.774711,-0.000000 }); +cells.push_back({ 6,2,3, 1.785761,-0.000000 }); +cells.push_back({ 7,2,3, 1.796812,-0.000000 }); +cells.push_back({ 8,2,3, 1.807862,-0.000000 }); +cells.push_back({ 9,2,3, 1.818912,-0.000000 }); +cells.push_back({ 10,2,3, 1.829963,-0.000000 }); +cells.push_back({ 11,2,3, 1.841013,-0.000000 }); +// ibackleg=2 imodule=4 +cells.push_back({ 0,2,4, 1.841785,0.212765 }); +cells.push_back({ 1,2,4, 1.830594,0.212765 }); +cells.push_back({ 2,2,4, 1.819403,0.212765 }); +cells.push_back({ 3,2,4, 1.808213,0.212765 }); +cells.push_back({ 4,2,4, 1.797022,0.212765 }); +cells.push_back({ 5,2,4, 1.785831,0.212765 }); +cells.push_back({ 6,2,4, 1.774641,0.212765 }); +cells.push_back({ 7,2,4, 1.763450,0.212765 }); +cells.push_back({ 8,2,4, 1.752259,0.212765 }); +cells.push_back({ 9,2,4, 1.741068,0.212765 }); +cells.push_back({ 10,2,4, 1.729878,0.212765 }); +cells.push_back({ 11,2,4, 1.718687,0.212765 }); +// ibackleg=3 imodule=0 +// ibackleg=3 imodule=1 +cells.push_back({ 0,3,1, 1.928898,-0.416592 }); +cells.push_back({ 1,3,1, 1.939948,-0.416592 }); +cells.push_back({ 2,3,1, 1.950999,-0.416592 }); +cells.push_back({ 3,3,1, 1.962049,-0.416592 }); +cells.push_back({ 4,3,1, 1.973100,-0.416592 }); +cells.push_back({ 5,3,1, 1.984150,-0.416592 }); +cells.push_back({ 6,3,1, 1.995201,-0.416592 }); +cells.push_back({ 7,3,1, 2.006251,-0.416592 }); +cells.push_back({ 8,3,1, 2.017302,-0.416592 }); +cells.push_back({ 9,3,1, 2.028352,-0.416592 }); +cells.push_back({ 10,3,1, 2.039402,-0.416592 }); +cells.push_back({ 11,3,1, 2.050453,-0.416592 }); +// ibackleg=3 imodule=2 +cells.push_back({ 0,3,2, 1.928126,-0.212765 }); +cells.push_back({ 1,3,2, 1.939317,-0.212765 }); +cells.push_back({ 2,3,2, 1.950508,-0.212765 }); +cells.push_back({ 3,3,2, 1.961699,-0.212765 }); +cells.push_back({ 4,3,2, 1.972889,-0.212765 }); +cells.push_back({ 5,3,2, 1.984080,-0.212765 }); +cells.push_back({ 6,3,2, 1.995271,-0.212765 }); +cells.push_back({ 7,3,2, 2.006461,-0.212765 }); +cells.push_back({ 8,3,2, 2.017652,-0.212765 }); +cells.push_back({ 9,3,2, 2.028843,-0.212765 }); +cells.push_back({ 10,3,2, 2.040034,-0.212765 }); +cells.push_back({ 11,3,2, 2.051224,-0.212765 }); +// ibackleg=3 imodule=3 +cells.push_back({ 0,3,3, 1.928898,-0.000000 }); +cells.push_back({ 1,3,3, 1.939948,-0.000000 }); +cells.push_back({ 2,3,3, 1.950999,-0.000000 }); +cells.push_back({ 3,3,3, 1.962049,-0.000000 }); +cells.push_back({ 4,3,3, 1.973100,-0.000000 }); +cells.push_back({ 5,3,3, 1.984150,-0.000000 }); +cells.push_back({ 6,3,3, 1.995201,-0.000000 }); +cells.push_back({ 7,3,3, 2.006251,-0.000000 }); +cells.push_back({ 8,3,3, 2.017302,-0.000000 }); +cells.push_back({ 9,3,3, 2.028352,-0.000000 }); +cells.push_back({ 10,3,3, 2.039402,-0.000000 }); +cells.push_back({ 11,3,3, 2.050453,-0.000000 }); +// ibackleg=3 imodule=4 +cells.push_back({ 0,3,4, 2.051224,0.212765 }); +cells.push_back({ 1,3,4, 2.040034,0.212765 }); +cells.push_back({ 2,3,4, 2.028843,0.212765 }); +cells.push_back({ 3,3,4, 2.017652,0.212765 }); +cells.push_back({ 4,3,4, 2.006461,0.212765 }); +cells.push_back({ 5,3,4, 1.995271,0.212765 }); +cells.push_back({ 6,3,4, 1.984080,0.212765 }); +cells.push_back({ 7,3,4, 1.972889,0.212765 }); +cells.push_back({ 8,3,4, 1.961699,0.212765 }); +cells.push_back({ 9,3,4, 1.950508,0.212765 }); +cells.push_back({ 10,3,4, 1.939317,0.212765 }); +cells.push_back({ 11,3,4, 1.928126,0.212765 }); +// ibackleg=4 imodule=0 +// ibackleg=4 imodule=1 +cells.push_back({ 0,4,1, 2.138337,-0.416592 }); +cells.push_back({ 1,4,1, 2.149388,-0.416592 }); +cells.push_back({ 2,4,1, 2.160438,-0.416592 }); +cells.push_back({ 3,4,1, 2.171489,-0.416592 }); +cells.push_back({ 4,4,1, 2.182539,-0.416592 }); +cells.push_back({ 5,4,1, 2.193590,-0.416592 }); +cells.push_back({ 6,4,1, 2.204640,-0.416592 }); +cells.push_back({ 7,4,1, 2.215690,-0.416592 }); +cells.push_back({ 8,4,1, 2.226741,-0.416592 }); +cells.push_back({ 9,4,1, 2.237791,-0.416592 }); +cells.push_back({ 10,4,1, 2.248842,-0.416592 }); +cells.push_back({ 11,4,1, 2.259892,-0.416592 }); +// ibackleg=4 imodule=2 +cells.push_back({ 0,4,2, 2.137566,-0.212765 }); +cells.push_back({ 1,4,2, 2.148757,-0.212765 }); +cells.push_back({ 2,4,2, 2.159947,-0.212765 }); +cells.push_back({ 3,4,2, 2.171138,-0.212765 }); +cells.push_back({ 4,4,2, 2.182329,-0.212765 }); +cells.push_back({ 5,4,2, 2.193519,-0.212765 }); +cells.push_back({ 6,4,2, 2.204710,-0.212765 }); +cells.push_back({ 7,4,2, 2.215901,-0.212765 }); +cells.push_back({ 8,4,2, 2.227092,-0.212765 }); +cells.push_back({ 9,4,2, 2.238282,-0.212765 }); +cells.push_back({ 10,4,2, 2.249473,-0.212765 }); +cells.push_back({ 11,4,2, 2.260664,-0.212765 }); +// ibackleg=4 imodule=3 +cells.push_back({ 0,4,3, 2.138337,-0.000000 }); +cells.push_back({ 1,4,3, 2.149388,-0.000000 }); +cells.push_back({ 2,4,3, 2.160438,-0.000000 }); +cells.push_back({ 3,4,3, 2.171489,-0.000000 }); +cells.push_back({ 4,4,3, 2.182539,-0.000000 }); +cells.push_back({ 5,4,3, 2.193590,-0.000000 }); +cells.push_back({ 6,4,3, 2.204640,-0.000000 }); +cells.push_back({ 7,4,3, 2.215690,-0.000000 }); +cells.push_back({ 8,4,3, 2.226741,-0.000000 }); +cells.push_back({ 9,4,3, 2.237791,-0.000000 }); +cells.push_back({ 10,4,3, 2.248842,-0.000000 }); +cells.push_back({ 11,4,3, 2.259892,-0.000000 }); +// ibackleg=4 imodule=4 +cells.push_back({ 0,4,4, 2.260664,0.212765 }); +cells.push_back({ 1,4,4, 2.249473,0.212765 }); +cells.push_back({ 2,4,4, 2.238282,0.212765 }); +cells.push_back({ 3,4,4, 2.227092,0.212765 }); +cells.push_back({ 4,4,4, 2.215901,0.212765 }); +cells.push_back({ 5,4,4, 2.204710,0.212765 }); +cells.push_back({ 6,4,4, 2.193519,0.212765 }); +cells.push_back({ 7,4,4, 2.182329,0.212765 }); +cells.push_back({ 8,4,4, 2.171138,0.212765 }); +cells.push_back({ 9,4,4, 2.159947,0.212765 }); +cells.push_back({ 10,4,4, 2.148757,0.212765 }); +cells.push_back({ 11,4,4, 2.137566,0.212765 }); +// ibackleg=5 imodule=0 +// ibackleg=5 imodule=1 +cells.push_back({ 0,5,1, 2.347777,-0.416592 }); +cells.push_back({ 1,5,1, 2.358827,-0.416592 }); +cells.push_back({ 2,5,1, 2.369878,-0.416592 }); +cells.push_back({ 3,5,1, 2.380928,-0.416592 }); +cells.push_back({ 4,5,1, 2.391979,-0.416592 }); +cells.push_back({ 5,5,1, 2.403029,-0.416592 }); +cells.push_back({ 6,5,1, 2.414079,-0.416592 }); +cells.push_back({ 7,5,1, 2.425130,-0.416592 }); +cells.push_back({ 8,5,1, 2.436180,-0.416592 }); +cells.push_back({ 9,5,1, 2.447231,-0.416592 }); +cells.push_back({ 10,5,1, 2.458281,-0.416592 }); +cells.push_back({ 11,5,1, 2.469332,-0.416592 }); +// ibackleg=5 imodule=2 +cells.push_back({ 0,5,2, 2.347005,-0.212765 }); +cells.push_back({ 1,5,2, 2.358196,-0.212765 }); +cells.push_back({ 2,5,2, 2.369387,-0.212765 }); +cells.push_back({ 3,5,2, 2.380578,-0.212765 }); +cells.push_back({ 4,5,2, 2.391768,-0.212765 }); +cells.push_back({ 5,5,2, 2.402959,-0.212765 }); +cells.push_back({ 6,5,2, 2.414150,-0.212765 }); +cells.push_back({ 7,5,2, 2.425340,-0.212765 }); +cells.push_back({ 8,5,2, 2.436531,-0.212765 }); +cells.push_back({ 9,5,2, 2.447722,-0.212765 }); +cells.push_back({ 10,5,2, 2.458913,-0.212765 }); +cells.push_back({ 11,5,2, 2.470103,-0.212765 }); +// ibackleg=5 imodule=3 +cells.push_back({ 0,5,3, 2.347777,-0.000000 }); +cells.push_back({ 1,5,3, 2.358827,-0.000000 }); +cells.push_back({ 2,5,3, 2.369878,-0.000000 }); +cells.push_back({ 3,5,3, 2.380928,-0.000000 }); +cells.push_back({ 4,5,3, 2.391979,-0.000000 }); +cells.push_back({ 5,5,3, 2.403029,-0.000000 }); +cells.push_back({ 6,5,3, 2.414079,-0.000000 }); +cells.push_back({ 7,5,3, 2.425130,-0.000000 }); +cells.push_back({ 8,5,3, 2.436180,-0.000000 }); +cells.push_back({ 9,5,3, 2.447231,-0.000000 }); +cells.push_back({ 10,5,3, 2.458281,-0.000000 }); +cells.push_back({ 11,5,3, 2.469332,-0.000000 }); +// ibackleg=5 imodule=4 +cells.push_back({ 0,5,4, 2.470103,0.212765 }); +cells.push_back({ 1,5,4, 2.458913,0.212765 }); +cells.push_back({ 2,5,4, 2.447722,0.212765 }); +cells.push_back({ 3,5,4, 2.436531,0.212765 }); +cells.push_back({ 4,5,4, 2.425340,0.212765 }); +cells.push_back({ 5,5,4, 2.414150,0.212765 }); +cells.push_back({ 6,5,4, 2.402959,0.212765 }); +cells.push_back({ 7,5,4, 2.391768,0.212765 }); +cells.push_back({ 8,5,4, 2.380578,0.212765 }); +cells.push_back({ 9,5,4, 2.369387,0.212765 }); +cells.push_back({ 10,5,4, 2.358196,0.212765 }); +cells.push_back({ 11,5,4, 2.347005,0.212765 }); +// ibackleg=6 imodule=0 +// ibackleg=6 imodule=1 +cells.push_back({ 0,6,1, 2.557216,-0.416592 }); +cells.push_back({ 1,6,1, 2.568267,-0.416592 }); +cells.push_back({ 2,6,1, 2.579317,-0.416592 }); +cells.push_back({ 3,6,1, 2.590368,-0.416592 }); +cells.push_back({ 4,6,1, 2.601418,-0.416592 }); +cells.push_back({ 5,6,1, 2.612469,-0.416592 }); +cells.push_back({ 6,6,1, 2.623519,-0.416592 }); +cells.push_back({ 7,6,1, 2.634569,-0.416592 }); +cells.push_back({ 8,6,1, 2.645620,-0.416592 }); +cells.push_back({ 9,6,1, 2.656670,-0.416592 }); +cells.push_back({ 10,6,1, 2.667721,-0.416592 }); +cells.push_back({ 11,6,1, 2.678771,-0.416592 }); +// ibackleg=6 imodule=2 +cells.push_back({ 0,6,2, 2.556445,-0.212765 }); +cells.push_back({ 1,6,2, 2.567636,-0.212765 }); +cells.push_back({ 2,6,2, 2.578826,-0.212765 }); +cells.push_back({ 3,6,2, 2.590017,-0.212765 }); +cells.push_back({ 4,6,2, 2.601208,-0.212765 }); +cells.push_back({ 5,6,2, 2.612398,-0.212765 }); +cells.push_back({ 6,6,2, 2.623589,-0.212765 }); +cells.push_back({ 7,6,2, 2.634780,-0.212765 }); +cells.push_back({ 8,6,2, 2.645971,-0.212765 }); +cells.push_back({ 9,6,2, 2.657161,-0.212765 }); +cells.push_back({ 10,6,2, 2.668352,-0.212765 }); +cells.push_back({ 11,6,2, 2.679543,-0.212765 }); +// ibackleg=6 imodule=3 +cells.push_back({ 0,6,3, 2.557216,-0.000000 }); +cells.push_back({ 1,6,3, 2.568267,-0.000000 }); +cells.push_back({ 2,6,3, 2.579317,-0.000000 }); +cells.push_back({ 3,6,3, 2.590368,-0.000000 }); +cells.push_back({ 4,6,3, 2.601418,-0.000000 }); +cells.push_back({ 5,6,3, 2.612469,-0.000000 }); +cells.push_back({ 6,6,3, 2.623519,-0.000000 }); +cells.push_back({ 7,6,3, 2.634569,-0.000000 }); +cells.push_back({ 8,6,3, 2.645620,-0.000000 }); +cells.push_back({ 9,6,3, 2.656670,-0.000000 }); +cells.push_back({ 10,6,3, 2.667721,-0.000000 }); +cells.push_back({ 11,6,3, 2.678771,-0.000000 }); +// ibackleg=6 imodule=4 +cells.push_back({ 0,6,4, 2.679543,0.212765 }); +cells.push_back({ 1,6,4, 2.668352,0.212765 }); +cells.push_back({ 2,6,4, 2.657161,0.212765 }); +cells.push_back({ 3,6,4, 2.645971,0.212765 }); +cells.push_back({ 4,6,4, 2.634780,0.212765 }); +cells.push_back({ 5,6,4, 2.623589,0.212765 }); +cells.push_back({ 6,6,4, 2.612398,0.212765 }); +cells.push_back({ 7,6,4, 2.601208,0.212765 }); +cells.push_back({ 8,6,4, 2.590017,0.212765 }); +cells.push_back({ 9,6,4, 2.578826,0.212765 }); +cells.push_back({ 10,6,4, 2.567636,0.212765 }); +cells.push_back({ 11,6,4, 2.556445,0.212765 }); +// ibackleg=7 imodule=0 +// ibackleg=7 imodule=1 +cells.push_back({ 0,7,1, 2.767657,-0.416592 }); +cells.push_back({ 1,7,1, 2.778526,-0.416592 }); +cells.push_back({ 2,7,1, 2.789394,-0.416592 }); +cells.push_back({ 3,7,1, 2.800262,-0.416592 }); +cells.push_back({ 4,7,1, 2.811131,-0.416592 }); +cells.push_back({ 5,7,1, 2.821999,-0.416592 }); +cells.push_back({ 6,7,1, 2.832868,-0.416592 }); +cells.push_back({ 7,7,1, 2.843736,-0.416592 }); +cells.push_back({ 8,7,1, 2.854604,-0.416592 }); +cells.push_back({ 9,7,1, 2.865473,-0.416592 }); +cells.push_back({ 10,7,1, 2.876341,-0.416592 }); +cells.push_back({ 11,7,1, 2.887209,-0.416592 }); +// ibackleg=7 imodule=2 +cells.push_back({ 0,7,2, 2.766911,-0.212765 }); +cells.push_back({ 1,7,2, 2.777915,-0.212765 }); +cells.push_back({ 2,7,2, 2.788919,-0.212765 }); +cells.push_back({ 3,7,2, 2.799923,-0.212765 }); +cells.push_back({ 4,7,2, 2.810927,-0.212765 }); +cells.push_back({ 5,7,2, 2.821931,-0.212765 }); +cells.push_back({ 6,7,2, 2.832935,-0.212765 }); +cells.push_back({ 7,7,2, 2.843939,-0.212765 }); +cells.push_back({ 8,7,2, 2.854944,-0.212765 }); +cells.push_back({ 9,7,2, 2.865947,-0.212765 }); +cells.push_back({ 10,7,2, 2.876951,-0.212765 }); +cells.push_back({ 11,7,2, 2.887956,-0.212765 }); +// ibackleg=7 imodule=3 +cells.push_back({ 0,7,3, 2.767657,-0.000000 }); +cells.push_back({ 1,7,3, 2.778526,-0.000000 }); +cells.push_back({ 2,7,3, 2.789394,-0.000000 }); +cells.push_back({ 3,7,3, 2.800262,-0.000000 }); +cells.push_back({ 4,7,3, 2.811131,-0.000000 }); +cells.push_back({ 5,7,3, 2.821999,-0.000000 }); +cells.push_back({ 6,7,3, 2.832868,-0.000000 }); +cells.push_back({ 7,7,3, 2.843736,-0.000000 }); +cells.push_back({ 8,7,3, 2.854604,-0.000000 }); +cells.push_back({ 9,7,3, 2.865473,-0.000000 }); +cells.push_back({ 10,7,3, 2.876341,-0.000000 }); +cells.push_back({ 11,7,3, 2.887209,-0.000000 }); +// ibackleg=7 imodule=4 +cells.push_back({ 0,7,4, 2.887956,0.212765 }); +cells.push_back({ 1,7,4, 2.876951,0.212765 }); +cells.push_back({ 2,7,4, 2.865947,0.212765 }); +cells.push_back({ 3,7,4, 2.854944,0.212765 }); +cells.push_back({ 4,7,4, 2.843939,0.212765 }); +cells.push_back({ 5,7,4, 2.832935,0.212765 }); +cells.push_back({ 6,7,4, 2.821931,0.212765 }); +cells.push_back({ 7,7,4, 2.810927,0.212765 }); +cells.push_back({ 8,7,4, 2.799923,0.212765 }); +cells.push_back({ 9,7,4, 2.788919,0.212765 }); +cells.push_back({ 10,7,4, 2.777915,0.212765 }); +cells.push_back({ 11,7,4, 2.766911,0.212765 }); +// ibackleg=8 imodule=0 +// ibackleg=8 imodule=1 +cells.push_back({ 0,8,1, 2.947753,-0.416592 }); +cells.push_back({ 1,8,1, 2.958220,-0.416592 }); +cells.push_back({ 2,8,1, 2.968686,-0.416592 }); +cells.push_back({ 3,8,1, 2.979152,-0.416592 }); +cells.push_back({ 4,8,1, 2.989618,-0.416592 }); +cells.push_back({ 5,8,1, 3.000084,-0.416592 }); +cells.push_back({ 6,8,1, 3.010550,-0.416592 }); +cells.push_back({ 7,8,1, 3.021016,-0.416592 }); +cells.push_back({ 8,8,1, 3.031483,-0.416592 }); +cells.push_back({ 9,8,1, 3.041949,-0.416592 }); +cells.push_back({ 10,8,1, 3.052415,-0.416592 }); +cells.push_back({ 11,8,1, 3.062881,-0.416592 }); +// ibackleg=8 imodule=2 +cells.push_back({ 0,8,2, 2.946683,-0.212765 }); +cells.push_back({ 1,8,2, 2.957275,-0.212765 }); +cells.push_back({ 2,8,2, 2.967867,-0.212765 }); +cells.push_back({ 3,8,2, 2.978459,-0.212765 }); +cells.push_back({ 4,8,2, 2.989050,-0.212765 }); +cells.push_back({ 5,8,2, 2.999642,-0.212765 }); +cells.push_back({ 6,8,2, 3.010234,-0.212765 }); +cells.push_back({ 7,8,2, 3.020826,-0.212765 }); +cells.push_back({ 8,8,2, 3.031418,-0.212765 }); +cells.push_back({ 9,8,2, 3.042010,-0.212765 }); +cells.push_back({ 10,8,2, 3.052601,-0.212765 }); +cells.push_back({ 11,8,2, 3.063193,-0.212765 }); +// ibackleg=8 imodule=3 +cells.push_back({ 0,8,3, 2.947753,-0.000000 }); +cells.push_back({ 1,8,3, 2.958220,-0.000000 }); +cells.push_back({ 2,8,3, 2.968686,-0.000000 }); +cells.push_back({ 3,8,3, 2.979152,-0.000000 }); +cells.push_back({ 4,8,3, 2.989618,-0.000000 }); +cells.push_back({ 5,8,3, 3.000084,-0.000000 }); +cells.push_back({ 6,8,3, 3.010550,-0.000000 }); +cells.push_back({ 7,8,3, 3.021016,-0.000000 }); +cells.push_back({ 8,8,3, 3.031483,-0.000000 }); +cells.push_back({ 9,8,3, 3.041949,-0.000000 }); +cells.push_back({ 10,8,3, 3.052415,-0.000000 }); +cells.push_back({ 11,8,3, 3.062881,-0.000000 }); +// ibackleg=8 imodule=4 +cells.push_back({ 0,8,4, 3.063193,0.212765 }); +cells.push_back({ 1,8,4, 3.052601,0.212765 }); +cells.push_back({ 2,8,4, 3.042010,0.212765 }); +cells.push_back({ 3,8,4, 3.031418,0.212765 }); +cells.push_back({ 4,8,4, 3.020826,0.212765 }); +cells.push_back({ 5,8,4, 3.010234,0.212765 }); +cells.push_back({ 6,8,4, 2.999642,0.212765 }); +cells.push_back({ 7,8,4, 2.989050,0.212765 }); +cells.push_back({ 8,8,4, 2.978459,0.212765 }); +cells.push_back({ 9,8,4, 2.967867,0.212765 }); +cells.push_back({ 10,8,4, 2.957275,0.212765 }); +cells.push_back({ 11,8,4, 2.946683,0.212765 }); +// ibackleg=9 imodule=0 +// ibackleg=9 imodule=1 +// ibackleg=9 imodule=2 +// ibackleg=9 imodule=3 +// ibackleg=9 imodule=4 +// ibackleg=10 imodule=0 +// ibackleg=10 imodule=1 +cells.push_back({ 0,10,1, -2.887209,-0.416592 }); +cells.push_back({ 1,10,1, -2.876341,-0.416592 }); +cells.push_back({ 2,10,1, -2.865473,-0.416592 }); +cells.push_back({ 3,10,1, -2.854604,-0.416592 }); +cells.push_back({ 4,10,1, -2.843736,-0.416592 }); +cells.push_back({ 5,10,1, -2.832868,-0.416592 }); +cells.push_back({ 6,10,1, -2.821999,-0.416592 }); +cells.push_back({ 7,10,1, -2.811131,-0.416592 }); +cells.push_back({ 8,10,1, -2.800263,-0.416592 }); +cells.push_back({ 9,10,1, -2.789394,-0.416592 }); +cells.push_back({ 10,10,1, -2.778526,-0.416592 }); +cells.push_back({ 11,10,1, -2.767657,-0.416592 }); +// ibackleg=10 imodule=2 +cells.push_back({ 0,10,2, -2.887956,-0.212765 }); +cells.push_back({ 1,10,2, -2.876952,-0.212765 }); +cells.push_back({ 2,10,2, -2.865948,-0.212765 }); +cells.push_back({ 3,10,2, -2.854944,-0.212765 }); +cells.push_back({ 4,10,2, -2.843939,-0.212765 }); +cells.push_back({ 5,10,2, -2.832935,-0.212765 }); +cells.push_back({ 6,10,2, -2.821931,-0.212765 }); +cells.push_back({ 7,10,2, -2.810927,-0.212765 }); +cells.push_back({ 8,10,2, -2.799923,-0.212765 }); +cells.push_back({ 9,10,2, -2.788919,-0.212765 }); +cells.push_back({ 10,10,2, -2.777915,-0.212765 }); +cells.push_back({ 11,10,2, -2.766911,-0.212765 }); +// ibackleg=10 imodule=3 +cells.push_back({ 0,10,3, -2.887209,-0.000000 }); +cells.push_back({ 1,10,3, -2.876341,-0.000000 }); +cells.push_back({ 2,10,3, -2.865473,-0.000000 }); +cells.push_back({ 3,10,3, -2.854604,-0.000000 }); +cells.push_back({ 4,10,3, -2.843736,-0.000000 }); +cells.push_back({ 5,10,3, -2.832868,-0.000000 }); +cells.push_back({ 6,10,3, -2.821999,-0.000000 }); +cells.push_back({ 7,10,3, -2.811131,-0.000000 }); +cells.push_back({ 8,10,3, -2.800263,-0.000000 }); +cells.push_back({ 9,10,3, -2.789394,-0.000000 }); +cells.push_back({ 10,10,3, -2.778526,-0.000000 }); +cells.push_back({ 11,10,3, -2.767657,-0.000000 }); +// ibackleg=10 imodule=4 +cells.push_back({ 0,10,4, -2.766911,0.212765 }); +cells.push_back({ 1,10,4, -2.777915,0.212765 }); +cells.push_back({ 2,10,4, -2.788919,0.212765 }); +cells.push_back({ 3,10,4, -2.799923,0.212765 }); +cells.push_back({ 4,10,4, -2.810927,0.212765 }); +cells.push_back({ 5,10,4, -2.821931,0.212765 }); +cells.push_back({ 6,10,4, -2.832935,0.212765 }); +cells.push_back({ 7,10,4, -2.843939,0.212765 }); +cells.push_back({ 8,10,4, -2.854944,0.212765 }); +cells.push_back({ 9,10,4, -2.865948,0.212765 }); +cells.push_back({ 10,10,4, -2.876952,0.212765 }); +cells.push_back({ 11,10,4, -2.887956,0.212765 }); +// ibackleg=11 imodule=0 +// ibackleg=11 imodule=1 +cells.push_back({ 0,11,1, -2.676486,-0.416592 }); +cells.push_back({ 1,11,1, -2.665851,-0.416592 }); +cells.push_back({ 2,11,1, -2.655216,-0.416592 }); +cells.push_back({ 3,11,1, -2.644581,-0.416592 }); +cells.push_back({ 4,11,1, -2.633946,-0.416592 }); +cells.push_back({ 5,11,1, -2.623311,-0.416592 }); +cells.push_back({ 6,11,1, -2.612676,-0.416592 }); +cells.push_back({ 7,11,1, -2.602042,-0.416592 }); +cells.push_back({ 8,11,1, -2.591407,-0.416592 }); +cells.push_back({ 9,11,1, -2.580772,-0.416592 }); +cells.push_back({ 10,11,1, -2.570137,-0.416592 }); +cells.push_back({ 11,11,1, -2.559502,-0.416592 }); +// ibackleg=11 imodule=2 +cells.push_back({ 0,11,2, -2.677200,-0.212765 }); +cells.push_back({ 1,11,2, -2.666435,-0.212765 }); +cells.push_back({ 2,11,2, -2.655670,-0.212765 }); +cells.push_back({ 3,11,2, -2.644906,-0.212765 }); +cells.push_back({ 4,11,2, -2.634141,-0.212765 }); +cells.push_back({ 5,11,2, -2.623376,-0.212765 }); +cells.push_back({ 6,11,2, -2.612612,-0.212765 }); +cells.push_back({ 7,11,2, -2.601847,-0.212765 }); +cells.push_back({ 8,11,2, -2.591082,-0.212765 }); +cells.push_back({ 9,11,2, -2.580317,-0.212765 }); +cells.push_back({ 10,11,2, -2.569553,-0.212765 }); +cells.push_back({ 11,11,2, -2.558788,-0.212765 }); +// ibackleg=11 imodule=3 +cells.push_back({ 0,11,3, -2.676486,-0.000000 }); +cells.push_back({ 1,11,3, -2.665851,-0.000000 }); +cells.push_back({ 2,11,3, -2.655216,-0.000000 }); +cells.push_back({ 3,11,3, -2.644581,-0.000000 }); +cells.push_back({ 4,11,3, -2.633946,-0.000000 }); +cells.push_back({ 5,11,3, -2.623311,-0.000000 }); +cells.push_back({ 6,11,3, -2.612676,-0.000000 }); +cells.push_back({ 7,11,3, -2.602042,-0.000000 }); +cells.push_back({ 8,11,3, -2.591407,-0.000000 }); +cells.push_back({ 9,11,3, -2.580772,-0.000000 }); +cells.push_back({ 10,11,3, -2.570137,-0.000000 }); +cells.push_back({ 11,11,3, -2.559502,-0.000000 }); +// ibackleg=11 imodule=4 +cells.push_back({ 0,11,4, -2.558788,0.212765 }); +cells.push_back({ 1,11,4, -2.569553,0.212765 }); +cells.push_back({ 2,11,4, -2.580317,0.212765 }); +cells.push_back({ 3,11,4, -2.591082,0.212765 }); +cells.push_back({ 4,11,4, -2.601847,0.212765 }); +cells.push_back({ 5,11,4, -2.612612,0.212765 }); +cells.push_back({ 6,11,4, -2.623376,0.212765 }); +cells.push_back({ 7,11,4, -2.634141,0.212765 }); +cells.push_back({ 8,11,4, -2.644906,0.212765 }); +cells.push_back({ 9,11,4, -2.655670,0.212765 }); +cells.push_back({ 10,11,4, -2.666435,0.212765 }); +cells.push_back({ 11,11,4, -2.677200,0.212765 }); +// ibackleg=12 imodule=0 +// ibackleg=12 imodule=1 +// ibackleg=12 imodule=2 +cells.push_back({ 0,12,2, -2.466943,-0.212765 }); +cells.push_back({ 1,12,2, -2.456327,-0.212765 }); +cells.push_back({ 2,12,2, -2.445711,-0.212765 }); +cells.push_back({ 3,12,2, -2.435095,-0.212765 }); +cells.push_back({ 4,12,2, -2.424479,-0.212765 }); +cells.push_back({ 5,12,2, -2.413863,-0.212765 }); +cells.push_back({ 6,12,2, -2.403246,-0.212765 }); +cells.push_back({ 7,12,2, -2.392630,-0.212765 }); +cells.push_back({ 8,12,2, -2.382014,-0.212765 }); +cells.push_back({ 9,12,2, -2.371398,-0.212765 }); +cells.push_back({ 10,12,2, -2.360782,-0.212765 }); +cells.push_back({ 11,12,2, -2.350166,-0.212765 }); +// ibackleg=12 imodule=3 +cells.push_back({ 0,12,3, -2.466248,-0.000000 }); +cells.push_back({ 1,12,3, -2.455759,-0.000000 }); +cells.push_back({ 2,12,3, -2.445269,-0.000000 }); +cells.push_back({ 3,12,3, -2.434779,-0.000000 }); +cells.push_back({ 4,12,3, -2.424289,-0.000000 }); +cells.push_back({ 5,12,3, -2.413799,-0.000000 }); +cells.push_back({ 6,12,3, -2.403309,-0.000000 }); +cells.push_back({ 7,12,3, -2.392820,-0.000000 }); +cells.push_back({ 8,12,3, -2.382330,-0.000000 }); +cells.push_back({ 9,12,3, -2.371840,-0.000000 }); +cells.push_back({ 10,12,3, -2.361350,-0.000000 }); +cells.push_back({ 11,12,3, -2.350860,-0.000000 }); +// ibackleg=12 imodule=4 +cells.push_back({ 0,12,4, -2.350166,0.212765 }); +cells.push_back({ 1,12,4, -2.360782,0.212765 }); +cells.push_back({ 2,12,4, -2.371398,0.212765 }); +cells.push_back({ 3,12,4, -2.382014,0.212765 }); +cells.push_back({ 4,12,4, -2.392630,0.212765 }); +cells.push_back({ 5,12,4, -2.403246,0.212765 }); +cells.push_back({ 6,12,4, -2.413863,0.212765 }); +cells.push_back({ 7,12,4, -2.424479,0.212765 }); +cells.push_back({ 8,12,4, -2.435095,0.212765 }); +cells.push_back({ 9,12,4, -2.445711,0.212765 }); +cells.push_back({ 10,12,4, -2.456327,0.212765 }); +cells.push_back({ 11,12,4, -2.466943,0.212765 }); +// ibackleg=13 imodule=0 +// ibackleg=13 imodule=1 +// ibackleg=13 imodule=2 +cells.push_back({ 0,13,2, -2.257503,-0.212765 }); +cells.push_back({ 1,13,2, -2.246888,-0.212765 }); +cells.push_back({ 2,13,2, -2.236271,-0.212765 }); +cells.push_back({ 3,13,2, -2.225655,-0.212765 }); +cells.push_back({ 4,13,2, -2.215039,-0.212765 }); +cells.push_back({ 5,13,2, -2.204423,-0.212765 }); +cells.push_back({ 6,13,2, -2.193806,-0.212765 }); +cells.push_back({ 7,13,2, -2.183191,-0.212765 }); +cells.push_back({ 8,13,2, -2.172574,-0.212765 }); +cells.push_back({ 9,13,2, -2.161958,-0.212765 }); +cells.push_back({ 10,13,2, -2.151342,-0.212765 }); +cells.push_back({ 11,13,2, -2.140726,-0.212765 }); +// ibackleg=13 imodule=3 +cells.push_back({ 0,13,3, -2.256809,-0.000000 }); +cells.push_back({ 1,13,3, -2.246319,-0.000000 }); +cells.push_back({ 2,13,3, -2.235829,-0.000000 }); +cells.push_back({ 3,13,3, -2.225339,-0.000000 }); +cells.push_back({ 4,13,3, -2.214849,-0.000000 }); +cells.push_back({ 5,13,3, -2.204360,-0.000000 }); +cells.push_back({ 6,13,3, -2.193870,-0.000000 }); +cells.push_back({ 7,13,3, -2.183380,-0.000000 }); +cells.push_back({ 8,13,3, -2.172890,-0.000000 }); +cells.push_back({ 9,13,3, -2.162401,-0.000000 }); +cells.push_back({ 10,13,3, -2.151911,-0.000000 }); +cells.push_back({ 11,13,3, -2.141421,-0.000000 }); +// ibackleg=13 imodule=4 +cells.push_back({ 0,13,4, -2.140726,0.212765 }); +cells.push_back({ 1,13,4, -2.151342,0.212765 }); +cells.push_back({ 2,13,4, -2.161958,0.212765 }); +cells.push_back({ 3,13,4, -2.172574,0.212765 }); +cells.push_back({ 4,13,4, -2.183191,0.212765 }); +cells.push_back({ 5,13,4, -2.193806,0.212765 }); +cells.push_back({ 6,13,4, -2.204423,0.212765 }); +cells.push_back({ 7,13,4, -2.215039,0.212765 }); +cells.push_back({ 8,13,4, -2.225655,0.212765 }); +cells.push_back({ 9,13,4, -2.236271,0.212765 }); +cells.push_back({ 10,13,4, -2.246888,0.212765 }); +cells.push_back({ 11,13,4, -2.257503,0.212765 }); +// ibackleg=14 imodule=0 +// ibackleg=14 imodule=1 +// ibackleg=14 imodule=2 +cells.push_back({ 0,14,2, -2.048064,-0.212765 }); +cells.push_back({ 1,14,2, -2.037448,-0.212765 }); +cells.push_back({ 2,14,2, -2.026832,-0.212765 }); +cells.push_back({ 3,14,2, -2.016216,-0.212765 }); +cells.push_back({ 4,14,2, -2.005599,-0.212765 }); +cells.push_back({ 5,14,2, -1.994983,-0.212765 }); +cells.push_back({ 6,14,2, -1.984367,-0.212765 }); +cells.push_back({ 7,14,2, -1.973751,-0.212765 }); +cells.push_back({ 8,14,2, -1.963135,-0.212765 }); +cells.push_back({ 9,14,2, -1.952519,-0.212765 }); +cells.push_back({ 10,14,2, -1.941902,-0.212765 }); +cells.push_back({ 11,14,2, -1.931287,-0.212765 }); +// ibackleg=14 imodule=3 +cells.push_back({ 0,14,3, -2.047369,-0.000000 }); +cells.push_back({ 1,14,3, -2.036879,-0.000000 }); +cells.push_back({ 2,14,3, -2.026389,-0.000000 }); +cells.push_back({ 3,14,3, -2.015900,-0.000000 }); +cells.push_back({ 4,14,3, -2.005410,-0.000000 }); +cells.push_back({ 5,14,3, -1.994920,-0.000000 }); +cells.push_back({ 6,14,3, -1.984431,-0.000000 }); +cells.push_back({ 7,14,3, -1.973941,-0.000000 }); +cells.push_back({ 8,14,3, -1.963451,-0.000000 }); +cells.push_back({ 9,14,3, -1.952961,-0.000000 }); +cells.push_back({ 10,14,3, -1.942471,-0.000000 }); +cells.push_back({ 11,14,3, -1.931981,-0.000000 }); +// ibackleg=14 imodule=4 +cells.push_back({ 0,14,4, -1.931287,0.212765 }); +cells.push_back({ 1,14,4, -1.941902,0.212765 }); +cells.push_back({ 2,14,4, -1.952519,0.212765 }); +cells.push_back({ 3,14,4, -1.963135,0.212765 }); +cells.push_back({ 4,14,4, -1.973751,0.212765 }); +cells.push_back({ 5,14,4, -1.984367,0.212765 }); +cells.push_back({ 6,14,4, -1.994983,0.212765 }); +cells.push_back({ 7,14,4, -2.005599,0.212765 }); +cells.push_back({ 8,14,4, -2.016216,0.212765 }); +cells.push_back({ 9,14,4, -2.026832,0.212765 }); +cells.push_back({ 10,14,4, -2.037448,0.212765 }); +cells.push_back({ 11,14,4, -2.048064,0.212765 }); +// ibackleg=15 imodule=0 +// ibackleg=15 imodule=1 +// ibackleg=15 imodule=2 +cells.push_back({ 0,15,2, -1.838625,-0.212765 }); +cells.push_back({ 1,15,2, -1.828008,-0.212765 }); +cells.push_back({ 2,15,2, -1.817392,-0.212765 }); +cells.push_back({ 3,15,2, -1.806776,-0.212765 }); +cells.push_back({ 4,15,2, -1.796160,-0.212765 }); +cells.push_back({ 5,15,2, -1.785544,-0.212765 }); +cells.push_back({ 6,15,2, -1.774928,-0.212765 }); +cells.push_back({ 7,15,2, -1.764312,-0.212765 }); +cells.push_back({ 8,15,2, -1.753695,-0.212765 }); +cells.push_back({ 9,15,2, -1.743079,-0.212765 }); +cells.push_back({ 10,15,2, -1.732463,-0.212765 }); +cells.push_back({ 11,15,2, -1.721847,-0.212765 }); +// ibackleg=15 imodule=3 +cells.push_back({ 0,15,3, -1.837930,-0.000000 }); +cells.push_back({ 1,15,3, -1.827440,-0.000000 }); +cells.push_back({ 2,15,3, -1.816950,-0.000000 }); +cells.push_back({ 3,15,3, -1.806460,-0.000000 }); +cells.push_back({ 4,15,3, -1.795970,-0.000000 }); +cells.push_back({ 5,15,3, -1.785481,-0.000000 }); +cells.push_back({ 6,15,3, -1.774991,-0.000000 }); +cells.push_back({ 7,15,3, -1.764501,-0.000000 }); +cells.push_back({ 8,15,3, -1.754011,-0.000000 }); +cells.push_back({ 9,15,3, -1.743522,-0.000000 }); +cells.push_back({ 10,15,3, -1.733032,-0.000000 }); +cells.push_back({ 11,15,3, -1.722542,-0.000000 }); +// ibackleg=15 imodule=4 +cells.push_back({ 0,15,4, -1.721847,0.212765 }); +cells.push_back({ 1,15,4, -1.732463,0.212765 }); +cells.push_back({ 2,15,4, -1.743079,0.212765 }); +cells.push_back({ 3,15,4, -1.753695,0.212765 }); +cells.push_back({ 4,15,4, -1.764312,0.212765 }); +cells.push_back({ 5,15,4, -1.774928,0.212765 }); +cells.push_back({ 6,15,4, -1.785544,0.212765 }); +cells.push_back({ 7,15,4, -1.796160,0.212765 }); +cells.push_back({ 8,15,4, -1.806776,0.212765 }); +cells.push_back({ 9,15,4, -1.817392,0.212765 }); +cells.push_back({ 10,15,4, -1.828008,0.212765 }); +cells.push_back({ 11,15,4, -1.838625,0.212765 }); +// ibackleg=16 imodule=0 +// ibackleg=16 imodule=1 +// ibackleg=16 imodule=2 +cells.push_back({ 0,16,2, -1.629185,-0.212765 }); +cells.push_back({ 1,16,2, -1.618569,-0.212765 }); +cells.push_back({ 2,16,2, -1.607953,-0.212765 }); +cells.push_back({ 3,16,2, -1.597337,-0.212765 }); +cells.push_back({ 4,16,2, -1.586720,-0.212765 }); +cells.push_back({ 5,16,2, -1.576104,-0.212765 }); +cells.push_back({ 6,16,2, -1.565488,-0.212765 }); +cells.push_back({ 7,16,2, -1.554872,-0.212765 }); +cells.push_back({ 8,16,2, -1.544256,-0.212765 }); +cells.push_back({ 9,16,2, -1.533640,-0.212765 }); +cells.push_back({ 10,16,2, -1.523023,-0.212765 }); +cells.push_back({ 11,16,2, -1.512408,-0.212765 }); +// ibackleg=16 imodule=3 +cells.push_back({ 0,16,3, -1.628490,-0.000000 }); +cells.push_back({ 1,16,3, -1.618000,-0.000000 }); +cells.push_back({ 2,16,3, -1.607510,-0.000000 }); +cells.push_back({ 3,16,3, -1.597021,-0.000000 }); +cells.push_back({ 4,16,3, -1.586531,-0.000000 }); +cells.push_back({ 5,16,3, -1.576041,-0.000000 }); +cells.push_back({ 6,16,3, -1.565552,-0.000000 }); +cells.push_back({ 7,16,3, -1.555062,-0.000000 }); +cells.push_back({ 8,16,3, -1.544572,-0.000000 }); +cells.push_back({ 9,16,3, -1.534082,-0.000000 }); +cells.push_back({ 10,16,3, -1.523592,-0.000000 }); +cells.push_back({ 11,16,3, -1.513102,-0.000000 }); +// ibackleg=16 imodule=4 +cells.push_back({ 0,16,4, -1.512408,0.212765 }); +cells.push_back({ 1,16,4, -1.523023,0.212765 }); +cells.push_back({ 2,16,4, -1.533640,0.212765 }); +cells.push_back({ 3,16,4, -1.544256,0.212765 }); +cells.push_back({ 4,16,4, -1.554872,0.212765 }); +cells.push_back({ 5,16,4, -1.565488,0.212765 }); +cells.push_back({ 6,16,4, -1.576104,0.212765 }); +cells.push_back({ 7,16,4, -1.586720,0.212765 }); +cells.push_back({ 8,16,4, -1.597337,0.212765 }); +cells.push_back({ 9,16,4, -1.607953,0.212765 }); +cells.push_back({ 10,16,4, -1.618569,0.212765 }); +cells.push_back({ 11,16,4, -1.629185,0.212765 }); +// ibackleg=17 imodule=0 +// ibackleg=17 imodule=1 +// ibackleg=17 imodule=2 +cells.push_back({ 0,17,2, -1.419746,-0.212765 }); +cells.push_back({ 1,17,2, -1.409129,-0.212765 }); +cells.push_back({ 2,17,2, -1.398513,-0.212765 }); +cells.push_back({ 3,17,2, -1.387897,-0.212765 }); +cells.push_back({ 4,17,2, -1.377281,-0.212765 }); +cells.push_back({ 5,17,2, -1.366665,-0.212765 }); +cells.push_back({ 6,17,2, -1.356049,-0.212765 }); +cells.push_back({ 7,17,2, -1.345433,-0.212765 }); +cells.push_back({ 8,17,2, -1.334816,-0.212765 }); +cells.push_back({ 9,17,2, -1.324200,-0.212765 }); +cells.push_back({ 10,17,2, -1.313584,-0.212765 }); +cells.push_back({ 11,17,2, -1.302968,-0.212765 }); +// ibackleg=17 imodule=3 +cells.push_back({ 0,17,3, -1.419051,-0.000000 }); +cells.push_back({ 1,17,3, -1.408561,-0.000000 }); +cells.push_back({ 2,17,3, -1.398071,-0.000000 }); +cells.push_back({ 3,17,3, -1.387581,-0.000000 }); +cells.push_back({ 4,17,3, -1.377092,-0.000000 }); +cells.push_back({ 5,17,3, -1.366602,-0.000000 }); +cells.push_back({ 6,17,3, -1.356112,-0.000000 }); +cells.push_back({ 7,17,3, -1.345622,-0.000000 }); +cells.push_back({ 8,17,3, -1.335132,-0.000000 }); +cells.push_back({ 9,17,3, -1.324642,-0.000000 }); +cells.push_back({ 10,17,3, -1.314153,-0.000000 }); +cells.push_back({ 11,17,3, -1.303663,-0.000000 }); +// ibackleg=17 imodule=4 +cells.push_back({ 0,17,4, -1.302968,0.212765 }); +cells.push_back({ 1,17,4, -1.313584,0.212765 }); +cells.push_back({ 2,17,4, -1.324200,0.212765 }); +cells.push_back({ 3,17,4, -1.334816,0.212765 }); +cells.push_back({ 4,17,4, -1.345433,0.212765 }); +cells.push_back({ 5,17,4, -1.356049,0.212765 }); +cells.push_back({ 6,17,4, -1.366665,0.212765 }); +cells.push_back({ 7,17,4, -1.377281,0.212765 }); +cells.push_back({ 8,17,4, -1.387897,0.212765 }); +cells.push_back({ 9,17,4, -1.398513,0.212765 }); +cells.push_back({ 10,17,4, -1.409129,0.212765 }); +cells.push_back({ 11,17,4, -1.419746,0.212765 }); +// ibackleg=18 imodule=0 +// ibackleg=18 imodule=1 +// ibackleg=18 imodule=2 +cells.push_back({ 0,18,2, -1.210306,-0.212765 }); +cells.push_back({ 1,18,2, -1.199690,-0.212765 }); +cells.push_back({ 2,18,2, -1.189074,-0.212765 }); +cells.push_back({ 3,18,2, -1.178458,-0.212765 }); +cells.push_back({ 4,18,2, -1.167842,-0.212765 }); +cells.push_back({ 5,18,2, -1.157225,-0.212765 }); +cells.push_back({ 6,18,2, -1.146609,-0.212765 }); +cells.push_back({ 7,18,2, -1.135993,-0.212765 }); +cells.push_back({ 8,18,2, -1.125377,-0.212765 }); +cells.push_back({ 9,18,2, -1.114761,-0.212765 }); +cells.push_back({ 10,18,2, -1.104145,-0.212765 }); +cells.push_back({ 11,18,2, -1.093529,-0.212765 }); +// ibackleg=18 imodule=3 +cells.push_back({ 0,18,3, -1.209611,-0.000000 }); +cells.push_back({ 1,18,3, -1.199121,-0.000000 }); +cells.push_back({ 2,18,3, -1.188632,-0.000000 }); +cells.push_back({ 3,18,3, -1.178142,-0.000000 }); +cells.push_back({ 4,18,3, -1.167652,-0.000000 }); +cells.push_back({ 5,18,3, -1.157162,-0.000000 }); +cells.push_back({ 6,18,3, -1.146673,-0.000000 }); +cells.push_back({ 7,18,3, -1.136183,-0.000000 }); +cells.push_back({ 8,18,3, -1.125693,-0.000000 }); +cells.push_back({ 9,18,3, -1.115203,-0.000000 }); +cells.push_back({ 10,18,3, -1.104713,-0.000000 }); +cells.push_back({ 11,18,3, -1.094223,-0.000000 }); +// ibackleg=18 imodule=4 +cells.push_back({ 0,18,4, -1.093529,0.212765 }); +cells.push_back({ 1,18,4, -1.104145,0.212765 }); +cells.push_back({ 2,18,4, -1.114761,0.212765 }); +cells.push_back({ 3,18,4, -1.125377,0.212765 }); +cells.push_back({ 4,18,4, -1.135993,0.212765 }); +cells.push_back({ 5,18,4, -1.146609,0.212765 }); +cells.push_back({ 6,18,4, -1.157225,0.212765 }); +cells.push_back({ 7,18,4, -1.167842,0.212765 }); +cells.push_back({ 8,18,4, -1.178458,0.212765 }); +cells.push_back({ 9,18,4, -1.189074,0.212765 }); +cells.push_back({ 10,18,4, -1.199690,0.212765 }); +cells.push_back({ 11,18,4, -1.210306,0.212765 }); +// ibackleg=19 imodule=0 +// ibackleg=19 imodule=1 +// ibackleg=19 imodule=2 +cells.push_back({ 0,19,2, -1.000867,-0.212765 }); +cells.push_back({ 1,19,2, -0.990250,-0.212765 }); +cells.push_back({ 2,19,2, -0.979634,-0.212765 }); +cells.push_back({ 3,19,2, -0.969018,-0.212765 }); +cells.push_back({ 4,19,2, -0.958402,-0.212765 }); +cells.push_back({ 5,19,2, -0.947786,-0.212765 }); +cells.push_back({ 6,19,2, -0.937170,-0.212765 }); +cells.push_back({ 7,19,2, -0.926554,-0.212765 }); +cells.push_back({ 8,19,2, -0.915937,-0.212765 }); +cells.push_back({ 9,19,2, -0.905321,-0.212765 }); +cells.push_back({ 10,19,2, -0.894705,-0.212765 }); +cells.push_back({ 11,19,2, -0.884089,-0.212765 }); +// ibackleg=19 imodule=3 +cells.push_back({ 0,19,3, -1.000172,-0.000000 }); +cells.push_back({ 1,19,3, -0.989682,-0.000000 }); +cells.push_back({ 2,19,3, -0.979192,-0.000000 }); +cells.push_back({ 3,19,3, -0.968702,-0.000000 }); +cells.push_back({ 4,19,3, -0.958213,-0.000000 }); +cells.push_back({ 5,19,3, -0.947723,-0.000000 }); +cells.push_back({ 6,19,3, -0.937233,-0.000000 }); +cells.push_back({ 7,19,3, -0.926743,-0.000000 }); +cells.push_back({ 8,19,3, -0.916253,-0.000000 }); +cells.push_back({ 9,19,3, -0.905763,-0.000000 }); +cells.push_back({ 10,19,3, -0.895274,-0.000000 }); +cells.push_back({ 11,19,3, -0.884784,-0.000000 }); +// ibackleg=19 imodule=4 +cells.push_back({ 0,19,4, -0.884089,0.212765 }); +cells.push_back({ 1,19,4, -0.894705,0.212765 }); +cells.push_back({ 2,19,4, -0.905321,0.212765 }); +cells.push_back({ 3,19,4, -0.915937,0.212765 }); +cells.push_back({ 4,19,4, -0.926554,0.212765 }); +cells.push_back({ 5,19,4, -0.937170,0.212765 }); +cells.push_back({ 6,19,4, -0.947786,0.212765 }); +cells.push_back({ 7,19,4, -0.958402,0.212765 }); +cells.push_back({ 8,19,4, -0.969018,0.212765 }); +cells.push_back({ 9,19,4, -0.979634,0.212765 }); +cells.push_back({ 10,19,4, -0.990250,0.212765 }); +cells.push_back({ 11,19,4, -1.000867,0.212765 }); +// ibackleg=20 imodule=0 +// ibackleg=20 imodule=1 +// ibackleg=20 imodule=2 +cells.push_back({ 0,20,2, -0.791427,-0.212765 }); +cells.push_back({ 1,20,2, -0.780811,-0.212765 }); +cells.push_back({ 2,20,2, -0.770195,-0.212765 }); +cells.push_back({ 3,20,2, -0.759579,-0.212765 }); +cells.push_back({ 4,20,2, -0.748963,-0.212765 }); +cells.push_back({ 5,20,2, -0.738346,-0.212765 }); +cells.push_back({ 6,20,2, -0.727730,-0.212765 }); +cells.push_back({ 7,20,2, -0.717114,-0.212765 }); +cells.push_back({ 8,20,2, -0.706498,-0.212765 }); +cells.push_back({ 9,20,2, -0.695882,-0.212765 }); +cells.push_back({ 10,20,2, -0.685266,-0.212765 }); +cells.push_back({ 11,20,2, -0.674650,-0.212765 }); +// ibackleg=20 imodule=3 +cells.push_back({ 0,20,3, -0.790732,-0.000000 }); +cells.push_back({ 1,20,3, -0.780242,-0.000000 }); +cells.push_back({ 2,20,3, -0.769753,-0.000000 }); +cells.push_back({ 3,20,3, -0.759263,-0.000000 }); +cells.push_back({ 4,20,3, -0.748773,-0.000000 }); +cells.push_back({ 5,20,3, -0.738283,-0.000000 }); +cells.push_back({ 6,20,3, -0.727794,-0.000000 }); +cells.push_back({ 7,20,3, -0.717304,-0.000000 }); +cells.push_back({ 8,20,3, -0.706814,-0.000000 }); +cells.push_back({ 9,20,3, -0.696324,-0.000000 }); +cells.push_back({ 10,20,3, -0.685834,-0.000000 }); +cells.push_back({ 11,20,3, -0.675344,-0.000000 }); +// ibackleg=20 imodule=4 +cells.push_back({ 0,20,4, -0.674650,0.212765 }); +cells.push_back({ 1,20,4, -0.685266,0.212765 }); +cells.push_back({ 2,20,4, -0.695882,0.212765 }); +cells.push_back({ 3,20,4, -0.706498,0.212765 }); +cells.push_back({ 4,20,4, -0.717114,0.212765 }); +cells.push_back({ 5,20,4, -0.727730,0.212765 }); +cells.push_back({ 6,20,4, -0.738346,0.212765 }); +cells.push_back({ 7,20,4, -0.748963,0.212765 }); +cells.push_back({ 8,20,4, -0.759579,0.212765 }); +cells.push_back({ 9,20,4, -0.770195,0.212765 }); +cells.push_back({ 10,20,4, -0.780811,0.212765 }); +cells.push_back({ 11,20,4, -0.791427,0.212765 }); +// ibackleg=21 imodule=0 +// ibackleg=21 imodule=1 +cells.push_back({ 0,21,1, -0.582090,-0.416592 }); +cells.push_back({ 1,21,1, -0.571456,-0.416592 }); +cells.push_back({ 2,21,1, -0.560821,-0.416592 }); +cells.push_back({ 3,21,1, -0.550186,-0.416592 }); +cells.push_back({ 4,21,1, -0.539551,-0.416592 }); +cells.push_back({ 5,21,1, -0.528916,-0.416592 }); +cells.push_back({ 6,21,1, -0.518281,-0.416592 }); +cells.push_back({ 7,21,1, -0.507646,-0.416592 }); +cells.push_back({ 8,21,1, -0.497011,-0.416592 }); +cells.push_back({ 9,21,1, -0.486377,-0.416592 }); +cells.push_back({ 10,21,1, -0.475742,-0.416592 }); +cells.push_back({ 11,21,1, -0.465107,-0.416592 }); +// ibackleg=21 imodule=2 +cells.push_back({ 0,21,2, -0.582805,-0.212765 }); +cells.push_back({ 1,21,2, -0.572040,-0.212765 }); +cells.push_back({ 2,21,2, -0.561275,-0.212765 }); +cells.push_back({ 3,21,2, -0.550511,-0.212765 }); +cells.push_back({ 4,21,2, -0.539746,-0.212765 }); +cells.push_back({ 5,21,2, -0.528981,-0.212765 }); +cells.push_back({ 6,21,2, -0.518216,-0.212765 }); +cells.push_back({ 7,21,2, -0.507452,-0.212765 }); +cells.push_back({ 8,21,2, -0.496687,-0.212765 }); +cells.push_back({ 9,21,2, -0.485922,-0.212765 }); +cells.push_back({ 10,21,2, -0.475158,-0.212765 }); +cells.push_back({ 11,21,2, -0.464393,-0.212765 }); +// ibackleg=21 imodule=3 +cells.push_back({ 0,21,3, -0.582090,-0.000000 }); +cells.push_back({ 1,21,3, -0.571456,-0.000000 }); +cells.push_back({ 2,21,3, -0.560821,-0.000000 }); +cells.push_back({ 3,21,3, -0.550186,-0.000000 }); +cells.push_back({ 4,21,3, -0.539551,-0.000000 }); +cells.push_back({ 5,21,3, -0.528916,-0.000000 }); +cells.push_back({ 6,21,3, -0.518281,-0.000000 }); +cells.push_back({ 7,21,3, -0.507646,-0.000000 }); +cells.push_back({ 8,21,3, -0.497011,-0.000000 }); +cells.push_back({ 9,21,3, -0.486377,-0.000000 }); +cells.push_back({ 10,21,3, -0.475742,-0.000000 }); +cells.push_back({ 11,21,3, -0.465107,-0.000000 }); +// ibackleg=21 imodule=4 +cells.push_back({ 0,21,4, -0.464393,0.212765 }); +cells.push_back({ 1,21,4, -0.475158,0.212765 }); +cells.push_back({ 2,21,4, -0.485922,0.212765 }); +cells.push_back({ 3,21,4, -0.496687,0.212765 }); +cells.push_back({ 4,21,4, -0.507452,0.212765 }); +cells.push_back({ 5,21,4, -0.518216,0.212765 }); +cells.push_back({ 6,21,4, -0.528981,0.212765 }); +cells.push_back({ 7,21,4, -0.539746,0.212765 }); +cells.push_back({ 8,21,4, -0.550511,0.212765 }); +cells.push_back({ 9,21,4, -0.561275,0.212765 }); +cells.push_back({ 10,21,4, -0.572040,0.212765 }); +cells.push_back({ 11,21,4, -0.582805,0.212765 }); +// ibackleg=22 imodule=0 +// ibackleg=22 imodule=1 +cells.push_back({ 0,22,1, -0.373936,-0.416592 }); +cells.push_back({ 1,22,1, -0.363067,-0.416592 }); +cells.push_back({ 2,22,1, -0.352198,-0.416592 }); +cells.push_back({ 3,22,1, -0.341330,-0.416592 }); +cells.push_back({ 4,22,1, -0.330462,-0.416592 }); +cells.push_back({ 5,22,1, -0.319593,-0.416592 }); +cells.push_back({ 6,22,1, -0.308725,-0.416592 }); +cells.push_back({ 7,22,1, -0.297857,-0.416592 }); +cells.push_back({ 8,22,1, -0.286988,-0.416592 }); +cells.push_back({ 9,22,1, -0.276120,-0.416592 }); +cells.push_back({ 10,22,1, -0.265251,-0.416592 }); +cells.push_back({ 11,22,1, -0.254383,-0.416592 }); +// ibackleg=22 imodule=2 +cells.push_back({ 0,22,2, -0.374681,-0.212765 }); +cells.push_back({ 1,22,2, -0.363677,-0.212765 }); +cells.push_back({ 2,22,2, -0.352673,-0.212765 }); +cells.push_back({ 3,22,2, -0.341669,-0.212765 }); +cells.push_back({ 4,22,2, -0.330665,-0.212765 }); +cells.push_back({ 5,22,2, -0.319661,-0.212765 }); +cells.push_back({ 6,22,2, -0.308657,-0.212765 }); +cells.push_back({ 7,22,2, -0.297653,-0.212765 }); +cells.push_back({ 8,22,2, -0.286649,-0.212765 }); +cells.push_back({ 9,22,2, -0.275645,-0.212765 }); +cells.push_back({ 10,22,2, -0.264641,-0.212765 }); +cells.push_back({ 11,22,2, -0.253637,-0.212765 }); +// ibackleg=22 imodule=3 +cells.push_back({ 0,22,3, -0.373936,-0.000000 }); +cells.push_back({ 1,22,3, -0.363067,-0.000000 }); +cells.push_back({ 2,22,3, -0.352198,-0.000000 }); +cells.push_back({ 3,22,3, -0.341330,-0.000000 }); +cells.push_back({ 4,22,3, -0.330462,-0.000000 }); +cells.push_back({ 5,22,3, -0.319593,-0.000000 }); +cells.push_back({ 6,22,3, -0.308725,-0.000000 }); +cells.push_back({ 7,22,3, -0.297857,-0.000000 }); +cells.push_back({ 8,22,3, -0.286988,-0.000000 }); +cells.push_back({ 9,22,3, -0.276120,-0.000000 }); +cells.push_back({ 10,22,3, -0.265251,-0.000000 }); +cells.push_back({ 11,22,3, -0.254383,-0.000000 }); +// ibackleg=22 imodule=4 +cells.push_back({ 0,22,4, -0.253637,0.212765 }); +cells.push_back({ 1,22,4, -0.264641,0.212765 }); +cells.push_back({ 2,22,4, -0.275645,0.212765 }); +cells.push_back({ 3,22,4, -0.286649,0.212765 }); +cells.push_back({ 4,22,4, -0.297653,0.212765 }); +cells.push_back({ 5,22,4, -0.308657,0.212765 }); +cells.push_back({ 6,22,4, -0.319661,0.212765 }); +cells.push_back({ 7,22,4, -0.330665,0.212765 }); +cells.push_back({ 8,22,4, -0.341669,0.212765 }); +cells.push_back({ 9,22,4, -0.352673,0.212765 }); +cells.push_back({ 10,22,4, -0.363677,0.212765 }); +cells.push_back({ 11,22,4, -0.374681,0.212765 }); +// ibackleg=23 imodule=0 +// ibackleg=23 imodule=1 +// ibackleg=23 imodule=2 +// ibackleg=23 imodule=3 +// ibackleg=23 imodule=4 +// ibackleg=24 imodule=0 +// ibackleg=24 imodule=1 +cells.push_back({ 0,24,1, 0.066479,-0.416592 }); +cells.push_back({ 1,24,1, 0.077280,-0.416592 }); +cells.push_back({ 2,24,1, 0.088080,-0.416592 }); +cells.push_back({ 3,24,1, 0.098881,-0.416592 }); +cells.push_back({ 4,24,1, 0.109682,-0.416592 }); +cells.push_back({ 5,24,1, 0.120482,-0.416592 }); +cells.push_back({ 6,24,1, 0.131283,-0.416592 }); +cells.push_back({ 7,24,1, 0.142084,-0.416592 }); +cells.push_back({ 8,24,1, 0.152884,-0.416592 }); +cells.push_back({ 9,24,1, 0.163685,-0.416592 }); +cells.push_back({ 10,24,1, 0.174485,-0.416592 }); +cells.push_back({ 11,24,1, 0.185286,-0.416592 }); +// ibackleg=24 imodule=2 +cells.push_back({ 0,24,2, 0.066005,-0.212765 }); +cells.push_back({ 1,24,2, 0.076940,-0.212765 }); +cells.push_back({ 2,24,2, 0.087874,-0.212765 }); +cells.push_back({ 3,24,2, 0.098809,-0.212765 }); +cells.push_back({ 4,24,2, 0.109743,-0.212765 }); +cells.push_back({ 5,24,2, 0.120678,-0.212765 }); +cells.push_back({ 6,24,2, 0.131612,-0.212765 }); +cells.push_back({ 7,24,2, 0.142547,-0.212765 }); +cells.push_back({ 8,24,2, 0.153481,-0.212765 }); +cells.push_back({ 9,24,2, 0.164416,-0.212765 }); +cells.push_back({ 10,24,2, 0.175351,-0.212765 }); +cells.push_back({ 11,24,2, 0.186285,-0.212765 }); +// ibackleg=24 imodule=3 +cells.push_back({ 0,24,3, 0.066479,-0.000000 }); +cells.push_back({ 1,24,3, 0.077280,-0.000000 }); +cells.push_back({ 2,24,3, 0.088080,-0.000000 }); +cells.push_back({ 3,24,3, 0.098881,-0.000000 }); +cells.push_back({ 4,24,3, 0.109682,-0.000000 }); +cells.push_back({ 5,24,3, 0.120482,-0.000000 }); +cells.push_back({ 6,24,3, 0.131283,-0.000000 }); +cells.push_back({ 7,24,3, 0.142084,-0.000000 }); +cells.push_back({ 8,24,3, 0.152884,-0.000000 }); +cells.push_back({ 9,24,3, 0.163685,-0.000000 }); +cells.push_back({ 10,24,3, 0.174485,-0.000000 }); +cells.push_back({ 11,24,3, 0.185286,-0.000000 }); +// ibackleg=24 imodule=4 +cells.push_back({ 0,24,4, 0.186285,0.212765 }); +cells.push_back({ 1,24,4, 0.175351,0.212765 }); +cells.push_back({ 2,24,4, 0.164416,0.212765 }); +cells.push_back({ 3,24,4, 0.153481,0.212765 }); +cells.push_back({ 4,24,4, 0.142547,0.212765 }); +cells.push_back({ 5,24,4, 0.131612,0.212765 }); +cells.push_back({ 6,24,4, 0.120678,0.212765 }); +cells.push_back({ 7,24,4, 0.109743,0.212765 }); +cells.push_back({ 8,24,4, 0.098809,0.212765 }); +cells.push_back({ 9,24,4, 0.087874,0.212765 }); +cells.push_back({ 10,24,4, 0.076940,0.212765 }); +cells.push_back({ 11,24,4, 0.066005,0.212765 }); +// ibackleg=25 imodule=0 +// ibackleg=25 imodule=1 +cells.push_back({ 0,25,1, 0.254383,-0.416592 }); +cells.push_back({ 1,25,1, 0.265252,-0.416592 }); +cells.push_back({ 2,25,1, 0.276120,-0.416592 }); +cells.push_back({ 3,25,1, 0.286988,-0.416592 }); +cells.push_back({ 4,25,1, 0.297857,-0.416592 }); +cells.push_back({ 5,25,1, 0.308725,-0.416592 }); +cells.push_back({ 6,25,1, 0.319593,-0.416592 }); +cells.push_back({ 7,25,1, 0.330462,-0.416592 }); +cells.push_back({ 8,25,1, 0.341330,-0.416592 }); +cells.push_back({ 9,25,1, 0.352199,-0.416592 }); +cells.push_back({ 10,25,1, 0.363067,-0.416592 }); +cells.push_back({ 11,25,1, 0.373935,-0.416592 }); +// ibackleg=25 imodule=2 +cells.push_back({ 0,25,2, 0.253637,-0.212765 }); +cells.push_back({ 1,25,2, 0.264641,-0.212765 }); +cells.push_back({ 2,25,2, 0.275645,-0.212765 }); +cells.push_back({ 3,25,2, 0.286649,-0.212765 }); +cells.push_back({ 4,25,2, 0.297653,-0.212765 }); +cells.push_back({ 5,25,2, 0.308657,-0.212765 }); +cells.push_back({ 6,25,2, 0.319661,-0.212765 }); +cells.push_back({ 7,25,2, 0.330665,-0.212765 }); +cells.push_back({ 8,25,2, 0.341669,-0.212765 }); +cells.push_back({ 9,25,2, 0.352673,-0.212765 }); +cells.push_back({ 10,25,2, 0.363677,-0.212765 }); +cells.push_back({ 11,25,2, 0.374682,-0.212765 }); +// ibackleg=25 imodule=3 +cells.push_back({ 0,25,3, 0.254383,-0.000000 }); +cells.push_back({ 1,25,3, 0.265252,-0.000000 }); +cells.push_back({ 2,25,3, 0.276120,-0.000000 }); +cells.push_back({ 3,25,3, 0.286988,-0.000000 }); +cells.push_back({ 4,25,3, 0.297857,-0.000000 }); +cells.push_back({ 5,25,3, 0.308725,-0.000000 }); +cells.push_back({ 6,25,3, 0.319593,-0.000000 }); +cells.push_back({ 7,25,3, 0.330462,-0.000000 }); +cells.push_back({ 8,25,3, 0.341330,-0.000000 }); +cells.push_back({ 9,25,3, 0.352199,-0.000000 }); +cells.push_back({ 10,25,3, 0.363067,-0.000000 }); +cells.push_back({ 11,25,3, 0.373935,-0.000000 }); +// ibackleg=25 imodule=4 +cells.push_back({ 0,25,4, 0.374682,0.212765 }); +cells.push_back({ 1,25,4, 0.363677,0.212765 }); +cells.push_back({ 2,25,4, 0.352673,0.212765 }); +cells.push_back({ 3,25,4, 0.341669,0.212765 }); +cells.push_back({ 4,25,4, 0.330665,0.212765 }); +cells.push_back({ 5,25,4, 0.319661,0.212765 }); +cells.push_back({ 6,25,4, 0.308657,0.212765 }); +cells.push_back({ 7,25,4, 0.297653,0.212765 }); +cells.push_back({ 8,25,4, 0.286649,0.212765 }); +cells.push_back({ 9,25,4, 0.275645,0.212765 }); +cells.push_back({ 10,25,4, 0.264641,0.212765 }); +cells.push_back({ 11,25,4, 0.253637,0.212765 }); +// ibackleg=26 imodule=0 +// ibackleg=26 imodule=1 +cells.push_back({ 0,26,1, 0.462821,-0.416592 }); +cells.push_back({ 1,26,1, 0.473872,-0.416592 }); +cells.push_back({ 2,26,1, 0.484922,-0.416592 }); +cells.push_back({ 3,26,1, 0.495973,-0.416592 }); +cells.push_back({ 4,26,1, 0.507023,-0.416592 }); +cells.push_back({ 5,26,1, 0.518074,-0.416592 }); +cells.push_back({ 6,26,1, 0.529124,-0.416592 }); +cells.push_back({ 7,26,1, 0.540174,-0.416592 }); +cells.push_back({ 8,26,1, 0.551225,-0.416592 }); +cells.push_back({ 9,26,1, 0.562275,-0.416592 }); +cells.push_back({ 10,26,1, 0.573326,-0.416592 }); +cells.push_back({ 11,26,1, 0.584376,-0.416592 }); +// ibackleg=26 imodule=2 +cells.push_back({ 0,26,2, 0.462050,-0.212765 }); +cells.push_back({ 1,26,2, 0.473241,-0.212765 }); +cells.push_back({ 2,26,2, 0.484431,-0.212765 }); +cells.push_back({ 3,26,2, 0.495622,-0.212765 }); +cells.push_back({ 4,26,2, 0.506813,-0.212765 }); +cells.push_back({ 5,26,2, 0.518003,-0.212765 }); +cells.push_back({ 6,26,2, 0.529194,-0.212765 }); +cells.push_back({ 7,26,2, 0.540385,-0.212765 }); +cells.push_back({ 8,26,2, 0.551576,-0.212765 }); +cells.push_back({ 9,26,2, 0.562766,-0.212765 }); +cells.push_back({ 10,26,2, 0.573957,-0.212765 }); +cells.push_back({ 11,26,2, 0.585148,-0.212765 }); +// ibackleg=26 imodule=3 +cells.push_back({ 0,26,3, 0.462821,-0.000000 }); +cells.push_back({ 1,26,3, 0.473872,-0.000000 }); +cells.push_back({ 2,26,3, 0.484922,-0.000000 }); +cells.push_back({ 3,26,3, 0.495973,-0.000000 }); +cells.push_back({ 4,26,3, 0.507023,-0.000000 }); +cells.push_back({ 5,26,3, 0.518074,-0.000000 }); +cells.push_back({ 6,26,3, 0.529124,-0.000000 }); +cells.push_back({ 7,26,3, 0.540174,-0.000000 }); +cells.push_back({ 8,26,3, 0.551225,-0.000000 }); +cells.push_back({ 9,26,3, 0.562275,-0.000000 }); +cells.push_back({ 10,26,3, 0.573326,-0.000000 }); +cells.push_back({ 11,26,3, 0.584376,-0.000000 }); +// ibackleg=26 imodule=4 +cells.push_back({ 0,26,4, 0.585148,0.212765 }); +cells.push_back({ 1,26,4, 0.573957,0.212765 }); +cells.push_back({ 2,26,4, 0.562766,0.212765 }); +cells.push_back({ 3,26,4, 0.551576,0.212765 }); +cells.push_back({ 4,26,4, 0.540385,0.212765 }); +cells.push_back({ 5,26,4, 0.529194,0.212765 }); +cells.push_back({ 6,26,4, 0.518003,0.212765 }); +cells.push_back({ 7,26,4, 0.506813,0.212765 }); +cells.push_back({ 8,26,4, 0.495622,0.212765 }); +cells.push_back({ 9,26,4, 0.484431,0.212765 }); +cells.push_back({ 10,26,4, 0.473241,0.212765 }); +cells.push_back({ 11,26,4, 0.462050,0.212765 }); +// ibackleg=27 imodule=0 +// ibackleg=27 imodule=1 +cells.push_back({ 0,27,1, 0.672261,-0.416592 }); +cells.push_back({ 1,27,1, 0.683311,-0.416592 }); +cells.push_back({ 2,27,1, 0.694362,-0.416592 }); +cells.push_back({ 3,27,1, 0.705412,-0.416592 }); +cells.push_back({ 4,27,1, 0.716463,-0.416592 }); +cells.push_back({ 5,27,1, 0.727513,-0.416592 }); +cells.push_back({ 6,27,1, 0.738563,-0.416592 }); +cells.push_back({ 7,27,1, 0.749614,-0.416592 }); +cells.push_back({ 8,27,1, 0.760664,-0.416592 }); +cells.push_back({ 9,27,1, 0.771715,-0.416592 }); +cells.push_back({ 10,27,1, 0.782765,-0.416592 }); +cells.push_back({ 11,27,1, 0.793816,-0.416592 }); +// ibackleg=27 imodule=2 +cells.push_back({ 0,27,2, 0.671489,-0.212765 }); +cells.push_back({ 1,27,2, 0.682680,-0.212765 }); +cells.push_back({ 2,27,2, 0.693871,-0.212765 }); +cells.push_back({ 3,27,2, 0.705061,-0.212765 }); +cells.push_back({ 4,27,2, 0.716252,-0.212765 }); +cells.push_back({ 5,27,2, 0.727443,-0.212765 }); +cells.push_back({ 6,27,2, 0.738634,-0.212765 }); +cells.push_back({ 7,27,2, 0.749824,-0.212765 }); +cells.push_back({ 8,27,2, 0.761015,-0.212765 }); +cells.push_back({ 9,27,2, 0.772206,-0.212765 }); +cells.push_back({ 10,27,2, 0.783396,-0.212765 }); +cells.push_back({ 11,27,2, 0.794587,-0.212765 }); +// ibackleg=27 imodule=3 +cells.push_back({ 0,27,3, 0.672261,-0.000000 }); +cells.push_back({ 1,27,3, 0.683311,-0.000000 }); +cells.push_back({ 2,27,3, 0.694362,-0.000000 }); +cells.push_back({ 3,27,3, 0.705412,-0.000000 }); +cells.push_back({ 4,27,3, 0.716463,-0.000000 }); +cells.push_back({ 5,27,3, 0.727513,-0.000000 }); +cells.push_back({ 6,27,3, 0.738563,-0.000000 }); +cells.push_back({ 7,27,3, 0.749614,-0.000000 }); +cells.push_back({ 8,27,3, 0.760664,-0.000000 }); +cells.push_back({ 9,27,3, 0.771715,-0.000000 }); +cells.push_back({ 10,27,3, 0.782765,-0.000000 }); +cells.push_back({ 11,27,3, 0.793816,-0.000000 }); +// ibackleg=27 imodule=4 +cells.push_back({ 0,27,4, 0.794587,0.212765 }); +cells.push_back({ 1,27,4, 0.783396,0.212765 }); +cells.push_back({ 2,27,4, 0.772206,0.212765 }); +cells.push_back({ 3,27,4, 0.761015,0.212765 }); +cells.push_back({ 4,27,4, 0.749824,0.212765 }); +cells.push_back({ 5,27,4, 0.738634,0.212765 }); +cells.push_back({ 6,27,4, 0.727443,0.212765 }); +cells.push_back({ 7,27,4, 0.716252,0.212765 }); +cells.push_back({ 8,27,4, 0.705061,0.212765 }); +cells.push_back({ 9,27,4, 0.693871,0.212765 }); +cells.push_back({ 10,27,4, 0.682680,0.212765 }); +cells.push_back({ 11,27,4, 0.671489,0.212765 }); +// ibackleg=28 imodule=0 +// ibackleg=28 imodule=1 +cells.push_back({ 0,28,1, 0.881700,-0.416592 }); +cells.push_back({ 1,28,1, 0.892751,-0.416592 }); +cells.push_back({ 2,28,1, 0.903801,-0.416592 }); +cells.push_back({ 3,28,1, 0.914852,-0.416592 }); +cells.push_back({ 4,28,1, 0.925902,-0.416592 }); +cells.push_back({ 5,28,1, 0.936953,-0.416592 }); +cells.push_back({ 6,28,1, 0.948003,-0.416592 }); +cells.push_back({ 7,28,1, 0.959053,-0.416592 }); +cells.push_back({ 8,28,1, 0.970104,-0.416592 }); +cells.push_back({ 9,28,1, 0.981154,-0.416592 }); +cells.push_back({ 10,28,1, 0.992205,-0.416592 }); +cells.push_back({ 11,28,1, 1.003255,-0.416592 }); +// ibackleg=28 imodule=2 +cells.push_back({ 0,28,2, 0.880929,-0.212765 }); +cells.push_back({ 1,28,2, 0.892120,-0.212765 }); +cells.push_back({ 2,28,2, 0.903310,-0.212765 }); +cells.push_back({ 3,28,2, 0.914501,-0.212765 }); +cells.push_back({ 4,28,2, 0.925692,-0.212765 }); +cells.push_back({ 5,28,2, 0.936882,-0.212765 }); +cells.push_back({ 6,28,2, 0.948073,-0.212765 }); +cells.push_back({ 7,28,2, 0.959264,-0.212765 }); +cells.push_back({ 8,28,2, 0.970455,-0.212765 }); +cells.push_back({ 9,28,2, 0.981645,-0.212765 }); +cells.push_back({ 10,28,2, 0.992836,-0.212765 }); +cells.push_back({ 11,28,2, 1.004027,-0.212765 }); +// ibackleg=28 imodule=3 +cells.push_back({ 0,28,3, 0.881700,-0.000000 }); +cells.push_back({ 1,28,3, 0.892751,-0.000000 }); +cells.push_back({ 2,28,3, 0.903801,-0.000000 }); +cells.push_back({ 3,28,3, 0.914852,-0.000000 }); +cells.push_back({ 4,28,3, 0.925902,-0.000000 }); +cells.push_back({ 5,28,3, 0.936953,-0.000000 }); +cells.push_back({ 6,28,3, 0.948003,-0.000000 }); +cells.push_back({ 7,28,3, 0.959053,-0.000000 }); +cells.push_back({ 8,28,3, 0.970104,-0.000000 }); +cells.push_back({ 9,28,3, 0.981154,-0.000000 }); +cells.push_back({ 10,28,3, 0.992205,-0.000000 }); +cells.push_back({ 11,28,3, 1.003255,-0.000000 }); +// ibackleg=28 imodule=4 +cells.push_back({ 0,28,4, 1.004027,0.212765 }); +cells.push_back({ 1,28,4, 0.992836,0.212765 }); +cells.push_back({ 2,28,4, 0.981645,0.212765 }); +cells.push_back({ 3,28,4, 0.970455,0.212765 }); +cells.push_back({ 4,28,4, 0.959264,0.212765 }); +cells.push_back({ 5,28,4, 0.948073,0.212765 }); +cells.push_back({ 6,28,4, 0.936882,0.212765 }); +cells.push_back({ 7,28,4, 0.925692,0.212765 }); +cells.push_back({ 8,28,4, 0.914501,0.212765 }); +cells.push_back({ 9,28,4, 0.903310,0.212765 }); +cells.push_back({ 10,28,4, 0.892120,0.212765 }); +cells.push_back({ 11,28,4, 0.880929,0.212765 }); +// ibackleg=29 imodule=0 +// ibackleg=29 imodule=1 +cells.push_back({ 0,29,1, 1.091140,-0.416592 }); +cells.push_back({ 1,29,1, 1.102190,-0.416592 }); +cells.push_back({ 2,29,1, 1.113241,-0.416592 }); +cells.push_back({ 3,29,1, 1.124291,-0.416592 }); +cells.push_back({ 4,29,1, 1.135342,-0.416592 }); +cells.push_back({ 5,29,1, 1.146392,-0.416592 }); +cells.push_back({ 6,29,1, 1.157443,-0.416592 }); +cells.push_back({ 7,29,1, 1.168493,-0.416592 }); +cells.push_back({ 8,29,1, 1.179543,-0.416592 }); +cells.push_back({ 9,29,1, 1.190594,-0.416592 }); +cells.push_back({ 10,29,1, 1.201644,-0.416592 }); +cells.push_back({ 11,29,1, 1.212695,-0.416592 }); +// ibackleg=29 imodule=2 +cells.push_back({ 0,29,2, 1.090368,-0.212765 }); +cells.push_back({ 1,29,2, 1.101559,-0.212765 }); +cells.push_back({ 2,29,2, 1.112750,-0.212765 }); +cells.push_back({ 3,29,2, 1.123941,-0.212765 }); +cells.push_back({ 4,29,2, 1.135131,-0.212765 }); +cells.push_back({ 5,29,2, 1.146322,-0.212765 }); +cells.push_back({ 6,29,2, 1.157513,-0.212765 }); +cells.push_back({ 7,29,2, 1.168703,-0.212765 }); +cells.push_back({ 8,29,2, 1.179894,-0.212765 }); +cells.push_back({ 9,29,2, 1.191085,-0.212765 }); +cells.push_back({ 10,29,2, 1.202276,-0.212765 }); +cells.push_back({ 11,29,2, 1.213466,-0.212765 }); +// ibackleg=29 imodule=3 +cells.push_back({ 0,29,3, 1.091140,-0.000000 }); +cells.push_back({ 1,29,3, 1.102190,-0.000000 }); +cells.push_back({ 2,29,3, 1.113241,-0.000000 }); +cells.push_back({ 3,29,3, 1.124291,-0.000000 }); +cells.push_back({ 4,29,3, 1.135342,-0.000000 }); +cells.push_back({ 5,29,3, 1.146392,-0.000000 }); +cells.push_back({ 6,29,3, 1.157443,-0.000000 }); +cells.push_back({ 7,29,3, 1.168493,-0.000000 }); +cells.push_back({ 8,29,3, 1.179543,-0.000000 }); +cells.push_back({ 9,29,3, 1.190594,-0.000000 }); +cells.push_back({ 10,29,3, 1.201644,-0.000000 }); +cells.push_back({ 11,29,3, 1.212695,-0.000000 }); +// ibackleg=29 imodule=4 +cells.push_back({ 0,29,4, 1.213466,0.212765 }); +cells.push_back({ 1,29,4, 1.202276,0.212765 }); +cells.push_back({ 2,29,4, 1.191085,0.212765 }); +cells.push_back({ 3,29,4, 1.179894,0.212765 }); +cells.push_back({ 4,29,4, 1.168703,0.212765 }); +cells.push_back({ 5,29,4, 1.157513,0.212765 }); +cells.push_back({ 6,29,4, 1.146322,0.212765 }); +cells.push_back({ 7,29,4, 1.135131,0.212765 }); +cells.push_back({ 8,29,4, 1.123941,0.212765 }); +cells.push_back({ 9,29,4, 1.112750,0.212765 }); +cells.push_back({ 10,29,4, 1.101559,0.212765 }); +cells.push_back({ 11,29,4, 1.090368,0.212765 }); + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_mtd_response.C b/StRoot/StGeant4Maker/tests/unit_test_mtd_response.C new file mode 100644 index 00000000000..4a7476a3979 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_mtd_response.C @@ -0,0 +1,89 @@ +#include "tests/unit_tests.h" + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; + +//___________________________________________________________________ +void unit_test_mtd_response( int nevents=1000 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and EPD hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + auto* chain = StMaker::GetChain(); + + TFile* file = TFile::Open("mtd.response.root","recreate"); + TH1F* hOneMuon = new TH1F("hOneMuon","Single muon incident @ E=10 GeV; dE [eV]",100,0.,10.0); + TH2F* hEtaPhi = new TH2F("hEtaPhi","Phi vs Eta; #eta; #phi",90,-180.0,180.0,100,-0.5,0.5); + + auto sumHits = [=](const char* name, float sf=1.0 ) -> double { + assert(sf>0); + float sum = 0.; + auto* table = dynamic_cast( chain->GetDataSet( "g2t_mtd_hit" ) ) ; + if (table) + for ( int i=0;iGetNRows();i++ ){ + const g2t_mtd_hit_st* hit = static_cast( table->At(i) ); + sum+=hit->de; + }; + return 1.0*1000.0*1000.*1000.*sum; + // GeV MeV keV eV + }; + + + + auto throw_particle = [=]( std::string type, int n=1, const double E=0.500, double etaMn=-0.45, double etaMx=0.45 ) { + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + for ( int i=0;iAddParticle(type.c_str()); + auto _mass = _part->GetMass(); // Get the mass of the proton + if ( E > _mass ) { + auto _pmom = TMath::Sqrt(E*E-_mass*_mass); + auto _eta = gRandom->Rndm() * ( etaMx - etaMn ) + etaMn; // random angle + auto _phi = gRandom->Rndm() * TMath::TwoPi(); + TVector3 unit(0,0,1); + unit.SetPtEtaPhi(1.0,_eta,_phi); + unit=unit.Unit(); + auto momentum=_pmom*unit; + momentum.Print(); + _part->SetPx( momentum[0] ); + _part->SetPy( momentum[1] ); + _part->SetPz( momentum[2] ); + _part->SetVx( 0 ); + _part->SetVy( 0 ); + _part->SetVz( 0 ); + } + else { + LOG_INFO << "ERROR: mass > E (no particle simulated)" << endm; + } + } + chain->Clear(); + chain->Make(); + }; + + for ( int ievent=0;ieventFill( sumHits( "g2t_mtd_hit" ) ); + auto* table = dynamic_cast( chain->GetDataSet( "g2t_mtd_hit" ) ) ; + if (table) + for ( int i=0;iGetNRows();i++ ){ + const g2t_mtd_hit_st* hit = static_cast( table->At(i) ); + // double de = hit->de * 1.0*1000.0*1000.*1000.0; + TVector3 pos( hit->x ); + double eta = pos.Eta(); + double phi = pos.Phi() * 180.0/TMath::Pi(); + if ( phi > 180.0 ) phi -= 360.0; + hEtaPhi->Fill(eta,phi); + }; + } + + file->Write(); + delete file; + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_multi_engine_emc.C b/StRoot/StGeant4Maker/tests/unit_test_multi_engine_emc.C new file mode 100644 index 00000000000..d2b2b43ae7d --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_multi_engine_emc.C @@ -0,0 +1,230 @@ +#include "tests/unit_tests.h" + +#include "StGeant4Maker.h" +#include "TMath.h" +#include "TProfile.h" + + + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set + >>; +#endif + +std::vector sampling_fraction_vs_pt; +std::vector sampling_fraction_vs_eta; +std::vector sampling_fraction_vs_phi; + +#include +//___________________________________________________________________ +const int neta = 40; +const int nphi = 120; +const double dphi = 3.0; +const double phi0 = 0.0; // not really... + + +//___________________________________________________________________ + +// Obtain a track pointer from the given hit +template const g2t_track_st* get_track( Hit* hit ) { + int index = hit->track_p - 1; + if ( index < 0 || index > track_table->GetNRows() ) { + return 0; + } + else { + return static_cast( track_table -> At( index ) ); + } +} + +//___________________________________________________________________ +std::vector mean_, median_, min_, max_, error_of_mean_, sum_; +std::vector nhits_; +void trackLoop() { + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ) ; + + Accumulator_t edep; // Energy deposition + + std::map< int, double > edep_per_track; + + // Loop on all hits and accumulate all energy depositions + int nh = hit_table->GetNRows(); + nhits_.push_back(nh); + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + + // accumulate energy deposition + edep( hit->de ); + + // accumulate sampling fraction + auto* track = get_track( hit ); + if ( track ) { + double pt = track->pt; + double eta = track->eta; + if ( pt > 0.100 && pt < 10.0 ) { + LOG_INFO << "Accumulate track->id = " << track->id << " hit de = " << hit->de << std::endl; + edep_per_track[ track->id ] += hit->de; // running sum + } + } + + } + + // Fill histograms + for ( int i=0;iGetNRows(); i++ ) { + const g2t_track_st* track = static_cast( track_table->At(i) ); + if ( track ) { + double pt = track->pt; + double eta = track->eta; + // todo phi + double E = track->e + 1.0e-12; // prevent div by zero + LOG_INFO << "itrack=" << i << " idtruth=" << track->id << "Fill pt=" << pt << " eta=" << track->eta << " E=" << track->e << " edep=" << edep_per_track[ track->id ] << endm; + if ( pt > 0.100 && pt < 10.0 && eta > -0.95 && eta < 0.95 ) { + sampling_fraction_vs_pt.back()->Fill( pt, edep_per_track[ track->id ] / E ); + sampling_fraction_vs_eta.back()->Fill( eta, edep_per_track[ track->id ] / E ); + } + } + } + + + double _sum = boost::accumulators::sum(edep); + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + sum_.push_back(_sum); + mean_.push_back(_mean); + median_.push_back(_median); + min_.push_back(_min); + max_.push_back(_max); + error_of_mean_.push_back(_error_of_mean); + +} +//___________________________________________________________________ +void book_histograms() { + + const char* engines[] = { "geant3", "geant4" }; + assert(sampling_fraction_vs_pt.size() < sizeof(engines)/sizeof(const char*) ); + + TString base = Form( "%s_sampling_fraction_vs_", engines[ sampling_fraction_vs_pt.size() ] ); + TString title = Form( "EMC Sampling fraction [%s]", engines[ sampling_fraction_vs_pt.size() ] ); + + sampling_fraction_vs_pt.push_back ( new TProfile(base+"pt", title+";p_{T}", 50, 0., 10.0, 0.0, 1.0 ) ); + sampling_fraction_vs_eta.push_back( new TProfile(base+"eta", title+";#eta", 40, -0.95, 0.95, 0.0, 1.0 ) ); + sampling_fraction_vs_phi.push_back( new TProfile(base+"phi", title+";#phi", 60, 0., TMath::TwoPi(), 0.0, 1.0 ) ); + +} +//___________________________________________________________________ +void unit_test_multi_engine_emc( const char* part = "gamma", int ntracks = 10 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Multi-engine testing of EMC" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << Form("GEANT3 response to %i 1 GeV photons %s",ntracks,part) << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + + auto* gm = dynamic_cast( StMaker::GetChain()->GetMaker("geant4star") ); + auto* stack = gm->stack(); + + TFile* output = new TFile(Form("unit_test_multi_engine_emc_%s.root",part),"recreate"); + + gm->SetEngineForModule( "CALB", 0 ); + book_histograms(); + throw_particle(ntracks, part, 0.09995, 10.00005, -0.55, 0.55, 0., TMath::TwoPi() ); + + stack->StackDump(); + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ) ; + + auto all_primary_tracks_have_hits = [=](g2t_track_st* begin_, g2t_track_st* end_) { + + + auto ret = PASS; + + int count = 0; + for ( const auto* track=begin_; track < end_; track++ ) { + + LOG_INFO << "Track " << track->id << " pid=" << track->eg_pid << " n emc hits = " << track-> n_emc_hit << endm; + if ( track->n_emc_hit <= 0 ) { + ret = FAIL; + } + if ( ++count == ntracks ) break; + + } + return ret; + + }; + + check_track_table( "All primary tracks have hits", all_primary_tracks_have_hits ); + + + return; + + + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Multi-engine testing of EMC" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << Form("Geant 4 response to %i 1 GeV %s",ntracks,part) << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + gm->SetEngineForModule( "CALB", 1 ); + book_histograms(); + + throw_particle(ntracks, part, 0.09995, 10.00005, -0.95, 0.95, 0., TMath::TwoPi() ); + // trackLoop(); + + output->Write(); + output->Close(); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Multi-engine testing of EMC" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << Form("GEANT3 vs Geant 4 response to %i 1 GeV %s",ntracks,part) << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + LOG_TEST << Form( "energy deposition: sum = %f %f keV", sum_[0], sum_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: mean = %f %f keV", mean_[0], mean_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f %f keV", median_[0], median_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f %f keV", min_[0], min_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f %f keV", max_[0], max_[1] ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f %f keV", error_of_mean_[0], error_of_mean_[1] ) << std::endl; + LOG_TEST << Form( "number of hits: %i %i ", nhits_[0], nhits_[1] ) << std::endl; + +} + + + diff --git a/StRoot/StGeant4Maker/tests/unit_test_muons.C b/StRoot/StGeant4Maker/tests/unit_test_muons.C new file mode 100644 index 00000000000..648611dc384 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_muons.C @@ -0,0 +1,391 @@ +#include "tests/unit_tests.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +#include + +StGeant4Maker* _g4mk = 0; + +using Accumulator_t = accumulator_set +>>; + + +const double GeV = 1; +const double MeV = 1E3; +const double keV = 1E6; +const double eV = 1E9; +const std::map scale2string = { + {GeV,"GeV"}, + {MeV,"MeV"}, + {keV,"keV"}, + {eV,"eV"} +}; + +// template double energy_deposit(const T* h) { return h->de; } +// template double path_length (const T* h) { return h->ds; } +// template double deds (const T* h) { +// double de = h->de; +// double ds = h->ds; +// double deds = -999; +// if ( ds > 0 ) deds = de / ds; +// return deds; +// } + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +const int ntracks = 100; +//___________________________________________________________________ + +struct tpcTag { + static double energy_deposit(const g2t_tpc_hit_st* h){ return h->de; } + static double path_length(const g2t_tpc_hit_st* h){ return h->ds; } + static double de_ds(const g2t_tpc_hit_st* h ) { + double de = h->de; + double ds = h->ds; + double deds = -999; + if ( ds > 0 ) deds = de / ds; + return deds; + } +} tpc; // TPC hits +struct fstmTag { + static double energy_deposit(const g2t_fts_hit_st* h){ return h->de; } + static double path_length(const g2t_fts_hit_st* h){ return h->ds; } + static double de_ds(const g2t_fts_hit_st* h ) { + double de = h->de; + double ds = h->ds; + double deds = -999; + if ( ds > 0 ) deds = de / ds; + return deds; + } +} fstm; +struct stgcTag { + static double energy_deposit(const g2t_fts_hit_st* h){ return h->de; } + static double path_length(const g2t_fts_hit_st* h){ return h->ds; } + static double de_ds(const g2t_fts_hit_st* h ) { + double de = h->de; + double ds = h->ds; + double deds = -999; + if ( ds > 0 ) deds = de / ds; + return deds; + } +} stgc; + +struct bemcTag { + static double energy_deposit(const g2t_emc_hit_st* h){ return h->de; } +} bemc; // BEMC hits +struct bsmdTag { + static double energy_deposit(const g2t_emc_hit_st* h){ return h->de; } +} bsmd; // BSMD hits +struct eemcTag { + static double energy_deposit(const g2t_emc_hit_st* h){ return h->de; } +} eemc; // EEMC hits +struct esmdTag { + static double energy_deposit(const g2t_emc_hit_st* h){ return h->de; } +} esmd; // ESMD hits + +template struct HitTraits { + /* empty, this will not go well */ +}; +template<> struct HitTraits { + const std::string tableName = "g2t_tpc_hit"; + typedef g2t_tpc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_emc_hit"; + typedef g2t_emc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_smd_hit"; + typedef g2t_emc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_eem_hit"; + typedef g2t_emc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_esm_hit"; + typedef g2t_emc_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_fsi_hit"; + typedef g2t_fts_hit_st hit_type; +}; +template<> struct HitTraits { + const std::string tableName = "g2t_stg_hit"; + typedef g2t_fts_hit_st hit_type; +}; + +template +void check_hit_distribution( std::string message, Tag, + std::function::hit_type *)> stat, + std::function eval, + double scale=1.0, + std::function::hit_type *)> filt = [](const typename HitTraits::hit_type *){ return true; } + ) { + Accumulator_t acc; + HitTraits traits; + TTable* table = static_cast( _g4mk->GetDataSet(traits.tableName.c_str()) ); + for ( int irow=0; irowGetNRows();irow++ ) { + auto* hit = static_cast::hit_type *>( table->At(irow) ); + if ( filt(hit) ) { + acc( stat(hit)*scale ); + } + } + LOG_TEST << message << " " << eval(acc) << std::endl; + +} + +void unit_test_muons() { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast ( chain->GetMaker("StarKine") ); + _g4mk = dynamic_cast ( chain->GetMaker("geant4star") ); + + double minPt = 0.100; + double maxPt = 10.000; + int nbinPt = 100; + + // Throw 1k gammas at BEMC, EEMC + _kine->Kine(3000,"e+,e-",4.9999,5.0001,-0.95,+2.00); + + chain->Clear(); + chain->Make(); + + check_hit_distribution( "BEMC sampling fraction (e+,e-)", bemc, bemc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = PASS; result += "\n"; + double _count = boost::accumulators::count(acc); + double _sum = boost::accumulators::sum(acc); + double _sf = _sum / 1000.0 / 5.0; + result += Form("Sampling fraction @ 5 GeV = %f\n",_sf); + return result; + }); + + check_hit_distribution( "EEMC sampling fraction (e+,e-)", eemc, eemc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = PASS; result += "\n"; + double _count = boost::accumulators::count(acc); + double _sum = boost::accumulators::sum(acc); + double _sf = _sum / 1000.0 / 5.0; + result += Form("Sampling fraction @ 5 GeV = %f\n",_sf); + return result; + }); + + return; + + _kine->Kine(ntracks,"mu+,mu-",0.100,10.00,-2.0,5.0); + + chain->Clear(); + chain->Make(); + + check_hit_distribution( "TPC energy deposit [keV] (muons)", tpc, tpc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "TPC energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },keV); + check_hit_distribution( "TPC path length (muons)", tpc, tpc.path_length , [=](const Accumulator_t& acc){ + std::string result = "TPC path length " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "path length: mean = %f\n", _mean ); + result+= Form( "path length: median = %f\n", _median ); + result+= Form( "path length: min = %f\n", _min ); + result+= Form( "path length: max = %f\n", _max ); + result+= Form( "path length: error of mean = %f\n", _error_of_mean ); + + return result; + } ); + check_hit_distribution( "TPC dE/ds [keV/cm] (muons)", tpc, tpc.de_ds, [=](const Accumulator_t& acc){ + std::string result = "TPC dE/ds " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "de/ds: mean = %f\n", _mean ); + result+= Form( "de/ds: median = %f\n", _median ); + result+= Form( "de/ds: min = %f\n", _min ); + result+= Form( "de/ds: max = %f\n", _max ); + result+= Form( "de/ds: error of mean = %f\n", _error_of_mean ); + + return result; + }, keV, [](const g2t_tpc_hit_st* h){ return h->ds>0; }); + + check_hit_distribution( "BEMC energy deposit [MeV] (muons)", bemc, bemc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "BEMC energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },MeV); + check_hit_distribution( "EEMC energy deposit [MeV] (muons)", eemc, eemc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "EEMC energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },MeV); + + + check_hit_distribution( "FSTM energy deposit [keV] (muons)", fstm, fstm.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "FSTM energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },keV); + check_hit_distribution( "FSTM path length (muons)", fstm, fstm.path_length , [=](const Accumulator_t& acc){ + std::string result = "FSTM path length " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "path length: mean = %f\n", _mean ); + result+= Form( "path length: median = %f\n", _median ); + result+= Form( "path length: min = %f\n", _min ); + result+= Form( "path length: max = %f\n", _max ); + result+= Form( "path length: error of mean = %f\n", _error_of_mean ); + + return result; + } ); + check_hit_distribution( "FSTM dE/ds [keV/cm] (muons)", fstm, fstm.de_ds, [=](const Accumulator_t& acc){ + std::string result = "FSTM dE/ds " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "de/ds: mean = %f\n", _mean ); + result+= Form( "de/ds: median = %f\n", _median ); + result+= Form( "de/ds: min = %f\n", _min ); + result+= Form( "de/ds: max = %f\n", _max ); + result+= Form( "de/ds: error of mean = %f\n", _error_of_mean ); + + return result; + }, keV, [](const g2t_fts_hit_st* h){ return h->ds>0; }); + + check_hit_distribution( "STGC energy deposit [keV] (muons)", stgc, stgc.energy_deposit, [=](const Accumulator_t& acc){ + std::string result = "STGC energy deposition " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::median(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "energy deposition: mean = %f\n", _mean ); + result+= Form( "energy deposition: median = %f\n", _median ); + result+= Form( "energy deposition: min = %f\n", _min ); + result+= Form( "energy deposition: max = %f\n", _max ); + result+= Form( "energy deposition: error of mean = %f\n", _error_of_mean ); + + return result; + },keV); + check_hit_distribution( "STGC path length (muons)", stgc, stgc.path_length , [=](const Accumulator_t& acc){ + std::string result = "STGC path length " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "path length: mean = %f\n", _mean ); + result+= Form( "path length: median = %f\n", _median ); + result+= Form( "path length: min = %f\n", _min ); + result+= Form( "path length: max = %f\n", _max ); + result+= Form( "path length: error of mean = %f\n", _error_of_mean ); + + return result; + } ); + check_hit_distribution( "STGC dE/ds [keV/cm] (muons)", stgc, stgc.de_ds, [=](const Accumulator_t& acc){ + std::string result = "STGC dE/ds " + PASS; result += "\n"; + double _mean = boost::accumulators::mean(acc); + double _median = boost::accumulators::mean(acc); + double _min = boost::accumulators::min( acc ); + double _max = boost::accumulators::max( acc ); + double _error_of_mean = boost::accumulators::error_of(acc); + + result+= Form( "de/ds: mean = %f\n", _mean ); + result+= Form( "de/ds: median = %f\n", _median ); + result+= Form( "de/ds: min = %f\n", _min ); + result+= Form( "de/ds: max = %f\n", _max ); + result+= Form( "de/ds: error of mean = %f\n", _error_of_mean ); + + return result; + }, keV, [](const g2t_fts_hit_st* h){ return h->ds>0; }); + + chain->Clear(); + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_single_engine_emc.C b/StRoot/StGeant4Maker/tests/unit_test_single_engine_emc.C new file mode 100644 index 00000000000..afe25744997 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_single_engine_emc.C @@ -0,0 +1,191 @@ +#include "tests/unit_tests.h" + +#include "StGeant4Maker.h" +#include "TMath.h" +#include "TProfile.h" + + + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set + >>; +#endif + +std::vector sampling_fraction_vs_pt; +std::vector sampling_fraction_vs_eta; +std::vector sampling_fraction_vs_phi; + +#include +//___________________________________________________________________ +const int neta = 40; +const int nphi = 120; +const double dphi = 3.0; +const double phi0 = 0.0; // not really... + + +//___________________________________________________________________ + +// Obtain a track pointer from the given hit +template const g2t_track_st* get_track( Hit* hit ) { + int index = hit->track_p - 1; + if ( index < 0 || index > track_table->GetNRows() ) { + return 0; + } + else { + return static_cast( track_table -> At( index ) ); + } +} + +//___________________________________________________________________ +std::vector mean_, median_, min_, max_, error_of_mean_, sum_; +std::vector nhits_; +void trackLoop() { + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ) ; + + Accumulator_t edep; // Energy deposition + + std::map< int, double > edep_per_track; + + // Loop on all hits and accumulate all energy depositions + int nh = hit_table->GetNRows(); + nhits_.push_back(nh); + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + + // accumulate energy deposition + edep( hit->de ); + + // accumulate sampling fraction + auto* track = get_track( hit ); + if ( track ) { + double pt = track->pt; + double eta = track->eta; + if ( pt > 0.100 && pt < 10.0 ) { + LOG_INFO << "Accumulate track->id = " << track->id << " hit de = " << hit->de << std::endl; + edep_per_track[ track->id ] += hit->de; // running sum + } + } + + } + + // Fill histograms + for ( int i=0;iGetNRows(); i++ ) { + const g2t_track_st* track = static_cast( track_table->At(i) ); + if ( track ) { + double pt = track->pt; + double eta = track->eta; + // todo phi + double E = track->e + 1.0e-12; // prevent div by zero + LOG_INFO << "itrack=" << i << " idtruth=" << track->id << "Fill pt=" << pt << " eta=" << track->eta << " E=" << track->e << " edep=" << edep_per_track[ track->id ] << endl; + if ( pt > 0.100 && pt < 10.0 && eta > -0.95 && eta < 0.95 ) { + sampling_fraction_vs_pt.back()->Fill( pt, edep_per_track[ track->id ] / E ); + sampling_fraction_vs_eta.back()->Fill( eta, edep_per_track[ track->id ] / E ); + } + } + } + + + double _sum = boost::accumulators::sum(edep); + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + sum_.push_back(_sum); + mean_.push_back(_mean); + median_.push_back(_median); + min_.push_back(_min); + max_.push_back(_max); + error_of_mean_.push_back(_error_of_mean); + +} +//___________________________________________________________________ +void book_histograms() { + + const char* engines[] = { "geant3", "geant4" }; + assert(sampling_fraction_vs_pt.size() < sizeof(engines)/sizeof(const char*) ); + + TString base = Form( "%s_sampling_fraction_vs_", engines[ sampling_fraction_vs_pt.size() ] ); + TString title = Form( "EMC Sampling fraction [%s]", engines[ sampling_fraction_vs_pt.size() ] ); + + sampling_fraction_vs_pt.push_back ( new TProfile(base+"pt", title+";p_{T}", 50, 0., 10.0, 0.0, 1.0 ) ); + sampling_fraction_vs_eta.push_back( new TProfile(base+"eta", title+";#eta", 40, -0.95, 0.95, 0.0, 1.0 ) ); + sampling_fraction_vs_phi.push_back( new TProfile(base+"phi", title+";#phi", 60, 0., TMath::TwoPi(), 0.0, 1.0 ) ); + +} +//___________________________________________________________________ +void unit_test_single_engine_emc( const char* part = "mu+", int ntracks = 10 ) { + + gROOT->ProcessLine("initChain();"); + + TString engineName; + if ( hasRuntimeArg("application:engine=G3") ) engineName = "GEANT3 "; + if ( hasRuntimeArg("application:engine=G4") ) engineName = "Geant 4 "; + std::cout << "Engine name = " << engineName.Data() << endl; + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Single-engine testing of EMC" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << Form("GEANT3 response to %i 1 GeV photons %s",ntracks,part) << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + + auto* gm = dynamic_cast( StMaker::GetChain()->GetMaker("geant4star") ); + + throw_particle(ntracks, part, 0.09995, 10.00005, -0.95, 0.95, 0., TMath::TwoPi() ); + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ) ; + + auto all_primary_tracks_have_hits = [=](g2t_track_st* begin_, g2t_track_st* end_) { + + int count = 0; + int hits = 0; + for ( const auto* track=begin_; track < end_; track++ ) { + + if ( track->n_emc_hit ) hits++; + if ( ++count == ntracks ) break; + + } + return (hits == count) ? PASS : FAIL; + + }; + + check_track_table( "All primary tracks have hits", all_primary_tracks_have_hits ); + + return; + +} + + + diff --git a/StRoot/StGeant4Maker/tests/unit_test_stg_hits.C b/StRoot/StGeant4Maker/tests/unit_test_stg_hits.C new file mode 100644 index 00000000000..7fa7012496a --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_stg_hits.C @@ -0,0 +1,190 @@ +#include "tests/unit_tests.h" +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ +//void throw_muon_in_stg_wedge( int wedgeid, int inout, int charge = 1 ) { +void throw_muon_in_stg_wedge( double eta, double phid ) { + + // TODO... + //double eta = 2.8; + _eta=eta; + //double phid = 15.0; + _phid=phid; + + throw_muon( eta, phid, 5.0, 1 ); // energetic + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ) ; + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ) ; + hit_table = dynamic_cast( chain->GetDataSet("g2t_stg_hit") ) ; + +} +//___________________________________________________________________ +void unit_test_stg_hits() { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and sTGC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + double etas[] = { 2.75, 3.25, 3.75 }; + double phis[] = { 15.0, 45.0, 75.0, 105.0, 135.0, 165.0, 195.0, 225.0, 255.0, 285.0, 315.0, 345.0 }; + + for ( auto e : etas ) { + for ( auto p : phis ) { + + throw_muon_in_stg_wedge( e, p ); + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + // Failure is tested by check_track when it tests for a valid track pointer + return PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the FST", [=](const g2t_track_st* t){ + std::string result = TODO; + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 4 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_stg_hit; + std::string result = FAIL; + if ( n==4 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + for ( int i=0;iGetNRows();i++ ) { + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + check_stg_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have an energy deposit > 0",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->de > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have a path length > 0",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_stg_hit( "The hit should have a nonzero momentum",hit,[=](const g2t_fts_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + // check_stg_hit( "The volume ID should be in 1..48",hit,[=](const g2t_fts_hit_st* h) { + // std::string result=PASS; + // if ( h->volume_id<1||h->volume_id>48 ) result=FAIL; + // result = Form(" volume_id = %i ",h->volume_id) + result; + // return result; + // }); + check_stg_hit( "Track's momentum at hit should be < initial value",hit, [=](const g2t_fts_hit_st* h){ + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + check_stg_hit( "Hit position should be w/in the fiducial volume of the station",hit,[=](const g2t_fts_hit_st* h){ + // TODO + return TODO; + }); + check_stg_hit( "The hit position and tof*c agree to w/in 0.15 mm ", hit,[=](const g2t_fts_hit_st* h) { + // There should be some tolerance on this, b/c of roundoff error at each tracking step + std::string result = FAIL; + double c_tof = 2.99792458E10 /* cm/s */ * h->tof; + double s_trk = + sqrt( h->x[0]*h->x[0] + + h->x[1]*h->x[1] + + h->x[2]*h->x[2] ); + double diff = TMath::Abs(c_tof-s_trk); + if ( diff < 0.015 ) result = PASS; + result = Form("c_tof=%f cm strack=%f cm diff=%f cm ",c_tof,s_trk,diff) + result; + return result; + }); + check_stg_hit( "The station should decode as 1..4",hit,[=](const g2t_fts_hit_st* h) { + std::string result=FAIL; + int station = h->volume_id / 10; + if ( station>=1 && station<=4 ) result=PASS; + result = Form(" volume_id=%i ",h->volume_id) + result; + return result; + }); + check_stg_hit( "The chamber should decode as 1..4",hit,[=](const g2t_fts_hit_st* h) { + std::string result=FAIL; + int chamber = h->volume_id % 10; + if ( chamber>=1 && chamber<=4 ) result=PASS; + result = Form(" volume_id=%i ",h->volume_id) + result; + return result; + }); + } + + } + } + +} diff --git a/StRoot/StGeant4Maker/tests/unit_test_tdm_truth.C b/StRoot/StGeant4Maker/tests/unit_test_tdm_truth.C new file mode 100644 index 00000000000..19d6d5b8b4e --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_tdm_truth.C @@ -0,0 +1,309 @@ +#include "tests/unit_tests.h" +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ + +std::map idIsNotUnique; +int expectedId = 0; + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +struct Track_t { + double pt; + double phi; + double x0; + double y0; + double z0; +}; + +void unit_test_tdm_truth() { + + gROOT->ProcessLine("initChain();"); + + Accumulator_t edep; // Energy deposition + Accumulator_t time; // Time per throw + + auto* chain = StMaker::GetChain(); + auto* kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* pm = dynamic_cast( chain->GetMaker("PrimaryMaker") ); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks " << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + timer.Start(); + + + + std::vector input_tracks = { + { 1.0, 90.0, 0.0, 0.0, -90.0 }, + { 2.0, 90.0, 0.0, 0.0, -70.0 }, + { 3.0, 90.0, 0.0, 0.0, -50.0 }, + { 4.0, 90.0, 0.0, 0.0, -30.0 }, + { 5.0, 90.0, 0.0, 0.0, -10.0 }, + { 6.0, 90.0, 0.0, 0.0, 10.0 }, + { 7.0, 90.0, 0.0, 0.0, 30.0 }, + { 8.0, 90.0, 0.0, 0.0, 50.0 }, + { 9.0, 90.0, 0.0, 0.0, 70.0 }, + { 10., 90.0, 0.0, 0.0, 90.0 } + }; + + for ( auto t : input_tracks ) { + + pm->SetVertex( t.x0, t.y0, t.z0 ); + auto* part = kine->AddParticle("e+"); + + double px = t.pt * TMath::Cos( t.phi * TMath::Pi()/180.0 ); // required eta=0 for now + double py = t.pt * TMath::Sin( t.phi * TMath::Pi()/180.0 ); + double pz = 0.0; + + part->SetPx(px); + part->SetPy(py); + part->SetPz(pz); + + double mass = part->GetMass(); assert(mass>0); + double energy = TMath::Sqrt(px*px+py*py+mass*mass+pz*pz); + + part->SetEnergy( energy ); + + } + + chain->Clear(); + chain->Make(); + + timer.Stop(); + + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + auto emc_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ); // EMC hits + auto tpc_table = dynamic_cast( chain->GetDataSet("g2t_tpc_hit") ); // TPC hits + + // TRACK VALIDATION + // for ( int idx=0;idxGetNRows();idx++ ) + for ( int idx=0;idx<10;idx++ ) { + + check_track( "A particle must have been processed by geant", [=](const g2t_track_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = Form("particle id = %i",t->eg_pid); + return result + PASS; + }, idx); + check_track( "The track has a unique ID", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_track( "The track IDs are in numerical order", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }, idx); + + + if ( idxeg_pid; + if ( pdgid == -11 ) result = PASS; + return result; + }, idx); + } + + if ( idxstart_vertex_p; + if ( idv>0 ) { + auto vertex = static_cast( vertex_table->At(idv-1) ); + auto x = vertex->ge_x[0]; + auto y = vertex->ge_x[1]; + auto r = TMath::Sqrt(x*x+y*y); + if ( r<0.01 ) result = PASS; + } + return result; + }, idx); + } + + if ( idxid; + if ( t->id==idx+1) result = PASS; + return result; + }, idx); + } + + if ( idxid; + if ( t->id==int(t->pt) ) result = PASS; + return result; + }, idx); + } + + if ( idxn_tpc_hit==int(76) ) result = PASS; + return result; + }, idx); + } + + if ( idxn_emc_hit ) result = PASS; + return result; + }, idx); + } + + check_track( "... does the track have a stop vertex?", [=](const g2t_track_st* t){ + return (t->stop_vertex_p>0)?YES:NOPE; + }, idx); + + + // check_track( "The track should have a stop vertex", [=](const g2t_track_st* t){ + // return (t->stop_vertex_p>0)?PASS:FAIL; + // }, idx); + // check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + // std::string result = FAIL; + // int istart = t->start_vertex_p; + // const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + // if ( vertex ) { + // result = PASS; + // std::cout << *vertex << std::endl; + // } + // return result; + // }, idx); + // check_track( "The stop vertex should be in the vertex table", [=](const g2t_track_st* t){ + // std::string result = FAIL; + // int istart = t->stop_vertex_p; + // const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + // if ( vertex ) { + // result = PASS; + // std::cout << *vertex << std::endl; + // } + // return result; + // }, idx); + // check_track( "The id of the START vertex is nonzero", [=](const g2t_track_st* t){ + // std::string result = FAIL; + // int istart = t->start_vertex_p; + // if ( istart > 0 ) result = PASS; + // return result; + // }, idx); + // check_track( "The START vertex records a valid medium", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istart = t->start_vertex_p; + // const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + // if ( vertex ) { + // if ( vertex->ge_medium>0 ) result = PASS; + // } + // return result; + + // }, idx); + // check_track( "The START vertex records a valid process", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istart = t->start_vertex_p; + // const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + // if ( vertex ) { + // // vertex_table->Print(istart-1,1); + // result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + // if ( vertex->ge_proc >= 0 && vertex->ge_proc < 44 && vertex->ge_proc!=kPStop ) result += PASS; + // else result += FAIL; + // } + // else + // result = Form("No start vertex on track") + result; + + // return result; + // }, idx); + // check_track( "The id of the START vertex is less than the id of the STOP vertex", [=](const g2t_track_st* t){ + // std::string result = FAIL; + // int istart = t->start_vertex_p; + // int istop = t->stop_vertex_p; + // if ( istart > 0 && istop > istart ) result = PASS; + // if ( istart == istop ) result = TODO; + // return Form("(start=%i stop=%i)",istart,istop) + result; + // }, idx); + // check_track( "The STOP vertex records a valid medium", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istop = t->stop_vertex_p; + // const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + // if ( vertex ) { + // if ( vertex->ge_medium>0 ) result = PASS; + // } + // return result; + + // }, idx); + // check_track( "The STOP vertex records a valid process", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istop = t->stop_vertex_p; + // const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + // if ( vertex ) { + // result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + // if ( vertex->ge_proc > 0 && vertex->ge_proc < 44 ) result += PASS; + // else result += FAIL; + // } + // else + // result = Form("No stop vertex on track") + result; + + // return result; + // }, idx); + // check_track( "The STOP vertex parent track is this track", [=](const g2t_track_st* t){ + // auto result = FAIL; + // int istop = t->stop_vertex_p; + // const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + // if ( vertex ) { + // int iparent = vertex->parent_p; + // result = Form(" track id=%i vertex parent id=%i", t->id, vertex->parent_p ); + // if ( vertex->parent_p == t->id ) result += PASS; + // else result += FAIL; + // } + // else + // result = Form("No stop vertex on track") + result; + + // return result; + // }, idx); + + + } + + // Print the track list + // track_table->Print(0, track_table->GetNRows()); + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_tpc_hits.C b/StRoot/StGeant4Maker/tests/unit_test_tpc_hits.C new file mode 100644 index 00000000000..4aa4a64975b --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_tpc_hits.C @@ -0,0 +1,427 @@ +#include "tests/unit_tests.h" +#include + +// TODO: Implement test of prompt-hits + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +#include + + + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +void throw_muon_in_tpc_sector( int sectorid, int charge = 1 ) { + assert(sectorid>0 && sectorid <= 24); + const double sectors[] = { + 60.0, 30.0, 0.0, 330.0, 300.0, 270., 240.0, 210.0, 180.0, 150.0, 120.0, 90.0, + 120.0, 150.0, 180.0, 210.0, 240.0, 270.0, 300.0, 330.0, 0.0, 30.0, 60.0, 90.0 + }; + double eta = (sectorid<=12) ? 0.5 : -0.5; + _eta = eta; + double phid = sectors[sectorid-1]; + _phid = phid; + throw_muon( eta, phid, 500.0, charge ); // energetic + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_tpc_hit") ) ; + + auto* gm = dynamic_cast( StMaker::GetChain()->GetMaker("geant4star") ); + // auto* stack = gm->stack(); + // stack->StackDump(); + + assert(vertex_table); + +} +//______________________________________________________________________ +void unit_test_tpc_hits( int longtest=0 ) { + + gROOT->ProcessLine("initChain();"); + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + // Setup post stepping debug output + auto* gm = dynamic_cast( StMaker::GetChain()->GetMaker("geant4star") ); + auto* stack = gm->stack(); + + if (0) + gm->AddUserPostSteppingAction( [stack]() { + auto* nav = gGeoManager->GetCurrentNavigator(); + auto* mc = TVirtualMC::GetMC(); + const double *xyz = nav->GetCurrentPoint(); + std::string path = nav->GetPath(); + LOG_INFO << "Post step _________________________________________________________________" << endm; + LOG_INFO << "step number = " << mc->StepNumber() << endm; + LOG_INFO << "n secondaries = " << mc->NSecondaries() << endm; + LOG_INFO << "track is alive = " << mc->IsTrackAlive() << endm; + mc->Print(); + LOG_INFO << "x=" << xyz[0] << " y= " << xyz[1] << " z=" << xyz[2] << " " << path.c_str() << endm; + int current = stack->GetCurrentTrackNumber(); + LOG_INFO << "Current track = " << current << endm; + LOG_INFO << "Persistent track @ " << stack->GetCurrentPersistentTrack() << endm; + stack->StackDump(current); + }); + + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks and TPC hits on single muons" << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + Accumulator_t edep; // Energy deposition + Accumulator_t step; // Step size + Accumulator_t time; // Time per throw + + for ( int sector=1; sector<=24; sector++ ) { + + timer.Start(); + throw_muon_in_tpc_sector( sector ); + time( timer.CpuTime() ); + timer.Reset(); + + + LOG_TEST << "======================================================================================" << std::endl; + LOG_TEST << GIVEN << "A muon thrown down the center of TPC sector " << sector << std::endl; + + check_track( "A muon must have been processed by geant", [=](const g2t_track_st* t){ + std::string result = Form("sector=%i ", sector); + return result+PASS; + }); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + } + return result; + }); + check_track( "There should not be a stop vertex in the TPC", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* v = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( 0==v ) + result = PASS; + else { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 208.0 || xx2 > 208.0 ) + result = PASS; + result = Form(" r=%f ",TMath::Max(xx1,xx2)) + result; + } + return result; + }); + check_track( "The start vertex should be on the z-axis", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + + const g2t_vertex_st* v = 0; + if ( istart > 0 ) + v = static_cast( vertex_table->At(istart-1) ); + else + result = " no vertex in table " + result; + + if ( v ) { + double x1 = v->eg_x[0]; + double y1 = v->eg_x[1]; + double z1 = v->eg_x[2]; + double x2 = v->ge_x[0]; + double y2 = v->ge_x[1]; + double z2 = v->ge_x[2]; + double xx1 = sqrt(x1*x1+y1*y1); // event generator + double xx2 = sqrt(x2*x2+y2*y2); // geant vertex + if ( xx1 > 0.0001 ) { + result = Form(" EG: %f %f %f ",x1,y1,z1) + result; + } + if ( xx2 > 0.0001 ) { + result = Form(" GE: %f %f %f ",x2,y2,z2) + result; + } + if ( xx1 < 0.0001 && xx2 < 0.0001 ) { + result = PASS; + } + } + + return result; + }); + check_track( "The track should be primary", [=](const g2t_track_st* t){ + std::string result = PASS; + if ( t->eta ==-999 ) result = FAIL; + return result; + }); + check_track( Form("The track should have an eta=%f",_eta), [=](const g2t_track_st* t){ + double delta = TMath::Abs(t->eta-_eta); + return TMath::Abs(t->eta-_eta)<1E-5 ?PASS:FAIL; + }); + check_track( "Expect 76 hits in the dev2021 geometry", [=](const g2t_track_st* t){ + int n = t->n_tpc_hit; + std::string result = FAIL; + if ( n==76 ) result = PASS; + result = Form(" n=%i ",n) + result; + return result; + }); + + + + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + if ( 1!=hit->track_p ) continue; // not interested in secondaries + + LOG_TEST << "------------------------------------------------------------------" << std::endl; + LOG_TEST << GIVEN << "A hit on that track" << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + // check_tpc_hit( "Print the hit...", hit, [=](const g2t_tpc_hit_st* h) { + // LOG_TEST << "id=" << h->id + // << " track_p=" << h->track_p + // << " volume_id=" << h->volume_id + // << " x=" << h->x[0] + // << " y=" << h->x[1] + // << " z=" << h->x[2] + // << std::endl; + // return PASS; + // }); + check_tpc_hit( "The hit should have a nonzero volume_id",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->volume_id > 0 ) result = PASS; + result = Form("id=%i vid=%i de=%f ds=%f ",h->id,h->volume_id,h->de,h->ds) + result; + return result; + }); + check_tpc_hit( "The hit should have an energy deposit > 0",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = NADA; // undetermined + double ds = h->ds; + if ( ds > 1.0 && h->de > 0 ) result = PASS; + else if ( ds > 1.0 && h->de <=0 ) result = FAIL; + return result; + }); + check_tpc_hit( "The hit should have a path length > 0",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->ds > 0 ) result = PASS; + return result; + }); + check_tpc_hit( "The hit should have a nonzero momentum",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->p[0] != 0 ) result = PASS; + if ( h->p[1] != 0 ) result = PASS; + if ( h->p[2] != 0 ) result = PASS; + return result; + }); + check_tpc_hit( "The hit should have a nonzero log10(gamma)",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->lgam != 0 ) result = PASS; + result = Form(" lgam=%f (needs to be filled) ",h->lgam ) + result; + return result; + }); + check_tpc_hit( "The hit should have a length > 0",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + if ( h->length > 0 ) result = PASS; + return result; + }); + check_tpc_hit( "The hit should have adc, pad and timebucket set to zero",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = PASS; + if ( h->adc > 0 ) result = FAIL; + if ( h->pad > 0 ) result = FAIL; + if ( h->timebucket > 0 ) result = FAIL; + return result; + }); + check_tpc_hit( "Track's momentum at hit should be < initial value",hit, [=](const g2t_tpc_hit_st* h){ + std::string result = FAIL; + double px = h->p[0]; + double py = h->p[1]; + double pz = h->p[2]; + double p2 = px*px + py*py + pz*pz; + if ( p2 < _pmom*_pmom ) result = PASS; + return result; + }); + check_tpc_hit( "Hit position should be w/in the fiducial volume of the sector",hit,[=](const g2t_tpc_hit_st* h){ + double x = h->x[0]; + double y = h->x[1]; + double z = h->x[2]; + TVector3 hitpos( x, y, z ); + int rotator = (sector>12)? 12-sector : sector-12; + double rotatord = (double) rotator; + hitpos.RotateZ( rotatord * TMath::Pi() / 6.0 ); + bool isInSectorPhi = TMath::Abs(hitpos.Phi() - TMath::Pi()/2.0) < TMath::Pi()/12.0; + bool isInSectorR = TMath::Abs(hitpos.Perp() -124.0) < 76.0; + bool isInSector = isInSectorPhi && isInSectorR; + std::string result = Form("(%f %f %f / in phi=%i r=%i",x,y,z,isInSectorPhi,isInSectorR); + result += ( isInSector ) ? PASS : FAIL; + return result; + }); + check_tpc_hit( "The padrow should be 1 <= pad <= 72",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = PASS; + int padrow = h->volume_id % 100; + if ( padrow<1 || padrow > 72 ) result=FAIL; + return result; + }); + check_tpc_hit( "The sector should be 1 <= sector <= 24",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = PASS; + int sector = ( h->volume_id / 100 ) % 1000; + if ( sector<1 || sector>24 ) result=FAIL; + return result; + }); + check_tpc_hit( "The detector state is in (0,1,2)",hit,[=](const g2t_tpc_hit_st* h) { + std::string result = PASS; + int det = h->volume_id/100000; + if ( det<0||det>2 ) result = FAIL; + return result; + }); + check_tpc_hit( Form("The decoded sector number should be %i",sector),hit,[=](const g2t_tpc_hit_st* h) { + std::string result = FAIL; + int _sector = ( h->volume_id / 100 ) % 1000; + if ( sector == _sector ) result = PASS; + result = Form(" sector=%i",_sector ) + result; + return result; + }); + } + + } + + std::cout << std::endl << std::endl; + + // Print out energy deposition + { + + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + // Print out time per track + { + + double _mean = boost::accumulators::mean(time); + double _median = boost::accumulators::median(time); + double _min = boost::accumulators::min(time); + double _max = boost::accumulators::max(time); + double _error_of_mean = boost::accumulators::error_of(time); + LOG_TEST << Form( "time / muon: mean = %f s", _mean ) << std::endl; + LOG_TEST << Form( "time / muon: median = %f s", _median ) << std::endl; + LOG_TEST << Form( "time / muon: min = %f s", _min ) << std::endl; + LOG_TEST << Form( "time / muon: max = %f s", _max ) << std::endl; + LOG_TEST << Form( "time / muon: error of mean = %f s", _error_of_mean ) << std::endl; + + } + + // Reset accumulators + edep = step = time = {}; + + if ( longtest > 0 ) { + + std::cout << "-/ running long test with N pi+/pi- =" << longtest << " /-" << std::endl; + + throw_particle( longtest, "pi+,pi-", 0.200, 20.0, -1.0, 1.0, 0.0, TMath::TwoPi() ); + + auto* chain = StMaker::GetChain(); + hit_table = dynamic_cast( chain->GetDataSet("g2t_tpc_hit") ) ; + + // Accumulate + for ( int i=0;iGetNRows();i++ ) { + + auto hit = static_cast( hit_table->At(i) ); + if ( 0==hit ) continue; // skip null entries + // std::cout << *hit << std::endl; + + edep( TMath::Abs(hit->de) * 1E6 ); // GeV MeV keV + step( hit->ds ); + + } + + // Print out energy deposition + { + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "energy deposition: mean = %f keV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f keV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f keV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f keV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f keV", _error_of_mean ) << std::endl; + + } + + // Print out step sizes + { + + double _mean = boost::accumulators::mean(step); + double _median = boost::accumulators::median(step); + double _min = boost::accumulators::min(step); + double _max = boost::accumulators::max(step); + double _error_of_mean = boost::accumulators::error_of(step); + LOG_TEST << Form( "step size: mean = %f cm", _mean ) << std::endl; + LOG_TEST << Form( "step size: median = %f cm", _median ) << std::endl; + LOG_TEST << Form( "step size: min = %f cm", _min ) << std::endl; + LOG_TEST << Form( "step size: max = %f cm", _max ) << std::endl; + LOG_TEST << Form( "step size: error of mean = %f cm", _error_of_mean ) << std::endl; + + } + + } + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C new file mode 100644 index 00000000000..275e8f5c0b3 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C @@ -0,0 +1,309 @@ +#include "tests/unit_tests.h" +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ + +std::map idIsNotUnique; +int expectedId = 0; + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +void unit_test_track_data_model() { + + gROOT->ProcessLine("initChain();"); + + Accumulator_t edep; // Energy deposition + Accumulator_t time; // Time per throw + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks " << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + timer.Start(); + + // // Generate 10 e+ + // for ( int i=0;i<9;i++ ) + // add_particle( "e+", 0.4251, 3.1415/4, 10.0 ); + throw_particle( "e+", 0.4251, 3.1415/4, 10.0 ); + + //throw_particle( "mu+", 0.4251, 3.1415/4, 10.0 ); + + timer.Stop(); + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ); + + // TRACK VALIDATION + for ( int idx=0;idxGetNRows();idx++ ) { + + check_track( "A particle must have been processed by geant", [=](const g2t_track_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = Form("particle id = %i",t->eg_pid); + return result + PASS; + }, idx); + check_track( "The track has a unique ID", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_track( "The track IDs are in numerical order", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }, idx); + check_track( "The track should have a stop vertex", [=](const g2t_track_st* t){ + return (t->stop_vertex_p>0)?PASS:FAIL; + }, idx); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + std::cout << *vertex << std::endl; + } + return result; + }, idx); + check_track( "The stop vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + std::cout << *vertex << std::endl; + } + return result; + }, idx); + check_track( "The id of the START vertex is nonzero", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + if ( istart > 0 ) result = PASS; + return result; + }, idx); + check_track( "The START vertex records a valid medium", [=](const g2t_track_st* t){ + auto result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_medium>0 ) result = PASS; + } + return result; + + }, idx); + check_track( "The START vertex records a valid process", [=](const g2t_track_st* t){ + auto result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + // vertex_table->Print(istart-1,1); + result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + if ( vertex->ge_proc >= 0 && vertex->ge_proc < 44 && vertex->ge_proc!=kPStop ) result += PASS; + else result += FAIL; + } + else + result = Form("No start vertex on track") + result; + + return result; + }, idx); + check_track( "The id of the START vertex is less than the id of the STOP vertex", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + int istop = t->stop_vertex_p; + if ( istart > 0 && istop > istart ) result = PASS; + if ( istart == istop ) result = TODO; + return Form("(start=%i stop=%i)",istart,istop) + result; + }, idx); + check_track( "The STOP vertex records a valid medium", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_medium>0 ) result = PASS; + } + return result; + + }, idx); + check_track( "The STOP vertex records a valid process", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + if ( vertex->ge_proc > 0 && vertex->ge_proc < 44 ) result += PASS; + else result += FAIL; + } + else + result = Form("No stop vertex on track") + result; + + return result; + }, idx); + check_track( "The STOP vertex parent track is this track", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + int iparent = vertex->parent_p; + result = Form(" track id=%i vertex parent id=%i", t->id, vertex->parent_p ); + if ( vertex->parent_p == t->id ) result += PASS; + else result += FAIL; + } + else + result = Form("No stop vertex on track") + result; + + return result; + }, idx); + + + } + + expectedId=0; + idIsNotUnique.clear(); + // VERTEX VALIDATION + for ( int idx=0;idxGetNRows();idx++ ) { + check_vertex( "A vertex must have been processed by geant", [=](const g2t_vertex_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = PASS; + return result; + }, idx); + check_vertex( "Is this vertex intermediate?", [=](const g2t_vertex_st* v){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + return (v->is_itrmd)? YES : NOPE; + }, idx); + check_vertex( "The vertex has a unique ID", [=](const g2t_vertex_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_vertex( "The vertex IDs are in numerical order", [=](const g2t_vertex_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + check_vertex( "Primary vertex has no parents, all others do", [=](const g2t_vertex_st* v){ + std::string result; + int np = v->n_parent; + if (v->id==1) { + result = Form("primary vertex: nparent=%i ",np); + result += (np==0) ? PASS : FAIL; + } + else { + result = Form("secondary vertex: nparent=%i ",np); + result += (np==1) ? PASS : FAIL; + } + return result; + }, idx); + check_vertex( "Vertex parent track stops on this vertex if not intermediate", [=](const g2t_vertex_st* v){ + std::string result; + int np = v->n_parent; + if (v->id==1) { + result = Form("primary vertex: nparent=%i ",np); + result += (np==0) ? PASS : FAIL; + } + else { + int itrack=v->parent_p; + const g2t_track_st* track = static_cast(track_table->At(itrack-1)); + int idvert=v->id; + int idstop= (track)? track->stop_vertex_p : -1; + int isint = v->is_itrmd; + if ( isint==0 ) + result += ( idvert==idstop )? PASS : FAIL; + else + result += PASS; + } + return result; + }, idx); + check_vertex( "Intermediate vertex must have daughter tracks", [=](const g2t_vertex_st* v){ + std::string result = NADA; + if ( v->is_itrmd ) { + result = Form("(n daughter=%i proc=%i %s) ", v->n_daughter, v->ge_proc, TMCProcessName[v->ge_proc] ); + if ( v->n_daughter>0 ) result += PASS; + else { + result += FAIL; + // std::cout << *v << std::endl; + } + } + return result; + }, idx); + + + } + + // Hit accumulation + for ( int idx=0;idxGetNRows();idx++ ) { + auto hit = static_cast( hit_table->At(idx) ); + if ( 0==hit ) continue; + edep( hit->de * 1000 ); + // std::cout << "hit dE=" << hit->de << " volume_id=" << hit->volume_id << std::endl; + std::cout << *hit << std::endl; + } + + // Print out energy deposition + { + + int _count = boost::accumulators::count(edep); + double _sum = boost::accumulators::sum(edep); + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "number of hits = %i", _count) << std::endl; + LOG_TEST << Form( "energy deposition: sum = %f MeV", _sum ) << std::endl; + LOG_TEST << Form( "energy deposition: mean = %f MeV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f MeV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f MeV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f MeV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f MeV", _error_of_mean ) << std::endl; + + } + + // Print the track list + track_table->Print(0, track_table->GetNRows()); + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_test_track_data_model_ntrack.C b/StRoot/StGeant4Maker/tests/unit_test_track_data_model_ntrack.C new file mode 100644 index 00000000000..2ac3d3aaa53 --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_test_track_data_model_ntrack.C @@ -0,0 +1,361 @@ +#include "tests/unit_tests.h" +#include + +//___________________________________________________________________ +double _eta = 0; +double _phid = 0; +//___________________________________________________________________ + +std::map idIsNotUnique; +int expectedId = 0; + +#ifndef __CINT__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace boost::accumulators; + +using Accumulator_t = accumulator_set +>>; +#endif + +void unit_test_track_data_model_ntrack() { + + gROOT->ProcessLine("initChain();"); + + Accumulator_t edep; // Energy deposition + Accumulator_t time; // Time per throw + + auto* pm = dynamic_cast( StMaker::GetChain()->GetMaker("PrimaryMaker") ); + pm->SetVertex(0.,0.,0.); + pm->SetSigma(0.0,0.,0.); + + LOG_TEST << "=======================================================" << std::endl; + LOG_TEST << "Unit testing of tracks " << std::endl; + LOG_TEST << "=======================================================" << std::endl; + + timer.Start(); + + int _ntrack = 500; + double _pt = 10.0; + // for ( int i=1;i<_ntrack;i++ ) + // add_particle( "mu+", 0.4251, 3.1415/4*(1.0+0.8*double(i)), _pt ); + // throw_particle( "mu+", 0.4251, 3.1415/4, _pt ); + throw_particle( _ntrack, "mu+", 0.1, 10.0, -0.95, 0.95, 0.0, TMath::TwoPi() ); + timer.Stop(); + + auto* chain = StMaker::GetChain(); + vertex_table = dynamic_cast( chain->GetDataSet("g2t_vertex") ); + track_table = dynamic_cast( chain->GetDataSet("g2t_track") ); + hit_table = dynamic_cast( chain->GetDataSet("g2t_emc_hit") ); + + // Track table validation + check_track_table( Form("The first %i tracks should be primary muons",_ntrack), [=](g2t_track_st* begin_, g2t_track_st* end_) { + std::string result = PASS; + g2t_track_st* track = begin_; + for ( int i=0;i<_ntrack;i++ ) { + if ( track->eg_pid != -13 ) result = FAIL; + track++; + } + return result; + }); + check_track_table( Form("The first %i tracks should have 0.1 < pT < 10.0 GeV",_ntrack), [=](g2t_track_st* begin_, g2t_track_st* end_) { + std::string result = PASS; + g2t_track_st* track = begin_; + for ( int i=0;i<_ntrack;i++ ) { + //if ( TMath::Abs(track->pt - _pt) > 0.001*_pt ) result = FAIL; + if ( track->pt<0.1 || track->pt>10.0 ) result = FAIL; + track++; + } + return result; + }); + check_track_table( "80% of primary tracks should have >= 70 TPC hits", [=](g2t_track_st* begin_, g2t_track_st* end_) { + std::string result = PASS; + g2t_track_st* track = begin_; + std::vector nh; + double fail=0; + for ( int i=0;i<_ntrack;i++ ) { + if ( track->n_tpc_hit<70 ) fail+=1; + track++; + } + fail /= _ntrack; + if ( fail > 0.80 ) result = Form("fail rate=%f%% ",fail*100.0) + FAIL; + return result; + }); + + check_track_table( "Primary tracks should have < 78 hits", [=](g2t_track_st* begin_, g2t_track_st* end_) { + std::string result = PASS; + g2t_track_st* track = begin_; + std::vector nh; + double fail=0; + std::string nf = ""; + for ( int i=0;i<_ntrack;i++ ) { + if ( track->n_tpc_hit>=78 ) { fail+=1; nf += Form("%i ",track->n_tpc_hit); } + track++; + } + fail /= _ntrack; + if ( fail > 0.00 ) result = Form("fail rate=%f%% %s",fail*100.0,nf.c_str()) + FAIL; + return result; + }); + + + // TRACK VALIDATION + if (0) for ( int idx=0;idxGetNRows();idx++ ) { + + check_track( "A particle must have been processed by geant", [=](const g2t_track_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = Form("particle id = %i",t->eg_pid); + return result + PASS; + }, idx); + check_track( "The track has a unique ID", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_track( "The track IDs are in numerical order", [=](const g2t_track_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + check_track( "The track should have a start vertex", [=](const g2t_track_st* t){ + return (t->start_vertex_p>0)?PASS:FAIL; + }, idx); + check_track( "The track should have a stop vertex", [=](const g2t_track_st* t){ + return (t->stop_vertex_p>0)?PASS:FAIL; + }, idx); + check_track( "The start vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + std::cout << *vertex << std::endl; + } + return result; + }, idx); + check_track( "The stop vertex should be in the vertex table", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + result = PASS; + std::cout << *vertex << std::endl; + } + return result; + }, idx); + check_track( "The id of the START vertex is nonzero", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + if ( istart > 0 ) result = PASS; + return result; + }, idx); + check_track( "The START vertex records a valid medium", [=](const g2t_track_st* t){ + auto result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_medium>0 ) result = PASS; + } + return result; + + }, idx); + check_track( "The START vertex records a valid process", [=](const g2t_track_st* t){ + auto result = FAIL; + int istart = t->start_vertex_p; + const g2t_vertex_st* vertex = (istart>0) ? static_cast( vertex_table->At(istart-1) ) : 0; + if ( vertex ) { + // vertex_table->Print(istart-1,1); + result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + if ( vertex->ge_proc >= 0 && vertex->ge_proc < 44 && vertex->ge_proc!=kPStop ) result += PASS; + else result += FAIL; + } + else + result = Form("No start vertex on track") + result; + + return result; + }, idx); + check_track( "The id of the START vertex is less than the id of the STOP vertex", [=](const g2t_track_st* t){ + std::string result = FAIL; + int istart = t->start_vertex_p; + int istop = t->stop_vertex_p; + if ( istart > 0 && istop > istart ) result = PASS; + if ( istart == istop ) result = TODO; + return Form("(start=%i stop=%i)",istart,istop) + result; + }, idx); + check_track( "The STOP vertex records a valid medium", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + if ( vertex->ge_medium>0 ) result = PASS; + } + return result; + + }, idx); + check_track( "The STOP vertex records a valid process", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + result = Form(" (ge_proc=%i %s)", vertex->ge_proc, TMCProcessName[vertex->ge_proc] ); + if ( vertex->ge_proc > 0 && vertex->ge_proc < 44 ) result += PASS; + else result += FAIL; + } + else + result = Form("No stop vertex on track") + result; + + return result; + }, idx); + check_track( "The STOP vertex parent track is this track", [=](const g2t_track_st* t){ + auto result = FAIL; + int istop = t->stop_vertex_p; + const g2t_vertex_st* vertex = (istop>0) ? static_cast( vertex_table->At(istop-1) ) : 0; + if ( vertex ) { + int iparent = vertex->parent_p; + result = Form(" track id=%i vertex parent id=%i", t->id, vertex->parent_p ); + if ( vertex->parent_p == t->id ) result += PASS; + else result += FAIL; + } + else + result = Form("No stop vertex on track") + result; + + return result; + }, idx); + + } + + expectedId=0; + idIsNotUnique.clear(); + // VERTEX VALIDATION + if (0) for ( int idx=0;idxGetNRows();idx++ ) { + check_vertex( "A vertex must have been processed by geant", [=](const g2t_vertex_st* t){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + assert(t); + std::string result = PASS; + return result; + }, idx); + check_vertex( "Is this vertex intermediate?", [=](const g2t_vertex_st* v){ + LOG_TEST << "-----------------------------------------------------------" << std::endl; + return (v->is_itrmd)? YES : NOPE; + }, idx); + check_vertex( "The vertex has a unique ID", [=](const g2t_vertex_st* t){ + std::string result = Form("unique id = %i",t->id); + if ( idIsNotUnique[ t->id ] ) result += FAIL; + else result += PASS; + idIsNotUnique[ t->id ]++; + return result; + }, idx); + check_vertex( "The vertex IDs are in numerical order", [=](const g2t_vertex_st* t){ + std::string result = Form("unique id = %i",t->id); + expectedId++; + if ( expectedId == t->id ) result += PASS; + else result += FAIL; + return result; + }, idx); + check_vertex( "Primary vertex has no parents, all others do", [=](const g2t_vertex_st* v){ + std::string result; + int np = v->n_parent; + if (v->id==1) { + result = Form("primary vertex: nparent=%i ",np); + result += (np==0) ? PASS : FAIL; + } + else { + result = Form("secondary vertex: nparent=%i ",np); + result += (np==1) ? PASS : FAIL; + } + return result; + }, idx); + check_vertex( "Vertex parent track stops on this vertex if not intermediate", [=](const g2t_vertex_st* v){ + std::string result; + int np = v->n_parent; + if (v->id==1) { + result = Form("primary vertex: nparent=%i ",np); + result += (np==0) ? PASS : FAIL; + } + else { + int itrack=v->parent_p; + const g2t_track_st* track = static_cast(track_table->At(itrack-1)); + int idvert=v->id; + int idstop= (track)? track->stop_vertex_p : -1; + int isint = v->is_itrmd; + if ( isint==0 ) + result += ( idvert==idstop )? PASS : FAIL; + else + result += PASS; + } + return result; + }, idx); + check_vertex( "Intermediate vertex must have daughter tracks", [=](const g2t_vertex_st* v){ + std::string result = NADA; + if ( v->is_itrmd ) { + result = Form("(n daughter=%i proc=%i %s) ", v->n_daughter, v->ge_proc, TMCProcessName[v->ge_proc] ); + if ( v->n_daughter>0 ) result += PASS; + else { + result += FAIL; + // std::cout << *v << std::endl; + } + } + return result; + }, idx); + + + } + + // Hit accumulation + if (0) for ( int idx=0;idxGetNRows();idx++ ) { + auto hit = static_cast( hit_table->At(idx) ); + if ( 0==hit ) continue; + edep( hit->de * 1000 ); + // std::cout << "hit dE=" << hit->de << " volume_id=" << hit->volume_id << std::endl; + std::cout << *hit << std::endl; + } + + // Print out energy deposition + if (0) + { + + int _count = boost::accumulators::count(edep); + double _sum = boost::accumulators::sum(edep); + double _mean = boost::accumulators::mean(edep); + double _median = boost::accumulators::median(edep); + double _min = boost::accumulators::min(edep); + double _max = boost::accumulators::max(edep); + double _error_of_mean = boost::accumulators::error_of(edep); + + LOG_TEST << Form( "number of hits = %i", _count) << std::endl; + LOG_TEST << Form( "energy deposition: sum = %f MeV", _sum ) << std::endl; + LOG_TEST << Form( "energy deposition: mean = %f MeV", _mean ) << std::endl; + LOG_TEST << Form( "energy deposition: median = %f MeV", _median ) << std::endl; + LOG_TEST << Form( "energy deposition: min = %f MeV", _min ) << std::endl; + LOG_TEST << Form( "energy deposition: max = %f MeV", _max ) << std::endl; + LOG_TEST << Form( "energy deposition: error of mean = %f MeV", _error_of_mean ) << std::endl; + + } + + // Print the track list + if (0) + track_table->Print(0, _ntrack); + else if (0) + track_table->Print(0, track_table->GetNRows() ); + + +} +//___________________________________________________________________ diff --git a/StRoot/StGeant4Maker/tests/unit_tests.h b/StRoot/StGeant4Maker/tests/unit_tests.h new file mode 100644 index 00000000000..daa4ff68d7c --- /dev/null +++ b/StRoot/StGeant4Maker/tests/unit_tests.h @@ -0,0 +1,235 @@ +#ifndef __unit_tests__ +#define __unit_tests__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#define __COLOR__ +#ifdef __COLOR__ +const std::string FAIL = "\u001b[31m -failed- \u001b[0m"; +const std::string PASS = "\u001b[32m -passed- \u001b[0m"; +const std::string NOPE = "\u001b[33m - nope - \u001b[0m"; +const std::string YES = "\u001b[33m - yes - \u001b[0m"; +const std::string UNKN = "\u001b[33m -unknown- \u001b[0m"; +const std::string TODO = "\u001b[36m -todo- \u001b[0m"; +const std::string NADA = "\u001b[36m - N/A - \u001b[0m"; +const std::string GIVEN = "\u001b[34m - given - \u001b[0m"; +#else +const std::string FAIL = " -failed- "; +const std::string PASS = " -passed- "; +const std::string UNKN = " -unknown- "; +const std::string TODO = " -todo- "; +const std::string NADA = " - n/a - "; +#endif + +std::string __PREFIX__ = " \u001b[35m | \u001b[0m"; + +bool Conditional( std::string result ) { + bool value = true; + if ( result.find(FAIL) != std::string::npos ) { + value = false; + } + return value; +} + +using namespace std; +//___________________________________________________________________ +#define LOG_TEST std::cout << __PREFIX__ +//___________________________________________________________________ +TTable* hit_table = 0; +TTable* track_table = 0; +TTable* vertex_table = 0; +static TVector3 _vector3; +//___________________________________________________________________ +TStopwatch timer; +//___________________________________________________________________ +double _pmom = 0; +void throw_muon( double eta, double phid, double pT = 25.0, int q=1 ) { + // eta = pseudorapidity + // phid = azimuthal angle in degrees + double phi = TMath::Pi() * phid / 180.0; + TVector3 momentum; + momentum.SetPtEtaPhi(pT,eta,phi); + _pmom = momentum.Mag(); + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* particle = _kine->AddParticle( (q==1)?"mu+":"mu-" ); + particle->SetPx(momentum[0]); + particle->SetPy(momentum[1]); + particle->SetPz(momentum[2]); + double mass = particle->GetMass(); + double ener = sqrt( momentum.Mag2() + mass*mass ); + particle->SetEnergy(ener); + chain->Clear(); + chain->Make(); +} +void throw_particle( const char* part, double eta, double phid, double pT = 25.0, int q=1 ) { + // eta = pseudorapidity + // phid = azimuthal angle in degrees + double phi = TMath::Pi() * phid / 180.0; + TVector3 momentum; + momentum.SetPtEtaPhi(pT,eta,phi); + _pmom = momentum.Mag(); + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* particle = _kine->AddParticle( part ); + particle->SetPx(momentum[0]); + particle->SetPy(momentum[1]); + particle->SetPz(momentum[2]); + double mass = particle->GetMass(); + double ener = sqrt( momentum.Mag2() + mass*mass ); + particle->SetEnergy(ener); + chain->Clear(); + chain->Make(); +} +void throw_particle( int n, const char* part, double ptmn, double ptmx, double etamn, double etamx, double phimn, double phimx ) { + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + _kine->Kine( n, part, ptmn, ptmx, etamn, etamx, phimn, phimx ); + chain->Clear(); + chain->Make(); +} +void add_particle( const char* part, double eta, double phid, double pT = 25.0, int q=1 ) { + double phi = TMath::Pi() * phid / 180.0; + TVector3 momentum; + momentum.SetPtEtaPhi(pT,eta,phi); + _pmom = momentum.Mag(); + auto* chain = StMaker::GetChain(); + auto* _kine = dynamic_cast( chain->GetMaker("StarKine") ); + auto* particle = _kine->AddParticle( part ); + particle->SetPx(momentum[0]); + particle->SetPy(momentum[1]); + particle->SetPz(momentum[2]); + double mass = particle->GetMass(); + double ener = sqrt( momentum.Mag2() + mass*mass ); + particle->SetEnergy(ener); +} +//___________________________________________________________________ +std::string check_track_table( std::string message, std::function f) { + g2t_track_st* first = static_cast( track_table->GetArray() ); + g2t_track_st* last = static_cast( track_table->GetArray() ) + track_table->GetNRows(); + std::string result = "\u001b[37m [" + message + "] " + (track_table? f(first,last):FAIL ); + LOG_TEST << result << std::endl; + return result; +} +//___________________________________________________________________ +std::string check_track( std::string message, std::function f, int idx=0) { + const g2t_track_st* track = static_cast( track_table->At(idx) ); + std::string result = "\u001b[37m [" + message + "] " + (track? f(track):FAIL ); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_vertex( std::string message, std::function f, int idx=0) { + const g2t_vertex_st* vertex = static_cast( vertex_table->At(idx) ); + std::string result = "\u001b[37m [" + message + "] " + (vertex? f(vertex):FAIL ); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_tpc_hit( std::string message, const g2t_tpc_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_stg_hit( std::string message, const g2t_fts_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_ctf_hit( std::string message, const g2t_ctf_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_mtd_hit( std::string message, const g2t_mtd_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_emc_hit( std::string message, const g2t_emc_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +std::string check_emc_hit( std::string message, std::function f, int idx=0) { + const g2t_emc_hit_st* hit = static_cast( hit_table->At(idx) ); + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +//___________________________________________________________________ +std::string check_epd_hit( std::string message, const g2t_epd_hit_st* hit, std::function f) { + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; +std::string check_epd_hit( std::string message, std::function f, int idx=0) { + const g2t_epd_hit_st* hit = static_cast( hit_table->At(idx) ); + std::string result = "\u001b[37m [" + message + "] " + (hit? f(hit):FAIL); + LOG_TEST << result << std::endl; + return result; +}; + +//___________________________________________________________________ +template +TH1F* gimmeTH1F( std::string name, std::string title, int nbin, double xmn, double xmx, + std::function filler ) { + TH1F* histo = new TH1F(name.c_str(), title.c_str(), nbin, xmn, xmx ); + for ( int i=0;iGetNRows();i++ ){ + const Hit* hit = static_cast( hit_table->At(i) ); + filler( hit, histo ); + } + return histo; +} +//___________________________________________________________________ +ostream& operator<<( ostream& os, const g2t_vertex_st& v ) { + os << Form("g2t_vertex id=%i ",v.id); + os << Form("volume=%s ",v.ge_volume); + os << Form("np=%i nd=%i itrmd=%i x=(%f, %f, %f)",v.n_parent,v.n_daughter,v.is_itrmd,v.ge_x[0],v.ge_x[1],v.ge_x[2]); + return os; +}; +//___________________________________________________________________ +ostream& operator<<( ostream& os, const g2t_tpc_hit_st& h ) { + os << Form("g2t_tpc_hit id=%i de=%f ds=%f",h.id,h.de,h.ds); + return os; +}; +//___________________________________________________________________ +ostream& operator<<( ostream& os, const g2t_emc_hit_st& h ) { + double r2 = h.x*h.x+h.y*h.y; + os << Form("g2t_emc_hit id=%i idtruth=%i volume=%i de=%f R=%f",h.id,h.track_p,h.volume_id,h.de,sqrt(r2)); + return os; +}; +//___________________________________________________________________ +// ostream& operator<<( ostream& os, const g2t_wca_hit_st& h ) { +// double r2 = h.x*h.x+h.y*h.y; +// os << Form("g2t_wca_hit id=%i idtruth=%i volume=%i de=%f R=%f",h.id,h.track_p,h.volume_id,h.de,sqrt(r2)); +// return os; +// }; +// //___________________________________________________________________ +// ostream& operator<<( ostream& os, const g2t_hca_hit_st& h ) { +// double r2 = h.x*h.x+h.y*h.y; +// os << Form("g2t_hca_hit id=%i idtruth=%i volume=%i de=%f R=%f",h.id,h.track_p,h.volume_id,h.de,sqrt(r2)); +// return os; +// }; +#endif diff --git a/StRoot/StarGenerator/BASE/StarPrimaryMaker.h b/StRoot/StarGenerator/BASE/StarPrimaryMaker.h index e673d2ca0fe..6dd35774e90 100644 --- a/StRoot/StarGenerator/BASE/StarPrimaryMaker.h +++ b/StRoot/StarGenerator/BASE/StarPrimaryMaker.h @@ -167,6 +167,8 @@ class StarPrimaryMaker : public StMaker /// Return a pointer to the event StarGenEvent *event() { return mPrimaryEvent; } + /// Return a pointer to the stack + StarParticleStack *stack(){ return mStack; } virtual const char *GetCVS() const {static const char cvs[]="Tag $Name: $ $Id: StarPrimaryMaker.h,v 1.8 2015/06/15 13:23:00 jwebb Exp $ built " __DATE__ " " __TIME__ ; return cvs;} diff --git a/StarVMC/StarAgmlLib/AgBlock.cxx b/StarVMC/StarAgmlLib/AgBlock.cxx index 5c96915bdef..9c1a39f1949 100644 --- a/StarVMC/StarAgmlLib/AgBlock.cxx +++ b/StarVMC/StarAgmlLib/AgBlock.cxx @@ -11,6 +11,7 @@ ClassImp(AgBlock); #include "StarAgmlStacker.h" #include "StMessMgr.h" +#include // Setup static members AgBlock *AgBlock::mCurrent=0; diff --git a/StarVMC/StarAgmlLib/AgMLExtension.cxx b/StarVMC/StarAgmlLib/AgMLExtension.cxx index de85e142434..0348addc83c 100644 --- a/StarVMC/StarAgmlLib/AgMLExtension.cxx +++ b/StarVMC/StarAgmlLib/AgMLExtension.cxx @@ -1,4 +1,5 @@ #include "AgMLExtension.h" +#include AgMLExtension::AgMLExtension() : TGeoRCExtension(), mModuleName("none"), @@ -9,9 +10,31 @@ AgMLExtension::AgMLExtension() : TGeoRCExtension(), mBranchings(0), mVolumeId( new AgMLVolumeId ), mHitScoring(), - mGstpar() + mGstpar(), + mEngine(-1) { Grab(); } + void AgMLExtension::AddCut( TString cut, double value ){ mGstpar[cut] = value; } + +void AgMLExtension::Print( Option_t* opts ) const { + +//static const char* en[] = { "default", "geant3", "geant4" }; + + LOG_INFO << mModuleName.Data() << ":" + << mFamilyName.Data() << ":" + << mVolumeName.Data() << " this=" + << this << " sens=" + << mSensitive << " tracking=" + << mTracking << " nbranch=" + << mBranchings << " nuser=" + // << mHitScoring.size() << " engine=" + // << (mEngine>=0 && mEngine < 2) ? en[mEngine] : "invalid!? " + << endm; + +} + +std::map AgMLExtension::mExtensionMap; + diff --git a/StarVMC/StarAgmlLib/AgMLExtension.h b/StarVMC/StarAgmlLib/AgMLExtension.h index e379749d116..34c81e47ec4 100644 --- a/StarVMC/StarAgmlLib/AgMLExtension.h +++ b/StarVMC/StarAgmlLib/AgMLExtension.h @@ -2,6 +2,8 @@ #define __AgmlExtension_h__ #include +#include + #include #include #include @@ -24,7 +26,7 @@ class AgMLExtension : public TGeoRCExtension { public: AgMLExtension(); - virtual ~AgMLExtension() { delete mVolumeId; mVolumeId = nullptr; } + virtual ~AgMLExtension(){ /* nada */ }; void SetModuleName( const char* name ){ mModuleName = name; } void SetFamilyName( const char* name ){ mFamilyName = name; } @@ -41,7 +43,7 @@ class AgMLExtension : public TGeoRCExtension { void SetBranchings( int b ) { mBranchings=b; } - void SetVolumeIdentifier( AgMLVolumeId* identifier ){ delete mVolumeId; mVolumeId = identifier; } + void SetVolumeIdentifier( AgMLVolumeId* identifier ){ mVolumeId = identifier; } void AddHitScoring( AgMLScoring* sc ){ mHitScoring.push_back( sc ); } @@ -49,7 +51,7 @@ class AgMLExtension : public TGeoRCExtension { TString GetFamilyName(){ return mFamilyName; } TString GetVolumeName(){ return mVolumeName; } - int GetVolumeId( int* numbv ){ return mVolumeId ? mVolumeId->id( numbv ) : 0; } + int GetVolumeId( int* numbv ){ return mVolumeId->id( numbv ); } bool GetSensitive() { return mSensitive; } short GetTracking() { return mTracking; } @@ -59,7 +61,20 @@ class AgMLExtension : public TGeoRCExtension { void AddCut( TString cut, double value ); std::map& GetCuts() { return mGstpar; } + + const static int Geant3 = 0; + const static int Geant4 = 1; + + int GetEngine(){ return mEngine; } + void SetEngine( int e ){ mEngine = e; } + void Print( Option_t* opts="" ) const; + + void extends( TGeoVolume* volume ){ mExtensionMap[volume->GetName()] = this; } + static AgMLExtension* get( TGeoVolume* volume ){ return mExtensionMap[volume->GetName()]; } + static AgMLExtension* get( TString volume ){ return mExtensionMap[volume]; } + + static const std::map< TString, AgMLExtension* >& GetMap() { return mExtensionMap; } private: protected: @@ -77,8 +92,15 @@ class AgMLExtension : public TGeoRCExtension { std::vector mHitScoring; // Vector of functors for hit scoring std::map mGstpar; // GSTPAR tracking cuts for this volume + int mEngine; + + static std::map< TString, AgMLExtension* > mExtensionMap; + ClassDef(AgMLExtension,0); }; +// Global map to agml extensions + + #endif diff --git a/StarVMC/StarAgmlLib/AgMLStructure.h b/StarVMC/StarAgmlLib/AgMLStructure.h index ee7e0ad745b..84498ec8c61 100644 --- a/StarVMC/StarAgmlLib/AgMLStructure.h +++ b/StarVMC/StarAgmlLib/AgMLStructure.h @@ -222,7 +222,7 @@ class AgMLStructure : public AgMLStructureBase AgMLStructure( const char *_name ) : AgMLStructureBase(), name(_name) { }; ~AgMLStructure() { for ( auto t : table ) { // cleanup the table - delete (t); + if (t) delete (t); } }; diff --git a/StarVMC/StarAgmlLib/AgModule.cxx b/StarVMC/StarAgmlLib/AgModule.cxx index 29465ba7618..c0ef30f5ffb 100644 --- a/StarVMC/StarAgmlLib/AgModule.cxx +++ b/StarVMC/StarAgmlLib/AgModule.cxx @@ -4,6 +4,11 @@ #include "TObjectSet.h" #include "TGenericTable.h" +#include "TGeoManager.h" +#include "TGeoVolume.h" +#include "AgMLExtension.h" +#include "StMessMgr.h" + ClassImp(AgModule); TDataSet *AgModule::mGeomSet = 0; @@ -86,7 +91,21 @@ AgModule::~AgModule() { _module = NULL; } - +//______________________________________________________________________________________________ +void AgModule::AddHitScoring( TString name, AgMLScoring* sc ) { + TString key (name(0,4)); + // LOG_INFO << "Add hit scoring " << key.Data() << endm; + mHitScoring[name] = sc; + auto* volume = gGeoManager->FindVolumeFast(key); + if (0==volume) { + LOG_WARN << "Volume " << key.Data() << " has not been created yet, no user hits defined " << name.Data() << endm; + } + else { + auto* ext = AgMLExtension::get( volume ); + ext->AddHitScoring(sc); + } +} +//______________________________________________________________________________________________ diff --git a/StarVMC/StarAgmlLib/AgModule.h b/StarVMC/StarAgmlLib/AgModule.h index c69e5a3d61d..480c965b2f7 100644 --- a/StarVMC/StarAgmlLib/AgModule.h +++ b/StarVMC/StarAgmlLib/AgModule.h @@ -5,7 +5,7 @@ #include "Mortran.h" #include "AgDetp.h" #include -#include "StarVMC/StarAgmlLib/AgMLExtension.h" +#include using namespace std; class TDataSet; diff --git a/StarVMC/StarAgmlLib/AgPlacement.h b/StarVMC/StarAgmlLib/AgPlacement.h index be0734207d7..21b673ed2ab 100644 --- a/StarVMC/StarAgmlLib/AgPlacement.h +++ b/StarVMC/StarAgmlLib/AgPlacement.h @@ -74,8 +74,11 @@ class AgPlacement : public TNamed, public AgParameterList enum { kUnknown, kRot3, kRot6, kRotO }; enum { kAlphaX, kAlphaY, kAlphaZ }; + //#ifndef __CINT__ Translation mTranslation; +#if !defined(__CLING__) std::vector< Rotation > mRotation; +#endif std::vector< int > mType; double mRotationMatrix[9]; diff --git a/StarVMC/StarAgmlLib/StarTGeoStacker.cxx b/StarVMC/StarAgmlLib/StarTGeoStacker.cxx index f5f7cf71f55..895d64804d3 100644 --- a/StarVMC/StarAgmlLib/StarTGeoStacker.cxx +++ b/StarVMC/StarAgmlLib/StarTGeoStacker.cxx @@ -638,15 +638,10 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) // AgML extented volume information AgMLExtension* agmlExt = gAgMLExt[ block->GetName() ]; - if ( !agmlExt ) { + if ( 0==agmlExt ) { // Create new agml extension gAgMLExt[ block->GetName() ] = agmlExt = new AgMLExtension(); - // Add user hits to the extension - for ( auto kv : module->GetHitScoring() ) { - TString key = kv.first; - AgMLScoring* scoring = kv.second; - agmlExt -> AddHitScoring( scoring ); - } + // NOTE: user hits have not been defined at this point, add to extension at point of definition } agmlExt->SetVolumeName( nn ); agmlExt->SetFamilyName( block->GetName() ); @@ -658,8 +653,7 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) agmlExt->AddCut( kv.first, kv.second ); } - volume->SetUserExtension( agmlExt ); - + agmlExt->extends(volume); if ( mDebugOptions[block_name].Contains("shape") ) { @@ -732,7 +726,7 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) // AgML extented volume information AgMLExtension* agmlExt = gAgMLExt[ block->GetName() ]; - if ( !agmlExt ) { + if ( 0==agmlExt ) { // Create new agml extension gAgMLExt[ block->GetName() ] = agmlExt = new AgMLExtension(); // Add user hits to the extension @@ -752,7 +746,7 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) agmlExt->AddCut( kv.first, kv.second ); } - volume->SetUserExtension( agmlExt ); + agmlExt->extends(volume); } @@ -870,9 +864,8 @@ Bool_t sanityCheck( TGeoVolume *volume ) result = true; } else { - - TGeoShape *shape = volume->GetShape(); - if ( 0==shape ) { + TGeoShape *shape = volume->GetShape(); + if ( 0==shape ) { result = false; } else { @@ -882,11 +875,9 @@ Bool_t sanityCheck( TGeoVolume *volume ) else { result = false; } + } - } - if ( result == false ) { - LOG_WARN << "Invalid shape for volume " << volume->GetName() << endm; } return result; diff --git a/mgr/Conscript-standard b/mgr/Conscript-standard index ab1f1a4a7b1..0c6836bf131 100644 --- a/mgr/Conscript-standard +++ b/mgr/Conscript-standard @@ -721,6 +721,22 @@ if ( $pkg !~ /^sim$/ && $pkg !~ /^gen$/ ) { print "CPPPATH = $CPPPATH\n" if $param::debug; + } elsif ( $pkg =~ m/StGeant4Maker$/ ) { + + # Add G4 to include path + my $g4prefix = `geant4-config --prefix`; + chomp($g4prefix); + $CPPPATH .= $main::PATH_SEPARATOR . $g4prefix . "/include/Geant4/"; + + # Add G4 vmc to include path (presumes that spack has added this to ROOT_INCLUDE_PATH ...) + my @paths = split ":", $ENV{ROOT_INCLUDE_PATH}; + foreach my $p (@paths) { + if ($p =~ /geant4-vmc/) { + print $p, "\n"; + $CPPPATH .= $main::PATH_SEPARATOR . $p . "/geant4vmc"; + } + } + # This block can be used for ANY Maker or Pool having a 2 level # directory structure using auto-globbing for include purposes } elsif ( $pkg =~ m/^StAssociationMaker$/ || From 00e6e42f9ce31d501042e6d2310b0a22ce5e6fa3 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 8 Nov 2023 10:53:33 -0500 Subject: [PATCH 23/70] [geant4star] Load packages required for G4* for 64bit builds. --- mgr/config/v0.3.0-rhel7-root6.24.06.config | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mgr/config/v0.3.0-rhel7-root6.24.06.config b/mgr/config/v0.3.0-rhel7-root6.24.06.config index 80efe1ef9cb..e65c3ed2ad3 100644 --- a/mgr/config/v0.3.0-rhel7-root6.24.06.config +++ b/mgr/config/v0.3.0-rhel7-root6.24.06.config @@ -14,3 +14,9 @@ else endif module load star-env-0.3.0-root-6.24.06 + +if ( $USE_64BITS == 1 ) then + module load geant4-10.4.0 + module load geant4-data-10.4.0 + module load geant4-vmc-4-0-p3-root-6.24.06 +endif From 5e2f517264dc77746dade230f86aea149b226ed1 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Thu, 9 Nov 2023 10:18:58 -0500 Subject: [PATCH 24/70] ... and the CLHEP package required by G4 as well ... --- mgr/config/v0.3.0-rhel7-root6.24.06.config | 1 + 1 file changed, 1 insertion(+) diff --git a/mgr/config/v0.3.0-rhel7-root6.24.06.config b/mgr/config/v0.3.0-rhel7-root6.24.06.config index e65c3ed2ad3..4897050b2d5 100644 --- a/mgr/config/v0.3.0-rhel7-root6.24.06.config +++ b/mgr/config/v0.3.0-rhel7-root6.24.06.config @@ -19,4 +19,5 @@ if ( $USE_64BITS == 1 ) then module load geant4-10.4.0 module load geant4-data-10.4.0 module load geant4-vmc-4-0-p3-root-6.24.06 + module load clhep-2.4.5.1 endif From 4e9351305a0e8a3658c8026314eddd8cbe68919d Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 20 Feb 2024 16:12:36 -0500 Subject: [PATCH 25/70] Fix duplicate. --- StarVMC/StarAgmlLib/AgModule.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StarVMC/StarAgmlLib/AgModule.cxx b/StarVMC/StarAgmlLib/AgModule.cxx index c0ef30f5ffb..f5678b1207c 100644 --- a/StarVMC/StarAgmlLib/AgModule.cxx +++ b/StarVMC/StarAgmlLib/AgModule.cxx @@ -30,7 +30,7 @@ TDataSet *AgModule::Geom() else return mGeomSet; }; -void AgModule::AddHitScoring( TString name, AgMLScoring* sc ){ mHitScoring[name] = sc; } +//void AgModule::AddHitScoring( TString name, AgMLScoring* sc ){ mHitScoring[name] = sc; } // --------------------------------------------------------------------------------------------- AgBlock *AgModule::AddBlock( const Char_t *name, AgBlock *_block ) From 42b1eb0b54b54b8307a64011e2588456d518acb2 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 20 Feb 2024 16:14:46 -0500 Subject: [PATCH 26/70] Restore gcomad for agstar dummy routines --- StRoot/StGeant4Maker/AgStarDummy.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StRoot/StGeant4Maker/AgStarDummy.cxx b/StRoot/StGeant4Maker/AgStarDummy.cxx index d76514d2d0c..9876a002f89 100644 --- a/StRoot/StGeant4Maker/AgStarDummy.cxx +++ b/StRoot/StGeant4Maker/AgStarDummy.cxx @@ -6,5 +6,5 @@ extern "C" { void type_of_call agskine_( float *plab, int *ip, int *nv, float *ubuf, int *nb, int *nt ) { } void type_of_call gsvert_( float *, int &, int &, float *, int &, int &){ } void type_of_call gskine_( float *, int &, int &, float *, int &, int &){ } - // void type_of_call gcomad_(DEFCHARD, int*& DEFCHARL){ } + void type_of_call gcomad_(DEFCHARD, int*& DEFCHARL){ } }; From e46192d1b2137ec0c691ba1f4c44ea0bb3654148 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 20 Feb 2024 16:16:14 -0500 Subject: [PATCH 27/70] Extern causes issues at runtime --- StRoot/StGeant4Maker/macros/initStar.C | 1 + 1 file changed, 1 insertion(+) diff --git a/StRoot/StGeant4Maker/macros/initStar.C b/StRoot/StGeant4Maker/macros/initStar.C index 059f4415d7f..45e5377df37 100644 --- a/StRoot/StGeant4Maker/macros/initStar.C +++ b/StRoot/StGeant4Maker/macros/initStar.C @@ -41,3 +41,4 @@ void initStar() { Load("StBFChain.so"); }; + From 151231af1216a4d69ee42b0fbecfe79f930a5292 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 21 Feb 2024 00:42:01 -0500 Subject: [PATCH 28/70] Duplicate load removed. --- StRoot/StGeant4Maker/macros/geant4star.C | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/StRoot/StGeant4Maker/macros/geant4star.C b/StRoot/StGeant4Maker/macros/geant4star.C index 0ab6508f35e..db1ef79146b 100644 --- a/StRoot/StGeant4Maker/macros/geant4star.C +++ b/StRoot/StGeant4Maker/macros/geant4star.C @@ -5,9 +5,9 @@ StBFChain* chain = 0; #include #include -extern "C" { - void Load( const char* lib ); -} +//extern "C" { +// void Load( const char* lib ); +//} // Random number generator seed int __rngSeed = 12345; From 75d5ccfd324c909adb8b3b115ecac2bcd844f524 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 21 Feb 2024 09:11:49 -0500 Subject: [PATCH 29/70] Make multi-engine simulation the default. Comment out the "NAME:engine" option (which was meant as documentation). --- StRoot/StGeant4Maker/StGeant4Maker.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/StRoot/StGeant4Maker/StGeant4Maker.cxx b/StRoot/StGeant4Maker/StGeant4Maker.cxx index bad2c25de6f..93c8e9c82e2 100644 --- a/StRoot/StGeant4Maker/StGeant4Maker.cxx +++ b/StRoot/StGeant4Maker/StGeant4Maker.cxx @@ -546,10 +546,10 @@ StGeant4Maker::StGeant4Maker( const char* nm ) : AddOption("SYNC", 1, "Synchrotron radiation"); // Application defaults to single engine mode with Geant4 - AddOption("application:engine","G4","Application mode: G3=GEANT3, G4=Geant4, multi=mixed G3/G4 mode with defaults below"); + AddOption("application:engine","multi","Application mode: G3=GEANT3, G4=Geant4, multi=mixed G3/G4 mode with defaults below"); AddOption("all:engine", "G3", "In multi-engine mode, selects the default engine for all subsystems" ); // default engine in multi-engine mode is G3 - AddOption("NAME:engine", "XX", "Specifies the physics engine (XX=G3 or XX=G4) for all volumes defined in NAMEGeo"); + //AddOption("NAME:engine", "XX", "Specifies the physics engine (XX=G3 or XX=G4) for all volumes defined in NAMEGeo"); AddOption("wcal:engine", "G4", "Default engine for all volumes defined in WcalGeo" ); // Forward EMC defaults to G4 AddOption("hcal:engine", "G4", "Default engine for all volumes defined in HcalGeo" ); // Forward hcal defaults to G4 From 250e02368c05365f77a9bbff05dc70750b1cc4b9 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 12 Mar 2024 13:57:25 -0400 Subject: [PATCH 30/70] Handle ROOT version dependence for VMC library. --- StRoot/StBFChain/BigFullChain.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 2b12b1c5ff9..2072577d988 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -25,6 +25,14 @@ ________________________________________________________________________________ */ #endif +#include + +#if ROOT_VERSION_CODE>=ROOT_VERSION(6,24,0) +#define libVMC "libVMCLibrary.so" +#else +#define libVMC "libVMC.so" +#endif + #define STAR_CHAIN_OBSOLETE "WARNING *** Option is OBSOLETE ***" //#define __NoStrangeMuDst__ @@ -1221,7 +1229,7 @@ Bfc_st BFC[] = { // standard chains {"StarMiniCern","" ,"","geant3","" ,"","STAR addition to minicern OBSOLETE",kFALSE}, {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom,libVMC,libgeant3", "VMC geant3",kFALSE}, + {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom," libVMC ",libgeant321.so", "VMC geant3",kFALSE}, {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, {"StarMagField","", "","magF" ,"","VMC,StarMagField","Load StarMagField",kFALSE}, @@ -1284,7 +1292,7 @@ Bfc_st BFC[] = { // standard chains {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T"/*+++*/, "", "libVMC.so,libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, + {"stargen", "","", "gen_T,sim_T"/*+++*/, "", libVMC ",libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, @@ -1303,8 +1311,8 @@ Bfc_st BFC[] = { // standard chains {"g4geant3", "", "", "", "", "libG3toG4.so", "Load g3 to g4 support", false }, {"geant4", "", "", "g4physics,g4interfaces","","","Load G4 libs", false}, - {"geant4vmc", "","", "geant4", "", "libVMC.so,libgeant4vmc.so", "Load G4 VMC libs", false}, - {"geant4mk", "","", "stargen,geant4vmc", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, + {"geant4vmc", "","", "geant4", "", libVMC ",libgeant4vmc.so", "Load G4 VMC libs", false}, + {"geant4mk", "","", "stargen,geant4vmc,geant3vmc", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, From 9ff6986d691c2e634fe0b0c8105bb3aa0f46f110 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 12 Mar 2024 14:21:09 -0400 Subject: [PATCH 31/70] Add VMC include path if separate from ROOT. --- mgr/Conscript-standard | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/mgr/Conscript-standard b/mgr/Conscript-standard index 0c6836bf131..f7b3f96cf9f 100644 --- a/mgr/Conscript-standard +++ b/mgr/Conscript-standard @@ -120,6 +120,8 @@ print "idlL = @idlL\n" if $param::debug; my (@src, @h_files, @idlM); my $CPPPATH = $env1->{CPPPATH}; +$CPPPATH .= helpers::vmcPath(); + if ($pkg eq "RTS") { if ($STAR_SYS =~ /^x86_darwin/) {} else { @@ -729,9 +731,10 @@ if ( $pkg !~ /^sim$/ && $pkg !~ /^gen$/ ) { $CPPPATH .= $main::PATH_SEPARATOR . $g4prefix . "/include/Geant4/"; # Add G4 vmc to include path (presumes that spack has added this to ROOT_INCLUDE_PATH ...) + # Add vmc package to include path (ditto) my @paths = split ":", $ENV{ROOT_INCLUDE_PATH}; foreach my $p (@paths) { - if ($p =~ /geant4-vmc/) { + if ($p =~ /geant4-vmc/ ) { print $p, "\n"; $CPPPATH .= $main::PATH_SEPARATOR . $p . "/geant4vmc"; } @@ -1473,6 +1476,19 @@ if ( $#src > -1 ) { } } #_________________________________________________________________________________ +sub helpers::vmcPath { + # If VMC is supplied separtely from root + my @paths = split ":", $ENV{ROOT_INCLUDE_PATH}; + my $result = ""; + foreach my $p (@paths) { + if ($p =~ /\/vmc-/ ) { + print $p, "\n"; + $result .= $main::PATH_SEPARATOR . $p . "/vmc"; + } + } + return $result; +} +#_________________________________________________________________________________ sub script::MakeMoc { my $envQt = shift; my $pkg = shift; From c9324afe200879f1847d3dfce5ad3126b337378d Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Tue, 12 Mar 2024 14:34:18 -0400 Subject: [PATCH 32/70] Load VMC, G3/G4 VMC and concrete libraries for 64bit builds. --- mgr/config/v0.3.0-rhel7-root6.24.06.config | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mgr/config/v0.3.0-rhel7-root6.24.06.config b/mgr/config/v0.3.0-rhel7-root6.24.06.config index 4897050b2d5..ad720672530 100644 --- a/mgr/config/v0.3.0-rhel7-root6.24.06.config +++ b/mgr/config/v0.3.0-rhel7-root6.24.06.config @@ -16,8 +16,9 @@ endif module load star-env-0.3.0-root-6.24.06 if ( $USE_64BITS == 1 ) then - module load geant4-10.4.0 - module load geant4-data-10.4.0 - module load geant4-vmc-4-0-p3-root-6.24.06 + module load geant4-10.5.1 + module load geant4-data-10.5.1 + module load geant4-vmc-5-0-p5-root-6.24.06 + module load geant3-3-9-p1-root-6.24.06 module load clhep-2.4.5.1 endif From 89ebf6627c3afdfd6fef952524167bf60c382e96 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:21:28 -0400 Subject: [PATCH 33/70] Invoke local copy for sensitive volume materials. --- StarVMC/Geometry/StgmGeo/StgmGeo1.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/StarVMC/Geometry/StgmGeo/StgmGeo1.xml b/StarVMC/Geometry/StgmGeo/StgmGeo1.xml index decc23be73b..8b95063ed70 100644 --- a/StarVMC/Geometry/StgmGeo/StgmGeo1.xml +++ b/StarVMC/Geometry/StgmGeo/StgmGeo1.xml @@ -452,7 +452,8 @@ - + + @@ -476,7 +477,8 @@ - + + @@ -499,7 +501,8 @@ - + + From d00c2b70ad2a20fe695e16c02a06cfd637e9db88 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:23:32 -0400 Subject: [PATCH 34/70] Different set of sensitive volumes in sTGC geometry. --- StRoot/StGeant4Maker/StGeant4Maker.cxx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/StRoot/StGeant4Maker/StGeant4Maker.cxx b/StRoot/StGeant4Maker/StGeant4Maker.cxx index 93c8e9c82e2..c218b038939 100644 --- a/StRoot/StGeant4Maker/StGeant4Maker.cxx +++ b/StRoot/StGeant4Maker/StGeant4Maker.cxx @@ -918,6 +918,7 @@ void StarVMCApplication::ConstructSensitiveDetectors() { TGeoVolume* volume = (TGeoVolume *)volumes->At(i); AgMLExtension* ae = getExtension(volume); + if ( 0==ae ) { LOG_INFO << "No agml extension on volume = " << volume->GetName() << endm; continue; // shouldn't happen @@ -931,7 +932,7 @@ void StarVMCApplication::ConstructSensitiveDetectors() { ae->SetEngine( engineFromModule( mname.Data() ) ); if ( 0==ae->GetSensitive() ) { - LOG_DEBUG << "Not sensitive = " << volume->GetName() << endm; + LOG_INFO << "Not sensitive = " << volume->GetName() << endm; continue; } @@ -1165,7 +1166,7 @@ void StGeant4Maker::FinishEvent(){ AddHits( "EPDH", {"EPDT"}, "g2t_epd_hit", sd2table_epd ); AddHits( "FSTH", {"FTUS"}, "g2t_fsi_hit", sd2table_fst ); - AddHits( "STGH", {"TGCG"}, "g2t_stg_hit", sd2table_stgc ); + AddHits( "STGH", {"STGP","STGL","STGS"}, "g2t_stg_hit", sd2table_stgc ); AddHits( "PREH", {"PSCI"}, "g2t_pre_hit", sd2table_emc ); AddHits( "WCAH", {"WSCI"}, "g2t_wca_hit", sd2table_emc ); AddHits( "HCAH", {"HSCI"}, "g2t_hca_hit", sd2table_hca ); // HCA should have its own copier @@ -1297,6 +1298,8 @@ int StGeant4Maker::regionTransition( int curr, int prev ) { void StarVMCApplication::Stepping(){ _g4maker -> Stepping(); } void StGeant4Maker::Stepping(){ + LOG_INFO << ".............................................................................. stepping" << endm; + // At start of user stepping, try to transfer the track between engine auto* mgr = TMCManager::Instance(); auto* mc = TVirtualMC::GetMC(); @@ -1363,6 +1366,11 @@ void StGeant4Maker::Stepping(){ }; + if ( IAttr("Stepping:verbose") > 0 ) { + // truth->Print(); + current->Print(); + } + // Check if option to stop punchout tracks is enabled if ( IAttr("Stepping:Punchout:Stop") && 1==transit && !trackingRegion() ) { @@ -1393,6 +1401,8 @@ void StGeant4Maker::Stepping(){ mc->StopTrack(); stopped = true; + + if ( IAttr("Stepping:verbose") > 0 ) { std::cout << "Track is stopped" << std::endl; } } @@ -1452,7 +1462,7 @@ void StGeant4Maker::Stepping(){ } - if ( stopped ) { + if ( stopped || IAttr("Stepping:verbose") ) { LOG_DEBUG << Form("track stopped x=%f y=%f z=%f ds=%f transit=%d %d stopped=%s %s", vx,vy,vz,mc->TrackStep(), mCurrentTrackingRegion, mPreviousTrackingRegion, (stopped)?"T":"F", mc->CurrentVolPath() ) << endm; } From e860df6e2065348629d949e688e51468aa872224 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:34:21 -0400 Subject: [PATCH 35/70] Think we really want muons here... --- StRoot/StBFChain/doc/StBFChain.cxx_doc | 5422 ----------------- StRoot/StBFChain/doc/index.html | 2229 ------- .../tests/unit_test_track_data_model.C | 57 +- 3 files changed, 38 insertions(+), 7670 deletions(-) delete mode 100644 StRoot/StBFChain/doc/StBFChain.cxx_doc delete mode 100644 StRoot/StBFChain/doc/index.html diff --git a/StRoot/StBFChain/doc/StBFChain.cxx_doc b/StRoot/StBFChain/doc/StBFChain.cxx_doc deleted file mode 100644 index f11db03cf02..00000000000 --- a/StRoot/StBFChain/doc/StBFChain.cxx_doc +++ /dev/null @@ -1,5422 +0,0 @@ -// @(#)StRoot/StBFChain:$Name: $:$Id: StBFChain.cxx,v 1.670 2021/03/21 03:32:28 genevb Exp $ - -#include "TROOT.h" -#include "TPRegexp.h" -#include "TString.h" -#include "TObjString.h" -#include "TSystem.h" -#include "TInterpreter.h" -#include "TClassTable.h" -#include "StMemStat.h" -#include "StBFChain.h" -#include "StBFChainOpt.h" -#include "St_db_Maker/St_db_Maker.h" -#include "StTreeMaker/StTreeMaker.h" -#include "StIOMaker/StIOMaker.h" -#include "StMessMgr.h" -#include "StShadowMaker/StShadowMaker.h" -#include "StEnumerations.h" -#include "TTree.h" -#include "TEnv.h" -#define STAR_LOGGER 1 -// PLease, preserve the comment after = { . It is used for documentation formatting -// -#if 0 -// Keep to be compatible with old documentaion -#define STR_OBSOLETE "WARNING *** Option is OBSOLETE ***" - -Bfc_st BFC[] = { - {"Key" ,"Name" ,"Chain" ,"Opts" ,"Maker","Libs","Comment",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"TIME STAMPS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"RY2008","","","db,detDb,NosvtIT,NossdIT" ,"","","y2008 for dAu run",kFALSE}, - {"RY2009","","","db,detDb,NosvtIT,NossdIT" ,"","","y2009 for p+p run",kFALSE}, - {"ForceGeometry","","","","","", "Force geometry to overwrite the geometry coming from fz-file", kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Valid Db ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"NoDb" ,"" ,"","-db,-tpcDb,-magF" ,"","","Take out Db from Chain",kFALSE}, - {"DbV" ,"" ,"","db,ry1h" ,"","","19940614/0 Db Version for none",kFALSE}, - {"DbV0614" ,"" ,"","db,ry1h" ,"","","20000614/0 Db Version for p00hd",kFALSE}, - {"DbV0624" ,"" ,"","db,ry1h" ,"","","20000624/0 Db Version for p00hd_1",kFALSE}, - {"DbV0713" ,"" ,"","db,ry1h" ,"","","20000713/0 Db Version for p00he",kFALSE}, - {"DbV0727" ,"" ,"","db,ry1h" ,"","","20000727/0 Db Version for p00he",kFALSE}, - {"DbV0819" ,"" ,"","db,ry1h" ,"","","20000819/0 Db Version for p00hg",kFALSE}, - {"DbV1123" ,"" ,"","db,ry1h" ,"","","20001123/0 Db wo TpcDriftVel. from StTpcT0Maker",kFALSE}, - {"DbV0523" ,"" ,"","db,ry1h" ,"","", "20010523/0 Db Version for p01he",kFALSE}, - {"DbV1007" ,"" ,"","db,ry1h" ,"","", "20011007/0 Db Version for p01hi",kFALSE}, - {"DbV1107" ,"" ,"","db,ry1h" ,"","", "20011107/0 Db Version for pass1 p01gk",kFALSE}, - {"DbV1211" ,"" ,"","db,ry1h" ,"","", "20011211/0 Db Version for prod p01gl",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Geometry ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ideal", "", "","", "", "", "Ideal Alignment", kFALSE}, - {"misalign", "", "","", "","-AgMLideal", "Misaligned Geometry", kFALSE}, - {"AgMLutil", "", "","", "","StarAgmlUtil", "AgML support", kFALSE}, - {"AgMLlib", "", "","", "","StarAgmlUtil,StarAgmlLib", "AgML support", kFALSE}, - {"AgML" ,"" ,"","AgMLlib,-Agi,-VmcGeo","","Geometry,StarGeometry" - , "Alias VmcGeometry to AgiLGeometry",kFALSE}, - {"Agi" ,"" ,"","-VmcGeo","","" ,"Alias VmcGeometry to AgiGeometry (gstar original geometry)",kFALSE}, - {"VmcGeo" ,"" ,"","-AgML,-Agi" ,"","" ,"Alias VmcGeometry to VmcGeo",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Trigger Type","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Physics" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"LaserTest" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PulserSvt" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"alltrigger" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"phys_off" ,"","","" ,"","","Turn off physics in simulation",kFALSE}, - {"hadr_off" ,"","","" ,"","","Turn off hadronic interactions in simulation",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"C H A I N S ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Calibration chains","------------","-----------","-----------------------------------","","","",kFALSE}, - {"LanaDV", "","","LanaDVtpx","","" ,"get LDV",kFALSE}, - {"LanaDVtpx","","","MakeEvent,trgd,in,tpx,TpcHitMover,LaserIT,VFMinuit,Lana,Analysis,Corr4,NosvtIT,NossdIT", - "","" ,"get LDV with TPX",kFALSE}, - {"LaserDV.Chain","","","in,LaserCal,fcf,TpcHitMover,OGridLeak3D,OShortR,OSpaceZ2","","","get LDV",kFALSE}, - {"Test.default.ITTF","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent,genvtx," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.default.y2005g.ITTF","","","Test.default.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.default.y2007g.ITTF","","","Test.default.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.fast.y2005g.ITTF","","","Test.fast.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.reco.StiVMC","","","MakeEvent,tpcI,tcl,ftpc,SvtCL,Test.StiVMC" ,"","","",kFALSE}, - {"Test.default.StiVMC","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent," - "miniMcMk,McAna,Test.reco.StiVMC,CMuDst" ,"","","",kFALSE}, - {"Test.StiVMC","","","TpcRS,StiVMC,event,analysis,tags,EvOut,StarMagField,FieldOn,Idst,CMuDst" - , "","","",kFALSE}, - {"Test.VeryFast.StiVMC","","","TpcFastSim,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna," - "SvtCL,tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,StiVMC,Idst,event,analysis,EventQA,tags," - "EvOut,StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.fast.StiVMC","","","tfs,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna,SvtCL," - "tpc_T,globT,tls,db,tpcDB,svtDb,StiVMC,Idst,event,analysis,EventQA,tags,EvOut," - "StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.fast.y2007g.ITTF","","","Test.fast.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2005g.ITTF","","","Test.VeryFast.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2007g.ITTF","","","Test.VeryFast.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.default.StiVMC","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.y2009.ITTF","","","Test.default.ITTF,y2009,TpcRS,sdt20090428.141700" ,"","","",kFALSE}, - {"Test.y2009.StiVMC","","","Test.default.StiVMC,y2009,TpcRS,sdt20090428.141700,noSimuDb","","","",kFALSE}, - {"Test.fast.y2005g.StiVMC","","","Test.fast.StiVMC,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2005g.StiVMC","","","Test.VeryFast.StiVMC,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2007g.StiVMC","","","Test.VeryFast.StiVMC,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.default.Fast.ITTF","","","tfs,sfs,ssdFast,IdTruth,MakeEvent,miniMcMk,Test.ITTF", "","","",kFALSE}, - {"Test.srs.ITTF","","", "TpcRS,Simu,srs,svt,ssd,fss,bbcSim,emcY2,McEvOut,GeantOut,IdTruth," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.ITTF","","","svtIT,ssdIT,ITTF,event,analysis,EventQA,tags,EvOut,StarMagField,FieldOn" - ",IDST,CMuDst,analysis" ,"","","",kFALSE}, - {"Test.reco.ITTF","","","MakeEvent,tpcI,tcl,ftpc,SvtCL,Test.ITTF" ,"","","",kFALSE}, - {"Test.fast.ITTF","","","tfs,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna,SvtCL," - "tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,ITTF,Idst,event,analysis,EventQA,tags,EvOut," - "StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.VeryFast.ITTF","","","TpcFastSim,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna," - "SvtCL,tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,ITTF,Idst,event,analysis,EventQA,tags," - "EvOut,StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"nightly test (dev) chains","-----------","-----------","----------------------------","","","", kFALSE}, - {"MC----------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"MC.y2000" ,"","","trs,rrs,y1h,Idst,rich,IAna,l0,tpcI,tpxClu,NosvtIT,NossdIT," - "-Kink2,VFMinuit,geant,evout,IdTruth,tags,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2001" ,"","","trs,fss,rrs,y2001n,Idst,rich,IAna,l0,tpcI,tpxClu,ftpc,-Kink2," - "VFMinuit,geant,evout,IdTruth,tags,emcY2,GeantOut,big" ,"","","",kFALSE}, - {"MC.pp.y2001" ,"","","trs,rrs,fss,y2001n,Idst,rich,IAna,l0,tpcI,tpxClu,ftpc,-Kink2," - "VFMinuit,geant,evout,IdTruth,tags,emcY2,MiniMcMk,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2003" ,"","","trs,fss,y2003,Idst,IAna,l0,tpcI,tpxClu,ftpc,VFMinuit,bbcSim,tofsim," - "tags,emcY2,evout,IdTruth,geantout" ,"","","",kFALSE}, - {"MC.y2004" ,"","","trs,srs,fss,y2004,Idst,BAna,l0,tpcI,tpxClu,ftpc,VFMinuit,SvtIt,geant,evout," - "tags,bbcSim,tofsim,emcY2,EEfs,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2004a" ,"","","trs,srs,fss,y2004a,Idst,BAna,l0,tpcI,tpxClu,ftpc,VFMinuit,SvtIT,geant" - ",tags,bbcSim,tofsim,emcY2,EEfs,evout,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2005" ,"","","trs,srs,fss,ssd,y2005x,Idst,IAna,l0,tpcI,tpxClu,ftpc,SvtCL,svtDb," - "SsdIt,SvtIt,VFMinuit,geant,evout,tags,bbcSim,tofsim,emcY2,EEfs,GeantOut,big" - , "","","",kFALSE}, - {"MC.y2006" ,"","","trs,fss,y2006h,Idst,IAna,l0,tpcI,tpxClu,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2007" ,"","","trs,srs,ssd,fss,y2007,Idst,BAna,tpcI,tpxClu,ftpc,SvtIt,SsdIt," - "VFMinuit,MakeEvent,IdTruth,geant,tags,bbcSim,tofsim,emcY2,EEfs,evout,GeantOut,big" - "" ,"","","",kFALSE}, - {"MC.y2008" ,"","","trs,fss,y2008a,Idst,IAna,tpcI,tpxClu,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.in.y2008" ,"","","in,y2008e,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.in.y2009" ,"","","in,y2009c,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.y2009" ,"","","TpcRS,TpxClu,fss,y2009,Idst,IAna,tpcI,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2009a" ,"","","TpcRS,TpxClu,fss,y2009a,Idst,IAna,tpcI,ftpc,VFMinuit,NoSsdIt,NoSvtIt," - "MakeEvent,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2010a" ,"","","TpcRS,TpxClu,y2010a,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2010" ,"","","TpcRS,TpxClu,y2010,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"MC.fast.pp.y2011","","","y2011,Test.default.Fast.ITTF,bbcSim,btofsim,btofMatch,emcY2,emcSim,EEfs," - "NosvtIT,NossdIT,-sfs,-ssdFast,VFPPVnoCTB,beamline" ,"","","",kFALSE}, - {"MC.in.y2010" ,"","","in,y2010c,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.y2011" ,"","","TpcRS,TpxClu,y2011,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB" - ",TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.fast.y2011" ,"","","y2011,Test.default.Fast.ITTF,NosvtIT,NossdIT,-sfs,-ssdFast," - "VFPPVnoCTB,beamline,emcy2" ,"","","",kFALSE}, - {"MC.in.y2011" ,"","","in,y2011,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt,NoSvtIt," - "VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk,ReadAll" - , "","","",kFALSE}, - {"MC.y2012" ,"","","TpcRS,TpxClu,y2012,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2012a" ,"","","TpcRS,TpxClu,y2012a,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2012.eval" ,"","","in,y2012,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt,NoSvtIt" - ",VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk,ReadAll" - , "","","",kFALSE}, - {"MC.y2013" ,"","","TpcRS,TpxClu,y2013_1x,useXgeom,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"MC.y2014" ,"","","TpcRS,TpxClu,y2014,useXgeom,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"RC----------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"RC.y2000" ,"","","p2000,VFMinuit,CMuDst,NosvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.y2001" ,"","","P2001a,VFMinuit,ZDCvtx,CMuDst,NosvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2001" ,"","","pp2001a,VFMinuit,CMuDst,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2001.ppv" ,"","","pp2001a,VFPPV,beamLine,CMuDst,NossdIT" ,"","","",kFALSE}, - {"RC.y2003" ,"","","DbV20040520,dau2003i,in,-SvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2003.VFPPV" ,"","","pp2003,VFPPV,beamLine,CMuDst,-svtIT,NossdIT,Corr2,v0,xi","","","",kFALSE}, - {"RC.y2004" ,"","","P2004,DbV20041213" ,"","","",kFALSE}, - {"RC.y2004.NoSvt" ,"","","P2004,DbV20041213,-SsdIt,-SvtIt,pmdRaw" ,"","","",kFALSE}, - {"RC.y2004.NoSvt.pmd" ,"","","P2004,DbV20041213,pmdRaw,-SvtIT,-SsdIT" ,"","","",kFALSE}, - {"RC.pp.y2004" ,"","","pp2004,DbV20041213,beamLine" ,"","","",kFALSE}, - {"RC.y2005" ,"","","P2005,tofDat,MakeEvent,ssddat,sptd,SsdIt,SvtIt,pmdRaw,OShortR,OSpaceZ2" - , "","","",kFALSE}, - {"RC.pp.y2005" ,"","","pp2005a,tofdat,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.pp.y2006" ,"","","pp2006b,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2007" ,"","","DbV20080418,B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit3,emcDY2,ftpc,trgd," - "ZDCvtx,svtIT,ssdIT,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2007.NoSvt" ,"","","DbV20080418,B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit3,emcDY2,ftpc," - "trgd,ZDCvtx,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2008" ,"","","DbV20080712,P2008,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.y2008.notof" ,"","","DbV20080712,P2008,-ToF,-tofDat,-tofrMatch,-tofpMatch,-tofCalib,OSpaceZ2," - "OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2008" ,"","","DbV20080712,pp2008,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2008.Minuit","","","DbV20080712,pp2008,-VFPPV,VFMinuit,-ToF,-tofDat,-tofrMatch,-tofpMatch," - "-tofCalib,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2009" ,"","","pp2009c,VFMinuit,beamLine,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.pp.y2009.notof","","","pp2009c,VFMinuit,beamLine,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.pp.y2009.VFPP","","","pp2009c,VFPPVnoCTB,beamLine,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.y2010" ,"","","P2010a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,pmdReco", "","","",kFALSE}, - {"RC.y2010.notof" ,"","","P2010a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.pp.y2011.VFPPV","","","pp2011a,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt" ,"","","",kFALSE}, - {"RC.pp.y2011","","","pp2011a,VFMinuit,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt" - , "","","",kFALSE}, - {"RC.y2011" ,"","","P2011a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,pmdReco,mtdDat" - , "","","",kFALSE}, - {"RC.y2011.notof" ,"","","P2011a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,pmdReco,mtdDat" - , "","","",kFALSE}, - {"RC.y2012" ,"","","P2012a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,mtdDat,fmsDat" - , "","","",kFALSE}, - {"RC.y2012.notof" ,"","","P2012a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012" ,"","","pp2012a,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt,mtdDat,fmsDat", "","","",kFALSE}, - {"RC.pp.y2012.notof","","","pp2012a,VFPPVnoCTB,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012.notofMin","","","pp2012a,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.y2012b" ,"","","P2012b,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,mtdDat,fmsDat" - , "","","",kFALSE}, - {"RC.y2012b.notof" ,"","","P2012b,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b" ,"","","pp2012b,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt,mtdDat,fmsDat", "","","",kFALSE}, - {"RC.pp.y2012b.notof","","","pp2012b,VFPPVnoCTB,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b.notofMin","","","pp2012b,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b.notofMin","","","pp2012b,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2013","","","pp2013a,mtd,btof,fmsDat,fgt,fgtPoint,VFPPVnoCTB,beamline,BEmcChkStat,Corr4," - "OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.y2014","","","P2014a,mtd,btof,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"MC nightlies and Eval","--","-----------","------------------------------------------","","","",kFALSE}, - {"test_MC.stan.y2000","","","MC.y2000,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/cocktail/hadronic/default/standard/year_1h/half_field/hadronic_on/Gstardata/" - "hc_standard.40_evts.fz", kFALSE}, - {"test_MC.pp.y2001","","","MC.pp.y2001,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp200/pythia/default/minbias/year2001/hadronic_on/gstardata/pds0200_04_12812evts.fzd" - , kFALSE}, - {"test_MC.stan.y2001","","","MC.y2001,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/cocktail/hadronic/default/standard/year2001/hadronic_on/Gstardata/hc_standard.40_evts.fz" - , kFALSE}, - {"test_dau.MC.y2003" ,"","","MC.y2003,Sti,fzin,MiniMcMk","" - , "","/star/rcf/simu/rcf1197_05_5940evts.fzd",kFALSE}, - {"test_auauCtr.MC.y2004" ,"","","MC.y2004a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1209_05_80evts.fzd",kFALSE}, - {"test_auau.MC.y2004" ,"","","MC.y2004,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1207_01_225evts.fzd",kFALSE}, - {"test_cucu200.MC.y2005" ,"","","MC.y2005,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1216_05_200evts.fzd",kFALSE}, - {"test_cucu62.MC.y2005" ,"","","MC.y2005,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1237_01_500evts.fzd",kFALSE}, - {"test_pp200.MC.y2006" ,"","","MC.y2006,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9991_01_1000evts.fzd",kFALSE}, - {"test_auau200.MC.y2007" ,"","","MC.y2007,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"test_dau200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"test_pp500.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"test_auau11.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"test_auau200.MC.y2010","","","MC.y2010,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"test_auau39.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"test_auau62.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"test_auau7.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"test_auau200.MC.y2011","","","MC.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"test_pp500.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"test_pp500.pileup.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n" - " gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"test_CuAu200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"test_CuAu200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"test_pp200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"test_pp500.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"test_pp500.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"test_UU200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"test_UU200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"test.RC.centr.y2000","","","RC.y2000,Sti","","" - , "/star/rcf/test/daq/2000/09/st_physics_1248022_raw_0001.daq",kFALSE}, - {"test.RC.minb.y2000","","","RC.y2000,Sti","","" - , "/star/rcf/test/daq/2000/08/st_physics_1229021_raw_0003.daq",kFALSE}, - {"test.RC.cent.y2001d","","","RC.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq",kFALSE}, - {"test.RC.cent.y2001","","","RC.y2001,v0,xi,Sti","","" - , "/star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq",kFALSE}, - {"test.RC.minb.y2001d","","","RC.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq",kFALSE}, - {"test.RC.minb.y2001","","","RC.y2001,v0,xi,Sti","","" - , "/star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq",kFALSE}, - {"test.RC.pp.y2001d","","","RC.pp.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.pp.y2001","","","RC.pp.y2001.ppv,v0,xi,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.pp.y2001_vfppvd","","","RC.pp.y2001.ppv,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.dau.y2003","","","RC.y2003,ITTF,Sti","","" - , "/star/rcf/test/daq/2003/041/st_physics_4041002_raw_0020001.daq",kFALSE}, - {"test.RC.pp.y2003","","","RC.pp.y2003.VFPPV,Sti","","" - , "/star/rcf/test/daq/2003/095/st_physics_4095050_raw_0010002.daq",kFALSE}, - {"test.RC.auau.lo.y2004","","","RC.y2004,-SvtIT,-SsdIT,pmdRaw,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/044/st_physics_5044116_raw_3010002.daq",kFALSE}, - {"test.RC.auau.ph.y2004","","","RC.y2004,pmdRaw,-SvtIT,-SsdIT,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/044/st_physics_5044102_raw_1010003.daq",kFALSE}, - {"test.RC.auau.StiCA.y2004","","","RC.y2004,-SsdIt,-SvtIt,pmdRaw,StiCA","","" - , "/star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq",kFALSE}, - {"test.RC.auau.y2004","","","RC.y2004,-SsdIt,-SvtIt,pmdRaw,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq",kFALSE}, - {"test.RC.pp.y2004","","","RC.pp.y2004,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/134/st_physics_5134013_raw_2010010.daq",kFALSE}, - {"test.RC.cucu200.ht.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/054/st_physics_6054016_raw_1020005.daq",kFALSE}, - {"test.RC.cucu200.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/048/st_physics_6048025_raw_1020002.daq",kFALSE}, - {"test.RC.cucu22.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/083/st_physics_6083006_raw_1040002.daq",kFALSE}, - {"test.RC.cucu62.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/080/st_physics_6080011_raw_1020004.daq",kFALSE}, - {"test.RC.pp200.y2005","","","RC.pp.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/171/st_physics_6171062_raw_2040010.daq",kFALSE}, - {"test.RC.pp200.Long.y2006","","","RC.pp.y2006,ITTF,Sti","","" - , "/star/rcf/test/daq/2006/155/7155010/st_physics_7155010_raw_1020003.daq",kFALSE}, - {"test.RC.pp200.Trans.y2006","","","RC.pp.y2006,ITTF,Sti","","" - , "/star/rcf/test/daq/2006/129/7129023/st_physics_7129023_raw_1020003.daq",kFALSE}, - {"test.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"test.RC.auau200.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq",kFALSE}, - {"test.RC.dau200.y2008","","","RC.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"test.RC.pp200.y2008","","","RC.pp.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"test.RC.pp200.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"test.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"test.RC.auau11.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"test.RC.auau200.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"test.RC.auau39.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"test.RC.auau62.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"test.RC.auau7.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/143/st_physics_11143043_raw_1020001.daq",kFALSE}, - {"test.RC.auau200.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"test.RC.auau20.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"test.RC.auau27.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"test.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"test.RC.cuAu200.AgML.y2012","","","RC.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"test.RC.cuAu200.y2012","","","RC.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"test.RC.pp200.AgML.y2012","","","RC.pp.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"test.RC.pp200.y2012","","","RC.pp.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"test.RC.pp500.AgML.y2012","","","RC.pp.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"test.RC.pp500.y2012","","","RC.pp.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"test.RC.UU193.AgML.y2012","","","RC.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"test.RC.UU193.y2012","","","RC.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"test.RC.pp500.y2013","","","RC.pp.y2013,Sti","","" - , "/star/rcf/test/daq/2013/079/st_physics_14079008_raw_1920004.daq",kFALSE}, - {"test.RC.AuAu15.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/069/st_physics_15069008_raw_2500008.daq",kFALSE}, - {"test.RC.AuAu200.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/086/st_physics_15086051_raw_2500017.daq",kFALSE}, - {"test.RC.AuAu200.mid.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/146/st_mtd_15146050_raw_1000030.daq",kFALSE}, - {"test.RC.He3Au200.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/171/st_physics_15171039_raw_2000008.daq",kFALSE}, - {"eval_Sti_auau200.MC.y2007" ,"","","MC.y2007,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"eval_StiCA_auau200.MC.y2007","","","MC.y2007,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_dau200.MC.y2008","","","MC.y2008,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp200.MC.y2008","","","MC.y2008,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_dau200.MC.y2008","","","MC.y2008,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp200.MC.y2008","","","MC.y2008,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_Sti_dau200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_StvCA_dau200.MC.Stv.y2008","","","MC.in.y2008,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11025_2040_100evts.event.root",kFALSE}, - {"eval_Stv_dau200.MC.y2008","","","MC.in.y2008,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11025_2040_100evts.event.root",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2009","","","MC.y2009a,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp200.MC.y2009","","","MC.y2009a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp500.MC.y2009","","","MC.y2009a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"eval_Sti_pp500.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_StvCA_pp500.MC.y2009","","","MC.in.y2009,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11026_1020_50evts_pileup.event.root",kFALSE}, - {"eval_Stv_pp500.MC.y2009","","","MC.in.y2009,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11026_1020_50evts_pileup.event.root",kFALSE}, - {"eval_Sti.AgML_auau11.MC.y2010","","","MC.y2010a,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_auau200.MC.y2010","","","MC.y2010,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_Sti_auau11.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau200.MC.y2010","","","MC.y2010,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_Sti_auau39.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau62.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau7.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau11.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau200.MC.y2010","","","MC.y2010,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_StiCA_auau39.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau62.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau7.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_Stv_auau200.MC.y2010","","","MC.in.y2010,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11022_2241_50evts.event.root",kFALSE}, - {"eval_StvCA_auau200.MC.y2010","","","MC.in.y2010,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11022_2241_50evts.event.root",kFALSE}, - {"eval_StvCA_auau39.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_StvCA_auau62.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_StvCA_auau7.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_auau200.MC.y2011","","","MC.y2011,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2011","","","MC.fast.y2011,AgML,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_Sti_auau200.MC.y2011","","","MC.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"eval_StiCA_pp500.MC.y2011","","","MC.fast.y2011,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_StiCA_pp500.pileup.MC.y2011","","","MC.fast.y2011,StiCA,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n " - "gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"eval_Sti_pp500.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_Sti_pp500.pileup.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n" - " gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"eval_Stv_auau200.MC.y2011","","","MC.in.y2011,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.event.root",kFALSE}, - {"eval_StvCA_auau200.MC.y2011","","","MC.in.y2011,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.event.root",kFALSE}, - {"eval_Sti.AgML_CuAu200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_UU200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"eval_Sti_CuAu200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"eval_Sti_pp500.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"eval_Sti_UU200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,AgML,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StiCA.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,StiCA","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2007","","","RC.y2007,pmdReco,StiCA","","" - , "/star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq",kFALSE}, - {"eval_Sti.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.MB.y2007","","","RC.y2007,Stv,AgML","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StvCA.RC.auau200.MB.y2007","","","RC.y2007.NoSvt,StvCA","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Stv.RC.auau200.MB.y2007","","","RC.y2007.NoSvt,Stv","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Sti.AgML.RC.dau200.y2008","","","RC.y2008,ITTF,AgML,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StiCA.RC.dau200.y2008","","","RC.y2008,StiCA","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2008","","","RC.pp.y2008,StiCA","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Sti.RC.dau200.y2008","","","RC.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2008","","","RC.pp.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.dau200.y2008","","","RC.y2008.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StvCA.RC.dau200.y2008","","","RC.y2008.notof,StvCA","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2008","","","RC.pp.y2008.Minuit,StvCA","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Stv.RC.dau200.y2008","","","RC.y2008.notof,Stv","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2008","","","RC.pp.y2008.Minuit,Stv","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2009","","","RC.pp.y2009.VFPP,StiCA","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_StiCA.RC.pp500.y2009","","","RC.pp.y2009.VFPP,StiCA","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp500.y2009","","","RC.pp.y2009,Stv,AgML","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2009","","","RC.pp.y2009,StvCA","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2009","","","RC.pp.y2009,StvCA","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2009","","","RC.pp.y2009,Stv","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2009","","","RC.pp.y2009,Stv","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau200.y2010","","","RC.y2010.notof,AgML,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau39.y2010","","","RC.y2010.notof,AgML,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StiCA.RC.auau11.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_StiCA.RC.auau39.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StiCA.RC.auau62.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Sti.RC.auau11.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_Sti.RC.auau200.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Sti.RC.auau39.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_Sti.RC.auau62.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.y2010","","","RC.y2010.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau39.y2010","","","RC.y2010.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StvCA.RC.auau11.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_StvCA.RC.auau200.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_StvCA.RC.auau39.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StvCA.RC.auau62.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Stv.RC.auau11.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_Stv.RC.auau200.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Stv.RC.auau39.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_Stv.RC.auau62.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau200.y2011","","","RC.y2011,AgML,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau20.y2011","","","RC.y2011,AgML,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_StiCA.RC.auau20.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StiCA.RC.auau27.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_StiCA.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,StiCA","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Sti.RC.auau200.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Sti.RC.auau20.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Sti.RC.auau27.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.y2011","","","RC.y2011,Stv,AgML","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau20.y2011","","","RC.y2011,Stv,AgML","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.auau200.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_StvCA.RC.auau20.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.auau27.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2011","","","RC.pp.y2011,pmdReco,mtdDat,StvCA","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Stv.RC.auau200.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Stv.RC.auau20.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Stv.RC.auau27.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2011","","","RC.pp.y2011,pmdReco,mtdDat,Stv","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp200.y2012","","","RC.pp.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2012","","","RC.pp.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Sti.AgML.RC.UU193.y2012","","","RC.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2012","","","RC.pp.y2012,StiCA","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2012","","","RC.pp.y2012,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2012","","","RC.pp.y2012,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Sti.RC.UU193.y2012","","","RC.y2012,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_Stv.AgML.RC.cuAu200.y2012","","","RC.y2012b.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp200.y2012","","","RC.pp.y2012.notofMin,Stv,AgML","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp500.y2012","","","RC.pp.y2012.notofMin,Stv,AgML","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Stv.AgML.RC.UU193.y2012","","","RC.y2012b.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.cuAu200.y2012","","","RC.y2012b.notof,StvCA","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2012","","","RC.pp.y2012.notofMin,StvCA","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2012","","","RC.pp.y2012.notofMin,StvCA","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_StvCA.RC.UU193.y2012","","","RC.y2012b.notof,StvCA","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_Stv.RC.cuAu200.y2012","","","RC.y2012b.notof,Stv","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2012","","","RC.pp.y2012.notofMin,Stv","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2012","","","RC.pp.y2012.notofMin,Stv","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Stv.RC.UU193.y2012","","","RC.y2012b.notof,Stv","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"doEvents" ,"" ,"","in,StEvent,analysis,NoDb" ,"","","",kFALSE}, - {"MakeMuDst","","","in,StEvent,CMuDST,Tree,nodefault,NoHistos,ReadAll","","" ,"StEvent => MuDst",kFALSE}, - {"drawDst" ,"" ,"","in,ry1h,globT,SCL,geant,display,NoDb,TbUtil" ,"","","",kFALSE}, - {"Cdst" ,"" ,"","ITTF,event,analysis,EventQA" ,"","","",kFALSE}, - {"C1default" ,"" ,"","rich,l0,Cdst,tags,Tree,EvOut,NoHits" ,"","","Year 1 chain",kFALSE}, - {"C2default" ,"" ,"","rich,l0,Cdst,tags,Tree,EvOut,ftpc,svt,emcY2" ,"","","Year 2 chain",kFALSE}, - {"C3default" ,"" ,"","l0,Cdst,tags,Tree,EvOut,NoHits,ftpc,svt,bbcsim,emcY2" - , "","","Year 3 simu base chain",kFALSE}, - {"CAdefault" ,"" ,"","l0,Cdst,tags,Tree,EvOut,NoHits,ftpc,svt,emcY2","","","Assymptotic chain",kFALSE}, - {"Cy1a" ,"" ,"","y1a,C1default" ,"","","Turn on chain y1a",kFALSE}, - {"Cy1b" ,"" ,"","y1b,C1default" ,"","","Turn on chain y1b",kFALSE}, - {"Cy1s" ,"" ,"","y1s,C1default" ,"","","Turn on chain y1s",kFALSE}, - {"Cy1d" ,"" ,"","y1d,C1default" ,"","","Turn on chain y1d",kFALSE}, - {"cy1e" ,"" ,"","y1e,C1default" ,"","","Turn on chain y1h",kFALSE}, - {"cy1h" ,"" ,"","y1h,C1default" ,"","","Turn on chain y1e",kFALSE}, - {"Cy2a" ,"" ,"","y2a,CAdefault" ,"","","Turn on chain y2a",kFALSE}, - {"Cy2b" ,"" ,"","y2b,C2default" ,"","","Turn on chain y2b",kFALSE}, - {"C2000" ,"" ,"","y2000,C1default" ,"","","Turn on chain Y2000",kFALSE}, - {"C2001" ,"" ,"","y2001,C2default" ,"","","Turn on chain Y2001",kFALSE}, - {"C2003" ,"" ,"","y2003,C3default" ,"","","Turn on chain Y2003",kFALSE}, - {"C2003X" ,"" ,"","y2003X,C3default" ,"","","Turn on chain Y2003X (full B/E EMC)",kFALSE}, - {"mdc3" ,"" ,"","cy1h,GeantOut" ,"","","MDC3 default chain",kFALSE}, - {"MDC4" ,"" ,"","C2001,trs,tpc_daq,Simu,srs,fss,rrs,big,GeantOut","","","Turn on chain for MDC4",kFALSE}, - {"MDC4New" ,"" ,"","y2001n,C2default,trs,tpc_daq,Simu,srs,fss,rrs,big,GeantOut","","" - , "Turn on chain for MDC4 (for after September)",kFALSE}, - {"PostMDC4" ,"" ,"","C2001,trs,tpc_daq,Simu,sss,fss,rrs,big,GeantOut" - , "","","Turn on Post MDC4 chain",kFALSE}, - {"ppMDC4","","","ppOpt,C2001,mwc,trs,tpc_daq,Simu,srs,rrs,big,GeantOut" - , "","","Turn on chain for ppMDC",kFALSE}, - {"dAuMDC" ,"" ,"","ppOpt,C2003,trs,tpc_daq,Simu,srs,fss,big,GeantOut","","","Chain for d+Au",kFALSE}, - {"dAuMDCa" ,"" ,"","ppOpt,C2003,trs,tpc_daq,Simu,srs,fss,big,GeantOut,est","","","Chain for d+Au",kFALSE}, - {"CComplete" ,"" ,"","Complete,C2default" ,"","","Turn on chain for Complete STAR",kFALSE}, - {"SvtD" ,"","","SvtCalDb,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit", "","","SVT chain for Data",kFALSE}, - {"P00h" ,"" ,"","ry1h,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,ExB,NoHits","","" - , "Production chain for summer 2000 data",kFALSE}, - {"P2000" ,"" ,"","ry2000,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,ExB,NoHits","","" - , "Production chain for summer 2000 data",kFALSE}, - {"B2000" ,"","","ry2000,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,NosvtIT,NossdIT","","" - , "Base chain for 2001 (tpc+rhic)",kFALSE}, - {"P2000a" ,"" ,"","B2000,Corr1","","" ,"Production chain for summer 2000 data",kFALSE}, - {"B2001" ,"" ,"","ry2001,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,svtDb","","" - ,"Base chain for 2001 (tpc+rhic)" ,kFALSE}, - {"P2001" ,"" ,"","B2001,l3onl,tofDat,Corr2,OSpaceZ","","" - , "Production chain for summer 2001 data (+ l3, tof)",kFALSE}, - {"P2001a" ,"" ,"","B2001,svt_daq,SvtD,ftpc,l3onl,tofDat,emcDY2,Corr2,OSpaceZ","","" - , "Production chain for summer 2001 data (+ ftpc, svt, l3, tof, emc)",kFALSE}, - {"pp2001","","","ppOpt,B2001,-PreVtx,l3onl,tofDat,emcDY2,Corr2","","" ,"pp 2001 (+ l3, tof, emc)",kFALSE}, - {"pp2001a" ,"" ,"","pp2001,svt_daq,SvtD,ftpc","","" ,"pp 2001 (+ ftpc, svt, l3, tof, emc)",kFALSE}, - {"B2003" ,"" ,"","ry2003,in,tpc_daq,tpc,Physics,Cdst,Kalman,tags,Tree,evout,svtDb","","" - , "Base chain for 2003 (tpc)",kFALSE}, - {"dau2003" ,"" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc","","" - , "Production chain for winter 2003 data (+ tof, svt (no est), ftpc, emc)",kFALSE}, - {"dau2003a" ,"" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd","","" - , "Production chain for winter 2003 data (+ tof, svt (no est), ftpc, emc, trgd)",kFALSE}, - {"pp2003" , "" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd","","" - , "Production chain for Spring 2003 data (+ tof, svt (no est), ftpc, emc, trgd)",kFALSE}, - {"Idst" ,"" ,"", "event,compend,EventQA" ,"","","Turn on DST for ITTF",kFALSE}, - {"IAna" ,"" ,"","dEdxY2,Kink2,xi2,CMuDst,analysis","","" ,"Turn on Xi, Kink, dEdx and MuDst",kFALSE}, - {"BAna" ,"" ,"","dEdxY2,CMuDst,analysis" ,"","" ,"Turn on dEdx and MuDst",kFALSE}, - {"B2003I" ,"","","ry2003,in,TpxRaw,TpxClu,Idst,l0,tags,Tree,evout,svtDb" - , "","","Base chain for 2003 ITTF",kFALSE}, - {"dau2003i" ,"","","B2003I,IAna,CtbMatchVtx,Corr2,ppOpt,l3onl,tofDat,emcDY2,svt_daq,SvtD,ftpc,trgd" - , "","","Production chain for winter 2003 data dau2003a with ITTF",kFALSE}, - {"pp2003i","","","B2003I,IAna,CtbMatchVtx,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd" - , "","","Production chain for winter 2003 data dau2003a with ITTF",kFALSE}, - {"B2004" ,"","","ry2004,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2004 ITTF (tpc+svt)",kFALSE}, - {"P2004","" ,"","B2004,IAna,fcf,VFMinuit,ToF,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr4,OSpaceZ2" - , "","","Production chain for 2003/2004 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2004" ,"" ,"", - "B2004,IAna,fcf,ppOpt,VFppLMV5,CtbMatchVtx,ToF,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr4,OSpaceZ2" - , "","","Production chain for 2003/2004 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2005" ,"","","ry2005b,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF (tpc+svt)",kFALSE}, - {"B2005a" ,"" ,"","ry2005b,in,tpc_daq,tpcI,Physics,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2005 ITTF (tpc only)",kFALSE}, - {"B2005b" ,"" ,"","ry2005f,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF Geo f (tpc+svt only)",kFALSE}, - {"B2005c" ,"" ,"","ry2005g,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF Geo g (tpc+svt only + dead material)",kFALSE}, - {"P2005" ,"" ,"", "B2005,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2005b" ,"" ,"", "B2005b,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2005c" ,"" ,"", "B2005c,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005","" ,"","B2005,IAna,fcf,ppOpt,VFppLMV5,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005a","","","B2005a,IAna,fcf,ppOpt,VFPPV,beamline,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,Corr4" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005b","","", "B2005b,IAna,fcf,ppOpt,VFPPV,beamline,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,Corr4" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2006" ,"" ,"","ry2005d,in,tpc_daq,tpcI,svt_daq,SvtD,Idst,tags,Tree,evout,ssdDb","","" - , "Base chain for 2006 ITTF (tpc+svt)",kFALSE}, - {"B2006a" ,"" ,"","ry2005d,in,tpc_daq,tpcI,Idst,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 with 2005d geom ITTF (tpc only)",kFALSE}, - {"B2006b" ,"" ,"","ry2006,in,tpc_daq,tpcI,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 ITTF (tpc only)",kFALSE}, - {"B2006g" ,"" ,"","ry2006g,in,tpc_daq,tpcI,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 ITTF geo g (tpc only)",kFALSE}, - {"pp2006a" ,"" ,"", - "B2006a,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr3" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2006b" ,"" ,"", - "B2006b,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr4,BeamBack" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2006g" ,"" ,"", - "B2006g,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr4,BeamBack" - , "","","Production chain for 2005 pp data geo g (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"T2007","","","ry2007g,MakeEvent,in,tpc_daq,tpcI,fcf,Tree,evout" - , "","","TPC only chain, 2007 ITTF",kFALSE}, - {"B2007","","","ry2007,MakeEvent,in,tpc_daq,tpcI,fcf,svt_daq,SvtD,ssddat,sptd,Idst,tags,Tree,evout" - , "","","Base chain for 2007 ITTF (tpc+svt+ssd)",kFALSE}, - {"B2007g","","","ry2007g,MakeEvent,in,tpc_daq,tpcI,fcf,svt_daq,SvtD,ssddat,sptd,Idst,tags,Tree,evout" - , "","","Base chain for 2007 ITTF geo g (tpc+svt+ssd)",kFALSE}, - {"P2007" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr5" - , "","","Production chain for 2007 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007g" ,"" ,"", - "B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit2,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr5" - , "","","Production chain for 2007 data, revised 2008 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007a" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr3" - , "","","Production chain for 2007 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007b" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr4" - , "","","Production chain for 2007 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2008" ,"","","ry2008,in,tpc_daq,tpcI,fcf,Idst,tags,Tree,evout","","" - , "Base chain for 2008 ITTF (tpc)",kFALSE}, - {"B2008a","","","ry2008,in,tpcX,ToFx,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2008 ITTF (tpc+tof)",kFALSE}, - {"P2008a" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr3,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008b" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008a" ,"" ,"", - "B2008,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008c" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008c" ,"" ,"", - "B2008,IAna,hitfilt,ppOpt,Minuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008" ,"" ,"", - "B2008a,IAna,hitfilt,ppOpt,VFPPV,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008" ,"" ,"", - "B2008a,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2009.1","","","ry2009,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"B2009.2","","","ry2009a,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"B2009.3","","","ry2009d,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"pp2009a" ,"" ,"", - "B2009.1,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2009 data - no Corr (+ l3, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2009b" ,"" ,"", - "B2009.1,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2009 data - no Corr (+ l3, ftpc, e/b-emc, no trigger)",kFALSE}, - {"pp2009c" ,"" ,"", - "B2009.2,BAna,hitfilt,ppOpt,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis","","" - , "Production chain for 2009 data - no Corr, no VF (+l3, ftpc, e/b-emc, trig)",kFALSE}, - {"pp2009d" ,"" ,"", - "B2009.3,BAna,hitfilt,ppOpt,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis","","" - , "Production chain for 2009 data - no Corr, no VF (+l3, ftpc, e/b-emc, trig)",kFALSE}, - {"B2010","","","ry2010,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2010 ITTF (tpc)",kFALSE}, - {"B2010c","","","ry2010c,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2010 ITTF (tpc)",kFALSE}, - {"P2010a","" ,"", - "B2010,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2010a","" ,"", - "B2010,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"P2010c","" ,"", - "B2010c,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2010c","" ,"", - "B2010c,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"B2011","","","ry2011,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2011 ITTF (tpc)",kFALSE}, - {"P2011a","" ,"", - "B2011,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2011a","" ,"", - "B2011,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"B2012","","","ry2012,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2012 ITTF (tpc)",kFALSE}, - {"pp2012a","" ,"","B2012,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2012 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"P2012a","" ,"", - "B2012,BAna,hitfilt,VFMinuit,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, e/b-emc)",kFALSE}, - {"B2012b","","","ry2012a,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2012 ITTF (tpc)",kFALSE}, - {"pp2012b","" ,"", - "B2012b,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2012 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"P2012b","" ,"", - "B2012b,BAna,hitfilt,VFMinuit,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, e/b-emc)",kFALSE}, - {"B2013","","","in,tpcX,UseXgeom,ITTF,NosvtIT,NossdIT,tpcDB,TpcHitMover,Idst,tags,Tree,evout," - "btof,mtd,BAna,emcDY2,trgd,ZDCvtx","","", "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"B2013x","","","ry2013_1x,B2013","","", "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"pp2013x","","","B2013x,BAna,emcDY2,trgd,ZDCvtx" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"B2013" ,"","","B2013_c2","","", "Alias for B2013 Configuration 2",kFALSE}, - {"B2013_c2","","","ry2013_2c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"B2013_c1","","","ry2013_1c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"pp2013a","" ,"", - "B2013_c2,ITTF,UseXgeom,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis", - "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"pp2013b","" ,"", - "B2013_c1,ITTF,UseXgeom,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"pp2013","" ,"", - "BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"B2014" ,"","","ry2014,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2014 ITTF (tpc)",kFALSE}, - {"B2014a","","","ry2014a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2014a ITTF (tpc)",kFALSE}, - {"P2014","" ,"", - "B2014,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for 2014 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2014a","" ,"", - "B2014a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis," - , "","","Production chain for 2014 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2015" ,"","","ry2015,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2015 ITTF (tpc)",kFALSE}, - {"B2015a" ,"","","ry2015a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015a data",kFALSE}, - {"B2015b" ,"","","ry2015b,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015 with y2015b geometry",kFALSE}, - {"B2015c" ,"","","ry2015c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015 with y2015c geometry",kFALSE}, - {"pp2015","" ,"", - "B2015,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2015 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015a","" ,"", - "B2015a,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015a data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015b","" ,"", - "B2015b,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015b data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015c","" ,"", - "B2015c,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015c data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015","" ,"", - "B2015,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2015 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015a","" ,"", - "B2015a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015a data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015b","" ,"", - "B2015b,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015b data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015c","" ,"", - "B2015c,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015c data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2016" ,"","","ry2016,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2016 ITTF (tpc)",kFALSE}, - {"P2016","" ,"", - "B2016,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2016 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2016a" ,"","","ry2016a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Production chain for 2016 data (tpc)",kFALSE}, - {"P2016a","" ,"", - "B2016a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2016 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2017" ,"","","ry2017,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2017 data (tpc)",kFALSE}, - {"pp2017","" ,"", - "B2017,Sti,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2017 pp data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2017","" ,"", - "B2017,Sti,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2017 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2017a" ,"","","ry2017a,in,tpcX,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite","","" - , "Production chain for run 2017 data (tpc)",kFALSE}, - {"pp2017a","" ,"", - "B2017a,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline3D,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for year 2017 pp data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2017a","" ,"", - "B2017a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,beamline3D,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for year 2017 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2018a" ,"","","ry2018a,in,tpcX,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite","","" - , "Base chain for run 2018 data (tpc)",kFALSE}, - {"P2018a","" ,"", - "B2018a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,beamline3D,l3onl,emcDY2,epdHit,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2018 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2019a" ,"","","ry2019a,in,tpcX,UseXgeom,iTpcIT,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite", - "","", "Base chain for run 2019 data (tpc)",kFALSE}, - {"P2019a","" ,"", - "B2019a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,beamline3D,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2019 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2020a" ,"","", - "ry2020a,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2020 data (tpc)",kFALSE}, - {"P2020a","" ,"", - "B2020a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2020 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2021a" ,"","", - "ry2021a,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2020 data (tpc)",kFALSE}, - {"P2021a","" ,"", - "B2021a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2020 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2022" ,"","", - "ry2022,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2022 data (tpc)",kFALSE}, - {"pp2022","" ,"", - "B2022,ITTF,BAna,hitfilt,ppOpt,ImpBToFt0Mode,VFPPVnoCTB,beamline3D,l3onl,etofa,btof,mtd,emcDY2,FttDat,fcs,trgd,ZDCvtx,analysis", - "","","Production chain for year 2022 pp data - no Corr (+ l3, epd, mtf, b/etof, fcs, e/b-emc)",kFALSE}, - {"LaserCal0","" ,"","db,detDb,tpc_daq,tpcDb,tcl,globT,laser,LaserTest","","" - , "Laser Calibration Chain (tcl)",kFALSE}, - {"LaserCal","" ,"","db,detDb,tpc_daq,tpcDb,fcf,globT,laser,LaserTest","","" - , "Laser Calibration Chain",kFALSE}, - {"L3Counter","" ,"","db,detDb,in,l3count","","", "L3 Counter extraction pass",kFALSE}, - {"VtxSeedCal","","","ppOpt,ry2001,in,tpc_daq,tpc,globT,-Tree,Physics,-PreVtx,FindVtxSeed,NoEvent,Corr2" - , "","","Pass0 Vertex evaluator",kFALSE}, - {"SpcChgCal","","","B2004,fcf,Corr3,OSpaceZ2,OShortR,SCEbyE,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 SpaceCharge evaluator",kFALSE}, - {"SpcChgCalG","","","MuDST,fcf,Corr4,OSpaceZ2,OGridLeak3D,SCEbyE,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 SpaceCharge evaluator with GridLeak, no geo or tracker dependence",kFALSE}, - {"VtxSeedCalG","","","MuDST,fcf,Corr4,FindEvtVtxSeed,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 Vertex evaluator",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"OPTIONS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ITTF" ,"","","","","","request to use one of Sti(default), StiCA, Stv,StvCA, ... trackers",kFALSE}, - {"NoHits" ,"" ,"","" ,"","","Don\'t write hits into Event.Branch",kFALSE}, - {"Kalman" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Eval" ,"" ,"","","","" ,"Turn on evaluation switch for different makers",kFALSE}, - {"Ev03" ,"" ,"","","","" ,"Turn on alternative V0 method",kFALSE}, - {"off" ,"" ,"","","","" ,"Turn off default chain",kFALSE}, - {"clearDAQCTB" ,"" ,"","","" ,"" ,"clear DAQ CTB Hits for embedding",kFALSE}, - {"NoInput" ,"" ,"","","" ,"" ,"No input file",kFALSE}, - {"util" ,"" ,"","","","StAnalysisUtilities", "Load StAnalysisUtilities",kFALSE}, - {"StUtilities" ,"" ,"","","","StUtilities", "Load StUtilities",kFALSE}, - {"FieldOn" ,"" ,"","MagF" ,"","" ,"Constant nominal field",kFALSE}, - {"FieldOff" ,"" ,"","MagF" ,"","" ,"No Field option",kFALSE}, - {"HalfField" ,"" ,"","MagF" ,"","","Half Field option",kFALSE}, - {"ReverseField","" ,"","MagF" ,"","","Reverse Field option",kFALSE}, - {"NoCintDb" ,"" ,"","" ,"","","Switch off all Cint Db",kFALSE}, - {"NoStarCintDb","" ,"","" ,"","","Switch off standard Cint Db",kFALSE}, - {"NoLocalCintDb","" ,"","" ,"","","Switch off local Cint Db",kFALSE}, - {"NoMySQLDb" ,"" ,"","" ,"","","Switch off MySQL Db",kFALSE}, - {"NoCintCalDb" ,"" ,"","NoLocalCintDb" ,"","","Switch off local Cint Db",kFALSE}, - {"dbSnapshot" ,"" ,"","" ,"","","Create?use dbSnapshot",kFALSE}, - {"NoEvent" ,"" ,"","-event,-analysis" ,"","","Switch Off StEvent and StAnalysis Makers",kFALSE}, - {"MakeDoc" ,"" ,"","" ,"","","Make HTML documentation for the given Chain",kFALSE}, - {"Debug" ,"" ,"","" ,"","","Set debug flag = 1",kFALSE}, - {"Debug1" ,"" ,"","" ,"","","Set debug flag = 1",kFALSE}, - {"Debug2" ,"" ,"","" ,"","","Set debug flag = 2",kFALSE}, - {"IdTruth" ,"" ,"","" ,"","","Enable IdTruth association in StAssociationMaker",kFALSE}, - {"OldMiniMc" ,"" ,"","" ,"","","Keep pre-2008 convention for MiniMc",kFALSE}, - {"useInTracker","" ,"","","","" ,"switch from EGR to ITTF global tracks in StAssociationMaker",kFALSE}, - {"noRepeat" ,"" ,"","" ,"","","No repeat in Messenger",kFALSE}, - {"noHistos" ,"" ,"","" ,"","","Disables Attributes histos",kFALSE}, - {"noRunco" ,"" ,"","" ,"","","Disables Attributes runco",kFALSE}, - {"Higz" ,"" ,"","" ,"","","Pop Higz window",kFALSE}, - {"big" ,"" ,"","" ,"","","Set NwGEANT =20Mwords",kFALSE}, - {"bigbig" ,"" ,"","" ,"","","Set NwGEANT =40Mwords",kFALSE}, - {"huge" ,"" ,"","" ,"","","Set NwGEANT =80Mwords",kFALSE}, - {"clearmem" ,"" ,"","" ,"","","Obsolete",kFALSE}, - {"adcOnly" ,"" ,"","" ,"","","DAQMaker selects only TPC ADC events",kFALSE}, - {"InTree" ,"" ,"","in","" ,"","bfcTree Input Tree name",kFALSE}, - {"OutTree" ,"" ,"","Tree","" ,"","bfcTree Output Tree name",kFALSE}, - {"DstOut" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"McEvOut" ,"" ,"","StMcEvent,Tree" ,"","","Write StMcEvent to StTree",kFALSE}, - {"EvOut" ,"" ,"","Tree" ,"","","Write StEvent to StTree",kFALSE}, - {"GeantOut" ,"" ,"","Tree" ,"","","Write g2t tables to StTree",kFALSE}, - {"Simu" ,"" ,"","" ,"","","Simulated Data, force to use Db time stamp from used geometry",kFALSE}, - {"HitsBranch" ,"" ,"","" ,"","","take out points from dst branch and put them into HitsBranch",kFALSE}, - {"paw" ,"" ,"","" ,"","","Allocate memory for pawc",kFALSE}, - {"AllEvent" ,"" ,"","Tree" ,"","","Write whole event to StTree",kFALSE}, - {"AllTables" ,"" ,"","","" ,"St_Tables","Load Star Tables",kFALSE}, - {"FXT" ,"" ,"","btofFXT","" ,"","enable anything FXT-specific",kFALSE}, - {"btofFXT" ,"" ,"","","" ,"","enable FXT mode for btof",kFALSE}, - {"Corr1" ,"" ,"","AlignSectors,ExB,OBmap,OClock,OPr13","","" - , "... AlignSectors,ExB,OBmap,OClock,OPr13 ...",kFALSE}, - {"Corr2" ,"" ,"","Corr1,OTwist,OIFC" ,"","","...Corr1+OTwist,OIFC ...",kFALSE}, - {"Corr3" ,"" ,"","AlignSectors,ExB,OBmap2D,OClock,OPr13,OTwist,OIFC","","" - , "... AlignSectors,ExB,OBmap2D,OClock,OPr13,OTwist,OIFC ...",kFALSE}, - {"Corr4" ,"" ,"","Corr3,OShortR" ,"","","... Corr3+OShortR...",kFALSE}, - {"Corr5" ,"" ,"","Corr4,SCEbyE,OGridLeak3D,OSpaceZ2","","" - , "... Corr4+SCEbyE,OGridLeak3D,OSpaceZ2...",kFALSE}, - {"CorrX" ,"" ,"","ExB,OShortR,OBmap,OPr13,OIFC,OSectorAlign,NewTpcAlignment" - ",-AlignSectors,-OBmap2D,-OClock,-OTwist" ,"","","New Tpc Alignment",kFALSE}, - {"CorrY" ,"" ,"","ExB,OShortR,OBmap,OPr40,OIFC,OSectorAlign,NewTpcAlignment,OSpaceZ2,OGridLeakFull" - ",-AlignSectors,-OBmap2D,-OClock,-OTwist" ,"","","New Tpc Alignment",kFALSE}, - {"ExB" ,"" ,"","","" ,"","Activate ExB correction",kFALSE}, - {"EB1" ,"" ,"","","" ,"","Force ExB configuration 1",kFALSE}, - {"EB2" ,"" ,"","","" ,"","Force ExB configuration 2",kFALSE}, - {"OBmap" ,"" ,"","","" ,"","ExB shape correction",kFALSE}, - {"OBmap2D" ,"" ,"","","" ,"","ExB 2 D shape correction",kFALSE}, - {"OTwist" ,"" ,"","","" ,"","ExB twist correction",kFALSE}, - {"OClock" ,"" ,"","","" ,"","Clock/tpc rot. correction",kFALSE}, - {"OPr13" ,"" ,"","","" ,"","PadRow 13 distortion",kFALSE}, - {"OPr40" ,"" ,"","","" ,"","PadRow 40 distortion",kFALSE}, - {"OCentm" ,"" ,"","","" ,"","Central membrane correction",kFALSE}, - {"OECap" ,"" ,"","","" ,"","EndCap (curved) correction",kFALSE}, - {"OIFC" ,"" ,"","","" ,"","Field Cage correction",kFALSE}, - {"OSpaceZ" ,"" ,"","","" ,"","Space Charge corrections",kFALSE}, - {"OSpaceZ2" ,"" ,"","","" ,"","Space Charge corrections R2",kFALSE}, - {"OShortR" ,"" ,"","","" ,"","Shorted Ring correction",kFALSE}, - {"OGridLeak" ,"" ,"","","" ,"","Grid Leak correction",kFALSE}, - {"OGridLeak3D" ,"" ,"","","" ,"","3D Grid Leak correction",kFALSE}, - {"OGridLeakFull","" ,"","","" ,"","Full Grid Leak correction",kFALSE}, - {"OGGVoltErr" ,"" ,"","","" ,"","GG voltage error correction",kFALSE}, - {"OSectorAlign","" ,"","","" ,"","Sector alignment distortion correction",kFALSE}, - {"ODistoSmear" ,"" ,"","","" ,"","Distortion smearing accounting for calibration resolutions",kFALSE}, - {"OAbortGap" ,"" ,"","","" ,"","Abort gap cleaning event distortion correction",kFALSE}, - {"AlignSectors","" ,"","","" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"EbyET0" ,"" ,"","","" ,"","Event-by-event T0 corrections",kFALSE}, - {"DbRichSca" ,"" ,"","detdb","","", "Force reading of Rich scalers from DB",kFALSE}, - {"EastOff" ,"" ,"","","" ,"","Disactivate East part of tpc",kFALSE}, - {"WestOff" ,"" ,"","","" ,"","Disactivate West part of tpc",kFALSE}, - {"AllOn" ,"" ,"","","" ,"","Activate both East and West parts of tpc",kFALSE}, - {"ReadAll" ,"" ,"","","" ,"","Activate all branches to read",kFALSE}, - {"pp" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppOpt" ,"" ,"","TrsPileUp","","", "pp option without enabling special cases",kFALSE}, - {"TrsPileUp" ,"" ,"","","","", "Trs pile up mode",kFALSE}, - {"TrsToF" ,"" ,"","","","", "Trs account for particle time of flight",kFALSE}, - {"SvtMatchVtx" ,"" ,"","","" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"VtxOffSet" ,"" ,"","","" ,"","Account Primary Vertex offset from y2000 data",kFALSE}, - {"Calibration" ,"" ,"","","" ,"","Calibration mode",kFALSE}, - {"beamLine" ,"" ,"","","" ,"","LMV Beam line constrain",kFALSE}, - {"beamLine3D" ,"" ,"","","" ,"","Use beamline in 3D vertex fit",kFALSE}, - {"min2trkVtx" ,"" ,"","","" ,"","...only 2 tracks needed for vertex finding",kFALSE}, - {"hitreuseon" ,"" ,"","","" ,"","...do re-use hits for other tracks in Sti",kFALSE}, - {"usePct4Vtx" ,"" ,"","","" ,"","Use Post-Crossing Tracks for vertex finding",kFALSE}, - {"useBTOF4Vtx" ,"" ,"","","" ,"","Use BTOF track matching for vertex ranking",kFALSE}, - {"useBTOFmatchOnly","","","useBTOF4Vtx","" ,"","Use BTOF track matching only",kFALSE}, - {"svt1hit" ,"" ,"","","" ,"","Use 1 SVT hit only combination",kFALSE}, - {"onlcl" ,"" ,"","","" ,"","Read/use TPC DAQ100 clusters",kFALSE}, - {"onlraw" ,"" ,"","","" ,"","Read/use TPC raw hits",kFALSE}, - {"ezTree" ,"" ,"","","" ,"","Create ezTree branch",kFALSE}, - {"BEmcDebug","" ,"","","" ,"","Turn OFF B-EMC hit reconstruction cuts",kFALSE}, - {"BEmcChkStat","" ,"","","" ,"","Turn ON status checking in raw data",kFALSE}, - {"useLDV" ,"" ,"","","" ,"","... uses laserDV database flavor",kFALSE}, - {"useCDV" ,"" ,"","","" ,"","... uses ofl database flavor",kFALSE}, - {"useNewLDV" ,"" ,"","","" ,"","... uses ofl database flavor",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Tables ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"tables" ,"","","StDbT,ebyeT,emc_T,ftpcT,gen_T,geomT,globT,l3_T,sim_T,svt_T,tpc_T","","","",kFALSE}, - {"StDbT" ,"" ,"","","" ,"StDb_Tables","Load StDb_Tables",kFALSE}, - {"ctf_T" ,"" ,"","","" ,"ctf_Tables","Load ctf_Tables",kFALSE}, - {"ebyeT" ,"" ,"","","" ,"ebye_Tables","Load ebye_Tables",kFALSE}, - {"emc_T" ,"" ,"","","" ,"emc_Tables","Load emc_Tables",kFALSE}, - {"ftpcT" ,"" ,"","","" ,"ftpc_Tables","Load ftpc_Tables",kFALSE}, - {"gen_T" ,"" ,"","","" ,"gen_Tables","Load gen_Tables",kFALSE}, - {"geomT" ,"" ,"","","" ,"geometry_Tables","Load geometry_Tables",kFALSE}, - {"globT" ,"" ,"","","" ,"global_Tables","Load global_Tables",kFALSE}, - {"l3_T" ,"", "","","" ,"l3_Tables","Load l3_Tables",kFALSE}, - {"mwc_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"sim_T" ,"" ,"","","" ,"sim_Tables","Load sim_Tables",kFALSE}, - {"svt_T" ,"" ,"","","" ,"svt_Tables","Load svt_Tables",kFALSE}, - {"tpc_T" ,"" ,"","" ,"" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"trg_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"vpd_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Embedding" ,"","","-Simu" ,"","","Embedding run",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Utilities ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Geometry+Mag","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"pgf77" ,"" ,"","","" ,"pgf77VMC","Fortran",kFALSE}, - {"rootcern" ,"" ,"","geant3","" ,"","ROOT minicern OBSOLETE",kFALSE}, - {"StarMiniCern","" ,"","geant3","" ,"","STAR addition to minicern OBSOLETE",kFALSE}, - {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, - {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom,libVMC,libgeant3", "VMC geant3",kFALSE}, - {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, - {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, - {"StarMagField","", "","magF" ,"","VMC,StarMagField","Load StarMagField",kFALSE}, - {"geomNoField" ,"" ,"","-geometry,StarMagField" ,"","geometryNoField","geometry-Mag.Field",kFALSE}, - {"xgeometry" ,"" ,"","-geometry,-geomNoField" ,"","xgeometry","AgML geometry-Mag.Field",kFALSE}, - {"UseProjectedVertex" ,"" ,"","" ,"","","Run StBTofCalibMaker w/wo Primary Vertex",kFALSE}, - {"ImpBToFt0Mode" ,"" ,"","" ,"","","pppAMode in StVpdCalibMaker and StBTofCalibMaker",kFALSE}, - {"setOutlierRej4BToft0" ,"" ,"","" ,"","","setPPPAOutlierRej is set in StBTofCalibMaker",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"vpd" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tls" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"rts" ,"" ,"","","" ,"RTS","load libRTS",kFALSE}, - {"daq" ,"" ,"","rts","" ,"StDaqLib,StDAQMaker","Load StDAQMaker",kFALSE}, - {"SCL" ,"" ,"","","" ,"StarClassLibrary","Load StarClassLibrary",kFALSE}, - {"SvtCL" ,"" ,"","","" ,"Geom,StSvtClassLibrary","",kFALSE}, - {"TbUtil" ,"" ,"","sim_T,tpc_t,globT,SCL","" ,"StTableUtilities","Load StTableUtilities",kFALSE}, - {"TofUtil" ,"" ,"","","" ,"StTofUtil","Load StTofUtil",kFALSE}, - {"BTofUtil" ,"" ,"","","" ,"StBTofUtil","Load StBTofUtil",kFALSE}, - {"ETofUtil" ,"" ,"","","" ,"StETofUtil","Load StETofUtil",kFALSE}, - {"MtdUtil" ,"" ,"","","" ,"StMtdUtil","Load StMtdUtil",kFALSE}, - {"StBichsel" ,"" ,"","","" ,"StBichsel","Load Bichsel model for dE/dx",kFALSE}, - {"StEvent" ,"","","globT,SCL,TRGDef,StBichsel,EmcUtil,TbUtil,detDb","","StEvent","Load StEvent",kFALSE}, - {"PxlUtil" ,"" ,"","","", "StPxlUtil","Load StPxlUtil",kFALSE}, - {"IstUtil" ,"" ,"","","", "StIstUtil","Load StIstUtil",kFALSE}, - {"SsdUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSsdUtil","Load SSD Util",kFALSE}, - {"SstUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSstUtil","Load SST Util",kFALSE}, - {"EmcUtil" ,"" ,"","emc_T,geomT,StDbT","" ,"StEmcUtil","Load StEmcUtil",kFALSE}, - {"EEmcUtil" ,"" ,"","","" ,"StEEmcUtil","Load StEEmcUtil",kFALSE}, - {"FmsUtil" ,"" ,"","","" ,"StFmsUtil,libMinuit","Load StFmsUtil",kFALSE}, - {"FgtUtil" ,"" ,"","","" ,"StFgtUtil","Load StFgtUtil",kFALSE}, - {"GmtUtil" ,"" ,"","","" ,"StGmtUtil","Load StGmtUtil",kFALSE}, - {"l3Util" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PmdUtil" ,"" ,"","","", "StPmdUtil","Load StPmdUtil",kFALSE}, - {"QUtils" ,"" ,"","PmdUtil,EmcUtil","", "","Load QA Libs dependencies",kFALSE}, - {"Stu" ,"" ,"","","", "StEventUtilities","Load StEventUtilities",kFALSE}, - {"MuDSTDeps" ,"","","StEvent,Stu,StBichsel","" - , "StStrangeMuDstMaker,Tree","Load MuDST misc. dependencies",kFALSE}, - {"MuDST" ,"" ,"","MuDSTDeps,EmcUtil,TofUtil,BTofUtil,PmdUtil","" - , "StMuDSTMaker","Load MuDST library",kFALSE}, - {"picoEvt" ,"","","StEvent,Stu","", "StPicoEvent","Load picoEvent and dependencies",kFALSE}, - {"picoDst" ,"","","picoEvt,EmcUtil,TofUtil,BTofUtil,PmdUtil","" - , "StPicoDstMaker","Load PicoDST library",kFALSE}, - {"geantL","","","geomT,gen_T,sim_T,StarMagField","","geometry,Geom,St_db_Maker,St_g2t,St_geant_Maker" - , "Load GeantLibs",kFALSE}, - {"gstarLib","","","" ,"","gstar","Load gstar lib",kFALSE}, - {"flux" ,"","","simu" ,"","flux","Load flux lib",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T" , "", "libVMC.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, - {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, - {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, - {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, - {"kinematics" ,"","","stargen", "", "Kinematics.so", "Load STAR Particle Gun", false }, - {"genreader" ,"","","stargen", "", "StarGenEventReader.so", "Load STAR Gen Event Reader", false }, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"I/O Makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"gstar" ,"geant" ,"","-fzin,-ntin,-geant,Simu,geantL","St_geant_Maker" - , "","gstar for 80 muon tracks with pT = 1GeV in |eta|<4",kFALSE}, - {"pythia" ,"geant" ,"","-gstar,-fzin,-ntin,-geant,geantL","St_geant_Maker" - , "Pythia6_4_26,bpythia","Load Pythia in starsim, set pp 510 GeV",kFALSE}, - {"Wenu" ,"" ,"","pythia","", "" ,"set pp 510 GeV -> W+/- -> e+/- nu/nubar",kFALSE}, - {"hijing" ,"geant" ,"","-gstar,-fzin,-ntin,-geant,geantL","St_geant_Maker" - ,"StarGeneratorUtil,StarGeneratorEvent,StarGeneratorBase,Hijing1_383" - , "Load Hijing in starsim, set AuAu200 GeV",kFALSE}, - {"tdaq" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"miniDAQ" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"fzin" ,"geant","","Simu,-gstar,-ntin,-geant,geantL","St_geant_Maker","" - , "read gstar fz-file",kFALSE}, - {"UseXgeom","","","-geometry,-geomNoField,xgeometry","","","suppress mortran version of geometry",kFALSE}, - {"in" ,"" ,"","" , "StIOMaker","StIOMaker","Read [DAQ|ROOT] input file",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Db makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"db" ,"db" ,"","StDbT" ,"St_db_Maker","StDbLib,StDbBroker,St_db_Maker","",kFALSE}, - {"magF" ,"MagField","","StDbT,db,detDb","StMagFMaker","StarMagField,StMagF" - , "Mag.field map with scale factor from Db",kFALSE}, - {"detDb","detDb","","db","StDetectorDbMaker","StDetectorDbMaker","Load StDetectorDbMaker library",kFALSE}, - {"mtin" ,"geant" ,"","-fzin,-geant,-gstar,geantL,gstarLib,-magF","St_geant_Maker" - , "gstar","read event from MuDst",kFALSE}, - {"tpcDB" ,"tpcDB","","tpc_T,dbutil,detDb,StarMagField,magF,StEvent","StTpcDbMaker","StTpcDb","",kFALSE}, - {"dbutil" ,"" ,"","detDb,StDbT" ,"","StDbUtilities","Load StDbUtilities",kFALSE}, - {"svtDb" ,"svtDb","","tpcDb,SvtCL", "StSvtDbMaker","StSvtDbMaker","Load and run SvtDbMaker",kFALSE}, - {"ssdDb" ,"ssdDb","","tpcDb,SsdUtil","StSsdDbMaker","StSsdDbMaker","Load and run SsdDbMaker",kFALSE}, - {"sstDb" ,"sstDb","","tpcDb,SstUtil","StSstDbMaker","StSsdDbMaker","Load and run SstDbMaker",kFALSE}, - {"svtCalDb" ,"" ,"","svtDb" ,"","","Declare Calibrations/svt as while list member",kFALSE}, - {"ssdCalDb" ,"" ,"","ssdDb" ,"","","Declare Calibrations/ssd as while list member",kFALSE}, - {"sstCalDb" ,"" ,"","sstDb" ,"","","Declare Calibrations/sst as while list member",kFALSE}, - {"eemcDb" ,"eeDb" ,"","db,EEmcUtil", "StEEmcDbMaker","StEEmcDbMaker","Load EEmcDbMaker",kFALSE}, - {"fmsDb" ,"fmsDb","","db,fmsutil", "StFmsDbMaker","StFmsDbMaker","Load FmsDbMaker",kFALSE}, - {"fcsDb" ,"fcsDbMkr","","", "StFcsDbMaker","StFcsDbMaker","Load FcsDbMaker",kFALSE}, - {"fttDb" ,"fttDbMkr","","", "StFttDbMaker","StFttDbMaker","Load FttDbMaker",kFALSE}, - {"fgtDb" ,"fgtDb","","db,fgtutil", "StFgtDbMaker","StFgtDbMaker","Load FgtDbMaker",kFALSE}, - {"pxlDb" ,"pxlDb","","tpcDb PxlUtil", "StPxlDbMaker","StPxlDbMaker","Load PxlDbMaker",kFALSE}, - {"istDb" ,"istDb","","tpcDb", "StIstDbMaker","StIstDbMaker","Load IstDbMaker",kFALSE}, - {"fstDb" ,"fstDb","","tpcDb", "StFstDbMaker","StFstDbMaker","Load FstDbMaker",kFALSE}, - {"epdDb" ,"epdDb","","tpcDb", "StEpdDbMaker","StEpdDbMaker","Load EpdDbMaker",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"MAKERS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ntin" ,"geant","","paw,-fzin,-geant,-gstar,Simu,geantL,gstarLib","St_geant_Maker" - , "","read event generated Hbook nt-file",kFALSE}, - {"PrepEmbed","","","geantEmb","StPrepEmbedMaker","St_geant_Maker" - , "Prepare kinematics for embedding",kFALSE}, - {"PythiaEmbed","","","pythia,-Simu","","", "Prepare kinematics for embedding",kFALSE}, - {"geant" ,"geant","","geantL" ,"St_geant_Maker","","passive GEANT",kFALSE}, - {"geantEmb" ,"geant","","geantL" ,"St_geant_Maker","","GEANT embedding mode",kFALSE}, - {"RootVMC","","","-geant,-fzin,-ntin,StarMagField,-geantL,-geometry,-geomNoField,geant3","","","",kFALSE}, - {"VMCAppl" ,"","","geomT,gen_t,sim_T,tpcDB,RootVMC,","","StSvtDbMaker,StSsdDbMaker,StarVMCApplication" - , "VMC G3",kFALSE}, - {"VMC" ,"geant","","Simu,VMCAppl,-geant","StVMCMaker", "StVMCMaker","VMC Maker",kFALSE}, - {"VMCPassive" ,"geant","","VMCAppl", "StVMCMaker","StVMCMaker","VMC Maker in Passive Mode",kFALSE}, - {"trg" ,"trg","l0Chain","trg_T,globT,db","St_trg_Maker","St_trg,St_trg_Maker" - , "trigger analysis for Year 2001-2005 data",kFALSE}, - {"TRGDef" ,"" ,"","","" ,"StTriggerDataMaker","Load StTriggerData",kFALSE}, - {"trgd" ,"trgd","","TRGDef" ,"StTriggerDataMaker","StTriggerDataMaker","Get trigger data",kFALSE}, - {"MakeEvent","0Event","","StEvent,detDb","StEventMaker","StTpcDb,StEventMaker" - , "",kFALSE}, - {"LaserAvEv" ,"","","" ,"StLaserAvEventMaker","StLaserAvEventMaker","Hejrad",kFALSE}, - {"LaserAvCl" ,"","","" ,"StLaserAvClusterMaker","StLaserAvClusterMaker","",kFALSE}, - {"l0" ,"l0Chain","","globT,ctf,trg" ,"StMaker","StChain","",kFALSE}, - {"ctf" ,"ctf","l0Chain","ctf_T,db" ,"St_ctf_Maker","ctf,St_ctf,St_ctf_Maker","ToF simulation",kFALSE}, - {"mwc" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppMCTrig" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"pp2pp" ,"","","", "St_pp2pp_Maker","St_pp2pp_Maker","pp->pp",kFALSE}, - {"mtdFilt" ,"","","", "StMtdEvtFilterApplyMaker","StDataFilterMaker","MTD-based event filtering",kFALSE}, - {"mtd" ,"MtdChain","","mtdDat,mtdMatch","StMaker", "StChain","MTD Chain",kFALSE}, - {"mtdDat" ,"mtd_raw","MtdChain","db,MuDst","StMtdHitMaker","StEvent,StMtdHitMaker" - , "MTD hit maker",kFALSE}, - {"mtdTrkMask","","","db","StMtdTrackingMaskMaker" ,"StMtdEvtFilterMaker","MTD track masking",kFALSE}, - {"epdHit", "", "", "epdDb,event", "StEpdHitMaker", "StEpdHitMaker","EPD hit maker", kFALSE}, - {"tpc" ,"","","TpxRaw,TpxClu,tpcI" ,"","","WARNING *** Option is OBSOLETE *** use TpxClu instead",kFALSE}, - {"tpcI" ,"tpcChain","","db,tpcDB,TpcHitMover", "StMaker","StChain","tpc with ITTF",kFALSE}, - {"tpcX" ,"tpcChain","","-tpcI,tpx,MakeEvent" ,"StMaker","StChain","tpc+tpcx with ITTF",kFALSE}, - {"Trs","Trs","tpcChain","scl,tpcDB,TrsToF,StEvent,EmbeddingShortCut","StTrsMaker","StTrsMaker","",kFALSE}, - {"TpcRS","","tpcChain","scl,tpcDB,-Trs,-EmbeddingShortCut,Stu","StTpcRSMaker" - ,"libMathMore,StdEdxY2Maker,StTpcRSMaker", "New Tpc Response Simulator",kFALSE}, - {"tfs" ,"","","TpcFastSim" ,"","","WARNING *** Option is OBSOLETE *** use TpcFastSim instead",kFALSE}, - {"TpcFastSim" ,"tpc_hits","tpcChain","MakeEvent,Simu,-trs,-TpcRS,-tcl,-tpxclu,-fcf,-tpc_daq,StEvent," - "-TpcHitMover,EmbeddingShortCut" ,"StTpcFastSimMaker","St_tcl_Maker","use tfs (no Trs or TpcRS)",kFALSE}, - {"EmbeddingShortCut","","","", "","","Short Cut for StdEdxY2Maker and StTpcHitMover",kFALSE}, - {"StMcEvent" ,"","","gen_t,sim_T" ,"","StMcEvent","",kFALSE}, - {"McEvent" ,"","","StEvent,tpcDb,EEmcUtil,EmcUtil,StMcEvent","StMcEventMaker","StMcEventMaker","",kFALSE}, - {"Mixer" ,"tpc_raw","","daq","StMixerMaker" ,"StTrsMaker,StMixerMaker","",kFALSE}, - {"St_tpc" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"St_svt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tpc_daq" ,"","","TpxRaw", "","","WARNING *** Option is OBSOLETE *** use TpxRaw instead",kFALSE}, - {"tcl","","","TpxRaw,TpxClu,MakeEvent","","" - , "WARNING *** Option is OBSOLETE *** use option TpxRaw,TpxClu,MakeEvent instead",kFALSE}, - {"fcf" ,"","","-tcl,tpcX", "","","WARNING *** Option is OBSOLETE *** use tpcX instead",kFALSE}, - {"tpx" ,"tpc_hits","tpcChain","MakeEvent,tpc_T,StEvent,rts,detDb" - , "StTpcHitMaker","StTpcHitMaker","TPC hit reader for tpc + tpx via EVP_READER",kFALSE}, - {"gmt" ,"GmtChain","","gmtDat,gmtClu" ,"StMaker","StChain","Gmt data Chain",kFALSE}, - {"gmtDat" ,"","GmtChain", "event","StGmtRawMaker","StGmtRawMaker", "GMT Data reader",kFALSE}, - {"gmtClu" ,"","GmtChain","gmtutil","StGmtClusterMaker","StGmtClusterMaker","GMT cluster maker",kFALSE}, - {"TpxPulser","TpxPulser","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker","TPC+TPX pulser analysis" - , kFALSE}, - {"TpxPadMonitor","","","" ,"","","WARNING *** Option is OBSOLETE ***", kFALSE}, - {"TpxAvLaser","TpxAvLaser","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX averaging laser events into Sparse histogram on pixels level", kFALSE}, - {"TpxDumpPxls2Nt","TpxDumpPxls2Nt","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX pixel dump to NTuple", kFALSE}, - {"TpxRaw","TpxRaw","tpcChain","rts,detDb,StEvent","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX convert DAQ Tpc Raw Data to TpcRawEvent used by TpcMixer and/or TpxClu", kFALSE}, - {"TpcMixer","","tpcChain","StEvent,rts,-Mixer,-tpx,TpxClu" ,"StTpcMixerMaker","StTpcHitMaker","",kFALSE}, - {"TpxClu","tpc_hits","tpcChain","rts,tpcDb,detDb,-tpx,-tpc_daq,-fcf","StTpcRTSHitMaker" - ,"StTpcHitMaker", "RTS(online) cluster maker",kFALSE}, - {"TpxClu2D" ,"","","TpxClu","","", "RTS(online) 2D-cluster maker",kFALSE}, - {"TpcAvCluster","TpcAvCluster","tpcChain","rts,detDb","StTpcAvClusterMaker","StTpcHitMaker" - , "TPC+TPX averaging laser events into Sparse histogram on cluster level", kFALSE}, - {"Velo" ,"","tpcChain","tpc_T" ,"StVeloMaker","StVeloMaker","",kFALSE}, - {"TpcHitMover" ,"tpc_hit_mover","tpcChain","tpcDb,StEvent,Stu" - , "StTpcHitMover","StTpcHitMoverMaker","TPC hits coord transform + corrections",kFALSE}, - {"tpt","","ITTF","", "","","WARNING *** Option is OBSOLETE *** use ITTF",kFALSE}, - {"tpt_old","","ITTF","", "","","WARNING *** Option is OBSOLETE *** use ITTF",kFALSE}, - {"TpcT0" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ChargeStep","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"laser" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PreVtx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"svt" ,"svtChain","","svt_T,SvtCL" ,"StMaker","StChain","",kFALSE}, - {"svt_daq" ,"svt_raw","svtChain","daq,SvtCL" ,"StSvtDaqMaker","StSvtDaqMaker","",kFALSE}, - {"sss" ,"","","SvtSlowSim" ,"","","Short cut for SvtSlowSim",kFALSE}, - {"SvtSlowSim" ,"","","SvtSSim,SvtOnlSeq" ,"","","Short cut for SvtSlowSim and SvtOnlSeq",kFALSE}, - {"SvtSSim","SvtSSimu","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit" - , "StSvtSimulationMaker","StSvtSimulationMaker,StSvtCalibMaker","",kFALSE}, - {"SvtEmbed" ,"","","SvtSSim,SvtEm,SvtOnlSeq" ,"","","Short cutfor SvtSlowSim and SvtOnlSeq",kFALSE}, - {"SvtEm","SvtEm","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit","StSvtEmbeddingMaker" - , "StSvtSimulationMaker,StSvtCalibMaker","",kFALSE}, - {"SvtOnlSeq" ,"SvtOnlSeq","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit" - , "StSvtOnlineSeqAdjSimMaker","StSvtSimulationMaker","",kFALSE}, - {"srs","","","sfs", "","","WARNING *** Option is OBSOLETE use sfs instead ***",kFALSE}, - {"sfs","svt_hits","svtChain","svtDb,Simu,SvtCL,-sss,-SvtSlowSim,StEvent,MakeEvent" - , "St_sfs_Maker","St_srs_Maker","Very fast simulator for SVT",kFALSE}, - {"SvtSeqAdj" ,"SvtSeqAdj","svtChain","SvtCL" ,"StSvtSeqAdjMaker","StSvtSeqAdjMaker","",kFALSE}, - {"SvtClu" ,"SvtClu","svtChain","svt_T,StEvent,SvtCL","StSvtClusterMaker","StSvtClusterMaker","",kFALSE}, - {"SvtCluAnal" ,"SvtCluAnal","svtChain","SvtCL","StSvtClusterAnalysisMaker","StSvtClusterMaker","",kFALSE}, - {"SvtHit" ,"svt_hits","svtChain","SvtCL" ,"StSvtHitMaker","StSvtClusterMaker","",kFALSE}, - {"SvtVtx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"stk" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Est" ,"","","SvtIT", "","","WARNING *** Option is OBSOLETE *** use SvtIT instead",kFALSE}, - {"global" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Match" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Vertex" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Primary" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"V0" ,"","","V02", "","","WARNING *** Option is OBSOLETE use V02 instead***",kFALSE}, - {"Xi" ,"","","Xi2", "","","WARNING *** Option is OBSOLETE use Xi2 instead***",kFALSE}, - {"Kink" ,"","","Kink2", "","","WARNING *** Option is OBSOLETE use Kink2 instead***",kFALSE}, - {"dst" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Fglobal" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Fprimary" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"dEdx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"svtdEdx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Event" , "","","MakeEvent", "","","Request to initialize event",kFALSE}, - {"pxlRaw" ,"","","pxlDb", "StPxlRawHitMaker", "StPxlRawHitMaker", "PXL raw hit maker",kFALSE}, - {"pxlFastSim" ,"","","pxlRaw,StMcEvent,StEvent" - , "StPxlSimMaker","StPxlSimMaker","PXL Fast Simulator",kFALSE}, - {"pxlSlowSim" ,"","","pxlRaw,StMcEvent,StEvent" - , "StPxlSimMaker","StPxlSimMaker","PXL Slow Simulator",kFALSE}, - {"pxlCluster" ,"","","pxlRaw", "StPxlClusterMaker", "StPxlClusterMaker", "PXL cluster maker",kFALSE}, - {"pxlHit" ,"","","event pxlCluster", "StPxlHitMaker", "StPxlHitMaker", "PXL hit maker",kFALSE}, - {"istSlowSim", "", "","StMcEvent,StEvent,IstUtil", "StIstSlowSimMaker", - "StIstSimMaker", "IST Slow simulator", kFALSE}, - {"istFastSim","","","StMcEvent,StEvent","StIstFastSimMaker","StIstSimMaker","IST Fast simulator", kFALSE}, - {"istRawHit", "", "", "istUtil,istDb","StIstRawHitMaker", "StIstRawHitMaker","IST RAWhit maker", kFALSE}, - {"istCluster", "", "", "istRawHit","StIstClusterMaker", "StIstClusterMaker","IST Cluster maker", kFALSE}, - {"istHit", "", "", "event,istCluster", "StIstHitMaker", "StIstHitMaker","IST Hit Maker",kFALSE}, - {"fst","fstChain","","fstRawHit,fstCluster,fstHit", "StMaker","StChain","FST chain" ,kFALSE}, - {"fstFastSim","","fstChain","StMcEvent,StEvent","StFstFastSimMaker","StFstSimMaker","FST fast simulator", - kFALSE}, - {"fstRawHit", "", "fstChain", "fstUtil,fstDb","StFstRawHitMaker", "StFstRawHitMaker","FST raw hit maker", - kFALSE}, - {"fstCluster", "", "fstChain", "fstRawHit","StFstClusterMaker", "StFstClusterMaker","FST Cluster maker", - kFALSE}, - {"fstHit", "", "fstChain", "event,fstCluster", "StFstHitMaker", "StFstHitMaker","FST Hit Maker", - kFALSE}, - {"fstUtil" , "", "", "", "", "StFstUtil", "Fst Utilities", - kFALSE}, - {"ssddat" ,"","","ssd_daq" ,"","","SSD full chain for Real Data",kFALSE}, - {"sstdat" ,"","","sst_daq" ,"","","SST full chain for Real Data",kFALSE}, - {"ssd_daq","","","ssdCalDb,svt_T,-sls,-spa,ssdUtil","StSsdDaqMaker","StSsdDaqMaker","... SSD Daq",kFALSE}, - {"sst_daq","","","sstCalDb,svt_T,-sls,-spa,sstUtil","StSstDaqMaker","StSstDaqMaker","... SSDT Daq",kFALSE}, - {"ssdfast" ,"","","ssdDb,StMcEvent,StEvent","StSsdFastSimMaker","StSsdFastSimMaker", - "... SSD fast simulator" ,kFALSE}, - {"ssd" ,"","","ssdCalDb,sls,spa,sptd" ,"","","SSD full chain for simulation",kFALSE}, - {"sls","","","McEvent,Simu,svt_T,SvtCL" - , "St_sls_Maker","StSsdSimulationMaker", "... SSD slow simulator",kFALSE}, - {"spa" ,"SpaStrip","","Simu,svt_T,SvtCL,ssdUtil","St_spa_Maker","StSsdSimulationMaker" - , "... SSD Pedestal Annihilator",kFALSE}, - {"SsdEmbed" ,"","","","StSsdEmbeddingMaker","StSsdSimulationMaker","... SSD Mixing geom Maker" ,kFALSE}, - {"spt" ,"","","sptd", "","" ,"Alias for sptd - please replace in chain",kFALSE}, - {"sptd" ,"","","ssdUtil,svt_T", "StSsdPointMaker","StSsdPointMaker","... SSD Point Creator",kFALSE}, - {"sptt" ,"","","sstUtil", "StSstPointMaker","StSstPointMaker", "... SST Point Creator",kFALSE}, - {"sstHit", "", "", "sst_daq,sptt", "", "","SST reconstruction chain",kFALSE}, - {"ssdpre" ,"","","ssdEmbed,spa" ,"","","SSD full chain for pre-embedding",kFALSE}, - {"ssdAdd" ,"","","ssd_daq","StSsdAddMaker","StSsdAddMaker", "... SSD merge maker",kFALSE}, - {"ssdE" ,"","","ssdpre,ssdAdd" ,"","","SSD full chain for embedding",kFALSE}, - {"ZDCVtx" ,"","","db" ,"StZdcVertexMaker","StZdcVertexMaker","",kFALSE}, - {"emcDY2" ,"emcRaw","","daq,eemcDb,EEmcUtil,emc_T,EmcUtil,StEvent,PreEcl,Epc" - ,"StEmcRawMaker","StEmcRawMaker", "B/E EMC data common maker",kFALSE}, - {"eemcD" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"emcY2" ,"","","emc_T,tpc_T,db,emcSim,PreEcl,epc","","" - , "EMC Chain for Y2A (must be before makers which include in this chain)",kFALSE}, - {"emcSim" ,"","","emc_T,EmcUtil,McEvent,MuDST","StEmcSimulatorMaker","StEmcSimulatorMaker" - , "New simulator for BEMC",kFALSE}, - {"EEfs" ,"eefs","","eemcDb,EEmcUtil,MuDst","StEEmcFastMaker","StEEmcSimulatorMaker" - , "EEMC fast simulator",kFALSE}, - {"EEss" ,"eess","","-eefs,eemcDb,EEmcUtil,MuDst","StEEmcSlowMaker","StEEmcSimulatorMaker" - , "EEMC slow simulator",kFALSE}, - {"BEmcMixer", "","","", "StEmcMixerMaker","StEmcMixerMaker","BEMC mixer",kFALSE}, - {"emcAtoE" ,"bemcA2E","" ,"db","StEmcADCtoEMaker","StEmcADCtoEMaker" - , "B-EMC ADC to E converter OBSOLETE for data in Run 9 or later",kFALSE}, - {"PreEcl" ,"preecl","","" ,"StPreEclMaker", "StPreEclMaker","B-EMC Cluster finder",kFALSE}, - {"Epc" ,"epc","","PreEcl,EmcUtil" ,"StEpcMaker","StEpcMaker","B-EMC point maker",kFALSE}, - {"EEmcMixer", "","","", "StEEmcMixerMaker","StEEmcSimulatorMaker","EEMC mixer",kFALSE}, - {"eemcA2E","eemcA2E","" ,"db","StEEmcA2EMaker", "StEEmcA2EMaker","E-EMC ADC to E converter",kFALSE}, - {"eemCl" ,"eemCl","","db","StEEmcClusterMaker" ,"StEEmcClusterMaker","E-EMC clustering",kFALSE}, - {"btof" ,"BTofChain","","btofDat,vpdCalib,btofMatch,btofCalib","StMaker" - , "StChain","BTOF Chain",kFALSE}, - {"BtofDat" ,"tof_raw","BTofChain","db,BTofutil","StBTofHitMaker","StEvent,StBTofHitMaker" - , "BTOF hit maker",kFALSE}, - {"vpdSim" ,"","VpdChain","BTofUtil","StVpdSimMaker","StEvent,StMcEvent,StBTofHitMaker,StVpdSimMaker" - , "Vpd Simulator",kFALSE}, - {"vpdCalib","","BTofChain","db,BTofUtil","StVpdCalibMaker" ,"StVpdCalibMaker","VPD calibration",kFALSE}, - {"btofSim" ,"","BTofChain","BTofUtil" ,"StBTofSimMaker", - "StEvent,StMcEvent,StTofUtil,StBTofHitMaker,StBTofSimMaker","BTOF Simulator",kFALSE}, - {"btofMixer" ,"","BTofChain","BTofUtil","StBTofMixerMaker","StEvent,StBTofHitMaker,StBTofMixerMaker" - , "BTof Mixer",kFALSE}, - {"ETofDat", "etof_raw","ETofChain", "db, ETofUtil", "StETofDigiMaker", "StEvent,StETofDigiMaker", - "ETOF digi maker",kFALSE}, - {"ETofCalib", "", "ETofChain", "db, ETofUtil, muDst", "StETofCalibMaker", "StETofCalibMaker", - "ETOF calibration",kFALSE}, - {"ETofSim" , "", "ETofChain", "", "StETofSimMaker", "StETofSimMaker", - "ETOF simulator",kFALSE}, - {"mtdSim" ,"","MtdChain","","StMtdSimMaker", "StEvent,StMtdSimMaker","MTD Simulator",kFALSE}, - {"ToF" ,"TofChain","","tofDat,tofrMatch,tofpMatch,tofCalib,geant","StMaker","StChain","ToF Chain",kFALSE}, - {"ToFx" ,"TofChain","","tofXDat,tofrMatch,tofCalib,geant" ,"StMaker","StChain","ToFx Chain",kFALSE}, - {"tofDat" ,"tof_raw","TofChain","db,Tofutil","StTofMaker","StEvent,StTofMaker", - "TOF Data base chain", kFALSE}, - {"tofXDat" ,"tof_raw","TofChain","db,Tofutil","StTofHitMaker","StEvent,StTofMaker,StTofHitMaker", - "TOF hit maker", kFALSE}, - {"tofsim" ,"","TofChain","TofUtil","StTofSimMaker","StEvent,StTofMaker,StTofSimMaker", - "TOF Simulator, Tof version before y2009", kFALSE}, - {"tofrMatch" ,"","TofChain","db,TofUtil","StTofrMatchMaker","StTofrMatchMaker", - "TPC to TOFr track matching", kFALSE}, - {"tofpMatch" ,"","TofChain","db,TofUtil","StTofpMatchMaker","StTofpMatchMaker", - "TPC to TOFp track matching", kFALSE}, - {"tofCalib" ,"","TofChain","db,TofUtil","StTofCalibMaker","StTofCalibMaker", "TOF calibration",kFALSE}, - {"FiltGamma" ,"","","StEvent,StMcEvent,EmcUtil", - "StGammaFilterMaker","StFilterMaker", "BEmc Gamma filtering", kFALSE}, - {"FiltEemcGamma" ,"","","StEvent,StMcEvent,EmcUtil", - "StEemcGammaFilterMaker","StFilterMaker", "EEmc Gamma filtering", kFALSE}, - {"rich" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Rrs" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"rch" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"RichPiD" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3cl" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3t" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3onl" ,"","","" ,"Stl3RawReaderMaker","Stl3RawReaderMaker","",kFALSE}, - {"l3count" ,"","","" ,"Stl3CounterMaker","Stl3RawReaderMaker","",kFALSE}, - {"bbcSim" ,"","","db","StBbcSimulationMaker" ,"StBbcSimulationMaker","BBC Simulator",kFALSE}, - {"fmsSim","" ,"","StEvent,fmsDb", - "StFmsFastSimulatorMaker","StFmsFastSimulatorMaker","FMS Fast Simulator", kFALSE}, - {"fmsDat" ,"","", "StEvent,fmsDb", - "StFmsHitMaker","StFmsHitMaker","Fill FMS struct and zero TRG", kFALSE}, - {"fpsDat" ,"","", "StEvent,fmsdb", - "StFpsRawHitMaker","StFpsRawHitMaker","Fill FPS struct", kFALSE}, - {"fmsPoint" ,"","", "event,fmsDb", - "StFmsPointMaker","StFmsPointMaker","Fill FMS clusters and points", kFALSE}, - {"fmsfps" ,"","", "event,fmsDb", - "StFmsFpsMaker","StFmsFpsMaker","Fill FPS association in FMS points", kFALSE}, - {"fcs","fcsChain","","fcsDat,fcsWFF,fcsCluster,fcsPoint", "StMaker","StChain","FCS chain",kFALSE}, - {"fcsSim","" ,"fcsChain","StEvent,fcsDb", - "StFcsFastSimulatorMaker","StFcsFastSimulatorMaker","FCS Fast Simulator", kFALSE}, - {"fcsDat","" ,"fcsChain","StEvent,fcsDb", - "StFcsRawHitMaker","StFcsRawHitMaker","FCS daq file reader/hit maker", kFALSE}, - {"fcsWFF" ,"","fcsChain", "StEvent,fcsDb", - "StFcsWaveformFitMaker","StFcsWaveformFitMaker","Fit FCS waveform", kFALSE}, - {"fcsCluster" ,"","fcsChain", "StEvent,fcsDb", - "StFcsClusterMaker","StFcsClusterMaker","Fill FCS clusters", kFALSE}, - {"fcsPoint" ,"","fcsChain", "StEvent,fcsDb", - "StFcsPointMaker","StFcsPointMaker,libMinuit","Fill FCS points", kFALSE}, - {"ftt","fttChain","","FttDat,FttHitCalib,FttClu,FttPoint", "StMaker","StChain","FST chain" ,kFALSE}, - {"FttDat","","fttChain","StEvent","StFttRawHitMaker","StFttRawHitMaker,StEvent", - "sTGC Raw hit maker", kFALSE}, - {"FttHitCalib","","fttChain","StEvent,MuDST","StFttHitCalibMaker","StFttHitCalibMaker,StFttRawHitMaker,StEvent", - "sTGC hit calib maker", kFALSE}, - {"FttClu","","fttChain","StEvent,fttDb","StFttClusterMaker","StFttClusterMaker,StEvent,StFttDbMaker", - "sTGC Cluster maker", kFALSE}, - {"FttPoint","","fttChain","StEvent,fttDb","StFttPointMaker","StFttPointMaker,StEvent,StFttDbMaker", - "sTGC Point maker", kFALSE}, - {"FttQA","","fttChain","","StFttQAMaker","StFttQAMaker", "sTGC Raw hit QA maker", kFALSE}, - {"fpd" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"fgt" ,"FgtChain","","fgtDat,fgtClu,fgtAtoC" ,"StMaker","StChain","Fgt data Chain",kFALSE}, - {"fgtDat" ,"","", "event,fgtdb","StFgtRawMaker","StFgtRawMaker", "FGT Data reader",kFALSE}, - {"fgtAtoC" ,"","", "fgtdb", "StFgtA2CMaker","StFgtA2CMaker", "FGT ADC to Charge maker",kFALSE}, - {"fgtClu" ,"","", "fgtutil", "StFgtClusterMaker","StFgtClusterMaker", "FGT cluster maker",kFALSE}, - {"fgtAtoC" ,"","", "fgtdb", "StFgtA2CMaker","StFgtA2CMaker", "FGT ADC to Charge maker",kFALSE}, - {"fgtPoint" ,"","", "event", "StFgtPointMaker", "StFgtPointMaker", "Creates FGT points",kFALSE}, - {"genvtx" ,"" ,"","EEmcUtil","StGenericVertexMaker" - , "Minuit,StGenericVertexMakerNoSti" - , "Generic Vertex Finder library (default is MinuitVertexFinder)",kFALSE}, - {"VFMinuit" ,"" ,"" ,"genvtx" ,"","","... Generic VF will use Minuit method",kFALSE}, - {"CtbMatchVtx" ,"" ,"","VFMinuit","" ,"","... CTB Matching ON in Vertex Finding",kFALSE}, - {"VFMinuit2" ,"" ,"","VFMinuit","","","... Generic VF will use Minuit method w/rank mode 2",kFALSE}, - {"VFMinuit3" ,"" ,"","VFMinuit","","","... Generic VF will use Minuit method w/rank mode 3",kFALSE}, - {"VFFV" ,"" ,"","genvtx" ,"","","... Fixed dummy VF method",kFALSE}, - {"VFMCE" ,"" ,"","genvtx" ,"","","... Fixed vertex from MCEvent",kFALSE}, - {"VFppLMV" ,"" ,"","genvtx" ,"","","... VertexMaker will use ppLMV method",kFALSE}, - {"VFppLMV5" ,"" ,"","VFppLMV" ,"","","... VertexMaker will use ppLMV method (tuned)",kFALSE}, - {"VFStoreX" ,"" ,"","" ,"","","... VertexMaker will use save at least 100 vertices",kFALSE}, - {"StiPulls" ,"","","" ,"","", "Request to make Sti Pulls",kFALSE}, - {"StvPulls" ,"","","" ,"","", "Request to make Stv Pulls",kFALSE}, - {"StiLib" ,"","","" ,"","Sti,StiUtilities","Load Sti",kFALSE}, - {"StiCALib" ,"","","" ,"","TPCCATracker,StiCA","Load Sti+CA",kFALSE}, - {"StiTpc" ,"","","TpcDb,ITTF,tpc_T,dbutil,detDb,StarMagField,magF" ,"","StiTpc","Load StiTpc",kFALSE}, - {"StiSvt" ,"",""," " ,"","StSvtClassLibrary,StSvtDbMaker,StiSvt","Load StiSvt",kFALSE}, - {"StiSsd" ,"","","" ,"","StSsdUtil,StSsdDbMaker,StiSsd","Load StiSsd",kFALSE}, - {"StiSst" ,"","","" ,"","StSsdUtil,StSsdDbMaker,StiSsd","Load StiSsd(t)",kFALSE}, - {"StiPxl" ,"","","" ,"","StPxlUtil,StPxlDbMaker,StiPxl","Load StiPxl",kFALSE}, - {"StiIst" ,"","","" ,"","StIstUtil,StIstDbMaker,StiIst","Load StiIst",kFALSE}, - {"StiLibs" ,"","","StiTpc,StiSvt,StiSsd,BTofUtil" - ,"","StEEmcDbMaker","Load Sti Detector libs",kFALSE}, - {"StiLibsHft" ,"","","StiLibs,StiSst,StiPxl,StiIst" ,"","","Load Sti Detector libs for HFT",kFALSE}, - {"StiHftP", "","","StiLibsHft,-SvtIT,-SsdIT,PxlIT,pxlDb","" ,"","Enables partial Hft (PXL)",kFALSE}, - {"StiHftC", "","","StiLibsHft,-SvtIT,-SsdIT,PxlIT,pxlDb,IstIT,istDb,SstIT,sstDb","" - , "","Enables complete Hft (PXL+IST+SST)",kFALSE}, - {"VFPPV" ,"" ,""," eemcDb,StiLib,-VFMinuit,-VFMinuit2,-VFMinuit3,","StGenericVertexMaker" - , "Minuit,StGenericVertexMaker","... Pile-up proof vertex finder",kFALSE}, - {"VFPPVnoCTB" ,"" ,"","VFPPV","" ,"","... Pile-up proof vertex finder, noCTB",kFALSE}, - {"VFPPVEv" ,"" ,"" ,"eemcDb" ,"StGenericVertexMaker" - , "Minui,StGenericVertexMaker" ,"... StEvent based VFPPV, noCTB",kFALSE}, - {"VFPPVEvNoBtof" ,"" ,"" ,"VFPPVEv" ,"" ,"","...VFPPVEv with no Btof ",kFALSE}, - {"Sti" ,"Sti","","StiLib,StiLibs,SCL,StEvent,StDbT,TpcIT,compend,sim_T,tbutil","StiMaker" - , "StEventUtilities,StiUtilities,StiMaker","Sti tracker",kFALSE}, - {"StiCA" ,"Sti","","Sti","StiMaker","TPCCATracker,StiCA" ,"StiCA tracker",kFALSE}, - {"StiCAPerf","","","","", "TPCCATrackerPerformance", "CA Performance",kFALSE}, - {"StiCA" ,"Sti","","Sti,StiLib,StiCALib,StiLibs,SCL,StEvent,StDbT,TpcIT,compend,tbutil","StiMaker" - , "StEventUtilities,libEG,StiUtilities,StiMaker","Sti+CA tracker",kFALSE}, - {"HLTCA" ,"" ,"Sti","", "StHLTCAMaker","StHLTCAMaker", "HLT reconstruction",kFALSE}, - {"KFVertex" ,"" ,"Sti","-genvtx,-VFMinuit,-VFFV,-VFMCE,-VFppLMV,-VFPPVnoCTB,-VFPPV,-Kink2,-V02,-Xi2" - ,"StKFVertexMaker", "MathMore,Spectrum", "...KFParticle based multi vertex reconstruction",kFALSE}, - {"Stv" ,"Stv","","-xgeometry,-Sti,-StiTpc,-StiSsd,-StiSvt,-StiPxl,-StiSsd,-StiSst,-StiIst,","StvMaker" - ,"libHist,libHistPainter,libVMC,StarMiniCern,geant3,GeoTestMaker,StvUtil,Stv,StvSeed,StvMaker,StEventUtilities,-StiLibs,-StiLibsHft","Stv",kFALSE}, - {"StvCA" ,"StvCA","","Stv","","" ,"StvCA",kFALSE}, - {"StiVMC" ,"StiVMC","","-Sti,SCL,StEvent,StDbT,TpcDb,compend","StiVMCMaker" - , "StEventUtilities,StiVMC,StiVMCMaker" ,"ITTF VMC tracker",kFALSE}, - {"StiVMCLibs","","","detDb,StarMagField","", "","ITTF:load StiVMC libraries",kFALSE}, - {"laserIT" ,"","","","", "TpcIT","use Sti for laser reconstruction",kFALSE}, - {"TpcIT" ,"","","ITTF" ,"","","Sti tracking: TPC",kFALSE}, - {"SvtIT" ,"","","ITTF" ,"","","Sti tracking: SVT",kFALSE}, - {"SsdIT" ,"","","ITTF" ,"","","Sti tracking: SSD",kFALSE}, - {"HpdIT" ,"" ,"","ITTF","" ,"Sti,StiRnD","Sti tracking: Hpd geom",kFALSE}, - {"PixelIT","" ,"","PxlIT","" ,"","Alias for PxlIT",kFALSE}, - {"PxlIT" ,"" ,"","ITTF","" ,"","Sti tracking: Pixel geom",kFALSE}, - {"IstIT" ,"" ,"","ITTF","" ,"","Sti tracking: Ist geom",kFALSE}, - {"SstIT" ,"" ,"","ITTF","" ,"","Sti tracking: Sst geom",kFALSE}, - {"iTpcIT" ,"" ,"","ITTF","" ,"","Sti tracking: iTpc geom + hits",kFALSE}, - {"BTofIT" ,"" ,"","ITTF","" ,"","Sti tracking: BTof geom",kFALSE}, - {"NoSvtIT" ,"" ,"","-SvtIT","" ,"","ITTF: track with switch off SVT geom",kFALSE}, - {"NoSsdIT" ,"" ,"","-SsdIT","" ,"","ITTF: track with switch off SSD geom",kFALSE}, - {"NoSstIT" ,"" ,"","-SstIT","" ,"","ITTF: track with switch off SST geom",kFALSE}, - {"NoPxlIT" ,"" ,"","-PxlIT","" ,"","ITTF: track with switch off PXL geom",kFALSE}, - {"NoIstIT" ,"" ,"","-IstIT","" ,"","ITTF: track with switch off IST geom",kFALSE}, - {"skip1row" ,"" ,"","","" ,"","ITTF: skip the first pad row in TPC",kFALSE}, - {"StiRnD" ,"","","", "","StiRnD", "Load StiRnD shared library",kFALSE}, - {"Alignment" ,"","","", "","", "Sti Tpc Alignment, reconstruction per sector",kFALSE}, - {"Cosmics" ,"","","", "","", "Ignore events without recostructed tracks",kFALSE}, - {"StiPulls" ,"","","Sti", "","", "Request to make Sti Pulls",kFALSE}, - {"BeamBack" ,"","","StEvent" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"dEdxY2" ,"dEdxY2","","tpcDb,StEvent","StdEdxY2Maker","libMinuit,StdEdxY2Maker" - , "Bichsel method used for dEdx",kFALSE}, - {"CalcdNdx", "", "", "dEdxY2", "", "", "Option for StdEdxY2Maker to calculate dN/dx",kFALSE}, - {"btofMatch" ,"","","db,BTofUtil,vpdCalib,btofCalib","StBTofMatchMaker","StBTofMatchMaker" - , "TPC-BTOF track matching",kFALSE}, - {"btofCalib","","","db,BTofUtil", "StBTofCalibMaker","StBTofCalibMaker","BTOF calibration",kFALSE}, - {"ETofHit", "", "ETofChain", "db, ETofUtil, muDst", "StETofHitMaker", "StETofHitMaker", - "ETOF hit maker",kFALSE}, - {"ETofMatch", "", "ETofChain", "db, ETofUtil, muDst", "StETofMatchMaker", "StETofMatchMaker", - "ETOF match maker",kFALSE}, - {"ETofQa", "", "ETofChain", "db, ETofUtil, muDst", "StETofQAMaker", "StETofQAMaker", - "ETOF QA maker",kFALSE}, - {"ETofA", "", "","etofdat,ETofCalib,etofhit,ETofMatch","","... ETOF chain options for data", kFALSE}, - {"mtdMatch" ,"","","db,MtdUtil", "StMtdMatchMaker","StMtdMatchMaker","TPC-MTD track matching",kFALSE}, - {"mtdCalib" ,"","","db", "StMtdCalibMaker","StMtdCalibMaker","MTD calibration",kFALSE}, - {"mtdEvtFilt" ,"","","db", "StMtdEvtFilterMaker","StMtdEvtFilterMaker","MTD event filter" ,kFALSE}, - {"FindVtxSeed" ,"FindVtxSeed" ,"","globT,MuDSTDeps,picoDst","StVertexSeedMaker" - , "StPass0CalibMaker", "Performs vertex seed finding",kFALSE}, - {"FindEvtVtxSeed","FindEvtVtxSeed","","MuDSTDeps,picoDst","StEvtVtxSeedMaker" - , "StPass0CalibMaker","Performs vertex seed finding using StEvent",kFALSE}, - {"Ftpc" ,"ftpcChain" ,"","ftpcT,fcl,fpt" ,"StMaker","StChain","",kFALSE}, - {"fss" ,"ftpc_raw","ftpcChain","SCL,Simu","StFtpcSlowSimMaker" - , "StFtpcSlowSimMaker,StFtpcTrackMaker,StFtpcClusterMaker","FTPC Slow simulator",kFALSE}, - {"Fcl" ,"ftpc_hits","ftpcChain","SCL,daq","StFtpcClusterMaker" - , "StFtpcTrackMaker,StFtpcClusterMaker","FTPC cluster finder",kFALSE}, - {"fpt" ,"ftpc_tracks","ftpcChain","SCL" - , "StFtpcTrackMaker","StFtpcTrackMaker","FTPC Track Maker",kFALSE}, - {"fgain" ,"","","fcl,fpt","","" - , "StFtpcClusterMaker and StFtpcTrackMaker will produce gain scan histograms",kFALSE}, - {"fdbg" ,"","","fcl,fpt","","","StFtpcClusterMaker and StFtpcTrackMaker will write debugfile",kFALSE}, - {"flaser" ,"","","fcl,fpt" ,"","","StFtpcClusterMaker and StFtpcTrackMaker for LASERTRACKING",kFALSE}, - {"pmdReco" ,"pmdReco","","PmdUtil,pmdClust" ,"StMaker","StChain","PMD Reco chain",kFALSE}, - {"pmdRaw" ,"pmdRaw","pmdReco","pmdReco,pmdRead" ,"","","PMD Reco chain giving raw data",kFALSE}, - {"pmd" ,"pmd","pmdReco","pmdReco,pmdSim,pmdDis" ,"","", "PMD Simulation chain",kFALSE}, - {"pmdRead" ,"","pmdReco","PmdUtil","StPmdReadMaker" ,"StPmdReadMaker", "DAQ reader for PMD",kFALSE}, - {"pmdSim" ,"","pmdReco","PmdUtil","StPmdSimulatorMaker","StPmdSimulatorMaker" - ,"Hit Simulator for PMD" ,kFALSE}, - {"pmdClust" ,"pmdClust","pmdReco","","StPmdClusterMaker","StPmdClusterMaker" - ,"ClusterMaker for PMD" ,kFALSE}, - {"pmdDis" ,"pmdDis","pmdReco","PmdClust","StPmdDiscriminatorMaker" - , "StPmdDiscriminatorMaker","Discriminator for PMD",kFALSE}, - {"Kink2" ,"kink2","","db,MuDST,-kink","StKinkMaker","StSecondaryVertexMaker" - , "Find Kinks from StEvent",kFALSE}, - {"V02" ,"v02","","db,MuDST,-V0","StV0FinderMaker","StSecondaryVertexMaker" - , "Find V0s from StEvent",kFALSE}, - {"Xi2" ,"xi2","","db,MuDST,-V02,-Xi","StXiFinderMaker","StSecondaryVertexMaker" - , "Xis AND V0s from StEvent",kFALSE}, - {"V0svt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Xisvt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"SCEbyE" ,"scebye","","MuDSTDeps,picoDst","StSpaceChargeEbyEMaker" - , "StMuDSTMaker,StPass0CalibMaker","Determine EbyE SpaceCharge using StEvent",kFALSE}, - {"SCScalerCal" ,"scscalercal","","MuDSTDeps,picoDst","StSpaceChargeEbyEMaker" - , "StMuDSTMaker,StPass0CalibMaker","Calibrate SpaceCharge scalers",kFALSE}, - {"compend" ,"","","event,detDb","StEventCompendiumMaker","StEventCompendiumMaker" - , "Fill event summary in ITTF Chain",kFALSE}, - {"shadow" ,"","","event,compend" ,"StShadowMaker","StShadowMaker","",kFALSE}, - {"TpcAligner" ,"","","Alignment" ,"StTpcAlignerMaker","StTpcAlignerMaker","TpcAligner",kFALSE}, - {"pec" ,"PeC","","Event" ,"StPeCMaker","StPeCMaker","PCollAnalysis",kFALSE}, - {"RichSpectra" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"TagsChain" ,"TagsChain","","" ,"StMaker","StChain","",kFALSE}, - {"TpcTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Flow" ,"","","," ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"FlowTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"FlowAnalysis","","","" ,"","WARNING *** Option is OBSOLETE ***","",kFALSE}, - {"SpectraTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"HeavyTags" ,"","TagsChain","StEVent" ,"StHeavyTagMaker","StHeavyTagMaker","",kFALSE}, - {"EbyeScaTags" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"HighPtTags" ,"","TagsChain","StEVent" ,"StHighPtTagsMaker","StHighPtTagsMaker","",kFALSE}, - {"PCollTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tags" ,"","TagsChain","globT,Event,HeavyTags,HighPtTags" - , "StTagsMaker","StTagsMaker","Collect all tags to TTree",kFALSE}, - {"noTags" ,"","","-tags,-HeavyTags,-HighPtTags" ,"","","Turn Off tags",kFALSE}, - {"MuDSTChain","MuDSTChain","EMCmDST,CMuDST","" ,"StMaker","StChain","",kFALSE}, - {"StrngMuDST","","MuDSTDeps","", "StStrangeMuDstMaker","","Creates Stangeness MuDST",kFALSE}, - {"EMCmDST" ,"","MuDSTChain","MuDst", "StEmcMicroDstMaker","","Creates EMC MuDST",kFALSE}, - {"CMuDST" ,"","MuDSTChain","MuDst,StrngMuDST,Tree", "StMuDstMaker","","Writes Common MuDST",kFALSE}, - {"RMuDST" ,"","","CMuDST" ,"","","reads Common MuDST, do not disactivate if no output files",kFALSE}, - {"picoWrite" ,"","PicoChain","picoDst","StPicoDstMaker","" ,"Writes picoDST format",kFALSE}, - {"picoRead" ,"","PicoChain","picoDst","StPicoDstMaker","" ,"WritesRead picoDST format",kFALSE}, - {"PicoVtxDefault" ,"","","" ,"" ,"","pico Vtx default mode",kFALSE}, - {"PicoVtxVpd" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx cut on Tof and VPD mode",kFALSE}, - {"PicoVtxVpdOrDefault","","","-PicoVtxDefault" ,"","","pico Vtx cut on Tof and VPD or default",kFALSE}, - {"PicoVtxFXT" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx constraint on FXT [198,202] mode",kFALSE}, - {"PicoVtxMtd" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx using MTD matching mode",kFALSE}, - {"PicoCovMtxSkip" ,"","","" ,"" ,"","Do not write covariance matrices to picoDst (default)",kFALSE}, - {"PicoCovMtxWrite","","","-PicoCovMtxSkip" ,"" ,"","Write track covariance matrices to picoDst",kFALSE}, - {"PicoBEmcSmdSkip" ,"","","" ,"" ,"","Do not write BSMD to picoDst (default)",kFALSE}, - {"PicoBEmcSmdWrite","","","-PicoBEmcSmdSkip" ,"" ,"","Write BSMD to picoDst",kFALSE}, - {"St_geom" ,"" ,"","" , "St_geom_Maker","St_geom_Maker","",kFALSE}, - {"Display" ,"","","", "","","WARNING *** Option is OBSOLETE *** use Ed.C macro instead",kFALSE}, - {"Mc" ,"McChain","McEvent","sim_T,globT,McAss,McAna" ,"StMaker","StChain","",kFALSE}, - {"McAss" ,"","McChain","McEvent", "StAssociationMaker","StAssociationMaker","",kFALSE}, - {"McAnaTpc" ,"","","McAna" ,"","","Mc Analysis for Tpc",kFALSE}, - {"McAnaSvt" ,"","","McAna" ,"","","Mc Analysis for Svt",kFALSE}, - {"McAnaSsd" ,"","","McAna" ,"","","Mc Analysis for Ssd",kFALSE}, - {"McAna" ,"","McChain","McEvent,McAss", "StMcAnalysisMaker","StMcAnalysisMaker","",kFALSE}, - {"McQa" ,"","McChain","McEvent", "StMcQaMaker","StMcQaMaker","QA histogramms for McEvent",kFALSE}, - {"McTpcAna" ,"","McAnaChain","tpcDb,dbutil,McEvent,StEvent" - , "StTpcMcAnalysisMaker","StTpcMcAnalysisMaker","",kFALSE}, - {"MiniMcEvent" ,"","","","", "StMiniMcEvent","Loads StMiniMcEvent library only",kFALSE}, - {"MiniMcMk" ,"","","McAss,MiniMcEvent","StMiniMcMaker","StMiniMcMaker" - , "Creates tree in minimc.root file",kFALSE}, - {"SvtMatTree","","","","SvtMatchedTree" - , "StSvtPoolEventT,StSvtPoolSvtMatchedTree","Create SvtMatchedTree",kFALSE}, - {"LAna" ,"","","in,detDb,StEvent,tpcDb","StLaserAnalysisMaker" - , "StLaserAnalysisMaker","Laser data Analysis",kFALSE}, - {"EandBDir","","","in,StEvent,TpcHitMover,nodefault" - , "StEandBDirMaker","MathMore,Spectrum,StEandBDirMaker", "get E&B direction",kFALSE}, - {"SpinTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPfind1" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"SpinSortA" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPprojectA","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppDAQfilter1","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPeval1" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"QA" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"EventQA","EventQA","","QUtils,Event","StEventQAMaker" ,"St_QA_Maker","Filling Y2/Y3 Qa histo",kFALSE}, - {"QAC" ,"CosmicsQA","globT","" ,"StQACosmicMaker","StQACosmicMaker","",kFALSE}, - {"QAalltrigs" ,"", "","", "","","Analyze all triggers in QA",kFALSE}, - {"HitFilt" ,"", "","", "StHitFilterMaker","StHitFilterMaker","Hit filter Maker",kFALSE}, - {"SvtHitFilt" ,"", "","HitFilt", "","","SVT Hit filter Maker",kFALSE}, - {"TpcHitFilt" ,"", "","HitFilt", "","","filter out TPC Hits not on tracks",kFALSE}, - {"HftHitFilt" ,"", "","HitFilt", "","","filter out non-HFT hits",kFALSE}, - {"KeepTpcHit" ,"", "","HitFilt", "","","Keep all TPC hits in StHitFilterMaker",kFALSE}, - {"KeepSvtHit" ,"", "","HitFilt", "","","Keep all SVT hits in StHitFilterMaker",kFALSE}, - {"KeepFgtHit" ,"", "","HitFilt", "","","Keep all FGT hits in StHitFilterMaker",kFALSE}, - {"Tree" ,"OutTree","","","StTreeMaker","StTreeMaker","Write requested branches into files",kFALSE}, - {"logger" ,"" ,"","" ,"","","Use log4cxx package to manage the program messages",kFALSE}, - {"NoSimuDb" ,"" ,"","" ,"","","Switch off Simu Option for DB",kFALSE}, - {"SimuDb" ,"" ,"","-NoSimuDb" ,"","","Switch on Simu Option for DB",kFALSE}, - {"NoOutput" ,"" ,"","-Tree,-EvOut,noTags" ,"","","Suppress Output root files",kFALSE}, - {"EvOutOnly" ,"" ,"","EvOut,Tree,noTags" ,"","","Only event.root files",kFALSE}, - {"NoDefault" ,"" ,"","" ,"","","No Default consistency check",kFALSE}, - {"Notpc_daq" ,"" ,"","-tpc_daq" ,"","","No tpc_daq",kFALSE}, - {"analysis" ,"","","StEvent" ,"StAnalysisMaker","StAnalysisMaker","Example of Analysis",kFALSE}, - {"NewTpcAlignment","","","" ,"","","Switch on new Tpc Alignment schema",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Aliased ","time stamps","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE} -}; -// ITTF Chain will be put here. Option list starting from minimalistic requirements -// and may not initially work. -// Please, preserve the comment after = { . It is used for documentation formatting -// -// ITTF Chains -Bfc_st BFC[] = { - {"Key" ,"Name" ,"Chain" ,"Opts" ,"Maker","Libs","Comment",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"TIME STAMPS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"RY2008","","","db,detDb,NosvtIT,NossdIT" ,"","","y2008 for dAu run",kFALSE}, - {"RY2009","","","db,detDb,NosvtIT,NossdIT" ,"","","y2009 for p+p run",kFALSE}, - {"ForceGeometry","","","","","", "Force geometry to overwrite the geometry coming from fz-file", kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Valid Db ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"NoDb" ,"" ,"","-db,-tpcDb,-magF" ,"","","Take out Db from Chain",kFALSE}, - {"DbV" ,"" ,"","db,ry1h" ,"","","19940614/0 Db Version for none",kFALSE}, - {"DbV0614" ,"" ,"","db,ry1h" ,"","","20000614/0 Db Version for p00hd",kFALSE}, - {"DbV0624" ,"" ,"","db,ry1h" ,"","","20000624/0 Db Version for p00hd_1",kFALSE}, - {"DbV0713" ,"" ,"","db,ry1h" ,"","","20000713/0 Db Version for p00he",kFALSE}, - {"DbV0727" ,"" ,"","db,ry1h" ,"","","20000727/0 Db Version for p00he",kFALSE}, - {"DbV0819" ,"" ,"","db,ry1h" ,"","","20000819/0 Db Version for p00hg",kFALSE}, - {"DbV1123" ,"" ,"","db,ry1h" ,"","","20001123/0 Db wo TpcDriftVel. from StTpcT0Maker",kFALSE}, - {"DbV0523" ,"" ,"","db,ry1h" ,"","", "20010523/0 Db Version for p01he",kFALSE}, - {"DbV1007" ,"" ,"","db,ry1h" ,"","", "20011007/0 Db Version for p01hi",kFALSE}, - {"DbV1107" ,"" ,"","db,ry1h" ,"","", "20011107/0 Db Version for pass1 p01gk",kFALSE}, - {"DbV1211" ,"" ,"","db,ry1h" ,"","", "20011211/0 Db Version for prod p01gl",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Geometry ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ideal", "", "","", "", "", "Ideal Alignment", kFALSE}, - {"misalign", "", "","", "","-AgMLideal", "Misaligned Geometry", kFALSE}, - {"AgMLutil", "", "","", "","StarAgmlUtil", "AgML support", kFALSE}, - {"AgMLlib", "", "","", "","StarAgmlUtil,StarAgmlLib", "AgML support", kFALSE}, - {"AgML" ,"" ,"","AgMLlib,-Agi,-VmcGeo","","Geometry,StarGeometry" - , "Alias VmcGeometry to AgiLGeometry",kFALSE}, - {"Agi" ,"" ,"","-VmcGeo","","" ,"Alias VmcGeometry to AgiGeometry (gstar original geometry)",kFALSE}, - {"VmcGeo" ,"" ,"","-AgML,-Agi" ,"","" ,"Alias VmcGeometry to VmcGeo",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Trigger Type","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Physics" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"LaserTest" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PulserSvt" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"alltrigger" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"phys_off" ,"","","" ,"","","Turn off physics in simulation",kFALSE}, - {"hadr_off" ,"","","" ,"","","Turn off hadronic interactions in simulation",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"C H A I N S ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Calibration chains","------------","-----------","-----------------------------------","","","",kFALSE}, - {"LanaDV", "","","LanaDVtpx","","" ,"get LDV",kFALSE}, - {"LanaDVtpx","","","MakeEvent,trgd,in,tpx,TpcHitMover,LaserIT,VFMinuit,Lana,Analysis,Corr4,NosvtIT,NossdIT", - "","" ,"get LDV with TPX",kFALSE}, - {"LaserDV.Chain","","","in,LaserCal,fcf,TpcHitMover,OGridLeak3D,OShortR,OSpaceZ2","","","get LDV",kFALSE}, - {"Test.default.ITTF","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent,genvtx," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.default.y2005g.ITTF","","","Test.default.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.default.y2007g.ITTF","","","Test.default.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.fast.y2005g.ITTF","","","Test.fast.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.reco.StiVMC","","","MakeEvent,tpcI,tcl,ftpc,SvtCL,Test.StiVMC" ,"","","",kFALSE}, - {"Test.default.StiVMC","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent," - "miniMcMk,McAna,Test.reco.StiVMC,CMuDst" ,"","","",kFALSE}, - {"Test.StiVMC","","","TpcRS,StiVMC,event,analysis,tags,EvOut,StarMagField,FieldOn,Idst,CMuDst" - , "","","",kFALSE}, - {"Test.VeryFast.StiVMC","","","TpcFastSim,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna," - "SvtCL,tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,StiVMC,Idst,event,analysis,EventQA,tags," - "EvOut,StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.fast.StiVMC","","","tfs,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna,SvtCL," - "tpc_T,globT,tls,db,tpcDB,svtDb,StiVMC,Idst,event,analysis,EventQA,tags,EvOut," - "StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.fast.y2007g.ITTF","","","Test.fast.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2005g.ITTF","","","Test.VeryFast.ITTF,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2007g.ITTF","","","Test.VeryFast.ITTF,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.default.StiVMC","","","TpcRS,Simu,sss,svt,ssd,fss,bbcSim,IdTruth,MakeEvent," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.y2009.ITTF","","","Test.default.ITTF,y2009,TpcRS,sdt20090428.141700" ,"","","",kFALSE}, - {"Test.y2009.StiVMC","","","Test.default.StiVMC,y2009,TpcRS,sdt20090428.141700,noSimuDb","","","",kFALSE}, - {"Test.fast.y2005g.StiVMC","","","Test.fast.StiVMC,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2005g.StiVMC","","","Test.VeryFast.StiVMC,sdt20050130,noSimuDb" ,"","","",kFALSE}, - {"Test.VeryFast.y2007g.StiVMC","","","Test.VeryFast.StiVMC,sdt20070322,noSimuDb" ,"","","",kFALSE}, - {"Test.default.Fast.ITTF","","","tfs,sfs,ssdFast,IdTruth,MakeEvent,miniMcMk,Test.ITTF", "","","",kFALSE}, - {"Test.srs.ITTF","","", "TpcRS,Simu,srs,svt,ssd,fss,bbcSim,emcY2,McEvOut,GeantOut,IdTruth," - "miniMcMk,McAna,Test.reco.ITTF,CMuDst" ,"","","",kFALSE}, - {"Test.ITTF","","","svtIT,ssdIT,ITTF,event,analysis,EventQA,tags,EvOut,StarMagField,FieldOn" - ",IDST,CMuDst,analysis" ,"","","",kFALSE}, - {"Test.reco.ITTF","","","MakeEvent,tpcI,tcl,ftpc,SvtCL,Test.ITTF" ,"","","",kFALSE}, - {"Test.fast.ITTF","","","tfs,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna,SvtCL," - "tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,ITTF,Idst,event,analysis,EventQA,tags,EvOut," - "StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"Test.VeryFast.ITTF","","","TpcFastSim,Simu,sfs,ssdfast,McEvOut,GeantOut,IdTruth,miniMcMk,McAna," - "SvtCL,tpc_T,globT,tls,db,tpcDB,svtDb,svtIT,ssdIT,ITTF,Idst,event,analysis,EventQA,tags," - "EvOut,StarMagField,FieldOn,IAna,CMuDst" ,"","","",kFALSE}, - {"nightly test (dev) chains","-----------","-----------","----------------------------","","","", kFALSE}, - {"MC----------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"MC.y2000" ,"","","trs,rrs,y1h,Idst,rich,IAna,l0,tpcI,tpxClu,NosvtIT,NossdIT," - "-Kink2,VFMinuit,geant,evout,IdTruth,tags,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2001" ,"","","trs,fss,rrs,y2001n,Idst,rich,IAna,l0,tpcI,tpxClu,ftpc,-Kink2," - "VFMinuit,geant,evout,IdTruth,tags,emcY2,GeantOut,big" ,"","","",kFALSE}, - {"MC.pp.y2001" ,"","","trs,rrs,fss,y2001n,Idst,rich,IAna,l0,tpcI,tpxClu,ftpc,-Kink2," - "VFMinuit,geant,evout,IdTruth,tags,emcY2,MiniMcMk,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2003" ,"","","trs,fss,y2003,Idst,IAna,l0,tpcI,tpxClu,ftpc,VFMinuit,bbcSim,tofsim," - "tags,emcY2,evout,IdTruth,geantout" ,"","","",kFALSE}, - {"MC.y2004" ,"","","trs,srs,fss,y2004,Idst,BAna,l0,tpcI,tpxClu,ftpc,VFMinuit,SvtIt,geant,evout," - "tags,bbcSim,tofsim,emcY2,EEfs,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2004a" ,"","","trs,srs,fss,y2004a,Idst,BAna,l0,tpcI,tpxClu,ftpc,VFMinuit,SvtIT,geant" - ",tags,bbcSim,tofsim,emcY2,EEfs,evout,GeantOut,big" ,"","","",kFALSE}, - {"MC.y2005" ,"","","trs,srs,fss,ssd,y2005x,Idst,IAna,l0,tpcI,tpxClu,ftpc,SvtCL,svtDb," - "SsdIt,SvtIt,VFMinuit,geant,evout,tags,bbcSim,tofsim,emcY2,EEfs,GeantOut,big" - , "","","",kFALSE}, - {"MC.y2006" ,"","","trs,fss,y2006h,Idst,IAna,l0,tpcI,tpxClu,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2007" ,"","","trs,srs,ssd,fss,y2007,Idst,BAna,tpcI,tpxClu,ftpc,SvtIt,SsdIt," - "VFMinuit,MakeEvent,IdTruth,geant,tags,bbcSim,tofsim,emcY2,EEfs,evout,GeantOut,big" - "" ,"","","",kFALSE}, - {"MC.y2008" ,"","","trs,fss,y2008a,Idst,IAna,tpcI,tpxClu,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.in.y2008" ,"","","in,y2008e,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.in.y2009" ,"","","in,y2009c,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.y2009" ,"","","TpcRS,TpxClu,fss,y2009,Idst,IAna,tpcI,ftpc,VFMinuit,NoSsdIt,NoSvtIt" - ",MakeEvent,bbcSim,tofsim,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2009a" ,"","","TpcRS,TpxClu,fss,y2009a,Idst,IAna,tpcI,ftpc,VFMinuit,NoSsdIt,NoSvtIt," - "MakeEvent,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2010a" ,"","","TpcRS,TpxClu,y2010a,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2010" ,"","","TpcRS,TpxClu,y2010,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"MC.fast.pp.y2011","","","y2011,Test.default.Fast.ITTF,bbcSim,btofsim,btofMatch,emcY2,emcSim,EEfs," - "NosvtIT,NossdIT,-sfs,-ssdFast,VFPPVnoCTB,beamline" ,"","","",kFALSE}, - {"MC.in.y2010" ,"","","in,y2010c,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt," - "NoSvtIt,VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk," - "ReadAll" ,"","","",kFALSE}, - {"MC.y2011" ,"","","TpcRS,TpxClu,y2011,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB" - ",TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.fast.y2011" ,"","","y2011,Test.default.Fast.ITTF,NosvtIT,NossdIT,-sfs,-ssdFast," - "VFPPVnoCTB,beamline,emcy2" ,"","","",kFALSE}, - {"MC.in.y2011" ,"","","in,y2011,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt,NoSvtIt," - "VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk,ReadAll" - , "","","",kFALSE}, - {"MC.y2012" ,"","","TpcRS,TpxClu,y2012,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2012a" ,"","","TpcRS,TpxClu,y2012a,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big" - , "","","",kFALSE}, - {"MC.y2012.eval" ,"","","in,y2012,FieldOn,ReverseField,Idst,BAna,ftpcT,fpt,NoSsdIt,NoSvtIt" - ",VFMinuit,tpcDB,MakeEvent,IdTruth,tags,bbcsim,emcY2,EEfs,evout,big,McEvout,MiniMcMk,ReadAll" - , "","","",kFALSE}, - {"MC.y2013" ,"","","TpcRS,TpxClu,y2013_1x,useXgeom,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"MC.y2014" ,"","","TpcRS,TpxClu,y2014,useXgeom,MakeEvent,NoSsdIt,NoSvtIt,Idst,BAna,VFMinuit,tpcDB," - "TpcHitMover,bbcSim,btofsim,btofMatch,tags,emcY2,EEfs,evout,IdTruth,geantout,big", "","","",kFALSE}, - {"RC----------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"RC.y2000" ,"","","p2000,VFMinuit,CMuDst,NosvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.y2001" ,"","","P2001a,VFMinuit,ZDCvtx,CMuDst,NosvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2001" ,"","","pp2001a,VFMinuit,CMuDst,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2001.ppv" ,"","","pp2001a,VFPPV,beamLine,CMuDst,NossdIT" ,"","","",kFALSE}, - {"RC.y2003" ,"","","DbV20040520,dau2003i,in,-SvtIT,NossdIT" ,"","","",kFALSE}, - {"RC.pp.y2003.VFPPV" ,"","","pp2003,VFPPV,beamLine,CMuDst,-svtIT,NossdIT,Corr2,v0,xi","","","",kFALSE}, - {"RC.y2004" ,"","","P2004,DbV20041213" ,"","","",kFALSE}, - {"RC.y2004.NoSvt" ,"","","P2004,DbV20041213,-SsdIt,-SvtIt,pmdRaw" ,"","","",kFALSE}, - {"RC.y2004.NoSvt.pmd" ,"","","P2004,DbV20041213,pmdRaw,-SvtIT,-SsdIT" ,"","","",kFALSE}, - {"RC.pp.y2004" ,"","","pp2004,DbV20041213,beamLine" ,"","","",kFALSE}, - {"RC.y2005" ,"","","P2005,tofDat,MakeEvent,ssddat,sptd,SsdIt,SvtIt,pmdRaw,OShortR,OSpaceZ2" - , "","","",kFALSE}, - {"RC.pp.y2005" ,"","","pp2005a,tofdat,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.pp.y2006" ,"","","pp2006b,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2007" ,"","","DbV20080418,B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit3,emcDY2,ftpc,trgd," - "ZDCvtx,svtIT,ssdIT,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2007.NoSvt" ,"","","DbV20080418,B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit3,emcDY2,ftpc," - "trgd,ZDCvtx,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.y2008" ,"","","DbV20080712,P2008,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.y2008.notof" ,"","","DbV20080712,P2008,-ToF,-tofDat,-tofrMatch,-tofpMatch,-tofCalib,OSpaceZ2," - "OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2008" ,"","","DbV20080712,pp2008,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2008.Minuit","","","DbV20080712,pp2008,-VFPPV,VFMinuit,-ToF,-tofDat,-tofrMatch,-tofpMatch," - "-tofCalib,OSpaceZ2,OGridLeak3D,beamLine" ,"","","",kFALSE}, - {"RC.pp.y2009" ,"","","pp2009c,VFMinuit,beamLine,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.pp.y2009.notof","","","pp2009c,VFMinuit,beamLine,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.pp.y2009.VFPP","","","pp2009c,VFPPVnoCTB,beamLine,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D" - , "","","",kFALSE}, - {"RC.y2010" ,"","","P2010a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,pmdReco", "","","",kFALSE}, - {"RC.y2010.notof" ,"","","P2010a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" ,"","","",kFALSE}, - {"RC.pp.y2011.VFPPV","","","pp2011a,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt" ,"","","",kFALSE}, - {"RC.pp.y2011","","","pp2011a,VFMinuit,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt" - , "","","",kFALSE}, - {"RC.y2011" ,"","","P2011a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,pmdReco,mtdDat" - , "","","",kFALSE}, - {"RC.y2011.notof" ,"","","P2011a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,pmdReco,mtdDat" - , "","","",kFALSE}, - {"RC.y2012" ,"","","P2012a,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,mtdDat,fmsDat" - , "","","",kFALSE}, - {"RC.y2012.notof" ,"","","P2012a,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012" ,"","","pp2012a,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt,mtdDat,fmsDat", "","","",kFALSE}, - {"RC.pp.y2012.notof","","","pp2012a,VFPPVnoCTB,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012.notofMin","","","pp2012a,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.y2012b" ,"","","P2012b,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt,mtdDat,fmsDat" - , "","","",kFALSE}, - {"RC.y2012b.notof" ,"","","P2012b,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b" ,"","","pp2012b,VFPPVnoCTB,beamline,BEmcChkStat,btof,Corr4,OSpaceZ2,OGridLeak3D," - "-hitfilt,mtdDat,fmsDat", "","","",kFALSE}, - {"RC.pp.y2012b.notof","","","pp2012b,VFPPVnoCTB,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b.notofMin","","","pp2012b,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2012b.notofMin","","","pp2012b,VFMinuit,beamline,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D" - ",-hitfilt", "","","",kFALSE}, - {"RC.pp.y2013","","","pp2013a,mtd,btof,fmsDat,fgt,fgtPoint,VFPPVnoCTB,beamline,BEmcChkStat,Corr4," - "OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"RC.y2014","","","P2014a,mtd,btof,BEmcChkStat,Corr4,OSpaceZ2,OGridLeak3D,-hitfilt", "","","",kFALSE}, - {"MC nightlies and Eval","--","-----------","------------------------------------------","","","",kFALSE}, - {"test_MC.stan.y2000","","","MC.y2000,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/cocktail/hadronic/default/standard/year_1h/half_field/hadronic_on/Gstardata/" - "hc_standard.40_evts.fz", kFALSE}, - {"test_MC.pp.y2001","","","MC.pp.y2001,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp200/pythia/default/minbias/year2001/hadronic_on/gstardata/pds0200_04_12812evts.fzd" - , kFALSE}, - {"test_MC.stan.y2001","","","MC.y2001,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/cocktail/hadronic/default/standard/year2001/hadronic_on/Gstardata/hc_standard.40_evts.fz" - , kFALSE}, - {"test_dau.MC.y2003" ,"","","MC.y2003,Sti,fzin,MiniMcMk","" - , "","/star/rcf/simu/rcf1197_05_5940evts.fzd",kFALSE}, - {"test_auauCtr.MC.y2004" ,"","","MC.y2004a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1209_05_80evts.fzd",kFALSE}, - {"test_auau.MC.y2004" ,"","","MC.y2004,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1207_01_225evts.fzd",kFALSE}, - {"test_cucu200.MC.y2005" ,"","","MC.y2005,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1216_05_200evts.fzd",kFALSE}, - {"test_cucu62.MC.y2005" ,"","","MC.y2005,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1237_01_500evts.fzd",kFALSE}, - {"test_pp200.MC.y2006" ,"","","MC.y2006,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9991_01_1000evts.fzd",kFALSE}, - {"test_auau200.MC.y2007" ,"","","MC.y2007,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"test_dau200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"test_pp500.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"test_auau11.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"test_auau200.MC.y2010","","","MC.y2010,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"test_auau39.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"test_auau62.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"test_auau7.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"test_auau200.MC.y2011","","","MC.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"test_pp500.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"test_pp500.pileup.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n" - " gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"test_CuAu200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"test_CuAu200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"test_pp200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"test_pp200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"test_pp500.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"test_pp500.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"test_UU200.MC.AgML.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"test_UU200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"test.RC.centr.y2000","","","RC.y2000,Sti","","" - , "/star/rcf/test/daq/2000/09/st_physics_1248022_raw_0001.daq",kFALSE}, - {"test.RC.minb.y2000","","","RC.y2000,Sti","","" - , "/star/rcf/test/daq/2000/08/st_physics_1229021_raw_0003.daq",kFALSE}, - {"test.RC.cent.y2001d","","","RC.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq",kFALSE}, - {"test.RC.cent.y2001","","","RC.y2001,v0,xi,Sti","","" - , "/star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq",kFALSE}, - {"test.RC.minb.y2001d","","","RC.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq",kFALSE}, - {"test.RC.minb.y2001","","","RC.y2001,v0,xi,Sti","","" - , "/star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq",kFALSE}, - {"test.RC.pp.y2001d","","","RC.pp.y2001,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.pp.y2001","","","RC.pp.y2001.ppv,v0,xi,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.pp.y2001_vfppvd","","","RC.pp.y2001.ppv,v02,xi2,Sti","","" - , "/star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq",kFALSE}, - {"test.RC.dau.y2003","","","RC.y2003,ITTF,Sti","","" - , "/star/rcf/test/daq/2003/041/st_physics_4041002_raw_0020001.daq",kFALSE}, - {"test.RC.pp.y2003","","","RC.pp.y2003.VFPPV,Sti","","" - , "/star/rcf/test/daq/2003/095/st_physics_4095050_raw_0010002.daq",kFALSE}, - {"test.RC.auau.lo.y2004","","","RC.y2004,-SvtIT,-SsdIT,pmdRaw,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/044/st_physics_5044116_raw_3010002.daq",kFALSE}, - {"test.RC.auau.ph.y2004","","","RC.y2004,pmdRaw,-SvtIT,-SsdIT,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/044/st_physics_5044102_raw_1010003.daq",kFALSE}, - {"test.RC.auau.StiCA.y2004","","","RC.y2004,-SsdIt,-SvtIt,pmdRaw,StiCA","","" - , "/star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq",kFALSE}, - {"test.RC.auau.y2004","","","RC.y2004,-SsdIt,-SvtIt,pmdRaw,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq",kFALSE}, - {"test.RC.pp.y2004","","","RC.pp.y2004,ITTF,Sti","","" - , "/star/rcf/test/daq/2004/134/st_physics_5134013_raw_2010010.daq",kFALSE}, - {"test.RC.cucu200.ht.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/054/st_physics_6054016_raw_1020005.daq",kFALSE}, - {"test.RC.cucu200.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/048/st_physics_6048025_raw_1020002.daq",kFALSE}, - {"test.RC.cucu22.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/083/st_physics_6083006_raw_1040002.daq",kFALSE}, - {"test.RC.cucu62.y2005","","","RC.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/080/st_physics_6080011_raw_1020004.daq",kFALSE}, - {"test.RC.pp200.y2005","","","RC.pp.y2005,ITTF,Sti","","" - , "/star/rcf/test/daq/2005/171/st_physics_6171062_raw_2040010.daq",kFALSE}, - {"test.RC.pp200.Long.y2006","","","RC.pp.y2006,ITTF,Sti","","" - , "/star/rcf/test/daq/2006/155/7155010/st_physics_7155010_raw_1020003.daq",kFALSE}, - {"test.RC.pp200.Trans.y2006","","","RC.pp.y2006,ITTF,Sti","","" - , "/star/rcf/test/daq/2006/129/7129023/st_physics_7129023_raw_1020003.daq",kFALSE}, - {"test.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"test.RC.auau200.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq",kFALSE}, - {"test.RC.dau200.y2008","","","RC.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"test.RC.pp200.y2008","","","RC.pp.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"test.RC.pp200.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"test.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"test.RC.auau11.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"test.RC.auau200.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"test.RC.auau39.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"test.RC.auau62.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"test.RC.auau7.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/143/st_physics_11143043_raw_1020001.daq",kFALSE}, - {"test.RC.auau200.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"test.RC.auau20.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"test.RC.auau27.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"test.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"test.RC.cuAu200.AgML.y2012","","","RC.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"test.RC.cuAu200.y2012","","","RC.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"test.RC.pp200.AgML.y2012","","","RC.pp.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"test.RC.pp200.y2012","","","RC.pp.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"test.RC.pp500.AgML.y2012","","","RC.pp.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"test.RC.pp500.y2012","","","RC.pp.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"test.RC.UU193.AgML.y2012","","","RC.y2012b,AgML,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"test.RC.UU193.y2012","","","RC.y2012b,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"test.RC.pp500.y2013","","","RC.pp.y2013,Sti","","" - , "/star/rcf/test/daq/2013/079/st_physics_14079008_raw_1920004.daq",kFALSE}, - {"test.RC.AuAu15.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/069/st_physics_15069008_raw_2500008.daq",kFALSE}, - {"test.RC.AuAu200.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/086/st_physics_15086051_raw_2500017.daq",kFALSE}, - {"test.RC.AuAu200.mid.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/146/st_mtd_15146050_raw_1000030.daq",kFALSE}, - {"test.RC.He3Au200.y2014","","","RC.y2014,Sti","","" - , "/star/rcf/test/daq/2014/171/st_physics_15171039_raw_2000008.daq",kFALSE}, - {"eval_Sti_auau200.MC.y2007" ,"","","MC.y2007,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"eval_StiCA_auau200.MC.y2007","","","MC.y2007,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf1296_02_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_dau200.MC.y2008","","","MC.y2008,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp200.MC.y2008","","","MC.y2008,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_dau200.MC.y2008","","","MC.y2008,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp200.MC.y2008","","","MC.y2008,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_Sti_dau200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9066_20_1000evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2008","","","MC.y2008,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9992_01_1000evts.fzd",kFALSE}, - {"eval_StvCA_dau200.MC.Stv.y2008","","","MC.in.y2008,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11025_2040_100evts.event.root",kFALSE}, - {"eval_Stv_dau200.MC.y2008","","","MC.in.y2008,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11025_2040_100evts.event.root",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2009","","","MC.y2009a,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp200.MC.y2009","","","MC.y2009a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"eval_StiCA_pp500.MC.y2009","","","MC.y2009a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9993_01_1000evts.fzd",kFALSE}, - {"eval_Sti_pp500.MC.y2009","","","MC.y2009a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9994_01_1000evts.fzd",kFALSE}, - {"eval_StvCA_pp500.MC.y2009","","","MC.in.y2009,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11026_1020_50evts_pileup.event.root",kFALSE}, - {"eval_Stv_pp500.MC.y2009","","","MC.in.y2009,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11026_1020_50evts_pileup.event.root",kFALSE}, - {"eval_Sti.AgML_auau11.MC.y2010","","","MC.y2010a,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_auau200.MC.y2010","","","MC.y2010,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_Sti_auau11.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau200.MC.y2010","","","MC.y2010,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_Sti_auau39.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau62.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_Sti_auau7.MC.y2010","","","MC.y2010a,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau11.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10031_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau200.MC.y2010","","","MC.y2010,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf9068_305_100evts.fzd",kFALSE}, - {"eval_StiCA_auau39.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau62.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_StiCA_auau7.MC.y2010","","","MC.y2010a,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_Stv_auau200.MC.y2010","","","MC.in.y2010,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11022_2241_50evts.event.root",kFALSE}, - {"eval_StvCA_auau200.MC.y2010","","","MC.in.y2010,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11022_2241_50evts.event.root",kFALSE}, - {"eval_StvCA_auau39.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10032_1_100evts.fzd",kFALSE}, - {"eval_StvCA_auau62.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10033_1_100evts.fzd",kFALSE}, - {"eval_StvCA_auau7.MC.y2010","","","MC.y2010a,StvCA","","" - , "/star/rcf/simu/rcf10030_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_auau200.MC.y2011","","","MC.y2011,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2011","","","MC.fast.y2011,AgML,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_Sti_auau200.MC.y2011","","","MC.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.fzd",kFALSE}, - {"eval_StiCA_pp500.MC.y2011","","","MC.fast.y2011,StiCA,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_StiCA_pp500.pileup.MC.y2011","","","MC.fast.y2011,StiCA,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n " - "gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"eval_Sti_pp500.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd",kFALSE}, - {"eval_Sti_pp500.pileup.MC.y2011","","","MC.fast.y2011,Sti,fzin,MiniMcMk","","" - ,"/star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n" - " gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n" - " mode TPCE back 4001400\n gback 400 400 0.1 106.6" ,kFALSE}, - {"eval_Stv_auau200.MC.y2011","","","MC.in.y2011,Stv,StvPulls,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.event.root",kFALSE}, - {"eval_StvCA_auau200.MC.y2011","","","MC.in.y2011,StvPulls,StvCA,in,MiniMcMk","","" - , "/star/rcf/simu/rcf11023_2060_25evts.event.root",kFALSE}, - {"eval_Sti.AgML_CuAu200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_pp500.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"eval_Sti.AgML_UU200.MC.y2012","","","MC.y2012,Sti,AgML,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"eval_Sti_CuAu200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12003_1_100evts.fzd",kFALSE}, - {"eval_Sti_pp200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12000_1_1000evts.fzd",kFALSE}, - {"eval_Sti_pp500.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12001_1_1000evts.fzd",kFALSE}, - {"eval_Sti_UU200.MC.y2012","","","MC.y2012,Sti,fzin,MiniMcMk","","" - , "/star/rcf/simu/rcf12002_1_100evts.fzd",kFALSE}, - {"eval_Sti.AgML.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,AgML,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StiCA.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,StiCA","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2007","","","RC.y2007,pmdReco,StiCA","","" - , "/star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq",kFALSE}, - {"eval_Sti.RC.auau200.MB.y2007","","","RC.y2007,pmdReco,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.MB.y2007","","","RC.y2007,Stv,AgML","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_StvCA.RC.auau200.MB.y2007","","","RC.y2007.NoSvt,StvCA","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Stv.RC.auau200.MB.y2007","","","RC.y2007.NoSvt,Stv","","" - , "/star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq",kFALSE}, - {"eval_Sti.AgML.RC.dau200.y2008","","","RC.y2008,ITTF,AgML,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StiCA.RC.dau200.y2008","","","RC.y2008,StiCA","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2008","","","RC.pp.y2008,StiCA","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Sti.RC.dau200.y2008","","","RC.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2008","","","RC.pp.y2008,ITTF,Sti","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.dau200.y2008","","","RC.y2008.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StvCA.RC.dau200.y2008","","","RC.y2008.notof,StvCA","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2008","","","RC.pp.y2008.Minuit,StvCA","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Stv.RC.dau200.y2008","","","RC.y2008.notof,Stv","","" - , "/star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2008","","","RC.pp.y2008.Minuit,Stv","","" - , "/star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2009","","","RC.pp.y2009.VFPP,StiCA","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_StiCA.RC.pp500.y2009","","","RC.pp.y2009.VFPP,StiCA","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2009","","","RC.pp.y2009.VFPP,ITTF,Sti","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp500.y2009","","","RC.pp.y2009,Stv,AgML","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2009","","","RC.pp.y2009,StvCA","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2009","","","RC.pp.y2009,StvCA","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2009","","","RC.pp.y2009,Stv","","" - , "/star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2009","","","RC.pp.y2009,Stv","","" - , "/star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau200.y2010","","","RC.y2010.notof,AgML,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau39.y2010","","","RC.y2010.notof,AgML,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StiCA.RC.auau11.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_StiCA.RC.auau39.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StiCA.RC.auau62.y2010","","","RC.y2010,StiCA","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Sti.RC.auau11.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_Sti.RC.auau200.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Sti.RC.auau39.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_Sti.RC.auau62.y2010","","","RC.y2010,Sti","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.y2010","","","RC.y2010.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau39.y2010","","","RC.y2010.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StvCA.RC.auau11.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_StvCA.RC.auau200.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_StvCA.RC.auau39.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_StvCA.RC.auau62.y2010","","","RC.y2010.notof,StvCA","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Stv.RC.auau11.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq",kFALSE}, - {"eval_Stv.RC.auau200.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq",kFALSE}, - {"eval_Stv.RC.auau39.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq",kFALSE}, - {"eval_Stv.RC.auau62.y2010","","","RC.y2010.notof,Stv","","" - , "/star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau200.y2011","","","RC.y2011,AgML,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Sti.AgML.RC.auau20.y2011","","","RC.y2011,AgML,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_StiCA.RC.auau200.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_StiCA.RC.auau20.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StiCA.RC.auau27.y2011","","","RC.y2011,StiCA","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_StiCA.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,StiCA","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Sti.RC.auau200.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Sti.RC.auau20.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Sti.RC.auau27.y2011","","","RC.y2011,Sti","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2011","","","RC.pp.y2011.VFPPV,pmdReco,mtdDat,Sti","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau200.y2011","","","RC.y2011,Stv,AgML","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Stv.AgML.RC.auau20.y2011","","","RC.y2011,Stv,AgML","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.auau200.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_StvCA.RC.auau20.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.auau27.y2011","","","RC.y2011,StvCA","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2011","","","RC.pp.y2011,pmdReco,mtdDat,StvCA","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Stv.RC.auau200.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq",kFALSE}, - {"eval_Stv.RC.auau20.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq",kFALSE}, - {"eval_Stv.RC.auau27.y2011","","","RC.y2011,Stv","","" - , "/star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2011","","","RC.pp.y2011,pmdReco,mtdDat,Stv","","" - , "/star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp200.y2012","","","RC.pp.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.AgML.RC.pp500.y2012","","","RC.pp.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Sti.AgML.RC.UU193.y2012","","","RC.y2012,AgML,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_StiCA.RC.pp200.y2012","","","RC.pp.y2012,StiCA","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.RC.pp200.y2012","","","RC.pp.y2012,Sti","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Sti.RC.pp500.y2012","","","RC.pp.y2012,Sti","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Sti.RC.UU193.y2012","","","RC.y2012,Sti","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_Stv.AgML.RC.cuAu200.y2012","","","RC.y2012b.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp200.y2012","","","RC.pp.y2012.notofMin,Stv,AgML","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Stv.AgML.RC.pp500.y2012","","","RC.pp.y2012.notofMin,Stv,AgML","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Stv.AgML.RC.UU193.y2012","","","RC.y2012b.notof,Stv,AgML","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_StvCA.RC.cuAu200.y2012","","","RC.y2012b.notof,StvCA","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_StvCA.RC.pp200.y2012","","","RC.pp.y2012.notofMin,StvCA","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_StvCA.RC.pp500.y2012","","","RC.pp.y2012.notofMin,StvCA","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_StvCA.RC.UU193.y2012","","","RC.y2012b.notof,StvCA","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"eval_Stv.RC.cuAu200.y2012","","","RC.y2012b.notof,Stv","","" - , "/star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq",kFALSE}, - {"eval_Stv.RC.pp200.y2012","","","RC.pp.y2012.notofMin,Stv","","" - , "/star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq",kFALSE}, - {"eval_Stv.RC.pp500.y2012","","","RC.pp.y2012.notofMin,Stv","","" - , "/star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq",kFALSE}, - {"eval_Stv.RC.UU193.y2012","","","RC.y2012b.notof,Stv","","" - , "/star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq",kFALSE}, - {"doEvents" ,"" ,"","in,StEvent,analysis,NoDb" ,"","","",kFALSE}, - {"MakeMuDst","","","in,StEvent,CMuDST,Tree,nodefault,NoHistos,ReadAll","","" ,"StEvent => MuDst",kFALSE}, - {"drawDst" ,"" ,"","in,ry1h,globT,SCL,geant,display,NoDb,TbUtil" ,"","","",kFALSE}, - {"Cdst" ,"" ,"","ITTF,event,analysis,EventQA" ,"","","",kFALSE}, - {"C1default" ,"" ,"","rich,l0,Cdst,tags,Tree,EvOut,NoHits" ,"","","Year 1 chain",kFALSE}, - {"C2default" ,"" ,"","rich,l0,Cdst,tags,Tree,EvOut,ftpc,svt,emcY2" ,"","","Year 2 chain",kFALSE}, - {"C3default" ,"" ,"","l0,Cdst,tags,Tree,EvOut,NoHits,ftpc,svt,bbcsim,emcY2" - , "","","Year 3 simu base chain",kFALSE}, - {"CAdefault" ,"" ,"","l0,Cdst,tags,Tree,EvOut,NoHits,ftpc,svt,emcY2","","","Assymptotic chain",kFALSE}, - {"Cy1a" ,"" ,"","y1a,C1default" ,"","","Turn on chain y1a",kFALSE}, - {"Cy1b" ,"" ,"","y1b,C1default" ,"","","Turn on chain y1b",kFALSE}, - {"Cy1s" ,"" ,"","y1s,C1default" ,"","","Turn on chain y1s",kFALSE}, - {"Cy1d" ,"" ,"","y1d,C1default" ,"","","Turn on chain y1d",kFALSE}, - {"cy1e" ,"" ,"","y1e,C1default" ,"","","Turn on chain y1h",kFALSE}, - {"cy1h" ,"" ,"","y1h,C1default" ,"","","Turn on chain y1e",kFALSE}, - {"Cy2a" ,"" ,"","y2a,CAdefault" ,"","","Turn on chain y2a",kFALSE}, - {"Cy2b" ,"" ,"","y2b,C2default" ,"","","Turn on chain y2b",kFALSE}, - {"C2000" ,"" ,"","y2000,C1default" ,"","","Turn on chain Y2000",kFALSE}, - {"C2001" ,"" ,"","y2001,C2default" ,"","","Turn on chain Y2001",kFALSE}, - {"C2003" ,"" ,"","y2003,C3default" ,"","","Turn on chain Y2003",kFALSE}, - {"C2003X" ,"" ,"","y2003X,C3default" ,"","","Turn on chain Y2003X (full B/E EMC)",kFALSE}, - {"mdc3" ,"" ,"","cy1h,GeantOut" ,"","","MDC3 default chain",kFALSE}, - {"MDC4" ,"" ,"","C2001,trs,tpc_daq,Simu,srs,fss,rrs,big,GeantOut","","","Turn on chain for MDC4",kFALSE}, - {"MDC4New" ,"" ,"","y2001n,C2default,trs,tpc_daq,Simu,srs,fss,rrs,big,GeantOut","","" - , "Turn on chain for MDC4 (for after September)",kFALSE}, - {"PostMDC4" ,"" ,"","C2001,trs,tpc_daq,Simu,sss,fss,rrs,big,GeantOut" - , "","","Turn on Post MDC4 chain",kFALSE}, - {"ppMDC4","","","ppOpt,C2001,mwc,trs,tpc_daq,Simu,srs,rrs,big,GeantOut" - , "","","Turn on chain for ppMDC",kFALSE}, - {"dAuMDC" ,"" ,"","ppOpt,C2003,trs,tpc_daq,Simu,srs,fss,big,GeantOut","","","Chain for d+Au",kFALSE}, - {"dAuMDCa" ,"" ,"","ppOpt,C2003,trs,tpc_daq,Simu,srs,fss,big,GeantOut,est","","","Chain for d+Au",kFALSE}, - {"CComplete" ,"" ,"","Complete,C2default" ,"","","Turn on chain for Complete STAR",kFALSE}, - {"SvtD" ,"","","SvtCalDb,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit", "","","SVT chain for Data",kFALSE}, - {"P00h" ,"" ,"","ry1h,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,ExB,NoHits","","" - , "Production chain for summer 2000 data",kFALSE}, - {"P2000" ,"" ,"","ry2000,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,ExB,NoHits","","" - , "Production chain for summer 2000 data",kFALSE}, - {"B2000" ,"","","ry2000,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,NosvtIT,NossdIT","","" - , "Base chain for 2001 (tpc+rhic)",kFALSE}, - {"P2000a" ,"" ,"","B2000,Corr1","","" ,"Production chain for summer 2000 data",kFALSE}, - {"B2001" ,"" ,"","ry2001,in,tpc_daq,tpc,rich,Physics,Cdst,Kalman,tags,Tree,evout,svtDb","","" - ,"Base chain for 2001 (tpc+rhic)" ,kFALSE}, - {"P2001" ,"" ,"","B2001,l3onl,tofDat,Corr2,OSpaceZ","","" - , "Production chain for summer 2001 data (+ l3, tof)",kFALSE}, - {"P2001a" ,"" ,"","B2001,svt_daq,SvtD,ftpc,l3onl,tofDat,emcDY2,Corr2,OSpaceZ","","" - , "Production chain for summer 2001 data (+ ftpc, svt, l3, tof, emc)",kFALSE}, - {"pp2001","","","ppOpt,B2001,-PreVtx,l3onl,tofDat,emcDY2,Corr2","","" ,"pp 2001 (+ l3, tof, emc)",kFALSE}, - {"pp2001a" ,"" ,"","pp2001,svt_daq,SvtD,ftpc","","" ,"pp 2001 (+ ftpc, svt, l3, tof, emc)",kFALSE}, - {"B2003" ,"" ,"","ry2003,in,tpc_daq,tpc,Physics,Cdst,Kalman,tags,Tree,evout,svtDb","","" - , "Base chain for 2003 (tpc)",kFALSE}, - {"dau2003" ,"" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc","","" - , "Production chain for winter 2003 data (+ tof, svt (no est), ftpc, emc)",kFALSE}, - {"dau2003a" ,"" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd","","" - , "Production chain for winter 2003 data (+ tof, svt (no est), ftpc, emc, trgd)",kFALSE}, - {"pp2003" , "" ,"","B2003,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd","","" - , "Production chain for Spring 2003 data (+ tof, svt (no est), ftpc, emc, trgd)",kFALSE}, - {"Idst" ,"" ,"", "event,compend,EventQA" ,"","","Turn on DST for ITTF",kFALSE}, - {"IAna" ,"" ,"","dEdxY2,Kink2,xi2,CMuDst,analysis","","" ,"Turn on Xi, Kink, dEdx and MuDst",kFALSE}, - {"BAna" ,"" ,"","dEdxY2,CMuDst,analysis" ,"","" ,"Turn on dEdx and MuDst",kFALSE}, - {"B2003I" ,"","","ry2003,in,TpxRaw,TpxClu,Idst,l0,tags,Tree,evout,svtDb" - , "","","Base chain for 2003 ITTF",kFALSE}, - {"dau2003i" ,"","","B2003I,IAna,CtbMatchVtx,Corr2,ppOpt,l3onl,tofDat,emcDY2,svt_daq,SvtD,ftpc,trgd" - , "","","Production chain for winter 2003 data dau2003a with ITTF",kFALSE}, - {"pp2003i","","","B2003I,IAna,CtbMatchVtx,Corr2,ppOpt,-PreVtx,l3onl,ToF,emcDY2,svt_daq,SvtD,ftpc,trgd" - , "","","Production chain for winter 2003 data dau2003a with ITTF",kFALSE}, - {"B2004" ,"","","ry2004,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2004 ITTF (tpc+svt)",kFALSE}, - {"P2004","" ,"","B2004,IAna,fcf,VFMinuit,ToF,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr4,OSpaceZ2" - , "","","Production chain for 2003/2004 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2004" ,"" ,"", - "B2004,IAna,fcf,ppOpt,VFppLMV5,CtbMatchVtx,ToF,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr4,OSpaceZ2" - , "","","Production chain for 2003/2004 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2005" ,"","","ry2005b,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF (tpc+svt)",kFALSE}, - {"B2005a" ,"" ,"","ry2005b,in,tpc_daq,tpcI,Physics,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2005 ITTF (tpc only)",kFALSE}, - {"B2005b" ,"" ,"","ry2005f,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF Geo f (tpc+svt only)",kFALSE}, - {"B2005c" ,"" ,"","ry2005g,in,tpc_daq,tpcI,svt_daq,SvtD,Physics,Idst,l0,tags,Tree,evout,ssdDb","","" - , "Base chain for 2005 ITTF Geo g (tpc+svt only + dead material)",kFALSE}, - {"P2005" ,"" ,"", "B2005,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2005b" ,"" ,"", "B2005b,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2005c" ,"" ,"", "B2005c,IAna,fcf,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2004/2005 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005","" ,"","B2005,IAna,fcf,ppOpt,VFppLMV5,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,svtIT,Corr3" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005a","","","B2005a,IAna,fcf,ppOpt,VFPPV,beamline,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,Corr4" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2005b","","", "B2005b,IAna,fcf,ppOpt,VFPPV,beamline,CtbMatchVtx,emcDY2,ftpc,trgd,ZDCvtx,Corr4" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2006" ,"" ,"","ry2005d,in,tpc_daq,tpcI,svt_daq,SvtD,Idst,tags,Tree,evout,ssdDb","","" - , "Base chain for 2006 ITTF (tpc+svt)",kFALSE}, - {"B2006a" ,"" ,"","ry2005d,in,tpc_daq,tpcI,Idst,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 with 2005d geom ITTF (tpc only)",kFALSE}, - {"B2006b" ,"" ,"","ry2006,in,tpc_daq,tpcI,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 ITTF (tpc only)",kFALSE}, - {"B2006g" ,"" ,"","ry2006g,in,tpc_daq,tpcI,Idst,l0,tags,Tree,evout,svtDb,ssdDb","","" - , "Base chain for 2006 ITTF geo g (tpc only)",kFALSE}, - {"pp2006a" ,"" ,"", - "B2006a,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr3" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2006b" ,"" ,"", - "B2006b,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr4,BeamBack" - , "","","Production chain for 2005 pp data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2006g" ,"" ,"", - "B2006g,IAna,fcf,ppOpt,VFPPVnoCTB,beamline,emcDY2,ftpc,trgd,ZDCvtx,Corr4,BeamBack" - , "","","Production chain for 2005 pp data geo g (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"T2007","","","ry2007g,MakeEvent,in,tpc_daq,tpcI,fcf,Tree,evout" - , "","","TPC only chain, 2007 ITTF",kFALSE}, - {"B2007","","","ry2007,MakeEvent,in,tpc_daq,tpcI,fcf,svt_daq,SvtD,ssddat,sptd,Idst,tags,Tree,evout" - , "","","Base chain for 2007 ITTF (tpc+svt+ssd)",kFALSE}, - {"B2007g","","","ry2007g,MakeEvent,in,tpc_daq,tpcI,fcf,svt_daq,SvtD,ssddat,sptd,Idst,tags,Tree,evout" - , "","","Base chain for 2007 ITTF geo g (tpc+svt+ssd)",kFALSE}, - {"P2007" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr5" - , "","","Production chain for 2007 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007g" ,"" ,"", - "B2007g,IAna,KeepSvtHit,hitfilt,VFMinuit2,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr5" - , "","","Production chain for 2007 data, revised 2008 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007a" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr3" - , "","","Production chain for 2007 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2007b" ,"" ,"", - "B2007,IAna,KeepSvtHit,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,svtIT,ssdIT,Corr4" - , "","","Production chain for 2007 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2008" ,"","","ry2008,in,tpc_daq,tpcI,fcf,Idst,tags,Tree,evout","","" - , "Base chain for 2008 ITTF (tpc)",kFALSE}, - {"B2008a","","","ry2008,in,tpcX,ToFx,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2008 ITTF (tpc+tof)",kFALSE}, - {"P2008a" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr3,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008b" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008a" ,"" ,"", - "B2008,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008c" ,"" ,"", - "B2008,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008c" ,"" ,"", - "B2008,IAna,hitfilt,ppOpt,Minuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr4 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2008" ,"" ,"", - "B2008a,IAna,hitfilt,ppOpt,VFPPV,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data Corr3 (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"P2008" ,"" ,"", - "B2008a,IAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,Corr4,analysis" - , "","","Production chain for 2008 data (+ l3, tof, ftpc, e/b-emc, trgd)",kFALSE}, - {"B2009.1","","","ry2009,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"B2009.2","","","ry2009a,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"B2009.3","","","ry2009d,in,tpcX,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2009 ITTF (tpc)",kFALSE}, - {"pp2009a" ,"" ,"", - "B2009.1,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2009 data - no Corr (+ l3, ftpc, e/b-emc, trgd)",kFALSE}, - {"pp2009b" ,"" ,"", - "B2009.1,IAna,hitfilt,ppOpt,VFMinuit,emcDY2,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2009 data - no Corr (+ l3, ftpc, e/b-emc, no trigger)",kFALSE}, - {"pp2009c" ,"" ,"", - "B2009.2,BAna,hitfilt,ppOpt,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis","","" - , "Production chain for 2009 data - no Corr, no VF (+l3, ftpc, e/b-emc, trig)",kFALSE}, - {"pp2009d" ,"" ,"", - "B2009.3,BAna,hitfilt,ppOpt,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis","","" - , "Production chain for 2009 data - no Corr, no VF (+l3, ftpc, e/b-emc, trig)",kFALSE}, - {"B2010","","","ry2010,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2010 ITTF (tpc)",kFALSE}, - {"B2010c","","","ry2010c,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2010 ITTF (tpc)",kFALSE}, - {"P2010a","" ,"", - "B2010,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2010a","" ,"", - "B2010,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"P2010c","" ,"", - "B2010c,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2010c","" ,"", - "B2010c,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2010 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"B2011","","","ry2011,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2011 ITTF (tpc)",kFALSE}, - {"P2011a","" ,"", - "B2011,BAna,hitfilt,VFMinuit,emcDY2,ftpc,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, ftpc, e/b-emc)",kFALSE}, - {"pp2011a","" ,"", - "B2011,BAna,hitfilt,ppOpt,emcDY2,trgd,ftpc,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, ftpc, e/b-emc, no VF)",kFALSE}, - {"B2012","","","ry2012,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2012 ITTF (tpc)",kFALSE}, - {"pp2012a","" ,"","B2012,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2012 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"P2012a","" ,"", - "B2012,BAna,hitfilt,VFMinuit,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, e/b-emc)",kFALSE}, - {"B2012b","","","ry2012a,in,tpcX,ITTF,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2012 ITTF (tpc)",kFALSE}, - {"pp2012b","" ,"", - "B2012b,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2012 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"P2012b","" ,"", - "B2012b,BAna,hitfilt,VFMinuit,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","","Production chain for 2011 data - no Corr (+ l3, e/b-emc)",kFALSE}, - {"B2013","","","in,tpcX,UseXgeom,ITTF,NosvtIT,NossdIT,tpcDB,TpcHitMover,Idst,tags,Tree,evout," - "btof,mtd,BAna,emcDY2,trgd,ZDCvtx","","", "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"B2013x","","","ry2013_1x,B2013","","", "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"pp2013x","","","B2013x,BAna,emcDY2,trgd,ZDCvtx" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"B2013" ,"","","B2013_c2","","", "Alias for B2013 Configuration 2",kFALSE}, - {"B2013_c2","","","ry2013_2c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"B2013_c1","","","ry2013_1c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2013 ITTF (tpc)",kFALSE}, - {"pp2013a","" ,"", - "B2013_c2,ITTF,UseXgeom,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis", - "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"pp2013b","" ,"", - "B2013_c1,ITTF,UseXgeom,BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"pp2013","" ,"", - "BAna,hitfilt,ppOpt,emcDY2,trgd,ZDCvtx,NosvtIT,NossdIT,analysis" - , "","", "Production chain for 2013 data - no Corr (+ l3, e/b-emc, no VF)",kFALSE}, - {"B2014" ,"","","ry2014,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2014 ITTF (tpc)",kFALSE}, - {"B2014a","","","ry2014a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2014a ITTF (tpc)",kFALSE}, - {"P2014","" ,"", - "B2014,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for 2014 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2014a","" ,"", - "B2014a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis," - , "","","Production chain for 2014 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2015" ,"","","ry2015,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2015 ITTF (tpc)",kFALSE}, - {"B2015a" ,"","","ry2015a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015a data",kFALSE}, - {"B2015b" ,"","","ry2015b,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015 with y2015b geometry",kFALSE}, - {"B2015c" ,"","","ry2015c,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2015 with y2015c geometry",kFALSE}, - {"pp2015","" ,"", - "B2015,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2015 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015a","" ,"", - "B2015a,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015a data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015b","" ,"", - "B2015b,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015b data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"pp2015c","" ,"", - "B2015c,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015c data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015","" ,"", - "B2015,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2015 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015a","" ,"", - "B2015a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015a data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015b","" ,"", - "B2015b,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015b data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2015c","" ,"", - "B2015c,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for year 2015c data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2016" ,"","","ry2016,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for 2016 ITTF (tpc)",kFALSE}, - {"P2016","" ,"", - "B2016,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2016 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2016a" ,"","","ry2016a,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Production chain for 2016 data (tpc)",kFALSE}, - {"P2016a","" ,"", - "B2016a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,StiHftC,analysis" - , "","","Production chain for 2016 data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2017" ,"","","ry2017,in,tpcX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,evout","","" - , "Base chain for run 2017 data (tpc)",kFALSE}, - {"pp2017","" ,"", - "B2017,Sti,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2017 pp data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2017","" ,"", - "B2017,Sti,UseXgeom,BAna,hitfilt,VFMinuit,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2017 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2017a" ,"","","ry2017a,in,tpcX,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite","","" - , "Production chain for run 2017 data (tpc)",kFALSE}, - {"pp2017a","" ,"", - "B2017a,ITTF,UseXgeom,BAna,hitfilt,ppOpt,VFPPVnoCTB,beamline3D,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for year 2017 pp data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"P2017a","" ,"", - "B2017a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,beamline3D,l3onl,emcDY2,fpd,trgd,ZDCvtx,analysis" - , "","","Production chain for year 2017 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2018a" ,"","","ry2018a,in,tpcX,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite","","" - , "Base chain for run 2018 data (tpc)",kFALSE}, - {"P2018a","" ,"", - "B2018a,ITTF,UseXgeom,BAna,hitfilt,VFMinuit,beamline3D,l3onl,emcDY2,epdHit,fpd,trgd,ZDCvtx,analysis" - , "","","Base chain for year 2018 AA data - no Corr (+ l3, bcc/fpd, e/b-emc)",kFALSE}, - {"B2019a" ,"","","ry2019a,in,tpcX,UseXgeom,iTpcIT,CorrX,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite", - "","", "Base chain for run 2019 data (tpc)",kFALSE}, - {"P2019a","" ,"", - "B2019a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,beamline3D,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2019 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2020a" ,"","", - "ry2020a,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2020 data (tpc)",kFALSE}, - {"P2020a","" ,"", - "B2020a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2020 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2021a" ,"","", - "ry2021a,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2020 data (tpc)",kFALSE}, - {"P2021a","" ,"", - "B2021a,ITTF,BAna,iTpcIT,hitfilt,VFMinuit,etofa,btof,mtd,l3onl,emcDY2,epdHit,trgd,ZDCvtx,analysis" - , "","", "Base chain for year 2020 AA data - no Corr (+ l3, epd, mtd, b/etof, b-emc)",kFALSE}, - {"B2022" ,"","", - "ry2022,in,tpcX,UseXgeom,iTpcIT,CorrY,AgML,tpcDB,TpcHitMover,Idst,tags,Tree,picoWrite,picoVtxDefault,picoCovMtxWrite", - "","", "Base chain for run 2022 data (tpc)",kFALSE}, - {"pp2022","" ,"", - "B2022,ITTF,BAna,hitfilt,ppOpt,ImpBToFt0Mode,VFPPVnoCTB,beamline3D,l3onl,etofa,btof,mtd,emcDY2,FttDat,fcs,trgd,ZDCvtx,analysis", - "","","Production chain for year 2022 pp data - no Corr (+ l3, epd, mtf, b/etof, fcs, e/b-emc)",kFALSE}, - {"LaserCal0","" ,"","db,detDb,tpc_daq,tpcDb,tcl,globT,laser,LaserTest","","" - , "Laser Calibration Chain (tcl)",kFALSE}, - {"LaserCal","" ,"","db,detDb,tpc_daq,tpcDb,fcf,globT,laser,LaserTest","","" - , "Laser Calibration Chain",kFALSE}, - {"L3Counter","" ,"","db,detDb,in,l3count","","", "L3 Counter extraction pass",kFALSE}, - {"VtxSeedCal","","","ppOpt,ry2001,in,tpc_daq,tpc,globT,-Tree,Physics,-PreVtx,FindVtxSeed,NoEvent,Corr2" - , "","","Pass0 Vertex evaluator",kFALSE}, - {"SpcChgCal","","","B2004,fcf,Corr3,OSpaceZ2,OShortR,SCEbyE,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 SpaceCharge evaluator",kFALSE}, - {"SpcChgCalG","","","MuDST,fcf,Corr4,OSpaceZ2,OGridLeak3D,SCEbyE,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 SpaceCharge evaluator with GridLeak, no geo or tracker dependence",kFALSE}, - {"VtxSeedCalG","","","MuDST,fcf,Corr4,FindEvtVtxSeed,-Tree,-tags,-EvOut,-EventQA" - , "","","Pass0 Vertex evaluator",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"OPTIONS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ITTF" ,"","","","","","request to use one of Sti(default), StiCA, Stv,StvCA, ... trackers",kFALSE}, - {"NoHits" ,"" ,"","" ,"","","Don\'t write hits into Event.Branch",kFALSE}, - {"Kalman" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Eval" ,"" ,"","","","" ,"Turn on evaluation switch for different makers",kFALSE}, - {"Ev03" ,"" ,"","","","" ,"Turn on alternative V0 method",kFALSE}, - {"off" ,"" ,"","","","" ,"Turn off default chain",kFALSE}, - {"clearDAQCTB" ,"" ,"","","" ,"" ,"clear DAQ CTB Hits for embedding",kFALSE}, - {"NoInput" ,"" ,"","","" ,"" ,"No input file",kFALSE}, - {"util" ,"" ,"","","","StAnalysisUtilities", "Load StAnalysisUtilities",kFALSE}, - {"StUtilities" ,"" ,"","","","StUtilities", "Load StUtilities",kFALSE}, - {"FieldOn" ,"" ,"","MagF" ,"","" ,"Constant nominal field",kFALSE}, - {"FieldOff" ,"" ,"","MagF" ,"","" ,"No Field option",kFALSE}, - {"HalfField" ,"" ,"","MagF" ,"","","Half Field option",kFALSE}, - {"ReverseField","" ,"","MagF" ,"","","Reverse Field option",kFALSE}, - {"NoCintDb" ,"" ,"","" ,"","","Switch off all Cint Db",kFALSE}, - {"NoStarCintDb","" ,"","" ,"","","Switch off standard Cint Db",kFALSE}, - {"NoLocalCintDb","" ,"","" ,"","","Switch off local Cint Db",kFALSE}, - {"NoMySQLDb" ,"" ,"","" ,"","","Switch off MySQL Db",kFALSE}, - {"NoCintCalDb" ,"" ,"","NoLocalCintDb" ,"","","Switch off local Cint Db",kFALSE}, - {"dbSnapshot" ,"" ,"","" ,"","","Create?use dbSnapshot",kFALSE}, - {"NoEvent" ,"" ,"","-event,-analysis" ,"","","Switch Off StEvent and StAnalysis Makers",kFALSE}, - {"MakeDoc" ,"" ,"","" ,"","","Make HTML documentation for the given Chain",kFALSE}, - {"Debug" ,"" ,"","" ,"","","Set debug flag = 1",kFALSE}, - {"Debug1" ,"" ,"","" ,"","","Set debug flag = 1",kFALSE}, - {"Debug2" ,"" ,"","" ,"","","Set debug flag = 2",kFALSE}, - {"IdTruth" ,"" ,"","" ,"","","Enable IdTruth association in StAssociationMaker",kFALSE}, - {"OldMiniMc" ,"" ,"","" ,"","","Keep pre-2008 convention for MiniMc",kFALSE}, - {"useInTracker","" ,"","","","" ,"switch from EGR to ITTF global tracks in StAssociationMaker",kFALSE}, - {"noRepeat" ,"" ,"","" ,"","","No repeat in Messenger",kFALSE}, - {"noHistos" ,"" ,"","" ,"","","Disables Attributes histos",kFALSE}, - {"noRunco" ,"" ,"","" ,"","","Disables Attributes runco",kFALSE}, - {"Higz" ,"" ,"","" ,"","","Pop Higz window",kFALSE}, - {"big" ,"" ,"","" ,"","","Set NwGEANT =20Mwords",kFALSE}, - {"bigbig" ,"" ,"","" ,"","","Set NwGEANT =40Mwords",kFALSE}, - {"huge" ,"" ,"","" ,"","","Set NwGEANT =80Mwords",kFALSE}, - {"clearmem" ,"" ,"","" ,"","","Obsolete",kFALSE}, - {"adcOnly" ,"" ,"","" ,"","","DAQMaker selects only TPC ADC events",kFALSE}, - {"InTree" ,"" ,"","in","" ,"","bfcTree Input Tree name",kFALSE}, - {"OutTree" ,"" ,"","Tree","" ,"","bfcTree Output Tree name",kFALSE}, - {"DstOut" ,"","","", "","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"McEvOut" ,"" ,"","StMcEvent,Tree" ,"","","Write StMcEvent to StTree",kFALSE}, - {"EvOut" ,"" ,"","Tree" ,"","","Write StEvent to StTree",kFALSE}, - {"GeantOut" ,"" ,"","Tree" ,"","","Write g2t tables to StTree",kFALSE}, - {"Simu" ,"" ,"","" ,"","","Simulated Data, force to use Db time stamp from used geometry",kFALSE}, - {"HitsBranch" ,"" ,"","" ,"","","take out points from dst branch and put them into HitsBranch",kFALSE}, - {"paw" ,"" ,"","" ,"","","Allocate memory for pawc",kFALSE}, - {"AllEvent" ,"" ,"","Tree" ,"","","Write whole event to StTree",kFALSE}, - {"AllTables" ,"" ,"","","" ,"St_Tables","Load Star Tables",kFALSE}, - {"FXT" ,"" ,"","btofFXT","" ,"","enable anything FXT-specific",kFALSE}, - {"btofFXT" ,"" ,"","","" ,"","enable FXT mode for btof",kFALSE}, - {"Corr1" ,"" ,"","AlignSectors,ExB,OBmap,OClock,OPr13","","" - , "... AlignSectors,ExB,OBmap,OClock,OPr13 ...",kFALSE}, - {"Corr2" ,"" ,"","Corr1,OTwist,OIFC" ,"","","...Corr1+OTwist,OIFC ...",kFALSE}, - {"Corr3" ,"" ,"","AlignSectors,ExB,OBmap2D,OClock,OPr13,OTwist,OIFC","","" - , "... AlignSectors,ExB,OBmap2D,OClock,OPr13,OTwist,OIFC ...",kFALSE}, - {"Corr4" ,"" ,"","Corr3,OShortR" ,"","","... Corr3+OShortR...",kFALSE}, - {"Corr5" ,"" ,"","Corr4,SCEbyE,OGridLeak3D,OSpaceZ2","","" - , "... Corr4+SCEbyE,OGridLeak3D,OSpaceZ2...",kFALSE}, - {"CorrX" ,"" ,"","ExB,OShortR,OBmap,OPr13,OIFC,OSectorAlign,NewTpcAlignment" - ",-AlignSectors,-OBmap2D,-OClock,-OTwist" ,"","","New Tpc Alignment",kFALSE}, - {"CorrY" ,"" ,"","ExB,OShortR,OBmap,OPr40,OIFC,OSectorAlign,NewTpcAlignment,OSpaceZ2,OGridLeakFull" - ",-AlignSectors,-OBmap2D,-OClock,-OTwist" ,"","","New Tpc Alignment",kFALSE}, - {"ExB" ,"" ,"","","" ,"","Activate ExB correction",kFALSE}, - {"EB1" ,"" ,"","","" ,"","Force ExB configuration 1",kFALSE}, - {"EB2" ,"" ,"","","" ,"","Force ExB configuration 2",kFALSE}, - {"OBmap" ,"" ,"","","" ,"","ExB shape correction",kFALSE}, - {"OBmap2D" ,"" ,"","","" ,"","ExB 2 D shape correction",kFALSE}, - {"OTwist" ,"" ,"","","" ,"","ExB twist correction",kFALSE}, - {"OClock" ,"" ,"","","" ,"","Clock/tpc rot. correction",kFALSE}, - {"OPr13" ,"" ,"","","" ,"","PadRow 13 distortion",kFALSE}, - {"OPr40" ,"" ,"","","" ,"","PadRow 40 distortion",kFALSE}, - {"OCentm" ,"" ,"","","" ,"","Central membrane correction",kFALSE}, - {"OECap" ,"" ,"","","" ,"","EndCap (curved) correction",kFALSE}, - {"OIFC" ,"" ,"","","" ,"","Field Cage correction",kFALSE}, - {"OSpaceZ" ,"" ,"","","" ,"","Space Charge corrections",kFALSE}, - {"OSpaceZ2" ,"" ,"","","" ,"","Space Charge corrections R2",kFALSE}, - {"OShortR" ,"" ,"","","" ,"","Shorted Ring correction",kFALSE}, - {"OGridLeak" ,"" ,"","","" ,"","Grid Leak correction",kFALSE}, - {"OGridLeak3D" ,"" ,"","","" ,"","3D Grid Leak correction",kFALSE}, - {"OGridLeakFull","" ,"","","" ,"","Full Grid Leak correction",kFALSE}, - {"OGGVoltErr" ,"" ,"","","" ,"","GG voltage error correction",kFALSE}, - {"OSectorAlign","" ,"","","" ,"","Sector alignment distortion correction",kFALSE}, - {"ODistoSmear" ,"" ,"","","" ,"","Distortion smearing accounting for calibration resolutions",kFALSE}, - {"OAbortGap" ,"" ,"","","" ,"","Abort gap cleaning event distortion correction",kFALSE}, - {"AlignSectors","" ,"","","" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"EbyET0" ,"" ,"","","" ,"","Event-by-event T0 corrections",kFALSE}, - {"DbRichSca" ,"" ,"","detdb","","", "Force reading of Rich scalers from DB",kFALSE}, - {"EastOff" ,"" ,"","","" ,"","Disactivate East part of tpc",kFALSE}, - {"WestOff" ,"" ,"","","" ,"","Disactivate West part of tpc",kFALSE}, - {"AllOn" ,"" ,"","","" ,"","Activate both East and West parts of tpc",kFALSE}, - {"ReadAll" ,"" ,"","","" ,"","Activate all branches to read",kFALSE}, - {"pp" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppOpt" ,"" ,"","TrsPileUp","","", "pp option without enabling special cases",kFALSE}, - {"TrsPileUp" ,"" ,"","","","", "Trs pile up mode",kFALSE}, - {"TrsToF" ,"" ,"","","","", "Trs account for particle time of flight",kFALSE}, - {"SvtMatchVtx" ,"" ,"","","" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"VtxOffSet" ,"" ,"","","" ,"","Account Primary Vertex offset from y2000 data",kFALSE}, - {"Calibration" ,"" ,"","","" ,"","Calibration mode",kFALSE}, - {"beamLine" ,"" ,"","","" ,"","LMV Beam line constrain",kFALSE}, - {"beamLine3D" ,"" ,"","","" ,"","Use beamline in 3D vertex fit",kFALSE}, - {"min2trkVtx" ,"" ,"","","" ,"","...only 2 tracks needed for vertex finding",kFALSE}, - {"hitreuseon" ,"" ,"","","" ,"","...do re-use hits for other tracks in Sti",kFALSE}, - {"usePct4Vtx" ,"" ,"","","" ,"","Use Post-Crossing Tracks for vertex finding",kFALSE}, - {"useBTOF4Vtx" ,"" ,"","","" ,"","Use BTOF track matching for vertex ranking",kFALSE}, - {"useBTOFmatchOnly","","","useBTOF4Vtx","" ,"","Use BTOF track matching only",kFALSE}, - {"svt1hit" ,"" ,"","","" ,"","Use 1 SVT hit only combination",kFALSE}, - {"onlcl" ,"" ,"","","" ,"","Read/use TPC DAQ100 clusters",kFALSE}, - {"onlraw" ,"" ,"","","" ,"","Read/use TPC raw hits",kFALSE}, - {"ezTree" ,"" ,"","","" ,"","Create ezTree branch",kFALSE}, - {"BEmcDebug","" ,"","","" ,"","Turn OFF B-EMC hit reconstruction cuts",kFALSE}, - {"BEmcChkStat","" ,"","","" ,"","Turn ON status checking in raw data",kFALSE}, - {"useLDV" ,"" ,"","","" ,"","... uses laserDV database flavor",kFALSE}, - {"useCDV" ,"" ,"","","" ,"","... uses ofl database flavor",kFALSE}, - {"useNewLDV" ,"" ,"","","" ,"","... uses ofl database flavor",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Tables ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"tables" ,"","","StDbT,ebyeT,emc_T,ftpcT,gen_T,geomT,globT,l3_T,sim_T,svt_T,tpc_T","","","",kFALSE}, - {"StDbT" ,"" ,"","","" ,"StDb_Tables","Load StDb_Tables",kFALSE}, - {"ctf_T" ,"" ,"","","" ,"ctf_Tables","Load ctf_Tables",kFALSE}, - {"ebyeT" ,"" ,"","","" ,"ebye_Tables","Load ebye_Tables",kFALSE}, - {"emc_T" ,"" ,"","","" ,"emc_Tables","Load emc_Tables",kFALSE}, - {"ftpcT" ,"" ,"","","" ,"ftpc_Tables","Load ftpc_Tables",kFALSE}, - {"gen_T" ,"" ,"","","" ,"gen_Tables","Load gen_Tables",kFALSE}, - {"geomT" ,"" ,"","","" ,"geometry_Tables","Load geometry_Tables",kFALSE}, - {"globT" ,"" ,"","","" ,"global_Tables","Load global_Tables",kFALSE}, - {"l3_T" ,"", "","","" ,"l3_Tables","Load l3_Tables",kFALSE}, - {"mwc_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"sim_T" ,"" ,"","","" ,"sim_Tables","Load sim_Tables",kFALSE}, - {"svt_T" ,"" ,"","","" ,"svt_Tables","Load svt_Tables",kFALSE}, - {"tpc_T" ,"" ,"","" ,"" ,"","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"trg_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"vpd_T" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Embedding" ,"","","-Simu" ,"","","Embedding run",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Utilities ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Geometry+Mag","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"pgf77" ,"" ,"","","" ,"pgf77VMC","Fortran",kFALSE}, - {"rootcern" ,"" ,"","geant3","" ,"","ROOT minicern OBSOLETE",kFALSE}, - {"StarMiniCern","" ,"","geant3","" ,"","STAR addition to minicern OBSOLETE",kFALSE}, - {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, - {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom,libVMC,libgeant3", "VMC geant3",kFALSE}, - {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, - {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, - {"StarMagField","", "","magF" ,"","VMC,StarMagField","Load StarMagField",kFALSE}, - {"geomNoField" ,"" ,"","-geometry,StarMagField" ,"","geometryNoField","geometry-Mag.Field",kFALSE}, - {"xgeometry" ,"" ,"","-geometry,-geomNoField" ,"","xgeometry","AgML geometry-Mag.Field",kFALSE}, - {"UseProjectedVertex" ,"" ,"","" ,"","","Run StBTofCalibMaker w/wo Primary Vertex",kFALSE}, - {"ImpBToFt0Mode" ,"" ,"","" ,"","","pppAMode in StVpdCalibMaker and StBTofCalibMaker",kFALSE}, - {"setOutlierRej4BToft0" ,"" ,"","" ,"","","setPPPAOutlierRej is set in StBTofCalibMaker",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"vpd" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tls" ,"" ,"","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"rts" ,"" ,"","","" ,"RTS","load libRTS",kFALSE}, - {"daq" ,"" ,"","rts","" ,"StDaqLib,StDAQMaker","Load StDAQMaker",kFALSE}, - {"SCL" ,"" ,"","","" ,"StarClassLibrary","Load StarClassLibrary",kFALSE}, - {"SvtCL" ,"" ,"","","" ,"Geom,StSvtClassLibrary","",kFALSE}, - {"TbUtil" ,"" ,"","sim_T,tpc_t,globT,SCL","" ,"StTableUtilities","Load StTableUtilities",kFALSE}, - {"TofUtil" ,"" ,"","","" ,"StTofUtil","Load StTofUtil",kFALSE}, - {"BTofUtil" ,"" ,"","","" ,"StBTofUtil","Load StBTofUtil",kFALSE}, - {"ETofUtil" ,"" ,"","","" ,"StETofUtil","Load StETofUtil",kFALSE}, - {"MtdUtil" ,"" ,"","","" ,"StMtdUtil","Load StMtdUtil",kFALSE}, - {"StBichsel" ,"" ,"","","" ,"StBichsel","Load Bichsel model for dE/dx",kFALSE}, - {"StEvent" ,"","","globT,SCL,TRGDef,StBichsel,EmcUtil,TbUtil,detDb","","StEvent","Load StEvent",kFALSE}, - {"PxlUtil" ,"" ,"","","", "StPxlUtil","Load StPxlUtil",kFALSE}, - {"IstUtil" ,"" ,"","","", "StIstUtil","Load StIstUtil",kFALSE}, - {"SsdUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSsdUtil","Load SSD Util",kFALSE}, - {"SstUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSstUtil","Load SST Util",kFALSE}, - {"EmcUtil" ,"" ,"","emc_T,geomT,StDbT","" ,"StEmcUtil","Load StEmcUtil",kFALSE}, - {"EEmcUtil" ,"" ,"","","" ,"StEEmcUtil","Load StEEmcUtil",kFALSE}, - {"FmsUtil" ,"" ,"","","" ,"StFmsUtil,libMinuit","Load StFmsUtil",kFALSE}, - {"FgtUtil" ,"" ,"","","" ,"StFgtUtil","Load StFgtUtil",kFALSE}, - {"GmtUtil" ,"" ,"","","" ,"StGmtUtil","Load StGmtUtil",kFALSE}, - {"l3Util" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PmdUtil" ,"" ,"","","", "StPmdUtil","Load StPmdUtil",kFALSE}, - {"QUtils" ,"" ,"","PmdUtil,EmcUtil","", "","Load QA Libs dependencies",kFALSE}, - {"Stu" ,"" ,"","","", "StEventUtilities","Load StEventUtilities",kFALSE}, - {"MuDSTDeps" ,"","","StEvent,Stu,StBichsel","" - , "StStrangeMuDstMaker,Tree","Load MuDST misc. dependencies",kFALSE}, - {"MuDST" ,"" ,"","MuDSTDeps,EmcUtil,TofUtil,BTofUtil,PmdUtil","" - , "StMuDSTMaker","Load MuDST library",kFALSE}, - {"picoEvt" ,"","","StEvent,Stu","", "StPicoEvent","Load picoEvent and dependencies",kFALSE}, - {"picoDst" ,"","","picoEvt,EmcUtil,TofUtil,BTofUtil,PmdUtil","" - , "StPicoDstMaker","Load PicoDST library",kFALSE}, - {"geantL","","","geomT,gen_T,sim_T,StarMagField","","geometry,Geom,St_db_Maker,St_g2t,St_geant_Maker" - , "Load GeantLibs",kFALSE}, - {"gstarLib","","","" ,"","gstar","Load gstar lib",kFALSE}, - {"flux" ,"","","simu" ,"","flux","Load flux lib",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T" , "", "libVMC.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, - {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, - {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, - {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, - {"kinematics" ,"","","stargen", "", "Kinematics.so", "Load STAR Particle Gun", false }, - {"genreader" ,"","","stargen", "", "StarGenEventReader.so", "Load STAR Gen Event Reader", false }, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"I/O Makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"gstar" ,"geant" ,"","-fzin,-ntin,-geant,Simu,geantL","St_geant_Maker" - , "","gstar for 80 muon tracks with pT = 1GeV in |eta|<4",kFALSE}, - {"pythia" ,"geant" ,"","-gstar,-fzin,-ntin,-geant,geantL","St_geant_Maker" - , "Pythia6_4_26,bpythia","Load Pythia in starsim, set pp 510 GeV",kFALSE}, - {"Wenu" ,"" ,"","pythia","", "" ,"set pp 510 GeV -> W+/- -> e+/- nu/nubar",kFALSE}, - {"hijing" ,"geant" ,"","-gstar,-fzin,-ntin,-geant,geantL","St_geant_Maker" - ,"StarGeneratorUtil,StarGeneratorEvent,StarGeneratorBase,Hijing1_383" - , "Load Hijing in starsim, set AuAu200 GeV",kFALSE}, - {"tdaq" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"miniDAQ" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"fzin" ,"geant","","Simu,-gstar,-ntin,-geant,geantL","St_geant_Maker","" - , "read gstar fz-file",kFALSE}, - {"UseXgeom","","","-geometry,-geomNoField,xgeometry","","","suppress mortran version of geometry",kFALSE}, - {"in" ,"" ,"","" , "StIOMaker","StIOMaker","Read [DAQ|ROOT] input file",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Db makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"db" ,"db" ,"","StDbT" ,"St_db_Maker","StDbLib,StDbBroker,St_db_Maker","",kFALSE}, - {"magF" ,"MagField","","StDbT,db,detDb","StMagFMaker","StarMagField,StMagF" - , "Mag.field map with scale factor from Db",kFALSE}, - {"detDb","detDb","","db","StDetectorDbMaker","StDetectorDbMaker","Load StDetectorDbMaker library",kFALSE}, - {"mtin" ,"geant" ,"","-fzin,-geant,-gstar,geantL,gstarLib,-magF","St_geant_Maker" - , "gstar","read event from MuDst",kFALSE}, - {"tpcDB" ,"tpcDB","","tpc_T,dbutil,detDb,StarMagField,magF,StEvent","StTpcDbMaker","StTpcDb","",kFALSE}, - {"dbutil" ,"" ,"","detDb,StDbT" ,"","StDbUtilities","Load StDbUtilities",kFALSE}, - {"svtDb" ,"svtDb","","tpcDb,SvtCL", "StSvtDbMaker","StSvtDbMaker","Load and run SvtDbMaker",kFALSE}, - {"ssdDb" ,"ssdDb","","tpcDb,SsdUtil","StSsdDbMaker","StSsdDbMaker","Load and run SsdDbMaker",kFALSE}, - {"sstDb" ,"sstDb","","tpcDb,SstUtil","StSstDbMaker","StSsdDbMaker","Load and run SstDbMaker",kFALSE}, - {"svtCalDb" ,"" ,"","svtDb" ,"","","Declare Calibrations/svt as while list member",kFALSE}, - {"ssdCalDb" ,"" ,"","ssdDb" ,"","","Declare Calibrations/ssd as while list member",kFALSE}, - {"sstCalDb" ,"" ,"","sstDb" ,"","","Declare Calibrations/sst as while list member",kFALSE}, - {"eemcDb" ,"eeDb" ,"","db,EEmcUtil", "StEEmcDbMaker","StEEmcDbMaker","Load EEmcDbMaker",kFALSE}, - {"fmsDb" ,"fmsDb","","db,fmsutil", "StFmsDbMaker","StFmsDbMaker","Load FmsDbMaker",kFALSE}, - {"fcsDb" ,"fcsDbMkr","","", "StFcsDbMaker","StFcsDbMaker","Load FcsDbMaker",kFALSE}, - {"fttDb" ,"fttDbMkr","","", "StFttDbMaker","StFttDbMaker","Load FttDbMaker",kFALSE}, - {"fgtDb" ,"fgtDb","","db,fgtutil", "StFgtDbMaker","StFgtDbMaker","Load FgtDbMaker",kFALSE}, - {"pxlDb" ,"pxlDb","","tpcDb PxlUtil", "StPxlDbMaker","StPxlDbMaker","Load PxlDbMaker",kFALSE}, - {"istDb" ,"istDb","","tpcDb", "StIstDbMaker","StIstDbMaker","Load IstDbMaker",kFALSE}, - {"fstDb" ,"fstDb","","tpcDb", "StFstDbMaker","StFstDbMaker","Load FstDbMaker",kFALSE}, - {"epdDb" ,"epdDb","","tpcDb", "StEpdDbMaker","StEpdDbMaker","Load EpdDbMaker",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"MAKERS ","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"ntin" ,"geant","","paw,-fzin,-geant,-gstar,Simu,geantL,gstarLib","St_geant_Maker" - , "","read event generated Hbook nt-file",kFALSE}, - {"PrepEmbed","","","geantEmb","StPrepEmbedMaker","St_geant_Maker" - , "Prepare kinematics for embedding",kFALSE}, - {"PythiaEmbed","","","pythia,-Simu","","", "Prepare kinematics for embedding",kFALSE}, - {"geant" ,"geant","","geantL" ,"St_geant_Maker","","passive GEANT",kFALSE}, - {"geantEmb" ,"geant","","geantL" ,"St_geant_Maker","","GEANT embedding mode",kFALSE}, - {"RootVMC","","","-geant,-fzin,-ntin,StarMagField,-geantL,-geometry,-geomNoField,geant3","","","",kFALSE}, - {"VMCAppl" ,"","","geomT,gen_t,sim_T,tpcDB,RootVMC,","","StSvtDbMaker,StSsdDbMaker,StarVMCApplication" - , "VMC G3",kFALSE}, - {"VMC" ,"geant","","Simu,VMCAppl,-geant","StVMCMaker", "StVMCMaker","VMC Maker",kFALSE}, - {"VMCPassive" ,"geant","","VMCAppl", "StVMCMaker","StVMCMaker","VMC Maker in Passive Mode",kFALSE}, - {"trg" ,"trg","l0Chain","trg_T,globT,db","St_trg_Maker","St_trg,St_trg_Maker" - , "trigger analysis for Year 2001-2005 data",kFALSE}, - {"TRGDef" ,"" ,"","","" ,"StTriggerDataMaker","Load StTriggerData",kFALSE}, - {"trgd" ,"trgd","","TRGDef" ,"StTriggerDataMaker","StTriggerDataMaker","Get trigger data",kFALSE}, - {"MakeEvent","0Event","","StEvent,detDb","StEventMaker","StTpcDb,StEventMaker" - , "",kFALSE}, - {"LaserAvEv" ,"","","" ,"StLaserAvEventMaker","StLaserAvEventMaker","Hejrad",kFALSE}, - {"LaserAvCl" ,"","","" ,"StLaserAvClusterMaker","StLaserAvClusterMaker","",kFALSE}, - {"l0" ,"l0Chain","","globT,ctf,trg" ,"StMaker","StChain","",kFALSE}, - {"ctf" ,"ctf","l0Chain","ctf_T,db" ,"St_ctf_Maker","ctf,St_ctf,St_ctf_Maker","ToF simulation",kFALSE}, - {"mwc" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppMCTrig" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"pp2pp" ,"","","", "St_pp2pp_Maker","St_pp2pp_Maker","pp->pp",kFALSE}, - {"mtdFilt" ,"","","", "StMtdEvtFilterApplyMaker","StDataFilterMaker","MTD-based event filtering",kFALSE}, - {"mtd" ,"MtdChain","","mtdDat,mtdMatch","StMaker", "StChain","MTD Chain",kFALSE}, - {"mtdDat" ,"mtd_raw","MtdChain","db,MuDst","StMtdHitMaker","StEvent,StMtdHitMaker" - , "MTD hit maker",kFALSE}, - {"mtdTrkMask","","","db","StMtdTrackingMaskMaker" ,"StMtdEvtFilterMaker","MTD track masking",kFALSE}, - {"epdHit", "", "", "epdDb,event", "StEpdHitMaker", "StEpdHitMaker","EPD hit maker", kFALSE}, - {"tpc" ,"","","TpxRaw,TpxClu,tpcI" ,"","","WARNING *** Option is OBSOLETE *** use TpxClu instead",kFALSE}, - {"tpcI" ,"tpcChain","","db,tpcDB,TpcHitMover", "StMaker","StChain","tpc with ITTF",kFALSE}, - {"tpcX" ,"tpcChain","","-tpcI,tpx,MakeEvent" ,"StMaker","StChain","tpc+tpcx with ITTF",kFALSE}, - {"Trs","Trs","tpcChain","scl,tpcDB,TrsToF,StEvent,EmbeddingShortCut","StTrsMaker","StTrsMaker","",kFALSE}, - {"TpcRS","","tpcChain","scl,tpcDB,-Trs,-EmbeddingShortCut,Stu","StTpcRSMaker" - ,"libMathMore,StdEdxY2Maker,StTpcRSMaker", "New Tpc Response Simulator",kFALSE}, - {"tfs" ,"","","TpcFastSim" ,"","","WARNING *** Option is OBSOLETE *** use TpcFastSim instead",kFALSE}, - {"TpcFastSim" ,"tpc_hits","tpcChain","MakeEvent,Simu,-trs,-TpcRS,-tcl,-tpxclu,-fcf,-tpc_daq,StEvent," - "-TpcHitMover,EmbeddingShortCut" ,"StTpcFastSimMaker","St_tcl_Maker","use tfs (no Trs or TpcRS)",kFALSE}, - {"EmbeddingShortCut","","","", "","","Short Cut for StdEdxY2Maker and StTpcHitMover",kFALSE}, - {"StMcEvent" ,"","","gen_t,sim_T" ,"","StMcEvent","",kFALSE}, - {"McEvent" ,"","","StEvent,tpcDb,EEmcUtil,EmcUtil,StMcEvent","StMcEventMaker","StMcEventMaker","",kFALSE}, - {"Mixer" ,"tpc_raw","","daq","StMixerMaker" ,"StTrsMaker,StMixerMaker","",kFALSE}, - {"St_tpc" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"St_svt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tpc_daq" ,"","","TpxRaw", "","","WARNING *** Option is OBSOLETE *** use TpxRaw instead",kFALSE}, - {"tcl","","","TpxRaw,TpxClu,MakeEvent","","" - , "WARNING *** Option is OBSOLETE *** use option TpxRaw,TpxClu,MakeEvent instead",kFALSE}, - {"fcf" ,"","","-tcl,tpcX", "","","WARNING *** Option is OBSOLETE *** use tpcX instead",kFALSE}, - {"tpx" ,"tpc_hits","tpcChain","MakeEvent,tpc_T,StEvent,rts,detDb" - , "StTpcHitMaker","StTpcHitMaker","TPC hit reader for tpc + tpx via EVP_READER",kFALSE}, - {"gmt" ,"GmtChain","","gmtDat,gmtClu" ,"StMaker","StChain","Gmt data Chain",kFALSE}, - {"gmtDat" ,"","GmtChain", "event","StGmtRawMaker","StGmtRawMaker", "GMT Data reader",kFALSE}, - {"gmtClu" ,"","GmtChain","gmtutil","StGmtClusterMaker","StGmtClusterMaker","GMT cluster maker",kFALSE}, - {"TpxPulser","TpxPulser","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker","TPC+TPX pulser analysis" - , kFALSE}, - {"TpxPadMonitor","","","" ,"","","WARNING *** Option is OBSOLETE ***", kFALSE}, - {"TpxAvLaser","TpxAvLaser","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX averaging laser events into Sparse histogram on pixels level", kFALSE}, - {"TpxDumpPxls2Nt","TpxDumpPxls2Nt","tpcChain","rts,detDb","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX pixel dump to NTuple", kFALSE}, - {"TpxRaw","TpxRaw","tpcChain","rts,detDb,StEvent","StTpcHitMaker","StTpcHitMaker" - , "TPC+TPX convert DAQ Tpc Raw Data to TpcRawEvent used by TpcMixer and/or TpxClu", kFALSE}, - {"TpcMixer","","tpcChain","StEvent,rts,-Mixer,-tpx,TpxClu" ,"StTpcMixerMaker","StTpcHitMaker","",kFALSE}, - {"TpxClu","tpc_hits","tpcChain","rts,tpcDb,detDb,-tpx,-tpc_daq,-fcf","StTpcRTSHitMaker" - ,"StTpcHitMaker", "RTS(online) cluster maker",kFALSE}, - {"TpxClu2D" ,"","","TpxClu","","", "RTS(online) 2D-cluster maker",kFALSE}, - {"TpcAvCluster","TpcAvCluster","tpcChain","rts,detDb","StTpcAvClusterMaker","StTpcHitMaker" - , "TPC+TPX averaging laser events into Sparse histogram on cluster level", kFALSE}, - {"Velo" ,"","tpcChain","tpc_T" ,"StVeloMaker","StVeloMaker","",kFALSE}, - {"TpcHitMover" ,"tpc_hit_mover","tpcChain","tpcDb,StEvent,Stu" - , "StTpcHitMover","StTpcHitMoverMaker","TPC hits coord transform + corrections",kFALSE}, - {"tpt","","ITTF","", "","","WARNING *** Option is OBSOLETE *** use ITTF",kFALSE}, - {"tpt_old","","ITTF","", "","","WARNING *** Option is OBSOLETE *** use ITTF",kFALSE}, - {"TpcT0" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ChargeStep","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"laser" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"PreVtx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"svt" ,"svtChain","","svt_T,SvtCL" ,"StMaker","StChain","",kFALSE}, - {"svt_daq" ,"svt_raw","svtChain","daq,SvtCL" ,"StSvtDaqMaker","StSvtDaqMaker","",kFALSE}, - {"sss" ,"","","SvtSlowSim" ,"","","Short cut for SvtSlowSim",kFALSE}, - {"SvtSlowSim" ,"","","SvtSSim,SvtOnlSeq" ,"","","Short cut for SvtSlowSim and SvtOnlSeq",kFALSE}, - {"SvtSSim","SvtSSimu","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit" - , "StSvtSimulationMaker","StSvtSimulationMaker,StSvtCalibMaker","",kFALSE}, - {"SvtEmbed" ,"","","SvtSSim,SvtEm,SvtOnlSeq" ,"","","Short cutfor SvtSlowSim and SvtOnlSeq",kFALSE}, - {"SvtEm","SvtEm","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit","StSvtEmbeddingMaker" - , "StSvtSimulationMaker,StSvtCalibMaker","",kFALSE}, - {"SvtOnlSeq" ,"SvtOnlSeq","svtChain","svtCalDb,SvtCL,Simu,SvtSeqAdj,SvtClu,SvtCluAnal,SvtHit" - , "StSvtOnlineSeqAdjSimMaker","StSvtSimulationMaker","",kFALSE}, - {"srs","","","sfs", "","","WARNING *** Option is OBSOLETE use sfs instead ***",kFALSE}, - {"sfs","svt_hits","svtChain","svtDb,Simu,SvtCL,-sss,-SvtSlowSim,StEvent,MakeEvent" - , "St_sfs_Maker","St_srs_Maker","Very fast simulator for SVT",kFALSE}, - {"SvtSeqAdj" ,"SvtSeqAdj","svtChain","SvtCL" ,"StSvtSeqAdjMaker","StSvtSeqAdjMaker","",kFALSE}, - {"SvtClu" ,"SvtClu","svtChain","svt_T,StEvent,SvtCL","StSvtClusterMaker","StSvtClusterMaker","",kFALSE}, - {"SvtCluAnal" ,"SvtCluAnal","svtChain","SvtCL","StSvtClusterAnalysisMaker","StSvtClusterMaker","",kFALSE}, - {"SvtHit" ,"svt_hits","svtChain","SvtCL" ,"StSvtHitMaker","StSvtClusterMaker","",kFALSE}, - {"SvtVtx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"stk" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Est" ,"","","SvtIT", "","","WARNING *** Option is OBSOLETE *** use SvtIT instead",kFALSE}, - {"global" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Match" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Vertex" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"Primary" ,"","","ITTF", "","","WARNING *** Option is OBSOLETE use ITTF instead***",kFALSE}, - {"V0" ,"","","V02", "","","WARNING *** Option is OBSOLETE use V02 instead***",kFALSE}, - {"Xi" ,"","","Xi2", "","","WARNING *** Option is OBSOLETE use Xi2 instead***",kFALSE}, - {"Kink" ,"","","Kink2", "","","WARNING *** Option is OBSOLETE use Kink2 instead***",kFALSE}, - {"dst" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Fglobal" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Fprimary" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"dEdx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"svtdEdx" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Event" , "","","MakeEvent", "","","Request to initialize event",kFALSE}, - {"pxlRaw" ,"","","pxlDb", "StPxlRawHitMaker", "StPxlRawHitMaker", "PXL raw hit maker",kFALSE}, - {"pxlFastSim" ,"","","pxlRaw,StMcEvent,StEvent" - , "StPxlSimMaker","StPxlSimMaker","PXL Fast Simulator",kFALSE}, - {"pxlSlowSim" ,"","","pxlRaw,StMcEvent,StEvent" - , "StPxlSimMaker","StPxlSimMaker","PXL Slow Simulator",kFALSE}, - {"pxlCluster" ,"","","pxlRaw", "StPxlClusterMaker", "StPxlClusterMaker", "PXL cluster maker",kFALSE}, - {"pxlHit" ,"","","event pxlCluster", "StPxlHitMaker", "StPxlHitMaker", "PXL hit maker",kFALSE}, - {"istSlowSim", "", "","StMcEvent,StEvent,IstUtil", "StIstSlowSimMaker", - "StIstSimMaker", "IST Slow simulator", kFALSE}, - {"istFastSim","","","StMcEvent,StEvent","StIstFastSimMaker","StIstSimMaker","IST Fast simulator", kFALSE}, - {"istRawHit", "", "", "istUtil,istDb","StIstRawHitMaker", "StIstRawHitMaker","IST RAWhit maker", kFALSE}, - {"istCluster", "", "", "istRawHit","StIstClusterMaker", "StIstClusterMaker","IST Cluster maker", kFALSE}, - {"istHit", "", "", "event,istCluster", "StIstHitMaker", "StIstHitMaker","IST Hit Maker",kFALSE}, - {"fst","fstChain","","fstRawHit,fstCluster,fstHit", "StMaker","StChain","FST chain" ,kFALSE}, - {"fstFastSim","","fstChain","StMcEvent,StEvent","StFstFastSimMaker","StFstSimMaker","FST fast simulator", - kFALSE}, - {"fstRawHit", "", "fstChain", "fstUtil,fstDb","StFstRawHitMaker", "StFstRawHitMaker","FST raw hit maker", - kFALSE}, - {"fstCluster", "", "fstChain", "fstRawHit","StFstClusterMaker", "StFstClusterMaker","FST Cluster maker", - kFALSE}, - {"fstHit", "", "fstChain", "event,fstCluster", "StFstHitMaker", "StFstHitMaker","FST Hit Maker", - kFALSE}, - {"fstUtil" , "", "", "", "", "StFstUtil", "Fst Utilities", - kFALSE}, - {"ssddat" ,"","","ssd_daq" ,"","","SSD full chain for Real Data",kFALSE}, - {"sstdat" ,"","","sst_daq" ,"","","SST full chain for Real Data",kFALSE}, - {"ssd_daq","","","ssdCalDb,svt_T,-sls,-spa,ssdUtil","StSsdDaqMaker","StSsdDaqMaker","... SSD Daq",kFALSE}, - {"sst_daq","","","sstCalDb,svt_T,-sls,-spa,sstUtil","StSstDaqMaker","StSstDaqMaker","... SSDT Daq",kFALSE}, - {"ssdfast" ,"","","ssdDb,StMcEvent,StEvent","StSsdFastSimMaker","StSsdFastSimMaker", - "... SSD fast simulator" ,kFALSE}, - {"ssd" ,"","","ssdCalDb,sls,spa,sptd" ,"","","SSD full chain for simulation",kFALSE}, - {"sls","","","McEvent,Simu,svt_T,SvtCL" - , "St_sls_Maker","StSsdSimulationMaker", "... SSD slow simulator",kFALSE}, - {"spa" ,"SpaStrip","","Simu,svt_T,SvtCL,ssdUtil","St_spa_Maker","StSsdSimulationMaker" - , "... SSD Pedestal Annihilator",kFALSE}, - {"SsdEmbed" ,"","","","StSsdEmbeddingMaker","StSsdSimulationMaker","... SSD Mixing geom Maker" ,kFALSE}, - {"spt" ,"","","sptd", "","" ,"Alias for sptd - please replace in chain",kFALSE}, - {"sptd" ,"","","ssdUtil,svt_T", "StSsdPointMaker","StSsdPointMaker","... SSD Point Creator",kFALSE}, - {"sptt" ,"","","sstUtil", "StSstPointMaker","StSstPointMaker", "... SST Point Creator",kFALSE}, - {"sstHit", "", "", "sst_daq,sptt", "", "","SST reconstruction chain",kFALSE}, - {"ssdpre" ,"","","ssdEmbed,spa" ,"","","SSD full chain for pre-embedding",kFALSE}, - {"ssdAdd" ,"","","ssd_daq","StSsdAddMaker","StSsdAddMaker", "... SSD merge maker",kFALSE}, - {"ssdE" ,"","","ssdpre,ssdAdd" ,"","","SSD full chain for embedding",kFALSE}, - {"ZDCVtx" ,"","","db" ,"StZdcVertexMaker","StZdcVertexMaker","",kFALSE}, - {"emcDY2" ,"emcRaw","","daq,eemcDb,EEmcUtil,emc_T,EmcUtil,StEvent,PreEcl,Epc" - ,"StEmcRawMaker","StEmcRawMaker", "B/E EMC data common maker",kFALSE}, - {"eemcD" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"emcY2" ,"","","emc_T,tpc_T,db,emcSim,PreEcl,epc","","" - , "EMC Chain for Y2A (must be before makers which include in this chain)",kFALSE}, - {"emcSim" ,"","","emc_T,EmcUtil,McEvent,MuDST","StEmcSimulatorMaker","StEmcSimulatorMaker" - , "New simulator for BEMC",kFALSE}, - {"EEfs" ,"eefs","","eemcDb,EEmcUtil,MuDst","StEEmcFastMaker","StEEmcSimulatorMaker" - , "EEMC fast simulator",kFALSE}, - {"EEss" ,"eess","","-eefs,eemcDb,EEmcUtil,MuDst","StEEmcSlowMaker","StEEmcSimulatorMaker" - , "EEMC slow simulator",kFALSE}, - {"BEmcMixer", "","","", "StEmcMixerMaker","StEmcMixerMaker","BEMC mixer",kFALSE}, - {"emcAtoE" ,"bemcA2E","" ,"db","StEmcADCtoEMaker","StEmcADCtoEMaker" - , "B-EMC ADC to E converter OBSOLETE for data in Run 9 or later",kFALSE}, - {"PreEcl" ,"preecl","","" ,"StPreEclMaker", "StPreEclMaker","B-EMC Cluster finder",kFALSE}, - {"Epc" ,"epc","","PreEcl,EmcUtil" ,"StEpcMaker","StEpcMaker","B-EMC point maker",kFALSE}, - {"EEmcMixer", "","","", "StEEmcMixerMaker","StEEmcSimulatorMaker","EEMC mixer",kFALSE}, - {"eemcA2E","eemcA2E","" ,"db","StEEmcA2EMaker", "StEEmcA2EMaker","E-EMC ADC to E converter",kFALSE}, - {"eemCl" ,"eemCl","","db","StEEmcClusterMaker" ,"StEEmcClusterMaker","E-EMC clustering",kFALSE}, - {"btof" ,"BTofChain","","btofDat,vpdCalib,btofMatch,btofCalib","StMaker" - , "StChain","BTOF Chain",kFALSE}, - {"BtofDat" ,"tof_raw","BTofChain","db,BTofutil","StBTofHitMaker","StEvent,StBTofHitMaker" - , "BTOF hit maker",kFALSE}, - {"vpdSim" ,"","VpdChain","BTofUtil","StVpdSimMaker","StEvent,StMcEvent,StBTofHitMaker,StVpdSimMaker" - , "Vpd Simulator",kFALSE}, - {"vpdCalib","","BTofChain","db,BTofUtil","StVpdCalibMaker" ,"StVpdCalibMaker","VPD calibration",kFALSE}, - {"btofSim" ,"","BTofChain","BTofUtil" ,"StBTofSimMaker", - "StEvent,StMcEvent,StTofUtil,StBTofHitMaker,StBTofSimMaker","BTOF Simulator",kFALSE}, - {"btofMixer" ,"","BTofChain","BTofUtil","StBTofMixerMaker","StEvent,StBTofHitMaker,StBTofMixerMaker" - , "BTof Mixer",kFALSE}, - {"ETofDat", "etof_raw","ETofChain", "db, ETofUtil", "StETofDigiMaker", "StEvent,StETofDigiMaker", - "ETOF digi maker",kFALSE}, - {"ETofCalib", "", "ETofChain", "db, ETofUtil, muDst", "StETofCalibMaker", "StETofCalibMaker", - "ETOF calibration",kFALSE}, - {"ETofSim" , "", "ETofChain", "", "StETofSimMaker", "StETofSimMaker", - "ETOF simulator",kFALSE}, - {"mtdSim" ,"","MtdChain","","StMtdSimMaker", "StEvent,StMtdSimMaker","MTD Simulator",kFALSE}, - {"ToF" ,"TofChain","","tofDat,tofrMatch,tofpMatch,tofCalib,geant","StMaker","StChain","ToF Chain",kFALSE}, - {"ToFx" ,"TofChain","","tofXDat,tofrMatch,tofCalib,geant" ,"StMaker","StChain","ToFx Chain",kFALSE}, - {"tofDat" ,"tof_raw","TofChain","db,Tofutil","StTofMaker","StEvent,StTofMaker", - "TOF Data base chain", kFALSE}, - {"tofXDat" ,"tof_raw","TofChain","db,Tofutil","StTofHitMaker","StEvent,StTofMaker,StTofHitMaker", - "TOF hit maker", kFALSE}, - {"tofsim" ,"","TofChain","TofUtil","StTofSimMaker","StEvent,StTofMaker,StTofSimMaker", - "TOF Simulator, Tof version before y2009", kFALSE}, - {"tofrMatch" ,"","TofChain","db,TofUtil","StTofrMatchMaker","StTofrMatchMaker", - "TPC to TOFr track matching", kFALSE}, - {"tofpMatch" ,"","TofChain","db,TofUtil","StTofpMatchMaker","StTofpMatchMaker", - "TPC to TOFp track matching", kFALSE}, - {"tofCalib" ,"","TofChain","db,TofUtil","StTofCalibMaker","StTofCalibMaker", "TOF calibration",kFALSE}, - {"FiltGamma" ,"","","StEvent,StMcEvent,EmcUtil", - "StGammaFilterMaker","StFilterMaker", "BEmc Gamma filtering", kFALSE}, - {"FiltEemcGamma" ,"","","StEvent,StMcEvent,EmcUtil", - "StEemcGammaFilterMaker","StFilterMaker", "EEmc Gamma filtering", kFALSE}, - {"rich" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Rrs" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"rch" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"RichPiD" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3cl" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3t" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"l3onl" ,"","","" ,"Stl3RawReaderMaker","Stl3RawReaderMaker","",kFALSE}, - {"l3count" ,"","","" ,"Stl3CounterMaker","Stl3RawReaderMaker","",kFALSE}, - {"bbcSim" ,"","","db","StBbcSimulationMaker" ,"StBbcSimulationMaker","BBC Simulator",kFALSE}, - {"fmsSim","" ,"","StEvent,fmsDb", - "StFmsFastSimulatorMaker","StFmsFastSimulatorMaker","FMS Fast Simulator", kFALSE}, - {"fmsDat" ,"","", "StEvent,fmsDb", - "StFmsHitMaker","StFmsHitMaker","Fill FMS struct and zero TRG", kFALSE}, - {"fpsDat" ,"","", "StEvent,fmsdb", - "StFpsRawHitMaker","StFpsRawHitMaker","Fill FPS struct", kFALSE}, - {"fmsPoint" ,"","", "event,fmsDb", - "StFmsPointMaker","StFmsPointMaker","Fill FMS clusters and points", kFALSE}, - {"fmsfps" ,"","", "event,fmsDb", - "StFmsFpsMaker","StFmsFpsMaker","Fill FPS association in FMS points", kFALSE}, - {"fcs","fcsChain","","fcsDat,fcsWFF,fcsCluster,fcsPoint", "StMaker","StChain","FCS chain",kFALSE}, - {"fcsSim","" ,"fcsChain","StEvent,fcsDb", - "StFcsFastSimulatorMaker","StFcsFastSimulatorMaker","FCS Fast Simulator", kFALSE}, - {"fcsDat","" ,"fcsChain","StEvent,fcsDb", - "StFcsRawHitMaker","StFcsRawHitMaker","FCS daq file reader/hit maker", kFALSE}, - {"fcsWFF" ,"","fcsChain", "StEvent,fcsDb", - "StFcsWaveformFitMaker","StFcsWaveformFitMaker","Fit FCS waveform", kFALSE}, - {"fcsCluster" ,"","fcsChain", "StEvent,fcsDb", - "StFcsClusterMaker","StFcsClusterMaker","Fill FCS clusters", kFALSE}, - {"fcsPoint" ,"","fcsChain", "StEvent,fcsDb", - "StFcsPointMaker","StFcsPointMaker,libMinuit","Fill FCS points", kFALSE}, - {"ftt","fttChain","","FttDat,FttHitCalib,FttClu,FttPoint", "StMaker","StChain","FST chain" ,kFALSE}, - {"FttDat","","fttChain","StEvent","StFttRawHitMaker","StFttRawHitMaker,StEvent", - "sTGC Raw hit maker", kFALSE}, - {"FttHitCalib","","fttChain","StEvent,MuDST","StFttHitCalibMaker","StFttHitCalibMaker,StFttRawHitMaker,StEvent", - "sTGC hit calib maker", kFALSE}, - {"FttClu","","fttChain","StEvent,fttDb","StFttClusterMaker","StFttClusterMaker,StEvent,StFttDbMaker", - "sTGC Cluster maker", kFALSE}, - {"FttPoint","","fttChain","StEvent,fttDb","StFttPointMaker","StFttPointMaker,StEvent,StFttDbMaker", - "sTGC Point maker", kFALSE}, - {"FttQA","","fttChain","","StFttQAMaker","StFttQAMaker", "sTGC Raw hit QA maker", kFALSE}, - {"fpd" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"fgt" ,"FgtChain","","fgtDat,fgtClu,fgtAtoC" ,"StMaker","StChain","Fgt data Chain",kFALSE}, - {"fgtDat" ,"","", "event,fgtdb","StFgtRawMaker","StFgtRawMaker", "FGT Data reader",kFALSE}, - {"fgtAtoC" ,"","", "fgtdb", "StFgtA2CMaker","StFgtA2CMaker", "FGT ADC to Charge maker",kFALSE}, - {"fgtClu" ,"","", "fgtutil", "StFgtClusterMaker","StFgtClusterMaker", "FGT cluster maker",kFALSE}, - {"fgtAtoC" ,"","", "fgtdb", "StFgtA2CMaker","StFgtA2CMaker", "FGT ADC to Charge maker",kFALSE}, - {"fgtPoint" ,"","", "event", "StFgtPointMaker", "StFgtPointMaker", "Creates FGT points",kFALSE}, - {"genvtx" ,"" ,"","EEmcUtil","StGenericVertexMaker" - , "Minuit,StGenericVertexMakerNoSti" - , "Generic Vertex Finder library (default is MinuitVertexFinder)",kFALSE}, - {"VFMinuit" ,"" ,"" ,"genvtx" ,"","","... Generic VF will use Minuit method",kFALSE}, - {"CtbMatchVtx" ,"" ,"","VFMinuit","" ,"","... CTB Matching ON in Vertex Finding",kFALSE}, - {"VFMinuit2" ,"" ,"","VFMinuit","","","... Generic VF will use Minuit method w/rank mode 2",kFALSE}, - {"VFMinuit3" ,"" ,"","VFMinuit","","","... Generic VF will use Minuit method w/rank mode 3",kFALSE}, - {"VFFV" ,"" ,"","genvtx" ,"","","... Fixed dummy VF method",kFALSE}, - {"VFMCE" ,"" ,"","genvtx" ,"","","... Fixed vertex from MCEvent",kFALSE}, - {"VFppLMV" ,"" ,"","genvtx" ,"","","... VertexMaker will use ppLMV method",kFALSE}, - {"VFppLMV5" ,"" ,"","VFppLMV" ,"","","... VertexMaker will use ppLMV method (tuned)",kFALSE}, - {"VFStoreX" ,"" ,"","" ,"","","... VertexMaker will use save at least 100 vertices",kFALSE}, - {"StiPulls" ,"","","" ,"","", "Request to make Sti Pulls",kFALSE}, - {"StvPulls" ,"","","" ,"","", "Request to make Stv Pulls",kFALSE}, - {"StiLib" ,"","","" ,"","Sti,StiUtilities","Load Sti",kFALSE}, - {"StiCALib" ,"","","" ,"","TPCCATracker,StiCA","Load Sti+CA",kFALSE}, - {"StiTpc" ,"","","TpcDb,ITTF,tpc_T,dbutil,detDb,StarMagField,magF" ,"","StiTpc","Load StiTpc",kFALSE}, - {"StiSvt" ,"",""," " ,"","StSvtClassLibrary,StSvtDbMaker,StiSvt","Load StiSvt",kFALSE}, - {"StiSsd" ,"","","" ,"","StSsdUtil,StSsdDbMaker,StiSsd","Load StiSsd",kFALSE}, - {"StiSst" ,"","","" ,"","StSsdUtil,StSsdDbMaker,StiSsd","Load StiSsd(t)",kFALSE}, - {"StiPxl" ,"","","" ,"","StPxlUtil,StPxlDbMaker,StiPxl","Load StiPxl",kFALSE}, - {"StiIst" ,"","","" ,"","StIstUtil,StIstDbMaker,StiIst","Load StiIst",kFALSE}, - {"StiLibs" ,"","","StiTpc,StiSvt,StiSsd,BTofUtil" - ,"","StEEmcDbMaker","Load Sti Detector libs",kFALSE}, - {"StiLibsHft" ,"","","StiLibs,StiSst,StiPxl,StiIst" ,"","","Load Sti Detector libs for HFT",kFALSE}, - {"StiHftP", "","","StiLibsHft,-SvtIT,-SsdIT,PxlIT,pxlDb","" ,"","Enables partial Hft (PXL)",kFALSE}, - {"StiHftC", "","","StiLibsHft,-SvtIT,-SsdIT,PxlIT,pxlDb,IstIT,istDb,SstIT,sstDb","" - , "","Enables complete Hft (PXL+IST+SST)",kFALSE}, - {"VFPPV" ,"" ,""," eemcDb,StiLib,-VFMinuit,-VFMinuit2,-VFMinuit3,","StGenericVertexMaker" - , "Minuit,StGenericVertexMaker","... Pile-up proof vertex finder",kFALSE}, - {"VFPPVnoCTB" ,"" ,"","VFPPV","" ,"","... Pile-up proof vertex finder, noCTB",kFALSE}, - {"VFPPVEv" ,"" ,"" ,"eemcDb" ,"StGenericVertexMaker" - , "Minui,StGenericVertexMaker" ,"... StEvent based VFPPV, noCTB",kFALSE}, - {"VFPPVEvNoBtof" ,"" ,"" ,"VFPPVEv" ,"" ,"","...VFPPVEv with no Btof ",kFALSE}, - {"Sti" ,"Sti","","StiLib,StiLibs,SCL,StEvent,StDbT,TpcIT,compend,sim_T,tbutil","StiMaker" - , "StEventUtilities,StiUtilities,StiMaker","Sti tracker",kFALSE}, - {"StiCA" ,"Sti","","Sti","StiMaker","TPCCATracker,StiCA" ,"StiCA tracker",kFALSE}, - {"StiCAPerf","","","","", "TPCCATrackerPerformance", "CA Performance",kFALSE}, - {"StiCA" ,"Sti","","Sti,StiLib,StiCALib,StiLibs,SCL,StEvent,StDbT,TpcIT,compend,tbutil","StiMaker" - , "StEventUtilities,libEG,StiUtilities,StiMaker","Sti+CA tracker",kFALSE}, - {"HLTCA" ,"" ,"Sti","", "StHLTCAMaker","StHLTCAMaker", "HLT reconstruction",kFALSE}, - {"KFVertex" ,"" ,"Sti","-genvtx,-VFMinuit,-VFFV,-VFMCE,-VFppLMV,-VFPPVnoCTB,-VFPPV,-Kink2,-V02,-Xi2" - ,"StKFVertexMaker", "MathMore,Spectrum", "...KFParticle based multi vertex reconstruction",kFALSE}, - {"Stv" ,"Stv","","-xgeometry,-Sti,-StiTpc,-StiSsd,-StiSvt,-StiPxl,-StiSsd,-StiSst,-StiIst,","StvMaker" - ,"libHist,libHistPainter,libVMC,StarMiniCern,geant3,GeoTestMaker,StvUtil,Stv,StvSeed,StvMaker,StEventUtilities,-StiLibs,-StiLibsHft","Stv",kFALSE}, - {"StvCA" ,"StvCA","","Stv","","" ,"StvCA",kFALSE}, - {"StiVMC" ,"StiVMC","","-Sti,SCL,StEvent,StDbT,TpcDb,compend","StiVMCMaker" - , "StEventUtilities,StiVMC,StiVMCMaker" ,"ITTF VMC tracker",kFALSE}, - {"StiVMCLibs","","","detDb,StarMagField","", "","ITTF:load StiVMC libraries",kFALSE}, - {"laserIT" ,"","","","", "TpcIT","use Sti for laser reconstruction",kFALSE}, - {"TpcIT" ,"","","ITTF" ,"","","Sti tracking: TPC",kFALSE}, - {"SvtIT" ,"","","ITTF" ,"","","Sti tracking: SVT",kFALSE}, - {"SsdIT" ,"","","ITTF" ,"","","Sti tracking: SSD",kFALSE}, - {"HpdIT" ,"" ,"","ITTF","" ,"Sti,StiRnD","Sti tracking: Hpd geom",kFALSE}, - {"PixelIT","" ,"","PxlIT","" ,"","Alias for PxlIT",kFALSE}, - {"PxlIT" ,"" ,"","ITTF","" ,"","Sti tracking: Pixel geom",kFALSE}, - {"IstIT" ,"" ,"","ITTF","" ,"","Sti tracking: Ist geom",kFALSE}, - {"SstIT" ,"" ,"","ITTF","" ,"","Sti tracking: Sst geom",kFALSE}, - {"iTpcIT" ,"" ,"","ITTF","" ,"","Sti tracking: iTpc geom + hits",kFALSE}, - {"BTofIT" ,"" ,"","ITTF","" ,"","Sti tracking: BTof geom",kFALSE}, - {"NoSvtIT" ,"" ,"","-SvtIT","" ,"","ITTF: track with switch off SVT geom",kFALSE}, - {"NoSsdIT" ,"" ,"","-SsdIT","" ,"","ITTF: track with switch off SSD geom",kFALSE}, - {"NoSstIT" ,"" ,"","-SstIT","" ,"","ITTF: track with switch off SST geom",kFALSE}, - {"NoPxlIT" ,"" ,"","-PxlIT","" ,"","ITTF: track with switch off PXL geom",kFALSE}, - {"NoIstIT" ,"" ,"","-IstIT","" ,"","ITTF: track with switch off IST geom",kFALSE}, - {"skip1row" ,"" ,"","","" ,"","ITTF: skip the first pad row in TPC",kFALSE}, - {"StiRnD" ,"","","", "","StiRnD", "Load StiRnD shared library",kFALSE}, - {"Alignment" ,"","","", "","", "Sti Tpc Alignment, reconstruction per sector",kFALSE}, - {"Cosmics" ,"","","", "","", "Ignore events without recostructed tracks",kFALSE}, - {"StiPulls" ,"","","Sti", "","", "Request to make Sti Pulls",kFALSE}, - {"BeamBack" ,"","","StEvent" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"dEdxY2" ,"dEdxY2","","tpcDb,StEvent","StdEdxY2Maker","libMinuit,StdEdxY2Maker" - , "Bichsel method used for dEdx",kFALSE}, - {"CalcdNdx", "", "", "dEdxY2", "", "", "Option for StdEdxY2Maker to calculate dN/dx",kFALSE}, - {"btofMatch" ,"","","db,BTofUtil,vpdCalib,btofCalib","StBTofMatchMaker","StBTofMatchMaker" - , "TPC-BTOF track matching",kFALSE}, - {"btofCalib","","","db,BTofUtil", "StBTofCalibMaker","StBTofCalibMaker","BTOF calibration",kFALSE}, - {"ETofHit", "", "ETofChain", "db, ETofUtil, muDst", "StETofHitMaker", "StETofHitMaker", - "ETOF hit maker",kFALSE}, - {"ETofMatch", "", "ETofChain", "db, ETofUtil, muDst", "StETofMatchMaker", "StETofMatchMaker", - "ETOF match maker",kFALSE}, - {"ETofQa", "", "ETofChain", "db, ETofUtil, muDst", "StETofQAMaker", "StETofQAMaker", - "ETOF QA maker",kFALSE}, - {"ETofA", "", "","etofdat,ETofCalib,etofhit,ETofMatch","","... ETOF chain options for data", kFALSE}, - {"mtdMatch" ,"","","db,MtdUtil", "StMtdMatchMaker","StMtdMatchMaker","TPC-MTD track matching",kFALSE}, - {"mtdCalib" ,"","","db", "StMtdCalibMaker","StMtdCalibMaker","MTD calibration",kFALSE}, - {"mtdEvtFilt" ,"","","db", "StMtdEvtFilterMaker","StMtdEvtFilterMaker","MTD event filter" ,kFALSE}, - {"FindVtxSeed" ,"FindVtxSeed" ,"","globT,MuDSTDeps,picoDst","StVertexSeedMaker" - , "StPass0CalibMaker", "Performs vertex seed finding",kFALSE}, - {"FindEvtVtxSeed","FindEvtVtxSeed","","MuDSTDeps,picoDst","StEvtVtxSeedMaker" - , "StPass0CalibMaker","Performs vertex seed finding using StEvent",kFALSE}, - {"Ftpc" ,"ftpcChain" ,"","ftpcT,fcl,fpt" ,"StMaker","StChain","",kFALSE}, - {"fss" ,"ftpc_raw","ftpcChain","SCL,Simu","StFtpcSlowSimMaker" - , "StFtpcSlowSimMaker,StFtpcTrackMaker,StFtpcClusterMaker","FTPC Slow simulator",kFALSE}, - {"Fcl" ,"ftpc_hits","ftpcChain","SCL,daq","StFtpcClusterMaker" - , "StFtpcTrackMaker,StFtpcClusterMaker","FTPC cluster finder",kFALSE}, - {"fpt" ,"ftpc_tracks","ftpcChain","SCL" - , "StFtpcTrackMaker","StFtpcTrackMaker","FTPC Track Maker",kFALSE}, - {"fgain" ,"","","fcl,fpt","","" - , "StFtpcClusterMaker and StFtpcTrackMaker will produce gain scan histograms",kFALSE}, - {"fdbg" ,"","","fcl,fpt","","","StFtpcClusterMaker and StFtpcTrackMaker will write debugfile",kFALSE}, - {"flaser" ,"","","fcl,fpt" ,"","","StFtpcClusterMaker and StFtpcTrackMaker for LASERTRACKING",kFALSE}, - {"pmdReco" ,"pmdReco","","PmdUtil,pmdClust" ,"StMaker","StChain","PMD Reco chain",kFALSE}, - {"pmdRaw" ,"pmdRaw","pmdReco","pmdReco,pmdRead" ,"","","PMD Reco chain giving raw data",kFALSE}, - {"pmd" ,"pmd","pmdReco","pmdReco,pmdSim,pmdDis" ,"","", "PMD Simulation chain",kFALSE}, - {"pmdRead" ,"","pmdReco","PmdUtil","StPmdReadMaker" ,"StPmdReadMaker", "DAQ reader for PMD",kFALSE}, - {"pmdSim" ,"","pmdReco","PmdUtil","StPmdSimulatorMaker","StPmdSimulatorMaker" - ,"Hit Simulator for PMD" ,kFALSE}, - {"pmdClust" ,"pmdClust","pmdReco","","StPmdClusterMaker","StPmdClusterMaker" - ,"ClusterMaker for PMD" ,kFALSE}, - {"pmdDis" ,"pmdDis","pmdReco","PmdClust","StPmdDiscriminatorMaker" - , "StPmdDiscriminatorMaker","Discriminator for PMD",kFALSE}, - {"Kink2" ,"kink2","","db,MuDST,-kink","StKinkMaker","StSecondaryVertexMaker" - , "Find Kinks from StEvent",kFALSE}, - {"V02" ,"v02","","db,MuDST,-V0","StV0FinderMaker","StSecondaryVertexMaker" - , "Find V0s from StEvent",kFALSE}, - {"Xi2" ,"xi2","","db,MuDST,-V02,-Xi","StXiFinderMaker","StSecondaryVertexMaker" - , "Xis AND V0s from StEvent",kFALSE}, - {"V0svt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Xisvt" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"SCEbyE" ,"scebye","","MuDSTDeps,picoDst","StSpaceChargeEbyEMaker" - , "StMuDSTMaker,StPass0CalibMaker","Determine EbyE SpaceCharge using StEvent",kFALSE}, - {"SCScalerCal" ,"scscalercal","","MuDSTDeps,picoDst","StSpaceChargeEbyEMaker" - , "StMuDSTMaker,StPass0CalibMaker","Calibrate SpaceCharge scalers",kFALSE}, - {"compend" ,"","","event,detDb","StEventCompendiumMaker","StEventCompendiumMaker" - , "Fill event summary in ITTF Chain",kFALSE}, - {"shadow" ,"","","event,compend" ,"StShadowMaker","StShadowMaker","",kFALSE}, - {"TpcAligner" ,"","","Alignment" ,"StTpcAlignerMaker","StTpcAlignerMaker","TpcAligner",kFALSE}, - {"pec" ,"PeC","","Event" ,"StPeCMaker","StPeCMaker","PCollAnalysis",kFALSE}, - {"RichSpectra" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"TagsChain" ,"TagsChain","","" ,"StMaker","StChain","",kFALSE}, - {"TpcTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"Flow" ,"","","," ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"FlowTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"FlowAnalysis","","","" ,"","WARNING *** Option is OBSOLETE ***","",kFALSE}, - {"SpectraTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"HeavyTags" ,"","TagsChain","StEVent" ,"StHeavyTagMaker","StHeavyTagMaker","",kFALSE}, - {"EbyeScaTags" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"HighPtTags" ,"","TagsChain","StEVent" ,"StHighPtTagsMaker","StHighPtTagsMaker","",kFALSE}, - {"PCollTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"tags" ,"","TagsChain","globT,Event,HeavyTags,HighPtTags" - , "StTagsMaker","StTagsMaker","Collect all tags to TTree",kFALSE}, - {"noTags" ,"","","-tags,-HeavyTags,-HighPtTags" ,"","","Turn Off tags",kFALSE}, - {"MuDSTChain","MuDSTChain","EMCmDST,CMuDST","" ,"StMaker","StChain","",kFALSE}, - {"StrngMuDST","","MuDSTDeps","", "StStrangeMuDstMaker","","Creates Stangeness MuDST",kFALSE}, - {"EMCmDST" ,"","MuDSTChain","MuDst", "StEmcMicroDstMaker","","Creates EMC MuDST",kFALSE}, - {"CMuDST" ,"","MuDSTChain","MuDst,StrngMuDST,Tree", "StMuDstMaker","","Writes Common MuDST",kFALSE}, - {"RMuDST" ,"","","CMuDST" ,"","","reads Common MuDST, do not disactivate if no output files",kFALSE}, - {"picoWrite" ,"","PicoChain","picoDst","StPicoDstMaker","" ,"Writes picoDST format",kFALSE}, - {"picoRead" ,"","PicoChain","picoDst","StPicoDstMaker","" ,"WritesRead picoDST format",kFALSE}, - {"PicoVtxDefault" ,"","","" ,"" ,"","pico Vtx default mode",kFALSE}, - {"PicoVtxVpd" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx cut on Tof and VPD mode",kFALSE}, - {"PicoVtxVpdOrDefault","","","-PicoVtxDefault" ,"","","pico Vtx cut on Tof and VPD or default",kFALSE}, - {"PicoVtxFXT" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx constraint on FXT [198,202] mode",kFALSE}, - {"PicoVtxMtd" ,"","","-PicoVtxDefault" ,"" ,"","pico Vtx using MTD matching mode",kFALSE}, - {"PicoCovMtxSkip" ,"","","" ,"" ,"","Do not write covariance matrices to picoDst (default)",kFALSE}, - {"PicoCovMtxWrite","","","-PicoCovMtxSkip" ,"" ,"","Write track covariance matrices to picoDst",kFALSE}, - {"PicoBEmcSmdSkip" ,"","","" ,"" ,"","Do not write BSMD to picoDst (default)",kFALSE}, - {"PicoBEmcSmdWrite","","","-PicoBEmcSmdSkip" ,"" ,"","Write BSMD to picoDst",kFALSE}, - {"St_geom" ,"" ,"","" , "St_geom_Maker","St_geom_Maker","",kFALSE}, - {"Display" ,"","","", "","","WARNING *** Option is OBSOLETE *** use Ed.C macro instead",kFALSE}, - {"Mc" ,"McChain","McEvent","sim_T,globT,McAss,McAna" ,"StMaker","StChain","",kFALSE}, - {"McAss" ,"","McChain","McEvent", "StAssociationMaker","StAssociationMaker","",kFALSE}, - {"McAnaTpc" ,"","","McAna" ,"","","Mc Analysis for Tpc",kFALSE}, - {"McAnaSvt" ,"","","McAna" ,"","","Mc Analysis for Svt",kFALSE}, - {"McAnaSsd" ,"","","McAna" ,"","","Mc Analysis for Ssd",kFALSE}, - {"McAna" ,"","McChain","McEvent,McAss", "StMcAnalysisMaker","StMcAnalysisMaker","",kFALSE}, - {"McQa" ,"","McChain","McEvent", "StMcQaMaker","StMcQaMaker","QA histogramms for McEvent",kFALSE}, - {"McTpcAna" ,"","McAnaChain","tpcDb,dbutil,McEvent,StEvent" - , "StTpcMcAnalysisMaker","StTpcMcAnalysisMaker","",kFALSE}, - {"MiniMcEvent" ,"","","","", "StMiniMcEvent","Loads StMiniMcEvent library only",kFALSE}, - {"MiniMcMk" ,"","","McAss,MiniMcEvent","StMiniMcMaker","StMiniMcMaker" - , "Creates tree in minimc.root file",kFALSE}, - {"SvtMatTree","","","","SvtMatchedTree" - , "StSvtPoolEventT,StSvtPoolSvtMatchedTree","Create SvtMatchedTree",kFALSE}, - {"LAna" ,"","","in,detDb,StEvent,tpcDb","StLaserAnalysisMaker" - , "StLaserAnalysisMaker","Laser data Analysis",kFALSE}, - {"EandBDir","","","in,StEvent,TpcHitMover,nodefault" - , "StEandBDirMaker","MathMore,Spectrum,StEandBDirMaker", "get E&B direction",kFALSE}, - {"SpinTag" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPfind1" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"SpinSortA" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPprojectA","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppDAQfilter1","","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"ppLPeval1" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"QA" ,"","","" ,"","","WARNING *** Option is OBSOLETE ***",kFALSE}, - {"EventQA","EventQA","","QUtils,Event","StEventQAMaker" ,"St_QA_Maker","Filling Y2/Y3 Qa histo",kFALSE}, - {"QAC" ,"CosmicsQA","globT","" ,"StQACosmicMaker","StQACosmicMaker","",kFALSE}, - {"QAalltrigs" ,"", "","", "","","Analyze all triggers in QA",kFALSE}, - {"HitFilt" ,"", "","", "StHitFilterMaker","StHitFilterMaker","Hit filter Maker",kFALSE}, - {"SvtHitFilt" ,"", "","HitFilt", "","","SVT Hit filter Maker",kFALSE}, - {"TpcHitFilt" ,"", "","HitFilt", "","","filter out TPC Hits not on tracks",kFALSE}, - {"HftHitFilt" ,"", "","HitFilt", "","","filter out non-HFT hits",kFALSE}, - {"KeepTpcHit" ,"", "","HitFilt", "","","Keep all TPC hits in StHitFilterMaker",kFALSE}, - {"KeepSvtHit" ,"", "","HitFilt", "","","Keep all SVT hits in StHitFilterMaker",kFALSE}, - {"KeepFgtHit" ,"", "","HitFilt", "","","Keep all FGT hits in StHitFilterMaker",kFALSE}, - {"Tree" ,"OutTree","","","StTreeMaker","StTreeMaker","Write requested branches into files",kFALSE}, - {"logger" ,"" ,"","" ,"","","Use log4cxx package to manage the program messages",kFALSE}, - {"NoSimuDb" ,"" ,"","" ,"","","Switch off Simu Option for DB",kFALSE}, - {"SimuDb" ,"" ,"","-NoSimuDb" ,"","","Switch on Simu Option for DB",kFALSE}, - {"NoOutput" ,"" ,"","-Tree,-EvOut,noTags" ,"","","Suppress Output root files",kFALSE}, - {"EvOutOnly" ,"" ,"","EvOut,Tree,noTags" ,"","","Only event.root files",kFALSE}, - {"NoDefault" ,"" ,"","" ,"","","No Default consistency check",kFALSE}, - {"Notpc_daq" ,"" ,"","-tpc_daq" ,"","","No tpc_daq",kFALSE}, - {"analysis" ,"","","StEvent" ,"StAnalysisMaker","StAnalysisMaker","Example of Analysis",kFALSE}, - {"NewTpcAlignment","","","" ,"","","Switch on new Tpc Alignment schema",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"Aliased ","time stamps","-----------","------------------------------------------","","","",kFALSE}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE} -}; -#endif - -// JL - define this once, use two places -#define BFC_DBREGEXP "(dbv|sdt)(\\d+)(_)(.*)(_)(.*)" - - -// NoChainOptions -> Number of chain options auto-calculated -TableImpl(Bfc); -ClassImp(StBFChain); - -//_____________________________________________________________________________ -// Hack constructor. -/*! - * This method can be called with mode 1 or 2 to enable chain setup 1 or chain - * setup 2. - * - * Note: This constructor now accepts a second argument for the chain name. - * Embedding scripts were modified accordingly. - * - * This was primarily set to make possible the transition between the regular - * chain and the ITTF chain options. - */ -void StBFChain::Setup(Int_t mode) { - static const Char_t *path = "./StRoot/StBFChain:$STAR/StRoot/StBFChain"; - TString chain("BFC.C"); - Char_t *file = gSystem->Which(path,chain,kReadPermission); -#ifdef STAR_LOGGER - if (! file) { LOG_FATAL << Form("StBFChain::Setup\tFile %s has not been found in path %s",chain.Data(),path) << endm; } - else { LOG_WARN << Form("StBFChain::Setup\tFile %s has been found as %s",chain.Data(),file) << endm; } -#else - - if (! file) Fatal("StBFChain::Setup","File %s has not been found in path %s",chain.Data(),path); - else Warning("StBFChain::Setup","File %s has been found as %s",chain.Data(),file); -#endif - TString cmd(".L "); - cmd += file; - gInterpreter->ProcessLine(cmd); - fchainOpt = (St_Bfc *) gInterpreter->Calc("CreateTable()"); - cmd = ".U "; - cmd += file; - gInterpreter->ProcessLine(cmd); - assert(fchainOpt); - delete [] file; - fNoChainOptions = fchainOpt->GetNRows(); - fBFC = fchainOpt->GetTable(); - // add predifined time stamps and geometry versions - const DbAlias_t *DbAlias = GetDbAliases(); - Bfc_st row = {"","","","db,detDb","","","",kFALSE}; - for (Int_t i = 0; DbAlias[i].tag; i++) { - for (Int_t r = 0; r < 2; r++) { - TString dbTag(""); - if (r) dbTag += "r"; - dbTag += DbAlias[i].tag; - if (! kOpt(dbTag,kFALSE)) { - memset (&row.Key, 0, sizeof(row.Key)); - memcpy (&row.Key, dbTag.Data(), dbTag.Length()); - fchainOpt->AddAt(&row); - fNoChainOptions = fchainOpt->GetNRows(); - fBFC = fchainOpt->GetTable(); - } - } - } - FDate = FTime = 0; - FDateS = FTimeS = 0; - fFiltTrg = ""; - fRunG = -1; - fFmsGainCorrTag=""; - Gproperty.clear(); - Gvalue.clear(); - Gpattern.clear(); - - -} -//_____________________________________________________________________________ -/// Destructor. Call Finish() . See this method for detail on what is cleaned. -StBFChain::~StBFChain(){ - Finish(); -} -//_____________________________________________________________________________ -/// Routine handling library loading depending on chain options -Int_t StBFChain::Load() -{ - static const Char_t *prefix[3] = {"lib_","lib",""}; - Int_t status = kStOk; - Int_t i, iok; - TString lib(gSystem->GetLibraries(0,"D")); - TObjArray LoadedLibs; - ParseString(lib,LoadedLibs); - TIter next(&LoadedLibs); - TObjString *LoadedLib; - while ((LoadedLib = (TObjString *) next())){ - TString Base(gSystem->BaseName(LoadedLib->GetName())); - Base.ReplaceAll(".so",""); - Base.ReplaceAll(".sl",""); - if (Base.BeginsWith("lib_")) Base.ReplaceAll("lib_",""); - if (Base.BeginsWith("lib")) Base.ReplaceAll("lib",""); - LoadedLib->SetString(Base); - } - for (i = 1; i< fNoChainOptions; i++) { // Load Libraries if any - if (fBFC[i].Flag) { - if (strlen(fBFC[i].Libs) > 0) { - TObjArray Libs; - ParseString(fBFC[i].Libs,Libs); - TIter nextL(&Libs); - TObjString *libe = 0; - Char_t *path = 0; - while ((libe = (TObjString *) nextL())) { - TString libN(libe->GetString()); - if (libN.BeginsWith("lib_")) libN.ReplaceAll("lib_",""); - if (libN.BeginsWith("lib")) libN.ReplaceAll("lib",""); - - TString libL(""); - for (Int_t j = 0; j < 3; j++) { - libL = prefix[j]; libL += libN; - //LOG_QA << " Checking " << libL << endm; - if ((path = gSystem->DynamicPathName(libL,kTRUE))) break; - } - iok = -1; - if (path) { - TIter next(&LoadedLibs); - TObjString *LoadedLib; - while ((LoadedLib = (TObjString *) next())){ - TString Base(LoadedLib->GetName()); - //LOG_QA << " Checking " << Base << endm; - if (Base == libN) {iok = 1; break;} - } - if (iok > 0) continue; - - - //LOG_QA << "Trying to load Library " << libL << endm; - - - iok = gSystem->Load(libL); - if (iok < 0) { - - LOG_FATAL << "problem with loading of " << libL.Data() << endm; - LOG_FATAL << fBFC[i].Key << " is switched off \t!!!!" << endm; - - //fBFC[i].Flag = kFALSE; - //status = kStErr; - //assert(iok >= 0); ?? obviously it is so, but not very specific - Int_t libraryload = kStErr; - assert(libraryload!=kStErr); // this is obvious and will display an explicit - break; - } else { - LOG_QA << Form("Library %-22s [%15s] (%s)\tis loaded",libL.Data(),fBFC[i].Key,path) << endm; - StMemStat::doPs(libL.Data(), "Load"); - LoadedLibs.Add(new TObjString(libN)); - } - } else { - if ( ! index(fBFC[i].Libs,',') || Debug() > 1 ) { - LOG_WARN << "No path for Key=" << fBFC[i].Key << "-> Searched for [" << libL - << "] from Libs=" << fBFC[i].Libs << " (will proceed)" << endm; - } - } - } - Libs.Delete(); - } - } - } - LoadedLibs.Delete(); - return status; -} - -//_____________________________________________________________________________ -/// Maker-instantiation handler. -/*! - This routine contains it all (make instantiation that is), from calibration - precedence to parameter setting depending on option etc ... Other thing done - here which deserves attention - - The maker's SetMode() mechanism is treated here. - - Calibration options like NoMySQLDb, NoCintCalDb or NoCintDb and path are set - - SetFlavor() sim+ofl or sim, and filestreams is made - - If a maker is added along with some flag options, this is the place to - implement the switches. -*/ -Int_t StBFChain::Instantiate() -{ - Int_t status = kStOk; - Int_t i; - if (! fNoChainOptions) return status; - Long64_t maxsize = kMaxLong64; - TTree::SetMaxTreeSize(maxsize); - for (i = 1; i< fNoChainOptions; i++) {// Instantiate Makers if any - if (! fBFC[i].Flag) continue; - TString maker(fBFC[i].Maker); - if (maker == "") continue; - TString Key(fBFC[i].Key); - TString name(fBFC[i].Name); - Key.ToLower(); - StMaker *myChain = 0; - StMaker *mk = 0; - // Require only instance for the following named makers - if (maker == "St_db_Maker" || maker == "StTpcDbMaker" || - maker == "StSvtDbMaker" || maker == "StSsdDbMaker" || maker == "StSstDbMaker" || - maker == "StDetectorDbMaker" || - maker == "StMagFMaker" || - maker == "StEEmcDbMaker" || - maker == "St_geant_Maker" || - maker == "StVMCMaker") { - mk = GetTopChain()->GetMakerInheritsFrom(maker); - if (mk) { - if (maker == "St_geant_Maker" || maker == "StVMCMaker") { - LOG_INFO << "StBFChain::Instantiate ignore request for instantiation of " << maker - << "(\"" << fBFC[i].Name << "\") because chain alreary has one." << endm; - continue; - } - if (name == "" || name == mk->GetName()) { - LOG_INFO << "StBFChain::Instantiate ignore request for instantiation of " << maker - << "(\"" << fBFC[i].Name << "\") because chain alreary has one" - << " but accumulate options" << endm; - //Accumulate option for these makers continue; - } - } - } - if (strlen(fBFC[i].Chain) > 0) myChain = GetMaker(fBFC[i].Chain); - if (maker == "St_db_Maker"){ - if (Key.CompareTo("db",TString::kIgnoreCase) == 0) { - St_db_Maker* dbMk = (St_db_Maker *) mk; - if (! dbMk) { - TString MySQLDb("MySQL:StarDb"); - TString MainCintDb("$STAR/StarDb"); - TString MainCintDbObj("$STAR/.$STAR_HOST_SYS/obj/StarDb"); - TString MyCintDb("$PWD/StarDb"); - TString MyCintDbObj("$PWD/.$STAR_HOST_SYS/obj/StarDb"); - if (GetOption("NoMySQLDb")) {MySQLDb = "";} - // Removed twice already and put back (start to be a bit boring) - // DO NOT REMOVE THE NEXT OPTION - Used in AutoCalibration - if (GetOption("NoLocalCintDb")) {MyCintDb = "";} - if (GetOption("NoStarCintDb") ) {MainCintDb = "";} - if (GetOption("NoCintDb") ) {MainCintDb = ""; MyCintDb = "";} - - TString Dirs[10]; - Int_t j; - for (j = 0; j < 10; j++) Dirs[j] = ""; - j = 0; - if (MySQLDb != "") {Dirs[j] = MySQLDb; j++;} - if (MainCintDb != "") {Dirs[j] = MainCintDb; j++;} - if (MainCintDbObj != "") {Dirs[j] = MainCintDbObj; j++;} - if (MyCintDb != "") {Dirs[j] = MyCintDb; j++;} - if (MyCintDbObj != "") {Dirs[j] = MyCintDbObj; j++;} - dbMk = new St_db_Maker(fBFC[i].Name,Dirs[0],Dirs[1],Dirs[2],Dirs[3],Dirs[4]); - if (!dbMk) goto Error; - - TString namec = dbMk->GetName(); - int len = sizeof(fBFC[i].Name); - if ( namec.Length() <= len){ - strncpy (fBFC[i].Name, namec.Data(),len); - } else { - gMessMgr->Error() << "Maker name [" << namec - << "] length is > " << len - << " - increase BFC Name field length" << endm; - } - - // Determine flavors - TString flavors = "ofl"; // default flavor for offline - - // fixed target flavor - if (GetOption("FXT")) flavors.Prepend("FXT+"); - - // simulation flavors - if (GetOption("Simu") && ! GetOption("NoSimuDb")) flavors.Prepend("sim+"); - - // filestream flavors - if (fSetFiles) { - TString firstFileName = fSetFiles->GetFileName(0); - firstFileName = firstFileName(firstFileName.Last('/')+1,firstFileName.Length()); - if (firstFileName.BeginsWith("st_")) { - TString fileStream = firstFileName(3,firstFileName.Index('_',3)-3); - if (fileStream.Length()>0) flavors.Prepend(fileStream += '+'); - } - } - - LOG_INFO << "Using DB flavors: " << flavors << endm; - dbMk->SetFlavor(flavors.Data()); - mk = dbMk; - } - if (GetOption("dbSnapshot")) dbMk->SetAttr("dbSnapshot","dbSnapshot.root",dbMk->GetName()); - SetDbOptions(dbMk); - } - goto Add2Chain; - } - if (!mk && maker == "StIOMaker" && fSetFiles) { - StIOMaker *inpMk=0; - if (GetOption("InTree")) { - Char_t line[80] = "bfcTree"; - Int_t k = kOpt("InTree"); - sscanf(fBFC[k].Comment,"%s",line); - inpMk = new StIOMaker("inputStream","r",fSetFiles,line); - } - else inpMk = new StIOMaker("inputStream","r",fSetFiles); - mk = inpMk; - if (mk) { - TString namec = mk->GetName(); - int len = sizeof(fBFC[i].Name); - if ( namec.Length() <= len){ - strncpy (fBFC[i].Name, namec.Data() , len); - } else { - gMessMgr->Error() << "Maker name [" << namec - << "] length is > " << len - << " - increase BFC Name field length" << endm; - } - - SetInput("StDAQReader",".make/inputStream/.make/inputStream_DAQ/.const/StDAQReader"); - if (GetOption("ReadAll")) { //activate all branches - // inpMk->SetBranch("*",0,"r"); - const Char_t *allBranches[] = { - "emc_rawBranch","eventBranch","ftpc_rawBranch", - "geantBranch","globalBranch","McEventBranch","svt_hitsBranch","svt_tracksBranch", - "tpc_hitsBranch","trgBranch",0}; - for (Int_t i = 0; allBranches[i]; i++) inpMk->SetBranch(allBranches[i],0,"r"); - } - if (GetOption("adcOnly")) mk->SetAttr("adcOnly",1); ; - goto Add2Chain; - } - goto Error; - } - if (!mk && maker == "StTreeMaker" && fFileOut != "") { - StTreeMaker *treeMk = 0; - if (GetOption("OutTree")) { - Char_t line[80] = "bfcTree"; - Int_t k = kOpt("OutTree"); - sscanf(fBFC[k].Comment,"%s",line); - treeMk = new StTreeMaker("outputStream",fFileOut.Data(),line); - } - else treeMk = new StTreeMaker("outputStream",fFileOut.Data()); - mk = treeMk; - if (mk) { - TString namec = treeMk->GetName(); - int len = sizeof(fBFC[i].Name); - if ( namec.Length() <= len ){ - strncpy (fBFC[i].Name, namec.Data() , len); - } else { - gMessMgr->Error() << "Maker name [" << namec - << "] length is > " << len - << " - increase BFC Name field length" << endm; - } - treeMk->SetIOMode("w"); - SetTreeOptions(); - goto Add2Chain; - } - } - // Special makers already created or action which - // need to take place before 'maker' is created. - if (! mk) { - if (strlen(fBFC[i].Name) > 0) mk = New(fBFC[i].Maker,fBFC[i].Name); - else mk = New(fBFC[i].Maker); - if (! mk) { - LOG_FATAL << Form("StBFChain::Instantiate() problem with instantiation Maker=[%s] Name=[%s]",fBFC[i].Maker,fBFC[i].Name) << endm; - assert(mk); - } - } - - { - TString namec = mk->GetName(); - int len = sizeof(fBFC[i].Name); - if ( namec.Length() <= len){ - strncpy (fBFC[i].Name,namec.Data(),len); - } else { - gMessMgr->Error() << "Maker name [" << namec - << "] length is > " << len - << " - increase BFC Name field length" << endm; - } - } - - if (maker == "StTpcDbMaker" && GetOption("laserIT")) mk->SetAttr("laserIT" ,kTRUE); - if (maker == "StDAQMaker") { - if (GetOption("adcOnly")) mk->SetAttr("adcOnly",1); ; - } - - if (maker == "St_geant_Maker") { // takes only first request for geant, if it is active then it should be the first one - Int_t NwGeant = 10; // default geant parameters - if (!GetOption("fzin") && - !GetOption("ntin") && - !GetOption("gstar") && - !GetOption("pythia")) NwGeant = 5; - if (GetOption("big")) NwGeant = 20; - if (GetOption("bigbig")) NwGeant = 40; - if (GetOption("huge")) NwGeant = 80; - ProcessLine(Form("((St_geant_Maker *) %p)->SetNwGEANT(%i);",mk,NwGeant)); - if (GetOption("Higz")) ProcessLine(Form("((St_geant_Maker *) %p)->SetIwtype(1);",mk)); - if (GetOption("paw")) ProcessLine(Form("((St_geant_Maker *) %p)->SetNwPAW(2);",mk)); - if (GetOption("fzin") || - GetOption("ntin") || - GetOption("gstar") || - GetOption("pythia") || - GetOption("hijing") || - GetOption("PrepEmbed") || - GetOption("mtin")) { - mk->SetActive(kTRUE); - // if (GetOption("PrepEmbed")) mk->SetMode(10*(mk->GetMode()/10)+1); - if (GetOption("PrepEmbed") || GetOption("pythiaEmbed")) mk->SetAttr("Don'tTouchTimeStamp",kTRUE); - if (GetOption("flux")) mk->SetAttr("flux",kTRUE); - if (GetOption("pythia")) { - mk->SetAttr("Pythia",kTRUE); - if (GetOption("Wenu")) mk->SetAttr("Wenu",kTRUE); - if (GetOption("beamLine")) mk->SetAttr("beamLine",kTRUE); - } - if (GetOption("hijing")) { - mk->SetAttr("hijing",kTRUE); - } - } - else mk->SetActive(kFALSE); - //if (! mk) goto Error; - SetGeantOptions(mk); - } - - // special maker options - // m_Mode xyz - // x = 1 phys_off - // y = 1 Passive mode (do not call RunMC() - // z = 1 Mixer Mode - if (maker == "StVMCMaker") { - if (GetOption("VMCPassive")) {// don't use mk->SetActive(kFALSE) because we want to have InitRun - mk->SetAttr("VMCPassive",kTRUE); - } - else { - if (GetOption("phys_off")) mk->SetAttr("phys_off",kTRUE); - if (GetOption("hadr_off")) mk->SetAttr("hadr_off",kTRUE); - if (fInFile != "") { - if (ProcessLine(Form("((StVMCMaker *) %p)->SetInputFile(\"%s\")",mk,fInFile.Data()))) - goto Error; - } - } - if (GetOption("Embedding")) mk->SetAttr("Embedding",kTRUE); - } - - // --- - // Sti(ITTF) start - // --- - if (maker == "StiMaker" || maker == "StiVMCMaker" || maker == "StvMaker") { - if ( maker == "StvMaker" && GetOption("StvCA")) { - // mk->SetAttr("seedFinders","CA","Stv"); // for CA seed finder - mk->SetAttr("seedFinders","CA,Default","Stv"); // for CA + Default seed finders - } - - // When StiCA library is requested CA will be used as seed finder in StiMaker - if ( GetOption("StiCA") ) { - mk->SetAttr("seedFinders", "CA DEF"); - } - - // Option to re-use hits in other tracks - if ( GetOption("hitreuseon") ){ - mk->SetAttr("SetMaxTimes", 100); - } - - // By default iTpc hits are used in tracking - mk->SetAttr("activeiTpc", GetOption("iTpcIT") ? kTRUE : kFALSE); - - // old logic for svt and ssd - if (GetOption("NoSvtIT")){ - mk->SetAttr("useSvt" ,kFALSE); - } else { - if (GetOption("SvtIT")){ - mk->SetAttr("useSvt" ,kTRUE); - mk->SetAttr("activeSvt" ,kTRUE); - } - } - if ( GetOption("NoSsdIT") && - !GetOption("SstIT") ){ - mk->SetAttr("useSsd" ,kFALSE); - } else { - if (GetOption("SsdIT")){ - mk->SetAttr("useSsd" ,kTRUE); - mk->SetAttr("activeSsd" ,kTRUE); - } - } - - // this was an R&D detector never implemented - // simulations were made nonetheless - if (GetOption("HpdIT")){ - mk->SetAttr("useHpd" ,kTRUE); - mk->SetAttr("activeHpd" ,kTRUE); - } - - // back to the HFT sub-system - if (GetOption("NoPxlIT")) { - mk->SetAttr("usePxl" ,kTRUE); - mk->SetAttr("usePixel" ,kTRUE); - } else { - if (GetOption("PixelIT") || GetOption("PxlIT") ){ - mk->SetAttr("usePxl" ,kTRUE); - mk->SetAttr("usePixel" ,kTRUE); - mk->SetAttr("activePxl" ,kTRUE); - mk->SetAttr("activePixel",kTRUE); - } - } - if (GetOption("NoIstIT")) { - mk->SetAttr("useIst" ,kTRUE); - } else { - if (GetOption("IstIT")){ - mk->SetAttr("useIst" ,kTRUE); - mk->SetAttr("activeIst" ,kTRUE); - } - } - if (GetOption("NoSstIT")) { - mk->SetAttr("useSst" ,kTRUE); - } else { - if (GetOption("SstIT")){ - mk->SetAttr("useSst" ,kTRUE); - mk->SetAttr("activeSst" ,kTRUE); - } - } - - // other sub-systems - if (GetOption("BTofIT")){ - mk->SetAttr("useBTof" ,kTRUE); - mk->SetAttr("activeBTof" ,kTRUE); - } - - if (GetOption("StiPulls") || - GetOption("StvPulls")) mk->SetAttr("makePulls" ,kTRUE); - if (GetOption("skip1row")) mk->SetAttr("skip1row" ,kTRUE); - if (GetOption("EastOff")) mk->SetAttr("EastOff" ,kTRUE); - if (GetOption("WestOff")) mk->SetAttr("WestOff" ,kTRUE); - if (GetOption("laserIT")) mk->SetAttr("laserIT" ,kTRUE); - if (GetOption("Alignment")) mk->SetAttr("Alignment" ,kTRUE); - if (GetOption("Cosmics")) mk->SetAttr("Cosmics" ,kTRUE); - mk->PrintAttr(); - } - if (maker=="StKFVertexMaker" && GetOption("laserIT")) mk->SetAttr("laserIT" ,kTRUE); - // Sti(ITTF) end - if (maker=="StGenericVertexMaker") { - // VertexFinder methods - if (GetOption("Sti") || GetOption("StiCA") || - GetOption("Stv") || - GetOption("StiVMC" ) ) mk->SetAttr("ITTF" , kTRUE); - if (GetOption("VFMinuit" ) ) mk->SetAttr("VFMinuit" , kTRUE); - if (GetOption("VFppLMV" ) ) mk->SetAttr("VFppLMV" , kTRUE); - if (GetOption("VFppLMV5" ) ) mk->SetAttr("VFppLMV5" , kTRUE); - if ((GetOption("VFPPV") && GetOption("Stv")) || GetOption("VFPPVEv") ) { - gSystem->Load("StBTofUtil.so"); - mk->SetAttr("VFPPVEv" , kTRUE); - } else if (GetOption("VFPPV") && GetOption("Sti")) mk->SetAttr( "VFPPV", kTRUE); - if (GetOption("VFPPVEvNoBtof")){ - gSystem->Load("StBTofUtil.so"); //Not used but loaded to avoid fail - mk->SetAttr("VFPPVEvNoBtof", kTRUE); - } - if (GetOption("VFPPVnoCTB" ) ) mk->SetAttr("VFPPVnoCTB" , kTRUE); - if (GetOption("VFFV" ) ) mk->SetAttr("VFFV" , kTRUE); - if (GetOption("VFMCE" ) ) mk->SetAttr("VFMCE" , kTRUE); - if (GetOption("VFMinuit2" ) ) mk->SetAttr("VFMinuit2" , kTRUE); - if (GetOption("VFMinuit3" ) ) mk->SetAttr("VFMinuit3" , kTRUE); - if (GetOption("beamLine" ) ) mk->SetAttr("BeamLine" , kTRUE); - if (GetOption("beamLine3D" ) ) mk->SetAttr("BeamLine3D" , kTRUE); - if (GetOption("CtbMatchVtx") ) mk->SetAttr("CTB" , kTRUE); - if (GetOption("min2trkVtx" ) ) mk->SetAttr("minTracks" , 2); - if (GetOption("VtxSeedCalG") ) mk->SetAttr("calibBeamline" , kTRUE); - if (GetOption("usePct4Vtx" ) ) mk->SetAttr("PCT" , kTRUE); - if (GetOption("useBTOF4Vtx") ) mk->SetAttr("BTOF" , kTRUE); - if (GetOption("useBTOFmatchOnly") ) mk->SetAttr("useBTOFmatchOnly", kTRUE); - - // X-tended works only for VFPPV, VFPPVnoCTB, VFPPVev for now but could be re-used - // However, we will change this to a more flexible arbitrarry setting later - if (GetOption("VFStoreX") ) mk->SetAttr("VFStore" , 100); - //if (GetOption("VFStoreX") ) mk->SetAttr("VFStore" , 100); - mk->PrintAttr(); - } - if (maker=="StKFVertexMaker") { - if (GetOption("beamLine" ) ) mk->SetAttr("BeamLine" , kTRUE); - } - if (maker=="StAssociationMaker") { - - LOG_QA << "StBFChain::Instantiate Setting the Parameters for the Association Maker" << endm; - - TString cmd(""); - if (GetOption("ITTF") || GetOption("StiVMC") || GetOption("useInTracker")) - cmd = Form ("((StAssociationMaker *) %p)->useInTracker();",mk); - cmd += "StMcParameterDB* parameterDB = StMcParameterDB::instance();"; - // TPC -#if 0 - cmd += "parameterDB->setXCutTpc(.5);"; // 5 mm - cmd += "parameterDB->setYCutTpc(.5);"; // 5 mm - cmd += "parameterDB->setZCutTpc(.5);"; // 5 mm -#endif - cmd += "parameterDB->setReqCommonHitsTpc(3);"; // Require 3 hits in common for tracks to be associated - // FTPC -#if 0 - cmd += "parameterDB->setRCutFtpc(.3);"; // 3 mm - cmd += "parameterDB->setPhiCutFtpc(5*(3.1415927/180.0));"; // 5 degrees -#endif - cmd += "parameterDB->setReqCommonHitsFtpc(3);"; // Require 3 hits in common for tracks to be associated - // SVT -#if 0 - cmd += "parameterDB->setXCutSvt(.08);"; // 800 um - cmd += "parameterDB->setYCutSvt(.08);"; // 800 um - cmd += "parameterDB->setZCutSvt(.08);"; // 800 um -#endif - cmd += "parameterDB->setReqCommonHitsSvt(1);"; // Require 1 hits in common for tracks to be associated - if (GetOption("IdTruth")) cmd += Form("((StAssociationMaker *) %p)->useIdAssoc();",mk); - ProcessLine(cmd); - } - if (maker == "StMiniMcMaker" && GetOption("IdTruth") && ! GetOption("OldMiniMc")) { - mk->SetMode(1); - gMessMgr->QAInfo() << "StBFChain::Instantiate create simplified MiniMcTree in " << maker << endm; - } - // usually, we do maker first and option second but the - // logic is more readable with option first here (as it - // got a bit out of hand) - if (GetOption("ppOpt") ) { // pp specific stuff - if (maker == "StTrsMaker") - mk->SetMode(1); // Pile-up correction - } - - if (maker == "StStrangeMuDstMaker" && GetOption("CMuDST")&& GetOption("StrngMuDST") ) { - TString cmd(Form("StStrangeMuDstMaker *pSMMk = (StStrangeMuDstMaker*) %p;",mk)); - cmd += "pSMMk->DoV0();"; // Set StrangeMuDstMaker parameters - cmd += "pSMMk->DoXi();"; - cmd += "pSMMk->DoKink();"; - cmd += "pSMMk->SetNoKeep();"; // Set flag for output OFF - ProcessLine(cmd); - } - - // Alex requested an option (not turned by default) to disable all - // hit reco cuts. This will make allm hits saved to MuDST /ezTree. - if ( maker == "StEmcRawMaker" && GetOption("BEmcDebug")) - mk->SetMode(1); // only one option now, bit a bitmask - - // Use status tables for raw BEMC data (helpful for QA) - if ( maker == "StEmcRawMaker" && GetOption("BEmcChkStat")) - mk->SetAttr("BEmcCheckStatus",kTRUE); - - // MuDST and ezTree. Combinations are - // ezTree -> ezTree only - // CMuDST -> regular MuDST only - // ezTree,CMuDST -> both - if (maker == "StMuDstMaker" && GetOption("ezTree") ){ - TString cmd(Form("StMuDstMaker *pMuMk = (StMuDstMaker *) %p;",mk)); - if ( ! GetOption("CMuDST")) cmd += "pMuMk->SetStatus(\"*\",0);"; - cmd += "pMuMk->SetStatus(\"EztAll\",1);"; - ProcessLine(cmd); - } - - if ( maker == "StPicoDstMaker"){ - if ( GetOption("picoWrite") ) mk->SetMode(1); - if ( GetOption("picoRead") ) mk->SetMode(2); // possibly more magic - if ( GetOption("PicoVtxVpd")) mk->SetAttr("PicoVtxMode", "PicoVtxVpd"); - else if ( GetOption("PicoVtxFXT")) mk->SetAttr("PicoVtxMode", "PicoVtxFXT"); - else if ( GetOption("PicoVtxMtd")) mk->SetAttr("PicoVtxMode", "PicoVtxMtd"); - else if ( GetOption("PicoVtxVpdOrDefault")) mk->SetAttr("PicoVtxMode", "PicoVtxVpdOrDefault"); - else if ( GetOption("PicoVtxDefault")) mk->SetAttr("PicoVtxMode", "PicoVtxDefault"); - if ( GetOption("PicoCovMtxWrite")) mk->SetAttr("PicoCovMtxMode", "PicoCovMtxWrite"); - else if ( GetOption("PicoCovMtxSkip")) mk->SetAttr("PicoCovMtxMode", "PicoCovMtxSkip"); // Default mode - if ( GetOption("PicoBEmcSmdWrite")) mk->SetAttr("PicoBEmcSmdMode", "PicoBEmcSmdWrite"); - else if ( GetOption("PicoBEmcSmdSkip")) mk->SetAttr("PicoBEmcSmdMode", "PicoBEmcSmdSkip"); // Default mode - } - - - if (maker == "StLaserEventMaker"){ - // Bill stuff - Empty place-holder - } - if (maker == "StDetectorDbMaker") { - if ( GetOption("DbRichSca") ) mk->SetMode(1); - } - if (maker == "StTpcRSMaker") { - if (! GetOption("TrsToF")) { - Int_t mode = mk->GetMode(); - mode |= (1 << 10); // kNoToflight //10 don't account for particle time of flight - mk->SetMode(mode); - } - if (GetOption("EbyET0")) mk->SetAttr("EbyET0", kTRUE); - } - if (maker == "StTrsMaker") { - Int_t mode = 0; - if (GetOption("TrsPileUp")) mode += 1; // Pile-up correction - if (GetOption("TrsToF")) mode += 2; // account for particle time of flight - if (mode) mk->SetMode(mode); - } - - // Place-holder. Would possibly be a bitmask - if (maker == "StTofrMatchMaker"){ - mk->SetMode(0); - } - - if (maker == "StSpaceChargeEbyEMaker") { - if ( GetOption("SpcChgCal") || - GetOption("SpcChgCalG")) mk->SetMode(2); - if ( GetOption("SCScalerCal") ) mk->SetMode(4); - if ( GetOption("EastOff")) mk->SetAttr("EastOff",kTRUE); - if ( GetOption("WestOff")) mk->SetAttr("WestOff",kTRUE); - } - if (maker == "StEventQAMaker" && GetOption("QAalltrigs")) - ProcessLine(Form("((StEventQAMaker *) %p)->AllTriggers();",mk)); - //Special options for V0s and Xis using estGlobal tracks - if(maker=="StV0FinderMaker" && Key=="v0svt"){ - TString cmd(Form("StV0FinderMaker *V0mk=(StV0FinderMaker*) %p;",mk)); - cmd += "V0mk->SetLanguageUsage(0);"; - cmd += "V0mk->SetSVTUsage(1);"; - cmd += "V0mk->SetV0LanguageUsage(3);"; - ProcessLine(cmd); - } - if(maker=="StXiFinderMaker" && Key=="xisvt"){ - TString cmd(Form("StXiFinderMaker *Ximk=(StXiFinderMaker*) %p;",mk)); - cmd += "Ximk->SetLanguageUsage(0);"; - cmd += "Ximk->SetSVTUsage(1);"; - cmd += "Ximk->SetV0LanguageUsage(3);"; - cmd += "Ximk->SetXiLanguageUsage(5);"; - ProcessLine(cmd); - } - - // TPC - if (maker == "StTpcRTSHitMaker") { - if ( GetOption("TpxClu2D")) mk->SetAttr("TpxClu2D", kTRUE); - } - if (maker == "StTpcDbMaker"){ - if ( GetOption("Simu") && ! GetOption("NoSimuDb")) mk->SetAttr("Simu",kTRUE); - if ( GetOption("useLDV") ) mk->SetAttr("useLDV",kTRUE) ;// uses laserDV database - if ( GetOption("useCDV") ) mk->SetAttr("useCDV",kTRUE) ;// uses ofl database - if ( GetOption("useNewLDV") ) mk->SetAttr("useNewLDV",kTRUE);// uses new laserDV - if ( GetOption("shadow") ) mk->SetAttr("NoReset",kTRUE);// no resetting ExB - if ( GetOption("ExB")){ - mk->SetAttr("ExB", kTRUE); // bit 0 is ExB ON or OFF - if ( GetOption("EB1") ) mk->SetAttr("EB1", kTRUE); - else if ( GetOption("EB2") ) mk->SetAttr("EB2", kTRUE); - else { - // depend on RY option i.e. take default for that RealYear data - // expectations. - if(GetOption("RY1H") || - GetOption("RY2000") || - GetOption("RY2001") || - GetOption("RY2001N") || - GetOption("RY2003") || - GetOption("RY2003X")) mk->SetAttr("OldRuns", kTRUE); - } - // Other options introduced in October 2001 for distortion corrections - // studies and year1 re-production. Those are OR additive to the mask. - //(void) printf("StBFChain:: Options list : %d %d %d %d %d %d %d %d\n", - // kPadrow13,kTwist,kClock,kMembrane,kEndcap, - // kIFCShift,kSpaceCharge,kSpaceChargeR2); - if( GetOption("OBmap") ) mk->SetAttr("OBmap" , kTRUE); - if( GetOption("OPr13") ) mk->SetAttr("OPr13" , kTRUE); - if( GetOption("OPr40") ) mk->SetAttr("OPr40" , kTRUE); - if( GetOption("OTwist") ) mk->SetAttr("OTwist" , kTRUE); - if( GetOption("OClock") ) mk->SetAttr("OClock" , kTRUE); - if( GetOption("OCentm") ) mk->SetAttr("OCentm" , kTRUE); - if( GetOption("OECap") ) mk->SetAttr("OECap" , kTRUE); - if( GetOption("OIFC") ) mk->SetAttr("OIFC" , kTRUE); - if( GetOption("OSpaceZ") ) mk->SetAttr("OSpaceZ" , kTRUE); - if( GetOption("OSpaceZ2") ) mk->SetAttr("OSpaceZ2" , kTRUE); - if( GetOption("OShortR") ) mk->SetAttr("OShortR" , kTRUE); - if( GetOption("OBMap2d") ) mk->SetAttr("OBMap2d" , kTRUE); - if( GetOption("OGridLeak") ) mk->SetAttr("OGridLeak" , kTRUE); - if( GetOption("OGridLeak3D")) mk->SetAttr("OGridLeak3D", kTRUE); - if( GetOption("OGridLeakFull")) mk->SetAttr("OGridLeakFull", kTRUE); - if( GetOption("OGGVoltErr") ) mk->SetAttr("OGGVoltErr" , kTRUE); - if( GetOption("OSectorAlign"))mk->SetAttr("OSectorAlign",kTRUE); - if( GetOption("ODistoSmear")) mk->SetAttr("ODistoSmear", kTRUE); - if( GetOption("OAbortGap")) mk->SetAttr("OAbortGap" , kTRUE); - } - mk->PrintAttr(); - } - if (maker == "StTpcHitMover" && GetOption("EbyET0")) { - mk->SetAttr("EbyET0", kTRUE); - } - if ((maker == "StdEdxY2Maker" || maker == "StTpcHitMover") && - GetOption("EmbeddingShortCut")) { - mk->SetAttr("EmbeddingShortCut", kTRUE); - mk->PrintAttr(); - } - if (maker == "StdEdxY2Maker" && !GetOption("CalcdNdx")) { - mk->SetAttr("SkipdNdx", kTRUE); - } - if (maker == "StSvtDbMaker" || maker == "StSsdDbMaker"){ - mk->SetMode(0); - // If simulation running make sure pick up simu stuff from db - if (GetOption("Simu") && ! GetOption("NoSimuDb")) mk->SetMode(1); - } - - // FTPC - if ((maker == "StFtpcClusterMaker" || - maker == "StFtpcTrackMaker" ) && - GetOption("fdbg")) mk->SetMode(mk->GetMode()+2); - if ( ( maker == "StFtpcClusterMaker" || // ? - maker == "StFtpcTrackMaker" ) && - GetOption("flaser")) mk->SetMode(mk->GetMode()+1); - - if ((maker == "StFtpcClusterMaker" || - maker == "StFtpcTrackMaker" ) && - GetOption("fgain")) mk->SetMode(mk->GetMode()+4); - - - // PMD - if ( maker == "StPmdReadMaker" && - GetOption("pmdRaw")) mk->SetAttr("pmdRaw",kTRUE); - - // HFT - //if (maker == "StPxlSimMaker" && - // GetOption("pxlSlowSim")) mk->SetAttr("useDIGMAPSSim",kTRUE); - // ... PXL - if (maker == "StPxlSimMaker") { - if (GetOption("pxlSlowSim")) mk->SetAttr("useDIGMAPSSim",kTRUE); - } - - //FMS GainCorrection flavors - if (maker == "StFmsDbMaker"){ - if(fFmsGainCorrTag!="") mk->SetAttr("FmsGainCorr",fFmsGainCorrTag.Data()); - } - - // Hit filtering will be made from a single maker in - // future with flexible filtering method - if (maker == "StHitFilterMaker") { - if (GetOption("SvtHitFilt")){ - // Filter out SVT bad hits, TPC hits not on tracks and all hits if fabs(ZVert)>30 - LOG_QA << "SVT hit filter is ON" << endm; - TString cmd(Form("StHitFilterMaker *Filtmk=(StHitFilterMaker*) %p;",mk)); - cmd += "Filtmk->setPtLowerCut(-99.);"; - cmd += "Filtmk->setPtUpperCut(-99.);"; - cmd += "Filtmk->setAbsEtaCut(-99);"; - cmd += "Filtmk->setAbsZVertCut(30);"; - ProcessLine(cmd); - } else if (GetOption("TpcHitFilt")){ - // Filter out TPC hits not on tracks - LOG_QA << "TPC hit filter is ON" << endm; - TString cmd(Form("StHitFilterMaker *Filtmk=(StHitFilterMaker*) %p;",mk)); - cmd += "Filtmk->setPtLowerCut(-99.);"; - cmd += "Filtmk->setPtUpperCut(-99.);"; - cmd += "Filtmk->setAbsEtaCut(-99);"; - cmd += "Filtmk->setAbsZVertCut(999);"; - ProcessLine(cmd); - } else if (GetOption("HftHitFilt")){ - // Filter out TPC hits not on tracks - LOG_QA << "HFT hit filter is ON" << endm; - TString cmd(Form("StHitFilterMaker *Filtmk=(StHitFilterMaker*) %p;",mk)); - cmd += "Filtmk->setAbsZVertCut(-1);"; - cmd += "Filtmk->setKeepWestHighEtaHitsForFgt(0);"; - ProcessLine(cmd); - } else { - LOG_QA << "Default hit filtering is ON" << endm; - } - Int_t mode = 0; - if (GetOption("KeepTpcHit")) mode |= (1 << kTpcId); - if (GetOption("KeepSvtHit")) mode |= (1 << kSvtId); - mk->SetMode(mode); - // the m_Mode (Int_t is signed integer 4 bytes) mask is too short for the FGT - if (GetOption("KeepFgtHit")){ - TString cmd(Form("StHitFilterMaker *Filtmk=(StHitFilterMaker*) %p;",mk)); - cmd += "Filtmk->setKeepWestHighEtaHitsForFgt(1.0);"; - ProcessLine(cmd); - } - } - if (maker == "StMiniMcMaker" && fFileOut != "") { - ProcessLine(Form("((StMiniMcMaker *) %p)->setFileName(\"%s\");", mk, fFileOut.Data())); - } - if (maker == "StMcAnalysisMaker") { - Int_t mode = 0; - if (GetOption("McAnaTpc")) mode += 0x1; - if (GetOption("McAnaSvt")) mode += 0x2; - if (GetOption("McAnaSsd")) mode += 0x4; - if (mode) - ProcessLine(Form("((StMaker *) %p)->SetMode(%i);", mk, mode)); - } - if (maker == "StBTofCalibMaker") { - if (GetOption("UseProjectedVertex")) mk->SetAttr("UseProjectedVertex",kTRUE); - if (GetOption("setOutlierRej4BToft0")) mk->SetAttr("setPPPAOutlierRej", kTRUE); - if (GetOption("ImpBToFt0Mode")) mk->SetAttr("pppAMode", kTRUE); - if (GetOption("btofFXT")) mk->SetAttr("btofFXT", kTRUE); - } - if (maker == "StVpdCalibMaker" && GetOption("ImpBToFt0Mode")) mk->SetAttr("pppAMode", kTRUE); - - if (maker == "StEventMaker" && fFiltTrg.Length()) { - mk->SetAttr("FiltTrg",(Int_t) (fFiltTrg.BeginsWith('+') ? 1 : -1)); - TString FiltTrgFlavor = fFiltTrg(1,128); - if (FiltTrgFlavor.Length()) - SetFlavor((FiltTrgFlavor += "+ofl").Data(),"trgOfflineFilter"); - } - if (maker == "StTagsMaker"){ - if ( GetOption("shadow") ) mk->SetAttr("shadow",kTRUE); - } - - Add2Chain: - if (! mk) continue; - if (name == "") strncpy (fBFC[i].Name,(Char_t *) mk->GetName() , sizeof(fBFC[i].Name)); - if (myChain) myChain->AddMaker(mk); - continue; - Error: - status = kStErr; - LOG_QA << " ======================================" << endm; - LOG_QA << " problem with Instantiation of " << fBFC[i].Maker << endm; - LOG_QA << " ======================================" << endm; - } - // PrintQAInfo(); - PrintInfo(); - // START the chain (may the force be with you) - // Create HTML docs of all Maker's inv -#if 0 - if (GetOption("MakeDoc")) MakeDoc(); -#endif - if (GetOption("Debug")) SetDEBUG(1); - if (GetOption("Debug1")) SetDEBUG(1); - if (GetOption("Debug2")) SetDEBUG(2); - if (GetOption("nohistos")) SetAttr(".histos",0,"*"); - else SetAttr(".histos",1,"*"); - if (GetOption("NoRepeat")) gMessMgr->IgnoreRepeats(); - - if (GetOption("svt1hit")) SetAttr("minPrecHits",1,"Sti"); - if (GetOption("svt1hit")) SetAttr("minPrecHits",1,"StiCA"); - if (GetOption("svt1hit")) SetAttr("minPrecHits",1,"Stv"); - if (GetOption("svt1hit")) SetAttr("minPrecHits",1,"StiVMC"); - - for ( unsigned int n=0 ; n < Gproperty.size() ; n++ ){ - gMessMgr->QAInfo() << "+++ Setting attribute " - << (Gproperty.at(n)).Data() << " = " << (Gvalue.at(n)).Data() << " for " - << (Gpattern.at(n).Data()) << endm; - - SetAttr( (Gproperty.at(n)).Data(), - (Gvalue.at(n)).Data(), - (Gpattern.at(n)).Data() ); - } - - return status; -} -//_____________________________________________________________________ -Int_t StBFChain::Init() { - - TDatime td; - Info("Init","Time=%s Cwd=%s",td.AsString(),gSystem->pwd()); - - SetChainOpt(new StBFChainOpt(this)); - // SetDbOptions(); moved to Instantiation - if (fNoChainOptions) { - // SetGeantOptions(); move back to Init - if (GetOption("Simu") && ! (GetOption("mtin") || GetOption("PrepEmbed") || GetOption("pythiaEmbed"))) { // ! Simu - StEvtHddr *fEvtHddr = (StEvtHddr*)GetDataSet("EvtHddr"); - if (!fEvtHddr) { - fEvtHddr = new StEvtHddr(m_ConstSet); - SetOutput(fEvtHddr); //Declare this "EvtHddr" for output - } - if (fEvtHddr->GetRunNumber() < 0 || fEvtHddr->GetRunNumber() >= 1000000) { - fEvtHddr->SetRunNumber(1); // to have run positive and < 1000000 (to avoid mess with RunLog) - } - } - } - if (fNoChainOptions) { - if (GetOption("NoOutput") || GetOption("EvOutOnly")) { - if (! GetOption("RMuDst")) - SetAttr(".call","SetActive(0)","MuDst"); //NO MuDst - if (! GetOption("EvOutOnly")) { - SetAttr(".call","SetActive(0)","outputStream"); //NO Out - } - SetAttr(".call","SetActive(0)","kink2"); - SetAttr(".call","SetActive(0)","StTagsMaker::"); - SetAttr(".call","SetActive(0)","StStrangeMuDstMaker::"); - } -#if 1 - - - if (fNoChainOptions) { - if (GetOption("misalign") && TClass::GetClass("AgPosition") ) - gROOT->ProcessLine("AgPosition::SetReal();"); - else if ( TClass::GetClass("AgPosition") ) - gROOT->ProcessLine("AgPosition::SetIdeal();"); - } - - - // force load of geometry for VMC and Sti - - if (GetOption("Sti") || GetOption("StiCA") || - GetOption("Stv") || - GetOption("StiVMC") ||GetOption("VMC") || - GetOption("VMCPassive")) { - const DbAlias_t *DbAlias = GetDbAliases(); - for (Int_t i = 0; DbAlias[i].tag; i++) { - TString dbTag("r"); - dbTag += DbAlias[i].tag; - if (GetOption(dbTag)) { - TString path("./StarDb/AgiGeometry:$STAR/StarDb/AgiGeometry"); - if (GetOption("AgML")) { - path = "./StarDb/AgMLGeometry:$STAR/StarDb/AgMLGeometry"; - } - if (GetOption("VmcGeo")) { - path = "./StarDb/VmcGeo:$STAR/StarDb/VmcGeo"; - } - TString geom("Geometry."); - geom += DbAlias[i].geometry; - geom += ".C"; - Char_t *file = gSystem->Which(path.Data(),geom,kReadPermission); - if (file) { - LOG_INFO << "StBFChain::Init force load of " << file << endm; - TString command = ".L "; command += file; - gInterpreter->ProcessLine(command); - gInterpreter->Calc("CreateTable()"); - command.ReplaceAll(".L ",".U "); - gInterpreter->ProcessLine(command); - delete [] file; - } else { - LOG_INFO << "StBFChain::Init file for geometry tag " << geom << " has not been found in path" << path << endm; - } - break; - } - } - } -#endif - } - return StChain::Init(); -} -//_____________________________________________________________________ -/// Really the destructor (close files, delete pointers etc ...) -Int_t StBFChain::Finish() -{ - TFile *tf = GetTFile(); - if (tf) {tf->Write(); tf->Flush(); tf->Close(); delete tf; SetTFile(0);} - if (!fBFC) return kStOK; - Int_t ians = StChain::Finish(); - SafeDelete(fchainOpt); - fBFC = 0; -// delete gMessMgr; gMessMgr = 0; - return ians; -} - - -//_____________________________________________________________________ -Int_t StBFChain::AddAB (const Char_t *mkname,const StMaker *maker,const Int_t Opt) { - if (! maker || strlen(mkname) == 0) return kStErr; - StMaker *parent = maker->GetParentMaker(); - if (parent) { - TList *list = parent->GetMakeList(); - list->Remove((StMaker *)maker); - } - StMaker *mk = GetMaker(mkname); if (!mk) return kStErr; - parent = mk->GetParentMaker(); if (!parent) return kStErr; - TList *list = parent->GetMakeList(); if (!list) return kStErr; - if (Opt > 0) list->AddAfter (mk,(StMaker*)maker); - else list->AddBefore(mk,(StMaker*)maker); - return kStOk; -} - -//_____________________________________________________________________ -Int_t StBFChain::ParseString (const TString &tChain, TObjArray &Opt, Bool_t Sort) { - Opt.Clear(); - TObjArray *obj = tChain.Tokenize("[^ ;,]+"); - Int_t nParsed = obj->GetEntries(); - Int_t k, N = 0; - if (GetChain() && GetChain()->Debug() > 2) { - gMessMgr->QAInfo() << "ParseString " << tChain.Data() << endm; - for (k = 0; k < nParsed; k++) { - if (obj->At(k)) { - gMessMgr->QAInfo() << k << "\t" << ((TObjString *) obj->At(k))->GetName() << endm; - } - } - } - for (k = 0; k < nParsed; k++) {if (obj->At(k)) {if (k != N) obj->AddAt(obj->At(k),N); N++;}} - nParsed = N; - // sort options - StBFChain *chain = (StBFChain *) StMaker::GetChain(); - if (chain && Sort) {// sort options - TArrayI idT(nParsed); Int_t *idx = idT.GetArray(); - TArrayI kdT(nParsed); Int_t *kdx = kdT.GetArray(); - for (k = 0; k < nParsed; k++) { - TString string = ((TObjString *) obj->At(k))->GetString(); - kdx[k] = TMath::Abs(chain->kOpt(string,kFALSE)); - } - TMath::Sort(nParsed,kdx,idx,0); - TString sChain; - for (k = 0; k < nParsed; k++) { - Opt.AddAtAndExpand(obj->At(idx[k]),k); - if (k == 0) sChain = ((TObjString *)Opt[k])->GetString(); - else {sChain += ","; sChain += ((TObjString *)Opt[k])->GetString();} - } - if (N > 1 && chain->Debug() > 2) { - gMessMgr->QAInfo() << "Requested chain is :\t" << tChain.Data() << endm; - gMessMgr->QAInfo() << "Sorted chain is :\t" << sChain.Data() << endm; - } - } else for (k = 0; k < nParsed; k++) Opt.AddAtAndExpand(obj->At(k),k); - obj->SetOwner(kFALSE); - delete obj; - return nParsed; -} - -//_____________________________________________________________________ -/// Check option if defined (Char_t argument interface) -Int_t StBFChain::kOpt (const Char_t *tag, Bool_t Check) const { - TString Tag(tag); - Int_t kO = kOpt(&Tag, Check); - return kO; -} -//_____________________________________________________________________ -/// Check option if defined. -/*! - This method checks if the options are valid by %comparing them - to the list of declared options. This is called for each option - passed as argument. The real sorting of all options is done in - SetFlags(). -*/ -Int_t StBFChain::kOpt (const TString *tag, Bool_t Check) const { - TString Tag = *tag; - Tag.ToLower(); - TString opt, nopt; - for (Int_t i = 1; i< fNoChainOptions; i++) { - opt = TString(fBFC[i].Key); //check nick name - opt.ToLower(); - nopt = TString("-"); - nopt += opt; - if (Tag == opt) {return i;} - else {if (Tag == nopt) {return -i;}} - opt = fBFC[i].Maker; //check full maker name2 - nopt = "-"; - nopt += opt; - if (Tag == opt) {return i;} - else {if (Tag == nopt) {return -i;}} - } - // - // JL - sdt and dbv for timestamp - // - // Gopt for arbitrary property on 3 letter name (wildcard would be added) and length - // 6 for a value. Not advertized / not used and implementation is not complete (needed - // a case and do not have a clear one). TBD. - // - // 2011/11 added the possibility of detector sub-system specific timestamps. - // DBV only for now, logic is similar if we equally parse. - // - // {sdt|dbv}YYYYMMDD -> {sdt|dbv} 3 / YYYYMMDD 8 => 11 || YYYYMMDD.HHMMSS = 15 => 18 - if (Tag.BeginsWith("dbv") || Tag.BeginsWith("sdt")) { - Check = kTRUE; - - if (Tag.Length() == 11 || Tag.Length() == 18) return 0; - - // Else we need to parse some more - assume a pattern {dbv|sdt}YYYYMMDD[.HHMMSS]_XXX_ZZZZZ - // First, detect it using quick counting - Tag.ToLower(); - if ( TPRegexp(BFC_DBREGEXP).Match(Tag) == 7) return 0; - } - if (Tag.BeginsWith("rung")) { - Check = kTRUE; - return 0; - } - - //FMS gaincorr - if(Tag.BeginsWith("fmsGainCorr")){ - Check = kTRUE; - return 0; - } - - // GoptXXXvvvvvv -> Gopt 4 / XXX 3 / vvvvvv 6 = 13 - if ( Tag.BeginsWith("gopt") && Tag.Length() == 13 ) return 0; - - if ( Tag.BeginsWith("FiltTrg",TString::kIgnoreCase) ) { - Check = kTRUE; - if ( TPRegexp("^FiltTrg(Inc|Exc)?(_.*)*$").Match(Tag,"i") > 0) return 0; - } - if ( Tag.BeginsWith("VFStore",TString::kIgnoreCase) || - Tag.BeginsWith("TpcVpdVzDiffCut",TString::kIgnoreCase) - ) { - // need to match an ":" sign - Check = kTRUE; - if ( Tag.Index(':') != 0) return 0; - } - - - if (Check) { - gMessMgr->Error() << "Option " << Tag.Data() << " has not been recognized" << endm; - abort(); //assert(1); - } - return 0; -} -//_____________________________________________________________________ -void StBFChain::SetOptions(const Char_t *options, const Char_t *chain) { - TString tChain(options); - TObjArray Opts; - Int_t nParsed = ParseString(tChain,Opts,kTRUE); - for (Int_t l = 0; l < nParsed; l++) { - TString Tag = ((TObjString *)Opts[l])->GetString(); - Int_t kgo; - Int_t in = Tag.Index("="); - if (in > 0) {// string with "=" - TString subTag(Tag.Data(),in); - subTag.ToLower(); //printf ("Chain %s\n",tChain.Data()); - kgo = kOpt(subTag.Data()); - if (kgo > 0) { - int len= sizeof(fBFC[kgo].Comment); - memset(fBFC[kgo].Comment,0,len); // be careful size of Comment - TString Comment(Tag.Data()+in+1,Tag.Capacity()-in-1); - if ( Comment.Length() <= len ){ - strncpy (fBFC[kgo].Comment, Comment.Data(),sizeof(fBFC[kgo].Comment)); - gMessMgr->QAInfo() << Form(" Set %s = %s", fBFC[kgo].Key,fBFC[kgo].Comment) << endm; - } else { - gMessMgr->Error() << Form(" Cpy problem [%s] is > %d - adjust BFC Comment field size", - Comment.Data(),len) << endm; - } - } - } else { - Tag.ToLower(); - // printf ("Chain %s\n",tChain.Data()); - kgo = kOpt(Tag.Data(),kFALSE); - if (kgo != 0) { - SetOption(kgo,chain); - if (kgo > 0) { - TString Comment(fBFC[kgo].Comment); - TString Opts(fBFC[kgo].Opts); - if (Tag.BeginsWith("Test.",TString::kIgnoreCase) && ! Comment.BeginsWith("/star/") && - Opts.BeginsWith("test_",TString::kIgnoreCase)) { - SetOptions(Opts,Tag); - } else { - if ((Tag.BeginsWith("Test.",TString::kIgnoreCase) || - Tag.BeginsWith("test_",TString::kIgnoreCase) || - Tag.BeginsWith("eval_",TString::kIgnoreCase)) && Comment.BeginsWith("/star/") ) { - fkChain = kgo; - gMessMgr->QAInfo() << "Default Test chain set " << fBFC[fkChain].Key << " with input " << fBFC[fkChain].Comment << endm; - } - } - } - } else { - // it is 0 i.e. was not recognized. - // Check if it is a (dbv|sdt)YYYYMMDD or (dbv|sdt)YYYYMMDD.HHMMSS and derivative - // We really set the options only once later in SetDbOptions() (removing the fBFC[i].Flag check) - // but the goal here is to avoid user's histeria by displaying extra messages NOW. - // - // Note that kOpt() has already validated the pattern (so it has to be right here). - // - // !!! Debug: dbv20040917 - if (Tag.BeginsWith("dbv")) { - if (Tag.Length() == 11) (void) sscanf(Tag.Data(),"dbv%8d",&FDate); - if (Tag.Length() == 18) (void) sscanf(Tag.Data(),"dbv%8d.%6d",&FDate,&FTime); - if (Tag.Length() == 11 || Tag.Length() == 18) { - gMessMgr->QAInfo() << Tag.Data() << " ... but still will be considered as a dynamic timestamp (Max DB EntryTime) " - << FDate << "." << FTime << endm; -#ifdef USE_BFCTIMESTAMP - } else { - // we passed kOpt() parsing was fine - //if ( TPRegexp(BFC_DBREGEXP).Match(Tag) == 7) return 0; - TObjArray *subStrL = TPRegexp(BFC_DBREGEXP).MatchS(Tag); - BFCTimeStamp TS; - TString realm; - - TS.Type = 1; - TS.Date = (((TObjString *) subStrL->At(2))->GetString()).Atoi(); - TS.Time = 0; // for now, avoid parsing this as user use simple TS 99% of the time - TS.Detector = ((TObjString *) subStrL->At(4))->GetString(); - TS.Realm = ((TObjString *) subStrL->At(6))->GetString(); - - if ( TS.Realm.IsNull() ){ realm = "*";} - else { realm = TS.Realm;} - - GTSOptions.push_back(TS); - - LOG_WARN << "Override timestamp for detector requested\n\t" - << "Detector " << TS.Detector << "\n\t" - << "Realm " << realm << "\n\t" - << "Date " << TS.Date << "\n\t" - << "Time " << TS.Time << endm; -#endif /* USE_BFCTIMESTAMP */ - } - - } else if (Tag.BeginsWith("sdt")) { - if (Tag.Length() == 11) (void) sscanf(Tag.Data(),"sdt%8d",&FDateS); - if (Tag.Length() == 18) (void) sscanf(Tag.Data(),"sdt%8d.%6d",&FDateS,&FTimeS); - if (Tag.Length() == 11 || Tag.Length() == 18) { - gMessMgr->QAInfo() << Tag.Data() << " ... but still will be considered as a dynamic timestamp (Event Time) " - << FDateS << "." << FTimeS << endm; - - // <<< same logic for GTSOptions can be inserted here - // <<< if so, use TS.Type = 2 - } - - } else if ( Tag.BeginsWith("gopt") && Tag.Length() == 13){ - // TODO option best as gopt.$ATTRR.$VAL for arbitrary attribute and value - // parsing to extend - char GOptName[4],GOptValue[7]; - TString property(".gopt."); - //TString pattern("*"); - - (void) sscanf(Tag.Data(),"gopt%3s%6s",GOptName,GOptValue); - // sscanf adds null terminators for %s, so buffers need to be 1 longer - - // see StBFChain::Setup() for default values - property += GOptName; - Gproperty.push_back(property); - Gvalue.push_back(GOptValue); - Gpattern.push_back("*"); - - // JL - this is not finished, see comment in kOpt() - - // pattern is case sensitive, need more checks on this before - // setting to something else than "*" - //Gpattern += GOptName; - //Gpattern += "*"; - - - gMessMgr->QAInfo() << Tag.Data() << " ... this will set an general attribute " - << property.Data() << " with value " << GOptValue << " to " - << "*" << endm; - // Attr() need to be set after the maker exist - //SetAttr(property.Data(),GOptValue,pattern.Data()); - //SetAttr(property.Data(),GOptValue,pattern.Data()); - - } else if (Tag.BeginsWith("rung")) { - fRunG = 1; - if (Tag.Length() > 4) (void) sscanf(Tag.Data(),"rung.%d",&fRunG); - gMessMgr->QAInfo() << Tag.Data() << " will be considered as Run number (& rndm seed set) " - << fRunG << " for simulation." << endm; - - - // JL: super long options I could not accomomodate with gopt (also used ":") - } else if (Tag.BeginsWith("VFStore" ,TString::kIgnoreCase) || - Tag.BeginsWith("TpcVpdVzDiffCut",TString::kIgnoreCase) - ) { - TString VFS = Tag; - Ssiz_t idx = Tag.Index(':'); - - //cout << "-+-+-+- DEBUG -+-+-+- position = " << idx << endl; - - if ( idx != 0){ - // exclude VFStoreX or options not containing "." - Gproperty.push_back(Tag(0,idx)); - Gvalue.push_back(Tag(idx+1,64)); - // can use better patterns VFStore -> mk=StGenericVertexMaker - Gpattern.push_back("*"); - - gMessMgr->QAInfo() << "Detecting " << Tag(0,idx).Data() << " = " << Tag(idx+1,64).Data() << " as global property" << endm; - - // Attr() need to be set after the maker exist - - } - - - } else if (Tag.BeginsWith("FiltTrg",TString::kIgnoreCase)) { - TString filtTrgTag = Tag; - Ssiz_t flavorIdx = Tag.Index('_'); - if (flavorIdx > 0) { - filtTrgTag = Tag(0,flavorIdx); - fFiltTrg = Tag(flavorIdx+1,64); - } - if (filtTrgTag.CompareTo("FiltTrgExc",TString::kIgnoreCase)==0) { - gMessMgr->QAInfo() << "Trigger Filtering exclude with flavor=" << fFiltTrg << endm; - fFiltTrg.Prepend('-'); - } else if (filtTrgTag.CompareTo("FiltTrgInc",TString::kIgnoreCase)==0 || - filtTrgTag.CompareTo("FiltTrg" ,TString::kIgnoreCase)==0) { - gMessMgr->QAInfo() << "Trigger Filtering include with flavor=" << fFiltTrg << endm; - fFiltTrg.Prepend('+'); - } else { - // not a match, disable - fFiltTrg = ""; - } - - } else if (Tag.BeginsWith("fmsGainCorr",TString::kIgnoreCase)) { - fFmsGainCorrTag = Tag; - - } else { // Check for predefined db time stamps ? - kgo = kOpt(Tag.Data(),kFALSE); - if (kgo != 0){ - SetOption(kgo,chain); - } else { - // Check that option can be library name or / and Maker - static const Char_t *path = ".:.$STAR_HOST_SYS/lib::.$STAR_HOST_SYS/LIB:$STAR/.$STAR_HOST_SYS/lib:$STAR/.$STAR_HOST_SYS/LIB"; - TString File = Tag; File += ".so"; - Char_t *file = gSystem->Which(path,File.Data(),kReadPermission); - if (file) { - TString Maker(""); - Bfc_st row = {"","","","","","","",kTRUE}; - memcpy (&row.Key, Tag.Data(), Tag.Length()); - if (Tag.Contains("Maker")) memcpy (&row.Maker, Tag.Data(), Tag.Length()); - memcpy (&row.Libs, Tag.Data(), Tag.Length()); - fchainOpt->AddAt(&row); - fNoChainOptions = fchainOpt->GetNRows(); - fBFC = fchainOpt->GetTable(); - delete [] file; - } - kgo = kOpt(Tag.Data(),kFALSE); - if (kgo != 0) { - SetOption(kgo,chain); - } else { - gMessMgr->QAInfo() << " Invalid Option " << Tag.Data() << ". !! ABORT !! " << endm; - abort(); //assert(1); - return; - } - } - } - } - } - } - Opts.Delete(); -} -//_____________________________________________________________________ -/// Enable/disable valid command line options -void StBFChain::SetOption(const Int_t k, const Char_t *chain) { - if (k > 0) { - assert(k 0) SetOptions(fBFC[k].Opts,fBFC[k].Key); - if (!fBFC[k].Flag) { - fBFC[k].Flag = kTRUE; - gMessMgr->QAInfo() << Form(" Switch On %20s by %s", fBFC[k].Key, chain) << endm; - } - } else { - assert(-kQAInfo() << Form(" Switch Off %20s by %s", fBFC[-k].Key, chain) << endm; - } - } -} - -//_____________________________________________________________________ -/// Returns chain-option state (on/off) -Bool_t StBFChain::GetOption(const Int_t k) const -{ - return (k>0 && k Note : If the requested option is not part of the global BFC[] - * array, the kOpt() method is going to scream at you but it will still - * work. You can ask for that option to be added to the chain official - * options later whenever your code debugging is done. In other words, - * this method allows you to pass ANY options not officially declared - * and use it as test/work-around to pass any parameters to your maker. - * - * However, if the parameters are to be used in production, we DO - * request/require that they are declared as a valid option. - * - * - */ -Char_t *StBFChain::GetOptionString(const Char_t *Opt) -{ - Int_t o = kOpt(Opt); - if(!o) return NULL; - else if(!GetOption(o)) return NULL; - else return(fBFC[o].Comment); -} - - -//_____________________________________________________________________________ -/// Scan all flags, check if they are correct, manipulate the comment if necessary -/*! - This method checks if the options passed are correct and/or sorts out - the extraneous information passed through the comment if applies. Two - special flags exists, that is, dbv and sdt for database interraction ... - - The dbv tag is used to setup the end-time for entries (time after - which any database insertions will be ignored). This is used to provide a - mechanism by which we can run production with a stable set of calibration - constant and still allow for development value insertion to get in. - - The sdt tag is used to setup the database look-up time stamp - that is, on which date to look at the database. This is usefull if we - want to decouple Geant geometry and database calibration constants. - This may also be used to get database values when you do not run over - a raw data file. - - The geometry options are now dynamic. This includes BOTH Y(ear) based - geometries and RY geometry (Real data) options. They are defined now in - StMaker as a static map. - - The GOptXXXvvvvvv options are used to pass an flexible option - value vvvvvv to makers in the chain matching the name XXX. - The three letter acronym will be following the detector sub-systems naming. - If a maker uses such convenience, the basic rule applies: - - the Maker MUST use a centralized conversion function of vvvvvv - to a private structure with explicit naming of each switches - - explaination on usage and the thourough explaination of the meaning - of the values vvvvvv must be clearly added to the documentation - -*/ -void StBFChain::SetFlags(const Char_t *Chain) -{ - TString tChain(Chain); - Int_t mode = 1; - Setup(mode); - Int_t k=0; - if (tChain == "" || tChain.CompareTo("ittf",TString::kIgnoreCase) == 0) { - gMessMgr->QAInfo() << "\tPossible Chain Options are:" << endm; - for (k=0;kQAInfo() - << Form(" %3d: %-30s:%-12s:%-12s:%s:%s:%s:%s" - ,k,fBFC[k].Key,fBFC[k].Name,fBFC[k].Chain,fBFC[k].Opts,fBFC[k].Maker,fBFC[k].Libs,fBFC[k].Comment) - << endm; - - return; - } - TString STAR_VERSION("$STAR_VERSION"); - gSystem->ExpandPathName(STAR_VERSION); - gMessMgr->QAInfo() << "==============================================" << endm; - gMessMgr->QAInfo() << "============= You are in " << STAR_VERSION.Data() << " ===============" << endm; - gMessMgr->QAInfo() << "Requested chain " << GetName() << " is :\t" << tChain.Data() << endm; - SetOptions(tChain,"Chain"); - if (GetOption("NewTpcAlignment")) { - gMessMgr->QAInfo() << "Set environment to use NewTpcAlignment" << endm; - gEnv->SetValue("NewTpcAlignment",1); - } - if (!GetOption("NoDefault")) { // Default - // Check flags consistency - if (gClassTable->GetID("TGiant3") >= 0) { // root4star - SetOption("-VMC","Default,TGiant3"); - SetOption("-VMCPassive","Default,TGiant3"); - SetOption("-VMCAppl","Default,TGiant3"); - SetOption("-RootVMC","Default,TGiant3"); - if (GetOption("xgeometry")) { - SetOption("-geometry","Default,-xgeometry"); - SetOption("-geomNoField","Default,-xgeometry"); - } - } else { // root - if (GetOption("fzin")) { - gMessMgr->Error() << "Option fzin cannot be used in root.exe. Use root4star" << endm; - abort(); - } - if (GetOption("ntin")) { - gMessMgr->Error() << "Option ntin cannot be used in root.exe. Use root4star" << endm; - abort(); - } - if (! (GetOption("Stv"))) { - if (GetOption("gstar") || GetOption("pythia")) { - SetOption("VMC","Default,-TGiant3,gstar"); - SetOption("-gstar","Default,-TGiant3"); - SetOption("-pythia","Default,-TGiant3"); - } - } - SetOption("-geant","Default,-TGiant3"); - SetOption("-geantL","Default,-TGiant3"); - SetOption("-geometry","Default,-TGiant3"); - SetOption("-geomNoField","Default,-TGiant3"); - if (! (GetOption("Stv"))) { - if (! (GetOption("VMC") || GetOption("VMCPassive"))) { - SetOption("VMCPassive","Default,-TGiant3"); - } - SetOption("pgf77","Default,-TGiant3"); - SetOption("mysql","Default,-TGiant3"); - SetOption("StarMiniCern","Default,-TGiant3"); - } - } - if (GetOption("ITTF") && ! (GetOption("Sti") || GetOption("StiCA") || GetOption("Stv") || GetOption("StiVMC"))) { - TString STAR_LEVEL(gSystem->Getenv("STAR_LEVEL")); - if (STAR_LEVEL == ".DEV2") SetOption("StiCA","Default,ITTF"); - else SetOption("Sti" ,"Default,ITTF"); - } - if (GetOption("Stv")) { - SetOption("-TpcIT","Default,Stv"); - SetOption("-SvtIT","Default,Stv"); - SetOption("-SsdIT","Default,Stv"); - SetOption("-HpdIT","Default,Stv"); - SetOption("-BTofIT","Default,Stv"); - SetOption("-PxlIT","Default,Stv"); - SetOption("-IstIT","Default,Stv"); - } - - } - if (!GetOption("Eval") && GetOption("AllEvent")) SetOption("Eval","-Eval,AllEvent"); - // Print set values - St_Bfc *Bfc = new St_Bfc("BFChain",fNoChainOptions); - AddRunco(Bfc); - for (k = 1; kQAInfo() << Form("================== %20s\tis ON \t: %s", - (char *) fBFC[k].Key, (char *) fBFC[k].Comment) << endm; - Bfc->AddAt(&fBFC[k]); - } - } - // gSystem->Exit(1); -} -//_____________________________________________________________________ -void StBFChain::Set_IO_Files (const Char_t *infile, const Char_t *outfile){ - TString gc(""); - if (infile) { - if (strlen(infile) > 2) { - gc = TString(infile,3); - gc.ToLower(); - } - } - SetInputFile(infile); - if (! GetOption("NoOutput")) SetOutputFile(outfile); -} -//_____________________________________________________________________ -void StBFChain::SetInputFile (const Char_t *infile){ - // define input file - if (infile) fInFile = infile; - if (fInFile != "") { - fInFile.ReplaceAll("\n",";"); - fInFile.ReplaceAll("#",";"); - fInFile.ReplaceAll(":",";"); - gMessMgr->QAInfo() << "Input file name = " << fInFile.Data() << endm; - } else { - if (fkChain >= 0) { - fInFile = fBFC[fkChain].Comment; - fInFile.ReplaceAll("\n",";"); - gMessMgr->QAInfo() << "Default Input file name = " << fInFile.Data() << " for chain : " << fBFC[fkChain].Key << endm; - } - } - if (fInFile == "") {SetOption("-in","No Input File"); SetOption("-InTree","NoInput File"); return;} - if (!GetOption("fzin") && !GetOption("ntin")) { - fSetFiles= new StFile(); - TObjArray Files; - ParseString(fInFile,Files); - TIter next(&Files); - TObjString *File; - while ((File = (TObjString *) next())) { - TString string = File->GetString(); - if (!string.Contains("*") && ! string.BeginsWith("@") && - gSystem->AccessPathName(string.Data())) {// file does not exist - gMessMgr->Error() << "StBFChain::SetInputFile *** NO FILE: " << string.Data() << ", exit!" << endm; - gSystem->Exit(1); - } - else fSetFiles->AddFile(File->String().Data()); - } - Files.Delete(); - } -} -//_____________________________________________________________________ -/// Takes care of output file name (extension) -void StBFChain::SetOutputFile (const Char_t *outfile){ - if (! GetOption("NoOutput")) { - if (outfile) { - fFileOut = outfile; - } else { - if (fInFile != "") { - if (GetOption("fzin") || GetOption("ntin")) { - TObjArray words; - ParseString(fInFile,words); - TIter nextL(&words); - TObjString *word = 0; - while ((word = (TObjString *) nextL())) { - if (word->GetString().Contains(".fz") || - word->GetString().Contains(".nt")) { - fFileOut = gSystem->BaseName(word->GetName()); - break; - } - } - } else { - fFileOut = gSystem->BaseName(fInFile.Data()); - if (GetOption("shadow")) { - TObjArray* fileOutTokens = fFileOut.Tokenize("_."); - TString& runToken = ((TObjString*) (fileOutTokens->At(2)))->String(); - TString& seqToken = ((TObjString*) (fileOutTokens->At(4)))->String(); - if (!(runToken.CompareTo("adc"))) { - runToken = ((TObjString*) (fileOutTokens->At(3)))->String(); - seqToken = ((TObjString*) (fileOutTokens->At(5)))->String(); - } - if (!(runToken.IsDigit())) { - LOG_ERROR << "Unable to locate run number in filename for shadowing." << endm; - } else { - fFileOut.ReplaceAll(runToken,Form("%d", - StShadowMaker::getRunNumber(runToken.Atoi()))); - } - if (!(seqToken.IsDigit())) { - LOG_ERROR << "Unable to locate file sequence number in filename for shadowing." << endm; - } else { - fFileOut.ReplaceAll(seqToken,Form("%07d", - StShadowMaker::getFileSeq(seqToken.Atoi()))); - } - delete fileOutTokens; - } - } - } - if (fFileOut == "") { - if (GetOption("pythia")) fFileOut = "pythia.root"; - else if (GetOption("hijing")) fFileOut = "hijing.root"; - else if (GetOption("VMC")) fFileOut = "VMC.root"; - else if (GetOption("gstar")) fFileOut = "gtrack.root"; - } - if ( fFileOut != "") { - fFileOut.ReplaceAll("*",""); - fFileOut.ReplaceAll("@",""); - fFileOut.ReplaceAll("..","."); - fFileOut.ReplaceAll(".daq",""); - fFileOut.ReplaceAll(".fzd",""); - fFileOut.ReplaceAll(".fz",""); - fFileOut.ReplaceAll(".nt",""); - fFileOut.ReplaceAll(".root",""); - fFileOut.ReplaceAll(".list",""); - fFileOut.ReplaceAll(".lis",""); - fFileOut.Strip(); - fFileOut.Append(".root"); - } - } - } - if (fFileOut != "") gMessMgr->QAInfo() << "Output root file name " << fFileOut.Data() << endm; - else SetOption("NoOutput","No Output File"); - if (!GetTFile()) { - if ( ( GetOption("tags") || GetOption("lana") ) && (fFileOut != "") ){ - TString TagsName = fFileOut; - if( GetOption("lana") ){ - TagsName.ReplaceAll(".root",".laser.root"); - } else if ( GetOption("mtdEvtFilt") ){ - TagsName.ReplaceAll(".root",".pretags.root"); - } else { - TagsName.ReplaceAll(".root",".tags.root"); - } - SetTFile(new TFile(TagsName.Data(),"RECREATE")); - } - } -} -//_____________________________________________________________________ -/// Handles all geant options -/*! - This method sets the Geant options that is the Geometry loading - part. Depends on St_geant_Maker instantiated in the Instantiate() - method. - Please, change SetDbOptions() -*/ -void StBFChain::SetGeantOptions(StMaker *geantMk){ - if (geantMk && geantMk->InheritsFrom("St_geant_Maker")) { - SetInput("geant",".make/geant/.data"); - TString GeomVersion(""); - if (fRunG > 0) { - geantMk->SetAttr("RunG",fRunG); - } - if (!GetOption("fzin") || GetOption("ForceGeometry")) { - GeomVersion = "y2004x"; - const DbAlias_t *DbAlias = GetDbAliases(); - Int_t found = 0; - for (Int_t i = 0; DbAlias[i].tag; i++) { - TString r("r"); - r += DbAlias[i].tag; - if ( !GetOption(DbAlias[i].tag,kFALSE) && !GetOption(r,kFALSE)) continue; - GeomVersion = DbAlias[i].geometry; - found = i; - break; - } - if (! found) gMessMgr->QAInfo() << "StBFChain::SetGeantOptions() Chain has not found geometry tag. Use " << GeomVersion << endm; - TString GeometryOpt; - if (GetOption("phys_off")) {GeometryOpt += "detp phys_off=1;"; geantMk->SetAttr("phys_off",kTRUE);} - if (GetOption("hadr_off")) {GeometryOpt += "detp hadr_off=1;"; geantMk->SetAttr("hadr_off",kTRUE);} - GeometryOpt += ("detp geometry "); - GeometryOpt += GeomVersion; - ProcessLine(Form("((St_geant_Maker *) %p)->LoadGeometry(\"%s\");",geantMk,GeometryOpt.Data())); - } - if ((GetOption("fzin") || GetOption("ntin") || GetOption("mtin") || fInFile.Data()[0] == ';') && fInFile != "") - ProcessLine(Form("((St_geant_Maker *) %p)->SetInputFile(\"%s\")",geantMk,fInFile.Data())); - } -} -//_____________________________________________________________________ -/// Treats the DbV options used for database timestamp. -/*! - Re-scan all options and search for dbv options. This method also sorts - out the string-based database timestamp for reconstruction. Those have - to be in phase with the geant geometry (see SetGeantOptions()) if - simulation is being reconstructed. - - The order matters since a later option would overwrite an earlier one. - The mechanism introduced for a dynamic (i.e. not pre-defined) timestamp is that - it will be used ONLY if there are no other timestamp options. - Be aware of this precedence ... - -*/ -void StBFChain::SetDbOptions(StMaker *mk){ - if (! mk ) return; - if (GetOption("Agi")) mk->SetAlias("VmcGeometry","db/.const/StarDb/AgiGeometry"); - else if (GetOption("AgML") ) mk->SetAlias("VmcGeometry","db/.const/StarDb/AgMLGeometry"); - else if (GetOption("VmcGeo")) mk->SetAlias("VmcGeometry","db/.const/StarDb/VmcGeo"); - else mk->SetAlias("VmcGeometry","db/.const/StarDb/AgiGeometry"); - Int_t i; - Int_t Idate=0,Itime=0; - - // First possibility - for (i = 1; i < fNoChainOptions; i++) { - if (fBFC[i].Flag && !strncmp(fBFC[i].Key ,"DbV",3)){ - // JL - we use to set timestamp as a chain option (any) starting with dbv and followed - // by an arbitrary set of numbers. The real stamp was taken from the comment. - // This supports this old mode. - gMessMgr->QAInfo() << "StBFChain::SetDbOptions Found time-stamp " << fBFC[i].Key << " [" << fBFC[i].Comment << "]" << endm; - (void) sscanf(fBFC[i].Comment,"%d/%d",&Idate,&Itime); - } - } - - // If FDate is set and we do not have the old mode, then a dynamic timestamp was used - // Overwrite - if( ! Idate && FDate){ - gMessMgr->QAInfo() << "StBFChain::SetDbOptions Switching to user chosen dynamic time-stamp (MaxEntry) " - << FDate << " " << FTime << endm; - gMessMgr->QAInfo() << "Chain may crash if time-stamp is not validated by db interface" << endm; - - Idate = FDate; - Itime = FTime; - } - - St_db_Maker *db = (St_db_Maker *) mk; - // Startup date over-write - if (FDateS){ - gMessMgr->QAInfo() << "StBFChain::SetDbOptions Switching to user chosen dynamic time-stamp (Start)" - << FDateS << " " << FTimeS << endm; - gMessMgr->QAInfo() << "Chain may crash if time-stamp is not validated by db interface" << endm; - - db->SetDateTime(FDateS,FTimeS); - } else { - if (GetOption("simu")) { - const DbAlias_t *DbAlias = GetDbAliases(); - Int_t found = 0; - for (Int_t i = 0; DbAlias[i].tag; i++) { - if (GetOption(DbAlias[i].tag,kFALSE)) { - db->SetDateTime(DbAlias[i].tag); - found = i; - break; - } - } - if (! found) {gMessMgr->QAInfo() << "StBFChain::SetDbOptions() Chain has not set a time-stamp" << endm;} - // Show date settings - gMessMgr->QAInfo() << db->GetName() - << " Maker set time = " - << db->GetDateTime().GetDate() << "." - << db->GetDateTime().GetTime() << endm; - if (GetOption("SIMU") && m_EvtHddr) { - gMessMgr->QAInfo() << GetName() << " Chain set time from " << db->GetName() << endm; - m_EvtHddr->SetDateTime(db->GetDateTime()); - } - } - } - - // MaxEntry over-write - default and global for all realm and detectors - if (Idate) { - db->SetMaxEntryTime(Idate,Itime); - gMessMgr->Info() << "\tSet DataBase max entry time " << Idate << "/" << Itime - << " for St_db_Maker(\"" << db->GetName() <<"\")" << endm; - } -#ifdef USE_BFCTIMESTAMP - // - // Now treat the detector specific options - // - TString realm; - for (UInt_t i = 0; i < GTSOptions.size() ; i++){ - if ( (GTSOptions[i].Realm).IsNull() ){ realm = "*";} - else { realm = GTSOptions[i].Realm;} - - //LOG_INFO << "DEBUG MORE [" << (GTSOptions[i].Realm).Data() << "]" << endm; - //LOG_INFO << "DEBUG MORE [" << realm.Data() << "]" << endm; - - if ( GTSOptions[i].Type == 1){ - db->AddMaxEntryTimeOverride(GTSOptions[i].Date,0, - (char *) realm.Data(), - (char *) GTSOptions[i].Detector.Data()); - - LOG_INFO << "Recovering override stamp " << i << " :: " - << GTSOptions[i].Detector << ", " << realm << ", " - << GTSOptions[i].Date << ", " << GTSOptions[i].Time << endm; - } else { - LOG_WARN << "Found override type " << GTSOptions[i].Type << " no treated yet" - << GTSOptions[i].Detector << ", " << realm << ", " - << GTSOptions[i].Date << ", " << GTSOptions[i].Time << endm; - } - } - - //abort(); -#endif /* USE_BFCTIMESTAMP */ - - if (!GetOption("fzin")) { - struct Field_t { - const Char_t *name; - Float_t scale; - }; - Field_t FieldOptions[5] = { - {"FullMagFNegative", -1.0}, - {"FullMagFPositive", 1.0}, - {"HalfMagFNegative", -0.5}, - {"HalfMagFPositive", 0.5}, - {"ZeroMagF", 0.0} - }; - Int_t k = -1; - if (GetOption("FieldON")) { - if (GetOption("ReverseField")) k = 0; - else k = 1; - } else if (GetOption("HalfField")) { - if (GetOption("ReverseField")) k = 2; - else k = 3; - } else if (GetOption("FieldOff")) k = 4; - if (k >= 0) { - SetFlavor(FieldOptions[k].name, "MagFactor"); - gMessMgr->QAInfo() << "StBFChain::SetDbOptions SetFlavor(\"" << FieldOptions[k].name - << "\",\"MagFactor\")" << endm; - if ( gClassTable->GetID("StarMagField") >= 0) { - TString cmd = - Form("if (!StarMagField::Instance()) new StarMagField( 2, %f, kTRUE);", - FieldOptions[k].scale); - ProcessLine(cmd); - } - } - } - if (this == GetTopChain()) { - // Db blacklist (remove black listed system from St_Db_Maker Calibrations configuration) - if (! GetOption("TpcDb") ) {mk->SetAttr("blacklist", "tpc"); gMessMgr->QAInfo() << "blacklist tpc" << endm;} - if (!(GetOption("SvtDb")||GetOption("SvtCalDb"))) {mk->SetAttr("blacklist", "svt"); gMessMgr->QAInfo() << "blacklist svt" << endm;} - if (!(GetOption("SsdDb")||GetOption("SsdCalDb"))) {mk->SetAttr("blacklist", "ssd"); gMessMgr->QAInfo() << "blacklist ssd" << endm;} - if (!(GetOption("SstDb")||GetOption("SstCalDb"))) {mk->SetAttr("blacklist", "sst"); gMessMgr->QAInfo() << "blacklist sst" << endm;} - if (! GetOption("EemcDb") ) {mk->SetAttr("blacklist", "eemc"); gMessMgr->QAInfo() << "blacklist eemc"<< endm;} - if (! GetOption("FmsDb") ) {mk->SetAttr("blacklist", "fms"); gMessMgr->QAInfo() << "blacklist fms" << endm;} - } else {// for Embedding chain trigger black list by NoSsdIT and NoSvtIT, could be some problems if you try to run svt or ssd clusters, ... - if (GetOption("NoSvtIt")) {mk->SetAttr("blacklist", "svt"); gMessMgr->QAInfo() << "blacklist svt" << endm;} - if (GetOption("NoSsdIt")) {mk->SetAttr("blacklist", "ssd"); gMessMgr->QAInfo() << "blacklist ssd" << endm;} - if (GetOption("NoSstIt")) {mk->SetAttr("blacklist", "sst"); gMessMgr->QAInfo() << "blacklist sst" << endm;} - } -} -//_____________________________________________________________________ -/// Creates output-tree branches -void StBFChain::SetTreeOptions() -{ - - StTreeMaker *treeMk = (StTreeMaker *) GetMaker("outputStream"); - if (!treeMk) return; - if (GetOption("EvOut")){ - gMessMgr->QAInfo() << "Will Write StEvent out, treeMk->GetFile() = " << treeMk->GetFile() << endm; - treeMk->IntoBranch("eventBranch","StEvent"); - if (GetOption("EvOutOnly")) return; - } - if (! GetOption("nohistos")) treeMk->SetBranch("histBranch"); - if (! GetOption("norunco")) treeMk->SetBranch("runcoBranch"); - if (GetOption("McEvent") && GetOption("McEvOut")){ - gMessMgr->QAInfo() << "Will Write StMcEvent out, treeMk->GetFile() = " << treeMk->GetFile() << endm; - treeMk->IntoBranch("McEventBranch","StMcEvent"); - } - if (GetOption("GeantOut")) treeMk->IntoBranch("geantBranch","geant"); - if (GetOption("AllEvent")) { - if (GetOption("fzin") || - GetOption("ntin") || - GetOption("gstar") || - GetOption("pythia") || - GetOption("VMC") || - GetOption("PrepEmbed")) { - treeMk->IntoBranch("geantBranch","geant"); - treeMk->IntoBranch("geantBranch","geant/.data/particle"); - treeMk->IntoBranch("geantBranch","geant/.data/g2t_rch_hit"); - } - } -} -//________________________________________________________________________________ -Long_t StBFChain::ProcessLine(const char *line) { - if (! line || !strlen(line)) return -1; - if (Debug()) gMessMgr->QAInfo() << "ProcessLine " << line << endm; - TInterpreter::EErrorCode error = TInterpreter::kNoError; - Long_t res = gInterpreter->ProcessLine(line, &error); - if (error != TInterpreter::kNoError) { - gMessMgr->Error() << "StBFChain::ProcessLine command:" << line << " has failed. Quit job." << endm; - gSystem->Exit(1); - } - return res; -} -//________________________________________________________________________________ -TString StBFChain::GetGeometry() const -{ - Int_t n = fchainOpt->GetNRows(); - for (Int_t i=0;iGetTable()[i].Flag) continue; - TString k(fchainOpt->GetTable()[i].Key); - k.ToLower(); - if (k[0]!='y') continue; - if (k[1]!='2') continue; - if (k[2] <'0' || k[2]>'9') continue; - if (k[3] <'0' || k[3]>'9') continue; - if (k[4] <'0' || k[4]>'9') continue; - return k; - } - return TString(""); -} diff --git a/StRoot/StBFChain/doc/index.html b/StRoot/StBFChain/doc/index.html deleted file mode 100644 index 390b490e952..00000000000 --- a/StRoot/StBFChain/doc/index.html +++ /dev/null @@ -1,2229 +0,0 @@ -BFChain Options - - - -

    BFChain Options

    -
  • Block 0 - -
  • Block 1 - - -


    Options for Block 0

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    KeyNameChainOpts MakerLibsComment
    TIME STAMPS
    RY2008  db detDb NosvtIT NossdIT   y2008 for dAu run
    RY2009  db detDb NosvtIT NossdIT   y2009 for p+p run
    ForceGeometry      Force geometry to overwrite the geometry coming from fz-file
    Valid Db
    NoDb  -db -tpcDb -magF   Take out Db from Chain
    DbV  db ry1h   19940614/0 Db Version for none
    DbV0614  db ry1h   20000614/0 Db Version for p00hd
    DbV0624  db ry1h   20000624/0 Db Version for p00hd_1
    DbV0713  db ry1h   20000713/0 Db Version for p00he
    DbV0727  db ry1h   20000727/0 Db Version for p00he
    DbV0819  db ry1h   20000819/0 Db Version for p00hg
    DbV1123  db ry1h   20001123/0 Db wo TpcDriftVel. from StTpcT0Maker
    DbV0523  db ry1h   20010523/0 Db Version for p01he
    DbV1007  db ry1h   20011007/0 Db Version for p01hi
    DbV1107  db ry1h   20011107/0 Db Version for pass1 p01gk
    DbV1211  db ry1h   20011211/0 Db Version for prod p01gl
    geometry     geometrygeometry+Mag.Field
    ideal      Ideal Alignment
    misalign     -AgMLidealMisaligned Geometry
    AgMLutil     StarAgmlUtilAgML support
    AgMLlib     StarAgmlUtil StarAgmlLibAgML support
    AgML  AgMLlib -Agi -VmcGeo  Geometry StarGeometryAlias VmcGeometry to AgiLGeometry
    Agi  -VmcGeo   Alias VmcGeometry to AgiGeometry (gstar original geometry)
    VmcGeo  -AgML -Agi   Alias VmcGeometry to VmcGeo
    Trigger Type
    Physics      WARNING *** Option is OBSOLETE ***
    LaserTest      WARNING *** Option is OBSOLETE ***
    PulserSvt      WARNING *** Option is OBSOLETE ***
    alltrigger      WARNING *** Option is OBSOLETE ***
    phys_off      Turn off physics in simulation
    hadr_off      Turn off hadronic interactions in simulation
    C H A I N S
    Calibration chains
    LanaDV  LanaDVtpx   get LDV
    LanaDVtpx  MakeEvent trgd in tpx TpcHitMover LaserIT VFMinuit Lana Analysis Corr4 NosvtIT NossdIT   get LDV with TPX
    LaserDV.Chain  in LaserCal fcf TpcHitMover OGridLeak3D OShortR OSpaceZ2   get LDV
    Test.default.ITTF  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent genvtx miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.default.y2005g.ITTF  Test.default.ITTF sdt20050130 noSimuDb    
    Test.default.y2007g.ITTF  Test.default.ITTF sdt20070322 noSimuDb    
    Test.fast.y2005g.ITTF  Test.fast.ITTF sdt20050130 noSimuDb    
    Test.reco.StiVMC  MakeEvent tpcI tcl ftpc SvtCL Test.StiVMC    
    Test.default.StiVMC  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.StiVMC  TpcRS StiVMC event analysis tags EvOut StarMagField FieldOn Idst CMuDst    
    Test.VeryFast.StiVMC  TpcFastSim Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT StiVMC Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.fast.StiVMC  tfs Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb StiVMC Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.fast.y2007g.ITTF  Test.fast.ITTF sdt20070322 noSimuDb    
    Test.VeryFast.y2005g.ITTF  Test.VeryFast.ITTF sdt20050130 noSimuDb    
    Test.VeryFast.y2007g.ITTF  Test.VeryFast.ITTF sdt20070322 noSimuDb    
    Test.default.StiVMC  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.y2009.ITTF  Test.default.ITTF y2009 TpcRS sdt20090428.141700    
    Test.y2009.StiVMC  Test.default.StiVMC y2009 TpcRS sdt20090428.141700 noSimuDb    
    Test.fast.y2005g.StiVMC  Test.fast.StiVMC sdt20050130 noSimuDb    
    Test.VeryFast.y2005g.StiVMC  Test.VeryFast.StiVMC sdt20050130 noSimuDb    
    Test.VeryFast.y2007g.StiVMC  Test.VeryFast.StiVMC sdt20070322 noSimuDb    
    Test.default.Fast.ITTF  tfs sfs ssdFast IdTruth MakeEvent miniMcMk Test.ITTF    
    Test.srs.ITTF  TpcRS Simu srs svt ssd fss bbcSim emcY2 McEvOut GeantOut IdTruth miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.ITTF  svtIT ssdIT ITTF event analysis EventQA tags EvOut StarMagField FieldOn IDST CMuDst analysis  
    Test.reco.ITTF  MakeEvent tpcI tcl ftpc SvtCL Test.ITTF    
    Test.fast.ITTF  tfs Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT ITTF Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.VeryFast.ITTF  TpcFastSim Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT ITTF Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    nightly test (dev) chains
    McMcChainMcEventsim_T globT McAss McAna StMakerStChain 
    MC.y2000  trs rrs y1h Idst rich IAna l0 tpcI tpxClu NosvtIT NossdIT -Kink2 VFMinuit geant evout IdTruth tags GeantOut big    
    MC.y2001  trs fss rrs y2001n Idst rich IAna l0 tpcI tpxClu ftpc -Kink2 VFMinuit geant evout IdTruth tags emcY2 GeantOut big    
    MC.pp.y2001  trs rrs fss y2001n Idst rich IAna l0 tpcI tpxClu ftpc -Kink2 VFMinuit geant evout IdTruth tags emcY2 MiniMcMk GeantOut big    
    MC.y2003  trs fss y2003 Idst IAna l0 tpcI tpxClu ftpc VFMinuit bbcSim tofsim tags emcY2 evout IdTruth geantout    
    MC.y2004  trs srs fss y2004 Idst BAna l0 tpcI tpxClu ftpc VFMinuit SvtIt geant evout tags bbcSim tofsim emcY2 EEfs GeantOut big    
    MC.y2004a  trs srs fss y2004a Idst BAna l0 tpcI tpxClu ftpc VFMinuit SvtIT geant tags bbcSim tofsim emcY2 EEfs evout GeantOut big  
    MC.y2005  trs srs fss ssd y2005x Idst IAna l0 tpcI tpxClu ftpc SvtCL svtDb SsdIt SvtIt VFMinuit geant evout tags bbcSim tofsim emcY2 EEfs GeantOut big    
    MC.y2006  trs fss y2006h Idst IAna l0 tpcI tpxClu ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.y2007  trs srs ssd fss y2007 Idst BAna tpcI tpxClu ftpc SvtIt SsdIt VFMinuit MakeEvent IdTruth geant tags bbcSim tofsim emcY2 EEfs evout GeantOut big    
    MC.y2008  trs fss y2008a Idst IAna tpcI tpxClu ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.in.y2008  in y2008e FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.in.y2009  in y2009c FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2009  TpcRS TpxClu fss y2009 Idst IAna tpcI ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.y2009a  TpcRS TpxClu fss y2009a Idst IAna tpcI ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2010a  TpcRS TpxClu y2010a MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2010  TpcRS TpxClu y2010 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.fast.pp.y2011  y2011 Test.default.Fast.ITTF bbcSim btofsim btofMatch emcY2 emcSim EEfs NosvtIT NossdIT -sfs -ssdFast VFPPVnoCTB beamline    
    MC.in.y2010  in y2010c FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2011  TpcRS TpxClu y2011 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big  
    MC.fast.y2011  y2011 Test.default.Fast.ITTF NosvtIT NossdIT -sfs -ssdFast VFPPVnoCTB beamline emcy2    
    MC.in.y2011  in y2011 FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2012  TpcRS TpxClu y2012 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2012a  TpcRS TpxClu y2012a MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2012.eval  in y2012 FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll  
    MC.y2013  TpcRS TpxClu y2013_1x useXgeom MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2014  TpcRS TpxClu y2014 useXgeom MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    RC
    RC.y2000  p2000 VFMinuit CMuDst NosvtIT NossdIT    
    RC.y2001  P2001a VFMinuit ZDCvtx CMuDst NosvtIT NossdIT    
    RC.pp.y2001  pp2001a VFMinuit CMuDst NossdIT    
    RC.pp.y2001.ppv  pp2001a VFPPV beamLine CMuDst NossdIT    
    RC.y2003  DbV20040520 dau2003i in -SvtIT NossdIT    
    RC.pp.y2003.VFPPV  pp2003 VFPPV beamLine CMuDst -svtIT NossdIT Corr2 v0 xi    
    RC.y2004  P2004 DbV20041213    
    RC.y2004.NoSvt  P2004 DbV20041213 -SsdIt -SvtIt pmdRaw    
    RC.y2004.NoSvt.pmd  P2004 DbV20041213 pmdRaw -SvtIT -SsdIT    
    RC.pp.y2004  pp2004 DbV20041213 beamLine    
    RC.y2005  P2005 tofDat MakeEvent ssddat sptd SsdIt SvtIt pmdRaw OShortR OSpaceZ2    
    RC.pp.y2005  pp2005a tofdat OSpaceZ2 OGridLeak3D    
    RC.pp.y2006  pp2006b OSpaceZ2 OGridLeak3D    
    RC.y2007  DbV20080418 B2007g IAna KeepSvtHit hitfilt VFMinuit3 emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2007.NoSvt  DbV20080418 B2007g IAna KeepSvtHit hitfilt VFMinuit3 emcDY2 ftpc trgd ZDCvtx Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2008  DbV20080712 P2008 OSpaceZ2 OGridLeak3D beamLine    
    RC.y2008.notof  DbV20080712 P2008 -ToF -tofDat -tofrMatch -tofpMatch -tofCalib OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2008  DbV20080712 pp2008 OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2008.Minuit  DbV20080712 pp2008 -VFPPV VFMinuit -ToF -tofDat -tofrMatch -tofpMatch -tofCalib OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2009  pp2009c VFMinuit beamLine BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2009.notof  pp2009c VFMinuit beamLine BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2009.VFPP  pp2009c VFPPVnoCTB beamLine BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2010  P2010a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D pmdReco    
    RC.y2010.notof  P2010a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2011.VFPPV  pp2011a VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2011  pp2011a VFMinuit beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.y2011  P2011a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt pmdReco mtdDat    
    RC.y2011.notof  P2011a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt pmdReco mtdDat    
    RC.y2012  P2012a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.y2012.notof  P2012a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012  pp2012a VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.pp.y2012.notof  pp2012a VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012.notofMin  pp2012a VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.y2012b  P2012b BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.y2012b.notof  P2012b BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012b  pp2012b VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.pp.y2012b.notof  pp2012b VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2012b.notofMin  pp2012b VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2012b.notofMin  pp2012b VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2013  pp2013a mtd btof fmsDat fgt fgtPoint VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.y2014  P2014a mtd btof BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    MC nightlies and Eval--      
    test_MC.stan.y2000  MC.y2000 Sti fzin MiniMcMk   /star/rcf/simu/cocktail/hadronic/default/standard/year_1h/half_field/hadronic_on/Gstardata/hc_standard.40_evts.fz
    test_MC.pp.y2001  MC.pp.y2001 Sti fzin MiniMcMk   /star/rcf/simu/pp200/pythia/default/minbias/year2001/hadronic_on/gstardata/pds0200_04_12812evts.fzd
    test_MC.stan.y2001  MC.y2001 Sti fzin MiniMcMk   /star/rcf/simu/cocktail/hadronic/default/standard/year2001/hadronic_on/Gstardata/hc_standard.40_evts.fz
    test_dau.MC.y2003  MC.y2003 Sti fzin MiniMcMk   /star/rcf/simu/rcf1197_05_5940evts.fzd
    test_auauCtr.MC.y2004  MC.y2004a Sti fzin MiniMcMk   /star/rcf/simu/rcf1209_05_80evts.fzd
    test_auau.MC.y2004  MC.y2004 Sti fzin MiniMcMk   /star/rcf/simu/rcf1207_01_225evts.fzd
    test_cucu200.MC.y2005  MC.y2005 Sti fzin MiniMcMk   /star/rcf/simu/rcf1216_05_200evts.fzd
    test_cucu62.MC.y2005  MC.y2005 Sti fzin MiniMcMk   /star/rcf/simu/rcf1237_01_500evts.fzd
    test_pp200.MC.y2006  MC.y2006 Sti fzin MiniMcMk   /star/rcf/simu/rcf9991_01_1000evts.fzd
    test_auau200.MC.y2007  MC.y2007 Sti fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    test_dau200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    test_pp200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    test_pp200.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    test_pp500.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    test_auau11.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    test_auau200.MC.y2010  MC.y2010 Sti fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    test_auau39.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    test_auau62.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    test_auau7.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    test_auau200.MC.y2011  MC.y2011 Sti fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    test_pp500.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    test_pp500.pileup.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    test_CuAu200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    test_CuAu200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    test_pp200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    test_pp200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    test_pp500.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    test_pp500.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    test_UU200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    test_UU200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    test.RC.centr.y2000  RC.y2000 Sti   /star/rcf/test/daq/2000/09/st_physics_1248022_raw_0001.daq
    test.RC.minb.y2000  RC.y2000 Sti   /star/rcf/test/daq/2000/08/st_physics_1229021_raw_0003.daq
    test.RC.cent.y2001d  RC.y2001 v02 xi2 Sti   /star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq
    test.RC.cent.y2001  RC.y2001 v0 xi Sti   /star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq
    test.RC.minb.y2001d  RC.y2001 v02 xi2 Sti   /star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq
    test.RC.minb.y2001  RC.y2001 v0 xi Sti   /star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq
    test.RC.pp.y2001d  RC.pp.y2001 v02 xi2 Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.pp.y2001  RC.pp.y2001.ppv v0 xi Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.pp.y2001_vfppvd  RC.pp.y2001.ppv v02 xi2 Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.dau.y2003  RC.y2003 ITTF Sti   /star/rcf/test/daq/2003/041/st_physics_4041002_raw_0020001.daq
    test.RC.pp.y2003  RC.pp.y2003.VFPPV Sti   /star/rcf/test/daq/2003/095/st_physics_4095050_raw_0010002.daq
    test.RC.auau.lo.y2004  RC.y2004 -SvtIT -SsdIT pmdRaw ITTF Sti   /star/rcf/test/daq/2004/044/st_physics_5044116_raw_3010002.daq
    test.RC.auau.ph.y2004  RC.y2004 pmdRaw -SvtIT -SsdIT ITTF Sti   /star/rcf/test/daq/2004/044/st_physics_5044102_raw_1010003.daq
    test.RC.auau.StiCA.y2004  RC.y2004 -SsdIt -SvtIt pmdRaw StiCA   /star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq
    test.RC.auau.y2004  RC.y2004 -SsdIt -SvtIt pmdRaw ITTF Sti   /star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq
    test.RC.pp.y2004  RC.pp.y2004 ITTF Sti   /star/rcf/test/daq/2004/134/st_physics_5134013_raw_2010010.daq
    test.RC.cucu200.ht.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/054/st_physics_6054016_raw_1020005.daq
    test.RC.cucu200.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/048/st_physics_6048025_raw_1020002.daq
    test.RC.cucu22.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/083/st_physics_6083006_raw_1040002.daq
    test.RC.cucu62.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/080/st_physics_6080011_raw_1020004.daq
    test.RC.pp200.y2005  RC.pp.y2005 ITTF Sti   /star/rcf/test/daq/2005/171/st_physics_6171062_raw_2040010.daq
    test.RC.pp200.Long.y2006  RC.pp.y2006 ITTF Sti   /star/rcf/test/daq/2006/155/7155010/st_physics_7155010_raw_1020003.daq
    test.RC.pp200.Trans.y2006  RC.pp.y2006 ITTF Sti   /star/rcf/test/daq/2006/129/7129023/st_physics_7129023_raw_1020003.daq
    test.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    test.RC.auau200.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq
    test.RC.dau200.y2008  RC.y2008 ITTF Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    test.RC.pp200.y2008  RC.pp.y2008 ITTF Sti   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    test.RC.pp200.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    test.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    test.RC.auau11.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    test.RC.auau200.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    test.RC.auau39.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    test.RC.auau62.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    test.RC.auau7.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/143/st_physics_11143043_raw_1020001.daq
    test.RC.auau200.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    test.RC.auau20.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    test.RC.auau27.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    test.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    test.RC.cuAu200.AgML.y2012  RC.y2012b AgML Sti   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    test.RC.cuAu200.y2012  RC.y2012b Sti   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    test.RC.pp200.AgML.y2012  RC.pp.y2012b AgML Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    test.RC.pp200.y2012  RC.pp.y2012b Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    test.RC.pp500.AgML.y2012  RC.pp.y2012b AgML Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    test.RC.pp500.y2012  RC.pp.y2012b Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    test.RC.UU193.AgML.y2012  RC.y2012b AgML Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    test.RC.UU193.y2012  RC.y2012b Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    test.RC.pp500.y2013  RC.pp.y2013 Sti   /star/rcf/test/daq/2013/079/st_physics_14079008_raw_1920004.daq
    test.RC.AuAu15.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/069/st_physics_15069008_raw_2500008.daq
    test.RC.AuAu200.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/086/st_physics_15086051_raw_2500017.daq
    test.RC.AuAu200.mid.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/146/st_mtd_15146050_raw_1000030.daq
    test.RC.He3Au200.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/171/st_physics_15171039_raw_2000008.daq
    eval_Sti_auau200.MC.y2007  MC.y2007 Sti fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    eval_StiCA_auau200.MC.y2007  MC.y2007 StiCA fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    eval_Sti.AgML_dau200.MC.y2008  MC.y2008 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_Sti.AgML_pp200.MC.y2008  MC.y2008 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_StiCA_dau200.MC.y2008  MC.y2008 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_StiCA_pp200.MC.y2008  MC.y2008 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_Sti_dau200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_Sti_pp200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_StvCA_dau200.MC.Stv.y2008  MC.in.y2008 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11025_2040_100evts.event.root
    eval_Stv_dau200.MC.y2008  MC.in.y2008 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11025_2040_100evts.event.root
    eval_Sti.AgML_pp500.MC.y2009  MC.y2009a Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_StiCA_pp200.MC.y2009  MC.y2009a StiCA fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    eval_StiCA_pp500.MC.y2009  MC.y2009a StiCA fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_Sti_pp200.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    eval_Sti_pp500.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_StvCA_pp500.MC.y2009  MC.in.y2009 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11026_1020_50evts_pileup.event.root
    eval_Stv_pp500.MC.y2009  MC.in.y2009 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11026_1020_50evts_pileup.event.root
    eval_Sti.AgML_auau11.MC.y2010  MC.y2010a Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_Sti.AgML_auau200.MC.y2010  MC.y2010 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_Sti_auau11.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_Sti_auau200.MC.y2010  MC.y2010 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_Sti_auau39.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_Sti_auau62.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_Sti_auau7.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_StiCA_auau11.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_StiCA_auau200.MC.y2010  MC.y2010 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_StiCA_auau39.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_StiCA_auau62.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_StiCA_auau7.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_Stv_auau200.MC.y2010  MC.in.y2010 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11022_2241_50evts.event.root
    eval_StvCA_auau200.MC.y2010  MC.in.y2010 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11022_2241_50evts.event.root
    eval_StvCA_auau39.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_StvCA_auau62.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_StvCA_auau7.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_Sti.AgML_auau200.MC.y2011  MC.y2011 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    eval_Sti.AgML_pp500.MC.y2011  MC.fast.y2011 AgML Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_Sti_auau200.MC.y2011  MC.y2011 Sti fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    eval_StiCA_pp500.MC.y2011  MC.fast.y2011 StiCA fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_StiCA_pp500.pileup.MC.y2011  MC.fast.y2011 StiCA fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    eval_Sti_pp500.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_Sti_pp500.pileup.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    eval_Stv_auau200.MC.y2011  MC.in.y2011 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.event.root
    eval_StvCA_auau200.MC.y2011  MC.in.y2011 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.event.root
    eval_Sti.AgML_CuAu200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    eval_Sti.AgML_pp200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    eval_Sti.AgML_pp500.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    eval_Sti.AgML_UU200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    eval_Sti_CuAu200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    eval_Sti_pp200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    eval_Sti_pp500.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    eval_Sti_UU200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    eval_Sti.AgML.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF AgML Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StiCA.RC.auau200.MB.y2007  RC.y2007 pmdReco StiCA   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StiCA.RC.auau200.y2007  RC.y2007 pmdReco StiCA   /star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq
    eval_Sti.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Stv.AgML.RC.auau200.MB.y2007  RC.y2007 Stv AgML   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StvCA.RC.auau200.MB.y2007  RC.y2007.NoSvt StvCA   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Stv.RC.auau200.MB.y2007  RC.y2007.NoSvt Stv   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Sti.AgML.RC.dau200.y2008  RC.y2008 ITTF AgML Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StiCA.RC.dau200.y2008  RC.y2008 StiCA   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StiCA.RC.pp200.y2008  RC.pp.y2008 StiCA   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Sti.RC.dau200.y2008  RC.y2008 ITTF Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_Sti.RC.pp200.y2008  RC.pp.y2008 ITTF Sti   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Stv.AgML.RC.dau200.y2008  RC.y2008.notof Stv AgML   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StvCA.RC.dau200.y2008  RC.y2008.notof StvCA   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StvCA.RC.pp200.y2008  RC.pp.y2008.Minuit StvCA   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Stv.RC.dau200.y2008  RC.y2008.notof Stv   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_Stv.RC.pp200.y2008  RC.pp.y2008.Minuit Stv   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Sti.AgML.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_StiCA.RC.pp200.y2009  RC.pp.y2009.VFPP StiCA   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_StiCA.RC.pp500.y2009  RC.pp.y2009.VFPP StiCA   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Sti.RC.pp200.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_Sti.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Stv.AgML.RC.pp500.y2009  RC.pp.y2009 Stv AgML   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_StvCA.RC.pp200.y2009  RC.pp.y2009 StvCA   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_StvCA.RC.pp500.y2009  RC.pp.y2009 StvCA   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Stv.RC.pp200.y2009  RC.pp.y2009 Stv   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_Stv.RC.pp500.y2009  RC.pp.y2009 Stv   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Sti.AgML.RC.auau200.y2010  RC.y2010.notof AgML Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Sti.AgML.RC.auau39.y2010  RC.y2010.notof AgML Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StiCA.RC.auau11.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_StiCA.RC.auau200.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_StiCA.RC.auau39.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StiCA.RC.auau62.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Sti.RC.auau11.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_Sti.RC.auau200.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Sti.RC.auau39.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_Sti.RC.auau62.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Stv.AgML.RC.auau200.y2010  RC.y2010.notof Stv AgML   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Stv.AgML.RC.auau39.y2010  RC.y2010.notof Stv AgML   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StvCA.RC.auau11.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_StvCA.RC.auau200.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_StvCA.RC.auau39.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StvCA.RC.auau62.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Stv.RC.auau11.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_Stv.RC.auau200.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Stv.RC.auau39.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_Stv.RC.auau62.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Sti.AgML.RC.auau200.y2011  RC.y2011 AgML Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Sti.AgML.RC.auau20.y2011  RC.y2011 AgML Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Sti.AgML.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_StiCA.RC.auau200.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_StiCA.RC.auau20.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StiCA.RC.auau27.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_StiCA.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat StiCA   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Sti.RC.auau200.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Sti.RC.auau20.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Sti.RC.auau27.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_Sti.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Stv.AgML.RC.auau200.y2011  RC.y2011 Stv AgML   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Stv.AgML.RC.auau20.y2011  RC.y2011 Stv AgML   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StvCA.RC.auau200.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_StvCA.RC.auau20.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StvCA.RC.auau27.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_StvCA.RC.pp500.y2011  RC.pp.y2011 pmdReco mtdDat StvCA   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Stv.RC.auau200.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Stv.RC.auau20.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Stv.RC.auau27.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_Stv.RC.pp500.y2011  RC.pp.y2011 pmdReco mtdDat Stv   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Sti.AgML.RC.pp200.y2012  RC.pp.y2012 AgML Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.AgML.RC.pp500.y2012  RC.pp.y2012 AgML Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Sti.AgML.RC.UU193.y2012  RC.y2012 AgML Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_StiCA.RC.pp200.y2012  RC.pp.y2012 StiCA   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.RC.pp200.y2012  RC.pp.y2012 Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.RC.pp500.y2012  RC.pp.y2012 Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Sti.RC.UU193.y2012  RC.y2012 Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_Stv.AgML.RC.cuAu200.y2012  RC.y2012b.notof Stv AgML   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_Stv.AgML.RC.pp200.y2012  RC.pp.y2012.notofMin Stv AgML   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Stv.AgML.RC.pp500.y2012  RC.pp.y2012.notofMin Stv AgML   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Stv.AgML.RC.UU193.y2012  RC.y2012b.notof Stv AgML   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_StvCA.RC.cuAu200.y2012  RC.y2012b.notof StvCA   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_StvCA.RC.pp200.y2012  RC.pp.y2012.notofMin StvCA   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_StvCA.RC.pp500.y2012  RC.pp.y2012.notofMin StvCA   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_StvCA.RC.UU193.y2012  RC.y2012b.notof StvCA   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_Stv.RC.cuAu200.y2012  RC.y2012b.notof Stv   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_Stv.RC.pp200.y2012  RC.pp.y2012.notofMin Stv   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Stv.RC.pp500.y2012  RC.pp.y2012.notofMin Stv   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Stv.RC.UU193.y2012  RC.y2012b.notof Stv   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    doEvents  in StEvent analysis NoDb    
    MakeMuDst  in StEvent CMuDST Tree nodefault NoHistos ReadAll   StEvent => MuDst
    drawDst  in ry1h globT SCL geant display NoDb TbUtil    
    Cdst  ITTF event analysis EventQA    
    C1default  rich l0 Cdst tags Tree EvOut NoHits   Year 1 chain
    C2default  rich l0 Cdst tags Tree EvOut ftpc svt emcY2   Year 2 chain
    C3default  l0 Cdst tags Tree EvOut NoHits ftpc svt bbcsim emcY2   Year 3 simu base chain
    CAdefault  l0 Cdst tags Tree EvOut NoHits ftpc svt emcY2   Assymptotic chain
    Cy1a  y1a C1default   Turn on chain y1a
    Cy1b  y1b C1default   Turn on chain y1b
    Cy1s  y1s C1default   Turn on chain y1s
    Cy1d  y1d C1default   Turn on chain y1d
    cy1e  y1e C1default   Turn on chain y1h
    cy1h  y1h C1default   Turn on chain y1e
    Cy2a  y2a CAdefault   Turn on chain y2a
    Cy2b  y2b C2default   Turn on chain y2b
    C2000  y2000 C1default   Turn on chain Y2000
    C2001  y2001 C2default   Turn on chain Y2001
    C2003  y2003 C3default   Turn on chain Y2003
    C2003X  y2003X C3default   Turn on chain Y2003X (full B/E EMC)
    mdc3  cy1h GeantOut   MDC3 default chain
    MDC4  C2001 trs tpc_daq Simu srs fss rrs big GeantOut   Turn on chain for MDC4
    MDC4New  y2001n C2default trs tpc_daq Simu srs fss rrs big GeantOut   Turn on chain for MDC4 (for after September)
    PostMDC4  C2001 trs tpc_daq Simu sss fss rrs big GeantOut   Turn on Post MDC4 chain
    ppMDC4  ppOpt C2001 mwc trs tpc_daq Simu srs rrs big GeantOut   Turn on chain for ppMDC
    dAuMDC  ppOpt C2003 trs tpc_daq Simu srs fss big GeantOut   Chain for d+Au
    dAuMDCa  ppOpt C2003 trs tpc_daq Simu srs fss big GeantOut est   Chain for d+Au
    CComplete  Complete C2default   Turn on chain for Complete STAR
    SvtD  SvtCalDb SvtSeqAdj SvtClu SvtCluAnal SvtHit   SVT chain for Data
    P00h  ry1h in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout ExB NoHits   Production chain for summer 2000 data
    P2000  ry2000 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout ExB NoHits   Production chain for summer 2000 data
    B2000  ry2000 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout NosvtIT NossdIT   Base chain for 2001 (tpc+rhic)
    P2000a  B2000 Corr1   Production chain for summer 2000 data
    B2001  ry2001 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout svtDb   Base chain for 2001 (tpc+rhic)
    P2001  B2001 l3onl tofDat Corr2 OSpaceZ   Production chain for summer 2001 data (+ l3 tof)
    P2001a  B2001 svt_daq SvtD ftpc l3onl tofDat emcDY2 Corr2 OSpaceZ   Production chain for summer 2001 data (+ ftpc svt l3 tof emc)
    pp2001  ppOpt B2001 -PreVtx l3onl tofDat emcDY2 Corr2   pp 2001 (+ l3 tof emc)
    pp2001a  pp2001 svt_daq SvtD ftpc   pp 2001 (+ ftpc svt l3 tof emc)
    B2003  ry2003 in tpc_daq tpc Physics Cdst Kalman tags Tree evout svtDb   Base chain for 2003 (tpc)
    dau2003  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc   Production chain for winter 2003 data (+ tof svt (no est) ftpc emc)
    dau2003a  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data (+ tof svt (no est) ftpc emc trgd)
    pp2003  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for Spring 2003 data (+ tof svt (no est) ftpc emc trgd)
    Idst  event compend EventQA   Turn on DST for ITTF
    IAna  dEdxY2 Kink2 xi2 CMuDst analysis   Turn on Xi Kink dEdx and MuDst
    BAna  dEdxY2 CMuDst analysis   Turn on dEdx and MuDst
    B2003I  ry2003 in TpxRaw TpxClu Idst l0 tags Tree evout svtDb   Base chain for 2003 ITTF
    dau2003i  B2003I IAna CtbMatchVtx Corr2 ppOpt l3onl tofDat emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data dau2003a with ITTF
    pp2003i  B2003I IAna CtbMatchVtx Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data dau2003a with ITTF
    B2004  ry2004 in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2004 ITTF (tpc+svt)
    P2004  B2004 IAna fcf VFMinuit ToF emcDY2 ftpc trgd ZDCvtx svtIT Corr4 OSpaceZ2   Production chain for 2003/2004 data (+ l3 tof ftpc e/b-emc trgd)
    pp2004  B2004 IAna fcf ppOpt VFppLMV5 CtbMatchVtx ToF emcDY2 ftpc trgd ZDCvtx svtIT Corr4 OSpaceZ2   Production chain for 2003/2004 data (+ l3 tof ftpc e/b-emc trgd)
    B2005  ry2005b in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF (tpc+svt)
    B2005a  ry2005b in tpc_daq tpcI Physics Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2005 ITTF (tpc only)
    B2005b  ry2005f in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF Geo f (tpc+svt only)
    B2005c  ry2005g in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF Geo g (tpc+svt only + dead material)
    P2005  B2005 IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    P2005b  B2005b IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    P2005c  B2005c IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    pp2005  B2005 IAna fcf ppOpt VFppLMV5 CtbMatchVtx emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2005a  B2005a IAna fcf ppOpt VFPPV beamline CtbMatchVtx emcDY2 ftpc trgd ZDCvtx Corr4   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2005b  B2005b IAna fcf ppOpt VFPPV beamline CtbMatchVtx emcDY2 ftpc trgd ZDCvtx Corr4   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    B2006  ry2005d in tpc_daq tpcI svt_daq SvtD Idst tags Tree evout ssdDb   Base chain for 2006 ITTF (tpc+svt)
    B2006a  ry2005d in tpc_daq tpcI Idst tags Tree evout svtDb ssdDb   Base chain for 2006 with 2005d geom ITTF (tpc only)
    B2006b  ry2006 in tpc_daq tpcI Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2006 ITTF (tpc only)
    B2006g  ry2006g in tpc_daq tpcI Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2006 ITTF geo g (tpc only)
    pp2006a  B2006a IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr3   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2006b  B2006b IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr4 BeamBack   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2006g  B2006g IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr4 BeamBack   Production chain for 2005 pp data geo g (+ l3 tof ftpc e/b-emc trgd)
    T2007  ry2007g MakeEvent in tpc_daq tpcI fcf Tree evout   TPC only chain 2007 ITTF
    B2007  ry2007 MakeEvent in tpc_daq tpcI fcf svt_daq SvtD ssddat sptd Idst tags Tree evout   Base chain for 2007 ITTF (tpc+svt+ssd)
    B2007g  ry2007g MakeEvent in tpc_daq tpcI fcf svt_daq SvtD ssddat sptd Idst tags Tree evout   Base chain for 2007 ITTF geo g (tpc+svt+ssd)
    P2007  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr5   Production chain for 2007 data (+ l3 tof ftpc e/b-emc trgd)
    P2007g  B2007g IAna KeepSvtHit hitfilt VFMinuit2 emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr5   Production chain for 2007 data revised 2008 (+ l3 tof ftpc e/b-emc trgd)
    P2007a  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr3   Production chain for 2007 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2007b  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr4   Production chain for 2007 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    B2008  ry2008 in tpc_daq tpcI fcf Idst tags Tree evout   Base chain for 2008 ITTF (tpc)
    B2008a  ry2008 in tpcX ToFx tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2008 ITTF (tpc+tof)
    P2008a  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr3 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008b  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    pp2008a  B2008 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008c  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data (+ l3 tof ftpc e/b-emc trgd)
    pp2008c  B2008 IAna hitfilt ppOpt Minuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    pp2008  B2008a IAna hitfilt ppOpt VFPPV emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008  B2008a IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data (+ l3 tof ftpc e/b-emc trgd)
    B2009.1  ry2009 in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    B2009.2  ry2009a in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    B2009.3  ry2009d in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    pp2009a  B2009.1 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr (+ l3 ftpc e/b-emc trgd)
    pp2009b  B2009.1 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr (+ l3 ftpc e/b-emc no trigger)
    pp2009c  B2009.2 BAna hitfilt ppOpt emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr no VF (+l3 ftpc e/b-emc trig)
    pp2009d  B2009.3 BAna hitfilt ppOpt emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr no VF (+l3 ftpc e/b-emc trig)
    B2010  ry2010 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2010 ITTF (tpc)
    B2010c  ry2010c in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2010 ITTF (tpc)
    P2010a  B2010 BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc)
    pp2010a  B2010 BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc no VF)
    P2010c  B2010c BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc)
    pp2010c  B2010c BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc no VF)
    B2011  ry2011 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2011 ITTF (tpc)
    P2011a  B2011 BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 ftpc e/b-emc)
    pp2011a  B2011 BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 ftpc e/b-emc no VF)
    B2012  ry2012 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2012 ITTF (tpc)
    pp2012a  B2012 BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2012 data - no Corr (+ l3 e/b-emc no VF)
    P2012a  B2012 BAna hitfilt VFMinuit emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 e/b-emc)
    B2012b  ry2012a in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2012 ITTF (tpc)
    pp2012b  B2012b BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2012 data - no Corr (+ l3 e/b-emc no VF)
    P2012b  B2012b BAna hitfilt VFMinuit emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 e/b-emc)
    B2013  B2013_c2   Alias for B2013 Configuration 2
    B2013x  ry2013_1x B2013   Base chain for 2013 ITTF (tpc)
    pp2013x  B2013x BAna emcDY2 trgd ZDCvtx   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    B2013  B2013_c2   Alias for B2013 Configuration 2
    B2013_c2  ry2013_2c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2013 ITTF (tpc)
    B2013_c1  ry2013_1c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2013 ITTF (tpc)
    pp2013a  B2013_c2 ITTF UseXgeom BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    pp2013b  B2013_c1 ITTF UseXgeom BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    pp2013  BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    B2014  ry2014 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2014 ITTF (tpc)
    B2014a  ry2014a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2014a ITTF (tpc)
    P2014  B2014 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for 2014 data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2014a  B2014a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2014 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2015  ry2015 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2015 ITTF (tpc)
    B2015a  ry2015a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015a data
    B2015b  ry2015b in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015 with y2015b geometry
    B2015c  ry2015c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015 with y2015c geometry
    pp2015  B2015 ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2015 data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015a  B2015a ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015a data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015b  B2015b ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015b data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015c  B2015c ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015c data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015  B2015 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2015 data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015a  B2015a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015a data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015b  B2015b ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015b data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015c  B2015c ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015c data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2016  ry2016 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2016 ITTF (tpc)
    P2016  B2016 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2016 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2016a  ry2016a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Production chain for 2016 data (tpc)
    P2016a  B2016a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2016 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2017  ry2017 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2017 data (tpc)
    pp2017  B2017 Sti UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx analysis   Base chain for year 2017 pp data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2017  B2017 Sti UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx analysis   Base chain for year 2017 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2017a  ry2017a in tpcX CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Production chain for run 2017 data (tpc)
    pp2017a  B2017a ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline3D l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for year 2017 pp data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2017a  B2017a ITTF UseXgeom BAna hitfilt VFMinuit beamline3D l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for year 2017 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2018a  ry2018a in tpcX CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Base chain for run 2018 data (tpc)
    P2018a  B2018a ITTF UseXgeom BAna hitfilt VFMinuit beamline3D l3onl emcDY2 epdHit fpd trgd ZDCvtx analysis   Base chain for year 2018 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2019a  ry2019a in tpcX UseXgeom iTpcIT CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Base chain for run 2019 data (tpc)
    P2019a  B2019a ITTF BAna iTpcIT hitfilt VFMinuit beamline3D etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2019 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2020a  ry2020a in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2020 data (tpc)
    P2020a  B2020a ITTF BAna iTpcIT hitfilt VFMinuit etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2020 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2021a  ry2021a in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2020 data (tpc)
    P2021a  B2021a ITTF BAna iTpcIT hitfilt VFMinuit etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2020 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2022  ry2022 in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2022 data (tpc)
    pp2022  B2022 ITTF BAna hitfilt ppOpt ImpBToFt0Mode VFPPVnoCTB beamline3D l3onl etofa btof mtd emcDY2 FttDat fcs trgd ZDCvtx analysis   Production chain for year 2022 pp data - no Corr (+ l3 epd mtf b/etof fcs e/b-emc)
    LaserCal0  db detDb tpc_daq tpcDb tcl globT laser LaserTest   Laser Calibration Chain (tcl)
    LaserCal  db detDb tpc_daq tpcDb fcf globT laser LaserTest   Laser Calibration Chain
    L3Counter  db detDb in l3count   L3 Counter extraction pass
    VtxSeedCal  ppOpt ry2001 in tpc_daq tpc globT -Tree Physics -PreVtx FindVtxSeed NoEvent Corr2   Pass0 Vertex evaluator
    SpcChgCal  B2004 fcf Corr3 OSpaceZ2 OShortR SCEbyE -Tree -tags -EvOut -EventQA   Pass0 SpaceCharge evaluator
    SpcChgCalG  MuDST fcf Corr4 OSpaceZ2 OGridLeak3D SCEbyE -Tree -tags -EvOut -EventQA   Pass0 SpaceCharge evaluator with GridLeak no geo or tracker dependence
    VtxSeedCalG  MuDST fcf Corr4 FindEvtVtxSeed -Tree -tags -EvOut -EventQA   Pass0 Vertex evaluator
    OPTIONS
    ITTF      request to use one of Sti(default) StiCA Stv StvCA ... trackers
    NoHits      Don\'t write hits into Event.Branch
    Kalman      WARNING *** Option is OBSOLETE ***
    Eval      Turn on evaluation switch for different makers
    Ev03      Turn on alternative V0 method
    off      Turn off default chain
    clearDAQCTB      clear DAQ CTB Hits for embedding
    NoInput      No input file
    util     StAnalysisUtilitiesLoad StAnalysisUtilities
    StUtilities     StUtilitiesLoad StUtilities
    FieldOn  MagF   Constant nominal field
    FieldOff  MagF   No Field option
    HalfField  MagF   Half Field option
    ReverseField  MagF   Reverse Field option
    NoCintDb      Switch off all Cint Db
    NoStarCintDb      Switch off standard Cint Db
    NoLocalCintDb      Switch off local Cint Db
    NoMySQLDb      Switch off MySQL Db
    NoCintCalDb  NoLocalCintDb   Switch off local Cint Db
    dbSnapshot      Create?use dbSnapshot
    NoEvent  -event -analysis   Switch Off StEvent and StAnalysis Makers
    MakeDoc      Make HTML documentation for the given Chain
    Debug      Set debug flag = 1
    Debug1      Set debug flag = 1
    Debug2      Set debug flag = 2
    IdTruth      Enable IdTruth association in StAssociationMaker
    OldMiniMc      Keep pre-2008 convention for MiniMc
    useInTracker      switch from EGR to ITTF global tracks in StAssociationMaker
    noRepeat      No repeat in Messenger
    noHistos      Disables Attributes histos
    noRunco      Disables Attributes runco
    Higz      Pop Higz window
    big      Set NwGEANT =20Mwords
    bigbig      Set NwGEANT =40Mwords
    huge      Set NwGEANT =80Mwords
    clearmem      Obsolete
    adcOnly      DAQMaker selects only TPC ADC events
    InTree  in   bfcTree Input Tree name
    OutTree  Tree   bfcTree Output Tree name
    DstOut      WARNING *** Option is OBSOLETE ***
    McEvOut  StMcEvent Tree   Write StMcEvent to StTree
    EvOut  Tree   Write StEvent to StTree
    GeantOut  Tree   Write g2t tables to StTree
    Simu      Simulated Data force to use Db time stamp from used geometry
    HitsBranch      take out points from dst branch and put them into HitsBranch
    paw      Allocate memory for pawc
    AllEvent  Tree   Write whole event to StTree
    AllTables     St_TablesLoad Star Tables
    FXT  btofFXT   enable anything FXT-specific
    btofFXT      enable FXT mode for btof
    Corr1  AlignSectors ExB OBmap OClock OPr13   ... AlignSectors ExB OBmap OClock OPr13 ...
    Corr2  Corr1 OTwist OIFC   ...Corr1+OTwist OIFC ...
    Corr3  AlignSectors ExB OBmap2D OClock OPr13 OTwist OIFC   ... AlignSectors ExB OBmap2D OClock OPr13 OTwist OIFC ...
    Corr4  Corr3 OShortR   ... Corr3+OShortR...
    Corr5  Corr4 SCEbyE OGridLeak3D OSpaceZ2   ... Corr4+SCEbyE OGridLeak3D OSpaceZ2...
    CorrX  ExB OShortR OBmap OPr13 OIFC OSectorAlign NewTpcAlignment -AlignSectors -OBmap2D -OClock -OTwist  
    CorrY  ExB OShortR OBmap OPr40 OIFC OSectorAlign NewTpcAlignment OSpaceZ2 OGridLeakFull -AlignSectors -OBmap2D -OClock -OTwist  
    ExB      Activate ExB correction
    EB1      Force ExB configuration 1
    EB2      Force ExB configuration 2
    OBmap      ExB shape correction
    OBmap2D      ExB 2 D shape correction
    OTwist      ExB twist correction
    OClock      Clock/tpc rot. correction
    OPr13      PadRow 13 distortion
    OPr40      PadRow 40 distortion
    OCentm      Central membrane correction
    OECap      EndCap (curved) correction
    OIFC      Field Cage correction
    OSpaceZ      Space Charge corrections
    OSpaceZ2      Space Charge corrections R2
    OShortR      Shorted Ring correction
    OGridLeak      Grid Leak correction
    OGridLeak3D      3D Grid Leak correction
    OGridLeakFull      Full Grid Leak correction
    OGGVoltErr      GG voltage error correction
    OSectorAlign      Sector alignment distortion correction
    ODistoSmear      Distortion smearing accounting for calibration resolutions
    OAbortGap      Abort gap cleaning event distortion correction
    AlignSectors      WARNING *** Option is OBSOLETE ***
    EbyET0      Event-by-event T0 corrections
    DbRichSca  detdb   Force reading of Rich scalers from DB
    EastOff      Disactivate East part of tpc
    WestOff      Disactivate West part of tpc
    AllOn      Activate both East and West parts of tpc
    ReadAll      Activate all branches to read
    pp      WARNING *** Option is OBSOLETE ***
    ppOpt  TrsPileUp   pp option without enabling special cases
    TrsPileUp      Trs pile up mode
    TrsToF      Trs account for particle time of flight
    SvtMatchVtx      WARNING *** Option is OBSOLETE ***
    VtxOffSet      Account Primary Vertex offset from y2000 data
    Calibration      Calibration mode
    beamLine      LMV Beam line constrain
    beamLine3D      Use beamline in 3D vertex fit
    min2trkVtx      ...only 2 tracks needed for vertex finding
    hitreuseon      ...do re-use hits for other tracks in Sti
    usePct4Vtx      Use Post-Crossing Tracks for vertex finding
    useBTOF4Vtx      Use BTOF track matching for vertex ranking
    useBTOFmatchOnly  useBTOF4Vtx   Use BTOF track matching only
    svt1hit      Use 1 SVT hit only combination
    onlcl      Read/use TPC DAQ100 clusters
    onlraw      Read/use TPC raw hits
    ezTree      Create ezTree branch
    BEmcDebug      Turn OFF B-EMC hit reconstruction cuts
    BEmcChkStat      Turn ON status checking in raw data
    useLDV      ... uses laserDV database flavor
    useCDV      ... uses ofl database flavor
    useNewLDV      ... uses ofl database flavor
    tables  StDbT ebyeT emc_T ftpcT gen_T geomT globT l3_T sim_T svt_T tpc_T    
    tables  StDbT ebyeT emc_T ftpcT gen_T geomT globT l3_T sim_T svt_T tpc_T    
    StDbT     StDb_TablesLoad StDb_Tables
    ctf_T     ctf_TablesLoad ctf_Tables
    ebyeT     ebye_TablesLoad ebye_Tables
    emc_T     emc_TablesLoad emc_Tables
    ftpcT     ftpc_TablesLoad ftpc_Tables
    gen_T     gen_TablesLoad gen_Tables
    geomT     geometry_TablesLoad geometry_Tables
    globT     global_TablesLoad global_Tables
    l3_T     l3_TablesLoad l3_Tables
    mwc_T      WARNING *** Option is OBSOLETE ***
    sim_T     sim_TablesLoad sim_Tables
    svt_T     svt_TablesLoad svt_Tables
    tpc_T      WARNING *** Option is OBSOLETE ***
    trg_T      WARNING *** Option is OBSOLETE ***
    vpd_T      WARNING *** Option is OBSOLETE ***
    Embedding  -Simu   Embedding run
    Utilities
    Geometry+Mag
    pgf77     pgf77VMCFortran
    rootcern  geant3   ROOT minicern OBSOLETE
    StarMiniCern  geant3   STAR addition to minicern OBSOLETE
    mysql     libmysqlclientMySQL
    libPhysics     libPhysicsTVector
    geant3vmc  -usexgeom -xgeometry  libGeom libVMC libgeant3VMC geant3
    geant3  geant3vmc  EG Pythia6 EGPythia6VMC geant3 plus ROOT EG pythia6
    geometry     geometrygeometry+Mag.Field
    StarMagField  magF  VMC StarMagFieldLoad StarMagField
    geomNoField  -geometry StarMagField  geometryNoFieldgeometry-Mag.Field
    xgeometry  -geometry -geomNoField  xgeometryAgML geometry-Mag.Field
    UseProjectedVertex      Run StBTofCalibMaker w/wo Primary Vertex
    ImpBToFt0Mode      pppAMode in StVpdCalibMaker and StBTofCalibMaker
    setOutlierRej4BToft0      setPPPAOutlierRej is set in StBTofCalibMaker
    vpd      WARNING *** Option is OBSOLETE ***
    tls      WARNING *** Option is OBSOLETE ***
    rts     RTSload libRTS
    daq  rts  StDaqLib StDAQMakerLoad StDAQMaker
    SCL     StarClassLibraryLoad StarClassLibrary
    SvtCL     Geom StSvtClassLibrary 
    TbUtil  sim_T tpc_t globT SCL  StTableUtilitiesLoad StTableUtilities
    TofUtil     StTofUtilLoad StTofUtil
    BTofUtil     StBTofUtilLoad StBTofUtil
    ETofUtil     StETofUtilLoad StETofUtil
    MtdUtil     StMtdUtilLoad StMtdUtil
    StBichsel     StBichselLoad Bichsel model for dE/dx
    StEvent  globT SCL TRGDef StBichsel EmcUtil TbUtil detDb  StEventLoad StEvent
    PxlUtil     StPxlUtilLoad StPxlUtil
    IstUtil     StIstUtilLoad StIstUtil
    SsdUtil  StarMagField StEvent  Geom StSsdUtilLoad SSD Util
    SstUtil  StarMagField StEvent  Geom StSstUtilLoad SST Util
    EmcUtil  emc_T geomT StDbT  StEmcUtilLoad StEmcUtil
    EEmcUtil     StEEmcUtilLoad StEEmcUtil
    FmsUtil     StFmsUtil libMinuitLoad StFmsUtil
    FgtUtil     StFgtUtilLoad StFgtUtil
    GmtUtil     StGmtUtilLoad StGmtUtil
    l3Util      WARNING *** Option is OBSOLETE ***
    PmdUtil     StPmdUtilLoad StPmdUtil
    QUtils  PmdUtil EmcUtil   Load QA Libs dependencies
    Stu     StEventUtilitiesLoad StEventUtilities
    MuDSTDeps  StEvent Stu StBichsel  StStrangeMuDstMaker TreeLoad MuDST misc. dependencies
    MuDST  MuDSTDeps EmcUtil TofUtil BTofUtil PmdUtil  StMuDSTMakerLoad MuDST library
    picoEvt  StEvent Stu  StPicoEventLoad picoEvent and dependencies
    picoDst  picoEvt EmcUtil TofUtil BTofUtil PmdUtil  StPicoDstMakerLoad PicoDST library
    geantL  geomT gen_T sim_T StarMagField  geometry Geom St_db_Maker St_g2t St_geant_MakerLoad GeantLibs
    gstarLib     gstarLoad gstar lib
    flux  simu  fluxLoad flux lib
    Generators
    stargen  gen_T sim_T  libVMC.so libStarGeneratorUtil.so libStarGeneratorEvent.so libStarGeneratorBase.so libStarGeneratorFilt.so libMathMore.soSTAR Generator BASE
    pythia8.1.86  stargen  Pythia8_1_86.soLoad Pythia 8.1.86 generator
    pythia8.2.35  stargen  Pythia8_2_35.soLoad Pythia 8.1.86 generator
    hijing1.383  stargen  Hijing1_383.soLoad Hijing 1.383 generator
    kinematics  stargen  Kinematics.soLoad STAR Particle Gun
    genreader  stargen  StarGenEventReader.soLoad STAR Gen Event Reader
    I/O Makers
    gstargeant -fzin -ntin -geant Simu geantL St_geant_Maker gstar for 80 muon tracks with pT = 1GeV in |eta|<4
    pythiageant -gstar -fzin -ntin -geant geantL St_geant_MakerPythia6_4_26 bpythiaLoad Pythia in starsim set pp 510 GeV
    Wenu  pythia   set pp 510 GeV -> W+/- -> e+/- nu/nubar
    hijinggeant -gstar -fzin -ntin -geant geantL St_geant_MakerStarGeneratorUtil StarGeneratorEvent StarGeneratorBase Hijing1_383Load Hijing in starsim set AuAu200 GeV
    tdaq      WARNING *** Option is OBSOLETE ***
    miniDAQ      WARNING *** Option is OBSOLETE ***
    fzingeant Simu -gstar -ntin -geant geantL St_geant_Maker read gstar fz-file
    UseXgeom  -geometry -geomNoField xgeometry   suppress mortran version of geometry
    in    StIOMakerStIOMakerRead [DAQ|ROOT] input file
    Db makers
    dbdb StDbT St_db_MakerStDbLib StDbBroker St_db_Maker 
    magFMagField StDbT db detDb StMagFMakerStarMagField StMagFMag.field map with scale factor from Db
    detDbdetDb db StDetectorDbMakerStDetectorDbMakerLoad StDetectorDbMaker library
    mtingeant -fzin -geant -gstar geantL gstarLib -magF St_geant_Makergstarread event from MuDst
    tpcDBtpcDB tpc_T dbutil detDb StarMagField magF StEvent StTpcDbMakerStTpcDb 
    dbutil  detDb StDbT  StDbUtilitiesLoad StDbUtilities
    svtDbsvtDb tpcDb SvtCL StSvtDbMakerStSvtDbMakerLoad and run SvtDbMaker
    ssdDbssdDb tpcDb SsdUtil StSsdDbMakerStSsdDbMakerLoad and run SsdDbMaker
    sstDbsstDb tpcDb SstUtil StSstDbMakerStSsdDbMakerLoad and run SstDbMaker
    svtCalDb  svtDb   Declare Calibrations/svt as while list member
    ssdCalDb  ssdDb   Declare Calibrations/ssd as while list member
    sstCalDb  sstDb   Declare Calibrations/sst as while list member
    eemcDbeeDb db EEmcUtil StEEmcDbMakerStEEmcDbMakerLoad EEmcDbMaker
    fmsDbfmsDb db fmsutil StFmsDbMakerStFmsDbMakerLoad FmsDbMaker
    fcsDbfcsDbMkr   StFcsDbMakerStFcsDbMakerLoad FcsDbMaker
    fttDbfttDbMkr   StFttDbMakerStFttDbMakerLoad FttDbMaker
    fgtDbfgtDb db fgtutil StFgtDbMakerStFgtDbMakerLoad FgtDbMaker
    pxlDbpxlDb tpcDb PxlUtil StPxlDbMakerStPxlDbMakerLoad PxlDbMaker
    istDbistDb tpcDb StIstDbMakerStIstDbMakerLoad IstDbMaker
    fstDbfstDb tpcDb StFstDbMakerStFstDbMakerLoad FstDbMaker
    epdDbepdDb tpcDb StEpdDbMakerStEpdDbMakerLoad EpdDbMaker
    MAKERS
    ntingeant paw -fzin -geant -gstar Simu geantL gstarLib St_geant_Maker read event generated Hbook nt-file
    PrepEmbed  geantEmb StPrepEmbedMakerSt_geant_MakerPrepare kinematics for embedding
    PythiaEmbed  pythia -Simu   Prepare kinematics for embedding
    geantgeant geantL St_geant_Maker passive GEANT
    geantEmbgeant geantL St_geant_Maker GEANT embedding mode
    RootVMC  -geant -fzin -ntin StarMagField -geantL -geometry -geomNoField geant3    
    VMCAppl  geomT gen_t sim_T tpcDB RootVMC  StSvtDbMaker StSsdDbMaker StarVMCApplicationVMC G3
    VMCgeant Simu VMCAppl -geant StVMCMakerStVMCMakerVMC Maker
    VMCPassivegeant VMCAppl StVMCMakerStVMCMakerVMC Maker in Passive Mode
    trgtrgl0Chaintrg_T globT db St_trg_MakerSt_trg St_trg_Makertrigger analysis for Year 2001-2005 data
    TRGDef     StTriggerDataMakerLoad StTriggerData
    trgdtrgd TRGDef StTriggerDataMakerStTriggerDataMakerGet trigger data
    MakeEvent0Event StEvent detDb StEventMakerStTpcDb StEventMaker
    LaserAvEv    StLaserAvEventMakerStLaserAvEventMakerHejrad
    LaserAvCl    StLaserAvClusterMakerStLaserAvClusterMaker 
    l0l0Chain globT ctf trg StMakerStChain 
    ctfctfl0Chainctf_T db St_ctf_Makerctf St_ctf St_ctf_MakerToF simulation
    mwc      WARNING *** Option is OBSOLETE ***
    ppMCTrig      WARNING *** Option is OBSOLETE ***
    pp2pp    St_pp2pp_MakerSt_pp2pp_Makerpp->pp
    mtdFilt    StMtdEvtFilterApplyMakerStDataFilterMakerMTD-based event filtering
    mtdMtdChain mtdDat mtdMatch StMakerStChainMTD Chain
    mtdDatmtd_rawMtdChaindb MuDst StMtdHitMakerStEvent StMtdHitMakerMTD hit maker
    mtdTrkMask  db StMtdTrackingMaskMakerStMtdEvtFilterMakerMTD track masking
    epdHit  epdDb event StEpdHitMakerStEpdHitMakerEPD hit maker
    tpc  TpxRaw TpxClu tpcI   WARNING *** Option is OBSOLETE *** use TpxClu instead
    tpcItpcChain db tpcDB TpcHitMover StMakerStChaintpc with ITTF
    tpcXtpcChain -tpcI tpx MakeEvent StMakerStChaintpc+tpcx with ITTF
    TrsTrstpcChainscl tpcDB TrsToF StEvent EmbeddingShortCut StTrsMakerStTrsMaker 
    TpcRS tpcChainscl tpcDB -Trs -EmbeddingShortCut Stu StTpcRSMakerlibMathMore StdEdxY2Maker StTpcRSMakerNew Tpc Response Simulator
    tfs  TpcFastSim   WARNING *** Option is OBSOLETE *** use TpcFastSim instead
    TpcFastSimtpc_hitstpcChainMakeEvent Simu -trs -TpcRS -tcl -tpxclu -fcf -tpc_daq StEvent -TpcHitMover EmbeddingShortCut StTpcFastSimMakerSt_tcl_Makeruse tfs (no Trs or TpcRS)
    EmbeddingShortCut      Short Cut for StdEdxY2Maker and StTpcHitMover
    StMcEvent  gen_t sim_T  StMcEvent 
    McEvent  StEvent tpcDb EEmcUtil EmcUtil StMcEvent StMcEventMakerStMcEventMaker 
    Mixertpc_raw daq StMixerMakerStTrsMaker StMixerMaker 
    St_tpc      WARNING *** Option is OBSOLETE ***
    St_svt      WARNING *** Option is OBSOLETE ***
    tpc_daq  TpxRaw   WARNING *** Option is OBSOLETE *** use TpxRaw instead
    tcl  TpxRaw TpxClu MakeEvent   WARNING *** Option is OBSOLETE *** use option TpxRaw TpxClu MakeEvent instead
    fcf  -tcl tpcX   WARNING *** Option is OBSOLETE *** use tpcX instead
    tpxtpc_hitstpcChainMakeEvent tpc_T StEvent rts detDb StTpcHitMakerStTpcHitMakerTPC hit reader for tpc + tpx via EVP_READER
    gmtGmtChain gmtDat gmtClu StMakerStChainGmt data Chain
    gmtDat GmtChainevent StGmtRawMakerStGmtRawMakerGMT Data reader
    gmtClu GmtChaingmtutil StGmtClusterMakerStGmtClusterMakerGMT cluster maker
    TpxPulserTpxPulsertpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX pulser analysis
    TpxPadMonitor      WARNING *** Option is OBSOLETE ***
    TpxAvLaserTpxAvLasertpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX averaging laser events into Sparse histogram on pixels level
    TpxDumpPxls2NtTpxDumpPxls2NttpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX pixel dump to NTuple
    TpxRawTpxRawtpcChainrts detDb StEvent StTpcHitMakerStTpcHitMakerTPC+TPX convert DAQ Tpc Raw Data to TpcRawEvent used by TpcMixer and/or TpxClu
    TpcMixer tpcChainStEvent rts -Mixer -tpx TpxClu StTpcMixerMakerStTpcHitMaker 
    TpxClutpc_hitstpcChainrts tpcDb detDb -tpx -tpc_daq -fcf StTpcRTSHitMakerStTpcHitMakerRTS(online) cluster maker
    TpxClu2D  TpxClu   RTS(online) 2D-cluster maker
    TpcAvClusterTpcAvClustertpcChainrts detDb StTpcAvClusterMakerStTpcHitMakerTPC+TPX averaging laser events into Sparse histogram on cluster level
    Velo tpcChaintpc_T StVeloMakerStVeloMaker 
    TpcHitMovertpc_hit_movertpcChaintpcDb StEvent Stu StTpcHitMoverStTpcHitMoverMakerTPC hits coord transform + corrections
    tpt ITTF    WARNING *** Option is OBSOLETE *** use ITTF
    tpt_old ITTF    WARNING *** Option is OBSOLETE *** use ITTF
    TpcT0      WARNING *** Option is OBSOLETE ***
    ChargeStep      WARNING *** Option is OBSOLETE ***
    laser      WARNING *** Option is OBSOLETE ***
    PreVtx      WARNING *** Option is OBSOLETE ***
    svtsvtChain svt_T SvtCL StMakerStChain 
    svt_daqsvt_rawsvtChaindaq SvtCL StSvtDaqMakerStSvtDaqMaker 
    sss  SvtSlowSim   Short cut for SvtSlowSim
    SvtSlowSim  SvtSSim SvtOnlSeq   Short cut for SvtSlowSim and SvtOnlSeq
    SvtSSimSvtSSimusvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtSimulationMakerStSvtSimulationMaker StSvtCalibMaker 
    SvtEmbed  SvtSSim SvtEm SvtOnlSeq   Short cutfor SvtSlowSim and SvtOnlSeq
    SvtEmSvtEmsvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtEmbeddingMakerStSvtSimulationMaker StSvtCalibMaker 
    SvtOnlSeqSvtOnlSeqsvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtOnlineSeqAdjSimMakerStSvtSimulationMaker 
    srs  sfs   WARNING *** Option is OBSOLETE use sfs instead ***
    sfssvt_hitssvtChainsvtDb Simu SvtCL -sss -SvtSlowSim StEvent MakeEvent St_sfs_MakerSt_srs_MakerVery fast simulator for SVT
    SvtSeqAdjSvtSeqAdjsvtChainSvtCL StSvtSeqAdjMakerStSvtSeqAdjMaker 
    SvtCluSvtClusvtChainsvt_T StEvent SvtCL StSvtClusterMakerStSvtClusterMaker 
    SvtCluAnalSvtCluAnalsvtChainSvtCL StSvtClusterAnalysisMakerStSvtClusterMaker 
    SvtHitsvt_hitssvtChainSvtCL StSvtHitMakerStSvtClusterMaker 
    SvtVtx      WARNING *** Option is OBSOLETE ***
    stk      WARNING *** Option is OBSOLETE ***
    Est  SvtIT   WARNING *** Option is OBSOLETE *** use SvtIT instead
    global  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Match  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Vertex  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Primary  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    V0  V02   WARNING *** Option is OBSOLETE use V02 instead***
    Xi  Xi2   WARNING *** Option is OBSOLETE use Xi2 instead***
    Kink  Kink2   WARNING *** Option is OBSOLETE use Kink2 instead***
    dst      WARNING *** Option is OBSOLETE ***
    Fglobal      WARNING *** Option is OBSOLETE ***
    Fprimary      WARNING *** Option is OBSOLETE ***
    dEdx      WARNING *** Option is OBSOLETE ***
    svtdEdx      WARNING *** Option is OBSOLETE ***
    Event  MakeEvent   Request to initialize event
    pxlRaw  pxlDb StPxlRawHitMakerStPxlRawHitMakerPXL raw hit maker
    pxlFastSim  pxlRaw StMcEvent StEvent StPxlSimMakerStPxlSimMakerPXL Fast Simulator
    pxlSlowSim  pxlRaw StMcEvent StEvent StPxlSimMakerStPxlSimMakerPXL Slow Simulator
    pxlCluster  pxlRaw StPxlClusterMakerStPxlClusterMakerPXL cluster maker
    pxlHit  event pxlCluster StPxlHitMakerStPxlHitMakerPXL hit maker
    istSlowSim  StMcEvent StEvent IstUtil StIstSlowSimMakerStIstSimMakerIST Slow simulator
    istFastSim  StMcEvent StEvent StIstFastSimMakerStIstSimMakerIST Fast simulator
    istRawHit  istUtil istDb StIstRawHitMakerStIstRawHitMakerIST RAWhit maker
    istCluster  istRawHit StIstClusterMakerStIstClusterMakerIST Cluster maker
    istHit  event istCluster StIstHitMakerStIstHitMakerIST Hit Maker
    fstfstChain fstRawHit fstCluster fstHit StMakerStChainFST chain
    fstFastSim fstChainStMcEvent StEvent StFstFastSimMakerStFstSimMakerFST fast simulator
    fstRawHit fstChainfstUtil fstDb StFstRawHitMakerStFstRawHitMakerFST raw hit maker
    fstCluster fstChainfstRawHit StFstClusterMakerStFstClusterMakerFST Cluster maker
    fstHit fstChainevent fstCluster StFstHitMakerStFstHitMakerFST Hit Maker
    fstUtil     StFstUtilFst Utilities
    ssddat  ssd_daq   SSD full chain for Real Data
    sstdat  sst_daq   SST full chain for Real Data
    ssd_daq  ssdCalDb svt_T -sls -spa ssdUtil StSsdDaqMakerStSsdDaqMaker... SSD Daq
    sst_daq  sstCalDb svt_T -sls -spa sstUtil StSstDaqMakerStSstDaqMaker... SSDT Daq
    ssdfast  ssdDb StMcEvent StEvent StSsdFastSimMakerStSsdFastSimMaker... SSD fast simulator
    ssd  ssdCalDb sls spa sptd   SSD full chain for simulation
    sls  McEvent Simu svt_T SvtCL St_sls_MakerStSsdSimulationMaker... SSD slow simulator
    spaSpaStrip Simu svt_T SvtCL ssdUtil St_spa_MakerStSsdSimulationMaker... SSD Pedestal Annihilator
    SsdEmbed    StSsdEmbeddingMakerStSsdSimulationMaker... SSD Mixing geom Maker
    spt  sptd   Alias for sptd - please replace in chain
    sptd  ssdUtil svt_T StSsdPointMakerStSsdPointMaker... SSD Point Creator
    sptt  sstUtil StSstPointMakerStSstPointMaker... SST Point Creator
    sstHit  sst_daq sptt   SST reconstruction chain
    ssdpre  ssdEmbed spa   SSD full chain for pre-embedding
    ssdAdd  ssd_daq StSsdAddMakerStSsdAddMaker... SSD merge maker
    ssdE  ssdpre ssdAdd   SSD full chain for embedding
    ZDCVtx  db StZdcVertexMakerStZdcVertexMaker 
    emcDY2emcRaw daq eemcDb EEmcUtil emc_T EmcUtil StEvent PreEcl Epc StEmcRawMakerStEmcRawMakerB/E EMC data common maker
    eemcD      WARNING *** Option is OBSOLETE ***
    emcY2  emc_T tpc_T db emcSim PreEcl epc   EMC Chain for Y2A (must be before makers which include in this chain)
    emcSim  emc_T EmcUtil McEvent MuDST StEmcSimulatorMakerStEmcSimulatorMakerNew simulator for BEMC
    EEfseefs eemcDb EEmcUtil MuDst StEEmcFastMakerStEEmcSimulatorMakerEEMC fast simulator
    EEsseess -eefs eemcDb EEmcUtil MuDst StEEmcSlowMakerStEEmcSimulatorMakerEEMC slow simulator
    BEmcMixer    StEmcMixerMakerStEmcMixerMakerBEMC mixer
    emcAtoEbemcA2E db StEmcADCtoEMakerStEmcADCtoEMakerB-EMC ADC to E converter OBSOLETE for data in Run 9 or later
    PreEclpreecl   StPreEclMakerStPreEclMakerB-EMC Cluster finder
    Epcepc PreEcl EmcUtil StEpcMakerStEpcMakerB-EMC point maker
    EEmcMixer    StEEmcMixerMakerStEEmcSimulatorMakerEEMC mixer
    eemcA2EeemcA2E db StEEmcA2EMakerStEEmcA2EMakerE-EMC ADC to E converter
    eemCleemCl db StEEmcClusterMakerStEEmcClusterMakerE-EMC clustering
    btofBTofChain btofDat vpdCalib btofMatch btofCalib StMakerStChainBTOF Chain
    BtofDattof_rawBTofChaindb BTofutil StBTofHitMakerStEvent StBTofHitMakerBTOF hit maker
    vpdSim VpdChainBTofUtil StVpdSimMakerStEvent StMcEvent StBTofHitMaker StVpdSimMakerVpd Simulator
    vpdCalib BTofChaindb BTofUtil StVpdCalibMakerStVpdCalibMakerVPD calibration
    btofSim BTofChainBTofUtil StBTofSimMakerStEvent StMcEvent StTofUtil StBTofHitMaker StBTofSimMakerBTOF Simulator
    btofMixer BTofChainBTofUtil StBTofMixerMakerStEvent StBTofHitMaker StBTofMixerMakerBTof Mixer
    ETofDatetof_rawETofChaindb ETofUtil StETofDigiMakerStEvent StETofDigiMakerETOF digi maker
    ETofCalib ETofChaindb ETofUtil muDst StETofCalibMakerStETofCalibMakerETOF calibration
    ETofSim ETofChain  StETofSimMakerStETofSimMakerETOF simulator
    mtdSim MtdChain  StMtdSimMakerStEvent StMtdSimMakerMTD Simulator
    ToFTofChain tofDat tofrMatch tofpMatch tofCalib geant StMakerStChainToF Chain
    ToFxTofChain tofXDat tofrMatch tofCalib geant StMakerStChainToFx Chain
    tofDattof_rawTofChaindb Tofutil StTofMakerStEvent StTofMakerTOF Data base chain
    tofXDattof_rawTofChaindb Tofutil StTofHitMakerStEvent StTofMaker StTofHitMakerTOF hit maker
    tofsim TofChainTofUtil StTofSimMakerStEvent StTofMaker StTofSimMakerTOF Simulator Tof version before y2009
    tofrMatch TofChaindb TofUtil StTofrMatchMakerStTofrMatchMakerTPC to TOFr track matching
    tofpMatch TofChaindb TofUtil StTofpMatchMakerStTofpMatchMakerTPC to TOFp track matching
    tofCalib TofChaindb TofUtil StTofCalibMakerStTofCalibMakerTOF calibration
    FiltGamma  StEvent StMcEvent EmcUtil StGammaFilterMakerStFilterMakerBEmc Gamma filtering
    FiltEemcGamma  StEvent StMcEvent EmcUtil StEemcGammaFilterMakerStFilterMakerEEmc Gamma filtering
    rich      WARNING *** Option is OBSOLETE ***
    Rrs      WARNING *** Option is OBSOLETE ***
    rch      WARNING *** Option is OBSOLETE ***
    RichPiD      WARNING *** Option is OBSOLETE ***
    l3      WARNING *** Option is OBSOLETE ***
    l3cl      WARNING *** Option is OBSOLETE ***
    l3t      WARNING *** Option is OBSOLETE ***
    l3onl    Stl3RawReaderMakerStl3RawReaderMaker 
    l3count    Stl3CounterMakerStl3RawReaderMaker 
    bbcSim  db StBbcSimulationMakerStBbcSimulationMakerBBC Simulator
    fmsSim  StEvent fmsDb StFmsFastSimulatorMakerStFmsFastSimulatorMakerFMS Fast Simulator
    fmsDat  StEvent fmsDb StFmsHitMakerStFmsHitMakerFill FMS struct and zero TRG
    fpsDat  StEvent fmsdb StFpsRawHitMakerStFpsRawHitMakerFill FPS struct
    fmsPoint  event fmsDb StFmsPointMakerStFmsPointMakerFill FMS clusters and points
    fmsfps  event fmsDb StFmsFpsMakerStFmsFpsMakerFill FPS association in FMS points
    fcsfcsChain fcsDat fcsWFF fcsCluster fcsPoint StMakerStChainFCS chain
    fcsSim fcsChainStEvent fcsDb StFcsFastSimulatorMakerStFcsFastSimulatorMakerFCS Fast Simulator
    fcsDat fcsChainStEvent fcsDb StFcsRawHitMakerStFcsRawHitMakerFCS daq file reader/hit maker
    fcsWFF fcsChainStEvent fcsDb StFcsWaveformFitMakerStFcsWaveformFitMakerFit FCS waveform
    fcsCluster fcsChainStEvent fcsDb StFcsClusterMakerStFcsClusterMakerFill FCS clusters
    fcsPoint fcsChainStEvent fcsDb StFcsPointMakerStFcsPointMaker libMinuitFill FCS points
    fttfttChain FttDat FttHitCalib FttClu FttPoint StMakerStChainFST chain
    FttDat fttChainStEvent StFttRawHitMakerStFttRawHitMaker StEventsTGC Raw hit maker
    FttHitCalib fttChainStEvent MuDST StFttHitCalibMakerStFttHitCalibMaker StFttRawHitMaker StEventsTGC hit calib maker
    FttClu fttChainStEvent fttDb StFttClusterMakerStFttClusterMaker StEvent StFttDbMakersTGC Cluster maker
    FttPoint fttChainStEvent fttDb StFttPointMakerStFttPointMaker StEvent StFttDbMakersTGC Point maker
    FttQA fttChain  StFttQAMakerStFttQAMakersTGC Raw hit QA maker
    fpd      WARNING *** Option is OBSOLETE ***
    fgtFgtChain fgtDat fgtClu fgtAtoC StMakerStChainFgt data Chain
    fgtDat  event fgtdb StFgtRawMakerStFgtRawMakerFGT Data reader
    fgtAtoC  fgtdb StFgtA2CMakerStFgtA2CMakerFGT ADC to Charge maker
    fgtClu  fgtutil StFgtClusterMakerStFgtClusterMakerFGT cluster maker
    fgtAtoC  fgtdb StFgtA2CMakerStFgtA2CMakerFGT ADC to Charge maker
    fgtPoint  event StFgtPointMakerStFgtPointMakerCreates FGT points
    genvtx  EEmcUtil StGenericVertexMakerMinuit StGenericVertexMakerNoStiGeneric Vertex Finder library (default is MinuitVertexFinder)
    VFMinuit  genvtx   ... Generic VF will use Minuit method
    CtbMatchVtx  VFMinuit   ... CTB Matching ON in Vertex Finding
    VFMinuit2  VFMinuit   ... Generic VF will use Minuit method w/rank mode 2
    VFMinuit3  VFMinuit   ... Generic VF will use Minuit method w/rank mode 3
    VFFV  genvtx   ... Fixed dummy VF method
    VFMCE  genvtx   ... Fixed vertex from MCEvent
    VFppLMV  genvtx   ... VertexMaker will use ppLMV method
    VFppLMV5  VFppLMV   ... VertexMaker will use ppLMV method (tuned)
    VFStoreX      ... VertexMaker will use save at least 100 vertices
    StiPulls  Sti   Request to make Sti Pulls
    StvPulls      Request to make Stv Pulls
    StiLib     Sti StiUtilitiesLoad Sti
    StiCALib     TPCCATracker StiCALoad Sti+CA
    StiTpc  TpcDb ITTF tpc_T dbutil detDb StarMagField magF  StiTpcLoad StiTpc
    StiSvt     StSvtClassLibrary StSvtDbMaker StiSvtLoad StiSvt
    StiSsd     StSsdUtil StSsdDbMaker StiSsdLoad StiSsd
    StiSst     StSsdUtil StSsdDbMaker StiSsdLoad StiSsd(t)
    StiPxl     StPxlUtil StPxlDbMaker StiPxlLoad StiPxl
    StiIst     StIstUtil StIstDbMaker StiIstLoad StiIst
    StiLibs  StiTpc StiSvt StiSsd BTofUtil  StEEmcDbMakerLoad Sti Detector libs
    StiLibsHft  StiLibs StiSst StiPxl StiIst   Load Sti Detector libs for HFT
    StiHftP  StiLibsHft -SvtIT -SsdIT PxlIT pxlDb   Enables partial Hft (PXL)
    StiHftC  StiLibsHft -SvtIT -SsdIT PxlIT pxlDb IstIT istDb SstIT sstDb   Enables complete Hft (PXL+IST+SST)
    VFPPV  eemcDb StiLib -VFMinuit -VFMinuit2 -VFMinuit3 StGenericVertexMakerMinuit StGenericVertexMaker... Pile-up proof vertex finder
    VFPPVnoCTB  VFPPV   ... Pile-up proof vertex finder noCTB
    VFPPVEv  eemcDb StGenericVertexMakerMinui StGenericVertexMaker... StEvent based VFPPV noCTB
    VFPPVEvNoBtof  VFPPVEv   ...VFPPVEv with no Btof
    StiSti StiLib StiLibs SCL StEvent StDbT TpcIT compend sim_T tbutil StiMakerStEventUtilities StiUtilities StiMakerSti tracker
    StiCASti Sti StiLib StiCALib StiLibs SCL StEvent StDbT TpcIT compend tbutil StiMakerStEventUtilities libEG StiUtilities StiMakerSti+CA tracker
    StiCAPerf     TPCCATrackerPerformanceCA Performance
    StiCASti Sti StiLib StiCALib StiLibs SCL StEvent StDbT TpcIT compend tbutil StiMakerStEventUtilities libEG StiUtilities StiMakerSti+CA tracker
    HLTCA Sti  StHLTCAMakerStHLTCAMakerHLT reconstruction
    KFVertex Sti-genvtx -VFMinuit -VFFV -VFMCE -VFppLMV -VFPPVnoCTB -VFPPV -Kink2 -V02 -Xi2 StKFVertexMakerMathMore Spectrum...KFParticle based multi vertex reconstruction
    StvStv -xgeometry -Sti -StiTpc -StiSsd -StiSvt -StiPxl -StiSsd -StiSst -StiIst StvMakerlibHist libHistPainter libVMC StarMiniCern geant3 GeoTestMaker StvUtil Stv StvSeed StvMaker StEventUtilities -StiLibs -StiLibsHftStv
    StvCAStvCA Stv   StvCA
    StiVMCStiVMC -Sti SCL StEvent StDbT TpcDb compend StiVMCMakerStEventUtilities StiVMC StiVMCMakerITTF VMC tracker
    StiVMCLibs  detDb StarMagField   ITTF:load StiVMC libraries
    laserIT     TpcITuse Sti for laser reconstruction
    TpcIT  ITTF   Sti tracking: TPC
    SvtIT  ITTF   Sti tracking: SVT
    SsdIT  ITTF   Sti tracking: SSD
    HpdIT  ITTF  Sti StiRnDSti tracking: Hpd geom
    PixelIT  PxlIT   Alias for PxlIT
    PxlIT  ITTF   Sti tracking: Pixel geom
    IstIT  ITTF   Sti tracking: Ist geom
    SstIT  ITTF   Sti tracking: Sst geom
    iTpcIT  ITTF   Sti tracking: iTpc geom + hits
    BTofIT  ITTF   Sti tracking: BTof geom
    NoSvtIT  -SvtIT   ITTF: track with switch off SVT geom
    NoSsdIT  -SsdIT   ITTF: track with switch off SSD geom
    NoSstIT  -SstIT   ITTF: track with switch off SST geom
    NoPxlIT  -PxlIT   ITTF: track with switch off PXL geom
    NoIstIT  -IstIT   ITTF: track with switch off IST geom
    skip1row      ITTF: skip the first pad row in TPC
    StiRnD     StiRnDLoad StiRnD shared library
    Alignment      Sti Tpc Alignment reconstruction per sector
    Cosmics      Ignore events without recostructed tracks
    StiPulls  Sti   Request to make Sti Pulls
    BeamBack  StEvent   WARNING *** Option is OBSOLETE ***
    dEdxY2dEdxY2 tpcDb StEvent StdEdxY2MakerlibMinuit StdEdxY2MakerBichsel method used for dEdx
    CalcdNdx  dEdxY2   Option for StdEdxY2Maker to calculate dN/dx
    btofMatch  db BTofUtil vpdCalib btofCalib StBTofMatchMakerStBTofMatchMakerTPC-BTOF track matching
    btofCalib  db BTofUtil StBTofCalibMakerStBTofCalibMakerBTOF calibration
    ETofHit ETofChaindb ETofUtil muDst StETofHitMakerStETofHitMakerETOF hit maker
    ETofMatch ETofChaindb ETofUtil muDst StETofMatchMakerStETofMatchMakerETOF match maker
    ETofQa ETofChaindb ETofUtil muDst StETofQAMakerStETofQAMakerETOF QA maker
    ETofA  etofdat ETofCalib etofhit ETofMatch  ... ETOF chain options for datakFALSE
    mtdMatch  db MtdUtil StMtdMatchMakerStMtdMatchMakerTPC-MTD track matching
    mtdCalib  db StMtdCalibMakerStMtdCalibMakerMTD calibration
    mtdEvtFilt  db StMtdEvtFilterMakerStMtdEvtFilterMakerMTD event filter
    FindVtxSeedFindVtxSeed globT MuDSTDeps picoDst StVertexSeedMakerStPass0CalibMakerPerforms vertex seed finding
    FindEvtVtxSeedFindEvtVtxSeed MuDSTDeps picoDst StEvtVtxSeedMakerStPass0CalibMakerPerforms vertex seed finding using StEvent
    FtpcftpcChain ftpcT fcl fpt StMakerStChain 
    fssftpc_rawftpcChainSCL Simu StFtpcSlowSimMakerStFtpcSlowSimMaker StFtpcTrackMaker StFtpcClusterMakerFTPC Slow simulator
    Fclftpc_hitsftpcChainSCL daq StFtpcClusterMakerStFtpcTrackMaker StFtpcClusterMakerFTPC cluster finder
    fptftpc_tracksftpcChainSCL StFtpcTrackMakerStFtpcTrackMakerFTPC Track Maker
    fgain  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker will produce gain scan histograms
    fdbg  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker will write debugfile
    flaser  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker for LASERTRACKING
    pmdRecopmdReco PmdUtil pmdClust StMakerStChainPMD Reco chain
    pmdRawpmdRawpmdRecopmdReco pmdRead   PMD Reco chain giving raw data
    pmdpmdpmdRecopmdReco pmdSim pmdDis   PMD Simulation chain
    pmdRead pmdRecoPmdUtil StPmdReadMakerStPmdReadMakerDAQ reader for PMD
    pmdSim pmdRecoPmdUtil StPmdSimulatorMakerStPmdSimulatorMakerHit Simulator for PMD
    pmdClustpmdClustpmdReco  StPmdClusterMakerStPmdClusterMakerClusterMaker for PMD
    pmdDispmdDispmdRecoPmdClust StPmdDiscriminatorMakerStPmdDiscriminatorMakerDiscriminator for PMD
    Kink2kink2 db MuDST -kink StKinkMakerStSecondaryVertexMakerFind Kinks from StEvent
    V02v02 db MuDST -V0 StV0FinderMakerStSecondaryVertexMakerFind V0s from StEvent
    Xi2xi2 db MuDST -V02 -Xi StXiFinderMakerStSecondaryVertexMakerXis AND V0s from StEvent
    V0svt      WARNING *** Option is OBSOLETE ***
    Xisvt      WARNING *** Option is OBSOLETE ***
    SCEbyEscebye MuDSTDeps picoDst StSpaceChargeEbyEMakerStMuDSTMaker StPass0CalibMakerDetermine EbyE SpaceCharge using StEvent
    SCScalerCalscscalercal MuDSTDeps picoDst StSpaceChargeEbyEMakerStMuDSTMaker StPass0CalibMakerCalibrate SpaceCharge scalers
    compend  event detDb StEventCompendiumMakerStEventCompendiumMakerFill event summary in ITTF Chain
    shadow  event compend StShadowMakerStShadowMaker 
    TpcAligner  Alignment StTpcAlignerMakerStTpcAlignerMakerTpcAligner
    pecPeC Event StPeCMakerStPeCMakerPCollAnalysis
    RichSpectra      WARNING *** Option is OBSOLETE ***
    TagsChainTagsChain   StMakerStChain 
    TpcTag      WARNING *** Option is OBSOLETE ***
    Flow
    FlowTag      WARNING *** Option is OBSOLETE ***
    FlowAnalysis     WARNING *** Option is OBSOLETE *** 
    SpectraTag      WARNING *** Option is OBSOLETE ***
    HeavyTags TagsChainStEVent StHeavyTagMakerStHeavyTagMaker 
    EbyeScaTags      WARNING *** Option is OBSOLETE ***
    HighPtTags TagsChainStEVent StHighPtTagsMakerStHighPtTagsMaker 
    PCollTag      WARNING *** Option is OBSOLETE ***
    tags TagsChainglobT Event HeavyTags HighPtTags StTagsMakerStTagsMakerCollect all tags to TTree
    noTags  -tags -HeavyTags -HighPtTags   Turn Off tags
    MuDSTChainMuDSTChainEMCmDST CMuDST  StMakerStChain 
    StrngMuDST MuDSTDeps  StStrangeMuDstMaker Creates Stangeness MuDST
    EMCmDST MuDSTChainMuDst StEmcMicroDstMaker Creates EMC MuDST
    CMuDST MuDSTChainMuDst StrngMuDST Tree StMuDstMaker Writes Common MuDST
    RMuDST  CMuDST   reads Common MuDST do not disactivate if no output files
    picoWrite PicoChainpicoDst StPicoDstMaker Writes picoDST format
    picoRead PicoChainpicoDst StPicoDstMaker WritesRead picoDST format
    PicoVtxDefault      pico Vtx default mode
    PicoVtxVpd  -PicoVtxDefault   pico Vtx cut on Tof and VPD mode
    PicoVtxVpdOrDefault  -PicoVtxDefault   pico Vtx cut on Tof and VPD or default
    PicoVtxFXT  -PicoVtxDefault   pico Vtx constraint on FXT [198 202] mode
    PicoVtxMtd  -PicoVtxDefault   pico Vtx using MTD matching mode
    PicoCovMtxSkip      Do not write covariance matrices to picoDst (default)
    PicoCovMtxWrite  -PicoCovMtxSkip   Write track covariance matrices to picoDst
    PicoBEmcSmdSkip      Do not write BSMD to picoDst (default)
    PicoBEmcSmdWrite  -PicoBEmcSmdSkip   Write BSMD to picoDst
    St_geom    St_geom_MakerSt_geom_Maker 
    Display      WARNING *** Option is OBSOLETE *** use Ed.C macro instead
    McMcChainMcEventsim_T globT McAss McAna StMakerStChain 
    McAss McChainMcEvent StAssociationMakerStAssociationMaker 
    McAnaTpc  McAna   Mc Analysis for Tpc
    McAnaSvt  McAna   Mc Analysis for Svt
    McAnaSsd  McAna   Mc Analysis for Ssd
    McAna McChainMcEvent McAss StMcAnalysisMakerStMcAnalysisMaker 
    McQa McChainMcEvent StMcQaMakerStMcQaMakerQA histogramms for McEvent
    McTpcAna McAnaChaintpcDb dbutil McEvent StEvent StTpcMcAnalysisMakerStTpcMcAnalysisMaker 
    MiniMcEvent     StMiniMcEventLoads StMiniMcEvent library only
    MiniMcMk  McAss MiniMcEvent StMiniMcMakerStMiniMcMakerCreates tree in minimc.root file
    SvtMatTree    SvtMatchedTreeStSvtPoolEventT StSvtPoolSvtMatchedTreeCreate SvtMatchedTree
    LAna  in detDb StEvent tpcDb StLaserAnalysisMakerStLaserAnalysisMakerLaser data Analysis
    EandBDir  in StEvent TpcHitMover nodefault StEandBDirMakerMathMore Spectrum StEandBDirMakerget E&B direction
    SpinTag      WARNING *** Option is OBSOLETE ***
    ppLPfind1      WARNING *** Option is OBSOLETE ***
    SpinSortA      WARNING *** Option is OBSOLETE ***
    ppLPprojectA      WARNING *** Option is OBSOLETE ***
    ppDAQfilter1      WARNING *** Option is OBSOLETE ***
    ppLPeval1      WARNING *** Option is OBSOLETE ***
    QA      WARNING *** Option is OBSOLETE ***
    EventQAEventQA QUtils Event StEventQAMakerSt_QA_MakerFilling Y2/Y3 Qa histo
    QACCosmicsQAglobT  StQACosmicMakerStQACosmicMaker 
    QAalltrigs      Analyze all triggers in QA
    HitFilt    StHitFilterMakerStHitFilterMakerHit filter Maker
    SvtHitFilt  HitFilt   SVT Hit filter Maker
    TpcHitFilt  HitFilt   filter out TPC Hits not on tracks
    HftHitFilt  HitFilt   filter out non-HFT hits
    KeepTpcHit  HitFilt   Keep all TPC hits in StHitFilterMaker
    KeepSvtHit  HitFilt   Keep all SVT hits in StHitFilterMaker
    KeepFgtHit  HitFilt   Keep all FGT hits in StHitFilterMaker
    TreeOutTree   StTreeMakerStTreeMakerWrite requested branches into files
    logger      Use log4cxx package to manage the program messages
    NoSimuDb      Switch off Simu Option for DB
    SimuDb  -NoSimuDb   Switch on Simu Option for DB
    NoOutput  -Tree -EvOut noTags   Suppress Output root files
    EvOutOnly  EvOut Tree noTags   Only event.root files
    NoDefault      No Default consistency check
    Notpc_daq  -tpc_daq   No tpc_daq
    analysis  StEvent StAnalysisMakerStAnalysisMakerExample of Analysis
    NewTpcAlignment      Switch on new Tpc Alignment schema
    Aliasedtime stamps      
    -

    Options for Block 1

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    KeyNameChainOpts MakerLibsComment
    TIME STAMPS
    RY2008  db detDb NosvtIT NossdIT   y2008 for dAu run
    RY2009  db detDb NosvtIT NossdIT   y2009 for p+p run
    ForceGeometry      Force geometry to overwrite the geometry coming from fz-file
    Valid Db
    NoDb  -db -tpcDb -magF   Take out Db from Chain
    DbV  db ry1h   19940614/0 Db Version for none
    DbV0614  db ry1h   20000614/0 Db Version for p00hd
    DbV0624  db ry1h   20000624/0 Db Version for p00hd_1
    DbV0713  db ry1h   20000713/0 Db Version for p00he
    DbV0727  db ry1h   20000727/0 Db Version for p00he
    DbV0819  db ry1h   20000819/0 Db Version for p00hg
    DbV1123  db ry1h   20001123/0 Db wo TpcDriftVel. from StTpcT0Maker
    DbV0523  db ry1h   20010523/0 Db Version for p01he
    DbV1007  db ry1h   20011007/0 Db Version for p01hi
    DbV1107  db ry1h   20011107/0 Db Version for pass1 p01gk
    DbV1211  db ry1h   20011211/0 Db Version for prod p01gl
    geometry     geometrygeometry+Mag.Field
    ideal      Ideal Alignment
    misalign     -AgMLidealMisaligned Geometry
    AgMLutil     StarAgmlUtilAgML support
    AgMLlib     StarAgmlUtil StarAgmlLibAgML support
    AgML  AgMLlib -Agi -VmcGeo  Geometry StarGeometryAlias VmcGeometry to AgiLGeometry
    Agi  -VmcGeo   Alias VmcGeometry to AgiGeometry (gstar original geometry)
    VmcGeo  -AgML -Agi   Alias VmcGeometry to VmcGeo
    Trigger Type
    Physics      WARNING *** Option is OBSOLETE ***
    LaserTest      WARNING *** Option is OBSOLETE ***
    PulserSvt      WARNING *** Option is OBSOLETE ***
    alltrigger      WARNING *** Option is OBSOLETE ***
    phys_off      Turn off physics in simulation
    hadr_off      Turn off hadronic interactions in simulation
    C H A I N S
    Calibration chains
    LanaDV  LanaDVtpx   get LDV
    LanaDVtpx  MakeEvent trgd in tpx TpcHitMover LaserIT VFMinuit Lana Analysis Corr4 NosvtIT NossdIT   get LDV with TPX
    LaserDV.Chain  in LaserCal fcf TpcHitMover OGridLeak3D OShortR OSpaceZ2   get LDV
    Test.default.ITTF  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent genvtx miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.default.y2005g.ITTF  Test.default.ITTF sdt20050130 noSimuDb    
    Test.default.y2007g.ITTF  Test.default.ITTF sdt20070322 noSimuDb    
    Test.fast.y2005g.ITTF  Test.fast.ITTF sdt20050130 noSimuDb    
    Test.reco.StiVMC  MakeEvent tpcI tcl ftpc SvtCL Test.StiVMC    
    Test.default.StiVMC  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.StiVMC  TpcRS StiVMC event analysis tags EvOut StarMagField FieldOn Idst CMuDst    
    Test.VeryFast.StiVMC  TpcFastSim Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT StiVMC Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.fast.StiVMC  tfs Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb StiVMC Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.fast.y2007g.ITTF  Test.fast.ITTF sdt20070322 noSimuDb    
    Test.VeryFast.y2005g.ITTF  Test.VeryFast.ITTF sdt20050130 noSimuDb    
    Test.VeryFast.y2007g.ITTF  Test.VeryFast.ITTF sdt20070322 noSimuDb    
    Test.default.StiVMC  TpcRS Simu sss svt ssd fss bbcSim IdTruth MakeEvent miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.y2009.ITTF  Test.default.ITTF y2009 TpcRS sdt20090428.141700    
    Test.y2009.StiVMC  Test.default.StiVMC y2009 TpcRS sdt20090428.141700 noSimuDb    
    Test.fast.y2005g.StiVMC  Test.fast.StiVMC sdt20050130 noSimuDb    
    Test.VeryFast.y2005g.StiVMC  Test.VeryFast.StiVMC sdt20050130 noSimuDb    
    Test.VeryFast.y2007g.StiVMC  Test.VeryFast.StiVMC sdt20070322 noSimuDb    
    Test.default.Fast.ITTF  tfs sfs ssdFast IdTruth MakeEvent miniMcMk Test.ITTF    
    Test.srs.ITTF  TpcRS Simu srs svt ssd fss bbcSim emcY2 McEvOut GeantOut IdTruth miniMcMk McAna Test.reco.ITTF CMuDst    
    Test.ITTF  svtIT ssdIT ITTF event analysis EventQA tags EvOut StarMagField FieldOn IDST CMuDst analysis  
    Test.reco.ITTF  MakeEvent tpcI tcl ftpc SvtCL Test.ITTF    
    Test.fast.ITTF  tfs Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT ITTF Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    Test.VeryFast.ITTF  TpcFastSim Simu sfs ssdfast McEvOut GeantOut IdTruth miniMcMk McAna SvtCL tpc_T globT tls db tpcDB svtDb svtIT ssdIT ITTF Idst event analysis EventQA tags EvOut StarMagField FieldOn IAna CMuDst    
    nightly test (dev) chains
    McMcChainMcEventsim_T globT McAss McAna StMakerStChain 
    MC.y2000  trs rrs y1h Idst rich IAna l0 tpcI tpxClu NosvtIT NossdIT -Kink2 VFMinuit geant evout IdTruth tags GeantOut big    
    MC.y2001  trs fss rrs y2001n Idst rich IAna l0 tpcI tpxClu ftpc -Kink2 VFMinuit geant evout IdTruth tags emcY2 GeantOut big    
    MC.pp.y2001  trs rrs fss y2001n Idst rich IAna l0 tpcI tpxClu ftpc -Kink2 VFMinuit geant evout IdTruth tags emcY2 MiniMcMk GeantOut big    
    MC.y2003  trs fss y2003 Idst IAna l0 tpcI tpxClu ftpc VFMinuit bbcSim tofsim tags emcY2 evout IdTruth geantout    
    MC.y2004  trs srs fss y2004 Idst BAna l0 tpcI tpxClu ftpc VFMinuit SvtIt geant evout tags bbcSim tofsim emcY2 EEfs GeantOut big    
    MC.y2004a  trs srs fss y2004a Idst BAna l0 tpcI tpxClu ftpc VFMinuit SvtIT geant tags bbcSim tofsim emcY2 EEfs evout GeantOut big  
    MC.y2005  trs srs fss ssd y2005x Idst IAna l0 tpcI tpxClu ftpc SvtCL svtDb SsdIt SvtIt VFMinuit geant evout tags bbcSim tofsim emcY2 EEfs GeantOut big    
    MC.y2006  trs fss y2006h Idst IAna l0 tpcI tpxClu ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.y2007  trs srs ssd fss y2007 Idst BAna tpcI tpxClu ftpc SvtIt SsdIt VFMinuit MakeEvent IdTruth geant tags bbcSim tofsim emcY2 EEfs evout GeantOut big    
    MC.y2008  trs fss y2008a Idst IAna tpcI tpxClu ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.in.y2008  in y2008e FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.in.y2009  in y2009c FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2009  TpcRS TpxClu fss y2009 Idst IAna tpcI ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim tofsim tags emcY2 EEfs evout IdTruth geantout big  
    MC.y2009a  TpcRS TpxClu fss y2009a Idst IAna tpcI ftpc VFMinuit NoSsdIt NoSvtIt MakeEvent bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2010a  TpcRS TpxClu y2010a MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2010  TpcRS TpxClu y2010 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.fast.pp.y2011  y2011 Test.default.Fast.ITTF bbcSim btofsim btofMatch emcY2 emcSim EEfs NosvtIT NossdIT -sfs -ssdFast VFPPVnoCTB beamline    
    MC.in.y2010  in y2010c FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2011  TpcRS TpxClu y2011 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big  
    MC.fast.y2011  y2011 Test.default.Fast.ITTF NosvtIT NossdIT -sfs -ssdFast VFPPVnoCTB beamline emcy2    
    MC.in.y2011  in y2011 FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll    
    MC.y2012  TpcRS TpxClu y2012 MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2012a  TpcRS TpxClu y2012a MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2012.eval  in y2012 FieldOn ReverseField Idst BAna ftpcT fpt NoSsdIt NoSvtIt VFMinuit tpcDB MakeEvent IdTruth tags bbcsim emcY2 EEfs evout big McEvout MiniMcMk ReadAll  
    MC.y2013  TpcRS TpxClu y2013_1x useXgeom MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    MC.y2014  TpcRS TpxClu y2014 useXgeom MakeEvent NoSsdIt NoSvtIt Idst BAna VFMinuit tpcDB TpcHitMover bbcSim btofsim btofMatch tags emcY2 EEfs evout IdTruth geantout big    
    RC
    RC.y2000  p2000 VFMinuit CMuDst NosvtIT NossdIT    
    RC.y2001  P2001a VFMinuit ZDCvtx CMuDst NosvtIT NossdIT    
    RC.pp.y2001  pp2001a VFMinuit CMuDst NossdIT    
    RC.pp.y2001.ppv  pp2001a VFPPV beamLine CMuDst NossdIT    
    RC.y2003  DbV20040520 dau2003i in -SvtIT NossdIT    
    RC.pp.y2003.VFPPV  pp2003 VFPPV beamLine CMuDst -svtIT NossdIT Corr2 v0 xi    
    RC.y2004  P2004 DbV20041213    
    RC.y2004.NoSvt  P2004 DbV20041213 -SsdIt -SvtIt pmdRaw    
    RC.y2004.NoSvt.pmd  P2004 DbV20041213 pmdRaw -SvtIT -SsdIT    
    RC.pp.y2004  pp2004 DbV20041213 beamLine    
    RC.y2005  P2005 tofDat MakeEvent ssddat sptd SsdIt SvtIt pmdRaw OShortR OSpaceZ2    
    RC.pp.y2005  pp2005a tofdat OSpaceZ2 OGridLeak3D    
    RC.pp.y2006  pp2006b OSpaceZ2 OGridLeak3D    
    RC.y2007  DbV20080418 B2007g IAna KeepSvtHit hitfilt VFMinuit3 emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2007.NoSvt  DbV20080418 B2007g IAna KeepSvtHit hitfilt VFMinuit3 emcDY2 ftpc trgd ZDCvtx Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2008  DbV20080712 P2008 OSpaceZ2 OGridLeak3D beamLine    
    RC.y2008.notof  DbV20080712 P2008 -ToF -tofDat -tofrMatch -tofpMatch -tofCalib OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2008  DbV20080712 pp2008 OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2008.Minuit  DbV20080712 pp2008 -VFPPV VFMinuit -ToF -tofDat -tofrMatch -tofpMatch -tofCalib OSpaceZ2 OGridLeak3D beamLine    
    RC.pp.y2009  pp2009c VFMinuit beamLine BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2009.notof  pp2009c VFMinuit beamLine BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2009.VFPP  pp2009c VFPPVnoCTB beamLine BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D    
    RC.y2010  P2010a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D pmdReco    
    RC.y2010.notof  P2010a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D    
    RC.pp.y2011.VFPPV  pp2011a VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2011  pp2011a VFMinuit beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.y2011  P2011a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt pmdReco mtdDat    
    RC.y2011.notof  P2011a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt pmdReco mtdDat    
    RC.y2012  P2012a BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.y2012.notof  P2012a BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012  pp2012a VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.pp.y2012.notof  pp2012a VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012.notofMin  pp2012a VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.y2012b  P2012b BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.y2012b.notof  P2012b BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.pp.y2012b  pp2012b VFPPVnoCTB beamline BEmcChkStat btof Corr4 OSpaceZ2 OGridLeak3D -hitfilt mtdDat fmsDat    
    RC.pp.y2012b.notof  pp2012b VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2012b.notofMin  pp2012b VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2012b.notofMin  pp2012b VFMinuit beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt  
    RC.pp.y2013  pp2013a mtd btof fmsDat fgt fgtPoint VFPPVnoCTB beamline BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    RC.y2014  P2014a mtd btof BEmcChkStat Corr4 OSpaceZ2 OGridLeak3D -hitfilt    
    MC nightlies and Eval--      
    test_MC.stan.y2000  MC.y2000 Sti fzin MiniMcMk   /star/rcf/simu/cocktail/hadronic/default/standard/year_1h/half_field/hadronic_on/Gstardata/hc_standard.40_evts.fz
    test_MC.pp.y2001  MC.pp.y2001 Sti fzin MiniMcMk   /star/rcf/simu/pp200/pythia/default/minbias/year2001/hadronic_on/gstardata/pds0200_04_12812evts.fzd
    test_MC.stan.y2001  MC.y2001 Sti fzin MiniMcMk   /star/rcf/simu/cocktail/hadronic/default/standard/year2001/hadronic_on/Gstardata/hc_standard.40_evts.fz
    test_dau.MC.y2003  MC.y2003 Sti fzin MiniMcMk   /star/rcf/simu/rcf1197_05_5940evts.fzd
    test_auauCtr.MC.y2004  MC.y2004a Sti fzin MiniMcMk   /star/rcf/simu/rcf1209_05_80evts.fzd
    test_auau.MC.y2004  MC.y2004 Sti fzin MiniMcMk   /star/rcf/simu/rcf1207_01_225evts.fzd
    test_cucu200.MC.y2005  MC.y2005 Sti fzin MiniMcMk   /star/rcf/simu/rcf1216_05_200evts.fzd
    test_cucu62.MC.y2005  MC.y2005 Sti fzin MiniMcMk   /star/rcf/simu/rcf1237_01_500evts.fzd
    test_pp200.MC.y2006  MC.y2006 Sti fzin MiniMcMk   /star/rcf/simu/rcf9991_01_1000evts.fzd
    test_auau200.MC.y2007  MC.y2007 Sti fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    test_dau200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    test_pp200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    test_pp200.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    test_pp500.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    test_auau11.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    test_auau200.MC.y2010  MC.y2010 Sti fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    test_auau39.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    test_auau62.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    test_auau7.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    test_auau200.MC.y2011  MC.y2011 Sti fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    test_pp500.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    test_pp500.pileup.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    test_CuAu200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    test_CuAu200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    test_pp200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    test_pp200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    test_pp500.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    test_pp500.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    test_UU200.MC.AgML.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    test_UU200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    test.RC.centr.y2000  RC.y2000 Sti   /star/rcf/test/daq/2000/09/st_physics_1248022_raw_0001.daq
    test.RC.minb.y2000  RC.y2000 Sti   /star/rcf/test/daq/2000/08/st_physics_1229021_raw_0003.daq
    test.RC.cent.y2001d  RC.y2001 v02 xi2 Sti   /star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq
    test.RC.cent.y2001  RC.y2001 v0 xi Sti   /star/rcf/test/daq/2001/327/st_physics_2327038_raw_0010.daq
    test.RC.minb.y2001d  RC.y2001 v02 xi2 Sti   /star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq
    test.RC.minb.y2001  RC.y2001 v0 xi Sti   /star/rcf/test/daq/2001/295/st_physics_2295030_raw_0010.daq
    test.RC.pp.y2001d  RC.pp.y2001 v02 xi2 Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.pp.y2001  RC.pp.y2001.ppv v0 xi Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.pp.y2001_vfppvd  RC.pp.y2001.ppv v02 xi2 Sti   /star/rcf/test/daq/2002/008/st_physics_3008016_raw_0001.daq
    test.RC.dau.y2003  RC.y2003 ITTF Sti   /star/rcf/test/daq/2003/041/st_physics_4041002_raw_0020001.daq
    test.RC.pp.y2003  RC.pp.y2003.VFPPV Sti   /star/rcf/test/daq/2003/095/st_physics_4095050_raw_0010002.daq
    test.RC.auau.lo.y2004  RC.y2004 -SvtIT -SsdIT pmdRaw ITTF Sti   /star/rcf/test/daq/2004/044/st_physics_5044116_raw_3010002.daq
    test.RC.auau.ph.y2004  RC.y2004 pmdRaw -SvtIT -SsdIT ITTF Sti   /star/rcf/test/daq/2004/044/st_physics_5044102_raw_1010003.daq
    test.RC.auau.StiCA.y2004  RC.y2004 -SsdIt -SvtIt pmdRaw StiCA   /star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq
    test.RC.auau.y2004  RC.y2004 -SsdIt -SvtIt pmdRaw ITTF Sti   /star/rcf/test/daq/2004/028/st_physics_5028066_raw_1010003.daq
    test.RC.pp.y2004  RC.pp.y2004 ITTF Sti   /star/rcf/test/daq/2004/134/st_physics_5134013_raw_2010010.daq
    test.RC.cucu200.ht.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/054/st_physics_6054016_raw_1020005.daq
    test.RC.cucu200.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/048/st_physics_6048025_raw_1020002.daq
    test.RC.cucu22.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/083/st_physics_6083006_raw_1040002.daq
    test.RC.cucu62.y2005  RC.y2005 ITTF Sti   /star/rcf/test/daq/2005/080/st_physics_6080011_raw_1020004.daq
    test.RC.pp200.y2005  RC.pp.y2005 ITTF Sti   /star/rcf/test/daq/2005/171/st_physics_6171062_raw_2040010.daq
    test.RC.pp200.Long.y2006  RC.pp.y2006 ITTF Sti   /star/rcf/test/daq/2006/155/7155010/st_physics_7155010_raw_1020003.daq
    test.RC.pp200.Trans.y2006  RC.pp.y2006 ITTF Sti   /star/rcf/test/daq/2006/129/7129023/st_physics_7129023_raw_1020003.daq
    test.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    test.RC.auau200.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq
    test.RC.dau200.y2008  RC.y2008 ITTF Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    test.RC.pp200.y2008  RC.pp.y2008 ITTF Sti   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    test.RC.pp200.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    test.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    test.RC.auau11.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    test.RC.auau200.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    test.RC.auau39.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    test.RC.auau62.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    test.RC.auau7.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/143/st_physics_11143043_raw_1020001.daq
    test.RC.auau200.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    test.RC.auau20.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    test.RC.auau27.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    test.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    test.RC.cuAu200.AgML.y2012  RC.y2012b AgML Sti   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    test.RC.cuAu200.y2012  RC.y2012b Sti   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    test.RC.pp200.AgML.y2012  RC.pp.y2012b AgML Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    test.RC.pp200.y2012  RC.pp.y2012b Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    test.RC.pp500.AgML.y2012  RC.pp.y2012b AgML Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    test.RC.pp500.y2012  RC.pp.y2012b Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    test.RC.UU193.AgML.y2012  RC.y2012b AgML Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    test.RC.UU193.y2012  RC.y2012b Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    test.RC.pp500.y2013  RC.pp.y2013 Sti   /star/rcf/test/daq/2013/079/st_physics_14079008_raw_1920004.daq
    test.RC.AuAu15.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/069/st_physics_15069008_raw_2500008.daq
    test.RC.AuAu200.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/086/st_physics_15086051_raw_2500017.daq
    test.RC.AuAu200.mid.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/146/st_mtd_15146050_raw_1000030.daq
    test.RC.He3Au200.y2014  RC.y2014 Sti   /star/rcf/test/daq/2014/171/st_physics_15171039_raw_2000008.daq
    eval_Sti_auau200.MC.y2007  MC.y2007 Sti fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    eval_StiCA_auau200.MC.y2007  MC.y2007 StiCA fzin MiniMcMk   /star/rcf/simu/rcf1296_02_100evts.fzd
    eval_Sti.AgML_dau200.MC.y2008  MC.y2008 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_Sti.AgML_pp200.MC.y2008  MC.y2008 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_StiCA_dau200.MC.y2008  MC.y2008 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_StiCA_pp200.MC.y2008  MC.y2008 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_Sti_dau200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9066_20_1000evts.fzd
    eval_Sti_pp200.MC.y2008  MC.y2008 Sti fzin MiniMcMk   /star/rcf/simu/rcf9992_01_1000evts.fzd
    eval_StvCA_dau200.MC.Stv.y2008  MC.in.y2008 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11025_2040_100evts.event.root
    eval_Stv_dau200.MC.y2008  MC.in.y2008 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11025_2040_100evts.event.root
    eval_Sti.AgML_pp500.MC.y2009  MC.y2009a Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_StiCA_pp200.MC.y2009  MC.y2009a StiCA fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    eval_StiCA_pp500.MC.y2009  MC.y2009a StiCA fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_Sti_pp200.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9993_01_1000evts.fzd
    eval_Sti_pp500.MC.y2009  MC.y2009a Sti fzin MiniMcMk   /star/rcf/simu/rcf9994_01_1000evts.fzd
    eval_StvCA_pp500.MC.y2009  MC.in.y2009 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11026_1020_50evts_pileup.event.root
    eval_Stv_pp500.MC.y2009  MC.in.y2009 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11026_1020_50evts_pileup.event.root
    eval_Sti.AgML_auau11.MC.y2010  MC.y2010a Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_Sti.AgML_auau200.MC.y2010  MC.y2010 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_Sti_auau11.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_Sti_auau200.MC.y2010  MC.y2010 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_Sti_auau39.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_Sti_auau62.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_Sti_auau7.MC.y2010  MC.y2010a Sti fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_StiCA_auau11.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10031_1_100evts.fzd
    eval_StiCA_auau200.MC.y2010  MC.y2010 StiCA fzin MiniMcMk   /star/rcf/simu/rcf9068_305_100evts.fzd
    eval_StiCA_auau39.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_StiCA_auau62.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_StiCA_auau7.MC.y2010  MC.y2010a StiCA fzin MiniMcMk   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_Stv_auau200.MC.y2010  MC.in.y2010 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11022_2241_50evts.event.root
    eval_StvCA_auau200.MC.y2010  MC.in.y2010 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11022_2241_50evts.event.root
    eval_StvCA_auau39.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10032_1_100evts.fzd
    eval_StvCA_auau62.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10033_1_100evts.fzd
    eval_StvCA_auau7.MC.y2010  MC.y2010a StvCA   /star/rcf/simu/rcf10030_1_100evts.fzd
    eval_Sti.AgML_auau200.MC.y2011  MC.y2011 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    eval_Sti.AgML_pp500.MC.y2011  MC.fast.y2011 AgML Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_Sti_auau200.MC.y2011  MC.y2011 Sti fzin MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.fzd
    eval_StiCA_pp500.MC.y2011  MC.fast.y2011 StiCA fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_StiCA_pp500.pileup.MC.y2011  MC.fast.y2011 StiCA fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    eval_Sti_pp500.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd
    eval_Sti_pp500.pileup.MC.y2011  MC.fast.y2011 Sti fzin MiniMcMk   /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_200evts_Wplus_enu.fzd\n gfile b /star/rcf/simu/pp500/pythia/pileup/rcf10100_90_4000evts_minb.fzd\n mode TPCE back 4001400\n gback 400 400 0.1 106.6
    eval_Stv_auau200.MC.y2011  MC.in.y2011 Stv StvPulls in MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.event.root
    eval_StvCA_auau200.MC.y2011  MC.in.y2011 StvPulls StvCA in MiniMcMk   /star/rcf/simu/rcf11023_2060_25evts.event.root
    eval_Sti.AgML_CuAu200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    eval_Sti.AgML_pp200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    eval_Sti.AgML_pp500.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    eval_Sti.AgML_UU200.MC.y2012  MC.y2012 Sti AgML fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    eval_Sti_CuAu200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12003_1_100evts.fzd
    eval_Sti_pp200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12000_1_1000evts.fzd
    eval_Sti_pp500.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12001_1_1000evts.fzd
    eval_Sti_UU200.MC.y2012  MC.y2012 Sti fzin MiniMcMk   /star/rcf/simu/rcf12002_1_100evts.fzd
    eval_Sti.AgML.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF AgML Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StiCA.RC.auau200.MB.y2007  RC.y2007 pmdReco StiCA   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StiCA.RC.auau200.y2007  RC.y2007 pmdReco StiCA   /star/rcf/test/daq/2007/112/8112052/st_physics_8112052_raw_1020010.daq
    eval_Sti.RC.auau200.MB.y2007  RC.y2007 pmdReco ITTF Sti   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Stv.AgML.RC.auau200.MB.y2007  RC.y2007 Stv AgML   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_StvCA.RC.auau200.MB.y2007  RC.y2007.NoSvt StvCA   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Stv.RC.auau200.MB.y2007  RC.y2007.NoSvt Stv   /star/rcf/test/daq/2007/113/8113044/st_physics_8113044_raw_1040042.daq
    eval_Sti.AgML.RC.dau200.y2008  RC.y2008 ITTF AgML Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StiCA.RC.dau200.y2008  RC.y2008 StiCA   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StiCA.RC.pp200.y2008  RC.pp.y2008 StiCA   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Sti.RC.dau200.y2008  RC.y2008 ITTF Sti   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_Sti.RC.pp200.y2008  RC.pp.y2008 ITTF Sti   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Stv.AgML.RC.dau200.y2008  RC.y2008.notof Stv AgML   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StvCA.RC.dau200.y2008  RC.y2008.notof StvCA   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_StvCA.RC.pp200.y2008  RC.pp.y2008.Minuit StvCA   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Stv.RC.dau200.y2008  RC.y2008.notof Stv   /star/rcf/test/daq/2007/352/st_physics_8352025_raw_1030011.daq
    eval_Stv.RC.pp200.y2008  RC.pp.y2008.Minuit Stv   /star/rcf/test/daq/2008/043/st_physics_9043046_raw_2030002.daq
    eval_Sti.AgML.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_StiCA.RC.pp200.y2009  RC.pp.y2009.VFPP StiCA   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_StiCA.RC.pp500.y2009  RC.pp.y2009.VFPP StiCA   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Sti.RC.pp200.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_Sti.RC.pp500.y2009  RC.pp.y2009.VFPP ITTF Sti   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Stv.AgML.RC.pp500.y2009  RC.pp.y2009 Stv AgML   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_StvCA.RC.pp200.y2009  RC.pp.y2009 StvCA   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_StvCA.RC.pp500.y2009  RC.pp.y2009 StvCA   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Stv.RC.pp200.y2009  RC.pp.y2009 Stv   /star/rcf/test/daq/2009/115/st_physics_10115020_raw_5020001.daq
    eval_Stv.RC.pp500.y2009  RC.pp.y2009 Stv   /star/rcf/test/daq/2009/085/st_physics_10085024_raw_2020001.daq
    eval_Sti.AgML.RC.auau200.y2010  RC.y2010.notof AgML Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Sti.AgML.RC.auau39.y2010  RC.y2010.notof AgML Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StiCA.RC.auau11.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_StiCA.RC.auau200.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_StiCA.RC.auau39.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StiCA.RC.auau62.y2010  RC.y2010 StiCA   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Sti.RC.auau11.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_Sti.RC.auau200.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Sti.RC.auau39.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_Sti.RC.auau62.y2010  RC.y2010 Sti   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Stv.AgML.RC.auau200.y2010  RC.y2010.notof Stv AgML   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Stv.AgML.RC.auau39.y2010  RC.y2010.notof Stv AgML   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StvCA.RC.auau11.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_StvCA.RC.auau200.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_StvCA.RC.auau39.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_StvCA.RC.auau62.y2010  RC.y2010.notof StvCA   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Stv.RC.auau11.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/157/st_physics_11157020_raw_2030001.daq
    eval_Stv.RC.auau200.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/029/st_physics_11029020_raw_1030002.daq
    eval_Stv.RC.auau39.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/100/st_physics_11100070_raw_1030001.daq
    eval_Stv.RC.auau62.y2010  RC.y2010.notof Stv   /star/rcf/test/daq/2010/098/st_physics_11098050_raw_3020001.daq
    eval_Sti.AgML.RC.auau200.y2011  RC.y2011 AgML Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Sti.AgML.RC.auau20.y2011  RC.y2011 AgML Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Sti.AgML.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_StiCA.RC.auau200.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_StiCA.RC.auau20.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StiCA.RC.auau27.y2011  RC.y2011 StiCA   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_StiCA.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat StiCA   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Sti.RC.auau200.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Sti.RC.auau20.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Sti.RC.auau27.y2011  RC.y2011 Sti   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_Sti.RC.pp500.y2011  RC.pp.y2011.VFPPV pmdReco mtdDat Sti   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Stv.AgML.RC.auau200.y2011  RC.y2011 Stv AgML   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Stv.AgML.RC.auau20.y2011  RC.y2011 Stv AgML   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StvCA.RC.auau200.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_StvCA.RC.auau20.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_StvCA.RC.auau27.y2011  RC.y2011 StvCA   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_StvCA.RC.pp500.y2011  RC.pp.y2011 pmdReco mtdDat StvCA   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Stv.RC.auau200.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/130/st_physics_12130084_raw_5020002.daq
    eval_Stv.RC.auau20.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/122/st_physics_12122018_raw_2010002.daq
    eval_Stv.RC.auau27.y2011  RC.y2011 Stv   /star/rcf/test/daq/2011/174/st_physics_12174106_raw_2040001.daq
    eval_Stv.RC.pp500.y2011  RC.pp.y2011 pmdReco mtdDat Stv   /star/rcf/test/daq/2011/059/st_physics_12059038_raw_2030002.daq
    eval_Sti.AgML.RC.pp200.y2012  RC.pp.y2012 AgML Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.AgML.RC.pp500.y2012  RC.pp.y2012 AgML Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Sti.AgML.RC.UU193.y2012  RC.y2012 AgML Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_StiCA.RC.pp200.y2012  RC.pp.y2012 StiCA   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.RC.pp200.y2012  RC.pp.y2012 Sti   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Sti.RC.pp500.y2012  RC.pp.y2012 Sti   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Sti.RC.UU193.y2012  RC.y2012 Sti   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_Stv.AgML.RC.cuAu200.y2012  RC.y2012b.notof Stv AgML   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_Stv.AgML.RC.pp200.y2012  RC.pp.y2012.notofMin Stv AgML   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Stv.AgML.RC.pp500.y2012  RC.pp.y2012.notofMin Stv AgML   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Stv.AgML.RC.UU193.y2012  RC.y2012b.notof Stv AgML   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_StvCA.RC.cuAu200.y2012  RC.y2012b.notof StvCA   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_StvCA.RC.pp200.y2012  RC.pp.y2012.notofMin StvCA   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_StvCA.RC.pp500.y2012  RC.pp.y2012.notofMin StvCA   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_StvCA.RC.UU193.y2012  RC.y2012b.notof StvCA   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    eval_Stv.RC.cuAu200.y2012  RC.y2012b.notof Stv   /star/rcf/test/daq/2012/143/st_physics_13143018_raw_3020009.daq
    eval_Stv.RC.pp200.y2012  RC.pp.y2012.notofMin Stv   /star/rcf/test/daq/2012/044/st_physics_13044030_raw_2010001.daq
    eval_Stv.RC.pp500.y2012  RC.pp.y2012.notofMin Stv   /star/rcf/test/daq/2012/082/st_physics_13082004_raw_1020004.daq
    eval_Stv.RC.UU193.y2012  RC.y2012b.notof Stv   /star/rcf/test/daq/2012/115/st_physics_13115004_raw_2010002.daq
    doEvents  in StEvent analysis NoDb    
    MakeMuDst  in StEvent CMuDST Tree nodefault NoHistos ReadAll   StEvent => MuDst
    drawDst  in ry1h globT SCL geant display NoDb TbUtil    
    Cdst  ITTF event analysis EventQA    
    C1default  rich l0 Cdst tags Tree EvOut NoHits   Year 1 chain
    C2default  rich l0 Cdst tags Tree EvOut ftpc svt emcY2   Year 2 chain
    C3default  l0 Cdst tags Tree EvOut NoHits ftpc svt bbcsim emcY2   Year 3 simu base chain
    CAdefault  l0 Cdst tags Tree EvOut NoHits ftpc svt emcY2   Assymptotic chain
    Cy1a  y1a C1default   Turn on chain y1a
    Cy1b  y1b C1default   Turn on chain y1b
    Cy1s  y1s C1default   Turn on chain y1s
    Cy1d  y1d C1default   Turn on chain y1d
    cy1e  y1e C1default   Turn on chain y1h
    cy1h  y1h C1default   Turn on chain y1e
    Cy2a  y2a CAdefault   Turn on chain y2a
    Cy2b  y2b C2default   Turn on chain y2b
    C2000  y2000 C1default   Turn on chain Y2000
    C2001  y2001 C2default   Turn on chain Y2001
    C2003  y2003 C3default   Turn on chain Y2003
    C2003X  y2003X C3default   Turn on chain Y2003X (full B/E EMC)
    mdc3  cy1h GeantOut   MDC3 default chain
    MDC4  C2001 trs tpc_daq Simu srs fss rrs big GeantOut   Turn on chain for MDC4
    MDC4New  y2001n C2default trs tpc_daq Simu srs fss rrs big GeantOut   Turn on chain for MDC4 (for after September)
    PostMDC4  C2001 trs tpc_daq Simu sss fss rrs big GeantOut   Turn on Post MDC4 chain
    ppMDC4  ppOpt C2001 mwc trs tpc_daq Simu srs rrs big GeantOut   Turn on chain for ppMDC
    dAuMDC  ppOpt C2003 trs tpc_daq Simu srs fss big GeantOut   Chain for d+Au
    dAuMDCa  ppOpt C2003 trs tpc_daq Simu srs fss big GeantOut est   Chain for d+Au
    CComplete  Complete C2default   Turn on chain for Complete STAR
    SvtD  SvtCalDb SvtSeqAdj SvtClu SvtCluAnal SvtHit   SVT chain for Data
    P00h  ry1h in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout ExB NoHits   Production chain for summer 2000 data
    P2000  ry2000 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout ExB NoHits   Production chain for summer 2000 data
    B2000  ry2000 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout NosvtIT NossdIT   Base chain for 2001 (tpc+rhic)
    P2000a  B2000 Corr1   Production chain for summer 2000 data
    B2001  ry2001 in tpc_daq tpc rich Physics Cdst Kalman tags Tree evout svtDb   Base chain for 2001 (tpc+rhic)
    P2001  B2001 l3onl tofDat Corr2 OSpaceZ   Production chain for summer 2001 data (+ l3 tof)
    P2001a  B2001 svt_daq SvtD ftpc l3onl tofDat emcDY2 Corr2 OSpaceZ   Production chain for summer 2001 data (+ ftpc svt l3 tof emc)
    pp2001  ppOpt B2001 -PreVtx l3onl tofDat emcDY2 Corr2   pp 2001 (+ l3 tof emc)
    pp2001a  pp2001 svt_daq SvtD ftpc   pp 2001 (+ ftpc svt l3 tof emc)
    B2003  ry2003 in tpc_daq tpc Physics Cdst Kalman tags Tree evout svtDb   Base chain for 2003 (tpc)
    dau2003  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc   Production chain for winter 2003 data (+ tof svt (no est) ftpc emc)
    dau2003a  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data (+ tof svt (no est) ftpc emc trgd)
    pp2003  B2003 Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for Spring 2003 data (+ tof svt (no est) ftpc emc trgd)
    Idst  event compend EventQA   Turn on DST for ITTF
    IAna  dEdxY2 Kink2 xi2 CMuDst analysis   Turn on Xi Kink dEdx and MuDst
    BAna  dEdxY2 CMuDst analysis   Turn on dEdx and MuDst
    B2003I  ry2003 in TpxRaw TpxClu Idst l0 tags Tree evout svtDb   Base chain for 2003 ITTF
    dau2003i  B2003I IAna CtbMatchVtx Corr2 ppOpt l3onl tofDat emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data dau2003a with ITTF
    pp2003i  B2003I IAna CtbMatchVtx Corr2 ppOpt -PreVtx l3onl ToF emcDY2 svt_daq SvtD ftpc trgd   Production chain for winter 2003 data dau2003a with ITTF
    B2004  ry2004 in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2004 ITTF (tpc+svt)
    P2004  B2004 IAna fcf VFMinuit ToF emcDY2 ftpc trgd ZDCvtx svtIT Corr4 OSpaceZ2   Production chain for 2003/2004 data (+ l3 tof ftpc e/b-emc trgd)
    pp2004  B2004 IAna fcf ppOpt VFppLMV5 CtbMatchVtx ToF emcDY2 ftpc trgd ZDCvtx svtIT Corr4 OSpaceZ2   Production chain for 2003/2004 data (+ l3 tof ftpc e/b-emc trgd)
    B2005  ry2005b in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF (tpc+svt)
    B2005a  ry2005b in tpc_daq tpcI Physics Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2005 ITTF (tpc only)
    B2005b  ry2005f in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF Geo f (tpc+svt only)
    B2005c  ry2005g in tpc_daq tpcI svt_daq SvtD Physics Idst l0 tags Tree evout ssdDb   Base chain for 2005 ITTF Geo g (tpc+svt only + dead material)
    P2005  B2005 IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    P2005b  B2005b IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    P2005c  B2005c IAna fcf VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2004/2005 data (+ l3 tof ftpc e/b-emc trgd)
    pp2005  B2005 IAna fcf ppOpt VFppLMV5 CtbMatchVtx emcDY2 ftpc trgd ZDCvtx svtIT Corr3   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2005a  B2005a IAna fcf ppOpt VFPPV beamline CtbMatchVtx emcDY2 ftpc trgd ZDCvtx Corr4   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2005b  B2005b IAna fcf ppOpt VFPPV beamline CtbMatchVtx emcDY2 ftpc trgd ZDCvtx Corr4   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    B2006  ry2005d in tpc_daq tpcI svt_daq SvtD Idst tags Tree evout ssdDb   Base chain for 2006 ITTF (tpc+svt)
    B2006a  ry2005d in tpc_daq tpcI Idst tags Tree evout svtDb ssdDb   Base chain for 2006 with 2005d geom ITTF (tpc only)
    B2006b  ry2006 in tpc_daq tpcI Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2006 ITTF (tpc only)
    B2006g  ry2006g in tpc_daq tpcI Idst l0 tags Tree evout svtDb ssdDb   Base chain for 2006 ITTF geo g (tpc only)
    pp2006a  B2006a IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr3   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2006b  B2006b IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr4 BeamBack   Production chain for 2005 pp data (+ l3 tof ftpc e/b-emc trgd)
    pp2006g  B2006g IAna fcf ppOpt VFPPVnoCTB beamline emcDY2 ftpc trgd ZDCvtx Corr4 BeamBack   Production chain for 2005 pp data geo g (+ l3 tof ftpc e/b-emc trgd)
    T2007  ry2007g MakeEvent in tpc_daq tpcI fcf Tree evout   TPC only chain 2007 ITTF
    B2007  ry2007 MakeEvent in tpc_daq tpcI fcf svt_daq SvtD ssddat sptd Idst tags Tree evout   Base chain for 2007 ITTF (tpc+svt+ssd)
    B2007g  ry2007g MakeEvent in tpc_daq tpcI fcf svt_daq SvtD ssddat sptd Idst tags Tree evout   Base chain for 2007 ITTF geo g (tpc+svt+ssd)
    P2007  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr5   Production chain for 2007 data (+ l3 tof ftpc e/b-emc trgd)
    P2007g  B2007g IAna KeepSvtHit hitfilt VFMinuit2 emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr5   Production chain for 2007 data revised 2008 (+ l3 tof ftpc e/b-emc trgd)
    P2007a  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr3   Production chain for 2007 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2007b  B2007 IAna KeepSvtHit hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx svtIT ssdIT Corr4   Production chain for 2007 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    B2008  ry2008 in tpc_daq tpcI fcf Idst tags Tree evout   Base chain for 2008 ITTF (tpc)
    B2008a  ry2008 in tpcX ToFx tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2008 ITTF (tpc+tof)
    P2008a  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr3 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008b  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    pp2008a  B2008 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008c  B2008 IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data (+ l3 tof ftpc e/b-emc trgd)
    pp2008c  B2008 IAna hitfilt ppOpt Minuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr4 (+ l3 tof ftpc e/b-emc trgd)
    pp2008  B2008a IAna hitfilt ppOpt VFPPV emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data Corr3 (+ l3 tof ftpc e/b-emc trgd)
    P2008  B2008a IAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT Corr4 analysis   Production chain for 2008 data (+ l3 tof ftpc e/b-emc trgd)
    B2009.1  ry2009 in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    B2009.2  ry2009a in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    B2009.3  ry2009d in tpcX tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2009 ITTF (tpc)
    pp2009a  B2009.1 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr (+ l3 ftpc e/b-emc trgd)
    pp2009b  B2009.1 IAna hitfilt ppOpt VFMinuit emcDY2 ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr (+ l3 ftpc e/b-emc no trigger)
    pp2009c  B2009.2 BAna hitfilt ppOpt emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr no VF (+l3 ftpc e/b-emc trig)
    pp2009d  B2009.3 BAna hitfilt ppOpt emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2009 data - no Corr no VF (+l3 ftpc e/b-emc trig)
    B2010  ry2010 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2010 ITTF (tpc)
    B2010c  ry2010c in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2010 ITTF (tpc)
    P2010a  B2010 BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc)
    pp2010a  B2010 BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc no VF)
    P2010c  B2010c BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc)
    pp2010c  B2010c BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2010 data - no Corr (+ l3 ftpc e/b-emc no VF)
    B2011  ry2011 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2011 ITTF (tpc)
    P2011a  B2011 BAna hitfilt VFMinuit emcDY2 ftpc trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 ftpc e/b-emc)
    pp2011a  B2011 BAna hitfilt ppOpt emcDY2 trgd ftpc ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 ftpc e/b-emc no VF)
    B2012  ry2012 in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2012 ITTF (tpc)
    pp2012a  B2012 BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2012 data - no Corr (+ l3 e/b-emc no VF)
    P2012a  B2012 BAna hitfilt VFMinuit emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 e/b-emc)
    B2012b  ry2012a in tpcX ITTF tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2012 ITTF (tpc)
    pp2012b  B2012b BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2012 data - no Corr (+ l3 e/b-emc no VF)
    P2012b  B2012b BAna hitfilt VFMinuit emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2011 data - no Corr (+ l3 e/b-emc)
    B2013  B2013_c2   Alias for B2013 Configuration 2
    B2013x  ry2013_1x B2013   Base chain for 2013 ITTF (tpc)
    pp2013x  B2013x BAna emcDY2 trgd ZDCvtx   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    B2013  B2013_c2   Alias for B2013 Configuration 2
    B2013_c2  ry2013_2c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2013 ITTF (tpc)
    B2013_c1  ry2013_1c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2013 ITTF (tpc)
    pp2013a  B2013_c2 ITTF UseXgeom BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    pp2013b  B2013_c1 ITTF UseXgeom BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    pp2013  BAna hitfilt ppOpt emcDY2 trgd ZDCvtx NosvtIT NossdIT analysis   Production chain for 2013 data - no Corr (+ l3 e/b-emc no VF)
    B2014  ry2014 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2014 ITTF (tpc)
    B2014a  ry2014a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2014a ITTF (tpc)
    P2014  B2014 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for 2014 data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2014a  B2014a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2014 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2015  ry2015 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2015 ITTF (tpc)
    B2015a  ry2015a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015a data
    B2015b  ry2015b in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015 with y2015b geometry
    B2015c  ry2015c in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2015 with y2015c geometry
    pp2015  B2015 ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2015 data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015a  B2015a ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015a data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015b  B2015b ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015b data - no Corr (+ l3 bcc/fpd e/b-emc)
    pp2015c  B2015c ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015c data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015  B2015 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2015 data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015a  B2015a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015a data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015b  B2015b ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015b data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2015c  B2015c ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for year 2015c data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2016  ry2016 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for 2016 ITTF (tpc)
    P2016  B2016 ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2016 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2016a  ry2016a in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Production chain for 2016 data (tpc)
    P2016a  B2016a ITTF UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx StiHftC analysis   Production chain for 2016 data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2017  ry2017 in tpcX AgML tpcDB TpcHitMover Idst tags Tree evout   Base chain for run 2017 data (tpc)
    pp2017  B2017 Sti UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline l3onl emcDY2 fpd trgd ZDCvtx analysis   Base chain for year 2017 pp data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2017  B2017 Sti UseXgeom BAna hitfilt VFMinuit l3onl emcDY2 fpd trgd ZDCvtx analysis   Base chain for year 2017 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2017a  ry2017a in tpcX CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Production chain for run 2017 data (tpc)
    pp2017a  B2017a ITTF UseXgeom BAna hitfilt ppOpt VFPPVnoCTB beamline3D l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for year 2017 pp data - no Corr (+ l3 bcc/fpd e/b-emc)
    P2017a  B2017a ITTF UseXgeom BAna hitfilt VFMinuit beamline3D l3onl emcDY2 fpd trgd ZDCvtx analysis   Production chain for year 2017 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2018a  ry2018a in tpcX CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Base chain for run 2018 data (tpc)
    P2018a  B2018a ITTF UseXgeom BAna hitfilt VFMinuit beamline3D l3onl emcDY2 epdHit fpd trgd ZDCvtx analysis   Base chain for year 2018 AA data - no Corr (+ l3 bcc/fpd e/b-emc)
    B2019a  ry2019a in tpcX UseXgeom iTpcIT CorrX AgML tpcDB TpcHitMover Idst tags Tree picoWrite   Base chain for run 2019 data (tpc)
    P2019a  B2019a ITTF BAna iTpcIT hitfilt VFMinuit beamline3D etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2019 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2020a  ry2020a in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2020 data (tpc)
    P2020a  B2020a ITTF BAna iTpcIT hitfilt VFMinuit etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2020 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2021a  ry2021a in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2020 data (tpc)
    P2021a  B2021a ITTF BAna iTpcIT hitfilt VFMinuit etofa btof mtd l3onl emcDY2 epdHit trgd ZDCvtx analysis   Base chain for year 2020 AA data - no Corr (+ l3 epd mtd b/etof b-emc)
    B2022  ry2022 in tpcX UseXgeom iTpcIT CorrY AgML tpcDB TpcHitMover Idst tags Tree picoWrite picoVtxDefault picoCovMtxWrite   Base chain for run 2022 data (tpc)
    pp2022  B2022 ITTF BAna hitfilt ppOpt ImpBToFt0Mode VFPPVnoCTB beamline3D l3onl etofa btof mtd emcDY2 FttDat fcs trgd ZDCvtx analysis   Production chain for year 2022 pp data - no Corr (+ l3 epd mtf b/etof fcs e/b-emc)
    LaserCal0  db detDb tpc_daq tpcDb tcl globT laser LaserTest   Laser Calibration Chain (tcl)
    LaserCal  db detDb tpc_daq tpcDb fcf globT laser LaserTest   Laser Calibration Chain
    L3Counter  db detDb in l3count   L3 Counter extraction pass
    VtxSeedCal  ppOpt ry2001 in tpc_daq tpc globT -Tree Physics -PreVtx FindVtxSeed NoEvent Corr2   Pass0 Vertex evaluator
    SpcChgCal  B2004 fcf Corr3 OSpaceZ2 OShortR SCEbyE -Tree -tags -EvOut -EventQA   Pass0 SpaceCharge evaluator
    SpcChgCalG  MuDST fcf Corr4 OSpaceZ2 OGridLeak3D SCEbyE -Tree -tags -EvOut -EventQA   Pass0 SpaceCharge evaluator with GridLeak no geo or tracker dependence
    VtxSeedCalG  MuDST fcf Corr4 FindEvtVtxSeed -Tree -tags -EvOut -EventQA   Pass0 Vertex evaluator
    OPTIONS
    ITTF      request to use one of Sti(default) StiCA Stv StvCA ... trackers
    NoHits      Don\'t write hits into Event.Branch
    Kalman      WARNING *** Option is OBSOLETE ***
    Eval      Turn on evaluation switch for different makers
    Ev03      Turn on alternative V0 method
    off      Turn off default chain
    clearDAQCTB      clear DAQ CTB Hits for embedding
    NoInput      No input file
    util     StAnalysisUtilitiesLoad StAnalysisUtilities
    StUtilities     StUtilitiesLoad StUtilities
    FieldOn  MagF   Constant nominal field
    FieldOff  MagF   No Field option
    HalfField  MagF   Half Field option
    ReverseField  MagF   Reverse Field option
    NoCintDb      Switch off all Cint Db
    NoStarCintDb      Switch off standard Cint Db
    NoLocalCintDb      Switch off local Cint Db
    NoMySQLDb      Switch off MySQL Db
    NoCintCalDb  NoLocalCintDb   Switch off local Cint Db
    dbSnapshot      Create?use dbSnapshot
    NoEvent  -event -analysis   Switch Off StEvent and StAnalysis Makers
    MakeDoc      Make HTML documentation for the given Chain
    Debug      Set debug flag = 1
    Debug1      Set debug flag = 1
    Debug2      Set debug flag = 2
    IdTruth      Enable IdTruth association in StAssociationMaker
    OldMiniMc      Keep pre-2008 convention for MiniMc
    useInTracker      switch from EGR to ITTF global tracks in StAssociationMaker
    noRepeat      No repeat in Messenger
    noHistos      Disables Attributes histos
    noRunco      Disables Attributes runco
    Higz      Pop Higz window
    big      Set NwGEANT =20Mwords
    bigbig      Set NwGEANT =40Mwords
    huge      Set NwGEANT =80Mwords
    clearmem      Obsolete
    adcOnly      DAQMaker selects only TPC ADC events
    InTree  in   bfcTree Input Tree name
    OutTree  Tree   bfcTree Output Tree name
    DstOut      WARNING *** Option is OBSOLETE ***
    McEvOut  StMcEvent Tree   Write StMcEvent to StTree
    EvOut  Tree   Write StEvent to StTree
    GeantOut  Tree   Write g2t tables to StTree
    Simu      Simulated Data force to use Db time stamp from used geometry
    HitsBranch      take out points from dst branch and put them into HitsBranch
    paw      Allocate memory for pawc
    AllEvent  Tree   Write whole event to StTree
    AllTables     St_TablesLoad Star Tables
    FXT  btofFXT   enable anything FXT-specific
    btofFXT      enable FXT mode for btof
    Corr1  AlignSectors ExB OBmap OClock OPr13   ... AlignSectors ExB OBmap OClock OPr13 ...
    Corr2  Corr1 OTwist OIFC   ...Corr1+OTwist OIFC ...
    Corr3  AlignSectors ExB OBmap2D OClock OPr13 OTwist OIFC   ... AlignSectors ExB OBmap2D OClock OPr13 OTwist OIFC ...
    Corr4  Corr3 OShortR   ... Corr3+OShortR...
    Corr5  Corr4 SCEbyE OGridLeak3D OSpaceZ2   ... Corr4+SCEbyE OGridLeak3D OSpaceZ2...
    CorrX  ExB OShortR OBmap OPr13 OIFC OSectorAlign NewTpcAlignment -AlignSectors -OBmap2D -OClock -OTwist  
    CorrY  ExB OShortR OBmap OPr40 OIFC OSectorAlign NewTpcAlignment OSpaceZ2 OGridLeakFull -AlignSectors -OBmap2D -OClock -OTwist  
    ExB      Activate ExB correction
    EB1      Force ExB configuration 1
    EB2      Force ExB configuration 2
    OBmap      ExB shape correction
    OBmap2D      ExB 2 D shape correction
    OTwist      ExB twist correction
    OClock      Clock/tpc rot. correction
    OPr13      PadRow 13 distortion
    OPr40      PadRow 40 distortion
    OCentm      Central membrane correction
    OECap      EndCap (curved) correction
    OIFC      Field Cage correction
    OSpaceZ      Space Charge corrections
    OSpaceZ2      Space Charge corrections R2
    OShortR      Shorted Ring correction
    OGridLeak      Grid Leak correction
    OGridLeak3D      3D Grid Leak correction
    OGridLeakFull      Full Grid Leak correction
    OGGVoltErr      GG voltage error correction
    OSectorAlign      Sector alignment distortion correction
    ODistoSmear      Distortion smearing accounting for calibration resolutions
    OAbortGap      Abort gap cleaning event distortion correction
    AlignSectors      WARNING *** Option is OBSOLETE ***
    EbyET0      Event-by-event T0 corrections
    DbRichSca  detdb   Force reading of Rich scalers from DB
    EastOff      Disactivate East part of tpc
    WestOff      Disactivate West part of tpc
    AllOn      Activate both East and West parts of tpc
    ReadAll      Activate all branches to read
    pp      WARNING *** Option is OBSOLETE ***
    ppOpt  TrsPileUp   pp option without enabling special cases
    TrsPileUp      Trs pile up mode
    TrsToF      Trs account for particle time of flight
    SvtMatchVtx      WARNING *** Option is OBSOLETE ***
    VtxOffSet      Account Primary Vertex offset from y2000 data
    Calibration      Calibration mode
    beamLine      LMV Beam line constrain
    beamLine3D      Use beamline in 3D vertex fit
    min2trkVtx      ...only 2 tracks needed for vertex finding
    hitreuseon      ...do re-use hits for other tracks in Sti
    usePct4Vtx      Use Post-Crossing Tracks for vertex finding
    useBTOF4Vtx      Use BTOF track matching for vertex ranking
    useBTOFmatchOnly  useBTOF4Vtx   Use BTOF track matching only
    svt1hit      Use 1 SVT hit only combination
    onlcl      Read/use TPC DAQ100 clusters
    onlraw      Read/use TPC raw hits
    ezTree      Create ezTree branch
    BEmcDebug      Turn OFF B-EMC hit reconstruction cuts
    BEmcChkStat      Turn ON status checking in raw data
    useLDV      ... uses laserDV database flavor
    useCDV      ... uses ofl database flavor
    useNewLDV      ... uses ofl database flavor
    tables  StDbT ebyeT emc_T ftpcT gen_T geomT globT l3_T sim_T svt_T tpc_T    
    tables  StDbT ebyeT emc_T ftpcT gen_T geomT globT l3_T sim_T svt_T tpc_T    
    StDbT     StDb_TablesLoad StDb_Tables
    ctf_T     ctf_TablesLoad ctf_Tables
    ebyeT     ebye_TablesLoad ebye_Tables
    emc_T     emc_TablesLoad emc_Tables
    ftpcT     ftpc_TablesLoad ftpc_Tables
    gen_T     gen_TablesLoad gen_Tables
    geomT     geometry_TablesLoad geometry_Tables
    globT     global_TablesLoad global_Tables
    l3_T     l3_TablesLoad l3_Tables
    mwc_T      WARNING *** Option is OBSOLETE ***
    sim_T     sim_TablesLoad sim_Tables
    svt_T     svt_TablesLoad svt_Tables
    tpc_T      WARNING *** Option is OBSOLETE ***
    trg_T      WARNING *** Option is OBSOLETE ***
    vpd_T      WARNING *** Option is OBSOLETE ***
    Embedding  -Simu   Embedding run
    Utilities
    Geometry+Mag
    pgf77     pgf77VMCFortran
    rootcern  geant3   ROOT minicern OBSOLETE
    StarMiniCern  geant3   STAR addition to minicern OBSOLETE
    mysql     libmysqlclientMySQL
    libPhysics     libPhysicsTVector
    geant3vmc  -usexgeom -xgeometry  libGeom libVMC libgeant3VMC geant3
    geant3  geant3vmc  EG Pythia6 EGPythia6VMC geant3 plus ROOT EG pythia6
    geometry     geometrygeometry+Mag.Field
    StarMagField  magF  VMC StarMagFieldLoad StarMagField
    geomNoField  -geometry StarMagField  geometryNoFieldgeometry-Mag.Field
    xgeometry  -geometry -geomNoField  xgeometryAgML geometry-Mag.Field
    UseProjectedVertex      Run StBTofCalibMaker w/wo Primary Vertex
    ImpBToFt0Mode      pppAMode in StVpdCalibMaker and StBTofCalibMaker
    setOutlierRej4BToft0      setPPPAOutlierRej is set in StBTofCalibMaker
    vpd      WARNING *** Option is OBSOLETE ***
    tls      WARNING *** Option is OBSOLETE ***
    rts     RTSload libRTS
    daq  rts  StDaqLib StDAQMakerLoad StDAQMaker
    SCL     StarClassLibraryLoad StarClassLibrary
    SvtCL     Geom StSvtClassLibrary 
    TbUtil  sim_T tpc_t globT SCL  StTableUtilitiesLoad StTableUtilities
    TofUtil     StTofUtilLoad StTofUtil
    BTofUtil     StBTofUtilLoad StBTofUtil
    ETofUtil     StETofUtilLoad StETofUtil
    MtdUtil     StMtdUtilLoad StMtdUtil
    StBichsel     StBichselLoad Bichsel model for dE/dx
    StEvent  globT SCL TRGDef StBichsel EmcUtil TbUtil detDb  StEventLoad StEvent
    PxlUtil     StPxlUtilLoad StPxlUtil
    IstUtil     StIstUtilLoad StIstUtil
    SsdUtil  StarMagField StEvent  Geom StSsdUtilLoad SSD Util
    SstUtil  StarMagField StEvent  Geom StSstUtilLoad SST Util
    EmcUtil  emc_T geomT StDbT  StEmcUtilLoad StEmcUtil
    EEmcUtil     StEEmcUtilLoad StEEmcUtil
    FmsUtil     StFmsUtil libMinuitLoad StFmsUtil
    FgtUtil     StFgtUtilLoad StFgtUtil
    GmtUtil     StGmtUtilLoad StGmtUtil
    l3Util      WARNING *** Option is OBSOLETE ***
    PmdUtil     StPmdUtilLoad StPmdUtil
    QUtils  PmdUtil EmcUtil   Load QA Libs dependencies
    Stu     StEventUtilitiesLoad StEventUtilities
    MuDSTDeps  StEvent Stu StBichsel  StStrangeMuDstMaker TreeLoad MuDST misc. dependencies
    MuDST  MuDSTDeps EmcUtil TofUtil BTofUtil PmdUtil  StMuDSTMakerLoad MuDST library
    picoEvt  StEvent Stu  StPicoEventLoad picoEvent and dependencies
    picoDst  picoEvt EmcUtil TofUtil BTofUtil PmdUtil  StPicoDstMakerLoad PicoDST library
    geantL  geomT gen_T sim_T StarMagField  geometry Geom St_db_Maker St_g2t St_geant_MakerLoad GeantLibs
    gstarLib     gstarLoad gstar lib
    flux  simu  fluxLoad flux lib
    Generators
    stargen  gen_T sim_T  libVMC.so libStarGeneratorUtil.so libStarGeneratorEvent.so libStarGeneratorBase.so libStarGeneratorFilt.so libMathMore.soSTAR Generator BASE
    pythia8.1.86  stargen  Pythia8_1_86.soLoad Pythia 8.1.86 generator
    pythia8.2.35  stargen  Pythia8_2_35.soLoad Pythia 8.1.86 generator
    hijing1.383  stargen  Hijing1_383.soLoad Hijing 1.383 generator
    kinematics  stargen  Kinematics.soLoad STAR Particle Gun
    genreader  stargen  StarGenEventReader.soLoad STAR Gen Event Reader
    I/O Makers
    gstargeant -fzin -ntin -geant Simu geantL St_geant_Maker gstar for 80 muon tracks with pT = 1GeV in |eta|<4
    pythiageant -gstar -fzin -ntin -geant geantL St_geant_MakerPythia6_4_26 bpythiaLoad Pythia in starsim set pp 510 GeV
    Wenu  pythia   set pp 510 GeV -> W+/- -> e+/- nu/nubar
    hijinggeant -gstar -fzin -ntin -geant geantL St_geant_MakerStarGeneratorUtil StarGeneratorEvent StarGeneratorBase Hijing1_383Load Hijing in starsim set AuAu200 GeV
    tdaq      WARNING *** Option is OBSOLETE ***
    miniDAQ      WARNING *** Option is OBSOLETE ***
    fzingeant Simu -gstar -ntin -geant geantL St_geant_Maker read gstar fz-file
    UseXgeom  -geometry -geomNoField xgeometry   suppress mortran version of geometry
    in    StIOMakerStIOMakerRead [DAQ|ROOT] input file
    Db makers
    dbdb StDbT St_db_MakerStDbLib StDbBroker St_db_Maker 
    magFMagField StDbT db detDb StMagFMakerStarMagField StMagFMag.field map with scale factor from Db
    detDbdetDb db StDetectorDbMakerStDetectorDbMakerLoad StDetectorDbMaker library
    mtingeant -fzin -geant -gstar geantL gstarLib -magF St_geant_Makergstarread event from MuDst
    tpcDBtpcDB tpc_T dbutil detDb StarMagField magF StEvent StTpcDbMakerStTpcDb 
    dbutil  detDb StDbT  StDbUtilitiesLoad StDbUtilities
    svtDbsvtDb tpcDb SvtCL StSvtDbMakerStSvtDbMakerLoad and run SvtDbMaker
    ssdDbssdDb tpcDb SsdUtil StSsdDbMakerStSsdDbMakerLoad and run SsdDbMaker
    sstDbsstDb tpcDb SstUtil StSstDbMakerStSsdDbMakerLoad and run SstDbMaker
    svtCalDb  svtDb   Declare Calibrations/svt as while list member
    ssdCalDb  ssdDb   Declare Calibrations/ssd as while list member
    sstCalDb  sstDb   Declare Calibrations/sst as while list member
    eemcDbeeDb db EEmcUtil StEEmcDbMakerStEEmcDbMakerLoad EEmcDbMaker
    fmsDbfmsDb db fmsutil StFmsDbMakerStFmsDbMakerLoad FmsDbMaker
    fcsDbfcsDbMkr   StFcsDbMakerStFcsDbMakerLoad FcsDbMaker
    fttDbfttDbMkr   StFttDbMakerStFttDbMakerLoad FttDbMaker
    fgtDbfgtDb db fgtutil StFgtDbMakerStFgtDbMakerLoad FgtDbMaker
    pxlDbpxlDb tpcDb PxlUtil StPxlDbMakerStPxlDbMakerLoad PxlDbMaker
    istDbistDb tpcDb StIstDbMakerStIstDbMakerLoad IstDbMaker
    fstDbfstDb tpcDb StFstDbMakerStFstDbMakerLoad FstDbMaker
    epdDbepdDb tpcDb StEpdDbMakerStEpdDbMakerLoad EpdDbMaker
    MAKERS
    ntingeant paw -fzin -geant -gstar Simu geantL gstarLib St_geant_Maker read event generated Hbook nt-file
    PrepEmbed  geantEmb StPrepEmbedMakerSt_geant_MakerPrepare kinematics for embedding
    PythiaEmbed  pythia -Simu   Prepare kinematics for embedding
    geantgeant geantL St_geant_Maker passive GEANT
    geantEmbgeant geantL St_geant_Maker GEANT embedding mode
    RootVMC  -geant -fzin -ntin StarMagField -geantL -geometry -geomNoField geant3    
    VMCAppl  geomT gen_t sim_T tpcDB RootVMC  StSvtDbMaker StSsdDbMaker StarVMCApplicationVMC G3
    VMCgeant Simu VMCAppl -geant StVMCMakerStVMCMakerVMC Maker
    VMCPassivegeant VMCAppl StVMCMakerStVMCMakerVMC Maker in Passive Mode
    trgtrgl0Chaintrg_T globT db St_trg_MakerSt_trg St_trg_Makertrigger analysis for Year 2001-2005 data
    TRGDef     StTriggerDataMakerLoad StTriggerData
    trgdtrgd TRGDef StTriggerDataMakerStTriggerDataMakerGet trigger data
    MakeEvent0Event StEvent detDb StEventMakerStTpcDb StEventMaker
    LaserAvEv    StLaserAvEventMakerStLaserAvEventMakerHejrad
    LaserAvCl    StLaserAvClusterMakerStLaserAvClusterMaker 
    l0l0Chain globT ctf trg StMakerStChain 
    ctfctfl0Chainctf_T db St_ctf_Makerctf St_ctf St_ctf_MakerToF simulation
    mwc      WARNING *** Option is OBSOLETE ***
    ppMCTrig      WARNING *** Option is OBSOLETE ***
    pp2pp    St_pp2pp_MakerSt_pp2pp_Makerpp->pp
    mtdFilt    StMtdEvtFilterApplyMakerStDataFilterMakerMTD-based event filtering
    mtdMtdChain mtdDat mtdMatch StMakerStChainMTD Chain
    mtdDatmtd_rawMtdChaindb MuDst StMtdHitMakerStEvent StMtdHitMakerMTD hit maker
    mtdTrkMask  db StMtdTrackingMaskMakerStMtdEvtFilterMakerMTD track masking
    epdHit  epdDb event StEpdHitMakerStEpdHitMakerEPD hit maker
    tpc  TpxRaw TpxClu tpcI   WARNING *** Option is OBSOLETE *** use TpxClu instead
    tpcItpcChain db tpcDB TpcHitMover StMakerStChaintpc with ITTF
    tpcXtpcChain -tpcI tpx MakeEvent StMakerStChaintpc+tpcx with ITTF
    TrsTrstpcChainscl tpcDB TrsToF StEvent EmbeddingShortCut StTrsMakerStTrsMaker 
    TpcRS tpcChainscl tpcDB -Trs -EmbeddingShortCut Stu StTpcRSMakerlibMathMore StdEdxY2Maker StTpcRSMakerNew Tpc Response Simulator
    tfs  TpcFastSim   WARNING *** Option is OBSOLETE *** use TpcFastSim instead
    TpcFastSimtpc_hitstpcChainMakeEvent Simu -trs -TpcRS -tcl -tpxclu -fcf -tpc_daq StEvent -TpcHitMover EmbeddingShortCut StTpcFastSimMakerSt_tcl_Makeruse tfs (no Trs or TpcRS)
    EmbeddingShortCut      Short Cut for StdEdxY2Maker and StTpcHitMover
    StMcEvent  gen_t sim_T  StMcEvent 
    McEvent  StEvent tpcDb EEmcUtil EmcUtil StMcEvent StMcEventMakerStMcEventMaker 
    Mixertpc_raw daq StMixerMakerStTrsMaker StMixerMaker 
    St_tpc      WARNING *** Option is OBSOLETE ***
    St_svt      WARNING *** Option is OBSOLETE ***
    tpc_daq  TpxRaw   WARNING *** Option is OBSOLETE *** use TpxRaw instead
    tcl  TpxRaw TpxClu MakeEvent   WARNING *** Option is OBSOLETE *** use option TpxRaw TpxClu MakeEvent instead
    fcf  -tcl tpcX   WARNING *** Option is OBSOLETE *** use tpcX instead
    tpxtpc_hitstpcChainMakeEvent tpc_T StEvent rts detDb StTpcHitMakerStTpcHitMakerTPC hit reader for tpc + tpx via EVP_READER
    gmtGmtChain gmtDat gmtClu StMakerStChainGmt data Chain
    gmtDat GmtChainevent StGmtRawMakerStGmtRawMakerGMT Data reader
    gmtClu GmtChaingmtutil StGmtClusterMakerStGmtClusterMakerGMT cluster maker
    TpxPulserTpxPulsertpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX pulser analysis
    TpxPadMonitor      WARNING *** Option is OBSOLETE ***
    TpxAvLaserTpxAvLasertpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX averaging laser events into Sparse histogram on pixels level
    TpxDumpPxls2NtTpxDumpPxls2NttpcChainrts detDb StTpcHitMakerStTpcHitMakerTPC+TPX pixel dump to NTuple
    TpxRawTpxRawtpcChainrts detDb StEvent StTpcHitMakerStTpcHitMakerTPC+TPX convert DAQ Tpc Raw Data to TpcRawEvent used by TpcMixer and/or TpxClu
    TpcMixer tpcChainStEvent rts -Mixer -tpx TpxClu StTpcMixerMakerStTpcHitMaker 
    TpxClutpc_hitstpcChainrts tpcDb detDb -tpx -tpc_daq -fcf StTpcRTSHitMakerStTpcHitMakerRTS(online) cluster maker
    TpxClu2D  TpxClu   RTS(online) 2D-cluster maker
    TpcAvClusterTpcAvClustertpcChainrts detDb StTpcAvClusterMakerStTpcHitMakerTPC+TPX averaging laser events into Sparse histogram on cluster level
    Velo tpcChaintpc_T StVeloMakerStVeloMaker 
    TpcHitMovertpc_hit_movertpcChaintpcDb StEvent Stu StTpcHitMoverStTpcHitMoverMakerTPC hits coord transform + corrections
    tpt ITTF    WARNING *** Option is OBSOLETE *** use ITTF
    tpt_old ITTF    WARNING *** Option is OBSOLETE *** use ITTF
    TpcT0      WARNING *** Option is OBSOLETE ***
    ChargeStep      WARNING *** Option is OBSOLETE ***
    laser      WARNING *** Option is OBSOLETE ***
    PreVtx      WARNING *** Option is OBSOLETE ***
    svtsvtChain svt_T SvtCL StMakerStChain 
    svt_daqsvt_rawsvtChaindaq SvtCL StSvtDaqMakerStSvtDaqMaker 
    sss  SvtSlowSim   Short cut for SvtSlowSim
    SvtSlowSim  SvtSSim SvtOnlSeq   Short cut for SvtSlowSim and SvtOnlSeq
    SvtSSimSvtSSimusvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtSimulationMakerStSvtSimulationMaker StSvtCalibMaker 
    SvtEmbed  SvtSSim SvtEm SvtOnlSeq   Short cutfor SvtSlowSim and SvtOnlSeq
    SvtEmSvtEmsvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtEmbeddingMakerStSvtSimulationMaker StSvtCalibMaker 
    SvtOnlSeqSvtOnlSeqsvtChainsvtCalDb SvtCL Simu SvtSeqAdj SvtClu SvtCluAnal SvtHit StSvtOnlineSeqAdjSimMakerStSvtSimulationMaker 
    srs  sfs   WARNING *** Option is OBSOLETE use sfs instead ***
    sfssvt_hitssvtChainsvtDb Simu SvtCL -sss -SvtSlowSim StEvent MakeEvent St_sfs_MakerSt_srs_MakerVery fast simulator for SVT
    SvtSeqAdjSvtSeqAdjsvtChainSvtCL StSvtSeqAdjMakerStSvtSeqAdjMaker 
    SvtCluSvtClusvtChainsvt_T StEvent SvtCL StSvtClusterMakerStSvtClusterMaker 
    SvtCluAnalSvtCluAnalsvtChainSvtCL StSvtClusterAnalysisMakerStSvtClusterMaker 
    SvtHitsvt_hitssvtChainSvtCL StSvtHitMakerStSvtClusterMaker 
    SvtVtx      WARNING *** Option is OBSOLETE ***
    stk      WARNING *** Option is OBSOLETE ***
    Est  SvtIT   WARNING *** Option is OBSOLETE *** use SvtIT instead
    global  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Match  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Vertex  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    Primary  ITTF   WARNING *** Option is OBSOLETE use ITTF instead***
    V0  V02   WARNING *** Option is OBSOLETE use V02 instead***
    Xi  Xi2   WARNING *** Option is OBSOLETE use Xi2 instead***
    Kink  Kink2   WARNING *** Option is OBSOLETE use Kink2 instead***
    dst      WARNING *** Option is OBSOLETE ***
    Fglobal      WARNING *** Option is OBSOLETE ***
    Fprimary      WARNING *** Option is OBSOLETE ***
    dEdx      WARNING *** Option is OBSOLETE ***
    svtdEdx      WARNING *** Option is OBSOLETE ***
    Event  MakeEvent   Request to initialize event
    pxlRaw  pxlDb StPxlRawHitMakerStPxlRawHitMakerPXL raw hit maker
    pxlFastSim  pxlRaw StMcEvent StEvent StPxlSimMakerStPxlSimMakerPXL Fast Simulator
    pxlSlowSim  pxlRaw StMcEvent StEvent StPxlSimMakerStPxlSimMakerPXL Slow Simulator
    pxlCluster  pxlRaw StPxlClusterMakerStPxlClusterMakerPXL cluster maker
    pxlHit  event pxlCluster StPxlHitMakerStPxlHitMakerPXL hit maker
    istSlowSim  StMcEvent StEvent IstUtil StIstSlowSimMakerStIstSimMakerIST Slow simulator
    istFastSim  StMcEvent StEvent StIstFastSimMakerStIstSimMakerIST Fast simulator
    istRawHit  istUtil istDb StIstRawHitMakerStIstRawHitMakerIST RAWhit maker
    istCluster  istRawHit StIstClusterMakerStIstClusterMakerIST Cluster maker
    istHit  event istCluster StIstHitMakerStIstHitMakerIST Hit Maker
    fstfstChain fstRawHit fstCluster fstHit StMakerStChainFST chain
    fstFastSim fstChainStMcEvent StEvent StFstFastSimMakerStFstSimMakerFST fast simulator
    fstRawHit fstChainfstUtil fstDb StFstRawHitMakerStFstRawHitMakerFST raw hit maker
    fstCluster fstChainfstRawHit StFstClusterMakerStFstClusterMakerFST Cluster maker
    fstHit fstChainevent fstCluster StFstHitMakerStFstHitMakerFST Hit Maker
    fstUtil     StFstUtilFst Utilities
    ssddat  ssd_daq   SSD full chain for Real Data
    sstdat  sst_daq   SST full chain for Real Data
    ssd_daq  ssdCalDb svt_T -sls -spa ssdUtil StSsdDaqMakerStSsdDaqMaker... SSD Daq
    sst_daq  sstCalDb svt_T -sls -spa sstUtil StSstDaqMakerStSstDaqMaker... SSDT Daq
    ssdfast  ssdDb StMcEvent StEvent StSsdFastSimMakerStSsdFastSimMaker... SSD fast simulator
    ssd  ssdCalDb sls spa sptd   SSD full chain for simulation
    sls  McEvent Simu svt_T SvtCL St_sls_MakerStSsdSimulationMaker... SSD slow simulator
    spaSpaStrip Simu svt_T SvtCL ssdUtil St_spa_MakerStSsdSimulationMaker... SSD Pedestal Annihilator
    SsdEmbed    StSsdEmbeddingMakerStSsdSimulationMaker... SSD Mixing geom Maker
    spt  sptd   Alias for sptd - please replace in chain
    sptd  ssdUtil svt_T StSsdPointMakerStSsdPointMaker... SSD Point Creator
    sptt  sstUtil StSstPointMakerStSstPointMaker... SST Point Creator
    sstHit  sst_daq sptt   SST reconstruction chain
    ssdpre  ssdEmbed spa   SSD full chain for pre-embedding
    ssdAdd  ssd_daq StSsdAddMakerStSsdAddMaker... SSD merge maker
    ssdE  ssdpre ssdAdd   SSD full chain for embedding
    ZDCVtx  db StZdcVertexMakerStZdcVertexMaker 
    emcDY2emcRaw daq eemcDb EEmcUtil emc_T EmcUtil StEvent PreEcl Epc StEmcRawMakerStEmcRawMakerB/E EMC data common maker
    eemcD      WARNING *** Option is OBSOLETE ***
    emcY2  emc_T tpc_T db emcSim PreEcl epc   EMC Chain for Y2A (must be before makers which include in this chain)
    emcSim  emc_T EmcUtil McEvent MuDST StEmcSimulatorMakerStEmcSimulatorMakerNew simulator for BEMC
    EEfseefs eemcDb EEmcUtil MuDst StEEmcFastMakerStEEmcSimulatorMakerEEMC fast simulator
    EEsseess -eefs eemcDb EEmcUtil MuDst StEEmcSlowMakerStEEmcSimulatorMakerEEMC slow simulator
    BEmcMixer    StEmcMixerMakerStEmcMixerMakerBEMC mixer
    emcAtoEbemcA2E db StEmcADCtoEMakerStEmcADCtoEMakerB-EMC ADC to E converter OBSOLETE for data in Run 9 or later
    PreEclpreecl   StPreEclMakerStPreEclMakerB-EMC Cluster finder
    Epcepc PreEcl EmcUtil StEpcMakerStEpcMakerB-EMC point maker
    EEmcMixer    StEEmcMixerMakerStEEmcSimulatorMakerEEMC mixer
    eemcA2EeemcA2E db StEEmcA2EMakerStEEmcA2EMakerE-EMC ADC to E converter
    eemCleemCl db StEEmcClusterMakerStEEmcClusterMakerE-EMC clustering
    btofBTofChain btofDat vpdCalib btofMatch btofCalib StMakerStChainBTOF Chain
    BtofDattof_rawBTofChaindb BTofutil StBTofHitMakerStEvent StBTofHitMakerBTOF hit maker
    vpdSim VpdChainBTofUtil StVpdSimMakerStEvent StMcEvent StBTofHitMaker StVpdSimMakerVpd Simulator
    vpdCalib BTofChaindb BTofUtil StVpdCalibMakerStVpdCalibMakerVPD calibration
    btofSim BTofChainBTofUtil StBTofSimMakerStEvent StMcEvent StTofUtil StBTofHitMaker StBTofSimMakerBTOF Simulator
    btofMixer BTofChainBTofUtil StBTofMixerMakerStEvent StBTofHitMaker StBTofMixerMakerBTof Mixer
    ETofDatetof_rawETofChaindb ETofUtil StETofDigiMakerStEvent StETofDigiMakerETOF digi maker
    ETofCalib ETofChaindb ETofUtil muDst StETofCalibMakerStETofCalibMakerETOF calibration
    ETofSim ETofChain  StETofSimMakerStETofSimMakerETOF simulator
    mtdSim MtdChain  StMtdSimMakerStEvent StMtdSimMakerMTD Simulator
    ToFTofChain tofDat tofrMatch tofpMatch tofCalib geant StMakerStChainToF Chain
    ToFxTofChain tofXDat tofrMatch tofCalib geant StMakerStChainToFx Chain
    tofDattof_rawTofChaindb Tofutil StTofMakerStEvent StTofMakerTOF Data base chain
    tofXDattof_rawTofChaindb Tofutil StTofHitMakerStEvent StTofMaker StTofHitMakerTOF hit maker
    tofsim TofChainTofUtil StTofSimMakerStEvent StTofMaker StTofSimMakerTOF Simulator Tof version before y2009
    tofrMatch TofChaindb TofUtil StTofrMatchMakerStTofrMatchMakerTPC to TOFr track matching
    tofpMatch TofChaindb TofUtil StTofpMatchMakerStTofpMatchMakerTPC to TOFp track matching
    tofCalib TofChaindb TofUtil StTofCalibMakerStTofCalibMakerTOF calibration
    FiltGamma  StEvent StMcEvent EmcUtil StGammaFilterMakerStFilterMakerBEmc Gamma filtering
    FiltEemcGamma  StEvent StMcEvent EmcUtil StEemcGammaFilterMakerStFilterMakerEEmc Gamma filtering
    rich      WARNING *** Option is OBSOLETE ***
    Rrs      WARNING *** Option is OBSOLETE ***
    rch      WARNING *** Option is OBSOLETE ***
    RichPiD      WARNING *** Option is OBSOLETE ***
    l3      WARNING *** Option is OBSOLETE ***
    l3cl      WARNING *** Option is OBSOLETE ***
    l3t      WARNING *** Option is OBSOLETE ***
    l3onl    Stl3RawReaderMakerStl3RawReaderMaker 
    l3count    Stl3CounterMakerStl3RawReaderMaker 
    bbcSim  db StBbcSimulationMakerStBbcSimulationMakerBBC Simulator
    fmsSim  StEvent fmsDb StFmsFastSimulatorMakerStFmsFastSimulatorMakerFMS Fast Simulator
    fmsDat  StEvent fmsDb StFmsHitMakerStFmsHitMakerFill FMS struct and zero TRG
    fpsDat  StEvent fmsdb StFpsRawHitMakerStFpsRawHitMakerFill FPS struct
    fmsPoint  event fmsDb StFmsPointMakerStFmsPointMakerFill FMS clusters and points
    fmsfps  event fmsDb StFmsFpsMakerStFmsFpsMakerFill FPS association in FMS points
    fcsfcsChain fcsDat fcsWFF fcsCluster fcsPoint StMakerStChainFCS chain
    fcsSim fcsChainStEvent fcsDb StFcsFastSimulatorMakerStFcsFastSimulatorMakerFCS Fast Simulator
    fcsDat fcsChainStEvent fcsDb StFcsRawHitMakerStFcsRawHitMakerFCS daq file reader/hit maker
    fcsWFF fcsChainStEvent fcsDb StFcsWaveformFitMakerStFcsWaveformFitMakerFit FCS waveform
    fcsCluster fcsChainStEvent fcsDb StFcsClusterMakerStFcsClusterMakerFill FCS clusters
    fcsPoint fcsChainStEvent fcsDb StFcsPointMakerStFcsPointMaker libMinuitFill FCS points
    fttfttChain FttDat FttHitCalib FttClu FttPoint StMakerStChainFST chain
    FttDat fttChainStEvent StFttRawHitMakerStFttRawHitMaker StEventsTGC Raw hit maker
    FttHitCalib fttChainStEvent MuDST StFttHitCalibMakerStFttHitCalibMaker StFttRawHitMaker StEventsTGC hit calib maker
    FttClu fttChainStEvent fttDb StFttClusterMakerStFttClusterMaker StEvent StFttDbMakersTGC Cluster maker
    FttPoint fttChainStEvent fttDb StFttPointMakerStFttPointMaker StEvent StFttDbMakersTGC Point maker
    FttQA fttChain  StFttQAMakerStFttQAMakersTGC Raw hit QA maker
    fpd      WARNING *** Option is OBSOLETE ***
    fgtFgtChain fgtDat fgtClu fgtAtoC StMakerStChainFgt data Chain
    fgtDat  event fgtdb StFgtRawMakerStFgtRawMakerFGT Data reader
    fgtAtoC  fgtdb StFgtA2CMakerStFgtA2CMakerFGT ADC to Charge maker
    fgtClu  fgtutil StFgtClusterMakerStFgtClusterMakerFGT cluster maker
    fgtAtoC  fgtdb StFgtA2CMakerStFgtA2CMakerFGT ADC to Charge maker
    fgtPoint  event StFgtPointMakerStFgtPointMakerCreates FGT points
    genvtx  EEmcUtil StGenericVertexMakerMinuit StGenericVertexMakerNoStiGeneric Vertex Finder library (default is MinuitVertexFinder)
    VFMinuit  genvtx   ... Generic VF will use Minuit method
    CtbMatchVtx  VFMinuit   ... CTB Matching ON in Vertex Finding
    VFMinuit2  VFMinuit   ... Generic VF will use Minuit method w/rank mode 2
    VFMinuit3  VFMinuit   ... Generic VF will use Minuit method w/rank mode 3
    VFFV  genvtx   ... Fixed dummy VF method
    VFMCE  genvtx   ... Fixed vertex from MCEvent
    VFppLMV  genvtx   ... VertexMaker will use ppLMV method
    VFppLMV5  VFppLMV   ... VertexMaker will use ppLMV method (tuned)
    VFStoreX      ... VertexMaker will use save at least 100 vertices
    StiPulls  Sti   Request to make Sti Pulls
    StvPulls      Request to make Stv Pulls
    StiLib     Sti StiUtilitiesLoad Sti
    StiCALib     TPCCATracker StiCALoad Sti+CA
    StiTpc  TpcDb ITTF tpc_T dbutil detDb StarMagField magF  StiTpcLoad StiTpc
    StiSvt     StSvtClassLibrary StSvtDbMaker StiSvtLoad StiSvt
    StiSsd     StSsdUtil StSsdDbMaker StiSsdLoad StiSsd
    StiSst     StSsdUtil StSsdDbMaker StiSsdLoad StiSsd(t)
    StiPxl     StPxlUtil StPxlDbMaker StiPxlLoad StiPxl
    StiIst     StIstUtil StIstDbMaker StiIstLoad StiIst
    StiLibs  StiTpc StiSvt StiSsd BTofUtil  StEEmcDbMakerLoad Sti Detector libs
    StiLibsHft  StiLibs StiSst StiPxl StiIst   Load Sti Detector libs for HFT
    StiHftP  StiLibsHft -SvtIT -SsdIT PxlIT pxlDb   Enables partial Hft (PXL)
    StiHftC  StiLibsHft -SvtIT -SsdIT PxlIT pxlDb IstIT istDb SstIT sstDb   Enables complete Hft (PXL+IST+SST)
    VFPPV  eemcDb StiLib -VFMinuit -VFMinuit2 -VFMinuit3 StGenericVertexMakerMinuit StGenericVertexMaker... Pile-up proof vertex finder
    VFPPVnoCTB  VFPPV   ... Pile-up proof vertex finder noCTB
    VFPPVEv  eemcDb StGenericVertexMakerMinui StGenericVertexMaker... StEvent based VFPPV noCTB
    VFPPVEvNoBtof  VFPPVEv   ...VFPPVEv with no Btof
    StiSti StiLib StiLibs SCL StEvent StDbT TpcIT compend sim_T tbutil StiMakerStEventUtilities StiUtilities StiMakerSti tracker
    StiCASti Sti StiLib StiCALib StiLibs SCL StEvent StDbT TpcIT compend tbutil StiMakerStEventUtilities libEG StiUtilities StiMakerSti+CA tracker
    StiCAPerf     TPCCATrackerPerformanceCA Performance
    StiCASti Sti StiLib StiCALib StiLibs SCL StEvent StDbT TpcIT compend tbutil StiMakerStEventUtilities libEG StiUtilities StiMakerSti+CA tracker
    HLTCA Sti  StHLTCAMakerStHLTCAMakerHLT reconstruction
    KFVertex Sti-genvtx -VFMinuit -VFFV -VFMCE -VFppLMV -VFPPVnoCTB -VFPPV -Kink2 -V02 -Xi2 StKFVertexMakerMathMore Spectrum...KFParticle based multi vertex reconstruction
    StvStv -xgeometry -Sti -StiTpc -StiSsd -StiSvt -StiPxl -StiSsd -StiSst -StiIst StvMakerlibHist libHistPainter libVMC StarMiniCern geant3 GeoTestMaker StvUtil Stv StvSeed StvMaker StEventUtilities -StiLibs -StiLibsHftStv
    StvCAStvCA Stv   StvCA
    StiVMCStiVMC -Sti SCL StEvent StDbT TpcDb compend StiVMCMakerStEventUtilities StiVMC StiVMCMakerITTF VMC tracker
    StiVMCLibs  detDb StarMagField   ITTF:load StiVMC libraries
    laserIT     TpcITuse Sti for laser reconstruction
    TpcIT  ITTF   Sti tracking: TPC
    SvtIT  ITTF   Sti tracking: SVT
    SsdIT  ITTF   Sti tracking: SSD
    HpdIT  ITTF  Sti StiRnDSti tracking: Hpd geom
    PixelIT  PxlIT   Alias for PxlIT
    PxlIT  ITTF   Sti tracking: Pixel geom
    IstIT  ITTF   Sti tracking: Ist geom
    SstIT  ITTF   Sti tracking: Sst geom
    iTpcIT  ITTF   Sti tracking: iTpc geom + hits
    BTofIT  ITTF   Sti tracking: BTof geom
    NoSvtIT  -SvtIT   ITTF: track with switch off SVT geom
    NoSsdIT  -SsdIT   ITTF: track with switch off SSD geom
    NoSstIT  -SstIT   ITTF: track with switch off SST geom
    NoPxlIT  -PxlIT   ITTF: track with switch off PXL geom
    NoIstIT  -IstIT   ITTF: track with switch off IST geom
    skip1row      ITTF: skip the first pad row in TPC
    StiRnD     StiRnDLoad StiRnD shared library
    Alignment      Sti Tpc Alignment reconstruction per sector
    Cosmics      Ignore events without recostructed tracks
    StiPulls  Sti   Request to make Sti Pulls
    BeamBack  StEvent   WARNING *** Option is OBSOLETE ***
    dEdxY2dEdxY2 tpcDb StEvent StdEdxY2MakerlibMinuit StdEdxY2MakerBichsel method used for dEdx
    CalcdNdx  dEdxY2   Option for StdEdxY2Maker to calculate dN/dx
    btofMatch  db BTofUtil vpdCalib btofCalib StBTofMatchMakerStBTofMatchMakerTPC-BTOF track matching
    btofCalib  db BTofUtil StBTofCalibMakerStBTofCalibMakerBTOF calibration
    ETofHit ETofChaindb ETofUtil muDst StETofHitMakerStETofHitMakerETOF hit maker
    ETofMatch ETofChaindb ETofUtil muDst StETofMatchMakerStETofMatchMakerETOF match maker
    ETofQa ETofChaindb ETofUtil muDst StETofQAMakerStETofQAMakerETOF QA maker
    ETofA  etofdat ETofCalib etofhit ETofMatch  ... ETOF chain options for datakFALSE
    mtdMatch  db MtdUtil StMtdMatchMakerStMtdMatchMakerTPC-MTD track matching
    mtdCalib  db StMtdCalibMakerStMtdCalibMakerMTD calibration
    mtdEvtFilt  db StMtdEvtFilterMakerStMtdEvtFilterMakerMTD event filter
    FindVtxSeedFindVtxSeed globT MuDSTDeps picoDst StVertexSeedMakerStPass0CalibMakerPerforms vertex seed finding
    FindEvtVtxSeedFindEvtVtxSeed MuDSTDeps picoDst StEvtVtxSeedMakerStPass0CalibMakerPerforms vertex seed finding using StEvent
    FtpcftpcChain ftpcT fcl fpt StMakerStChain 
    fssftpc_rawftpcChainSCL Simu StFtpcSlowSimMakerStFtpcSlowSimMaker StFtpcTrackMaker StFtpcClusterMakerFTPC Slow simulator
    Fclftpc_hitsftpcChainSCL daq StFtpcClusterMakerStFtpcTrackMaker StFtpcClusterMakerFTPC cluster finder
    fptftpc_tracksftpcChainSCL StFtpcTrackMakerStFtpcTrackMakerFTPC Track Maker
    fgain  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker will produce gain scan histograms
    fdbg  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker will write debugfile
    flaser  fcl fpt   StFtpcClusterMaker and StFtpcTrackMaker for LASERTRACKING
    pmdRecopmdReco PmdUtil pmdClust StMakerStChainPMD Reco chain
    pmdRawpmdRawpmdRecopmdReco pmdRead   PMD Reco chain giving raw data
    pmdpmdpmdRecopmdReco pmdSim pmdDis   PMD Simulation chain
    pmdRead pmdRecoPmdUtil StPmdReadMakerStPmdReadMakerDAQ reader for PMD
    pmdSim pmdRecoPmdUtil StPmdSimulatorMakerStPmdSimulatorMakerHit Simulator for PMD
    pmdClustpmdClustpmdReco  StPmdClusterMakerStPmdClusterMakerClusterMaker for PMD
    pmdDispmdDispmdRecoPmdClust StPmdDiscriminatorMakerStPmdDiscriminatorMakerDiscriminator for PMD
    Kink2kink2 db MuDST -kink StKinkMakerStSecondaryVertexMakerFind Kinks from StEvent
    V02v02 db MuDST -V0 StV0FinderMakerStSecondaryVertexMakerFind V0s from StEvent
    Xi2xi2 db MuDST -V02 -Xi StXiFinderMakerStSecondaryVertexMakerXis AND V0s from StEvent
    V0svt      WARNING *** Option is OBSOLETE ***
    Xisvt      WARNING *** Option is OBSOLETE ***
    SCEbyEscebye MuDSTDeps picoDst StSpaceChargeEbyEMakerStMuDSTMaker StPass0CalibMakerDetermine EbyE SpaceCharge using StEvent
    SCScalerCalscscalercal MuDSTDeps picoDst StSpaceChargeEbyEMakerStMuDSTMaker StPass0CalibMakerCalibrate SpaceCharge scalers
    compend  event detDb StEventCompendiumMakerStEventCompendiumMakerFill event summary in ITTF Chain
    shadow  event compend StShadowMakerStShadowMaker 
    TpcAligner  Alignment StTpcAlignerMakerStTpcAlignerMakerTpcAligner
    pecPeC Event StPeCMakerStPeCMakerPCollAnalysis
    RichSpectra      WARNING *** Option is OBSOLETE ***
    TagsChainTagsChain   StMakerStChain 
    TpcTag      WARNING *** Option is OBSOLETE ***
    Flow
    FlowTag      WARNING *** Option is OBSOLETE ***
    FlowAnalysis     WARNING *** Option is OBSOLETE *** 
    SpectraTag      WARNING *** Option is OBSOLETE ***
    HeavyTags TagsChainStEVent StHeavyTagMakerStHeavyTagMaker 
    EbyeScaTags      WARNING *** Option is OBSOLETE ***
    HighPtTags TagsChainStEVent StHighPtTagsMakerStHighPtTagsMaker 
    PCollTag      WARNING *** Option is OBSOLETE ***
    tags TagsChainglobT Event HeavyTags HighPtTags StTagsMakerStTagsMakerCollect all tags to TTree
    noTags  -tags -HeavyTags -HighPtTags   Turn Off tags
    MuDSTChainMuDSTChainEMCmDST CMuDST  StMakerStChain 
    StrngMuDST MuDSTDeps  StStrangeMuDstMaker Creates Stangeness MuDST
    EMCmDST MuDSTChainMuDst StEmcMicroDstMaker Creates EMC MuDST
    CMuDST MuDSTChainMuDst StrngMuDST Tree StMuDstMaker Writes Common MuDST
    RMuDST  CMuDST   reads Common MuDST do not disactivate if no output files
    picoWrite PicoChainpicoDst StPicoDstMaker Writes picoDST format
    picoRead PicoChainpicoDst StPicoDstMaker WritesRead picoDST format
    PicoVtxDefault      pico Vtx default mode
    PicoVtxVpd  -PicoVtxDefault   pico Vtx cut on Tof and VPD mode
    PicoVtxVpdOrDefault  -PicoVtxDefault   pico Vtx cut on Tof and VPD or default
    PicoVtxFXT  -PicoVtxDefault   pico Vtx constraint on FXT [198 202] mode
    PicoVtxMtd  -PicoVtxDefault   pico Vtx using MTD matching mode
    PicoCovMtxSkip      Do not write covariance matrices to picoDst (default)
    PicoCovMtxWrite  -PicoCovMtxSkip   Write track covariance matrices to picoDst
    PicoBEmcSmdSkip      Do not write BSMD to picoDst (default)
    PicoBEmcSmdWrite  -PicoBEmcSmdSkip   Write BSMD to picoDst
    St_geom    St_geom_MakerSt_geom_Maker 
    Display      WARNING *** Option is OBSOLETE *** use Ed.C macro instead
    McMcChainMcEventsim_T globT McAss McAna StMakerStChain 
    McAss McChainMcEvent StAssociationMakerStAssociationMaker 
    McAnaTpc  McAna   Mc Analysis for Tpc
    McAnaSvt  McAna   Mc Analysis for Svt
    McAnaSsd  McAna   Mc Analysis for Ssd
    McAna McChainMcEvent McAss StMcAnalysisMakerStMcAnalysisMaker 
    McQa McChainMcEvent StMcQaMakerStMcQaMakerQA histogramms for McEvent
    McTpcAna McAnaChaintpcDb dbutil McEvent StEvent StTpcMcAnalysisMakerStTpcMcAnalysisMaker 
    MiniMcEvent     StMiniMcEventLoads StMiniMcEvent library only
    MiniMcMk  McAss MiniMcEvent StMiniMcMakerStMiniMcMakerCreates tree in minimc.root file
    SvtMatTree    SvtMatchedTreeStSvtPoolEventT StSvtPoolSvtMatchedTreeCreate SvtMatchedTree
    LAna  in detDb StEvent tpcDb StLaserAnalysisMakerStLaserAnalysisMakerLaser data Analysis
    EandBDir  in StEvent TpcHitMover nodefault StEandBDirMakerMathMore Spectrum StEandBDirMakerget E&B direction
    SpinTag      WARNING *** Option is OBSOLETE ***
    ppLPfind1      WARNING *** Option is OBSOLETE ***
    SpinSortA      WARNING *** Option is OBSOLETE ***
    ppLPprojectA      WARNING *** Option is OBSOLETE ***
    ppDAQfilter1      WARNING *** Option is OBSOLETE ***
    ppLPeval1      WARNING *** Option is OBSOLETE ***
    QA      WARNING *** Option is OBSOLETE ***
    EventQAEventQA QUtils Event StEventQAMakerSt_QA_MakerFilling Y2/Y3 Qa histo
    QACCosmicsQAglobT  StQACosmicMakerStQACosmicMaker 
    QAalltrigs      Analyze all triggers in QA
    HitFilt    StHitFilterMakerStHitFilterMakerHit filter Maker
    SvtHitFilt  HitFilt   SVT Hit filter Maker
    TpcHitFilt  HitFilt   filter out TPC Hits not on tracks
    HftHitFilt  HitFilt   filter out non-HFT hits
    KeepTpcHit  HitFilt   Keep all TPC hits in StHitFilterMaker
    KeepSvtHit  HitFilt   Keep all SVT hits in StHitFilterMaker
    KeepFgtHit  HitFilt   Keep all FGT hits in StHitFilterMaker
    TreeOutTree   StTreeMakerStTreeMakerWrite requested branches into files
    logger      Use log4cxx package to manage the program messages
    NoSimuDb      Switch off Simu Option for DB
    SimuDb  -NoSimuDb   Switch on Simu Option for DB
    NoOutput  -Tree -EvOut noTags   Suppress Output root files
    EvOutOnly  EvOut Tree noTags   Only event.root files
    NoDefault      No Default consistency check
    Notpc_daq  -tpc_daq   No tpc_daq
    analysis  StEvent StAnalysisMakerStAnalysisMakerExample of Analysis
    NewTpcAlignment      Switch on new Tpc Alignment schema
    Aliasedtime stamps      
    -
    Created by BFCOpt2Html.pl on Wed Jan 26 17:53:39 2022 - J. Lauret
    - - diff --git a/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C index 275e8f5c0b3..e306b122c5d 100644 --- a/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C +++ b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C @@ -52,9 +52,9 @@ void unit_test_track_data_model() { // // Generate 10 e+ // for ( int i=0;i<9;i++ ) // add_particle( "e+", 0.4251, 3.1415/4, 10.0 ); - throw_particle( "e+", 0.4251, 3.1415/4, 10.0 ); + // throw_particle( "e+", 0.4251, 3.1415/4, 10.0 ); - //throw_particle( "mu+", 0.4251, 3.1415/4, 10.0 ); + throw_particle( "mu+", 0.4251, 3.1415/4, 10.0 ); timer.Stop(); @@ -191,9 +191,9 @@ void unit_test_track_data_model() { return result; }, idx); - } + expectedId=0; idIsNotUnique.clear(); // VERTEX VALIDATION @@ -268,7 +268,6 @@ void unit_test_track_data_model() { return result; }, idx); - } // Hit accumulation @@ -276,31 +275,51 @@ void unit_test_track_data_model() { auto hit = static_cast( hit_table->At(idx) ); if ( 0==hit ) continue; edep( hit->de * 1000 ); - // std::cout << "hit dE=" << hit->de << " volume_id=" << hit->volume_id << std::endl; - std::cout << *hit << std::endl; + std::cout << "hit dE=" << hit->de << " volume_id=" << hit->volume_id << std::endl; + // std::cout << *hit << std::endl; } // Print out energy deposition + if ( 1 ) { int _count = boost::accumulators::count(edep); - double _sum = boost::accumulators::sum(edep); - double _mean = boost::accumulators::mean(edep); - double _median = boost::accumulators::median(edep); - double _min = boost::accumulators::min(edep); - double _max = boost::accumulators::max(edep); - double _error_of_mean = boost::accumulators::error_of(edep); - LOG_TEST << Form( "number of hits = %i", _count) << std::endl; - LOG_TEST << Form( "energy deposition: sum = %f MeV", _sum ) << std::endl; - LOG_TEST << Form( "energy deposition: mean = %f MeV", _mean ) << std::endl; - LOG_TEST << Form( "energy deposition: median = %f MeV", _median ) << std::endl; - LOG_TEST << Form( "energy deposition: min = %f MeV", _min ) << std::endl; - LOG_TEST << Form( "energy deposition: max = %f MeV", _max ) << std::endl; - LOG_TEST << Form( "energy deposition: error of mean = %f MeV", _error_of_mean ) << std::endl; + if ( _count < 0 ) { + LOG_TEST << "count < 0 makes no sense..." << std::endl; + } + else if ( _count == 0 ) { + LOG_TEST << "no hits were registered..." << std::endl; + } + else { + + double _sum = boost::accumulators::sum(edep); + LOG_TEST << Form( "energy deposition: sum = %f MeV", _sum ) << std::endl; + + + double _mean = boost::accumulators::mean(edep); + LOG_TEST << Form( "energy deposition: mean = %f MeV", _mean ) << std::endl; + + + double _median = boost::accumulators::median(edep); + LOG_TEST << Form( "energy deposition: median = %f MeV", _median ) << std::endl; + + + double _min = boost::accumulators::min(edep); + LOG_TEST << Form( "energy deposition: min = %f MeV", _min ) << std::endl; + + + double _max = boost::accumulators::max(edep); + LOG_TEST << Form( "energy deposition: max = %f MeV", _max ) << std::endl; + + + double _error_of_mean = boost::accumulators::error_of(edep); + LOG_TEST << Form( "energy deposition: error of mean = %f MeV", _error_of_mean ) << std::endl; + } } + // Print the track list track_table->Print(0, track_table->GetNRows()); From da180364a52f141c968cc043b45466f013518fb9 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:35:06 -0400 Subject: [PATCH 36/70] Volume sensitivitiy can be flagged in either the material or medium blocks. --- StarVMC/StarAgmlLib/StarTGeoStacker.cxx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/StarVMC/StarAgmlLib/StarTGeoStacker.cxx b/StarVMC/StarAgmlLib/StarTGeoStacker.cxx index 895d64804d3..fe2a475eff2 100644 --- a/StarVMC/StarAgmlLib/StarTGeoStacker.cxx +++ b/StarVMC/StarAgmlLib/StarTGeoStacker.cxx @@ -645,8 +645,10 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) } agmlExt->SetVolumeName( nn ); agmlExt->SetFamilyName( block->GetName() ); - agmlExt->SetModuleName( module->GetName() ); - agmlExt->SetSensitive( mMedium.par("isvol") ); + agmlExt->SetModuleName( module->GetName() ); + int isvol = mMedium.par("isvol"); + if ( 0==isvol ) isvol=mMaterial.par("isvol"); + agmlExt->SetSensitive( isvol ); agmlExt->SetTracking( module->GetTrackingFlag() ); // Get tracking cuts from the block for ( auto kv : block->GetCuts() ) { @@ -739,7 +741,11 @@ Bool_t StarTGeoStacker::Build( AgBlock *block ) agmlExt->SetVolumeName( nn ); agmlExt->SetFamilyName( block->GetName() ); agmlExt->SetModuleName( module->GetName() ); - agmlExt->SetSensitive( mMedium.par("isvol") ); + int isvol = mMedium.par("isvol"); + if ( 0==isvol ) isvol=mMaterial.par("isvol"); + //mMedium.Print(); + //mMaterial.Print(); + agmlExt->SetSensitive( isvol ); agmlExt->SetTracking( module->GetTrackingFlag() ); // Get tracking cuts from the block for ( auto kv : block->GetCuts() ) { From b20950b0836aeb90e30f60c63e188cc6e1372fe4 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 1 May 2024 11:44:59 -0400 Subject: [PATCH 37/70] ... and definitely want them here... --- StRoot/StGeant4Maker/tests/unit_test_muons.C | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/StRoot/StGeant4Maker/tests/unit_test_muons.C b/StRoot/StGeant4Maker/tests/unit_test_muons.C index 648611dc384..3b7a94c8595 100644 --- a/StRoot/StGeant4Maker/tests/unit_test_muons.C +++ b/StRoot/StGeant4Maker/tests/unit_test_muons.C @@ -26,10 +26,10 @@ stats< tag::count, >>; -const double GeV = 1; -const double MeV = 1E3; -const double keV = 1E6; -const double eV = 1E9; +//const double GeV = 1; +//const double MeV = 1E3; +//const double keV = 1E6; +//const double eV = 1E9; const std::map scale2string = { {GeV,"GeV"}, {MeV,"MeV"}, @@ -174,7 +174,8 @@ void unit_test_muons() { int nbinPt = 100; // Throw 1k gammas at BEMC, EEMC - _kine->Kine(3000,"e+,e-",4.9999,5.0001,-0.95,+2.00); + // _kine->Kine(3000,"e+,e-",4.9999,5.0001,-0.95,+2.00); + _kine->Kine(10,"mu+,mu-",4.9999,5.0001,-0.95,+2.00); chain->Clear(); chain->Make(); From ceddeb4081afb8d132c621ea4bdbc26c21468a97 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:18:56 -0400 Subject: [PATCH 38/70] libgeom not needed for geant3vmc / fix EEmcUtil chain option. --- StRoot/StBFChain/BigFullChain.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 2072577d988..b563671ad22 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -1229,7 +1229,9 @@ Bfc_st BFC[] = { // standard chains {"StarMiniCern","" ,"","geant3","" ,"","STAR addition to minicern OBSOLETE",kFALSE}, {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libGeom," libVMC ",libgeant321.so", "VMC geant3",kFALSE}, + + {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", libVMC ",libgeant321.so", "VMC geant3",kFALSE}, + {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, {"StarMagField","", "","magF" ,"","VMC,StarMagField","Load StarMagField",kFALSE}, @@ -1258,7 +1260,7 @@ Bfc_st BFC[] = { // standard chains {"SsdUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSsdUtil","Load SSD Util",kFALSE}, {"SstUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSstUtil","Load SST Util",kFALSE}, {"EmcUtil" ,"" ,"","emc_T,geomT,StDbT","" ,"StEmcUtil","Load StEmcUtil",kFALSE}, - {"EEmcUtil" ,"" ,"","","" ,"StEEmcUtil","Load StEEmcUtil",kFALSE}, + {"EEmcUtil" ,"" ,"","","" ,"EEmcUtil","Load StEEmcUtil",kFALSE}, {"FmsUtil" ,"" ,"","","" ,"StFmsUtil,libMinuit","Load StFmsUtil",kFALSE}, {"RhicfUtil" ,"" ,"","","" ,"StRHICfUtil,libSpectrum","Load StRHICfUtil",kFALSE}, {"FgtUtil" ,"" ,"","","" ,"StFgtUtil","Load StFgtUtil",kFALSE}, From 8d3d5fbde387f9377308944d9e350a6d134ea66d Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:19:35 -0400 Subject: [PATCH 39/70] Add g3 vmc as default chain option. --- StRoot/StGeant4Maker/macros/geant4star.C | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/StRoot/StGeant4Maker/macros/geant4star.C b/StRoot/StGeant4Maker/macros/geant4star.C index db1ef79146b..f8f689dc2de 100644 --- a/StRoot/StGeant4Maker/macros/geant4star.C +++ b/StRoot/StGeant4Maker/macros/geant4star.C @@ -70,7 +70,8 @@ void loadStar(TString mytag="dev2021", Bool_t agml = true ) gROOT->ProcessLine("chain->cd();"); gROOT->ProcessLine("chain->SetDebug(1);"); - TString chainOpts = "agml geant4 geant4vmc stargen geant4mk kinematics -emc_t -ftpcT mysql nodefault "; + TString chainOpts = "agml geant4 geant3vmc geant4vmc stargen geant4mk kinematics -emc_t -ftpcT mysql nodefault "; + ///TString chainOpts = "agml geant4 geant4vmc stargen kinematics -emc_t -ftpcT nodefault "; // pickup command line options ala "--" and add them as a chain option From 67974778eeb4d5d410bad163ce72a236b24bb365 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:20:01 -0400 Subject: [PATCH 40/70] libPhysics does not need to be preloaded. --- StRoot/StGeant4Maker/macros/initStar.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StRoot/StGeant4Maker/macros/initStar.C b/StRoot/StGeant4Maker/macros/initStar.C index 45e5377df37..86b86b1ecf6 100644 --- a/StRoot/StGeant4Maker/macros/initStar.C +++ b/StRoot/StGeant4Maker/macros/initStar.C @@ -28,7 +28,7 @@ void initStar() { // Preload a few libraries Load("libGeom.so"); - Load("libPhysics.so"); + // Load("libPhysics.so"); Load("libTable.so"); Load("StarRoot.so"); From 383a1ce658caeca22559e7cde4ed8184ecab3f0a Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:20:29 -0400 Subject: [PATCH 41/70] Reduce unneccesary verbosity. --- StRoot/StGeant4Maker/StGeant4Maker.cxx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/StRoot/StGeant4Maker/StGeant4Maker.cxx b/StRoot/StGeant4Maker/StGeant4Maker.cxx index c218b038939..ebffe3db8bd 100644 --- a/StRoot/StGeant4Maker/StGeant4Maker.cxx +++ b/StRoot/StGeant4Maker/StGeant4Maker.cxx @@ -931,10 +931,10 @@ void StarVMCApplication::ConstructSensitiveDetectors() { ae->SetEngine( engineFromModule( mname.Data() ) ); - if ( 0==ae->GetSensitive() ) { - LOG_INFO << "Not sensitive = " << volume->GetName() << endm; - continue; - } + // if ( 0==ae->GetSensitive() ) { + // LOG_INFO << "Not sensitive = " << volume->GetName() << endm; + // continue; + // } AgMLVolumeId* identifier = AgMLVolumeIdFactory::Create( fname ); if ( identifier ) { @@ -1298,8 +1298,6 @@ int StGeant4Maker::regionTransition( int curr, int prev ) { void StarVMCApplication::Stepping(){ _g4maker -> Stepping(); } void StGeant4Maker::Stepping(){ - LOG_INFO << ".............................................................................. stepping" << endm; - // At start of user stepping, try to transfer the track between engine auto* mgr = TMCManager::Instance(); auto* mc = TVirtualMC::GetMC(); From e6b4a73d056b1299bec9768e9c5eacdf789630e7 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 15 May 2024 09:29:49 -0400 Subject: [PATCH 42/70] Apply the NODEBUG environment variable. --- mgr/config/v0.3.0-rhel7-root6.24.06.config | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/mgr/config/v0.3.0-rhel7-root6.24.06.config b/mgr/config/v0.3.0-rhel7-root6.24.06.config index ad720672530..d52ad500f5c 100644 --- a/mgr/config/v0.3.0-rhel7-root6.24.06.config +++ b/mgr/config/v0.3.0-rhel7-root6.24.06.config @@ -16,9 +16,18 @@ endif module load star-env-0.3.0-root-6.24.06 if ( $USE_64BITS == 1 ) then - module load geant4-10.5.1 - module load geant4-data-10.5.1 - module load geant4-vmc-5-0-p5-root-6.24.06 - module load geant3-3-9-p1-root-6.24.06 - module load clhep-2.4.5.1 + module load clhep-2.4.5.1 + module load geant4-data-10.5.1 + # If NODEBUG is not set, load debug versions, otherwise, optimized + if (! $?NODEBUG) then + module load geant4-10.5.1-debug + module load geant4-vmc-5-0-p5-root-6.24.06-debug + module load geant3-3-9-p1-root-6.24.06-debug + module load vmc-1-0-p3-root-6.24.06-debug + else + module load geant4-10.5.1 + module load geant4-vmc-5-0-p5-root-6.24.06 + module load geant3-3-9-p1-root-6.24.06 + module load vmc-1-0-p3-root-6.24.06 + endif endif From 7f4a3d990d3e6217d4878d587dbda82ab8ec26bf Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 22 May 2024 11:55:08 -0400 Subject: [PATCH 43/70] Do not build geant4star if we are not at 64bit and we are not at least ROOT version 6.24. --- mgr/Construct | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/mgr/Construct b/mgr/Construct index 60cab6f79c4..965613a10ee 100644 --- a/mgr/Construct +++ b/mgr/Construct @@ -256,8 +256,18 @@ if ($STAR_SYS =~ /x86_darwin/) { push @items, "StSpinPool"; #endif /* ____MAC_____ */ } -#$items .= "StBTofPool|StTriggerUtilities|StFgtPool|StPeCMaker"; -#$items .= "StBTofPool|StFgtPool|StPeCMaker"; + +# _________________________________________________________________________ +# Do not compile StGeant4Maker if ROOT is < 6.24 or build is 32 bit +push @items, "StGeant4Maker" if ( + !$USE_64BITS or + $USE_64BITS==0 or + $ROOT_VERSION_MAJOR<=5 or ( + $ROOT_VERSION_MAJOR==6 and + $ROOT_VERSION_MINOR<24 + ) +); + # closing exclusion list my $items = "";# print "items $#items = @items\n"; @@ -267,11 +277,15 @@ if ( defined($SKIP_DIRS) ) { $items = "StShadowMaker|PWGTools"; } + + if ( $#items > -1){ if (!$items) {$items = join("|",@items);} else {$items .= "|" . join("|",@items);} print "SKIP_DIRS is now: $#items $items\n"; } + + # Search for directories (one level down) and make # list of targets # From ac2a2bc7edc8f41e2cfb2a5cdfffe2515035c138 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 22 May 2024 11:56:22 -0400 Subject: [PATCH 44/70] Remove dead code. --- mgr/Construct | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/mgr/Construct b/mgr/Construct index 965613a10ee..bd44f8d161a 100644 --- a/mgr/Construct +++ b/mgr/Construct @@ -231,13 +231,7 @@ my $excludeDirList = join ("|", @excludeDirList); # such a case, those packages shouldbe stricly optional. # my @items = qw(); # StBTofPool StFgtPool -if ( 1==0 ){ # disable the exclusion - if ($USE_64BITS and $USE_64BITS != "0"){ - push @items, "gstar"; - push @items, "control"; - push @items, "St_geant_Maker"; - } -} + #print "CXX MAJOR = $env->{CXX_MAJOR} CXX MINOR = $env->{CXX_MINOR}\n"; #if ($env->{CXX_MAJOR} < 4 or ($env->{CXX_MAJOR} == 4 and $env->{CXX_MINOR} < 4)) { # $items .= "|Vc|TBB|TPCCATracker"; From 570cc5a7f8dca1acd5254bee5c6e555730cdb13c Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 22 May 2024 11:59:15 -0400 Subject: [PATCH 45/70] Cleanup comments. --- mgr/Construct | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/mgr/Construct b/mgr/Construct index bd44f8d161a..2c745d94243 100644 --- a/mgr/Construct +++ b/mgr/Construct @@ -232,10 +232,6 @@ my $excludeDirList = join ("|", @excludeDirList); # my @items = qw(); # StBTofPool StFgtPool -#print "CXX MAJOR = $env->{CXX_MAJOR} CXX MINOR = $env->{CXX_MINOR}\n"; -#if ($env->{CXX_MAJOR} < 4 or ($env->{CXX_MAJOR} == 4 and $env->{CXX_MINOR} < 4)) { -# $items .= "|Vc|TBB|TPCCATracker"; -#} if ($STAR_HOST_SYS =~ /sl61_gcc445/) {# broken Qt4 push @items, "St_geom_Maker"; } @@ -251,9 +247,7 @@ if ($STAR_SYS =~ /x86_darwin/) { #endif /* ____MAC_____ */ } -# _________________________________________________________________________ -# Do not compile StGeant4Maker if ROOT is < 6.24 or build is 32 bit -push @items, "StGeant4Maker" if ( +push @items, "StGeant4Maker" if ( # Do not compile StGeant4Maker if ROOT is < 6.24 or build is 32 bit !$USE_64BITS or $USE_64BITS==0 or $ROOT_VERSION_MAJOR<=5 or ( @@ -263,7 +257,7 @@ push @items, "StGeant4Maker" if ( ); # closing exclusion list -my $items = "";# print "items $#items = @items\n"; +my $items = ""; if ( defined($SKIP_DIRS) ) { $items = join("|", split(" ", $SKIP_DIRS)); From 210df981e93ffdf227512a669821350ca34a2292 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 22 May 2024 12:03:06 -0400 Subject: [PATCH 46/70] libVMC --> LIBVMC --- StRoot/StBFChain/BigFullChain.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index b563671ad22..9e9e89e4c76 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -28,9 +28,9 @@ ________________________________________________________________________________ #include #if ROOT_VERSION_CODE>=ROOT_VERSION(6,24,0) -#define libVMC "libVMCLibrary.so" +#define LIBVMC "libVMCLibrary.so" #else -#define libVMC "libVMC.so" +#define LIBVMC "libVMC.so" #endif #define STAR_CHAIN_OBSOLETE "WARNING *** Option is OBSOLETE ***" @@ -1230,7 +1230,7 @@ Bfc_st BFC[] = { // standard chains {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", libVMC ",libgeant321.so", "VMC geant3",kFALSE}, + {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", LIBVMC ",libgeant321.so", "VMC geant3",kFALSE}, {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, @@ -1294,7 +1294,7 @@ Bfc_st BFC[] = { // standard chains {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T"/*+++*/, "", libVMC ",libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, + {"stargen", "","", "gen_T,sim_T"/*+++*/, "", LIBVMC ",libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, @@ -1313,7 +1313,7 @@ Bfc_st BFC[] = { // standard chains {"g4geant3", "", "", "", "", "libG3toG4.so", "Load g3 to g4 support", false }, {"geant4", "", "", "g4physics,g4interfaces","","","Load G4 libs", false}, - {"geant4vmc", "","", "geant4", "", libVMC ",libgeant4vmc.so", "Load G4 VMC libs", false}, + {"geant4vmc", "","", "geant4", "", LIBVMC ",libgeant4vmc.so", "Load G4 VMC libs", false}, {"geant4mk", "","", "stargen,geant4vmc,geant3vmc", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, From ea7c71a35b65f8dc6be463785adbe8963f7093cc Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 29 May 2024 12:18:38 -0400 Subject: [PATCH 47/70] Problem between chair and keyboard... the EEmcUtil class is provided in the StEEmcUtil library. SMH. --- StRoot/StBFChain/BigFullChain.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 9e9e89e4c76..9e0b68f412b 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -1260,7 +1260,7 @@ Bfc_st BFC[] = { // standard chains {"SsdUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSsdUtil","Load SSD Util",kFALSE}, {"SstUtil" ,"" ,"","StarMagField,StEvent","" ,"Geom,StSstUtil","Load SST Util",kFALSE}, {"EmcUtil" ,"" ,"","emc_T,geomT,StDbT","" ,"StEmcUtil","Load StEmcUtil",kFALSE}, - {"EEmcUtil" ,"" ,"","","" ,"EEmcUtil","Load StEEmcUtil",kFALSE}, + {"EEmcUtil" ,"" ,"","","" ,"StEEmcUtil","Load StEEmcUtil",kFALSE}, {"FmsUtil" ,"" ,"","","" ,"StFmsUtil,libMinuit","Load StFmsUtil",kFALSE}, {"RhicfUtil" ,"" ,"","","" ,"StRHICfUtil,libSpectrum","Load StRHICfUtil",kFALSE}, {"FgtUtil" ,"" ,"","","" ,"StFgtUtil","Load StFgtUtil",kFALSE}, From 40631c874dc7164e579a35873c085552bccf634a Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Thu, 30 May 2024 14:14:05 -0400 Subject: [PATCH 48/70] ROOT5 / CINT doesn't replace the LIBVMC definition which concatinating strings for some reason. It also does not play nice with the ROOT_VERSION macro. So we do this the ugly way. --- StRoot/StBFChain/BigFullChain.h | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 9e0b68f412b..989cf32eea9 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -27,11 +27,11 @@ ________________________________________________________________________________ #include -#if ROOT_VERSION_CODE>=ROOT_VERSION(6,24,0) -#define LIBVMC "libVMCLibrary.so" -#else -#define LIBVMC "libVMC.so" -#endif +//#if ROOT_VERSION_CODE>=ROOT_VERSION(6,24,0) // 399366 +//#define LIBVMC "libVMCLibrary.so" +//#else +//#define LIBVMC "libVMC.so" +//#endif #define STAR_CHAIN_OBSOLETE "WARNING *** Option is OBSOLETE ***" @@ -1229,8 +1229,11 @@ Bfc_st BFC[] = { // standard chains {"StarMiniCern","" ,"","geant3","" ,"","STAR addition to minicern OBSOLETE",kFALSE}, {"mysql" ,"" ,"","","" ,"libmysqlclient","MySQL",kFALSE}, {"libPhysics" ,"" ,"","","" ,"libPhysics","TVector",kFALSE}, - - {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", LIBVMC ",libgeant321.so", "VMC geant3",kFALSE}, +#if ROOT_VERSION_CODE>=399366 + {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libVMCLibrary.so,libgeant321.so", "VMC geant3",kFALSE}, +#else + {"geant3vmc" ,"" ,"","-usexgeom,-xgeometry","", "libVMC.so,libgeant321.so", "VMC geant3",kFALSE}, +#endif {"geant3" ,"" ,"","geant3vmc","" ,"EG,Pythia6,EGPythia6","VMC geant3 plus ROOT EG,pythia6",kFALSE}, {"geometry" ,"" ,"","","" ,"geometry","geometry+Mag.Field",kFALSE}, @@ -1294,7 +1297,11 @@ Bfc_st BFC[] = { // standard chains {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"Generators ","-----------","-----------","------------------------------------------","","","",kFALSE}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"stargen", "","", "gen_T,sim_T"/*+++*/, "", LIBVMC ",libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, +#if ROOT_VERSION_CODE>=399366 + {"stargen", "","", "gen_T,sim_T"/*+++*/, "", "libVMCLibrary.so,libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, +#else + {"stargen", "","", "gen_T,sim_T"/*+++*/, "", "libVMC.so,libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, +#endif {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, @@ -1312,11 +1319,13 @@ Bfc_st BFC[] = { // standard chains {"g4physics", "", "", "", "", "libG4materials.so,libG4graphics_reps.so,libG4geometry.so,libG4particles.so,libG4track.so,libG4zlib.so,libG4digits_hits.so,libG4processes.so,libG4tracking.so,libG4event.so,libG4run.so,libG4physicslists.so", "Load G4",false}, {"g4geant3", "", "", "", "", "libG3toG4.so", "Load g3 to g4 support", false }, {"geant4", "", "", "g4physics,g4interfaces","","","Load G4 libs", false}, - - {"geant4vmc", "","", "geant4", "", LIBVMC ",libgeant4vmc.so", "Load G4 VMC libs", false}, +#if ROOT_VERSION_CODE>=399366 + {"geant4vmc", "","", "geant4", "", "libVMCLibrary.so,libgeant4vmc.so", "Load G4 VMC libs", false}, +#else + {"geant4vmc", "","", "geant4", "", "libVMC.so,libgeant4vmc.so", "Load G4 VMC libs", false}, +#endif {"geant4mk", "","", "stargen,geant4vmc,geant3vmc", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, - {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"I/O Makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, From 037dfefb6f881bbca204facd8d201e27f09ad3d0 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Thu, 1 Aug 2024 22:31:37 -0400 Subject: [PATCH 49/70] Prevent ROOT6/CLING from loading all TROOT exposed classes twice... (which couldn't possibly cause any side effects, but lets be safe about it shall we?) --- StRoot/StBFChain/BFC.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StRoot/StBFChain/BFC.C b/StRoot/StBFChain/BFC.C index 958219204d4..79b1f846d30 100644 --- a/StRoot/StBFChain/BFC.C +++ b/StRoot/StBFChain/BFC.C @@ -1,4 +1,4 @@ -#if !defined(__CINT__) +#if !defined(__CINT__) && !defined(__CLING__) #include "TROOT.h" #endif #include "Bfc.h" From 1e1cd291c84366c6d9573ded5600e7ddebcdd787 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Thu, 1 Aug 2024 23:54:18 -0400 Subject: [PATCH 50/70] Local code implies local search path for headers. --- StRoot/StGeant4Maker/macros/geant4star | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/StRoot/StGeant4Maker/macros/geant4star b/StRoot/StGeant4Maker/macros/geant4star index 7a2dfd7c9a0..1d173108ad7 100755 --- a/StRoot/StGeant4Maker/macros/geant4star +++ b/StRoot/StGeant4Maker/macros/geant4star @@ -2,11 +2,13 @@ setenv __G4STAR_MYSQL_DIR__ `mysql_config --variable=pkglibdir` -setenv ROOT_INCLUDE_PATH ${STAR}:${STAR}/StRoot:${STAR}/StRoot/StStarLogger:${STAR}/StRoot/StGeant4Maker:${STAR}:StRoot/StarGenerator/BASE:${STAR}/StarVMC/StarAgmlLib/:${STAR}/.sl73_x8664_gcc485/include/ + if ( -e ./StRoot/StGeant4Maker/macros/geant4star.C ) then + setenv ROOT_INCLUDE_PATH ${STAR}:.:./StRoot:./StRoot/StStarLogger:./StRoot/StGeant4Maker:.:StRoot/StarGenerator/BASE:./StarVMC/StarAgmlLib/:./.sl73_x8664_gcc485/include/ root.exe -l ./StRoot/StGeant4Maker/macros/initStar.C ./StRoot/StGeant4Maker/macros/geant4star.C $argv else + setenv ROOT_INCLUDE_PATH ${STAR}:${STAR}/StRoot:${STAR}/StRoot/StStarLogger:${STAR}/StRoot/StGeant4Maker:${STAR}:StRoot/StarGenerator/BASE:${STAR}/StarVMC/StarAgmlLib/:${STAR}/.sl73_x8664_gcc485/include/ root.exe -l $STAR/StRoot/StGeant4Maker/macros/initStar.C $STAR/StRoot/StGeant4Maker/macros/geant4star.C $argv endif From 9123eeee9d8635998336136265c6fccc6fc004d2 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Thu, 1 Aug 2024 23:59:55 -0400 Subject: [PATCH 51/70] Cling wrap... to prevent ROOT from ingesting class definitions multiple times. ... --- StRoot/StBFChain/BFC.C | 2 +- StRoot/StGeant4Maker/macros/geant4star.C | 2 ++ StRoot/StGeant4Maker/macros/initStar.C | 2 ++ StRoot/StGeant4Maker/tests/unit_test_track_data_model.C | 2 +- StRoot/StGeant4Maker/tests/unit_tests.h | 8 +++++++- StarDb/AgMLGeometry/CreateGeometry.h | 5 +++-- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/StRoot/StBFChain/BFC.C b/StRoot/StBFChain/BFC.C index 958219204d4..79b1f846d30 100644 --- a/StRoot/StBFChain/BFC.C +++ b/StRoot/StBFChain/BFC.C @@ -1,4 +1,4 @@ -#if !defined(__CINT__) +#if !defined(__CINT__) && !defined(__CLING__) #include "TROOT.h" #endif #include "Bfc.h" diff --git a/StRoot/StGeant4Maker/macros/geant4star.C b/StRoot/StGeant4Maker/macros/geant4star.C index f8f689dc2de..df000871e6b 100644 --- a/StRoot/StGeant4Maker/macros/geant4star.C +++ b/StRoot/StGeant4Maker/macros/geant4star.C @@ -1,9 +1,11 @@ class StBFChain; StBFChain* chain = 0; +#if !defined(__CINT__) && !defined(__CLING__) #include #include #include +#endif //extern "C" { // void Load( const char* lib ); diff --git a/StRoot/StGeant4Maker/macros/initStar.C b/StRoot/StGeant4Maker/macros/initStar.C index 86b86b1ecf6..b8a30b44078 100644 --- a/StRoot/StGeant4Maker/macros/initStar.C +++ b/StRoot/StGeant4Maker/macros/initStar.C @@ -1,6 +1,8 @@ +#if !defined(__CINT__) && !defined(__CLING__) #include #include #include +#endif void Load( const char* lib ) { std::cout << "Loading shared library " << lib << std::endl; diff --git a/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C index e306b122c5d..267abb960be 100644 --- a/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C +++ b/StRoot/StGeant4Maker/tests/unit_test_track_data_model.C @@ -9,7 +9,7 @@ double _phid = 0; std::map idIsNotUnique; int expectedId = 0; -#ifndef __CINT__ +#if !defined(__CINT__) #include #include #include diff --git a/StRoot/StGeant4Maker/tests/unit_tests.h b/StRoot/StGeant4Maker/tests/unit_tests.h index daa4ff68d7c..ad862eae174 100644 --- a/StRoot/StGeant4Maker/tests/unit_tests.h +++ b/StRoot/StGeant4Maker/tests/unit_tests.h @@ -1,10 +1,11 @@ #ifndef __unit_tests__ #define __unit_tests__ + +#if !defined(__CINT__) && !defined(__CLING__) #include #include #include #include -#include #include #include #include @@ -19,7 +20,12 @@ #include #include #include +#endif + #include +#include + + #define __COLOR__ #ifdef __COLOR__ const std::string FAIL = "\u001b[31m -failed- \u001b[0m"; diff --git a/StarDb/AgMLGeometry/CreateGeometry.h b/StarDb/AgMLGeometry/CreateGeometry.h index 66da8858fa8..21ef0a56efa 100644 --- a/StarDb/AgMLGeometry/CreateGeometry.h +++ b/StarDb/AgMLGeometry/CreateGeometry.h @@ -1,6 +1,7 @@ -#include -#if !defined(__CINT__) || defined(__CLING__) + +#if !defined(__CINT__) || !defined(__CLING__) +#include #include "StBFChain/StBFChain.h" #include "StarVMC/StarGeometry/StarGeo.h" #endif From 400539ff644d7f6314c3474ff37dbf3cd2988b99 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Fri, 2 Aug 2024 00:05:21 -0400 Subject: [PATCH 52/70] From PR#693 ... --- StRoot/macros/rootlogoff.C | 8 +------- StRoot/macros/rootlogoff2.C | 10 ++++++++++ 2 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 StRoot/macros/rootlogoff2.C diff --git a/StRoot/macros/rootlogoff.C b/StRoot/macros/rootlogoff.C index 661712dcac2..47b5d0cd73a 100644 --- a/StRoot/macros/rootlogoff.C +++ b/StRoot/macros/rootlogoff.C @@ -1,11 +1,5 @@ { - if (TClassTable::GetDict("StMaker")) - { - StMaker* mk = StMaker::GetChain(); - if (mk) { - mk->Finish(); - } - } + if (TClassTable::GetDict("StMaker")) gROOT->Macro("rootlogoff2.C"); std::cout << "\nThis is the end of STAR ROOT -- Goodbye\n" << std::endl; } diff --git a/StRoot/macros/rootlogoff2.C b/StRoot/macros/rootlogoff2.C new file mode 100644 index 00000000000..69ff6057fbd --- /dev/null +++ b/StRoot/macros/rootlogoff2.C @@ -0,0 +1,10 @@ +{ + + { + StMaker* mk = StMaker::GetChain(); + if (mk) { + mk->Finish(); + } + } + +} From 16cc33b35c1605708c703311a56e704e613a6bd0 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Thu, 12 Sep 2024 10:29:12 -0400 Subject: [PATCH 53/70] When geant4maker is set, we should add the geantBranch to the output tree. --- StRoot/StBFChain/BigFullChain.h | 3 ++- StRoot/StBFChain/StBFChain.cxx | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 989cf32eea9..02cf6f3d298 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -1125,6 +1125,7 @@ Bfc_st BFC[] = { // standard chains {"McEvOut" ,"" ,"","StMcEvent,Tree" ,"","","Write StMcEvent to StTree",kFALSE}, {"EvOut" ,"" ,"","Tree" ,"","","Write StEvent to StTree",kFALSE}, {"GeantOut" ,"" ,"","Tree" ,"","","Write g2t tables to StTree",kFALSE}, + {"Geant4Out" ,"" ,"","Tree" ,"","","Write g2t tables to StTree",kFALSE}, {"Simu" ,"" ,"","" ,"","","Simulated Data, force to use Db time stamp from used geometry",kFALSE}, {"HitsBranch" ,"" ,"","" ,"","","take out points from dst branch and put them into HitsBranch",kFALSE}, {"paw" ,"" ,"","" ,"","","Allocate memory for pawc",kFALSE}, @@ -1324,7 +1325,7 @@ Bfc_st BFC[] = { // standard chains #else {"geant4vmc", "","", "geant4", "", "libVMC.so,libgeant4vmc.so", "Load G4 VMC libs", false}, #endif - {"geant4mk", "","", "stargen,geant4vmc,geant3vmc", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, + {"geant4mk", "","", "stargen,geant4vmc,geant3vmc,geant4out", "", "StGeant4Maker.so,StarMagField.so", "Load G4 VMC libs", false}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, {"I/O Makers ","-----------","-----------","------------------------------------------","","","",kFALSE}, diff --git a/StRoot/StBFChain/StBFChain.cxx b/StRoot/StBFChain/StBFChain.cxx index 566db07be1f..26a1ace549e 100644 --- a/StRoot/StBFChain/StBFChain.cxx +++ b/StRoot/StBFChain/StBFChain.cxx @@ -1940,6 +1940,7 @@ void StBFChain::SetTreeOptions() treeMk->IntoBranch("McEventBranch","StMcEvent"); } if (GetOption("GeantOut")) treeMk->IntoBranch("geantBranch","geant"); + if (GetOption("Geant4Out")) treeMk->IntoBranch("geantBranch","geant4star"); if (GetOption("AllEvent")) { if (GetOption("fzin") || GetOption("ntin") || From 029e11229ef0db31a53b0a16b483ae08270bd7e6 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Fri, 13 Sep 2024 10:29:42 -0400 Subject: [PATCH 54/70] Add pythia6 chain option. --- StRoot/StBFChain/BigFullChain.h | 1 + 1 file changed, 1 insertion(+) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 02cf6f3d298..2ca36a687f2 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -1303,6 +1303,7 @@ Bfc_st BFC[] = { // standard chains #else {"stargen", "","", "gen_T,sim_T"/*+++*/, "", "libVMC.so,libfastjet.so,libStarGeneratorUtil.so,libStarGeneratorEvent.so,libStarGeneratorBase.so,libStarGeneratorFilt.so,libMathMore.so","STAR Generator BASE",false}, #endif + {"pythia6.4.28","","","stargen", "", "Pythia6_4_28.so", "Load Pythia 6.4.28 generator", false }, {"pythia8.1.86","","","stargen", "", "Pythia8_1_86.so", "Load Pythia 8.1.86 generator", false }, {"pythia8.2.35","","","stargen", "", "Pythia8_2_35.so", "Load Pythia 8.1.86 generator", false }, {"hijing1.383" ,"","","stargen", "", "Hijing1_383.so", "Load Hijing 1.383 generator", false }, From c3f6681b02742d10e0352ea63bb74a5d3071ca6a Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 25 Sep 2024 09:58:09 -0400 Subject: [PATCH 55/70] Output implies geant4out, not geantout. --- StRoot/StGeant4Maker/macros/geant4star.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StRoot/StGeant4Maker/macros/geant4star.C b/StRoot/StGeant4Maker/macros/geant4star.C index df000871e6b..ee31a382d9d 100644 --- a/StRoot/StGeant4Maker/macros/geant4star.C +++ b/StRoot/StGeant4Maker/macros/geant4star.C @@ -89,7 +89,7 @@ void loadStar(TString mytag="dev2021", Bool_t agml = true ) if ( arg.Contains("=") ) { // Generally skip, but output triggers geantout chain option if ( arg.Contains("output") ) { - chainOpts += " geantout "; + chainOpts += " geant4out "; } // By specifying a filter, load the stargeneratorfilt package if ( arg.Contains("filter") ) { From 5e8ebff56788ae97ae8447e9a606f0a60a12e561 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 30 Oct 2024 09:18:09 -0400 Subject: [PATCH 56/70] Option to load geant tables w/out other dependencies. --- StRoot/StBFChain/BigFullChain.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index 2ca36a687f2..e9131da1442 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -1293,6 +1293,9 @@ Bfc_st BFC[] = { // standard chains {"geantL","","","geomT,gen_T,sim_T,StarMagField","","geometry,Geom,St_db_Maker,St_g2t,St_geant_Maker" , "Load GeantLibs",kFALSE}, + + {"geantTables","","","geomT,gen_T,sim_T","","geometry,Geom,St_db_Maker,St_g2t", "Geant tables",kFALSE}, + {"gstarLib","","","" ,"","gstar","Load gstar lib",kFALSE}, {"flux" ,"","","simu" ,"","flux","Load flux lib",kFALSE}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, From fa71fe4e4f4fbf556a26a7e8194a969f38f76bc8 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 30 Oct 2024 09:21:46 -0400 Subject: [PATCH 57/70] The protected against both CINT and CLING. --- StRoot/macros/bfc.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StRoot/macros/bfc.C b/StRoot/macros/bfc.C index 3c7538fb0eb..48fb983d118 100644 --- a/StRoot/macros/bfc.C +++ b/StRoot/macros/bfc.C @@ -30,7 +30,7 @@ class StMessMgr; #include "Rtypes.h" #endif -#if !defined(__CINT__) || defined(__CLING__) +#if !(defined(__CINT__) || defined(__CLING__)) // 'chain' is defined in StBFChain library (see StRoot/StBFChain.cxx) extern StBFChain* chain; #else From 9ca2b324c6d40aaa0bf83783fca3480e8ef8186b Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 30 Oct 2024 09:28:33 -0400 Subject: [PATCH 58/70] Remove ancient version of geant3 vmc from our source tree. --- StarVMC/geant3/PACKAGE | 5 - StarVMC/geant3/README | 34 - StarVMC/geant3/README_gcalor | 65 - StarVMC/geant3/README_geane | 266 - StarVMC/geant3/README_geane_more | 95 - .../geant3/TGeant3/.includes_for_export.flg | 1 - StarVMC/geant3/TGeant3/TCallf77.h | 21 - StarVMC/geant3/TGeant3/TG3Application.cxx | 241 - StarVMC/geant3/TGeant3/TG3Application.h | 62 - StarVMC/geant3/TGeant3/TGeant3.cxx | 6989 ---- StarVMC/geant3/TGeant3/TGeant3.h | 1185 - StarVMC/geant3/TGeant3/TGeant3TGeo.cxx | 2332 -- StarVMC/geant3/TGeant3/TGeant3TGeo.h | 245 - StarVMC/geant3/TGeant3/TGeant3f77.cxx | 1604 - StarVMC/geant3/TGeant3/TGeant3f77.h | 35 - StarVMC/geant3/TGeant3/TGeant3gu.cxx | 740 - StarVMC/geant3/TGeant3/TGeant3gu.h | 1 - StarVMC/geant3/TGeant3/galicef.F | 71 - StarVMC/geant3/TGeant3/geant3LinkDef.h | 46 - StarVMC/geant3/added/dummies.c | 90 - StarVMC/geant3/added/dummies2.c | 3 - StarVMC/geant3/added/loadmod.F | 42 - StarVMC/geant3/block/fdevap.F | 82 - StarVMC/geant3/block/fdnopt.F | 139 - StarVMC/geant3/block/fdpree.F | 81 - StarVMC/geant3/block/flkdt1.F | 101 - StarVMC/geant3/block/flkdt2.F | 62 - StarVMC/geant3/block/flkdt3.F | 741 - StarVMC/geant3/block/flkdt4.F | 109 - StarVMC/geant3/block/flkdt5.F | 166 - StarVMC/geant3/block/flkdt6.F | 429 - StarVMC/geant3/block/flkdt7.F | 264 - StarVMC/geant3/cgpack/cgaffi.F | 137 - StarVMC/geant3/cgpack/cgbfit.F | 123 - StarVMC/geant3/cgpack/cgbint.F | 99 - StarVMC/geant3/cgpack/cgbmmt.F | 98 - StarVMC/geant3/cgpack/cgbool.F | 182 - StarVMC/geant3/cgpack/cgbox.F | 197 - StarVMC/geant3/cgpack/cgbrik.F | 127 - StarVMC/geant3/cgpack/cgbsea.F | 79 - StarVMC/geant3/cgpack/cgbsec.F | 116 - StarVMC/geant3/cgpack/cgbsor.F | 121 - StarVMC/geant3/cgpack/cgbsub.F | 121 - StarVMC/geant3/cgpack/cgbtef.F | 121 - StarVMC/geant3/cgpack/cgbtfp.F | 133 - StarVMC/geant3/cgpack/cgbttt.F | 237 - StarVMC/geant3/cgpack/cgcev.F | 67 - StarVMC/geant3/cgpack/cgcopy.F | 63 - StarVMC/geant3/cgpack/cgelli.F | 220 - StarVMC/geant3/cgpack/cgfac2.F | 129 - StarVMC/geant3/cgpack/cgfaco.F | 183 - StarVMC/geant3/cgpack/cgfare.F | 467 - StarVMC/geant3/cgpack/cgfvis.F | 223 - StarVMC/geant3/cgpack/cghcre.F | 72 - StarVMC/geant3/cgpack/cghdfa.F | 102 - StarVMC/geant3/cgpack/cghend.F | 127 - StarVMC/geant3/cgpack/cgheva.F | 59 - StarVMC/geant3/cgpack/cghins.F | 95 - StarVMC/geant3/cgpack/cghmov.F | 97 - StarVMC/geant3/cgpack/cghpla.F | 94 - StarVMC/geant3/cgpack/cghpla.F.ori | 86 - StarVMC/geant3/cgpack/cghren.F | 143 - StarVMC/geant3/cgpack/cghshi.F | 85 - StarVMC/geant3/cgpack/cghsiz.F | 75 - StarVMC/geant3/cgpack/cghtre.F | 106 - StarVMC/geant3/cgpack/cginve.F | 73 - StarVMC/geant3/cgpack/cgmnmx.F | 84 - StarVMC/geant3/cgpack/cgpers.F | 126 - StarVMC/geant3/cgpack/cgrifl.F | 87 - StarVMC/geant3/cgpack/cgsaan.F | 75 - StarVMC/geant3/cgpack/cgscop.F | 81 - StarVMC/geant3/cgpack/cgshel.F | 157 - StarVMC/geant3/cgpack/cgshif.F | 68 - StarVMC/geant3/cgpack/cgsize.F | 66 - StarVMC/geant3/cgpack/cgslic.F | 162 - StarVMC/geant3/cgpack/cgsnor.F | 105 - StarVMC/geant3/cgpack/cgsphe.F | 58 - StarVMC/geant3/cgpack/cgsub.F | 54 - StarVMC/geant3/cgpack/cgtset.F | 89 - StarVMC/geant3/cgpack/cgtstr.F | 71 - StarVMC/geant3/cgpack/cgvedg.F | 90 - StarVMC/geant3/cgpack/cgvhed.F | 94 - StarVMC/geant3/cgpack/cgvtef.F | 172 - StarVMC/geant3/cgpack/cgvtin.F | 96 - StarVMC/geant3/cgpack/cgwire.F | 160 - StarVMC/geant3/cgpack/cgwsor.F | 101 - StarVMC/geant3/cgpack/cgzre.F | 232 - StarVMC/geant3/cgpack/cgzrev.F | 173 - StarVMC/geant3/comad/gcadd.cxx | 85 - StarVMC/geant3/comad/gcomad.F | 272 - StarVMC/geant3/data/flukaaf.dat | 4011 --- StarVMC/geant3/diff.072708 | 27718 ---------------- StarVMC/geant3/doc/cmze/Versions/v3_15 | 51 - StarVMC/geant3/doc/cmze/Versions/v3_16 | 31 - StarVMC/geant3/doc/cmze/Versions/v3_21 | 52 - StarVMC/geant3/doc/cmzf/Versions/v3_16 | 112 - StarVMC/geant3/doc/cmzf/Versions/v3_21 | 53 - StarVMC/geant3/doc/cmzg/Versions/v3_12 | 33 - StarVMC/geant3/doc/cmzg/Versions/v3_13 | 54 - StarVMC/geant3/doc/cmzg/Versions/v3_14 | 35 - StarVMC/geant3/doc/cmzg/Versions/v3_15 | 68 - StarVMC/geant3/doc/cmzg/Versions/v3_16 | 31 - StarVMC/geant3/doc/cmzg/Versions/v3_21 | 53 - StarVMC/geant3/doc/cmzh/Versions/v3_14 | 35 - StarVMC/geant3/doc/cmzh/Versions/v3_15 | 61 - StarVMC/geant3/doc/cmzh/Versions/v3_16 | 31 - StarVMC/geant3/doc/cmzh/Versions/v3_21 | 52 - StarVMC/geant3/doc/cmzm/Versions/v3_16 | 31 - StarVMC/geant3/doc/cmzm/Versions/v3_21 | 52 - StarVMC/geant3/doc/cmzt/Versions/v3_13 | 33 - StarVMC/geant3/doc/cmzt/Versions/v3_14 | 34 - StarVMC/geant3/doc/cmzt/Versions/v3_15 | 71 - StarVMC/geant3/doc/cmzt/Versions/v3_16 | 31 - StarVMC/geant3/doc/cmzt/Versions/v3_21 | 463 - StarVMC/geant3/doc/cmzx/Versions/v3_14 | 35 - StarVMC/geant3/doc/cmzx/Versions/v3_15 | 62 - StarVMC/geant3/doc/cmzx/Versions/v3_16 | 31 - StarVMC/geant3/doc/cmzx/Versions/v3_21 | 52 - StarVMC/geant3/doc/gedoc | 739 - StarVMC/geant3/doc/ghdoc/blank.doc | 48 - StarVMC/geant3/doc/ghdoc/consts.doc | 59 - StarVMC/geant3/doc/ghdoc/curpar.doc | 86 - StarVMC/geant3/doc/ghdoc/errcom.doc | 109 - StarVMC/geant3/doc/ghdoc/event.doc | 55 - StarVMC/geant3/doc/ghdoc/masind.doc | 65 - StarVMC/geant3/doc/ghdoc/masses.doc | 63 - StarVMC/geant3/doc/ghdoc/mat.doc | 87 - StarVMC/geant3/doc/ghdoc/result.doc | 62 - StarVMC/geant3/doc/history/geane321 | 80 - StarVMC/geant3/doc/history/geanx321 | 36 - StarVMC/geant3/doc/history/h_v_314.F | 354 - StarVMC/geant3/doc/history/v_313.F | 82 - StarVMC/geant3/doc/history/v_314.F | 1000 - StarVMC/geant3/doc/history/v_315.F | 961 - StarVMC/geant3/doc/history/v_316.F | 717 - .../geant3/doc/include_specials/incbeg.inc | 36 - .../geant3/doc/include_specials/incend.inc | 36 - .../geant3/doc/include_specials/incseq.cra | 8 - StarVMC/geant3/doc/update97a.txt | 27 - StarVMC/geant3/erdecks/erbcer.F | 59 - StarVMC/geant3/erdecks/erbctr.F | 57 - StarVMC/geant3/erdecks/erland.F | 191 - StarVMC/geant3/erdecks/ermcsc.F | 90 - StarVMC/geant3/erdecks/erpini.F | 74 - StarVMC/geant3/erdecks/erprop.F | 110 - StarVMC/geant3/erdecks/erstor.F | 115 - StarVMC/geant3/erdecks/ertrak.F | 236 - StarVMC/geant3/erdecks/ertrch.F | 325 - StarVMC/geant3/erdecks/ertrgo.F | 304 - StarVMC/geant3/erdecks/ertrnt.F | 107 - StarVMC/geant3/erdecks/erxyzc.F | 79 - StarVMC/geant3/erdecks/eufill.F | 56 - StarVMC/geant3/erdecks/eufilp.F | 67 - StarVMC/geant3/erdecks/eufilv.F | 62 - StarVMC/geant3/erdecks/eustep.F | 218 - StarVMC/geant3/erdecks/evolio.F | 132 - StarVMC/geant3/erdecks/gdedxcalc.F | 228 - StarVMC/geant3/erdecks/mytrack.g | 101 - StarVMC/geant3/erpremc/trprfn.F | 454 - StarVMC/geant3/erpremc/trprop.F | 305 - StarVMC/geant3/erpremc/trptsc.F | 87 - StarVMC/geant3/erpremc/trptsd.F | 135 - StarVMC/geant3/erpremc/trs1s2.F | 193 - StarVMC/geant3/erpremc/trscpt.F | 88 - StarVMC/geant3/erpremc/trscsd.F | 173 - StarVMC/geant3/erpremc/trscsp.F | 152 - StarVMC/geant3/erpremc/trsdpt.F | 135 - StarVMC/geant3/erpremc/trsdsc.F | 159 - StarVMC/geant3/erpremc/trspsc.F | 138 - StarVMC/geant3/examples/E01.C | 35 - StarVMC/geant3/examples/E01_g3Config.C | 16 - StarVMC/geant3/examples/E02.C | 36 - StarVMC/geant3/examples/E02_g3Config.C | 22 - StarVMC/geant3/examples/E03.C | 41 - StarVMC/geant3/examples/E03_g3Config.C | 24 - StarVMC/geant3/examples/Makefile | 20 - StarVMC/geant3/examples/example02.root | Bin 379 -> 0 bytes StarVMC/geant3/examples/example03.root | Bin 1052116 -> 0 bytes StarVMC/geant3/examples/flukaaf.dat | 4011 --- StarVMC/geant3/examples/flukaerr.dat | 28 - StarVMC/geant3/examples/galicef.F | 71 - StarVMC/geant3/examples/gcbank.inc | 18 - StarVMC/geant3/examples/gccuts.inc | 6 - StarVMC/geant3/examples/gcflag.inc | 5 - StarVMC/geant3/examples/gckine.inc | 3 - StarVMC/geant3/examples/gcking.inc | 12 - StarVMC/geant3/examples/gclist.inc | 7 - StarVMC/geant3/examples/gcmate.inc | 5 - StarVMC/geant3/examples/gcnum.inc | 7 - StarVMC/geant3/examples/gconsp.inc | 15 - StarVMC/geant3/examples/gconst.inc | 3 - StarVMC/geant3/examples/gcphys.inc | 27 - StarVMC/geant3/examples/gcscan.inc | 20 - StarVMC/geant3/examples/gctmed.inc | 4 - StarVMC/geant3/examples/gctrak.inc | 9 - StarVMC/geant3/examples/gcunit.inc | 5 - StarVMC/geant3/examples/gcvolu.inc | 4 - StarVMC/geant3/examples/gexam1 | Bin 173526 -> 0 bytes StarVMC/geant3/examples/gexam1.F | 643 - StarVMC/geant3/examples/gexam1.dat | 12 - StarVMC/geant3/examples/gexam3 | Bin 156218 -> 0 bytes StarVMC/geant3/examples/gexam3.F | 790 - StarVMC/geant3/examples/gexam3.dat | 366 - StarVMC/geant3/examples/gexam4 | Bin 178726 -> 0 bytes StarVMC/geant3/examples/gexam4.F | 882 - StarVMC/geant3/examples/gexam4.dat | 23 - StarVMC/geant3/examples/gmain.cxx | 39 - StarVMC/geant3/examples/gphysi.dat | 23 - StarVMC/geant3/examples/model | Bin 141664 -> 0 bytes StarVMC/geant3/examples/model.F | 435 - StarVMC/geant3/examples/model.dat | 14 - StarVMC/geant3/examples/model.inc | 2 - StarVMC/geant3/examples/rootlogon.C | 7 - StarVMC/geant3/fiface/fldist.F | 140 - StarVMC/geant3/fiface/flinit.F | 78 - StarVMC/geant3/fiface/flufin.F | 346 - StarVMC/geant3/fiface/flufin.F.ori | 339 - StarVMC/geant3/fluka/abbrch.F | 214 - StarVMC/geant3/fluka/ainel.F | 124 - StarVMC/geant3/fluka/akeka.F | 76 - StarVMC/geant3/fluka/altra.F | 53 - StarVMC/geant3/fluka/altraf.F | 67 - StarVMC/geant3/fluka/amga.F | 77 - StarVMC/geant3/fluka/ankeka.F | 89 - StarVMC/geant3/fluka/bamjev.F | 262 - StarVMC/geant3/fluka/beexi.F | 57 - StarVMC/geant3/fluka/bekeka.F | 87 - StarVMC/geant3/fluka/berttp.F | 190 - StarVMC/geant3/fluka/beta.F | 56 - StarVMC/geant3/fluka/betarn.F | 106 - StarVMC/geant3/fluka/betrst.F | 107 - StarVMC/geant3/fluka/bkeka.F | 54 - StarVMC/geant3/fluka/bklass.F | 62 - StarVMC/geant3/fluka/bnkeka.F | 59 - StarVMC/geant3/fluka/calumo.F | 83 - StarVMC/geant3/fluka/calumv.F | 108 - StarVMC/geant3/fluka/chanwt.F | 65 - StarVMC/geant3/fluka/corevt.F | 872 - StarVMC/geant3/fluka/corrin.F | 455 - StarVMC/geant3/fluka/datar3.F | 152 - StarVMC/geant3/fluka/decaux.F | 79 - StarVMC/geant3/fluka/decay.F | 158 - StarVMC/geant3/fluka/difevv.F | 380 - StarVMC/geant3/fluka/dost.F | 56 - StarVMC/geant3/fluka/drelab.F | 47 - StarVMC/geant3/fluka/dres.F | 1041 - StarVMC/geant3/fluka/eexi.F | 64 - StarVMC/geant3/fluka/eexlvl.F | 112 - StarVMC/geant3/fluka/ekeka.F | 131 - StarVMC/geant3/fluka/energi.F | 82 - StarVMC/geant3/fluka/energy.F | 77 - StarVMC/geant3/fluka/enrg.F | 85 - StarVMC/geant3/fluka/erup.F | 144 - StarVMC/geant3/fluka/evdeex.F | 333 - StarVMC/geant3/fluka/eventv.F | 1882 -- StarVMC/geant3/fluka/evevap.F | 415 - StarVMC/geant3/fluka/evvini.F | 83 - StarVMC/geant3/fluka/ferevv.F | 609 - StarVMC/geant3/fluka/ferhav.F | 275 - StarVMC/geant3/fluka/fisfra.F | 71 - StarVMC/geant3/fluka/fkdeca.F | 150 - StarVMC/geant3/fluka/fkdres.F | 1036 - StarVMC/geant3/fluka/fkener.F | 69 - StarVMC/geant3/fluka/fkerup.F | 136 - StarVMC/geant3/fluka/fkflav.F | 378 - StarVMC/geant3/fluka/fkimpu.F | 95 - StarVMC/geant3/fluka/fksigi.F | 77 - StarVMC/geant3/fluka/fkvert.F | 78 - StarVMC/geant3/fluka/fkzero.F | 151 - StarVMC/geant3/fluka/flavor.F | 386 - StarVMC/geant3/fluka/fpower.F | 74 - StarVMC/geant3/fluka/fprob.F | 64 - StarVMC/geant3/fluka/gamrn.F | 79 - StarVMC/geant3/fluka/geta.F | 114 - StarVMC/geant3/fluka/hadden.F | 104 - StarVMC/geant3/fluka/hadevv.F | 3008 -- StarVMC/geant3/fluka/hadrin.F | 484 - StarVMC/geant3/fluka/hadriv.F | 682 - StarVMC/geant3/fluka/hevhin.F | 77 - StarVMC/geant3/fluka/hinhev.F | 76 - StarVMC/geant3/fluka/hklass.F | 263 - StarVMC/geant3/fluka/hypero.F | 61 - StarVMC/geant3/fluka/iefun.F | 76 - StarVMC/geant3/fluka/impuls.F | 100 - StarVMC/geant3/fluka/incini.F | 281 - StarVMC/geant3/fluka/index2.F | 64 - StarVMC/geant3/fluka/kinpar.F | 66 - StarVMC/geant3/fluka/kpois.F | 55 - StarVMC/geant3/fluka/lortra.F | 59 - StarVMC/geant3/fluka/nizl.F | 766 - StarVMC/geant3/fluka/nizlnw.F | 86 - StarVMC/geant3/fluka/nucevv.F | 669 - StarVMC/geant3/fluka/nucrel.F | 355 - StarVMC/geant3/fluka/nucriv.F | 2552 -- StarVMC/geant3/fluka/nudisv.F | 367 - StarVMC/geant3/fluka/nuprel.F | 116 - StarVMC/geant3/fluka/parjet.F | 54 - StarVMC/geant3/fluka/pmprab.F | 204 - StarVMC/geant3/fluka/poli.F | 49 - StarVMC/geant3/fluka/qnrg.F | 77 - StarVMC/geant3/fluka/raco.F | 67 - StarVMC/geant3/fluka/rakekv.F | 136 - StarVMC/geant3/fluka/rbkekv.F | 210 - StarVMC/geant3/fluka/rchanv.F | 240 - StarVMC/geant3/fluka/rotat.F | 44 - StarVMC/geant3/fluka/samcst.F | 416 - StarVMC/geant3/fluka/sfecfe.F | 62 - StarVMC/geant3/fluka/shptot.F | 155 - StarVMC/geant3/fluka/sigel.F | 451 - StarVMC/geant3/fluka/sigint.F | 85 - StarVMC/geant3/fluka/sihael.F | 516 - StarVMC/geant3/fluka/sitsao.F | 72 - StarVMC/geant3/fluka/stalin.F | 158 - StarVMC/geant3/fluka/tchoic.F | 95 - StarVMC/geant3/fluka/threpd.F | 203 - StarVMC/geant3/fluka/trafo.F | 54 - StarVMC/geant3/fluka/trahad.F | 59 - StarVMC/geant3/fluka/trans.F | 88 - StarVMC/geant3/fluka/ttrans.F | 76 - StarVMC/geant3/fluka/twopad.F | 62 - StarVMC/geant3/fluka/twopar.F | 80 - StarVMC/geant3/fluka/verein.F | 223 - StarVMC/geant3/fluka/vertex.F | 86 - StarVMC/geant3/fluka/xlamb.F | 59 - StarVMC/geant3/fluka/xseneu.F | 68 - StarVMC/geant3/fluka/xsepro.F | 72 - StarVMC/geant3/fluka/zeroin.F | 159 - StarVMC/geant3/gbase/gbase.doc | 1165 - StarVMC/geant3/gbase/gbhsta.F | 47 - StarVMC/geant3/gbase/geamon.F | 108 - StarVMC/geant3/gbase/getnum.F | 59 - StarVMC/geant3/gbase/getver.F | 132 - StarVMC/geant3/gbase/gffgo.F | 167 - StarVMC/geant3/gbase/gfhead.F | 73 - StarVMC/geant3/gbase/gfhsta.F | 88 - StarVMC/geant3/gbase/gfrung.F | 72 - StarVMC/geant3/gbase/ggclo2.F | 227 - StarVMC/geant3/gbase/ggclos.F | 680 - StarVMC/geant3/gbase/ghclos.F | 69 - StarVMC/geant3/gbase/ginit.F | 418 - StarVMC/geant3/gbase/glast.F | 87 - StarVMC/geant3/gbase/glook.F | 50 - StarVMC/geant3/gbase/gmail.F | 62 - StarVMC/geant3/gbase/gphead.F | 81 - StarVMC/geant3/gbase/gprint.F | 77 - StarVMC/geant3/gbase/gprung.F | 82 - StarVMC/geant3/gbase/grun.F | 75 - StarVMC/geant3/gbase/gshead.F | 78 - StarVMC/geant3/gbase/gsrung.F | 77 - StarVMC/geant3/gbase/gtrig.F | 99 - StarVMC/geant3/gbase/gtrigc.F | 64 - StarVMC/geant3/gbase/gtrigi.F | 85 - StarVMC/geant3/gbase/gwork.F | 81 - StarVMC/geant3/gbase/gzebra.F | 63 - StarVMC/geant3/gbase/gzinit.F | 121 - StarVMC/geant3/gcinit.F | 11 - StarVMC/geant3/gcons/gcons.doc | 102 - StarVMC/geant3/gcons/gevkev.F | 70 - StarVMC/geant3/gcons/gfcoul.F | 53 - StarVMC/geant3/gcons/gfmate.F | 68 - StarVMC/geant3/gcons/gfpart.F | 70 - StarVMC/geant3/gcons/gftmat.F | 500 - StarVMC/geant3/gcons/gftmed.F | 75 - StarVMC/geant3/gcons/ghmix.F | 108 - StarVMC/geant3/gcons/gmate.F | 70 - StarVMC/geant3/gcons/gpart.F | 196 - StarVMC/geant3/gcons/gpions.F | 102 - StarVMC/geant3/gcons/gplmat.F | 274 - StarVMC/geant3/gcons/gpmate.F | 93 - StarVMC/geant3/gcons/gpmatx.F | 164 - StarVMC/geant3/gcons/gppart.F | 93 - StarVMC/geant3/gcons/gpparx.F | 131 - StarVMC/geant3/gcons/gprmat.F | 251 - StarVMC/geant3/gcons/gptmed.F | 86 - StarVMC/geant3/gcons/gptmex.F | 136 - StarVMC/geant3/gcons/gsckov.F | 107 - StarVMC/geant3/gcons/gsdk.F | 97 - StarVMC/geant3/gcons/gsmate.F | 243 - StarVMC/geant3/gcons/gsmate.F.ori | 211 - StarVMC/geant3/gcons/gsmixt.F | 175 - StarVMC/geant3/gcons/gspart.F | 100 - StarVMC/geant3/gcons/gstmed.F | 210 - StarVMC/geant3/gcons/gstpar.F | 150 - StarVMC/geant3/gcons/gxsi.F | 49 - StarVMC/geant3/geant3.diff.050708 | 27712 --------------- StarVMC/geant3/geant321/aadat.inc | 43 - StarVMC/geant3/geant321/auxpar.inc | 48 - StarVMC/geant3/geant321/balanc.inc | 46 - StarVMC/geant3/geant321/bamjcm.inc | 52 - StarVMC/geant3/geant321/blank.inc | 33 - StarVMC/geant3/geant321/camass.inc | 38 - StarVMC/geant3/geant321/cerrcm.inc | 36 - StarVMC/geant3/geant321/cgcaan.inc | 59 - StarVMC/geant3/geant321/cgcedg.inc | 52 - StarVMC/geant3/geant321/cgcfac.inc | 48 - StarVMC/geant3/geant321/cgctra.inc | 47 - StarVMC/geant3/geant321/cgdelt.inc | 48 - StarVMC/geant3/geant321/cggpar.inc | 61 - StarVMC/geant3/geant321/cghpar.inc | 60 - StarVMC/geant3/geant321/cgxcom.inc | 46 - StarVMC/geant3/geant321/cmagic.inc | 35 - StarVMC/geant3/geant321/cmass.inc | 37 - StarVMC/geant3/geant321/cmsres.inc | 49 - StarVMC/geant3/geant321/comcon.inc | 68 - StarVMC/geant3/geant321/comcont.inc | 37 - StarVMC/geant3/geant321/corinc.inc | 47 - StarVMC/geant3/geant321/crandm.inc | 42 - StarVMC/geant3/geant321/dblprc.inc | 291 - StarVMC/geant3/geant321/decayc.inc | 48 - StarVMC/geant3/geant321/decayc2.inc | 48 - StarVMC/geant3/geant321/depnuc.inc | 42 - StarVMC/geant3/geant321/dimpar.inc | 67 - StarVMC/geant3/geant321/eropts.inc | 51 - StarVMC/geant3/geant321/ertrio.inc | 59 - StarVMC/geant3/geant321/erwork.inc | 51 - StarVMC/geant3/geant321/eva0.inc | 43 - StarVMC/geant3/geant321/eva1.inc | 39 - StarVMC/geant3/geant321/fheavy.inc | 85 - StarVMC/geant3/geant321/fheavyt.inc | 37 - StarVMC/geant3/geant321/finlsp.inc | 47 - StarVMC/geant3/geant321/finlsp2.inc | 47 - StarVMC/geant3/geant321/finlsp3.inc | 48 - StarVMC/geant3/geant321/finpar.inc | 49 - StarVMC/geant3/geant321/finpar2.inc | 49 - StarVMC/geant3/geant321/finuc.inc | 72 - StarVMC/geant3/geant321/finuc2.inc | 72 - StarVMC/geant3/geant321/finuct.inc | 37 - StarVMC/geant3/geant321/forcn.inc | 39 - StarVMC/geant3/geant321/gc10ev.inc | 49 - StarVMC/geant3/geant321/gcasho.inc | 45 - StarVMC/geant3/geant321/gcbank.inc | 55 - StarVMC/geant3/geant321/gccurs.inc | 50 - StarVMC/geant3/geant321/gccuts.inc | 57 - StarVMC/geant3/geant321/gcdlin.inc | 37 - StarVMC/geant3/geant321/gcdraw.inc | 63 - StarVMC/geant3/geant321/gcfdim.inc | 44 - StarVMC/geant3/geant321/gcflag.inc | 53 - StarVMC/geant3/geant321/gcgobj.inc | 52 - StarVMC/geant3/geant321/gchil2.inc | 52 - StarVMC/geant3/geant321/gchiln.inc | 52 - StarVMC/geant3/geant321/gchvir.inc | 42 - StarVMC/geant3/geant321/gcjloc.inc | 62 - StarVMC/geant3/geant321/gcjump.inc | 69 - StarVMC/geant3/geant321/gckine.inc | 51 - StarVMC/geant3/geant321/gcking.inc | 57 - StarVMC/geant3/geant321/gckmax.inc | 47 - StarVMC/geant3/geant321/gclink.inc | 52 - StarVMC/geant3/geant321/gclist.inc | 52 - StarVMC/geant3/geant321/gclund.inc | 49 - StarVMC/geant3/geant321/gcmate.inc | 50 - StarVMC/geant3/geant321/gcmore.inc | 51 - StarVMC/geant3/geant321/gcmulo.inc | 52 - StarVMC/geant3/geant321/gcmutr.inc | 63 - StarVMC/geant3/geant321/gcmzfo.inc | 51 - StarVMC/geant3/geant321/gcnmec.inc | 55 - StarVMC/geant3/geant321/gcnum.inc | 52 - StarVMC/geant3/geant321/gcomis.inc | 49 - StarVMC/geant3/geant321/gconsp.inc | 81 - StarVMC/geant3/geant321/gconst.inc | 51 - StarVMC/geant3/geant321/gcopti.inc | 50 - StarVMC/geant3/geant321/gcpara.inc | 65 - StarVMC/geant3/geant321/gcparm.inc | 53 - StarVMC/geant3/geant321/gcphnr.inc | 49 - StarVMC/geant3/geant321/gcphpr.inc | 49 - StarVMC/geant3/geant321/gcphrd.inc | 55 - StarVMC/geant3/geant321/gcphxs.inc | 53 - StarVMC/geant3/geant321/gcphys.inc | 65 - StarVMC/geant3/geant321/gcpixe.inc | 44 - StarVMC/geant3/geant321/gcpmxz.inc | 48 - StarVMC/geant3/geant321/gcpoly.inc | 48 - StarVMC/geant3/geant321/gcpotm.inc | 40 - StarVMC/geant3/geant321/gcpush.inc | 48 - StarVMC/geant3/geant321/gcrayt.inc | 47 - StarVMC/geant3/geant321/gcrz.inc | 50 - StarVMC/geant3/geant321/gcscal.inc | 54 - StarVMC/geant3/geant321/gcscan.inc | 61 - StarVMC/geant3/geant321/gcsetf.inc | 40 - StarVMC/geant3/geant321/gcsets.inc | 50 - StarVMC/geant3/geant321/gcshno.inc | 48 - StarVMC/geant3/geant321/gcshpt.inc | 64 - StarVMC/geant3/geant321/gcspee.inc | 53 - StarVMC/geant3/geant321/gcstak.inc | 53 - StarVMC/geant3/geant321/gcstra.inc | 45 - StarVMC/geant3/geant321/gctime.inc | 49 - StarVMC/geant3/geant321/gctmed.inc | 52 - StarVMC/geant3/geant321/gctrak.inc | 57 - StarVMC/geant3/geant321/gcunit.inc | 50 - StarVMC/geant3/geant321/gcursb.inc | 52 - StarVMC/geant3/geant321/gcvdma.inc | 43 - StarVMC/geant3/geant321/gcvol1.inc | 50 - StarVMC/geant3/geant321/gcvol2.inc | 51 - StarVMC/geant3/geant321/gcvolu.inc | 52 - StarVMC/geant3/geant321/gcxlun.inc | 47 - StarVMC/geant3/geant321/gfkdis.inc | 40 - StarVMC/geant3/geant321/gsecti.inc | 49 - StarVMC/geant3/geant321/gtasho.inc | 41 - StarVMC/geant3/geant321/gtbank.inc | 40 - StarVMC/geant3/geant321/gtcons.inc | 39 - StarVMC/geant3/geant321/gtcurs.inc | 39 - StarVMC/geant3/geant321/gtcuts.inc | 36 - StarVMC/geant3/geant321/gtdraw.inc | 52 - StarVMC/geant3/geant321/gtfdim.inc | 39 - StarVMC/geant3/geant321/gtflag.inc | 39 - StarVMC/geant3/geant321/gthil2.inc | 39 - StarVMC/geant3/geant321/gthiln.inc | 38 - StarVMC/geant3/geant321/gthvir.inc | 37 - StarVMC/geant3/geant321/gtjump.inc | 57 - StarVMC/geant3/geant321/gtkine.inc | 39 - StarVMC/geant3/geant321/gtlink.inc | 40 - StarVMC/geant3/geant321/gtlist.inc | 39 - StarVMC/geant3/geant321/gtmore.inc | 16 - StarVMC/geant3/geant321/gtmutr.inc | 42 - StarVMC/geant3/geant321/gtnum.inc | 39 - StarVMC/geant3/geant321/gtopti.inc | 37 - StarVMC/geant3/geant321/gtpara.inc | 38 - StarVMC/geant3/geant321/gtparm.inc | 38 - StarVMC/geant3/geant321/gtphys.inc | 46 - StarVMC/geant3/geant321/gtpixe.inc | 40 - StarVMC/geant3/geant321/gtrayt.inc | 42 - StarVMC/geant3/geant321/gtscal.inc | 38 - StarVMC/geant3/geant321/gtscan.inc | 43 - StarVMC/geant3/geant321/gtsets.inc | 38 - StarVMC/geant3/geant321/gtspee.inc | 42 - StarVMC/geant3/geant321/gtstak.inc | 39 - StarVMC/geant3/geant321/gttmed.inc | 41 - StarVMC/geant3/geant321/gttrak.inc | 42 - StarVMC/geant3/geant321/gtursb.inc | 38 - StarVMC/geant3/geant321/gtvdma.inc | 39 - StarVMC/geant3/geant321/gtvol1.inc | 37 - StarVMC/geant3/geant321/gtvolu.inc | 39 - StarVMC/geant3/geant321/gversc.inc | 60 - StarVMC/geant3/geant321/hadflg.inc | 87 - StarVMC/geant3/geant321/hadpar.inc | 48 - StarVMC/geant3/geant321/hetc5.inc | 39 - StarVMC/geant3/geant321/hetc7.inc | 39 - StarVMC/geant3/geant321/hettp.inc | 39 - StarVMC/geant3/geant321/higfis.inc | 85 - StarVMC/geant3/geant321/incdek.inc | 35 - StarVMC/geant3/geant321/inpdat.inc | 55 - StarVMC/geant3/geant321/inpdat2.inc | 55 - StarVMC/geant3/geant321/inpflg.inc | 39 - StarVMC/geant3/geant321/iounit.inc | 66 - StarVMC/geant3/geant321/isotop.inc | 58 - StarVMC/geant3/geant321/labcos.inc | 39 - StarVMC/geant3/geant321/limits.inc | 38 - StarVMC/geant3/geant321/ludat1.inc | 50 - StarVMC/geant3/geant321/ludat3.inc | 50 - StarVMC/geant3/geant321/lujets.inc | 50 - StarVMC/geant3/geant321/mapa.inc | 77 - StarVMC/geant3/geant321/mapat.inc | 38 - StarVMC/geant3/geant321/mapoll.inc | 36 - StarVMC/geant3/geant321/mconst.inc | 36 - StarVMC/geant3/geant321/mcreco.inc | 36 - StarVMC/geant3/geant321/mcross.inc | 38 - StarVMC/geant3/geant321/metlsp.inc | 46 - StarVMC/geant3/geant321/mgamma.inc | 36 - StarVMC/geant3/geant321/minput.inc | 40 - StarVMC/geant3/geant321/mmass.inc | 35 - StarVMC/geant3/geant321/mmicab.inc | 40 - StarVMC/geant3/geant321/mmicap.inc | 43 - StarVMC/geant3/geant321/mnutrn.inc | 38 - StarVMC/geant3/geant321/mparam.inc | 36 - StarVMC/geant3/geant321/mpifinc.inc | 10 - StarVMC/geant3/geant321/mpoint.inc | 41 - StarVMC/geant3/geant321/mpstor.inc | 42 - StarVMC/geant3/geant321/mrecoi.inc | 36 - StarVMC/geant3/geant321/multiprox.inc | 13 - StarVMC/geant3/geant321/multseeds.inc | 5 - StarVMC/geant3/geant321/mupsca.inc | 35 - StarVMC/geant3/geant321/mxgkgh.inc | 35 - StarVMC/geant3/geant321/nucdat.inc | 105 - StarVMC/geant3/geant321/nucgeo.inc | 317 - StarVMC/geant3/geant321/nuciod.inc | 37 - StarVMC/geant3/geant321/nuclev.inc | 167 - StarVMC/geant3/geant321/nucpar.inc | 54 - StarVMC/geant3/geant321/nucstf.inc | 123 - StarVMC/geant3/geant321/paprop.inc | 74 - StarVMC/geant3/geant321/papropt.inc | 36 - StarVMC/geant3/geant321/parevt.inc | 122 - StarVMC/geant3/geant321/parnuc.inc | 105 - StarVMC/geant3/geant321/part.inc | 58 - StarVMC/geant3/geant321/part2.inc | 58 - StarVMC/geant3/geant321/part2t.inc | 36 - StarVMC/geant3/geant321/part3.inc | 58 - StarVMC/geant3/geant321/partt.inc | 36 - StarVMC/geant3/geant321/pawc.inc | 53 - StarVMC/geant3/geant321/pawct.inc | 38 - StarVMC/geant3/geant321/pcodat.inc | 53 - StarVMC/geant3/geant321/pcodim.inc | 40 - StarVMC/geant3/geant321/pilot.h | 91 - StarVMC/geant3/geant321/pilot.h.ori | 78 - StarVMC/geant3/geant321/qquark.inc | 83 - StarVMC/geant3/geant321/reac.inc | 64 - StarVMC/geant3/geant321/redver.inc | 63 - StarVMC/geant3/geant321/resnuc.inc | 76 - StarVMC/geant3/geant321/s_blank.inc | 38 - StarVMC/geant3/geant321/s_blankp.inc | 38 - StarVMC/geant3/geant321/s_consts.inc | 42 - StarVMC/geant3/geant321/s_coscom.inc | 36 - StarVMC/geant3/geant321/s_csdat.inc | 1079 - StarVMC/geant3/geant321/s_csdim.inc | 40 - StarVMC/geant3/geant321/s_curpar.inc | 40 - StarVMC/geant3/geant321/s_defcom.inc | 44 - StarVMC/geant3/geant321/s_errcom.inc | 36 - StarVMC/geant3/geant321/s_event.inc | 37 - StarVMC/geant3/geant321/s_genio.inc | 37 - StarVMC/geant3/geant321/s_kginit.inc | 38 - StarVMC/geant3/geant321/s_mat.inc | 41 - StarVMC/geant3/geant321/s_nucio.inc | 40 - StarVMC/geant3/geant321/s_prntfl.inc | 37 - StarVMC/geant3/geant321/s_result.inc | 41 - StarVMC/geant3/geant321/sckine.inc | 4 - StarVMC/geant3/geant321/split.inc | 61 - StarVMC/geant3/geant321/trcom3.inc | 50 - StarVMC/geant3/geant321/xsepar.inc | 62 - StarVMC/geant3/geocad/gboset.F | 82 - StarVMC/geant3/geocad/gckmat.F | 74 - StarVMC/geant3/geocad/gckpar.F | 69 - StarVMC/geant3/geocad/gcoset.F | 92 - StarVMC/geant3/geocad/gcsetc.F | 39 - StarVMC/geant3/geocad/gctset.F | 125 - StarVMC/geant3/geocad/gdexca.F | 477 - StarVMC/geant3/geocad/gelset.F | 82 - StarVMC/geant3/geocad/genset.F | 49 - StarVMC/geant3/geocad/getshp.F | 166 - StarVMC/geant3/geocad/gjwrit.F | 66 - StarVMC/geant3/geocad/gpaset.F | 122 - StarVMC/geant3/geocad/gpcset.F | 110 - StarVMC/geant3/geocad/gpgset.F | 217 - StarVMC/geant3/geocad/gposi.F | 83 - StarVMC/geant3/geocad/gptset.F | 62 - StarVMC/geant3/geocad/greucl.F | 134 - StarVMC/geant3/geocad/gspset.F | 68 - StarVMC/geant3/geocad/gstmat.F | 74 - StarVMC/geant3/geocad/gstset.F | 110 - StarVMC/geant3/geocad/gtrase.F | 124 - StarVMC/geant3/geocad/gtrdse.F | 120 - StarVMC/geant3/geocad/gtrset.F | 175 - StarVMC/geant3/geocad/gtuset.F | 94 - StarVMC/geant3/geocad/gtxset.F | 120 - StarVMC/geant3/geocad/gweucl.F | 360 - StarVMC/geant3/geocad/gwrtre.F | 160 - StarVMC/geant3/geocad/history.F | 51 - StarVMC/geant3/geocad/readme.F | 74 - StarVMC/geant3/ggeom/gbstat.F | 57 - StarVMC/geant3/ggeom/gcent.F | 169 - StarVMC/geant3/ggeom/gdtom.F | 88 - StarVMC/geant3/ggeom/gfatt.F | 84 - StarVMC/geant3/ggeom/gfclim.F | 93 - StarVMC/geant3/ggeom/gfcoor.F | 91 - StarVMC/geant3/ggeom/gfcord.F | 94 - StarVMC/geant3/ggeom/gfcvol.F | 77 - StarVMC/geant3/ggeom/gfipar.F | 139 - StarVMC/geant3/ggeom/gflcar.F | 285 - StarVMC/geant3/ggeom/gflphi.F | 346 - StarVMC/geant3/ggeom/gflrad.F | 232 - StarVMC/geant3/ggeom/gflthe.F | 506 - StarVMC/geant3/ggeom/gfmoth.F | 68 - StarVMC/geant3/ggeom/gfpara.F | 186 - StarVMC/geant3/ggeom/gfstat.F | 85 - StarVMC/geant3/ggeom/gfupar.F | 131 - StarVMC/geant3/ggeom/gfvolu.F | 103 - StarVMC/geant3/ggeom/ggcave.F | 123 - StarVMC/geant3/ggeom/ggdpar.F | 449 - StarVMC/geant3/ggeom/ggdspe.F | 265 - StarVMC/geant3/ggeom/ggdvlp.F | 299 - StarVMC/geant3/ggeom/ggeom.doc | 476 - StarVMC/geant3/ggeom/ggnlev.F | 164 - StarVMC/geant3/ggeom/ggord.F | 243 - StarVMC/geant3/ggeom/ggordq.F | 231 - StarVMC/geant3/ggeom/ggperp.F | 732 - StarVMC/geant3/ggeom/ggperp.F.ori | 722 - StarVMC/geant3/ggeom/ggppar.F | 552 - StarVMC/geant3/ggeom/ggppar.F.ori | 524 - StarVMC/geant3/ggeom/ggvchk.F | 215 - StarVMC/geant3/ggeom/ginctu.F | 91 - StarVMC/geant3/ggeom/gingtr.F | 80 - StarVMC/geant3/ggeom/ginme.F | 247 - StarVMC/geant3/ggeom/ginpar.F | 59 - StarVMC/geant3/ggeom/ginpco.F | 129 - StarVMC/geant3/ggeom/ginpgo.F | 168 - StarVMC/geant3/ggeom/ginrot.F | 59 - StarVMC/geant3/ggeom/gintco.F | 115 - StarVMC/geant3/ggeom/gintrp.F | 98 - StarVMC/geant3/ggeom/gitran.F | 64 - StarVMC/geant3/ggeom/glmoth.F | 131 - StarVMC/geant3/ggeom/glvolu.F | 541 - StarVMC/geant3/ggeom/gmedi2.F | 353 - StarVMC/geant3/ggeom/gmedia.F | 412 - StarVMC/geant3/ggeom/gmedia.F.ori | 405 - StarVMC/geant3/ggeom/gmedin.F | 77 - StarVMC/geant3/ggeom/gmediv.F | 335 - StarVMC/geant3/ggeom/gmepos.F | 144 - StarVMC/geant3/ggeom/gmtod.F | 89 - StarVMC/geant3/ggeom/gnbox.F | 97 - StarVMC/geant3/ggeom/gncone.F | 221 - StarVMC/geant3/ggeom/gnctub.F | 220 - StarVMC/geant3/ggeom/gneltu.F | 158 - StarVMC/geant3/ggeom/gnex2.F | 708 - StarVMC/geant3/ggeom/gnext.F | 896 - StarVMC/geant3/ggeom/gnhype.F | 130 - StarVMC/geant3/ggeom/gnobox.F | 140 - StarVMC/geant3/ggeom/gnocon.F | 327 - StarVMC/geant3/ggeom/gnoctu.F | 319 - StarVMC/geant3/ggeom/gnoelt.F | 158 - StarVMC/geant3/ggeom/gnohyp.F | 124 - StarVMC/geant3/ggeom/gnopar.F | 169 - StarVMC/geant3/ggeom/gnopco.F | 381 - StarVMC/geant3/ggeom/gnopg1.F | 347 - StarVMC/geant3/ggeom/gnopgo.F | 163 - StarVMC/geant3/ggeom/gnosph.F | 486 - StarVMC/geant3/ggeom/gnotr1.F | 96 - StarVMC/geant3/ggeom/gnotr2.F | 64 - StarVMC/geant3/ggeom/gnotr9.F | 58 - StarVMC/geant3/ggeom/gnotra.F | 285 - StarVMC/geant3/ggeom/gnotrp.F | 130 - StarVMC/geant3/ggeom/gnotub.F | 232 - StarVMC/geant3/ggeom/gnpara.F | 110 - StarVMC/geant3/ggeom/gnpcon.F | 259 - StarVMC/geant3/ggeom/gnpgo1.F | 269 - StarVMC/geant3/ggeom/gnpgon.F | 322 - StarVMC/geant3/ggeom/gnsphr.F | 208 - StarVMC/geant3/ggeom/gntrap.F | 218 - StarVMC/geant3/ggeom/gntrp.F | 279 - StarVMC/geant3/ggeom/gntube.F | 176 - StarVMC/geant3/ggeom/gprotm.F | 82 - StarVMC/geant3/ggeom/gprotx.F | 161 - StarVMC/geant3/ggeom/gpstat.F | 96 - StarVMC/geant3/ggeom/gpvolu.F | 114 - StarVMC/geant3/ggeom/gpvolx.F | 148 - StarVMC/geant3/ggeom/grmtd.F | 60 - StarVMC/geant3/ggeom/grmul.F | 75 - StarVMC/geant3/ggeom/grot.F | 55 - StarVMC/geant3/ggeom/grpar.F | 108 - StarVMC/geant3/ggeom/gsagtr.F | 115 - StarVMC/geant3/ggeom/gsaphi.F | 73 - StarVMC/geant3/ggeom/gsatt.F | 121 - StarVMC/geant3/ggeom/gschk.F | 80 - StarVMC/geant3/ggeom/gscvol.F | 87 - StarVMC/geant3/ggeom/gsdvn.F | 467 - StarVMC/geant3/ggeom/gsdvn2.F | 420 - StarVMC/geant3/ggeom/gsdvs.F | 50 - StarVMC/geant3/ggeom/gsdvs2.F | 50 - StarVMC/geant3/ggeom/gsdvt.F | 430 - StarVMC/geant3/ggeom/gsdvt2.F | 441 - StarVMC/geant3/ggeom/gsdvx.F | 70 - StarVMC/geant3/ggeom/gsipar.F | 92 - StarVMC/geant3/ggeom/gsnear.F | 111 - StarVMC/geant3/ggeom/gsnext.F | 136 - StarVMC/geant3/ggeom/gsngtr.F | 287 - StarVMC/geant3/ggeom/gsord.F | 91 - StarVMC/geant3/ggeom/gspos.F | 163 - StarVMC/geant3/ggeom/gsposp.F | 199 - StarVMC/geant3/ggeom/gsrotm.F | 223 - StarVMC/geant3/ggeom/gsunea.F | 79 - StarVMC/geant3/ggeom/gsvolu.F | 162 - StarVMC/geant3/ggeom/gtrain.F | 126 - StarVMC/geant3/ggeom/gtrmul.F | 88 - StarVMC/geant3/ggeom/gtrnsf.F | 60 - StarVMC/geant3/ggeom/gvdcar.F | 416 - StarVMC/geant3/ggeom/gvdlim.F | 93 - StarVMC/geant3/ggeom/gvdphi.F | 453 - StarVMC/geant3/ggeom/gvdrad.F | 281 - StarVMC/geant3/ggeom/gvdthe.F | 509 - StarVMC/geant3/ggeom/gvgrad.F | 86 - StarVMC/geant3/ggeom/gvlong.F | 108 - StarVMC/geant3/ggeom/gvpsqr.F | 96 - StarVMC/geant3/ggeom/gvsafe.F | 125 - StarVMC/geant3/ggeom/gvsign.F | 92 - StarVMC/geant3/ggeom/sxsrot.F | 25 - StarVMC/geant3/gheisha/add.F | 69 - StarVMC/geant3/gheisha/add3.F | 34 - StarVMC/geant3/gheisha/ang.F | 73 - StarVMC/geant3/gheisha/atomas.F | 84 - StarVMC/geant3/gheisha/captur.F | 114 - StarVMC/geant3/gheisha/casal0.F | 507 - StarVMC/geant3/gheisha/casaom.F | 58 - StarVMC/geant3/gheisha/casasm.F | 499 - StarVMC/geant3/gheisha/casasp.F | 495 - StarVMC/geant3/gheisha/casax0.F | 58 - StarVMC/geant3/gheisha/casaxm.F | 58 - StarVMC/geant3/gheisha/casfrg.F | 48 - StarVMC/geant3/gheisha/cask0.F | 388 - StarVMC/geant3/gheisha/cask0b.F | 408 - StarVMC/geant3/gheisha/caskm.F | 404 - StarVMC/geant3/gheisha/caskp.F | 384 - StarVMC/geant3/gheisha/casl0.F | 355 - StarVMC/geant3/gheisha/casn.F | 382 - StarVMC/geant3/gheisha/casnb.F | 517 - StarVMC/geant3/gheisha/casom.F | 438 - StarVMC/geant3/gheisha/casp.F | 390 - StarVMC/geant3/gheisha/caspb.F | 520 - StarVMC/geant3/gheisha/caspim.F | 480 - StarVMC/geant3/gheisha/caspip.F | 383 - StarVMC/geant3/gheisha/cassm.F | 341 - StarVMC/geant3/gheisha/cassp.F | 343 - StarVMC/geant3/gheisha/casx0.F | 446 - StarVMC/geant3/gheisha/casxm.F | 442 - StarVMC/geant3/gheisha/cinema.F | 90 - StarVMC/geant3/gheisha/coranh.F | 81 - StarVMC/geant3/gheisha/coscat.F | 152 - StarVMC/geant3/gheisha/cross3.F | 70 - StarVMC/geant3/gheisha/defs.F | 98 - StarVMC/geant3/gheisha/defs1.F | 65 - StarVMC/geant3/gheisha/dlpnuc.F | 87 - StarVMC/geant3/gheisha/dlpsor.F | 90 - StarVMC/geant3/gheisha/dotes2.F | 53 - StarVMC/geant3/gheisha/dotnuc.F | 47 - StarVMC/geant3/gheisha/dpdnuc.F | 53 - StarVMC/geant3/gheisha/exnu.F | 87 - StarVMC/geant3/gheisha/fctcos.F | 51 - StarVMC/geant3/gheisha/fermi.F | 38 - StarVMC/geant3/gheisha/fissio.F | 175 - StarVMC/geant3/gheisha/gdpdk.F | 55 - StarVMC/geant3/gheisha/genxpt.F | 1099 - StarVMC/geant3/gheisha/gpdk.F | 52 - StarVMC/geant3/gheisha/kmabs.F | 213 - StarVMC/geant3/gheisha/length.F | 66 - StarVMC/geant3/gheisha/lor.F | 73 - StarVMC/geant3/gheisha/nbanh.F | 259 - StarVMC/geant3/gheisha/nfac.F | 43 - StarVMC/geant3/gheisha/normal.F | 43 - StarVMC/geant3/gheisha/nucrec.F | 732 - StarVMC/geant3/gheisha/pbanh.F | 264 - StarVMC/geant3/gheisha/phasp.F | 205 - StarVMC/geant3/gheisha/phpnuc.F | 181 - StarVMC/geant3/gheisha/pimabs.F | 202 - StarVMC/geant3/gheisha/pmltpc.F | 53 - StarVMC/geant3/gheisha/poisso.F | 78 - StarVMC/geant3/gheisha/ranres.F | 43 - StarVMC/geant3/gheisha/rotes2.F | 48 - StarVMC/geant3/gheisha/rtmi.F | 139 - StarVMC/geant3/gheisha/selfab.F | 48 - StarVMC/geant3/gheisha/setcur.F | 74 - StarVMC/geant3/gheisha/settrk.F | 84 - StarVMC/geant3/gheisha/steep.F | 38 - StarVMC/geant3/gheisha/steeq.F | 80 - StarVMC/geant3/gheisha/steer.F | 39 - StarVMC/geant3/gheisha/stees.F | 38 - StarVMC/geant3/gheisha/stpair.F | 203 - StarVMC/geant3/gheisha/sub.F | 69 - StarVMC/geant3/gheisha/sub3.F | 64 - StarVMC/geant3/gheisha/tdelay.F | 48 - StarVMC/geant3/gheisha/trac.F | 72 - StarVMC/geant3/gheisha/twob.F | 386 - StarVMC/geant3/gheisha/twoclu.F | 942 - StarVMC/geant3/ghits/gcderr.F | 85 - StarVMC/geant3/ghits/gcdrif.F | 164 - StarVMC/geant3/ghits/gcmwpc.F | 141 - StarVMC/geant3/ghits/gcubs.F | 66 - StarVMC/geant3/ghits/gfdet.F | 119 - StarVMC/geant3/ghits/gfdeta.F | 69 - StarVMC/geant3/ghits/gfdetd.F | 94 - StarVMC/geant3/ghits/gfdeth.F | 97 - StarVMC/geant3/ghits/gfdetu.F | 80 - StarVMC/geant3/ghits/gfdigi.F | 241 - StarVMC/geant3/ghits/gfhits.F | 207 - StarVMC/geant3/ghits/gfndig.F | 76 - StarVMC/geant3/ghits/gfnhit.F | 78 - StarVMC/geant3/ghits/gfpath.F | 141 - StarVMC/geant3/ghits/ggdetv.F | 304 - StarVMC/geant3/ghits/ghits.doc | 183 - StarVMC/geant3/ghits/gicyl.F | 213 - StarVMC/geant3/ghits/giplan.F | 196 - StarVMC/geant3/ghits/gpdigi.F | 316 - StarVMC/geant3/ghits/gpdrif.F | 84 - StarVMC/geant3/ghits/gphits.F | 241 - StarVMC/geant3/ghits/gpmwpc.F | 94 - StarVMC/geant3/ghits/gpsets.F | 154 - StarVMC/geant3/ghits/grhits.F | 140 - StarVMC/geant3/ghits/gsahit.F | 254 - StarVMC/geant3/ghits/gschit.F | 111 - StarVMC/geant3/ghits/gsdet.F | 250 - StarVMC/geant3/ghits/gsdeta.F | 102 - StarVMC/geant3/ghits/gsdetd.F | 134 - StarVMC/geant3/ghits/gsdeth.F | 166 - StarVMC/geant3/ghits/gsdetu.F | 88 - StarVMC/geant3/ghits/gsdetv.F | 211 - StarVMC/geant3/ghits/gsdigi.F | 238 - StarVMC/geant3/ghrout/cohert.F | 908 - StarVMC/geant3/ghrout/ghepec.F | 87 - StarVMC/geant3/ghrout/ghetun.F | 377 - StarVMC/geant3/ghrout/higclu.F | 973 - StarVMC/geant3/ghrout/higclu.F.ori | 958 - StarVMC/geant3/ghrout/highab.F | 50 - StarVMC/geant3/ghrout/higsel.F | 39 - StarVMC/geant3/ghrout/higxpt.F | 1110 - StarVMC/geant3/ghrout/sverl2.F | 49 - StarVMC/geant3/ghrout/svgam7.F | 53 - StarVMC/geant3/ghutils/minv.F | 165 - StarVMC/geant3/ghutils/pcsdat.F | 493 - StarVMC/geant3/giface/compo.F | 89 - StarVMC/geant3/giface/gheini.F | 374 - StarVMC/geant3/giface/gheish.F | 877 - StarVMC/geant3/giface/ghesig.F | 472 - StarVMC/geant3/giface/ghstop.F | 184 - StarVMC/geant3/giface/gmunu.F | 263 - StarVMC/geant3/giface/gmunui.F | 71 - StarVMC/geant3/giface/gmusig.F | 84 - StarVMC/geant3/giface/gnslwd.F | 285 - StarVMC/geant3/giface/gpfis.F | 215 - StarVMC/geant3/giface/gpfisi.F | 106 - StarVMC/geant3/giface/gpghei.F | 86 - StarVMC/geant3/giface/gphmfi.F | 96 - StarVMC/geant3/giface/limdat.F | 40 - StarVMC/geant3/giopa/gclose.F | 66 - StarVMC/geant3/giopa/gfin.F | 526 - StarVMC/geant3/giopa/gfout.F | 372 - StarVMC/geant3/giopa/gget.F | 188 - StarVMC/geant3/giopa/giopa.doc | 149 - StarVMC/geant3/giopa/gopen.F | 64 - StarVMC/geant3/giopa/grend.F | 54 - StarVMC/geant3/giopa/grfile.F | 114 - StarVMC/geant3/giopa/grget.F | 165 - StarVMC/geant3/giopa/grin.F | 398 - StarVMC/geant3/giopa/grleas.F | 66 - StarVMC/geant3/giopa/grmdir.F | 61 - StarVMC/geant3/giopa/grout.F | 255 - StarVMC/geant3/giopa/grout.F.ori | 252 - StarVMC/geant3/giopa/grsave.F | 114 - StarVMC/geant3/giopa/gsave.F | 149 - StarVMC/geant3/gkine/gfkine.F | 96 - StarVMC/geant3/gkine/gfvert.F | 104 - StarVMC/geant3/gkine/gkine.doc | 109 - StarVMC/geant3/gkine/gludky.F | 131 - StarVMC/geant3/gkine/glund.F | 129 - StarVMC/geant3/gkine/glundi.F | 110 - StarVMC/geant3/gkine/gpkine.F | 107 - StarVMC/geant3/gkine/gpkinx.F | 153 - StarVMC/geant3/gkine/gpvert.F | 106 - StarVMC/geant3/gkine/gskine.F | 139 - StarVMC/geant3/gkine/gskinu.F | 82 - StarVMC/geant3/gkine/gsvert.F | 132 - StarVMC/geant3/gkine/gsveru.F | 79 - StarVMC/geant3/gkine/gtau.F | 50 - StarVMC/geant3/gparal/checkstr.F | 32 - StarVMC/geant3/gparal/gpabort.F | 31 - StarVMC/geant3/gparal/gpdefrng.F | 97 - StarVMC/geant3/gparal/gpdynamic.F | 42 - StarVMC/geant3/gparal/gpinit.F | 86 - StarVMC/geant3/gparal/gplast.F | 31 - StarVMC/geant3/gparal/gpmsgerr.F | 23 - StarVMC/geant3/gparal/gpreadrng.F | 191 - StarVMC/geant3/gparal/gprocs.F | 28 - StarVMC/geant3/gparal/gprun.F | 92 - StarVMC/geant3/gparal/gpsumhr.F | 146 - StarVMC/geant3/gparal/gpsumhr.F.ori | 142 - StarVMC/geant3/gparal/gptrig.F | 41 - StarVMC/geant3/gparal/gptrigi.F | 24 - StarVMC/geant3/gparal/gpwriterng.F | 161 - StarVMC/geant3/gparal/pbarrier.F | 27 - StarVMC/geant3/gphys/ganni.F | 211 - StarVMC/geant3/gphys/ganni2.F | 81 - StarVMC/geant3/gphys/gannii.F | 80 - StarVMC/geant3/gphys/gannir.F | 83 - StarVMC/geant3/gphys/gavrl2.F | 59 - StarVMC/geant3/gphys/gavrl3.F | 59 - StarVMC/geant3/gphys/gbflos.F | 71 - StarVMC/geant3/gphys/gbfsig.F | 69 - StarVMC/geant3/gphys/gbirk.F | 96 - StarVMC/geant3/gphys/gbrela.F | 200 - StarVMC/geant3/gphys/gbrele.F | 224 - StarVMC/geant3/gphys/gbrelm.F | 136 - StarVMC/geant3/gphys/gbreme.F | 253 - StarVMC/geant3/gphys/gbremm.F | 138 - StarVMC/geant3/gphys/gbrsga.F | 135 - StarVMC/geant3/gphys/gbrsge.F | 214 - StarVMC/geant3/gphys/gbrsgm.F | 109 - StarVMC/geant3/gphys/gbteth.F | 82 - StarVMC/geant3/gphys/gcbrem.F | 68 - StarVMC/geant3/gphys/gcoeff.F | 227 - StarVMC/geant3/gphys/gcomp.F | 178 - StarVMC/geant3/gphys/gcompi.F | 95 - StarVMC/geant3/gphys/gdeca2.F | 82 - StarVMC/geant3/gphys/gdeca3.F | 175 - StarVMC/geant3/gphys/gdecay.F | 206 - StarVMC/geant3/gphys/gdray.F | 194 - StarVMC/geant3/gphys/gdrela.F | 174 - StarVMC/geant3/gphys/gdrele.F | 97 - StarVMC/geant3/gphys/gdreli.F | 109 - StarVMC/geant3/gphys/gdrelm.F | 56 - StarVMC/geant3/gphys/gdrelp.F | 56 - StarVMC/geant3/gphys/gdrelx.F | 344 - StarVMC/geant3/gphys/gdrot.F | 61 - StarVMC/geant3/gphys/gdrprt.F | 171 - StarVMC/geant3/gphys/gdrsga.F | 121 - StarVMC/geant3/gphys/gefch2.F | 69 - StarVMC/geant3/gphys/gfang.F | 89 - StarVMC/geant3/gphys/gfluct.F | 223 - StarVMC/geant3/gphys/gfnrdt.F | 69 - StarVMC/geant3/gphys/gfrdt.F | 91 - StarVMC/geant3/gphys/gfsdpr.F | 51 - StarVMC/geant3/gphys/gfshdc.F | 161 - StarVMC/geant3/gphys/gfshls.F | 69 - StarVMC/geant3/gphys/ghsig.F | 208 - StarVMC/geant3/gphys/ghsigm.F | 73 - StarVMC/geant3/gphys/glande.F | 123 - StarVMC/geant3/gphys/glandg.F | 197 - StarVMC/geant3/gphys/glando.F | 180 - StarVMC/geant3/gphys/glandr.F | 262 - StarVMC/geant3/gphys/glands.F | 123 - StarVMC/geant3/gphys/glandz.F | 261 - StarVMC/geant3/gphys/glisur.F | 116 - StarVMC/geant3/gphys/gloren.F | 67 - StarVMC/geant3/gphys/gmcoul.F | 105 - StarVMC/geant3/gphys/gmgaus.F | 71 - StarVMC/geant3/gphys/gmol4.F | 106 - StarVMC/geant3/gphys/gmoli.F | 69 - StarVMC/geant3/gphys/gmoli1.F | 64 - StarVMC/geant3/gphys/gmoli2.F | 76 - StarVMC/geant3/gphys/gmolie.F | 209 - StarVMC/geant3/gphys/gmolio.F | 73 - StarVMC/geant3/gphys/gmols.F | 184 - StarVMC/geant3/gphys/gmulof.F | 218 - StarVMC/geant3/gphys/gmults.F | 131 - StarVMC/geant3/gphys/gpairg.F | 265 - StarVMC/geant3/gphys/gpairm.F | 179 - StarVMC/geant3/gphys/gphak.F | 85 - StarVMC/geant3/gphys/gphal2.F | 100 - StarVMC/geant3/gphys/gphal3.F | 99 - StarVMC/geant3/gphys/gphini.F | 48 - StarVMC/geant3/gphys/gphot.F | 378 - StarVMC/geant3/gphys/gphoti.F | 110 - StarVMC/geant3/gphys/gphrin.F | 1071 - StarVMC/geant3/gphys/gphsg1.F | 81 - StarVMC/geant3/gphys/gphsg2.F | 88 - StarVMC/geant3/gphys/gphsgp.F | 90 - StarVMC/geant3/gphys/gphsig.F | 86 - StarVMC/geant3/gphys/gphxin.F | 1474 - StarVMC/geant3/gphys/gphxsi.F | 445 - StarVMC/geant3/gphys/gphys.doc | 173 - StarVMC/geant3/gphys/gphysi.F | 737 - StarVMC/geant3/gphys/gpoiss.F | 82 - StarVMC/geant3/gphys/gprela.F | 150 - StarVMC/geant3/gphys/gprelm.F | 187 - StarVMC/geant3/gphys/gprobi.F | 203 - StarVMC/geant3/gphys/gprsga.F | 135 - StarVMC/geant3/gphys/gprsgg.F | 82 - StarVMC/geant3/gphys/gprsgm.F | 153 - StarVMC/geant3/gphys/grangi.F | 150 - StarVMC/geant3/gphys/grangi1.F | 150 - StarVMC/geant3/gphys/grayl.F | 133 - StarVMC/geant3/gphys/grayli.F | 580 - StarVMC/geant3/gphys/gshlin.F | 626 - StarVMC/geant3/gphys/gsync.F | 125 - StarVMC/geant3/gphys/gsynge.F | 151 - StarVMC/geant3/gphys/gsynit.F | 134 - StarVMC/geant3/gphys/gvaviv.F | 411 - StarVMC/geant3/gphys/gvrot.F | 93 - StarVMC/geant3/gscan/gscani.F | 85 - StarVMC/geant3/gscan/gscank.F | 98 - StarVMC/geant3/gscan/gscano.F | 58 - StarVMC/geant3/gscan/gscanu.F | 89 - StarVMC/geant3/gscan/gsscan.F | 133 - StarVMC/geant3/gstrag/gasho.F | 146 - StarVMC/geant3/gstrag/gdifmg.F | 113 - StarVMC/geant3/gstrag/giasho.F | 173 - StarVMC/geant3/gstrag/gkokri.F | 118 - StarVMC/geant3/gstrag/goscin.F | 93 - StarVMC/geant3/gstrag/goscmg.F | 98 - StarVMC/geant3/gstrag/gpscin.F | 76 - StarVMC/geant3/gstrag/gstcor.F | 92 - StarVMC/geant3/gstrag/gstdn.F | 63 - StarVMC/geant3/gstrag/gstini.F | 138 - StarVMC/geant3/gstrag/gstint.F | 71 - StarVMC/geant3/gstrag/gstren.F | 125 - StarVMC/geant3/gstrag/gsttab.F | 76 - StarVMC/geant3/gstrag/gstxin.F | 136 - StarVMC/geant3/gstrag/gxgint.F | 87 - StarVMC/geant3/gtrak/garndm.F | 48 - StarVMC/geant3/gtrak/gdebug.F | 64 - StarVMC/geant3/gtrak/gekbin.F | 71 - StarVMC/geant3/gtrak/gfinds.F | 125 - StarVMC/geant3/gtrak/ggckov.F | 168 - StarVMC/geant3/gtrak/ghelix.F | 130 - StarVMC/geant3/gtrak/ghelx3.F | 96 - StarVMC/geant3/gtrak/ginvol.F | 433 - StarVMC/geant3/gtrak/gltrac.F | 210 - StarVMC/geant3/gtrak/gnckov.F | 87 - StarVMC/geant3/gtrak/gpcxyz.F | 133 - StarVMC/geant3/gtrak/gpgkin.F | 80 - StarVMC/geant3/gtrak/gpjxyz.F | 94 - StarVMC/geant3/gtrak/granor.F | 54 - StarVMC/geant3/gtrak/grkuta.F | 241 - StarVMC/geant3/gtrak/gsking.F | 120 - StarVMC/geant3/gtrak/gskpho.F | 130 - StarVMC/geant3/gtrak/gsstak.F | 133 - StarVMC/geant3/gtrak/gstord.F | 84 - StarVMC/geant3/gtrak/gstrac.F | 275 - StarVMC/geant3/gtrak/gsxyz.F | 108 - StarVMC/geant3/gtrak/gtckov.F | 656 - StarVMC/geant3/gtrak/gtelec.F | 587 - StarVMC/geant3/gtrak/gtgama.F | 277 - StarVMC/geant3/gtrak/gthadr.F | 550 - StarVMC/geant3/gtrak/gthion.F | 536 - StarVMC/geant3/gtrak/gtmany.F | 27 - StarVMC/geant3/gtrak/gtmedi.F | 545 - StarVMC/geant3/gtrak/gtmuon.F | 460 - StarVMC/geant3/gtrak/gtneut.F | 245 - StarVMC/geant3/gtrak/gtnext.F | 1021 - StarVMC/geant3/gtrak/gtnino.F | 113 - StarVMC/geant3/gtrak/gtrack.F | 360 - StarVMC/geant3/gtrak/gtrak.doc | 223 - StarVMC/geant3/gtrak/gtreve.F | 136 - StarVMC/geant3/gtrak/gtreveroot.F | 193 - StarVMC/geant3/matx55/dcross.F | 46 - StarVMC/geant3/matx55/ddot.F | 44 - StarVMC/geant3/matx55/dmm55.F | 57 - StarVMC/geant3/matx55/dnorm.F | 48 - StarVMC/geant3/matx55/dsmt5t.F | 63 - StarVMC/geant3/matx55/rmm55.F | 58 - StarVMC/geant3/matx55/rsmt5t.F | 63 - StarVMC/geant3/matx55/ssmt5t.F | 65 - StarVMC/geant3/matx55/xmm55.F | 60 - StarVMC/geant3/miface/gfmdis.F | 152 - StarVMC/geant3/miface/gfmfin.F | 307 - StarVMC/geant3/miface/gmicap.F | 308 - StarVMC/geant3/miface/gmiset.F | 55 - StarVMC/geant3/miface/gmorin.F | 599 - StarVMC/geant3/miface/gmplxs.F | 103 - StarVMC/geant3/miface/gmxsec.F | 98 - StarVMC/geant3/miguti/azirn.F | 42 - StarVMC/geant3/miguti/exprnf.F | 47 - StarVMC/geant3/miguti/gtiso.F | 46 - StarVMC/geant3/miguti/randc.F | 42 - StarVMC/geant3/miguti/sflraf.F | 39 - StarVMC/geant3/miguti/sigmor.F | 45 - StarVMC/geant3/neutron/angcdf.F | 63 - StarVMC/geant3/neutron/bankr.F | 68 - StarVMC/geant3/neutron/barier.F | 54 - StarVMC/geant3/neutron/cadig.F | 37 - StarVMC/geant3/neutron/cangle.F | 87 - StarVMC/geant3/neutron/cevap.F | 71 - StarVMC/geant3/neutron/cevap1.F | 66 - StarVMC/geant3/neutron/chkzeb.F | 52 - StarVMC/geant3/neutron/clear.F | 38 - StarVMC/geant3/neutron/cmlabe.F | 130 - StarVMC/geant3/neutron/cmlabi.F | 146 - StarVMC/geant3/neutron/colisn.F | 1175 - StarVMC/geant3/neutron/cterp.F | 34 - StarVMC/geant3/neutron/evaplr.F | 72 - StarVMC/geant3/neutron/fisrnf.F | 48 - StarVMC/geant3/neutron/fltrnf.F | 36 - StarVMC/geant3/neutron/getene.F | 44 - StarVMC/geant3/neutron/getnu.F | 69 - StarVMC/geant3/neutron/getpar.F | 59 - StarVMC/geant3/neutron/grndst.F | 192 - StarVMC/geant3/neutron/gtmed.F | 44 - StarVMC/geant3/neutron/interp.F | 56 - StarVMC/geant3/neutron/intsch.F | 41 - StarVMC/geant3/neutron/isotpe.F | 96 - StarVMC/geant3/neutron/labnf.F | 135 - StarVMC/geant3/neutron/lr2bod.F | 202 - StarVMC/geant3/neutron/lrnorm.F | 61 - StarVMC/geant3/neutron/matiso.F | 82 - StarVMC/geant3/neutron/micset.F | 102 - StarVMC/geant3/neutron/moxsec.F | 372 - StarVMC/geant3/neutron/n2nn3n.F | 145 - StarVMC/geant3/neutron/nghevy.F | 95 - StarVMC/geant3/neutron/nn2bod.F | 152 - StarVMC/geant3/neutron/nsigta.F | 42 - StarVMC/geant3/neutron/partxs.F | 122 - StarVMC/geant3/neutron/photon.F | 394 - StarVMC/geant3/neutron/rnmaxf.F | 51 - StarVMC/geant3/neutron/secegy.F | 155 - StarVMC/geant3/neutron/secl11.F | 95 - StarVMC/geant3/neutron/seclf1.F | 128 - StarVMC/geant3/neutron/seclf5.F | 98 - StarVMC/geant3/neutron/seclf7.F | 77 - StarVMC/geant3/neutron/seclf9.F | 73 - StarVMC/geant3/neutron/stopar.F | 54 - StarVMC/geant3/neutron/tbsplt.F | 56 - StarVMC/geant3/neutron/thrmsc.F | 118 - StarVMC/geant3/neutron/thrsel.F | 153 - StarVMC/geant3/neutron/trebod.F | 168 - StarVMC/geant3/neutron/twobod.F | 173 - StarVMC/geant3/neutron/xsecn1.F | 91 - StarVMC/geant3/neutron/xsecn2.F | 344 - StarVMC/geant3/neutron/xsecn3.F | 206 - StarVMC/geant3/neutron/xsecn5.F | 102 - StarVMC/geant3/neutron/xsecnu.F | 50 - StarVMC/geant3/peanut/bimsel.F | 497 - StarVMC/geant3/peanut/cosleg.F | 102 - StarVMC/geant3/peanut/fekfnc.F | 50 - StarVMC/geant3/peanut/fpfrnc.F | 55 - StarVMC/geant3/peanut/fradnc.F | 55 - StarVMC/geant3/peanut/frhinc.F | 55 - StarVMC/geant3/peanut/frhonc.F | 55 - StarVMC/geant3/peanut/nclvin.F | 78 - StarVMC/geant3/peanut/nclvst.F | 107 - StarVMC/geant3/peanut/nucnuc.F | 392 - StarVMC/geant3/peanut/nwisel.F | 410 - StarVMC/geant3/peanut/peanut.F | 892 - StarVMC/geant3/peanut/pfnclv.F | 203 - StarVMC/geant3/peanut/phdset.F | 93 - StarVMC/geant3/peanut/phdwll.F | 109 - StarVMC/geant3/peanut/pioabs.F | 536 - StarVMC/geant3/peanut/prepre.F | 1291 - StarVMC/geant3/peanut/rstsel.F | 236 - StarVMC/geant3/peanut/sbcomp.F | 372 - StarVMC/geant3/peanut/sigfer.F | 214 - StarVMC/geant3/peanut/umofin.F | 145 - StarVMC/geant3/peanut/xinneu.F | 77 - StarVMC/geant3/peanut/xinpro.F | 71 - 1204 files changed, 260343 deletions(-) delete mode 100644 StarVMC/geant3/PACKAGE delete mode 100644 StarVMC/geant3/README delete mode 100644 StarVMC/geant3/README_gcalor delete mode 100644 StarVMC/geant3/README_geane delete mode 100644 StarVMC/geant3/README_geane_more delete mode 100644 StarVMC/geant3/TGeant3/.includes_for_export.flg delete mode 100644 StarVMC/geant3/TGeant3/TCallf77.h delete mode 100755 StarVMC/geant3/TGeant3/TG3Application.cxx delete mode 100755 StarVMC/geant3/TGeant3/TG3Application.h delete mode 100644 StarVMC/geant3/TGeant3/TGeant3.cxx delete mode 100644 StarVMC/geant3/TGeant3/TGeant3.h delete mode 100644 StarVMC/geant3/TGeant3/TGeant3TGeo.cxx delete mode 100644 StarVMC/geant3/TGeant3/TGeant3TGeo.h delete mode 100644 StarVMC/geant3/TGeant3/TGeant3f77.cxx delete mode 100644 StarVMC/geant3/TGeant3/TGeant3f77.h delete mode 100644 StarVMC/geant3/TGeant3/TGeant3gu.cxx delete mode 100644 StarVMC/geant3/TGeant3/TGeant3gu.h delete mode 100644 StarVMC/geant3/TGeant3/galicef.F delete mode 100644 StarVMC/geant3/TGeant3/geant3LinkDef.h delete mode 100755 StarVMC/geant3/added/dummies.c delete mode 100644 StarVMC/geant3/added/dummies2.c delete mode 100755 StarVMC/geant3/added/loadmod.F delete mode 100644 StarVMC/geant3/block/fdevap.F delete mode 100644 StarVMC/geant3/block/fdnopt.F delete mode 100644 StarVMC/geant3/block/fdpree.F delete mode 100644 StarVMC/geant3/block/flkdt1.F delete mode 100644 StarVMC/geant3/block/flkdt2.F delete mode 100644 StarVMC/geant3/block/flkdt3.F delete mode 100644 StarVMC/geant3/block/flkdt4.F delete mode 100644 StarVMC/geant3/block/flkdt5.F delete mode 100644 StarVMC/geant3/block/flkdt6.F delete mode 100644 StarVMC/geant3/block/flkdt7.F delete mode 100644 StarVMC/geant3/cgpack/cgaffi.F delete mode 100644 StarVMC/geant3/cgpack/cgbfit.F delete mode 100644 StarVMC/geant3/cgpack/cgbint.F delete mode 100644 StarVMC/geant3/cgpack/cgbmmt.F delete mode 100644 StarVMC/geant3/cgpack/cgbool.F delete mode 100644 StarVMC/geant3/cgpack/cgbox.F delete mode 100644 StarVMC/geant3/cgpack/cgbrik.F delete mode 100644 StarVMC/geant3/cgpack/cgbsea.F delete mode 100644 StarVMC/geant3/cgpack/cgbsec.F delete mode 100644 StarVMC/geant3/cgpack/cgbsor.F delete mode 100644 StarVMC/geant3/cgpack/cgbsub.F delete mode 100644 StarVMC/geant3/cgpack/cgbtef.F delete mode 100644 StarVMC/geant3/cgpack/cgbtfp.F delete mode 100644 StarVMC/geant3/cgpack/cgbttt.F delete mode 100644 StarVMC/geant3/cgpack/cgcev.F delete mode 100644 StarVMC/geant3/cgpack/cgcopy.F delete mode 100644 StarVMC/geant3/cgpack/cgelli.F delete mode 100644 StarVMC/geant3/cgpack/cgfac2.F delete mode 100644 StarVMC/geant3/cgpack/cgfaco.F delete mode 100644 StarVMC/geant3/cgpack/cgfare.F delete mode 100644 StarVMC/geant3/cgpack/cgfvis.F delete mode 100644 StarVMC/geant3/cgpack/cghcre.F delete mode 100644 StarVMC/geant3/cgpack/cghdfa.F delete mode 100644 StarVMC/geant3/cgpack/cghend.F delete mode 100644 StarVMC/geant3/cgpack/cgheva.F delete mode 100644 StarVMC/geant3/cgpack/cghins.F delete mode 100644 StarVMC/geant3/cgpack/cghmov.F delete mode 100644 StarVMC/geant3/cgpack/cghpla.F delete mode 100644 StarVMC/geant3/cgpack/cghpla.F.ori delete mode 100644 StarVMC/geant3/cgpack/cghren.F delete mode 100644 StarVMC/geant3/cgpack/cghshi.F delete mode 100644 StarVMC/geant3/cgpack/cghsiz.F delete mode 100644 StarVMC/geant3/cgpack/cghtre.F delete mode 100644 StarVMC/geant3/cgpack/cginve.F delete mode 100644 StarVMC/geant3/cgpack/cgmnmx.F delete mode 100644 StarVMC/geant3/cgpack/cgpers.F delete mode 100644 StarVMC/geant3/cgpack/cgrifl.F delete mode 100644 StarVMC/geant3/cgpack/cgsaan.F delete mode 100644 StarVMC/geant3/cgpack/cgscop.F delete mode 100644 StarVMC/geant3/cgpack/cgshel.F delete mode 100644 StarVMC/geant3/cgpack/cgshif.F delete mode 100644 StarVMC/geant3/cgpack/cgsize.F delete mode 100644 StarVMC/geant3/cgpack/cgslic.F delete mode 100644 StarVMC/geant3/cgpack/cgsnor.F delete mode 100644 StarVMC/geant3/cgpack/cgsphe.F delete mode 100644 StarVMC/geant3/cgpack/cgsub.F delete mode 100644 StarVMC/geant3/cgpack/cgtset.F delete mode 100644 StarVMC/geant3/cgpack/cgtstr.F delete mode 100644 StarVMC/geant3/cgpack/cgvedg.F delete mode 100644 StarVMC/geant3/cgpack/cgvhed.F delete mode 100644 StarVMC/geant3/cgpack/cgvtef.F delete mode 100644 StarVMC/geant3/cgpack/cgvtin.F delete mode 100644 StarVMC/geant3/cgpack/cgwire.F delete mode 100644 StarVMC/geant3/cgpack/cgwsor.F delete mode 100644 StarVMC/geant3/cgpack/cgzre.F delete mode 100644 StarVMC/geant3/cgpack/cgzrev.F delete mode 100644 StarVMC/geant3/comad/gcadd.cxx delete mode 100644 StarVMC/geant3/comad/gcomad.F delete mode 100644 StarVMC/geant3/data/flukaaf.dat delete mode 100644 StarVMC/geant3/diff.072708 delete mode 100644 StarVMC/geant3/doc/cmze/Versions/v3_15 delete mode 100644 StarVMC/geant3/doc/cmze/Versions/v3_16 delete mode 100644 StarVMC/geant3/doc/cmze/Versions/v3_21 delete mode 100644 StarVMC/geant3/doc/cmzf/Versions/v3_16 delete mode 100644 StarVMC/geant3/doc/cmzf/Versions/v3_21 delete mode 100644 StarVMC/geant3/doc/cmzg/Versions/v3_12 delete mode 100644 StarVMC/geant3/doc/cmzg/Versions/v3_13 delete mode 100644 StarVMC/geant3/doc/cmzg/Versions/v3_14 delete mode 100644 StarVMC/geant3/doc/cmzg/Versions/v3_15 delete mode 100644 StarVMC/geant3/doc/cmzg/Versions/v3_16 delete mode 100644 StarVMC/geant3/doc/cmzg/Versions/v3_21 delete mode 100644 StarVMC/geant3/doc/cmzh/Versions/v3_14 delete mode 100644 StarVMC/geant3/doc/cmzh/Versions/v3_15 delete mode 100644 StarVMC/geant3/doc/cmzh/Versions/v3_16 delete mode 100644 StarVMC/geant3/doc/cmzh/Versions/v3_21 delete mode 100644 StarVMC/geant3/doc/cmzm/Versions/v3_16 delete mode 100644 StarVMC/geant3/doc/cmzm/Versions/v3_21 delete mode 100644 StarVMC/geant3/doc/cmzt/Versions/v3_13 delete mode 100644 StarVMC/geant3/doc/cmzt/Versions/v3_14 delete mode 100644 StarVMC/geant3/doc/cmzt/Versions/v3_15 delete mode 100644 StarVMC/geant3/doc/cmzt/Versions/v3_16 delete mode 100644 StarVMC/geant3/doc/cmzt/Versions/v3_21 delete mode 100644 StarVMC/geant3/doc/cmzx/Versions/v3_14 delete mode 100644 StarVMC/geant3/doc/cmzx/Versions/v3_15 delete mode 100644 StarVMC/geant3/doc/cmzx/Versions/v3_16 delete mode 100644 StarVMC/geant3/doc/cmzx/Versions/v3_21 delete mode 100644 StarVMC/geant3/doc/gedoc delete mode 100644 StarVMC/geant3/doc/ghdoc/blank.doc delete mode 100644 StarVMC/geant3/doc/ghdoc/consts.doc delete mode 100644 StarVMC/geant3/doc/ghdoc/curpar.doc delete mode 100644 StarVMC/geant3/doc/ghdoc/errcom.doc delete mode 100644 StarVMC/geant3/doc/ghdoc/event.doc delete mode 100644 StarVMC/geant3/doc/ghdoc/masind.doc delete mode 100644 StarVMC/geant3/doc/ghdoc/masses.doc delete mode 100644 StarVMC/geant3/doc/ghdoc/mat.doc delete mode 100644 StarVMC/geant3/doc/ghdoc/result.doc delete mode 100644 StarVMC/geant3/doc/history/geane321 delete mode 100644 StarVMC/geant3/doc/history/geanx321 delete mode 100644 StarVMC/geant3/doc/history/h_v_314.F delete mode 100644 StarVMC/geant3/doc/history/v_313.F delete mode 100644 StarVMC/geant3/doc/history/v_314.F delete mode 100644 StarVMC/geant3/doc/history/v_315.F delete mode 100644 StarVMC/geant3/doc/history/v_316.F delete mode 100644 StarVMC/geant3/doc/include_specials/incbeg.inc delete mode 100644 StarVMC/geant3/doc/include_specials/incend.inc delete mode 100644 StarVMC/geant3/doc/include_specials/incseq.cra delete mode 100644 StarVMC/geant3/doc/update97a.txt delete mode 100644 StarVMC/geant3/erdecks/erbcer.F delete mode 100644 StarVMC/geant3/erdecks/erbctr.F delete mode 100644 StarVMC/geant3/erdecks/erland.F delete mode 100644 StarVMC/geant3/erdecks/ermcsc.F delete mode 100644 StarVMC/geant3/erdecks/erpini.F delete mode 100644 StarVMC/geant3/erdecks/erprop.F delete mode 100644 StarVMC/geant3/erdecks/erstor.F delete mode 100644 StarVMC/geant3/erdecks/ertrak.F delete mode 100644 StarVMC/geant3/erdecks/ertrch.F delete mode 100644 StarVMC/geant3/erdecks/ertrgo.F delete mode 100644 StarVMC/geant3/erdecks/ertrnt.F delete mode 100644 StarVMC/geant3/erdecks/erxyzc.F delete mode 100644 StarVMC/geant3/erdecks/eufill.F delete mode 100644 StarVMC/geant3/erdecks/eufilp.F delete mode 100644 StarVMC/geant3/erdecks/eufilv.F delete mode 100644 StarVMC/geant3/erdecks/eustep.F delete mode 100644 StarVMC/geant3/erdecks/evolio.F delete mode 100644 StarVMC/geant3/erdecks/gdedxcalc.F delete mode 100644 StarVMC/geant3/erdecks/mytrack.g delete mode 100644 StarVMC/geant3/erpremc/trprfn.F delete mode 100644 StarVMC/geant3/erpremc/trprop.F delete mode 100644 StarVMC/geant3/erpremc/trptsc.F delete mode 100644 StarVMC/geant3/erpremc/trptsd.F delete mode 100644 StarVMC/geant3/erpremc/trs1s2.F delete mode 100644 StarVMC/geant3/erpremc/trscpt.F delete mode 100644 StarVMC/geant3/erpremc/trscsd.F delete mode 100644 StarVMC/geant3/erpremc/trscsp.F delete mode 100644 StarVMC/geant3/erpremc/trsdpt.F delete mode 100644 StarVMC/geant3/erpremc/trsdsc.F delete mode 100644 StarVMC/geant3/erpremc/trspsc.F delete mode 100644 StarVMC/geant3/examples/E01.C delete mode 100755 StarVMC/geant3/examples/E01_g3Config.C delete mode 100644 StarVMC/geant3/examples/E02.C delete mode 100755 StarVMC/geant3/examples/E02_g3Config.C delete mode 100644 StarVMC/geant3/examples/E03.C delete mode 100755 StarVMC/geant3/examples/E03_g3Config.C delete mode 100644 StarVMC/geant3/examples/Makefile delete mode 100644 StarVMC/geant3/examples/example02.root delete mode 100644 StarVMC/geant3/examples/example03.root delete mode 100644 StarVMC/geant3/examples/flukaaf.dat delete mode 100644 StarVMC/geant3/examples/flukaerr.dat delete mode 100644 StarVMC/geant3/examples/galicef.F delete mode 100644 StarVMC/geant3/examples/gcbank.inc delete mode 100644 StarVMC/geant3/examples/gccuts.inc delete mode 100644 StarVMC/geant3/examples/gcflag.inc delete mode 100644 StarVMC/geant3/examples/gckine.inc delete mode 100644 StarVMC/geant3/examples/gcking.inc delete mode 100644 StarVMC/geant3/examples/gclist.inc delete mode 100644 StarVMC/geant3/examples/gcmate.inc delete mode 100644 StarVMC/geant3/examples/gcnum.inc delete mode 100644 StarVMC/geant3/examples/gconsp.inc delete mode 100644 StarVMC/geant3/examples/gconst.inc delete mode 100644 StarVMC/geant3/examples/gcphys.inc delete mode 100644 StarVMC/geant3/examples/gcscan.inc delete mode 100644 StarVMC/geant3/examples/gctmed.inc delete mode 100644 StarVMC/geant3/examples/gctrak.inc delete mode 100644 StarVMC/geant3/examples/gcunit.inc delete mode 100644 StarVMC/geant3/examples/gcvolu.inc delete mode 100755 StarVMC/geant3/examples/gexam1 delete mode 100644 StarVMC/geant3/examples/gexam1.F delete mode 100755 StarVMC/geant3/examples/gexam1.dat delete mode 100755 StarVMC/geant3/examples/gexam3 delete mode 100644 StarVMC/geant3/examples/gexam3.F delete mode 100644 StarVMC/geant3/examples/gexam3.dat delete mode 100755 StarVMC/geant3/examples/gexam4 delete mode 100644 StarVMC/geant3/examples/gexam4.F delete mode 100755 StarVMC/geant3/examples/gexam4.dat delete mode 100644 StarVMC/geant3/examples/gmain.cxx delete mode 100644 StarVMC/geant3/examples/gphysi.dat delete mode 100755 StarVMC/geant3/examples/model delete mode 100644 StarVMC/geant3/examples/model.F delete mode 100644 StarVMC/geant3/examples/model.dat delete mode 100644 StarVMC/geant3/examples/model.inc delete mode 100644 StarVMC/geant3/examples/rootlogon.C delete mode 100644 StarVMC/geant3/fiface/fldist.F delete mode 100644 StarVMC/geant3/fiface/flinit.F delete mode 100644 StarVMC/geant3/fiface/flufin.F delete mode 100644 StarVMC/geant3/fiface/flufin.F.ori delete mode 100644 StarVMC/geant3/fluka/abbrch.F delete mode 100644 StarVMC/geant3/fluka/ainel.F delete mode 100644 StarVMC/geant3/fluka/akeka.F delete mode 100644 StarVMC/geant3/fluka/altra.F delete mode 100644 StarVMC/geant3/fluka/altraf.F delete mode 100644 StarVMC/geant3/fluka/amga.F delete mode 100644 StarVMC/geant3/fluka/ankeka.F delete mode 100644 StarVMC/geant3/fluka/bamjev.F delete mode 100644 StarVMC/geant3/fluka/beexi.F delete mode 100644 StarVMC/geant3/fluka/bekeka.F delete mode 100644 StarVMC/geant3/fluka/berttp.F delete mode 100644 StarVMC/geant3/fluka/beta.F delete mode 100644 StarVMC/geant3/fluka/betarn.F delete mode 100644 StarVMC/geant3/fluka/betrst.F delete mode 100644 StarVMC/geant3/fluka/bkeka.F delete mode 100644 StarVMC/geant3/fluka/bklass.F delete mode 100644 StarVMC/geant3/fluka/bnkeka.F delete mode 100644 StarVMC/geant3/fluka/calumo.F delete mode 100644 StarVMC/geant3/fluka/calumv.F delete mode 100644 StarVMC/geant3/fluka/chanwt.F delete mode 100644 StarVMC/geant3/fluka/corevt.F delete mode 100644 StarVMC/geant3/fluka/corrin.F delete mode 100644 StarVMC/geant3/fluka/datar3.F delete mode 100644 StarVMC/geant3/fluka/decaux.F delete mode 100644 StarVMC/geant3/fluka/decay.F delete mode 100644 StarVMC/geant3/fluka/difevv.F delete mode 100644 StarVMC/geant3/fluka/dost.F delete mode 100644 StarVMC/geant3/fluka/drelab.F delete mode 100644 StarVMC/geant3/fluka/dres.F delete mode 100644 StarVMC/geant3/fluka/eexi.F delete mode 100644 StarVMC/geant3/fluka/eexlvl.F delete mode 100644 StarVMC/geant3/fluka/ekeka.F delete mode 100644 StarVMC/geant3/fluka/energi.F delete mode 100644 StarVMC/geant3/fluka/energy.F delete mode 100644 StarVMC/geant3/fluka/enrg.F delete mode 100644 StarVMC/geant3/fluka/erup.F delete mode 100644 StarVMC/geant3/fluka/evdeex.F delete mode 100644 StarVMC/geant3/fluka/eventv.F delete mode 100644 StarVMC/geant3/fluka/evevap.F delete mode 100644 StarVMC/geant3/fluka/evvini.F delete mode 100644 StarVMC/geant3/fluka/ferevv.F delete mode 100644 StarVMC/geant3/fluka/ferhav.F delete mode 100644 StarVMC/geant3/fluka/fisfra.F delete mode 100644 StarVMC/geant3/fluka/fkdeca.F delete mode 100644 StarVMC/geant3/fluka/fkdres.F delete mode 100644 StarVMC/geant3/fluka/fkener.F delete mode 100644 StarVMC/geant3/fluka/fkerup.F delete mode 100644 StarVMC/geant3/fluka/fkflav.F delete mode 100644 StarVMC/geant3/fluka/fkimpu.F delete mode 100644 StarVMC/geant3/fluka/fksigi.F delete mode 100644 StarVMC/geant3/fluka/fkvert.F delete mode 100644 StarVMC/geant3/fluka/fkzero.F delete mode 100644 StarVMC/geant3/fluka/flavor.F delete mode 100644 StarVMC/geant3/fluka/fpower.F delete mode 100644 StarVMC/geant3/fluka/fprob.F delete mode 100644 StarVMC/geant3/fluka/gamrn.F delete mode 100644 StarVMC/geant3/fluka/geta.F delete mode 100644 StarVMC/geant3/fluka/hadden.F delete mode 100644 StarVMC/geant3/fluka/hadevv.F delete mode 100644 StarVMC/geant3/fluka/hadrin.F delete mode 100644 StarVMC/geant3/fluka/hadriv.F delete mode 100644 StarVMC/geant3/fluka/hevhin.F delete mode 100644 StarVMC/geant3/fluka/hinhev.F delete mode 100644 StarVMC/geant3/fluka/hklass.F delete mode 100644 StarVMC/geant3/fluka/hypero.F delete mode 100644 StarVMC/geant3/fluka/iefun.F delete mode 100644 StarVMC/geant3/fluka/impuls.F delete mode 100644 StarVMC/geant3/fluka/incini.F delete mode 100644 StarVMC/geant3/fluka/index2.F delete mode 100644 StarVMC/geant3/fluka/kinpar.F delete mode 100644 StarVMC/geant3/fluka/kpois.F delete mode 100644 StarVMC/geant3/fluka/lortra.F delete mode 100644 StarVMC/geant3/fluka/nizl.F delete mode 100644 StarVMC/geant3/fluka/nizlnw.F delete mode 100644 StarVMC/geant3/fluka/nucevv.F delete mode 100644 StarVMC/geant3/fluka/nucrel.F delete mode 100644 StarVMC/geant3/fluka/nucriv.F delete mode 100644 StarVMC/geant3/fluka/nudisv.F delete mode 100644 StarVMC/geant3/fluka/nuprel.F delete mode 100644 StarVMC/geant3/fluka/parjet.F delete mode 100644 StarVMC/geant3/fluka/pmprab.F delete mode 100644 StarVMC/geant3/fluka/poli.F delete mode 100644 StarVMC/geant3/fluka/qnrg.F delete mode 100644 StarVMC/geant3/fluka/raco.F delete mode 100644 StarVMC/geant3/fluka/rakekv.F delete mode 100644 StarVMC/geant3/fluka/rbkekv.F delete mode 100644 StarVMC/geant3/fluka/rchanv.F delete mode 100644 StarVMC/geant3/fluka/rotat.F delete mode 100644 StarVMC/geant3/fluka/samcst.F delete mode 100644 StarVMC/geant3/fluka/sfecfe.F delete mode 100644 StarVMC/geant3/fluka/shptot.F delete mode 100644 StarVMC/geant3/fluka/sigel.F delete mode 100644 StarVMC/geant3/fluka/sigint.F delete mode 100644 StarVMC/geant3/fluka/sihael.F delete mode 100644 StarVMC/geant3/fluka/sitsao.F delete mode 100644 StarVMC/geant3/fluka/stalin.F delete mode 100644 StarVMC/geant3/fluka/tchoic.F delete mode 100644 StarVMC/geant3/fluka/threpd.F delete mode 100644 StarVMC/geant3/fluka/trafo.F delete mode 100644 StarVMC/geant3/fluka/trahad.F delete mode 100644 StarVMC/geant3/fluka/trans.F delete mode 100644 StarVMC/geant3/fluka/ttrans.F delete mode 100644 StarVMC/geant3/fluka/twopad.F delete mode 100644 StarVMC/geant3/fluka/twopar.F delete mode 100644 StarVMC/geant3/fluka/verein.F delete mode 100644 StarVMC/geant3/fluka/vertex.F delete mode 100644 StarVMC/geant3/fluka/xlamb.F delete mode 100644 StarVMC/geant3/fluka/xseneu.F delete mode 100644 StarVMC/geant3/fluka/xsepro.F delete mode 100644 StarVMC/geant3/fluka/zeroin.F delete mode 100644 StarVMC/geant3/gbase/gbase.doc delete mode 100644 StarVMC/geant3/gbase/gbhsta.F delete mode 100644 StarVMC/geant3/gbase/geamon.F delete mode 100644 StarVMC/geant3/gbase/getnum.F delete mode 100644 StarVMC/geant3/gbase/getver.F delete mode 100644 StarVMC/geant3/gbase/gffgo.F delete mode 100644 StarVMC/geant3/gbase/gfhead.F delete mode 100644 StarVMC/geant3/gbase/gfhsta.F delete mode 100644 StarVMC/geant3/gbase/gfrung.F delete mode 100644 StarVMC/geant3/gbase/ggclo2.F delete mode 100644 StarVMC/geant3/gbase/ggclos.F delete mode 100644 StarVMC/geant3/gbase/ghclos.F delete mode 100644 StarVMC/geant3/gbase/ginit.F delete mode 100644 StarVMC/geant3/gbase/glast.F delete mode 100644 StarVMC/geant3/gbase/glook.F delete mode 100644 StarVMC/geant3/gbase/gmail.F delete mode 100644 StarVMC/geant3/gbase/gphead.F delete mode 100644 StarVMC/geant3/gbase/gprint.F delete mode 100644 StarVMC/geant3/gbase/gprung.F delete mode 100644 StarVMC/geant3/gbase/grun.F delete mode 100644 StarVMC/geant3/gbase/gshead.F delete mode 100644 StarVMC/geant3/gbase/gsrung.F delete mode 100644 StarVMC/geant3/gbase/gtrig.F delete mode 100644 StarVMC/geant3/gbase/gtrigc.F delete mode 100644 StarVMC/geant3/gbase/gtrigi.F delete mode 100644 StarVMC/geant3/gbase/gwork.F delete mode 100644 StarVMC/geant3/gbase/gzebra.F delete mode 100644 StarVMC/geant3/gbase/gzinit.F delete mode 100644 StarVMC/geant3/gcinit.F delete mode 100644 StarVMC/geant3/gcons/gcons.doc delete mode 100644 StarVMC/geant3/gcons/gevkev.F delete mode 100644 StarVMC/geant3/gcons/gfcoul.F delete mode 100644 StarVMC/geant3/gcons/gfmate.F delete mode 100644 StarVMC/geant3/gcons/gfpart.F delete mode 100644 StarVMC/geant3/gcons/gftmat.F delete mode 100644 StarVMC/geant3/gcons/gftmed.F delete mode 100644 StarVMC/geant3/gcons/ghmix.F delete mode 100644 StarVMC/geant3/gcons/gmate.F delete mode 100644 StarVMC/geant3/gcons/gpart.F delete mode 100644 StarVMC/geant3/gcons/gpions.F delete mode 100644 StarVMC/geant3/gcons/gplmat.F delete mode 100644 StarVMC/geant3/gcons/gpmate.F delete mode 100644 StarVMC/geant3/gcons/gpmatx.F delete mode 100644 StarVMC/geant3/gcons/gppart.F delete mode 100644 StarVMC/geant3/gcons/gpparx.F delete mode 100644 StarVMC/geant3/gcons/gprmat.F delete mode 100644 StarVMC/geant3/gcons/gptmed.F delete mode 100644 StarVMC/geant3/gcons/gptmex.F delete mode 100644 StarVMC/geant3/gcons/gsckov.F delete mode 100644 StarVMC/geant3/gcons/gsdk.F delete mode 100644 StarVMC/geant3/gcons/gsmate.F delete mode 100644 StarVMC/geant3/gcons/gsmate.F.ori delete mode 100644 StarVMC/geant3/gcons/gsmixt.F delete mode 100644 StarVMC/geant3/gcons/gspart.F delete mode 100644 StarVMC/geant3/gcons/gstmed.F delete mode 100644 StarVMC/geant3/gcons/gstpar.F delete mode 100644 StarVMC/geant3/gcons/gxsi.F delete mode 100644 StarVMC/geant3/geant3.diff.050708 delete mode 100644 StarVMC/geant3/geant321/aadat.inc delete mode 100644 StarVMC/geant3/geant321/auxpar.inc delete mode 100644 StarVMC/geant3/geant321/balanc.inc delete mode 100644 StarVMC/geant3/geant321/bamjcm.inc delete mode 100644 StarVMC/geant3/geant321/blank.inc delete mode 100644 StarVMC/geant3/geant321/camass.inc delete mode 100644 StarVMC/geant3/geant321/cerrcm.inc delete mode 100644 StarVMC/geant3/geant321/cgcaan.inc delete mode 100644 StarVMC/geant3/geant321/cgcedg.inc delete mode 100644 StarVMC/geant3/geant321/cgcfac.inc delete mode 100644 StarVMC/geant3/geant321/cgctra.inc delete mode 100644 StarVMC/geant3/geant321/cgdelt.inc delete mode 100644 StarVMC/geant3/geant321/cggpar.inc delete mode 100644 StarVMC/geant3/geant321/cghpar.inc delete mode 100644 StarVMC/geant3/geant321/cgxcom.inc delete mode 100644 StarVMC/geant3/geant321/cmagic.inc delete mode 100644 StarVMC/geant3/geant321/cmass.inc delete mode 100644 StarVMC/geant3/geant321/cmsres.inc delete mode 100644 StarVMC/geant3/geant321/comcon.inc delete mode 100644 StarVMC/geant3/geant321/comcont.inc delete mode 100644 StarVMC/geant3/geant321/corinc.inc delete mode 100644 StarVMC/geant3/geant321/crandm.inc delete mode 100644 StarVMC/geant3/geant321/dblprc.inc delete mode 100644 StarVMC/geant3/geant321/decayc.inc delete mode 100644 StarVMC/geant3/geant321/decayc2.inc delete mode 100644 StarVMC/geant3/geant321/depnuc.inc delete mode 100644 StarVMC/geant3/geant321/dimpar.inc delete mode 100644 StarVMC/geant3/geant321/eropts.inc delete mode 100644 StarVMC/geant3/geant321/ertrio.inc delete mode 100644 StarVMC/geant3/geant321/erwork.inc delete mode 100644 StarVMC/geant3/geant321/eva0.inc delete mode 100644 StarVMC/geant3/geant321/eva1.inc delete mode 100644 StarVMC/geant3/geant321/fheavy.inc delete mode 100644 StarVMC/geant3/geant321/fheavyt.inc delete mode 100644 StarVMC/geant3/geant321/finlsp.inc delete mode 100644 StarVMC/geant3/geant321/finlsp2.inc delete mode 100644 StarVMC/geant3/geant321/finlsp3.inc delete mode 100644 StarVMC/geant3/geant321/finpar.inc delete mode 100644 StarVMC/geant3/geant321/finpar2.inc delete mode 100644 StarVMC/geant3/geant321/finuc.inc delete mode 100644 StarVMC/geant3/geant321/finuc2.inc delete mode 100644 StarVMC/geant3/geant321/finuct.inc delete mode 100644 StarVMC/geant3/geant321/forcn.inc delete mode 100644 StarVMC/geant3/geant321/gc10ev.inc delete mode 100644 StarVMC/geant3/geant321/gcasho.inc delete mode 100644 StarVMC/geant3/geant321/gcbank.inc delete mode 100644 StarVMC/geant3/geant321/gccurs.inc delete mode 100644 StarVMC/geant3/geant321/gccuts.inc delete mode 100644 StarVMC/geant3/geant321/gcdlin.inc delete mode 100644 StarVMC/geant3/geant321/gcdraw.inc delete mode 100644 StarVMC/geant3/geant321/gcfdim.inc delete mode 100644 StarVMC/geant3/geant321/gcflag.inc delete mode 100644 StarVMC/geant3/geant321/gcgobj.inc delete mode 100644 StarVMC/geant3/geant321/gchil2.inc delete mode 100644 StarVMC/geant3/geant321/gchiln.inc delete mode 100644 StarVMC/geant3/geant321/gchvir.inc delete mode 100644 StarVMC/geant3/geant321/gcjloc.inc delete mode 100644 StarVMC/geant3/geant321/gcjump.inc delete mode 100644 StarVMC/geant3/geant321/gckine.inc delete mode 100644 StarVMC/geant3/geant321/gcking.inc delete mode 100644 StarVMC/geant3/geant321/gckmax.inc delete mode 100644 StarVMC/geant3/geant321/gclink.inc delete mode 100644 StarVMC/geant3/geant321/gclist.inc delete mode 100644 StarVMC/geant3/geant321/gclund.inc delete mode 100644 StarVMC/geant3/geant321/gcmate.inc delete mode 100644 StarVMC/geant3/geant321/gcmore.inc delete mode 100644 StarVMC/geant3/geant321/gcmulo.inc delete mode 100644 StarVMC/geant3/geant321/gcmutr.inc delete mode 100644 StarVMC/geant3/geant321/gcmzfo.inc delete mode 100644 StarVMC/geant3/geant321/gcnmec.inc delete mode 100644 StarVMC/geant3/geant321/gcnum.inc delete mode 100644 StarVMC/geant3/geant321/gcomis.inc delete mode 100644 StarVMC/geant3/geant321/gconsp.inc delete mode 100644 StarVMC/geant3/geant321/gconst.inc delete mode 100644 StarVMC/geant3/geant321/gcopti.inc delete mode 100644 StarVMC/geant3/geant321/gcpara.inc delete mode 100644 StarVMC/geant3/geant321/gcparm.inc delete mode 100644 StarVMC/geant3/geant321/gcphnr.inc delete mode 100644 StarVMC/geant3/geant321/gcphpr.inc delete mode 100644 StarVMC/geant3/geant321/gcphrd.inc delete mode 100644 StarVMC/geant3/geant321/gcphxs.inc delete mode 100644 StarVMC/geant3/geant321/gcphys.inc delete mode 100644 StarVMC/geant3/geant321/gcpixe.inc delete mode 100644 StarVMC/geant3/geant321/gcpmxz.inc delete mode 100644 StarVMC/geant3/geant321/gcpoly.inc delete mode 100644 StarVMC/geant3/geant321/gcpotm.inc delete mode 100644 StarVMC/geant3/geant321/gcpush.inc delete mode 100644 StarVMC/geant3/geant321/gcrayt.inc delete mode 100644 StarVMC/geant3/geant321/gcrz.inc delete mode 100644 StarVMC/geant3/geant321/gcscal.inc delete mode 100644 StarVMC/geant3/geant321/gcscan.inc delete mode 100644 StarVMC/geant3/geant321/gcsetf.inc delete mode 100644 StarVMC/geant3/geant321/gcsets.inc delete mode 100644 StarVMC/geant3/geant321/gcshno.inc delete mode 100644 StarVMC/geant3/geant321/gcshpt.inc delete mode 100644 StarVMC/geant3/geant321/gcspee.inc delete mode 100644 StarVMC/geant3/geant321/gcstak.inc delete mode 100644 StarVMC/geant3/geant321/gcstra.inc delete mode 100644 StarVMC/geant3/geant321/gctime.inc delete mode 100644 StarVMC/geant3/geant321/gctmed.inc delete mode 100644 StarVMC/geant3/geant321/gctrak.inc delete mode 100644 StarVMC/geant3/geant321/gcunit.inc delete mode 100644 StarVMC/geant3/geant321/gcursb.inc delete mode 100644 StarVMC/geant3/geant321/gcvdma.inc delete mode 100644 StarVMC/geant3/geant321/gcvol1.inc delete mode 100644 StarVMC/geant3/geant321/gcvol2.inc delete mode 100644 StarVMC/geant3/geant321/gcvolu.inc delete mode 100644 StarVMC/geant3/geant321/gcxlun.inc delete mode 100644 StarVMC/geant3/geant321/gfkdis.inc delete mode 100644 StarVMC/geant3/geant321/gsecti.inc delete mode 100644 StarVMC/geant3/geant321/gtasho.inc delete mode 100644 StarVMC/geant3/geant321/gtbank.inc delete mode 100644 StarVMC/geant3/geant321/gtcons.inc delete mode 100644 StarVMC/geant3/geant321/gtcurs.inc delete mode 100644 StarVMC/geant3/geant321/gtcuts.inc delete mode 100644 StarVMC/geant3/geant321/gtdraw.inc delete mode 100644 StarVMC/geant3/geant321/gtfdim.inc delete mode 100644 StarVMC/geant3/geant321/gtflag.inc delete mode 100644 StarVMC/geant3/geant321/gthil2.inc delete mode 100644 StarVMC/geant3/geant321/gthiln.inc delete mode 100644 StarVMC/geant3/geant321/gthvir.inc delete mode 100644 StarVMC/geant3/geant321/gtjump.inc delete mode 100644 StarVMC/geant3/geant321/gtkine.inc delete mode 100644 StarVMC/geant3/geant321/gtlink.inc delete mode 100644 StarVMC/geant3/geant321/gtlist.inc delete mode 100644 StarVMC/geant3/geant321/gtmore.inc delete mode 100644 StarVMC/geant3/geant321/gtmutr.inc delete mode 100644 StarVMC/geant3/geant321/gtnum.inc delete mode 100644 StarVMC/geant3/geant321/gtopti.inc delete mode 100644 StarVMC/geant3/geant321/gtpara.inc delete mode 100644 StarVMC/geant3/geant321/gtparm.inc delete mode 100644 StarVMC/geant3/geant321/gtphys.inc delete mode 100644 StarVMC/geant3/geant321/gtpixe.inc delete mode 100644 StarVMC/geant3/geant321/gtrayt.inc delete mode 100644 StarVMC/geant3/geant321/gtscal.inc delete mode 100644 StarVMC/geant3/geant321/gtscan.inc delete mode 100644 StarVMC/geant3/geant321/gtsets.inc delete mode 100644 StarVMC/geant3/geant321/gtspee.inc delete mode 100644 StarVMC/geant3/geant321/gtstak.inc delete mode 100644 StarVMC/geant3/geant321/gttmed.inc delete mode 100644 StarVMC/geant3/geant321/gttrak.inc delete mode 100644 StarVMC/geant3/geant321/gtursb.inc delete mode 100644 StarVMC/geant3/geant321/gtvdma.inc delete mode 100644 StarVMC/geant3/geant321/gtvol1.inc delete mode 100644 StarVMC/geant3/geant321/gtvolu.inc delete mode 100644 StarVMC/geant3/geant321/gversc.inc delete mode 100644 StarVMC/geant3/geant321/hadflg.inc delete mode 100644 StarVMC/geant3/geant321/hadpar.inc delete mode 100644 StarVMC/geant3/geant321/hetc5.inc delete mode 100644 StarVMC/geant3/geant321/hetc7.inc delete mode 100644 StarVMC/geant3/geant321/hettp.inc delete mode 100644 StarVMC/geant3/geant321/higfis.inc delete mode 100644 StarVMC/geant3/geant321/incdek.inc delete mode 100644 StarVMC/geant3/geant321/inpdat.inc delete mode 100644 StarVMC/geant3/geant321/inpdat2.inc delete mode 100644 StarVMC/geant3/geant321/inpflg.inc delete mode 100644 StarVMC/geant3/geant321/iounit.inc delete mode 100644 StarVMC/geant3/geant321/isotop.inc delete mode 100644 StarVMC/geant3/geant321/labcos.inc delete mode 100644 StarVMC/geant3/geant321/limits.inc delete mode 100644 StarVMC/geant3/geant321/ludat1.inc delete mode 100644 StarVMC/geant3/geant321/ludat3.inc delete mode 100644 StarVMC/geant3/geant321/lujets.inc delete mode 100644 StarVMC/geant3/geant321/mapa.inc delete mode 100644 StarVMC/geant3/geant321/mapat.inc delete mode 100644 StarVMC/geant3/geant321/mapoll.inc delete mode 100644 StarVMC/geant3/geant321/mconst.inc delete mode 100644 StarVMC/geant3/geant321/mcreco.inc delete mode 100644 StarVMC/geant3/geant321/mcross.inc delete mode 100644 StarVMC/geant3/geant321/metlsp.inc delete mode 100644 StarVMC/geant3/geant321/mgamma.inc delete mode 100644 StarVMC/geant3/geant321/minput.inc delete mode 100644 StarVMC/geant3/geant321/mmass.inc delete mode 100644 StarVMC/geant3/geant321/mmicab.inc delete mode 100644 StarVMC/geant3/geant321/mmicap.inc delete mode 100644 StarVMC/geant3/geant321/mnutrn.inc delete mode 100644 StarVMC/geant3/geant321/mparam.inc delete mode 100644 StarVMC/geant3/geant321/mpifinc.inc delete mode 100644 StarVMC/geant3/geant321/mpoint.inc delete mode 100644 StarVMC/geant3/geant321/mpstor.inc delete mode 100644 StarVMC/geant3/geant321/mrecoi.inc delete mode 100644 StarVMC/geant3/geant321/multiprox.inc delete mode 100644 StarVMC/geant3/geant321/multseeds.inc delete mode 100644 StarVMC/geant3/geant321/mupsca.inc delete mode 100644 StarVMC/geant3/geant321/mxgkgh.inc delete mode 100644 StarVMC/geant3/geant321/nucdat.inc delete mode 100644 StarVMC/geant3/geant321/nucgeo.inc delete mode 100644 StarVMC/geant3/geant321/nuciod.inc delete mode 100644 StarVMC/geant3/geant321/nuclev.inc delete mode 100644 StarVMC/geant3/geant321/nucpar.inc delete mode 100644 StarVMC/geant3/geant321/nucstf.inc delete mode 100644 StarVMC/geant3/geant321/paprop.inc delete mode 100644 StarVMC/geant3/geant321/papropt.inc delete mode 100644 StarVMC/geant3/geant321/parevt.inc delete mode 100644 StarVMC/geant3/geant321/parnuc.inc delete mode 100644 StarVMC/geant3/geant321/part.inc delete mode 100644 StarVMC/geant3/geant321/part2.inc delete mode 100644 StarVMC/geant3/geant321/part2t.inc delete mode 100644 StarVMC/geant3/geant321/part3.inc delete mode 100644 StarVMC/geant3/geant321/partt.inc delete mode 100644 StarVMC/geant3/geant321/pawc.inc delete mode 100644 StarVMC/geant3/geant321/pawct.inc delete mode 100644 StarVMC/geant3/geant321/pcodat.inc delete mode 100644 StarVMC/geant3/geant321/pcodim.inc delete mode 100644 StarVMC/geant3/geant321/pilot.h delete mode 100644 StarVMC/geant3/geant321/pilot.h.ori delete mode 100644 StarVMC/geant3/geant321/qquark.inc delete mode 100644 StarVMC/geant3/geant321/reac.inc delete mode 100644 StarVMC/geant3/geant321/redver.inc delete mode 100644 StarVMC/geant3/geant321/resnuc.inc delete mode 100644 StarVMC/geant3/geant321/s_blank.inc delete mode 100644 StarVMC/geant3/geant321/s_blankp.inc delete mode 100644 StarVMC/geant3/geant321/s_consts.inc delete mode 100644 StarVMC/geant3/geant321/s_coscom.inc delete mode 100644 StarVMC/geant3/geant321/s_csdat.inc delete mode 100644 StarVMC/geant3/geant321/s_csdim.inc delete mode 100644 StarVMC/geant3/geant321/s_curpar.inc delete mode 100644 StarVMC/geant3/geant321/s_defcom.inc delete mode 100644 StarVMC/geant3/geant321/s_errcom.inc delete mode 100644 StarVMC/geant3/geant321/s_event.inc delete mode 100644 StarVMC/geant3/geant321/s_genio.inc delete mode 100644 StarVMC/geant3/geant321/s_kginit.inc delete mode 100644 StarVMC/geant3/geant321/s_mat.inc delete mode 100644 StarVMC/geant3/geant321/s_nucio.inc delete mode 100644 StarVMC/geant3/geant321/s_prntfl.inc delete mode 100644 StarVMC/geant3/geant321/s_result.inc delete mode 100644 StarVMC/geant3/geant321/sckine.inc delete mode 100644 StarVMC/geant3/geant321/split.inc delete mode 100644 StarVMC/geant3/geant321/trcom3.inc delete mode 100644 StarVMC/geant3/geant321/xsepar.inc delete mode 100644 StarVMC/geant3/geocad/gboset.F delete mode 100644 StarVMC/geant3/geocad/gckmat.F delete mode 100644 StarVMC/geant3/geocad/gckpar.F delete mode 100644 StarVMC/geant3/geocad/gcoset.F delete mode 100644 StarVMC/geant3/geocad/gcsetc.F delete mode 100644 StarVMC/geant3/geocad/gctset.F delete mode 100644 StarVMC/geant3/geocad/gdexca.F delete mode 100644 StarVMC/geant3/geocad/gelset.F delete mode 100644 StarVMC/geant3/geocad/genset.F delete mode 100644 StarVMC/geant3/geocad/getshp.F delete mode 100644 StarVMC/geant3/geocad/gjwrit.F delete mode 100644 StarVMC/geant3/geocad/gpaset.F delete mode 100644 StarVMC/geant3/geocad/gpcset.F delete mode 100644 StarVMC/geant3/geocad/gpgset.F delete mode 100644 StarVMC/geant3/geocad/gposi.F delete mode 100644 StarVMC/geant3/geocad/gptset.F delete mode 100644 StarVMC/geant3/geocad/greucl.F delete mode 100644 StarVMC/geant3/geocad/gspset.F delete mode 100644 StarVMC/geant3/geocad/gstmat.F delete mode 100644 StarVMC/geant3/geocad/gstset.F delete mode 100644 StarVMC/geant3/geocad/gtrase.F delete mode 100644 StarVMC/geant3/geocad/gtrdse.F delete mode 100644 StarVMC/geant3/geocad/gtrset.F delete mode 100644 StarVMC/geant3/geocad/gtuset.F delete mode 100644 StarVMC/geant3/geocad/gtxset.F delete mode 100644 StarVMC/geant3/geocad/gweucl.F delete mode 100644 StarVMC/geant3/geocad/gwrtre.F delete mode 100644 StarVMC/geant3/geocad/history.F delete mode 100644 StarVMC/geant3/geocad/readme.F delete mode 100644 StarVMC/geant3/ggeom/gbstat.F delete mode 100644 StarVMC/geant3/ggeom/gcent.F delete mode 100644 StarVMC/geant3/ggeom/gdtom.F delete mode 100644 StarVMC/geant3/ggeom/gfatt.F delete mode 100644 StarVMC/geant3/ggeom/gfclim.F delete mode 100644 StarVMC/geant3/ggeom/gfcoor.F delete mode 100644 StarVMC/geant3/ggeom/gfcord.F delete mode 100644 StarVMC/geant3/ggeom/gfcvol.F delete mode 100644 StarVMC/geant3/ggeom/gfipar.F delete mode 100644 StarVMC/geant3/ggeom/gflcar.F delete mode 100644 StarVMC/geant3/ggeom/gflphi.F delete mode 100644 StarVMC/geant3/ggeom/gflrad.F delete mode 100644 StarVMC/geant3/ggeom/gflthe.F delete mode 100644 StarVMC/geant3/ggeom/gfmoth.F delete mode 100644 StarVMC/geant3/ggeom/gfpara.F delete mode 100644 StarVMC/geant3/ggeom/gfstat.F delete mode 100644 StarVMC/geant3/ggeom/gfupar.F delete mode 100644 StarVMC/geant3/ggeom/gfvolu.F delete mode 100644 StarVMC/geant3/ggeom/ggcave.F delete mode 100644 StarVMC/geant3/ggeom/ggdpar.F delete mode 100644 StarVMC/geant3/ggeom/ggdspe.F delete mode 100644 StarVMC/geant3/ggeom/ggdvlp.F delete mode 100644 StarVMC/geant3/ggeom/ggeom.doc delete mode 100644 StarVMC/geant3/ggeom/ggnlev.F delete mode 100644 StarVMC/geant3/ggeom/ggord.F delete mode 100644 StarVMC/geant3/ggeom/ggordq.F delete mode 100644 StarVMC/geant3/ggeom/ggperp.F delete mode 100644 StarVMC/geant3/ggeom/ggperp.F.ori delete mode 100644 StarVMC/geant3/ggeom/ggppar.F delete mode 100644 StarVMC/geant3/ggeom/ggppar.F.ori delete mode 100644 StarVMC/geant3/ggeom/ggvchk.F delete mode 100644 StarVMC/geant3/ggeom/ginctu.F delete mode 100644 StarVMC/geant3/ggeom/gingtr.F delete mode 100644 StarVMC/geant3/ggeom/ginme.F delete mode 100644 StarVMC/geant3/ggeom/ginpar.F delete mode 100644 StarVMC/geant3/ggeom/ginpco.F delete mode 100644 StarVMC/geant3/ggeom/ginpgo.F delete mode 100644 StarVMC/geant3/ggeom/ginrot.F delete mode 100644 StarVMC/geant3/ggeom/gintco.F delete mode 100644 StarVMC/geant3/ggeom/gintrp.F delete mode 100644 StarVMC/geant3/ggeom/gitran.F delete mode 100644 StarVMC/geant3/ggeom/glmoth.F delete mode 100644 StarVMC/geant3/ggeom/glvolu.F delete mode 100644 StarVMC/geant3/ggeom/gmedi2.F delete mode 100644 StarVMC/geant3/ggeom/gmedia.F delete mode 100644 StarVMC/geant3/ggeom/gmedia.F.ori delete mode 100644 StarVMC/geant3/ggeom/gmedin.F delete mode 100644 StarVMC/geant3/ggeom/gmediv.F delete mode 100644 StarVMC/geant3/ggeom/gmepos.F delete mode 100644 StarVMC/geant3/ggeom/gmtod.F delete mode 100644 StarVMC/geant3/ggeom/gnbox.F delete mode 100644 StarVMC/geant3/ggeom/gncone.F delete mode 100644 StarVMC/geant3/ggeom/gnctub.F delete mode 100644 StarVMC/geant3/ggeom/gneltu.F delete mode 100644 StarVMC/geant3/ggeom/gnex2.F delete mode 100644 StarVMC/geant3/ggeom/gnext.F delete mode 100644 StarVMC/geant3/ggeom/gnhype.F delete mode 100644 StarVMC/geant3/ggeom/gnobox.F delete mode 100644 StarVMC/geant3/ggeom/gnocon.F delete mode 100644 StarVMC/geant3/ggeom/gnoctu.F delete mode 100644 StarVMC/geant3/ggeom/gnoelt.F delete mode 100644 StarVMC/geant3/ggeom/gnohyp.F delete mode 100644 StarVMC/geant3/ggeom/gnopar.F delete mode 100644 StarVMC/geant3/ggeom/gnopco.F delete mode 100644 StarVMC/geant3/ggeom/gnopg1.F delete mode 100644 StarVMC/geant3/ggeom/gnopgo.F delete mode 100644 StarVMC/geant3/ggeom/gnosph.F delete mode 100644 StarVMC/geant3/ggeom/gnotr1.F delete mode 100644 StarVMC/geant3/ggeom/gnotr2.F delete mode 100644 StarVMC/geant3/ggeom/gnotr9.F delete mode 100644 StarVMC/geant3/ggeom/gnotra.F delete mode 100644 StarVMC/geant3/ggeom/gnotrp.F delete mode 100644 StarVMC/geant3/ggeom/gnotub.F delete mode 100644 StarVMC/geant3/ggeom/gnpara.F delete mode 100644 StarVMC/geant3/ggeom/gnpcon.F delete mode 100644 StarVMC/geant3/ggeom/gnpgo1.F delete mode 100644 StarVMC/geant3/ggeom/gnpgon.F delete mode 100644 StarVMC/geant3/ggeom/gnsphr.F delete mode 100644 StarVMC/geant3/ggeom/gntrap.F delete mode 100644 StarVMC/geant3/ggeom/gntrp.F delete mode 100644 StarVMC/geant3/ggeom/gntube.F delete mode 100644 StarVMC/geant3/ggeom/gprotm.F delete mode 100644 StarVMC/geant3/ggeom/gprotx.F delete mode 100644 StarVMC/geant3/ggeom/gpstat.F delete mode 100644 StarVMC/geant3/ggeom/gpvolu.F delete mode 100644 StarVMC/geant3/ggeom/gpvolx.F delete mode 100644 StarVMC/geant3/ggeom/grmtd.F delete mode 100644 StarVMC/geant3/ggeom/grmul.F delete mode 100644 StarVMC/geant3/ggeom/grot.F delete mode 100644 StarVMC/geant3/ggeom/grpar.F delete mode 100644 StarVMC/geant3/ggeom/gsagtr.F delete mode 100644 StarVMC/geant3/ggeom/gsaphi.F delete mode 100644 StarVMC/geant3/ggeom/gsatt.F delete mode 100644 StarVMC/geant3/ggeom/gschk.F delete mode 100644 StarVMC/geant3/ggeom/gscvol.F delete mode 100644 StarVMC/geant3/ggeom/gsdvn.F delete mode 100644 StarVMC/geant3/ggeom/gsdvn2.F delete mode 100644 StarVMC/geant3/ggeom/gsdvs.F delete mode 100644 StarVMC/geant3/ggeom/gsdvs2.F delete mode 100644 StarVMC/geant3/ggeom/gsdvt.F delete mode 100644 StarVMC/geant3/ggeom/gsdvt2.F delete mode 100644 StarVMC/geant3/ggeom/gsdvx.F delete mode 100644 StarVMC/geant3/ggeom/gsipar.F delete mode 100644 StarVMC/geant3/ggeom/gsnear.F delete mode 100644 StarVMC/geant3/ggeom/gsnext.F delete mode 100644 StarVMC/geant3/ggeom/gsngtr.F delete mode 100644 StarVMC/geant3/ggeom/gsord.F delete mode 100644 StarVMC/geant3/ggeom/gspos.F delete mode 100644 StarVMC/geant3/ggeom/gsposp.F delete mode 100644 StarVMC/geant3/ggeom/gsrotm.F delete mode 100644 StarVMC/geant3/ggeom/gsunea.F delete mode 100644 StarVMC/geant3/ggeom/gsvolu.F delete mode 100644 StarVMC/geant3/ggeom/gtrain.F delete mode 100644 StarVMC/geant3/ggeom/gtrmul.F delete mode 100644 StarVMC/geant3/ggeom/gtrnsf.F delete mode 100644 StarVMC/geant3/ggeom/gvdcar.F delete mode 100644 StarVMC/geant3/ggeom/gvdlim.F delete mode 100644 StarVMC/geant3/ggeom/gvdphi.F delete mode 100644 StarVMC/geant3/ggeom/gvdrad.F delete mode 100644 StarVMC/geant3/ggeom/gvdthe.F delete mode 100644 StarVMC/geant3/ggeom/gvgrad.F delete mode 100644 StarVMC/geant3/ggeom/gvlong.F delete mode 100644 StarVMC/geant3/ggeom/gvpsqr.F delete mode 100644 StarVMC/geant3/ggeom/gvsafe.F delete mode 100644 StarVMC/geant3/ggeom/gvsign.F delete mode 100644 StarVMC/geant3/ggeom/sxsrot.F delete mode 100644 StarVMC/geant3/gheisha/add.F delete mode 100644 StarVMC/geant3/gheisha/add3.F delete mode 100644 StarVMC/geant3/gheisha/ang.F delete mode 100644 StarVMC/geant3/gheisha/atomas.F delete mode 100644 StarVMC/geant3/gheisha/captur.F delete mode 100644 StarVMC/geant3/gheisha/casal0.F delete mode 100644 StarVMC/geant3/gheisha/casaom.F delete mode 100644 StarVMC/geant3/gheisha/casasm.F delete mode 100644 StarVMC/geant3/gheisha/casasp.F delete mode 100644 StarVMC/geant3/gheisha/casax0.F delete mode 100644 StarVMC/geant3/gheisha/casaxm.F delete mode 100644 StarVMC/geant3/gheisha/casfrg.F delete mode 100644 StarVMC/geant3/gheisha/cask0.F delete mode 100644 StarVMC/geant3/gheisha/cask0b.F delete mode 100644 StarVMC/geant3/gheisha/caskm.F delete mode 100644 StarVMC/geant3/gheisha/caskp.F delete mode 100644 StarVMC/geant3/gheisha/casl0.F delete mode 100644 StarVMC/geant3/gheisha/casn.F delete mode 100644 StarVMC/geant3/gheisha/casnb.F delete mode 100644 StarVMC/geant3/gheisha/casom.F delete mode 100644 StarVMC/geant3/gheisha/casp.F delete mode 100644 StarVMC/geant3/gheisha/caspb.F delete mode 100644 StarVMC/geant3/gheisha/caspim.F delete mode 100644 StarVMC/geant3/gheisha/caspip.F delete mode 100644 StarVMC/geant3/gheisha/cassm.F delete mode 100644 StarVMC/geant3/gheisha/cassp.F delete mode 100644 StarVMC/geant3/gheisha/casx0.F delete mode 100644 StarVMC/geant3/gheisha/casxm.F delete mode 100644 StarVMC/geant3/gheisha/cinema.F delete mode 100644 StarVMC/geant3/gheisha/coranh.F delete mode 100644 StarVMC/geant3/gheisha/coscat.F delete mode 100644 StarVMC/geant3/gheisha/cross3.F delete mode 100644 StarVMC/geant3/gheisha/defs.F delete mode 100644 StarVMC/geant3/gheisha/defs1.F delete mode 100644 StarVMC/geant3/gheisha/dlpnuc.F delete mode 100644 StarVMC/geant3/gheisha/dlpsor.F delete mode 100644 StarVMC/geant3/gheisha/dotes2.F delete mode 100644 StarVMC/geant3/gheisha/dotnuc.F delete mode 100644 StarVMC/geant3/gheisha/dpdnuc.F delete mode 100644 StarVMC/geant3/gheisha/exnu.F delete mode 100644 StarVMC/geant3/gheisha/fctcos.F delete mode 100644 StarVMC/geant3/gheisha/fermi.F delete mode 100644 StarVMC/geant3/gheisha/fissio.F delete mode 100644 StarVMC/geant3/gheisha/gdpdk.F delete mode 100644 StarVMC/geant3/gheisha/genxpt.F delete mode 100644 StarVMC/geant3/gheisha/gpdk.F delete mode 100644 StarVMC/geant3/gheisha/kmabs.F delete mode 100644 StarVMC/geant3/gheisha/length.F delete mode 100644 StarVMC/geant3/gheisha/lor.F delete mode 100644 StarVMC/geant3/gheisha/nbanh.F delete mode 100644 StarVMC/geant3/gheisha/nfac.F delete mode 100644 StarVMC/geant3/gheisha/normal.F delete mode 100644 StarVMC/geant3/gheisha/nucrec.F delete mode 100644 StarVMC/geant3/gheisha/pbanh.F delete mode 100644 StarVMC/geant3/gheisha/phasp.F delete mode 100644 StarVMC/geant3/gheisha/phpnuc.F delete mode 100644 StarVMC/geant3/gheisha/pimabs.F delete mode 100644 StarVMC/geant3/gheisha/pmltpc.F delete mode 100644 StarVMC/geant3/gheisha/poisso.F delete mode 100644 StarVMC/geant3/gheisha/ranres.F delete mode 100644 StarVMC/geant3/gheisha/rotes2.F delete mode 100644 StarVMC/geant3/gheisha/rtmi.F delete mode 100644 StarVMC/geant3/gheisha/selfab.F delete mode 100644 StarVMC/geant3/gheisha/setcur.F delete mode 100644 StarVMC/geant3/gheisha/settrk.F delete mode 100644 StarVMC/geant3/gheisha/steep.F delete mode 100644 StarVMC/geant3/gheisha/steeq.F delete mode 100644 StarVMC/geant3/gheisha/steer.F delete mode 100644 StarVMC/geant3/gheisha/stees.F delete mode 100644 StarVMC/geant3/gheisha/stpair.F delete mode 100644 StarVMC/geant3/gheisha/sub.F delete mode 100644 StarVMC/geant3/gheisha/sub3.F delete mode 100644 StarVMC/geant3/gheisha/tdelay.F delete mode 100644 StarVMC/geant3/gheisha/trac.F delete mode 100644 StarVMC/geant3/gheisha/twob.F delete mode 100644 StarVMC/geant3/gheisha/twoclu.F delete mode 100644 StarVMC/geant3/ghits/gcderr.F delete mode 100644 StarVMC/geant3/ghits/gcdrif.F delete mode 100644 StarVMC/geant3/ghits/gcmwpc.F delete mode 100644 StarVMC/geant3/ghits/gcubs.F delete mode 100644 StarVMC/geant3/ghits/gfdet.F delete mode 100644 StarVMC/geant3/ghits/gfdeta.F delete mode 100644 StarVMC/geant3/ghits/gfdetd.F delete mode 100644 StarVMC/geant3/ghits/gfdeth.F delete mode 100644 StarVMC/geant3/ghits/gfdetu.F delete mode 100644 StarVMC/geant3/ghits/gfdigi.F delete mode 100644 StarVMC/geant3/ghits/gfhits.F delete mode 100644 StarVMC/geant3/ghits/gfndig.F delete mode 100644 StarVMC/geant3/ghits/gfnhit.F delete mode 100644 StarVMC/geant3/ghits/gfpath.F delete mode 100644 StarVMC/geant3/ghits/ggdetv.F delete mode 100644 StarVMC/geant3/ghits/ghits.doc delete mode 100644 StarVMC/geant3/ghits/gicyl.F delete mode 100644 StarVMC/geant3/ghits/giplan.F delete mode 100644 StarVMC/geant3/ghits/gpdigi.F delete mode 100644 StarVMC/geant3/ghits/gpdrif.F delete mode 100644 StarVMC/geant3/ghits/gphits.F delete mode 100644 StarVMC/geant3/ghits/gpmwpc.F delete mode 100644 StarVMC/geant3/ghits/gpsets.F delete mode 100644 StarVMC/geant3/ghits/grhits.F delete mode 100644 StarVMC/geant3/ghits/gsahit.F delete mode 100644 StarVMC/geant3/ghits/gschit.F delete mode 100644 StarVMC/geant3/ghits/gsdet.F delete mode 100644 StarVMC/geant3/ghits/gsdeta.F delete mode 100644 StarVMC/geant3/ghits/gsdetd.F delete mode 100644 StarVMC/geant3/ghits/gsdeth.F delete mode 100644 StarVMC/geant3/ghits/gsdetu.F delete mode 100644 StarVMC/geant3/ghits/gsdetv.F delete mode 100644 StarVMC/geant3/ghits/gsdigi.F delete mode 100644 StarVMC/geant3/ghrout/cohert.F delete mode 100644 StarVMC/geant3/ghrout/ghepec.F delete mode 100644 StarVMC/geant3/ghrout/ghetun.F delete mode 100644 StarVMC/geant3/ghrout/higclu.F delete mode 100644 StarVMC/geant3/ghrout/higclu.F.ori delete mode 100644 StarVMC/geant3/ghrout/highab.F delete mode 100644 StarVMC/geant3/ghrout/higsel.F delete mode 100644 StarVMC/geant3/ghrout/higxpt.F delete mode 100644 StarVMC/geant3/ghrout/sverl2.F delete mode 100644 StarVMC/geant3/ghrout/svgam7.F delete mode 100644 StarVMC/geant3/ghutils/minv.F delete mode 100644 StarVMC/geant3/ghutils/pcsdat.F delete mode 100644 StarVMC/geant3/giface/compo.F delete mode 100644 StarVMC/geant3/giface/gheini.F delete mode 100644 StarVMC/geant3/giface/gheish.F delete mode 100644 StarVMC/geant3/giface/ghesig.F delete mode 100644 StarVMC/geant3/giface/ghstop.F delete mode 100644 StarVMC/geant3/giface/gmunu.F delete mode 100644 StarVMC/geant3/giface/gmunui.F delete mode 100644 StarVMC/geant3/giface/gmusig.F delete mode 100644 StarVMC/geant3/giface/gnslwd.F delete mode 100644 StarVMC/geant3/giface/gpfis.F delete mode 100644 StarVMC/geant3/giface/gpfisi.F delete mode 100644 StarVMC/geant3/giface/gpghei.F delete mode 100644 StarVMC/geant3/giface/gphmfi.F delete mode 100644 StarVMC/geant3/giface/limdat.F delete mode 100644 StarVMC/geant3/giopa/gclose.F delete mode 100644 StarVMC/geant3/giopa/gfin.F delete mode 100644 StarVMC/geant3/giopa/gfout.F delete mode 100644 StarVMC/geant3/giopa/gget.F delete mode 100644 StarVMC/geant3/giopa/giopa.doc delete mode 100644 StarVMC/geant3/giopa/gopen.F delete mode 100644 StarVMC/geant3/giopa/grend.F delete mode 100644 StarVMC/geant3/giopa/grfile.F delete mode 100644 StarVMC/geant3/giopa/grget.F delete mode 100644 StarVMC/geant3/giopa/grin.F delete mode 100644 StarVMC/geant3/giopa/grleas.F delete mode 100644 StarVMC/geant3/giopa/grmdir.F delete mode 100644 StarVMC/geant3/giopa/grout.F delete mode 100644 StarVMC/geant3/giopa/grout.F.ori delete mode 100644 StarVMC/geant3/giopa/grsave.F delete mode 100644 StarVMC/geant3/giopa/gsave.F delete mode 100644 StarVMC/geant3/gkine/gfkine.F delete mode 100644 StarVMC/geant3/gkine/gfvert.F delete mode 100644 StarVMC/geant3/gkine/gkine.doc delete mode 100644 StarVMC/geant3/gkine/gludky.F delete mode 100644 StarVMC/geant3/gkine/glund.F delete mode 100644 StarVMC/geant3/gkine/glundi.F delete mode 100644 StarVMC/geant3/gkine/gpkine.F delete mode 100644 StarVMC/geant3/gkine/gpkinx.F delete mode 100644 StarVMC/geant3/gkine/gpvert.F delete mode 100644 StarVMC/geant3/gkine/gskine.F delete mode 100644 StarVMC/geant3/gkine/gskinu.F delete mode 100644 StarVMC/geant3/gkine/gsvert.F delete mode 100644 StarVMC/geant3/gkine/gsveru.F delete mode 100644 StarVMC/geant3/gkine/gtau.F delete mode 100644 StarVMC/geant3/gparal/checkstr.F delete mode 100644 StarVMC/geant3/gparal/gpabort.F delete mode 100644 StarVMC/geant3/gparal/gpdefrng.F delete mode 100644 StarVMC/geant3/gparal/gpdynamic.F delete mode 100644 StarVMC/geant3/gparal/gpinit.F delete mode 100644 StarVMC/geant3/gparal/gplast.F delete mode 100644 StarVMC/geant3/gparal/gpmsgerr.F delete mode 100644 StarVMC/geant3/gparal/gpreadrng.F delete mode 100644 StarVMC/geant3/gparal/gprocs.F delete mode 100644 StarVMC/geant3/gparal/gprun.F delete mode 100644 StarVMC/geant3/gparal/gpsumhr.F delete mode 100644 StarVMC/geant3/gparal/gpsumhr.F.ori delete mode 100644 StarVMC/geant3/gparal/gptrig.F delete mode 100644 StarVMC/geant3/gparal/gptrigi.F delete mode 100644 StarVMC/geant3/gparal/gpwriterng.F delete mode 100644 StarVMC/geant3/gparal/pbarrier.F delete mode 100644 StarVMC/geant3/gphys/ganni.F delete mode 100644 StarVMC/geant3/gphys/ganni2.F delete mode 100644 StarVMC/geant3/gphys/gannii.F delete mode 100644 StarVMC/geant3/gphys/gannir.F delete mode 100644 StarVMC/geant3/gphys/gavrl2.F delete mode 100644 StarVMC/geant3/gphys/gavrl3.F delete mode 100644 StarVMC/geant3/gphys/gbflos.F delete mode 100644 StarVMC/geant3/gphys/gbfsig.F delete mode 100644 StarVMC/geant3/gphys/gbirk.F delete mode 100644 StarVMC/geant3/gphys/gbrela.F delete mode 100644 StarVMC/geant3/gphys/gbrele.F delete mode 100644 StarVMC/geant3/gphys/gbrelm.F delete mode 100644 StarVMC/geant3/gphys/gbreme.F delete mode 100644 StarVMC/geant3/gphys/gbremm.F delete mode 100644 StarVMC/geant3/gphys/gbrsga.F delete mode 100644 StarVMC/geant3/gphys/gbrsge.F delete mode 100644 StarVMC/geant3/gphys/gbrsgm.F delete mode 100644 StarVMC/geant3/gphys/gbteth.F delete mode 100644 StarVMC/geant3/gphys/gcbrem.F delete mode 100644 StarVMC/geant3/gphys/gcoeff.F delete mode 100644 StarVMC/geant3/gphys/gcomp.F delete mode 100644 StarVMC/geant3/gphys/gcompi.F delete mode 100644 StarVMC/geant3/gphys/gdeca2.F delete mode 100644 StarVMC/geant3/gphys/gdeca3.F delete mode 100644 StarVMC/geant3/gphys/gdecay.F delete mode 100644 StarVMC/geant3/gphys/gdray.F delete mode 100644 StarVMC/geant3/gphys/gdrela.F delete mode 100644 StarVMC/geant3/gphys/gdrele.F delete mode 100644 StarVMC/geant3/gphys/gdreli.F delete mode 100644 StarVMC/geant3/gphys/gdrelm.F delete mode 100644 StarVMC/geant3/gphys/gdrelp.F delete mode 100644 StarVMC/geant3/gphys/gdrelx.F delete mode 100644 StarVMC/geant3/gphys/gdrot.F delete mode 100644 StarVMC/geant3/gphys/gdrprt.F delete mode 100644 StarVMC/geant3/gphys/gdrsga.F delete mode 100644 StarVMC/geant3/gphys/gefch2.F delete mode 100644 StarVMC/geant3/gphys/gfang.F delete mode 100644 StarVMC/geant3/gphys/gfluct.F delete mode 100644 StarVMC/geant3/gphys/gfnrdt.F delete mode 100644 StarVMC/geant3/gphys/gfrdt.F delete mode 100644 StarVMC/geant3/gphys/gfsdpr.F delete mode 100644 StarVMC/geant3/gphys/gfshdc.F delete mode 100644 StarVMC/geant3/gphys/gfshls.F delete mode 100644 StarVMC/geant3/gphys/ghsig.F delete mode 100644 StarVMC/geant3/gphys/ghsigm.F delete mode 100644 StarVMC/geant3/gphys/glande.F delete mode 100644 StarVMC/geant3/gphys/glandg.F delete mode 100644 StarVMC/geant3/gphys/glando.F delete mode 100644 StarVMC/geant3/gphys/glandr.F delete mode 100644 StarVMC/geant3/gphys/glands.F delete mode 100644 StarVMC/geant3/gphys/glandz.F delete mode 100644 StarVMC/geant3/gphys/glisur.F delete mode 100644 StarVMC/geant3/gphys/gloren.F delete mode 100644 StarVMC/geant3/gphys/gmcoul.F delete mode 100644 StarVMC/geant3/gphys/gmgaus.F delete mode 100644 StarVMC/geant3/gphys/gmol4.F delete mode 100644 StarVMC/geant3/gphys/gmoli.F delete mode 100644 StarVMC/geant3/gphys/gmoli1.F delete mode 100644 StarVMC/geant3/gphys/gmoli2.F delete mode 100644 StarVMC/geant3/gphys/gmolie.F delete mode 100644 StarVMC/geant3/gphys/gmolio.F delete mode 100644 StarVMC/geant3/gphys/gmols.F delete mode 100644 StarVMC/geant3/gphys/gmulof.F delete mode 100644 StarVMC/geant3/gphys/gmults.F delete mode 100644 StarVMC/geant3/gphys/gpairg.F delete mode 100644 StarVMC/geant3/gphys/gpairm.F delete mode 100644 StarVMC/geant3/gphys/gphak.F delete mode 100644 StarVMC/geant3/gphys/gphal2.F delete mode 100644 StarVMC/geant3/gphys/gphal3.F delete mode 100644 StarVMC/geant3/gphys/gphini.F delete mode 100644 StarVMC/geant3/gphys/gphot.F delete mode 100644 StarVMC/geant3/gphys/gphoti.F delete mode 100644 StarVMC/geant3/gphys/gphrin.F delete mode 100644 StarVMC/geant3/gphys/gphsg1.F delete mode 100644 StarVMC/geant3/gphys/gphsg2.F delete mode 100644 StarVMC/geant3/gphys/gphsgp.F delete mode 100644 StarVMC/geant3/gphys/gphsig.F delete mode 100644 StarVMC/geant3/gphys/gphxin.F delete mode 100644 StarVMC/geant3/gphys/gphxsi.F delete mode 100644 StarVMC/geant3/gphys/gphys.doc delete mode 100644 StarVMC/geant3/gphys/gphysi.F delete mode 100644 StarVMC/geant3/gphys/gpoiss.F delete mode 100644 StarVMC/geant3/gphys/gprela.F delete mode 100644 StarVMC/geant3/gphys/gprelm.F delete mode 100644 StarVMC/geant3/gphys/gprobi.F delete mode 100644 StarVMC/geant3/gphys/gprsga.F delete mode 100644 StarVMC/geant3/gphys/gprsgg.F delete mode 100644 StarVMC/geant3/gphys/gprsgm.F delete mode 100644 StarVMC/geant3/gphys/grangi.F delete mode 100644 StarVMC/geant3/gphys/grangi1.F delete mode 100644 StarVMC/geant3/gphys/grayl.F delete mode 100644 StarVMC/geant3/gphys/grayli.F delete mode 100644 StarVMC/geant3/gphys/gshlin.F delete mode 100644 StarVMC/geant3/gphys/gsync.F delete mode 100644 StarVMC/geant3/gphys/gsynge.F delete mode 100644 StarVMC/geant3/gphys/gsynit.F delete mode 100644 StarVMC/geant3/gphys/gvaviv.F delete mode 100644 StarVMC/geant3/gphys/gvrot.F delete mode 100644 StarVMC/geant3/gscan/gscani.F delete mode 100644 StarVMC/geant3/gscan/gscank.F delete mode 100644 StarVMC/geant3/gscan/gscano.F delete mode 100644 StarVMC/geant3/gscan/gscanu.F delete mode 100644 StarVMC/geant3/gscan/gsscan.F delete mode 100644 StarVMC/geant3/gstrag/gasho.F delete mode 100644 StarVMC/geant3/gstrag/gdifmg.F delete mode 100644 StarVMC/geant3/gstrag/giasho.F delete mode 100644 StarVMC/geant3/gstrag/gkokri.F delete mode 100644 StarVMC/geant3/gstrag/goscin.F delete mode 100644 StarVMC/geant3/gstrag/goscmg.F delete mode 100644 StarVMC/geant3/gstrag/gpscin.F delete mode 100644 StarVMC/geant3/gstrag/gstcor.F delete mode 100644 StarVMC/geant3/gstrag/gstdn.F delete mode 100644 StarVMC/geant3/gstrag/gstini.F delete mode 100644 StarVMC/geant3/gstrag/gstint.F delete mode 100644 StarVMC/geant3/gstrag/gstren.F delete mode 100644 StarVMC/geant3/gstrag/gsttab.F delete mode 100644 StarVMC/geant3/gstrag/gstxin.F delete mode 100644 StarVMC/geant3/gstrag/gxgint.F delete mode 100644 StarVMC/geant3/gtrak/garndm.F delete mode 100644 StarVMC/geant3/gtrak/gdebug.F delete mode 100644 StarVMC/geant3/gtrak/gekbin.F delete mode 100644 StarVMC/geant3/gtrak/gfinds.F delete mode 100644 StarVMC/geant3/gtrak/ggckov.F delete mode 100644 StarVMC/geant3/gtrak/ghelix.F delete mode 100644 StarVMC/geant3/gtrak/ghelx3.F delete mode 100644 StarVMC/geant3/gtrak/ginvol.F delete mode 100644 StarVMC/geant3/gtrak/gltrac.F delete mode 100644 StarVMC/geant3/gtrak/gnckov.F delete mode 100644 StarVMC/geant3/gtrak/gpcxyz.F delete mode 100644 StarVMC/geant3/gtrak/gpgkin.F delete mode 100644 StarVMC/geant3/gtrak/gpjxyz.F delete mode 100644 StarVMC/geant3/gtrak/granor.F delete mode 100644 StarVMC/geant3/gtrak/grkuta.F delete mode 100644 StarVMC/geant3/gtrak/gsking.F delete mode 100644 StarVMC/geant3/gtrak/gskpho.F delete mode 100644 StarVMC/geant3/gtrak/gsstak.F delete mode 100644 StarVMC/geant3/gtrak/gstord.F delete mode 100644 StarVMC/geant3/gtrak/gstrac.F delete mode 100644 StarVMC/geant3/gtrak/gsxyz.F delete mode 100644 StarVMC/geant3/gtrak/gtckov.F delete mode 100644 StarVMC/geant3/gtrak/gtelec.F delete mode 100644 StarVMC/geant3/gtrak/gtgama.F delete mode 100644 StarVMC/geant3/gtrak/gthadr.F delete mode 100644 StarVMC/geant3/gtrak/gthion.F delete mode 100644 StarVMC/geant3/gtrak/gtmany.F delete mode 100644 StarVMC/geant3/gtrak/gtmedi.F delete mode 100644 StarVMC/geant3/gtrak/gtmuon.F delete mode 100644 StarVMC/geant3/gtrak/gtneut.F delete mode 100644 StarVMC/geant3/gtrak/gtnext.F delete mode 100644 StarVMC/geant3/gtrak/gtnino.F delete mode 100644 StarVMC/geant3/gtrak/gtrack.F delete mode 100644 StarVMC/geant3/gtrak/gtrak.doc delete mode 100644 StarVMC/geant3/gtrak/gtreve.F delete mode 100644 StarVMC/geant3/gtrak/gtreveroot.F delete mode 100644 StarVMC/geant3/matx55/dcross.F delete mode 100644 StarVMC/geant3/matx55/ddot.F delete mode 100644 StarVMC/geant3/matx55/dmm55.F delete mode 100644 StarVMC/geant3/matx55/dnorm.F delete mode 100644 StarVMC/geant3/matx55/dsmt5t.F delete mode 100644 StarVMC/geant3/matx55/rmm55.F delete mode 100644 StarVMC/geant3/matx55/rsmt5t.F delete mode 100644 StarVMC/geant3/matx55/ssmt5t.F delete mode 100644 StarVMC/geant3/matx55/xmm55.F delete mode 100644 StarVMC/geant3/miface/gfmdis.F delete mode 100644 StarVMC/geant3/miface/gfmfin.F delete mode 100644 StarVMC/geant3/miface/gmicap.F delete mode 100644 StarVMC/geant3/miface/gmiset.F delete mode 100644 StarVMC/geant3/miface/gmorin.F delete mode 100644 StarVMC/geant3/miface/gmplxs.F delete mode 100644 StarVMC/geant3/miface/gmxsec.F delete mode 100644 StarVMC/geant3/miguti/azirn.F delete mode 100644 StarVMC/geant3/miguti/exprnf.F delete mode 100644 StarVMC/geant3/miguti/gtiso.F delete mode 100644 StarVMC/geant3/miguti/randc.F delete mode 100644 StarVMC/geant3/miguti/sflraf.F delete mode 100644 StarVMC/geant3/miguti/sigmor.F delete mode 100644 StarVMC/geant3/neutron/angcdf.F delete mode 100644 StarVMC/geant3/neutron/bankr.F delete mode 100644 StarVMC/geant3/neutron/barier.F delete mode 100644 StarVMC/geant3/neutron/cadig.F delete mode 100644 StarVMC/geant3/neutron/cangle.F delete mode 100644 StarVMC/geant3/neutron/cevap.F delete mode 100644 StarVMC/geant3/neutron/cevap1.F delete mode 100644 StarVMC/geant3/neutron/chkzeb.F delete mode 100644 StarVMC/geant3/neutron/clear.F delete mode 100644 StarVMC/geant3/neutron/cmlabe.F delete mode 100644 StarVMC/geant3/neutron/cmlabi.F delete mode 100644 StarVMC/geant3/neutron/colisn.F delete mode 100644 StarVMC/geant3/neutron/cterp.F delete mode 100644 StarVMC/geant3/neutron/evaplr.F delete mode 100644 StarVMC/geant3/neutron/fisrnf.F delete mode 100644 StarVMC/geant3/neutron/fltrnf.F delete mode 100644 StarVMC/geant3/neutron/getene.F delete mode 100644 StarVMC/geant3/neutron/getnu.F delete mode 100644 StarVMC/geant3/neutron/getpar.F delete mode 100644 StarVMC/geant3/neutron/grndst.F delete mode 100644 StarVMC/geant3/neutron/gtmed.F delete mode 100644 StarVMC/geant3/neutron/interp.F delete mode 100644 StarVMC/geant3/neutron/intsch.F delete mode 100644 StarVMC/geant3/neutron/isotpe.F delete mode 100644 StarVMC/geant3/neutron/labnf.F delete mode 100644 StarVMC/geant3/neutron/lr2bod.F delete mode 100644 StarVMC/geant3/neutron/lrnorm.F delete mode 100644 StarVMC/geant3/neutron/matiso.F delete mode 100644 StarVMC/geant3/neutron/micset.F delete mode 100644 StarVMC/geant3/neutron/moxsec.F delete mode 100644 StarVMC/geant3/neutron/n2nn3n.F delete mode 100644 StarVMC/geant3/neutron/nghevy.F delete mode 100644 StarVMC/geant3/neutron/nn2bod.F delete mode 100644 StarVMC/geant3/neutron/nsigta.F delete mode 100644 StarVMC/geant3/neutron/partxs.F delete mode 100644 StarVMC/geant3/neutron/photon.F delete mode 100644 StarVMC/geant3/neutron/rnmaxf.F delete mode 100644 StarVMC/geant3/neutron/secegy.F delete mode 100644 StarVMC/geant3/neutron/secl11.F delete mode 100644 StarVMC/geant3/neutron/seclf1.F delete mode 100644 StarVMC/geant3/neutron/seclf5.F delete mode 100644 StarVMC/geant3/neutron/seclf7.F delete mode 100644 StarVMC/geant3/neutron/seclf9.F delete mode 100644 StarVMC/geant3/neutron/stopar.F delete mode 100644 StarVMC/geant3/neutron/tbsplt.F delete mode 100644 StarVMC/geant3/neutron/thrmsc.F delete mode 100644 StarVMC/geant3/neutron/thrsel.F delete mode 100644 StarVMC/geant3/neutron/trebod.F delete mode 100644 StarVMC/geant3/neutron/twobod.F delete mode 100644 StarVMC/geant3/neutron/xsecn1.F delete mode 100644 StarVMC/geant3/neutron/xsecn2.F delete mode 100644 StarVMC/geant3/neutron/xsecn3.F delete mode 100644 StarVMC/geant3/neutron/xsecn5.F delete mode 100644 StarVMC/geant3/neutron/xsecnu.F delete mode 100644 StarVMC/geant3/peanut/bimsel.F delete mode 100644 StarVMC/geant3/peanut/cosleg.F delete mode 100644 StarVMC/geant3/peanut/fekfnc.F delete mode 100644 StarVMC/geant3/peanut/fpfrnc.F delete mode 100644 StarVMC/geant3/peanut/fradnc.F delete mode 100644 StarVMC/geant3/peanut/frhinc.F delete mode 100644 StarVMC/geant3/peanut/frhonc.F delete mode 100644 StarVMC/geant3/peanut/nclvin.F delete mode 100644 StarVMC/geant3/peanut/nclvst.F delete mode 100644 StarVMC/geant3/peanut/nucnuc.F delete mode 100644 StarVMC/geant3/peanut/nwisel.F delete mode 100644 StarVMC/geant3/peanut/peanut.F delete mode 100644 StarVMC/geant3/peanut/pfnclv.F delete mode 100644 StarVMC/geant3/peanut/phdset.F delete mode 100644 StarVMC/geant3/peanut/phdwll.F delete mode 100644 StarVMC/geant3/peanut/pioabs.F delete mode 100644 StarVMC/geant3/peanut/prepre.F delete mode 100644 StarVMC/geant3/peanut/rstsel.F delete mode 100644 StarVMC/geant3/peanut/sbcomp.F delete mode 100644 StarVMC/geant3/peanut/sigfer.F delete mode 100644 StarVMC/geant3/peanut/umofin.F delete mode 100644 StarVMC/geant3/peanut/xinneu.F delete mode 100644 StarVMC/geant3/peanut/xinpro.F diff --git a/StarVMC/geant3/PACKAGE b/StarVMC/geant3/PACKAGE deleted file mode 100644 index 4ead4bb9a99..00000000000 --- a/StarVMC/geant3/PACKAGE +++ /dev/null @@ -1,5 +0,0 @@ -# $Id $ -# package geant3 -# author: -Library:libgeant3.so:LIBS += -lminicern -lVMC -lEG -lPhysics -#Library:libgeant3.so:LIBS += -lapythia -lminicern -lEG -lPhysics -lVMC -lPythia6 diff --git a/StarVMC/geant3/README b/StarVMC/geant3/README deleted file mode 100644 index cbe81a7da58..00000000000 --- a/StarVMC/geant3/README +++ /dev/null @@ -1,34 +0,0 @@ -The tar file includes: - -the new version of Geant3.21 that includes several bug fixes - compared to the standard version in CERNLIB. - In this version all Geant3 gxxxxx routines have been renamed g3xxxxx. - run make in this directory. The Makefile will compile all Geant - routines and a shared lib lib/tgt_Linux/libgeant321.so will be created. - - -The directory TGeant3 contains the class TGeant3 as well as a few - examples like gexam1, gexam3, gexam4 and model, plus the macros - E01.C, E02.C - By default, TGeant3 is compiled with the option "WITHG3". - Specify -DWITHROOT in the compile options to select the ROOT geometry. - When the option WITHROOT is selected, TGeant3 will be generated - with calls to the Root geometry package only. - When the option WITHG3 is selected (default), TGeant3 will be generated - to use the Geant3 geometry package only. - Option WITHBOTH selects the two packages (only interesting to compare - the response from G3 compared to ROOT). - -To build the examples gexam1,3 and 4 run the scripts bind_gexam1,3,4 -bind_gexam1 -gexam1 -read 4 -stop -root > gMC->ProcessRun(10) -root > .q - -same for gexam3,4, model. - -to run the E01.C, E02.C and E03.C examples (common to Geant3 and 4), do -root > .x E01.C - -This script requires the geant4_vmc file in a separate tar file. - diff --git a/StarVMC/geant3/README_gcalor b/StarVMC/geant3/README_gcalor deleted file mode 100644 index a3a5ba8e5dd..00000000000 --- a/StarVMC/geant3/README_gcalor +++ /dev/null @@ -1,65 +0,0 @@ -The GCALOR package contains the original CALOR simulation code -(including the low energy neutron code MICAP ) developed and maintained by -the Oak Ridge National Laboratory ( ORNL ) and an interface to utilize this -code in the framework of GEANT . - -GCALOR consists of - -HETC -The High-Energy-Transport-Code is transporting charged hadrons up to an -energy of 10 GeV through the materials of the setup -FLUKA -The FLUKA fragmentation model is utilized for interactions above the HETC limit -MICAP -The neutron code from the Monte-carlo-Ionization-Chamber-Analysis-Program is -called for neutrons with a kinetic energy below 20 MeV. The simulation of -interactions is based on measured/calculated cross sections and secondary -particle energy/angular distributions - -Interface ---------- -The interface between CALOR and GEANT determines which code to call for the -current particle. The material description is automatically extracted from -GEANT The transport of electromagnetic interacting particles is performed by -GEANT as well as the tracking and the calculation of the energy deposition. - -Installation with VMC: ------------- - 1. download the CALOR code (see below) and copy it to geant3/gcalor directory - 2. Rename the file gcalor_unix.f to gcalor.F - 3. Apply the patch gcalor_vmc.diff to the original gcalor code - (patch -p1 gcalor.F gcalor_vmc.diff) - 4. In the geant3/Makefile add the gcalor directory to the GDIRS - 5. In the directory geant3 call make. - -Usage with vmc --------------- - 1. one has to call TGeant3::SetHADR(5) in the initalization of Geant3. - 2. $G3SYS variable has to defined - 3. One has to apply the patch in gcalor_vmc.diff - -For the initialisation, GCALOR needs the following additional cross-section -data (expected files: chetc.dat and xsneut.dat in the $G3SYS/lib directory) -for all needed materials, GCALOR Calculate the macroscopic cross-section for -low energy neutrons and write relevant informations for the user to file -calor.out - - - -The GCALOR package has been tested on different computer platforms: - -Unix systems -DecAlpha, Silicon Graphics, Hewlett Packard, IBM-R6000, SUN Sparc and Linux on PC -DecVMS -DecALpha and VAX -MVS -IBM Mainframe 3090 - -The GCALOR does not work for the moment on 64 bit arcitecture. For the 64 bit, -it is needed to compile with the option "-m32". - - -For download and more detailed information: -http://www.staff.uni-mainz.de/zeitnitz/Gcalor/gcalor.html - - diff --git a/StarVMC/geant3/README_geane b/StarVMC/geant3/README_geane deleted file mode 100644 index 03bdbbfa39b..00000000000 --- a/StarVMC/geant3/README_geane +++ /dev/null @@ -1,266 +0,0 @@ -The Geane package allows the user to calculate the -average trajectories of particles and to calculate the -transport matrix as well as the propagated error covariance -matrix. Geane is a set of routines worked out -by the European Muon Collaboration [1] and it is integrated -to the GEANT3 system [2]. -See geant3/doc/gedoc for more details. - - The user should invoke the routine Ertrak and Eufill or Eufilp or -Eufilv, to carry out the tracking. -In addition to this a series of utilities are available for the user -(e.g. to transform the track representation from one -system to another or to carry out 5 X 5 matrix multiplication -in an optimal way). - - -Track variables, Representations --------------------------------- - The particle trajectory is characterized by 5 independent -variables as a function of one parameter (e.g. the pathlength). -Among the 5 variables 1 is related to the curvature (to the absolute -value of the momentum, p), 2 are related to the direction of the -particle and the other 2 are related to the spatial location. -The most usual representation of these 5 parameters are: - - I. 1/p, lambda, phi, y_perp, z_perp - - -where lambda and phi are the dip and azimuthal angles related -to the momentum components in the following way: - - p_x = p cos(lambda) cos(phi) - p_y = p cos(lambda) sin(phi) - p_z = p sin(lambda) - - -y_perp and z_perp are the coordinates of the trajectory in a -local orthonormal reference frame with the x_perp axis along the -particle direction, the y_perp being parallel to the x-y plane. -This representation is usually applied in the overall reference -frame. (In the EMC code this reference frame is labelled by 'SC' -since the overall system was identified with that of the Streamer -Chamber.) - - II. 1/p, y', z', y, z - - -where y'=dy/dx and z'=dz/dx. This representation is particularly -useful in fixed target experiments, where the trajectory is evaluated -on successive parallel planes (which are perpendicular to the x-axis). -(In the EMC code this representation is labelled by 'SP' since a -convenient mathematical description of a trajectory being approxima- -tely parallel to the x-axis is a 'spline'.) - - III. 1/p, v', w', v, w - - -where v'=dv/du and w'=dw/du in an orthonormal coordinate system with -axis u, v and w. This representation is paricularly useful when the -trajectory has to be evaluated on different detector planes -in a colliding beam experiment, where the planes can take a great -variety of directions.(In the EMC code this representation is -labelled by 'SD' as System of Detection.) - - Of course, all the above representations of the trajectory -are equivalent and one can go from one representation to the -other by calculating the corresponding Jacobian. These Jacobians -are provided by the following EMC routines: - - S/R Trscsp from I to II - S/R Trspsc from II to I - S/R Trscsd from I to III - S/R Trsdsc from III to I - - -User Interface ---------------------------------------------------- - Ertrak(const Float_t *x1, const Float_t *p1, - const Float_t *x2, const Float_t *p2, - Int_t ipa, Option_t *chopt) ---------------------------------------------------- - Performs the tracking of the track from point x1 to point x2 - (Before calling this routine the user should call Eufil(l/p/v) - - x1 - Starting coordinates (Cartesian) - p1 - Starting 3-momentum (Cartesian) - x2 - Final coordinates (Cartesian) - p2 - Final 3-momentum (Cartesian) - ipa - Particle code (a la GEANT) of the track - - chopt - 'B' 'Backward tracking' - i.e. energy loss - added to the current energy - 'E' 'Exact' calculation of errors assuming - helix (i.e. pathlength not - assumed as infinitesimal) - 'L' Tracking upto prescribed Lengths reached - 'M' 'Mixed' prediction (not yet coded) - 'O' Tracking 'Only' without calculating errors - 'P' Tracking upto prescribed Planes reached - 'V' Tracking upto prescribed Volumes reached - 'X' Tracking upto prescribed Point approached - - - ------------------------------------------- -Eufill(Int_t n,Float_t *ein,Float_t *xlf); ------------------------------------------- - - User routine to set the input values for chopt = 'L' - - n Number of predictions where to store results - ein Input error matrix - xlf Defines the tracklengths which if passed the - result should be stored - - ----------------------------------------------------------------- -Eufilp(const Int_t n, Float_t *ein, Float_t *pli, Float_t *plf); ----------------------------------------------------------------- - User routine to set the input values for chopt = 'P' - - n Number of predictions where to store results - ein Input error matrix (in the 'Plane' system ) - pli Defines the start plane - PLI(3,1) - and - PLI(3,2) - 2 unit vectors in the plane - plf Defines the end plane - PLF(3,1,I) - and - PLF(3,2,I) - 2 unit vectors in the plane - PLF(3,3,I) - point on the plane - at intermediate point I ---------------------------------------------------------------------- -Eufilv(Int_t n, Float_t *ein, Char_t *namv, Int_t *numv,Int_t *iovl); ---------------------------------------------------------------------- - User routine to set the input values for chopt = 'V' - - n Number of predictions where to store results - ein Input error matrix - cnamv Volume name of the prediction - numv Volume number (if 0 = all volumes) - iovl = 1 prediction when entering in the volume - = 2 prediction when leaving the volume - - - --------------------------------------------------------------------------- -void Trscsd(Float_t *pc,Float_t *rc,Float_t *pd,Float_t *rd,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spu,Float_t *dj,Float_t *dk); --------------------------------------------------------------------------- -transforms error matrix from sc variables (1/p,lambda,phi,yt,zt) - to variables (1/p,v',w',v,w) - pc[3] 1/p,lambda,phi input - pd[3] 1/p,v',w' output - h [3] magnetic field input - rc[15] error matrix in sc variables input (triangle) - rd[15] error matrix in 1/p,v',w',v,w output (triangle) - ch charge of particle input - charge and magnetic field are needed - for correlation terms (v',yt),(v',zt),(w',yt),(w',zt) - these correlation terms appear because rc is assumed - to be the error matrix for fixed s (path length) - and rd for fixed u - dj[3] unit vector in v-direction - dk[3] unit vector in w-direction of detector system - - ierr = 1 particle moves perpendicular to u-axis - ( v',w' are not defined ) - spu sign of u-component of particle momentum output - - --------------------------------------------------------------------------- -void Trsdsc(Float_t *pd,Float_t *rd,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spu,Float_t *dj,Float_t *dk); --------------------------------------------------------------------------- -transforms error matrix from variables (1/p,v',w',v,w) - to sc variables (1/p,lambda,phi,yt,zt) - - pd[3] 1/p,v',w' input - pc[3] 1/p,lambda,phi output - h[3] magnetic field input - rd[15] error matrix in 1/p,v',w',v,w input (triangle) - rc[15] error matrix in sc variables output (triangle) - ch charge of particle input - charge and magnetic field are needed - for correlation terms (lambda,v),(lambda,w),(phi,v),(phi,w) - these correlation terms appear because rc is assumed - to be the error matrix for fixed s (path length) - and rd for fixed u - dj[3] unit vector in v-direction - dk[3] unit vector in w-direction of detector system - - ierr not used - spu sign of u-component of particle momentum input - - --------------------------------------------------------------------------- -void Trscsp(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); --------------------------------------------------------------------------- -transforms error matrix from sc variables (1/p,lambda,phi,yt,zt) - to spline variables (1/p,y',z',y,z) - pc[3] 1/p,lambda,phi input - ps[3] 1/p,y',z' output - h[3] magnetic field input - rc[15] error matrix in sc variables input (triangle) - rs[15] error matrix in spline variables output (triangle) - ch charge of particle input - charge and magnetic field are needed - for correlation terms (y',yt),(y',zt),(z',yt),(z',zt) - these correlation terms appear because rc is assumed - to be the error matrix for fixed s (path length) - and rs for fixed x - - ierr = 1 particle moves perpendicular to x-axis - ( y',z' are not defined ) - spx sign of x-component of particle momentum output - - --------------------------------------------------------------------------- -void Trspsc(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); --------------------------------------------------------------------------- -transforms error matrix from spline variables (1/p,y',z',y,z) - to sc variables (1/p,lambda,phi,yt,zt) - ps[3] 1/p,y',z' input - pc[3] 1/p,lambda,phi output - h[3] magnetic field input - rs[15] error matrix in spline variables input (triangle) - rc[15] error matrix in sc variables output (triangle) - ch charge of particle input - charge and magnetic field are needed - for correlation terms (lambda,y),(lambda,z),(phi,y),(phi,z) - these correlation terms appear because rc is assumed - to be the error matrix for fixed s (path length) - and rs for fixed x - - ierr not used - spx sign of x-component of particle momentum input - - -Examples of Application -======================= - 1. Representing the trajectory at another point - 2. Joining track elements in different parts of the detector - 3. Prediction of the trajectory - 4. Fitting trajectory parameters -See geant3/doc/gedoc for details. - - - - - - - - -[1] W.Wittek, EMC Internal Reports: EMC/80/15, EMCSW/80/39, - EMCSW/81/13, EMCSW/81/18 - A.Haas, The EMC Utility Package: UTIL42 - -[2] R.Brun, F.Bruyant, M.Maire, A.C.McPherson, P.Zanarini - DD/EE/84-1, May 1986 - - - - diff --git a/StarVMC/geant3/README_geane_more b/StarVMC/geant3/README_geane_more deleted file mode 100644 index 1b9964e5935..00000000000 --- a/StarVMC/geant3/README_geane_more +++ /dev/null @@ -1,95 +0,0 @@ -This release of the geant3 part of the VMC contains new features -for the error propagation (GEANE). These can be summarized as -follows: - -1) update of the Coulomb multiple scattering parametrization; -2) update of the straggling of energy loss for thin materials; -3) new options to extrapolate the track parameters to the point - of closest approach to a point or to a wire (straight line). - -Details on the physical motivation behind this work can be found -in our report for the Panda Collaboration, available at: - -http://www.pv.infn.it/~fontana/tracking.pdf - -Feel free to contact us for questions and discussions about these -topics by using the following email addresses: - -alberto.rotondi@pv.infn.it -andrea.fontana@pv.infn.it - ---- - -List of changes in the fortran and C++ routines of the geant3 -VMC directory: - -- gcmore.inc - gtmore.inc - geant3LinkDef.h - gcomad.F - - Added a new common that contains all the new variables: - COMMON/GCMORE/GCALPHA,ICLOSE,PFINAL(3),DSTRT,WIRE1(3),WIRE2(3), - + P1(3),P2(3),P3(3),CLENG(3) - - input to ERLAND: - GCALPHA: energy cut parameter for energy loss fluctuations - - input to EUSTEP: - ICLOSE: = 1 the use of the common is enabled for the closest - approach to a point PFINAL(3) - = 2 the use of the common is enabled for the closest - approach to a wire of extremes WIRE1(3) and WIRE2(3) - = 0 the common is empty and disabled - PFINAL(3): assigned point - DSTRT: assigned distance between initial point in ERTRAK - and PFINAL along straight line (currently noy used) - WIRE1(3): first point of a wire - WIRE2(3): second point of a wire - - output from EUSTEP: - P1(3): point previous to the point of closest approach to - PFINAL() or wire - P2(3): point of closest approach to PFINAL() or wire - P3(3): point next to the point of closest approach to - PFINAL() or wire - CLENG(3): track length to the previous 3 points - - Important note: the calculated points of closest approach are - depending on the GEANE steps. For calculating the true point - of closest approach the last 3 points of the extrapolation, i.e. - the previous to closest, the closest and the next to closest are - returned to the user. Different algorithms can be implemented, but - we decided to leave this to the users in the C++ interface to GEANE. - -- ermcsc.F - new expression for the variance of the Coulomb multiple scattering - according to Fruhwirth and Regler, NIM A 456 (2001) 369 - -- ertrch.F - added DESTEP in the calling string of ERLAND for calculation with - Urban model. Added and saved previous step PRSTEP. - -- erland.F - added new calculation for sigma of straggling in energy loss - to include in Geane the Urban/Landau approximation, as explained - in the Geant manual and related papers. - The model parametrization can be controlled with a user variable (GCALPHA) - in the new GCMORE common block: 1 is for old gaussian model valid - for dense materials, other values (see the report) are for gaseous - materials. - -- eustep.F - added the calculation to the distance of closest approach to a point - or to a wire. - -- TGeant3.h -- TGeant3.cxx - added the possibility to define user cuts (already present in the gccuts - struct but not in the TGeant3::SetCUTS method) and to define the new - variables of the GCMORE common with two new methods SetECut() and - SetClose(). - Added new method InitGEANE() to initialize GEANE to the old behaviour - (default) for backward compatibility. Only the multiple scattering has - been updated to a more correct formula. - Corrected a typo in the call to the routine Trscsd(). diff --git a/StarVMC/geant3/TGeant3/.includes_for_export.flg b/StarVMC/geant3/TGeant3/.includes_for_export.flg deleted file mode 100644 index f71036d21ab..00000000000 --- a/StarVMC/geant3/TGeant3/.includes_for_export.flg +++ /dev/null @@ -1 +0,0 @@ -All include files of this directory for export diff --git a/StarVMC/geant3/TGeant3/TCallf77.h b/StarVMC/geant3/TGeant3/TCallf77.h deleted file mode 100644 index 93b877cd4f2..00000000000 --- a/StarVMC/geant3/TGeant3/TCallf77.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef ROOT_TCallf77 -#define ROOT_TCallf77 -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id: TCallf77.h,v 1.1.1.2 2009/02/01 17:10:04 fisyak Exp $ */ - -#ifndef WIN32 -# define type_of_call -# define DEFCHARD const char* -# define DEFCHARL , const int -# define PASSCHARD(string) string -# define PASSCHARL(string) , strlen(string) -#else -# define type_of_call _stdcall -# define DEFCHARD const char* , const int -# define DEFCHARL -# define PASSCHARD(string) string, strlen(string) -# define PASSCHARL(string) -#endif -#endif //ROOT_TCallf77 diff --git a/StarVMC/geant3/TGeant3/TG3Application.cxx b/StarVMC/geant3/TGeant3/TG3Application.cxx deleted file mode 100755 index cb793420b71..00000000000 --- a/StarVMC/geant3/TGeant3/TG3Application.cxx +++ /dev/null @@ -1,241 +0,0 @@ -// $Id: TG3Application.cxx,v 1.1.1.3 2009/02/01 17:10:04 fisyak Exp $ -// -// Class TG3Application -// ----------------------- -// Implementation of the TVirtualMCApplication -// -// by Rene Brun 30/12/2002 - -#include "TG3Application.h" -#include "TGeant3f77.h" -//#include "TG3Stack.h" - -#include -#include -#include -#include - -#include - -ClassImp(TG3Application) - -//_____________________________________________________________________________ -TG3Application::TG3Application(const char *name, const char *title) - : TVirtualMCApplication(name,title), - fStack(0) -{ -// -// Standard constructor -// - - new TGeant3f77("g",0); - - // create a user stack - //fStack = new TG3Stack(100); -} - -//_____________________________________________________________________________ -TG3Application::TG3Application() - : TVirtualMCApplication(), - fStack(0) -{ - // - // Default constructor - // -} - -//_____________________________________________________________________________ -TG3Application::~TG3Application() -{ - // - // Destructor - // - - //delete fStack; -} - -// -// private -// - -//_____________________________________________________________________________ -void TG3Application::ConstructMaterials() -{ - // - // Materials - // - -} - - -//_____________________________________________________________________________ -void TG3Application::ConstructVolumes() -{ - -} - -// -// public -// - -//_____________________________________________________________________________ -void TG3Application::InitMC(const char* /*setup*/) -{ - // - // Initialize MC. - // - - gMC->Init(); - gMC->BuildPhysics(); -} - -//_____________________________________________________________________________ -void TG3Application::RunMC(Int_t /*nofEvents*/) -{ - // - // MC run. - // - - - //gMC->ProcessRun(nofEvents); - //FinishRun(); -} - -//_____________________________________________________________________________ -void TG3Application::FinishRun() -{ - // - // Finish MC run. - // - - // UGLAST -} - -//_____________________________________________________________________________ -void TG3Application::ConstructGeometry() -{ - // - // Construct geometry using TVirtualMC functions. - // - - //ConstructMaterials(); - //ConstructVolumes(); -} - -//_____________________________________________________________________________ -void TG3Application::InitGeometry() -{ - // - // Initialize geometry - // - - // Nothing needed in this example -} - -//_____________________________________________________________________________ -void TG3Application::GeneratePrimaries() -{ - // - // Fill the user stack (derived from TVirtualMCStack) with primary particles. - // - -} - -//_____________________________________________________________________________ -void TG3Application::BeginEvent() -{ - // - // User actions at beginning of event - // - - // nothing to be done this example -} - -//_____________________________________________________________________________ -void TG3Application::BeginPrimary() -{ - // - // User actions at beginning of a primary track - // - - // nothing to be done this example -} - -//_____________________________________________________________________________ -void TG3Application::PreTrack() -{ - // - // User actions at beginning of each track - // -} - -//_____________________________________________________________________________ -void TG3Application::Stepping() -{ - // - // User actions at each step - // - -} - -//_____________________________________________________________________________ -void TG3Application::PostTrack() -{ - // - // User actions after finishing of each track - // - - // nothing to be done this example -} - -//_____________________________________________________________________________ -void TG3Application::FinishPrimary() -{ - // - // User actions after finishing of a primary track - // - - // nothing to be done this example -} - -//_____________________________________________________________________________ -void TG3Application::FinishEvent() -{ - // - // User actions after finishing of an event - // - - // nothing to be done this example -} - -//_____________________________________________________________________________ -Double_t TG3Application::TrackingRmax() const -{ - // - // No limit - // - - return DBL_MAX; -} - -//_____________________________________________________________________________ -Double_t TG3Application::TrackingZmax() const -{ - // - // No limit - // - - return DBL_MAX; -} - -//_____________________________________________________________________________ -void TG3Application::Field(const Double_t* /* x */, Double_t* b) const -{ - // - // No magnetic field. - // - - b[0] = 0.; - b[1] = 0.; - b[2] = 0.; -} diff --git a/StarVMC/geant3/TGeant3/TG3Application.h b/StarVMC/geant3/TGeant3/TG3Application.h deleted file mode 100755 index 682bcf346a9..00000000000 --- a/StarVMC/geant3/TGeant3/TG3Application.h +++ /dev/null @@ -1,62 +0,0 @@ -// $Id: TG3Application.h,v 1.1.1.2 2009/02/01 17:10:04 fisyak Exp $ -// -// Class TG3Application -// ----------------------- -// Implementation of the TVirtualMCApplication -// -// by Rene Brun 30/12/2002 - -#ifndef TG3Application_h -#define TG3Application_h - -#include -#include - -class TG3Application : public TVirtualMCApplication -{ - public: - TG3Application(const char *name, const char *title); - TG3Application(); - virtual ~TG3Application(); - - // static access method - static TG3Application* Instance(); - - // methods - void InitMC(const char *setup); - void RunMC(Int_t nofEvents); - void FinishRun(); - - virtual void ConstructGeometry(); - virtual void InitGeometry(); - virtual void GeneratePrimaries(); - virtual void BeginEvent(); - virtual void BeginPrimary(); - virtual void PreTrack(); - virtual void Stepping(); - virtual void PostTrack(); - virtual void FinishPrimary(); - virtual void FinishEvent(); - - virtual Double_t TrackingRmax() const; - virtual Double_t TrackingZmax() const; - virtual void Field(const Double_t* x, Double_t* b) const; - - private: - // methods - void ConstructMaterials(); - void ConstructVolumes(); - - // data members - TVirtualMCStack* fStack; - - ClassDef(TG3Application,1) //dummy Interface to G3 MonteCarlo application -}; - -// inline functions - -inline TG3Application* TG3Application::Instance() -{ return (TG3Application*)(TVirtualMCApplication::Instance()); } - -#endif //TG3Application_h - diff --git a/StarVMC/geant3/TGeant3/TGeant3.cxx b/StarVMC/geant3/TGeant3/TGeant3.cxx deleted file mode 100644 index 994dfdeb4fb..00000000000 --- a/StarVMC/geant3/TGeant3/TGeant3.cxx +++ /dev/null @@ -1,6989 +0,0 @@ - -/************************************************************************** - * Copyright(c) 1998-2003, 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: TGeant3.cxx,v 1.7 2015/05/26 15:39:27 jwebb Exp $ */ - -/* -$Log: TGeant3.cxx,v $ -Revision 1.7 2015/05/26 15:39:27 jwebb -Revert to previous version. Last checkin was in error. - -Revision 1.5 2009/02/02 14:28:21 fisyak -Add protection wrt new method introduced in ROOT 5.22.0 - -Revision 1.4 2009/02/01 17:29:50 fisyak -Resolve conflicts - -Revision 1.1.1.1 2008/12/10 20:45:56 fisyak -Merge with macos version - -Revision 1.59 2007/07/25 20:06:49 brun -From Ivana: -Changed the fPDGCode type to TArrayI to allow -its dynamic size (thanks to Susan Kasahara). - -Revision 1.58 2007/07/24 19:43:24 brun -From Ivana: -Do not add particles in TDatabasePDG if they -are were already aded; -(thanks to Susan Kasahara for this suggestion) - -Revision 1.57 2007/07/23 20:04:03 brun -From Ivana: -Implemented the new pdg "standard" codes for ions -defined in pdg-2006, thanks to Susan Kasahara -for this suggestion. - -Revision 1.56 2007/05/18 08:44:15 brun -A major update of GEANTE by Andrea Fontana and Alberto Rotondi - - -1) update of the Coulomb multiple scattering parametrization; -2) update of the straggling of energy loss for thin materials; -3) new options to extrapolate the track parameters to the point - of closest approach to a point or to a wire (straight line). - -Details on the physical motivation behind this work can be found -in our report for the Panda Collaboration, available at: - -http://www.pv.infn.it/~fontana/tracking.pdf - -Feel free to contact us for questions and discussions about these -topics by using the following email addresses: - -alberto.rotondi@pv.infn.it -andrea.fontana@pv.infn.it - ---- - -List of changes in the fortran and C++ routines of the geant3 -VMC directory: - -- gcmore.inc - gtmore.inc - geant3LinkDef.h - gcomad.F - - Added a new common that contains all the new variables: - COMMON/GCMORE/GCALPHA,ICLOSE,PFINAL(3),DSTRT,WIRE1(3),WIRE2(3), - + P1(3),P2(3),P3(3),CLENG(3) - - input to ERLAND: - GCALPHA: energy cut parameter for energy loss fluctuations - - input to EUSTEP: - ICLOSE: = 1 the use of the common is enabled for the closest - approach to a point PFINAL(3) - = 2 the use of the common is enabled for the closest - approach to a wire of extremes WIRE1(3) and WIRE2(3) - = 0 the common is empty and disabled - PFINAL(3): assigned point - DSTRT: assigned distance between initial point in ERTRAK - and PFINAL along straight line (currently noy used) - WIRE1(3): first point of a wire - WIRE2(3): second point of a wire - - output from EUSTEP: - P1(3): point previous to the point of closest approach to - PFINAL() or wire - P2(3): point of closest approach to PFINAL() or wire - P3(3): point next to the point of closest approach to - PFINAL() or wire - CLENG(3): track length to the previous 3 points - - Important note: the calculated points of closest approach are - depending on the GEANE steps. For calculating the true point - of closest approach the last 3 points of the extrapolation, i.e. - the previous to closest, the closest and the next to closest are - returned to the user. Different algorithms can be implemented, but - we decided to leave this to the users in the C++ interface to GEANE. - -- ermcsc.F - new expression for the variance of the Coulomb multiple scattering - according to Fruhwirth and Regler, NIM A 456 (2001) 369 - -- ertrch.F - added DESTEP in the calling string of ERLAND for calculation with - Urban model. Added and saved previous step PRSTEP. - -- erland.F - added new calculation for sigma of straggling in energy loss - to include in Geane the Urban/Landau approximation, as explained - in the Geant manual and related papers. - The model parametrization can be controlled with a user variable (GCALPHA) - in the new GCMORE common block: 1 is for old gaussian model valid - for dense materials, other values (see the report) are for gaseous - materials. - -- eustep.F - added the calculation to the distance of closest approach to a point - or to a wire. - -- TGeant3.h -- TGeant3.cxx - added the possibility to define user cuts (already present in the gccuts - struct but not in the TGeant3::SetCUTS method) and to define the new - variables of the GCMORE common with two new methods SetECut() and - SetClose(). - Added new method InitGEANE() to initialize GEANE to the old behaviour - (default) for backward compatibility. Only the multiple scattering has - been updated to a more correct formula. - Corrected a typo in the call to the routine Trscsd(). - -Revision 1.55 2007/03/26 10:15:04 brun -Fix a problem when adding a new tracking medium to the TObjArray. - -Revision 1.54 2007/03/23 21:11:44 brun -From Ivana Hrivnacova and Andrea Fontana: -Reintroduce functionality in TGeant3::SetCuts that was removed in a previous patch. - -Revision 1.53 2007/03/22 08:58:41 brun -From Ivana: -Restore the function TGeant3::MediumId - -Revision 1.52 2007/02/28 16:25:14 brun -From Federico: -Suppress compiler warnings coming from unused arguments - -Revision 1.51 2006/12/19 13:16:19 brun -from Mohammad Al-Turany & Denis Bertini - -Changes in TGeant3/TGeant3.cxx and TGeant3.h ------------------------------------- -1. Geane interface functions are added: - void eufill(Int_t n, Float_t *ein, Float_t *xlf); - void eufilp(const int n,Float_t *ein,Float_t *pli,Float_t *plf); - void eufilv(Int_t n, Float_t *ein, Char_t *namv, Int_t *numv,Int_t *iovl); - void trscsd(Float_t *pc,Float_t *rc,Float_t *pd,Float_t *rd, - Float_t *h,Float_t ch,Int_t ierr,Float_t spu,Float_t *dj,Float_t *dk); - void trsdsc(Float_t *pd,Float_t *rd,Float_t *pc,Float_t *rc, - Float_t *h,Float_t *ch,Int_t *ierr,Float_t *spu,Float_t *dj,Float_t *dk); - void trscsp(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); - void trspsc(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); - -2. The Gfang function wrapper is added - void g3fang( Float_t *, Float_t &,Float_t &, Float_t &, Float_t &,Int_t & ); - - - - -changes in TGeant3/TGeant3gu.cxx --------------------------- -Adding GCalor interface - 1. function calsig() and gcalor() are added - 2. setting ihadr=5 will call the GCalor routine - - - - -changes in TGeant3/TGeant3.h ------------------------ -1. Structures for Geane output are setted as public so that the user can access them - - Ertrio_t *fErtrio - Eropts_t *fEropts - Eroptc_t *fEroptc - Erwork_t *fErwork - Trcom3_t *fTrcom3 - -2. The size of the error matrix errin is corrected to 15 - -Revision 1.49 2006/04/20 10:14:55 brun -From Peter Hristov: -small change in TGeant3.cxx: -to avoid some rare problems in glandz.F and probably in other places where the random number should not -be equal to 0 and 1. - -Revision 1.48 2006/03/15 08:12:11 brun --New Makefile.macosx - --delete all TGeant3 GUI and graphics classes - --Remove all references to GUI/Graphics classes from G3Volume.cxx and TGeant3.cxx - --Remove TGeant3/galicef.F and rdummies.F - --Remove references to GUI/Graphics classes from geant3LinkDef.h - --delete added/dummies2.F - --change added/dummies.c, keeping only __attribute__ and MAIN__ - --Change Makefile accordingly - -Revision 1.47 2005/11/18 21:25:22 brun -From Bjorn, Andrei: -Implemented new VMC functions for access to geometry; -added -Woverloaded-virtual to Makefile.linux - -Revision 1.46 2005/07/21 17:54:37 brun -Implement same code in the float* versions that were already implemented -in the Double* versions. - -Revision 1.45 2005/07/20 09:22:50 brun -From Federico: -Fixes to compile with gcc4CVS: ---------------------------------------------------------------------- - -Revision 1.44 2005/05/21 05:48:33 brun -In TGeant3::Init put the code calling ConstructGeometry conditional -on ROOT versions >-5.01/01 - -Revision 1.43 2005/05/17 12:47:00 brun -From Ivana: -- Added call to new TVirtualMCApplication::ConstructOpGeometry() function -- Bug fix in G3Mixture (do not update wmat values twice) -- In CreateFloatArray: added check for values > FLT_MAX - -Revision 1.42 2005/02/16 08:01:51 brun -Implement function grndmq. It returns gRandom->GetSeed(). -The result makes sense only when Trandom is the generator. - -Revision 1.41 2005/02/08 11:22:03 brun -From Ivana: -For TGeant3.h: -Added IsRootGeometrySupported() function -(now required by TVirtualMC) - -For TGeant3.cxx: -Updated text in Fatal in SetRootGeometry. - -Revision 1.40 2005/01/07 11:34:43 brun -Change the J/Psi lifetime from 0 to 7.6e-21 -(thanks Yuri Kharlov) - -Revision 1.39 2004/12/21 15:34:48 brun -Implement TGeant3TGeo::isRootGeometry returning kTRUE - -Revision 1.38 2004/12/17 11:55:47 brun -A new class TGeant3TGeo (deriving from TGeant3) is introduced. -TGeant3 uses by default the geant3 geometry. TGeant3TGeo uses the TGeo classes. -The two classes are built in the same library. The choice of which version to use -can now be made dynamically at run time (eg based on an environment variable) -or a job control option. -For example the examples like gexam1, gexam4 have been modified to run -with either geant3 geometry or TGeo. To run gexam1 with geant3 geometry do - gexam1 TGeant3 -to run with TGeo (default) do - gexam1 -The examples E01.C, E02 and E03 have also been modified to select the option -at run time based on the environment variable TVirtualMC (set in .rootrc) -If TVirtualMC is set to TGeant3TGeo TGeo geometry will be used. -The Makefile has been modified to build the two classes in the same library. - -Revision 1.37 2004/11/23 14:52:52 brun -From Andreas Morsch: -on request of ALICE/TPC I added a new method to TVirtualMC.h - -void TVirtualMC::ForceDecayTime(Float_t); - - -This allows to force the decay time of the current particle. -The use-case implemented in AliRoot is the decay of primary particles -within a user defined radius range. - -Revision 1.36 2004/10/13 10:38:32 brun -From Andrei Gheata: -some modifications in the current TGeant3.cxx : - -from Mihaela: -- modifications in STATISTICS option: added branches to statistics tree -(statsame + statpath) -- global gckine added. gckine->itrtyp == 7 used in gtnext to optimize -speed - 1% gain (computation of global matrix only when called from gtckov) -- bias of 1E-7 (used previously for making sure a boundary is crossed) -eliminated - -I removed the option WITHBOTH and fixed a problem in VolId() - in the -last version of AliRoot some detector was calling gMC->VolId(name) with -a name containing a blank at the end and now all volumes have the blanks -supressed. Fixing this I noticed that there are 4 detectors that in -their StepManager() they call at each step things like: - if (gMC->CurrentVolId(copy) == gMC->VolId("RICH")) ... -Incredible !!! In G3 native this search by name does not penalize so -much since names are converted to Int_t and the volume bank is looked -for this Int_t. In TGeo we cannot do this since we support long names so -we have to go to gGeoManager->GetVolume("name") which scans a list of -2000 objects at each step several times... I fixed this by hand by -puting static variables in these methods and Peter will commit the -changes. The gain in speed for TGeo case is considerable with full AliRoot. - -Revision 1.35 2004/10/12 07:46:23 brun ->From Ivana: -Implemented new functions from TVirtualMC: - Int_t NofVolDaughters(const char* volName) const; - const char* VolDaughterName(const char* volName, Int_t i) const; - Int_t VolDaughterCopyNo(const char* volName, Int_t i) const; - const char* CurrentVolPath(); - -Revision 1.34 2004/09/17 08:51:55 brun ->From Ivana - SetRootGeometry() allowed only with WITHROOT option; - added Fatal() for other modes. - -Revision 1.33 2004/08/25 07:28:54 brun ->From Ivana and Lionel Chaussard - In method DefineParticles(), we had: - - pdgcode(Tau+)=15 - pdgcode(Tau-)=-15 - - This is in contradiction with the other leptons (pdgcode>0 for - negative leptons, pdgcode<0 for positive leptons). I also checked - in the PDG WEB pages that Tau- should have a code +15. - - changed to: - pdgcode(tau+)=-15 - pdgcode(tau-)=+15 ? - -Revision 1.32 2004/08/05 12:20:39 brun ->From Andrei Gheata: -I have found/fixed a bug in TGeoManager::IsSameLocation(x,y,z). Also I -have eliminated the penalizing check of IsSameLocation() in gtnext(). - -Revision 1.31 2004/07/09 12:15:12 brun ->From Ivana: -in case a user defines geometry via TGeo and associates more tracking - media with the same material, TGeant3 duplicates this material - for each tracking medium. - I haven't found a function for getting the number of - materials/media (TList) so I count them by a loop - - maybe it can be done more intelligently... - -Revision 1.30 2004/07/09 08:11:29 brun -Fix by Ivana/Andrei to call TGeoMedium::setId and not TGeoMedium::SetUniqueID - -Revision 1.29 2004/06/17 13:56:53 rdm -changed several "const int" arguments to "int". Was causing warnings of -type "qualifier is meaningless". - -Revision 1.28 2004/06/08 10:27:19 brun ->From Ivana: -- Added Bool_t return value to methods - SetCut(), SetProcess(), DefineParticle(), DefineIon() -- Removed DefineParticles() - -Revision 1.27 2004/05/28 13:45:00 brun ->From Ivana -Implementation of StopRun (new function in TVirtualMC) - -Revision 1.26 2004/05/14 08:32:01 brun -In function gtnext, call GetNextBoundary(-step) instead of (step). -This fixes a problem when tracking Cherenkov photons. -(Thanks to Yuri Kharlov for reporting the problem and Andrei for fixing it) - -Revision 1.25 2004/03/23 11:16:44 brun ->From Ivana -With the previous changes by Andrei, all fixes by Ivana were lost. -This patch merges Ivana and Andrei versions. - -Revision 1.23 2004/03/15 12:18:45 brun ->From Andrei Gheata: - - minor modifications to cope with geometry retreival from file: - - ConstructGeometry does not need to be called - - CloseGeometry not needed - -Revision 1.22 2004/02/03 12:47:34 brun ->From Andrei Gheata: -TGeant3: - -- calls to gtonly return now always a true value (G3 is seeing an ONLY -geometry with TGeo) -- IsSameLocation inside gtnext not yet eliminated, but I am getting only -1 exception instead of 400 now (when the location really changes) - -Revision 1.21 2004/01/28 18:05:24 brun -New version from Peter Hristov adding the graphics interface - -Revision 1.20 2004/01/28 08:30:54 brun -Change the call to TRandom::RndmArray in function grndm - -Revision 1.19 2004/01/28 08:14:48 brun -Add a CPP option STATISTICS to monitor the fequency of calls to the geometry functions. - -Revision 1.18 2003/12/10 15:39:37 brun -iFollowing recent improvements by Andrei, replace in ggperp -the computation of normals: - Double_t *dblnorm = gGeoManager->FindNormal(kFALSE); -with : - Double_t *dblnorm = gGeoManager->FindNormalFast(); - -Revision 1.17 2003/12/10 10:32:09 brun -Add a protection in TGeant3::Gsmate in case the material density is null - -Revision 1.16 2003/12/01 23:51:22 brun ->From Andrei and Peter: -add a few missing cases when compiling with the WITHROOT option. - -Revision 1.15 2003/11/28 09:44:15 brun -New version of TGeant3 supporting the options WITHG3 and WITHROOT - -Revision 1.14 2003/10/09 06:28:45 brun -In TGeant3::ParticleName, increase size of local array name[20] to name[21] - -Revision 1.13 2003/09/26 15:01:08 brun ->From Ivana; -- implemented new functions from TVirtualMC - enabling user to define own particles and ions - + getter functions:: - DefineParticle(..) - DefineIon(..) - ParticleName(..) const - ParticleMass(..) const - Double_t ParticleCharge(..) const - Double_t ParticleLifeTime(..) const - TMCParticleType ParticleMCType(..) const -- corrected charge in AddParticlesToPdgDataBase - -Revision 1.12 2003/07/22 06:53:28 brun -This version does not yet support TGeo geometry. -TVirtualMC must be initialized with the 3rd argument set to kFALSE - -Revision 1.11 2003/07/18 10:22:50 brun -Changes to reflect the equivalent changes in the abstract classes in vmc -(thanks Peter Hristov) - -Revision 1.10 2003/07/16 07:40:09 brun ->From Andreas Morsch - -- default g3 specific initialisation moved to TGeant3::Init() - (This avoids the cast to TGeant3* in the Config.C) -- "CKOV" added to SetProcess - -Revision 1.9 2003/06/03 21:26:46 brun -New version of gustep by Andreas Morsch - -Revision 1.8 2003/02/28 10:41:49 brun ->From Andreas - In DefineParticles(): rho0 decay channel corrected - -Revision 1.7 2003/02/04 17:50:34 brun ->From Ivana - In Mixture(): pass abs(nlmat) to CreateFloatArray calls - as nlmat can be negative. - -Revision 1.6 2003/01/31 18:23:06 brun -Ivana suggested corrections. -- corrected tau pdg code -- Warning if external decayer needed but not defined. - -Revision 1.5 2003/01/23 11:34:04 brun -In gustep, replace - gMC->TrackPosition(x,y,z); -by - geant3->TrackPosition(x,y,z); - -Revision 1.4 2003/01/06 17:20:52 brun -Add new functions TrackPosition and TrackMomentum as alternative to the original -functions filling a TLorentzVector object. -Use these new functions in gustep and gudcay. -This makes a 25 per cent speed improvement in case of Alice. - -Revision 1.3 2002/12/10 07:58:36 brun -Update by Federico for the calls to Grndm - -Revision 1.2 2002/12/06 16:50:30 brun ->From Federico: -the following modifications provide an >6% improvement in speed for -AliRoot. - -Revision 1.1.1.1 2002/07/24 15:56:26 rdm -initial import into CVS - -Revision 1.5 2002/07/10 09:33:19 hristov -Array with variable size created by new - -Revision 1.4 2002/07/10 08:38:54 alibrary -Cleanup of code - -*/ - -//////////////////////////////////////////////////////////////////////// -// // -// Interface Class to the Geant3.21 Monte Carlo // -// // -// // -// // -//////////////////////////////////////////////////////////////////////// - -#include -#include - -#include "TROOT.h" -#include "TParticle.h" -#include "TDatabasePDG.h" -#include "TLorentzVector.h" -#include "TArrayI.h" -#include "TArrayD.h" -#include "TString.h" -#include "TParameter.h" -#include "TGeoMatrix.h" -#include "TObjString.h" - -#include "TGeant3.h" - -#include "TCallf77.h" -#include "TVirtualMCDecayer.h" -#include "TPDGCode.h" - -#ifndef WIN32 -# define g3zebra g3zebra_ -# define grfile grfile_ -# define g3pcxyz g3pcxyz_ -# define g3gclos g3gclos_ -# define g3last g3last_ -# define g3init g3init_ -# define g3cinit g3cinit_ -# define g3run g3run_ -# define g3trig g3trig_ -# define g3trigc g3trigc_ -# define g3trigi g3trigi_ -# define g3work g3work_ -# define g3zinit g3zinit_ -# define g3fmate g3fmate_ -# define g3fpart g3fpart_ -# define g3ftmed g3ftmed_ -# define g3ftmat g3ftmat_ -# define g3mate g3mate_ -# define g3part g3part_ -# define g3sdk g3sdk_ -# define g3smate g3smate_ -# define g3fang g3fang_ -# define g3smixt g3smixt_ -# define g3spart g3spart_ -# define g3stmed g3stmed_ -# define g3sckov g3sckov_ -# define g3stpar g3stpar_ -# define g3fkine g3fkine_ -# define g3fvert g3fvert_ -# define g3skine g3skine_ -# define g3svert g3svert_ -# define g3physi g3physi_ -# define g3debug g3debug_ -# define g3ekbin g3ekbin_ -# define g3finds g3finds_ -# define g3sking g3sking_ -# define g3skpho g3skpho_ -# define g3sstak g3sstak_ -# define g3sxyz g3sxyz_ -# define g3many g3many_ -# define g3track g3track_ -# define g3treve g3treve_ -# define gtreveroot gtreveroot_ -# define grndm grndm_ -# define grndmq grndmq_ -# define g3dtom g3dtom_ -# define g3lmoth g3lmoth_ -# define g3media g3media_ -# define g3mtod g3mtod_ -# define g3sdvn g3sdvn_ -# define g3sdvn2 g3sdvn2_ -# define g3sdvs g3sdvs_ -# define g3sdvs2 g3sdvs2_ -# define g3sdvt g3sdvt_ -# define g3sdvt2 g3sdvt2_ -# define g3sord g3sord_ -# define g3spos g3spos_ -# define g3sposp g3sposp_ -# define g3srotm g3srotm_ -# define g3protm g3protm_ -# define g3svolu g3svolu_ -# define g3print g3print_ -# define dzshow dzshow_ -# define g3satt g3satt_ -# define g3fpara g3fpara_ -# define gckpar gckpar_ -# define g3ckmat g3ckmat_ -# define g3lvolu g3lvolu_ -# define geditv geditv_ -# define mzdrop mzdrop_ - -# define ertrak ertrak_ -# define ertrgo ertrgo_ -# define eufill eufill_ -# define eufilp eufilp_ -# define eufilv eufilv_ -# define trscsp trscsp_ -# define trspsc trspsc_ -# define trscsd trscsd_ -# define trsdsc trsdsc_ - -# define gcomad gcomad_ - -# define g3brelm g3brelm_ -# define g3prelm g3prelm_ - -# define rxgtrak rxgtrak_ -# define rxouth rxouth_ -# define rxinh rxinh_ - - -#else - -# define gzebra GZEBRA -# define grfile GRFILE -# define gpcxyz GPCXYZ -# define ggclos GGCLOS -# define glast GLAST -# define ginit GINIT -# define g3cinit G3CINIT -# define grun GRUN -# define gtrig GTRIG -# define gtrigc GTRIGC -# define gtrigi GTRIGI -# define gwork GWORK -# define g3zinit G3ZINIT -# define gfmate GFMATE -# define gfpart GFPART -# define gftmed GFTMED -# define gftmat GFTMAT -# define gmate GMATE -# define gpart GPART -# define gsdk GSDK -# define gsmate GSMATE -# define gsmixt GSMIXT -# define gspart GSPART -# define gstmed GSTMED -# define gsckov GSCKOV -# define gstpar GSTPAR -# define gfkine GFKINE -# define gfvert GFVERT -# define gskine GSKINE -# define gsvert GSVERT -# define gphysi GPHYSI -# define gdebug GDEBUG -# define gekbin GEKBIN -# define gfinds GFINDS -# define gsking GSKING -# define gskpho GSKPHO -# define gsstak GSSTAK -# define gsxyz GSXYZ -# define gtrack GTRACK -# define gtreve GTREVE -# define gtreveroot GTREVEROOT -# define grndm GRNDM -# define grndmq GRNDMQ -# define gdtom GDTOM -# define glmoth GLMOTH -# define gmedia GMEDIA -# define gmtod GMTOD -# define gsdvn GSDVN -# define gsdvn2 GSDVN2 -# define gsdvs GSDVS -# define gsdvs2 GSDVS2 -# define gsdvt GSDVT -# define gsdvt2 GSDVT2 -# define gsord GSORD -# define gspos GSPOS -# define gsposp GSPOSP -# define gsrotm GSROTM -# define gprotm GPROTM -# define gsvolu GSVOLU -# define gprint GPRINT -# define dzshow DZSHOW -# define gsatt GSATT -# define gfpara GFPARA -# define gckpar GCKPAR -# define gckmat GCKMAT -# define glvolu GLVOLU -# define geditv GEDITV -# define mzdrop MZDROP - -# define ertrak ERTRAK -# define ertrgo ERTRGO -# define eufill EUFILL -# define eufilp EUFILP -# define eufilv EUFILV -# define trscsp TRSCSP -# define trspsc TRSPSC -# define trscsd TRSCSD -# define trsdsc TRSDSC - -# define gcomad GCOMAD - -# define gbrelm GBRELM -# define gprelm GPRELM - -# define rxgtrak RXGTRAK -# define rxouth RXOUTH -# define rxinh RXINH -# define gfang GFANG - -#endif - -//______________________________________________________________________ -extern "C" -{ - // - // Prototypes for GEANT functions - // - void type_of_call g3zebra(const int&); - - void type_of_call g3pcxyz(); - - void type_of_call g3gclos(); - - void type_of_call g3last(); - - void type_of_call g3init(); - - void type_of_call g3cinit(); - - void type_of_call g3run(); - - void type_of_call g3trig(); - - void type_of_call g3trigc(); - - void type_of_call g3trigi(); - - void type_of_call g3work(const int&); - - void type_of_call g3zinit(); - - void type_of_call g3mate(); - - void type_of_call g3part(); - - void type_of_call g3sdk(Int_t &, Float_t *, Int_t *); - - void type_of_call g3fkine(Int_t &, Float_t *, Float_t *, Int_t &, - Int_t &, Float_t *, Int_t &); - - void type_of_call g3fvert(Int_t &, Float_t *, Int_t &, Int_t &, - Float_t &, Float_t *, Int_t &); - - void type_of_call g3skine(Float_t *,Int_t &, Int_t &, Float_t *, - Int_t &, Int_t &); - - void type_of_call g3svert(Float_t *,Int_t &, Int_t &, Float_t *, - Int_t &, Int_t &); - - void type_of_call g3physi(); - - void type_of_call g3debug(); - - void type_of_call g3ekbin(); - - void type_of_call g3finds(); - - void type_of_call g3sking(Int_t &); - - void type_of_call g3skpho(Int_t &); - - void type_of_call g3sstak(Int_t &); - - void type_of_call g3sxyz(); - - void type_of_call g3many(); - - void type_of_call g3track(); - - void type_of_call g3treve(); - - void type_of_call gtreveroot(); - - void type_of_call grndm(Float_t *r, const Int_t &n) - { - //gRandom->RndmArray(n,r); - for(Int_t i=0; iRndm(); while(0>=r[i] || r[i]>=1); - } - - void type_of_call grndmq(Int_t &is1, Int_t &is2, const Int_t &, - DEFCHARD DEFCHARL) - {is1=gRandom->GetSeed(); is2=0; /*only valid with TRandom;*/} - - void type_of_call g3dtom(Float_t *, Float_t *, Int_t &); - - void type_of_call g3lmoth(DEFCHARD, Int_t &, Int_t &, Int_t *, - Int_t *, Int_t * DEFCHARL); - - void type_of_call g3media(Float_t *, Int_t &, Int_t&); - - void type_of_call g3mtod(Float_t *, Float_t *, Int_t &); - - void type_of_call g3srotm(const Int_t &, const Float_t &, const Float_t &, - const Float_t &, const Float_t &, const Float_t &, - const Float_t &); - - void type_of_call g3protm(const Int_t &); - - void type_of_call g3rfile(const Int_t&, DEFCHARD, - DEFCHARD DEFCHARL DEFCHARL); - - void type_of_call g3fmate(const Int_t&, DEFCHARD, Float_t &, Float_t &, - Float_t &, Float_t &, Float_t &, Float_t *, - Int_t& DEFCHARL); - - void type_of_call g3fang( Float_t *, Float_t &, - Float_t &, Float_t &, Float_t &, - Int_t & ); - - void type_of_call g3fpart(const Int_t&, DEFCHARD, Int_t &, Float_t &, - Float_t &, Float_t &, Float_t *, Int_t & DEFCHARL); - - void type_of_call g3ftmed(const Int_t&, DEFCHARD, Int_t &, Int_t &, Int_t &, - Float_t &, Float_t &, Float_t &, Float_t &, - Float_t &, Float_t &, Float_t *, Int_t * DEFCHARL); - - void type_of_call g3ftmat(const Int_t&, const Int_t&, DEFCHARD, const Int_t&, - Float_t*, Float_t* - ,Float_t *, Int_t & DEFCHARL); - - void type_of_call g3smate(const Int_t&, DEFCHARD, Float_t &, Float_t &, - Float_t &, Float_t &, Float_t &, Float_t *, - Int_t & DEFCHARL); - - void type_of_call g3smixt(const Int_t&, DEFCHARD, const Float_t *, - const Float_t *, const Float_t &, const Int_t &, - Float_t * DEFCHARL); - - void type_of_call g3spart(const Int_t&, DEFCHARD, Int_t &, Float_t &, - Float_t &, Float_t &, Float_t *, Int_t & DEFCHARL); - - - void type_of_call g3stmed(const Int_t&, DEFCHARD, Int_t &, Int_t &, Int_t &, - Float_t &, Float_t &, Float_t &, Float_t &, - Float_t &, Float_t &, Float_t *, Int_t & DEFCHARL); - - void type_of_call g3sckov(Int_t &itmed, Int_t &npckov, Float_t *ppckov, - Float_t *absco, Float_t *effic, Float_t *rindex); - void type_of_call g3stpar(const Int_t&, DEFCHARD, Float_t & DEFCHARL); - - void type_of_call g3sdvn(DEFCHARD,DEFCHARD, Int_t &, Int_t & - DEFCHARL DEFCHARL); - - void type_of_call g3sdvn2(DEFCHARD,DEFCHARD, Int_t &, Int_t &, Float_t &, - Int_t & DEFCHARL DEFCHARL); - - void type_of_call g3sdvs(DEFCHARD,DEFCHARD, Float_t &, Int_t &, Int_t & - DEFCHARL DEFCHARL); - - void type_of_call g3sdvs2(DEFCHARD,DEFCHARD, Float_t &, Int_t &, Float_t &, - Int_t & DEFCHARL DEFCHARL); - - void type_of_call g3sdvt(DEFCHARD,DEFCHARD, Float_t &, Int_t &, Int_t &, - Int_t & DEFCHARL DEFCHARL); - - void type_of_call g3sdvt2(DEFCHARD,DEFCHARD, Float_t &, Int_t &, Float_t&, - Int_t &, Int_t & DEFCHARL DEFCHARL); - - void type_of_call g3sord(DEFCHARD, Int_t & DEFCHARL); - - void type_of_call g3spos(DEFCHARD, Int_t &, DEFCHARD, Float_t &, Float_t &, - Float_t &, Int_t &, DEFCHARD DEFCHARL DEFCHARL - DEFCHARL); - - void type_of_call g3sposp(DEFCHARD, Int_t &, DEFCHARD, Float_t &, Float_t &, - Float_t &, Int_t &, DEFCHARD, - Float_t *, Int_t & DEFCHARL DEFCHARL DEFCHARL); - - void type_of_call g3svolu(DEFCHARD, DEFCHARD, Int_t &, Float_t *, Int_t &, - Int_t & DEFCHARL DEFCHARL); - - void type_of_call g3satt(DEFCHARD, DEFCHARD, Int_t & DEFCHARL DEFCHARL); - - void type_of_call g3fpara(DEFCHARD , Int_t&, Int_t&, Int_t&, Int_t&, - Float_t*, Float_t* DEFCHARL); - - void type_of_call gckpar(Int_t&, Int_t&, Float_t*); - - void type_of_call g3ckmat(Int_t&, DEFCHARD DEFCHARL); - - void type_of_call g3lvolu(Int_t&, Int_t*, Int_t*, Int_t&); - - void type_of_call g3print(DEFCHARD,const int& DEFCHARL); - - void type_of_call dzshow(DEFCHARD,const int&,const int&,DEFCHARD,const int&, - const int&, const int&, const int& DEFCHARL - DEFCHARL); - void type_of_call mzdrop(Int_t&, Int_t&, DEFCHARD DEFCHARL); - - void type_of_call setbomb(Float_t &); - - void type_of_call setclip(DEFCHARD, Float_t &,Float_t &,Float_t &,Float_t &, - Float_t &, Float_t & DEFCHARL); - - void type_of_call gcomad(DEFCHARD, Int_t*& DEFCHARL); - - void type_of_call ertrak(const Float_t *const x1, const Float_t *const p1, - const Float_t *x2, const Float_t *p2, - const Int_t &ipa, DEFCHARD DEFCHARL); - void type_of_call eufill(Int_t n, Float_t *ein, - Float_t *xlf); - void type_of_call eufilp(const int n,Float_t *ein, - Float_t *pli,Float_t *plf); - void type_of_call eufilv(Int_t n, Float_t *ein, - Char_t *namv, Int_t *numv,Int_t *iovl); - void type_of_call trscsd(Float_t *pc,Float_t *rc,Float_t *pd,Float_t *rd, - Float_t *h,Float_t ch,Int_t ierr,Float_t spu,Float_t *dj,Float_t *dk); - void type_of_call trsdsc(Float_t *pd,Float_t *rd,Float_t *pc,Float_t *rc, - Float_t *h,Float_t *ch,Int_t *ierr,Float_t *spu,Float_t *dj,Float_t *dk); - void type_of_call trscsp(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); - void type_of_call trspsc(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); - - void type_of_call ertrgo(); - - float type_of_call g3brelm(const Float_t &z, const Float_t& t, - const Float_t& cut); - float type_of_call g3prelm(const Float_t &z, const Float_t& t, - const Float_t& cut); -} - -#ifndef WIN32 -# define gudigi gudigi_ -# define guhadr guhadr_ -# define guout guout_ -# define guphad guphad_ -# define gudcay gudcay_ -# define guiget guiget_ -# define guinme guinme_ -# define guinti guinti_ -# define gunear gunear_ -# define guskip guskip_ -# define guview guview_ -# define gupara gupara_ -# define gudtim gudtim_ -# define guplsh guplsh_ -# define gutrev gutrev_ -# define gutrak gutrak_ -# define guswim guswim_ -# define gufld gufld_ -# define gustep gustep_ -# define gukine gukine_ - -# define gheish gheish_ -# define flufin flufin_ -# define gfmfin gfmfin_ -# define gpghei gpghei_ -# define fldist fldist_ -# define gfmdis gfmdis_ -# define g3helx3 g3helx3_ -# define g3helix g3helix_ -# define g3rkuta g3rkuta_ -# define g3track g3track_ -# define gtreveroot gtreveroot_ -# define g3last g3last_ -# define g3invol g3invol_ -# define g3tmedi g3tmedi_ -# define g3media g3media_ -# define g3tmany g3tmany_ -# define g3tnext g3tnext_ -# define g3gperp g3gperp_ -# define ginvol ginvol_ -# define gtmedi gtmedi_ -# define gtmany gtmany_ -# define gtonly gtonly_ -# define gmedia gmedia_ -# define glvolu glvolu_ -# define gtnext gtnext_ -# define ggperp ggperp_ - -#else -# define gudigi GUDIGI -# define guhadr GUHADR -# define guout GUOUT -# define guphad GUPHAD -# define gudcay GUDCAY -# define guiget GUIGET -# define guinme GUINME -# define guinti GUINTI -# define gunear GUNEAR -# define guskip GUSKIP -# define guview GUVIEW -# define gupara GUPARA -# define gudtim GUDTIM -# define guplsh GUPLSH -# define gutrev GUTREV -# define gutrak GUTRAK -# define guswim GUSWIM -# define gufld GUFLD -# define gustep GUSTEP -# define gukine GUKINE - -# define gheish GHEISH -# define flufin FLUFIN -# define gfmfin GFMFIN -# define gpghei GPGHEI -# define fldist FLDIST -# define gfmdis GFMDIS -# define g3helx3 G3HELX3 -# define g3helix G3HELIX -# define g3gperp G3GPERP -# define g3rkuta G3RKUTA -# define gtrack GTRACK -# define gtreveroot GTREVEROOT -# define glast GLAST -# define ginvol GINVOL -# define gtmedi GTMEDI -# define gtmany GTMANY -# define gmedia GMEDIA -# define glvolu GLVOLU -# define gtnext GTNEXT -# define ggperp GGPERP - -#endif - -extern "C" type_of_call void gheish(); -extern "C" type_of_call void flufin(); -extern "C" type_of_call void gfmfin(); -extern "C" type_of_call void gpghei(); -extern "C" type_of_call void fldist(); -extern "C" type_of_call void gfmdis(); -extern "C" type_of_call void g3helx3(Float_t&, Float_t&, Float_t*, Float_t*); -extern "C" type_of_call void g3helix(Float_t&, Float_t&, Float_t*, Float_t*); -extern "C" type_of_call void g3rkuta(Float_t&, Float_t&, Float_t*, Float_t*); -extern "C" type_of_call void g3gperp(Float_t*, Float_t*, Int_t&); -extern "C" type_of_call void g3track(); -extern "C" type_of_call void gtreveroot(); -extern "C" type_of_call void g3last(); -extern "C" type_of_call void g3invol(Float_t*, Int_t&); -extern "C" type_of_call void g3tmedi(Float_t*, Int_t&); -extern "C" type_of_call void g3tmany(Int_t&); -extern "C" type_of_call void g3media(Float_t*, Int_t&, Int_t&); -extern "C" type_of_call void g3tnext(); -extern "C" type_of_call void ginvol(Float_t*, Int_t&); -extern "C" type_of_call void gtmedi(Float_t*, Int_t&); -extern "C" type_of_call void gtmany(Int_t&); -extern "C" type_of_call void gtonly(Int_t&); -extern "C" type_of_call void gmedia(Float_t*, Int_t&, Int_t&); -extern "C" type_of_call void glvolu(Int_t &nlev, Int_t *lnam,Int_t *lnum, Int_t &ier); -extern "C" type_of_call void gtnext(); -extern "C" type_of_call void ggperp(Float_t*, Float_t*, Int_t&); - - -// -// Geant3 global pointer -// -Gctrak_t *gctrak = 0; -Gcvolu_t *gcvolu = 0; -Gckine_t *gckine = 0; -TGeant3* geant3 = 0; -static const Int_t kDefSize = 600; -Int_t count_ginvol = 0; -Int_t count_gmedia = 0; -Int_t count_gtmedi = 0; -Int_t count_gtnext = 0; -Gcchan_t *gcchan = 0; - -extern "C" type_of_call void gtonlyg3(Int_t&); -void (*fginvol)(Float_t*, Int_t&) = 0; -void (*fgtmedi)(Float_t*, Int_t&) = 0; -void (*fgtmany)(Int_t&) = 0; -void (*fgtonly)(Int_t&) = 0; -void (*fgmedia)(Float_t*, Int_t&, Int_t&) = 0; -void (*fglvolu)(Int_t &nlev, Int_t *lnam,Int_t *lnum, Int_t &ier) = 0; -void (*fgtnext)() = 0; -void (*fggperp)(Float_t*, Float_t*, Int_t&) = 0; - -//#define STATISTICS -#ifdef STATISTICS -#include "TTree.h" -#include "TFile.h" -Double_t oldvect[6], oldstep, oldsafety; -Int_t statcode, statsame; -Char_t statpath[120]; -Double_t statsafety, statsnext; -TTree *stattree =0; -TFile *statfile=0; -#endif - -//______________________________________________________________________ -TGeant3::TGeant3() - : TVirtualMC(), - fNG3Particles(0), - fNPDGCodes(0), - fPDGCode(), - fMCGeo(0), - fImportRootGeometry(kFALSE), - fStopRun(kFALSE) -{ - // - // Default constructor - // - geant3 = this; -} - -//______________________________________________________________________ -TGeant3::TGeant3(const char *title, Int_t nwgeant) - : TVirtualMC("TGeant3",title, kFALSE), - fNG3Particles(0), - fNPDGCodes(0), - fPDGCode(), - fMCGeo(0), - fImportRootGeometry(kFALSE), - fStopRun(kFALSE) -{ - // - // Standard constructor for TGeant3 with ZEBRA initialization - // - -#ifdef STATISTICS - statfile = new TFile("stat.root","recreate"); - stattree = new TTree("stat","stat tree"); - stattree->Branch("statcode",&statcode,"statcode/I"); - stattree->Branch("statsame",&statsame,"statsame/I"); - stattree->Branch("statpath",statpath,"statpath/C"); - stattree->Branch("oldvect",oldvect,"oldvect[6]/D"); - stattree->Branch("oldsafety",&oldsafety,"oldsafety/D"); - stattree->Branch("oldstep",&oldstep,"oldstep/D"); - stattree->Branch("snext",&statsnext,"statsnext/D"); - stattree->Branch("safety",&statsafety,"statsafety/D"); -#endif - - geant3 = this; - - if(nwgeant) { - g3zebra(nwgeant); - g3init(); - g3zinit(); - } else { - g3cinit(); - } - // - // Load Address of Geant3 commons - LoadAddress(); - // - // Zero number of particles - fNG3Particles = 0; - fNPDGCodes=0; - - // Set initial size to fPDGCode table - fPDGCode.Set(100); - - //set pointers to tracker functions - fginvol = g3invol; - fgtmedi = g3tmedi; - fgtmany = g3tmany; - fgtonly = gtonlyg3; - fgmedia = g3media; - fglvolu = g3lvolu; - fgtnext = g3tnext; - fggperp = g3gperp; - - InitGEANE(); -} - -//______________________________________________________________________ -TGeant3::~TGeant3() -{ - if(fVolNames) { - delete [] fVolNames; - fVolNames=0; - } -} - -//______________________________________________________________________ -Int_t TGeant3::CurrentMaterial(Float_t &a, Float_t &z, Float_t &dens, - Float_t &radl, Float_t &absl) const -{ - // - // Return the parameters of the current material during transport - // - z = fGcmate->z; - a = fGcmate->a; - dens = fGcmate->dens; - radl = fGcmate->radl; - absl = fGcmate->absl; - return 1; //this could be the number of elements in mixture -} - -//______________________________________________________________________ -void TGeant3::DefaultRange() -{ - // - // Set range of current drawing pad to 20x20 cm - // -} - -//______________________________________________________________________ -void TGeant3::InitHIGZ() -{ - // - // Initialize HIGZ - // -} - -//______________________________________________________________________ -void TGeant3::InitGEANE() -{ - // - // Initialize GEANE for default use - // - Float_t pf[3]={0.,0.,0.}; - Float_t w1[3]={0.,0.,0.}; - Float_t w2[3]={0.,0.,0.}; - Float_t p1[3]={0.,0.,0.}; - Float_t p2[3]={0.,0.,0.}; - Float_t p3[3]={0.,0.,0.}; - Float_t cl[3]={0.,0.,0.}; - geant3 = this; - geant3->SetECut(1.); - geant3->SetClose(0,pf,999.,w1,w2,p1,p2,p3,cl); -} - -//______________________________________________________________________ -void TGeant3::LoadAddress() -{ - // - // Assigns the address of the GEANT common blocks to the structures - // that allow their access from C++ - // - Int_t *addr; - gcomad(PASSCHARD("QUEST"), (int*&) fQuest PASSCHARL("QUEST")); - gcomad(PASSCHARD("GCBANK"),(int*&) fGcbank PASSCHARL("GCBANK")); - gcomad(PASSCHARD("GCLINK"),(int*&) fGclink PASSCHARL("GCLINK")); - gcomad(PASSCHARD("GCCUTS"),(int*&) fGccuts PASSCHARL("GCCUTS")); - gcomad(PASSCHARD("GCMORE"),(int*&) fGcmore PASSCHARL("GCMORE")); - gcomad(PASSCHARD("GCMULO"),(int*&) fGcmulo PASSCHARL("GCMULO")); - gcomad(PASSCHARD("GCFLAG"),(int*&) fGcflag PASSCHARL("GCFLAG")); - gcomad(PASSCHARD("GCKINE"),(int*&) fGckine PASSCHARL("GCKINE")); - gcomad(PASSCHARD("GCKING"),(int*&) fGcking PASSCHARL("GCKING")); - gcomad(PASSCHARD("GCKIN2"),(int*&) fGckin2 PASSCHARL("GCKIN2")); - gcomad(PASSCHARD("GCKIN3"),(int*&) fGckin3 PASSCHARL("GCKIN3")); - gcomad(PASSCHARD("GCMATE"),(int*&) fGcmate PASSCHARL("GCMATE")); - gcomad(PASSCHARD("GCTMED"),(int*&) fGctmed PASSCHARL("GCTMED")); - gcomad(PASSCHARD("GCTRAK"),(int*&) fGctrak PASSCHARL("GCTRAK")); - gcomad(PASSCHARD("GCTPOL"),(int*&) fGctpol PASSCHARL("GCTPOL")); - gcomad(PASSCHARD("GCVOLU"),(int*&) fGcvolu PASSCHARL("GCVOLU")); - gcomad(PASSCHARD("GCNUM"), (int*&) fGcnum PASSCHARL("GCNUM")); - gcomad(PASSCHARD("GCSETS"),(int*&) fGcsets PASSCHARL("GCSETS")); - gcomad(PASSCHARD("GCPHYS"),(int*&) fGcphys PASSCHARL("GCPHYS")); - gcomad(PASSCHARD("GCPHLT"),(int*&) fGcphlt PASSCHARL("GCPHLT")); - gcomad(PASSCHARD("GCOPTI"),(int*&) fGcopti PASSCHARL("GCOPTI")); - gcomad(PASSCHARD("GCTLIT"),(int*&) fGctlit PASSCHARL("GCTLIT")); - gcomad(PASSCHARD("GCVDMA"),(int*&) fGcvdma PASSCHARL("GCVDMA")); - gcomad(PASSCHARD("GCCHAN"),(int*&) gcchan PASSCHARL("GCCHAN")); - - // Commons for GEANE - gcomad(PASSCHARD("ERTRIO"),(int*&) fErtrio PASSCHARL("ERTRIO")); - gcomad(PASSCHARD("EROPTS"),(int*&) fEropts PASSCHARL("EROPTS")); - gcomad(PASSCHARD("EROPTC"),(int*&) fEroptc PASSCHARL("EROPTC")); - gcomad(PASSCHARD("ERWORK"),(int*&) fErwork PASSCHARL("ERWORK")); - - // Variables for ZEBRA store - gcomad(PASSCHARD("IQ"), addr PASSCHARL("IQ")); - fZiq = addr; - gcomad(PASSCHARD("LQ"), addr PASSCHARL("LQ")); - fZlq = addr; - fZq = (float*)fZiq; - gctrak = fGctrak; - gcvolu = fGcvolu; - gckine = fGckine; -} - -//______________________________________________________________________ -void TGeant3::GeomIter() -{ - // - // Geometry iterator for moving upward in the geometry tree - // Initialize the iterator - // - fNextVol=fGcvolu->nlevel; -} - -//______________________________________________________________________ -Int_t TGeant3::NextVolUp(Text_t *name, Int_t ©) -{ - // - // Geometry iterator for moving upward in the geometry tree - // Return next volume up - // - fNextVol--; - Int_t i, gname; - if(fNextVol>=0) { - gname=fGcvolu->names[fNextVol]; - copy=fGcvolu->number[fNextVol]; - i=fGcvolu->lvolum[fNextVol]; - name = fVolNames[i-1]; - if(gname == fZiq[fGclink->jvolum+i]) return i; - else printf("GeomTree: Volume %s not found in bank\n",name); - } - return 0; -} - -//______________________________________________________________________ -void TGeant3::BuildPhysics() -{ - Gphysi(); -} - -//______________________________________________________________________ -void TGeant3::AddParticlesToPdgDataBase() const -{ - -// -// Add particles to the PDG data base - - TDatabasePDG *pdgDB = TDatabasePDG::Instance(); - - const Double_t kAu2Gev=0.9314943228; - const Double_t khSlash = 1.0545726663e-27; - const Double_t kErg2Gev = 1/1.6021773349e-3; - const Double_t khShGev = khSlash*kErg2Gev; - const Double_t kYear2Sec = 3600*24*365.25; -// -// Bottom mesons -// mass and life-time from PDG -// -// Done by default now from Pythia6 table! -// -// -// Ions -// - - if ( !pdgDB->GetParticle(GetIonPdg(1,2)) ) - pdgDB->AddParticle("Deuteron","Deuteron",2*kAu2Gev+8.071e-3,kTRUE, - 0,3,"Ion",GetIonPdg(1,2)); - - if ( !pdgDB->GetParticle(GetIonPdg(1,3)) ) - pdgDB->AddParticle("Triton","Triton",3*kAu2Gev+14.931e-3,kFALSE, - khShGev/(12.33*kYear2Sec),3,"Ion",GetIonPdg(1,3)); - - if ( !pdgDB->GetParticle(GetIonPdg(2,4)) ) - pdgDB->AddParticle("Alpha","Alpha",4*kAu2Gev+2.424e-3,kTRUE, - khShGev/(12.33*kYear2Sec),6,"Ion",GetIonPdg(2,4)); - - if ( !pdgDB->GetParticle(GetIonPdg(2,3)) ) - pdgDB->AddParticle("HE3","HE3",3*kAu2Gev+14.931e-3,kFALSE, - 0,6,"Ion",GetIonPdg(2,3)); - -// Special particles -// - if ( !pdgDB->GetParticle(GetSpecialPdg(50)) ) - pdgDB->AddParticle("Cherenkov","Cherenkov",0,kFALSE, - 0,0,"Special",GetSpecialPdg(50)); - - if ( !pdgDB->GetParticle(GetSpecialPdg(51)) ) - pdgDB->AddParticle("FeedbackPhoton","FeedbackPhoton",0,kFALSE, - 0,0,"Special",GetSpecialPdg(51)); - -} - - -//______________________________________________________________________ -Int_t TGeant3::CurrentVolID(Int_t ©) const -{ - // - // Returns the current volume ID and copy number - // - Int_t i, gname; - if( (i=fGcvolu->nlevel-1) < 0 ) { - Warning("CurrentVolID","Stack depth only %d\n",fGcvolu->nlevel); - } else { - gname=fGcvolu->names[i]; - copy=fGcvolu->number[i]; - i=fGcvolu->lvolum[i]; - if(gname == fZiq[fGclink->jvolum+i]) return i; - else Warning("CurrentVolID","Volume %4s not found\n",(char*)&gname); - } - return 0; -} - -//______________________________________________________________________ -Int_t TGeant3::CurrentVolOffID(Int_t off, Int_t ©) const -{ - // - // Return the current volume "off" upward in the geometrical tree - // ID and copy number - // - Int_t i, gname; - if( (i=fGcvolu->nlevel-off-1) < 0 ) { - Warning("CurrentVolOffID","Offset requested %d but stack depth %d\n", - off,fGcvolu->nlevel); - } else { - gname=fGcvolu->names[i]; - copy=fGcvolu->number[i]; - i=fGcvolu->lvolum[i]; - if(gname == fZiq[fGclink->jvolum+i]) return i; - else Warning("CurrentVolOffID","Volume %4s not found\n",(char*)&gname); - } - return 0; -} - -//______________________________________________________________________ -const char* TGeant3::CurrentVolName() const -{ - // - // Returns the current volume name - // - Int_t i; - if( (i=fGcvolu->nlevel-1) < 0 ) { - Warning("CurrentVolName","Stack depth %d\n",fGcvolu->nlevel); - return 0; - } - Int_t gname=fGcvolu->names[i]; - i=fGcvolu->lvolum[i]; - if(gname == fZiq[fGclink->jvolum+i]) return fVolNames[i-1]; - else Warning("CurrentVolName","Volume %4s not found\n",(char*) &gname); - return 0; -} - -//______________________________________________________________________ -const char* TGeant3::CurrentVolOffName(Int_t off) const -{ - // - // Return the current volume "off" upward in the geometrical tree - // ID, name and copy number - // if name=0 no name is returned - // - Int_t i; - if( (i=fGcvolu->nlevel-off-1) < 0 ) { - Warning("CurrentVolOffName", - "Offset requested %d but stack depth %d\n",off,fGcvolu->nlevel); - return 0; - } - Int_t gname=fGcvolu->names[i]; - i=fGcvolu->lvolum[i]; - if(gname == fZiq[fGclink->jvolum+i]) return fVolNames[i-1]; - else Warning("CurrentVolOffName","Volume %4s not found\n",(char*)&gname); - return 0; -} - -//______________________________________________________________________ -const char* TGeant3::CurrentVolPath() -{ -// Return the path in geometry tree for the current volume -// --- - - return GetPath(); -} - -//______________________________________________________________________ -Int_t TGeant3::IdFromPDG(Int_t pdg) const -{ - // - // Return Geant3 code from PDG and pseudo ENDF code - // - for(Int_t i=0;i0 && idnvolum; i++) - if(gname == fZiq[fGclink->jvolum+i]) return i; - printf("VolId: Volume %s not found\n",name); - return 0; -} - -//______________________________________________________________________ -Int_t TGeant3::MediumId(const Text_t *medName) const -{ - // Return the unique numeric identifier for medium name - - Int_t nmed = fMedNames.GetEntriesFast(); - for ( Int_t imed = 1; imed < nmed; imed++ ) { - - TString name = ((TObjString*)fMedNames.At(imed))->GetString(); - if ( name == TString(medName) ) return imed; - } - printf("MediumId: Medium %s not found\n", medName); - return 0; -} - -//______________________________________________________________________ -Int_t TGeant3::NofVolumes() const -{ - // - // Return total number of volumes in the geometry - // - return fGcnum->nvolum; -} - -//______________________________________________________________________ -Int_t TGeant3::NofVolDaughters(const char* volName) const -{ -// Return number of daughters of the volume specified by volName -// According to A. Morsch' G3toRoot class -// --- - - Int_t idvol = VolId(volName); - - Int_t jvo = fZlq[fGclink->jvolum-idvol]; - Int_t nin = Int_t(fZq[jvo+3]); - return nin; -} - -//______________________________________________________________________ -const char* TGeant3::VolDaughterName(const char* volName, Int_t i) const -{ -// Return the name of i-th daughters of the volume specified by volName -// According to A. Morsch' G3toRoot class -// --- - - Int_t idvol = VolId(volName); - - Int_t jvo = fZlq[fGclink->jvolum-idvol]; - Int_t nin=i+1; - Int_t jin = fZlq[jvo-nin]; - Int_t idvold = Int_t(fZq[jin+2]);; - - return VolName(idvold); -} - - -//______________________________________________________________________ -Int_t TGeant3::VolDaughterCopyNo(const char* volName, Int_t i) const -{ -// Return the copyNo of i-th daughters of the volume specified by volName -// According to A. Morsch' G3toRoot class -// --- - - Int_t idvol = VolId(volName); - - Int_t jvo = fZlq[fGclink->jvolum-idvol]; - Int_t nin=i+1; - Int_t jin = fZlq[jvo-nin]; - - return Int_t(fZq[jin +3]); -} - -//______________________________________________________________________ -Int_t TGeant3::VolId2Mate(Int_t id) const -{ - // - // Return material number for a given volume id - // - if(id<1 || id > fGcnum->nvolum || fGclink->jvolum<=0) - return 0; - else { - Int_t jvo = fZlq[fGclink->jvolum-id]; - return Int_t(fZq[jvo+4]); - } -} - -//______________________________________________________________________ -const char* TGeant3::VolName(Int_t id) const -{ - // - // Return the volume name given the volume identifier - // - if(id<1 || id > fGcnum->nvolum || fGclink->jvolum<=0) - return fVolNames[fGcnum->nvolum]; - else - return fVolNames[id-1]; -} - -//______________________________________________________________________ -Bool_t TGeant3::SetCut(const char* cutName, Double_t cutValue) -{ - // - // Set transport cuts for particles - // - Bool_t success = kTRUE; - - if(!strcmp(cutName,"CUTGAM")) - fGccuts->cutgam=cutValue; - else if(!strcmp(cutName,"CUTELE")) - fGccuts->cutele=cutValue; - else if(!strcmp(cutName,"CUTNEU")) - fGccuts->cutneu=cutValue; - else if(!strcmp(cutName,"CUTHAD")) - fGccuts->cuthad=cutValue; - else if(!strcmp(cutName,"CUTMUO")) - fGccuts->cutmuo=cutValue; - else if(!strcmp(cutName,"BCUTE")) - fGccuts->bcute=cutValue; - else if(!strcmp(cutName,"BCUTM")) - fGccuts->bcutm=cutValue; - else if(!strcmp(cutName,"DCUTE")) - fGccuts->dcute=cutValue; - else if(!strcmp(cutName,"DCUTM")) - fGccuts->dcutm=cutValue; - else if(!strcmp(cutName,"PPCUTM")) - fGccuts->ppcutm=cutValue; - else if(!strcmp(cutName,"TOFMAX")) - fGccuts->tofmax=cutValue; - else { - Warning("SetCut","Cut %s not implemented\n",cutName); - success = kFALSE; - } - - return success; -} - -//______________________________________________________________________ -Bool_t TGeant3::SetProcess(const char* flagName, Int_t flagValue) -{ - // - // Set thresholds for different processes - // - Bool_t success = kTRUE; - - if(!strcmp(flagName,"PAIR")) - fGcphys->ipair=flagValue; - else if(!strcmp(flagName,"COMP")) - fGcphys->icomp=flagValue; - else if(!strcmp(flagName,"PHOT")) - fGcphys->iphot=flagValue; - else if(!strcmp(flagName,"PFIS")) - fGcphys->ipfis=flagValue; - else if(!strcmp(flagName,"DRAY")) - fGcphys->idray=flagValue; - else if(!strcmp(flagName,"ANNI")) - fGcphys->ianni=flagValue; - else if(!strcmp(flagName,"BREM")) - fGcphys->ibrem=flagValue; - else if(!strcmp(flagName,"HADR")) - fGcphys->ihadr=flagValue; - else if(!strcmp(flagName,"MUNU")) - fGcphys->imunu=flagValue; - else if(!strcmp(flagName,"DCAY")) - fGcphys->idcay=flagValue; - else if(!strcmp(flagName,"LOSS")) - fGcphys->iloss=flagValue; - else if(!strcmp(flagName,"MULS")) - fGcphys->imuls=flagValue; - else if(!strcmp(flagName,"RAYL")) - fGcphys->irayl=flagValue; - else if(!strcmp(flagName,"STRA")) - fGcphlt->istra=flagValue; - else if(!strcmp(flagName,"SYNC")) - fGcphlt->isync=flagValue; - else if(!strcmp(flagName,"CKOV")) - fGctlit->itckov = flagValue; - else { - Warning("SetFlag","Flag %s not implemented\n",flagName); - success = kFALSE; - } - - return success; -} - - //______________________________________________________________________ -Bool_t TGeant3::DefineParticle(Int_t pdg,const char* name,TMCParticleType type, - Double_t mass, Double_t charge, Double_t lifetime) -{ -// Old function definition, now replaced with more arguments - - TVirtualMC::DefineParticle(pdg, name, type, mass, charge, lifetime); - - return false; -} - - -//______________________________________________________________________ -Bool_t TGeant3::DefineParticle(Int_t pdg,const char* name, TMCParticleType mcType, - Double_t mass, Double_t charge, Double_t lifetime, - const TString& /*pType*/, Double_t /*width*/, - Int_t /*iSpin*/, Int_t /*iParity*/, Int_t /*iConjugation*/, - Int_t /*iIsospin*/, Int_t /*iIsospinZ*/, Int_t /*gParity*/, - Int_t /*lepton*/, Int_t /*baryon*/, - Bool_t /*stable*/, Bool_t /*shortlived*/, - const TString& /*subType*/, - Int_t /*antiEncoding*/, Double_t /*magMoment*/, - Double_t /*excitation*/) -{ -// -// Set a user defined particle -// Function is ignored if particle with specified pdg -// already exists and error report is printed. -// --- - - // Check if particle with specified pdg already exists - // in TGeant3 - if (IdFromPDG(pdg) > 0) { - Error("SetParticle", "Particle already exists."); - return kFALSE; - } - - // Check if particle type is known to Geant3 - Int_t itrtyp = TransportMethod(mcType); - if (itrtyp < 0) { - Error("SetParticle", "Unknown particle transport."); - return kFALSE; - } - - // Add particle to Geant3 - Gspart(fNG3Particles++, name, itrtyp, mass, charge, lifetime); - - // Add particle to TDatabasePDG - // (if it does not yet exist here) - if (!TDatabasePDG::Instance()->GetParticle(pdg)) - TDatabasePDG::Instance() - ->AddParticle(name, name, mass, kTRUE, 0, charge*3, - ParticleClass(mcType).Data(), pdg); - - // Resize fPDGCode table if needed - if ( fNPDGCodes >= fPDGCode.GetSize() ) - fPDGCode.Set( fPDGCode.GetSize() + 100); - - fPDGCode[fNPDGCodes++] = pdg; - - return kTRUE; -} - -//______________________________________________________________________ -Bool_t TGeant3::DefineIon(const char* name, Int_t Z, Int_t A, Int_t Q, - Double_t /* excEnergy */, Double_t mass) -{ -// -// Set a user defined ion. -// --- - - // Define pdgEncoding - // - Int_t pdg = GetIonPdg(Z, A); - Int_t pdgMax = pdg + 9; - - // Find isomer number which is not yet used - while (TDatabasePDG::Instance()->GetParticle(pdg) && - pdg < pdgMax) - pdg++; - if (TDatabasePDG::Instance()->GetParticle(pdg)) { - Fatal("SetIon", "All isomer numbers are already used"); - return kFALSE; - } - - // Particle properties - // excitation energy not used by G3 - if (mass < 1e-09) mass = 0.9382723 * A; - // approximative mass if not specified by user - Double_t charge = Q; - TMCParticleType partType = kPTIon; - Double_t lifetime = 1.e20; - - // Call DefineParticle now - return DefineParticle( - pdg, name, partType, mass, charge, lifetime, - "nucleus", 0.0, 1, 1, 0, 1, 1, 0, 0, 1, kTRUE); -} - -//______________________________________________________________________ -TString TGeant3::ParticleName(Int_t pdg) const -{ -// Return G3 particle name -// --- - - char name[21]; - Int_t itrtyp; - Float_t amass, charge, tlife; - Gfpart(pdg, name, itrtyp,amass, charge, tlife); - name[20] = '\0'; - - return TString(name); -} - -//______________________________________________________________________ -Double_t TGeant3::ParticleMass(Int_t pdg) const -{ -// Return G3 particle mass -// --- - - char name[20]; - Int_t itrtyp; - Float_t mass, charge, tlife; - Gfpart(pdg,name, itrtyp, mass, charge, tlife); - - return mass; -} - -//______________________________________________________________________ -Double_t TGeant3::ParticleCharge(Int_t pdg) const -{ -// Return G3 particle charge (in e) -// --- - - char name[20]; - Int_t itrtyp; - Float_t mass, charge, tlife; - Gfpart(pdg,name, itrtyp, mass, charge, tlife); - - return charge; -} - -//______________________________________________________________________ -Double_t TGeant3::ParticleLifeTime(Int_t pdg) const -{ -// Return G3 particle life time -// --- - - char name[20]; - Int_t itrtyp; - Float_t mass, charge, tlife; - Gfpart(pdg, name, itrtyp, mass, charge, tlife); - - return tlife; -} - -//______________________________________________________________________ -TMCParticleType TGeant3::ParticleMCType(Int_t pdg) const -{ -// Return MC particle type -// --- - - char name[20]; - Int_t itrtyp; - Float_t mass, charge, tlife; - Gfpart(pdg,name, itrtyp, mass, charge, tlife); - - return ParticleType(itrtyp); -} - - -//______________________________________________________________________ -Double_t TGeant3::Xsec(char* reac, Double_t /* energy */, - Int_t part, Int_t /* mate */) -{ - // - // Calculate X-sections -- dummy for the moment - // - if(!strcmp(reac,"PHOT")) - { - if(part!=22) { - Error("Xsec","Can calculate photoelectric only for photons\n"); - } - } - return 0; -} - -//______________________________________________________________________ -void TGeant3::TrackPosition(TLorentzVector &xyz) const -{ - // - // Return the current position in the master reference frame of the - // track being transported - // - xyz[0]=fGctrak->vect[0]; - xyz[1]=fGctrak->vect[1]; - xyz[2]=fGctrak->vect[2]; - xyz[3]=fGctrak->tofg; -} - -//______________________________________________________________________ -void TGeant3::TrackPosition(Double_t &x, Double_t &y, Double_t &z) const -{ - // - // Return the current position in the master reference frame of the - // track being transported - // - x=fGctrak->vect[0]; - y=fGctrak->vect[1]; - z=fGctrak->vect[2]; -} - -//______________________________________________________________________ -Double_t TGeant3::TrackTime() const -{ - // - // Return the current time of flight of the track being transported - // - return fGctrak->tofg; -} - -//______________________________________________________________________ -void TGeant3::TrackMomentum(TLorentzVector &xyz) const -{ - // - // Return the direction and the momentum (GeV/c) of the track - // currently being transported - // - Double_t ptot=fGctrak->vect[6]; - xyz[0]=fGctrak->vect[3]*ptot; - xyz[1]=fGctrak->vect[4]*ptot; - xyz[2]=fGctrak->vect[5]*ptot; - xyz[3]=fGctrak->getot; -} - -//______________________________________________________________________ -void TGeant3::TrackMomentum(Double_t &px, Double_t &py, Double_t &pz, - Double_t &etot) const -{ - // - // Return the direction and the momentum (GeV/c) of the track - // currently being transported - // - Double_t ptot=fGctrak->vect[6]; - px =fGctrak->vect[3]*ptot; - py =fGctrak->vect[4]*ptot; - pz =fGctrak->vect[5]*ptot; - etot=fGctrak->getot; -} - -//______________________________________________________________________ -Double_t TGeant3::TrackCharge() const -{ - // - // Return charge of the track currently transported - // - return fGckine->charge; -} - -//______________________________________________________________________ -Double_t TGeant3::TrackMass() const -{ - // - // Return the mass of the track currently transported - // - return fGckine->amass; -} - -//______________________________________________________________________ -Int_t TGeant3::TrackPid() const -{ - // - // Return the id of the particle transported - // - return PDGFromId(fGckine->ipart); -} - -//______________________________________________________________________ -Double_t TGeant3::TrackStep() const -{ - // - // Return the length in centimeters of the current step - // - return fGctrak->step; -} - -//______________________________________________________________________ -Double_t TGeant3::TrackLength() const -{ - // - // Return the length of the current track from its origin - // - return fGctrak->sleng; -} - -//______________________________________________________________________ -Bool_t TGeant3::IsNewTrack() const -{ - // - // True if the track is not at the boundary of the current volume - // - return (fGctrak->sleng==0); -} - -//______________________________________________________________________ -Bool_t TGeant3::IsTrackInside() const -{ - // - // True if the track is not at the boundary of the current volume - // - return (fGctrak->inwvol==0); -} - -//______________________________________________________________________ -Bool_t TGeant3::IsTrackEntering() const -{ - // - // True if this is the first step of the track in the current volume - // - return (fGctrak->inwvol==1); -} - -//______________________________________________________________________ -Bool_t TGeant3::IsTrackExiting() const -{ - // - // True if this is the last step of the track in the current volume - // - return (fGctrak->inwvol==2); -} - -//______________________________________________________________________ -Bool_t TGeant3::IsTrackOut() const -{ - // - // True if the track is out of the setup - // - return (fGctrak->inwvol==3); -} - -//______________________________________________________________________ -Bool_t TGeant3::IsTrackStop() const -{ - // - // True if the track energy has fallen below the threshold - // - return (fGctrak->istop==2); -} - -//______________________________________________________________________ -Int_t TGeant3::NSecondaries() const -{ - // - // Number of secondary particles generated in the current step - // - return fGcking->ngkine; -} - -//______________________________________________________________________ -Int_t TGeant3::CurrentEvent() const -{ - // - // Number of the current event - // - return fGcflag->idevt; -} - -//______________________________________________________________________ -TMCProcess TGeant3::ProdProcess(Int_t ) const -{ - // - // Name of the process that has produced the secondary particles - // in the current step - - // Modified: to make use of GCKING/KCASE variable for determining the production - // mechanism of the secondaries. The old method was to pick the first - // active process from the current step's list of active processes - // that had the capability of generating secondaries. This occasionally - // picked the wrong secondary production mechanism. - - if ( fGcking->ngkine <= 0 ) return kPNoProcess; - - // Secondaries generated, determine production mechanism hollerith - std::string casestr((const char*)(&(fGcking->kcase))); - casestr.resize(4); - - int imech = 0; - for (Int_t km = 0; km < MAXMEC; ++km) { - std::string namestr((const char*)(&(fGctrak->namec[km]))); - namestr.resize(4); - if ( casestr == namestr ) { - imech = km; - break; - } - } - - TMCProcess vmcmech = G3toVMC(imech+1); - if ( vmcmech == kPNoProcess ) { - // failure to find matching process - printf( - "* TGeant3::ProdProcess secondaries present,but no matching process!* \n"); - } - - return vmcmech; -} - -//______________________________________________________________________ -Int_t TGeant3::StepProcesses(TArrayI &proc) const -{ - // - // Return processes active in the current step - // - Int_t i; - Int_t nproc=Gctrak()->nmec; - - // Set no active process if there are no processes - if (nproc==0) { - proc.Set(1); - proc[0] = kPNull; - return 1; - } - - // - proc.Set(nproc); - Int_t nvproc=0; - // - for (i=0; ilmec[i]))!=kPNoProcess) nvproc++; - // - proc.Set(nvproc); - // - return nvproc; -} - -//______________________________________________________________________ -TMCProcess TGeant3::G3toVMC(Int_t iproc) const -{ - // - // Conversion between GEANT and TMC processes - // -#if ROOT_VERSION_CODE >= ROOT_VERSION(5,22,0) - const TMCProcess kPG2MC1[30] = { - kPTransportation, kPMultipleScattering, kPEnergyLoss, kPMagneticFieldL, kPDecay, - kPPair, kPCompton, kPPhotoelectric, kPBrem, kPDeltaRay, - kPAnnihilation, kPHadronic, kPHCElastic, kPEvaporation, kPNuclearFission, - kPNuclearAbsorption, kPPbarAnnihilation, kPNCapture, kPHIElastic, - kPHInhelastic, kPMuonNuclear, kPTOFlimit, kPPhotoFission, kPNoProcess, - kPRayleigh, kPNoProcess, kPNoProcess, kPNoProcess, kPNull, kPStop}; -#else - const TMCProcess kPG2MC1[30] = { - kPNoProcess, kPMultipleScattering, kPEnergyLoss, kPMagneticFieldL, kPDecay, - kPPair, kPCompton, kPPhotoelectric, kPBrem, kPDeltaRay, - kPAnnihilation, kPHadronic, kPNoProcess, kPEvaporation, kPNuclearFission, - kPNuclearAbsorption, kPPbarAnnihilation, kPNCapture, kPHElastic, - kPHInhelastic, kPMuonNuclear, kPTOFlimit, kPPhotoFission, kPNoProcess, - kPRayleigh, kPNoProcess, kPNoProcess, kPNoProcess, kPNull, kPStop}; -#endif - const TMCProcess kPG2MC2[9] = { - kPLightAbsorption, kPLightScattering, kStepMax, kPNoProcess, kPCerenkov, - kPLightReflection, kPLightRefraction, kPSynchrotron, kPNoProcess}; - - TMCProcess proc=kPNoProcess; - if(0ngkine) { - ipart=Int_t (fGcking->gkin[isec][4] +0.5); - for(i=0;i<3;i++) { - x[i]=fGckin3->gpos[isec][i]; - p[i]=fGcking->gkin[isec][i]; - } - x[3]=fGcking->tofd[isec]; - p[3]=fGcking->gkin[isec][3]; - } else { - printf(" * TGeant3::GetSecondary * Secondary %d does not exist\n",isec); - x[0]=x[1]=x[2]=x[3]=p[0]=p[1]=p[2]=p[3]=0; - ipart=0; - } -} - -//______________________________________________________________________ -void TGeant3::InitLego() -{ - // - // Set switches for lego transport - // - SetSWIT(4,0); - SetDEBU(0,0,0); //do not print a message -} - -//______________________________________________________________________ -Bool_t TGeant3::IsTrackDisappeared() const -{ - // - // True if the current particle has disappeared - // either because it decayed or because it underwent - // an inelastic collision - // - return (fGctrak->istop==1); -} - -//______________________________________________________________________ -Bool_t TGeant3::IsTrackAlive() const -{ - // - // True if the current particle is alive and will continue to be - // transported - // - return (fGctrak->istop==0); -} - -//______________________________________________________________________ -void TGeant3::StopTrack() -{ - // - // Stop the transport of the current particle and skip to the next - // - fGctrak->istop=1; -} - -//______________________________________________________________________ -void TGeant3::StopEvent() -{ - // - // Stop simulation of the current event and skip to the next - // - fGcflag->ieotri=1; -} - -//______________________________________________________________________ -void TGeant3::StopRun() -{ - // - // Stop simulation of the current event and set the abort run flag to true - // - - StopTrack(); - StopEvent(); - fStopRun = kTRUE; -} - -//______________________________________________________________________ -Double_t TGeant3::MaxStep() const -{ - // - // Return the maximum step length in the current medium - // - return fGctmed->stemax; -} - -//______________________________________________________________________ -void TGeant3::SetMaxStep(Double_t maxstep) -{ - // - // Set the maximum step allowed till the particle is in the current medium - // - fGctmed->stemax=maxstep; -} - -//______________________________________________________________________ -void TGeant3::SetMaxNStep(Int_t maxnstp) -{ - // - // Set the maximum number of steps till the particle is in the current medium - // - fGctrak->maxnst=maxnstp; -} - -void TGeant3::ForceDecayTime(Float_t time) -{ - // - // Force the decay time of the current particle - // - TLorentzVector p; - TrackMomentum(p); - Gcphys()->sumlif = time / p.Beta() / p.Gamma() * 2.99792458e10; -} - -//______________________________________________________________________ -Int_t TGeant3::GetMaxNStep() const -{ - // - // Maximum number of steps allowed in current medium - // - return fGctrak->maxnst; -} - -//_______________________________________________________________________ -void TGeant3::G3Material(Int_t& kmat, const char* name, Double_t a, - Double_t z, Double_t dens, Double_t radl, - Double_t absl, Float_t* buf, Int_t nwbuf) -{ - // - // Defines a Material - // - // kmat number assigned to the material - // name material name - // a atomic mass in au - // z atomic number - // dens density in g/cm3 - // absl absorption length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -absl is taken - // radl radiation length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -radl is taken - // buf pointer to an array of user words - // nbuf number of user words - // - Int_t jmate=fGclink->jmate; - kmat=1; - Int_t ns, i; - if(jmate>0) { - ns=fZiq[jmate-2]; - kmat=ns+1; - for(i=1; i<=ns; i++) { - if(fZlq[jmate-i]==0) { - kmat=i; - break; - } - } - } - Float_t fa = a; - Float_t fz = z; - Float_t fdens = dens; - Float_t fradl = radl; - Float_t fabsl = absl; - - g3smate(kmat,PASSCHARD(name), fa, fz, fdens, fradl, fabsl, buf, - nwbuf PASSCHARL(name)); -} - -//______________________________________________________________________ -void TGeant3::Material(Int_t& kmat, const char* name, Double_t a, Double_t z, - Double_t dens, Double_t radl, Double_t absl, Float_t* buf, - Int_t nwbuf) -{ - // - // Defines a Material - // - // kmat number assigned to the material - // name material name - // a atomic mass in au - // z atomic number - // dens density in g/cm3 - // absl absorption length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -absl is taken - // radl radiation length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -radl is taken - // buf pointer to an array of user words - // nbuf number of user words - // - - G3Material(kmat, name, a, z, dens, radl, absl, buf, nwbuf); -} - -//______________________________________________________________________ -void TGeant3::Material(Int_t& kmat, const char* name, Double_t a, Double_t z, - Double_t dens, Double_t radl, Double_t absl, Double_t* buf, - Int_t nwbuf) -{ - // - // Defines a Material - // - // kmat number assigned to the material - // name material name - // a atomic mass in au - // z atomic number - // dens density in g/cm3 - // absl absorption length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -absl is taken - // radl radiation length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -radl is taken - // buf pointer to an array of user words - // nbuf number of user words - // - - - Float_t* fbuf = CreateFloatArray(buf, nwbuf); - G3Material(kmat, name, a, z, dens, radl, absl, fbuf, nwbuf); - delete [] fbuf; -} - -//______________________________________________________________________ -void TGeant3::G3Mixture(Int_t& kmat, const char* name, Float_t* a, Float_t* z, - Double_t dens, Int_t nlmat, Float_t* wmat) -{ - // - // Defines mixture OR COMPOUND IMAT as composed by - // THE BASIC NLMAT materials defined by arrays A,Z and WMAT - // - // If NLMAT > 0 then wmat contains the proportion by - // weights of each basic material in the mixture. - // - // If nlmat < 0 then WMAT contains the number of atoms - // of a given kind into the molecule of the COMPOUND - // In this case, WMAT in output is changed to relative - // weights. - // - - Int_t jmate=fGclink->jmate; - kmat=1; - Int_t ns, i; - if(jmate>0) { - ns=fZiq[jmate-2]; - kmat=ns+1; - for(i=1; i<=ns; i++) { - if(fZlq[jmate-i]==0) { - kmat=i; - break; - } - } - } - g3smixt(kmat,PASSCHARD(name),a,z,Float_t(dens),nlmat,wmat PASSCHARL(name)); -} - -//______________________________________________________________________ -void TGeant3::Mixture(Int_t& kmat, const char* name, Float_t* a, Float_t* z, - Double_t dens, Int_t nlmat, Float_t* wmat) -{ - // - // Defines mixture OR COMPOUND IMAT as composed by - // THE BASIC NLMAT materials defined by arrays A,Z and WMAT - // - // If NLMAT > 0 then wmat contains the proportion by - // weights of each basic material in the mixture. - // - // If nlmat < 0 then WMAT contains the number of atoms - // of a given kind into the molecule of the COMPOUND - // In this case, WMAT in output is changed to relative - // weights. - // - - Float_t* fa = CreateFloatArray(a, TMath::Abs(nlmat)); - Float_t* fz = CreateFloatArray(z, TMath::Abs(nlmat)); - Float_t* fwmat = CreateFloatArray(wmat, TMath::Abs(nlmat)); - - G3Mixture(kmat, name, fa, fz, dens, nlmat, fwmat); - Int_t i; - for (i=0; i 0 then wmat contains the proportion by - // weights of each basic material in the mixture. - // - // If nlmat < 0 then WMAT contains the number of atoms - // of a given kind into the molecule of the COMPOUND - // In this case, WMAT in output is changed to relative - // weights. - // - - Float_t* fa = CreateFloatArray(a, TMath::Abs(nlmat)); - Float_t* fz = CreateFloatArray(z, TMath::Abs(nlmat)); - Float_t* fwmat = CreateFloatArray(wmat, TMath::Abs(nlmat)); - - G3Mixture(kmat, name, fa, fz, dens, nlmat, fwmat); - Int_t i; - for (i=0; ijtmed; - kmed=1; - Int_t ns, i; - if(jtmed>0) { - ns=fZiq[jtmed-2]; - kmed=ns+1; - for(i=1; i<=ns; i++) { - if(fZlq[jtmed-i]==0) { - kmed=i; - break; - } - } - } - Float_t ffieldm = fieldm; - Float_t ftmaxfd = tmaxfd; - Float_t fstemax = stemax; - Float_t fdeemax = deemax; - Float_t fepsil = epsil; - Float_t fstmin = stmin; - g3stmed(kmed, PASSCHARD(name),nmat,isvol,ifield,ffieldm,ftmaxfd,fstemax, - fdeemax, fepsil, fstmin, ubuf, nbuf PASSCHARL(name)); - - fMedNames.AddAtAndExpand(new TObjString(name), kmed); -} - -//______________________________________________________________________ -void TGeant3::Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, - Int_t ifield, Double_t fieldm, Double_t tmaxfd, - Double_t stemax, Double_t deemax, Double_t epsil, - Double_t stmin, Float_t* ubuf, Int_t nbuf) -{ - // - // kmed tracking medium number assigned - // name tracking medium name - // nmat material number - // isvol sensitive volume flag - // ifield magnetic field - // fieldm max. field value (kilogauss) - // tmaxfd max. angle due to field (deg/step) - // stemax max. step allowed - // deemax max. fraction of energy lost in a step - // epsil tracking precision (cm) - // stmin min. step due to continuous processes (cm) - // - // ifield = 0 if no magnetic field; ifield = -1 if user decision in guswim; - // ifield = 1 if tracking performed with g3rkuta; ifield = 2 if tracking - // performed with g3helix; ifield = 3 if tracking performed with g3helx3. - // - - G3Medium(kmed,name,nmat,isvol,ifield,fieldm,tmaxfd,stemax,deemax,epsil, - stmin, ubuf, nbuf); - -} - -//______________________________________________________________________ -void TGeant3::Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, - Int_t ifield, Double_t fieldm, Double_t tmaxfd, - Double_t stemax, Double_t deemax, Double_t epsil, - Double_t stmin, Double_t* ubuf, Int_t nbuf) -{ - // - // kmed tracking medium number assigned - // name tracking medium name - // nmat material number - // isvol sensitive volume flag - // ifield magnetic field - // fieldm max. field value (kilogauss) - // tmaxfd max. angle due to field (deg/step) - // stemax max. step allowed - // deemax max. fraction of energy lost in a step - // epsil tracking precision (cm) - // stmin min. step due to continuous processes (cm) - // - // ifield = 0 if no magnetic field; ifield = -1 if user decision in guswim; - // ifield = 1 if tracking performed with g3rkuta; ifield = 2 if tracking - // performed with g3helix; ifield = 3 if tracking performed with g3helx3. - // - - Float_t* fubuf = CreateFloatArray(ubuf, nbuf); - G3Medium(kmed,name,nmat,isvol,ifield,fieldm,tmaxfd,stemax,deemax,epsil, - stmin, fubuf, nbuf); - delete [] fubuf; - -} - -//______________________________________________________________________ -void TGeant3::Matrix(Int_t& krot, Double_t thex, Double_t phix, Double_t they, - Double_t phiy, Double_t thez, Double_t phiz) -{ - // - // krot rotation matrix number assigned - // theta1 polar angle for axis i - // phi1 azimuthal angle for axis i - // theta2 polar angle for axis ii - // phi2 azimuthal angle for axis ii - // theta3 polar angle for axis iii - // phi3 azimuthal angle for axis iii - // - // it defines the rotation matrix number irot. - // - krot = -1; - Int_t jrotm=fGclink->jrotm; - krot=1; - Int_t ns, i; - if(jrotm>0) { - ns=fZiq[jrotm-2]; - krot=ns+1; - for(i=1; i<=ns; i++) { - if(fZlq[jrotm-i]==0) { - krot=i; - break; - } - } - } - g3srotm(krot, thex, phix, they, phiy, thez, phiz); -} - -//______________________________________________________________________ -Int_t TGeant3::CurrentMedium() const -{ - // - // Return the number of the current medium - // -//#ifdef WITHROOT -// Int_t imed = 0; -// TGeoNode *node = gGeoManager->GetCurrentNode(); -// if (!node) imed = gGeoManager->GetTopNode()->GetVolume()-> -// GetMedium()->GetId(); -// else imed = node->GetVolume()->GetMedium()->GetId(); - //printf("==GetMedium: ROOT id=%i numed=%i\n", imed,fGctmed->numed); -//#endif - return fGctmed->numed; -} - -//______________________________________________________________________ -Int_t TGeant3::GetMedium() const -{ - // - // Return the number of the current medium - // Deprecated function - replaced with CurrentMedium() - // - - Warning("GetMedium", - "Deprecated function - use CurrentMedium() instead"); - - return CurrentMedium(); -} - -//______________________________________________________________________ -void TGeant3::SetRootGeometry() -{ -// Notify Geant3 about use of TGeo geometry. -// The materials and tracking medias will be imported from -// TGeo at FinishGeometry(). - - Fatal("SetRootGeometry", - "TGeant3 does not support Root geometry"); - - fImportRootGeometry = kTRUE; -} - -//______________________________________________________________________ -const char *TGeant3::GetPath() -{ -// Get current path inside G3 geometry - Int_t i,j; - if ((i=fGcvolu->nlevel-1)<0) { - Warning("GetPath", "level null"); - return fPath; - } - fPath[0] = '/'; - char name[10]; - char *namcur = fPath+1; - Int_t gname, copy; - Int_t nch=0; - for (j=0; jnames[j]; - copy = fGcvolu->number[j]; - memcpy(name, &gname, 4); - name[4]=0; - sprintf(namcur, "%s_%d/", name, copy); - nch = strlen(fPath); - namcur = fPath+nch; - } - fPath[nch-1]=0; - return fPath; -} - -//______________________________________________________________________ -const char *TGeant3::GetNodeName() -{ -// Get name of current G3 node - Int_t i=fGcvolu->nlevel-1; - if (i<0) return ""; - Int_t gname = fGcvolu->names[i]; - Int_t copy = fGcvolu->number[i]; - char name[10]; - memcpy(name, &gname, 4); - name[4] = 0; - sprintf(fPath, "%s_%d", name, copy); - return fPath; -} - -//______________________________________________________________________ -Double_t TGeant3::Edep() const -{ - // - // Return the energy lost in the current step - // - return fGctrak->destep; -} - -//______________________________________________________________________ -Double_t TGeant3::Etot() const -{ - // - // Return the total energy of the current track - // - return fGctrak->getot; -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GBASE -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//______________________________________________________________________ -void TGeant3::Gfile(const char * /*filename*/, const char * /*option*/) -{ - // - // Routine to open a GEANT/RZ data base. - // - // LUN logical unit number associated to the file - // - // CHFILE RZ file name - // - // CHOPT is a character string which may be - // N To create a new file - // U to open an existing file for update - // " " to open an existing file for read only - // Q The initial allocation (default 1000 records) - // is given in IQUEST(10) - // X Open the file in exchange format - // I Read all data structures from file to memory - // O Write all data structures from memory to file - // - // Note: - // If options "I" or "O" all data structures are read or - // written from/to file and the file is closed. - // See routine GRMDIR to create subdirectories - // See routines GROUT,GRIN to write,read objects - // - //g3rfile(21, PASSCHARD(filename), PASSCHARD(option) PASSCHARL(filename) -// PASSCHARL(option)); -} - -//______________________________________________________________________ -void TGeant3::Gpcxyz() -{ - // - // Print track and volume parameters at current point - // - - g3pcxyz(); -} -//______________________________________________________________________ -void TGeant3::Ggclos() -{ - // - // Closes off the geometry setting. - // Initializes the search list for the contents of each - // volume following the order they have been positioned, and - // inserting the content '0' when a call to GSNEXT (-1) has - // been required by the user. - // Performs the development of the JVOLUM structure for all - // volumes with variable parameters, by calling GGDVLP. - // Interprets the user calls to GSORD, through GGORD. - // Computes and stores in a bank (next to JVOLUM mother bank) - // the number of levels in the geometrical tree and the - // maximum number of contents per level, by calling GGNLEV. - // Sets status bit for CONCAVE volumes, through GGCAVE. - // Completes the JSET structure with the list of volume names - // which identify uniquely a given physical detector, the - // list of bit numbers to pack the corresponding volume copy - // numbers, and the generic path(s) in the JVOLUM tree, - // through the routine GHCLOS. - // - g3gclos(); - // Create internal list of volumes - fVolNames = new char[fGcnum->nvolum+1][5]; - Int_t i; - for(i=0; involum; ++i) { - strncpy(fVolNames[i], (char *) &fZiq[fGclink->jvolum+i+1], 4); - fVolNames[i][4]='\0'; - } - strcpy(fVolNames[fGcnum->nvolum],"NULL"); -} - -//______________________________________________________________________ -void TGeant3::Glast() -{ - // - // Finish a Geant run - // - g3last(); -} - -//______________________________________________________________________ -void TGeant3::Gprint(const char *name) -{ - // - // Routine to print data structures - // CHNAME name of a data structure - // - char vname[5]; - Vname(name,vname); - g3print(PASSCHARD(vname),0 PASSCHARL(vname)); -} - -//______________________________________________________________________ -void TGeant3::Grun() -{ - // - // Steering function to process one run - // - g3run(); -} - -//______________________________________________________________________ -void TGeant3::Gtrig() -{ - // - // Steering function to process one event - // - g3trig(); - - //printf("count_gmedia= %8d\n",count_gmedia); - //printf("count_gtmedi= %8d\n",count_gtmedi); - //printf("count_ginvol= %8d\n",count_ginvol); - //printf("count_gtnext= %8d\n",count_gtnext); -} - -//______________________________________________________________________ -void TGeant3::Gtrigc() -{ - // - // Clear event partition - // - g3trigc(); -} - -//______________________________________________________________________ -void TGeant3::Gtrigi() -{ - // - // Initializes event partition - // - g3trigi(); -} - -//______________________________________________________________________ -void TGeant3::Gwork(Int_t nwork) -{ - // - // Allocates workspace in ZEBRA memory - // - g3work(nwork); -} - -//______________________________________________________________________ -void TGeant3::Gzinit() -{ - // - // To initialize GEANT/ZEBRA data structures - // - g3zinit(); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GCONS -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//______________________________________________________________________ -void TGeant3::Gfmate(Int_t imat, char *name, Float_t &a, Float_t &z, - Float_t &dens, Float_t &radl, Float_t &absl, - Float_t* ubuf, Int_t& nbuf) -{ - // - // Return parameters for material IMAT - // - g3fmate(imat, PASSCHARD(name), a, z, dens, radl, absl, ubuf, nbuf - PASSCHARL(name)); -} - -//______________________________________________________________________ -void TGeant3::Gfmate(Int_t imat, char *name, Double_t &a, Double_t &z, - Double_t &dens, Double_t &radl, Double_t &absl, - Double_t* ubuf, Int_t& nbuf) -{ - // - // Return parameters for material IMAT - // - Float_t fa = a; - Float_t fz = z; - Float_t fdens = dens; - Float_t fradl = radl; - Float_t fabsl = absl; - Float_t* fubuf = CreateFloatArray(ubuf, nbuf); - - Gfmate(imat, name, fa, fz, fdens, fradl, fabsl, fubuf, nbuf); - - a = fa; - z = fz; - dens = fdens; - radl = fradl; - absl = fabsl; - for (Int_t i=0; i=0 it is ignored and the program - // calculates it, if <0. -absl is taken - // radl radiation length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -radl is taken - // buf pointer to an array of user words - // nbuf number of user words - // - Float_t *ubuf=0; - Int_t nbuf=0; - if (dens <= 0 && a != 0 && z != 0) { - Warning("Gsmate","Density was o, set to 0.01 for imat=%d, name=%s", - imat,name); - dens = 0.01; - } - g3smate(imat,PASSCHARD(name), a, z, dens, radl, absl, ubuf, nbuf - PASSCHARL(name)); -} - -//______________________________________________________________________ -void TGeant3::Gsmixt(Int_t imat, const char *name, Float_t *a, Float_t *z, - Float_t dens, Int_t nlmat, Float_t *wmat) -{ - // - // Defines mixture OR COMPOUND IMAT as composed by - // THE BASIC NLMAT materials defined by arrays A,Z and WMAT - // - // If NLMAT.GT.0 then WMAT contains the PROPORTION BY - // WEIGHTS OF EACH BASIC MATERIAL IN THE MIXTURE. - // - // If NLMAT.LT.0 then WMAT contains the number of atoms - // of a given kind into the molecule of the COMPOUND - // In this case, WMAT in output is changed to relative - // weights. - // - g3smixt(imat,PASSCHARD(name), a, z,dens, nlmat,wmat PASSCHARL(name)); -} - -//______________________________________________________________________ -void TGeant3::Gspart(Int_t ipart, const char *name, Int_t itrtyp, - Double_t amass, Double_t charge, Double_t tlife) -{ - // - // Store particle parameters - // - // ipart particle code - // name particle name - // itrtyp transport method (see GEANT manual) - // amass mass in GeV/c2 - // charge charge in electron units - // tlife lifetime in seconds - // - Float_t *ubuf=0; - Int_t nbuf=0; - Float_t fmass = amass; - Float_t fcharge = charge; - Float_t flife = tlife; - - g3spart(ipart,PASSCHARD(name), itrtyp, fmass, fcharge, flife, ubuf, nbuf - PASSCHARL(name)); -} - -//______________________________________________________________________ -void TGeant3::Gstmed(Int_t numed, const char *name, Int_t nmat, Int_t isvol, - Int_t ifield, Float_t fieldm, Float_t tmaxfd, - Float_t stemax, Float_t deemax, Float_t epsil, - Float_t stmin) -{ - // - // NTMED Tracking medium number - // NAME Tracking medium name - // NMAT Material number - // ISVOL Sensitive volume flag - // IFIELD Magnetic field - // FIELDM Max. field value (Kilogauss) - // TMAXFD Max. angle due to field (deg/step) - // STEMAX Max. step allowed - // DEEMAX Max. fraction of energy lost in a step - // EPSIL Tracking precision (cm) - // STMIN Min. step due to continuous processes (cm) - // - // IFIELD = 0 if no magnetic field; IFIELD = -1 if user decision in GUSWIM; - // IFIELD = 1 if tracking performed with G3RKUTA; IFIELD = 2 if tracking - // performed with G3HELIX; IFIELD = 3 if tracking performed with G3HELX3. - // - Float_t *ubuf=0; - Int_t nbuf=0; - g3stmed(numed,PASSCHARD(name), nmat, isvol, ifield, fieldm, tmaxfd, stemax, - deemax, epsil, stmin, ubuf, nbuf PASSCHARL(name)); -} - -//______________________________________________________________________ -void TGeant3::Gsckov(Int_t itmed, Int_t npckov, Float_t *ppckov, - Float_t *absco, Float_t *effic, Float_t *rindex) -{ - // - // Stores the tables for UV photon tracking in medium ITMED - // Please note that it is the user's responsibility to - // provide all the coefficients: - // - // - // ITMED Tracking medium number - // NPCKOV Number of bins of each table - // PPCKOV Value of photon momentum (in GeV) - // ABSCO Absorption coefficients - // dielectric: absorption length in cm - // metals : absorption fraction (0<=x<=1) - // EFFIC Detection efficiency for UV photons - // RINDEX Refraction index (if=0 metal) - // - g3sckov(itmed,npckov,ppckov,absco,effic,rindex); -} - -//______________________________________________________________________ -void TGeant3::SetCerenkov(Int_t itmed, Int_t npckov, Float_t *ppckov, - Float_t *absco, Float_t *effic, Float_t *rindex) -{ - // - // Stores the tables for UV photon tracking in medium ITMED - // Please note that it is the user's responsibility to - // provide all the coefficients: - // - // - // ITMED Tracking medium number - // NPCKOV Number of bins of each table - // PPCKOV Value of photon momentum (in GeV) - // ABSCO Absorption coefficients - // dielectric: absorption length in cm - // metals : absorption fraction (0<=x<=1) - // EFFIC Detection efficiency for UV photons - // RINDEX Refraction index (if=0 metal) - // - g3sckov(itmed,npckov,ppckov,absco,effic,rindex); -} - -//______________________________________________________________________ -void TGeant3::SetCerenkov(Int_t itmed, Int_t npckov, Double_t *ppckov, - Double_t *absco, Double_t *effic, Double_t *rindex) -{ - // - // Stores the tables for UV photon tracking in medium ITMED - // Please note that it is the user's responsibility to - // provide all the coefficients: - // - // - // ITMED Tracking medium number - // NPCKOV Number of bins of each table - // PPCKOV Value of photon momentum (in GeV) - // ABSCO Absorption coefficients - // dielectric: absorption length in cm - // metals : absorption fraction (0<=x<=1) - // EFFIC Detection efficiency for UV photons - // RINDEX Refraction index (if=0 metal) - // - - Float_t* fppckov = CreateFloatArray(ppckov, npckov); - Float_t* fabsco = CreateFloatArray(absco, npckov); - Float_t* feffic = CreateFloatArray(effic, npckov); - Float_t* frindex = CreateFloatArray(rindex, npckov); - - SetCerenkov(itmed, npckov, fppckov, fabsco, feffic, frindex); - - delete [] fppckov; - delete [] fabsco; - delete [] feffic; - delete [] frindex; -} - -//______________________________________________________________________ -void TGeant3::DefineOpSurface(const char* /*name*/, - EMCOpSurfaceModel /*model*/, EMCOpSurfaceType /*surfaceType*/, - EMCOpSurfaceFinish /*surfaceFinish*/, Double_t /*sigmaAlpha*/) -{ - - Warning("DefineOpSurface", - "Not applicable in Geant3 - setting is ignored."); -} - -//______________________________________________________________________ -void TGeant3::SetBorderSurface(const char* /*name*/, - const char* /*vol1Name*/, int /*vol1CopyNo*/, - const char* /*vol2Name*/, int /*vol2CopyNo*/, - const char* /*opSurfaceName*/) -{ - Warning("SetBorderSurface", - "Not applicable in Geant3 - setting is ignored."); -} - -//______________________________________________________________________ -void TGeant3::SetSkinSurface(const char* /*name*/, - const char* /*volName*/, - const char* /*opSurfaceName*/) -{ - Warning("SetSkinSurface", - "Not applicable in Geant3 - setting is ignored."); -} - -//______________________________________________________________________ -void TGeant3::SetMaterialProperty( - Int_t /*itmed*/, const char* /*propertyName*/, - Int_t /*np*/, Double_t* /*pp*/, Double_t* /*values*/) -{ - Warning("SetMaterialProperty", - "Not applicable in Geant3 - setting is ignored."); -} - -//______________________________________________________________________ -void TGeant3::SetMaterialProperty( - Int_t /*itmed*/, const char* /*propertyName*/, - Double_t /*value*/) -{ - Warning("SetMaterialProperty", - "Not applicable in Geant3 - setting is ignored."); -} - -//______________________________________________________________________ -void TGeant3::SetMaterialProperty( - const char* /*surfaceName*/, const char* /*propertyName*/, - Int_t /*np*/, Double_t* /*pp*/, Double_t* /*values*/) - { - Warning("SetMaterialProperty", - "Not applicable in Geant3 - setting is ignored."); -} - -//______________________________________________________________________ -void TGeant3::Gstpar(Int_t itmed, const char *param, Double_t parval) -{ - // - // To change the value of cut or mechanism "CHPAR" - // to a new value PARVAL for tracking medium ITMED - // The data structure JTMED contains the standard tracking - // parameters (CUTS and flags to control the physics processes) which - // are used by default for all tracking media. It is possible to - // redefine individually with GSTPAR any of these parameters for a - // given tracking medium. - // ITMED tracking medium number - // CHPAR is a character string (variable name) - // PARVAL must be given as a floating point. - // - - Float_t fparval = parval; - g3stpar(itmed,PASSCHARD(param), fparval PASSCHARL(param)); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GCONS -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//______________________________________________________________________ -void TGeant3::Gfkine(Int_t itra, Float_t *vert, Float_t *pvert, - Int_t &ipart, Int_t &nvert) -{ - // Storing/Retrieving Vertex and Track parameters - // ---------------------------------------------- - // - // Stores vertex parameters. - // VERT array of (x,y,z) position of the vertex - // NTBEAM beam track number origin of the vertex - // =0 if none exists - // NTTARG target track number origin of the vertex - // UBUF user array of NUBUF floating point numbers - // NUBUF - // NVTX new vertex number (=0 in case of error). - // Prints vertex parameters. - // IVTX for vertex IVTX. - // (For all vertices if IVTX=0) - // Stores long life track parameters. - // PLAB components of momentum - // IPART type of particle (see GSPART) - // NV vertex number origin of track - // UBUF array of NUBUF floating point user parameters - // NUBUF - // NT track number (if=0 error). - // Retrieves long life track parameters. - // ITRA track number for which parameters are requested - // VERT vector origin of the track - // PVERT 4 momentum components at the track origin - // IPART particle type (=0 if track ITRA does not exist) - // NVERT vertex number origin of the track - // UBUF user words stored in GSKINE. - // Prints initial track parameters. - // ITRA for track ITRA - // (For all tracks if ITRA=0) - // - Float_t *ubuf=0; - Int_t nbuf; - g3fkine(itra,vert,pvert,ipart,nvert,ubuf,nbuf); -} - -//______________________________________________________________________ -void TGeant3::Gfvert(Int_t nvtx, Float_t *v, Int_t &ntbeam, Int_t &nttarg, - Float_t &tofg) -{ - // - // Retrieves the parameter of a vertex bank - // Vertex is generated from tracks NTBEAM NTTARG - // NVTX is the new vertex number - // - Float_t *ubuf=0; - Int_t nbuf; - g3fvert(nvtx,v,ntbeam,nttarg,tofg,ubuf,nbuf); -} - -//______________________________________________________________________ -Int_t TGeant3::Gskine(Float_t *plab, Int_t ipart, Int_t nv, Float_t *buf, - Int_t nwbuf) -{ - // - // Store kinematics of track NT into data structure - // Track is coming from vertex NV - // - Int_t nt = 0; - g3skine(plab, ipart, nv, buf, nwbuf, nt); - return nt; -} - -//______________________________________________________________________ -Int_t TGeant3::Gsvert(Float_t *v, Int_t ntbeam, Int_t nttarg, Float_t *ubuf, - Int_t nwbuf) -{ - // - // Creates a new vertex bank - // Vertex is generated from tracks NTBEAM NTTARG - // NVTX is the new vertex number - // - Int_t nwtx = 0; - g3svert(v, ntbeam, nttarg, ubuf, nwbuf, nwtx); - return nwtx; -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GPHYS -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//______________________________________________________________________ -void TGeant3::Gphysi() -{ - // - // Initialize material constants for all the physics - // mechanisms used by GEANT - // - g3physi(); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GTRAK -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//______________________________________________________________________ -void TGeant3::Gdebug() -{ - // - // Debug the current step - // - g3debug(); -} - -//______________________________________________________________________ -void TGeant3::Gekbin() -{ - // - // To find bin number in kinetic energy table - // stored in ELOW(NEKBIN) - // - g3ekbin(); -} - -//______________________________________________________________________ -void TGeant3::Gfinds() -{ - // - // Returns the set/volume parameters corresponding to - // the current space point in /GCTRAK/ - // and fill common /GCSETS/ - // - // IHSET user set identifier - // IHDET user detector identifier - // ISET set number in JSET - // IDET detector number in JS=LQ(JSET-ISET) - // IDTYPE detector type (1,2) - // NUMBV detector volume numbers (array of length NVNAME) - // NVNAME number of volume levels - // - g3finds(); -} - -//______________________________________________________________________ -void TGeant3::Gsking(Int_t igk) -{ - // - // Stores in stack JSTAK either the IGKth track of /GCKING/, - // or the NGKINE tracks when IGK is 0. - // - g3sking(igk); -} - -//______________________________________________________________________ -void TGeant3::Gskpho(Int_t igk) -{ - // - // Stores in stack JSTAK either the IGKth Cherenkov photon of - // /GCKIN2/, or the NPHOT tracks when IGK is 0. - // - g3skpho(igk); -} - -//______________________________________________________________________ -void TGeant3::Gsstak(Int_t iflag) -{ - // - // Stores in auxiliary stack JSTAK the particle currently - // described in common /GCKINE/. - // - // On request, creates also an entry in structure JKINE : - // IFLAG = - // 0 : No entry in JKINE structure required (user) - // 1 : New entry in JVERTX / JKINE structures required (user) - // <0 : New entry in JKINE structure at vertex -IFLAG (user) - // 2 : Entry in JKINE structure exists already (from GTREVE) - // - g3sstak(iflag); -} - -//______________________________________________________________________ -void TGeant3::Gsxyz() -{ - // - // Store space point VECT in banks JXYZ - // - g3sxyz(); -} - -//______________________________________________________________________ -void TGeant3::Gtrack() -{ - // - // Controls tracking of current particle - // - g3track(); -} - -//______________________________________________________________________ -void TGeant3::Gtreve() -{ - // - // Controls tracking of all particles belonging to the current event - // - g3treve(); -} - -//______________________________________________________________________ -void TGeant3::GtreveRoot() -{ - // - // Controls tracking of all particles belonging to the current event - // - gtreveroot(); -} - -//______________________________________________________________________ -void TGeant3::Grndm(Float_t *rvec, Int_t len) const -{ - // - // To set/retrieve the seed of the random number generator - // - TRandom* r=gMC->GetRandom(); - for(Int_t i=0; iRndm()); -} - -//______________________________________________________________________ -void TGeant3::Grndmq(Int_t &is1, Int_t &is2, Int_t /*iseq*/, - const Text_t */*chopt*/) -{ - // - // To set/retrieve the seed of the random number generator - // - /*printf("Dummy grndmq called\n");*/ - is1 = gRandom->GetSeed(); - is2 = 0; -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GDRAW -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//______________________________________________________________________ -void TGeant3::Gdxyz(Int_t /* it */) -{ - // - // Draw the points stored with Gsxyz relative to track it - // -} - -//______________________________________________________________________ -void TGeant3::Gdcxyz() -{ - // - // Draw the position of the current track - // -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GGEOM -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//______________________________________________________________________ -void TGeant3::Gdtom(Float_t *xd, Float_t *xm, Int_t iflag) -{ - // - // Computes coordinates XM (Master Reference System - // knowing the coordinates XD (Detector Ref System) - // The local reference system can be initialized by - // - the tracking routines and GDTOM used in GUSTEP - // - a call to GSCMED(NLEVEL,NAMES,NUMBER) - // (inverse routine is GMTOD) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosines - // - g3dtom(xd, xm, iflag); -} - -//______________________________________________________________________ -void TGeant3::Gdtom(Double_t *xd, Double_t *xm, Int_t iflag) -{ - // - // Computes coordinates XM (Master Reference System - // knowing the coordinates XD (Detector Ref System) - // The local reference system can be initialized by - // - the tracking routines and GDTOM used in GUSTEP - // - a call to GSCMED(NLEVEL,NAMES,NUMBER) - // (inverse routine is GMTOD) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosines - // - - Float_t* fxd = CreateFloatArray(xd, 3); - Float_t* fxm = CreateFloatArray(xm, 3); - - Gdtom(fxd, fxm, iflag) ; - - for (Int_t i=0; i<3; i++) { - xd[i] = fxd[i]; xm[i] = fxm[i]; - } - - delete [] fxd; - delete [] fxm; -} - -//______________________________________________________________________ -void TGeant3::Glmoth(const char* iudet, Int_t iunum, Int_t &nlev, - Int_t *lvols, Int_t *lindx) -{ - // - // Loads the top part of the Volume tree in LVOLS (IVO's), - // LINDX (IN indices) for a given volume defined through - // its name IUDET and number IUNUM. - // - // The routine stores only up to the last level where JVOLUM - // data structure is developed. If there is no development - // above the current level, it returns NLEV zero. - Int_t *idum=0; - g3lmoth(PASSCHARD(iudet), iunum, nlev, lvols, lindx, idum PASSCHARL(iudet)); -} - -//______________________________________________________________________ -void TGeant3::Gmedia(Float_t *x, Int_t &numed) -{ - // - // Finds in which volume/medium the point X is, and updates the - // common /GCVOLU/ and the structure JGPAR accordingly. - // - // NUMED returns the tracking medium number, or 0 if point is - // outside the experimental setup. - // - - static Int_t check = 0; - g3media(x,numed,check); -} - -//______________________________________________________________________ -void TGeant3::Gmtod(Float_t *xm, Float_t *xd, Int_t iflag) -{ - // - // Computes coordinates XD (in DRS) - // from known coordinates XM in MRS - // The local reference system can be initialized by - // - the tracking routines and GMTOD used in GUSTEP - // - a call to GMEDIA(XM,NUMED,CHECK) - // - a call to GLVOLU(NLEVEL,NAMES,NUMBER,IER) - // (inverse routine is GDTOM) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosines - // - g3mtod(xm, xd, iflag); -} - -//______________________________________________________________________ -void TGeant3::Gmtod(Double_t *xm, Double_t *xd, Int_t iflag) -{ - // - // Computes coordinates XD (in DRS) - // from known coordinates XM in MRS - // The local reference system can be initialized by - // - the tracking routines and GMTOD used in GUSTEP - // - a call to GMEDIA(XM,NUMED,CHECK) - // - a call to GLVOLU(NLEVEL,NAMES,NUMBER,IER) - // (inverse routine is GDTOM) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosines - // - - - Float_t* fxm = CreateFloatArray(xm, 3); - Float_t* fxd = CreateFloatArray(xd, 3); - - Gmtod(fxm, fxd, iflag) ; - - for (Int_t i=0; i<3; i++) { - xm[i] = fxm[i]; xd[i] = fxd[i]; - } - - delete [] fxm; - delete [] fxd; -} - -//______________________________________________________________________ -void TGeant3::Gsdvn(const char *name, const char *mother, Int_t ndiv, - Int_t iaxis) -{ - // - // Create a new volume by dividing an existing one - // - // NAME Volume name - // MOTHER Mother volume name - // NDIV Number of divisions - // IAXIS Axis value - // - // X,Y,Z of CAXIS will be translated to 1,2,3 for IAXIS. - // It divides a previously defined volume. - // - char vname[5]; - Vname(name,vname); - char vmother[5]; - Vname(mother,vmother); - - g3sdvn(PASSCHARD(vname), PASSCHARD(vmother), ndiv, iaxis PASSCHARL(vname) - PASSCHARL(vmother)); -} - -//______________________________________________________________________ -void TGeant3::Gsdvn2(const char *name, const char *mother, Int_t ndiv, - Int_t iaxis, Double_t c0i, Int_t numed) -{ - // - // Create a new volume by dividing an existing one - // - // Divides mother into ndiv divisions called name - // along axis iaxis starting at coordinate value c0. - // the new volume created will be medium number numed. - // - char vname[5]; - Vname(name,vname); - char vmother[5]; - Vname(mother,vmother); - - Float_t fc0i = c0i; - g3sdvn2(PASSCHARD(vname), PASSCHARD(vmother), ndiv, iaxis, fc0i, numed - PASSCHARL(vname) PASSCHARL(vmother)); -} - -//______________________________________________________________________ -void TGeant3::Gsdvs(const char *name, const char *mother, Float_t step, - Int_t iaxis, Int_t numed) -{ - // - // Create a new volume by dividing an existing one - // - char vname[5]; - Vname(name,vname); - char vmother[5]; - Vname(mother,vmother); - - g3sdvs(PASSCHARD(vname), PASSCHARD(vmother), step, iaxis, numed - PASSCHARL(vname) PASSCHARL(vmother)); -} - -//______________________________________________________________________ -void TGeant3::Gsdvs2(const char *name, const char *mother, Float_t step, - Int_t iaxis, Float_t c0, Int_t numed) -{ - // - // Create a new volume by dividing an existing one - // - char vname[5]; - Vname(name,vname); - char vmother[5]; - Vname(mother,vmother); - - g3sdvs2(PASSCHARD(vname), PASSCHARD(vmother), step, iaxis, c0, numed - PASSCHARL(vname) PASSCHARL(vmother)); -} - -//______________________________________________________________________ -void TGeant3::Gsdvt(const char *name, const char *mother, Double_t step, - Int_t iaxis, Int_t numed, Int_t ndvmx) -{ - // - // Create a new volume by dividing an existing one - // - // Divides MOTHER into divisions called NAME along - // axis IAXIS in steps of STEP. If not exactly divisible - // will make as many as possible and will center them - // with respect to the mother. Divisions will have medium - // number NUMED. If NUMED is 0, NUMED of MOTHER is taken. - // NDVMX is the expected maximum number of divisions - // (If 0, no protection tests are performed) - // - char vname[5]; - Vname(name,vname); - char vmother[5]; - Vname(mother,vmother); - - Float_t fstep = step; - g3sdvt(PASSCHARD(vname), PASSCHARD(vmother), fstep, iaxis, numed, ndvmx - PASSCHARL(vname) PASSCHARL(vmother)); -} - -//______________________________________________________________________ -void TGeant3::Gsdvt2(const char *name, const char *mother, Double_t step, - Int_t iaxis, Double_t c0, Int_t numed, Int_t ndvmx) -{ - // - // Create a new volume by dividing an existing one - // - // Divides MOTHER into divisions called NAME along - // axis IAXIS starting at coordinate value C0 with step - // size STEP. - // The new volume created will have medium number NUMED. - // If NUMED is 0, NUMED of mother is taken. - // NDVMX is the expected maximum number of divisions - // (If 0, no protection tests are performed) - // - char vname[5]; - Vname(name,vname); - char vmother[5]; - Vname(mother,vmother); - - Float_t fstep = step; - Float_t fc0 = c0; - g3sdvt2(PASSCHARD(vname), PASSCHARD(vmother), fstep, iaxis, fc0, - numed, ndvmx PASSCHARL(vname) PASSCHARL(vmother)); -} - -//______________________________________________________________________ -void TGeant3::Gsord(const char *name, Int_t iax) -{ - // - // Flags volume CHNAME whose contents will have to be ordered - // along axis IAX, by setting the search flag to -IAX - // IAX = 1 X axis - // IAX = 2 Y axis - // IAX = 3 Z axis - // IAX = 4 Rxy (static ordering only -> GTMEDI) - // IAX = 14 Rxy (also dynamic ordering -> GTNEXT) - // IAX = 5 Rxyz (static ordering only -> GTMEDI) - // IAX = 15 Rxyz (also dynamic ordering -> GTNEXT) - // IAX = 6 PHI (PHI=0 => X axis) - // IAX = 7 THETA (THETA=0 => Z axis) - // - - char vname[5]; - Vname(name,vname); - g3sord(PASSCHARD(vname), iax PASSCHARL(vname)); -} - -//______________________________________________________________________ -void TGeant3::Gspos(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly) -{ - // - // Position a volume into an existing one - // - // NAME Volume name - // NUMBER Copy number of the volume - // MOTHER Mother volume name - // X X coord. of the volume in mother ref. sys. - // Y Y coord. of the volume in mother ref. sys. - // Z Z coord. of the volume in mother ref. sys. - // IROT Rotation matrix number w.r.t. mother ref. sys. - // ONLY ONLY/MANY flag - // - // It positions a previously defined volume in the mother. - // - - TString only = konly; - only.ToLower(); - Bool_t isOnly = kFALSE; - if (only.Contains("only")) isOnly = kTRUE; - char vname[5]; - Vname(name,vname); - char vmother[5]; - Vname(mother,vmother); - - Float_t fx = x; - Float_t fy = y; - Float_t fz = z; - g3spos(PASSCHARD(vname), nr, PASSCHARD(vmother), fx, fy, fz, irot, - PASSCHARD(konly) PASSCHARL(vname) PASSCHARL(vmother) - PASSCHARL(konly)); -} - -//______________________________________________________________________ -void TGeant3::G3Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Float_t *upar, Int_t np ) -{ - // - // Place a copy of generic volume NAME with user number - // NR inside MOTHER, with its parameters UPAR(1..NP) - // - TString only = konly; - only.ToLower(); - Bool_t isOnly = kFALSE; - if (only.Contains("only")) isOnly = kTRUE; - char vname[5]; - Vname(name,vname); - char vmother[5]; - Vname(mother,vmother); - - Float_t fx = x; - Float_t fy = y; - Float_t fz = z; - g3sposp(PASSCHARD(vname), nr, PASSCHARD(vmother), fx, fy, fz, irot, - PASSCHARD(konly), upar, np PASSCHARL(vname) PASSCHARL(vmother) - PASSCHARL(konly)); -} - -//______________________________________________________________________ -void TGeant3::Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Float_t *upar, Int_t np ) -{ - // - // Place a copy of generic volume NAME with user number - // NR inside MOTHER, with its parameters UPAR(1..NP) - // - - G3Gsposp(name, nr, mother, x, y, z, irot, konly, upar, np); -} - -//______________________________________________________________________ -void TGeant3::Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Double_t *upar, Int_t np ) -{ - // - // Place a copy of generic volume NAME with user number - // NR inside MOTHER, with its parameters UPAR(1..NP) - // - - Float_t* fupar = CreateFloatArray(upar, np); - G3Gsposp(name, nr, mother, x, y, z, irot, konly, fupar, np); - delete [] fupar; -} - -//______________________________________________________________________ -void TGeant3::Gsrotm(Int_t nmat, Float_t theta1, Float_t phi1, Float_t theta2, - Float_t phi2, Float_t theta3, Float_t phi3) -{ - // - // nmat Rotation matrix number - // THETA1 Polar angle for axis I - // PHI1 Azimuthal angle for axis I - // THETA2 Polar angle for axis II - // PHI2 Azimuthal angle for axis II - // THETA3 Polar angle for axis III - // PHI3 Azimuthal angle for axis III - // - // It defines the rotation matrix number IROT. - // - - g3srotm(nmat, theta1, phi1, theta2, phi2, theta3, phi3); -} - -//______________________________________________________________________ -void TGeant3::Gprotm(Int_t nmat) -{ - // - // To print rotation matrices structure JROTM - // nmat Rotation matrix number - // - g3protm(nmat); - } - -//______________________________________________________________________ -Int_t TGeant3::G3Gsvolu(const char *name, const char *shape, Int_t nmed, - Float_t *upar, Int_t npar) -{ - // - // NAME Volume name - // SHAPE Volume type - // NUMED Tracking medium number - // NPAR Number of shape parameters - // UPAR Vector containing shape parameters - // - // It creates a new volume in the JVOLUM data structure. - // - Int_t ivolu = 0; - char vname[5]; - Vname(name,vname); - char vshape[5]; - Vname(shape,vshape); - - g3svolu(PASSCHARD(vname), PASSCHARD(vshape), nmed, upar, npar, ivolu - PASSCHARL(vname) PASSCHARL(vshape)); - - return ivolu; -} -//______________________________________________________________________ -Int_t TGeant3::Gsvolu(const char *name, const char *shape, Int_t nmed, - Float_t *upar, Int_t npar) -{ - // - // NAME Volume name - // SHAPE Volume type - // NUMED Tracking medium number - // NPAR Number of shape parameters - // UPAR Vector containing shape parameters - // - // It creates a new volume in the JVOLUM data structure. - // - - Int_t ivolu = 0; - ivolu = G3Gsvolu(name, shape, nmed, upar, npar); - return ivolu; - -} - -//______________________________________________________________________ -Int_t TGeant3::Gsvolu(const char *name, const char *shape, Int_t nmed, - Double_t *upar, Int_t npar) -{ - // - // NAME Volume name - // SHAPE Volume type - // NUMED Tracking medium number - // NPAR Number of shape parameters - // UPAR Vector containing shape parameters - // - // It creates a new volume in the JVOLUM data structure. - // - - - Int_t ivolu = 0; - Float_t* fupar = CreateFloatArray(upar, npar); - ivolu = G3Gsvolu(name, shape, nmed, fupar, npar); - delete [] fupar; - return ivolu; -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// T H E D R A W I N G P A C K A G E -// ====================================== -// Drawing functions. These functions allow the visualization in several -// ways of the volumes defined in the geometrical data structure. It is -// possible to draw the logical tree of volumes belonging to the detector -// (DTREE), to show their geometrical specification (DSPEC,DFSPC), to -// draw them and their cut views (DRAW, DCUT). Moreover, it is possible -// to execute these commands when the hidden line removal option is -// activated; in this case, the volumes can be also either translated -// in the space (SHIFT), or clipped by boolean operation (CVOL). In -// addition, it is possible to fill the surfaces of the volumes -// with solid colors when the shading option (SHAD) is activated. -// Several tools (ZOOM, LENS) have been developed to zoom detailed parts -// of the detectors or to scan physical events as well. -// Finally, the command MOVE will allow the rotation, translation and -// zooming on real time parts of the detectors or tracks and hits of a -// simulated event. Ray-tracing commands. In case the command (DOPT RAYT -// ON) is executed, the drawing is performed by the Geant ray-tracing; -// automatically, the color is assigned according to the tracking medium -// of each volume and the volumes with a density lower/equal than the -// air are considered transparent; if the option (USER) is set (ON) -// (again via the command (DOPT)), the user can set color and visibility -// for the desired volumes via the command (SATT), as usual, relatively -// to the attributes (COLO) and (SEEN). The resolution can be set via -// the command (SATT * FILL VALUE), where (VALUE) is the ratio between -// the number of pixels drawn and 20 (user coordinates). Parallel view -// and perspective view are possible (DOPT PROJ PARA/PERS); in the first -// case, we assume that the first mother volume of the tree is a box with -// dimensions 10000 X 10000 X 10000 cm and the view point (infinitely far) -// is 5000 cm far from the origin along the Z axis of the user coordinates; -// in the second case, the distance between the observer and the origin -// of the world reference system is set in cm by the command (PERSP NAME -// VALUE); grand-angle or telescopic effects can be achieved changing the -// scale factors in the command (DRAW). When the final picture does not -// occupy the full window, mapping the space before tracing can speed up -// the drawing, but can also produce less precise results; values from 1 -// to 4 are allowed in the command (DOPT MAPP VALUE), the mapping being -// more precise for increasing (VALUE); for (VALUE = 0) no mapping is -// performed (therefore max precision and lowest speed). The command -// (VALCUT) allows the cutting of the detector by three planes orthogonal -// to the x,y,z axis. The attribute (LSTY) can be set by the command -// SATT for any desired volume and can assume values from 0 to 7; it -// determines the different light processing to be performed for different -// materials: -// 0 = dark-matt, 1 = bright-matt, 2 = plastic, 3 = ceramic, 4 = rough-metals, -// 5 = shiny-metals, 6 = glass, 7 = mirror. The detector is assumed to -// be in the dark, the ambient light luminosity is 0.2 for each basic -// hue (the saturation is 0.9) and the observer is assumed to have a -// light source (therefore he will produce parallel light in the case -// of parallel view and point-like-source light in the case of perspective -// view). -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//______________________________________________________________________ -void TGeant3::Gsatt(const char *name, const char *att, Int_t val) -{ - // - // NAME Volume name - // IOPT Name of the attribute to be set - // IVAL Value to which the attribute is to be set - // - // name= "*" stands for all the volumes. - // iopt can be chosen among the following : - // - // WORK 0=volume name is inactive for the tracking - // 1=volume name is active for the tracking (default) - // - // SEEN 0=volume name is invisible - // 1=volume name is visible (default) - // -1=volume invisible with all its descendants in the tree - // -2=volume visible but not its descendants in the tree - // - // LSTY line style 1,2,3,... (default=1) - // LSTY=7 will produce a very precise approximation for - // revolution bodies. - // - // LWID line width -7,...,1,2,3,..7 (default=1) - // LWID<0 will act as abs(LWID) was set for the volume - // and for all the levels below it. When SHAD is 'ON', LWID - // represent the line width of the scan lines filling the surfaces - // (whereas the FILL value represent their number). Therefore - // tuning this parameter will help to obtain the desired - // quality/performance ratio. - // - // COLO color code -166,...,1,2,..166 (default=1) - // n=1=black - // n=2=red; n=17+m, m=0,25, increasing luminosity according to 'm'; - // n=3=green; n=67+m, m=0,25, increasing luminosity according to 'm'; - // n=4=blue; n=117+m, m=0,25, increasing luminosity according to 'm'; - // n=5=yellow; n=42+m, m=0,25, increasing luminosity according to 'm'; - // n=6=violet; n=142+m, m=0,25, increasing luminosity according to 'm'; - // n=7=light-blue; n=92+m, m=0,25, increasing luminosity according to 'm'; - // color=n*10+m, m=1,2,...9, will produce the same color - // as 'n', but with increasing luminosity according to 'm'; - // COLO<0 will act as if abs(COLO) was set for the volume - // and for all the levels below it. - // When for a volume the attribute FILL is > 1 (and the - // option SHAD is on), the ABS of its color code must be < 8 - // because an automatic shading of its faces will be - // performed. - // - // FILL (1992) fill area -7,...,0,1,...7 (default=0) - // when option SHAD is "on" the FILL attribute of any - // volume can be set different from 0 (normal drawing); - // if it is set to 1, the faces of such volume will be filled - // with solid colors; if ABS(FILL) is > 1, then a light - // source is placed along the observer line, and the faces of - // such volumes will be painted by colors whose luminosity - // will depend on the amount of light reflected; - // if ABS(FILL) = 1, then it is possible to use all the 166 - // colors of the color table, because the automatic shading - // is not performed; - // for increasing values of FILL the drawing will be performed - // with higher and higher resolution improving the quality (the - // number of scan lines used to fill the faces increases with - // FILL); it is possible to set different values of FILL - // for different volumes, in order to optimize at the same time - // the performance and the quality of the picture; - // FILL<0 will act as if abs(FILL) was set for the volume - // and for all the levels below it. - // This kind of drawing can be saved in 'picture files' - // or in view banks. - // 0=drawing without fill area - // 1=faces filled with solid colors and resolution = 6 - // 2=lowest resolution (very fast) - // 3=default resolution - // 4=................. - // 5=................. - // 6=................. - // 7=max resolution - // Finally, if a colored background is desired, the FILL - // attribute for the first volume of the tree must be set - // equal to -abs(colo), colo being >0 and <166. - // - // SET set number associated to volume name - // DET detector number associated to volume name - // DTYP detector type (1,2) - // - - char vname[5]; - Vname(name,vname); - char vatt[5]; - Vname(att,vatt); - g3satt(PASSCHARD(vname), PASSCHARD(vatt), val PASSCHARL(vname) - PASSCHARL(vatt)); -} - -//______________________________________________________________________ -void TGeant3::Gfpara(const char *name, Int_t number, Int_t intext, Int_t& npar, - Int_t& natt, Float_t* par, Float_t* att) -{ - // - // Find the parameters of a volume - // - g3fpara(PASSCHARD(name), number, intext, npar, natt, par, att - PASSCHARL(name)); -} - -//______________________________________________________________________ -void TGeant3::Gckpar(Int_t ish, Int_t npar, Float_t* par) -{ - // - // Check the parameters of a shape - // - gckpar(ish,npar,par); -} - -//______________________________________________________________________ -void TGeant3::Gckmat(Int_t itmed, char* natmed) -{ - // - // Check the parameters of a tracking medium - // - g3ckmat(itmed, PASSCHARD(natmed) PASSCHARL(natmed)); -} - -//______________________________________________________________________ -Int_t TGeant3::Glvolu(Int_t nlev, Int_t *lnam,Int_t *lnum) -{ - // - // nlev number of levels deep into the volume tree - // size of the arrays lnam and lnum - // lnam an integer array who's 4 bytes contain the ASCII code for the - // volume names - // lnum an integer array containing the copy numbers for that specific - // volume - // - // This routine fills the volume parameters in common /gcvolu/ for a - // physical tree, specified by the list lnam and lnum of volume names - // and numbers, and for all its ascendants up to level 1. This routine - // is optimized and does not re-compute the part of the history already - // available in GCVOLU. This means that if it is used in user programs - // outside the usual framework of the tracking, the user has to initialize - // to zero NLEVEL in the common GCVOLU. It return 0 if there were no - // problems in make the call. - // - Int_t ier; - g3lvolu(nlev, lnam, lnum, ier); - return ier; -} - -//______________________________________________________________________ -void TGeant3::Gdelete(Int_t /* iview */) -{ - // - // IVIEW View number - // - // It deletes a view bank from memory. - // -} - -//______________________________________________________________________ -void TGeant3::Gdopen(Int_t /* iview */) -{ - // - // IVIEW View number - // - // When a drawing is very complex and requires a long time to be - // executed, it can be useful to store it in a view bank: after a - // call to DOPEN and the execution of the drawing (nothing will - // appear on the screen), and after a necessary call to DCLOSE, - // the contents of the bank can be displayed in a very fast way - // through a call to DSHOW; therefore, the detector can be easily - // zoomed many times in different ways. Please note that the pictures - // with solid colors can now be stored in a view bank or in 'PICTURE FILES' - // -} - -//______________________________________________________________________ -void TGeant3::Gdclose() -{ - // - // It closes the currently open view bank; it must be called after the - // end of the drawing to be stored. - // -} - -//______________________________________________________________________ -void TGeant3::Gdshow(Int_t /* iview */) -{ - // - // IVIEW View number - // - // It shows on the screen the contents of a view bank. It - // can be called after a view bank has been closed. - // -} - -//______________________________________________________________________ -void TGeant3::Gdopt(const char *name,const char *value) -{ - // - // NAME Option name - // VALUE Option value - // - // To set/modify the drawing options. - // IOPT IVAL Action - // - // THRZ ON Draw tracks in R vs Z - // OFF (D) Draw tracks in X,Y,Z - // 180 - // 360 - // PROJ PARA (D) Parallel projection - // PERS Perspective - // TRAK LINE (D) Trajectory drawn with lines - // POIN " " with markers - // HIDE ON Hidden line removal using the CG package - // OFF (D) No hidden line removal - // SHAD ON Fill area and shading of surfaces. - // OFF (D) Normal hidden line removal. - // RAYT ON Ray-tracing on. - // OFF (D) Ray-tracing off. - // EDGE OFF Does not draw contours when shad is on. - // ON (D) Normal shading. - // MAPP 1,2,3,4 Mapping before ray-tracing. - // 0 (D) No mapping. - // USER ON User graphics options in the ray tracing. - // OFF (D) Automatic graphics options. - // - - char vname[5]; - Vname(name,vname); - char vvalue[5]; - Vname(value,vvalue); - //g3dopt(PASSCHARD(vname), PASSCHARD(vvalue) PASSCHARL(vname) - // PASSCHARL(vvalue)); -} - -//______________________________________________________________________ -void TGeant3::Gdraw(const char* /*name*/,Double_t /*theta*/, Double_t /*phi*/, - Double_t /*psi*/, Double_t /*u0*/, Double_t /*v0*/, Double_t /*ul*/, - Double_t /*vl*/) -{ - // - // NAME Volume name - // + - // THETA Viewing angle theta (for 3D projection) - // PHI Viewing angle phi (for 3D projection) - // PSI Viewing angle psi (for 2D rotation) - // U0 U-coord. (horizontal) of volume origin - // V0 V-coord. (vertical) of volume origin - // SU Scale factor for U-coord. - // SV Scale factor for V-coord. - // - // This function will draw the volumes, - // selected with their graphical attributes, set by the Gsatt - // facility. The drawing may be performed with hidden line removal - // and with shading effects according to the value of the options HIDE - // and SHAD; if the option SHAD is ON, the contour's edges can be - // drawn or not. If the option HIDE is ON, the detector can be - // exploded (BOMB), clipped with different shapes (CVOL), and some - // of its parts can be shifted from their original - // position (SHIFT). When HIDE is ON, if - // the drawing requires more than the available memory, the program - // will evaluate and display the number of missing words - // (so that the user can increase the - // size of its ZEBRA store). Finally, at the end of each drawing (with - // HIDE on), the program will print messages about the memory used and - // statistics on the volumes' visibility. - // The following commands will produce the drawing of a green - // volume, specified by NAME, without using the hidden line removal - // technique, using the hidden line removal technique, - // with different line width and color (red), with - // solid color, with shading of surfaces, and without edges. - // Finally, some examples are given for the ray-tracing. (A possible - // string for the NAME of the volume can be found using the command DTREE). - // -} - -//______________________________________________________________________ -void TGeant3::Gdrawc(const char* /*name*/,Int_t /*axis*/, Float_t /*cut*/, Float_t /*u0*/, - Float_t /*v0*/, Float_t /*ul*/, Float_t /*vl*/) -{ - // - // NAME Volume name - // CAXIS Axis value - // CUTVAL Cut plane distance from the origin along the axis - // + - // U0 U-coord. (horizontal) of volume origin - // V0 V-coord. (vertical) of volume origin - // SU Scale factor for U-coord. - // SV Scale factor for V-coord. - // - // The cut plane is normal to caxis (X,Y,Z), corresponding to iaxis (1,2,3), - // and placed at the distance cutval from the origin. - // The resulting picture is seen from the the same axis. - // When HIDE Mode is ON, it is possible to get the same effect with - // the CVOL/BOX function. - // -} - -//______________________________________________________________________ -void TGeant3::Gdrawx(const char* /*name*/, Float_t /*cutthe*/, Float_t /*cutphi*/, - Float_t /*cutval*/, Float_t /*theta*/, Float_t /*phi*/, Float_t /*u0*/, - Float_t /*v0*/,Float_t /*ul*/, Float_t /*vl*/) -{ - // - // NAME Volume name - // CUTTHE Theta angle of the line normal to cut plane - // CUTPHI Phi angle of the line normal to cut plane - // CUTVAL Cut plane distance from the origin along the axis - // + - // THETA Viewing angle theta (for 3D projection) - // PHI Viewing angle phi (for 3D projection) - // U0 U-coord. (horizontal) of volume origin - // V0 V-coord. (vertical) of volume origin - // SU Scale factor for U-coord. - // SV Scale factor for V-coord. - // - // The cut plane is normal to the line given by the cut angles - // cutthe and cutphi and placed at the distance cutval from the origin. - // The resulting picture is seen from the viewing angles theta,phi. - // -} - -//______________________________________________________________________ -void TGeant3::Gdhead(Int_t /*isel*/, const char* /*name*/, Double_t /*chrsiz*/) -{ - // - // Parameters - // + - // ISEL Option flag D=111110 - // NAME Title - // CHRSIZ Character size (cm) of title NAME D=0.6 - // - // ISEL = - // 0 to have only the header lines - // xxxxx1 to add the text name centered on top of header - // xxxx1x to add global detector name (first volume) on left - // xxx1xx to add date on right - // xx1xxx to select thick characters for text on top of header - // x1xxxx to add the text 'EVENT NR x' on top of header - // 1xxxxx to add the text 'RUN NR x' on top of header - // NOTE that ISEL=x1xxx1 or ISEL=1xxxx1 are illegal choices, - // i.e. they generate overwritten text. - // -} - -//______________________________________________________________________ -void TGeant3::Gdman(Double_t /*u*/, Double_t /*v*/, const char* /*type*/) -{ - // - // Draw a 2D-man at position (U0,V0) - // Parameters - // U U-coord. (horizontal) of the center of man' R - // V V-coord. (vertical) of the center of man' R - // TYPE D='MAN' possible values: 'MAN,WM1,WM2,WM3' - // - // CALL GDMAN(u,v),CALL GDWMN1(u,v),CALL GDWMN2(u,v),CALL GDWMN2(u,v) - // It superimposes the picture of a man or of a woman, chosen among - // three different ones, with the same scale factors as the detector - // in the current drawing. - // -} - -//______________________________________________________________________ -void TGeant3::Gdspec(const char* /*name*/) -{ - // - // NAME Volume name - // - // Shows 3 views of the volume (two cut-views and a 3D view), together with - // its geometrical specifications. The 3D drawing will - // be performed according the current values of the options HIDE and - // SHAD and according the current SetClipBox clipping parameters for that - // volume. - // -} - -//______________________________________________________________________ -void TGeant3::DrawOneSpec(const char* /*name*/) -{ - // - // Function called when one double-clicks on a volume name - // in a TPavelabel drawn by Gdtree. - // -} - -//______________________________________________________________________ -void TGeant3::Gdtree(const char* /*name*/, Int_t /*levmax*/, Int_t /*isel*/) -{ - // - // NAME Volume name - // LEVMAX Depth level - // ISELT Options - // - // This function draws the logical tree, - // Each volume in the tree is represented by a TPaveTree object. - // Double-clicking on a TPaveTree draws the specs of the corresponding - // volume. - // Use TPaveTree pop-up menu to select: - // - drawing specs - // - drawing tree - // - drawing tree of parent - // -} - -//______________________________________________________________________ -void TGeant3::GdtreeParent(const char* /*name*/, Int_t /*levmax*/, Int_t /*isel*/) -{ - // - // NAME Volume name - // LEVMAX Depth level - // ISELT Options - // - // This function draws the logical tree of the parent of name. - // -} - -//______________________________________________________________________ -void TGeant3::SetABAN(Int_t par) -{ - // - // par = 1 particles will be stopped according to their residual - // range if they are not in a sensitive material and are - // far enough from the boundary - // 0 particles are transported normally - // - fGcphys->dphys1 = par; - SetBit(kABAN); -} - - -//______________________________________________________________________ -void TGeant3::SetANNI(Int_t par) -{ - // - // To control positron annihilation. - // par =0 no annihilation - // =1 annihilation. Decays processed. - // =2 annihilation. No decay products stored. - // - fGcphys->ianni = par; -} - - -//______________________________________________________________________ -void TGeant3::SetAUTO(Int_t par) -{ - // - // To control automatic calculation of tracking medium parameters: - // par =0 no automatic calculation; - // =1 automatic calculation. - // - fGctrak->igauto = par; - SetBit(kAUTO); -} - - -//______________________________________________________________________ -void TGeant3::SetBOMB(Float_t /*boom*/) -{ - // - // BOOM : Exploding factor for volumes position - // - // To 'explode' the detector. If BOOM is positive (values smaller - // than 1. are suggested, but any value is possible) - // all the volumes are shifted by a distance - // proportional to BOOM along the direction between their center - // and the origin of the MARS; the volumes which are symmetric - // with respect to this origin are simply not shown. - // BOOM equal to 0 resets the normal mode. - // A negative (greater than -1.) value of - // BOOM will cause an 'implosion'; for even lower values of BOOM - // the volumes' positions will be reflected respect to the origin. - // This command can be useful to improve the 3D effect for very - // complex detectors. The following commands will make explode the - // detector: - // -} - -//______________________________________________________________________ -void TGeant3::SetBREM(Int_t par) -{ - // - // To control bremsstrahlung. - // par =0 no bremsstrahlung - // =1 bremsstrahlung. Photon processed. - // =2 bremsstrahlung. No photon stored. - // - fGcphys->ibrem = par; -} - - -//______________________________________________________________________ -void TGeant3::SetCKOV(Int_t par) -{ - // - // To control Cerenkov production - // par =0 no Cerenkov; - // =1 Cerenkov; - // =2 Cerenkov with primary stopped at each step. - // - fGctlit->itckov = par; -} - - -//______________________________________________________________________ -void TGeant3::SetClipBox(const char* /*name*/, Double_t /*xmin*/, Double_t /*xmax*/, - Double_t /*ymin*/, Double_t /*ymax*/, Double_t /*zmin*/, Double_t /*zmax*/) -{ - // - // The hidden line removal technique is necessary to visualize properly - // very complex detectors. At the same time, it can be useful to visualize - // the inner elements of a detector in detail. This function allows - // subtractions (via boolean operation) of BOX shape from any part of - // the detector, therefore showing its inner contents. - // If "*" is given as the name of the - // volume to be clipped, all volumes are clipped by the given box. - // A volume can be clipped at most twice. - // if a volume is explicitly clipped twice, - // the "*" will not act on it anymore. Giving "." as the name - // of the volume to be clipped will reset the clipping. - // Parameters - // NAME Name of volume to be clipped - // + - // XMIN Lower limit of the Shape X coordinate - // XMAX Upper limit of the Shape X coordinate - // YMIN Lower limit of the Shape Y coordinate - // YMAX Upper limit of the Shape Y coordinate - // ZMIN Lower limit of the Shape Z coordinate - // ZMAX Upper limit of the Shape Z coordinate - // - // This function performs a boolean subtraction between the volume - // NAME and a box placed in the MARS according the values of the given - // coordinates. - -} - -//______________________________________________________________________ -void TGeant3::SetCOMP(Int_t par) -{ - // - // To control Compton scattering - // par =0 no Compton - // =1 Compton. Electron processed. - // =2 Compton. No electron stored. - // - // - fGcphys->icomp = par; -} - -//modified by Andrea Fontana and Alberto Rotondi - march 2007 -//added array of 5 user definable cuts (like in old Geant) -//______________________________________________________________________ -void TGeant3::SetCUTS(Float_t cutgam,Float_t cutele,Float_t cutneu, - Float_t cuthad,Float_t cutmuo ,Float_t bcute , - Float_t bcutm ,Float_t dcute ,Float_t dcutm , - Float_t ppcutm, Float_t tofmax, Float_t *gcuts) -{ - // - // CUTGAM Cut for gammas D=0.001 - // CUTELE Cut for electrons D=0.001 - // CUTHAD Cut for charged hadrons D=0.01 - // CUTNEU Cut for neutral hadrons D=0.01 - // CUTMUO Cut for muons D=0.01 - // BCUTE Cut for electron brems. D=-1. - // BCUTM Cut for muon brems. D=-1. - // DCUTE Cut for electron delta-rays D=-1. - // DCUTM Cut for muon delta-rays D=-1. - // PPCUTM Cut for e+e- pairs by muons D=0.01 - // TOFMAX Time of flight cut D=1.E+10 - // - // If the default values (-1.) for BCUTE ,BCUTM ,DCUTE ,DCUTM - // are not modified, they will be set to CUTGAM,CUTGAM,CUTELE,CUTELE - // respectively. - // If one of the parameters from CUTGAM to PPCUTM included - // is modified, cross-sections and energy loss tables must be - // recomputed via the function Gphysi. - // - fGccuts->cutgam = cutgam; - fGccuts->cutele = cutele; - fGccuts->cutneu = cutneu; - fGccuts->cuthad = cuthad; - fGccuts->cutmuo = cutmuo; - fGccuts->bcute = bcute; - fGccuts->bcutm = bcutm; - fGccuts->dcute = dcute; - fGccuts->dcutm = dcutm; - fGccuts->ppcutm = ppcutm; - fGccuts->tofmax = tofmax; - fGccuts->gcuts[0] = gcuts[0]; - fGccuts->gcuts[1] = gcuts[1]; - fGccuts->gcuts[2] = gcuts[2]; - fGccuts->gcuts[3] = gcuts[3]; - fGccuts->gcuts[4] = gcuts[4]; -} - -//added by Andrea Fontana and Alberto Rotondi - april 2007 -//______________________________________________________________________ -void TGeant3::SetECut(Float_t gcalpha) -{ - fGcmore->gcalpha = gcalpha; -} - -void TGeant3::SetClose(Int_t iclose,Float_t *pf,Float_t dstrt, - Float_t *w1, Float_t *w2, - Float_t *p1,Float_t *p2,Float_t *p3,Float_t *clen) -{ - fGcmore->iclose = iclose; - fGcmore->pfinal[0] = pf[0]; - fGcmore->pfinal[1] = pf[1]; - fGcmore->pfinal[2] = pf[2]; - fGcmore->dstrt = dstrt; - fGcmore->wire1[0] = w1[0]; - fGcmore->wire1[1] = w1[1]; - fGcmore->wire1[2] = w1[2]; - fGcmore->wire2[0] = w2[0]; - fGcmore->wire2[1] = w2[1]; - fGcmore->wire2[2] = w2[2]; - fGcmore->p1[0] = p1[0]; - fGcmore->p1[1] = p1[1]; - fGcmore->p1[2] = p1[2]; - fGcmore->p2[0] = p2[0]; - fGcmore->p2[1] = p2[1]; - fGcmore->p2[2] = p2[2]; - fGcmore->p3[0] = p3[0]; - fGcmore->p3[1] = p3[1]; - fGcmore->p3[2] = p3[2]; - fGcmore->cleng[0] = clen[0]; - fGcmore->cleng[1] = clen[1]; - fGcmore->cleng[2] = clen[2]; -} - -void TGeant3::GetClose(Float_t *p1,Float_t *p2,Float_t *p3,Float_t *len) -{ - p1[0] = fGcmore->p1[0]; - p1[1] = fGcmore->p1[1]; - p1[2] = fGcmore->p1[2]; - p2[0] = fGcmore->p2[0]; - p2[1] = fGcmore->p2[1]; - p2[2] = fGcmore->p2[2]; - p3[0] = fGcmore->p3[0]; - p3[1] = fGcmore->p3[1]; - p3[2] = fGcmore->p3[2]; - len[0] = fGcmore->cleng[0]; - len[1] = fGcmore->cleng[1]; - len[2] = fGcmore->cleng[2]; -} - -//______________________________________________________________________ -void TGeant3::SetDCAY(Int_t par) -{ - // - // To control Decay mechanism. - // par =0 no decays. - // =1 Decays. secondaries processed. - // =2 Decays. No secondaries stored. - // - fGcphys->idcay = par; -} - - -//______________________________________________________________________ -void TGeant3::SetDEBU(Int_t emin, Int_t emax, Int_t emod) -{ - // - // Set the debug flag and frequency - // Selected debug output will be printed from - // event emin to even emax each emod event - // - fGcflag->idemin = emin; - fGcflag->idemax = emax; - fGcflag->itest = emod; - SetBit(kDEBU); -} - - -//______________________________________________________________________ -void TGeant3::SetDRAY(Int_t par) -{ - // - // To control delta rays mechanism. - // par =0 no delta rays. - // =1 Delta rays. secondaries processed. - // =2 Delta rays. No secondaries stored. - // - fGcphys->idray = par; -} - -//______________________________________________________________________ -void TGeant3::SetERAN(Float_t ekmin, Float_t ekmax, Int_t nekbin) -{ - // - // To control cross section tabulations - // ekmin = minimum kinetic energy in GeV - // ekmax = maximum kinetic energy in GeV - // nekbin = number of logarithmic bins (<200) - // - fGcmulo->ekmin = ekmin; - fGcmulo->ekmax = ekmax; - fGcmulo->nekbin = nekbin; - SetBit(kERAN); -} - -//______________________________________________________________________ -void TGeant3::SetHADR(Int_t par) -{ - // - // To control hadronic interactions. - // par =0 no hadronic interactions. - // =1 Hadronic interactions. secondaries processed. - // =2 Hadronic interactions. No secondaries stored. - // - fGcphys->ihadr = par; -} - -//______________________________________________________________________ -void TGeant3::SetKINE(Int_t kine, Float_t xk1, Float_t xk2, Float_t xk3, - Float_t xk4, Float_t xk5, Float_t xk6, Float_t xk7, - Float_t xk8, Float_t xk9, Float_t xk10) -{ - // - // Set the variables in /GCFLAG/ IKINE, PKINE(10) - // Their meaning is user defined - // - fGckine->ikine = kine; - fGckine->pkine[0] = xk1; - fGckine->pkine[1] = xk2; - fGckine->pkine[2] = xk3; - fGckine->pkine[3] = xk4; - fGckine->pkine[4] = xk5; - fGckine->pkine[5] = xk6; - fGckine->pkine[6] = xk7; - fGckine->pkine[7] = xk8; - fGckine->pkine[8] = xk9; - fGckine->pkine[9] = xk10; -} - -//______________________________________________________________________ -void TGeant3::SetLOSS(Int_t par) -{ - // - // To control energy loss. - // par =0 no energy loss; - // =1 restricted energy loss fluctuations; - // =2 complete energy loss fluctuations; - // =3 same as 1; - // =4 no energy loss fluctuations. - // If the value ILOSS is changed, then cross-sections and energy loss - // tables must be recomputed via the command 'PHYSI'. - // - fGcphys->iloss = par; -} - - -//______________________________________________________________________ -void TGeant3::SetMULS(Int_t par) -{ - // - // To control multiple scattering. - // par =0 no multiple scattering. - // =1 Moliere or Coulomb scattering. - // =2 Moliere or Coulomb scattering. - // =3 Gaussian scattering. - // - fGcphys->imuls = par; -} - - -//______________________________________________________________________ -void TGeant3::SetMUNU(Int_t par) -{ - // - // To control muon nuclear interactions. - // par =0 no muon-nuclear interactions. - // =1 Nuclear interactions. Secondaries processed. - // =2 Nuclear interactions. Secondaries not processed. - // - fGcphys->imunu = par; -} - -//______________________________________________________________________ -void TGeant3::SetOPTI(Int_t par) -{ - // - // This flag controls the tracking optimization performed via the - // GSORD routine: - // 1 no optimization at all; GSORD calls disabled; - // 0 no optimization; only user calls to GSORD kept; - // 1 all non-GSORDered volumes are ordered along the best axis; - // 2 all volumes are ordered along the best axis. - // - fGcopti->ioptim = par; - SetBit(kOPTI); -} - -//______________________________________________________________________ -void TGeant3::SetPAIR(Int_t par) -{ - // - // To control pair production mechanism. - // par =0 no pair production. - // =1 Pair production. secondaries processed. - // =2 Pair production. No secondaries stored. - // - fGcphys->ipair = par; -} - - -//______________________________________________________________________ -void TGeant3::SetPFIS(Int_t par) -{ - // - // To control photo fission mechanism. - // par =0 no photo fission. - // =1 Photo fission. secondaries processed. - // =2 Photo fission. No secondaries stored. - // - fGcphys->ipfis = par; -} - -//______________________________________________________________________ -void TGeant3::SetPHOT(Int_t par) -{ - // - // To control Photo effect. - // par =0 no photo electric effect. - // =1 Photo effect. Electron processed. - // =2 Photo effect. No electron stored. - // - fGcphys->iphot = par; -} - -//______________________________________________________________________ -void TGeant3::SetRAYL(Int_t par) -{ - // - // To control Rayleigh scattering. - // par =0 no Rayleigh scattering. - // =1 Rayleigh. - // - fGcphys->irayl = par; -} - -//______________________________________________________________________ -void TGeant3::SetSTRA(Int_t par) -{ - // - // To control energy loss fluctuations - // with the Photo-Absorption Ionization model. - // par =0 no Straggling. - // =1 Straggling yes => no Delta rays. - // - fGcphlt->istra = par; -} - -//______________________________________________________________________ -void TGeant3::SetSWIT(Int_t sw, Int_t val) -{ - // - // sw Switch number - // val New switch value - // - // Change one element of array ISWIT(10) in /GCFLAG/ - // - if (sw <= 0 || sw > 10) return; - fGcflag->iswit[sw-1] = val; - SetBit(kSWIT); -} - - -//______________________________________________________________________ -void TGeant3::SetTRIG(Int_t nevents) -{ - // - // Set number of events to be run - // - fGcflag->nevent = nevents; - SetBit(kTRIG); -} - -//______________________________________________________________________ -void TGeant3::SetUserDecay(Int_t pdg) -{ - // - // Force the decays of particles to be done with Pythia - // and not with the Geant routines. - // just kill pointers doing mzdrop - // - Int_t ipart = IdFromPDG(pdg); - if(ipart<0) { - printf("Particle %d not in geant\n",pdg); - return; - } - Int_t jpart=fGclink->jpart; - Int_t jpa=fZlq[jpart-ipart]; - // - if(jpart && jpa) { - Int_t jpa1=fZlq[jpa-1]; - if(jpa1) - mzdrop(fGcbank->ixcons,jpa1,PASSCHARD(" ") PASSCHARL(" ")); - Int_t jpa2=fZlq[jpa-2]; - if(jpa2) - mzdrop(fGcbank->ixcons,jpa2,PASSCHARD(" ") PASSCHARL(" ")); - } -} -//______________________________________________________________________ -Bool_t TGeant3::SetDecayMode(Int_t pdg, Float_t bratio[6], Int_t mode[6][3]) -{ - // - // Set user decay modes by calling Gsdk - // - if ( pdg == 0 ) { - printf("Cannot define decay mode for particle with PDG=0"); - return false; - } - - if ( IdFromPDG(pdg) < 0 ) { - printf("Particle %d not in geant\n",pdg); - return false; - } - - Int_t g3mode[6]; - Int_t id1,id2,id3; - for (Int_t k1=0; k1<6; k1++) g3mode[k1]=0; - for (Int_t k=0; k<6; k++) { - - if(mode[k][0]!=0) { - id1= IdFromPDG(mode[k][0]); - if ( id1 < 0 ) { - printf("Particle %d not in geant\n",mode[k][0]); - return false; - } - } - else id1=0; - - if(mode[k][1]!=0) { - id2= IdFromPDG(mode[k][1]); - if ( id2 < 0 ) { - printf("Particle %d not in geant\n",mode[k][1]); - return false; - } - } - else id2=0; - - if(mode[k][2]!=0) { - id3= IdFromPDG(mode[k][2]); - if ( id3 < 0 ) { - printf("Particle %d not in geant\n",mode[k][1]); - return false; - } - } - else id3=0; - g3mode[k]=id1 + id2* 100+ id3 * 10000 ; - - } - Gsdk(IdFromPDG(pdg), bratio, g3mode); - return kTRUE; -} - -//______________________________________________________________________ -void TGeant3::Vname(const char *name, char *vname) -{ - // - // convert name to upper case. Make vname at least 4 chars - // - Int_t l = strlen(name); - Int_t i; - l = l < 4 ? l : 4; - for (i=0;iCalled by : USER * - //* Authors M.Maire, E.Nagy ********//* * - //* * - //************************************************************************ - ertrak(x1,p1,x2,p2,ipa,PASSCHARD(chopt) PASSCHARL(chopt)); -} - -void TGeant3::Eufill(Int_t n,Float_t *ein,Float_t *xlf){ - -// C. ****************************************************************** -// C. * * -// C. * User routine to fill the input values of the commons : * -// C. * /EROPTS/, /EROPTC/ and /ERTRIO/ for CHOPT = 'L' * -// C. * N Number of predictions where to store results * -// C. * EIN Input error matrix * -// C. * XLF Defines the tracklengths which if passed the * -// C. * result should be stored * -// C. * * -// C. * * -// C. * ==>Called by : USER (before calling ERTRAK) * -// C. * Author M.Maire, E.Nagy ********* * -// C. * * -// C. ****************************************************************** - for(Int_t i=0;i<15;i++) fErtrio->errin[i]=ein[i]; - const Int_t mxpred=10; - if (nnepred=n; - } else { - fErtrio->nepred=mxpred; - } - for(Int_t i=0;i<15;i++) fErtrio->errin[i]=ein[i]; - for(Int_t i=0;inepred;i++) fEropts->erleng[i]=xlf[i]; -// eufill(n,ein,xlf); -} - -void TGeant3::Eufilp(const Int_t n, Float_t *ein, - Float_t *pli, Float_t *plf) -{ - // ****************************************************************** - // * * - // * User routine to fill the input values of the commons : * - // * /EROPTS/, /EROPTC/ and /ERTRIO/ for CHOPT = 'P' * - // * N Number of predictions where to store results * - // * EIN Input error matrix (in the 'Plane' system ) * - // * PLI Defines the start plane * - // * PLI(3,1) - and * - // * PLI(3,2) - 2 unit vectors in the plane * - // * PLF Defines the end plane * - // * PLF(3,1,I) - and * - // * PLF(3,2,I) - 2 unit vectors in the plane * - // * PLF(3,3,I) - point on the plane * - // * at intermediate point I * - // * * - // * ==>Called by : USER (before calling ERTRAK) * - // * Author M.Maire, E.Nagy ********* * - // * * - // ****************************************************************** - for(Int_t i=0;i<15;i++) fErtrio->errin[i]=ein[i]; - const Int_t mxpred=10; - if (nnepred=n; - } else { - fErtrio->nepred=mxpred; - } - for(Int_t i=0;i<6;i++) fEropts->erpli[i]=pli[i]; - - for (Int_t j=0;jerplo[i+12*j]=plf[i+12*j]; - } - TVector3 v1(fEropts->erplo[0+12*j],fEropts->erplo[1+12*j],fEropts->erplo[2+12*j]); - TVector3 v2(fEropts->erplo[3+12*j],fEropts->erplo[4+12*j],fEropts->erplo[5+12*j]); - TVector3 v3=v1.Cross(v2); - fEropts->erplo[9]=v3(0); - fEropts->erplo[10]=v3(1); - fEropts->erplo[11]=v3(2); - } - - -} -void TGeant3::Eufilv(Int_t n, Float_t *ein, - Char_t *namv, Int_t *numv,Int_t *iovl) -{ - - // ****************************************************************** - // * * - // * User routine to fill the input values of the commons : * - // * /EROPTS/, /EROPTC/ and /ERTRIO/ for CHOPT = 'V' * - // * N Number of predictions where to store results * - // * EIN Input error matrix * - // * CNAMV Volume name of the prediction * - // * NUMV Volume number (if 0 = all volumes) * - // * IOVL = 1 prediction when entering in the volume * - // * = 2 prediction when leaving the volume * - // * * - // * ==>Called by : USER (before calling ERTRAK) * - // * Author M.Maire, E.Nagy ********* * - // * * - // ****************************************************************** - - for(Int_t i=0;i<15;i++) fErtrio->errin[i]=ein[i]; - const Int_t mxpred=15; - if (nnepred=n; - } else { - fErtrio->nepred=mxpred; - } - - for(Int_t i=0;inepred;i++) { - fEropts->nameer[i]=*((int*)namv); - fEropts->iovler[i]=iovl[i]; - fEropts->numver[i]=numv[i]; - } -} -//______________________________________________________________________ -void TGeant3::Trscsd(Float_t *pc,Float_t *rc,Float_t *pd,Float_t *rd,Float_t *h,Float_t ch,Int_t ierr,Float_t spu,Float_t *dj,Float_t *dk){ - -// SUBROUTINE TRSCSD(PC,RC,PD,RD,H,CH,IERR,SPU,DJ,DK) -// ****************************************************************** -// *** TRANSFORMS ERROR MATRIX -// FROM SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) -// TO VARIABLES (1/P,V',W',V,W) -// -// Authors: A. Haas and W. Wittek -// *** PC(3) 1/P,LAMBDA,PHI INPUT -// PD(3) 1/P,V',W' OUTPUT -// H(3) MAGNETIC FIELD INPUT -// RC(15) ERROR MATRIX IN SC VARIABLES INPUT (TRIANGLE) -// RD(15) ERROR MATRIX IN 1/P,V',W',V,W OUTPUT (TRIANGLE) -// CH CHARGE OF PARTICLE INPUT -// CHARGE AND MAGNETIC FIELD ARE NEEDED -// FOR CORRELATION TERMS (V',YT),(V',ZT),(W',YT),(W',ZT) -// THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED -// TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH) -// AND RD FOR FIXED U -// DJ(3) UNIT VECTOR IN V-DIRECTION -// DK(3) UNIT VECTOR IN W-DIRECTION OF DETECTOR SYSTEM -// -// IERR = 1 PARTICLE MOVES PERPENDICULAR TO U-AXIS -// ( V',W' ARE NOT DEFINED ) -// SPU SIGN OF U-COMPONENT OF PARTICLE MOMENTUM OUTPUT -// ****************************************************************** - printf("%d\n",ierr); - trscsd(pc,rc,pd,rd,h,ch,ierr,spu,dj,dk); -} -//______________________________________________________________________ -void TGeant3::Trsdsc(Float_t *pd,Float_t *rd,Float_t *pc,Float_t *rc,Float_t *h,Float_t *ch,Int_t *ierr,Float_t *spu,Float_t *dj,Float_t *dk) { -// ****************************************************************** -// SUBROUTINE TRSDSC(PD,RD,PC,RC,H,CH,IERR,SPU,DJ,DK) -// -// *** TRANSFORMS ERROR MATRIX -// FROM VARIABLES (1/P,V',W',V,W) -// TO SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) -// Authors: A. Haas and W. Wittek -// *** PD(3) 1/P,V',W' INPUT -// PC(3) 1/P,LAMBDA,PHI OUTPUT -// H(3) MAGNETIC FIELD INPUT -// RD(15) ERROR MATRIX IN 1/P,V',W',V,W INPUT (TRIANGLE) -// RC(15) ERROR MATRIX IN SC VARIABLES OUTPUT (TRIANGLE) -// CH CHARGE OF PARTICLE INPUT -// CHARGE AND MAGNETIC FIELD ARE NEEDED -// FOR CORRELATION TERMS (LAMBDA,V),(LAMBDA,W),(PHI,V),(PHI,W) -// THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED -// TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH) -// AND RD FOR FIXED U -// DJ(3) UNIT VECTOR IN V-DIRECTION -// DK(3) UNIT VECTOR IN W-DIRECTION OF DETECTOR SYSTEM -// -// IERR NOT USED -// SPU SIGN OF U-COMPONENT OF PARTICLE MOMENTUM INPUT -// ****************************************************************** - trsdsc(pd,rd,pc,rc,h,ch,ierr,spu,dj,dk); -} -//______________________________________________________________________ -void TGeant3::Trscsp(Float_t *pc,Float_t *rc,Float_t *ps,Float_t *rs,Float_t *h,Float_t *ch,Int_t *ierr, Float_t *spx){ -// ****************************************************************** -// SUBROUTINE TRSCSP(PC,RC,PS,RS,H,CH,IERR,SPX) -// -// *** TRANSFORMS ERROR MATRIX -// FROM SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) -// TO SPLINE VARIABLES (1/P,Y',Z',Y,Z) -// -// Authors: A. Haas and W. Wittek -// -// -// *** PC(3) 1/P,LAMBDA,PHI INPUT -// PS(3) 1/P,Y',Z' OUTPUT -// H(3) MAGNETIC FIELD INPUT -// RC(15) ERROR MATRIX IN SC VARIABLES INPUT (TRIANGLE) -// RS(15) ERROR MATRIX IN SPLINE VARIABLES OUTPUT (TRIANGLE) -// CH CHARGE OF PARTICLE INPUT -// CHARGE AND MAGNETIC FIELD ARE NEEDED -// FOR CORRELATION TERMS (Y',YT),(Y',ZT),(Z',YT),(Z',ZT) -// THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED -// TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH) -// AND RS FOR FIXED X -// -// IERR = 1 PARTICLE MOVES PERPENDICULAR TO X-AXIS -// ( Y',Z' ARE NOT DEFINED ) -// SPX SIGN OF X-COMPONENT OF PARTICLE MOMENTUM OUTPUT -// ****************************************************************** - trscsp(pc,rc,ps,rs,h,ch,ierr,spx); -} -//______________________________________________________________________ -void TGeant3::Trspsc(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h,Float_t *ch,Int_t *ierr,Float_t *spx) { - -// ****************************************************************** -// SUBROUTINE TRSPSC(PS,RS,PC,RC,H,CH,IERR,SPX) -// -// *** TRANSFORMS ERROR MATRIX -// FROM SPLINE VARIABLES (1/P,Y',Z',Y,Z) -// TO SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) -// -// Authors: A. Haas and W. Wittek -// -// -// *** PS(3) 1/P,Y',Z' INPUT -// PC(3) 1/P,LAMBDA,PHI OUTPUT -// H(3) MAGNETIC FIELD INPUT -// RS(15) ERROR MATRIX IN SPLINE VARIABLES INPUT (TRIANGLE) -// RC(15) ERROR MATRIX IN SC VARIABLES OUTPUT (TRIANGLE) -// CH CHARGE OF PARTICLE INPUT -// CHARGE AND MAGNETIC FIELD ARE NEEDED -// FOR CORRELATION TERMS (LAMBDA,Y),(LAMBDA,Z),(PHI,Y),(PHI,Z) -// THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED -// TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH) -// AND RS FOR FIXED X -// -// IERR NOT USED -// SPX SIGN OF X-COMPONENT OF PARTICLE MOMENTUM INPUT -// -// ****************************************************************** - - trspsc(ps,rs,pc,rc,h,ch,ierr,spx); - -} - - -//______________________________________________________________________ -void TGeant3::WriteEuclid(const char* filnam, const char* topvol, - Int_t number, Int_t nlevel) -{ - // - // - // ****************************************************************** - // * * - // * Write out the geometry of the detector in EUCLID file format * - // * * - // * filnam : will be with the extension .euc * - // * topvol : volume name of the starting node * - // * number : copy number of topvol (relevant for gsposp) * - // * nlevel : number of levels in the tree structure * - // * to be written out, starting from topvol * - // * * - // * Author : M. Maire * - // * * - // ****************************************************************** - // - // File filnam.tme is written out with the definitions of tracking - // medias and materials. - // As to restore original numbers for materials and medias, program - // searches in the file euc_medi.dat and comparing main parameters of - // the mat. defined inside geant and the one in file recognizes them - // and is able to take number from file. If for any material or medium, - // this procedure fails, ordering starts from 1. - // Arrays IOTMED and IOMATE are used for this procedure - // - const char kShape[][5]={"BOX ","TRD1","TRD2","TRAP","TUBE","TUBS","CONE", - "CONS","SPHE","PARA","PGON","PCON","ELTU","HYPE", - "GTRA","CTUB"}; - Int_t i, end, itm, irm, jrm, k, nmed; - Int_t imxtmed=0; - Int_t imxmate=0; - FILE *lun; - char *filext, *filetme; - char natmed[21], namate[21]; - char natmedc[21], namatec[21]; - char key[5], name[5], mother[5], konly[5]; - char card[133]; - Int_t iadvol, iadtmd, iadrot, nwtot, iret; - Int_t mlevel, numbr, natt, numed, nin, ndata; - Int_t iname, ivo, ish, jvo, nvstak, ivstak; - Int_t jdiv, ivin, in, jin, jvin, irot; - Int_t jtm, imat, jma, flag=0, imatc; - Float_t az, dens, radl, absl, a, step, x, y, z; - Int_t npar, ndvmx, left; - Float_t zc, densc, radlc, abslc, c0, tmaxfd; - Int_t nparc, numb; - Int_t iomate[100], iotmed[100]; - Float_t par[100], att[20], ubuf[50]; - Float_t *qws; - Int_t *iws; - Int_t level, ndiv, iaxe; - Int_t itmedc, nmatc, isvolc, ifieldc, nwbufc, isvol, nmat, ifield, nwbuf; - Float_t fieldmc, tmaxfdc, stemaxc, deemaxc, epsilc, stminc, fieldm; - Float_t tmaxf, stemax, deemax, epsil, stmin; - const char *k10000="!\n%s\n!\n"; - //Open the input file - end=strlen(filnam); - for(i=0;involum; - iadtmd=iadvol+fGcnum->nvolum; - iadrot=iadtmd+fGcnum->ntmed; - if(fGclink->jrotm) { - fGcnum->nrotm=fZiq[fGclink->jrotm-2]; - } else { - fGcnum->nrotm=0; - } - nwtot=iadrot+fGcnum->nrotm; - qws = new float[nwtot+1]; - for (i=0;i0 ? number : 1; - Gfpara(topvol,numbr,1,npar,natt,par,att); - if(npar <= 0) { - printf(" *** GWEUCL *** top volume : %s number : %3d can not be " - "a valid root\n", topvol, numbr); - return; - } - // - // *** authorized shape ? - strncpy((char *)&iname, topvol, 4); - ivo=0; - for(i=1; i<=fGcnum->nvolum; i++) if(fZiq[fGclink->jvolum+i]==iname) { - ivo=i; - break; - } - jvo = fZlq[fGclink->jvolum-ivo]; - ish = Int_t (fZq[jvo+2]); - if(ish > 12) { - printf(" *** GWEUCL *** top volume : %s number : %3d can not be " - "a valid root\n",topvol, numbr); - } - // - level = 1; - nvstak = 1; - iws[nvstak] = ivo; - iws[iadvol+ivo] = level; - ivstak = 0; - // - //*** flag all volumes and fill the stack - // - L10: - // - // pick the next volume in stack - ivstak += 1; - ivo = TMath::Abs(iws[ivstak]); - jvo = fZlq[fGclink->jvolum - ivo]; - // - // flag the tracking medium - numed = Int_t (fZq[jvo + 4]); - iws[iadtmd + numed] = 1; - // - // get the daughters ... - level = iws[iadvol+ivo]; - if (level < mlevel) { - level += 1; - nin = Int_t (fZq[jvo + 3]); - // - // from division ... - if (nin < 0) { - jdiv = fZlq[jvo - 1]; - ivin = Int_t (fZq[jdiv + 2]); - nvstak += 1; - iws[nvstak] = -ivin; - iws[iadvol+ivin] = level; - // - // from position ... - } else if (nin > 0) { - for(in=1; in<=nin; in++) { - jin = fZlq[jvo - in]; - ivin = Int_t (fZq[jin + 2 ]); - jvin = fZlq[fGclink->jvolum - ivin]; - ish = Int_t (fZq[jvin + 2]); - // authorized shape ? - if (ish <= 12) { - // not yet flagged ? - if (iws[iadvol+ivin]==0) { - nvstak += 1; - iws[nvstak] = ivin; - iws[iadvol+ivin] = level; - } - // flag the rotation matrix - irot = Int_t ( fZq[jin + 4 ]); - if (irot > 0) iws[iadrot+irot] = 1; - } - } - } - } - // - // next volume in stack ? - if (ivstak < nvstak) goto L10; - // - // *** restore original material and media numbers - // file euc_medi.dat is needed to compare materials and medias - // - FILE* luncor=fopen("euc_medi.dat","r"); - // - if(luncor) { - for(itm=1; itm<=fGcnum->ntmed; itm++) { - if (iws[iadtmd+itm] > 0) { - jtm = fZlq[fGclink->jtmed-itm]; - strncpy(natmed,(char *)&fZiq[jtm+1],20); - imat = Int_t (fZq[jtm+6]); - jma = fZlq[fGclink->jmate-imat]; - if (jma <= 0) { - printf(" *** GWEUCL *** material not defined for tracking medium " - "%5i %s\n",itm,natmed); - flag=1; - } else { - strncpy(namate,(char *)&fZiq[jma+1],20); - } - //* - //** find the material original number - rewind(luncor); - L23: - iret=fscanf(luncor,"%4s,%130s",key,card); - if(iret<=0) goto L26; - flag=0; - if(!strcmp(key,"MATE")) { - sscanf(card,"%d %s %f %f %f %f %f %d",&imatc,namatec,&az,&zc, - &densc,&radlc,&abslc,&nparc); - Gfmate(imat,namate,a,z,dens,radl,absl,par,npar); - if(!strcmp(namatec,namate)) { - if(az==a && zc==z && densc==dens && radlc==radl - && abslc==absl && nparc==nparc) { - iomate[imat]=imatc; - flag=1; - printf("*** GWEUCL *** material : %3d '%s' restored as %3d\n", - imat,namate,imatc); - } else { - printf("*** GWEUCL *** different definitions for material: %s\n", - namate); - } - } - } - if(strcmp(key,"END") && !flag) goto L23; - if (!flag) { - printf("*** GWEUCL *** cannot restore original number for " - "material: %s\n",namate); - } - //* - //* - //*** restore original tracking medium number - rewind(luncor); - L24: - iret=fscanf(luncor,"%4s,%130s",key,card); - if(iret<=0) goto L26; - flag=0; - if (!strcmp(key,"TMED")) { - sscanf(card,"%d %s %d %d %d %f %f %f %f %f %f %d\n", - &itmedc,natmedc,&nmatc,&isvolc,&ifieldc,&fieldmc, - &tmaxfdc,&stemaxc,&deemaxc,&epsilc,&stminc,&nwbufc); - Gftmed(itm,natmed,nmat,isvol,ifield,fieldm,tmaxf,stemax,deemax, - epsil,stmin,ubuf,&nwbuf); - if(!strcmp(natmedc,natmed)) { - if (iomate[nmat]==nmatc && nwbuf==nwbufc) { - iotmed[itm]=itmedc; - flag=1; - printf("*** GWEUCL *** medium : %3d '%20s' restored as %3d\n", - itm,natmed,itmedc); - } else { - printf("*** GWEUCL *** different definitions for tracking " - "medium: %s\n",natmed); - } - } - } - if(strcmp(key,"END") && !flag) goto L24; - if(!flag) { - printf("cannot restore original number for medium : %s\n",natmed); - goto L27; - } - } - } - goto L29; - //* - } - L26: printf("*** GWEUCL *** cannot read the data file\n"); - L27: flag=2; - L29: if(luncor) fclose (luncor); - // - // - // *** write down the tracking medium definition - // - strcpy(card,"! Tracking medium"); - fprintf(lun,k10000,card); - // - for(itm=1;itm<=fGcnum->ntmed;itm++) { - if (iws[iadtmd+itm]>0) { - jtm = fZlq[fGclink->jtmed-itm]; - strncpy(natmed,(char *)&fZiq[jtm+1],20); - natmed[20]='\0'; - imat = Int_t (fZq[jtm+6]); - jma = fZlq[fGclink->jmate-imat]; - //* order media from one, if comparing with database failed - if (flag==2) { - iotmed[itm]=++imxtmed; - iomate[imat]=++imxmate; - } - //* - if(jma<=0) { - strcpy(namate," "); - printf(" *** GWEUCL *** material not defined for tracking " - "medium %5d %s\n", itm,natmed); - } else { - strncpy(namate,(char *)&fZiq[jma+1],20); - namate[20]='\0'; - } - fprintf(lun,"TMED %3d '%20s' %3d '%20s'\n",iotmed[itm],natmed, - iomate[imat],namate); - } - } - //* - //* *** write down the rotation matrix - //* - strcpy(card,"! Reperes"); - fprintf(lun,k10000,card); - // - for(irm=1;irm<=fGcnum->nrotm;irm++) { - if (iws[iadrot+irm]>0) { - jrm = fZlq[fGclink->jrotm-irm]; - fprintf(lun,"ROTM %3d",irm); - for(k=11;k<=16;k++) fprintf(lun," %8.3f",fZq[jrm+k]); - fprintf(lun,"\n"); - } - } - //* - //* *** write down the volume definition - //* - strcpy(card,"! Volumes"); - fprintf(lun,k10000,card); - //* - for(ivstak=1;ivstak<=nvstak;ivstak++) { - ivo = iws[ivstak]; - if (ivo>0) { - strncpy(name,(char *)&fZiq[fGclink->jvolum+ivo],4); - name[4]='\0'; - jvo = fZlq[fGclink->jvolum-ivo]; - ish = Int_t (fZq[jvo+2]); - nmed = Int_t (fZq[jvo+4]); - npar = Int_t (fZq[jvo+5]); - if (npar>0) { - if (ivstak>1) for(i=0;ijvolum-ivo]; - ish = Int_t (fZq[jvo+2]); - nin = Int_t (fZq[jvo+3]); - //* this volume is divided ... - if (nin<0) { - jdiv = fZlq[jvo-1]; - iaxe = Int_t ( fZq[jdiv+1]); - ivin = Int_t ( fZq[jdiv+2]); - ndiv = Int_t ( fZq[jdiv+3]); - c0 = fZq[jdiv+4]; - step = fZq[jdiv+5]; - jvin = fZlq[fGclink->jvolum-ivin]; - nmed = Int_t ( fZq[jvin+4]); - strncpy(mother,(char *)&fZiq[fGclink->jvolum+ivo ],4); - mother[4]='\0'; - strncpy(name,(char *)&fZiq[fGclink->jvolum+ivin],4); - name[4]='\0'; - if ((step<=0.)||(ish>=11)) { - //* volume with negative parameter or gsposp or pgon ... - fprintf(lun,"DIVN '%4s' '%4s' %3d %3d\n",name,mother,ndiv,iaxe); - } else if ((ndiv<=0)||(ish==10)) { - //* volume with negative parameter or gsposp or para ... - ndvmx = TMath::Abs(ndiv); - fprintf(lun,"DIVT '%4s' '%4s' %11.5f %3d %3d %3d\n", - name,mother,step,iaxe,iotmed[nmed],ndvmx); - } else { - //* normal volume : all kind of division are equivalent - fprintf(lun,"DVT2 '%4s' '%4s' %11.5f %3d %11.5f %3d %3d\n", - name,mother,step,iaxe,c0,iotmed[nmed],ndiv); - } - } - } - //* - //* *** write down the the positionnement of volumes - //* - fprintf(lun,k10000,"! Positionnements\n"); - // - for(ivstak = 1;ivstak<=nvstak;ivstak++) { - ivo = TMath::Abs(iws[ivstak]); - strncpy(mother,(char*)&fZiq[fGclink->jvolum+ivo ],4); - mother[4]='\0'; - jvo = fZlq[fGclink->jvolum-ivo]; - nin = Int_t( fZq[jvo+3]); - //* this volume has daughters ... - if (nin>0) { - for (in=1;in<=nin;in++) { - jin = fZlq[jvo-in]; - ivin = Int_t (fZq[jin +2]); - numb = Int_t (fZq[jin +3]); - irot = Int_t (fZq[jin +4]); - x = fZq[jin +5]; - y = fZq[jin +6]; - z = fZq[jin +7]; - strcpy(konly,"ONLY"); - if (fZq[jin+8]!=1.) strcpy(konly,"MANY"); - strncpy(name,(char*)&fZiq[fGclink->jvolum+ivin],4); - name[4]='\0'; - jvin = fZlq[fGclink->jvolum-ivin]; - ish = Int_t (fZq[jvin+2]); - //* gspos or gsposp ? - ndata = fZiq[jin-1]; - if (ndata==8) { - fprintf(lun,"POSI '%4s' %4d '%4s' %11.5f %11.5f %11.5f %3d '%4s'\n", - name,numb,mother,x,y,z,irot,konly); - } else { - npar = Int_t (fZq[jin+9]); - for(i=0;intmed;itm++) { - if (iws[iadtmd+itm]>0) { - jtm = fZlq[fGclink->jtmed-itm]; - strncpy(natmed,(char*)&fZiq[jtm+1],4); - imat = Int_t (fZq[jtm+6]); - jma = Int_t (fZlq[fGclink->jmate-imat]); - //* material - Gfmate (imat,namate,a,z,dens,radl,absl,par,npar); - fprintf(lun,"MATE %4d '%20s'%11.5E %11.5E %11.5E %11.5E %11.5E %3d\n", - iomate[imat],namate,a,z,dens,radl,absl,npar); - //* - if (npar>0) { - fprintf(lun," "); - for(i=0;i0) { - fprintf(lun," "); - for(i=0;i 0) printf("FinishGeometry, calling ggclos\n"); - Ggclos(); - - - // gROOT->GetListOfBrowsables()->Add(gGeoManager); - if (gDebug > 0) printf("FinishGeometry, calling SetColors\n"); - - //Create the color table - SetColors(); - if (gDebug > 0) printf("FinishGeometry, returning\n"); -} - -//______________________________________________________________________ -void TGeant3::Init() -{ - // - //=================Create Materials and geometry - // - - // Some default settings, if not changed by user - if (!TestBit(kTRIG)) SetTRIG(1); // Number of events to be processed - if (!TestBit(kSWIT)) SetSWIT(4, 10); // - if (!TestBit(kDEBU)) SetDEBU(0, 0, 1); // - if (!TestBit(kAUTO)) SetAUTO(1); // Select automatic STMIN etc... - // calc. (AUTO 1) or manual (AUTO 0) - if (!TestBit(kABAN)) SetABAN(0); // Restore 3.16 behaviour for - // abandoned tracks - if (!TestBit(kOPTI)) SetOPTI(2); // Select optimisation level for - // GEANT geometry searches (0,1,2) - if (!TestBit(kERAN)) SetERAN(5.e-7); // - - DefineParticles(); - fApplication->AddParticles(); -#if ROOT_VERSION_CODE >= ROOT_VERSION(5,22,0) - fApplication->AddIons(); -#endif - fApplication->ConstructGeometry(); - FinishGeometry(); -#if ROOT_VERSION_CODE >= ROOT_VERSION(5,01,1) - fApplication->ConstructOpGeometry(); -#endif - fApplication->InitGeometry(); -} - -//____________________________________________________________________________ -Bool_t TGeant3::ProcessRun(Int_t nevent) -{ - // - // Process the run and return true if run has finished successfully, - // return false in other cases (run aborted by user) - - Int_t todo = TMath::Abs(nevent); - for (Int_t i=0; iidevt = i; - fGcflag->ievent = i+1; - if (fStopRun) break; - fApplication->BeginEvent(); - if (fStopRun) break; - ProcessEvent(); - if (fStopRun) break; - fApplication->FinishEvent(); - if (fStopRun) break; - } - - if (fStopRun) printf(" **** Run stopped ***\n"); - - Bool_t returnValue = !fStopRun; - fStopRun = kFALSE; -#ifdef STATISTICS - printf("count_gmedia= %8d\n",count_gmedia); - printf("count_gtmedi= %8d\n",count_gtmedi); - printf("count_ginvol= %8d\n",count_ginvol); - printf("count_gtnext= %8d\n",count_gtnext); - stattree->AutoSave(); - statfile->Close(); - printf("Statistics tree saved.\n"); -#endif - return returnValue; -} - -//______________________________________________________________________ -void TGeant3::ProcessEvent() -{ - // - // Process one event - // - Gtrigi(); - Gtrigc(); - Gtrig(); -} - -//______________________________________________________________________ -void TGeant3::SetColors() -{ - // - // Set the colors for all the volumes - // this is done sequentially for all volumes - // based on the number of their medium - // - - Int_t kv, icol; - Int_t jvolum=fGclink->jvolum; - //Int_t jtmed=fGclink->jtmed; - //Int_t jmate=fGclink->jmate; - Int_t nvolum=fGcnum->nvolum; - char name[5]; - // - // Now for all the volumes - for(kv=1;kv<=nvolum;kv++) { - // Get the tracking medium - Int_t itm=Int_t (fZq[fZlq[jvolum-kv]+4]); - // Get the material - //Int_t ima=Int_t (fZq[fZlq[jtmed-itm]+6]); - // Get z - //Float_t z=fZq[fZlq[jmate-ima]+7]; - // Find color number - //icol = Int_t(z)%6+2; - //icol = 17+Int_t(z*150./92.); - //icol = kv%6+2; - icol = itm%6+2; - strncpy(name,(char*)&fZiq[jvolum+kv],4); - name[4]='\0'; - Gsatt(name,"COLO",icol); - } -} - -//______________________________________________________________________ -void TGeant3::SetTrack(Int_t done, Int_t parent, Int_t pdg, Float_t *pmom, - Float_t *vpos, Float_t *polar, Float_t tof, - TMCProcess mech, Int_t &ntr, Float_t weight, Int_t is) -{ - // - // Load a track on the stack - // - // done 0 if the track has to be transported - // 1 if not - // parent identifier of the parent track. -1 for a primary - // pdg particle code - // pmom momentum GeV/c - // vpos position - // polar polarization - // tof time of flight in seconds - // mecha production mechanism - // ntr on output the number of the track stored - // - - // const Float_t tlife=0; - - // - // Here we get the static mass - // For MC is ok, but a more sophisticated method could be necessary - // if the calculated mass is required - // also, this method is potentially dangerous if the mass - // used in the MC is not the same of the PDG database - // - Float_t mass = TDatabasePDG::Instance()->GetParticle(pdg)->Mass(); - Float_t e=TMath::Sqrt(mass*mass+pmom[0]*pmom[0]+ - pmom[1]*pmom[1]+pmom[2]*pmom[2]); - -// printf("Loading mass %f ene %f No %d ip %d parent %d done %d " -// "pos %f %f %f mom %f %f %f kS %d m \n", -// mass,e,fNtrack,pdg,parent,done,vpos[0],vpos[1],vpos[2], -// pmom[0],pmom[1],pmom[2],kS); - - - GetStack()->PushTrack(done, parent, pdg, pmom[0], pmom[1], pmom[2], e, - vpos[0],vpos[1],vpos[2],tof,polar[0],polar[1],polar[2], - mech, ntr, weight, is); -} - - -//______________________________________________________________________ -Float_t* TGeant3::CreateFloatArray(Float_t* array, Int_t size) const -{ -// Converts Double_t* array to Float_t*, -// !! The new array has to be deleted by user. -// --- - - Float_t* floatArray; - if (size>0) { - floatArray = new Float_t[size]; - for (Int_t i=0; i= FLT_MAX ) - floatArray[i] = FLT_MAX/100.; - else - floatArray[i] = array[i]; - } - else { - //floatArray = 0; - floatArray = new Float_t[1]; - } - return floatArray; -} - - -//______________________________________________________________________ -Float_t* TGeant3::CreateFloatArray(Double_t* array, Int_t size) const -{ -// Converts Double_t* array to Float_t*, -// !! The new array has to be deleted by user. -// --- - - Float_t* floatArray; - if (size>0) { - floatArray = new Float_t[size]; - for (Int_t i=0; i= FLT_MAX ) - floatArray[i] = FLT_MAX/100.; - else - floatArray[i] = array[i]; - } - else { - //floatArray = 0; - floatArray = new Float_t[1]; - } - return floatArray; -} - - -//______________________________________________________________________ -void TGeant3::Streamer(TBuffer &R__b) -{ - // - // Stream an object of class TGeant3. - // - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - TVirtualMC::Streamer(R__b); - R__b >> fNextVol; - R__b >> fNPDGCodes; - //R__b.ReadStaticArray(fPDGCode); - fPDGCode.Streamer(R__b); - } else { - R__b.WriteVersion(TGeant3::IsA()); - TVirtualMC::Streamer(R__b); - R__b << fNextVol; - R__b << fNPDGCodes; - //R__b.WriteArray(fPDGCode, fNPDGCodes); - fPDGCode.Streamer(R__b); - } -} - -//______________________________________________________________________ -// -// Interfaces to Fortran -// -//______________________________________________________________________ - - -//______________________________________________________________________ -extern "C" void type_of_call rxgtrak(Int_t &mtrack,Int_t &ipart,Float_t *pmom, - Float_t &e,Float_t *vpos,Float_t *polar, - Float_t &tof) -{ - // - // Fetches next track from the ROOT stack for transport. Called by the - // modified version of GTREVE. - // - // Track number in the ROOT stack. If MTRACK=0 no - // mtrack more tracks are left in the stack to be - // transported. - // ipart Particle code in the GEANT conventions. - // pmom[3] Particle momentum in GeV/c - // e Particle energy in GeV - // vpos[3] Particle position - // tof Particle time of flight in seconds - // - - TParticle* track = gMC->GetStack()->PopNextTrack(mtrack); - - if (track) { - // fill G3 arrays - pmom[0] = track->Px(); - pmom[1] = track->Py(); - pmom[2] = track->Pz(); - e = track->Energy(); - vpos[0] = track->Vx();; - vpos[1] = track->Vy(); - vpos[2] = track->Vz(); - tof = track->T(); - TVector3 pol; - track->GetPolarisation(pol); - polar[0] = pol.X(); - polar[1] = pol.Y(); - polar[2] = pol.Z(); - ipart = gMC->IdFromPDG(track->GetPdgCode()); - } - - mtrack++; -} - - -//______________________________________________________________________ -extern "C" void type_of_call rxouth () -{ - // - // Called by Gtreve at the end of each primary track - // - TVirtualMCApplication::Instance()->FinishPrimary(); -} - -//______________________________________________________________________ -extern "C" void type_of_call rxinh () -{ - // - // Called by Gtreve at the beginning of each primary track - // - TVirtualMCApplication::Instance()->BeginPrimary(); -} - -//______________________________________________________________________ -void ginvol(Float_t *x, Int_t &isame) -{ - fginvol(x,isame); -} - - -//______________________________________________________________________ -void gtmedi(Float_t *x, Int_t &numed) -{ - fgtmedi(x,numed); -#ifdef STATISTICS - statcode = 2; - statsame = gcchan->lsamvl; - for (int j=0;j<6;j++) if (j <3) oldvect[j] = x[j]; else oldvect[j]=0; - oldsafety = gctrak->safety; - oldstep = gctrak->step; - sprintf(statpath,"%s",geant3->GetPath()); - statsnext=gctrak->snext; - statsafety=gctrak->safety; - stattree->Fill(); - count_gtmedi++; -#endif -} - - -//______________________________________________________________________ -void gmedia(Float_t *x, Int_t &numed, Int_t &check) -{ - fgmedia(x,numed,check); -#ifdef STATISTICS - statcode = 1; - statsame = 0; - for (int j=0;j<6;j++) if (j <3) oldvect[j] = x[j]; else oldvect[j]=0; - oldsafety = gctrak->safety; - oldstep = gctrak->step; - sprintf(statpath,"%s",geant3->GetPath()); - statsnext=gctrak->snext; - statsafety=gctrak->safety; - stattree->Fill(); - count_gmedia++; -#endif -} - -//______________________________________________________________________ -void gtmany(Int_t &level1) -{ - fgtmany(level1); -} - -//______________________________________________________________________ -void gtonlyg3(Int_t &isOnly) -{ - //with Geant3, return gonly(nlevel); - isOnly = (Int_t)gcvolu->gonly[gcvolu->nlevel-1]; -} - -//______________________________________________________________________ -void gtonly(Int_t &isOnly) -{ - //with Geant3, return gonly(nlevel); - fgtonly(isOnly); -} - -//______________________________________________________________________ -void glvolu(Int_t &nlev, Int_t *lnam,Int_t *lnum, Int_t &ier) -{ - // - // nlev number of levels deep into the volume tree - // size of the arrays lnam and lnum - // lnam an integer array who's 4 bytes contain the ASCII code for the - // volume names - // lnum an integer array containing the copy numbers for that specific - // volume - // - // This routine fills the volume parameters in common /gcvolu/ for a - // physical tree, specified by the list lnam and lnum of volume names - // and numbers, and for all its ascendants up to level 1. This routine - // is optimized and does not re-compute the part of the history already - // available in GCVOLU. This means that if it is used in user programs - // outside the usual framework of the tracking, the user has to initialize - // to zero NLEVEL in the common GCVOLU. It return 0 if there were no - // problems in make the call. - // -// printf("glvolu called\n"); - - fglvolu(nlev, lnam, lnum, ier); -} - - -//______________________________________________________________________ -void gtnext() -{ -#ifdef STATISTICS - count_gtnext++; - statcode = 3; - statsame = 1; - for (int j=0;j<6;j++) oldvect[j] = gctrak->vect[j]; - oldsafety = gctrak->safety; - oldstep = gctrak->step; - sprintf(statpath,"%s",geant3->GetPath()); -#endif - - fgtnext(); - -#ifdef STATISTICS - statsnext=gctrak->snext; - statsafety=gctrak->safety; - stattree->Fill(); -#endif -} -//______________________________________________________________________ -void ggperp(Float_t *x, Float_t *norm, Int_t &ierr){ -// Computes the normal to the next crossed surface, assuming that -// FindNextBoundary() was already called. - - fggperp(x,norm,ierr); -} -//______________________________________________________________________ -Bool_t TGeant3::GetTransformation(const TString &volumePath,TGeoHMatrix &mat){ - // Returns the Transformation matrix between the volume specified - // by the path volumePath and the Top or mater volume. The format - // of the path volumePath is as follows (assuming ALIC is the Top volume) - // "/ALIC_1/DDIP_1/S05I_2/S05H_1/S05G_3". Here ALIC is the top most - // or master volume which has only 1 instance of. Of all of the daughter - // volumes of ALICE, DDIP volume copy #1 is indicated. Similarly for - // the daughter volume of DDIP is S05I copy #2 and so on. - // Inputs: - // TString& volumePath The volume path to the specific volume - // for which you want the matrix. Volume name - // hierarchy is separated by "/" while the - // copy number is appended using a "_". - // Outputs: - // TGeoHMatrix &mat A matrix with its values set to those - // appropriate to the Local to Master transformation - // Return: - // A logical value if kFALSE then an error occurred and no change to - // mat was made. - Int_t i,n,k,*lnam=0,*lnum=0; - // Default rotation matrix, Unit - Double_t m[9] = {1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0}; - Double_t s[3] = {1.0,1.0,1.0}; // Default scale, Unit - Double_t t[3] = {0.0,0.0,0.0}; // Default translation, none. - - k =ConvertVolumePathString(volumePath,&lnam,&lnum);//Creates lnam, and lnum - if(k<=0) { // Error from Convert volumePathString. - delete[] lnam; - delete[] lnum; - return kFALSE; - } // end if k<=0 - if(k==1){// only one volume listed, must be top most, return unit.. - delete[] lnam; - delete[] lnum; - mat.SetRotation(m); - mat.SetTranslation(t); - mat.SetScale(s); - return kTRUE; - } // end if k==1 - this->Gcvolu()->nlevel = 0; - i = this->Glvolu(k,lnam,lnum); - n = this->Gcvolu()->nlevel -1; - delete[] lnam; // created in ConvertVolumePathString. - delete[] lnum; // created in ConvertVolumePathString. - if(i!=0) return kFALSE; // Error - mat.SetScale(s); // Geant scale always 1. - if(!((this->Gcvolu()->grmat[n][9])==0.0)) { // not Unit matrix - for(i=0;i<9;i++) m[i] = (Double_t) this->Gcvolu()->grmat[n][i]; - } // end if - mat.SetRotation(m); - for(i=0;i<3;i++) t[i] = (Double_t) (this->Gcvolu()->gtran[n][i]); - mat.SetTranslation(t); - return kTRUE; -}/* -//______________________________________________________________________ -Bool_t TGeant3::GetShape(const TString &volumeName,TString &shapeType, - TArrayD &par){ - // Returns the shape and its parameters for the volume specified - // by volumeName. - // Inputs: - // TString& volumeName The volume name - // Outputs: - // TString &shapeType Shape type - // TArrayD &par A TArrayD of parameters with all of the - // parameters of the specified shape. - // Return: - // A logical indicating whether there was an error in getting this - // information - const Int_t nshapes = 16; - const Char_t *vname[nshapes] = {"BOX","TRD1","TRD2","TRAP","TUBE","TUBS", - "CONE","CONS","SPHE","PARA","PGON","PCON", - "ELTU","HYPE","GTRA","CTUB"}; - Int_t volid,i,jv0,ishape,npar; - Float_t *qpar; - - volid = VolId(volumeName.Data()); - if(volid==0) return kFALSE; // Error. - jv0 = this->Lq()[this->Gclink()->jvolum-volid]; - ishape = (Int_t)(this->Q()[jv0+2]); - if(ishape<1||ishape>nshapes) return kFALSE; // error unknown shape - npar = (Int_t)(this->Q()[jv0+5]); - qpar = (this->Q())+jv0+7; - par.Set(npar); // Resize TArrayD - for(i=0;iGcvolu()->nlevel = 0; - i = this->Glvolu(k,lnam,lnum); - delete[] lnam; - delete[] lnum; - if(i!=0) {// error - par.Set(0); - return kFALSE; - } // end if i!=1 - volid = this->Gcvolu()->lvolum[this->Gcvolu()->nlevel-1]; - jv0 = this->Lq()[this->Gclink()->jvolum-volid]; - ishape = (Int_t)(this->Q()[jv0+2]); - if(ishape<1||ishape>nshapes) return kFALSE; // error unknown shape - npar = (Int_t)(this->Q()[jv0+5]); - qpar = (this->Q())+jv0+7; - par.Set(npar); // Resize TArrayD - for(i=0;i0){ // Get Material number, imat. - Int_t imed = (Int_t) (this->Q()[this->Lq()[ - this->Gclink()->jvolum-volid]+4]); - Int_t jtm = this->Lq()[this->Gclink()->jtmed-imed]; - imat = (Int_t)(this->Q()[jtm+6]); - } else { - i = this->Gclink()->jvolum + volid; - Int_t jdiv = this->Lq()[i]; - Int_t ivin = (Int_t) (this->Q()[jdiv+2]); - i = this->Gclink()->jvolum - ivin; - Int_t jvin = this->Lq()[i]; - Int_t idmed = (Int_t)(this->Q()[jvin+4]); - i = this->Gclink()->jtmed-idmed; - Int_t jtm = this->Lq()[i]; - imat = (Int_t)(this->Q()[jtm+6]); - } // end if-else - nbuf = jma = this->Lq()[this->Gclink()->jmate-imat]; - ubuf = new Float_t[nbuf]; - Gfmate(imat,namec,af,zf,densf,radlf,interf,ubuf,nbuf); - // Problem with getting namec back from Gfmate, get it from - // the Zebra bank directly. - ch = (char *)(this->Iq()+jma+1); - for(i=0;i<20;i++) if(ch[i]!=' ') namec[i] = ch[i]; - name = namec; - name = name.Strip(); - // - par.Set(nbuf); - for(i=0;i0){ // Get Material number, imat. - imed = (Int_t)(this->Q()[this->Lq()[this->Gclink()->jvolum-volid]+4]); - } else { - Int_t jdiv = this->Lq()[this->Gclink()->jvolum + volid]; - Int_t ivin = (Int_t) (this->Q()[jdiv+2]); - Int_t jvin = this->Lq()[this->Gclink()->jvolum - ivin]; - imed = (Int_t)(this->Q()[jvin+4]); - } // end if-else - nbuf = this->Lq()[this->Gclink()->jtmed-imed]; - buf = new Float_t[nbuf]; - Gftmed(imed,namec,nmat,isvol,ifield,fieldmf,tmaxfdf,stemaxf,deemaxf, - epsilf,stminf,buf,&nbuf); - name = namec; - name = name.Strip(); - par.Set(nbuf); - for(i=0;i -#define WITHG3 -#ifdef WITHROOT -#undef WITHG3 -#endif -#ifdef WITHBOTH -#undef WITHG3 -#undef WITHROOT -#endif - -#include "TVirtualMC.h" -#include "TMCProcess.h" -#include "TMCParticleType.h" -#include "TGeoMCGeometry.h" -#include "TObjArray.h" -#include "TArrayI.h" - -class TGeoHMatrix; -class TArrayD; -class TString; - -//______________________________________________________________ -// -// Geant3 prototypes for commons -// -//______________________________________________________________ -// - -//----------QUEST -// COMMON/QUEST/IQUEST(100) -typedef struct { - Int_t iquest[100]; -} Quest_t; - -//----------GCBANK -// COMMON/GCBANK/NZEBRA,GVERSN,ZVERSN,IXSTOR,IXDIV,IXCONS,FENDQ(16) -// + ,LMAIN,LR1,WS(KWBANK) -typedef struct { - Int_t nzebra; - Float_t gversn; - Float_t zversn; - Int_t ixstor; - Int_t ixdiv; - Int_t ixcons; - Float_t fendq[16]; - Int_t lmain; - Int_t lr1; -} Gcbank_t; - -//----------GCLINK -// COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART -// + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX -// + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT -typedef struct { - Int_t jdigi; - Int_t jdraw; - Int_t jhead; - Int_t jhits; - Int_t jkine; - Int_t jmate; - Int_t jpart; - Int_t jrotm; - Int_t jrung; - Int_t jset; - Int_t jstak; - Int_t jgstat; - Int_t jtmed; - Int_t jtrack; - Int_t jvertx; - Int_t jvolum; - Int_t jxyz; - Int_t jgpar; - Int_t jgpar2; - Int_t jsklt; -} Gclink_t; - - -//----------GCFLAG -// COMMON/GCFLAG/IDEBUG,IDEMIN,IDEMAX,ITEST,IDRUN,IDEVT,IEORUN -// + ,IEOTRI,IEVENT,ISWIT(10),IFINIT(20),NEVENT,NRNDM(2) -typedef struct { - Int_t idebug; - Int_t idemin; - Int_t idemax; - Int_t itest; - Int_t idrun; - Int_t idevt; - Int_t ieorun; - Int_t ieotri; - Int_t ievent; - Int_t iswit[10]; - Int_t ifinit[20]; - Int_t nevent; - Int_t nrndm[2]; -} Gcflag_t; - -//----------GCKINE -// COMMON/GCKINE/IKINE,PKINE(10),ITRA,ISTAK,IVERT,IPART,ITRTYP -// + ,NAPART(5),AMASS,CHARGE,TLIFE,VERT(3),PVERT(4),IPAOLD -typedef struct { - Int_t ikine; - Float_t pkine[10]; - Int_t itra; - Int_t istak; - Int_t ivert; - Int_t ipart; - Int_t itrtyp; - Int_t napart[5]; - Float_t amass; - Float_t charge; - Float_t tlife; - Float_t vert[3]; - Float_t pvert[4]; - Int_t ipaold; -} Gckine_t; - -//----------GCKING -// COMMON/GCKING/KCASE,NGKINE,GKIN(5,MXGKIN), -// + TOFD(MXGKIN),IFLGK(MXGKIN) -#define MXGKIN 100 -typedef struct { - Int_t kcase; - Int_t ngkine; - Float_t gkin[MXGKIN][5]; - Float_t tofd[MXGKIN]; - Int_t iflgk[MXGKIN]; -} Gcking_t; - -//----------GCKIN2 -// COMMON/GCKIN2/NGPHOT,XPHOT(11,MXPHOT) -#define MXPHOT 800 -typedef struct { - Int_t ngphot; - Float_t xphot[MXPHOT][11]; -} Gckin2_t; - -//----------GCKIN3 -// COMMON/GCKIN3/GPOS(3,MXGKIN) -typedef struct { - Float_t gpos[MXGKIN][3]; -} Gckin3_t; - -//----------GCMATE -// COMMON/GCMATE/NMAT,NAMATE(5),A,Z,DENS,RADL,ABSL -typedef struct { - Int_t nmat; - Int_t namate[5]; - Float_t a; - Float_t z; - Float_t dens; - Float_t radl; - Float_t absl; -} Gcmate_t; - -//----------GCTMED -// COMMON/GCTMED/NUMED,NATMED(5),ISVOL,IFIELD,FIELDM,TMAXFD,STEMAX -// + ,DEEMAX,EPSIL,STMIN,CFIELD,PREC,IUPD,ISTPAR,NUMOLD -typedef struct { - Int_t numed; - Int_t natmed[5]; - Int_t isvol; - Int_t ifield; - Float_t fieldm; - Float_t tmaxfd; - Float_t stemax; - Float_t deemax; - Float_t epsil; - Float_t stmin; - Float_t cfield; - Float_t prec; - Int_t iupd; - Int_t istpar; - Int_t numold; -} Gctmed_t; - -//----------GCTRAK -#define MAXMEC 30 -// PARAMETER (MAXMEC=30) -// COMMON/GCTRAK/VECT(7),GETOT,GEKIN,VOUT(7),NMEC,LMEC(MAXMEC) -// + ,NAMEC(MAXMEC),NSTEP ,MAXNST,DESTEP,DESTEL,SAFETY,SLENG -// + ,STEP ,SNEXT ,SFIELD,TOFG ,GEKRAT,UPWGHT,IGNEXT,INWVOL -// + ,ISTOP ,IGAUTO,IEKBIN, ILOSL, IMULL,INGOTO,NLDOWN,NLEVIN -// + ,NLVSAV,ISTORY -typedef struct { - Float_t vect[7]; - Float_t getot; - Float_t gekin; - Float_t vout[7]; - Int_t nmec; - Int_t lmec[MAXMEC]; - Int_t namec[MAXMEC]; - Int_t nstep; - Int_t maxnst; - Float_t destep; - Float_t destel; - Float_t safety; - Float_t sleng; - Float_t step; - Float_t snext; - Float_t sfield; - Float_t tofg; - Float_t gekrat; - Float_t upwght; - Int_t ignext; - Int_t inwvol; - Int_t istop; - Int_t igauto; - Int_t iekbin; - Int_t ilosl; - Int_t imull; - Int_t ingoto; - Int_t nldown; - Int_t nlevin; - Int_t nlsav; - Int_t istory; -} Gctrak_t; - -//----------GCVOLU -// COMMON/GCVOLU/NLEVEL,NAMES(15),NUMBER(15), -// +LVOLUM(15),LINDEX(15),INFROM,NLEVMX,NLDEV(15),LINMX(15), -// +GTRAN(3,15),GRMAT(10,15),GONLY(15),GLX(3) -typedef struct { - Int_t nlevel; - Int_t names[15]; - Int_t number[15]; - Int_t lvolum[15]; - Int_t lindex[15]; - Int_t infrom; - Int_t nlevmx; - Int_t nldev[15]; - Int_t linmx[15]; - Float_t gtran[15][3]; - Float_t grmat[15][10]; - Float_t gonly[15]; - Float_t glx[3]; -} Gcvolu_t; - -//----------GCSETS -// COMMON/GCSETS/IHSET,IHDET,ISET,IDET,IDTYPE,NVNAME,NUMBV(20) -typedef struct { - Int_t ihset; - Int_t ihdet; - Int_t iset; - Int_t idet; - Int_t idtype; - Int_t nvname; - Int_t numbv[20]; -} Gcsets_t; - -//----------GCNUM -// COMMON/GCNUM/NMATE ,NVOLUM,NROTM,NTMED,NTMULT,NTRACK,NPART -// + ,NSTMAX,NVERTX,NHEAD,NBIT -typedef struct { - Int_t nmate; - Int_t nvolum; - Int_t nrotm; - Int_t ntmed; - Int_t ntmult; - Int_t ntrack; - Int_t npart; - Int_t nstmax; - Int_t nvertx; - Int_t nhead; - Int_t nbit; -} Gcnum_t; - -//----------GCCUTS -// COMMON/GCCUTS/CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM -// + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS(5) -typedef struct { - Float_t cutgam; - Float_t cutele; - Float_t cutneu; - Float_t cuthad; - Float_t cutmuo; - Float_t bcute; - Float_t bcutm; - Float_t dcute; - Float_t dcutm; - Float_t ppcutm; - Float_t tofmax; - Float_t gcuts[5]; -} Gccuts_t; - -//----------GCMORE -// COMMON/GCMORE/GCALPHA,ICLOSE,PFINAL(3),DSTRT,WIRE1(3),WIRE2(3), -// + P1(3),P2(3),P3(3),CLENG(3) -typedef struct { - Float_t gcalpha; - Int_t iclose; - Float_t pfinal[3]; - Float_t dstrt; - Float_t wire1[3]; - Float_t wire2[3]; - Float_t p1[3]; - Float_t p2[3]; - Float_t p3[3]; - Float_t cleng[3]; -} Gcmore_t; - -//----------GCMULO -// COMMON/GCMULO/SINMUL(101),COSMUL(101),SQRMUL(101),OMCMOL,CHCMOL -// + ,EKMIN,EKMAX,NEKBIN,NEK1,EKINV,GEKA,GEKB,EKBIN(200),ELOW(200) -typedef struct { - Float_t sinmul[101]; - Float_t cosmul[101]; - Float_t sqrmul[101]; - Float_t omcmol; - Float_t chcmol; - Float_t ekmin; - Float_t ekmax; - Int_t nekbin; - Int_t nek1; - Float_t ekinv; - Float_t geka; - Float_t gekb; - Float_t ekbin[200]; - Float_t elow[200]; -} Gcmulo_t; - -//----------GCPHYS -// COMMON/GCPHYS/IPAIR,SPAIR,SLPAIR,ZINTPA,STEPPA -// + ,ICOMP,SCOMP,SLCOMP,ZINTCO,STEPCO -// + ,IPHOT,SPHOT,SLPHOT,ZINTPH,STEPPH -// + ,IPFIS,SPFIS,SLPFIS,ZINTPF,STEPPF -// + ,IDRAY,SDRAY,SLDRAY,ZINTDR,STEPDR -// + ,IANNI,SANNI,SLANNI,ZINTAN,STEPAN -// + ,IBREM,SBREM,SLBREM,ZINTBR,STEPBR -// + ,IHADR,SHADR,SLHADR,ZINTHA,STEPHA -// + ,IMUNU,SMUNU,SLMUNU,ZINTMU,STEPMU -// + ,IDCAY,SDCAY,SLIFE ,SUMLIF,DPHYS1 -// + ,ILOSS,SLOSS,SOLOSS,STLOSS,DPHYS2 -// + ,IMULS,SMULS,SOMULS,STMULS,DPHYS3 -// + ,IRAYL,SRAYL,SLRAYL,ZINTRA,STEPRA -typedef struct { - Int_t ipair; - Float_t spair; - Float_t slpair; - Float_t zintpa; - Float_t steppa; - Int_t icomp; - Float_t scomp; - Float_t slcomp; - Float_t zintco; - Float_t stepco; - Int_t iphot; - Float_t sphot; - Float_t slphot; - Float_t zintph; - Float_t stepph; - Int_t ipfis; - Float_t spfis; - Float_t slpfis; - Float_t zintpf; - Float_t steppf; - Int_t idray; - Float_t sdray; - Float_t sldray; - Float_t zintdr; - Float_t stepdr; - Int_t ianni; - Float_t sanni; - Float_t slanni; - Float_t zintan; - Float_t stepan; - Int_t ibrem; - Float_t sbrem; - Float_t slbrem; - Float_t zintbr; - Float_t stepbr; - Int_t ihadr; - Float_t shadr; - Float_t slhadr; - Float_t zintha; - Float_t stepha; - Int_t imunu; - Float_t smunu; - Float_t slmunu; - Float_t zintmu; - Float_t stepmu; - Int_t idcay; - Float_t sdcay; - Float_t slife; - Float_t sumlif; - Float_t dphys1; - Int_t iloss; - Float_t sloss; - Float_t soloss; - Float_t stloss; - Float_t dphys2; - Int_t imuls; - Float_t smuls; - Float_t somuls; - Float_t stmuls; - Float_t dphys3; - Int_t irayl; - Float_t srayl; - Float_t slrayl; - Float_t zintra; - Float_t stepra; -} Gcphys_t; - -//----------GCPHLT -// COMMON/GCPHLT/ILABS,SLABS,SLLABS,ZINTLA,STEPLA -// + ,ISYNC -// + ,ISTRA -typedef struct { - Int_t ilabs; - Float_t slabs; - Float_t sllabs; - Float_t zintla; - Float_t stepla; - Int_t isync; - Int_t istra; -} Gcphlt_t; - -//----------GCOPTI -// COMMON/GCOPTI/IOPTIM -typedef struct { - Int_t ioptim; -} Gcopti_t; - -//----------GCTLIT -// COMMON/GCTLIT/THRIND,PMIN,DP,DNDL,JMIN,ITCKOV,IMCKOV,NPCKOV -typedef struct { - Float_t thrind; - Float_t pmin; - Float_t dp; - Float_t dndl; - Int_t jmin; - Int_t itckov; - Int_t imckov; - Int_t npckov; -} Gctlit_t; - -//----------GCVDMA -// COMMON/GCVDMA/NVMANY,MANYLE(20),MANYNA(20,15), -// +MANYNU(20,15),NFMANY,MYCOUN,IMYSE,RAYTRA,VECCOS(3) -typedef struct { - Int_t vdma[624]; - Float_t raytra; - Float_t veccos[3]; -} Gcvdma_t; - -//----------GCTPOL -#define MAXME1 30 -// COMMON/GCTPOL/POLAR(3), NAMEC1(MAXME1) -typedef struct { - Float_t polar[3]; - Int_t namec1[MAXME1]; -} Gctpol_t; - -/************************************************************************ - * * - * Commons for GEANE * - * * - ************************************************************************/ - -//------------ERTRIO -// INTEGER MXPRED -// PARAMETER (MXPRED = 10) -// DOUBLE PRECISION ERDTRP -// REAL ERRIN, ERROUT, ERTRSP, ERXIN, ERXOUT, ERPIN, -// + ERPOUT -// INTEGER NEPRED, INLIST, ILPRED, IEPRED -// COMMON /ERTRIO/ ERDTRP(5,5,MXPRED), ERRIN(15), ERROUT(15,MXPRED), -// + ERTRSP(5,5,MXPRED), ERXIN( 3), ERXOUT( 3,MXPRED), -// + ERPIN(3), ERPOUT(3,MXPRED), NEPRED,INLIST,ILPRED, -// + IEPRED(MXPRED) -// - -#define MXPRED 10 -typedef struct { - Double_t erdtrp[MXPRED*5*5]; - Float_t errin[15]; - Float_t errout[MXPRED*15]; - Float_t ertrsp[MXPRED*5*5]; - Float_t erxin[3]; - Float_t erxout[MXPRED*3]; - Float_t erpin[3]; - Float_t erpout[MXPRED*3]; - Int_t nepred; - Int_t inlist; - Int_t ilpred; - Int_t iepred; -} Ertrio_t; - -//-----------EROTPS -// CHARACTER*8 CHOPTI -// LOGICAL LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU -// REAL ERPLI, ERPLO, ERLENG -// INTEGER NAMEER, NUMVER, IOVLER -// COMMON /EROPTS/ ERPLI(3,2), ERPLO(3,4,MXPRED), ERLENG(MXPRED), -// + NAMEER(MXPRED), NUMVER(MXPRED), IOVLER(MXPRED), -// + LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU -// COMMON /EROPTC/CHOPTI - -typedef struct { - Float_t erpli[3*2]; - Float_t erplo[MXPRED*3*4]; - Float_t erleng[MXPRED]; - Int_t nameer[MXPRED]; - Int_t numver[MXPRED]; - Int_t iovler[MXPRED]; - Int_t leexac; - Int_t leleng; - Int_t leonly; - Int_t leplan; - Int_t lepoin; - Int_t levolu; -} Eropts_t; - -typedef struct { - char chopti[8]; -} Eroptc_t; - -//-------TRCOM3: A. Panzarasa -// COMMON /TRCOM3/ A(5,5),B(5,5),S(15),TN(3),T(5), -// COSL,SINL,COSP,SINP,COSLI,NEW -// -typedef struct { - Double_t a[5][5]; - Double_t b[5][5]; - Double_t s[15]; - Double_t tn[3]; - Double_t t[5]; - Double_t cosl; - Double_t sinl; - Double_t cosp; - Double_t sinp; - Double_t cosl1; - Int_t NEW; -} Trcom3_t; - - -//-------ERWORK -// DOUBLE PRECISION EI, EF, ASDSC -// COMMON /ERWORK/ EI(15), EF(15), ASDSC(5,5), -// + XI(3), PPI(3), HI(9), -// + XF(3), PF(3), HF(9), -// + CHTR, DEDX2, BACKTR, CUTEK, TLGCM2, TLRAD - -typedef struct { - Double_t ei[15]; - Double_t ef[15]; - Double_t asdsc[5*5]; - Float_t xi[3]; - Float_t ppi[3]; - Float_t hi[9]; - Float_t xf[3]; - Float_t pf[3]; - Float_t hf[9]; - Float_t chtr; - Float_t dedx2; - Float_t backtr; - Float_t cutek; - Float_t tlgcm2; - Float_t tlrad; -} Erwork_t; - -//----------GCCHAN -// COMMON/GCCHAN/LSAMVL -typedef struct { - Int_t lsamvl; -} Gcchan_t; - -/************************************************************************ - * * - * Commons for GEANE * - * * - ************************************************************************/ - -class TGeant3 : public TVirtualMC { - -public: - TGeant3(); - TGeant3(const char *title, Int_t nwgeant=0); - virtual ~TGeant3(); - - virtual void LoadAddress(); - virtual Bool_t IsRootGeometrySupported() const {return kFALSE;} - -/////////////////////////////////////////////////////////////////////// -// // -// // -// Here are the service routines from the geometry // -// which could be implemented also in other geometries // -// // -// // -/////////////////////////////////////////////////////////////////////// - - void GeomIter(); - Int_t CurrentMaterial(Float_t &a, Float_t &z, Float_t &dens, - Float_t &radl, Float_t &absl) const; - - Bool_t CurrentBoundaryNormal( Double_t &x, Double_t &y, Double_t &z) const { return false; /* added to ROOT */ } - - - Int_t NextVolUp(Text_t *name, Int_t ©); - Int_t CurrentVolID(Int_t ©) const; - Int_t CurrentVolOffID(Int_t off, Int_t ©) const; - const char* CurrentVolName() const; - const char *CurrentVolOffName(Int_t off) const; - const char* CurrentVolPath(); - Int_t VolId(const Text_t *name) const; - Int_t MediumId(const Text_t *name) const; - Int_t IdFromPDG(Int_t pdg) const; - Int_t PDGFromId(Int_t pdg) const; - const char* VolName(Int_t id) const; - Double_t Xsec(char* reac, Double_t energy, Int_t part, Int_t mate); - void TrackPosition(TLorentzVector &xyz) const; - void TrackPosition(Double_t &x, Double_t &y, Double_t &z) const; - void TrackPosition(float &x,float &y, float &z) const {assert(0);} - void TrackMomentum(TLorentzVector &xyz) const; - void TrackMomentum(Double_t &px, Double_t &py, Double_t &pz, - Double_t &etot) const; - void TrackMomentum(Float_t &px, Float_t &py, Float_t &pz, - Float_t &etot) const {assert(0);}; - Int_t NofVolumes() const; - Int_t NofVolDaughters(const char* volName) const; - const char* VolDaughterName(const char* volName, Int_t i) const; - Int_t VolDaughterCopyNo(const char* volName, Int_t i) const; - Int_t VolId2Mate(Int_t id) const; - Double_t TrackTime() const; - Double_t TrackCharge() const; - Double_t TrackMass() const; - Double_t TrackStep() const; - Double_t TrackLength() const; - Int_t TrackPid() const; - Bool_t IsNewTrack() const; - Bool_t IsTrackInside() const; - Bool_t IsTrackEntering() const; - Bool_t IsTrackExiting() const; - Bool_t IsTrackOut() const; - Bool_t IsTrackDisappeared() const; - Bool_t IsTrackStop() const; - Bool_t IsTrackAlive() const; - Int_t NSecondaries() const; - Int_t CurrentEvent() const; - TMCProcess ProdProcess(Int_t isec) const; - Int_t StepProcesses(TArrayI &proc) const; - void GetSecondary(Int_t isec, Int_t& ipart, TLorentzVector &x, - TLorentzVector &p); - Bool_t SecondariesAreOrdered() const {return kTRUE;} - void StopTrack(); - void StopEvent(); - void StopRun(); - Double_t MaxStep() const; - void SetMaxStep(Double_t maxstep); - void SetMaxNStep(Int_t maxnstp); - Int_t GetMaxNStep() const; - void ForceDecayTime(Float_t time); - Bool_t SetCut(const char* cutName, Double_t cutValue); - Bool_t SetProcess(const char* flagName, Int_t flagValue); - const char *GetPath(); - const char *GetNodeName(); - Bool_t DefineParticle(Int_t pdg, const char* name, - TMCParticleType mcType, - Double_t mass, Double_t charge, Double_t lifetime); - Bool_t DefineParticle(Int_t pdg, const char* name, - TMCParticleType mcType, - Double_t mass, Double_t charge, Double_t lifetime, - const TString& /*pType*/, Double_t /*width*/, - Int_t /*iSpin*/, Int_t /*iParity*/, Int_t /*iConjugation*/, - Int_t /*iIsospin*/, Int_t /*iIsospinZ*/, Int_t /*gParity*/, - Int_t /*lepton*/, Int_t /*baryon*/, - Bool_t /*stable*/, Bool_t /*shortlived*/ = kFALSE, - const TString& /*subType*/ = "", - Int_t /*antiEncoding*/ = 0, Double_t /*magMoment*/ = 0.0, - Double_t /*excitation*/ = 0.0); - Bool_t DefineIon(const char* name, Int_t Z, Int_t A, Int_t Q, - Double_t excEnergy, Double_t mass); - virtual TString ParticleName(Int_t pdg) const; - virtual Double_t ParticleMass(Int_t pdg) const; - virtual Double_t ParticleCharge(Int_t pdg) const; - virtual Double_t ParticleLifeTime(Int_t pdg) const; - virtual TMCParticleType ParticleMCType(Int_t pdg) const; - - virtual Int_t CurrentMedium() const; - virtual Int_t GetMedium() const; - virtual Double_t Edep() const; - virtual Double_t Etot() const; - - virtual void Material(Int_t& kmat, const char* name, Double_t a, Double_t z, - Double_t dens, Double_t radl, Double_t absl, - Float_t* buf=0, Int_t nwbuf=0); - virtual void Material(Int_t& kmat, const char* name, Double_t a, Double_t z, - Double_t dens, Double_t radl, Double_t absl, - Double_t* buf, Int_t nwbuf); - virtual void Mixture(Int_t& kmat, const char* name, Float_t* a,Float_t* z, - Double_t dens, Int_t nlmat, Float_t* wmat); - virtual void Mixture(Int_t& kmat, const char* name, Double_t* a,Double_t* z, - Double_t dens, Int_t nlmat, Double_t* wmat); - virtual void Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, - Int_t ifield, Double_t fieldm, Double_t tmaxfd, - Double_t stemax, Double_t deemax, Double_t epsil, - Double_t stmin, Float_t* ubuf=0, Int_t nbuf=0); - virtual void Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, - Int_t ifield, Double_t fieldm, Double_t tmaxfd, - Double_t stemax, Double_t deemax, Double_t epsil, - Double_t stmin, Double_t* ubuf, Int_t nbuf); - virtual void Matrix(Int_t& krot, Double_t thex, Double_t phix, Double_t they, - Double_t phiy, Double_t thez, Double_t phiz); - - virtual void SetRootGeometry(); - -//////////////////////////////////////////////////////////////////////// -// // -// Here are the new functions to get geometry information // -// By: Bjorn S. Nilsen // -// // -//////////////////////////////////////////////////////////////////////// - // Returns the Transformation maxtrix between the volume specified by - // the path volumePath and the Top or master volume. - Bool_t GetTransformation(const TString &volumePath,TGeoHMatrix &mat); - // Returns the name of the shape and its parameters for the volume - // specified by the volumePath and the Top or master volume. - Bool_t GetShape(const TString &volumePath,TString &shapeType,TArrayD &par); - // Returns the material parameters for the volume specified by - // the volume name. - virtual Bool_t GetMaterial(const TString &volumeName, - TString &name,Int_t &imat, - Double_t &a,Double_t &z,Double_t &den, - Double_t &radl,Double_t &inter,TArrayD &par); - - virtual Bool_t GetMaterial( Int_t imat, TString &name, - Double_t &a,Double_t &z,Double_t &den, - Double_t &radl,Double_t &inter,TArrayD &par) - { - return false; // Added to ROOT base class - }; - - - - // Returns the medium parameters for the volume specified by the - // volume name. - Bool_t GetMedium(const TString &volumeName,TString &name,Int_t &imed, - Int_t &nmat,Int_t &isvol,Int_t &ifield, - Double_t &fieldm,Double_t &tmaxfd,Double_t &stemax, - Double_t &deemax,Double_t &epsil, Double_t &stmin, - TArrayD &par); - -//////////////////////////////////////////////////////////////////////// -// // -// // -// Here are the interface functions with GEANT3.21 // -// // -// // -//////////////////////////////////////////////////////////////////////// - - // access functions to commons - - virtual Quest_t* Quest() const {return fQuest;} - virtual Gcbank_t* Gcbank() const {return fGcbank;} - virtual Gclink_t* Gclink() const {return fGclink;} - virtual Gccuts_t* Gccuts() const {return fGccuts;} - virtual Gcmore_t* Gcmore() const {return fGcmore;} - virtual Gcmulo_t* Gcmulo() const {return fGcmulo;} - virtual Gcmate_t* Gcmate() const {return fGcmate;} - virtual Gctpol_t* Gctpol() const {return fGctpol;} - virtual Gcnum_t* Gcnum() const {return fGcnum;} - virtual Gcsets_t* Gcsets() const {return fGcsets;} - virtual Gcopti_t* Gcopti() const {return fGcopti;} - virtual Gctlit_t* Gctlit() const {return fGctlit;} - virtual Gcvdma_t* Gcvdma() const {return fGcvdma;} - virtual Gcvolu_t* Gcvolu() const {return fGcvolu;} - virtual Gckine_t* Gckine() const {return fGckine;} - virtual Gcflag_t* Gcflag() const {return fGcflag;} - virtual Gctmed_t* Gctmed() const {return fGctmed;} - virtual Gcphys_t* Gcphys() const {return fGcphys;} - virtual Gcphlt_t* Gcphlt() const {return fGcphlt;} - virtual Gcking_t* Gcking() const {return fGcking;} - virtual Gckin2_t* Gckin2() const {return fGckin2;} - virtual Gckin3_t* Gckin3() const {return fGckin3;} - virtual Gctrak_t* Gctrak() const {return fGctrak;} - virtual Int_t* Iq() const {return fZiq;} - virtual Int_t* Lq() const {return fZlq;} - virtual Float_t* Q() const {return fZq;} - - - // Access to GEANE commons - - virtual Ertrio_t* Ertrio() const {return fErtrio;} - virtual Eropts_t* Eropts() const {return fEropts;} - virtual Eroptc_t* Eroptc() const {return fEroptc;} - virtual Erwork_t* Erwork() const {return fErwork;} - virtual Trcom3_t* Trcom3() const {return fTrcom3;} - - - // functions from GBASE - virtual void Gpcxyz(); - virtual void Ggclos(); - virtual void Gfile(const char *filename, const char *option="I"); - virtual void Glast(); - virtual void Gprint(const char *name); - virtual void Grun(); - virtual void Gtrig(); - virtual void Gtrigc(); - virtual void Gtrigi(); - virtual void Gwork(Int_t nwork); - virtual void Gzinit(); - - // functions from GCONS - virtual void Gfmate(Int_t imat, char *name, Float_t &a, Float_t &z, - Float_t &dens, Float_t &radl, Float_t &absl, - Float_t* ubuf, Int_t& nbuf); - virtual void Gfmate(Int_t imat, char *name, Double_t &a, Double_t &z, - Double_t &dens, Double_t &radl, Double_t &absl, - Double_t* ubuf, Int_t& nbuf); - virtual void Gfpart(Int_t ipart, char *name, Int_t &itrtyp, - Float_t &amass,Float_t &charge,Float_t &tlife) const; - virtual void Gftmed(Int_t numed, char *name, Int_t &nmat, Int_t &isvol, - Int_t &ifield, Float_t &fieldm, Float_t &tmaxfd, - Float_t &stemax, Float_t &deemax, Float_t &epsil, - Float_t &stmin, Float_t *buf=0, Int_t *nbuf=0); - virtual void Gftmat(Int_t imate, Int_t ipart, char *chmeca, Int_t kdim, - Float_t* tkin, Float_t* value, Float_t* pcut, - Int_t &ixst); - virtual Float_t Gbrelm(Float_t z, Float_t t, Float_t cut); - virtual Float_t Gprelm(Float_t z, Float_t t, Float_t cut); - virtual void Gmate(); - virtual void Gpart(); - virtual void Gsckov(Int_t itmed, Int_t npckov, Float_t *ppckov, - Float_t *absco, Float_t *effic, Float_t *rindex); - virtual void Gsdk(Int_t ipart, Float_t *bratio, Int_t *mode); - virtual void Gsmate(Int_t imat, const char *name, Float_t a, Float_t z, - Float_t dens, Float_t radl, Float_t absl); - virtual void Gfang( Float_t* p, Float_t& costh, Float_t& sinth, - Float_t& cosph, Float_t& sinph, Int_t& rotate); - virtual void Gsmixt(Int_t imat, const char *name, Float_t *a, Float_t *z, - Float_t dens, Int_t nlmat, Float_t *wmat); - virtual void Gspart(Int_t ipart, const char *name, Int_t itrtyp, - Double_t amass, Double_t charge, Double_t tlife); - virtual void Gstmed(Int_t numed,const char *name,Int_t nmat, Int_t isvol, - Int_t ifield, Float_t fieldm, Float_t tmaxfd, - Float_t stemax, Float_t deemax, Float_t epsil, - Float_t stmin); - virtual void Gstpar(Int_t itmed, const char *param, Double_t parval); - - virtual void SetCerenkov(Int_t itmed, Int_t npckov, Float_t *ppckov, - Float_t *absco, Float_t *effic, Float_t *rindex); - virtual void SetCerenkov(Int_t itmed, Int_t npckov, Double_t *ppckov, - Double_t *absco, Double_t *effic, Double_t *rindex); - - // functions for definition of surfaces - // and material properties for optical physics - virtual void DefineOpSurface(const char* name, - EMCOpSurfaceModel model, - EMCOpSurfaceType surfaceType, - EMCOpSurfaceFinish surfaceFinish, - Double_t sigmaAlpha); - virtual void SetBorderSurface(const char* name, - const char* vol1Name, int vol1CopyNo, - const char* vol2Name, int vol2CopyNo, - const char* opSurfaceName); - virtual void SetSkinSurface(const char* name, - const char* volName, - const char* opSurfaceName); - virtual void SetMaterialProperty( - Int_t itmed, const char* propertyName, - Int_t np, Double_t* pp, Double_t* values); - virtual void SetMaterialProperty( - Int_t itmed, const char* propertyName, - Double_t value); - virtual void SetMaterialProperty( - const char* surfaceName, const char* propertyName, - Int_t np, Double_t* pp, Double_t* values); - - // functions from GKINE - virtual void Gfkine(Int_t itra, Float_t *vert, Float_t *pvert, - Int_t &ipart, Int_t &nvert); - virtual void Gfvert(Int_t nvtx,Float_t *v,Int_t &ntbeam,Int_t &nttarg, - Float_t &tofg); - virtual Int_t Gskine(Float_t *plab, Int_t ipart, Int_t nv, - Float_t *ubuf=0, Int_t nwbuf=0); - virtual Int_t Gsvert(Float_t *v, Int_t ntbeam, Int_t nttarg, - Float_t *ubuf=0, Int_t nwbuf=0); - - // functions from GPHYS - virtual void Gphysi(); - - // functions from GTRAK - virtual void Gdebug(); - virtual void Gekbin(); - virtual void Gfinds(); - virtual void Gsking(Int_t igk); - virtual void Gskpho(Int_t igk); - virtual void Gsstak(Int_t iflag); - virtual void Gsxyz(); - virtual void Gtrack(); - virtual void Gtreve(); - virtual void GtreveRoot(); - virtual void Grndm(Float_t *rvec, Int_t len) const; - virtual void Grndmq(Int_t &is1, Int_t &is2, Int_t iseq, - const Text_t *chopt); - - // functions from GGEOM - virtual void Gdxyz(Int_t it); - virtual void Gdcxyz(); - - // functions from GGEOM - virtual void Gdtom(Float_t *xd, Float_t *xm, Int_t iflag); - virtual void Gdtom(Double_t *xd, Double_t *xm, Int_t iflag); - virtual void Glmoth(const char* iudet, Int_t iunum, Int_t &nlev, - Int_t *lvols, Int_t *lindx); - virtual void Gmedia(Float_t *x, Int_t &numed); - virtual void Gmtod(Float_t *xm, Float_t *xd, Int_t iflag); - virtual void Gmtod(Double_t *xm, Double_t *xd, Int_t iflag); - virtual void Gsdvn(const char *name, const char *mother, - Int_t ndiv, Int_t iaxis); - virtual void Gsdvn2(const char *name, const char *mother, - Int_t ndiv, Int_t iaxis, Double_t c0i, Int_t numed); - virtual void Gsdvs(const char *name, const char *mother, - Float_t step, Int_t iaxis, Int_t numed); - virtual void Gsdvs2(const char *name, const char *mother, - Float_t step, Int_t iaxis, Float_t c0, Int_t numed); - virtual void Gsdvt(const char *name, const char *mother, - Double_t step, Int_t iaxis, Int_t numed, Int_t ndvmx); - virtual void Gsdvt2(const char *name, const char *mother, - Double_t step, Int_t iaxis, - Double_t c0, Int_t numed, Int_t ndvmx); - virtual void Gsord(const char *name, Int_t iax); - virtual void Gspos(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly="ONLY"); - virtual void Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Float_t *upar, Int_t np); - virtual void Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Double_t *upar, Int_t np); - virtual void Gsrotm(Int_t nmat, Float_t theta1, Float_t phi1, - Float_t theta2, Float_t phi2, - Float_t theta3, Float_t phi3); - virtual void Gprotm(Int_t nmat=0); - virtual Int_t Gsvolu(const char *name, const char *shape, Int_t nmed, - Float_t *upar, Int_t np); - virtual Int_t Gsvolu(const char *name, const char *shape, Int_t nmed, - Double_t *upar, Int_t np); - virtual void Gsatt(const char *name, const char *att, Int_t val); - virtual void Gfpara(const char *name,Int_t number,Int_t intext,Int_t& npar, - Int_t& natt, Float_t* par, Float_t* att); - virtual void Gckpar(Int_t ish, Int_t npar, Float_t *par); - virtual void Gckmat(Int_t itmed, char *natmed); - virtual Int_t Glvolu(Int_t nlev, Int_t *lnam,Int_t *lnum); - virtual void Gsbool(const char* /*onlyVolName*/, - const char* /*manyVolName*/) {} - - // functions from GDRAW - virtual void DefaultRange(); - virtual void InitHIGZ(); - virtual void Gdopen(Int_t view); - virtual void Gdclose(); - virtual void Gdelete(Int_t view); - virtual void Gdshow(Int_t view); - virtual void Gdopt(const char *name,const char *value); - virtual void Gdraw(const char *name,Double_t theta=30, Double_t phi=30, - Double_t psi=0,Double_t u0=10,Double_t v0=10, - Double_t ul=0.01,Double_t vl=0.01); - virtual void Gdrawc(const char *name,Int_t axis=1, Float_t cut=0, - Float_t u0=10,Float_t v0=10,Float_t ul=0.01, - Float_t vl=0.01); - virtual void Gdrawx(const char *name,Float_t cutthe, Float_t cutphi, - Float_t cutval, Float_t theta=30, Float_t phi=30, - Float_t u0=10,Float_t v0=10,Float_t ul=0.01, - Float_t vl=0.01); - virtual void Gdhead(Int_t isel, const char *name, Double_t chrsiz=0.6); - virtual void Gdman(Double_t u0, Double_t v0, const char *type="MAN"); - virtual void Gdspec(const char *name); - virtual void DrawOneSpec(const char *name); - virtual void Gdtree(const char *name,Int_t levmax=15,Int_t ispec=0); - virtual void GdtreeParent(const char *name,Int_t levmax=15,Int_t ispec=0); - - virtual void WriteEuclid(const char* filnam, const char* topvol, - Int_t number, Int_t nlevel); - - virtual void SetABAN(Int_t par=1); - virtual void SetANNI(Int_t par=1); - virtual void SetAUTO(Int_t par=1); - virtual void SetBOMB(Float_t bomb=1); - virtual void SetBREM(Int_t par=1); - virtual void SetCKOV(Int_t par=1); - virtual void SetClipBox(const char *name,Double_t xmin=-9999, - Double_t xmax=0, Double_t ymin=-9999, - Double_t ymax=0,Double_t zmin=-9999, - Double_t zmax=0); - virtual void SetCOMP(Int_t par=1); - //modified by Andrea Fontana and Alberto Rotondi - march 2007 - //added array of 5 user definable cuts (like in old Geant) - virtual void SetCUTS(Float_t cutgam,Float_t cutele,Float_t cutneu, - Float_t cuthad,Float_t cutmuo ,Float_t bcute , - Float_t bcutm ,Float_t dcute , - Float_t dcutm ,Float_t ppcutm, Float_t tofmax, Float_t - *gcuts); - virtual void InitGEANE(); - virtual void SetClose(Int_t iclose,Float_t *pf,Float_t dstrt, - Float_t *w1,Float_t *w2, - Float_t *p1,Float_t *p2,Float_t *p3,Float_t *cl); - virtual void GetClose(Float_t *p1,Float_t *p2,Float_t *p3, Float_t *len); - virtual void SetECut(Float_t gcalpha); - virtual void SetDCAY(Int_t par=1); - virtual void SetDEBU(Int_t emin=1, Int_t emax=999, Int_t emod=1); - virtual void SetDRAY(Int_t par=1); - virtual void SetERAN(Float_t ekmin=1.e-5, Float_t ekmax=1.e4, - Int_t nekbin=90); - virtual void SetHADR(Int_t par=1); - virtual void SetKINE(Int_t kine, Float_t xk1=0, Float_t xk2=0, - Float_t xk3=0, Float_t xk4=0, - Float_t xk5=0, Float_t xk6=0, Float_t xk7=0, - Float_t xk8=0, Float_t xk9=0, Float_t xk10=0); - virtual void SetLOSS(Int_t par=2); - virtual void SetMULS(Int_t par=1); - virtual void SetMUNU(Int_t par=1); - virtual void SetOPTI(Int_t par=2); - virtual void SetPAIR(Int_t par=1); - virtual void SetPFIS(Int_t par=1); - virtual void SetPHOT(Int_t par=1); - virtual void SetRAYL(Int_t par=1); - virtual void SetSTRA(Int_t par=0); - virtual void SetSWIT(Int_t sw, Int_t val=1); - virtual void SetTRIG(Int_t nevents=1); - virtual void SetUserDecay(Int_t ipart); - virtual Bool_t SetDecayMode(Int_t pdg, Float_t bratio[6], Int_t mode[6][3]); - virtual void Vname(const char *name, char *vname); - virtual void InitLego(); - - // Routines from GEANE - - virtual void Ertrgo(); - virtual void Ertrak(const Float_t *x1, const Float_t *p1, - const Float_t *x2, const Float_t *p2, - Int_t ipa, Option_t *chopt); - virtual void Eufill(Int_t n,Float_t *ein,Float_t *xlf); - virtual void Eufilp(const Int_t n, Float_t *ein, - Float_t *pli, Float_t *plf); - virtual void Eufilv(Int_t n, Float_t *ein, - Char_t *namv, Int_t *numv,Int_t *iovl); - virtual void Trscsd(Float_t *pc,Float_t *rc,Float_t *pd,Float_t *rd,Float_t *h, - Float_t ch,Int_t ierr,Float_t spu,Float_t *dj,Float_t *dk); - virtual void Trsdsc(Float_t *pd,Float_t *rd,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spu,Float_t *dj,Float_t *dk); - virtual void Trscsp(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); - virtual void Trspsc(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); - // Control Methods - - virtual void FinishGeometry(); - virtual void BuildPhysics(); - virtual void Init(); - virtual void ProcessEvent(); - virtual Bool_t ProcessRun(Int_t nevent); - virtual void AddParticlesToPdgDataBase() const; - - // - virtual void SetColors(); - - void SetTrack(Int_t done, Int_t parent, Int_t pdg, - Float_t *pmom, Float_t *vpos, Float_t *polar, - Float_t tof, TMCProcess mech, Int_t &ntr, - Float_t weight, Int_t is); - - Ertrio_t *fErtrio; //! ERTRIO common structure - Eropts_t *fEropts; //! EROPTS common structure - Eroptc_t *fEroptc; //! EROPTC common structure - Erwork_t *fErwork; //! ERWORK common structure - Trcom3_t *fTrcom3; //! TRCOM3 common structure - - -private: - Int_t ConvertVolumePathString(const TString &volumeName,Int_t **lnam, - Int_t **lnum); - virtual void ProcessEvent(Int_t); - virtual void ProcessEvent(Int_t, Bool_t); - - -protected: - Int_t fNextVol; // Iterator for GeomIter - char fPath[512]; // Current path of G3 -//--------------Declarations for ZEBRA--------------------- - Int_t *fZiq; //! Good Old IQ of Zebra - Int_t *fZlq; //! Good Old LQ of Zebra - Float_t *fZq; //! Good Old Q of Zebra - - Quest_t *fQuest; //! QUEST common structure - Gcbank_t *fGcbank; //! GCBANK common structure - Gclink_t *fGclink; //! GCLINK common structure - Gccuts_t *fGccuts; //! GCCUTS common structure - Gcmore_t *fGcmore; //! GCMORE common structure - Gcmulo_t *fGcmulo; //! GCMULO common structure - Gcmate_t *fGcmate; //! GCMATE common structure - Gctpol_t *fGctpol; //! GCTPOL common structure - Gcnum_t *fGcnum; //! GCNUM common structure - Gcsets_t *fGcsets; //! GCSETS common structure - Gcopti_t *fGcopti; //! GCOPTI common structure - Gctlit_t *fGctlit; //! GCTLIT common structure - Gcvdma_t *fGcvdma; //! GCVDMA common structure - Gcvolu_t *fGcvolu; //! GCVOLU common structure - Gckine_t *fGckine; //! GCKINE common structure - Gcflag_t *fGcflag; //! GCFLAG common structure - Gctmed_t *fGctmed; //! GCTMED common structure - Gcphys_t *fGcphys; //! GCPHYS common structure - Gcphlt_t *fGcphlt; //! GCPHLT common structure - Gcking_t *fGcking; //! GCKING common structure - Gckin2_t *fGckin2; //! GCKIN2 common structure - Gckin3_t *fGckin3; //! GCKIN3 common structure - Gctrak_t *fGctrak; //! GCTRAK common structure - Gcchan_t *fGcchan; //! GCCHAN common structure - - // commons for GEANE - - - //Put here all volume names - - char (*fVolNames)[5]; //! Names of geant volumes as C++ chars - TObjArray fMedNames; //! Names of geant medias as TObjString - - Int_t fNG3Particles; // Number of G3 particles - Int_t fNPDGCodes; // Number of PDG codes known by G3 - - TArrayI fPDGCode;// Translation table of PDG codes - TGeoMCGeometry* fMCGeo; // Implementation of TVirtualMCGeometry for TGeo - Bool_t fImportRootGeometry; // Option to import geometry from TGeo - // (materials and medias are filled - // in FinishGeometry() - Bool_t fStopRun; // The flag for stopping run by a user - - TMCProcess G3toVMC(Int_t iproc) const; - - void DefineParticles(); - Int_t TransportMethod(TMCParticleType particleType) const; - TString ParticleClass(TMCParticleType particleType) const; - TMCParticleType ParticleType(Int_t itrtyp) const; - - enum {kTRIG = BIT(14), - kSWIT = BIT(15), - kDEBU = BIT(16), - kAUTO = BIT(17), - kABAN = BIT(18), - kOPTI = BIT(19), - kERAN = BIT(20) - }; - TGeant3(const TGeant3 &) : TVirtualMC() {} - TGeant3 & operator=(const TGeant3&) {return *this;} - - // array conversion - Float_t* CreateFloatArray(Float_t* array, Int_t size) const; - Float_t* CreateFloatArray(Double_t* array, Int_t size) const; - Int_t NextKmat() const; - - // functions for building geometry with different interface - // for double and single precision - void G3Material(Int_t& kmat, const char* name, Double_t a, Double_t z, - Double_t dens, Double_t radl, Double_t absl, - Float_t* buf=0, Int_t nwbuf=0); - void G3Mixture(Int_t& kmat, const char* name, Float_t* a,Float_t* z, - Double_t dens, Int_t nlmat, Float_t* wmat); - void G3Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, - Int_t ifield, Double_t fieldm, Double_t tmaxfd, - Double_t stemax, Double_t deemax, Double_t epsil, - Double_t stmin, Float_t* ubuf=0, Int_t nbuf=0); - Int_t G3Gsvolu(const char *name, const char *shape, Int_t nmed, - Float_t *upar, Int_t np); - void G3Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Float_t *upar, Int_t np); - - // particles definition - Int_t GetIonPdg(Int_t z, Int_t a, Int_t i = 0) const; - Int_t GetSpecialPdg(Int_t number) const; - - ClassDef(TGeant3,1) //C++ interface to Geant basic routines -}; - -#endif //ROOT_TGeant3 diff --git a/StarVMC/geant3/TGeant3/TGeant3TGeo.cxx b/StarVMC/geant3/TGeant3/TGeant3TGeo.cxx deleted file mode 100644 index 404eb37d6e7..00000000000 --- a/StarVMC/geant3/TGeant3/TGeant3TGeo.cxx +++ /dev/null @@ -1,2332 +0,0 @@ - -/************************************************************************** - * Copyright(c) 1998-2003, 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. * - **************************************************************************/ - -/* -$Log: TGeant3TGeo.cxx,v $ -Revision 1.7 2015/05/26 15:39:27 jwebb -Revert to previous version. Last checkin was in error. - -Revision 1.5 2009/02/02 14:28:21 fisyak -Add protection wrt new method introduced in ROOT 5.22.0 - -Revision 1.4 2009/02/01 17:29:50 fisyak -Resolve conflicts - -Revision 1.1.1.1 2008/12/10 20:45:56 fisyak -Merge with macos version - -Revision 1.17 2006/12/19 13:16:19 brun -from Mohammad Al-Turany & Denis Bertini - -Changes in TGeant3/TGeant3.cxx and TGeant3.h ------------------------------------- -1. Geane interface functions are added: - void eufill(Int_t n, Float_t *ein, Float_t *xlf); - void eufilp(const int n,Float_t *ein,Float_t *pli,Float_t *plf); - void eufilv(Int_t n, Float_t *ein, Char_t *namv, Int_t *numv,Int_t *iovl); - void trscsd(Float_t *pc,Float_t *rc,Float_t *pd,Float_t *rd, - Float_t *h,Float_t *ch,Int_t *ierr,Float_t *spu,Float_t *dj,Float_t *dk); - void trsdsc(Float_t *pd,Float_t *rd,Float_t *pc,Float_t *rc, - Float_t *h,Float_t *ch,Int_t *ierr,Float_t *spu,Float_t *dj,Float_t *dk); - void trscsp(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); - void trspsc(Float_t *ps,Float_t *rs,Float_t *pc,Float_t *rc,Float_t *h, - Float_t *ch,Int_t *ierr,Float_t *spx); - -2. The Gfang function wrapper is added - void g3fang( Float_t *, Float_t &,Float_t &, Float_t &, Float_t &,Int_t & ); - - - - -changes in TGeant3/TGeant3gu.cxx --------------------------- -Adding GCalor interface - 1. function calsig() and gcalor() are added - 2. setting ihadr=5 will call the GCalor routine - - - - -changes in TGeant3/TGeant3.h ------------------------ -1. Structures for Geane output are setted as public so that the user can access them - - Ertrio_t *fErtrio - Eropts_t *fEropts - Eroptc_t *fEroptc - Erwork_t *fErwork - Trcom3_t *fTrcom3 - -2. The size of the error matrix errin is corrected to 15 - -Revision 1.15 2006/05/30 13:39:07 brun -From Andrei Gheata: -a patch cleaning-up the usage of TGeant3::Vname method inside TGeant3TGeo.cxx. The truncation of names is not needed when working with TGeo. In most of the cases the names were truncated to 4 chars but the result was not used in the subsequent call to TGeoMCGeometry (this is why it still worked) but a cleanup is good anyway... - -Revision 1.14 2006/05/23 15:53:11 brun -From Ivana: - Adding CurrentVolPath() overloading TGeant3 implementation - which does not work correctly with longer volume names - (Oleg Yushchenko) - -Revision 1.13 2005/11/18 21:25:22 brun -From Bjorn, Andrei: -Implemented new VMC functions for access to geometry; -added -Woverloaded-virtual to Makefile.linux - -Revision 1.12 2005/07/28 12:02:17 brun -From Andrei: -- Fixed problem of material indices when coming from FORTRAN code -(TGeant3TGeo::Gsmate) -- when loading the geometry from file, the value of radlen stored in TGeo is -injected in G3 (with negative sign not to be recomputed by G3) but abslen is -recomputed since it is not valid in TGeo. - -Revision 1.11 2005/07/27 13:06:52 brun -Simplify logic in TGeant3TGeo::Mixture (Float_t* case) - -Revision 1.10 2005/07/21 17:54:37 brun -Implement same code in the float* versions that were already implemented -in the Double* versions. - -Revision 1.9 2005/07/20 09:22:51 brun -From Federico: -Fixes to compile with gcc4CVS: ---------------------------------------------------------------------- - -Revision 1.8 2005/07/13 09:36:18 brun -From Federico: - Mods for Mac and removal of stupid printout. - -Revision 1.7 2005/07/11 12:00:47 brun -From Andrei Gheata: -a fix in TGeant3TGeo::Gsmixt. The problem (found by Federico) was -that the array of weights for mixture components in case nlmat<0 (number of -atoms) was recomputed once by G3 itself then again inside Gsmixt, resulting -in wrong fractions. - -Revision 1.6 2005/06/15 08:49:21 brun -From Andrei Gheata: -Change related to usage of assemblies (that have no medium). - -Revision 1.5 2005/05/17 12:48:00 brun -From Ivana: -- Set name TGeant3TGeo - -Revision 1.4 2005/05/11 11:46:54 brun -From Andrei Gheata: - Implementation of gtmany (PUSH) and glvolu (POP) in -TGeant3TGeo class (needed for the correct boundary crossing sequence in -case of Cerenkov transport). - -Revision 1.3 2005/02/08 11:22:03 brun -From Ivana: -For TGeant3.h: -Added IsRootGeometrySupported() function -(now required by TVirtualMC) - -For TGeant3.cxx: -Updated text in Fatal in SetRootGeometry. - -Revision 1.2 2004/12/21 15:34:48 brun -Implement TGeant3TGeo::isRootGeometry returning kTRUE - -Revision 1.1 2004/12/17 11:55:47 brun -A new class TGeant3TGeo (deriving from TGeant3) is introduced. -TGeant3 uses by default the geant3 geometry. TGeant3TGeo uses the TGeo classes. -The two classes are built in the same library. The choice of which version to use -can now be made dynamically at run time (eg based on an environment variable) -or a job control option. -For example the examples like gexam1, gexam4 have been modified to run -with either geant3 geometry or TGeo. To run gexam1 with geant3 geometry do - gexam1 TGeant3 -to run with TGeo (default) do - gexam1 -The examples E01.C, E02 and E03 have also been modified to select the option -at run time based on the environment variable TVirtualMC (set in .rootrc) -If TVirtualMC is set to TGeant3TGeo TGeo geometry will be used. -The Makefile has been modified to build the two classes in the same library. - -Revision 1.37 2004/11/23 14:52:52 brun -From Andreas Morsch: -on request of ALICE/TPC I added a new method to TVirtualMC.h - -void TVirtualMC::ForceDecayTime(Float_t); - - -This allows to force the decay time of the current particle. -The use-case implemented in AliRoot is the decay of primary particles -within a user defined radius range. - -Revision 1.36 2004/10/13 10:38:32 brun -From Andrei Gheata: -some modifications in the current TGeant3.cxx : - -from Mihaela: -- modifications in STATISTICS option: added branches to statistics tree -(statsame + statpath) -- global gckine added. gckine->itrtyp == 7 used in gtnext to optimize -speed - 1% gain (computation of global matrix only when called from gtckov) -- bias of 1E-7 (used previously for making sure a boundary is crossed) -eliminated - -I removed the option WITHBOTH and fixed a problem in VolId() - in the -last version of AliRoot some detector was calling gMC->VolId(name) with -a name containing a blank at the end and now all volumes have the blanks -supressed. Fixing this I noticed that there are 4 detectors that in -their StepManager() they call at each step things like: - if (gMC->CurrentVolId(copy) == gMC->VolId("RICH")) ... -Incredible !!! In G3 native this search by name does not penalize so -much since names are converted to Int_t and the volume bank is looked -for this Int_t. In TGeo we cannot do this since we support long names so -we have to go to gGeoManager->GetVolume("name") which scans a list of -2000 objects at each step several times... I fixed this by hand by -puting static variables in these methods and Peter will commit the -changes. The gain in speed for TGeo case is considerable with full AliRoot. - -Revision 1.35 2004/10/12 07:46:23 brun ->From Ivana: -Implemented new functions from TVirtualMC: - Int_t NofVolDaughters(const char* volName) const; - const char* VolDaughterName(const char* volName, Int_t i) const; - Int_t VolDaughterCopyNo(const char* volName, Int_t i) const; - const char* CurrentVolPath(); - -Revision 1.34 2004/09/17 08:51:55 brun ->From Ivana - SetRootGeometry() allowed only with WITHROOT option; - added Fatal() for other modes. - -Revision 1.33 2004/08/25 07:28:54 brun ->From Ivana and Lionel Chaussard - In method DefineParticles(), we had: - - pdgcode(Tau+)=15 - pdgcode(Tau-)=-15 - - This is in contradiction with the other leptons (pdgcode>0 for - negative leptons, pdgcode<0 for positive leptons). I also checked - in the PDG WEB pages that Tau- should have a code +15. - - changed to: - pdgcode(tau+)=-15 - pdgcode(tau-)=+15 ? - -Revision 1.32 2004/08/05 12:20:39 brun ->From Andrei Gheata: -I have found/fixed a bug in TGeoManager::IsSameLocation(x,y,z). Also I -have eliminated the penalizing check of IsSameLocation() in gtnext(). - -Revision 1.31 2004/07/09 12:15:12 brun ->From Ivana: -in case a user defines geometry via TGeo and associates more tracking - media with the same material, TGeant3 duplicates this material - for each tracking medium. - I haven't found a function for getting the number of - materials/media (TList) so I count them by a loop - - maybe it can be done more intelligently... - -Revision 1.30 2004/07/09 08:11:29 brun -Fix by Ivana/Andrei to call TGeoMedium::setId and not TGeoMedium::SetUniqueID - -Revision 1.29 2004/06/17 13:56:53 rdm -changed several "const int" arguments to "int". Was causing warnings of -type "qualifier is meaningless". - -Revision 1.28 2004/06/08 10:27:19 brun ->From Ivana: -- Added Bool_t return value to methods - SetCut(), SetProcess(), DefineParticle(), DefineIon() -- Removed DefineParticles() - -Revision 1.27 2004/05/28 13:45:00 brun ->From Ivana -Implementation of StopRun (new function in TVirtualMC) - -Revision 1.26 2004/05/14 08:32:01 brun -In function gtnext, call GetNextBoundary(-step) instead of (step). -This fixes a problem when tracking Cherenkov photons. -(Thanks to Yuri Kharlov for reporting the problem and Andrei for fixing it) - -Revision 1.25 2004/03/23 11:16:44 brun ->From Ivana -With the previous changes by Andrei, all fixes by Ivana were lost. -This patch merges Ivana and Andrei versions. - -Revision 1.23 2004/03/15 12:18:45 brun ->From Andrei Gheata: - - minor modifications to cope with geometry retreival from file: - - ConstructGeometry does not need to be called - - CloseGeometry not needed - -Revision 1.22 2004/02/03 12:47:34 brun ->From Andrei Gheata: -TGeant3: - -- calls to gtonly return now always a true value (G3 is seeing an ONLY -geometry with TGeo) -- IsSameLocation inside gtnext not yet eliminated, but I am getting only -1 exception instead of 400 now (when the location really changes) - -Revision 1.21 2004/01/28 18:05:24 brun -New version from Peter Hristov adding the graphics interface - -Revision 1.20 2004/01/28 08:30:54 brun -Change the call to TRandom::RndmArray in function grndm - -Revision 1.19 2004/01/28 08:14:48 brun -Add a CPP option STATISTICS to monitor the fequency of calls to the geometry functions. - -Revision 1.18 2003/12/10 15:39:37 brun -iFollowing recent improvements by Andrei, replace in ggperp -the computation of normals: - Double_t *dblnorm = gGeoManager->FindNormal(kFALSE); -with : - Double_t *dblnorm = gGeoManager->FindNormalFast(); - -Revision 1.17 2003/12/10 10:32:09 brun -Add a protection in TGeant3TGeo::Gsmate in case the material density is null - -Revision 1.16 2003/12/01 23:51:22 brun ->From Andrei and Peter: -add a few missing cases when compiling with the WITHROOT option. - -Revision 1.15 2003/11/28 09:44:15 brun -New version of TGeant3 supporting the options WITHG3 and WITHROOT - -Revision 1.14 2003/10/09 06:28:45 brun -In TGeant3TGeo::ParticleName, increase size of local array name[20] to name[21] - -Revision 1.13 2003/09/26 15:01:08 brun ->From Ivana; -- implemented new functions from TVirtualMC - enabling user to define own particles and ions - + getter functions:: - DefineParticle(..) - DefineIon(..) - ParticleName(..) const - ParticleMass(..) const - Double_t ParticleCharge(..) const - Double_t ParticleLifeTime(..) const -- corrected charge in AddParticlesToPdgDataBase - -Revision 1.12 2003/07/22 06:53:28 brun -This version does not yet support TGeo geometry. -TVirtualMC must be initialized with the 3rd argument set to kFALSE - -Revision 1.11 2003/07/18 10:22:50 brun -Changes to reflect the equivalent changes in the abstract classes in vmc -(thanks Peter Hristov) - -Revision 1.10 2003/07/16 07:40:09 brun ->From Andreas Morsch - -- default g3 specific initialisation moved to TGeant3TGeo::Init() - (This avoids the cast to TGeant3* in the Config.C) -- "CKOV" added to SetProcess - -Revision 1.9 2003/06/03 21:26:46 brun -New version of gustep by Andreas Morsch - -Revision 1.8 2003/02/28 10:41:49 brun ->From Andreas - In DefineParticles(): rho0 decay channel corrected - -Revision 1.7 2003/02/04 17:50:34 brun ->From Ivana - In Mixture(): pass abs(nlmat) to CreateFloatArray calls - as nlmat can be negative. - -Revision 1.6 2003/01/31 18:23:06 brun -Ivana suggested corrections. -- corrected tau pdg code -- Warning if external decayer needed but not defined. - -Revision 1.5 2003/01/23 11:34:04 brun -In gustep, replace - gMC->TrackPosition(x,y,z); -by - geant3->TrackPosition(x,y,z); - -Revision 1.4 2003/01/06 17:20:52 brun -Add new functions TrackPosition and TrackMomentum as alternative to the original -functions filling a TLorentzVector object. -Use these new functions in gustep and gudcay. -This makes a 25 per cent speed improvement in case of Alice. - -Revision 1.3 2002/12/10 07:58:36 brun -Update by Federico for the calls to Grndm - -Revision 1.2 2002/12/06 16:50:30 brun ->From Federico: -the following modifications provide an >6% improvement in speed for -AliRoot. - -Revision 1.1.1.1 2002/07/24 15:56:26 rdm -initial import into CVS - -Revision 1.5 2002/07/10 09:33:19 hristov -Array with variable size created by new - -Revision 1.4 2002/07/10 08:38:54 alibrary -Cleanup of code - -*/ - -/////////////////////////////////////////////////////////////////////////////// -// // -// Interface Class to the Geant3.21 MonteCarlo // -// // -// // -// // -/////////////////////////////////////////////////////////////////////////////// - -#include -#include - -#include "TROOT.h" -#include "TParticle.h" -#include "TDatabasePDG.h" -#include "TLorentzVector.h" -#include "TArrayI.h" -#include "TArrayD.h" - -#include "TGeant3TGeo.h" - -#include "TGeoManager.h" -#include "TGeoMatrix.h" -#include "TGeoMCGeometry.h" - -#include "TCallf77.h" -#include "TVirtualMCDecayer.h" -#include "TPDGCode.h" - -#ifndef WIN32 -# define g3smate g3smate_ -# define g3smixt g3smixt_ -# define g3stmed g3stmed_ -# define g3treve g3treve_ -# define gtreveroot gtreveroot_ -# define gcomad gcomad_ - -# define g3brelm g3brelm_ -# define g3prelm g3prelm_ - -#else - -# define gzebra GZEBRA -# define grfile GRFILE -# define gpcxyz GPCXYZ -# define ggclos GGCLOS -# define ginit GINIT -# define g3cinit G3CINIT -# define grun GRUN -# define gtrig GTRIG -# define gtrigc GTRIGC -# define gtrigi GTRIGI -# define gwork GWORK -# define gfmate GFMATE -# define gfpart GFPART -# define gftmed GFTMED -# define gftmat GFTMAT -# define gsmate GSMATE -# define gsmixt GSMIXT -# define gstmed GSTMED -# define gstpar GSTPAR -# define gfkine GFKINE -# define gfvert GFVERT -# define gskine GSKINE -# define gsvert GSVERT -# define gphysi GPHYSI -# define gekbin GEKBIN -# define gfinds GFINDS -# define gsking GSKING -# define gskpho GSKPHO -# define gsstak GSSTAK -# define gtreve GTREVE -# define gtreveroot GTREVEROOT -# define gdtom GDTOM -# define gmedia GMEDIA -# define gmtod GMTOD -# define gsdvn GSDVN -# define gsdvn2 GSDVN2 -# define gsdvs GSDVS -# define gsdvs2 GSDVS2 -# define gsdvt GSDVT -# define gsdvt2 GSDVT2 -# define gsord GSORD -# define gspos GSPOS -# define gsposp GSPOSP -# define gsrotm GSROTM -# define gprotm GPROTM -# define gsvolu GSVOLU -# define gprint GPRINT -# define gcomad GCOMAD - -#endif - -//____________________________________________________________________________ -extern "C" -{ - // - // Prototypes for GEANT functions - // - - void type_of_call g3treve(); - - void type_of_call gtreveroot(); - - void type_of_call g3smate(const Int_t&, DEFCHARD, Float_t &, Float_t &, - Float_t &, Float_t &, Float_t &, Float_t *, - Int_t & DEFCHARL); - - void type_of_call g3smixt(const Int_t&, DEFCHARD, const Float_t *, - const Float_t *, const Float_t &, const Int_t &, - Float_t * DEFCHARL); - - void type_of_call g3stmed(const Int_t&, DEFCHARD, Int_t &, Int_t &, Int_t &, - Float_t &, Float_t &, Float_t &, Float_t &, - Float_t &, Float_t &, Float_t *, Int_t & DEFCHARL); - - void type_of_call gcomad(DEFCHARD, Int_t*& DEFCHARL); -} - - -#ifndef WIN32 -# define gtreveroot gtreveroot_ - -#else -# define gtreveroot GTREVEROOT - -#endif - -extern "C" type_of_call void gtreveroot(); -extern "C" type_of_call void ginvolTGeo(Float_t*, Int_t&); -extern "C" type_of_call void gtmediTGeo(Float_t*, Int_t&); -extern "C" type_of_call void gtmanyTGeo(Int_t&); -extern "C" type_of_call void gtonlyTGeo(Int_t&); -extern "C" type_of_call void gmediaTGeo(Float_t*, Int_t&, Int_t&); -extern "C" type_of_call void glvoluTGeo(Int_t &nlev, Int_t *lnam,Int_t *lnum, Int_t &ier); -extern "C" type_of_call void gtnextTGeo(); -extern "C" type_of_call void ggperpTGeo(Float_t*, Float_t*, Int_t&); - -// -// Geant3 global pointer -// -Gcvol1_t *gcvol1 = 0; -TGeoNode *gCurrentNode = 0; -R__EXTERN Gctrak_t *gctrak; -R__EXTERN Gcvolu_t *gcvolu; -R__EXTERN Gckine_t *gckine; -R__EXTERN TGeant3* geant3; -R__EXTERN Gcchan_t *gcchan; -R__EXTERN Int_t count_ginvol; -R__EXTERN Int_t count_gmedia; -R__EXTERN Int_t count_gtmedi; -R__EXTERN Int_t count_gtnext; - -R__EXTERN void (*fginvol)(Float_t*, Int_t&); -R__EXTERN void (*fgtmedi)(Float_t*, Int_t&); -R__EXTERN void (*fgtmany)(Int_t&); -R__EXTERN void (*fgtonly)(Int_t&); -R__EXTERN void (*fgmedia)(Float_t*, Int_t&, Int_t&); -R__EXTERN void (*fglvolu)(Int_t &nlev, Int_t *lnam,Int_t *lnum, Int_t &ier); -R__EXTERN void (*fgtnext)(); -R__EXTERN void (*fggperp)(Float_t*, Float_t*, Int_t&); - - -//____________________________________________________________________________ -TGeant3TGeo::TGeant3TGeo() - : TGeant3(), - fMCGeo(0) -{ - // - // Default constructor -} - -//____________________________________________________________________________ -TGeant3TGeo::TGeant3TGeo(const char *title, Int_t nwgeant) - : TGeant3(title,nwgeant), - fImportRootGeometry(kFALSE) -{ - // - // Standard constructor for TGeant3 with ZEBRA initialisation - // - - SetName("TGeant3TGeo"); - - fMCGeo = new TGeoMCGeometry("MCGeo", "TGeo Implementation of VirtualMCGeometry"); - - LoadAddress(); - //set pointers to tracker functions - fginvol = ginvolTGeo; - fgtmedi = gtmediTGeo; - fgtmany = gtmanyTGeo; - fgtonly = gtonlyTGeo; - fgmedia = gmediaTGeo; - fglvolu = glvoluTGeo; - fgtnext = gtnextTGeo; - fggperp = ggperpTGeo; -} - -//____________________________________________________________________________ -TGeant3TGeo::~TGeant3TGeo() -{ - delete fMCGeo; -} - -//____________________________________________________________________________ -void TGeant3TGeo::LoadAddress() -{ - // - // Assigns the address of the GEANT common blocks to the structures - // that allow their access from C++ - // -// printf("LoadAddress\n"); -// TGeant3::LoadAddress(); - gcomad(PASSCHARD("GCVOL1"),(int*&) fGcvol1 PASSCHARL("GCVOL1")); - gcvol1 = fGcvol1; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::GeomIter() -{ - // - // Geometry iterator for moving upward in the geometry tree - // Initialise the iterator - // - fNextVol=gGeoManager->GetLevel(); -} - -//____________________________________________________________________________ -Int_t TGeant3TGeo::NextVolUp(Text_t *name, Int_t ©) -{ - // - // Geometry iterator for moving upward in the geometry tree - // Return next volume up - // - fNextVol--; - if (fNextVol>=0) { - Int_t level = gGeoManager->GetLevel(); - if (level<=fNextVol) return 0; - TGeoNode *mother = gGeoManager->GetMother(level-fNextVol); - if (!mother) return 0; - sprintf(name, "%s", mother->GetVolume()->GetName()); - copy = mother->GetNumber(); - return mother->GetVolume()->GetNumber(); - } - return 0; -} - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::CurrentVolID(Int_t ©) const -{ - // - // Returns the current volume ID and copy number - // - if (gGeoManager->IsOutside()) return 0; - TGeoNode *node = gGeoManager->GetCurrentNode(); - copy = node->GetNumber(); - Int_t id = node->GetVolume()->GetNumber(); - return id; -} - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::CurrentVolOffID(Int_t off, Int_t ©) const -{ - // - // Return the current volume "off" upward in the geometrical tree - // ID and copy number - // - if (off<0 || off>gGeoManager->GetLevel()) return 0; - if (off==0) return CurrentVolID(copy); - TGeoNode *node = gGeoManager->GetMother(off); - if (!node) return 0; - copy = node->GetNumber(); - return node->GetVolume()->GetNumber(); -} - -//_____________________________________________________________________________ -const char* TGeant3TGeo::CurrentVolName() const -{ - // - // Returns the current volume name - // - if (gGeoManager->IsOutside()) return gGeoManager->GetTopVolume()->GetName(); - return gGeoManager->GetCurrentVolume()->GetName(); -} - -//_____________________________________________________________________________ -const char* TGeant3TGeo::CurrentVolOffName(Int_t off) const -{ - // - // Return the current volume "off" upward in the geometrical tree - // ID, name and copy number - // if name=0 no name is returned - // - Int_t i; - if( (i=fGcvolu->nlevel-off-1) < 0 ) { - Warning("CurrentVolOffName", - "Offset requested %d but stack depth %d\n",off,fGcvolu->nlevel); - return 0; - } - if (off<0 || off>gGeoManager->GetLevel()) return 0; - if (off==0) return CurrentVolName(); - TGeoNode *node = gGeoManager->GetMother(off); - if (!node) return 0; - return node->GetVolume()->GetName(); -} - -//______________________________________________________________________ -const char* TGeant3TGeo::CurrentVolPath() -{ -// Return the path in geometry tree for the current volume -// --- - - return GetPath(); -} - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::VolId(const Text_t *name) const -{ - // - // Return the unique numeric identifier for volume name - // - char sname[20]; - Int_t len = strlen(name)-1; - if (name[len] != ' ') return fMCGeo->VolId(name); - strncpy(sname, name, len); - sname[len] = 0; - return fMCGeo->VolId(sname); -} - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::NofVolumes() const -{ - // - // Return total number of volumes in the geometry - // - return fMCGeo->NofVolumes(); -} - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::NofVolDaughters(const char* volName) const -{ -// Return number of daughters of the volume specified by volName -// According to A. Morsch' G3toRoot class -// --- - - return fMCGeo->NofVolDaughters(volName); -} - -//_____________________________________________________________________________ -const char* TGeant3TGeo::VolDaughterName(const char* volName, Int_t i) const -{ -// Return the name of i-th daughters of the volume specified by volName -// According to A. Morsch' G3toRoot class -// --- - - return fMCGeo->VolDaughterName(volName, i); -} - - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::VolDaughterCopyNo(const char* volName, Int_t i) const -{ -// Return the copyNo of i-th daughters of the volume specified by volName -// According to A. Morsch' G3toRoot class -// --- - - return fMCGeo->VolDaughterCopyNo(volName, i); -} - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::VolId2Mate(Int_t id) const -{ - // - // Return material number for a given volume id - // - return fMCGeo->VolId2Mate(id); -} - -//_____________________________________________________________________________ -const char* TGeant3TGeo::VolName(Int_t id) const -{ - // - // Return the volume name given the volume identifier - // - return fMCGeo->VolName(id); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Material(Int_t& kmat, const char* name, Double_t a, Double_t z, - Double_t dens, Double_t radl, Double_t absl, Float_t* buf, - Int_t nwbuf) -{ - // - // Defines a Material - // - // kmat number assigned to the material - // name material name - // a atomic mass in au - // z atomic number - // dens density in g/cm3 - // absl absorbtion length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -absl is taken - // radl radiation length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -radl is taken - // buf pointer to an array of user words - // nbuf number of user words - // - - Float_t* fbuf = CreateFloatArray(buf, nwbuf); - G3Material(kmat, name, a, z, dens, radl, absl, fbuf, nwbuf); - delete [] fbuf; - - fMCGeo->Material(kmat, name, a, z, dens, radl, absl, buf, nwbuf); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Material(Int_t& kmat, const char* name, Double_t a, Double_t z, - Double_t dens, Double_t radl, Double_t absl, Double_t* buf, - Int_t nwbuf) -{ - // - // Defines a Material - // - // kmat number assigned to the material - // name material name - // a atomic mass in au - // z atomic number - // dens density in g/cm3 - // absl absorbtion length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -absl is taken - // radl radiation length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -radl is taken - // buf pointer to an array of user words - // nbuf number of user words - // - - - Float_t* fbuf = CreateFloatArray(buf, nwbuf); - G3Material(kmat, name, a, z, dens, radl, absl, fbuf, nwbuf); - delete [] fbuf; - - fMCGeo->Material(kmat, name, a, z, dens, radl, absl, buf, nwbuf); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Mixture(Int_t& kmat, const char* name, Float_t* a, Float_t* z, - Double_t dens, Int_t nlmat, Float_t* wmat) -{ - // - // Defines mixture OR COMPOUND IMAT as composed by - // THE BASIC NLMAT materials defined by arrays A,Z and WMAT - // - // If NLMAT > 0 then wmat contains the proportion by - // weights of each basic material in the mixture. - // - // If nlmat < 0 then WMAT contains the number of atoms - // of a given kind into the molecule of the COMPOUND - // In this case, WMAT in output is changed to relative - // weigths. - // - - G3Mixture(kmat, name, a, z, dens, nlmat, wmat); - - fMCGeo->Mixture(kmat, name, a, z, dens, TMath::Abs(nlmat), wmat); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Mixture(Int_t& kmat, const char* name, Double_t* a, Double_t* z, - Double_t dens, Int_t nlmat, Double_t* wmat) -{ - // - // Defines mixture OR COMPOUND IMAT as composed by - // THE BASIC NLMAT materials defined by arrays A,Z and WMAT - // - // If NLMAT > 0 then wmat contains the proportion by - // weights of each basic material in the mixture. - // - // If nlmat < 0 then WMAT contains the number of atoms - // of a given kind into the molecule of the COMPOUND - // In this case, WMAT in output is changed to relative - // weigths. - // - - Float_t* fa = CreateFloatArray(a, TMath::Abs(nlmat)); - Float_t* fz = CreateFloatArray(z, TMath::Abs(nlmat)); - Float_t* fwmat = CreateFloatArray(wmat, TMath::Abs(nlmat)); - - G3Mixture(kmat, name, fa, fz, dens, nlmat, fwmat); - Int_t i; - for (i=0; iMixture(kmat, name, a, z, dens, TMath::Abs(nlmat), wmat); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, - Int_t ifield, Double_t fieldm, Double_t tmaxfd, - Double_t stemax, Double_t deemax, Double_t epsil, - Double_t stmin, Float_t* ubuf, Int_t nbuf) -{ - // - // kmed tracking medium number assigned - // name tracking medium name - // nmat material number - // isvol sensitive volume flag - // ifield magnetic field - // fieldm max. field value (kilogauss) - // tmaxfd max. angle due to field (deg/step) - // stemax max. step allowed - // deemax max. fraction of energy lost in a step - // epsil tracking precision (cm) - // stmin min. step due to continuous processes (cm) - // - // ifield = 0 if no magnetic field; ifield = -1 if user decision in guswim; - // ifield = 1 if tracking performed with g3rkuta; ifield = 2 if tracking - // performed with g3helix; ifield = 3 if tracking performed with g3helx3. - // - - G3Medium(kmed, name, nmat, isvol, ifield, fieldm, tmaxfd, stemax, deemax, epsil, - stmin, ubuf, nbuf); - - fMCGeo->Medium(kmed, name, nmat, isvol, ifield, fieldm, tmaxfd, stemax, deemax, - epsil, stmin, ubuf, nbuf); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, - Int_t ifield, Double_t fieldm, Double_t tmaxfd, - Double_t stemax, Double_t deemax, Double_t epsil, - Double_t stmin, Double_t* ubuf, Int_t nbuf) -{ - // - // kmed tracking medium number assigned - // name tracking medium name - // nmat material number - // isvol sensitive volume flag - // ifield magnetic field - // fieldm max. field value (kilogauss) - // tmaxfd max. angle due to field (deg/step) - // stemax max. step allowed - // deemax max. fraction of energy lost in a step - // epsil tracking precision (cm) - // stmin min. step due to continuos processes (cm) - // - // ifield = 0 if no magnetic field; ifield = -1 if user decision in guswim; - // ifield = 1 if tracking performed with g3rkuta; ifield = 2 if tracking - // performed with g3helix; ifield = 3 if tracking performed with g3helx3. - // - - Float_t* fubuf = CreateFloatArray(ubuf, nbuf); - G3Medium(kmed, name, nmat, isvol, ifield, fieldm, tmaxfd, stemax, deemax, epsil, - stmin, fubuf, nbuf); - delete [] fubuf; - - fMCGeo->Medium(kmed, name, nmat, isvol, ifield, fieldm, tmaxfd, stemax, deemax, - epsil, stmin, ubuf, nbuf); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Matrix(Int_t& krot, Double_t thex, Double_t phix, Double_t they, - Double_t phiy, Double_t thez, Double_t phiz) -{ - // - // krot rotation matrix number assigned - // theta1 polar angle for axis i - // phi1 azimuthal angle for axis i - // theta2 polar angle for axis ii - // phi2 azimuthal angle for axis ii - // theta3 polar angle for axis iii - // phi3 azimuthal angle for axis iii - // - // it defines the rotation matrix number irot. - // - krot = -1; - fMCGeo->Matrix(krot, thex, phix, they, phiy, thez, phiz); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::SetRootGeometry() -{ -// Notify Geant3 about use of TGeo geometry. -// The materials and tracking medias will be imported from -// TGeo at FinishGeometry(). - - - fImportRootGeometry = kTRUE; -} - -//_____________________________________________________________________________ -const char *TGeant3TGeo::GetPath() -{ -// Get current path inside G3 geometry - return gGeoManager->GetPath(); -} - -//_____________________________________________________________________________ -const char *TGeant3TGeo::GetNodeName() -{ -// Get name of current G3 node - if (gGeoManager->IsOutside()) return ""; - return gGeoManager->GetCurrentNode()->GetName(); -} - -//______________________________________________________________________ -Bool_t TGeant3TGeo::GetTransformation(const TString &volumePath,TGeoHMatrix &mat) -{ - // Returns the Transformation matrix between the volume specified - // by the path volumePath and the Top or mater volume. The format - // of the path volumePath is as follows (assuming ALIC is the Top volume) - // "/ALIC_1/DDIP_1/S05I_2/S05H_1/S05G_3". Here ALIC is the top most - // or master volume which has only 1 instance of. Of all of the daughter - // volumes of ALICE, DDIP volume copy #1 is indicated. Similarly for - // the daughter volume of DDIP is S05I copy #2 and so on. - // Inputs: - // TString& volumePath The volume path to the specific volume - // for which you want the matrix. Volume name - // hierarchy is separated by "/" while the - // copy number is appended using a "_". - // Outputs: - // TGeoHMatrix &mat A matrix with its values set to those - // appropriate to the Local to Master transformation - // Return: - // A logical value if kFALSE then an error occurred and no change to - // mat was made. - - // We have to preserve the modeler state - return fMCGeo->GetTransformation(volumePath, mat); -} - -//______________________________________________________________________ -Bool_t TGeant3TGeo::GetShape(const TString &volumePath,TString &shapeType, - TArrayD &par) -{ - // Returns the shape and its parameters for the volume specified - // by volumeName. - // Inputs: - // TString& volumeName The volume name - // Outputs: - // TString &shapeType Shape type - // TArrayD &par A TArrayD of parameters with all of the - // parameters of the specified shape. - // Return: - // A logical indicating whether there was an error in getting this - // information - return fMCGeo->GetShape(volumePath, shapeType, par); -} - -//______________________________________________________________________ -Bool_t TGeant3TGeo::GetMaterial(const TString &volumeName, - TString &name,Int_t &imat, - Double_t &a,Double_t &z,Double_t &dens, - Double_t &radl,Double_t &inter,TArrayD &par) -{ - // Returns the Material and its parameters for the volume specified - // by volumeName. - // Note, Geant3 stores and uses mixtures as an element with an effective - // Z and A. Consequently, if the parameter Z is not integer, then - // this material represents some sort of mixture. - // Inputs: - // TString& volumeName The volume name - // Outputs: - // TSrting &name Material name - // Int_t &imat Material index number - // Double_t &a Average Atomic mass of material - // Double_t &z Average Atomic number of material - // Double_t &dens Density of material [g/cm^3] - // Double_t &radl Average radiation length of material [cm] - // Double_t &inter Average interaction length of material [cm] - // TArrayD &par A TArrayD of user defined parameters. - // Return: - // kTRUE if no errors - Int_t i,jma,nbuf; - Float_t af,zf,densf,radlf,interf; - Float_t *ubuf; - Char_t namec[20] = {20*'\0'}; - TGeoVolume *vol = gGeoManager->GetVolume(volumeName.Data()); - if (!vol) return kFALSE; - TGeoMedium *med = vol->GetMedium(); - if (!med) return kFALSE; - TGeoMaterial *mat = med->GetMaterial(); - imat = mat->GetUniqueID(); - - nbuf = jma = Lq()[Gclink()->jmate-imat]; - ubuf = new Float_t[nbuf]; - Gfmate(imat,namec,af,zf,densf,radlf,interf,ubuf,nbuf); - name = mat->GetName(); - name = name.Strip(TString::kTrailing, '$'); - // - par.Set(nbuf); - for(i=0;iGetA(); - z = mat->GetZ(); - dens = mat->GetDensity(); - radl = radlf; - inter = interf; - return kTRUE; -} - -//______________________________________________________________________ -Bool_t TGeant3TGeo::GetMedium(const TString &volumeName,TString &name, - Int_t &imed,Int_t &nmat,Int_t &isvol,Int_t &ifield, - Double_t &fieldm,Double_t &tmaxfd,Double_t &stemax, - Double_t &deemax,Double_t &epsil, Double_t &stmin, - TArrayD &par) -{ - // Returns the Medium and its parameters for the volume specified - // by volumeName. - // Inputs: - // TString& volumeName The volume name. - // Outputs: - // TString &name Medium name - // Int_t &nmat Material number defined for this medium - // Int_t &imed The medium index number - // Int_t &isvol volume number defined for this medium - // Int_t &iflield Magnetic field flag - // Double_t &fieldm Magnetic field strength - // Double_t &tmaxfd Maximum angle of deflection per step - // Double_t &stemax Maximum step size - // Double_t &deemax Maximum fraction of energy allowed to be lost - // to continuous process. - // Double_t &epsil Boundary crossing precision - // Double_t &stmin Minimum step size allowed - // TArrayD &par A TArrayD of user parameters with all of the - // parameters of the specified medium. - // Return: - // kTRUE if there where no errors - Int_t i,nbuf; - Float_t fieldmf,tmaxfdf,stemaxf,deemaxf,epsilf,stminf; - Float_t *buf; - Char_t namec[25] = {25*'\0'}; - TGeoVolume *vol = gGeoManager->GetVolume(volumeName.Data()); - if (!vol) return kFALSE; - TGeoMedium *med = vol->GetMedium(); - if (!med) return kFALSE; - imed = med->GetId(); - nbuf = Lq()[Gclink()->jtmed-imed]; - buf = new Float_t[nbuf]; - Gftmed(imed,namec,nmat,isvol,ifield,fieldmf,tmaxfdf,stemaxf,deemaxf, - epsilf,stminf,buf,&nbuf); - name = med->GetName(); - name = name.Strip(TString::kTrailing, '$'); - par.Set(nbuf); - for(i=0;i=0 it is ignored and the program - // calculates it, if <0. -absl is taken - // radl radiation length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -radl is taken - // buf pointer to an array of user words - // nbuf number of user words - // - Float_t *ubuf=0; - Int_t nbuf=0; - if (dens <= 0 && a != 0 && z != 0) { - Warning("Gsmate","Density was o, set to 0.01 for imat=%d, name=%s",imat,name); - dens = 0.01; - } - g3smate(imat,PASSCHARD(name), a, z, dens, radl, absl, ubuf, nbuf - PASSCHARL(name)); - - gGeoManager->Material(name,a,z,dens,imat); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsmixt(Int_t imat, const char *name, Float_t *a, Float_t *z, - Float_t dens, Int_t nlmat, Float_t *wmat) -{ - // - // Defines mixture OR COMPOUND IMAT as composed by - // THE BASIC NLMAT materials defined by arrays A,Z and WMAT - // - // If NLMAT.GT.0 then WMAT contains the PROPORTION BY - // WEIGTHS OF EACH BASIC MATERIAL IN THE MIXTURE. - // - // If NLMAT.LT.0 then WMAT contains the number of atoms - // of a given kind into the molecule of the COMPOUND - // In this case, WMAT in output is changed to relative - // weigths. - // - g3smixt(imat,PASSCHARD(name),a,z,dens,nlmat,wmat PASSCHARL(name)); - fMCGeo->Mixture(imat, name, a, z, dens, TMath::Abs(nlmat), wmat); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gstmed(Int_t numed, const char *name, Int_t nmat, Int_t isvol, - Int_t ifield, Float_t fieldm, Float_t tmaxfd, - Float_t stemax, Float_t deemax, Float_t epsil, - Float_t stmin) -{ - // - // NTMED Tracking medium number - // NAME Tracking medium name - // NMAT Material number - // ISVOL Sensitive volume flag - // IFIELD Magnetic field - // FIELDM Max. field value (Kilogauss) - // TMAXFD Max. angle due to field (deg/step) - // STEMAX Max. step allowed - // DEEMAX Max. fraction of energy lost in a step - // EPSIL Tracking precision (cm) - // STMIN Min. step due to continuous processes (cm) - // - // IFIELD = 0 if no magnetic field; IFIELD = -1 if user decision in GUSWIM; - // IFIELD = 1 if tracking performed with G3RKUTA; IFIELD = 2 if tracking - // performed with G3HELIX; IFIELD = 3 if tracking performed with G3HELX3. - // - Float_t *ubuf=0; - Int_t nbuf=0; - g3stmed(numed,PASSCHARD(name), nmat, isvol, ifield, fieldm, tmaxfd, stemax, - deemax, epsil, stmin, ubuf, nbuf PASSCHARL(name)); - - gGeoManager->Medium(name,numed,nmat, isvol, ifield, fieldm, tmaxfd, stemax,deemax, epsil, stmin); -} -//_____________________________________________________________________________ -void TGeant3TGeo::Gtreve() -{ - // - // Controls tracking of all particles belonging to the current event - // - g3treve(); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::GtreveRoot() -{ - // - // Controls tracking of all particles belonging to the current event - // - gtreveroot(); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GGEOM -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//_____________________________________________________________________________ -void TGeant3TGeo::Gdtom(Float_t *xd, Float_t *xm, Int_t iflag) -{ - // - // Computes coordinates XM (Master Reference System - // knowing the coordinates XD (Detector Ref System) - // The local reference system can be initialized by - // - the tracking routines and GDTOM used in GUSTEP - // - a call to GSCMED(NLEVEL,NAMES,NUMBER) - // (inverse routine is GMTOD) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosinus - // - Double_t XM[3], XD[3]; - Int_t i; - for (i=0;i<3;i++) XD[i] = xd[i]; - if (iflag == 1) gGeoManager->LocalToMaster(XD,XM); - else gGeoManager->LocalToMasterVect(XD,XM); - for (i=0;i<3;i++) xm[i]=XM[i]; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gdtom(Double_t *xd, Double_t *xm, Int_t iflag) -{ - // - // Computes coordinates XM (Master Reference System - // knowing the coordinates XD (Detector Ref System) - // The local reference system can be initialized by - // - the tracking routines and GDTOM used in GUSTEP - // - a call to GSCMED(NLEVEL,NAMES,NUMBER) - // (inverse routine is GMTOD) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosinus - // - - if (iflag == 1) gGeoManager->LocalToMaster(xd,xm); - else gGeoManager->LocalToMasterVect(xd,xm); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gmedia(Float_t *x, Int_t &numed) -{ - // - // Finds in which volume/medium the point X is, and updates the - // common /GCVOLU/ and the structure JGPAR accordingly. - // - // NUMED returns the tracking medium number, or 0 if point is - // outside the experimental setup. - // - - gCurrentNode = gGeoManager->FindNode(x[0],x[1],x[2]); - if (gGeoManager->IsOutside()) { - numed=0; - } else { - gcvolu->nlevel = 1 + gGeoManager->GetLevel(); - gGeoManager->GetBranchNames(gcvolu->names); - gGeoManager->GetBranchNumbers(gcvolu->number,gcvolu->lvolum); - TGeoVolume *vol = gCurrentNode->GetVolume(); - if (vol) { - TGeoMedium *medium = vol->GetMedium(); - if (medium) numed = medium->GetId(); - } else { - printf("ERROR: gmedia: NULL volume\n"); - } - } -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gmtod(Float_t *xm, Float_t *xd, Int_t iflag) -{ - // - // Computes coordinates XD (in DRS) - // from known coordinates XM in MRS - // The local reference system can be initialized by - // - the tracking routines and GMTOD used in GUSTEP - // - a call to GMEDIA(XM,NUMED,CHECK) - // - a call to GLVOLU(NLEVEL,NAMES,NUMBER,IER) - // (inverse routine is GDTOM) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosinus - // - Double_t XM[3], XD[3]; - Int_t i; - for (i=0;i<3;i++) XM[i]=xm[i]; - if (iflag == 1) gGeoManager->MasterToLocal(XM,XD); - else gGeoManager->MasterToLocalVect(XM,XD); - for (i=0;i<3;i++) xd[i] = XD[i]; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gmtod(Double_t *xm, Double_t *xd, Int_t iflag) -{ - // - // Computes coordinates XD (in DRS) - // from known coordinates XM in MRS - // The local reference system can be initialized by - // - the tracking routines and GMTOD used in GUSTEP - // - a call to GMEDIA(XM,NUMED,CHECK) - // - a call to GLVOLU(NLEVEL,NAMES,NUMBER,IER) - // (inverse routine is GDTOM) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosinus - // - - - if (iflag == 1) gGeoManager->MasterToLocal(xm,xd); - else gGeoManager->MasterToLocalVect(xm,xd); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsdvn(const char *name, const char *mother, Int_t ndiv, - Int_t iaxis) -{ - // - // Create a new volume by dividing an existing one - // - // NAME Volume name - // MOTHER Mother volume name - // NDIV Number of divisions - // IAXIS Axis value - // - // X,Y,Z of CAXIS will be translated to 1,2,3 for IAXIS. - // It divides a previously defined volume. - // - fMCGeo->Gsdvn(name, mother, ndiv, iaxis); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsdvn2(const char *name, const char *mother, Int_t ndiv, - Int_t iaxis, Double_t c0i, Int_t numed) -{ - // - // Create a new volume by dividing an existing one - // - // Divides mother into ndiv divisions called name - // along axis iaxis starting at coordinate value c0. - // the new volume created will be medium number numed. - // - fMCGeo->Gsdvn2(name, mother, ndiv, iaxis, c0i, numed); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsdvs(const char *name, const char *mother, Float_t step, - Int_t iaxis, Int_t numed) -{ - // - // Create a new volume by dividing an existing one - // - gGeoManager->Division(name,mother,iaxis,0,0,step,numed,"s"); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsdvs2(const char *name, const char *mother, Float_t step, - Int_t iaxis, Float_t c0, Int_t numed) -{ - // - // Create a new volume by dividing an existing one - // - gGeoManager->Division(name,mother,iaxis,0,c0,step,numed,"sx"); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsdvt(const char *name, const char *mother, Double_t step, - Int_t iaxis, Int_t numed, Int_t ndvmx) -{ - // - // Create a new volume by dividing an existing one - // - // Divides MOTHER into divisions called NAME along - // axis IAXIS in steps of STEP. If not exactly divisible - // will make as many as possible and will centre them - // with respect to the mother. Divisions will have medium - // number NUMED. If NUMED is 0, NUMED of MOTHER is taken. - // NDVMX is the expected maximum number of divisions - // (If 0, no protection tests are performed) - // - fMCGeo->Gsdvt(name, mother, step, iaxis, numed, ndvmx); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsdvt2(const char *name, const char *mother, Double_t step, - Int_t iaxis, Double_t c0, Int_t numed, Int_t ndvmx) -{ - // - // Create a new volume by dividing an existing one - // - // Divides MOTHER into divisions called NAME along - // axis IAXIS starting at coordinate value C0 with step - // size STEP. - // The new volume created will have medium number NUMED. - // If NUMED is 0, NUMED of mother is taken. - // NDVMX is the expected maximum number of divisions - // (If 0, no protection tests are performed) - // - fMCGeo->Gsdvt2(name, mother, step, iaxis, c0, numed, ndvmx); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsord(const char * /*name*/, Int_t /*iax*/) -{ - // - // Flags volume CHNAME whose contents will have to be ordered - // along axis IAX, by setting the search flag to -IAX - // IAX = 1 X axis - // IAX = 2 Y axis - // IAX = 3 Z axis - // IAX = 4 Rxy (static ordering only -> GTMEDI) - // IAX = 14 Rxy (also dynamic ordering -> GTNEXT) - // IAX = 5 Rxyz (static ordering only -> GTMEDI) - // IAX = 15 Rxyz (also dynamic ordering -> GTNEXT) - // IAX = 6 PHI (PHI=0 => X axis) - // IAX = 7 THETA (THETA=0 => Z axis) - // - -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gspos(const char *name, Int_t nr, const char *mother, Double_t x, - Double_t y, Double_t z, Int_t irot, const char *konly) -{ - // - // Position a volume into an existing one - // - // NAME Volume name - // NUMBER Copy number of the volume - // MOTHER Mother volume name - // X X coord. of the volume in mother ref. sys. - // Y Y coord. of the volume in mother ref. sys. - // Z Z coord. of the volume in mother ref. sys. - // IROT Rotation matrix number w.r.t. mother ref. sys. - // ONLY ONLY/MANY flag - // - // It positions a previously defined volume in the mother. - // - fMCGeo->Gspos(name, nr, mother, x, y, z, irot, konly); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Float_t *upar, Int_t np ) -{ - // - // Place a copy of generic volume NAME with user number - // NR inside MOTHER, with its parameters UPAR(1..NP) - // - - fMCGeo->Gsposp(name, nr, mother, x, y, z, irot, konly, upar, np); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Double_t *upar, Int_t np ) -{ - // - // Place a copy of generic volume NAME with user number - // NR inside MOTHER, with its parameters UPAR(1..NP) - // - - fMCGeo->Gsposp(name, nr, mother, x, y, z, irot, konly, upar, np); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsrotm(Int_t nmat, Float_t theta1, Float_t phi1, Float_t theta2, - Float_t phi2, Float_t theta3, Float_t phi3) -{ - // - // nmat Rotation matrix number - // THETA1 Polar angle for axis I - // PHI1 Azimuthal angle for axis I - // THETA2 Polar angle for axis II - // PHI2 Azimuthal angle for axis II - // THETA3 Polar angle for axis III - // PHI3 Azimuthal angle for axis III - // - // It defines the rotation matrix number IROT. - // - - gGeoManager->Matrix(nmat, theta1, phi1, theta2, phi2, theta3, phi3); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gprotm(Int_t nmat) -{ - // - // To print rotation matrices structure JROTM - // nmat Rotation matrix number - // - TIter next(gGeoManager->GetListOfMatrices()); - TGeoMatrix *matrix; - while ((matrix = (TGeoMatrix*)next())) { - if (UInt_t(nmat) == matrix->GetUniqueID()) { - matrix->Print(); - return; - } - } - Error("Gprotm","Rotation with id=%i not found", nmat); - } - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::Gsvolu(const char *name, const char *shape, Int_t nmed, - Float_t *upar, Int_t npar) -{ - // - // NAME Volume name - // SHAPE Volume type - // NUMED Tracking medium number - // NPAR Number of shape parameters - // UPAR Vector containing shape parameters - // - // It creates a new volume in the JVOLUM data structure. - // - - Int_t ivolu = 0; - ivolu = fMCGeo->Gsvolu(name, shape, nmed, upar, npar); - return ivolu; - -} - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::Gsvolu(const char *name, const char *shape, Int_t nmed, - Double_t *upar, Int_t npar) -{ - // - // NAME Volume name - // SHAPE Volume type - // NUMED Tracking medium number - // NPAR Number of shape parameters - // UPAR Vector containing shape parameters - // - // It creates a new volume in the JVOLUM data structure. - // - - - Int_t ivolu = 0; - ivolu = fMCGeo->Gsvolu(name, shape, nmed, upar, npar); - return ivolu; -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// T H E D R A W I N G P A C K A G E -// ====================================== -// Drawing functions. These functions allow the visualization in several ways -// of the volumes defined in the geometrical data structure. It is possible -// to draw the logical tree of volumes belonging to the detector (DTREE), -// to show their geometrical specification (DSPEC,DFSPC), to draw them -// and their cut views (DRAW, DCUT). Moreover, it is possible to execute -// these commands when the hidden line removal option is activated; in -// this case, the volumes can be also either translated in the space -// (SHIFT), or clipped by boolean operation (CVOL). In addition, it is -// possible to fill the surfaces of the volumes -// with solid colours when the shading option (SHAD) is activated. -// Several tools (ZOOM, LENS) have been developed to zoom detailed parts -// of the detectors or to scan physical events as well. -// Finally, the command MOVE will allow the rotation, translation and zooming -// on real time parts of the detectors or tracks and hits of a simulated event. -// Ray-tracing commands. In case the command (DOPT RAYT ON) is executed, -// the drawing is performed by the Geant ray-tracing; -// automatically, the color is assigned according to the tracking medium of each -// volume and the volumes with a density lower/equal than the air are considered -// transparent; if the option (USER) is set (ON) (again via the command (DOPT)), -// the user can set color and visibility for the desired volumes via the command -// (SATT), as usual, relatively to the attributes (COLO) and (SEEN). -// The resolution can be set via the command (SATT * FILL VALUE), where (VALUE) -// is the ratio between the number of pixels drawn and 20 (user coordinates). -// Parallel view and perspective view are possible (DOPT PROJ PARA/PERS); in the -// first case, we assume that the first mother volume of the tree is a box with -// dimensions 10000 X 10000 X 10000 cm and the view point (infinetely far) is -// 5000 cm far from the origin along the Z axis of the user coordinates; in the -// second case, the distance between the observer and the origin of the world -// reference system is set in cm by the command (PERSP NAME VALUE); grand-angle -// or telescopic effects can be achieved changing the scale factors in the command -// (DRAW). When the final picture does not occupy the full window, -// mapping the space before tracing can speed up the drawing, but can also -// produce less precise results; values from 1 to 4 are allowed in the command -// (DOPT MAPP VALUE), the mapping being more precise for increasing (VALUE); for -// (VALUE = 0) no mapping is performed (therefore max precision and lowest speed). -// The command (VALCUT) allows the cutting of the detector by three planes -// ortogonal to the x,y,z axis. The attribute (LSTY) can be set by the command -// SATT for any desired volume and can assume values from 0 to 7; it determines -// the different light processing to be performed for different materials: -// 0 = dark-matt, 1 = bright-matt, 2 = plastic, 3 = ceramic, 4 = rough-metals, -// 5 = shiny-metals, 6 = glass, 7 = mirror. The detector is assumed to be in the -// dark, the ambient light luminosity is 0.2 for each basic hue (the saturation -// is 0.9) and the observer is assumed to have a light source (therefore he will -// produce parallel light in the case of parallel view and point-like-source -// light in the case of perspective view). -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//_____________________________________________________________________________ -void TGeant3TGeo::Gsatt(const char *name, const char *att, Int_t val) -{ - // - // NAME Volume name - // IOPT Name of the attribute to be set - // IVAL Value to which the attribute is to be set - // - // name= "*" stands for all the volumes. - // iopt can be chosen among the following : - // - // WORK 0=volume name is inactive for the tracking - // 1=volume name is active for the tracking (default) - // - // SEEN 0=volume name is invisible - // 1=volume name is visible (default) - // -1=volume invisible with all its descendants in the tree - // -2=volume visible but not its descendants in the tree - // - // LSTY line style 1,2,3,... (default=1) - // LSTY=7 will produce a very precise approximation for - // revolution bodies. - // - // LWID line width -7,...,1,2,3,..7 (default=1) - // LWID<0 will act as abs(LWID) was set for the volume - // and for all the levels below it. When SHAD is 'ON', LWID - // represent the linewidth of the scan lines filling the surfaces - // (whereas the FILL value represent their number). Therefore - // tuning this parameter will help to obtain the desired - // quality/performance ratio. - // - // COLO colour code -166,...,1,2,..166 (default=1) - // n=1=black - // n=2=red; n=17+m, m=0,25, increasing luminosity according to 'm'; - // n=3=green; n=67+m, m=0,25, increasing luminosity according to 'm'; - // n=4=blue; n=117+m, m=0,25, increasing luminosity according to 'm'; - // n=5=yellow; n=42+m, m=0,25, increasing luminosity according to 'm'; - // n=6=violet; n=142+m, m=0,25, increasing luminosity according to 'm'; - // n=7=lightblue; n=92+m, m=0,25, increasing luminosity according to 'm'; - // colour=n*10+m, m=1,2,...9, will produce the same colour - // as 'n', but with increasing luminosity according to 'm'; - // COLO<0 will act as if abs(COLO) was set for the volume - // and for all the levels below it. - // When for a volume the attribute FILL is > 1 (and the - // option SHAD is on), the ABS of its colour code must be < 8 - // because an automatic shading of its faces will be - // performed. - // - // FILL (1992) fill area -7,...,0,1,...7 (default=0) - // when option SHAD is "on" the FILL attribute of any - // volume can be set different from 0 (normal drawing); - // if it is set to 1, the faces of such volume will be filled - // with solid colours; if ABS(FILL) is > 1, then a light - // source is placed along the observer line, and the faces of - // such volumes will be painted by colours whose luminosity - // will depend on the amount of light reflected; - // if ABS(FILL) = 1, then it is possible to use all the 166 - // colours of the colour table, becouse the automatic shading - // is not performed; - // for increasing values of FILL the drawing will be performed - // with higher and higher resolution improving the quality (the - // number of scan lines used to fill the faces increases with FILL); - // it is possible to set different values of FILL - // for different volumes, in order to optimize at the same time - // the performance and the quality of the picture; - // FILL<0 will act as if abs(FILL) was set for the volume - // and for all the levels below it. - // This kind of drawing can be saved in 'picture files' - // or in view banks. - // 0=drawing without fill area - // 1=faces filled with solid colours and resolution = 6 - // 2=lowest resolution (very fast) - // 3=default resolution - // 4=................. - // 5=................. - // 6=................. - // 7=max resolution - // Finally, if a coloured background is desired, the FILL - // attribute for the first volume of the tree must be set - // equal to -abs(colo), colo being >0 and <166. - // - // SET set number associated to volume name - // DET detector number associated to volume name - // DTYP detector type (1,2) - // -// InitHIGZ(); - gGeoManager->SetVolumeAttribute(name, att, val); -} - -//_____________________________________________________________________________ -Int_t TGeant3TGeo::Glvolu(Int_t /*nlev*/, Int_t * /*lnam*/,Int_t * /*lnum*/) -{ - // - // nlev number of leveles deap into the volume tree - // size of the arrays lnam and lnum - // lnam an integer array whos 4 bytes contain the askii code for the - // volume names - // lnum an integer array containing the copy numbers for that specific - // volume - // - // This routine fills the volulme paramters in common /gcvolu/ for a - // physical tree, specified by the list lnam and lnum of volume names - // and numbers, and for all its ascendants up to level 1. This routine - // is optimsed and does not re-compute the part of the history already - // available in GCVOLU. This means that if it is used in user programs - // outside the usual framwork of the tracking, the user has to initilise - // to zero NLEVEL in the common GCVOLU. It return 0 if there were no - // problems in make the call. - // - return 0; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gdshow(Int_t /*iview*/) -{ - // - // IVIEW View number - // - // It shows on the screen the contents of a view bank. It - // can be called after a view bank has been closed. - // -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gdopt(const char * /*name*/,const char * /*value*/) -{ - // - // NAME Option name - // VALUE Option value - // - // To set/modify the drawing options. - // IOPT IVAL Action - // - // THRZ ON Draw tracks in R vs Z - // OFF (D) Draw tracks in X,Y,Z - // 180 - // 360 - // PROJ PARA (D) Parallel projection - // PERS Perspective - // TRAK LINE (D) Trajectory drawn with lines - // POIN " " with markers - // HIDE ON Hidden line removal using the CG package - // OFF (D) No hidden line removal - // SHAD ON Fill area and shading of surfaces. - // OFF (D) Normal hidden line removal. - // RAYT ON Ray-tracing on. - // OFF (D) Ray-tracing off. - // EDGE OFF Does not draw contours when shad is on. - // ON (D) Normal shading. - // MAPP 1,2,3,4 Mapping before ray-tracing. - // 0 (D) No mapping. - // USER ON User graphics options in the raytracing. - // OFF (D) Automatic graphics options. - // - return; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gdraw(const char * /*name*/,Double_t /*theta*/, Double_t /*phi*/, Double_t /*psi*/, - Double_t /*u0*/,Double_t /*v0*/,Double_t /*ul*/,Double_t /*vl*/) -{ - // - // NAME Volume name - // + - // THETA Viewing angle theta (for 3D projection) - // PHI Viewing angle phi (for 3D projection) - // PSI Viewing angle psi (for 2D rotation) - // U0 U-coord. (horizontal) of volume origin - // V0 V-coord. (vertical) of volume origin - // SU Scale factor for U-coord. - // SV Scale factor for V-coord. - // - // This function will draw the volumes, - // selected with their graphical attributes, set by the Gsatt - // facility. The drawing may be performed with hidden line removal - // and with shading effects according to the value of the options HIDE - // and SHAD; if the option SHAD is ON, the contour's edges can be - // drawn or not. If the option HIDE is ON, the detector can be - // exploded (BOMB), clipped with different shapes (CVOL), and some - // of its parts can be shifted from their original - // position (SHIFT). When HIDE is ON, if - // the drawing requires more than the available memory, the program - // will evaluate and display the number of missing words - // (so that the user can increase the - // size of its ZEBRA store). Finally, at the end of each drawing (with HIDE on), - // the program will print messages about the memory used and - // statistics on the volumes' visibility. - // The following commands will produce the drawing of a green - // volume, specified by NAME, without using the hidden line removal - // technique, using the hidden line removal technique, - // with different linewidth and colour (red), with - // solid colour, with shading of surfaces, and without edges. - // Finally, some examples are given for the ray-tracing. (A possible - // string for the NAME of the volume can be found using the command DTREE). - // - return; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gdrawc(const char * /*name*/,Int_t /*axis*/, Float_t /*cut*/,Float_t /*u0*/, - Float_t /*v0*/,Float_t /*ul*/,Float_t /*vl*/) -{ - // - // NAME Volume name - // CAXIS Axis value - // CUTVAL Cut plane distance from the origin along the axis - // + - // U0 U-coord. (horizontal) of volume origin - // V0 V-coord. (vertical) of volume origin - // SU Scale factor for U-coord. - // SV Scale factor for V-coord. - // - // The cut plane is normal to caxis (X,Y,Z), corresponding to iaxis (1,2,3), - // and placed at the distance cutval from the origin. - // The resulting picture is seen from the the same axis. - // When HIDE Mode is ON, it is possible to get the same effect with - // the CVOL/BOX function. - // - return; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gdrawx(const char * /*name*/,Float_t /*cutthe*/, Float_t /*cutphi*/, - Float_t /*cutval*/, Float_t /*theta*/, Float_t /*phi*/, Float_t /*u0*/, - Float_t /*v0*/,Float_t /*ul*/,Float_t /*vl*/) -{ - // - // NAME Volume name - // CUTTHE Theta angle of the line normal to cut plane - // CUTPHI Phi angle of the line normal to cut plane - // CUTVAL Cut plane distance from the origin along the axis - // + - // THETA Viewing angle theta (for 3D projection) - // PHI Viewing angle phi (for 3D projection) - // U0 U-coord. (horizontal) of volume origin - // V0 V-coord. (vertical) of volume origin - // SU Scale factor for U-coord. - // SV Scale factor for V-coord. - // - // The cut plane is normal to the line given by the cut angles - // cutthe and cutphi and placed at the distance cutval from the origin. - // The resulting picture is seen from the viewing angles theta,phi. - // - return; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gdspec(const char * /*name*/) -{ - // - // NAME Volume name - // - // Shows 3 views of the volume (two cut-views and a 3D view), together with - // its geometrical specifications. The 3D drawing will - // be performed according the current values of the options HIDE and - // SHAD and according the current SetClipBox clipping parameters for that - // volume. - // - return; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::DrawOneSpec(const char * /*name*/) -{ - // - // Function called when one double-clicks on a volume name - // in a TPavelabel drawn by Gdtree. - // - return; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::Gdtree(const char * /*name*/,Int_t /*levmax*/, Int_t /*isel*/) -{ - // - // NAME Volume name - // LEVMAX Depth level - // ISELT Options - // - // This function draws the logical tree, - // Each volume in the tree is represented by a TPaveTree object. - // Double-clicking on a TPaveTree draws the specs of the corresponding volume. - // Use TPaveTree pop-up menu to select: - // - drawing specs - // - drawing tree - // - drawing tree of parent - // - return; -} - -//_____________________________________________________________________________ -void TGeant3TGeo::GdtreeParent(const char * /*name*/,Int_t /*levmax*/, Int_t /*isel*/) -{ - // - // NAME Volume name - // LEVMAX Depth level - // ISELT Options - // - // This function draws the logical tree of the parent of name. - // -} - -//____________________________________________________________________________ -Int_t TGeant3TGeo::ImportMaterial(const TGeoMaterial* mat) -{ -// Imports the Root material in Geant3 and returns its Geant3 index -// --- - - Int_t kmat; - const TGeoMixture* mixt = dynamic_cast(mat); - if (mixt) { - // TGeo stores only proportions by weigth - Int_t nlmat = mixt->GetNelements(); - Float_t* fa = CreateFloatArray(mixt->GetAmixt(), TMath::Abs(nlmat)); - Float_t* fz = CreateFloatArray(mixt->GetZmixt(), TMath::Abs(nlmat)); - Float_t* fwmat = CreateFloatArray(mixt->GetWmixt(), TMath::Abs(nlmat)); - G3Mixture(kmat, mixt->GetName(), fa, fz, mixt->GetDensity(), TMath::Abs(nlmat), fwmat); - delete [] fa; - delete [] fz; - delete [] fwmat; - } - else { - Float_t* buf = 0; - // Inject radlen with negative sign to be stored in G3 - Double_t radlen = mat->GetRadLen(); - // Ignore abslen from TGeo and let G3 compute it - G3Material(kmat, mat->GetName(), mat->GetA(), mat->GetZ(), - mat->GetDensity(), -radlen, 0, buf, 0); - } - return kmat; -} - -//____________________________________________________________________________ -void TGeant3TGeo::FinishGeometry() -{ - // - // Finalise geometry construction - // - - //Close the geometry structure - if (gDebug > 0) printf("FinishGeometry, calling ggclos\n"); - Ggclos(); - - if (fImportRootGeometry) { - - // Import materials - // - TIter next1(gGeoManager->GetListOfMaterials()); - TGeoMaterial* mat; - Int_t nofMaterials = 0; - while ((mat=(TGeoMaterial*)next1())) { - Int_t kmat = ImportMaterial(mat); - mat->SetUniqueID(kmat); - nofMaterials++; - } - - // Number of media - Int_t nofMedia = 0; - TIter next2(gGeoManager->GetListOfMedia()); - TGeoMedium* medx; - while ((medx=(TGeoMedium*)next2())) nofMedia++; - - // Import media - // - Int_t maxNofMaterials = nofMaterials + nofMedia; - TArrayI usedMaterials(maxNofMaterials); - for (Int_t i=0; iGetListOfMedia()); - TGeoMedium* med; - while ((med=(TGeoMedium*)next3())) { - Int_t kmed; - Int_t nmat = med->GetMaterial()->GetUniqueID(); - - // if material is already used define a new Geant3 material - // (do not reset TGeoMaterial index) - if (usedMaterials[nmat] >0 ) - nmat = ImportMaterial(med->GetMaterial()); - usedMaterials[nmat] = 1; - - Int_t isvol = (Int_t) med->GetParam(0); - Int_t ifield = (Int_t) med->GetParam(1); - Double_t fieldm = med->GetParam(2); - Double_t tmaxfd = med->GetParam(3); - Double_t stemax = med->GetParam(4); - Double_t deemax = med->GetParam(5); - Double_t epsil = med->GetParam(6); - Double_t stmin = med->GetParam(7); - G3Medium(kmed, med->GetName(), nmat, isvol, ifield, fieldm, tmaxfd, - stemax,deemax, epsil, stmin); - med->SetId(kmed); - } - if (gDebug > 0) printf("FinishGeometry, geometry retreived from file, materials/media mapped to G3\n"); - } else { - TGeoVolume *top = (TGeoVolume*)gGeoManager->GetListOfVolumes()->First(); - gGeoManager->SetTopVolume(top); - if (gDebug > 0) printf("FinishGeometry, calling CloseGeometry\n"); - gGeoManager->CloseGeometry(); - } -#if ROOT_VERSION_CODE >= ROOT_VERSION(5,22,0) - if (gDebug > 0) printf("FinishGeometry, calling MisalignGeometry()\n"); - TVirtualMCApplication::Instance()->MisalignGeometry(); -#endif - // gROOT->GetListOfBrowsables()->Add(gGeoManager); - if (gDebug > 0) printf("FinishGeometry, calling SetColors\n"); - - //Create the color table - SetColors(); - if (gDebug > 0) printf("FinishGeometry, returning\n"); -} - -//_____________________________________________________________________________ -void TGeant3TGeo::SetColors() -{ - // - // Set the colors for all the volumes - // this is done sequentially for all volumes - // based on the number of their medium - // - TIter next(gGeoManager->GetListOfVolumes()); - TGeoVolume *volume; - while ((volume = (TGeoVolume*)next())) { - if (volume->IsAssembly()) continue; - TGeoMedium *medium = (TGeoMedium*)volume->GetMedium(); - Int_t icol = medium->GetId()%6+2; - volume->SetLineColor(icol); - } -} - -//_____________________________________________________________________________ -// -// Interfaces to Fortran -// -//_____________________________________________________________________________ - - -//______________________________________________________________________ -void ginvolTGeo(Float_t *x, Int_t &isame) -{ - if (gGeoManager->IsSameLocation(x[0], x[1], x[2])) isame = 1; - else isame = 0; -} - - -//______________________________________________________________________ -void gtmediTGeo(Float_t *x, Int_t &numed) -{ - gcchan->lsamvl = kTRUE; - gCurrentNode = gGeoManager->FindNode(x[0],x[1],x[2]); - gcchan->lsamvl = gGeoManager->IsSameLocation(); - if (gGeoManager->IsOutside()) { - numed=0; - } else { - gcvolu->nlevel = 1 + gGeoManager->GetLevel(); - gGeoManager->GetBranchNames(gcvolu->names); - gGeoManager->GetBranchNumbers(gcvolu->number,gcvolu->lvolum); - TGeoVolume *vol = gCurrentNode->GetVolume(); - if (vol) { - TGeoMedium *medium = vol->GetMedium(); - if (medium) numed = medium->GetId(); - } else { - printf("ERROR: gtmedi: NULL volume\n"); - } - } -} - - -//______________________________________________________________________ -void gmediaTGeo(Float_t *x, Int_t &numed, Int_t & /*check*/) -{ - gCurrentNode = gGeoManager->FindNode(x[0],x[1],x[2]); - if (gGeoManager->IsOutside()) { - numed=0; - } else { - gcvolu->nlevel = 1 + gGeoManager->GetLevel(); - gGeoManager->GetBranchNames(gcvolu->names); - gGeoManager->GetBranchNumbers(gcvolu->number,gcvolu->lvolum); - TGeoVolume *vol = gCurrentNode->GetVolume(); - if (vol) { - TGeoMedium *medium = vol->GetMedium(); - if (medium) numed = medium->GetId(); - } else { - printf("ERROR: gmedia: NULL volume\n"); - } - } -} - -//______________________________________________________________________ -void gtmanyTGeo(Int_t &level1) -{ - if (level1==1) { - Int_t nlevel = gcvolu->nlevel; -// printf("gtmanyTGeo nlevel=%i %s\n",nlevel,gGeoManager->GetPath()); - gcvol1->nlevl1 = nlevel; - if (nlevel>0) { - memcpy(gcvol1->names1, gcvolu->names, nlevel*sizeof(Int_t)); - memcpy(gcvol1->numbr1, gcvolu->number, nlevel*sizeof(Int_t)); - memcpy(gcvol1->lvolu1, gcvolu->lvolum, nlevel*sizeof(Int_t)); - } - } -} - -//______________________________________________________________________ -void gtonlyTGeo(Int_t &isOnly) -{ - //with Geant3, return gonly(nlevel); -// if (gGeoManager->IsCurrentOverlapping()) isOnly = 0; -// else isOnly = 1; - // With TGeo, G3 is seeing a ONLY geometry - isOnly = 1; -} - -//_____________________________________________________________________________ -void glvoluTGeo(Int_t &nlev, Int_t *lnam,Int_t *lnum, Int_t &ier) -{ - // - // nlev number of levels deap into the volume tree - // size of the arrays lnam and lnum - // lnam an integer array whos 4 bytes contain the askii code for the - // volume names - // lnum an integer array containing the copy numbers for that specific - // volume - // - // This routine fills the volume parameters in common /gcvolu/ for a - // physical tree, specified by the list lnam and lnum of volume names - // and numbers, and for all its ascendants up to level 1. This routine - // is optimised and does not re-compute the part of the history already - // available in GCVOLU. This means that if it is used in user programs - // outside the usual framework of the tracking, the user has to initialize - // to zero NLEVEL in the common GCVOLU. It return 0 if there were no - // problems in make the call. - // - TGeoVolume *vol = gGeoManager->GetTopVolume(); - TGeoVolume *vdaughter = 0; - TGeoNode *node = 0; - Int_t nd; - Bool_t found = kFALSE; - ier = 0; - gGeoManager->CdTop(); - if (nlev<1) nlev = 1; - gcvolu->nlevel = nlev; - if (nlev==1) return; - Int_t *lvol = gcvol1->lvolu1; - memcpy(gcvolu->names, lnam, nlev*sizeof(Int_t)); - memcpy(gcvolu->number, lnum, nlev*sizeof(Int_t)); - memcpy(gcvolu->lvolum, lvol, nlev*sizeof(Int_t)); -// for (Int_t i=0;iGetNdaughters(); - found = kFALSE; - for (Int_t id=0; idGetNode(id); - vdaughter = node->GetVolume(); - if (vdaughter->GetNumber() == lvol[i]) { - if (node->GetNumber()==lnum[i]) { - found = kTRUE; - gGeoManager->CdDown(id); - vol = vdaughter; - break; - } - } - } - if (!found) { - printf("### ERROR in TGeant3TGeo::glvoluTGeo(): cannot restore path\n"); - ier = 1; - return; - } - } -} - - -//______________________________________________________________________ -void gtnextTGeo() -{ - Float_t *x = gctrak->vect; - Double_t step = gctrak->step; - Int_t itrtyp = gckine->itrtyp; - gGeoManager->SetCurrentPoint(x[0],x[1],x[2]); - gGeoManager->SetCurrentDirection(x[3],x[4],x[5]); - if (step<=0) { - gctrak->safety = 0.; - gctrak->snext = 0.; - gctrak->ignext = 0; - return; - } - // Find distance to next boundary. Global matrix computed only if - // gtnext is called by gtckov. - if (itrtyp==7) gGeoManager->FindNextBoundary(-step); - else gGeoManager->FindNextBoundary(step); - gctrak->safety = gGeoManager->GetSafeDistance(); - Double_t snext = gGeoManager->GetStep(); - if (snext<=0) { - gctrak->safety = 0.; - gctrak->snext = 0.; - gctrak->ignext = 1; - return; - } - if (snext < step) { - gctrak->snext = snext; - gctrak->ignext = 1; - } else { - gctrak->ignext = 0; - gctrak->snext = gctrak->step; - } -} - - -//______________________________________________________________________ -void ggperpTGeo(Float_t * /*x*/, Float_t *norm, Int_t &ierr) -{ -// Computes the normal to the next crossed surface, assuming that -// FindNextBoundary() was already called. - ierr = 0; - Double_t *dblnorm = gGeoManager->FindNormalFast(); - if (!dblnorm) { - ierr = 1; - return; - } - norm[0] = -dblnorm[0]; - norm[1] = -dblnorm[1]; - norm[2] = -dblnorm[2]; -} - diff --git a/StarVMC/geant3/TGeant3/TGeant3TGeo.h b/StarVMC/geant3/TGeant3/TGeant3TGeo.h deleted file mode 100644 index c100086b17f..00000000000 --- a/StarVMC/geant3/TGeant3/TGeant3TGeo.h +++ /dev/null @@ -1,245 +0,0 @@ -#ifndef ROOT_TGeant3TGeo -#define ROOT_TGeant3TGeo -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id: TGeant3TGeo.h,v 1.6 2015/07/21 16:22:22 jwebb Exp $ */ - -//////////////////////////////////////////////// -// C++ interface to Geant3 basic routines // -//////////////////////////////////////////////// - -#include "TGeant3.h" -#include - -class TGeoMaterial; - -//______________________________________________________________ -// -// Geant3 prototypes for commons -// -//______________________________________________________________ -// - -//----------GCVOL1 -// COMMON/GCVOL1/NLEVL1,NAMES1(15),NUMBR1(15),LVOLU1(15) -typedef struct { - Int_t nlevl1; - Int_t names1[15]; - Int_t numbr1[15]; - Int_t lvolu1[15]; -} Gcvol1_t; - - -class TGeant3TGeo : public TGeant3 { - -public: - TGeant3TGeo(); - TGeant3TGeo(const char *title, Int_t nwgeant=0); - virtual void LoadAddress(); - virtual ~TGeant3TGeo(); - virtual Bool_t IsRootGeometrySupported() const {return kTRUE;} - - -/////////////////////////////////////////////////////////////////////// -// // -// // -// Here are the service routines from the geometry // -// which could be implemented also in other geometries // -// // -// // -/////////////////////////////////////////////////////////////////////// - - void GeomIter(); - Int_t NextVolUp(Text_t *name, Int_t ©); - Int_t CurrentVolID(Int_t ©) const; - Int_t CurrentVolOffID(Int_t off, Int_t ©) const; - const char* CurrentVolName() const; - const char *CurrentVolOffName(Int_t off) const; - const char *CurrentVolPath(); - Int_t VolId(const Text_t *name) const; - const char* VolName(Int_t id) const; - Int_t NofVolumes() const; - Int_t NofVolDaughters(const char* volName) const; - const char* VolDaughterName(const char* volName, Int_t i) const; - Int_t VolDaughterCopyNo(const char* volName, Int_t i) const; - Int_t VolId2Mate(Int_t id) const; - const char *GetPath(); - const char *GetNodeName(); - - virtual void Material(Int_t& kmat, const char* name, Double_t a, Double_t z, - Double_t dens, Double_t radl, Double_t absl, - Float_t* buf=0, Int_t nwbuf=0); - virtual void Material(Int_t& kmat, const char* name, Double_t a, Double_t z, - Double_t dens, Double_t radl, Double_t absl, - Double_t* buf, Int_t nwbuf); - - virtual void Mixture(Int_t& kmat, const char* name, Float_t* a,Float_t* z, - Double_t dens, Int_t nlmat, Float_t* wmat); - virtual void Mixture(Int_t& kmat, const char* name, Double_t* a,Double_t* z, - Double_t dens, Int_t nlmat, Double_t* wmat); - - virtual void Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, - Int_t ifield, Double_t fieldm, Double_t tmaxfd, - Double_t stemax, Double_t deemax, Double_t epsil, - Double_t stmin, Float_t* ubuf=0, Int_t nbuf=0); - virtual void Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, - Int_t ifield, Double_t fieldm, Double_t tmaxfd, - Double_t stemax, Double_t deemax, Double_t epsil, - Double_t stmin, Double_t* ubuf, Int_t nbuf); - - virtual void Matrix(Int_t& krot, Double_t thex, Double_t phix, Double_t they, - Double_t phiy, Double_t thez, Double_t phiz); - - virtual void SetRootGeometry(); - - -///////////////////////////////////////////////////////////////////////////////////////////// -// // -// // -// Here are the interface functions with GEANT3.21 // -// // -// // -///////////////////////////////////////////////////////////////////////////////////////////// - - // access functions to commons - - virtual Gcvol1_t* Gcvol1() const {return fGcvol1;} - - // functions from GBASE - virtual void Ggclos(); - virtual void Gprint(const char *name); - - // functions from GCONS - virtual void Gsmate(Int_t imat, const char *name, Float_t a, Float_t z, - Float_t dens, Float_t radl, Float_t absl); - virtual void Gsmixt(Int_t imat, const char *name, Float_t *a, Float_t *z, - Float_t dens, Int_t nlmat, Float_t *wmat); - virtual void Gstmed(Int_t numed, const char *name, Int_t nmat, Int_t isvol, - Int_t ifield, Float_t fieldm, Float_t tmaxfd, - Float_t stemax, Float_t deemax, Float_t epsil, - Float_t stmin); - - // functions from GTRAK - virtual void Gtreve(); - virtual void GtreveRoot(); - - // functions from GGEOM - virtual void Gdtom(Float_t *xd, Float_t *xm, Int_t iflag); - virtual void Gdtom(Double_t *xd, Double_t *xm, Int_t iflag); - virtual void Gmedia(Float_t *x, Int_t &numed); - virtual void Gmtod(Float_t *xm, Float_t *xd, Int_t iflag); - virtual void Gmtod(Double_t *xm, Double_t *xd, Int_t iflag); - virtual void Gsdvn(const char *name, const char *mother, Int_t ndiv, Int_t iaxis); - virtual void Gsdvn2(const char *name, const char *mother, Int_t ndiv, Int_t iaxis, Double_t c0i, Int_t numed); - virtual void Gsdvs(const char *name, const char *mother, Float_t step, Int_t iaxis, Int_t numed); - virtual void Gsdvs2(const char *name, const char *mother, Float_t step, Int_t iaxis, Float_t c0, Int_t numed); - virtual void Gsdvt(const char *name, const char *mother, Double_t step, Int_t iaxis, Int_t numed, Int_t ndvmx); - virtual void Gsdvt2(const char *name, const char *mother, Double_t step, Int_t iaxis, - Double_t c0, Int_t numed, Int_t ndvmx); - virtual void Gsord(const char *name, Int_t iax); - virtual void Gspos(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, const char *konly="ONLY"); - virtual void Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, const char *konly, Float_t *upar, Int_t np); - virtual void Gsposp(const char *name, Int_t nr, const char *mother, - Double_t x, Double_t y, Double_t z, Int_t irot, const char *konly, Double_t *upar, Int_t np); - virtual void Gsrotm(Int_t nmat, Float_t theta1, Float_t phi1, Float_t theta2, Float_t phi2, - Float_t theta3, Float_t phi3); - virtual void Gprotm(Int_t nmat=0); - virtual Int_t Gsvolu(const char *name, const char *shape, Int_t nmed, - Float_t *upar, Int_t np); - virtual Int_t Gsvolu(const char *name, const char *shape, Int_t nmed, - Double_t *upar, Int_t np); - virtual void Gsatt(const char *name, const char *att, Int_t val); - virtual Int_t Glvolu(Int_t nlev, Int_t *lnam,Int_t *lnum); - - // functions for access to geometry - // - // Return the Transformation matrix between the volume specified by - // the path volumePath and the top or master volume. - virtual Bool_t GetTransformation(const TString& volumePath, - TGeoHMatrix& matrix); - - // Return the name of the shape and its parameters for the volume - // specified by the volume name. - virtual Bool_t GetShape(const TString& volumePath, - TString& shapeType, TArrayD& par); - - // Returns the material parameters for the volume specified by - // the volume name. - virtual Bool_t GetMaterial(const TString& volumeName, - TString& name, Int_t& imat, - Double_t& a, Double_t& z, Double_t& density, - Double_t& radl, Double_t& inter, TArrayD& par); - - virtual Bool_t GetMaterial( Int_t imat, TString &name, - Double_t &a,Double_t &z,Double_t &den, - Double_t &radl,Double_t &inter,TArrayD &par) - { - return false; // Added to ROOT base class - }; - - - // Returns the medium parameters for the volume specified by the - // volume name. - virtual Bool_t GetMedium(const TString& volumeName, - TString& name, Int_t& imed, - Int_t& nmat, Int_t& isvol, Int_t& ifield, - Double_t& fieldm, Double_t& tmaxfd, Double_t& stemax, - Double_t& deemax, Double_t& epsil, Double_t& stmin, - TArrayD& par); - - // Returns the current medium (implemented in TGeant3) - virtual Int_t GetMedium() const; - - - // functions from GDRAW - virtual void Gdshow(Int_t view); - virtual void Gdopt(const char *name,const char *value); - virtual void Gdraw(const char *name,Double_t theta=30, Double_t phi=30, Double_t psi=0,Double_t u0=10,Double_t v0=10,Double_t ul=0.01,Double_t vl=0.01); - virtual void Gdrawc(const char *name,Int_t axis=1, Float_t cut=0,Float_t u0=10,Float_t v0=10,Float_t ul=0.01,Float_t vl=0.01); - virtual void Gdrawx(const char *name,Float_t cutthe, Float_t cutphi, Float_t cutval, - Float_t theta=30, Float_t phi=30,Float_t u0=10,Float_t v0=10,Float_t ul=0.01,Float_t vl=0.01); - virtual void Gdspec(const char *name); - virtual void DrawOneSpec(const char *name); - virtual void Gdtree(const char *name,Int_t levmax=15,Int_t ispec=0); - virtual void GdtreeParent(const char *name,Int_t levmax=15,Int_t ispec=0); - - // Control Methods - - virtual void FinishGeometry(); - - // - virtual void SetColors(); - - - - // NOTE: THe following methods have appeared in the abstract base class - // sometime after ROOT 5.22.00. They indicate that functionality - // has been added to TGeant3TGeo which we are lacking. - // - // *** We need to import current versions from ALICE *** - void SetUserParameters( Bool_t ){ assert(0); } - void SetCollectTracks( Bool_t ){ assert(0); } - Bool_t IsCollectTracks() const { assert(0); return false; } - - - -protected: - TGeoMCGeometry* fMCGeo; // Implementation of TVirtualMCGeometry for TGeo - Bool_t fImportRootGeometry; // Option to import geometry from TGeo - // (materials and medias are filled in FinishGeometry() - Gcvol1_t *fGcvol1; //! GCVOLU common structure - -private: - - TGeant3TGeo(const TGeant3TGeo &) : TGeant3() {} - TGeant3TGeo & operator=(const TGeant3TGeo&) {return *this;} - - Int_t ImportMaterial(const TGeoMaterial* material); - - ClassDef(TGeant3TGeo,1) //C++ interface to Geant basic routines with the TGeo interface -}; - -#endif //ROOT_TGeant3TGeo diff --git a/StarVMC/geant3/TGeant3/TGeant3f77.cxx b/StarVMC/geant3/TGeant3/TGeant3f77.cxx deleted file mode 100644 index d3e5690f04c..00000000000 --- a/StarVMC/geant3/TGeant3/TGeant3f77.cxx +++ /dev/null @@ -1,1604 +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. * - **************************************************************************/ - - -/////////////////////////////////////////////////////////////////////////////// -// // -// Interface Class to the Geant3.21 MonteCarlo // -// // -// // -// // -/////////////////////////////////////////////////////////////////////////////// - -#include "TGeant3f77.h" - -#include "TCallf77.h" - - -#ifndef WIN32 -# define gzebra gzebra_ -# define grfile grfile_ -# define gpcxyz gpcxyz_ -# define ggclos ggclos_ -# define glast glast_ -# define ginit ginit_ -# define g3cinit g3cinit_ -# define gzinit gzinit_ -# define grun grun_ -# define gtrig gtrig_ -# define gtrigc gtrigc_ -# define gtrigi gtrigi_ -# define gfmate gfmate_ -# define gfpart gfpart_ -# define gftmed gftmed_ -# define gftmat gftmat_ -# define gpart gpart_ -# define gmate gmate_ -# define gsdk gsdk_ -# define gsmate gsmate_ -# define gsmixt gsmixt_ -# define gspart gspart_ -# define gstmed gstmed_ -# define gsckov gsckov_ -# define gstpar gstpar_ -# define gfkine gfkine_ -# define gfvert gfvert_ -# define gskine gskine_ -# define gsvert gsvert_ -# define gpvolu gpvolu_ -# define gprotm gprotm_ -# define gptmed gptmed_ -# define gpmate gpmate_ -# define gppart gppart_ -# define gpsets gpsets_ -# define gpvert gpvert_ -# define gpkine gpkine_ -# define gpjxyz gpjxyz_ -# define gphits gphits_ -# define g3pvolu g3pvolu_ -# define g3protm g3protm_ -# define g3ptmed g3ptmed_ -# define g3pmate g3pmate_ -# define g3ppart g3ppart_ -# define g3psets g3psets_ -# define g3pvert g3pvert_ -# define g3pkine g3pkine_ -# define g3pjxyz g3pjxyz_ -# define g3phits g3phits_ -# define g3part g3part_ -# define g3mate g3mate_ -# define gscank gscank_ -# define gscanu gscanu_ -# define g3scank g3scank_ -# define g3scanu g3scanu_ -# define g3bhsta g3bhsta_ -# define gbhsta gbhsta_ -# define gphysi gphysi_ -# define gdebug gdebug_ -# define gekbin gekbin_ -# define gfinds gfinds_ -# define gsking gsking_ -# define gskpho gskpho_ -# define gsstak gsstak_ -# define gsxyz gsxyz_ -# define gtrack gtrack_ -# define gtreve gtreve_ -# define gtreveroot gtreveroot_ -# define grndm grndm_ -# define grndmq grndmq_ -# define gdtom gdtom_ -# define glmoth glmoth_ -# define gmtod gmtod_ -# define gsdvn gsdvn_ -# define gsdvn2 gsdvn2_ -# define gsdvs gsdvs_ -# define gsdvs2 gsdvs2_ -# define gsdvt gsdvt_ -# define gsdvt2 gsdvt2_ -# define gsord gsord_ -# define gspos gspos_ -# define gsposp gsposp_ -# define gsrotm gsrotm_ -# define gsvolu gsvolu_ -# define gprint gprint_ -# define gdinit gdinit_ -# define gdopt gdopt_ -# define gdraw gdraw_ -# define gdrayt gdrayt_ -# define gdrawc gdrawc_ -# define gdrawx gdrawx_ -# define gdhead gdhead_ -# define gdwmn1 gdwmn1_ -# define gdwmn2 gdwmn2_ -# define gdwmn3 gdwmn3_ -# define gdxyz gdxyz_ -# define gdman gdman_ -# define gdspec gdspec_ -# define gdtree gdtree_ -# define gdelet gdelet_ -# define gdclos gdclos_ -# define gdshow gdshow_ -# define gdopen gdopen_ -# define dzshow dzshow_ -# define gsatt gsatt_ -# define gfpara gfpara_ -# define gckpar gckpar_ -# define gckmat gckmat_ -# define geditv geditv_ -# define mzdrop mzdrop_ - -# define ertrak ertrak_ -# define ertrgo ertrgo_ - -# define setbomb setbomb_ -# define setclip setclip_ -# define gcomad gcomad_ - -# define gbrelm gbrelm_ -# define gprelm gprelm_ - -# define rxgtrak rxgtrak_ -# define rxouth rxouth_ -# define rxinh rxinh_ - -#else - -# define gzebra GZEBRA -# define grfile GRFILE -# define gpcxyz GPCXYZ -# define ggclos GGCLOS -# define glast GLAST -# define ginit GINIT -# define g3cinit G3CINIT -# define gzinit GZINIT -# define grun GRUN -# define gtrig GTRIG -# define gtrigc GTRIGC -# define gtrigi GTRIGI -# define gfmate GFMATE -# define gfpart GFPART -# define gftmed GFTMED -# define gftmat GFTMAT -# define gsdk GSDK -# define gsmate GSMATE -# define gsmixt GSMIXT -# define gspart GSPART -# define gstmed GSTMED -# define gsckov GSCKOV -# define gstpar GSTPAR -# define gfkine GFKINE -# define gfvert GFVERT -# define gskine GSKINE -# define gsvert GSVERT -# define gphysi GPHYSI -# define gdebug GDEBUG -# define gekbin GEKBIN -# define gfinds GFINDS -# define gsking GSKING -# define gskpho GSKPHO -# define gsstak GSSTAK -# define gsxyz GSXYZ -# define gtrack GTRACK -# define gtreve GTREVE -# define gtreveroot GTREVEROOT -# define grndm GRNDM -# define grndmq GRNDMQ -# define gdtom GDTOM -# define glmoth GLMOTH -# define gmedia GMEDIA -# define gmtod GMTOD -# define gsdvn GSDVN -# define gsdvn2 GSDVN2 -# define gsdvs GSDVS -# define gsdvs2 GSDVS2 -# define gsdvt GSDVT -# define gsdvt2 GSDVT2 -# define gsord GSORD -# define gspos GSPOS -# define gsposp GSPOSP -# define gsrotm GSROTM -# define gsvolu GSVOLU -# define gprint GPRINT -# define gdinit GDINIT -# define gdopt GDOPT -# define gdraw GDRAW -# define gdrayt GDRAYT -# define gdrawc GDRAWC -# define gdrawx GDRAWX -# define gdhead GDHEAD -# define gdwmn1 GDWMN1 -# define gdwmn2 GDWMN2 -# define gdwmn3 GDWMN3 -# define gdxyz GDXYZ -# define gdman GDMAN -# define gdfspc GDFSPC -# define gdspec GDSPEC -# define gdtree GDTREE -# define gdelet GDELET -# define gdclos GDCLOS -# define gdshow GDSHOW -# define gdopen GDOPEN -# define dzshow DZSHOW -# define gsatt GSATT -# define gfpara GFPARA -# define gckmat GCKMAT -# define geditv GEDITV -# define mzdrop MZDROP - -# define ertrak ERTRAK -# define ertrgo ERTRGO - -# define setbomb SETBOMB -# define setclip SETCLIP -# define gcomad GCOMAD - -# define gbrelm GBRELM -# define gprelm GPRELM - -# define rxgtrak RXGTRAK -# define rxouth RXOUTH -# define rxinh RXINH - -#endif - -// -// Geant3 global pointer -// -extern TGeant3 *geant3; - -ClassImp(TGeant3f77) - -//____________________________________________________________________________ -TGeant3f77::TGeant3f77() : TGeant3() -{ - // - // Default constructor - // -} - -//____________________________________________________________________________ -TGeant3f77::TGeant3f77(const char *title, Int_t nwgeant) - :TGeant3(title,nwgeant) -{ -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GBASE -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//____________________________________________________________________________ -extern "C" -{ - void g3pvolu(Int_t &); - void g3protm(Int_t &); - void g3ptmed(Int_t &); - void g3pmate(Int_t &); - void g3ppart(Int_t &); - void g3psets(Int_t &); - void g3pvert(Int_t &); - void g3pkine(Int_t &); - void g3pjxyz(Int_t &); - void g3phits(Int_t &); - void g3part(Int_t &); - void g3mate(); - void g3bhsta(); - void g3scank(); - void g3scanu(); -} - -extern "C" { - -//____________________________________________________________________________ -void gfile(const char *filename, const char *option) -{ - // - // Routine to open a GEANT/RZ data base. - // - // LUN logical unit number associated to the file - // - // CHFILE RZ file name - // - // CHOPT is a character string which may be - // N To create a new file - // U to open an existing file for update - // " " to open an existing file for read only - // Q The initial allocation (default 1000 records) - // is given in IQUEST(10) - // X Open the file in exchange format - // I Read all data structures from file to memory - // O Write all data structures from memory to file - // - // Note: - // If options "I" or "O" all data structures are read or - // written from/to file and the file is closed. - // See routine GRMDIR to create subdirectories - // See routines GROUT,GRIN to write,read objects - // - geant3->Gfile(filename,option); -} - -//____________________________________________________________________________ -void gpcxyz() -{ - // - // Print track and volume parameters at current point - // - - geant3->Gpcxyz(); -} -//_____________________________________________________________________________ -void ggclos() -{ - // - // Closes off the geometry setting. - // Initializes the search list for the contents of each - // volume following the order they have been positioned, and - // inserting the content '0' when a call to GSNEXT (-1) has - // been required by the user. - // Performs the development of the JVOLUM structure for all - // volumes with variable parameters, by calling GGDVLP. - // Interprets the user calls to GSORD, through GGORD. - // Computes and stores in a bank (next to JVOLUM mother bank) - // the number of levels in the geometrical tree and the - // maximum number of contents per level, by calling GGNLEV. - // Sets status bit for CONCAVE volumes, through GGCAVE. - // Completes the JSET structure with the list of volume names - // which identify uniquely a given physical detector, the - // list of bit numbers to pack the corresponding volume copy - // numbers, and the generic path(s) in the JVOLUM tree, - // through the routine GHCLOS. - // - geant3->FinishGeometry(); -} - -//_____________________________________________________________________________ -void glast() -{ - // - // Finish a Geant run - // - geant3->Glast(); -} - -//_____________________________________________________________________________ -void gprint(const char *name, Int_t val, const Int_t lname) -{ - // - // Routine to print data structures - // CHNAME name of a data structure - // - if (lname > 0) { - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - if (val == 0) geant3->Gprint(vname); - else geant3->Gprint(vname); - } else { - geant3->Gprint("*"); - } -} - -//_____________________________________________________________________________ -void grun() -{ - // - // Steering function to process one run - // - geant3->Grun(); -} - -//_____________________________________________________________________________ -void gtrig() -{ - // - // Steering function to process one event - // - geant3->Gtrig(); -} - -//_____________________________________________________________________________ -void gtrigc() -{ - // - // Clear event partition - // - geant3->Gtrigc(); -} - -//_____________________________________________________________________________ -void gtrigi() -{ - // - // Initialises event partition - // - geant3->Gtrigi(); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GCONS -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//_____________________________________________________________________________ -void gfmate(Int_t &imat, char *name, Float_t &a, Float_t &z, - Float_t &dens, Float_t &radl, Float_t &absl, - Float_t* ubuf, Int_t& nbuf, const Int_t lname) -{ - // - // Return parameters for material IMAT - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gfmate(imat, vname,a,z,dens,radl,absl,ubuf,nbuf); -} - -//_____________________________________________________________________________ -void gfpart(Int_t &ipart, char *name, Int_t &itrtyp, - Float_t &amass, Float_t &charge, Float_t &tlife, const Int_t lname) -{ - // - // Return parameters for particle of type IPART - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gfpart(ipart, vname, itrtyp, amass, charge, tlife); -} - -//_____________________________________________________________________________ -void gftmed(Int_t &numed, char *name, Int_t &nmat, Int_t &isvol, - Int_t &ifield, Float_t &fieldm, Float_t &tmaxfd, - Float_t &stemax, Float_t &deemax, Float_t &epsil, - Float_t &stmin, Float_t * ubuf, Int_t * nbuf, const Int_t lname) -{ - // - // Return parameters for tracking medium NUMED - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gftmed(numed, vname, nmat, isvol, ifield, fieldm, tmaxfd, stemax, - deemax, epsil, stmin, ubuf, nbuf); -} - - -//_____________________________________________________________________________ - void gftmat(Int_t &imate, Int_t &ipart, char *chmeca, Int_t &kdim, - Float_t* tkin, Float_t* value, Float_t* pcut, - Int_t &ixst) -{ - // - // Return parameters for tracking medium NUMED - // - geant3->Gftmat(imate, ipart, chmeca, kdim, tkin, value, pcut, ixst); -} - -//_____________________________________________________________________________ -void gsdk(Int_t &ipart, Float_t *bratio, Int_t *mode) -{ -// Defines branching ratios and decay modes for standard -// GEANT particles. - geant3->Gsdk(ipart,bratio,mode); -} - -//_____________________________________________________________________________ -void gsmate(Int_t &imat, const char *name, Float_t &a, Float_t &z, - Float_t &dens, Float_t &radl, Float_t &absl, Float_t *ubuf, Int_t &nbuf, const Int_t lname) -{ - // - // Defines a Material - // - // kmat number assigned to the material - // name material name - // a atomic mass in au - // z atomic number - // dens density in g/cm3 - // absl absorbtion length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -absl is taken - // radl radiation length in cm - // if >=0 it is ignored and the program - // calculates it, if <0. -radl is taken - // buf pointer to an array of user words - // nbuf number of user words - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gsmate(imat,vname, a, z, dens, radl, absl); -} - -//_____________________________________________________________________________ -void gsmixt(Int_t &imat, const char *name, Float_t *a, Float_t *z, - Float_t &dens, Int_t &nlmat, Float_t *wmat, const Int_t lname) -{ - // - // Defines mixture OR COMPOUND IMAT as composed by - // THE BASIC NLMAT materials defined by arrays A,Z and WMAT - // - // If NLMAT.GT.0 then WMAT contains the PROPORTION BY - // WEIGTHS OF EACH BASIC MATERIAL IN THE MIXTURE. - // - // If NLMAT.LT.0 then WMAT contains the number of atoms - // of a given kind into the molecule of the COMPOUND - // In this case, WMAT in output is changed to relative - // weigths. - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gsmixt(imat,vname, a, z,dens, nlmat,wmat); -} - -//_____________________________________________________________________________ -void gspart(Int_t &ipart, const char *name, Int_t &itrtyp, - Float_t &amass, Float_t &charge, Float_t &tlife, Float_t *ubuf, Int_t &nbuf, const Int_t lname) -{ - // - // Store particle parameters - // - // ipart particle code - // name particle name - // itrtyp transport method (see GEANT manual) - // amass mass in GeV/c2 - // charge charge in electron units - // tlife lifetime in seconds - // - - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gspart(ipart,vname, itrtyp, amass, charge, tlife); -} - -//_____________________________________________________________________________ -void gstmed(Int_t &numed, const char *name, Int_t &nmat, Int_t &isvol, - Int_t &ifield, Float_t &fieldm, Float_t &tmaxfd, - Float_t &stemax, Float_t &deemax, Float_t &epsil, - Float_t &stmin, Float_t *ubuf, Int_t &nbuf, const Int_t lname) -{ - // - // NTMED Tracking medium number - // NAME Tracking medium name - // NMAT Material number - // ISVOL Sensitive volume flag - // IFIELD Magnetic field - // FIELDM Max. field value (Kilogauss) - // TMAXFD Max. angle due to field (deg/step) - // STEMAX Max. step allowed - // DEEMAX Max. fraction of energy lost in a step - // EPSIL Tracking precision (cm) - // STMIN Min. step due to continuos processes (cm) - // - // IFIELD = 0 if no magnetic field; IFIELD = -1 if user decision in GUSWIM; - // IFIELD = 1 if tracking performed with GRKUTA; IFIELD = 2 if tracking - // performed with G3HELIX; IFIELD = 3 if tracking performed with G3HELX3. - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gstmed(numed,vname, nmat, isvol, ifield, fieldm, tmaxfd, stemax, - deemax, epsil, stmin); -} - -//_____________________________________________________________________________ -void gsckov(Int_t &itmed, Int_t &npckov, Float_t *ppckov, - Float_t *absco, Float_t *effic, Float_t *rindex) -{ - // - // Stores the tables for UV photon tracking in medium ITMED - // Please note that it is the user's responsability to - // provide all the coefficients: - // - // - // ITMED Tracking medium number - // NPCKOV Number of bins of each table - // PPCKOV Value of photon momentum (in GeV) - // ABSCO Absorbtion coefficients - // dielectric: absorbtion length in cm - // metals : absorbtion fraction (0<=x<=1) - // EFFIC Detection efficiency for UV photons - // RINDEX Refraction index (if=0 metal) - // - geant3->Gsckov(itmed,npckov,ppckov,absco,effic,rindex); -} - -//_____________________________________________________________________________ -void gstpar(Int_t &itmed, const char *name, Float_t &parval, const Int_t lname) -{ - // - // To change the value of cut or mechanism "CHPAR" - // to a new value PARVAL for tracking medium ITMED - // The data structure JTMED contains the standard tracking - // parameters (CUTS and flags to control the physics processes) which - // are used by default for all tracking media. It is possible to - // redefine individually with GSTPAR any of these parameters for a - // given tracking medium. - // ITMED tracking medium number - // CHPAR is a character string (variable name) - // PARVAL must be given as a floating point. - // - - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gstpar(itmed,vname, parval); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GCONS -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//_____________________________________________________________________________ -void gfkine(Int_t &itra, Float_t *vert, Float_t *pvert, Int_t &ipart, - Int_t &nvert, Float_t *ubuf, Int_t &nbuf) -{ - // Storing/Retrieving Vertex and Track parameters - // ---------------------------------------------- - // - // Stores vertex parameters. - // VERT array of (x,y,z) position of the vertex - // NTBEAM beam track number origin of the vertex - // =0 if none exists - // NTTARG target track number origin of the vertex - // UBUF user array of NUBUF floating point numbers - // NUBUF - // NVTX new vertex number (=0 in case of error). - // Prints vertex parameters. - // IVTX for vertex IVTX. - // (For all vertices if IVTX=0) - // Stores long life track parameters. - // PLAB components of momentum - // IPART type of particle (see GSPART) - // NV vertex number origin of track - // UBUF array of NUBUF floating point user parameters - // NUBUF - // NT track number (if=0 error). - // Retrieves long life track parameters. - // ITRA track number for which parameters are requested - // VERT vector origin of the track - // PVERT 4 momentum components at the track origin - // IPART particle type (=0 if track ITRA does not exist) - // NVERT vertex number origin of the track - // UBUF user words stored in GSKINE. - // Prints initial track parameters. - // ITRA for track ITRA - // (For all tracks if ITRA=0) - // - ubuf=0; - nbuf=0; - geant3->Gfkine(itra,vert,pvert,ipart,nvert); -} - -//_____________________________________________________________________________ -void gfvert(Int_t &nvtx, Float_t *v, Int_t &ntbeam, Int_t &nttarg, - Float_t &tofg, Float_t *ubuf, Int_t &nbuf) -{ - // - // Retrieves the parameter of a vertex bank - // Vertex is generated from tracks NTBEAM NTTARG - // NVTX is the new vertex number - // - ubuf=0; - nbuf=0; - geant3->Gfvert(nvtx,v,ntbeam,nttarg,tofg); -} - -//_____________________________________________________________________________ -void gskine(Float_t *plab, Int_t &ipart, Int_t &nv, Float_t *buf, - Int_t &nbuf, Int_t &nt) -{ - // - // Store kinematics of track NT into data structure - // Track is coming from vertex NV - // - nt = geant3->Gskine(plab, ipart, nv, buf, nbuf); -} - -//_____________________________________________________________________________ -void gsvert(Float_t *v, Int_t &ntbeam, Int_t &nttarg, Float_t *ubuf, - Int_t &nbuf, Int_t &nwtx) -{ - // - // Creates a new vertex bank - // Vertex is generated from tracks NTBEAM NTTARG - // NVTX is the new vertex number - // - nwtx = geant3->Gsvert(v, ntbeam, nttarg, ubuf, nbuf); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GPHYS -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//_____________________________________________________________________________ -void gphysi() -{ - // - // Initialise material constants for all the physics - // mechanisms used by GEANT - // - geant3->Gphysi(); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GTRAK -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//_____________________________________________________________________________ -void gdebug() -{ - // - // Debug the current step - // - geant3->Gdebug(); -} - -//_____________________________________________________________________________ -void gsking(Int_t &igk) -{ - // - // Stores in stack JSTAK either the IGKth track of /GCKING/, - // or the NGKINE tracks when IGK is 0. - // - geant3->Gsking(igk); -} - -//_____________________________________________________________________________ -void gskpho(Int_t &igk) -{ - // - // Stores in stack JSTAK either the IGKth Cherenkov photon of - // /GCKIN2/, or the NPHOT tracks when IGK is 0. - // - geant3->Gskpho(igk); -} - -//_____________________________________________________________________________ -void gsstak(Int_t &iflag) -{ - // - // Stores in auxiliary stack JSTAK the particle currently - // described in common /GCKINE/. - // - // On request, creates also an entry in structure JKINE : - // IFLAG = - // 0 : No entry in JKINE structure required (user) - // 1 : New entry in JVERTX / JKINE structures required (user) - // <0 : New entry in JKINE structure at vertex -IFLAG (user) - // 2 : Entry in JKINE structure exists already (from GTREVE) - // - geant3->Gsstak(iflag); -} - -//_____________________________________________________________________________ -void gsxyz() -{ - // - // Store space point VECT in banks JXYZ - // - geant3->Gsxyz(); -} - -//_____________________________________________________________________________ -void gtrack() -{ - // - // Controls tracking of current particle - // - geant3->Gtrack(); -} - -//_____________________________________________________________________________ -void gtreve() -{ - // - // Controls tracking of all particles belonging to the current event - // - geant3->Gtreve(); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GDRAW -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//_____________________________________________________________________________ -void gdxyz(Int_t & /*it*/) -{ - // - // Draw the points stored with Gsxyz relative to track it - // - //geant3->Ggdxyz(it); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// Functions from GGEOM -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//_____________________________________________________________________________ -void gdtom(Float_t *xd, Float_t *xm, Int_t &iflag) -{ - // - // Computes coordinates XM (Master Reference System - // knowing the coordinates XD (Detector Ref System) - // The local reference system can be initialized by - // - the tracking routines and GDTOM used in GUSTEP - // - a call to GSCMED(NLEVEL,NAMES,NUMBER) - // (inverse routine is GMTOD) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosinus - // - geant3->Gdtom(xd, xm, iflag); -} - -//_____________________________________________________________________________ -void glmoth(const char* name, Int_t &iunum, Int_t &nlev, Int_t *lvols, - Int_t *lindx, const Int_t lname) -{ - // - // Loads the top part of the Volume tree in LVOLS (IVO's), - // LINDX (IN indices) for a given volume defined through - // its name IUDET and number IUNUM. - // - // The routine stores only upto the last level where JVOLUM - // data structure is developed. If there is no development - // above the current level, it returns NLEV zero. - //Int_t *idum=0; - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Glmoth(vname, iunum, nlev, lvols, lindx); -} - -//_____________________________________________________________________________ -void gmtod(Float_t *xm, Float_t *xd, Int_t &iflag) -{ - // - // Computes coordinates XD (in DRS) - // from known coordinates XM in MRS - // The local reference system can be initialized by - // - the tracking routines and GMTOD used in GUSTEP - // - a call to GMEDIA(XM,NUMED) - // - a call to GLVOLU(NLEVEL,NAMES,NUMBER,IER) - // (inverse routine is GDTOM) - // - // If IFLAG=1 convert coordinates - // IFLAG=2 convert direction cosinus - // - geant3->Gmtod(xm, xd, iflag); -} - -//_____________________________________________________________________________ -void gsdvn(const char *name, const char *mother, Int_t &ndiv, - Int_t &iaxis, const Int_t lname, const Int_t lmother) -{ - // - // Create a new volume by dividing an existing one - // - // NAME Volume name - // MOTHER Mother volume name - // NDIV Number of divisions - // IAXIS Axis value - // - // X,Y,Z of CAXIS will be translated to 1,2,3 for IAXIS. - // It divides a previously defined volume. - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vmother[24]; strncpy(vmother,mother,lmother); vmother[lmother] = 0; - geant3->Gsdvn(vname, vmother, ndiv, iaxis); -} - -//_____________________________________________________________________________ -void gsdvn2(const char *name, const char *mother, Int_t &ndiv, - Int_t &iaxis, Float_t &c0i, Int_t &numed, const Int_t lname, const Int_t lmother) -{ - // - // Create a new volume by dividing an existing one - // - // Divides mother into ndiv divisions called name - // along axis iaxis starting at coordinate value c0. - // the new volume created will be medium number numed. - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vmother[24]; strncpy(vmother,mother,lmother); vmother[lmother] = 0; - geant3->Gsdvn2(vname, vmother, ndiv, iaxis, c0i, numed); -} - -//_____________________________________________________________________________ -void gsdvs(const char *name, const char *mother, Float_t &step, - Int_t &iaxis, Int_t &numed, const Int_t lname, const Int_t lmother) -{ - // - // Create a new volume by dividing an existing one - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vmother[24]; strncpy(vmother,mother,lmother); vmother[lmother] = 0; - geant3->Gsdvs(vname, vmother, step, iaxis, numed); -} - -//_____________________________________________________________________________ -void gsdvs2(const char *name, const char *mother, Float_t &step, - Int_t &iaxis, Float_t &c0, Int_t &numed, const Int_t lname, const Int_t lmother) -{ - // - // Create a new volume by dividing an existing one - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vmother[24]; strncpy(vmother,mother,lmother); vmother[lmother] = 0; - geant3->Gsdvs2(vname, vmother, step, iaxis, c0, numed); -} - -//_____________________________________________________________________________ -void gsdvt(const char *name, const char *mother, Float_t &step, - Int_t &iaxis, Int_t &numed, Int_t &ndvmx, const Int_t lname, const Int_t lmother) -{ - // - // Create a new volume by dividing an existing one - // - // Divides MOTHER into divisions called NAME along - // axis IAXIS in steps of STEP. If not exactly divisible - // will make as many as possible and will centre them - // with respect to the mother. Divisions will have medium - // number NUMED. If NUMED is 0, NUMED of MOTHER is taken. - // NDVMX is the expected maximum number of divisions - // (If 0, no protection tests are performed) - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vmother[24]; strncpy(vmother,mother,lmother); vmother[lmother] = 0; - geant3->Gsdvt(vname, vmother, step, iaxis, numed, ndvmx); -} - -//_____________________________________________________________________________ -void gsdvt2(const char *name, const char *mother, Float_t &step, - Int_t &iaxis, Float_t &c0, Int_t &numed, Int_t &ndvmx, const Int_t lname, const Int_t lmother) -{ - // - // Create a new volume by dividing an existing one - // - // Divides MOTHER into divisions called NAME along - // axis IAXIS starting at coordinate value C0 with step - // size STEP. - // The new volume created will have medium number NUMED. - // If NUMED is 0, NUMED of mother is taken. - // NDVMX is the expected maximum number of divisions - // (If 0, no protection tests are performed) - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vmother[24]; strncpy(vmother,mother,lmother); vmother[lmother] = 0; - geant3->Gsdvt2(vname, vmother, step, iaxis, c0, numed, ndvmx); -} - -//_____________________________________________________________________________ -void gsord(const char *name, Int_t &iax, const Int_t lname) -{ - // - // Flags volume CHNAME whose contents will have to be ordered - // along axis IAX, by setting the search flag to -IAX - // IAX = 1 X axis - // IAX = 2 Y axis - // IAX = 3 Z axis - // IAX = 4 Rxy (static ordering only -> GTMEDI) - // IAX = 14 Rxy (also dynamic ordering -> GTNEXT) - // IAX = 5 Rxyz (static ordering only -> GTMEDI) - // IAX = 15 Rxyz (also dynamic ordering -> GTNEXT) - // IAX = 6 PHI (PHI=0 => X axis) - // IAX = 7 THETA (THETA=0 => Z axis) - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gsord(vname, iax); -} - -//_____________________________________________________________________________ -void gspos(const char *name, Int_t &nr, const char *mother, Float_t &x, - Float_t &y, Float_t &z, Int_t &irot, const char *konly, const Int_t lname, const Int_t lmother, const Int_t lkonly) -{ - // - // Position a volume into an existing one - // - // NAME Volume name - // NUMBER Copy number of the volume - // MOTHER Mother volume name - // X X coord. of the volume in mother ref. sys. - // Y Y coord. of the volume in mother ref. sys. - // Z Z coord. of the volume in mother ref. sys. - // IROT Rotation matrix number w.r.t. mother ref. sys. - // ONLY ONLY/MANY flag - // - // It positions a previously defined volume in the mother. - // - - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vmother[24]; strncpy(vmother,mother,lmother); vmother[lmother] = 0; - char vkonly[24]; strncpy(vkonly,konly,lkonly); vkonly[lkonly] = 0; - geant3->Gspos(vname, nr, vmother, x, y, z, irot, vkonly); -} - -//_____________________________________________________________________________ -void gsposp(const char *name, Int_t &nr, const char *mother, - Float_t &x, Float_t &y, Float_t &z, Int_t &irot, - const char *konly, Float_t *upar, Int_t &np , const Int_t lname, const Int_t lmother) -{ - // - // Place a copy of generic volume NAME with user number - // NR inside MOTHER, with its parameters UPAR(1..NP) - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vmother[24]; strncpy(vmother,mother,lmother); vmother[lmother] = 0; - geant3->Gsposp(vname, nr, vmother, x,y, z, irot, konly, upar, np); -} - -//_____________________________________________________________________________ -void gsrotm(Int_t &nmat, Float_t &theta1, Float_t &phi1, Float_t &theta2, - Float_t &phi2, Float_t &theta3, Float_t &phi3) -{ - // - // nmat Rotation matrix number - // THETA1 Polar angle for axis I - // PHI1 Azimuthal angle for axis I - // THETA2 Polar angle for axis II - // PHI2 Azimuthal angle for axis II - // THETA3 Polar angle for axis III - // PHI3 Azimuthal angle for axis III - // - // It defines the rotation matrix number IROT. - // - geant3->Gsrotm(nmat, theta1, phi1, theta2, phi2, theta3, phi3); -} - -//_____________________________________________________________________________ -void gsvolu(const char *name, const char *shape, Int_t &nmed, - Float_t *upar, Int_t &npar, Int_t &ivolu, const Int_t lname, const Int_t lshape) -{ - // - // NAME Volume name - // SHAPE Volume type - // NUMED Tracking medium number - // NPAR Number of shape parameters - // UPAR Vector containing shape parameters - // - // It creates a new volume in the JVOLUM data structure. - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vshape[24]; strncpy(vshape,shape,lshape); vshape[lshape] = 0; - ivolu = geant3->Gsvolu(vname, vshape, nmed, upar, npar); -} - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// -// T H E D R A W I N G P A C K A G E -// ====================================== -// Drawing functions. These functions allow the visualization in several ways -// of the volumes defined in the geometrical data structure. It is possible -// to draw the logical tree of volumes belonging to the detector (DTREE), -// to show their geometrical specification (DSPEC,DFSPC), to draw them -// and their cut views (DRAW, DCUT). Moreover, it is possible to execute -// these commands when the hidden line removal option is activated; in -// this case, the volumes can be also either translated in the space -// (SHIFT), or clipped by boolean operation (CVOL). In addition, it is -// possible to fill the surfaces of the volumes -// with solid colours when the shading option (SHAD) is activated. -// Several tools (ZOOM, LENS) have been developed to zoom detailed parts -// of the detectors or to scan physical events as well. -// Finally, the command MOVE will allow the rotation, translation and zooming -// on real time parts of the detectors or tracks and hits of a simulated event. -// Ray-tracing commands. In case the command (DOPT RAYT ON) is executed, -// the drawing is performed by the Geant ray-tracing; -// automatically, the color is assigned according to the tracking medium of each -// volume and the volumes with a density lower/equal than the air are considered -// transparent; if the option (USER) is set (ON) (again via the command (DOPT)), -// the user can set color and visibility for the desired volumes via the command -// (SATT), as usual, relatively to the attributes (COLO) and (SEEN). -// The resolution can be set via the command (SATT * FILL VALUE), where (VALUE) -// is the ratio between the number of pixels drawn and 20 (user coordinates). -// Parallel view and perspective view are possible (DOPT PROJ PARA/PERS); in the -// first case, we assume that the first mother volume of the tree is a box with -// dimensions 10000 X 10000 X 10000 cm and the view point (infinetely far) is -// 5000 cm far from the origin along the Z axis of the user coordinates; in the -// second case, the distance between the observer and the origin of the world -// reference system is set in cm by the command (PERSP NAME VALUE); grand-angle -// or telescopic effects can be achieved changing the scale factors in the command -// (DRAW). When the final picture does not occupy the full window, -// mapping the space before tracing can speed up the drawing, but can also -// produce less precise results; values from 1 to 4 are allowed in the command -// (DOPT MAPP VALUE), the mapping being more precise for increasing (VALUE); for -// (VALUE = 0) no mapping is performed (therefore max precision and lowest speed). -// The command (VALCUT) allows the cutting of the detector by three planes -// ortogonal to the x,y,z axis. The attribute (LSTY) can be set by the command -// SATT for any desired volume and can assume values from 0 to 7; it determines -// the different light processing to be performed for different materials: -// 0 = dark-matt, 1 = bright-matt, 2 = plastic, 3 = ceramic, 4 = rough-metals, -// 5 = shiny-metals, 6 = glass, 7 = mirror. The detector is assumed to be in the -// dark, the ambient light luminosity is 0.2 for each basic hue (the saturation -// is 0.9) and the observer is assumed to have a light source (therefore he will -// produce parallel light in the case of parallel view and point-like-source -// light in the case of perspective view). -// -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -//_____________________________________________________________________________ -void gsatt(const char *name, const char *att, Int_t &val, const Int_t lname, const Int_t latt) -{ - // - // NAME Volume name - // IOPT Name of the attribute to be set - // IVAL Value to which the attribute is to be set - // - // name= "*" stands for all the volumes. - // iopt can be chosen among the following : - // - // WORK 0=volume name is inactive for the tracking - // 1=volume name is active for the tracking (default) - // - // SEEN 0=volume name is invisible - // 1=volume name is visible (default) - // -1=volume invisible with all its descendants in the tree - // -2=volume visible but not its descendants in the tree - // - // LSTY line style 1,2,3,... (default=1) - // LSTY=7 will produce a very precise approximation for - // revolution bodies. - // - // LWID line width -7,...,1,2,3,..7 (default=1) - // LWID<0 will act as abs(LWID) was set for the volume - // and for all the levels below it. When SHAD is 'ON', LWID - // represent the linewidth of the scan lines filling the surfaces - // (whereas the FILL value represent their number). Therefore - // tuning this parameter will help to obtain the desired - // quality/performance ratio. - // - // COLO colour code -166,...,1,2,..166 (default=1) - // n=1=black - // n=2=red; n=17+m, m=0,25, increasing luminosity according to 'm'; - // n=3=green; n=67+m, m=0,25, increasing luminosity according to 'm'; - // n=4=blue; n=117+m, m=0,25, increasing luminosity according to 'm'; - // n=5=yellow; n=42+m, m=0,25, increasing luminosity according to 'm'; - // n=6=violet; n=142+m, m=0,25, increasing luminosity according to 'm'; - // n=7=lightblue; n=92+m, m=0,25, increasing luminosity according to 'm'; - // colour=n*10+m, m=1,2,...9, will produce the same colour - // as 'n', but with increasing luminosity according to 'm'; - // COLO<0 will act as if abs(COLO) was set for the volume - // and for all the levels below it. - // When for a volume the attribute FILL is > 1 (and the - // option SHAD is on), the ABS of its colour code must be < 8 - // because an automatic shading of its faces will be - // performed. - // - // FILL (1992) fill area -7,...,0,1,...7 (default=0) - // when option SHAD is "on" the FILL attribute of any - // volume can be set different from 0 (normal drawing); - // if it is set to 1, the faces of such volume will be filled - // with solid colours; if ABS(FILL) is > 1, then a light - // source is placed along the observer line, and the faces of - // such volumes will be painted by colours whose luminosity - // will depend on the amount of light reflected; - // if ABS(FILL) = 1, then it is possible to use all the 166 - // colours of the colour table, becouse the automatic shading - // is not performed; - // for increasing values of FILL the drawing will be performed - // with higher and higher resolution improving the quality (the - // number of scan lines used to fill the faces increases with FILL); - // it is possible to set different values of FILL - // for different volumes, in order to optimize at the same time - // the performance and the quality of the picture; - // FILL<0 will act as if abs(FILL) was set for the volume - // and for all the levels below it. - // This kind of drawing can be saved in 'picture files' - // or in view banks. - // 0=drawing without fill area - // 1=faces filled with solid colours and resolution = 6 - // 2=lowest resolution (very fast) - // 3=default resolution - // 4=................. - // 5=................. - // 6=................. - // 7=max resolution - // Finally, if a coloured background is desired, the FILL - // attribute for the first volume of the tree must be set - // equal to -abs(colo), colo being >0 and <166. - // - // SET set number associated to volume name - // DET detector number associated to volume name - // DTYP detector type (1,2) - // -// InitHIGZ(); - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vatt[24]; strncpy(vatt,att,latt); vatt[latt] = 0; - geant3->Gsatt(vname, vatt, val); -} - -//_____________________________________________________________________________ -void gfpara(const char *name, Int_t &number, Int_t &intext, Int_t& npar, - Int_t& natt, Float_t* par, Float_t* att, const Int_t lname) -{ - // - // Find the parameters of a volume - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gfpara(vname, number, intext, npar, natt, par, att); -} - -//_____________________________________________________________________________ -void gckmat(Int_t &itmed, char* natmed) -{ - // - // Check the parameters of a tracking medium - // - geant3->Gckmat(itmed, natmed); -} - -//_____________________________________________________________________________ -void gdelete(Int_t & /*iview*/) -{ - // - // IVIEW View number - // - // It deletes a view bank from memory. - // - //geant3->Gdelet(iview); -} - -//_____________________________________________________________________________ -void gdopen(Int_t &iview) -{ - // - // IVIEW View number - // - // When a drawing is very complex and requires a long time to be - // executed, it can be useful to store it in a view bank: after a - // call to DOPEN and the execution of the drawing (nothing will - // appear on the screen), and after a necessary call to DCLOSE, - // the contents of the bank can be displayed in a very fast way - // through a call to DSHOW; therefore, the detector can be easily - // zoomed many times in different ways. Please note that the pictures - // with solid colours can now be stored in a view bank or in 'PICTURE FILES' - // - geant3->Gdopen(iview); -} - -//_____________________________________________________________________________ -void gdclose() -{ - // - // It closes the currently open view bank; it must be called after the - // end of the drawing to be stored. - // - //geant3->Gdclos(); -} - -//_____________________________________________________________________________ -void gdshow(Int_t & /*iview*/) -{ - // - // IVIEW View number - // - // It shows on the screen the contents of a view bank. It - // can be called after a view bank has been closed. - // - //geant3->Gdshow(iview); -} - -//_____________________________________________________________________________ -void gdopt(const char *name,const char *value, const Int_t lname, const Int_t lvalue) -{ - // - // NAME Option name - // VALUE Option value - // - // To set/modify the drawing options. - // IOPT IVAL Action - // - // THRZ ON Draw tracks in R vs Z - // OFF (D) Draw tracks in X,Y,Z - // 180 - // 360 - // PROJ PARA (D) Parallel projection - // PERS Perspective - // TRAK LINE (D) Trajectory drawn with lines - // POIN " " with markers - // HIDE ON Hidden line removal using the CG package - // OFF (D) No hidden line removal - // SHAD ON Fill area and shading of surfaces. - // OFF (D) Normal hidden line removal. - // RAYT ON Ray-tracing on. - // OFF (D) Ray-tracing off. - // EDGE OFF Does not draw contours when shad is on. - // ON (D) Normal shading. - // MAPP 1,2,3,4 Mapping before ray-tracing. - // 0 (D) No mapping. - // USER ON User graphics options in the raytracing. - // OFF (D) Automatic graphics options. - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - char vvalue[24]; strncpy(vvalue,value,lvalue); vvalue[lvalue] = 0; - geant3->Gdopt(vname, vvalue); -} - -//_____________________________________________________________________________ -void gdraw(const char *name,Float_t &theta, Float_t &phi, Float_t &psi, - Float_t &u0,Float_t &v0,Float_t &ul,Float_t &vl) -{ - // - // NAME Volume name - // + - // THETA Viewing angle theta (for 3D projection) - // PHI Viewing angle phi (for 3D projection) - // PSI Viewing angle psi (for 2D rotation) - // U0 U-coord. (horizontal) of volume origin - // V0 V-coord. (vertical) of volume origin - // SU Scale factor for U-coord. - // SV Scale factor for V-coord. - // - // This function will draw the volumes, - // selected with their graphical attributes, set by the Gsatt - // facility. The drawing may be performed with hidden line removal - // and with shading effects according to the value of the options HIDE - // and SHAD; if the option SHAD is ON, the contour's edges can be - // drawn or not. If the option HIDE is ON, the detector can be - // exploded (BOMB), clipped with different shapes (CVOL), and some - // of its parts can be shifted from their original - // position (SHIFT). When HIDE is ON, if - // the drawing requires more than the available memory, the program - // will evaluate and display the number of missing words - // (so that the user can increase the - // size of its ZEBRA store). Finally, at the end of each drawing (with HIDE on), - // the program will print messages about the memory used and - // statistics on the volumes' visibility. - // The following commands will produce the drawing of a green - // volume, specified by NAME, without using the hidden line removal - // technique, using the hidden line removal technique, - // with different linewidth and colour (red), with - // solid colour, with shading of surfaces, and without edges. - // Finally, some examples are given for the ray-tracing. (A possible - // string for the NAME of the volume can be found using the command DTREE). - // - geant3->Gdraw(name, theta,phi,psi,u0,v0,ul,vl); -} - -//_____________________________________________________________________________ -void gdrawc(const char *name,Int_t &axis, Float_t &cut,Float_t &u0, - Float_t &v0,Float_t &ul,Float_t &vl) -{ - // - // NAME Volume name - // CAXIS Axis value - // CUTVAL Cut plane distance from the origin along the axis - // + - // U0 U-coord. (horizontal) of volume origin - // V0 V-coord. (vertical) of volume origin - // SU Scale factor for U-coord. - // SV Scale factor for V-coord. - // - // The cut plane is normal to caxis (X,Y,Z), corresponding to iaxis (1,2,3), - // and placed at the distance cutval from the origin. - // The resulting picture is seen from the the same axis. - // When HIDE Mode is ON, it is possible to get the same effect with - // the CVOL/BOX function. - // - geant3->Gdrawc(name, axis,cut,u0,v0,ul,vl); -} - -//_____________________________________________________________________________ -void gdrawx(const char *name,Float_t &cutthe, Float_t &cutphi, - Float_t &cutval, Float_t &theta, Float_t &phi, Float_t &u0, - Float_t &v0,Float_t &ul,Float_t &vl) -{ - // - // NAME Volume name - // CUTTHE Theta angle of the line normal to cut plane - // CUTPHI Phi angle of the line normal to cut plane - // CUTVAL Cut plane distance from the origin along the axis - // + - // THETA Viewing angle theta (for 3D projection) - // PHI Viewing angle phi (for 3D projection) - // U0 U-coord. (horizontal) of volume origin - // V0 V-coord. (vertical) of volume origin - // SU Scale factor for U-coord. - // SV Scale factor for V-coord. - // - // The cut plane is normal to the line given by the cut angles - // cutthe and cutphi and placed at the distance cutval from the origin. - // The resulting picture is seen from the viewing angles theta,phi. - // - geant3->Gdrawx(name, cutthe,cutphi,cutval,theta,phi,u0,v0,ul,vl); -} - -//_____________________________________________________________________________ -void gdhead(Int_t &isel, const char *name, Float_t &chrsiz) -{ - // - // Parameters - // + - // ISEL Option flag D=111110 - // NAME Title - // CHRSIZ Character size (cm) of title NAME D=0.6 - // - // ISEL = - // 0 to have only the header lines - // xxxxx1 to add the text name centered on top of header - // xxxx1x to add global detector name (first volume) on left - // xxx1xx to add date on right - // xx1xxx to select thick characters for text on top of header - // x1xxxx to add the text 'EVENT NR x' on top of header - // 1xxxxx to add the text 'RUN NR x' on top of header - // NOTE that ISEL=x1xxx1 or ISEL=1xxxx1 are illegal choices, - // i.e. they generate overwritten text. - // - - geant3->Gdhead(isel,name,chrsiz); -} - -//_____________________________________________________________________________ -void gdman(Float_t &u, Float_t &v, const char * /*type*/) -{ - // - // Draw a 2D-man at position (U0,V0) - // Parameters - // U U-coord. (horizontal) of the centre of man' R - // V V-coord. (vertical) of the centre of man' R - // TYPE D='MAN' possible values: 'MAN,WM1,WM2,WM3' - // - // CALL GDMAN(u,v),CALL GDWMN1(u,v),CALL GDWMN2(u,v),CALL GDWMN2(u,v) - // It superimposes the picure of a man or of a woman, chosen among - // three different ones, with the same scale factors as the detector - // in the current drawing. - // - - geant3->Gdman(u,v); -} - -//_____________________________________________________________________________ -void gdspec(const char *name) -{ - // - // NAME Volume name - // - // Shows 3 views of the volume (two cut-views and a 3D view), together with - // its geometrical specifications. The 3D drawing will - // be performed according the current values of the options HIDE and - // SHAD and according the current SetClipBox clipping parameters for that - // volume. - // - geant3->Gdspec(name); -} - -//_____________________________________________________________________________ -void gdtree(const char *name,Int_t &levmax, Int_t &isel) -{ - // - // NAME Volume name - // LEVMAX Depth level - // ISELT Options - // - // This function draws the logical tree, - // Each volume in the tree is represented by a TPaveTree object. - // Double-clicking on a TPaveTree draws the specs of the corresponding volume. - // Use TPaveTree pop-up menu to select: - // - drawing specs - // - drawing tree - // - drawing tree of parent - // - geant3->Gdtree(name, levmax, isel); -} - -//____________________________________________________________________________ -void gekbin() -{ - // - //=================Create Materials and geometry - // - - geant3->Gekbin(); -} - -//____________________________________________________________________________ -void ginit() -{ - // - //=================Create Materials and geometry - // - - //geant3->Init(); -} - -//____________________________________________________________________________ -void gdinit() -{ - // - //=================Create Materials and geometry - // - -} - -//____________________________________________________________________________ -void gpvolu(int &i) -{ - g3pvolu(i); -} -//____________________________________________________________________________ -void gprotm(int &i) -{ - g3protm(i); -} -//____________________________________________________________________________ -void gpmate(int &i) -{ - g3pmate(i); -} -//____________________________________________________________________________ -void gptmed(int &i) -{ - g3ptmed(i); -} -//____________________________________________________________________________ -void gppart(int &i) -{ - g3ppart(i); -} -//____________________________________________________________________________ -void gpsets(int &i) -{ - g3psets(i); -} -//____________________________________________________________________________ -void gpvert(int &i) -{ - g3pvert(i); -} -//____________________________________________________________________________ -void gpkine(int &i) -{ - g3pkine(i); -} -//____________________________________________________________________________ -void gpjxyz(int &i) -{ - g3pjxyz(i); -} -//____________________________________________________________________________ -void gphits(int &i) -{ - g3phits(i); -} -//____________________________________________________________________________ -void gpart() -{ - geant3->Gpart(); -} -//____________________________________________________________________________ -void gmate() -{ - g3mate(); -} -//____________________________________________________________________________ -void gbhsta() -{ - g3bhsta(); -} -//____________________________________________________________________________ -void gscank() -{ - g3scank(); -} -//____________________________________________________________________________ -void gscanu() -{ - g3scanu(); -} - -//____________________________________________________________________________ -void gzinit() -{ - // - //=================Initialize zebra - // - - geant3->Gzinit(); -} -} diff --git a/StarVMC/geant3/TGeant3/TGeant3f77.h b/StarVMC/geant3/TGeant3/TGeant3f77.h deleted file mode 100644 index 144d853d637..00000000000 --- a/StarVMC/geant3/TGeant3/TGeant3f77.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef ROOT_TGeant3f77 -#define ROOT_TGeant3f77 -/* $Id: TGeant3f77.h,v 1.2 2013/08/08 17:20:00 jwebb Exp $ */ - -//////////////////////////////////////////////////// -// C++/f77 interface to Geant3 basic routines // -//////////////////////////////////////////////////// - -#include "TGeant3.h" -#include - -class TGeant3f77 : public TGeant3 { - -public: - TGeant3f77(); - TGeant3f77(const char *title, Int_t nwgeant=0); - virtual ~TGeant3f77() {} - - // NOTE: THe following methods have appeared in the abstract base class - // sometime after ROOT 5.22.00. They indicate that functionality - // has been added to TGeant3TGeo which we are lacking. - // - // *** We need to import current versions from ALICE *** - void SetUserParameters( Bool_t ){ assert(0); } - void SetCollectTracks( Bool_t ){ assert(0); } - Bool_t IsCollectTracks() const { assert(0); return false; } - - -private: - TGeant3f77(const TGeant3f77 &tg3); - TGeant3f77 & operator=(const TGeant3f77 &tg3); - - ClassDef(TGeant3f77,1) //C++/f77 interface to Geant basic routines -}; -#endif //ROOT_TGeant3f77 diff --git a/StarVMC/geant3/TGeant3/TGeant3gu.cxx b/StarVMC/geant3/TGeant3/TGeant3gu.cxx deleted file mode 100644 index d2d8ebf5ff2..00000000000 --- a/StarVMC/geant3/TGeant3/TGeant3gu.cxx +++ /dev/null @@ -1,740 +0,0 @@ -#include "Riostream.h" -#include "TGeant3.h" -#include "TCallf77.h" -#include "TLorentzVector.h" -#include "TClonesArray.h" -#include "TParticle.h" - -//#define COLLECT_TRACKS -#if defined(COLLECT_TRACKS) -#include "TGeoManager.h" -#include "TVirtualGeoTrack.h" -#endif - -#ifndef WIN32 -# define gudigi gudigi_ -# define guhadr guhadr_ -# define guout guout_ -# define guphad guphad_ -# define gudcay gudcay_ -# define guiget guiget_ -# define guinme guinme_ -# define guinti guinti_ -# define gunear gunear_ -# define guskip guskip_ -# define guview guview_ -# define gupara gupara_ -# define gudtim gudtim_ -# define guplsh guplsh_ -# define gutrev gutrev_ -# define gutrak gutrak_ -# define guswim guswim_ -# define gufld gufld_ -# define gustep gustep_ -# define gukine gukine_ - -# define calsig calsig_ -# define gcalor gcalor_ - -# define gheish gheish_ -# define flufin flufin_ -# define gfmfin gfmfin_ -# define gpghei gpghei_ -# define fldist fldist_ -# define gfmdis gfmdis_ -# define g3helx3 g3helx3_ -# define g3helix g3helix_ -# define g3rkuta g3rkuta_ -# define g3track g3track_ -# define gtreveroot gtreveroot_ -# define g3last g3last_ -# define g3invol g3invol_ -# define g3tmedi g3tmedi_ -# define g3media g3media_ -# define g3tmany g3tmany_ -# define g3tnext g3tnext_ -# define ginvol ginvol_ -# define gtmedi gtmedi_ -# define gtmany gtmany_ -# define gtonly gtonly_ -# define gmedia gmedia_ -# define glvolu glvolu_ -# define gtnext gtnext_ - -#else -# define gudigi GUDIGI -# define guhadr GUHADR -# define guout GUOUT -# define guphad GUPHAD -# define gudcay GUDCAY -# define guiget GUIGET -# define guinme GUINME -# define guinti GUINTI -# define gunear GUNEAR -# define guskip GUSKIP -# define guview GUVIEW -# define gupara GUPARA -# define gudtim GUDTIM -# define guplsh GUPLSH -# define gutrev GUTREV -# define gutrak GUTRAK -# define guswim GUSWIM -# define gufld GUFLD -# define gustep GUSTEP -# define gukine GUKINE - -# define calsig CALSIG -# define gcalor GCALOR - -# define gheish GHEISH -# define flufin FLUFIN -# define gfmfin GFMFIN -# define gpghei GPGHEI -# define fldist FLDIST -# define gfmdis GFMDIS -# define g3helx3 G3HELX3 -# define g3helix G3HELIX -# define g3rkuta G3RKUTA -# define gtrack GTRACK -# define gtreveroot GTREVEROOT -# define glast GLAST -# define ginvol GINVOL -# define gtmedi GTMEDI -# define gtmany GTMANY -# define gmedia GMEDIA -# define glvolu GLVOLU -# define gtnext GTNEXT - -#endif - -extern TGeant3* geant3; -#if defined(COLLECT_TRACKS) -extern TGeoManager *gGeoManager; -#endif - - -extern "C" type_of_call void calsig(); -extern "C" type_of_call void gcalor(); - -extern "C" type_of_call void gheish(); -extern "C" type_of_call void flufin(); -extern "C" type_of_call void gfmfin(); -extern "C" type_of_call void gpghei(); -extern "C" type_of_call void fldist(); -extern "C" type_of_call void gfmdis(); -extern "C" type_of_call void g3helx3(Float_t&, Float_t&, Float_t*, Float_t*); -extern "C" type_of_call void g3helix(Float_t&, Float_t&, Float_t*, Float_t*); -extern "C" type_of_call void g3rkuta(Float_t&, Float_t&, Float_t*, Float_t*); -extern "C" type_of_call void g3track(); -extern "C" type_of_call void gtreveroot(); -extern "C" type_of_call void g3last(); -extern "C" type_of_call void g3invol(Float_t*, Int_t&); -extern "C" type_of_call void g3tmedi(Float_t*, Int_t&); -extern "C" type_of_call void g3tmany(Int_t&); -extern "C" type_of_call void g3media(Float_t*, Int_t&, Int_t&); -extern "C" type_of_call void g3tnext(); -extern "C" type_of_call void ginvol(Float_t*, Int_t&); -extern "C" type_of_call void gtmedi(Float_t*, Int_t&); -extern "C" type_of_call void gtmany(Int_t&); -extern "C" type_of_call void gtonly(Int_t&); -extern "C" type_of_call void gmedia(Float_t*, Int_t&, Int_t&); -extern "C" type_of_call void glvolu(Int_t &nlev, Int_t *lnam,Int_t *lnum, Int_t &ier); -extern "C" type_of_call void gtnext(); - -extern "C" type_of_call { - -//______________________________________________________________________ -void gudigi() -{ -// -// ****************************************************************** -// * * -// * User routine to digitize one event * -// * * -// * ==>Called by : GTRIG * -// * * -// ****************************************************************** - -} - - -//______________________________________________________________________ -void guhadr() -{ -// -// ****************************************************************** -// * * -// * User routine to generate one hadronic interaction * -// * * -// * ==>Called by : GTHADR,GTNEUT * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - Int_t ihadr = geant3->Gcphys()->ihadr; - - // printf(" iHadr 1 :%i \n ",ihadr); - if (ihadr<4) { gheish();} - else if (ihadr==4){ flufin();} - else if (ihadr==5){ gcalor();} - else { gfmfin();} - -} - -//______________________________________________________________________ -void guout() -{ -// -// ****************************************************************** -// * * -// * User routine called at the end of each event * -// * * -// * ==>Called by : GTRIG * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - //printf("count_gmedia= %8d\n",count_gmedia); - //printf("count_gtmedi= %8d\n",count_gtmedi); - //printf("count_ginvol= %8d\n",count_ginvol); - //printf("count_gtnext= %8d\n",count_gtnext); -} - -//______________________________________________________________________ -void guphad() -{ -// -// ****************************************************************** -// * * -// * User routine to compute Hadron. inter. probabilities * -// * * -// * ==>Called by : GTHADR,GTNEUT * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - Int_t ihadr = geant3->Gcphys()->ihadr; - // printf(" iHadr 2 :%i \n ",ihadr); - if (ihadr<4){ gpghei();} - else if ( ihadr==4 ){ fldist();} - else if ( ihadr==5 ){ calsig();} - else { gfmdis();} - -} - -//______________________________________________________________________ -void gudcay() -{ -// -// ****************************************************************** -// * * -// * User routine to decay particles * -// * * -// * ==>Called by : G3DECAY * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - - // set decay table - if (!gMC->GetDecayer()) return; - gMC->GetDecayer()->ForceDecay(); - -// Initialize 4-momentum vector - Int_t ipart = geant3->Gckine()->ipart; - static TLorentzVector p; - - Float_t pmom = geant3->Gctrak()->vect[6]; - - p[0] = pmom * (geant3->Gctrak()->vect[3]); - p[1] = pmom * (geant3->Gctrak()->vect[4]); - p[2] = pmom * (geant3->Gctrak()->vect[5]); - p[3] = geant3->Gctrak()->getot; - - -// Convert from geant to lund particle code - Int_t iplund=gMC->PDGFromId(ipart); - -// Particle list - static TClonesArray *particles; - if(!particles) particles=new TClonesArray("TParticle",1000); -// Decay - gMC->GetDecayer()->Decay(iplund, &p); - -// Fetch Particles - Int_t np = geant3->GetDecayer()->ImportParticles(particles); - if (np <=1) return; - - TParticle * iparticle = (TParticle *) particles->At(0); - Int_t ipF = 0, ipL = 0 ; - Int_t i,j; - -// Array to flag deselected particles - Int_t* pFlag = new Int_t[np]; - for (i=0; iAt(i); - ipF = iparticle->GetFirstDaughter(); - ipL = iparticle->GetLastDaughter(); - Int_t kf = iparticle->GetPdgCode(); - Int_t ks = iparticle->GetStatusCode(); -// -// Deselect daughters of deselected particles -// and jump skip the current particle - if (pFlag[i] == 1) { - if (ipF > 0) for (j=ipF-1; jGetDecayer()->GetLifetime(kf); - if (lifeTime > (Double_t) 1.e-15) { - if (ipF > 0) for (j=ipF-1; jGcking()->ngkine; -// Put particle on geant stack -// momentum vector - - (geant3->Gcking()->gkin[index][0]) = iparticle->Px(); - (geant3->Gcking()->gkin[index][1]) = iparticle->Py(); - (geant3->Gcking()->gkin[index][2]) = iparticle->Pz(); - (geant3->Gcking()->gkin[index][3]) = iparticle->Energy(); - Int_t ilu = gMC->IdFromPDG(kf); - -// particle type - (geant3->Gcking()->gkin[index][4]) = Float_t(ilu); -// position - (geant3->Gckin3()->gpos[index][0]) = geant3->Gctrak()->vect[0]; - (geant3->Gckin3()->gpos[index][1]) = geant3->Gctrak()->vect[1]; - (geant3->Gckin3()->gpos[index][2]) = geant3->Gctrak()->vect[2]; -// time of flight offset (mm) - (geant3->Gcking()->tofd[index]) = 0.; -// increase stack counter - (geant3->Gcking()->ngkine)=index+1; - } - delete[] pFlag; -} - -//______________________________________________________________________ -void guiget(Int_t&, Int_t&, Int_t&) -{ -// -// ****************************************************************** -// * * -// * User routine for interactive control of GEANT * -// * * -// * ==>Called by : , GINCOM * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// -} - -//______________________________________________________________________ -void guinme(Float_t*, Int_t&, Float_t*, Int_t& IYES) -{ -// -// ********************************************** -// * * -// * USER ROUTINE TO PROVIDE GINME FUNCTION * -// * FOR ALL USER SHAPES IDENTIFIED BY THE * -// * SHAPE NUMBER SH. POINT IS GIVEN IN X * -// * THE PARAMETERS ARE GIVEN IN P. IYES IS * -// * RETURNED 1 IF POINT IS IN, 0 IF POINT * -// * IS OUT AND LESS THAN ZERO IF SHAPE * -// * NUMBER IS NOT SUPPORTED. * -// * * -// * ==>Called by : GINME * -// * * -// ********************************************** -// - IYES=-1; -} - -//______________________________________________________________________ -void guinti() -{ -// -// ****************************************************************** -// * * -// * User routine for interactive version * -// * * -// * ==>Called by : , GINTRI * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// -} - -//______________________________________________________________________ -void gunear(Int_t&, Int_t&, Float_t*, Int_t&) -{ -// -// ****************************************************************** -// * * -// * User search * -// * ISEARC to identify the given volume * -// * ICALL to identify the calling routine * -// * 1 GMEDIA like * -// * 2 GNEXT like * -// * X coordinates (+direction for ICALL=2) * -// * JNEAR address of default list of neighbours * -// * (list to be overwriten by user) * -// * * -// * Called by : GFTRAC, GINVOL, GTMEDI, GTNEXT, GNEXT, GMEDIA * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// -} - -//______________________________________________________________________ -void guskip(Int_t& ISKIP) -{ -// -// ****************************************************************** -// * * -// * User routine to skip unwanted tracks * -// * * -// * Called by : GSSTAK * -// * Author : F.Bruyant * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - ISKIP = 0; -} - -//______________________________________________________________________ -void guswim(Float_t& CHARGE, Float_t& STEP, Float_t* VECT, Float_t* VOUT) -{ -// -// ****************************************************************** -// * * -// * User routine to control tracking of one track * -// * in a magnetic field * -// * * -// * ==>Called by : GTELEC,GTHADR,GTMUON * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - Int_t ifield = geant3->Gctmed()->ifield; - Float_t fieldm = geant3->Gctmed()->fieldm; - - if (ifield==3) { - Float_t fldcharge = fieldm*CHARGE; - g3helx3(fldcharge,STEP,VECT,VOUT); - } - else if (ifield==2) g3helix(CHARGE,STEP,VECT,VOUT); - else g3rkuta(CHARGE,STEP,VECT,VOUT); -} - -//______________________________________________________________________ -void guview(Int_t&, Int_t&, DEFCHARD, Int_t& DEFCHARL) -{ -// -// ****************************************************************** -// * * -// * User routine for interactive version * -// * * -// * ==>Called by : , GINC1 * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// -} - -//______________________________________________________________________ -void gupara() -{ -// -// ****************************************************************** -// * * -// * User routine called every time a particle falls below * -// * parametrization threshold. This routine should create * -// * the parametrization stack, and, when this is full, * -// * parametrize the shower and track the geantinos. * -// * * -// * ==>Called by : GTRACK * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// -} - -//______________________________________________________________________ -Float_t gudtim(Float_t&, Float_t&, Int_t&, Int_t&) -{ -// -// ****************************************************************** -// * * -// * User function called by GCDRIF to return drift time * -// * * -// * ==>Called by : GCDRIF * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - return 0; -} - - -//______________________________________________________________________ -Float_t guplsh(Int_t&, Int_t&) -{ -// -// ****************************************************************** -// * * -// * * -// * ==>Called by : GLISUR * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// -// -//*** By default this defines perfect smoothness - return 1; -} - -//______________________________________________________________________ -void gutrak() -{ -// -// ****************************************************************** -// * * -// * User routine to control tracking of one track * -// * * -// * ==>Called by : GTREVE * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - TVirtualMCApplication::Instance()->PreTrack(); - - g3track(); - - TVirtualMCApplication::Instance()->PostTrack(); -} - -//______________________________________________________________________ -void gutrev() -{ -// -// ****************************************************************** -// * * -// * User routine to control tracking of one event * -// * * -// * ==>Called by : GTRIG * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - gtreveroot(); -} - - -//______________________________________________________________________ -void gufld(Float_t *x, Float_t *b) -{ - Double_t xdouble[3]; - Double_t bdouble[3]; - for (Int_t i=0; i<3; i++) xdouble[i] = x[i]; -#if ROOT_VERSION_CODE < ROOT_VERSION(5,23,1) - TVirtualMCApplication::Instance()->Field(xdouble,bdouble); -#else - if ( gMC->GetMagField() ) { - gMC->GetMagField()->Field(xdouble,bdouble); - } - else { - static Bool_t warn = true; - if (warn) { - Warning("gufld", "Using deprecated function TVirtualMCApplication::Field()."); - Warning("gufld", "New TVirtualMagField interface should be used instead."); - warn = false; - } - - TVirtualMCApplication::Instance()->Field(xdouble,bdouble); - } -#endif - for (Int_t j=0; j<3; j++) b[j] = bdouble[j]; -} - -//______________________________________________________________________ -void gustep() -{ -// -// ****************************************************************** -// * * -// * User routine called at the end of each tracking step * -// * INWVOL is different from 0 when the track has reached * -// * a volume boundary * -// * ISTOP is different from 0 if the track has stopped * -// * * -// * ==>Called by : GTRACK * -// * * -// ****************************************************************** -// - Int_t ipp, jk, nt; - Float_t polar[3]={0,0,0}; - Float_t mom[3]; - static TMCProcess pProc; - - TVirtualMCApplication *app = TVirtualMCApplication::Instance(); - TVirtualMCStack* stack = gMC->GetStack(); - // Stop particle if outside user defined tracking region - Double_t x, y, z, rmax; - geant3->TrackPosition(x,y,z); - -#if defined(COLLECT_TRACKS) - if (gMC->IsRootGeometrySupported()) { - Int_t nstep = geant3->Gctrak()->nstep; - Int_t cpdg = gMC->PDGFromId(geant3->Gckine()->ipart); - Bool_t isnew = kFALSE; // gMC->IsNewTrack() returns true just for new used indices - if (nstep==0) isnew = kTRUE; - Int_t cid = stack->GetCurrentTrackNumber(); - Int_t mid = stack->GetCurrentParentTrackNumber(); - Double_t tofg = geant3->Gctrak()->tofg; - //printf("id=%i mid=%i pdg=%i nstep=%i (%f,%f,%f)\n",cid,mid,cpdg,nstep,x,y,z); - - TVirtualGeoTrack *parent = 0; - if (mid>=0) { - parent = gGeoManager->GetTrackOfId(mid); - if (!parent) printf("Error: no parent track with id=%i\n",mid); - } - TVirtualGeoTrack *track; - if (isnew) { - if (parent) { - //printf("Adding daughter %i of %i\n",cid,mid); - track = parent->AddDaughter(cid, cpdg); - gGeoManager->SetCurrentTrack(track); - } else { - Int_t itrack = gGeoManager->AddTrack(cid, cpdg); - //printf("Added new primary %i\n",cid); - gGeoManager->SetCurrentTrack(itrack); - track = gGeoManager->GetCurrentTrack(); - } - TDatabasePDG *pdgdb = TDatabasePDG::Instance(); - if (pdgdb) { - TParticlePDG *part = pdgdb->GetParticle(cpdg); - if (part) { - track->SetName(part->GetName()); - track->SetParticle(part); - } - } - } else { - track = gGeoManager->GetCurrentTrack(); - } - Double_t xo,yo,zo,to; - Bool_t skippoint = kFALSE; - if (track->HasPoints()) { - track->GetLastPoint(xo,yo,zo,to); - Double_t rdist = TMath::Sqrt((xo-x)*(xo-x)+(yo-y)*(yo-y)+(zo-z)*(zo-z)); - if (rdist<0.01) skippoint=kTRUE; - } - if (!skippoint) track->AddPoint(x,y,z,tofg); - } -#endif - - rmax = app->TrackingRmax(); - if (x*x+y*y > rmax*rmax || - TMath::Abs(z) > app->TrackingZmax()) { - gMC->StopTrack(); - } - - // --- Add new created particles - if (gMC->NSecondaries() > 0) { - pProc=gMC->ProdProcess(0); - for (jk = 0; jk < geant3->Gcking()->ngkine; ++jk) { - ipp = Int_t (geant3->Gcking()->gkin[jk][4]+0.5); - // --- Skip neutrinos! - if (ipp != 4) { - geant3->SetTrack(1,stack->GetCurrentTrackNumber(),gMC->PDGFromId(ipp), geant3->Gcking()->gkin[jk], - geant3->Gckin3()->gpos[jk], polar,geant3->Gctrak()->tofg, pProc, nt, 1., 0); - } - } - } - // Cherenkov photons here - if ( geant3->Gckin2()->ngphot ) { - for (jk = 0; jk < geant3->Gckin2()->ngphot; ++jk) { - mom[0]=geant3->Gckin2()->xphot[jk][3]*geant3->Gckin2()->xphot[jk][6]; - mom[1]=geant3->Gckin2()->xphot[jk][4]*geant3->Gckin2()->xphot[jk][6]; - mom[2]=geant3->Gckin2()->xphot[jk][5]*geant3->Gckin2()->xphot[jk][6]; - geant3->SetTrack(1, stack->GetCurrentTrackNumber(), gMC->PDGFromId(50), - mom, //momentum - geant3->Gckin2()->xphot[jk], //position - &geant3->Gckin2()->xphot[jk][7], //polarisation - geant3->Gckin2()->xphot[jk][10], //time of flight - kPCerenkov, nt, 1., 0); - } - } - // --- Particle leaving the setup ? - if (!gMC->IsTrackOut()) app->Stepping(); - - // --- Standard GEANT debug routine - //g3pcxyz(); - if(geant3->Gcflag()->idebug) geant3->Gdebug(); -} - -//______________________________________________________________________ -void gukine () -{ -// -// ****************************************************************** -// * * -// * Read or Generates Kinematics for primary tracks * -// * * -// * ==>Called by : GTRIG * -// * * -// ****************************************************************** -// -// -// ------------------------------------------------------------------ -// - - TVirtualMCApplication::Instance()->GeneratePrimaries(); -} -} -// end of extern "C" diff --git a/StarVMC/geant3/TGeant3/TGeant3gu.h b/StarVMC/geant3/TGeant3/TGeant3gu.h deleted file mode 100644 index 48630b0fb6e..00000000000 --- a/StarVMC/geant3/TGeant3/TGeant3gu.h +++ /dev/null @@ -1 +0,0 @@ -// dummy diff --git a/StarVMC/geant3/TGeant3/galicef.F b/StarVMC/geant3/TGeant3/galicef.F deleted file mode 100644 index 238e8036b33..00000000000 --- a/StarVMC/geant3/TGeant3/galicef.F +++ /dev/null @@ -1,71 +0,0 @@ -*CMZ : 30/12/98 16.23.44 by Rene Brun -*-- Author : Rene Brun 30/12/98 - subroutine setclip(name,xmin,xmax,ymin,ymax,zmin,zmax) -* -* define the clip box parameters for volume name -* -#undef CERNLIB_GEANT321_GCUNIT_INC -#include "geant321/gcunit.inc" -#undef CERNLIB_GEANT321_GCMUTR_INC -#include "geant321/gcmutr.inc" -#undef CERNLIB_GEANT321_GCGOBJ_INC -#include "geant321/gcgobj.inc" -*KEND. - character *(*) name - real xmin,xmax,ymin,ymax,zmin,zmax -* - IHOLE=0 - NCVOLS=NCVOLS+1 - IF(NCVOLS.EQ.MULTRA)THEN - WRITE(CHMAIL, 10000) -10000 FORMAT(' *** GXDRAW ***:', - + ' No more space to store MCVOL information.') - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) -10100 FORMAT(' *** GXDRAW ***: Please reset MCVOL') - CALL GMAIL(0,0) - return - ENDIF - IF(XMIN.GE.XMAX.OR.YMIN.GE.YMAX.OR.ZMIN.GE.ZMAX)THEN - WRITE(CHMAIL,10200) -10200 FORMAT(' Wrong Box limits. Check values ') - CALL GMAIL(0,0) - return - ENDIF -****SG - GNNVV(NCVOLS)=NAME - GNASH(NCVOLS)='BOX' - GXMIN(NCVOLS)=XMIN - GXMAX(NCVOLS)=XMAX - GYMIN(NCVOLS)=YMIN - GYMAX(NCVOLS)=YMAX - GZMIN(NCVOLS)=ZMIN - GZMAX(NCVOLS)=ZMAX - IF(GXMIN(NCVOLS).GT.-99999.)IHOLE=1 -* Resetting Mcvol mode - IF(GNNVV(NCVOLS).EQ.'.')THEN - IHOLE=0 - DO 10 JJ=1,NCVOLS - GNNVV(JJ)=' ' - GXMIN(JJ)=-100000 - GXMAX(JJ)=-99999 - GYMIN(JJ)=-100000 - GYMAX(JJ)=-99999 - GZMIN(JJ)=-100000 - GZMAX(JJ)=-99999 - 10 CONTINUE - NCVOLS=0 - ENDIF - end - subroutine setbomb(boom) -* -* set the bomb factor -* -#undef CERNLIB_GEANT321_GCMUTR_INC -#include "geant321/gcmutr.inc" -*KEND. -* - real boom -* - gboom = boom - end diff --git a/StarVMC/geant3/TGeant3/geant3LinkDef.h b/StarVMC/geant3/TGeant3/geant3LinkDef.h deleted file mode 100644 index 7765396ce86..00000000000 --- a/StarVMC/geant3/TGeant3/geant3LinkDef.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifdef __CINT__ -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id: geant3LinkDef.h,v 1.4 2009/02/01 17:29:50 fisyak Exp $ */ - -#pragma link off all globals; -#pragma link off all classes; -#pragma link off all functions; - -#pragma link C++ class TGeant3-; -#pragma link C++ class TGeant3TGeo+; -#pragma link C++ class TGeant3f77+; -#pragma link C++ class TG3Application+; - -#pragma link C++ class Quest_t+; -#pragma link C++ class Gcbank_t+; -#pragma link C++ class Gclink_t+; -#pragma link C++ class Gcflag_t+; -#pragma link C++ class Gckine_t+; -#pragma link C++ class Gcking_t+; -#pragma link C++ class Gckin2_t+; -#pragma link C++ class Gckin3_t+; -#pragma link C++ class Gcmate_t+; -#pragma link C++ class Gcphlt_t+; -#pragma link C++ class Gctmed_t+; -#pragma link C++ class Gctrak_t+; -#pragma link C++ class Gcvolu_t+; -#pragma link C++ class Gcvol1_t+; -#pragma link C++ class Gcsets_t+; -#pragma link C++ class Gcnum_t+; -#pragma link C++ class Gccuts_t+; -#pragma link C++ class Gcmore_t+; -#pragma link C++ class Gcmulo_t+; -#pragma link C++ class Gcphys_t+; -#pragma link C++ class Gcopti_t+; -#pragma link C++ class Gctlit_t+; -#pragma link C++ class Gcvdma_t+; -#pragma link C++ class Gctpol_t+; -#pragma link C++ class Ertrio_t+; -#pragma link C++ class Eropts_t+; -#pragma link C++ class Eroptc_t+; -#pragma link C++ class Erwork_t+; - -#endif - diff --git a/StarVMC/geant3/added/dummies.c b/StarVMC/geant3/added/dummies.c deleted file mode 100755 index 6f50f6649b3..00000000000 --- a/StarVMC/geant3/added/dummies.c +++ /dev/null @@ -1,90 +0,0 @@ -#if (defined(__linux) && !defined(__ia64)) -#include -void __attribute__ ((constructor)) - trapfpe () { - fpu_control_t cw = _FPU_DEFAULT & ~(_FPU_MASK_IM | _FPU_MASK_ZM | - _FPU_MASK_OM); - _FPU_SETCW(cw); -} -void MAIN__() {} -#endif - -void izrtoc_() {} -void igmess_() {} -void igloc2_() {} -void igpxmp_() {} -void izitoc_() {} -/* -void ffinit_() {} -void ffkey_() {} -void ffgo_() {} -*/ -void kuproi_() {} -void kuproc_() {} -void kupror_() {} -void kualfa_() {} -void umlog_() {} -void czgeta_() {} -void czputa_() {} -/*======================= hbook dummies ================================ - * - * From gplmat */ -void hdelet_() {} -void hphist_() {} -void hbookb_() {} -void hfill_() {} -void hidopt_() {} -/* - * From gbhsta */ -void hbook1_() {} -void hbookn_() {} -void hcopy_() {} -/* - * From AliRun */ -void hlimit_() {} -/* - * From HIGZ */ - -void iacwk_(int* dum) {} -void iclrwk_(int* dum,int* dum2) {} -void iclwk_(int* dum,int* dum2) {} -void idawk_(int* dum) {} -void ifa_(int* n,float* x, float* y) {} -void igbox_(float* x1,float* x2,float* y1,float* y2) {} -void ightor_(float* h,float* l,float* s, - float* r,float* g,float* b) {} -void igpave_(float* x1,float* x2,float* yy1, - float* yy2,float* dum4,int* isbox, - int* isfram,const char* dum5, const int dum) {} -void igpid_(int* dum,const char* name,int* pid, - const char* dum6 , const int l1, const int dum8) {} -void igq_(const char *name,float* rval, const int l1) {} -void igrng_(float* xsize,float* ysize) {} -void igsa_(int* dum) {} -void igset_(const char *name,float* rval, const int l1) {} -void igterm_() {} -void iopwk_(int* iwkid,int* iconid,int* iwtypi) {} -void ipl_(int* n,float* x,float* y) {} -void ipm_(int* n,float* x,float* y) {} -void irqlc_(int* dum, int* dum2, int* dum3, int* dum4, float* dum5, float* dum6) {} -void iscr_(int* dum,int* ici,float* r,float* g,float* b) {} -void isfaci_(int* col) {} -void isfais_(int* is) {} -void isln_(int* ln) {} -void ismk_(int* mk) {} -void islwsc_(float* wl) {} -void isplci_(int* col) {} -void ispmci_(int* col) {} -void istxci_(int* col) {} -void isvp_(int* dum,float* dum2,float* dum3,float* dum4,float* dum5) {} -void iswn_(int* dum,float* x1,float* x2,float* y1,float* y2) {} -void itx_(float* x,float* y,const char* ptext, const int l1p) {} -void hplint_(int* dum) {} -void hplend_() {} -void hplfra_(float* x1,float* x2,float* y1, - float* y2,const char* dum6, const int dum) {} -void igmeta_(int* dum, int* dum2) {} -void iselnt_(int* dum) {} -int igiwty_(int* dum) {return 0;} -void igqwk_(int* dum, const char *name, float* rval, const int l1) {} - diff --git a/StarVMC/geant3/added/dummies2.c b/StarVMC/geant3/added/dummies2.c deleted file mode 100644 index 9f491e269cf..00000000000 --- a/StarVMC/geant3/added/dummies2.c +++ /dev/null @@ -1,3 +0,0 @@ - void ffinit_() {} - void ffkey_() {} - void ffgo_() {} diff --git a/StarVMC/geant3/added/loadmod.F b/StarVMC/geant3/added/loadmod.F deleted file mode 100755 index 04849125403..00000000000 --- a/StarVMC/geant3/added/loadmod.F +++ /dev/null @@ -1,42 +0,0 @@ - subroutine loadmod - call g3treve - call g3trigi - call gudcay - call gudigi - call gufld - call guhadr - call gukine - call guout - call guphad - call gustep - call gutrak - call gutrev - call guiget - call guinme - call guinti - call gunear - call guskip - call guswim - call guview - call gupara - call gudtim - call guplsh - end - subroutine gdcol(i) - end - subroutine gdkine - end - subroutine gdcxyz - end - subroutine gdshad - end - subroutine gdtrak - end - subroutine gdrack - end - subroutine gdcgrs - end - subroutine gfind - end - subroutine gviewf - end diff --git a/StarVMC/geant3/block/fdevap.F b/StarVMC/geant3/block/fdevap.F deleted file mode 100644 index 0531899a351..00000000000 --- a/StarVMC/geant3/block/fdevap.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: fdevap.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: fdevap.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:35 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BDEVAP.FOR -*COPY BDEVAP -* -*=== bdevap ===========================================================* -* - SUBROUTINE FDEVAP - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Block Data for the EVAPoration routines: * -* * -* Created on 20 may 1990 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Modified from the original version of J.M.Zazula * -* and, for cookcm, from a LAHET block data kindly provided by * -* R.E.Prael-LANL * -* * -* Last change on 28-jan-93 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -#include "geant321/eva0.inc" -#include "geant321/hettp.inc" -#include "geant321/hetc7.inc" -#include "geant321/inpflg.inc" -* - DATA B01 / 8.D+00 /, Y01 / 1.5D+00 / - DATA IANG1 / 1 /, IFISS1 / 0 /, IB01 / 2 /, IGEOM1 / 0 / - DATA ISTRA1 /0/, KEYDK1 /0/ - DATA NBERT1 /LUNBER/ - DATA COSTH1 /1.D+00/, SINTH1 /0.D+00/, COSPH1 /1.D+00/, - & SINPH1/0.D+00/ -* - B0=B01 - Y0=Y01 - IANG=IANG1 - IFISS=IFISS1 - IB0=IB01 - IGEOM=IGEOM1 - ISTRAG=ISTRA1 - KEYDK=KEYDK1 - NBERTP=NBERT1 - COSTH=COSTH1 - SINTH=SINTH1 - COSPHI=COSPH1 - SINPHI=SINPH1 - END diff --git a/StarVMC/geant3/block/fdnopt.F b/StarVMC/geant3/block/fdnopt.F deleted file mode 100644 index 5472f3764b8..00000000000 --- a/StarVMC/geant3/block/fdnopt.F +++ /dev/null @@ -1,139 +0,0 @@ -* -* $Id: fdnopt.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: fdnopt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:35 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BDNOPT.FOR -*COPY BDNOPT -* -*=== bdnopt ===========================================================* -*== * - SUBROUTINE FDNOPT - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 20 september 1989 by Alfredo Ferrari - Infn Milan * -* * -* Last change on 09-mar-93 by Alfredo Ferrari * -* * -*----------------------------------------------------------------------* -* -#include "geant321/fheavy.inc" -#include "geant321/finuc.inc" -#include "geant321/parevt.inc" -#include "geant321/resnuc.inc" -* - CHARACTER*8 ANHEA1(12) - DIMENSION AMHEA1(12),ICHEA1(12),IBHEA1(12) - LOGICAL LDIFF1,LPOWE1,LINCT1,LEVPR1,LHEAV1,LDEEX1,LGDHP1 - & ,LPREE1,LHLFI1,LPRFI1,LPARW1 - DIMENSION LDIFF1(39) - LOGICAL LRNFS1 - -* /fheavy/ - DATA AMHEA1 / 12 * 0.D+00 / - DATA ANHEA1 / 'NEUTRON ', 'PROTON ', 'DEUTERON', '3-H ', - & '3-He ', '4-He ', 'H-FRAG-1', 'H-FRAG-2', - & 'H-FRAG-3', 'H-FRAG-4', 'H-FRAG-5', 'H-FRAG-6'/ - DATA ICHEA1 / 0, 1, 1, 1, 2, 2, 6*0 /, - & IBHEA1 / 1, 1, 2, 3, 3, 4, 6*0 / - DATA NPHEA1 / 0 / - -* /finuc/ - DATA NP1/ 0 /, TV1/ 0.D+00 /, TVCMS1/ 0.D+00 /, TVREC1 / 0.D+00/, - & TVHEA1 / 0.D+00 /, TVBIN1 / 0.D+00 / - -* /parevt/ - DATA DPOWE1 /-13.D+00 /, FSPRD1 / 0.6D+00 /, FSHPF1 / 0.0D+00 /, - & RN1GS1 /-1.0D+00 /, RN2GS1 /-1.0D+00 / - DATA LDIFF1 / .TRUE., .FALSE., 6 * .TRUE., .FALSE., 8 * .TRUE., - & .FALSE., 4 * .TRUE., .TRUE., 2 * .TRUE., - & 8 * .FALSE., .TRUE., .FALSE., .TRUE., .FALSE., - & .TRUE., .FALSE. / - DATA LPOWE1 / .TRUE. /, LINCT1 / .TRUE. /, LEVPR1 / .TRUE. /, - & LHEAV1 / .TRUE. /, LDEEX1 / .TRUE. /, LGDHP1 / .TRUE. /, - & LPREE1 / .TRUE. /, LHLFI1 / .FALSE. /, LPRFI1 / .FALSE. /, - & LPARW1 / .TRUE. / - DATA ILVMO1 / 0 / - -* /resnuc/ - DATA IEVPL1 / 0 /, IEVPH1 / 0 /, IEVNE1 / 0 /, IEVPR1 / 0 /, - & IEVTR1 / 0 /, IEVDE1 / 0 /, IEV3H1 / 0 /, IEV4H1 / 0 /, - & IDEEX1 / 0 / - DATA LRNFS1 / .FALSE. / -* - DO 10 J=1,12 - AMHEAV(J) = AMHEA1(J) - ANHEAV(J) = ANHEA1(J) - ICHEAV(J) = ICHEA1(J) - IBHEAV(J) = IBHEA1(J) - 10 CONTINUE - NPHEAV = NPHEA1 -* - NP=NP1 - TV=TV1 - TVCMS=TVCMS1 - TVRECL=TVREC1 - TVHEAV=TVHEA1 - TVBIND=TVBIN1 -* - DPOWER = DPOWE1 - FSPRD0 = FSPRD1 - FSHPFN = FSHPF1 - RN1GSC = RN1GS1 - RN2GSC = RN2GS1 - DO 20 J=1,39 - LDIFFR(J) = LDIFF1(J) - 20 CONTINUE - LPOWER = LPOWE1 - LINCTV = LINCT1 - LEVPRT = LEVPR1 - LHEAVY = LHEAV1 - LDEEXG = LDEEX1 - LGDHPR = LGDHP1 - LPREEX = LPREE1 - LHLFIX = LHLFI1 - LPRFIX = LPRFI1 - LPARWV = LPARW1 - ILVMOD = ILVMO1 -* - IEVAPL = IEVPL1 - IEVAPH = IEVPH1 - IEVNEU = IEVNE1 - IEVPRO = IEVPR1 - IEVTRI = IEVTR1 - IEVDEU = IEVDE1 - IEV3HE = IEV3H1 - IEV4HE = IEV4H1 - IDEEXG = IDEEX1 - LRNFSS = LRNFS1 -*= end*block.bdnopt * - END diff --git a/StarVMC/geant3/block/fdpree.F b/StarVMC/geant3/block/fdpree.F deleted file mode 100644 index 5f16b19d5ec..00000000000 --- a/StarVMC/geant3/block/fdpree.F +++ /dev/null @@ -1,81 +0,0 @@ -* -* $Id: fdpree.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: fdpree.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== bdpree ===========================================================* -* - SUBROUTINE FDPREE - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 16 september 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 23-feb-93 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -#include "geant321/nucgeo.inc" -#include "geant321/nuclev.inc" - LOGICAL LABRS1,LELST1,LINEL1, LCHEX1, LBSRP1, LABST1 - DIMENSION JUSNU1(160,2), MAGNU1(8) -* -* - DATA LABRS1, LELST1, LINEL1, LCHEX1, LBSRP1, LABST1 / 6*.FALSE. / - DATA POTBA1 / POTBA0 /, POTME1 / POTME0 /, WLLRE1 / 0.D+00 / - DATA JUSNU1 / 320 * 0 /, INUCL1 / 1 /, IEVPR1 / 0 / - DATA MAGNU1 / 2, 8, 20, 28, 50, 82, 126, 160 / -* - LABRST = LABRS1 - LELSTC = LELST1 - LINELS = LINEL1 - LCHEXC = LCHEX1 - LABSRP = LBSRP1 - LABSTH = LABST1 -* - POTBAR = POTBA1 - POTMES = POTME1 - WLLRES = WLLRE1 -* - DO 10 I=1,160 - JUSNUC(I,1) = JUSNU1(I,1) - JUSNUC(I,2) = JUSNU1(I,2) - 10 CONTINUE - INUCLV = INUCL1 - IEVPRE = IEVPR1 -* - DO 20 I=1,8 - MAGNUM(I) = MAGNU1(I) - 20 CONTINUE -*=== End of Block Data Bdpree =========================================* - END diff --git a/StarVMC/geant3/block/flkdt1.F b/StarVMC/geant3/block/flkdt1.F deleted file mode 100644 index 792208d4bdb..00000000000 --- a/StarVMC/geant3/block/flkdt1.F +++ /dev/null @@ -1,101 +0,0 @@ -* -* $Id: flkdt1.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: flkdt1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:35 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BLKDT1.FOR -*COPY BLKDT1 -* -*=== blkdt1 ===========================================================* -*== * - SUBROUTINE FLKDT1 - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -*----------------------------------------------------------------------* -* Version May 81 Pertti Aarnio * -* Helsinki University of * -* Technology, Finland * -* Last change 17 march 92 by Alfredo Ferrari * -* * -* * -* This is a block data subroutine of Fluka86, which should contain * -* the common blocks, which can and should be initialised before * -* the run. * -* * -* Note that most of the default values for input parameters are * -* set here. * -*----------------------------------------------------------------------* -* The commons are INCLUDEd from Fluka87 Maclib * -* ---> Now from Flukadd Maclib (A. Fasso' 1989) * -*----------------------------------------------------------------------* -#include "geant321/paprop.inc" -* -*----------------------------------------------------------------------* -* - CHARACTER*8 GENPA1(30), BTYPE1(39) - LOGICAL LHADR1(39), LPRBD1, LPRBI1 - DIMENSION ISCOR1(10), IJDIS1(39) -* /Paprop/ * - DATA BTYPE1/'PROTON ' , 'APROTON ' , 'ELECTRON' , - 1 'POSITRON' , 'NEUTRIE ' , 'ANEUTRIE' , - 2 'PHOTON ' , 'NEUTRON ' , 'ANEUTRON' , - 3 'MUON+ ' , 'MUON- ' , 'KAONLONG' , - 4 'PION+ ' , 'PION- ' , 'KAON+ ' , - 5 'KAON- ' , 'LAMBDA ' , 'ALAMBDA ' , - 6 'KAONSHRT' , 'SIGMA- ' , 'SIGMA+ ' , - 7 'SIGMAZER' , 'PIZERO ' , 'KAONZERO' , - 8 'AKAONZER' , 'RESERVED' , 'BLANK ' , - 9 'BLANK ' , 'BLANK ' , 'HEAVYION' , - A 'ASIGMA- ' , 'ASIGMAZE' , 'ASIGMA+ ' , - B 'XSIZERO ' , 'AXSIZERO' , 'XSI- ' , - C 'AXSI+ ' , 'OMEGA- ' , 'AOMEGA+ ' / - DATA ISCOR1 / 201, 9*0 / - DATA GENPA1 / 'ALL-PART', 'ALL-CHAR', 'ALL-NEUT', 'ALL-NEGA', - & 'ALL-POSI', 'NUCLEONS', 'NUC&PI+-', 'ENERGY ', 'PIONS+- ', - & 'BEAMPART', 'EM-ENRGY', 19*'BLANK ' / - DATA IJDIS1 / 4*0,2*1,33*0 / - DATA LHADR1 / 2 *.TRUE., 5 * .FALSE., 2 * .TRUE., 2 * .FALSE., - & 28 * .TRUE. / - DATA LPRBD1, LPRBI1 / 2*.FALSE. / -* - DO 10 J=1,39 - BTYPE(J)=BTYPE1(J) - IJDISC(J)=IJDIS1(J) - LHADRO(J)=LHADR1(J) - 10 CONTINUE - DO 20 J=1,30 - GENPAR(J)=GENPA1(J) - 20 CONTINUE - DO 30 J=1,10 - ISCORE(J)=ISCOR1(J) - 30 CONTINUE - LPRBSD = LPRBD1 - LPRBSI = LPRBI1 -*= end*block.blkdt1 * - END diff --git a/StarVMC/geant3/block/flkdt2.F b/StarVMC/geant3/block/flkdt2.F deleted file mode 100644 index 7857d056e7b..00000000000 --- a/StarVMC/geant3/block/flkdt2.F +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: flkdt2.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: flkdt2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:35 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BLKDT2.FOR -*COPY BLKDT2 -* -*=== blkdt2 ===========================================================* -*== * - SUBROUTINE FLKDT2 - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* CHARACTER*8 EDI, EDI1, EDI2 Not used here! A.F. -* - DIMENSION RUNT1(2) -* - COMMON /FKCD97/ CDDT - DATA CDDT1 / .3D0 / - COMMON /FKRUN/ RUNT(2) - DATA RUNT1 / 2*100.D0 / - COMMON/FKIDGB/ IDGB, IGB - DATA IDGB1,IGB1 / 0, 0 / - COMMON / FKENCO/ ETEST, TNKTE - COMMON / FKNUCT / ETHR, PTHR - DATA ETHR1,TNKTE1 / 2*1.D-3 / -* - CDDT = CDDT1 - RUNT(1) = RUNT1(1) - RUNT(2) = RUNT1(2) - IDGB = IDGB1 - IGB = IGB1 - ETHR = ETHR1 - TNKTE = TNKTE1 -*= end*block.blkdt2 * - END diff --git a/StarVMC/geant3/block/flkdt3.F b/StarVMC/geant3/block/flkdt3.F deleted file mode 100644 index 9a481939b2d..00000000000 --- a/StarVMC/geant3/block/flkdt3.F +++ /dev/null @@ -1,741 +0,0 @@ -* -* $Id: flkdt3.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: flkdt3.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:35 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BLKDT3.FOR -*COPY BLKDT3 -* -*=== blkdt3 ===========================================================* -*== * - SUBROUTINE FLKDT3 - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* * * reaction channel cross section data * -#include "geant321/reac.inc" - DIMENSION - & UMOPI(92), UMOKC(68), UMOP(39), UMON(63), UMOK0(34), - & PLAPI(92), PLAKC(68), PLAP(39), PLAN(63), PLAK0(34), - & SPIKP1(315), SPIKPU(278), SPIKPV(372), - & SPIKPW(278), SPIKPX(372), SPIKP4(315), - & SPIKP5(187), SPIKP6(289), - & SKMPEL(102), SPIKP7(289), SKMNEL(68), SPIKP8(187), - & SPIKP9(143), SPIKP0(169), SPKPV(143), - & SAPPEL(105), SPIKPE(399), SAPNEL(84), SPIKPZ(273), - & SANPEL(84) , SPIKPF(273), - & SPKP15(187), SPKP16(272), - & NRKPI(164), NRKKC(132), NRKP(70), NRKN(116), NRKK0(54), - & NURELN(60) -* - DIMENSION NRKLIN(532) - EQUIVALENCE (NRK(1,1), NRKLIN(1)) - EQUIVALENCE ( UMO( 1), UMOPI(1)), ( UMO( 93), UMOKC(1)) - EQUIVALENCE ( UMO(161), UMOP(1)), ( UMO(200), UMON(1)) - EQUIVALENCE ( UMO(263), UMOK0(1)) - EQUIVALENCE ( PLABF( 1), PLAPI(1)), ( PLABF( 93), PLAKC(1)) - EQUIVALENCE ( PLABF(161), PLAP(1)), ( PLABF(200), PLAN(1)) - EQUIVALENCE ( PLABF(263), PLAK0(1)) - EQUIVALENCE ( WK( 1), SPIKP1(1)), ( WK( 316), SPIKPU(1)) - EQUIVALENCE ( WK( 594), SPIKPV(1)), ( WK( 966), SPIKPW(1)) - EQUIVALENCE ( WK(1244), SPIKPX(1)), ( WK(1616), SPIKP4(1)) - EQUIVALENCE ( WK(1931), SPIKP5(1)), ( WK(2118), SPIKP6(1)) - EQUIVALENCE ( WK(2407), SKMPEL(1)), ( WK(2509), SPIKP7(1)) - EQUIVALENCE ( WK(2798), SKMNEL(1)), ( WK(2866), SPIKP8(1)) - EQUIVALENCE ( WK(3053), SPIKP9(1)), ( WK(3196), SPIKP0(1)) - EQUIVALENCE ( WK(3365), SPKPV(1)), ( WK(3508), SAPPEL(1)) - EQUIVALENCE ( WK(3613), SPIKPE(1)), ( WK(4012), SAPNEL(1)) - EQUIVALENCE ( WK(4096), SPIKPZ(1)), ( WK(4369), SANPEL(1)) - EQUIVALENCE ( WK(4453), SPIKPF(1)), ( WK(4726), SPKP15(1)) - EQUIVALENCE ( WK(4913), SPKP16(1)) - EQUIVALENCE (NRK(1,1), NRKLIN(1)) - EQUIVALENCE (NRKLIN( 1), NRKPI(1)), (NRKLIN( 165), NRKKC(1)) - EQUIVALENCE (NRKLIN( 297), NRKP(1)), (NRKLIN( 367), NRKN(1)) - EQUIVALENCE (NRKLIN( 483), NRKK0(1)) - EQUIVALENCE (NURE(1,1), NURELN(1)) -* - DIMENSION UMOPI1(92), UMOKC1(68), UMOP1(39), UMON1(63), - & UMOK01(34), PLAPI1(92), PLAKC1(68), PLAP1(39), PLAN1(63), - & PLAK01(34), SIIN1(296), - & SPKP11(315), SPKPU1(278), CPKPV1(372), - & SPKPW1(278), SPKPX1(372), SPKP41(315), - & SPKP51(187), SPKP61(289), - & SKMPL1(102), SPKP71(289), SKMNL1(68), SPKP81(187), - & SPKP91(143), SPKP01(169), SPKPV1(143), - & SAPPL1(105), SPKPE1(399), SAPNL1(84), SPKPZ1(273), - & SANPL1(84) , SPKPF1(273), - & CPKP51(187), CPKP61(272), - & NRKPI1(164), NRKKC1(132), NRKP1(70), NRKN1(116), - & NRKK01(54), NURE1(60) -* -**** pi- p data * -**** pi+ n data * - DATA PLAPI1/ 0.D0, .3D0, .5D0, .6D0, .7D0, .8D0, .9D0, .95D0,1.D0, - & 1.15D0, 1.3D0, 1.5D0, 1.6D0, 1.8D0, 2.D0, 2.3D0, 2.5D0, 2.8D0, - & 3.D0, 3.5D0, 4.D0, 0.D0, .285D0, .4D0, .45D0, .5D0, .6D0, .7D0, - & .75D0, .8D0, .85D0, .9D0, 1.D0, 1.15D0, 1.3D0, 1.5D0, 1.6D0, - & 1.8D0, 2.D0, 2.3D0, 2.5D0, 2.8D0, 3.D0, 3.5D0, 4.D0, 4.5D0, 0.D0, - & .285D0, .4D0, .45D0, .5D0, .6D0, .7D0, .75D0, .8D0, .85D0, .9D0, - & 1.D0, 1.15D0, 1.3D0, 1.5D0, 1.6D0, 1.8D0, 2.D0, 2.3D0, 2.5D0, - & 2.8D0, 3.D0, 3.5D0, 4.D0, 4.5D0, 0.D0, .3D0, .5D0, .6D0, .7D0, - & .8D0, .9D0, .95D0, 1.D0, 1.15D0, 1.3D0, 1.5D0, 1.6D0, 1.8D0, - & 2.D0, 2.3D0, 2.5D0, 2.8D0, 3.D0, 3.5D0, 4.D0 / - DATA PLAKC1/ - & 0.D0, .58D0, .8D0, 1.01D0, 1.23D0, 1.45D0, 1.68D0, 1.94D0, - & 2.18D0, 2.42D0, 2.68D0, 2.96D0, 3.24D0, - & 3.51D0, 3.84D0, 4.16D0, 4.49D0, - & 0.D0, .58D0, .8D0, 1.01D0, 1.23D0, 1.45D0, 1.68D0, 1.94D0, - & 2.18D0, 2.42D0, 2.68D0, 2.96D0, 3.24D0, - & 3.51D0, 3.84D0, 4.16D0, 4.49D0, - & 0.D0, .58D0, .8D0, 1.01D0, 1.23D0, 1.45D0, 1.68D0, 1.94D0, - & 2.18D0, 2.42D0, 2.68D0, 2.96D0, 3.24D0, - & 3.51D0, 3.84D0, 4.16D0, 4.49D0, - & 0.D0, .58D0, .8D0, 1.01D0, 1.23D0, 1.45D0, 1.68D0, 1.94D0, - & 2.18D0, 2.42D0, 2.68D0, 2.96D0, 3.24D0, - & 3.51D0, 3.84D0, 4.16D0, 4.49D0/ - DATA PLAK01/ - & 0.D0, .58D0, .8D0, 1.01D0, 1.23D0, 1.45D0, 1.68D0, 1.94D0, - & 2.18D0, 2.42D0, 2.68D0, 2.96D0, 3.24D0, - & 3.51D0, 3.84D0, 4.16D0, 4.49D0, - & 0.D0, .58D0, .8D0, 1.01D0, 1.23D0, 1.45D0, 1.68D0, 1.94D0, - & 2.18D0, 2.42D0, 2.68D0, 2.96D0, 3.24D0, - & 3.51D0, 3.84D0, 4.16D0, 4.49D0/ -* pp pn np nn * - DATA PLAP1/ - & 0.D0, 1.06D0, 1.34D0, 1.63D0, 1.92D0, 2.2D0, 2.5D0,2.8D0,3.1D0, - & 3.43D0, 3.75D0, 4.07D0, 4.43D0, - & 0.D0, 1.06D0, 1.34D0, 1.63D0, 1.92D0, 2.2D0, 2.5D0,2.8D0,3.1D0, - & 3.43D0, 3.75D0, 4.07D0, 4.43D0, - & 0.D0, 1.06D0, 1.34D0, 1.63D0, 1.92D0, 2.2D0, 2.5D0,2.8D0,3.1D0, - & 3.43D0, 3.75D0, 4.07D0, 4.43D0 / -* app apn anp ann * - DATA PLAN1/ - & 0.D0, 1.D-3, .1D0, .2D0, .3D0, .4D0, .5D0, .6D0, - & .74D0, 1.06D0, 1.34D0, 1.63D0, 1.92D0, 2.2D0, 2.5D0,2.8D0,3.1D0, - & 3.43D0, 3.75D0, 4.07D0, 4.43D0, - & 0.D0, 1.D-3, .1D0, .2D0, .3D0, .4D0, .5D0, .6D0, - & .74D0, 1.06D0, 1.34D0, 1.63D0, 1.92D0, 2.2D0, 2.5D0,2.8D0,3.1D0, - & 3.43D0, 3.75D0, 4.07D0, 4.43D0, - & 0.D0, 1.D-3, .1D0, .2D0, .3D0, .4D0, .5D0, .6D0, - & .74D0, 1.06D0, 1.34D0, 1.63D0, 1.92D0, 2.2D0, 2.5D0,2.8D0,3.1D0, - & 3.43D0, 3.75D0, 4.07D0, 4.43D0 / - DATA SIIN1/ 296*0.D0 / - DATA UMOPI1/ 1.08D0,1.233D0,1.302D0,1.369D0,1.496D0, - & 1.557D0,1.615D0,1.6435D0, - & 1.672D0,1.753D0,1.831D0,1.930D0,1.978D0,2.071D0,2.159D0, - & 2.286D0,2.366D0,2.482D0,2.56D0, - & 2.735D0,2.90D0, - & 1.08D0,1.222D0,1.302D0,1.3365D0,1.369D0,1.434D0, - & 1.496D0,1.527D0,1.557D0, - & 1.586D0,1.615D0,1.672D0,1.753D0,1.831D0,1.930D0,1.978D0, - & 2.071D0,2.159D0,2.286D0,2.366D0, - & 2.482D0,2.560D0,2.735D0,2.90D0,3.06D0, - & 1.08D0,1.222D0,1.302D0,1.3365D0,1.369D0,1.434D0, - & 1.496D0,1.527D0,1.557D0, - & 1.586D0,1.615D0,1.672D0,1.753D0,1.831D0,1.930D0,1.978D0, - & 2.071D0,2.159D0,2.286D0,2.366D0, - & 2.482D0,2.560D0,2.735D0,2.90D0,3.06D0, - & 1.08D0,1.233D0,1.302D0,1.369D0,1.496D0, - & 1.557D0,1.615D0,1.6435D0, - & 1.672D0,1.753D0,1.831D0,1.930D0,1.978D0,2.071D0,2.159D0, - & 2.286D0,2.366D0,2.482D0,2.56D0, - & 2.735D0, 2.90D0/ - DATA UMOKC1/ 1.44D0, - & 1.598D0,1.7D0,1.8D0,1.9D0,2.0D0,2.1D0,2.2D0,2.3D0,2.4D0,2.5D0, - & 2.6D0,2.7D0,2.8D0,2.9D0,3.0D0, - & 3.1D0,1.44D0, - & 1.598D0,1.7D0,1.8D0,1.9D0,2.0D0,2.1D0,2.2D0,2.3D0,2.4D0,2.5D0, - & 2.6D0,2.7D0,2.8D0,2.9D0,3.0D0, - & 3.1D0,1.44D0, - & 1.598D0,1.7D0,1.8D0,1.9D0,2.0D0,2.1D0,2.2D0,2.3D0,2.4D0,2.5D0, - & 2.6D0,2.7D0,2.8D0,2.9D0,3.0D0, - & 3.1D0,1.44D0, - & 1.598D0,1.7D0,1.8D0,1.9D0,2.0D0,2.1D0,2.2D0,2.3D0,2.4D0,2.5D0, - & 2.6D0,2.7D0,2.8D0,2.9D0,3.0D0, - & 3.1D0/ - DATA UMOK01/ 1.44D0, - & 1.598D0,1.7D0,1.8D0,1.9D0,2.0D0,2.1D0,2.2D0,2.3D0,2.4D0,2.5D0, - & 2.6D0,2.7D0,2.8D0,2.9D0,3.0D0, - & 3.1D0,1.44D0, - & 1.598D0,1.7D0,1.8D0,1.9D0,2.0D0,2.1D0,2.2D0,2.3D0,2.4D0,2.5D0, - & 2.6D0,2.7D0,2.8D0,2.9D0,3.0D0, - & 3.1D0/ -* pp pn np nn * - DATA UMOP1/ - & 1.88D0,2.102D0,2.2D0,2.3D0,2.4D0,2.5D0,2.6D0,2.7D0,2.8D0,2.9D0, - & 3.D0,3.1D0,3.2D0, - & 1.88D0,2.102D0,2.2D0,2.3D0,2.4D0,2.5D0,2.6D0,2.7D0,2.8D0,2.9D0, - & 3.D0,3.1D0,3.2D0, - & 1.88D0,2.102D0,2.2D0,2.3D0,2.4D0,2.5D0,2.6D0,2.7D0,2.8D0,2.9D0, - & 3.D0,3.1D0,3.2D0/ -* app apn anp ann * - DATA UMON1 / - & 1.877D0,1.87701D0,1.879D0,1.887D0,1.9D0,1.917D0,1.938D0,1.962D0, - & 2.D0,2.102D0,2.2D0,2.3D0,2.4D0,2.5D0,2.6D0,2.7D0,2.8D0,2.9D0, - & 3.D0,3.1D0,3.2D0, - & 1.877D0,1.87701D0,1.879D0,1.887D0,1.9D0,1.917D0,1.938D0,1.962D0, - & 2.D0,2.102D0,2.2D0,2.3D0,2.4D0,2.5D0,2.6D0,2.7D0,2.8D0,2.9D0, - & 3.D0,3.1D0,3.2D0, - & 1.877D0,1.87701D0,1.879D0,1.887D0,1.9D0,1.917D0,1.938D0,1.962D0, - & 2.D0,2.102D0,2.2D0,2.3D0,2.4D0,2.5D0,2.6D0,2.7D0,2.8D0,2.9D0, - & 3.D0,3.1D0,3.2D0/ -**** reaction channel state particles * - DATA NRKPI1/ 13, 1, 15, 21, 81, 0, 13, 54, 23, 53, 13, 63, 13, 58, - & 23, 57, 13, 65, 1, 32, 53, 31, 54, 32, 53, 33, 53, 35, 63, 32, - & 13, 8, 23, 1, 17, 15, 21, 24, 22, 15, 82, 0, 61, 0, 13, 55, 23, - & 54, 14, 53, 13, 64, 23, 63, 13, 59, 23, 58, 14, 57, 13, 66, 23, - & 65, 1, 31, 8, 32, 1, 33, 1, 35, 54, 31, 55, 32, 54, 33, 53, 34, - & 54, 35, 14, 1, 23, 8, 17, 24, 20, 15, 22, 24, 83, 0, 62, 0, 14, - & 54, 23, 55, 13, 56, 14, 63, 23, 64, 14, 58, 23, 59, 13, 60, 14, - & 65, 23, 66, 8, 31, 1, 34, 8, 33, 8, 35, 55, 31, 54, 34, 55, 33, - & 56, 32, 55, 35, 14, 8, 24, 20, 84, 0, 14, 55, 23, 56, 14, 64, 14, - & 59, 23, 60, 14, 66, 8, 34, 56, 31, 55, 34, 56, 33, 56, 35, 64,34/ - DATA NRKKC1/15, 1, 89, 0, 24, 53, 15, 54, 1, 36, 1, 40, 1, 44, 36, - & 63, 15, 63, 45, 53, 44, 54, 15, 8, 24, 1, 91, 0, 24, 54, 15, 55, - & 8, 36, 1, 37, 8, 40, 1, 41, 8, 44, 1, 45, 36, 64, 37, 63, 15, 64, - & 24, 63, 45, 54, 44, 55, 16, 1, 25, 8, 17, 23, 21, 14, 20, - & 13, 22, 23, 90, 0, 38, 1, 39, 8, 16, 54, 25, 55, 1, 42, 8, 43, - & 16, 63, 25, 64, 39, 64, 38, 63, 46, 54, 47, 55, 8, 47, 1, 46, 52, - & 0, 51, 0, 16, 8, 17, 14, 20, 23, 22, 14, 92, 0, 8, 38, 16, 55, - & 25, 56, 8, 42, 16, 64, 38, 64, 46, 55, 47, 56, 8, 46, 94, 0 / -* * -* k0 p k0 n ak0 p ak/ n * -* * - DATA NRKK01/ 24, 8, 106, 0, 15, 56, 24, 55, 37, 8, 41, 8, 45, 8, - & 37, 64, 24, 64, 44, 56, 45, 55, 25, 1, 17, 13, 22, 13, 21, 23, - & 107, 0, 39, 1, 25, 54, 16, 53, 43, 1, 25, 63, 39, 63, 47, 54, 46, - & 53, 47, 1, 103, 0, 93, 0/ -* pp pn np nn * - DATA NRKP1/ 1, 1, 85, 0, 8, 53, 1, 54, 1, 63, 8, 57, 1, 58, 2*54, - & 53, 55, 63, 54, 64, 53, 1, 8, 86, 0, 8, 54, 1, 55, 8, 63, 1, 64, - & 8, 58, 1, 59, 64, 54, 63, 55, 54, 55, 53, 56, 77, 0, 2*8, 95, 0, - & 8, 55, 1, 56, 8, 64, 8, 59, 1, 60, 2*55, 54, 56, 64, 55, 63, 56 / -* app apn anp ann * - DATA NRKN1/ 1, 2, 17, 18, 15, 16, 8, 9, 13, 14, 99, 0, 87, 0, 1, - & 68, 8, 69, 2, 54, 9, 55, 102, 0, 2, 63, 9, 64, 1, 75, 8, 76, 53, - & 67, 54, 68, 55, 69, 56, 70, 63, 68, 64, 69, 75, 54, 76, 55, 2, 8, - & 18, 20, 16, 24, 14, 23, 101, 0, 88, 0, 2, 55, 9, 56, 1, 67, 8, - & 68, 2, 64, 8, 75, 2, 59, 8, 72, 68, 55, 67, 54, 69, 56, 1, 9, 18, - & 21, 15, 25, 13, 23, 100, 0, 96, 0, 2, 53, 9, 54, 1, 69, 8, 70, 1, - & 76, 9, 63, 1, 73, 9, 58, 55, 70, 53, 68, 54, 69 / -**** channel cross section * - DATA SPKP11/ 0.D0, 300.D0, 40.D0, 20.D0, 13.D0,8.5D0,8.D0, 9.5D0, - & 12.D0,14.D0,15.5D0,20.D0,17.D0,13.D0,10.D0,9.D0,8.5D0,8.D0,7.8D0, - & 7.3D0, 6.7D0, 9*0.D0,.23D0,.35D0,.7D0,.52D0,.4D0,.3D0,.2D0,.15D0, - & .13D0, .11D0, .09D0, .07D0, 0.D0, .033D0,.8D0,1.35D0,1.35D0,.5D0, - & 15*0.D0, 3*0.D0,.00D0,0.80D0,2.2D0,3.6D0,4.6D0,4.7D0,3.5D0,2.4D0, - &1.8D0,1.4D0,.75D0,.47D0,.25D0,.13D0,.08D0,6*0.D0,0.D0,1.2D0,3.3D0, - & 5.4D0,6.9D0,7.3D0,5.3D0,3.6D0,2.7D0,2.2D0,1.1D0,.73D0,.4D0,.22D0, - & .12D0,9*0.D0,.0D0,0.D0,2.0D0,4.4D0,6.8D0,9.9D0,7.9D0,6.0D0,3.8D0, - &2.5D0,2.D0,1.4D0,1.D0,.6D0,.35D0,10*0.D0,.25D0,.55D0,.75D0,1.25D0, - & 1.9D0,2.D0,1.8D0,1.5D0,1.25D0,1.D0,.8D0,6*0.D0,4*0.D0,.4D0,.85D0, - & 1.1D0, 1.85D0, 2.8D0, 3.D0,2.7D0,2.2D0,1.85D0,1.5D0,1.2D0,6*0.D0, - & 6*0.D0, .5D0, 1.2D0, 1.7D0, 3.4D0, 5.2D0, 6.4D0, 6.1D0, 5.6D0, - & 5.2D0, 6*0.D0, 2*0.D0, .0D0, 1.D0, 3.3D0, 5.2D0, 4.45D0, 3.6D0, - & 2.75D0, 1.9D0, 1.65D0, 1.3D0, .95D0, .6D0, .45D0, 6*0.D0, 3*0.D0, - & .0D0, .45D0, 1.4D0, 1.5D0, 1.1D0, .85D0, .5D0, .3D0, .2D0, .15D0, - & 8*0.D0, 5*0.D0, .0D0, .0D0, .6D0, .8D0, .95D0, .8D0, .7D0, .6D0, - & .5D0, .4D0, 6*0.D0, 5*0.D0, .0D0, .00D0, .85D0, 1.2D0, 1.4D0, - & 1.2D0, 1.05D0, .9D0, .7D0, .55D0, 6*0.D0, 5*0.D0, .0D0, .00D0, - & 1.D0, 1.5D0, 3.5D0, 4.15D0, 3.7D0, 2.7D0, 2.3D0, 1.75D0, 6*0.D0, - & 10*0.D0, .5D0, 2.0D0, 3.3D0, 5.4D0, 7.D0 / -**** pi+ n data * - DATA SPKPU1/ 0.D0, 25.D0, 13.D0, 11.D0, 10.5D0, 14.D0, 20.D0, - & 20.D0, 16.D0, 14.D0, 19.D0, 28.D0, 17.5D0, 13.5D0, 12.D0, 10.5D0, - & 10.D0, 10.D0, 9.5D0, 9.D0, 8.D0, 7.5D0, 7.D0, 6.5D0, 6.D0, 0.D0, - & 48.D0, 19.D0, 15.D0, 11.5D0, 10.D0, 8.D0, 6.5D0, 5.5D0, 4.8D0, - & 4.2D0, 7.5D0, 3.4D0, 2.5D0, 2.5D0, 2.1D0, 1.4D0, 1.D0, .8D0, - & .6D0, .46D0, .3D0, .2D0, .15D0, .13D0, 11*0.D0, .95D0, .65D0, - & .48D0, .35D0, .2D0, .18D0, .17D0, .16D0, .15D0, .1D0, .09D0, - & .065D0, .05D0, .04D0, 12*0.D0, .2D0, .25D0, .25D0, .2D0, .1D0, - & .08D0, .06D0, .045D0, .03D0, .02D0, .01D0, .005D0, .003D0, - & 12*0.D0, .3D0, .24D0, .18D0, .15D0, .13D0, .12D0, .11D0, .1D0, - & .09D0, .08D0, .05D0, .04D0, .03D0, 0.D0, 0.16D0, .7D0, 1.3D0, - & 3.1D0, 4.5D0, 2.D0, 18*0.D0, 3*.0D0, 0.D0, 0.D0, 4.0D0, 11.D0, - & 11.4D0, 10.3D0, 7.5D0, 6.8D0, 4.75D0, 2.5D0, 1.5D0, .9D0, .55D0, - & .35D0, 13*0.D0, .1D0, .34D0, .5D0, .8D0, 1.1D0, 2.25D0, 3.3D0, - & 2.3D0, 1.6D0, .95D0, .45D0, .28D0, .15D0, 10*0.D0, 2*0.D0, .17D0, - & .64D0, 1.D0, 1.5D0, 2.1D0, 4.25D0, 6.2D0, 4.4D0, 3.D0, 1.8D0, - & .9D0, .53D0, .28D0, 10*0.D0, 2*0.D0, .25D0, .82D0, - & 1.3D0, 1.9D0, 2.8D0, 5.5D0 , 8.D0, 5.7D0, 3.9D0, 2.35D0, 1.15D0, - & .69D0, .37D0, 10*0.D0, 7*0.D0, .0D0, .34D0, 1.5D0, 3.47D0, - & 5.87D0, 6.23D0, 4.27D0, 2.6D0, 1.D0, .6D0, .3D0, .15D0, 6*0.D0/ -* - DATA CPKPV1/ 7*0.D0, .00D0, .16D0, .75D0, 1.73D0, 2.93D0, 3.12D0, - & 2.13D0, 1.3D0, .5D0, .3D0, .15D0, .08D0, 6*0.D0, 10*0.D0, .2D0, - & .6D0, .92D0, 2.4D0, 4.9D0, 6.25D0, 5.25D0, 3.5D0, 2.15D0, 1.4D0, - & 1.D0, .7D0, 13*0.D0, .13D0, .4D0, .62D0, 1.6D0, 3.27D0, 4.17D0, - & 3.5D0, 2.33D0, 1.43D0, .93D0, .66D0, .47D0, 13*0.D0, .07D0, .2D0, - & .31D0, .8D0, 1.63D0, 2.08D0, 1.75D0, 1.17D0, .72D0, .47D0, .34D0, - & .23D0, 17*0.D0, .33D0, 1.D0, 1.8D0, 2.67D0, 5.33D0, 6.D0, 5.53D0, - & 5.D0, 17*0.D0, .17D0, .5D0, .9D0, 1.83D0, 2.67D0, 3.0D0, 2.77D0, - & 2.5D0, 3*0.D0, 3*0.D0, 1.D0, 3.3D0, 2.8D0, 2.5D0, 2.3D0, 1.8D0, - & 1.5D0, 1.1D0, .8D0, .7D0, .55D0, .3D0, 10*0.D0, 9*0.D0, .1D0, - & .4D0, 1.D0, 1.4D0, 2.2D0, 2.5D0, 2.2D0, 1.65D0, 1.35D0, 1.1D0, - & .8D0, .6D0, .4D0, 12*0.D0, .15D0, .6D0, 1.5D0, 2.1D0, 3.3D0, - & 3.8D0, 3.3D0, 2.45D0, 2.05D0, 1.65D0, 1.2D0, .9D0, .6D0, 3*0.D0, - & 9*0.D0, .10D0, .2D0, .5D0, .7D0, 1.3D0, 1.55D0, 1.9D0, 1.8D0, - & 1.55D0, 1.35D0, 1.15D0, .95D0, .7D0, 13*0.D0, .2D0, .5D0, .7D0, - & 1.3D0, 1.55D0, 1.9D0, 1.8D0, 1.55D0, 1.35D0, 1.15D0, .95D0, .7D0, - & 17*0.D0, .2D0, .5D0, .85D0, 2.D0, 2.15D0, 2.05D0, 1.75D0, 1.D0, - & 17*0.D0, .13D0, .33D0, .57D0, 1.33D0, 1.43D0, 1.36D0, 1.17D0, - & .67D0, 17*0.D0, .07D0, .17D0, .28D0, .67D0, .72D0, .69D0, .58D0, - & .33D0,17*0.D0,.4D0, .7D0, 1.D0, 1.6D0, 1.8D0, 2.3D0,1.9D0,1.7D0 / -**** pi- p data * - DATA SPKPW1/ 0.D0, 25.D0, 13.D0, 11.D0, 10.5D0, 14.D0, 2*20.D0, - & 16.D0, 14.D0, 19.D0, 28.D0, 17.5D0, 13.5D0, 12.D0, 10.5D0, - & 2*10.D0, 9.5D0, 9.D0, 8.D0, 7.5D0, 7.D0, 6.5D0, 6.D0, 0.D0, - & 48.D0, 19.D0, 15.D0, 11.5D0, 10.D0, 8.D0, 6.5D0, 5.5D0, 4.8D0, - & 4.2D0, 7.5D0, 3.4D0, 2*2.5D0, 2.1D0, 1.4D0, 1.D0, .8D0, .6D0, - & .46D0, .3D0, .2D0, .15D0, .13D0, 11*0.D0, .95D0, .65D0, .48D0, - & .35D0, .2D0, .18D0, .17D0, .16D0, .15D0, .1D0, .09D0, .065D0, - & .05D0, .04D0, 12*0.D0, .2D0, 2*.25D0, .2D0, .1D0, .08D0, .06D0, - & .045D0, .03D0, .02D0, .01D0, .005D0, .003D0, 12*0.D0, .3D0, - & .24D0, .18D0, .15D0, .13D0, .12D0, .11D0, .1D0, .09D0, .08D0, - & .05D0, .04D0, .03D0, 0.D0, 0.16D0, .7D0, 1.3D0, 3.1D0, 4.5D0, - & 2.D0, 23*0.D0, 4.0D0, 11.D0, 11.4D0, 10.3D0, 7.5D0, 6.8D0, - & 4.75D0, 2.5D0, 1.5D0, .9D0, .55D0, .35D0, 13*0.D0, .1D0, .34D0, - & .5D0, .8D0, 1.1D0, 2.25D0, 3.3D0, 2.3D0, 1.6D0, .95D0, .45D0, - & .28D0, .15D0, 12*0.D0, .17D0, .64D0, 1.D0, 1.5D0, 2.1D0, 4.25D0, - & 6.2D0, 4.4D0, 3.D0, 1.8D0, .9D0, .53D0, .28D0, 12*0.D0, .25D0, - & .82D0, 1.3D0, 1.9D0, 2.8D0, 5.5D0, 8.D0, 5.7D0, 3.9D0, 2.35D0, - & 1.15D0, .69D0, .37D0, 18*0.D0, .34D0, 1.5D0, 3.47D0, 5.87D0, - & 6.23D0, 4.27D0, 2.6D0, 1.D0, .6D0, .3D0, .15D0, 6*0.D0/ -* - DATA SPKPX1/ 8*0.D0, .16D0, .75D0, 1.73D0, 2.93D0, 3.12D0, - & 2.13D0, 1.3D0, .5D0, .3D0, .15D0, .08D0, 16*0.D0, .2D0, .6D0, - & .92D0, 2.4D0, 4.9D0, 6.25D0, 5.25D0, 3.5D0, 2.15D0, 1.4D0, 1.D0, - & .7D0, 13*0.D0, .13D0, .4D0, .62D0, 1.6D0, 3.27D0, 4.17D0, 3.5D0, - & 2.33D0, 1.43D0, .93D0, .66D0, .47D0, 13*0.D0, .07D0, .2D0, .31D0, - & .8D0, 1.63D0, 2.08D0, 1.75D0, 1.17D0, .72D0, .47D0, .34D0, .23D0, - & 17*0.D0, .33D0, 1.D0, 1.8D0, 2.67D0, 5.33D0, 6.D0, 5.53D0, 5.D0, - & 17*0.D0, .17D0, .5D0, .9D0, 1.83D0, 2.67D0, 3.0D0, 2.77D0, 2.5D0, - & 6*0.D0, 1.D0, 3.3D0, 2.8D0, 2.5D0, 2.3D0, 1.8D0, 1.5D0, 1.1D0, - & .8D0, .7D0, .55D0, .3D0, 19*0.D0, .1D0, .4D0, 1.D0, 1.4D0, 2.2D0, - & 2.5D0, 2.2D0, 1.65D0, 1.35D0, 1.1D0, .8D0, .6D0, .4D0, 12*0.D0, - & .15D0, .6D0, 1.5D0, 2.1D0, 3.3D0, 3.8D0, 3.3D0, 2.45D0, 2.05D0, - & 1.65D0, 1.2D0, .9D0, .6D0, 12*0.D0, .10D0, .2D0, .5D0, .7D0, - & 1.3D0, 1.55D0, 1.9D0, 1.8D0, 1.55D0, 1.35D0, 1.15D0, .95D0, .7D0, - & 13*0.D0, .2D0, .5D0, .7D0, 1.3D0, 1.55D0, 1.9D0, 1.8D0, 1.55D0, - & 1.35D0, 1.15D0, .95D0, .7D0, 17*0.D0, .2D0, .5D0, .85D0, 2.D0, - & 2.15D0, 2.05D0, 1.75D0, 1.D0, 17*0.D0, .13D0, .33D0, .57D0, - & 1.33D0, 1.43D0, 1.36D0, 1.17D0, .67D0, 17*0.D0, .07D0, .17D0, - & .28D0, .67D0, .72D0, .69D0, .58D0, .33D0, 17*0.D0, .4D0, .7D0, - & 1.D0, 1.6D0, 1.8D0, 2.3D0, 1.9D0, 1.7D0 / -**** pi- n data * - DATA SPKP41 / 0.D0, 300.D0, 40.D0, 20.D0, 13.D0, 8.5D0, 8.D0, - & 9.5D0, 12.D0, 14.D0, 15.5D0, 20.D0, 17.D0, 13.D0, 10.D0, 9.D0, - & 8.5D0, 8.D0, 7.8D0, 7.3D0, 6.7D0, 9*0.D0, .23D0, .35D0, .7D0, - & .52D0, .4D0, .3D0, .2D0, .15D0, .13D0, .11D0, .09D0, .07D0, 0.D0, - & .033D0, .8D0, 2*1.35D0, .5D0, 19*0.D0, 0.8D0, 2.2D0, 3.6D0, - & 4.6D0, 4.7D0, 3.5D0, 2.4D0, 1.8D0, 1.4D0, .75D0, .47D0, .25D0, - & .13D0, .08D0, 7*0.D0, 1.2D0, 3.3D0, 5.4D0, 6.9D0, 7.3D0, 5.3D0, - & 3.6D0, 2.7D0, 2.2D0, 1.1D0, .73D0, .4D0, .22D0, .12D0, 11*0.D0, - & 2.0D0, 4.4D0, 6.8D0, 9.9D0, 7.9D0, 6.0D0, 3.8D0, 2.5D0, 2.D0, - & 1.4D0, 1.D0, .6D0, .35D0, 10*0.D0, .25D0, .55D0, .75D0, 1.25D0, - & 1.9D0, 2.D0, 1.8D0, 1.5D0, 1.25D0, 1.D0, .8D0, 10*0.D0, .4D0, - & .85D0, 1.1D0, 1.85D0, 2.8D0, 3.D0, 2.7D0, 2.2D0, 1.85D0, 1.5D0, - & 1.2D0, 12*0.D0, .5D0, 1.2D0, 1.7D0, 3.4D0, 5.2D0, 6.4D0, 6.1D0, - & 5.6D0, 5.2D0, 9*0.D0, 1.D0, 3.3D0, 5.2D0, 4.45D0, 3.6D0, 2.75D0, - & 1.9D0, 1.65D0, 1.3D0, .95D0, .6D0, .45D0, 10*0.D0, .45D0, 1.4D0, - & 1.5D0, 1.1D0, .85D0, .5D0, .3D0, .2D0, .15D0, 15*0.D0, .6D0, - & .8D0, .95D0, .8D0, .7D0, .6D0, .5D0, .4D0, 13*0.D0, .85D0, 1.2D0, - & 1.4D0, 1.2D0, 1.05D0, .9D0, .7D0, .55D0, 13*0.D0, 1.D0, 1.5D0, - & 3.5D0, 4.15D0, 3.7D0, 2.7D0, 2.3D0, 1.75D0, 16*0.D0, .5D0, 2.0D0, - & 3.3D0, 5.4D0, 7.D0 / -**** k+ p data * - DATA SPKP51/ 0.D0, 20.D0, 14.D0, 12.D0, 11.5D0, 10.D0, 8.D0, - & 7.D0, 6.D0, 5.5D0, 5.3D0, 5.D0, 4.5D0, 4.4D0, 3.8D0, 3.D0, 2.8D0, - & 0.D0, .5D0, 1.15D0, 2.D0, 1.3D0, .8D0, .45D0, 13*0.D0, 0.9D0, - & 2.5D0, 3.D0, 2.5D0, 2.3D0, 2.D0, 1.7D0, 1.5D0, 1.2D0, .9D0, .6D0, - & .45D0, .21D0, .2D0, 3*0.D0, .9D0, 2.5D0, 3.D0, 2.5D0, 2.3D0, - & 2.D0, 1.7D0, 1.5D0, 1.2D0, .9D0, .6D0, .45D0, .21D0, .2D0, - & 4*0.D0, 1.D0, 2.1D0, 2.6D0, 2.3D0, 2.1D0, 1.8D0, 1.7D0, 1.4D0, - & 1.2D0, 1.05D0, .9D0, .66D0, .5D0, 7*0.D0, .3D0, 2*1.D0, .9D0, - & .7D0, .4D0, .3D0, .2D0, 11*0.D0, .1D0, 1.D0, 2.2D0, 3.5D0, 4.2D0, - & 4.55D0, 4.85D0, 4.9D0, 10*0.D0, .2D0, .7D0, 1.6D0, 2.5D0, 2.2D0, - & 1.71D0, 1.6D0, 6*0.D0, 1.4D0, 3.8D0, 5.D0, 4.7D0, 4.4D0, 4.D0, - & 3.5D0, 2.85D0, 2.35D0, 2.01D0, 1.8D0, 12*0.D0, .1D0, .8D0,2.05D0, - & 3.31D0, 3.5D0, 12*0.D0, .034D0, .2D0, .75D0, 1.04D0, 1.24D0 / -**** k+ n data * - DATA SPKP61/ 0.D0, 6.D0, 11.D0, 13.D0, 6.D0, 5.D0, 3.D0, 2.2D0, - & 1.5D0, 1.2D0, 1.D0, .7D0, .6D0, .5D0, .45D0, .35D0, .3D0, 0.D0, - & 6.D0, 11.D0, 13.D0, 6.D0, 5.D0, 3.D0, 2.2D0, 1.5D0, 1.2D0, 1.D0, - & .7D0, .6D0, .5D0, .45D0, .35D0, .3D0, 0.D0, .5D0, 1.3D0, 2.8D0, - & 2.3D0, 1.6D0, .9D0, 13*0.D0, 0.9D0, 2.5D0, 3.D0, 2.5D0, 2.3D0, - & 2.D0, 1.7D0, 1.5D0,1.2D0,.9D0,.6D0,.45D0,.21D0,.2D0,3*0.D0,0.9D0, - & 2.5D0, 3.D0, 2.5D0, 2.3D0,2.D0,1.7D0,1.5D0,1.2D0,.9D0,.6D0,.45D0, - & .21D0, .2D0,4*0.D0,1.D0,2.1D0,2.6D0,2.3D0,2.D0,1.8D0,1.7D0,1.4D0, - & 1.2D0,1.15D0,.9D0,.66D0,.5D0,4*0.D0,1.D0,2.1D0,2.6D0,2.3D0,2.1D0, - & 1.8D0,1.7D0,1.4D0,1.2D0, 1.15D0, .9D0, .66D0, .5D0, 7*0.D0, .3D0, - & 2*1.D0, .9D0, .7D0, .4D0, .35D0, .2D0, 9*0.D0, .3D0, 2*1.D0,.9D0, - & .7D0, .4D0, .35D0, .2D0, 11*0.D0, .1D0, 1.D0, 2.4D0,3.5D0,4.25D0, - & 4.55D0, 4.85D0, 4.9D0, 9*0.D0, .1D0, 1.D0, 2.4D0, 3.5D0, 4.25D0, - & 4.55D0, 4.85D0, 4.9D0, 10*0.D0, .2D0, .7D0, 1.6D0, 2.5D0, 2.2D0, - & 1.71D0, 1.6D0, 10*0.D0, .2D0, .7D0, 1.6D0, 2.5D0, 2.2D0, 1.71D0, - & 1.6D0, 6*0.D0, 1.4D0, 3.8D0, 5.D0, 4.7D0,4.4D0,4.D0,3.5D0,2.85D0, - & 2.35D0, 2.01D0, 1.8D0, 6*0.D0, 1.4D0,3.8D0,5.D0,4.7D0,4.4D0,4.D0, - & 3.5D0,2.85D0,2.35D0,2.01D0,1.8D0,12*0.D0,.1D0,.8D0,2.05D0,3.31D0, - & 3.5D0, 12*0.D0, .034D0,.2D0,.75D0,1.04D0,1.24D0 / -**** k- p data * - DATA SKMPL1/ 0.D0, 35.D0, 22.D0, 25.D0, 17.D0, 9.D0, 9.5D0, 8.D0, - & 7.D0, 6.5D0, 6.1D0, 5.D0, 4.8D0, 4.6D0, 4.45D0, 4.3D0, 4.2D0, - & 0.D0, 8.D0, 3.5D0, 8.D0, 3.D0, 1.9D0, 1.7D0, 1.D0, .9D0, .8D0, - & .75D0, .5D0, .42D0, .38D0, .34D0, .25D0, .2D0, - & 0.D0, 3.D0, 3.2D0, 3.5D0, 1.5D0, 1.4D0, 1.1D0, .6D0, .5D0, - & .35D0, .28D0, .25D0, .18D0, .12D0, .1D0, .08D0, .04D0, - & 0.D0, 8.5D0, 2.4D0, 1.7D0, 1.3D0, 1.3D0, 1.1D0, .5D0, - & .4D0, .4D0, .35D0, .3D0, .28D0, .2D0, .16D0, .13D0, .11D0, - & 0.D0, 7.D0, 4.8D0, 1.4D0, 1.9D0, .9D0, .4D0, .2D0, .13D0, - & .1D0, .08D0, .06D0, .04D0, .02D0, .015D0, .01D0, .01D0, - & 0.D0, 5.5D0, 1.D0, .8D0, .75D0, .32D0, .2D0, .1D0, .09D0, - & .08D0, .065D0, .05D0, .04D0, .022D0, .017D0, 2*.01D0/ - DATA SPKP71 / 0.D0, .56D0, 1.46D0, 3.16D0, 2.01D0, 1.28D0, .74D0, - & 14*0.D0, 1.13D0, 2.61D0, 2.91D0, 2.58D0, 2.35D0, 2.02D0, - & 1.91D0, 1.57D0, 1.35D0, 1.29D0, 1.01D0, .74D0, .65D0, 4*0.D0, - & 1.13D0, 2.61D0, 2.91D0, 2.58D0, 2.35D0, 2.02D0, 1.91D0, 1.57D0, - & 1.35D0, 1.29D0, 1.01D0, .74D0, .65D0, 3*0.D0, 1.0D0, 3.03D0, - & 3.36D0, 2.8D0, 2.58D0, 2.24D0, 1.91D0, 1.68D0, 1.35D0, 1.01D0, - & .67D0, .5D0, .24D0, .23D0, 3*0.D0, 1.0D0, 3.03D0, 3.36D0, 2.8D0, - & 2.58D0, 2.24D0, 1.91D0, 1.68D0, 1.35D0, 1.01D0, .67D0, .5D0, - & .24D0, .23D0, 7*0.D0, .34D0, 1.12D0, 1.12D0, 1.01D0, .78D0, - & .45D0, .39D0, .22D0, .07D0, 0.D0, 7*0.D0, .34D0, 1.12D0, 1.12D0, - & 1.01D0, .78D0, .45D0, .39D0, .22D0, .07D0, 0.D0, 6*0.D0, 1.71D0, - & 4.26D0, 5.6D0, 5.57D0, 4.93D0, 4.48D0, 3.92D0, 3.19D0, 2.63D0, - & 2.25D0, 2.D0, 6*0.D0, 1.71D0, 4.26D0, 5.6D0, 5.57D0, 4.93D0, - & 4.48D0, 3.92D0, 3.19D0, 2.63D0, 2.25D0, 2.D0, 10*0.D0, .22D0, - & .8D0, .75D0, 1.D0, 1.3D0, 1.5D0, 1.3D0, 10*0.D0, .22D0, .8D0, - & .75D0, 1.D0, 1.3D0, 1.5D0, 1.3D0, 13*0.D0, .1D0, .3D0, .7D0,1.D0, - & 13*0.D0, .1D0, .3D0, .7D0, 1.D0, 9*0.D0, .11D0, 1.72D0, 2.69D0, - & 3.92D0, 4.76D0, 5.10D0, 5.44D0, 5.3D0, 9*0.D0, .11D0, 1.72D0, - & 2.69D0, 3.92D0, 4.76D0, 5.1D0, 5.44D0, 5.3D0, 5*0.D0,9.2D0,4.7D0, - & 1.9D0, 10*0.D0, 2.5D0, 15.D0, 21.5D0, 15.3D0, 3.D0,1.5D0,10*0.D0/ -***** k- n data * - DATA SKMNL1/0.D0, 4.D0, 9.5D0, 20.D0, 13.D0, 9.5D0, 6.D0, 4.4D0, - & 3.D0, 2.4D0, 2.D0, 1.4D0, 1.2D0, 1.D0, .9D0, .7D0, .6D0, - & 0.D0, 4.5D0, 6.D0, 5.D0, 2.5D0, 2.D0, 1.7D0, 2.1D0, - & 1.9D0, .9D0, .5D0, .3D0, .24D0, .2D0, .18D0, .1D0, .09D0, - & 0.D0, 1.8D0, 2.D0, 1.1D0, .9D0, .5D0, .5D0, .4D0, .4D0, - & .2D0, .1D0, .06D0, .05D0, .04D0, .03D0, .02D0, .02D0, - & 0.D0, 1.5D0, 2.D0, .9D0, 1.1D0, .4D0, .6D0, .7D0, .65D0, - & .3D0, .17D0, .1D0, .08D0, .07D0, .06D0, .04D0, .03D0/ - DATA SPKP81/0.D0, .56D0, 1.29D0, 2.26D0, 1.01D0, .64D0, .37D0, - & 14*0.D0, 1.13D0, 2.61D0, 2.91D0, 2.58D0, 2.35D0, 2.02D0, - & 1.91D0, 1.57D0, 1.35D0, 1.29D0, 1.01D0, .74D0, .65D0, - & 3*0.D0, 1.D0, 3.03D0, 3.36D0, 2.8D0, 2.58D0, 2.24D0, - & 1.91D0, 1.68D0, 1.35D0, 1.01D0, .67D0, .5D0, .24D0, .23D0, - & 3*0.D0, 1.D0, 3.03D0, 3.36D0, 2.8D0, 2.58D0, 2.24D0, - & 1.91D0, 1.68D0, 1.35D0, 1.01D0, .67D0, .5D0, .24D0, .23D0, - & 7*0.D0, .34D0, 1.12D0, 1.12D0, 1.01D0, .78D0, .45D0, - & .39D0, .22D0, .07D0, 0.D0, - & 6*0.D0, 1.71D0, 4.26D0, 5.6D0, 5.57D0, 4.93D0, - & 4.48D0, 3.92D0, 3.19D0, 2.63D0, 2.25D0, 2.D0, - & 10*0.D0, .22D0, .8D0, .75D0, 1.D0, 1.3D0, 1.5D0, 1.3D0, - & 13*0.D0, .1D0, .3D0, .7D0, 1.D0, - & 13*0.D0, .1D0, .3D0, .7D0, 1.D0, - & 9*0.D0, .11D0, 1.72D0, 2.69D0, 3.92D0, 4.76D0, - & 5.10D0, 5.44D0, 5.3D0, - & 4*0.D0, 0.00D0, 9.2D0, 4.7D0, 1.9D0, 9*0.D0/ -***** p p data * - DATA SPKP91/ 0.D0, 24.D0, 25.D0, 27.D0, 23.D0, 21.D0, 20.D0, - & 19.D0, 17.D0, 15.5D0, 14.D0, 13.5D0, 13.D0, - & 0.D0, 3.6D0, 1.7D0, 10*0.D0, - & .0D0, 0.D0, 8.7D0, 17.7D0, 18.8D0, 15.9D0, - & 11.7D0, 8.D0, 6.D0, 5.3D0, 4.5D0, 3.9D0, 3.5D0, - & .0D0, .0D0, 2.8D0, 5.8D0, 6.2D0, 5.1D0, 3.8D0, - & 2.7D0, 2.1D0, 1.8D0, 1.5D0, 1.3D0, 1.1D0, - & 5*0.D0, 4.6D0, 10.2D0, 15.1D0, - & 16.9D0, 16.5D0, 11.D0, 5.5D0, 3.5D0, - & 10*0.D0, 4.3D0, 7.6D0, 9.D0, - & 10*0.D0, 1.7D0, 2.6D0, 3.D0, - & 6*0.D0, .3D0, .6D0, 1.D0, 1.6D0, 1.3D0, .8D0, .6D0, - & 6*0.D0, .7D0, 1.2D0, 1.8D0, 2.5D0, 1.8D0, 1.3D0, - & 1.2D0, 10*0.D0, .6D0, 1.4D0, 1.7D0, - & 10*0.D0, 1.9D0, 4.1D0, 5.2D0/ -***** p n data * - DATA SPKP01/ 0.D0, 24.D0, 25.D0, 27.D0, 23.D0, 21.D0, 20.D0, - & 19.D0, 17.D0, 15.5D0, 14.D0, 13.5D0, 13.D0, - & 0.D0, 1.8D0, .2D0, 12*0.D0, - & 3.2D0, 6.05D0, 9.9D0, 5.1D0, - & 3.8D0, 2.7D0, 1.9D0, 1.5D0, 1.4D0, 1.3D0, 1.1D0, - & 2*.0D0, 3.2D0, 6.05D0, 9.9D0, 5.1D0, - & 3.8D0, 2.7D0, 1.9D0, 1.5D0, 1.4D0, 1.3D0, 1.1D0, - & 5*0.D0, 4.6D0, 10.2D0, 15.1D0, - & 16.4D0, 15.2D0, 11.D0, 5.4D0, 3.5D0, - & 5*0.D0, 4.6D0, 10.2D0, 15.1D0, - & 16.4D0, 15.2D0, 11.D0, 5.4D0, 3.5D0, - & 10*0.D0, .7D0, 5.1D0, 8.D0, - & 10*0.D0, .7D0, 5.1D0, 8.D0, - & 10*.0D0, .3D0, 2.8D0, 4.7D0, - & 10*.0D0, .3D0, 2.8D0, 4.7D0, - & 7*0.D0, 1.2D0, 2.5D0, 3.5D0, 6.D0, 5.3D0, 2.9D0, - & 7*0.D0, 1.7D0, 3.6D0, 5.4D0, 9.D0, 7.6D0, 4.2D0, - & 5*0.D0, 7.7D0, 6.1D0, 2.9D0, 5*0.D0/ -* nn - data * -* * - DATA SPKPV1/ 0.D0, 24.D0, 25.D0, 27.D0, 23.D0, 21.D0, 20.D0, - & 19.D0, 17.D0, 15.5D0, 14.D0, 13.5D0, 13.D0, - & 0.D0, 3.6D0, 1.7D0, 12*0.D0, - & 8.7D0, 17.7D0, 18.8D0, 15.9D0, - & 11.7D0, 8.D0, 6.D0, 5.3D0, 4.5D0, 3.9D0, 3.5D0, - & .0D0, .0D0, 2.8D0, 5.8D0, 6.2D0, 5.1D0, 3.8D0, - & 2.7D0, 2.1D0, 1.8D0, 1.5D0, 1.3D0, 1.1D0, - & 5*0.D0, 4.6D0, 10.2D0, 15.1D0, 16.9D0, 16.5D0, - & 11.D0, 5.5D0, 3.5D0, - & 10*0.D0, 4.3D0, 7.6D0, 9.D0, - & 10*0.D0, 1.7D0, 2.6D0, 3.D0, - & 6*0.D0, .3D0, .6D0, 1.D0, 1.6D0, 1.3D0, .8D0, .6D0, - & 6*0.D0, .7D0, 1.2D0, 1.8D0, 2.5D0, 1.8D0, 1.3D0, - & 1.2D0, 10*0.D0, .6D0, 1.4D0, 1.7D0, - & 10*0.D0, 1.9D0, 4.1D0, 5.2D0/ -**************** ap - p - data * - DATA SAPPL1/ 0.D0, 176.D0, 160.D0, 105.D0, 75.D0, 68.D0, 65.D0, - & 50.D0, 50.D0, 43.D0, 42.D0, 40.5D0, 35.D0, 30.D0, 28.D0, - & 25.D0, 22.D0, 21.D0, 20.D0, 18.D0, 17.D0, 11*0.D0, - & .05D0, .15D0, .18D0, .2D0, .2D0, .3D0, .4D0, .6D0, .7D0, .85D0, - & 0.D0, 1.D0, .9D0, .46D0, .3D0, .23D0, .18D0, .16D0, .14D0, - & .1D0, .08D0, .05D0, .02D0, .015D0, 4*.011D0, 3*.005D0, - & 0.D0, 55.D0, 50.D0, 25.D0, 15.D0, 15.D0, 14.D0, 12.D0, - & 10.D0, 7.D0, 6.D0, 4.D0, 3.3D0, 2.8D0, 2.4D0, 2.D0, 1.8D0, - & 1.55D0, 1.3D0, .95D0, .75D0, - & 0.D0, 3.3D0, 3.D0, 1.5D0, 1.D0, .7D0, .4D0, .35D0, .4D0, - & .25D0, .18D0, .08D0, .04D0, .03D0, .023D0, .016D0, .014D0, - & .01D0, .008D0, .006D0, .005D0/ - DATA SPKPE1/0.D0, 215.D0, 193.D0, 170.D0, 148.D0, 113.D0, 97.D0, - & 84.D0, 78.D0, 68.D0, 64.D0, 61.D0, 46.D0, 36.D0, 31.3D0, 28.5D0, - & 25.7D0, 22.6D0, 21.4D0, 20.7D0, 19.9D0, - & 9*0.D0, 2.D0, 2.5D0, .2D0, 19*0.D0, .3D0, 1.4D0, 2.2D0, 1.2D0, - & 1.1D0, 1.D0, .8D0, .6D0, .5D0, .4D0, .3D0, 10*0.D0, .3D0, 1.4D0, - & 2.2D0, 1.2D0, 1.1D0, 1.D0, .8D0, .6D0, .5D0, .4D0, .3D0, 10*0.D0, - & .3D0, 1.4D0, 2.2D0, 1.2D0, 1.1D0, 1.D0, .8D0, .6D0, .5D0, .4D0, - & .3D0, 10*0.D0, .3D0, 1.4D0, 2.2D0, 1.2D0, 1.1D0, 1.D0, .8D0, - & .6D0, .5D0, .4D0, .3D0, 9*0.D0, .6D0, 2.5D0, 5.D0, 5.2D0, 5.1D0, - & 5.4D0, 5.8D0, 2.8D0, 2.1D0, 1.8D0, 1.6D0, 1.2D0, 13*0.D0, 1.3D0, - & 1.5D0, 2.D0, 2.5D0, 2.5D0, 2.3D0, 1.8D0, 1.4D0, 13*0.D0, 1.3D0, - & 1.5D0, 2.D0, 2.5D0, 2.5D0, 2.3D0, 1.8D0, 1.4D0, 13*0.D0, 1.3D0, - & 1.5D0, 2.D0, 2.5D0, 2.5D0, 2.3D0, 1.8D0, 1.4D0, 13*0.D0, 1.3D0, - & 1.5D0, 2.D0, 2.5D0, 2.5D0, 2.3D0, 1.8D0, 1.4D0, 14*0.D0, .2D0, - & .5D0, 1.1D0, 1.6D0, 1.4D0, 1.1D0, .9D0, 14*0.D0, .2D0, .5D0, - & 1.1D0, 1.6D0, 1.4D0, 1.1D0, .9D0, 14*0.D0, .2D0, .5D0, 1.1D0, - & 1.6D0, 1.4D0, 1.1D0, .9D0, 14*0.D0, .2D0, .5D0, 1.1D0, 1.6D0, - & 1.4D0, 1.1D0, .9D0, 17*0.D0, .3D0, 1.6D0, 2.6D0, 3.6D0, 17*0.D0, - & .3D0, 1.6D0, 2.6D0, 3.6D0, 17*0.D0, .3D0, 1.6D0, 2.6D0, - & 3.6D0, 17*0.D0, .3D0, 1.6D0, 2.6D0, 3.6D0 / -**************** ap - n - data * - DATA SAPNL1/ - & 0.D0, 176.D0, 160.D0, 105.D0, 75.D0, 68.D0, 65.D0, - & 50.D0, 50.D0, 43.D0, 42.D0, 40.5D0, 35.D0, 30.D0, 28.D0, - & 25.D0, 22.D0, 21.D0, 20.D0, 18.D0, 17.D0, 11*0.D0, - & .05D0, .15D0, .18D0, .2D0, .2D0, .3D0, .4D0, .6D0, .7D0, - & .85D0, 0.D0, 1.D0, .9D0, .46D0, .3D0, .23D0, .18D0, .16D0, - & .14D0, .1D0, .08D0, .05D0, .02D0, .015D0, 4*.011D0, 3*.005D0, - & 0.D0, 3.3D0, 3.D0, 1.5D0, 1.D0, .7D0, .4D0, .35D0, .4D0, - & .25D0, .18D0, .08D0, .04D0, .03D0, .023D0, .016D0, .014D0, - & .01D0, .008D0, .006D0, .005D0 / - DATA SPKPZ1/ 0.D0, 215.D0, 193.D0, 170.D0, 148.D0, 113.D0, 97.D0, - & 84.D0, 78.D0, 68.D0, 64.D0, 61.D0, 46.D0, 36.D0, 31.3D0, 28.5D0, - & 25.7D0, 22.6D0, 21.4D0, 20.7D0, 19.9D0, 9*0.D0, 2.4D0, .2D0, - & 20*0.D0, 1.8D0, 2.8D0, 3.6D0, 2.3D0, 1.8D0, 1.5D0, 1.3D0, 1.D0, - & .7D0, .5D0, .3D0, 10*0.D0, 1.8D0, 2.8D0, 3.6D0, 2.3D0, 1.8D0, - & 1.5D0, 1.3D0, 1.D0, .7D0, .5D0, .3D0, 10*0.D0, 1.8D0, 2.8D0, - & 3.6D0, 2.3D0, 1.8D0, 1.5D0, 1.3D0, 1.D0, .7D0, .5D0, .3D0, - & 10*0.D0, 1.8D0, 2.8D0, 3.6D0, 2.3D0, 1.8D0, 1.5D0, 1.3D0, 1.D0, - & .7D0, .5D0, .3D0, 13*0.D0, 5.2D0, 8.7D0, 11.4D0, 14.D0, 11.9D0, - & 7.6D0, 6.D0, 5.D0, 13*0.D0, 5.2D0, 8.7D0, 11.4D0, 14.D0, 11.9D0, - & 7.6D0, 6.D0, 5.D0, 18*0.D0, 1.D0, 4.9D0, 8.5D0, 18*0.D0, 1.D0, - & 4.9D0, 8.5D0, 15*0.D0, 1.9D0, 2.3D0, 4.D0, 6.5D0, 5.2D0, 3.4D0, - & 15*0.D0, 1.9D0, 2.3D0, 4.D0, 6.5D0, 5.2D0, 3.4D0, 15*0.D0, 1.9D0, - & 2.3D0, 4.D0, 6.5D0, 5.2D0, 3.4D0 / -* * -* * -**************** an - p - data * -* * - DATA SANPL1/ - & 0.D0, 176.D0, 160.D0, 105.D0, 75.D0, 68.D0, 65.D0, 50.D0, - & 50.D0, 43.D0, 42.D0, 40.5D0, 35.D0, 30.D0, 28.D0, - & 25.D0, 22.D0, 21.D0, 20.D0, 18.D0, 17.D0, 11*0.D0, .05D0, - & .15D0, .18D0, .2D0, .2D0, .3D0, .4D0, .6D0, .7D0, .85D0, - & 0.D0, 1.D0, .9D0, .46D0, .3D0, .23D0, .18D0, .16D0, .14D0, - & .1D0, .08D0, .05D0, .02D0, .015D0, 4*.011D0, 3*.005D0, - & 0.D0, 3.3D0, 3.D0, 1.5D0, 1.D0, .7D0, .4D0, .35D0, .4D0, .25D0, - & .18D0, .08D0, .04D0, .03D0, .023D0, .016D0, .014D0, - & .01D0, .008D0, .006D0, .005D0 / - DATA SPKPF1/ 0.D0, 215.D0, 193.D0, 170.D0, 148.D0, 113.D0, 97.D0, - & 84.D0, 78.D0, 68.D0, 64.D0, 61.D0, 46.D0, 36.D0, 31.3D0, 28.5D0, - & 25.7D0, 22.6D0, 21.4D0, 20.7D0, 19.9D0, 9*0.D0, 2.4D0, .2D0, - & 20*0.D0, 1.8D0, 2.8D0, 3.6D0, 2.3D0, 1.8D0, 1.5D0, 1.3D0, 1.D0, - & .7D0, .5D0, .3D0, 10*0.D0, 1.8D0, 2.8D0, 3.6D0, 2.3D0, 1.8D0, - & 1.5D0, 1.3D0, 1.D0, .7D0, .5D0, .3D0, 10*0.D0, 1.8D0, 2.8D0, - & 3.6D0, 2.3D0, 1.8D0, 1.5D0, 1.3D0, 1.D0, .7D0, .5D0, .3D0, - & 10*0.D0, 1.8D0, 2.8D0, 3.6D0, 2.3D0, 1.8D0, 1.5D0, 1.3D0, 1.D0, - & .7D0, .5D0, .3D0, 13*0.D0, 5.2D0, 8.7D0, 11.4D0, 14.D0, 11.9D0, - & 7.6D0, 6.D0, 5.D0, 13*0.D0, 5.2D0, 8.7D0, 11.4D0, 14.D0, 11.9D0, - & 7.6D0, 6.D0, 5.D0, 18*0.D0, 1.D0, 4.9D0, 8.5D0, 18*0.D0, 1.D0, - & 4.9D0, 8.5D0, 15*0.D0, 1.9D0, 2.3D0, 4.D0, 6.5D0, 5.2D0, 3.4D0, - & 15*0.D0, 1.9D0, 2.3D0, 4.D0, 6.5D0, 5.2D0, 3.4D0, 15*0.D0, 1.9D0, - & 2.3D0, 4.D0, 6.5D0, 5.2D0, 3.4D0 / -**** ko - n - data * - DATA CPKP51/0.D0, 20.D0, 14.D0, 12.D0, 11.5D0, 10.D0, 8.D0, 7.D0, - & 6.D0, 5.5D0, 5.3D0, 5.D0, 4.5D0, 4.4D0, 3.8D0, 3.D0, 2.8D0, - & 0.D0, .5D0, 1.15D0, 2.D0, 1.3D0, .8D0, .45D0, 10*0.D0, - & 3*0.D0, 0.9D0, 2.5D0, 3.D0, 2.5D0, 2.3D0, 2.D0, 1.7D0, - & 1.5D0, 1.2D0, .9D0, .6D0, .45D0, .21D0, .2D0, - & 3*0.D0, 0.9D0, 2.5D0, 3.D0, 2.5D0, 2.3D0, 2.D0, 1.7D0, - & 1.5D0, 1.2D0, .9D0, .6D0, .45D0, .21D0, .2D0, - & 4*0.D0, 1.D0, 2.1D0, 2.6D0, 2.3D0, 2.1D0, 1.8D0, 1.7D0, - & 1.4D0, 1.2D0, 1.05D0, .9D0, .66D0, .5D0, - & 7*0.D0, .3D0, 1.D0, 1.D0, .9D0, .7D0, .4D0, .30D0, .2D0, - & 11*0.D0, .1D0, 1.D0, 2.2D0, 3.5D0, 4.20D0, 4.55D0, - & 4.85D0, 4.9D0, - & 10*0.D0, .2D0, .7D0, 1.6D0, 2.5D0, 2.2D0, 1.71D0, 1.6D0, - & 6*0.D0, 1.4D0, 3.8D0, 5.D0, 4.7D0, 4.4D0, 4.D0, 3.5D0, - & 2.85D0, 2.35D0, 2.01D0, 1.8D0, - & 12*0.D0, .1D0, .8D0, 2.05D0, 3.31D0, 3.5D0, - & 12*0.D0, .034D0, .20D0, .75D0, 1.04D0, 1.24D0 / -**** ako - p - data * - DATA CPKP61/ 0.D0,4.D0,9.5D0,20.D0,13.D0,9.5D0,6.D0,4.4D0, - & 3.D0,2.4D0,2.D0,1.4D0,1.2D0,1.D0,.9D0,.7D0,.6D0,0.D0, - & 4.5D0,6.D0,5.D0,2.5D0,2.D0,1.7D0,2.1D0,1.9D0,.9D0,.5D0, - & .3D0,.24D0,.2D0,.18D0,.1D0,.09D0,0.D0,1.8D0,2.D0,1.1D0, - & .9D0,.5D0,.5D0,.4D0,.4D0,.2D0,.1D0,.06D0,.05D0,.04D0, - & .03D0,.02D0,.02D0,0.D0,1.5D0,2.D0,.9D0,1.1D0,.4D0,.6D0, - & .7D0,.65D0,.3D0,.17D0,.1D0,.08D0,.07D0,.06D0,.04D0, - & .03D0,0.D0,.56D0,1.29D0,2.26D0,1.01D0,.64D0,.37D0, - & 14*0.D0,1.13D0,2.61D0,2.91D0,2.58D0,2.35D0,2.02D0,1.91D0, - & 1.57D0,1.35D0,1.29D0,1.01D0,.74D0,.65D0,3*0.D0,1.0D0, - & 3.03D0,3.36D0,2.8D0,2.58D0,2.24D0,1.91D0,1.68D0,1.35D0, - & 1.01D0,.67D0,.5D0,.24D0,.23D0,3*0.D0,1.0D0,3.03D0,3.36D0, - & 2.8D0,2.58D0,2.24D0,1.91D0,1.68D0,1.35D0,1.01D0,.67D0, - & .5D0,.24D0,.23D0,7*0.D0,.34D0,1.12D0,1.12D0,1.01D0,.78D0, - & .45D0,.39D0,.22D0,.07D0,7*0D0,1.71D0,4.26D0,5.6D0,5.57D0,4.93D0, - & 4.48D0,3.92D0,3.19D0,2.63D0,2.25D0,2.D0,10*0.D0,.22D0,.8D0, - & .75D0,1.D0,1.3D0,1.5D0,1.3D0,13*0.D0,.1D0,.3D0,.7D0,1.D0, - & 13*0.D0,.1D0,.3D0,.7D0,1.D0,9*0.D0,.11D0,1.72D0,2.69D0,3.92D0, - & 4.76D0,5.10D0,5.44D0,5.3D0,5*0.D0,9.2D0,4.7D0,1.9D0,9*0.D0, - & .0D0,2.5D0,15.D0,21.5D0,15.3D0,3.D0,1.5D0,10*0.D0 / - DATA NURE1/9, 12, 5*0, 10, 14, 3*0, 1, 3, 5, 7, 6*0, 2, 6, 16, - & 5*0, 10, 13, 5*0, 11, 12, 3*0, 2, 4, 6, 8, 6*0, 3, 15, 7, 5*0 / -* - DO 10 J=1,92 - UMOPI(J)=UMOPI1(J) - PLAPI(J)=PLAPI1(J) - 10 CONTINUE - DO 20 J=1,68 - UMOKC(J)=UMOKC1(J) - PLAKC(J)=PLAKC1(J) - 20 CONTINUE - DO 30 J=1,39 - UMOP(J)=UMOP1(J) - PLAP(J)=PLAP1(J) - 30 CONTINUE - DO 40 J=1,63 - UMON(J)=UMON1(J) - PLAN(J)=PLAN1(J) - 40 CONTINUE - DO 50 J=1,34 - UMOK0(J)=UMOK01(J) - PLAK0(J)=PLAK01(J) - 50 CONTINUE - DO 60 J=1,296 - SIIN(J)=SIIN1(J) - 60 CONTINUE - DO 70 J=1,315 - SPIKP1(J)=SPKP11(J) - SPIKP4(J)=SPKP41(J) - 70 CONTINUE - DO 80 J=1,278 - SPIKPU(J)=SPKPU1(J) - SPIKPW(J)=SPKPW1(J) - 80 CONTINUE - DO 90 J=1,372 - SPIKPV(J)=CPKPV1(J) - SPIKPX(J)=SPKPX1(J) - 90 CONTINUE - DO 100 J=1,187 - SPIKP5(J)=SPKP51(J) - SPIKP8(J)=SPKP81(J) - SPKP15(J)=CPKP51(J) - 100 CONTINUE - DO 110 J=1,289 - SPIKP6(J)=SPKP61(J) - 110 CONTINUE - DO 120 J=1,102 - SKMPEL(J)=SKMPL1(J) - 120 CONTINUE - DO 130 J=1,289 - SPIKP7(J)=SPKP71(J) - 130 CONTINUE - DO 140 J=1,68 - SKMNEL(J)=SKMNL1(J) - 140 CONTINUE - DO 150 J=1,143 - SPIKP9(J)=SPKP91(J) - SPKPV(J)=SPKPV1(J) - 150 CONTINUE - DO 160 J=1,169 - SPIKP0(J)=SPKP01(J) - 160 CONTINUE - DO 170 J=1,105 - SAPPEL(J)=SAPPL1(J) - 170 CONTINUE - DO 180 J=1,399 - SPIKPE(J)=SPKPE1(J) - 180 CONTINUE - DO 190 J=1,84 - SAPNEL(J)=SAPNL1(J) - SANPEL(J)=SANPL1(J) - 190 CONTINUE - DO 200 J=1,273 - SPIKPZ(J)=SPKPZ1(J) - SPIKPF(J)=SPKPF1(J) - 200 CONTINUE - DO 210 J=1,272 - SPKP16(J)=CPKP61(J) - 210 CONTINUE - DO 220 J=1,164 - NRKPI(J)=NRKPI1(J) - 220 CONTINUE - DO 230 J=1,132 - NRKKC(J)=NRKKC1(J) - 230 CONTINUE - DO 240 J=1,70 - NRKP(J)=NRKP1(J) - 240 CONTINUE - DO 250 J=1,116 - NRKN(J)=NRKN1(J) - 250 CONTINUE - DO 270 J=1,54 - NRKK0(J)=NRKK01(J) - 270 CONTINUE - DO 280 J=1,60 - NURELN(J)=NURE1(J) - 280 CONTINUE - - -*= end*block.blkdt3 * - END diff --git a/StarVMC/geant3/block/flkdt4.F b/StarVMC/geant3/block/flkdt4.F deleted file mode 100644 index 73e2acd8ed8..00000000000 --- a/StarVMC/geant3/block/flkdt4.F +++ /dev/null @@ -1,109 +0,0 @@ -* -* $Id: flkdt4.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: flkdt4.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:35 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BLKDT4.FOR -*COPY BLKDT4 -* -*=== blkdt4 ===========================================================* -*== * - SUBROUTINE FLKDT4 - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -*----- Block Data without names -#include "geant321/hadflg.inc" -#include "geant321/redver.inc" - COMMON / FKSLOP / AMBMBB(75) - DIMENSION IKII1(17), IEII1(17), IRII1(17) - DIMENSION AMBMB1(75) - DIMENSION IKCHX1(16), INNUR1(2,2,16) -* -* datas datas datas datas datas -*------ ********* - DATA IKII1/ 0, 15, 41, 67, 82, 93, 110, 133, 148, 159, 172, 183, - & 207, 224, 241, 252, 268 / - DATA IEII1/ 0, 21, 46, 71, 92, 109, 126, 143, 160, 173, 186, 199, - & 220, 241, 262, 279, 296 / - DATA IRII1/ 0,315, 965, 1615, 1930, 2117, 2406, 2797, 3052, 3195, - & 3364, 3507, 4011, 4368, 4725, 4912, 5184/ - -* -* Masses for the slope B(M) in GeV -* Slope B(M) for an mesonic system -* Slope B(M) for a baryonic system -* - DATA AMBMB1/ 0.8D0, 0.85D0, 0.9D0, 0.95D0, 1.D0, - & 1.05D0, 1.1D0, 1.15D0, 1.2D0, 1.25D0, - & 1.3D0, 1.35D0, 1.4D0, 1.45D0, 1.5D0, - & 1.55D0, 1.6D0, 1.65D0, 1.7D0, 1.75D0, - & 1.8D0, 1.85D0, 1.9D0, 1.95D0, 2.D0, - & 15.6D0, 14.95D0, 14.3D0, 13.65D0, 13.D0, - & 12.35D0, 11.7D0, 10.85D0, 10.D0, 9.15D0, - & 8.3D0, 7.8D0, 7.3D0, 7.25D0, 7.2D0, - & 6.95D0, 6.7D0, 6.6D0, 6.5D0, 6.3D0, - & 6.1D0, 5.85D0, 5.6D0, 5.35D0, 5.1D0, - & 15.D0, 15.D0, 15.D0, 15.D0, 15.D0, 15.D0, 15.D0, - & 14.2D0, 13.4D0, 12.6D0, - & 11.8D0, 11.2D0, 10.6D0, 9.8D0, 9.D0, - & 8.25D0, 7.5D0, 6.25D0, 5.D0, 4.5D0, 5*4.D0 / -* -* /Hadflg/ - DATA IELFL1, ICXFL1, IOLDH1 / 3*0 / - DATA IKCHX1 / 0, 2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0 / - DATA INNUR1 / 13, 1, 2*0, 14, 8, 23, 1, 14, 1, 23, 8, 14, 8, 2*0, - & 15, 1, 2*0, 15, 8, 24, 1, 16, 1, 25, 8, 16, 8, 2*0, - & 1, 1, 2*0, 1, 8, 8, 1, 8, 8, 2*0, 2, 1, 9, 8, - & 2, 8, 2*0, 9, 1, 2*0, 24, 8, 2*0, 25, 1, 2*0 / -* - DO 10 J=1,17 - IKII(J) = IKII1(J) - IEII(J) = IEII1(J) - IRII(J) = IRII1(J) - 10 CONTINUE -* - DO 20 J=1,75 - AMBMBB(J) = AMBMB1(J) - 20 CONTINUE -* - DO 30 J=1,16 - IKCHXG(J) = IKCHX1(J) - 30 CONTINUE - DO 60 J1=1,2 - DO 50 J2=1,2 - DO 40 J3=1,16 - INNURE(J1,J2,J3) = INNUR1(J1,J2,J3) - 40 CONTINUE - 50 CONTINUE - 60 CONTINUE - IELFLG = IELFL1 - ICXFLG = ICXFL1 - IOLDHD = IOLDH1 -*= end*block.blkdt4 * - END diff --git a/StarVMC/geant3/block/flkdt5.F b/StarVMC/geant3/block/flkdt5.F deleted file mode 100644 index 707cd4fbd3f..00000000000 --- a/StarVMC/geant3/block/flkdt5.F +++ /dev/null @@ -1,166 +0,0 @@ -* -* $Id: flkdt5.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: flkdt5.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BLKDT5.FOR -*COPY BLKDT5 -* -*=== blkdt5 ===========================================================* -*== * - SUBROUTINE FLKDT5 - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - CHARACTER*8 ZKNM51(90),ZKNM61(54),ANAMZ1(16),ZKNM41(9) - DIMENSION AMZ1(16),GAZ1(16),TAUZ1(16),ICHZ1(16),IBARZ1(16), - & K1Z1(16),K2Z1(16),WTZ1(153),NZK11(153),NZK21(153),NZK31(153) -* - CHARACTER*8 ZKNAM5,ZKNAM6,ANAMZ,ZKNAM4 - COMMON /FKADHP/ AMZ(16),GAZ(16),TAUZ(16),ICHZ(16),IBARZ(16), - & K1Z(16),K2Z(16),WTZ(153),II22,NZK1(153),NZK2(153),NZK3(153) - COMMON /FKADHN/ ANAMZ(16),ZKNAM4(9),ZKNAM5(90),ZKNAM6(54) -* Particle masses in GeV * - DATA AMZ1/ 3*2.2D0, 0.9576D0, 3*1.887D0, 2.4D0, 2.03D0, 2*1.43D0, - & 2*1.7D0, 3*0.D0/ -* Resonance width Gamma in GeV * - DATA GAZ1/ 3*.2D0, .1D0, 4*.2D0, .18D0, 2*.2D0, 2*.15D0, 3*0.D0 / -* Mean life time in seconds * - DATA TAUZ1 / 16*0.D0 / -* Charge of particles and resonances * - DATA ICHZ1/ 0, 1, 3*0, 1, -1, 0, 1, -1, 0, 0, 1 , 3*0 / -* Baryonic charge * - DATA IBARZ1/ 2, 7*0, 1, -1, -1, 1, 1, 3*0 / -* First number of decay channels used for resonances * -* and decaying particles * - DATA K1Z1/ 308,310,313,317,322,365,393,421,425,434,440,446,449, - & 3*460/ -* Last number of decay channels used for resonances * -* and decaying particles * - DATA K2Z1/ 309,312,316,321,364,392,420,424,433,439,445,448,451, - & 3*460/ -* Weight of decay channel * - DATA WTZ1/ .17D0, .83D0, 2*.33D0, .34D0, .17D0, 2*.33D0, .17D0, - & .01D0, .13D0, .36D0, .27D0, .23D0, .0014D0, .0029D0, .0014D0, - & .0029D0, 4*.0007D0, .0517D0, .0718D0, .0144D0, .0431D0, .0359D0, - & .0718D0, .0014D0, .0273D0, .0014D0, .0431D0, 2*.0129D0, .0259D0, - & .0517D0, .0359D0, .0014D0, 2*.0144D0, .0129D0, .0014D0, .0259D0, - & .0359D0, .0072D0, .0474D0, .0948D0, .0259D0, .0072D0, .0144D0, - & .0287D0, .0431D0, .0144D0, .0287D0, .0474D0, .0144D0, .0075D0, - & .0057D0, .0019D0, .0038D0, .0095D0, 2*.0014D0, .0191D0, .0572D0, - & .1430D0, 2*.0029D0, 5*.0477D0, .0019D0, .0191D0, .0686D0,.0172D0, - & .0095D0, .1888D0, .0172D0, .0191D0, .0381D0, 2*.0571D0, .0190D0, - & .0057D0, .0019D0, .0038D0, .0095D0, .0014D0, .0014D0, .0191D0, - & .0572D0, .1430D0, 2*.0029D0, 5*.0477D0, .0019D0, .0191D0,.0686D0, - & .0172D0, .0095D0, .1888D0, .0172D0, .0191D0, .0381D0, 2*.0571D0, - & .0190D0, 4*.25D0, 2*.2D0, .12D0, .1D0, .07D0, .07D0, .14D0, - & 2*.05D0, .4D0, .2D0, .125D0, 2*.075D0, .125D0, .4D0, .075D0, - & .125D0, .2D0, .125D0, .075D0, .3D0, .05D0, .65D0, .3D0, .05D0, - & .65D0, 9*1.D0 / -* Particle numbers in decay channel * - DATA NZK11/ 8, 1, 2, 9, 1, 2, 9, 2, 9, 7, 13, 31, 15, 24, 23, 13, - & 23, 13, 2*23, 14, 13, 23, 31, 98, 2*33, 32, 23, 14, 13, 35, 2*23, - & 14, 13, 33, 23, 98, 31, 23, 14, 13, 35, 2*33, 32, 23, 35, 33, 32, - & 98, 5*35, 4*13, 23, 13, 98, 32, 33, 23, 13, 23, 13, 14, 13, 32, - & 13, 98, 23, 13, 2*32, 13, 33, 32, 98, 2*35, 4*14, 23, 14, 98, - & 2*34, 23, 14, 23, 2*14, 13, 34, 14, 98, 23, 14, 2*34, 14, 33, 32, - & 98, 2*35, 104, 61, 105, 62, 1, 17, 21, 17, 22, 2*21, 22, 21, 2, - & 67, 68, 69, 2, 2*9, 68, 69, 70, 2, 9, 2*24, 15, 2*25, 16, 9*0/ - DATA NZK21/ 2*8, 1, 8, 9, 2*8, 2*1, 7, 14, 13, 16, 25, 23, 14, 23, - & 14, 31, 33, 32, 34, 35, 31, 23, 31, 33, 34, 31, 32, 34, 31, 33, - & 32, 2*33, 35, 31, 33, 31, 33, 32, 34, 35, 31, 33, 34, 35, 31, - & 4*33, 32, 3*35, 2*23, 13, 31, 32, 33, 13, 31, 32, 2*31, 32, 33, - & 32, 32, 35, 31, 2*32, 33, 31, 33, 35, 33, 3*32, 35, 2*23, 14, - & 31, 34, 33, 14, 31, 33, 2*31, 34, 32, 33, 34, 35, 31, 2*34, 33, - & 31, 33, 35, 33, 2*34, 33, 35, 1, 2, 8, 9, 25, 13, 35, 2*32, 33, - & 31, 13, 23, 31, 13, 23, 14, 79, 80, 31, 13, 23, 14, 78, 79, 8, - & 1, 8, 1, 8, 1, 9*0 / - DATA NZK31/ 23, 14, 2*13, 23, 13, 2*23, 14, 0, 7, 14, 4*0, 2*23, - & 10*0, 33, 2*31, 0, 33, 34, 32, 34, 0, 35, 0, 31, 3*35, 0, 3*31, - & 35, 31, 33, 34, 31, 33, 34, 31, 33, 35, 0, 23, 14, 6*0, 32, 3*33, - & 32, 34, 0, 35, 0, 2*35, 2*31, 35, 32, 34, 31, 33, 32, 0, 23, 13, - & 6*0, 34, 2*33, 34, 33, 34, 0, 35, 0,2*35, 2*31, 35, 2*34, 31, - & 2*34, 25*0, 23, 2*14, 23, 2*13, 9*0 / -* Particle names * - DATA ANAMZ1 /'NNPI', 'ANPPI', 'ANNPI', ' ETS ',' PAP ',' PAN ', - & 'APN', 'DEO ', 'S+2030', 'AN*-14', 'AN*014','KONPI ','AKOPPI', - & 3*'BLANK' / -* Name of decay channel * - DATA ZKNM41/'NNPI0','PNPI-','APPPI+','ANNPI+','ANPPI0','APNPI+', - & 'ANNPI0','APPPI0','ANPPI-'/ - DATA ZKNM51/' GAGA ','P+P-GA','ETP+P-','K+K- ','K0AK0 ', - & ' POPO ',' P+P- ','POPOPO','P+P0P-','P0ET ','&0R0 ','P-R+ ', - & 'P+R- ','POOM ',' ETET ','ETSP0 ','R0ET ',' R0R0 ','R+R- ', - & 'P0ETR0','P-ETR+','P+ETR-',' OMET ','P0R0R0','P0R+R-','P-R+R0', - & 'P+R-R0','R0OM ','P0ETOM','ETSR0 ','ETETET','P0R0OM','P-R+OM', - & 'P+R-OM','OMOM ','R0ETET','R0R0ET','R+R-ET','P0OMOM','OMETET', - & 'R0R0R0','R+R0R-','ETSRET','OMR0R0','OMR+R-','OMOMET','OMOMR0', - & 'OMOMOM', - & ' P+PO ','P+POPO','P+P+P-','P+ET ','P0R+ ','P+R0 ','ETSP+ ', - & 'R+ET ',' R0R+ ','POETR+','P+ETR0','POR+R-','P+R0R0','P-R+R+', - & 'P+R-R+','R+OM ','P+ETOM','ETSR+ ','POR+OM','P+R0OM','R+ETET', - & 'R+R0ET','P+OMOM','R0R0R+','R+R+R-','ETSR+E','OMR+R0','OMOMR+', - & 'P-PO ','P-POPO','P-P-P+','P-ET ','POR- ','P-R0 ','ETSP- ', - & 'R-ET ','R-R0 ','POETR-','P-ETR0','POR-R0','P-R+R-','P-R0R0'/ - DATA ZKNM61/'P+R-R-','R-OM ','P-ETOM','ETSR- ','POR-OM','P-R0OM', - & 'R-ETET','R-R0ET','P-OMOM','R0R0R-','R+R-R-','ETSR-E','OMR0R-', - & 'OMOMR-', 'PAN-14','APN+14','NAN014','ANN014','PAKO ','LPI+ ', - & 'SI+OM','LAMRO+','SI0RO+','SI+RO0','SI+ETA','SI0PI+','SI+PI0', - & 'APETA ','AN=P+ ','AN-PO ','ANOPO ','APRHOO','ANRHO-','ANETA ', - & 'AN-P+ ','AN0PO ','AN+P- ','APRHO+','ANRHO0', - & 'KONPIO','KOPPI-','K+NPI-','AKOPPO','AKONP+','K-PPI+', - & 9*'BLANK'/ -* - DO 10 J=1,16 - AMZ(J)=AMZ1(J) - GAZ(J)=GAZ1(J) - TAUZ(J)=TAUZ1(J) - ICHZ(J)=ICHZ1(J) - IBARZ(J)=IBARZ1(J) - K1Z(J)=K1Z1(J) - K2Z(J)=K2Z1(J) - ANAMZ(J)=ANAMZ1(J) - 10 CONTINUE - DO 20 J=1,153 - WTZ(J)=WTZ1(J) - NZK1(J)=NZK11(J) - NZK2(J)=NZK21(J) - NZK3(J)=NZK31(J) - 20 CONTINUE - DO 30 J=1,9 - ZKNAM4(J)=ZKNM41(J) - 30 CONTINUE - DO 40 J=1,90 - ZKNAM5(J)=ZKNM51(J) - 40 CONTINUE - DO 50 J=1,54 - ZKNAM6(J)=ZKNM61(J) - 50 CONTINUE - -*= end*block.blkdt5 * - END diff --git a/StarVMC/geant3/block/flkdt6.F b/StarVMC/geant3/block/flkdt6.F deleted file mode 100644 index 0da41ff4c62..00000000000 --- a/StarVMC/geant3/block/flkdt6.F +++ /dev/null @@ -1,429 +0,0 @@ -* -* $Id: flkdt6.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: flkdt6.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BLKDT6.FOR -*COPY BLKDT6 -* -*=== blkdt6 ===========================================================* -*== * - SUBROUTINE FLKDT6 - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -*---Block Data 6 (ex 1) * -#include "geant321/part.inc" -#include "geant321/qquark.inc" - CHARACTER*8 ANAME1(IDMAX8) - DIMENSION AM1(IDMAX8),GA1(IDMAX8),TAU1(IDMAX8), - & ICH1(IDMAX8),IBAR1(IDMAX8),K11(IDMAX8),K21(IDMAX8), - & KPTIP1(IDMAX8),IPTKP1(39), - & IQECH1(-6:6),IQBCH1(-6:6),IQICH1(-6:6),IQSCH1(-6:6), - & IQCCH1(-6:6),IQUCH1(-6:6),IQTCH1(-6:6),MQUAR1(3,39) -* -* / Part / -* datas datas datas datas datas * -* --------------------------------------------- * -* * -* Particle masses * -* * - DATA ( AM1 ( I ), I = 1, 54 ) / - & 9.38272310000000D-01, 9.38272310000000D-01, AMELCT , - & AMELCT , 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 9.39565630000000D-01, 9.39565630000000D-01, - & AMMUON , AMMUON , 4.97671000000000D-01, - & 1.39567500000000D-01, 1.39567500000000D-01, 4.93646000000000D-01, - & 4.93646000000000D-01, 1.11563000000000D+00, 1.11563000000000D+00, - & 4.97671000000000D-01, 1.19743000000000D+00, 1.18937000000000D+00, - & 1.19255000000000D+00, 1.34973900000000D-01, 4.97671000000000D-01, - & 4.97671000000000D-01, 1.34973900000000D-01, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 5.48800000000000D-01, 7.68300000000000D-01, 7.68300000000000D-01, - & 7.68300000000000D-01, 7.81950000000000D-01, 8.91830000000000D-01, - & 8.96100000000000D-01, 8.91830000000000D-01, 8.96100000000000D-01, - & 1.25000000000000D+00, 1.25000000000000D+00, 1.25000000000000D+00, - & 1.25000000000000D+00, 1.42100000000000D+00, 1.42100000000000D+00, - & 1.42100000000000D+00, 1.42100000000000D+00, 1.38280000000000D+00, - & 1.38370000000000D+00, 1.38720000000000D+00, 1.82000000000000D+00, - & 2.03000000000000D+00, 1.23200000000000D+00, 1.23200000000000D+00/ - DATA ( AM1 ( I ), I = 55,108 ) / - & 1.23200000000000D+00, 1.23200000000000D+00, 1.67500000000000D+00, - & 1.67500000000000D+00, 1.67500000000000D+00, 1.67500000000000D+00, - & 1.44000000000000D+00, 1.44000000000000D+00, 1.52000000000000D+00, - & 1.52000000000000D+00, 1.77500000000000D+00, 1.77500000000000D+00, - & 1.23200000000000D+00, 1.23200000000000D+00, 1.23200000000000D+00, - & 1.23200000000000D+00, 1.67500000000000D+00, 1.67500000000000D+00, - & 1.67500000000000D+00, 1.67500000000000D+00, 1.52000000000000D+00, - & 1.52000000000000D+00, 2.40000000000000D+00, 4.89000000000000D-01, - & 4.89000000000000D-01, 4.89000000000000D-01, 1.30000000000000D+00, - & 1.30000000000000D+00, 1.30000000000000D+00, 1.30000000000000D+00, - & 2.20000000000000D+00, 2.20000000000000D+00, 2.20000000000000D+00, - & 2.20000000000000D+00, 1.70000000000000D+00, 1.70000000000000D+00, - & 1.70000000000000D+00, 1.70000000000000D+00, 1.82000000000000D+00, - & 2.03000000000000D+00, 9.57500000000000D-01, 1.01941200000000D+00, - & 1.31490000000000D+00, 1.32132000000000D+00, 1.18937000000000D+00, - & 1.19255000000000D+00, 1.19743000000000D+00, 1.31490000000000D+00, - & 1.32132000000000D+00, 1.38280000000000D+00, 1.38370000000000D+00, - & 1.38720000000000D+00, 1.53180000000000D+00, 1.53500000000000D+00/ - DATA ( AM1 ( I ), I = 109,162 ) / - & 1.67243000000000D+00, 1.38280000000000D+00, 1.38370000000000D+00, - & 1.38720000000000D+00, 1.53180000000000D+00, 1.53500000000000D+00, - & 1.67243000000000D+00, 1.86450000000000D+00, 1.86930000000000D+00, - & 1.86930000000000D+00, 1.86450000000000D+00, 1.96880000000000D+00, - & 1.96880000000000D+00, 2.03000000000000D+00, 2.00710000000000D+00, - & 2.01010000000000D+00, 2.01010000000000D+00, 2.00710000000000D+00, - & 2.11030000000000D+00, 2.11030000000000D+00, 3.68600000000000D+00, - & 3.09693000000000D+00, 1.78410000000000D+00, 1.78410000000000D+00, - & 3.50000000000000D-02, 3.50000000000000D-02, 2.70000000000000D-04, - & 2.70000000000000D-04, 2.26000000000000D+00, 2.47000000000000D+00, - & 2.47000000000000D+00, 2.41000000000000D+00, 2.42000000000000D+00, - & 2.41000000000000D+00, 2.56000000000000D+00, 2.56000000000000D+00, - & 2.73000000000000D+00, 3.61000000000000D+00, 3.61000000000000D+00, - & 3.79000000000000D+00, 2.26000000000000D+00, 2.47000000000000D+00, - & 2.47000000000000D+00, 2.41000000000000D+00, 2.42000000000000D+00, - & 2.41000000000000D+00, 2.56000000000000D+00, 2.56000000000000D+00, - & 2.73000000000000D+00, 3.61000000000000D+00, 3.61000000000000D+00, - & 3.79000000000000D+00, 2.49000000000000D+00, 2.49000000000000D+00/ - DATA ( AM1 ( I ), I = 163,183 ) / - & 2.49000000000000D+00, 2.61000000000000D+00, 2.61000000000000D+00, - & 2.77000000000000D+00, 3.67000000000000D+00, 3.67000000000000D+00, - & 3.85000000000000D+00, 4.89000000000000D+00, 2.49000000000000D+00, - & 2.49000000000000D+00, 2.49000000000000D+00, 2.61000000000000D+00, - & 2.61000000000000D+00, 2.77000000000000D+00, 3.67000000000000D+00, - & 3.67000000000000D+00, 3.85000000000000D+00, 4.89000000000000D+00, - & 1.25000000000000D+00, 1.25000000000000D+00, 1.25000000000000D+00/ -* * -* Particle mean lives * -* * - DATA ( TAU1 ( I ), I = 1, 54 ) / - & 1.00000000000000D+18, 1.00000000000000D+18, 1.00000000000000D+18, - & 1.00000000000000D+18, 1.00000000000000D+18, 1.00000000000000D+18, - & 1.00000000000000D+18, 8.88600000000000D+02, 8.88600000000000D+02, - & 2.19703000000000D-06, 2.19703000000000D-06, 5.17000000000000D-08, - & 2.60300000000000D-08, 2.60300000000000D-08, 1.23710000000000D-08, - & 1.23710000000000D-08, 2.63200000000000D-10, 2.63200000000000D-10, - & 8.92200010000000D-11, 1.47900000000000D-10, 7.99000000000000D-11, - & 7.40000000000000D-20, 8.40000000000000D-17, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00/ - DATA ( TAU1 ( I ), I = 55,108 ) / - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 2.90000000000000D-10, 1.63900000000000D-10, 7.99000000000000D-11, - & 7.40000000000000D-20, 1.47900000000000D-10, 2.90000000000000D-10, - & 1.63900000000000D-10, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00/ - DATA ( TAU1 ( I ), I = 109,162 ) / - & 8.22000000000000D-11, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 8.22000000000000D-11, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 3.03000000000000D-13, 3.03000000000000D-13, - & 1.00000000000000D+18, 1.00000000000000D+18, 1.00000000000000D+18, - & 1.00000000000000D+18, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00/ - DATA ( TAU1 ( I ), I = 163,183 ) / - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00/ -* * -* Resonance width Gamma in GeV * -* * - DATA ( GA1 ( I ), I = 1, 54 ) / - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 1.19000000000000D-06, 1.49100000000000D-01, 1.49100000000000D-01, - & 1.49100000000000D-01, 8.43000000000000D-03, 4.98000000000000D-02, - & 4.98000000000000D-02, 4.98000000000000D-02, 4.98000000000000D-02, - & 4.50000000000000D-01, 4.50000000000000D-01, 4.50000000000000D-01, - & 4.50000000000000D-01, 1.08000000000000D-01, 1.08000000000000D-01, - & 1.08000000000000D-01, 1.08000000000000D-01, 3.58000000000000D-02, - & 3.65000000000000D-02, 3.94000000000000D-02, 8.50000000000000D-02, - & 1.80000000000000D-01, 1.15000000000000D-01, 1.15000000000000D-01/ - DATA ( GA1 ( I ), I = 55,108 ) / - & 1.15000000000000D-01, 1.15000000000000D-01, 2.00000000000000D-01, - & 2.00000000000000D-01, 2.00000000000000D-01, 2.00000000000000D-01, - & 2.00000000000000D-01, 2.00000000000000D-01, 1.00000000000000D-01, - & 1.00000000000000D-01, 2.00000000000000D-01, 2.00000000000000D-01, - & 1.15000000000000D-01, 1.15000000000000D-01, 1.15000000000000D-01, - & 1.15000000000000D-01, 2.00000000000000D-01, 2.00000000000000D-01, - & 2.00000000000000D-01, 2.00000000000000D-01, 1.00000000000000D-01, - & 1.00000000000000D-01, 2.00000000000000D-01, 1.00000000000000D-01, - & 1.00000000000000D-01, 1.00000000000000D-01, 1.00000000000000D-01, - & 1.00000000000000D-01, 1.00000000000000D-01, 1.00000000000000D-01, - & 2.00000000000000D-01, 2.00000000000000D-01, 2.00000000000000D-01, - & 2.00000000000000D-01, 1.50000000000000D-01, 1.50000000000000D-01, - & 1.50000000000000D-01, 1.50000000000000D-01, 8.50000000000000D-02, - & 1.80000000000000D-01, 2.08000000000000D-04, 4.41000000000000D-03, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 3.58000000000000D-02, 3.65000000000000D-02, - & 3.94000000000000D-02, 9.10000000000000D-03, 9.90000000000000D-03/ - DATA ( GA1 ( I ), I = 109,162 ) / - & 0.00000000000000D+00, 3.40000000000000D-02, 3.40000000000000D-02, - & 3.60000000000000D-02, 9.10000000000000D-03, 9.90000000000000D-03, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 2.10000000000000D-03, - & 1.10000000000000D-03, 1.10000000000000D-03, 5.00000000000000D-03, - & 2.00000000000000D-03, 2.00000000000000D-03, 2.43000000000000D-04, - & 6.80000000000000D-05, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00/ - DATA ( GA1 ( I ), I = 163,183 ) / - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 0.00000000000000D+00, 0.00000000000000D+00, 0.00000000000000D+00, - & 3.00000000000000D-01, 3.00000000000000D-01, 3.00000000000000D-01/ -* * -* Particle names * -* * -* S+1385+Sigma+(1385) L02030+Lambda0(2030) * -* Rho77=Rho(770) Om783=Omega(783) K*14=K*(1420) and so on * -* designation N*@@ means N*@1(@2) * -* * -* * - DATA ( ANAME1 ( I ), I = 1,108 ) / - &'P ','AP ','E- ','E+ ','NUE ','ANUE ', - &'GAM ','NEU ','ANEU ','MUE+ ','MUE- ','K0L ', - &'PI+ ','PI- ','K+ ','K- ','LAM ','ALAM ', - &'K0S ','SIGM- ','SIGM+ ','SIGM0 ','PI0 ','K0 ', - &'AK0 ','BLANK ','BLANK ','BLANK ','BLANK ','BLANK ', - &'ETA550 ','RHO+77 ','RHO077 ','RHO-77 ','OM0783 ','K*+892 ', - &'K*0892 ','K*-892 ','AK*089 ','KA+125 ','KA0125 ','KA-125 ', - &'AKA012 ','K*+142 ','K*0142 ','K*-142 ','AK*014 ','S+1385 ', - &'S01385 ','S-1385 ','L01820 ','L02030 ','DE++12 ','DEL+12 ', - &'DEL012 ','DEL-12 ','N*++16 ','N*+16 ','N*016 ','N*-16 ', - &'N*+14 ','N*014 ','N*+15 ','N*015 ','N*+18 ','N*018 ', - &'AD--12 ','ADE-12 ','ADE012 ','ADE+12 ','AN--16 ','AN*-16 ', - &'AN*016 ','AN*+16 ','AN*-15 ','AN*015 ','DE*=24 ','RPI+49 ', - &'RPI049 ','RPI-49 ','PIN++ ','PIN+0 ','PIN+- ','PIN-0 ', - &'PPPI ','PNPI ','APPPI ','APNPI ','K+PPI ','K-PPI ', - &'K+NPI ','K-NPI ','S+1820 ','S-2030 ','ETA* ','PHI ', - &'XSI0 ','XSI- ','ASIG- ','ASIG0 ','ASIG+ ','AXSI0 ', - &'AXSI+ ','SIG*+ ','SIG*0 ','SIG*- ','XSI*0 ','XSI*- '/ - DATA ( ANAME1 ( I ), I = 109,183 ) / - &'OMEGA- ','ASIG*- ','ASIG*0 ','ASIG*+ ','AXSI*0 ','AXSI*+ ', - &'OMEGA+ ','D0 ','D+ ','D- ','AD0 ','DS+ ', - &'DS- ','ETAC ','D*0 ','D*+ ','D*- ','AD*0 ', - &'DS*+ ','DS*- ','PSI ','JPSI ','TAU+ ','TAU- ', - &'NUET ','ANUET ','NUEM ','ANUEM ','C0+ ','A+ ', - &'A0 ','C1++ ','C1+ ','C10 ','S+ ','S0 ', - &'T0 ','XU++ ','XD+ ','XS+ ','AC0- ','AA- ', - &'AA0 ','AC1-- ','AC1- ','AC10 ','AS- ','AS0 ', - &'AT0 ','AXU-- ','AXD- ','AXS ','C1*++ ','C1*+ ', - &'C1*0 ','S*+ ','S*0 ','T*0 ','XU*++ ','XD*+ ', - &'XS*+ ','TETA++ ','AC1*-- ','AC1*- ','AC1*0 ','AS*- ', - &'AS*0 ','AT*0 ','AXU*-- ','AXD*- ','AXS*- ','ATET-- ', - &'RO ','R+ ','R- '/ -* * -* Charge of particles and resonances * -* * - DATA ( ICH1 ( I ), I = 1,183 ) / - & 1, -1, -1, 1, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 1, - & -1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - & 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, - & -1, 0, 1, 0, -1, 0, 0, 2, 1, 0, -1, 2, 1, 0, -1, - & 1, 0, 1, 0, 1, 0, -2, -1, 0, 1, -2, -1, 0, 1, -1, - & 0, 1, 1, 0, -1, 2, 1, 0, -1, 2, 1, 0, -1, 2, 0, - & 1, -1, 1, -1, 0, 0, 0, -1, -1, 0, 1, 0, 1, 1, 0, - & -1, 0, -1, -1, -1, 0, 1, 0, 1, 1, 0, 1, -1, 0, 1, - & -1, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, -1, 0, 0, 0, - & 0, 1, 1, 0, 2, 1, 0, 1, 0, 0, 2, 1, 1, -1, -1, - & 0, -2, -1, 0, -1, 0, 0, -2, -1, -1, 2, 1, 0, 1, 0, - & 0, 2, 1, 1, 2, -2, -1, 0, -1, 0, 0, -2, -1, -1, -2, - & 0, 1, -1/ -* * -* Particle baryonic charges * -* * - DATA ( IBAR1 ( I ), I = 1,183 ) / - & 1, -1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, - & 0, 1, -1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - & 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - & 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - & 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - & -1, 2, 0, 0, 0, 1, 1, 1, 1, 2, 2, 0, 0, 1, 1, - & 1, 1, 1, 1, 0, 0, 1, 1, -1, -1, -1, -1, -1, 1, 1, - & 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, - & 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - & 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, - & -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, - & 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - & 0, 0, 0/ -* * -* First number of decay channels used for resonances * -* and decaying particles * -* * - DATA K11/1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 17, 18, 24, 30, - & 34, 38, 40, 41, 43, 44, 136, 138, 5*330, 46, 51, 52, 54, 55, 58, - & 60, 62, 64, 66, 68, 70, 72, 74, 82, 90, 98, 106, 109, 112, 114, - & 123, 140, 141, 143, 145, 146, 150, 157, 164, 168, 174, 180, 187, - & 194, 202, 210, 211, 213, 215, 216, 220, 227, 234, 238, 245, 252, - & 254, 255, 256, 257, 259, 262, 265, 267, 269, 272, 276, 279, 282, - & 286, 290, 293, 299, 331, 335, 339, 340, 341, 343, 344, 345, 346, - & 347, 350, 353, 356, 358, 360, 363, 366, 369, 372, 374, 376, 379, - & 383, 385, 387, 391, 394, 397, 400, 402, 405, 408, 410, 412, 414, - & 417, 420, 425, 430, 431, 432, 433, 434, 448, 452, 457, 458, 459, - & 460, 461, 462, 466, 468, 470, 472, 486, 490, 495, 496, 497, 498, - & 499, 500, 504, 506, 508, 510, 511, 512, 513, 514, 515, 516, 517, - & 518, 519, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 534, - & 537, 539 / -* * -* Last number of decay channels used for resonances * -* and decaying particles * -* * - DATA K21/ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 23, 29, - & 31, 35, 39, 40, 42, 43, 45, 137, 139, 5* 330, 50, 51, 53, 54, 57, - & 59, 61, 63, 65, 67, 69, 71, 73, 81, 89, 97, 105, 108, 111, 113, - & 122, 135, 140, 142, 144, 145, 149, 156, 163, 167, 173, 179, 186, - & 193, 201, 209, 210, 212, 214, 215, 219, 226, 233, 237, 244, 251, - & 253, 254, 255, 256, 258, 261, 264, 266, 268, 271, 275, 278, 281, - & 285, 289, 292, 298, 307, 334, 338, 339, 340, 342, 343, 344, 345, - & 346, 349, 352, 355, 357, 359, 362, 365, 368, 371, 373, 375, 378, - & 382, 384, 386, 390, 393, 396, 399, 401, 404, 407, 409, 411, 413, - & 416, 419, 424, 429, 430, 431, 432, 433, 447, 451, 456, 457, 458, - & 459, 460, 461, 465, 467, 469, 471, 485, 489, 494, 495, 496, 497, - & 498, 499, 503, 505, 507, 509, 510, 511, 512, 513, 514, 515, 516, - & 517, 518, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 533, - & 536, 538, 540 / -* * -* Conversion from part to paprop numbering * -* * - DATA KPTIP1 / 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, 29, 30, 66*0, - & 34, 36, 31, 32, 33, 35, 37, 5*0, 38, 5*0, 39, 68*0 / -* * -* Conversion from paprop to part numbering * -* * - DATA IPTKP1 / 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, 29, 30, 99, - & 100, 101, 97, 102, 98, 103, 109, 115 / -* / Qquark / - DATA IQECH1 / -2, 1, -2, 1, 1, -2, 0, 2, -1, -1, 2, -1, 2 / - DATA IQBCH1 / 6*-1, 0, 6*1 / - DATA IQICH1 / 4*0, 1, -1, 0, 1, -1, 4*0 / - DATA IQSCH1 / 3*0, 1, 5*0, -1, 3*0 / - DATA IQCCH1 / 2*0, -1, 7*0, 1, 2*0 / - DATA IQUCH1 / 0, 1, 9*0, -1, 0 / - DATA IQTCH1 / -1, 11*0, 1 / - DATA MQUAR1 / 1,1,2, -1,-1,-2, - * 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, - * 1,2,2, -1,-2,-2, 0,0,0, 0,0,0, 0,0,0, - * 1,-2,0, 2,-1,0, 1,-3,0, 3,-1,0, - * 1,2,3, -1,-2,-3, 0,0,0, - * 2,2,3, 1,1,3, 1,2,3, 1,-1,0, - * 2,-3,0, 3,-2,0, 2,-2,0, 0,0,0, - * 0,0,0, 0,0,0, 0,0,0, - * -1,-1,-3, -1,-2,-3, -2,-2,-3, - * 1,3,3, -1,-3,-3, 2,3,3, -2,-3,-3, - * 3,3,3, -3,-3,-3 / -* - DO 10 J=1, 39 - IPTOKP(J)=IPTKP1(J) - 10 CONTINUE - DO 20 J=1,IDMAX8 - AM(J)=AM1(J) - GA(J)=GA1(J) - TAU(J)=TAU1(J) - ICH(J)=ICH1(J) - IBAR(J)=IBAR1(J) - K1(J)=K11(J) - K2(J)=K21(J) - KPTOIP(J)=KPTIP1(J) - ANAME(J)=ANAME1(J) - 20 CONTINUE - DO 30 J=-6,6 - IQECHR(J)=IQECH1(J) - IQBCHR(J)=IQBCH1(J) - IQICHR(J)=IQICH1(J) - IQSCHR(J)=IQSCH1(J) - IQCCHR(J)=IQCCH1(J) - IQUCHR(J)=IQUCH1(J) - IQTCHR(J)=IQTCH1(J) - 30 CONTINUE - DO 50 J=1,3 - DO 40 I=1,39 - MQUARK(J,I)=MQUAR1(J,I) - 40 CONTINUE - 50 CONTINUE -*= end*block.blkdt6 * - END diff --git a/StarVMC/geant3/block/flkdt7.F b/StarVMC/geant3/block/flkdt7.F deleted file mode 100644 index bb38307f0a6..00000000000 --- a/StarVMC/geant3/block/flkdt7.F +++ /dev/null @@ -1,264 +0,0 @@ -* -* $Id: flkdt7.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: flkdt7.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:52 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BLKDT7.FOR -*COPY BLKDT7 -* -*=== blkdt7 ===========================================================* -*== * - SUBROUTINE FLKDT7 -* -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* * Block data 7 (ex 2) * -#include "geant321/decayc.inc" - CHARACTER*8 ZKNAM1 - DIMENSION ZKNAM1(IDMAX9),NZK1(IDMAX9,3),WT1(IDMAX9) -* -* * -* Name of decay channel * -* * - DATA (ZKNAM1(I),I=1,87) / 'P', 'AP', 'E-', 'E+', 'NUE', 'ANUE', - & 'GAM', 'PE-NUE', 'APEANU', 'EANUNU', 'E-NUAN', '3PI0', 'PI+-0', - & 'PIMUNU', 'PIE-NU', 'MU+NUE', 'MU-NUE', 'MU+NUE', 'PI+PI0', - & 'PI++-', 'PI+00', 'M+P0NU', 'E+P0NU', 'MU-NU', 'PI-0', 'PI+--', - & 'PI-00', 'M-P0NU', 'E-P0NU', 'PPI-', 'NPI0', 'PE-NUE', 'PM-NUE', - & 'APPI+', 'ANPI0', 'APE+NU', 'APM+NU', 'PI+PI-', 'PI0PI0', - & 'NPI-', 'PPI0', 'NPI+', 'LAGA', 'GAGA', 'GAE+E-', 'GAGA', - & 'GAGAP0', 'PI000', 'PI+-0', 'PI+-GA', 'PI+0', 'PI+-', 'PI00', - & 'PI-0', 'PI+-0', 'PI+-', 'PI0GA', 'K+PI0', 'K0PI+', 'KOPI0', - & 'K+PI-', 'K-PI0', 'AK0PI-', 'AK0PI0', 'K-PI+', 'K+PI0', 'K0PI+', - & 'K0PI0', 'K+PI-', 'K-PI0', 'AK0PI-', 'AK0PI0', 'K-PI+', 'K+PI0', - & 'K0PI+', 'K+89P0', 'K08PI+', 'K+RO77', 'K0RO+7', 'K+OM07', - & 'K+E055', 'K0PI0', 'K+PI+', 'K089P0', 'K+8PI-', 'K0R077', - & 'K+R-77'/ - DATA (ZKNAM1(I),I=88,146)/ - & 'K0OM07','K0E055','K-PI0 ','AK0PI-','K-89P0','AK08P-','K-R077', - & 'AK0R-7','K-OM07','K-E055','AK0PI0','K-PI+ ','AK08P0','K-8PI+', - & 'AK0R07','K-R+77','AK0OM7','AK0E05','LA0PI+','SI0PI+','SI+PI0', - & 'LA0PI0','SI+PI-','SI-PI+','LA0PI-','SI0PI-','NEUAK0','PK- ', - & 'SI+PI-','SI0PI0','SI-PI+','LA0ET0','S+1PI-','S-1PI+','SO1PI0', - & 'NEUAK0','PK- ','LA0PI0','LA0OM0','LA0RO0','SI+RO-','SI-RO+', - & 'SI0RO0','LA0ET0','SI0ET0','SI+PI-','SI-PI+','SI0PI0', - & 'K0S ','K0L ','K0S ','K0L ', - & 'P PI+ ','P PI0 ','N PI+ ','P PI- ','N PI0 ','N PI- ','P PI+ '/ -* * -* Designation N*@ means N*@1(1236) * -* @1=# means ++, @1 = = means -- * -* Designation P+/0/- means Pi+/Pi0/Pi- , respectively * -* * - DATA (ZKNAM1(I),I=147,251)/ - & 'N*#PI0','N*+PI+','PRHO+ ','P PI0 ','N PI+ ','N*#PI-','N*+PI0', - & 'N*0PI+','PRHO0 ','NRHO+ ','P PI- ','N PI0 ','N*+PI-','N*0PI0', - & 'N*-PI+','PRHO- ','NRHO0 ','N PI- ','N*0PI-','N*-PI0','NRHO- ', - & 'PETA0 ','N*#PI-','N*+PI0','N*0PI+','PRHO0 ','NRHO+ ','NETA0 ', - & 'N*+PI-','N*0PI0','N*-PI+','PRHO- ','NRHO0 ','P PI0 ','N PI+ ', - & 'N*#PI-','N*+PI0','N*0PI+','PRHO0 ','NRHO+ ','P PI- ','N PI0 ', - & 'N*+PI-','N*0PI0','N*-PI+','PRHO- ','NRHO0 ','P PI0 ','N PI+ ', - & 'PRHO0 ','NRHO+ ','LAMK+ ','S+ K0 ','S0 K+ ','PETA0 ','P PI- ', - & 'N PI0 ','PRHO- ','NRHO0 ','LAMK0 ','S0 K0 ','S- K+ ','NETA/ ', - & 'APPI- ','APPI0 ','ANPI- ','APPI+ ','ANPI0 ','ANPI+ ','APPI- ', - & 'AN*=P0','AN*-P-','APRHO-','APPI0 ','ANPI- ','AN*=P+','AN*-P0', - & 'AN*0P-','APRHO0','ANRHO-','APPI+ ','ANPI0 ','AN*-P+','AN*0P0', - & 'AN*+P-','APRHO+','ANRHO0','ANPI+ ','AN*0P+','AN*+P0','ANRHO+', - & 'APPI0 ','ANPI- ','AN*=P+','AN*-P0','AN*0P-','APRHO0','ANRHO-', - & 'APPI+','ANPI0 ','AN*-P+','AN*0P0','AN*+P-','APRHO+','ANRHO0'/ - DATA (ZKNAM1(I),I=252,330)/ - & 'PN*014','NN*=14', - & 'PI+0 ','PI+-','PI-0','P+0','N++','P+-','P00','N+0','N+-','N00', - & 'P-0 ','N-0 ','P--', - & 'PPPI0 ','PNPI+ ','PNPI0 ','PPPI- ','NNPI+ ','APPPI0','APNPI+', - & 'ANNPI0','ANPPI-','APNPI0','APPPI-','ANNPI-','K+PPI0','K+NPI+', - & 'K0PPI0','K-PPI0','K-NPI+','AKPPI-','AKNPI0','K+NPI0','K+PPI-', - & 'K0PPI0','K0NPI+','K-NPI0','K-PPI-','AKNPI-', - & 'PAK0 ','SI+PI0','SI0PI+','SI+ETA','S+1PI0','S01PI+','NEUK- ', - & 'LA0PI-','SI-OM0','LA0RO-','SI0RO-','SI-RO0','SI-ET0','SI0PI-', - & 'SI-0', 23*'BLANK'/ - DATA (ZKNAM1(I),I=331,433)/ - & 'EPI+- ','EPI00 ','GAPI+-','GAGA* ','K+- ','KLKS ','PI+-0 ', - & 'EGA ','LPI0 ','LPI ','APPI0 ','ANPI- ','ALAGA ','ANPI ', - & 'ALPI0 ','ALPI+ ','LAPI+ ','SI+PI0','SI0PI+','LAPI0 ','SI+PI-', - & 'SI-PI+','LAPI- ','SI-PI0','SI0PI-','TE0PI0','TE-PI+','TE0PI-', - & 'TE-PI0','TE0PI ','TE-PI ','LAK- ','ALPI- ','AS-PI0','AS0PI-', - & 'ALPI0 ','AS+PI-','AS-PI+','ALPI+ ','AS+PI0','AS0PI+','AT0PI0', - & 'AT+PI-','AT0PI+','AT+PI0','AT0PI ','AT+PI ','ALK+ ', - & 'K-PI+ ','K-PI+0','K0PI+-','K0PI0 ','K-PI++','AK0PI+','K+PI--', - & 'K0PI- ','K+PI- ','K+PI-0','AKPI-+','AK0PI0','ETAPIF','K++- ', - & 'K+AK0 ','ETAPI-','K--+ ','K-K0 ','PI00 ','PI+- ','GAGA ', - & 'D0PI0 ','D0GA ','D0PI+ ','D+PI0 ','DFGA ','AD0PI-','D-PI0 ', - & 'D-GA ','AD0PI0','AD0GA ','F+GA ','F+GA ','F-GA ','F-GA ', - & 'PSPI+-','PSPI00','PSETA ','E+E- ','MUE+- ','PI+-0 ','M+NN ', - & 'E+NN ','RHO+NT','PI+ANT','K*+ANT','M-NN ','E-NN ','RHO-NT', - & 'PI-NT ','K*-NT ','NUET ','ANUET ','NUEM ','ANUEM '/ - DATA (ZKNAM1(I),I=434,540)/ - & 'SI+ETA','SI+ET*','PAK0 ','TET0K+','SI*+ET','N*+AK0','N*++K-', - & 'LAMRO+','SI0RO+','SI+RO0','SI+OME','PAK*0 ','N*+AK*','N*++K*', - & 'SI+AK0','TET0PI','SI+AK*','TET0RO','SI0AK*','SI+K*-','TET0OM', - & 'TET-RO','SI*0AK','C0+PI+','C0+PI0','C0+PI-','A+GAM ','A0GAM ', - & 'TET0AK','TET0K*','OM-RO+','OM-PI+','C1++AK','A+PI+ ','C0+AK0', - & 'A0PI+ ','A+AK0 ','T0PI+ ','ASI-ET','ASI-E*','APK0 ','ATET0K', - & 'ASI*-E','AN*-K0','AN*--K','ALAMRO','ASI0RO','ASI-RO','ASI-OM', - & 'APK*0 ','AN*-K*','AN*--K','ASI-K0','ATETPI','ASI-K*','ATETRO', - & 'ASI0K*','ASI-K*','ATE0OM','ATE+RO','ASI*0K','AC-PI-','AC-PI0', - & 'AC-PI+','AA-GAM','AA0GAM','ATET0K','ATE0K*','AOM+RO','AOM+PI', - & 'AC1--K','AA-PI-','AC0-K0','AA0PI-','AA-K0 ','AT0PI-','C1++GA', - & 'C1++GA','C10GAM','S+GAM ','S0GAM ','T0GAM ','XU++GA','XD+GAM', - & 'XS+GAM','A+AKPI','T02PI+','C1++2K','AC1--G','AC1-GA','AC10GA', - & 'AS-GAM','AS0GAM','AT0GAM','AXU--G','AXD-GA','AXS-GA','AA-KPI', - & 'AT02PI','AC1--K','RH-PI+','RH+PI-','RH3PI0','RH0PI+','RH+PI0', - & 'RH0PI-','RH-PI0'/ -* * -* Weight of decay channel * -* * - DATA (WT1(I),I=1,226)/11*1.D0,.21D0,.12D0,.27D0,.4D0,2*1.D0,.64D0, - &.21D0,.06D0,.02D0,.03D0,.04D0,.64D0,.21D0,.06D0,.02D0,.03D0,.04D0, - & .64D0,.36D0,2*0.D0,.64D0,.36D0,2*0.D0, .69D0, .31D0, 1.D0, .52D0, - & .48D0,1.D0,.99D0,.01D0,.38D0,.03D0,.3D0,.24D0,.05D0,2*1.D0, 0.D0, - & 1.D0,.9D0,.01D0,.09D0,.33D0,.67D0,.33D0,.67D0,.33D0,.67D0, .33D0, - &.67D0,.33D0,.67D0,.33D0,.67D0,.33D0,.67D0,.33D0,.67D0,.19D0,.38D0, - & .09D0,.2D0,.03D0,.04D0,.05D0,.02D0,.19D0,.38D0,.09D0,.2D0, .03D0, - & .04D0,.05D0,.02D0,.19D0,.38D0,.09D0,.2D0,.03D0,.04D0,.05D0,.02D0, - & .19D0,.38D0,.09D0,.2D0,.03D0,.04D0, .05D0, .02D0, .88D0, 2*.06D0, - & .88D0,2*.06D0,.88D0,.12D0,2*.19D0,2*.16D0, .17D0, 3*.03D0, .04D0, - & 2*.1D0,.2D0,.12D0,.1D0, 2*.04D0, .05D0, 2*.075D0, 2*.03D0, .04D0, - & 4*.5D0,1.D0,.67D0,2*.33D0,.67D0, 1.D0, .25D0, .27D0, .18D0, .3D0, - & .17D0,.08D0,.18D0,.03D0,.24D0,.2D0,.1D0,.08D0,.17D0,.24D0, .03D0, - & .18D0,.1D0,.2D0,.25D0,.18D0,.27D0,.3D0,.4D0,.2D0, .125D0, .075D0, - & .075D0,.125D0,.4D0,.075D0,.125D0,.2D0,.125D0,.075D0,.18D0, .37D0, - &.13D0,.08D0,.04D0,.07D0,.13D0,.37D0,.18D0,.04D0,.08D0,.13D0,.13D0, - & 2*.07D0,.13D0,.23D0,.47D0,.05D0,.02D0,.01D0, .02D0, .13D0, .07D0, - &.47D0,.23D0,.05D0,.01D0,2*.02D0,1.D0,.67D0,.33D0,.33D0,.67D0,1.D0, - & .25D0,.27D0,.18D0,.3D0,.17D0,.08D0,.18D0,.03D0,.24D0, .2D0, .1D0/ - DATA (WT1(I),I=227,330) / .08D0, .17D0, .24D0, .03D0, .18D0, .1D0, - & .2D0, .25D0, .18D0, .27D0, .3D0, .18D0, .37D0, .13D0,.08D0,.04D0, - & .07D0, .13D0, .37D0, .18D0, .04D0, .08D0, 2*.13D0, .07D0, 2*.5D0, - & 3*1.D0, .8D0, .2D0, .6D0, .3D0, .1D0, .6D0, .3D0, .1D0,.8D0,.2D0, - & .33D0, .67D0, .66D0, 2*.17D0, .32D0, .17D0, .32D0, .19D0,2*.33D0, - & .34D0, .3D0, .05D0, .65D0,.38D0, .12D0, .38D0, .12D0,.38D0,.12D0, - & .38D0, .12D0, .3D0, .05D0, .65D0, .38D0, 2*.25D0, .02D0, 2*.05D0, - & 2*.2D0, .12D0, .1D0, 2*.07D0, .14D0, 2*.05D0, 23*1.D0/ - DATA (WT1(I),I=331,433) /.48D0, .24D0, .26D0, .02D0, .47D0, .35D0, - & .15D0, .03D0, 2*1.D0, .52D0, .48D0, 4*1.D0, .9D0, 2*.05D0, .9D0, - & 2*.05D0, .9D0, 2*.05D0, .33D0, 2*.67D0, .33D0, 2*.25D0, .5D0, - & .9D0, 2*.05D0, .9D0, 2*.05D0, .9D0, 2*.05D0, .33D0, 2*.67D0, - & .33D0, 2*.25D0, .5D0, .1D0, .5D0, .16D0, .24D0, .7D0, .3D0, .7D0, - & .3D0, .1D0, .5D0, .16D0, .24D0, .3D0, .4D0, 2*.3D0, .4D0, .3D0, - & .49D0, .49D0, .02D0, .55D0, .45D0, .68D0, .3D0, .02D0, .68D0, - & .3D0, .02D0, .55D0, .45D0, .9D0, .1D0, .9D0, .1D0, .6D0, .3D0, - & 3*.1D0, .8D0, 2*.28D0, .35D0, .07D0, .02D0, 2*.28D0, .35D0, - & .07D0, .02D0, 4*1.D0 / - DATA (WT1(I),I=434,540) / .02D0, .03D0, .07D0, 2*.02D0, .04D0, - & .13D0, .07D0, 2*.06D0, .2D0, .14D0, .04D0, .1D0, .25D0, .03D0, - & .3D0, .42D0, .22D0, .35D0, .19D0, .16D0, .08D0, 5*1.D0, .37D0, - & .2D0, .36D0, .07D0, 6*.5D0, .02D0, .03D0, .07D0, 2*.02D0, .04D0, - & .13D0, .07D0, 2*.06D0, .2D0, .14D0, .04D0, .1D0, .25D0, .03D0, - & .3D0, .42D0, .22D0, .35D0, .19D0, .16D0, .08D0, 5*1.D0, .37D0, - & .2D0, .36D0, .07D0, 6*.5D0, 9*1.D0, 2*.3D0, .4D0, 9*1.D0, 2*.3D0, - & .4D0, 2*.33D0, .34D0, 4*.5D0 / -* Particle numbers in decay channel * -* * - DATA (NZK1(I,1),I=1,378) / 1, 2, 3, 4, 5, 6, 7, 1, 2, 4, 3 ,23, - & 3*13, 10, 11, 10, 3*13, 10, 4, 11, 3*14, 11, 3, 1, 8, 2*1, 2, 9, - & 2*2, 13, 23, 8, 1, 8, 17, 3*7, 2*23, 4*13, 23, 14, 2*13, 23, 15, - & 2*24, 15, 16, 2*25, 16, 15, 2*24, 15, 16, 25, 25, 16, 15, 24, 36, - & 37, 15, 24, 2*15, 24, 15, 37, 36, 24, 15, 2*24, 16, 25, 38, 39, - & 16, 25, 2*16, 25, 16, 39, 38, 25, 16, 2*25, 17, 22, 21, 17, 21, - & 20, 17, 22, 8, 1, 21, 22, 20, 17, 48, 50, 49, 8, 1, 3*17, 21, 20, - & 22, 17, 22, 21, 20, 22, 19, 12, 19, 12, 2*1, 8, 1, 2*8, 1, 53, - & 54, 2*1, 8, 53, 54, 55, 1, 8, 1, 8, 54, 55, 56, 1, 2*8, 55, 56, - & 8, 1, 53, 54, 55, 1, 2*8, 54, 55, 56, 1, 8, 1, 8, 53, 54, 55, 1, - & 8, 1, 8, 54, 55, 56, 1, 8, 1, 8, 1, 8, 17, 21, 22, 2*1, 8, 1, 8, - & 17, 22, 20, 8, 2*2, 9, 2, 2*9, 2, 67, 68, 2*2, 9, 67, 68, 69, 2, - & 9, 2, 9, 68, 69, 70, 2, 2*9, 69, 70, 9, 2, 9, 67, 68, 69, 2, 9,2, - & 9, 68, 69, 70, 2, 9, 1, 8, 2*13, 14, 1, 8, 2*1, 3*8, 1, 8, 5*1, - & 8, 2*2, 2*9, 2*2, 9, 2*15, 24, 2*16, 2*25, 2*15, 2*24, 2*16, 25, - & 1, 21, 22, 21, 48, 49, 8, 17, 20, 17, 22, 2*20, 22, 20, 23*0, - & 2*31, 13, 7, 15, 12, 13, 31, 2*17, 2, 9, 18, 9, 2*18, 17, 21, 22, - & 17, 21, 20, 17, 20, 22, 97, 98, 97, 98, 97, 98, 17, 18, 99, 100, - & 18, 101, 99, 18, 101, 100, 102, 103, 102, 103, 102, 103, 18 / - DATA (NZK1(I,1),I=379,540)/2*16, 2*24, 16, 25, 15, 24, 2*15, 2*25, - & 31, 2*15, 31, 2*16, 23, 13, 7, 3*116, 2*117, 119, 2*118, 2*119, - & 2*120, 2*121, 3*130, 4, 10, 13, 10, 4, 32, 13, 36, 11, 3, 34, 14, - & 38, 133, 134, 135, 136, 2*21, 1, 97, 104, 54, 53, 17, 22, 2*21, - & 1, 54, 53, 21, 97, 21, 97, 22, 21, 97, 98, 105, 3*137, 138, 139, - & 2*97, 2*109, 140, 138, 137, 139, 138, 145, 2*99, 2, 102, 110, 68, - & 67, 18, 100, 2*99, 2, 68, 67, 99, 102, 99, 102, 100, 99, 102,103, - & 111, 3*149, 150, 151, 2*113, 2*115, 152, 150, 149, 151, 150, 157, - & 140, 141, 142, 143, 144, 145, 146, 147, 148, 138, 145, 140, 152, - & 153, 154, 155, 156, 157, 158, 159, 160, 150, 157, 152, 34, 32, - & 2*33, 32, 33, 34 / - DATA (NZK1(I,2),I=1,378) /7*0, 3, 4, 6, 5, 23, 14, 11, 3, 3*5, 23, - & 13, 3*23, 5, 23, 13, 3*23, 14, 23, 3, 11, 13, 23, 4, 10, 14, 23, - & 14, 23, 13, 2*7, 4, 2*7, 23, 2*14, 23, 14, 2*23, 2*14, 7, 23, 13, - & 23, 14, 23, 14, 23, 13, 23, 13, 23, 14, 23, 14, 23, 13, 23, 13, - & 23, 13, 33, 32, 35, 31, 23, 14, 23, 14, 33, 34, 35, 31, 23, 14, - & 23, 14, 33, 34, 35, 31, 23, 13, 23, 13, 33, 32, 35, 31, 13, 13, - & 2*23, 14, 13, 2*14, 25, 16, 14, 23, 13, 31, 14, 13, 23, 25, 16, - & 23, 35, 33, 34, 32, 33, 2*31, 14, 13, 23, 4*0, 13, 23, 13, 14, - & 23, 14, 13, 23, 13, 78, 23, 13, 14, 23, 13, 79, 78, 14, 23, 14, - & 23, 13, 80, 79, 2*14, 23, 80, 31, 14, 23, 13, 79, 78, 31, 14, 23, - & 13, 80, 79, 23, 13, 14, 23, 13, 79, 78, 14, 23, 14, 23, 13, 80, - & 79, 23, 13, 33, 32, 15, 24, 15, 31, 14, 23, 34, 33, 2*24, 15, 31, - & 14, 23, 14, 13, 23, 13, 14, 23, 14, 80, 23, 14, 13, 23, 14,79,80, - & 13, 23, 13, 23, 14, 78, 79, 2*13, 23, 78, 23, 14, 13, 23, 14, 79, - & 80, 13, 23, 13, 23, 14, 78, 79, 62, 61, 23, 14, 23, 2*13, 13, 23, - & 2*13, 23, 3*14, 1, 2*8, 1, 8, 1, 2*8, 1, 8, 1, 8, 1, 8, 2*1, 8,1, - & 2*8, 2*1, 2*8, 1, 8, 25, 23, 13, 31, 23, 13, 16, 14, 35, 2*34,33, - & 31, 14, 23, 23*0, 13, 23, 14, 7, 16, 19, 14, 7, 23, 14, 23, 14,7, - & 13, 23, 2*13, 23, 13, 23, 14, 13, 14, 23, 14, 23, 13, 14, 23, 14, - & 23, 16, 14, 23, 14, 23, 14, 2*13, 23, 13, 23, 14,13,23,13,23,15 / - DATA (NZK1(I,2),I=379,540) / 3*13, 23, 2*13, 5*14, 23, 13, 16, 25, - & 14, 15, 24, 23, 14, 7, 23, 7, 13, 23, 7, 14, 23, 7, 23, 5*7, 13, - & 23, 31, 3, 11, 14, 135, 5, 3*134, 136, 6, 3*133, 4*0, 31, 95, 25, - & 15, 31, 95, 16, 2*32, 33, 35, 2*39, 38, 25, 13, 39, 32, 39, 38, - & 35, 32, 39, 13, 23, 14, 2*7, 25, 37, 32, 13, 25, 13, 25, 13, 25, - & 13, 31, 95, 24, 16, 31, 24, 15, 2*34, 33, 35, 2*37, 36, 24, 14, - & 37, 34, 37, 36, 35, 34, 37, 14, 23, 13, 2*7, 24, 39, 34, 14, 24, - & 14, 24, 14, 24, 14, 9*7, 25, 13, 25, 9*7, 24, 14, 24, 13, 14, 23, - & 13, 23, 14, 23/ - DATA (NZK1(I,3),I=1,378) /7*0, 5, 6, 5, 6, 2*23, 2*5, 4*0, 14, 23, - & 2*5, 2*0, 14, 23, 2*5, 2*0, 2*5, 2*0, 2*5, 7*0, 3, 0, 7, 2*23, 7, - & 4*0, 23, 201*0, 23, 13, 14, 2*23, 14, 3*23, 14, 23, 13, 23, 14, - & 13, 23, 13, 23, 14, 23, 2*14, 23, 2*13, 23, 13, 14, 2*23, 14, 23, - & 13, 23, 2*14, 38*0, 14, 23, 7, 3*0, 23, 41*0 / - DATA (NZK1(I,3),I=379,540) / 0, 23, 14, 0, 13, 0, 14, 2*0, 23, 13, - & 2*0, 15, 2*0, 16, 18*0, 14, 23, 3*0, 23, 2*134, 3*0, 2*133, 92*0, - & 2*13, 25, 9*0, 2*14, 24, 7*0/ -* - DO 10 J=1,IDMAX9 - ZKNAME(J)=ZKNAM1(J) - WT(J)=WT1(J) - DO 20 I=1,3 - NZK(J,I)=NZK1(J,I) - 20 CONTINUE - 10 CONTINUE - -*= end.block.blkdt7 * - END diff --git a/StarVMC/geant3/cgpack/cgaffi.F b/StarVMC/geant3/cgpack/cgaffi.F deleted file mode 100644 index 498013a637e..00000000000 --- a/StarVMC/geant3/cgpack/cgaffi.F +++ /dev/null @@ -1,137 +0,0 @@ -* -* $Id: cgaffi.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: cgaffi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGAFFI(TT,CG) -************************************************************************ -* * -* Name: CGAFFI * -* Author: E. Chernyaev Date: 24.08.88 * -* Revised: * -* * -* Function: Affine transformation of CG-object * -* * -* References: CGTSTR * -* * -* Input: T(4,3) - transformation matrix * -* Output: CG(*) - CG-object * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - REAL TT(4,3),CG(*) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION T(4,3),X1,Y1,Z1,X2,Y2,Z2, - + A,B,C,Q,S,XGRAV,YGRAV,ZGRAV -#endif -#if defined(CERNLIB_SINGLE) - REAL T(4,3) -#endif -*- - TDEL = EEWOR / 10. - CALL CGTSTR(CG,IREP) - IF (IREP .LT. 0) GOTO 999 - DO 20 J=1,3 - DO 10 I=1,4 - T(I,J) = TT(I,J) - IF (ABS(TT(I,J)) .LT. TDEL) T(I,J) = 0. - IF (ABS(1.-TT(I,J)) .LT. TDEL) T(I,J) = 1. - IF (ABS(1.+TT(I,J)) .LT. TDEL) T(I,J) =-1. - 10 CONTINUE - 20 CONTINUE -* -** T R A N S F E R C O O R D I N A T E S -* - NFACE = CG(KCGNF) - IF (NFACE .EQ. 0) GOTO 999 - JCG = LCGHEA - DO 200 NF=1,NFACE - NEDGE = CG(JCG+KCGNE) - JCG = JCG + LCGFAC - DO 100 NE=1,NEDGE - X1 = CG(JCG+KCGX1) - Y1 = CG(JCG+KCGY1) - Z1 = CG(JCG+KCGZ1) - X2 = CG(JCG+KCGX2) - Y2 = CG(JCG+KCGY2) - Z2 = CG(JCG+KCGZ2) - CG(JCG+KCGX1) = T(1,1)*X1 + T(2,1)*Y1 + T(3,1)*Z1 + T(4,1) - CG(JCG+KCGY1) = T(1,2)*X1 + T(2,2)*Y1 + T(3,2)*Z1 + T(4,2) - CG(JCG+KCGZ1) = T(1,3)*X1 + T(2,3)*Y1 + T(3,3)*Z1 + T(4,3) - CG(JCG+KCGX2) = T(1,1)*X2 + T(2,1)*Y2 + T(3,1)*Z2 + T(4,1) - CG(JCG+KCGY2) = T(1,2)*X2 + T(2,2)*Y2 + T(3,2)*Z2 + T(4,2) - CG(JCG+KCGZ2) = T(1,3)*X2 + T(2,3)*Y2 + T(3,3)*Z2 + T(4,3) - JCG = JCG + LCGEDG - 100 CONTINUE - 200 CONTINUE -* -** S E T N E W N O R M A L E S -* - JCG = LCGHEA - DO 400 NF=1,NFACE - JCGFAC = JCG - NEDGE = CG(JCG+KCGNE) - A = (T(2,2)*T(3,3) - T(3,2)*T(2,3))*CG(JCG+KCGAA) + - + (T(3,2)*T(1,3) - T(1,2)*T(3,3))*CG(JCG+KCGBB) + - + (T(1,2)*T(2,3) - T(2,2)*T(1,3))*CG(JCG+KCGCC) - B = (T(2,3)*T(3,1) - T(3,3)*T(2,1))*CG(JCG+KCGAA) + - + (T(3,3)*T(1,1) - T(1,3)*T(3,1))*CG(JCG+KCGBB) + - + (T(1,3)*T(2,1) - T(2,3)*T(1,1))*CG(JCG+KCGCC) - C = (T(2,1)*T(3,2) - T(3,1)*T(2,2))*CG(JCG+KCGAA) + - + (T(3,1)*T(1,2) - T(1,1)*T(3,2))*CG(JCG+KCGBB) + - + (T(1,1)*T(2,2) - T(2,1)*T(1,2))*CG(JCG+KCGCC) -* IF (ABS(A) .LT. EEWOR/10.) A=0. -* IF (ABS(B) .LT. EEWOR/10.) B=0. -* IF (ABS(C) .LT. EEWOR/10.) C=0. - Q = A*A + B*B + C*C - S = 1. - IF (Q.GT.1+TDEL .OR. Q.LT.1-TDEL) S = SQRT(Q) - IF(S.LT.TDEL)S=TDEL - XGRAV = 0. - YGRAV = 0. - ZGRAV = 0. - JCG = JCG + LCGFAC - DO 300 NE=1,NEDGE - XGRAV = XGRAV + CG(JCG+KCGX1) + CG(JCG+KCGX2) - YGRAV = YGRAV + CG(JCG+KCGY1) + CG(JCG+KCGY2) - ZGRAV = ZGRAV + CG(JCG+KCGZ1) + CG(JCG+KCGZ2) - JCG = JCG + LCGEDG - 300 CONTINUE - XGRAV = XGRAV / (2*NEDGE) - YGRAV = YGRAV / (2*NEDGE) - ZGRAV = ZGRAV / (2*NEDGE) - CG(JCGFAC+KCGAA) = A / S - CG(JCGFAC+KCGBB) = B / S - CG(JCGFAC+KCGCC) = C / S - CG(JCGFAC+KCGDD) =-(A*XGRAV + B*YGRAV + C*ZGRAV) / S - 400 CONTINUE -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbfit.F b/StarVMC/geant3/cgpack/cgbfit.F deleted file mode 100644 index e51226ce89f..00000000000 --- a/StarVMC/geant3/cgpack/cgbfit.F +++ /dev/null @@ -1,123 +0,0 @@ -* -* $Id: cgbfit.F,v 1.1.1.2 2009/02/01 17:10:05 fisyak Exp $ -* -* $Log: cgbfit.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:05 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBFIT(FACE,ABCD,NT) -************************************************************************ -* * -* Name: CGBFIT * -* Author: E. Chernyaev Date: 15.03.89 * -* Revised: S.Giani 1992 * -* * -* Function: Find all intersection points of face with plane * -* * -* References: none * -* * -* Input: FACE(*) - face * -* ABCD(4) - plane * -* * -* Output: NT - number of intersections * -* * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgcedg.inc" -#include "geant321/cgdelt.inc" - REAL FACE(*),ABCD(4) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION A,B,C,D -#endif - INTEGER KCG(6) - DATA KCG/KCGX1,KCGY1,KCGZ1,KCGX2,KCGY2,KCGZ2/ -*- - ERROR = EEWOR - A = ABCD(1) - B = ABCD(2) - C = ABCD(3) - D = ABCD(4) -* D1=0 -* D2=0 - XDELT = FACE(KCGBB)*C - B*FACE(KCGCC) - YDELT = FACE(KCGCC)*A - C*FACE(KCGAA) - ZDELT = FACE(KCGAA)*B - A*FACE(KCGBB) - K = 1 - IF (ABS(YDELT) .GT. ABS(XDELT)) K = 2 - IF (ABS(ZDELT) .GT. ABS(DELTA(K))) K = 3 - IF(ABS(DELTA(K)).LT.ERROR)RETURN - DD = 1./ABS(DELTA(K)) - DELTA(1) = DELTA(1) * DD - DELTA(2) = DELTA(2) * DD - DELTA(3) = DELTA(3) * DD - KCG1 = KCG(K) - KCG2 = KCG(K+3) -* F I N D I N T E R S E C T I O N S P O I N T S - J = LCGFAC - LCGEDG - NT = 0 - NEDGE = FACE(KCGNE) - DO 600 NE=1,NEDGE - J = J + LCGEDG - D1 = A*FACE(J+KCGX1) + B*FACE(J+KCGY1) + C*FACE(J+KCGZ1) + D - D2 = A*FACE(J+KCGX2) + B*FACE(J+KCGY2) + C*FACE(J+KCGZ2) + D - IF (ABS(D1) .LE. ERROR) D1 = 0. - IF (ABS(D2) .LE. ERROR) D2 = 0. - IF (D1*D2 .GT. 0.) GOTO 600 - NT = NT + 1 - IF (D1.EQ.0. .AND. D2.EQ.0.) GOTO 500 - IF (D1.LT.0. .OR. D2.GT.0.) TTT(2,NT) =-1. - IF (D1.GT.0. .OR. D2.LT.0.) TTT(2,NT) =+1. -* D 1 O R D 2 I S N O T Z E R O - IF (NT .NE. 1) GOTO 400 - XA = (D2*FACE(J+KCGX1)-D1*FACE(J+KCGX2)) / (D2 - D1) - YA = (D2*FACE(J+KCGY1)-D1*FACE(J+KCGY2)) / (D2 - D1) - ZA = (D2*FACE(J+KCGZ1)-D1*FACE(J+KCGZ2)) / (D2 - D1) - TTT(1,1) = 0. - GOTO 600 - 400 X = (D2*FACE(J+KCG1)-D1*FACE(J+KCG2)) / (D2 - D1) - TTT(1,NT) = (X - AA(K)) / DELTA(K) - GOTO 600 -* D 1 A N D D 2 B O T H A R E Z E R O - 500 IF (NT .NE. 1) GOTO 510 - XA = FACE(J+KCGX1) - YA = FACE(J+KCGY1) - ZA = FACE(J+KCGZ1) - TTT(1,1) = 0. - TTT(2,1) = 0. - GOTO 520 - 510 X = FACE(J+KCG1) - TTT(1,NT) = (X - AA(K)) / DELTA(K) - TTT(2,NT) = 0. - 520 NT = NT + 1 - X = FACE(J+KCG2) - TTT(1,NT) = (X - AA(K)) / DELTA(K) - TTT(2,NT) = 2. - IF (TTT(1,NT) .GT. TTT(1,NT-1)) GOTO 600 - TTT(2,NT-1)= 2. - TTT(2,NT) = 0. - 600 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbint.F b/StarVMC/geant3/cgpack/cgbint.F deleted file mode 100644 index 4087489e47e..00000000000 --- a/StarVMC/geant3/cgpack/cgbint.F +++ /dev/null @@ -1,99 +0,0 @@ -* -* $Id: cgbint.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbint.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBINT(A,B,NMAX,C,IREP) -************************************************************************ -* * -* Name: CGBINT * -* Author: E. Chernyaev Date: 23.10.88 * -* Revised: * -* * -* Function: Intersection of two faces * -* * -* References: CGBMMT,CGBTEF,CGBSOR * -* * -* Input: A(*) - 1-st face * -* B(*) - 2-nd face * -* NMAX - max length C array * -* * -* Output: C(*) - resulting face * -* IREP - reply (legth of resulting face) * -* (-1 if no space) * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL A(*),B(*),C(*) -*- - IF (NMAX .LT. LCGFAC) GOTO 998 -* M I N - M A X T E S T O F T W O F A C E S - CALL CGBMMT(A,B,IREP) - IF (IREP .EQ. 0) GOTO 999 -* T E S T 1 - S T F A C E A G A I N S T 2 - N D - C(KCGAF) = NMAX - C(KCGNE) = 0. - NEDGE = A(KCGNE) - J = LCGFAC - INTRNL = -1 - IVAR = 2 - DO 100 NE=1,NEDGE - CALL CGBTEF(INTRNL,IVAR,A(J+1),B,C) - IF (C(KCGAF) .LT. 0.) GOTO 998 - J = J + LCGEDG - 100 CONTINUE -* T E S T 2 - N D F A C E A G A I N S T 1 - S T - NEDGE = B(KCGNE) - J = LCGFAC - DO 200 NE=1,NEDGE - CALL CGBTEF(INTRNL,IVAR,B(J+1),A,C) - IF (C(KCGAF) .LT. 0.) GOTO 998 - J = J + LCGEDG - 200 CONTINUE -* P R E P A R E N E W F A C E - NEDGE = C(KCGNE) - IF (NEDGE .EQ. 0) GOTO 997 - CALL CGBSOR(NEDGE,C(LCGFAC+1)) - C(KCGNE) = NEDGE - IF (NEDGE .EQ. 0) GOTO 997 - IF (NEDGE .LT. 3) PRINT *,' CGBINT: NEDGE .LT. 3 - face ignored' - IF (NEDGE .LT. 3) GOTO 997 - C(KCGAF) = A(KCGAF) - IF (B(KCGAF) .GT. A(KCGAF)) C(KCGAF) = B(KCGAF) - C(KCGAA) = A(KCGAA) - C(KCGBB) = A(KCGBB) - C(KCGCC) = A(KCGCC) - C(KCGDD) = A(KCGDD) - IREP = LCGFAC + NEDGE*LCGEDG - GOTO 999 -* - 997 IREP = 0 - GOTO 999 - 998 IREP = -1 - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbmmt.F b/StarVMC/geant3/cgpack/cgbmmt.F deleted file mode 100644 index 5bc36d7c41f..00000000000 --- a/StarVMC/geant3/cgpack/cgbmmt.F +++ /dev/null @@ -1,98 +0,0 @@ -* -* $Id: cgbmmt.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbmmt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBMMT(A,B,IREP) -************************************************************************ -* * -* Name: CGBMMT * -* Author: E. Chernyaev Date: 23.10.88 * -* Revised: * -* * -* Function: Mim-max test of two faces * -* * -* References: none * -* * -* Input: A(*) - 1-st face * -* B(*) - 2-nd face * -* * -* Output: IREP - reply (=0 if NO intersection) * -* (=1 if there is intersection) * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - REAL A(*),B(*),RMNA(3),RMXA(3),RMNB(3),RMXB(3) - INTEGER IND(6) - DATA IND/KCGX1,KCGY1,KCGZ1,KCGX2,KCGY2,KCGZ2/ -*- - JJ = LCGFAC - DO 100 I=1,3 - RMNA(I)= A(JJ+IND(I)) - RMXA(I)= A(JJ+IND(I)) - RMNB(I)= B(JJ+IND(I)) - RMXB(I)= B(JJ+IND(I)) - 100 CONTINUE -* C O M P U T E M I N - M A X O F 1 - S T F A C E - NEDGE = A(KCGNE) - JJ = LCGFAC - DO 220 NE=1,NEDGE - DO 210 J=1,3 - I = J - IF (J .GT. 3) I = J - 3 - IF (A(JJ+IND(J)) .LT. RMNA(I)) RMNA(I) = A(JJ+IND(J)) - IF (A(JJ+IND(J)) .GT. RMXA(I)) RMXA(I) = A(JJ+IND(J)) - 210 CONTINUE - JJ = JJ + LCGEDG - 220 CONTINUE -* C O M P U T E M I N - M A X O F 2 - N D F A C E - NEDGE = B(KCGNE) - JJ = LCGFAC - DO 320 NE=1,NEDGE - DO 310 J=1,3 - I = J - IF (J .GT. 3) I = J - 3 - IF (B(JJ+IND(J)) .LT. RMNB(I)) RMNB(I) = B(JJ+IND(J)) - IF (B(JJ+IND(J)) .GT. RMXB(I)) RMXB(I) = B(JJ+IND(J)) - 310 CONTINUE - JJ = JJ + LCGEDG - 320 CONTINUE -* M I N - M A X T E S T - IREP = 0 - IF (RMNA(1) .GT. RMXB(1)+EEWOR) GOTO 999 - IF (RMXA(1) .LT. RMNB(1)-EEWOR) GOTO 999 - IF (RMNA(2) .GT. RMXB(2)+EEWOR) GOTO 999 - IF (RMXA(2) .LT. RMNB(2)-EEWOR) GOTO 999 - IF (RMNA(3) .GT. RMXB(3)+EEWOR) GOTO 999 - IF (RMXA(3) .LT. RMNB(3)-EEWOR) GOTO 999 - IREP = 1 -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbool.F b/StarVMC/geant3/cgpack/cgbool.F deleted file mode 100644 index f4bd2ea858a..00000000000 --- a/StarVMC/geant3/cgpack/cgbool.F +++ /dev/null @@ -1,182 +0,0 @@ -* -* $Id: cgbool.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbool.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:45:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBOOL(IFA,IFB,A,B,NMAX,C) -************************************************************************ -* * -* Name: CGBOOL * -* Author: E. Chernyaev Date: 05.04.89 * -* Revised: * -* * -* Function: Make boolean operation with * -* * -* References: CGMNMX,CGCOPY,CGINVE,CGBSEA,CGBSEC,CGBINT,CGBSUB * -* * -* Input: A(*) - 1-st CG-object * -* B(*) - 2-nd CG-object * -* NMAX - max length C array * -* * -* Output: C(*) - resulting CG-object * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - REAL A(*),B(*),C(*),AMN(3),AMX(3),BMN(3),BMX(3) -*- - C(KCGSIZ) = 0. -* T E S T P A R A M E T E R S C O R R E C T N E S S - CALL CGMNMX(A,AMN,AMX) - CALL CGMNMX(B,BMN,BMX) - IF (AMN(1) .GT. AMX(1)) GOTO 999 - IF (BMN(1) .GT. BMX(1)) GOTO 999 - IF (NMAX .LT. LCGHEA) GOTO 998 - IF (A(KCGNF) .EQ. 0.) GOTO 110 - IF (B(KCGNF) .EQ. 0.) GOTO 120 - GOTO 150 -* O B J E C T "A" I S E M P T Y - 110 IF (IFA.NE.0 .AND. IFB.EQ.0) GOTO 999 - IF (IFA .EQ. 0) CALL CGCOPY(B,NMAX,C) - IF (IFB .NE. 0) CALL CGCOPY(A,NMAX,C) - IF (C(KCGSIZ) .LT. 0.) GOTO 998 - GOTO 999 -* O B J E C T "B" I S E M P T Y - 120 IF (IFB .EQ. 0) CALL CGCOPY(A,NMAX,C) - IF (IFB .NE. 0) CALL CGCOPY(B,NMAX,C) - IF (C(KCGSIZ) .LT. 0.) GOTO 998 - GOTO 999 -* -** M I N - M A X T E S T -* - 150 DO 200 I=1,3 - IF (AMN(I) .GT. BMX(I)+EEWOR) GOTO 210 - IF (AMX(I) .LT. BMN(I)-EEWOR) GOTO 210 - 200 CONTINUE - GOTO 300 -* -** N O I N T E R S E C T I O N O F S C O P E S -* - 210 IF (IFA.NE.0 .AND. IFB.NE.0) GOTO 220 -**** 12-MAR-1990 -* -* IF (IFA.NE.0 .AND. IFB.EQ.0) GOTO 220 - IF (IFA.NE.0 .AND. IFB.EQ.0) GOTO 230 -* - IF (IFA.EQ.0 .AND. IFB.EQ.0) GOTO 240 -* N O I N T E R S E C T I O N - 220 C(KCGSIZ) = LCGHEA - C(KCGATT) = 0. - C(KCGNF) = 0. - GOTO 999 -* N O S U B T R A C T I O N - 230 CALL CGCOPY(A,NMAX,C) - IF (C(KCGSIZ) .LT. 0.) GOTO 998 - GOTO 999 -* S I M P L E S U M O F O B J E C T S - 240 LTOTAL = A(KCGSIZ) + B(KCGSIZ) - LCGHEA - IF (LTOTAL .GT. NMAX) GOTO 998 - J = A(KCGSIZ) - LCGHEA + 1 - CALL CGCOPY(B,NMAX,C(J)) - CALL CGCOPY(A,NMAX,C) - C(KCGSIZ) = LTOTAL - C(KCGNF) = A(KCGNF) + B(KCGNF) - GOTO 999 -* -** F I N D I N T E R S E C T I O N O F F A C E S -** W I T H T H E S A M E P L A N E -* - 300 IF (IFA .NE. 0) CALL CGINVE(A) - IF (IFB .NE. 0) CALL CGINVE(B) - JA = LCGHEA - JC = LCGHEA - NC = 0 - NFACE = A(KCGNF) - DO 330 NF=1,NFACE - JB = LCGHEA - NB = 0 - 310 CALL CGBSEA(A(JA+1),B,NB,JB) - IF (NB .EQ. 0) GOTO 320 - CALL CGBINT(A(JA+1),B(JB+1),NMAX-JC,C(JC+1),IREP) - IF (IREP .LT. 0) GOTO 997 - IF (IREP .EQ. 0) GOTO 310 - NC = NC + 1 - JC = JC + IREP - GOTO 310 - 320 NEDGE = A(JA+KCGNE) - JA = JA + LCGFAC + NEDGE*LCGEDG - 330 CONTINUE -* -** F I N D P A R T O F 1 - S T O B J E C T W H I C H -** L I E O U T S I D E O F 2 - N D O B J E C T -* - J = LCGHEA - NFACE = A(KCGNF) - DO 400 NF=1,NFACE - JCSAV = JC - CALL CGBSEC(A(J+1),B,BMN,BMX,NMAX-JCSAV,C(JCSAV+1),IREP) - IF (IREP .LT. 0) GOTO 997 - JC = JCSAV + IREP - CALL CGBSUB(IFB,A(J+1),C(JCSAV+1),NMAX-JC,C(JC+1),IREP) - IF (IREP .LT. 0) GOTO 997 - JC = JCSAV + IREP - IF (IREP .GT. 0) NC = NC + 1 - NEDGE = A(J+KCGNE) - J = J + LCGFAC + NEDGE*LCGEDG - 400 CONTINUE -* -** F I N D P A R T O F 2 - N D O B J E C T W H I C H -** L I E O U T S I D E O F 1 - S T O B J E C T -* - J = LCGHEA - NFACE = B(KCGNF) - DO 500 NF=1,NFACE - JCSAV = JC - CALL CGBSEC(B(J+1),A,AMN,AMX,NMAX-JCSAV,C(JCSAV+1),IREP) - IF (IREP .LT. 0) GOTO 997 - JC = JCSAV + IREP - CALL CGBSUB(IFA,B(J+1),C(JCSAV+1),NMAX-JC,C(JC+1),IREP) - IF (IREP .LT. 0) GOTO 997 - JC = JCSAV + IREP - IF (IREP .GT. 0) NC = NC + 1 - NEDGE = B(J+KCGNE) - J = J + LCGFAC + NEDGE*LCGEDG - 500 CONTINUE -* - C(KCGSIZ) = JC - C(KCGATT) = 0. - C(KCGNF) = NC - IF (IFA.NE.0 .OR. IFB.NE.0) CALL CGINVE(C) -* - 997 IF (IFA .NE. 0) CALL CGINVE(A) - IF (IFB .NE. 0) CALL CGINVE(B) - IF (IREP .GE. 0) GOTO 999 - 998 C(KCGSIZ) = -1. - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbox.F b/StarVMC/geant3/cgpack/cgbox.F deleted file mode 100644 index c42e24e20fb..00000000000 --- a/StarVMC/geant3/cgpack/cgbox.F +++ /dev/null @@ -1,197 +0,0 @@ -* -* $Id: cgbox.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbox.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBOX (XYZ,N1,N2,LCG,CG) -************************************************************************ -* * -* Name: CGBOX * -* Author: E. Chernyaev Date: 12.02.89 * -* Revised: * -* * -* Function: Create CG-object for box * -* * -* References: CGSIZE, CGSNOR * -* * -* Input: XYZ(3,N1+N2) - nodes * -* N1 - number of nodes in main base * -* N2 - number of nodes in 2-nd base * -* LCG - max-size of CG-object * -* * -* Output: CG - CG-object * -* CG(1) - length of CG-object * -* = 0 if error in parameters * -* < 0 if no space * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL CG(*),XYZ(3,*) - INTEGER NFAC(2),NEDG(2) -*- - CG(KCGSIZ) = 0. -* T E S T P A R A M E T E R S C O R R E C T N E S S - IF (N1 .LT. 3) GOTO 999 - IF (N2.NE.N1 .AND. N2.NE.1) GOTO 999 -* C O M P U T E S I Z E O F C G - O B J E C T - NFATYP = 2 - NEDG(1)= N1 - IF (N2 .NE. 1) NEDG(2) = 4 - IF (N2 .EQ. 1) NEDG(2) = 3 - IF (N2 .NE. 1) NFAC(1) = 2 - IF (N2 .EQ. 1) NFAC(1) = 1 - NFAC(2)= N1 - CG(KCGSIZ) = CGSIZE(LCG,NFATYP,NFAC,NEDG) - IF (CG(KCGSIZ) .LE. 0.) GOTO 999 -* -** C R E A T E C G - O B J E C T -* - CG(KCGATT) = 0. - CG(KCGNF) = NFAC(1) + NFAC(2) - JCG = LCGHEA -* C R E A T E M A I N B A S E - CG(JCG + KCGAF) = 0. - CG(JCG + KCGNE) = N1 - JCG = JCG + LCGFAC - DO 100 I=1,N1 - I1 = I - I2 = I + 1 - IF (I .EQ. N1) I2 = 1 - CG(JCG+KCGAE) = 0. - CG(JCG+KCGX1) = XYZ(1,I1) - CG(JCG+KCGY1) = XYZ(2,I1) - CG(JCG+KCGZ1) = XYZ(3,I1) - CG(JCG+KCGX2) = XYZ(1,I2) - CG(JCG+KCGY2) = XYZ(2,I2) - CG(JCG+KCGZ2) = XYZ(3,I2) - JCG = JCG + LCGEDG - 100 CONTINUE -* C R E A T E 2 - N D B A S E - IF (N2 .EQ. 1) GOTO 300 - CG(JCG + KCGAF) = 0. - CG(JCG + KCGNE) = N2 - JCG = JCG + LCGFAC - DO 200 I=1,N2 - I1 = I - I2 = I + 1 - IF (I .EQ. N2) I2 = 1 - CG(JCG+KCGAE) = 0. - CG(JCG+KCGX1) = XYZ(1,I2+N1) - CG(JCG+KCGY1) = XYZ(2,I2+N1) - CG(JCG+KCGZ1) = XYZ(3,I2+N1) - CG(JCG+KCGX2) = XYZ(1,I1+N1) - CG(JCG+KCGY2) = XYZ(2,I1+N1) - CG(JCG+KCGZ2) = XYZ(3,I1+N1) - JCG = JCG + LCGEDG - 200 CONTINUE -* C R E A T E S I D E F A C E S - 300 DO 350 I=1,N1 - I1 = I - I2 = I + 1 - IF (I .EQ. N1) I2 = 1 - CG(JCG + KCGAF) = 0. - CG(JCG + KCGNE) = NEDG(2) - JCG = JCG + LCGFAC -* - CG(JCG+KCGAE) = 0. - CG(JCG+KCGX1) = XYZ(1,I2) - CG(JCG+KCGY1) = XYZ(2,I2) - CG(JCG+KCGZ1) = XYZ(3,I2) - CG(JCG+KCGX2) = XYZ(1,I1) - CG(JCG+KCGY2) = XYZ(2,I1) - CG(JCG+KCGZ2) = XYZ(3,I1) - JCG = JCG + LCGEDG -* - IF (N2 .NE. 1) K = N1 + I1 - IF (N2 .EQ. 1) K = N1 + 1 - CG(JCG+KCGAE) = 0. - CG(JCG+KCGX1) = XYZ(1,I1) - CG(JCG+KCGY1) = XYZ(2,I1) - CG(JCG+KCGZ1) = XYZ(3,I1) - CG(JCG+KCGX2) = XYZ(1,K) - CG(JCG+KCGY2) = XYZ(2,K) - CG(JCG+KCGZ2) = XYZ(3,K) - JCG = JCG + LCGEDG -* - IF (N2 .EQ. 1) GOTO 310 - CG(JCG+KCGAE) = 0. - CG(JCG+KCGX1) = XYZ(1,I1+N1) - CG(JCG+KCGY1) = XYZ(2,I1+N1) - CG(JCG+KCGZ1) = XYZ(3,I1+N1) - CG(JCG+KCGX2) = XYZ(1,I2+N1) - CG(JCG+KCGY2) = XYZ(2,I2+N1) - CG(JCG+KCGZ2) = XYZ(3,I2+N1) - JCG = JCG + LCGEDG -* - 310 IF (N2 .NE. 1) K = N1 + I2 - IF (N2 .EQ. 1) K = N1 + 1 - CG(JCG+KCGAE) = 0. - CG(JCG+KCGX1) = XYZ(1,K) - CG(JCG+KCGY1) = XYZ(2,K) - CG(JCG+KCGZ1) = XYZ(3,K) - CG(JCG+KCGX2) = XYZ(1,I2) - CG(JCG+KCGY2) = XYZ(2,I2) - CG(JCG+KCGZ2) = XYZ(3,I2) - JCG = JCG + LCGEDG - 350 CONTINUE -* S E T N O R M A L E S - CALL CGSNOR(CG) - IF (CG(1) .EQ. 0.) PRINT *, ' Problem in CGBOX' - JCG = LCGHEA - A = CG(JCG + KCGAA) - B = CG(JCG + KCGBB) - C = CG(JCG + KCGCC) - D = CG(JCG + KCGDD) - DIST = A*XYZ(1,N1+1) + B*XYZ(2,N1+1) + C*XYZ(3,N1+1) + D - IF (DIST .LT. 0.) GOTO 999 -* S E T I N V E R S E O R D E R O F E D G E S - NFACE = CG(KCGNF) - DO 500 NF=1,NFACE - CG(JCG + KCGAA) =-CG(JCG + KCGAA) - CG(JCG + KCGBB) =-CG(JCG + KCGBB) - CG(JCG + KCGCC) =-CG(JCG + KCGCC) - CG(JCG + KCGDD) =-CG(JCG + KCGDD) - NEDGE = CG(JCG+KCGNE) - JCG = JCG + LCGFAC - DO 400 NE=1,NEDGE - X = CG(JCG+KCGX1) - Y = CG(JCG+KCGY1) - Z = CG(JCG+KCGZ1) - CG(JCG + KCGX1) = CG(JCG + KCGX2) - CG(JCG + KCGY1) = CG(JCG + KCGY2) - CG(JCG + KCGZ1) = CG(JCG + KCGZ2) - CG(JCG + KCGX2) = X - CG(JCG + KCGY2) = Y - CG(JCG + KCGZ2) = Z - JCG = JCG + LCGEDG - 400 CONTINUE - 500 CONTINUE -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbrik.F b/StarVMC/geant3/cgpack/cgbrik.F deleted file mode 100644 index 57c6655fbe2..00000000000 --- a/StarVMC/geant3/cgpack/cgbrik.F +++ /dev/null @@ -1,127 +0,0 @@ -* -* $Id: cgbrik.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbrik.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBRIK(DX,DY,DZ,LCG,CG) -************************************************************************ -* * -* Name: CGBRIK * -* Author: E. Chernyaev Date: 24.03.88 * -* Revised: * -* * -* Function: Create CG-object for BRICK * -* * -* References: CGSIZE * -* * -* Input: DX - X-size * -* DY - Y-size * -* DZ - Z-size * -* LCG - max-size of CG-object * -* * -* Output: CG - CG-object * -* CG(1) - length of CG-object * -* = 0 if error in parameters * -* < 0 if no space * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL CG(*),XYZ(3,8) - INTEGER IORDER(4,6) - SAVE XYZ,IORDER - DATA XYZ/24*0./ - DATA IORDER/1,2,3,4, - + 1,5,6,2, 2,6,7,3, 3,7,8,4, 4,8,5,1, - + 8,7,6,5/ -*- - CG(KCGSIZ) = 0. -* T E S T P A R A M E T E R S C O R R E C T N E S S - IF (DX.LE.0. .OR. DY.LE.0. .OR. DZ.LE.0.) GOTO 999 -* C O M P U T E S I Z E O F C G - O B J E C T - NFATYP = 1 - NFAC = 6 - NEDG = 4 - CG(KCGSIZ) = CGSIZE(LCG,NFATYP,NFAC,NEDG) - IF (CG(KCGSIZ) .LE. 0.) GOTO 999 -* P R E P A R E N O D E S C O O R D I N A T E S - XYZ(2,2) = DY - XYZ(1,3) = DX - XYZ(2,3) = DY - XYZ(1,4) = DX - DO 100 I=1,4 - XYZ(1,I+4) = XYZ(1,I) - XYZ(2,I+4) = XYZ(2,I) - XYZ(3,I+4) = DZ - 100 CONTINUE -* C R E A T E C G - O B J E C T F O R B R I K - CG(KCGATT) = 0. - CG(KCGNF) = 6. - JCG = LCGHEA - DO 300 NF=1,6 - CG(JCG+KCGAF) = 0. - X1 = XYZ(1,IORDER(2,NF))-XYZ(1,IORDER(1,NF)) - Y1 = XYZ(2,IORDER(2,NF))-XYZ(2,IORDER(1,NF)) - Z1 = XYZ(3,IORDER(2,NF))-XYZ(3,IORDER(1,NF)) - X2 = XYZ(1,IORDER(3,NF))-XYZ(1,IORDER(2,NF)) - Y2 = XYZ(2,IORDER(3,NF))-XYZ(2,IORDER(2,NF)) - Z2 = XYZ(3,IORDER(3,NF))-XYZ(3,IORDER(2,NF)) - A = Y1*Z2 - Y2*Z1 - IF (A .GT. 0.) A = 1. - IF (A .LT. 0.) A =-1. - B = X2*Z1 - X1*Z2 - IF (B .GT. 0.) B = 1. - IF (B .LT. 0.) B =-1. - C = X1*Y2 - X2*Y1 - IF (C .GT. 0.) C = 1. - IF (C .LT. 0.) C =-1. - D =-(A*XYZ(1,IORDER(1,NF)) + - + B*XYZ(2,IORDER(1,NF)) + - + C*XYZ(3,IORDER(1,NF)) ) - CG(JCG+KCGAA) = A - CG(JCG+KCGBB) = B - CG(JCG+KCGCC) = C - CG(JCG+KCGDD) = D - CG(JCG+KCGNE) = 4. - JCG = JCG + LCGFAC - DO 200 NE=1,4 - NE2 = NE + 1 - IF (NE .EQ. 4) NE2 = 1 - CG(JCG+KCGAE) = 0. - CG(JCG+KCGX1) = XYZ(1,IORDER(NE,NF)) - CG(JCG+KCGY1) = XYZ(2,IORDER(NE,NF)) - CG(JCG+KCGZ1) = XYZ(3,IORDER(NE,NF)) - CG(JCG+KCGX2) = XYZ(1,IORDER(NE2,NF)) - CG(JCG+KCGY2) = XYZ(2,IORDER(NE2,NF)) - CG(JCG+KCGZ2) = XYZ(3,IORDER(NE2,NF)) - JCG = JCG + LCGEDG - 200 CONTINUE - 300 CONTINUE -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbsea.F b/StarVMC/geant3/cgpack/cgbsea.F deleted file mode 100644 index da32f70aac6..00000000000 --- a/StarVMC/geant3/cgpack/cgbsea.F +++ /dev/null @@ -1,79 +0,0 @@ -* -* $Id: cgbsea.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbsea.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBSEA(A,B,NB,JB) -************************************************************************ -* * -* Name: CGBSEA * -* Author: E. Chernyaev Date: 22.10.88 * -* Revised: * -* * -* Function: For face A search face with the same plane in object B * -* * -* References: none * -* * -* Input: A(*) - face * -* B(*) - CG-object * -* Input * -* Output: NB - current face number in object B * -* JB - current pointer in object B * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - REAL A(*),B(*),ABCD(4) -*- - ABCD(1)= A(KCGAA) - ABCD(2)= A(KCGBB) - ABCD(3)= A(KCGCC) - ABCD(4)= A(KCGDD) - IF (NB .EQ. 0) J = LCGHEA - IF (NB .EQ. 0) GOTO 100 - NEDGE = B(JB+KCGNE) - J = JB + LCGFAC + NEDGE*LCGEDG - 100 NSTART = NB + 1 - NFACE = B(KCGNF) - IF (NSTART .GT. NFACE) GOTO 998 - DO 120 NF=NSTART,NFACE - IF (ABS(B(J+KCGAA)-ABCD(1)) .GT. EEWOR) GOTO 110 - IF (ABS(B(J+KCGBB)-ABCD(2)) .GT. EEWOR) GOTO 110 - IF (ABS(B(J+KCGCC)-ABCD(3)) .GT. EEWOR) GOTO 110 - IF (ABS(B(J+KCGDD)-ABCD(4)) .GT. EEWOR) GOTO 110 - NB = NF - JB = J - GOTO 999 - 110 NEDGE = B(J+KCGNE) - J = J + LCGFAC + NEDGE*LCGEDG - 120 CONTINUE -* - 998 NB = 0 - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbsec.F b/StarVMC/geant3/cgpack/cgbsec.F deleted file mode 100644 index 14cb472bef4..00000000000 --- a/StarVMC/geant3/cgpack/cgbsec.F +++ /dev/null @@ -1,116 +0,0 @@ -* -* $Id: cgbsec.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbsec.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBSEC(FACE,CG,RMN,RMX,NMAX,C,IREP) -************************************************************************ -* * -* Name: CGBTOP * -* Author: E. Chernyaev Date: 24.10.88 * -* Revised: * -* * -* Function: Section of CG-object by face plane * -* * -* References: CGBTFP, CGBSOR * -* * -* Input: FACE(*) - plane * -* CG(*) - CG-object * -* RMN(3) - min of CG-object scope * -* RMX(3) - max of CG-object scope * -* NMAX - max length of C array * -* * -* Output: C(*) - resulting face * -* IREP - reply (length of resulitng face C) * -* (-1 if no space) * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - REAL FACE(*),CG(*),RMN(3),RMX(3),C(*),D(8),ABCD(4) -*- - IF (NMAX .LT. LCGFAC) GOTO 998 - IREP = 0 - C(KCGAF) = NMAX - C(KCGNE) = 0. - ABCD(1)= FACE(KCGAA) - ABCD(2)= FACE(KCGBB) - ABCD(3)= FACE(KCGCC) - ABCD(4)= FACE(KCGDD) -* M I N - M A X T E S T - D(1) = ABCD(1)*RMN(1)+ABCD(2)*RMN(2)+ABCD(3)*RMN(3)+ABCD(4) - D(2) = ABCD(1)*RMX(1)+ABCD(2)*RMN(2)+ABCD(3)*RMN(3)+ABCD(4) - D(3) = ABCD(1)*RMN(1)+ABCD(2)*RMX(2)+ABCD(3)*RMN(3)+ABCD(4) - D(4) = ABCD(1)*RMX(1)+ABCD(2)*RMX(2)+ABCD(3)*RMN(3)+ABCD(4) - D(5) = ABCD(1)*RMN(1)+ABCD(2)*RMN(2)+ABCD(3)*RMX(3)+ABCD(4) - D(6) = ABCD(1)*RMX(1)+ABCD(2)*RMN(2)+ABCD(3)*RMX(3)+ABCD(4) - D(7) = ABCD(1)*RMN(1)+ABCD(2)*RMX(2)+ABCD(3)*RMX(3)+ABCD(4) - D(8) = ABCD(1)*RMX(1)+ABCD(2)*RMX(2)+ABCD(3)*RMX(3)+ABCD(4) - NPOS = 0 - NNEG = 0 - DO 100 I=1,8 - IF (D(I) .GT. EEWOR) NPOS = NPOS + 1 - IF (D(I) .LT.-EEWOR) NNEG = NNEG + 1 - 100 CONTINUE - IF (NPOS.EQ.8 .OR. NNEG.EQ.8) GOTO 999 -* - NFACE = CG(KCGNF) - JCG = LCGHEA - DO 200 NF=1,NFACE - CALL CGBTFP(CG(JCG+1),ABCD,C) - IF (C(KCGAF) .LT. 0.) GOTO 998 - NEDGE = CG(JCG+KCGNE) - JCG = JCG + LCGFAC + NEDGE*LCGEDG - 200 CONTINUE -* -** S O R T E G E S & D E L E T E D O U B L E E D G E S -* - NEDGE = C(KCGNE) - CALL CGBSOR(NEDGE,C(LCGFAC+1)) - C(KCGNE) = NEDGE - IF (NEDGE .EQ. 0) GOTO 997 -* IF (NEDGE .LT. 3) PRINT *,' CGBSEC: NEDGE .LT. 3 - face ignored' - IF (NEDGE .LT. 3) GOTO 997 - C(KCGAA) = ABCD(1) - C(KCGBB) = ABCD(2) - C(KCGCC) = ABCD(3) - C(KCGDD) = ABCD(4) - J = LCGFAC - DO 300 NE=1,NEDGE - C(J+KCGAE) = C(J+KCGAE) - 2. - J = J + LCGEDG - 300 CONTINUE - IREP = LCGFAC + LCGEDG*NEDGE - GOTO 999 -* - 997 IREP = 0 - GOTO 999 - 998 IREP =-1 - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbsor.F b/StarVMC/geant3/cgpack/cgbsor.F deleted file mode 100644 index 65bffb770af..00000000000 --- a/StarVMC/geant3/cgpack/cgbsor.F +++ /dev/null @@ -1,121 +0,0 @@ -* -* $Id: cgbsor.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbsor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:53 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBSOR(NEDGE,EDGE) -************************************************************************ -* * -* Name: CGBSOR * -* Author: E. Chernyaev Date: 15.03.89 * -* Revised: * -* * -* Function: Shell sort of edges * -* * -* References: none * -* * -* Input: NEDGE - number of edges * -* Output: EDGE(*,*) - edges * -* * -* Output: * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - REAL EDGE(LCGEDG,*) -*- - ERROR = 1.5*EEWOR - ATRINV = 4. - CALL CGSHEL(ATRINV,ERROR,NEDGE,EDGE) -* -** D E L E T E D O U B L E E D G E S -** A T R I B U T E A N A L I S A T I O N -* - IF (NEDGE .LE. 0) GOTO 999 - IF (NEDGE .EQ. 1) GOTO 810 - J = 1 - NSAME = 1 - DO 800 NE=2,NEDGE - IF (J .EQ. 0) GOTO 720 - IF (ABS(EDGE(KCGX1,NE)-EDGE(KCGX1,J)) .GT. ERROR) GOTO 720 - IF (ABS(EDGE(KCGY1,NE)-EDGE(KCGY1,J)) .GT. ERROR) GOTO 720 - IF (ABS(EDGE(KCGZ1,NE)-EDGE(KCGZ1,J)) .GT. ERROR) GOTO 720 - IF (ABS(EDGE(KCGX2,NE)-EDGE(KCGX2,J)) .GT. ERROR) GOTO 720 - IF (ABS(EDGE(KCGY2,NE)-EDGE(KCGY2,J)) .GT. ERROR) GOTO 720 - IF (ABS(EDGE(KCGZ2,NE)-EDGE(KCGZ2,J)) .GT. ERROR) GOTO 720 -* A T R I B U T E A N A L I S A T I O N - AJ = EDGE(KCGAE,J) - ANE = EDGE(KCGAE,NE) - IF (AJ .EQ. ANE) GOTO 705 - IF (AJ.LE.-4. .AND. ANE.GT.-4.) GOTO 710 - IF (AJ.GT.-4. .AND. ANE.LE.-4.) GOTO 710 - IF (AJ .GT. ANE) EDGE(KCGAE,J) = EDGE(KCGAE,NE) - 705 EDGE(KCGX1,J)=((EDGE(KCGX1,J)*NSAME)+EDGE(KCGX1,NE))/(NSAME+1) - EDGE(KCGY1,J)=((EDGE(KCGY1,J)*NSAME)+EDGE(KCGY1,NE))/(NSAME+1) - EDGE(KCGZ1,J)=((EDGE(KCGZ1,J)*NSAME)+EDGE(KCGZ1,NE))/(NSAME+1) - EDGE(KCGX2,J)=((EDGE(KCGX2,J)*NSAME)+EDGE(KCGX2,NE))/(NSAME+1) - EDGE(KCGY2,J)=((EDGE(KCGY2,J)*NSAME)+EDGE(KCGY2,NE))/(NSAME+1) - EDGE(KCGZ2,J)=((EDGE(KCGZ2,J)*NSAME)+EDGE(KCGZ2,NE))/(NSAME+1) - NSAME = NSAME + 1 - GOTO 800 -* - 710 J = J - 1 - GOTO 800 -* - 720 J = J + 1 - EDGE(KCGAE,J) = EDGE(KCGAE,NE) - EDGE(KCGX1,J) = EDGE(KCGX1,NE) - EDGE(KCGY1,J) = EDGE(KCGY1,NE) - EDGE(KCGZ1,J) = EDGE(KCGZ1,NE) - EDGE(KCGX2,J) = EDGE(KCGX2,NE) - EDGE(KCGY2,J) = EDGE(KCGY2,NE) - EDGE(KCGZ2,J) = EDGE(KCGZ2,NE) - NSAME = 1 - 800 CONTINUE - NEDGE = J -* - 810 DO 900 NE=1,NEDGE - ANE = EDGE(KCGAE,NE) - IF (ANE .GE. -3.) GOTO 850 - ANE = ANE + 4. - X = EDGE(KCGX1,NE) - Y = EDGE(KCGY1,NE) - Z = EDGE(KCGZ1,NE) - EDGE(KCGX1,NE) = EDGE(KCGX2,NE) - EDGE(KCGY1,NE) = EDGE(KCGY2,NE) - EDGE(KCGZ1,NE) = EDGE(KCGZ2,NE) - EDGE(KCGX2,NE) = X - EDGE(KCGY2,NE) = Y - EDGE(KCGZ2,NE) = Z - 850 IF (ANE .LT. -1.) ANE = ANE + 2. - EDGE(KCGAE,NE) = ANE - 900 CONTINUE -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbsub.F b/StarVMC/geant3/cgpack/cgbsub.F deleted file mode 100644 index d54c7eb1e28..00000000000 --- a/StarVMC/geant3/cgpack/cgbsub.F +++ /dev/null @@ -1,121 +0,0 @@ -* -* $Id: cgbsub.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbsub.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBSUB(IFB,A,B,NMAX,C,IREP) -************************************************************************ -* * -* Name: CGBSUB * -* Author: E. Chernyaev Date: 23.10.88 * -* Revised: * -* * -* Function: Subtraction of two faces * -* * -* References: CGBMMT,CGBTEF,CGBSOR * -* * -* Input: IFB - flag (=1, if -B) -* A(*) - 1-st face * -* B(*) - 2-nd face * -* NMAX - max length C array * -* * -* Output: B(*) - resulting face * -* C(*) - working face * -* IREP - reply (legth of resulting face) * -* (-1 if no space) * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL A(*),B(*),C(*) - DATA IEXTNL/1/,IINTNL/-1/ -*- - NAEDGE = A(KCGNE) - NBEDGE = B(KCGNE) - IF (NBEDGE .EQ. 0) GOTO 100 -* M I N - M A X T E S T - CALL CGBMMT(A,B,IREP) - IF (IREP .NE. 0) GOTO 200 -* -** N O I N T E R S E C T I O N O F F A C E S -* - 100 IF (IFB .NE. 0) GOTO 997 - LENB = LCGFAC + NBEDGE*LCGEDG - IREP = LCGFAC + NAEDGE*LCGEDG - IF (IREP .GT. NMAX+LENB) GOTO 998 - DO 110 I=1,IREP - B(I) = A(I) - 110 CONTINUE - GOTO 999 -* -** T E S T 1 - S T F A C E A G A I N S T 2 - N D -* - 200 IF (NMAX .LT. LCGFAC) GOTO 998 - C(KCGAF) = NMAX - C(KCGNE) = 0. - IF (IFB .EQ. 0) IFLAG = IEXTNL - IF (IFB .NE. 0) IFLAG = IINTNL - IVAR = 1 - J = LCGFAC - DO 210 NE=1,NAEDGE - CALL CGBTEF(IFLAG,IVAR,A(J+1),B,C) - IF (C(KCGAF) .LT. 0.) GOTO 998 - J = J + LCGEDG - 210 CONTINUE -* -** T E S T 2 - N D F A C E A G A I N S T 1 - S T -* - J = LCGFAC - DO 300 NE=1,NBEDGE - CALL CGBTEF(IINTNL,IVAR,B(J+1),A,C) - IF (C(KCGAF) .LT. 0.) GOTO 998 - J = J + LCGEDG - 300 CONTINUE -* P R E P A R E N E W F A C E - NEDGE = C(KCGNE) - IF (NEDGE .EQ. 0) GOTO 997 - CALL CGBSOR(NEDGE,C(LCGFAC+1)) - C(KCGNE) = NEDGE - IF (NEDGE .EQ. 0) GOTO 997 -* IF (NEDGE .LT. 3) PRINT *,' CGBSUB: NEDGE .LT. 3 - face ignored' - C(KCGAF) = A(KCGAF) - C(KCGAA) = A(KCGAA) - C(KCGBB) = A(KCGBB) - C(KCGCC) = A(KCGCC) - C(KCGDD) = A(KCGDD) - IREP = LCGFAC + NEDGE*LCGEDG - DO 400 I=1,IREP - B(I) = C(I) - 400 CONTINUE - GOTO 999 -* - 997 IREP = 0 - GOTO 999 - 998 IREP = -1 - 999 RETURN - END - diff --git a/StarVMC/geant3/cgpack/cgbtef.F b/StarVMC/geant3/cgpack/cgbtef.F deleted file mode 100644 index 271f6b31404..00000000000 --- a/StarVMC/geant3/cgpack/cgbtef.F +++ /dev/null @@ -1,121 +0,0 @@ -* -* $Id: cgbtef.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbtef.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBTEF(IFEXT,IVAR,EDGE,FACE,C) -************************************************************************ -* * -* Name: CGBTEF * -* Author: E. Chernyaev Date: 23.10.88 * -* Revised: * -* * -* Function: Test edge against face * -* * -* References: CGBEDG, CGTSOR * -* * -* Input: IFEXT - flag for searching external or internal intervals * -* ( 1 - external, -1 - internal) * -* IVAR - number of variant * -* ( 1 - visibility of intervals the same as edge) * -* ( 2 - intervals are invisible) * -* EDGE(*) - number of edges in face * -* FACE(*,*) - face * -* NMAX - max length of C array * -* * -* Output: C(*) - a set of new edges * -* (C(KCGAF) = -1 if no space) * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgcedg.inc" - CHARACTER*2 WHAT - REAL EDGE(LCGEDG),FACE(*),C(*),ABCD(4) - INTEGER KCG(6) - DATA KCG/KCGX1,KCGY1,KCGZ1,KCGX2,KCGY2,KCGZ2/ -*- -** F I N D I N T E R S E C T I O N P O I N T S -* - IF (IFEXT .LE. 0) WHAT = 'LE' - IF (IFEXT .GT. 0) WHAT = 'GE' - XD = EDGE(KCGX2) - EDGE(KCGX1) - YD = EDGE(KCGY2) - EDGE(KCGY1) - ZD = EDGE(KCGZ2) - EDGE(KCGZ1) - ALENG = SQRT(XD*XD + YD*YD + ZD*ZD) - IF(ALENG.LT.1.0E-4)GOTO 998 - XD = XD / ALENG - YD = YD / ALENG - ZD = ZD / ALENG - ABCD(1)= YD*FACE(KCGCC) - FACE(KCGBB)*ZD - ABCD(2)= ZD*FACE(KCGAA) - FACE(KCGCC)*XD - ABCD(3)= XD*FACE(KCGBB) - FACE(KCGAA)*YD - ABCD(4)=-(ABCD(1)*EDGE(KCGX1) + - + ABCD(2)*EDGE(KCGY1) + - + ABCD(3)*EDGE(KCGZ1)) - CALL CGBFIT(FACE,ABCD,NT) - IF (NT .GT. 0) GOTO 100 - XA = EDGE(KCGX1) - YA = EDGE(KCGY1) - ZA = EDGE(KCGZ1) - XDELT = EDGE(KCGX2) - EDGE(KCGX1) - YDELT = EDGE(KCGY2) - EDGE(KCGY1) - ZDELT = EDGE(KCGZ2) - EDGE(KCGZ1) -* -** P R E P A R E E D G E S -* - 100 K = 1 - IF (ABS(YDELT) .GT. ABS(XDELT)) K = 2 - IF (ABS(ZDELT) .GT. ABS(DELTA(K))) K = 3 - TMIN = (EDGE(KCG(K)) - AA(K)) / DELTA(K) - TMAX = (EDGE(KCG(K+3)) - AA(K)) / DELTA(K) - CALL CGBTTT(WHAT,TMIN,TMAX,NT,NEDGE) - IF (NEDGE .EQ. 0) GOTO 999 - IVIS = EDGE(KCGAE) - NMAX = C(KCGAF) - NN = C(KCGNE) - J = LCGFAC + NN*LCGEDG - IF (NMAX .LT. J + NEDGE*LCGEDG) GOTO 998 - DO 500 NE=1,NEDGE - IF (IVAR .EQ. 1) C(J+KCGAE) = IVIS - IF (IVAR .EQ. 2) C(J+KCGAE) =-1. - IF (ITTT(NE) .NE. 0) C(J+KCGAE) = IVIS - C(J+KCGX1) = XA + XDELT*TTT(1,NE) - C(J+KCGY1) = YA + YDELT*TTT(1,NE) - C(J+KCGZ1) = ZA + ZDELT*TTT(1,NE) - C(J+KCGX2) = XA + XDELT*TTT(2,NE) - C(J+KCGY2) = YA + YDELT*TTT(2,NE) - C(J+KCGZ2) = ZA + ZDELT*TTT(2,NE) - J = J + LCGEDG - 500 CONTINUE - C(KCGNE) = C(KCGNE) + NEDGE - GOTO 999 -* - 998 C(KCGAF) =-1. - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbtfp.F b/StarVMC/geant3/cgpack/cgbtfp.F deleted file mode 100644 index 0c7f06794cc..00000000000 --- a/StarVMC/geant3/cgpack/cgbtfp.F +++ /dev/null @@ -1,133 +0,0 @@ -* -* $Id: cgbtfp.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbtfp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBTFP(FACE,ABCD,CC) -************************************************************************ -* * -* Name: CGBTFP * -* Author: E. Chernyaev Date: 25.10.88 * -* Revised: * -* * -* Function: Test face against plane * -* * -* References: none * -* * -* Input: FACE(*) - face * -* ABCD(4) - plane * -* * -* Output: C(*) - new edges * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgcedg.inc" -#include "geant321/cgdelt.inc" - REAL FACE(*),ABCD(4),CC(*) -*- - NMAX = CC(KCGAF) - NEDGE = CC(KCGNE) - JC = LCGFAC + NEDGE*LCGEDG - NEDGE = FACE(KCGNE) - J = LCGFAC -* -** T E S T : F A C E L I E I N T H E SAME PLANE -* - IF (ABS(FACE(KCGAA)-ABCD(1)) .GT. EEWOR) GOTO 200 - IF (ABS(FACE(KCGBB)-ABCD(2)) .GT. EEWOR) GOTO 200 - IF (ABS(FACE(KCGCC)-ABCD(3)) .GT. EEWOR) GOTO 200 - IF (ABS(FACE(KCGDD)-ABCD(4)) .GT. EEWOR) GOTO 999 - IF (NMAX .LT. JC+NEDGE*LCGEDG) GOTO 998 - DO 110 NE=1,NEDGE - CC(JC+KCGAE) =-1. - IF (ABS(FACE(J+KCGX1)-FACE(J+KCGX2)) .GT. EEWOR) GOTO 101 - IF (ABS(FACE(J+KCGY1)-FACE(J+KCGY2)) .GT. EEWOR) GOTO 101 - IF (ABS(FACE(J+KCGZ1)-FACE(J+KCGZ2)) .GT. EEWOR) GOTO 101 - PRINT *,' CGBTFP: very small face' - 101 CC(JC+KCGX1) = FACE(J+KCGX2) - CC(JC+KCGY1) = FACE(J+KCGY2) - CC(JC+KCGZ1) = FACE(J+KCGZ2) - CC(JC+KCGX2) = FACE(J+KCGX1) - CC(JC+KCGY2) = FACE(J+KCGY1) - CC(JC+KCGZ2) = FACE(J+KCGZ1) - JC = JC + LCGEDG - J = J + LCGEDG - 110 CONTINUE - CC(KCGNE) = CC(KCGNE) + NEDGE - GOTO 999 -* -** T E S T : F A C E L I E I N T H E INVERSE PLANE -* - 200 IF (ABS(FACE(KCGAA)+ABCD(1)) .GT. EEWOR) GOTO 300 - IF (ABS(FACE(KCGBB)+ABCD(2)) .GT. EEWOR) GOTO 300 - IF (ABS(FACE(KCGCC)+ABCD(3)) .GT. EEWOR) GOTO 300 - IF (ABS(FACE(KCGDD)+ABCD(4)) .GT. EEWOR) GOTO 999 - IF (NMAX .LT. JC+NEDGE*LCGEDG) GOTO 998 - DO 210 NE=1,NEDGE - IF (ABS(FACE(J+KCGX1)-FACE(J+KCGX2)) .GT. EEWOR) GOTO 201 - IF (ABS(FACE(J+KCGY1)-FACE(J+KCGY2)) .GT. EEWOR) GOTO 201 - IF (ABS(FACE(J+KCGZ1)-FACE(J+KCGZ2)) .GT. EEWOR) GOTO 201 - PRINT *,' CGBTFP: very small face' - 201 CC(JC+KCGAE) = 0. - CC(JC+KCGX1) = FACE(J+KCGX1) - CC(JC+KCGY1) = FACE(J+KCGY1) - CC(JC+KCGZ1) = FACE(J+KCGZ1) - CC(JC+KCGX2) = FACE(J+KCGX2) - CC(JC+KCGY2) = FACE(J+KCGY2) - CC(JC+KCGZ2) = FACE(J+KCGZ2) - JC = JC + LCGEDG - J = J + LCGEDG - 210 CONTINUE - CC(KCGNE) = CC(KCGNE) + NEDGE - GOTO 999 -* M A K E F A C E S L I C I N G - 300 CALL CGBFIT(FACE,ABCD,NT) - IF (NT .EQ. 0) GOTO 999 -* P R E P A R E E D G E S - TMIN = +1. - TMAX = -1. - CALL CGBTTT('LE',TMIN,TMAX,NT,NEDGE) - IF (NEDGE .EQ. 0) GOTO 999 - DO 700 NE=1,NEDGE - IF (NMAX .LT. JC+LCGEDG) GOTO 998 - CC(KCGNE) = CC(KCGNE) + 1. - CC(JC+KCGAE) = 0. - CC(JC+KCGX1) = XA + XDELT*TTT(1,NE) - CC(JC+KCGY1) = YA + YDELT*TTT(1,NE) - CC(JC+KCGZ1) = ZA + ZDELT*TTT(1,NE) - CC(JC+KCGX2) = XA + XDELT*TTT(2,NE) - CC(JC+KCGY2) = YA + YDELT*TTT(2,NE) - CC(JC+KCGZ2) = ZA + ZDELT*TTT(2,NE) - JC = JC + LCGEDG - 700 CONTINUE - GOTO 999 -* - 998 CC(KCGAF) =-1. - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgbttt.F b/StarVMC/geant3/cgpack/cgbttt.F deleted file mode 100644 index de7063a3432..00000000000 --- a/StarVMC/geant3/cgpack/cgbttt.F +++ /dev/null @@ -1,237 +0,0 @@ -* -* $Id: cgbttt.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgbttt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGBTTT(WHAT,TMIN,TMAX,NT,NEDGE) -************************************************************************ -* * -* Name: CGBTTT * -* Author: E. Chernyaev Date: 14.03.89 * -* Revised: * -* * -* Function: Prepare list of T-intervals * -* * -* References: none * -* * -* Input: WHAT - flag: what is need ('GT','GE','LT','LE') * -* TMIN - min of T * -* TMAX - max of T * -* NT - number of T-points * -* * -* Output: NEDGE - number of edges * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cgcedg.inc" -#include "geant321/cgdelt.inc" - CHARACTER*2 WHAT - CHARACTER*3 STATUS -*- - TDEL = 4.*EEWOR - NE = 0 - IF (NT .GE. 2) GOTO 100 -* IF (NT .EQ. 1) PRINT *,' CGBTTT: Number of T=1' - IF (WHAT(1:1) .EQ. 'L') GOTO 999 - TTT(1,1) = TMIN - TTT(2,1) = TMAX - ITTT(1) = 0 - NE = 1 - GOTO 999 -* -** S O R T I N T E R S E C T I O N P O I N T S -* - 100 DO 120 I=1,NT-1 - DO 110 J=I,1,-1 - IF (TTT(1,J+1) .GE. TTT(1,J)) GOTO 120 - T1 = TTT(1,J+1) - T2 = TTT(2,J+1) - TTT(1,J+1) = TTT(1,J) - TTT(2,J+1) = TTT(2,J) - TTT(1,J) = T1 - TTT(2,J) = T2 - 110 CONTINUE - 120 CONTINUE -* -** F I N D S I G N O F 1 - S T P O I N T -* - 200 I1NEG = 0 - I1POS = 0 - I1ZBEG = 0 - I1ZEND = 0 - I1SIGN =-1 - T1 = TTT(1,1) - DO 220 I=1,NT - J = I - IF (TTT(1,I)-T1 .LE. TDEL) GOTO 210 - IF (I1NEG .NE. I1POS) GOTO 240 - T1 = TTT(1,I) - I1NEG = 0 - I1POS = 0 - I1ZBEG = 0 - I1ZEND = 0 - 210 IF (TTT(2,I) .EQ. -1.) I1NEG = 1 - IF (TTT(2,I) .EQ. +1.) I1POS = 1 - IF (TTT(2,I) .EQ. 0.) I1ZBEG = 1 - IF (TTT(2,I) .EQ. 2.) I1ZEND = 1 - 220 CONTINUE - IF (I1NEG .EQ. I1POS) GOTO 250 - 240 IF (I1NEG .EQ. 1) I1SIGN =-1 - IF (I1POS .EQ. 1) I1SIGN =+1 - IF (I1ZEND.EQ.1 .AND. I1ZBEG.EQ.0) I1SIGN =-I1SIGN -* - 250 NNTT = NT - IF (WHAT(1:1) .EQ. 'L') GOTO 300 - NNTT = NT + 1 - TTT(1,NNTT) =+99999. - TTT(2,NNTT) = I1SIGN -* -** P R E P A R E L I S T O F I N T E R V A L S -* - 300 T2 = -99999. - I2NEG = 0 - I2POS = 0 - I2ZBEG = 0 - I2ZEND = 0 - IF (I1SIGN .LT. 0) I2POS = 1 - IF (I1SIGN .GT. 0) I2NEG = 1 - NE = 0 - ITCUR = 1 - STATUS = 'OUT' -* S T A R T O F S E A R C H F O R N E X T P O I N T - 310 T1 = T2 - I1NEG = I2NEG - I1POS = I2POS - I1ZBEG = I2ZBEG - I1ZEND = I2ZEND - 320 IF (ITCUR .GT. NNTT) GOTO 600 - T2 = TTT(1,ITCUR) - I2NEG = 0 - I2POS = 0 - I2ZBEG = 0 - I2ZEND = 0 - 330 IF (TTT(2,ITCUR) .EQ.-1.) I2NEG = 1 - IF (TTT(2,ITCUR) .EQ.+1.) I2POS = 1 - IF (TTT(2,ITCUR) .EQ. 0.) I2ZBEG = 1 - IF (TTT(2,ITCUR) .EQ. 2.) I2ZEND = 1 - ITCUR = ITCUR + 1 - IF (ITCUR .GT. NNTT) GOTO 400 - IF (TTT(1,ITCUR)-T2 .LE. TDEL) GOTO 330 -* N E X T P O I N T I S F O U N D E D - 400 T2 = (T2+TTT(1,ITCUR-1))/2. - IF (I1ZBEG .NE. 0) GOTO 410 - IF (I2ZBEG*I2ZEND .NE. 0) GOTO 420 - IF (I2POS*I2NEG .NE. 0) GOTO 530 - IF (I1SIGN.GT.0 .AND. I2POS.GT.0) GOTO 510 - IF (I1SIGN.LT.0 .AND. I2NEG.GT.0) GOTO 510 - IF (I1SIGN.GT.0 .AND. I2NEG.GT.0) GOTO 520 - IF (I1SIGN.LT.0 .AND. I2POS.GT.0) GOTO 520 - GOTO 310 -* B O U N D A R Y E D G E - 410 NE = NE + 1 - TTT(1,NE) = T1 - TTT(2,NE) = T2 - ITTT(NE) = 1 - IF (I2ZEND .EQ. 0) I2ZBEG = 1 - 405 IF (I1SIGN.GT.0 .AND. I2POS.GT.0) STATUS = 'IN ' - IF (I1SIGN.LT.0 .AND. I2NEG.GT.0) STATUS = 'IN ' - IF (I1SIGN.GT.0 .AND. I2NEG.GT.0) STATUS = 'OUT' - IF (I1SIGN.LT.0 .AND. I2POS.GT.0) STATUS = 'OUT' - GOTO 310 -* V E R Y S M A L L B O U N D A R Y E D G E - 420 IF (I2POS+I2NEG .EQ. 0) GOTO 310 - I2ZBEG = 0 - I2ZEND = 0 - GOTO 405 -* -** C O M E I N -* - 510 IF (STATUS .EQ. 'IN ') GOTO 511 - IF (STATUS .EQ. 'OUT') GOTO 512 - 511 IF (WHAT(1:1) .EQ. 'L') GOTO 550 - GOTO 310 - 512 STATUS = 'IN ' - IF (WHAT(1:1) .EQ. 'G') GOTO 550 - GOTO 310 -* C O M E O U T - 520 IF (STATUS .EQ. 'IN ') GOTO 521 - IF (STATUS .EQ. 'OUT') GOTO 522 - 521 STATUS = 'OUT' - IF (WHAT(1:1) .EQ. 'L') GOTO 550 - GOTO 310 - 522 IF (WHAT(1:1) .EQ. 'L') GOTO 550 - GOTO 310 -* C O M E I N / O U T - 530 IF (STATUS .EQ. 'IN ') GOTO 531 - IF (STATUS .EQ. 'OUT') GOTO 532 - 531 IF (WHAT(1:1) .EQ. 'L') GOTO 550 - GOTO 310 - 532 IF (WHAT(1:1) .EQ. 'G') GOTO 550 - GOTO 310 -* - 550 NE = NE + 1 - TTT(1,NE) = T1 - TTT(2,NE) = T2 - ITTT(NE) = 0 - GOTO 310 -* -** S K I P B O U N D A R Y E D G E S (I F N E E D) -* - 600 IF (NE .EQ. 0) GOTO 999 - IF (WHAT(2:2) .EQ. 'E') GOTO 700 - K = 0 - DO 610 I=1,NE - IF (ITTT(I) .EQ. 1) GOTO 610 - K = K + 1 - TTT(1,K) = TTT(1,I) - TTT(2,K) = TTT(2,I) - ITTT(K) = ITTT(I) - 610 CONTINUE - NE = K -* - 700 IF (NE .EQ. 0) GOTO 999 - IF (TMIN .GT. TMAX) GOTO 999 - K = 0 - DO 710 I=1,NE - IF (TTT(2,I) .LE. TMIN) GOTO 710 - IF (TTT(1,I) .GE. TMAX) GOTO 720 - T1 = TTT(1,I) - T2 = TTT(2,I) - IF (T1 .LT. TMIN) T1 = TMIN - IF (T2 .GT. TMAX) T2 = TMAX - IF (T2-T1 .LT. TDEL) GOTO 710 - K = K + 1 - TTT(1,K) = T1 - TTT(2,K) = T2 - ITTT(K) = ITTT(I) - 710 CONTINUE - 720 NE = K -* - 999 NEDGE = NE - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgcev.F b/StarVMC/geant3/cgpack/cgcev.F deleted file mode 100644 index 242469b024a..00000000000 --- a/StarVMC/geant3/cgpack/cgcev.F +++ /dev/null @@ -1,67 +0,0 @@ -* -* $Id: cgcev.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgcev.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGCEV(IFVIS,CG) -************************************************************************ -* * -* Name: CGCEV * -* Author: E. Chernyaev Date: 05.02.89 * -* Revised: * -* * -* Function: Change edge visibility * -* * -* References: CGTSTR * -* * -* Input: IFVIS - flag (1 - visible, 0 - unvisible, -1 - inverse) * -* Output: CG(*) - CG-object * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL CG(*) -*- - CALL CGTSTR(CG,IREP) - IF (IREP .LT. 0) GOTO 999 - NFACE = CG(KCGNF) - IF (NFACE .EQ. 0) GOTO 999 - JCG = LCGHEA - DO 200 NF=1,NFACE - NEDGE = CG(JCG+KCGNE) - JCG = JCG + LCGFAC - DO 100 NE=1,NEDGE - IF (IFVIS .GT. 0) CG(JCG+KCGAE) = 0. - IF (IFVIS .EQ. 0) CG(JCG+KCGAE) =-1. - IF (IFVIS .LT. 0) CG(JCG+KCGAE) =-(CG(JCG+KCGAE) + 1.) - JCG = JCG + LCGEDG - 100 CONTINUE - 200 CONTINUE -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgcopy.F b/StarVMC/geant3/cgpack/cgcopy.F deleted file mode 100644 index 8ff961164f4..00000000000 --- a/StarVMC/geant3/cgpack/cgcopy.F +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: cgcopy.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgcopy.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGCOPY(A,NMAX,B) -************************************************************************ -* * -* Name: CGCOPY * -* Author: E. Chernyaev Date: 02.11.88 * -* Revised: * -* * -* Function: Copy one CG-object to another * -* * -* References: none * -* * -* Input: A(*) - 1-st CG-object * -* NMAX - max length B array * -* * -* Output: B(*) - resulting CG-object * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL A(*),B(*) -*- - NSIZE = A(KCGSIZ) - B(KCGSIZ) = 0. - IF (NSIZE .LE. 0) GOTO 999 - IF (NMAX .LE. 0) GOTO 999 - IF (NSIZE .GT. NMAX) B(KCGSIZ) = NMAX - NSIZE - IF (NSIZE .GT. NMAX) GOTO 999 - DO 100 I=1,NSIZE - B(I) = A(I) - 100 CONTINUE -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgelli.F b/StarVMC/geant3/cgpack/cgelli.F deleted file mode 100644 index 838601f75be..00000000000 --- a/StarVMC/geant3/cgpack/cgelli.F +++ /dev/null @@ -1,220 +0,0 @@ -* -* $Id: cgelli.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgelli.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGELLI(RX,RY,RZ,KA,KB,LCG,CG) -************************************************************************ -* * -* Name: CGELLI * -* Author: E. Chernyaev Date: 24.01.89 * -* Revised: * -* * -* Function: Create CG-object for ELLIPSOID * -* * -* References: CGSIZE, CGSNOR * -* * -* Input: RX - 1-st radius * -* RY - 2-nd radius * -* RZ - 3-rd radius * -* KA - number of latitude step * -* KB - number of longitude step * -* LCG - max-size of CG-object * -* * -* Output: CG - CG-object * -* CG(1) - length of CG-object * -* = 0 if error in parameters * -* < 0 if no space * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL CG(*) - INTEGER NFAC(2),NEDG(2) -*- - CG(KCGSIZ) = 0. -* T E S T P A R A M E T E R S C O R R E C T N E S S - IF (RX .LE. 0.) GOTO 999 - IF (RY .LE. 0.) GOTO 999 - IF (RZ .LE. 0.) GOTO 999 - IF (KA .LT. 3) GOTO 999 - IF (KB .LT. 2) GOTO 999 -* C O M P U T E S I Z E O F C G - O B J E C T - NFATYP = 2 - NFAC(1)= 2 * KA - NEDG(1)= 3 - NFAC(2)= (KB - 2) * KA - NEDG(2)= 4 - CG(KCGSIZ) = CGSIZE(LCG,NFATYP,NFAC,NEDG) - IF (CG(KCGSIZ) .LE. 0.) GOTO 999 -* -** C R E A T E C G - O B J E C T F O R E L L I P S O I D -* - CG(KCGATT) = 0. - CG(KCGNF) = NFAC(1) + NFAC(2) - PI = ATAN(1.) * 4. - DA = (PI+PI) / KA - DB = PI / KB - JCOSB = CG(KCGSIZ) - 2*(KB+KA) - 4 - JSINB = JCOSB + KB + 1 - JCOSA = JSINB + KB + 1 - JSINA = JCOSA + KA + 1 -* P R E P A R E W O R K T A B L E - A = 0. - B = 0. - JA = 0 - JB = 0 - 100 CG(JCOSA+JA) = COS(A) - CG(JCOSA+KA-JA) = CG(JCOSA+JA) - CG(JSINA+JA) = SIN(A) - CG(JSINA+KA-JA) =-CG(JSINA+JA) - JA = JA + 1 - A = A + DA - IF (KA-JA-JA) 200,110,100 - 110 CG(JCOSA+JA) =-1. - CG(JSINA+JA) = 0. -* - 200 CG(JCOSB+JB) = COS(B) - CG(JCOSB+KB-JB) =-CG(JCOSB+JB) - CG(JSINB+JB) = SIN(B) - CG(JSINB+KB-JB) = CG(JSINB+JB) - JB = JB + 1 - B = B + DB - IF (KB-JB-JB) 300,210,200 - 210 CG(JCOSB+JB) = 0. - CG(JSINB+JB) = 1. -* C R E A T E U P P E R H A L F O F E L L I P S O I D - 300 JCG = LCGHEA - NB = KB - KB/2 - DO 500 JB=1,NB - Z1 = RZ*CG(JCOSB+JB-1) - Z2 = RZ*CG(JCOSB+JB) - X4 = RX*CG(JSINB+JB-1) - X3 = RX*CG(JSINB+JB) - Y4 = 0. - Y3 = 0. - DO 400 JA=1,KA - CG(JCG+KCGAF) = 0. - JCGNE = JCG + KCGNE - JCG = JCG + LCGFAC - X1 = X4 - X2 = X3 - X3 = RX*CG(JSINB+JB) * CG(JCOSA+JA) - X4 = RX*CG(JSINB+JB-1) * CG(JCOSA+JA) - Y1 = Y4 - Y2 = Y3 - Y3 = RY*CG(JSINB+JB) * CG(JSINA+JA) - Y4 = RY*CG(JSINB+JB-1) * CG(JSINA+JA) - CG(JCG+KCGAE) =-1. - CG(JCG+KCGX1) = X1 - CG(JCG+KCGY1) = Y1 - CG(JCG+KCGZ1) = Z1 - CG(JCG+KCGX2) = X2 - CG(JCG+KCGY2) = Y2 - CG(JCG+KCGZ2) = Z2 -* - CG(JCG+LCGEDG+KCGAE) =-1. - CG(JCG+LCGEDG+KCGX1) = X2 - CG(JCG+LCGEDG+KCGY1) = Y2 - CG(JCG+LCGEDG+KCGZ1) = Z2 - CG(JCG+LCGEDG+KCGX2) = X3 - CG(JCG+LCGEDG+KCGY2) = Y3 - CG(JCG+LCGEDG+KCGZ2) = Z2 -* - CG(JCG+LCGEDG+LCGEDG+KCGAE) =-1. - CG(JCG+LCGEDG+LCGEDG+KCGX1) = X3 - CG(JCG+LCGEDG+LCGEDG+KCGY1) = Y3 - CG(JCG+LCGEDG+LCGEDG+KCGZ1) = Z2 - CG(JCG+LCGEDG+LCGEDG+KCGX2) = X4 - CG(JCG+LCGEDG+LCGEDG+KCGY2) = Y4 - CG(JCG+LCGEDG+LCGEDG+KCGZ2) = Z1 - NE = 3 - IF(X1.EQ.X4 .AND. Y1.EQ.Y4) GOTO 350 - NE = 4 - CG(JCG+LCGEDG+LCGEDG+LCGEDG+KCGAE) =-1. - CG(JCG+LCGEDG+LCGEDG+LCGEDG+KCGX1) = X4 - CG(JCG+LCGEDG+LCGEDG+LCGEDG+KCGY1) = Y4 - CG(JCG+LCGEDG+LCGEDG+LCGEDG+KCGZ1) = Z1 - CG(JCG+LCGEDG+LCGEDG+LCGEDG+KCGX2) = X1 - CG(JCG+LCGEDG+LCGEDG+LCGEDG+KCGY2) = Y1 - CG(JCG+LCGEDG+LCGEDG+LCGEDG+KCGZ2) = Z1 - 350 JCG = JCG + NE*LCGEDG - CG(JCGNE) = NE - 400 CONTINUE - 500 CONTINUE -* C R E A T E L O W E R H A L F O F E L L I P S O I D - JSTOP = JCG - JCGUP = LCGHEA - JCGLOW = CG(KCGSIZ) - 600 NE = CG(JCGUP+KCGNE) - JCGLOW = JCGLOW - LCGFAC - NE*LCGEDG - IF (JCGLOW .LT. JSTOP) GOTO 999 - CG(JCGLOW+KCGAF) = CG(JCGUP+KCGAF) - CG(JCGLOW+KCGNE) = NE - JL = JCGLOW + LCGFAC - JU = JCGUP + LCGFAC -* - CG(JL+KCGAE) = CG(JU+KCGAE) - CG(JL+KCGX1) = CG(JU+KCGX2) - CG(JL+KCGY1) = CG(JU+KCGY2) - CG(JL+KCGZ1) =-CG(JU+KCGZ2) - CG(JL+KCGX2) = CG(JU+KCGX1) - CG(JL+KCGY2) = CG(JU+KCGY1) - CG(JL+KCGZ2) =-CG(JU+KCGZ1) - JU = JU + (NE-1)*LCGEDG -* - CG(JL+LCGEDG+KCGAE) = CG(JU+KCGAE) - CG(JL+LCGEDG+KCGX1) = CG(JU+KCGX2) - CG(JL+LCGEDG+KCGY1) = CG(JU+KCGY2) - CG(JL+LCGEDG+KCGZ1) =-CG(JU+KCGZ2) - CG(JL+LCGEDG+KCGX2) = CG(JU+KCGX1) - CG(JL+LCGEDG+KCGY2) = CG(JU+KCGY1) - CG(JL+LCGEDG+KCGZ2) =-CG(JU+KCGZ1) -* - CG(JL+LCGEDG+LCGEDG+KCGAE) = CG(JU-LCGEDG+KCGAE) - CG(JL+LCGEDG+LCGEDG+KCGX1) = CG(JU-LCGEDG+KCGX2) - CG(JL+LCGEDG+LCGEDG+KCGY1) = CG(JU-LCGEDG+KCGY2) - CG(JL+LCGEDG+LCGEDG+KCGZ1) =-CG(JU-LCGEDG+KCGZ2) - CG(JL+LCGEDG+LCGEDG+KCGX2) = CG(JU-LCGEDG+KCGX1) - CG(JL+LCGEDG+LCGEDG+KCGY2) = CG(JU-LCGEDG+KCGY1) - CG(JL+LCGEDG+LCGEDG+KCGZ2) =-CG(JU-LCGEDG+KCGZ1) - IF (NE .EQ. 3) GOTO 700 -* - CG(JL+LCGEDG+LCGEDG+LCGEDG+KCGAE) = CG(JU-LCGEDG-LCGEDG+KCGAE) - CG(JL+LCGEDG+LCGEDG+LCGEDG+KCGX1) = CG(JU-LCGEDG-LCGEDG+KCGX2) - CG(JL+LCGEDG+LCGEDG+LCGEDG+KCGY1) = CG(JU-LCGEDG-LCGEDG+KCGY2) - CG(JL+LCGEDG+LCGEDG+LCGEDG+KCGZ1) =-CG(JU-LCGEDG-LCGEDG+KCGZ2) - CG(JL+LCGEDG+LCGEDG+LCGEDG+KCGX2) = CG(JU-LCGEDG-LCGEDG+KCGX1) - CG(JL+LCGEDG+LCGEDG+LCGEDG+KCGY2) = CG(JU-LCGEDG-LCGEDG+KCGY1) - CG(JL+LCGEDG+LCGEDG+LCGEDG+KCGZ2) =-CG(JU-LCGEDG-LCGEDG+KCGZ1) - 700 JCGUP = JCGUP + LCGFAC + NE*LCGEDG - GOTO 600 -* - 999 CALL CGSNOR(CG) - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgfac2.F b/StarVMC/geant3/cgpack/cgfac2.F deleted file mode 100644 index 2a4a59fa9c2..00000000000 --- a/StarVMC/geant3/cgpack/cgfac2.F +++ /dev/null @@ -1,129 +0,0 @@ -* -* $Id: cgfac2.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgfac2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : -* - SUBROUTINE CGFAC2(TVVX,TVVY,TVVZ,IN) -* -******************************************************************** -* * -* Function: Order edges in world coordinates for every face * -* * -* I/O parameters: * -* TVVX,TVVY,TVVZ = set of edge's coordinates * -* IN = number of edges *2. * -* * -* Author: S. Giani * -* * -******************************************************************** -* -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" -#include "geant321/cghpar.inc" -#include "geant321/cgctra.inc" -#include "geant321/cgcedg.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcspee.inc" -* - DIMENSION VVX(500),VVY(500),VVZ(500) - DIMENSION TVVX(500),TVVY(500),TVVZ(500) - DIMENSION IZ(500) -* - JSC=0 - VVX(1)=TVVX(1) - VVY(1)=TVVY(1) - VVZ(1)=TVVZ(1) - VVX(2)=TVVX(2) - VVY(2)=TVVY(2) - VVZ(2)=TVVZ(2) - IZ(1)=1 - IZ(2)=2 - KZ=3 - DO 143 II=3,IN,2 - DO 144 JJ=3,IN - DO 9 KK=1,KZ-1 - IF(JJ.EQ.IZ(KK))GOTO 144 - 9 CONTINUE - C11=ABS(TVVX(JJ)-VVX(II-1)) - C12=ABS(TVVY(JJ)-VVY(II-1)) - C13=ABS(TVVZ(JJ)-VVZ(II-1)) - IF(C11.LT..001.AND.C12.LT..001.AND.C13.LT..001)THEN - VVX(II)=TVVX(JJ) - VVY(II)=TVVY(JJ) - VVZ(II)=TVVZ(JJ) - IZ(KZ)=JJ - AJ=JJ*.5 - IAJ=AJ - PDAJ=AJ-IAJ - IF(PDAJ.GT..01)THEN - VVX(II+1)=TVVX(JJ+1) - VVY(II+1)=TVVY(JJ+1) - VVZ(II+1)=TVVZ(JJ+1) - IZ(KZ+1)=JJ+1 - KZ=KZ+2 - ELSE - VVX(II+1)=TVVX(JJ-1) - VVY(II+1)=TVVY(JJ-1) - VVZ(II+1)=TVVZ(JJ-1) - IZ(KZ+1)=JJ-1 - KZ=KZ+2 - ENDIF - GOTO 143 - ENDIF - 144 CONTINUE - DO 11 JJA=3,IN - DO 10 I=1,KZ-1 - IF(JJA.EQ.IZ(I))GOTO 11 - 10 CONTINUE - JJAO=JJA - GOTO 12 - 11 CONTINUE - PRINT *,'Error in CGFACO' - 12 CONTINUE - VVX(II)=TVVX(JJAO) - VVY(II)=TVVY(JJAO) - VVZ(II)=TVVZ(JJAO) - VVX(II+1)=TVVX(JJAO+1) - VVY(II+1)=TVVY(JJAO+1) - VVZ(II+1)=TVVZ(JJAO+1) - IZ(KZ)=JJAO - IZ(KZ+1)=JJAO+1 - KZ=KZ+2 - JSC=II-1 - 143 CONTINUE - DO 145 KK=1,IN - TVVX(KK)=VVX(KK) - TVVY(KK)=VVY(KK) - TVVZ(KK)=VVZ(KK) - 145 CONTINUE -* - 999 END - diff --git a/StarVMC/geant3/cgpack/cgfaco.F b/StarVMC/geant3/cgpack/cgfaco.F deleted file mode 100644 index 45d7271bb2e..00000000000 --- a/StarVMC/geant3/cgpack/cgfaco.F +++ /dev/null @@ -1,183 +0,0 @@ -* -* $Id: cgfaco.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgfaco.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : -* - SUBROUTINE CGFACO(VVX,VVY,IJKLMN,LFULL,APROSC) -* -******************************************************************** -* * -* Function: Fill fully visible faces with solid colour. * -* The colour is determined by the table in GDCOTA. * -* The intensity is determined in GDSHAD. * -* * -* Author: S. Giani * -* * -* I/O parameters: * -* * -* VVX,VVY = set of edge's coordinates * -* IJKLMN = number of edges *2. * -* LFULL = flag for full visibility * -* APROSC = light intensity * -* * -******************************************************************** -* -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" -#include "geant321/cghpar.inc" -#include "geant321/cgctra.inc" -#include "geant321/cgcedg.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcspee.inc" -* - DIMENSION VVX(500),VVY(500),IZ(500) - DIMENSION TVVX(500),TVVY(500),IACTU(500) -* - IACTU(1)=0 - IACT=1 - LINFIL=IBITS(LINATT,13,3) - CALL ISFAIS(1) - LINCOL=IBITS(LINATT,16,8) - MPRECM=9-LINFIL - IF(MPRECM.EQ.8)THEN - CALL ISFACI(LINCOL) - CALL ISPLCI(LINCOL) - ELSE - CALL GDSHAD(LINCOL,APROSC) - ENDIF -* - DO 10 I=1,IJKLMN - TVVX(I)=VVX(I) - TVVY(I)=VVY(I) - 10 CONTINUE - VVX(1)=TVVX(1) - VVY(1)=TVVY(1) - VVX(2)=TVVX(2) - VVY(2)=TVVY(2) - IZ(1)=1 - IZ(2)=2 - KZ=3 - IGOR=IJKLMN/2 - DO 90 II=3,IGOR - DO 40 JJ=3,IJKLMN - DO 30 I=1,KZ-1 - IF(JJ.EQ.IZ(I))GOTO 40 - 30 CONTINUE - C11=ABS(TVVX(JJ)-VVX(II-1)) - C12=ABS(TVVY(JJ)-VVY(II-1)) - IF(C11.LT..001.AND.C12.LT..001)THEN - PDJ=JJ*.5 - IPDJ=PDJ - ARG=PDJ-IPDJ - IF(ARG.GT..49)THEN - VVX(II)=TVVX(JJ+1) - VVY(II)=TVVY(JJ+1) - IZ(KZ)=JJ - IZ(KZ+1)=JJ+1 - KZ=KZ+2 - ELSE - VVX(II)=TVVX(JJ-1) - VVY(II)=TVVY(JJ-1) - IZ(KZ)=JJ - IZ(KZ+1)=JJ-1 - KZ=KZ+2 - ENDIF - GOTO 90 - ENDIF - 40 CONTINUE - IACT=IACT+1 - IACTU(IACT)=II-2 - NUMPON=IACTU(IACT)-IACTU(IACT-1) - NUPO=IACTU(IACT-1)+1 - IF(NUMPON.GT.2)THEN -* IF(LEP.LT.0)THEN -* DO 50 IIJ=NUPO,NUPO+NUMPON-1 -* IF(VVY(IIJ).LT.1.)VVY(IIJ)=1. -* 50 CONTINUE -* ENDIF - IF(IDVIEW.EQ.0)THEN - CALL IFA(NUMPON,VVX(NUPO),VVY(NUPO)) - ELSE - LLLINA=LINATT - CALL MVBITS(LINCOL,0,8,LINATT,16) - CALL GVIEWF(VVX(NUPO),VVY(NUPO),NUMPON) - LINATT=LLLINA - ENDIF - ENDIF - DO 70 JJA=3,IJKLMN - DO 60 I=1,KZ-1 - IF(JJA.EQ.IZ(I))GOTO 70 - 60 CONTINUE - JJAO=JJA - GOTO 80 - 70 CONTINUE - PRINT *,'Error in CGFACO' - 80 CONTINUE - PDJJA=JJAO*.5 - IPDJJA=PDJJA - ARG1=PDJJA-IPDJJA - IF(ARG1.LT..01)PRINT *,'Error in CGFACO' - VVX(II-1)=TVVX(JJAO) - VVY(II-1)=TVVY(JJAO) - VVX(II)=TVVX(JJAO+1) - VVY(II)=TVVY(JJAO+1) - IZ(KZ)=JJAO - IZ(KZ+1)=JJAO+1 - KZ=KZ+2 - 90 CONTINUE -* - IACT=IACT+1 - IACTU(IACT)=IGOR - NUMPON=IACTU(IACT)-IACTU(IACT-1) - NUPO=IACTU(IACT-1)+1 - IF(NUMPON.GT.2)THEN -* IF(LEP.LT.0)THEN -* DO 100 IIJ=NUPO,NUPO+NUMPON-1 -* IF(VVY(IIJ).LT.1.)VVY(IIJ)=1. -* 100 CONTINUE -* ENDIF - IF(IDVIEW.EQ.0)THEN - CALL IFA(NUMPON,VVX(NUPO),VVY(NUPO)) - ELSE - LLLINA=LINATT - CALL MVBITS(LINCOL,0,8,LINATT,16) - CALL GVIEWF(VVX(NUPO),VVY(NUPO),NUMPON) - LINATT=LLLINA - ENDIF - ENDIF -* -* IF(IREP.EQ.0)PRINT *,IREP - DO 120 I=1,KZ - IZ(I)=0 - IACTU(I)=0 - 120 CONTINUE -* - END diff --git a/StarVMC/geant3/cgpack/cgfare.F b/StarVMC/geant3/cgpack/cgfare.F deleted file mode 100644 index ceebc23009f..00000000000 --- a/StarVMC/geant3/cgpack/cgfare.F +++ /dev/null @@ -1,467 +0,0 @@ -* -* $Id: cgfare.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgfare.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGFARE(NT,FACE,IVIS,ISHAPE) -************************************************************************ -* * -* Name: CGFARE * -* Author: S. Giani Date: 20.05.91 * -* Revised: * -* * -* Function: HIDDEN FACE REMOVAL algoritm * -* and transformation to screen coordinates * -* * -* References: none * -* * -* Input: NT - number of transformation to screen coordinates * -* FACE - face * -* * -* Output: IVIS - visibility flag * -* 1 - if visible face * -* -1 - if unvisible * -* * -* * -* * -************************************************************************ -#include "geant321/cgcfac.inc" -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" -#include "geant321/cgctra.inc" -#include "geant321/gcspee.inc" -#include "geant321/gcmutr.inc" -***SG - DIMENSION ACCMI1(6),ACCMI2(6),ACCMI3(6), - + ACCMA1(6),ACCMA2(6),ACCMA3(6) - DIMENSION SMI(3),SMA(3),POMI(3),POMA(3) - SAVE ACCMI1,ACCMI2,ACCMI3,ACCMA1,ACCMA2,ACCMA3 - SAVE POMI,POMA,ACCXT1,ACCXT2,ACCNT1,ACCNT2 -***SG - REAL FACE(*) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION T(4,3),A,B,C,S -#endif -#if defined(CERNLIB_SINGLE) - REAL T(4,3) -#endif -*- - IVIS = -1 - DO 120 I=1,4 - DO 110 J=1,3 - T(I,J) = TSCRN(I,J,NT) - 110 CONTINUE - 120 CONTINUE -* -***SG -** HIDDEN FACE REMOVAL -* Computing face scope and skipping if it's 'covered': this -* can allow a great increase in speed and a great reduction -* in number of memory words used. -* - J = LCGFAC - NTIM=NTIM+1 - SRFMI1 = FACE(J+KCGX1) - SRFMI2 = FACE(J+KCGY1) - SRFMI3 = FACE(J+KCGZ1) - SRFMA1 = FACE(J+KCGX1) - SRFMA2 = FACE(J+KCGY1) - SRFMA3 = FACE(J+KCGZ1) - NEDGE = FACE(KCGNE) - DO 333 NE=1,NEDGE - SRFMI1 = MIN(SRFMI1,FACE(J+KCGX1),FACE(J+KCGX2)) - SRFMI2 = MIN(SRFMI2,FACE(J+KCGY1),FACE(J+KCGY2)) - SRFMI3 = MIN(SRFMI3,FACE(J+KCGZ1),FACE(J+KCGZ2)) - SRFMA1 = MAX(SRFMA1,FACE(J+KCGX1),FACE(J+KCGX2)) - SRFMA2 = MAX(SRFMA2,FACE(J+KCGY1),FACE(J+KCGY2)) - SRFMA3 = MAX(SRFMA3,FACE(J+KCGZ1),FACE(J+KCGZ2)) - J = J + LCGEDG - 333 CONTINUE -* If volume set limits - IF(IPORLI.EQ.1)THEN -* If no clipping or shifting or exploding mode - IF(NAIN.EQ.0.AND.KSHIFT.EQ.0.AND.GBOOM.EQ.0)THEN -* If volume created by cgbox - IF(ISHAPE.LT.5.OR.ISHAPE.EQ.10)THEN -* Set 'faces scope' for sublim faces created by cgbox - ACCMI1(NTIM) = SRFMI1 - ACCMI2(NTIM) = SRFMI2 - ACCMI3(NTIM) = SRFMI3 - ACCMA1(NTIM) = SRFMA1 - ACCMA2(NTIM) = SRFMA2 - ACCMA3(NTIM) = SRFMA3 -* Set 'volume scope' for sublim faces of revolution - POMI(1)=S1 - POMI(2)=S2 - POMI(3)=S3 - POMA(1)=SS1 - POMA(2)=SS2 - POMA(3)=SS3 - ACCXT2=SRAGMX - ACCXT1=SRAGMN - ACCNT1=RAINT1 - ACCNT2=RAINT2 -* If volume of revolution - ELSE -* Set 'faces scope' for sublim faces created by cgbox - ACCMI1(4)=S1 - ACCMI1(6)=SS1 - ACCMI2(3)=SS2 - ACCMI2(5)=S2 - ACCMI3(1)=S3 - ACCMI3(2)=SS3 - ACCMA1(4)=S1 - ACCMA1(6)=SS1 - ACCMA2(3)=SS2 - ACCMA2(5)=S2 - ACCMA3(1)=S3 - ACCMA3(2)=SS3 -* Set 'volume scope' and 'radial scope' for sublim faces of revolution - POMI(1)=S1 - POMI(2)=S2 - POMI(3)=S3 - POMA(1)=SS1 - POMA(2)=SS2 - POMA(3)=SS3 - ACCXT2=SRAGMX - ACCXT1=SRAGMN - ACCNT1=RAINT1 - ACCNT2=RAINT2 - ENDIF -* If clipping or shifting or exploding mode on - ELSE -* Set 'volume scope' for all sublim faces, and 'radial scope' as -* well for sublim faces of revolution - POMI(1)=S1 - POMI(2)=S2 - POMI(3)=S3 - POMA(1)=SS1 - POMA(2)=SS2 - POMA(3)=SS3 - ACCXT2=SRAGMX - ACCXT1=SRAGMN - ACCNT1=RAINT1 - ACCNT2=RAINT2 - ENDIF -* If volume is to be compared with limits - ELSEIF(ISUBLI.EQ.1)THEN -* If no clipping or shifting or exploding mode - IF(NAIN.EQ.0.AND.KSHIFT.EQ.0.AND.GBOOM.EQ.0)THEN -* If volume created by cgbox - IF(ISHAPE.LT.5.OR.ISHAPE.EQ.10)THEN -* Comparison face by face - IF(NTIM.EQ.1)THEN - IF(SRFMI3.GT.ACCMI3(NTIM).AND.SRFMA3 - + .GT.ACCMA3(NTIM))GOTO 999 - ELSEIF(NTIM.EQ.2)THEN - IF(SRFMI3.LT.ACCMI3(NTIM).AND.SRFMA3 - + .LT.ACCMA3(NTIM))GOTO 999 - ELSEIF(NTIM.EQ.3)THEN - IF(SRFMI2.LT.ACCMI2(NTIM).AND.SRFMA2 - + .LT.ACCMA2(NTIM))GOTO 999 - ELSEIF(NTIM.EQ.5)THEN - IF(SRFMI2.GT.ACCMI2(NTIM).AND.SRFMA2 - + .GT.ACCMA2(NTIM))GOTO 999 - ELSEIF(NTIM.EQ.4)THEN - IF(SRFMI1.GT.ACCMI1(NTIM).AND.SRFMA1 - + .GT.ACCMA1(NTIM))GOTO 999 - ELSEIF(NTIM.EQ.6)THEN - IF(SRFMI1.LT.ACCMI1(NTIM).AND.SRFMA1 - + .LT.ACCMA1(NTIM))GOTO 999 - ENDIF - GOTO 888 -* If volume of revolution - ELSE -* Comparison with mother scopes - SMI(1)=SRFMI1 - SMI(2)=SRFMI2 - SMI(3)=SRFMI3 - SMA(1)=SRFMA1 - SMA(2)=SRFMA2 - SMA(3)=SRFMA3 - EXTRA1=RMAX1 - EXTRA2=RMAX2 - ENTRA1=RMIN1 - ENTRA2=RMIN2 -* If mother was created by cgbox or if it was of revolution - ISP=0 - DO 127 I=1,3 - SPMI=SMI(I)-POMI(I) - SPMA=SMA(I)-POMA(I) - ASPMI=ABS(SPMI) - ASPMA=ABS(SPMA) - SMIA=SMI(I)-SMA(I) - ASMIA=ABS(SMIA) - IF(SPMI.GE.-0.001.AND.SPMA.LE.0.001)THEN - ISP=ISP+1 - IF(ASPMI.LE.0.001.OR.ASPMA.LE.0.001)THEN - IF(ASMIA.LE.0.001)GOTO 888 - ENDIF - ENDIF - 127 CONTINUE - IF(ISP.EQ.3)THEN -* If mother was of revolution - IF(ACCXT2.NE.0)THEN - IF(ISCOP.EQ.1.AND.(ISHAPE.EQ.11.OR.ISHAPE.EQ.12 - + .OR.ISHAPE.EQ.7.OR.ISHAPE.EQ.8))THEN - EXXT1=EXTRA1-ACCXT1 - EXXT2=EXTRA2-ACCXT2 - ENNT1=ENTRA1-ACCNT1 - ENNT2=ENTRA2-ACCNT2 - IF(EXXT1.LT.-0.001.AND.EXXT2.LT.-0.001.AND. - + ENNT1.GT.0.001.AND.ENNT2.GT.0.001)THEN - GOTO 999 - ELSEIF(EXXT1.LT.-0.001.AND.EXXT2.LT.-0.001.AND. - + ACCNT1.LT.0.001.AND.ACCNT2.LT.0.001)THEN - GOTO 999 - ELSE - GOTO 888 - ENDIF - ELSE - DO 701 ITER=1,IPORNT - EXXT1=EXTRA1-PORMAR(ITER) - EXXT2=EXTRA2-PORMAR(ITER) - AEXXT1=ABS(EXXT1) - AEXXT2=ABS(EXXT2) - ENNT1=ENTRA1-PORMIR(ITER) - ENNT2=ENTRA2-PORMIR(ITER) - AENNT1=ABS(ENNT1) - AENNT2=ABS(ENNT2) - IF(AEXXT1.LT.0.001.OR.AEXXT2.LT.0.001)GOTO 888 - IF(AENNT1.LT.0.001.OR.AENNT2.LT.0.001)THEN - IF(PORMIR(ITER).NE.0.)GOTO 888 - ENDIF - 701 CONTINUE - ENDIF - ENDIF - GOTO 999 - ELSE - GOTO 888 - ENDIF - ENDIF -* If clipping or shifting or exploding mode on - ELSE -* Get scopes of the daughter (of each kind) - SMI(1)=SRFMI1 - SMI(2)=SRFMI2 - SMI(3)=SRFMI3 - SMA(1)=SRFMA1 - SMA(2)=SRFMA2 - SMA(3)=SRFMA3 - EXTRA1=RMAX1 - EXTRA2=RMAX2 - ENTRA1=RMIN1 - ENTRA2=RMIN2 -* If mother was clipped, check relative position of daughter and clipping -* volumes; only if they don't interact, hidden face removal can work. - DO 111 IJ=1,JPORJJ - IFVFUN=0 - DO 301 J=1,3 - PMISMA=CLIPMI(J+3*IJ-3)-SMA(J) - SMIPMA=SMI(J)-CLIPMA(J+3*IJ-3) - APMISM=ABS(PMISMA) - ASMIPM=ABS(SMIPMA) - SMASMI=SMA(J)-SMI(J) - ASMASM=ABS(SMASMI) - IF(PMISMA.GE.-0.001.OR. - + SMIPMA.GE.-0.001)THEN - IFVFUN=1 - IF(APMISM.LT.0.001.OR. - + ASMIPM.LT.0.001)THEN - IF(ASMASM.LT.0.0001)GOTO 888 - ENDIF - GO TO 302 - ENDIF - 301 CONTINUE - 302 CONTINUE - IF(IFVFUN.EQ.0.AND.NAIN.NE.3)GO TO 888 - 111 CONTINUE -* If mother was created by cgbox or if it was of revolution - ISP=0 - DO 128 I=1,3 - SPMI=SMI(I)-POMI(I) - SPMA=SMA(I)-POMA(I) - ASPMI=ABS(SPMI) - ASPMA=ABS(SPMA) - SMIA=SMI(I)-SMA(I) - ASMIA=ABS(SMIA) - IF(SPMI.GE.-0.001.AND.SPMA.LE.0.001)THEN - ISP=ISP+1 - IF(ASPMI.LE.0.001.OR.ASPMA.LE.0.001)THEN - IF(ASMIA.LE.0.001)GOTO 888 - ENDIF - ENDIF - 128 CONTINUE - IF(ISP.EQ.3)THEN -* If mother was of revolution - IF(ACCXT2.NE.0)THEN - IF(ISCOP.EQ.1.AND.(ISHAPE.EQ.11.OR.ISHAPE.EQ.12 - + .OR.ISHAPE.EQ.7.OR.ISHAPE.EQ.8))THEN - EXXT1=EXTRA1-ACCXT1 - EXXT2=EXTRA2-ACCXT2 - ENNT1=ENTRA1-ACCNT1 - ENNT2=ENTRA2-ACCNT2 - IF(EXXT1.LT.-0.001.AND.EXXT2.LT.-0.001.AND. - + ENNT1.GT.0.001.AND.ENNT2.GT.0.001)THEN - GOTO 999 - ELSEIF(EXXT1.LT.-0.001.AND.EXXT2.LT.-0.001.AND. - + ACCNT1.LT.0.001.AND.ACCNT2.LT.0.001)THEN - GOTO 999 - ELSE - GOTO 888 - ENDIF - ELSE - DO 702 ITER=1,IPORNT - EXXT1=EXTRA1-PORMAR(ITER) - EXXT2=EXTRA2-PORMAR(ITER) - AEXXT1=ABS(EXXT1) - AEXXT2=ABS(EXXT2) - ENNT1=ENTRA1-PORMIR(ITER) - ENNT2=ENTRA2-PORMIR(ITER) - AENNT1=ABS(ENNT1) - AENNT2=ABS(ENNT2) - IF(AEXXT1.LT.0.001.OR.AEXXT2.LT.0.001)GOTO 888 - IF(AENNT1.LT.0.001.OR.AENNT2.LT.0.001)THEN - IF(PORMIR(ITER).NE.0.)GOTO 888 - ENDIF - 702 CONTINUE - ENDIF - ENDIF - IF(ISCOP.EQ.1)THEN - IF((ISHAPE.GT.1.AND.ISHAPE.LT.5).OR.ISHAPE.EQ.10) - + GOTO 888 - ENDIF - GOTO 999 - ELSE - GOTO 888 - ENDIF - ENDIF - ENDIF - 888 CONTINUE -* -***SG -* - C = (T(2,1)*T(3,2) - T(3,1)*T(2,2))*FACE(KCGAA) + - + (T(3,1)*T(1,2) - T(1,1)*T(3,2))*FACE(KCGBB) + - + (T(1,1)*T(2,2) - T(2,1)*T(1,2))*FACE(KCGCC) - IF (C .LE. 0.) GOTO 999 - B = (T(2,3)*T(3,1) - T(3,3)*T(2,1))*FACE(KCGAA) + - + (T(3,3)*T(1,1) - T(1,3)*T(3,1))*FACE(KCGBB) + - + (T(1,3)*T(2,1) - T(2,3)*T(1,1))*FACE(KCGCC) - A = (T(2,2)*T(3,3) - T(3,2)*T(2,3))*FACE(KCGAA) + - + (T(3,2)*T(1,3) - T(1,2)*T(3,3))*FACE(KCGBB) + - + (T(1,2)*T(2,3) - T(2,2)*T(1,3))*FACE(KCGCC) - S = 1./SQRT(A*A+B*B+C*C) - AABCD(1) = A*S - AABCD(2) = B*S - AABCD(3) = C*S -* - F1(KCGAF) = FACE(KCGAF) - F1(KCGNE) = FACE(KCGNE) - F1(KCGAA) = 0. - F1(KCGBB) = 0. - F1(KCGCC) = 1. - F1(KCGDD) = 0. - F1(KCGNE) = FACE(KCGNE) -* -** T R A S F E R P O I N T C O O R D I N A T E S -* - NEDGE = FACE(KCGNE) - IF (LCGFAC+NEDGE*LCGEDG .GT. LABC) - + PRINT *, ' Problem in CGFVIS: no space' - XGRAV = 0. - YGRAV = 0. - ZGRAV = 0. - J = LCGFAC - DO 200 NE=1,NEDGE - F1(J+KCGAE) = FACE(J+KCGAE) - X = FACE(J+KCGX1) - Y = FACE(J+KCGY1) - Z = FACE(J+KCGZ1) - F1(J+KCGX1) = T(1,1)*X + T(2,1)*Y + T(3,1)*Z + T(4,1) - F1(J+KCGY1) = T(1,2)*X + T(2,2)*Y + T(3,2)*Z + T(4,2) - F1(J+KCGZ1) = T(1,3)*X + T(2,3)*Y + T(3,3)*Z + T(4,3) - X = FACE(J+KCGX2) - Y = FACE(J+KCGY2) - Z = FACE(J+KCGZ2) - F1(J+KCGX2) = T(1,1)*X + T(2,1)*Y + T(3,1)*Z + T(4,1) - F1(J+KCGY2) = T(1,2)*X + T(2,2)*Y + T(3,2)*Z + T(4,2) - F1(J+KCGZ2) = T(1,3)*X + T(2,3)*Y + T(3,3)*Z + T(4,3) - XGRAV = XGRAV + F1(J+KCGX1) + F1(J+KCGX2) - YGRAV = YGRAV + F1(J+KCGY1) + F1(J+KCGY2) - ZGRAV = ZGRAV + F1(J+KCGZ1) + F1(J+KCGZ2) - J = J + LCGEDG - 200 CONTINUE - XFACT = 1./(2.*NEDGE) - XGRAV = XGRAV * XFACT - YGRAV = YGRAV * XFACT - ZGRAV = ZGRAV * XFACT - AABCD(4) =-(AABCD(1)*XGRAV + AABCD(2)*YGRAV + AABCD(3)*ZGRAV) -* -** F I N D F A C E M I N - M A X -* - J = LCGFAC - RFMIN(1) = F1(J+KCGX1) - RFMIN(2) = F1(J+KCGY1) - RFMIN(3) = F1(J+KCGZ1) - RFMAX(1) = F1(J+KCGX1) - RFMAX(2) = F1(J+KCGY1) - RFMAX(3) = F1(J+KCGZ1) - DO 300 NE=1,NEDGE - RFMIN(1) = MIN(RFMIN(1),F1(J+KCGX1),F1(J+KCGX2)) - RFMIN(2) = MIN(RFMIN(2),F1(J+KCGY1),F1(J+KCGY2)) - RFMIN(3) = MIN(RFMIN(3),F1(J+KCGZ1),F1(J+KCGZ2)) - RFMAX(1) = MAX(RFMAX(1),F1(J+KCGX1),F1(J+KCGX2)) - RFMAX(2) = MAX(RFMAX(2),F1(J+KCGY1),F1(J+KCGY2)) - RFMAX(3) = MAX(RFMAX(3),F1(J+KCGZ1),F1(J+KCGZ2)) - F1(J+KCGZ1) = 0. - F1(J+KCGZ2) = 0. - J = J + LCGEDG - 300 CONTINUE - DRFACE(1) =-RFMAX(1) - DRFACE(2) =-RFMAX(2) - DRFACE(3) = RFMIN(1) - DRFACE(4) = RFMIN(2) - DRFACE(5) = RFMIN(3) -* -** C O M P U T E F A C E V I S I B L E A R E A -* - J = LCGFAC - S = 0. - DLMAX = 0. - DO 400 NE=1,NEDGE - S = S + F1(J+KCGX1)*F1(J+KCGY2) - F1(J+KCGX2)*F1(J+KCGY1) - DL = ABS(F1(J+KCGX2)-F1(J+KCGX1)) + ABS(F1(J+KCGY2)-F1(J+ - + KCGY1)) - IF (DLMAX .LT. DL) DLMAX = DL - J = J + LCGEDG - 400 CONTINUE - IF (DLMAX .LT. EESCR) GOTO 999 - IF (S .GT. DLMAX*EESCR) IVIS = 1 -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgfvis.F b/StarVMC/geant3/cgpack/cgfvis.F deleted file mode 100644 index 9896999116a..00000000000 --- a/StarVMC/geant3/cgpack/cgfvis.F +++ /dev/null @@ -1,223 +0,0 @@ -* -* $Id: cgfvis.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgfvis.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGFVIS(NT,FACE,IVIS,ISHAPE) -************************************************************************ -* * -* Name: CGFVIS * -* Authors: E. Chernyaev, S. Giani Date: 01.08.89 * -* Revised: * -* * -* Function: Transfer face to screen coordinates * -* and find face min-max and face visibility * -* * -* References: none * -* * -* Input: NT - number of transformation to screen coordinates * -* FACE - face * -* * -* Output: IVIS - visibility flag * -* 1 - if visible face * -* -1 - if unvisible * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cgcfac.inc" -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" -#include "geant321/cgctra.inc" -#include "geant321/gcspee.inc" -***SG - DIMENSION ACCMI1(6),ACCMI2(6),ACCMI3(6), - + ACCMA1(6),ACCMA2(6),ACCMA3(6) -***SG - REAL FACE(*) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION T(4,3),A,B,C,S -#endif -#if defined(CERNLIB_SINGLE) - REAL T(4,3) -#endif -*- - IVIS = -1 - DO 120 I=1,4 - DO 110 J=1,3 - T(I,J) = TSCRN(I,J,NT) - 110 CONTINUE - 120 CONTINUE -* -***SG -** HIDDEN FACE REMOVAL -* Computing face scope and skipping if it's 'covered': this -* can allow a great increase in speed and a great reduction -* in number of memory words used. -* - IF(ISHAPE.LE.4.OR.ISHAPE.EQ.10)THEN - NTIM=NTIM+1 - J = LCGFAC - SRFMI1 = FACE(J+KCGX1) - SRFMI2 = FACE(J+KCGY1) - SRFMI3 = FACE(J+KCGZ1) - SRFMA1 = FACE(J+KCGX1) - SRFMA2 = FACE(J+KCGY1) - SRFMA3 = FACE(J+KCGZ1) - NEDGE = FACE(KCGNE) - DO 333 NE=1,NEDGE - SRFMI1 = MIN(SRFMI1,FACE(J+KCGX1),FACE(J+KCGX2)) - SRFMI2 = MIN(SRFMI2,FACE(J+KCGY1),FACE(J+KCGY2)) - SRFMI3 = MIN(SRFMI3,FACE(J+KCGZ1),FACE(J+KCGZ2)) - SRFMA1 = MAX(SRFMA1,FACE(J+KCGX1),FACE(J+KCGX2)) - SRFMA2 = MAX(SRFMA2,FACE(J+KCGY1),FACE(J+KCGY2)) - SRFMA3 = MAX(SRFMA3,FACE(J+KCGZ1),FACE(J+KCGZ2)) - J = J + LCGEDG - 333 CONTINUE - IF(IPORLI.EQ.1)THEN - ACCMI1(NTIM) = SRFMI1 - ACCMI2(NTIM) = SRFMI2 - ACCMI3(NTIM) = SRFMI3 - ACCMA1(NTIM) = SRFMA1 - ACCMA2(NTIM) = SRFMA2 - ACCMA3(NTIM) = SRFMA3 - ELSEIF(ISUBLI.EQ.1)THEN - IF(NTIM.EQ.1.OR.NTIM.EQ.2)THEN - IF(SRFMI3.LT.ACCMI3(NTIM).AND.SRFMA3 - + .LT.ACCMA3(NTIM))GOTO 999 - ELSEIF(NTIM.EQ.3.OR.NTIM.EQ.5)THEN - IF(SRFMI2.LT.ACCMI2(NTIM).AND.SRFMA2 - + .LT.ACCMA2(NTIM))GOTO 999 - ELSEIF(NTIM.EQ.4.OR.NTIM.EQ.6)THEN - IF(SRFMI1.LT.ACCMI1(NTIM).AND.SRFMA1 - + .LT.ACCMA1(NTIM))GOTO 999 - ENDIF - ENDIF - ENDIF -* -***SG -* - C = (T(2,1)*T(3,2) - T(3,1)*T(2,2))*FACE(KCGAA) + - + (T(3,1)*T(1,2) - T(1,1)*T(3,2))*FACE(KCGBB) + - + (T(1,1)*T(2,2) - T(2,1)*T(1,2))*FACE(KCGCC) - IF (C .LE. 0.) GOTO 999 - B = (T(2,3)*T(3,1) - T(3,3)*T(2,1))*FACE(KCGAA) + - + (T(3,3)*T(1,1) - T(1,3)*T(3,1))*FACE(KCGBB) + - + (T(1,3)*T(2,1) - T(2,3)*T(1,1))*FACE(KCGCC) - A = (T(2,2)*T(3,3) - T(3,2)*T(2,3))*FACE(KCGAA) + - + (T(3,2)*T(1,3) - T(1,2)*T(3,3))*FACE(KCGBB) + - + (T(1,2)*T(2,3) - T(2,2)*T(1,3))*FACE(KCGCC) - S = 1./SQRT(A*A+B*B+C*C) - AABCD(1) = A*S - AABCD(2) = B*S - AABCD(3) = C*S -* - F1(KCGAF) = FACE(KCGAF) - F1(KCGNE) = FACE(KCGNE) - F1(KCGAA) = 0. - F1(KCGBB) = 0. - F1(KCGCC) = 1. - F1(KCGDD) = 0. - F1(KCGNE) = FACE(KCGNE) -* -** T R A S F E R P O I N T C O O R D I N A T E S -* - NEDGE = FACE(KCGNE) - IF (LCGFAC+NEDGE*LCGEDG .GT. LABC) - + PRINT *, ' Problem in CGFVIS: no space' - XGRAV = 0. - YGRAV = 0. - ZGRAV = 0. - J = LCGFAC - DO 200 NE=1,NEDGE - F1(J+KCGAE) = FACE(J+KCGAE) - X = FACE(J+KCGX1) - Y = FACE(J+KCGY1) - Z = FACE(J+KCGZ1) - F1(J+KCGX1) = T(1,1)*X + T(2,1)*Y + T(3,1)*Z + T(4,1) - F1(J+KCGY1) = T(1,2)*X + T(2,2)*Y + T(3,2)*Z + T(4,2) - F1(J+KCGZ1) = T(1,3)*X + T(2,3)*Y + T(3,3)*Z + T(4,3) - X = FACE(J+KCGX2) - Y = FACE(J+KCGY2) - Z = FACE(J+KCGZ2) - F1(J+KCGX2) = T(1,1)*X + T(2,1)*Y + T(3,1)*Z + T(4,1) - F1(J+KCGY2) = T(1,2)*X + T(2,2)*Y + T(3,2)*Z + T(4,2) - F1(J+KCGZ2) = T(1,3)*X + T(2,3)*Y + T(3,3)*Z + T(4,3) - XGRAV = XGRAV + F1(J+KCGX1) + F1(J+KCGX2) - YGRAV = YGRAV + F1(J+KCGY1) + F1(J+KCGY2) - ZGRAV = ZGRAV + F1(J+KCGZ1) + F1(J+KCGZ2) - J = J + LCGEDG - 200 CONTINUE - XFACT = 1./(2.*NEDGE) - XGRAV = XGRAV * XFACT - YGRAV = YGRAV * XFACT - ZGRAV = ZGRAV * XFACT - AABCD(4) =-(AABCD(1)*XGRAV + AABCD(2)*YGRAV + AABCD(3)*ZGRAV) -* -** F I N D F A C E M I N - M A X -* - J = LCGFAC - RFMIN(1) = F1(J+KCGX1) - RFMIN(2) = F1(J+KCGY1) - RFMIN(3) = F1(J+KCGZ1) - RFMAX(1) = F1(J+KCGX1) - RFMAX(2) = F1(J+KCGY1) - RFMAX(3) = F1(J+KCGZ1) - DO 300 NE=1,NEDGE - RFMIN(1) = MIN(RFMIN(1),F1(J+KCGX1),F1(J+KCGX2)) - RFMIN(2) = MIN(RFMIN(2),F1(J+KCGY1),F1(J+KCGY2)) - RFMIN(3) = MIN(RFMIN(3),F1(J+KCGZ1),F1(J+KCGZ2)) - RFMAX(1) = MAX(RFMAX(1),F1(J+KCGX1),F1(J+KCGX2)) - RFMAX(2) = MAX(RFMAX(2),F1(J+KCGY1),F1(J+KCGY2)) - RFMAX(3) = MAX(RFMAX(3),F1(J+KCGZ1),F1(J+KCGZ2)) - F1(J+KCGZ1) = 0. - F1(J+KCGZ2) = 0. - J = J + LCGEDG - 300 CONTINUE - DRFACE(1) =-RFMAX(1) - DRFACE(2) =-RFMAX(2) - DRFACE(3) = RFMIN(1) - DRFACE(4) = RFMIN(2) - DRFACE(5) = RFMIN(3) -* -** C O M P U T E F A C E V I S I B L E A R E A -* - J = LCGFAC - S = 0. - DLMAX = 0. - DO 400 NE=1,NEDGE - S = S + F1(J+KCGX1)*F1(J+KCGY2) - F1(J+KCGX2)*F1(J+KCGY1) - DL = ABS(F1(J+KCGX2)-F1(J+KCGX1)) + ABS(F1(J+KCGY2)-F1(J+ - + KCGY1)) - IF (DLMAX .LT. DL) DLMAX = DL - J = J + LCGEDG - 400 CONTINUE - IF (DLMAX .LT. EESCR) GOTO 999 - IF (S .GT. DLMAX*EESCR) IVIS = 1 -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cghcre.F b/StarVMC/geant3/cgpack/cghcre.F deleted file mode 100644 index ba429718d2b..00000000000 --- a/StarVMC/geant3/cgpack/cghcre.F +++ /dev/null @@ -1,72 +0,0 @@ -* -* $Id: cghcre.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghcre.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHCRE(NT,IFWIND,W1,W2,N,H) -************************************************************************ -* * -* Name: CGHCRE * -* Author: E. Chernyaev Date: 05.08.88 * -* Revised: * -* * -* Function: Initiate HIDE-structure * -* * -* References: none * -* * -* Input : NT - number of transformation to screen system * -* IFWIND - window flag * -* W1(2) - left lower window corner * -* W2(2) - rigth upper window corner * -* N - max size of H array * -* H(*) - HIDE-structure * -* * -* Output: none * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cghpar.inc" -#include "geant321/cgctra.inc" - REAL H(*),W1(2),W2(2) -*- - H(KHSIZE) = 0. - IF (N .LT. LHHEAD) GOTO 999 - DO 100 I=1,LHHEAD - H(I) = 0. - 100 CONTINUE - IF (NT.LE.0 .OR. NT.GT.NTMAX) GOTO 999 - H(KHSIZE) = N - H(KHNT) = NT - H(KHIFWI) = IFWIND - IF (IFWIND .LE. 0) GOTO 999 - H(KHIFWI+1) = W1(1) - H(KHIFWI+2) = W1(2) - H(KHIFWI+3) = W2(1) - H(KHIFWI+4) = W2(2) - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cghdfa.F b/StarVMC/geant3/cgpack/cghdfa.F deleted file mode 100644 index db24069903e..00000000000 --- a/StarVMC/geant3/cgpack/cghdfa.F +++ /dev/null @@ -1,102 +0,0 @@ -* -* $Id: cghdfa.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghdfa.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHDFA(NFACE,XYZ,IFACE,IPFACE,DFACE) -************************************************************************ -* * -* Name: CGHDFA * -* Author: E. Chernyaev Date: 07.08.88 * -* Revised: * -* * -* Function: Compute faces min-max * -* * -* References: none * -* * -* Input: NFACE - number of faces * -* XYZ(3,*) - node coordinates * -* IFACE(*) - face array * -* IPFACE(*) - pointers to faces beginings in IFACE * -* * -* Output: DFACE(6,*) - faces min-max * -* * -* Errors: none * -* * -************************************************************************ - REAL XYZ(3,*),DFACE(6,*) -*SG - INTEGER IFACE(*) - INTEGER IPFACE(*) -* -* Error status flag for integer*2 variables : -*SG - COMMON /CGOVER/ IHSERR - IHSERR=0 -*JS -*- - DO 300 NF=1,NFACE - J = IPFACE(NF) - NEDGE = IFACE(J) - J = J + 1 - DFACE(1,NF) = 99999. - DFACE(2,NF) = 99999. - DFACE(3,NF) = 99999. - DFACE(4,NF) =-99999. - DFACE(5,NF) =-99999. - DFACE(6,NF) =-99999. - DO 200 NE=1,NEDGE - DO 100 NN=1,2 - N = IFACE(J) -***SG -* Eliminating integer*2 variables, it's impossible to obtain -* iface(j) < 0. -*JS - IF(N.LT.0)THEN - IHSERR=1 - RETURN - ENDIF -*JS -***SG - J = J + 1 - IF(XYZ(1,N) .LT. DFACE(1,NF)) DFACE(1,NF) = XYZ(1,N) - IF(XYZ(2,N) .LT. DFACE(2,NF)) DFACE(2,NF) = XYZ(2,N) - IF(XYZ(3,N) .LT. DFACE(3,NF)) DFACE(3,NF) = XYZ(3,N) - IF(XYZ(1,N) .GT. DFACE(4,NF)) DFACE(4,NF) = XYZ(1,N) - IF(XYZ(2,N) .GT. DFACE(5,NF)) DFACE(5,NF) = XYZ(2,N) - IF(XYZ(3,N) .GT. DFACE(6,NF)) DFACE(6,NF) = XYZ(3,N) - 100 CONTINUE - 200 CONTINUE - DFACE(1,NF) =-DFACE(1,NF) - DFACE(2,NF) =-DFACE(2,NF) - DFACE(3,NF) = DFACE(4,NF) - DFACE(4,NF) = DFACE(5,NF) - DFACE(5,NF) = DFACE(6,NF) - DFACE(6,NF) =-99999. - 300 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/cgpack/cghend.F b/StarVMC/geant3/cgpack/cghend.F deleted file mode 100644 index ba4a53d03d9..00000000000 --- a/StarVMC/geant3/cgpack/cghend.F +++ /dev/null @@ -1,127 +0,0 @@ -* -* $Id: cghend.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghend.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHEND(H,JERR,RSHD) -************************************************************************ -* * -* Name: CGHEND * -* Author: E. Chernyaev Date: 07.08.88 * -* Revised by: S.Giani Date: 25.04.91 * -* * -* Function: Terminate creation of HIDE-structure * -* * -* References: CGHSHI, CGHDFA, CGHTRE * -* * -* Input : H(*) - HIDE-structure * -* Output: H(1) .EQ. 0 - error in input data (see CGHCRE) * -* H(1) .LT. 0 - no space * -* * -* IHSERR : Flag for indicating the Memory Size Overflow * -* Errors: none * -* * -************************************************************************ -*SG -#include "geant321/cghpar.inc" -* -* I4SIZE is now = 1 to compute the right pointers after that all the -* integer*2 variables have been eliminated. -*SG - REAL H(*) -*JS - COMMON /CGOVER/ IHSERR - JERR=0 -*JS -*- - IF (H(KHSIZE) .EQ. 0.) GOTO 999 - NHSIZE = H(KHSIZE) - NT = H(KHNT) - NXYZ = H(KHNXYZ) - NFACE = H(KHNFAC) - NEDGE = H(KHNEDG) -* S P A C E F O R N O D E S - NX = 3*NXYZ -* S P A C E F O R F A C E S - NF = (NFACE+NEDGE*2)/I4SIZE + 1 - NP = NFACE - NDF = 6*NFACE -* S P A C E F O R T R E E - NTR = 4*NFACE/I4SIZE - NST = NFACE/I4SIZE + 1 - NAL = NFACE - NAR = NFACE -* C H E C K S P A C E - NTOTAL = LHHEAD + NX + NF + NP + NDF + NTR + NST + NAL + NAR - IF (NTOTAL .LT. NHSIZE) GOTO 100 -**SG -* If size of Hide Structure is too big, tell GDRAW the new number -* of words needed to build it. -* - H(KHSIZE) = NHSIZE - NTOTAL - JERR=NTOTAL+1 - GOTO 999 -**SG -* -** S E T P O I N T E R S -* - 100 H(KHSIZE) = NTOTAL -*SG - RSHD=NTOTAL+1 -*SG - JXYZ1 = LHHEAD + 1 - JFA = JXYZ1 + NX - JPFA = JFA + NF - JDFA = JPFA + NP - JTRE = JDFA + NDF - JSTA = JTRE + NTR - JALE = JSTA + NST - JARI = JALE + NAL - H(KHJXYZ) = JXYZ1 - H(KHJFA) = JFA - H(KHJPFA) = JPFA - H(KHJDFA) = JDFA - H(KHJTRE) = JTRE - H(KHJSTA) = JSTA - H(KHJALE) = JALE - H(KHJARI) = JARI -* -** S H I F T F A C E S -** C O M P U T E F A C E S M I N - M A X -** B U I L D T R E E -* - NH = NHSIZE*I4SIZE - CALL CGHSHI(NH,NFACE,NEDGE,H(1),H(JFA),H(JPFA)) - H(KHNFAC) = NFACE - H(KHNEDG) = NEDGE - CALL CGHDFA(NFACE,H(JXYZ1),H(JFA),H(JPFA),H(JDFA)) - JERR=IHSERR - IF(IHSERR.NE.0) RETURN - CALL CGHTRE(NFACE,H(JDFA),H(JSTA),H(JTRE),H(JALE),H(JARI)) -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgheva.F b/StarVMC/geant3/cgpack/cgheva.F deleted file mode 100644 index 13d69d2dd56..00000000000 --- a/StarVMC/geant3/cgpack/cgheva.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: cgheva.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgheva.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHEVA(H,HISI) -*SG -#include "geant321/cghpar.inc" -* - REAL H(*) -*- - HISI=0 - NHSIZE = H(KHSIZE) -* NT = H(KHNT) - NXYZ = H(KHNXYZ) - NFACE = H(KHNFAC) - NEDGE = H(KHNEDG) -* S P A C E F O R N O D E S - NX = 3*NXYZ -* S P A C E F O R F A C E S - NF = (NFACE+NEDGE*2)/I4SIZE + 1 - NP = NFACE - NDF = 6*NFACE -* S P A C E F O R T R E E - NTR = 4*NFACE/I4SIZE - NST = NFACE/I4SIZE + 1 - NAL = NFACE - NAR = NFACE -* C H E C K S P A C E - NTOTAL = LHHEAD + NX + NF + NP + NDF + NTR + NST + NAL + NAR - IF(NTOTAL .GT. NHSIZE)THEN - HISI=NTOTAL+1 - ENDIF - 999 END -*SG diff --git a/StarVMC/geant3/cgpack/cghins.F b/StarVMC/geant3/cgpack/cghins.F deleted file mode 100644 index 628eee01d24..00000000000 --- a/StarVMC/geant3/cgpack/cghins.F +++ /dev/null @@ -1,95 +0,0 @@ -* -* $Id: cghins.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghins.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHINS(CG,H,ISHAPE) -************************************************************************ -* * -* Name: CGHINS * -* Author: E. Chernyaev Date: 04.08.88 * -* Revised by: S.Giani Date: 24.04.91 * -* * -* Function: Add next CG-object to HIDE-structure * -* * -* References: CGHSIZ, CGHMOV * -* * -* Input: CG(*) - CG-object * -* H(*) - HIDE-structure * -* * -* Output: none * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cghpar.inc" -*SG -#include "geant321/gcgobj.inc" -*SG - REAL CG(*),H(*) -*- P A R A M E T E R S C H E C K - IF (H(KHSIZE) .LE. 0.) GOTO 999 - CALL CGTSTR(CG,IREP) -* IF (IREP .LT. 0) PRINT *, 'CGHINS: CG-structure test failed' - IF (IREP .LT. 0) GOTO 999 -* - NHSIZE = H(KHSIZE) - NT = H(KHNT) - NXYZ = H(KHNXYZ) - NFACE = H(KHNFAC) - NEDGE = H(KHNEDG) - CALL CGHSIZ(CG,NT,NVF,NVE,ISHAPE) - IF (NVF .EQ. 0) GOTO 999 - NX = 3*(NXYZ + NVE*2) - NF = (NFACE + NEDGE*2 + NVF + NVE*2)/I4SIZE + 1 - NP = (NVE*2*2)/I4SIZE + 1 - NTOTAL = LHHEAD + NX + NF + NP -* T E S T S P A C E - IF (NTOTAL .LT. NHSIZE) GOTO 100 -*SG -* Setting new number of words needed -* - NCLAS1=NTOTAL+1 - KCGST=-8 -*SG - H(KHNXYZ) = NXYZ + NVE*2 - H(KHNFAC) = NFACE + NVF - H(KHNEDG) = NEDGE + NVE - GOTO 999 -* - 100 JXYZ1 = LHHEAD + NXYZ*3 + 1 - JPOINT = JXYZ1 + NVE*2*3 - JFACE = 1 -*SG -* Resetting flag for size evaluation of Wire Structure -* - KCGST=0 -*SG - CALL CGHMOV(CG,H,NVF,NVE,H(JXYZ1),H(JPOINT),H(JFACE)) -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cghmov.F b/StarVMC/geant3/cgpack/cghmov.F deleted file mode 100644 index fd2ecf1f6c2..00000000000 --- a/StarVMC/geant3/cgpack/cghmov.F +++ /dev/null @@ -1,97 +0,0 @@ -* -* $Id: cghmov.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghmov.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHMOV(CG,H,NVF,NVE,XYZ,IP,IFACE) -************************************************************************ -* * -* Name: CGHMOV * -* Author: E. Chernyaev Date: 04.08.88 * -* Revised: * -* * -* Function: Move visible faces from CG-object to HIDE-structure * -* * -* References: CGHREN * -* * -* Input : CG - CG-object * -* H - HIDE-structure * -* NVF - number of visible faces * -* NVE - number of visible edges * -* XYZ(3,*) - array for new nodes coordinates * -* IP(2,*) - work array for node renumbering * -* IFACE(*) - faces array * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cghpar.inc" - REAL CG(*),H(*),XYZ(6,*) -*SG - INTEGER IP(2,*),IFACE(*) -*SG -*- - JFACE = H(KHSIZE)*I4SIZE-((H(KHNFAC)+NVF)+(H(KHNEDG)+NVE)*2)+1 - JF = 0 - JE = 0 - NN = 0 - JCG = LCGHEA - NFACE = CG(KCGNF) - DO 400 NF=1,NFACE - NEDGE = CG(JCG+KCGNE) - IF (NEDGE .LT. 0) GOTO 300 - IFACE(JFACE+JF) = NEDGE - DO 100 I=1,NEDGE*2 - IFACE(JFACE+JF+I) = NN + I - 100 CONTINUE - DO 200 I=1,NEDGE - J = JCG + LCGFAC + (I-1)*LCGEDG - XYZ(1,JE+I) = CG(J+KCGX1) - XYZ(2,JE+I) = CG(J+KCGY1) - XYZ(3,JE+I) = CG(J+KCGZ1) - XYZ(4,JE+I) = CG(J+KCGX2) - XYZ(5,JE+I) = CG(J+KCGY2) - XYZ(6,JE+I) = CG(J+KCGZ2) - 200 CONTINUE - NN = NN + NEDGE*2 - JF = JF + NEDGE*2 + 1 - JE = JE + NEDGE - 300 IF (NEDGE .LT. 0) NEDGE =-NEDGE - CG(JCG+KCGNE) = NEDGE - JCG = JCG + LCGFAC + NEDGE*LCGEDG - 400 CONTINUE - NT = H(KHNT) - NOLD = H(KHNXYZ) - NNEW = NVE*2 - CALL CGHREN(NT,NOLD,NNEW,NVF,XYZ,IP,IFACE(JFACE),NTOTAL) - H(KHNXYZ) = NTOTAL - H(KHNFAC) = H(KHNFAC) + NVF - H(KHNEDG) = H(KHNEDG) + NVE -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cghpla.F b/StarVMC/geant3/cgpack/cghpla.F deleted file mode 100644 index d6a115b21b9..00000000000 --- a/StarVMC/geant3/cgpack/cghpla.F +++ /dev/null @@ -1,94 +0,0 @@ -* -* $Id: cghpla.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghpla.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*FCA : 05/01/99 09:39:51 by Federico Carminati -* Converted the routine to double precision and added -* protections against divide by 0 -*-- Author : - SUBROUTINE CGHPLA(IFACE,XYZ,ABCD) -************************************************************************ -* * -* Name: CGHPLA * -* Author: E. Chernyaev Date: 08.08.88 * -* Revised: * -* * -* Function: Compute face plane equation coefficients: * -* Ax + By + Cz + D = 0 * -* * -* References: none * -* * -* Input: IFACE(*) - face * -* XYZ(3,*) - node coordinates * -* * -* Output: ABCD(4) - plane equation coefficients * -* * -* Errors: none * -* * -************************************************************************ -#if defined(CERNLIB_DOUBLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif - PARAMETER (ONE=1,HALF=ONE/2,SMALL=1D-12) - DIMENSION GRAV(3) - REAL XYZ(3,*),ABCD(4) -*SG - INTEGER IFACE(*) -*SG -*- - NEDGE = IFACE(1) - A = 0 - B = 0 - C = 0 - GRAV(1)= 0 - GRAV(2)= 0 - GRAV(3)= 0 - JF = 2 - DO 100 NE=1,NEDGE - N1 = IFACE(JF) - N2 = IFACE(JF+1) - JF = JF + 2 - A = A + XYZ(2,N1)*XYZ(3,N2) - XYZ(2,N2)*XYZ(3,N1) - B = B + XYZ(3,N1)*XYZ(1,N2) - XYZ(3,N2)*XYZ(1,N1) - C = C + XYZ(1,N1)*XYZ(2,N2) - XYZ(1,N2)*XYZ(2,N1) - GRAV(1)= GRAV(1) + XYZ(1,N1) + XYZ(1,N2) - GRAV(2)= GRAV(2) + XYZ(2,N1) + XYZ(2,N2) - GRAV(3)= GRAV(3) + XYZ(3,N1) + XYZ(3,N2) - 100 CONTINUE - HNGRAV = HALF/NEDGE - GRAV(1)= GRAV(1) * HNGRAV - GRAV(2)= GRAV(2) * HNGRAV - GRAV(3)= GRAV(3) * HNGRAV - IF (ABS(A) .LT. SMALL) A=0 - IF (ABS(B) .LT. SMALL) B=0 - IF (ABS(C) .LT. SMALL) C=0 - AREAI = ONE/MAX(SQRT(A*A + B*B + C*C),SMALL) - ABCD(1)= A * AREAI - ABCD(2)= B * AREAI - ABCD(3)= C * AREAI - ABCD(4)=-(A*GRAV(1) + B*GRAV(2) + C*GRAV(3)) * AREAI - END diff --git a/StarVMC/geant3/cgpack/cghpla.F.ori b/StarVMC/geant3/cgpack/cghpla.F.ori deleted file mode 100644 index 29214bf0903..00000000000 --- a/StarVMC/geant3/cgpack/cghpla.F.ori +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: cghpla.F.ori,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghpla.F.ori,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHPLA(IFACE,XYZ,ABCD) -************************************************************************ -* * -* Name: CGHPLA * -* Author: E. Chernyaev Date: 08.08.88 * -* Revised: * -* * -* Function: Compute face plane equation coefficients: * -* Ax + By + Cz + D = 0 * -* * -* References: none * -* * -* Input: IFACE(*) - face * -* XYZ(3,*) - node coordinates * -* * -* Output: ABCD(4) - plane equation coefficients * -* * -* Errors: none * -* * -************************************************************************ - REAL XYZ(3,*),ABCD(4),GRAV(3) -*SG - INTEGER IFACE(*) -*SG -*- - NEDGE = IFACE(1) - A = 0. - B = 0. - C = 0. - GRAV(1)= 0. - GRAV(2)= 0. - GRAV(3)= 0. - JF = 2 - DO 100 NE=1,NEDGE - N1 = IFACE(JF) - N2 = IFACE(JF+1) - JF = JF + 2 - A = A + XYZ(2,N1)*XYZ(3,N2) - XYZ(2,N2)*XYZ(3,N1) - B = B + XYZ(3,N1)*XYZ(1,N2) - XYZ(3,N2)*XYZ(1,N1) - C = C + XYZ(1,N1)*XYZ(2,N2) - XYZ(1,N2)*XYZ(2,N1) - GRAV(1)= GRAV(1) + XYZ(1,N1) + XYZ(1,N2) - GRAV(2)= GRAV(2) + XYZ(2,N1) + XYZ(2,N2) - GRAV(3)= GRAV(3) + XYZ(3,N1) + XYZ(3,N2) - 100 CONTINUE - HNGRAV = 0.5/NEDGE - GRAV(1)= GRAV(1) * HNGRAV - GRAV(2)= GRAV(2) * HNGRAV - GRAV(3)= GRAV(3) * HNGRAV - IF (ABS(A) .LT. 0.000001) A=0. - IF (ABS(B) .LT. 0.000001) B=0. - IF (ABS(C) .LT. 0.000001) C=0. - AREAI = 1./SQRT(A*A + B*B + C*C) - ABCD(1)= A * AREAI - ABCD(2)= B * AREAI - ABCD(3)= C * AREAI - ABCD(4)=-(A*GRAV(1) + B*GRAV(2) + C*GRAV(3)) * AREAI - END diff --git a/StarVMC/geant3/cgpack/cghren.F b/StarVMC/geant3/cgpack/cghren.F deleted file mode 100644 index ef0c919b408..00000000000 --- a/StarVMC/geant3/cgpack/cghren.F +++ /dev/null @@ -1,143 +0,0 @@ -* -* $Id: cghren.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghren.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHREN(NT,NOLD,NNEW,NFACE,XYZ,IP,IFACE,NXYZ) -************************************************************************ -* * -* Name: CGHREN * -* Author: E. Chernyaev Date: 04.08.88 * -* Revised: * -* * -* Function: Transform coordinates to screen system and * -* make renumeration * -* * -* References: none * -* * -* Input: NT - number of transformation * -* NOLD - number of old nodes * -* NNEW - number of new nodes * -* NFACE - number of new faces * -* XYZ(3,*) - node coordinates * -* IP(2,*) - work array for renumbering * -* IFACE(*) - faces * -* * -* Output: NXYZ - total number of nodes after renumeration * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cgdelt.inc" -#include "geant321/cgctra.inc" - REAL XYZ(3,*),SXYZ(3) -*SG - INTEGER IP(2,*),IFACE(*) -*SG -* -** T R A N S F O R M T O S C R E E N COORDINATES -** D I S C R E T I S A T I O N -* - DO 200 I=1,NNEW - DO 100 K=1,3 - SXYZ(K) = TSCRN(1,K,NT)*XYZ(1,I) + TSCRN(2,K,NT)*XYZ(2,I) + - + TSCRN(3,K,NT)*XYZ(3,I) + TSCRN(4,K,NT) -* IF (SXYZ(K) .GE. 0.) KK = (SXYZ(K) + DESCR) * DELSCR -* IF (SXYZ(K) .LT. 0.) KK = (SXYZ(K) - DESCR) * DELSCR -* SXYZ(K) = KK * EESCR - 100 CONTINUE - IP(1,I) = I - XYZ(1,I) = SXYZ(1) - XYZ(2,I) = SXYZ(2) - XYZ(3,I) = SXYZ(3) - 200 CONTINUE -* -** S H E L L S O R T O F C O O R D N A T E S -* -* ISTEP = 1 -* 290 ISTEP = ISTEP*3 + 1 -* IF (ISTEP*2 .LT. NNEW) GOTO 290 -* 300 ISTEP = ISTEP/3 -* DO 500 M=1,NNEW-ISTEP -* IF(XYZ(1,M)-XYZ(1,M+ISTEP)) 500,310,350 -* 310 IF(XYZ(2,M)-XYZ(2,M+ISTEP)) 500,320,350 -* 320 IF(XYZ(3,M)-XYZ(3,M+ISTEP)) 500,500,350 -** -* 350 SXYZ(1) = XYZ(1,M+ISTEP) -* SXYZ(2) = XYZ(2,M+ISTEP) -* SXYZ(3) = XYZ(3,M+ISTEP) -* IPCUR = IP(1,M+ISTEP) -* I = M -* 400 XYZ(1,I+ISTEP) = XYZ(1,I) -* XYZ(2,I+ISTEP) = XYZ(2,I) -* XYZ(3,I+ISTEP) = XYZ(3,I) -* IP (1,I+ISTEP) = IP(1,I) -* I = I - ISTEP -* IF (I .LE. 0) GOTO 450 -* IF (XYZ(1,I)-SXYZ(1)) 450,410,400 -* 410 IF (XYZ(2,I)-SXYZ(2)) 450,420,400 -* 420 IF (XYZ(3,I)-SXYZ(3)) 450,450,400 -* 450 XYZ(1,I+ISTEP) = SXYZ(1) -* XYZ(2,I+ISTEP) = SXYZ(2) -* XYZ(3,I+ISTEP) = SXYZ(3) -* IP (1,I+ISTEP) = IPCUR -** -* 500 CONTINUE -* IF (ISTEP .NE. 1) GOTO 300 -* -** N O D E R E N U M E R A T I O N -* - NN = 1 - NIP11=IP(1,1) - IP(2,NIP11)= NN + NOLD - DO 650 I=2,NNEW -* IF (XYZ(1,I) .NE. XYZ(1,I-1)) GOTO 610 -* IF (XYZ(2,I) .NE. XYZ(2,I-1)) GOTO 610 -* IF (XYZ(3,I) .EQ. XYZ(3,I-1)) GOTO 620 - 610 NN = NN + 1 - XYZ(1,NN) = XYZ(1,I) - XYZ(2,NN) = XYZ(2,I) - XYZ(3,NN) = XYZ(3,I) - 620 NIP=IP(1,I) - IP(2,NIP)= NN + NOLD - 650 CONTINUE -* -** S E T N E W N O D E N U M B E R S I N F A C E S -* - JF = 1 - DO 800 NF=1,NFACE - NEDGE = IFACE(JF) - DO 700 NE=1,NEDGE*2 - NIF=IFACE(JF+NE) - IFACE(JF+NE) = IP(2,NIF) - 700 CONTINUE - JF = JF + 1 + NEDGE*2 - 800 CONTINUE -* - NXYZ = NN + NOLD - RETURN - END diff --git a/StarVMC/geant3/cgpack/cghshi.F b/StarVMC/geant3/cgpack/cghshi.F deleted file mode 100644 index e808b1b6915..00000000000 --- a/StarVMC/geant3/cgpack/cghshi.F +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: cghshi.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghshi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHSHI(NSIZE,NFACE,NEDGE,IHIDE,IFACE,IPFACE) -************************************************************************ -* * -* Name: CGHSHI * -* Author: E. Chernyaev Date: 07.08.88 * -* Revised: * -* * -* Function: Shift face array and set pointers to faces * -* * -* References: * -* * -* Input : NSIZE - size of IHIDE array (in INTEGER*2 words) * -* Output: NFACE - number of faces before and after shift * -* NEDGE - number of edges before and after shift * -* IHIDE(*) - old face array * -* IFACE(*) - new face array * -* IPFACE(*) - pointers to faces beginings in IFACE * -* * -* Errors: none * -* * -************************************************************************ -*SG - INTEGER IHIDE(*),IFACE(*) - INTEGER IPFACE(*) -*SG -*- - NF = 0 - NE = 0 - JHIDE = NSIZE - (NFACE+NEDGE*2) + 1 - JFACE = 1 - DO 200 NNF=1,NFACE - IE = 0 - IEDGE = IHIDE(JHIDE) - JHIDE = JHIDE + 1 - JWF = JFACE + 1 - DO 100 NNE=1,IEDGE - N1 = IHIDE(JHIDE) - N2 = IHIDE(JHIDE+1) - JHIDE = JHIDE + 2 - IF (N1 .EQ. N2) GOTO 100 - IFACE(JWF) = N1 - IFACE(JWF+1) = N2 - JWF = JWF + 2 - IE = IE + 1 - 100 CONTINUE - IF (IE .EQ. 0) GOTO 200 - NF = NF + 1 - NE = NE + IE - IFACE(JFACE) = IE - IPFACE(NF) = JFACE - JFACE = JWF - 200 CONTINUE - NFACE = NF - NEDGE = NE - RETURN - END diff --git a/StarVMC/geant3/cgpack/cghsiz.F b/StarVMC/geant3/cgpack/cghsiz.F deleted file mode 100644 index 95bea2635f1..00000000000 --- a/StarVMC/geant3/cgpack/cghsiz.F +++ /dev/null @@ -1,75 +0,0 @@ -* -* $Id: cghsiz.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghsiz.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHSIZ(CG,NT,NVF,NVE,ISHAPE) -************************************************************************ -* * -* Name: CGHSIZ * -* Author: E. Chernyaev Date: 02.08.88 * -* Revised by: S.Giani Date: 26.04.91 * -* * -* Function: Compute number of visible FACES and EDGE * -* * -* References: CGFVIS * -* * -* Input: CG - CG-object * -* NT - number for transformation to screen coordinates * -* * -* Output: NVF - number of visible faces * -* NVE - number of visible edges * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/gcspee.inc" - REAL CG(*) -*- -**SG - NTFLAG = 1 - NTIM = 0 -**SG - NVF = 0 - NVE = 0 - JCG = LCGHEA - NFACE = CG(KCGNF) - DO 100 NF=1,NFACE - NEDGE = CG(JCG+KCGNE) - CALL CGFARE(NT,CG(JCG+1),IVIS,ISHAPE) - IF (IVIS .LT. 0) CG(JCG+KCGNE) =-CG(JCG+KCGNE) - JCG = JCG + LCGFAC + NEDGE*LCGEDG - IF (IVIS .LT. 0) GOTO 100 - NVF = NVF + 1 - NVE = NVE + NEDGE - 100 CONTINUE -*SG - NTFLAG = 0 -*SG - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cghtre.F b/StarVMC/geant3/cgpack/cghtre.F deleted file mode 100644 index 0dc14c7ae41..00000000000 --- a/StarVMC/geant3/cgpack/cghtre.F +++ /dev/null @@ -1,106 +0,0 @@ -* -* $Id: cghtre.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cghtre.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGHTRE(NFACE,DFACE,IORDER,ITREE,ALEFT,ARIGHT) -************************************************************************ -* * -* Name: CGHDFA * -* Author: E. Chernyaev Date: 07.08.88 * -* Revised: * -* * -* Function: build tree of faces min-max * -* * -* References: none * -* * -* Input: NFACE - number of faces * -* DFACE(6,*) - min-max of faces * -* IORDER - work array * -* * -* Output: ITREE(4,*) - tree of faces min-max * -* ALEFT(*) - min-max of left subtree * -* ARIGHT(*) - min-max of right subtree * -* * -* Errors: none * -* * -************************************************************************ - REAL DFACE(6,*),ALEFT(*),ARIGHT(*) - REAL RNDM(1) -*SG - INTEGER IORDER(*),ITREE(4,*) - INTEGER INDLFT(5),INDRGT(5) -*SG - DATA INDLFT/3,4,5,1,2/,INDRGT/3,4,1,2,1/ -*- - DO 100 I=1,NFACE - IORDER(I) = I - 100 CONTINUE -* -** T R E E B U I L D -* - K = NFACE + 1 - IND = 0 - JFREE = 1 - DO 500 I=1,NFACE - K = K - 1 - CALL GRNDM(RNDM,1) - IRNDM = INT(RNDM(1)*K) + 1 - KF = IORDER(IRNDM) - IORDER(IRNDM) = IORDER(K) - IF (I .EQ. 1) GOTO 400 - IT = 1 - 200 JT = IT - NF = ITREE(1,JT) - IND = ITREE(4,JT) - IF (DFACE(IND,KF) .GT. DFACE(IND,NF)) GOTO 300 -* S T E P T O L E F T - INDL = INDLFT(IND) - IF (DFACE(INDL,KF) .GT. ALEFT(JT)) ALEFT(JT)=DFACE(INDL,KF) - IT = ITREE(2,JT) - IF (IT .NE. 0) GOTO 200 - ITREE(2,JT) = JFREE - GOTO 400 -* S T E P T O R I G H T - 300 INDR = INDRGT(IND) - IF (DFACE(INDR,KF) .GT. ARIGHT(JT)) ARIGHT(JT)=DFACE(INDR,KF) - IT = ITREE(3,JT) - IF (IT .NE. 0) GOTO 200 - ITREE(3,JT) = JFREE -* S E T N E W T R E E N O D E - 400 IND = IND + 1 - IF (IND .EQ. 6) IND = 1 - ITREE(1,JFREE) = KF - ITREE(2,JFREE) = 0 - ITREE(3,JFREE) = 0 - ITREE(4,JFREE) = IND - ALEFT (JFREE) =-99999. - ARIGHT(JFREE) =-99999. - JFREE = JFREE+1 - 500 CONTINUE - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cginve.F b/StarVMC/geant3/cgpack/cginve.F deleted file mode 100644 index 9d319dd68a7..00000000000 --- a/StarVMC/geant3/cgpack/cginve.F +++ /dev/null @@ -1,73 +0,0 @@ -* -* $Id: cginve.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cginve.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGINVE(CG) -************************************************************************ -* * -* Name: CGINVE * -* Author: E. Chernyaev Date: 20.02.89 * -* Revised: * -* * -* Function: Invert edge direction * -* * -* References: none * -* * -* Input: CG(*) - CG-object * -* Output: * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL CG(*) -*- - NFACE = CG(KCGNF) - JCG = LCGHEA - DO 200 NF=1,NFACE - CG(JCG+KCGAA) =-CG(JCG+KCGAA) - CG(JCG+KCGBB) =-CG(JCG+KCGBB) - CG(JCG+KCGCC) =-CG(JCG+KCGCC) - CG(JCG+KCGDD) =-CG(JCG+KCGDD) - NEDGE = CG(JCG+KCGNE) - JCG = JCG + LCGFAC - DO 100 NE=1,NEDGE - X = CG(JCG+KCGX1) - Y = CG(JCG+KCGY1) - Z = CG(JCG+KCGZ1) - CG(JCG+KCGX1) = CG(JCG+KCGX2) - CG(JCG+KCGY1) = CG(JCG+KCGY2) - CG(JCG+KCGZ1) = CG(JCG+KCGZ2) - CG(JCG+KCGX2) = X - CG(JCG+KCGY2) = Y - CG(JCG+KCGZ2) = Z - JCG = JCG + LCGEDG - 100 CONTINUE - 200 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgmnmx.F b/StarVMC/geant3/cgpack/cgmnmx.F deleted file mode 100644 index cb1a7e2fc15..00000000000 --- a/StarVMC/geant3/cgpack/cgmnmx.F +++ /dev/null @@ -1,84 +0,0 @@ -* -* $Id: cgmnmx.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgmnmx.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGMNMX(CG,RMIN,RMAX) -************************************************************************ -* * -* Name: CGMNMX * -* Author: E. Chernyaev Date: 19.08.88 * -* Revised: * -* * -* Function: Compute scope of CG-object * -* * -* References: CGTSTR * -* * -* Input: CG(*) - CG-object * -* * -* Output: RMIN(3) - min coordinates * -* RMAX(3) - max coordinates * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL CG(*),RMIN(3),RMAX(3) -*- - DO 100 I=1,3 - RMIN(I) =+999999. - RMAX(I) =-999999. - 100 CONTINUE - CALL CGTSTR(CG,IREP) - IF (IREP .LT. 0) GOTO 999 -* - NFACE = CG(KCGNF) - IF (NFACE .EQ. 0) GOTO 999 - JCG = LCGHEA - DO 300 NF=1,NFACE - NEDGE = CG(JCG+KCGNE) - JCG = JCG + LCGFAC - DO 200 NE=1,NEDGE - IF (CG(JCG+KCGX1) .LT. RMIN(1)) RMIN(1) = CG(JCG+KCGX1) - IF (CG(JCG+KCGY1) .LT. RMIN(2)) RMIN(2) = CG(JCG+KCGY1) - IF (CG(JCG+KCGZ1) .LT. RMIN(3)) RMIN(3) = CG(JCG+KCGZ1) - IF (CG(JCG+KCGX2) .LT. RMIN(1)) RMIN(1) = CG(JCG+KCGX2) - IF (CG(JCG+KCGY2) .LT. RMIN(2)) RMIN(2) = CG(JCG+KCGY2) - IF (CG(JCG+KCGZ2) .LT. RMIN(3)) RMIN(3) = CG(JCG+KCGZ2) -* - IF (CG(JCG+KCGX1) .GT. RMAX(1)) RMAX(1) = CG(JCG+KCGX1) - IF (CG(JCG+KCGY1) .GT. RMAX(2)) RMAX(2) = CG(JCG+KCGY1) - IF (CG(JCG+KCGZ1) .GT. RMAX(3)) RMAX(3) = CG(JCG+KCGZ1) - IF (CG(JCG+KCGX2) .GT. RMAX(1)) RMAX(1) = CG(JCG+KCGX2) - IF (CG(JCG+KCGY2) .GT. RMAX(2)) RMAX(2) = CG(JCG+KCGY2) - IF (CG(JCG+KCGZ2) .GT. RMAX(3)) RMAX(3) = CG(JCG+KCGZ2) - JCG = JCG + LCGEDG - 200 CONTINUE - 300 CONTINUE -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgpers.F b/StarVMC/geant3/cgpack/cgpers.F deleted file mode 100644 index 4a546492340..00000000000 --- a/StarVMC/geant3/cgpack/cgpers.F +++ /dev/null @@ -1,126 +0,0 @@ -* -* $Id: cgpers.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgpers.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE CGPERS(CG) -************************************************************************ -* * -* Name: CGPERS * -* Author: S.Giani Date: 22.05.92 * -* * -* Function: Transform CG object according to perspective view * -* * -* References: none * -* * -* Input: CG - CG-object * -* Output: * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" -#include "geant321/gcdraw.inc" - REAL CG(*),GRAV(3) - COMMON/PROSP/SVN(3) -*- - IF (CG(KCGSIZ) .LE. 0.) GOTO 999 - LENG = CG(KCGSIZ) - CG(KCGSIZ) = 0. - IF (LENG .LE. LCGHEA) GOTO 999 - NFACE = CG(KCGNF) - IF (NFACE .LE. 0) GOTO 999 - JCG = LCGHEA - DO 20 NF=1,NFACE - JCGFAC = JCG - NEDGE = CG(JCG+KCGNE) - IF (NEDGE .LE. 0) GOTO 999 - A = 0. - B = 0. - C = 0. - GRAV(1)= 0. - GRAV(2)= 0. - GRAV(3)= 0. - JCG = JCG + LCGFAC -* C O M P U T E F A C E A R E A - DO 10 NE=1,NEDGE -*SG -* PERSPECTIVE -* - CALL UCTOH('PERS',IPERS,4,4) - IF (IPRJ.EQ.IPERS) THEN - XYZ3=CG(JCG+KCGX1)*SVN(1)+CG(JCG+KCGY1)*SVN(2)+ CG(JCG+ - + KCGZ1)*SVN(3) - IF (XYZ3.GE.DPERS) XYZ3=DPERS-0.1 - F=DPERS/(DPERS-XYZ3) - CG(JCG+KCGX1)=CG(JCG+KCGX1)*F - CG(JCG+KCGY1)=CG(JCG+KCGY1)*F - CG(JCG+KCGZ1)=CG(JCG+KCGZ1)*F - XYZ3=CG(JCG+KCGX2)*SVN(1)+CG(JCG+KCGY2)*SVN(2)+ CG(JCG+ - + KCGZ2)*SVN(3) - IF (XYZ3.GE.DPERS) XYZ3=DPERS-0.1 - F=DPERS/(DPERS-XYZ3) - CG(JCG+KCGX2)=CG(JCG+KCGX2)*F - CG(JCG+KCGY2)=CG(JCG+KCGY2)*F - CG(JCG+KCGZ2)=CG(JCG+KCGZ2)*F - ENDIF -*SG - A = A + CG(JCG+KCGY1) * CG(JCG+KCGZ2) - CG(JCG+KCGY2) * - + CG(JCG+KCGZ1) - B = B + CG(JCG+KCGZ1) * CG(JCG+KCGX2) - CG(JCG+KCGZ2) * - + CG(JCG+KCGX1) - C = C + CG(JCG+KCGX1) * CG(JCG+KCGY2) - CG(JCG+KCGX2) * - + CG(JCG+KCGY1) - GRAV(1)= GRAV(1) + CG(JCG+KCGX1) + CG(JCG+KCGX2) - GRAV(2)= GRAV(2) + CG(JCG+KCGY1) + CG(JCG+KCGY2) - GRAV(3)= GRAV(3) + CG(JCG+KCGZ1) + CG(JCG+KCGZ2) - JCG = JCG + LCGEDG - 10 CONTINUE - GRAV(1) = GRAV(1) / (2*NEDGE) - GRAV(2) = GRAV(2) / (2*NEDGE) - GRAV(3) = GRAV(3) / (2*NEDGE) - AREA = SQRT(A*A + B*B + C*C) -*SG -* -* Consider pyramid as a limit TRAP -* - IF (AREA .LT. EEWOR)AREA=.1 -* - IF (AREA .LT. EEWOR) GOTO 999 -*SG - D =-(A*GRAV(1) + B*GRAV(2) + C*GRAV(3)) / AREA - A = A / AREA - B = B / AREA - C = C / AREA - CG(JCGFAC+KCGAA) = A - CG(JCGFAC+KCGBB) = B - CG(JCGFAC+KCGCC) = C - CG(JCGFAC+KCGDD) = D - 20 CONTINUE - CG(KCGSIZ) = LENG - 999 END diff --git a/StarVMC/geant3/cgpack/cgrifl.F b/StarVMC/geant3/cgpack/cgrifl.F deleted file mode 100644 index 8db043db1b7..00000000000 --- a/StarVMC/geant3/cgpack/cgrifl.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: cgrifl.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgrifl.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : -* - SUBROUTINE CGRIFL(TT,CG) -* -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - REAL TT(4,3),CG(*) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION T(4,3),DET1,DET2,DET3,DETTT -#endif -#if defined(CERNLIB_SINGLE) - REAL T(4,3) -#endif -*- -* TDEL = EEWOR / 10. - CALL CGTSTR(CG,IREP) - IF (IREP .LT. 0) GOTO 999 - DO 20 J=1,3 - DO 10 I=1,4 - T(I,J) = TT(I,J) -* IF (ABS(TT(I,J)) .LT. TDEL) T(I,J) = 0. -* IF (ABS(1.-TT(I,J)) .LT. TDEL) T(I,J) = 1. -* IF (ABS(1.+TT(I,J)) .LT. TDEL) T(I,J) =-1. - 10 CONTINUE - 20 CONTINUE -* - DET1=T(1,1)*(T(2,2)*T(3,3)-T(2,3)*T(3,2)) - DET2=T(1,2)*(T(2,1)*T(3,3)-T(2,3)*T(3,1)) - DET3=T(1,3)*(T(2,1)*T(3,2)-T(3,1)*T(2,2)) - DETTT=DET1-DET2+DET3 - IF(DETTT.LT.0.)THEN -* S E T I N V E R S E O R D E R O F E D G E S - JCG=LCGHEA - NFACE = CG(KCGNF) - DO 500 NF=1,NFACE - CG(JCG + KCGAA) =-CG(JCG + KCGAA) - CG(JCG + KCGBB) =-CG(JCG + KCGBB) - CG(JCG + KCGCC) =-CG(JCG + KCGCC) - CG(JCG + KCGDD) =-CG(JCG + KCGDD) - NEDGE = CG(JCG+KCGNE) - JCG = JCG + LCGFAC - DO 400 NE=1,NEDGE - X = CG(JCG+KCGX1) - Y = CG(JCG+KCGY1) - Z = CG(JCG+KCGZ1) - CG(JCG + KCGX1) = CG(JCG + KCGX2) - CG(JCG + KCGY1) = CG(JCG + KCGY2) - CG(JCG + KCGZ1) = CG(JCG + KCGZ2) - CG(JCG + KCGX2) = X - CG(JCG + KCGY2) = Y - CG(JCG + KCGZ2) = Z - JCG = JCG + LCGEDG - 400 CONTINUE - 500 CONTINUE - ENDIF - 999 RETURN - END - - diff --git a/StarVMC/geant3/cgpack/cgsaan.F b/StarVMC/geant3/cgpack/cgsaan.F deleted file mode 100644 index dd1e790475f..00000000000 --- a/StarVMC/geant3/cgpack/cgsaan.F +++ /dev/null @@ -1,75 +0,0 @@ -* -* $Id: cgsaan.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgsaan.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGSAAN(A1,A2,NA,NB,IREP) -************************************************************************ -* * -* Name: CGSAAN * -* Author: E. Chernyaev Date: 01.02.89 * -* Revised: * -* * -* Function: Set parameters of rotation * -* * -* References: none * -* * -* Input: A1 - intitial angle * -* A2 - end angle * -* NA - 1-st number of steps * -* NB - 2-nd number of steps * -* * -* Output: IREP - reply (-1 if error in parameters) * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cgcaan.inc" - SAVE IFIRST - DATA IFIRST/1/ -*- - IF (IFIRST .NE. 0) RAD = ATAN(1.0D+00)*4./180. - IFIRST = 0 - IREP =-1 - IF (NA .LE. 0) GOTO 999 - IF (NB .LE. 0) GOTO 999 - IF (A1 .GE. A2) GOTO 999 - DA = A2 - A1 - IF (DA .GT. 360.) GOTO 999 - IF (DA .EQ. 360.) IFULL = 1 - IF (DA .LT. 360.) IFULL = 0 - NASTP(1) = NA - NASTP(2) = NB - COSI = COS(A1*RAD) - SINI = SIN(A1*RAD) - COSDA(1) = COS(DA*RAD/NA) - SINDA(1) = SIN(DA*RAD/NA) - COSDA(2) = COS(DA*RAD/NB) - SINDA(2) = SIN(DA*RAD/NB) - IREP = 0 - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgscop.F b/StarVMC/geant3/cgpack/cgscop.F deleted file mode 100644 index b4db1f40f61..00000000000 --- a/StarVMC/geant3/cgpack/cgscop.F +++ /dev/null @@ -1,81 +0,0 @@ -* -* $Id: cgscop.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgscop.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGSCOP(IFIRST,CG,RMIN,RMAX) -************************************************************************ -* * -* Name: CGSCOP * -* Author: E. Chernyaev Date: 30.01.89 * -* Revised: * -* * -* Function: Compute CUBE scope of set of CG-objects * -* * -* References: CGMNMX * -* * -* Input: IFIRST - flag (1 - if begin of the set) * -* CG(*) - CG-object * -* * -* Output: RMIN(3) - min coordinates of the CUBE * -* RMAX(3) - max coordinates of the CUBE * -* * -* Errors: none * -* * -************************************************************************ - REAL CG(*),RMIN(3),RMAX(3) - REAL RMID(3),RCMIN(3),RCMAX(3) -*- - CALL CGMNMX(CG,RMIN,RMAX) - IF (IFIRST .EQ. 0) GOTO 100 - RCMIN(1) = RMIN(1) - RCMIN(2) = RMIN(2) - RCMIN(3) = RMIN(3) - RCMAX(1) = RMAX(1) - RCMAX(2) = RMAX(2) - RCMAX(3) = RMAX(3) - 100 IF (RMIN(1) .GT. RMAX(1)) GOTO 999 - RRR = RCMAX(1) - RCMIN(1) - DO 200 I=1,3 - IF (RCMIN(I) .GT. RMIN(I)) RCMIN(I) = RMIN(I) - IF (RCMAX(I) .LT. RMAX(I)) RCMAX(I) = RMAX(I) - RMID(I) = (RCMIN(I) + RCMAX(I))/2. - IF (RRR .LT. RCMAX(I)-RCMIN(I)) RRR = RCMAX(I) - RCMIN(I) - 200 CONTINUE - DO 300 I=1,3 - RCMIN(I) = RMID(I) - RRR/2. - RCMAX(I) = RMID(I) + RRR/2. - 300 CONTINUE -* - 999 RMIN(1) = RCMIN(1) - RMIN(2) = RCMIN(2) - RMIN(3) = RCMIN(3) - RMAX(1) = RCMAX(1) - RMAX(2) = RCMAX(2) - RMAX(3) = RCMAX(3) - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgshel.F b/StarVMC/geant3/cgpack/cgshel.F deleted file mode 100644 index 386f2c709f4..00000000000 --- a/StarVMC/geant3/cgpack/cgshel.F +++ /dev/null @@ -1,157 +0,0 @@ -* -* $Id: cgshel.F,v 1.1.1.2 2009/02/01 17:10:06 fisyak Exp $ -* -* $Log: cgshel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:06 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGSHEL(ATRINV,ERROR,NEDGE,EDGE) -************************************************************************ -* * -* Name: CGSHEL * -* Author: E. Chernyaev Date: 13.04.89 * -* Revised: * -* * -* Function: Shell sort of edges * -* * -* References: none * -* * -* Input: ATRINV - atribute decrement for inverse edges * -* ERROR - presision error * -* Output: NEDGE - number of edges * -* EDGE(*,*) - edges * -* * -* Output: * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL EDGE(LCGEDG,*),SAVE(LCGEDG) -*- - IF (NEDGE .LE. 1) GOTO 999 - KE = 0 - DO 200 NE=1,NEDGE - IF (EDGE(KCGX1,NE) .GT. EDGE(KCGX2,NE)+ERROR) GOTO 120 - IF (EDGE(KCGX1,NE) .LT. EDGE(KCGX2,NE)-ERROR) GOTO 110 - IF (EDGE(KCGY1,NE) .GT. EDGE(KCGY2,NE)+ERROR) GOTO 120 - IF (EDGE(KCGY1,NE) .LT. EDGE(KCGY2,NE)-ERROR) GOTO 110 - IF (EDGE(KCGZ1,NE) .GT. EDGE(KCGZ2,NE)+ERROR) GOTO 120 - IF (EDGE(KCGZ1,NE) .LT. EDGE(KCGZ2,NE)-ERROR) GOTO 110 - GOTO 200 - 110 KE = KE + 1 - IF (KE .EQ. NE) GOTO 200 - EDGE(KCGAE,KE) = EDGE(KCGAE,NE) - EDGE(KCGX1,KE) = EDGE(KCGX1,NE) - EDGE(KCGY1,KE) = EDGE(KCGY1,NE) - EDGE(KCGZ1,KE) = EDGE(KCGZ1,NE) - EDGE(KCGX2,KE) = EDGE(KCGX2,NE) - EDGE(KCGY2,KE) = EDGE(KCGY2,NE) - EDGE(KCGZ2,KE) = EDGE(KCGZ2,NE) - GOTO 200 - 120 KE = KE + 1 - EDGE(KCGAE,KE) = EDGE(KCGAE,NE)-ATRINV - X = EDGE(KCGX1,NE) - Y = EDGE(KCGY1,NE) - Z = EDGE(KCGZ1,NE) - EDGE(KCGX1,KE) = EDGE(KCGX2,NE) - EDGE(KCGY1,KE) = EDGE(KCGY2,NE) - EDGE(KCGZ1,KE) = EDGE(KCGZ2,NE) - EDGE(KCGX2,KE) = X - EDGE(KCGY2,KE) = Y - EDGE(KCGZ2,KE) = Z - 200 CONTINUE - NEDGE = KE -* -** S H E L L S O R T O F E D G E S -* - IF (NEDGE .LE. 1) GOTO 999 - ISTEP = 1 - 210 ISTEP = ISTEP*3 + 1 - IF (ISTEP*2 .LT. NEDGE) GOTO 210 -* - 300 ISTEP = ISTEP/3 - DO 500 I=1,NEDGE-ISTEP - J1 = I - J2 = I + ISTEP -* I F (E D G E (J 1) .L E. E D G E (J 2)) G O T O 5 0 0 - IF (EDGE(KCGX1,J1) .LT. EDGE(KCGX1,J2)-ERROR) GOTO 500 - IF (EDGE(KCGX1,J1) .GT. EDGE(KCGX1,J2)+ERROR) GOTO 350 - IF (EDGE(KCGY1,J1) .LT. EDGE(KCGY1,J2)-ERROR) GOTO 500 - IF (EDGE(KCGY1,J1) .GT. EDGE(KCGY1,J2)+ERROR) GOTO 350 - IF (EDGE(KCGZ1,J1) .LT. EDGE(KCGZ1,J2)-ERROR) GOTO 500 - IF (EDGE(KCGZ1,J1) .GT. EDGE(KCGZ1,J2)+ERROR) GOTO 350 - IF (EDGE(KCGX2,J1) .LT. EDGE(KCGX2,J2)-ERROR) GOTO 500 - IF (EDGE(KCGX2,J1) .GT. EDGE(KCGX2,J2)+ERROR) GOTO 350 - IF (EDGE(KCGY2,J1) .LT. EDGE(KCGY2,J2)-ERROR) GOTO 500 - IF (EDGE(KCGY2,J1) .GT. EDGE(KCGY2,J2)+ERROR) GOTO 350 - IF (EDGE(KCGZ2,J1) .LT. EDGE(KCGZ2,J2)-ERROR) GOTO 500 - IF (EDGE(KCGZ2,J1) .GT. EDGE(KCGZ2,J2)+ERROR) GOTO 350 - GOTO 500 -* S A V E = E D G E (J 2) - 350 SAVE(KCGAE) = EDGE(KCGAE,J2) - SAVE(KCGX1) = EDGE(KCGX1,J2) - SAVE(KCGY1) = EDGE(KCGY1,J2) - SAVE(KCGZ1) = EDGE(KCGZ1,J2) - SAVE(KCGX2) = EDGE(KCGX2,J2) - SAVE(KCGY2) = EDGE(KCGY2,J2) - SAVE(KCGZ2) = EDGE(KCGZ2,J2) -* E D G E (J 2) = E D G E (J 1) - 400 EDGE(KCGAE,J2) = EDGE(KCGAE,J1) - EDGE(KCGX1,J2) = EDGE(KCGX1,J1) - EDGE(KCGY1,J2) = EDGE(KCGY1,J1) - EDGE(KCGZ1,J2) = EDGE(KCGZ1,J1) - EDGE(KCGX2,J2) = EDGE(KCGX2,J1) - EDGE(KCGY2,J2) = EDGE(KCGY2,J1) - EDGE(KCGZ2,J2) = EDGE(KCGZ2,J1) - J2 = J1 - J1 = J1 - ISTEP - IF (J1 .LE. 0) GOTO 450 -* I F (E D G E (J 1) .G T. S A V E) G O T O 4 0 0 - IF (EDGE(KCGX1,J1) .LT. SAVE(KCGX1)-ERROR) GOTO 450 - IF (EDGE(KCGX1,J1) .GT. SAVE(KCGX1)+ERROR) GOTO 400 - IF (EDGE(KCGY1,J1) .LT. SAVE(KCGY1)-ERROR) GOTO 450 - IF (EDGE(KCGY1,J1) .GT. SAVE(KCGY1)+ERROR) GOTO 400 - IF (EDGE(KCGZ1,J1) .LT. SAVE(KCGZ1)-ERROR) GOTO 450 - IF (EDGE(KCGZ1,J1) .GT. SAVE(KCGZ1)+ERROR) GOTO 400 - IF (EDGE(KCGX2,J1) .LT. SAVE(KCGX2)-ERROR) GOTO 450 - IF (EDGE(KCGX2,J1) .GT. SAVE(KCGX2)+ERROR) GOTO 400 - IF (EDGE(KCGY2,J1) .LT. SAVE(KCGY2)-ERROR) GOTO 450 - IF (EDGE(KCGY2,J1) .GT. SAVE(KCGY2)+ERROR) GOTO 400 - IF (EDGE(KCGZ2,J1) .LT. SAVE(KCGZ2)-ERROR) GOTO 450 - IF (EDGE(KCGZ2,J1) .GT. SAVE(KCGZ2)+ERROR) GOTO 400 -* E D G E (J 2) = S A V E - 450 EDGE(KCGAE,J2) = SAVE(KCGAE) - EDGE(KCGX1,J2) = SAVE(KCGX1) - EDGE(KCGY1,J2) = SAVE(KCGY1) - EDGE(KCGZ1,J2) = SAVE(KCGZ1) - EDGE(KCGX2,J2) = SAVE(KCGX2) - EDGE(KCGY2,J2) = SAVE(KCGY2) - EDGE(KCGZ2,J2) = SAVE(KCGZ2) - 500 CONTINUE - IF (ISTEP .NE. 1) GOTO 300 -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgshif.F b/StarVMC/geant3/cgpack/cgshif.F deleted file mode 100644 index 82158ac5d7e..00000000000 --- a/StarVMC/geant3/cgpack/cgshif.F +++ /dev/null @@ -1,68 +0,0 @@ -* -* $Id: cgshif.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgshif.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGSHIF(DX,DY,DZ,CG) -************************************************************************ -* * -* Name: CGSHIF * -* Author: E. Chernyaev Date: 24.08.88 * -* Revised: * -* * -* Function: Shift of CG-object * -* * -* References: CGAFFI * -* * -* Input: DX - X-shift * -* DY - Y-shift * -* DZ - Z-shift * -* Output: CG(*) - CG-object * -* * -* Errors: none * -* * -************************************************************************ - REAL CG(*),T(4,3) -*- - T(1,1) = 1. - T(2,1) = 0. - T(3,1) = 0. - T(4,1) = DX -* - T(1,2) = 0. - T(2,2) = 1. - T(3,2) = 0. - T(4,2) = DY -* - T(1,3) = 0. - T(2,3) = 0. - T(3,3) = 1. - T(4,3) = DZ -* - CALL CGAFFI(T,CG) - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgsize.F b/StarVMC/geant3/cgpack/cgsize.F deleted file mode 100644 index 345abc52351..00000000000 --- a/StarVMC/geant3/cgpack/cgsize.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: cgsize.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgsize.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - FUNCTION CGSIZE(N,NFATYP,NFAC,NEDG) -************************************************************************ -* * -* Name: CGSIZE * -* Author: E. Chernyaev Date: 20.03.88 * -* Revised: * -* * -* Function: Compute size of CG-object * -* * -* References: none * -* * -* Input: N - max size of CG-object * -* NFATYP - number of different face type * -* NFAC(*) - number of faces of given type * -* NEDG(*) - number of edges in face of given type * -* * -* Output: CGSIZE - CG-object size (= 0, if error in parameters) * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - INTEGER NFAC(*),NEDG(*) -*- - CGSIZE = 0. - IF (N .LE. 1) GOTO 999 - IF (NFATYP .LE. 0) GOTO 999 - NEED = LCGHEA - DO 100 I=1,NFATYP - IF (NFAC(I).LT.0 .OR. NEDG(I).LT.3) GOTO 999 - NEED = NEED + NFAC(I)*(LCGFAC + NEDG(I)*LCGEDG) - 100 CONTINUE - IF (NEED .EQ. LCGHEA) GOTO 999 - IF (N-NEED .LT. 0) CGSIZE = N - NEED - IF (N-NEED .GE. 0) CGSIZE = NEED - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgslic.F b/StarVMC/geant3/cgpack/cgslic.F deleted file mode 100644 index 7c153c00978..00000000000 --- a/StarVMC/geant3/cgpack/cgslic.F +++ /dev/null @@ -1,162 +0,0 @@ -* -* $Id: cgslic.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgslic.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGSLIC(A,SLIC,NMAX,B) -************************************************************************ -* * -* Name: CGSLIC * -* Author: E. Chernyaev Date: 20.04.89 * -* Revised: * -* * -* Function: Make slice of CG-object * -* * -* References: CGMNMX * -* * -* Input: A(*) - CG-object * -* SLIC(4) - slicing plane * -* NMAX - max size of B-array * -* * -* Output: B - resulting CG-object * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - PARAMETER (NWORK=LCGHEA+6*(LCGFAC+4*LCGEDG)) - REAL A(*),B(*),SLIC(4),ABCD(4) - REAL RMN(3),RMX(3),RMID(3),W(NWORK),XYZ(3,8) -*- - B(1) = 0. -* T E S T P A R A M E T E R S C O R R E C T N E S S - IF (NMAX .LT. LCGHEA) GOTO 999 - S = SQRT(SLIC(1)*SLIC(1)+SLIC(2)*SLIC(2)+SLIC(3)*SLIC(3)) - IF (S .LE. EEWOR) GOTO 999 - ABCD(1)= SLIC(1) / S - ABCD(2)= SLIC(2) / S - ABCD(3)= SLIC(3) / S - ABCD(4)= SLIC(4) / S - CALL CGSCOP(1,A,RMN,RMX) -* CALL CGMNMX(A,RMN,RMX) - IF (RMN(1) .GT. RMX(1)) GOTO 999 -* M I N - M A X T E S T - NFACE = A(KCGNF) - IF (NFACE .EQ. 0) GOTO 998 - NPOS = 0 - NNEG = 0 - J = LCGHEA - DO 120 NF=1,NFACE - NEDGE = A(J+KCGNE) - J = J + LCGFAC - DO 110 NE=1,NEDGE - DIST = ABCD(1)*A(J+KCGX1)+ABCD(2)*A(J+KCGY1) - + +ABCD(3)*A(J+KCGZ1) + ABCD(4) - IF (DIST .GT.-EEWOR) NPOS = NPOS + 1 - IF (DIST .LT.+EEWOR) NNEG = NNEG + 1 - J = J + LCGEDG - 110 CONTINUE - 120 CONTINUE - IF (NPOS .EQ. 0) GOTO 998 - IF (NNEG .EQ. 0) CALL CGCOPY(A,NMAX,B) - IF (NNEG .EQ. 0) GOTO 999 -* P R E P A R E S L I C I N G O B J E C T - K = 1 - IF (ABS(ABCD(2)) .GT. ABS(ABCD(1))) K = 2 - IF (ABS(ABCD(3)) .GT. ABS(ABCD(K))) K = 3 - RMID(1) = (RMN(1)+RMX(1)) / 2. - RMID(2) = (RMN(2)+RMX(2)) / 2. - RMID(3) = (RMN(3)+RMX(3)) / 2. - RX = RMX(1) - RMN(1) - RY = RMX(2) - RMN(2) - RZ = RMX(3) - RMN(3) -* - GOTO (210,220,230),K - 210 XYZ(2,1) = RMID(2) + RY - XYZ(3,1) = RMID(3) + RZ - XYZ(2,2) = RMID(2) - RY - XYZ(3,2) = RMID(3) + RZ - XYZ(2,3) = RMID(2) - RY - XYZ(3,3) = RMID(3) - RZ - XYZ(2,4) = RMID(2) + RY - XYZ(3,4) = RMID(3) - RZ - DO 215 I=1,4 - XYZ(1,I) = -(ABCD(2)*XYZ(2,I)+ABCD(3)*XYZ(3,I)+ABCD(4))/ABCD(1) - 215 CONTINUE - GOTO 250 -* - 220 XYZ(1,1) = RMID(1) + RX - XYZ(3,1) = RMID(3) + RZ - XYZ(1,2) = RMID(1) - RX - XYZ(3,2) = RMID(3) + RZ - XYZ(1,3) = RMID(1) - RX - XYZ(3,3) = RMID(3) - RZ - XYZ(1,4) = RMID(1) + RX - XYZ(3,4) = RMID(3) - RZ - DO 225 I=1,4 - XYZ(2,I) = -(ABCD(1)*XYZ(1,I)+ABCD(3)*XYZ(3,I)+ABCD(4))/ABCD(2) - 225 CONTINUE - GOTO 250 -* - 230 XYZ(1,1) = RMID(1) + RX - XYZ(2,1) = RMID(2) + RY - XYZ(1,2) = RMID(1) - RX - XYZ(2,2) = RMID(2) + RY - XYZ(1,3) = RMID(1) - RX - XYZ(2,3) = RMID(2) - RY - XYZ(1,4) = RMID(1) + RX - XYZ(2,4) = RMID(2) - RY - DO 235 I=1,4 - XYZ(3,I) = -(ABCD(1)*XYZ(1,I)+ABCD(2)*XYZ(2,I)+ABCD(4))/ABCD(3) - 235 CONTINUE - GOTO 250 -* - 250 IF (ABCD(K) .GT. 0) S = -3. - IF (ABCD(K) .LT. 0) S = +3. - RX = 0. - RY = 0. - RZ = 0. - IF (K .EQ. 1) RX = S * (RMX(1)-RMN(1)) - IF (K .EQ. 2) RY = S * (RMX(2)-RMN(2)) - IF (K .EQ. 3) RZ = S * (RMX(3)-RMN(3)) - DO 255 I=1,4 - XYZ(1,I+4) = XYZ(1,I) + RX - XYZ(2,I+4) = XYZ(2,I) + RY - XYZ(3,I+4) = XYZ(3,I) + RZ - 255 CONTINUE - CALL CGBOX(XYZ,4,4,NWORK,W) - CALL CGCEV(1,W) -* M A K E S L I C E - CALL CGSUB(A,W,NMAX,B) - GOTO 999 -* - 998 B(KCGSIZ) = LCGHEA - B(KCGATT) = 0. - B(KCGNF) = 0. - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgsnor.F b/StarVMC/geant3/cgpack/cgsnor.F deleted file mode 100644 index 5b40bf7547e..00000000000 --- a/StarVMC/geant3/cgpack/cgsnor.F +++ /dev/null @@ -1,105 +0,0 @@ -* -* $Id: cgsnor.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgsnor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGSNOR(CG) -************************************************************************ -* * -* Name: CGSNOR * -* Author: E. Chernyaev Date: 23.08.88 * -* Revised by: S.Giani Date: 25.04.91 * -* * -* Function: Set normals for faces in CG-object * -* * -* References: none * -* * -* Input: CG - CG-object * -* Output: * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - REAL CG(*),GRAV(3) -*- - IF (CG(KCGSIZ) .LE. 0.) GOTO 999 - LENG = CG(KCGSIZ) - CG(KCGSIZ) = 0. - IF (LENG .LE. LCGHEA) GOTO 999 - NFACE = CG(KCGNF) - IF (NFACE .LE. 0) GOTO 999 - JCG = LCGHEA - DO 200 NF=1,NFACE - JCGFAC = JCG - NEDGE = CG(JCG+KCGNE) - IF (NEDGE .LE. 0) GOTO 999 - A = 0. - B = 0. - C = 0. - GRAV(1)= 0. - GRAV(2)= 0. - GRAV(3)= 0. - JCG = JCG + LCGFAC -* C O M P U T E F A C E A R E A - DO 100 NE=1,NEDGE - A = A + CG(JCG+KCGY1) * CG(JCG+KCGZ2) - + - CG(JCG+KCGY2) * CG(JCG+KCGZ1) - B = B + CG(JCG+KCGZ1) * CG(JCG+KCGX2) - + - CG(JCG+KCGZ2) * CG(JCG+KCGX1) - C = C + CG(JCG+KCGX1) * CG(JCG+KCGY2) - + - CG(JCG+KCGX2) * CG(JCG+KCGY1) - GRAV(1)= GRAV(1) + CG(JCG+KCGX1) + CG(JCG+KCGX2) - GRAV(2)= GRAV(2) + CG(JCG+KCGY1) + CG(JCG+KCGY2) - GRAV(3)= GRAV(3) + CG(JCG+KCGZ1) + CG(JCG+KCGZ2) - JCG = JCG + LCGEDG - 100 CONTINUE - GRAV(1) = GRAV(1) / (2*NEDGE) - GRAV(2) = GRAV(2) / (2*NEDGE) - GRAV(3) = GRAV(3) / (2*NEDGE) - AREA = SQRT(A*A + B*B + C*C) -*SG -* -* Consider pyramid as a limit TRAP -* - IF (AREA .LT. EEWOR)AREA=.1 -* - IF (AREA .LT. EEWOR) GOTO 999 -*SG - D =-(A*GRAV(1) + B*GRAV(2) + C*GRAV(3)) / AREA - A = A / AREA - B = B / AREA - C = C / AREA - CG(JCGFAC+KCGAA) = A - CG(JCGFAC+KCGBB) = B - CG(JCGFAC+KCGCC) = C - CG(JCGFAC+KCGDD) = D - 200 CONTINUE - CG(KCGSIZ) = LENG - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgsphe.F b/StarVMC/geant3/cgpack/cgsphe.F deleted file mode 100644 index 3aa087086f1..00000000000 --- a/StarVMC/geant3/cgpack/cgsphe.F +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: cgsphe.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgsphe.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGSPHE(R,KA,KB,LCG,CG) -************************************************************************ -* * -* Name: CGSPHE * -* Author: E. Chernyaev Date: 24.01.89 * -* Revised: * -* * -* Function: Create CG-object for SPHERE (BALL) * -* * -* References: CGELLI * -* * -* Input: R - sphere radius * -* KA - number of latitude step * -* KB - number of longitude step * -* LCG - max-size of CG-object * -* * -* Output: CG - CG-object * -* CG(1) - length of CG-object * -* = 0 if error in parameters * -* < 0 if no space * -* * -* Errors: none * -* * -************************************************************************ - REAL CG(*) -*- - CALL CGELLI(R,R,R,KA,KB,LCG,CG) - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgsub.F b/StarVMC/geant3/cgpack/cgsub.F deleted file mode 100644 index a5ebd95785d..00000000000 --- a/StarVMC/geant3/cgpack/cgsub.F +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: cgsub.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgsub.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGSUB(A,B,NMAX,C) -************************************************************************ -* * -* Name: CGSUB * -* Author: E. Chernyaev Date: 05.04.89 * -* Revised: * -* * -* Function: Subrtarc one CG-objects from another * -* * -* References: CGBOOL * -* * -* Input: A(*) - 1-st CG-object * -* B(*) - 2-nd CG-object * -* NMAX - max length C array * -* * -* Output: C(*) - resulting CG-object * -* * -* Errors: none * -* * -************************************************************************ - REAL A(*),B(*),C(*) -*- - CALL CGBOOL(1,0,A,B,NMAX,C) - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgtset.F b/StarVMC/geant3/cgpack/cgtset.F deleted file mode 100644 index 4a3b852f005..00000000000 --- a/StarVMC/geant3/cgpack/cgtset.F +++ /dev/null @@ -1,89 +0,0 @@ -* -* $Id: cgtset.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgtset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGTSET(N,T,IREP) -************************************************************************ -* * -* Name: CGTSET * -* Author: E. Chernyaev Date: 31.07.88 * -* Revised: * -* * -* Function: Set transformation to screen coordinates and * -* find back transformation to world coordinates * -* * -* References: none * -* * -* Input: N - transformation number * -* T(4,3) - transformation matrix * -* * -* Output: IREP - reply ( 0 - O.K. * -* -1 - if illigal N, * -* -2 - if DET(T)=0.) * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cgctra.inc" - REAL T(4,3) -*- P A R A M E T E R S C H E C K - IREP = 0 - IF (N.LE.0 .OR. N.GT.NTMAX) IREP = -1 - DET = T(1,1)*T(2,2)*T(3,3) - T(3,1)*T(2,2)*T(1,3) + - + T(3,1)*T(1,2)*T(2,3) - T(1,1)*T(3,2)*T(2,3) + - + T(2,1)*T(3,2)*T(1,3) - T(2,1)*T(1,2)*T(3,3) -* IF (ABS(DET) .LT. 1./DELWOR) IREP = -2 - IF (IREP .LT. 0) GOTO 999 -* S E T T R A N S F O R M A T I O N M A T R I X - DO 200 I=1,4 - DO 100 J=1,3 - TSCRN(I,J,N) = T(I,J) - 100 CONTINUE - 200 CONTINUE -* F I N D M A T R I X F O R B A C K TRANSFORMATION - TBACK(1,1,N) = (T(2,2)*T(3,3) - T(2,3)*T(3,2)) / DET - TBACK(2,1,N) =-(T(2,1)*T(3,3) - T(2,3)*T(3,1)) / DET - TBACK(3,1,N) = (T(2,1)*T(3,2) - T(2,2)*T(3,1)) / DET - TBACK(4,1,N) =-(T(2,1)*T(3,2)*T(4,3) - T(4,1)*T(3,2)*T(2,3) + - + T(4,1)*T(2,2)*T(3,3) - T(2,1)*T(4,2)*T(3,3) + - + T(3,1)*T(4,2)*T(2,3) - T(3,1)*T(2,2)*T(4,3))/DET - TBACK(1,2,N) =-(T(1,2)*T(3,3) - T(1,3)*T(3,2)) / DET - TBACK(2,2,N) = (T(1,1)*T(3,3) - T(1,3)*T(3,1)) / DET - TBACK(3,2,N) =-(T(1,1)*T(3,2) - T(1,2)*T(3,1)) / DET - TBACK(4,2,N) = (T(1,1)*T(3,2)*T(4,3) - T(4,1)*T(3,2)*T(1,3) + - + T(4,1)*T(1,2)*T(3,3) - T(1,1)*T(4,2)*T(3,3) + - + T(3,1)*T(4,2)*T(1,3) - T(3,1)*T(1,2)*T(4,3))/DET - TBACK(1,3,N) = (T(1,2)*T(2,3) - T(1,3)*T(2,2)) / DET - TBACK(2,3,N) =-(T(1,1)*T(2,3) - T(1,3)*T(2,1)) / DET - TBACK(3,3,N) = (T(1,1)*T(2,2) - T(1,2)*T(2,1)) / DET - TBACK(4,3,N) =-(T(1,1)*T(2,2)*T(4,3) - T(4,1)*T(2,2)*T(1,3) + - + T(4,1)*T(1,2)*T(2,3) - T(1,1)*T(4,2)*T(2,3) + - + T(2,1)*T(4,2)*T(1,3) - T(2,1)*T(1,2)*T(4,3))/DET -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgtstr.F b/StarVMC/geant3/cgpack/cgtstr.F deleted file mode 100644 index bab9ac654ae..00000000000 --- a/StarVMC/geant3/cgpack/cgtstr.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: cgtstr.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgtstr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGTSTR(CG,IREP) -************************************************************************ -* * -* Name: CGTSTR * -* Author: E. Chernyaev Date: 12.02.89 * -* Revised: * -* * -* Function: Test structure of CG-object * -* * -* References: none * -* * -* Input: CG(*) - CG-object * -* * -* Output: IREP - replay (0 - O.K, -1. - error in structure) * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" - REAL CG(*) -*- - IREP =-1 - LTOTAL = CG(KCGSIZ) - IF (LTOTAL .LT. LCGHEA) GOTO 999 - NFACE = CG(KCGNF) - IF (NFACE .LT. 0) GOTO 999 - IF (NFACE .GT. 99999) GOTO 999 -* - JCG = LCGHEA - IF (NFACE .EQ. 0) GOTO 200 - DO 100 NF=1,NFACE - IF (LTOTAL .LT. JCG+LCGFAC) GOTO 999 - NEDGE = CG(JCG+KCGNE) - IF (NEDGE .LE. 0) GOTO 999 - IF (NEDGE .GT. 99999) GOTO 999 - JCG = JCG + LCGFAC + NEDGE*LCGEDG - IF (LTOTAL .LT. JCG) GOTO 999 - 100 CONTINUE - 200 IF (JCG .EQ. LTOTAL) IREP = 0 -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgvedg.F b/StarVMC/geant3/cgpack/cgvedg.F deleted file mode 100644 index a2a91449521..00000000000 --- a/StarVMC/geant3/cgpack/cgvedg.F +++ /dev/null @@ -1,90 +0,0 @@ -* -* $Id: cgvedg.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgvedg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGVEDG(NT,P1,P2,IVIS) -************************************************************************ -* * -* Name: CGVEDG * -* Author: E. Chernyaev Date: 08.08.88 * -* Revised: * -* * -* Function: Compute ALL about edge: * -* parametric equations X=X1+T(X2-X1), Y=Y1+T(Y2-Y1) * -* edge line equation Ax+By+C=0 * -* edge min-max * -* * -* References: none * -* * -* Input: NT - number of transformation to screen coordinates * -* P1(3) - 1-st edge point * -* P2(3) - 2-nd edge point * -* * -* Output: IVIS = -1 for very small edges * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cgdelt.inc" -#include "geant321/cgctra.inc" -#include "geant321/cgcedg.inc" - REAL P1(3),P2(3) -*- - DO 100 I=1,3 - AA(I) = P1(1)*TSCRN(1,I,NT) + P1(2)*TSCRN(2,I,NT) + - + P1(3)*TSCRN(3,I,NT) + TSCRN(4,I,NT) - BB(I) = P2(1)*TSCRN(1,I,NT) + P2(2)*TSCRN(2,I,NT) + - + P2(3)*TSCRN(3,I,NT) + TSCRN(4,I,NT) - DELTA(I) = BB(I) - AA(I) - 100 CONTINUE -* - IVIS =-1 - AXDELT=ABS(XDELT) - AYDELT=ABS(YDELT) - IF ((AXDELT.LE.EESCR).AND.(AYDELT.LE.EESCR))GOTO 999 - IVIS = 0 -* C O M P U T E E D G E E Q U A T I O N - Q = XDELT*XDELT + YDELT*YDELT - ABC(1,1) = XDELT/Q - ABC(2,1) = YDELT/Q - ABC(3,1) =-(XDELT*XA + YDELT*YA)/Q - XXXQ = SQRT(Q) - ABC(1,2) =-YDELT/XXXQ - ABC(2,2) = XDELT/XXXQ - ABC(3,2) = (YDELT*XA - XDELT*YA)/XXXQ -* C O M P U T E E D G E M I N - M A X - DEDGE(1) =-MAX(XA,XB) - DEDGE(2) =-MAX(YA,YB) - DEDGE(3) = MIN(XA,XB) - DEDGE(4) = MIN(YA,YB) - DEDGE(5) = MIN(ZA,ZB) -* - NPART = 0 - TDEL = EESCR / XXXQ - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgvhed.F b/StarVMC/geant3/cgpack/cgvhed.F deleted file mode 100644 index 43e0af45208..00000000000 --- a/StarVMC/geant3/cgpack/cgvhed.F +++ /dev/null @@ -1,94 +0,0 @@ -* -* $Id: cgvhed.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgvhed.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGVHED(XYZ,IFACE,IPF,DFACE,ITREE,ISTACK,ALEFT,ARIGHT) -************************************************************************ -* * -* Name: CGVHED * -* Author: E. Chernyaev Date: 08.08.88 * -* Revised: * -* * -* Function: Hidden line removal algorithm * -* (tree search is used for min-max test) * -* * -* References: CGVEDG, CGVTEF * -* * -* Input: XYZ(3,*) - nodes coordinates * -* IFACE(*) - faces * -* IPF(*) - pointers to faces beginings * -* DFACE(6,*) - faces min-max * -* ITREE(4,*) - tree of faces min-max * -* ISTACK(*) - stack for tree search * -* ALEFT(*) - min-max of left subtrees * -* ARIGHT(*) - min-max of rigth subtrees * -* * -* Output: none * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cgcedg.inc" - REAL XYZ(3,*),DFACE(6,*),ALEFT(*),ARIGHT(*) -*SG - INTEGER IPF(*) - INTEGER IFACE(*) - INTEGER ISTACK(*),ITREE(4,*) - INTEGER INDLFT(5),INDRGT(5) -*SG - DATA INDLFT/3,4,5,1,2/,INDRGT/3,4,1,2,1/ -*- - JS = 0 - JT = 1 -* T R E E S E A R C H - 200 NF = ITREE(1,JT) - IND = ITREE(4,JT) - IF (DEDGE(IND) .GT. DFACE(IND,NF)) GOTO 300 - DO 210 I=1,5 - IF (DEDGE(I) .GT. DFACE(I,NF)) GOTO 220 - 210 CONTINUE - NIPF=IPF(NF) - CALL CGVTEF(IFACE(NIPF),XYZ,IVIS) - IF (IVIS .LT. 0) GOTO 900 -* S T O R E L E F T L I N K I N S T A C K (IF NEED) - 220 IF (DEDGE(INDLFT(IND)) .GT. ALEFT(JT)) GOTO 300 - JS = JS + 1 - ISTACK(JS) = ITREE(2,JT) -* S T E P T O R I G H T - 300 IF (DEDGE(INDRGT(IND)) .GT. ARIGHT(JT)) GOTO 400 - JT = ITREE(3,JT) - GOTO 200 -* R E S T O R E L E F T L I N K F R O M S T A C K - 400 IF (JS .EQ. 0) GOTO 999 - JT = ISTACK(JS) - JS = JS - 1 - GOTO 200 -* - 900 NPART = -1 - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgvtef.F b/StarVMC/geant3/cgpack/cgvtef.F deleted file mode 100644 index 5b0fd9a1e41..00000000000 --- a/StarVMC/geant3/cgpack/cgvtef.F +++ /dev/null @@ -1,172 +0,0 @@ -* -* $Id: cgvtef.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgvtef.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGVTEF(IFACE,XYZ,IVIS) -************************************************************************ -* * -* Name: CGVTEF * -* Author: E. Chernyaev Date: 16.08.88 * -* Revised: * -* * -* Function: Test edge against face * -* * -* References: CGHPLA, CGVTIN * -* * -* Input: IFACE(*) - face * -* XYZ(3,*) - nodes coordinates * -* * -* Output: IVIS = -1 for unvisible edge * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cgdelt.inc" -#include "geant321/cgcedg.inc" -*SG - INTEGER IFACE(*) -*SG - REAL XYZ(3,*),ABCD(4) -*- - ERROR = 2.*EESCR - IVIS = 0 - NEDGE = IFACE(1) - JF = 2 - JT = 0 - TMIN = 99999. - TMAX =-99999. -* C O M P U T E A L L I N T E R S E C T I O N POINTS - DO 140 NE=1,NEDGE - N1 = IFACE(JF) - N2 = IFACE(JF+1) - JF = JF + 2 - TY1 = ABC(1,2)*XYZ(1,N1) + ABC(2,2)*XYZ(2,N1) + ABC(3,2) - TY2 = ABC(1,2)*XYZ(1,N2) + ABC(2,2)*XYZ(2,N2) + ABC(3,2) - IF (ABS(TY1) .LE. ERROR) TY1 = 0. - IF (ABS(TY2) .LE. ERROR) TY2 = 0. - IF (TY1*TY2) 110,120,140 - 110 TX1 = ABC(1,1)*XYZ(1,N1) + ABC(2,1)*XYZ(2,N1) + ABC(3,1) - TX2 = ABC(1,1)*XYZ(1,N2) + ABC(2,1)*XYZ(2,N2) + ABC(3,1) - T1 = (TX1*TY2-TX2*TY1) / (TY2-TY1) - T2 = 0. - GOTO 130 - 120 IF (TY2 .NE. 0.) GOTO 121 - IF (TY1 .NE. 0.) GOTO 122 - TTT(1,JT+1) = ABC(1,1)*XYZ(1,N1) + ABC(2,1)*XYZ(2,N1) + ABC(3,1) - TTT(2,JT+1) = 0 - TTT(1,JT+2) = ABC(1,1)*XYZ(1,N2) + ABC(2,1)*XYZ(2,N2) + ABC(3,1) - TTT(2,JT+2) = 0 - IF (TTT(1,JT+1) .LT. TMIN) TMIN = TTT(1,JT+1) - IF (TTT(1,JT+1) .GT. TMAX) TMAX = TTT(1,JT+1) - IF (TTT(1,JT+2) .LT. TMIN) TMIN = TTT(1,JT+1) - IF (TTT(1,JT+2) .GT. TMAX) TMAX = TTT(1,JT+1) - GOTO 140 - 121 T1 = ABC(1,1)*XYZ(1,N1) + ABC(2,1)*XYZ(2,N1) + ABC(3,1) - IF (TY2 .LT. 0.) T2=-1. - IF (TY2 .GT. 0.) T2= 1. - GOTO 130 - 122 T1 = ABC(1,1)*XYZ(1,N2) + ABC(2,1)*XYZ(2,N2) + ABC(3,1) - IF (TY1 .LT. 0.) T2=-1 - IF (TY1 .GT. 0.) T2= 1 - GOTO 130 - 130 JT = JT + 1 - TTT(1,JT)= T1 - TTT(2,JT)= T2 - IF (TTT(1,JT) .LT. TMIN) TMIN = TTT(1,JT) - IF (TTT(1,JT) .GT. TMAX) TMAX = TTT(1,JT) - 140 CONTINUE -* C H E C K I F F A C E O U T O F E D G E - IF (JT .EQ. 0) GOTO 999 - IF (TMIN.GE.1.-TDEL .OR. TMAX.LE.0.+TDEL) GOTO 999 -* C O M P U T E F A C E P L A N E -* C H E C K I F E D G E B E F O R E P L A N E - CALL CGHPLA(IFACE,XYZ,ABCD) - DA = ABCD(1)*AA(1)+ABCD(2)*AA(2)+ABCD(3)*AA(3)+ABCD(4) - DB = ABCD(1)*BB(1)+ABCD(2)*BB(2)+ABCD(3)*BB(3)+ABCD(4) - IF (DA.GE.-2.*EESCR .AND. DB.GE.-2.*EESCR) GOTO 999 - IF (DA.LE.0. .AND. DB.LE.0.) GOTO 150 - T0 = DA/(DA-DB) - IF (DA.GE.0. .AND. TMAX.LE.T0+TDEL) GOTO 999 - IF (DB.GE.0. .AND. TMIN.GE.T0-TDEL) GOTO 999 -* S O R T I N T E R S E C T I O N P O I N T S - IF (JT .EQ. 1) GOTO 400 - 150 DO 300 I=1,JT-1 - DO 200 J=I,1,-1 - IF (TTT(1,J+1) .GE. TTT(1,J)) GOTO 300 - T1 = TTT(1,J+1) - T2 = TTT(2,J+1) - TTT(1,J+1) = TTT(1,J) - TTT(2,J+1) = TTT(2,J) - TTT(1,J) = T1 - TTT(2,J) = T2 - 200 CONTINUE - 300 CONTINUE -* - DO 310 I=2,JT - IF (TTT(2,I-1) .EQ. -2.) GOTO 310 -* -******* 02-FEB-1990 **** R.N. - IF(.0001.LT.ABS(TTT(1,I)-TTT(1,I-1)))GOTO 310 -******* 02-FEB-1990 **** R.N. -* - IF (TTT(1,I) .NE. TTT(1,I-1)) GOTO 310 - IF (TTT(2,I) .EQ. TTT(2,I-1)) GOTO 305 - IF (TTT(2,I) .EQ. 0.) GOTO 305 - IF (TTT(2,I-1) .EQ. 0.) GOTO 305 - TTT(2,I) = -2 - GOTO 310 - 305 TTT(2,I-1) = -2. - TTT(2,I) = -2. - 310 CONTINUE -* - J = 0 - DO 320 I=1,JT - IF (TTT(2,I) .EQ. -2.) GOTO 320 - J = J + 1 - TTT(1,J) = TTT(1,I) - 320 CONTINUE - JT = J - IF (JT .EQ. 0) GOTO 999 -* - 400 T1 = 0. - T2 = 1. - IF (DA .GT. 0.) T1 = T0 - IF (DB .GT. 0.) T2 = T0 - DO 500 I=1,JT,2 - IF (TTT(1,I+1) .LE. T1) GOTO 500 - IF (TTT(1,I) .GE. T2) GOTO 999 - TMIN = TTT(1,I) - TMAX = TTT(1,I+1) - IF (TMIN .LT. T1) TMIN = T1 - IF (TMAX .GT. T2) TMAX = T2 - IF (TMAX-TMIN.LE.TDEL) GOTO 500 - CALL CGVTIN(TMIN,TMAX,IVIS) - IF (IVIS .LT. 0) GOTO 999 - 500 CONTINUE - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgvtin.F b/StarVMC/geant3/cgpack/cgvtin.F deleted file mode 100644 index aeee005a80b..00000000000 --- a/StarVMC/geant3/cgpack/cgvtin.F +++ /dev/null @@ -1,96 +0,0 @@ -* -* $Id: cgvtin.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgvtin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGVTIN(TMIN,TMAX,IVIS) -************************************************************************ -* * -* Name: CGVTIN * -* Author: E. Chernyaev Date: 18.08.88 * -* Revised: * -* * -* Function: Insert new portion in hidden portions list * -* * -* References: none * -* * -* Input: TMIN - portion begin * -* TMAX - portion end * -* * -* Output: IVIS = -1 if edge fully unvisible * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cgcedg.inc" -*- - IF (TMAX-TMIN .LT. TDEL) GOTO 999 - KJ = 0 - IF (NPART .EQ. 0) GOTO 210 -* C H E C K C O V E R E D P O R T I O N OF LINE AGAINST -* P R E V I O U S C O V E R E D P O R T I O N S - DO 100 I = 1,NPART - IF (TMIN.LE.TSTRT(I) .AND. KJ.EQ.0) KJ = I - IF (TMIN.GT.TEND(I)+TDEL .OR. TMAX.LT.TSTRT(I)-TDEL) GOTO 100 -* T H E R E I S C O V E R E D PORTIONS INTERSECTIONS - IF (TMIN.GE.TSTRT(I)-TDEL .AND. TMAX.LE.TEND(I)+TDEL) GOTO 999 - IF (TMIN .LT. TSTRT(I)) TSTRT(I) = TMIN - IF (TMAX .GT. TEND(I)) TEND(I) = TMAX - GOTO 300 - 100 CONTINUE -* N O C O V E R E D P O R T I O N S INTERSECTION. -* C R E A T E N E W P O R T I O N - IF (KJ .EQ .0) GOTO 210 - DO 200 I = NPART,KJ,-1 - TSTRT(I+1) = TSTRT(I) - TEND(I+1) = TEND(I) - 200 CONTINUE - 210 NPART = NPART + 1 - IF (KJ .EQ. 0) KJ = NPART - TSTRT(KJ) = TMIN - TEND(KJ) = TMAX -* C O V E R E D P O R T I O N S RECONSTRUCTION (IF NEED) - 300 IF (NPART .LE. 1) GOTO 600 - J = 1 - DO 500 I = 2,NPART - IF (TSTRT(I)-TEND(J) .LT. TDEL) GOTO 490 - J = J+1 - TSTRT(J) = TSTRT(I) - TEND(J) = TEND (I) - GOTO 500 - 490 TEND(J) = MAX (TEND(J),TEND(I)) - 500 CONTINUE - NPART = J -* C H E C K I F L I N E I S F U L L Y C O V E R E D - 600 T0 = 0. - T1 = 1. - IF (TSTRT(1) .LE. TDEL) T0 = TEND(1) - IF (TEND(NPART) .GE. 1.-TDEL) T1 = TSTRT(NPART) - IF (T0 .GE. T1) IVIS = -1 -* - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgwire.F b/StarVMC/geant3/cgpack/cgwire.F deleted file mode 100644 index 61e2682711b..00000000000 --- a/StarVMC/geant3/cgpack/cgwire.F +++ /dev/null @@ -1,160 +0,0 @@ -* -* $Id: cgwire.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgwire.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGWIRE(CG,NTRAN,IFHIDE,NMAX,WIRE,ISHAPE,SHADE) -************************************************************************ -* * -* Name: CGWIRE * -* Author: E. Chernyaev Date: 15.04.88 * -* Revised by: S.Giani Date: 24.04.91 * -* * -* Function: Transfer CG-object to WIRE-object * -* * -* References: CGTSTR, CGFVIS, CGWSOR * -* * -* Input: CG - CG-object * -* NT - number of transformation to screen coordinates * -* IFHIDE - flag ( 0 - all edges,-1 - only not hidden) * -* NMAX - max-length of WIRE array * -* * -* Output: WIRE - WIRE-object * -* WIRE(1) - length of WIRE-object * -* = 0 if error in CG-object structure * -* < 0 if no space in WIRE array or error * -* in parameters * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgctra.inc" -*SG -#include "geant321/gcdraw.inc" -#include "geant321/gcgobj.inc" -#include "geant321/gcspee.inc" -*SG - REAL CG(*),WIRE(*) - INTEGER SHADE(*) -*- - LLEP=ABS(LEP) - WIRE(1)= 0. - IF(LLEP.NE.1)SHADE(1)=0. - MMM=1 -* T E S T P A R A M E T E R S - IF (NTRAN .LE. 0) GOTO 999 - IF (NTRAN .GT. NTMAX) GOTO 999 - IF (NMAX .LE. 0) GOTO 999 - CALL CGTSTR(CG,IREP) - IF (IREP .LT. 0) GOTO 999 - NFACE = CG(KCGNF) -*SG - IF (NFACE .EQ. 0)THEN - WIRE(KCGNF)=0 - GOTO 999 - ENDIF -*SG -* I N I T I A L I S A T I O N - NWIRE = 0 - JCG = LCGHEA - JWR = LCGHEA -* -** L O O P A L O N G F A C E S -*SG - NTIM=0 -*SG - DO 300 NF=1,NFACE - JCGFAC = JCG - NEDGE = CG(JCG+KCGNE) -* D E F I N E V A L U E O F "IFVIS" - IFVIS = -1 - IF (IFHIDE .NE. 0) GOTO 200 - JCG = JCG + LCGFAC - DO 100 NE=1,NEDGE - IF (CG(JCG+KCGAE) .LT. 0.) GOTO 200 - JCG = JCG + LCGEDG - 100 CONTINUE - IFVIS = 0 - GOTO 210 -* -** T E S T F A C E V I S I B I L I T Y -** M O V E E D G E S T O W I R E - O B J E C T -* - 200 CALL CGFARE(NTRAN,CG(JCGFAC+1),IFVIS,ISHAPE) - 210 IF (IFHIDE.NE.0 .AND. IFVIS.LT.0) GOTO 290 - JCG = JCGFAC - AFACE = CG(JCG+KCGAF) - JCG = JCG + LCGFAC - DO 250 NE=1,NEDGE - IF (CG(JCG+KCGAE) .LT. 0.) AEDGE =-AFACE - 1 - IF (CG(JCG+KCGAE) .GE. 0.) AEDGE = AFACE - IF (AEDGE.LT.0. .AND. IFVIS.LT.0) GOTO 240 - IF (NCLAS3+JWR+LCGEDG .GT. NMAX) GOTO 220 - WIRE(JWR+KCGAE) = AEDGE - WIRE(JWR+KCGX1) = CG(JCG+KCGX1) - WIRE(JWR+KCGY1) = CG(JCG+KCGY1) - WIRE(JWR+KCGZ1) = CG(JCG+KCGZ1) - WIRE(JWR+KCGX2) = CG(JCG+KCGX2) - WIRE(JWR+KCGY2) = CG(JCG+KCGY2) - WIRE(JWR+KCGZ2) = CG(JCG+KCGZ2) - 220 NWIRE = NWIRE + 1 - JWR = JWR + LCGEDG - 240 JCG = JCG + LCGEDG - 250 CONTINUE - MMM=MMM+1 - IF(LLEP.NE.1)SHADE(MMM)=NWIRE - 290 JCG = JCGFAC + LCGFAC + NEDGE*LCGEDG - 300 CONTINUE -* -** D E L E T E V E R Y S M A L L W I R E S -** S E T N E E D E D D I R E C T I O N -** S O R T W I R E S -* -*SG -* Finding the total number of words needed to build -* the whole Wire Structure. -* - NCLAS3=NCLAS3+JWR - IF(NCLAS3.GE.NMAX)THEN - KCGST=-8 - GOTO 999 - ENDIF -*SG - IF (JWR .GT. NMAX) GOTO 998 -*SG - LINFIL=IBITS(LINATT,13,3) - IF(LINFIL.EQ.0)CALL CGWSOR(NWIRE,WIRE(KCGNF+1)) -*SG - WIRE(KCGSIZ) = LCGHEA + NWIRE*LCGEDG - IF(LLEP.NE.1)SHADE(1)=MMM - WIRE(KCGATT) = CG(KCGATT) - WIRE(KCGNF) = NWIRE - GOTO 999 -* - 998 WIRE(KCGSIZ) = NMAX - JWR - 999 RETURN - END diff --git a/StarVMC/geant3/cgpack/cgwsor.F b/StarVMC/geant3/cgpack/cgwsor.F deleted file mode 100644 index 6eb3e1d6706..00000000000 --- a/StarVMC/geant3/cgpack/cgwsor.F +++ /dev/null @@ -1,101 +0,0 @@ -* -* $Id: cgwsor.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgwsor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGWSOR(NWIRE,WIRE) -************************************************************************ -* * -* Name: CGWSOR * -* Author: E. Chernyaev Date: 16.04.89 * -* Revised: * -* * -* Function: Prepare wire array * -* * -* References: CGSHEL * -* * -* Input: NWIRE - number of edges * -* Output: WIRE(*,*) - edges * -* * -* Output: * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" - REAL WIRE(LCGEDG,*),SAVE(LCGEDG) -*- - ERROR = 1.5*EEWOR - NE = 0 - ATRINV = 0. - CALL CGSHEL(ATRINV,ERROR,NWIRE,WIRE) - IF (NWIRE .LE. 0) GOTO 999 -* -** D E L E T E U N V I S I B L E D O U B L E E D G E S -** A T R I B U T E A N A L I S A T I O N -* - J = 1 - 100 IF (J .GT. NWIRE) GOTO 999 - A1 = WIRE(KCGAE,J) - SAVE(KCGX1) = WIRE(KCGX1,J) - SAVE(KCGY1) = WIRE(KCGY1,J) - SAVE(KCGZ1) = WIRE(KCGZ1,J) - SAVE(KCGX2) = WIRE(KCGX2,J) - SAVE(KCGY2) = WIRE(KCGY2,J) - SAVE(KCGZ2) = WIRE(KCGZ2,J) - J = J + 1 - 150 IF (J .GT. NWIRE) GOTO 200 - IF (ABS(WIRE(KCGX1,J)-SAVE(KCGX1)) .GT. ERROR) GOTO 200 - IF (ABS(WIRE(KCGY1,J)-SAVE(KCGY1)) .GT. ERROR) GOTO 200 - IF (ABS(WIRE(KCGZ1,J)-SAVE(KCGZ1)) .GT. ERROR) GOTO 200 - IF (ABS(WIRE(KCGX2,J)-SAVE(KCGX2)) .GT. ERROR) GOTO 200 - IF (ABS(WIRE(KCGY2,J)-SAVE(KCGY2)) .GT. ERROR) GOTO 200 - IF (ABS(WIRE(KCGZ2,J)-SAVE(KCGZ2)) .GT. ERROR) GOTO 200 -* D O U B L E W I R E - A2 = WIRE(KCGAE,J) - J = J + 1 - IF (A1.LT.0. .AND. A2.LT.0.) GOTO 100 - IF (A1.LT.0.) A1 =-A1 - 1. - IF (A2.LT.0.) A2 =-A2 - 1. - IF (A2.GT.A1) A1 = A2 - GOTO 150 -* I N S E R T I N W I R E (*) - 200 NE = NE + 1 - IF (A1.LT.0.) A1 =-A1 - 1. - WIRE(KCGAE,NE) = A1 - WIRE(KCGX1,NE) = SAVE(KCGX1) - WIRE(KCGY1,NE) = SAVE(KCGY1) - WIRE(KCGZ1,NE) = SAVE(KCGZ1) - WIRE(KCGX2,NE) = SAVE(KCGX2) - WIRE(KCGY2,NE) = SAVE(KCGY2) - WIRE(KCGZ2,NE) = SAVE(KCGZ2) - GOTO 100 -* - 999 NWIRE = NE - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgzre.F b/StarVMC/geant3/cgpack/cgzre.F deleted file mode 100644 index 50a7b8dea59..00000000000 --- a/StarVMC/geant3/cgpack/cgzre.F +++ /dev/null @@ -1,232 +0,0 @@ -* -* $Id: cgzre.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgzre.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGZRE(K,CG,LCG) -************************************************************************ -* * -* Name: CGZROT * -* Author: E. Chernyaev Date: 01.02.89 * -* Revised: * -* * -* Function: Rotate edge about Z-axis * -* * -* References: none * -* * -* Input: K - number for step * -* CG - CG-object * -* * -* Output: LCG - last index in CG-object * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" -#include "geant321/cgcaan.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION X1,Y1,H1,X2,Y2,H2,AW,AA,BB,CC,DD,S - DOUBLE PRECISION D1,D2,DX1,DY1,DH1,DX2,DY2,DH2 -#endif - REAL CG(*) -*- - J = 0 - D1 = ABS(XYHA(1,1)) + ABS(XYHA(2,1)) - D2 = ABS(XYHA(1,2)) + ABS(XYHA(2,2)) - IF (D1.LT.EEWOR .AND. D2.LT.EEWOR) GOTO 999 - X1 = XYHA(1,1)*COSI - XYHA(2,1)*SINI - Y1 = XYHA(1,1)*SINI + XYHA(2,1)*COSI - X2 = XYHA(1,2)*COSI - XYHA(2,2)*SINI - Y2 = XYHA(1,2)*SINI + XYHA(2,2)*COSI - H1 = XYHA(3,1) - H2 = XYHA(3,2) - IF (ABS(H1-H2) .LT. EEWOR) GOTO 200 - DX1 = X1 - (X2*COSDA(K)-Y2*SINDA(K)) - DY1 = Y1 - (X2*SINDA(K)+Y2*COSDA(K)) - DH1 = H1 - H2 - DX2 = (X1*COSDA(K)-Y1*SINDA(K)) - X2 - DY2 = (X1*SINDA(K)+Y1*COSDA(K)) - Y2 - DH2 = H1 - H2 - AA = DY1*DH2 - DY2*DH1 - BB = DH1*DX2 - DH2*DX1 - CC = DX1*DY2 - DX2*DY1 - S = SQRT(AA*AA + BB*BB + CC*CC) - IF (S .LT. EEWOR) GOTO 999 - AA = AA / S - BB = BB / S - CC = CC / S - DD =-(AA*X1 + BB*Y1 + CC*H1) - DO 130 I=1,NASTP(K) - CG(J+KCGAF) = 0. - CG(J+KCGAA) = AA - CG(J+KCGBB) = BB - CG(J+KCGCC) = CC - CG(J+KCGDD) = DD - AW = AA*COSDA(K) - BB*SINDA(K) - BB = AA*SINDA(K) + BB*COSDA(K) - AA = AW - CG(J+KCGNE) = 4. - IF (D1.LT.EEWOR .OR. D2.LT.EEWOR) CG(J+KCGNE) = 3. - J = J + LCGFAC -* - CG(J+KCGAE) = ATREDG - IF (I.EQ.1 .AND. IFULL.EQ.0) CG(J+KCGAE) = 0. - CG(J+KCGX1) = X2 - CG(J+KCGY1) = Y2 - CG(J+KCGZ1) = H2 - CG(J+KCGX2) = X1 - CG(J+KCGY2) = Y1 - CG(J+KCGZ2) = H1 - J = J + LCGEDG -* - IF (D1 .LT. EEWOR) GOTO 110 - CG(J+KCGAE) = XYHA(4,1) - CG(J+KCGX1) = X1 - CG(J+KCGY1) = Y1 - CG(J+KCGZ1) = H1 - IF (I.NE.NASTP(K) .OR. IFULL.EQ.0) - + CG(J+KCGX2) = X1*COSDA(K) - Y1*SINDA(K) - IF (I.NE.NASTP(K) .OR. IFULL.EQ.0) - + CG(J+KCGY2) = X1*SINDA(K) + Y1*COSDA(K) - IF (I.EQ.NASTP(K) .AND. IFULL.NE.0) - + CG(J+KCGX2) = CG(LCGFAC+KCGX2) - IF (I.EQ.NASTP(K) .AND. IFULL.NE.0) - + CG(J+KCGY2) = CG(LCGFAC+KCGY2) - CG(J+KCGZ2) = H1 - X1 = CG(J+KCGX2) - Y1 = CG(J+KCGY2) - J = J + LCGEDG -* - 110 IF (D2 .LT. EEWOR) GOTO 120 - CG(J+KCGAE) = XYHA(4,2) - CG(J+KCGX2) = X2 - CG(J+KCGY2) = Y2 - CG(J+KCGZ2) = H2 - IF (I.NE.NASTP(K) .OR. IFULL.EQ.0) - + CG(J+KCGX1) = X2*COSDA(K) - Y2*SINDA(K) - IF (I.NE.NASTP(K) .OR. IFULL.EQ.0) - + CG(J+KCGY1) = X2*SINDA(K) + Y2*COSDA(K) - IF (I.EQ.NASTP(K) .AND. IFULL.NE.0) - + CG(J+KCGX1) = CG(LCGFAC+KCGX1) - IF (I.EQ.NASTP(K) .AND. IFULL.NE.0) - + CG(J+KCGY1) = CG(LCGFAC+KCGY1) - CG(J+KCGZ1) = H2 - X2 = CG(J+KCGX1) - Y2 = CG(J+KCGY1) - J = J + LCGEDG -* - 120 CG(J+KCGAE) = ATREDG - IF (I.EQ.NASTP(K) .AND. IFULL.EQ.0) CG(J+KCGAE) = 0. - CG(J+KCGX1) = X1 - CG(J+KCGY1) = Y1 - CG(J+KCGZ1) = H1 - CG(J+KCGX2) = X2 - CG(J+KCGY2) = Y2 - CG(J+KCGZ2) = H2 - J = J + LCGEDG - 130 CONTINUE - GOTO 999 -* -** M A K E H O R I Z O N T A L F A C E -* - 200 DD = D1 - D2 - IF (ABS(DD) .LT. EEWOR) GOTO 999 - K1 = K - K2 = 3 - K - CG(J+KCGAF) = 0. - CG(J+KCGAA) = 0. - CG(J+KCGBB) = 0. - IF (DD .GT. 0) CG(J+KCGCC) = 1. - IF (DD .LT. 0) CG(J+KCGCC) =-1. - CG(J+KCGDD) =-XYHA(3,1) * CG(J+KCGCC) - NEDGE = 0. - IF (D1 .GT. 0) NEDGE = NEDGE + NASTP(K1) - IF (D2 .GT. 0) NEDGE = NEDGE + NASTP(K2) - IF (IFULL .EQ. 0) NEDGE = NEDGE + 2 - CG(J+KCGNE) = NEDGE - J = J + LCGFAC - IF (IFULL .NE. 0) GOTO 210 - CG(J+KCGAE) = 0. - CG(J+KCGX1) = X2 - CG(J+KCGY1) = Y2 - CG(J+KCGZ1) = H2 - CG(J+KCGX2) = X1 - CG(J+KCGY2) = Y1 - CG(J+KCGZ2) = H1 - J = J + LCGEDG - 210 IF (D1 .EQ. 0.) GOTO 230 - DO 220 I=1,NASTP(K1) - CG(J+KCGAE) = XYHA(4,1) - CG(J+KCGX1) = X1 - CG(J+KCGY1) = Y1 - CG(J+KCGZ1) = H1 - CG(J+KCGX2) = X1*COSDA(K1) - Y1*SINDA(K1) - CG(J+KCGY2) = X1*SINDA(K1) + Y1*COSDA(K1) - CG(J+KCGZ2) = H1 - X1 = CG(J+KCGX2) - Y1 = CG(J+KCGY2) - J = J + LCGEDG - 220 CONTINUE - IF (IFULL .EQ. 0) GOTO 230 - X1 = XYHA(1,1)*COSI - XYHA(2,1)*SINI - Y1 = XYHA(1,1)*SINI + XYHA(2,1)*COSI - CG(J-LCGEDG+KCGX2) = X1 - CG(J-LCGEDG+KCGY2) = Y1 -* - 230 IF (D2 .EQ. 0.) GOTO 250 - DO 240 I=1,NASTP(K2) - CG(J+KCGAE) = XYHA(4,2) - CG(J+KCGX2) = X2 - CG(J+KCGY2) = Y2 - CG(J+KCGZ2) = H2 - CG(J+KCGX1) = X2*COSDA(K2) - Y2*SINDA(K2) - CG(J+KCGY1) = X2*SINDA(K2) + Y2*COSDA(K2) - CG(J+KCGZ1) = H2 - X2 = CG(J+KCGX1) - Y2 = CG(J+KCGY1) - J = J + LCGEDG - 240 CONTINUE - IF (IFULL .EQ. 0) GOTO 250 - X2 = XYHA(1,2)*COSI - XYHA(2,2)*SINI - Y2 = XYHA(1,2)*SINI + XYHA(2,2)*COSI - CG(J-LCGEDG+KCGX1) = X2 - CG(J-LCGEDG+KCGY1) = Y2 -* - 250 IF (IFULL .NE. 0) GOTO 999 - CG(J+KCGAE) = 0. - CG(J+KCGX1) = X1 - CG(J+KCGY1) = Y1 - CG(J+KCGZ1) = H1 - CG(J+KCGX2) = X2 - CG(J+KCGY2) = Y2 - CG(J+KCGZ2) = H2 - J = J + LCGEDG -* - 999 LCG = J - RETURN - END diff --git a/StarVMC/geant3/cgpack/cgzrev.F b/StarVMC/geant3/cgpack/cgzrev.F deleted file mode 100644 index e726a2377e2..00000000000 --- a/StarVMC/geant3/cgpack/cgzrev.F +++ /dev/null @@ -1,173 +0,0 @@ -* -* $Id: cgzrev.F,v 1.1.1.2 2009/02/01 17:10:07 fisyak Exp $ -* -* $Log: cgzrev.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:17:54 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:04 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE CGZREV(RZ,A1,A2,NA,LCG,CG) -************************************************************************ -* * -* Name: CGZREV * -* Author: E. Chernyaev Date: 05.02.89 * -* Revised: * -* * -* Function: Create CG-object by revolution around Z-axis * -* * -* References: CGSIZE, CGSAAN, CGZRE * -* * -* Input: RZ(2,4) - 4 node contour (1-st must be left lower node) * -* A1 - initial angle * -* A2 - end angle * -* NA - number of steps on angle * -* LCG - max-size of CG-object * -* * -* Output: CG - CG-object * -* CG(1) - length of CG-object * -* = 0 if error in parameters * -* < 0 if no space * -* * -* Errors: none * -* * -************************************************************************ -#include "geant321/cggpar.inc" -#include "geant321/cgdelt.inc" -#include "geant321/cgcaan.inc" - REAL RZ(2,4),CG(*) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION SINE,COSE -#endif - INTEGER NFAC(4),NEDG(4) -*- - CG(KCGSIZ) = 0. -* T E S T P A R A M E T E R S C O R R E C T N E S S - DO 100 I=1,4 - IF (RZ(1,I) .LT. 0.) GOTO 999 - K = I + 1 - IF (I .EQ. 4) K = 1 - RLENG = ABS(RZ(1,I)-RZ(1,K)) - ZLENG = ABS(RZ(2,I)-RZ(2,K)) - IF (RLENG.LT.EEWOR .AND. ZLENG.LT.EEWOR) GOTO 999 - 100 CONTINUE - CALL CGSAAN(A1,A2,NA,NA,IREP) -* C O M P U T E S I Z E O F C G - O B J E C T - NFATYP = 4 - NEDG(1)= 3 - NEDG(2)= 4 - IF (IFULL .NE. 0) NEDG(3)= NA - IF (IFULL .EQ. 0) NEDG(3)= NA + 2 - IF (IFULL .NE. 0) NEDG(4)= NA + NA - IF (IFULL .EQ. 0) NEDG(4)= NA + NA + 2 - NFAC(1)= 0 - IF (IFULL .NE. 0) NFAC(2)= 0 - IF (IFULL .EQ. 0) NFAC(2)= 2 - NFAC(3)= 0 - NFAC(4)= 0 -* - DO 150 I=1,4 - K = I + 1 - IF (I .EQ. 4) K = 1 - IF (RZ(1,I).LT.EEWOR .AND. RZ(1,K).LT.EEWOR) GOTO 150 - IF (ABS(RZ(2,I)-RZ(2,K)) .LT. EEWOR) GOTO 110 - J = 2 - IF (RZ(1,I) .LT. EEWOR) J = J - 1 - IF (RZ(1,K) .LT. EEWOR) J = J - 1 - NFAC(J) = NFAC(J) + NA - GOTO 150 - 110 IF (ABS(RZ(1,I)-RZ(1,K)) .LT. EEWOR) GOTO 150 - J = 4 - IF (RZ(1,I) .LT. EEWOR) J = J - 1 - IF (RZ(1,K) .LT. EEWOR) J = J - 1 - NFAC(J) = NFAC(J) + 1 - 150 CONTINUE - CG(KCGSIZ) = CGSIZE(LCG,NFATYP,NFAC,NEDG) - IF (CG(KCGSIZ) .LE. 0.) GOTO 999 -* -** C R E A T E C G - O B J E C T -* - CG(KCGATT) = 0. - CG(KCGNF) = NFAC(1) + NFAC(2) + NFAC(3) + NFAC(4) - JCG = LCGHEA - ATREDG =-1. - XYHA(2,1) = 0. - XYHA(2,2) = 0. - XYHA(4,1) = 0. - XYHA(4,2) = 0. - DO 200 I=1,4 - K = I + 1 - IF (I .EQ. 4) K = 1 - XYHA(1,1) = RZ(1,I) - XYHA(3,1) = RZ(2,I) - XYHA(1,2) = RZ(1,K) - XYHA(3,2) = RZ(2,K) - CALL CGZRE(2,CG(JCG+1),J) - JCG = JCG + J - 200 CONTINUE - IF (IFULL .NE. 0.) GOTO 999 -* C R E A T E S I D E F A C E S - CG(JCG+KCGAF) = 0. - CG(JCG+KCGAA) = SINI - CG(JCG+KCGBB) =-COSI - CG(JCG+KCGCC) = 0. - CG(JCG+KCGDD) = 0. - CG(JCG+KCGNE) = 4. - JCG = JCG + LCGFAC - DO 300 I=1,4 - K = I + 1 - IF (I .EQ. 4) K = 1 - CG(JCG+KCGAE) = 0. - CG(JCG+KCGX1) = RZ(1,I)*COSI - CG(JCG+KCGY1) = RZ(1,I)*SINI - CG(JCG+KCGZ1) = RZ(2,I) - CG(JCG+KCGX2) = RZ(1,K)*COSI - CG(JCG+KCGY2) = RZ(1,K)*SINI - CG(JCG+KCGZ2) = RZ(2,K) - JCG = JCG + LCGEDG - 300 CONTINUE -* - CG(JCG+KCGAF) = 0. - COSE = COS(A2*RAD) - SINE = SIN(A2*RAD) - CG(JCG+KCGAA) =-SINE - CG(JCG+KCGBB) = COSE - CG(JCG+KCGCC) = 0. - CG(JCG+KCGDD) = 0. - CG(JCG+KCGNE) = 4. - JCG = JCG + LCGFAC - DO 400 I=1,4 - K = I + 1 - IF (I .EQ. 4) K = 1 - CG(JCG+KCGAE) = 0. - CG(JCG+KCGX1) = RZ(1,K)*COSE - CG(JCG+KCGY1) = RZ(1,K)*SINE - CG(JCG+KCGZ1) = RZ(2,K) - CG(JCG+KCGX2) = RZ(1,I)*COSE - CG(JCG+KCGY2) = RZ(1,I)*SINE - CG(JCG+KCGZ2) = RZ(2,I) - JCG = JCG + LCGEDG - 400 CONTINUE -* - 999 RETURN - END diff --git a/StarVMC/geant3/comad/gcadd.cxx b/StarVMC/geant3/comad/gcadd.cxx deleted file mode 100644 index a9f5c93821c..00000000000 --- a/StarVMC/geant3/comad/gcadd.cxx +++ /dev/null @@ -1,85 +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. * - **************************************************************************/ - -/* -$Log: gcadd.cxx,v $ -Revision 1.1.1.2 2009/02/01 17:10:07 fisyak -Merge with .DEV2 - -Revision 1.1.1.1 2008/12/10 20:46:04 fisyak -Merge with macos version - -Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -Alice version of geant3 (-minicern) - -Revision 1.2 2003/11/28 11:23:55 brun -New version of geant321 with all geant3 routines renamed from G to G3 - -Revision 1.1.1.1 2002/07/24 15:56:24 rdm -initial import into CVS - -Revision 1.1.1.1 2002/06/16 15:17:54 hristov -Separate distribution of Geant3 - -Revision 1.5 2000/12/20 09:46:49 alibrary -dlsym not supported on HP, reverting to gcomad - -Revision 1.3 1999/09/29 09:24:14 fca -Introduction of the Copyright and cvs Log - -*/ - -#if defined(CERNLIB_WINNT) - #define gcaddb GCADDB - #define gcaddc GCADDC - #define gcaddf GCADDF - #define gcaddd GCADDD - #define gcaddi GCADDI - #define gcaddl GCADDL - #define type_of_call _stdcall -#else - #define gcaddb gcaddb_ - #define gcaddc gcaddc_ - #define gcaddf gcaddf_ - #define gcaddd gcaddd_ - #define gcaddi gcaddi_ - #define gcaddl gcaddl_ - #define type_of_call -#endif - -extern "C" bool* type_of_call gcaddb(bool *arg) -{ - return arg; -} -extern "C" char* type_of_call gcaddc(char *arg) -{ - return arg; -} -extern "C" double* type_of_call gcaddd(double *arg) -{ - return arg; -} -extern "C" int* type_of_call gcaddi(int *arg) -{ - return arg; -} -extern "C" float* type_of_call gcaddf(float *arg) -{ - return arg; -} -extern "C" int* type_of_call gcaddl(int *arg) -{ - return arg; -} diff --git a/StarVMC/geant3/comad/gcomad.F b/StarVMC/geant3/comad/gcomad.F deleted file mode 100644 index 697f53e8b2c..00000000000 --- a/StarVMC/geant3/comad/gcomad.F +++ /dev/null @@ -1,272 +0,0 @@ -*CMZ : 22/01/99 15.54.06 by Rene Brun -*-- Author : Federico Carminati 28/11/98 - SUBROUTINE GCOMAD(CHCOMM,IADD) -*#include "geant321/gcasho.inc" - COMMON/GCASHO/ZMED,AMED,DMED,E0MED,ZSMED(50),ESMED(50),ALFA, - * STEPALT,PLIN,PLOG,BE2,PLASM,TRNSMA, -* * STEP,PLIN,PLOG,BE2,PLASM,TRNSMA, - * BOSC(50),AOSC(50),EOSC(50),ZOSC(50),EMEAN, - * CMGO(2000),EMGO,EMGOMI, - * NSMED,IOSC(50),NOSC,NMGO,NMGOMA -C - REAL ZMED,AMED,DMED,E0MED,ZSMED,ESMED,ALFA, - * STEPALT,PLIN,PLOG,BE2,PLASM,TRNSMA, -* * STEP,PLIN,PLOG,BE2,PLASM,TRNSMA, - * BOSC,AOSC,EOSC,ZOSC,EMEAN,CMGO,EMGO,EMGOMI - INTEGER NSMED,IOSC,NOSC,NMGO,NMGOMA -C -#include "geant321/gcbank.inc" -#include "geant321/gccurs.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcmore.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcfdim.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcgobj.inc" -#include "geant321/gchil2.inc" -#include "geant321/gchiln.inc" -#include "geant321/gchvir.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcjump.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gclist.inc" -#include "geant321/gclund.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcmutr.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gcnum.inc" -*#include "geant321/gcomis.inc" -* COMMON/GCOMIS/JUINIT,JUGEOM,JUKINE,JUSTEP,JUOUT,JULAST - COMMON/GCOMIS/KUINIT,KUGEOM,KUKINE,KUSTEP,KUOUT,KULAST - DIMENSION JPCOMS(6) - EQUIVALENCE (JPCOMS,JUINIT) -* -#include "geant321/gconst.inc" -#include "geant321/gcopti.inc" -#include "geant321/gcpara.inc" -#include "geant321/gcparm.inc" -#include "geant321/gcpmxz.inc" -#include "geant321/gcphnr.inc" -#include "geant321/gcphpr.inc" -#include "geant321/gcphrd.inc" -#include "geant321/gcphxs.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcpixe.inc" -#include "geant321/gcpoly.inc" -#include "geant321/gcpush.inc" -#include "geant321/gcrayt.inc" -#include "geant321/gcrz.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcscan.inc" -#include "geant321/gcsets.inc" -#include "geant321/gcshpt.inc" -*#include "geant321/gcspee.inc" -* -* REAL S1,S2,S3,SS1,SS2,SS3,SRAGMX,SRAGMN, - REAL S1,S2ALT,S3,SS1,SS2,SS3,SRAGMX,SRAGMN, - + RAINT1,RAINT2,RMIN1,RMIN2,RMAX1,RMAX2 - INTEGER ISCOP,NTIM,NTFLAG,IOLDCU,ITSTCU,ISUBLI,IPORLI - INTEGER LPASS,JPORJJ,LEP,JSC -* -* COMMON/GCSPEE/S1,S2,S3,SS1,SS2,SS3,LEP,IPORLI,ISUBLI, - COMMON/GCSPEE/S1,S2ALT,S3,SS1,SS2,SS3,LEP,IPORLI,ISUBLI, - + SRAGMX,SRAGMN,RAINT1,RAINT2,RMIN1,RMIN2, - + RMAX1,RMAX2,JPORJJ,ITSTCU,IOLDCU,ISCOP, - + NTIM,NTFLAG,LPASS,JSC -* - COMMON/GCCHAN/LSAMVL - LOGICAL LSAMVL - -#include "geant321/gcstak.inc" -#include "geant321/gcstra.inc" -#include "geant321/gctime.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcursb.inc" -#include "geant321/gcvdma.inc" -#include "geant321/gcvol1.inc" -#include "geant321/gcvol2.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcxlun.inc" -#include "geant321/gfkdis.inc" -#include "geant321/gsecti.inc" -* -* Commons for GEANE -#include "geant321/ertrio.inc" -#include "geant321/eropts.inc" -#include "geant321/erwork.inc" -* Commons for GEANE -* - COMMON / QUEST / IQUEST(100) -* - CHARACTER *(*) CHCOMM -#if defined(CERNLIB_DECS) || defined(CERNLIB_LXIA64) - INTEGER*8 GCADDB, GCADDI, GCADDF, GCADDL, GCADDC, GCADDD, IADD -#else - INTEGER GCADDB, GCADDI, GCADDF, GCADDL, GCADDC, GCADDD -#endif -* - IF(CHCOMM.EQ.'GCASHO') THEN - IADD=GCADDF(ZMED) - ELSE IF(CHCOMM.EQ.'IQ') THEN - IADD=GCADDI(LQ(8)) - ELSE IF(CHCOMM.EQ.'LQ') THEN - IADD=GCADDF(FENDQ(16)) - ELSE IF(CHCOMM.EQ.'GCCURS') THEN - IADD=GCADDI(INTFLA) - ELSE IF(CHCOMM.EQ.'GCCUTS') THEN - IADD=GCADDF(CUTGAM) - ELSE IF(CHCOMM.EQ.'GCMORE') THEN - IADD=GCADDF(GCALPHA) - ELSE IF(CHCOMM.EQ.'GCDRAW') THEN - IADD=GCADDI(NUMNOD) - ELSE IF(CHCOMM.EQ.'GCFDIM') THEN - IADD=GCADDI(NPROC) - ELSE IF(CHCOMM.EQ.'GCFLAG') THEN - IADD=GCADDI(IDEBUG) - ELSE IF(CHCOMM.EQ.'GCGOBJ') THEN - IADD=GCADDI(IST) - ELSE IF(CHCOMM.EQ.'GCBLIM') THEN - IADD=GCADDI(IHOLE) - ELSE IF(CHCOMM.EQ.'GCHIL2') THEN - IADD=GCADDI(LARETT) - ELSE IF(CHCOMM.EQ.'GCHILN') THEN - IADD=GCADDI(LARECG) - ELSE IF(CHCOMM.EQ.'GCHVIR') THEN - IADD=GCADDI(JVIRT) - ELSE IF(CHCOMM.EQ.'GCJLOC') THEN - IADD=GCADDI(NJLOC) - ELSE IF(CHCOMM.EQ.'GCJLCK') THEN - IADD=GCADDI(NJLCK) - ELSE IF(CHCOMM.EQ.'GCJUMP') THEN - IADD=GCADDI(JUDCAY) - ELSE IF(CHCOMM.EQ.'GCKINE') THEN - IADD=GCADDI(IKINE) - ELSE IF(CHCOMM.EQ.'GCKING') THEN - IADD=GCADDI(KCASE) - ELSE IF(CHCOMM.EQ.'GCKIN2') THEN - IADD=GCADDI(NGPHOT) - ELSE IF(CHCOMM.EQ.'GCKIN3') THEN - IADD=GCADDF(GPOS) - ELSE IF(CHCOMM.EQ.'GCLINK') THEN - IADD=GCADDI(JDIGI) - ELSE IF(CHCOMM.EQ.'GCLIST') THEN - IADD=GCADDI(NHSTA) - ELSE IF(CHCOMM.EQ.'GCLUND') THEN - IADD=GCADDI(IFLUND) - ELSE IF(CHCOMM.EQ.'GCMATE') THEN - IADD=GCADDI(NMAT) - ELSE IF(CHCOMM.EQ.'GCMULO') THEN - IADD=GCADDF(SINMUL) - ELSE IF(CHCOMM.EQ.'GCMUTR') THEN - IADD=GCADDI(NCVOLS) - ELSE IF(CHCOMM.EQ.'GCMUTC') THEN - IADD=GCADDC(GNASH) - ELSE IF(CHCOMM.EQ.'GCMZFO') THEN - IADD=GCADDI(IOMATE) - ELSE IF(CHCOMM.EQ.'GCNUM') THEN - IADD=GCADDI(NMATE) - ELSE IF(CHCOMM.EQ.'GCOMIS') THEN - IADD=GCADDI(KUINIT) - ELSE IF(CHCOMM.EQ.'GCONST') THEN - IADD=GCADDF(PI) - ELSE IF(CHCOMM.EQ.'GCOPTI') THEN - IADD=GCADDI(IOPTIM) - ELSE IF(CHCOMM.EQ.'GCPARA') THEN - IADD=GCADDF(EPSIX0) - ELSE IF(CHCOMM.EQ.'GCPARM') THEN - IADD=GCADDI(IPARAM) - ELSE IF(CHCOMM.EQ.'GCPHNR') THEN - IADD=GCADDI(IGNRFN) - ELSE IF(CHCOMM.EQ.'GCPHPR') THEN - IADD=GCADDF(GFLUPR) - ELSE IF(CHCOMM.EQ.'GCPHRD') THEN - IADD=GCADDF(GPHRAT) - ELSE IF(CHCOMM.EQ.'GCPXRN') THEN - IADD=GCADDC(CRNGUP) - ELSE IF(CHCOMM.EQ.'GCPXCF') THEN - IADD=GCADDF(COFS) - ELSE IF(CHCOMM.EQ.'GCPHYS') THEN - IADD=GCADDI(IPAIR) - ELSE IF(CHCOMM.EQ.'GCPHLT') THEN - IADD=GCADDI(ILABS) - ELSE IF(CHCOMM.EQ.'GCPIXE') THEN - IADD=GCADDI(LIMPRE) - ELSE IF(CHCOMM.EQ.'GCPOLY') THEN - IADD=GCADDI(IZSEC) - ELSE IF(CHCOMM.EQ.'GCPUSH') THEN - IADD=GCADDI(NCVERT) - ELSE IF(CHCOMM.EQ.'GCRAYT') THEN - IADD=GCADDI(INTEN) - ELSE IF(CHCOMM.EQ.'GCRZ1') THEN - IADD=GCADDI(NRECRZ) - ELSE IF(CHCOMM.EQ.'GCRZ2') THEN - IADD=GCADDC(RZTAGS) - ELSE IF(CHCOMM.EQ.'GCSCAL') THEN - IADD=GCADDI(ISLINK) - ELSE IF(CHCOMM.EQ.'GCSCAN') THEN - IADD=GCADDL(SCANFL) - ELSE IF(CHCOMM.EQ.'GCSCAC') THEN - IADD=GCADDC(SFIN) - ELSE IF(CHCOMM.EQ.'GCSETS') THEN - IADD=GCADDI(IHSET) - ELSE IF(CHCOMM.EQ.'GCSHPT') THEN - IADD=GCADDI(NSHLST) - ELSE IF(CHCOMM.EQ.'GCSPEE') THEN - IADD=GCADDF(S1) - ELSE IF(CHCOMM.EQ.'GCSTAK') THEN - IADD=GCADDI(NJTMAX) - ELSE IF(CHCOMM.EQ.'GCSTRA') THEN - IADD=GCADDF(EMAX) - ELSE IF(CHCOMM.EQ.'GCTIME') THEN - IADD=GCADDF(TIMINT) - ELSE IF(CHCOMM.EQ.'GCTMED') THEN - IADD=GCADDI(NUMED) - ELSE IF(CHCOMM.EQ.'GCTRAK') THEN - IADD=GCADDF(VECT) - ELSE IF(CHCOMM.EQ.'GCTPOL') THEN - IADD=GCADDF(POLAR) - ELSE IF(CHCOMM.EQ.'GCUNIT') THEN - IADD=GCADDI(LIN) - ELSE IF(CHCOMM.EQ.'GCURSB') THEN - IADD=GCADDI(NUMNDS) - ELSE IF(CHCOMM.EQ.'GCVDMA') THEN - IADD=GCADDI(NVMANY) - ELSE IF(CHCOMM.EQ.'GCVOL1') THEN - IADD=GCADDI(NLEVL1) - ELSE IF(CHCOMM.EQ.'GCVOL2') THEN - IADD=GCADDI(NLEVE2) - ELSE IF(CHCOMM.EQ.'GCVOLU') THEN - IADD=GCADDI(NLEVEL) - ELSE IF(CHCOMM.EQ.'GCXLUN') THEN - IADD=GCADDI(LUNIT) - ELSE IF(CHCOMM.EQ.'GFKDIS') THEN - IADD=GCADDF(ZINE) - ELSE IF(CHCOMM.EQ.'GSECTI') THEN - IADD=GCADDF(AIEL) - ELSE IF(CHCOMM.EQ.'GCTLIT') THEN - IADD=GCADDF(THRIND) - ELSE IF(CHCOMM.EQ.'QUEST') THEN - IADD=GCADDI(IQUEST) - ELSE IF(CHCOMM.EQ.'ERTRIO') THEN - IADD=GCADDD(ERDTRP) - ELSE IF(CHCOMM.EQ.'EROPTS') THEN - IADD=GCADDF(ERPLI) - ELSE IF(CHCOMM.EQ.'EROPTC') THEN - IADD=GCADDC(CHOPTI) - ELSE IF(CHCOMM.EQ.'ERWORK') THEN - IADD=GCADDD(EI) - ELSE IF(CHCOMM.EQ.'GCBANK') THEN - IADD=GCADDI(NZEBRA) - ELSE IF(CHCOMM.EQ.'GCCHAN') THEN - IADD=GCADDB(LSAMVL) - ELSE - WRITE(6,123) CHCOMM - IADD=0 - ENDIF -* - 123 FORMAT(' *** GCOMAD: cannot load common ',A) - END diff --git a/StarVMC/geant3/data/flukaaf.dat b/StarVMC/geant3/data/flukaaf.dat deleted file mode 100644 index 9b8932ec121..00000000000 --- a/StarVMC/geant3/data/flukaaf.dat +++ /dev/null @@ -1,4011 +0,0 @@ - 1 2 3 4 5 6 7 7 8 9 10 11 12 13 14 16 17 17 - 18 20 21 21 22 24 25 25 26 28 29 29 30 33 34 35 36 38 - 39 41 42 47 48 48 49 53 54 55 56 59 60 60 61 64 65 65 - 66 70 71 72 73 77 78 79 80 84 85 85 86 91 92 93 94 99 - 100 101 102 105 106 106 107 111 112 112 113 119 120 120 121 127 128 128 - 129 134 135 136 137 144 145 146 147 156 157 158 159 166 167 167 168 176 - 177 177 178 184 185 186 187 190 191 191 192 198 199 199 200 206 207 208 - 209 215 216 216 217 223 224 224 225 230 231 231 232 238 239 240 241 246 - 247 248 249 253 254 255 256 262 263 264 265 270 271 271 272 278 279 280 - 281 284 285 285 286 286 287 287 288 288 289 289 290 290 291 291 292 292 - 293 293 294 296 297 297 298 298 299 299 300 300 301 301 302 302 303 303 - 304 304 - 1 2 4 3 7 6 9 11 10 12 13 14 15 16 18 17 19 20 - 22 21 23 24 26 25 27 28 29 30 31 32 34 33 36 35 37 40 - 36 38 39 41 40 40 44 42 46 48 43 45 48 46 47 49 50 51 - 50 52 53 50 54 55 56 54 57 58 59 58 60 62 61 64 63 65 - 64 66 68 67 70 69 71 74 72 70 73 76 75 80 78 82 76 77 - 74 79 81 84 86 82 83 80 78 85 87 88 86 87 84 89 90 94 - 92 91 96 93 98 96 92 95 100 97 94 97 102 104 101 99 100 96 - 98 103 106 108 105 110 104 102 107 109 114 112 111 110 113 116 106 108 - 115 113 120 118 116 119 117 124 112 112 114 115 121 123 130 128 126 125 - 124 122 123 120 127 132 129 131 134 136 130 128 124 126 133 138 137 136 - 135 134 130 132 139 138 140 142 138 136 141 142 144 146 143 145 148 150 - 145 152 154 147 149 148 150 144 153 151 158 160 156 157 155 154 152 159 - 164 162 163 161 160 158 156 165 166 168 167 170 164 162 169 174 172 173 - 171 176 170 168 175 176 180 178 177 179 176 174 181 180 184 186 182 183 - 180 187 185 192 190 189 188 187 186 184 193 191 195 194 196 198 192 190 - 197 202 200 199 201 198 204 196 205 203 208 206 207 204 209 209 210 222 - 223 226 227 232 231 238 235 234 237 244 243 247 247 251 254 257 - 0.999850000000000 1.500000000000000E-004 0.999998700000000 - 1.300000000000000E-006 0.925800000000000 7.420000000000000E-002 - 1.00000000000000 0.802200000000000 0.197800000000000 - 0.988900000000000 1.110000000000000E-002 0.996300000000000 - 3.700000000000000E-003 0.997590000000000 2.040000000000000E-003 - 3.700000000000000E-004 1.00000000000000 0.911335258510691 - 8.840713792415629E-002 2.576035651531538E-004 1.00000000000000 - 0.787000000000000 0.111700000000000 0.101300000000000 - 1.00000000000000 0.922029826844160 4.704233810429386E-002 - 3.092783505154639E-002 1.00000000000000 0.950057003420205 - 4.220253215192912E-002 7.600456027361642E-003 1.400084005040303E-004 - 0.755300000000000 0.244700000000000 0.996000000000000 - 3.370000000000000E-003 6.300000000000000E-004 0.931076348260557 - 6.880564206264915E-002 1.180096767934971E-004 0.967757069986124 - 2.079319604300388E-002 6.448586002775087E-003 1.856713616898090E-003 - 1.796819629256216E-003 1.347614721942162E-003 1.00000000000000 - 0.739400000000000 7.929999999999998E-002 7.279999999999999E-002 - 5.509999999999999E-002 5.339999999999999E-002 0.997600000000000 - 2.400000000000000E-003 0.837600000000000 9.550000000000000E-002 - 4.310000000000000E-002 2.380000000000000E-002 1.00000000000000 - 0.916600000000000 5.820000000000000E-002 2.190000000000000E-002 - 3.300000000000000E-003 1.00000000000000 0.682740000000000 - 0.260950000000000 3.593000000000000E-002 1.134000000000000E-002 - 9.039999999999999E-003 0.690900000000000 0.309100000000000 - 0.486847389558233 0.279216867469880 0.186445783132530 - 4.126506024096385E-002 6.224899598393573E-003 0.604000000000000 - 0.396000000000000 0.365363463653635 0.274272572742726 - 0.205179482051795 7.759224077592240E-002 7.759224077592240E-002 - 1.00000000000000 0.498200000000000 0.235200000000000 - 9.190000000000000E-002 9.020000000000000E-002 7.580000000000001E-002 - 8.699999999999999E-003 0.505400000000000 0.494600000000000 - 0.569000000000000 0.173700000000000 0.115600000000000 - 0.115500000000000 2.270000000000000E-002 3.499999999999999E-003 - 0.721500000000000 0.278500000000000 0.825600000000000 - 9.859999999999999E-002 7.020000000000000E-002 5.600000000000001E-003 - 1.00000000000000 0.514600000000000 0.174000000000000 - 0.171100000000000 0.112300000000000 2.799999999999999E-002 - 1.00000000000000 0.237800000000000 0.165300000000000 - 0.158400000000000 0.157200000000000 9.630000000000001E-002 - 9.460000000000000E-002 9.039999999999999E-002 1.00000000000000 - 0.316163232646529 0.185837167433487 0.170734146829366 - 0.127225445089018 0.126225245049010 5.511102220444088E-002 - 1.870374074814963E-002 1.00000000000000 0.273272672732727 - 0.267073292670733 0.222277772222778 0.118088191180882 - 0.109689031096890 9.599040095990399E-003 0.518200000000000 - 0.481800000000000 0.288571142885711 0.240675932406759 - 0.127487251274873 0.123887611238876 0.122587741225877 - 7.579242075792421E-002 1.219878012198780E-002 8.799120087991200E-003 - 0.957200000000000 4.280000000000000E-002 0.328500000000000 - 0.240300000000000 0.143000000000000 8.580000000000000E-002 - 7.610000000000000E-002 5.940000000000000E-002 4.720000000000000E-002 - 9.599999999999999E-003 6.600000000000000E-003 3.500000000000000E-003 - 0.572500000000000 0.427500000000000 0.344803448034480 - 0.317903179031790 0.187101871018710 6.990069900699007E-002 - 4.610046100461004E-002 2.460024600246002E-002 8.700087000870008E-003 - 8.900089000890008E-004 1.00000000000000 0.268883866967982 - 0.264384136951783 0.211787292762434 0.104393736375817 - 8.869467831930082E-002 4.079755214687118E-002 1.919884806911585E-002 - 9.599424034557925E-004 8.999460032398054E-004 1.00000000000000 - 0.716614332286646 0.113202264045281 7.810156203124062E-002 - 6.590131802636053E-002 2.420048400968019E-002 1.010020200404008E-003 - 9.700194003880077E-004 0.999110000000000 8.899999999999999E-004 - 0.884861940335823 0.110707749542468 2.500175012250857E-003 - 1.930135109457662E-003 1.00000000000000 0.270019920318725 - 0.237549800796813 0.175498007968127 0.121215139442231 - 8.266932270916334E-002 5.707171314741035E-002 5.597609561752987E-002 - 1.00000000000000 0.267200000000000 0.227100000000000 - 0.149700000000000 0.138300000000000 0.112400000000000 - 7.439999999999999E-002 3.089999999999999E-002 0.521800000000000 - 0.478200000000000 0.248700000000000 0.219000000000000 - 0.204700000000000 0.156800000000000 0.147300000000000 - 2.149999999999999E-002 2.000000000000000E-003 1.00000000000000 - 0.279557945278864 0.253268784349517 0.247713339021051 - 0.187297871073987 2.271780321819011E-002 8.928394277891312E-003 - 5.158627805003868E-004 1.00000000000000 0.334113364534581 - 0.270710828433137 0.229409176367055 0.148805952238090 - 1.560062402496100E-002 1.360054402176087E-003 1.00000000000000 - 0.318415920796040 0.218210910545527 0.161308065403270 - 0.143107155357768 0.127306365318266 3.030151507575378E-002 - 1.350067503375169E-003 0.974100000000000 2.590000000000000E-002 - 0.352364763523648 0.271372862713729 0.184981501849815 - 0.137486251374862 5.199480051994800E-002 1.799820017998200E-003 - 0.999877000368999 1.229996310011070E-004 0.306400000000000 - 0.284100000000000 0.264100000000000 0.144000000000000 - 1.400000000000000E-003 0.625000000000000 0.375000000000000 - 0.403555555555556 0.266666666666667 0.162626262626263 - 0.134343434343434 1.656565656565656E-002 1.606060606060606E-002 - 1.818181818181818E-004 0.626000000000000 0.374000000000000 - 0.337990874246395 0.328991117239835 0.252993169184432 - 7.209805335255949E-002 7.799789405686048E-003 1.269965710925805E-004 - 1.00000000000000 0.297982121072736 0.231286122832630 - 0.168389896606204 0.132192068475891 0.100193988360698 - 6.849589024658520E-002 1.459912405255685E-003 0.705000000000000 - 0.295000000000000 0.523104620924185 0.236047209441888 - 0.226045209041808 1.480296059211842E-002 1.00000000000000 - 1.00000000000000 1.00000000000000 1.00000000000000 - 1.00000000000000 1.00000000000000 1.00000000000000 - 1.00000000000000 1.00000000000000 0.992254260156914 - 7.196042176802758E-003 5.496976662835440E-004 1.00000000000000 - 1.00000000000000 1.00000000000000 1.00000000000000 - 1.00000000000000 1.00000000000000 1.00000000000000 - 1.00000000000000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 5.155720000000000E-025 6.352660000000000E-028 0.000000000000000E+000 - 2.206280000000000E-024 1.074000000000000E-026 3.268510000000000E-003 - 5.313590000000000E-024 5.741770000000000E-026 7.364860000000000E-003 - 1.011680000000000E-023 1.917390000000000E-025 1.290260000000000E-002 - 1.693820000000000E-023 4.948320000000000E-025 2.003300000000000E-002 - 2.614920000000000E-023 1.085180000000000E-024 2.861950000000000E-002 - 3.817710000000000E-023 2.127230000000000E-024 3.864270000000000E-002 - 5.351240000000000E-023 3.841620000000000E-024 5.006100000000000E-002 - 7.271770000000000E-023 6.517220000000000E-024 6.284210000000000E-002 - 9.643750000000000E-023 1.052530000000000E-023 7.694360000000000E-002 - 1.254090000000000E-022 1.633610000000000E-023 9.232970000000000E-002 - 1.604740000000000E-022 2.453840000000000E-023 0.108963000000000 - 2.025950000000000E-022 3.586240000000000E-023 0.126807000000000 - 2.528670000000000E-022 5.120600000000000E-023 0.145824000000000 - 3.125390000000000E-022 7.166590000000000E-023 0.165979000000000 - 3.830320000000000E-022 9.857380000000000E-023 0.187236000000000 - 4.659630000000000E-022 1.335380000000000E-022 0.209560000000000 - 5.631680000000000E-022 1.784910000000000E-022 0.232915000000000 - 6.767310000000000E-022 2.357490000000000E-022 0.257269000000000 - 8.090190000000000E-022 3.080720000000000E-022 0.282588000000000 - 9.627150000000000E-022 3.987420000000000E-022 0.308839000000000 - 1.140860000000000E-021 5.116500000000000E-022 0.335990000000000 - 1.346890000000000E-021 6.513920000000000E-022 0.364010000000000 - 1.584700000000000E-021 8.233900000000000E-022 0.392867000000000 - 1.858710000000000E-021 1.034020000000000E-021 0.422532000000000 - 2.173890000000000E-021 1.290760000000000E-021 0.452976000000000 - 2.535880000000000E-021 1.602390000000000E-021 0.484169000000000 - 2.951020000000000E-021 1.979130000000000E-021 0.516085000000000 - 3.426510000000000E-021 2.432970000000000E-021 0.548696000000000 - 3.970430000000000E-021 2.977830000000000E-021 0.581975000000000 - 4.591930000000000E-021 3.629910000000000E-021 0.615897000000000 - 5.301320000000000E-021 4.408080000000000E-021 0.650438000000000 - 6.110190000000000E-021 5.334170000000000E-021 0.685572000000000 - 7.031620000000000E-021 6.433510000000000E-021 0.721278000000000 - 8.080359999999999E-021 7.735410000000000E-021 0.757531000000000 - 9.272980000000001E-021 9.273750000000000E-021 0.794311000000000 - 1.062820000000000E-020 1.108770000000000E-020 0.831596000000000 - 1.216690000000000E-020 1.322230000000000E-020 0.869366000000000 - 1.391280000000000E-020 1.572970000000000E-020 0.907601000000000 - 1.589240000000000E-020 1.866970000000000E-020 0.946281000000000 - 1.813550000000000E-020 2.211120000000000E-020 0.985390000000000 - 2.067580000000000E-020 2.613350000000000E-020 1.02491000000000 - 2.355090000000000E-020 3.082750000000000E-020 1.06482000000000 - 2.680310000000000E-020 3.629760000000000E-020 1.10511000000000 - 3.048000000000000E-020 4.266350000000000E-020 1.14576000000000 - 3.463490000000000E-020 5.006250000000000E-020 1.18675000000000 - 3.932760000000000E-020 5.865150000000000E-020 1.22808000000000 - 4.462540000000000E-020 6.861040000000000E-020 1.26972000000000 - 5.060360000000000E-020 8.014490000000001E-020 1.31166000000000 - 5.734670000000000E-020 9.348980000000000E-020 1.35390000000000 - 6.494960000000000E-020 1.089140000000000E-019 1.39642000000000 - 7.351840000000000E-020 1.267230000000000E-019 1.43920000000000 - 8.317220000000000E-020 1.472680000000000E-019 1.48224000000000 - 9.404460000000000E-020 1.709460000000000E-019 1.52552000000000 - 1.062850000000000E-019 1.982130000000000E-019 1.56904000000000 - 1.200610000000000E-019 2.295870000000000E-019 1.61278000000000 - 1.355600000000000E-019 2.656570000000000E-019 1.65674000000000 - 1.529920000000000E-019 3.070940000000000E-019 1.70090000000000 - 1.725920000000000E-019 3.546630000000000E-019 1.74526000000000 - 1.946240000000000E-019 4.092320000000000E-019 1.78980000000000 - 2.193830000000000E-019 4.717880000000000E-019 1.83453000000000 - 2.471970000000000E-019 5.434540000000000E-019 1.87943000000000 - 2.784370000000000E-019 6.255030000000000E-019 1.92450000000000 - 3.135140000000000E-019 7.193820000000000E-019 1.96973000000000 - 3.528910000000000E-019 8.267340000000000E-019 2.01510000000000 - 3.970840000000000E-019 9.494210000000001E-019 2.06063000000000 - 4.466700000000000E-019 1.089560000000000E-018 2.10629000000000 - 5.022950000000000E-019 1.249540000000000E-018 2.15209000000000 - 5.646810000000000E-019 1.432080000000000E-018 2.19802000000000 - 6.346350000000000E-019 1.640260000000000E-018 2.24407000000000 - 7.130580000000000E-019 1.877560000000000E-018 2.29024000000000 - 8.009570000000000E-019 2.147930000000000E-018 2.33652000000000 - 8.994600000000000E-019 2.455830000000000E-018 2.38291000000000 - 1.009820000000000E-018 2.806320000000000E-018 2.42941000000000 - 1.133450000000000E-018 3.205130000000000E-018 2.47601000000000 - 1.271920000000000E-018 3.658710000000000E-018 2.52270000000000 - 1.426980000000000E-018 4.174370000000000E-018 2.56949000000000 - 1.600580000000000E-018 4.760400000000000E-018 2.61636000000000 - 1.794910000000000E-018 5.426130000000000E-018 2.66332000000000 - 2.012430000000000E-018 6.182120000000000E-018 2.71037000000000 - 2.255830000000000E-018 7.040290000000000E-018 2.75749000000000 - 2.528180000000000E-018 8.014109999999999E-018 2.80469000000000 - 2.832870000000000E-018 9.118780000000000E-018 2.85197000000000 - 3.173680000000000E-018 1.037150000000000E-017 2.89931000000000 - 3.554850000000000E-018 1.179150000000000E-017 2.94672000000000 - 3.981080000000000E-018 1.340080000000000E-017 2.99420000000000 - 4.457660000000000E-018 1.522400000000000E-017 3.04174000000000 - 4.990440000000000E-018 1.728880000000000E-017 3.08934000000000 - 5.585990000000000E-018 1.962660000000000E-017 3.13700000000000 - 6.251610000000000E-018 2.227280000000000E-017 3.18472000000000 - 6.995440000000000E-018 2.526710000000000E-017 3.23250000000000 - 7.826600000000000E-018 2.865450000000000E-017 3.28032000000000 - 8.755199999999999E-018 3.248550000000000E-017 3.32820000000000 - 9.792559999999999E-018 3.681690000000000E-017 3.37612000000000 - 1.095130000000000E-017 4.171310000000000E-017 3.42410000000000 - 1.224540000000000E-017 4.724620000000000E-017 3.47211000000000 - 1.369060000000000E-017 5.349740000000000E-017 3.52018000000000 - 1.530440000000000E-017 6.055840000000000E-017 3.56828000000000 - 1.710610000000000E-017 6.853210000000001E-017 3.61643000000000 - 1.911760000000000E-017 7.753440000000000E-017 3.66462000000000 - 2.136290000000000E-017 8.769340000000001E-017 3.71263000000000 - 2.386910000000000E-017 9.916040000000000E-017 3.76091000000000 - 2.666610000000000E-017 1.120980000000000E-016 3.80923000000000 - 2.978750000000000E-017 1.266920000000000E-016 3.85758000000000 - 3.327050000000000E-017 1.431510000000000E-016 3.90596000000000 - 3.715670000000000E-017 1.617090000000000E-016 3.95438000000000 - 4.149220000000000E-017 1.826300000000000E-016 4.00283000000000 - 4.632870000000000E-017 2.062100000000000E-016 4.05130000000000 - 5.172360000000000E-017 2.327820000000000E-016 4.09981000000000 - 5.774079999999999E-017 2.627210000000000E-016 4.14835000000000 - 6.445160000000000E-017 2.964450000000000E-016 4.19691000000000 - 7.193530000000000E-017 3.344280000000000E-016 4.24551000000000 - 8.028020000000000E-017 3.772000000000000E-016 4.29412000000000 - 8.958470000000000E-017 4.253550000000000E-016 4.34277000000000 - 9.995840000000001E-017 4.795620000000000E-016 4.39144000000000 - 1.115230000000000E-016 5.405720000000000E-016 4.44013000000000 - 1.244150000000000E-016 6.092260000000000E-016 4.48885000000000 - 1.387850000000000E-016 6.864710000000000E-016 4.53759000000000 - 1.548010000000000E-016 7.733660000000000E-016 4.58635000000000 - 1.726510000000000E-016 8.711040000000000E-016 4.63513000000000 - 1.925440000000000E-016 9.810190000000001E-016 4.68394000000000 - 2.147110000000000E-016 1.104610000000000E-015 4.73276000000000 - 2.394110000000000E-016 1.243560000000000E-015 4.78161000000000 - 2.669310000000000E-016 1.399750000000000E-015 4.83047000000000 - 2.975930000000000E-016 1.575300000000000E-015 4.87936000000000 - 3.317500000000000E-016 1.772580000000000E-015 4.92826000000000 - 3.698020000000000E-016 1.994240000000000E-015 4.97719000000000 - 4.121870000000000E-016 2.243270000000000E-015 5.02612000000000 - 4.593980000000000E-016 2.523020000000000E-015 5.07508000000000 - 5.119790000000000E-016 2.837220000000000E-015 5.12406000000000 - 5.705400000000000E-016 3.190070000000000E-015 5.17305000000000 - 6.357550000000000E-016 3.586280000000000E-015 5.22205000000000 - 7.083770000000000E-016 4.031120000000000E-015 5.27108000000000 - 7.892430000000000E-016 4.530500000000000E-015 5.32011000000000 - 8.792820000000000E-016 5.091040000000000E-015 5.36917000000000 - 9.795310000000000E-016 5.720150000000000E-015 5.41823000000000 - 1.091140000000000E-015 6.426130000000000E-015 5.46732000000000 - 1.215390000000000E-015 7.218290000000000E-015 5.51641000000000 - 1.353710000000000E-015 8.107039999999999E-015 5.56552000000000 - 1.507680000000000E-015 9.104050000000000E-015 5.61465000000000 - 1.679060000000000E-015 1.022240000000000E-014 5.66378000000000 - 1.869810000000000E-015 1.147670000000000E-014 5.71293000000000 - 2.082120000000000E-015 1.288330000000000E-014 5.76209000000000 - 2.318400000000000E-015 1.446060000000000E-014 5.81127000000000 - 2.581350000000000E-015 1.622900000000000E-014 5.86045000000000 - 2.873960000000000E-015 1.821160000000000E-014 5.90965000000000 - 3.199570000000000E-015 2.043400000000000E-014 5.95886000000000 - 3.561880000000000E-015 2.292510000000000E-014 6.00808000000000 - 3.965010000000000E-015 2.571700000000000E-014 6.05731000000000 - 4.413540000000000E-015 2.884560000000000E-014 6.10655000000000 - 4.912560000000000E-015 3.235150000000000E-014 6.15581000000000 - 5.467720000000000E-015 3.627950000000000E-014 6.20507000000000 - 6.085320000000000E-015 4.068010000000000E-014 6.25434000000000 - 6.772350000000000E-015 4.560990000000000E-014 6.30363000000000 - 7.536580000000001E-015 5.113180000000000E-014 6.35292000000000 - 8.386650000000000E-015 5.731639999999999E-014 6.40222000000000 - 9.332170000000000E-015 6.424270000000001E-014 6.45153000000000 - 1.038380000000000E-014 7.199890000000000E-014 6.50085000000000 - 1.155340000000000E-014 8.068380000000000E-014 6.55018000000000 - 1.285420000000000E-014 9.040770000000000E-014 6.59952000000000 - 1.430080000000000E-014 1.012940000000000E-013 6.64887000000000 - 1.590950000000000E-014 1.134810000000000E-013 6.69822000000000 - 1.769840000000000E-014 1.271220000000000E-013 6.74759000000000 - 1.968760000000000E-014 1.423890000000000E-013 6.79696000000000 - 2.189940000000000E-014 1.594770000000000E-013 6.84634000000000 - 2.435870000000000E-014 1.785990000000000E-013 6.89573000000000 - 2.709310000000000E-014 1.999970000000000E-013 6.94512000000000 - 3.013320000000000E-014 2.239390000000000E-013 6.99453000000000 - 3.351310000000000E-014 2.507270000000000E-013 7.04394000000000 - 3.727070000000000E-014 2.806950000000000E-013 7.09336000000000 - 4.144790000000000E-014 3.142190000000000E-013 7.14278000000000 - 4.609150000000000E-014 3.517180000000000E-013 7.19221000000000 - 5.125350000000000E-014 3.936610000000000E-013 7.24165000000000 - 5.699130000000000E-014 4.405710000000000E-013 7.29110000000000 - 6.336920000000000E-014 4.930310000000000E-013 7.34055000000000 - 7.045820000000001E-014 5.516960000000000E-013 7.39001000000000 - 7.833750000000001E-014 6.172940000000000E-013 7.43947000000000 - 8.709470000000000E-014 6.906400000000000E-013 7.48894000000000 - 9.682750000000000E-014 7.726430000000000E-013 7.53842000000000 - 1.076440000000000E-013 8.643190000000000E-013 7.58791000000000 - 1.196650000000000E-013 9.668000000000001E-013 7.63740000000000 - 1.330240000000000E-013 1.081360000000000E-012 7.68689000000000 - 1.478680000000000E-013 1.209400000000000E-012 7.73639000000000 - 1.643650000000000E-013 1.352510000000000E-012 7.78590000000000 - 1.826950000000000E-013 1.512450000000000E-012 7.83541000000000 - 2.030630000000000E-013 1.691190000000000E-012 7.88493000000000 - 2.256940000000000E-013 1.890920000000000E-012 7.93445000000000 - 2.508400000000000E-013 2.114100000000000E-012 7.98398000000000 - 2.787780000000000E-013 2.363460000000000E-012 8.03352000000000 - 3.098190000000000E-013 2.642070000000000E-012 8.08306000000000 - 3.443050000000000E-013 2.953320000000000E-012 8.13260000000000 - 3.826180000000000E-013 3.301030000000000E-012 8.18215000000000 - 4.251820000000000E-013 3.689440000000000E-012 8.23170000000000 - 4.724660000000000E-013 4.123290000000000E-012 8.28126000000000 - 5.249940000000000E-013 4.607880000000000E-012 8.33082000000000 - 5.833440000000000E-013 5.149110000000000E-012 8.38039000000000 - 6.481610000000000E-013 5.753550000000000E-012 8.42997000000000 - 7.201590000000000E-013 6.428570000000000E-012 8.47954000000000 - 8.001330000000000E-013 7.182350000000000E-012 8.52912000000000 - 8.889620000000000E-013 8.024039999999999E-012 8.57871000000000 - 9.876250000000000E-013 8.963859999999999E-012 8.62830000000000 - 1.097210000000000E-012 1.001320000000000E-011 8.67789000000000 - 1.218920000000000E-012 1.118470000000000E-011 8.72749000000000 - 1.354090000000000E-012 1.249260000000000E-011 8.77710000000000 - 1.504220000000000E-012 1.395260000000000E-011 8.82670000000000 - 1.670940000000000E-012 1.558240000000000E-011 8.87631000000000 - 1.856100000000000E-012 1.740160000000000E-011 8.92593000000000 - 2.061720000000000E-012 1.943220000000000E-011 8.97555000000000 - 2.290060000000000E-012 2.169860000000000E-011 9.02517000000000 - 2.543630000000000E-012 2.422800000000000E-011 9.07480000000000 - 2.825200000000000E-012 2.705090000000000E-011 9.12442000000000 - 3.137860000000000E-012 3.020110000000000E-011 9.17406000000000 - 3.485040000000000E-012 3.371640000000000E-011 9.22370000000000 - 3.870540000000000E-012 3.763910000000000E-011 9.27334000000000 - 4.298570000000000E-012 4.201590000000000E-011 9.32298000000000 - 4.773830000000000E-012 4.689940000000000E-011 9.37263000000000 - 5.301510000000000E-012 5.234790000000000E-011 9.42228000000000 - 5.887380000000000E-012 5.842660000000000E-011 9.47193000000000 - 6.537840000000000E-012 6.520790000000000E-011 9.52159000000000 - 7.260010000000000E-012 7.277290000000000E-011 9.57125000000000 - 8.061750000000000E-012 8.121160000000000E-011 9.62091000000000 - 8.951840000000000E-012 9.062460000000000E-011 9.67058000000000 - 9.939980000000000E-012 1.011240000000000E-010 9.72025000000000 - 1.103690000000000E-011 1.128350000000000E-010 9.76993000000000 - 1.225470000000000E-011 1.258960000000000E-010 9.81960000000000 - 1.360650000000000E-011 1.404620000000000E-010 9.86928000000000 - 1.510720000000000E-011 1.567070000000000E-010 9.91896000000000 - 1.677290000000000E-011 1.748230000000000E-010 9.96865000000000 - 1.862200000000000E-011 1.950250000000000E-010 10.0183000000000 - 2.067450000000000E-011 2.175520000000000E-010 10.0680000000000 - 2.295270000000000E-011 2.426700000000000E-010 10.1177000000000 - 2.548140000000000E-011 2.706770000000000E-010 10.1674000000000 - 2.828820000000000E-011 3.019030000000000E-010 10.2171000000000 - 3.140340000000000E-011 3.367180000000000E-010 10.2668000000000 - 3.486110000000000E-011 3.755310000000000E-010 10.3165000000000 - 3.869870000000000E-011 4.188020000000000E-010 10.3662000000000 - 4.295790000000000E-011 4.670390000000000E-010 10.4159000000000 - 4.768500000000000E-011 5.208120000000000E-010 10.4656000000000 - 5.293120000000000E-011 5.807520000000000E-010 10.5154000000000 - 5.875350000000000E-011 6.475650000000000E-010 10.5651000000000 - 6.521490000000000E-011 7.220360000000000E-010 10.6148000000000 - 7.238569999999999E-011 8.050400000000000E-010 10.6645000000000 - 8.034330000000000E-011 8.975520000000000E-010 10.7142000000000 - 8.917420000000000E-011 1.000660000000000E-009 10.7640000000000 - 9.897390000000000E-011 1.115560000000000E-009 10.8137000000000 - 1.098490000000000E-010 1.243610000000000E-009 10.8634000000000 - 1.219160000000000E-010 1.386320000000000E-009 10.9132000000000 - 1.353060000000000E-010 1.545330000000000E-009 10.9629000000000 - 1.501650000000000E-010 1.722530000000000E-009 11.0126000000000 - 1.666520000000000E-010 1.919970000000000E-009 11.0624000000000 - 1.849470000000000E-010 2.139970000000000E-009 11.1121000000000 - 2.052460000000000E-010 2.385090000000000E-009 11.1619000000000 - 2.277690000000000E-010 2.658190000000000E-009 11.2116000000000 - 2.527590000000000E-010 2.962460000000000E-009 11.2614000000000 - 2.804870000000000E-010 3.301450000000000E-009 11.3111000000000 - 3.112510000000000E-010 3.679090000000000E-009 11.3609000000000 - 3.453840000000000E-010 4.099790000000000E-009 11.4106000000000 - 3.832540000000000E-010 4.568450000000000E-009 11.4604000000000 - 4.252690000000000E-010 5.090500000000000E-009 11.5101000000000 - 4.718830000000000E-010 5.672020000000000E-009 11.5599000000000 - 5.235970000000000E-010 6.319770000000000E-009 11.6097000000000 - 5.809690000000000E-010 7.041250000000000E-009 11.6594000000000 - 6.446180000000000E-010 7.844840000000000E-009 11.7092000000000 - 7.152290000000000E-010 8.739870000000001E-009 11.7589000000000 - 7.935620000000000E-010 9.736690000000000E-009 11.8087000000000 - 8.804610000000000E-010 1.084690000000000E-008 11.8585000000000 - 9.768610000000000E-010 1.208320000000000E-008 11.9083000000000 - 1.083800000000000E-009 1.346010000000000E-008 11.9580000000000 - 1.202430000000000E-009 1.499340000000000E-008 12.0078000000000 - 1.334020000000000E-009 1.670080000000000E-008 12.0576000000000 - 1.479990000000000E-009 1.860220000000000E-008 12.1074000000000 - 1.641910000000000E-009 2.071930000000000E-008 12.1572000000000 - 1.821510000000000E-009 2.307670000000000E-008 12.2069000000000 - 2.020740000000000E-009 2.570160000000000E-008 12.2567000000000 - 2.241720000000000E-009 2.862420000000000E-008 12.3065000000000 - 2.486830000000000E-009 3.187810000000000E-008 12.3563000000000 - 2.758700000000000E-009 3.550100000000000E-008 12.4061000000000 - 3.060260000000000E-009 3.953440000000000E-008 12.4559000000000 - 3.394730000000000E-009 4.402480000000000E-008 12.5057000000000 - 3.765700000000000E-009 4.902380000000000E-008 12.5555000000000 - 4.177160000000000E-009 5.458890000000000E-008 12.6053000000000 - 4.633510000000000E-009 6.078400000000000E-008 12.6551000000000 - 5.139640000000000E-009 6.768030000000000E-008 12.7049000000000 - 5.700990000000000E-009 7.535700000000000E-008 12.7547000000000 - 6.323560000000000E-009 8.390210000000000E-008 12.8045000000000 - 7.014030000000000E-009 9.341360000000000E-008 12.8543000000000 - 7.779790000000000E-009 1.040000000000000E-007 12.9041000000000 - 8.629030000000000E-009 1.157840000000000E-007 12.9539000000000 - 9.570860000000000E-009 1.288990000000000E-007 13.0037000000000 - 1.061530000000000E-008 1.434970000000000E-007 13.0535000000000 - 1.177370000000000E-008 1.597430000000000E-007 13.1033000000000 - 1.305820000000000E-008 1.778230000000000E-007 13.1531000000000 - 1.448270000000000E-008 1.979450000000000E-007 13.2029000000000 - 1.606250000000000E-008 2.203380000000000E-007 13.2527000000000 - 1.781430000000000E-008 2.452580000000000E-007 13.3026000000000 - 1.975690000000000E-008 2.729900000000000E-007 13.3524000000000 - 2.191110000000000E-008 3.038500000000000E-007 13.4022000000000 - 2.429990000000000E-008 3.381900000000000E-007 13.4520000000000 - 2.694870000000000E-008 3.764010000000000E-007 13.5018000000000 - 2.988600000000000E-008 4.189190000000000E-007 13.5516000000000 - 3.314310000000000E-008 4.662290000000000E-007 13.6015000000000 - 3.675460000000000E-008 5.188690000000000E-007 13.6513000000000 - 4.075920000000000E-008 5.774380000000000E-007 13.7011000000000 - 4.519970000000000E-008 6.426030000000000E-007 13.7509000000000 - 5.012320000000000E-008 7.151050000000000E-007 13.8008000000000 - 5.558250000000000E-008 7.957680000000000E-007 13.8506000000000 - 6.163569999999999E-008 8.855100000000000E-007 13.9004000000000 - 6.834730000000000E-008 9.853469999999999E-007 13.9503000000000 - 7.578890000000000E-008 1.096420000000000E-006 14.0001000000000 - 8.403990000000000E-008 1.219980000000000E-006 14.0499000000000 - 9.318800000000000E-008 1.357430000000000E-006 14.0998000000000 - 1.033310000000000E-007 1.510340000000000E-006 14.1496000000000 - 1.145760000000000E-007 1.680430000000000E-006 14.1994000000000 - 1.270440000000000E-007 1.869640000000000E-006 14.2493000000000 - 1.408680000000000E-007 2.080100000000000E-006 14.2991000000000 - 1.561930000000000E-007 2.314210000000000E-006 14.3490000000000 - 1.731840000000000E-007 2.574600000000000E-006 14.3988000000000 - 1.920220000000000E-007 2.864240000000000E-006 14.4486000000000 - 2.129060000000000E-007 3.186380000000000E-006 14.4985000000000 - 2.360590000000000E-007 3.544680000000000E-006 14.5483000000000 - 2.617270000000000E-007 3.943190000000000E-006 14.5982000000000 - 2.901830000000000E-007 4.386410000000000E-006 14.6480000000000 - 3.217290000000000E-007 4.879340000000000E-006 14.6979000000000 - 3.567020000000000E-007 5.427550000000000E-006 14.7477000000000 - 3.954720000000000E-007 6.037220000000000E-006 14.7976000000000 - 4.384520000000000E-007 6.715240000000000E-006 14.8474000000000 - 4.860970000000000E-007 7.469260000000000E-006 14.8973000000000 - 5.389150000000000E-007 8.307759999999999E-006 14.9471000000000 - 5.974660000000000E-007 9.240210000000001E-006 14.9970000000000 - 6.623720000000000E-007 1.027710000000000E-005 15.0468000000000 - 7.343220000000000E-007 1.143010000000000E-005 15.0967000000000 - 8.140800000000000E-007 1.271230000000000E-005 15.1465000000000 - 9.024910000000000E-007 1.413790000000000E-005 15.1964000000000 - 1.000490000000000E-006 1.572320000000000E-005 15.2462000000000 - 1.109130000000000E-006 1.748580000000000E-005 15.2961000000000 - 1.229550000000000E-006 1.944570000000000E-005 15.3460000000000 - 1.363030000000000E-006 2.162490000000000E-005 15.3958000000000 - 1.510990000000000E-006 2.404770000000000E-005 15.4457000000000 - 1.674990000000000E-006 2.674160000000000E-005 15.4955000000000 - 1.856780000000000E-006 2.973660000000000E-005 15.5454000000000 - 2.058280000000000E-006 3.306640000000000E-005 15.5953000000000 - 2.281620000000000E-006 3.676840000000000E-005 15.6451000000000 - 2.529170000000000E-006 4.088410000000000E-005 15.6950000000000 - 2.803560000000000E-006 4.545970000000000E-005 15.7449000000000 - 3.107690000000000E-006 5.054640000000000E-005 15.7947000000000 - 3.444780000000000E-006 5.620120000000000E-005 15.8446000000000 - 3.818410000000000E-006 6.248749999999999E-005 15.8945000000000 - 4.232510000000000E-006 6.947580000000000E-005 15.9443000000000 - 4.691490000000000E-006 7.724410000000000E-005 15.9942000000000 - 5.200190000000000E-006 8.587960000000000E-005 16.0441000000000 - 5.764000000000000E-006 9.547870000000000E-005 16.0939000000000 - 6.388890000000000E-006 1.061490000000000E-004 16.1438000000000 - 7.081460000000000E-006 1.180090000000000E-004 16.1937000000000 - 7.849040000000000E-006 1.311930000000000E-004 16.2435000000000 - 8.699749999999999E-006 1.458470000000000E-004 16.2934000000000 - 9.642569999999999E-006 1.621340000000000E-004 16.3433000000000 - 1.068750000000000E-005 1.802380000000000E-004 16.3932000000000 - 1.184550000000000E-005 2.003600000000000E-004 16.4430000000000 - 1.312900000000000E-005 2.227240000000000E-004 16.4929000000000 - 1.455130000000000E-005 2.475800000000000E-004 16.5428000000000 - 1.612760000000000E-005 2.752060000000000E-004 16.5927000000000 - 1.787460000000000E-005 3.059090000000000E-004 16.6426000000000 - 1.981060000000000E-005 3.400320000000000E-004 16.6924000000000 - 2.195610000000000E-005 3.779550000000000E-004 16.7423000000000 - 2.433380000000000E-005 4.201000000000000E-004 16.7922000000000 - 2.696870000000000E-005 4.669380000000000E-004 16.8421000000000 - 2.988880000000000E-005 5.189890000000000E-004 16.8920000000000 - 3.312480000000000E-005 5.768330000000000E-004 16.9418000000000 - 3.671080000000000E-005 6.411140000000000E-004 16.9917000000000 - 4.068470000000000E-005 7.125470000000000E-004 17.0416000000000 - 4.508840000000000E-005 7.919260000000000E-004 17.0915000000000 - 4.996850000000000E-005 8.801340000000000E-004 17.1414000000000 - 5.537620000000000E-005 9.781519999999999E-004 17.1913000000000 - 6.136880000000000E-005 1.087070000000000E-003 17.2411000000000 - 6.800930000000000E-005 1.208100000000000E-003 17.2910000000000 - 7.536780000000000E-005 1.342580000000000E-003 17.3409000000000 - 8.352190000000000E-005 1.492000000000000E-003 17.3908000000000 - 9.255750000000000E-005 1.658040000000000E-003 17.4407000000000 - 1.025700000000000E-004 1.842520000000000E-003 17.4906000000000 - 1.136640000000000E-004 2.047490000000000E-003 17.5405000000000 - 1.259580000000000E-004 2.275240000000000E-003 17.5904000000000 - 1.395800000000000E-004 2.528280000000000E-003 17.6403000000000 - 1.546750000000000E-004 2.809420000000000E-003 17.6902000000000 - 1.714000000000000E-004 3.121780000000000E-003 17.7401000000000 - 1.899330000000000E-004 3.468810000000000E-003 17.7899000000000 - 2.104680000000000E-004 3.854370000000000E-003 17.8398000000000 - 2.332220000000000E-004 4.282710000000000E-003 17.8897000000000 - 2.584340000000000E-004 4.758600000000000E-003 17.9396000000000 - 2.863690000000000E-004 5.287290000000000E-003 17.9895000000000 - 3.173220000000000E-004 5.874630000000000E-003 18.0394000000000 - 3.516180000000000E-004 6.527120000000000E-003 18.0893000000000 - 3.896180000000000E-004 7.251990000000000E-003 18.1392000000000 - 4.317210000000000E-004 8.057230000000000E-003 18.1891000000000 - 4.783720000000000E-004 8.951770000000000E-003 18.2390000000000 - 5.300590000000000E-004 9.945490000000000E-003 18.2889000000000 - 5.873270000000000E-004 1.104940000000000E-002 18.3388000000000 - 6.507790000000000E-004 1.227560000000000E-002 18.3887000000000 - 7.210800000000000E-004 1.363770000000000E-002 18.4386000000000 - 7.989710000000000E-004 1.515080000000000E-002 18.4885000000000 - 8.852690000000001E-004 1.683140000000000E-002 18.5384000000000 - 9.808820000000000E-004 1.869830000000000E-002 18.5883000000000 - 1.086810000000000E-003 2.077200000000000E-002 18.6382000000000 - 1.204180000000000E-003 2.307530000000000E-002 18.6881000000000 - 1.334210000000000E-003 2.563380000000000E-002 18.7380000000000 - 1.478270000000000E-003 2.847550000000000E-002 18.7879000000000 - 1.637880000000000E-003 3.163180000000000E-002 18.8378000000000 - 1.814710000000000E-003 3.513740000000000E-002 18.8877000000000 - 2.010620000000000E-003 3.903120000000000E-002 18.9376000000000 - 2.227660000000000E-003 4.335580000000000E-002 18.9875000000000 - 2.468110000000000E-003 4.815900000000000E-002 19.0374000000000 - 2.734500000000000E-003 5.349360000000000E-002 19.0874000000000 - 3.029630000000000E-003 5.941840000000000E-002 19.1373000000000 - 3.356590000000000E-003 6.599850000000000E-002 19.1872000000000 - 3.718810000000000E-003 7.330639999999999E-002 19.2371000000000 - 4.120090000000000E-003 8.142260000000000E-002 19.2870000000000 - 4.564650000000000E-003 9.043619999999999E-002 19.3369000000000 - 5.057140000000000E-003 0.100446000000000 19.3868000000000 - 5.602740000000000E-003 0.111563000000000 19.4367000000000 - 6.207160000000000E-003 0.123909000000000 19.4866000000000 - 6.876740000000000E-003 0.137619000000000 19.5365000000000 - 7.618510000000000E-003 0.152844000000000 19.5865000000000 - 8.440240000000000E-003 0.169751000000000 19.6364000000000 - 9.350549999999999E-003 0.188527000000000 19.6863000000000 - 1.035900000000000E-002 0.209376000000000 19.7362000000000 - 1.147610000000000E-002 0.232529000000000 19.7861000000000 - 1.271360000000000E-002 0.258239000000000 19.8360000000000 - 1.408450000000000E-002 0.286788000000000 19.8859000000000 - 1.560310000000000E-002 0.318489000000000 19.9358000000000 - 1.728530000000000E-002 0.353691000000000 19.9857000000000 - 1.914880000000000E-002 0.392779000000000 20.0357000000000 - 2.121310000000000E-002 0.436181000000000 20.0856000000000 - 2.349980000000000E-002 0.484374000000000 20.1355000000000 - 2.603280000000000E-002 0.537885000000000 20.1854000000000 - 2.883870000000000E-002 0.597302000000000 20.2353000000000 - 3.194690000000000E-002 0.663274000000000 20.2852000000000 - 3.538990000000000E-002 0.736524000000000 20.3352000000000 - 3.920370000000000E-002 0.817855000000000 20.3851000000000 - 4.342820000000000E-002 0.908156000000000 20.4350000000000 - 4.810770000000000E-002 1.00842000000000 20.4849000000000 - 5.329120000000000E-002 1.11973000000000 20.5348000000000 - 5.903280000000000E-002 1.24332000000000 20.5848000000000 - 6.539270000000000E-002 1.38054000000000 20.6347000000000 - 7.243740000000000E-002 1.53289000000000 20.6846000000000 - 8.024060000000000E-002 1.70202000000000 20.7345000000000 - 8.888390000000000E-002 1.88980000000000 20.7844000000000 - 9.845780000000000E-002 2.09828000000000 20.8344000000000 - 0.109062000000000 2.32972000000000 20.8843000000000 - 0.120808000000000 2.58667000000000 20.9342000000000 - 0.133819000000000 2.87193000000000 20.9841000000000 - 0.148229000000000 3.18861000000000 21.0340000000000 - 0.164191000000000 3.54017000000000 21.0840000000000 - 0.181870000000000 3.93046000000000 21.1339000000000 - 0.201453000000000 4.36372000000000 21.1838000000000 - 0.223142000000000 4.84469000000000 21.2337000000000 - 0.247166000000000 5.37862000000000 21.2837000000000 - 0.273774000000000 5.97134000000000 21.3336000000000 - 0.303246000000000 6.62930000000000 21.3835000000000 - 0.335888000000000 7.35969000000000 21.4334000000000 - 0.372042000000000 8.17046000000000 21.4834000000000 - 0.412086000000000 9.07046000000000 21.5333000000000 - 0.456437000000000 10.0695000000000 21.5832000000000 - 0.505560000000000 11.1784000000000 21.6331000000000 - 0.559966000000000 12.4094000000000 21.6831000000000 - 0.620224000000000 13.7758000000000 21.7330000000000 - 0.686963000000000 15.2925000000000 21.7829000000000 - 0.760880000000000 16.9760000000000 21.8329000000000 - 0.842747000000000 18.8446000000000 21.8828000000000 - 0.933417000000000 20.9187000000000 21.9327000000000 - 1.03384000000000 23.2209000000000 21.9826000000000 - 1.14506000000000 25.7762000000000 22.0326000000000 - 1.26823000000000 28.6124000000000 22.0825000000000 - 1.40466000000000 31.7604000000000 22.1324000000000 - 1.55574000000000 35.2544000000000 22.1824000000000 - 1.72308000000000 39.1324000000000 22.2323000000000 - 1.90840000000000 43.4366000000000 22.2822000000000 - 2.11364000000000 48.2137000000000 22.3321000000000 - 2.34095000000000 53.5157000000000 22.3821000000000 - 2.59269000000000 59.4002000000000 22.4320000000000 - 2.87149000000000 65.9312000000000 22.4819000000000 - 3.18025000000000 73.1795000000000 22.5319000000000 - 3.52220000000000 81.2239000000000 22.5818000000000 - 3.90089000000000 90.1519000000000 22.6317000000000 - 4.32029000000000 100.060000000000 22.6817000000000 - 4.78475000000000 111.057000000000 22.7316000000000 - 5.29912000000000 123.260000000000 22.7815000000000 - 5.86876000000000 136.804000000000 22.8315000000000 - 6.49961000000000 151.834000000000 22.8814000000000 - 7.19824000000000 168.514000000000 22.9313000000000 - 7.97193000000000 187.025000000000 22.9813000000000 - 8.82874000000000 207.567000000000 23.0312000000000 - 9.77759000000000 230.364000000000 23.0811000000000 - 10.8284000000000 255.662000000000 23.1311000000000 - 11.9920000000000 283.735000000000 23.1810000000000 - 13.2807000000000 314.889000000000 23.2309000000000 - 14.7077000000000 349.460000000000 23.2809000000000 - 16.2881000000000 387.823000000000 23.3308000000000 - 18.0381000000000 430.395000000000 23.3808000000000 - 19.9762000000000 477.635000000000 23.4307000000000 - 22.1223000000000 530.055000000000 23.4806000000000 - 24.4989000000000 588.224000000000 23.5306000000000 - 27.1308000000000 652.771000000000 23.5805000000000 - 30.0452000000000 724.394000000000 23.6304000000000 - 33.2726000000000 803.870000000000 23.6804000000000 - 36.8465000000000 892.057000000000 23.7303000000000 - 40.8041000000000 989.910000000000 23.7803000000000 - 45.1866000000000 1098.49000000000 23.8302000000000 - 50.0396000000000 1218.97000000000 23.8801000000000 - 55.4135000000000 1352.65000000000 23.9301000000000 - 61.3644000000000 1500.97000000000 23.9800000000000 - 67.9541000000000 1665.55000000000 24.0300000000000 - 75.2511000000000 1848.16000000000 24.0799000000000 - 83.3313000000000 2050.78000000000 24.1298000000000 - 92.2787000000000 2275.59000000000 24.1798000000000 - 102.187000000000 2525.02000000000 24.2297000000000 - 113.158000000000 2801.77000000000 24.2797000000000 - 125.306000000000 3108.83000000000 24.3296000000000 - 138.758000000000 3449.51000000000 24.3795000000000 - 153.654000000000 3827.50000000000 24.4295000000000 - 170.148000000000 4246.87000000000 24.4794000000000 - 188.412000000000 4712.15000000000 24.5294000000000 - 208.636000000000 5228.37000000000 24.5793000000000 - 231.030000000000 5801.10000000000 24.6293000000000 - 255.826000000000 6436.52000000000 24.6792000000000 - 283.283000000000 7141.48000000000 24.7291000000000 - 313.685000000000 7923.58000000000 24.7791000000000 - 347.349000000000 8791.28000000000 24.8290000000000 - 384.624000000000 9753.92000000000 24.8790000000000 - 425.897000000000 10821.9000000000 24.9289000000000 - 471.597000000000 12006.7000000000 24.9789000000000 - 522.200000000000 13321.1000000000 25.0288000000000 - 578.230000000000 14779.3000000000 25.0788000000000 - 640.270000000000 16397.0000000000 25.1287000000000 - 708.963000000000 18191.7000000000 25.1786000000000 - 785.023000000000 20182.6000000000 25.2286000000000 - 869.240000000000 22391.2000000000 25.2785000000000 - 962.489000000000 24841.3000000000 25.3285000000000 - 1065.74000000000 27559.4000000000 25.3784000000000 - 1180.06000000000 30574.6000000000 25.4284000000000 - 1306.63000000000 33919.5000000000 25.4783000000000 - 1446.78000000000 37630.0000000000 25.5283000000000 - 1601.96000000000 41746.1000000000 25.5782000000000 - 1773.77000000000 46312.1000000000 25.6282000000000 - 1964.01000000000 51377.2000000000 25.6781000000000 - 2174.64000000000 56995.8000000000 25.7280000000000 - 2407.84000000000 63228.4000000000 25.7780000000000 - 2666.05000000000 70142.0000000000 25.8279000000000 - 2951.94000000000 77811.1000000000 25.8779000000000 - 3268.48000000000 86318.0000000000 25.9278000000000 - 3618.94000000000 95754.4000000000 25.9778000000000 - 4006.96000000000 106222.000000000 26.0277000000000 - 4436.58000000000 117832.000000000 26.0777000000000 - 4912.24000000000 130711.000000000 26.1276000000000 - 5438.88000000000 144996.000000000 26.1776000000000 - 6021.96000000000 160842.000000000 26.2275000000000 - 6667.53000000000 178418.000000000 26.2775000000000 - 7382.29000000000 197913.000000000 26.3274000000000 - 8173.62000000000 219536.000000000 26.3774000000000 - 9049.77000000000 243521.000000000 26.4273000000000 - 10019.8000000000 270124.000000000 26.4773000000000 - 11093.7000000000 299632.000000000 26.5272000000000 - 12282.8000000000 332360.000000000 26.5772000000000 - 13599.2000000000 368661.000000000 26.6271000000000 - 15056.7000000000 408925.000000000 26.6771000000000 - 16670.3000000000 453582.000000000 26.7270000000000 - 18456.8000000000 503113.000000000 26.7770000000000 - 20434.6000000000 558049.000000000 26.8269000000000 - 22624.4000000000 618980.000000000 26.8769000000000 - 25048.7000000000 686558.000000000 26.9268000000000 - 27732.7000000000 761510.000000000 26.9768000000000 - 30704.2000000000 844639.000000000 27.0267000000000 - 33994.0000000000 936837.000000000 27.0767000000000 - 37636.1000000000 1039090.00000000 27.1266000000000 - 41668.4000000000 1152500.00000000 27.1766000000000 - 46132.5000000000 1278280.00000000 27.2265000000000 - 51074.6000000000 1417770.00000000 27.2765000000000 - 56546.1000000000 1572480.00000000 27.3265000000000 - 62603.5000000000 1744060.00000000 27.3764000000000 - 69309.6000000000 1934350.00000000 27.4264000000000 - 76733.8000000000 2145380.00000000 27.4763000000000 - 84953.0000000000 2379430.00000000 27.5263000000000 - 94052.2000000000 2638990.00000000 27.5762000000000 - 104126.000000000 2926850.00000000 27.6262000000000 - 115278.000000000 3246080.00000000 27.6761000000000 - 127624.000000000 3600110.00000000 27.7261000000000 - 141292.000000000 3992740.00000000 27.7760000000000 - 156424.000000000 4428150.00000000 27.8260000000000 - 173175.000000000 4911010.00000000 27.8760000000000 - 191720.000000000 5446500.00000000 27.9259000000000 - 212250.000000000 6040330.00000000 27.9759000000000 - 234977.000000000 6698870.00000000 28.0258000000000 - 260138.000000000 7429170.00000000 28.0758000000000 - 287992.000000000 8239030.00000000 28.1257000000000 - 318827.000000000 9137110.00000000 28.1757000000000 - 352962.000000000 10133000.0000000 28.2256000000000 - 390752.000000000 11237400.0000000 28.2756000000000 - 432586.000000000 12462100.0000000 28.3256000000000 - 478897.000000000 13820200.0000000 28.3755000000000 - 530164.000000000 15326200.0000000 28.4255000000000 - 586919.000000000 16996300.0000000 28.4754000000000 - 649747.000000000 18848100.0000000 28.5254000000000 - 719298.000000000 20901700.0000000 28.5753000000000 - 796292.000000000 23178800.0000000 28.6253000000000 - 881526.000000000 25703900.0000000 28.6752000000000 - 975879.000000000 28503900.0000000 28.7252000000000 - 1080330.00000000 31608700.0000000 28.7752000000000 - 1195950.00000000 35051500.0000000 28.8251000000000 - 1323950.00000000 38869000.0000000 28.8751000000000 - 1465640.00000000 43102100.0000000 28.9250000000000 - 1622500.00000000 47796000.0000000 28.9750000000000 - 1796130.00000000 53000700.0000000 29.0250000000000 - 1988340.00000000 58771800.0000000 29.0749000000000 - 2201110.00000000 65171000.0000000 29.1249000000000 - 2436640.00000000 72266600.0000000 29.1748000000000 - 2697370.00000000 80134200.0000000 29.2248000000000 - 2985990.00000000 88857800.0000000 29.2747000000000 - 3305490.00000000 98530600.0000000 29.3247000000000 - 3659150.00000000 109256000.000000 29.3747000000000 - 4050650.00000000 121148000.000000 29.4246000000000 - 4484030.00000000 134333000.000000 29.4746000000000 - 4963750.00000000 148953000.000000 29.5246000000000 - 5494790.00000000 165163000.000000 29.5745000000000 - 6082620.00000000 183136000.000000 29.6245000000000 - 6733310.00000000 203064000.000000 29.6744000000000 - 7453600.00000000 225159000.000000 29.7244000000000 - 8250920.00000000 249657000.000000 29.7744000000000 - 9133500.00000000 276819000.000000 29.8243000000000 - 10110500.0000000 306934000.000000 29.8743000000000 - 11191900.0000000 340324000.000000 29.9242000000000 - 12389000.0000000 377344000.000000 29.9742000000000 - 13714100.0000000 418389000.000000 30.0242000000000 - 15180800.0000000 463896000.000000 30.0741000000000 - 16804400.0000000 514350000.000000 30.1241000000000 - 18601600.0000000 570288000.000000 30.1740000000000 - 20590900.0000000 632307000.000000 30.2240000000000 - 22793000.0000000 701066000.000000 30.2740000000000 - 25230400.0000000 777299000.000000 30.3239000000000 - 27928500.0000000 861816000.000000 30.3739000000000 - 30915000.0000000 955518000.000000 30.4238000000000 - 34220800.0000000 1059400000.00000 30.4738000000000 - 37879900.0000000 1174580000.00000 30.5238000000000 - 41930200.0000000 1302260000.00000 30.5737000000000 - 46413400.0000000 1443820000.00000 30.6237000000000 - 51375900.0000000 1600760000.00000 30.6737000000000 - 56868800.0000000 1774750000.00000 30.7236000000000 - 62948900.0000000 1967650000.00000 30.7736000000000 - 69678800.0000000 2181490000.00000 30.8235000000000 - 77128000.0000000 2418570000.00000 30.8735000000000 - 85373400.0000000 2681390000.00000 30.9235000000000 - 94500000.0000000 2972760000.00000 30.9734000000000 - 104602000.000000 3295780000.00000 31.0234000000000 - 115784000.000000 3653880000.00000 31.0733000000000 - 128160000.000000 4050860000.00000 31.1233000000000 - 141860000.000000 4490950000.00000 31.1733000000000 - 157023000.000000 4978840000.00000 31.2233000000000 - 173806000.000000 5519700000.00000 31.2732000000000 - 192384000.000000 6119280000.00000 31.3232000000000 - 212946000.000000 6783960000.00000 31.3731000000000 - 235705000.000000 7520800000.00000 31.4231000000000 - 260896000.000000 8337630000.00000 31.4731000000000 - 288779000.000000 9243140000.00000 31.5230000000000 - 319641000.000000 10246900000.0000 31.5730000000000 - 353800000.000000 11359700000.0000 31.6230000000000 - 391609000.000000 12593200000.0000 31.6729000000000 - 433458000.000000 13960600000.0000 31.7229000000000 - 479777000.000000 15476500000.0000 31.7729000000000 - 531045000.000000 17156800000.0000 31.8228000000000 - 587790000.000000 19019400000.0000 31.8728000000000 - 650596000.000000 21084200000.0000 31.9227000000000 - 720113000.000000 23373100000.0000 31.9727000000000 - 797055000.000000 25910300000.0000 32.0227000000000 - 882216000.000000 28722800000.0000 32.0726000000000 - 976474000.000000 31840400000.0000 32.1226000000000 - 1080800000.00000 35296200000.0000 32.1726000000000 - 1196270000.00000 39127000000.0000 32.2225000000000 - 1324070000.00000 43373300000.0000 32.2725000000000 - 1465530000.00000 48080200000.0000 32.3225000000000 - 1622090000.00000 53297700000.0000 32.3724000000000 - 1795370000.00000 59081100000.0000 32.4224000000000 - 1987160000.00000 65491700000.0000 32.4724000000000 - 2199430000.00000 72597600000.0000 32.5223000000000 - 2434380000.00000 80474200000.0000 32.5723000000000 - 2694410000.00000 89204900000.0000 32.6223000000000 - 2982210000.00000 98882400000.0000 32.6722000000000 - 3300750000.00000 109609000000.000 32.7222000000000 - 3653310000.00000 121499000000.000 32.7722000000000 - 4043510000.00000 134678000000.000 32.8221000000000 - 4475370000.00000 149287000000.000 32.8721000000000 - 4953350000.00000 165478000000.000 32.9221000000000 - 5482370000.00000 183426000000.000 32.9720000000000 - 6067880000.00000 203318000000.000 33.0220000000000 - 6715900000.00000 225368000000.000 33.0720000000000 - 7433110000.00000 249807000000.000 33.1219000000000 - 8226900000.00000 276895000000.000 33.1719000000000 - 9105440000.00000 306920000000.000 33.2219000000000 - 10077800000.0000 340198000000.000 33.2718000000000 - 11153900000.0000 377083000000.000 33.3218000000000 - 12344900000.0000 417966000000.000 33.3718000000000 - 13663100000.0000 463279000000.000 33.4218000000000 - 15122000000.0000 513502000000.000 33.4717000000000 - 16736700000.0000 569168000000.000 33.5217000000000 - 18523700000.0000 630865000000.000 33.5717000000000 - 20501500000.0000 699247000000.000 33.6216000000000 - 22690300000.0000 775038000000.000 33.6716000000000 - 25112900000.0000 859040000000.000 33.7216000000000 - 27794000000.0000 952143000000.000 33.7715000000000 - 30761300000.0000 1055330000000.00 33.8215000000000 - 34045300000.0000 1169700000000.00 33.8715000000000 - 37679800000.0000 1296450000000.00 33.9214000000000 - 41702300000.0000 1436940000000.00 33.9714000000000 - 46154100000.0000 1592640000000.00 34.0214000000000 - 51081000000.0000 1765210000000.00 34.0713000000000 - 56533700000.0000 1956470000000.00 34.1213000000000 - 62568400000.0000 2168440000000.00 34.1713000000000 - 69247000000.0000 2403360000000.00 34.2213000000000 - 76638500000.0000 2663730000000.00 34.2712000000000 - 84818700000.0000 2952290000000.00 34.3212000000000 - 93871900000.0000 3272100000000.00 34.3712000000000 - 103891000000.000 3626530000000.00 34.4211000000000 - 114980000000.000 4019340000000.00 34.4711000000000 - 127251000000.000 4454690000000.00 34.5211000000000 - 140832000000.000 4937160000000.00 34.5710000000000 - 155863000000.000 5471870000000.00 34.6210000000000 - 172497000000.000 6064460000000.00 34.6710000000000 - 190906000000.000 6721210000000.00 34.7209000000000 - 211279000000.000 7449050000000.00 34.7709000000000 - 233826000000.000 8255670000000.00 34.8209000000000 - 258778000000.000 9149600000000.00 34.8708000000000 - 286393000000.000 10140300000000.0 34.9208000000000 - 316954000000.000 11238200000000.0 34.9708000000000 - 350775000000.000 12454900000000.0 35.0208000000000 - 388204000000.000 13803300000000.0 35.0707000000000 - 429627000000.000 15297700000000.0 35.1207000000000 - 475469000000.000 16953700000000.0 35.1707000000000 - 526201000000.000 18789000000000.0 35.2207000000000 - 582345000000.000 20822800000000.0 35.2706000000000 - 644478000000.000 23076700000000.0 35.3206000000000 - 713239000000.000 25574500000000.0 35.3706000000000 - 789334000000.000 28342500000000.0 35.4205000000000 - 873547000000.000 31410000000000.0 35.4705000000000 - 966743000000.000 34809300000000.0 35.5205000000000 - 1069880000000.00 38576400000000.0 35.5704000000000 - 1184020000000.00 42751000000000.0 35.6204000000000 - 1310330000000.00 47377200000000.0 35.6704000000000 - 1450110000000.00 52503800000000.0 35.7204000000000 - 1604800000000.00 58184900000000.0 35.7703000000000 - 1775990000000.00 64480500000000.0 35.8203000000000 - 1965440000000.00 71457000000000.0 35.8703000000000 - 2175090000000.00 79188000000000.0 35.9203000000000 - 2407110000000.00 87755200000000.0 35.9702000000000 - 2663860000000.00 97248800000000.0 36.0202000000000 - 2948000000000.00 107769000000000. 36.0702000000000 - 3262440000000.00 119427000000000. 36.1201000000000 - 3610410000000.00 132346000000000. 36.1701000000000 - 3995490000000.00 146661000000000. 36.2201000000000 - 4421630000000.00 162524000000000. 36.2701000000000 - 4893210000000.00 180103000000000. 36.3200000000000 - 5415080000000.00 199582000000000. 36.3700000000000 - 5992600000000.00 221167000000000. 36.4200000000000 - 6631690000000.00 245085000000000. 36.4700000000000 - 7338940000000.00 271589000000000. 36.5199000000000 - 8121590000000.00 300958000000000. 36.5699000000000 - 8987690000000.00 333502000000000. 36.6199000000000 - 9946140000000.00 369564000000000. 36.6698000000000 - 11006800000000.0 409524000000000. 36.7198000000000 - 12180500000000.0 453803000000000. 36.7698000000000 - 13479300000000.0 502868000000000. 36.8198000000000 - 14916700000000.0 557235000000000. 36.8697000000000 - 16507300000000.0 617479000000000. 36.9197000000000 - 18267400000000.0 684233000000000. 36.9697000000000 - 20215200000000.0 758201000000000. 37.0197000000000 - 22370600000000.0 840162000000000. 37.0696000000000 - 24755800000000.0 930980000000000. 37.1196000000000 - 27395300000000.0 1.031610000000000E+015 37.1696000000000 - 30316100000000.0 1.143120000000000E+015 37.2196000000000 - 33548400000000.0 1.266670000000000E+015 37.2695000000000 - 37125100000000.0 1.403570000000000E+015 37.3195000000000 - 41083100000000.0 1.555260000000000E+015 37.3695000000000 - 45463100000000.0 1.723340000000000E+015 37.4194000000000 - 50309800000000.0 1.909580000000000E+015 37.4694000000000 - 55673200000000.0 2.115940000000000E+015 37.5194000000000 - 61608300000000.0 2.344590000000000E+015 37.5694000000000 - 68176000000000.0 2.597940000000000E+015 37.6194000000000 - 75443700000000.0 2.878660000000000E+015 37.6693000000000 - 83486000000000.0 3.189700000000000E+015 37.7193000000000 - 92385500000000.0 3.534330000000000E+015 37.7693000000000 - 102233000000000. 3.916190000000000E+015 37.8192000000000 - 113131000000000. 4.339290000000000E+015 37.8692000000000 - 125190000000000. 4.808080000000000E+015 37.9192000000000 - 138534000000000. 5.327510000000000E+015 37.9692000000000 - 153300000000000. 5.903020000000000E+015 38.0191000000000 - 169640000000000. 6.540690000000000E+015 38.0691000000000 - 187721000000000. 7.247220000000000E+015 38.1191000000000 - 207729000000000. 8.030040000000000E+015 38.1691000000000 - 229869000000000. 8.897390000000000E+015 38.2191000000000 - 254369000000000. 9.858380000000000E+015 38.2690000000000 - 281479000000000. 1.092310000000000E+016 38.3190000000000 - 311477000000000. 1.210290000000000E+016 38.3690000000000 - 344673000000000. 1.341000000000000E+016 38.4189000000000 - 381406000000000. 1.485820000000000E+016 38.4689000000000 - 422053000000000. 1.646270000000000E+016 38.5189000000000 - 467031000000000. 1.824050000000000E+016 38.5689000000000 - 516801000000000. 2.021010000000000E+016 38.6189000000000 - 571874000000000. 2.239240000000000E+016 38.6688000000000 - 632815000000000. 2.481030000000000E+016 38.7188000000000 - 700250000000000. 2.748920000000000E+016 38.7688000000000 - 774868000000000. 3.045710000000000E+016 38.8188000000000 - 857438000000000. 3.374550000000000E+016 38.8687000000000 - 948803000000000. 3.738870000000000E+016 38.9187000000000 - 1.049900000000000E+015 4.142520000000000E+016 38.9687000000000 - 1.161770000000000E+015 4.589730000000000E+016 39.0187000000000 - 1.285560000000000E+015 5.085200000000000E+016 39.0686000000000 - 1.422540000000000E+015 5.634140000000000E+016 39.1186000000000 - 1.574110000000000E+015 6.242310000000000E+016 39.1686000000000 - 1.741830000000000E+015 6.916120000000000E+016 39.2186000000000 - 1.927410000000000E+015 7.662630000000000E+016 39.2685000000000 - 2.132760000000000E+015 8.489690000000000E+016 39.3185000000000 - 2.359990000000000E+015 9.405990000000000E+016 39.3685000000000 - 2.611420000000000E+015 1.042120000000000E+017 39.4185000000000 - 2.889640000000000E+015 1.154590000000000E+017 39.4684000000000 - 3.197490000000000E+015 1.279190000000000E+017 39.5184000000000 - 3.538130000000000E+015 1.417240000000000E+017 39.5684000000000 - 3.915060000000000E+015 1.570180000000000E+017 39.6184000000000 - 4.332130000000000E+015 1.739610000000000E+017 39.6684000000000 - 4.793630000000000E+015 1.927330000000000E+017 39.7183000000000 - 5.304290000000000E+015 2.135300000000000E+017 39.7683000000000 - 5.869330000000000E+015 2.365700000000000E+017 39.8183000000000 - 6.494570000000000E+015 2.620950000000000E+017 39.8683000000000 - 7.186390000000000E+015 2.903730000000000E+017 39.9182000000000 - 7.951890000000000E+015 3.217020000000000E+017 39.9682000000000 - 8.798920000000000E+015 3.564090000000000E+017 40.0182000000000 - 9.736170000000000E+015 3.948600000000000E+017 40.0682000000000 - 1.077320000000000E+016 4.374580000000000E+017 40.1181000000000 - 1.192070000000000E+016 4.846490000000000E+017 40.1681000000000 - 1.319050000000000E+016 5.369300000000000E+017 40.2181000000000 - 1.459540000000000E+016 5.948490000000000E+017 40.2681000000000 - 1.614990000000000E+016 6.590140000000000E+017 40.3181000000000 - 1.787000000000000E+016 7.300980000000000E+017 40.3680000000000 - 1.977330000000000E+016 8.088470000000000E+017 40.4180000000000 - 2.187930000000000E+016 8.960870000000000E+017 40.4680000000000 - 2.420950000000000E+016 9.927330000000000E+017 40.5180000000000 - 2.678790000000000E+016 1.099800000000000E+018 40.5679000000000 - 2.964080000000000E+016 1.218410000000000E+018 40.6179000000000 - 3.279750000000000E+016 1.349810000000000E+018 40.6679000000000 - 3.629030000000000E+016 1.495370000000000E+018 40.7179000000000 - 4.015510000000000E+016 1.656630000000000E+018 40.7679000000000 - 4.443130000000000E+016 1.835280000000000E+018 40.8178000000000 - 4.916290000000000E+016 2.033180000000000E+018 40.8678000000000 - 5.439830000000000E+016 2.252410000000000E+018 40.9178000000000 - 6.019110000000000E+016 2.495280000000000E+018 40.9678000000000 - 6.660070000000000E+016 2.764320000000000E+018 41.0178000000000 - 7.369280000000000E+016 3.062370000000000E+018 41.0677000000000 - 8.153990000000000E+016 3.392540000000000E+018 41.1177000000000 - 9.022250000000000E+016 3.758290000000000E+018 41.1677000000000 - 9.982950000000000E+016 4.163470000000000E+018 41.2177000000000 - 1.104590000000000E+017 4.612320000000000E+018 41.2677000000000 - 1.222210000000000E+017 5.109540000000000E+018 41.3176000000000 - 1.352350000000000E+017 5.660350000000000E+018 41.3676000000000 - 1.496340000000000E+017 6.270520000000000E+018 41.4176000000000 - 1.655660000000000E+017 6.946440000000000E+018 41.4676000000000 - 1.831940000000000E+017 7.695200000000000E+018 41.5175000000000 - 2.026980000000000E+017 8.524640000000000E+018 41.5675000000000 - 2.242800000000000E+017 9.443460000000000E+018 41.6175000000000 - 2.481580000000000E+017 1.046130000000000E+019 41.6675000000000 - 2.745780000000000E+017 1.158880000000000E+019 41.7175000000000 - 3.038110000000000E+017 1.283780000000000E+019 41.7674000000000 - 3.361560000000000E+017 1.422130000000000E+019 41.8174000000000 - 3.719430000000000E+017 1.575390000000000E+019 41.8674000000000 - 4.115400000000000E+017 1.745170000000000E+019 41.9174000000000 - 4.553520000000000E+017 1.933230000000000E+019 41.9674000000000 - 5.038280000000000E+017 2.141550000000000E+019 42.0173000000000 - 5.574630000000000E+017 2.372320000000000E+019 42.0673000000000 - 6.168070000000000E+017 2.627950000000000E+019 42.1173000000000 - 6.824680000000000E+017 2.911110000000000E+019 42.1673000000000 - 7.551170000000000E+017 3.224780000000000E+019 42.2173000000000 - 8.354990000000000E+017 3.572230000000000E+019 42.2672000000000 - 9.244360000000000E+017 3.957110000000000E+019 42.3172000000000 - 1.022840000000000E+018 4.383440000000000E+019 42.3672000000000 - 1.131710000000000E+018 4.855700000000000E+019 42.4172000000000 - 1.252180000000000E+018 5.378810000000000E+019 42.4671000000000 - 1.385460000000000E+018 5.958270000000000E+019 42.5171000000000 - 1.532930000000000E+018 6.600140000000000E+019 42.5671000000000 - 1.696100000000000E+018 7.311130000000000E+019 42.6171000000000 - 1.876620000000000E+018 8.098690000000000E+019 42.6671000000000 - 2.076370000000000E+018 8.971070000000000E+019 42.7171000000000 - 2.297360000000000E+018 9.937390000000000E+019 42.7670000000000 - 2.541880000000000E+018 1.100780000000000E+020 42.8170000000000 - 2.812420000000000E+018 1.219340000000000E+020 42.8670000000000 - 3.111740000000000E+018 1.350670000000000E+020 42.9170000000000 - 3.442920000000000E+018 1.496140000000000E+020 42.9669000000000 - 3.809340000000000E+018 1.657280000000000E+020 43.0169000000000 - 4.214760000000000E+018 1.835760000000000E+020 43.0669000000000 - 4.663310000000000E+018 2.033460000000000E+020 43.1169000000000 - 5.159600000000000E+018 2.252450000000000E+020 43.1669000000000 - 5.708690000000000E+018 2.495020000000000E+020 43.2169000000000 - 6.316210000000000E+018 2.763690000000000E+020 43.2668000000000 - 6.988380000000000E+018 3.061300000000000E+020 43.3168000000000 - 7.732070000000000E+018 3.390940000000000E+020 43.3668000000000 - 8.554890000000000E+018 3.756070000000000E+020 43.4168000000000 - 9.465250000000000E+018 4.160500000000000E+020 43.4668000000000 - 1.047250000000000E+019 4.608470000000000E+020 43.5167000000000 - 1.158690000000000E+019 5.104660000000000E+020 43.5667000000000 - 1.281980000000000E+019 5.654260000000000E+020 43.6167000000000 - 1.418400000000000E+019 6.263010000000000E+020 43.6667000000000 - 1.569330000000000E+019 6.937290000000000E+020 43.7167000000000 - 1.736320000000000E+019 7.684150000000000E+020 43.7666000000000 - 1.921070000000000E+019 8.511380000000001E+020 43.8166000000000 - 2.125480000000000E+019 9.427650000000000E+020 43.8666000000000 - 2.351630000000000E+019 1.044250000000000E+021 43.9166000000000 - 2.601850000000000E+019 1.156660000000000E+021 43.9666000000000 - 2.878680000000000E+019 1.281170000000000E+021 44.0166000000000 - 3.184970000000000E+019 1.419080000000000E+021 44.0665000000000 - 3.523840000000000E+019 1.571830000000000E+021 44.1165000000000 - 3.898760000000000E+019 1.741010000000000E+021 44.1665000000000 - 4.313570000000000E+019 1.928400000000000E+021 44.2165000000000 - 4.772500000000000E+019 2.135950000000000E+021 44.2665000000000 - 5.280260000000000E+019 2.365840000000000E+021 44.3164000000000 - 5.842020000000000E+019 2.620460000000000E+021 44.3664000000000 - 6.463550000000000E+019 2.902480000000000E+021 44.4164000000000 - 7.151190000000000E+019 3.214850000000000E+021 44.4664000000000 - 7.911980000000000E+019 3.560820000000000E+021 44.5164000000000 - 8.753690000000000E+019 3.944010000000000E+021 44.5663000000000 - 9.684940000000000E+019 4.368430000000000E+021 44.6163000000000 - 1.071520000000000E+020 4.838510000000000E+021 44.6663000000000 - 1.185510000000000E+020 5.359160000000000E+021 44.7163000000000 - 1.311630000000000E+020 5.935820000000000E+021 44.7663000000000 - 1.451160000000000E+020 6.574510000000000E+021 44.8163000000000 - 1.605530000000000E+020 7.281920000000000E+021 44.8662000000000 - 1.776310000000000E+020 8.065420000000000E+021 44.9162000000000 - 1.965270000000000E+020 8.933190000000000E+021 44.9662000000000 - 2.174320000000000E+020 9.894310000000001E+021 45.0162000000000 - 2.405610000000000E+020 1.095880000000000E+022 45.0662000000000 - 2.661490000000000E+020 1.213780000000000E+022 45.1161000000000 - 2.944590000000000E+020 1.344360000000000E+022 45.1661000000000 - 3.257800000000000E+020 1.488990000000000E+022 45.2161000000000 - 3.604320000000000E+020 1.649170000000000E+022 45.2661000000000 - 3.987690000000000E+020 1.826570000000000E+022 45.3161000000000 - 4.411840000000000E+020 2.023060000000000E+022 45.3661000000000 - 4.881090000000000E+020 2.240680000000000E+022 45.4160000000000 - 5.400250000000000E+020 2.481700000000000E+022 45.4660000000000 - 5.974620000000001E+020 2.748640000000000E+022 45.5160000000000 - 6.610070000000000E+020 3.044290000000000E+022 45.5660000000000 - 7.313110000000000E+020 3.371730000000000E+022 45.6160000000000 - 8.090900000000001E+020 3.734370000000000E+022 45.6660000000000 - 8.951410000000000E+020 4.136020000000000E+022 45.7159000000000 - 9.903420000000001E+020 4.580850000000000E+022 45.7659000000000 - 1.095670000000000E+021 5.073510000000000E+022 45.8159000000000 - 1.212190000000000E+021 5.619140000000000E+022 45.8659000000000 - 1.341110000000000E+021 6.223440000000000E+022 45.9159000000000 - 1.483730000000000E+021 6.892720000000000E+022 45.9659000000000 - 1.641520000000000E+021 7.633940000000000E+022 46.0158000000000 - 1.816090000000000E+021 8.454860000000000E+022 46.0658000000000 - 2.009230000000000E+021 9.364040000000000E+022 46.1158000000000 - 2.222890000000000E+021 1.037100000000000E+023 46.1658000000000 - 2.459280000000000E+021 1.148610000000000E+023 46.2158000000000 - 2.720800000000000E+021 1.272120000000000E+023 46.2657000000000 - 3.010130000000000E+021 1.408900000000000E+023 46.3157000000000 - 3.330230000000000E+021 1.560380000000000E+023 46.3657000000000 - 3.684350000000000E+021 1.728150000000000E+023 46.4157000000000 - 4.076130000000000E+021 1.913950000000000E+023 46.4657000000000 - 4.509570000000000E+021 2.119730000000000E+023 46.5157000000000 - 4.989090000000000E+021 2.347620000000000E+023 46.5656000000000 - 5.519590000000000E+021 2.600010000000000E+023 46.6156000000000 - 6.106490000000000E+021 2.879530000000000E+023 46.6656000000000 - 6.755800000000000E+021 3.189080000000000E+023 46.7156000000000 - 7.474130000000000E+021 3.531910000000000E+023 46.7656000000000 - 8.268840000000000E+021 3.911580000000000E+023 46.8156000000000 - 9.148040000000000E+021 4.332060000000000E+023 46.8655000000000 - 1.012070000000000E+022 4.797730000000000E+023 46.9155000000000 - 1.119680000000000E+022 5.313440000000000E+023 46.9655000000000 - 1.238720000000000E+022 5.884570000000000E+023 47.0155000000000 - 1.370430000000000E+022 6.517080000000000E+023 47.0655000000000 - 1.516130000000000E+022 7.217559999999999E+023 47.1155000000000 - 1.677330000000000E+022 7.993309999999999E+023 47.1654000000000 - 1.855660000000000E+022 8.852419999999999E+023 47.2154000000000 - 2.052940000000000E+022 9.803840000000000E+023 47.2654000000000 - 2.271200000000000E+022 1.085750000000000E+024 47.3154000000000 - 2.512660000000000E+022 1.202440000000000E+024 47.3654000000000 - 2.779790000000000E+022 1.331660000000000E+024 47.4154000000000 - 3.075320000000000E+022 1.474770000000000E+024 47.4653000000000 - 3.402260000000000E+022 1.633250000000000E+024 47.5153000000000 - 3.763950000000000E+022 1.808770000000000E+024 47.5653000000000 - 4.164090000000000E+022 2.003140000000000E+024 47.6153000000000 - 4.606760000000000E+022 2.218390000000000E+024 47.6653000000000 - 5.096490000000000E+022 2.456760000000000E+024 47.7153000000000 - 5.638270000000000E+022 2.720750000000000E+024 47.7652000000000 - 6.237640000000000E+022 3.013090000000000E+024 47.8152000000000 - 6.900720000000000E+022 3.336840000000000E+024 47.8652000000000 - 7.634270000000000E+022 3.695370000000000E+024 47.9152000000000 - 8.445799999999999E+022 4.092410000000000E+024 47.9652000000000 - 9.343579999999999E+022 4.532100000000000E+024 48.0152000000000 - 1.033680000000000E+023 5.019020000000000E+024 48.0652000000000 - 1.143560000000000E+023 5.558250000000000E+024 48.1151000000000 - 1.265110000000000E+023 6.155390000000000E+024 48.1651000000000 - 1.399580000000000E+023 6.816670000000000E+024 48.2151000000000 - 1.548350000000000E+023 7.548980000000000E+024 48.2651000000000 - 1.712930000000000E+023 8.359940000000000E+024 48.3151000000000 - 1.895000000000000E+023 9.258010000000000E+024 48.3651000000000 - 2.096420000000000E+023 1.025250000000000E+025 48.4150000000000 - 2.319240000000000E+023 1.135380000000000E+025 48.4650000000000 - 2.565750000000000E+023 1.257340000000000E+025 48.5150000000000 - 1 1 2 3 3 4 0 1 1 1 2 2 - 0.000000000000000E+000 0.000000000000000E+000 0.705880000000000 - 0.705880000000000 0.705880000000000 0.705880000000000 - 1.00000000000000 1.00000000000000 3.00000000000000 - 3.00000000000000 3.00000000000000 2.00000000000000 - 8.07131000000004 7.28897545999993 13.1357354599999 - 14.9497831614761 14.9311833068413 2.42492104827388 - 26.1700000000000 19.2500000000000 24.2100000000000 - 20.9200000000000 23.1500000000000 18.0100000000000 - 19.5500000000000 16.9400000000000 19.7300000000000 - 17.0700000000000 18.2100000000000 14.9900000000000 - 16.0100000000000 12.0400000000000 13.2700000000000 - 11.0900000000000 12.1700000000000 10.2600000000000 - 11.0400000000000 8.41000000000000 9.79000000000000 - 7.36000000000000 8.15000000000000 5.63000000000000 - 5.88000000000000 3.17000000000000 3.32000000000000 - 0.820000000000000 1.83000000000000 0.970000000000000 - 2.33000000000000 1.27000000000000 2.92000000000000 - 1.61000000000000 2.91000000000000 1.35000000000000 - 2.40000000000000 0.890000000000000 1.74000000000000 - 0.360000000000000 0.950000000000000 -0.650000000000000 - -4.000000000000000E-002 -1.73000000000000 -0.960000000000000 - -2.87000000000000 -2.05000000000000 -4.05000000000000 - -3.40000000000000 -5.72000000000000 -3.75000000000000 - -4.13000000000000 -2.42000000000000 -2.85000000000000 - -1.01000000000000 -1.33000000000000 0.540000000000000 - -2.000000000000000E-002 1.74000000000000 0.750000000000000 - 2.24000000000000 1.00000000000000 1.98000000000000 - 0.790000000000000 1.54000000000000 0.390000000000000 - 1.08000000000000 0.000000000000000E+000 0.780000000000000 - -0.350000000000000 0.580000000000000 -0.550000000000000 - 0.590000000000000 -0.610000000000000 0.590000000000000 - -0.350000000000000 0.320000000000000 -0.960000000000000 - -0.520000000000000 -2.08000000000000 -2.46000000000000 - -3.64000000000000 -1.55000000000000 -0.960000000000000 - 0.970000000000000 0.880000000000000 2.37000000000000 - 1.75000000000000 2.72000000000000 1.90000000000000 - 2.55000000000000 1.46000000000000 1.93000000000000 - 0.860000000000000 1.17000000000000 8.000000000000000E-002 - 0.390000000000000 -0.760000000000000 -0.390000000000000 - -1.51000000000000 -1.17000000000000 -2.36000000000000 - -1.95000000000000 -3.06000000000000 -2.62000000000000 - -3.55000000000000 -2.95000000000000 -3.75000000000000 - -3.07000000000000 -3.79000000000000 -3.06000000000000 - -3.77000000000000 -3.05000000000000 -3.78000000000000 - -3.12000000000000 -3.90000000000000 -3.35000000000000 - -4.24000000000000 -3.86000000000000 -4.92000000000000 - -5.06000000000000 -6.77000000000000 -7.41000000000000 - -9.18000000000000 -10.1600000000000 -11.1200000000000 - -9.76000000000000 -9.23000000000000 -7.96000000000000 - -7.65000000000000 - -8.32000000000000 -15.9000000000000 -11.5100000000000 - -14.3100000000000 -11.5700000000000 -15.9000000000000 - -13.9100000000000 -16.0300000000000 -12.1300000000000 - -13.8700000000000 -12.2500000000000 -14.4000000000000 - -13.0700000000000 -15.8000000000000 -13.8100000000000 - -14.9800000000000 -12.6300000000000 -13.7600000000000 - -11.3700000000000 -12.3800000000000 -9.23000000000000 - -9.65000000000000 -7.64000000000000 -9.17000000000000 - -8.05000000000000 -9.72000000000000 -8.87000000000000 - -10.7600000000000 -8.64000000000000 -8.89000000000000 - -6.60000000000000 -7.13000000000000 -4.77000000000000 - -5.33000000000000 -3.06000000000000 -3.79000000000000 - -1.72000000000000 -2.79000000000000 -0.930000000000000 - -2.19000000000000 -0.520000000000000 -1.90000000000000 - -0.450000000000000 -2.20000000000000 -1.22000000000000 - -3.07000000000000 -2.42000000000000 -4.37000000000000 - -3.94000000000000 -6.08000000000000 -4.49000000000000 - -4.50000000000000 -3.14000000000000 -2.93000000000000 - -1.04000000000000 -1.36000000000000 0.690000000000000 - 0.210000000000000 2.11000000000000 1.33000000000000 - 3.29000000000000 2.46000000000000 4.30000000000000 - 3.32000000000000 4.79000000000000 3.62000000000000 - 4.97000000000000 3.64000000000000 4.63000000000000 - 3.07000000000000 4.06000000000000 2.49000000000000 - 3.30000000000000 1.46000000000000 2.06000000000000 - 0.510000000000000 0.740000000000000 -1.18000000000000 - -1.26000000000000 -3.54000000000000 -3.97000000000000 - -5.26000000000000 -4.18000000000000 -3.71000000000000 - -2.10000000000000 -1.70000000000000 -8.000000000000000E-002 - -0.180000000000000 0.940000000000000 0.270000000000000 - 1.13000000000000 8.000000000000000E-002 0.910000000000000 - -0.310000000000000 0.490000000000000 -0.780000000000000 - 8.000000000000000E-002 -1.15000000000000 -0.230000000000000 - -1.41000000000000 -0.420000000000000 -1.55000000000000 - -0.550000000000000 -1.66000000000000 -0.660000000000000 - -1.73000000000000 -0.750000000000000 -1.74000000000000 - -0.780000000000000 -1.69000000000000 -0.780000000000000 - -1.60000000000000 -0.750000000000000 -1.46000000000000 - -0.670000000000000 -1.26000000000000 -0.510000000000000 - -1.04000000000000 -0.530000000000000 -1.84000000000000 - -2.42000000000000 -4.52000000000000 -4.76000000000000 - -6.33000000000000 -6.76000000000000 -7.81000000000000 - -5.80000000000000 -5.37000000000000 -3.63000000000000 - -3.35000000000000 -1.75000000000000 -1.88000000000000 - -0.610000000000000 -0.900000000000000 9.000000000000000E-002 - -0.320000000000000 0.550000000000000 -0.130000000000000 - 0.700000000000000 -6.000000000000000E-002 0.490000000000000 - -0.200000000000000 0.400000000000000 -0.220000000000000 - 0.360000000000000 -9.000000000000000E-002 0.580000000000000 - 0.120000000000000 0.750000000000000 0.150000000000000 - 0.700000000000000 0.170000000000000 1.11000000000000 - 0.890000000000000 1.85000000000000 1.62000000000000 - 2.54000000000000 2.29000000000000 3.20000000000000 - 2.91000000000000 3.84000000000000 3.53000000000000 - 4.48000000000000 4.15000000000000 5.12000000000000 - 4.78000000000000 5.75000000000000 5.39000000000000 - 6.31000000000000 5.91000000000000 6.87000000000000 - 6.33000000000000 7.13000000000000 6.61000000000000 - 7.30000000000000 6.31000000000000 6.27000000000000 - 4.83000000000000 4.49000000000000 2.85000000000000 - 2.32000000000000 0.580000000000000 -0.110000000000000 - -0.980000000000000 0.810000000000000 1.77000000000000 - 3.37000000000000 4.13000000000000 5.60000000000000 - 6.15000000000000 7.29000000000000 7.35000000000000 - 7.95000000000000 7.67000000000000 8.16000000000000 - 7.83000000000000 8.31000000000000 8.01000000000000 - 8.53000000000000 8.27000000000000 - 0.000000000000000E+000 5.44000000000000 0.000000000000000E+000 - 2.76000000000000 0.000000000000000E+000 3.34000000000000 - 0.000000000000000E+000 2.70000000000000 0.000000000000000E+000 - 1.90000000000000 0.000000000000000E+000 2.12000000000000 - 0.000000000000000E+000 2.13000000000000 0.000000000000000E+000 - 1.54000000000000 0.000000000000000E+000 1.42000000000000 - 0.000000000000000E+000 1.51000000000000 0.000000000000000E+000 - 1.73000000000000 0.000000000000000E+000 1.44000000000000 - 0.000000000000000E+000 1.45000000000000 0.000000000000000E+000 - 1.37000000000000 0.000000000000000E+000 1.09000000000000 - 0.000000000000000E+000 1.36000000000000 0.000000000000000E+000 - 1.42000000000000 0.000000000000000E+000 1.33000000000000 - 0.000000000000000E+000 1.20000000000000 0.000000000000000E+000 - 1.00000000000000 0.000000000000000E+000 1.16000000000000 - 0.000000000000000E+000 1.28000000000000 0.000000000000000E+000 - 1.38000000000000 0.000000000000000E+000 1.38000000000000 - 0.000000000000000E+000 1.32000000000000 0.000000000000000E+000 - 1.04000000000000 0.000000000000000E+000 1.11000000000000 - 0.000000000000000E+000 1.13000000000000 0.000000000000000E+000 - 1.21000000000000 0.000000000000000E+000 1.43000000000000 - 0.000000000000000E+000 1.15000000000000 0.000000000000000E+000 - 0.990000000000000 0.000000000000000E+000 0.910000000000000 - 0.000000000000000E+000 0.920000000000000 0.000000000000000E+000 - 1.00000000000000 0.000000000000000E+000 1.11000000000000 - 0.000000000000000E+000 1.23000000000000 0.000000000000000E+000 - 0.850000000000000 0.000000000000000E+000 0.980000000000000 - 0.000000000000000E+000 0.720000000000000 0.000000000000000E+000 - 0.800000000000000 0.000000000000000E+000 0.770000000000000 - 0.000000000000000E+000 0.890000000000000 0.000000000000000E+000 - 0.920000000000000 0.000000000000000E+000 0.800000000000000 - 0.000000000000000E+000 0.810000000000000 0.000000000000000E+000 - 0.690000000000000 0.000000000000000E+000 0.700000000000000 - 0.000000000000000E+000 0.760000000000000 0.000000000000000E+000 - 0.730000000000000 0.000000000000000E+000 0.800000000000000 - 0.000000000000000E+000 0.740000000000000 0.000000000000000E+000 - 0.730000000000000 0.000000000000000E+000 0.720000000000000 - 0.000000000000000E+000 0.720000000000000 0.000000000000000E+000 - 0.720000000000000 0.000000000000000E+000 0.710000000000000 - 0.000000000000000E+000 0.690000000000000 0.000000000000000E+000 - 0.680000000000000 0.000000000000000E+000 0.660000000000000 - 0.000000000000000E+000 0.610000000000000 0.000000000000000E+000 - 0.420000000000000 0.000000000000000E+000 0.360000000000000 - 0.000000000000000E+000 0.410000000000000 0.000000000000000E+000 - 0.490000000000000 - 0.000000000000000E+000 5.98000000000000 0.000000000000000E+000 - 2.77000000000000 0.000000000000000E+000 3.16000000000000 - 0.000000000000000E+000 3.01000000000000 0.000000000000000E+000 - 1.68000000000000 0.000000000000000E+000 1.73000000000000 - 0.000000000000000E+000 2.17000000000000 0.000000000000000E+000 - 1.74000000000000 0.000000000000000E+000 1.75000000000000 - 0.000000000000000E+000 1.72000000000000 0.000000000000000E+000 - 1.63000000000000 0.000000000000000E+000 1.41000000000000 - 0.000000000000000E+000 1.29000000000000 0.000000000000000E+000 - 1.47000000000000 0.000000000000000E+000 1.32000000000000 - 0.000000000000000E+000 1.46000000000000 0.000000000000000E+000 - 1.44000000000000 0.000000000000000E+000 1.46000000000000 - 0.000000000000000E+000 1.52000000000000 0.000000000000000E+000 - 1.51000000000000 0.000000000000000E+000 1.47000000000000 - 0.000000000000000E+000 1.45000000000000 0.000000000000000E+000 - 1.28000000000000 0.000000000000000E+000 1.23000000000000 - 0.000000000000000E+000 1.27000000000000 0.000000000000000E+000 - 0.620000000000000 0.000000000000000E+000 0.760000000000000 - 0.000000000000000E+000 1.23000000000000 0.000000000000000E+000 - 1.22000000000000 0.000000000000000E+000 1.40000000000000 - 0.000000000000000E+000 1.36000000000000 0.000000000000000E+000 - 1.30000000000000 0.000000000000000E+000 1.29000000000000 - 0.000000000000000E+000 1.24000000000000 0.000000000000000E+000 - 1.28000000000000 0.000000000000000E+000 1.24000000000000 - 0.000000000000000E+000 1.20000000000000 0.000000000000000E+000 - 0.940000000000000 0.000000000000000E+000 1.00000000000000 - 0.000000000000000E+000 1.05000000000000 0.000000000000000E+000 - 0.540000000000000 0.000000000000000E+000 0.600000000000000 - 0.000000000000000E+000 0.750000000000000 0.000000000000000E+000 - 0.750000000000000 0.000000000000000E+000 0.850000000000000 - 0.000000000000000E+000 0.970000000000000 0.000000000000000E+000 - 1.02000000000000 0.000000000000000E+000 1.05000000000000 - 0.000000000000000E+000 1.06000000000000 0.000000000000000E+000 - 1.07000000000000 0.000000000000000E+000 1.06000000000000 - 0.000000000000000E+000 1.05000000000000 0.000000000000000E+000 - 1.02000000000000 0.000000000000000E+000 0.970000000000000 - 0.000000000000000E+000 0.910000000000000 0.000000000000000E+000 - 0.830000000000000 0.000000000000000E+000 0.740000000000000 - 0.000000000000000E+000 0.660000000000000 0.000000000000000E+000 - 0.610000000000000 0.000000000000000E+000 0.610000000000000 - 0.000000000000000E+000 0.900000000000000 0.000000000000000E+000 - 0.520000000000000 0.000000000000000E+000 0.810000000000000 - 0.000000000000000E+000 0.680000000000000 0.000000000000000E+000 - 0.720000000000000 0.000000000000000E+000 0.770000000000000 - 0.000000000000000E+000 0.680000000000000 0.000000000000000E+000 - 0.670000000000000 0.000000000000000E+000 0.800000000000000 - 0.000000000000000E+000 0.680000000000000 0.000000000000000E+000 - 0.640000000000000 0.000000000000000E+000 0.580000000000000 - 0.000000000000000E+000 0.550000000000000 0.000000000000000E+000 - 0.570000000000000 0.000000000000000E+000 0.570000000000000 - 0.000000000000000E+000 0.550000000000000 0.000000000000000E+000 - 0.600000000000000 0.000000000000000E+000 0.580000000000000 - 0.000000000000000E+000 0.580000000000000 0.000000000000000E+000 - 0.610000000000000 0.000000000000000E+000 0.630000000000000 - 0.000000000000000E+000 0.650000000000000 0.000000000000000E+000 - 0.660000000000000 0.000000000000000E+000 0.650000000000000 - 0.000000000000000E+000 0.650000000000000 0.000000000000000E+000 - 0.640000000000000 0.000000000000000E+000 0.640000000000000 - 0.000000000000000E+000 0.630000000000000 0.000000000000000E+000 - 0.610000000000000 0.000000000000000E+000 0.590000000000000 - 0.000000000000000E+000 0.550000000000000 0.000000000000000E+000 - 0.390000000000000 0.000000000000000E+000 0.360000000000000 - 0.000000000000000E+000 0.400000000000000 0.000000000000000E+000 - 0.400000000000000 0.000000000000000E+000 0.400000000000000 - 0.000000000000000E+000 0.400000000000000 0.000000000000000E+000 - 0.400000000000000 0.000000000000000E+000 0.400000000000000 - 0.000000000000000E+000 0.400000000000000 - 0.360000000000000 0.510000000000000 0.600000000000000 - 0.660000000000000 0.680000000000000 0.690000000000000 - 0.690000000000000 0.770000000000000 0.810000000000000 - 0.850000000000000 0.890000000000000 0.930000000000000 - 0.970000000000000 1.00000000000000 8.000000000000000E-002 - 0.000000000000000E+000 -6.000000000000000E-002 -0.100000000000000 - -0.100000000000000 -0.100000000000000 -0.100000000000000 - 1.00000000000000 1.25992104989487 1.44224957030741 - 1.58740105196820 1.70997594667670 1.81712059283214 - 1.91293118277239 2.00000000000000 2.08008382305190 - 2.15443469003188 2.22398009056932 2.28942848510666 - 2.35133468772076 2.41014226417523 2.46621207433047 - 2.51984209978975 2.57128159065824 2.62074139420890 - 2.66840164872194 2.71441761659491 2.75892417638112 - 2.80203933065539 2.84386697985157 2.88449914061482 - 2.92401773821287 2.96249606840737 3.00000000000000 - 3.03658897187566 3.07231682568585 3.10723250595386 - 3.14138065239139 3.17480210393640 3.20753432999583 - 3.23961180127748 3.27106631018859 3.30192724889463 - 3.33222185164595 3.36197540679896 3.39121144301417 - 3.41995189335339 3.44821724038273 3.47602664488645 - 3.50339806038672 3.53034833532606 3.55689330449006 - 3.58304787101595 3.60882608013869 3.63424118566428 - 3.65930571002297 3.68403149864039 3.70842976926619 - 3.73251115681725 3.75628575422107 3.77976314968462 - 3.80295246076139 3.82586236554478 3.84850113127680 - 3.87087664062780 3.89299641587326 3.91486764116886 - 3.93649718310217 3.95789160968041 3.97905720789639 - 4.00000000000000 4.02072575858906 4.04124002062219 - 4.06154810044568 4.08165510191735 4.10156592970235 - 4.12128529980856 4.14081774942285 4.16016764610381 - 4.17933919638123 4.19833645380841 4.21716332650875 - 4.23582358425489 4.25432086511501 4.27265868169792 - 4.29084042702621 4.30886938006377 4.32674871092222 - 4.34448148576861 4.36207067145484 4.37951913988789 - 4.39682967215818 4.41400496244210 4.43104762169363 - 4.44796018113863 4.46474509558454 4.48140474655716 - 4.49794144527541 4.51435743547400 4.53065489608349 - 4.54683594377634 4.56290263538697 4.57885697021333 - 4.59470089220704 4.61043629205845 4.62606500918274 - 4.64158883361278 4.65700950780383 4.67232872835526 - 4.68754814765360 4.70266937544151 4.71769398031653 - 4.73262349116337 4.74745939852340 4.76220315590460 - 4.77685618103502 4.79141985706278 4.80589553370533 - 4.82028452835046 4.83458812711164 4.84880758583988 - 4.86294413109428 4.87699896107331 4.89097324650875 - 4.90486813152402 4.91868473445873 4.93242414866094 - 4.94608744324870 4.95967566384230 4.97318983326859 - 4.98663095223865 5.00000000000000 5.01329793496458 - 5.02652569531348 5.03968419957949 5.05277434720856 - 5.06579701910089 5.07875307813270 5.09164336965949 - 5.10446872200146 5.11722994691205 5.12992784003009 - 5.14256318131647 5.15513673547577 5.16764925236362 - 5.18010146738029 5.19249410185110 5.20482786339420 - 5.21710344627617 5.22932153175598 5.24148278841779 - 5.25358787249290 5.26563742817144 5.27763208790408 - 5.28957247269421 5.30145919238090 5.31329284591305 - 5.32507402161499 5.33680329744389 5.34848124123936 - 5.36010841096536 5.37168535494483 5.38321261208728 - 5.39469071210959 5.40612017575022 5.41750151497718 - 5.42883523318981 5.44012182541480 5.45136177849642 - 5.46255557128140 5.47370367479843 5.48480655243262 - 5.49586466009501 5.50687844638735 5.51784835276224 - 5.52877481367887 5.53965825675446 5.55049910291155 - 5.56129776652123 5.57205465554262 5.58277017165842 - 5.59344471040698 5.60407866131077 5.61467240800149 - 5.62522632834186 5.63574079454424 5.64621617328617 - 5.65665282582291 5.66705110809706 5.67741137084543 - 5.68773395970313 5.69801921530506 5.70826747338486 - 5.71847906487132 5.72865431598244 5.73879354831717 - 5.74889707894483 5.75896522049240 5.76899828122963 - 5.77899656515213 5.78896037206240 5.79888999764900 - 5.80878573356370 5.81864786749696 5.82847668325146 - 5.83827246081400 5.84803547642573 5.85776600265065 - 5.86746430844261 5.87713065921074 5.88676531688334 - 5.89636853997037 5.90594058362449 5.91548169970072 - 5.92499213681474 5.93447214039994 5.94392195276313 - 5.95334181313905 5.96273195774369 5.97209261982640 - 5.98142402972088 5.99072641489509 6.00000000000000 - 6.00924500691737 6.01846165480645 6.02765016014974 - 6.03681073679769 6.04594359601251 6.05504894651110 - 6.06412699450696 6.07317794375132 6.08220199557340 - 6.09119934891978 6.10017020039306 6.10911474428961 - 6.11803317263662 6.12692567522842 6.13579243966196 - 6.14463365137169 6.15344949366368 6.16224014774904 - 6.17100579277672 6.17974660586564 6.18846276213620 - 6.19715443474113 6.20582179489575 6.21446501190772 - 6.22308425320606 6.23167968436975 6.24025146915571 - 6.24879976952624 6.25732474567597 6.26582655605827 - 6.27430535741117 6.28276130478279 6.29119455155629 - 6.29960524947437 6.30799354866327 6.31635959765638 - 6.32470354341737 6.33302553136292 6.34132570538500 - 6.34960420787280 6.35786117973420 6.36609676041689 - 6.37431108792909 6.38250429885991 6.39067652839931 - 6.39882791035777 6.40695857718556 6.41506865999165 - 6.42315828856237 6.43122759137962 6.43927669563891 - 6.44730572726691 6.45531481093889 6.46330407009565 - 6.47127362696036 6.47922360255497 6.48715411671635 - 6.49506528811226 6.50295723425693 6.51083007152643 - 6.51868391517377 6.52651887934375 6.53433507708757 - 6.54213262037718 6.54991162011937 6.55767218616971 - 6.56541442734614 6.57313845144243 6.58084436524139 - 6.58853227452786 6.59620228410148 6.60385449778925 - 6.61148901845794 6.61910594802623 6.62670538747667 - 6.63428743686750 6.64185219534421 6.64939976115097 - 6.65693023164187 -5.563810000000000E-067 34426700.0000000 - 2.69000000000000 2.29184000000000 2.09819000000000 - 1.97582000000000 1.88867000000000 1.82212000000000 - 1.76892000000000 1.72500000000000 1.68785000000000 - 1.65583000000000 1.62781000000000 1.60300000000000 - 1.58081000000000 1.56078000000000 1.54258000000000 - 1.52592000000000 1.51060000000000 1.49643000000000 - 1.48328000000000 1.47102000000000 1.45955000000000 - 1.44878000000000 1.43865000000000 1.42909000000000 - 1.42005000000000 1.41148000000000 1.40333000000000 - 1.39558000000000 1.38819000000000 1.38113000000000 - 1.37438000000000 1.36791000000000 1.36171000000000 - 1.35575000000000 1.35002000000000 1.34451000000000 - 1.33919000000000 1.33407000000000 1.32912000000000 - 1.32434000000000 1.31971000000000 1.31523000000000 - 1.31089000000000 1.30669000000000 1.30261000000000 - 1.29865000000000 1.29480000000000 1.29106000000000 - 1.28742000000000 1.28388000000000 1.28044000000000 - 1.27708000000000 1.27380000000000 1.27061000000000 - 1.26750000000000 1.26446000000000 1.26149000000000 - 1.25859000000000 1.25576000000000 1.25299000000000 - 1.25028000000000 1.24763000000000 1.24504000000000 - 1.24250000000000 1.24001000000000 1.23758000000000 - 1.23519000000000 1.23285000000000 1.23055000000000 - 1.22830000000000 1.22609000000000 1.22392000000000 - 1.22180000000000 1.21971000000000 1.21765000000000 - 1.21564000000000 1.21366000000000 1.21171000000000 - 1.20979000000000 1.20791000000000 1.20606000000000 - 1.20424000000000 1.20245000000000 1.20069000000000 - 1.19895000000000 1.19724000000000 1.19556000000000 - 1.19391000000000 1.19228000000000 1.19067000000000 - 1.18909000000000 1.18752000000000 1.18599000000000 - 1.18447000000000 1.18298000000000 1.18150000000000 - 1.18005000000000 1.17861000000000 1.17720000000000 - 1.17581000000000 1.17443000000000 1.17307000000000 - 1.17173000000000 1.17040000000000 1.16910000000000 - 1.16781000000000 1.16653000000000 1.16527000000000 - 1.16403000000000 1.16280000000000 1.16159000000000 - 1.16039000000000 1.15921000000000 1.15804000000000 - 1.15688000000000 1.15574000000000 1.15460000000000 - 1.15349000000000 1.15238000000000 1.15129000000000 - 1.15021000000000 1.14914000000000 1.14808000000000 - 1.14703000000000 1.14600000000000 1.14498000000000 - 1.14396000000000 1.14296000000000 1.14197000000000 - 1.14099000000000 1.14001000000000 1.13905000000000 - 1.13810000000000 1.13716000000000 1.13622000000000 - 1.13530000000000 1.13438000000000 1.13348000000000 - 1.13258000000000 1.13169000000000 1.13081000000000 - 1.12994000000000 1.12907000000000 1.12822000000000 - 1.12737000000000 1.12653000000000 1.12569000000000 - 1.12487000000000 1.12405000000000 1.12324000000000 - 1.12244000000000 1.12164000000000 1.12085000000000 - 1.12007000000000 1.11929000000000 1.11852000000000 - 1.11776000000000 1.11700000000000 1.11625000000000 - 1.11551000000000 1.11477000000000 1.11404000000000 - 1.11331000000000 1.11259000000000 1.11188000000000 - 1.11117000000000 1.11047000000000 1.10977000000000 - 1.10908000000000 1.10840000000000 1.10772000000000 - 1.10704000000000 1.10637000000000 1.10571000000000 - 1.10505000000000 1.10439000000000 1.10374000000000 - 1.10310000000000 1.10246000000000 1.10182000000000 - 1.10119000000000 1.10056000000000 1.09994000000000 - 1.09933000000000 1.09871000000000 1.09811000000000 - 1.09750000000000 1.09690000000000 1.09631000000000 - 1.09572000000000 1.09513000000000 1.09455000000000 - 1.09397000000000 1.09339000000000 1.09282000000000 - 1.09225000000000 1.09169000000000 1.09113000000000 - 1.09058000000000 1.09002000000000 1.08948000000000 - 1.08893000000000 1.08839000000000 1.08785000000000 - 1.08732000000000 1.08679000000000 1.08626000000000 - 1.08574000000000 1.08522000000000 1.08470000000000 - 1.08419000000000 1.08368000000000 1.08317000000000 - 1.08267000000000 1.08216000000000 1.08167000000000 - 1.08117000000000 1.08068000000000 1.08019000000000 - 1.07970000000000 1.07922000000000 1.07874000000000 - 1.07826000000000 1.07779000000000 1.07732000000000 - 1.07685000000000 1.07638000000000 1.07592000000000 - 1.07546000000000 1.07500000000000 1.07455000000000 - 1.07409000000000 1.07364000000000 1.07320000000000 - 1.07275000000000 1.07231000000000 1.07187000000000 - 1.07143000000000 1.07100000000000 1.07057000000000 - 1.07014000000000 1.06971000000000 1.06928000000000 - 1.06886000000000 1.06844000000000 1.06802000000000 - 1.06760000000000 1.06719000000000 1.06678000000000 - 1.06637000000000 1.06596000000000 1.06556000000000 - 1.06515000000000 1.06475000000000 1.06435000000000 - 1.06396000000000 1.06356000000000 1.06317000000000 - 1.06278000000000 1.06239000000000 1.06200000000000 - 1.06162000000000 1.06123000000000 1.06085000000000 - 1.06047000000000 1.06010000000000 1.05972000000000 - 1.05935000000000 1.05898000000000 1.05861000000000 - 1.05824000000000 1.05787000000000 1.05751000000000 - 1.05715000000000 1.05679000000000 1.05643000000000 - 1.05607000000000 1.05572000000000 1.05536000000000 - 1.05501000000000 1.05466000000000 1.05431000000000 - 1.05396000000000 1.05362000000000 1.05328000000000 - 1.05293000000000 1.05259000000000 1.05225000000000 - 1.05192000000000 1.05158000000000 1.05125000000000 - 1.05091000000000 1.05058000000000 1.05025000000000 - 1.04992000000000 3.984620000000000E+028 2.171050000000000E-056 - 0.598513000000000 0.434469000000000 0.356520000000000 - 0.308110000000000 0.274114000000000 0.248467000000000 - 0.228183000000000 0.211594000000000 0.197684000000000 - 0.185790000000000 0.175462000000000 0.166378000000000 - 0.158303000000000 0.151061000000000 0.144516000000000 - 0.138561000000000 0.133111000000000 0.128098000000000 - 0.123466000000000 0.119167000000000 0.115163000000000 - 0.111422000000000 0.107915000000000 0.104620000000000 - 0.101514000000000 9.858040000000000E-002 9.580360000000000E-002 - 9.317000000000000E-002 9.066740000000000E-002 8.828530000000000E-002 - 8.601399999999999E-002 8.384519999999999E-002 8.177130000000001E-002 - 7.978550000000000E-002 7.788170000000000E-002 7.605430000000001E-002 - 7.429810000000001E-002 7.260890000000000E-002 7.098230000000000E-002 - 6.941440000000000E-002 6.790180000000000E-002 6.644140000000000E-002 - 6.503000000000000E-002 6.366510000000000E-002 6.234400000000000E-002 - 6.106450000000000E-002 5.982440000000000E-002 5.862170000000000E-002 - 5.745460000000000E-002 5.632120000000000E-002 5.522010000000000E-002 - 5.414960000000000E-002 5.310830000000000E-002 5.209510000000000E-002 - 5.110850000000000E-002 5.014740000000000E-002 4.921080000000000E-002 - 4.829760000000000E-002 4.740690000000000E-002 4.653770000000000E-002 - 4.568910000000000E-002 4.486040000000000E-002 4.405080000000000E-002 - 4.325960000000000E-002 4.248600000000000E-002 4.172940000000000E-002 - 4.098920000000000E-002 4.026480000000000E-002 3.955570000000000E-002 - 3.886130000000000E-002 3.818110000000000E-002 3.751460000000000E-002 - 3.686140000000000E-002 3.622100000000000E-002 3.559300000000000E-002 - 3.497700000000000E-002 3.437260000000000E-002 3.377950000000000E-002 - 3.319730000000000E-002 3.262570000000000E-002 3.206440000000000E-002 - 3.151300000000000E-002 3.097130000000000E-002 3.043890000000000E-002 - 2.991570000000000E-002 2.940130000000000E-002 2.889550000000000E-002 - 2.839810000000000E-002 2.790880000000000E-002 2.742750000000000E-002 - 2.695380000000000E-002 2.648760000000000E-002 2.602880000000000E-002 - 2.557700000000000E-002 2.513210000000000E-002 2.469400000000000E-002 - 2.426250000000000E-002 2.383740000000000E-002 2.341860000000000E-002 - 2.300580000000000E-002 2.259900000000000E-002 2.219800000000000E-002 - 2.180270000000000E-002 2.141300000000000E-002 2.102860000000000E-002 - 2.064950000000000E-002 2.027560000000000E-002 1.990680000000000E-002 - 1.954280000000000E-002 1.918370000000000E-002 1.882930000000000E-002 - 1.847950000000000E-002 1.813430000000000E-002 1.779340000000000E-002 - 1.745690000000000E-002 1.712460000000000E-002 1.679650000000000E-002 - 1.647240000000000E-002 1.615230000000000E-002 1.583610000000000E-002 - 1.552360000000000E-002 1.521500000000000E-002 1.491000000000000E-002 - 1.460850000000000E-002 1.431070000000000E-002 1.401620000000000E-002 - 1.372510000000000E-002 1.343740000000000E-002 1.315290000000000E-002 - 1.287160000000000E-002 1.259350000000000E-002 1.231840000000000E-002 - 1.204630000000000E-002 1.177720000000000E-002 1.151100000000000E-002 - 1.124770000000000E-002 1.098720000000000E-002 1.072940000000000E-002 - 1.047440000000000E-002 1.022200000000000E-002 9.972200000000001E-003 - 9.724999999999999E-003 9.480400000000000E-003 9.238200000000000E-003 - 8.998400000000000E-003 8.761100000000001E-003 8.526100000000000E-003 - 8.293399999999999E-003 8.063000000000001E-003 7.834900000000001E-003 - 7.608900000000000E-003 7.385200000000000E-003 7.163600000000000E-003 - 6.944000000000000E-003 6.726600000000000E-003 6.511200000000000E-003 - 6.297800000000000E-003 6.086400000000000E-003 5.876900000000000E-003 - 5.669300000000000E-003 5.463600000000000E-003 5.259800000000000E-003 - 5.057800000000000E-003 4.857600000000000E-003 4.659200000000000E-003 - 4.462500000000000E-003 4.267600000000000E-003 4.074300000000000E-003 - 3.882800000000000E-003 3.692800000000000E-003 3.504500000000000E-003 - 3.317800000000000E-003 3.132700000000000E-003 2.949200000000000E-003 - 2.767100000000000E-003 2.586600000000000E-003 2.407600000000000E-003 - 2.230100000000000E-003 2.054000000000000E-003 1.879300000000000E-003 - 1.706100000000000E-003 1.534200000000000E-003 1.363700000000000E-003 - 1.194600000000000E-003 1.026800000000000E-003 8.603000000000000E-004 - 6.952000000000000E-004 5.313000000000000E-004 3.687000000000000E-004 - 2.074000000000000E-004 4.730000000000000E-005 -1.116000000000000E-004 - -2.693000000000000E-004 -4.258000000000000E-004 -5.811000000000000E-004 - -7.353000000000000E-004 -8.883000000000000E-004 -1.040200000000000E-003 - -1.190900000000000E-003 -1.340600000000000E-003 -1.489200000000000E-003 - -1.636700000000000E-003 -1.783100000000000E-003 -1.928500000000000E-003 - -2.072800000000000E-003 -2.216100000000000E-003 -2.358400000000000E-003 - -2.499700000000000E-003 -2.640000000000000E-003 -2.779300000000000E-003 - -2.917600000000000E-003 -3.055000000000000E-003 -3.191500000000000E-003 - -3.327000000000000E-003 -3.461600000000000E-003 -3.595300000000000E-003 - -3.728000000000000E-003 -3.859900000000000E-003 -3.990900000000000E-003 - -4.121000000000000E-003 -4.250300000000000E-003 -4.378700000000000E-003 - -4.506300000000000E-003 -4.633000000000000E-003 -4.758900000000000E-003 - -4.884000000000000E-003 -5.008300000000000E-003 -5.131700000000000E-003 - -5.254400000000000E-003 -5.376300000000000E-003 -5.497500000000000E-003 - -5.617800000000000E-003 -5.737400000000000E-003 -5.856300000000000E-003 - -5.974400000000000E-003 -6.091800000000000E-003 -6.208400000000000E-003 - -6.324400000000000E-003 -6.439600000000000E-003 -6.554100000000000E-003 - -6.667900000000000E-003 -6.781100000000000E-003 -6.893500000000000E-003 - -7.005300000000000E-003 -7.116400000000000E-003 -7.226800000000000E-003 - -7.336600000000000E-003 -7.445700000000000E-003 -7.554200000000000E-003 - -7.662100000000000E-003 -7.769300000000000E-003 -7.875900000000000E-003 - -7.981900000000000E-003 -8.087300000000000E-003 -8.192000000000000E-003 - -8.296200000000000E-003 -8.399800000000001E-003 -8.502700000000000E-003 - -8.605099999999999E-003 -8.706900000000000E-003 -8.808200000000000E-003 - -8.908900000000001E-003 -9.009000000000000E-003 -9.108500000000000E-003 - -9.207500000000000E-003 -9.306000000000000E-003 -9.403900000000000E-003 - -9.501300000000001E-003 -9.598100000000000E-003 -9.694500000000000E-003 - -9.790300000000000E-003 -9.885500000000000E-003 -9.980299999999999E-003 - -1.007460000000000E-002 -1.016830000000000E-002 -1.026160000000000E-002 - -1.035440000000000E-002 -1.044660000000000E-002 -1.053840000000000E-002 - -1.062970000000000E-002 -1.072060000000000E-002 -1.081090000000000E-002 - -1.090080000000000E-002 -1.099020000000000E-002 -1.107920000000000E-002 - -1.116770000000000E-002 -1.125580000000000E-002 -1.134340000000000E-002 - -1.143050000000000E-002 -1.151730000000000E-002 -1.160350000000000E-002 - -1.168940000000000E-002 -1.177480000000000E-002 -1.185980000000000E-002 - -1.194440000000000E-002 5.078110000000000E+017 -9.816000000000000E-054 - 0.000000000000000E+000 1.00000000000000 1.00000000000000 - 1.00000000000000 1.00000000000000 2.00000000000000 - 2.00000000000000 2.00000000000000 3.00000000000000 - 3.00000000000000 3.00000000000000 4.00000000000000 - 4.00000000000000 4.00000000000000 5.00000000000000 - 5.00000000000000 5.00000000000000 6.00000000000000 - 6.00000000000000 7.00000000000000 7.00000000000000 - 8.00000000000000 8.00000000000000 9.00000000000000 - 9.00000000000000 10.0000000000000 10.0000000000000 - 11.0000000000000 11.0000000000000 11.0000000000000 - 11.0000000000000 11.0000000000000 12.0000000000000 - 13.0000000000000 13.0000000000000 14.0000000000000 - 14.0000000000000 15.0000000000000 15.0000000000000 - 16.0000000000000 16.0000000000000 17.0000000000000 - 17.0000000000000 18.0000000000000 18.0000000000000 - 18.0000000000000 19.0000000000000 19.0000000000000 - 20.0000000000000 20.0000000000000 21.0000000000000 - 21.0000000000000 22.0000000000000 22.0000000000000 - 23.0000000000000 23.0000000000000 24.0000000000000 - 24.0000000000000 25.0000000000000 25.0000000000000 - 26.0000000000000 26.0000000000000 27.0000000000000 - 27.0000000000000 28.0000000000000 28.0000000000000 - 28.0000000000000 29.0000000000000 29.0000000000000 - 29.0000000000000 30.0000000000000 30.0000000000000 - 30.0000000000000 30.0000000000000 30.0000000000000 - 30.0000000000000 30.0000000000000 30.0000000000000 - 31.0000000000000 31.0000000000000 32.0000000000000 - 32.0000000000000 33.0000000000000 33.0000000000000 - 34.0000000000000 34.0000000000000 35.0000000000000 - 35.0000000000000 36.0000000000000 36.0000000000000 - 36.0000000000000 36.0000000000000 36.0000000000000 - 37.0000000000000 37.0000000000000 37.0000000000000 - 38.0000000000000 38.0000000000000 39.0000000000000 - 40.0000000000000 40.0000000000000 41.0000000000000 - 41.0000000000000 42.0000000000000 42.0000000000000 - 43.0000000000000 43.0000000000000 44.0000000000000 - 44.0000000000000 45.0000000000000 45.0000000000000 - 46.0000000000000 46.0000000000000 47.0000000000000 - 47.0000000000000 47.0000000000000 47.0000000000000 - 48.0000000000000 48.0000000000000 48.0000000000000 - 49.0000000000000 49.0000000000000 49.0000000000000 - 49.0000000000000 49.0000000000000 49.0000000000000 - 49.0000000000000 49.0000000000000 49.0000000000000 - 49.0000000000000 50.0000000000000 50.0000000000000 - 51.0000000000000 51.0000000000000 52.0000000000000 - 52.0000000000000 53.0000000000000 53.0000000000000 - 54.0000000000000 54.0000000000000 54.0000000000000 - 54.0000000000000 55.0000000000000 55.0000000000000 - 55.0000000000000 56.0000000000000 57.0000000000000 - 58.0000000000000 58.0000000000000 59.0000000000000 - 59.0000000000000 60.0000000000000 60.0000000000000 - 61.0000000000000 61.0000000000000 62.0000000000000 - 62.0000000000000 63.0000000000000 63.0000000000000 - 63.0000000000000 64.0000000000000 64.0000000000000 - 65.0000000000000 65.0000000000000 66.0000000000000 - 66.0000000000000 67.0000000000000 67.0000000000000 - 67.0000000000000 67.0000000000000 68.0000000000000 - 68.0000000000000 68.0000000000000 69.0000000000000 - 69.0000000000000 69.0000000000000 70.0000000000000 - 70.0000000000000 71.0000000000000 71.0000000000000 - 72.0000000000000 72.0000000000000 72.0000000000000 - 72.0000000000000 73.0000000000000 73.0000000000000 - 74.0000000000000 74.0000000000000 74.0000000000000 - 74.0000000000000 75.0000000000000 76.0000000000000 - 76.0000000000000 76.0000000000000 76.0000000000000 - 77.0000000000000 77.0000000000000 77.0000000000000 - 78.0000000000000 78.0000000000000 78.0000000000000 - 79.0000000000000 79.0000000000000 79.0000000000000 - 80.0000000000000 80.0000000000000 81.0000000000000 - 81.0000000000000 81.0000000000000 81.0000000000000 - 82.0000000000000 82.0000000000000 82.0000000000000 - 82.0000000000000 83.0000000000000 83.0000000000000 - 84.0000000000000 84.0000000000000 85.0000000000000 - 85.0000000000000 86.0000000000000 86.0000000000000 - 87.0000000000000 87.0000000000000 87.0000000000000 - 87.0000000000000 87.0000000000000 88.0000000000000 - 88.0000000000000 88.0000000000000 89.0000000000000 - 89.0000000000000 90.0000000000000 90.0000000000000 - 90.0000000000000 91.0000000000000 91.0000000000000 - 91.0000000000000 92.0000000000000 92.0000000000000 - 93.0000000000000 93.0000000000000 94.0000000000000 - 94.0000000000000 94.0000000000000 94.0000000000000 - 95.0000000000000 95.0000000000000 96.0000000000000 - 96.0000000000000 8.07131000000004 13.1357354599999 - 14.9497831614761 25.9197974264349 33.7897359197236 - 17.5968624734944 26.1107959337053 31.6087529649761 - 24.9546049697993 33.8297356071101 40.9396800400558 - 25.0298043820859 34.8997272446982 40.9696798055956 - 29.5297692130642 37.9997030171499 45.2696461996415 - 25.3698017248709 34.4297309179072 22.1998264994929 - 26.9497893766366 9.48992583244087 17.9498597146800 - 8.64993239732492 12.8398996510580 -0.189998515085750 - 6.66994787169448 -1.12999116866788 2.65997921120050 - 8.37993450746622 10.6099170792621 16.4098717503008 - 4.12996772265340 -4.14996756634664 -0.839993435115946 - -12.6699009796655 -7.00994521447950 -14.5598862086764 - -12.2999038713406 -22.2398261868793 -18.0998585423793 - -24.4198091494421 -23.1398191530750 -32.2707477912223 - -29.7297676499965 -29.7297676499965 -35.6977210080584 - -32.2197481898045 -41.2856773359488 -39.5716907314384 - -43.2196622210848 -40.1396862923263 -46.8896335387937 - -45.3296457307212 -49.0096169702768 -46.2096388532237 - -52.7895874282986 -52.0495932116488 -55.4775664206696 - -52.9495861778445 -59.0095388168952 -58.9295394421223 - -61.8495166213348 -59.7905327131161 -65.1239910300100 - -66.0204840235594 -63.4695039604870 -65.3894889550377 - -65.9394846566018 -63.3895045857141 -67.3234738401737 - -68.1334675097498 -65.0294917685595 -65.6694867667431 - -62.4595118539786 -62.5495111505981 -58.9095395984290 - -58.0795460851597 -62.8095091186102 -59.5295347529194 - -66.3394815304665 -65.7894858289025 -69.9494533170957 - -66.1594829372274 -72.5694328409098 -70.8594462051380 - -74.2094200237552 -71.0894444076102 -76.7893998601827 - -75.1794124428772 -71.7694390931803 -69.1494595693663 - -64.9194926282467 -69.4594571466114 -66.5494798892455 - -62.7695094312237 -69.0794601164399 -67.3794734025148 - -71.4994412033216 -76.5994013450970 -73.0494290895475 - -76.3594032207781 -75.4094106453494 -80.4993708652782 - -77.1393971248144 -80.0293745384871 -79.5093786024629 - -83.8193449183555 -80.8093684425233 -82.9293518740064 - -82.5293550001417 -86.3253253331180 -83.6393463251163 - -85.1593344458023 -84.9093363996369 -82.6193542967613 - -82.2393572665898 -86.7063223554742 -84.2293417140668 - -83.9803436600860 -85.8413291157417 -83.5993466377299 - -83.4393478881840 -81.0993661760753 -80.4993708652782 - -77.8993911851574 -77.1693968903542 -74.3394190077612 - -73.1194285424738 -70.0794523011018 -77.4793944675994 - -76.3894029863180 -78.9793827445922 -73.8694226809702 - -77.5993935297588 -74.8294151782455 -76.7194004072564 - -71.7294394057938 -75.7494079881344 -73.1794280735535 - -68.9994607416670 -66.0494837969146 -68.3594657434834 - -63.9295003654315 -61.7195176373288 -65.5594876264303 - -67.5394721520607 -70.7094473774387 -67.4694726991344 - -68.6794632425752 -67.4394729335945 -70.1454517852895 - -67.3594735588216 -68.4494650401030 -67.0994755908095 - -69.3674578656226 -66.8594774664907 -67.2394744966622 - -65.9294847347552 -63.5395034134133 -65.5064880406432 - -64.3594970048361 -64.6794945039279 -62.1095145893469 - -63.6105028585243 -62.5825108926920 -62.3155129793873 - -60.2695289695691 -58.7925405128236 -56.0995615595293 - -57.7135489455735 -56.4905585037320 -53.7295800818807 - -53.8495791440401 -52.2895913359676 -49.5896124373807 - -50.9856015271686 -49.6596118903070 -49.1096161887430 - -46.6796351800147 -47.4026295295252 -45.9896405725980 - -43.2686618381332 -41.4796758197731 -41.3596767576137 - -38.5996983279470 -39.8926882227148 -38.6566978824728 - -35.4697227899555 -34.2197325591282 -34.3427315978416 - -35.8747196247435 -33.3867390693049 -32.4167466501829 - -29.6897679626100 -29.4397699164446 -28.4297778099361 - -25.5198005525702 -27.4197857034277 -26.5997921120050 - -23.7398144638721 -23.8598135260315 -22.9798204035291 - -20.1998421301692 -22.2988257257744 -20.9548362295889 - -21.0408355574698 -16.7678689524097 -13.6498933206341 - -9.25092770030669 -10.4918180022536 -7.56194090041284 - -3.13997545983818 -0.185298551817839 1.70998663577175 - 5.96995334243119 5.95995342058457 8.35453470597581 - 10.5299177044892 14.1998890221981 14.3798876154373 - 16.3698720629143 18.3821563361094 21.7098303290086 - 23.7898140731052 27.4597853908141 29.5797688222972 - 28.9407738162983 32.7197442821354 34.5597299019132 - 35.9097193512067 39.1496940295111 38.7319972939778 - 40.6116826034867 44.1496549528203 45.5396440895002 - 47.6396276772901 51.2695993076126 50.5718047611555 - 52.7115880378949 54.3095755489846 57.5195504617491 - 57.7520486446830 59.8025326193320 63.1565064066879 - 65.2894897365716 67.1294753563494 70.4894490968131 - 70.7474470804559 72.9854295897291 7.28897545999993 - 0.000000000000000E+000 14.9311833068413 2.42492104827388 - 11.3899109832984 14.0871899029867 14.9080834873757 - 20.9467362928931 11.3479113115426 12.6075014673426 - 20.1758423177373 13.3693955128365 16.5618705623694 - 23.6568151125452 9.87312283760328 13.6928929845746 - 21.0598354089784 13.2738962592013 15.5998780807247 - 3.79897030953033 8.11993653945414 2.82597791385436 - 3.34997381861717 -5.94895350655329 -2.14998319702296 - -6.88794616795076 -5.62995599964616 -15.0162826417561 - -10.7499159851148 -9.78992348783942 -3.89996952018118 - -2.88997741367272 -9.36992677028145 -20.2498417394023 - -15.0398824573141 -20.7698376754264 -19.0098514304216 - -26.8617900643864 -22.9998202472223 -27.5397847655871 - -27.3997858597344 -34.4197309960606 -31.9797500654857 - -35.8067201561865 -36.6107138726546 -35.4197231807224 - -42.3425690759179 -44.2156544370079 -46.5546361569320 - -44.5386519126537 -49.7326113197873 -49.4686133830366 - -51.8625946731170 -49.9296097801657 -55.1058693256308 - -55.2645680853366 -57.4865507196552 -56.2095606998421 - -60.6609259106458 -61.4365198490695 -62.8965084386758 - -61.5035193254418 -65.5120879968773 -67.0973756072217 - -67.2609743286324 -66.2561821814842 -67.3044739886652 - -70.0057528770922 -68.4164652980092 -69.5593563658592 - -70.1409518204585 -68.5904639381403 -69.7294550364701 - -68.0194684006984 -68.5594641804158 -66.4394807489327 - -66.4094809833928 -63.6795023192660 -69.5694562869243 - -69.4294573810716 -72.6394322938361 -70.1894514414146 - -75.4094106453494 -75.9414064875895 -78.6693851673470 - -75.9594063469134 -80.7063692475032 -79.6883772035174 - -81.7163613540116 -79.5693781335427 -77.9693906380837 - -75.1194129117975 -72.9194301055414 -78.9593829008989 - -75.1394127554907 -73.0694289332407 -76.2794038460052 - -73.1894279954001 -77.8893912633108 -79.9593750855608 - -78.9493829790523 -83.5613469347127 -80.6093700055910 - -82.6993536715342 -82.5393549219883 -86.3323252784107 - -83.7093457780427 -85.0193355399497 -85.1093348365692 - -88.3343096321037 -86.0293276464581 -86.6193230354086 - -87.0393197529666 -90.0188964663850 -88.0923115234155 - -88.7169066419553 -86.4153246297376 -87.4493165486780 - -87.7293143603833 -85.6993302255197 -89.2011028577686 - -89.9452970415939 -87.8203136491875 -88.2393103745608 - -85.9013286468214 -86.0233276933502 -83.5993466377299 - -83.4393478881840 -80.6393697711308 -80.3793718031187 - -82.0993583607371 -79.6093778209291 -82.9293518740064 - -82.6693539059944 -83.7953451059236 -79.4293792276900 - -82.2143574619732 -80.0293745384871 -80.6293698492842 - -77.2393963432806 -74.9994138496380 -70.9494455017576 - -74.0094215868228 -72.0294370611924 -67.8194699637660 - -69.4594571466114 -72.2394354199714 -72.5094333098301 - -71.3694422193156 -73.6814241502537 -70.9444455408343 - -71.2894428445426 -70.7594469866718 -72.4534337474890 - -70.1954513945226 -70.0824522776558 -69.4644571075348 - -70.6904475259302 -68.5614641647851 -67.9424690024794 - -67.4654727303957 -65.7594860633626 -66.3814812022223 - -65.9664844455876 -64.8954928158148 -63.0665071100683 - -63.2855053985092 -62.9845077509260 -60.9165239130453 - -60.1035302669153 -59.2045372929043 -57.3795515558964 - -56.2255605747967 -56.9395549946452 -54.6905725713407 - -53.4895819575619 -52.3815906169565 -50.2996068884906 - -50.4616056224058 -49.7786109602818 -48.4246215422496 - -46.4166372354487 -45.2786461293035 -42.8206653394047 - -43.3696610487840 -42.4976678637589 -41.2046779689911 - -39.0056951549197 -37.9697032516101 -35.5197223991886 - -36.3877156154751 -34.8257278230333 -34.5187302223421 - -32.5137458920951 -31.6917523163031 -32.6517448135784 - -30.4307621714445 -29.9207661572669 -29.1037725423982 - -27.2997866412682 -26.3997936750726 -27.3557862036093 - -25.2768024516973 -24.7028069377014 -23.8368137057843 - -22.2688259602345 -22.4628244440589 -21.7588299460570 - -17.6238622624803 -14.7378848175462 -11.8649072710127 - -8.13493642222407 -5.24295902418203 -1.20899055125617 - -0.540495775809725 1.76898617466680 4.38196575318818 - 8.09893670357625 8.83063098509331 10.5989171652308 - 13.2648963295393 16.3378723130052 17.2346653042099 - 18.8128529700432 21.9871281618153 23.6655150445517 - 27.1847875400321 28.8947741758039 30.7197599128117 - 33.7597361541837 33.8119357462231 35.4469229681452 - 37.4868070256369 40.3486846589206 42.3196692548891 - 42.4416683014178 45.3883452719609 47.3066302797977 - 49.3060146538106 52.2095919611947 52.9525861543984 - 54.7145723837726 57.1696531963359 59.8781320284925 - 61.8968162516693 64.9194926282467 65.5294878608904 - 67.3884733321768 69.8474541142602 72.9494298710813 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 25.1298036005521 11.6799087168503 18.3748563931613 - 15.7699767513357 4.94172137847450 12.4160029639799 - 12.0516058118891 8.66783225743037 0.000000000000000E+000 - 3.12500557683379 3.01989639830399 0.101509206665023 - 5.68155559637471 7.86993849328868 -0.783023880355761 - 3.33137396398246 -1.709986635771748E-002 -4.699963267910651E-002 - -8.02603727331440 -5.15505971115025 -8.41743421439104 - -9.35692687188084 -16.2122732946116 -14.5848860132929 - -16.8480683256196 -18.2118576670614 -15.8898758142766 - -15.0998819883938 -11.2899117648322 -20.5698392384941 - -24.5498081334482 -24.9398050854663 -30.6656603356215 - -26.9077897048808 -29.7977671185535 -29.8027670794768 - -35.0399261489878 -33.0674415647424 -35.0225262849747 - -36.5877140524074 -41.4656759291879 -40.8092810591759 - -43.1378628603794 -44.3301535421517 -44.4976522330826 - -48.5583204973389 -51.4316980407462 -52.1986920463819 - -51.4384979876019 -55.2832679391898 -56.9308550626386 - -57.7095489768348 -56.9083552384838 -60.1785296807649 - -62.1513142626658 -62.2259136796416 -61.6461182109746 - -64.2185981060172 -66.7448783621284 -65.5779874818465 - -65.4224886971316 -65.9090848941880 -68.8977615364869 - -67.8790694979719 -67.0846757064765 -69.3209582290358 - -68.9046614825611 -69.9052536625337 -72.5820327424365 - -71.2929428171889 -73.4215261814601 -71.8555384202797 - -73.2129278117397 -71.2137434361637 -71.7594391713337 - -73.7194238532709 -72.0594368267322 -76.3904029785027 - -77.5853936391736 -79.0243823929020 -77.7583922871201 - -81.4711632703325 -83.2623492714988 -84.5950388559977 - -82.6013544374374 -86.2023262944046 -85.9340283912599 - -83.6653461219176 -82.8913521709893 -80.2793725846526 - -82.3813561568117 -81.2323651366353 -78.4293870430282 - -82.9535516848753 -81.2913646755303 -82.3453564381639 - -86.1883264038194 -83.5153472942183 -84.5993388223917 - -84.9093363996369 -88.0983114765235 -85.9373283654693 - -86.3713249736125 -86.8593211597275 -89.5223003474819 - -87.6053153294852 -87.4553165017859 -88.2253104839755 - -90.5771921030817 -89.0496040417923 -88.5753077486072 - -89.5403002068059 -88.2523102729614 -88.9433048725627 - -91.6528836961225 -90.0659960982826 -91.1010880086261 - -89.5876998363588 -88.3226097235431 -89.2168027350678 - -87.6127152716517 -88.2513102807767 -86.4013247391524 - -86.7033223789202 -84.7293378063978 -84.6293385879316 - -82.3793561724424 -85.2003341253735 -85.2123340315894 - -85.9013286468214 -83.9693437460547 -86.5053239263572 - -86.4243245593996 -86.5593235043289 -82.7693531244606 - -84.9243362824068 -83.2843490995614 -79.9793749292540 - -77.8193918103844 -78.3093879808687 -74.9294143967117 - -72.9194301055414 -75.7594079099811 -75.4394104108893 - -77.4063950381191 -74.3734187420397 -73.5494251818784 - -73.3854264635938 -74.7604157175039 -72.5564329425092 - -71.7254394370552 -71.8244386633367 -72.5354331066313 - -70.8244464786749 -69.4744570293814 -69.5354565526458 - -67.8394698074593 -68.0554681193462 -68.1804671424290 - -66.3784812256683 -64.9364924953859 -64.5174957700126 - -64.9204926204314 -62.5365112521975 -61.3055208728788 - -61.2685211620463 -59.7905327131161 -59.3015365348165 - -59.2495369412141 -57.5455502585503 -55.5615657641812 - -55.1585689137625 -53.3805828094337 -52.8785867327335 - -52.4335902105589 -50.3466065211697 -48.9136177205493 - -48.2366230115332 -48.2276230818713 -46.3466377825223 - -45.6866429406455 -43.8016576725579 -41.9096724591777 - -41.2076779455451 -41.1246785942182 -38.9776953737492 - -38.6986975542286 -36.6977131927202 -36.2827164360856 - -34.4577306990777 -34.7647282997689 -32.8017436412777 - -31.1617564584323 -31.1497565522163 -29.5907687363285 - -29.5567690020500 -29.5137693381096 -27.6717837339625 - -25.9877968949919 -25.7687986065510 -24.3528096730698 - -23.7768141747046 -23.7948140340285 -20.0578432399472 - -18.8788524542309 -18.2678572294025 -14.8008843251799 - -12.4439027459319 -10.3809188689746 -6.66294792640184 - -4.47896499510038 -1.26199013704324 2.23698251708854 - 3.64897148183106 5.21195926645751 8.61693265523108 - 11.4699103580713 12.9568987366635 14.3118881468803 - 17.8248606915973 20.2188419816778 21.6258309854970 - 24.3008100794674 25.8497979735086 26.7577908771815 - 29.5806688152634 30.8610588085045 33.4228387871712 - 35.9337191636386 36.9144114991365 38.1423019026827 - 40.9160802244977 43.4256606111251 44.8689493312475 - 47.4522291418845 48.5847202910140 50.1224082733685 - 52.9317863169575 55.4622665402443 57.1769531392839 - 58.4491431966107 61.0008232542123 62.6155106347858 - 65.4834882203960 67.9894686351585 69.7210551021190 - 71.1692437839463 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 27.9397816394518 22.9217208576002 - 28.9118740421616 15.7027772765264 10.6499167666486 - 17.3378644976670 5.34555822232834 2.86341762124810 - 2.85537768408342 -4.73698297858683 -0.809893670357625 - 0.872493181117456 -1.48736837562233 -7.04294495657334 - -5.73305519388480 -5.18395948528698 -9.52952552295348 - -13.9304911276502 -13.1906969094374 -12.2075045934779 - -17.1941656207311 -21.4910320390045 -21.8935288933309 - -24.4315090580027 -22.9485206481492 -24.0918117128731 - -26.3366941682204 -29.9309660775505 -28.8460745564109 - -29.5215692771499 -31.7615517707925 -34.7147286905358 - -33.2407402103442 -33.5349379110718 -35.5594220889197 - -38.5435987663875 -38.4050998488119 -37.8104044965934 - -41.0661790514155 -41.7552736658659 -44.9306488490412 - -48.4873210522279 -47.9565252006094 -49.2189153345265 - -51.4473979180454 -55.4148669106913 -54.6869725994759 - -55.5538658243593 -57.4781507853041 -60.6036263584647 - -59.3419362190768 -59.8435322989032 -61.1524220694071 - -64.4696961435858 -61.9802155998701 -62.7955092280249 - -62.2106137992162 -66.0006841783031 -62.6533103393660 - -63.7228019808619 -66.8779773219069 -66.9714765911728 - -67.0954756220709 -70.5608485387980 -67.8924693932463 - -68.2314667438467 -70.9484455095729 -70.8591462074826 - -73.0333292153744 -72.2900350245152 -73.9151223238092 - -72.7394315123023 -75.9200066548377 -77.7606922691448 - -77.9753905911917 -77.4973943269233 -79.9839748933035 - -82.4312557668264 -82.1581579011952 -82.7370533768960 - -84.8682367208473 -87.9099129489332 -87.6946146315755 - -86.4800241240852 -86.3488251494576 -84.8213370873867 - -84.2263417375129 -87.2632180031124 -85.6627305115611 - -85.4440322207756 -85.6109309163956 -83.5293471848035 - -85.9688281192861 -86.0181277339899 -86.3263253253027 - -89.0998036494623 -87.2607180226507 -86.9513204407164 - -87.8543133834660 -89.9122972995001 -88.3703093507515 - -87.6013153607466 -88.7213066075678 -90.3482938920126 - -89.2533024498079 -87.9993122502420 -89.3713015275980 - -90.5592922429763 -90.0343963452473 -91.5253846925781 - -90.3981935020273 -87.9663125081481 -89.4823006600955 - -88.4203089599846 -88.5073082800502 -90.3032942437029 - -89.1648031414653 -90.5175925688759 -89.0183042864124 - -90.0652961037533 -88.2843100228706 -88.9916044950819 - -87.0063200108728 -87.3473173458425 -87.4503165408626 - -85.7053301786277 -87.6613148918263 -88.1243112733247 - -87.6643148683803 -86.3573250830272 -87.7323143369373 - -88.2723101166547 -87.2303182602370 -84.3193410106864 - -83.0073512644101 -80.0173746322712 -81.6093621902528 - -80.4303714045365 -77.1193972811212 -76.8393994694158 - -78.1433892782149 -76.8693992349557 -76.0624055419336 - -77.0483978360102 -74.5734171789721 -72.8834303868936 - -73.3624266433466 -73.7034239783163 -72.0704367407635 - -70.0974521604257 -70.7664469319645 -70.4094497220402 - -69.1704594052442 -69.6734554741291 -67.2024747858297 - -66.0464838203606 -65.1674906900428 -65.9394846566018 - -62.9235082276617 -61.8735164337667 -60.5825265233683 - -61.5645188487062 -60.3605282583734 -60.7585251478688 - -57.8205481093323 -56.7255566671276 -56.8705555339035 - -55.8295636696706 -54.5475736889341 -54.5665735404427 - -51.7205957828951 -50.5196051691162 -49.2826148366895 - -49.6236121716592 -46.4396370556959 -45.4296449491874 - -45.7906421278503 -44.1906546323914 -42.7866656051262 - -42.9866640420585 -39.7096896529217 -38.3227004927957 - -38.4796992657876 -36.6997131770895 -35.6977210080584 - -32.7677439069992 -33.3597392803190 -32.2557479084523 - -32.5717454388055 -31.8457511127410 -30.7347597955817 - -30.9637580058692 -28.0797805453045 -27.0597885169494 - -27.1847875400321 -25.9417972544975 -24.7938062265057 - -25.1168037021515 -21.0698353308250 -20.0328434353307 - -17.1498659669506 -17.4748634269657 -16.3728720394683 - -15.9628752437570 -11.6529089278644 -8.62493259270837 - -6.58894850473687 -3.38897351381898 -1.17899078571631 - 0.244998085242151 4.30696633933855 7.04994490186598 - 9.37692671557408 10.2629197911845 14.5178865369206 - 16.6168701325258 19.2558495078484 19.9928437479442 - 22.3028256945130 23.1888187701234 25.8060983150389 - 28.8697743711873 29.8867664229884 32.1652486157404 - 33.7797359978770 34.5967296127457 38.0097029389966 - 39.9506877694252 41.0391792624296 42.8886648079617 - 45.0866476298484 46.1604392377383 49.3886140082636 - 51.4425979555591 53.6955803476022 54.8010717077459 - 58.6845413568801 60.6455260310020 61.8105169261330 - 64.0194996620510 66.1494830153808 67.2424744732161 - 71.1154442044115 73.1694281517069 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 35.0847257988607 0.000000000000000E+000 39.4996912941427 - 25.2298028190182 32.0697493621052 23.1048194266118 - 8.00823741242742 17.6598619811281 10.6919164384044 - 1.95164474711713 5.31895843021633 1.75088631612442 - 6.84394651182564 -2.18578291723385 -0.394096919975231 - -5.47055724541107 -5.199959360241571E-002 -8.91283034267252 - -7.14304417425799 -12.3852032046923 -7.15944404608645 - -16.9491675354889 -20.2043420950002 -24.4393089970431 - -24.3045100505506 -26.5856922222012 -24.4381090064215 - -29.0134732481232 -30.2310637321675 -30.9476581316962 - -28.8017749026303 -33.8059357931151 -34.8465276604742 - -35.1382253807401 -32.1204489658676 -36.1847172019887 - -37.5459065637504 -39.0036951705504 -44.1223551661790 - -42.0007717472004 -44.4724524300291 -45.3286457385366 - -50.2576072167348 -48.2394229896503 -50.7038037295309 - -50.9438018538497 -56.2509603762871 -54.0234777849528 - -56.0362620542402 -56.0985615673446 -60.2238293267301 - -56.3517595885010 -58.3428440273812 -56.5795578081669 - -61.1685219435801 -56.6895569484797 -58.8355401767641 - -56.4095591367744 -61.6205184110473 -62.4495119321319 - -58.7695406925764 -63.1195066958554 -64.3384971689582 - -63.0895069303155 -67.8934693854310 -68.2084669235995 - -72.2121356333301 -72.1684359748604 -75.2586118239024 - -74.6055169280997 -77.0308979727786 -76.0694054872262 - -75.8904068861717 -77.7063926935176 -80.5903701540824 - -78.9863826898848 -79.7513767111511 -81.0943662151520 - -84.5114395093599 -83.0065512706623 -84.2973411826238 - -84.8588367943115 -88.7639062746344 -87.8918130903908 - -88.4554086856662 -87.1160191535302 -86.3664250119077 - -86.7858217341548 -85.6073309445309 -87.5438158101285 - -88.1147113483519 -87.3255175162168 -89.2209027030249 - -87.9509126285043 -86.7763218084005 -88.0233120626739 - -89.3993013087685 -88.4213089521693 -86.9283206204691 - -88.4033090928453 -89.2503024732539 -88.5393080299594 - -86.4083246844450 -88.4043090850300 -88.6573071077495 - -88.3313096555497 -84.8693367122504 -87.0043200265034 - -86.9293206126538 -88.6533071390108 -87.6703148214882 - -87.1883185884812 -89.4033012775072 -86.1393267867710 - -86.1593266304642 -87.9693124847021 -87.3603172442431 - -88.8403056775426 -87.9103129458071 -88.9793045912106 - -87.7333143291219 -88.5043083034962 -86.8963208705600 - -88.4203089599846 -89.2853021997171 -88.0883115546769 - -86.9083207767759 -87.8693132662359 -88.9053051695456 - -87.1293190495862 -86.5233237856811 -86.9653203313016 - -88.0803116171996 -85.4373322731383 -84.5343393303887 - -83.0643508189358 -80.7493689114436 -79.6243777036991 - -80.9223675593901 -79.0393822756719 -79.3343799701471 - -77.1343971638911 -74.7554157565805 -74.6494165850064 - -74.7024161707935 -73.1184285502891 -70.2394510506477 - -71.2554431102641 -70.5264488076456 -69.4244574201483 - -66.4324808036401 -67.3174738870658 -66.3874811553303 - -65.1964904633980 -66.3344815695432 -62.7695094312237 - -61.9775156209716 -60.1605298214410 -61.5815187158455 - -57.4495510088227 -57.0995537441911 -57.8805476404120 - -57.3185520326320 -55.2995678117998 -56.3295597620015 - -55.2695680462599 -51.9795937587225 -52.3495908670474 - -51.4695977445449 -49.7196114213867 -50.4296058724966 - -46.5896358833952 -45.8286418308675 -43.4096607361705 - -44.5796515922248 -43.4896601109434 -44.2326543041472 - -40.2896851200256 -39.1556939826190 -36.8097123174024 - -37.7877046740016 -36.5697141930835 -37.3177083472106 - -33.8697352944965 -31.9697501436390 -31.0197575682103 - -32.2057482992192 -31.0497573337502 -27.3497862505013 - -28.3297785914699 -27.4997850782006 -25.2798024282513 - -26.1597955507538 -25.3268020609304 -21.0398355652851 - -21.5998311886958 -20.8198372846595 -17.5758626376165 - -18.1898578389989 -13.3098959778491 -12.6399012141257 - -12.8878992759218 -11.9759064035102 -8.76093152982238 - -8.66593227227951 -5.70595540568046 -4.32796617521645 - 0.308997585060509 2.97497674936898 5.88095403799628 - 6.64394807489327 11.5599096546909 13.7468925625463 - 16.9338676550636 17.1968655996297 22.3298254834989 - 23.7978140105825 24.3198099309760 26.0287965745630 - 26.8317902988465 29.2207716280036 31.2007561536341 - 31.6067529806068 35.6257215707627 37.2897085660400 - 40.0416870582294 40.3416847136280 42.1596705053432 - 46.0196403381379 46.6396354926282 48.4166216047723 - 51.0896007143734 51.7115958532331 56.0995615595293 - 57.7995482734544 60.9095239677527 61.4645196302400 - 63.3765046873135 64.0956990665223 68.5494642585692 - 70.2194512069544 73.4994255726453 74.0684211257179 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 33.6097373264845 0.000000000000000E+000 - 24.1098115721970 16.4778712188578 25.3198021156378 - 12.9298989476776 17.5678627001392 10.9119147190300 - 18.2098576826921 6.76794710579134 10.7399160632682 - 3.82397011414688 11.2599119992923 -0.589995388950486 - 4.18996725373311 -3.15997530353142 -14.0618901007148 - -19.0439511639186 -26.0148966831962 -21.0028358544526 - -18.3790563603369 -23.0487198650523 -17.4258638099172 - -24.7992061843029 -22.0598275936402 -27.2817867819443 - -20.5268395745536 -28.6432761413614 -25.1218036630748 - -29.3237708230238 -23.8498136041849 -31.8787508548348 - -37.0705102791622 -34.6177294486236 -42.8176653628507 - -37.6127060416858 -42.6253668657402 -40.2276856045765 - -48.3316222690761 -42.6396667539809 -48.0092247887411 - -45.3336456994599 -53.9015787376425 -47.6196278335969 - -51.6612962463446 -47.5896280680570 -54.1835765337172 - -47.7496268176029 -51.7695953999435 -47.5496283806705 - -54.4295746111440 -47.1496315068058 -51.5195973537780 - -56.6495572610933 -54.1695766431319 -56.2995599964616 - -61.5895186533228 -56.4895585115474 -58.9295394421223 - -63.6695023974194 -65.2944896974949 -69.1584594990282 - -70.3024505582814 -73.2409275929102 -73.4574259008895 - -74.4384182340427 -77.8963912086034 -75.4444103718126 - -76.2124043696328 -76.7364002743956 -80.6403697633155 - -77.8343916931544 -79.2383807204196 -79.4293792276900 - -83.6203464736078 -80.6203699196222 -82.6533540310398 - -86.6362229033294 -86.4474243788653 -87.2083184321745 - -88.4116090279780 -87.7114145002778 -88.7942060378297 - -87.2233183149444 -86.4333244890615 -87.6191152216335 - -85.5913310695763 -87.4093168612915 -87.9243128363923 - -87.4773163298485 -85.1493345239557 -87.0743194794298 - -87.1303190417708 -86.9863201671795 -84.0993427300608 - -86.5233237856811 -85.8333291782644 -85.9403283420232 - -81.7393611742588 -84.4423400493998 -82.1893576573567 - -82.4193558598289 -85.3693328045813 -85.1633344145410 - -81.3693640659340 -83.8193449183555 -83.9993435115946 - -82.3493564069026 -85.1593344458023 -85.2893334298084 - -87.4493165486780 -87.1093192058929 -89.1613031688190 - -88.3153097805951 -89.8604977043346 -88.6968067990436 - -89.8803975488094 -88.0653117344297 -87.1743186978959 - -87.5683156186527 -88.9673046849946 -86.6693226446417 - -86.0393275683048 -85.9093285842987 -87.5643156499141 - -84.8533368372958 -84.6923380955653 -86.0173277402422 - -83.7893451528156 -83.9993435115946 -83.7453454966905 - -81.4293635970137 -79.4413791339059 -79.2643805172208 - -76.2344041976954 -76.4384026033664 -75.7644078709043 - -74.1674203519994 -70.8524462598454 -71.3284425397444 - -70.3914498627163 -69.1564595146589 -65.4294886424242 - -66.8894772320305 -65.0294917685595 -64.3894967703759 - -66.0514837812839 -61.6795179499423 -61.5395190440897 - -59.1695375664411 -60.8795242022129 -56.1595610906090 - -56.0995615595293 -53.1495846147768 -55.0995693748674 - -54.5295738296102 -56.1195614032225 -51.5995967285510 - -51.4095982134652 -52.3695907107406 -50.0796086078650 - -49.4496135315280 -50.5696047783493 -46.1196395566041 - -45.7696422919725 -42.8896648001463 -44.2196544057466 - -39.3396925445968 -38.9796953581185 -40.0896866830932 - -39.5096912159893 -36.4897148183106 -37.8297043457574 - -32.8697431098347 -32.4897460796632 -33.4097388895521 - -32.8757430629427 -30.4797617884929 -25.5898000054965 - -27.0197888295629 -26.8097904707839 -27.8497823428323 - -25.1498034442453 -24.6298075082211 -25.8997975827417 - -20.6098389258805 -20.4598400981813 -21.4098326736100 - -17.7798610432875 -17.3598643257296 -18.2498573700786 - -12.9598987132175 -12.7299005107452 -8.68993208471139 - -9.55992528536720 -8.99392970884859 -9.60792491023096 - -4.21996701927297 -3.68997116140219 -3.55597220865751 - -0.964992458198676 2.53098021937912 3.28497432661415 - 8.70093199874267 10.8369153051804 14.4698869120568 - 14.6628854036966 0.000000000000000E+000 21.9588283829894 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 27.1857875322168 28.8797742930340 0.000000000000000E+000 - 33.7577361698144 35.2317246500060 0.000000000000000E+000 - 38.3617001879975 0.000000000000000E+000 44.4596525300654 - 44.6496510451512 47.8896257234555 49.1696157198227 - 49.3976139379256 54.2795757834447 55.7095646075111 - 59.1895374101343 59.3315363003563 64.7994935660873 - 65.9694844221416 66.3794812178530 67.9294691040788 - 71.5394408907081 71.8904381475244 77.2593961869738 - 78.5993857144207 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 4.83996217376331 -7.06994474555921 -13.3288958293577 - -9.38492665305137 -1.47998843329952 -11.1689127104881 - -6.64994802800124 -13.1638971188885 -4.45996514359181 - -14.0798899600387 -9.03992934934304 -15.7798766739638 - -8.01993732098796 -18.0198591676064 -13.4998944929348 - -19.4598479135194 -29.4607697523225 -22.9198208724494 - -29.1697720265859 -24.4698087586752 -34.4297309179072 - -27.2297871883419 -34.2297324809748 -29.4097701509047 - -39.2096935605908 -31.5297535823878 -38.4996991094809 - -32.6297449855159 -42.2596697238094 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -47.0796320538795 0.000000000000000E+000 - -46.6196356489350 -51.1396003236065 -46.4996365867756 - -53.8695789877333 -56.9795546820317 -62.0195152927274 - -64.1594985679037 -69.0994599601332 -70.2354510819090 - -74.1494204926755 -70.8594462051380 -72.1894358107383 - -71.4594415159351 -75.9984060421152 -72.4394338569037 - -73.6914240721003 -73.1294284643204 -77.9393908725438 - -74.4294183043808 -76.4194027518579 -75.2194121302636 - -80.1663734677858 -82.1983575870186 -86.8063215739404 - -86.8023216052018 -84.1553422924019 -86.0123277793189 - -85.8203292798638 -86.0693273338446 -88.2253104839755 - -85.5163316557266 -85.2293338987287 -85.4273323512917 - -82.3293565632093 -84.7993372593241 -83.8493446838953 - -84.3353408856410 -80.5853701931591 -83.4993474192637 - -81.8993599238047 -82.6193542967613 -77.4293948583663 - -80.8393682080632 -77.5493939205257 -78.5393861833410 - -73.0694289332407 -76.6194011887902 -77.6093934516054 - -80.8493681299098 -78.0693898565499 -78.8293839168929 - -82.0493587515040 -77.1493970466610 -78.0093903254702 - -80.8893678172963 -81.5293628154799 -84.0393431989811 - -84.3293409325330 -86.2053262709586 -85.9343283889153 - -87.5623156655448 -86.8623211362815 -86.7253222069828 - -88.4523087098938 -85.5693312415137 -85.2673336017458 - -84.5493392131586 -86.4993239732492 -83.2093496857117 - -83.1273503265695 -82.0493587515040 -84.2193417922202 - -84.2023419250810 -85.9483282795005 -82.9583516473616 - -81.4153637064284 -81.2693648474678 -80.9833670826545 - -77.5343940377558 -76.2674039397893 -75.1304128258287 - -71.0974443450876 -71.6074403592651 -70.1154520197496 - -69.1544595302896 -64.6344948556181 -66.0544837578379 - -63.9295003654315 -63.0895069303155 -58.4295433497913 - -60.1895295947962 -60.1295300637165 -57.3995513995896 - -59.3395362378336 -54.3695750800643 -54.5795734388433 - -51.2595993857659 -53.4795820357152 -47.9496252545353 - -48.3996217376331 -50.0296089986319 -50.1196082952514 - -46.8996334606403 -48.8096185333444 -48.4696211905594 - -43.5796594075630 -45.1496471374821 -44.9696485442430 - -41.6196747256258 -43.3496612050908 -37.8897038768371 - -37.9297035642236 -34.0597338095823 -35.9797188041330 - -35.6297215395014 -37.2097091912671 -31.7297520193202 - -31.6897523319337 -28.0597807016112 -29.8797664776958 - -29.2097717139724 -30.9597580371306 -25.6697993802694 - -22.2898257961124 -22.0698275154868 -23.8098139167984 - -23.5498159487863 -17.7598611995943 -19.4098483042863 - -19.2998491639735 -15.0498823791607 -16.7398691712392 - -16.4098717503008 -10.5199177826426 -11.9699064504022 - -11.9699064504022 -7.59994060342999 -8.96992989641671 - -2.64997928935388 -2.76997835151330 -3.75997061432852 - -3.63997155216910 0.779993904036236 -0.109999140312802 - 0.289997733551934 8.999929661956566E-002 5.94995349873795 - 7.97993763360149 12.1409051139794 12.3619033867897 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 54.2795757834447 0.000000000000000E+000 - 58.0295464759266 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 70.0194527700221 - 70.1304519025195 0.000000000000000E+000 76.9993982189617 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - -2.20998272810267 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 -12.4699025427332 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -57.5095505399024 -60.6095263123542 - -65.1094911433324 -67.0894756689629 -65.4594884079641 - -70.3894498783470 0.000000000000000E+000 -67.9094692603856 - 0.000000000000000E+000 -71.4394416722419 0.000000000000000E+000 - -69.3394580844520 0.000000000000000E+000 -72.9194301055414 - 0.000000000000000E+000 -70.9694453454508 -75.9794061906067 - -78.9353830884670 -83.6093465595765 -82.5703546797128 - -83.4513477943999 -86.0743272947679 -82.5593547656816 - -83.1673500139560 -82.1113582669530 -77.9293909506972 - -81.3293643785475 -79.4293792276900 -80.5993700837443 - -75.8494072066006 -79.3393799310704 -76.9893982971151 - -78.3993872774883 -72.3994341695173 -76.1194050964593 - -71.7594391713337 -73.4694258071054 -67.4394729335945 - -71.4394416722419 -67.0894756689629 -68.6994630862685 - -73.2694273701730 -74.4794179136139 -68.6694633207286 - -72.5294331535233 -73.6394244784979 -70.5694484715861 - -74.2594196329883 -75.3894108016562 -78.7493845421199 - -79.4593789932298 -82.5593547656816 -82.7593532026139 - -85.4813319292635 -85.1153347896772 -87.3023176975327 - -83.7693453091224 -83.7393455435825 -82.1693578136634 - -84.7693374937842 -80.9893670357625 -81.3993638314738 - -79.4093793839968 -82.0293589078108 -77.4993943112926 - -78.1793889968627 -80.4693710997383 -81.0593664886888 - -79.5103785946476 -81.9633594236231 -80.6553696460854 - -77.1103973514592 -75.2064122318630 -70.6394479245124 - -71.4334417191339 -69.1394596475197 -68.6004638599869 - -63.7095020848059 -64.9534923625252 -62.4395120102853 - -62.0565150035598 -56.9395549946452 -58.4895428808711 - -55.5295660142720 -55.2895678899532 -57.5495502272889 - -52.0795929771887 -52.3395909452007 -48.7696188459580 - -51.2795992294592 -45.3596454962611 -46.0996397129109 - -41.9496721465642 -44.4996522174519 -44.8896491694700 - -46.9196333043336 -41.0996787896016 -41.5096755853130 - -43.3696610487840 -39.6196903563021 -39.7096896529217 - -41.8096732407116 -35.8197200545871 -36.2697165376850 - -32.0097498310255 -34.1197333406620 -27.6397839840533 - -28.1797797637707 -30.0097654617018 -30.2197638204808 - -26.1397957070605 -28.3497784351632 -21.9298286096342 - -22.2898257961124 -24.0198122755774 -24.1598111814301 - -20.2298418957090 -13.6698931643274 -15.5598783933382 - -15.9798751108962 -17.6798618248213 -13.2098967593829 - -13.2298966030762 -15.0698822228539 -8.46993380408579 - -8.66993224101816 -10.5199177826426 -5.87995404581162 - -5.99995310797104 -7.76993927482250 -1.03999187204831 - -1.17999077790097 3.69997108324881 1.92998491639735 - 1.96998460378383 0.609995232643723 7.39994216649762 - 7.17994388587201 6.16995177936356 6.13995201382370 - 10.8699150472742 10.3899187986365 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -57.9595470230003 -63.8495009906585 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 -77.3093957962069 - 0.000000000000000E+000 -78.3393877464086 -79.6323776411763 - -77.7593922793047 -81.2693648474678 -76.5094020484774 - 0.000000000000000E+000 -75.5294097075088 -70.1294519103349 - -74.0994208834424 -71.1494439386900 -73.0894287769339 - -66.1894827027672 -70.3994498001936 -65.3194895021114 - -67.4694726991344 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -62.6295105253711 -66.8494775446440 - 0.000000000000000E+000 -64.5294956762286 -69.0494603509001 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - -77.7593922793047 -78.6793850891936 -81.1193660197685 - -81.5993622684062 -79.4693789150765 -82.3393564850560 - -77.9693906380837 -78.4693867304146 -76.2894037678518 - -79.1893811033712 -74.2094200237552 -75.0294136151779 - -72.2994349510511 -75.4794100982757 -75.9094067376803 - -78.9773827602228 -74.4094184606875 -75.6354088790830 - -77.9353909038052 -75.9094067376803 -70.5094489405064 - -67.7694703545329 -67.5294722302141 -62.0395151364206 - -63.4395041949472 -60.4095278754218 -60.3095286569556 - -54.5295738296102 -56.4495588241609 -53.0595853181573 - -53.2695836769363 -47.2296308815787 -49.4896132189145 - -49.9296097801657 -46.1296394784507 -48.7596189241114 - -42.3696688641222 -43.0796633152321 -38.6696977808734 - -41.4796758197731 -34.6497291985328 -35.6997209924277 - -38.1297020011560 -38.9196958270388 -34.1597330280485 - -36.8397120829422 -37.4097076281995 -30.8897585842043 - -33.1597408433866 -33.8397355289567 -29.3497706198250 - -31.6297528008540 -24.7498065703806 -25.6297996928830 - -20.7898375191197 -23.2098186060013 -23.6898148546390 - -26.0397964885943 -19.1098506488878 -19.8598447873842 - -14.9398832388479 -17.4998632315822 -17.8598604180605 - -20.2198419738624 -13.0498980098370 0.000000000000000E+000 - -8.30993505453990 -10.8099155161945 -11.0599135623600 - -4.04996834788045 -6.02995287351090 -6.66994787169448 - 0.000000000000000E+000 -3.73997077063528 -3.94996912941427 - 3.15997530353142 1.22999038713406 0.869993200655801 - 5.97995326427781 3.95996905126089 0.000000000000000E+000 - 0.000000000000000E+000 9.11992872411599 8.85993075610391 - 0.000000000000000E+000 0.000000000000000E+000 12.2399043402609 - 10.8699150472742 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - -69.8794538641694 -71.4794413596284 -68.5094645711827 - -71.9394377645728 -72.9394299492347 -67.8094700419194 - -64.2094981771368 0.000000000000000E+000 -61.5295191222431 - -57.9395471793070 -58.1995451473191 -51.8095950873300 - -53.8695789877333 -50.0496088423251 -50.4496057161899 - -43.8096576100352 -46.4696368212357 -42.2196700364229 - -42.7996655035268 -45.7496424482792 -38.8396964522659 - -39.7096896529217 -34.8497276354651 -38.0397027045364 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -30.5497612414192 -33.5297379517115 - -26.1797953944470 -27.3197864849615 -29.9097662432357 - -24.9298051636197 -25.6397996147296 -28.5397769502489 - -21.1898343929844 -22.4098248582718 -16.7998687023189 - -19.8598447873842 0.000000000000000E+000 0.000000000000000E+000 - -15.8298762831969 -16.8998679207851 -11.7399082479300 - -14.3298880062042 0.000000000000000E+000 0.000000000000000E+000 - -9.86992286261236 -10.8499152035810 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 6.27995091967636 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 - 0.130000000000000 0.250000000000000 0.380000000000000 - 0.500000000000000 0.630000000000000 0.750000000000000 - 0.880000000000000 1.00000000000000 1.13000000000000 - 1.25000000000000 1.38000000000000 1.50000000000000 - 1.63000000000000 1.75000000000000 1.88000000000000 - 2.00000000000000 2.13000000000000 2.25000000000000 - 2.38000000000000 3.94000000000000 2.63000000000000 - 2.75000000000000 2.88000000000000 3.55000000000000 - 4.35000000000000 3.25000000000000 3.38000000000000 - 3.96000000000000 3.63000000000000 3.75000000000000 - 3.88000000000000 4.82000000000000 4.44000000000000 - 4.43000000000000 4.43000000000000 4.42000000000000 - 4.63000000000000 5.66000000000000 5.81000000000000 - 5.95000000000000 5.49000000000000 6.18000000000000 - 7.11000000000000 6.96000000000000 7.20000000000000 - 7.73000000000000 6.41000000000000 6.85000000000000 - 6.77000000000000 6.91000000000000 7.26000000000000 - 7.20000000000000 6.86000000000000 8.06000000000000 - 7.81000000000000 7.82000000000000 8.41000000000000 - 8.13000000000000 7.19000000000000 8.35000000000000 - 8.13000000000000 8.02000000000000 8.93000000000000 - 8.90000000000000 9.69000000000000 9.65000000000000 - 10.5500000000000 9.38000000000000 9.72000000000000 - 10.6600000000000 11.9800000000000 12.7600000000000 - 12.1000000000000 12.8600000000000 13.0300000000000 - 12.8100000000000 12.5400000000000 12.6500000000000 - 12.0000000000000 12.6900000000000 14.0500000000000 - 13.3300000000000 13.2800000000000 13.2300000000000 - 13.1700000000000 8.66000000000000 11.0900000000000 - 10.4000000000000 13.4700000000000 10.1700000000000 - 12.2200000000000 11.6200000000000 12.9500000000000 - 13.1500000000000 13.5700000000000 12.8700000000000 - 16.1600000000000 14.7100000000000 15.6900000000000 - 14.0900000000000 18.5600000000000 16.2200000000000 - 16.6700000000000 17.1300000000000 17.0000000000000 - 16.8600000000000 15.3300000000000 15.6100000000000 - 16.7700000000000 17.9300000000000 17.4500000000000 - 16.9700000000000 17.8800000000000 17.5800000000000 - 15.7800000000000 16.8300000000000 17.4900000000000 - 16.0300000000000 15.0800000000000 16.7400000000000 - 17.7400000000000 17.4300000000000 18.1400000000000 - 17.0600000000000 19.0100000000000 17.0200000000000 - 17.0200000000000 17.0200000000000 18.5100000000000 - 17.2000000000000 16.7500000000000 16.9700000000000 - 16.9400000000000 16.9100000000000 17.6900000000000 - 15.5500000000000 14.5600000000000 14.3500000000000 - 16.5500000000000 18.2900000000000 17.8000000000000 - 17.0500000000000 21.3100000000000 19.1500000000000 - 19.5100000000000 19.8700000000000 20.3900000000000 - 20.9000000000000 21.8500000000000 22.8900000000000 - 25.6800000000000 24.6400000000000 24.9100000000000 - 23.2400000000000 22.8500000000000 22.4600000000000 - 21.9800000000000 21.6400000000000 21.7500000000000 - 21.8500000000000 21.7700000000000 21.6900000000000 - 23.7400000000000 21.3500000000000 23.0300000000000 - 20.6600000000000 21.8100000000000 20.7700000000000 - 22.1800000000000 22.5800000000000 22.5500000000000 - 21.4500000000000 21.1600000000000 21.0200000000000 - 20.8700000000000 22.0900000000000 22.0000000000000 - 21.2800000000000 23.0500000000000 21.7000000000000 - 21.4500000000000 22.2800000000000 23.0000000000000 - 22.1100000000000 23.5600000000000 22.8300000000000 - 24.8800000000000 22.6400000000000 23.2700000000000 - 23.8900000000000 23.9200000000000 23.9400000000000 - 21.1600000000000 22.3000000000000 21.7500000000000 - 21.1900000000000 20.7200000000000 20.2400000000000 - 21.3400000000000 19.0000000000000 17.9300000000000 - 17.8500000000000 15.7000000000000 13.5400000000000 - 11.7800000000000 10.0200000000000 10.9800000000000 - 10.2800000000000 11.7200000000000 13.8100000000000 - 14.4600000000000 15.3000000000000 16.1500000000000 - 16.9900000000000 17.8400000000000 18.6800000000000 - 19.5300000000000 20.3700000000000 21.2200000000000 - 22.0600000000000 22.9100000000000 23.7500000000000 - 24.6000000000000 25.4400000000000 26.2900000000000 - 27.1300000000000 27.9800000000000 28.8200000000000 - 29.6700000000000 30.7100000000000 30.5300000000000 - 31.4500000000000 29.6300000000000 30.1500000000000 - 30.6500000000000 30.2700000000000 29.5200000000000 - 30.0800000000000 29.8000000000000 29.8700000000000 - 32.4512260786668 32.5858784690347 32.7205308594026 - 32.8551832497705 32.9898356401384 33.1244880305063 - 33.2591404208742 33.3937928112421 33.5284452016101 - 33.6630975919780 - 0.100000000000000 0.900000000000000 F T F - 0.178441146042939 0.176854755447340 0.175457523511159 - 0.178440798291086 0.177847580665707 0.177178950695165 - 0.176542728233259 0.175967661944468 0.175456823596599 - 0.175005168033411 0.174605505760961 0.174250735402598 - 0.173934480416989 0.173651244352414 0.173396399197021 - 0.176284676038272 0.176005252123378 0.175741801502665 - 0.175493821420086 0.175260563010190 0.175041152196171 - 0.174834694659134 0.174640301295590 0.174457108584218 - 0.174284274484268 0.174121060727579 0.173966751275695 - 0.173820693656522 0.173682295461442 0.173550990323865 - 0.173426281108896 0.173307698178998 0.173194833498812 - 0.173087290981306 0.172984722514601 0.172886786445479 - 0.172793190434770 0.172703651742762 0.172617938672571 - 0.172535787912517 0.172457013428583 0.172381393903792 - 0.172308745673507 0.172238919838372 0.172171736659333 - 0.172107057186978 0.172044744904835 0.171984673531151 - 0.171926718099366 0.171870789914284 0.171816765250475 - 0.171764562450018 0.171714071153700 0.171665228454992 - 0.171617948837318 0.171572158885393 0.171527796465106 - 0.171484782600370 0.171443063233302 0.171402581095653 - 0.171363282082134 0.171325108165235 0.171288031882564 - 0.171251987132930 0.171216938064970 0.171182837032322 - 0.171149666076201 0.171117361544088 0.171085916272709 - 0.171055270179356 0.171025419508950 0.170996314310324 - 0.170967926663031 0.170940243344760 0.170913232205649 - 0.170886875980471 0.170861138037182 0.170836003406656 - 0.170811450916359 0.170787454244663 0.170764013982761 - 0.170741085618302 0.170718671627445 0.170696755166074 - 0.170675300794188 0.170654319456517 0.170633776821819 - 0.170613665685691 0.170593965931055 0.170574684426576 - 0.170555782619628 0.170537268427738 0.170519130476294 - 0.170501344654811 0.170483900681757 0.170466801495381 - 0.170450037279425 0.170433579262678 0.170417444570396 - 0.170401604974142 0.170386052236448 0.170370791270107 - 0.170355814336234 0.170341094662250 0.170326650782861 - 0.170312456565112 0.170298505345497 0.170284809827809 - 0.170271338174411 0.170258110004008 0.170245100286411 - 0.170232309760820 0.170219733138796 0.170207365023389 - 0.170195200380670 0.170183227927957 0.170171455642058 - 0.170159878853221 0.170148480521709 0.170137262548154 - 0.170126214451279 0.170115344811094 0.170104649766787 - 0.170094112839613 0.170083730213538 0.170073517430401 - 0.170063451920238 0.170053530360435 0.170043762084085 - 0.170034143891283 0.170024660091918 0.170015313939387 - 0.170006102636771 0.169997023222620 0.169988072979511 - 0.169979242956101 0.169970549313136 0.169961970825056 - 0.169953504917733 0.169945161748312 0.169936932719445 - 0.169928815557190 0.169920808009674 0.169912914235195 - 0.169905119655493 0.169897422161807 0.169889838489013 - 0.169882341748084 0.169874948835945 0.169867651572232 - 0.169860448196458 0.169853343127943 0.169846316142078 - 0.169839390288340 0.169832545363639 0.169825779791752 - 0.169819110606634 0.169812517715288 0.169805999652889 - 0.169799573531819 0.169793213216579 0.169786942051128 - 0.169780733957195 0.169774612417112 0.169768557503757 - 0.169762568109508 0.169756655207108 0.169750817692467 - 0.169745035930372 0.169739333332254 0.169733690356599 - 0.169728105889472 0.169722597391865 0.169717139122623 - 0.169711754746491 0.169706418591380 0.169701148180695 - 0.169695942518575 0.169690782287533 0.169685691105419 - 0.169680643521851 0.169675663171359 0.169670730807017 - 0.169665851795987 0.169661025223985 0.169656250313439 - 0.169651526273317 0.169646852299504 0.169642221592594 - 0.169637651703675 0.169633117456545 0.169628642544881 - 0.169624207987350 0.169619819190840 0.169615469398103 - 0.169611176200974 0.169606920700169 0.169602708317220 - 0.169598538512418 0.169594410564779 0.169590323957695 - 0.169586272035110 0.169582266304065 0.169578306192436 - 0.169574373008326 0.169570490429236 0.169566633679605 - 0.169562820437863 0.169559044050722 0.169555304116932 - 0.169551606109689 0.169547937468310 0.169544303738611 - 0.169540704526921 0.169537139294262 0.169533601574138 - 0.169530102999001 0.169526643124760 0.169523209450670 - 0.169519801559757 0.169516437102556 0.169513097653856 - 0.169509782744194 0.169506510052757 0.169503261191319 - 0.169500035711533 0.169496851295283 0.169493683574667 - 0.169490556155754 0.169487444697369 0.169484372898017 - 0.169481316300907 0.169478298672298 0.169475301655411 - 0.169472330860674 0.169469386058103 0.169466460839528 - 0.169463566961235 0.169460704087973 0.169457853953814 - 0.169455034202520 0.169452238546337 0.169449472730705 - 0.169446724492888 0.169443993492467 0.169441297499142 - 0.169438618198596 0.169435955395394 0.169433326746792 - 0.169430714075063 0.169428123063354 0.169425553483127 - 0.169423005066731 0.169420471664465 0.169417964895747 - 0.169415484605056 0.169413012593961 0.169410572502353 - 0.169408146248256 7.217811636347234E-002 8.129581305187805E-002 - 8.763518850627663E-002 7.218141089560161E-002 7.629665779441844E-002 - 7.975838337086377E-002 8.273410813243250E-002 8.533494778667595E-002 - 8.763835851510482E-002 8.970041250018267E-002 9.156300834527263E-002 - 9.325822231701057E-002 9.481115044026464E-002 9.624176041170709E-002 - 9.756622460019979E-002 8.390592500058276E-002 8.516576505378123E-002 - 8.635159855841179E-002 8.747089261043796E-002 8.853007076980608E-002 - 8.953470157219140E-002 9.048961000631973E-002 9.139904978210528E-002 - 9.226673915807433E-002 9.309599314911385E-002 9.388974538863536E-002 - 9.465062230496527E-002 9.538096702045375E-002 9.608289819186931E-002 - 9.675832101606661E-002 9.740897610978053E-002 9.803642214170383E-002 - 9.864208949465036E-002 9.922729251439434E-002 9.979322340196760E-002 - 0.100340979931685 0.100871575887651 0.101385929903472 - 0.101884913754470 0.102369318926122 0.102839882933118 - 0.103297294810415 0.103742179364428 0.104175142553832 - 0.104596738339593 0.105007471902239 0.105407844236502 - 0.105798296733111 0.106179255187926 0.106551127986591 - 0.106914287147969 0.107269091106383 0.107615861066063 - 0.107954924728797 0.108286579681937 0.108611098765514 - 0.108928748194359 0.109239788684674 0.109544459353559 - 0.109842978511874 0.110135561586462 0.110422421936752 - 0.110703750042038 0.110979735621353 0.111250542322180 - 0.111516351457543 0.111777319301768 0.112033603497464 - 0.112285337429965 0.112532678447346 0.112775742970325 - 0.113014672155580 0.113249584280920 0.113480596837192 - 0.113707826834900 0.113931369127343 0.114151344924641 - 0.114367836158129 0.114580956017153 0.114790778741458 - 0.114997410296863 0.115200922405123 0.115401396815165 - 0.115598925529541 0.115793566653947 0.115985406548847 - 0.116174515662534 0.116360948586984 0.116544784192359 - 0.116726081284428 0.116904905394561 0.117081306588761 - 0.117255341848112 0.117427079668710 0.117596559905743 - 0.117763834066252 0.117928960955008 0.118091988827839 - 0.118252950929834 0.118411905962712 0.118568893263216 - 0.118723955300774 0.118877133243469 0.119028467009513 - 0.119177999828028 0.119325760241685 0.119471784694222 - 0.119616117604559 0.119758788816404 0.119899831699828 - 0.120039278673024 0.120177165770476 0.120313510010947 - 0.120448354760467 0.120581724431914 0.120713647179746 - 0.120844150394864 0.120973265281125 0.121101004132129 - 0.121227405853383 0.121352490488138 0.121476286548875 - 0.121598808250998 0.121720078321718 0.121840132612647 - 0.121958974454873 0.122076638606477 0.122193141031349 - 0.122308501754049 0.122422740308391 0.122535875752981 - 0.122647931270115 0.122758911260415 0.122868847196111 - 0.122977751794877 0.123085641952360 0.123192538765356 - 0.123298444569628 0.123403388899420 0.123507382550368 - 0.123610440564153 0.123712577643911 0.123813812771141 - 0.123914150788966 0.124013605436743 0.124112199378532 - 0.124209941156755 0.124306848255100 0.124402919414206 - 0.124498180805870 0.124592639873942 0.124686313048736 - 0.124779198017428 0.124871319970512 0.124962685368521 - 0.125053305068166 0.125143189704421 0.125232349696378 - 0.125320795252924 0.125408536378227 0.125495582877047 - 0.125581944359882 0.125667634890590 0.125752649778009 - 0.125837016652865 0.125920725816772 0.126003804567010 - 0.126086247505659 0.126168063009872 0.126249268605447 - 0.126329867710583 0.126409872899623 0.126489277973719 - 0.126568109188802 0.126646355396887 0.126724042588474 - 0.126801163997243 0.126877731369864 0.126953751664708 - 0.127029227047783 0.127104173565835 0.127178593145891 - 0.127252496937402 0.127325877288539 0.127398754468430 - 0.127471129949994 0.127543009772208 0.127614404549025 - 0.127685310758861 0.127755734133056 0.127825689670826 - 0.127895178235994 0.127964205279528 0.128032776161746 - 0.128100896154270 0.128168570441926 0.128235804124596 - 0.128302606909864 0.128368969660553 0.128434915998067 - 0.128500436624008 0.128565536236182 0.128630228850935 - 0.128694519024914 0.128758401845150 0.128821886419460 - 0.128884977090149 0.128947673429828 0.129009993753892 - 0.129071923395203 0.129133480544145 0.129194664515607 - 0.129255483974383 0.129315928695073 0.129376016639231 - 0.129435746880525 0.129495123143852 0.129554149098818 - 0.129612828360811 0.129671164492032 0.129729165718308 - 0.129786821351112 0.129844148946463 0.129901151866688 - 0.129957819266574 0.130014168565947 0.130070202984722 - 0.130125911529303 0.130181316214604 0.130236405955283 - 0.130291183787717 0.130345666884864 0.130399844025581 - 0.130453718121252 0.130507306230306 0.130560592272772 - 0.130613597962412 0.130666311866948 0.130718741436558 - 0.130770884621190 0.130822753534339 0.130874350790485 - 0.130925669497008 0.130976712194073 0.131027495601637 - 0.131078003246160 0.131128256524014 0.131178243630740 - 0.131227971685051 0.131277438294142 0.131326655259925 - 0.131375620130170 0.131424339908834 0.131472802593370 - 0.131521029365266 0.131569003416439 0.131616741131761 - 0.131664244633432 0.131711506518753 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.446954236795279 0.680434579027796 0.861355896853944 - 0.606689359698639 0.745352165247297 0.867393077575275 - 0.977029354965613 1.07697864081173 1.16911231968359 - 1.25478190619091 1.33500026261228 1.41054827228344 - 1.48204247445287 1.54997904961819 1.61476417374020 - 1.29038544290716 1.35202128663984 1.41120279126526 - 1.46815734932654 1.52308048180927 1.57614177088282 - 1.62748898040696 1.67725226113397 1.72554642865628 - 1.77247389909183 1.81812588545020 1.86258443841741 - 1.90592337624535 1.94820958249603 1.98950380602565 - 2.02986148516595 2.06933310972744 2.10796499122491 - 2.14579987510557 2.18287697322382 2.21923264275415 - 2.25490050238092 2.28991163270456 2.32429506275074 - 2.35807788885051 2.39128518387733 2.42394066023784 - 2.45606624552965 2.48768267185614 2.51880948299468 - 2.54946478621939 2.57966599499936 2.60942920819502 - 2.63876979918970 2.66770225705142 2.69624036745160 - 2.72439711161486 2.75218478800088 2.77961514716860 - 2.80669935972806 2.83344791550437 2.85987085947196 - 2.88597798121165 2.91177841012328 2.93728079398672 - 2.96249349217416 2.98742464163109 3.01208171843496 - 3.03647221746167 3.06060295585377 3.08448085967152 - 3.10811220679070 3.13150341007324 3.15466009402053 - 3.17758836000250 3.20029332509671 3.22278057052307 - 3.24505513836153 3.26712185247458 3.28898554119785 - 3.31065055649551 3.33212160713440 3.35340267423068 - 3.37449808291129 3.39541161407346 3.41614719054460 - 3.43670852106378 3.45709905350782 3.47732242395673 - 3.49738189219208 3.51728069941448 3.53702212837034 - 3.55660901032504 3.57604452204250 3.59533133620270 - 3.61447247736970 3.63347039070479 3.65232769659488 - 3.67104721113544 3.68963123066387 3.70808206427462 - 3.72640216665651 3.74459395155060 3.76265925854741 - 3.78060055939850 3.79841988613629 3.81611917891331 - 3.83370041954676 3.85116568371653 3.86851671984380 - 3.88575538376023 3.90288346175359 3.91990267131077 - 3.93681484557251 3.95362144372381 3.97032422974991 - 3.98692479355389 4.00342448665367 4.01982499890596 - 4.03612773482882 4.05233417768865 4.06844562617021 - 4.08446351069644 4.10038907872220 4.11622377611129 - 4.13196886764005 4.14762556349875 4.16319495626631 - 4.17867834300547 4.19407708595495 4.20939191478972 - 4.22462429808325 4.23977526712432 4.25484578967558 - 4.26983691536205 4.28474977781112 4.29958539738685 - 4.31434456402497 4.32902844144892 4.34363791152155 - 4.35817395645417 4.37263739214037 4.38702907271101 - 4.40135007271860 4.41560107608359 4.42978297836644 - 4.44389660522174 4.45794283388990 4.47192227020007 - 4.48583580302322 4.49968433314780 4.51346837969396 - 4.52718896854553 4.54084645493752 4.55444180897292 - 4.56797566128979 4.58144871062359 4.59486159307829 - 4.60821495260077 4.62150953919530 4.63474599258449 - 4.64792477204054 4.66104666416971 4.67411227642970 - 4.68712203540480 4.70007675510666 4.71297678478872 - 4.72582299002543 4.73861549046403 4.75135528661053 - 4.76404263854062 4.77667824317469 4.78926241204732 - 4.80179583281582 4.81427892100500 4.82671227833203 - 4.83909646654396 4.85143158011366 4.86371861237040 - 4.87595751207012 4.88814925998964 4.90029391934607 - 4.91239200792993 4.92444414313962 4.93645044967150 - 4.94841173555975 4.96032811185569 4.97220024377018 - 4.98402826310310 4.99581278926472 5.00755414643144 - 5.01925272540106 5.03090898429239 5.04252321745824 - 5.05409561755935 5.06562694173814 5.07711723835377 - 5.08856704808923 5.09997666401001 5.11134649605381 - 5.12267670489948 5.13396781319215 5.14522016857341 - 5.15643387895131 5.16760956653850 5.17874733007693 - 5.18984754814576 5.20091055879241 5.21193667067692 - 5.22292622537718 5.23387934943487 5.24479658867183 - 5.25567797372798 5.26652408153752 5.27733489650393 - 5.28811086330232 5.29885231040412 5.30955952533603 - 5.32023255206254 5.33087188545517 5.34147777758267 - 5.35205036280622 5.36258989866218 5.37309676697404 - 5.38357121961047 5.39401339010858 5.40442348575305 - 5.41480197903458 5.42514891739274 5.43546449935388 - 5.44574918972038 5.45600302652356 5.46622626461740 - 5.47641918015619 5.48658202316903 5.49671475451265 - 5.50681808447275 5.51689173555353 5.52693611551213 - 5.53695160335896 5.54693809534512 5.55689617483478 - 5.56682567983284 5.57672688914588 5.58660012034794 - 5.59644552954144 5.60626337713158 5.61605363187990 - 5.62581661577916 5.63555275372181 5.64526171685252 - 5.65494420420633 5.66460016074435 5.67422964551140 - 5.68383295696217 5.69341036332645 5.70296195942155 - 5.71248799730987 5.72198847547864 5.73146374742780 - 5.74091366025185 5.75033882113332 5.75973912396630 - 5.76911477266374 1.31638374772749 1.31301479128529 - 1.31258170576189 1.78651765784193 1.78360027129278 - 1.78229934255929 1.78171349400699 1.78145960468310 - 1.78136080700509 1.78133121831877 1.78132763126180 - 1.78132832927348 1.78132252785475 1.78130517008433 - 1.78127439093290 2.25041138173802 2.25027887459302 - 2.25019553440087 2.25014553141220 2.25011767092553 - 2.25010394334230 2.25009871026269 2.25009796263730 - 2.25009881491187 2.25009907834994 2.25009747520856 - 2.25009298240193 2.25008495642702 2.25007304925782 - 2.25005693199261 2.25003656291683 2.25001188676167 - 2.24998308055404 2.24995020431302 2.24991346252648 - 2.24987290986279 2.24982878462180 2.24978121646143 - 2.24973057397274 2.24967680929455 2.24962034982011 - 2.24956119591214 2.24949952162413 2.24943568187558 - 2.24936965110375 2.24930164519732 2.24923180932037 - 2.24916028166188 2.24908712702496 2.24901266458165 - 2.24893681377170 2.24885981598863 2.24878157300874 - 2.24870238181336 2.24862226574238 2.24854130991387 - 2.24845966337169 2.24837726190000 2.24829424439252 - 2.24821067667831 2.24812662012269 2.24804206006464 - 2.24795726579896 2.24787207218737 2.24778659870842 - 2.24770081540643 2.24761498431703 2.24752884893965 - 2.24744274262763 2.24735640007382 2.24727015365157 - 2.24718380669785 2.24709738581772 2.24701106924021 - 2.24692480484221 2.24683869338895 2.24675260021938 - 2.24666662304824 2.24658077927305 2.24649500775896 - 2.24640956084154 2.24632413682484 2.24623898798524 - 2.24615412754327 2.24606932662134 2.24598491866981 - 2.24590067111661 2.24581667520356 2.24573285666001 - 2.24564947102171 2.24556619542624 2.24548328550769 - 2.24540074872496 2.24531842306365 2.24523631371717 - 2.24515459415444 2.24507326938353 2.24499208830940 - 2.24491139644572 2.24483094017853 2.24475072186935 - 2.24467091668879 2.24459152804127 2.24451229707584 - 2.24443357407263 2.24435509928310 2.24427687320615 - 2.24419916124260 2.24412161105529 2.24404457829180 - 2.24396779699001 2.24389135617974 2.24381525701948 - 2.24373949878921 2.24366408177922 2.24358891491696 - 2.24351417954119 2.24343987585476 2.24336582150651 - 2.24329210625892 2.24321863735042 2.24314559817963 - 2.24307298933365 2.24300062428454 2.24292850028430 - 2.24285689794231 2.24278553473043 2.24271440892666 - 2.24264370763421 2.24257343035754 2.24250338629330 - 2.24243366831780 2.24236427591240 2.24229520666932 - 2.24222645937905 2.24215793604379 2.24208992411160 - 2.24202213357008 2.24195456107078 2.24188739946132 - 2.24182055009722 2.24175401128141 2.24168778098273 - 2.24162195659918 2.24155633965061 2.24149092699406 - 2.24142601416364 2.24136120259100 2.24129678918030 - 2.24123267193781 2.24116884938758 2.24110541987228 - 2.24104208115769 2.24097923281517 2.24091657123682 - 2.24085409389594 2.24079210326022 2.24073029324576 - 2.24066866133800 2.24060751213537 2.24054643483390 - 2.24048583757476 2.24042530736761 2.24036525520622 - 2.24030536879772 2.24024564699469 2.24018629398472 - 2.24012730967616 2.24006837969279 2.24000991889911 - 2.23995161258673 2.23989345801693 2.23983576977311 - 2.23977812394733 2.23972094190894 2.23966379799514 - 2.23960700881910 2.23955057302133 2.23949416966101 - 2.23943822353752 2.23938230533597 2.23932684160433 - 2.23927150915970 2.23921641446342 2.23916155489341 - 2.23910692918637 2.23905253575262 2.23899837267431 - 2.23894433029503 2.23889073335451 2.23883714415007 - 2.23878399779436 2.23873096521877 2.23867815409077 - 2.23862545290328 2.23857319017716 2.23852103441887 - 2.23846909382100 2.23841736795014 2.23836585399066 - 2.23831455153197 2.23826334773171 2.23821246312478 - 2.23816189690378 2.23811131291754 2.23806115709502 - 2.23801097962041 2.23796111610689 2.23791145196153 - 2.23786198722310 2.23781283271514 2.23776376128566 - 2.23771488427375 2.23766620141899 2.23761771039839 - 2.23756929613479 2.23752118546529 2.23747337770533 - 2.23742564274554 2.23737797878342 2.23733072895961 - 2.23728354838768 2.23723643425898 2.23718973177709 - 2.23714309440044 2.23709651935328 2.23705035353962 - 2.23700413238527 2.23695831854997 2.23691244600690 - 2.23686698029614 2.23682145185438 2.23677632874556 - 2.23673125850188 2.23668635610704 2.23664162187675 - 2.23659693531562 2.23655253227802 2.23650841189523 - 2.23646421832773 2.23642030498062 2.23637655244317 - 2.23633307948450 2.23628964709060 2.23624625267818 - 2.23620325497479 2.23616029326960 2.23611736711366 - 2.23607483507337 2.23603233664886 2.23598999014511 - 2.23594779496639 2.23590574982162 2.23586373383888 - 2.23582198650796 2.23578050883213 2.23573893483736 - 2.23569774930676 2.23565658753281 0.778535295339175 - 0.769559969937697 0.765094446294627 1.05657792870164 - 1.05033923396818 1.04608436767054 1.04291972779625 - 1.04041483697828 1.03833970615725 1.03656239532245 - 1.03500084121343 1.03360255713590 1.03233161434628 - 1.03116386510464 1.03007998980880 1.31591487151620 - 1.31440668310954 1.31303360562624 1.31177293569894 - 1.31060659745200 1.30951938530414 1.30850103252299 - 1.30754122447866 1.30663372607165 1.30577150321674 - 1.30494956448182 1.30416346493825 1.30341018977712 - 1.30268625091908 1.30198947804547 1.30131642991061 - 1.30066625971533 1.30003712245962 1.29942678721803 - 1.29883421337079 1.29825831436820 1.29769754907608 - 1.29715222767923 1.29662008814242 1.29610098586136 - 1.29559397312283 1.29509814376889 1.29461420447784 - 1.29414020742657 1.29367560169650 1.29322149777016 - 1.29277538098659 1.29233850418119 1.29191036069838 - 1.29148950234076 1.29107646553058 1.29067006564389 - 1.29027193836430 1.28987990843859 1.28949399337670 - 1.28911488022456 1.28874238199566 1.28837517766630 - 1.28801329898556 1.28765736610193 1.28730721730360 - 1.28696185032076 1.28662145756593 1.28628537343501 - 1.28595508421544 1.28562890099332 1.28530698421421 - 1.28498903723283 1.28467629799114 1.28436673721872 - 1.28406202500305 1.28376077582124 1.28346345193849 - 1.28316968943523 1.28287895044403 1.28259283171072 - 1.28230903236619 1.28202975865931 1.28175257296478 - 1.28147975080604 1.28120881979287 1.28094165307513 - 1.28067810440129 1.28041603946534 1.28015832982770 - 1.27990260916282 1.27964897602764 1.27939943034243 - 1.27915185955625 1.27890674607716 1.27866354371123 - 1.27842354952474 1.27818648073003 1.27795055112289 - 1.27771756511772 1.27748762238292 1.27725912860696 - 1.27703228217364 1.27680871705189 1.27658682859781 - 1.27636699021598 1.27614905211591 1.27593314451130 - 1.27571940011958 1.27550671124401 1.27529665739433 - 1.27508921506428 1.27488281077307 1.27467823773994 - 1.27447541157459 1.27427447064941 1.27407445722419 - 1.27387745376542 1.27368157764896 1.27348716471821 - 1.27329458645689 1.27310336368523 1.27291309363049 - 1.27272576923216 1.27253914735889 1.27235415415002 - 1.27216992382617 1.27198763664726 1.27180765053639 - 1.27162764359144 1.27145038632875 1.27127380278233 - 1.27109870159065 1.27092468982693 1.27075209911180 - 1.27058075894884 1.27040983546574 1.27024185494951 - 1.27007425612419 1.26990778146969 1.26974264678965 - 1.26957780802934 1.26941573478784 1.26925409219096 - 1.26909352719937 1.26893416963545 1.26877573658266 - 1.26861769330250 1.26846145544781 1.26830721745085 - 1.26815320121590 1.26800010829562 1.26784725545521 - 1.26769713833317 1.26754703457046 1.26739800442369 - 1.26724907897768 1.26710293620232 1.26695672835505 - 1.26681142039034 1.26666727488577 1.26652374957761 - 1.26638136529923 1.26623983668550 1.26609898716297 - 1.26595921107263 1.26582027778689 1.26568128427142 - 1.26554478852410 1.26540750029576 1.26527277347891 - 1.26513711573340 1.26500314387576 1.26487083555581 - 1.26473835390563 1.26460661133755 1.26447492770222 - 1.26434561021621 1.26421552798746 1.26408771098421 - 1.26395901037713 1.26383184744127 1.26370525543837 - 1.26357967449627 1.26345547018757 1.26333119993213 - 1.26320741521862 1.26308367548299 1.26296218738628 - 1.26284058065418 1.26271973130249 1.26259934730265 - 1.26247890929242 1.26235996463832 1.26224244341415 - 1.26212476633346 1.26200760249285 1.26189101490400 - 1.26177523014187 1.26165991342791 1.26154527809452 - 1.26143119498198 1.26131678507201 1.26120468934847 - 1.26109153019174 1.26097976183488 1.26086943967149 - 1.26075889585465 1.26064782833041 1.26053834508260 - 1.26042919916354 1.26032079986017 1.26021391248725 - 1.26010549001870 1.25999966124178 1.25989326304941 - 1.25978733707937 1.25968107478105 1.25957720807550 - 1.25947299633926 1.25936913995374 1.25926591802610 - 1.25916293246946 1.25906068293604 1.25895877059453 - 1.25885646114519 1.25875650005529 1.25865610068437 - 1.25855498940024 1.25845642383974 1.25835750168453 - 1.25825785002487 1.25816069964643 1.25806193572697 - 1.25796459568833 1.25786876157113 1.25777141108022 - 1.25767535965598 1.25758077387210 1.25748463994569 - 1.25739079830236 1.25729554930697 1.25720164622747 - 1.25710819756682 1.25701605858976 1.25692347394259 - 1.25683018730473 1.25673813840580 1.25664764124739 - 1.25655568232194 1.25646590957045 1.25637456039960 - 1.25628465333834 1.25619501390010 1.25610671609591 - 1.25601798055924 1.25592940977575 1.25584038878929 - 1.25575372287482 1.25566531925392 1.25557926471252 - 1.25549265099483 1.25540514863169 1.25531928208049 - 1.995685895545864E-002 2.177115436048020E-002 2.300290209214514E-002 - 1.995752452760037E-002 2.078307507895309E-002 2.146892990160294E-002 - 2.205261809280136E-002 2.255855981916636E-002 2.300351245878934E-002 - 2.339944672528240E-002 2.375520745476195E-002 2.407749911564056E-002 - 2.437152220645288E-002 2.464138218499233E-002 2.489038236949494E-002 - 2.228104624980776E-002 2.252576433647243E-002 2.275530243398843E-002 - 2.297125926318719E-002 2.317500219852179E-002 2.336771039512381E-002 - 2.355039937005067E-002 2.372396108187790E-002 2.388917060996332E-002 - 2.404671695171613E-002 2.419720684585317E-002 2.434118170323583E-002 - 2.447912235478672E-002 2.461146250951741E-002 2.473859061698240E-002 - 2.486086108969864E-002 2.497858945253040E-002 2.509206488891356E-002 - 2.520155273640586E-002 2.530729259243782E-002 2.540950468719804E-002 - 2.550839208988480E-002 2.560413772912871E-002 2.569691582618335E-002 - 2.578688358305378E-002 2.587418734876340E-002 2.595896376261524E-002 - 2.604133580309966E-002 2.612142357579129E-002 2.619933619748683E-002 - 2.627517246562161E-002 2.634903146645627E-002 2.642099916752880E-002 - 2.649115890301361E-002 2.655959085154777E-002 2.662636742240088E-002 - 2.669155865027930E-002 2.675522647782176E-002 2.681743516138269E-002 - 2.687824246184478E-002 2.693770088907943E-002 2.699586198874229E-002 - 2.705277656729910E-002 2.710849081507209E-002 2.716304646790258E-002 - 2.721648504886174E-002 2.726884802995340E-002 2.732017185152482E-002 - 2.737049316448296E-002 2.741984278869695E-002 2.746825609076380E-002 - 2.751576281210947E-002 2.756239332753850E-002 2.760817254487828E-002 - 2.765313133356722E-002 2.769729111289908E-002 2.774067941528678E-002 - 2.778331858057614E-002 2.782523098353073E-002 2.786643909355725E-002 - 2.790696033299412E-002 2.794681855112931E-002 2.798602848119329E-002 - 2.802461242095615E-002 2.806258361905482E-002 2.809996297827577E-002 - 2.813676345445919E-002 2.817300051400407E-002 2.820869217619184E-002 - 2.824384858453819E-002 2.827848667350942E-002 2.831261973661382E-002 - 2.834625743912410E-002 2.837941527745258E-002 2.841210411724918E-002 - 2.844433650594682E-002 2.847612143970584E-002 2.850746963325333E-002 - 2.853839459631136E-002 2.856890317623126E-002 2.859900504252637E-002 - 2.862871165567237E-002 2.865803206482134E-002 2.868697185859737E-002 - 2.871554267799937E-002 2.874375167360712E-002 2.877160679373502E-002 - 2.879911573942679E-002 2.882628597437039E-002 2.885312579364016E-002 - 2.887964009593732E-002 2.890583568610118E-002 2.893172128843105E-002 - 2.895730225268572E-002 2.898258480131658E-002 2.900757497668138E-002 - 2.903227971054538E-002 2.905670151659962E-002 2.908084912438056E-002 - 2.910472685732692E-002 2.912833995226777E-002 2.915169350198786E-002 - 2.917479352581225E-002 2.919764164712888E-002 2.922024575280190E-002 - 2.924260934291771E-002 2.926473792958699E-002 2.928663370740600E-002 - 2.930830089110210E-002 2.932974679168401E-002 2.935097113860957E-002 - 2.937198103724642E-002 2.939277922126769E-002 2.941336939754722E-002 - 2.943375518089371E-002 2.945394009700236E-002 2.947392865623725E-002 - 2.949372100162508E-002 2.951332362093966E-002 2.953273863975788E-002 - 2.955196917861585E-002 2.957101935706504E-002 2.958988893256588E-002 - 2.960858402935216E-002 2.962710641380890E-002 2.964545885982910E-002 - 2.966364407807475E-002 2.968166579244259E-002 2.969952444375179E-002 - 2.971722256294930E-002 2.973476477586837E-002 2.975215242872941E-002 - 2.976938896576738E-002 2.978647347525144E-002 2.980341145206689E-002 - 2.982020403797854E-002 2.983685448080853E-002 2.985336167332540E-002 - 2.986973092710780E-002 2.988596320115929E-002 2.990206048938739E-002 - 2.991802474448196E-002 2.993385787901621E-002 2.994956176651188E-002 - 2.996513824246977E-002 2.998058910536688E-002 2.999591611762182E-002 - 3.001112208669559E-002 3.002620546516391E-002 3.004117223391817E-002 - 3.005601969805165E-002 3.007075377625159E-002 3.008537279050318E-002 - 3.009987827468215E-002 3.011427389702206E-002 3.012856005275029E-002 - 3.014273927285839E-002 3.015680973186510E-002 3.017077715431598E-002 - 3.018463857855628E-002 3.019839967967480E-002 3.021205852763926E-002 - 3.022561750021731E-002 3.023907786864710E-002 3.025243979711382E-002 - 3.026570667930814E-002 3.027887863523409E-002 3.029195793199421E-002 - 3.030494247703675E-002 3.031783666543573E-002 3.033064053355579E-002 - 3.034335518290589E-002 3.035598278157937E-002 3.036852222215681E-002 - 3.038097454954973E-002 3.039334296335082E-002 3.040562738788300E-002 - 3.041782881627533E-002 3.042994822496153E-002 3.044198657404309E-002 - 3.045394480764269E-002 3.046582385424835E-002 3.047762571459804E-002 - 3.048934802425703E-002 3.050099601733808E-002 3.051256729986956E-002 - 3.052406272649334E-002 3.053548531495980E-002 3.054683589373614E-002 - 3.055811310056308E-002 3.056931882571567E-002 3.058045385839364E-002 - 3.059151788613988E-002 3.060251494141889E-002 3.061344141961726E-002 - 3.062430133014201E-002 3.063509431326233E-002 3.064582217755441E-002 - 3.065648236033778E-002 3.066707882860586E-002 3.067761117852377E-002 - 3.068808008599163E-002 3.069848621677480E-002 3.070883022670056E-002 - 3.071911276185000E-002 3.072933555004159E-002 3.073949594453477E-002 - 3.074959783716733E-002 3.075964183730714E-002 3.076962526982352E-002 - 3.077955200131480E-002 3.078942261507976E-002 3.079923440912727E-002 - 3.080899231869834E-002 3.081869362511419E-002 3.082833887829120E-002 - 3.083793189897172E-002 3.084746994393401E-002 3.085695354023733E-002 - 3.086638648739766E-002 3.087576492552672E-002 3.088509373377408E-002 - 3.089437013080626E-002 3.090359570205106E-002 3.091276983890293E-002 - 3.092189520779807E-002 3.093097228136474E-002 3.093999933725362E-002 - 3.094897683470980E-002 3.095790851050115E-002 3.096679043410282E-002 - 3.097562742548471E-002 3.098441663628713E-002 3.099315959112932E-002 - 3.100185561915273E-002 3.101050732933447E-002 3.101911403995121E-002 - 3.102767725449151E-002 3.103619408909388E-002 3.104466932360456E-002 - 3.105309896767310E-002 3.106148669599610E-002 3.106983289142617E-002 - 3.107813573954309E-002 0.185693632080300 0.195148210789810 - 0.201400346186374 0.185697158442746 0.190037537686309 - 0.193594372772626 0.196588130842567 0.199159480881945 - 0.201403413041125 0.203386850174637 0.205158678747753 - 0.206755570472722 0.208205720382171 0.209531198837098 - 0.210749653788469 0.197751736606150 0.198993451958266 - 0.200153651136967 0.201241294371986 0.202264003738091 - 0.203228321367726 0.204139835679039 0.205003448370645 - 0.205823380681686 0.206603384280003 0.207346740134794 - 0.208056369013717 0.208734847884787 0.209384499909948 - 0.210007393949012 0.210605421475120 0.211180246672779 - 0.211733397363538 0.212266276643176 0.212780140762039 - 0.213276143836918 0.213755350050491 0.214218705412365 - 0.214667124398616 0.215101420449632 0.215522351721093 - 0.215930627308774 0.216326873611831 0.216711717281454 - 0.217085719191360 0.217449378069455 0.217803212399456 - 0.218147653524634 0.218483126876101 0.218810046652480 - 0.219128778588669 0.219439681350979 0.219743060904238 - 0.220039251215499 0.220328544564552 0.220611200704025 - 0.220887479783102 0.221157643521955 0.221421924456447 - 0.221680526797830 0.221933659095079 0.222181535070862 - 0.222424334490563 0.222662243659862 0.222895408141058 - 0.223124013159199 0.223348204266728 0.223568135747886 - 0.223783923050484 0.223995731252801 0.224203655327371 - 0.224407840650778 0.224608395188950 0.224805429868446 - 0.224999058879318 0.225189359767884 0.225376462064693 - 0.225560426965206 0.225741376178661 0.225919363435722 - 0.226094503425686 0.226266851226024 0.226436482971128 - 0.226603496055780 0.226767928646408 0.226929872704540 - 0.227089393481212 0.227246529593426 0.227401365810890 - 0.227553952425387 0.227704353805535 0.227852608082155 - 0.227998767649006 0.228142907366018 0.228285051823616 - 0.228425248219951 0.228563558369852 0.228700026389029 - 0.228834670631584 0.228967556673373 0.229098716353307 - 0.229228188336908 0.229356010066993 0.229482217813409 - 0.229606854836681 0.229729938969434 0.229851503231304 - 0.229971595889016 0.230090239893929 0.230207465394110 - 0.230323301651221 0.230437785203246 0.230550919250560 - 0.230662754978334 0.230773310293812 0.230882610500088 - 0.230990680193511 0.231097551428044 0.231203223044895 - 0.231307742085104 0.231411122422446 0.231513393624276 - 0.231614560254874 0.231714642612265 0.231813684910246 - 0.231911673812266 0.232008652526089 0.232104631183157 - 0.232199627599826 0.232293659143474 0.232386742747078 - 0.232478903081329 0.232570131777535 0.232660469021642 - 0.232749921985565 0.232838505629681 0.232926242720173 - 0.233013123020264 0.233099184940495 0.233184433909323 - 0.233268883202798 0.233352545790096 0.233435442513083 - 0.233517569414476 0.233598938593328 0.233679578223415 - 0.233759491698850 0.233838698503833 0.233917185171727 - 0.233994987045833 0.234072106532547 0.234148562163898 - 0.234224339533160 0.234299473091814 0.234373964364710 - 0.234447822851217 0.234521057851714 0.234593678472959 - 0.234665693633299 0.234737112067693 0.234807942332582 - 0.234878192810596 0.234947879903377 0.235016987094655 - 0.235085555026980 0.235153558674219 0.235221038376116 - 0.235287976991566 0.235354381804111 0.235420276343069 - 0.235485659423373 0.235550546112599 0.235614918568107 - 0.235678816184770 0.235742212668835 0.235805147174501 - 0.235867601360752 0.235929589558257 0.235991117787868 - 0.236052183760103 0.236112809677367 0.236172993038002 - 0.236232747638987 0.236292054369475 0.236350943231969 - 0.236409411325717 0.236467463858336 0.236525114150845 - 0.236582350821143 0.236639178807166 0.236695619374437 - 0.236751669088440 0.236807332638420 0.236862614633839 - 0.236917519606127 0.236972052010390 0.237026216227073 - 0.237080024773663 0.237133457255807 0.237186550680844 - 0.237239284514539 0.237291662785973 0.237343705883719 - 0.237395417709956 0.237446785677062 0.237497821773905 - 0.237548529716555 0.237598904947239 0.237648975709618 - 0.237698712686136 0.237748144009662 0.237797264897669 - 0.237846086946605 0.237894588832786 0.237942798483265 - 0.237990710907026 0.238038329280884 0.238085656733473 - 0.238132696346190 0.238179451154116 0.238225932367132 - 0.238272118269728 0.238318036423992 0.238363689689673 - 0.238409056219295 0.238454163452275 0.238499014124630 - 0.238543586264216 0.238587915417870 0.238631979535214 - 0.238675781195766 0.238719347614927 0.238762656628707 - 0.238805710708253 0.238848536965639 0.238891104903760 - 0.238933449793847 0.238975549295847 0.239017413939626 - 0.239059037770831 0.239100439484169 0.239141621291213 - 0.239182568917805 0.239223284513940 0.239263794885779 - 0.239304069213595 0.239344142476831 0.239383992027016 - 0.239423628103397 0.239463044460009 0.239502259514039 - 0.239541266967897 0.239580076959001 0.239618666677025 - 0.239657070902778 0.239695258545083 0.239733256107460 - 0.239771065377186 0.239808671653993 0.272781742544511 - 0.271970967003571 0.271252841601382 0.272781565342448 - 0.272478946798018 0.272137050321145 0.271810925505433 - 0.271515474220994 0.271252480917569 0.271019530985467 - 0.270813063099977 0.270629522511881 0.270465697728265 - 0.270318808587378 0.270186506692013 0.271678425742497 - 0.271534806539347 0.271399258054886 0.271271545524439 - 0.271151304966950 0.271038105184688 0.270931501920720 - 0.270831051191468 0.270736320035814 0.270646884625835 - 0.270562373097715 0.270482423606038 0.270406705919105 - 0.270334919804199 0.270266777543498 0.270202026479193 - 0.270140427484586 0.270081772783004 0.270025860246054 - 0.269972512190962 0.269921553860621 0.269872835772650 - 0.269826213110272 0.269781567344615 0.269738763223291 - 0.269697705525920 0.269658280447327 0.269620393625397 - 0.269583968674528 0.269548912982881 0.269515155090076 - 0.269482624695203 0.269451256739305 0.269420986758363 - 0.269391769152969 0.269363539952517 0.269336257097933 - 0.269309863470696 0.269284326701353 0.269259602554348 - 0.269235653076160 0.269212446174277 0.269189940908705 - 0.269168109341235 0.269146921824695 0.269126350339458 - 0.269106364786402 0.269086951046096 0.269068074747312 - 0.269049717337597 0.269031854069158 0.269014475729791 - 0.268997549153582 0.268981070757222 0.268965009214525 - 0.268949362706607 0.268934105191605 0.268919222163153 - 0.268904706812410 0.268890542398555 0.268876719977452 - 0.268863220440224 0.268850036031759 0.268837155737163 - 0.268824565833585 0.268812266712903 0.268800235096186 - 0.268788472354864 0.268776969718745 0.268765708651981 - 0.268754694960780 0.268743910682396 0.268733352089557 - 0.268723008672564 0.268712884087971 0.268702958139308 - 0.268693235028835 0.268683708826371 0.268674366909476 - 0.268665203915740 0.268656221425363 0.268647414317427 - 0.268638767509977 0.268630290032218 0.268621967083079 - 0.268613794362514 0.268605774479794 0.268597903395048 - 0.268590167062978 0.268582575249147 0.268575114241246 - 0.268567780558215 0.268560580899423 0.268553498548237 - 0.268546543838029 0.268539703628014 0.268532978324383 - 0.268526365163528 0.268519861323943 0.268513464174215 - 0.268507167795841 0.268500976398346 0.268494887540132 - 0.268488892272436 0.268482991607561 0.268477180044466 - 0.268471462108311 0.268465835779970 0.268460292401476 - 0.268454829975410 0.268449456688904 0.268444160677149 - 0.268438940200988 0.268433800180362 0.268428738940648 - 0.268423748233925 0.268418829780210 0.268413982115480 - 0.268409203688793 0.268404493077313 0.268399845576749 - 0.268395269699973 0.268390754281730 0.268386297973125 - 0.268381906126861 0.268377574223405 0.268373301071464 - 0.268369085491134 0.268364929677085 0.268360825959542 - 0.268356773233009 0.268352780313408 0.268348833047969 - 0.268344940337866 0.268341097880324 0.268337304752616 - 0.268333563286138 0.268329862834668 0.268326215540089 - 0.268322610766952 0.268319047688558 0.268315535279494 - 0.268312062961102 0.268308629964978 0.268305245307399 - 0.268301895225864 0.268298592019061 0.268295321953761 - 0.268292097401975 0.268288907869899 0.268285752776551 - 0.268282637904788 0.268279562675766 0.268276516747940 - 0.268273512457253 0.268270539511135 0.268267597324787 - 0.268264695099888 0.268261819276528 0.268258982325156 - 0.268256170721554 0.268253393700632 0.268250650739798 - 0.268247931662084 0.268245248914262 0.268242589087284 - 0.268239964637114 0.268237365423154 0.268234794275294 - 0.268232250713324 0.268229734329029 0.268227244707052 - 0.268224781425094 0.268222340901081 0.268219932386466 - 0.268217542613751 0.268215184072011 0.268212846758352 - 0.268210533523757 0.268208240807789 0.268205977884152 - 0.268203734792383 0.268201514391258 0.268199316397410 - 0.268197140431889 0.268194986223438 0.268192850264358 - 0.268190738621570 0.268188650994616 0.268186577530701 - 0.268184530712882 0.268182497480903 0.268180487155448 - 0.268178496229884 0.268176524493530 0.268174574832828 - 0.268172640626363 0.268170724798771 0.268168827143278 - 0.268166947376479 0.268165082089598 0.268163237416656 - 0.268161413124347 0.268159602622084 0.268157805690561 - 0.268156031637381 0.268154270747785 0.268152522774738 - 0.268150797041275 0.268149083851715 0.268147382970113 - 0.268145703721241 0.268144033255666 0.268142384022371 - 0.268140743185671 0.268139123243579 0.268137511299102 - 0.268135919886264 0.268134339324774 0.268132772573885 - 0.268131219512790 0.268129676762296 0.268128150523094 - 0.268126640618931 0.268125137416589 0.268123650222027 - 0.268122175719433 0.268120716939570 0.268119267415089 - 0.268117826966734 0.268116404967464 0.268114991757841 - 0.268113587235058 0.268112200713035 0.268110822604055 - 0.268109455906118 0.268108100499025 0.268106756241934 - 0.268105419891244 0.268104097576437 0.268102789215892 - 0.268101485210153 0.268100198029759 0.268098918136578 - 67.7329901571050 75.8185959181902 665.182572850822 - 115.869434091927 160.474181027104 1097.60845421896 - 185.087281132147 201.180482264731 662.042826436802 - 244.094685964488 1032.11296678146 1405.64706946553 - 1568.74091061950 1570.42610797630 325.762297411258 - 942.246985030232 913.888756757840 380.322661044247 - 932.450578501054 1456.48228150973 393.327320551373 - 1208.22198352078 431.984301710938 1423.00601067542 - 450.397526670683 1418.60951506139 1575.31030014282 - 1661.60986125894 1578.72127037594 593.451575015394 - 1557.89334730101 540.437791767525 550.187460904607 - 574.136219618147 577.996930476474 587.604265609717 - 599.141826804382 736.540754818391 608.014526076899 - 617.476754844676 2064.71679871272 645.579348029656 - 648.399841665227 660.014401741465 842.565263209839 - 868.914260264792 904.254418931116 2164.06941927571 - 877.577090938868 894.147000191452 758.054933402812 - 962.515379751506 2360.89204853276 959.257505790396 - 976.676610822792 1105.98077404774 1019.13384110420 - 1019.02602855263 857.749564606297 878.375848692263 - 862.753445598153 913.571887336457 922.536285300584 - 1090.16228442131 918.408154951307 1112.03312696188 - 940.485862650182 951.671203381407 1139.08658802296 - 975.547408260313 984.619582764978 1004.07731621232 - 2978.01461118769 1014.44563733305 1030.90979621815 - 1047.59605870857 1051.38603904683 1046.08358750619 - 1054.88610192596 1340.88662177640 1385.73377455442 - 1433.70327496086 2789.05749299599 1398.01829385113 - 1400.08689447013 1157.60158582894 1418.89898960785 - 1185.77122425342 1192.86632657964 1227.65464317587 - 1221.09634456603 1258.77882024325 1559.21820969156 - 1608.45549274736 1601.23870313912 1630.26809198997 - 1630.26985174964 1659.97502977156 854.080570923614 - 1706.50933891242 -0.130185471214501 82.0498419323812 - -1.03865527039585 69.5432733613805 32.2189358819872 - -1.08446730998720 85.2513898382939 589.920264839048 - -0.866781115105599 155.301520842655 -0.748750546576173 - -0.954524174123868 -0.960170006610870 -1.00311861630991 - 38.8949011382710 -0.751425125053170 -0.651998794070653 - 26.7430876450646 -0.563531075854446 -0.943273471681448 - 20.2808332216394 -0.713322503731803 20.5774256422459 - -0.832243422064763 45.6459555230136 -0.757720956452089 - -0.827635900509698 -0.915303649236434 -0.785401570320002 - 39.1735667852763 -0.684986320792960 44.7268924106343 - 43.4133241843749 13.6425064596990 13.7062770347847 - 38.6419031414253 13.8152866402807 24.4928147078077 - 36.2334325846038 35.5641473799184 -0.786268577590054 - 14.0641210622149 13.6817579085061 12.5204255472278 - 26.0376262180393 26.2444330184680 67.8704674018086 - -0.701309955980143 19.9568638468402 18.2492042659512 - 13.4070519380001 13.8576360225394 -0.693780376099139 - 14.1561834501077 12.7577637605657 137.692410115846 - 12.7436162929327 12.8471364564147 33.8707664227871 - 14.6719071215938 19.0830354357760 34.7730281271450 - 12.4364792951429 14.6353400564036 14.4775896126756 - 15.1852341018403 37.2917561400758 13.0474758270438 - 15.7980827311535 12.3907342196970 12.2619572804764 - 12.3011774816685 -0.664201942021106 42.3165606445522 - 11.6493054915886 11.5780842678644 11.2132796034755 - 10.1232487537406 31.1954592092284 13.7204628607811 - 15.7550505147410 17.2115836011293 -0.575987813877370 - 15.5554116646713 15.2039559527080 12.2054188539429 - 12.7490582684386 11.6073556458973 11.6702752838360 - 12.0072693397109 11.9545435694687 13.1104486087288 - 6.98626607828786 5.58453704278612 5.77330562755682 - 5.02505000967392 5.02506737416108 4.27968220164206 - 18.6474053148371 3.21165967713564 -0.429953657644099 - 20.6855791766191 -0.717969219726807 6.78049703941272 - 9.35520688994885 0.728808672136311 13.8952811596836 - 34.5361277725552 -0.833830129243419 19.4849989792895 - -0.600599348487693 0.687357755229946 -0.688254138130586 - -0.721209836794927 9.19993649175603 0.748163797131075 - -0.702715424028785 -7.20987803488949 0.637136661794896 - -0.752686200971265 5.86219371816205 -0.724661287530780 - 5.95857497279935 0.778818143046712 8.59093284928841 - -0.734075563871811 0.763772858760134 0.818633928037552 - 0.749927855737226 11.8282035112330 0.690742387460465 - 8.38152532084861 8.22809672204246 4.76215997628856 - 4.76613296085012 7.68229260681019 4.72367940027844 - 10.2725568984350 7.39332019538979 7.31015946342246 - 0.740691099121688 4.75363423824256 4.66990820147272 - 4.39898676845254 12.0240956008849 12.6273197038833 - 24.8552417497111 -0.701866598890901 9.00351980398225 - 8.55189394521363 4.63942905018503 8.00844676587766 - -0.689019527908062 7.39572168117921 7.25009773439900 - 42.4060129342340 7.58714059113161 7.28350711959655 - 7.50904163157153 5.06228621607496 5.59582729721060 - 7.77995129070978 4.74858385514185 7.59558530756835 - 4.86691566791234 7.66901142536209 7.64377465945414 - 4.61521680258704 -7.74978877418055 4.49956832755414 - 4.48391237069158 4.52364361113207 0.664895459830414 - 8.09023469886606 4.37371885617621 4.35501486641223 - 4.25773636043296 3.95127277093269 6.76929108087507 - 8.62190019376292 10.3134217306707 -12.5822173351067 - 0.682464359263113 10.0014233474378 -9.75178413371484 - 4.35136471128321 7.48564375300070 4.34202468123414 - -4.37080016532772 4.51614683927094 4.49186953033173 - -4.72581902327362 7.48765797733824 7.25268260835427 - 7.27976118719583 7.17841533816674 7.17849405320447 - 7.06117136305611 2.77366511498159 6.95092563236516 - 162.553921566724 195.418307565019 -6.00130379892909 - -43.0188827876788 197.052628711985 -4.04937730764168 - 111.856465340286 801.999672496536 117.202452135629 - 37.6720350741586 -1.30947847621951 -3.32577185927466 - -3.50711526072291 -2.98082130355943 4052.68587909283 - 869.129291422670 24.7773890695073 13065.3522514445 - 95.1647382709331 93.1028176731605 463.494934357538 - 7.75857039045726 698.409629612660 5.22566311710325 - -61.5156164833308 42.7088127207074 -25.0079960050309 - -8.35639663094240 31.6704270423812 4.14726658800307 - 44.2575406789008 -72.2452873677243 -73.1800948044479 - 887.362006230175 984.266461906330 -75.1789399824850 - 1696.71606875237 4.88137271263817 -75.2278742891984 - -76.5718315473945 -44.8257033160945 1409.42309346682 - 1969.22163700593 2915.29021499002 5.56686672234588 - 5.72283516514152 6.87065481825032 2.29365125985335 - 4.50773490383628 4.55759501959422 3410.03975312034 - 7.49195091608922 -41.9695160127477 5.80549497617779 - 7.24801956277299 16.8309992225084 7.85160880757816 - 6.33957624988680 -126.429300819666 -72000.8541287100 - -56.3681365523469 -103.339471934831 2606.87997269383 - 5.19695819016656 1598.70169513283 4.65426208518786 - -105.546789368186 2019.74785729127 4.07126444366289 - 3564.59343129981 4168.98697045531 1260.28612647291 - -14.7895313941701 -101.324729149212 3685.58396440766 - 1532.00412708613 747.338978116175 4402.61428093370 - -72.4609598016362 4.55544986840982 5.84257257123679 - 8.19543074043737 0.915663918094231 5.53611081654923 - 5.44199275643736 2692.39450713957 4.13072258174985 - 1101.02961724373 962.576555025957 543.737360375725 - 814.714921526147 3393.43148540985 11.9644409746508 - 14.0858924831709 13.7802589901800 15.0178506552208 - 15.0178863764060 16.2762038056774 -4.86921394023521 - 18.2099802445748 -5.67901926650714 -4.97155665843574 - 3.09190769426196 -3.19958677767614 -8.62812618112795 - 2.81397728962948 7.60207016685699 -11.0270226314512 - 9.55634363270122 5.73932258868365 1.98232474609784 - 2.68265986170219 -2.65739805014587 -2.73220976476402 - -28.2173845511261 17.2204831792290 6.78808964594402 - 42.2551863957267 11.6944040282775 -13.3980664774771 - -15.6560425168144 5.84869675424636 -18.2184674074461 - 7.81604875903698 -7.06727318917924 10.9592332500335 - -10.6705209701391 9.11690361264305 11.8734947545762 - 2.71691973185975 13.3297510364404 6.72457518488130 - 6.74579511510728 18.2189721449425 18.9135040688507 - 6.82972367899174 22.7705120678839 2.68503783282703 - 6.86048168970714 6.89775753871355 12.1166892565746 - 23.2278112691698 24.8246617457993 26.2574170817975 - -2.67572816525882 -2.66581185105223 -2.70373507159306 - 5.57540384771646 -2.68792301858895 -2.70644923723912 - -29.8814970397812 -3.02848347927886 13.3966746890656 - -2.94109070965943 -3.07827598708370 -3.41264557994766 - 3.09562021969419 -3.04950942141777 -8.22468705294798 - -196.295251359907 9.67374428121576 -7.65879268410552 - -29.4840534266906 -2.84311512250433 -32.9998372393940 - 2.76688893721196 -7.37574934538902 -26.8584520528795 - -2.67266820977226 -29.1349194077684 -30.0710172107269 - -22.7851470356644 9.08184197213474 7.09789164451231 - -28.3963609336565 -25.6067157071597 -21.4630906235332 - -29.6257034545388 6.06923713131390 -2.55932890091005 - -2.65863293986076 2.83614994899265 2.33154888117122 - -2.60947558564611 -2.60752480946929 -28.2214077297034 - -2.58913609915951 -25.4777975507908 -24.9249318276573 - -23.0402176810423 -25.2605810963786 33.5331771798398 - -3.10158834269080 -3.19237625858075 3.18039918363604 - -3.22585323551510 -3.22585390540105 -3.26818978370647 - -1.53577562784641 3.32289119425470 2.245000000000000E-002 - 0.201000000000000 0.000000000000000E+000 1.680000000000000E-002 - 8.000000000000000E-003 4.439099999999999E-002 2.312900000000000E-002 - 6.049000000000000E-002 4.000000000000000E-003 1.630000000000000E-002 - 1.000000000000000E-003 2.008070620517118E-002 2.000000000000000E-002 - 1.978832714156626E-002 0.000000000000000E+000 1.927298413644493E-002 - 1.000000000000000E-003 3.000000000000000E-003 0.000000000000000E+000 - 1.734465313652002E-002 0.000000000000000E+000 2.000000000000000E-003 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 3.000000000000000E-003 0.000000000000000E+000 3.000000000000000E-003 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 3.000000000000000E-003 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 7.695933752943111E-003 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 1.000000000000000E-003 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 1.000000000000000E-003 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 7.382716607354267E-003 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 7.078964802252524E-003 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 1.843629105080054E-002 3.798362174350185E-002 1.200000000000000E-002 - 1.317237308749320E-002 1.200000000000000E-002 1.489470235587796E-002 - 1.233497727675813E-002 1.285543263010093E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.368160168175772E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.391032167319767E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.666778258987562E-002 1.625554909288714E-002 - 1.591668689780140E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.259436108092836E-002 1.362718334436635E-002 1.778398168473416E-002 - 2.307196187658076E-002 1.470555429400495E-002 1.978291810147374E-002 - 2.303424289043007E-002 2.713696277122805E-002 2.370696576764288E-002 - 2.164259802862675E-002 2.132007848646355E-002 1.978771559425813E-002 - 2.073806735614954E-002 2.056534279880984E-002 1.775862097415827E-002 - 1.785400400775197E-002 1.959970116366359E-002 1.650073245313672E-002 - 2.107700538357553E-002 1.835473756101359E-002 1.543787547468385E-002 - 1.724863324015160E-002 1.692430995960952E-002 1.755671279453666E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 2.007235040916432E-002 2.072207446568267E-002 2.010940570438069E-002 - 1.200000000000000E-002 1.492592521640383E-002 1.220927458918939E-002 - 3.030042938732257E-002 1.200000000000000E-002 1.252005942892061E-002 - 1.300979318155476E-002 2.147005089376972E-002 1.781978221772817E-002 - 2.108672242341920E-002 2.102048754147479E-002 2.069439477421361E-002 - 2.076209486579146E-002 2.056757011557935E-002 2.929859594265454E-002 - 2.922286117991111E-002 2.923561467185242E-002 2.919389360585583E-002 - 2.919389793352542E-002 2.914379021696404E-002 2.882592831548406E-002 - 2.909072235241390E-002 207.345459040867 126.808280041395 - 526.470864406831 543.065681609426 603.719154986680 - 580.334741859072 696.316864683526 776.755137757670 - 969.796628551507 912.202905751388 912.786378395824 - 981.811522525053 1092.33343806190 1099.11660651185 - 1154.54797334818 1234.78351778426 1068.29473358366 - 1156.75963080538 1131.69959376039 1323.52540818226 - 1228.74568515311 1198.19046544764 1320.01828353207 - 1342.48720623605 1383.43373999434 1471.47779354518 - 1266.34812511062 1363.68747920602 1571.70950880039 - 1553.88188633079 1562.27531776339 1587.57813717509 - 1595.91310151113 1590.31885903007 1591.86046896170 - 1622.19667925242 1608.84614221570 1646.95492891532 - 1635.96390477803 1643.35354137409 1652.39491217141 - 1687.41304335673 1690.08039821329 1713.82643510765 - 1763.60332192770 1770.00971335083 1736.93860815780 - 1991.70598079751 1904.48045528270 1911.40923353429 - 1935.81816123317 1969.67219324250 1989.07514423817 - 2010.16883693306 2033.98963352068 2143.00441959709 - 2094.71306301427 2086.41449436166 2124.68378932364 - 2150.17430216698 2196.08834463275 2190.66866262454 - 2214.02865763938 2262.87506241305 2315.09167107339 - 2318.22119681943 2351.76137989558 2388.03116624500 - 2389.10313268487 2438.70305328634 2456.24497323331 - 2485.54175169601 2479.06308214315 2674.11887587923 - 2563.60778316744 2520.16179511420 2511.08546150002 - 2499.19198753996 2574.94398080211 2507.98023006946 - 2536.03617948725 2604.43836472137 2634.11753992464 - 2578.22928988771 2588.60097259082 2784.71360977614 - 2756.75851995573 2834.16561736765 2846.91682683695 - 2911.14043888759 2898.65258169405 2977.81682918408 - 3060.40247075345 3187.33703516505 3169.28837146778 - 3241.79146198004 3241.79092138789 3314.26928832939 - 3321.91967255706 3423.79158731440 - 222.416603317021 194.030007867155 581.662635062325 - 1067.36025821244 1173.99748073334 1062.14901959531 - 826.325819610748 1316.56722725267 1137.82747289107 - 1021.15512190847 1407.07409257103 1809.65973463832 - 1815.96748881437 2169.81164175290 1646.21617448126 - 1538.04881927315 1280.71318447704 899.978637200776 - 1168.29211125935 593.351232344279 1263.76573377770 - 1406.35274018452 1575.10588631105 1795.96381695763 - 2027.05504271969 2340.85988788457 1978.93445996465 - 2219.93905308457 1218.40588197166 1103.00116798552 - 1198.16788666346 1208.50288953484 1218.01867271803 - 1242.30595469648 1248.33450328724 1276.98780457877 - 1293.28687670057 1312.51257985226 1326.48657075119 - 1275.86348685019 1389.32558430914 1437.80435107687 - 1458.34914039334 1539.01784508312 1581.33205366074 - 1670.51116719197 1710.84880332497 1855.60284334712 - 1944.71610335745 2035.77858434662 2103.83990050168 - 2276.18719029762 2254.90517986174 2644.03077488165 - 2336.66086239326 2580.28695606946 2822.26206882924 - 2843.57469861163 2858.15971085891 3024.53181143196 - 3038.07997451754 2979.28353875037 3210.59147868259 - 3286.80272375129 3519.98020784630 3409.25936356733 - 2823.52762997858 3700.58144072165 3405.63504081882 - 3667.24913747850 3460.77471530776 3613.16407515940 - 4496.99856368775 3698.52611972311 3301.17023155766 - 3058.59217976990 2486.95908628268 2537.23400604408 - 1445.30087388715 2469.60418876377 2951.55400621892 - 3352.94874929349 3591.09133549443 3591.25570879776 - 3290.90207334628 5006.49879955135 5826.57450445285 - 6366.88220241843 6550.93715855354 7501.83776656631 - 7306.62735218817 8709.39153762045 8512.22503573930 - 9998.46225390475 9773.09517878987 10660.7846651822 - 10663.7819462762 11579.3933564789 12286.4461515460 - 13002.7660459598 -1.23772454516813 3.06386167943644 - -1.26477457994377 -3.32512037103658 -3.30277963587130 - -1.94168703541120 -0.769813503196809 -2.06422046483010 - -2.21798777441006 0.656875414192024 -2.04550664809691 - -2.95235881189203 -3.23682497087142 -4.01531026642102 - -2.52552407483116 -2.09864753844885 -0.797140135883153 - 2.64436861978816 -0.170561289688515 7.62678973394863 - 0.693221204769310 0.486796948771578 -0.240425965912123 - -1.12023202721432 -1.34631871146980 -1.65927392623540 - -1.40588496468785 -1.74201621305859 1.66885129476492 - 4.59136057753833 3.20008572931974 3.26879577289976 - 3.30623795728855 3.31445773958171 3.31019365484880 - 3.26508555270857 3.20518541449486 3.15412358281285 - 3.10410672753140 3.42085659003782 2.78750000290205 - 2.82953360428688 2.81490862015163 2.78963966611297 - 2.74356825019647 2.61283030795422 2.54234832264456 - 2.25700279232960 2.06325116301646 2.51043272191803 - 1.40838197605061 0.833278576207242 0.899894477608372 - -0.451734805784948 0.778122873822093 -2.988517607523618E-003 - -0.753847602695252 -0.774585514494653 -0.789497917200668 - -1.15017822380519 -1.16243406742636 -0.806121038781837 - -1.37044527697596 -1.37717078446355 -1.70718958474081 - -1.59507675193112 8.024753165083813E-002 -2.10577199492120 - -1.40299696280735 -1.84963651654540 -1.32461770328922 - -1.53034495528611 -2.62568288524056 -1.60599407997023 - -0.870120678134128 -0.556135836236043 1.29052683236957 - 0.787679789570852 7.57971274195160 1.53958041812355 - 0.199553324605204 -0.643074441195629 -1.03736175788442 - -1.03744883725864 -0.161076583360367 -2.33269866148222 - -3.25301387968462 -3.55721457976068 -3.64950383600555 - -4.05514439751972 -3.98074363695051 -4.44191123705286 - -4.38751742146024 -4.74984755504668 -4.70074041160041 - -4.87825522548623 -4.87948502348079 -5.03176372310760 - -5.13295427458729 -5.22447656122274 0.621598543733159 - -12.4839980453756 -0.412277728073746 7.04082879663345 - 6.26516661785970 1.03135774666432 -2.62193996672898 - 1.47040150816820 3.59153849872157 -8.62652524873010 - 2.48839973293238 5.75627481235640 6.67876097604667 - 9.37066710164659 4.26167983004657 2.89685394534211 - -1.08849630472299 -12.1664776727881 -2.21796292742692 - -28.7251122334231 -6.16054027983151 -5.98273215436767 - -3.04248418786718 8.552399357955441E-002 0.469774773143334 - 0.898364263381963 1.21260109558540 1.01277812230391 - -9.69824071558264 -19.5371546957055 -14.1558674374933 - -14.1971670875248 -14.1729315426278 -13.9689438269648 - -13.9034673773315 -13.5411508429653 -13.2463353214890 - -12.9760031386748 -12.7514046573068 -13.7211906147358 - -11.4308490634108 -11.6623072369216 -11.6472873339738 - -11.6957275504611 -11.6151332739583 -11.3090893472718 - -11.1289246836688 -10.3515189374691 -9.79889275077505 - -12.0115875391719 -7.55461607804986 -5.65162476053135 - -5.87247105787351 -1.14968291952994 -5.57541210072413 - -2.90532455769516 -0.230235122536160 -0.187156095822191 - -0.155936844352131 1.07025280561793 1.09483028874712 - -0.343076900272498 1.67401766721613 1.55806781909755 - 2.71038097600802 2.53190332142046 -3.61624112176552 - 4.30877965334910 1.63950611941747 3.14942425652900 - 1.12156515231340 1.72783130551112 5.16995897027034 - 2.13487670184023 -0.255129782620519 -0.777816931222458 - -7.09498595835517 -4.76931552957600 -28.0077401814477 - -7.39407257915214 -2.68495299629862 0.273188749243716 - 1.63080912631324 1.63102134586732 -1.45366805048034 - 6.03337452272000 9.27362818553268 10.3043785417104 - 10.6164684868201 11.9850506947508 11.7362298355561 - 13.2756793105961 13.0942030930896 14.2921501182219 - 14.1302487874371 14.7124661335434 14.7167435214552 - 15.2115499148452 15.5362595998898 15.8328463372402 - -0.491520349825810 16.4101387176199 2.30540587126529 - -8.21097336843830 -6.52691350906175 1.45291499601356 - 6.27184973503466 0.810533638526066 -3.73224263433007 - 15.7343054207833 -1.73719297580736 -6.55586035646889 - -7.59568407903777 -11.4194247245824 -4.04842646647485 - -2.20681937852305 2.95222506717529 18.0084113648689 - 3.37035279230307 41.5659550044541 10.1272483238909 - 10.5666508786142 5.75399373166938 1.13083909864566 - 1.01801812035805 1.13719671452332 -0.473193454462162 - 1.32819356373240 16.1328368180362 29.4416652779339 - 21.2166975327088 21.1290267786743 20.9758579249137 - 20.5136319642407 20.3827716045483 19.7103768777391 - 19.2194578038427 18.7673003180851 18.4073867486280 - 20.1306874718062 16.3093410180271 16.6659270781706 - 16.6584031488612 16.7766211963344 16.7032214943771 - 16.3402132267041 16.1174136396014 15.1278767634304 - 14.4101980238272 18.2998611461637 11.3722680253932 - 8.81842195395070 9.11544642669664 2.23855138965914 - 8.93851715736504 5.14299371528491 1.15112957508743 - 1.13847961252007 1.12916280418522 -0.602145785050374 - -0.608502201304532 1.81586662632146 -1.21132168088927 - -0.820431597772678 -2.60233924774031 -2.54833958480317 - 6.95678981605543 -5.13079901578869 -0.892432028019230 - -3.04153323754871 0.223251833821613 -0.519848430603934 - -5.18486926324859 -1.25057584728824 2.13377230864300 - 2.29144911957043 11.6123907160319 7.51193546688740 - 41.8397440936302 11.4704279967990 4.38395185342740 - -7.239653462617071E-002 -2.07774343957153 -2.07798220203689 - 2.56181501842837 -8.56492613290864 -13.4340992265649 - -14.9468796410426 -15.4043301500021 -17.4087166986002 - -17.0468619470964 -19.2848551145744 -19.0197958191801 - -20.7530159649166 -20.5189117383209 -21.3556591469591 - -21.3620185018360 -22.0694648517084 -22.5289293159363 - -22.9538365276803 0.757527909420183 -9.44944521838354 - -1.78025280416351 4.84651305169607 3.52025389537239 - -1.90653114157260 -4.81455356944119 -1.47184948710073 - 2.15807563429797 -11.3386631480622 0.710688670941776 - 3.90936234850923 4.43078480603660 6.91395273894781 - 2.02483279985699 0.880885949868907 -2.19418413553600 - -11.6192943299188 -1.79108973163566 -27.1508718888352 - -6.83016401181417 -7.54594384977733 -4.02129760183142 - -0.906681456352114 -1.07434956850477 -1.55984173768131 - 6.285950630655962E-002 -1.82979624101538 -11.3298138988101 - -19.6016889446349 -13.9245043792815 -13.8171779802291 - -13.6747930262736 -13.3187512264195 -13.2215927165866 - -12.7330314932982 -12.3886461696147 -12.0759598905353 - -11.8291603994715 -13.3369003585255 -10.3830322804332 - -10.6140550442188 -10.6110631429024 -10.6906863294816 - -10.6543778608199 -10.4362905828696 -10.3005860176488 - -9.69273530985470 -9.24782603602960 -12.2123000117892 - -7.39944992354049 -5.84200432920899 -6.02357834046790 - -1.44259661788375 -6.07281564193326 -3.60101820687928 - -0.878431812156330 -0.901273031147632 -0.918088128208956 - 0.202760080124789 0.188808110728448 -1.63352657715630 - 0.442701772959540 4.717772207773797E-002 1.31513834181785 - 1.40197085805673 -5.27753295420337 3.12791052606502 - 8.948919310603415E-002 1.50147373597199 -0.861878402262922 - -0.441135025606639 2.47839520968395 0.102238338135743 - -2.11034194306033 -1.86774264699318 -8.18157200384718 - -5.02160436293244 -28.1909902463170 -7.82728452941452 - -3.01149316934107 2.794076964118403E-002 1.36723593680843 - 1.36733478577486 -1.85838101792182 5.65699044363242 - 9.03031334713575 10.0432667322759 10.3493484017418 - 11.6907428064495 11.4499242004394 12.9402561014644 - 12.7627010987485 13.9146047555016 13.7585821867031 - 14.3118291759944 14.3162536136396 14.7825813807538 - 15.0828125527272 15.3640833850756 -0.331263040553284 - 2.03744964745919 0.438864926175240 -1.12607301612396 - -0.761687437288881 0.608857353791649 1.27013170069034 - 0.496760931263345 -0.504869454755113 2.92810950514188 - -0.133888298473656 -0.926067737968114 -1.02794940252289 - -1.63737227079082 -0.411637481045171 -0.142315567754252 - 0.552530250554967 2.78940002799529 0.307557297696647 - 6.67599245759464 1.68170991048224 1.95654473598756 - 1.00090845072453 0.212346728667741 0.304990049729217 - 0.511734178538956 1.938366288244370E-003 0.590602203790280 - 2.89826913058730 4.86351336190421 3.39298237512705 - 3.36068527121544 3.32019122651811 3.22731311148153 - 3.20229372205892 3.07720181654110 2.98973002608862 - 2.91206089880305 2.85037171517896 3.33309390330137 - 2.48606722872967 2.54114884648464 2.54032388347555 - 2.55807339082178 2.55043150410313 2.49846770320728 - 2.46609922362613 2.32143562123649 2.21503686725283 - 3.04150882703865 1.79288206665071 1.43438501786484 - 1.47628625643854 0.326151763691070 1.52606942993845 - 0.917821731303788 0.219863609006095 0.232453364978580 - 0.241806925601985 -3.272488112968032E-002 -2.524452024736238E-002 - 0.477872719583811 -5.696089741532916E-002 7.149848950467189E-002 - -0.265689714470930 -0.317061590485158 1.43539402222875 - -0.753510951145285 5.569883463988144E-002 -0.296288482270673 - 0.337304057689721 0.246165357642990 -0.444681619815064 - 0.101607892884234 0.646797508194861 0.507203416209330 - 2.11314477705417 1.22365761621435 7.07289250085264 - 1.98082764027056 0.766599073354097 -3.779711371840801E-003 - -0.335902837893040 -0.335908778608166 0.510582309852459 - -1.38049615514363 -2.26129602917194 -2.51459353969880 - -2.59110247339935 -2.92664124610984 -2.86667898181199 - -3.23820353543287 -3.19368652810461 -3.48069448760429 - -3.44161428220817 -3.57891005116188 -3.58008219734881 - -3.69557662441363 -3.76936165687869 -3.83938492095079 - 2.245000000000000E-002 0.184000000000000 4.995456808291191E-003 - 1.700000000000000E-002 2.200000000000000E-002 8.000000000000000E-002 - 4.000000000000000E-002 8.000000000000000E-002 1.071388187345269E-002 - 4.200000000000000E-002 4.000000000000000E-002 5.000000000000000E-002 - 5.000000000000000E-002 4.000000000000000E-002 3.954393247688096E-002 - 3.834360119586522E-002 3.505770321755805E-002 3.152542951603161E-002 - 3.213249785003090E-002 2.629679961095212E-002 3.784581327835196E-002 - 4.000000000000000E-002 4.460073469802006E-002 4.680084097329058E-002 - 5.324945396240532E-002 6.000000000000000E-002 5.000000000000000E-002 - 6.500000000000000E-002 3.789606515127635E-002 3.942183973854008E-002 - 4.153622276903409E-002 4.304563483080672E-002 4.422716344734613E-002 - 4.631418488436640E-002 4.678225205483591E-002 4.876414745464152E-002 - 4.960894072651007E-002 5.069449076882333E-002 5.134436530260107E-002 - 5.174584585002585E-002 5.269957342504428E-002 5.453232790405289E-002 - 5.515804916715826E-002 5.772374660951764E-002 5.886071994143913E-002 - 6.104476060183125E-002 6.193730479194276E-002 6.477070798830334E-002 - 6.626482578087686E-002 6.999999999999999E-002 6.963025748668962E-002 - 7.158306194131865E-002 7.134440689671144E-002 7.278354010221125E-002 - 7.330773588439302E-002 7.473116582992502E-002 7.523453213187041E-002 - 7.561862389812245E-002 7.586982245006768E-002 7.692138687576607E-002 - 7.712956261514614E-002 7.882115760397239E-002 7.931310773387135E-002 - 8.092440801189553E-002 8.000000000000000E-002 8.225433454407435E-002 - 8.368285100632117E-002 8.503540404339392E-002 8.600764989096830E-002 - 8.839769980232332E-002 8.952512626205164E-002 9.158802953652141E-002 - 9.499999999999999E-002 9.247825870525096E-002 9.210420061901224E-002 - 9.148278586701411E-002 9.118054807133953E-002 9.075325202013876E-002 - 9.000000000000001E-002 9.266446200694359E-002 9.400230284414772E-002 - 9.499999999999999E-002 9.560183108778503E-002 9.560252525934770E-002 - 9.594515183254111E-002 0.100016082717832 0.100352634640763 - 0.101359724045338 0.101694814547458 0.103364200005449 - 0.103031024281191 0.105347676670228 0.105024388274803 - 0.107334377472957 0.107005246555151 0.108318954137637 - 0.108318937988878 0.109629792206280 0.110608214675099 - 0.111583208369679 1.432910631689862E-002 4.833325903694274E-002 - 6.222275648154255E-003 8.413921485323494E-003 9.616455129747566E-003 - 2.380988120888511E-002 1.841484010832272E-002 2.361429713409051E-002 - 7.816553507523420E-003 1.970700273051601E-002 1.676399479991240E-002 - 1.735596694002415E-002 1.673698861555367E-002 1.299134472680727E-002 - 1.586236562216881E-002 1.661615134390072E-002 1.930796920633007E-002 - 2.434456072905426E-002 2.153417698396758E-002 2.644190413145755E-002 - 2.264860832499861E-002 2.210553636931107E-002 2.273912394757618E-002 - 2.188204824810470E-002 2.230765303261347E-002 2.209986723992064E-002 - 2.261684299071079E-002 2.292501518997497E-002 2.425100162551922E-002 - 2.622322105528265E-002 2.687154210438619E-002 2.753772895628333E-002 - 2.805257046590821E-002 2.889408224361021E-002 2.908133703295294E-002 - 2.986250290888359E-002 3.019394013581575E-002 3.060415189263862E-002 - 3.084012467742422E-002 3.183529376642485E-002 3.155315084918532E-002 - 3.162988717116327E-002 3.164509437727544E-002 3.172597506673532E-002 - 3.173080143106130E-002 3.174532435238223E-002 3.174269223921990E-002 - 3.171076657008501E-002 3.166889224151025E-002 3.125250504899098E-002 - 3.253599915646574E-002 3.293199803629464E-002 3.287998779222579E-002 - 3.322237478218969E-002 3.330574546664998E-002 3.360328609911782E-002 - 3.383613467269808E-002 3.391557496341518E-002 3.396808797136938E-002 - 3.430481656697063E-002 3.434276378717301E-002 3.455006217328945E-002 - 3.489286887623665E-002 3.519094670206362E-002 3.429065735821592E-002 - 3.652343816719581E-002 3.585222278468762E-002 3.861182135927092E-002 - 3.740568222324602E-002 3.892978998451915E-002 3.810779131070235E-002 - 3.884460149744492E-002 3.858802548950652E-002 4.065937459996354E-002 - 4.086543496905867E-002 4.332792573262651E-002 4.165920122893570E-002 - 4.402246939378456E-002 4.124498382094741E-002 4.337510554909374E-002 - 4.484440119235690E-002 4.600807818518968E-002 4.663529770286970E-002 - 4.663472087274564E-002 4.482216624128142E-002 4.787901458208471E-002 - 5.049642645398719E-002 5.100613921173114E-002 5.115832938682963E-002 - 5.180152102964582E-002 5.168491465318384E-002 5.238198498160255E-002 - 5.231526617717978E-002 5.280928000715800E-002 5.274166592729824E-002 - 5.298862564575122E-002 5.299277752579554E-002 5.318804858075203E-002 - 5.331841776405580E-002 5.342317780750782E-002 156.482114078369 - 114.807292333697 492.293372730001 651.910738053537 - 665.316537977239 430.290497182148 519.554387339780 - 523.200776972053 831.515911652783 722.060578169282 - 770.701059065608 811.788198915636 780.727287824262 - 921.134357141456 854.825507003871 853.976400925825 - 863.545791909875 896.329284341857 884.991883946947 - 883.072782456065 991.204427788963 1050.98623310669 - 1070.56995999429 1085.48685694993 1129.38823705917 - 1169.85980767326 1138.74361325352 1057.99679591235 - 1056.46994835592 1222.80642028685 1196.89033465403 - 1213.96834259834 1227.38247351983 1251.78371853089 - 1257.23439982511 1280.46837791555 1290.17859839236 - 1302.92351530975 1310.61546157986 1305.50721457195 - 1340.93329398661 1377.22101983233 1389.54694128219 - 1439.62906679740 1461.77639964560 1503.87881396248 - 1520.96143272239 1574.95075171800 1602.97564474394 - 1678.60988317012 1610.29124554946 1626.94218967726 - 1624.92120871995 1628.81918960721 1644.59423434348 - 1653.50900141857 1651.80398626344 1655.62776607810 - 1658.07365713004 1665.26250295514 1667.34852492133 - 1689.05368348985 1688.02634512469 1705.03415563964 - 1741.48686910915 1727.24810352050 1744.24633857131 - 1722.72589634463 1731.02459542531 1728.02371473784 - 1734.22508360606 1733.84488186800 1728.35132854769 - 1770.98973588670 1779.64287090667 1788.66674018995 - 1798.78661124248 1802.65540431718 1769.41174433761 - 1876.13970045519 1952.61890996569 2011.64824414431 - 2048.19403837133 2048.24362088227 2070.91177478251 - 2331.63169947478 2358.31683507195 2428.10054299849 - 2451.63841443949 2571.29955370118 2547.19301769365 - 2718.11844875558 2693.90893041841 2870.25755724313 - 2844.61934318837 2947.43612724335 2947.44233478492 - 3052.15525503342 3131.68201671531 3212.29894364813 diff --git a/StarVMC/geant3/diff.072708 b/StarVMC/geant3/diff.072708 deleted file mode 100644 index dbc7fac9387..00000000000 --- a/StarVMC/geant3/diff.072708 +++ /dev/null @@ -1,27718 +0,0 @@ -Only in ./added: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/added: .svn -Only in ./block: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdevap.F ./block/fdevap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdevap.F 2007-11-19 11:08:06.784934830 -0500 -+++ ./block/fdevap.F 2005-05-25 18:36:37.555514816 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdnopt.F ./block/fdnopt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdnopt.F 2007-11-19 11:08:06.322556153 -0500 -+++ ./block/fdnopt.F 2005-05-25 18:36:37.308852884 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdpree.F ./block/fdpree.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdpree.F 2007-11-19 11:08:06.916687281 -0500 -+++ ./block/fdpree.F 2005-05-25 18:36:37.885584733 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt1.F ./block/flkdt1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt1.F 2007-11-19 11:08:06.759390040 -0500 -+++ ./block/flkdt1.F 2005-05-25 18:36:38.942746369 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt2.F ./block/flkdt2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt2.F 2007-11-19 11:08:06.299074845 -0500 -+++ ./block/flkdt2.F 2005-05-25 18:36:38.295401927 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt3.F ./block/flkdt3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt3.F 2007-11-19 11:08:06.121458457 -0500 -+++ ./block/flkdt3.F 2005-05-25 18:36:38.526144748 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt4.F ./block/flkdt4.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt4.F 2007-11-19 11:08:06.124915491 -0500 -+++ ./block/flkdt4.F 2005-05-25 18:36:38.942984769 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt5.F ./block/flkdt5.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt5.F 2007-11-19 11:08:06.775510091 -0500 -+++ ./block/flkdt5.F 2005-05-25 18:36:38.638070837 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt6.F ./block/flkdt6.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt6.F 2007-11-19 11:08:06.953109968 -0500 -+++ ./block/flkdt6.F 2005-05-25 18:36:38.923527382 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt7.F ./block/flkdt7.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt7.F 2007-11-19 11:08:06.967451007 -0500 -+++ ./block/flkdt7.F 2005-05-25 18:36:38.450848251 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: cdf -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgaffi.F ./cgpack/cgaffi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgaffi.F 2007-11-19 11:08:06.705827018 -0500 -+++ ./cgpack/cgaffi.F 2005-05-25 18:36:38.565282791 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbfit.F ./cgpack/cgbfit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbfit.F 2007-11-19 11:08:06.694439310 -0500 -+++ ./cgpack/cgbfit.F 2005-05-25 18:36:38.437339350 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbint.F ./cgpack/cgbint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbint.F 2007-11-19 11:08:06.435682524 -0500 -+++ ./cgpack/cgbint.F 2005-05-25 18:36:38.521755062 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbmmt.F ./cgpack/cgbmmt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbmmt.F 2007-11-19 11:08:06.301578318 -0500 -+++ ./cgpack/cgbmmt.F 2005-05-25 18:36:38.767554144 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbool.F ./cgpack/cgbool.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbool.F 2007-11-19 11:08:06.115644711 -0500 -+++ ./cgpack/cgbool.F 2005-05-25 18:36:38.937580554 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbox.F ./cgpack/cgbox.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbox.F 2007-11-19 11:08:06.389528201 -0500 -+++ ./cgpack/cgbox.F 2005-05-25 18:36:38.989635190 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbrik.F ./cgpack/cgbrik.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbrik.F 2007-11-19 11:08:06.813694603 -0500 -+++ ./cgpack/cgbrik.F 2005-05-25 18:36:38.179469280 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsea.F ./cgpack/cgbsea.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsea.F 2007-11-19 11:08:06.260056432 -0500 -+++ ./cgpack/cgbsea.F 2005-05-25 18:36:38.537774181 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsec.F ./cgpack/cgbsec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsec.F 2007-11-19 11:08:06.329669191 -0500 -+++ ./cgpack/cgbsec.F 2005-05-25 18:36:38.567819146 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsor.F ./cgpack/cgbsor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsor.F 2007-11-19 11:08:06.846100342 -0500 -+++ ./cgpack/cgbsor.F 2005-05-25 18:36:38.619182800 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsub.F ./cgpack/cgbsub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsub.F 2007-11-19 11:08:06.121103460 -0500 -+++ ./cgpack/cgbsub.F 2005-05-25 18:36:38.191102528 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbtef.F ./cgpack/cgbtef.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbtef.F 2007-11-19 11:08:06.554755308 -0500 -+++ ./cgpack/cgbtef.F 2005-05-25 18:36:38.834692746 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbtfp.F ./cgpack/cgbtfp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbtfp.F 2007-11-19 11:08:06.697294389 -0500 -+++ ./cgpack/cgbtfp.F 2005-05-25 18:36:38.941689597 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbttt.F ./cgpack/cgbttt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbttt.F 2007-11-19 11:08:06.468635540 -0500 -+++ ./cgpack/cgbttt.F 2005-05-25 18:36:38.357725678 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgcev.F ./cgpack/cgcev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgcev.F 2007-11-19 11:08:06.328704559 -0500 -+++ ./cgpack/cgcev.F 2005-05-25 18:36:38.052311290 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgcopy.F ./cgpack/cgcopy.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgcopy.F 2007-11-19 11:08:06.203456939 -0500 -+++ ./cgpack/cgcopy.F 2005-05-25 18:36:39.826943493 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgelli.F ./cgpack/cgelli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgelli.F 2007-11-19 11:08:06.210930689 -0500 -+++ ./cgpack/cgelli.F 2005-05-25 18:36:39.101763354 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfac2.F ./cgpack/cgfac2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfac2.F 2007-11-19 11:08:06.022840484 -0500 -+++ ./cgpack/cgfac2.F 2005-05-25 18:36:39.441202735 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfaco.F ./cgpack/cgfaco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfaco.F 2007-11-19 11:08:06.031875490 -0500 -+++ ./cgpack/cgfaco.F 2005-05-25 18:36:39.010223441 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfare.F ./cgpack/cgfare.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfare.F 2007-11-19 11:08:06.980810886 -0500 -+++ ./cgpack/cgfare.F 2005-05-25 18:36:39.480801618 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfvis.F ./cgpack/cgfvis.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfvis.F 2007-11-19 11:08:06.491673788 -0500 -+++ ./cgpack/cgfvis.F 2005-05-25 18:36:39.007873788 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghcre.F ./cgpack/cghcre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghcre.F 2007-11-19 11:08:06.142337337 -0500 -+++ ./cgpack/cghcre.F 2005-05-25 18:36:39.104596638 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghdfa.F ./cgpack/cghdfa.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghdfa.F 2007-11-19 11:08:06.277693021 -0500 -+++ ./cgpack/cghdfa.F 2005-05-25 18:36:39.737879961 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghend.F ./cgpack/cghend.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghend.F 2007-11-19 11:08:06.581273671 -0500 -+++ ./cgpack/cghend.F 2005-05-25 18:36:39.626632081 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgheva.F ./cgpack/cgheva.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgheva.F 2007-11-19 11:08:06.244659705 -0500 -+++ ./cgpack/cgheva.F 2005-05-25 18:36:39.895157249 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghins.F ./cgpack/cghins.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghins.F 2007-11-19 11:08:06.809713741 -0500 -+++ ./cgpack/cghins.F 2005-05-25 18:36:39.773054720 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghmov.F ./cgpack/cghmov.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghmov.F 2007-11-19 11:08:06.794182605 -0500 -+++ ./cgpack/cghmov.F 2005-05-25 18:36:39.834094954 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghpla.F ./cgpack/cghpla.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghpla.F 2007-11-19 11:08:06.817075079 -0500 -+++ ./cgpack/cghpla.F 2005-05-25 18:36:39.167837799 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghpla.F.ori ./cgpack/cghpla.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghpla.F.ori 2007-10-04 19:45:50.087506237 -0400 -+++ ./cgpack/cghpla.F.ori 2005-05-25 18:36:39.955804880 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghren.F ./cgpack/cghren.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghren.F 2007-11-19 11:08:06.359668179 -0500 -+++ ./cgpack/cghren.F 2005-05-25 18:36:39.791426786 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghshi.F ./cgpack/cghshi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghshi.F 2007-11-19 11:08:06.079294509 -0500 -+++ ./cgpack/cghshi.F 2005-05-25 18:36:39.517718879 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghsiz.F ./cgpack/cghsiz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghsiz.F 2007-11-19 11:08:06.743769979 -0500 -+++ ./cgpack/cghsiz.F 2005-05-25 18:36:39.929242057 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghtre.F ./cgpack/cghtre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghtre.F 2007-11-19 11:08:06.280108478 -0500 -+++ ./cgpack/cghtre.F 2005-05-25 18:36:39.377411282 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cginve.F ./cgpack/cginve.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cginve.F 2007-11-19 11:08:06.394220077 -0500 -+++ ./cgpack/cginve.F 2005-05-25 18:36:39.542339562 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgmnmx.F ./cgpack/cgmnmx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgmnmx.F 2007-11-19 11:08:06.043661425 -0500 -+++ ./cgpack/cgmnmx.F 2005-05-25 18:36:39.401064288 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgpers.F ./cgpack/cgpers.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgpers.F 2007-11-19 11:08:06.579192118 -0500 -+++ ./cgpack/cgpers.F 2005-05-25 18:36:39.192485734 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgrifl.F ./cgpack/cgrifl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgrifl.F 2007-11-19 11:08:06.762427323 -0500 -+++ ./cgpack/cgrifl.F 2005-05-25 18:36:39.733669171 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsaan.F ./cgpack/cgsaan.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsaan.F 2007-11-19 11:08:06.135476718 -0500 -+++ ./cgpack/cgsaan.F 2005-05-25 18:36:39.079607649 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgscop.F ./cgpack/cgscop.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgscop.F 2007-11-19 11:08:06.081438270 -0500 -+++ ./cgpack/cgscop.F 2005-05-25 18:36:39.524645892 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgshel.F ./cgpack/cgshel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgshel.F 2007-11-19 11:08:06.490780130 -0500 -+++ ./cgpack/cgshel.F 2005-05-25 18:36:39.299404720 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgshif.F ./cgpack/cgshif.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgshif.F 2007-11-19 11:08:06.054915549 -0500 -+++ ./cgpack/cgshif.F 2005-05-25 18:36:40.377482302 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsize.F ./cgpack/cgsize.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsize.F 2007-11-19 11:08:06.253103213 -0500 -+++ ./cgpack/cgsize.F 2005-05-25 18:36:40.887107811 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgslic.F ./cgpack/cgslic.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgslic.F 2007-11-19 11:08:06.762528307 -0500 -+++ ./cgpack/cgslic.F 2005-05-25 18:36:40.086060923 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsnor.F ./cgpack/cgsnor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsnor.F 2007-11-19 11:08:06.625853439 -0500 -+++ ./cgpack/cgsnor.F 2005-05-25 18:36:40.126253047 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsphe.F ./cgpack/cgsphe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsphe.F 2007-11-19 11:08:06.289787714 -0500 -+++ ./cgpack/cgsphe.F 2005-05-25 18:36:40.735845031 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsub.F ./cgpack/cgsub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsub.F 2007-11-19 11:08:06.537335898 -0500 -+++ ./cgpack/cgsub.F 2005-05-25 18:36:40.913509466 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgtset.F ./cgpack/cgtset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgtset.F 2007-11-19 11:08:06.430868778 -0500 -+++ ./cgpack/cgtset.F 2005-05-25 18:36:40.437056711 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgtstr.F ./cgpack/cgtstr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgtstr.F 2007-11-19 11:08:06.409910175 -0500 -+++ ./cgpack/cgtstr.F 2005-05-25 18:36:40.653521298 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvedg.F ./cgpack/cgvedg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvedg.F 2007-11-19 11:08:06.122671904 -0500 -+++ ./cgpack/cgvedg.F 2005-05-25 18:36:40.398648901 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvhed.F ./cgpack/cgvhed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvhed.F 2007-11-19 11:08:06.196355644 -0500 -+++ ./cgpack/cgvhed.F 2005-05-25 18:36:40.961661797 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvtef.F ./cgpack/cgvtef.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvtef.F 2007-11-19 11:08:06.564765010 -0500 -+++ ./cgpack/cgvtef.F 2005-05-25 18:36:40.146672131 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvtin.F ./cgpack/cgvtin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvtin.F 2007-11-19 11:08:06.262635640 -0500 -+++ ./cgpack/cgvtin.F 2005-05-25 18:36:40.329822953 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgwire.F ./cgpack/cgwire.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgwire.F 2007-11-19 11:08:06.990017750 -0500 -+++ ./cgpack/cgwire.F 2005-05-25 18:36:40.201443905 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgwsor.F ./cgpack/cgwsor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgwsor.F 2007-11-19 11:08:06.500618328 -0500 -+++ ./cgpack/cgwsor.F 2005-05-25 18:36:40.277409076 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgzre.F ./cgpack/cgzre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgzre.F 2007-11-19 11:08:06.755048250 -0500 -+++ ./cgpack/cgzre.F 2005-05-25 18:36:40.669346999 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgzrev.F ./cgpack/cgzrev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgzrev.F 2007-11-19 11:08:06.660466754 -0500 -+++ ./cgpack/cgzrev.F 2005-05-25 18:36:40.484984481 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -Only in ./cgpack: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack: .svn -Only in ./comad: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/comad/gcadd.cxx ./comad/gcadd.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/comad/gcadd.cxx 2007-11-19 11:08:06.707592340 -0500 -+++ ./comad/gcadd.cxx 2005-05-25 18:36:40.832277859 -0400 -@@ -15,6 +15,12 @@ - - /* - $Log: diff.072708,v $ - Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - Merge with .DEV2 - - Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - Merge with macos version - -+Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+Alice version of geant3 (-minicern) -+ -+Revision 1.2 2003/11/28 11:23:55 brun -+New version of geant321 with all geant3 routines renamed from G to G3 -+ - Revision 1.1.1.1 2002/07/24 15:56:24 rdm - initial import into CVS - -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/comad: .svn -Only in .: CVS -Only in .: .cvsignore -Only in ./data: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/data: .svn -Only in .: diff.072708 -Only in ./doc/cmze: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze: .svn -Only in ./doc/cmze/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_15 ./doc/cmze/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_15 2007-10-04 19:45:50.949823629 -0400 -+++ ./doc/cmze/Versions/v3_15 2005-05-25 18:37:22.210162393 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_16 ./doc/cmze/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_16 2007-10-04 19:45:50.205844645 -0400 -+++ ./doc/cmze/Versions/v3_16 2005-05-25 18:37:22.739267550 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_21 ./doc/cmze/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_21 2007-10-04 19:45:50.737738740 -0400 -+++ ./doc/cmze/Versions/v3_21 2005-05-25 18:37:22.746076510 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzf: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf: .svn -Only in ./doc/cmzf/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions/v3_16 ./doc/cmzf/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions/v3_16 2007-10-04 19:45:50.220716446 -0400 -+++ ./doc/cmzf/Versions/v3_16 2005-05-25 18:37:22.863074327 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions/v3_21 ./doc/cmzf/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions/v3_21 2007-10-04 19:45:50.408098504 -0400 -+++ ./doc/cmzf/Versions/v3_21 2005-05-25 18:37:22.103384709 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzg: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg: .svn -Only in ./doc/cmzg/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_12 ./doc/cmzg/Versions/v3_12 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_12 2007-10-04 19:45:50.207225199 -0400 -+++ ./doc/cmzg/Versions/v3_12 2005-05-25 18:37:22.958069295 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_13 ./doc/cmzg/Versions/v3_13 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_13 2007-10-04 19:45:50.549317133 -0400 -+++ ./doc/cmzg/Versions/v3_13 2005-05-25 18:37:22.529039350 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_14 ./doc/cmzg/Versions/v3_14 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_14 2007-10-04 19:45:50.730067369 -0400 -+++ ./doc/cmzg/Versions/v3_14 2005-05-25 18:37:22.089056387 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_15 ./doc/cmzg/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_15 2007-10-04 19:45:50.677539450 -0400 -+++ ./doc/cmzg/Versions/v3_15 2005-05-25 18:37:22.469126685 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_16 ./doc/cmzg/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_16 2007-10-04 19:45:50.577199829 -0400 -+++ ./doc/cmzg/Versions/v3_16 2005-05-25 18:37:22.464534282 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_21 ./doc/cmzg/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_21 2007-10-04 19:45:50.069005536 -0400 -+++ ./doc/cmzg/Versions/v3_21 2005-05-25 18:37:22.756408473 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzh: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh: .svn -Only in ./doc/cmzh/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_14 ./doc/cmzh/Versions/v3_14 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_14 2007-10-04 19:45:50.883249801 -0400 -+++ ./doc/cmzh/Versions/v3_14 2005-05-25 18:37:22.951970665 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_15 ./doc/cmzh/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_15 2007-10-04 19:45:50.641389599 -0400 -+++ ./doc/cmzh/Versions/v3_15 2005-05-25 18:37:22.513671649 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_16 ./doc/cmzh/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_16 2007-10-04 19:45:50.890583834 -0400 -+++ ./doc/cmzh/Versions/v3_16 2005-05-25 18:37:22.187596708 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_21 ./doc/cmzh/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_21 2007-10-04 19:45:50.763070100 -0400 -+++ ./doc/cmzh/Versions/v3_21 2005-05-25 18:37:22.337341808 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzm: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm: .svn -Only in ./doc/cmzm/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions/v3_16 ./doc/cmzm/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions/v3_16 2007-10-04 19:45:50.875068036 -0400 -+++ ./doc/cmzm/Versions/v3_16 2005-05-25 18:37:22.883598386 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions/v3_21 ./doc/cmzm/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions/v3_21 2007-10-04 19:45:50.288786640 -0400 -+++ ./doc/cmzm/Versions/v3_21 2005-05-25 18:37:22.429819991 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzt: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt: .svn -Only in ./doc/cmzt/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_13 ./doc/cmzt/Versions/v3_13 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_13 2007-10-04 19:45:50.017682564 -0400 -+++ ./doc/cmzt/Versions/v3_13 2005-05-25 18:37:22.048573913 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_14 ./doc/cmzt/Versions/v3_14 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_14 2007-10-04 19:45:50.013519616 -0400 -+++ ./doc/cmzt/Versions/v3_14 2005-05-25 18:37:22.563335416 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_15 ./doc/cmzt/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_15 2007-10-04 19:45:50.085019373 -0400 -+++ ./doc/cmzt/Versions/v3_15 2005-05-25 18:37:22.251870375 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_16 ./doc/cmzt/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_16 2007-10-04 19:45:50.656300418 -0400 -+++ ./doc/cmzt/Versions/v3_16 2005-05-25 18:37:22.148232651 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_21 ./doc/cmzt/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_21 2007-10-04 19:45:50.225281016 -0400 -+++ ./doc/cmzt/Versions/v3_21 2005-05-25 18:37:22.322086762 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzx: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx: .svn -Only in ./doc/cmzx/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_14 ./doc/cmzx/Versions/v3_14 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_14 2007-10-04 19:45:50.487775645 -0400 -+++ ./doc/cmzx/Versions/v3_14 2005-05-25 18:37:22.006507471 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_15 ./doc/cmzx/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_15 2007-10-04 19:45:50.278257288 -0400 -+++ ./doc/cmzx/Versions/v3_15 2005-05-25 18:37:22.873461610 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_16 ./doc/cmzx/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_16 2007-10-04 19:45:50.391327991 -0400 -+++ ./doc/cmzx/Versions/v3_16 2005-05-25 18:37:22.439992741 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_21 ./doc/cmzx/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_21 2007-10-04 19:45:50.312107869 -0400 -+++ ./doc/cmzx/Versions/v3_21 2005-05-25 18:37:22.671410137 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/gedoc ./doc/gedoc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/gedoc 2007-10-04 19:45:50.487193829 -0400 -+++ ./doc/gedoc 2005-05-25 18:37:22.602778062 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/blank.doc ./doc/ghdoc/blank.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/blank.doc 2007-10-04 19:45:50.448413886 -0400 -+++ ./doc/ghdoc/blank.doc 2005-05-25 18:37:22.583002824 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/consts.doc ./doc/ghdoc/consts.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/consts.doc 2007-10-04 19:45:50.902985658 -0400 -+++ ./doc/ghdoc/consts.doc 2005-05-25 18:37:22.224873014 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/curpar.doc ./doc/ghdoc/curpar.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/curpar.doc 2007-10-04 19:45:50.915898856 -0400 -+++ ./doc/ghdoc/curpar.doc 2005-05-25 18:37:22.105946084 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/ghdoc: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/errcom.doc ./doc/ghdoc/errcom.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/errcom.doc 2007-10-04 19:45:50.400619928 -0400 -+++ ./doc/ghdoc/errcom.doc 2005-05-25 18:37:22.146977020 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/event.doc ./doc/ghdoc/event.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/event.doc 2007-10-04 19:45:50.845365179 -0400 -+++ ./doc/ghdoc/event.doc 2005-05-25 18:37:22.173435362 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/masind.doc ./doc/ghdoc/masind.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/masind.doc 2007-10-04 19:45:50.835053508 -0400 -+++ ./doc/ghdoc/masind.doc 2005-05-25 18:37:22.402004684 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/masses.doc ./doc/ghdoc/masses.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/masses.doc 2007-10-04 19:45:50.293792957 -0400 -+++ ./doc/ghdoc/masses.doc 2005-05-25 18:37:22.695551774 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/mat.doc ./doc/ghdoc/mat.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/mat.doc 2007-10-04 19:45:50.863949292 -0400 -+++ ./doc/ghdoc/mat.doc 2005-05-25 18:37:22.893984636 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/result.doc ./doc/ghdoc/result.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/result.doc 2007-10-04 19:45:50.046927354 -0400 -+++ ./doc/ghdoc/result.doc 2005-05-25 18:37:22.302134755 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc: .svn -Only in ./doc/history: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/geane321 ./doc/history/geane321 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/geane321 2007-10-04 19:45:50.266821164 -0400 -+++ ./doc/history/geane321 2005-05-25 18:37:23.218840166 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/geanx321 ./doc/history/geanx321 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/geanx321 2007-10-04 19:45:50.513589677 -0400 -+++ ./doc/history/geanx321 2005-05-25 18:37:23.768835650 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/h_v_314.F ./doc/history/h_v_314.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/h_v_314.F 2007-11-19 11:08:06.332232122 -0500 -+++ ./doc/history/h_v_314.F 2005-05-25 18:37:23.513095279 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_313.F ./doc/history/v_313.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_313.F 2007-11-19 11:08:06.694960564 -0500 -+++ ./doc/history/v_313.F 2005-05-25 18:37:23.301741951 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_314.F ./doc/history/v_314.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_314.F 2007-11-19 11:08:06.267445967 -0500 -+++ ./doc/history/v_314.F 2005-05-25 18:37:23.075661269 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_315.F ./doc/history/v_315.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_315.F 2007-11-19 11:08:06.690905038 -0500 -+++ ./doc/history/v_315.F 2005-05-25 18:37:23.849959714 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_316.F ./doc/history/v_316.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_316.F 2007-11-19 11:08:06.937063127 -0500 -+++ ./doc/history/v_316.F 2005-05-25 18:37:23.774591098 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/include_specials: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials/incbeg.inc ./doc/include_specials/incbeg.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials/incbeg.inc 2007-11-19 11:08:06.481095872 -0500 -+++ ./doc/include_specials/incbeg.inc 2005-05-25 18:37:23.858974425 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials/incend.inc ./doc/include_specials/incend.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials/incend.inc 2007-11-19 11:08:06.850591769 -0500 -+++ ./doc/include_specials/incend.inc 2005-05-25 18:37:23.406074099 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc: .svn -Only in ./erdecks: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erbcer.F ./erdecks/erbcer.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erbcer.F 2007-11-19 11:08:06.140647599 -0500 -+++ ./erdecks/erbcer.F 2005-05-25 18:37:23.013784318 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erbctr.F ./erdecks/erbctr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erbctr.F 2007-11-19 11:08:06.734464004 -0500 -+++ ./erdecks/erbctr.F 2005-05-25 18:37:23.194086811 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erland.F ./erdecks/erland.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erland.F 2007-11-19 11:08:06.233937761 -0500 -+++ ./erdecks/erland.F 2007-05-18 12:58:55.370059093 -0400 -@@ -1,7 +1,103 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.3 2007/05/18 08:44:16 brun -+* A major update of GEANTE by Andrea Fontana and Alberto Rotondi -+* -+* -+* 1) update of the Coulomb multiple scattering parametrization; -+* 2) update of the straggling of energy loss for thin materials; -+* 3) new options to extrapolate the track parameters to the point -+* of closest approach to a point or to a wire (straight line). -+* -+* Details on the physical motivation behind this work can be found -+* in our report for the Panda Collaboration, available at: -+* -+* http://www.pv.infn.it/~fontana/tracking.pdf -+* -+* Feel free to contact us for questions and discussions about these -+* topics by using the following email addresses: -+* -+* alberto.rotondi@pv.infn.it -+* andrea.fontana@pv.infn.it -+* -+* --- -+* -+* List of changes in the fortran and C++ routines of the geant3 -+* VMC directory: -+* -+* - gcmore.inc -+* gtmore.inc -+* geant3LinkDef.h -+* gcomad.F -+* -+* Added a new common that contains all the new variables: -+* COMMON/GCMORE/GCALPHA,ICLOSE,PFINAL(3),DSTRT,WIRE1(3),WIRE2(3), -+* + P1(3),P2(3),P3(3),CLENG(3) -+* -+* input to ERLAND: -+* GCALPHA: energy cut parameter for energy loss fluctuations -+* -+* input to EUSTEP: -+* ICLOSE: = 1 the use of the common is enabled for the closest -+* approach to a point PFINAL(3) -+* = 2 the use of the common is enabled for the closest -+* approach to a wire of extremes WIRE1(3) and WIRE2(3) -+* = 0 the common is empty and disabled -+* PFINAL(3): assigned point -+* DSTRT: assigned distance between initial point in ERTRAK -+* and PFINAL along straight line (currently noy used) -+* WIRE1(3): first point of a wire -+* WIRE2(3): second point of a wire -+* -+* output from EUSTEP: -+* P1(3): point previous to the point of closest approach to -+* PFINAL() or wire -+* P2(3): point of closest approach to PFINAL() or wire -+* P3(3): point next to the point of closest approach to -+* PFINAL() or wire -+* CLENG(3): track length to the previous 3 points -+* -+* Important note: the calculated points of closest approach are -+* depending on the GEANE steps. For calculating the true point -+* of closest approach the last 3 points of the extrapolation, i.e. -+* the previous to closest, the closest and the next to closest are -+* returned to the user. Different algorithms can be implemented, but -+* we decided to leave this to the users in the C++ interface to GEANE. -+* -+* - ermcsc.F -+* new expression for the variance of the Coulomb multiple scattering -+* according to Fruhwirth and Regler, NIM A 456 (2001) 369 -+* -+* - ertrch.F -+* added DESTEP in the calling string of ERLAND for calculation with -+* Urban model. Added and saved previous step PRSTEP. -+* -+* - erland.F -+* added new calculation for sigma of straggling in energy loss -+* to include in Geane the Urban/Landau approximation, as explained -+* in the Geant manual and related papers. -+* The model parametrization can be controlled with a user variable (GCALPHA) -+* in the new GCMORE common block: 1 is for old gaussian model valid -+* for dense materials, other values (see the report) are for gaseous -+* materials. -+* -+* - eustep.F -+* added the calculation to the distance of closest approach to a point -+* or to a wire. -+* -+* - TGeant3.h -+* - TGeant3.cxx -+* added the possibility to define user cuts (already present in the gccuts -+* struct but not in the TGeant3::SetCUTS method) and to define the new -+* variables of the GCMORE common with two new methods SetECut() and -+* SetClose(). -+* Added new method InitGEANE() to initialize GEANE to the old behaviour -+* (default) for backward compatibility. Only the multiple scattering has -+* been updated to a more correct formula. -+* Corrected a typo in the call to the routine Trscsd(). -+* - * Revision 1.2 2007/03/31 13:47:09 brun - * From Andrea Fontana and Alberto Rotondi - * Added new calculation for sigma of straggling in energy loss to include -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ermcsc.F ./erdecks/ermcsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ermcsc.F 2007-11-19 11:08:06.558496040 -0500 -+++ ./erdecks/ermcsc.F 2007-05-18 12:59:29.177670168 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.2 2007/03/31 13:45:49 brun -+* From Andrea Fontana and Alberto Rotondi -+* New expression for the variance of the Coulomb multiple scattering -+* according to Fruhwirth and Regler, NIM A 456 (2001) 369 -+* -+* CVS-- -- ------------------------------------------------------------------ -+* : ---------------------------------------------------------------------- -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erpini.F ./erdecks/erpini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erpini.F 2007-11-19 11:08:06.509941648 -0500 -+++ ./erdecks/erpini.F 2005-05-25 18:37:23.588240536 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erprop.F ./erdecks/erprop.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erprop.F 2007-11-19 11:08:06.931416358 -0500 -+++ ./erdecks/erprop.F 2005-05-25 18:37:23.657010035 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erstor.F ./erdecks/erstor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erstor.F 2007-11-19 11:08:06.327401010 -0500 -+++ ./erdecks/erstor.F 2005-10-27 12:06:07.742095245 -0400 -@@ -1,12 +1,18 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * --* Revision 1.1.1.1 2002/06/16 15:18:35 hristov --* Separate distribution of Geant3 -+* Revision 1.2 2005/06/09 00:10:03 fisyak -+* comply with STAR - * --* Revision 1.1.1.1 1999/05/18 15:55:15 fca --* AliRoot sources -+* Revision 1.2 2004/02/12 15:33:10 fisyak -+* move STAR version of erdecks from rexe to geant321 -+* -+* Revision 1.2 2000/01/10 16:22:14 fisyak -+* Modify for multiple volume entries -+* -+* Revision 1.1 1999/12/07 15:44:30 fisyak -+* Add geane, new TGeant3 from Alice - * - * Revision 1.1.1.1 1996/03/06 15:37:35 mclareni - * Add geane321 source directories -@@ -37,7 +43,8 @@ - * *** Write out results at intermediate points - * - ILPRED = ILPRED + 1 -- IF (ILPRED.GE.NEPRED) ISTOP = 1 -+*yf IF (ILPRED.GE.NEPRED) ISTOP = 1 -+ ISTOP = 1 - IEPRED(ILPRED) = INLIST - * - * *** Leave B-matrix intact for eventual further tracking -Only in ./erdecks: erstor.F~ -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrak.F ./erdecks/ertrak.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrak.F 2007-11-19 11:08:06.302435126 -0500 -+++ ./erdecks/ertrak.F 2006-12-20 19:17:36.154670594 -0500 -@@ -1,7 +1,10 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -Only in ./erdecks: ertrak.F~ -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrgo.F ./erdecks/ertrgo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrgo.F 2007-11-19 11:08:06.793474583 -0500 -+++ ./erdecks/ertrgo.F 2007-05-18 13:00:11.416359616 -0400 -@@ -1,7 +1,10 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./erdecks: ertrgo.F~ -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrnt.F ./erdecks/ertrnt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrnt.F 2007-11-19 11:08:06.667840389 -0500 -+++ ./erdecks/ertrnt.F 2005-05-25 18:37:23.341098469 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erxyzc.F ./erdecks/erxyzc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erxyzc.F 2007-11-19 11:08:06.395943061 -0500 -+++ ./erdecks/erxyzc.F 2005-05-25 18:37:23.346801645 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufill.F ./erdecks/eufill.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufill.F 2007-11-19 11:08:06.696030528 -0500 -+++ ./erdecks/eufill.F 2005-05-25 18:37:23.296760563 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufilp.F ./erdecks/eufilp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufilp.F 2007-11-19 11:08:06.000544961 -0500 -+++ ./erdecks/eufilp.F 2005-05-25 18:37:23.816426964 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufilv.F ./erdecks/eufilv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufilv.F 2007-11-19 11:08:06.107944925 -0500 -+++ ./erdecks/eufilv.F 2005-05-25 18:37:23.838288278 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eustep.F ./erdecks/eustep.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eustep.F 2008-06-09 08:09:52.354946560 -0400 -+++ ./erdecks/eustep.F 2007-05-18 13:00:39.460335879 -0400 -@@ -1,5 +1,5 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * - * Revision 1.2 2007/05/18 08:44:16 brun -@@ -125,55 +125,55 @@ - #include "geant321/gconst.inc" - #include "geant321/gccuts.inc" - #include "geant321/gcmore.inc" --#include "geant321/gcjump.inc" - * - INTEGER*4 ICC,CFLAG -- SAVE ICC, ICONT -+ SAVE ICC - REAL*4 DIST2,PRDIST2 -- -- SAVE PRDIST2 -+ INTEGER*4 COUNT -+ REAL*4 PZ(3) -+ SAVE PRDIST2,COUNT - REAL*4 D2X,D2Y,D2Z,AMODD -- DATA ICC/0/, ICONT/0/ -+ DATA ICC/0/,COUNT/0/ - * --* clear ICC when tracking starts -- IF(SLENG .EQ. 0.) ICC = 0 -- - CFLAG=ICLOSE - IF (IDEBUG*ISWIT(2).NE.0) CALL ERXYZC -- - IF(CFLAG.EQ.1) THEN --* distance between the track point and the point -+ DO K=1,3 -+ PZ(K)=0. -+ ENDDO - IF(ICC.EQ.0) PRDIST2=BIG - DIST2 = (VECT(1)-PFINAL(1))**2+(VECT(2)-PFINAL(2))**2 - + + (VECT(3)-PFINAL(3))**2 -- - IF((SQRT(DIST2)-SQRT(PRDIST2)).LT.1.E-3) THEN - PRDIST2 = DIST2 -- ICC = 1 -- ICONT = 1 -- CLENG(1) = CLENG(2) -- CLENG(2) = CLENG(3) -- CLENG(3) = SLENG -- CALL UCOPY(P2,P1,3) -- CALL UCOPY(P3,P2,3) -- CALL UCOPY(VECT,P3,3) -+ ICC=ICC+1 - ELSE --* store the first point of increasing distance -- IF(ICONT .EQ. 1) THEN -+ ISTOP = 2 -+ ENDIF -+ COUNT = COUNT + 1 - CLENG(1) = CLENG(2) - CLENG(2) = CLENG(3) - CLENG(3) = SLENG - CALL UCOPY(P2,P1,3) - CALL UCOPY(P3,P2,3) - CALL UCOPY(VECT,P3,3) -- ICONT = 0 -+ IF(COUNT.EQ.3.OR.ISTOP.EQ.2) THEN -+ COUNT = 0 -+ ENDIF -+ IF(ISTOP.EQ.2) THEN -+ IF(ICC.LE.3) THEN -+ CALL UCOPY(VECT,P1,3) -+ CALL UCOPY(PZ,P2,3) -+ CALL UCOPY(PZ,P3,3) -+ PRINT *,'Warning! User requested less than 3 steps.' - ENDIF -+ ICC=0 - ENDIF -- - ELSE IF(CFLAG.EQ.2) THEN -- -+ DO K=1,3 -+ PZ(K)=0. -+ ENDDO - IF(ICC.EQ.0) PRDIST2=BIG -- - D2X = (WIRE2(2)-WIRE1(2))*(WIRE1(3)-VECT(3)) - + - (WIRE2(3)-WIRE1(3))*(WIRE1(2)-VECT(2)) - D2Y = (WIRE2(3)-WIRE1(3))*(WIRE1(1)-VECT(1)) -@@ -183,30 +183,31 @@ - AMODD = (WIRE2(1)-WIRE1(1))**2 + (WIRE2(2)-WIRE1(2))**2 - + + (WIRE2(3)-WIRE1(3))**2 - DIST2 = (D2X**2 + D2Y**2 + D2Z**2)/AMODD --* distance between the track point and the wire - IF((SQRT(DIST2)-SQRT(PRDIST2)).LT.1.E-3) THEN - PRDIST2 = DIST2 -- ICC=1 -- ICONT = 1 -- CLENG(1) = CLENG(2) -- CLENG(2) = CLENG(3) -- CLENG(3) = SLENG -- CALL UCOPY(P2,P1,3) -- CALL UCOPY(P3,P2,3) -- CALL UCOPY(VECT,P3,3) -+ ICC=ICC+1 - ELSE --* store the first point of increasing distance -- IF(ICONT .EQ. 1) THEN -+ ISTOP = 2 -+ ENDIF -+ COUNT = COUNT + 1 - CLENG(1) = CLENG(2) - CLENG(2) = CLENG(3) - CLENG(3) = SLENG - CALL UCOPY(P2,P1,3) - CALL UCOPY(P3,P2,3) - CALL UCOPY(VECT,P3,3) -- ICONT = 0 -+ IF(COUNT.EQ.3.OR.ISTOP.EQ.2) THEN -+ COUNT = 0 -+ ENDIF -+ IF(ISTOP.EQ.2) THEN -+ IF(ICC.LE.3) THEN -+ CALL UCOPY(VECT,P1,3) -+ CALL UCOPY(PZ,P2,3) -+ CALL UCOPY(PZ,P3,3) -+ PRINT *,'Warning! User requested less than 3 steps.' - ENDIF -+ ICC=0 - ENDIF - ENDIF -- CALL GUSTEP - * - END -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/evolio.F ./erdecks/evolio.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/evolio.F 2007-11-19 11:08:06.544292469 -0500 -+++ ./erdecks/evolio.F 2005-05-25 18:37:23.631717320 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -Only in ./erdecks: gdedxcalc.F -Only in ./erdecks: mytrack.g -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks: .svn -Only in ./erpremc: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trprfn.F ./erpremc/trprfn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trprfn.F 2007-11-19 11:08:06.322648962 -0500 -+++ ./erpremc/trprfn.F 2005-05-25 18:37:23.061808273 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trprop.F ./erpremc/trprop.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trprop.F 2007-11-19 11:08:06.631457749 -0500 -+++ ./erpremc/trprop.F 2005-05-25 18:37:23.032866383 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/06/17 13:58:28 rdm -+* modified some old style FORMAT statements that were confusing the latest -+* version of the Intel Fortran compiler. -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trptsc.F ./erpremc/trptsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trptsc.F 2007-11-19 11:08:06.443374727 -0500 -+++ ./erpremc/trptsc.F 2005-05-25 18:37:23.783418175 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trptsd.F ./erpremc/trptsd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trptsd.F 2007-11-19 11:08:06.232003268 -0500 -+++ ./erpremc/trptsd.F 2005-05-25 18:37:23.051791033 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trs1s2.F ./erpremc/trs1s2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trs1s2.F 2007-11-19 11:08:06.180051989 -0500 -+++ ./erpremc/trs1s2.F 2005-05-25 18:37:23.150725434 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscpt.F ./erpremc/trscpt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscpt.F 2007-11-19 11:08:06.639606912 -0500 -+++ ./erpremc/trscpt.F 2005-05-25 18:37:23.675345842 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscsd.F ./erpremc/trscsd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscsd.F 2007-11-19 11:08:06.927570890 -0500 -+++ ./erpremc/trscsd.F 2005-05-25 18:37:23.980699667 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscsp.F ./erpremc/trscsp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscsp.F 2007-11-19 11:08:06.813758372 -0500 -+++ ./erpremc/trscsp.F 2005-05-25 18:37:23.102418311 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trsdpt.F ./erpremc/trsdpt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trsdpt.F 2007-11-19 11:08:06.296839046 -0500 -+++ ./erpremc/trsdpt.F 2005-05-25 18:37:23.203187728 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trsdsc.F ./erpremc/trsdsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trsdsc.F 2007-11-19 11:08:06.285092462 -0500 -+++ ./erpremc/trsdsc.F 2005-05-25 18:37:23.324698964 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trspsc.F ./erpremc/trspsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trspsc.F 2007-11-19 11:08:06.413955468 -0500 -+++ ./erpremc/trspsc.F 2005-05-25 18:37:23.914614498 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -Only in ./examples: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E01.C ./examples/E01.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E01.C 2007-11-19 11:08:06.361250135 -0500 -+++ ./examples/E01.C 2005-05-25 18:37:58.612035414 -0400 -@@ -1,4 +1,4 @@ --// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Macro for running Example01 with Geant3 - // Before running this macro, the libexampl01.so library -@@ -6,8 +6,10 @@ - // and run make. - // Note that this macro is a simplified version of the equivalent macro - // in the geant4_vmc/examples/E01 directory -+class Ex01MCApplication; -+Ex01MCApplication* appl = 0; - --{ -+void E01(){ - // Load basic libraries - gSystem->Load("libGeom"); - gSystem->Load("libVMC"); -@@ -22,12 +24,12 @@ - gSystem->Load("../lib/tgt_linux/libgeant321"); - - // Load this example library -- gSystem->Load("~/geant4_vmc/lib/tgt_linux/libexample01"); -+ gSystem->Load("../../geant4_vmc/lib/tgt_linux/libexample01"); - - // MC application -- Ex01MCApplication* appl -+ appl - = new Ex01MCApplication("Example01", "The example01 VMC application"); - - appl->InitMC("E01_g3Config.C"); -- appl->RunMC(1); -+ // appl->RunMC(1); - } -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E01_g3Config.C ./examples/E01_g3Config.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E01_g3Config.C 2007-11-19 11:08:06.889672662 -0500 -+++ ./examples/E01_g3Config.C 2005-05-25 18:37:58.228335990 -0400 -@@ -1,16 +1,16 @@ --// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Configuration macro for Geant3 VMC for Example01 - - void Config() - { -- if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { -+ // if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { - new TGeant3TGeo("C++ Interface to Geant3 using TGeo"); - cout << "TGeant3TGeo has been created." << endl; -- } else { -- new TGeant3("C++ Interface to Geant3"); -- cout << "TGeant3 has been created." << endl; -- } -+ // } else { -+ // new TGeant3("C++ Interface to Geant3"); -+ // cout << "TGeant3 has been created." << endl; -+ // } - } - - -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E02.C ./examples/E02.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E02.C 2007-11-19 11:08:06.019214227 -0500 -+++ ./examples/E02.C 2005-05-25 18:37:58.857129176 -0400 -@@ -1,4 +1,4 @@ --// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Macro for running Example02 with Geant3 - // Before running this macro, the libexampl02.so library -@@ -22,7 +22,7 @@ - gSystem->Load("../lib/tgt_linux/libgeant321.so"); - - // Load this example library -- gSystem->Load("~/geant4_vmc/lib/tgt_linux/libexample02"); -+ gSystem->Load("../../geant4_vmc/lib/tgt_linux/libexample02"); - - // MC application - Ex02MCApplication* appl -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E02_g3Config.C ./examples/E02_g3Config.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E02_g3Config.C 2007-11-19 11:08:06.128440759 -0500 -+++ ./examples/E02_g3Config.C 2005-05-25 18:37:58.083282937 -0400 -@@ -1,18 +1,22 @@ --// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Configuration macro for Geant3 VirtualMC for Example01 - - void Config() - { -+#if 0 - if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { -+#endif - TGeant3TGeo* geant3 = new TGeant3TGeo("C++ Interface to Geant3 using TGeo"); - cout << "TGeant3TGeo has been created." << endl; -+#if 0 - } else { - TGeant3* geant3 = new TGeant3("C++ Interface to Geant3"); - cout << "TGeant3 has been created." << endl; - } - - geant3->SetHADR(0); -+#endif - } - - -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E03.C ./examples/E03.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E03.C 2007-11-19 11:08:06.680246022 -0500 -+++ ./examples/E03.C 2005-05-25 18:37:58.371101395 -0400 -@@ -1,4 +1,4 @@ --// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Macro for running Example03 with Geant3 - // Before running this macro, the libexampl03.so library -@@ -22,7 +22,7 @@ - gSystem->Load("../lib/tgt_linux/libgeant321.so"); - - // Load this example library -- gSystem->Load("~/geant4_vmc/lib/tgt_linux/libexample03"); -+ gSystem->Load("../../geant4_vmc/lib/tgt_linux/libexample03"); - - // MC application - Ex03MCApplication* appl -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E03_g3Config.C ./examples/E03_g3Config.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E03_g3Config.C 2007-11-19 11:08:06.106466218 -0500 -+++ ./examples/E03_g3Config.C 2005-05-25 18:37:58.062249625 -0400 -@@ -1,12 +1,15 @@ --// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Configuration macro for Geant3 VirtualMC for Example03 - - void Config() - { -+#if 0 - if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { -+#endif - TGeant3TGeo* geant3 = new TGeant3TGeo("C++ Interface to Geant3 using TGeo"); - cout << "TGeant3TGeo has been created." << endl; -+#if 0 - } else { - TGeant3* geant3 = new TGeant3("C++ Interface to Geant3"); - cout << "TGeant3 has been created." << endl; -@@ -15,6 +18,7 @@ - geant3->SetDRAY(1); - geant3->SetLOSS(1); - geant3->SetHADR(0); -+#endif - } - - -Only in ./examples: example02.root -Only in ./examples: example03.root -Only in ./examples: gexam1 -Only in ./examples: gexam3 -Only in ./examples: gexam4 -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/Makefile ./examples/Makefile ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/Makefile 2007-11-19 11:08:06.371167232 -0500 -+++ ./examples/Makefile 2005-05-25 18:37:58.068561064 -0400 -@@ -1,4 +1,4 @@ --# $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+# $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - # - # Makefile for building Geant3 examples - # -Only in ./examples: model -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples: .svn -Only in ./fiface: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/fldist.F ./fiface/fldist.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/fldist.F 2007-11-19 11:08:06.795538553 -0500 -+++ ./fiface/fldist.F 2005-05-25 18:37:23.891304053 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flinit.F ./fiface/flinit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flinit.F 2007-11-19 11:08:06.624215808 -0500 -+++ ./fiface/flinit.F 2005-05-25 18:37:23.752056096 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flufin.F ./fiface/flufin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flufin.F 2007-11-19 11:08:06.630447341 -0500 -+++ ./fiface/flufin.F 2005-05-25 18:37:23.750623333 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flufin.F.ori ./fiface/flufin.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flufin.F.ori 2007-10-04 19:45:50.363574121 -0400 -+++ ./fiface/flufin.F.ori 2005-05-25 18:37:23.051607874 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/abbrch.F ./fluka/abbrch.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/abbrch.F 2007-11-19 11:08:06.432076732 -0500 -+++ ./fluka/abbrch.F 2005-05-25 18:37:23.900952929 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2004/12/17 11:46:46 brun -+* Several protections introduced by Rachid Guernane and Peter Hristov -+* - * Revision 1.2 2004/02/24 15:50:29 brun - * From Peter Hristov: - * We had some problems with the Geant3 version during the tests for the -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ainel.F ./fluka/ainel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ainel.F 2007-11-19 11:08:06.571828277 -0500 -+++ ./fluka/ainel.F 2005-05-25 18:37:23.084146159 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/akeka.F ./fluka/akeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/akeka.F 2007-11-19 11:08:06.031190990 -0500 -+++ ./fluka/akeka.F 2005-05-25 18:37:23.528316070 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/altra.F ./fluka/altra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/altra.F 2007-11-19 11:08:06.504468449 -0500 -+++ ./fluka/altra.F 2005-05-25 18:37:23.708034247 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/altraf.F ./fluka/altraf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/altraf.F 2007-11-19 11:08:06.139060527 -0500 -+++ ./fluka/altraf.F 2005-05-25 18:37:23.998267855 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/amga.F ./fluka/amga.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/amga.F 2007-11-19 11:08:06.926445974 -0500 -+++ ./fluka/amga.F 2005-05-25 18:37:23.886541347 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ankeka.F ./fluka/ankeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ankeka.F 2007-11-19 11:08:06.107523300 -0500 -+++ ./fluka/ankeka.F 2005-05-25 18:37:23.183896433 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bamjev.F ./fluka/bamjev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bamjev.F 2007-11-19 11:08:06.303755680 -0500 -+++ ./fluka/bamjev.F 2005-05-25 18:37:23.903106591 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/beexi.F ./fluka/beexi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/beexi.F 2007-11-19 11:08:06.378092406 -0500 -+++ ./fluka/beexi.F 2005-05-25 18:37:23.510321281 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bekeka.F ./fluka/bekeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bekeka.F 2007-11-19 11:08:06.844917832 -0500 -+++ ./fluka/bekeka.F 2005-05-25 18:37:23.781572426 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/berttp.F ./fluka/berttp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/berttp.F 2007-11-19 11:08:06.757137769 -0500 -+++ ./fluka/berttp.F 2005-05-25 18:37:23.288822606 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2002/11/29 13:47:02 brun -+* Remove unused include -+* - * Revision 1.2 2002/11/21 11:40:24 brun - * Fix a problem when getting the environment variable to reach the file flukaaf.dat - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/beta.F ./fluka/beta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/beta.F 2007-11-19 11:08:06.910081741 -0500 -+++ ./fluka/beta.F 2005-05-25 18:37:23.747993711 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/07/23 16:40:35 brun -+* From Peter Hristov: -+* Implement correct return value for beta_g3 -+* - * Revision 1.2 2003/06/10 16:12:15 brun - * From Andreas Morsch: - * I changed the name of the function BETA from geant3/fluka/beta.F to -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/betarn.F ./fluka/betarn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/betarn.F 2007-11-19 11:08:06.999742772 -0500 -+++ ./fluka/betarn.F 2005-05-25 18:37:23.617295873 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2005/04/13 14:46:16 brun -+* From Peter Hristov -+* Changes required to run on Solaris -+* - * Revision 1.2 2004/12/17 11:46:46 brun - * Several protections introduced by Rachid Guernane and Peter Hristov - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/betrst.F ./fluka/betrst.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/betrst.F 2007-11-19 11:08:06.073076903 -0500 -+++ ./fluka/betrst.F 2005-05-25 18:37:23.024449469 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bkeka.F ./fluka/bkeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bkeka.F 2007-11-19 11:08:06.272581864 -0500 -+++ ./fluka/bkeka.F 2005-05-25 18:37:23.114486129 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bklass.F ./fluka/bklass.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bklass.F 2007-11-19 11:08:06.556876243 -0500 -+++ ./fluka/bklass.F 2005-05-25 18:37:23.299232911 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bnkeka.F ./fluka/bnkeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bnkeka.F 2007-11-19 11:08:06.420704155 -0500 -+++ ./fluka/bnkeka.F 2005-05-25 18:37:23.146136774 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/calumo.F ./fluka/calumo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/calumo.F 2007-11-19 11:08:06.988107327 -0500 -+++ ./fluka/calumo.F 2005-05-25 18:37:23.465008774 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/calumv.F ./fluka/calumv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/calumv.F 2007-11-19 11:08:06.401444747 -0500 -+++ ./fluka/calumv.F 2005-05-25 18:37:23.912508391 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/chanwt.F ./fluka/chanwt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/chanwt.F 2007-11-19 11:08:06.950567338 -0500 -+++ ./fluka/chanwt.F 2005-05-25 18:37:23.408910223 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/corevt.F ./fluka/corevt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/corevt.F 2007-11-19 11:08:06.498770234 -0500 -+++ ./fluka/corevt.F 2005-05-25 18:37:23.213177296 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/corrin.F ./fluka/corrin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/corrin.F 2007-11-19 11:08:06.586799653 -0500 -+++ ./fluka/corrin.F 2005-05-25 18:37:23.713964277 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/12/17 11:46:46 brun -+* Several protections introduced by Rachid Guernane and Peter Hristov -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -Only in ./fluka: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/datar3.F ./fluka/datar3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/datar3.F 2007-11-19 11:08:06.370542963 -0500 -+++ ./fluka/datar3.F 2005-05-25 18:37:23.012330859 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/decaux.F ./fluka/decaux.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/decaux.F 2007-11-19 11:08:06.614458347 -0500 -+++ ./fluka/decaux.F 2005-05-25 18:37:23.948453152 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/decay.F ./fluka/decay.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/decay.F 2007-11-19 11:08:06.657037237 -0500 -+++ ./fluka/decay.F 2005-05-25 18:37:23.974185096 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/difevv.F ./fluka/difevv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/difevv.F 2007-11-19 11:08:06.279570149 -0500 -+++ ./fluka/difevv.F 2005-05-25 18:37:23.145786525 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/dost.F ./fluka/dost.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/dost.F 2007-11-19 11:08:06.806275281 -0500 -+++ ./fluka/dost.F 2005-05-25 18:37:23.157385341 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/drelab.F ./fluka/drelab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/drelab.F 2007-11-19 11:08:06.710091626 -0500 -+++ ./fluka/drelab.F 2005-05-25 18:37:23.049332866 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/dres.F ./fluka/dres.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/dres.F 2007-11-19 11:08:06.836847526 -0500 -+++ ./fluka/dres.F 2005-05-25 18:37:23.134768426 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eexi.F ./fluka/eexi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eexi.F 2007-11-19 11:08:06.148339048 -0500 -+++ ./fluka/eexi.F 2005-05-25 18:37:23.153503605 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eexlvl.F ./fluka/eexlvl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eexlvl.F 2007-11-19 11:08:06.165665511 -0500 -+++ ./fluka/eexlvl.F 2005-05-25 18:37:23.131805218 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ekeka.F ./fluka/ekeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ekeka.F 2007-11-19 11:08:06.070704364 -0500 -+++ ./fluka/ekeka.F 2005-05-25 18:37:23.624586988 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/energi.F ./fluka/energi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/energi.F 2007-11-19 11:08:06.709085476 -0500 -+++ ./fluka/energi.F 2005-05-25 18:37:23.591252002 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/energy.F ./fluka/energy.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/energy.F 2007-11-19 11:08:06.983683189 -0500 -+++ ./fluka/energy.F 2005-05-25 18:37:23.277751298 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/enrg.F ./fluka/enrg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/enrg.F 2007-11-19 11:08:06.843690028 -0500 -+++ ./fluka/enrg.F 2005-05-25 18:37:23.330618714 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/erup.F ./fluka/erup.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/erup.F 2007-11-19 11:08:06.348749612 -0500 -+++ ./fluka/erup.F 2005-05-25 18:37:23.106476502 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evdeex.F ./fluka/evdeex.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evdeex.F 2007-11-19 11:08:06.098324819 -0500 -+++ ./fluka/evdeex.F 2005-05-25 18:37:23.819942545 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/12/17 11:46:46 brun -+* Several protections introduced by Rachid Guernane and Peter Hristov -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eventv.F ./fluka/eventv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eventv.F 2007-11-19 11:08:06.032001222 -0500 -+++ ./fluka/eventv.F 2005-05-25 18:37:23.603817874 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evevap.F ./fluka/evevap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evevap.F 2007-11-19 11:08:06.800388999 -0500 -+++ ./fluka/evevap.F 2005-05-25 18:37:23.169413594 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evvini.F ./fluka/evvini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evvini.F 2007-11-19 11:08:06.159124036 -0500 -+++ ./fluka/evvini.F 2005-05-25 18:37:23.336363148 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ferevv.F ./fluka/ferevv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ferevv.F 2007-11-19 11:08:06.964232059 -0500 -+++ ./fluka/ferevv.F 2005-05-25 18:37:23.960184743 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ferhav.F ./fluka/ferhav.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ferhav.F 2007-11-19 11:08:06.461952180 -0500 -+++ ./fluka/ferhav.F 2005-05-25 18:37:23.468345530 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fisfra.F ./fluka/fisfra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fisfra.F 2007-11-19 11:08:06.594741410 -0500 -+++ ./fluka/fisfra.F 2005-05-25 18:37:23.440605422 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkdeca.F ./fluka/fkdeca.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkdeca.F 2007-11-19 11:08:06.977769956 -0500 -+++ ./fluka/fkdeca.F 2005-05-25 18:37:23.407684428 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkdres.F ./fluka/fkdres.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkdres.F 2007-11-19 11:08:06.540463567 -0500 -+++ ./fluka/fkdres.F 2005-05-25 18:37:23.355878929 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkener.F ./fluka/fkener.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkener.F 2007-11-19 11:08:06.679465920 -0500 -+++ ./fluka/fkener.F 2005-05-25 18:37:23.364043146 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkerup.F ./fluka/fkerup.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkerup.F 2007-11-19 11:08:06.639115827 -0500 -+++ ./fluka/fkerup.F 2005-05-25 18:37:23.263453871 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkflav.F ./fluka/fkflav.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkflav.F 2007-11-19 11:08:06.800108501 -0500 -+++ ./fluka/fkflav.F 2005-05-25 18:37:23.431499245 -0400 -@@ -1,7 +1,16 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/06/10 16:12:15 brun -+* From Andreas Morsch: -+* I changed the name of the function BETA from geant3/fluka/beta.F to -+* BETA_G3. The reason is that if one uses PDF and Geant3 in the same -+* simulation there is a clash between a similar function in PDF. -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkimpu.F ./fluka/fkimpu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkimpu.F 2007-11-19 11:08:06.363561635 -0500 -+++ ./fluka/fkimpu.F 2005-05-25 18:37:24.270037884 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/12/17 11:46:46 brun -+* Several protections introduced by Rachid Guernane and Peter Hristov -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fksigi.F ./fluka/fksigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fksigi.F 2007-11-19 11:08:06.370896338 -0500 -+++ ./fluka/fksigi.F 2005-05-25 18:37:24.732160329 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkvert.F ./fluka/fkvert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkvert.F 2007-11-19 11:08:06.046496874 -0500 -+++ ./fluka/fkvert.F 2005-05-25 18:37:24.288298115 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkzero.F ./fluka/fkzero.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkzero.F 2007-11-19 11:08:06.441764146 -0500 -+++ ./fluka/fkzero.F 2005-05-25 18:37:24.579884745 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/flavor.F ./fluka/flavor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/flavor.F 2007-11-19 11:08:06.387582504 -0500 -+++ ./fluka/flavor.F 2005-05-25 18:37:24.689794106 -0400 -@@ -1,7 +1,16 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/06/10 16:12:15 brun -+* From Andreas Morsch: -+* I changed the name of the function BETA from geant3/fluka/beta.F to -+* BETA_G3. The reason is that if one uses PDF and Geant3 in the same -+* simulation there is a clash between a similar function in PDF. -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fpower.F ./fluka/fpower.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fpower.F 2007-11-19 11:08:06.258613107 -0500 -+++ ./fluka/fpower.F 2005-05-25 18:37:24.962390310 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fprob.F ./fluka/fprob.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fprob.F 2007-11-19 11:08:06.509840105 -0500 -+++ ./fluka/fprob.F 2005-05-25 18:37:24.588976409 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/gamrn.F ./fluka/gamrn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/gamrn.F 2007-11-19 11:08:06.703090458 -0500 -+++ ./fluka/gamrn.F 2005-05-25 18:37:24.198483830 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/geta.F ./fluka/geta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/geta.F 2007-11-19 11:08:06.063636563 -0500 -+++ ./fluka/geta.F 2005-05-25 18:37:24.519505271 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadden.F ./fluka/hadden.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadden.F 2007-11-19 11:08:06.742479022 -0500 -+++ ./fluka/hadden.F 2005-05-25 18:37:24.597210779 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadevv.F ./fluka/hadevv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadevv.F 2007-11-19 11:08:06.267717717 -0500 -+++ ./fluka/hadevv.F 2005-05-25 18:37:24.701148390 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadrin.F ./fluka/hadrin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadrin.F 2007-11-19 11:08:06.282453813 -0500 -+++ ./fluka/hadrin.F 2005-05-25 18:37:24.391010151 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadriv.F ./fluka/hadriv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadriv.F 2007-11-19 11:08:06.929720690 -0500 -+++ ./fluka/hadriv.F 2005-05-25 18:37:24.462423829 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hevhin.F ./fluka/hevhin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hevhin.F 2007-11-19 11:08:06.217615152 -0500 -+++ ./fluka/hevhin.F 2005-05-25 18:37:24.492663670 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hinhev.F ./fluka/hinhev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hinhev.F 2007-11-19 11:08:06.269213328 -0500 -+++ ./fluka/hinhev.F 2005-05-25 18:37:24.389080317 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hklass.F ./fluka/hklass.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hklass.F 2007-11-19 11:08:06.192009809 -0500 -+++ ./fluka/hklass.F 2005-05-25 18:37:24.148970692 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hypero.F ./fluka/hypero.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hypero.F 2007-11-19 11:08:06.804945828 -0500 -+++ ./fluka/hypero.F 2005-05-25 18:37:24.305921016 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/iefun.F ./fluka/iefun.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/iefun.F 2007-11-19 11:08:06.727406448 -0500 -+++ ./fluka/iefun.F 2005-05-25 18:37:24.301408285 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/impuls.F ./fluka/impuls.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/impuls.F 2007-11-19 11:08:06.771510046 -0500 -+++ ./fluka/impuls.F 2005-05-25 18:37:24.733636431 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/incini.F ./fluka/incini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/incini.F 2007-11-19 11:08:06.526941333 -0500 -+++ ./fluka/incini.F 2005-05-25 18:37:24.968178078 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/index2.F ./fluka/index2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/index2.F 2007-11-19 11:08:06.544442093 -0500 -+++ ./fluka/index2.F 2005-05-25 18:37:24.017268459 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/kinpar.F ./fluka/kinpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/kinpar.F 2007-11-19 11:08:06.411121434 -0500 -+++ ./fluka/kinpar.F 2005-05-25 18:37:24.386888290 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/kpois.F ./fluka/kpois.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/kpois.F 2007-11-19 11:08:06.848994805 -0500 -+++ ./fluka/kpois.F 2005-05-25 18:37:24.141186099 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/lortra.F ./fluka/lortra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/lortra.F 2007-11-19 11:08:06.117290283 -0500 -+++ ./fluka/lortra.F 2005-05-25 18:37:24.549579502 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nizl.F ./fluka/nizl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nizl.F 2007-11-19 11:08:06.176061206 -0500 -+++ ./fluka/nizl.F 2005-05-25 18:37:24.707622564 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nizlnw.F ./fluka/nizlnw.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nizlnw.F 2007-11-19 11:08:06.232187596 -0500 -+++ ./fluka/nizlnw.F 2005-05-25 18:37:24.084513337 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucevv.F ./fluka/nucevv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucevv.F 2007-11-19 11:08:06.535450059 -0500 -+++ ./fluka/nucevv.F 2005-05-25 18:37:24.436026315 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucrel.F ./fluka/nucrel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucrel.F 2007-11-19 11:08:06.053305175 -0500 -+++ ./fluka/nucrel.F 2005-05-25 18:37:24.854795323 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucriv.F ./fluka/nucriv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucriv.F 2007-11-19 11:08:06.164389717 -0500 -+++ ./fluka/nucriv.F 2005-05-25 18:37:24.847066771 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nudisv.F ./fluka/nudisv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nudisv.F 2007-11-19 11:08:06.428300834 -0500 -+++ ./fluka/nudisv.F 2005-05-25 18:37:24.159720528 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nuprel.F ./fluka/nuprel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nuprel.F 2007-11-19 11:08:06.281689893 -0500 -+++ ./fluka/nuprel.F 2005-05-25 18:37:24.227575797 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/parjet.F ./fluka/parjet.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/parjet.F 2007-11-19 11:08:06.386675788 -0500 -+++ ./fluka/parjet.F 2005-05-25 18:37:24.370073581 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/pmprab.F ./fluka/pmprab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/pmprab.F 2007-11-19 11:08:06.174576935 -0500 -+++ ./fluka/pmprab.F 2005-05-25 18:37:24.313822142 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/poli.F ./fluka/poli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/poli.F 2007-11-19 11:08:06.071754004 -0500 -+++ ./fluka/poli.F 2005-05-25 18:37:24.067150117 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/qnrg.F ./fluka/qnrg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/qnrg.F 2007-11-19 11:08:06.405499727 -0500 -+++ ./fluka/qnrg.F 2005-05-25 18:37:24.122596404 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/raco.F ./fluka/raco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/raco.F 2007-11-19 11:08:06.520121594 -0500 -+++ ./fluka/raco.F 2005-05-25 18:37:24.291079348 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rakekv.F ./fluka/rakekv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rakekv.F 2007-11-19 11:08:06.945654586 -0500 -+++ ./fluka/rakekv.F 2005-05-25 18:37:24.953507632 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rbkekv.F ./fluka/rbkekv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rbkekv.F 2007-11-19 11:08:06.413764665 -0500 -+++ ./fluka/rbkekv.F 2005-05-25 18:37:24.648265087 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rchanv.F ./fluka/rchanv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rchanv.F 2007-11-19 11:08:06.818142820 -0500 -+++ ./fluka/rchanv.F 2005-05-25 18:37:24.798974246 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rotat.F ./fluka/rotat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rotat.F 2007-11-19 11:08:06.185391909 -0500 -+++ ./fluka/rotat.F 2005-05-25 18:37:24.214391371 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/samcst.F ./fluka/samcst.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/samcst.F 2007-11-19 11:08:06.338879244 -0500 -+++ ./fluka/samcst.F 2005-05-25 18:37:24.956832076 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sfecfe.F ./fluka/sfecfe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sfecfe.F 2007-11-19 11:08:06.637891388 -0500 -+++ ./fluka/sfecfe.F 2005-05-25 18:37:24.868406102 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/shptot.F ./fluka/shptot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/shptot.F 2007-11-19 11:08:06.393480344 -0500 -+++ ./fluka/shptot.F 2005-05-25 18:37:24.532739497 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sigel.F ./fluka/sigel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sigel.F 2007-11-19 11:08:06.617742341 -0500 -+++ ./fluka/sigel.F 2005-05-25 18:37:24.624128956 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sigint.F ./fluka/sigint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sigint.F 2007-11-19 11:08:06.079027408 -0500 -+++ ./fluka/sigint.F 2005-05-25 18:37:24.012414855 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sihael.F ./fluka/sihael.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sihael.F 2007-11-19 11:08:06.866485136 -0500 -+++ ./fluka/sihael.F 2005-05-25 18:37:24.772433699 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sitsao.F ./fluka/sitsao.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sitsao.F 2007-11-19 11:08:06.777196550 -0500 -+++ ./fluka/sitsao.F 2005-05-25 18:37:24.246749220 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/stalin.F ./fluka/stalin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/stalin.F 2007-11-19 11:08:06.403168930 -0500 -+++ ./fluka/stalin.F 2005-05-25 18:37:24.758311438 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/tchoic.F ./fluka/tchoic.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/tchoic.F 2007-11-19 11:08:06.787402392 -0500 -+++ ./fluka/tchoic.F 2005-05-25 18:37:24.899008428 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/threpd.F ./fluka/threpd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/threpd.F 2007-11-19 11:08:06.443402030 -0500 -+++ ./fluka/threpd.F 2005-05-25 18:37:24.082974750 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trafo.F ./fluka/trafo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trafo.F 2007-11-19 11:08:06.881936081 -0500 -+++ ./fluka/trafo.F 2005-05-25 18:37:24.906086489 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trahad.F ./fluka/trahad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trahad.F 2007-11-19 11:08:06.399527369 -0500 -+++ ./fluka/trahad.F 2005-05-25 18:37:24.445583829 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trans.F ./fluka/trans.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trans.F 2007-11-19 11:08:06.080755362 -0500 -+++ ./fluka/trans.F 2005-05-25 18:37:24.345491114 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ttrans.F ./fluka/ttrans.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ttrans.F 2007-11-19 11:08:06.184726332 -0500 -+++ ./fluka/ttrans.F 2005-05-25 18:37:24.318462528 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/twopad.F ./fluka/twopad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/twopad.F 2007-11-19 11:08:06.708636894 -0500 -+++ ./fluka/twopad.F 2005-05-25 18:37:24.508904619 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/twopar.F ./fluka/twopar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/twopar.F 2007-11-19 11:08:06.733624132 -0500 -+++ ./fluka/twopar.F 2005-05-25 18:37:24.454349660 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/verein.F ./fluka/verein.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/verein.F 2007-11-19 11:08:06.146321920 -0500 -+++ ./fluka/verein.F 2005-05-25 18:37:24.795075486 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/vertex.F ./fluka/vertex.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/vertex.F 2007-11-19 11:08:06.296162711 -0500 -+++ ./fluka/vertex.F 2005-05-25 18:37:24.147346876 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xlamb.F ./fluka/xlamb.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xlamb.F 2007-11-19 11:08:06.688268438 -0500 -+++ ./fluka/xlamb.F 2005-05-25 18:37:24.100085617 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xseneu.F ./fluka/xseneu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xseneu.F 2007-11-19 11:08:06.614624313 -0500 -+++ ./fluka/xseneu.F 2005-05-25 18:37:24.109064175 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xsepro.F ./fluka/xsepro.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xsepro.F 2007-11-19 11:08:06.144540190 -0500 -+++ ./fluka/xsepro.F 2005-05-25 18:37:24.949859629 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/zeroin.F ./fluka/zeroin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/zeroin.F 2007-11-19 11:08:06.021767586 -0500 -+++ ./fluka/zeroin.F 2005-05-25 18:37:24.599645172 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -Only in ./gbase: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gbase.doc ./gbase/gbase.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gbase.doc 2007-10-04 19:45:50.401091517 -0400 -+++ ./gbase/gbase.doc 2005-05-25 18:37:25.653509516 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gbhsta.F ./gbase/gbhsta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gbhsta.F 2007-11-19 11:08:06.336658194 -0500 -+++ ./gbase/gbhsta.F 2006-08-17 09:38:52.440654344 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.2 2006/08/17 13:38:52 fisyak -+* Clean up -+* -+* Revision 1.3 2006/03/17 14:41:53 brun -+* Remove references to hbook -+* - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/geamon.F ./gbase/geamon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/geamon.F 2007-11-19 11:08:06.859353579 -0500 -+++ ./gbase/geamon.F 2005-05-25 18:37:25.383258889 -0400 -@@ -1,10 +1,9 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * --* Revision 1.3 2006/03/16 10:03:56 brun --* From Federico: --* Add dummy routine umlog -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) - * - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/getnum.F ./gbase/getnum.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/getnum.F 2007-11-19 11:08:06.340370511 -0500 -+++ ./gbase/getnum.F 2005-05-25 18:37:25.651048576 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/getver.F ./gbase/getver.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/getver.F 2007-11-19 11:08:06.811436177 -0500 -+++ ./gbase/getver.F 2005-05-25 18:37:25.707051354 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gffgo.F ./gbase/gffgo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gffgo.F 2007-11-19 11:08:06.951024237 -0500 -+++ ./gbase/gffgo.F 2005-05-25 18:37:25.035008512 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfhead.F ./gbase/gfhead.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfhead.F 2007-11-19 11:08:06.914569960 -0500 -+++ ./gbase/gfhead.F 2005-05-25 18:37:25.805488154 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfhsta.F ./gbase/gfhsta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfhsta.F 2007-11-19 11:08:06.627661165 -0500 -+++ ./gbase/gfhsta.F 2006-08-17 09:38:52.301003570 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.2 2006/08/17 13:38:52 fisyak -+* Clean up -+* -+* Revision 1.3 2006/03/17 14:41:53 brun -+* Remove references to hbook -+* - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfrung.F ./gbase/gfrung.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfrung.F 2007-11-19 11:08:06.995028833 -0500 -+++ ./gbase/gfrung.F 2005-05-25 18:37:25.482607243 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ggclo2.F ./gbase/ggclo2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ggclo2.F 2007-11-19 11:08:06.924748747 -0500 -+++ ./gbase/ggclo2.F 2005-05-25 18:37:25.630509942 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ggclos.F ./gbase/ggclos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ggclos.F 2007-11-19 11:08:06.825585316 -0500 -+++ ./gbase/ggclos.F 2005-05-25 18:37:25.010013184 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ghclos.F ./gbase/ghclos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ghclos.F 2007-11-19 11:08:06.971103514 -0500 -+++ ./gbase/ghclos.F 2005-05-25 18:37:25.300989248 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ginit.F ./gbase/ginit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ginit.F 2007-11-19 11:08:06.958023703 -0500 -+++ ./gbase/ginit.F 2005-05-25 18:37:25.430091653 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/glast.F ./gbase/glast.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/glast.F 2007-11-19 11:08:06.627893443 -0500 -+++ ./gbase/glast.F 2005-05-25 18:37:25.787567080 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/glook.F ./gbase/glook.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/glook.F 2007-11-19 11:08:06.393110174 -0500 -+++ ./gbase/glook.F 2005-05-25 18:37:25.468794217 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gmail.F ./gbase/gmail.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gmail.F 2007-11-19 11:08:06.241744583 -0500 -+++ ./gbase/gmail.F 2005-05-25 18:37:25.689471763 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gphead.F ./gbase/gphead.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gphead.F 2007-11-19 11:08:06.765454952 -0500 -+++ ./gbase/gphead.F 2005-05-25 18:37:25.316460136 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gprint.F ./gbase/gprint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gprint.F 2007-11-19 11:08:06.751519488 -0500 -+++ ./gbase/gprint.F 2005-05-25 18:37:25.300335290 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gprung.F ./gbase/gprung.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gprung.F 2007-11-19 11:08:06.724815631 -0500 -+++ ./gbase/gprung.F 2005-05-25 18:37:25.230891943 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gshead.F ./gbase/gshead.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gshead.F 2007-11-19 11:08:06.886036472 -0500 -+++ ./gbase/gshead.F 2005-05-25 18:37:25.474837698 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gsrung.F ./gbase/gsrung.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gsrung.F 2007-11-19 11:08:06.861756358 -0500 -+++ ./gbase/gsrung.F 2005-05-25 18:37:25.296711210 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrigc.F ./gbase/gtrigc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrigc.F 2007-11-19 11:08:06.344371584 -0500 -+++ ./gbase/gtrigc.F 2005-05-25 18:37:25.396816245 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrig.F ./gbase/gtrig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrig.F 2007-11-19 11:08:06.802936396 -0500 -+++ ./gbase/gtrig.F 2006-08-17 09:38:52.368909407 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.2 2006/08/17 13:38:52 fisyak -+* Clean up -+* -+* Revision 1.3 2006/03/17 15:11:36 brun -+* Comment call to GDKINE in gtrig -+* - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrigi.F ./gbase/gtrigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrigi.F 2007-11-19 11:08:06.487960338 -0500 -+++ ./gbase/gtrigi.F 2005-05-25 18:37:26.536356653 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gwork.F ./gbase/gwork.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gwork.F 2007-11-19 11:08:06.016274460 -0500 -+++ ./gbase/gwork.F 2005-05-25 18:37:26.165572610 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gzebra.F ./gbase/gzebra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gzebra.F 2007-11-19 11:08:06.939180930 -0500 -+++ ./gbase/gzebra.F 2005-05-25 18:37:26.308980545 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gzinit.F ./gbase/gzinit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gzinit.F 2007-11-19 11:08:06.028080260 -0500 -+++ ./gbase/gzinit.F 2005-05-25 18:37:26.574510543 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: gcalor_vmc.diff -Only in ./gcons: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gcons.doc ./gcons/gcons.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gcons.doc 2007-10-04 19:45:50.219293575 -0400 -+++ ./gcons/gcons.doc 2005-05-25 18:37:26.691116224 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gevkev.F ./gcons/gevkev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gevkev.F 2007-11-19 11:08:06.528498374 -0500 -+++ ./gcons/gevkev.F 2005-10-27 12:07:32.021335915 -0400 -@@ -1,7 +1,16 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.2 2005/05/26 22:41:35 fisyak -+* recover gevkev from g3evkev (used in egr) -+* -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -@@ -18,7 +27,7 @@ - #include "geant321/pilot.h" - *CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani - *-- Author : -- SUBROUTINE G3EVKEV(EGEV,ENERU,KUNIT) -+ SUBROUTINE GEVKEV(EGEV,ENERU,KUNIT) - C. - C. ****************************************************************** - C. * * -@@ -49,3 +58,7 @@ - ENDIF - * - END -+ SUBROUTINE G3EVKEV(EGEV,ENERU,KUNIT) -+ CHARACTER*4 KUNIT -+ call GEVKEV(EGEV,ENERU,KUNIT) -+ end -Only in ./gcons: gevkev.F~ -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfcoul.F ./gcons/gfcoul.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfcoul.F 2007-11-19 11:08:06.069923077 -0500 -+++ ./gcons/gfcoul.F 2005-05-25 18:37:26.575387731 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfmate.F ./gcons/gfmate.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfmate.F 2007-11-19 11:08:06.538079973 -0500 -+++ ./gcons/gfmate.F 2005-05-25 18:37:26.474241301 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfpart.F ./gcons/gfpart.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfpart.F 2007-11-19 11:08:06.085578432 -0500 -+++ ./gcons/gfpart.F 2005-05-25 18:37:26.797365062 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gftmat.F ./gcons/gftmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gftmat.F 2007-11-19 11:08:06.993248451 -0500 -+++ ./gcons/gftmat.F 2005-05-25 18:37:26.914416088 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gftmed.F ./gcons/gftmed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gftmed.F 2007-11-19 11:08:06.041840132 -0500 -+++ ./gcons/gftmed.F 2005-05-25 18:37:26.643545368 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/ghmix.F ./gcons/ghmix.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/ghmix.F 2007-11-19 11:08:06.836529022 -0500 -+++ ./gcons/ghmix.F 2005-05-25 18:37:26.684016414 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gmate.F ./gcons/gmate.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gmate.F 2007-11-19 11:08:06.222484953 -0500 -+++ ./gcons/gmate.F 2005-05-25 18:37:26.931156111 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpart.F ./gcons/gpart.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpart.F 2007-11-19 11:08:06.798848227 -0500 -+++ ./gcons/gpart.F 2005-05-25 18:37:26.863521516 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpions.F ./gcons/gpions.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpions.F 2007-11-19 11:08:06.387820770 -0500 -+++ ./gcons/gpions.F 2005-05-25 18:37:26.155723868 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gplmat.F ./gcons/gplmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gplmat.F 2007-11-19 11:08:06.909182931 -0500 -+++ ./gcons/gplmat.F 2005-05-25 18:37:26.986547061 -0400 -@@ -1,7 +1,10 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -@@ -80,7 +83,6 @@ - DIMENSION KI(NCOL),EK(NCOL) - LOGICAL LXBARN - * --#ifdef NEVER - #include "geant321/gcnmec.inc" - * - * ------------------------------------------------------------------ -@@ -263,5 +265,4 @@ - + 'DCUTE =',F6.2,A4,3X,'DCUTM =',F6.2,A4,3X, - + 'PPCUTM =',F6.2,A4 ) - 10200 FORMAT(1X,5(' bin ',I3,' =',F7.2,A4)) --#endif - 999 END -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpmate.F ./gcons/gpmate.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpmate.F 2007-11-19 11:08:06.458571510 -0500 -+++ ./gcons/gpmate.F 2005-05-25 18:37:26.085455185 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpmatx.F ./gcons/gpmatx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpmatx.F 2007-11-19 11:08:06.730661296 -0500 -+++ ./gcons/gpmatx.F 2005-05-25 18:37:26.344459617 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gppart.F ./gcons/gppart.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gppart.F 2007-11-19 11:08:06.364978229 -0500 -+++ ./gcons/gppart.F 2005-05-25 18:37:26.967943585 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpparx.F ./gcons/gpparx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpparx.F 2007-11-19 11:08:06.236293260 -0500 -+++ ./gcons/gpparx.F 2005-05-25 18:37:26.684495768 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gprmat.F ./gcons/gprmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gprmat.F 2007-11-19 11:08:06.363101997 -0500 -+++ ./gcons/gprmat.F 2005-05-25 18:37:26.769259664 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gptmed.F ./gcons/gptmed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gptmed.F 2007-11-19 11:08:06.501692177 -0500 -+++ ./gcons/gptmed.F 2005-05-25 18:37:26.763580091 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gptmex.F ./gcons/gptmex.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gptmex.F 2007-11-19 11:08:06.189354783 -0500 -+++ ./gcons/gptmex.F 2005-05-25 18:37:26.151332157 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsckov.F ./gcons/gsckov.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsckov.F 2007-11-19 11:08:06.917099965 -0500 -+++ ./gcons/gsckov.F 2005-05-25 18:37:26.050180317 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsdk.F ./gcons/gsdk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsdk.F 2007-11-19 11:08:06.285871703 -0500 -+++ ./gcons/gsdk.F 2005-05-25 18:37:26.466270446 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmate.F ./gcons/gsmate.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmate.F 2007-11-19 11:08:06.903766081 -0500 -+++ ./gcons/gsmate.F 2005-05-25 18:37:26.087482293 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmate.F.ori ./gcons/gsmate.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmate.F.ori 2007-10-04 19:45:50.877038409 -0400 -+++ ./gcons/gsmate.F.ori 2005-05-25 18:37:26.568448494 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmixt.F ./gcons/gsmixt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmixt.F 2007-11-19 11:08:06.781565516 -0500 -+++ ./gcons/gsmixt.F 2005-05-25 18:37:26.769683899 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gspart.F ./gcons/gspart.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gspart.F 2007-11-19 11:08:06.138892950 -0500 -+++ ./gcons/gspart.F 2005-05-25 18:37:26.683607016 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gstmed.F ./gcons/gstmed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gstmed.F 2007-11-19 11:08:06.465554242 -0500 -+++ ./gcons/gstmed.F 2005-05-25 18:37:26.406712094 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gstpar.F ./gcons/gstpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gstpar.F 2007-11-19 11:08:06.568117152 -0500 -+++ ./gcons/gstpar.F 2005-05-25 18:37:26.409116701 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gxsi.F ./gcons/gxsi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gxsi.F 2007-11-19 11:08:06.568027801 -0500 -+++ ./gcons/gxsi.F 2005-05-25 18:37:26.195062580 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: gdraw -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/aadat.inc ./geant321/aadat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/aadat.inc 2007-11-19 11:08:06.951873304 -0500 -+++ ./geant321/aadat.inc 2005-05-25 18:37:27.676409293 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/auxpar.inc ./geant321/auxpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/auxpar.inc 2007-11-19 11:08:06.066904128 -0500 -+++ ./geant321/auxpar.inc 2005-05-25 18:37:27.016891239 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/balanc.inc ./geant321/balanc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/balanc.inc 2007-11-19 11:08:06.784794868 -0500 -+++ ./geant321/balanc.inc 2005-05-25 18:37:27.590439686 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/bamjcm.inc ./geant321/bamjcm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/bamjcm.inc 2007-11-19 11:08:06.751324944 -0500 -+++ ./geant321/bamjcm.inc 2005-05-25 18:37:27.877561459 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/blank.inc ./geant321/blank.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/blank.inc 2007-11-19 11:08:06.366591776 -0500 -+++ ./geant321/blank.inc 2005-05-25 18:37:28.472405414 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/camass.inc ./geant321/camass.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/camass.inc 2007-11-19 11:08:06.342508519 -0500 -+++ ./geant321/camass.inc 2005-05-25 18:37:28.597263613 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cerrcm.inc ./geant321/cerrcm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cerrcm.inc 2007-11-19 11:08:06.337283650 -0500 -+++ ./geant321/cerrcm.inc 2005-05-25 18:37:28.957103391 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcaan.inc ./geant321/cgcaan.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcaan.inc 2007-11-19 11:08:06.067693777 -0500 -+++ ./geant321/cgcaan.inc 2005-05-25 18:37:28.834259751 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcedg.inc ./geant321/cgcedg.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcedg.inc 2007-11-19 11:08:06.233594244 -0500 -+++ ./geant321/cgcedg.inc 2005-05-25 18:37:28.241462616 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcfac.inc ./geant321/cgcfac.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcfac.inc 2007-11-19 11:08:06.209029090 -0500 -+++ ./geant321/cgcfac.inc 2005-05-25 18:37:28.504645061 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgctra.inc ./geant321/cgctra.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgctra.inc 2007-11-19 11:08:06.822684093 -0500 -+++ ./geant321/cgctra.inc 2005-05-25 18:37:28.842684043 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgdelt.inc ./geant321/cgdelt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgdelt.inc 2007-11-19 11:08:06.728355999 -0500 -+++ ./geant321/cgdelt.inc 2005-05-25 18:37:28.204816966 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cggpar.inc ./geant321/cggpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cggpar.inc 2007-11-19 11:08:06.806832179 -0500 -+++ ./geant321/cggpar.inc 2005-05-25 18:37:28.205936468 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cghpar.inc ./geant321/cghpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cghpar.inc 2007-11-19 11:08:06.803390278 -0500 -+++ ./geant321/cghpar.inc 2005-05-25 18:37:28.479183160 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgxcom.inc ./geant321/cgxcom.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgxcom.inc 2007-11-19 11:08:06.978855932 -0500 -+++ ./geant321/cgxcom.inc 2005-05-25 18:37:28.661661921 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmagic.inc ./geant321/cmagic.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmagic.inc 2007-11-19 11:08:06.111874873 -0500 -+++ ./geant321/cmagic.inc 2005-05-25 18:37:28.484252968 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmass.inc ./geant321/cmass.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmass.inc 2007-11-19 11:08:06.581616414 -0500 -+++ ./geant321/cmass.inc 2005-05-25 18:37:28.747593445 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmsres.inc ./geant321/cmsres.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmsres.inc 2007-11-19 11:08:06.561981531 -0500 -+++ ./geant321/cmsres.inc 2005-05-25 18:37:28.815648650 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/comcon.inc ./geant321/comcon.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/comcon.inc 2007-11-19 11:08:06.471589183 -0500 -+++ ./geant321/comcon.inc 2005-05-25 18:37:28.966701945 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/comcont.inc ./geant321/comcont.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/comcont.inc 2007-11-19 11:08:06.753759485 -0500 -+++ ./geant321/comcont.inc 2005-05-25 18:37:28.886073802 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in ./geant321: .consign -Only in ./geant321: .consign.sl305_gcc323 -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/corinc.inc ./geant321/corinc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/corinc.inc 2007-11-19 11:08:06.678071667 -0500 -+++ ./geant321/corinc.inc 2005-05-25 18:37:28.381526322 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/crandm.inc ./geant321/crandm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/crandm.inc 2007-11-19 11:08:06.487406041 -0500 -+++ ./geant321/crandm.inc 2005-05-25 18:37:28.512468985 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in ./geant321: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/dblprc.inc ./geant321/dblprc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/dblprc.inc 2007-11-19 11:08:06.528059200 -0500 -+++ ./geant321/dblprc.inc 2005-05-25 18:37:28.860663670 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/decayc2.inc ./geant321/decayc2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/decayc2.inc 2007-11-19 11:08:06.115938167 -0500 -+++ ./geant321/decayc2.inc 2005-05-25 18:37:28.763850677 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/decayc.inc ./geant321/decayc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/decayc.inc 2007-11-19 11:08:06.085596991 -0500 -+++ ./geant321/decayc.inc 2005-05-25 18:37:28.028117855 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/depnuc.inc ./geant321/depnuc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/depnuc.inc 2007-11-19 11:08:06.529669807 -0500 -+++ ./geant321/depnuc.inc 2005-05-25 18:37:28.796320726 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/dimpar.inc ./geant321/dimpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/dimpar.inc 2007-11-19 11:08:06.612686810 -0500 -+++ ./geant321/dimpar.inc 2005-05-25 18:37:28.751673654 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eropts.inc ./geant321/eropts.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eropts.inc 2007-11-19 11:08:06.186269518 -0500 -+++ ./geant321/eropts.inc 2007-05-18 13:05:06.966831992 -0400 -@@ -1,12 +1,15 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * --* Revision 1.1.1.1 2002/06/16 15:18:38 hristov --* Separate distribution of Geant3 -+* Revision 1.2 2005/06/09 00:09:25 fisyak -+* comply with STAR - * --* Revision 1.1.1.1 1999/05/18 15:55:16 fca --* AliRoot sources -+* Revision 1.2 2004/03/01 17:26:25 fisyak -+* Get rid of staf -+* -+* Revision 1.1 1999/12/07 15:44:29 fisyak -+* Add geane, new TGeant3 from Alice - * - * Revision 1.2 1996/07/25 15:01:02 ravndal - * CMZ to CVS conversion artefact removed -@@ -23,12 +26,12 @@ - * eropts.inc - * - CHARACTER*8 CHOPTI -- LOGICAL LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU -+ LOGICAL LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU, LEVMIX - REAL ERPLI, ERPLO, ERLENG - INTEGER NAMEER, NUMVER, IOVLER - COMMON /EROPTS/ ERPLI(3,2), ERPLO(3,4,MXPRED), ERLENG(MXPRED), - + NAMEER(MXPRED), NUMVER(MXPRED), IOVLER(MXPRED), -- + LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU -+ + LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU, LEVMIX - COMMON /EROPTC/CHOPTI - * - * eropts.inc -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ertrio.inc ./geant321/ertrio.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ertrio.inc 2007-11-19 11:08:06.637022564 -0500 -+++ ./geant321/ertrio.inc 2005-05-25 18:37:28.245994672 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/erwork.inc ./geant321/erwork.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/erwork.inc 2007-11-19 11:08:06.127333928 -0500 -+++ ./geant321/erwork.inc 2005-05-25 18:37:28.309405396 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eva0.inc ./geant321/eva0.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eva0.inc 2007-11-19 11:08:06.054755590 -0500 -+++ ./geant321/eva0.inc 2005-05-25 18:37:28.417368205 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eva1.inc ./geant321/eva1.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eva1.inc 2007-11-19 11:08:06.621763954 -0500 -+++ ./geant321/eva1.inc 2005-05-25 18:37:28.765373793 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/fheavy.inc ./geant321/fheavy.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/fheavy.inc 2007-11-19 11:08:06.149609010 -0500 -+++ ./geant321/fheavy.inc 2005-05-25 18:37:28.654995536 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/fheavyt.inc ./geant321/fheavyt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/fheavyt.inc 2007-11-19 11:08:06.036021923 -0500 -+++ ./geant321/fheavyt.inc 2005-05-25 18:37:28.074990613 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp2.inc ./geant321/finlsp2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp2.inc 2007-11-19 11:08:06.573207693 -0500 -+++ ./geant321/finlsp2.inc 2005-05-25 18:37:28.554944612 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp3.inc ./geant321/finlsp3.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp3.inc 2007-11-19 11:08:06.847717419 -0500 -+++ ./geant321/finlsp3.inc 2005-05-25 18:37:29.227678676 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp.inc ./geant321/finlsp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp.inc 2007-11-19 11:08:06.361274033 -0500 -+++ ./geant321/finlsp.inc 2005-05-25 18:37:28.454112663 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finpar2.inc ./geant321/finpar2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finpar2.inc 2007-11-19 11:08:06.004321158 -0500 -+++ ./geant321/finpar2.inc 2005-05-25 18:37:29.857342407 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finpar.inc ./geant321/finpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finpar.inc 2007-11-19 11:08:06.581578222 -0500 -+++ ./geant321/finpar.inc 2005-05-25 18:37:29.155205144 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuc2.inc ./geant321/finuc2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuc2.inc 2007-11-19 11:08:06.104260012 -0500 -+++ ./geant321/finuc2.inc 2005-05-25 18:37:29.641586672 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuc.inc ./geant321/finuc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuc.inc 2007-11-19 11:08:06.415380260 -0500 -+++ ./geant321/finuc.inc 2005-05-25 18:37:29.304890573 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuct.inc ./geant321/finuct.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuct.inc 2007-11-19 11:08:06.662262408 -0500 -+++ ./geant321/finuct.inc 2005-05-25 18:37:29.218350940 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/forcn.inc ./geant321/forcn.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/forcn.inc 2007-11-19 11:08:06.065892641 -0500 -+++ ./geant321/forcn.inc 2005-05-25 18:37:29.501126375 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gc10ev.inc ./geant321/gc10ev.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gc10ev.inc 2007-11-19 11:08:06.606847816 -0500 -+++ ./geant321/gc10ev.inc 2005-05-25 18:37:29.021207924 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcasho.inc ./geant321/gcasho.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcasho.inc 2007-11-19 11:08:06.965461346 -0500 -+++ ./geant321/gcasho.inc 2005-05-25 18:37:29.945736260 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcbank.inc ./geant321/gcbank.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcbank.inc 2007-11-19 11:08:06.493457129 -0500 -+++ ./geant321/gcbank.inc 2005-05-25 18:37:29.550810080 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gccurs.inc ./geant321/gccurs.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gccurs.inc 2007-11-19 11:08:06.616349427 -0500 -+++ ./geant321/gccurs.inc 2005-05-25 18:37:29.963939875 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gccuts.inc ./geant321/gccuts.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gccuts.inc 2007-11-19 11:08:06.213030476 -0500 -+++ ./geant321/gccuts.inc 2007-05-18 15:36:55.056641494 -0400 -@@ -1,11 +1,9 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * --* Revision 1.2 2007/03/31 13:48:01 brun --* From Andrea Fontana and Alberto Rotondi --* Added one extra parameter (GCALPHA) to the COMMON GCCUTS to drive the --* Urban/Landau models in the ERLAND routine. -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) - * - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS -@@ -26,9 +24,6 @@ - * - * gccuts.inc - * --* modified by A.Rotondi & A.Fontana --* march 2007 --* (reintroduced GCUTS(5)) - #if !defined(CERNLIB_INCLUDE) - COMMON/GCCUTS/CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM - + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS(5) -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcdlin.inc ./geant321/gcdlin.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcdlin.inc 2007-11-19 11:08:06.593059851 -0500 -+++ ./geant321/gcdlin.inc 2005-05-25 18:37:29.718613756 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcdraw.inc ./geant321/gcdraw.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcdraw.inc 2007-11-19 11:08:06.361121015 -0500 -+++ ./geant321/gcdraw.inc 2005-05-25 18:37:29.736740135 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcfdim.inc ./geant321/gcfdim.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcfdim.inc 2007-11-19 11:08:06.766359070 -0500 -+++ ./geant321/gcfdim.inc 2005-05-25 18:37:29.005735147 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcflag.inc ./geant321/gcflag.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcflag.inc 2007-11-19 11:08:06.235343698 -0500 -+++ ./geant321/gcflag.inc 2005-05-25 18:37:29.532588695 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcgobj.inc ./geant321/gcgobj.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcgobj.inc 2007-11-19 11:08:06.048103902 -0500 -+++ ./geant321/gcgobj.inc 2005-05-25 18:37:30.160902773 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:30 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchil2.inc ./geant321/gchil2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchil2.inc 2007-11-19 11:08:06.518362219 -0500 -+++ ./geant321/gchil2.inc 2005-05-25 18:37:31.006360544 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchiln.inc ./geant321/gchiln.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchiln.inc 2007-11-19 11:08:06.828185758 -0500 -+++ ./geant321/gchiln.inc 2005-05-25 18:37:31.401114140 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchvir.inc ./geant321/gchvir.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchvir.inc 2007-11-19 11:08:06.394672310 -0500 -+++ ./geant321/gchvir.inc 2005-05-25 18:37:31.225592480 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcjloc.inc ./geant321/gcjloc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcjloc.inc 2007-11-19 11:08:06.918763278 -0500 -+++ ./geant321/gcjloc.inc 2005-05-25 18:37:31.117246083 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcjump.inc ./geant321/gcjump.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcjump.inc 2007-11-19 11:08:06.722943109 -0500 -+++ ./geant321/gcjump.inc 2005-05-25 18:37:31.579058254 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/12/02 16:37:44 brun -+* Changes from Federico Carminati and Peter Hristov who ported the system -+* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -+* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gckine.inc ./geant321/gckine.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gckine.inc 2007-11-19 11:08:06.381816199 -0500 -+++ ./geant321/gckine.inc 2005-05-25 18:37:31.424572776 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcking.inc ./geant321/gcking.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcking.inc 2007-11-19 11:08:06.181661012 -0500 -+++ ./geant321/gcking.inc 2005-05-25 18:37:31.698336673 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gckmax.inc ./geant321/gckmax.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gckmax.inc 2007-11-19 11:08:06.600384522 -0500 -+++ ./geant321/gckmax.inc 2005-10-27 12:08:36.859978884 -0400 -@@ -1,12 +1,18 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * --* Revision 1.1.1.1 2002/06/16 15:18:38 hristov --* Separate distribution of Geant3 -+* Revision 1.2 2005/06/09 00:09:25 fisyak -+* comply with STAR - * --* Revision 1.1.1.1 1999/05/18 15:55:16 fca --* AliRoot sources -+* Revision 1.1.1.1 2004/01/15 00:12:23 potekhin -+* -+* -+* Revision 1.2 2003/11/16 17:41:04 nevski -+* follow cernlib 2002 release note -+* -+* Revision 1.1.1.1 1997/11/03 15:29:48 atlascvs -+* Importing CERNLIB version 08.21. - * - * Revision 1.1.1.1 1995/10/24 10:20:32 cernlib - * Geant -@@ -20,7 +26,7 @@ - * - #if !defined(CERNLIB_INCLUDE) - INTEGER MXGKIN -- PARAMETER (MXGKIN=100) -+ PARAMETER (MXGKIN=250) - #endif - * - * gckmax.inc -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclink.inc ./geant321/gclink.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclink.inc 2007-11-19 11:08:06.259719601 -0500 -+++ ./geant321/gclink.inc 2005-05-25 18:37:31.009642366 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclist.inc ./geant321/gclist.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclist.inc 2007-11-19 11:08:06.186576558 -0500 -+++ ./geant321/gclist.inc 2005-05-25 18:37:31.587865936 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclund.inc ./geant321/gclund.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclund.inc 2007-11-19 11:08:06.856770280 -0500 -+++ ./geant321/gclund.inc 2005-05-25 18:37:31.279279262 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmate.inc ./geant321/gcmate.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmate.inc 2007-11-19 11:08:06.170286363 -0500 -+++ ./geant321/gcmate.inc 2005-05-25 18:37:31.724205963 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmulo.inc ./geant321/gcmulo.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmulo.inc 2007-11-19 11:08:06.905384694 -0500 -+++ ./geant321/gcmulo.inc 2005-05-25 18:37:31.792751532 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmutr.inc ./geant321/gcmutr.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmutr.inc 2007-11-19 11:08:06.419535845 -0500 -+++ ./geant321/gcmutr.inc 2005-05-25 18:37:31.927637511 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmzfo.inc ./geant321/gcmzfo.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmzfo.inc 2007-11-19 11:08:06.510589696 -0500 -+++ ./geant321/gcmzfo.inc 2005-05-25 18:37:31.395184907 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcnmec.inc ./geant321/gcnmec.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcnmec.inc 2007-11-19 11:08:06.853700883 -0500 -+++ ./geant321/gcnmec.inc 2005-05-25 18:37:31.031867104 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcnum.inc ./geant321/gcnum.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcnum.inc 2007-11-19 11:08:06.397184511 -0500 -+++ ./geant321/gcnum.inc 2005-05-25 18:37:31.379499562 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcomis.inc ./geant321/gcomis.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcomis.inc 2007-11-19 11:08:06.754016633 -0500 -+++ ./geant321/gcomis.inc 2005-05-25 18:37:31.792087936 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gconsp.inc ./geant321/gconsp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gconsp.inc 2007-11-19 11:08:06.296152442 -0500 -+++ ./geant321/gconsp.inc 2005-05-25 18:37:31.019925588 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gconst.inc ./geant321/gconst.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gconst.inc 2007-11-19 11:08:06.173299737 -0500 -+++ ./geant321/gconst.inc 2005-05-25 18:37:31.807235871 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcopti.inc ./geant321/gcopti.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcopti.inc 2007-11-19 11:08:06.368629788 -0500 -+++ ./geant321/gcopti.inc 2005-05-25 18:37:31.316408166 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpara.inc ./geant321/gcpara.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpara.inc 2007-11-19 11:08:06.650518665 -0500 -+++ ./geant321/gcpara.inc 2005-05-25 18:37:31.467611020 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcparm.inc ./geant321/gcparm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcparm.inc 2007-11-19 11:08:06.326375501 -0500 -+++ ./geant321/gcparm.inc 2005-05-25 18:37:31.552681177 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphnr.inc ./geant321/gcphnr.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphnr.inc 2007-11-19 11:08:06.043006758 -0500 -+++ ./geant321/gcphnr.inc 2005-05-25 18:37:32.467655768 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphpr.inc ./geant321/gcphpr.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphpr.inc 2007-11-19 11:08:06.791973544 -0500 -+++ ./geant321/gcphpr.inc 2005-05-25 18:37:32.475726433 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphrd.inc ./geant321/gcphrd.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphrd.inc 2007-11-19 11:08:06.305760973 -0500 -+++ ./geant321/gcphrd.inc 2005-05-25 18:37:32.079097817 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphxs.inc ./geant321/gcphxs.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphxs.inc 2007-11-19 11:08:06.267820167 -0500 -+++ ./geant321/gcphxs.inc 2005-05-25 18:37:32.808753359 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphys.inc ./geant321/gcphys.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphys.inc 2007-11-19 11:08:06.246704816 -0500 -+++ ./geant321/gcphys.inc 2005-05-25 18:37:32.090154448 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpixe.inc ./geant321/gcpixe.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpixe.inc 2007-11-19 11:08:06.253158954 -0500 -+++ ./geant321/gcpixe.inc 2005-05-25 18:37:32.499950387 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpmxz.inc ./geant321/gcpmxz.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpmxz.inc 2007-11-19 11:08:06.768455336 -0500 -+++ ./geant321/gcpmxz.inc 2005-05-25 18:37:32.660648837 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpoly.inc ./geant321/gcpoly.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpoly.inc 2007-11-19 11:08:06.871323841 -0500 -+++ ./geant321/gcpoly.inc 2005-05-25 18:37:32.493162472 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpotm.inc ./geant321/gcpotm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpotm.inc 2007-11-19 11:08:06.355870621 -0500 -+++ ./geant321/gcpotm.inc 2005-05-25 18:37:32.727647594 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpush.inc ./geant321/gcpush.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpush.inc 2007-11-19 11:08:06.563969973 -0500 -+++ ./geant321/gcpush.inc 2005-05-25 18:37:32.829972841 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcrayt.inc ./geant321/gcrayt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcrayt.inc 2007-11-19 11:08:06.242281494 -0500 -+++ ./geant321/gcrayt.inc 2005-05-25 18:37:32.712623226 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcrz.inc ./geant321/gcrz.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcrz.inc 2007-11-19 11:08:06.074495050 -0500 -+++ ./geant321/gcrz.inc 2005-05-25 18:37:32.056052272 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcscal.inc ./geant321/gcscal.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcscal.inc 2007-11-19 11:08:06.201003001 -0500 -+++ ./geant321/gcscal.inc 2005-05-25 18:37:32.977664843 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcscan.inc ./geant321/gcscan.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcscan.inc 2007-11-19 11:08:06.499480477 -0500 -+++ ./geant321/gcscan.inc 2005-05-25 18:37:33.437734111 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcsetf.inc ./geant321/gcsetf.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcsetf.inc 2007-11-19 11:08:06.278398925 -0500 -+++ ./geant321/gcsetf.inc 2005-05-25 18:37:33.167635359 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcsets.inc ./geant321/gcsets.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcsets.inc 2007-11-19 11:08:06.312491249 -0500 -+++ ./geant321/gcsets.inc 2005-05-25 18:37:33.973729216 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcshno.inc ./geant321/gcshno.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcshno.inc 2007-11-19 11:08:06.659428509 -0500 -+++ ./geant321/gcshno.inc 2005-05-25 18:37:33.795445241 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcshpt.inc ./geant321/gcshpt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcshpt.inc 2007-11-19 11:08:06.457368649 -0500 -+++ ./geant321/gcshpt.inc 2005-05-25 18:37:33.268447065 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcspee.inc ./geant321/gcspee.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcspee.inc 2007-11-19 11:08:06.091495819 -0500 -+++ ./geant321/gcspee.inc 2005-05-25 18:37:33.370221950 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcstak.inc ./geant321/gcstak.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcstak.inc 2007-11-19 11:08:06.488292896 -0500 -+++ ./geant321/gcstak.inc 2005-05-25 18:37:33.090356925 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcstra.inc ./geant321/gcstra.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcstra.inc 2007-11-19 11:08:06.198238449 -0500 -+++ ./geant321/gcstra.inc 2005-05-25 18:37:33.272113141 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctime.inc ./geant321/gctime.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctime.inc 2007-11-19 11:08:06.041793022 -0500 -+++ ./geant321/gctime.inc 2005-05-25 18:37:33.992821559 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctmed.inc ./geant321/gctmed.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctmed.inc 2007-11-19 11:08:06.021376454 -0500 -+++ ./geant321/gctmed.inc 2005-05-25 18:37:33.210854568 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctrak.inc ./geant321/gctrak.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctrak.inc 2007-11-19 11:08:06.866842416 -0500 -+++ ./geant321/gctrak.inc 2005-05-25 18:37:33.400474996 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcunit.inc ./geant321/gcunit.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcunit.inc 2007-11-19 11:08:06.544922574 -0500 -+++ ./geant321/gcunit.inc 2005-05-25 18:37:33.834843009 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcursb.inc ./geant321/gcursb.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcursb.inc 2007-11-19 11:08:06.461516133 -0500 -+++ ./geant321/gcursb.inc 2005-05-25 18:37:33.874794271 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvdma.inc ./geant321/gcvdma.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvdma.inc 2007-11-19 11:08:06.049533586 -0500 -+++ ./geant321/gcvdma.inc 2005-05-25 18:37:33.251768790 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvol1.inc ./geant321/gcvol1.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvol1.inc 2007-11-19 11:08:06.877997376 -0500 -+++ ./geant321/gcvol1.inc 2005-05-25 18:37:33.558664946 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvol2.inc ./geant321/gcvol2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvol2.inc 2007-11-19 11:08:06.106844521 -0500 -+++ ./geant321/gcvol2.inc 2005-05-25 18:37:33.665815616 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvolu.inc ./geant321/gcvolu.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvolu.inc 2007-11-19 11:08:06.689673490 -0500 -+++ ./geant321/gcvolu.inc 2005-05-25 18:37:33.617893276 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcxlun.inc ./geant321/gcxlun.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcxlun.inc 2007-11-19 11:08:06.635856267 -0500 -+++ ./geant321/gcxlun.inc 2005-05-25 18:37:33.991118355 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gfkdis.inc ./geant321/gfkdis.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gfkdis.inc 2007-11-19 11:08:06.751278532 -0500 -+++ ./geant321/gfkdis.inc 2005-05-25 18:37:33.812102624 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gsecti.inc ./geant321/gsecti.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gsecti.inc 2007-11-19 11:08:06.611809960 -0500 -+++ ./geant321/gsecti.inc 2005-05-25 18:37:33.137689158 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtasho.inc ./geant321/gtasho.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtasho.inc 2007-11-19 11:08:06.694666748 -0500 -+++ ./geant321/gtasho.inc 2005-05-25 18:37:33.960256124 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtbank.inc ./geant321/gtbank.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtbank.inc 2007-11-19 11:08:06.683882971 -0500 -+++ ./geant321/gtbank.inc 2005-05-25 18:37:33.369896356 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcons.inc ./geant321/gtcons.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcons.inc 2007-11-19 11:08:06.286797746 -0500 -+++ ./geant321/gtcons.inc 2005-05-25 18:37:33.035530632 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcurs.inc ./geant321/gtcurs.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcurs.inc 2007-11-19 11:08:06.821293546 -0500 -+++ ./geant321/gtcurs.inc 2005-05-25 18:37:33.531025663 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcuts.inc ./geant321/gtcuts.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcuts.inc 2007-11-19 11:08:06.315562525 -0500 -+++ ./geant321/gtcuts.inc 2007-05-18 15:33:43.635456968 -0400 -@@ -1,7 +1,12 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.2 2007/03/31 13:48:01 brun -+* From Andrea Fontana and Alberto Rotondi -+* Added one extra parameter (GCALPHA) to the COMMON GCCUTS to drive the -+* Urban/Landau models in the ERLAND routine. -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -@@ -23,7 +28,7 @@ - * - #if !defined(CERNLIB_INCLUDE) - REAL CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM -- + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS,GCALPHA -+ + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS - C - #endif - -Only in ./geant321: gtcuts.inc~ -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtdraw.inc ./geant321/gtdraw.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtdraw.inc 2007-11-19 11:08:06.710520245 -0500 -+++ ./geant321/gtdraw.inc 2005-05-25 18:37:33.982567778 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtfdim.inc ./geant321/gtfdim.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtfdim.inc 2007-11-19 11:08:06.166842227 -0500 -+++ ./geant321/gtfdim.inc 2005-05-25 18:37:34.785459273 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtflag.inc ./geant321/gtflag.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtflag.inc 2007-11-19 11:08:06.990860559 -0500 -+++ ./geant321/gtflag.inc 2005-05-25 18:37:34.886924683 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthil2.inc ./geant321/gthil2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthil2.inc 2007-11-19 11:08:06.941878283 -0500 -+++ ./geant321/gthil2.inc 2005-05-25 18:37:34.220299664 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthiln.inc ./geant321/gthiln.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthiln.inc 2007-11-19 11:08:06.630088902 -0500 -+++ ./geant321/gthiln.inc 2005-05-25 18:37:34.221763508 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthvir.inc ./geant321/gthvir.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthvir.inc 2007-11-19 11:08:06.245437642 -0500 -+++ ./geant321/gthvir.inc 2005-05-25 18:37:34.481634769 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtjump.inc ./geant321/gtjump.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtjump.inc 2007-11-19 11:08:06.701341178 -0500 -+++ ./geant321/gtjump.inc 2005-05-25 18:37:34.327269476 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/12/02 16:37:45 brun -+* Changes from Federico Carminati and Peter Hristov who ported the system -+* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -+* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtkine.inc ./geant321/gtkine.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtkine.inc 2007-11-19 11:08:06.423377282 -0500 -+++ ./geant321/gtkine.inc 2005-05-25 18:37:34.840750458 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtlink.inc ./geant321/gtlink.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtlink.inc 2007-11-19 11:08:06.096078954 -0500 -+++ ./geant321/gtlink.inc 2005-05-25 18:37:34.651541219 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtlist.inc ./geant321/gtlist.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtlist.inc 2007-11-19 11:08:06.074873769 -0500 -+++ ./geant321/gtlist.inc 2005-05-25 18:37:34.884304855 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtmore.inc ./geant321/gtmore.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtmore.inc 2007-11-19 11:08:06.347032369 -0500 -+++ ./geant321/gtmore.inc 2007-05-18 15:38:06.964521471 -0400 -@@ -8,8 +8,8 @@ - #if !defined(CERNLIB_INCLUDE) - REAL GCALPHA - INTEGER ICLOSE -- REAL PFINAL(3),DSTRT,WIRE1(3),WIRE2(3) -- REAL P1(3),P2(3),P3(3) -+ REAL PFINAL,DSTRT,WIRE1,WIRE2 -+ REAL P1,P2,P3 - C - #endif - -Only in ./geant321: gtmore.inc~ -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtmutr.inc ./geant321/gtmutr.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtmutr.inc 2007-11-19 11:08:06.732348848 -0500 -+++ ./geant321/gtmutr.inc 2005-05-25 18:37:34.402597995 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtnum.inc ./geant321/gtnum.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtnum.inc 2007-11-19 11:08:06.518293109 -0500 -+++ ./geant321/gtnum.inc 2005-05-25 18:37:34.783108816 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtopti.inc ./geant321/gtopti.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtopti.inc 2007-11-19 11:08:06.334778342 -0500 -+++ ./geant321/gtopti.inc 2005-05-25 18:37:34.746722785 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtpara.inc ./geant321/gtpara.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtpara.inc 2007-11-19 11:08:06.526691714 -0500 -+++ ./geant321/gtpara.inc 2005-05-25 18:37:34.946220928 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtparm.inc ./geant321/gtparm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtparm.inc 2007-11-19 11:08:06.841399267 -0500 -+++ ./geant321/gtparm.inc 2005-05-25 18:37:34.682271544 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtphys.inc ./geant321/gtphys.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtphys.inc 2007-11-19 11:08:06.985320224 -0500 -+++ ./geant321/gtphys.inc 2005-05-25 18:37:34.495293535 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtpixe.inc ./geant321/gtpixe.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtpixe.inc 2007-11-19 11:08:06.707372080 -0500 -+++ ./geant321/gtpixe.inc 2005-05-25 18:37:34.469614567 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtrayt.inc ./geant321/gtrayt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtrayt.inc 2007-11-19 11:08:06.206420877 -0500 -+++ ./geant321/gtrayt.inc 2005-05-25 18:37:34.181742498 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtscal.inc ./geant321/gtscal.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtscal.inc 2007-11-19 11:08:06.868276363 -0500 -+++ ./geant321/gtscal.inc 2005-05-25 18:37:34.102155258 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtscan.inc ./geant321/gtscan.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtscan.inc 2007-11-19 11:08:06.128291160 -0500 -+++ ./geant321/gtscan.inc 2005-05-25 18:37:34.183114792 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtsets.inc ./geant321/gtsets.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtsets.inc 2007-11-19 11:08:06.274912709 -0500 -+++ ./geant321/gtsets.inc 2005-05-25 18:37:34.533874511 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtspee.inc ./geant321/gtspee.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtspee.inc 2007-11-19 11:08:06.466176238 -0500 -+++ ./geant321/gtspee.inc 2005-05-25 18:37:34.205688889 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtstak.inc ./geant321/gtstak.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtstak.inc 2007-11-19 11:08:06.349112158 -0500 -+++ ./geant321/gtstak.inc 2005-05-25 18:37:34.800131098 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gttmed.inc ./geant321/gttmed.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gttmed.inc 2007-11-19 11:08:06.940328021 -0500 -+++ ./geant321/gttmed.inc 2005-05-25 18:37:34.430956113 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gttrak.inc ./geant321/gttrak.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gttrak.inc 2007-11-19 11:08:06.798266230 -0500 -+++ ./geant321/gttrak.inc 2005-05-25 18:37:34.191725749 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtursb.inc ./geant321/gtursb.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtursb.inc 2007-11-19 11:08:06.476759098 -0500 -+++ ./geant321/gtursb.inc 2005-05-25 18:37:34.365056365 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvdma.inc ./geant321/gtvdma.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvdma.inc 2007-11-19 11:08:06.509256223 -0500 -+++ ./geant321/gtvdma.inc 2005-05-25 18:37:34.075375218 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvol1.inc ./geant321/gtvol1.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvol1.inc 2007-11-19 11:08:06.607906532 -0500 -+++ ./geant321/gtvol1.inc 2005-05-25 18:37:34.207243292 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvolu.inc ./geant321/gtvolu.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvolu.inc 2007-11-19 11:08:06.227242921 -0500 -+++ ./geant321/gtvolu.inc 2005-05-25 18:37:34.199206387 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gversc.inc ./geant321/gversc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gversc.inc 2007-11-19 11:08:06.907064822 -0500 -+++ ./geant321/gversc.inc 2005-05-25 18:37:34.993143036 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hadflg.inc ./geant321/hadflg.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hadflg.inc 2007-11-19 11:08:06.083601805 -0500 -+++ ./geant321/hadflg.inc 2005-05-25 18:37:34.171443845 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hadpar.inc ./geant321/hadpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hadpar.inc 2007-11-19 11:08:06.645689510 -0500 -+++ ./geant321/hadpar.inc 2005-05-25 18:37:34.855194233 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hetc5.inc ./geant321/hetc5.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hetc5.inc 2007-11-19 11:08:06.885156624 -0500 -+++ ./geant321/hetc5.inc 2005-05-25 18:37:34.914509175 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hetc7.inc ./geant321/hetc7.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hetc7.inc 2007-11-19 11:08:06.646846334 -0500 -+++ ./geant321/hetc7.inc 2005-05-25 18:37:34.475265981 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hettp.inc ./geant321/hettp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hettp.inc 2007-11-19 11:08:06.288881469 -0500 -+++ ./geant321/hettp.inc 2005-05-25 18:37:34.254584282 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/higfis.inc ./geant321/higfis.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/higfis.inc 2007-11-19 11:08:06.534250638 -0500 -+++ ./geant321/higfis.inc 2005-05-25 18:37:34.447055214 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/incdek.inc ./geant321/incdek.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/incdek.inc 2007-11-19 11:08:06.591384563 -0500 -+++ ./geant321/incdek.inc 2005-05-25 18:37:34.954415697 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpdat2.inc ./geant321/inpdat2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpdat2.inc 2007-11-19 11:08:06.114378176 -0500 -+++ ./geant321/inpdat2.inc 2005-05-25 18:37:34.439771329 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpdat.inc ./geant321/inpdat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpdat.inc 2007-11-19 11:08:06.603812408 -0500 -+++ ./geant321/inpdat.inc 2005-05-25 18:37:34.997729683 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpflg.inc ./geant321/inpflg.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpflg.inc 2007-11-19 11:08:06.677123423 -0500 -+++ ./geant321/inpflg.inc 2005-05-25 18:37:34.045968883 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/iounit.inc ./geant321/iounit.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/iounit.inc 2007-11-19 11:08:06.592208963 -0500 -+++ ./geant321/iounit.inc 2005-05-25 18:37:34.452002168 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/isotop.inc ./geant321/isotop.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/isotop.inc 2007-11-19 11:08:06.186118391 -0500 -+++ ./geant321/isotop.inc 2005-05-25 18:37:34.460625871 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/labcos.inc ./geant321/labcos.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/labcos.inc 2007-11-19 11:08:06.522107768 -0500 -+++ ./geant321/labcos.inc 2005-05-25 18:37:34.394003244 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/limits.inc ./geant321/limits.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/limits.inc 2007-11-19 11:08:06.908222984 -0500 -+++ ./geant321/limits.inc 2005-05-25 18:37:34.136096392 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ludat1.inc ./geant321/ludat1.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ludat1.inc 2007-11-19 11:08:06.119059653 -0500 -+++ ./geant321/ludat1.inc 2005-05-25 18:37:34.162095911 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ludat3.inc ./geant321/ludat3.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ludat3.inc 2007-11-19 11:08:06.270079737 -0500 -+++ ./geant321/ludat3.inc 2005-05-25 18:37:34.240024649 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/lujets.inc ./geant321/lujets.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/lujets.inc 2007-11-19 11:08:06.437629177 -0500 -+++ ./geant321/lujets.inc 2005-05-25 18:37:34.864045850 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapa.inc ./geant321/mapa.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapa.inc 2007-11-19 11:08:06.199966025 -0500 -+++ ./geant321/mapa.inc 2005-05-25 18:37:34.878175606 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapat.inc ./geant321/mapat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapat.inc 2007-11-19 11:08:06.424665537 -0500 -+++ ./geant321/mapat.inc 2005-05-25 18:37:34.496205395 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapoll.inc ./geant321/mapoll.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapoll.inc 2007-11-19 11:08:06.297640027 -0500 -+++ ./geant321/mapoll.inc 2005-05-25 18:37:34.903195161 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mconst.inc ./geant321/mconst.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mconst.inc 2007-11-19 11:08:06.142022172 -0500 -+++ ./geant321/mconst.inc 2005-05-25 18:37:34.978010960 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mcreco.inc ./geant321/mcreco.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mcreco.inc 2007-11-19 11:08:06.796047110 -0500 -+++ ./geant321/mcreco.inc 2005-05-25 18:37:34.764216364 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mcross.inc ./geant321/mcross.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mcross.inc 2007-11-19 11:08:06.401390127 -0500 -+++ ./geant321/mcross.inc 2005-05-25 18:37:34.218344013 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/metlsp.inc ./geant321/metlsp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/metlsp.inc 2007-11-19 11:08:06.739144276 -0500 -+++ ./geant321/metlsp.inc 2005-05-25 18:37:34.631980281 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mgamma.inc ./geant321/mgamma.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mgamma.inc 2007-11-19 11:08:06.628994621 -0500 -+++ ./geant321/mgamma.inc 2005-05-25 18:37:34.076347240 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/minput.inc ./geant321/minput.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/minput.inc 2007-11-19 11:08:06.224969282 -0500 -+++ ./geant321/minput.inc 2005-05-25 18:37:34.886069818 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmass.inc ./geant321/mmass.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmass.inc 2007-11-19 11:08:06.676082548 -0500 -+++ ./geant321/mmass.inc 2005-05-25 18:37:34.425909908 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmicab.inc ./geant321/mmicab.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmicab.inc 2007-11-19 11:08:06.004006201 -0500 -+++ ./geant321/mmicab.inc 2005-05-25 18:37:34.424623664 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmicap.inc ./geant321/mmicap.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmicap.inc 2007-11-19 11:08:06.782973241 -0500 -+++ ./geant321/mmicap.inc 2005-05-25 18:37:34.156514015 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mnutrn.inc ./geant321/mnutrn.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mnutrn.inc 2007-11-19 11:08:06.826931229 -0500 -+++ ./geant321/mnutrn.inc 2005-05-25 18:37:34.644994325 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mparam.inc ./geant321/mparam.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mparam.inc 2007-11-19 11:08:06.614957826 -0500 -+++ ./geant321/mparam.inc 2005-05-25 18:37:34.036890201 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mpoint.inc ./geant321/mpoint.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mpoint.inc 2007-11-19 11:08:06.851484201 -0500 -+++ ./geant321/mpoint.inc 2005-05-25 18:37:34.712937482 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mpstor.inc ./geant321/mpstor.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mpstor.inc 2007-11-19 11:08:06.787727737 -0500 -+++ ./geant321/mpstor.inc 2005-05-25 18:37:34.551413198 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mrecoi.inc ./geant321/mrecoi.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mrecoi.inc 2007-11-19 11:08:06.894876864 -0500 -+++ ./geant321/mrecoi.inc 2005-05-25 18:37:34.075908042 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mupsca.inc ./geant321/mupsca.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mupsca.inc 2007-11-19 11:08:06.707701284 -0500 -+++ ./geant321/mupsca.inc 2005-05-25 18:37:34.690937890 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mxgkgh.inc ./geant321/mxgkgh.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mxgkgh.inc 2007-11-19 11:08:06.142264211 -0500 -+++ ./geant321/mxgkgh.inc 2005-05-25 18:37:34.256890347 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucdat.inc ./geant321/nucdat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucdat.inc 2007-11-19 11:08:06.103654173 -0500 -+++ ./geant321/nucdat.inc 2005-05-25 18:37:34.931882644 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucgeo.inc ./geant321/nucgeo.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucgeo.inc 2007-11-19 11:08:06.072722446 -0500 -+++ ./geant321/nucgeo.inc 2005-05-25 18:37:34.893878544 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nuciod.inc ./geant321/nuciod.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nuciod.inc 2007-11-19 11:08:06.929877877 -0500 -+++ ./geant321/nuciod.inc 2005-05-25 18:37:34.998839543 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nuclev.inc ./geant321/nuclev.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nuclev.inc 2007-11-19 11:08:06.727937670 -0500 -+++ ./geant321/nuclev.inc 2005-05-25 18:37:34.778346412 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucpar.inc ./geant321/nucpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucpar.inc 2007-11-19 11:08:06.592245347 -0500 -+++ ./geant321/nucpar.inc 2005-05-25 18:37:34.469923111 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucstf.inc ./geant321/nucstf.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucstf.inc 2007-11-19 11:08:06.655827370 -0500 -+++ ./geant321/nucstf.inc 2005-05-25 18:37:34.083856496 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/paprop.inc ./geant321/paprop.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/paprop.inc 2007-11-19 11:08:06.796093795 -0500 -+++ ./geant321/paprop.inc 2005-05-25 18:37:34.589168926 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/papropt.inc ./geant321/papropt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/papropt.inc 2007-11-19 11:08:06.680106543 -0500 -+++ ./geant321/papropt.inc 2005-05-25 18:37:34.839222312 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/parevt.inc ./geant321/parevt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/parevt.inc 2007-11-19 11:08:06.001966656 -0500 -+++ ./geant321/parevt.inc 2005-05-25 18:37:34.732464425 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/parnuc.inc ./geant321/parnuc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/parnuc.inc 2007-11-19 11:08:06.430585839 -0500 -+++ ./geant321/parnuc.inc 2005-05-25 18:37:34.634827759 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part2.inc ./geant321/part2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part2.inc 2007-11-19 11:08:06.420641723 -0500 -+++ ./geant321/part2.inc 2005-05-25 18:37:34.638619631 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part2t.inc ./geant321/part2t.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part2t.inc 2007-11-19 11:08:06.037896584 -0500 -+++ ./geant321/part2t.inc 2005-05-25 18:37:34.382892157 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part3.inc ./geant321/part3.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part3.inc 2007-11-19 11:08:06.515708966 -0500 -+++ ./geant321/part3.inc 2005-05-25 18:37:34.227892218 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part.inc ./geant321/part.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part.inc 2007-11-19 11:08:06.960572529 -0500 -+++ ./geant321/part.inc 2005-05-25 18:37:34.792616250 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/partt.inc ./geant321/partt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/partt.inc 2007-11-19 11:08:06.776806599 -0500 -+++ ./geant321/partt.inc 2005-05-25 18:37:34.330661960 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pawc.inc ./geant321/pawc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pawc.inc 2007-11-19 11:08:06.356902781 -0500 -+++ ./geant321/pawc.inc 2005-05-25 18:37:34.568620409 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pawct.inc ./geant321/pawct.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pawct.inc 2007-11-19 11:08:06.637790646 -0500 -+++ ./geant321/pawct.inc 2005-05-25 18:37:34.685846372 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pcodat.inc ./geant321/pcodat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pcodat.inc 2007-11-19 11:08:06.471756665 -0500 -+++ ./geant321/pcodat.inc 2005-05-25 18:37:34.530941326 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pcodim.inc ./geant321/pcodim.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pcodim.inc 2007-11-19 11:08:06.024727890 -0500 -+++ ./geant321/pcodim.inc 2005-05-25 18:37:34.041021201 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/qquark.inc ./geant321/qquark.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/qquark.inc 2007-11-19 11:08:06.026892487 -0500 -+++ ./geant321/qquark.inc 2005-05-25 18:37:34.292221842 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/reac.inc ./geant321/reac.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/reac.inc 2007-11-19 11:08:06.036834506 -0500 -+++ ./geant321/reac.inc 2005-05-25 18:37:34.994248361 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/redver.inc ./geant321/redver.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/redver.inc 2007-11-19 11:08:06.995728428 -0500 -+++ ./geant321/redver.inc 2005-05-25 18:37:34.025690814 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/resnuc.inc ./geant321/resnuc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/resnuc.inc 2007-11-19 11:08:06.278723833 -0500 -+++ ./geant321/resnuc.inc 2005-05-25 18:37:34.932441725 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_blank.inc ./geant321/s_blank.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_blank.inc 2007-11-19 11:08:06.373373594 -0500 -+++ ./geant321/s_blank.inc 2005-05-25 18:37:34.593982736 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_blankp.inc ./geant321/s_blankp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_blankp.inc 2007-11-19 11:08:06.785676732 -0500 -+++ ./geant321/s_blankp.inc 2005-05-25 18:37:34.163706786 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_consts.inc ./geant321/s_consts.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_consts.inc 2007-11-19 11:08:06.605447806 -0500 -+++ ./geant321/s_consts.inc 2005-05-25 18:37:34.448746643 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_coscom.inc ./geant321/s_coscom.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_coscom.inc 2007-11-19 11:08:06.939844727 -0500 -+++ ./geant321/s_coscom.inc 2005-05-25 18:37:34.794259200 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_csdat.inc ./geant321/s_csdat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_csdat.inc 2007-11-19 11:08:06.819352149 -0500 -+++ ./geant321/s_csdat.inc 2005-05-25 18:37:34.686678567 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_csdim.inc ./geant321/s_csdim.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_csdim.inc 2007-11-19 11:08:06.312522464 -0500 -+++ ./geant321/s_csdim.inc 2005-05-25 18:37:34.328628823 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_curpar.inc ./geant321/s_curpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_curpar.inc 2007-11-19 11:08:06.836363677 -0500 -+++ ./geant321/s_curpar.inc 2005-05-25 18:37:34.632131196 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_defcom.inc ./geant321/s_defcom.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_defcom.inc 2007-11-19 11:08:06.804057776 -0500 -+++ ./geant321/s_defcom.inc 2005-05-25 18:37:34.566625203 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_errcom.inc ./geant321/s_errcom.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_errcom.inc 2007-11-19 11:08:06.889410220 -0500 -+++ ./geant321/s_errcom.inc 2005-05-25 18:37:34.143651570 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_event.inc ./geant321/s_event.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_event.inc 2007-11-19 11:08:06.547836344 -0500 -+++ ./geant321/s_event.inc 2005-05-25 18:37:34.950966056 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_genio.inc ./geant321/s_genio.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_genio.inc 2007-11-19 11:08:06.519129898 -0500 -+++ ./geant321/s_genio.inc 2005-05-25 18:37:34.962636394 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_kginit.inc ./geant321/s_kginit.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_kginit.inc 2007-11-19 11:08:06.283807117 -0500 -+++ ./geant321/s_kginit.inc 2005-05-25 18:37:34.735603542 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_mat.inc ./geant321/s_mat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_mat.inc 2007-11-19 11:08:06.708487847 -0500 -+++ ./geant321/s_mat.inc 2005-05-25 18:37:34.894602134 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_nucio.inc ./geant321/s_nucio.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_nucio.inc 2007-11-19 11:08:06.590624758 -0500 -+++ ./geant321/s_nucio.inc 2005-05-25 18:37:34.567379065 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/split.inc ./geant321/split.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/split.inc 2007-11-19 11:08:06.859398973 -0500 -+++ ./geant321/split.inc 2005-05-25 18:37:34.492834469 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_prntfl.inc ./geant321/s_prntfl.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_prntfl.inc 2007-11-19 11:08:06.653578275 -0500 -+++ ./geant321/s_prntfl.inc 2005-05-25 18:37:34.592445916 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_result.inc ./geant321/s_result.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_result.inc 2007-11-19 11:08:06.458469486 -0500 -+++ ./geant321/s_result.inc 2005-05-25 18:37:34.183449439 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/trcom3.inc ./geant321/trcom3.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/trcom3.inc 2007-11-19 11:08:06.502734521 -0500 -+++ ./geant321/trcom3.inc 2005-05-25 18:37:34.232600564 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/xsepar.inc ./geant321/xsepar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/xsepar.inc 2007-11-19 11:08:06.822030210 -0500 -+++ ./geant321/xsepar.inc 2005-05-25 18:37:34.559588274 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in .: geant3.diff.050708 -Only in ./geocad: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gboset.F ./geocad/gboset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gboset.F 2007-11-19 11:08:06.629549918 -0500 -+++ ./geocad/gboset.F 2005-05-25 18:37:34.310162801 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gckmat.F ./geocad/gckmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gckmat.F 2007-11-19 11:08:06.478571246 -0500 -+++ ./geocad/gckmat.F 2005-05-25 18:37:35.498570875 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gckpar.F ./geocad/gckpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gckpar.F 2007-11-19 11:08:06.995175806 -0500 -+++ ./geocad/gckpar.F 2005-05-25 18:37:35.476534224 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gcoset.F ./geocad/gcoset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gcoset.F 2007-11-19 11:08:06.582777152 -0500 -+++ ./geocad/gcoset.F 2005-05-25 18:37:35.594559448 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gcsetc.F ./geocad/gcsetc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gcsetc.F 2007-11-19 11:08:06.368464626 -0500 -+++ ./geocad/gcsetc.F 2005-05-25 18:37:35.178521216 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gctset.F ./geocad/gctset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gctset.F 2007-11-19 11:08:06.368393226 -0500 -+++ ./geocad/gctset.F 2005-05-25 18:37:35.873609154 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gdexca.F ./geocad/gdexca.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gdexca.F 2007-11-19 11:08:06.294055991 -0500 -+++ ./geocad/gdexca.F 2005-05-25 18:37:35.453798095 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gelset.F ./geocad/gelset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gelset.F 2007-11-19 11:08:06.972673406 -0500 -+++ ./geocad/gelset.F 2005-05-25 18:37:35.782876891 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/genset.F ./geocad/genset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/genset.F 2007-11-19 11:08:06.326499944 -0500 -+++ ./geocad/genset.F 2005-05-25 18:37:35.940751962 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/getshp.F ./geocad/getshp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/getshp.F 2007-11-19 11:08:06.146521809 -0500 -+++ ./geocad/getshp.F 2005-05-25 18:37:35.013477466 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gjwrit.F ./geocad/gjwrit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gjwrit.F 2007-11-19 11:08:06.191483916 -0500 -+++ ./geocad/gjwrit.F 2005-05-25 18:37:35.876243359 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpaset.F ./geocad/gpaset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpaset.F 2007-11-19 11:08:06.839244046 -0500 -+++ ./geocad/gpaset.F 2005-05-25 18:37:35.218292710 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpcset.F ./geocad/gpcset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpcset.F 2007-11-19 11:08:06.807472501 -0500 -+++ ./geocad/gpcset.F 2005-05-25 18:37:35.827472131 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpgset.F ./geocad/gpgset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpgset.F 2007-11-19 11:08:06.983297074 -0500 -+++ ./geocad/gpgset.F 2005-05-25 18:37:35.495692889 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gposi.F ./geocad/gposi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gposi.F 2007-11-19 11:08:06.146376395 -0500 -+++ ./geocad/gposi.F 2005-05-25 18:37:35.329383484 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gptset.F ./geocad/gptset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gptset.F 2007-11-19 11:08:06.646384402 -0500 -+++ ./geocad/gptset.F 2005-05-25 18:37:35.825555063 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/greucl.F ./geocad/greucl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/greucl.F 2007-11-19 11:08:06.087385019 -0500 -+++ ./geocad/greucl.F 2005-05-25 18:37:35.278060175 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gspset.F ./geocad/gspset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gspset.F 2007-11-19 11:08:06.823435145 -0500 -+++ ./geocad/gspset.F 2005-05-25 18:37:35.012434160 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gstmat.F ./geocad/gstmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gstmat.F 2007-11-19 11:08:06.783969801 -0500 -+++ ./geocad/gstmat.F 2005-05-25 18:37:35.499793802 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gstset.F ./geocad/gstset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gstset.F 2007-11-19 11:08:06.260448020 -0500 -+++ ./geocad/gstset.F 2005-05-25 18:37:35.314123821 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrase.F ./geocad/gtrase.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrase.F 2007-11-19 11:08:06.295124174 -0500 -+++ ./geocad/gtrase.F 2005-05-25 18:37:35.595402310 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrdse.F ./geocad/gtrdse.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrdse.F 2007-11-19 11:08:06.194654503 -0500 -+++ ./geocad/gtrdse.F 2005-05-25 18:37:35.529839377 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrset.F ./geocad/gtrset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrset.F 2007-11-19 11:08:06.415283868 -0500 -+++ ./geocad/gtrset.F 2005-05-25 18:37:35.471385705 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtuset.F ./geocad/gtuset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtuset.F 2007-11-19 11:08:06.859852119 -0500 -+++ ./geocad/gtuset.F 2005-05-25 18:37:35.711845182 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtxset.F ./geocad/gtxset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtxset.F 2007-11-19 11:08:06.500723025 -0500 -+++ ./geocad/gtxset.F 2005-05-25 18:37:35.292352334 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gweucl.F ./geocad/gweucl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gweucl.F 2007-11-19 11:08:06.343744487 -0500 -+++ ./geocad/gweucl.F 2005-05-25 18:37:35.119374070 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2004/06/17 13:58:28 rdm -+* modified some old style FORMAT statements that were confusing the latest -+* version of the Intel Fortran compiler. -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gwrtre.F ./geocad/gwrtre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gwrtre.F 2007-11-19 11:08:06.439377479 -0500 -+++ ./geocad/gwrtre.F 2005-05-25 18:37:35.571580627 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/history.F ./geocad/history.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/history.F 2007-11-19 11:08:06.383725196 -0500 -+++ ./geocad/history.F 2005-05-25 18:37:35.544903952 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/readme.F ./geocad/readme.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/readme.F 2007-11-19 11:08:06.617949291 -0500 -+++ ./geocad/readme.F 2005-05-25 18:37:35.257282232 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad: .svn -Only in ./ggeom: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gbstat.F ./ggeom/gbstat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gbstat.F 2007-11-19 11:08:06.803324335 -0500 -+++ ./ggeom/gbstat.F 2005-05-25 18:37:35.744426625 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gcent.F ./ggeom/gcent.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gcent.F 2007-11-19 11:08:06.585069670 -0500 -+++ ./ggeom/gcent.F 2005-05-25 18:37:35.530284234 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gdtom.F ./ggeom/gdtom.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gdtom.F 2007-11-19 11:08:06.148336472 -0500 -+++ ./ggeom/gdtom.F 2005-05-25 18:37:35.339907530 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfatt.F ./ggeom/gfatt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfatt.F 2007-11-19 11:08:06.029708396 -0500 -+++ ./ggeom/gfatt.F 2005-05-25 18:37:35.543524027 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfclim.F ./ggeom/gfclim.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfclim.F 2007-11-19 11:08:06.078511293 -0500 -+++ ./ggeom/gfclim.F 2005-05-25 18:37:35.778324798 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcoor.F ./ggeom/gfcoor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcoor.F 2007-11-19 11:08:06.602987135 -0500 -+++ ./ggeom/gfcoor.F 2005-05-25 18:37:35.816287033 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcord.F ./ggeom/gfcord.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcord.F 2007-11-19 11:08:06.247975142 -0500 -+++ ./ggeom/gfcord.F 2005-05-25 18:37:35.602079059 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcvol.F ./ggeom/gfcvol.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcvol.F 2007-11-19 11:08:06.926303525 -0500 -+++ ./ggeom/gfcvol.F 2005-05-25 18:37:35.727139909 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfipar.F ./ggeom/gfipar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfipar.F 2007-11-19 11:08:06.548506095 -0500 -+++ ./ggeom/gfipar.F 2005-05-25 18:37:35.446935670 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflcar.F ./ggeom/gflcar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflcar.F 2007-11-19 11:08:06.521037985 -0500 -+++ ./ggeom/gflcar.F 2005-05-25 18:37:35.349222134 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflphi.F ./ggeom/gflphi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflphi.F 2007-11-19 11:08:06.675931418 -0500 -+++ ./ggeom/gflphi.F 2005-05-25 18:37:35.293890053 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflrad.F ./ggeom/gflrad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflrad.F 2007-11-19 11:08:06.711036693 -0500 -+++ ./ggeom/gflrad.F 2005-05-25 18:37:35.526971322 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflthe.F ./ggeom/gflthe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflthe.F 2007-11-19 11:08:06.897897401 -0500 -+++ ./ggeom/gflthe.F 2005-05-25 18:37:35.018713417 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfmoth.F ./ggeom/gfmoth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfmoth.F 2007-11-19 11:08:06.300203941 -0500 -+++ ./ggeom/gfmoth.F 2005-05-25 18:37:35.692307070 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfpara.F ./ggeom/gfpara.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfpara.F 2007-11-19 11:08:06.140225437 -0500 -+++ ./ggeom/gfpara.F 2005-05-25 18:37:35.124730000 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfstat.F ./ggeom/gfstat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfstat.F 2007-11-19 11:08:06.137188430 -0500 -+++ ./ggeom/gfstat.F 2005-05-25 18:37:35.023723056 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfupar.F ./ggeom/gfupar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfupar.F 2007-11-19 11:08:06.306761907 -0500 -+++ ./ggeom/gfupar.F 2005-05-25 18:37:35.837095542 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfvolu.F ./ggeom/gfvolu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfvolu.F 2007-11-19 11:08:06.483237611 -0500 -+++ ./ggeom/gfvolu.F 2005-05-25 18:37:35.467386152 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggcave.F ./ggeom/ggcave.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggcave.F 2007-11-19 11:08:06.755317840 -0500 -+++ ./ggeom/ggcave.F 2005-05-25 18:37:35.643439617 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdpar.F ./ggeom/ggdpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdpar.F 2007-11-19 11:08:06.149584145 -0500 -+++ ./ggeom/ggdpar.F 2005-05-25 18:37:35.304771188 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdspe.F ./ggeom/ggdspe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdspe.F 2007-11-19 11:08:06.628253455 -0500 -+++ ./ggeom/ggdspe.F 2005-05-25 18:37:35.336770594 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/07/26 11:00:07 rdm -+* Correct initialization of ORIG for shapes TUBE, TUBS, CONE, CONS, PGON, -+* PCON and IAXIS=2. By Andreas. -+* - * Revision 1.1.1.1 1999/05/18 15:55:17 fca - * AliRoot sources - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdvlp.F ./ggeom/ggdvlp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdvlp.F 2007-11-19 11:08:06.942154982 -0500 -+++ ./ggeom/ggdvlp.F 2005-05-25 18:37:35.663336510 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggeom.doc ./ggeom/ggeom.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggeom.doc 2007-10-04 19:45:50.537977475 -0400 -+++ ./ggeom/ggeom.doc 2005-05-25 18:37:35.782139416 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggnlev.F ./ggeom/ggnlev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggnlev.F 2007-11-19 11:08:06.472598525 -0500 -+++ ./ggeom/ggnlev.F 2005-05-25 18:37:35.452127000 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/12/02 16:37:45 brun -+* Changes from Federico Carminati and Peter Hristov who ported the system -+* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -+* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggord.F ./ggeom/ggord.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggord.F 2007-11-19 11:08:06.199252458 -0500 -+++ ./ggeom/ggord.F 2005-05-25 18:37:35.913641166 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/12/02 16:37:45 brun -+* Changes from Federico Carminati and Peter Hristov who ported the system -+* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -+* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggordq.F ./ggeom/ggordq.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggordq.F 2007-11-19 11:08:06.087459087 -0500 -+++ ./ggeom/ggordq.F 2005-05-25 18:37:35.282734458 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggperp.F ./ggeom/ggperp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggperp.F 2007-11-19 11:08:06.842862597 -0500 -+++ ./ggeom/ggperp.F 2005-05-25 18:37:35.162225029 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggperp.F.ori ./ggeom/ggperp.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggperp.F.ori 2007-10-04 19:45:50.442887288 -0400 -+++ ./ggeom/ggperp.F.ori 2005-05-25 18:37:35.104128191 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggppar.F ./ggeom/ggppar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggppar.F 2007-11-19 11:08:06.460536489 -0500 -+++ ./ggeom/ggppar.F 2005-05-25 18:37:35.482089381 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggppar.F.ori ./ggeom/ggppar.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggppar.F.ori 2007-10-04 19:45:50.437107334 -0400 -+++ ./ggeom/ggppar.F.ori 2005-05-25 18:37:35.084738135 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggvchk.F ./ggeom/ggvchk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggvchk.F 2007-11-19 11:08:06.675224337 -0500 -+++ ./ggeom/ggvchk.F 2005-05-25 18:37:36.011062315 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginctu.F ./ggeom/ginctu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginctu.F 2007-11-19 11:08:06.128077410 -0500 -+++ ./ggeom/ginctu.F 2005-05-25 18:37:36.814519703 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gingtr.F ./ggeom/gingtr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gingtr.F 2007-11-19 11:08:06.011055581 -0500 -+++ ./ggeom/gingtr.F 2005-05-25 18:37:36.965587556 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginme.F ./ggeom/ginme.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginme.F 2007-11-19 11:08:06.144662742 -0500 -+++ ./ggeom/ginme.F 2005-05-25 18:37:36.095645082 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpar.F ./ggeom/ginpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpar.F 2007-11-19 11:08:06.577559763 -0500 -+++ ./ggeom/ginpar.F 2005-05-25 18:37:36.617672529 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpco.F ./ggeom/ginpco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpco.F 2007-11-19 11:08:06.350546792 -0500 -+++ ./ggeom/ginpco.F 2005-05-25 18:37:36.212001727 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpgo.F ./ggeom/ginpgo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpgo.F 2007-11-19 11:08:06.608616986 -0500 -+++ ./ggeom/ginpgo.F 2005-05-25 18:37:36.596133919 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginrot.F ./ggeom/ginrot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginrot.F 2007-11-19 11:08:06.927025540 -0500 -+++ ./ggeom/ginrot.F 2005-05-25 18:37:36.590221553 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gintco.F ./ggeom/gintco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gintco.F 2007-11-19 11:08:06.871408612 -0500 -+++ ./ggeom/gintco.F 2005-05-25 18:37:36.223524115 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gintrp.F ./ggeom/gintrp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gintrp.F 2007-11-19 11:08:06.549379007 -0500 -+++ ./ggeom/gintrp.F 2005-05-25 18:37:36.948468153 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gitran.F ./ggeom/gitran.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gitran.F 2007-11-19 11:08:06.340870624 -0500 -+++ ./ggeom/gitran.F 2005-05-25 18:37:36.898827150 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/glmoth.F ./ggeom/glmoth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/glmoth.F 2007-11-19 11:08:06.408277029 -0500 -+++ ./ggeom/glmoth.F 2005-05-25 18:37:36.828027375 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/glvolu.F ./ggeom/glvolu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/glvolu.F 2007-11-19 11:08:06.240831713 -0500 -+++ ./ggeom/glvolu.F 2005-05-25 18:37:36.802995933 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedi2.F ./ggeom/gmedi2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedi2.F 2007-11-19 11:08:06.070985808 -0500 -+++ ./ggeom/gmedi2.F 2005-05-25 18:37:36.909570053 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedia.F ./ggeom/gmedia.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedia.F 2007-11-19 11:08:06.345083993 -0500 -+++ ./ggeom/gmedia.F 2005-05-25 18:37:36.601431047 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedia.F.ori ./ggeom/gmedia.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedia.F.ori 2007-10-04 19:45:50.720973762 -0400 -+++ ./ggeom/gmedia.F.ori 2005-05-25 18:37:36.748973243 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedin.F ./ggeom/gmedin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedin.F 2007-11-19 11:08:06.599105744 -0500 -+++ ./ggeom/gmedin.F 2005-05-25 18:37:36.771176682 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmediv.F ./ggeom/gmediv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmediv.F 2007-11-19 11:08:06.611336729 -0500 -+++ ./ggeom/gmediv.F 2005-05-25 18:37:36.496630351 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmepos.F ./ggeom/gmepos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmepos.F 2007-11-19 11:08:06.242639200 -0500 -+++ ./ggeom/gmepos.F 2005-05-25 18:37:36.731711343 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmtod.F ./ggeom/gmtod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmtod.F 2007-11-19 11:08:06.974950523 -0500 -+++ ./ggeom/gmtod.F 2005-05-25 18:37:36.794315505 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnbox.F ./ggeom/gnbox.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnbox.F 2007-11-19 11:08:06.516062142 -0500 -+++ ./ggeom/gnbox.F 2005-05-25 18:37:36.399907959 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gncone.F ./ggeom/gncone.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gncone.F 2007-11-19 11:08:06.009512572 -0500 -+++ ./ggeom/gncone.F 2005-05-25 18:37:36.457057308 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnctub.F ./ggeom/gnctub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnctub.F 2007-11-19 11:08:06.041916435 -0500 -+++ ./ggeom/gnctub.F 2005-05-25 18:37:36.812897929 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gneltu.F ./ggeom/gneltu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gneltu.F 2007-11-19 11:08:06.828934697 -0500 -+++ ./ggeom/gneltu.F 2005-05-25 18:37:36.921377164 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnex2.F ./ggeom/gnex2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnex2.F 2007-11-19 11:08:06.141817682 -0500 -+++ ./ggeom/gnex2.F 2005-05-25 18:37:36.657882269 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnext.F ./ggeom/gnext.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnext.F 2007-11-19 11:08:06.743490489 -0500 -+++ ./ggeom/gnext.F 2005-05-25 18:37:36.256950065 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnhype.F ./ggeom/gnhype.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnhype.F 2007-11-19 11:08:06.753408961 -0500 -+++ ./ggeom/gnhype.F 2005-05-25 18:37:36.510663336 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnobox.F ./ggeom/gnobox.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnobox.F 2007-11-19 11:08:06.302870316 -0500 -+++ ./ggeom/gnobox.F 2005-05-25 18:37:36.741371900 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnocon.F ./ggeom/gnocon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnocon.F 2007-11-19 11:08:06.315257936 -0500 -+++ ./ggeom/gnocon.F 2005-05-25 18:37:36.269713096 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnoctu.F ./ggeom/gnoctu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnoctu.F 2007-11-19 11:08:06.751394236 -0500 -+++ ./ggeom/gnoctu.F 2005-05-25 18:37:36.676841351 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnoelt.F ./ggeom/gnoelt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnoelt.F 2007-11-19 11:08:06.074224083 -0500 -+++ ./ggeom/gnoelt.F 2005-05-25 18:37:36.448849078 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnohyp.F ./ggeom/gnohyp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnohyp.F 2007-11-19 11:08:06.913971060 -0500 -+++ ./ggeom/gnohyp.F 2005-05-25 18:37:36.285870631 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopar.F ./ggeom/gnopar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopar.F 2007-11-19 11:08:06.959600173 -0500 -+++ ./ggeom/gnopar.F 2005-05-25 18:37:36.470830138 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopco.F ./ggeom/gnopco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopco.F 2007-11-19 11:08:06.534555446 -0500 -+++ ./ggeom/gnopco.F 2005-05-25 18:37:36.835829784 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopg1.F ./ggeom/gnopg1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopg1.F 2007-11-19 11:08:06.236398878 -0500 -+++ ./ggeom/gnopg1.F 2005-05-25 18:37:36.729122160 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopgo.F ./ggeom/gnopgo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopgo.F 2007-11-19 11:08:06.329616505 -0500 -+++ ./ggeom/gnopgo.F 2005-05-25 18:37:36.247815738 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnosph.F ./ggeom/gnosph.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnosph.F 2007-11-19 11:08:06.953863804 -0500 -+++ ./ggeom/gnosph.F 2005-05-25 18:37:36.086421952 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr1.F ./ggeom/gnotr1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr1.F 2007-11-19 11:08:06.152865169 -0500 -+++ ./ggeom/gnotr1.F 2005-05-25 18:37:36.691572700 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr2.F ./ggeom/gnotr2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr2.F 2007-11-19 11:08:06.637615600 -0500 -+++ ./ggeom/gnotr2.F 2005-05-25 18:37:36.803229121 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr9.F ./ggeom/gnotr9.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr9.F 2007-11-19 11:08:06.995034801 -0500 -+++ ./ggeom/gnotr9.F 2005-05-25 18:37:36.588830294 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotra.F ./ggeom/gnotra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotra.F 2007-11-19 11:08:06.418419065 -0500 -+++ ./ggeom/gnotra.F 2005-05-25 18:37:36.435459037 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotrp.F ./ggeom/gnotrp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotrp.F 2007-11-19 11:08:06.825229839 -0500 -+++ ./ggeom/gnotrp.F 2005-05-25 18:37:36.961485650 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotub.F ./ggeom/gnotub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotub.F 2007-11-19 11:08:06.064460383 -0500 -+++ ./ggeom/gnotub.F 2005-05-25 18:37:36.353856515 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpara.F ./ggeom/gnpara.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpara.F 2007-11-19 11:08:06.391502844 -0500 -+++ ./ggeom/gnpara.F 2005-05-25 18:37:36.354482728 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpcon.F ./ggeom/gnpcon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpcon.F 2007-11-19 11:08:06.630496162 -0500 -+++ ./ggeom/gnpcon.F 2005-05-25 18:37:36.563300551 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpgo1.F ./ggeom/gnpgo1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpgo1.F 2007-11-19 11:08:06.994692520 -0500 -+++ ./ggeom/gnpgo1.F 2005-05-25 18:37:36.085175352 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpgon.F ./ggeom/gnpgon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpgon.F 2007-11-19 11:08:06.252650443 -0500 -+++ ./ggeom/gnpgon.F 2005-05-25 18:37:36.664070802 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnsphr.F ./ggeom/gnsphr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnsphr.F 2007-11-19 11:08:06.468840940 -0500 -+++ ./ggeom/gnsphr.F 2005-05-25 18:37:36.863476899 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntrap.F ./ggeom/gntrap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntrap.F 2007-11-19 11:08:06.360095963 -0500 -+++ ./ggeom/gntrap.F 2005-05-25 18:37:36.716769981 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntrp.F ./ggeom/gntrp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntrp.F 2007-11-19 11:08:06.190117530 -0500 -+++ ./ggeom/gntrp.F 2005-05-25 18:37:36.652734101 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntube.F ./ggeom/gntube.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntube.F 2007-11-19 11:08:06.361559498 -0500 -+++ ./ggeom/gntube.F 2005-05-25 18:37:36.481755803 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gprotm.F ./ggeom/gprotm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gprotm.F 2007-11-19 11:08:06.068855593 -0500 -+++ ./ggeom/gprotm.F 2005-05-25 18:37:36.577791090 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gprotx.F ./ggeom/gprotx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gprotx.F 2007-11-19 11:08:06.624046545 -0500 -+++ ./ggeom/gprotx.F 2005-05-25 18:37:36.735236303 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpstat.F ./ggeom/gpstat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpstat.F 2007-11-19 11:08:06.175180423 -0500 -+++ ./ggeom/gpstat.F 2005-05-25 18:37:36.032809922 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpvolu.F ./ggeom/gpvolu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpvolu.F 2007-11-19 11:08:06.751552484 -0500 -+++ ./ggeom/gpvolu.F 2005-05-25 18:37:36.695366954 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpvolx.F ./ggeom/gpvolx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpvolx.F 2007-11-19 11:08:06.655790915 -0500 -+++ ./ggeom/gpvolx.F 2005-05-25 18:37:36.694478277 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grmtd.F ./ggeom/grmtd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grmtd.F 2007-11-19 11:08:06.776513856 -0500 -+++ ./ggeom/grmtd.F 2005-05-25 18:37:36.497824134 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grmul.F ./ggeom/grmul.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grmul.F 2007-11-19 11:08:06.689479109 -0500 -+++ ./ggeom/grmul.F 2005-05-25 18:37:36.838424877 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grot.F ./ggeom/grot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grot.F 2007-11-19 11:08:06.260704300 -0500 -+++ ./ggeom/grot.F 2005-05-25 18:37:36.589535875 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grpar.F ./ggeom/grpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grpar.F 2007-11-19 11:08:06.289666697 -0500 -+++ ./ggeom/grpar.F 2005-05-25 18:37:36.651482126 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsagtr.F ./ggeom/gsagtr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsagtr.F 2007-11-19 11:08:06.445312191 -0500 -+++ ./ggeom/gsagtr.F 2005-05-25 18:37:36.212192100 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsaphi.F ./ggeom/gsaphi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsaphi.F 2007-11-19 11:08:06.496718459 -0500 -+++ ./ggeom/gsaphi.F 2005-05-25 18:37:36.588498793 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsatt.F ./ggeom/gsatt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsatt.F 2007-11-19 11:08:06.176871759 -0500 -+++ ./ggeom/gsatt.F 2005-05-25 18:37:36.304017032 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gschk.F ./ggeom/gschk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gschk.F 2007-11-19 11:08:06.296498645 -0500 -+++ ./ggeom/gschk.F 2005-05-25 18:37:36.483458074 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gscvol.F ./ggeom/gscvol.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gscvol.F 2007-11-19 11:08:06.200824237 -0500 -+++ ./ggeom/gscvol.F 2005-05-25 18:37:36.193612876 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvn2.F ./ggeom/gsdvn2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvn2.F 2007-11-19 11:08:06.015050171 -0500 -+++ ./ggeom/gsdvn2.F 2005-05-25 18:37:36.951635894 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvn.F ./ggeom/gsdvn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvn.F 2007-11-19 11:08:06.540406931 -0500 -+++ ./ggeom/gsdvn.F 2005-05-25 18:37:36.781448982 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvs2.F ./ggeom/gsdvs2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvs2.F 2007-11-19 11:08:06.671318684 -0500 -+++ ./ggeom/gsdvs2.F 2005-05-25 18:37:36.603275905 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvs.F ./ggeom/gsdvs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvs.F 2007-11-19 11:08:06.716280706 -0500 -+++ ./ggeom/gsdvs.F 2005-05-25 18:37:36.838609804 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvt2.F ./ggeom/gsdvt2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvt2.F 2007-11-19 11:08:06.037349029 -0500 -+++ ./ggeom/gsdvt2.F 2005-05-25 18:37:36.309195406 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvt.F ./ggeom/gsdvt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvt.F 2007-11-19 11:08:06.082596400 -0500 -+++ ./ggeom/gsdvt.F 2005-05-25 18:37:36.589394491 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvx.F ./ggeom/gsdvx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvx.F 2007-11-19 11:08:06.439378706 -0500 -+++ ./ggeom/gsdvx.F 2005-05-25 18:37:36.655188980 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsipar.F ./ggeom/gsipar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsipar.F 2007-11-19 11:08:06.025464673 -0500 -+++ ./ggeom/gsipar.F 2005-05-25 18:37:36.969579961 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsnear.F ./ggeom/gsnear.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsnear.F 2007-11-19 11:08:06.016588477 -0500 -+++ ./ggeom/gsnear.F 2005-05-25 18:37:36.494817528 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsnext.F ./ggeom/gsnext.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsnext.F 2007-11-19 11:08:06.379380926 -0500 -+++ ./ggeom/gsnext.F 2005-05-25 18:37:36.391045815 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsngtr.F ./ggeom/gsngtr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsngtr.F 2007-11-19 11:08:06.497854670 -0500 -+++ ./ggeom/gsngtr.F 2005-05-25 18:37:36.799340011 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsord.F ./ggeom/gsord.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsord.F 2007-11-19 11:08:06.117558684 -0500 -+++ ./ggeom/gsord.F 2005-05-25 18:37:36.011542115 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gspos.F ./ggeom/gspos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gspos.F 2007-11-19 11:08:06.305666243 -0500 -+++ ./ggeom/gspos.F 2005-05-25 18:37:36.699354372 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsposp.F ./ggeom/gsposp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsposp.F 2007-11-19 11:08:06.031765164 -0500 -+++ ./ggeom/gsposp.F 2005-05-25 18:37:36.081312941 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsrotm.F ./ggeom/gsrotm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsrotm.F 2007-11-19 11:08:06.806527380 -0500 -+++ ./ggeom/gsrotm.F 2005-05-25 18:37:36.726676175 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsunea.F ./ggeom/gsunea.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsunea.F 2007-11-19 11:08:06.119512690 -0500 -+++ ./ggeom/gsunea.F 2005-05-25 18:37:36.625027230 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsvolu.F ./ggeom/gsvolu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsvolu.F 2007-11-19 11:08:06.264415028 -0500 -+++ ./ggeom/gsvolu.F 2005-05-25 18:37:36.445428267 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrain.F ./ggeom/gtrain.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrain.F 2007-11-19 11:08:06.216850766 -0500 -+++ ./ggeom/gtrain.F 2005-05-25 18:37:36.939506382 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrmul.F ./ggeom/gtrmul.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrmul.F 2007-11-19 11:08:06.279065959 -0500 -+++ ./ggeom/gtrmul.F 2005-05-25 18:37:36.717529030 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrnsf.F ./ggeom/gtrnsf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrnsf.F 2007-11-19 11:08:06.884110440 -0500 -+++ ./ggeom/gtrnsf.F 2005-05-25 18:37:36.795490516 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdcar.F ./ggeom/gvdcar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdcar.F 2007-11-19 11:08:06.456960224 -0500 -+++ ./ggeom/gvdcar.F 2005-05-25 18:37:36.683481532 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdlim.F ./ggeom/gvdlim.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdlim.F 2007-11-19 11:08:06.138815169 -0500 -+++ ./ggeom/gvdlim.F 2005-05-25 18:37:36.411442032 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdphi.F ./ggeom/gvdphi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdphi.F 2007-11-19 11:08:06.507432551 -0500 -+++ ./ggeom/gvdphi.F 2005-05-25 18:37:36.208464328 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdrad.F ./ggeom/gvdrad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdrad.F 2007-11-19 11:08:06.650189367 -0500 -+++ ./ggeom/gvdrad.F 2005-05-25 18:37:36.315693777 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdthe.F ./ggeom/gvdthe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdthe.F 2007-11-19 11:08:06.185082817 -0500 -+++ ./ggeom/gvdthe.F 2005-05-25 18:37:36.298425592 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvgrad.F ./ggeom/gvgrad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvgrad.F 2007-11-19 11:08:06.486407933 -0500 -+++ ./ggeom/gvgrad.F 2005-05-25 18:37:36.845008682 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvlong.F ./ggeom/gvlong.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvlong.F 2007-11-19 11:08:06.502368191 -0500 -+++ ./ggeom/gvlong.F 2005-05-25 18:37:36.161409597 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvpsqr.F ./ggeom/gvpsqr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvpsqr.F 2007-11-19 11:08:06.206408763 -0500 -+++ ./ggeom/gvpsqr.F 2005-05-25 18:37:36.250370879 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvsafe.F ./ggeom/gvsafe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvsafe.F 2007-11-19 11:08:06.220325442 -0500 -+++ ./ggeom/gvsafe.F 2005-05-25 18:37:36.969663227 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvsign.F ./ggeom/gvsign.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvsign.F 2007-11-19 11:08:06.425206877 -0500 -+++ ./ggeom/gvsign.F 2005-05-25 18:37:36.430721771 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/add.F ./gheisha/add.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/add.F 2007-11-19 11:08:06.273792511 -0500 -+++ ./gheisha/add.F 2005-05-25 18:37:36.881589114 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/ang.F ./gheisha/ang.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/ang.F 2007-11-19 11:08:06.271148916 -0500 -+++ ./gheisha/ang.F 2005-05-25 18:37:36.142354346 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/atomas.F ./gheisha/atomas.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/atomas.F 2007-11-19 11:08:06.545069091 -0500 -+++ ./gheisha/atomas.F 2005-05-25 18:37:36.619078745 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/captur.F ./gheisha/captur.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/captur.F 2007-11-19 11:08:06.914087843 -0500 -+++ ./gheisha/captur.F 2005-05-25 18:37:36.274189713 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casal0.F ./gheisha/casal0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casal0.F 2007-11-19 11:08:06.457003597 -0500 -+++ ./gheisha/casal0.F 2005-05-25 18:37:36.386791783 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casaom.F ./gheisha/casaom.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casaom.F 2007-11-19 11:08:06.380331400 -0500 -+++ ./gheisha/casaom.F 2005-05-25 18:37:36.156892616 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casasm.F ./gheisha/casasm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casasm.F 2007-11-19 11:08:06.721905901 -0500 -+++ ./gheisha/casasm.F 2005-05-25 18:37:36.722761994 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casasp.F ./gheisha/casasp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casasp.F 2007-11-19 11:08:06.260250563 -0500 -+++ ./gheisha/casasp.F 2005-05-25 18:37:36.204316128 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casax0.F ./gheisha/casax0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casax0.F 2007-11-19 11:08:06.619663935 -0500 -+++ ./gheisha/casax0.F 2005-05-25 18:37:36.195937493 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casaxm.F ./gheisha/casaxm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casaxm.F 2007-11-19 11:08:06.136317663 -0500 -+++ ./gheisha/casaxm.F 2005-05-25 18:37:36.338276575 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casfrg.F ./gheisha/casfrg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casfrg.F 2007-11-19 11:08:06.320880877 -0500 -+++ ./gheisha/casfrg.F 2005-05-25 18:37:36.465423249 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cask0b.F ./gheisha/cask0b.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cask0b.F 2007-11-19 11:08:06.939947716 -0500 -+++ ./gheisha/cask0b.F 2005-05-25 18:37:36.193260727 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cask0.F ./gheisha/cask0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cask0.F 2007-11-19 11:08:06.898905864 -0500 -+++ ./gheisha/cask0.F 2005-05-25 18:37:36.079252214 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caskm.F ./gheisha/caskm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caskm.F 2007-11-19 11:08:06.011312329 -0500 -+++ ./gheisha/caskm.F 2005-05-25 18:37:36.360235317 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caskp.F ./gheisha/caskp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caskp.F 2007-11-19 11:08:06.244241247 -0500 -+++ ./gheisha/caskp.F 2005-05-25 18:37:36.675293120 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casl0.F ./gheisha/casl0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casl0.F 2007-11-19 11:08:06.263880512 -0500 -+++ ./gheisha/casl0.F 2005-05-25 18:37:36.203701118 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casnb.F ./gheisha/casnb.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casnb.F 2007-11-19 11:08:06.665279215 -0500 -+++ ./gheisha/casnb.F 2005-05-25 18:37:36.432933092 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casn.F ./gheisha/casn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casn.F 2007-11-19 11:08:06.420219450 -0500 -+++ ./gheisha/casn.F 2005-05-25 18:37:36.237798306 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casom.F ./gheisha/casom.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casom.F 2007-11-19 11:08:06.187242303 -0500 -+++ ./gheisha/casom.F 2005-05-25 18:37:36.254797990 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspb.F ./gheisha/caspb.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspb.F 2007-11-19 11:08:06.276203584 -0500 -+++ ./gheisha/caspb.F 2005-05-25 18:37:36.069823767 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casp.F ./gheisha/casp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casp.F 2007-11-19 11:08:06.412143812 -0500 -+++ ./gheisha/casp.F 2005-05-25 18:37:36.312843682 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspim.F ./gheisha/caspim.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspim.F 2007-11-19 11:08:06.643178246 -0500 -+++ ./gheisha/caspim.F 2005-05-25 18:37:36.676177635 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.2 2002/07/10 09:45:00 morsch - * Gheisha corrections suggested by Gary Bower (FNAL). - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspip.F ./gheisha/caspip.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspip.F 2007-11-19 11:08:06.002047017 -0500 -+++ ./gheisha/caspip.F 2005-05-25 18:37:37.033450907 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.2 2002/07/10 09:45:00 morsch - * Gheisha corrections suggested by Gary Bower (FNAL). - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cassm.F ./gheisha/cassm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cassm.F 2007-11-19 11:08:06.397172507 -0500 -+++ ./gheisha/cassm.F 2005-05-25 18:37:37.148370802 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cassp.F ./gheisha/cassp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cassp.F 2007-11-19 11:08:06.509853555 -0500 -+++ ./gheisha/cassp.F 2005-05-25 18:37:37.608212170 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casx0.F ./gheisha/casx0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casx0.F 2007-11-19 11:08:06.835156152 -0500 -+++ ./gheisha/casx0.F 2005-05-25 18:37:37.290748229 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casxm.F ./gheisha/casxm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casxm.F 2007-11-19 11:08:06.167770856 -0500 -+++ ./gheisha/casxm.F 2005-05-25 18:37:37.499099780 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cinema.F ./gheisha/cinema.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cinema.F 2007-11-19 11:08:06.686539906 -0500 -+++ ./gheisha/cinema.F 2005-05-25 18:37:37.263497368 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/coranh.F ./gheisha/coranh.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/coranh.F 2007-11-19 11:08:06.045672906 -0500 -+++ ./gheisha/coranh.F 2005-05-25 18:37:37.093504909 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.2 2002/07/10 09:45:00 morsch - * Gheisha corrections suggested by Gary Bower (FNAL). - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/coscat.F ./gheisha/coscat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/coscat.F 2007-11-19 11:08:06.609123270 -0500 -+++ ./gheisha/coscat.F 2005-05-25 18:37:37.459886972 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cross3.F ./gheisha/cross3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cross3.F 2007-11-19 11:08:06.468593145 -0500 -+++ ./gheisha/cross3.F 2005-05-25 18:37:37.362767234 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -Only in ./gheisha: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/defs1.F ./gheisha/defs1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/defs1.F 2007-11-19 11:08:06.400556648 -0500 -+++ ./gheisha/defs1.F 2005-05-25 18:37:37.333235818 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/defs.F ./gheisha/defs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/defs.F 2007-11-19 11:08:06.686140378 -0500 -+++ ./gheisha/defs.F 2005-05-25 18:37:37.209880545 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dlpnuc.F ./gheisha/dlpnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dlpnuc.F 2007-11-19 11:08:06.080641049 -0500 -+++ ./gheisha/dlpnuc.F 2005-05-25 18:37:37.270731365 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dlpsor.F ./gheisha/dlpsor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dlpsor.F 2007-11-19 11:08:06.949601199 -0500 -+++ ./gheisha/dlpsor.F 2005-05-25 18:37:37.994950842 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dotes2.F ./gheisha/dotes2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dotes2.F 2007-11-19 11:08:06.890539607 -0500 -+++ ./gheisha/dotes2.F 2005-05-25 18:37:37.279325610 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dotnuc.F ./gheisha/dotnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dotnuc.F 2007-11-19 11:08:06.145002121 -0500 -+++ ./gheisha/dotnuc.F 2005-05-25 18:37:37.973803205 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dpdnuc.F ./gheisha/dpdnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dpdnuc.F 2007-11-19 11:08:06.789815023 -0500 -+++ ./gheisha/dpdnuc.F 2005-05-25 18:37:37.439135009 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/exnu.F ./gheisha/exnu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/exnu.F 2007-11-19 11:08:06.144673472 -0500 -+++ ./gheisha/exnu.F 2005-05-25 18:37:37.862786707 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fctcos.F ./gheisha/fctcos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fctcos.F 2007-11-19 11:08:06.667760879 -0500 -+++ ./gheisha/fctcos.F 2005-05-25 18:37:37.823063697 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fermi.F ./gheisha/fermi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fermi.F 2007-11-19 11:08:06.406813727 -0500 -+++ ./gheisha/fermi.F 2005-05-25 18:37:37.151946383 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fissio.F ./gheisha/fissio.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fissio.F 2007-11-19 11:08:06.663790400 -0500 -+++ ./gheisha/fissio.F 2005-05-25 18:37:37.027272841 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/gdpdk.F ./gheisha/gdpdk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/gdpdk.F 2007-11-19 11:08:06.997022315 -0500 -+++ ./gheisha/gdpdk.F 2005-05-25 18:37:37.739834748 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/genxpt.F ./gheisha/genxpt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/genxpt.F 2007-11-19 11:08:06.383795596 -0500 -+++ ./gheisha/genxpt.F 2005-05-25 18:37:37.834608527 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/gpdk.F ./gheisha/gpdk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/gpdk.F 2007-11-19 11:08:06.249963103 -0500 -+++ ./gheisha/gpdk.F 2005-05-25 18:37:37.114947069 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/kmabs.F ./gheisha/kmabs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/kmabs.F 2007-11-19 11:08:06.398867659 -0500 -+++ ./gheisha/kmabs.F 2005-05-25 18:37:37.634597414 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/length.F ./gheisha/length.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/length.F 2007-11-19 11:08:06.002125603 -0500 -+++ ./gheisha/length.F 2005-05-25 18:37:37.794927545 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/lor.F ./gheisha/lor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/lor.F 2007-11-19 11:08:06.344924269 -0500 -+++ ./gheisha/lor.F 2005-05-25 18:37:37.239901303 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nbanh.F ./gheisha/nbanh.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nbanh.F 2007-11-19 11:08:06.104384705 -0500 -+++ ./gheisha/nbanh.F 2005-05-25 18:37:37.574727615 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nfac.F ./gheisha/nfac.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nfac.F 2007-11-19 11:08:06.209908236 -0500 -+++ ./gheisha/nfac.F 2005-05-25 18:37:37.285468952 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/normal.F ./gheisha/normal.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/normal.F 2007-11-19 11:08:06.996607597 -0500 -+++ ./gheisha/normal.F 2005-05-25 18:37:37.409399807 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nucrec.F ./gheisha/nucrec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nucrec.F 2007-11-19 11:08:06.128891201 -0500 -+++ ./gheisha/nucrec.F 2005-05-25 18:37:37.184890163 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pbanh.F ./gheisha/pbanh.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pbanh.F 2007-11-19 11:08:06.636090875 -0500 -+++ ./gheisha/pbanh.F 2005-05-25 18:37:37.528182985 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/phasp.F ./gheisha/phasp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/phasp.F 2007-11-19 11:08:06.384331818 -0500 -+++ ./gheisha/phasp.F 2005-05-25 18:37:37.064433201 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/phpnuc.F ./gheisha/phpnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/phpnuc.F 2007-11-19 11:08:06.440779786 -0500 -+++ ./gheisha/phpnuc.F 2005-05-25 18:37:37.025077982 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pimabs.F ./gheisha/pimabs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pimabs.F 2007-11-19 11:08:06.573505632 -0500 -+++ ./gheisha/pimabs.F 2005-05-25 18:37:37.132582488 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pmltpc.F ./gheisha/pmltpc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pmltpc.F 2007-11-19 11:08:06.844429530 -0500 -+++ ./gheisha/pmltpc.F 2005-05-25 18:37:37.370799634 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/poisso.F ./gheisha/poisso.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/poisso.F 2007-11-19 11:08:06.278851347 -0500 -+++ ./gheisha/poisso.F 2005-05-25 18:37:37.783272565 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/ranres.F ./gheisha/ranres.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/ranres.F 2007-11-19 11:08:06.428570700 -0500 -+++ ./gheisha/ranres.F 2005-05-25 18:37:37.702309055 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/rotes2.F ./gheisha/rotes2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/rotes2.F 2007-11-19 11:08:06.135080518 -0500 -+++ ./gheisha/rotes2.F 2005-05-25 18:37:37.166779276 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/rtmi.F ./gheisha/rtmi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/rtmi.F 2007-11-19 11:08:06.087607208 -0500 -+++ ./gheisha/rtmi.F 2005-05-25 18:37:37.018794081 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/selfab.F ./gheisha/selfab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/selfab.F 2007-11-19 11:08:06.015064192 -0500 -+++ ./gheisha/selfab.F 2005-05-25 18:37:37.829500892 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/setcur.F ./gheisha/setcur.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/setcur.F 2007-11-19 11:08:06.255776483 -0500 -+++ ./gheisha/setcur.F 2005-05-25 18:37:37.650824784 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/settrk.F ./gheisha/settrk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/settrk.F 2007-11-19 11:08:06.183247295 -0500 -+++ ./gheisha/settrk.F 2005-05-25 18:37:37.633788016 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steep.F ./gheisha/steep.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steep.F 2007-11-19 11:08:06.137805569 -0500 -+++ ./gheisha/steep.F 2005-05-25 18:37:37.004711201 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steeq.F ./gheisha/steeq.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steeq.F 2007-11-19 11:08:06.635094296 -0500 -+++ ./gheisha/steeq.F 2005-05-25 18:37:37.321843122 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steer.F ./gheisha/steer.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steer.F 2007-11-19 11:08:06.461754122 -0500 -+++ ./gheisha/steer.F 2005-05-25 18:37:37.338353605 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/stees.F ./gheisha/stees.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/stees.F 2007-11-19 11:08:06.787803702 -0500 -+++ ./gheisha/stees.F 2005-05-25 18:37:37.498508356 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/stpair.F ./gheisha/stpair.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/stpair.F 2007-11-19 11:08:06.311738362 -0500 -+++ ./gheisha/stpair.F 2005-05-25 18:37:37.288601923 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/sub3.F ./gheisha/sub3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/sub3.F 2007-11-19 11:08:06.980027843 -0500 -+++ ./gheisha/sub3.F 2005-05-25 18:37:37.228227880 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/sub.F ./gheisha/sub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/sub.F 2007-11-19 11:08:06.055866660 -0500 -+++ ./gheisha/sub.F 2005-05-25 18:37:37.328408991 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/tdelay.F ./gheisha/tdelay.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/tdelay.F 2007-11-19 11:08:06.512462851 -0500 -+++ ./gheisha/tdelay.F 2005-05-25 18:37:37.210079127 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/trac.F ./gheisha/trac.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/trac.F 2007-11-19 11:08:06.463801933 -0500 -+++ ./gheisha/trac.F 2005-05-25 18:37:37.851866460 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/twob.F ./gheisha/twob.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/twob.F 2007-11-19 11:08:06.541534923 -0500 -+++ ./gheisha/twob.F 2005-05-25 18:37:37.431345285 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.2 2002/07/10 09:45:00 morsch - * Gheisha corrections suggested by Gary Bower (FNAL). - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/twoclu.F ./gheisha/twoclu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/twoclu.F 2007-11-19 11:08:06.319658163 -0500 -+++ ./gheisha/twoclu.F 2005-05-25 18:37:37.394345971 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -Only in ./ghits: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcderr.F ./ghits/gcderr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcderr.F 2007-11-19 11:08:06.457499805 -0500 -+++ ./ghits/gcderr.F 2005-05-25 18:37:37.942841252 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcdrif.F ./ghits/gcdrif.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcdrif.F 2007-11-19 11:08:06.048163157 -0500 -+++ ./ghits/gcdrif.F 2005-05-25 18:37:37.369643127 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcmwpc.F ./ghits/gcmwpc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcmwpc.F 2007-11-19 11:08:06.971842660 -0500 -+++ ./ghits/gcmwpc.F 2005-05-25 18:37:37.425198968 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcubs.F ./ghits/gcubs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcubs.F 2007-11-19 11:08:06.442777956 -0500 -+++ ./ghits/gcubs.F 2005-05-25 18:37:37.748729169 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdeta.F ./ghits/gfdeta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdeta.F 2007-11-19 11:08:06.163569029 -0500 -+++ ./ghits/gfdeta.F 2005-05-25 18:37:37.612152708 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdetd.F ./ghits/gfdetd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdetd.F 2007-11-19 11:08:06.545824794 -0500 -+++ ./ghits/gfdetd.F 2005-05-25 18:37:37.374431432 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdet.F ./ghits/gfdet.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdet.F 2007-11-19 11:08:06.360422235 -0500 -+++ ./ghits/gfdet.F 2005-05-25 18:37:37.961589712 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdeth.F ./ghits/gfdeth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdeth.F 2007-11-19 11:08:06.186814226 -0500 -+++ ./ghits/gfdeth.F 2005-05-25 18:37:37.326065688 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdetu.F ./ghits/gfdetu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdetu.F 2007-11-19 11:08:06.555927583 -0500 -+++ ./ghits/gfdetu.F 2005-05-25 18:37:37.835369646 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdigi.F ./ghits/gfdigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdigi.F 2007-11-19 11:08:06.860481811 -0500 -+++ ./ghits/gfdigi.F 2005-05-25 18:37:37.551983291 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfhits.F ./ghits/gfhits.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfhits.F 2007-11-19 11:08:06.418600458 -0500 -+++ ./ghits/gfhits.F 2005-05-25 18:37:37.830074943 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfndig.F ./ghits/gfndig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfndig.F 2007-11-19 11:08:06.355080510 -0500 -+++ ./ghits/gfndig.F 2005-05-25 18:37:37.491944008 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfnhit.F ./ghits/gfnhit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfnhit.F 2007-11-19 11:08:06.906194128 -0500 -+++ ./ghits/gfnhit.F 2005-05-25 18:37:37.812862889 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfpath.F ./ghits/gfpath.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfpath.F 2007-11-19 11:08:06.933430233 -0500 -+++ ./ghits/gfpath.F 2005-05-25 18:37:37.875958738 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/ggdetv.F ./ghits/ggdetv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/ggdetv.F 2007-11-19 11:08:06.335358187 -0500 -+++ ./ghits/ggdetv.F 2005-05-25 18:37:37.141934071 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/ghits.doc ./ghits/ghits.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/ghits.doc 2007-10-04 19:45:50.938547952 -0400 -+++ ./ghits/ghits.doc 2005-05-25 18:37:37.309890296 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gicyl.F ./ghits/gicyl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gicyl.F 2007-11-19 11:08:06.089684645 -0500 -+++ ./ghits/gicyl.F 2005-05-25 18:37:37.646597059 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/giplan.F ./ghits/giplan.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/giplan.F 2007-11-19 11:08:06.421414035 -0500 -+++ ./ghits/giplan.F 2005-05-25 18:37:37.674906832 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpdigi.F ./ghits/gpdigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpdigi.F 2007-11-19 11:08:06.744359053 -0500 -+++ ./ghits/gpdigi.F 2005-05-25 18:37:37.660367814 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpdrif.F ./ghits/gpdrif.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpdrif.F 2007-11-19 11:08:06.402267754 -0500 -+++ ./ghits/gpdrif.F 2005-05-25 18:37:37.578819105 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gphits.F ./ghits/gphits.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gphits.F 2007-11-19 11:08:06.984410664 -0500 -+++ ./ghits/gphits.F 2005-05-25 18:37:37.491601594 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpmwpc.F ./ghits/gpmwpc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpmwpc.F 2007-11-19 11:08:06.230425752 -0500 -+++ ./ghits/gpmwpc.F 2005-05-25 18:37:37.624040745 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpsets.F ./ghits/gpsets.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpsets.F 2007-11-19 11:08:06.906564876 -0500 -+++ ./ghits/gpsets.F 2005-05-25 18:37:37.301876659 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/grhits.F ./ghits/grhits.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/grhits.F 2007-11-19 11:08:06.759771237 -0500 -+++ ./ghits/grhits.F 2005-05-25 18:37:37.026919226 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsahit.F ./ghits/gsahit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsahit.F 2007-11-19 11:08:06.394522769 -0500 -+++ ./ghits/gsahit.F 2005-05-25 18:37:37.149522255 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gschit.F ./ghits/gschit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gschit.F 2007-11-19 11:08:06.943005022 -0500 -+++ ./ghits/gschit.F 2005-05-25 18:37:37.474573275 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdeta.F ./ghits/gsdeta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdeta.F 2007-11-19 11:08:06.624852125 -0500 -+++ ./ghits/gsdeta.F 2005-05-25 18:37:37.886624721 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetd.F ./ghits/gsdetd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetd.F 2007-11-19 11:08:06.534003468 -0500 -+++ ./ghits/gsdetd.F 2005-05-25 18:37:37.698077406 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdet.F ./ghits/gsdet.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdet.F 2007-11-19 11:08:06.342596108 -0500 -+++ ./ghits/gsdet.F 2005-05-25 18:37:37.995543633 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdeth.F ./ghits/gsdeth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdeth.F 2007-11-19 11:08:06.198448513 -0500 -+++ ./ghits/gsdeth.F 2005-05-25 18:37:37.167878986 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetu.F ./ghits/gsdetu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetu.F 2007-11-19 11:08:06.473292540 -0500 -+++ ./ghits/gsdetu.F 2005-05-25 18:37:37.821592307 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetv.F ./ghits/gsdetv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetv.F 2007-11-19 11:08:06.965516890 -0500 -+++ ./ghits/gsdetv.F 2005-05-25 18:37:37.926394429 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdigi.F ./ghits/gsdigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdigi.F 2007-11-19 11:08:06.816147585 -0500 -+++ ./ghits/gsdigi.F 2005-05-25 18:37:37.822334088 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/cohert.F ./ghrout/cohert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/cohert.F 2007-11-19 11:08:06.617345763 -0500 -+++ ./ghrout/cohert.F 2005-05-25 18:37:37.986250320 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -Only in ./ghrout: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/ghepec.F ./ghrout/ghepec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/ghepec.F 2007-11-19 11:08:06.502590067 -0500 -+++ ./ghrout/ghepec.F 2005-05-25 18:37:37.916479498 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/ghetun.F ./ghrout/ghetun.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/ghetun.F 2007-11-19 11:08:06.084301680 -0500 -+++ ./ghrout/ghetun.F 2005-05-25 18:37:37.516920829 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higclu.F ./ghrout/higclu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higclu.F 2007-11-19 11:08:06.511902361 -0500 -+++ ./ghrout/higclu.F 2005-05-25 18:37:37.659578510 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higclu.F.ori ./ghrout/higclu.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higclu.F.ori 2007-10-04 19:45:50.342620395 -0400 -+++ ./ghrout/higclu.F.ori 2005-05-25 18:37:37.384043330 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/highab.F ./ghrout/highab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/highab.F 2007-11-19 11:08:06.601583240 -0500 -+++ ./ghrout/highab.F 2005-05-25 18:37:37.852621972 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higsel.F ./ghrout/higsel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higsel.F 2007-11-19 11:08:06.217035469 -0500 -+++ ./ghrout/higsel.F 2005-05-25 18:37:37.825898922 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higxpt.F ./ghrout/higxpt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higxpt.F 2007-11-19 11:08:06.492242549 -0500 -+++ ./ghrout/higxpt.F 2005-05-25 18:37:37.149077672 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/sverl2.F ./ghrout/sverl2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/sverl2.F 2007-11-19 11:08:06.584885627 -0500 -+++ ./ghrout/sverl2.F 2005-05-25 18:37:37.608086066 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/svgam7.F ./ghrout/svgam7.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/svgam7.F 2007-11-19 11:08:06.156430738 -0500 -+++ ./ghrout/svgam7.F 2005-10-27 12:04:04.359912824 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.2 2005/10/27 16:00:51 fisyak -+* *** empty log message *** -+* -+* Revision 1.3 2005/08/16 09:26:54 brun -+* From Peter Hristov: -+* one more change in ghrout/svgam7.F, an additional protection to -+* avoid negative X. -+* - * Revision 1.2 2005/08/11 13:34:26 brun - * From Peter Hristov: - * an additional protection to avoid random numbers exactly equal to 1 or 0. -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout: .svn -Only in ./ghutils: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils/minv.F ./ghutils/minv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils/minv.F 2007-11-19 11:08:06.243521600 -0500 -+++ ./ghutils/minv.F 2005-05-25 18:37:37.272916690 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils/pcsdat.F ./ghutils/pcsdat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils/pcsdat.F 2007-11-19 11:08:06.356707147 -0500 -+++ ./ghutils/pcsdat.F 2005-05-25 18:37:37.707972055 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/compo.F ./giface/compo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/compo.F 2007-11-19 11:08:06.407160254 -0500 -+++ ./giface/compo.F 2005-05-25 18:37:37.474674102 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in ./giface: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gheini.F ./giface/gheini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gheini.F 2007-11-19 11:08:06.687884476 -0500 -+++ ./giface/gheini.F 2005-05-25 18:37:38.862376723 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gheish.F ./giface/gheish.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gheish.F 2007-11-19 11:08:06.961317644 -0500 -+++ ./giface/gheish.F 2005-05-25 18:37:38.425203352 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/ghesig.F ./giface/ghesig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/ghesig.F 2007-11-19 11:08:06.302817665 -0500 -+++ ./giface/ghesig.F 2005-05-25 18:37:38.410858178 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/ghstop.F ./giface/ghstop.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/ghstop.F 2007-11-19 11:08:06.812383469 -0500 -+++ ./giface/ghstop.F 2005-05-25 18:37:38.327591166 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmunu.F ./giface/gmunu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmunu.F 2007-11-19 11:08:06.672647517 -0500 -+++ ./giface/gmunu.F 2005-05-25 18:37:38.259696047 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmunui.F ./giface/gmunui.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmunui.F 2007-11-19 11:08:06.771198582 -0500 -+++ ./giface/gmunui.F 2005-05-25 18:37:38.034099952 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmusig.F ./giface/gmusig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmusig.F 2007-11-19 11:08:06.096829525 -0500 -+++ ./giface/gmusig.F 2005-05-25 18:37:38.478180262 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gnslwd.F ./giface/gnslwd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gnslwd.F 2007-11-19 11:08:06.027870927 -0500 -+++ ./giface/gnslwd.F 2005-05-25 18:37:38.244144729 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpfis.F ./giface/gpfis.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpfis.F 2007-11-19 11:08:06.984042177 -0500 -+++ ./giface/gpfis.F 2005-05-25 18:37:38.065577448 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpfisi.F ./giface/gpfisi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpfisi.F 2007-11-19 11:08:06.350014457 -0500 -+++ ./giface/gpfisi.F 2005-05-25 18:37:38.354635969 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpghei.F ./giface/gpghei.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpghei.F 2007-11-19 11:08:06.646952105 -0500 -+++ ./giface/gpghei.F 2005-05-25 18:37:38.704509221 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gphmfi.F ./giface/gphmfi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gphmfi.F 2007-11-19 11:08:06.990105459 -0500 -+++ ./giface/gphmfi.F 2005-05-25 18:37:38.115373792 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/limdat.F ./giface/limdat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/limdat.F 2007-11-19 11:08:06.596168505 -0500 -+++ ./giface/limdat.F 2005-05-25 18:37:38.584183500 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface: .svn -Only in ./giopa: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gclose.F ./giopa/gclose.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gclose.F 2007-11-19 11:08:06.879432377 -0500 -+++ ./giopa/gclose.F 2005-05-25 18:37:38.996349672 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gfin.F ./giopa/gfin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gfin.F 2007-11-19 11:08:06.922453635 -0500 -+++ ./giopa/gfin.F 2005-05-25 18:37:38.901672966 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gfout.F ./giopa/gfout.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gfout.F 2007-11-19 11:08:06.567382545 -0500 -+++ ./giopa/gfout.F 2005-05-25 18:37:38.593382063 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gget.F ./giopa/gget.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gget.F 2007-11-19 11:08:06.039410872 -0500 -+++ ./giopa/gget.F 2005-05-25 18:37:38.949328259 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/giopa.doc ./giopa/giopa.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/giopa.doc 2007-10-04 19:45:50.002568328 -0400 -+++ ./giopa/giopa.doc 2005-05-25 18:37:38.863888723 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gopen.F ./giopa/gopen.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gopen.F 2007-11-19 11:08:06.279283594 -0500 -+++ ./giopa/gopen.F 2005-05-25 18:37:38.191986849 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grend.F ./giopa/grend.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grend.F 2007-11-19 11:08:06.633461352 -0500 -+++ ./giopa/grend.F 2005-05-25 18:37:38.780047787 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grfile.F ./giopa/grfile.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grfile.F 2007-11-19 11:08:06.033138857 -0500 -+++ ./giopa/grfile.F 2005-05-25 18:37:53.386291028 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grget.F ./giopa/grget.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grget.F 2007-11-19 11:08:06.535201041 -0500 -+++ ./giopa/grget.F 2005-05-25 18:37:53.955136790 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grin.F ./giopa/grin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grin.F 2007-11-19 11:08:06.774960754 -0500 -+++ ./giopa/grin.F 2005-05-25 18:37:53.799137259 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grleas.F ./giopa/grleas.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grleas.F 2007-11-19 11:08:06.204414814 -0500 -+++ ./giopa/grleas.F 2005-05-25 18:37:53.778094574 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grmdir.F ./giopa/grmdir.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grmdir.F 2007-11-19 11:08:06.389024083 -0500 -+++ ./giopa/grmdir.F 2005-05-25 18:37:53.311692391 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grout.F ./giopa/grout.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grout.F 2007-11-19 11:08:06.806418439 -0500 -+++ ./giopa/grout.F 2005-05-25 18:37:53.413691967 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grout.F.ori ./giopa/grout.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grout.F.ori 2007-10-04 19:45:50.839027881 -0400 -+++ ./giopa/grout.F.ori 2005-05-25 18:37:53.130835554 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grsave.F ./giopa/grsave.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grsave.F 2007-11-19 11:08:06.944291266 -0500 -+++ ./giopa/grsave.F 2005-05-25 18:37:53.641122677 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gsave.F ./giopa/gsave.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gsave.F 2007-11-19 11:08:06.936080138 -0500 -+++ ./giopa/gsave.F 2005-05-25 18:37:53.988144397 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa: .svn -Only in ./gkine: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gfkine.F ./gkine/gfkine.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gfkine.F 2007-11-19 11:08:06.959213060 -0500 -+++ ./gkine/gfkine.F 2005-05-25 18:37:53.660033674 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gfvert.F ./gkine/gfvert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gfvert.F 2007-11-19 11:08:06.699125711 -0500 -+++ ./gkine/gfvert.F 2005-05-25 18:37:53.981237200 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gkine.doc ./gkine/gkine.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gkine.doc 2007-10-04 19:45:50.398336194 -0400 -+++ ./gkine/gkine.doc 2005-05-25 18:37:53.532320407 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gludky.F ./gkine/gludky.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gludky.F 2007-11-19 11:08:06.464052048 -0500 -+++ ./gkine/gludky.F 2005-05-25 18:37:53.012595731 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2005/04/13 14:46:16 brun -+* From Peter Hristov -+* Changes required to run on Solaris -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/glund.F ./gkine/glund.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/glund.F 2007-11-19 11:08:06.537221475 -0500 -+++ ./gkine/glund.F 2005-05-25 18:37:53.697447057 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/glundi.F ./gkine/glundi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/glundi.F 2007-11-19 11:08:06.397391949 -0500 -+++ ./gkine/glundi.F 2005-05-25 18:37:54.466340290 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2005/04/13 14:46:16 brun -+* From Peter Hristov -+* Changes required to run on Solaris -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpkine.F ./gkine/gpkine.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpkine.F 2007-11-19 11:08:06.145852688 -0500 -+++ ./gkine/gpkine.F 2005-05-25 18:37:54.353337030 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpkinx.F ./gkine/gpkinx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpkinx.F 2007-11-19 11:08:06.823428154 -0500 -+++ ./gkine/gpkinx.F 2005-05-25 18:37:54.463882609 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpvert.F ./gkine/gpvert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpvert.F 2007-11-19 11:08:06.908331872 -0500 -+++ ./gkine/gpvert.F 2005-05-25 18:37:54.004836761 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gskine.F ./gkine/gskine.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gskine.F 2007-11-19 11:08:06.271939411 -0500 -+++ ./gkine/gskine.F 2005-05-25 18:37:54.216982014 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gskinu.F ./gkine/gskinu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gskinu.F 2007-11-19 11:08:06.997287908 -0500 -+++ ./gkine/gskinu.F 2005-05-25 18:37:54.449122379 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gsvert.F ./gkine/gsvert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gsvert.F 2007-11-19 11:08:06.694373780 -0500 -+++ ./gkine/gsvert.F 2005-05-25 18:37:54.657124702 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gsveru.F ./gkine/gsveru.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gsveru.F 2007-11-19 11:08:06.301576485 -0500 -+++ ./gkine/gsveru.F 2005-05-25 18:37:54.977874344 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gtau.F ./gkine/gtau.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gtau.F 2007-11-19 11:08:06.855425210 -0500 -+++ ./gkine/gtau.F 2005-05-25 18:37:54.664958272 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine: .svn -Only in ./gparal: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gparal: .svn -Only in ./gphys: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ganni2.F ./gphys/ganni2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ganni2.F 2007-11-19 11:08:06.930208961 -0500 -+++ ./gphys/ganni2.F 2005-05-25 18:37:54.170093272 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ganni.F ./gphys/ganni.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ganni.F 2007-11-19 11:08:06.087280209 -0500 -+++ ./gphys/ganni.F 2005-05-25 18:37:54.658658934 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gannii.F ./gphys/gannii.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gannii.F 2007-11-19 11:08:06.475356505 -0500 -+++ ./gphys/gannii.F 2005-05-25 18:37:54.953064001 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gannir.F ./gphys/gannir.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gannir.F 2007-11-19 11:08:06.812229688 -0500 -+++ ./gphys/gannir.F 2005-05-25 18:37:54.602050293 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gavrl2.F ./gphys/gavrl2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gavrl2.F 2007-11-19 11:08:06.328396654 -0500 -+++ ./gphys/gavrl2.F 2005-05-25 18:37:54.756360502 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gavrl3.F ./gphys/gavrl3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gavrl3.F 2007-11-19 11:08:06.590301640 -0500 -+++ ./gphys/gavrl3.F 2005-05-25 18:37:54.385567409 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbflos.F ./gphys/gbflos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbflos.F 2007-11-19 11:08:06.684353910 -0500 -+++ ./gphys/gbflos.F 2005-05-25 18:37:54.491022806 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbfsig.F ./gphys/gbfsig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbfsig.F 2007-11-19 11:08:06.518703628 -0500 -+++ ./gphys/gbfsig.F 2005-05-25 18:37:54.480947729 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbirk.F ./gphys/gbirk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbirk.F 2007-11-19 11:08:06.675043994 -0500 -+++ ./gphys/gbirk.F 2005-05-25 18:37:54.033267928 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrela.F ./gphys/gbrela.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrela.F 2007-11-19 11:08:06.101032566 -0500 -+++ ./gphys/gbrela.F 2005-05-25 18:37:54.545537588 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrele.F ./gphys/gbrele.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrele.F 2007-11-19 11:08:06.391148437 -0500 -+++ ./gphys/gbrele.F 2005-05-25 18:37:54.286026607 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrelm.F ./gphys/gbrelm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrelm.F 2007-11-19 11:08:06.022478811 -0500 -+++ ./gphys/gbrelm.F 2005-05-25 18:37:54.700817972 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbreme.F ./gphys/gbreme.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbreme.F 2007-11-19 11:08:06.999250007 -0500 -+++ ./gphys/gbreme.F 2005-05-25 18:37:54.438292241 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbremm.F ./gphys/gbremm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbremm.F 2007-11-19 11:08:06.844917091 -0500 -+++ ./gphys/gbremm.F 2005-05-25 18:37:54.818874660 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsga.F ./gphys/gbrsga.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsga.F 2007-11-19 11:08:06.386330283 -0500 -+++ ./gphys/gbrsga.F 2005-05-25 18:37:54.797244513 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsge.F ./gphys/gbrsge.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsge.F 2007-11-19 11:08:06.305214278 -0500 -+++ ./gphys/gbrsge.F 2005-05-25 18:37:54.058404159 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsgm.F ./gphys/gbrsgm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsgm.F 2007-11-19 11:08:06.884088399 -0500 -+++ ./gphys/gbrsgm.F 2005-05-25 18:37:54.239544748 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbteth.F ./gphys/gbteth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbteth.F 2007-11-19 11:08:06.829704014 -0500 -+++ ./gphys/gbteth.F 2005-05-25 18:37:54.289029058 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcbrem.F ./gphys/gcbrem.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcbrem.F 2007-11-19 11:08:06.909536442 -0500 -+++ ./gphys/gcbrem.F 2005-05-25 18:37:54.505220385 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcoeff.F ./gphys/gcoeff.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcoeff.F 2007-11-19 11:08:06.588114312 -0500 -+++ ./gphys/gcoeff.F 2005-05-25 18:37:54.381694036 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcomp.F ./gphys/gcomp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcomp.F 2007-11-19 11:08:06.008615370 -0500 -+++ ./gphys/gcomp.F 2005-05-25 18:37:54.498142811 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcompi.F ./gphys/gcompi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcompi.F 2007-11-19 11:08:06.299825399 -0500 -+++ ./gphys/gcompi.F 2005-05-25 18:37:54.458118914 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdeca2.F ./gphys/gdeca2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdeca2.F 2007-11-19 11:08:06.649089535 -0500 -+++ ./gphys/gdeca2.F 2005-05-25 18:37:54.973362036 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdeca3.F ./gphys/gdeca3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdeca3.F 2007-11-19 11:08:06.884242447 -0500 -+++ ./gphys/gdeca3.F 2005-05-25 18:37:54.496757214 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdecay.F ./gphys/gdecay.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdecay.F 2007-11-19 11:08:06.746656129 -0500 -+++ ./gphys/gdecay.F 2005-05-25 18:37:54.869021847 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdray.F ./gphys/gdray.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdray.F 2007-11-19 11:08:06.634464999 -0500 -+++ ./gphys/gdray.F 2005-05-25 18:37:54.856572322 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrela.F ./gphys/gdrela.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrela.F 2007-11-19 11:08:06.124998550 -0500 -+++ ./gphys/gdrela.F 2005-05-25 18:37:54.170038577 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrele.F ./gphys/gdrele.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrele.F 2007-11-19 11:08:06.843147872 -0500 -+++ ./gphys/gdrele.F 2005-05-25 18:37:54.320908109 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdreli.F ./gphys/gdreli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdreli.F 2007-11-19 11:08:06.142501656 -0500 -+++ ./gphys/gdreli.F 2005-05-25 18:37:54.119038597 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelm.F ./gphys/gdrelm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelm.F 2007-11-19 11:08:06.101998977 -0500 -+++ ./gphys/gdrelm.F 2005-05-25 18:37:54.992541514 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelp.F ./gphys/gdrelp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelp.F 2007-11-19 11:08:06.328759502 -0500 -+++ ./gphys/gdrelp.F 2005-05-25 18:37:54.783937420 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelx.F ./gphys/gdrelx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelx.F 2007-11-19 11:08:06.302758219 -0500 -+++ ./gphys/gdrelx.F 2005-10-27 12:09:17.158575513 -0400 -@@ -1,7 +1,16 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.2 2005/06/09 00:08:31 fisyak -+* Add GDRELX entry -+* -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -@@ -18,6 +27,9 @@ - #include "geant321/pilot.h" - *CMZ : 3.21/03 06/10/94 18.22.43 by S.Giani - *-- Author : -+ SUBROUTINE GDRELX(A,Z,DENS,T,HMASS,DEDX) -+ call G3DRELX(A,Z,DENS,T,HMASS,DEDX) -+ end - SUBROUTINE G3DRELX(A,Z,DENS,T,HMASS,DEDX) - C. - C. ****************************************************************** -Only in ./gphys: gdrelx.F~ -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrot.F ./gphys/gdrot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrot.F 2007-11-19 11:08:06.977533784 -0500 -+++ ./gphys/gdrot.F 2005-05-25 18:37:54.204788197 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrprt.F ./gphys/gdrprt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrprt.F 2007-11-19 11:08:06.209444798 -0500 -+++ ./gphys/gdrprt.F 2005-05-25 18:37:54.977597407 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrsga.F ./gphys/gdrsga.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrsga.F 2007-11-19 11:08:06.640714879 -0500 -+++ ./gphys/gdrsga.F 2005-05-25 18:37:54.726142173 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gefch2.F ./gphys/gefch2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gefch2.F 2007-11-19 11:08:06.066839626 -0500 -+++ ./gphys/gefch2.F 2005-05-25 18:37:54.016268243 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfang.F ./gphys/gfang.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfang.F 2007-11-19 11:08:06.912793610 -0500 -+++ ./gphys/gfang.F 2005-05-25 18:37:54.742576565 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfluct.F ./gphys/gfluct.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfluct.F 2007-11-19 11:08:06.058213504 -0500 -+++ ./gphys/gfluct.F 2005-05-25 18:37:54.800961438 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -@@ -19,6 +25,7 @@ - * - * - #include "geant321/pilot.h" -+*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani - *-- Author : - SUBROUTINE G3FLUCT(DEMEAN,DE) - C. -@@ -70,15 +77,13 @@ - PARAMETER (ASHMIN=1,ASHMAX=30) - #endif - * These parameters are needed by M.Kowalski's fluctuation algorithm -- PARAMETER (FPOT=20.77E-9, EEND=10E-6, EEXPO=2.2, EEND1=1E-6) -+ PARAMETER (FPOT=20.77E-9, EEND=10E-6, EEXPO=2.2) - PARAMETER (XEXPO=-EEXPO+1, YEXPO=1/XEXPO) - * These parameters are needed by M.Kowalski's fluctuation algorithm - DIMENSION RNDM(2) - DE2(DPOT,RAN)=(DPOT**XEXPO*(1-RAN)+EEND**XEXPO*RAN)**YEXPO - FLAND(X) = P1+P6*X+(P2+P3*X)*EXP(P4*X+P5) - * -- DE21(DPOT,RAN)=(DPOT**XEXPO*(1-RAN)+EEND1**XEXPO*RAN)**YEXPO --* - IF(STEP.LE.0) THEN - DE=DEMEAN - ELSE -@@ -92,11 +97,6 @@ - CALL GRNDM(RNDM,1) - DE=DE2(FPOT,RNDM(1)) - * -- ELSEIF (ILOSS.EQ.6) THEN --* This is Marek Kowalski's fluctuation algorithm, it works only when --* the step size has been limited to one ionisation on average and for Kr only -- CALL GRNDM(RNDM,1) -- DE=DE21(FPOT,RNDM(1)) - ELSE - * - * *** mean ionization potential (GeV) -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfnrdt.F ./gphys/gfnrdt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfnrdt.F 2007-11-19 11:08:06.095192572 -0500 -+++ ./gphys/gfnrdt.F 2005-05-25 18:37:54.915598556 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfrdt.F ./gphys/gfrdt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfrdt.F 2007-11-19 11:08:06.329441515 -0500 -+++ ./gphys/gfrdt.F 2005-05-25 18:37:54.180130167 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfsdpr.F ./gphys/gfsdpr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfsdpr.F 2007-11-19 11:08:06.362452325 -0500 -+++ ./gphys/gfsdpr.F 2005-05-25 18:37:54.455405728 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfshdc.F ./gphys/gfshdc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfshdc.F 2007-11-19 11:08:06.689218621 -0500 -+++ ./gphys/gfshdc.F 2005-05-25 18:37:54.765552315 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfshls.F ./gphys/gfshls.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfshls.F 2007-11-19 11:08:06.495504730 -0500 -+++ ./gphys/gfshls.F 2005-05-25 18:37:54.560990463 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ghsig.F ./gphys/ghsig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ghsig.F 2007-11-19 11:08:06.591989888 -0500 -+++ ./gphys/ghsig.F 2005-05-25 18:37:54.592971321 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ghsigm.F ./gphys/ghsigm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ghsigm.F 2007-11-19 11:08:06.441180947 -0500 -+++ ./gphys/ghsigm.F 2005-05-25 18:37:54.257227341 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glande.F ./gphys/glande.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glande.F 2007-11-19 11:08:06.554940207 -0500 -+++ ./gphys/glande.F 2005-05-25 18:37:54.631753723 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandg.F ./gphys/glandg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandg.F 2007-11-19 11:08:06.262901314 -0500 -+++ ./gphys/glandg.F 2005-05-25 18:37:54.287775890 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glando.F ./gphys/glando.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glando.F 2007-11-19 11:08:06.717934788 -0500 -+++ ./gphys/glando.F 2005-05-25 18:37:54.111780296 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandr.F ./gphys/glandr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandr.F 2007-11-19 11:08:06.267508965 -0500 -+++ ./gphys/glandr.F 2005-05-25 18:37:54.136606133 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glands.F ./gphys/glands.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glands.F 2007-11-19 11:08:06.720239790 -0500 -+++ ./gphys/glands.F 2005-05-25 18:37:54.718657821 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandz.F ./gphys/glandz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandz.F 2007-11-19 11:08:06.098483933 -0500 -+++ ./gphys/glandz.F 2005-05-25 18:37:54.443204667 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gloren.F ./gphys/gloren.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gloren.F 2007-11-19 11:08:06.598715657 -0500 -+++ ./gphys/gloren.F 2005-05-25 18:37:54.236054968 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmcoul.F ./gphys/gmcoul.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmcoul.F 2007-11-19 11:08:06.332779710 -0500 -+++ ./gphys/gmcoul.F 2005-05-25 18:37:54.425744406 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmgaus.F ./gphys/gmgaus.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmgaus.F 2007-11-19 11:08:06.403618270 -0500 -+++ ./gphys/gmgaus.F 2005-05-25 18:37:54.014785523 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmol4.F ./gphys/gmol4.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmol4.F 2007-11-19 11:08:06.913411929 -0500 -+++ ./gphys/gmol4.F 2005-05-25 18:37:54.731868760 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli1.F ./gphys/gmoli1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli1.F 2007-11-19 11:08:06.809081425 -0500 -+++ ./gphys/gmoli1.F 2005-05-25 18:37:54.778026378 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli2.F ./gphys/gmoli2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli2.F 2007-11-19 11:08:06.788148104 -0500 -+++ ./gphys/gmoli2.F 2005-05-25 18:37:54.973590175 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmolie.F ./gphys/gmolie.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmolie.F 2007-11-19 11:08:06.119738934 -0500 -+++ ./gphys/gmolie.F 2005-05-25 18:37:54.432587783 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli.F ./gphys/gmoli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli.F 2007-11-19 11:08:06.370228429 -0500 -+++ ./gphys/gmoli.F 2005-05-25 18:37:54.452626529 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmolio.F ./gphys/gmolio.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmolio.F 2007-11-19 11:08:06.678192610 -0500 -+++ ./gphys/gmolio.F 2005-05-25 18:37:54.625158996 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmols.F ./gphys/gmols.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmols.F 2007-11-19 11:08:06.470955035 -0500 -+++ ./gphys/gmols.F 2005-05-25 18:37:55.616034877 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmults.F ./gphys/gmults.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmults.F 2007-11-19 11:08:06.381819532 -0500 -+++ ./gphys/gmults.F 2005-05-25 18:37:55.152782217 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpairg.F ./gphys/gpairg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpairg.F 2007-11-19 11:08:06.207748456 -0500 -+++ ./gphys/gpairg.F 2005-05-25 18:37:55.802686603 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpairm.F ./gphys/gpairm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpairm.F 2007-11-19 11:08:06.930499022 -0500 -+++ ./gphys/gpairm.F 2005-05-25 18:37:55.758685595 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphak.F ./gphys/gphak.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphak.F 2007-11-19 11:08:06.214086242 -0500 -+++ ./gphys/gphak.F 2005-05-25 18:37:55.328305641 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphal2.F ./gphys/gphal2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphal2.F 2007-11-19 11:08:06.138948535 -0500 -+++ ./gphys/gphal2.F 2005-05-25 18:37:55.041947221 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphal3.F ./gphys/gphal3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphal3.F 2007-11-19 11:08:06.947600220 -0500 -+++ ./gphys/gphal3.F 2005-05-25 18:37:55.317939324 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphini.F ./gphys/gphini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphini.F 2007-11-19 11:08:06.620275589 -0500 -+++ ./gphys/gphini.F 2005-05-25 18:37:55.366342013 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphot.F ./gphys/gphot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphot.F 2007-11-19 11:08:06.136483229 -0500 -+++ ./gphys/gphot.F 2005-05-25 18:37:55.025261999 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphoti.F ./gphys/gphoti.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphoti.F 2007-11-19 11:08:06.974198634 -0500 -+++ ./gphys/gphoti.F 2005-05-25 18:37:55.709110679 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphrin.F ./gphys/gphrin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphrin.F 2007-11-19 11:08:06.301939621 -0500 -+++ ./gphys/gphrin.F 2005-05-25 18:37:55.338114498 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsg1.F ./gphys/gphsg1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsg1.F 2007-11-19 11:08:06.672824376 -0500 -+++ ./gphys/gphsg1.F 2005-05-25 18:37:55.435911224 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsg2.F ./gphys/gphsg2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsg2.F 2007-11-19 11:08:06.139715256 -0500 -+++ ./gphys/gphsg2.F 2005-05-25 18:37:55.369315307 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsgp.F ./gphys/gphsgp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsgp.F 2007-11-19 11:08:06.290703744 -0500 -+++ ./gphys/gphsgp.F 2005-05-25 18:37:55.273301241 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsig.F ./gphys/gphsig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsig.F 2007-11-19 11:08:06.821164325 -0500 -+++ ./gphys/gphsig.F 2005-05-25 18:37:55.960767569 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphxin.F ./gphys/gphxin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphxin.F 2007-11-19 11:08:06.358098153 -0500 -+++ ./gphys/gphxin.F 2005-05-25 18:37:55.631638369 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphxsi.F ./gphys/gphxsi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphxsi.F 2007-11-19 11:08:06.141609157 -0500 -+++ ./gphys/gphxsi.F 2005-05-25 18:37:55.337813180 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphys.doc ./gphys/gphys.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphys.doc 2007-10-04 19:45:50.098836147 -0400 -+++ ./gphys/gphys.doc 2005-05-25 18:37:55.543916583 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:41 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphysi.F ./gphys/gphysi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphysi.F 2007-11-19 11:08:06.931093549 -0500 -+++ ./gphys/gphysi.F 2005-05-25 18:37:55.860810226 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.4 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpoiss.F ./gphys/gpoiss.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpoiss.F 2007-11-19 11:08:06.409487804 -0500 -+++ ./gphys/gpoiss.F 2005-05-25 18:37:55.005165267 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprela.F ./gphys/gprela.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprela.F 2007-11-19 11:08:06.695651968 -0500 -+++ ./gphys/gprela.F 2005-05-25 18:37:55.886775556 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprelm.F ./gphys/gprelm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprelm.F 2007-11-19 11:08:06.332928656 -0500 -+++ ./gphys/gprelm.F 2005-05-25 18:37:55.689360505 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprobi.F ./gphys/gprobi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprobi.F 2007-11-19 11:08:06.014410108 -0500 -+++ ./gphys/gprobi.F 2005-05-25 18:37:55.939927787 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsga.F ./gphys/gprsga.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsga.F 2007-11-19 11:08:06.482426558 -0500 -+++ ./gphys/gprsga.F 2005-05-25 18:37:55.925572536 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsgg.F ./gphys/gprsgg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsgg.F 2007-11-19 11:08:06.296813069 -0500 -+++ ./gphys/gprsgg.F 2005-05-25 18:37:55.951953382 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsgm.F ./gphys/gprsgm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsgm.F 2007-11-19 11:08:06.481504130 -0500 -+++ ./gphys/gprsgm.F 2005-05-25 18:37:55.350221453 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grangi1.F ./gphys/grangi1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grangi1.F 2007-11-19 11:08:06.328416110 -0500 -+++ ./gphys/grangi1.F 2005-05-25 18:37:55.257921888 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grangi.F ./gphys/grangi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grangi.F 2007-11-19 11:08:06.304681008 -0500 -+++ ./gphys/grangi.F 2005-05-25 18:37:55.979588464 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grayl.F ./gphys/grayl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grayl.F 2007-11-19 11:08:06.767209221 -0500 -+++ ./gphys/grayl.F 2005-05-25 18:37:55.403452031 -0400 -@@ -1,7 +1,10 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -@@ -89,8 +92,6 @@ - C - C Find out cos(theta) - COSTH=1.-0.5*(QNEW*GEKIN1)**2 -- IF (COSTH.LT.-1.) COSTH=-1. -- IF (COSTH.GT.1.) COSTH=1. - IF(RNDM(2).GT.0.5*(1.+COSTH**2)) GO TO 5 - SINTH=SQRT((1.-COSTH)*(1.+COSTH)) - C -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grayli.F ./gphys/grayli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grayli.F 2007-11-19 11:08:06.293921220 -0500 -+++ ./gphys/grayli.F 2005-05-25 18:37:55.995422282 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gshlin.F ./gphys/gshlin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gshlin.F 2007-11-19 11:08:06.692292704 -0500 -+++ ./gphys/gshlin.F 2005-05-25 18:37:55.306778251 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsync.F ./gphys/gsync.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsync.F 2007-11-19 11:08:06.253979740 -0500 -+++ ./gphys/gsync.F 2005-05-25 18:37:55.439423731 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsynge.F ./gphys/gsynge.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsynge.F 2007-11-19 11:08:06.168837781 -0500 -+++ ./gphys/gsynge.F 2005-05-25 18:37:55.853754331 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsynit.F ./gphys/gsynit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsynit.F 2007-11-19 11:08:06.434918605 -0500 -+++ ./gphys/gsynit.F 2005-05-25 18:37:55.572190267 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gvaviv.F ./gphys/gvaviv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gvaviv.F 2007-11-19 11:08:06.399919254 -0500 -+++ ./gphys/gvaviv.F 2007-06-01 10:29:11.431774708 -0400 -@@ -1,7 +1,11 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.4 2007/05/31 15:56:06 brun -+* From Peter Hristov: -+* a small modification in gphys/gvaviv.F to avoid using non-initialized data. -+* - * Revision 1.3 2005/08/10 20:02:58 brun - * From Peter Hristov: - * Add a small protection below to avoid some (rare) floating point -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gvrot.F ./gphys/gvrot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gvrot.F 2007-11-19 11:08:06.149373514 -0500 -+++ ./gphys/gvrot.F 2005-05-25 18:37:55.522566783 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys: .svn -Only in ./gscan: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscani.F ./gscan/gscani.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscani.F 2007-11-19 11:08:06.474917863 -0500 -+++ ./gscan/gscani.F 2005-05-25 18:37:56.894012518 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscank.F ./gscan/gscank.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscank.F 2007-11-19 11:08:06.285729956 -0500 -+++ ./gscan/gscank.F 2005-05-25 18:37:56.637978542 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscano.F ./gscan/gscano.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscano.F 2007-11-19 11:08:06.556916342 -0500 -+++ ./gscan/gscano.F 2005-05-25 18:37:56.227550645 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:41 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscanu.F ./gscan/gscanu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscanu.F 2007-11-19 11:08:06.500917381 -0500 -+++ ./gscan/gscanu.F 2005-05-25 18:37:56.460147159 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gsscan.F ./gscan/gsscan.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gsscan.F 2007-11-19 11:08:06.651997667 -0500 -+++ ./gscan/gsscan.F 2005-05-25 18:37:56.665914320 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan: .svn -Only in ./gstrag: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gasho.F ./gstrag/gasho.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gasho.F 2007-11-19 11:08:06.374236542 -0500 -+++ ./gstrag/gasho.F 2005-05-25 18:37:56.597922419 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gdifmg.F ./gstrag/gdifmg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gdifmg.F 2007-11-19 11:08:06.427900186 -0500 -+++ ./gstrag/gdifmg.F 2005-05-25 18:37:56.703913615 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/giasho.F ./gstrag/giasho.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/giasho.F 2007-11-19 11:08:06.835342815 -0500 -+++ ./gstrag/giasho.F 2005-05-25 18:37:56.510650240 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gkokri.F ./gstrag/gkokri.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gkokri.F 2007-11-19 11:08:06.943280624 -0500 -+++ ./gstrag/gkokri.F 2005-05-25 18:37:56.441523104 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/goscin.F ./gstrag/goscin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/goscin.F 2007-11-19 11:08:06.925822653 -0500 -+++ ./gstrag/goscin.F 2005-05-25 18:37:56.734913040 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/goscmg.F ./gstrag/goscmg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/goscmg.F 2007-11-19 11:08:06.398341292 -0500 -+++ ./gstrag/goscmg.F 2005-05-25 18:37:56.841911055 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gpscin.F ./gstrag/gpscin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gpscin.F 2007-11-19 11:08:06.054996644 -0500 -+++ ./gstrag/gpscin.F 2005-05-25 18:37:56.802911779 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstcor.F ./gstrag/gstcor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstcor.F 2007-11-19 11:08:06.246159874 -0500 -+++ ./gstrag/gstcor.F 2005-05-25 18:37:56.932909368 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstdn.F ./gstrag/gstdn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstdn.F 2007-11-19 11:08:06.720083286 -0500 -+++ ./gstrag/gstdn.F 2005-05-25 18:37:56.898909998 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstini.F ./gstrag/gstini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstini.F 2007-11-19 11:08:06.575246367 -0500 -+++ ./gstrag/gstini.F 2005-05-25 18:37:56.786106543 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstint.F ./gstrag/gstint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstint.F 2007-11-19 11:08:06.219922593 -0500 -+++ ./gstrag/gstint.F 2005-05-25 18:37:56.684932516 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstren.F ./gstrag/gstren.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstren.F 2007-11-19 11:08:06.004908032 -0500 -+++ ./gstrag/gstren.F 2007-05-18 13:13:05.340806374 -0400 -@@ -1,7 +1,19 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/07/10 09:11:26 brun -+* From Andreas Morsch and Alexandru Bercuci: -+* Corrections in the PAI implementation: -+* (1) The upper energy limit for integrating over the photo-absorption -+* cross-section is set to infinity. -+* In the original code the upper limit is the cut-off for delta-ray -+* production from electrons and depends on this cut, -+* -+* (2) Number of collisions is allowed to be 0. -+* In the original code the minimum number of collisions is forced to be 1 -+* and depends strongly on the step-size. -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gsttab.F ./gstrag/gsttab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gsttab.F 2007-11-19 11:08:06.473284490 -0500 -+++ ./gstrag/gsttab.F 2005-05-25 18:37:56.456923337 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstxin.F ./gstrag/gstxin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstxin.F 2007-11-19 11:08:06.068906845 -0500 -+++ ./gstrag/gstxin.F 2007-05-18 13:18:32.218796849 -0400 -@@ -1,7 +1,19 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/07/10 09:11:26 brun -+* From Andreas Morsch and Alexandru Bercuci: -+* Corrections in the PAI implementation: -+* (1) The upper energy limit for integrating over the photo-absorption -+* cross-section is set to infinity. -+* In the original code the upper limit is the cut-off for delta-ray -+* production from electrons and depends on this cut, -+* -+* (2) Number of collisions is allowed to be 0. -+* In the original code the minimum number of collisions is forced to be 1 -+* and depends strongly on the step-size. -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gxgint.F ./gstrag/gxgint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gxgint.F 2007-11-19 11:08:06.519021358 -0500 -+++ ./gstrag/gxgint.F 2005-05-25 18:37:56.272803017 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag: .svn -Only in ./gtrak: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/garndm.F ./gtrak/garndm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/garndm.F 2007-11-19 11:08:06.112906029 -0500 -+++ ./gtrak/garndm.F 2005-05-25 18:37:56.502340302 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:41 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gdebug.F ./gtrak/gdebug.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gdebug.F 2007-11-19 11:08:06.880381743 -0500 -+++ ./gtrak/gdebug.F 2006-08-17 09:38:59.729664724 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.2 2006/08/17 13:38:59 fisyak -+* Clean up -+* -+* Revision 1.3 2006/03/17 21:45:00 brun -+* Add all HIGZ routines as dummy -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gekbin.F ./gtrak/gekbin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gekbin.F 2007-11-19 11:08:06.663369208 -0500 -+++ ./gtrak/gekbin.F 2005-05-25 18:37:56.174904879 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gfinds.F ./gtrak/gfinds.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gfinds.F 2007-11-19 11:08:06.301037775 -0500 -+++ ./gtrak/gfinds.F 2005-05-25 18:37:56.574889226 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ggckov.F ./gtrak/ggckov.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ggckov.F 2007-11-19 11:08:06.036907438 -0500 -+++ ./gtrak/ggckov.F 2005-05-25 18:37:56.970908663 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ghelix.F ./gtrak/ghelix.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ghelix.F 2007-11-19 11:08:06.904405833 -0500 -+++ ./gtrak/ghelix.F 2006-11-28 10:07:32.256903358 -0500 -@@ -1,7 +1,11 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/11/28 09:10:12 brun -+* Change speed of light to agree with the current PDG value, -+* ie change from 299,792,510 to 299,792,458 -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ghelx3.F ./gtrak/ghelx3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ghelx3.F 2007-11-19 11:08:06.501145211 -0500 -+++ ./gtrak/ghelx3.F 2006-11-28 10:07:47.317902226 -0500 -@@ -1,7 +1,11 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/11/28 09:10:12 brun -+* Change speed of light to agree with the current PDG value, -+* ie change from 299,792,510 to 299,792,458 -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ginvol.F ./gtrak/ginvol.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ginvol.F 2007-11-19 11:08:06.907123347 -0500 -+++ ./gtrak/ginvol.F 2005-05-25 18:37:56.559147594 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gltrac.F ./gtrak/gltrac.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gltrac.F 2007-11-19 11:08:06.746342148 -0500 -+++ ./gtrak/gltrac.F 2005-05-25 18:37:56.392422736 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gnckov.F ./gtrak/gnckov.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gnckov.F 2007-11-19 11:08:06.883717297 -0500 -+++ ./gtrak/gnckov.F 2005-05-25 18:37:56.341901781 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpcxyz.F ./gtrak/gpcxyz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpcxyz.F 2007-11-19 11:08:06.277913803 -0500 -+++ ./gtrak/gpcxyz.F 2005-05-25 18:37:56.539275378 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2005/05/20 10:43:20 brun -+* From Federico Carminati & Peter Hristov -+* Mods required to run on MacOSX 10.4 -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpgkin.F ./gtrak/gpgkin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpgkin.F 2007-11-19 11:08:06.543397121 -0500 -+++ ./gtrak/gpgkin.F 2005-05-25 18:37:56.200527993 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpjxyz.F ./gtrak/gpjxyz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpjxyz.F 2007-11-19 11:08:06.808529969 -0500 -+++ ./gtrak/gpjxyz.F 2005-05-25 18:37:56.026172538 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/granor.F ./gtrak/granor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/granor.F 2007-11-19 11:08:06.553695488 -0500 -+++ ./gtrak/granor.F 2005-05-25 18:37:56.207258183 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:41 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/grkuta.F ./gtrak/grkuta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/grkuta.F 2007-11-19 11:08:06.513308139 -0500 -+++ ./gtrak/grkuta.F 2006-11-28 10:08:03.433900074 -0500 -@@ -1,7 +1,11 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/11/28 09:10:12 brun -+* Change speed of light to agree with the current PDG value, -+* ie change from 299,792,510 to 299,792,458 -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak: grndm.F -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak: grndmq.F -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsking.F ./gtrak/gsking.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsking.F 2007-11-19 11:08:06.400900687 -0500 -+++ ./gtrak/gsking.F 2005-05-25 18:37:56.943271279 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gskpho.F ./gtrak/gskpho.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gskpho.F 2007-11-19 11:08:06.331130602 -0500 -+++ ./gtrak/gskpho.F 2005-05-25 18:37:56.417296009 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsstak.F ./gtrak/gsstak.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsstak.F 2007-11-19 11:08:06.392087857 -0500 -+++ ./gtrak/gsstak.F 2005-05-25 18:37:56.253108979 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gstord.F ./gtrak/gstord.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gstord.F 2007-11-19 11:08:06.247072002 -0500 -+++ ./gtrak/gstord.F 2005-05-25 18:37:56.559897737 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gstrac.F ./gtrak/gstrac.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gstrac.F 2007-11-19 11:08:06.836756822 -0500 -+++ ./gtrak/gstrac.F 2005-05-25 18:37:56.774335266 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2004/01/28 08:20:11 brun -+* Some bug fixes by Peter Hristov -+* Reintroduce gstrac -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsxyz.F ./gtrak/gsxyz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsxyz.F 2007-11-19 11:08:06.290902727 -0500 -+++ ./gtrak/gsxyz.F 2005-05-25 18:37:56.258674832 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtgama.F ./gtrak/gtgama.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtgama.F 2007-12-07 11:52:38.231885272 -0500 -+++ ./gtrak/gtgama.F 2005-05-25 18:37:56.441687021 -0400 -@@ -52,7 +52,6 @@ - JPFIS = LQ(JMA-12) - JRAYL = LQ(JMA-13) - ENDIF -- IABAN = NINT(DPHYS1) - * - * *** Compute current step size - * -@@ -221,10 +220,6 @@ - * ** Photo-electric effect ? - * - ELSE IF (IPROC.EQ.8) THEN -- IF (IABAN.LE.0) GOTO 40 --* --* ** If IABAN=1,2 see whether we have to abandon the electron right away --* - * Calculate range of the photoelectron ( with kin. energy Ephot) - * - IF(GEKIN.LE.0.001) THEN -@@ -248,11 +243,10 @@ - * DO NOT call G3PHOT if this (overestimated) range is smaller - * than SAFETY - * -- IF ((STOPMX.LE.SAFETY).AND. -- + (IABAN.NE.2.OR.ISVOL.LE.0)) GOTO 998 -+ IF (STOPMX.LE.SAFETY) GOTO 998 - ENDIF - -- 40 CALL G3PHOT -+ CALL G3PHOT - * - * ** Rayleigh effect ? - * -@@ -272,6 +266,6 @@ - GETOT = 0. - VECT(7)= 0. - ISTOP = 2 -- NMEC = NMEC+1 -- LMEC(NMEC)= 30 -+ NMEC = 1 -+ LMEC(1)= 30 - 999 END -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gthion.F ./gtrak/gthion.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gthion.F 2007-11-19 11:08:06.619529972 -0500 -+++ ./gtrak/gthion.F 2005-05-25 18:37:56.660895864 -0400 -@@ -68,7 +68,8 @@ - IKCUT = GEKA*LOG10(CUTPRO) + GEKB - GKR = (CUTPRO - ELOW(IKCUT))/(ELOW(IKCUT+1) - ELOW(IKCUT)) - STOPC = (1.-GKR)*Q(JRANG+IKCUT) + GKR*Q(JRANG+IKCUT+1) -- FACFLU = DME*(Z*DENS/A) -+ FACFLU = 0 -+ if (ILOSS .NE. 0 .AND. A .NE. 0.0) FACFLU = DME*(Z*DENS/A) - CHAR23 = ONE/CHARGE**TWOTHR - IF(IMCKOV.EQ.1) THEN - JTCKOV = LQ(JTM-3) -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtmedi.F ./gtrak/gtmedi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtmedi.F 2007-11-19 11:08:06.925679635 -0500 -+++ ./gtrak/gtmedi.F 2005-05-25 18:37:56.242725942 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtneut.F ./gtrak/gtneut.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtneut.F 2007-11-19 11:08:06.850892340 -0500 -+++ ./gtrak/gtneut.F 2005-05-25 18:37:56.272263494 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtnext.F ./gtrak/gtnext.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtnext.F 2007-11-19 11:08:06.015719096 -0500 -+++ ./gtrak/gtnext.F 2005-05-25 18:37:56.376630756 -0400 -@@ -1,7 +1,20 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.4 2004/06/09 13:47:00 brun -+* From Peter Hristov: -+* In Makefile I have corrected the platform names according to the Root -+* convention. In gcinit.F the size of the ZEBRA common block is increased to -+* 5000000 so that the latest Alice geometry fits there :-) The -+* Makefile.linuxicc contains only one additional optimization option (-ip) -+* which gives an additional gain of 5-10% in speed. Finally, in -+* gtrak/gtnext.F I have put the additional protection we discussed with you -+* and Andrei. -+* - * Revision 1.3 2004/01/28 08:20:11 brun - * Some bug fixes by Peter Hristov - * Reintroduce gstrac -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtnino.F ./gtrak/gtnino.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtnino.F 2007-11-19 11:08:06.954890410 -0500 -+++ ./gtrak/gtnino.F 2005-05-25 18:37:56.273734051 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtrack.F ./gtrak/gtrack.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtrack.F 2007-12-07 11:52:38.928890893 -0500 -+++ ./gtrak/gtrack.F 2005-05-25 18:37:56.222577950 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -@@ -266,17 +272,15 @@ - * Check for possible endless loop - * - 90 NSTEP = NSTEP +1 -- IF (NSTEP.GT.ABS(MAXNST)) THEN -+ IF (NSTEP.GT.MAXNST) THEN - IF (ISTOP.EQ.0) THEN - ISTOP = 99 - NMEC = NMEC +1 - LMEC(NMEC) = 30 -- IF(MAXNST.GT.0) THEN - WRITE(CHMAIL,10200) MAXNST - CALL GMAIL(1,0) - CALL G3PCXYZ -- WRITE(CHMAIL,10250) IEVENT,IDEVT, -- + (NRNDM(I),I=1,2),TOFG*1.E9 -+ WRITE(CHMAIL,10250) IEVENT,IDEVT,(NRNDM(I),I=1,2),TOFG*1.E9 - CALL GMAIL(0,1) - 10200 FORMAT(' *** GTRACK *** More than ',I6, - + ' steps, tracking abandoned!') -@@ -284,7 +288,6 @@ - $ ,I10,' Time of flight ',F10.3,' ns') - ENDIF - ENDIF -- ENDIF - * - * *** Give control to user at end of each tracking step - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtrak.doc ./gtrak/gtrak.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtrak.doc 2007-10-04 19:45:50.886891672 -0400 -+++ ./gtrak/gtrak.doc 2005-05-25 18:37:56.037249302 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtreve.F ./gtrak/gtreve.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtreve.F 2007-11-19 11:08:06.019889205 -0500 -+++ ./gtrak/gtreve.F 2005-05-25 18:37:56.899455923 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtreveroot.F ./gtrak/gtreveroot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtreveroot.F 2007-11-19 11:08:06.985889835 -0500 -+++ ./gtrak/gtreveroot.F 2005-05-25 18:37:56.447383278 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: guser -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: gxint -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: gxuser -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: Makefile -Only in ./matx55: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dcross.F ./matx55/dcross.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dcross.F 2007-11-19 11:08:06.479412956 -0500 -+++ ./matx55/dcross.F 2005-05-25 18:37:57.048888667 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/ddot.F ./matx55/ddot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/ddot.F 2007-11-19 11:08:06.555566356 -0500 -+++ ./matx55/ddot.F 2005-05-25 18:37:57.764423220 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dmm55.F ./matx55/dmm55.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dmm55.F 2007-11-19 11:08:06.248884957 -0500 -+++ ./matx55/dmm55.F 2005-05-25 18:37:57.451536120 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dnorm.F ./matx55/dnorm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dnorm.F 2007-11-19 11:08:06.130887146 -0500 -+++ ./matx55/dnorm.F 2005-05-25 18:37:57.993151469 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dsmt5t.F ./matx55/dsmt5t.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dsmt5t.F 2007-11-19 11:08:06.355864423 -0500 -+++ ./matx55/dsmt5t.F 2005-05-25 18:37:57.372882657 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/rmm55.F ./matx55/rmm55.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/rmm55.F 2007-11-19 11:08:06.339909945 -0500 -+++ ./matx55/rmm55.F 2005-05-25 18:37:57.309883825 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/rsmt5t.F ./matx55/rsmt5t.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/rsmt5t.F 2007-11-19 11:08:06.990812666 -0500 -+++ ./matx55/rsmt5t.F 2005-05-25 18:37:57.826158898 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/ssmt5t.F ./matx55/ssmt5t.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/ssmt5t.F 2007-11-19 11:08:06.425881674 -0500 -+++ ./matx55/ssmt5t.F 2005-05-25 18:37:57.224831016 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/xmm55.F ./matx55/xmm55.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/xmm55.F 2007-11-19 11:08:06.011905973 -0500 -+++ ./matx55/xmm55.F 2005-05-25 18:37:57.191763083 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in ./miface: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gfmdis.F ./miface/gfmdis.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gfmdis.F 2007-11-19 11:08:06.512844532 -0500 -+++ ./miface/gfmdis.F 2005-05-25 18:37:57.500510928 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gfmfin.F ./miface/gfmfin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gfmfin.F 2007-11-19 11:08:06.468880876 -0500 -+++ ./miface/gfmfin.F 2005-05-25 18:37:57.893856011 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmicap.F ./miface/gmicap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmicap.F 2007-11-19 11:08:06.985069267 -0500 -+++ ./miface/gmicap.F 2005-05-25 18:37:57.265847543 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmiset.F ./miface/gmiset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmiset.F 2007-11-19 11:08:06.570587352 -0500 -+++ ./miface/gmiset.F 2005-05-25 18:37:57.532275319 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmorin.F ./miface/gmorin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmorin.F 2007-11-19 11:08:06.840030335 -0500 -+++ ./miface/gmorin.F 2005-05-25 18:37:57.313828104 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmplxs.F ./miface/gmplxs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmplxs.F 2007-11-19 11:08:06.346827492 -0500 -+++ ./miface/gmplxs.F 2005-05-25 18:37:57.021742364 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmxsec.F ./miface/gmxsec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmxsec.F 2007-11-19 11:08:06.059578915 -0500 -+++ ./miface/gmxsec.F 2005-05-25 18:37:57.792459549 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/azirn.F ./miguti/azirn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/azirn.F 2007-11-19 11:08:06.094833558 -0500 -+++ ./miguti/azirn.F 2005-05-25 18:37:57.491806253 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in ./miguti: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/exprnf.F ./miguti/exprnf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/exprnf.F 2007-11-19 11:08:06.302582476 -0500 -+++ ./miguti/exprnf.F 2005-05-25 18:37:57.192756150 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/gtiso.F ./miguti/gtiso.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/gtiso.F 2007-11-19 11:08:06.604742617 -0500 -+++ ./miguti/gtiso.F 2005-05-25 18:37:57.044777445 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/randc.F ./miguti/randc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/randc.F 2007-11-19 11:08:06.072776926 -0500 -+++ ./miguti/randc.F 2005-05-25 18:37:57.002031281 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/sflraf.F ./miguti/sflraf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/sflraf.F 2007-11-19 11:08:06.922041858 -0500 -+++ ./miguti/sflraf.F 2005-05-25 18:37:57.005535960 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/sigmor.F ./miguti/sigmor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/sigmor.F 2007-11-19 11:08:06.023422107 -0500 -+++ ./miguti/sigmor.F 2005-05-25 18:37:57.214904137 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: minicern -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/angcdf.F ./neutron/angcdf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/angcdf.F 2007-11-19 11:08:06.366853017 -0500 -+++ ./neutron/angcdf.F 2005-05-25 18:37:57.211806604 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/bankr.F ./neutron/bankr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/bankr.F 2007-11-19 11:08:06.762561708 -0500 -+++ ./neutron/bankr.F 2005-05-25 18:37:57.448771537 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/barier.F ./neutron/barier.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/barier.F 2007-11-19 11:08:06.873469484 -0500 -+++ ./neutron/barier.F 2005-05-25 18:37:57.583898850 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cadig.F ./neutron/cadig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cadig.F 2007-11-19 11:08:06.925326220 -0500 -+++ ./neutron/cadig.F 2005-05-25 18:37:57.183827572 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cangle.F ./neutron/cangle.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cangle.F 2007-11-19 11:08:06.698691115 -0500 -+++ ./neutron/cangle.F 2005-05-25 18:37:57.685728456 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cevap1.F ./neutron/cevap1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cevap1.F 2007-11-19 11:08:06.840707031 -0500 -+++ ./neutron/cevap1.F 2005-05-25 18:37:57.796129116 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cevap.F ./neutron/cevap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cevap.F 2007-11-19 11:08:06.330532627 -0500 -+++ ./neutron/cevap.F 2005-05-25 18:37:57.377678520 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/chkzeb.F ./neutron/chkzeb.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/chkzeb.F 2007-11-19 11:08:06.710727992 -0500 -+++ ./neutron/chkzeb.F 2005-05-25 18:37:57.219632349 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/clear.F ./neutron/clear.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/clear.F 2007-11-19 11:08:06.031740587 -0500 -+++ ./neutron/clear.F 2005-05-25 18:37:58.647901297 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cmlabe.F ./neutron/cmlabe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cmlabe.F 2007-11-19 11:08:06.690278853 -0500 -+++ ./neutron/cmlabe.F 2005-05-25 18:37:58.041675606 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cmlabi.F ./neutron/cmlabi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cmlabi.F 2007-11-19 11:08:06.521657299 -0500 -+++ ./neutron/cmlabi.F 2005-05-25 18:37:58.074519787 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/colisn.F ./neutron/colisn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/colisn.F 2007-11-19 11:08:06.502264612 -0500 -+++ ./neutron/colisn.F 2005-05-25 18:37:58.035303097 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cterp.F ./neutron/cterp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cterp.F 2007-11-19 11:08:06.364641661 -0500 -+++ ./neutron/cterp.F 2005-05-25 18:37:58.039273194 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in ./neutron: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/evaplr.F ./neutron/evaplr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/evaplr.F 2007-11-19 11:08:06.594494939 -0500 -+++ ./neutron/evaplr.F 2005-05-25 18:37:58.366676158 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/fisrnf.F ./neutron/fisrnf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/fisrnf.F 2007-11-19 11:08:06.082628342 -0500 -+++ ./neutron/fisrnf.F 2005-05-25 18:37:58.101627990 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/fltrnf.F ./neutron/fltrnf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/fltrnf.F 2007-11-19 11:08:06.309790404 -0500 -+++ ./neutron/fltrnf.F 2005-05-25 18:37:58.379570223 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getene.F ./neutron/getene.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getene.F 2007-11-19 11:08:06.178505147 -0500 -+++ ./neutron/getene.F 2005-05-25 18:37:58.722457910 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getnu.F ./neutron/getnu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getnu.F 2007-11-19 11:08:06.144856864 -0500 -+++ ./neutron/getnu.F 2005-05-25 18:37:58.456605880 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getpar.F ./neutron/getpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getpar.F 2007-11-19 11:08:06.275606212 -0500 -+++ ./neutron/getpar.F 2005-05-25 18:37:58.279249302 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/grndst.F ./neutron/grndst.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/grndst.F 2007-11-19 11:08:06.217346898 -0500 -+++ ./neutron/grndst.F 2005-05-25 18:37:58.880306745 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/gtmed.F ./neutron/gtmed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/gtmed.F 2007-11-19 11:08:06.150589980 -0500 -+++ ./neutron/gtmed.F 2005-05-25 18:37:58.836453262 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/interp.F ./neutron/interp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/interp.F 2007-11-19 11:08:06.371548780 -0500 -+++ ./neutron/interp.F 2005-05-25 18:37:58.599923472 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/intsch.F ./neutron/intsch.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/intsch.F 2007-11-19 11:08:06.045573378 -0500 -+++ ./neutron/intsch.F 2005-05-25 18:37:58.225570039 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/isotpe.F ./neutron/isotpe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/isotpe.F 2007-11-19 11:08:06.970880223 -0500 -+++ ./neutron/isotpe.F 2005-05-25 18:37:58.124209523 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/labnf.F ./neutron/labnf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/labnf.F 2007-11-19 11:08:06.316419250 -0500 -+++ ./neutron/labnf.F 2005-05-25 18:37:58.527491880 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/lr2bod.F ./neutron/lr2bod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/lr2bod.F 2007-11-19 11:08:06.361678816 -0500 -+++ ./neutron/lr2bod.F 2005-05-25 18:37:58.945573528 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/lrnorm.F ./neutron/lrnorm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/lrnorm.F 2007-11-19 11:08:06.112393161 -0500 -+++ ./neutron/lrnorm.F 2005-05-25 18:37:58.538056704 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/matiso.F ./neutron/matiso.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/matiso.F 2007-11-19 11:08:06.576431510 -0500 -+++ ./neutron/matiso.F 2005-05-25 18:37:58.434794204 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/micset.F ./neutron/micset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/micset.F 2007-11-19 11:08:06.921434832 -0500 -+++ ./neutron/micset.F 2005-05-25 18:37:58.873911035 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/moxsec.F ./neutron/moxsec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/moxsec.F 2007-11-19 11:08:06.075498619 -0500 -+++ ./neutron/moxsec.F 2005-05-25 18:37:58.314413987 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/n2nn3n.F ./neutron/n2nn3n.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/n2nn3n.F 2007-11-19 11:08:06.925519952 -0500 -+++ ./neutron/n2nn3n.F 2005-05-25 18:37:58.946519563 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nghevy.F ./neutron/nghevy.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nghevy.F 2007-11-19 11:08:06.994481571 -0500 -+++ ./neutron/nghevy.F 2005-05-25 18:37:58.764281477 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nn2bod.F ./neutron/nn2bod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nn2bod.F 2007-11-19 11:08:06.772185470 -0500 -+++ ./neutron/nn2bod.F 2005-05-25 18:37:58.145634447 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nsigta.F ./neutron/nsigta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nsigta.F 2007-11-19 11:08:06.739298049 -0500 -+++ ./neutron/nsigta.F 2005-05-25 18:37:58.019462557 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/partxs.F ./neutron/partxs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/partxs.F 2007-11-19 11:08:06.978378206 -0500 -+++ ./neutron/partxs.F 2005-05-25 18:37:58.593023853 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/photon.F ./neutron/photon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/photon.F 2007-11-19 11:08:06.238532697 -0500 -+++ ./neutron/photon.F 2005-05-25 18:37:58.382653991 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/rnmaxf.F ./neutron/rnmaxf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/rnmaxf.F 2007-11-19 11:08:06.076424398 -0500 -+++ ./neutron/rnmaxf.F 2005-05-25 18:37:58.196855549 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/secegy.F ./neutron/secegy.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/secegy.F 2007-11-19 11:08:06.460666087 -0500 -+++ ./neutron/secegy.F 2005-05-25 18:37:58.218380616 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/secl11.F ./neutron/secl11.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/secl11.F 2007-11-19 11:08:06.764411635 -0500 -+++ ./neutron/secl11.F 2005-05-25 18:37:58.798411004 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf1.F ./neutron/seclf1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf1.F 2007-11-19 11:08:06.388036763 -0500 -+++ ./neutron/seclf1.F 2005-05-25 18:37:58.086346460 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf5.F ./neutron/seclf5.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf5.F 2007-11-19 11:08:06.626387863 -0500 -+++ ./neutron/seclf5.F 2005-05-25 18:37:58.982994108 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf7.F ./neutron/seclf7.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf7.F 2007-11-19 11:08:06.417058719 -0500 -+++ ./neutron/seclf7.F 2005-05-25 18:37:58.726512935 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf9.F ./neutron/seclf9.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf9.F 2007-11-19 11:08:06.973389206 -0500 -+++ ./neutron/seclf9.F 2005-05-25 18:37:58.102567646 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/stopar.F ./neutron/stopar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/stopar.F 2007-11-19 11:08:06.606032718 -0500 -+++ ./neutron/stopar.F 2005-05-25 18:37:58.583218617 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/tbsplt.F ./neutron/tbsplt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/tbsplt.F 2007-11-19 11:08:06.561150020 -0500 -+++ ./neutron/tbsplt.F 2005-05-25 18:37:58.580336690 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/thrmsc.F ./neutron/thrmsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/thrmsc.F 2007-11-19 11:08:06.196900553 -0500 -+++ ./neutron/thrmsc.F 2005-05-25 18:37:58.821676496 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/thrsel.F ./neutron/thrsel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/thrsel.F 2007-11-19 11:08:06.030384566 -0500 -+++ ./neutron/thrsel.F 2005-05-25 18:37:58.183065596 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/trebod.F ./neutron/trebod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/trebod.F 2007-11-19 11:08:06.570798836 -0500 -+++ ./neutron/trebod.F 2005-05-25 18:37:58.485118414 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/twobod.F ./neutron/twobod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/twobod.F 2007-11-19 11:08:06.598324424 -0500 -+++ ./neutron/twobod.F 2005-05-25 18:37:58.234061418 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn1.F ./neutron/xsecn1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn1.F 2007-11-19 11:08:06.642331180 -0500 -+++ ./neutron/xsecn1.F 2005-05-25 18:37:58.721086253 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn2.F ./neutron/xsecn2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn2.F 2007-11-19 11:08:06.371037078 -0500 -+++ ./neutron/xsecn2.F 2005-05-25 18:37:58.869395201 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn3.F ./neutron/xsecn3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn3.F 2007-11-19 11:08:06.603130698 -0500 -+++ ./neutron/xsecn3.F 2005-05-25 18:37:58.864528929 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn5.F ./neutron/xsecn5.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn5.F 2007-11-19 11:08:06.095368392 -0500 -+++ ./neutron/xsecn5.F 2005-05-25 18:37:58.642639515 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecnu.F ./neutron/xsecnu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecnu.F 2007-11-19 11:08:06.018030282 -0500 -+++ ./neutron/xsecnu.F 2005-05-25 18:37:58.451343237 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in .: PACKAGE -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/bimsel.F ./peanut/bimsel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/bimsel.F 2007-11-19 11:08:06.968500971 -0500 -+++ ./peanut/bimsel.F 2005-05-25 18:37:58.402455818 -0400 -@@ -1,7 +1,17 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.5 2005/03/24 15:43:37 brun -+* Fix a portability problem with the Intel compiler -+* Replace -+* ANGRED = ACOS ( SIGN(1,DUMMY)*.99D+00 ) / PI -+* by -+* ANGRED = ACOS ( SIGN(1D0,DUMMY)*.99D+00 ) / PI -+* - * Revision 1.4 2004/12/17 11:46:46 brun - * Several protections introduced by Rachid Guernane and Peter Hristov - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/cosleg.F ./peanut/cosleg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/cosleg.F 2007-11-19 11:08:06.604341846 -0500 -+++ ./peanut/cosleg.F 2005-05-25 18:37:58.709319899 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in ./peanut: CVS -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fekfnc.F ./peanut/fekfnc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fekfnc.F 2007-11-19 11:08:06.660443450 -0500 -+++ ./peanut/fekfnc.F 2005-05-25 18:37:58.827148169 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fpfrnc.F ./peanut/fpfrnc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fpfrnc.F 2007-11-19 11:08:06.043761217 -0500 -+++ ./peanut/fpfrnc.F 2005-05-25 18:37:58.569303945 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fradnc.F ./peanut/fradnc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fradnc.F 2007-11-19 11:08:06.855200199 -0500 -+++ ./peanut/fradnc.F 2005-05-25 18:37:58.631130179 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/frhinc.F ./peanut/frhinc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/frhinc.F 2007-11-19 11:08:06.044660258 -0500 -+++ ./peanut/frhinc.F 2005-05-25 18:37:58.660283705 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/frhonc.F ./peanut/frhonc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/frhonc.F 2007-11-19 11:08:06.685283242 -0500 -+++ ./peanut/frhonc.F 2005-05-25 18:37:58.271786955 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nclvin.F ./peanut/nclvin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nclvin.F 2007-11-19 11:08:06.501887342 -0500 -+++ ./peanut/nclvin.F 2005-05-25 18:37:58.137194970 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nclvst.F ./peanut/nclvst.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nclvst.F 2007-11-19 11:08:06.530034128 -0500 -+++ ./peanut/nclvst.F 2005-05-25 18:37:58.832200626 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nucnuc.F ./peanut/nucnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nucnuc.F 2007-11-19 11:08:06.925594611 -0500 -+++ ./peanut/nucnuc.F 2005-05-25 18:37:58.840261815 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nwisel.F ./peanut/nwisel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nwisel.F 2007-11-19 11:08:06.814698299 -0500 -+++ ./peanut/nwisel.F 2005-05-25 18:37:58.646870497 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/peanut.F ./peanut/peanut.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/peanut.F 2007-11-19 11:08:06.306601851 -0500 -+++ ./peanut/peanut.F 2005-05-25 18:37:58.715245582 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/pfnclv.F ./peanut/pfnclv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/pfnclv.F 2007-11-19 11:08:06.353822508 -0500 -+++ ./peanut/pfnclv.F 2005-07-14 09:08:43.560211354 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.2 2005/07/14 13:08:43 fisyak -+* *** empty log message *** -+* -+* Revision 1.2 2005/07/13 17:33:39 rdm -+* From Christian Holm: -+* I've attached a patch that fixes _some_ problems in your VMC version of -+* geant321 when using gfortran. Note in particular the `ENTRY' fix. -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/phdset.F ./peanut/phdset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/phdset.F 2007-11-19 11:08:06.931461734 -0500 -+++ ./peanut/phdset.F 2005-05-25 18:37:58.377233301 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/phdwll.F ./peanut/phdwll.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/phdwll.F 2007-11-19 11:08:06.416232577 -0500 -+++ ./peanut/phdwll.F 2005-05-25 18:37:58.217946826 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/pioabs.F ./peanut/pioabs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/pioabs.F 2007-11-19 11:08:06.483194231 -0500 -+++ ./peanut/pioabs.F 2005-05-25 18:37:58.871511685 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/prepre.F ./peanut/prepre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/prepre.F 2007-11-19 11:08:06.715243775 -0500 -+++ ./peanut/prepre.F 2005-05-25 18:37:58.485339065 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/rstsel.F ./peanut/rstsel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/rstsel.F 2007-11-19 11:08:06.172115164 -0500 -+++ ./peanut/rstsel.F 2005-05-25 18:37:58.257179872 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/sbcomp.F ./peanut/sbcomp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/sbcomp.F 2007-11-19 11:08:06.351420957 -0500 -+++ ./peanut/sbcomp.F 2005-05-25 18:37:58.434346930 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/sigfer.F ./peanut/sigfer.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/sigfer.F 2007-11-19 11:08:06.829333331 -0500 -+++ ./peanut/sigfer.F 2005-05-25 18:37:58.805957810 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/umofin.F ./peanut/umofin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/umofin.F 2007-11-19 11:08:06.624996316 -0500 -+++ ./peanut/umofin.F 2005-05-25 18:37:58.431158092 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/xinneu.F ./peanut/xinneu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/xinneu.F 2007-11-19 11:08:06.156290346 -0500 -+++ ./peanut/xinneu.F 2005-05-25 18:37:58.444163707 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/xinpro.F ./peanut/xinpro.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/xinpro.F 2007-11-19 11:08:06.231180354 -0500 -+++ ./peanut/xinpro.F 2005-05-25 18:37:58.370140671 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: diff.072708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: README_gcalor -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: README_geane -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: README_geane_more -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: .svn -Only in ./TGeant3: .consign -Only in ./TGeant3: .consign.sl305_gcc323 -Only in ./TGeant3: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Material.cxx -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Material.h -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Medium.cxx -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Medium.h -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Node.cxx -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Node.h -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Volume.cxx -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Volume.h -Only in ./TGeant3: galicef.F -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/geant3LinkDef.h ./TGeant3/geant3LinkDef.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/geant3LinkDef.h 2007-11-19 11:08:06.318934373 -0500 -+++ ./TGeant3/geant3LinkDef.h 2007-05-18 13:20:03.276429294 -0400 -@@ -2,7 +2,7 @@ - /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - --/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - #pragma link off all globals; - #pragma link off all classes; -@@ -42,10 +42,5 @@ - #pragma link C++ class Eroptc_t+; - #pragma link C++ class Erwork_t+; - --#pragma link C++ class G3Material+; --#pragma link C++ class G3Medium-; --#pragma link C++ class G3Node+; --#pragma link C++ class G3Volume+; -- - #endif - -Only in ./TGeant3: geant3LinkDef.h~ -Only in ./TGeant3: .includes_for_export.flg -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: .svn -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TCallf77.h ./TGeant3/TCallf77.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TCallf77.h 2007-11-19 11:08:06.769077613 -0500 -+++ ./TGeant3/TCallf77.h 2005-05-25 18:36:36.096625398 -0400 -@@ -3,7 +3,7 @@ - /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - --/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - #ifndef WIN32 - # define type_of_call -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TG3Application.cxx ./TGeant3/TG3Application.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TG3Application.cxx 2007-11-19 11:08:06.820524532 -0500 -+++ ./TGeant3/TG3Application.cxx 2006-12-20 19:11:13.435963813 -0500 -@@ -1,4 +1,4 @@ --// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Class TG3Application - // ----------------------- -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TG3Application.h ./TGeant3/TG3Application.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TG3Application.h 2007-11-19 11:08:06.276547503 -0500 -+++ ./TGeant3/TG3Application.h 2005-05-25 18:36:36.215775995 -0400 -@@ -1,4 +1,4 @@ --// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Class TG3Application - // ----------------------- -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3.cxx ./TGeant3/TGeant3.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3.cxx 2007-11-19 11:08:06.517922554 -0500 -+++ ./TGeant3/TGeant3.cxx 2007-07-26 12:58:18.016054478 -0400 -@@ -14,8 +14,6 @@ - * provided "as is" without express or implied warranty. * - **************************************************************************/ - --/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -- - /* - $Log: diff.072708,v $ - Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - Merge with .DEV2 - - Revision 1.1.1.1 2008/12/10 20:45:54 fisyak - Merge with macos version - - Revision 1.59 2007/07/25 20:06:49 brun -@@ -348,7 +346,7 @@ - in case a user defines geometry via TGeo and associates more tracking - media with the same material, TGeant3 duplicates this material - for each tracking medium. -- I haven't found a function for getting the number of -+ I haven\'t found a function for getting the number of - materials/media (TList) so I count them by a loop - - maybe it can be done more intelligently... - -@@ -1508,11 +1506,11 @@ - fPDGCode[fNPDGCodes++]=3322; // 22 = Xi0 - fPDGCode[fNPDGCodes++]=3312; // 23 = Xi- - fPDGCode[fNPDGCodes++]=3334; // 24 = Omega- -- fPDGCode[fNPDGCodes++]=-2112; // 25 = Anti Neutron -- fPDGCode[fNPDGCodes++]=-3122; // 26 = Anti Lambda -+ fPDGCode[fNPDGCodes++]=-2112; // 25 = Anti Proton -+ fPDGCode[fNPDGCodes++]=-3122; // 26 = Anti Proton - fPDGCode[fNPDGCodes++]=-3222; // 27 = Anti Sigma - - fPDGCode[fNPDGCodes++]=-3212; // 28 = Anti Sigma 0 -- fPDGCode[fNPDGCodes++]=-3112; // 29 = Anti Sigma + -+ fPDGCode[fNPDGCodes++]=-3112; // 29 = Anti Sigma 0 - fPDGCode[fNPDGCodes++]=-3322; // 30 = Anti Xi 0 - fPDGCode[fNPDGCodes++]=-3312; // 31 = Anti Xi + - fPDGCode[fNPDGCodes++]=-3334; // 32 = Anti Omega + -@@ -1531,16 +1529,16 @@ - Gspart(fNG3Particles++,"PHI(1020)",3,1.019,0.,1.486e-22);// 34 = PHI(1020) - fPDGCode[fNPDGCodes++]=333; // 34 = PHI (1020) - -- Gspart(fNG3Particles++, "D +", 4, 1.8693, 1., 1.040e-12); // 35 = D+ // G4DMesonPlus -+ Gspart(fNG3Particles++, "D +", 4, 1.87, 1., 1.066e-12); // 35 = D+ - fPDGCode[fNPDGCodes++]=411; // 35 = D+ - -- Gspart(fNG3Particles++, "D -", 4, 1.8693, -1., 1.040e-12); // 36 = D- // G4DMesonMinus -+ Gspart(fNG3Particles++, "D -", 4, 1.87, -1., 1.066e-12); // 36 = D- - fPDGCode[fNPDGCodes++]=-411; // 36 = D- - -- Gspart(fNG3Particles++, "D 0", 3, 1.8645, 0., 0.415e-12); // 37 = D0 // G4DMesonZero -+ Gspart(fNG3Particles++, "D 0", 3, 1.865, 0., 4.2e-13); // 37 = D0 - fPDGCode[fNPDGCodes++]=421; // 37 = D0 - -- Gspart(fNG3Particles++,"ANTI D 0",3,1.8645,0.,0.415e-12); // 38 = Anti D0 // G4AntiDMesonZero -+ Gspart(fNG3Particles++,"ANTI D 0",3,1.865,0.,4.2e-13); // 38 = Anti D0 - fPDGCode[fNPDGCodes++]=-421; // 38 = D0 bar - - -@@ -1586,43 +1584,40 @@ - Gspart(fNG3Particles++, "FeedbackPhoton", 7, 0., 0.,1.e20 ); - fPDGCode[fNPDGCodes++]=GetSpecialPdg(51); // 51 = FeedbackPhoton - // -- -- Gspart(fNG3Particles++, "Lambda_c-", 4, 2.28646, +1., 2.06e-13); -- // Gspart(fNG3Particles++, "Lambda_c+", 4, 2.28646, +1., 0.200e-12); // G4LambdacPlus -+ Gspart(fNG3Particles++, "Lambda_c+", 4, 2.2849, +1., 2.06e-13); - fPDGCode[fNPDGCodes++]=4122; //52 = Lambda_c+ - -- Gspart(fNG3Particles++, "Lambda_c-", 4, 2.28646, -1., 2.06e-13); -- // Gspart(fNG3Particles++, "Lambda_c-", 4, 2.2849, -1., 0.200e-12); // G4AntiLamdacPlus -+ Gspart(fNG3Particles++, "Lambda_c-", 4, 2.2849, -1., 2.06e-13); - fPDGCode[fNPDGCodes++]=-4122; //53 = Lambda_c- - -- Gspart(fNG3Particles++, "D_s+", 4, 1.9682, +1., 0.490e-12); // G4DsMesonPlus * booklet (July 2006): lifetime=0.500e-12 -+ Gspart(fNG3Particles++, "D_s+", 4, 1.9685, +1., 4.67e-13); - fPDGCode[fNPDGCodes++]=431; //54 = D_s+ - -- Gspart(fNG3Particles++, "D_s-", 4, 1.9682, -1., 0.490e-12); // G4DsMesonMinus * booklet: lifetime=0.500e-12 -+ Gspart(fNG3Particles++, "D_s-", 4, 1.9685, -1., 4.67e-13); - fPDGCode[fNPDGCodes++]=-431; //55 = D_s- - -- Gspart(fNG3Particles++, "Tau+", 5, 1.77699, +1., 290.6e-15); // G4TauPlus * -+ Gspart(fNG3Particles++, "Tau+", 5, 1.77705, +1., 2.9e-13); - fPDGCode[fNPDGCodes++]=-15; //56 = Tau+ - -- Gspart(fNG3Particles++, "Tau-", 5, 1.77699, -1., 290.6e-15); // G4TauMinus * -+ Gspart(fNG3Particles++, "Tau-", 5, 1.77705, -1., 2.9e-13); - fPDGCode[fNPDGCodes++]= 15; //57 = Tau- - -- Gspart(fNG3Particles++, "B0", 3, 5.2794, +0., 1.532e-12); // G4BMesonZero -+ Gspart(fNG3Particles++, "B0", 3, 5.2792, +0., 1.56e-12); - fPDGCode[fNPDGCodes++]=511; //58 = B0 - -- Gspart(fNG3Particles++, "B0 bar", 3, 5.2794, -0., 1.532e-12); // G4AntiBMesonZero -+ Gspart(fNG3Particles++, "B0 bar", 3, 5.2792, -0., 1.56e-12); - fPDGCode[fNPDGCodes++]=-511; //58 = B0bar - -- Gspart(fNG3Particles++, "B+", 4, 5.2790, +1., 1.638e-12); // G4BMesonPlus * -+ Gspart(fNG3Particles++, "B+", 4, 5.2789, +1., 1.65e-12); - fPDGCode[fNPDGCodes++]=521; //60 = B+ - -- Gspart(fNG3Particles++, "B-", 4, 5.2790, -1., 1.638e-12); // G4BMesonMinus * -+ Gspart(fNG3Particles++, "B-", 4, 5.2789, -1., 1.65e-12); - fPDGCode[fNPDGCodes++]=-521; //61 = B- - -- Gspart(fNG3Particles++, "Bs", 3, 5.3675, +0., 1.466e-12); // G4BsMesonZero -+ Gspart(fNG3Particles++, "Bs", 3, 5.3693, +0., 1.54e-12); - fPDGCode[fNPDGCodes++]=531; //62 = B_s - -- Gspart(fNG3Particles++, "Bs bar", 3, 5.3675, -0., 1.466e-12); // G4AntiBsMesonZero -+ Gspart(fNG3Particles++, "Bs bar", 3, 5.3693, -0., 1.54e-12); - fPDGCode[fNPDGCodes++]=-531; //63 = B_s bar - - Gspart(fNG3Particles++, "Lambda_b", 3, 5.624, +0., 1.24e-12); -@@ -1631,7 +1626,7 @@ - Gspart(fNG3Particles++, "Lambda_b bar", 3, 5.624, -0., 1.24e-12); - fPDGCode[fNPDGCodes++]=-5122; //65 = Lambda_b bar - -- Gspart(fNG3Particles++, "J/Psi", 3, 3.096916, 0., 7.6e-21); // G4JPsi -+ Gspart(fNG3Particles++, "J/Psi", 3, 3.09688, 0., 7.6e-21); - fPDGCode[fNPDGCodes++]=443; // 66 = J/Psi - - Gspart(fNG3Particles++, "Psi Prime", 3, 3.686, 0., 0.); -@@ -2008,26 +2003,6 @@ - Bool_t TGeant3::DefineParticle(Int_t pdg,const char* name,TMCParticleType type, - Double_t mass, Double_t charge, Double_t lifetime) - { --// Old function definition, now replaced with more arguments -- -- TVirtualMC::DefineParticle(pdg, name, type, mass, charge, lifetime); -- -- return false; --} -- -- --//______________________________________________________________________ --Bool_t TGeant3::DefineParticle(Int_t pdg,const char* name, TMCParticleType mcType, -- Double_t mass, Double_t charge, Double_t lifetime, -- const TString& /*pType*/, Double_t /*width*/, -- Int_t /*iSpin*/, Int_t /*iParity*/, Int_t /*iConjugation*/, -- Int_t /*iIsospin*/, Int_t /*iIsospinZ*/, Int_t /*gParity*/, -- Int_t /*lepton*/, Int_t /*baryon*/, -- Bool_t /*stable*/, Bool_t /*shortlived*/, -- const TString& /*subType*/, -- Int_t /*antiEncoding*/, Double_t /*magMoment*/, -- Double_t /*excitation*/) --{ - // - // Set a user defined particle - // Function is ignored if particle with specified pdg -@@ -2042,7 +2017,7 @@ - } - - // Check if particle type is known to Geant3 -- Int_t itrtyp = TransportMethod(mcType); -+ Int_t itrtyp = TransportMethod(type); - if (itrtyp < 0) { - Error("SetParticle", "Unknown particle transport."); - return kFALSE; -@@ -2056,7 +2031,7 @@ - if (!TDatabasePDG::Instance()->GetParticle(pdg)) - TDatabasePDG::Instance() - ->AddParticle(name, name, mass, kTRUE, 0, charge*3, -- ParticleClass(mcType).Data(), pdg); -+ ParticleClass(type).Data(), pdg); - - // Resize fPDGCode table if needed - if ( fNPDGCodes >= fPDGCode.GetSize() ) -@@ -2098,9 +2073,7 @@ - Double_t lifetime = 1.e20; - - // Call DefineParticle now -- return DefineParticle( -- pdg, name, partType, mass, charge, lifetime, -- "nucleus", 0.0, 1, 1, 0, 1, 1, 0, 0, 1, kTRUE); -+ return DefineParticle(pdg, name, partType, mass, charge, lifetime); - } - - //______________________________________________________________________ -@@ -2377,37 +2350,21 @@ - // - // Name of the process that has produced the secondary particles - // in the current step -- -- // Modified: to make use of GCKING/KCASE variable for determining the production -- // mechanism of the secondaries. The old method was to pick the first -- // active process from the current step's list of active processes -- // that had the capability of generating secondaries. This occasionally -- // picked the wrong secondary production mechanism. -- -- if ( fGcking->ngkine <= 0 ) return kPNoProcess; -- -- // Secondaries generated, determine production mechanism hollerith -- std::string casestr((const char*)(&(fGcking->kcase))); -- casestr.resize(4); -- -- int imech = 0; -- for (Int_t km = 0; km < MAXMEC; ++km) { -- std::string namestr((const char*)(&(fGctrak->namec[km]))); -- namestr.resize(4); -- if ( casestr == namestr ) { -- imech = km; -- break; -- } -- } -- -- TMCProcess vmcmech = G3toVMC(imech+1); -- if ( vmcmech == kPNoProcess ) { -- // failure to find matching process -- printf( -- "* TGeant3::ProdProcess secondaries present,but no matching process!* \n"); -- } -- -- return vmcmech; -+ // -+ const TMCProcess kIpProc[13] = { kPDecay, kPPair, kPCompton, -+ kPPhotoelectric, kPBrem, kPDeltaRay, -+ kPAnnihilation, kPHadronic, -+ kPMuonNuclear, kPPhotoFission, -+ kPRayleigh, kPCerenkov, kPSynchrotron}; -+ Int_t km, im; -+ // -+ if(fGcking->ngkine>0) -+ for (km = 0; km < fGctrak->nmec; ++km) -+ for (im = 0; im < 13; ++im) -+ if (G3toVMC(fGctrak->lmec[km]) == kIpProc[im]) -+ return kIpProc[im]; -+ // -+ return kPNoProcess; - } - - //______________________________________________________________________ -@@ -2418,14 +2375,6 @@ - // - Int_t i; - Int_t nproc=Gctrak()->nmec; -- -- // Set no active process if there are no processes -- if (nproc==0) { -- proc.Set(1); -- proc[0] = kPNull; -- return 1; -- } -- - // - proc.Set(nproc); - Int_t nvproc=0; -@@ -2446,10 +2395,10 @@ - // - - const TMCProcess kPG2MC1[30] = { -- kPTransportation, kPMultipleScattering, kPEnergyLoss, kPMagneticFieldL, kPDecay, -+ kPNoProcess, kPMultipleScattering, kPEnergyLoss, kPMagneticFieldL, kPDecay, - kPPair, kPCompton, kPPhotoelectric, kPBrem, kPDeltaRay, -- kPAnnihilation, kPHadronic, kPHCElastic, kPEvaporation, kPNuclearFission, -- kPNuclearAbsorption, kPPbarAnnihilation, kPNCapture, kPHIElastic, -+ kPAnnihilation, kPHadronic, kPNoProcess, kPEvaporation, kPNuclearFission, -+ kPNuclearAbsorption, kPPbarAnnihilation, kPNCapture, kPHElastic, - kPHInhelastic, kPMuonNuclear, kPTOFlimit, kPPhotoFission, kPNoProcess, - kPRayleigh, kPNoProcess, kPNoProcess, kPNoProcess, kPNull, kPStop}; - -@@ -2458,7 +2407,7 @@ - kPLightReflection, kPLightRefraction, kPSynchrotron, kPNoProcess}; - - TMCProcess proc=kPNoProcess; -- if(0= 328192 - //______________________________________________________________________ - void TGeant3::DefineOpSurface(const char* /*name*/, - EMCOpSurfaceModel /*model*/, EMCOpSurfaceType /*surfaceType*/, -@@ -3516,7 +3465,7 @@ - Warning("DefineOpSurface", - "Not applicable in Geant3 - setting is ignored."); - } -- -+#endif - //______________________________________________________________________ - void TGeant3::SetBorderSurface(const char* /*name*/, - const char* /*vol1Name*/, int /*vol1CopyNo*/, -@@ -5001,22 +4950,6 @@ - fGcmore->cleng[2] = clen[2]; - } - --void TGeant3::GetClose(Float_t *p1,Float_t *p2,Float_t *p3,Float_t *len) --{ -- p1[0] = fGcmore->p1[0]; -- p1[1] = fGcmore->p1[1]; -- p1[2] = fGcmore->p1[2]; -- p2[0] = fGcmore->p2[0]; -- p2[1] = fGcmore->p2[1]; -- p2[2] = fGcmore->p2[2]; -- p3[0] = fGcmore->p3[0]; -- p3[1] = fGcmore->p3[1]; -- p3[2] = fGcmore->p3[2]; -- len[0] = fGcmore->cleng[0]; -- len[1] = fGcmore->cleng[1]; -- len[2] = fGcmore->cleng[2]; --} -- - //______________________________________________________________________ - void TGeant3::SetDCAY(Int_t par) - { -@@ -5274,59 +5207,6 @@ - mzdrop(fGcbank->ixcons,jpa2,PASSCHARD(" ") PASSCHARL(" ")); - } - } --//______________________________________________________________________ --Bool_t TGeant3::SetDecayMode(Int_t pdg, Float_t bratio[6], Int_t mode[6][3]) --{ -- // -- // Set user decay modes by calling Gsdk -- // -- if ( pdg == 0 ) { -- printf("Cannot define decay mode for particle with PDG=0"); -- return false; -- } -- -- if ( IdFromPDG(pdg) < 0 ) { -- printf("Particle %d not in geant\n",pdg); -- return false; -- } -- -- Int_t g3mode[6]; -- Int_t id1,id2,id3; -- for (Int_t k1=0; k1<6; k1++) g3mode[k1]=0; -- for (Int_t k=0; k<6; k++) { -- -- if(mode[k][0]!=0) { -- id1= IdFromPDG(mode[k][0]); -- if ( id1 < 0 ) { -- printf("Particle %d not in geant\n",mode[k][0]); -- return false; -- } -- } -- else id1=0; -- -- if(mode[k][1]!=0) { -- id2= IdFromPDG(mode[k][1]); -- if ( id2 < 0 ) { -- printf("Particle %d not in geant\n",mode[k][1]); -- return false; -- } -- } -- else id2=0; -- -- if(mode[k][2]!=0) { -- id3= IdFromPDG(mode[k][2]); -- if ( id3 < 0 ) { -- printf("Particle %d not in geant\n",mode[k][1]); -- return false; -- } -- } -- else id3=0; -- g3mode[k]=id1 + id2* 100+ id3 * 10000 ; -- -- } -- Gsdk(IdFromPDG(pdg), bratio, g3mode); -- return kTRUE; --} - - //______________________________________________________________________ - void TGeant3::Vname(const char *name, char *vname) -@@ -6199,7 +6079,6 @@ - - DefineParticles(); - fApplication->AddParticles(); -- fApplication->AddIons(); - fApplication->ConstructGeometry(); - FinishGeometry(); - #if ROOT_VERSION_CODE >= ROOT_VERSION(5,01,1) -Only in ./TGeant3: TGeant3.cxx~ -Only in ./TGeant3: TGeant3.cxx.HOLD.072607 -Only in ./TGeant3: TGeant3.cxx.HOLD.091905 -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3f77.cxx ./TGeant3/TGeant3f77.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3f77.cxx 2007-11-19 11:08:06.445972290 -0500 -+++ ./TGeant3/TGeant3f77.cxx 2005-10-27 20:35:51.467971882 -0400 -@@ -459,14 +459,14 @@ - void gftmed(Int_t &numed, char *name, Int_t &nmat, Int_t &isvol, - Int_t &ifield, Float_t &fieldm, Float_t &tmaxfd, - Float_t &stemax, Float_t &deemax, Float_t &epsil, -- Float_t &stmin, Float_t * /*ubuf*/, Int_t * /*nbuf*/, const Int_t lname) -+ Float_t &stmin, Float_t * ubuf, Int_t * nbuf, const Int_t lname) - { - // - // Return parameters for tracking medium NUMED - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gftmed(numed, vname, nmat, isvol, ifield, fieldm, tmaxfd, stemax, -- deemax, epsil, stmin); -+ deemax, epsil, stmin, ubuf, nbuf); - } - - -@@ -491,7 +491,7 @@ - - //_____________________________________________________________________________ - void gsmate(Int_t &imat, const char *name, Float_t &a, Float_t &z, -- Float_t &dens, Float_t &radl, Float_t &absl, Float_t */*ubuf*/, Int_t &/*nbuf*/, const Int_t lname) -+ Float_t &dens, Float_t &radl, Float_t &absl, Float_t *ubuf, Int_t &nbuf, const Int_t lname) - { - // - // Defines a Material -@@ -536,7 +536,7 @@ - - //_____________________________________________________________________________ - void gspart(Int_t &ipart, const char *name, Int_t &itrtyp, -- Float_t &amass, Float_t &charge, Float_t &tlife, Float_t * /*ubuf*/, Int_t & /*nbuf*/, const Int_t lname) -+ Float_t &amass, Float_t &charge, Float_t &tlife, Float_t *ubuf, Int_t &nbuf, const Int_t lname) - { - // - // Store particle parameters -@@ -557,7 +557,7 @@ - void gstmed(Int_t &numed, const char *name, Int_t &nmat, Int_t &isvol, - Int_t &ifield, Float_t &fieldm, Float_t &tmaxfd, - Float_t &stemax, Float_t &deemax, Float_t &epsil, -- Float_t &stmin, Float_t * /*ubuf*/, Int_t & /*nbuf*/, const Int_t lname) -+ Float_t &stmin, Float_t *ubuf, Int_t &nbuf, const Int_t lname) - { - // - // NTMED Tracking medium number -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3f77.h ./TGeant3/TGeant3f77.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3f77.h 2007-11-19 11:08:06.730387948 -0500 -+++ ./TGeant3/TGeant3f77.h 2005-10-27 12:03:22.670764032 -0400 -@@ -1,6 +1,6 @@ - #ifndef ROOT_TGeant3f77 - #define ROOT_TGeant3f77 --/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - //////////////////////////////////////////////////// - // C++/f77 interface to Geant3 basic routines // -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3gu.cxx ./TGeant3/TGeant3gu.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3gu.cxx 2007-11-19 11:08:06.687763717 -0500 -+++ ./TGeant3/TGeant3gu.cxx 2006-12-20 19:12:13.857316660 -0500 -@@ -1,4 +1,4 @@ --#include -+#include "iostream.h" - #include "TGeant3.h" - #include "TCallf77.h" - #include "TLorentzVector.h" -Only in ./TGeant3: TGeant3gu.cxx.HOLD.091905 -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3.h ./TGeant3/TGeant3.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3.h 2007-11-19 11:08:06.355244986 -0500 -+++ ./TGeant3/TGeant3.h 2007-07-26 12:50:32.285517544 -0400 -@@ -3,7 +3,7 @@ - /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - --/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - //////////////////////////////////////////////// - // C++ interface to Geant3 basic routines // -@@ -657,20 +657,8 @@ - Bool_t SetProcess(const char* flagName, Int_t flagValue); - const char *GetPath(); - const char *GetNodeName(); -- Bool_t DefineParticle(Int_t pdg, const char* name, -- TMCParticleType mcType, -+ Bool_t DefineParticle(Int_t pdg, const char* name, TMCParticleType type, - Double_t mass, Double_t charge, Double_t lifetime); -- Bool_t DefineParticle(Int_t pdg, const char* name, -- TMCParticleType mcType, -- Double_t mass, Double_t charge, Double_t lifetime, -- const TString& /*pType*/, Double_t /*width*/, -- Int_t /*iSpin*/, Int_t /*iParity*/, Int_t /*iConjugation*/, -- Int_t /*iIsospin*/, Int_t /*iIsospinZ*/, Int_t /*gParity*/, -- Int_t /*lepton*/, Int_t /*baryon*/, -- Bool_t /*stable*/, Bool_t /*shortlived*/ = kFALSE, -- const TString& /*subType*/ = "", -- Int_t /*antiEncoding*/ = 0, Double_t /*magMoment*/ = 0.0, -- Double_t /*excitation*/ = 0.0); - Bool_t DefineIon(const char* name, Int_t Z, Int_t A, Int_t Q, - Double_t excEnergy, Double_t mass); - virtual TString ParticleName(Int_t pdg) const; -@@ -716,9 +704,11 @@ - // Returns the Transformation maxtrix between the volume specified by - // the path volumePath and the Top or master volume. - Bool_t GetTransformation(const TString &volumePath,TGeoHMatrix &mat); -+#if ROOT_VERSION_CODE >= 328192 - // Returns the name of the shape and its parameters for the volume - // specified by the volumePath and the Top or master volume. - Bool_t GetShape(const TString &volumePath,TString &shapeType,TArrayD &par); -+#endif - // Returns the material parameters for the volume specified by - // the volume name. - Bool_t GetMaterial(const TString &volumeName, -@@ -989,7 +979,6 @@ - virtual void SetClose(Int_t iclose,Float_t *pf,Float_t dstrt, - Float_t *w1,Float_t *w2, - Float_t *p1,Float_t *p2,Float_t *p3,Float_t *cl); -- virtual void GetClose(Float_t *p1,Float_t *p2,Float_t *p3, Float_t *len); - virtual void SetECut(Float_t gcalpha); - virtual void SetDCAY(Int_t par=1); - virtual void SetDEBU(Int_t emin=1, Int_t emax=999, Int_t emod=1); -@@ -1013,7 +1002,6 @@ - virtual void SetSWIT(Int_t sw, Int_t val=1); - virtual void SetTRIG(Int_t nevents=1); - virtual void SetUserDecay(Int_t ipart); -- virtual Bool_t SetDecayMode(Int_t pdg, Float_t bratio[6], Int_t mode[6][3]); - virtual void Vname(const char *name, char *vname); - virtual void InitLego(); - -@@ -1157,7 +1145,6 @@ - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Float_t *upar, Int_t np); - -- // particles definition - Int_t GetIonPdg(Int_t z, Int_t a, Int_t i = 0) const; - Int_t GetSpecialPdg(Int_t number) const; - -Only in ./TGeant3: TGeant3.h~ -Only in ./TGeant3: TGeant3.h.HOLD.072607 -Only in ./TGeant3: TGeant3.new.cxx~ -Only in ./TGeant3: TGeant3.new.h~ -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3TGeo.cxx ./TGeant3/TGeant3TGeo.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3TGeo.cxx 2007-12-10 11:49:56.206475396 -0500 -+++ ./TGeant3/TGeant3TGeo.cxx 2007-12-14 10:15:21.879741601 -0500 -@@ -395,8 +395,8 @@ - #include "TGeant3TGeo.h" - - #include "TGeoManager.h" --#include "TGeoMatrix.h" - #include "TGeoMCGeometry.h" -+#include "TGeoMatrix.h" - - #include "TCallf77.h" - #include "TVirtualMCDecayer.h" -@@ -2094,8 +2094,6 @@ - gGeoManager->CloseGeometry(); - } - -- if (gDebug > 0) printf("FinishGeometry, calling MisalignGeometry()\n"); -- TVirtualMCApplication::Instance()->MisalignGeometry(); - // gROOT->GetListOfBrowsables()->Add(gGeoManager); - if (gDebug > 0) printf("FinishGeometry, calling SetColors\n"); - -Only in ./TGeant3: TGeant3TGeo.cxx~ -diff -ruwB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3TGeo.h ./TGeant3/TGeant3TGeo.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3TGeo.h 2007-11-19 11:08:06.901861214 -0500 -+++ ./TGeant3/TGeant3TGeo.h 2006-12-20 19:34:59.830806035 -0500 -@@ -3,7 +3,7 @@ - /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - --/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: diff.072708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - //////////////////////////////////////////////// - // C++ interface to Geant3 basic routines // -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/: version_number diff --git a/StarVMC/geant3/doc/cmze/Versions/v3_15 b/StarVMC/geant3/doc/cmze/Versions/v3_15 deleted file mode 100644 index 924562e0d68..00000000000 --- a/StarVMC/geant3/doc/cmze/Versions/v3_15 +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: v3_15,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_15,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1 1996/03/06 15:31:17 mclareni -* Add geane321 history, CMZ and doc files -* -* -*CMZ : 29/03/94 15.41.49 by S.Giani -*-- Author : -* -*::> VERSION 3.15/01 920408 13.09 -* -* -* ************************************************************ -* * * -* * * -* * G E A N T Version 3.15 * -* * * -* * O F F I C I A L R E L E A S E * -* * * -* * CERN, Geneva, April 7, 1992 * -* * * -* * * -* * * -* ************************************************************ -* -* -*::> VERSION 3.15/00 920319 12.19 -* -* Stamping of the version 3.14/03 as 3.15/00 to prepare -* for the release. -* diff --git a/StarVMC/geant3/doc/cmze/Versions/v3_16 b/StarVMC/geant3/doc/cmze/Versions/v3_16 deleted file mode 100644 index 3147a325f8b..00000000000 --- a/StarVMC/geant3/doc/cmze/Versions/v3_16 +++ /dev/null @@ -1,31 +0,0 @@ -* -* $Id: v3_16,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_16,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1 1996/03/06 15:31:19 mclareni -* Add geane321 history, CMZ and doc files -* -* -*CMZ : 29/03/94 15.41.49 by S.Giani -*-- Author : -* -*::> VERSION 3.16/01 07/12/93 14.35.30 -* diff --git a/StarVMC/geant3/doc/cmze/Versions/v3_21 b/StarVMC/geant3/doc/cmze/Versions/v3_21 deleted file mode 100644 index 85f527a549d..00000000000 --- a/StarVMC/geant3/doc/cmze/Versions/v3_21 +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: v3_21,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_21,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1 1996/03/06 15:31:19 mclareni -* Add geane321 history, CMZ and doc files -* -* -*CMZ : 3.21/04 21/03/95 18.11.59 by S.Giani -*-- Author : -* -*::> VERSION 3.21/04 21/03/95 18.11.59 -* -* -*::> VERSION 3.21/03 17/10/94 15.23.37 -* -* -*::> VERSION 3.21/02 25/07/94 15.18.32 -* -* -*::> VERSION 3.21/01 28/03/94 16.10.10 -* -* -*::> VERSION 3.21/00 28/02/94 17.17.19 -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* C E R N * -* * -* 15/3/94 Geneva CH * -* * -********************************************************************** diff --git a/StarVMC/geant3/doc/cmzf/Versions/v3_16 b/StarVMC/geant3/doc/cmzf/Versions/v3_16 deleted file mode 100644 index 3743631de85..00000000000 --- a/StarVMC/geant3/doc/cmzf/Versions/v3_16 +++ /dev/null @@ -1,112 +0,0 @@ -* -* $Id: v3_16,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_16,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:49 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.41 by S.Giani -*-- Author : -* -*::> VERSION 3.16/00 07/12/93 14.39.16 -* -************************************************************************ -* * -* The GEANT-FLUKA interface * -* * -* Since version 3.15, GEANT includes an interface with some * -* FLUKA [1,2,3,4,5] routines. This part has been updated and * -* extended in subsequent releases. * -* * -* FLUKA is a standalone code with its own life. Only a few * -* parts have been included into GEANT, namely the ones dealing * -* with hadronic elastic and inelastic interactions. * -* * -* The implementation of FLUKA routines in GEANT does not * -* include any change, apart from interface ones and those * -* agreed by the FLUKA authors. Whenever different options are * -* available in FLUKA, the one suggested by the authors have * -* been retained. Nevertheless the results obtained with FLUKA * -* routines inside GEANT could not be representative of the * -* full FLUKA performances, since they generally depend on * -* other parts which are GEANT specific. * -* * -* The routines made available for GEANT have been extensively * -* tested and are reasonably robust. They usually do not * -* represent the latest FLUKA developments, since the policy is * -* to supply for GEANT well tested and reliable code rather * -* than very recent developments with possibly better physics * -* but also still undetected errors. * -* * -* It is important that GEANT users are aware of the conditions * -* at which this code has been kindly made available: * -* * -* o relevant authorship and references about FLUKA * -* [1,2,3,4,5] should be clearly indicated in any * -* publication reporting results obtained with this code; * -* * -* o the FLUKA authors reserve the right of publishing about * -* the physical models they developed and implemented * -* inside FLUKA, GEANT users are not supposed to extract * -* from the GEANT - FLUKA code the relevant routines * -* running them standalone for benchmarks; * -* * -* o more generally, FLUKA routines contained in the GEANF * -* file are supposed to be included and used with GEANT * -* only: any other use must be authorised by the FLUKA * -* authors. * -* * -* [1] A.Fasso, A.Ferrari, J.Ranft, P.R.Sala, G.R.Stevenson and * -* J.M.Zazula. FLUKA92. In Proceedings of the Workshop on * -* Simulating Accelerator Radiation Environments, Santa Fe, * -* USA, 11-15 January 1993. * -* * -* [2] A.Fasso, A.Ferrari, J.Ranft, P.R.Sala, G.R.Stevenson and * -* J.M.Zazula, "A Comparison of FLUKA Simulations with * -* measurements of Fluence and Dose in Calorimeter * -* Structures", Nuclear Instruments & Methods A, 332, 459 * -* (1993), (also CERN divisional report CERN/TIS-RP/93-2/PP * -* (1993)). * -* * -* [3] A.Ferrari and P.R.Sala, "A New Model for hadronic * -* interactions at intermediate energies for the FLUKA * -* code", presented at the MC93 Int. Conf. on Monte-Carlo * -* Simulation in High-Energy and Nuclear Physics, * -* Tallahassee, Florida, 22-26 february (1993), Proceedings * -* in press. * -* * -* [4] P.A.Aarnio, A.Fasso, A.Ferrari, J.-H.Moehring, J.Ranft, * -* P.R.Sala, G.R.Stevenson and J.M.Zazula, "FLUKA: hadronic * -* benchmarks and applications", presented at the MC93 Int. * -* Conf. on Monte-Carlo Simulation in High-Energy and * -* Nuclear Physics, Tallahassee, Florida, 22-26 february * -* (1993), Proceedings in press. * -* * -* [5] P.A.Aarnio, A.Fasso, A.Ferrari, J.-H.Moehring, J.Ranft, * -* P.R.Sala, G.R.Stevenson and J.M.Zazula, "Electron-photon * -* transport: always so good as we think? Experience with * -* FLUKA", presented at the MC93 Int. Conf. on Monte-Carlo * -* Simulation in High-Energy and Nuclear Physics, * -* Tallahassee, Florida, 22-26 february (1993), Proceedings * -* in press. * -* * -************************************************************************ diff --git a/StarVMC/geant3/doc/cmzf/Versions/v3_21 b/StarVMC/geant3/doc/cmzf/Versions/v3_21 deleted file mode 100644 index 1ffead2abff..00000000000 --- a/StarVMC/geant3/doc/cmzf/Versions/v3_21 +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: v3_21,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_21,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:49 cernlib -* Geant -* -* -*CMZ : 3.21/04 21/03/95 18.11.33 by S.Giani -*-- Author : -* -*::> VERSION 3.21/04 21/03/95 18.11.33 -* -* -*::> VERSION 3.21/03 17/10/94 15.26.00 -* -* -*::> VERSION 3.21/02 25/07/94 15.20.37 -* -* -*::> VERSION 3.21/01 28/03/94 16.10.10 -* -* -*::> VERSION 3.21/00 28/02/94 17.07.10 -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* C E R N * -* * -* 15/3/94 Geneva CH * -* * -********************************************************************** -* diff --git a/StarVMC/geant3/doc/cmzg/Versions/v3_12 b/StarVMC/geant3/doc/cmzg/Versions/v3_12 deleted file mode 100644 index b2ec8997bac..00000000000 --- a/StarVMC/geant3/doc/cmzg/Versions/v3_12 +++ /dev/null @@ -1,33 +0,0 @@ -* -* $Id: v3_12,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_12,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.25 by S.Giani -*-- Author : -* -*::> VERSION 3.12/18 890130 9.40 -* -* Original version 3.12 -* diff --git a/StarVMC/geant3/doc/cmzg/Versions/v3_13 b/StarVMC/geant3/doc/cmzg/Versions/v3_13 deleted file mode 100644 index 2241a272948..00000000000 --- a/StarVMC/geant3/doc/cmzg/Versions/v3_13 +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: v3_13,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_13,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.25 by S.Giani -*-- Author : -* -*::> VERSION 3.13/04 890421 10.00 -* -* Cleaning-up of GN..GNO.. routines -* SAFR1 = 0 protection in GNCONE, GNTUBE -* New SAFE computation in GNOPGO -* GMR short circuit in GDAHIT,GDARC,GDCIRC,GDCIRR,GDCIRY,GDCUT, -* GDLINE and GDRECT -* Update of documentation in DOCGGEOM -* Removal of SNXT=BIG in GNEXT -* Change of Header doc and SNXT=BIG in GNO...,GN.... routines -* Bug corrected in GNOPAR (return SNXT) -* Routine GNOPGO corrected for bug in SAFETY computation -* Routine GGCLOS moved to GEANT Pam -* -*::> VERSION 3.13/03 890317 16.23 -* -* Routine GNOPGO replaced by new code from R.Nierhaus -* New routines GNOPG1,etc -** -*::> VERSION 3.13/02 890313 10.05 -* -* SAVE statements in many routines -* Mods in GDCXYZ -* - diff --git a/StarVMC/geant3/doc/cmzg/Versions/v3_14 b/StarVMC/geant3/doc/cmzg/Versions/v3_14 deleted file mode 100644 index 210dbf82dad..00000000000 --- a/StarVMC/geant3/doc/cmzg/Versions/v3_14 +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: v3_14,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_14,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.25 by S.Giani -*-- Author : -* -*::> VERSION 3.14/16 901107 15.25 -* -* See PATCH,HISTORY in file GEANT for description -* of changes in version 3.14 -* - diff --git a/StarVMC/geant3/doc/cmzg/Versions/v3_15 b/StarVMC/geant3/doc/cmzg/Versions/v3_15 deleted file mode 100644 index 8b724bf0549..00000000000 --- a/StarVMC/geant3/doc/cmzg/Versions/v3_15 +++ /dev/null @@ -1,68 +0,0 @@ -* -* $Id: v3_15,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_15,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.25 by S.Giani -*-- Author : -* -*::> VERSION 3.15/08 920408 13.02 -* -* -* ************************************************************ -* * * -* * * -* * G E A N T Version 3.15 * -* * * -* * O F F I C I A L R E L E A S E * -* * * -* * CERN, Geneva, April 7, 1992 * -* * * -* * * -* * * -* ************************************************************ -* -* -*::> VERSION 3.15/07 920401 8.41 -* -* -*::> VERSION 3.15/06 920331 9.42 -* -* -*::> VERSION 3.15/05 920331 8.01 -* -* -*::> VERSION 3.15/04 920329 15.41 -* -* -*::> VERSION 3.15/03 920329 13.45 -* -* -*::> VERSION 3.15/02 920327 18.50 -* -* -*::> VERSION 3.15/01 920316 10.19 -* -* Prerelease stamping of 3.15 -* diff --git a/StarVMC/geant3/doc/cmzg/Versions/v3_16 b/StarVMC/geant3/doc/cmzg/Versions/v3_16 deleted file mode 100644 index 51e3f0ca204..00000000000 --- a/StarVMC/geant3/doc/cmzg/Versions/v3_16 +++ /dev/null @@ -1,31 +0,0 @@ -* -* $Id: v3_16,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_16,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.25 by S.Giani -*-- Author : -* -*::> VERSION 3.16/00 07/12/93 14.34.20 -* diff --git a/StarVMC/geant3/doc/cmzg/Versions/v3_21 b/StarVMC/geant3/doc/cmzg/Versions/v3_21 deleted file mode 100644 index c71f701b06e..00000000000 --- a/StarVMC/geant3/doc/cmzg/Versions/v3_21 +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: v3_21,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_21,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 3.21/04 21/03/95 18.08.11 by S.Giani -*-- Author : -* -*::> VERSION 3.21/04 21/03/95 18.08.11 -* -* -*::> VERSION 3.21/03 17/10/94 15.26.31 -* -* -*::> VERSION 3.21/02 25/07/94 15.23.34 -* -* -*::> VERSION 3.21/01 28/03/94 16.10.10 -* -* -*::> VERSION 3.21/00 28/02/94 16.38.21 -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* C E R N * -* * -* 15/3/94 Geneva CH * -* * -********************************************************************** -* diff --git a/StarVMC/geant3/doc/cmzh/Versions/v3_14 b/StarVMC/geant3/doc/cmzh/Versions/v3_14 deleted file mode 100644 index 868f6e1668d..00000000000 --- a/StarVMC/geant3/doc/cmzh/Versions/v3_14 +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: v3_14,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_14,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.37 by S.Giani -*-- Author : -* -*::> VERSION 3.14/16 901107 15.31 -* -* -* See PATCH,HISTORY for the description of version 3.14 -* - diff --git a/StarVMC/geant3/doc/cmzh/Versions/v3_15 b/StarVMC/geant3/doc/cmzh/Versions/v3_15 deleted file mode 100644 index 909b575ae61..00000000000 --- a/StarVMC/geant3/doc/cmzh/Versions/v3_15 +++ /dev/null @@ -1,61 +0,0 @@ -* -* $Id: v3_15,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_15,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.37 by S.Giani -*-- Author : -* -*::> VERSION 3.15/05 920408 13.06 -* -* -* ************************************************************ -* * * -* * * -* * G E A N T Version 3.15 * -* * * -* * O F F I C I A L R E L E A S E * -* * * -* * CERN, Geneva, April 7, 1992 * -* * * -* * The code contained in this file comes from the * -* * GHEISHA 8 hadron shower generator program by * -* * H.Fesefeldt RWTH Aachen. * -* * * -* ************************************************************ -* -* -*::> VERSION 3.15/04 920331 8.02 -* -* -*::> VERSION 3.15/03 920329 15.41 -* -* -*::> VERSION 3.15/02 920327 18.51 -* -* -*::> VERSION 3.15/01 920316 10.19 -* -* Prerelease stamping of 3.15 -* diff --git a/StarVMC/geant3/doc/cmzh/Versions/v3_16 b/StarVMC/geant3/doc/cmzh/Versions/v3_16 deleted file mode 100644 index 2d6b1cdd734..00000000000 --- a/StarVMC/geant3/doc/cmzh/Versions/v3_16 +++ /dev/null @@ -1,31 +0,0 @@ -* -* $Id: v3_16,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_16,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.37 by S.Giani -*-- Author : -* -*::> VERSION 3.16/00 07/12/93 14.35.06 -* diff --git a/StarVMC/geant3/doc/cmzh/Versions/v3_21 b/StarVMC/geant3/doc/cmzh/Versions/v3_21 deleted file mode 100644 index 52790b1acbb..00000000000 --- a/StarVMC/geant3/doc/cmzh/Versions/v3_21 +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: v3_21,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_21,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:50 cernlib -* Geant -* -* -*CMZ : 3.21/04 21/03/95 18.10.55 by S.Giani -*-- Author : -* -*::> VERSION 3.21/04 21/03/95 18.10.55 -* -* -*::> VERSION 3.21/03 17/10/94 15.27.01 -* -* -*::> VERSION 3.21/02 25/07/94 15.21.40 -* -* -*::> VERSION 3.21/01 28/03/94 16.10.10 -* -* -*::> VERSION 3.21/00 28/02/94 17.06.07 -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* C E R N * -* * -* 15/3/94 Geneva CH * -* * -********************************************************************** diff --git a/StarVMC/geant3/doc/cmzm/Versions/v3_16 b/StarVMC/geant3/doc/cmzm/Versions/v3_16 deleted file mode 100644 index a2db688dd90..00000000000 --- a/StarVMC/geant3/doc/cmzm/Versions/v3_16 +++ /dev/null @@ -1,31 +0,0 @@ -* -* $Id: v3_16,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_16,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:52 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.47 by S.Giani -*-- Author : -* -*::> VERSION 3.16/00 07/12/93 14.36.37 -* diff --git a/StarVMC/geant3/doc/cmzm/Versions/v3_21 b/StarVMC/geant3/doc/cmzm/Versions/v3_21 deleted file mode 100644 index 55756cb7d49..00000000000 --- a/StarVMC/geant3/doc/cmzm/Versions/v3_21 +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: v3_21,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_21,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:52 cernlib -* Geant -* -* -*CMZ : 3.21/04 21/03/95 18.11.47 by S.Giani -*-- Author : -* -*::> VERSION 3.21/04 21/03/95 18.11.47 -* -* -*::> VERSION 3.21/03 17/10/94 15.59.46 -* -* -*::> VERSION 3.21/02 25/07/94 15.19.53 -* -* -*::> VERSION 3.21/01 28/03/94 16.10.10 -* -* -*::> VERSION 3.21/00 28/02/94 17.07.47 -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* C E R N * -* * -* 15/3/94 Geneva CH * -* * -********************************************************************** diff --git a/StarVMC/geant3/doc/cmzt/Versions/v3_13 b/StarVMC/geant3/doc/cmzt/Versions/v3_13 deleted file mode 100644 index d055dd2dc1b..00000000000 --- a/StarVMC/geant3/doc/cmzt/Versions/v3_13 +++ /dev/null @@ -1,33 +0,0 @@ -* -* $Id: v3_13,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_13,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.18 by S.Giani -*-- Author : -* -*::> VERSION 3.13/05 890628 15.01 -* -* See PATCH,HISTORY for the description of version 3.14 -* diff --git a/StarVMC/geant3/doc/cmzt/Versions/v3_14 b/StarVMC/geant3/doc/cmzt/Versions/v3_14 deleted file mode 100644 index 6f0aa7ab8e5..00000000000 --- a/StarVMC/geant3/doc/cmzt/Versions/v3_14 +++ /dev/null @@ -1,34 +0,0 @@ -* -* $Id: v3_14,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_14,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.18 by S.Giani -*-- Author : -* -*::> VERSION 3.14/16 901107 15.23 -* -* See PATCH,HISTORY for the description of version 3.14 -* - diff --git a/StarVMC/geant3/doc/cmzt/Versions/v3_15 b/StarVMC/geant3/doc/cmzt/Versions/v3_15 deleted file mode 100644 index 2a22e38c68c..00000000000 --- a/StarVMC/geant3/doc/cmzt/Versions/v3_15 +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: v3_15,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_15,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.18 by S.Giani -*-- Author : -* -*::> VERSION 3.15/09 920408 13.02 -* -* -* ************************************************************ -* * * -* * * -* * G E A N T Version 3.15 * -* * * -* * O F F I C I A L R E L E A S E * -* * * -* * CERN, Geneva, April 7, 1992 * -* * * -* * * -* * * -* ************************************************************ -* -* -*::> VERSION 3.15/08 920401 8.41 -* -* -*::> VERSION 3.15/07 920331 9.42 -* -* -*::> VERSION 3.15/06 920331 8.01 -* -* -*::> VERSION 3.15/05 920329 15.41 -* -* -*::> VERSION 3.15/04 920329 13.45 -* -* -*::> VERSION 3.15/03 920327 18.49 -* -* -*::> VERSION 3.15/02 920316 12.53 -* -* -*::> VERSION 3.15/01 920316 10.18 -* -* Prerelease stamping of 3.15 -* diff --git a/StarVMC/geant3/doc/cmzt/Versions/v3_16 b/StarVMC/geant3/doc/cmzt/Versions/v3_16 deleted file mode 100644 index 6ac66021ff6..00000000000 --- a/StarVMC/geant3/doc/cmzt/Versions/v3_16 +++ /dev/null @@ -1,31 +0,0 @@ -* -* $Id: v3_16,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_16,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.18 by S.Giani -*-- Author : -* -*::> VERSION 3.16/00 07/12/93 14.33.29 -* diff --git a/StarVMC/geant3/doc/cmzt/Versions/v3_21 b/StarVMC/geant3/doc/cmzt/Versions/v3_21 deleted file mode 100644 index 938fd9509c2..00000000000 --- a/StarVMC/geant3/doc/cmzt/Versions/v3_21 +++ /dev/null @@ -1,463 +0,0 @@ -* -* $Id: v3_21,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_21,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib -* Geant -* -* -*CMZ : 3.21/04 21/03/95 17.58.14 by S.Giani -*-- Author : -* -*::> VERSION 3.21/04 21/03/95 17.58.14 -* -* -*::> VERSION 3.21/03 17/10/94 16.00.29 -* -* -*::> VERSION 3.21/02 25/07/94 15.24.16 -* -* -*::> VERSION 3.21/01 28/03/94 16.10.10 -* -* -*::> VERSION 3.21/00 28/02/94 16.32.43 -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* C E R N * -* * -* 15/3/94 Geneva CH * -* * -********************************************************************** -* -* GEANT 3.21 has a new tracking logic to speed up the search over the -* volumes positioned inside a given node (Virtual Divisions). -* The new tracking is initialized by GGCLOS in a completely -* transparent way and in a negligible amount of time. -* The GUNEAR and GSORD techniques are automatically disabled -* and no change in the user code is needed. Anyway, it is -* still possible to get the old Geant tracking recompiling -* GEANT and GEANG with the patchy flag OLD. -* To implement the new logic, the following routines have -* written or deeply modified: GTNEXT, GGCLOS, GTMEDI, GNEXT, -* GMEDIA, GINVOL, GVDCAR, GVDRAD, GVDPHI, GVDLIM, GSCVOL. -* S.Giani. -* -* GEANT 3.21 has a new logic for MANY volumes: the tracking is not -* based anymore on a step-search, but relies on a algorithm -* similar to the one used for ONLY volumes (giving then -* basically the same speed obtained for ONLY). The new logic -* of MANY allows boolean operations between volumes, clipping -* of protuding objects, divisions along arbitrary axis, -* overlaps of 1-D structures to build 2-D or 3-D structures -* (like honeycombs, spaghetti, etc.). To implement the new -* logic, the following routines have been written or modified: -* GTNEXT, GTMEDI, GNEXT, GMEDIA, GTELEC, GTCKOV, GTHADR, -* GTHION, GTMUON. -* S.Giani. -* -* GEANT 3.21 contains modifications to GTELEC, GTGAMA, GDRAY in order -* to exploit the e.m. low energy effects introduced in 3.16 -* without any overhead in performance compared with 3.15. -* A bug in the delta ray productions is now fixed. -* Thanks to L.Urban. -* -* GEANT 3.21 provides a ray-tracing as a new visualization tool. The -* ray-tracing is based on the new Geant tracking and allows -* the visualization of the boolean operations results. -* The following routines have been written or modified: -* GDRACK, GDSTEP, GDNINO, GDOPT, GDRAYT, GDRAW, GDINIT, -* GTRIG, GTRIGI, GDKINE, GDLUMI, GLIGHT, GFIND, GXDRAW, -* CDF. -* S.Giani. -* -* A new GGPERP has been written to cope with almost all the shapes. -* It is now of general utility both for the Cerenkovs -* and for the ray-tracing. -* Thanks to R.Jones. -* -* A new set of routines to compute distances to surfaces has been -* introduced (GVSAFE, GVGRAD, GVPSQR, GVSIGN, GVLONG). -* Thanks to V.Perev. -* -* Important fix in GPHYSI: user words for media were overwriting -* ILABS, ISYNC and ISTRA. -* Thanks to S.Giani, S.Ravndal. -* -* GXOBJ has been improved to handle DETs as objects of a SET directory -* in the HITS class. -* Thanks to S.Giani, A.Dellacqua. -* -* GTNINO has been corrected in order to print the mechanism NEXT when -* crossing boundaries. -* Thanks to S.Giani, M.Maire. -* -* GFMFIN and GFMDIS are the new names for the 316 routines FMUFIN and -* FMDIST to avoid clashes with the program library. GFMFIN has -* also been corrected for a 316 bug affecting neutrons. -* Thanks to C.Zeitniz,K.Lassila,S.Ravndal. -* -* GINTRP and GINPCO have been corrected to handle sharp edges with no -* risk of float exception. -* Thanks to L.Gibbons. -* -* GGPERP has been corrected in reading the TRAP parameters and a systematic -* consistency of single precision or double precision variables in -* the MAX,MIN,MOD operands is provided. -* Thanks to S.Ravndal. -* -* FEREVV and FERHAV are now new from FLUKA. -* Thanks to A.Ferrari. -* -* FEREVV has been adapted to the Geant random numbers generators. -* Thanks to S.Ravndal. -* -* In GRNDMQ the option `SH' is provided to write the seeds ISEED1 and -* ISEED2 to the event header bank. -* Thanks to S.Ravndal. -* -* In GMORIN,FLINIT and GHEINI the interface messages are removed. -* Thanks to S.Ravndal. -* -* In GGDPAR now PAR(3) is correctly initialized to 1.for slices of -* a PGON. -* -* -* The seq GCNUM has been added to the deck ERTRGO in Geane. -* -* -* -* G321X and G321M are the new names for the KUIP output of the CDF. -* Thanks to S.Giani. -* -* GMORIN has been modified in order to read correctly xsneut.dat -* for MSDOS and WINNT as well. -* Thanks to V.Fine. -* -* GEAMON has been modified in order to print Real and CPU Time longer -* than 999 sec. -* Thanks to R.Brun. -* -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* Correction cradle 0.01 * -* * -* C E R N * -* * -* 29/3/94 Geneva CH * -* * -********************************************************************** -* -* GZINIT and GSCKOV have been corrected (compared with 3.16) in order -* to initialize correctly the link area for the Zebra pointers -* of the banks relative to straggling, Cerenkovs, Asho, etc. -* Four pointers were not seen by Mzlint and, moreover, the link -* area (containing pointers for straggling, etc.) was initialized -* only if using Cerenkovs. -* Thanks to M.Verzocchi and R.Brun. -* -* FERHAV in Geanf was provoking a float exception due to a negative sqrt. -* The problem was fixed thanks to a comparison with the original -* Fluka code. -* Thanks to B.Slater and S.Giani. -* -* PREPRE has been deoptimized on HP. -* Thanks to A.Kulik. -* -* In GSKINE a pointer was not saved (in the previous versions as well). -* Thanks to A.Dellacqua. -* -* In GTNEXT and GNEXT precision problems are handled more effectively. -* Thanks to P.Ward, C.Markou and S.Giani. -* -* In GTNEXT the blocking of the volume from which particles are exiting -* has been corrected. -* Thanks to P.Ward. -* -* Problems in the interactive materials, mixtures and media definition -* have been solved. (Routines GXCONT,GXGEOM). Idem for the 3D -* Dspec (routine GXDRAW). -* -* In order to handle correctly calls to Gfcoor in phi (for x=0 or y=0) -* GTMEDI, GMEDIA and GINVOL have been modified. -* Thanks to P.Ward. -* -* In the ray-tracing, GDNINO has been corrected for precision problems. -* Thanks to S.Giani. -* -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* Correction cradle 0.02 * -* * -* C E R N * -* * -* 25/7/94 Geneva CH * -* * -********************************************************************** -* -* In GTNEXT precision problems in phi have been solved. -* Thanks to A.Rosowsky and A.Givernaud. -* -* In GDRAY a missing protection for delta ray production was added. -* Thanks to L.Urban. -* -* In GINVOL the variable ingt is corrrectly reset. It was not reset in -* all the previous versions of GEANT as well. -* Thanks to R.Jones. -* -* GTCKOV, GTHADR, GTHION, GLISUR have been corrected and extended compared -* with the first implementation in 3.16 for Cerenkov tracking. -* Thanks to R.Jones. -* -* GSKPHO has been fixed for Cerenkov physics compared with the previous -* version of GEANT (3.16). -* Thanks to S.Bottai. -* -* GFTMAT had a wrong pointer to plot the muon-nucleus cross sections since -* version 3.16. Now it is fixed. -* Thanks to C.Wiebusch and S.Ravndal. -* -* GFINDS has been restored to the 3.15 functionality. -* Thanks to A.Dellacqua and S.Tonse. -* -* GFANG has been fixed for a special pathological case. -* Thanks to C.Zosi. -* -* GSROTM has been fixed for a special pathological case. -* Thanks to A.Vlassov. -* -* GDRAYT does not increment ievent anymore. -* Thanks to P.Jacobs. -* -* GLVOLU has been fixed to recompute the pointers of the geometrical tree -* even if the names and numbers were identical. -* Thanks to R.Jones, T.Noble, S.Ravndal. -* -* GVDRAD has been fixed to compute the scope of tubs. -* Thanks to K.Albiol and S.Giani. -* -* GDSPEC has been fixed to print degrees for the 3-rd parameter of sphe. -* Thanks to S.Ravndal. -* -* GVDPHI has been fixed for a special pathological case (only for volumes -* with planar surfaces). -* Thanks to M.Kaspar and S.Giani. -* -* GXCONT is changed to handle correctly the variables ievent and nevent. -* Thanks to P.Jacobs. -* -* SVGAM7 in Gheisha has now a protection against the log(0). -* Thanks to D.Heck. -* -* FEREVV and FERHAV have been updated. -* Thanks to A.Ferrari. -* -* In FLUFIN the correct mechanism is given to lmec in case of energy -* below cut-off. -* Thanks to B.Slater and S.Ravndal. -* -* In NUDISV the array anpowr is saved. -* Thanks to S.Ravndal. -* -* In GMXSEC imed is used instead of nmed. -* Thanks to K.L.Perini. -* -* -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* Correction version 0.03 = 94b release * -* * -* C E R N * -* * -* 18/10/94 Geneva CH * -* * -********************************************************************** -* -* In GDCGVW traslation problems have been fixed (graphics). -* Thanks to J.Stepanek, S.Giani. -* -* In GLTRAC nlevel is now initialized to 0 and GTNEXT has been improved -* further for handling precision problems. -* Thanks to A.Dellacqua. -* -* GDRELX and GTELEC have been corrected for energy deposition problems. -* Thanks to L.Urban. -* -* GSDVT2 has been corrected for divisions in phi. -* Thanks to V.Popov. -* -* GPVOLU and GFMOTH are now able to handle cases where copy number = 1 -* is not defined. -* Thanks to S.Giani, S.Nowak. -* -* GTREVE has been changed in order to avoid the loading of the graphics -* package if not desired. -* Thanks to S.Giani, I.Bird. -* -* GUPHAD, GUHADR and FLINIT give warnings and conditions for the use of FLUKA. -* Thanks to A.Ferrari. -* -* GVDPHI and GVDCAR have been further improved to compute the scope of pgon. -* Thanks to P.Kent. -* -* GTELEC now computes cross sections for SYNC only if there is mag. field. -* Thanks to M.Maire. -* -* GPCXYZ printing format can now handle bigger dimensions. -* Thanks to S.Ravndal. -* -* GDRMAT and GPRMAT headers are now consistent with GFTMAT. In GPLMAT `STEP' -* and `RANGE' do not belong anymore to `ALL' as physical processes. -* Thanks to M.Maire, S.Ravndal. -* -* GPHYSI is now setting dray=0 if loss=0. Labs, Sync and Stra can be switched -* interactively. Decay and Sync are now also defined in vacuum. -* Thanks to M.Maire, S.Ravndal. -* -* In GRNDMQ the ' ' and the 'G' options work now as described in the doc. -* Thanks to S.ONeale, S.Ravndal. -* -* GPART calls GSDK anyhow to give flexibility at run time (for the interactive -* version). The values relatives to the particles are now updated to -* Phys.Rev. D50 1173 1994. -* Thanks to S.Ravndal, F.H.Heinsius. -* -* In GDEXCA (Cadint) a bug from 316 is now fixed. -* Thanks to J.Vuoskosky. -* -* GBREME and GSYNC (see the new doc for the meaning of sync=0,1,2,3) have -* been improved and the two relative mechanism can happen at the same time. -* Thanks to M.Maire. -* -* -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* Correction version 0.04 = 95a release * -* * -* C E R N * -* * -* 28/3/95 Geneva CH * -* * -********************************************************************** -* -* In GTCKOV the variable RIN1 is not reset to 0 any longer. -* Thanks to A.Delpozo -* -* In GSTRAC heavy ions have now the correct itrtyp=8. -* Thanks to Yfwang -* -* In GTNEXT the variable SNXT and SNXNEW are compared with BIG1 to cure -* precision problems. -* Thanks to A.Dellacqua, P.Ward. -* -* In GPVOLU and GPVOLX the variable MOTHER is now declared as CHARACTER*4. -* Thanks to V.Tretyak -* -* In GGCLOS a test on IQUEST(11).le.0 has been changed into IQUEST(11).lt.0. -* Thanks to P.Ward -* -* In GLTRAC nlevel is reset to 0 only if GONLY(NLEVEL).EQ.0. -* Thanks to P.Ward, S.Giani -* -* In GDCGOB a bug on the unit for the angles of spheres has been fixed. -* Thanks to J.Allison -* -* GPRMAT is now protected against floating point exceptions. -* Thanks to R.Ruber -* -* GRNDMQ has been improved storing the seeds. -* Thanks to S.Ravndal. -* -* In GTNINO the time of flight is now updated. -* Thanks to S.Ravndal. -* -* In GXPHYS, GXCS, the interactive facilities have been extended. -* Thanks to M.Maire -* -* GPCXYZ has a corrected format to print. -* Thanks to S.Ravndal -* -* A GUXCS dummy routine has been created to extend the interactive use of COMIS. -* Thanks to M.Maire. -* -* GDPRTR is now able to recognize b/w Xterminals before drawing the tree. -* Thanks to S.Giani, B.Lorazo. -* -* GLVOLU has been corrected in the computation of GTRAN for the slices of -* divided volumes. -* Thanks to S.Giani. -* -* GXGEOM now allows correctly the definition of the basic shapes interactively. -* Thanks to S.Giani. -* -* GETVER and GINIT are improved to extract and print automatically the version. -* Thanks to M.Maire. -* -* GFTMAT and GPLMAT have been corrected in plotting the cross sections. -* Thanks to S.Ravndal, G.Zholobov. -* -* GLANDZ has been protected against floating point exceptions. -* Thanks to L.Urban, B.Fox. -* -* GLUDKY contains now the time of interaction (Lund). -* Thanks to S.Ravndal, C.Wiebusch. -* -* GPAIRG has been protected against undefined values for the variable X. -* Thanks to L.Urban, H.Ihssen. -* -* GINIT, GFFGO and GTELEC are modified in order to include a new data card, -* ABAN, which allows to follow the electrons down to the cuts value even -* when they are not doing physics (ABAN=0) or to propagate them up to the -* end-point with an optimized algorithm (ABAN=2). The default is ABAN=1 -* (normal 3.21 behaviour). -* Thanks to L.Urban, S.Ravndal. -* -* BRTTP has been protected in case the file flukaaf.dat is not found. -* Thanks to S.Ravndal. -* -* GMORIN has been modified and GMISET has been created in order to interface -* to the new version of Micap (from Gcalor 1.03.08) which has been introduced -* in GEANM. -* Thanks to S.Ravndal. -* -* GPRSGG and GBRSGE have been modified to assume constant cross sections -* above 100 GeV both for pair production and for bremsstrahlung. -* Thanks to G.Battistoni, L.Urban. -* -* GVDPHI has been corrected and improved for the scope computation of tubes, -* cons and polycons which are rotated and translated at the same time. -* Thanks to S.Giani, J.P.Vialle. - diff --git a/StarVMC/geant3/doc/cmzx/Versions/v3_14 b/StarVMC/geant3/doc/cmzx/Versions/v3_14 deleted file mode 100644 index f0c0aba76b9..00000000000 --- a/StarVMC/geant3/doc/cmzx/Versions/v3_14 +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: v3_14,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_14,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:52 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.32 by S.Giani -*-- Author : -* -*::> VERSION 3.14/16 901107 15.26 -* -* See PATCH,HISTORY in file GEANT for description -* of changes in version 3.14 -* - diff --git a/StarVMC/geant3/doc/cmzx/Versions/v3_15 b/StarVMC/geant3/doc/cmzx/Versions/v3_15 deleted file mode 100644 index bdbcc966498..00000000000 --- a/StarVMC/geant3/doc/cmzx/Versions/v3_15 +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: v3_15,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_15,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:52 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.32 by S.Giani -*-- Author : -* -*::> VERSION 3.15/06 920408 13.09 -* -* -* ************************************************************ -* * * -* * * -* * G E A N T Version 3.15 * -* * * -* * O F F I C I A L R E L E A S E * -* * * -* * CERN, Geneva, April 7, 1992 * -* * * -* * * -* * * -* ************************************************************ -* -* -*::> VERSION 3.15/05 920401 8.41 -* -* -*::> VERSION 3.15/04 920331 9.42 -* -* -*::> VERSION 3.15/03 920331 8.02 -* -* -*::> VERSION 3.15/02 920327 18.51 -* -* -*::> VERSION 3.15/01 920316 10.20 -* -* Prerelease stamping of 3.15 -* diff --git a/StarVMC/geant3/doc/cmzx/Versions/v3_16 b/StarVMC/geant3/doc/cmzx/Versions/v3_16 deleted file mode 100644 index ef187a8eda2..00000000000 --- a/StarVMC/geant3/doc/cmzx/Versions/v3_16 +++ /dev/null @@ -1,31 +0,0 @@ -* -* $Id: v3_16,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_16,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:52 cernlib -* Geant -* -* -*CMZ : 29/03/94 15.41.32 by S.Giani -*-- Author : -* -*::> VERSION 3.16/00 07/12/93 14.37.10 -* diff --git a/StarVMC/geant3/doc/cmzx/Versions/v3_21 b/StarVMC/geant3/doc/cmzx/Versions/v3_21 deleted file mode 100644 index 2d888f448cd..00000000000 --- a/StarVMC/geant3/doc/cmzx/Versions/v3_21 +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: v3_21,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v3_21,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:52 cernlib -* Geant -* -* -*CMZ : 3.21/04 21/03/95 18.10.03 by S.Giani -*-- Author : -* -*::> VERSION 3.21/04 21/03/95 18.10.03 -* -* -*::> VERSION 3.21/03 17/10/94 16.00.12 -* -* -*::> VERSION 3.21/02 25/07/94 15.22.26 -* -* -*::> VERSION 3.21/01 28/03/94 16.10.10 -* -* -*::> VERSION 3.21/00 28/02/94 17.04.50 -* -********************************************************************** -* * -* G E A N T 3 . 2 1 * -* * -* C E R N * -* * -* 15/3/94 Geneva CH * -* * -********************************************************************** diff --git a/StarVMC/geant3/doc/gedoc b/StarVMC/geant3/doc/gedoc deleted file mode 100644 index 62d820a12e3..00000000000 --- a/StarVMC/geant3/doc/gedoc +++ /dev/null @@ -1,739 +0,0 @@ -* -* $Id: gedoc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: gedoc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:14 fca -* AliRoot sources -* -* Revision 1.1 1996/03/06 15:31:14 mclareni -* Add geane321 history, CMZ and doc files -* -* -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - -*-- Author : - 1. Introduction - - 2. Definitions - - 3. Description of the User Routines and COMMONs - - 4. Examples of application - - 5. Interface with GEANT - - 6. Acknowledgements - - - - 1. Introduction - ============ - - The present Package allows the user to calculate the -average trajectories of particles and to calculate the -transport matrix as well as the propagated error covariance -matrix. It makes use of a set of routines worked out -by the European Muon Collaboration [1] and it is integrated -to the GEANT3 system [2] with expected applications in both -simulation and reconstruction context. - - The package is available as a PAM-file. It contains -two basic PATCHes, one with the original EMC routines, -the other with new GEANT-type tracking routines and interface -between them and the EMC routines. This second PATCH -contains those routines the user should invoke -to carry out the tracking (routines ERTRAK, EUFILL, EUFILP, EUFILV). -In addition to this a series of utilities are available for -the user (e.g. to transform the track representation from one -system to another or to carry out 5 X 5 matrix multiplication -in an optimum way). - - In Section 2 we give the definitions of the mathematical -quantities to be dealt with. In Section 3 the description of -the user routines are given. In Section 4 we illustrate the -application of the program by several examples. Finally in -Section 5 the GEANT part is described. - - Further development will concern the improvement of the -error matrix by taking into account the Landau tail in the -fluctuation of the energy loss, the bremsstrahlung and direct -pair production of the muons. - - - 2. Definitions - =========== - - 2.1 Track variables, Representations - -------------------------------- - - The particle trajectory is characterized by 5 independent -variables as a function of one parameter (e.g. the pathlength). -Among the 5 variables 1 is related to the curvature (to the absolute -value of the momentum, p), 2 are related to the direction of the -particle and the other 2 are related to the spatial location. -The most usual representation of these 5 parameters are: - - I. - - 1/p, lambda, phi, y_perp, z_perp - - -where lambda and phi are the dip and azimuthal angles related -to the momentum components in the following way: - - p_x = p cos(lambda) cos(phi) - p_y = p cos(lambda) sin(phi) - p_z = p sin(lambda) - - -y_perp and z_perp are the coordinates of the trajectory in a -local orthonormal reference frame with the x_perp axis along the -particle direction, the y_perp being parallel to the x-y plane. -This representation is usually applied in the overall reference -frame. (In the EMC code this reference frame is labelled by 'SC' -since the overall system was identified with that of the Streamer -Chamber.) - - II. - - 1/p, y', z', y, z - - -where y'=dy/dx and z'=dz/dx. This representation is particularly -useful in fixed target experiments, where the trajectory is evaluated -on successive parallel planes (which are perpendicular to the x-axis). -(In the EMC code this representation is labelled by 'SP' since a -convenient mathematical description of a trajectory being approxima- -tely parallel to the x-axis is a 'spline'.) - - III. - - 1/p, v', w', v, w - - -where v'=dv/du and w'=dw/du in an orthonormal coordinate system with -axis u, v and w. This representation is paricularly useful when the -trajectory has to be evaluated on different detector planes -in a colliding beam experiment, where the planes can take a great -variety of directions.(In the EMC code this representation is -labelled by 'SD' as System of Detection.) - - Of course, all the above representations of the trajectory -are equivalent and one can go from one representation to the -other by calculating the corresponding Jacobian. These Jacobians -are provided by the following EMC routines: - - S/R TRSCSP from I to II - S/R TRSPSC from II to I - S/R TRSCSD from I to III - S/R TRSDSC from III to I - - - - 2.2 Error Propagation - ----------------- - - - Let us denote in the following the 5 independent variables at -a given value of parameter l_0 (e.g. pathlength) by x_i(l_0), -(i=1,...,5). In many applications we are interested in the evolution -of the average value of x_i for l>l_0: E(x_i). This is calculated -by GEANT as will be outlined in Section 5. - - The knowledge on the avarage trajectory is characterized by the -5 X 5 covariance matrix of the variables: - - sigma_$ij(l_0) = E(x_i(l_0).x_j(l_0)) - E(x_i(l_0)).E(x_j(l_0)) - -We are also interested in the evolution of sigma_$ij for l>l_0, -which we call error propagation. If the particle is propagating in a -deterministic way, i.e. without any random process involved ( -e.g. in vacuum) then the propagation of sigma is simply described by -the so called transport matrix in the following way: - - sigma_$ij(l) = T_$jm(l,l_0).sigma_$mn(l_0)T_$in(l,l_0) - -where the transport matrix expresses the infinitesimal change -in the parameters at l with respect to the change of parameters -at l_0: - - T_$ij(l,l_0) = delta (x_i(l))/ delta (x_j(l_0)). - - In a realistic detector, however, the particles undergo random -processes as well, like Multiple Coulomb scattering, energy loss -due to delta ray production, etc. therefore the error propagation -should contain an additional term: - - sigma_$ij(l) = T_$jm(l,l_0).sigma_$mn(l_0).T_$in(l,l_0) + - + sigma_$ij:$random(l). - - The program calculates sigma_$ij(l) step by step using the above -recursive formula, where T_$ij and sigma_$ij:$random refers to the -actual step and sigma_$mn is the cumulative error for all previous -steps. For the mathematical formulae to calculate T_$ij for a finite -step the reader is referred to Ref [1]. - - By invoking the subroutine ERTRAK (see next Section) the user -will have access to the average trajectory, to the full error matrix -represented and in addition to this the program makes available also -the transport matrix given by which can be useful in several -applications (see Section 4.) - - - - 3. Description of the User Routines and COMMONs - ============================================ - - To run the program the user should first initialize GEANT, -(set-up the geometry and initialize the appropriate physics -processes). This procedure will be described in Section 5. -The tracking with error propagation is carried out by invoking -subr. ERTRAK. However, before calling ERTRAK the user should -provide informations to the program in two commons: -/ERTRIO/ and the pair /EROPTS/ and /EROPTC/. For this purpose -a series of user routines -are forseen (routines EUFILL, EUFILP, EUFILV), which should be -called by the user. The result of the tracking is partly -returned in the arguments of the routine ERTRAK and partly can be -accessed through the common /ERTRIO/. In the following we give -a description of the user routines (subr. ERTRAK, EUFIL,L,P,V) -and that of the commons /ERTRIO/, /EROPTS/ and /EROPTC/. - - - 3.1 User Routines - ------------- - - The output parameters are denoted by asterisk in the calling -sequence. - - SUBROUTINE ERTRAK (X1, P1, X2*, P2*, IPA, CHOPT) - ================================================ - - - Performs the tracking of the track from point X1 to - point X2 - (Before calling this routine the user should also provide - the input informations in /EROPTS/, /EROPTC/ and /ERTRIO/ - using subr. EUFIL(L/P/V) - - X1 - Starting coordinates (Cartesian) - P1 - Starting 3-momentum (Cartesian) - X2 - Final coordinates (Cartesian) - P2 - Final 3-momentum (Cartesian) - IPA - Particle code (a la GEANT) of the track - - CHOPT - 'B' 'Backward tracking' - i.e. energy loss - added to the current energy - 'E' 'Exact' calculation of errors assuming - helix (i.e. pathlength not - assumed as infinitesimal) - 'L' Tracking upto prescribed Lengths reached - 'M' 'Mixed' prediction (not yet coded) - 'O' Tracking 'Only' without calculating errors - 'P' Tracking upto prescribed Planes reached - 'V' Tracking upto prescribed Volumes reached - 'X' Tracking upto prescribed Point approached - - - SUBROUTINE EUFILL (N, EIN, XLF) - =============================== - - - User routine to fill the input values of the commons : - /EROPTS/, /EROPTC/ and /ERTRIO/ for CHOPT = 'L' - - N Number of predictions where to store results - EIN Input error matrix - XLF Defines the tracklengths which if passed the - result should be stored - - SUBROUTINE EUFILP (N, EIN, PLI, PLF) - ==================================== - - - User routine to fill the input values of the commons : - /EROPTS/, /EROPTC/ and /ERTRIO/ for CHOPT = 'P' - N Number of predictions where to store results - EIN Input error matrix (in the 'Plane' system ) - PLI Defines the start plane - PLI(3,1) - and - PLI(3,2) - 2 unit vectors in the plane - PLF Defines the end plane - PLF(3,1,I) - and - PLF(3,2,I) - 2 unit vectors in the plane - PLF(3,3,I) - point on the plane - at intermediate point I - - - SUBROUTINE EUFILV (N, EIN, CNAMV, NUMV, IOVL) - ============================================ - - - User routine to fill the input values of the commons : - /EROPTS/, /EROPTC/ and /ERTRIO/ for CHOPT = 'V' - N Number of predictions where to store results - EIN Input error matrix - CNAMV Volume name of the prediction - NUMV Volume number (if 0 = all volumes) - IOVL = 1 prediction when entering in the volume - = 2 prediction when leaving the volume - - - 2.2 User COMMONs - ------------ - - CHARACTER*8 CHOPTI - PARAMETER (MXPRED = 10) - DOUBLE PRECISION ERDTRP - LOGICAL LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU - - COMMON /EROPTS/ ERPLI(3,2), ERPLO(3,4,MXPRED), ERLENG(MXPRED), - , NAMEER(MXPRED), NUMVER(MXPRED), IOVLER(MXPRED), - , LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU - COMMON /EROPTC/CHOPTI - - COMMON /ERTRIO/ ERDTRP(5,5,MXPRED), ERRIN(15), ERROUT(15,MXPRED), - , ERTRSP(5,5,MXPRED), ERXIN( 3), ERXOUT( 3,MXPRED), - , ERPIN(3),ERPOUT(3,MXPRED),NEPRED,INLIST, ILPRED, - , IEPRED(MXPRED) - - -LEEXAC = .TRUE. if CHOPT = 'E' in ERTRAK -LELENG = .TRUE. if CHOPT = 'L' in ERTRAK -LEONLY = .TRUE. if CHOPT = 'O' in ERTRAK -LEPLAN = .TRUE. if CHOPT = 'P' in ERTRAK -LEPOIN = .TRUE. if CHOPT = 'X' in ERTRAK -LEVOLU = .TRUE. if CHOPT = 'V' in ERTRAK -IOPTER(I) = 1 if the Ith letter of the alphabet is - occuring in CHOPT in ERTRAK (else = 0) - -NEPRED Number of predictions (c.f. N in EUFILL,P,V) -ERPLI Initial plane descriptor (c.f. PLI in EUFILP) -ERPLO(,,INLIST) Final plane descriptor - first 3 vectors are identic - with PLF in EUFILP, the 4th vector is the cross-product - of the first two vectors (plane normal) -ERLENG(INLIST) Lengths to store results (c.f. XLF in EUFILL) -NAMEER(INLIST) Volume names to store results (c.f. CNAMV in EUFILV) -NUMVER(INLIST) Volume numbers to store results (c.f. NUMV in EUFILV) -IOVLER(INLIST) (c.f. IOVL in EUFILV) - -ILPRED Current number of prediction -IEPRED(ILPRED) = INLIST if the ILPREDth prediction reached (else = 0) -ERDTRP(,,ILPRED) Double precision value of the Transport Matrix - at the prediction ILPRED -ERRIN Input Error Matrix in Triangular form -ERROUT(,ILPRED) Output Error Matrix in Triangular form - at the prediction ILPRED -ERTRSP(,,ILPRED) Single precision value of the Transport Matrix - at the prediction ILPRED -ERXIN Starting coordinates (c.f. X1 in ERTRAK) -ERXOUT(,ILPRED) Output coordinates at the prediction ILPRED -ERPIN Starting momentum -ERPOUT(,ILPRED) Output momentum at the prediction ILPRED - - - - Note that ERRIN, ERROUT, ERPIN, ERPOUT, ERTRSP and ERDTSP are -given by the program in the representation which is requested by -CHOPT in subr. ERTRAK. (E.g. if CHOPT='P', all the above quantites -are given in the representation III.) - - - - 4. Examples of Application - ======================= - - - 4.1 The simplest case: Representing the trajectory at another point - --------------------------------------------------------------- - - Usually the particle trajectory is not measured at the point of -production where its physical parameters are of interest. Therefore -the measurement has to be extrapolated back close to the origin. This -can be achieved by the simple call: - - CALL ERTRAK(X1,P1,X2,P2,IT,CHOPT). - -Since this extrapolation is opposite to the particle direction, -CHOPT should contain the letter 'B'. If the tracking should be -stopped on a prescribed plane, CHOPT should also contain 'P', -and before invoking ERTRAK the user should call subr. EUFILP. -This extrapolation can be carried out simultaneousely onto several -planes, in this case the 1st argument of EUFILP is greater than 1. -The result can be retrieved from the common /ERTRIO/ as described -in Section 3. - - 4.2 Joining track elements in different parts of the detector - --------------------------------------------------------- - - It happens frequently that one measures a part of a trajectory -in a downstream detector and would like to join this information -to another one obtained in a detector close to the interaction -point. Since there are usually several trajectories which could be -a priori joined the first task is to find the one which matches -the best. The next task is to improve the trajectory parameters. - - One chooses a plane near to the interaction point and extrapolates -onto this plane all candidate trajectories as described in the -preceeding section. For the i-th trajectory one obtains an -avarage value x_i and a covariance: sigma_i. (In this discussion -the indices will represent the trajectory numbers.) Next one -extrapolates back the trajectory from the downstream detector -to the same plane and obtains x_d and sigma_d. One can then construct -a chi:2 for each track i: - - chi:2_i = (x_i-x_d)(sigma_i+sigma_d):$-1(x_i-x_d) - - The matching condition can be defined as: - - chi:2_i.leq.chi:2_0, - -where chi:2_0 is some prescribed value. - - Having chosen trajectory i for the matching the improved track -parameters can be obtained by minimizing - - chi:2 = (x-x_d).sigma_d:$-1.(x-x_d)+(x-x_i).sigma_i:$-1.(x-x_i) - -w.r.t. x resulting in: - - x_$impr = (sigma_d:$-1+sigma_i:$-1):$-1. - (sigma_d:$-1.x_d+sigma_i:$-1.x_i) - -The covariance of x_$impr - - sigma_$impr = (sigma_d:$-1+sigma_i:$-1):$-1 - -shows explicitely the improvement of the trajectory parameters. - - This procedure can be easily generalized to join more than 2 -measurements on the particle trajectory. If e.g. between the two -above planes there is another detection plane, one can first -merge the informations of the downstream and intermediate -plane and continue the backtracking from the intermediate -plane to the plane close to the interaction point with the -improved trajectory parameters. - - The procedure can be used in principle also if not all -the five parameters are measured (e.g. if only the -coordinate informations are available). In this case one -starts the back-tracking with some initial values of the -unmeasured parameters and assigns an error to these -parameters which is much larger than the difference between -the true and the initial value. The user is however has to -ensure that the result is stable against the choice of -the starting value of parameters and errors (e.g. by performing -several iterations). These problems can be overcome -by a fitting procedure which is described in Section 4.4. - - 4.3 Prediction of the trajectory - ---------------------------- - - It is often needed to predict the particle trajectory in a -detector plane at a certain confidence level in order to -perform pattern recognition. An example is to find hits from -a penetrating particle inside a segmented calorimeter when the -particle trajectory is well measured at the two extrems of the -calorimeter. - - In the case of 1 intermediate plane inside the calorimeter -the solution can be obtained by combining the methods outlined -in the previous two sections. One extrapolates the measured track -parameters from the two endplanes of the calorimeter onto the plane -set up inside the calorimeter (Section 3.1) and one joins the two - informations on that plane (Section 3.2). This procedure of course -can be carried out on any number of intermediate planes. However, -if there is a large number of planes, it is advantageous to carry -out the tracking in one direction and in one go, for which case a -method is outlined below. - - Let's start the tracking from one end of the calorimeter -and denote by x_i and by x_e the average track parameters on the -intermediate plane i and on the other end-plane e, respectively. - Let's denote the true track parameters on the same planes by x -and by y, respectively. The corresponding chi:2, which we should -minimize w.r.t. x is: - - chi:2 = (x-x_i).sigma_i:$-1.(x-x_i) + - + (y(x)-x_m).sigma_$em:$-1.(y(x)-x_m) - -where x_m is the measured trajectory at the end-plane with -covariance matrix sigma_m, sigma_i is the propagated error -matrix from the starting plane to plane i and - - sigma_$em = sigma_m + sigma_$ei - -where sigma_$ei is the propagated error from plane i to plane e -(n o t including the error on plane i itself). - - The minimization results in the following equation: - - sigma_i:$-1.(x-x_i) + dy/dx.sigma_$em:$-1.(y(x)-x_m) = 0, - -which we solve by linearization: - - x = x_i + Delta x - - y = y(x_i)+dy(x_i)/dx.Delta x = x_e+T(e,i).Delta x. - - The result is: - - Delta x = sigma_x.T:T(e,i).sigma_$em:$-1.(x_m-x_e) - -where: - - sigma_x = (sigma_i:$-1+T:T(e,i).sigma_$em:$-1.T(e,i)):$-1 - -is the covariance matrix of the trajectory prediction at the -plane i (T:T means the transpose of T). - - The following glossary gives the correspondance between the -mathematical quantities used in the above equations and the -varibales in the user common /ERTRIO/: - -x_i ERXOUT(,I), ERPOUT(,I) (I standing for prediction i) -x_ ERXOUT(,IE), ERPOUT(,IE) (IE standing for prediction e) -sigma_i ERROUT(,I) -T(e,i) T(e,1).T:$-1(i,1) -T(e,1) ERTRSP(,,IE) -T(i,1) ERTRSP(,,I) -sigma_$ei sigma_e-T(e,i).sigma_iT(e,i) -sigma_e ERROUT(,IE) - - - - - 4.4 Fitting trajectory parameters - ----------------------------- - - - In the above examples all of the 5 variables of the trajectory -have been known at least in one space point. However, in most of the -cases direct mesurements yield only the coordinate informations, from -which one should reconstruct the curvature and the direction. The -following example shows how to use the program package for this pur- -pose. This tool can be applied in the most general case: in inhomoge- -neous magnetic field and even if the particle passes through a great -amount of material. - - Suppose we would like to reconstruct the particle trajectory -x_0 at plane 0 by measuring the coordinate informations x_i:m -at N different detector planes (i=1,...,N). If in the formation -of the trajectory random processes can be neglected, then -the average trajectory can be obtained by -minimizing the following chi:2 w.r.t. x_0: - - chi:2 = Sum_$i=1:N[(x_i(x_0)-x_i:m).sigma_i:m:$-1.(x_i(x_0)-x_i:m)] - -where x_i are the true track parameters at plane i, and sigma_i:m is -the 2 X 2 covariance matrix of the measurement on plane i. This results -in the following equation: - - Sum_$i=1:NT:T(i,0).sigma_i:m:$-1.(x_i(x_0)-x_i:m) = 0 - -where T(i,0) is the transport matrix between plane 0 and plane i. -This equation is again solved by linearization. In the first -approximation we calculate the trial trajectory x_i:t on plane i -starting with a value x_0:t. The true value is then obtained by: - - x_0 = x_0:t + Delta x_0 -with - -Delta x_0 = sigma_$x_0.Sum_$i=1:NT:T(i,0).sigma_i:m:$-1.(x_i:m-x_i:t), - -where the covariance matrix of x_0 is given by: - - sigma_$x_0 = Sum_$i=1:NT:T(i,0).sigma_i:m:$-1.T(i,0)]:$-1. - - If in the formation of the particle trajectory random processes, -like multiple Coulomb scattering, cannot be neglected then obviousely -there are correlations in the error matrix between different planes -and therefore the above chi:2 should be written as - - chi:2 = (x(x_0)-x:m).sigma:$-1.(x(x_0)-x:m) - -where x is a vector of length 2 X N containing the coordinate values -(xi,eta) of the average trajectory plane by plane: - - (xi_1,eta_1,xi_2,eta_2,...,xi_N,eta_N), - -x:m is the corresponding vector of the measured coordinates. -sigma is a 2N X 2N matrix, whose 2 X 2 diagonal submatrices can be -written as - - sigma_$ii = sigma_i:m + sigma(2)_i:r - -where sigma(2)_i:r is the 2 X 2 part of the covariance matrix sigma_i:r -due to random processes. The off-diagonal 2 X 2 matrices give the the -correlations between planes: - - sigma_$ij = T(j,i).sigma_i:r (i GUFLD - | ----> TRSCSD - | ----> TRSDSC - | ----> ERBCER - | ----> GEKBIN - | ----> ERPINI ----> TRPROP - | ----> ERTRGO - ====== - | - | ----> GMEDIA - | ----> GUFLD - | ----> EVOLIO - | ----> ERSTOR - | ====== - | | - | | ----> ERBCER - | | ----> ERBCTR - | | ----> TRSCSD - | | ----> DMMSS - | - | - | ----> ERTRCH -| ----> GTNEXT - | ====== | - | ----> ERTRNT -| ----> GUSWIM ----> GUFLD - | ====== | ----> GINVOL - | | ----> ERLAND - | | ----> GEKBIN - | | ----> ERPROP - | | ====== - | ----> EUSTEP | | - | ----> EVOLIO | | ----> GUFLD - l | | ----> TRPROP - l ----> GTMEDI | | ----> TRPRFN - | | ----> SSMTST - | | ----> ERMCSC - | - | ----> ERSTOR - ====== - - - - 6. Acknowledgements - ================ - - The authors of the present interface benefitted numerous critical -remarks and useful suggestions from the authors of the GEANT3 Package, -especially from F. Bruyant (CERN), which are greatly acknowledged here. - - Complaints and suggest must be sent to one of the authors : - Innocent@cernvm Maire@cernvm Nagy@cernvm - - - - References: - =========== - - -[1] W.Wittek, EMC Internal Reports: EMC/80/15, EMCSW/80/39, - EMCSW/81/13, EMCSW/81/18 - A.Haas, The EMC Utility Package: UTIL42 - -[2] R.Brun, F.Bruyant, M.Maire, A.C.McPherson, P.Zanarini - DD/EE/84-1, May 1986 - - - - diff --git a/StarVMC/geant3/doc/ghdoc/blank.doc b/StarVMC/geant3/doc/ghdoc/blank.doc deleted file mode 100644 index cbda334c055..00000000000 --- a/StarVMC/geant3/doc/ghdoc/blank.doc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: blank.doc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: blank.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:51 cernlib -* Geant -* -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C** -C** THE BLANK-COMMON IS USED FOR KINEMATIC-CALCULATIONS WITH THE -C** VECSUB-ROUTINE (2000 WORDS) AND FOR CERN-HBOOK PLOTTING -C** SYSTEM. IF THE PLOTS ARE FILLED IN THE MEMORY, DO NOT FORGET -C** A HISTGO(2000)- STATEMENT IN THE ANALYSIS-ROUTINE. -C** THE DESY-GEP-HBOOK FACILITY DOESN'T USE THE MEMORY, SO THE -C** BLANK-COMMON MUST ONLY BE INITIALISED FOR 2000 WORDS. -C** THE NORMAL FILLING OF THE PV-VECTORS IN KINEMATIC CALCULATIONS -C** ARE AS FOLLOWS: -C** PV(1,*) = PX (OR PX/P) -C** PV(2,*) = PY (OR PY/P) -C** PV(3,*) = PZ (OR PZ/P) -C** PV(4,*) = ENERGY -C** PV(5,*) = MASS (SOMETIMES NEGATIVE) -C** PV(6,*) = CHARGE -C** PV(7,*) = TIME OF FLIGHT -C** PV(8,*) = PARTICLE INDEX (SEE #MASIND) -C** PV(9,*) = 0. -C** PV(10,*)= USERWORD -C** diff --git a/StarVMC/geant3/doc/ghdoc/consts.doc b/StarVMC/geant3/doc/ghdoc/consts.doc deleted file mode 100644 index de1b0a82d5e..00000000000 --- a/StarVMC/geant3/doc/ghdoc/consts.doc +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: consts.doc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: consts.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:51 cernlib -* Geant -* -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C** -C** IN THE /CONSTS-COMMON ARE SOME PARTICLE CONSTANTS -C** -C** PI 3.1425927 -C** TWPI 2*PI -C** PIBTW PI/2. -C** MP MASS OF PROTON -C** MPI PION -C** MMU MUON -C** MEL ELECTRON -C** MKCH CHARGED KAON -C** MK0 NEUTRAL KAON -C** SMP SQRT(MP) -C** SMPI SQRT(MPI) -C** SMU SQRT(MMU) -C** CT CT OF PIONS -C** CTKCH CHARGED KAON -C** CTK0 NEUTRAL KAON -C** ML0 MASS OF LAMBDA -C** MSP SIGMA+ -C** MS0 SIGMA0 -C** MSM SIGMA- -C** MX0 CHI0 -C** MXM CHI- -C** CTL0 CT OF LAMBDA -C** CTSP SIGMA+ -C** CTS0 SIGMA0 -C** CTSM SIGMA- -C** CTX0 CHI0 -C** CTXM CHI- -C** diff --git a/StarVMC/geant3/doc/ghdoc/curpar.doc b/StarVMC/geant3/doc/ghdoc/curpar.doc deleted file mode 100644 index 954b0479fcc..00000000000 --- a/StarVMC/geant3/doc/ghdoc/curpar.doc +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: curpar.doc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: curpar.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:51 cernlib -* Geant -* -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C** WEIGHT(1) | WEIGHTS FROM THE GENERATOR INPUT. -C** . | NOT USED IN THE PROGRAM. -C** . | TAKEN FROM INPUT-ROUTINES, DEFAULT-VALUES=1. -C** . | THE TOTAL WEIGHT IS CALCULATED AS SUM(WEIGHT(I)) -C** WEIGHT(10) | -C** -C** DDELTN STEPSIZE AS CALCULATED BY STEPPING ROUTINE ALEX. -C** DELTN IN RESULT-COMMON IS INITIALLY THE SAME, BUT -C** MAY BE CHANGED DURING THE STEP (INTERACTION,DECAY). -C** IFILE NUMBER OF INPUT-ROUTINE TO BE CALLED (=0,1,...9) -C** (FROM INIT) -C** IRUN RUN-NUMBER (FROM INIT, NOT USED IN PROGRAM) -C** NEVT EVENT-NUMBER -C** NEVENT TOTAL NUMBER OF EVENTS TO BE PROCESSED(FROM INIT) -C** SHFLAG FLAG FOR ELECTROMAGNETIC SHOWERS(FROM INIT) -C** = 0 EGS -C** > 0 GHEISHA ELECTROMAGNETIC SHOWER ROUTINES -C** WITH ONE-DIMENSIONAL PARAMETRIZATIONS BELOW -C** THE CUT-OFF ENERGY CENG(1) -C** (DO NOT USE THEM WITHOUT CAREFUL CHECKS) -C** ITHST THE RUN SHOULD STOP ITHST SECONDS BEFORE END OF -C** GO-STEP (FROM CUTS) -C** ITTOT TOTAL TIME FOR GO-STEP -C** ITLST REMAINING TIME FOR GO-STEP -C** IFRND COUNTER FOR USED LOCATIONS IN STACK -C** TOFCUT TIMING-CUT (IN 1/20. NSEC) (FROM CUTS) -C** CMOM(1) | MOMENTUM CUTS FOR VARIOUS THINKS, -C** CMOM(2) | DO NOT CHANGE THEM !!!!! -C** CMOM(3) | -C** CMOM(4) | -C** CMOM(5) | -C** CENG(1) ENERGY CUT-OFF FOR ELECTROMAGNETIC PARTICLES(CUTS) -C** BELOW THIS ENERGY PARAMETRIZATIONS ARE USED. -C** CENG(2) ENERGY CUT-OFF FOR MUON-BREMSSTRAHLUNG. -C** THESE TWO NUMBERS HAVE BEEN CAREFUL ADJUSTED ACCORDIN -C** G TO THE DEDX-FORMULA USED IN THE GHEISHA-ELECTRO- -C** MAGNETIC SHOWER TREATMENT. THUS DO NOT CHANGE THEM -C** WITHOUT THINKING ABOUT THE CONSEQUENCES. -C** CENG(3) ENERGY CUT-OFF FOR CHARGED HADRONS(FROM CUTS) -C** CENG(4) ENERGY CUT-OFF FOR NEUTRAL HADRONS(FROM CUTS) -C** CENG(5) ENERGY CUT-OFF FOR DELTA-RAYS, BELOW THIS ENERGY -C** DELTA-ELECTRONS ARE ONLY TRACKED, ABOVE THIS ENERGY -C** THEY ARE STORED ON THE STACK AND TREATED WITH -C** THE RESPECTIVE SHOWER ROUTINES (GHEISHA OR EGS). -C** THE FOLLOWING QUANTITIES ARE USED IN NUCLEAR CASCADE-ROUTINES -C** -C** RS CENTER OF MASS ENERGY -C** S (CENTER OF MASS ENERGY)**2 -C** NP | -C** NM |OTHER QUANTITIES USED INTERNALLY IN -C** NN |CASCADE-ROUTINES -C** NR | -C** NO | -C** NZ | -C** IPA(1)-IPA(200)| -C** ATNO2 ACTUAL ATOMIC NUMBER OF NUCLEUS(FOR COMPOUNDS) -C** ZNO2 ACTUAL CHARGE NUMBER OF NUCLEUS(FOR COMPOUNDS) -C** diff --git a/StarVMC/geant3/doc/ghdoc/errcom.doc b/StarVMC/geant3/doc/ghdoc/errcom.doc deleted file mode 100644 index 6b063793639..00000000000 --- a/StarVMC/geant3/doc/ghdoc/errcom.doc +++ /dev/null @@ -1,109 +0,0 @@ -* -* $Id: errcom.doc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: errcom.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:51 cernlib -* Geant -* -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C** -C** THE COMMON /ERRCOM CONTAINS FLAGS AND COUNTERS FOR VARIOUS -C** PURPOSES: -C** -C** IER(1) ALEX: NUMBER OF TRACKS LEAVING DETECTOR -C** IER(2) ALEX: STEPPING ERRORS -C** IER(3) ALEX: -C** IER(4) ALEX: -C** IER(5) FINDCE: SUCCESSFUL CALLS -C** IER(6) NEXCEL: TOTAL CALLS -C** IER(7) NEXCEL: NEXT CELL FOUND -C** IER(8) NEXCEL: PREVIOUS CELL FOUND -C** IER(9) NEXCEL: FIRST CELL OF NEXT CALORIMETER -C** IER(10) NEXCEL: LAST CELL OF PREVIOUS CALORIMETER -C** IER(11) NEXCEL: RECOVERY -C** IER(12) NEXCEL: OUTSIDE DETECTOR -C** IER(13) CALIM : NUMBER OF GARBAGE COLLECTIONS -C** IER(14) TRACK : DEDX > AVAILABLE ENERGY -C** IER(15) MFSTP : NO SETTING OF M.F. PARAMETERS -C** IER(16) MFSTQ : NO SETTING OF M.F. PARAMETERS -C** IER(17) SELECT: TRACKS SKIPPED -C** IER(18) -C** IER(19) -C** IER(20) ASMDK : TOTAL NUMBER OF S-B DECAYS -C** IER(21) ALODK -C** IER(22) ASODK -C** IER(23) ASPDK -C** IER(24) AXMDK -C** IER(25) AXODK -C** IER(26) KCHDK -C** IER(27) KODKY -C** IER(28) KOLDKY -C** IER(29) LODKY -C** IER(30) MUDKY -C** IER(31) PIDK -C** IER(32) PIODKY -C** IER(33) SMDKY -C** IER(34) SODKY -C** IER(35) SPDKY -C** IER(36) XMDKY -C** IER(37) XODKY -C** IER(38) -C** IER(39) -C** IER(40) CASMU : TOTAL NUMBER OF MU NUCLEUS INTERACTIONS -C** IER(41) INTACT: TOTAL NUMBER OF ELASTIC HADRON NULEUS INTERACTIONS -C** IER(42) INTACT: " " QUASI-ELASTIC " " -C** IER(43) INTACT: " " INELASTIC " " -C** IER(44) -C** IER(45) -C** IER(46) COSCAT: TOTAL NUMBER OF CALLS -C** IER(47) TWOB : -C** IER(48) TWOCLU: -C** IER(49) GENXPT: -C** IER(50) STPAIR: -C** IER(51) > CASCADE-ROUTINES: TOTAL NUMBER OF CALLS -C** IER(52) > " " -C** . > -C** . > -C** . > -C** IER(80) > " " -C** IER(81) CAPTUR -C** IER(82) FISSIO -C** IER(83) IPFISS -C** IER(84) KMABS -C** IER(85) NBANH -C** IER(86) PBANH -C** IER(87) PIMABS -C** IER(88) DELRAY: DELTA-RAYS STORED ON STACK -C** IER(89) DELRAY: DELTA-RAYS NOT STORED ON STACK -C** IER(90) GBREMS -C** IER(91) GPAIR -C** IER(92) MBREMS -C** IER(93) -C** IER(94) -C** IER(95) -C** IER(96) -C** IER(97) -C** IER(98) -C** IER(99) -C** IER(100) -C** diff --git a/StarVMC/geant3/doc/ghdoc/event.doc b/StarVMC/geant3/doc/ghdoc/event.doc deleted file mode 100644 index a8b6c719b40..00000000000 --- a/StarVMC/geant3/doc/ghdoc/event.doc +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: event.doc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: event.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:51 cernlib -* Geant -* -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C** -C** THE /EVENT COMMON IS THE STACK, WHERE ALL PARTICLES PRODUCED -C** IN A SHOWER ARE STORED. ONE TRACK HAS 12 LOCATIONS . -C** -C** NSIZE = TOTAL LENGTH OF THE STACK (TO BE SET IN BLOCK-DATA) -C** NCUR = POINTER TO THE TRACK WHICH SHOULD BE COPIED NEXT FROM -C** THE STACK TO THE RESULT-COMMON. -C** NEXT = POINTER TO THE LOCATION WHERE THE NEXT PRODUCED TRACK -C** SHOULD BE STORED. -C** NTOT = TOTAL NUMBER OF TRACKS CURRENTLY STORED. -C** -C** THE TRACK NEXT TO BE COPIED FROM THE STACK THEN LOOKS LIKE -C** -C** EVENT(NCUR ) = X -C** EVENT(NCUR+ 1) = Y -C** EVENT(NCUR+ 2) = Z -C** EVENT(NCUR+ 3) = RCA -C** EVENT(NCUR+ 4) = RCE -C** EVENT(NCUR+ 5) = MASS -C** EVENT(NCUR+ 6) = CHARGE -C** EVENT(NCUR+ 7) = TOF -C** EVENT(NCUR+ 8) = PX -C** EVENT(NCUR+ 9) = PY -C** EVENT(NCUR+10) = PZ -C** EVENT(NCUR+11) = USERW -C** -C** diff --git a/StarVMC/geant3/doc/ghdoc/masind.doc b/StarVMC/geant3/doc/ghdoc/masind.doc deleted file mode 100644 index 08dcdf9e681..00000000000 --- a/StarVMC/geant3/doc/ghdoc/masind.doc +++ /dev/null @@ -1,65 +0,0 @@ -* -* $Id: masind.doc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: masind.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:51 cernlib -* Geant -* -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C** MASS INDEX FOR ALL PARTICLES CALCULATED FROM MASSES IN BLOCK DATA -C** -C** PARTICLE IPART -C** ----------------------------------- -C** GAMMA 1 -C** NEUTRINO 2 -C** POSITRON 3 -C** ELEKTRON 4 -C** MUON + 5 -C** MUON - 6 -C** PION + 7 -C** PION 0 8 -C** PION - 9 -C** KAON + 10 -C** KAON 0 S 11 -C** KAON 0 L 12 -C** KAON - 13 -C** PROTON 14 -C** PROTON BAR 15 -C** NEUTRON 16 -C** NEUTRON BAR 17 -C** LAMBDA 18 -C** LAMBDA BAR 19 -C** SIGMA + 20 -C** SIGMA 0 21 -C** SIGMA - 22 -C** SIGMA + BAR 23 -C** SIGMA 0 BAR 24 -C** SIGMA - BAR 25 -C** XSI 0 26 -C** XSI - 27 -C** XSI 0 BAR 28 -C** XSI - BAR 29 -C** DEUTERONS 30 -C** TRITONS 31 -C** ALPHAS 32 -C** NEW PARTICLES 33 diff --git a/StarVMC/geant3/doc/ghdoc/masses.doc b/StarVMC/geant3/doc/ghdoc/masses.doc deleted file mode 100644 index eb088596d03..00000000000 --- a/StarVMC/geant3/doc/ghdoc/masses.doc +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: masses.doc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: masses.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:51 cernlib -* Geant -* -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C** MASSES FOR ALL PARTICLES CALCULATED FROM MASSES IN BLOCK DATA -C** -C** PARTICLE MASS (GEV) -C** ----------------------------------- -C** GAMMA 0. -C** NEUTRINO 0.00001 -C** POSITRON 0.00051 -C** ELEKTRON 0.00051 -C** MUON + 0.106 -C** MUON - 0.106 -C** PION + 0.140 -C** PION 0 0.140 -C** PION - 0.140 -C** KAON + 0.494 -C** KAON 0 S 0.498 -C** KAON 0 L -0.498 -C** KAON - 0.494 -C** PROTON 0.938 -C** PROTON BAR -0.938 -C** NEUTRON 0.938 -C** NEUTRON BAR -0.938 -C** LAMBDA 1.1156 -C** LAMBDA BAR -1.1156 -C** SIGMA + 1.1894 -C** SIGMA 0 1.1925 -C** SIGMA - 1.1974 -C** SIGMA + BAR -1.1894 -C** SIGMA 0 BAR -1.1925 -C** SIGMA - BAR -1.1974 -C** XSI 0 1.3149 -C** XSI - 1.3213 -C** XSI 0 BAR -1.3149 -C** XSI - BAR -1.3213 -C** ALPHAS+FRAGMENTS UNCHANGED -C** NEW PARTICLES UNCHANGED diff --git a/StarVMC/geant3/doc/ghdoc/mat.doc b/StarVMC/geant3/doc/ghdoc/mat.doc deleted file mode 100644 index 138dff674f1..00000000000 --- a/StarVMC/geant3/doc/ghdoc/mat.doc +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: mat.doc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: mat.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:51 cernlib -* Geant -* -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C** -C** ALL MATERIAL CONSTANTS ARE PARTLY STORED ON THE COMMON /MAT IN THE -C** BLOCK DATA OR CALCULATED IN THE ROUTINE MATTER.IN PRESENT VERSION -C** THERE MAY BE DEFINED UP TO 20 MATERIALS WITH THE MATERIAL-INDEX -C** NUMBER 'IND' . THIS MATERIAL INDEX NUMBER MUST BE GIVEN FOR -C** EACH CELL OF A CALORIMETER IN THE GEOMETRY INPUT DATA CARDS. -C** (SEE COMMON /CALSTR AND INIT). IND =0 IS ALWAYS INTERPRETED AS -C** VACUUM IN THE PROGRAM. -C -C** DEN (IND+1) = DENSITY (GR/CM**3) -C** RADLTH(IND+1) = RADIATION LENGTH (CM) -C** ATNO (IND+1) = ATOMIC NUMBER (AVERAGE VALUE, SEE LATER) -C** ZNO (IND+1) = CHARGE NUMBER OF NUCLEUS (AVERAGE VALUE, SEE LATER) -C** ABSL (IND+1) = ABSORPTION LENGTH (ONLY USED FOR STEP SIZE -C** CALCULATION) -C** CDEN (IND+1) = C - PARAMETER IN STERNHEIMERS THEORY -C** MDEN (IND+1) = M - PARAMETER IN STERNHEIMERS THEORY -C** X0DEN (IND+1) = X0- PARAMETER IN STERNHEIMERS THEORY -C** X1DEN (IND+1) = X1- PARAMETER IN STERNHEIMERS THEORY -C** RION (IND+1) = IONISATION POTENTIAL -C** MATID (IND+1) = GHEISHA ALPHANUMERIC LABEL (A4) -C** MATID1(IND+1,24) = EGS ALPHANUMERIC LABEL (24*A1) -C** 10 PARAMETERS DESCRIBING THE MATERIAL AT VARIOUS PLACES -C** IN THE PROGRAM : -C** PARMAT(IND+1, 1) = X DE/DX CORRECTION FACTOR FOR LANDAU -C** TYPE DISTRIBUTIONS -C** PARMAT(IND+1, 2) = 1. FOR SOLIDS -C** = 2. FOR FLUIDS -C** = 3. FOE GASEOUS MATERIALS -C** PARMAT(IND+1, 3) = 1. DELTA-RAY SELECTION : ALL PARTICLES -C** = 2. DELTA-RAY SELECTION : ONLY MUONS -C** = 3. DELTA-RAY SELECTION : MUONS AND ELECTRONS -C** = 4. DELTA-RAY SELECTION : MUONS,ELECTRONS,PIONS -C** PARMAT(IND+1, 4) = MINIMUM RANGE FOR DELTA-ELECTRONS -C** PARMAT(IND+1, 5) = 1. FOR ANORGANIC SCINTILLATORS ONLY -C** PARMAT(IND+1, 6) = SATURATION COEFFICIENT IN BIRK'S LAW -C** = 1. DEFAULT VALUE SAT=0.010/DENSITY, -C** > 1. SAT=PARMAT(IND+1,6)-1. -C** PARMAT(IND+1, 7) > 0. INDUCED HADRON NUCLEAR FISSION -C** PARMAT(IND+1, 8) > 0. PHOTOABSORBTION AND PHOTOFISSION -C** PARMAT(IND+1, 9) > 0. NATURAL RADIOACTIVITY -C** PARMAT(IND+1,10) = CORRECTION FACTOR FOR ENERGY LOSS BY -C** NUCLEAR BREAKUP EFFECTS -C** = 0. DEFAULT MODEL DESCRIPTION IS USED. -C** -C** THE DENSITY, ATOMIC NUMBER AND CHARGE NUMBER , DEFINED ABOVE, -C** ARE AVERAGE VALUES FOR COMPOUND MATERIALS LIKE BGO. -C** THESE VALUES ARE USED FOR DE/DX- CALCULATIONS ONLY. -C** -C** ALL MATERIALS MAY BE DEFINED AS COMPOUNDS OR MIXTURES, -C** THE FOLLOWING NUMBERS ARE TAKEN FROM THE EGS DATA FILE, -C** OR, IF NOT GIVEN, CALCULATED. -C** IFRAC(J) = NUMBER OF COMPOUNDS IN THIS MATERIAL -C** FRAC1(J,I) = PARTIAL INTERACT.LENGTH OF THE I.TH COMPOUND -C** DEN1 (J,I) = PARTIAL DENSITY OF THE I.TH COMPOUND -C** ATNO1(J,I) = ATOMIC NUMBER OF THE I.TH COMPOUND -C** ZNO1 (J,I) = CHARGE NUMBER OF THE I.TH COMPOUND -C** -C** diff --git a/StarVMC/geant3/doc/ghdoc/result.doc b/StarVMC/geant3/doc/ghdoc/result.doc deleted file mode 100644 index 8fddf33d7a0..00000000000 --- a/StarVMC/geant3/doc/ghdoc/result.doc +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: result.doc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: result.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:51 cernlib -* Geant -* -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C** -C** THE RESULT COMMON STORES ALL INFORMATION OF THE CURRENT TRACK: -C** -C** XEND | START- OR END- COORDINATES OF THE CURRENT STEP. -C** YEND | -C** ZEND | -C** RCA CALO1*1000.+CALO2*1. |CALO1 AND CALO2 (CELL1 AND -C** RCE CELL1*1000.+CELL2*1. |CELL2) ARE THE CALORIMETER -C** |(CELLS), WHERE THIS STEP COMES -C** |FROM AND GOES TO. -C** AMAS MASS -C** NCH CHARGE -C** TOF TIME OF FLIGHT (IN 1/20 NSEC) -C** PX PX/P = COSL*COSP -C** PY PY/P = COSL*SINP -C** PZ PZ/P = SINL -C** USERW USERWORD (SEE 'HSTORY') -C** INTCT INTERACTION/DECAY-COUNTER -C** P MOMENTUM -C** EN TOTAL ENERGY -C** EK KINETIC ENERGY -C** AMASQ MASS**2 -C** DELTN ACTUAL STEPSIZE (SEE ALSO DDELTN IN COMMON /CURPAR) -C** ITK NUMBER OF GENERATOR TRACK (SEE INPUT-ROUTINES) -C** NTK NUMBER OF TRACK IN SHOWER -C** IPART PARTICLE INDEX (SEE #MASIND) -C** IND MATERIAL INDEX (SEE #MATTER) -C** LCALO CALORIMETER NUMBER (=CALORIMETER1 IN RCA) -C** ICEL CELL NUMBER (=CELL1 IN RCE) -C** SINL SINE OF DIP-ANGLE -C** COSL COSINE OF DIP-ANGLE -C** SINP SINE OF NORMAL PHI-ANGLE (WITH RESPECT TO X-AXIS) -C** COSP COSINE OF NORMAL PHI-ANGLE -C** diff --git a/StarVMC/geant3/doc/history/geane321 b/StarVMC/geant3/doc/history/geane321 deleted file mode 100644 index 277c2aaa15f..00000000000 --- a/StarVMC/geant3/doc/history/geane321 +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: geane321,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: geane321,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1 1996/03/06 15:31:21 mclareni -* Add geane321 history, CMZ and doc files -* -* -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : -* -* V 3.15/02 -* 07-04-93 : new error trasformation routines, -* TRSDPT, TRSCPT, TRPTSD, TRPTSC added -* to go from 1/p .... to 1/p_t and viceversa -* in both sd and sc systems -* 07-04-93 : ERTRGO and ERTRCH: precision checks added -* 16-05-91 : EUFILV modified: NAMV --> CNAMV character*4 -* V 3.14/03 -* 02-02-91 : EREXAM2 improved: -* Transport matrix test added; -* Random generation of momentum and charge in GUKINE -* allowed. -* 01-02-91 : effect of energy loss added in TRPRFN -* (and little bug introduced on 14-12-90 corrected) -* V 3.14/02 -* 24-01-91 : bug corrected in ERMCSC (and log term removed) - add fit examples in EREXAM2 -* 20-12-90 : CMZ install kumac added -* 19-12-90 : add 2 running examples : P = EREXAM1 and EREXAM2. -* Mod in ERPROP : EF(1) for low energy -* 18-12-90 : bug in ERLAND : emax must be in kev. -* ERTRCH : dedx2*(charge**4) -* ERMCSC corrected for the log term -* 14-12-90 : TRPRFN modified to improve timing -* V 3.14/01 -* 5-12-90 : doc updated (interface to Geant) -* 3-12-90 : new logic for volume and plane crossing allowing any -* crossing order . The order of the predicted point in -* ERXOUT( ,ILPRED) etc... may be different of the order -* in the input list ERPLO( ,INLIST) etc..The relation -* is given by the array IEPRED (ILPRED) = INLIST -* 29-11-90 : ERTRGO and ERTRCH rewritten : compute energy loss -* from the stopping range (bank JRANG) ===> Geane is -* compatible only with geant3.14 -* MXNSTP = maximum number of steps allowed (1000). -* zeroed ERXOUT,ERPOUT,ERROUT. -* 27-11-90 : normalize the normal to the plane (routine EUFILP) -* 21-11-90 : change IF=DOUBLE to IF=-SINGLE (standart in Geant3) -* 19-11-90 : changes in ERTRGO,ERTRNT,ERTRCH for use of GTMEDI -* and GTNEXT ===> Geane in no more compatible with -* geant3.11 -* 2-11-90 : Integer NEXT MXPRED -* 4- 9-89 : corrections in ERTRCH and ERTRNT for the case -* SNEXT = STEPER -* -* V 3.13/01 (29-6-89) strictly identical to 3.12 -* V 3.12/04 released on the first september 1988 -* -* version compatible GEANT311 AND GEANT312 : -* the routine GNEXT must be in the GEANT library -* diff --git a/StarVMC/geant3/doc/history/geanx321 b/StarVMC/geant3/doc/history/geanx321 deleted file mode 100644 index 79a334d1254..00000000000 --- a/StarVMC/geant3/doc/history/geanx321 +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: geanx321,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: geanx321,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib -* Geant -* -* -* This directory was created from geanx321.car patch history -*CMZ : 3.21/02 29/03/94 15.41.33 by S.Giani -*-- Author : -* -* 29-8-1990 -* -* Commands SCAN/SLIST changed to provide a list of SCAN volumes -* if no argument is given and to delete SCAN bank if a '.' is -* entered as the only argument. Interactive check of the existence -* of the volumes entered diff --git a/StarVMC/geant3/doc/history/h_v_314.F b/StarVMC/geant3/doc/history/h_v_314.F deleted file mode 100644 index 0fe8d2357de..00000000000 --- a/StarVMC/geant3/doc/history/h_v_314.F +++ /dev/null @@ -1,354 +0,0 @@ -* -* $Id: h_v_314.F,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: h_v_314.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib -* Geant -* -* -#include "sys/CERNLIB_machine.h" -#include "pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : -C 09-FEB-1988 NVE CERN GENEVA -C NUMBER OF SUBSCRIPTS OF ARRAY "PCM" CHANGED FROM 1 -C TO 2 IN EQUIVALENCE STATEMENT IN ROUTINE PHASP. -C 17-FEB-1988 NVE CERN GENEVA -C ALL CALLS TO "RN" CHANGED TO "RNDM" AND WITHIN A DO -C LOOP THE DUMMY ARGUMENT HAS BEEN SET TO THE LOOP -C INDEX IN ORDER TO ENABLE COMPILATION WITH OPTIMIZATION -C 25-FEB-1988 NVE CERN GENEVA -C STATEMENT FUNCTION SEQUENCES "ANPOL" AND "ANPOL" ADDED -C 25-FEB-1988 NVE CERN GENEVA -C SEQUENCE "ANPOL" INCLUDED IN "STEEQ" AND "STPAIR" -C 26-FEB-1988 NVE CERN GENEVA -C SEQUENCE "LIMITS" ADDED FOR ARGUMENTS OF INT. FUNCTIONS -C 01-MAR-1988 NVE CERN GENEVA -C ALL CALLS TO "HSTORY" REMOVED -C 04-MAR-1988 NVE CERN GENEVA -C +SELF MATERIAL ADDED TO ENABLE SUBROUTINE TIMING -C 16-MAR-1988 NVE CERN GENEVA -C NEW "SAVE" CARD AND INIT. FOR "PMUL" AND "ANORM" -C IN CASCADE ROUTINES -C 16-MAR-1988 NVE CERN GENEVA -C DIMENSION OF "ANORM1" CHANGED FROM (4,60) TO (2,60) -C IN ROUTINE CASASM -C 16-MAR-1988 NVE CERN GENEVA -C "REAL*8" AND "REAL*4" REPLACED BY "DOUBLE PRECISION" -C AND "REAL" RESP. IN ROUTINE "PHASP" -C 16-MAR-1988 NVE CERN GENEVA -C "REAL*8" REMOVED IN ROUTINE "PDK" -C FOR DOUBLE PRECISION USE "DPDK" -C 16-MAR-1988 NVE CERN GENEVA -C "SQRT(A)" REPLACED BY "SQRT(ABS(A))" IN "GENXPT" -C 18-MAR-1988 NVE CERN GENEVA -C GHEISHA UTILITIES ADDED IN PATCH "GHUTILS" -C 18-MAR-1988 NVE CERN GENEVA -C NEW PATCHES "TIFACE, TATINA, GIFACE AND CASCAD" -C ADDED TO BE COMPLETED IN FUTURE -C 29-MAR-1988 NVE CERN GENEVA -C DECK "VECSUB" CLEANED UP AND ALL "ENTRIES" RE-WRITTEN -C AND CHANGED TO "SUBROUTINES" -C 29-MAR-1988 NVE CERN GENEVA -C "DCOS" "DSIN" AND "DSQRT" CHANGED TO "COS" "SIN" -C AND "SQRT" RESP. IN ROUTINE "PHASP" -C 29-MAR-1988 NVE CERN GENEVA -C "DPDK" "DLPSOR" AND "DOTES2" PUT IN SEPARATE DECKS -C 29-MAR-1988 NVE CERN GENEVA -C "REAL*8" CHANGED TO "DOUBLE PRECISION" IN SEQ. /GENIO -C 30-MAR-1988 NVE CERN GENEVA -C PROTECTIONS AGAINST "EXP()" LIMITS ADDED IN REMAINING -C CASCADE ROUTINES -C 30-MAR-1988 NVE CERN GENEVA -C PROTECTIONS AGAINST "DIVISION BY ZERO" ADDED IN -C ROUTINE "TWOCLU" -C 06-APR-1988 NVE CERN GENEVA -C "GPGHEI" CHANGED IN ORDER TO MATCH GEANT 3.12 -C 07-APR-1988 NVE CERN GENEVA -C SPECIFIC FUNCTIONS "AMAX1" AND "ALOG" REPLACED BY -C THEIR GENERIC EQUIVALENTS AND -C GEOMETRICAL CROSS-SECTIONS FOR NUCLEAR FRAGMENTS ADDED -C IN ROUTINE "GHESIG" -C 11-APR-1988 NVE CERN GENEVA -C PROTECTIONS AGAINST "EXP()" LIMITS ADDED IN ROUTINE -C "CINEMA" AND "ALOG" CALLS CHANGED TO CALLS TO -C GENERIC FUNCTION "LOG" -C 11-APR-1988 NVE CERN GENEVA -C PROTECTIONS AGAINST NEGATIVE SQRT ADDED IN -C ROUTINE "TWOCLU" -C 14-APR-1988 NVE CERN GENEVA -C ARGUMENT OF "RNDM" SET TO LOOP INDEX -C IN ROUTINE "NORMAL" -C 22-APR-1988 NVE CERN GENEVA -C ALL CALLS TO "ALOG" "IABS" "DCOS" AND "DEXP" -C CHANGED TO THE GENERIC EQUIVALENTS -C 02-MAY-1988 NVE CERN GENEVA -C ROUTINES "GENXPT" AND "TWOCLU" CORRECTED FOR LOW -C ENERGY BEHAVIOUR -C 02-MAY-1988 R. BRUN/NVE CERN GENEVA -C STMT. "GO TO 38" CHANGED TO "GO TO 30" IN ROUTINE -C "GENXPT" TO PREVENT INFINITE LOOPING -C 02-MAY-1988 NVE CERN GENEVA -C ALL "IPV(..)" STUFF CHANGED TO NORMAL "PV(..)" -C IN ROUTINE "ADD" -C 04-MAY-1988 NVE CERN GENEVA -C FUNCTIONS "RMASS" AND "CHARGE" REPLACED BY ARRAYS -C "RMASS" AND "RCHARG" RESP. AND PUT INTO COMMON /CONSTS -C MASSES AND CT VALUES OF PARTICLES UPDATED TO LATEST -C (= GEANT) VALUES AND INITIALIZED IN ROUTINE "GHEINI" -C 04-MAY-1988 NVE CERN GENEVA -C DISTINCTION INTRODUCED BETWEEN P AND N TARGET IN ALL -C "CAS..." ROUTINES AND S AND RS COMPUTED ACCORDINGLY -C IN THE ROUTINES THEMSELVES -C THE SAME HAS BEEN DONE IN ROUTINE "TWOB" -C 04-MAY-1988 NVE CERN GENEVA -C CORRECT MASSES INTRODUCED FOR THE VARIOUS PROCESSES -C IN THE ABSORBTION AND ANNIHILATION ROUTINES -C 06-MAY-1988 NVE CERN GENEVA -C EXTRA ARGUMENT "NFL" ADDED IN ROUTINE "CORANH" -C TO INDICATE TARGET TYPE -C 10-MAY-1988 NVE CERN GENEVA -C OLD VERSION (GEANT 3.11) OF "GHESIG" RESTORED AND -C ONLY SLIGHTLY MODIFIED TO INCLUDE GEOMETRICAL X-SECT. -C OF LIGHT MASS FRAGMENTS -C THE NEW VERSION OF GHESIG IS CONTAINED IN DECK "GHESIX" -C ON THIS PAM IN ORDER TO BE INVESTIGATED -C 11-MAY-1988 NVE CERN GENEVA -C K0/K0 BAR CHOICE REMOVED FROM "GHESIG" TO AVOID -C UNPHYSICAL RESULTS -C THE K0/K0 BAR CHOICE IS NOW MADE RIGHT AFTER THE -C CREATION OF THE K0 IN ROUTINE "GHEISH" -C 11-MAY-1988 NVE CERN GENEVA -C NUCLEAR MASSES OF D, T AND ALPHA RE-COMPUTED -C TAKING INTO ACCOUNT BINDING ENERGIES AND NEW VALUES -C USED IN "GHEINI" -C THESE NEW VALUES WILL ALSO BE USED IN GEANT AND THEY -C AGREE WITH PARTICLE DATA 1986 -C 11-MAY-1988 NVE CERN GENEVA -C FLAG "NUCFLG" INTRODUCED IN ROUTINES "CASFRG" AND -C "GNSLWD" TO INDICATE ACTION TAKEN BY "NUCREC" CALL -C 11-MAY-1988 NVE CERN GENEVA -C CALL TO "COSCAT" ADDED IN ROUTINE "CASFRG" IN CASE -C THE "NUCREC" CALL DID NOT GIVE ANY ACTION -C 18-MAY-1988 NVE CERN GENEVA -C DOUBLE COUNTING OF EDEPS FOR STOPPING PARTICLES -C FIXED (GHEISH AND GHSTOP) AND NEW STEERING FOR -C LOW ENERGY NUCLEONS IN "GHEISH" -C 18-MAY-1988 NVE CERN GENEVA -C BUGS FIXED FOR LOW MOMENTUM AND CALL TO "ATOMAS" -C REPLACED BY "RMASS" ASSIGNMENTS FOR P, N, D, T AND -C ALPHA IN ROUTINE "NUCREC" -C 19-MAY-1988 NVE CERN GENEVA -C MORE ACCURATE VALUES OF MASSES OF D AND ALPHA USED -C IN ROUTINE "ATOMAS" -C 20-MAY-1988 NVE CERN GENEVA -C PARTICLE MASSES, CHARGES AND CT VALUES FOR GHEISHA -C DIRECTLY TAKEN FROM THE GEANT ZEBRA BANKS IN -C ROUTINE "GHEINI" -C 25-MAY-1988 NVE CERN GENEVA -C COMMON "/CSDATC" REMOVED AND SEQUENCES "/CSDIM" -C AND "/CSDAT" INTRODUCED FOR CROSS SECTION DATA IN -C ORDER TO SAVE MEMORY SPACE -C THESE SEQUENCES ARE INCLUDED IN ROUTINES "GHESIG" -C AND "PCSDAT" -C 15-JUN-1988 NVE CERN GENEVA -C SEQUENCES "PCODIM" AND "PCODAT" INTRODUCED FOR -C CENTRALISED GEANT/GHEISHA PARTICLE CODE CONVERSION -C THESE SEQUENCES ARE INCLUDED IN ROUTINES "GHESIG" -C AND "GHEISH" -C 15-JUN-1988 NVE CERN GENEVA -C FOLLOWING UNUSED SEQUENCES REMOVED -C /BEAM /CALSTR /CBRDK /CMUEL /CPADE /CQINT /EQUAT -C /INPEV /MALARR /MUPAC /PARCOM /SCINT /STEPSI -C 15-JUN-1988 NVE CERN GENEVA -C ARRAY "IBAR(33)" REMOVED FROM ROUTINE "GHEISH" -C 23-JUN-1988 R.BRUN/NVE CERN GENEVA -C STMT. "KKPART=KPART" ADDED AT THE BEGINNING OF -C ROUTINE "GHEISH" TO PREVENT INFINITE LOOP FOR -C PARTICLE OF ZERO MOMENTUM -C 23-JUN-1988 NVE CERN GENEVA -C ALL VARIABLES "THENVE" RENAMED TO "RTHNVE" TO MATCH -C NEW IBM COMPILER (= ANSI STANDARD ?) -C 29-JUN-1988 NVE CERN GENEVA -C NAME OF ROUTINE "LENGTH" AND RELATED CALLS CHANGED -C TO "LENGTX" TO AVOID CLASH WITH INTERNAL ROUTINE -C ON THE CRAY COMPUTER -C 12-JUL-1988 NVE CERN GENEVA -C INELASTICITY FOR HADRONIC INTERACTIONS RE-CALCULATED -C AND CHANGES MADE IN ROUTINE "CINEMA" ACCORDINGLY -C 13-JUL-1988 NVE CERN GENEVA -C IPV(...) STUFF REMOVED AND CALL TO "RNDM" CHANGED -C TO "RANRES" IN ROUTINE "COSCAT" -C ALSO PROTECTION FOR "SINT" INCLUDED IN "COSCAT" -C 13-JUL-1988 NVE CERN GENEVA -C FUNCTION "RANRES" ADDED TO PATCH "GHEISHA" -C 01-AUG-1988 NVE CERN GENEVA -C BUG FIXED IN PARTICLE DISTRIBUTION IN BACKWARD -C AND FORWARD HEMISPHERE IN ROUTINE "TWOCLU" -C THIS ALSO AVOIDS INFINITE LOOPING FOR HIGH MULT. -C 15-AUG-1988 NVE CERN GENEVA -C SETTING OF MECHANISM "STOP" SUPRESSED IN "GHSTOP" -C TO AVOID DOUBLE SETTING. -C 16-JAN-1989 NVE CERN GENEVA -C CONDITIONAL CALL TO "GHEINI" ADDED IN ROUTINE "GHEISH" -C TO ENSURE PROPER INITIALIZATION IN ALL CASES. -C 19-JAN-1989 NVE CERN GENEVA -C INITIALIZATION OF IPA(...) ARRAY ADDED IN ROUTINES -C "GHEISH" AND "GNSLWD" BY "CALL VZERO(IPA(1),100)" -C TO MATCH THE ROUTINE "GENXPT" -C 31-JAN-1989 NVE CERN GENEVA -C PRINT STATEMENT IN "EXNU" MADE MORE CLEAR -C 01-FEB-1989 NVE CERN GENEVA -C PARTICLE CODES ARRAY "IKPART" EXTENDED -C TO SIZE (35) IN SEQUENCE "PCODIM" -C AND OMEGA AND ANTI-OMEGA ADDED TO GHEISHA CODES -C AT POS. 33 AND 34 RESP. IN SEQUENCE "PCODAT" -C ALSO ARRAYS "RMASS" AND "RCHARG" EXTENDED IN SIZE -C IN "/CONSTS" -C OMEGA AND ANTI-OMEGA PARAMETERS ALSO ADDED IN "GHEINI" -C 01-FEB-1989 NVE CERN GENEVA -C ROUTINES "GHESIG", "GHESIX" AND "GHEISH" -C UPDATED FOR OMEGA AND ANTI-OMEGA PARTICLES -C ALSO SIZE OF "CSEL" AND "CSIN" ARRAYS EXTENDED -C IN "/CSDIM" AND "/CSDAT" UPDATED ACCORDINGLY BY -C CHANGE IN ROUTINE "PCSDAT" OF PATCH "GHUTILS" -C 02-FEB-1989 NVE CERN GENEVA -C DECKS "CASXM" "CASX0" "CASOM" "CASAXM" "CASAX0" -C AND "CASAOM" ADDED TO TREAT THE CASCADES OF -C XI-, XI0, OMEGA- AND THEIR ANTI-PARTICLES. -C THE CASCADE ROUTINES FOR THE ANTI-PARTICLES ARE -C FIXUPS FOR THE MOMENT, BUT CORRECT ROUTINES ARE -C UNDER DEVELOPMENT. -C 16-FEB-1989 RB CERN GENEVA -C ALL "RNDM" STUFF REPLACED BY NEW GEANT RANDOM NUMBER -C GENERATOR "GRNDM" -C 13-MAR-1989 NVE CERN GENEVA -C ALL CHANGES MADE BY RENE BRUN CHECKED AND SOME -C SERIOUS MISTAKES FIXED -C 17-MAR-1989 NVE CERN GENEVA -C CALCULATIONS FOR HADRONIC CROSS SECTIONS RE-DONE -C AND NEW FUNCTION "GHESIG" ADDED IN PATCH "GIFACE" -C THE OLD VERSION IS STILL AVAILABLE IN DECK "GHESIX" -C FOR BACKWARD COMPATIBILITY TESTS -C 20-MAR-1989 NVE CERN GENEVA -C CORRECT INTERPOLATIONS AND EXTRAPOLATIONS IN -C ROUTINES "STEEQ" AND "STPAIR" -C ALSO ALL "ANPOL" AND "ANPOL2" STUFF REMOVED -C 31-MAR-1989 NVE CERN GENEVA -C PARTICLE MASSES FOR PACKAGES OTHER THAN "GEANT" UPDATED -C ACCORDING TO PART. DATA 1986 IN ROUTINE "GHEINI" -C 23-MAY-1989 NVE CERN GENEVA -C "DIMENSION PR(50)" CHANGED TO "DIMENSION PR(*)" -C IN ROUTINE "ROTES2" -C 29-MAY-1989 R.Brun -C Protection of all SQRT against <0 -C GRNDM changed to 2 arguments only -C 12-JUN-1989 NVE CERN GENEVA -C "COST" PROTECTION RESTORED IN "GMUNU" -C 13-JUN-1989 H.FESEFELDT -C Corrections in GHESIG/GHESIX for ACC40 -C R.B, FCA,F.B -C Protection in GHESIG for IPART>48 -C 29-JUN-1989 RB/NVE CERN GENEVA -C MASSES UPDATED IN GHEINI ACCORDING TO PART. DATA APR-1988 -C AND PROTECTION AGAINST PRECISION PROBLEMS OF EK AND EDEP -C IN GHEISH -C 29-JUN-1989 NVE CERN GENEVA -C MASSES TAKEN FROM GEANT PARTICLE DATA BANKS IN -C GMUNU, GMUNUI AND GMUSIG -C AND MASSES TAKEN FROM "RMASS" ARRAY IN ATOMAS -C 29-JUN-1989 RB CERN GENEVA -C "PDK" AND "DPDK" RENAMED TO "GPDK" AND "GDPDK" RESP. -C BECAUSE OF CONFLICT WITH NEW CERNLIB ROUTINES -C AND CALLS IN "PHASP" UPDATED ACCORDINGLY -C 29-JUN-1989 NVE CERN GENEVA -C OBSOLETE ROUTINE "GHESIX" REMOVED FROM PATCH "GIFACE" -C 04-JUL-1989 NVE CERN GENEVA -C PROTECTION AGAINST ANNIHILATION PROCESSES INTRODUCED -C IN "STPAIR" -C 18-AUG-1989 NVE CERN GENEVA -C PROTECTION FOR NGKINE .GT. 100 ADDED IN "GHEISH" -C AND ALSO PROTECTIONS ADDED IN "SETTRK" -C 14-SEP-1989 HF RWTH AACHEN -C CORRECTED IPARM SETTING IN "CINEMA" -C 05-MAR-1990 HF RWTH AACHEN -C DOUBLE PRECISION RESTORED FOR PHASE SPACE PACKAGE -C AND PHOTO-FISSION AND ABSORBTION PROCESSES MODIFIED -C 05-MAR-1990 RB CERN GENEVA -C SOME PROTECTIONS INTRODUCED IN MODIFIED CODE -C 11-MAY-1990 NVE CERN GENEVA -C MODIFICATIONS OF HF AND RB IMPLEMENTED BY RETAINING -C THE LOGIC OF GEANH 3.13 -C 14-MAY-1990 NVE CERN GENEVA -C PROTECTION FOR ATAN2 INTRODUCED IN "GMUNU" -C 15-MAY-1990 NVE CERN GENEVA -C COMPLETE "+KEEP" FOR /NUCIO/ UNDER PATCHY FLAG "SINGLE" -C AND THIS SEQUENCE INTODUCED IN "NUCREC" AND "PHPNUC" -C 17-MAY-1990 HF RWTH AACHEN/NVE CERN GENEVA -C DOUBLE INVOKATION OF NUCREC REMOVED FROM "GHEISH" -C FOR SLOW NEUTRONS WHICH RESULTS IN LONGER PATH -C 18-MAY-1990 RB CERN GENEVA -C CLEANER CONSTRUCTION TO PUT DOUBLE PRECISION OF -C /NUCIO UNDER CONTROL OF PATCHY FLAG "SINGLE" -C 20-JUN-1990 RB/NVE CERN GENEVA -C NEW OPTION IHADR=3 INTRODUCED TO SELECT INVOKATION -C OF THE NUCRIN PACKAGE FROM "GHEISH" FOR ENERGIES -C BELOW 5 GEV -C 27-SEP-1990 RB/NVE CERN GENEVA -C NUCRIN PACKAGE REPLACED BY NEW VERSION OF RB -C AND PROTECTION AGAINST CRAZY P VALUES ADDED IN "GHEISH" -C 27-SEP-1990 MR/NVE CERN GENEVA -C CORRECTION FOR THETA=PI IN ROUTINE "DEFS1" -C AS A RESULT OF THE BUG THE ORIGINAL (HIGH ENERGETIC) -C PARTICLE MIGHT HAVE GOT LOST IN CASE OF AN INTERACTION -C AT THE BEGINNING OF A DETECTOR -C 27-SEP-1990 HJT/NVE CERN GENEVA -C AVOIDING NEGATIVE W2 IN "GMUNU" AND CORRECTIONS MADE FOR -C 'SIG' IN "GMUNUI" -C 27-SEP-1990 NVE CERN GENEVA -C PRINT MESSAGES WITH CONTACT PERSON REMOVED IN "GHEISH" -C 28-SEP-1990 NVE CERN GENEVA -C GIFACE AND GHEISH CODE CLEANED FROM UNUSED VARIABLES ETC. -C AS PROPOSED BY RB -C 25-OCT-1990 NVE CERN GENEVA -C PROTECTION FOR 'ZINTHA' TO BECOME -0. ADDED IN "GHEISH" -C TO PREVENT INFINITE LOOP DUE TO PRECISION PROBLEM -C 26-OCT-1990 NVE CERN GENEVA -C LOCAL ARRAYS INITIALISED IN "PHASP" AND "PHPNUC" TO -C ENABLE RUNNING IN DYNAMIC COMP. MODE UNDER UNIX -C 29-OCT-1990 NVE CERN GENEVA -C BUG FIXED FOR DOUBLE PRECISION RANDOM NUMBERS IN "PHPNUC" -C AND FORMAT FOR DEBUG PRINT CHANGED IN "NUCREC" -C -C ******************************************************************** -C *** *** -C *** IN CASE OF ANY TROUBLES, COMMENTS OR SUGGESTIONS CONTACT : *** -C *** *** -C *** NICK VAN EIJNDHOVEN *** -C *** CERN *** -C *** B 595 R-004 *** -C *** CH-1211 GENEVA 23 *** -C *** SWITZERLAND *** -C *** EUROPE *** -C *** TEL. +41-22-7674740 OR CERN BEEP 7294 *** -C *** BITNET ADDRESS : NICK@CERNVM.CERN.CH *** -C *** *** -C ******************************************************************** diff --git a/StarVMC/geant3/doc/history/v_313.F b/StarVMC/geant3/doc/history/v_313.F deleted file mode 100644 index b1194293bb8..00000000000 --- a/StarVMC/geant3/doc/history/v_313.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: v_313.F,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v_313.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:47 cernlib -* Geant -* -* -#include "sys/CERNLIB_machine.h" -#include "pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.18 by S.Giani -*-- Author : -* -*::> VERSION 3.13/05 890628 15.01 -* -* Changes in GTELEC,GTHADR and GTMUON for overstopping tracks. -* STEP and SLENG correction optimized -* In COMMON/GCDRAW/ variable IGVIEW changed to IDVIEW -* Routine GTRMUL recoded -* DOUBLE precision in GINTCO and protection added. -* Changes in GNOPG6. -* Changes in GINME (for spheres,tubes and cones DPP.LE.0) -* GDINIT called by GXINT -* Particle data table updated in GPART -* Tests on boundary conditions for IEKBIN modified in GTGAMA -* A new user callable routine GBIRK introduced in GPHYS. -* GBIRK may be called from GUSTEP to compute the Birk -* correction factors for anorganic scintillators. -* -*::> VERSION 3.13/04 890623 12.34 -* -* New version of GLANDZ and GPOISS by L.Urban -* GRNDM calling sequence changed -* Sequence numbers (1-->215) can be initialized -* with data card RNDM -* Ex: -* RNDM 9876 1234534 initializes sequence 1 -* RNDM 45 initilizes sequence 45 with the starting -* seed of sequence 45 -* New routine GRANOR (copy of RANNOR for GRNDM) -* -*::> VERSION 3.13/03 890425 12.09 -* -* Update of inline documentation DOCGBASE,DOCGKINE,DOCGTRAK -* Deck GGCLOS modified and moved from GGEOM to GBASE -* New deck GHCLOS (called by GGCLOS) in GBASE -* Deck GEVKEV moved from GTRAK to GCONS -* New decks GFNDIG,GFNHIT,GRHITS in GHITS -* Minor bug corrected in GTELEC -* Control of debug and removal of SNXT=BIG in GTNEXT -* Call to GUSTEP removed from GUVIEW -* -*::> VERSION 3.13/02 890311 10.45 -* -* Bug corrected in GPAIRM (COMMON/GCMATE/ overwritten -* Bug corrected in outines GDRELM and GDRELP -* (error in AVO changed to AVOGAD) -* Minor corrections in physics routines -* SAVE statements added -* Protection in GHANGL -* Default changed to GHEISHA instead of TATINA -* in routines GUPHAD and GUHADR -* Bug corrected in GHTATI (NAMEC(12) instead of NAMEC(10) -* diff --git a/StarVMC/geant3/doc/history/v_314.F b/StarVMC/geant3/doc/history/v_314.F deleted file mode 100644 index 15b79220e6d..00000000000 --- a/StarVMC/geant3/doc/history/v_314.F +++ /dev/null @@ -1,1000 +0,0 @@ -* -* $Id: v_314.F,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v_314.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:47 cernlib -* Geant -* -* -#include "sys/CERNLIB_machine.h" -#include "pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.18 by S.Giani -*-- Author : -C -C -C ************************************************ -C * * -C * G E A N T version 3.14.16 * -C * * -C * Official R e l e a s e * -C * ============================== * -C * * -C ************************************************ -C -C -C -* The version 3.14 of GEANT is being released. Apart from a few -* features, reported below, the new version is compatible with the -* previous version 3.13. Substantial developments have taken place, -* in particular in the physics and tracking areas. -* -* In addition to the GEANT team -* (R.Brun:CERN/CN-AS, F.Bruyant:CERN/ECP-PI and M.Maire:LAPP), -* many people have contributed to the new version, especially -* - a large number of users of the previous version who reported -* their experience, found bugs and suggested several improvements, -* - the guinea-pigs of 3.14 who gave us essential comments during -* our attempt to automatize computation of the tracking parameters. -* ** A.Givernaud (UA1), F.Nessi, V.Vercesi(UA2/LHC) -* ** The LHC proto collaborations -* - H.Fesefelt(Aachen) has provided a new version of the GHEISHA -* package with help from N.Van Eijndhoven (CERN/CN-AS) -* - H.J Trost from ANL has reported problems in the muon-nuclear -* interactions routines and provided the relevant corrections. -* - P.Pedroni (Pavia) has implemented a new interface called -* by GHEISHA for low-energy hadronic processes (See NUCRIN below). -* - the contributors to the geometry package: -* for the introduction of new shapes -* ELTU by A.Solano (ZEUS) -* HYPE by M.Corden (ALEPH and SSC) -* CTUB by A.McPherson (CEBAF) -* for systematic investigation of problems with the old shapes -* R.Nierhaus (CERN/CN-AS) -* - S.Egli (H1) has proposed an automatic optimisation for the -* geometry at initialisation time. -* - G.Lynch from Berkeley has investigated the multiple-scattering -* various strategies and proposed a new algorithm. -* - A.Rotondi and P.Montagna have proposed a new technique for the -* fast generation of Vavilov distribution. -* K.S.Koelbig (CERN/CN-AS) has implemented a new routine GVAVIV -* based on their work. -* - J.Salt (CERN/CN-AS) has implemented the graphics interface to the -* CG package from Serpukhov with the help of E.Chernaev. -* - The IBM team (C.Guerin, M.Roelisberger) have investigated how -* to speed-up the program. Their work has been coordinated -* by F.Carminati (CERN/CN-AS). -* -* GEANT3.14 documentation -* ======================= -* The printing of a new manual describing the new version is -* scheduled for the end of this year. The CERN Program Library -* will not distribute anymore the old document (version 3.11). -* -* -* Important notice to GEANT users -* =============================== -* -* Following the reorganisation of the CERN research divisions -* in July 90, R.Brun is now in charge of the Application Software -* group (AS) in the CN division and F.Bruyant is in charge of the -* Production support and computers Infrastructure group (PI) in the -* ECP division. They will nevertheless continue, with M.Maire, to be -* actively involved in the development of GEANT. Federico Carminati -* is the coordinator of a simulation software unit in the CN-AS group. -* Users are strongly recommended to address their questions,etc -* directly to him (email: FCA@CERNVM.CERN.CH on BITNET). In particular, -* feedback from users making comparisons with real data will be most -* appreciated. -* -* The simulation team is preparing the ground for the next version -* of GEANT. In view of the proposed new accelerators, the following -* items are considered with high priority: -* - Parametrization techniques. A survey of the various methods -* used in current experiments has been done and the implementation -* of a new algorithm based on the GSCAN geometry + GFLASH (H1) -* is in progress. -* - Improvements in the geometry package. General shape definition, -* surface based algorithms. -* - Detector data structure and data base. Interface with CAD systems. -* - Parallelism (at event level and below). -* -* -*...................................................................... -* -* *** Compatibility with version 3.13 -* =============================== -* - If COMMON blocks GCMULO or/and GCJLOC were included in the -* user code, the new GEANT sequences GCMULO and GCJLOC must be -* inserted and the code recompiled. -* - Initialisation data structures saved with the previous versions -* cannot be read by the new version, because the binning for -* the cross-sections and energy loss tables has been changed. -* - The GCPHYS variables SOLOSS,STLOSS,SOMULS,STMULS are no more -* defined (see comments below) -* - The GCTRAK variable IDECAD is replaced by IGAUTO -* -* -* *** MAIN CHANGES IN THE TRACKING PROCEDURES -* ======================================= -* -* The tracking control routines GTGAMA,GTELEC,GTHADR,GTNEUT,GTMUON -* have been largely rewritten to reflect the changes to the energy-loss -* and multiple scattering processes. -* -* -* *** The ENERGY RANGE of the cross section and energy loss tables can -* be fixed by the user with the new data card : -* 'ERANG' EKMIN EKMAX NKBIN -* which defines nkbin bins from Ekmin to Ekmax in a logarithmic scale. -* The default is, as before, 90 bins from 10 Kev to 10 Tev but in -* logarithmic scale. NKBIN must be 50 3) inelastic -* interactions from a few MeV/c up to about 4.5 GeV/c laboratory -* momentum of the incoming particle. -* NUCRIN is automatically called by the GHEISHA routine GHEISH -* when the flag IHADR=3 (set by data card HADR). -* It is assumed that these reactions are the superimposition of three -* basic processes: -* -* (a) inelastic collision of the projectile hadron (allowed particles are : -* p,pbar,n,nbar,pi0,pi+,pi-,k+,k-,k0,k0bar,lamda0,lamda0bar,sigma+, -* sigma-,sigma0) with a target nucleon in the nucleus. -* This interaction is simulated,taking into account of the nucleon -* Fermi momentum, using HADRIN (see ref.2) program. -* The corresponding physical model is based on the experimental evidence -* that, in the selected momentum range,the inelastic cross section shows -* the typical threshold and resonance behaviour of meson production: -* the primary hadron-nucleon system is excited to an isobaric state -* which then decays into hadrons or other resonances. -* -* If the interacting nucleus is hydrogen,HADRIN can also be used -* in a separate way to simulate hadron-proton reaction. -* -* (b) induced intranuclear cascade with resulting proton and neutron -* emission; -* -* (c) nuclear evaporation and deexcitation from residual nucleus. At the -* output the total energy available for these processes is given as -* "excitation energy". -* -* The mean excitation and cascade energies and the average multiplicities -* of cascade particles are parametrized, according to experimental -* distributions. -* In each event their value are sampled from gaussian distribution: -* if they fall in the permitted kinematical region, energy and types of -* cascade nucleons are calculated and the remaining energy is assigned to -* the incoming particle. -* For hadron-nucleon interactions all relevant kinematic variables are -* Lorentz-trasformed into the target nucleon rest system. If interaction -* kinetic energy is greater than the total available collision energy -* a new Fermi momentun is sampled, otherwise an event is generated with -* HADRIN,in which decays modes of 107 particle and resonances into about -* 450 different channels are tabulated and outgoing particle directions -* and momenta are chosen to reproduced experimental momentum transfer -* distributions. -* Final state particles kinematical variables are transformed back into -* laboratory system; reaction and sampled event energies are again compared: -* if their difference is negative, energy is not conserved and generation -* has to be started once more with a new Fermi momentum sampling or if it -* is,on the contrary positive, particle momenta and energies are corrected -* to reach conservation. -* The sampled events conserve the energy, the momentum, the electric and -* baryonic charge and the strangeness. -* NUCRIN and HADRIN are initialised, by default, before event generation, -* with a call to subroutines HADDEN and CHANWX which estabilish internal -* weight tables and decay channels. -* -* ----------------------------------------------------------------------- -* (1) K. Hanssgen, J. Ranft , Comp. Phys. Comm. 39, 53 (1986) -* (2) K. Hanssgen, J. Ranft , Comp. Phys. Comm. 39, 37 (1986) -* -* -* *** GEOMETRY PACKAGE: New shapes and many improvements -* ================================================== -* -* Automatic optimisation of the geometry structure: -* A new data card OPTI has been introduced (S.Egli H1). -* OPTI -1 : disable optimisation -* OPTI 0 : only volumes GSORDered are optimised (as in 3.13) -* OPTI 1 : volumes GSORDered are optimised along the axis -* specified. All the other volumes are automatically -* optimised along the best axis (1 to 7). -* OPTI 2 : All volumes are optimised along the best axis. -* Volumes for which GSORD was called are also optimised. -* The default value for OPTI is 0. -* In case OPTI >0, the result of the optimisation is printed. -* The automatic optimisation is done at initialisation time by -* a new routine GGORDQ called by GGCLOS. -* -* -* Most of the geometry routines have been revisited and consolidated. -* The following new shapes are available. -* -* 'ELTU' is a cylinder with an elliptical section. -* It has three parameters: the ellipse semi-axis in X, -* the ellipse semi-axis in Y and the half length in Z. -* Given the equation of the conical curve: -* X**2/A**2 + Y**2/B**2 = 1, -* describing the volume,then: PAR(1) = A -* PAR(2) = B -* PAR(3) = DZ -* ELTU is not divisible. -* -* 'HYPE' is a hyperbolic tube, ie the inner and outer surfaces -* are hyperboloids, as would be formed by a system of -* cylindrical wires which were then rotated -* tangentially about their centres. The 4 parameters -* are the inner and outer radii, the half length in z, -* and the "stereo angle" theta in degrees, such that -* the hyperbolic surfaces are given by -* r**2 = (z*tan(theta))**2 + (r at z=0)**2 -* -* 'CTUB' (for cut tube) is a TUBS whose end planes are not -* perpendicular to the z axis. It has 11 parameters : -* the 5 of the TUBS shape plus the components of the normal -* to the end plane at the lower z (LXL,LYL,LZL) and -* those at the higher z (LXH,LYH,LZH). -* DZ means the half length in z for x = y = 0 -* -* -* Bugs have been fixed in the routines GNPCON, GNPGON and GNOPGO. -* -* The new version of GNOTRP requires an extended parameter array. -* In addition to the 11 specified parameters (of which 4 are -* modified in subroutine GSVOLU or GSPOSP), the coefficients of -* the implicit normalized plane equation for the 6 surfaces -* of the hexahedron are stored. -* -* IMPORTANT NOTE concerning the TRAP shape -* ======================================== -* The Geant documentation describes the Geant shape TRAP as follows: -* -* TRAP is a general trapezoid, i.e. one for which the -* faces perpendicular to z are trapezia and their -* centres are not at the same x, y. It has 11 -* parameters: Dz the half length in z, Th & Phi the -* polar angles from the centre of the face at z=-Dz -* to that at z=+Dz, H1 the half length in y at -* z=-Dz, LB1 the half length in x at z=-Dz and y=low -* edge, LH1 the half length in x at z=-Dz and y= -* high edge, Th1 the angle w.r.t. the y axis from -* the centre of the low y edge to the centre of the -* high y edge, and H2, LB2, LH2, Th2 the -* corresponding quantities to the 1s but at z=+Dz. -* -* This seems to describe a general hexahedron with 3 constraints: -* 2 constraints follow from the fact that two faces are "trapezia". -* (twice 2 edges parallel). -* The 3rd constaint is that two faces are parallel, namely the "trapezia" -* faces are both perpendicular to the Z-axis. -* We will assume that shape TRAP is a hexahedron with 3 -* constraints and direct our attention to the degrees of freedom -* of such a shape. -* The shape has 8 vertices and therefore 24 coordinates. -* If we first consider a volume with 8 vertices and 6 surfaces, -* but do not make the assumption that the surfaces are plane, -* we see that this shape has 18 degrees of freedom. -* We loose 3 coordinates because of the translational invariance -* of the shape and 3 coordinates because of its rotational -* invariance. -* If we now assume that the shape is a hexahedron, that is -* bounded by plane surfaces, we have 6 constraints, one for each -* surface, and our hexahedron has 12 degrees of freedom. -* Considering the 3 constraints mentioned in the beginning, -* we conclude that our shape trapezohedron has 9 degrees of freedom. -* It is however described by 11 parameters. -* Therefore we must either drop our assumption that shape TRAP is -* a hexahedron, that is bounded by parallel surfaces, or we must -* request that the user specifies the 11 parameters with certain -* constraints. -* -* To check that the user respected the constraints, we check the -* coplanarity of the faces during the specification phase of shape TRAP. -* We know the vertex coordinates, and we have the indices to the -* vertices for each face. -* Assuming that a face is tetrahedron, we compute its volume. -* We divide by the surface of the base triangle, and get a measure -* for the coplanarity of the face, which is actually a distance. -* A warning message is printed in case of no-coplanar faces. -* -* GSORD problem -* ============= -* A bug has been found in GTNEXT (and alike) which is induced by a bug of -* logic in GSORD/GGORD. User calls to GSORD, with ordering axis 4 (Rxy) -* or 5 (Rxyz), may cause problems when the ordered contents are such that -* one can jump from a given content to another one without crossing a -* content which, along the given axis, occupies a position in between the -* start and the end contents : e.g. coaxial TUBES with different Z-lengths -* should not in general be ordered by GSORD along the axis IAX=4 (Rxy). -* However, part of the information provided by such calls can still be -* used, in the static context of GTMEDI for instance. Therefore, the -* following convention has been introduced: If the user is sure that the -* contents are positioned in such a way that the anomaly mentioned above -* cannot occur, the call to GSORD can be modified by using IAX=14 (instead -* of 4), or 15 (instead of 5), in which case the ordering techniques will -* also be used in the dynamic context of GTNEXT. In case of doubt, the -* user has better to keep the old code, with IAX=4 or 5. -* -* *** DRAWING PACKAGE: Interface to the CG package -* ============================================ -* -* An interface to the CG (Combinatorial Geometry) package written -* at Serpukhov by E.Cernaev et al is now available. The new package -* is automatically called if the option 'HIDE' is selected. eg. -* -* CALL GDOPT('HIDE','ON') in a Fortran program -* DOPT HIDE ON/OFF in the interactive version -* -* This new facility includes a hidden line and surface algorithm -* which permits nice 3-D views of a detector. -* In the frequent case of hermetic 4 PI detectors, a facility -* to remove a box (The Cutting BOX) is also implemented. The Cutting BOX -* specifies a region of the detector which must be Cut to see inside. -* A new interactive command CBOX is available to specify the box limits. -* -* The CG system is part of the GEANG file (See Patches CGCDES,CGPACK) -* To activate the CG package, +USE,CG,*GEANG. -* -* -* *** The SCAN geometry -* ================= -* A new Patch,GSCAN has been introduced on a provisional basis in the GEANG -* file. See discussion about SCAN below. -* -* *** GUPARA: Parametrization interface -* ================================= -* A new FFREAD data cards PCUT can be used to set parametrization cuts. -* The first argument of the PCUT card is a integer flag which turns or -* on off the parametrization mechanism. If the parametrization is turned on -* and a particle falls below one of the 5 cuts specified by the PCUT card -* (similar in kind to the cuts specified by the card CUTS), then the -* routine GUPARA is called and tracking of the particle is abandoned. This -* mechanism is provided for applying parametrization schemes which -* replace a particle by a parametrized shower when it falls below -* a certain threshold. -* -*............................................................................. -* -* -* *** GXINT: Interactive version -* ========================== -* -* New menu FORTRAN: CALL,FILE,CLOSE,FORTRAN -* New menu HISTOGRAM: FILE,LIST,PLOT,DELETE,LEGO,HRIN,HROUT,PUT,GET -* ZONE,SET,OPTION,NULL -* New menu PICTURE: FILE,LIST,DELETE,SCRATCH,PLOT,RENAME,IZOUT,IZIN,IGSET -* New menu SCAN: PHI,THETA,SLIST,VERTEX,SFACTORS,LSCAN,HSCAN -* New menu PHYSICS: ANNI,BREM,COMP,DCAY,DRAY,HADR,LOSS,MULS,MUNU,PAIR, -* PFIS,PHOT,RAYL,CUTS,PHYSI -* -* The menus FORTRAN,HISTOGRAM and PICTURE are subsets of the similar -* menus in the PAW system. -* -* The menu PHYSICS gives the possibility to modify the run conditions. -* In case physics conditions are changed (LOSS,DRAY,MULS,CUTS) it is -* mandatory to call the command PHYSI (which calls GPHYSI) to recompute -* the cross-section and/or energy loss tables. -* -* The menu FORTRAN is similar to the FORTRAN menu of PAW. It contains -* in addition a new very important command FORTRAN which gives the -* possibility to describe the geometry (UGEOM) in a Fortran routine -* that can be edited interactively with the local editor and also -* executed interactively under the control of the Fortran interpreter -* COMIS. -* -* *** GEANT >FORTRAN FNAME -* -* The routines in the file FNAME will be compiled by COMIS. -* If routines with names: UGEOM,GUKINE,GUOUT,UGLAST are found, -* then they will be automatically called by GXINT instead of -* the routines with the same names compiled with the standard -* Fortran compiler and linked with the application. -* The user callable routines from the GEANT library as well as -* routines from PACKLIB (HBOOK,HPLOT,HIGZ,ZEBRA) may be called -* from these user routines. All GEANT common blocks may be -* referenced. -* In case where the routine UGEOM is called several times, -* it is important to DROP all the initialisation data structures -* JVOLUM,JMATE,JTMED,etc already in memory by using the routine GIDROP. -* -* Example of an interactive session where the routine UGEOM is modified: -* -* GEANT > Edit ugeom.for -* GEANT > Fortran ugeom.for -* GEANT > Call GIDROP -* GEANT > Call UGEOM -* GEANT > Dtree -* GEANT > Edit ugeom.for -* GEANT > Fortran ugeom.for -* GEANT > Call GIDROP -* GEANT > Call UGEOM -* GEANT > Dtree -* -* If FNAME='-', calls to user routines is reset and standard -* routines called instead. -* -* *** Interface to CG -* The command DOPT has a new option HIDE (DOPT HIDE ON/OFF) -* Type DOPT without parameters to get the list of all currently -* available options. -* When this option is ON, the subsequent graphics commands DCUT/DRAW -* will invoke the CG system for hidden line/surface removal. -* This algorithm requires a lot of memory and time. It is recommended -* to set the visibility attributes (SATT SEEN 0) for many of the -* volumes in case the command aborts for lake of memory or time. -* This option can also be used with the view banks mechanism (DOPEN) -* -* New command CBOX to specify the boundaries of the cutting box. -* -* *** PLMAT -* -* The existing command PLMAT offers the new possibility to plot -* various physics parameters (cross-sections, energy-loss tables,etc) -* in graphics format (via HPLOT) if MECAN=ALLG -* The Keywords 'STEP' or 'RANG' may also be specified to produce -* an alphanumeric output of the step-size and energy-range tables. -* -* PLMAT IMATE IPART MECAN [ IDM ] -* -* IMATE I 'Material number' -* IPART I 'Particle number' -* MECAN C 'Mechanism' -* IDM I 'ID mode option' D=0 -* -* -* *** New menu SCAN. The SCAN geometry -* ================================ -* -* This new menu contains various commands for an interactive interface -* to the SCAN geometry -* The SCAN geometry algorithm has been designed as a tool to improve -* the tracking speed. This new facility still requires substantial -* developments in view of the new parametrisation algorithms which -* are developed in collaboration between the CN/AS group and the -* LEP/HERA/LHC/SSC and other interested groups. -* The SCAN facility is being introduced in the version 3.14 on a trial -* basis to familiarise potential users with the concept. -* The SCAN geometry data structure JSCAN is automatically generated -* either by calling the GSCAN routine in the PATCH,GSCAN of GEANG -* or interactively by using the commands in the new menu SCAN. -* Starting from the normal geometry data structure created by GSVOLU, -* GSPOS,GSDVN,etc, the detector may be divided into a simpler geometry -* structure (theta,phi) or (eta,phi). -* Geantinos are tracked starting from a VERTEX position through -* the NPHI,NTETA divisions. For each division, the SCAN procedure -* will insert into the JSCAN data structure the following information -* for every main detector component specified in the SLIST command -* in the spherical R direction: -* Total number of radiation lengths up to entry in each R -* Total number of absorption lenghts -* Detector identifier -* When the interactive command TRIGGER is entered, the number of -* Geantinos specified as parameter will be tracked. In case the -* data structure JSCAN is not empty, the program will automatically -* start with the first PHI,TETA division not yet filled. As the -* number of Geantinos to be tracked can be very large (depending -* on the granularity) this gives the possibility to fill the JSCAN -* data structures in several passes. -* -* -* New menu SCAN: PHI,TETA,SLIST,VERTEX,SFACTORS,LSCAN,HSCAN -* -* ==> /SCAN/PHI NPHI [ PHIMIN PHIMAX ] -* -* NPHI I 'Number of PHI divisions' D=90 -* PHIMIN R 'Minimum PHI in degrees' D=0 -* PHIMAX R 'Maximum PHI in degrees' D=360 -* -* To specify number of divisions along PHI. -* -* -* ==> /SCAN/TETA NTETA TETMIN TETMAX [ DIVTYP ] -* -* NTETA I 'Number of TETA divisions' D=90 -* TETMIN R 'Minimum value of TETA' D=0 -* TETMAX R 'Maximum value of TETA' D=180 -* DIVTYP I 'Type of TETA division' D=1 R=1:2 -* -* To specify number of divisions along TETA. -* If DIVTYP=1 divisions in degrees following the THETA angle. -* If DIVTYP=2 divisions in pseudo-rapidity ETA. -* -* -* ==> /SCAN/SLIST LIST -* -* LIST C 'List of master volumes' -* -* Only boundary crossings of volumes given in LIST -* will be seen in the SCAN geometry. -* -* -* ==> /SCAN/VERTEX VX VY VZ -* -* VX R 'Scan vertex origin' D=0 -* VY R 'Scan vertex origin' D=0 -* VZ R 'Scan vertex origin' D=0 -* -* All Geantinos tracked will start from position VX,VY,VZ. -* -* -* ==> /SCAN/SFACTORS FACTX0 FACTL FACTR -* -* FACTX0 R 'Scale factor for SX0' D=100 -* FACTL R 'Scale factor for SL' D=1000 -* FACTR R 'Scale factor for R' D=100 -* -* Set scale factors for SX0,SL and R. The given scale factors must be -* such that: -* -* SX0*FACTX0 < 2**15-1 (32767) -* SL*FACTL < 2**10-1 (1023) -* SR*FACTR < 2**17-1 (131071) -* -* -* ==> /SCAN/LSCAN ID [ VOLUME CHOPT ] -* -* ID I 'Lego plot identifier' D=2000 -* VOLUME C 'Volume name' D='XXXX' -* CHOPT C 'List of options' D='OPX' R=' ,O,P,I,X,L' -* -* Generates and plot a table of physics quantities such as -* the total number of radiation lengths or interaction lengths -* in function of the SCAN parameters TETA,PHI. -* -* CHOPT='O' table is generated at Exit of VOLUME. -* CHOPT='I' table is generated at Entry of VOLUME. -* CHOPT='X' radiation lengths -* CHOPT='L' Interaction lengths -* CHOPT='P' Plot the table -* -* If VOLUME='XXXX' Mother volume is used. -* -* -* ==> /SCAN/HSCAN IDPHI [ VOLUME CHOPT ] -* -* IDPHI I 'Histogram/phi identifier' D=1000 -* VOLUME C 'Volume name' D='XXXX' -* CHOPT C 'List of options' D='OPX' R=' ,O,P,I,X,L' -* -* Generates and plot an histogram of physics quantities such as -* the total number of radiation lengths or interaction lengths -* in function of the SCAN parameter TETA for a given value of PHI. -* -* CHOPT='O' histogram is generated at Exit of VOLUME. -* CHOPT='I' histogram is generated at Entry of VOLUME. -* CHOPT='X' radiation lengths -* CHOPT='L' Interaction lengths -* CHOPT='P' Plot the histogram -* -* If VOLUME='XXXX' Mother volume is used. -* The histogram identifier IDPHI is used to also identify which -* PHI division to plot. IPHI=MOD(IDPHI,1000). -* If IPHI=0, then all PHI divisions are generated (not plotted) -* with histogram identifiers IDPHI+PHI division number. -* -* -* -* -* -* -* *** New commands FILE,REND,MDIR,CDIR,IN,OUT in the RZ menu. -* ======================================================= -* -* -* ==> RZ/FILE LUN FNAME [ CHOPT ] -* -* LUN I 'Logical unit number' -* FNAME C 'File name' -* CHOPT C 'Options' D=' ' R=' ,U,N,I,O' -* -* Open a GEANT/RZ file. Call GRFILE (See below). -* -* CHOPT=' ' readonly mode -* CHOPT='U' update mode -* CHOPT='N' create new file -* CHOPT='I' Read all structures from existing file -* CHOPT='O' Write all structures on file -* -* -* ==> RZ/OUT OBJECT [ IDVERS ] -* -* OBJECT C 'Structure name' -* IDVERS I 'Version number' D=1 -* -* Write data structure identified by OBJECT,IDVERS to RZ file. -* Call GROUT (See below) -* -* MATE write JMATE structure -* TMED write JTMED structure -* VOLU write JVOLUM structure -* ROTM write JROTM structure -* SETS write JSET structure -* PART write JPART structure -* SCAN write JSCAN structure -* * write all structures -* -* ==> RZ/IN OBJECT [ IDVERS ] -* -* OBJECT C 'Structure name' -* IDVERS I 'Version number' D=1 -* -* Read data structure identified by OBJECT,IDVERS into memory. -* Call GRIN (See below) -* -* MATE read JMATE structure -* TMED read JTMED structure -* VOLU read JVOLUM structure -* ROTM read JROTM structure -* SETS read JSET structure -* PART read JPART structure -* SCAN read JSCAN structure -* * read all structures -* -* -* -* -* *** New routines for direct access I/O in the GIOPA package -* ======================================================= -* -* ==> SUBROUTINE GRFILE(LUN,CHFILE,CHOPT) -*. -*. Routine to open a GEANT/RZ data base. -*. -*. LUN logical unit number associated to the file -*. -*. CHFILE RZ file name -*. -*. CHOPT is a character string which may be -*. 'N' To create a new file -*. 'U' to open an existing file for update -*. ' ' to open an existing file for read only -*. 'Q' The initial allocation (default 1000 records) -*. is given in IQUEST(10) -*. 'I' Read all data structures from file to memory -*. 'O' Write all data structures from memory to file -*. -*. Note: -*. If options 'I' or 'O' all data structures are read or -*. written from/to file and the file is closed. -*. See routine GRMDIR to create subdirectories -*. See routines GROUT,GRIN to write,read objects -*. -*. -*. -*. ==> SUBROUTINE GROUT(CHOBJ,IDVERS,CHOPT) -*. -*. Routine to write GEANT object(s) in the RZ file -*. at the Current Working Directory (See RZCDIR) -*. Input is taken from the data structures in memory -*. (VOLU,ROTM,TMED,MATE,SETS,PART,SCAN) -*. -*. CHOBJ The type of object to be written: -*. MATE write JMATE structure -*. TMED write JTMED structure -*. VOLU write JVOLUM structure -*. ROTM write JROTM structure -*. SETS write JSET structure -*. PART write JPART structure -*. SCAN write LSCAN structure -*. INIT write all initialisation structures -*. -*. IDVERS is a positive integer which specifies the version -*. number of the object(s). -*. -*. CHOPT List of options (none for the time being) -*. -*. Note that if the cross-sections and energy loss tables -*. are available in the data structure JMATE, then they are -*. saved on the data base. -*. -*. -*. The data structures saved by this routine can be retrieved -*. with the routine GRIN. -*. -*. Before calling this routine a RZ data base must have been -*. created using GRFILE. -*. The data base must be closed with RZEND. -*. Ex: if LUN=1 CALL RZEND('LUN1') -*. -*. The RZ data base can be transported between different -*. machines in using the ZEBRA RZ utility RZTOFZ. -*. -*. The interactive version of GEANT provides facilities -*. to interactively update, create and display objects. -*. -*. Example. -*. -*. CALL GRFILE(1,'Geometry.dat','N') -*. CALL GROUT('VOLU',1,' ') -*. CALL GROUT('MATE',1,' ') -*. CALL GROUT('TMED',1,' ') -*. CALL GROUT('ROTM',1,' ') -*. CALL GROUT('PART',1,' ') -*. CALL GROUT('SCAN',1,' ') -*. CALL GROUT('SETS',1,' ') -*. -*. The same result can be achieved by: -*. CALL GRFILE(1,'Geometry.dat','NO') -*. -*. -*. -*. ==> SUBROUTINE GRIN(CHOBJ,IDVERS,CHOPT) -*. -*. Routine to read GEANT object(s) fromin the RZ file -*. at the Current Working Directory (See RZCDIR) -*. The data structures from disk are read in memory -*. (VOLU,ROTM,TMED,MATE,SETS,PART,SCAN) -*. -*. CHOBJ The type of object to be read: -*. MATE read JMATE structure -*. TMED read JTMED structure -*. VOLU read JVOLUM structure -*. ROTM read JROTM structure -*. SETS read JSET structure -*. PART read JPART structure -*. SCAN read LSCAN structure -*. INIT read all initialisation structures -*. -*. IDVERS is a positive integer which specifies the version -*. number of the object(s). -*. -*. CHOPT List of options (none for the time being) -*. -*. -*. The RZ data base has been created via GRFILE/GROUT -*. -*. -*. Example. -*. -*. CALL GRFILE(1,'Geometry.dat',' ') -*. CALL GRIN ('VOLU',1,' ') -*. CALL GRIN ('MATE',1,' ') -*. CALL GRIN ('TMED',1,' ') -*. CALL GRIN ('ROTM',1,' ') -*. CALL GRIN ('PART',1,' ') -*. CALL GRIN ('SCAN',1,' ') -*. CALL GRIN ('SETS',1,' ') -*. -*. The same result can be achieved by: -*. CALL GRFILE(1,'Geometry.dat','I') -*. -*. -*. -* ==> SUBROUTINE GRMDIR(CHDIR,CHOPT) -*. -*. -*. Routine to create a subdirectory -*. -*. CHDIR Subdirectory name -*. -*. CHOPT is a character string which may be -*. ' ' To create a subdirectory -*. 'S' To create a subdirectory and set the new -*. Current Directory to this directory. -*. -*. - diff --git a/StarVMC/geant3/doc/history/v_315.F b/StarVMC/geant3/doc/history/v_315.F deleted file mode 100644 index 51e7f23d2f0..00000000000 --- a/StarVMC/geant3/doc/history/v_315.F +++ /dev/null @@ -1,961 +0,0 @@ -* -* $Id: v_315.F,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v_315.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib -* Geant -* -* -#include "sys/CERNLIB_machine.h" -#include "pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.18 by S.Giani -*-- Author : -* -* -* Maintenance and support for the GEANT MonteCarlo system -* are performed by the Simulation Section of the CERN -* Computing and Networks division. For any problem please -* contact: -* -* Federico Carminati -* CERN-CN -* 1211 Geneva 23 -* Tel: +41 22 767.4959 -* Telefax: +41 22 767.7155 -* E-mail: -* BITnet/EARN: FCA@CERNVM -* DECnet : VXCERN::FCA (Node 22.190) -* Internet : fca@cernvm.cern.ch -* -* An electronic GEANT discussion list has been set up on CERNVM. -* To be included in the mailing list it is enough to send the -* following message: -* -* TELL LISTSERV AT CERNVM SUBSCRIBE LGEANT Firstname Lastname Inst -* -* People who do not dispose of a TELL (or equivalent) bitnet -* command should send a mail to LISTSERV@CERNVM containing the -* only line: -* -* SUBSCRIBE LGEANT Firstname Lastname Inst -* -*================================= History -* -*===> 20/NOV/1990 -* -* Current plans set the release of GEANT 3.15 around the third -* quarter of 1991. -* -*===> 27/NOV/1990 -* -* Correction in GTRACK to set correctly the value of PREC -* to match machine precision. Thanks to Stephan Egli and -* M.Maire. -* Introduced in the 314 correction cradle. -* -*===> 28/NOV/1990 -* -* Correction in GNTUBE to avoid square root of a negative -* number. Thanks to M.Maire -* Introduced in the 314 correction cradle. -* -* Eliminate TOFG=0 from GINIT, already done in GTRIGI -* Thanks to F.Carminati -* Introduced in the 314 correction cradle. -* -*===> 29/NOV/1990 -* -* UNIX and BSLASH flags correctly set inside *GEANT. -* Thanks to A.Nathaniel -* GPMATE now prints also the components in case of -* mixtures. If NUMB is <0 then materials from 1 to -* -NUMB are printed. Thanks to Stephan Egli. -* -* Corrections in GRGET (obsolete), GGET, GRIN to reset -* correctly the number in GCNUM. Thanks to Stephan Egli -* Introduced in the 314 correction cradle. -* -*===> 30/NOV/1990 -* -* New version of GNOELT and GNELTU, thanks to Yoshihisa Iga -* and R.Nierhaus -* Introduced in the 314 correction cradle. -* -* Correction in GTRAK, all mechanisms turned off in the -* vacuum. Thanks to S.Egli -* Introduced in the 314 correction cradle. -* -* -*===> 03/DEC/1990 -* -* New routine GXPICK for the interactive version (Command -* DRAWING/PICK) to pick a point in a detector and return -* volume/material characteristics. Thanks to S.Egli. -* -*===> 04/DEC/1990 -* -* MAXNOD from 2000 to 8000 in GDTR0. Suggestion by S.Egli. -* Introduced in the 314 correction cradle. -* -* Bug corrected in GGCLOS, do not touch ISEARC in case -* of user search (ISEARC.GT.0). Thanks to D.Ward. -* Introduced in the 314 correction cradle. -* -*===> 05/DEC/1990 -* -* Correction in TWOB, get correctly Tmin and Tmax and -* their distribution. Thanks to Marko Mikuz. -* Introduced in the 314 correction cradle. -* -*===> 06/DEC/1990 -* -* Correction in TWOCLU and GENXPT to improve energy -* conservation. Thanks to S.Egli. -* Introduced in the 314 correction cradle. -* -*===> 11/DEC/1990 -* -* Generic function LOG introduced in GHFRAK. Generic -* functions MAX and MIN introduced in several routines -* in GGEOM (HYPE) and CGPACK. Generic SIN, COS, ATAN and -* SQRT introduced in CGPACK. Thanks to Federico Carminati. -* Introduced in the 314 correction cradle. -* -*===> 13/DEC/1990 -* -* GTAU routine to be obsoleted. -* -* Supporting link for the LSCAN data structure mispelled -* in several places. Corrected now. Thanks to Isabel Josa. -* Introduced in the 314 correction cradle. -* -* Unused variable IPOT eliminated from GHFFER. -* -* Changes in the interactive part for ATC GKS which does -* not use FORTRAN unit for metafiles. (routines GXINT and -* GXGCON). Thanks to W.Koellner -* -*===> 14/DEC/1990 -* -* REAL*8 changed to DOUBLE PRECISION in CGPACK. -* Life of the D+/- mesons was 100 times too short. -* Thanks to Cheng He Sheng. -* Introduced in the 314 correction cradle. -* -*===> 19/DEC/1990 -* -* Modification in GDRAW and GDSPEC to correct a bug. -* Modifications in GLVOLU not to print a warning message -* caused by drawing. -* Introduced in the 314 correction cradle. -* -*===> 20/DEC/1990 -* -* Correction in GRAYLI affecting Rayleigh effect in -* mixtures. -* Introduced in the 314 correction cradle. -* -* Recode of GRAYLI and GHESIG to be safer with respect -* to compiler optimization. -* Thanks to Rafi Yaari. -* -*===> 8/JAN/1991 -* -* Corrections in GRGET, GGET, GRIN to set correctly -* NPART, NTMED, NMATE, NVOLUM. Thanks to Lee Roberts. -* Introduced in the 314 correction cradle. -* -* New meaning for ISVOL. If <0 the material is not a -* a detector but the tracking parameters are the same -* as in the case ISVOL>0 (sensitive medium). -* Thanks to Michel Maire. -* Introduced in the 314 correction cradle. -* -*===> 9/JAN/1991 -* -* TMAXFD not recomputed with IGAUTO=1 if the value given -* by the user >= 0. Default value reset to 20. instead of -* 60. degrees. Thanks to W.Mueller and M.Maire -* Introduced in the 314 correction cradle. -* -*===> 10/JAN/1991 -* -* Corrections in GPFIS, GPFISI and GPHYSI for the fotofission -* and fotoabsorbtion (Giant resonance) of photons on Uranium -* and plutonium. Thanks to Harm Fesefeld. -* Introduced in the 314 correction cradle. -* -* Correction in GPHYSI in case ILOSS=2 and more than one -* tracking medium with the same material number then a -* spurious error message was printed. Thanks to Kevin Sparks -* Introduced in the 314 correction cradle. -* -* Corrections in GENXPT, TWOCLU, TWOB, CINEMA and EXNU. -* Thanks to Harm Fesefeldt. -* Introduced in the 314 correction cradle. -* -*===> 11/JAN/1991 -* -* Correction in GPPART in case of user words. Thanks to Walter -* Mueller. -* Introduced in the 314 correction cradle. -* -* Correction in GSTMED to protect for EPSIL <=0. Thanks to -* Michel Lefebvre. -* Introduced in the 314 correction cradle. -* -*===> 14/JAN/1991 -* -* Correction in GRGET to read the banks in the correct -* division. Thanks to M.Maire. -* Introduced in the 314 correction cradle. -* -* Improvement of GRIN, GROUT. New global keywords KINE and -* TRIG can now be used. Thanks to Federico Carminati -* Introduced in the 314 correction cradle. -* -*===> 17/JAN/1991 -* -* Correction in GSVOLU, GSDVN, GSDVN2, GSDVT, GSDVT2 not to -* use uninitialized LINATT, set by GDINIT. This should take -* care of the problem of empty drawings. Thanks to Simone Giani. -* Introduced in the 314 correction cradle. -* -* Correction in GPKINE to print correctly user words and vertex -* information. Thanks to Kevin Sparks. -* Introduced in the 314 correction cradle. -* -* Correction in GPVERT to print correctly user words and vertex -* information. Thanks to Soren G. Frederiksen. -* Introduced in the 314 correction cradle. -* -*===> 18/JAN/1991 -* -* Max. GCKING stack size parametrized. The actual value of the -* stack is not changed (100), but can be redefined in the -* sequence GCKMAX. Important for LHC studies. -* Thanks to Harm Fesefeldt. -* -* Correction in GPRINT to call correctly GPDIGI and GPSETS. -* Thanks to Michel Maire. -* Introduced in the 314 correction cradle. -* -*===> 22/JAN/1991 -* -* New facilities of DZDOC introduced in the interactive menu. -* Patchy flag (DZDOC) to assure backward compatibility. -* Thanks to O.Schaile -* -*===> 31/JAN/1991 -* -* New facility using the JUMPT package to call user routines. -* Patchy flag (USRJMP) to assure bacward compatibility. -* Thanks to F.Carminati -* -*===> 05/FEB/1991 -* -* Correction in GINIT to print the level of the correction -* cradle applied. Thanks to F.Carminati. -* Introduced in the 314 correction cradle. -* -* Correction Cradle 3.14/06 stamped and released. -* -*===> 06/FEB/1991 -* -* Introduction of the AIX370 flag in GEANX and GEANT. -* Thanks to Roger Howard. -* -*===> 13/FEB/1991 -* -* Protection in GTRACK, GFTRAC and GLTRAC, do not update -* pointers to cross section banks in the vacuum. -* Thanks to C.Fuglesang, S.Banerjee, M.Maire. -* Introduced in the 314 correction cradle. -* -*???> Backward incompatibility -* -* GFDETH returns NAMESH as a character*4 array and -* GFDETD returns NAMESD as a character*4 array. -* Thanks to M.Maire. -* -* -*===> 14/FEB/1991 -* -* Mods in GPMATE, GPPART, GPTMED, GSDK, GSMATE, GSMIXT, GSPART, -* GSTMED, GSROTM, GPROTM -* to warn against replacement of existing objects. Thanks to -* Steve O'Neale. -* Introduced in the 314 correction cradle. -* -* Force load of user routines in GINIT. -* Introduced in the 314 correction cradle. -* -*===> 15/FEB/1991 -* -* GSDVN to notify correctly when mother volume does not exists. -* Thanks to Victor Perevoztchikov. -* Introduced in the 314 correction cradle. -* -*===> 20/FEB/1991 -* -* Correction in GHEINI for the exponent range to be compatible -* with IEEE machines. Original limits were for IBM/370. -* Routine LIMDAT eliminated. Thanks to Hans-Jochen Trost. -* Introduced in the 314 correction cradle. -* -*???> Backward incompatibility -* -* Parameter NAMATE returned from GFMATE now a CHARACTER*20 -* variable. Thanks to Michel Maire. -* -* Monitoring introduced, flag MONITOR. Thanks to F.Carminati. -* Mods in GXINT, GINIT, GLAST. Routine GEAMON introduced. -* Introduced in the 314 correction cradle. -* -*===> 22/FEB/1991 -* -* GWORK in GINIT was (DUMMY) called without arguments. -* GUDTIM was (dummy) called as a routine and it is a -* function. Thanks to F.Carminati. -* Introduced in the 314 correction cradle. -* -* GUVIEW to specify 3rd argument as a character. Thanks to -* Federico Carminati. -* Introduced in the 314 correction cradle. -* -* Call NUCRIN with the right number of arguments (the last -* was not used anyway). Thanks to Federico Carminati. -* Introduced in the 314 correction cradle. -* -*===> 04/MAR/1991 -* -* Correction in GMUSIG to avoid division by zero. Thanks to -* M.Verzocchi. -* Introduced in the 314 correction cradle. -* -* -*===> 20/MAR/1991 -* -* Corrections in GPRELM, muon e+e- soft radiation. Correction in -* GDRELM for the ionization energy loss for muons. Thanks to -* A.Nathaniel. Introduced in the 314 correction cradle. -* -*===> 21/MAR/1991 -* -* Correction in GPHYSI to initialise the JMULOF bank even in -* the case of vacuum. Electron tracking in vacuum was not taking -* into account the TMAXFD parameter. Correction in GRANGI to set -* the range to BIG in case of 0 energy loss tabulated in JLOSS. -* Correction in GPHYSI to switch off all the mechanisms in the -* vacuum but decay. The corresponding code in GTRACK has been -* removed. The previous corrections for IUPD in GLTRAC, GFTRAC -* and GTRACK have been removed as well. Thanks to D.Ward, R.Brun, -* F.Carminati -* Introduced in the 314 correction cradle. -* -* Corrections in GRANGI and in GTHADR to cure small steps in -* tracking. Thanks to M.Maire. -* Introduced in the 314 correction cradle. -* -*===> 25/MAR/1991 -* -*???> Backward incompatibility -* -* GFPART returns NAPART as a CHARACTER*20 array. Thanks to R.Rui -* Introduced in the 314 correction cradle. -* -*===> 26/MAR/1991 -* -* GFTMAT will return the correct values for the vacuum, except -* for hadrons. Thanks to P.Gumplinger. -* Introduced in the 314 correction cradle. -* -* Correction in GPCXYZ when the number of mechanisms is greater -* than 6. Thanks to Y.Iga. -* Introduced in the 314 correction cradle. -* -* -*===> 27/MAR/1991 -* -* GDXYZ corrected to use HIGZ generic line types. Thanks to -* M.Maire. -* Introduced in the 314 correction cradle. -* -* Correction in the CDF for RZ/IN and RZ/OUT. Thanks to -* F.Carminati. -* Introduced in the 314 correction cradle. -* -*===> 04/APR/1991 -* -* For reasons of speed GKS-type lines are used now in -* GDCXYZ, GDXYZ. Thanks to F.Carminati. -* Introduced in the 314 correction cradle. -* -*===> 18/APR/1991 -* -* Correction of the logic for TMAXFD. Now is: -* -* AUTO 1: 0 accepted -* TMAXFD>20 --> set to 20 -* TMAXFD<=0 --> set to 20 -* -* AUTO 0: TMAXFD>0 --> accepted -* TMAXFD<=0 --> set to 20 -* -* Thanks to Gerry Lynch. -* Introduced in the 314 correction cradle. -* -* Correction in GMULOF. STMIN=BIG for the vacuum. Thanks -* to F.Carminati. -* Introduced in the 314 correction cradle. -* -* Correction in GRFILE, GRIN called with IDVERS=0 and not -* 999. Thanks to F.Carminati. -* Introduced in the 314 correction cradle. -* -*===> 22/APR/1991 -* -* Corrections in GPRELA, GMULOF, GPHYSI and GTNEXT. Now -* STMIN is set to 0. for vacuum independly of the AUTO -* flag. Thanks to M.Maire. -* Introduced in the 314 correction cradle. -* -* Format correction in GSDVN. Thanks to Federico Carminati. -* Introduced in the 314 correction cradle. -* -*===> 23/APR/1991 -* -* Correction in GINIT to initialize LIN via IQTTIN if -* different from 0. Thanks to F.Carminati -* Introduced in the 314 correction cradle. -* -*===> 24/APR/1991 -* -* New routines GPLMAT, GPRMAT, GPGKIN from Michel Maire. -* -*===> 25/APR/1991 -* -* geant.metafile is not opened any more by default. -* The METAFILE command now accepts the metafile name -* for packages like ATC-GKS which do not use FORTRAN. -* Thanks to W.Koellner. -* -*===> 01/MAY/1991 -* -* Problem corrected in GHEISH for neutron cascade. A neutron -* undergoing an hadronic reaction could generate two recoil -* protons. Thanks to Henk den Bok. -* Introduced in the 314 correction cradle. -* -* Correction in GNEXT/GTNEXT. STMIN not used anymore for -* MANY volumes. Thanks to M.Maire. -* Introduced in the 314 correction cradle. -* -*===> 02/MAY/1991 -* -* Call to NVETIM routine removed from GHEISHA. Thanks to -* F.Carminati. -* -*===> 07/MAY/1991 -* -* RNDM interactive command added to set the random number -* generator seeds. Thanks to F.Carminati. -* -*===> 08/MAY/1991 -* -* New routine GDTRAK introduced to draw a track and delete -* it from the JXYZ buffer optionally. Thanks to R.Brun, -* F.Carminati. -* -* Important correction in GTGAMA, GTNEUT to avoid problems -* due to machine precision. When a push is made to cross a -* volume boundary the condition that the change in coordinate -* be not negligible is imposed. Thanks to F.Carminati, R.Brun. -* Introduced in the 314 correction cradle. -* -*===> 09/MAY/1991 -* -* Correction in GMGAUS due to G.Lynch. The sigma of the multiple -* scattering in the gaussian approssimation was too small. -* Introduced in the 314 correction cradle. -* -*===> 14/MAY/1991 -* -* Corrections in GTELEC, GTHADR and GTMUON to introduce the -* same boundary correction than in GTNEUT, GTGAMA. Thanks to -* P.Gumplinger. -* Introduced in the 314 correction cradle. -* -* New menu in GXINT to handle FZ files. Thanks to F.Carminati -* -*===> 17/MAY/1991 -* -* Correction in GHFHDN to reset to 0. TOFD. Thanks to -* R.Rui. -* Introduced in the 314 correction cradle. -* -*===> 31/MAY/1991 -* -* Correction in GTRACK to allow PREC to decrease and avoid -* problems when changing particle and position but not medium. -* Thanks to R.Spiwoks. -* Introduced in the 314 correction cradle. -* -*===> 4/JUN/1991 -* -* New version of the hidden line removal, thanks to S.Giani. -* New menu CVOL introduced to cut volumes and new SHIFT -* command to shift volumes for drawing. -* -* Correction in GHEISH. The ENP parameters are reset to 0. -* at the beginning of every event. Thanks to Henk den Bok. -* Introduced in the 314 correction cradle. -* -*===> 5/JUN/1991 -* -* Correction introduced in GPHYSI. JTM recalculated after -* bank push. Thanks to K.Sparks. -* Introduced in the 314 correction cradle. -* -*===> 11/JUN/1991 -* -* Correction introduced in GTELEC, GTMUON, GTHADR. When the -* energy loss is below machine precision, it is recalculated -* via the De/Dx table. Thanks to H.Fesefeld and Ralf Spiwoks. -* Introduced in the 314 correction cradle. -* -* Booking of the bank IMAT-4 delayed till GPHYSI. Will save some -* words in case of materials which are not inserted in a tracking -* medium. Thanks to F.Carminati. -* -*???> Backward incompatibility -* -* The argument DMAXMS in the calling sequence of GSTMED, unused -* in 314, will be called STEMAX and will assume the meaning of -* maximum step allowed for a particle in the given material. -* This will only affect people running with AUTO 0. In case of -* automatic computation of the tracking media parameters, this -* number will be set to BIG (=1.E10). -* Thanks to F.Carminati, M.Maire. -* -*===> 12/JUN/1991 -* -* Corrections in GMUNU to allow the usage of a variable number of -* energy bins. Corrections in PHASP and GMUSIG for very high -* energies. Thanks to Hans-Jochen Trost. -* Introduced in the 314 correction cradle. -* -* Correction in GFLTHE to avoid division by 0. Thanks to -* Roy Bossingham. -* Introduced in the 314 correction cradle. -* -*===> 13/JUN/1991 -* -* Correction in GINPGO and GINPCO to check correctly the PHI -* limits. Thanks to R.Bossingham. -* Introduced in the 314 correction cradle. -* -*===> 19/JUN/1991 -* -* Correction in GMUNU to calculate correctly the angle of the -* incoming muon. Thanks to H-J.Trost. -* Introduced in the 314 correction cradle. -* -*===> 20/JUN/1991 -* -* Corrections in GLANDZ for high energy to avoid numerical -* problems. Thanks to H-J.Trost. -* Introduced in the 314 correction cradle. -* -*===> 26/JUN/1991 -* -* All the routines and the commons of the HADRIN/NUCRIN -* package have been renamed. All routines begin now with -* GHF and all commons with GCF. This to avoid interactions -* with the interface with FLUKA. Thanks to F.Carminati -* -*===> 28/JUN/1991 -* -* New algorithm for pushing a view bank. Now push of the -* max between MORGS and the 25% of the size of the view -* bank. Thanks to S.Giani. -* -*===> 17/JUL/1991 -* -* Common HIATT of HIGZ removed from GXCONT and workstation type -* retrieved in GXDZ from Workstation ID. Thanks to O.Couet. -* -* Modification in GMUSIG to protect against possible division -* by zero. Thanks to M.Sarris. -* -* Correction in GDSHOW to recalculate COSPSI and SINPSI. Thanks -* to M.Verzocchi. -* Introduced in the 314 correction cradle. -* -*===> 18/JUL/1991 -* -* Correction in GINVOL. When tracking in magnetic -* field they could return the wrong volume. Thanks to D.Greiner. -* Introduced in the 314 correction cradle. -* -*===> 24/JUL/1991 -* -* Corrections in GRIN to allow tracking after reading a data -* structure. Thanks to R.Brun. -* Introduced in the 314 correction cradle. -* -* Modifications in GXINT to allow running with the MOTIF -* user interface. Thanks to R.Brun. -* -*===> 31/JUL/1991 -* -* INT=0 suppressed in GHEISH after nuclear fission. -* Thanks to Kati Lassila. -* -*===> 01/AUG/1991 -* -* Protection introduced in GMUSIG. Thanks to Jochen Trost. -* Introduced in the 314 correction cradle. -* -*===> 02/AUG/1991 -* -* Correction in GHSTOP to fix the calculation of the time of -* flight for stopping particles. Thanks to L.Roberts. -* Introduced in the 314 correction cradle. -* -* Correction in GNPGON not to calculate safety for the inner -* radius when this is 0. Thanks to Andrei Nomerotsky. -* Introduced in the 314 correction cradle. -* -* Correction in GNOTRP to return the correct SNXT. Thanks to -* V.Innocente. -* Introduced in the 314 correction cradle. -* -* Correction in GHSTOP not to discard hadrons at rest, they -* may decay. Thanks to H.Fesefeld. -* Introduced in the 314 correction cradle. -* -* Modifications in GHSTOP and GHEISH to handle user defined -* particles. Thanks to P.Gumplinger. -* Introduced in the 314 correction cradle. -* -*===> 12/AUG/1991 -* -* Call to GUINTI added in GINTRI to define user commands. Thanks -* to V.Vercesi. -* Introduced in the 314 correction cradle. -* -*===> 21/AUG/1991 -* -* Modification in GTMED to print a warning when FIELDM .EQ. 0 -* and IFIELD .NE. 0. Thanks to Federico Carminati -* -* Modification in GTHADR to set CFLD = BIG in case FIELDM=0. -* Thanks to V.Vercesi. -* Introduced in the 314 correction cradle. -* -*===> 27/AUG/1991 -* -* Call to C dummy routine to initialise X11 introduced in -* GXINT for IBM/VM. Thanks to M.Marquina. -* -*===> 19/SEP/1991 -* -* Rayleigh effect now the default. IRAYL is set to 1 by default -* in GINIT. Thanks to M.Maire -* -* Changes in the multiple scattering routines. GMOLI1 and GMOLI2 -* suppressed and GMOLIO used instead. Corresponding changes in -* GMULTS and GMULOF. The code of GMOLS has been put in line inside -* GMOLIE and GMOLS is obsolete. GPOISS and GMCOUL modified for -* performance reasons. -* Gaussian scattering is now generated according to the Rossi -* gaussian formula and there is no logarithmic term in the -* sigma of the gaussian. This gives a distribution where the -* tails are underestimated, but which is consistent over many -* steps. -* Moliere and single Coulomb scattering are chosen according to -* the value of Omega in the Moliere formula. -* The new meaning of IMULS is the following: -* -* IMULS = 0 No multiple scattering -* IMULS = 1,2 Moliere or single Coulomb scattering -* IMULS = 3 Gaussian scattering with Rossi formula -* -* Thanks to G.Lynch. -* -*===> 14/OCT/1991 -* -* New algorithm for calculation of energy loss. The stopping -* range is now calculated with a parabolical interpolation -* instead than with a linear one. This gives a dE/dx curve -* which is a piecewise linear function and not a step function. -* Thanks to F.Carminati. -* -* Modification of GNOPG1 taking care of the case of a particle -* which is very near to the surface and it may appear inside due -* to machine precision. This could cause the volume to be skipped. -* Thanks to R.Nierhaus. -* -* Routine GNPGON rewritten for the calculation of SNXT. The -* previous routine was returning wrong results. Thanks to -* R.Nierhaus. -* -*===> 28/OCT/1991 -* -* Modifications in the routines GFLPHI and GFCOOR. The ordering -* for TUBS in phi was wrong. Volumes could become invisible. -* Thanks to F.Carminati. -* -* New routine GFVERT introduced. Retrieves the parameters of a -* vertex. Thanks to F.Carminati. -* -*===> 29/OCT/1991 -* -* Modification in NUCREC to zero the whole of the PV array -* to prevent the use of uninitiated variables. Thanks to -* F.Ranjard. Introduced in the 3.14 correction cradel. -* -*===> 1/NOV/1991 -* -* Useless code commented out in GTRAIN. Thanks to F.Carminati. -* -* GNCONE gone to double precision. Thanks to J.Toth. -* -*===> 5/NOV/1991 -* -* Variable USERW undefined in the RESULT common now set to -* UPWGHT from GCTRAK common. Thanks to F.Ranjard. -* -* Type declarations for GCSTAK completed. Thanks to M.Battle. -* -*===> 5/DEC/1991 -* -* New calculation of the range table. Simpson integration rule -* used. Modifications in GRANGI, GCOEFF. -* -*===> 10/DEC/1991 -* -* Protection introduced against the reading of a pre-315 data -* structure. The value of STEMAX is set to BIG in this case. -* Modification in GPHYSI. -* -* Better handling of version numbers in I/O operations. -* Modifications in GPHYSI and GRIN. -* -*===> 08/JAN/1992 -* -* Correction in GLANDZ to avoid gaussian distribution for -* very thin layers. The version of GEANT 3.13 has been -* used for this. Thanks to F.Carminati and M.Maire. -* -* Corrections in GTNEXT, GINVOL and GTMEDI to protect against -* wrong values of INGOTO when using MANY volumes. Thanks to -* R.Brun. -* -*===> 15/JAN/1992 -* -*???> Backward incompatibility -* -* The random numbers seeds are stored at the end of every event -* in the JRUNG bank at locations 19 and 20. If the JRUNG data -* structure is read in and the data card RNDM or the interactive -* command RNDM has not been issued (NRNDM(1), NRNDM(2) <> 0), -* and if the words 19/20 are not 0, then the random number -* generator is restarted with these seeds. Thanks to F.Carminati -* -* The RNDM command now reads the values of the seeds into -* NRNDM(1) and NRNDM(2) in common GCFLAG. The values 0 0 -* can be used for the random seeds. These values will not -* alter the current status of the random number generator, -* but zeroing the variables NRNDM(1) and NRNDM(2) will -* allow them to be reinitialised with the values stored -* in a data structure read from disk. Thanks to F.Carminati -* -* Routine GREND now needs an integer as input. This is to be -* consistent with GRFILE. -* -*===> 27/JAN/1992 -* -* The following changes made to the names of FLUKA routines -* to avoid clashes with ISAJET. Thanks to L.Roberts. -* -* Type Original name New name -* Routine DECAY FKDECA -* Routine FLAVOR FKFLAV -* Routine SIGINT FKSIGI -* -*===> 31/JAN/1992 -* -* Corrections in GMEDIA in case of many volumes to avoid -* program crash. Thanks to R.Jones. -* -* Change of logics in GRUN. Now if NEVENT is <= 0, no event -* is processed. Thanks to B.Lockman. -* -* Common GCFLAX put in the GCFLAG sequence with the BATCH and -* NOLOG variable from GXINT. Thanks to B.Cole. -* -* Problem corrected in GDECAY. The mass of the particle was -* altered. If the next particle was the same, the mass was -* not reset to its correct value. Thanks to S.Tonse. -* -* TIMINT is now really the time left after initiatlization -* as is specified in the documentation and not the time -* USED for initialization as it was till now. -* Thanks to V.Ivanov. -* -* Corrections in GNPGON. Improvement of code safety under -* optimization in GNOGO1, GNPGON, GNPCON. Thanks to Y.Iga. -* -*===> 4/FEB/1992 -* -* Corrections in GMULOF and GTHADR. SFIELD takes precedence -* on STMIN in case IFIELD=1 to make sure that the Runge-Kutta -* approssimation still works. Thanks to R.Hawkings. -* -*===> 10/FEB/1992 -* -* Correction in GDRAY to improve the precision in the calculation -* of the angle. Thanks to F.Carminati & P.Lubrano. -* -* Change in GFKINE. The variable TOFG is not updated any more. -* Thanks to F.Carminati -* -* New GMEDIA, GTMEDI, GINVOL to take care of the problems with -* MANY volumes. Thanks to R.Jones. -* -*===> 14/FEB/1992 -* -* Bug corrected in GNPGON when the particle was exactly on the -* wall of the last Z section. Thanks to V.Palichik. -* -*===> 17/FEB/1992 -* -* Updated routines GLUND, GLUNDI and new sequences LUDAT1, LUDAT3, -* LUJETS. The data cards MSTE, KTYP, PMAS, PWID, IDB have been -* removed because either obsolete or not aplicable. The new code -* runs with JETSET 7.3 upward. Thanks to F.Carminati, T.Sjostrand. -* -* Update of GLUDKY to work with 7.3. Thanks to F.Carminati. -* -*===> 23/FEB/1992 -* -* New subroutine GFIN to handle sequential input. Routine GGET -* has been maintained for backward compatibility. -* Thanks to F.Carminati. -* -*===> 01/MAR/1992 -* -* New Runge-Kutta integration routine for the tracking in -* magnetic field. If the result of the stepping is not accurate, -* the step is divided in 2 parts and the integration repeated -* and so on. Thanks to V.Perevotchikov. -* -*===> 05/MAR/1992 -* -* Correction in GLTRAC. When the particle fetched has an entry -* in JKINE the correct vertex number is calculated. Thanks to -* Y.Foka. -* -*===> 06/MAR/1992 -* -* Correction in GTELEC. The calculated range may be slightly -* larger than the maximum allowed range due to precision -* problems and this was leading to very small negative steps. -* Thanks to R.Brun. -* -*===> 08/MAR/1992 -* -* New GRKUTA, GHELIX, GHELX3 from V.Perevotchikov. -* -*===> 16/MAR/1992 -* -* ENERGY renamed to FKENER in FLUKA. Thanks to F.Carminati -* -*===> 17/MAR/1992 -* -* VERTEX->FKVERT, ZEROIN->FKZERO, ERROR->FKERRO in FLUKA. -* Thanks to F.Carminati -* -* Corrections in PBANH. Thanks to M.Sasaki. -* -*===> 19/MAR/1992 -* -* Corrections in GFIN, GFOUT and GRIN, version 0 is now allowed -* for a data structure in I/O. Thanks to B.Cole. -* -* Modification in GBREME to improve precision for small angles. -* Thanks to F.Carminati. -* -* Inlining of rotation routines in GFTRAC, GINVOL, GTMEDI, -* GTNEXT, GMEPOS, GMEDIA. Thanks to D.Kryn, F.Carminati. -* -* New routines GDLENS, GDPLST and GDPRTR in the drawing package. -* New version of GDTREE. Thanks to S.Giani. -* -* Streamlining of GDTOM, GINROT, GITRAN, GMTOD, GRMTD, GRMUL, -* GROT, GTRMUL and GTRNSF. Thanks to F.Carminati. -* -*===> 23/MAR/1992 -* -*???> Backward incompatibility -* Tracking medium name in GFTMED changed in CHARACTER variable. -* Thanks to V.Perevotchikov. -* -* IMPULS renamed to FKIMPU -* DRES renamed to FKDRES -* ERUP renamed to FKERUP in FLUKA. Thanks to F.Carminati. -* -*===> 24/MAR/1992 -* -* COSI entry point renamed to FKCOSI -* POLI renamed to FKPOLI in FLUKA. Thanks to F.Carminati -* -* Changes in GCOMP to increase the precision of the rotation -* of the scattered photons and electrons in the reference -* frame of the incoming particle. Thanks to F.Carminati -* -* New version of the routines GNOPG1 and GNPGO1. Speed up of -* a factor two or more achieved. Thanks to F.Carminati, -* M.Roethlisberger. -* -*===> 29/MAR/1992 -* -* Improvement of the routines GMEDIA, GTMEDI and GINVOL. A better -* use is made of the variable INGOTO. Thanks to R.Jones, F.Carminati. -* -*===> 01/APR/1992 -* -* Modification in GTRACK. If a particle tries for more than 5 times -* consecutively to exit a volume, the precision used for tracking is -* multiplied by 5 and so on every fifth attempt. Thanks to -* F.Carminati. -* -* Modification in FLUFIN to normalise in double precision the -* direction cosines given to FLUKA. Thanks to A.Ferrari -* -* Modification in GLANDZ to avoid peaks in energy loss for very -* light materials. Thanks to F.Carminati -* -* New routine GETVER to crack the title sequence and to return -* the correct version number. Thanks to F.Carminati and M.Maire. -* diff --git a/StarVMC/geant3/doc/history/v_316.F b/StarVMC/geant3/doc/history/v_316.F deleted file mode 100644 index 49cd6b91fb7..00000000000 --- a/StarVMC/geant3/doc/history/v_316.F +++ /dev/null @@ -1,717 +0,0 @@ -* -* $Id: v_316.F,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: v_316.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib -* Geant -* -* -#include "sys/CERNLIB_machine.h" -#include "pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.18 by S.Giani -*-- Author : -* -* Correction cradle for version 3.15 of the GEANT Programme -* and history of the evolution of 3.16. -* -* Important !!! -* ============= -* -* Only corrections flagged by "Introduced in the 3.15 correction -* cradle" are applied to 3.15. All the other comments refer -* to modifications which will appear in the 3.16 version of -* the program. -* -******************************************************************** -* -*===> 06/12/93 -* -* Release of the 3.11 correction cradle. -* -*===> 02/12/93 -* -* Correction in GBRELE and GRANGI. Thanks to F.Carminati. -* Introduced in the 3.15 correction cradle. -* -*===> 29/11/93 -* -* Release of the 3.10/00 correction cradle. -* -*===> 21/10/93 -* -* Correction in FKDECA and HADEVV to permit the correct -* treatment of charmed particles decay. Thanks to -* A.Ferrari. Introduced in the 3.15 correction cradle. -* -* Correction in FKDRES to avoid a loop. Thanks to -* B.Slater and A.Ferrari. Introduced in the 3.15 correction -* cradle. -* -*===> 20/10/93 -* -* Correction in GDRAW to update current pointer to IN -* bank. Correction in GGPPAR to compute the internal -* parameters of a TRAP with negative parameters. Thanks -* to S.Banerjee. Introduced in the 3.15 correction cradle. -* -*===> 19/10/93 -* -* Correction in GTNEUT, GTHADR, to allow hadronic decay -* in the vacuum. Thanks to R.Jones. Introduced in the -* 3.15 correction cradle. -* -*===> 01/10/93 -* -* Correction in GNSLWD to avoid numerical problem. Thanks -* to A.Parri. Introduced in the 3.15 correction cradle. -* -*===> 15/09/93 -* -* Release of the 3.09/00 correction cradle. -* -*===> 13/09/93 -* -* Correction in GNOCTU, thanks to M.Nessi. Introduced in -* the 3.15 correction cradle. -* -*===> 03/09/93 -* -* Correction in EVENTV to protect square root of a negative -* number. Thanks to B.Slater and A.Ferrari. Introduced in -* the 3.15 correction cradle. -* -*===> 11/08/93 -* -* New tratment for thin layer, mainly gas, of dE/dx -* introduced. Thanks to V.Grishin, S.Kotelnikov, -* K.Lassila-Perini and P.Nevski. -* -* All bit manipulation functions replaced by Military -* Standard functions. Thanks to F.Carminati. -* -*===> 19/07/93 -* -* Correction in FLUFIN in order to avoid 0 mechanism -* number when IHADR=2. Thanks to P.Bloch. Introduced -* in the 3.15 correction cradle. -* -* Correction in GSROTM, NROTM updated when the bank is -* pushed. Thanks to M.Maire. Introduced in the 3.15 -* correction cradle. -* -* Correction in ERTRGO. Thanks to E.Nagy. Introduced -* in the 3.15 correction cradle. -* -*===> 07/06/93 -* -* Release of version 3.08 of the correction cradle. -* -* New version of the FLUKA interface introduced. New -* model for energy straggling introduced (Ermilova& -* Checkin) and synchrotron radiation. Thanks to K. -* Lassila-Perini, A.Ferrari&P.Sala et al. and I. -* Gavrilenko. Please see the documentation for more -* information. -* -* New routine GFANG introduced. It finds the angles -* Theta and Phi which are used to rotate a vector in -* the master system of the other. Thanks to F.Carminati -* -* New rotine GVROT introduced. It will rotate in full -* double precision a vector in the reference system of -* another one. Thanks to F.Carminati -* -* Corrections in GRIN/GFIN to calculate correctly the -* number of rotation matrixes. Thanks to M.Maire. -* Introduced in the 3.15 correction cradle. -* -* Correction in FLUFIN to pass antiprotons to FLUKA when -* they are 'stopping'. Thanks to A.Ferrari. Introduced in -* the 3.15 correction cradle. -* -* -*===> 27/05/93 -* -* Corrections in FLUFIN to pass stopping antiprotons, -* antineutrons and pions to FLUKA for annihilation. The -* other hadrons are either decayed or (neutral particles) -* passed to GHEISHA/GHSTOP. -* -*===> 04/05/93 -* -* Correction in FDNOPT to properly initialise an -* array. Thanks to K.Lassila-Perini. Introduced in -* the 3.15 correction cradle. -* -*===> 21/04/93 -* -* New routine from Laszlo Urban for the tracking of -* ions, GTHION. Ions now have to be given particle -* type 8. Thanks to L.Urban. -* -*===> 18/04/93 -* -* Addition in GPPERP, the sphere has been added. Thanks -* to R.Jones. -* -* Old Hadrin/Nucrin interface deleted. HADR 3 flag has -* no meaning any more. Warning message introduced in -* GPHYSI, when IHADR=3 then reset it to 1 and use GHEISHA. -* Thanks to F.Carminati. -* -* Tatina code eliminated from GEANT. Thanks to F.Carminati. -* -* Small changes in GSCHIT to avoid integer/floating -* conversions and to speed-up the code. Thanks to -* F.Carminati. -* -*===> 07/04/93 -* -* Correction in the GPOISS routine to avoid overflows. -* Thanks to S.Qian. Introduced in the 3.15 correction -* cradle. -* -*===> 06/04/93 -* -* Correction in GNSPHR to avoid floating point overflow. -* Thanks to S.Ljungfelt. Introduced in the 3.15 correction -* cradle. -* -*===> 22/03/93 -* -* Correction in GEAMON to extend the field for CPU -* time. Thanks to R.Brun. Introduced in the 3.15 -* correction cradle. -* -*===> 14/03/93 -* -* Release of version 3.07 of the correction cradle. -* -* Corrections in GZINIT, GPHYSI and GDSHOW. The -* working space is now allocated via calls to -* GWORK. GWORK has been modified and it only -* increases the working space, it never reduces it. -* Thanks to M.Corden. Introduced in the 3.15 -* correction cradle. -* -*===> 10/03/93 -* -* Correction in GFIN/GFOUT to avoid spurious error -* message. Thanks to M.Maire. -* -*===> 03/03/93 -* -* Correction in GLTRAC to improve the precision of -* the calculation of the kinetic energy. Thanks to -* C.Zeitnitz. Introduced in the 3.15 correction -* cradle. -* -* Correction in GTRACK to avoid output overflow in -* format statement. Thanks to M.Corden. Introduced -* in the 3.15 correction cradle. -* -* Correction in GDXYZ to obtain the correct line color -* for a track. Thanks to M.Corden. Introduced in the -* 3.15 correction cradle. -* -*===> 02/03/93 -* -* New treatment of the photoelectric effect introduced. -* Thanks to J.Chwastowski. Please see documentation for -* more information. -* -*===> 01/03/93 -* -* Changes in GKGEOM to avoid warnings with the new -* version of KUIP. Thanks to A.Nathaniel. Introduced -* in the 3.15 correction cradle. -* -* Changes in GSDVN2 to support division of spheres -* in PHI with initial offset. Thanks to F.Carminati. -* -* Changes in GMEDIV and GNSPHR to correct precision -* problems. Thanks to F.Carminati. -* -* Introduction of the Cerenkov effect. Thanks to -* R.Jones. Please see documentation for more -* details. -* -*===> 12/02/93 -* -* Changes in GSDVN to support division in PHI (axis -* N. 3) of the sphere. Thanks to F.Carminati. -* -* Changes in GDRAWS to partially support the drawing -* of parts of sphere. Thanks to F.Carminati. -* -*===> 09/02/93 -* -* Release of version 3.06 of the correction cradle. -* -*===> 28/01/93 -* -* Correction in GXINT for compatibility with the KUIP -* installed with version 93a of the CERN Program Library. -* Thanks to R.Jones. Introduced in the 3.15 correction -* cradle. -* -*===> 27/01/93 -* -* Correction in GMUNU. Only GHEISHA used to handle the -* interaction irrespective of the value of IHADR. Thanks -* to K.Lassila-Perini and G.Battistoni. Introduced in the -* 3.15 correction cradle. -* -* Corrections in GGPPAR to handle a tube with negative -* parameters positioned into a tubes in the general case. -* Thanks to F.Carminati. -* -*===> 19/01/93 -* -* Correction in FLUFIN to make sure that just neutrons -* are passed to GHEISHA. Thanks to K.Lassila. Introduced -* in the 3.15 correction cradle. -* -*===> 21/12/92 -* -* Option Q(uiet) introduced in GRIN/GROUT. Thanks to -* M.Maire. -* -* New version of GRKUTA protected against 0 fields and -* improved for precision. Introduced in the 3.15 correction -* cradle. Thanks to W.Manner. -* -*===> 15/12/92 -* -* IQ(JRUNG+29) set to the event sequence number of the -* last generated event in GTRIGC. Thanks to M.Maire. -* -*===> 11/12/92 -* -* Call to LUPART replaced with LU1ENT in GLUDKY. LUPART -* was an obsolete routine deleted from JETSET 7.3 -* library. Thanks to R.Gomes. -* -*===> 23/11/92 -* -* Release of the version 3.05/00 of the correction -* cradle. -* -* Corrections in GRANGI to account for the use of the -* ERAN card. Thanks to P.Gumplinger. Introduced in the -* 3.15 correction cradle. -* -*===> 18/11/92 -* -* Correction in GDRAWS for very thin CTUBes. Thanks to -* M.Guidal. Introduced in the 3.15 correction cradle. -* -* New version of GRKUTA introduced. It will limit the -* number of iterations and cut steps to prevent looping. -* Thanks to V.Perevotchikov. Introduced in the 3.15 -* correction cradle. -* -*===> 11/11/92 -* -* Correction in GGDSPE to allow repeated division of -* tubes along R. Thanks to M.Maire. Introduced in the -* 3.15 correction cradle. -* -*===> 11/11/92 -* -* Correction in GNPCON when the particle is slightly -* outside of the last plane in Z. It could happen for -* precision problems. Thank to C.Georgiopoulos. -* Introduced in the 3.15 correction cradle. -* -* Quiet option introduced in GFIN and GFOUT to suppress -* printing. Thanks to A.Eisner. -* -* Correction in the header of GFIN, GFOUT. Thanks to -* A.Eisner. -* -* Correction to GSNEXT. It now checks the values of the -* input list. Repeated values or values which are not -* within the allowed limits are ignored and a warning -* message is printed. Thanks to F.Luehring. -* -*===> 04/11/92 -* -* Modification in GSVOLU. A warning is printed if the same -* volume name is repeated twice. Thanks to V.Perevoztchikov. -* -*===> 23/10/92 -* -* Print statement in GSKING replaced by a WRITE(CHMAIL -* Thanks to F.Carminati. -* -*===> 19/10/92 -* -* Correction in GDRAY to increase the precision of -* the angle calculation. Thanks to F.Malek. -* Introduced in the 3.15 correction cradle. -* -*===> 19/10/92 -* -* Release of version 3.04 of the correction cradle. -* -* Corrections in FEREVV and HADEVV. Thanks to A.Ferrari. -* Introduced in the 3.15 correction cradle. -* -*===> 16/10/92 -* -* Release of version 3.03 of the correction cradle. -* -*===> 13/10/92 -* -* Correction in GFIN and GFOUT to handle correctly -* ZEBRA error conditions. Thanks to H.Uijterwaal. -* Introduced in the 3.15 correction cradle. -* -* Correction in GDECAY to improve precision of rotation -* of secondaries. Thanks to F.Carminati. Introduced in -* the 3.15 correction cradle. -* -* Correction in FEREVV to avoid square root of negative -* number. Thanks to A.Ferrari. Introduced in the 3.15 -* correction cradle. -* -* Correction in GDRAW to avoid error when traversing the -* tree. Thanks to F.Carminati. Included in the 3.15 -* correction cradle. -* -*===> 09/10/92 -* -* Correction in GXPICT, added definition of a character -* variable. Thanks to F.Carminati. Introduced in the 3.15 -* correction cradle. -* -*===> 08/10/92 -* -* Corrections in ERPRDOC, EUFILV and ERTEST to change -* Hollerith in characters for GEANE. Thanks to V.Innocente. -* Introduced in the 3.15 correction cradle. -* -*===> 24/09/92 -* -* Correction in NUCREL to avoid square root of negative -* numbers. Thanks to A.Ferrari. Introduced in the 3.15 -* correction cradle. -* -*===> 23/09/92 -* -* Correction in GMEDIA. INFR not set going up the tree to -* avoid problem with user calls of GMEDIA during tracking. -* Thanks to S.Banerjee. Introduced in the 3.15 correction -* cradle. -* -*===> 21/09/92 -* -* Correction in GRANGI to avoid interpolation of DE/DX -* beyond 10GeV. Thanks to V.Innocente. Introduced in the -* 3.15 correction cradle. -* -*===> 16/09/92 -* -* Correction in GBRELA. Auxiliary integration point for -* muon dedx table was wrong. Thanks to V.Innocente. -* Introduced in the 3.15 correction cradle. -* -*===> 15/09/92 -* -* Release of version 3.02 of the correction cradle. -* -* Correction in GMEDIA, GTMEDI: JVIN not properly -* initialised. Thanks to F.Carminati. Introduced in -* the 3.15 correction cradle. -* -* Release of version 3.01 of the correction cradle. -* -* Correction to GSDVN for a mistype. Thanks to H.Plothow. -* Introduced in the 3.15 correction cradle. -* -* Small mod to GSNGTR for the CRAY. Function DSIGN changed -* to SIGN. Thanks to F.Carminati. Introduced in the 3.15 -* correction cradle. -* -* Release of version 3.00 of the correction cradle. -* -* Correction in GDECAY. When IDCAY=2 the routine does not -* produce secondaries. Thanks to R.Jones. Introduced in -* the 3.15 correction cradle. -* -* Corrections in GFIN, GFOUT. Thanks to B.Cole. Introduced -* in the 3.15 correction cradle. -* -*===> 14/09/92 -* -* Correction in GMEDIV, GMEDIA, GINVOL, GTMEDI to -* improve precision and prevent blocking of volumes. -* Thanks to F.Carminati, R.Jones. Introduced in the -* 3.15 correction cradle. -* -*===> 03/09/92 -* -* GDLADY and GDMISS routines introduced. Thanks to -* H.Plothow. -* -* Correction in GXDRAW for the coordinates of the -* drawing of the GIRL. Thanks to F.Carminati. -* Introduced in the 3.15 correction cradle. -* -* Correction in GPHSIG, typing mistake in a formula. -* Thanks to M.Fanti. Introduced in the 3.15 correction -* cradle. -* -*===> 02/09/92 -* -* Corrections in GSDVN, GGPPAR, GGDPAR, GMEDIV, GCENT, -* GSDVN2, GSDVT, GSDVT2 to allow the division of a TRAP -* along y. Thanks to F.Carminati. Introduced in the 3.15 -* correction cradle. -* -* Corrections in GNPGO1 for precision problems. Thanks -* to K.Lassila. Introduced in the 3.15 correction -* cradle. -* -* Corrections in GGDPAR, GSDVN for the z division of a -* Polygone. Thanks to F.Carminati. Introduced in the -* 3.15 correction cradle. -* -*===> 01/09/92 -* -* Correction in GSDVT for the division of a parallepiped. -* Thanks to Y.Fisiak. Introduced in the 3.15 correction -* cradle. -* -* Correction in GRKUTA. Helix is used if angle of -* curvature is too large. In this case step is anyway -* smaller than STMIN which is under user control. -* Thanks to H.Plothow and V.Perevotchikov. Introduced -* in the 3.15 correction cradle. -* -*===> 26/08/92 -* -* Correction in GKRZ and CDF for the command RZ/FILE. -* Record lenght fixed at 1024 in GRFILE cannot be -* Changed by the user. Thanks to H.Plothow. Introduced -* in the 3.15 correction cradle. -* -* Corrections in GTMEDI, GMEDIA and GINVOL for the case -* of 'MANY' volumes. Uncleared blocking words found in -* the tree. Thanks to H.Plothow. Introduced in the 3.15 -* correction cradle. -* -*===> 25/08/92 -* -* Correction in GNSPHR. The PHI limits were used -* incorrectly in calculating the distance to the -* sphere. This was slowing down calculation but still -* giving correct results. Thanks to J.Stepanek. -* Introduced in the 3.15 correction cradle. -* -*===> 21/08/92 -* -* Correction in GGORDQ. Incorrect counting of volumes -* in case of phi ordering and phi division spanning -* across 0 degrees. Thanks to L.Roberts and F.Carminati. -* Introduced in the 3.15 correction cradle. -* -*===> 18/08/92 -* -* Version 2.00 of the correction cradle released -* -* -* Correction in GDRELP and GDRELM. The shell corrections -* where underestimated due to a wrong factor introduced -* translating the original formula from ev to Gev. Thanks -* to A.Ferrari and K.Lassila-Perini. Introduced in the -* 3.15 correction cradle. -* -*===> 17/08/92 -* -* Correction in GCENT in case of general trapezoid sliced -* in z in a local development structure. -* Thanks to S.Chekhtman. Introduced in the 3.15 correction -* cradle. -* -* Correction in GHEISH. Time of flight correctly initialised -* for particles with number > 48. Thanks to A.Eisner. -* Introduced in the 3.15 correction cradle. -* -*===> 14/08/92 -* -* Correction in GGPPAR for boxes with negative parameters -* in traps. The current code supports correctly boxes with -* one, two or three negative parameters positioned in a trap -* not necessarily in the centre. The trap must not be twisted -* and the ALP1 and ALP2 angles (PAR(7) and PAR(11)) must be -* equal. This facility must be used with care because the -* algorithm first maximises Z, then Y and then X. The result -* may be not quite what is expected in all cases, and the -* user is invited to check carefully the result. Thanks to -* H.Plothow. Introduced in the 3.15 correction cradle. -* -*===> 12/08/92 -* -* Correction in GINVOL, GTMEDI and GMEDIA to handle correctly -* the GSNEAR case when LIST(1)=1 and LIST(2)=0, that is when -* all the volume are separated inside a mother. Optimisation -* of the routine in case a large number of objects are -* positioned at the same level and GUNEAR is used. Thanks to -* R.Jones, M.Lefebvre and M.Pieri. Introduced in the 3.15 -* correction cradle. -* -*===> 07/08/92 -* -* Correction in GTNEXT. When the currents step brings -* the particle on the surface of the next volume, signal -* IGNEXT=1 to GTxxxx to 'push' into the next volume. -* This is a genuine bug and some volumes may be lost -* due to this. Thanks to M.Maire. Introduced in the 3.15 -* correction cradle. -* -*===> 02/08/92 -* -* Corrections to the precision in GNOPG1, GNCONE, GNOCON. -* Thanks to R.Jones. Introduced in the 3.15 correction -* cradle. -* -*===> 31/07/92 -* -* Correction in the printout of GTRACK when max number -* of steps is reached. Event number and random numbers are -* printed out as well. Thanks to M.Maire. Introduced in the -* 3.15 correction cradle. -* -*===> 29/07/92 -* -* Correction in PIMABS for HPUX only. If variable NT is -* saved then the routine compiles correctly, otherwise -* not. Thanks to F.Carminati. Introduced in the 3.15 -* correction cradle. -* -* Correction in NIZL. All local variable are saved now. -* Thanks to F.Carminati. Introduced in the 3.15 correction -* cradle. -* -*===> 29/07/92 -* -* Correction in CDF and in GKDRAW. Minimum angle for the -* drawing is 0 and not 1. Thanks to H.Plothow. Introduced -* in the 3.15 correction cradle. -* -* Minor update of GXFZ, a character length has been set -* to 4 to keep KUIP happy. Thanks to F.Carminati. Introduced -* in the 3.15 correction cradle. -* -*===> 28/07/92 -* -* Corrections in GXFZ. Now the array LUNITS is properly -* updated when a file is closed. -* -* Correction in GBRSGE, GBRSGM. Save statement introduced. -* Thanks to L.Roberts. Introduced in the 3.15 correction -* cradle. -* -* Correction in GINVOL for many volumes. Thanks to S.Giani -* and R.Jones. Introduced in the 3.15 correction cradle. -* -* Correction in GMCOUL to prevent a division by 0. Thanks -* to M.Maire. Introduced in the 3.15 correction cradle. -* -*===> 03/06/92 -* -* Correction in GSNGTR. Double precision variables removed -* in case of 64 bits machines. Thanks to E.Boehm. Introduced -* in the 3.15 correction cradle. -* -* Correction in the SROTM command. The lower limit for -* PHI3 is really 0. and not 1. Thanks to E.Boehm. Introduced -* in the 3.15 correction cradle. -* -*===> 01/06/92 -* -* New version of GRKUTA. In fact this is the 3.14 version -* with the multiple steps algorithm of 3.15 introduced. -* If the bending angle in one step is too big, then the -* integration is done in several steps rather than in -* one. The IMPLICIT REAL*8 in the cradle is to avoid -* problems with the CRAY in the absence of PATCHY delayed -* control cards. Thanks to V.Perevotchikov. Introduced in -* the 3.15 correction cradle. -* -*===> 25/05/92 -* -* Sequence GCONSP changed for 32 bits machines. All -* constants are suffixed with D0 to avoid truncations. -* Thanks to F.Carminati. Introduced in the 3.15 correction -* cradle. -* -*===> 25/05/92 -* -* Version 1.00 of the correction cradle released -* -*===> 21/05/92 -* -* Correction in GHFNUC: TNNUC variable was undefined. -* Thanks to B.Lund-Jensen. -* Introduced in the 3.15 correction cradle. -* -*===> 08/05/92 -* -* Correction in TWOCLU to avoid infinite looping in some -* pathological cases. Thanks to L.Roberts. -* Introduced in the 3.15 correction cradle. -* -*===> 06/05/92 -* -* Correction in GNPGO1. Constants changed to double -* precision to avoid problems on the IBM. Thanks to -* D.Ward. -* Introduced in the 3.15 correction cradle. -* -*===> 28/04/92 -* -* Correction in GXINT to obtain the correct time in -* the monitoring routine when running interactively -* on IBM/VM. Thanks to F.Carminati. -* Introduced in the 3.15 correction cradle. -* -*===> 16/04/92 -* -* Correction in GMULTS. A particle going exactly along -* the negative direction of the Z axis could be rotated -* of 180 degrees after multiple scattering. Thanks to -* P.Gabriel. -* Introduced in the 3.15 correction cradle. -* -*===> 15/04/92 -* -* Correction in GXDRAW. The arguments of DHEAD were -* fetched with the wrong order. Thanks to F.Videbaek. -* Introduced in the 3.15 correction cradle. -* -* Correction in GPHYSI. Variable NUMOLD is now reset to -* zero. This may affect people running interactively and -* using the command PHYSI. Thanks to F.Videbaek. -* Introduced in the 3.15 correction cradle. -* diff --git a/StarVMC/geant3/doc/include_specials/incbeg.inc b/StarVMC/geant3/doc/include_specials/incbeg.inc deleted file mode 100644 index 7e333296501..00000000000 --- a/StarVMC/geant3/doc/include_specials/incbeg.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: incbeg.inc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: incbeg.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:49 cernlib -* Geant -* -* -* -* incbeg.inc -* -#if defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_IBM) -#if 0 - INCLUDE ' -#endif -#endif -#endif diff --git a/StarVMC/geant3/doc/include_specials/incend.inc b/StarVMC/geant3/doc/include_specials/incend.inc deleted file mode 100644 index a68eb18cc92..00000000000 --- a/StarVMC/geant3/doc/include_specials/incend.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: incend.inc,v 1.1.1.2 2009/02/01 17:10:14 fisyak Exp $ -* -* $Log: incend.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:14 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:49 cernlib -* Geant -* -* -* -* incend.inc -* -#if defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_IBM) -#if 0 - +' -#endif -#endif -#endif diff --git a/StarVMC/geant3/doc/include_specials/incseq.cra b/StarVMC/geant3/doc/include_specials/incseq.cra deleted file mode 100644 index a6e9124ff63..00000000000 --- a/StarVMC/geant3/doc/include_specials/incseq.cra +++ /dev/null @@ -1,8 +0,0 @@ -#if defined(CERNLIB_INCLUDE) -#if 0 -*CMZ : 3.21/02 29/03/94 15.41.18 by S.Giani -#endif -#if 0 -*-- Author : -#endif -#endif diff --git a/StarVMC/geant3/doc/update97a.txt b/StarVMC/geant3/doc/update97a.txt deleted file mode 100644 index 3599c3d2e0e..00000000000 --- a/StarVMC/geant3/doc/update97a.txt +++ /dev/null @@ -1,27 +0,0 @@ -/gbase/gffgo.F IABAN initialization -/gphys/gphysi.F Medium name length checked -/gtrak/gtelec.F DESTEP added in case of IABAN=1 -/gdraw/gdrawv.F Backward compatibility for view banks -/gdraw/gdrawp.F Draw black edges -/gphys/gmulof.F Rounding errors under WNT fixed -/geant321/ertrio.inc GEANE CMZ-CVS conversion artefacts deleted -/geant321/eropts.inc GEANE CMZ-CVS conversion artefacts deleted -/geant321/erwork.inc GEANE CMZ-CVS conversion artefacts deleted -/geant321/trcom3.inc GEANE CMZ-CVS conversion artefacts deleted -/geant321/pilot.h Changes due to WNT compliance -/miface/gmorin.F Changes due to WNT compliance -/peanut/pfnclv.F Changes due to WNT compliance -/gbase/ginit.F Changes due to WNT compliance -/ggeom/gmedia.F Changes due to WNT compliance -/gexam1/uglast.F Changes due to WNT compliance -/gphys/gbrele.F Bremsstrahlung extensions to higher energies -/gphys/gbrsge.F Bremsstrahlung extensions to higher energies -/ghrout/Imakefile higclu.F de-optimization -/gdraw/gdspec.F Correct units for the PARA shape -/gdraw/gdspec.F Correct units for the SPHE shape -/gphys/grayl.F Correct the rotation into the GEANT coordinate system -/peanut/nclvst.F Parameter ZERO is real -/gtrak/gtelec.F Parameter ZERO is real -/gbase/getver.F Cradle number /06 -/gtrak/gtelec.F DESTEP calculation corrected -/gtrak/gtckov.F Photon reflection corrected, avoiding stuck photons diff --git a/StarVMC/geant3/erdecks/erbcer.F b/StarVMC/geant3/erdecks/erbcer.F deleted file mode 100644 index 29cb48cf86b..00000000000 --- a/StarVMC/geant3/erdecks/erbcer.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: erbcer.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: erbcer.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:34 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERBCER (E) -* -C. ****************************************************************** -C. * * -C. * After the back-tracking transforms the error matrix * -C. * back to the original * -C. * particle direction * -C. * * -C. * Arguments * -C. * E - Error Matrix (Triangular) * -C. * * -C. * ==>Called by : ERPEND * -C. * Author E.Nagy ********* * -C. * * -C. ****************************************************************** -* - DIMENSION E(15) -* - J = 0 - DO 10 I = 1, 5 - DO 5 K = I, 5 - J = J + 1 - IF (I.EQ.2) E(J) = -E(J) - IF (K.EQ.2) E(J) = -E(J) - IF (I.EQ.4) E(J) = -E(J) - IF (K.EQ.4) E(J) = -E(J) - 5 CONTINUE - 10 CONTINUE -* END ERBCER - END diff --git a/StarVMC/geant3/erdecks/erbctr.F b/StarVMC/geant3/erdecks/erbctr.F deleted file mode 100644 index 902a8b112c5..00000000000 --- a/StarVMC/geant3/erdecks/erbctr.F +++ /dev/null @@ -1,57 +0,0 @@ -* -* $Id: erbctr.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: erbctr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:34 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERBCTR (X) -* -C. ****************************************************************** -C. * * -C. * After the back-tracking transforms * -C. * the transport matrix back to the original * -C. * particle direction * -C. * * -C. * Arguments * -C. * X - Transport Matrix * -C. * * -C. * ==>Called by : ERPEND * -C. * Author E.Nagy ********* * -C. * * -C. ****************************************************************** -* - DOUBLE PRECISION X(5,5) -* - DO 10 I = 1, 5 - DO 5 K = 1, 5 - IF (I.EQ.2) X(I,K) = -X(I,K) - IF (K.EQ.2) X(I,K) = -X(I,K) - IF (I.EQ.4) X(I,K) = -X(I,K) - IF (K.EQ.4) X(I,K) = -X(I,K) - 5 CONTINUE - 10 CONTINUE -* END ERBCTR - END diff --git a/StarVMC/geant3/erdecks/erland.F b/StarVMC/geant3/erdecks/erland.F deleted file mode 100644 index 604e0ef8950..00000000000 --- a/StarVMC/geant3/erdecks/erland.F +++ /dev/null @@ -1,191 +0,0 @@ -* -* $Id: erland.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: erland.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:28 fisyak -* Merge with macos version -* -* Revision 1.2 2007/03/31 13:47:09 brun -* From Andrea Fontana and Alberto Rotondi -* Added new calculation for sigma of straggling in energy loss to include -* in Geane the Urban/Landau approximation, as explained in the Geant -* manual and related papers. -* The model parametrization can be controlled with a new user variable -* (GCALPHA) in GCCUTS common block: 1 is for old gaussian model valid for -* dense materials, other values (see the enclosed report) are for gaseous -* materials. -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:34 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERLAND (STEP, Z, A, RHO, P, E, XMASS, DEDX, DEDX2) -C. -C. ****************************************************************** -C. * * -C. * Calculates energy straggling using Gaussian theory in a step * -C. * * -C. * Input STEP = current step-length (cm) * -C. * Z = Z of the material * -C. * A = A of the material * -C. * RHO = density of the material * -C. * P = momentum of the particle * -C. * E = energy of the particle * -C. * XMASS = mass of the particle * -C. * * -C. * Output DEDX2 = mean square of the straggling in G * -C. * * -C. * ==>Called by : ERTRCH * -C. * Author E.Nagy ********* * -C. * Original routine : GLANDO * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconst.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcmore.inc" -* - REAL*4 CMED, DE, ION, RU, FU1, FU2, EU1, EU2, EU2F, DEDX - REAL*4 EUMED,SIG1, SIG2, SIG3, SIG4,CN1, CN2, CN3, XUMASS - REAL*4 EUMED2, E99, A99 - REAL*4 SALPHA -* - IF (STEP.LT.1.E-7) THEN - DEDX2=0. - RETURN - ENDIF -* -* Calculate xi factor (KeV). - BETA = P/E - GAMMA = E/XMASS - XI = (153.5*Z*STEP*RHO)/(A*BETA*BETA) -* -* Maximum energy transfer to atomic electron (KeV). - ETA = BETA*GAMMA - ETASQ = ETA*ETA - RATIO = EMASS/XMASS - F1 = 2.*EMASS*ETASQ - F2 = 1.+2.*RATIO*GAMMA+RATIO*RATIO - EMAX = 1.E+6*F1/F2 - -* old GEANE standard straggling sigma in Gev**2 - A99 = GCALPHA - IF (A99.EQ.1.) THEN - DEDX2 = XI*EMAX*(1.-(BETA*BETA/2.))*1.E-12 -c PRINT *,XI/EMAX,A99,A,Z,RHO,DEDX2 - RETURN - ENDIF - -C new calculation for sigma of straggling -C by A. Fontana and A. Rotondi March 2007 - SALPHA=0. - IF(XI/EMAX .GT. 0.005) THEN -C Vavilov-Gaussian regime: sigma^2(E) in GeV^2 - DEDX2 = XI*EMAX*(1.-(BETA*BETA/2.))*1.E-12 - ELSE -C -C Urban/Landau approximation -C -C -C energies in eV -C - ION=16.*Z**0.9 - RU=0.4 - FU2= 0 - IF(Z .GT. 2) FU2=2./Z - FU1= 1.-FU2 - EU2 =10.*Z*Z - EU2F=EU2**FU2 - EU1= (ION/EU2F)**(1./FU1) - -C energies in keV - ION=ION/1000. - EU1=EU1/1000. - EU2=EU2/1000. - XUMASS = XMASS*1.E+06 - CMED=DEDX*1.E+06/STEP - E99 = ION/(1.- A99*EMAX/(EMAX+ION)) - - SIG1=(CMED*FU1/EU1)*(ALOG(2.*XUMASS*((BETA*GAMMA)**2)/EU1) - + - BETA*BETA) - SIG1= (1-RU)*SIG1/(ALOG(2.*XUMASS*((BETA*GAMMA)**2)/ION) - + -BETA*BETA) - SIG2=(CMED*FU2/EU2)*(ALOG(2.*XUMASS*((BETA*GAMMA)**2)/EU2) - + - BETA*BETA) - SIG2= (1-RU)*SIG2/(ALOG(2.*XUMASS*((BETA*GAMMA)**2)/ION) - + -BETA*BETA) - SIG3= CMED*RU*EMAX/(ION*(EMAX+ION)*ALOG((EMAX+ION)/ION)) -C number of collisions - CN1=SIG1*STEP - CN2=SIG2*STEP - CN3=SIG3*STEP - IF(CN1+CN2+CN3 .LT. 50.) THEN -C Urban model - EUMED= (ION*(EMAX+ION)/EMAX)*ALOG(E99/ION) - EUMED2 = (ION*(EMAX+ION)/EMAX)*(E99-ION) - SIG4= EUMED2 - EUMED*EUMED - DEDX2=CN1*EU1*EU1 + CN2*EU2*EU2 + CN3*EUMED*EUMED - + + CN3*SIG4*(CN3+1) - ELSE -C Landau distribution with cut A99 -C truncation percentage of the Urban distribution - SALPHA = RSIG(A99) - DEDX2 = (SALPHA*XI)**2 -C DEDX2 = XI*EMAX*(1.-(BETA*BETA/2.)) - END IF -C sigma^2(E) in GeV^2 - DEDX2 = DEDX2*1.E-12 - END IF -C PRINT *,XI/EMAX,A,Z,RHO -c PRINT *, SALPHA, A99, CN1+CN2+CN3, SQRT(DEDX2) -* - END - - - REAL*4 FUNCTION RSIG(AL) -C -C function to calculate the sigma corresponding to a -C truncated Landau function -C A. Fontana and A. Rotondi March 2007 -C - - REAL*4 AL - - IF(0.90 .LE. AL .AND. AL .LT. 0.95) THEN - RSIG=236.98 - 533.167*AL + 303.333*AL**2 - - ELSE IF(0.95 .LE. AL .AND. AL .LT. 0.99) THEN - RSIG= -136.607 + 148.25*AL - - ELSE IF(0.99 .LE. AL .AND. AL .LT. 0.995) THEN - RSIG= 88263.6 - 178582*AL + 90340.6*AL**2 - - ELSE IF(0.995 .LE. AL .AND. AL .LT. 0.999) THEN - RSIG= 1.2539919E+06 -2.51982E+06*AL +1.26587E+06*AL**2 - - ELSE IF(0.999 .LE. AL .AND. AL .LT. 0.9996) THEN - RSIG= -30621.1 + 30683.3*AL - - ELSE IF(0.9996 .LE. AL .AND. AL .LT. 0.9999) THEN - RSIG= -166550. + 166667.*AL - - ELSE IF(0.9999 .LE. AL .AND. AL .LT. 1.) THEN - RSIG= -1564430. + 1564680.*AL - END IF - - END diff --git a/StarVMC/geant3/erdecks/ermcsc.F b/StarVMC/geant3/erdecks/ermcsc.F deleted file mode 100644 index 4c864672312..00000000000 --- a/StarVMC/geant3/erdecks/ermcsc.F +++ /dev/null @@ -1,90 +0,0 @@ -* -* $Id: ermcsc.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: ermcsc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:28 fisyak -* Merge with macos version -* -* Revision 1.2 2007/03/31 13:45:49 brun -* From Andrea Fontana and Alberto Rotondi -* New expression for the variance of the Coulomb multiple scattering -* according to Fruhwirth and Regler, NIM A 456 (2001) 369 -* -* CVS-- -- ------------------------------------------------------------------ -* : ---------------------------------------------------------------------- -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERMCSC (E) -* -C. ****************************************************************** -C. * * -C. * Calculates Multiple Scattering Matrix in a step * -C. * * -C. * E - Error Matrix (Triangular) * -C. * STEP - Step length in cm * -C. * RADL - Radiation length in cm * -C. * VECT(7) - Momentum in GeV * -C. * CLA - Cosine of the deep angle * -C. * * -C. * ==>Called by : ERPROP * -C. * Author E.Nagy ********* * -C. * * -C. ****************************************************************** -* -#include "geant321/gcmate.inc" -#include "geant321/gckine.inc" -#include "geant321/gctrak.inc" -* - DOUBLE PRECISION E(15) - REAL*4 RADLOCAL -* - PBETA = VECT(7)*VECT(7)/GETOT - - CRLOG = 1. -CC CRLOG = 1. + 0.201*LOG(RI) -CC IF (CRLOG.LE.0.) CRLOG = 0. -CC D = 1.8496E-4*RI*((CHARGE*CRLOG/PBETA)**2) -* -* modified by Andrea Fontana and Alberto Rotondi to include -* the correct variance for Coulomb multiple scattering -* (see Fruhwirth and Regler, NIM A 456 (2001) 369) -* march 2007 -* -* begin of change -* - RADLOCAL = (Z+1)*LOG(287.*Z**(-0.5))/(Z*LOG(159.*Z**(-0.333333))) - RI = STEP/(RADL*RADLOCAL) - D = 2.25E-4*RI*((CHARGE*CRLOG/PBETA)**2) -* -* end of change -* - S1 = D*STEP**2/3. - S2 = D - S3 = D*STEP/2. - CLA = SQRT (VECT(4)**2+VECT(5)**2) - E(6) = E(6)+S2 - E(9) = E(9)-S3 - E(10) = E(10)+S2/CLA**2 - E(11) = E(11)+S3/CLA - E(13) = E(13)+S1 - E(15) = E(15)+S1 -* - END diff --git a/StarVMC/geant3/erdecks/erpini.F b/StarVMC/geant3/erdecks/erpini.F deleted file mode 100644 index f1567e6a802..00000000000 --- a/StarVMC/geant3/erdecks/erpini.F +++ /dev/null @@ -1,74 +0,0 @@ -* -* $Id: erpini.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: erpini.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERPINI -* -C. ****************************************************************** -C. * * -C. * Initializes the error propagation * -C. * * -C. * ==>Called by : ERTRAK * -C. * Author E.Nagy ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gckine.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/erwork.inc" -#include "geant321/ertrio.inc" -* - DIMENSION DUMM(15) -* -* *** Starting point -* - DO 11 I = 1,3 - XI(I) = VECT(I) - PPI(I) = VECT(7)*VECT(3+I) - 11 CONTINUE -* -* *** Initialize tracking -* - MVAR = 0 - IFLAG =-1 - ITRAN = 0 - CALL TRPROP (XI, PPI, HI, DUM, DUM, HI, CHTR, DUM, DUMM, - & MVAR, IFLAG, ITRAN, IERR) - IF (IERR.NE.0) THEN - WRITE (LOUT, 777) IERR - RETURN - ENDIF - DO 13 I = 1,15 - EF(I) = EI(I) - 13 CONTINUE -* - 777 FORMAT(//4X,' **** Error in subr. TRPROP',I4,' called by' - F ,' subr. ERPINI'//) -* - END diff --git a/StarVMC/geant3/erdecks/erprop.F b/StarVMC/geant3/erdecks/erprop.F deleted file mode 100644 index ca5257b109d..00000000000 --- a/StarVMC/geant3/erdecks/erprop.F +++ /dev/null @@ -1,110 +0,0 @@ -* -* $Id: erprop.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: erprop.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERPROP -C. -C. ****************************************************************** -C. * * -C. * Performs the error propagation in a step * -C. * * -C. * ==>Called by : ERTRCH / ERTRNT * -C. * Author E.Nagy ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gctmed.inc" -#include "geant321/gckine.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/erwork.inc" -#include "geant321/ertrio.inc" -#include "geant321/trcom3.inc" -* - DIMENSION DUM(15) -* -* *** Prepares the end-point -* - DO 11 I = 1,3 - XF(I) = VECT(I) - PF(I) = VECT(7)*VECT(3+I) - HF(I) = 0. - 11 CONTINUE -* - IF (IFIELD.EQ.3) THEN - HF(3) = FIELDM - ELSEIF (IFIELD.NE.0) THEN - CALL GUFLD (VECT, HF) - ENDIF -* -* *** Propagates the error (in SC-variables) -* - MVAR = 0 - IFLAG = 0 - ITRAN = 0 - IF (.NOT.LEEXAC) THEN - CALL TRPROP (XI ,PPI, HI, XF, PF, HF, CHTR, STEP, DUM, - & MVAR, IFLAG, ITRAN, IERR) - ELSE - CALL TRPRFN (XI ,PPI, HI, XF, PF, HF, CHTR, STEP, DUM, - & MVAR, IFLAG, ITRAN, IERR) - ENDIF -* - IF(IERR.NE.0) THEN - WRITE (LOUT, 778) IERR - RETURN - ENDIF -* -* *** Transport the matrix -* - CALL SSMT5T (A, EF, EF) -* - IF (CHARGE.NE.0.) THEN -* -* *** Add multiple scattering -* - CALL ERMCSC (EF) -* -* *** Add fluctuation due to ionization to the error matrix -* (and (later) due to bremsstrahlung and pair-production) -* - EF(1) = EF(1) + (GETOT*GETOT*DEDX2)/(VECT(7)**6) -* - ENDIF -* -* *** Copy variables for the next step -* - CALL UCOPY (XF, XI, 3) - CALL UCOPY (PF, PPI, 3) - CALL UCOPY (HF, HI, 9) -* -* - 778 FORMAT(//4X,' *** Error in subr. TRPROP',I4,' called by', - & 'subr. ERPROP'//) -* - END diff --git a/StarVMC/geant3/erdecks/erstor.F b/StarVMC/geant3/erdecks/erstor.F deleted file mode 100644 index 1ae4ed2851f..00000000000 --- a/StarVMC/geant3/erdecks/erstor.F +++ /dev/null @@ -1,115 +0,0 @@ -* -* $Id: erstor.F,v 1.3 2009/02/01 17:29:50 fisyak Exp $ -* -* $Log: erstor.F,v $ -* Revision 1.3 2009/02/01 17:29:50 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:46:28 fisyak -* Merge with macos version -* -* Revision 1.2 2005/06/09 00:10:03 fisyak -* comply with STAR -* -* Revision 1.2 2004/02/12 15:33:10 fisyak -* move STAR version of erdecks from rexe to geant321 -* -* Revision 1.2 2000/01/10 16:22:14 fisyak -* Modify for multiple volume entries -* -* Revision 1.1 1999/12/07 15:44:30 fisyak -* Add geane, new TGeant3 from Alice -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERSTOR -* -C. ****************************************************************** -C. * * -C. * Store error matrix informations * -C. * * -C. * ==>Called by : ERTRGO , ERTRCH , ERTRNT * -C. * Author M.Maire, E.Nagy ********* * -C. * * -C. ****************************************************************** -* -#include "geant321/gckine.inc" -#include "geant321/gctrak.inc" -#include "geant321/erwork.inc" -#include "geant321/ertrio.inc" -#include "geant321/trcom3.inc" -* - DOUBLE PRECISION C(5,5), DUM(5,5) -* -* *** Write out results at intermediate points -* - ILPRED = ILPRED + 1 -*yf IF (ILPRED.GE.NEPRED) ISTOP = 1 - ISTOP = 1 - IEPRED(ILPRED) = INLIST -* -* *** Leave B-matrix intact for eventual further tracking -* - IF (.NOT. LEONLY) THEN - DO 6 I = 1, 5 - DO 5 J = 1, 5 - C(I,J) = B(I,J) - 5 CONTINUE - 6 CONTINUE -* -* *** Error matrix into single precision -* - DO 10 I = 1, 15 - ERROUT(I,ILPRED) = EF(I) - 10 CONTINUE -* -* *** If backtracking - vector, charge, error- and transport-matrix -* in original direction -* - IF (BACKTR.LT.0.) THEN - CALL ERBCER (ERROUT(1,ILPRED)) - CALL ERBCTR (C) - ENDIF - ENDIF -* -* *** Back into SC variables -* - IF (VECT(7) .LT. 1.E-30) VECT(7) = 1.E-30 - PF(1) = 1./VECT(7) - PF(2) = BACKTR*ASIN (VECT(6)) - IF (ABS (VECT(4)) .LT. 1.E-30) VECT(4) = 1.E-30 - PF(3) = ATAN2 (BACKTR*VECT(5), BACKTR*VECT(4)) -* -* *** Transform error matrix in the variables of the plane where -* tracking terminates -* - IF (LEPLAN) THEN - CALL TRSCSD (PF, ERROUT(1,ILPRED), PF ,ERROUT(1,ILPRED), HF, - + CHARGE, IER ,SPU, ERPLO(1,1,INLIST), - + ERPLO(1,2,INLIST)) - IF (LEONLY) GOTO 25 - CALL DMM55 (A, C, DUM) - CALL DMM55 (DUM, ASDSC, C) - ENDIF -* -* *** Transport matrix in single precision -* - DO 20 I = 1,5 - DO 15 J = 1,5 - ERDTRP(I,J,ILPRED) = C(I,J) - ERTRSP(I,J,ILPRED) = C(I,J) - 15 CONTINUE - 20 CONTINUE -* - 25 CONTINUE - DO 30 I = 1, 3 - ERXOUT(I,ILPRED) = VECT(I) - ERPOUT(I,ILPRED) = PF(I) - 30 CONTINUE -* - END diff --git a/StarVMC/geant3/erdecks/ertrak.F b/StarVMC/geant3/erdecks/ertrak.F deleted file mode 100644 index 28718fed6fd..00000000000 --- a/StarVMC/geant3/erdecks/ertrak.F +++ /dev/null @@ -1,236 +0,0 @@ -* -* $Id: ertrak.F,v 1.4 2009/02/01 17:29:50 fisyak Exp $ -* -* $Log: ertrak.F,v $ -* Revision 1.4 2009/02/01 17:29:50 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:46:28 fisyak -* Merge with macos version -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:34 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERTRAK (X1, P1, X2, P2, IPA, CHOPT) -* -************************************************************************ -* * -* Perform the tracking of the track from point X1 to * -* point X2 * -* (Before calling this routine the user should also provide * -* the input informations in /EROPTS/ and /ERTRIO/ * -* using subroutine EUFIL(L/P/V) * -* X1 - Starting coordinates (Cartesian) * -* P1 - Starting 3-momentum (Cartesian) * -* X2 - Final coordinates (Cartesian) * -* P2 - Final 3-momentum (Cartesian) * -* IPA - Particle code (a la GEANT) of the track * -* * -* CHOPT * -* 'B' 'Backward tracking' - i.e. energy loss * -* added to the current energy * -* 'E' 'Exact' calculation of errors assuming * -* helix (i.e. pathlength not * -* assumed as infinitesimal) * -* 'L' Tracking upto prescribed Lengths reached * -* 'M' 'Mixed' prediction (not yet coded) * -* 'O' Tracking 'Only' without calculating errors * -* 'P' Tracking upto prescribed Planes reached * -* 'V' Tracking upto prescribed Volumes reached * -* 'X' Tracking upto prescribed Point approached * -* * -* Interface with GEANT : * -* Track parameters are in /CGKINE/ and /GCTRAK/ * -* * -* ==>Called by : USER * -* Authors M.Maire, E.Nagy ********* * -* * -************************************************************************ -* -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gckine.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/ertrio.inc" -#include "geant321/erwork.inc" -#include "geant321/trcom3.inc" -* - DIMENSION P1(3), P2(3), X1(3), X2(3), DUM(15), IOPT(30) - EQUIVALENCE (IOPT(1),IOPTB), (IOPT(2),IOPTE), (IOPT(3),IOPTL), - , (IOPT(4),IOPTM), (IOPT(5),IOPTO), (IOPT(6),IOPTP), - , (IOPT(7),IOPTV), (IOPT(8),IOPTX) - CHARACTER CHOPT*(*) -* -* -* *** Decode character option -* - CHOPTI = CHOPT - CALL UOPTC (CHOPT, 'BELMOPVX', IOPT) -* - IF (IOPTB.EQ.0) THEN - BACKTR = 1. - ELSE - BACKTR = -1. - ENDIF -* - LEEXAC = IOPTE.NE.0 - LELENG = IOPTL.NE.0 - LEONLY = IOPTO.NE.0 - LEPLAN = IOPTP.NE.0 - LEVOLU = IOPTV.NE.0 - LEPOIN = IOPTX.NE.0 -* -* *** Check consistency of the Ch-options -* - IF ((LELENG .AND. LEVOLU) .OR. (LELENG .AND. LEPLAN) .OR. - + (LEVOLU .AND. LEPLAN)) THEN - WRITE (LOUT, 779) - GO TO 99 - ENDIF -* -* *** Initialization -* - IF (NEPRED.LE.0) THEN - WRITE (LOUT, 780) - GO TO 99 - ENDIF - ILPRED = 0 - TLGCM2 = 0. - TLRAD = 0. - CALL VZERO (IEPRED , MXPRED) - CALL VZERO (ERXOUT , 3*MXPRED) - CALL VZERO (ERPOUT , 3*MXPRED) - CALL VZERO (ERROUT ,15*MXPRED) -* - DO 10 I = 1, 3 - ERXIN(I) = X1(I) - 10 CONTINUE -* - PMOM2 = P1(1)**2 + P1(2)**2 + P1(3)**2 - IF(PMOM2.LE.1.E-20) THEN - WRITE (LOUT, 778) - GO TO 99 - ENDIF - PABS = SQRT (PMOM2) - ERPIN(1) = 1./PABS - ERPIN(2) = ASIN (P1(3)*ERPIN(1)) - IF (ABS (P1(1)) .LT. 1.E-30) P1(1) = 1.E-30 - ERPIN(3) = ATAN2 (P1(2), P1(1)) -* -* *** Initialize GCKINE common -* - IF((IPA.LE.0).OR.(IPA.GT.NPART)) THEN - WRITE (LOUT, 777) IPA - GO TO 99 - ENDIF -* - ITRA = 1 - ISTAK = 0 - IPART = IPA - JPA = LQ(JPART-IPART) - DO 26 I=1,5 - NAPART(I) = IQ(JPA+I) - 26 CONTINUE - ITRTYP = Q(JPA+6) - AMASS = Q(JPA+7) - CHARGE = Q(JPA+8) - CHTR = CHARGE*BACKTR - TLIFE = Q(JPA+9) -* -* *** Starting field -* - CALL VZERO (HI, 9) - CALL VZERO (HF, 9) -* -* *** Error matrix into SC System -* - IF (LEPLAN) THEN - IF (IFIELD.EQ.3) THEN - HI(3) = FIELDM - ELSEIF (IFIELD.NE.0) THEN - CALL GUFLD (X1, HI) - ENDIF - CALL VZERO (DUM,15) - CALL TRSCSD (ERPIN(1), DUM(1), ERPIN(1), DUM(1), HI(1), - + CHARGE, IERR, SPU, ERPLI(1,1), ERPLI(1,2)) - IF (LEONLY) GOTO 35 - CALL TRSDSC (ERPIN(1), ERRIN(1), DUM(1), ERRIN(1), HI(1), - + CHARGE, IERR, SPU, ERPLI(1,1), ERPLI(1,2)) - DO 29 I = 1, 5 - DO 28 J = 1, 5 - ASDSC(I,J) = A(I,J) - 28 CONTINUE - 29 CONTINUE - ENDIF - IF (LEONLY) GOTO 35 -* -* *** Error matrix into direction of tracking -* - IF (BACKTR .LT. 0.) CALL ERBCER (ERRIN(1)) -* -* *** Error matrix into double precision -* - DO 30 I = 1,15 - EI(I) = ERRIN(I) - 30 CONTINUE -* - 35 CONTINUE - DO 41 I = 1, 3 - VERT(I) = X1(I) - PVERT(I) = P1(I)*BACKTR - 41 CONTINUE -* -* *** Initialize GCTRAK common -* - PVERT(4) = SQRT (PMOM2 + AMASS**2) - VECT(7) = PABS - DO 51 I=1,3 - VECT(I) = VERT(I) - VECT(I+3) = PVERT(I)/VECT(7) - 51 CONTINUE - GETOT = PVERT(4) - GEKIN = GETOT - AMASS - IF(GEKIN.LT.0.) GEKIN = 0. - CALL G3EKBIN -* -* *** Additional EMC initialization -* - IF (.NOT.LEONLY) CALL ERPINI -* -* *** Ready for tracking -* - CALL ERTRGO -* -* *** Copy the final point and momentum into the output buffer -* - DO 60 I = 1, 3 - X2(I) = VECT(I) - P2(I) = VECT(7)*BACKTR*VECT(I+3) - 60 CONTINUE -* - 777 FORMAT(/,4X,'Error in ERTRAK : particle type ', I4, - * ' unknown in GEANT' ) - 778 FORMAT(/,4X,'Error in ERTRAK : Nul Momentum. Tracking stops now') - 779 FORMAT(/,4X,'Error in ERTRAK : Inconsistent character options', - + '. Tracking stops now') - 780 FORMAT(/,4X,'Error in ERTRAK : No prediction. Tracking stops now') -* END ERTRAK - 99 END diff --git a/StarVMC/geant3/erdecks/ertrch.F b/StarVMC/geant3/erdecks/ertrch.F deleted file mode 100644 index dee1a2afdd5..00000000000 --- a/StarVMC/geant3/erdecks/ertrch.F +++ /dev/null @@ -1,325 +0,0 @@ -*CMZ : 24/11/95 16.28.16 by S.Ravndal -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERTRCH -C. -C. ****************************************************************** -C. * * -C. * Average charged track is extrapolated by one step * -C. * * -C. * ==>Called by : ERTRGO * -C. * Original routine : GTHADR * -C. * Authors M.Maire, E.Nagy ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconst.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gckine.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/ertrio.inc" -#include "geant321/erwork.inc" - -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif -#if !defined(CERNLIB_SINGLE)&&!defined(CERNLIB_IBM) - PARAMETER (EPSMAC=5.E-6) -#endif -#if !defined(CERNLIB_SINGLE)&&defined(CERNLIB_IBM) - PARAMETER (EPSMAC=5.E-5) -#endif -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION GKR,DEMEAN,STOPP1,STOPP2,STOPMX,STOPRG,STOPC - DOUBLE PRECISION EKIPR -#endif -* modified by A.Rotondi & A.Fontana -* march 2007 -* (added and saved previous step PRSTEP for use with Urban model) - REAL VNEXT(6),PRSTEP - SAVE CFLD,CHARG2,RMASS,CUTPRO,IKCUT,STOPC,PRSTEP -C. -C. ------------------------------------------------------------------ -* -* -* *** Update local pointers if medium has changed -* - IF (IUPD.EQ.0) THEN - IUPD = 1 - CHARG2 = CHARGE*CHARGE - IF (IPART.LE.3) THEN - CUTEK = CUTELE - RMASS = 1. - JRANG = LQ(JMA-15) - ELSE IF (IPART.LE.6) THEN - CUTEK = CUTMUO - RMASS = 1. - JRANG = LQ(JMA-16) - ELSE - CUTEK = CUTHAD - RMASS = PMASS/AMASS - JRANG = LQ(JMA-16) + NEK1 - ENDIF - CUTPRO = MAX(CUTEK*RMASS,ELOW(1)) - IKCUT = GEKA*LOG10(CUTPRO) + GEKB - GKR = (CUTPRO - ELOW(IKCUT))/(ELOW(IKCUT+1) - ELOW(IKCUT)) - STOPC = (1.-GKR)*Q(JRANG+IKCUT) + GKR*Q(JRANG+IKCUT+1) - CFLD = 0. - IF (FIELDM.NE.0.) CFLD = 3333.*DEGRAD*TMAXFD/ABS(FIELDM*CHARGE) - ENDIF -* -* *** Compute current step size -* - STEP = BIG - GEKRT1 = 1. - GEKRAT -* -* *** Step limitation due to energy loss (stopping range) ? -* - IF (ILOSS*DEEMAX.GT.0.) THEN - STOPP1 = GEKRT1*Q(JRANG+IEKBIN) + GEKRAT*Q(JRANG+IEKBIN+1) - STOPMX = (STOPP1 - STOPC)/(RMASS*CHARG2) - EKF = (1. - BACKTR*DEEMAX)*GEKIN*RMASS - IF (EKF.LT.ELOW(1)) EKF = ELOW(1) - IF (EKF.GE.ELOW(NEK1)) EKF = ELOW(NEK1)*0.99 - IKF=GEKA*LOG10(EKF)+GEKB - GKR=(EKF-ELOW(IKF))/(ELOW(IKF+1)-ELOW(IKF)) - STOPP2 = (1.-GKR)*Q(JRANG+IKF) + GKR*Q(JRANG+IKF+1) - SLOSP = ABS (STOPP1 - STOPP2) - STEP = SLOSP/(RMASS*CHARG2) - ENDIF -* -* *** Step limitation due to energy loss in magnetic field ? -* - IF (IFIELD*FIELDM.NE.0.) THEN - SFIELD = CFLD*VECT(7) - IF (SFIELD.LT.STEP) STEP = SFIELD - ENDIF -* -* *** Compute point where to store error matrix -* - LERST = 0 - STEPER = BIG - ASCL1 = BIG - DO 20 IPR = 1,NEPRED - STEPE = BIG - IF (LELENG) STEPE = ERLENG(IPR) - SLENG - IF (LEPLAN) THEN - SCAL1 = 0. - SCAL2 = 0. - DO 18 I=1,3 - SCAL1 = SCAL1 + ERPLO(I,4,IPR)*(ERPLO(I,3,IPR)-VECT(I)) - SCAL2 = SCAL2 + ERPLO(I,4,IPR)*VECT(I+3) - 18 CONTINUE - STEPE = SCAL1/SCAL2 - ENDIF - IF (STEPE.LE.PREC) STEPE = BIG - IF (STEPE.LT.STEPER) THEN - STEPER = STEPE - INLIST = IPR - IF (LEPLAN) ASCL1 = ABS (SCAL1) - ENDIF - 20 CONTINUE - IF (STEPER.LE.STEP) THEN - STEP = STEPER - LERST = 1 - ENDIF -* -* *** Step limitation due to geometry ? -* - LNEXT = 0 - IF (STEP.GE.0.95*SAFETY) THEN - CALL GTNEXT - IF (IGNEXT.NE.0) THEN - STEP = SNEXT + PREC - LNEXT = 1 - IF ((STEPER-SNEXT).GT.(2*PREC)) LERST = 0 - ENDIF - ENDIF -* -* *** Linear transport when no field or very short step -* - IF (IFIELD.EQ.0.OR.STEP.LE.2*PREC) THEN - IF (IGNEXT.NE.0) THEN - DO 25 I = 1,3 - VECTMP = VECT(I) +STEP*VECT(I+3) - IF(VECTMP.EQ.VECT(I)) THEN -* -* *** Correct for machine precision -* - IF(VECT(I+3).NE.0.) THEN - VECTMP = - + VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))*EPSMAC -#if defined(DEBUG) - WRITE(CHMAIL, 10000) - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT - CALL GMAIL(0,0) -10000 FORMAT(' Boundary correction in ERTRCH: ', - + ' GEKIN NUMED STEP SNEXT') -10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X) -#endif - ENDIF - ENDIF - VOUT(I) = VECTMP - 25 CONTINUE - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - ELSE - DO 30 I = 1,3 - VOUT(I) = VECT(I) +STEP*VECT(I+3) - 30 CONTINUE - ENDIF - DO 35 I = 4,6 - VOUT(I) = VECT(I) - 35 CONTINUE - GOTO 74 - END IF -* -* *** otherwise, swim particle in magnetic field -* - NMEC = NMEC +1 - LMEC(NMEC) = 4 -* - 50 LERST = 0 - LNEXT = 0 - CALL GUSWIM (CHTR , STEP, VECT, VOUT) -* -* When near to boundary, take proper action (cut-step,crossing...) - IF (STEP.GE.SAFETY) THEN - INEAR = 0 - IF (IGNEXT.NE.0) THEN - DO 51 I = 1,3 - VNEXT(I+3) = VECT(I+3) - VNEXT(I) = VECT(I) +SNEXT*VECT(I+3) - 51 CONTINUE - DO 52 I = 1,3 - IF (ABS(VOUT(I)-VNEXT(I)).GT.EPSIL) GO TO 55 - 52 CONTINUE - INEAR = 1 - ENDIF -* - 55 CALL GINVOL (VOUT,ISAME) - IF (ISAME.EQ.0) THEN - IF ((INEAR.NE.0).OR.(STEP.LT.EPSIL)) THEN - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - LNEXT = 1 - ELSE -* Cut step - STEP = 0.5*STEP - IF (LMEC(NMEC).NE.24) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 24 - ENDIF - GOTO 50 - ENDIF - ENDIF - ENDIF -* -* -* preset plane reached ? - 74 CONTINUE - IF ((LEPLAN).AND.(STEP.GE.ASCL1)) THEN - SCAL3 = 0. - DO 28 I=1,3 - SCAL3=SCAL3+ERPLO(I,4,INLIST)*(ERPLO(I,3,INLIST)-VOUT(I)) - 28 CONTINUE - ASCL3 = ABS(SCAL3) - SSCL1 = ASCL1/SCAL1 - IF (SCAL3*SSCL1.LT. -PREC) THEN -* Cut step - STEP = STEP*(ASCL1/(ASCL1+ASCL3)) - NMEC = NMEC +1 - LMEC(NMEC) = 24 - GOTO 50 - ELSE - IF(ASCL3.LE.PREC) LERST = 1 - ENDIF - ENDIF -* - DO 75 I=1,6 - VECT(I) = VOUT(I) - 75 CONTINUE -* - IF (LELENG.AND.(STEP.GE.STEPER)) LERST = 1 -* - SLENG = SLENG + STEP -* -* *** Now apply selected mechanisms -* - IF (LNEXT.EQ.1) THEN - INWVOL = 2 - NMEC = NMEC + 1 - LMEC(NMEC) = 1 - ENDIF -* -* *** apply energy loss : find the kinetic energy corresponding -* to the new stopping range = stopmx -/+ step -* (take care of the back tracking !) -* - IF (ILOSS*DEEMAX.GT.0) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 3 -* modified by A.Rotondi & A.Fontana -* march 2007 -* (added DESTEP in the calling string for calculation with Urban model -* using the previous step PRSTEP) - CALL ERLAND (STEP,Z,A,DENS,VECT(7),GETOT,AMASS,PRSTEP,DEDX2) - DEDX2 = DEDX2*CHARG2*CHARG2 - STOPRG = STOPP1 - BACKTR*STEP*RMASS*CHARG2 - IKF = IEKBIN - IF (BACKTR.LE.0.) THEN - 95 IF (STOPRG.LT.Q(JRANG+IKF)) THEN - IKF = IKF - 1 - IF (IKF.GT.1) GO TO 95 - ENDIF - ELSE - 96 IF (STOPRG.GE.Q(JRANG+IKF+1)) THEN - IKF = IKF + 1 - IF (IKF.LT.NEK1) GO TO 96 - ENDIF - ENDIF - GKR = (STOPRG - Q(JRANG+IKF)) / (Q(JRANG+IKF+1) - Q(JRANG+IKF)) - EKIPR = (1. -GKR)*ELOW(IKF) + GKR*ELOW(IKF+1) - GEKINT = EKIPR/RMASS - IF (GEKINT.GT.CUTEK) THEN - DESTEP = ABS (GEKIN - GEKINT) - GEKIN = GEKINT - GETOT = GEKIN + AMASS - VECT(7)= SQRT((GETOT+AMASS)*GEKIN) - CALL G3EKBIN - ELSE - DESTEP = GEKINT - GEKIN = 0. - GETOT = AMASS - VECT(7)= 0. - INWVOL = 0 - ISTOP = 2 - NMEC = NMEC + 1 - LMEC(NMEC) = 30 - ENDIF - PRSTEP = DESTEP - ENDIF -* -* *** Propagate error matrix -* - IF (.NOT. LEONLY) CALL ERPROP -* -* *** Store informations -* - IF(LERST.EQ.1) THEN - NMEC = NMEC + 1 - LMEC(NMEC) = 27 - CALL ERSTOR - ENDIF -* - END diff --git a/StarVMC/geant3/erdecks/ertrgo.F b/StarVMC/geant3/erdecks/ertrgo.F deleted file mode 100644 index d62505bf1ac..00000000000 --- a/StarVMC/geant3/erdecks/ertrgo.F +++ /dev/null @@ -1,304 +0,0 @@ -* -* $Id: ertrgo.F,v 1.3 2009/02/01 17:29:50 fisyak Exp $ -* -* $Log: ertrgo.F,v $ -* Revision 1.3 2009/02/01 17:29:50 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:46:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:35 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERTRGO -* -C. ****************************************************************** -C. * * -C. * Perform the tracking of the track * -C. * Track parameters are in VECT * -C. * * -C. * ==>Called by : ERTRAK * -C. * Original routines : GTRACK + GTVOL * -C. * Authors M.Maire, E.Nagy ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gccuts.inc" -#include "geant321/gconst.inc" -#include "geant321/gcphys.inc" -#include "geant321/gckine.inc" -#include "geant321/gcflag.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcmate.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" -#include "geant321/ertrio.inc" -#include "geant321/erwork.inc" - COMMON/GCCHAN/LSAMVL - LOGICAL LSAMVL -* -* - DIMENSION CUTS(10),MECA(5,12) - EQUIVALENCE (CUTS(1),CUTGAM),(MECA(1,1),IPAIR) - DIMENSION NAMIN(15),NUMIN(15),NAMOUT(15),NUMOUT(15) -* - SAVE PRECOR,NSTOUT -#if (!defined(CERNLIB_SINGLE))&&(!defined(CERNLIB_IBM)) - PARAMETER (EPSMAC=5.E-6) -#endif -#if (!defined(CERNLIB_SINGLE))&&(defined(CERNLIB_IBM)) - PARAMETER (EPSMAC=5.E-5) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif -C. -C. ------------------------------------------------------------------ -* - NSTOUT = 0 - EPSCUR = EPSMAC - LSAMVL = .FALSE. - SLENG = 0. - ISTOP = 0 - NUMED = 0 - NUMOLD = 0 - IUPD = 0 - NMEC = 0 - INGOTO = 0 - INFROM = 0 - SAFETY = 0. - MXNSTP = 1000 - NSTEP = 0 -* - CALL GMEDIA(VECT,NUMED) - IF (NUMED.EQ.0) GO TO 200 -* -* *** Come back here each time we enter into a new volume -* - 10 CONTINUE -* -* *** Get tracking medium and material parameters - IF (NUMED.NE.NUMOLD) THEN - NUMOLD = NUMED - IUPD = 0 - JTM = LQ(JTMED- NUMED) - DO 20 I=1,5 - NATMED(I)=IQ(JTM+I) - 20 CONTINUE - NMAT = Q(JTM + 6) - ISVOL = Q(JTM + 7) - IFIELD = Q(JTM + 8) - FIELDM = Q(JTM + 9) - TMAXFD = Q(JTM + 10) - DMAXMS = Q(JTM + 11) - DEEMAX = Q(JTM + 12) - EPSIL = Q(JTM + 13) - STMIN = Q(JTM + 14) - PRECOR = MIN(0.1*EPSIL, 0.0010) -* - IF(LQ(JTM).EQ.0)THEN - IF(ISTPAR.NE.0)THEN - DO 30 I=1,10 - CUTS(I)=Q(JTMED+I) - 30 CONTINUE - DO 40 I=1,12 - MECA(1,I)=Q(JTMED+10+I) - 40 CONTINUE - ISTPAR=0 - ENDIF - ELSE - JTMN=LQ(JTM) - DO 50 I=1,10 - CUTS(I)=Q(JTMN+I) - 50 CONTINUE - DO 60 I=1,12 - MECA(1,I)=Q(JTMN+10+I) - 60 CONTINUE - ILABS = Q(JTMN+10+21) - ISYNC = Q(JTMN+10+22) - ISTRA = Q(JTMN+10+23) - ISTPAR=1 - ENDIF -* - JMA = LQ(JMATE- NMAT) - JPROB=LQ(JMA-4) - JMIXT=LQ(JMA-5) - DO 70 I=1,5 - 70 NAMATE(I)=IQ(JMA+I) - A = Q(JMA + 6) - Z = Q(JMA + 7) - DENS = Q(JMA + 8) - RADL = Q(JMA + 9) - ABSL = Q(JMA + 10) - ENDIF -* - IF(LSAMVL) THEN -* -* If now the particle is entering in the same volume where -* it was exiting from last step, and if it has done this for -* more than 5 times, we decrease the precision of tracking - NSTOUT=NSTOUT+1 - IF(MOD(NSTOUT,5).EQ.0) THEN - EPSCUR=NSTOUT*EPSMAC - WRITE(CHMAIL,10000)ITRA,ISTAK,NTMULT,NAPART -10000 FORMAT(' *** ERTRGO *** Boundary loop: track ', - + I4,' stack ',I4,' NTMULT ',I5,1X,5A4) - CALL GMAIL(1,0) - WRITE(CHMAIL,10100) EPSCUR -10100 FORMAT(' Precision now set to ',G10.3) - CALL GMAIL(0,1) - ENDIF - ELSE - NSTOUT = 0 - EPSCUR = EPSMAC - ENDIF -* -* *** Initialize magnetic field for EMC package - HI(1) = 0. - HI(2) = 0. - HI(3) = 0. - IF (IFIELD.EQ.3) THEN - HI(3) = FIELDM - ELSEIF (IFIELD.NE.0) THEN - CALL GUFLD (VECT, HI) - ENDIF -* -* *** Control given to user at entrance of volume (INWVOL=1) - INWVOL = 1 - NMEC = 1 - LMEC(1) = 29 - STEP = 0. - DESTEP = 0. -* - IF((LEVOLU).AND.(SLENG.GT.0.)) THEN - IMEC = 0 - CALL EVOLIO(NVLIN,NAMIN,NUMIN,NVLOUT,NAMOUT,NUMOUT) - DO 80 IPR =1,NEPRED - NAMPR = NAMEER(IPR) - NUMPR = NUMVER(IPR) - IOVPR = IOVLER(IPR) - IF (IOVPR.EQ.1) THEN - IV = IUCOMP(NAMPR,NAMIN ,NVLIN ) - IF (IV.NE.0) THEN - IF (NUMPR.EQ.0) NUMPR = NUMIN (IV) - IF (NUMPR.EQ.NUMIN (IV)) THEN - NMEC = NMEC + 1 - LMEC(NMEC) = 27 - INLIST = IPR - CALL ERSTOR - ENDIF - ENDIF - ELSE IF (IOVPR.EQ.2) THEN - IV = IUCOMP(NAMPR,NAMOUT,NVLOUT) - IF (IV.NE.0) THEN - IF (NUMPR.EQ.0) NUMPR = NUMOUT(IV) - IF (NUMPR.EQ.NUMOUT(IV)) THEN - NMEC = NMEC + 1 - LMEC(NMEC) = 27 - INLIST = IPR - CALL ERSTOR - ENDIF - ENDIF - ENDIF -* - 80 CONTINUE -* - ENDIF -* - CALL EUSTEP - IF (ISTOP.NE.0) GO TO 999 -* -* *** Particle is propagated up to the next volume boundary -* - INWVOL=0 -* -* *** Come back here after each step in the same volume - 100 IGNEXT = 0 - INGOTO = 0 - NLEVIN = NLEVEL - NMEC = 0 - STEP = 0. - DESTEP = 0. - DEDX2 = 0. - PREC = MAX(PRECOR,MAX(ABS(VECT(1)),ABS(VECT(2)), - + ABS(VECT(3)),SLENG)*EPSCUR) -* - IF(CHARGE.NE.0.) THEN - CALL ERTRCH - ELSE - CALL ERTRNT - ENDIF -* - NSTEP = NSTEP + 1 - IF (NSTEP.GT.MXNSTP) THEN - ISTOP = 99 - NMEC = NMEC + 1 - LMEC(NMEC) = 30 - ENDIF -* - SAFETY = SAFETY - STEP - TLRAD = TLRAD + STEP/RADL - TLGCM2 = TLGCM2 + STEP*DENS -* -* *** Give control to user after each tracking step - CALL EUSTEP -* - IF(ISTOP.NE.0) GO TO 999 -* -* *** Renormalize direction cosines - CMOD = 1./SQRT(VECT(4)**2 + VECT(5)**2 + VECT(6)**2) - VECT(4) = VECT(4)*CMOD - VECT(5) = VECT(5)*CMOD - VECT(6) = VECT(6)*CMOD -* - IF (INWVOL.EQ.0) GO TO 100 -* -* *** Particle is leaving the volume (INWVOL=2) : -* -* Save the current volume's tree before leaving the volume - IF(LEVOLU) CALL EVOLIO(NVLIN,NAMIN,NUMIN,NVLOUT,NAMOUT,NUMOUT) -* -* find the new volume - IF (NLEVIN.GE.NLEVEL) THEN - INFROM = 0 - ELSE - IF (NLEVIN.EQ.0) GO TO 200 - INFROM = LINDEX (NLEVIN+1) - ENDIF - IF (NLEVIN.NE.NLEVEL) INGOTO = 0 - NLEVEL = NLEVIN -* - CALL GTMEDI (VECT,NUMED) - IF (NUMED.NE.0) THEN - SAFETY = 0. - GO TO 10 - ENDIF -* -* *** Track outside setup, give control to user (INWVOL=3) - 200 INWVOL= 3 - ISTOP = 1 - NMEC = NMEC + 1 - LMEC(NMEC) = 30 - CALL EUSTEP - 999 CONTINUE - ILOSL = 0 -* - END diff --git a/StarVMC/geant3/erdecks/ertrnt.F b/StarVMC/geant3/erdecks/ertrnt.F deleted file mode 100644 index 96bfb5fbe9e..00000000000 --- a/StarVMC/geant3/erdecks/ertrnt.F +++ /dev/null @@ -1,107 +0,0 @@ -* -* $Id: ertrnt.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: ertrnt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERTRNT -C. -C. ****************************************************************** -C. * * -C. * Average neutral track is extrapolated by one step * -C. * * -C. * ==>Called by : ERTRGO * -C. * Original routine : GTNINO * -C. * Authors M.Maire, E.Nagy ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/ertrio.inc" -#include "geant321/gconst.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -* -* *** Compute point where to store error matrix -* - STEPER = BIG - DO 20 IPR = 1,NEPRED - STEPE = BIG - IF (LELENG) STEPE = ERLENG(IPR) - SLENG - IF (LEPLAN) THEN - SCAL1 = 0. - SCAL2 = 0. - DO 18 I=1,3 - SCAL1 = SCAL1 + ERPLO(I,4,IPR)*(ERPLO(I,3,IPR)-VECT(I)) - SCAL2 = SCAL2 + ERPLO(I,4,IPR)*VECT(I+3) - 18 CONTINUE - STEPE = SCAL1/SCAL2 - ENDIF - IF (STEPE.LE.PREC) STEPE = BIG - IF (STEPE.LT.STEPER) THEN - STEPER = STEPE - INLIST = IPR - ENDIF - 20 CONTINUE -* - STEP = BIG - CALL GTNEXT -* - IF(STEPER.LT.SNEXT) THEN - STEP = STEPER - INWVOL = 0 - IMEC = 27 - NMEC = NMEC + 1 - LMEC(NMEC) = IMEC - ELSE - STEP = SNEXT + PREC - INWVOL = 2 - IMEC = 1 - NMEC = NMEC + 1 - LMEC(NMEC) = IMEC - IF ((STEPER-SNEXT).LE.(2*PREC)) THEN - IMEC = 27 - NMEC = NMEC + 1 - LMEC(NMEC) = IMEC - ENDIF - ENDIF -* -* *** Linear transport -* - DO 25 I=1,3 - VECT(I) = VECT(I) + STEP*VECT(I+3) - 25 CONTINUE -* - SLENG = SLENG + STEP -* -* *** Propagate error matrix -* - IF (.NOT. LEONLY) CALL ERPROP -* -* *** Store informations -* - IF(IMEC.EQ.27) CALL ERSTOR -* - END diff --git a/StarVMC/geant3/erdecks/erxyzc.F b/StarVMC/geant3/erdecks/erxyzc.F deleted file mode 100644 index 946e94e3a12..00000000000 --- a/StarVMC/geant3/erdecks/erxyzc.F +++ /dev/null @@ -1,79 +0,0 @@ -* -* $Id: erxyzc.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: erxyzc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE ERXYZC -C. -C. ****************************************************************** -C. * * -C. * Print track and volume parameters at current point * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gckine.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcunit.inc" -#include "geant321/ertrio.inc" -* - DIMENSION MECNAM(20) - CHARACTER*4 KUN1,KUN2 -* - DO 10 I=1,NMEC - MEC=LMEC(I) - MECNAM(I)=NAMEC(MEC) - 10 CONTINUE -* - IF (SLENG.LE.0.) THEN - WRITE(CHMAIL,1000) (NAPART(I),I=1,5),NEPRED,CHOPTI - CALL GMAIL(0,0) - WRITE(CHMAIL,1100) - CALL GMAIL(0,0) - ENDIF -* - R = SQRT(VECT(1)**2+VECT(2)**2) - CALL G3EVKEV (DESTEP,DESU,KUN1) - CALL G3EVKEV (GEKIN ,GEKU,KUN2) - WRITE(CHMAIL,2000)(VECT(I),I=1,3),R,NAMES(NLEVEL),NUMBER(NLEVEL) - + ,SLENG,STEP,DESU,KUN1,GEKU,KUN2,(MECNAM(I),I=1,NMEC) - CALL GMAIL(0,0) -C - 1000 FORMAT(' =====> starting GEANE tracking for ',5A4,' NEPRED =',I3, - + ' with options : ',A8) - 1100 FORMAT(' X Y Z R NAME NUMBER', - +' SLENG STEP DESTEP GEKIN MECHANISMS') - 2000 FORMAT(1X,4F10.4,2X,A4,2X,I4,2X,2F10.4,F7.1,A4,F9.3,A4,2X, - + 6(A4,1X)) -* - END diff --git a/StarVMC/geant3/erdecks/eufill.F b/StarVMC/geant3/erdecks/eufill.F deleted file mode 100644 index 82264ebbaf8..00000000000 --- a/StarVMC/geant3/erdecks/eufill.F +++ /dev/null @@ -1,56 +0,0 @@ -* -* $Id: eufill.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: eufill.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE EUFILL (N, EIN, XLF) -* -C. ****************************************************************** -C. * * -C. * User routine to fill the input values of the commons : * -C. * /EROPTS/, /EROPTC/ and /ERTRIO/ for CHOPT = 'L' * -C. * N Number of predictions where to store results * -C. * EIN Input error matrix * -C. * XLF Defines the tracklengths which if passed the * -C. * result should be stored * -C. * * -C. * * -C. * ==>Called by : USER (before calling ERTRAK) * -C. * Author M.Maire, E.Nagy ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/ertrio.inc" - DIMENSION EIN(15), XLF(N) -* - NEPRED = MIN0 (N, MXPRED) -* - CALL UCOPY (EIN(1), ERRIN(1), 15) - CALL UCOPY (XLF(1), ERLENG(1), NEPRED) -* -* END EUFILL - 99 END diff --git a/StarVMC/geant3/erdecks/eufilp.F b/StarVMC/geant3/erdecks/eufilp.F deleted file mode 100644 index 010f21ee905..00000000000 --- a/StarVMC/geant3/erdecks/eufilp.F +++ /dev/null @@ -1,67 +0,0 @@ -* -* $Id: eufilp.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: eufilp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE EUFILP (N, EIN, PLI, PLF) -* -C. ****************************************************************** -C. * * -C. * User routine to fill the input values of the commons : * -C. * /EROPTS/, /EROPTC/ and /ERTRIO/ for CHOPT = 'P' * -C. * N Number of predictions where to store results * -C. * EIN Input error matrix (in the 'Plane' system ) * -C. * PLI Defines the start plane * -C. * PLI(3,1) - and * -C. * PLI(3,2) - 2 unit vectors in the plane * -C. * PLF Defines the end plane * -C. * PLF(3,1,I) - and * -C. * PLF(3,2,I) - 2 unit vectors in the plane * -C. * PLF(3,3,I) - point on the plane * -C. * at intermediate point I * -C. * * -C. * ==>Called by : USER (before calling ERTRAK) * -C. * Author M.Maire, E.Nagy ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/ertrio.inc" - DIMENSION EIN(15), PLF(3,3,N), PLI(3,2),PWORK(3) -* - NEPRED = MIN0 (N, MXPRED) -* - CALL UCOPY (EIN(1), ERRIN(1), 15) - CALL UCOPY (PLI(1,1), ERPLI(1,1), 6) - DO 5 I = 1, NEPRED - CALL UCOPY (PLF(1,1,I), ERPLO(1,1,I), 9) - CALL CROSS (PLF(1,1,I), PLF(1,2,I), PWORK(1)) - PNORM = VMOD(PWORK,3) - CALL VSCALE(PWORK,PNORM,ERPLO(1,4,I),3) - 5 CONTINUE -* -* END EUFILP - 99 END diff --git a/StarVMC/geant3/erdecks/eufilv.F b/StarVMC/geant3/erdecks/eufilv.F deleted file mode 100644 index b441d377547..00000000000 --- a/StarVMC/geant3/erdecks/eufilv.F +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: eufilv.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: eufilv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE EUFILV (N, EIN, CNAMV, NUMV, IOVL) -* -C. ****************************************************************** -C. * * -C. * User routine to fill the input values of the commons : * -C. * /EROPTS/, /EROPTC/ and /ERTRIO/ for CHOPT = 'V' * -C. * N Number of predictions where to store results * -C. * EIN Input error matrix * -C. * CNAMV Volume name of the prediction * -C. * NUMV Volume number (if 0 = all volumes) * -C. * IOVL = 1 prediction when entering in the volume * -C. * = 2 prediction when leaving the volume * -C. * * -C. * ==>Called by : USER (before calling ERTRAK) * -C. * Author M.Maire, E.Nagy ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/ertrio.inc" - DIMENSION EIN(15), NUMV(N), IOVL(N) - CHARACTER * 4 CNAMV(N) -* - NEPRED = MIN0 (N, MXPRED) -* - CALL UCOPY (EIN(1), ERRIN(1), 15) - DO I=1,NEPRED - CALL UCTOH (CNAMV(I),NAMEER(I),4,4) - ENDDO - CALL UCOPY (NUMV(1),NUMVER(1),NEPRED) - CALL UCOPY (IOVL(1),IOVLER(1),NEPRED) -* -* END EUFILV - 99 END diff --git a/StarVMC/geant3/erdecks/eustep.F b/StarVMC/geant3/erdecks/eustep.F deleted file mode 100644 index eab525c63b9..00000000000 --- a/StarVMC/geant3/erdecks/eustep.F +++ /dev/null @@ -1,218 +0,0 @@ -* -* $Id: eustep.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: eustep.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:29 fisyak -* Merge with macos version -* -* Revision 1.2 2007/05/18 08:44:16 brun -* A major update of GEANTE by Andrea Fontana and Alberto Rotondi -* -* -* 1) update of the Coulomb multiple scattering parametrization; -* 2) update of the straggling of energy loss for thin materials; -* 3) new options to extrapolate the track parameters to the point -* of closest approach to a point or to a wire (straight line). -* -* Details on the physical motivation behind this work can be found -* in our report for the Panda Collaboration, available at: -* -* http://www.pv.infn.it/~fontana/tracking.pdf -* -* Feel free to contact us for questions and discussions about these -* topics by using the following email addresses: -* -* alberto.rotondi@pv.infn.it -* andrea.fontana@pv.infn.it -* -* --- -* -* List of changes in the fortran and C++ routines of the geant3 -* VMC directory: -* -* - gcmore.inc -* gtmore.inc -* geant3LinkDef.h -* gcomad.F -* -* Added a new common that contains all the new variables: -* COMMON/GCMORE/GCALPHA,ICLOSE,PFINAL(3),DSTRT,WIRE1(3),WIRE2(3), -* + P1(3),P2(3),P3(3),CLENG(3) -* -* input to ERLAND: -* GCALPHA: energy cut parameter for energy loss fluctuations -* -* input to EUSTEP: -* ICLOSE: = 1 the use of the common is enabled for the closest -* approach to a point PFINAL(3) -* = 2 the use of the common is enabled for the closest -* approach to a wire of extremes WIRE1(3) and WIRE2(3) -* = 0 the common is empty and disabled -* PFINAL(3): assigned point -* DSTRT: assigned distance between initial point in ERTRAK -* and PFINAL along straight line (currently noy used) -* WIRE1(3): first point of a wire -* WIRE2(3): second point of a wire -* -* output from EUSTEP: -* P1(3): point previous to the point of closest approach to -* PFINAL() or wire -* P2(3): point of closest approach to PFINAL() or wire -* P3(3): point next to the point of closest approach to -* PFINAL() or wire -* CLENG(3): track length to the previous 3 points -* -* Important note: the calculated points of closest approach are -* depending on the GEANE steps. For calculating the true point -* of closest approach the last 3 points of the extrapolation, i.e. -* the previous to closest, the closest and the next to closest are -* returned to the user. Different algorithms can be implemented, but -* we decided to leave this to the users in the C++ interface to GEANE. -* -* - ermcsc.F -* new expression for the variance of the Coulomb multiple scattering -* according to Fruhwirth and Regler, NIM A 456 (2001) 369 -* -* - ertrch.F -* added DESTEP in the calling string of ERLAND for calculation with -* Urban model. Added and saved previous step PRSTEP. -* -* - erland.F -* added new calculation for sigma of straggling in energy loss -* to include in Geane the Urban/Landau approximation, as explained -* in the Geant manual and related papers. -* The model parametrization can be controlled with a user variable (GCALPHA) -* in the new GCMORE common block: 1 is for old gaussian model valid -* for dense materials, other values (see the report) are for gaseous -* materials. -* -* - eustep.F -* added the calculation to the distance of closest approach to a point -* or to a wire. -* -* - TGeant3.h -* - TGeant3.cxx -* added the possibility to define user cuts (already present in the gccuts -* struct but not in the TGeant3::SetCUTS method) and to define the new -* variables of the GCMORE common with two new methods SetECut() and -* SetClose(). -* Added new method InitGEANE() to initialize GEANE to the old behaviour -* (default) for backward compatibility. Only the multiple scattering has -* been updated to a more correct formula. -* Corrected a typo in the call to the routine Trscsd(). -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE EUSTEP -* modified by A.Rotondi & A.Fontana -* may 2007 -* (to be used to find the closest approach to a point -* and to a wire) -* -#include "geant321/gcflag.inc" -#include "geant321/gctrak.inc" -#include "geant321/gconst.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcmore.inc" -#include "geant321/gcjump.inc" -* - INTEGER*4 ICC,CFLAG - SAVE ICC, ICONT - REAL*4 DIST2,PRDIST2 - - SAVE PRDIST2 - REAL*4 D2X,D2Y,D2Z,AMODD - DATA ICC/0/, ICONT/0/ -* -* clear ICC when tracking starts - IF(SLENG .EQ. 0.) ICC = 0 - - CFLAG=ICLOSE - IF (IDEBUG*ISWIT(2).NE.0) CALL ERXYZC - - IF(CFLAG.EQ.1) THEN -* distance between the track point and the point - IF(ICC.EQ.0) PRDIST2=BIG - DIST2 = (VECT(1)-PFINAL(1))**2+(VECT(2)-PFINAL(2))**2 - + + (VECT(3)-PFINAL(3))**2 - - IF((SQRT(DIST2)-SQRT(PRDIST2)).LT.1.E-3) THEN - PRDIST2 = DIST2 - ICC = 1 - ICONT = 1 - CLENG(1) = CLENG(2) - CLENG(2) = CLENG(3) - CLENG(3) = SLENG - CALL UCOPY(P2,P1,3) - CALL UCOPY(P3,P2,3) - CALL UCOPY(VECT,P3,3) - ELSE -* store the first point of increasing distance - IF(ICONT .EQ. 1) THEN - CLENG(1) = CLENG(2) - CLENG(2) = CLENG(3) - CLENG(3) = SLENG - CALL UCOPY(P2,P1,3) - CALL UCOPY(P3,P2,3) - CALL UCOPY(VECT,P3,3) - ICONT = 0 - ENDIF - ENDIF - - ELSE IF(CFLAG.EQ.2) THEN - - IF(ICC.EQ.0) PRDIST2=BIG - - D2X = (WIRE2(2)-WIRE1(2))*(WIRE1(3)-VECT(3)) - + - (WIRE2(3)-WIRE1(3))*(WIRE1(2)-VECT(2)) - D2Y = (WIRE2(3)-WIRE1(3))*(WIRE1(1)-VECT(1)) - + - (WIRE2(1)-WIRE1(1))*(WIRE1(3)-VECT(3)) - D2Z = (WIRE2(1)-WIRE1(1))*(WIRE1(2)-VECT(2)) - + - (WIRE2(2)-WIRE1(2))*(WIRE1(1)-VECT(1)) - AMODD = (WIRE2(1)-WIRE1(1))**2 + (WIRE2(2)-WIRE1(2))**2 - + + (WIRE2(3)-WIRE1(3))**2 - DIST2 = (D2X**2 + D2Y**2 + D2Z**2)/AMODD -* distance between the track point and the wire - IF((SQRT(DIST2)-SQRT(PRDIST2)).LT.1.E-3) THEN - PRDIST2 = DIST2 - ICC=1 - ICONT = 1 - CLENG(1) = CLENG(2) - CLENG(2) = CLENG(3) - CLENG(3) = SLENG - CALL UCOPY(P2,P1,3) - CALL UCOPY(P3,P2,3) - CALL UCOPY(VECT,P3,3) - ELSE -* store the first point of increasing distance - IF(ICONT .EQ. 1) THEN - CLENG(1) = CLENG(2) - CLENG(2) = CLENG(3) - CLENG(3) = SLENG - CALL UCOPY(P2,P1,3) - CALL UCOPY(P3,P2,3) - CALL UCOPY(VECT,P3,3) - ICONT = 0 - ENDIF - ENDIF - ENDIF - CALL GUSTEP -* - END diff --git a/StarVMC/geant3/erdecks/evolio.F b/StarVMC/geant3/erdecks/evolio.F deleted file mode 100644 index 4ad5d537e96..00000000000 --- a/StarVMC/geant3/erdecks/evolio.F +++ /dev/null @@ -1,132 +0,0 @@ -* -* $Id: evolio.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: evolio.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE EVOLIO (NVLIN,NAMIN,NUMIN,NVLOUT,NAMOUT,NUMOUT) -* -C. ****************************************************************** -C. * * -C. * Called with INWVOL=2 this routine save the volume's tree * -C. * * -C. * Called with INWVOL=1 this routine returns * -C. * - the list of volumes (and number) left * -C. * - the list of volumes (and number) entered * -C. * * -C. * ==>Called by : ERTRGO * -C. * Author M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcvolu.inc" -#include "geant321/gctrak.inc" -* - PARAMETER (NVMX=15) - COMMON/OLDTRE/NLVOLD,NAMOLD(NVMX),NUMOLD(NVMX),IOFLAG(NVMX),KONLY -* - DIMENSION NAMIN(NVMX),NUMIN(NVMX),NAMOUT(NVMX),NUMOUT(NVMX) -* -* - NVLOUT = 0 - NVLIN = 0 - IF(INWVOL.EQ.0) RETURN - IF(NLEVEL.EQ.0) RETURN -* -* *** Save the tree when leaving a volume -* - IF(INWVOL.EQ.2) THEN - NLVOLD = NLEVEL - KONLY = 1 - DO 1 ILV =1,NLEVEL - NAMOLD(ILV) = NAMES (ILV) - NUMOLD(ILV) = NUMBER(ILV) - IOFLAG(ILV) = 2 - IF(GONLY(ILV).NE.1.) KONLY = 0 - 1 CONTINUE - RETURN - ENDIF -* -* *** Entering in a new volume : compare the trees -* - IF(INWVOL.NE.1) RETURN -* -* *** Simplest case : old tree is 'ONLY' -* - IF(KONLY.EQ.1) THEN - NLMIN = MIN(NLEVEL,NLVOLD) - NL = 0 - 10 NL = NL + 1 - IF(NL.GT.NLMIN) GO TO 12 - IF((NAMES (NL).EQ.NAMOLD(NL)).AND. - * (NUMBER(NL).EQ.NUMOLD(NL))) GO TO 10 -* - 12 CONTINUE - IF(NL.LE.NLVOLD) THEN - DO 14 IL = NL,NLVOLD - NVLOUT = NVLOUT + 1 - NAMOUT(NVLOUT) = NAMOLD(IL) - NUMOUT(NVLOUT) = NUMOLD(IL) - 14 CONTINUE - ENDIF -* - IF(NL.LE.NLEVEL) THEN - DO 16 IL = NL,NLEVEL - NVLIN = NVLIN + 1 - NAMIN (NVLIN ) = NAMES (IL) - NUMIN (NVLIN ) = NUMBER(IL) - 16 CONTINUE - ENDIF -* - RETURN - ENDIF -* -* *** Special case for 'NOT ONLY' volumes -* - IF(KONLY.EQ.0) THEN - DO 24 IL1 = 1,NLEVEL - DO 22 IL2 = 1,NLVOLD - IF((NAMES (IL1).EQ.NAMOLD(IL2)).AND. - * (NUMBER(IL1).EQ.NUMOLD(IL2))) THEN - IOFLAG(IL2) = 0 - GO TO 24 - ENDIF - 22 CONTINUE - NVLIN = NVLIN + 1 - NAMIN (NVLIN ) = NAMES (IL1) - NUMIN (NVLIN ) = NUMBER(IL1) - 24 CONTINUE -* - DO 26 IL2 = 1,NLVOLD - IF(IOFLAG(IL2).EQ.0) GO TO 26 - NVLOUT = NVLOUT + 1 - NAMOUT(NVLOUT) = NAMOLD(IL2) - NUMOUT(NVLOUT) = NUMOLD(IL2) - 26 CONTINUE -* - ENDIF -* - END diff --git a/StarVMC/geant3/erdecks/gdedxcalc.F b/StarVMC/geant3/erdecks/gdedxcalc.F deleted file mode 100644 index 2c6dc383c48..00000000000 --- a/StarVMC/geant3/erdecks/gdedxcalc.F +++ /dev/null @@ -1,228 +0,0 @@ -* -* $Id: gdedxcalc.F,v 1.2 2009/02/01 17:29:50 fisyak Exp $ -* -* $Log: gdedxcalc.F,v $ -* Revision 1.2 2009/02/01 17:29:50 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:46:30 fisyak -* Merge with macos version -* -* Revision 1.1 2005/09/22 22:49:26 fisyak -* move to erdecks -* -* Revision 1.1 1999/07/28 02:14:12 caines -* Add in kalman filter code -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 13/12/94 17.08.38 by S.Giani -*-- Author : - SUBROUTINE GDEDXCALC(IMATE,IPART,MECAN,KDIN,TKIN,DE1GEV) -C. -C. ****************************************************************** -C. * * -C. * INTERPOLATE and RETURN the DE/DX * -C. * tabulated in JMATE banks corresponding to * -C. * material IMATE, particle IPART, mecanism name MECAN , * -C. * kinetic energies TKIN. * -C. * * -C. * The MECAnism name can be : * -C. * 'HADF' 'INEF' 'ELAF' 'FISF' 'CAPF' * -C. * 'HADG' 'INEG' 'ELAG' 'FISG' 'CAPG' * -C. * 'LOSS' 'PHOT' 'ANNI' 'COMP' 'BREM' * -C. * 'PAIR' 'DRAY' 'PFIS' 'RAYL' 'HADG' * -C. * 'MUNU' 'RANG' 'STEP' * -C. * * -C. * For Hadronic particles it also computes the * -C. * hadronic cross section from FLUKA ( '***F' ) or * -C. * GHEISHA ( '***G' ) programs: * -C. * HADF or HADG -- total * -C. * INEF or INEG -- inelastic * -C. * ELAF or ELAG -- elastic * -C. * FISF or FISG -- fission (0.0 for FLUKA) * -C. * CAPF or CAPG -- neutron capture (0.0 for FLUKA) * -C. * * -C. * Input parameters * -C. * IMATE Geant material number * -C. * IPART Geant particle number * -C. * MECAN mechanism name of the bank to be fetched * -C. * KDIM dimension of the arrays TKIN , VALUE * -C. * TKIN array of kinetic energy of incident particle (in Gev) * -C. * * -C. * ==>Called by : * -C. * Authors R.Brun, M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" - PARAMETER (MMX=100) - CHARACTER*(*) MECAN - CHARACTER*4 MECA - CHARACTER*4 KU1 , KU2 , KU3 , KU(5) - DIMENSION TKIN(KDIN),VALUE(MMX),SIGT(MMX),PCUT(5),CU(5) -* -#include "geant321/gcnmec.inc" -* -* ------------------------------------------------------------------ -* - KDIM = MIN(KDIN,MMX) - IF (KDIM.LE.0) GO TO 999 -* - IF (JMATE.LE.0) GO TO 999 - IF (IMATE.LE.0) GO TO 999 - IF (IMATE.GT.NMATE) GO TO 90 - JMA = LQ(JMATE-IMATE) - IF (JMA.LE.0) GO TO 90 -* - IF (JPART.LE.0) GO TO 999 - IF (IPART.LE.0) GO TO 999 - IF (IPART.GT.NPART) GO TO 90 - JPA = LQ(JPART-IPART) - IF (JPA.LE.0) GO TO 90 -* - DO 10 JSIG=1,MMX - SIGT(JSIG)=0. - 10 CONTINUE - IF(MECAN.EQ.'ALL') THEN - N1 = 1 - N2 = NMECA - ELSE - N1 = 0 - DO 20 IMECA=1,NMECA - IF(MECAN.EQ.CHNMEC(IMECA)) THEN - N1 = IMECA - ENDIF - 20 CONTINUE - IF(N1.EQ.0) THEN - WRITE(CHMAIL,'('' *** GPRMAT: Mechanism '',A, - + '' not implemented'')') MECAN - CALL GMAIL(0,0) - GOTO 999 - ENDIF - N2 = N1 - ENDIF - DO 60 IMEC = N1,N2 - IF(CHNMEC(IMEC).NE.'NULL') THEN - MECA = CHNMEC(IMEC) - CALL GFTMAT(IMATE,IPART,MECA,KDIM,TKIN,VALUE,PCUT,IXST) - IF(IXST.EQ.0) GO TO 60 - DO 30 K=1,5 - 30 CALL GEVKEV(PCUT(K),CU(K),KU(K)) -* - IF (MECA.EQ.'LOSS'.OR.MECA.EQ.'RANG'.OR.MECA.EQ.'STEP') - + THEN - - NROW = (KDIM-1)/3 + 1 - DO 40 IKB=1,NROW - IK = IKB - DE1 = VALUE(IK) - DE1GEV = DE1/1000. ! return in GeV/cm - CALL GEVKEV(TKIN(IK),EK1,KU1) -* - IK = IKB + NROW - IF (IK.GT.KDIM) IK=KDIM - DE2 = VALUE(IK) - CALL GEVKEV(TKIN(IK),EK2,KU2) -* - IK = IKB + 2*NROW - IF (IK.GT.KDIM) IK=KDIM - DE3 = VALUE(IK) - CALL GEVKEV(TKIN(IK),EK3,KU3) -* - 40 CONTINUE - ELSE - WRITE(CHMAIL,10700) - CALL GMAIL(0,1) - NROW = (KDIM-1)/2 + 1 - DO 50 IKB=1,NROW - IK = IKB - SIG1 = VALUE(IK) - AL1=0. - IF(SIG1.NE.0.)AL1 = 1./SIG1 - SIGT(IK) = SIGT(IK) + SIG1 - CALL GEVKEV(TKIN(IK),EK1,KU1) -* - IK = IKB + NROW - IF (IK.GT.KDIM) IK=KDIM - SIG2 = VALUE(IK) - AL2=0. - IF(SIG2.NE.0.)AL2 = 1./SIG2 - SIGT(IK) = SIGT(IK) + SIG2 - CALL GEVKEV(TKIN(IK),EK2,KU2) -* - WRITE(CHMAIL,10900) EK1,KU1,SIG1,AL1,EK2,KU2,SIG2,AL2 - CALL GMAIL(0,0) - 50 CONTINUE - ENDIF - ENDIF - 60 CONTINUE -* -* *** print total cross section - IF (MECAN.EQ.'ALL') THEN - MECA = 'SIGT' - CHMAIL='1' - CALL GMAIL(0,0) - WRITE(CHMAIL,10100)(IQ(JMA+I),I=1,5),MECA,(IQ(JPA+J),J=1,5) - CALL GMAIL(0,0) - CHMAIL(31:)='-----------------------------------------' - CALL GMAIL(0,1) - CHMAIL=' ' - DO 70 K=1,5 - 70 CALL GEVKEV(PCUT(K),CU(K),KU(K)) - WRITE(CHMAIL,10200) (CU(K),KU(K),K=1,5) - CALL GMAIL(0,1) - WRITE(CHMAIL,10800) - CALL GMAIL(0,1) - NROW = (KDIM-1)/2 + 1 - DO 80 IKB=1,NROW - IK = IKB - SIG1 = SIGT(IK) - AL1=0. - IF(SIG1.NE.0.)AL1 = 1./SIG1 - CALL GEVKEV(TKIN(IK),EK1,KU1) -* - IK = IKB + NROW - IF (IK.GT.KDIM) IK=KDIM - SIG2 = SIGT(IK) - AL2=0. - IF(SIG2.NE.0.)AL2 = 1./SIG2 - CALL GEVKEV(TKIN(IK),EK2,KU2) -* - WRITE(CHMAIL,10900) EK1,KU1,SIG1,AL1,EK2,KU2,SIG2,AL2 - CALL GMAIL(0,0) - 80 CONTINUE - ENDIF -* - GO TO 999 -* - 90 WRITE(CHMAIL,10000) IMATE ,IPART - CALL GMAIL(0,0) -* -10000 FORMAT(' ***** GPRMAT error : material',I4, - + ' or particle',I4,' not defined' ) -10100 FORMAT(30X,5A4,A4, ' for ',5A4) -10200 FORMAT( 6X,'BCUTE =',F6.2,A4,3X,'BCUTM =',F6.2,A4,3X, - + 'DCUTE =',F6.2,A4,3X,'DCUTM =',F6.2,A4,3X, - + 'PPCUTM =',F6.2,A4 ) -10300 FORMAT( 6X,'kinetic energy DE/DX(mev/cm)', - + 6X,'kinetic energy DE/DX(mev/cm)', - + 6X,'kinetic energy DE/DX(mev/cm)') -10400 FORMAT( 6X,'kinetic energy Stop range cm', - + 6X,'kinetic energy Stop ramge cm', - + 6X,'kinetic energy Stop range cm') -10500 FORMAT( 6X,'kinetic energy Mulof step cm', - + 6X,'kinetic energy Mulof step cm', - + 6X,'kinetic energy Mulof step cm') -10600 FORMAT( 3(F16.2,A4,E15.4)) -10700 FORMAT( 6X,'kinetic energy Sigma (1/cm) Lambda (cm)', - + 6X,'kinetic energy Sigma (1/cm) Lambda (cm)') -10800 FORMAT( 6X,'kinetic energy Sigto (1/cm) Lambda (cm)', - + 6X,'kinetic energy Sigto (1/cm) Lambda (cm)') -10900 FORMAT( 2(F16.2,A4,2(E15.4))) - 999 END diff --git a/StarVMC/geant3/erdecks/mytrack.g b/StarVMC/geant3/erdecks/mytrack.g deleted file mode 100644 index 5062d4532e4..00000000000 --- a/StarVMC/geant3/erdecks/mytrack.g +++ /dev/null @@ -1,101 +0,0 @@ - subroutine mytrack (vert1,px,py,pz,id) -+CDE,TYPING,GCBANK,GCUNIT,GCFLAG,GCKING,GCKINE,GCTRAK,GCVOLU,GCMATE,GCPHYS. - real px,py,pz,ub(100) - integer id,iv,it - real vert1(3),plab(3) - character cvol*4 - Integer i,ns - Real VMOD - Real e, de, r, rs, rl, drl - common /mymate/ns,rs(100),de(100),e(100),rl(100),drl(100) - Integer numv(15) /15*0/ - Integer iovlIn(2) /2*1/ - Integer Npred /0/ - Character *4 NameV(2) /'TPAD','TPA1'/ - Real x1(3),p1(3),x2(3),p2(3) - Character *3 VoptB /'VO'/ - Real inputError(15)/15*0/ - Integer idParticle - external resetNlevel - idParticle = id - ns = 0 - p1(1) = px - p1(2) = py - p1(3) = pz - if (px**2 + py**2 + pz**2 .le. 1.e-4) return - call ucopy(vert1,x1,3) - call Eufilv (Npred, inputError, NameV, numv, iovlIn); -100 continue - if (p1(1)**2 + p1(2)**2 + p1(3)**2 .le. 1.e-18) then -C write (*,*) 'mytrack: Momentum is too low: ns = ', ns , ' id = ', id -C write (*,*) 'vert1(1) =', vert1(1), ' vert1(2) =', vert1(2), ' vert1(3) = ',vert1(3) -C write (*,*) 'px =', px, ' py =', py, ' pz = ',pz -C write (*,*) 'p1(1) =', p1(1), ' p1(2) =', p1(2), ' p1(3) = ',p1(3) - istop =1 - return - endif - call Ertrak(x1,p1,x2,p2,idParticle,VoptB); -* initial: -* Pvert(3) - px,py,pz at vertex -* amass - particle mass - -* current: -* ntmult - sequential track number inside trig -* itra - input track number -* vect(7) - x,y,z,cx,xy,cz,p -* Getot - total energy -* Gekin - kinetic energy -* Nstep - step number -* Destep - current energy loss -* step - current step -* inwvol - 1: enter, 2:exit, 0: step inside - -* print *,' DEBUG in agustep ' -* print *,' nstep = ',nstep, ' step = ', step, ' destep =', destep - if (sleng <=0)then -#if 0 - print *,' sleng = ',sleng -#endif - return - endif - r = vmod(x2,2) - if (r>60)then -#if 0 - print *,' r = ', r -#endif - istop =1 - return - endif - ns=ns+1 - if (ns>100)then - print *,' ns = ',ns - return - endif - if(ns.eq.1)then - e(1)=destep - de(1)=destep - rl(1)= sleng/radl - drl(1)= sleng/radl - else - de(ns)=destep - e(ns)=e(ns-1)+destep - rl(ns)=rl(ns-1)+sleng/radl - drl(ns)=sleng/radl - endif - rs(ns)=r - call ucopy(x2,x1,3) - call ucopy(p2,p1,3) -#if 0 - call UHTOC(names(nlevel),4,cvol,4) ! current volume name - print *,'ns,r:',ns,r - print *,'(x2(i),i=1,3):',(x2(i),i=1,3) - print *,'de(ns),e(ns):',de(ns),e(ns) - print *,'rl(ns),drl(ns):',rl(ns),drl(ns) - print *,'step,sleng,radl,cvol:',step,sleng,radl,' ',cvol -#endif - go to 100 - end - subroutine resetNlevel -+CDE, GCVOLU. - nlevel = 0 - end diff --git a/StarVMC/geant3/erpremc/trprfn.F b/StarVMC/geant3/erpremc/trprfn.F deleted file mode 100644 index 10c2836e32c..00000000000 --- a/StarVMC/geant3/erpremc/trprfn.F +++ /dev/null @@ -1,454 +0,0 @@ -* -* $Id: trprfn.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trprfn.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE TRPRFN(X1,P1,H1,X2,P2,H2,CH,XL,R,MVAR,IFLAG,ITRAN,IERR) -************************************************************************ -* -* -* SUBR. TRPRFN(X1,P1,H1,X2,P2,H2,CH,XL,*R*,MVAR,IFLAG,ITRAN,IERR*) -* -* Origin W.Wittek EMCSW/81/18 -* -* Finite step length case coded by V.Innocente ( Feb. 88 ) -* -* code improved: V.Innocente ( April. 90 ) -* inline code replaces external function -* code improved: V.Innocente ( January 91 ) -* effect of energy loss added -* -*_______________________________________________________________________ -* -* *** ERROR PROPAGATION ALONG A PARTICLE TRAJECTORY IN A MAGNETIC FIELD -* ROUTINE ASSUMES THAT IN THE INTERVAL (X1,X2) THE QUANTITIES 1/P -* AND (HX,HY,HZ) ARE CONSTANT. -* -* *** IFLAG = -1 INITIALIZATION, TRANSFORMATION OF ERROR MATRIX FROM -* EXTERNAL TO SC VARIABLES -* = 0 ERROR PROPAGATION FROM X1 TO X2 -* = 1 TRANSFORMATION OF ERROR MATRIX FROM SC TO -* EXTERNAL VARIABLES -* -* ITRAN USED FOR IFLAG = 0 OR 1 ONLY -* = 0 TRANSFORMATION MATRIX IS UPDATED ,BUT ERROR MATRIX IS NOT -* TRANSFORMED -* = 1 TRANSF. MATRIX IS UPDATED AND ERROR MATRIX IS TRANSFORMED -* -* MVAR SPECIFIES TYPE OF EXTERNAL VARIABLES -* = 0 ( 1/P,LAMBDA,PHI,YT, ZT ; SC ) -* = 1 ( 1/P, Y', Z', Y, Z ; SPLINE ) -* -* *** X1, P1, H1 X,Y,Z COMPONENTS OF POSITION, MOMENTUM AND MAGNETIC INPUT -* FIELD VECTOR/GRADIENT AT STARTING POINT OF INTERVAL -* X2, P2, H2 ...... AT END POINT OF INTERVAL INPUT -* CH CHARGE OF PARTICLE INPUT -* XL PATHLENGTH FROM X1 TO X2 ( NEGATIVE IF OPPOSITE -* TO ACTUAL MOVEMENT OF PARTICLE ) INPUT -* R ERROR MATRIX (TRIANGLE) INPUT/OUTPUT -* B 5 * 5 TRANSFORMATION MATRIX FOR ERRORS IN -* SC VARIABLES OUTPUT -* -* *** IERR = 1 ILLEGAL VALUE OF MVAR OUTPUT -* 2 MOMENTUM IS ZERO -* 3 H*ALFA/P AT X1 AND X2 DIFFER TOO MUCH -* 4 PARTICLE MOVES IN Z - DIRECTION -* -************************************************************************ -* -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL X1,P1,H1,X2,P2,H2,R,CH,PS,PC,XL,SPX -#endif -#include "geant321/trcom3.inc" -#include "geant321/gcunit.inc" - DIMENSION X1(3),P1(3),H1(9),X2(3),P2(3),H2(9) - DIMENSION R(15),PS(3),PC(3) -* - DIMENSION T1(3),T2(3),U1(3),U2(3),V1(3),V2(3),HN(9) - DIMENSION AN1(3),AN2(3),DX(3) - DIMENSION HV1(3),HU1(3) -* - SAVE INIT,DELHP6,CFACT8 -* - DATA INIT/0/ -#if !defined(CERNLIB_SINGLE) - DATA DELHP6/300.D0/ -* - DATA CFACT8 / 2.997925 D-4 / -#endif -#if defined(CERNLIB_SINGLE) - DATA DELHP6/300./ -* - DATA CFACT8 / 2.997925 E-4 / -#endif -* -*____________________________________________________________________ -* - IERR=0 - IF(IFLAG) 10, 20, 80 -* -* *** TRANSFORM ERROR MATRIX FROM EXTERNAL TO INTERNAL VARIABLES; -* - 10 NEW=1 - IF(MVAR.NE.1) GO TO 11 - PA1=SQRT(P1(1)**2+P1(2)**2+P1(3)**2) - IF(PA1.EQ.0.) GO TO 902 - PS(1)=1./PA1 - IF(P1(1).EQ.0.) GO TO 904 - PS(2)=P1(2)/P1(1) - PS(3)=P1(3)/P1(1) - SPX=1. - IF(P1(1).LT.0.) SPX=-1. - CALL TRSPSC(PS,R,PC,R,H1,CH,IERR,SPX) - GO TO 19 -* - 11 IF(MVAR.NE.0) GO TO 901 - 19 GO TO 900 -* -* *** ERROR PROPAGATION ON A HELIX ASSUMING SC VARIABLES - -* - 20 PA1=SQRT(P1(1)**2+P1(2)**2+P1(3)**2) - PA2=SQRT(P2(1)**2+P2(2)**2+P2(3)**2) - IF(PA1*PA2.EQ.0.) GO TO 902 -C DPA = PA2 - PA1 - PM1=1./PA1 - PM2=1./PA2 - DPM = PM2 - PM1 -* - DO 201 I=1,3 - T1(I) = P1(I)*PM1 - T2(I) = P2(I)*PM2 -201 CONTINUE -* - SINL=T2(3) - SINL0=T1(3) -* - COSL=SQRT(ABS(1.-SINL**2)) - IF(COSL.EQ.0.) GO TO 904 - COSL1=1./COSL - COSL0=SQRT(ABS(1.-SINL0**2)) -* -* *** DEFINE TRANSFORMATION MATRIX BETWEEN X1 AND X2 FOR -* *** NEUTRAL PARTICLE OR FIELDFREE REGION -* - DO 26 I=1,5 - DO 15 K=1,5 - A(I,K)=0. - 15 CONTINUE - A(I,I)=1. - 26 CONTINUE - A(4,3)=XL*COSL - A(5,2)=XL -* - IF(CH.EQ.0.) GO TO 45 - HA1=SQRT(H1(1)**2+H1(2)**2+H1(3)**2) - HA2=SQRT(H2(1)**2+H2(2)**2+H2(3)**2) - HAM1=HA1*PM1 - HAM2=HA2*PM2 - HAMX=MAX(HAM1,HAM2) - IF(HAMX.EQ.0.) GO TO 45 -* -* -* -* *** CHECK WHETHER H*ALFA/P IS TOO DIFFERENT AT X1 AND X2 -* -* - IF(HA2.NE.0.) THEN - GAM=(H2(1)*T2(1)+H2(2)*T2(2)+H2(3)*T2(3))/HA2 - ELSE - GAM=(H1(1)*T1(1)+H1(2)*T1(2)+H1(3)*T1(3))/HA1 - ENDIF -* - ALFA2=1.-GAM**2 -* - DH2=(H1(1)*PM1-H2(1)*PM2)**2+ - 1 (H1(2)*PM1-H2(2)*PM2)**2+ - 1 (H1(3)*PM1-H2(3)*PM2)**2 - IF(DH2*ALFA2.GT.DELHP6**2) GO TO 903 -* -* *** DEFINE AVERAGE MAGNETIC FIELD AND GRADIENT -* - PM12=(PM1+PM2)*0.5 - P12=1./(2.*PM12) - HN(1)=(H1(1)*PM1+H2(1)*PM2)*P12*CH*CFACT8 - HN(2)=(H1(2)*PM1+H2(2)*PM2)*P12*CH*CFACT8 - HN(3)=(H1(3)*PM1+H2(3)*PM2)*P12*CH*CFACT8 -CC HN(4)=(H1(4)*PM1+H2(4)*PM2)*P12*CH*CFACT8 -CC HN(5)=(H1(5)*PM1+H2(5)*PM2)*P12*CH*CFACT8 -CC HN(6)=(H1(6)*PM1+H2(6)*PM2)*P12*CH*CFACT8 -CC HN(7)=(H1(7)*PM1+H2(7)*PM2)*P12*CH*CFACT8 -CC HN(8)=(H1(8)*PM1+H2(8)*PM2)*P12*CH*CFACT8 -CC HN(9)=(H1(9)*PM1+H2(9)*PM2)*P12*CH*CFACT8 -* - HM = SQRT(HN(1)**2+HN(2)**2+HN(3)**2) - OVER = 1./HM - HN(1) = OVER*HN(1) - HN(2) = OVER*HN(2) - HN(3) = OVER*HN(3) - PAV = .5*(PA1+PA2) - Q = - HM/PAV - THETA = Q*XL - SINT = SIN(THETA) - COST = COS(THETA) - GAMMA=HN(1)*T2(1)+HN(2)*T2(2)+HN(3)*T2(3) - AN2(1) = HN(2)*T2(3)-HN(3)*T2(2) - AN2(2) = HN(3)*T2(1)-HN(1)*T2(3) - AN2(3) = HN(1)*T2(2)-HN(2)*T2(1) -* - AU = 1./SQRT(T1(1)**2+T1(2)**2) - U1(1) = -AU*T1(2) - U1(2) = AU*T1(1) - U1(3) = 0.D0 - V1(1) = -T1(3)*U1(2) - V1(2) = T1(3)*U1(1) - V1(3) = T1(1)*U1(2)-T1(2)*U1(1) -* - AU = 1./SQRT(T2(1)**2+T2(2)**2) - U2(1) = -AU*T2(2) - U2(2) = AU*T2(1) - U2(3) = 0.D0 - V2(1) = -T2(3)*U2(2) - V2(2) = T2(3)*U2(1) - V2(3) = T2(1)*U2(2)-T2(2)*U2(1) -* - DX(1) = X1(1) - X2(1) - DX(2) = X1(2) - X2(2) - DX(3) = X1(3) - X2(3) -* -* -* *** COMPLETE TRANSFORMATION MATRIX BETWEEN ERRORS AT X1 AND X2 -* *** FIELD GRADIENT PERPENDICULAR TO TRACK IS PRESENTLY NOT -* *** TAKEN INTO ACCOUNT -* - 30 CONTINUE - QP = Q*PAV - ANV = -(HN(1)*U2(1)+HN(2)*U2(2) ) - ANU = (HN(1)*V2(1)+HN(2)*V2(2)+HN(3)*V2(3)) - OMCOST = 1.-COST - TMSINT = THETA-SINT -* - HU1(1) = -HN(3)*U1(2) - HU1(2) = HN(3)*U1(1) - HU1(3) = HN(1)*U1(2)-HN(2)*U1(1) -* - HV1(1) = HN(2)*V1(3)-HN(3)*V1(2) - HV1(2) = HN(3)*V1(1)-HN(1)*V1(3) - HV1(3) = HN(1)*V1(2)-HN(2)*V1(1) -* -*** 1/P -* - A(1,1) = 1.-DPM*PAV*(1.+(T2(1)*DX(1)+T2(2)*DX(2)+T2(3)*DX(3))/XL) - + +2.*DPM*PAV -* - A(1,2) = -DPM/THETA* - 1 ( TMSINT*GAMMA*(HN(1)*V1(1)+HN(2)*V1(2)+HN(3)*V1(3)) + - 2 SINT*(V1(1)*T2(1)+V1(2)*T2(2)+V1(3)*T2(3)) + - 3 OMCOST*(HV1(1)*T2(1)+HV1(2)*T2(2)+HV1(3)*T2(3)) ) -* - A(1,3) = -COSL0*DPM/THETA* - 1 ( TMSINT*GAMMA*(HN(1)*U1(1)+HN(2)*U1(2) ) + - 2 SINT*(U1(1)*T2(1)+U1(2)*T2(2) ) + - 3 OMCOST*(HU1(1)*T2(1)+HU1(2)*T2(2)+HU1(3)*T2(3)) ) -* - A(1,4) = -DPM/XL*(U1(1)*T2(1)+U1(2)*T2(2) ) -* - A(1,5) = -DPM/XL*(V1(1)*T2(1)+V1(2)*T2(2)+V1(3)*T2(3)) -* -*** Lambda -* - A(2,1) = -QP*ANV*(T2(1)*DX(1)+T2(2)*DX(2)+T2(3)*DX(3)) - + *(1.+DPM*PAV) -* - A(2,2) = COST*(V1(1)*V2(1)+V1(2)*V2(2)+V1(3)*V2(3)) + - + SINT*(HV1(1)*V2(1)+HV1(2)*V2(2)+HV1(3)*V2(3)) + - 1 OMCOST*(HN(1)*V1(1)+HN(2)*V1(2)+HN(3)*V1(3))* - A (HN(1)*V2(1)+HN(2)*V2(2)+HN(3)*V2(3)) + - 2 ANV*( -SINT*(V1(1)*T2(1)+V1(2)*T2(2)+V1(3)*T2(3)) + - 3 OMCOST*(V1(1)*AN2(1)+V1(2)*AN2(2)+V1(3)*AN2(3)) - - 4 TMSINT*GAMMA*(HN(1)*V1(1)+HN(2)*V1(2)+HN(3)*V1(3)) ) -* - A(2,3) = COST*(U1(1)*V2(1)+U1(2)*V2(2) ) + - + SINT*(HU1(1)*V2(1)+HU1(2)*V2(2)+HU1(3)*V2(3)) + - 1 OMCOST*(HN(1)*U1(1)+HN(2)*U1(2) )* - A (HN(1)*V2(1)+HN(2)*V2(2)+HN(3)*V2(3)) + - 2 ANV*( -SINT*(U1(1)*T2(1)+U1(2)*T2(2) ) + - 3 OMCOST*(U1(1)*AN2(1)+U1(2)*AN2(2) ) - - 4 TMSINT*GAMMA*(HN(1)*U1(1)+HN(2)*U1(2) ) ) - A(2,3) = COSL0*A(2,3) -* - A(2,4) = -Q*ANV*(U1(1)*T2(1)+U1(2)*T2(2) ) -* - A(2,5) = -Q*ANV*(V1(1)*T2(1)+V1(2)*T2(2)+V1(3)*T2(3)) -* -*** Phi -* - A(3,1) = -QP*ANU*(T2(1)*DX(1)+T2(2)*DX(2)+T2(3)*DX(3))*COSL1 - + *(1.+DPM*PAV) -* - A(3,2) = COST*(V1(1)*U2(1)+V1(2)*U2(2) ) + - + SINT*(HV1(1)*U2(1)+HV1(2)*U2(2) ) + - 1 OMCOST*(HN(1)*V1(1)+HN(2)*V1(2)+HN(3)*V1(3))* - A (HN(1)*U2(1)+HN(2)*U2(2) ) + - 2 ANU*( -SINT*(V1(1)*T2(1)+V1(2)*T2(2)+V1(3)*T2(3)) + - 3 OMCOST*(V1(1)*AN2(1)+V1(2)*AN2(2)+V1(3)*AN2(3)) - - 4 TMSINT*GAMMA*(HN(1)*V1(1)+HN(2)*V1(2)+HN(3)*V1(3)) ) - A(3,2) = COSL1*A(3,2) -* - A(3,3) = COST*(U1(1)*U2(1)+U1(2)*U2(2) ) + - + SINT*(HU1(1)*U2(1)+HU1(2)*U2(2) ) + - 1 OMCOST*(HN(1)*U1(1)+HN(2)*U1(2) )* - A (HN(1)*U2(1)+HN(2)*U2(2) ) + - 2 ANU*( -SINT*(U1(1)*T2(1)+U1(2)*T2(2) ) + - 3 OMCOST*(U1(1)*AN2(1)+U1(2)*AN2(2) ) - - 4 TMSINT*GAMMA*(HN(1)*U1(1)+HN(2)*U1(2) ) ) - A(3,3) = COSL1*COSL0*A(3,3) -* - A(3,4) = -Q*ANU*(U1(1)*T2(1)+U1(2)*T2(2) )*COSL1 -* - A(3,5) = -Q*ANU*(V1(1)*T2(1)+V1(2)*T2(2)+V1(3)*T2(3))*COSL1 -* -*** Yt -* - A(4,1) = PAV*(U2(1)*DX(1)+U2(2)*DX(2) ) - + *(1.+DPM*PAV) -* - A(4,2) = ( SINT*(V1(1)*U2(1)+V1(2)*U2(2) ) + - 1 OMCOST*(HV1(1)*U2(1)+HV1(2)*U2(2) ) + - 2 TMSINT*(HN(1)*U2(1)+HN(2)*U2(2) )* - 3 (HN(1)*V1(1)+HN(2)*V1(2)+HN(3)*V1(3)) )/Q -* - A(4,3) = ( SINT*(U1(1)*U2(1)+U1(2)*U2(2) ) + - 1 OMCOST*(HU1(1)*U2(1)+HU1(2)*U2(2) ) + - 2 TMSINT*(HN(1)*U2(1)+HN(2)*U2(2) )* - 3 (HN(1)*U1(1)+HN(2)*U1(2) ) )*COSL0/Q -* - A(4,4) = (U1(1)*U2(1)+U1(2)*U2(2) ) -* - A(4,5) = (V1(1)*U2(1)+V1(2)*U2(2) ) -* -*** Zt -* - A(5,1) = PAV*(V2(1)*DX(1)+V2(2)*DX(2)+V2(3)*DX(3)) - + *(1.+DPM*PAV) -* - A(5,2) = ( SINT*(V1(1)*V2(1)+V1(2)*V2(2)+V1(3)*V2(3)) + - 1 OMCOST*(HV1(1)*V2(1)+HV1(2)*V2(2)+HV1(3)*V2(3)) + - 2 TMSINT*(HN(1)*V2(1)+HN(2)*V2(2)+HN(3)*V2(3))* - 3 (HN(1)*V1(1)+HN(2)*V1(2)+HN(3)*V1(3)) )/Q -* - A(5,3) = ( SINT*(U1(1)*V2(1)+U1(2)*V2(2) ) + - 1 OMCOST*(HU1(1)*V2(1)+HU1(2)*V2(2)+HU1(3)*V2(3)) + - 2 TMSINT*(HN(1)*V2(1)+HN(2)*V2(2)+HN(3)*V2(3))* - 3 (HN(1)*U1(1)+HN(2)*U1(2) ) )*COSL0/Q -* - A(5,4) = (U1(1)*V2(1)+U1(2)*V2(2) ) -* - A(5,5) = (V1(1)*V2(1)+V1(2)*V2(2)+V1(3)*V2(3)) - 45 CONTINUE -* -* *** NEW = 0 TRANSFORMATION MATRIX IS UPDATED -* 1 TRANSFORMATION MATRIX IS INITIALIZED -* - IF(NEW.EQ.0) GO TO 23 - NEW=0 - DO 25 I=1,5 - DO 24 K=1,5 - B(I,K)=A(I,K) - 24 CONTINUE - 25 CONTINUE - GO TO 27 - 23 CONTINUE -* - CALL XMM55(A,B,B) -* - 27 CONTINUE - 80 IF(ITRAN.EQ.0) GO TO 90 -* -* - J=0 - DO 22 I=1,5 - DO 21 K=I,5 - J=J+1 - S(J)=R(J) - 21 CONTINUE - 22 CONTINUE -* -* -* *** TRANSFORM ERROR MATRIX -* - CALL SSMT5T(B,S,S) -* - NEW=1 - - J=0 - DO 41 I=1,5 - DO 40 K=I,5 - J=J+1 - R(J)=S(J) - 40 CONTINUE - 41 CONTINUE -* - 90 IF(IFLAG.LE.0) GO TO 900 -* -* -* *** TRANSFORM ERROR MATRIX FROM INTERNAL TO EXTERNAL VARIABLES; -* -* - NEW=1 - IF(MVAR.NE.1) GO TO 91 - PC(1)=PM2 - PC(2)=ASIN(P2(3)*PC(1)) - IF (ABS (P2(1)) .LT. 1.E-30) P2(1) = 1.E-30 - PC(3)=ATAN2(P2(2),P2(1)) - CALL TRSCSP(PC,R,PS,R,H2,CH,IERR,SPX) - GO TO 900 -* - 91 IF(MVAR.NE.0) GO TO 901 - GO TO 900 -* -* *** ERROR EXITS -* - 901 IERR=1 - GO TO 999 - 902 IERR=2 - GO TO 999 - 903 IERR=3 -C IF(INIT.NE.0) GO TO 30 -* WRITE (LOUT, 998) DH2,ALFA2,XL - 998 FORMAT('0',' *** S/R TRPROP DELTA(H*ALFA/P)',5X - 1,'EXCEEDS TOLERANCE '/'0',3E12.5//' ********** ',///) - INIT=1 - GO TO 30 - 904 IERR=4 - 999 WRITE (LOUT, 1000) IERR - 1000 FORMAT(1H ,' *** S/R ERPROP IERR =',I5) -* - 900 CONTINUE - END - diff --git a/StarVMC/geant3/erpremc/trprop.F b/StarVMC/geant3/erpremc/trprop.F deleted file mode 100644 index d0074024d14..00000000000 --- a/StarVMC/geant3/erpremc/trprop.F +++ /dev/null @@ -1,305 +0,0 @@ -* -* $Id: trprop.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trprop.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/06/17 13:58:28 rdm -* modified some old style FORMAT statements that were confusing the latest -* version of the Intel Fortran compiler. -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -* MODIFIED FOR MAGFIELD GRADIENT 02-APR-82 -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : -C - SUBROUTINE TRPROP(X1,P1,H1,X2,P2,H2,CH,XL,R,MVAR,IFLAG,ITRAN,IERR) -C -C *** ERROR PROPAGATION ALONG A PARTICLE TRAJECTORY IN A MAGNETIC FIELD -C ROUTINE ASSUMES THAT IN THE INTERVAL (X1,X2) THE QUANTITIES 1/P -C AND (HX,HY,HZ) ARE RATHER CONSTANT. DELTA(PHI) MUST NOT BE TOO LARGE -C -C Authors: A. Haas and W. Wittek -C -C *** IFLAG = -1 INITIALIZATION, TRANSFORMATION OF ERROR MATRIX FROM -C EXTERNAL TO SC VARIABLES -C = 0 ERROR PROPAGATION FROM X1 TO X2 -C = 1 TRANSFORMATION OF ERROR MATRIX FROM SC TO -C EXTERNAL VARIABLES -C -C ITRAN USED FOR IFLAG = 0 OR 1 ONLY -C = 0 TRANSFORMATION MATRIX IS UPDATED ,BUT ERROR MATRIX IS NOT -C TRANSFORMED -C = 1 TRANSF. MATRIX IS UPDATED AND ERROR MATRIX IS TRANSFORMED -C -C MVAR SPECIFIES TYPE OF EXTERNAL VARIABLES -C = 0 ( 1/P,LAMBDA,PHI,YT, ZT ; SC ) -C = 1 ( 1/P, Y', Z', Y, Z ; SPLINE ) -C -C *** X1, P1, H1 X,Y,Z COMPONENTS OF POSITION, MOMENTUM AND MAGNETIC INPUT -C FIELD VECTOR/GRADIENT AT STARTING POINT OF INTERVAL -C X2, P2, H2 ...... AT END POINT OF INTERVAL INPUT -C CH CHARGE OF PARTICLE INPUT -C XL PATHLENGTH FROM X1 TO X2 ( NEGATIVE IF OPPOSITE -C TO ACTUAL MOVEMENT OF PARTICLE ) INPUT -C R ERROR MATRIX (TRIANGLE) INPUT/OUTPUT -C B 5 * 5 TRANSFORMATION MATRIX FOR ERRORS IN -C SC VARIABLES OUTPUT -C -C *** IERR = 1 ILLEGAL VALUE OF MVAR OUTPUT -C 2 MOMENTUM IS ZERO -C 3 H*ALFA/P AT X1 AND X2 DIFFER TOO MUCH -C OR DELTA PHI IS TOO LARGE -C 4 PARTICLE MOVES IN Z - DIRECTION -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL X1,P1,H1,X2,P2,H2,R,CH,PS,PC,XL,SPX -#endif -#include "geant321/trcom3.inc" -#include "geant321/gcunit.inc" - DIMENSION X1(3),P1(3),H1(9),X2(3),P2(3),H2(9) - DIMENSION R(15),PS(3),PC(3),HN(9) -C - SAVE INIT,DELHP6,CFACT8 -* - DATA INIT/0/ -#if defined(CERNLIB_SINGLE) - DATA DELHP6/300./,DELFI6/0.1/ - DATA CFACT8 / 2.997925 E-4 / -#endif -#if !defined(CERNLIB_SINGLE) - DATA DELHP6/300.D0/,DELFI6/0.1D0/ - DATA CFACT8 / 2.997925 D-4 / -#endif -C - IERR=0 - IF(IFLAG) 10, 20, 80 -C -C *** TRANSFORM ERROR MATRIX FROM EXTERNAL TO INTERNAL VARIABLES; -C - 10 NEW=1 - IF(MVAR.NE.1) GO TO 11 - PA1=SQRT(P1(1)**2+P1(2)**2+P1(3)**2) - IF(PA1.EQ.0.) GO TO 902 - PS(1)=1./PA1 - IF(P1(1).EQ.0.) GO TO 904 - PS(2)=P1(2)/P1(1) - PS(3)=P1(3)/P1(1) - SPX=1. - IF(P1(1).LT.0.) SPX=-1. - CALL TRSPSC(PS,R,PC,R,H1,CH,IERR,SPX) - GO TO 19 -C - 11 IF(MVAR.NE.0) GO TO 901 - 19 GO TO 900 -C -C *** ERROR PROPAGATION ON A HELIX ASSUMING SC VARIABLES - -C - 20 PA1=SQRT(P1(1)**2+P1(2)**2+P1(3)**2) - PA2=SQRT(P2(1)**2+P2(2)**2+P2(3)**2) - IF(PA1*PA2.EQ.0.) GO TO 902 - PM1=1./PA1 - PM2=1./PA2 -C - TN(1)=P1(1)+P2(1) - TN(2)=P1(2)+P2(2) - TN(3)=P1(3)+P2(3) - PM12=1./SQRT(TN(1)**2+TN(2)**2+TN(3)**2) - TN(1)=TN(1)*PM12 - TN(2)=TN(2)*PM12 - TN(3)=TN(3)*PM12 -C - SINL=TN(3) - COSL=SQRT(ABS(1.-SINL**2)) - IF(COSL.EQ.0.) GO TO 904 - COSL1=1./COSL - SINP=TN(2)*COSL1 - COSP=TN(1)*COSL1 -C -C *** DEFINE TRANSFORMATION MATRIX BETWEEN X1 AND X2 FOR -C *** NEUTRAL PARTICLE OR FIELDFREE REGION -C - DO 26 I=1,5 - DO 15 K=1,5 - A(I,K)=0. - 15 CONTINUE - A(I,I)=1. - 26 CONTINUE - A(4,3)=XL*COSL - A(5,2)=XL -C - IF(CH.EQ.0.) GO TO 45 - HA1=SQRT(H1(1)**2+H1(2)**2+H1(3)**2) - HA2=SQRT(H2(1)**2+H2(2)**2+H2(3)**2) - HAM1=HA1*PM1 - HAM2=HA2*PM2 - HAMX = MAX(HAM1,HAM2) - IF(HAMX.EQ.0.) GO TO 45 -C -C *** DEFINE AVERAGE MAGNETIC FIELD AND GRADIENT -C - PM12=(PM1+PM2)*0.5 - P12=1./(2.*PM12) - HN(1)=(H1(1)*PM1+H2(1)*PM2)*P12*CH*CFACT8 - HN(2)=(H1(2)*PM1+H2(2)*PM2)*P12*CH*CFACT8 - HN(3)=(H1(3)*PM1+H2(3)*PM2)*P12*CH*CFACT8 - HN(4)=(H1(4)*PM1+H2(4)*PM2)*P12*CH*CFACT8 - HN(5)=(H1(5)*PM1+H2(5)*PM2)*P12*CH*CFACT8 - HN(6)=(H1(6)*PM1+H2(6)*PM2)*P12*CH*CFACT8 - HN(7)=(H1(7)*PM1+H2(7)*PM2)*P12*CH*CFACT8 - HN(8)=(H1(8)*PM1+H2(8)*PM2)*P12*CH*CFACT8 - HN(9)=(H1(9)*PM1+H2(9)*PM2)*P12*CH*CFACT8 -C - B0=HN(1)*COSP+HN(2)*SINP - B2=-HN(1)*SINP+HN(2)*COSP - B3=-B0*SINL+HN(3)*COSL - TGL=SINL*COSL1 -C -C -C *** CHECK WHETHER H*ALFA/P IS TOO DIFFERENT AT X1 AND X2 -C AND WHETHER CHANGE OF TRACK DIRECTION DUE TO MAG.FIELD IS TOO LARGE -C -C - IF(HA2.EQ.0.) GO TO 29 - - GAM=(H2(1)*TN(1)+H2(2)*TN(2)+H2(3)*TN(3))/HA2 - GO TO 28 - 29 GAM=(H1(1)*TN(1)+H1(2)*TN(2)+H1(3)*TN(3))/HA1 - 28 CONTINUE - ALFA=SQRT(ABS(1.-GAM**2)) -C - DH2=(H1(1)*PM1-H2(1)*PM2)**2+ - 1 (H1(2)*PM1-H2(2)*PM2)**2+ - 1 (H1(3)*PM1-H2(3)*PM2)**2 - IF(DH2*ALFA**2.GT.DELHP6**2) GO TO 903 - ALFAQ=-ALFA*CFACT8*(HAM1+HAM2)*0.5 - DFI=ABS(XL*ALFAQ) - IF(DFI.GT.DELFI6) GO TO 903 -C -C *** COMPLETE TRANSFORMATION MATRIX BETWEEN ERRORS AT X1 AND X2 -C *** TAKING INTO ACCOUNT FIELD GRADIENT PERPENDICULAR TO TRACK -C - 30 COSP2=COSP*COSP - SINP2=SINP*SINP - COSIP=COSP*SINP -C - G22=SINP2*HN(9)+COSP2*HN(8)-2.0*COSIP*HN(7) - G33=SINL*SINL*(COSP2*HN(9)+SINP2*HN(8)+2.0*COSIP*HN(7)) - ++COSL*(COSL*HN(6)-2.0*SINL*(COSP*HN(4)+SINP*HN(5))) - G23=SINL*(COSIP*(HN(9)-HN(8))+(SINP2-COSP2)*HN(7)) - ++COSL*(COSP*HN(5)-SINP*HN(4)) -C - A(2,1)=XL*B2 - A(2,3)=-B0*XL*PM12 - A(2,4)=(B2*B3*PM12+G22)*XL*PM12 - A(2,5)=(-B2*B2*PM12+G23)*XL*PM12 -C - A(3,1)=-XL*B3*COSL1 - A(3,2)=B0*XL*PM12*COSL1**2 - A(3,3)=1.+TGL*B2*XL*PM12 - A(3,4)=(-B3*B3*PM12-G23)*XL*PM12*COSL1 - A(3,5)=(B3*B2*PM12-G33)*XL*PM12*COSL1 -C - A(4,5)=-B3*TGL*XL*PM12 - A(5,4)=B3*TGL*XL*PM12 -C - 45 CONTINUE -C -C *** NEW = 0 TRANSFORMATION MATRIX IS UPDATED -C 1 TRANSFORMATION MATRIX IS INITIALIZED -C - IF(NEW.EQ.0) GO TO 23 - NEW=0 - DO 25 I=1,5 - DO 24 K=1,5 - B(I,K)=A(I,K) - 24 CONTINUE - 25 CONTINUE - GO TO 27 - 23 CONTINUE -C - CALL XMM55(A,B,B) -C - 27 CONTINUE - 80 IF(ITRAN.EQ.0) GO TO 90 -C -C - J=0 - DO 22 I=1,5 - DO 21 K=I,5 - J=J+1 - S(J)=R(J) - 21 CONTINUE - 22 CONTINUE -C -C -C *** TRANSFORM ERROR MATRIX -C - CALL SSMT5T(B,S,S) -C - NEW=1 - - J=0 - DO 41 I=1,5 - DO 40 K=I,5 - J=J+1 - R(J)=S(J) - 40 CONTINUE - 41 CONTINUE -C - 90 IF(IFLAG.LE.0) GO TO 900 -C -C -C *** TRANSFORM ERROR MATRIX FROM INTERNAL TO EXTERNAL VARIABLES; -C -C - NEW=1 - IF(MVAR.NE.1) GO TO 91 - PC(1)=PM2 - PC(2)=ASIN(P2(3)*PC(1)) - IF (ABS (P2(1)) .LT. 1.E-30) P2(1) = 1.E-30 - PC(3) = ATAN2 (P2(2),P2(1)) - CALL TRSCSP(PC,R,PS,R,H2,CH,IERR,SPX) - GO TO 900 -C - 91 IF(MVAR.NE.0) GO TO 901 - GO TO 900 -C -C *** ERROR EXITS -C - 901 IERR=1 - GO TO 999 - 902 IERR=2 - GO TO 999 - 903 IERR=3 - IF(INIT.NE.0) GO TO 30 - INIT=1 - GO TO 30 - 904 IERR=4 - 999 WRITE (LOUT, 1000) IERR - 1000 FORMAT(1H ,' *** S/R ERPROP IERR =',I5) -C - 900 RETURN - END diff --git a/StarVMC/geant3/erpremc/trptsc.F b/StarVMC/geant3/erpremc/trptsc.F deleted file mode 100644 index d49f034f582..00000000000 --- a/StarVMC/geant3/erpremc/trptsc.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: trptsc.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trptsc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE TRPTSC(PC,RC,PD,RD,IERR) -C -C *** TRANSFORMS ERROR MATRIX -C FROM SC VARIABLES (1/Pt,LAMBDA,PHI,YT,ZT) -C FROM SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) - - -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL PC,PD,RC,RD -#endif -#include "geant321/trcom3.inc" - DIMENSION PC(3),PD(3),RC(15),RD(15) -* -*______________________________________________________________________ -* - IERR = 0 - COSL = COS(PC(2)) - IF (ABS(COSL).EQ.0) GO TO 901 - SINL = SIN(PC(2)) -* - PD(1) = PC(1)*COSL - PD(2) = PC(2) - PD(3) = PC(3) -* - J=0 -* - DO 10 I=1,5 - DO 5 K=I,5 - J=J+1 - A(I,K)=0. - A(K,I)=0. - S(J)=RC(J) - 5 CONTINUE - 10 CONTINUE -* - A(1,1) = COSL - A(2,2) = 1.D0 - A(3,3) = 1.D0 - A(4,4) = 1.D0 - A(5,5) = 1.D0 -* - A(1,2) = -PC(1)*SINL -C - CALL SSMT5T(A,S,S) -C - DO 25 J=1,15 - RD(J)=S(J) - 25 CONTINUE -C - RETURN -C -C *** ERROR EXITS -C - 901 IERR=1 - 910 CONTINUE -C - END diff --git a/StarVMC/geant3/erpremc/trptsd.F b/StarVMC/geant3/erpremc/trptsd.F deleted file mode 100644 index 300664af00a..00000000000 --- a/StarVMC/geant3/erpremc/trptsd.F +++ /dev/null @@ -1,135 +0,0 @@ -* -* $Id: trptsd.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trptsd.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE TRPTSD(PD,RD,PC,RC,H,CH,IERR,SPU,DJ,DK) -* -*************************************************************************** -C -C *** TRANSFORMS ERROR MATRIX -C FROM VARIABLES (1/Pt,V',W',V,W) -C FROM VARIABLES (1/P, V',W',V,W) -C -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL PD,PC,H,RC,RD,CH,DJ,DK,SPU -#endif -#include "geant321/trcom3.inc" - DIMENSION PD(3),PC(3),H(3),RC(15),RD(15),DJ(3),DK(3) - DIMENSION UN(3),VN(3),DI(3),TVW(3) -C -#if defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 E-4 / -#endif -#if !defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 D-4 / -#endif -* -**_____________________________________________________________________ -* - IERR=0 - TVW(1)=1./SQRT(1.+PD(2)**2+PD(3)**2) - IF(SPU.LT.0.) TVW(1)=-TVW(1) - TVW(2)=PD(2)*TVW(1) - TVW(3)=PD(3)*TVW(1) -C - DI(1)=DJ(2)*DK(3)-DJ(3)*DK(2) - DI(2)=DJ(3)*DK(1)-DJ(1)*DK(3) - DI(3)=DJ(1)*DK(2)-DJ(2)*DK(1) -C - DO 5 I=1,3 - TN(I)=TVW(1)*DI(I)+TVW(2)*DJ(I)+TVW(3)*DK(I) - 5 CONTINUE -C - COSL=SQRT(ABS(1.-TN(3)**2)) - IF (COSL .LT. 1.E-30) COSL = 1.E-30 - COSL1=1./COSL - SINL = TN(3) -* - PC(1)=PD(1)*COSL - PC(2)=PD(2) - PC(3)=PD(3) - PM=PC(1) -* - IF (ABS (TN(1)) .LT. 1.E-30) TN(1) = 1.E-30 -C - UN(1)=-TN(2)*COSL1 - UN(2)=TN(1)*COSL1 - UN(3)=0. -C - VN(1)=-TN(3)*UN(2) - VN(2)=TN(3)*UN(1) - VN(3)=COSL - -C - UJ=UN(1)*DJ(1)+UN(2)*DJ(2)+UN(3)*DJ(3) - UK=UN(1)*DK(1)+UN(2)*DK(2)+UN(3)*DK(3) - VJ=VN(1)*DJ(1)+VN(2)*DJ(2)+VN(3)*DJ(3) - VK=VN(1)*DK(1)+VN(2)*DK(2)+VN(3)*DK(3) -C - J=0 - DO 10 I=1,5 - DO 4 K=I,5 - J=J+1 - A(I,K)=0. - A(K,I)=0. - S(J)=RD(J) - 4 CONTINUE - 10 CONTINUE -C - IF(CH.EQ.0.) GO TO 6 - HA=SQRT(H(1)**2+H(2)**2+H(3)**2) - HAM=HA*PM - IF(HAM.EQ.0.) GO TO 6 - HM=CH/HA -C - Q=-HAM*CFACT8 -C - SINZ=-(H(1)*UN(1)+H(2)*UN(2)+H(3)*UN(3))*HM - COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM - A(1,4)=Q*TVW(2)*SINZ*(SINL*PD(1)) - A(1,5)=Q*TVW(3)*SINZ*(SINL*PD(1)) -C -6 continue - A(1,1) = COSL - A(2,2) = 1. - A(3,3) = 1. - A(4,4) = 1. - A(5,5) = 1. -* - A(1,2)=-TVW(1)*VJ*(SINL*PD(1)) - A(1,3)=-TVW(1)*VK*(SINL*PD(1)) -C - CALL SSMT5T(A,S,S) -C - DO J=1,15 - RC(J)=S(J) - ENDDO -* - END diff --git a/StarVMC/geant3/erpremc/trs1s2.F b/StarVMC/geant3/erpremc/trs1s2.F deleted file mode 100644 index d232ddf1496..00000000000 --- a/StarVMC/geant3/erpremc/trs1s2.F +++ /dev/null @@ -1,193 +0,0 @@ -* -* $Id: trs1s2.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trs1s2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE TRS1S2 (PD1,RD1,PD2,RD2,H,CH,IERR,SP1,SP2 - 1, DJ1,DK1,DJ2,DK2) -C -C *** TRANSFORMS ERROR MATRIX -C FROM VARIABLES (1/P,V1',W1',V1,W1) -C TO VARIABLES (1/P,V2',W2',V2,W2) -C -C Authors: A. Haas and W. Wittek -C -C -C *** PD1(3) 1/P,V1',W1' INPUT -C PD2(3) 1/P,V2',W2' OUTPUT -C H(3) MAGNETIC FIELD INPUT -C RD1(15) ERROR MATRIX IN 1/P,V1',W1',V1,W1 INPUT (TRIANGLE) -C RD2(15) ERROR MATRIX IN 1/P,V2',W2',V2,W2 OUTPUT (TRIANGLE) -C CH CHARGE OF PARTICLE INPUT -C CHARGE AND MAGNETIC FIELD ARE NEEDED -C FOR CORRELATION TERMS (V2',V1),(V2',W1),(W2',V1),(W2',W1) -C THESE CORRELATION TERMS APPEAR BECAUSE RD1 IS ASSUMED -C TO BE THE ERROR MATRIX FOR FIXED U1 -C AND RD2 FOR FIXED U2 -C SP1 SIGN OF U1-COMPONENT OF PARTICLE MOMENTUM INPUT -C SP2 SIGN OF U2-COMPONENT OF PARTICLE MOMENTUM OUTPUT -C DJ1(3) UNIT VECTOR IN V1-DIRECTION -C DK1(3) UNIT VECTOR IN W1-DIRECTION OF SYSTEM 1 -C DJ2(3) UNIT VECTOR IN V2-DIRECTION -C DK2(3) UNIT VECTOR IN W2-DIRECTION OF SYSTEM 2 -C -C IERR = 0 TRANSFORMATION OK -C = 1 MOMENTUM PERPENDICULAR TO U2-DIRECTION (V2',W2' NOT DEFIN -C = 2 MOMENTUM PERPENDICULAR TO X-AXIS -C -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL PD1,PD2,RD1,RD2,H,CH,SP1,SP2,DJ1,DK1,DJ2,DK2 -#endif -#include "geant321/trcom3.inc" - DIMENSION PD1(3),PD2(3),RD1(15),RD2(15),H(3),DJ1(3),DK1(3) - +,DJ2(3),DK2(3),UN(3),VN(3),DI1(3),DI2(3),TVW1(3),TVW2(3) -C -#if defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 E-4 / -#endif -#if !defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 D-4 / -#endif -C - IERR=0 - PM=PD1(1) - TVW1(1)=1./SQRT(1.+PD1(2)**2+PD1(3)**2) - IF(SP1.LT.0.) TVW1(1)=-TVW1(1) - TVW1(2)=PD1(2)*TVW1(1) - TVW1(3)=PD1(3)*TVW1(1) -C - DI1(1)=DJ1(2)*DK1(3)-DJ1(3)*DK1(2) - DI1(2)=DJ1(3)*DK1(1)-DJ1(1)*DK1(3) - DI1(3)=DJ1(1)*DK1(2)-DJ1(2)*DK1(1) -C - DO 5 I=1,3 - TN(I)=TVW1(1)*DI1(I)+TVW1(2)*DJ1(I)+TVW1(3)*DK1(I) - 5 CONTINUE -C - DI2(1)=DJ2(2)*DK2(3)-DJ2(3)*DK2(2) - DI2(2)=DJ2(3)*DK2(1)-DJ2(1)*DK2(3) - DI2(3)=DJ2(1)*DK2(2)-DJ2(2)*DK2(1) -C - TVW2(1)=TN(1)*DI2(1)+TN(2)*DI2(2)+TN(3)*DI2(3) - TVW2(2)=TN(1)*DJ2(1)+TN(2)*DJ2(2)+TN(3)*DJ2(3) - TVW2(3)=TN(1)*DK2(1)+TN(2)*DK2(2)+TN(3)*DK2(3) -C - IF(TVW2(1).EQ.0.) GO TO 901 - TR=1./TVW2(1) - SP2=1. - IF(TVW2(1).LT.0.) SP2=-1. - PD2(1)=PD1(1) - PD2(2)=TVW2(2)*TR - PD2(3)=TVW2(3)*TR -C - COSL=SQRT(ABS(1.-TN(3)**2)) - IF(COSL.EQ.0.) GO TO 902 - COSL1=1./COSL - UN(1)=-TN(2)*COSL1 - UN(2)=TN(1)*COSL1 - UN(3)=0. -C - VN(1)=-TN(3)*UN(2) - VN(2)=TN(3)*UN(1) - VN(3)=COSL -C - UJ1=UN(1)*DJ1(1)+UN(2)*DJ1(2)+UN(3)*DJ1(3) - UK1=UN(1)*DK1(1)+UN(2)*DK1(2)+UN(3)*DK1(3) - VJ1=VN(1)*DJ1(1)+VN(2)*DJ1(2)+VN(3)*DJ1(3) - VK1=VN(1)*DK1(1)+VN(2)*DK1(2)+VN(3)*DK1(3) -C - UJ2=UN(1)*DJ2(1)+UN(2)*DJ2(2)+UN(3)*DJ2(3) - UK2=UN(1)*DK2(1)+UN(2)*DK2(2)+UN(3)*DK2(3) - VJ2=VN(1)*DJ2(1)+VN(2)*DJ2(2)+VN(3)*DJ2(3) - VK2=VN(1)*DK2(1)+VN(2)*DK2(2)+VN(3)*DK2(3) -C - J=0 - DO 10 I=1,5 - DO 4 K=I,5 - J=J+1 - A(I,K)=0. - A(K,I)=0. - S(J)=RD1(J) - 4 CONTINUE - 10 CONTINUE -C - IF(CH.EQ.0.) GO TO 6 - HA=SQRT(H(1)**2+H(2)**2+H(3)**2) - HAM=HA*PM - IF(HAM.EQ.0.) GO TO 6 - HM=CH/HA -C - Q=-HAM*CFACT8 - TT=-Q*TR**3 - SJ1I2=DJ1(1)*DI2(1)+DJ1(2)*DI2(2)+DJ1(3)*DI2(3) - SK1I2=DK1(1)*DI2(1)+DK1(2)*DI2(2)+DK1(3)*DI2(3) - SK2U=DK2(1)*UN(1)+DK2(2)*UN(2)+DK2(3)*UN(3) - SK2V=DK2(1)*VN(1)+DK2(2)*VN(2)+DK2(3)*VN(3) - SJ2U=DJ2(1)*UN(1)+DJ2(2)*UN(2)+DJ2(3)*UN(3) - SJ2V=DJ2(1)*VN(1)+DJ2(2)*VN(2)+DJ2(3)*VN(3) -C - SINZ=-(H(1)*UN(1)+H(2)*UN(2)+H(3)*UN(3))*HM - COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM - A(2,4)=-TT*SJ1I2*(SK2U*SINZ-SK2V*COSZ) - A(2,5)=-TT*SK1I2*(SK2U*SINZ-SK2V*COSZ) - A(3,4)= TT*SJ1I2*(SJ2U*SINZ-SJ2V*COSZ) - A(3,5)= TT*SK1I2*(SJ2U*SINZ-SJ2V*COSZ) -C - 6 A(1,1)=1. - A(4,4)=TR*(UJ1*VK2-VJ1*UK2) - A(4,5)=TR*(UK1*VK2-VK1*UK2) - A(5,4)=TR*(VJ1*UJ2-UJ1*VJ2) - A(5,5)=TR*(VK1*UJ2-UK1*VJ2) -C - TS=TR*TVW1(1) - A(2,2)=A(4,4)*TS - A(2,3)=A(4,5)*TS - A(3,2)=A(5,4)*TS - A(3,3)=A(5,5)*TS -C - CALL SSMT5T(A,S,S) -C - J=0 - DO 25 I=1,5 - DO 20 K=I,5 - J=J+1 - RD2(J)=S(J) - 20 CONTINUE - 25 CONTINUE -C - RETURN -C -C *** ERROR EXITS -C - 901 IERR=1 - GO TO 910 - 902 IERR=2 - 910 RETURN - END -* diff --git a/StarVMC/geant3/erpremc/trscpt.F b/StarVMC/geant3/erpremc/trscpt.F deleted file mode 100644 index 116e1097165..00000000000 --- a/StarVMC/geant3/erpremc/trscpt.F +++ /dev/null @@ -1,88 +0,0 @@ -* -* $Id: trscpt.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trscpt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE TRSCPT(PC,RC,PD,RD,IERR) -C -C *** TRANSFORMS ERROR MATRIX -C FROM SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) -C FROM SC VARIABLES (1/Pt,LAMBDA,PHI,YT,ZT) - - -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL PC,PD,RC,RD -#endif -#include "geant321/trcom3.inc" - DIMENSION PC(3),PD(3),RC(15),RD(15) -* -*______________________________________________________________________ -* - IERR = 0 - COSL = COS(PC(2)) - IF (ABS(COSL).EQ.0) GO TO 901 - COSL1 = 1./COSL - TANL = TAN(PC(2)) -* - PD(1) = PC(1)*COSL1 - PD(2) = PC(2) - PD(3) = PC(3) -* - J=0 -* - DO 10 I=1,5 - DO 5 K=I,5 - J=J+1 - A(I,K)=0. - A(K,I)=0. - S(J)=RC(J) - 5 CONTINUE - 10 CONTINUE -* - A(1,1) = COSL1 - A(2,2) = 1.D0 - A(3,3) = 1.D0 - A(4,4) = 1.D0 - A(5,5) = 1.D0 -* - A(1,2) = PD(1)*TANL -C - CALL SSMT5T(A,S,S) -C - DO 25 J=1,15 - RD(J)=S(J) - 25 CONTINUE -C - RETURN -C -C *** ERROR EXITS -C - 901 IERR=1 - 910 CONTINUE -C - END diff --git a/StarVMC/geant3/erpremc/trscsd.F b/StarVMC/geant3/erpremc/trscsd.F deleted file mode 100644 index 0bb1157be26..00000000000 --- a/StarVMC/geant3/erpremc/trscsd.F +++ /dev/null @@ -1,173 +0,0 @@ -* -* $Id: trscsd.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trscsd.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : -C - SUBROUTINE TRSCSD(PC,RC,PD,RD,H,CH,IERR,SPU,DJ,DK) -C -C *** TRANSFORMS ERROR MATRIX -C FROM SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) -C TO VARIABLES (1/P,V',W',V,W) -C -C Authors: A. Haas and W. Wittek -C -C -C *** PC(3) 1/P,LAMBDA,PHI INPUT -C PD(3) 1/P,V',W' OUTPUT -C H(3) MAGNETIC FIELD INPUT -C RC(15) ERROR MATRIX IN SC VARIABLES INPUT (TRIANGLE) -C RD(15) ERROR MATRIX IN 1/P,V',W',V,W OUTPUT (TRIANGLE) -C CH CHARGE OF PARTICLE INPUT -C CHARGE AND MAGNETIC FIELD ARE NEEDED -C FOR CORRELATION TERMS (V',YT),(V',ZT),(W',YT),(W',ZT) -C THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED -C TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH) -C AND RD FOR FIXED U -C DJ(3) UNIT VECTOR IN V-DIRECTION -C DK(3) UNIT VECTOR IN W-DIRECTION OF DETECTOR SYSTEM -C -C IERR = 1 PARTICLE MOVES PERPENDICULAR TO U-AXIS -C ( V',W' ARE NOT DEFINED ) -C SPU SIGN OF U-COMPONENT OF PARTICLE MOMENTUM OUTPUT -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL PC,PD,H,RC,RD,CH,DJ,DK,SPU -#endif -#include "geant321/trcom3.inc" - DIMENSION PC(3),PD(3),H(3),RC(15),RD(15),DJ(3),DK(3) - DIMENSION UN(3),VN(3),DI(3),TVW(3) -C -#if defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 E-4 / -#endif -#if !defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 D-4 / -#endif -C - IERR=0 - PM=PC(1) - COSL=COS(PC(2)) - SINP=SIN(PC(3)) - COSP=COS(PC(3)) -C - TN(1)=COSL*COSP - TN(2)=COSL*SINP - TN(3)=SIN(PC(2)) -C - DI(1)=DJ(2)*DK(3)-DJ(3)*DK(2) - DI(2)=DJ(3)*DK(1)-DJ(1)*DK(3) - DI(3)=DJ(1)*DK(2)-DJ(2)*DK(1) -C - TVW(1)=TN(1)*DI(1)+TN(2)*DI(2)+TN(3)*DI(3) - SPU=1. - IF(TVW(1).LT.0.) SPU=-1. - TVW(2)=TN(1)*DJ(1)+TN(2)*DJ(2)+TN(3)*DJ(3) - TVW(3)=TN(1)*DK(1)+TN(2)*DK(2)+TN(3)*DK(3) - IF(TVW(1).EQ.0.) GO TO 901 -C - T1R=1./TVW(1) - PD(1)=PC(1) - PD(2)=TVW(2)*T1R - PD(3)=TVW(3)*T1R -C - UN(1)=-SINP - UN(2)=COSP - UN(3)=0. -C - VN(1)=-TN(3)*UN(2) - VN(2)=TN(3)*UN(1) - VN(3)=COSL -C - UJ=UN(1)*DJ(1)+UN(2)*DJ(2)+UN(3)*DJ(3) - UK=UN(1)*DK(1)+UN(2)*DK(2)+UN(3)*DK(3) - VJ=VN(1)*DJ(1)+VN(2)*DJ(2)+VN(3)*DJ(3) - VK=VN(1)*DK(1)+VN(2)*DK(2)+VN(3)*DK(3) -C -C - J=0 - - DO 10 I=1,5 - DO 5 K=I,5 - J=J+1 - A(I,K)=0. - A(K,I)=0. - S(J)=RC(J) - 5 CONTINUE - 10 CONTINUE -C - IF(CH.EQ.0.) GO TO 6 - HA=SQRT(H(1)**2+H(2)**2+H(3)**2) - HAM=HA*PM - IF(HAM.EQ.0.) GO TO 6 - HM=CH/HA - Q=-HAM*CFACT8 -C -C - SINZ=-(H(1)*UN(1)+H(2)*UN(2)+H(3)*UN(3))*HM - COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM - T3R=Q*T1R**3 - UI=UN(1)*DI(1)+UN(2)*DI(2)+UN(3)*DI(3) - VI=VN(1)*DI(1)+VN(2)*DI(2)+VN(3)*DI(3) - A(2,4)=-UI*(VK*COSZ-UK*SINZ)*T3R - A(2,5)=-VI*(VK*COSZ-UK*SINZ)*T3R - A(3,4)= UI*(VJ*COSZ-UJ*SINZ)*T3R - A(3,5)= VI*(VJ*COSZ-UJ*SINZ)*T3R -C - 6 T2R=T1R**2 -C - A(1,1)=1. - A(2,2)=-UK*T2R - A(2,3)=VK*COSL*T2R - A(3,2)=UJ*T2R - A(3,3)=-VJ*COSL*T2R - A(4,4)=VK*T1R - A(4,5)=-UK*T1R - A(5,4)=-VJ*T1R - A(5,5)=UJ*T1R -C - CALL SSMT5T(A,S,S) -C - J=0 - DO 25 I=1,5 - DO 20 K=I,5 - J=J+1 - RD(J)=S(J) - 20 CONTINUE - 25 CONTINUE -C - RETURN -C -C *** ERROR EXITS -C - 901 IERR=1 - 910 CONTINUE -C - RETURN - END -* diff --git a/StarVMC/geant3/erpremc/trscsp.F b/StarVMC/geant3/erpremc/trscsp.F deleted file mode 100644 index a7229dfdead..00000000000 --- a/StarVMC/geant3/erpremc/trscsp.F +++ /dev/null @@ -1,152 +0,0 @@ -* -* $Id: trscsp.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trscsp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : -C - SUBROUTINE TRSCSP(PC,RC,PS,RS,H,CH,IERR,SPX) -C -C *** TRANSFORMS ERROR MATRIX -C FROM SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) -C TO SPLINE VARIABLES (1/P,Y',Z',Y,Z) -C -C Authors: A. Haas and W. Wittek -C -C -C *** PC(3) 1/P,LAMBDA,PHI INPUT -C PS(3) 1/P,Y',Z' OUTPUT -C H(3) MAGNETIC FIELD INPUT -C RC(15) ERROR MATRIX IN SC VARIABLES INPUT (TRIANGLE) -C RS(15) ERROR MATRIX IN SPLINE VARIABLES OUTPUT (TRIANGLE) -C CH CHARGE OF PARTICLE INPUT -C CHARGE AND MAGNETIC FIELD ARE NEEDED -C FOR CORRELATION TERMS (Y',YT),(Y',ZT),(Z',YT),(Z',ZT) -C THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED -C TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH) -C AND RS FOR FIXED X -C -C IERR = 1 PARTICLE MOVES PERPENDICULAR TO X-AXIS -C ( Y',Z' ARE NOT DEFINED ) -C SPX SIGN OF X-COMPONENT OF PARTICLE MOMENTUM OUTPUT -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL PC,PS,H,RC,RS,CH,SPX -#endif -#include "geant321/trcom3.inc" - DIMENSION PC(3),PS(3),H(3),RC(15),RS(15) - DIMENSION UN(3),VN(3) -C -#if defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 E-4 / -#endif -#if !defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 D-4 / -#endif -C - IERR=0 - PM=PC(1) - COSL=COS(PC(2)) - SINP=SIN(PC(3)) - COSP=COS(PC(3)) -C - TN(1)=COSL*COSP - SPX=1. - IF(TN(1).LT.0.) SPX=-1. - IF(TN(1).EQ.0.) GO TO 901 - TN(2)=COSL*SINP - TN(3)=SIN(PC(2)) -C - T1R=1./TN(1) - PS(1)=PC(1) - PS(2)=SINP/COSP - PS(3)=TN(3)*T1R -C - UN(1)=-SINP - UN(2)=COSP -C - VN(1)=-TN(3)*UN(2) - VN(2)=TN(3)*UN(1) - VN(3)=COSL -C - J=0 - DO 10 I=1,5 - DO 5 K=I,5 - J=J+1 - A(I,K)=0. - A(K,I)=0. - S(J)=RC(J) - 5 CONTINUE - 10 CONTINUE -C - IF(CH.EQ.0.) GO TO 6 - HA=SQRT(H(1)**2+H(2)**2+H(3)**2) - HAM=HA*PM - IF(HAM.EQ.0.) GO TO 6 - HM=CH/HA - Q=-HAM*CFACT8 -C -C - SINZ=-(H(1)*UN(1)+H(2)*UN(2) )*HM - COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM - - T3R=Q*T1R**3 - A(2,4)=-UN(1)*(VN(3)*COSZ )*T3R - A(2,5)=-VN(1)*(VN(3)*COSZ )*T3R - A(3,4)=UN(1)*(VN(2)*COSZ-UN(2)*SINZ)*T3R - A(3,5)=VN(1)*(VN(2)*COSZ-UN(2)*SINZ)*T3R -C - 6 T2R=T1R**2 -C - A(1,1)=1. - A(2,3)=VN(3)*COSL*T2R - A(3,2)=UN(2)*T2R - A(3,3)=-VN(2)*COSL*T2R - A(4,4)=VN(3)*T1R - A(5,4)=-VN(2)*T1R - A(5,5)=UN(2)*T1R -C - CALL SSMT5T(A,S,S) -C - J=0 - DO 25 I=1,5 - DO 20 K=I,5 - J=J+1 - RS(J)=S(J) - 20 CONTINUE - 25 CONTINUE -C - RETURN -C -C *** ERROR EXITS -C - 901 IERR=1 - 910 CONTINUE -C - RETURN - END -* diff --git a/StarVMC/geant3/erpremc/trsdpt.F b/StarVMC/geant3/erpremc/trsdpt.F deleted file mode 100644 index 7fe0e15ef21..00000000000 --- a/StarVMC/geant3/erpremc/trsdpt.F +++ /dev/null @@ -1,135 +0,0 @@ -* -* $Id: trsdpt.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trsdpt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : - SUBROUTINE TRSDPT(PD,RD,PC,RC,H,CH,IERR,SPU,DJ,DK) -* -*************************************************************************** -C -C *** TRANSFORMS ERROR MATRIX -C FROM VARIABLES (1/P,V',W',V,W) -C FROM VARIABLES (1/Pt,V',W',V,W) -C -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL PD,PC,H,RC,RD,CH,DJ,DK,SPU -#endif -#include "geant321/trcom3.inc" - DIMENSION PD(3),PC(3),H(3),RC(15),RD(15),DJ(3),DK(3) - DIMENSION UN(3),VN(3),DI(3),TVW(3) -C -#if defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 E-4 / -#endif -#if !defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 D-4 / -#endif -* -**_____________________________________________________________________ -* - IERR=0 - PM=PD(1) - TVW(1)=1./SQRT(1.+PD(2)**2+PD(3)**2) - IF(SPU.LT.0.) TVW(1)=-TVW(1) - TVW(2)=PD(2)*TVW(1) - TVW(3)=PD(3)*TVW(1) -C - DI(1)=DJ(2)*DK(3)-DJ(3)*DK(2) - DI(2)=DJ(3)*DK(1)-DJ(1)*DK(3) - DI(3)=DJ(1)*DK(2)-DJ(2)*DK(1) -C - DO 5 I=1,3 - TN(I)=TVW(1)*DI(I)+TVW(2)*DJ(I)+TVW(3)*DK(I) - 5 CONTINUE -C - COSL=SQRT(ABS(1.-TN(3)**2)) - IF (COSL .LT. 1.E-30) COSL = 1.E-30 - COSL1=1./COSL - TANL = TN(3)*COSL1 -* - PC(1)=PD(1)*COSL1 - PC(2)=PD(2) - PC(3)=PD(3) -* - IF (ABS (TN(1)) .LT. 1.E-30) TN(1) = 1.E-30 -C - UN(1)=-TN(2)*COSL1 - UN(2)=TN(1)*COSL1 - UN(3)=0. -C - VN(1)=-TN(3)*UN(2) - VN(2)=TN(3)*UN(1) - VN(3)=COSL - -C - UJ=UN(1)*DJ(1)+UN(2)*DJ(2)+UN(3)*DJ(3) - UK=UN(1)*DK(1)+UN(2)*DK(2)+UN(3)*DK(3) - VJ=VN(1)*DJ(1)+VN(2)*DJ(2)+VN(3)*DJ(3) - VK=VN(1)*DK(1)+VN(2)*DK(2)+VN(3)*DK(3) -C - J=0 - DO 10 I=1,5 - DO 4 K=I,5 - J=J+1 - A(I,K)=0. - A(K,I)=0. - S(J)=RD(J) - 4 CONTINUE - 10 CONTINUE -C - IF(CH.EQ.0.) GO TO 6 - HA=SQRT(H(1)**2+H(2)**2+H(3)**2) - HAM=HA*PM - IF(HAM.EQ.0.) GO TO 6 - HM=CH/HA -C - Q=-HAM*CFACT8 -C - SINZ=-(H(1)*UN(1)+H(2)*UN(2)+H(3)*UN(3))*HM - COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM - A(1,4)=-Q*TVW(2)*SINZ*(TANL*PC(1)) - A(1,5)=-Q*TVW(3)*SINZ*(TANL*PC(1)) -C -6 continue - A(1,1) = COSL1 - A(2,2) = 1. - A(3,3) = 1. - A(4,4) = 1. - A(5,5) = 1. -* - A(1,2)=TVW(1)*VJ*(TANL*PC(1)) - A(1,3)=TVW(1)*VK*(TANL*PC(1)) -C - CALL SSMT5T(A,S,S) -C - DO J=1,15 - RC(J)=S(J) - ENDDO -* - END diff --git a/StarVMC/geant3/erpremc/trsdsc.F b/StarVMC/geant3/erpremc/trsdsc.F deleted file mode 100644 index c73e466d195..00000000000 --- a/StarVMC/geant3/erpremc/trsdsc.F +++ /dev/null @@ -1,159 +0,0 @@ -* -* $Id: trsdsc.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trsdsc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : -C - SUBROUTINE TRSDSC(PD,RD,PC,RC,H,CH,IERR,SPU,DJ,DK) -C -C *** TRANSFORMS ERROR MATRIX -C FROM VARIABLES (1/P,V',W',V,W) -C TO SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) -C -C Authors: A. Haas and W. Wittek -C -C -C *** PD(3) 1/P,V',W' INPUT -C PC(3) 1/P,LAMBDA,PHI OUTPUT -C H(3) MAGNETIC FIELD INPUT -C RD(15) ERROR MATRIX IN 1/P,V',W',V,W INPUT (TRIANGLE) -C RC(15) ERROR MATRIX IN SC VARIABLES OUTPUT (TRIANGLE) -C CH CHARGE OF PARTICLE INPUT -C CHARGE AND MAGNETIC FIELD ARE NEEDED -C FOR CORRELATION TERMS (LAMBDA,V),(LAMBDA,W),(PHI,V),(PHI,W) -C THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED -C TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH) -C AND RD FOR FIXED U -C DJ(3) UNIT VECTOR IN V-DIRECTION -C DK(3) UNIT VECTOR IN W-DIRECTION OF DETECTOR SYSTEM -C -C IERR NOT USED -C SPU SIGN OF U-COMPONENT OF PARTICLE MOMENTUM INPUT -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL PD,PC,H,RC,RD,CH,DJ,DK,SPU -#endif -#include "geant321/trcom3.inc" - DIMENSION PD(3),PC(3),H(3),RC(15),RD(15),DJ(3),DK(3) - DIMENSION UN(3),VN(3),DI(3),TVW(3) -C -#if defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 E-4 / -#endif -#if !defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 D-4 / -#endif -C - IERR=0 - PM=PD(1) - TVW(1)=1./SQRT(1.+PD(2)**2+PD(3)**2) - IF(SPU.LT.0.) TVW(1)=-TVW(1) - TVW(2)=PD(2)*TVW(1) - TVW(3)=PD(3)*TVW(1) -C - DI(1)=DJ(2)*DK(3)-DJ(3)*DK(2) - DI(2)=DJ(3)*DK(1)-DJ(1)*DK(3) - DI(3)=DJ(1)*DK(2)-DJ(2)*DK(1) -C - DO 5 I=1,3 - TN(I)=TVW(1)*DI(I)+TVW(2)*DJ(I)+TVW(3)*DK(I) - 5 CONTINUE -C - PC(1)=PD(1) - PC(2)=ASIN(TN(3)) - IF (ABS (TN(1)) .LT. 1.E-30) TN(1) = 1.E-30 - PC(3) = ATAN2 (TN(2),TN(1)) -C - COSL=SQRT(ABS(1.-TN(3)**2)) - IF (COSL .LT. 1.E-30) COSL = 1.E-30 - COSL1=1./COSL - UN(1)=-TN(2)*COSL1 - UN(2)=TN(1)*COSL1 - UN(3)=0. -C - VN(1)=-TN(3)*UN(2) - VN(2)=TN(3)*UN(1) - VN(3)=COSL - -C - UJ=UN(1)*DJ(1)+UN(2)*DJ(2)+UN(3)*DJ(3) - UK=UN(1)*DK(1)+UN(2)*DK(2)+UN(3)*DK(3) - VJ=VN(1)*DJ(1)+VN(2)*DJ(2)+VN(3)*DJ(3) - VK=VN(1)*DK(1)+VN(2)*DK(2)+VN(3)*DK(3) -C - J=0 - DO 10 I=1,5 - DO 4 K=I,5 - J=J+1 - A(I,K)=0. - A(K,I)=0. - S(J)=RD(J) - 4 CONTINUE - 10 CONTINUE -C - IF(CH.EQ.0.) GO TO 6 - HA=SQRT(H(1)**2+H(2)**2+H(3)**2) - HAM=HA*PM - IF(HAM.EQ.0.) GO TO 6 - HM=CH/HA -C - Q=-HAM*CFACT8 -C - SINZ=-(H(1)*UN(1)+H(2)*UN(2)+H(3)*UN(3))*HM - COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM - A(2,4)=-Q*TVW(2)*SINZ - A(2,5)=-Q*TVW(3)*SINZ - A(3,4)=-Q*TVW(2)*COSZ*COSL1 - A(3,5)=-Q*TVW(3)*COSZ*COSL1 -C - 6 A(1,1)=1. - A(2,2)=TVW(1)*VJ - A(2,3)=TVW(1)*VK - A(3,2)=TVW(1)*UJ*COSL1 - A(3,3)=TVW(1)*UK*COSL1 - A(4,4)=UJ - A(4,5)=UK - A(5,4)=VJ - A(5,5)=VK -C - CALL SSMT5T(A,S,S) -C - J=0 - DO 25 I=1,5 - DO 20 K=I,5 - J=J+1 - RC(J)=S(J) - 20 CONTINUE - 25 CONTINUE -C - RETURN -C -C *** ERROR EXITS -C - END -* diff --git a/StarVMC/geant3/erpremc/trspsc.F b/StarVMC/geant3/erpremc/trspsc.F deleted file mode 100644 index 1754167bde8..00000000000 --- a/StarVMC/geant3/erpremc/trspsc.F +++ /dev/null @@ -1,138 +0,0 @@ -* -* $Id: trspsc.F,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -* -* $Log: trspsc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:15 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani -*-- Author : -C - SUBROUTINE TRSPSC(PS,RS,PC,RC,H,CH,IERR,SPX) -C -C *** TRANSFORMS ERROR MATRIX -C FROM SPLINE VARIABLES (1/P,Y',Z',Y,Z) -C TO SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT) -C -C Authors: A. Haas and W. Wittek -C -C -C *** PS(3) 1/P,Y',Z' INPUT -C PC(3) 1/P,LAMBDA,PHI OUTPUT -C H(3) MAGNETIC FIELD INPUT -C RS(15) ERROR MATRIX IN SPLINE VARIABLES INPUT (TRIANGLE) -C RC(15) ERROR MATRIX IN SC VARIABLES OUTPUT (TRIANGLE) -C CH CHARGE OF PARTICLE INPUT -C CHARGE AND MAGNETIC FIELD ARE NEEDED -C FOR CORRELATION TERMS (LAMBDA,Y),(LAMBDA,Z),(PHI,Y),(PHI,Z) -C THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED -C TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH) -C AND RS FOR FIXED X -C -C IERR NOT USED -C SPX SIGN OF X-COMPONENT OF PARTICLE MOMENTUM INPUT -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL PS,PC,H,RC,RS,CH,SPX -#endif -#include "geant321/trcom3.inc" - DIMENSION PS(3),PC(3),H(3),RC(15),RS(15) - DIMENSION UN(3),VN(3) -C -#if defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 E-4 / -#endif -#if !defined(CERNLIB_SINGLE) - DATA CFACT8 / 2.997925 D-4 / -#endif -C - IERR=0 - PM=PS(1) - TN(1)=1./SQRT(1.+PS(2)**2+PS(3)**2) - IF(SPX.LT.0.) TN(1)=-TN(1) - TN(2)=PS(2)*TN(1) - TN(3)=PS(3)*TN(1) -C - PC(1)=PS(1) - PC(2)=ASIN(TN(3)) - IF (ABS (TN(1)) .LT. 1.E-30) TN(1) = 1.E-30 - PC(3) = ATAN2 (TN(2),TN(1)) -C - COSL=SQRT(ABS(1.-TN(3)**2)) - IF (COSL .LT. 1.E-30) COSL = 1.E-30 - COSL1=1./COSL - UN(1)=-TN(2)*COSL1 - UN(2)=TN(1)*COSL1 -C - VN(1)=-TN(3)*UN(2) - VN(2)=TN(3)*UN(1) - VN(3)=COSL -C - J=0 - DO 10 I=1,5 - DO 4 K=I,5 - J=J+1 - A(I,K)=0. - A(K,I)=0. - S(J)=RS(J) - 4 CONTINUE - 10 CONTINUE -C - IF(CH.EQ.0.) GO TO 6 - - HA=SQRT(H(1)**2+H(2)**2+H(3)**2) - HAM=HA*PM - IF(HAM.EQ.0.) GO TO 6 - HM=CH/HA -C - Q=-HAM*CFACT8 -C - SINZ=-(H(1)*UN(1)+H(2)*UN(2) )*HM - COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM - A(2,4)=-Q*TN(2)*SINZ - A(2,5)=-Q*TN(3)*SINZ - A(3,4)=-Q*TN(2)*COSZ*COSL1 - A(3,5)=-Q*TN(3)*COSZ*COSL1 -C - 6 A(1,1)=1. - A(2,2)=TN(1)*VN(2) - A(2,3)=TN(1)*VN(3) - A(3,2)=TN(1)*UN(2)*COSL1 - A(4,4)=UN(2) - A(5,4)=VN(2) - A(5,5)=VN(3) -C - CALL SSMT5T(A,S,S) -C - J=0 - DO 25 I=1,5 - DO 20 K=I,5 - J=J+1 - RC(J)=S(J) - 20 CONTINUE - 25 CONTINUE -* -* *** ERROR EXITS -* - END diff --git a/StarVMC/geant3/examples/E01.C b/StarVMC/geant3/examples/E01.C deleted file mode 100644 index d98b582fe88..00000000000 --- a/StarVMC/geant3/examples/E01.C +++ /dev/null @@ -1,35 +0,0 @@ -// $Id: E01.C,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -// -// Macro for running Example01 with Geant3 -// Before running this macro, the libexampl01.so library -// must have been built. To build it, go to your geant4_vmc/examples directory -// and run make. -// Note that this macro is a simplified version of the equivalent macro -// in the geant4_vmc/examples/E01 directory -class Ex01MCApplication; -Ex01MCApplication* appl = 0; - -void E01(){ - // Load basic libraries - gSystem->Load("libGeom"); - gSystem->Load("libVMC"); - gSystem->Load("libPhysics"); - gSystem->Load("libEG"); - gSystem->Load("libEGPythia6"); - gSystem->Load("libPythia6"); - new TGeoManager("E01","test"); - - // Load Geant3 libraries - gSystem->Load("../lib/tgt_linux/libdummies"); - gSystem->Load("../lib/tgt_linux/libgeant321"); - - // Load this example library - gSystem->Load("../../geant4_vmc/lib/tgt_linux/libexample01"); - - // MC application - appl - = new Ex01MCApplication("Example01", "The example01 VMC application"); - - appl->InitMC("E01_g3Config.C"); - // appl->RunMC(1); -} diff --git a/StarVMC/geant3/examples/E01_g3Config.C b/StarVMC/geant3/examples/E01_g3Config.C deleted file mode 100755 index 9240ecbd80b..00000000000 --- a/StarVMC/geant3/examples/E01_g3Config.C +++ /dev/null @@ -1,16 +0,0 @@ -// $Id: E01_g3Config.C,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -// -// Configuration macro for Geant3 VMC for Example01 - -void Config() -{ - // if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { - new TGeant3TGeo("C++ Interface to Geant3 using TGeo"); - cout << "TGeant3TGeo has been created." << endl; - // } else { - // new TGeant3("C++ Interface to Geant3"); - // cout << "TGeant3 has been created." << endl; - // } -} - - diff --git a/StarVMC/geant3/examples/E02.C b/StarVMC/geant3/examples/E02.C deleted file mode 100644 index 1f8a9d29b53..00000000000 --- a/StarVMC/geant3/examples/E02.C +++ /dev/null @@ -1,36 +0,0 @@ -// $Id: E02.C,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -// -// Macro for running Example02 with Geant3 -// Before running this macro, the libexampl02.so library -// must have been built. To build it, go to your geant4_vmc/examples directory -// and run make. -// Note that this macro is a simplified version of the equivalent macro -// in the geant4_vmc/examples/E02 directory - -{ - // Load basic libraries - gSystem->Load("libGeom"); - gSystem->Load("libVMC"); - gSystem->Load("libPhysics"); - gSystem->Load("libEG"); - gSystem->Load("libEGPythia6"); - gSystem->Load("libPythia6"); - new TGeoManager("E02","test"); - - // Load Geant3 libraries - gSystem->Load("../lib/tgt_linux/libdummies"); - gSystem->Load("../lib/tgt_linux/libgeant321.so"); - - // Load this example library - gSystem->Load("../../geant4_vmc/lib/tgt_linux/libexample02"); - - // MC application - Ex02MCApplication* appl - = new Ex02MCApplication("Example02", "The example02 VMC application"); - - appl->InitMC("E02_g3Config.C"); - TGeant3 *geant3 = (TGeant3*)gMC; - geant3->SetDEBU(1,2,1); - geant3->SetSWIT(2,2); - appl->RunMC(5); -} diff --git a/StarVMC/geant3/examples/E02_g3Config.C b/StarVMC/geant3/examples/E02_g3Config.C deleted file mode 100755 index d96b4c5b2bb..00000000000 --- a/StarVMC/geant3/examples/E02_g3Config.C +++ /dev/null @@ -1,22 +0,0 @@ -// $Id: E02_g3Config.C,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -// -// Configuration macro for Geant3 VirtualMC for Example01 - -void Config() -{ -#if 0 - if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { -#endif - TGeant3TGeo* geant3 = new TGeant3TGeo("C++ Interface to Geant3 using TGeo"); - cout << "TGeant3TGeo has been created." << endl; -#if 0 - } else { - TGeant3* geant3 = new TGeant3("C++ Interface to Geant3"); - cout << "TGeant3 has been created." << endl; - } - - geant3->SetHADR(0); -#endif -} - - diff --git a/StarVMC/geant3/examples/E03.C b/StarVMC/geant3/examples/E03.C deleted file mode 100644 index d8c1c8a8056..00000000000 --- a/StarVMC/geant3/examples/E03.C +++ /dev/null @@ -1,41 +0,0 @@ -// $Id: E03.C,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -// -// Macro for running Example03 with Geant3 -// Before running this macro, the libexampl03.so library -// must have been built. To build it, go to your geant4_vmc/examples directory -// and run make. -// Note that this macro is a simplified version of the equivalent macro -// in the geant4_vmc/examples/E03 directory - -{ - // Load basic libraries - gSystem->Load("libGeom"); - gSystem->Load("libVMC"); - gSystem->Load("libPhysics"); - gSystem->Load("libEG"); - gSystem->Load("libEGPythia6"); - gSystem->Load("libPythia6"); - new TGeoManager("E02","test"); - - // Load Geant3 libraries - gSystem->Load("../lib/tgt_linux/libdummies"); - gSystem->Load("../lib/tgt_linux/libgeant321.so"); - - // Load this example library - gSystem->Load("../../geant4_vmc/lib/tgt_linux/libexample03"); - - // MC application - Ex03MCApplication* appl - = new Ex03MCApplication("Example03", "The example03 VMC application"); - appl->GetPrimaryGenerator()->SetNofPrimaries(20); - appl->SetPrintModulo(1); - - appl->InitMC("E03_g3Config.C"); - - // visualization setting - gMC->Gsatt("*", "seen", 16); - gMC->Gsatt("ABSO", "seen", 5); - gMC->Gsatt("GAPX", "seen", 6); - - appl->RunMC(50); -} diff --git a/StarVMC/geant3/examples/E03_g3Config.C b/StarVMC/geant3/examples/E03_g3Config.C deleted file mode 100755 index bbb023acee5..00000000000 --- a/StarVMC/geant3/examples/E03_g3Config.C +++ /dev/null @@ -1,24 +0,0 @@ -// $Id: E03_g3Config.C,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -// -// Configuration macro for Geant3 VirtualMC for Example03 - -void Config() -{ -#if 0 - if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { -#endif - TGeant3TGeo* geant3 = new TGeant3TGeo("C++ Interface to Geant3 using TGeo"); - cout << "TGeant3TGeo has been created." << endl; -#if 0 - } else { - TGeant3* geant3 = new TGeant3("C++ Interface to Geant3"); - cout << "TGeant3 has been created." << endl; - } - - geant3->SetDRAY(1); - geant3->SetLOSS(1); - geant3->SetHADR(0); -#endif -} - - diff --git a/StarVMC/geant3/examples/Makefile b/StarVMC/geant3/examples/Makefile deleted file mode 100644 index 031b58577c9..00000000000 --- a/StarVMC/geant3/examples/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# $Id: Makefile,v 1.1.1.2 2009/02/01 17:10:15 fisyak Exp $ -# -# Makefile for building Geant3 examples -# -# The following environment variables have to be set: -# CERNLIB - path to packlib CERNLIB library -# PYTHIA6 - path to PYTHIA6 library -# ROOTSYS - path to Root - -MAKEFLAGS= --no-print-directory - -TARGETS = gexam1 gexam3 gexam4 model - -.PHONY: default - -default: - @for TARGET in $(TARGETS); do (export TARGET; $(MAKE) -f ../config/MakeExe); done;: - -clean: - @$(MAKE) -f ../config/MakeExe clean diff --git a/StarVMC/geant3/examples/example02.root b/StarVMC/geant3/examples/example02.root deleted file mode 100644 index f4150e5d38e47ad1c4db7c61f7e8794df888dfd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 zcmXTQ&o5zMn48bQz>osO4}cg37=a8279as)Kma3y`S&M^EJEhXJI&4=Z`$`BCP9d< zVPFO-@zJ<<)`P(SY#_)s2G$U_%$!ud)QZI1f}B(XBfTP!bI|z=EFgVgy%2jGfD~9i zm`lh}v%z+|Y1}&(%n%B;`vFKlS4conesXGYv8M|coMoV5U|?)+Zj@r7Yh;jStZQgw qY_6MVZegiwY?hpwY;Iwcl$x66z`)?dzz8I5fX0DC2jn|aO#uMdl}o$; diff --git a/StarVMC/geant3/examples/example03.root b/StarVMC/geant3/examples/example03.root deleted file mode 100644 index 374b53aee3d8002090b2e32c7dced6ae7c508348..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1052116 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�!G&z*a>$ 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 ryK&tr)HhPrTBfqQ6`dojwo|)bZ9mE0bhjp(I4@ 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

    tX5W?;DadR4a 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 mq(}1^P@401U<>?iMz+pOk!z) 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

    Z;Tsc2^(Dq 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�BZ=zzIycS@!~8X^V;00hX-q=T`T$$X0SXYJ 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�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
    %)g2LVm?`JZCI0|8^po_ybE%ZUM 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%0A#70*0vEh4dTWAvu@Hzv#Ivgdiq@{ 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 Y4B`J8EaQI+|DS{X=Vj*I*pmVO1(SHv8UO$Q diff --git a/StarVMC/geant3/examples/flukaaf.dat b/StarVMC/geant3/examples/flukaaf.dat deleted file mode 100644 index 9b8932ec121..00000000000 --- a/StarVMC/geant3/examples/flukaaf.dat +++ /dev/null @@ -1,4011 +0,0 @@ - 1 2 3 4 5 6 7 7 8 9 10 11 12 13 14 16 17 17 - 18 20 21 21 22 24 25 25 26 28 29 29 30 33 34 35 36 38 - 39 41 42 47 48 48 49 53 54 55 56 59 60 60 61 64 65 65 - 66 70 71 72 73 77 78 79 80 84 85 85 86 91 92 93 94 99 - 100 101 102 105 106 106 107 111 112 112 113 119 120 120 121 127 128 128 - 129 134 135 136 137 144 145 146 147 156 157 158 159 166 167 167 168 176 - 177 177 178 184 185 186 187 190 191 191 192 198 199 199 200 206 207 208 - 209 215 216 216 217 223 224 224 225 230 231 231 232 238 239 240 241 246 - 247 248 249 253 254 255 256 262 263 264 265 270 271 271 272 278 279 280 - 281 284 285 285 286 286 287 287 288 288 289 289 290 290 291 291 292 292 - 293 293 294 296 297 297 298 298 299 299 300 300 301 301 302 302 303 303 - 304 304 - 1 2 4 3 7 6 9 11 10 12 13 14 15 16 18 17 19 20 - 22 21 23 24 26 25 27 28 29 30 31 32 34 33 36 35 37 40 - 36 38 39 41 40 40 44 42 46 48 43 45 48 46 47 49 50 51 - 50 52 53 50 54 55 56 54 57 58 59 58 60 62 61 64 63 65 - 64 66 68 67 70 69 71 74 72 70 73 76 75 80 78 82 76 77 - 74 79 81 84 86 82 83 80 78 85 87 88 86 87 84 89 90 94 - 92 91 96 93 98 96 92 95 100 97 94 97 102 104 101 99 100 96 - 98 103 106 108 105 110 104 102 107 109 114 112 111 110 113 116 106 108 - 115 113 120 118 116 119 117 124 112 112 114 115 121 123 130 128 126 125 - 124 122 123 120 127 132 129 131 134 136 130 128 124 126 133 138 137 136 - 135 134 130 132 139 138 140 142 138 136 141 142 144 146 143 145 148 150 - 145 152 154 147 149 148 150 144 153 151 158 160 156 157 155 154 152 159 - 164 162 163 161 160 158 156 165 166 168 167 170 164 162 169 174 172 173 - 171 176 170 168 175 176 180 178 177 179 176 174 181 180 184 186 182 183 - 180 187 185 192 190 189 188 187 186 184 193 191 195 194 196 198 192 190 - 197 202 200 199 201 198 204 196 205 203 208 206 207 204 209 209 210 222 - 223 226 227 232 231 238 235 234 237 244 243 247 247 251 254 257 - 0.999850000000000 1.500000000000000E-004 0.999998700000000 - 1.300000000000000E-006 0.925800000000000 7.420000000000000E-002 - 1.00000000000000 0.802200000000000 0.197800000000000 - 0.988900000000000 1.110000000000000E-002 0.996300000000000 - 3.700000000000000E-003 0.997590000000000 2.040000000000000E-003 - 3.700000000000000E-004 1.00000000000000 0.911335258510691 - 8.840713792415629E-002 2.576035651531538E-004 1.00000000000000 - 0.787000000000000 0.111700000000000 0.101300000000000 - 1.00000000000000 0.922029826844160 4.704233810429386E-002 - 3.092783505154639E-002 1.00000000000000 0.950057003420205 - 4.220253215192912E-002 7.600456027361642E-003 1.400084005040303E-004 - 0.755300000000000 0.244700000000000 0.996000000000000 - 3.370000000000000E-003 6.300000000000000E-004 0.931076348260557 - 6.880564206264915E-002 1.180096767934971E-004 0.967757069986124 - 2.079319604300388E-002 6.448586002775087E-003 1.856713616898090E-003 - 1.796819629256216E-003 1.347614721942162E-003 1.00000000000000 - 0.739400000000000 7.929999999999998E-002 7.279999999999999E-002 - 5.509999999999999E-002 5.339999999999999E-002 0.997600000000000 - 2.400000000000000E-003 0.837600000000000 9.550000000000000E-002 - 4.310000000000000E-002 2.380000000000000E-002 1.00000000000000 - 0.916600000000000 5.820000000000000E-002 2.190000000000000E-002 - 3.300000000000000E-003 1.00000000000000 0.682740000000000 - 0.260950000000000 3.593000000000000E-002 1.134000000000000E-002 - 9.039999999999999E-003 0.690900000000000 0.309100000000000 - 0.486847389558233 0.279216867469880 0.186445783132530 - 4.126506024096385E-002 6.224899598393573E-003 0.604000000000000 - 0.396000000000000 0.365363463653635 0.274272572742726 - 0.205179482051795 7.759224077592240E-002 7.759224077592240E-002 - 1.00000000000000 0.498200000000000 0.235200000000000 - 9.190000000000000E-002 9.020000000000000E-002 7.580000000000001E-002 - 8.699999999999999E-003 0.505400000000000 0.494600000000000 - 0.569000000000000 0.173700000000000 0.115600000000000 - 0.115500000000000 2.270000000000000E-002 3.499999999999999E-003 - 0.721500000000000 0.278500000000000 0.825600000000000 - 9.859999999999999E-002 7.020000000000000E-002 5.600000000000001E-003 - 1.00000000000000 0.514600000000000 0.174000000000000 - 0.171100000000000 0.112300000000000 2.799999999999999E-002 - 1.00000000000000 0.237800000000000 0.165300000000000 - 0.158400000000000 0.157200000000000 9.630000000000001E-002 - 9.460000000000000E-002 9.039999999999999E-002 1.00000000000000 - 0.316163232646529 0.185837167433487 0.170734146829366 - 0.127225445089018 0.126225245049010 5.511102220444088E-002 - 1.870374074814963E-002 1.00000000000000 0.273272672732727 - 0.267073292670733 0.222277772222778 0.118088191180882 - 0.109689031096890 9.599040095990399E-003 0.518200000000000 - 0.481800000000000 0.288571142885711 0.240675932406759 - 0.127487251274873 0.123887611238876 0.122587741225877 - 7.579242075792421E-002 1.219878012198780E-002 8.799120087991200E-003 - 0.957200000000000 4.280000000000000E-002 0.328500000000000 - 0.240300000000000 0.143000000000000 8.580000000000000E-002 - 7.610000000000000E-002 5.940000000000000E-002 4.720000000000000E-002 - 9.599999999999999E-003 6.600000000000000E-003 3.500000000000000E-003 - 0.572500000000000 0.427500000000000 0.344803448034480 - 0.317903179031790 0.187101871018710 6.990069900699007E-002 - 4.610046100461004E-002 2.460024600246002E-002 8.700087000870008E-003 - 8.900089000890008E-004 1.00000000000000 0.268883866967982 - 0.264384136951783 0.211787292762434 0.104393736375817 - 8.869467831930082E-002 4.079755214687118E-002 1.919884806911585E-002 - 9.599424034557925E-004 8.999460032398054E-004 1.00000000000000 - 0.716614332286646 0.113202264045281 7.810156203124062E-002 - 6.590131802636053E-002 2.420048400968019E-002 1.010020200404008E-003 - 9.700194003880077E-004 0.999110000000000 8.899999999999999E-004 - 0.884861940335823 0.110707749542468 2.500175012250857E-003 - 1.930135109457662E-003 1.00000000000000 0.270019920318725 - 0.237549800796813 0.175498007968127 0.121215139442231 - 8.266932270916334E-002 5.707171314741035E-002 5.597609561752987E-002 - 1.00000000000000 0.267200000000000 0.227100000000000 - 0.149700000000000 0.138300000000000 0.112400000000000 - 7.439999999999999E-002 3.089999999999999E-002 0.521800000000000 - 0.478200000000000 0.248700000000000 0.219000000000000 - 0.204700000000000 0.156800000000000 0.147300000000000 - 2.149999999999999E-002 2.000000000000000E-003 1.00000000000000 - 0.279557945278864 0.253268784349517 0.247713339021051 - 0.187297871073987 2.271780321819011E-002 8.928394277891312E-003 - 5.158627805003868E-004 1.00000000000000 0.334113364534581 - 0.270710828433137 0.229409176367055 0.148805952238090 - 1.560062402496100E-002 1.360054402176087E-003 1.00000000000000 - 0.318415920796040 0.218210910545527 0.161308065403270 - 0.143107155357768 0.127306365318266 3.030151507575378E-002 - 1.350067503375169E-003 0.974100000000000 2.590000000000000E-002 - 0.352364763523648 0.271372862713729 0.184981501849815 - 0.137486251374862 5.199480051994800E-002 1.799820017998200E-003 - 0.999877000368999 1.229996310011070E-004 0.306400000000000 - 0.284100000000000 0.264100000000000 0.144000000000000 - 1.400000000000000E-003 0.625000000000000 0.375000000000000 - 0.403555555555556 0.266666666666667 0.162626262626263 - 0.134343434343434 1.656565656565656E-002 1.606060606060606E-002 - 1.818181818181818E-004 0.626000000000000 0.374000000000000 - 0.337990874246395 0.328991117239835 0.252993169184432 - 7.209805335255949E-002 7.799789405686048E-003 1.269965710925805E-004 - 1.00000000000000 0.297982121072736 0.231286122832630 - 0.168389896606204 0.132192068475891 0.100193988360698 - 6.849589024658520E-002 1.459912405255685E-003 0.705000000000000 - 0.295000000000000 0.523104620924185 0.236047209441888 - 0.226045209041808 1.480296059211842E-002 1.00000000000000 - 1.00000000000000 1.00000000000000 1.00000000000000 - 1.00000000000000 1.00000000000000 1.00000000000000 - 1.00000000000000 1.00000000000000 0.992254260156914 - 7.196042176802758E-003 5.496976662835440E-004 1.00000000000000 - 1.00000000000000 1.00000000000000 1.00000000000000 - 1.00000000000000 1.00000000000000 1.00000000000000 - 1.00000000000000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 5.155720000000000E-025 6.352660000000000E-028 0.000000000000000E+000 - 2.206280000000000E-024 1.074000000000000E-026 3.268510000000000E-003 - 5.313590000000000E-024 5.741770000000000E-026 7.364860000000000E-003 - 1.011680000000000E-023 1.917390000000000E-025 1.290260000000000E-002 - 1.693820000000000E-023 4.948320000000000E-025 2.003300000000000E-002 - 2.614920000000000E-023 1.085180000000000E-024 2.861950000000000E-002 - 3.817710000000000E-023 2.127230000000000E-024 3.864270000000000E-002 - 5.351240000000000E-023 3.841620000000000E-024 5.006100000000000E-002 - 7.271770000000000E-023 6.517220000000000E-024 6.284210000000000E-002 - 9.643750000000000E-023 1.052530000000000E-023 7.694360000000000E-002 - 1.254090000000000E-022 1.633610000000000E-023 9.232970000000000E-002 - 1.604740000000000E-022 2.453840000000000E-023 0.108963000000000 - 2.025950000000000E-022 3.586240000000000E-023 0.126807000000000 - 2.528670000000000E-022 5.120600000000000E-023 0.145824000000000 - 3.125390000000000E-022 7.166590000000000E-023 0.165979000000000 - 3.830320000000000E-022 9.857380000000000E-023 0.187236000000000 - 4.659630000000000E-022 1.335380000000000E-022 0.209560000000000 - 5.631680000000000E-022 1.784910000000000E-022 0.232915000000000 - 6.767310000000000E-022 2.357490000000000E-022 0.257269000000000 - 8.090190000000000E-022 3.080720000000000E-022 0.282588000000000 - 9.627150000000000E-022 3.987420000000000E-022 0.308839000000000 - 1.140860000000000E-021 5.116500000000000E-022 0.335990000000000 - 1.346890000000000E-021 6.513920000000000E-022 0.364010000000000 - 1.584700000000000E-021 8.233900000000000E-022 0.392867000000000 - 1.858710000000000E-021 1.034020000000000E-021 0.422532000000000 - 2.173890000000000E-021 1.290760000000000E-021 0.452976000000000 - 2.535880000000000E-021 1.602390000000000E-021 0.484169000000000 - 2.951020000000000E-021 1.979130000000000E-021 0.516085000000000 - 3.426510000000000E-021 2.432970000000000E-021 0.548696000000000 - 3.970430000000000E-021 2.977830000000000E-021 0.581975000000000 - 4.591930000000000E-021 3.629910000000000E-021 0.615897000000000 - 5.301320000000000E-021 4.408080000000000E-021 0.650438000000000 - 6.110190000000000E-021 5.334170000000000E-021 0.685572000000000 - 7.031620000000000E-021 6.433510000000000E-021 0.721278000000000 - 8.080359999999999E-021 7.735410000000000E-021 0.757531000000000 - 9.272980000000001E-021 9.273750000000000E-021 0.794311000000000 - 1.062820000000000E-020 1.108770000000000E-020 0.831596000000000 - 1.216690000000000E-020 1.322230000000000E-020 0.869366000000000 - 1.391280000000000E-020 1.572970000000000E-020 0.907601000000000 - 1.589240000000000E-020 1.866970000000000E-020 0.946281000000000 - 1.813550000000000E-020 2.211120000000000E-020 0.985390000000000 - 2.067580000000000E-020 2.613350000000000E-020 1.02491000000000 - 2.355090000000000E-020 3.082750000000000E-020 1.06482000000000 - 2.680310000000000E-020 3.629760000000000E-020 1.10511000000000 - 3.048000000000000E-020 4.266350000000000E-020 1.14576000000000 - 3.463490000000000E-020 5.006250000000000E-020 1.18675000000000 - 3.932760000000000E-020 5.865150000000000E-020 1.22808000000000 - 4.462540000000000E-020 6.861040000000000E-020 1.26972000000000 - 5.060360000000000E-020 8.014490000000001E-020 1.31166000000000 - 5.734670000000000E-020 9.348980000000000E-020 1.35390000000000 - 6.494960000000000E-020 1.089140000000000E-019 1.39642000000000 - 7.351840000000000E-020 1.267230000000000E-019 1.43920000000000 - 8.317220000000000E-020 1.472680000000000E-019 1.48224000000000 - 9.404460000000000E-020 1.709460000000000E-019 1.52552000000000 - 1.062850000000000E-019 1.982130000000000E-019 1.56904000000000 - 1.200610000000000E-019 2.295870000000000E-019 1.61278000000000 - 1.355600000000000E-019 2.656570000000000E-019 1.65674000000000 - 1.529920000000000E-019 3.070940000000000E-019 1.70090000000000 - 1.725920000000000E-019 3.546630000000000E-019 1.74526000000000 - 1.946240000000000E-019 4.092320000000000E-019 1.78980000000000 - 2.193830000000000E-019 4.717880000000000E-019 1.83453000000000 - 2.471970000000000E-019 5.434540000000000E-019 1.87943000000000 - 2.784370000000000E-019 6.255030000000000E-019 1.92450000000000 - 3.135140000000000E-019 7.193820000000000E-019 1.96973000000000 - 3.528910000000000E-019 8.267340000000000E-019 2.01510000000000 - 3.970840000000000E-019 9.494210000000001E-019 2.06063000000000 - 4.466700000000000E-019 1.089560000000000E-018 2.10629000000000 - 5.022950000000000E-019 1.249540000000000E-018 2.15209000000000 - 5.646810000000000E-019 1.432080000000000E-018 2.19802000000000 - 6.346350000000000E-019 1.640260000000000E-018 2.24407000000000 - 7.130580000000000E-019 1.877560000000000E-018 2.29024000000000 - 8.009570000000000E-019 2.147930000000000E-018 2.33652000000000 - 8.994600000000000E-019 2.455830000000000E-018 2.38291000000000 - 1.009820000000000E-018 2.806320000000000E-018 2.42941000000000 - 1.133450000000000E-018 3.205130000000000E-018 2.47601000000000 - 1.271920000000000E-018 3.658710000000000E-018 2.52270000000000 - 1.426980000000000E-018 4.174370000000000E-018 2.56949000000000 - 1.600580000000000E-018 4.760400000000000E-018 2.61636000000000 - 1.794910000000000E-018 5.426130000000000E-018 2.66332000000000 - 2.012430000000000E-018 6.182120000000000E-018 2.71037000000000 - 2.255830000000000E-018 7.040290000000000E-018 2.75749000000000 - 2.528180000000000E-018 8.014109999999999E-018 2.80469000000000 - 2.832870000000000E-018 9.118780000000000E-018 2.85197000000000 - 3.173680000000000E-018 1.037150000000000E-017 2.89931000000000 - 3.554850000000000E-018 1.179150000000000E-017 2.94672000000000 - 3.981080000000000E-018 1.340080000000000E-017 2.99420000000000 - 4.457660000000000E-018 1.522400000000000E-017 3.04174000000000 - 4.990440000000000E-018 1.728880000000000E-017 3.08934000000000 - 5.585990000000000E-018 1.962660000000000E-017 3.13700000000000 - 6.251610000000000E-018 2.227280000000000E-017 3.18472000000000 - 6.995440000000000E-018 2.526710000000000E-017 3.23250000000000 - 7.826600000000000E-018 2.865450000000000E-017 3.28032000000000 - 8.755199999999999E-018 3.248550000000000E-017 3.32820000000000 - 9.792559999999999E-018 3.681690000000000E-017 3.37612000000000 - 1.095130000000000E-017 4.171310000000000E-017 3.42410000000000 - 1.224540000000000E-017 4.724620000000000E-017 3.47211000000000 - 1.369060000000000E-017 5.349740000000000E-017 3.52018000000000 - 1.530440000000000E-017 6.055840000000000E-017 3.56828000000000 - 1.710610000000000E-017 6.853210000000001E-017 3.61643000000000 - 1.911760000000000E-017 7.753440000000000E-017 3.66462000000000 - 2.136290000000000E-017 8.769340000000001E-017 3.71263000000000 - 2.386910000000000E-017 9.916040000000000E-017 3.76091000000000 - 2.666610000000000E-017 1.120980000000000E-016 3.80923000000000 - 2.978750000000000E-017 1.266920000000000E-016 3.85758000000000 - 3.327050000000000E-017 1.431510000000000E-016 3.90596000000000 - 3.715670000000000E-017 1.617090000000000E-016 3.95438000000000 - 4.149220000000000E-017 1.826300000000000E-016 4.00283000000000 - 4.632870000000000E-017 2.062100000000000E-016 4.05130000000000 - 5.172360000000000E-017 2.327820000000000E-016 4.09981000000000 - 5.774079999999999E-017 2.627210000000000E-016 4.14835000000000 - 6.445160000000000E-017 2.964450000000000E-016 4.19691000000000 - 7.193530000000000E-017 3.344280000000000E-016 4.24551000000000 - 8.028020000000000E-017 3.772000000000000E-016 4.29412000000000 - 8.958470000000000E-017 4.253550000000000E-016 4.34277000000000 - 9.995840000000001E-017 4.795620000000000E-016 4.39144000000000 - 1.115230000000000E-016 5.405720000000000E-016 4.44013000000000 - 1.244150000000000E-016 6.092260000000000E-016 4.48885000000000 - 1.387850000000000E-016 6.864710000000000E-016 4.53759000000000 - 1.548010000000000E-016 7.733660000000000E-016 4.58635000000000 - 1.726510000000000E-016 8.711040000000000E-016 4.63513000000000 - 1.925440000000000E-016 9.810190000000001E-016 4.68394000000000 - 2.147110000000000E-016 1.104610000000000E-015 4.73276000000000 - 2.394110000000000E-016 1.243560000000000E-015 4.78161000000000 - 2.669310000000000E-016 1.399750000000000E-015 4.83047000000000 - 2.975930000000000E-016 1.575300000000000E-015 4.87936000000000 - 3.317500000000000E-016 1.772580000000000E-015 4.92826000000000 - 3.698020000000000E-016 1.994240000000000E-015 4.97719000000000 - 4.121870000000000E-016 2.243270000000000E-015 5.02612000000000 - 4.593980000000000E-016 2.523020000000000E-015 5.07508000000000 - 5.119790000000000E-016 2.837220000000000E-015 5.12406000000000 - 5.705400000000000E-016 3.190070000000000E-015 5.17305000000000 - 6.357550000000000E-016 3.586280000000000E-015 5.22205000000000 - 7.083770000000000E-016 4.031120000000000E-015 5.27108000000000 - 7.892430000000000E-016 4.530500000000000E-015 5.32011000000000 - 8.792820000000000E-016 5.091040000000000E-015 5.36917000000000 - 9.795310000000000E-016 5.720150000000000E-015 5.41823000000000 - 1.091140000000000E-015 6.426130000000000E-015 5.46732000000000 - 1.215390000000000E-015 7.218290000000000E-015 5.51641000000000 - 1.353710000000000E-015 8.107039999999999E-015 5.56552000000000 - 1.507680000000000E-015 9.104050000000000E-015 5.61465000000000 - 1.679060000000000E-015 1.022240000000000E-014 5.66378000000000 - 1.869810000000000E-015 1.147670000000000E-014 5.71293000000000 - 2.082120000000000E-015 1.288330000000000E-014 5.76209000000000 - 2.318400000000000E-015 1.446060000000000E-014 5.81127000000000 - 2.581350000000000E-015 1.622900000000000E-014 5.86045000000000 - 2.873960000000000E-015 1.821160000000000E-014 5.90965000000000 - 3.199570000000000E-015 2.043400000000000E-014 5.95886000000000 - 3.561880000000000E-015 2.292510000000000E-014 6.00808000000000 - 3.965010000000000E-015 2.571700000000000E-014 6.05731000000000 - 4.413540000000000E-015 2.884560000000000E-014 6.10655000000000 - 4.912560000000000E-015 3.235150000000000E-014 6.15581000000000 - 5.467720000000000E-015 3.627950000000000E-014 6.20507000000000 - 6.085320000000000E-015 4.068010000000000E-014 6.25434000000000 - 6.772350000000000E-015 4.560990000000000E-014 6.30363000000000 - 7.536580000000001E-015 5.113180000000000E-014 6.35292000000000 - 8.386650000000000E-015 5.731639999999999E-014 6.40222000000000 - 9.332170000000000E-015 6.424270000000001E-014 6.45153000000000 - 1.038380000000000E-014 7.199890000000000E-014 6.50085000000000 - 1.155340000000000E-014 8.068380000000000E-014 6.55018000000000 - 1.285420000000000E-014 9.040770000000000E-014 6.59952000000000 - 1.430080000000000E-014 1.012940000000000E-013 6.64887000000000 - 1.590950000000000E-014 1.134810000000000E-013 6.69822000000000 - 1.769840000000000E-014 1.271220000000000E-013 6.74759000000000 - 1.968760000000000E-014 1.423890000000000E-013 6.79696000000000 - 2.189940000000000E-014 1.594770000000000E-013 6.84634000000000 - 2.435870000000000E-014 1.785990000000000E-013 6.89573000000000 - 2.709310000000000E-014 1.999970000000000E-013 6.94512000000000 - 3.013320000000000E-014 2.239390000000000E-013 6.99453000000000 - 3.351310000000000E-014 2.507270000000000E-013 7.04394000000000 - 3.727070000000000E-014 2.806950000000000E-013 7.09336000000000 - 4.144790000000000E-014 3.142190000000000E-013 7.14278000000000 - 4.609150000000000E-014 3.517180000000000E-013 7.19221000000000 - 5.125350000000000E-014 3.936610000000000E-013 7.24165000000000 - 5.699130000000000E-014 4.405710000000000E-013 7.29110000000000 - 6.336920000000000E-014 4.930310000000000E-013 7.34055000000000 - 7.045820000000001E-014 5.516960000000000E-013 7.39001000000000 - 7.833750000000001E-014 6.172940000000000E-013 7.43947000000000 - 8.709470000000000E-014 6.906400000000000E-013 7.48894000000000 - 9.682750000000000E-014 7.726430000000000E-013 7.53842000000000 - 1.076440000000000E-013 8.643190000000000E-013 7.58791000000000 - 1.196650000000000E-013 9.668000000000001E-013 7.63740000000000 - 1.330240000000000E-013 1.081360000000000E-012 7.68689000000000 - 1.478680000000000E-013 1.209400000000000E-012 7.73639000000000 - 1.643650000000000E-013 1.352510000000000E-012 7.78590000000000 - 1.826950000000000E-013 1.512450000000000E-012 7.83541000000000 - 2.030630000000000E-013 1.691190000000000E-012 7.88493000000000 - 2.256940000000000E-013 1.890920000000000E-012 7.93445000000000 - 2.508400000000000E-013 2.114100000000000E-012 7.98398000000000 - 2.787780000000000E-013 2.363460000000000E-012 8.03352000000000 - 3.098190000000000E-013 2.642070000000000E-012 8.08306000000000 - 3.443050000000000E-013 2.953320000000000E-012 8.13260000000000 - 3.826180000000000E-013 3.301030000000000E-012 8.18215000000000 - 4.251820000000000E-013 3.689440000000000E-012 8.23170000000000 - 4.724660000000000E-013 4.123290000000000E-012 8.28126000000000 - 5.249940000000000E-013 4.607880000000000E-012 8.33082000000000 - 5.833440000000000E-013 5.149110000000000E-012 8.38039000000000 - 6.481610000000000E-013 5.753550000000000E-012 8.42997000000000 - 7.201590000000000E-013 6.428570000000000E-012 8.47954000000000 - 8.001330000000000E-013 7.182350000000000E-012 8.52912000000000 - 8.889620000000000E-013 8.024039999999999E-012 8.57871000000000 - 9.876250000000000E-013 8.963859999999999E-012 8.62830000000000 - 1.097210000000000E-012 1.001320000000000E-011 8.67789000000000 - 1.218920000000000E-012 1.118470000000000E-011 8.72749000000000 - 1.354090000000000E-012 1.249260000000000E-011 8.77710000000000 - 1.504220000000000E-012 1.395260000000000E-011 8.82670000000000 - 1.670940000000000E-012 1.558240000000000E-011 8.87631000000000 - 1.856100000000000E-012 1.740160000000000E-011 8.92593000000000 - 2.061720000000000E-012 1.943220000000000E-011 8.97555000000000 - 2.290060000000000E-012 2.169860000000000E-011 9.02517000000000 - 2.543630000000000E-012 2.422800000000000E-011 9.07480000000000 - 2.825200000000000E-012 2.705090000000000E-011 9.12442000000000 - 3.137860000000000E-012 3.020110000000000E-011 9.17406000000000 - 3.485040000000000E-012 3.371640000000000E-011 9.22370000000000 - 3.870540000000000E-012 3.763910000000000E-011 9.27334000000000 - 4.298570000000000E-012 4.201590000000000E-011 9.32298000000000 - 4.773830000000000E-012 4.689940000000000E-011 9.37263000000000 - 5.301510000000000E-012 5.234790000000000E-011 9.42228000000000 - 5.887380000000000E-012 5.842660000000000E-011 9.47193000000000 - 6.537840000000000E-012 6.520790000000000E-011 9.52159000000000 - 7.260010000000000E-012 7.277290000000000E-011 9.57125000000000 - 8.061750000000000E-012 8.121160000000000E-011 9.62091000000000 - 8.951840000000000E-012 9.062460000000000E-011 9.67058000000000 - 9.939980000000000E-012 1.011240000000000E-010 9.72025000000000 - 1.103690000000000E-011 1.128350000000000E-010 9.76993000000000 - 1.225470000000000E-011 1.258960000000000E-010 9.81960000000000 - 1.360650000000000E-011 1.404620000000000E-010 9.86928000000000 - 1.510720000000000E-011 1.567070000000000E-010 9.91896000000000 - 1.677290000000000E-011 1.748230000000000E-010 9.96865000000000 - 1.862200000000000E-011 1.950250000000000E-010 10.0183000000000 - 2.067450000000000E-011 2.175520000000000E-010 10.0680000000000 - 2.295270000000000E-011 2.426700000000000E-010 10.1177000000000 - 2.548140000000000E-011 2.706770000000000E-010 10.1674000000000 - 2.828820000000000E-011 3.019030000000000E-010 10.2171000000000 - 3.140340000000000E-011 3.367180000000000E-010 10.2668000000000 - 3.486110000000000E-011 3.755310000000000E-010 10.3165000000000 - 3.869870000000000E-011 4.188020000000000E-010 10.3662000000000 - 4.295790000000000E-011 4.670390000000000E-010 10.4159000000000 - 4.768500000000000E-011 5.208120000000000E-010 10.4656000000000 - 5.293120000000000E-011 5.807520000000000E-010 10.5154000000000 - 5.875350000000000E-011 6.475650000000000E-010 10.5651000000000 - 6.521490000000000E-011 7.220360000000000E-010 10.6148000000000 - 7.238569999999999E-011 8.050400000000000E-010 10.6645000000000 - 8.034330000000000E-011 8.975520000000000E-010 10.7142000000000 - 8.917420000000000E-011 1.000660000000000E-009 10.7640000000000 - 9.897390000000000E-011 1.115560000000000E-009 10.8137000000000 - 1.098490000000000E-010 1.243610000000000E-009 10.8634000000000 - 1.219160000000000E-010 1.386320000000000E-009 10.9132000000000 - 1.353060000000000E-010 1.545330000000000E-009 10.9629000000000 - 1.501650000000000E-010 1.722530000000000E-009 11.0126000000000 - 1.666520000000000E-010 1.919970000000000E-009 11.0624000000000 - 1.849470000000000E-010 2.139970000000000E-009 11.1121000000000 - 2.052460000000000E-010 2.385090000000000E-009 11.1619000000000 - 2.277690000000000E-010 2.658190000000000E-009 11.2116000000000 - 2.527590000000000E-010 2.962460000000000E-009 11.2614000000000 - 2.804870000000000E-010 3.301450000000000E-009 11.3111000000000 - 3.112510000000000E-010 3.679090000000000E-009 11.3609000000000 - 3.453840000000000E-010 4.099790000000000E-009 11.4106000000000 - 3.832540000000000E-010 4.568450000000000E-009 11.4604000000000 - 4.252690000000000E-010 5.090500000000000E-009 11.5101000000000 - 4.718830000000000E-010 5.672020000000000E-009 11.5599000000000 - 5.235970000000000E-010 6.319770000000000E-009 11.6097000000000 - 5.809690000000000E-010 7.041250000000000E-009 11.6594000000000 - 6.446180000000000E-010 7.844840000000000E-009 11.7092000000000 - 7.152290000000000E-010 8.739870000000001E-009 11.7589000000000 - 7.935620000000000E-010 9.736690000000000E-009 11.8087000000000 - 8.804610000000000E-010 1.084690000000000E-008 11.8585000000000 - 9.768610000000000E-010 1.208320000000000E-008 11.9083000000000 - 1.083800000000000E-009 1.346010000000000E-008 11.9580000000000 - 1.202430000000000E-009 1.499340000000000E-008 12.0078000000000 - 1.334020000000000E-009 1.670080000000000E-008 12.0576000000000 - 1.479990000000000E-009 1.860220000000000E-008 12.1074000000000 - 1.641910000000000E-009 2.071930000000000E-008 12.1572000000000 - 1.821510000000000E-009 2.307670000000000E-008 12.2069000000000 - 2.020740000000000E-009 2.570160000000000E-008 12.2567000000000 - 2.241720000000000E-009 2.862420000000000E-008 12.3065000000000 - 2.486830000000000E-009 3.187810000000000E-008 12.3563000000000 - 2.758700000000000E-009 3.550100000000000E-008 12.4061000000000 - 3.060260000000000E-009 3.953440000000000E-008 12.4559000000000 - 3.394730000000000E-009 4.402480000000000E-008 12.5057000000000 - 3.765700000000000E-009 4.902380000000000E-008 12.5555000000000 - 4.177160000000000E-009 5.458890000000000E-008 12.6053000000000 - 4.633510000000000E-009 6.078400000000000E-008 12.6551000000000 - 5.139640000000000E-009 6.768030000000000E-008 12.7049000000000 - 5.700990000000000E-009 7.535700000000000E-008 12.7547000000000 - 6.323560000000000E-009 8.390210000000000E-008 12.8045000000000 - 7.014030000000000E-009 9.341360000000000E-008 12.8543000000000 - 7.779790000000000E-009 1.040000000000000E-007 12.9041000000000 - 8.629030000000000E-009 1.157840000000000E-007 12.9539000000000 - 9.570860000000000E-009 1.288990000000000E-007 13.0037000000000 - 1.061530000000000E-008 1.434970000000000E-007 13.0535000000000 - 1.177370000000000E-008 1.597430000000000E-007 13.1033000000000 - 1.305820000000000E-008 1.778230000000000E-007 13.1531000000000 - 1.448270000000000E-008 1.979450000000000E-007 13.2029000000000 - 1.606250000000000E-008 2.203380000000000E-007 13.2527000000000 - 1.781430000000000E-008 2.452580000000000E-007 13.3026000000000 - 1.975690000000000E-008 2.729900000000000E-007 13.3524000000000 - 2.191110000000000E-008 3.038500000000000E-007 13.4022000000000 - 2.429990000000000E-008 3.381900000000000E-007 13.4520000000000 - 2.694870000000000E-008 3.764010000000000E-007 13.5018000000000 - 2.988600000000000E-008 4.189190000000000E-007 13.5516000000000 - 3.314310000000000E-008 4.662290000000000E-007 13.6015000000000 - 3.675460000000000E-008 5.188690000000000E-007 13.6513000000000 - 4.075920000000000E-008 5.774380000000000E-007 13.7011000000000 - 4.519970000000000E-008 6.426030000000000E-007 13.7509000000000 - 5.012320000000000E-008 7.151050000000000E-007 13.8008000000000 - 5.558250000000000E-008 7.957680000000000E-007 13.8506000000000 - 6.163569999999999E-008 8.855100000000000E-007 13.9004000000000 - 6.834730000000000E-008 9.853469999999999E-007 13.9503000000000 - 7.578890000000000E-008 1.096420000000000E-006 14.0001000000000 - 8.403990000000000E-008 1.219980000000000E-006 14.0499000000000 - 9.318800000000000E-008 1.357430000000000E-006 14.0998000000000 - 1.033310000000000E-007 1.510340000000000E-006 14.1496000000000 - 1.145760000000000E-007 1.680430000000000E-006 14.1994000000000 - 1.270440000000000E-007 1.869640000000000E-006 14.2493000000000 - 1.408680000000000E-007 2.080100000000000E-006 14.2991000000000 - 1.561930000000000E-007 2.314210000000000E-006 14.3490000000000 - 1.731840000000000E-007 2.574600000000000E-006 14.3988000000000 - 1.920220000000000E-007 2.864240000000000E-006 14.4486000000000 - 2.129060000000000E-007 3.186380000000000E-006 14.4985000000000 - 2.360590000000000E-007 3.544680000000000E-006 14.5483000000000 - 2.617270000000000E-007 3.943190000000000E-006 14.5982000000000 - 2.901830000000000E-007 4.386410000000000E-006 14.6480000000000 - 3.217290000000000E-007 4.879340000000000E-006 14.6979000000000 - 3.567020000000000E-007 5.427550000000000E-006 14.7477000000000 - 3.954720000000000E-007 6.037220000000000E-006 14.7976000000000 - 4.384520000000000E-007 6.715240000000000E-006 14.8474000000000 - 4.860970000000000E-007 7.469260000000000E-006 14.8973000000000 - 5.389150000000000E-007 8.307759999999999E-006 14.9471000000000 - 5.974660000000000E-007 9.240210000000001E-006 14.9970000000000 - 6.623720000000000E-007 1.027710000000000E-005 15.0468000000000 - 7.343220000000000E-007 1.143010000000000E-005 15.0967000000000 - 8.140800000000000E-007 1.271230000000000E-005 15.1465000000000 - 9.024910000000000E-007 1.413790000000000E-005 15.1964000000000 - 1.000490000000000E-006 1.572320000000000E-005 15.2462000000000 - 1.109130000000000E-006 1.748580000000000E-005 15.2961000000000 - 1.229550000000000E-006 1.944570000000000E-005 15.3460000000000 - 1.363030000000000E-006 2.162490000000000E-005 15.3958000000000 - 1.510990000000000E-006 2.404770000000000E-005 15.4457000000000 - 1.674990000000000E-006 2.674160000000000E-005 15.4955000000000 - 1.856780000000000E-006 2.973660000000000E-005 15.5454000000000 - 2.058280000000000E-006 3.306640000000000E-005 15.5953000000000 - 2.281620000000000E-006 3.676840000000000E-005 15.6451000000000 - 2.529170000000000E-006 4.088410000000000E-005 15.6950000000000 - 2.803560000000000E-006 4.545970000000000E-005 15.7449000000000 - 3.107690000000000E-006 5.054640000000000E-005 15.7947000000000 - 3.444780000000000E-006 5.620120000000000E-005 15.8446000000000 - 3.818410000000000E-006 6.248749999999999E-005 15.8945000000000 - 4.232510000000000E-006 6.947580000000000E-005 15.9443000000000 - 4.691490000000000E-006 7.724410000000000E-005 15.9942000000000 - 5.200190000000000E-006 8.587960000000000E-005 16.0441000000000 - 5.764000000000000E-006 9.547870000000000E-005 16.0939000000000 - 6.388890000000000E-006 1.061490000000000E-004 16.1438000000000 - 7.081460000000000E-006 1.180090000000000E-004 16.1937000000000 - 7.849040000000000E-006 1.311930000000000E-004 16.2435000000000 - 8.699749999999999E-006 1.458470000000000E-004 16.2934000000000 - 9.642569999999999E-006 1.621340000000000E-004 16.3433000000000 - 1.068750000000000E-005 1.802380000000000E-004 16.3932000000000 - 1.184550000000000E-005 2.003600000000000E-004 16.4430000000000 - 1.312900000000000E-005 2.227240000000000E-004 16.4929000000000 - 1.455130000000000E-005 2.475800000000000E-004 16.5428000000000 - 1.612760000000000E-005 2.752060000000000E-004 16.5927000000000 - 1.787460000000000E-005 3.059090000000000E-004 16.6426000000000 - 1.981060000000000E-005 3.400320000000000E-004 16.6924000000000 - 2.195610000000000E-005 3.779550000000000E-004 16.7423000000000 - 2.433380000000000E-005 4.201000000000000E-004 16.7922000000000 - 2.696870000000000E-005 4.669380000000000E-004 16.8421000000000 - 2.988880000000000E-005 5.189890000000000E-004 16.8920000000000 - 3.312480000000000E-005 5.768330000000000E-004 16.9418000000000 - 3.671080000000000E-005 6.411140000000000E-004 16.9917000000000 - 4.068470000000000E-005 7.125470000000000E-004 17.0416000000000 - 4.508840000000000E-005 7.919260000000000E-004 17.0915000000000 - 4.996850000000000E-005 8.801340000000000E-004 17.1414000000000 - 5.537620000000000E-005 9.781519999999999E-004 17.1913000000000 - 6.136880000000000E-005 1.087070000000000E-003 17.2411000000000 - 6.800930000000000E-005 1.208100000000000E-003 17.2910000000000 - 7.536780000000000E-005 1.342580000000000E-003 17.3409000000000 - 8.352190000000000E-005 1.492000000000000E-003 17.3908000000000 - 9.255750000000000E-005 1.658040000000000E-003 17.4407000000000 - 1.025700000000000E-004 1.842520000000000E-003 17.4906000000000 - 1.136640000000000E-004 2.047490000000000E-003 17.5405000000000 - 1.259580000000000E-004 2.275240000000000E-003 17.5904000000000 - 1.395800000000000E-004 2.528280000000000E-003 17.6403000000000 - 1.546750000000000E-004 2.809420000000000E-003 17.6902000000000 - 1.714000000000000E-004 3.121780000000000E-003 17.7401000000000 - 1.899330000000000E-004 3.468810000000000E-003 17.7899000000000 - 2.104680000000000E-004 3.854370000000000E-003 17.8398000000000 - 2.332220000000000E-004 4.282710000000000E-003 17.8897000000000 - 2.584340000000000E-004 4.758600000000000E-003 17.9396000000000 - 2.863690000000000E-004 5.287290000000000E-003 17.9895000000000 - 3.173220000000000E-004 5.874630000000000E-003 18.0394000000000 - 3.516180000000000E-004 6.527120000000000E-003 18.0893000000000 - 3.896180000000000E-004 7.251990000000000E-003 18.1392000000000 - 4.317210000000000E-004 8.057230000000000E-003 18.1891000000000 - 4.783720000000000E-004 8.951770000000000E-003 18.2390000000000 - 5.300590000000000E-004 9.945490000000000E-003 18.2889000000000 - 5.873270000000000E-004 1.104940000000000E-002 18.3388000000000 - 6.507790000000000E-004 1.227560000000000E-002 18.3887000000000 - 7.210800000000000E-004 1.363770000000000E-002 18.4386000000000 - 7.989710000000000E-004 1.515080000000000E-002 18.4885000000000 - 8.852690000000001E-004 1.683140000000000E-002 18.5384000000000 - 9.808820000000000E-004 1.869830000000000E-002 18.5883000000000 - 1.086810000000000E-003 2.077200000000000E-002 18.6382000000000 - 1.204180000000000E-003 2.307530000000000E-002 18.6881000000000 - 1.334210000000000E-003 2.563380000000000E-002 18.7380000000000 - 1.478270000000000E-003 2.847550000000000E-002 18.7879000000000 - 1.637880000000000E-003 3.163180000000000E-002 18.8378000000000 - 1.814710000000000E-003 3.513740000000000E-002 18.8877000000000 - 2.010620000000000E-003 3.903120000000000E-002 18.9376000000000 - 2.227660000000000E-003 4.335580000000000E-002 18.9875000000000 - 2.468110000000000E-003 4.815900000000000E-002 19.0374000000000 - 2.734500000000000E-003 5.349360000000000E-002 19.0874000000000 - 3.029630000000000E-003 5.941840000000000E-002 19.1373000000000 - 3.356590000000000E-003 6.599850000000000E-002 19.1872000000000 - 3.718810000000000E-003 7.330639999999999E-002 19.2371000000000 - 4.120090000000000E-003 8.142260000000000E-002 19.2870000000000 - 4.564650000000000E-003 9.043619999999999E-002 19.3369000000000 - 5.057140000000000E-003 0.100446000000000 19.3868000000000 - 5.602740000000000E-003 0.111563000000000 19.4367000000000 - 6.207160000000000E-003 0.123909000000000 19.4866000000000 - 6.876740000000000E-003 0.137619000000000 19.5365000000000 - 7.618510000000000E-003 0.152844000000000 19.5865000000000 - 8.440240000000000E-003 0.169751000000000 19.6364000000000 - 9.350549999999999E-003 0.188527000000000 19.6863000000000 - 1.035900000000000E-002 0.209376000000000 19.7362000000000 - 1.147610000000000E-002 0.232529000000000 19.7861000000000 - 1.271360000000000E-002 0.258239000000000 19.8360000000000 - 1.408450000000000E-002 0.286788000000000 19.8859000000000 - 1.560310000000000E-002 0.318489000000000 19.9358000000000 - 1.728530000000000E-002 0.353691000000000 19.9857000000000 - 1.914880000000000E-002 0.392779000000000 20.0357000000000 - 2.121310000000000E-002 0.436181000000000 20.0856000000000 - 2.349980000000000E-002 0.484374000000000 20.1355000000000 - 2.603280000000000E-002 0.537885000000000 20.1854000000000 - 2.883870000000000E-002 0.597302000000000 20.2353000000000 - 3.194690000000000E-002 0.663274000000000 20.2852000000000 - 3.538990000000000E-002 0.736524000000000 20.3352000000000 - 3.920370000000000E-002 0.817855000000000 20.3851000000000 - 4.342820000000000E-002 0.908156000000000 20.4350000000000 - 4.810770000000000E-002 1.00842000000000 20.4849000000000 - 5.329120000000000E-002 1.11973000000000 20.5348000000000 - 5.903280000000000E-002 1.24332000000000 20.5848000000000 - 6.539270000000000E-002 1.38054000000000 20.6347000000000 - 7.243740000000000E-002 1.53289000000000 20.6846000000000 - 8.024060000000000E-002 1.70202000000000 20.7345000000000 - 8.888390000000000E-002 1.88980000000000 20.7844000000000 - 9.845780000000000E-002 2.09828000000000 20.8344000000000 - 0.109062000000000 2.32972000000000 20.8843000000000 - 0.120808000000000 2.58667000000000 20.9342000000000 - 0.133819000000000 2.87193000000000 20.9841000000000 - 0.148229000000000 3.18861000000000 21.0340000000000 - 0.164191000000000 3.54017000000000 21.0840000000000 - 0.181870000000000 3.93046000000000 21.1339000000000 - 0.201453000000000 4.36372000000000 21.1838000000000 - 0.223142000000000 4.84469000000000 21.2337000000000 - 0.247166000000000 5.37862000000000 21.2837000000000 - 0.273774000000000 5.97134000000000 21.3336000000000 - 0.303246000000000 6.62930000000000 21.3835000000000 - 0.335888000000000 7.35969000000000 21.4334000000000 - 0.372042000000000 8.17046000000000 21.4834000000000 - 0.412086000000000 9.07046000000000 21.5333000000000 - 0.456437000000000 10.0695000000000 21.5832000000000 - 0.505560000000000 11.1784000000000 21.6331000000000 - 0.559966000000000 12.4094000000000 21.6831000000000 - 0.620224000000000 13.7758000000000 21.7330000000000 - 0.686963000000000 15.2925000000000 21.7829000000000 - 0.760880000000000 16.9760000000000 21.8329000000000 - 0.842747000000000 18.8446000000000 21.8828000000000 - 0.933417000000000 20.9187000000000 21.9327000000000 - 1.03384000000000 23.2209000000000 21.9826000000000 - 1.14506000000000 25.7762000000000 22.0326000000000 - 1.26823000000000 28.6124000000000 22.0825000000000 - 1.40466000000000 31.7604000000000 22.1324000000000 - 1.55574000000000 35.2544000000000 22.1824000000000 - 1.72308000000000 39.1324000000000 22.2323000000000 - 1.90840000000000 43.4366000000000 22.2822000000000 - 2.11364000000000 48.2137000000000 22.3321000000000 - 2.34095000000000 53.5157000000000 22.3821000000000 - 2.59269000000000 59.4002000000000 22.4320000000000 - 2.87149000000000 65.9312000000000 22.4819000000000 - 3.18025000000000 73.1795000000000 22.5319000000000 - 3.52220000000000 81.2239000000000 22.5818000000000 - 3.90089000000000 90.1519000000000 22.6317000000000 - 4.32029000000000 100.060000000000 22.6817000000000 - 4.78475000000000 111.057000000000 22.7316000000000 - 5.29912000000000 123.260000000000 22.7815000000000 - 5.86876000000000 136.804000000000 22.8315000000000 - 6.49961000000000 151.834000000000 22.8814000000000 - 7.19824000000000 168.514000000000 22.9313000000000 - 7.97193000000000 187.025000000000 22.9813000000000 - 8.82874000000000 207.567000000000 23.0312000000000 - 9.77759000000000 230.364000000000 23.0811000000000 - 10.8284000000000 255.662000000000 23.1311000000000 - 11.9920000000000 283.735000000000 23.1810000000000 - 13.2807000000000 314.889000000000 23.2309000000000 - 14.7077000000000 349.460000000000 23.2809000000000 - 16.2881000000000 387.823000000000 23.3308000000000 - 18.0381000000000 430.395000000000 23.3808000000000 - 19.9762000000000 477.635000000000 23.4307000000000 - 22.1223000000000 530.055000000000 23.4806000000000 - 24.4989000000000 588.224000000000 23.5306000000000 - 27.1308000000000 652.771000000000 23.5805000000000 - 30.0452000000000 724.394000000000 23.6304000000000 - 33.2726000000000 803.870000000000 23.6804000000000 - 36.8465000000000 892.057000000000 23.7303000000000 - 40.8041000000000 989.910000000000 23.7803000000000 - 45.1866000000000 1098.49000000000 23.8302000000000 - 50.0396000000000 1218.97000000000 23.8801000000000 - 55.4135000000000 1352.65000000000 23.9301000000000 - 61.3644000000000 1500.97000000000 23.9800000000000 - 67.9541000000000 1665.55000000000 24.0300000000000 - 75.2511000000000 1848.16000000000 24.0799000000000 - 83.3313000000000 2050.78000000000 24.1298000000000 - 92.2787000000000 2275.59000000000 24.1798000000000 - 102.187000000000 2525.02000000000 24.2297000000000 - 113.158000000000 2801.77000000000 24.2797000000000 - 125.306000000000 3108.83000000000 24.3296000000000 - 138.758000000000 3449.51000000000 24.3795000000000 - 153.654000000000 3827.50000000000 24.4295000000000 - 170.148000000000 4246.87000000000 24.4794000000000 - 188.412000000000 4712.15000000000 24.5294000000000 - 208.636000000000 5228.37000000000 24.5793000000000 - 231.030000000000 5801.10000000000 24.6293000000000 - 255.826000000000 6436.52000000000 24.6792000000000 - 283.283000000000 7141.48000000000 24.7291000000000 - 313.685000000000 7923.58000000000 24.7791000000000 - 347.349000000000 8791.28000000000 24.8290000000000 - 384.624000000000 9753.92000000000 24.8790000000000 - 425.897000000000 10821.9000000000 24.9289000000000 - 471.597000000000 12006.7000000000 24.9789000000000 - 522.200000000000 13321.1000000000 25.0288000000000 - 578.230000000000 14779.3000000000 25.0788000000000 - 640.270000000000 16397.0000000000 25.1287000000000 - 708.963000000000 18191.7000000000 25.1786000000000 - 785.023000000000 20182.6000000000 25.2286000000000 - 869.240000000000 22391.2000000000 25.2785000000000 - 962.489000000000 24841.3000000000 25.3285000000000 - 1065.74000000000 27559.4000000000 25.3784000000000 - 1180.06000000000 30574.6000000000 25.4284000000000 - 1306.63000000000 33919.5000000000 25.4783000000000 - 1446.78000000000 37630.0000000000 25.5283000000000 - 1601.96000000000 41746.1000000000 25.5782000000000 - 1773.77000000000 46312.1000000000 25.6282000000000 - 1964.01000000000 51377.2000000000 25.6781000000000 - 2174.64000000000 56995.8000000000 25.7280000000000 - 2407.84000000000 63228.4000000000 25.7780000000000 - 2666.05000000000 70142.0000000000 25.8279000000000 - 2951.94000000000 77811.1000000000 25.8779000000000 - 3268.48000000000 86318.0000000000 25.9278000000000 - 3618.94000000000 95754.4000000000 25.9778000000000 - 4006.96000000000 106222.000000000 26.0277000000000 - 4436.58000000000 117832.000000000 26.0777000000000 - 4912.24000000000 130711.000000000 26.1276000000000 - 5438.88000000000 144996.000000000 26.1776000000000 - 6021.96000000000 160842.000000000 26.2275000000000 - 6667.53000000000 178418.000000000 26.2775000000000 - 7382.29000000000 197913.000000000 26.3274000000000 - 8173.62000000000 219536.000000000 26.3774000000000 - 9049.77000000000 243521.000000000 26.4273000000000 - 10019.8000000000 270124.000000000 26.4773000000000 - 11093.7000000000 299632.000000000 26.5272000000000 - 12282.8000000000 332360.000000000 26.5772000000000 - 13599.2000000000 368661.000000000 26.6271000000000 - 15056.7000000000 408925.000000000 26.6771000000000 - 16670.3000000000 453582.000000000 26.7270000000000 - 18456.8000000000 503113.000000000 26.7770000000000 - 20434.6000000000 558049.000000000 26.8269000000000 - 22624.4000000000 618980.000000000 26.8769000000000 - 25048.7000000000 686558.000000000 26.9268000000000 - 27732.7000000000 761510.000000000 26.9768000000000 - 30704.2000000000 844639.000000000 27.0267000000000 - 33994.0000000000 936837.000000000 27.0767000000000 - 37636.1000000000 1039090.00000000 27.1266000000000 - 41668.4000000000 1152500.00000000 27.1766000000000 - 46132.5000000000 1278280.00000000 27.2265000000000 - 51074.6000000000 1417770.00000000 27.2765000000000 - 56546.1000000000 1572480.00000000 27.3265000000000 - 62603.5000000000 1744060.00000000 27.3764000000000 - 69309.6000000000 1934350.00000000 27.4264000000000 - 76733.8000000000 2145380.00000000 27.4763000000000 - 84953.0000000000 2379430.00000000 27.5263000000000 - 94052.2000000000 2638990.00000000 27.5762000000000 - 104126.000000000 2926850.00000000 27.6262000000000 - 115278.000000000 3246080.00000000 27.6761000000000 - 127624.000000000 3600110.00000000 27.7261000000000 - 141292.000000000 3992740.00000000 27.7760000000000 - 156424.000000000 4428150.00000000 27.8260000000000 - 173175.000000000 4911010.00000000 27.8760000000000 - 191720.000000000 5446500.00000000 27.9259000000000 - 212250.000000000 6040330.00000000 27.9759000000000 - 234977.000000000 6698870.00000000 28.0258000000000 - 260138.000000000 7429170.00000000 28.0758000000000 - 287992.000000000 8239030.00000000 28.1257000000000 - 318827.000000000 9137110.00000000 28.1757000000000 - 352962.000000000 10133000.0000000 28.2256000000000 - 390752.000000000 11237400.0000000 28.2756000000000 - 432586.000000000 12462100.0000000 28.3256000000000 - 478897.000000000 13820200.0000000 28.3755000000000 - 530164.000000000 15326200.0000000 28.4255000000000 - 586919.000000000 16996300.0000000 28.4754000000000 - 649747.000000000 18848100.0000000 28.5254000000000 - 719298.000000000 20901700.0000000 28.5753000000000 - 796292.000000000 23178800.0000000 28.6253000000000 - 881526.000000000 25703900.0000000 28.6752000000000 - 975879.000000000 28503900.0000000 28.7252000000000 - 1080330.00000000 31608700.0000000 28.7752000000000 - 1195950.00000000 35051500.0000000 28.8251000000000 - 1323950.00000000 38869000.0000000 28.8751000000000 - 1465640.00000000 43102100.0000000 28.9250000000000 - 1622500.00000000 47796000.0000000 28.9750000000000 - 1796130.00000000 53000700.0000000 29.0250000000000 - 1988340.00000000 58771800.0000000 29.0749000000000 - 2201110.00000000 65171000.0000000 29.1249000000000 - 2436640.00000000 72266600.0000000 29.1748000000000 - 2697370.00000000 80134200.0000000 29.2248000000000 - 2985990.00000000 88857800.0000000 29.2747000000000 - 3305490.00000000 98530600.0000000 29.3247000000000 - 3659150.00000000 109256000.000000 29.3747000000000 - 4050650.00000000 121148000.000000 29.4246000000000 - 4484030.00000000 134333000.000000 29.4746000000000 - 4963750.00000000 148953000.000000 29.5246000000000 - 5494790.00000000 165163000.000000 29.5745000000000 - 6082620.00000000 183136000.000000 29.6245000000000 - 6733310.00000000 203064000.000000 29.6744000000000 - 7453600.00000000 225159000.000000 29.7244000000000 - 8250920.00000000 249657000.000000 29.7744000000000 - 9133500.00000000 276819000.000000 29.8243000000000 - 10110500.0000000 306934000.000000 29.8743000000000 - 11191900.0000000 340324000.000000 29.9242000000000 - 12389000.0000000 377344000.000000 29.9742000000000 - 13714100.0000000 418389000.000000 30.0242000000000 - 15180800.0000000 463896000.000000 30.0741000000000 - 16804400.0000000 514350000.000000 30.1241000000000 - 18601600.0000000 570288000.000000 30.1740000000000 - 20590900.0000000 632307000.000000 30.2240000000000 - 22793000.0000000 701066000.000000 30.2740000000000 - 25230400.0000000 777299000.000000 30.3239000000000 - 27928500.0000000 861816000.000000 30.3739000000000 - 30915000.0000000 955518000.000000 30.4238000000000 - 34220800.0000000 1059400000.00000 30.4738000000000 - 37879900.0000000 1174580000.00000 30.5238000000000 - 41930200.0000000 1302260000.00000 30.5737000000000 - 46413400.0000000 1443820000.00000 30.6237000000000 - 51375900.0000000 1600760000.00000 30.6737000000000 - 56868800.0000000 1774750000.00000 30.7236000000000 - 62948900.0000000 1967650000.00000 30.7736000000000 - 69678800.0000000 2181490000.00000 30.8235000000000 - 77128000.0000000 2418570000.00000 30.8735000000000 - 85373400.0000000 2681390000.00000 30.9235000000000 - 94500000.0000000 2972760000.00000 30.9734000000000 - 104602000.000000 3295780000.00000 31.0234000000000 - 115784000.000000 3653880000.00000 31.0733000000000 - 128160000.000000 4050860000.00000 31.1233000000000 - 141860000.000000 4490950000.00000 31.1733000000000 - 157023000.000000 4978840000.00000 31.2233000000000 - 173806000.000000 5519700000.00000 31.2732000000000 - 192384000.000000 6119280000.00000 31.3232000000000 - 212946000.000000 6783960000.00000 31.3731000000000 - 235705000.000000 7520800000.00000 31.4231000000000 - 260896000.000000 8337630000.00000 31.4731000000000 - 288779000.000000 9243140000.00000 31.5230000000000 - 319641000.000000 10246900000.0000 31.5730000000000 - 353800000.000000 11359700000.0000 31.6230000000000 - 391609000.000000 12593200000.0000 31.6729000000000 - 433458000.000000 13960600000.0000 31.7229000000000 - 479777000.000000 15476500000.0000 31.7729000000000 - 531045000.000000 17156800000.0000 31.8228000000000 - 587790000.000000 19019400000.0000 31.8728000000000 - 650596000.000000 21084200000.0000 31.9227000000000 - 720113000.000000 23373100000.0000 31.9727000000000 - 797055000.000000 25910300000.0000 32.0227000000000 - 882216000.000000 28722800000.0000 32.0726000000000 - 976474000.000000 31840400000.0000 32.1226000000000 - 1080800000.00000 35296200000.0000 32.1726000000000 - 1196270000.00000 39127000000.0000 32.2225000000000 - 1324070000.00000 43373300000.0000 32.2725000000000 - 1465530000.00000 48080200000.0000 32.3225000000000 - 1622090000.00000 53297700000.0000 32.3724000000000 - 1795370000.00000 59081100000.0000 32.4224000000000 - 1987160000.00000 65491700000.0000 32.4724000000000 - 2199430000.00000 72597600000.0000 32.5223000000000 - 2434380000.00000 80474200000.0000 32.5723000000000 - 2694410000.00000 89204900000.0000 32.6223000000000 - 2982210000.00000 98882400000.0000 32.6722000000000 - 3300750000.00000 109609000000.000 32.7222000000000 - 3653310000.00000 121499000000.000 32.7722000000000 - 4043510000.00000 134678000000.000 32.8221000000000 - 4475370000.00000 149287000000.000 32.8721000000000 - 4953350000.00000 165478000000.000 32.9221000000000 - 5482370000.00000 183426000000.000 32.9720000000000 - 6067880000.00000 203318000000.000 33.0220000000000 - 6715900000.00000 225368000000.000 33.0720000000000 - 7433110000.00000 249807000000.000 33.1219000000000 - 8226900000.00000 276895000000.000 33.1719000000000 - 9105440000.00000 306920000000.000 33.2219000000000 - 10077800000.0000 340198000000.000 33.2718000000000 - 11153900000.0000 377083000000.000 33.3218000000000 - 12344900000.0000 417966000000.000 33.3718000000000 - 13663100000.0000 463279000000.000 33.4218000000000 - 15122000000.0000 513502000000.000 33.4717000000000 - 16736700000.0000 569168000000.000 33.5217000000000 - 18523700000.0000 630865000000.000 33.5717000000000 - 20501500000.0000 699247000000.000 33.6216000000000 - 22690300000.0000 775038000000.000 33.6716000000000 - 25112900000.0000 859040000000.000 33.7216000000000 - 27794000000.0000 952143000000.000 33.7715000000000 - 30761300000.0000 1055330000000.00 33.8215000000000 - 34045300000.0000 1169700000000.00 33.8715000000000 - 37679800000.0000 1296450000000.00 33.9214000000000 - 41702300000.0000 1436940000000.00 33.9714000000000 - 46154100000.0000 1592640000000.00 34.0214000000000 - 51081000000.0000 1765210000000.00 34.0713000000000 - 56533700000.0000 1956470000000.00 34.1213000000000 - 62568400000.0000 2168440000000.00 34.1713000000000 - 69247000000.0000 2403360000000.00 34.2213000000000 - 76638500000.0000 2663730000000.00 34.2712000000000 - 84818700000.0000 2952290000000.00 34.3212000000000 - 93871900000.0000 3272100000000.00 34.3712000000000 - 103891000000.000 3626530000000.00 34.4211000000000 - 114980000000.000 4019340000000.00 34.4711000000000 - 127251000000.000 4454690000000.00 34.5211000000000 - 140832000000.000 4937160000000.00 34.5710000000000 - 155863000000.000 5471870000000.00 34.6210000000000 - 172497000000.000 6064460000000.00 34.6710000000000 - 190906000000.000 6721210000000.00 34.7209000000000 - 211279000000.000 7449050000000.00 34.7709000000000 - 233826000000.000 8255670000000.00 34.8209000000000 - 258778000000.000 9149600000000.00 34.8708000000000 - 286393000000.000 10140300000000.0 34.9208000000000 - 316954000000.000 11238200000000.0 34.9708000000000 - 350775000000.000 12454900000000.0 35.0208000000000 - 388204000000.000 13803300000000.0 35.0707000000000 - 429627000000.000 15297700000000.0 35.1207000000000 - 475469000000.000 16953700000000.0 35.1707000000000 - 526201000000.000 18789000000000.0 35.2207000000000 - 582345000000.000 20822800000000.0 35.2706000000000 - 644478000000.000 23076700000000.0 35.3206000000000 - 713239000000.000 25574500000000.0 35.3706000000000 - 789334000000.000 28342500000000.0 35.4205000000000 - 873547000000.000 31410000000000.0 35.4705000000000 - 966743000000.000 34809300000000.0 35.5205000000000 - 1069880000000.00 38576400000000.0 35.5704000000000 - 1184020000000.00 42751000000000.0 35.6204000000000 - 1310330000000.00 47377200000000.0 35.6704000000000 - 1450110000000.00 52503800000000.0 35.7204000000000 - 1604800000000.00 58184900000000.0 35.7703000000000 - 1775990000000.00 64480500000000.0 35.8203000000000 - 1965440000000.00 71457000000000.0 35.8703000000000 - 2175090000000.00 79188000000000.0 35.9203000000000 - 2407110000000.00 87755200000000.0 35.9702000000000 - 2663860000000.00 97248800000000.0 36.0202000000000 - 2948000000000.00 107769000000000. 36.0702000000000 - 3262440000000.00 119427000000000. 36.1201000000000 - 3610410000000.00 132346000000000. 36.1701000000000 - 3995490000000.00 146661000000000. 36.2201000000000 - 4421630000000.00 162524000000000. 36.2701000000000 - 4893210000000.00 180103000000000. 36.3200000000000 - 5415080000000.00 199582000000000. 36.3700000000000 - 5992600000000.00 221167000000000. 36.4200000000000 - 6631690000000.00 245085000000000. 36.4700000000000 - 7338940000000.00 271589000000000. 36.5199000000000 - 8121590000000.00 300958000000000. 36.5699000000000 - 8987690000000.00 333502000000000. 36.6199000000000 - 9946140000000.00 369564000000000. 36.6698000000000 - 11006800000000.0 409524000000000. 36.7198000000000 - 12180500000000.0 453803000000000. 36.7698000000000 - 13479300000000.0 502868000000000. 36.8198000000000 - 14916700000000.0 557235000000000. 36.8697000000000 - 16507300000000.0 617479000000000. 36.9197000000000 - 18267400000000.0 684233000000000. 36.9697000000000 - 20215200000000.0 758201000000000. 37.0197000000000 - 22370600000000.0 840162000000000. 37.0696000000000 - 24755800000000.0 930980000000000. 37.1196000000000 - 27395300000000.0 1.031610000000000E+015 37.1696000000000 - 30316100000000.0 1.143120000000000E+015 37.2196000000000 - 33548400000000.0 1.266670000000000E+015 37.2695000000000 - 37125100000000.0 1.403570000000000E+015 37.3195000000000 - 41083100000000.0 1.555260000000000E+015 37.3695000000000 - 45463100000000.0 1.723340000000000E+015 37.4194000000000 - 50309800000000.0 1.909580000000000E+015 37.4694000000000 - 55673200000000.0 2.115940000000000E+015 37.5194000000000 - 61608300000000.0 2.344590000000000E+015 37.5694000000000 - 68176000000000.0 2.597940000000000E+015 37.6194000000000 - 75443700000000.0 2.878660000000000E+015 37.6693000000000 - 83486000000000.0 3.189700000000000E+015 37.7193000000000 - 92385500000000.0 3.534330000000000E+015 37.7693000000000 - 102233000000000. 3.916190000000000E+015 37.8192000000000 - 113131000000000. 4.339290000000000E+015 37.8692000000000 - 125190000000000. 4.808080000000000E+015 37.9192000000000 - 138534000000000. 5.327510000000000E+015 37.9692000000000 - 153300000000000. 5.903020000000000E+015 38.0191000000000 - 169640000000000. 6.540690000000000E+015 38.0691000000000 - 187721000000000. 7.247220000000000E+015 38.1191000000000 - 207729000000000. 8.030040000000000E+015 38.1691000000000 - 229869000000000. 8.897390000000000E+015 38.2191000000000 - 254369000000000. 9.858380000000000E+015 38.2690000000000 - 281479000000000. 1.092310000000000E+016 38.3190000000000 - 311477000000000. 1.210290000000000E+016 38.3690000000000 - 344673000000000. 1.341000000000000E+016 38.4189000000000 - 381406000000000. 1.485820000000000E+016 38.4689000000000 - 422053000000000. 1.646270000000000E+016 38.5189000000000 - 467031000000000. 1.824050000000000E+016 38.5689000000000 - 516801000000000. 2.021010000000000E+016 38.6189000000000 - 571874000000000. 2.239240000000000E+016 38.6688000000000 - 632815000000000. 2.481030000000000E+016 38.7188000000000 - 700250000000000. 2.748920000000000E+016 38.7688000000000 - 774868000000000. 3.045710000000000E+016 38.8188000000000 - 857438000000000. 3.374550000000000E+016 38.8687000000000 - 948803000000000. 3.738870000000000E+016 38.9187000000000 - 1.049900000000000E+015 4.142520000000000E+016 38.9687000000000 - 1.161770000000000E+015 4.589730000000000E+016 39.0187000000000 - 1.285560000000000E+015 5.085200000000000E+016 39.0686000000000 - 1.422540000000000E+015 5.634140000000000E+016 39.1186000000000 - 1.574110000000000E+015 6.242310000000000E+016 39.1686000000000 - 1.741830000000000E+015 6.916120000000000E+016 39.2186000000000 - 1.927410000000000E+015 7.662630000000000E+016 39.2685000000000 - 2.132760000000000E+015 8.489690000000000E+016 39.3185000000000 - 2.359990000000000E+015 9.405990000000000E+016 39.3685000000000 - 2.611420000000000E+015 1.042120000000000E+017 39.4185000000000 - 2.889640000000000E+015 1.154590000000000E+017 39.4684000000000 - 3.197490000000000E+015 1.279190000000000E+017 39.5184000000000 - 3.538130000000000E+015 1.417240000000000E+017 39.5684000000000 - 3.915060000000000E+015 1.570180000000000E+017 39.6184000000000 - 4.332130000000000E+015 1.739610000000000E+017 39.6684000000000 - 4.793630000000000E+015 1.927330000000000E+017 39.7183000000000 - 5.304290000000000E+015 2.135300000000000E+017 39.7683000000000 - 5.869330000000000E+015 2.365700000000000E+017 39.8183000000000 - 6.494570000000000E+015 2.620950000000000E+017 39.8683000000000 - 7.186390000000000E+015 2.903730000000000E+017 39.9182000000000 - 7.951890000000000E+015 3.217020000000000E+017 39.9682000000000 - 8.798920000000000E+015 3.564090000000000E+017 40.0182000000000 - 9.736170000000000E+015 3.948600000000000E+017 40.0682000000000 - 1.077320000000000E+016 4.374580000000000E+017 40.1181000000000 - 1.192070000000000E+016 4.846490000000000E+017 40.1681000000000 - 1.319050000000000E+016 5.369300000000000E+017 40.2181000000000 - 1.459540000000000E+016 5.948490000000000E+017 40.2681000000000 - 1.614990000000000E+016 6.590140000000000E+017 40.3181000000000 - 1.787000000000000E+016 7.300980000000000E+017 40.3680000000000 - 1.977330000000000E+016 8.088470000000000E+017 40.4180000000000 - 2.187930000000000E+016 8.960870000000000E+017 40.4680000000000 - 2.420950000000000E+016 9.927330000000000E+017 40.5180000000000 - 2.678790000000000E+016 1.099800000000000E+018 40.5679000000000 - 2.964080000000000E+016 1.218410000000000E+018 40.6179000000000 - 3.279750000000000E+016 1.349810000000000E+018 40.6679000000000 - 3.629030000000000E+016 1.495370000000000E+018 40.7179000000000 - 4.015510000000000E+016 1.656630000000000E+018 40.7679000000000 - 4.443130000000000E+016 1.835280000000000E+018 40.8178000000000 - 4.916290000000000E+016 2.033180000000000E+018 40.8678000000000 - 5.439830000000000E+016 2.252410000000000E+018 40.9178000000000 - 6.019110000000000E+016 2.495280000000000E+018 40.9678000000000 - 6.660070000000000E+016 2.764320000000000E+018 41.0178000000000 - 7.369280000000000E+016 3.062370000000000E+018 41.0677000000000 - 8.153990000000000E+016 3.392540000000000E+018 41.1177000000000 - 9.022250000000000E+016 3.758290000000000E+018 41.1677000000000 - 9.982950000000000E+016 4.163470000000000E+018 41.2177000000000 - 1.104590000000000E+017 4.612320000000000E+018 41.2677000000000 - 1.222210000000000E+017 5.109540000000000E+018 41.3176000000000 - 1.352350000000000E+017 5.660350000000000E+018 41.3676000000000 - 1.496340000000000E+017 6.270520000000000E+018 41.4176000000000 - 1.655660000000000E+017 6.946440000000000E+018 41.4676000000000 - 1.831940000000000E+017 7.695200000000000E+018 41.5175000000000 - 2.026980000000000E+017 8.524640000000000E+018 41.5675000000000 - 2.242800000000000E+017 9.443460000000000E+018 41.6175000000000 - 2.481580000000000E+017 1.046130000000000E+019 41.6675000000000 - 2.745780000000000E+017 1.158880000000000E+019 41.7175000000000 - 3.038110000000000E+017 1.283780000000000E+019 41.7674000000000 - 3.361560000000000E+017 1.422130000000000E+019 41.8174000000000 - 3.719430000000000E+017 1.575390000000000E+019 41.8674000000000 - 4.115400000000000E+017 1.745170000000000E+019 41.9174000000000 - 4.553520000000000E+017 1.933230000000000E+019 41.9674000000000 - 5.038280000000000E+017 2.141550000000000E+019 42.0173000000000 - 5.574630000000000E+017 2.372320000000000E+019 42.0673000000000 - 6.168070000000000E+017 2.627950000000000E+019 42.1173000000000 - 6.824680000000000E+017 2.911110000000000E+019 42.1673000000000 - 7.551170000000000E+017 3.224780000000000E+019 42.2173000000000 - 8.354990000000000E+017 3.572230000000000E+019 42.2672000000000 - 9.244360000000000E+017 3.957110000000000E+019 42.3172000000000 - 1.022840000000000E+018 4.383440000000000E+019 42.3672000000000 - 1.131710000000000E+018 4.855700000000000E+019 42.4172000000000 - 1.252180000000000E+018 5.378810000000000E+019 42.4671000000000 - 1.385460000000000E+018 5.958270000000000E+019 42.5171000000000 - 1.532930000000000E+018 6.600140000000000E+019 42.5671000000000 - 1.696100000000000E+018 7.311130000000000E+019 42.6171000000000 - 1.876620000000000E+018 8.098690000000000E+019 42.6671000000000 - 2.076370000000000E+018 8.971070000000000E+019 42.7171000000000 - 2.297360000000000E+018 9.937390000000000E+019 42.7670000000000 - 2.541880000000000E+018 1.100780000000000E+020 42.8170000000000 - 2.812420000000000E+018 1.219340000000000E+020 42.8670000000000 - 3.111740000000000E+018 1.350670000000000E+020 42.9170000000000 - 3.442920000000000E+018 1.496140000000000E+020 42.9669000000000 - 3.809340000000000E+018 1.657280000000000E+020 43.0169000000000 - 4.214760000000000E+018 1.835760000000000E+020 43.0669000000000 - 4.663310000000000E+018 2.033460000000000E+020 43.1169000000000 - 5.159600000000000E+018 2.252450000000000E+020 43.1669000000000 - 5.708690000000000E+018 2.495020000000000E+020 43.2169000000000 - 6.316210000000000E+018 2.763690000000000E+020 43.2668000000000 - 6.988380000000000E+018 3.061300000000000E+020 43.3168000000000 - 7.732070000000000E+018 3.390940000000000E+020 43.3668000000000 - 8.554890000000000E+018 3.756070000000000E+020 43.4168000000000 - 9.465250000000000E+018 4.160500000000000E+020 43.4668000000000 - 1.047250000000000E+019 4.608470000000000E+020 43.5167000000000 - 1.158690000000000E+019 5.104660000000000E+020 43.5667000000000 - 1.281980000000000E+019 5.654260000000000E+020 43.6167000000000 - 1.418400000000000E+019 6.263010000000000E+020 43.6667000000000 - 1.569330000000000E+019 6.937290000000000E+020 43.7167000000000 - 1.736320000000000E+019 7.684150000000000E+020 43.7666000000000 - 1.921070000000000E+019 8.511380000000001E+020 43.8166000000000 - 2.125480000000000E+019 9.427650000000000E+020 43.8666000000000 - 2.351630000000000E+019 1.044250000000000E+021 43.9166000000000 - 2.601850000000000E+019 1.156660000000000E+021 43.9666000000000 - 2.878680000000000E+019 1.281170000000000E+021 44.0166000000000 - 3.184970000000000E+019 1.419080000000000E+021 44.0665000000000 - 3.523840000000000E+019 1.571830000000000E+021 44.1165000000000 - 3.898760000000000E+019 1.741010000000000E+021 44.1665000000000 - 4.313570000000000E+019 1.928400000000000E+021 44.2165000000000 - 4.772500000000000E+019 2.135950000000000E+021 44.2665000000000 - 5.280260000000000E+019 2.365840000000000E+021 44.3164000000000 - 5.842020000000000E+019 2.620460000000000E+021 44.3664000000000 - 6.463550000000000E+019 2.902480000000000E+021 44.4164000000000 - 7.151190000000000E+019 3.214850000000000E+021 44.4664000000000 - 7.911980000000000E+019 3.560820000000000E+021 44.5164000000000 - 8.753690000000000E+019 3.944010000000000E+021 44.5663000000000 - 9.684940000000000E+019 4.368430000000000E+021 44.6163000000000 - 1.071520000000000E+020 4.838510000000000E+021 44.6663000000000 - 1.185510000000000E+020 5.359160000000000E+021 44.7163000000000 - 1.311630000000000E+020 5.935820000000000E+021 44.7663000000000 - 1.451160000000000E+020 6.574510000000000E+021 44.8163000000000 - 1.605530000000000E+020 7.281920000000000E+021 44.8662000000000 - 1.776310000000000E+020 8.065420000000000E+021 44.9162000000000 - 1.965270000000000E+020 8.933190000000000E+021 44.9662000000000 - 2.174320000000000E+020 9.894310000000001E+021 45.0162000000000 - 2.405610000000000E+020 1.095880000000000E+022 45.0662000000000 - 2.661490000000000E+020 1.213780000000000E+022 45.1161000000000 - 2.944590000000000E+020 1.344360000000000E+022 45.1661000000000 - 3.257800000000000E+020 1.488990000000000E+022 45.2161000000000 - 3.604320000000000E+020 1.649170000000000E+022 45.2661000000000 - 3.987690000000000E+020 1.826570000000000E+022 45.3161000000000 - 4.411840000000000E+020 2.023060000000000E+022 45.3661000000000 - 4.881090000000000E+020 2.240680000000000E+022 45.4160000000000 - 5.400250000000000E+020 2.481700000000000E+022 45.4660000000000 - 5.974620000000001E+020 2.748640000000000E+022 45.5160000000000 - 6.610070000000000E+020 3.044290000000000E+022 45.5660000000000 - 7.313110000000000E+020 3.371730000000000E+022 45.6160000000000 - 8.090900000000001E+020 3.734370000000000E+022 45.6660000000000 - 8.951410000000000E+020 4.136020000000000E+022 45.7159000000000 - 9.903420000000001E+020 4.580850000000000E+022 45.7659000000000 - 1.095670000000000E+021 5.073510000000000E+022 45.8159000000000 - 1.212190000000000E+021 5.619140000000000E+022 45.8659000000000 - 1.341110000000000E+021 6.223440000000000E+022 45.9159000000000 - 1.483730000000000E+021 6.892720000000000E+022 45.9659000000000 - 1.641520000000000E+021 7.633940000000000E+022 46.0158000000000 - 1.816090000000000E+021 8.454860000000000E+022 46.0658000000000 - 2.009230000000000E+021 9.364040000000000E+022 46.1158000000000 - 2.222890000000000E+021 1.037100000000000E+023 46.1658000000000 - 2.459280000000000E+021 1.148610000000000E+023 46.2158000000000 - 2.720800000000000E+021 1.272120000000000E+023 46.2657000000000 - 3.010130000000000E+021 1.408900000000000E+023 46.3157000000000 - 3.330230000000000E+021 1.560380000000000E+023 46.3657000000000 - 3.684350000000000E+021 1.728150000000000E+023 46.4157000000000 - 4.076130000000000E+021 1.913950000000000E+023 46.4657000000000 - 4.509570000000000E+021 2.119730000000000E+023 46.5157000000000 - 4.989090000000000E+021 2.347620000000000E+023 46.5656000000000 - 5.519590000000000E+021 2.600010000000000E+023 46.6156000000000 - 6.106490000000000E+021 2.879530000000000E+023 46.6656000000000 - 6.755800000000000E+021 3.189080000000000E+023 46.7156000000000 - 7.474130000000000E+021 3.531910000000000E+023 46.7656000000000 - 8.268840000000000E+021 3.911580000000000E+023 46.8156000000000 - 9.148040000000000E+021 4.332060000000000E+023 46.8655000000000 - 1.012070000000000E+022 4.797730000000000E+023 46.9155000000000 - 1.119680000000000E+022 5.313440000000000E+023 46.9655000000000 - 1.238720000000000E+022 5.884570000000000E+023 47.0155000000000 - 1.370430000000000E+022 6.517080000000000E+023 47.0655000000000 - 1.516130000000000E+022 7.217559999999999E+023 47.1155000000000 - 1.677330000000000E+022 7.993309999999999E+023 47.1654000000000 - 1.855660000000000E+022 8.852419999999999E+023 47.2154000000000 - 2.052940000000000E+022 9.803840000000000E+023 47.2654000000000 - 2.271200000000000E+022 1.085750000000000E+024 47.3154000000000 - 2.512660000000000E+022 1.202440000000000E+024 47.3654000000000 - 2.779790000000000E+022 1.331660000000000E+024 47.4154000000000 - 3.075320000000000E+022 1.474770000000000E+024 47.4653000000000 - 3.402260000000000E+022 1.633250000000000E+024 47.5153000000000 - 3.763950000000000E+022 1.808770000000000E+024 47.5653000000000 - 4.164090000000000E+022 2.003140000000000E+024 47.6153000000000 - 4.606760000000000E+022 2.218390000000000E+024 47.6653000000000 - 5.096490000000000E+022 2.456760000000000E+024 47.7153000000000 - 5.638270000000000E+022 2.720750000000000E+024 47.7652000000000 - 6.237640000000000E+022 3.013090000000000E+024 47.8152000000000 - 6.900720000000000E+022 3.336840000000000E+024 47.8652000000000 - 7.634270000000000E+022 3.695370000000000E+024 47.9152000000000 - 8.445799999999999E+022 4.092410000000000E+024 47.9652000000000 - 9.343579999999999E+022 4.532100000000000E+024 48.0152000000000 - 1.033680000000000E+023 5.019020000000000E+024 48.0652000000000 - 1.143560000000000E+023 5.558250000000000E+024 48.1151000000000 - 1.265110000000000E+023 6.155390000000000E+024 48.1651000000000 - 1.399580000000000E+023 6.816670000000000E+024 48.2151000000000 - 1.548350000000000E+023 7.548980000000000E+024 48.2651000000000 - 1.712930000000000E+023 8.359940000000000E+024 48.3151000000000 - 1.895000000000000E+023 9.258010000000000E+024 48.3651000000000 - 2.096420000000000E+023 1.025250000000000E+025 48.4150000000000 - 2.319240000000000E+023 1.135380000000000E+025 48.4650000000000 - 2.565750000000000E+023 1.257340000000000E+025 48.5150000000000 - 1 1 2 3 3 4 0 1 1 1 2 2 - 0.000000000000000E+000 0.000000000000000E+000 0.705880000000000 - 0.705880000000000 0.705880000000000 0.705880000000000 - 1.00000000000000 1.00000000000000 3.00000000000000 - 3.00000000000000 3.00000000000000 2.00000000000000 - 8.07131000000004 7.28897545999993 13.1357354599999 - 14.9497831614761 14.9311833068413 2.42492104827388 - 26.1700000000000 19.2500000000000 24.2100000000000 - 20.9200000000000 23.1500000000000 18.0100000000000 - 19.5500000000000 16.9400000000000 19.7300000000000 - 17.0700000000000 18.2100000000000 14.9900000000000 - 16.0100000000000 12.0400000000000 13.2700000000000 - 11.0900000000000 12.1700000000000 10.2600000000000 - 11.0400000000000 8.41000000000000 9.79000000000000 - 7.36000000000000 8.15000000000000 5.63000000000000 - 5.88000000000000 3.17000000000000 3.32000000000000 - 0.820000000000000 1.83000000000000 0.970000000000000 - 2.33000000000000 1.27000000000000 2.92000000000000 - 1.61000000000000 2.91000000000000 1.35000000000000 - 2.40000000000000 0.890000000000000 1.74000000000000 - 0.360000000000000 0.950000000000000 -0.650000000000000 - -4.000000000000000E-002 -1.73000000000000 -0.960000000000000 - -2.87000000000000 -2.05000000000000 -4.05000000000000 - -3.40000000000000 -5.72000000000000 -3.75000000000000 - -4.13000000000000 -2.42000000000000 -2.85000000000000 - -1.01000000000000 -1.33000000000000 0.540000000000000 - -2.000000000000000E-002 1.74000000000000 0.750000000000000 - 2.24000000000000 1.00000000000000 1.98000000000000 - 0.790000000000000 1.54000000000000 0.390000000000000 - 1.08000000000000 0.000000000000000E+000 0.780000000000000 - -0.350000000000000 0.580000000000000 -0.550000000000000 - 0.590000000000000 -0.610000000000000 0.590000000000000 - -0.350000000000000 0.320000000000000 -0.960000000000000 - -0.520000000000000 -2.08000000000000 -2.46000000000000 - -3.64000000000000 -1.55000000000000 -0.960000000000000 - 0.970000000000000 0.880000000000000 2.37000000000000 - 1.75000000000000 2.72000000000000 1.90000000000000 - 2.55000000000000 1.46000000000000 1.93000000000000 - 0.860000000000000 1.17000000000000 8.000000000000000E-002 - 0.390000000000000 -0.760000000000000 -0.390000000000000 - -1.51000000000000 -1.17000000000000 -2.36000000000000 - -1.95000000000000 -3.06000000000000 -2.62000000000000 - -3.55000000000000 -2.95000000000000 -3.75000000000000 - -3.07000000000000 -3.79000000000000 -3.06000000000000 - -3.77000000000000 -3.05000000000000 -3.78000000000000 - -3.12000000000000 -3.90000000000000 -3.35000000000000 - -4.24000000000000 -3.86000000000000 -4.92000000000000 - -5.06000000000000 -6.77000000000000 -7.41000000000000 - -9.18000000000000 -10.1600000000000 -11.1200000000000 - -9.76000000000000 -9.23000000000000 -7.96000000000000 - -7.65000000000000 - -8.32000000000000 -15.9000000000000 -11.5100000000000 - -14.3100000000000 -11.5700000000000 -15.9000000000000 - -13.9100000000000 -16.0300000000000 -12.1300000000000 - -13.8700000000000 -12.2500000000000 -14.4000000000000 - -13.0700000000000 -15.8000000000000 -13.8100000000000 - -14.9800000000000 -12.6300000000000 -13.7600000000000 - -11.3700000000000 -12.3800000000000 -9.23000000000000 - -9.65000000000000 -7.64000000000000 -9.17000000000000 - -8.05000000000000 -9.72000000000000 -8.87000000000000 - -10.7600000000000 -8.64000000000000 -8.89000000000000 - -6.60000000000000 -7.13000000000000 -4.77000000000000 - -5.33000000000000 -3.06000000000000 -3.79000000000000 - -1.72000000000000 -2.79000000000000 -0.930000000000000 - -2.19000000000000 -0.520000000000000 -1.90000000000000 - -0.450000000000000 -2.20000000000000 -1.22000000000000 - -3.07000000000000 -2.42000000000000 -4.37000000000000 - -3.94000000000000 -6.08000000000000 -4.49000000000000 - -4.50000000000000 -3.14000000000000 -2.93000000000000 - -1.04000000000000 -1.36000000000000 0.690000000000000 - 0.210000000000000 2.11000000000000 1.33000000000000 - 3.29000000000000 2.46000000000000 4.30000000000000 - 3.32000000000000 4.79000000000000 3.62000000000000 - 4.97000000000000 3.64000000000000 4.63000000000000 - 3.07000000000000 4.06000000000000 2.49000000000000 - 3.30000000000000 1.46000000000000 2.06000000000000 - 0.510000000000000 0.740000000000000 -1.18000000000000 - -1.26000000000000 -3.54000000000000 -3.97000000000000 - -5.26000000000000 -4.18000000000000 -3.71000000000000 - -2.10000000000000 -1.70000000000000 -8.000000000000000E-002 - -0.180000000000000 0.940000000000000 0.270000000000000 - 1.13000000000000 8.000000000000000E-002 0.910000000000000 - -0.310000000000000 0.490000000000000 -0.780000000000000 - 8.000000000000000E-002 -1.15000000000000 -0.230000000000000 - -1.41000000000000 -0.420000000000000 -1.55000000000000 - -0.550000000000000 -1.66000000000000 -0.660000000000000 - -1.73000000000000 -0.750000000000000 -1.74000000000000 - -0.780000000000000 -1.69000000000000 -0.780000000000000 - -1.60000000000000 -0.750000000000000 -1.46000000000000 - -0.670000000000000 -1.26000000000000 -0.510000000000000 - -1.04000000000000 -0.530000000000000 -1.84000000000000 - -2.42000000000000 -4.52000000000000 -4.76000000000000 - -6.33000000000000 -6.76000000000000 -7.81000000000000 - -5.80000000000000 -5.37000000000000 -3.63000000000000 - -3.35000000000000 -1.75000000000000 -1.88000000000000 - -0.610000000000000 -0.900000000000000 9.000000000000000E-002 - -0.320000000000000 0.550000000000000 -0.130000000000000 - 0.700000000000000 -6.000000000000000E-002 0.490000000000000 - -0.200000000000000 0.400000000000000 -0.220000000000000 - 0.360000000000000 -9.000000000000000E-002 0.580000000000000 - 0.120000000000000 0.750000000000000 0.150000000000000 - 0.700000000000000 0.170000000000000 1.11000000000000 - 0.890000000000000 1.85000000000000 1.62000000000000 - 2.54000000000000 2.29000000000000 3.20000000000000 - 2.91000000000000 3.84000000000000 3.53000000000000 - 4.48000000000000 4.15000000000000 5.12000000000000 - 4.78000000000000 5.75000000000000 5.39000000000000 - 6.31000000000000 5.91000000000000 6.87000000000000 - 6.33000000000000 7.13000000000000 6.61000000000000 - 7.30000000000000 6.31000000000000 6.27000000000000 - 4.83000000000000 4.49000000000000 2.85000000000000 - 2.32000000000000 0.580000000000000 -0.110000000000000 - -0.980000000000000 0.810000000000000 1.77000000000000 - 3.37000000000000 4.13000000000000 5.60000000000000 - 6.15000000000000 7.29000000000000 7.35000000000000 - 7.95000000000000 7.67000000000000 8.16000000000000 - 7.83000000000000 8.31000000000000 8.01000000000000 - 8.53000000000000 8.27000000000000 - 0.000000000000000E+000 5.44000000000000 0.000000000000000E+000 - 2.76000000000000 0.000000000000000E+000 3.34000000000000 - 0.000000000000000E+000 2.70000000000000 0.000000000000000E+000 - 1.90000000000000 0.000000000000000E+000 2.12000000000000 - 0.000000000000000E+000 2.13000000000000 0.000000000000000E+000 - 1.54000000000000 0.000000000000000E+000 1.42000000000000 - 0.000000000000000E+000 1.51000000000000 0.000000000000000E+000 - 1.73000000000000 0.000000000000000E+000 1.44000000000000 - 0.000000000000000E+000 1.45000000000000 0.000000000000000E+000 - 1.37000000000000 0.000000000000000E+000 1.09000000000000 - 0.000000000000000E+000 1.36000000000000 0.000000000000000E+000 - 1.42000000000000 0.000000000000000E+000 1.33000000000000 - 0.000000000000000E+000 1.20000000000000 0.000000000000000E+000 - 1.00000000000000 0.000000000000000E+000 1.16000000000000 - 0.000000000000000E+000 1.28000000000000 0.000000000000000E+000 - 1.38000000000000 0.000000000000000E+000 1.38000000000000 - 0.000000000000000E+000 1.32000000000000 0.000000000000000E+000 - 1.04000000000000 0.000000000000000E+000 1.11000000000000 - 0.000000000000000E+000 1.13000000000000 0.000000000000000E+000 - 1.21000000000000 0.000000000000000E+000 1.43000000000000 - 0.000000000000000E+000 1.15000000000000 0.000000000000000E+000 - 0.990000000000000 0.000000000000000E+000 0.910000000000000 - 0.000000000000000E+000 0.920000000000000 0.000000000000000E+000 - 1.00000000000000 0.000000000000000E+000 1.11000000000000 - 0.000000000000000E+000 1.23000000000000 0.000000000000000E+000 - 0.850000000000000 0.000000000000000E+000 0.980000000000000 - 0.000000000000000E+000 0.720000000000000 0.000000000000000E+000 - 0.800000000000000 0.000000000000000E+000 0.770000000000000 - 0.000000000000000E+000 0.890000000000000 0.000000000000000E+000 - 0.920000000000000 0.000000000000000E+000 0.800000000000000 - 0.000000000000000E+000 0.810000000000000 0.000000000000000E+000 - 0.690000000000000 0.000000000000000E+000 0.700000000000000 - 0.000000000000000E+000 0.760000000000000 0.000000000000000E+000 - 0.730000000000000 0.000000000000000E+000 0.800000000000000 - 0.000000000000000E+000 0.740000000000000 0.000000000000000E+000 - 0.730000000000000 0.000000000000000E+000 0.720000000000000 - 0.000000000000000E+000 0.720000000000000 0.000000000000000E+000 - 0.720000000000000 0.000000000000000E+000 0.710000000000000 - 0.000000000000000E+000 0.690000000000000 0.000000000000000E+000 - 0.680000000000000 0.000000000000000E+000 0.660000000000000 - 0.000000000000000E+000 0.610000000000000 0.000000000000000E+000 - 0.420000000000000 0.000000000000000E+000 0.360000000000000 - 0.000000000000000E+000 0.410000000000000 0.000000000000000E+000 - 0.490000000000000 - 0.000000000000000E+000 5.98000000000000 0.000000000000000E+000 - 2.77000000000000 0.000000000000000E+000 3.16000000000000 - 0.000000000000000E+000 3.01000000000000 0.000000000000000E+000 - 1.68000000000000 0.000000000000000E+000 1.73000000000000 - 0.000000000000000E+000 2.17000000000000 0.000000000000000E+000 - 1.74000000000000 0.000000000000000E+000 1.75000000000000 - 0.000000000000000E+000 1.72000000000000 0.000000000000000E+000 - 1.63000000000000 0.000000000000000E+000 1.41000000000000 - 0.000000000000000E+000 1.29000000000000 0.000000000000000E+000 - 1.47000000000000 0.000000000000000E+000 1.32000000000000 - 0.000000000000000E+000 1.46000000000000 0.000000000000000E+000 - 1.44000000000000 0.000000000000000E+000 1.46000000000000 - 0.000000000000000E+000 1.52000000000000 0.000000000000000E+000 - 1.51000000000000 0.000000000000000E+000 1.47000000000000 - 0.000000000000000E+000 1.45000000000000 0.000000000000000E+000 - 1.28000000000000 0.000000000000000E+000 1.23000000000000 - 0.000000000000000E+000 1.27000000000000 0.000000000000000E+000 - 0.620000000000000 0.000000000000000E+000 0.760000000000000 - 0.000000000000000E+000 1.23000000000000 0.000000000000000E+000 - 1.22000000000000 0.000000000000000E+000 1.40000000000000 - 0.000000000000000E+000 1.36000000000000 0.000000000000000E+000 - 1.30000000000000 0.000000000000000E+000 1.29000000000000 - 0.000000000000000E+000 1.24000000000000 0.000000000000000E+000 - 1.28000000000000 0.000000000000000E+000 1.24000000000000 - 0.000000000000000E+000 1.20000000000000 0.000000000000000E+000 - 0.940000000000000 0.000000000000000E+000 1.00000000000000 - 0.000000000000000E+000 1.05000000000000 0.000000000000000E+000 - 0.540000000000000 0.000000000000000E+000 0.600000000000000 - 0.000000000000000E+000 0.750000000000000 0.000000000000000E+000 - 0.750000000000000 0.000000000000000E+000 0.850000000000000 - 0.000000000000000E+000 0.970000000000000 0.000000000000000E+000 - 1.02000000000000 0.000000000000000E+000 1.05000000000000 - 0.000000000000000E+000 1.06000000000000 0.000000000000000E+000 - 1.07000000000000 0.000000000000000E+000 1.06000000000000 - 0.000000000000000E+000 1.05000000000000 0.000000000000000E+000 - 1.02000000000000 0.000000000000000E+000 0.970000000000000 - 0.000000000000000E+000 0.910000000000000 0.000000000000000E+000 - 0.830000000000000 0.000000000000000E+000 0.740000000000000 - 0.000000000000000E+000 0.660000000000000 0.000000000000000E+000 - 0.610000000000000 0.000000000000000E+000 0.610000000000000 - 0.000000000000000E+000 0.900000000000000 0.000000000000000E+000 - 0.520000000000000 0.000000000000000E+000 0.810000000000000 - 0.000000000000000E+000 0.680000000000000 0.000000000000000E+000 - 0.720000000000000 0.000000000000000E+000 0.770000000000000 - 0.000000000000000E+000 0.680000000000000 0.000000000000000E+000 - 0.670000000000000 0.000000000000000E+000 0.800000000000000 - 0.000000000000000E+000 0.680000000000000 0.000000000000000E+000 - 0.640000000000000 0.000000000000000E+000 0.580000000000000 - 0.000000000000000E+000 0.550000000000000 0.000000000000000E+000 - 0.570000000000000 0.000000000000000E+000 0.570000000000000 - 0.000000000000000E+000 0.550000000000000 0.000000000000000E+000 - 0.600000000000000 0.000000000000000E+000 0.580000000000000 - 0.000000000000000E+000 0.580000000000000 0.000000000000000E+000 - 0.610000000000000 0.000000000000000E+000 0.630000000000000 - 0.000000000000000E+000 0.650000000000000 0.000000000000000E+000 - 0.660000000000000 0.000000000000000E+000 0.650000000000000 - 0.000000000000000E+000 0.650000000000000 0.000000000000000E+000 - 0.640000000000000 0.000000000000000E+000 0.640000000000000 - 0.000000000000000E+000 0.630000000000000 0.000000000000000E+000 - 0.610000000000000 0.000000000000000E+000 0.590000000000000 - 0.000000000000000E+000 0.550000000000000 0.000000000000000E+000 - 0.390000000000000 0.000000000000000E+000 0.360000000000000 - 0.000000000000000E+000 0.400000000000000 0.000000000000000E+000 - 0.400000000000000 0.000000000000000E+000 0.400000000000000 - 0.000000000000000E+000 0.400000000000000 0.000000000000000E+000 - 0.400000000000000 0.000000000000000E+000 0.400000000000000 - 0.000000000000000E+000 0.400000000000000 - 0.360000000000000 0.510000000000000 0.600000000000000 - 0.660000000000000 0.680000000000000 0.690000000000000 - 0.690000000000000 0.770000000000000 0.810000000000000 - 0.850000000000000 0.890000000000000 0.930000000000000 - 0.970000000000000 1.00000000000000 8.000000000000000E-002 - 0.000000000000000E+000 -6.000000000000000E-002 -0.100000000000000 - -0.100000000000000 -0.100000000000000 -0.100000000000000 - 1.00000000000000 1.25992104989487 1.44224957030741 - 1.58740105196820 1.70997594667670 1.81712059283214 - 1.91293118277239 2.00000000000000 2.08008382305190 - 2.15443469003188 2.22398009056932 2.28942848510666 - 2.35133468772076 2.41014226417523 2.46621207433047 - 2.51984209978975 2.57128159065824 2.62074139420890 - 2.66840164872194 2.71441761659491 2.75892417638112 - 2.80203933065539 2.84386697985157 2.88449914061482 - 2.92401773821287 2.96249606840737 3.00000000000000 - 3.03658897187566 3.07231682568585 3.10723250595386 - 3.14138065239139 3.17480210393640 3.20753432999583 - 3.23961180127748 3.27106631018859 3.30192724889463 - 3.33222185164595 3.36197540679896 3.39121144301417 - 3.41995189335339 3.44821724038273 3.47602664488645 - 3.50339806038672 3.53034833532606 3.55689330449006 - 3.58304787101595 3.60882608013869 3.63424118566428 - 3.65930571002297 3.68403149864039 3.70842976926619 - 3.73251115681725 3.75628575422107 3.77976314968462 - 3.80295246076139 3.82586236554478 3.84850113127680 - 3.87087664062780 3.89299641587326 3.91486764116886 - 3.93649718310217 3.95789160968041 3.97905720789639 - 4.00000000000000 4.02072575858906 4.04124002062219 - 4.06154810044568 4.08165510191735 4.10156592970235 - 4.12128529980856 4.14081774942285 4.16016764610381 - 4.17933919638123 4.19833645380841 4.21716332650875 - 4.23582358425489 4.25432086511501 4.27265868169792 - 4.29084042702621 4.30886938006377 4.32674871092222 - 4.34448148576861 4.36207067145484 4.37951913988789 - 4.39682967215818 4.41400496244210 4.43104762169363 - 4.44796018113863 4.46474509558454 4.48140474655716 - 4.49794144527541 4.51435743547400 4.53065489608349 - 4.54683594377634 4.56290263538697 4.57885697021333 - 4.59470089220704 4.61043629205845 4.62606500918274 - 4.64158883361278 4.65700950780383 4.67232872835526 - 4.68754814765360 4.70266937544151 4.71769398031653 - 4.73262349116337 4.74745939852340 4.76220315590460 - 4.77685618103502 4.79141985706278 4.80589553370533 - 4.82028452835046 4.83458812711164 4.84880758583988 - 4.86294413109428 4.87699896107331 4.89097324650875 - 4.90486813152402 4.91868473445873 4.93242414866094 - 4.94608744324870 4.95967566384230 4.97318983326859 - 4.98663095223865 5.00000000000000 5.01329793496458 - 5.02652569531348 5.03968419957949 5.05277434720856 - 5.06579701910089 5.07875307813270 5.09164336965949 - 5.10446872200146 5.11722994691205 5.12992784003009 - 5.14256318131647 5.15513673547577 5.16764925236362 - 5.18010146738029 5.19249410185110 5.20482786339420 - 5.21710344627617 5.22932153175598 5.24148278841779 - 5.25358787249290 5.26563742817144 5.27763208790408 - 5.28957247269421 5.30145919238090 5.31329284591305 - 5.32507402161499 5.33680329744389 5.34848124123936 - 5.36010841096536 5.37168535494483 5.38321261208728 - 5.39469071210959 5.40612017575022 5.41750151497718 - 5.42883523318981 5.44012182541480 5.45136177849642 - 5.46255557128140 5.47370367479843 5.48480655243262 - 5.49586466009501 5.50687844638735 5.51784835276224 - 5.52877481367887 5.53965825675446 5.55049910291155 - 5.56129776652123 5.57205465554262 5.58277017165842 - 5.59344471040698 5.60407866131077 5.61467240800149 - 5.62522632834186 5.63574079454424 5.64621617328617 - 5.65665282582291 5.66705110809706 5.67741137084543 - 5.68773395970313 5.69801921530506 5.70826747338486 - 5.71847906487132 5.72865431598244 5.73879354831717 - 5.74889707894483 5.75896522049240 5.76899828122963 - 5.77899656515213 5.78896037206240 5.79888999764900 - 5.80878573356370 5.81864786749696 5.82847668325146 - 5.83827246081400 5.84803547642573 5.85776600265065 - 5.86746430844261 5.87713065921074 5.88676531688334 - 5.89636853997037 5.90594058362449 5.91548169970072 - 5.92499213681474 5.93447214039994 5.94392195276313 - 5.95334181313905 5.96273195774369 5.97209261982640 - 5.98142402972088 5.99072641489509 6.00000000000000 - 6.00924500691737 6.01846165480645 6.02765016014974 - 6.03681073679769 6.04594359601251 6.05504894651110 - 6.06412699450696 6.07317794375132 6.08220199557340 - 6.09119934891978 6.10017020039306 6.10911474428961 - 6.11803317263662 6.12692567522842 6.13579243966196 - 6.14463365137169 6.15344949366368 6.16224014774904 - 6.17100579277672 6.17974660586564 6.18846276213620 - 6.19715443474113 6.20582179489575 6.21446501190772 - 6.22308425320606 6.23167968436975 6.24025146915571 - 6.24879976952624 6.25732474567597 6.26582655605827 - 6.27430535741117 6.28276130478279 6.29119455155629 - 6.29960524947437 6.30799354866327 6.31635959765638 - 6.32470354341737 6.33302553136292 6.34132570538500 - 6.34960420787280 6.35786117973420 6.36609676041689 - 6.37431108792909 6.38250429885991 6.39067652839931 - 6.39882791035777 6.40695857718556 6.41506865999165 - 6.42315828856237 6.43122759137962 6.43927669563891 - 6.44730572726691 6.45531481093889 6.46330407009565 - 6.47127362696036 6.47922360255497 6.48715411671635 - 6.49506528811226 6.50295723425693 6.51083007152643 - 6.51868391517377 6.52651887934375 6.53433507708757 - 6.54213262037718 6.54991162011937 6.55767218616971 - 6.56541442734614 6.57313845144243 6.58084436524139 - 6.58853227452786 6.59620228410148 6.60385449778925 - 6.61148901845794 6.61910594802623 6.62670538747667 - 6.63428743686750 6.64185219534421 6.64939976115097 - 6.65693023164187 -5.563810000000000E-067 34426700.0000000 - 2.69000000000000 2.29184000000000 2.09819000000000 - 1.97582000000000 1.88867000000000 1.82212000000000 - 1.76892000000000 1.72500000000000 1.68785000000000 - 1.65583000000000 1.62781000000000 1.60300000000000 - 1.58081000000000 1.56078000000000 1.54258000000000 - 1.52592000000000 1.51060000000000 1.49643000000000 - 1.48328000000000 1.47102000000000 1.45955000000000 - 1.44878000000000 1.43865000000000 1.42909000000000 - 1.42005000000000 1.41148000000000 1.40333000000000 - 1.39558000000000 1.38819000000000 1.38113000000000 - 1.37438000000000 1.36791000000000 1.36171000000000 - 1.35575000000000 1.35002000000000 1.34451000000000 - 1.33919000000000 1.33407000000000 1.32912000000000 - 1.32434000000000 1.31971000000000 1.31523000000000 - 1.31089000000000 1.30669000000000 1.30261000000000 - 1.29865000000000 1.29480000000000 1.29106000000000 - 1.28742000000000 1.28388000000000 1.28044000000000 - 1.27708000000000 1.27380000000000 1.27061000000000 - 1.26750000000000 1.26446000000000 1.26149000000000 - 1.25859000000000 1.25576000000000 1.25299000000000 - 1.25028000000000 1.24763000000000 1.24504000000000 - 1.24250000000000 1.24001000000000 1.23758000000000 - 1.23519000000000 1.23285000000000 1.23055000000000 - 1.22830000000000 1.22609000000000 1.22392000000000 - 1.22180000000000 1.21971000000000 1.21765000000000 - 1.21564000000000 1.21366000000000 1.21171000000000 - 1.20979000000000 1.20791000000000 1.20606000000000 - 1.20424000000000 1.20245000000000 1.20069000000000 - 1.19895000000000 1.19724000000000 1.19556000000000 - 1.19391000000000 1.19228000000000 1.19067000000000 - 1.18909000000000 1.18752000000000 1.18599000000000 - 1.18447000000000 1.18298000000000 1.18150000000000 - 1.18005000000000 1.17861000000000 1.17720000000000 - 1.17581000000000 1.17443000000000 1.17307000000000 - 1.17173000000000 1.17040000000000 1.16910000000000 - 1.16781000000000 1.16653000000000 1.16527000000000 - 1.16403000000000 1.16280000000000 1.16159000000000 - 1.16039000000000 1.15921000000000 1.15804000000000 - 1.15688000000000 1.15574000000000 1.15460000000000 - 1.15349000000000 1.15238000000000 1.15129000000000 - 1.15021000000000 1.14914000000000 1.14808000000000 - 1.14703000000000 1.14600000000000 1.14498000000000 - 1.14396000000000 1.14296000000000 1.14197000000000 - 1.14099000000000 1.14001000000000 1.13905000000000 - 1.13810000000000 1.13716000000000 1.13622000000000 - 1.13530000000000 1.13438000000000 1.13348000000000 - 1.13258000000000 1.13169000000000 1.13081000000000 - 1.12994000000000 1.12907000000000 1.12822000000000 - 1.12737000000000 1.12653000000000 1.12569000000000 - 1.12487000000000 1.12405000000000 1.12324000000000 - 1.12244000000000 1.12164000000000 1.12085000000000 - 1.12007000000000 1.11929000000000 1.11852000000000 - 1.11776000000000 1.11700000000000 1.11625000000000 - 1.11551000000000 1.11477000000000 1.11404000000000 - 1.11331000000000 1.11259000000000 1.11188000000000 - 1.11117000000000 1.11047000000000 1.10977000000000 - 1.10908000000000 1.10840000000000 1.10772000000000 - 1.10704000000000 1.10637000000000 1.10571000000000 - 1.10505000000000 1.10439000000000 1.10374000000000 - 1.10310000000000 1.10246000000000 1.10182000000000 - 1.10119000000000 1.10056000000000 1.09994000000000 - 1.09933000000000 1.09871000000000 1.09811000000000 - 1.09750000000000 1.09690000000000 1.09631000000000 - 1.09572000000000 1.09513000000000 1.09455000000000 - 1.09397000000000 1.09339000000000 1.09282000000000 - 1.09225000000000 1.09169000000000 1.09113000000000 - 1.09058000000000 1.09002000000000 1.08948000000000 - 1.08893000000000 1.08839000000000 1.08785000000000 - 1.08732000000000 1.08679000000000 1.08626000000000 - 1.08574000000000 1.08522000000000 1.08470000000000 - 1.08419000000000 1.08368000000000 1.08317000000000 - 1.08267000000000 1.08216000000000 1.08167000000000 - 1.08117000000000 1.08068000000000 1.08019000000000 - 1.07970000000000 1.07922000000000 1.07874000000000 - 1.07826000000000 1.07779000000000 1.07732000000000 - 1.07685000000000 1.07638000000000 1.07592000000000 - 1.07546000000000 1.07500000000000 1.07455000000000 - 1.07409000000000 1.07364000000000 1.07320000000000 - 1.07275000000000 1.07231000000000 1.07187000000000 - 1.07143000000000 1.07100000000000 1.07057000000000 - 1.07014000000000 1.06971000000000 1.06928000000000 - 1.06886000000000 1.06844000000000 1.06802000000000 - 1.06760000000000 1.06719000000000 1.06678000000000 - 1.06637000000000 1.06596000000000 1.06556000000000 - 1.06515000000000 1.06475000000000 1.06435000000000 - 1.06396000000000 1.06356000000000 1.06317000000000 - 1.06278000000000 1.06239000000000 1.06200000000000 - 1.06162000000000 1.06123000000000 1.06085000000000 - 1.06047000000000 1.06010000000000 1.05972000000000 - 1.05935000000000 1.05898000000000 1.05861000000000 - 1.05824000000000 1.05787000000000 1.05751000000000 - 1.05715000000000 1.05679000000000 1.05643000000000 - 1.05607000000000 1.05572000000000 1.05536000000000 - 1.05501000000000 1.05466000000000 1.05431000000000 - 1.05396000000000 1.05362000000000 1.05328000000000 - 1.05293000000000 1.05259000000000 1.05225000000000 - 1.05192000000000 1.05158000000000 1.05125000000000 - 1.05091000000000 1.05058000000000 1.05025000000000 - 1.04992000000000 3.984620000000000E+028 2.171050000000000E-056 - 0.598513000000000 0.434469000000000 0.356520000000000 - 0.308110000000000 0.274114000000000 0.248467000000000 - 0.228183000000000 0.211594000000000 0.197684000000000 - 0.185790000000000 0.175462000000000 0.166378000000000 - 0.158303000000000 0.151061000000000 0.144516000000000 - 0.138561000000000 0.133111000000000 0.128098000000000 - 0.123466000000000 0.119167000000000 0.115163000000000 - 0.111422000000000 0.107915000000000 0.104620000000000 - 0.101514000000000 9.858040000000000E-002 9.580360000000000E-002 - 9.317000000000000E-002 9.066740000000000E-002 8.828530000000000E-002 - 8.601399999999999E-002 8.384519999999999E-002 8.177130000000001E-002 - 7.978550000000000E-002 7.788170000000000E-002 7.605430000000001E-002 - 7.429810000000001E-002 7.260890000000000E-002 7.098230000000000E-002 - 6.941440000000000E-002 6.790180000000000E-002 6.644140000000000E-002 - 6.503000000000000E-002 6.366510000000000E-002 6.234400000000000E-002 - 6.106450000000000E-002 5.982440000000000E-002 5.862170000000000E-002 - 5.745460000000000E-002 5.632120000000000E-002 5.522010000000000E-002 - 5.414960000000000E-002 5.310830000000000E-002 5.209510000000000E-002 - 5.110850000000000E-002 5.014740000000000E-002 4.921080000000000E-002 - 4.829760000000000E-002 4.740690000000000E-002 4.653770000000000E-002 - 4.568910000000000E-002 4.486040000000000E-002 4.405080000000000E-002 - 4.325960000000000E-002 4.248600000000000E-002 4.172940000000000E-002 - 4.098920000000000E-002 4.026480000000000E-002 3.955570000000000E-002 - 3.886130000000000E-002 3.818110000000000E-002 3.751460000000000E-002 - 3.686140000000000E-002 3.622100000000000E-002 3.559300000000000E-002 - 3.497700000000000E-002 3.437260000000000E-002 3.377950000000000E-002 - 3.319730000000000E-002 3.262570000000000E-002 3.206440000000000E-002 - 3.151300000000000E-002 3.097130000000000E-002 3.043890000000000E-002 - 2.991570000000000E-002 2.940130000000000E-002 2.889550000000000E-002 - 2.839810000000000E-002 2.790880000000000E-002 2.742750000000000E-002 - 2.695380000000000E-002 2.648760000000000E-002 2.602880000000000E-002 - 2.557700000000000E-002 2.513210000000000E-002 2.469400000000000E-002 - 2.426250000000000E-002 2.383740000000000E-002 2.341860000000000E-002 - 2.300580000000000E-002 2.259900000000000E-002 2.219800000000000E-002 - 2.180270000000000E-002 2.141300000000000E-002 2.102860000000000E-002 - 2.064950000000000E-002 2.027560000000000E-002 1.990680000000000E-002 - 1.954280000000000E-002 1.918370000000000E-002 1.882930000000000E-002 - 1.847950000000000E-002 1.813430000000000E-002 1.779340000000000E-002 - 1.745690000000000E-002 1.712460000000000E-002 1.679650000000000E-002 - 1.647240000000000E-002 1.615230000000000E-002 1.583610000000000E-002 - 1.552360000000000E-002 1.521500000000000E-002 1.491000000000000E-002 - 1.460850000000000E-002 1.431070000000000E-002 1.401620000000000E-002 - 1.372510000000000E-002 1.343740000000000E-002 1.315290000000000E-002 - 1.287160000000000E-002 1.259350000000000E-002 1.231840000000000E-002 - 1.204630000000000E-002 1.177720000000000E-002 1.151100000000000E-002 - 1.124770000000000E-002 1.098720000000000E-002 1.072940000000000E-002 - 1.047440000000000E-002 1.022200000000000E-002 9.972200000000001E-003 - 9.724999999999999E-003 9.480400000000000E-003 9.238200000000000E-003 - 8.998400000000000E-003 8.761100000000001E-003 8.526100000000000E-003 - 8.293399999999999E-003 8.063000000000001E-003 7.834900000000001E-003 - 7.608900000000000E-003 7.385200000000000E-003 7.163600000000000E-003 - 6.944000000000000E-003 6.726600000000000E-003 6.511200000000000E-003 - 6.297800000000000E-003 6.086400000000000E-003 5.876900000000000E-003 - 5.669300000000000E-003 5.463600000000000E-003 5.259800000000000E-003 - 5.057800000000000E-003 4.857600000000000E-003 4.659200000000000E-003 - 4.462500000000000E-003 4.267600000000000E-003 4.074300000000000E-003 - 3.882800000000000E-003 3.692800000000000E-003 3.504500000000000E-003 - 3.317800000000000E-003 3.132700000000000E-003 2.949200000000000E-003 - 2.767100000000000E-003 2.586600000000000E-003 2.407600000000000E-003 - 2.230100000000000E-003 2.054000000000000E-003 1.879300000000000E-003 - 1.706100000000000E-003 1.534200000000000E-003 1.363700000000000E-003 - 1.194600000000000E-003 1.026800000000000E-003 8.603000000000000E-004 - 6.952000000000000E-004 5.313000000000000E-004 3.687000000000000E-004 - 2.074000000000000E-004 4.730000000000000E-005 -1.116000000000000E-004 - -2.693000000000000E-004 -4.258000000000000E-004 -5.811000000000000E-004 - -7.353000000000000E-004 -8.883000000000000E-004 -1.040200000000000E-003 - -1.190900000000000E-003 -1.340600000000000E-003 -1.489200000000000E-003 - -1.636700000000000E-003 -1.783100000000000E-003 -1.928500000000000E-003 - -2.072800000000000E-003 -2.216100000000000E-003 -2.358400000000000E-003 - -2.499700000000000E-003 -2.640000000000000E-003 -2.779300000000000E-003 - -2.917600000000000E-003 -3.055000000000000E-003 -3.191500000000000E-003 - -3.327000000000000E-003 -3.461600000000000E-003 -3.595300000000000E-003 - -3.728000000000000E-003 -3.859900000000000E-003 -3.990900000000000E-003 - -4.121000000000000E-003 -4.250300000000000E-003 -4.378700000000000E-003 - -4.506300000000000E-003 -4.633000000000000E-003 -4.758900000000000E-003 - -4.884000000000000E-003 -5.008300000000000E-003 -5.131700000000000E-003 - -5.254400000000000E-003 -5.376300000000000E-003 -5.497500000000000E-003 - -5.617800000000000E-003 -5.737400000000000E-003 -5.856300000000000E-003 - -5.974400000000000E-003 -6.091800000000000E-003 -6.208400000000000E-003 - -6.324400000000000E-003 -6.439600000000000E-003 -6.554100000000000E-003 - -6.667900000000000E-003 -6.781100000000000E-003 -6.893500000000000E-003 - -7.005300000000000E-003 -7.116400000000000E-003 -7.226800000000000E-003 - -7.336600000000000E-003 -7.445700000000000E-003 -7.554200000000000E-003 - -7.662100000000000E-003 -7.769300000000000E-003 -7.875900000000000E-003 - -7.981900000000000E-003 -8.087300000000000E-003 -8.192000000000000E-003 - -8.296200000000000E-003 -8.399800000000001E-003 -8.502700000000000E-003 - -8.605099999999999E-003 -8.706900000000000E-003 -8.808200000000000E-003 - -8.908900000000001E-003 -9.009000000000000E-003 -9.108500000000000E-003 - -9.207500000000000E-003 -9.306000000000000E-003 -9.403900000000000E-003 - -9.501300000000001E-003 -9.598100000000000E-003 -9.694500000000000E-003 - -9.790300000000000E-003 -9.885500000000000E-003 -9.980299999999999E-003 - -1.007460000000000E-002 -1.016830000000000E-002 -1.026160000000000E-002 - -1.035440000000000E-002 -1.044660000000000E-002 -1.053840000000000E-002 - -1.062970000000000E-002 -1.072060000000000E-002 -1.081090000000000E-002 - -1.090080000000000E-002 -1.099020000000000E-002 -1.107920000000000E-002 - -1.116770000000000E-002 -1.125580000000000E-002 -1.134340000000000E-002 - -1.143050000000000E-002 -1.151730000000000E-002 -1.160350000000000E-002 - -1.168940000000000E-002 -1.177480000000000E-002 -1.185980000000000E-002 - -1.194440000000000E-002 5.078110000000000E+017 -9.816000000000000E-054 - 0.000000000000000E+000 1.00000000000000 1.00000000000000 - 1.00000000000000 1.00000000000000 2.00000000000000 - 2.00000000000000 2.00000000000000 3.00000000000000 - 3.00000000000000 3.00000000000000 4.00000000000000 - 4.00000000000000 4.00000000000000 5.00000000000000 - 5.00000000000000 5.00000000000000 6.00000000000000 - 6.00000000000000 7.00000000000000 7.00000000000000 - 8.00000000000000 8.00000000000000 9.00000000000000 - 9.00000000000000 10.0000000000000 10.0000000000000 - 11.0000000000000 11.0000000000000 11.0000000000000 - 11.0000000000000 11.0000000000000 12.0000000000000 - 13.0000000000000 13.0000000000000 14.0000000000000 - 14.0000000000000 15.0000000000000 15.0000000000000 - 16.0000000000000 16.0000000000000 17.0000000000000 - 17.0000000000000 18.0000000000000 18.0000000000000 - 18.0000000000000 19.0000000000000 19.0000000000000 - 20.0000000000000 20.0000000000000 21.0000000000000 - 21.0000000000000 22.0000000000000 22.0000000000000 - 23.0000000000000 23.0000000000000 24.0000000000000 - 24.0000000000000 25.0000000000000 25.0000000000000 - 26.0000000000000 26.0000000000000 27.0000000000000 - 27.0000000000000 28.0000000000000 28.0000000000000 - 28.0000000000000 29.0000000000000 29.0000000000000 - 29.0000000000000 30.0000000000000 30.0000000000000 - 30.0000000000000 30.0000000000000 30.0000000000000 - 30.0000000000000 30.0000000000000 30.0000000000000 - 31.0000000000000 31.0000000000000 32.0000000000000 - 32.0000000000000 33.0000000000000 33.0000000000000 - 34.0000000000000 34.0000000000000 35.0000000000000 - 35.0000000000000 36.0000000000000 36.0000000000000 - 36.0000000000000 36.0000000000000 36.0000000000000 - 37.0000000000000 37.0000000000000 37.0000000000000 - 38.0000000000000 38.0000000000000 39.0000000000000 - 40.0000000000000 40.0000000000000 41.0000000000000 - 41.0000000000000 42.0000000000000 42.0000000000000 - 43.0000000000000 43.0000000000000 44.0000000000000 - 44.0000000000000 45.0000000000000 45.0000000000000 - 46.0000000000000 46.0000000000000 47.0000000000000 - 47.0000000000000 47.0000000000000 47.0000000000000 - 48.0000000000000 48.0000000000000 48.0000000000000 - 49.0000000000000 49.0000000000000 49.0000000000000 - 49.0000000000000 49.0000000000000 49.0000000000000 - 49.0000000000000 49.0000000000000 49.0000000000000 - 49.0000000000000 50.0000000000000 50.0000000000000 - 51.0000000000000 51.0000000000000 52.0000000000000 - 52.0000000000000 53.0000000000000 53.0000000000000 - 54.0000000000000 54.0000000000000 54.0000000000000 - 54.0000000000000 55.0000000000000 55.0000000000000 - 55.0000000000000 56.0000000000000 57.0000000000000 - 58.0000000000000 58.0000000000000 59.0000000000000 - 59.0000000000000 60.0000000000000 60.0000000000000 - 61.0000000000000 61.0000000000000 62.0000000000000 - 62.0000000000000 63.0000000000000 63.0000000000000 - 63.0000000000000 64.0000000000000 64.0000000000000 - 65.0000000000000 65.0000000000000 66.0000000000000 - 66.0000000000000 67.0000000000000 67.0000000000000 - 67.0000000000000 67.0000000000000 68.0000000000000 - 68.0000000000000 68.0000000000000 69.0000000000000 - 69.0000000000000 69.0000000000000 70.0000000000000 - 70.0000000000000 71.0000000000000 71.0000000000000 - 72.0000000000000 72.0000000000000 72.0000000000000 - 72.0000000000000 73.0000000000000 73.0000000000000 - 74.0000000000000 74.0000000000000 74.0000000000000 - 74.0000000000000 75.0000000000000 76.0000000000000 - 76.0000000000000 76.0000000000000 76.0000000000000 - 77.0000000000000 77.0000000000000 77.0000000000000 - 78.0000000000000 78.0000000000000 78.0000000000000 - 79.0000000000000 79.0000000000000 79.0000000000000 - 80.0000000000000 80.0000000000000 81.0000000000000 - 81.0000000000000 81.0000000000000 81.0000000000000 - 82.0000000000000 82.0000000000000 82.0000000000000 - 82.0000000000000 83.0000000000000 83.0000000000000 - 84.0000000000000 84.0000000000000 85.0000000000000 - 85.0000000000000 86.0000000000000 86.0000000000000 - 87.0000000000000 87.0000000000000 87.0000000000000 - 87.0000000000000 87.0000000000000 88.0000000000000 - 88.0000000000000 88.0000000000000 89.0000000000000 - 89.0000000000000 90.0000000000000 90.0000000000000 - 90.0000000000000 91.0000000000000 91.0000000000000 - 91.0000000000000 92.0000000000000 92.0000000000000 - 93.0000000000000 93.0000000000000 94.0000000000000 - 94.0000000000000 94.0000000000000 94.0000000000000 - 95.0000000000000 95.0000000000000 96.0000000000000 - 96.0000000000000 8.07131000000004 13.1357354599999 - 14.9497831614761 25.9197974264349 33.7897359197236 - 17.5968624734944 26.1107959337053 31.6087529649761 - 24.9546049697993 33.8297356071101 40.9396800400558 - 25.0298043820859 34.8997272446982 40.9696798055956 - 29.5297692130642 37.9997030171499 45.2696461996415 - 25.3698017248709 34.4297309179072 22.1998264994929 - 26.9497893766366 9.48992583244087 17.9498597146800 - 8.64993239732492 12.8398996510580 -0.189998515085750 - 6.66994787169448 -1.12999116866788 2.65997921120050 - 8.37993450746622 10.6099170792621 16.4098717503008 - 4.12996772265340 -4.14996756634664 -0.839993435115946 - -12.6699009796655 -7.00994521447950 -14.5598862086764 - -12.2999038713406 -22.2398261868793 -18.0998585423793 - -24.4198091494421 -23.1398191530750 -32.2707477912223 - -29.7297676499965 -29.7297676499965 -35.6977210080584 - -32.2197481898045 -41.2856773359488 -39.5716907314384 - -43.2196622210848 -40.1396862923263 -46.8896335387937 - -45.3296457307212 -49.0096169702768 -46.2096388532237 - -52.7895874282986 -52.0495932116488 -55.4775664206696 - -52.9495861778445 -59.0095388168952 -58.9295394421223 - -61.8495166213348 -59.7905327131161 -65.1239910300100 - -66.0204840235594 -63.4695039604870 -65.3894889550377 - -65.9394846566018 -63.3895045857141 -67.3234738401737 - -68.1334675097498 -65.0294917685595 -65.6694867667431 - -62.4595118539786 -62.5495111505981 -58.9095395984290 - -58.0795460851597 -62.8095091186102 -59.5295347529194 - -66.3394815304665 -65.7894858289025 -69.9494533170957 - -66.1594829372274 -72.5694328409098 -70.8594462051380 - -74.2094200237552 -71.0894444076102 -76.7893998601827 - -75.1794124428772 -71.7694390931803 -69.1494595693663 - -64.9194926282467 -69.4594571466114 -66.5494798892455 - -62.7695094312237 -69.0794601164399 -67.3794734025148 - -71.4994412033216 -76.5994013450970 -73.0494290895475 - -76.3594032207781 -75.4094106453494 -80.4993708652782 - -77.1393971248144 -80.0293745384871 -79.5093786024629 - -83.8193449183555 -80.8093684425233 -82.9293518740064 - -82.5293550001417 -86.3253253331180 -83.6393463251163 - -85.1593344458023 -84.9093363996369 -82.6193542967613 - -82.2393572665898 -86.7063223554742 -84.2293417140668 - -83.9803436600860 -85.8413291157417 -83.5993466377299 - -83.4393478881840 -81.0993661760753 -80.4993708652782 - -77.8993911851574 -77.1693968903542 -74.3394190077612 - -73.1194285424738 -70.0794523011018 -77.4793944675994 - -76.3894029863180 -78.9793827445922 -73.8694226809702 - -77.5993935297588 -74.8294151782455 -76.7194004072564 - -71.7294394057938 -75.7494079881344 -73.1794280735535 - -68.9994607416670 -66.0494837969146 -68.3594657434834 - -63.9295003654315 -61.7195176373288 -65.5594876264303 - -67.5394721520607 -70.7094473774387 -67.4694726991344 - -68.6794632425752 -67.4394729335945 -70.1454517852895 - -67.3594735588216 -68.4494650401030 -67.0994755908095 - -69.3674578656226 -66.8594774664907 -67.2394744966622 - -65.9294847347552 -63.5395034134133 -65.5064880406432 - -64.3594970048361 -64.6794945039279 -62.1095145893469 - -63.6105028585243 -62.5825108926920 -62.3155129793873 - -60.2695289695691 -58.7925405128236 -56.0995615595293 - -57.7135489455735 -56.4905585037320 -53.7295800818807 - -53.8495791440401 -52.2895913359676 -49.5896124373807 - -50.9856015271686 -49.6596118903070 -49.1096161887430 - -46.6796351800147 -47.4026295295252 -45.9896405725980 - -43.2686618381332 -41.4796758197731 -41.3596767576137 - -38.5996983279470 -39.8926882227148 -38.6566978824728 - -35.4697227899555 -34.2197325591282 -34.3427315978416 - -35.8747196247435 -33.3867390693049 -32.4167466501829 - -29.6897679626100 -29.4397699164446 -28.4297778099361 - -25.5198005525702 -27.4197857034277 -26.5997921120050 - -23.7398144638721 -23.8598135260315 -22.9798204035291 - -20.1998421301692 -22.2988257257744 -20.9548362295889 - -21.0408355574698 -16.7678689524097 -13.6498933206341 - -9.25092770030669 -10.4918180022536 -7.56194090041284 - -3.13997545983818 -0.185298551817839 1.70998663577175 - 5.96995334243119 5.95995342058457 8.35453470597581 - 10.5299177044892 14.1998890221981 14.3798876154373 - 16.3698720629143 18.3821563361094 21.7098303290086 - 23.7898140731052 27.4597853908141 29.5797688222972 - 28.9407738162983 32.7197442821354 34.5597299019132 - 35.9097193512067 39.1496940295111 38.7319972939778 - 40.6116826034867 44.1496549528203 45.5396440895002 - 47.6396276772901 51.2695993076126 50.5718047611555 - 52.7115880378949 54.3095755489846 57.5195504617491 - 57.7520486446830 59.8025326193320 63.1565064066879 - 65.2894897365716 67.1294753563494 70.4894490968131 - 70.7474470804559 72.9854295897291 7.28897545999993 - 0.000000000000000E+000 14.9311833068413 2.42492104827388 - 11.3899109832984 14.0871899029867 14.9080834873757 - 20.9467362928931 11.3479113115426 12.6075014673426 - 20.1758423177373 13.3693955128365 16.5618705623694 - 23.6568151125452 9.87312283760328 13.6928929845746 - 21.0598354089784 13.2738962592013 15.5998780807247 - 3.79897030953033 8.11993653945414 2.82597791385436 - 3.34997381861717 -5.94895350655329 -2.14998319702296 - -6.88794616795076 -5.62995599964616 -15.0162826417561 - -10.7499159851148 -9.78992348783942 -3.89996952018118 - -2.88997741367272 -9.36992677028145 -20.2498417394023 - -15.0398824573141 -20.7698376754264 -19.0098514304216 - -26.8617900643864 -22.9998202472223 -27.5397847655871 - -27.3997858597344 -34.4197309960606 -31.9797500654857 - -35.8067201561865 -36.6107138726546 -35.4197231807224 - -42.3425690759179 -44.2156544370079 -46.5546361569320 - -44.5386519126537 -49.7326113197873 -49.4686133830366 - -51.8625946731170 -49.9296097801657 -55.1058693256308 - -55.2645680853366 -57.4865507196552 -56.2095606998421 - -60.6609259106458 -61.4365198490695 -62.8965084386758 - -61.5035193254418 -65.5120879968773 -67.0973756072217 - -67.2609743286324 -66.2561821814842 -67.3044739886652 - -70.0057528770922 -68.4164652980092 -69.5593563658592 - -70.1409518204585 -68.5904639381403 -69.7294550364701 - -68.0194684006984 -68.5594641804158 -66.4394807489327 - -66.4094809833928 -63.6795023192660 -69.5694562869243 - -69.4294573810716 -72.6394322938361 -70.1894514414146 - -75.4094106453494 -75.9414064875895 -78.6693851673470 - -75.9594063469134 -80.7063692475032 -79.6883772035174 - -81.7163613540116 -79.5693781335427 -77.9693906380837 - -75.1194129117975 -72.9194301055414 -78.9593829008989 - -75.1394127554907 -73.0694289332407 -76.2794038460052 - -73.1894279954001 -77.8893912633108 -79.9593750855608 - -78.9493829790523 -83.5613469347127 -80.6093700055910 - -82.6993536715342 -82.5393549219883 -86.3323252784107 - -83.7093457780427 -85.0193355399497 -85.1093348365692 - -88.3343096321037 -86.0293276464581 -86.6193230354086 - -87.0393197529666 -90.0188964663850 -88.0923115234155 - -88.7169066419553 -86.4153246297376 -87.4493165486780 - -87.7293143603833 -85.6993302255197 -89.2011028577686 - -89.9452970415939 -87.8203136491875 -88.2393103745608 - -85.9013286468214 -86.0233276933502 -83.5993466377299 - -83.4393478881840 -80.6393697711308 -80.3793718031187 - -82.0993583607371 -79.6093778209291 -82.9293518740064 - -82.6693539059944 -83.7953451059236 -79.4293792276900 - -82.2143574619732 -80.0293745384871 -80.6293698492842 - -77.2393963432806 -74.9994138496380 -70.9494455017576 - -74.0094215868228 -72.0294370611924 -67.8194699637660 - -69.4594571466114 -72.2394354199714 -72.5094333098301 - -71.3694422193156 -73.6814241502537 -70.9444455408343 - -71.2894428445426 -70.7594469866718 -72.4534337474890 - -70.1954513945226 -70.0824522776558 -69.4644571075348 - -70.6904475259302 -68.5614641647851 -67.9424690024794 - -67.4654727303957 -65.7594860633626 -66.3814812022223 - -65.9664844455876 -64.8954928158148 -63.0665071100683 - -63.2855053985092 -62.9845077509260 -60.9165239130453 - -60.1035302669153 -59.2045372929043 -57.3795515558964 - -56.2255605747967 -56.9395549946452 -54.6905725713407 - -53.4895819575619 -52.3815906169565 -50.2996068884906 - -50.4616056224058 -49.7786109602818 -48.4246215422496 - -46.4166372354487 -45.2786461293035 -42.8206653394047 - -43.3696610487840 -42.4976678637589 -41.2046779689911 - -39.0056951549197 -37.9697032516101 -35.5197223991886 - -36.3877156154751 -34.8257278230333 -34.5187302223421 - -32.5137458920951 -31.6917523163031 -32.6517448135784 - -30.4307621714445 -29.9207661572669 -29.1037725423982 - -27.2997866412682 -26.3997936750726 -27.3557862036093 - -25.2768024516973 -24.7028069377014 -23.8368137057843 - -22.2688259602345 -22.4628244440589 -21.7588299460570 - -17.6238622624803 -14.7378848175462 -11.8649072710127 - -8.13493642222407 -5.24295902418203 -1.20899055125617 - -0.540495775809725 1.76898617466680 4.38196575318818 - 8.09893670357625 8.83063098509331 10.5989171652308 - 13.2648963295393 16.3378723130052 17.2346653042099 - 18.8128529700432 21.9871281618153 23.6655150445517 - 27.1847875400321 28.8947741758039 30.7197599128117 - 33.7597361541837 33.8119357462231 35.4469229681452 - 37.4868070256369 40.3486846589206 42.3196692548891 - 42.4416683014178 45.3883452719609 47.3066302797977 - 49.3060146538106 52.2095919611947 52.9525861543984 - 54.7145723837726 57.1696531963359 59.8781320284925 - 61.8968162516693 64.9194926282467 65.5294878608904 - 67.3884733321768 69.8474541142602 72.9494298710813 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 25.1298036005521 11.6799087168503 18.3748563931613 - 15.7699767513357 4.94172137847450 12.4160029639799 - 12.0516058118891 8.66783225743037 0.000000000000000E+000 - 3.12500557683379 3.01989639830399 0.101509206665023 - 5.68155559637471 7.86993849328868 -0.783023880355761 - 3.33137396398246 -1.709986635771748E-002 -4.699963267910651E-002 - -8.02603727331440 -5.15505971115025 -8.41743421439104 - -9.35692687188084 -16.2122732946116 -14.5848860132929 - -16.8480683256196 -18.2118576670614 -15.8898758142766 - -15.0998819883938 -11.2899117648322 -20.5698392384941 - -24.5498081334482 -24.9398050854663 -30.6656603356215 - -26.9077897048808 -29.7977671185535 -29.8027670794768 - -35.0399261489878 -33.0674415647424 -35.0225262849747 - -36.5877140524074 -41.4656759291879 -40.8092810591759 - -43.1378628603794 -44.3301535421517 -44.4976522330826 - -48.5583204973389 -51.4316980407462 -52.1986920463819 - -51.4384979876019 -55.2832679391898 -56.9308550626386 - -57.7095489768348 -56.9083552384838 -60.1785296807649 - -62.1513142626658 -62.2259136796416 -61.6461182109746 - -64.2185981060172 -66.7448783621284 -65.5779874818465 - -65.4224886971316 -65.9090848941880 -68.8977615364869 - -67.8790694979719 -67.0846757064765 -69.3209582290358 - -68.9046614825611 -69.9052536625337 -72.5820327424365 - -71.2929428171889 -73.4215261814601 -71.8555384202797 - -73.2129278117397 -71.2137434361637 -71.7594391713337 - -73.7194238532709 -72.0594368267322 -76.3904029785027 - -77.5853936391736 -79.0243823929020 -77.7583922871201 - -81.4711632703325 -83.2623492714988 -84.5950388559977 - -82.6013544374374 -86.2023262944046 -85.9340283912599 - -83.6653461219176 -82.8913521709893 -80.2793725846526 - -82.3813561568117 -81.2323651366353 -78.4293870430282 - -82.9535516848753 -81.2913646755303 -82.3453564381639 - -86.1883264038194 -83.5153472942183 -84.5993388223917 - -84.9093363996369 -88.0983114765235 -85.9373283654693 - -86.3713249736125 -86.8593211597275 -89.5223003474819 - -87.6053153294852 -87.4553165017859 -88.2253104839755 - -90.5771921030817 -89.0496040417923 -88.5753077486072 - -89.5403002068059 -88.2523102729614 -88.9433048725627 - -91.6528836961225 -90.0659960982826 -91.1010880086261 - -89.5876998363588 -88.3226097235431 -89.2168027350678 - -87.6127152716517 -88.2513102807767 -86.4013247391524 - -86.7033223789202 -84.7293378063978 -84.6293385879316 - -82.3793561724424 -85.2003341253735 -85.2123340315894 - -85.9013286468214 -83.9693437460547 -86.5053239263572 - -86.4243245593996 -86.5593235043289 -82.7693531244606 - -84.9243362824068 -83.2843490995614 -79.9793749292540 - -77.8193918103844 -78.3093879808687 -74.9294143967117 - -72.9194301055414 -75.7594079099811 -75.4394104108893 - -77.4063950381191 -74.3734187420397 -73.5494251818784 - -73.3854264635938 -74.7604157175039 -72.5564329425092 - -71.7254394370552 -71.8244386633367 -72.5354331066313 - -70.8244464786749 -69.4744570293814 -69.5354565526458 - -67.8394698074593 -68.0554681193462 -68.1804671424290 - -66.3784812256683 -64.9364924953859 -64.5174957700126 - -64.9204926204314 -62.5365112521975 -61.3055208728788 - -61.2685211620463 -59.7905327131161 -59.3015365348165 - -59.2495369412141 -57.5455502585503 -55.5615657641812 - -55.1585689137625 -53.3805828094337 -52.8785867327335 - -52.4335902105589 -50.3466065211697 -48.9136177205493 - -48.2366230115332 -48.2276230818713 -46.3466377825223 - -45.6866429406455 -43.8016576725579 -41.9096724591777 - -41.2076779455451 -41.1246785942182 -38.9776953737492 - -38.6986975542286 -36.6977131927202 -36.2827164360856 - -34.4577306990777 -34.7647282997689 -32.8017436412777 - -31.1617564584323 -31.1497565522163 -29.5907687363285 - -29.5567690020500 -29.5137693381096 -27.6717837339625 - -25.9877968949919 -25.7687986065510 -24.3528096730698 - -23.7768141747046 -23.7948140340285 -20.0578432399472 - -18.8788524542309 -18.2678572294025 -14.8008843251799 - -12.4439027459319 -10.3809188689746 -6.66294792640184 - -4.47896499510038 -1.26199013704324 2.23698251708854 - 3.64897148183106 5.21195926645751 8.61693265523108 - 11.4699103580713 12.9568987366635 14.3118881468803 - 17.8248606915973 20.2188419816778 21.6258309854970 - 24.3008100794674 25.8497979735086 26.7577908771815 - 29.5806688152634 30.8610588085045 33.4228387871712 - 35.9337191636386 36.9144114991365 38.1423019026827 - 40.9160802244977 43.4256606111251 44.8689493312475 - 47.4522291418845 48.5847202910140 50.1224082733685 - 52.9317863169575 55.4622665402443 57.1769531392839 - 58.4491431966107 61.0008232542123 62.6155106347858 - 65.4834882203960 67.9894686351585 69.7210551021190 - 71.1692437839463 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 27.9397816394518 22.9217208576002 - 28.9118740421616 15.7027772765264 10.6499167666486 - 17.3378644976670 5.34555822232834 2.86341762124810 - 2.85537768408342 -4.73698297858683 -0.809893670357625 - 0.872493181117456 -1.48736837562233 -7.04294495657334 - -5.73305519388480 -5.18395948528698 -9.52952552295348 - -13.9304911276502 -13.1906969094374 -12.2075045934779 - -17.1941656207311 -21.4910320390045 -21.8935288933309 - -24.4315090580027 -22.9485206481492 -24.0918117128731 - -26.3366941682204 -29.9309660775505 -28.8460745564109 - -29.5215692771499 -31.7615517707925 -34.7147286905358 - -33.2407402103442 -33.5349379110718 -35.5594220889197 - -38.5435987663875 -38.4050998488119 -37.8104044965934 - -41.0661790514155 -41.7552736658659 -44.9306488490412 - -48.4873210522279 -47.9565252006094 -49.2189153345265 - -51.4473979180454 -55.4148669106913 -54.6869725994759 - -55.5538658243593 -57.4781507853041 -60.6036263584647 - -59.3419362190768 -59.8435322989032 -61.1524220694071 - -64.4696961435858 -61.9802155998701 -62.7955092280249 - -62.2106137992162 -66.0006841783031 -62.6533103393660 - -63.7228019808619 -66.8779773219069 -66.9714765911728 - -67.0954756220709 -70.5608485387980 -67.8924693932463 - -68.2314667438467 -70.9484455095729 -70.8591462074826 - -73.0333292153744 -72.2900350245152 -73.9151223238092 - -72.7394315123023 -75.9200066548377 -77.7606922691448 - -77.9753905911917 -77.4973943269233 -79.9839748933035 - -82.4312557668264 -82.1581579011952 -82.7370533768960 - -84.8682367208473 -87.9099129489332 -87.6946146315755 - -86.4800241240852 -86.3488251494576 -84.8213370873867 - -84.2263417375129 -87.2632180031124 -85.6627305115611 - -85.4440322207756 -85.6109309163956 -83.5293471848035 - -85.9688281192861 -86.0181277339899 -86.3263253253027 - -89.0998036494623 -87.2607180226507 -86.9513204407164 - -87.8543133834660 -89.9122972995001 -88.3703093507515 - -87.6013153607466 -88.7213066075678 -90.3482938920126 - -89.2533024498079 -87.9993122502420 -89.3713015275980 - -90.5592922429763 -90.0343963452473 -91.5253846925781 - -90.3981935020273 -87.9663125081481 -89.4823006600955 - -88.4203089599846 -88.5073082800502 -90.3032942437029 - -89.1648031414653 -90.5175925688759 -89.0183042864124 - -90.0652961037533 -88.2843100228706 -88.9916044950819 - -87.0063200108728 -87.3473173458425 -87.4503165408626 - -85.7053301786277 -87.6613148918263 -88.1243112733247 - -87.6643148683803 -86.3573250830272 -87.7323143369373 - -88.2723101166547 -87.2303182602370 -84.3193410106864 - -83.0073512644101 -80.0173746322712 -81.6093621902528 - -80.4303714045365 -77.1193972811212 -76.8393994694158 - -78.1433892782149 -76.8693992349557 -76.0624055419336 - -77.0483978360102 -74.5734171789721 -72.8834303868936 - -73.3624266433466 -73.7034239783163 -72.0704367407635 - -70.0974521604257 -70.7664469319645 -70.4094497220402 - -69.1704594052442 -69.6734554741291 -67.2024747858297 - -66.0464838203606 -65.1674906900428 -65.9394846566018 - -62.9235082276617 -61.8735164337667 -60.5825265233683 - -61.5645188487062 -60.3605282583734 -60.7585251478688 - -57.8205481093323 -56.7255566671276 -56.8705555339035 - -55.8295636696706 -54.5475736889341 -54.5665735404427 - -51.7205957828951 -50.5196051691162 -49.2826148366895 - -49.6236121716592 -46.4396370556959 -45.4296449491874 - -45.7906421278503 -44.1906546323914 -42.7866656051262 - -42.9866640420585 -39.7096896529217 -38.3227004927957 - -38.4796992657876 -36.6997131770895 -35.6977210080584 - -32.7677439069992 -33.3597392803190 -32.2557479084523 - -32.5717454388055 -31.8457511127410 -30.7347597955817 - -30.9637580058692 -28.0797805453045 -27.0597885169494 - -27.1847875400321 -25.9417972544975 -24.7938062265057 - -25.1168037021515 -21.0698353308250 -20.0328434353307 - -17.1498659669506 -17.4748634269657 -16.3728720394683 - -15.9628752437570 -11.6529089278644 -8.62493259270837 - -6.58894850473687 -3.38897351381898 -1.17899078571631 - 0.244998085242151 4.30696633933855 7.04994490186598 - 9.37692671557408 10.2629197911845 14.5178865369206 - 16.6168701325258 19.2558495078484 19.9928437479442 - 22.3028256945130 23.1888187701234 25.8060983150389 - 28.8697743711873 29.8867664229884 32.1652486157404 - 33.7797359978770 34.5967296127457 38.0097029389966 - 39.9506877694252 41.0391792624296 42.8886648079617 - 45.0866476298484 46.1604392377383 49.3886140082636 - 51.4425979555591 53.6955803476022 54.8010717077459 - 58.6845413568801 60.6455260310020 61.8105169261330 - 64.0194996620510 66.1494830153808 67.2424744732161 - 71.1154442044115 73.1694281517069 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 35.0847257988607 0.000000000000000E+000 39.4996912941427 - 25.2298028190182 32.0697493621052 23.1048194266118 - 8.00823741242742 17.6598619811281 10.6919164384044 - 1.95164474711713 5.31895843021633 1.75088631612442 - 6.84394651182564 -2.18578291723385 -0.394096919975231 - -5.47055724541107 -5.199959360241571E-002 -8.91283034267252 - -7.14304417425799 -12.3852032046923 -7.15944404608645 - -16.9491675354889 -20.2043420950002 -24.4393089970431 - -24.3045100505506 -26.5856922222012 -24.4381090064215 - -29.0134732481232 -30.2310637321675 -30.9476581316962 - -28.8017749026303 -33.8059357931151 -34.8465276604742 - -35.1382253807401 -32.1204489658676 -36.1847172019887 - -37.5459065637504 -39.0036951705504 -44.1223551661790 - -42.0007717472004 -44.4724524300291 -45.3286457385366 - -50.2576072167348 -48.2394229896503 -50.7038037295309 - -50.9438018538497 -56.2509603762871 -54.0234777849528 - -56.0362620542402 -56.0985615673446 -60.2238293267301 - -56.3517595885010 -58.3428440273812 -56.5795578081669 - -61.1685219435801 -56.6895569484797 -58.8355401767641 - -56.4095591367744 -61.6205184110473 -62.4495119321319 - -58.7695406925764 -63.1195066958554 -64.3384971689582 - -63.0895069303155 -67.8934693854310 -68.2084669235995 - -72.2121356333301 -72.1684359748604 -75.2586118239024 - -74.6055169280997 -77.0308979727786 -76.0694054872262 - -75.8904068861717 -77.7063926935176 -80.5903701540824 - -78.9863826898848 -79.7513767111511 -81.0943662151520 - -84.5114395093599 -83.0065512706623 -84.2973411826238 - -84.8588367943115 -88.7639062746344 -87.8918130903908 - -88.4554086856662 -87.1160191535302 -86.3664250119077 - -86.7858217341548 -85.6073309445309 -87.5438158101285 - -88.1147113483519 -87.3255175162168 -89.2209027030249 - -87.9509126285043 -86.7763218084005 -88.0233120626739 - -89.3993013087685 -88.4213089521693 -86.9283206204691 - -88.4033090928453 -89.2503024732539 -88.5393080299594 - -86.4083246844450 -88.4043090850300 -88.6573071077495 - -88.3313096555497 -84.8693367122504 -87.0043200265034 - -86.9293206126538 -88.6533071390108 -87.6703148214882 - -87.1883185884812 -89.4033012775072 -86.1393267867710 - -86.1593266304642 -87.9693124847021 -87.3603172442431 - -88.8403056775426 -87.9103129458071 -88.9793045912106 - -87.7333143291219 -88.5043083034962 -86.8963208705600 - -88.4203089599846 -89.2853021997171 -88.0883115546769 - -86.9083207767759 -87.8693132662359 -88.9053051695456 - -87.1293190495862 -86.5233237856811 -86.9653203313016 - -88.0803116171996 -85.4373322731383 -84.5343393303887 - -83.0643508189358 -80.7493689114436 -79.6243777036991 - -80.9223675593901 -79.0393822756719 -79.3343799701471 - -77.1343971638911 -74.7554157565805 -74.6494165850064 - -74.7024161707935 -73.1184285502891 -70.2394510506477 - -71.2554431102641 -70.5264488076456 -69.4244574201483 - -66.4324808036401 -67.3174738870658 -66.3874811553303 - -65.1964904633980 -66.3344815695432 -62.7695094312237 - -61.9775156209716 -60.1605298214410 -61.5815187158455 - -57.4495510088227 -57.0995537441911 -57.8805476404120 - -57.3185520326320 -55.2995678117998 -56.3295597620015 - -55.2695680462599 -51.9795937587225 -52.3495908670474 - -51.4695977445449 -49.7196114213867 -50.4296058724966 - -46.5896358833952 -45.8286418308675 -43.4096607361705 - -44.5796515922248 -43.4896601109434 -44.2326543041472 - -40.2896851200256 -39.1556939826190 -36.8097123174024 - -37.7877046740016 -36.5697141930835 -37.3177083472106 - -33.8697352944965 -31.9697501436390 -31.0197575682103 - -32.2057482992192 -31.0497573337502 -27.3497862505013 - -28.3297785914699 -27.4997850782006 -25.2798024282513 - -26.1597955507538 -25.3268020609304 -21.0398355652851 - -21.5998311886958 -20.8198372846595 -17.5758626376165 - -18.1898578389989 -13.3098959778491 -12.6399012141257 - -12.8878992759218 -11.9759064035102 -8.76093152982238 - -8.66593227227951 -5.70595540568046 -4.32796617521645 - 0.308997585060509 2.97497674936898 5.88095403799628 - 6.64394807489327 11.5599096546909 13.7468925625463 - 16.9338676550636 17.1968655996297 22.3298254834989 - 23.7978140105825 24.3198099309760 26.0287965745630 - 26.8317902988465 29.2207716280036 31.2007561536341 - 31.6067529806068 35.6257215707627 37.2897085660400 - 40.0416870582294 40.3416847136280 42.1596705053432 - 46.0196403381379 46.6396354926282 48.4166216047723 - 51.0896007143734 51.7115958532331 56.0995615595293 - 57.7995482734544 60.9095239677527 61.4645196302400 - 63.3765046873135 64.0956990665223 68.5494642585692 - 70.2194512069544 73.4994255726453 74.0684211257179 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 33.6097373264845 0.000000000000000E+000 - 24.1098115721970 16.4778712188578 25.3198021156378 - 12.9298989476776 17.5678627001392 10.9119147190300 - 18.2098576826921 6.76794710579134 10.7399160632682 - 3.82397011414688 11.2599119992923 -0.589995388950486 - 4.18996725373311 -3.15997530353142 -14.0618901007148 - -19.0439511639186 -26.0148966831962 -21.0028358544526 - -18.3790563603369 -23.0487198650523 -17.4258638099172 - -24.7992061843029 -22.0598275936402 -27.2817867819443 - -20.5268395745536 -28.6432761413614 -25.1218036630748 - -29.3237708230238 -23.8498136041849 -31.8787508548348 - -37.0705102791622 -34.6177294486236 -42.8176653628507 - -37.6127060416858 -42.6253668657402 -40.2276856045765 - -48.3316222690761 -42.6396667539809 -48.0092247887411 - -45.3336456994599 -53.9015787376425 -47.6196278335969 - -51.6612962463446 -47.5896280680570 -54.1835765337172 - -47.7496268176029 -51.7695953999435 -47.5496283806705 - -54.4295746111440 -47.1496315068058 -51.5195973537780 - -56.6495572610933 -54.1695766431319 -56.2995599964616 - -61.5895186533228 -56.4895585115474 -58.9295394421223 - -63.6695023974194 -65.2944896974949 -69.1584594990282 - -70.3024505582814 -73.2409275929102 -73.4574259008895 - -74.4384182340427 -77.8963912086034 -75.4444103718126 - -76.2124043696328 -76.7364002743956 -80.6403697633155 - -77.8343916931544 -79.2383807204196 -79.4293792276900 - -83.6203464736078 -80.6203699196222 -82.6533540310398 - -86.6362229033294 -86.4474243788653 -87.2083184321745 - -88.4116090279780 -87.7114145002778 -88.7942060378297 - -87.2233183149444 -86.4333244890615 -87.6191152216335 - -85.5913310695763 -87.4093168612915 -87.9243128363923 - -87.4773163298485 -85.1493345239557 -87.0743194794298 - -87.1303190417708 -86.9863201671795 -84.0993427300608 - -86.5233237856811 -85.8333291782644 -85.9403283420232 - -81.7393611742588 -84.4423400493998 -82.1893576573567 - -82.4193558598289 -85.3693328045813 -85.1633344145410 - -81.3693640659340 -83.8193449183555 -83.9993435115946 - -82.3493564069026 -85.1593344458023 -85.2893334298084 - -87.4493165486780 -87.1093192058929 -89.1613031688190 - -88.3153097805951 -89.8604977043346 -88.6968067990436 - -89.8803975488094 -88.0653117344297 -87.1743186978959 - -87.5683156186527 -88.9673046849946 -86.6693226446417 - -86.0393275683048 -85.9093285842987 -87.5643156499141 - -84.8533368372958 -84.6923380955653 -86.0173277402422 - -83.7893451528156 -83.9993435115946 -83.7453454966905 - -81.4293635970137 -79.4413791339059 -79.2643805172208 - -76.2344041976954 -76.4384026033664 -75.7644078709043 - -74.1674203519994 -70.8524462598454 -71.3284425397444 - -70.3914498627163 -69.1564595146589 -65.4294886424242 - -66.8894772320305 -65.0294917685595 -64.3894967703759 - -66.0514837812839 -61.6795179499423 -61.5395190440897 - -59.1695375664411 -60.8795242022129 -56.1595610906090 - -56.0995615595293 -53.1495846147768 -55.0995693748674 - -54.5295738296102 -56.1195614032225 -51.5995967285510 - -51.4095982134652 -52.3695907107406 -50.0796086078650 - -49.4496135315280 -50.5696047783493 -46.1196395566041 - -45.7696422919725 -42.8896648001463 -44.2196544057466 - -39.3396925445968 -38.9796953581185 -40.0896866830932 - -39.5096912159893 -36.4897148183106 -37.8297043457574 - -32.8697431098347 -32.4897460796632 -33.4097388895521 - -32.8757430629427 -30.4797617884929 -25.5898000054965 - -27.0197888295629 -26.8097904707839 -27.8497823428323 - -25.1498034442453 -24.6298075082211 -25.8997975827417 - -20.6098389258805 -20.4598400981813 -21.4098326736100 - -17.7798610432875 -17.3598643257296 -18.2498573700786 - -12.9598987132175 -12.7299005107452 -8.68993208471139 - -9.55992528536720 -8.99392970884859 -9.60792491023096 - -4.21996701927297 -3.68997116140219 -3.55597220865751 - -0.964992458198676 2.53098021937912 3.28497432661415 - 8.70093199874267 10.8369153051804 14.4698869120568 - 14.6628854036966 0.000000000000000E+000 21.9588283829894 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 27.1857875322168 28.8797742930340 0.000000000000000E+000 - 33.7577361698144 35.2317246500060 0.000000000000000E+000 - 38.3617001879975 0.000000000000000E+000 44.4596525300654 - 44.6496510451512 47.8896257234555 49.1696157198227 - 49.3976139379256 54.2795757834447 55.7095646075111 - 59.1895374101343 59.3315363003563 64.7994935660873 - 65.9694844221416 66.3794812178530 67.9294691040788 - 71.5394408907081 71.8904381475244 77.2593961869738 - 78.5993857144207 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 4.83996217376331 -7.06994474555921 -13.3288958293577 - -9.38492665305137 -1.47998843329952 -11.1689127104881 - -6.64994802800124 -13.1638971188885 -4.45996514359181 - -14.0798899600387 -9.03992934934304 -15.7798766739638 - -8.01993732098796 -18.0198591676064 -13.4998944929348 - -19.4598479135194 -29.4607697523225 -22.9198208724494 - -29.1697720265859 -24.4698087586752 -34.4297309179072 - -27.2297871883419 -34.2297324809748 -29.4097701509047 - -39.2096935605908 -31.5297535823878 -38.4996991094809 - -32.6297449855159 -42.2596697238094 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -47.0796320538795 0.000000000000000E+000 - -46.6196356489350 -51.1396003236065 -46.4996365867756 - -53.8695789877333 -56.9795546820317 -62.0195152927274 - -64.1594985679037 -69.0994599601332 -70.2354510819090 - -74.1494204926755 -70.8594462051380 -72.1894358107383 - -71.4594415159351 -75.9984060421152 -72.4394338569037 - -73.6914240721003 -73.1294284643204 -77.9393908725438 - -74.4294183043808 -76.4194027518579 -75.2194121302636 - -80.1663734677858 -82.1983575870186 -86.8063215739404 - -86.8023216052018 -84.1553422924019 -86.0123277793189 - -85.8203292798638 -86.0693273338446 -88.2253104839755 - -85.5163316557266 -85.2293338987287 -85.4273323512917 - -82.3293565632093 -84.7993372593241 -83.8493446838953 - -84.3353408856410 -80.5853701931591 -83.4993474192637 - -81.8993599238047 -82.6193542967613 -77.4293948583663 - -80.8393682080632 -77.5493939205257 -78.5393861833410 - -73.0694289332407 -76.6194011887902 -77.6093934516054 - -80.8493681299098 -78.0693898565499 -78.8293839168929 - -82.0493587515040 -77.1493970466610 -78.0093903254702 - -80.8893678172963 -81.5293628154799 -84.0393431989811 - -84.3293409325330 -86.2053262709586 -85.9343283889153 - -87.5623156655448 -86.8623211362815 -86.7253222069828 - -88.4523087098938 -85.5693312415137 -85.2673336017458 - -84.5493392131586 -86.4993239732492 -83.2093496857117 - -83.1273503265695 -82.0493587515040 -84.2193417922202 - -84.2023419250810 -85.9483282795005 -82.9583516473616 - -81.4153637064284 -81.2693648474678 -80.9833670826545 - -77.5343940377558 -76.2674039397893 -75.1304128258287 - -71.0974443450876 -71.6074403592651 -70.1154520197496 - -69.1544595302896 -64.6344948556181 -66.0544837578379 - -63.9295003654315 -63.0895069303155 -58.4295433497913 - -60.1895295947962 -60.1295300637165 -57.3995513995896 - -59.3395362378336 -54.3695750800643 -54.5795734388433 - -51.2595993857659 -53.4795820357152 -47.9496252545353 - -48.3996217376331 -50.0296089986319 -50.1196082952514 - -46.8996334606403 -48.8096185333444 -48.4696211905594 - -43.5796594075630 -45.1496471374821 -44.9696485442430 - -41.6196747256258 -43.3496612050908 -37.8897038768371 - -37.9297035642236 -34.0597338095823 -35.9797188041330 - -35.6297215395014 -37.2097091912671 -31.7297520193202 - -31.6897523319337 -28.0597807016112 -29.8797664776958 - -29.2097717139724 -30.9597580371306 -25.6697993802694 - -22.2898257961124 -22.0698275154868 -23.8098139167984 - -23.5498159487863 -17.7598611995943 -19.4098483042863 - -19.2998491639735 -15.0498823791607 -16.7398691712392 - -16.4098717503008 -10.5199177826426 -11.9699064504022 - -11.9699064504022 -7.59994060342999 -8.96992989641671 - -2.64997928935388 -2.76997835151330 -3.75997061432852 - -3.63997155216910 0.779993904036236 -0.109999140312802 - 0.289997733551934 8.999929661956566E-002 5.94995349873795 - 7.97993763360149 12.1409051139794 12.3619033867897 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 54.2795757834447 0.000000000000000E+000 - 58.0295464759266 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 70.0194527700221 - 70.1304519025195 0.000000000000000E+000 76.9993982189617 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - -2.20998272810267 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 -12.4699025427332 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -57.5095505399024 -60.6095263123542 - -65.1094911433324 -67.0894756689629 -65.4594884079641 - -70.3894498783470 0.000000000000000E+000 -67.9094692603856 - 0.000000000000000E+000 -71.4394416722419 0.000000000000000E+000 - -69.3394580844520 0.000000000000000E+000 -72.9194301055414 - 0.000000000000000E+000 -70.9694453454508 -75.9794061906067 - -78.9353830884670 -83.6093465595765 -82.5703546797128 - -83.4513477943999 -86.0743272947679 -82.5593547656816 - -83.1673500139560 -82.1113582669530 -77.9293909506972 - -81.3293643785475 -79.4293792276900 -80.5993700837443 - -75.8494072066006 -79.3393799310704 -76.9893982971151 - -78.3993872774883 -72.3994341695173 -76.1194050964593 - -71.7594391713337 -73.4694258071054 -67.4394729335945 - -71.4394416722419 -67.0894756689629 -68.6994630862685 - -73.2694273701730 -74.4794179136139 -68.6694633207286 - -72.5294331535233 -73.6394244784979 -70.5694484715861 - -74.2594196329883 -75.3894108016562 -78.7493845421199 - -79.4593789932298 -82.5593547656816 -82.7593532026139 - -85.4813319292635 -85.1153347896772 -87.3023176975327 - -83.7693453091224 -83.7393455435825 -82.1693578136634 - -84.7693374937842 -80.9893670357625 -81.3993638314738 - -79.4093793839968 -82.0293589078108 -77.4993943112926 - -78.1793889968627 -80.4693710997383 -81.0593664886888 - -79.5103785946476 -81.9633594236231 -80.6553696460854 - -77.1103973514592 -75.2064122318630 -70.6394479245124 - -71.4334417191339 -69.1394596475197 -68.6004638599869 - -63.7095020848059 -64.9534923625252 -62.4395120102853 - -62.0565150035598 -56.9395549946452 -58.4895428808711 - -55.5295660142720 -55.2895678899532 -57.5495502272889 - -52.0795929771887 -52.3395909452007 -48.7696188459580 - -51.2795992294592 -45.3596454962611 -46.0996397129109 - -41.9496721465642 -44.4996522174519 -44.8896491694700 - -46.9196333043336 -41.0996787896016 -41.5096755853130 - -43.3696610487840 -39.6196903563021 -39.7096896529217 - -41.8096732407116 -35.8197200545871 -36.2697165376850 - -32.0097498310255 -34.1197333406620 -27.6397839840533 - -28.1797797637707 -30.0097654617018 -30.2197638204808 - -26.1397957070605 -28.3497784351632 -21.9298286096342 - -22.2898257961124 -24.0198122755774 -24.1598111814301 - -20.2298418957090 -13.6698931643274 -15.5598783933382 - -15.9798751108962 -17.6798618248213 -13.2098967593829 - -13.2298966030762 -15.0698822228539 -8.46993380408579 - -8.66993224101816 -10.5199177826426 -5.87995404581162 - -5.99995310797104 -7.76993927482250 -1.03999187204831 - -1.17999077790097 3.69997108324881 1.92998491639735 - 1.96998460378383 0.609995232643723 7.39994216649762 - 7.17994388587201 6.16995177936356 6.13995201382370 - 10.8699150472742 10.3899187986365 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -57.9595470230003 -63.8495009906585 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 -77.3093957962069 - 0.000000000000000E+000 -78.3393877464086 -79.6323776411763 - -77.7593922793047 -81.2693648474678 -76.5094020484774 - 0.000000000000000E+000 -75.5294097075088 -70.1294519103349 - -74.0994208834424 -71.1494439386900 -73.0894287769339 - -66.1894827027672 -70.3994498001936 -65.3194895021114 - -67.4694726991344 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -62.6295105253711 -66.8494775446440 - 0.000000000000000E+000 -64.5294956762286 -69.0494603509001 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - -77.7593922793047 -78.6793850891936 -81.1193660197685 - -81.5993622684062 -79.4693789150765 -82.3393564850560 - -77.9693906380837 -78.4693867304146 -76.2894037678518 - -79.1893811033712 -74.2094200237552 -75.0294136151779 - -72.2994349510511 -75.4794100982757 -75.9094067376803 - -78.9773827602228 -74.4094184606875 -75.6354088790830 - -77.9353909038052 -75.9094067376803 -70.5094489405064 - -67.7694703545329 -67.5294722302141 -62.0395151364206 - -63.4395041949472 -60.4095278754218 -60.3095286569556 - -54.5295738296102 -56.4495588241609 -53.0595853181573 - -53.2695836769363 -47.2296308815787 -49.4896132189145 - -49.9296097801657 -46.1296394784507 -48.7596189241114 - -42.3696688641222 -43.0796633152321 -38.6696977808734 - -41.4796758197731 -34.6497291985328 -35.6997209924277 - -38.1297020011560 -38.9196958270388 -34.1597330280485 - -36.8397120829422 -37.4097076281995 -30.8897585842043 - -33.1597408433866 -33.8397355289567 -29.3497706198250 - -31.6297528008540 -24.7498065703806 -25.6297996928830 - -20.7898375191197 -23.2098186060013 -23.6898148546390 - -26.0397964885943 -19.1098506488878 -19.8598447873842 - -14.9398832388479 -17.4998632315822 -17.8598604180605 - -20.2198419738624 -13.0498980098370 0.000000000000000E+000 - -8.30993505453990 -10.8099155161945 -11.0599135623600 - -4.04996834788045 -6.02995287351090 -6.66994787169448 - 0.000000000000000E+000 -3.73997077063528 -3.94996912941427 - 3.15997530353142 1.22999038713406 0.869993200655801 - 5.97995326427781 3.95996905126089 0.000000000000000E+000 - 0.000000000000000E+000 9.11992872411599 8.85993075610391 - 0.000000000000000E+000 0.000000000000000E+000 12.2399043402609 - 10.8699150472742 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - -69.8794538641694 -71.4794413596284 -68.5094645711827 - -71.9394377645728 -72.9394299492347 -67.8094700419194 - -64.2094981771368 0.000000000000000E+000 -61.5295191222431 - -57.9395471793070 -58.1995451473191 -51.8095950873300 - -53.8695789877333 -50.0496088423251 -50.4496057161899 - -43.8096576100352 -46.4696368212357 -42.2196700364229 - -42.7996655035268 -45.7496424482792 -38.8396964522659 - -39.7096896529217 -34.8497276354651 -38.0397027045364 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 -30.5497612414192 -33.5297379517115 - -26.1797953944470 -27.3197864849615 -29.9097662432357 - -24.9298051636197 -25.6397996147296 -28.5397769502489 - -21.1898343929844 -22.4098248582718 -16.7998687023189 - -19.8598447873842 0.000000000000000E+000 0.000000000000000E+000 - -15.8298762831969 -16.8998679207851 -11.7399082479300 - -14.3298880062042 0.000000000000000E+000 0.000000000000000E+000 - -9.86992286261236 -10.8499152035810 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 6.27995091967636 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 - 0.130000000000000 0.250000000000000 0.380000000000000 - 0.500000000000000 0.630000000000000 0.750000000000000 - 0.880000000000000 1.00000000000000 1.13000000000000 - 1.25000000000000 1.38000000000000 1.50000000000000 - 1.63000000000000 1.75000000000000 1.88000000000000 - 2.00000000000000 2.13000000000000 2.25000000000000 - 2.38000000000000 3.94000000000000 2.63000000000000 - 2.75000000000000 2.88000000000000 3.55000000000000 - 4.35000000000000 3.25000000000000 3.38000000000000 - 3.96000000000000 3.63000000000000 3.75000000000000 - 3.88000000000000 4.82000000000000 4.44000000000000 - 4.43000000000000 4.43000000000000 4.42000000000000 - 4.63000000000000 5.66000000000000 5.81000000000000 - 5.95000000000000 5.49000000000000 6.18000000000000 - 7.11000000000000 6.96000000000000 7.20000000000000 - 7.73000000000000 6.41000000000000 6.85000000000000 - 6.77000000000000 6.91000000000000 7.26000000000000 - 7.20000000000000 6.86000000000000 8.06000000000000 - 7.81000000000000 7.82000000000000 8.41000000000000 - 8.13000000000000 7.19000000000000 8.35000000000000 - 8.13000000000000 8.02000000000000 8.93000000000000 - 8.90000000000000 9.69000000000000 9.65000000000000 - 10.5500000000000 9.38000000000000 9.72000000000000 - 10.6600000000000 11.9800000000000 12.7600000000000 - 12.1000000000000 12.8600000000000 13.0300000000000 - 12.8100000000000 12.5400000000000 12.6500000000000 - 12.0000000000000 12.6900000000000 14.0500000000000 - 13.3300000000000 13.2800000000000 13.2300000000000 - 13.1700000000000 8.66000000000000 11.0900000000000 - 10.4000000000000 13.4700000000000 10.1700000000000 - 12.2200000000000 11.6200000000000 12.9500000000000 - 13.1500000000000 13.5700000000000 12.8700000000000 - 16.1600000000000 14.7100000000000 15.6900000000000 - 14.0900000000000 18.5600000000000 16.2200000000000 - 16.6700000000000 17.1300000000000 17.0000000000000 - 16.8600000000000 15.3300000000000 15.6100000000000 - 16.7700000000000 17.9300000000000 17.4500000000000 - 16.9700000000000 17.8800000000000 17.5800000000000 - 15.7800000000000 16.8300000000000 17.4900000000000 - 16.0300000000000 15.0800000000000 16.7400000000000 - 17.7400000000000 17.4300000000000 18.1400000000000 - 17.0600000000000 19.0100000000000 17.0200000000000 - 17.0200000000000 17.0200000000000 18.5100000000000 - 17.2000000000000 16.7500000000000 16.9700000000000 - 16.9400000000000 16.9100000000000 17.6900000000000 - 15.5500000000000 14.5600000000000 14.3500000000000 - 16.5500000000000 18.2900000000000 17.8000000000000 - 17.0500000000000 21.3100000000000 19.1500000000000 - 19.5100000000000 19.8700000000000 20.3900000000000 - 20.9000000000000 21.8500000000000 22.8900000000000 - 25.6800000000000 24.6400000000000 24.9100000000000 - 23.2400000000000 22.8500000000000 22.4600000000000 - 21.9800000000000 21.6400000000000 21.7500000000000 - 21.8500000000000 21.7700000000000 21.6900000000000 - 23.7400000000000 21.3500000000000 23.0300000000000 - 20.6600000000000 21.8100000000000 20.7700000000000 - 22.1800000000000 22.5800000000000 22.5500000000000 - 21.4500000000000 21.1600000000000 21.0200000000000 - 20.8700000000000 22.0900000000000 22.0000000000000 - 21.2800000000000 23.0500000000000 21.7000000000000 - 21.4500000000000 22.2800000000000 23.0000000000000 - 22.1100000000000 23.5600000000000 22.8300000000000 - 24.8800000000000 22.6400000000000 23.2700000000000 - 23.8900000000000 23.9200000000000 23.9400000000000 - 21.1600000000000 22.3000000000000 21.7500000000000 - 21.1900000000000 20.7200000000000 20.2400000000000 - 21.3400000000000 19.0000000000000 17.9300000000000 - 17.8500000000000 15.7000000000000 13.5400000000000 - 11.7800000000000 10.0200000000000 10.9800000000000 - 10.2800000000000 11.7200000000000 13.8100000000000 - 14.4600000000000 15.3000000000000 16.1500000000000 - 16.9900000000000 17.8400000000000 18.6800000000000 - 19.5300000000000 20.3700000000000 21.2200000000000 - 22.0600000000000 22.9100000000000 23.7500000000000 - 24.6000000000000 25.4400000000000 26.2900000000000 - 27.1300000000000 27.9800000000000 28.8200000000000 - 29.6700000000000 30.7100000000000 30.5300000000000 - 31.4500000000000 29.6300000000000 30.1500000000000 - 30.6500000000000 30.2700000000000 29.5200000000000 - 30.0800000000000 29.8000000000000 29.8700000000000 - 32.4512260786668 32.5858784690347 32.7205308594026 - 32.8551832497705 32.9898356401384 33.1244880305063 - 33.2591404208742 33.3937928112421 33.5284452016101 - 33.6630975919780 - 0.100000000000000 0.900000000000000 F T F - 0.178441146042939 0.176854755447340 0.175457523511159 - 0.178440798291086 0.177847580665707 0.177178950695165 - 0.176542728233259 0.175967661944468 0.175456823596599 - 0.175005168033411 0.174605505760961 0.174250735402598 - 0.173934480416989 0.173651244352414 0.173396399197021 - 0.176284676038272 0.176005252123378 0.175741801502665 - 0.175493821420086 0.175260563010190 0.175041152196171 - 0.174834694659134 0.174640301295590 0.174457108584218 - 0.174284274484268 0.174121060727579 0.173966751275695 - 0.173820693656522 0.173682295461442 0.173550990323865 - 0.173426281108896 0.173307698178998 0.173194833498812 - 0.173087290981306 0.172984722514601 0.172886786445479 - 0.172793190434770 0.172703651742762 0.172617938672571 - 0.172535787912517 0.172457013428583 0.172381393903792 - 0.172308745673507 0.172238919838372 0.172171736659333 - 0.172107057186978 0.172044744904835 0.171984673531151 - 0.171926718099366 0.171870789914284 0.171816765250475 - 0.171764562450018 0.171714071153700 0.171665228454992 - 0.171617948837318 0.171572158885393 0.171527796465106 - 0.171484782600370 0.171443063233302 0.171402581095653 - 0.171363282082134 0.171325108165235 0.171288031882564 - 0.171251987132930 0.171216938064970 0.171182837032322 - 0.171149666076201 0.171117361544088 0.171085916272709 - 0.171055270179356 0.171025419508950 0.170996314310324 - 0.170967926663031 0.170940243344760 0.170913232205649 - 0.170886875980471 0.170861138037182 0.170836003406656 - 0.170811450916359 0.170787454244663 0.170764013982761 - 0.170741085618302 0.170718671627445 0.170696755166074 - 0.170675300794188 0.170654319456517 0.170633776821819 - 0.170613665685691 0.170593965931055 0.170574684426576 - 0.170555782619628 0.170537268427738 0.170519130476294 - 0.170501344654811 0.170483900681757 0.170466801495381 - 0.170450037279425 0.170433579262678 0.170417444570396 - 0.170401604974142 0.170386052236448 0.170370791270107 - 0.170355814336234 0.170341094662250 0.170326650782861 - 0.170312456565112 0.170298505345497 0.170284809827809 - 0.170271338174411 0.170258110004008 0.170245100286411 - 0.170232309760820 0.170219733138796 0.170207365023389 - 0.170195200380670 0.170183227927957 0.170171455642058 - 0.170159878853221 0.170148480521709 0.170137262548154 - 0.170126214451279 0.170115344811094 0.170104649766787 - 0.170094112839613 0.170083730213538 0.170073517430401 - 0.170063451920238 0.170053530360435 0.170043762084085 - 0.170034143891283 0.170024660091918 0.170015313939387 - 0.170006102636771 0.169997023222620 0.169988072979511 - 0.169979242956101 0.169970549313136 0.169961970825056 - 0.169953504917733 0.169945161748312 0.169936932719445 - 0.169928815557190 0.169920808009674 0.169912914235195 - 0.169905119655493 0.169897422161807 0.169889838489013 - 0.169882341748084 0.169874948835945 0.169867651572232 - 0.169860448196458 0.169853343127943 0.169846316142078 - 0.169839390288340 0.169832545363639 0.169825779791752 - 0.169819110606634 0.169812517715288 0.169805999652889 - 0.169799573531819 0.169793213216579 0.169786942051128 - 0.169780733957195 0.169774612417112 0.169768557503757 - 0.169762568109508 0.169756655207108 0.169750817692467 - 0.169745035930372 0.169739333332254 0.169733690356599 - 0.169728105889472 0.169722597391865 0.169717139122623 - 0.169711754746491 0.169706418591380 0.169701148180695 - 0.169695942518575 0.169690782287533 0.169685691105419 - 0.169680643521851 0.169675663171359 0.169670730807017 - 0.169665851795987 0.169661025223985 0.169656250313439 - 0.169651526273317 0.169646852299504 0.169642221592594 - 0.169637651703675 0.169633117456545 0.169628642544881 - 0.169624207987350 0.169619819190840 0.169615469398103 - 0.169611176200974 0.169606920700169 0.169602708317220 - 0.169598538512418 0.169594410564779 0.169590323957695 - 0.169586272035110 0.169582266304065 0.169578306192436 - 0.169574373008326 0.169570490429236 0.169566633679605 - 0.169562820437863 0.169559044050722 0.169555304116932 - 0.169551606109689 0.169547937468310 0.169544303738611 - 0.169540704526921 0.169537139294262 0.169533601574138 - 0.169530102999001 0.169526643124760 0.169523209450670 - 0.169519801559757 0.169516437102556 0.169513097653856 - 0.169509782744194 0.169506510052757 0.169503261191319 - 0.169500035711533 0.169496851295283 0.169493683574667 - 0.169490556155754 0.169487444697369 0.169484372898017 - 0.169481316300907 0.169478298672298 0.169475301655411 - 0.169472330860674 0.169469386058103 0.169466460839528 - 0.169463566961235 0.169460704087973 0.169457853953814 - 0.169455034202520 0.169452238546337 0.169449472730705 - 0.169446724492888 0.169443993492467 0.169441297499142 - 0.169438618198596 0.169435955395394 0.169433326746792 - 0.169430714075063 0.169428123063354 0.169425553483127 - 0.169423005066731 0.169420471664465 0.169417964895747 - 0.169415484605056 0.169413012593961 0.169410572502353 - 0.169408146248256 7.217811636347234E-002 8.129581305187805E-002 - 8.763518850627663E-002 7.218141089560161E-002 7.629665779441844E-002 - 7.975838337086377E-002 8.273410813243250E-002 8.533494778667595E-002 - 8.763835851510482E-002 8.970041250018267E-002 9.156300834527263E-002 - 9.325822231701057E-002 9.481115044026464E-002 9.624176041170709E-002 - 9.756622460019979E-002 8.390592500058276E-002 8.516576505378123E-002 - 8.635159855841179E-002 8.747089261043796E-002 8.853007076980608E-002 - 8.953470157219140E-002 9.048961000631973E-002 9.139904978210528E-002 - 9.226673915807433E-002 9.309599314911385E-002 9.388974538863536E-002 - 9.465062230496527E-002 9.538096702045375E-002 9.608289819186931E-002 - 9.675832101606661E-002 9.740897610978053E-002 9.803642214170383E-002 - 9.864208949465036E-002 9.922729251439434E-002 9.979322340196760E-002 - 0.100340979931685 0.100871575887651 0.101385929903472 - 0.101884913754470 0.102369318926122 0.102839882933118 - 0.103297294810415 0.103742179364428 0.104175142553832 - 0.104596738339593 0.105007471902239 0.105407844236502 - 0.105798296733111 0.106179255187926 0.106551127986591 - 0.106914287147969 0.107269091106383 0.107615861066063 - 0.107954924728797 0.108286579681937 0.108611098765514 - 0.108928748194359 0.109239788684674 0.109544459353559 - 0.109842978511874 0.110135561586462 0.110422421936752 - 0.110703750042038 0.110979735621353 0.111250542322180 - 0.111516351457543 0.111777319301768 0.112033603497464 - 0.112285337429965 0.112532678447346 0.112775742970325 - 0.113014672155580 0.113249584280920 0.113480596837192 - 0.113707826834900 0.113931369127343 0.114151344924641 - 0.114367836158129 0.114580956017153 0.114790778741458 - 0.114997410296863 0.115200922405123 0.115401396815165 - 0.115598925529541 0.115793566653947 0.115985406548847 - 0.116174515662534 0.116360948586984 0.116544784192359 - 0.116726081284428 0.116904905394561 0.117081306588761 - 0.117255341848112 0.117427079668710 0.117596559905743 - 0.117763834066252 0.117928960955008 0.118091988827839 - 0.118252950929834 0.118411905962712 0.118568893263216 - 0.118723955300774 0.118877133243469 0.119028467009513 - 0.119177999828028 0.119325760241685 0.119471784694222 - 0.119616117604559 0.119758788816404 0.119899831699828 - 0.120039278673024 0.120177165770476 0.120313510010947 - 0.120448354760467 0.120581724431914 0.120713647179746 - 0.120844150394864 0.120973265281125 0.121101004132129 - 0.121227405853383 0.121352490488138 0.121476286548875 - 0.121598808250998 0.121720078321718 0.121840132612647 - 0.121958974454873 0.122076638606477 0.122193141031349 - 0.122308501754049 0.122422740308391 0.122535875752981 - 0.122647931270115 0.122758911260415 0.122868847196111 - 0.122977751794877 0.123085641952360 0.123192538765356 - 0.123298444569628 0.123403388899420 0.123507382550368 - 0.123610440564153 0.123712577643911 0.123813812771141 - 0.123914150788966 0.124013605436743 0.124112199378532 - 0.124209941156755 0.124306848255100 0.124402919414206 - 0.124498180805870 0.124592639873942 0.124686313048736 - 0.124779198017428 0.124871319970512 0.124962685368521 - 0.125053305068166 0.125143189704421 0.125232349696378 - 0.125320795252924 0.125408536378227 0.125495582877047 - 0.125581944359882 0.125667634890590 0.125752649778009 - 0.125837016652865 0.125920725816772 0.126003804567010 - 0.126086247505659 0.126168063009872 0.126249268605447 - 0.126329867710583 0.126409872899623 0.126489277973719 - 0.126568109188802 0.126646355396887 0.126724042588474 - 0.126801163997243 0.126877731369864 0.126953751664708 - 0.127029227047783 0.127104173565835 0.127178593145891 - 0.127252496937402 0.127325877288539 0.127398754468430 - 0.127471129949994 0.127543009772208 0.127614404549025 - 0.127685310758861 0.127755734133056 0.127825689670826 - 0.127895178235994 0.127964205279528 0.128032776161746 - 0.128100896154270 0.128168570441926 0.128235804124596 - 0.128302606909864 0.128368969660553 0.128434915998067 - 0.128500436624008 0.128565536236182 0.128630228850935 - 0.128694519024914 0.128758401845150 0.128821886419460 - 0.128884977090149 0.128947673429828 0.129009993753892 - 0.129071923395203 0.129133480544145 0.129194664515607 - 0.129255483974383 0.129315928695073 0.129376016639231 - 0.129435746880525 0.129495123143852 0.129554149098818 - 0.129612828360811 0.129671164492032 0.129729165718308 - 0.129786821351112 0.129844148946463 0.129901151866688 - 0.129957819266574 0.130014168565947 0.130070202984722 - 0.130125911529303 0.130181316214604 0.130236405955283 - 0.130291183787717 0.130345666884864 0.130399844025581 - 0.130453718121252 0.130507306230306 0.130560592272772 - 0.130613597962412 0.130666311866948 0.130718741436558 - 0.130770884621190 0.130822753534339 0.130874350790485 - 0.130925669497008 0.130976712194073 0.131027495601637 - 0.131078003246160 0.131128256524014 0.131178243630740 - 0.131227971685051 0.131277438294142 0.131326655259925 - 0.131375620130170 0.131424339908834 0.131472802593370 - 0.131521029365266 0.131569003416439 0.131616741131761 - 0.131664244633432 0.131711506518753 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.100000000000000 0.100000000000000 0.100000000000000 - 0.446954236795279 0.680434579027796 0.861355896853944 - 0.606689359698639 0.745352165247297 0.867393077575275 - 0.977029354965613 1.07697864081173 1.16911231968359 - 1.25478190619091 1.33500026261228 1.41054827228344 - 1.48204247445287 1.54997904961819 1.61476417374020 - 1.29038544290716 1.35202128663984 1.41120279126526 - 1.46815734932654 1.52308048180927 1.57614177088282 - 1.62748898040696 1.67725226113397 1.72554642865628 - 1.77247389909183 1.81812588545020 1.86258443841741 - 1.90592337624535 1.94820958249603 1.98950380602565 - 2.02986148516595 2.06933310972744 2.10796499122491 - 2.14579987510557 2.18287697322382 2.21923264275415 - 2.25490050238092 2.28991163270456 2.32429506275074 - 2.35807788885051 2.39128518387733 2.42394066023784 - 2.45606624552965 2.48768267185614 2.51880948299468 - 2.54946478621939 2.57966599499936 2.60942920819502 - 2.63876979918970 2.66770225705142 2.69624036745160 - 2.72439711161486 2.75218478800088 2.77961514716860 - 2.80669935972806 2.83344791550437 2.85987085947196 - 2.88597798121165 2.91177841012328 2.93728079398672 - 2.96249349217416 2.98742464163109 3.01208171843496 - 3.03647221746167 3.06060295585377 3.08448085967152 - 3.10811220679070 3.13150341007324 3.15466009402053 - 3.17758836000250 3.20029332509671 3.22278057052307 - 3.24505513836153 3.26712185247458 3.28898554119785 - 3.31065055649551 3.33212160713440 3.35340267423068 - 3.37449808291129 3.39541161407346 3.41614719054460 - 3.43670852106378 3.45709905350782 3.47732242395673 - 3.49738189219208 3.51728069941448 3.53702212837034 - 3.55660901032504 3.57604452204250 3.59533133620270 - 3.61447247736970 3.63347039070479 3.65232769659488 - 3.67104721113544 3.68963123066387 3.70808206427462 - 3.72640216665651 3.74459395155060 3.76265925854741 - 3.78060055939850 3.79841988613629 3.81611917891331 - 3.83370041954676 3.85116568371653 3.86851671984380 - 3.88575538376023 3.90288346175359 3.91990267131077 - 3.93681484557251 3.95362144372381 3.97032422974991 - 3.98692479355389 4.00342448665367 4.01982499890596 - 4.03612773482882 4.05233417768865 4.06844562617021 - 4.08446351069644 4.10038907872220 4.11622377611129 - 4.13196886764005 4.14762556349875 4.16319495626631 - 4.17867834300547 4.19407708595495 4.20939191478972 - 4.22462429808325 4.23977526712432 4.25484578967558 - 4.26983691536205 4.28474977781112 4.29958539738685 - 4.31434456402497 4.32902844144892 4.34363791152155 - 4.35817395645417 4.37263739214037 4.38702907271101 - 4.40135007271860 4.41560107608359 4.42978297836644 - 4.44389660522174 4.45794283388990 4.47192227020007 - 4.48583580302322 4.49968433314780 4.51346837969396 - 4.52718896854553 4.54084645493752 4.55444180897292 - 4.56797566128979 4.58144871062359 4.59486159307829 - 4.60821495260077 4.62150953919530 4.63474599258449 - 4.64792477204054 4.66104666416971 4.67411227642970 - 4.68712203540480 4.70007675510666 4.71297678478872 - 4.72582299002543 4.73861549046403 4.75135528661053 - 4.76404263854062 4.77667824317469 4.78926241204732 - 4.80179583281582 4.81427892100500 4.82671227833203 - 4.83909646654396 4.85143158011366 4.86371861237040 - 4.87595751207012 4.88814925998964 4.90029391934607 - 4.91239200792993 4.92444414313962 4.93645044967150 - 4.94841173555975 4.96032811185569 4.97220024377018 - 4.98402826310310 4.99581278926472 5.00755414643144 - 5.01925272540106 5.03090898429239 5.04252321745824 - 5.05409561755935 5.06562694173814 5.07711723835377 - 5.08856704808923 5.09997666401001 5.11134649605381 - 5.12267670489948 5.13396781319215 5.14522016857341 - 5.15643387895131 5.16760956653850 5.17874733007693 - 5.18984754814576 5.20091055879241 5.21193667067692 - 5.22292622537718 5.23387934943487 5.24479658867183 - 5.25567797372798 5.26652408153752 5.27733489650393 - 5.28811086330232 5.29885231040412 5.30955952533603 - 5.32023255206254 5.33087188545517 5.34147777758267 - 5.35205036280622 5.36258989866218 5.37309676697404 - 5.38357121961047 5.39401339010858 5.40442348575305 - 5.41480197903458 5.42514891739274 5.43546449935388 - 5.44574918972038 5.45600302652356 5.46622626461740 - 5.47641918015619 5.48658202316903 5.49671475451265 - 5.50681808447275 5.51689173555353 5.52693611551213 - 5.53695160335896 5.54693809534512 5.55689617483478 - 5.56682567983284 5.57672688914588 5.58660012034794 - 5.59644552954144 5.60626337713158 5.61605363187990 - 5.62581661577916 5.63555275372181 5.64526171685252 - 5.65494420420633 5.66460016074435 5.67422964551140 - 5.68383295696217 5.69341036332645 5.70296195942155 - 5.71248799730987 5.72198847547864 5.73146374742780 - 5.74091366025185 5.75033882113332 5.75973912396630 - 5.76911477266374 1.31638374772749 1.31301479128529 - 1.31258170576189 1.78651765784193 1.78360027129278 - 1.78229934255929 1.78171349400699 1.78145960468310 - 1.78136080700509 1.78133121831877 1.78132763126180 - 1.78132832927348 1.78132252785475 1.78130517008433 - 1.78127439093290 2.25041138173802 2.25027887459302 - 2.25019553440087 2.25014553141220 2.25011767092553 - 2.25010394334230 2.25009871026269 2.25009796263730 - 2.25009881491187 2.25009907834994 2.25009747520856 - 2.25009298240193 2.25008495642702 2.25007304925782 - 2.25005693199261 2.25003656291683 2.25001188676167 - 2.24998308055404 2.24995020431302 2.24991346252648 - 2.24987290986279 2.24982878462180 2.24978121646143 - 2.24973057397274 2.24967680929455 2.24962034982011 - 2.24956119591214 2.24949952162413 2.24943568187558 - 2.24936965110375 2.24930164519732 2.24923180932037 - 2.24916028166188 2.24908712702496 2.24901266458165 - 2.24893681377170 2.24885981598863 2.24878157300874 - 2.24870238181336 2.24862226574238 2.24854130991387 - 2.24845966337169 2.24837726190000 2.24829424439252 - 2.24821067667831 2.24812662012269 2.24804206006464 - 2.24795726579896 2.24787207218737 2.24778659870842 - 2.24770081540643 2.24761498431703 2.24752884893965 - 2.24744274262763 2.24735640007382 2.24727015365157 - 2.24718380669785 2.24709738581772 2.24701106924021 - 2.24692480484221 2.24683869338895 2.24675260021938 - 2.24666662304824 2.24658077927305 2.24649500775896 - 2.24640956084154 2.24632413682484 2.24623898798524 - 2.24615412754327 2.24606932662134 2.24598491866981 - 2.24590067111661 2.24581667520356 2.24573285666001 - 2.24564947102171 2.24556619542624 2.24548328550769 - 2.24540074872496 2.24531842306365 2.24523631371717 - 2.24515459415444 2.24507326938353 2.24499208830940 - 2.24491139644572 2.24483094017853 2.24475072186935 - 2.24467091668879 2.24459152804127 2.24451229707584 - 2.24443357407263 2.24435509928310 2.24427687320615 - 2.24419916124260 2.24412161105529 2.24404457829180 - 2.24396779699001 2.24389135617974 2.24381525701948 - 2.24373949878921 2.24366408177922 2.24358891491696 - 2.24351417954119 2.24343987585476 2.24336582150651 - 2.24329210625892 2.24321863735042 2.24314559817963 - 2.24307298933365 2.24300062428454 2.24292850028430 - 2.24285689794231 2.24278553473043 2.24271440892666 - 2.24264370763421 2.24257343035754 2.24250338629330 - 2.24243366831780 2.24236427591240 2.24229520666932 - 2.24222645937905 2.24215793604379 2.24208992411160 - 2.24202213357008 2.24195456107078 2.24188739946132 - 2.24182055009722 2.24175401128141 2.24168778098273 - 2.24162195659918 2.24155633965061 2.24149092699406 - 2.24142601416364 2.24136120259100 2.24129678918030 - 2.24123267193781 2.24116884938758 2.24110541987228 - 2.24104208115769 2.24097923281517 2.24091657123682 - 2.24085409389594 2.24079210326022 2.24073029324576 - 2.24066866133800 2.24060751213537 2.24054643483390 - 2.24048583757476 2.24042530736761 2.24036525520622 - 2.24030536879772 2.24024564699469 2.24018629398472 - 2.24012730967616 2.24006837969279 2.24000991889911 - 2.23995161258673 2.23989345801693 2.23983576977311 - 2.23977812394733 2.23972094190894 2.23966379799514 - 2.23960700881910 2.23955057302133 2.23949416966101 - 2.23943822353752 2.23938230533597 2.23932684160433 - 2.23927150915970 2.23921641446342 2.23916155489341 - 2.23910692918637 2.23905253575262 2.23899837267431 - 2.23894433029503 2.23889073335451 2.23883714415007 - 2.23878399779436 2.23873096521877 2.23867815409077 - 2.23862545290328 2.23857319017716 2.23852103441887 - 2.23846909382100 2.23841736795014 2.23836585399066 - 2.23831455153197 2.23826334773171 2.23821246312478 - 2.23816189690378 2.23811131291754 2.23806115709502 - 2.23801097962041 2.23796111610689 2.23791145196153 - 2.23786198722310 2.23781283271514 2.23776376128566 - 2.23771488427375 2.23766620141899 2.23761771039839 - 2.23756929613479 2.23752118546529 2.23747337770533 - 2.23742564274554 2.23737797878342 2.23733072895961 - 2.23728354838768 2.23723643425898 2.23718973177709 - 2.23714309440044 2.23709651935328 2.23705035353962 - 2.23700413238527 2.23695831854997 2.23691244600690 - 2.23686698029614 2.23682145185438 2.23677632874556 - 2.23673125850188 2.23668635610704 2.23664162187675 - 2.23659693531562 2.23655253227802 2.23650841189523 - 2.23646421832773 2.23642030498062 2.23637655244317 - 2.23633307948450 2.23628964709060 2.23624625267818 - 2.23620325497479 2.23616029326960 2.23611736711366 - 2.23607483507337 2.23603233664886 2.23598999014511 - 2.23594779496639 2.23590574982162 2.23586373383888 - 2.23582198650796 2.23578050883213 2.23573893483736 - 2.23569774930676 2.23565658753281 0.778535295339175 - 0.769559969937697 0.765094446294627 1.05657792870164 - 1.05033923396818 1.04608436767054 1.04291972779625 - 1.04041483697828 1.03833970615725 1.03656239532245 - 1.03500084121343 1.03360255713590 1.03233161434628 - 1.03116386510464 1.03007998980880 1.31591487151620 - 1.31440668310954 1.31303360562624 1.31177293569894 - 1.31060659745200 1.30951938530414 1.30850103252299 - 1.30754122447866 1.30663372607165 1.30577150321674 - 1.30494956448182 1.30416346493825 1.30341018977712 - 1.30268625091908 1.30198947804547 1.30131642991061 - 1.30066625971533 1.30003712245962 1.29942678721803 - 1.29883421337079 1.29825831436820 1.29769754907608 - 1.29715222767923 1.29662008814242 1.29610098586136 - 1.29559397312283 1.29509814376889 1.29461420447784 - 1.29414020742657 1.29367560169650 1.29322149777016 - 1.29277538098659 1.29233850418119 1.29191036069838 - 1.29148950234076 1.29107646553058 1.29067006564389 - 1.29027193836430 1.28987990843859 1.28949399337670 - 1.28911488022456 1.28874238199566 1.28837517766630 - 1.28801329898556 1.28765736610193 1.28730721730360 - 1.28696185032076 1.28662145756593 1.28628537343501 - 1.28595508421544 1.28562890099332 1.28530698421421 - 1.28498903723283 1.28467629799114 1.28436673721872 - 1.28406202500305 1.28376077582124 1.28346345193849 - 1.28316968943523 1.28287895044403 1.28259283171072 - 1.28230903236619 1.28202975865931 1.28175257296478 - 1.28147975080604 1.28120881979287 1.28094165307513 - 1.28067810440129 1.28041603946534 1.28015832982770 - 1.27990260916282 1.27964897602764 1.27939943034243 - 1.27915185955625 1.27890674607716 1.27866354371123 - 1.27842354952474 1.27818648073003 1.27795055112289 - 1.27771756511772 1.27748762238292 1.27725912860696 - 1.27703228217364 1.27680871705189 1.27658682859781 - 1.27636699021598 1.27614905211591 1.27593314451130 - 1.27571940011958 1.27550671124401 1.27529665739433 - 1.27508921506428 1.27488281077307 1.27467823773994 - 1.27447541157459 1.27427447064941 1.27407445722419 - 1.27387745376542 1.27368157764896 1.27348716471821 - 1.27329458645689 1.27310336368523 1.27291309363049 - 1.27272576923216 1.27253914735889 1.27235415415002 - 1.27216992382617 1.27198763664726 1.27180765053639 - 1.27162764359144 1.27145038632875 1.27127380278233 - 1.27109870159065 1.27092468982693 1.27075209911180 - 1.27058075894884 1.27040983546574 1.27024185494951 - 1.27007425612419 1.26990778146969 1.26974264678965 - 1.26957780802934 1.26941573478784 1.26925409219096 - 1.26909352719937 1.26893416963545 1.26877573658266 - 1.26861769330250 1.26846145544781 1.26830721745085 - 1.26815320121590 1.26800010829562 1.26784725545521 - 1.26769713833317 1.26754703457046 1.26739800442369 - 1.26724907897768 1.26710293620232 1.26695672835505 - 1.26681142039034 1.26666727488577 1.26652374957761 - 1.26638136529923 1.26623983668550 1.26609898716297 - 1.26595921107263 1.26582027778689 1.26568128427142 - 1.26554478852410 1.26540750029576 1.26527277347891 - 1.26513711573340 1.26500314387576 1.26487083555581 - 1.26473835390563 1.26460661133755 1.26447492770222 - 1.26434561021621 1.26421552798746 1.26408771098421 - 1.26395901037713 1.26383184744127 1.26370525543837 - 1.26357967449627 1.26345547018757 1.26333119993213 - 1.26320741521862 1.26308367548299 1.26296218738628 - 1.26284058065418 1.26271973130249 1.26259934730265 - 1.26247890929242 1.26235996463832 1.26224244341415 - 1.26212476633346 1.26200760249285 1.26189101490400 - 1.26177523014187 1.26165991342791 1.26154527809452 - 1.26143119498198 1.26131678507201 1.26120468934847 - 1.26109153019174 1.26097976183488 1.26086943967149 - 1.26075889585465 1.26064782833041 1.26053834508260 - 1.26042919916354 1.26032079986017 1.26021391248725 - 1.26010549001870 1.25999966124178 1.25989326304941 - 1.25978733707937 1.25968107478105 1.25957720807550 - 1.25947299633926 1.25936913995374 1.25926591802610 - 1.25916293246946 1.25906068293604 1.25895877059453 - 1.25885646114519 1.25875650005529 1.25865610068437 - 1.25855498940024 1.25845642383974 1.25835750168453 - 1.25825785002487 1.25816069964643 1.25806193572697 - 1.25796459568833 1.25786876157113 1.25777141108022 - 1.25767535965598 1.25758077387210 1.25748463994569 - 1.25739079830236 1.25729554930697 1.25720164622747 - 1.25710819756682 1.25701605858976 1.25692347394259 - 1.25683018730473 1.25673813840580 1.25664764124739 - 1.25655568232194 1.25646590957045 1.25637456039960 - 1.25628465333834 1.25619501390010 1.25610671609591 - 1.25601798055924 1.25592940977575 1.25584038878929 - 1.25575372287482 1.25566531925392 1.25557926471252 - 1.25549265099483 1.25540514863169 1.25531928208049 - 1.995685895545864E-002 2.177115436048020E-002 2.300290209214514E-002 - 1.995752452760037E-002 2.078307507895309E-002 2.146892990160294E-002 - 2.205261809280136E-002 2.255855981916636E-002 2.300351245878934E-002 - 2.339944672528240E-002 2.375520745476195E-002 2.407749911564056E-002 - 2.437152220645288E-002 2.464138218499233E-002 2.489038236949494E-002 - 2.228104624980776E-002 2.252576433647243E-002 2.275530243398843E-002 - 2.297125926318719E-002 2.317500219852179E-002 2.336771039512381E-002 - 2.355039937005067E-002 2.372396108187790E-002 2.388917060996332E-002 - 2.404671695171613E-002 2.419720684585317E-002 2.434118170323583E-002 - 2.447912235478672E-002 2.461146250951741E-002 2.473859061698240E-002 - 2.486086108969864E-002 2.497858945253040E-002 2.509206488891356E-002 - 2.520155273640586E-002 2.530729259243782E-002 2.540950468719804E-002 - 2.550839208988480E-002 2.560413772912871E-002 2.569691582618335E-002 - 2.578688358305378E-002 2.587418734876340E-002 2.595896376261524E-002 - 2.604133580309966E-002 2.612142357579129E-002 2.619933619748683E-002 - 2.627517246562161E-002 2.634903146645627E-002 2.642099916752880E-002 - 2.649115890301361E-002 2.655959085154777E-002 2.662636742240088E-002 - 2.669155865027930E-002 2.675522647782176E-002 2.681743516138269E-002 - 2.687824246184478E-002 2.693770088907943E-002 2.699586198874229E-002 - 2.705277656729910E-002 2.710849081507209E-002 2.716304646790258E-002 - 2.721648504886174E-002 2.726884802995340E-002 2.732017185152482E-002 - 2.737049316448296E-002 2.741984278869695E-002 2.746825609076380E-002 - 2.751576281210947E-002 2.756239332753850E-002 2.760817254487828E-002 - 2.765313133356722E-002 2.769729111289908E-002 2.774067941528678E-002 - 2.778331858057614E-002 2.782523098353073E-002 2.786643909355725E-002 - 2.790696033299412E-002 2.794681855112931E-002 2.798602848119329E-002 - 2.802461242095615E-002 2.806258361905482E-002 2.809996297827577E-002 - 2.813676345445919E-002 2.817300051400407E-002 2.820869217619184E-002 - 2.824384858453819E-002 2.827848667350942E-002 2.831261973661382E-002 - 2.834625743912410E-002 2.837941527745258E-002 2.841210411724918E-002 - 2.844433650594682E-002 2.847612143970584E-002 2.850746963325333E-002 - 2.853839459631136E-002 2.856890317623126E-002 2.859900504252637E-002 - 2.862871165567237E-002 2.865803206482134E-002 2.868697185859737E-002 - 2.871554267799937E-002 2.874375167360712E-002 2.877160679373502E-002 - 2.879911573942679E-002 2.882628597437039E-002 2.885312579364016E-002 - 2.887964009593732E-002 2.890583568610118E-002 2.893172128843105E-002 - 2.895730225268572E-002 2.898258480131658E-002 2.900757497668138E-002 - 2.903227971054538E-002 2.905670151659962E-002 2.908084912438056E-002 - 2.910472685732692E-002 2.912833995226777E-002 2.915169350198786E-002 - 2.917479352581225E-002 2.919764164712888E-002 2.922024575280190E-002 - 2.924260934291771E-002 2.926473792958699E-002 2.928663370740600E-002 - 2.930830089110210E-002 2.932974679168401E-002 2.935097113860957E-002 - 2.937198103724642E-002 2.939277922126769E-002 2.941336939754722E-002 - 2.943375518089371E-002 2.945394009700236E-002 2.947392865623725E-002 - 2.949372100162508E-002 2.951332362093966E-002 2.953273863975788E-002 - 2.955196917861585E-002 2.957101935706504E-002 2.958988893256588E-002 - 2.960858402935216E-002 2.962710641380890E-002 2.964545885982910E-002 - 2.966364407807475E-002 2.968166579244259E-002 2.969952444375179E-002 - 2.971722256294930E-002 2.973476477586837E-002 2.975215242872941E-002 - 2.976938896576738E-002 2.978647347525144E-002 2.980341145206689E-002 - 2.982020403797854E-002 2.983685448080853E-002 2.985336167332540E-002 - 2.986973092710780E-002 2.988596320115929E-002 2.990206048938739E-002 - 2.991802474448196E-002 2.993385787901621E-002 2.994956176651188E-002 - 2.996513824246977E-002 2.998058910536688E-002 2.999591611762182E-002 - 3.001112208669559E-002 3.002620546516391E-002 3.004117223391817E-002 - 3.005601969805165E-002 3.007075377625159E-002 3.008537279050318E-002 - 3.009987827468215E-002 3.011427389702206E-002 3.012856005275029E-002 - 3.014273927285839E-002 3.015680973186510E-002 3.017077715431598E-002 - 3.018463857855628E-002 3.019839967967480E-002 3.021205852763926E-002 - 3.022561750021731E-002 3.023907786864710E-002 3.025243979711382E-002 - 3.026570667930814E-002 3.027887863523409E-002 3.029195793199421E-002 - 3.030494247703675E-002 3.031783666543573E-002 3.033064053355579E-002 - 3.034335518290589E-002 3.035598278157937E-002 3.036852222215681E-002 - 3.038097454954973E-002 3.039334296335082E-002 3.040562738788300E-002 - 3.041782881627533E-002 3.042994822496153E-002 3.044198657404309E-002 - 3.045394480764269E-002 3.046582385424835E-002 3.047762571459804E-002 - 3.048934802425703E-002 3.050099601733808E-002 3.051256729986956E-002 - 3.052406272649334E-002 3.053548531495980E-002 3.054683589373614E-002 - 3.055811310056308E-002 3.056931882571567E-002 3.058045385839364E-002 - 3.059151788613988E-002 3.060251494141889E-002 3.061344141961726E-002 - 3.062430133014201E-002 3.063509431326233E-002 3.064582217755441E-002 - 3.065648236033778E-002 3.066707882860586E-002 3.067761117852377E-002 - 3.068808008599163E-002 3.069848621677480E-002 3.070883022670056E-002 - 3.071911276185000E-002 3.072933555004159E-002 3.073949594453477E-002 - 3.074959783716733E-002 3.075964183730714E-002 3.076962526982352E-002 - 3.077955200131480E-002 3.078942261507976E-002 3.079923440912727E-002 - 3.080899231869834E-002 3.081869362511419E-002 3.082833887829120E-002 - 3.083793189897172E-002 3.084746994393401E-002 3.085695354023733E-002 - 3.086638648739766E-002 3.087576492552672E-002 3.088509373377408E-002 - 3.089437013080626E-002 3.090359570205106E-002 3.091276983890293E-002 - 3.092189520779807E-002 3.093097228136474E-002 3.093999933725362E-002 - 3.094897683470980E-002 3.095790851050115E-002 3.096679043410282E-002 - 3.097562742548471E-002 3.098441663628713E-002 3.099315959112932E-002 - 3.100185561915273E-002 3.101050732933447E-002 3.101911403995121E-002 - 3.102767725449151E-002 3.103619408909388E-002 3.104466932360456E-002 - 3.105309896767310E-002 3.106148669599610E-002 3.106983289142617E-002 - 3.107813573954309E-002 0.185693632080300 0.195148210789810 - 0.201400346186374 0.185697158442746 0.190037537686309 - 0.193594372772626 0.196588130842567 0.199159480881945 - 0.201403413041125 0.203386850174637 0.205158678747753 - 0.206755570472722 0.208205720382171 0.209531198837098 - 0.210749653788469 0.197751736606150 0.198993451958266 - 0.200153651136967 0.201241294371986 0.202264003738091 - 0.203228321367726 0.204139835679039 0.205003448370645 - 0.205823380681686 0.206603384280003 0.207346740134794 - 0.208056369013717 0.208734847884787 0.209384499909948 - 0.210007393949012 0.210605421475120 0.211180246672779 - 0.211733397363538 0.212266276643176 0.212780140762039 - 0.213276143836918 0.213755350050491 0.214218705412365 - 0.214667124398616 0.215101420449632 0.215522351721093 - 0.215930627308774 0.216326873611831 0.216711717281454 - 0.217085719191360 0.217449378069455 0.217803212399456 - 0.218147653524634 0.218483126876101 0.218810046652480 - 0.219128778588669 0.219439681350979 0.219743060904238 - 0.220039251215499 0.220328544564552 0.220611200704025 - 0.220887479783102 0.221157643521955 0.221421924456447 - 0.221680526797830 0.221933659095079 0.222181535070862 - 0.222424334490563 0.222662243659862 0.222895408141058 - 0.223124013159199 0.223348204266728 0.223568135747886 - 0.223783923050484 0.223995731252801 0.224203655327371 - 0.224407840650778 0.224608395188950 0.224805429868446 - 0.224999058879318 0.225189359767884 0.225376462064693 - 0.225560426965206 0.225741376178661 0.225919363435722 - 0.226094503425686 0.226266851226024 0.226436482971128 - 0.226603496055780 0.226767928646408 0.226929872704540 - 0.227089393481212 0.227246529593426 0.227401365810890 - 0.227553952425387 0.227704353805535 0.227852608082155 - 0.227998767649006 0.228142907366018 0.228285051823616 - 0.228425248219951 0.228563558369852 0.228700026389029 - 0.228834670631584 0.228967556673373 0.229098716353307 - 0.229228188336908 0.229356010066993 0.229482217813409 - 0.229606854836681 0.229729938969434 0.229851503231304 - 0.229971595889016 0.230090239893929 0.230207465394110 - 0.230323301651221 0.230437785203246 0.230550919250560 - 0.230662754978334 0.230773310293812 0.230882610500088 - 0.230990680193511 0.231097551428044 0.231203223044895 - 0.231307742085104 0.231411122422446 0.231513393624276 - 0.231614560254874 0.231714642612265 0.231813684910246 - 0.231911673812266 0.232008652526089 0.232104631183157 - 0.232199627599826 0.232293659143474 0.232386742747078 - 0.232478903081329 0.232570131777535 0.232660469021642 - 0.232749921985565 0.232838505629681 0.232926242720173 - 0.233013123020264 0.233099184940495 0.233184433909323 - 0.233268883202798 0.233352545790096 0.233435442513083 - 0.233517569414476 0.233598938593328 0.233679578223415 - 0.233759491698850 0.233838698503833 0.233917185171727 - 0.233994987045833 0.234072106532547 0.234148562163898 - 0.234224339533160 0.234299473091814 0.234373964364710 - 0.234447822851217 0.234521057851714 0.234593678472959 - 0.234665693633299 0.234737112067693 0.234807942332582 - 0.234878192810596 0.234947879903377 0.235016987094655 - 0.235085555026980 0.235153558674219 0.235221038376116 - 0.235287976991566 0.235354381804111 0.235420276343069 - 0.235485659423373 0.235550546112599 0.235614918568107 - 0.235678816184770 0.235742212668835 0.235805147174501 - 0.235867601360752 0.235929589558257 0.235991117787868 - 0.236052183760103 0.236112809677367 0.236172993038002 - 0.236232747638987 0.236292054369475 0.236350943231969 - 0.236409411325717 0.236467463858336 0.236525114150845 - 0.236582350821143 0.236639178807166 0.236695619374437 - 0.236751669088440 0.236807332638420 0.236862614633839 - 0.236917519606127 0.236972052010390 0.237026216227073 - 0.237080024773663 0.237133457255807 0.237186550680844 - 0.237239284514539 0.237291662785973 0.237343705883719 - 0.237395417709956 0.237446785677062 0.237497821773905 - 0.237548529716555 0.237598904947239 0.237648975709618 - 0.237698712686136 0.237748144009662 0.237797264897669 - 0.237846086946605 0.237894588832786 0.237942798483265 - 0.237990710907026 0.238038329280884 0.238085656733473 - 0.238132696346190 0.238179451154116 0.238225932367132 - 0.238272118269728 0.238318036423992 0.238363689689673 - 0.238409056219295 0.238454163452275 0.238499014124630 - 0.238543586264216 0.238587915417870 0.238631979535214 - 0.238675781195766 0.238719347614927 0.238762656628707 - 0.238805710708253 0.238848536965639 0.238891104903760 - 0.238933449793847 0.238975549295847 0.239017413939626 - 0.239059037770831 0.239100439484169 0.239141621291213 - 0.239182568917805 0.239223284513940 0.239263794885779 - 0.239304069213595 0.239344142476831 0.239383992027016 - 0.239423628103397 0.239463044460009 0.239502259514039 - 0.239541266967897 0.239580076959001 0.239618666677025 - 0.239657070902778 0.239695258545083 0.239733256107460 - 0.239771065377186 0.239808671653993 0.272781742544511 - 0.271970967003571 0.271252841601382 0.272781565342448 - 0.272478946798018 0.272137050321145 0.271810925505433 - 0.271515474220994 0.271252480917569 0.271019530985467 - 0.270813063099977 0.270629522511881 0.270465697728265 - 0.270318808587378 0.270186506692013 0.271678425742497 - 0.271534806539347 0.271399258054886 0.271271545524439 - 0.271151304966950 0.271038105184688 0.270931501920720 - 0.270831051191468 0.270736320035814 0.270646884625835 - 0.270562373097715 0.270482423606038 0.270406705919105 - 0.270334919804199 0.270266777543498 0.270202026479193 - 0.270140427484586 0.270081772783004 0.270025860246054 - 0.269972512190962 0.269921553860621 0.269872835772650 - 0.269826213110272 0.269781567344615 0.269738763223291 - 0.269697705525920 0.269658280447327 0.269620393625397 - 0.269583968674528 0.269548912982881 0.269515155090076 - 0.269482624695203 0.269451256739305 0.269420986758363 - 0.269391769152969 0.269363539952517 0.269336257097933 - 0.269309863470696 0.269284326701353 0.269259602554348 - 0.269235653076160 0.269212446174277 0.269189940908705 - 0.269168109341235 0.269146921824695 0.269126350339458 - 0.269106364786402 0.269086951046096 0.269068074747312 - 0.269049717337597 0.269031854069158 0.269014475729791 - 0.268997549153582 0.268981070757222 0.268965009214525 - 0.268949362706607 0.268934105191605 0.268919222163153 - 0.268904706812410 0.268890542398555 0.268876719977452 - 0.268863220440224 0.268850036031759 0.268837155737163 - 0.268824565833585 0.268812266712903 0.268800235096186 - 0.268788472354864 0.268776969718745 0.268765708651981 - 0.268754694960780 0.268743910682396 0.268733352089557 - 0.268723008672564 0.268712884087971 0.268702958139308 - 0.268693235028835 0.268683708826371 0.268674366909476 - 0.268665203915740 0.268656221425363 0.268647414317427 - 0.268638767509977 0.268630290032218 0.268621967083079 - 0.268613794362514 0.268605774479794 0.268597903395048 - 0.268590167062978 0.268582575249147 0.268575114241246 - 0.268567780558215 0.268560580899423 0.268553498548237 - 0.268546543838029 0.268539703628014 0.268532978324383 - 0.268526365163528 0.268519861323943 0.268513464174215 - 0.268507167795841 0.268500976398346 0.268494887540132 - 0.268488892272436 0.268482991607561 0.268477180044466 - 0.268471462108311 0.268465835779970 0.268460292401476 - 0.268454829975410 0.268449456688904 0.268444160677149 - 0.268438940200988 0.268433800180362 0.268428738940648 - 0.268423748233925 0.268418829780210 0.268413982115480 - 0.268409203688793 0.268404493077313 0.268399845576749 - 0.268395269699973 0.268390754281730 0.268386297973125 - 0.268381906126861 0.268377574223405 0.268373301071464 - 0.268369085491134 0.268364929677085 0.268360825959542 - 0.268356773233009 0.268352780313408 0.268348833047969 - 0.268344940337866 0.268341097880324 0.268337304752616 - 0.268333563286138 0.268329862834668 0.268326215540089 - 0.268322610766952 0.268319047688558 0.268315535279494 - 0.268312062961102 0.268308629964978 0.268305245307399 - 0.268301895225864 0.268298592019061 0.268295321953761 - 0.268292097401975 0.268288907869899 0.268285752776551 - 0.268282637904788 0.268279562675766 0.268276516747940 - 0.268273512457253 0.268270539511135 0.268267597324787 - 0.268264695099888 0.268261819276528 0.268258982325156 - 0.268256170721554 0.268253393700632 0.268250650739798 - 0.268247931662084 0.268245248914262 0.268242589087284 - 0.268239964637114 0.268237365423154 0.268234794275294 - 0.268232250713324 0.268229734329029 0.268227244707052 - 0.268224781425094 0.268222340901081 0.268219932386466 - 0.268217542613751 0.268215184072011 0.268212846758352 - 0.268210533523757 0.268208240807789 0.268205977884152 - 0.268203734792383 0.268201514391258 0.268199316397410 - 0.268197140431889 0.268194986223438 0.268192850264358 - 0.268190738621570 0.268188650994616 0.268186577530701 - 0.268184530712882 0.268182497480903 0.268180487155448 - 0.268178496229884 0.268176524493530 0.268174574832828 - 0.268172640626363 0.268170724798771 0.268168827143278 - 0.268166947376479 0.268165082089598 0.268163237416656 - 0.268161413124347 0.268159602622084 0.268157805690561 - 0.268156031637381 0.268154270747785 0.268152522774738 - 0.268150797041275 0.268149083851715 0.268147382970113 - 0.268145703721241 0.268144033255666 0.268142384022371 - 0.268140743185671 0.268139123243579 0.268137511299102 - 0.268135919886264 0.268134339324774 0.268132772573885 - 0.268131219512790 0.268129676762296 0.268128150523094 - 0.268126640618931 0.268125137416589 0.268123650222027 - 0.268122175719433 0.268120716939570 0.268119267415089 - 0.268117826966734 0.268116404967464 0.268114991757841 - 0.268113587235058 0.268112200713035 0.268110822604055 - 0.268109455906118 0.268108100499025 0.268106756241934 - 0.268105419891244 0.268104097576437 0.268102789215892 - 0.268101485210153 0.268100198029759 0.268098918136578 - 67.7329901571050 75.8185959181902 665.182572850822 - 115.869434091927 160.474181027104 1097.60845421896 - 185.087281132147 201.180482264731 662.042826436802 - 244.094685964488 1032.11296678146 1405.64706946553 - 1568.74091061950 1570.42610797630 325.762297411258 - 942.246985030232 913.888756757840 380.322661044247 - 932.450578501054 1456.48228150973 393.327320551373 - 1208.22198352078 431.984301710938 1423.00601067542 - 450.397526670683 1418.60951506139 1575.31030014282 - 1661.60986125894 1578.72127037594 593.451575015394 - 1557.89334730101 540.437791767525 550.187460904607 - 574.136219618147 577.996930476474 587.604265609717 - 599.141826804382 736.540754818391 608.014526076899 - 617.476754844676 2064.71679871272 645.579348029656 - 648.399841665227 660.014401741465 842.565263209839 - 868.914260264792 904.254418931116 2164.06941927571 - 877.577090938868 894.147000191452 758.054933402812 - 962.515379751506 2360.89204853276 959.257505790396 - 976.676610822792 1105.98077404774 1019.13384110420 - 1019.02602855263 857.749564606297 878.375848692263 - 862.753445598153 913.571887336457 922.536285300584 - 1090.16228442131 918.408154951307 1112.03312696188 - 940.485862650182 951.671203381407 1139.08658802296 - 975.547408260313 984.619582764978 1004.07731621232 - 2978.01461118769 1014.44563733305 1030.90979621815 - 1047.59605870857 1051.38603904683 1046.08358750619 - 1054.88610192596 1340.88662177640 1385.73377455442 - 1433.70327496086 2789.05749299599 1398.01829385113 - 1400.08689447013 1157.60158582894 1418.89898960785 - 1185.77122425342 1192.86632657964 1227.65464317587 - 1221.09634456603 1258.77882024325 1559.21820969156 - 1608.45549274736 1601.23870313912 1630.26809198997 - 1630.26985174964 1659.97502977156 854.080570923614 - 1706.50933891242 -0.130185471214501 82.0498419323812 - -1.03865527039585 69.5432733613805 32.2189358819872 - -1.08446730998720 85.2513898382939 589.920264839048 - -0.866781115105599 155.301520842655 -0.748750546576173 - -0.954524174123868 -0.960170006610870 -1.00311861630991 - 38.8949011382710 -0.751425125053170 -0.651998794070653 - 26.7430876450646 -0.563531075854446 -0.943273471681448 - 20.2808332216394 -0.713322503731803 20.5774256422459 - -0.832243422064763 45.6459555230136 -0.757720956452089 - -0.827635900509698 -0.915303649236434 -0.785401570320002 - 39.1735667852763 -0.684986320792960 44.7268924106343 - 43.4133241843749 13.6425064596990 13.7062770347847 - 38.6419031414253 13.8152866402807 24.4928147078077 - 36.2334325846038 35.5641473799184 -0.786268577590054 - 14.0641210622149 13.6817579085061 12.5204255472278 - 26.0376262180393 26.2444330184680 67.8704674018086 - -0.701309955980143 19.9568638468402 18.2492042659512 - 13.4070519380001 13.8576360225394 -0.693780376099139 - 14.1561834501077 12.7577637605657 137.692410115846 - 12.7436162929327 12.8471364564147 33.8707664227871 - 14.6719071215938 19.0830354357760 34.7730281271450 - 12.4364792951429 14.6353400564036 14.4775896126756 - 15.1852341018403 37.2917561400758 13.0474758270438 - 15.7980827311535 12.3907342196970 12.2619572804764 - 12.3011774816685 -0.664201942021106 42.3165606445522 - 11.6493054915886 11.5780842678644 11.2132796034755 - 10.1232487537406 31.1954592092284 13.7204628607811 - 15.7550505147410 17.2115836011293 -0.575987813877370 - 15.5554116646713 15.2039559527080 12.2054188539429 - 12.7490582684386 11.6073556458973 11.6702752838360 - 12.0072693397109 11.9545435694687 13.1104486087288 - 6.98626607828786 5.58453704278612 5.77330562755682 - 5.02505000967392 5.02506737416108 4.27968220164206 - 18.6474053148371 3.21165967713564 -0.429953657644099 - 20.6855791766191 -0.717969219726807 6.78049703941272 - 9.35520688994885 0.728808672136311 13.8952811596836 - 34.5361277725552 -0.833830129243419 19.4849989792895 - -0.600599348487693 0.687357755229946 -0.688254138130586 - -0.721209836794927 9.19993649175603 0.748163797131075 - -0.702715424028785 -7.20987803488949 0.637136661794896 - -0.752686200971265 5.86219371816205 -0.724661287530780 - 5.95857497279935 0.778818143046712 8.59093284928841 - -0.734075563871811 0.763772858760134 0.818633928037552 - 0.749927855737226 11.8282035112330 0.690742387460465 - 8.38152532084861 8.22809672204246 4.76215997628856 - 4.76613296085012 7.68229260681019 4.72367940027844 - 10.2725568984350 7.39332019538979 7.31015946342246 - 0.740691099121688 4.75363423824256 4.66990820147272 - 4.39898676845254 12.0240956008849 12.6273197038833 - 24.8552417497111 -0.701866598890901 9.00351980398225 - 8.55189394521363 4.63942905018503 8.00844676587766 - -0.689019527908062 7.39572168117921 7.25009773439900 - 42.4060129342340 7.58714059113161 7.28350711959655 - 7.50904163157153 5.06228621607496 5.59582729721060 - 7.77995129070978 4.74858385514185 7.59558530756835 - 4.86691566791234 7.66901142536209 7.64377465945414 - 4.61521680258704 -7.74978877418055 4.49956832755414 - 4.48391237069158 4.52364361113207 0.664895459830414 - 8.09023469886606 4.37371885617621 4.35501486641223 - 4.25773636043296 3.95127277093269 6.76929108087507 - 8.62190019376292 10.3134217306707 -12.5822173351067 - 0.682464359263113 10.0014233474378 -9.75178413371484 - 4.35136471128321 7.48564375300070 4.34202468123414 - -4.37080016532772 4.51614683927094 4.49186953033173 - -4.72581902327362 7.48765797733824 7.25268260835427 - 7.27976118719583 7.17841533816674 7.17849405320447 - 7.06117136305611 2.77366511498159 6.95092563236516 - 162.553921566724 195.418307565019 -6.00130379892909 - -43.0188827876788 197.052628711985 -4.04937730764168 - 111.856465340286 801.999672496536 117.202452135629 - 37.6720350741586 -1.30947847621951 -3.32577185927466 - -3.50711526072291 -2.98082130355943 4052.68587909283 - 869.129291422670 24.7773890695073 13065.3522514445 - 95.1647382709331 93.1028176731605 463.494934357538 - 7.75857039045726 698.409629612660 5.22566311710325 - -61.5156164833308 42.7088127207074 -25.0079960050309 - -8.35639663094240 31.6704270423812 4.14726658800307 - 44.2575406789008 -72.2452873677243 -73.1800948044479 - 887.362006230175 984.266461906330 -75.1789399824850 - 1696.71606875237 4.88137271263817 -75.2278742891984 - -76.5718315473945 -44.8257033160945 1409.42309346682 - 1969.22163700593 2915.29021499002 5.56686672234588 - 5.72283516514152 6.87065481825032 2.29365125985335 - 4.50773490383628 4.55759501959422 3410.03975312034 - 7.49195091608922 -41.9695160127477 5.80549497617779 - 7.24801956277299 16.8309992225084 7.85160880757816 - 6.33957624988680 -126.429300819666 -72000.8541287100 - -56.3681365523469 -103.339471934831 2606.87997269383 - 5.19695819016656 1598.70169513283 4.65426208518786 - -105.546789368186 2019.74785729127 4.07126444366289 - 3564.59343129981 4168.98697045531 1260.28612647291 - -14.7895313941701 -101.324729149212 3685.58396440766 - 1532.00412708613 747.338978116175 4402.61428093370 - -72.4609598016362 4.55544986840982 5.84257257123679 - 8.19543074043737 0.915663918094231 5.53611081654923 - 5.44199275643736 2692.39450713957 4.13072258174985 - 1101.02961724373 962.576555025957 543.737360375725 - 814.714921526147 3393.43148540985 11.9644409746508 - 14.0858924831709 13.7802589901800 15.0178506552208 - 15.0178863764060 16.2762038056774 -4.86921394023521 - 18.2099802445748 -5.67901926650714 -4.97155665843574 - 3.09190769426196 -3.19958677767614 -8.62812618112795 - 2.81397728962948 7.60207016685699 -11.0270226314512 - 9.55634363270122 5.73932258868365 1.98232474609784 - 2.68265986170219 -2.65739805014587 -2.73220976476402 - -28.2173845511261 17.2204831792290 6.78808964594402 - 42.2551863957267 11.6944040282775 -13.3980664774771 - -15.6560425168144 5.84869675424636 -18.2184674074461 - 7.81604875903698 -7.06727318917924 10.9592332500335 - -10.6705209701391 9.11690361264305 11.8734947545762 - 2.71691973185975 13.3297510364404 6.72457518488130 - 6.74579511510728 18.2189721449425 18.9135040688507 - 6.82972367899174 22.7705120678839 2.68503783282703 - 6.86048168970714 6.89775753871355 12.1166892565746 - 23.2278112691698 24.8246617457993 26.2574170817975 - -2.67572816525882 -2.66581185105223 -2.70373507159306 - 5.57540384771646 -2.68792301858895 -2.70644923723912 - -29.8814970397812 -3.02848347927886 13.3966746890656 - -2.94109070965943 -3.07827598708370 -3.41264557994766 - 3.09562021969419 -3.04950942141777 -8.22468705294798 - -196.295251359907 9.67374428121576 -7.65879268410552 - -29.4840534266906 -2.84311512250433 -32.9998372393940 - 2.76688893721196 -7.37574934538902 -26.8584520528795 - -2.67266820977226 -29.1349194077684 -30.0710172107269 - -22.7851470356644 9.08184197213474 7.09789164451231 - -28.3963609336565 -25.6067157071597 -21.4630906235332 - -29.6257034545388 6.06923713131390 -2.55932890091005 - -2.65863293986076 2.83614994899265 2.33154888117122 - -2.60947558564611 -2.60752480946929 -28.2214077297034 - -2.58913609915951 -25.4777975507908 -24.9249318276573 - -23.0402176810423 -25.2605810963786 33.5331771798398 - -3.10158834269080 -3.19237625858075 3.18039918363604 - -3.22585323551510 -3.22585390540105 -3.26818978370647 - -1.53577562784641 3.32289119425470 2.245000000000000E-002 - 0.201000000000000 0.000000000000000E+000 1.680000000000000E-002 - 8.000000000000000E-003 4.439099999999999E-002 2.312900000000000E-002 - 6.049000000000000E-002 4.000000000000000E-003 1.630000000000000E-002 - 1.000000000000000E-003 2.008070620517118E-002 2.000000000000000E-002 - 1.978832714156626E-002 0.000000000000000E+000 1.927298413644493E-002 - 1.000000000000000E-003 3.000000000000000E-003 0.000000000000000E+000 - 1.734465313652002E-002 0.000000000000000E+000 2.000000000000000E-003 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 3.000000000000000E-003 0.000000000000000E+000 3.000000000000000E-003 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 3.000000000000000E-003 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 7.695933752943111E-003 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 1.000000000000000E-003 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 1.000000000000000E-003 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 7.382716607354267E-003 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 7.078964802252524E-003 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 - 1.843629105080054E-002 3.798362174350185E-002 1.200000000000000E-002 - 1.317237308749320E-002 1.200000000000000E-002 1.489470235587796E-002 - 1.233497727675813E-002 1.285543263010093E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.368160168175772E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.391032167319767E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.666778258987562E-002 1.625554909288714E-002 - 1.591668689780140E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 1.259436108092836E-002 1.362718334436635E-002 1.778398168473416E-002 - 2.307196187658076E-002 1.470555429400495E-002 1.978291810147374E-002 - 2.303424289043007E-002 2.713696277122805E-002 2.370696576764288E-002 - 2.164259802862675E-002 2.132007848646355E-002 1.978771559425813E-002 - 2.073806735614954E-002 2.056534279880984E-002 1.775862097415827E-002 - 1.785400400775197E-002 1.959970116366359E-002 1.650073245313672E-002 - 2.107700538357553E-002 1.835473756101359E-002 1.543787547468385E-002 - 1.724863324015160E-002 1.692430995960952E-002 1.755671279453666E-002 - 1.200000000000000E-002 1.200000000000000E-002 1.200000000000000E-002 - 2.007235040916432E-002 2.072207446568267E-002 2.010940570438069E-002 - 1.200000000000000E-002 1.492592521640383E-002 1.220927458918939E-002 - 3.030042938732257E-002 1.200000000000000E-002 1.252005942892061E-002 - 1.300979318155476E-002 2.147005089376972E-002 1.781978221772817E-002 - 2.108672242341920E-002 2.102048754147479E-002 2.069439477421361E-002 - 2.076209486579146E-002 2.056757011557935E-002 2.929859594265454E-002 - 2.922286117991111E-002 2.923561467185242E-002 2.919389360585583E-002 - 2.919389793352542E-002 2.914379021696404E-002 2.882592831548406E-002 - 2.909072235241390E-002 207.345459040867 126.808280041395 - 526.470864406831 543.065681609426 603.719154986680 - 580.334741859072 696.316864683526 776.755137757670 - 969.796628551507 912.202905751388 912.786378395824 - 981.811522525053 1092.33343806190 1099.11660651185 - 1154.54797334818 1234.78351778426 1068.29473358366 - 1156.75963080538 1131.69959376039 1323.52540818226 - 1228.74568515311 1198.19046544764 1320.01828353207 - 1342.48720623605 1383.43373999434 1471.47779354518 - 1266.34812511062 1363.68747920602 1571.70950880039 - 1553.88188633079 1562.27531776339 1587.57813717509 - 1595.91310151113 1590.31885903007 1591.86046896170 - 1622.19667925242 1608.84614221570 1646.95492891532 - 1635.96390477803 1643.35354137409 1652.39491217141 - 1687.41304335673 1690.08039821329 1713.82643510765 - 1763.60332192770 1770.00971335083 1736.93860815780 - 1991.70598079751 1904.48045528270 1911.40923353429 - 1935.81816123317 1969.67219324250 1989.07514423817 - 2010.16883693306 2033.98963352068 2143.00441959709 - 2094.71306301427 2086.41449436166 2124.68378932364 - 2150.17430216698 2196.08834463275 2190.66866262454 - 2214.02865763938 2262.87506241305 2315.09167107339 - 2318.22119681943 2351.76137989558 2388.03116624500 - 2389.10313268487 2438.70305328634 2456.24497323331 - 2485.54175169601 2479.06308214315 2674.11887587923 - 2563.60778316744 2520.16179511420 2511.08546150002 - 2499.19198753996 2574.94398080211 2507.98023006946 - 2536.03617948725 2604.43836472137 2634.11753992464 - 2578.22928988771 2588.60097259082 2784.71360977614 - 2756.75851995573 2834.16561736765 2846.91682683695 - 2911.14043888759 2898.65258169405 2977.81682918408 - 3060.40247075345 3187.33703516505 3169.28837146778 - 3241.79146198004 3241.79092138789 3314.26928832939 - 3321.91967255706 3423.79158731440 - 222.416603317021 194.030007867155 581.662635062325 - 1067.36025821244 1173.99748073334 1062.14901959531 - 826.325819610748 1316.56722725267 1137.82747289107 - 1021.15512190847 1407.07409257103 1809.65973463832 - 1815.96748881437 2169.81164175290 1646.21617448126 - 1538.04881927315 1280.71318447704 899.978637200776 - 1168.29211125935 593.351232344279 1263.76573377770 - 1406.35274018452 1575.10588631105 1795.96381695763 - 2027.05504271969 2340.85988788457 1978.93445996465 - 2219.93905308457 1218.40588197166 1103.00116798552 - 1198.16788666346 1208.50288953484 1218.01867271803 - 1242.30595469648 1248.33450328724 1276.98780457877 - 1293.28687670057 1312.51257985226 1326.48657075119 - 1275.86348685019 1389.32558430914 1437.80435107687 - 1458.34914039334 1539.01784508312 1581.33205366074 - 1670.51116719197 1710.84880332497 1855.60284334712 - 1944.71610335745 2035.77858434662 2103.83990050168 - 2276.18719029762 2254.90517986174 2644.03077488165 - 2336.66086239326 2580.28695606946 2822.26206882924 - 2843.57469861163 2858.15971085891 3024.53181143196 - 3038.07997451754 2979.28353875037 3210.59147868259 - 3286.80272375129 3519.98020784630 3409.25936356733 - 2823.52762997858 3700.58144072165 3405.63504081882 - 3667.24913747850 3460.77471530776 3613.16407515940 - 4496.99856368775 3698.52611972311 3301.17023155766 - 3058.59217976990 2486.95908628268 2537.23400604408 - 1445.30087388715 2469.60418876377 2951.55400621892 - 3352.94874929349 3591.09133549443 3591.25570879776 - 3290.90207334628 5006.49879955135 5826.57450445285 - 6366.88220241843 6550.93715855354 7501.83776656631 - 7306.62735218817 8709.39153762045 8512.22503573930 - 9998.46225390475 9773.09517878987 10660.7846651822 - 10663.7819462762 11579.3933564789 12286.4461515460 - 13002.7660459598 -1.23772454516813 3.06386167943644 - -1.26477457994377 -3.32512037103658 -3.30277963587130 - -1.94168703541120 -0.769813503196809 -2.06422046483010 - -2.21798777441006 0.656875414192024 -2.04550664809691 - -2.95235881189203 -3.23682497087142 -4.01531026642102 - -2.52552407483116 -2.09864753844885 -0.797140135883153 - 2.64436861978816 -0.170561289688515 7.62678973394863 - 0.693221204769310 0.486796948771578 -0.240425965912123 - -1.12023202721432 -1.34631871146980 -1.65927392623540 - -1.40588496468785 -1.74201621305859 1.66885129476492 - 4.59136057753833 3.20008572931974 3.26879577289976 - 3.30623795728855 3.31445773958171 3.31019365484880 - 3.26508555270857 3.20518541449486 3.15412358281285 - 3.10410672753140 3.42085659003782 2.78750000290205 - 2.82953360428688 2.81490862015163 2.78963966611297 - 2.74356825019647 2.61283030795422 2.54234832264456 - 2.25700279232960 2.06325116301646 2.51043272191803 - 1.40838197605061 0.833278576207242 0.899894477608372 - -0.451734805784948 0.778122873822093 -2.988517607523618E-003 - -0.753847602695252 -0.774585514494653 -0.789497917200668 - -1.15017822380519 -1.16243406742636 -0.806121038781837 - -1.37044527697596 -1.37717078446355 -1.70718958474081 - -1.59507675193112 8.024753165083813E-002 -2.10577199492120 - -1.40299696280735 -1.84963651654540 -1.32461770328922 - -1.53034495528611 -2.62568288524056 -1.60599407997023 - -0.870120678134128 -0.556135836236043 1.29052683236957 - 0.787679789570852 7.57971274195160 1.53958041812355 - 0.199553324605204 -0.643074441195629 -1.03736175788442 - -1.03744883725864 -0.161076583360367 -2.33269866148222 - -3.25301387968462 -3.55721457976068 -3.64950383600555 - -4.05514439751972 -3.98074363695051 -4.44191123705286 - -4.38751742146024 -4.74984755504668 -4.70074041160041 - -4.87825522548623 -4.87948502348079 -5.03176372310760 - -5.13295427458729 -5.22447656122274 0.621598543733159 - -12.4839980453756 -0.412277728073746 7.04082879663345 - 6.26516661785970 1.03135774666432 -2.62193996672898 - 1.47040150816820 3.59153849872157 -8.62652524873010 - 2.48839973293238 5.75627481235640 6.67876097604667 - 9.37066710164659 4.26167983004657 2.89685394534211 - -1.08849630472299 -12.1664776727881 -2.21796292742692 - -28.7251122334231 -6.16054027983151 -5.98273215436767 - -3.04248418786718 8.552399357955441E-002 0.469774773143334 - 0.898364263381963 1.21260109558540 1.01277812230391 - -9.69824071558264 -19.5371546957055 -14.1558674374933 - -14.1971670875248 -14.1729315426278 -13.9689438269648 - -13.9034673773315 -13.5411508429653 -13.2463353214890 - -12.9760031386748 -12.7514046573068 -13.7211906147358 - -11.4308490634108 -11.6623072369216 -11.6472873339738 - -11.6957275504611 -11.6151332739583 -11.3090893472718 - -11.1289246836688 -10.3515189374691 -9.79889275077505 - -12.0115875391719 -7.55461607804986 -5.65162476053135 - -5.87247105787351 -1.14968291952994 -5.57541210072413 - -2.90532455769516 -0.230235122536160 -0.187156095822191 - -0.155936844352131 1.07025280561793 1.09483028874712 - -0.343076900272498 1.67401766721613 1.55806781909755 - 2.71038097600802 2.53190332142046 -3.61624112176552 - 4.30877965334910 1.63950611941747 3.14942425652900 - 1.12156515231340 1.72783130551112 5.16995897027034 - 2.13487670184023 -0.255129782620519 -0.777816931222458 - -7.09498595835517 -4.76931552957600 -28.0077401814477 - -7.39407257915214 -2.68495299629862 0.273188749243716 - 1.63080912631324 1.63102134586732 -1.45366805048034 - 6.03337452272000 9.27362818553268 10.3043785417104 - 10.6164684868201 11.9850506947508 11.7362298355561 - 13.2756793105961 13.0942030930896 14.2921501182219 - 14.1302487874371 14.7124661335434 14.7167435214552 - 15.2115499148452 15.5362595998898 15.8328463372402 - -0.491520349825810 16.4101387176199 2.30540587126529 - -8.21097336843830 -6.52691350906175 1.45291499601356 - 6.27184973503466 0.810533638526066 -3.73224263433007 - 15.7343054207833 -1.73719297580736 -6.55586035646889 - -7.59568407903777 -11.4194247245824 -4.04842646647485 - -2.20681937852305 2.95222506717529 18.0084113648689 - 3.37035279230307 41.5659550044541 10.1272483238909 - 10.5666508786142 5.75399373166938 1.13083909864566 - 1.01801812035805 1.13719671452332 -0.473193454462162 - 1.32819356373240 16.1328368180362 29.4416652779339 - 21.2166975327088 21.1290267786743 20.9758579249137 - 20.5136319642407 20.3827716045483 19.7103768777391 - 19.2194578038427 18.7673003180851 18.4073867486280 - 20.1306874718062 16.3093410180271 16.6659270781706 - 16.6584031488612 16.7766211963344 16.7032214943771 - 16.3402132267041 16.1174136396014 15.1278767634304 - 14.4101980238272 18.2998611461637 11.3722680253932 - 8.81842195395070 9.11544642669664 2.23855138965914 - 8.93851715736504 5.14299371528491 1.15112957508743 - 1.13847961252007 1.12916280418522 -0.602145785050374 - -0.608502201304532 1.81586662632146 -1.21132168088927 - -0.820431597772678 -2.60233924774031 -2.54833958480317 - 6.95678981605543 -5.13079901578869 -0.892432028019230 - -3.04153323754871 0.223251833821613 -0.519848430603934 - -5.18486926324859 -1.25057584728824 2.13377230864300 - 2.29144911957043 11.6123907160319 7.51193546688740 - 41.8397440936302 11.4704279967990 4.38395185342740 - -7.239653462617071E-002 -2.07774343957153 -2.07798220203689 - 2.56181501842837 -8.56492613290864 -13.4340992265649 - -14.9468796410426 -15.4043301500021 -17.4087166986002 - -17.0468619470964 -19.2848551145744 -19.0197958191801 - -20.7530159649166 -20.5189117383209 -21.3556591469591 - -21.3620185018360 -22.0694648517084 -22.5289293159363 - -22.9538365276803 0.757527909420183 -9.44944521838354 - -1.78025280416351 4.84651305169607 3.52025389537239 - -1.90653114157260 -4.81455356944119 -1.47184948710073 - 2.15807563429797 -11.3386631480622 0.710688670941776 - 3.90936234850923 4.43078480603660 6.91395273894781 - 2.02483279985699 0.880885949868907 -2.19418413553600 - -11.6192943299188 -1.79108973163566 -27.1508718888352 - -6.83016401181417 -7.54594384977733 -4.02129760183142 - -0.906681456352114 -1.07434956850477 -1.55984173768131 - 6.285950630655962E-002 -1.82979624101538 -11.3298138988101 - -19.6016889446349 -13.9245043792815 -13.8171779802291 - -13.6747930262736 -13.3187512264195 -13.2215927165866 - -12.7330314932982 -12.3886461696147 -12.0759598905353 - -11.8291603994715 -13.3369003585255 -10.3830322804332 - -10.6140550442188 -10.6110631429024 -10.6906863294816 - -10.6543778608199 -10.4362905828696 -10.3005860176488 - -9.69273530985470 -9.24782603602960 -12.2123000117892 - -7.39944992354049 -5.84200432920899 -6.02357834046790 - -1.44259661788375 -6.07281564193326 -3.60101820687928 - -0.878431812156330 -0.901273031147632 -0.918088128208956 - 0.202760080124789 0.188808110728448 -1.63352657715630 - 0.442701772959540 4.717772207773797E-002 1.31513834181785 - 1.40197085805673 -5.27753295420337 3.12791052606502 - 8.948919310603415E-002 1.50147373597199 -0.861878402262922 - -0.441135025606639 2.47839520968395 0.102238338135743 - -2.11034194306033 -1.86774264699318 -8.18157200384718 - -5.02160436293244 -28.1909902463170 -7.82728452941452 - -3.01149316934107 2.794076964118403E-002 1.36723593680843 - 1.36733478577486 -1.85838101792182 5.65699044363242 - 9.03031334713575 10.0432667322759 10.3493484017418 - 11.6907428064495 11.4499242004394 12.9402561014644 - 12.7627010987485 13.9146047555016 13.7585821867031 - 14.3118291759944 14.3162536136396 14.7825813807538 - 15.0828125527272 15.3640833850756 -0.331263040553284 - 2.03744964745919 0.438864926175240 -1.12607301612396 - -0.761687437288881 0.608857353791649 1.27013170069034 - 0.496760931263345 -0.504869454755113 2.92810950514188 - -0.133888298473656 -0.926067737968114 -1.02794940252289 - -1.63737227079082 -0.411637481045171 -0.142315567754252 - 0.552530250554967 2.78940002799529 0.307557297696647 - 6.67599245759464 1.68170991048224 1.95654473598756 - 1.00090845072453 0.212346728667741 0.304990049729217 - 0.511734178538956 1.938366288244370E-003 0.590602203790280 - 2.89826913058730 4.86351336190421 3.39298237512705 - 3.36068527121544 3.32019122651811 3.22731311148153 - 3.20229372205892 3.07720181654110 2.98973002608862 - 2.91206089880305 2.85037171517896 3.33309390330137 - 2.48606722872967 2.54114884648464 2.54032388347555 - 2.55807339082178 2.55043150410313 2.49846770320728 - 2.46609922362613 2.32143562123649 2.21503686725283 - 3.04150882703865 1.79288206665071 1.43438501786484 - 1.47628625643854 0.326151763691070 1.52606942993845 - 0.917821731303788 0.219863609006095 0.232453364978580 - 0.241806925601985 -3.272488112968032E-002 -2.524452024736238E-002 - 0.477872719583811 -5.696089741532916E-002 7.149848950467189E-002 - -0.265689714470930 -0.317061590485158 1.43539402222875 - -0.753510951145285 5.569883463988144E-002 -0.296288482270673 - 0.337304057689721 0.246165357642990 -0.444681619815064 - 0.101607892884234 0.646797508194861 0.507203416209330 - 2.11314477705417 1.22365761621435 7.07289250085264 - 1.98082764027056 0.766599073354097 -3.779711371840801E-003 - -0.335902837893040 -0.335908778608166 0.510582309852459 - -1.38049615514363 -2.26129602917194 -2.51459353969880 - -2.59110247339935 -2.92664124610984 -2.86667898181199 - -3.23820353543287 -3.19368652810461 -3.48069448760429 - -3.44161428220817 -3.57891005116188 -3.58008219734881 - -3.69557662441363 -3.76936165687869 -3.83938492095079 - 2.245000000000000E-002 0.184000000000000 4.995456808291191E-003 - 1.700000000000000E-002 2.200000000000000E-002 8.000000000000000E-002 - 4.000000000000000E-002 8.000000000000000E-002 1.071388187345269E-002 - 4.200000000000000E-002 4.000000000000000E-002 5.000000000000000E-002 - 5.000000000000000E-002 4.000000000000000E-002 3.954393247688096E-002 - 3.834360119586522E-002 3.505770321755805E-002 3.152542951603161E-002 - 3.213249785003090E-002 2.629679961095212E-002 3.784581327835196E-002 - 4.000000000000000E-002 4.460073469802006E-002 4.680084097329058E-002 - 5.324945396240532E-002 6.000000000000000E-002 5.000000000000000E-002 - 6.500000000000000E-002 3.789606515127635E-002 3.942183973854008E-002 - 4.153622276903409E-002 4.304563483080672E-002 4.422716344734613E-002 - 4.631418488436640E-002 4.678225205483591E-002 4.876414745464152E-002 - 4.960894072651007E-002 5.069449076882333E-002 5.134436530260107E-002 - 5.174584585002585E-002 5.269957342504428E-002 5.453232790405289E-002 - 5.515804916715826E-002 5.772374660951764E-002 5.886071994143913E-002 - 6.104476060183125E-002 6.193730479194276E-002 6.477070798830334E-002 - 6.626482578087686E-002 6.999999999999999E-002 6.963025748668962E-002 - 7.158306194131865E-002 7.134440689671144E-002 7.278354010221125E-002 - 7.330773588439302E-002 7.473116582992502E-002 7.523453213187041E-002 - 7.561862389812245E-002 7.586982245006768E-002 7.692138687576607E-002 - 7.712956261514614E-002 7.882115760397239E-002 7.931310773387135E-002 - 8.092440801189553E-002 8.000000000000000E-002 8.225433454407435E-002 - 8.368285100632117E-002 8.503540404339392E-002 8.600764989096830E-002 - 8.839769980232332E-002 8.952512626205164E-002 9.158802953652141E-002 - 9.499999999999999E-002 9.247825870525096E-002 9.210420061901224E-002 - 9.148278586701411E-002 9.118054807133953E-002 9.075325202013876E-002 - 9.000000000000001E-002 9.266446200694359E-002 9.400230284414772E-002 - 9.499999999999999E-002 9.560183108778503E-002 9.560252525934770E-002 - 9.594515183254111E-002 0.100016082717832 0.100352634640763 - 0.101359724045338 0.101694814547458 0.103364200005449 - 0.103031024281191 0.105347676670228 0.105024388274803 - 0.107334377472957 0.107005246555151 0.108318954137637 - 0.108318937988878 0.109629792206280 0.110608214675099 - 0.111583208369679 1.432910631689862E-002 4.833325903694274E-002 - 6.222275648154255E-003 8.413921485323494E-003 9.616455129747566E-003 - 2.380988120888511E-002 1.841484010832272E-002 2.361429713409051E-002 - 7.816553507523420E-003 1.970700273051601E-002 1.676399479991240E-002 - 1.735596694002415E-002 1.673698861555367E-002 1.299134472680727E-002 - 1.586236562216881E-002 1.661615134390072E-002 1.930796920633007E-002 - 2.434456072905426E-002 2.153417698396758E-002 2.644190413145755E-002 - 2.264860832499861E-002 2.210553636931107E-002 2.273912394757618E-002 - 2.188204824810470E-002 2.230765303261347E-002 2.209986723992064E-002 - 2.261684299071079E-002 2.292501518997497E-002 2.425100162551922E-002 - 2.622322105528265E-002 2.687154210438619E-002 2.753772895628333E-002 - 2.805257046590821E-002 2.889408224361021E-002 2.908133703295294E-002 - 2.986250290888359E-002 3.019394013581575E-002 3.060415189263862E-002 - 3.084012467742422E-002 3.183529376642485E-002 3.155315084918532E-002 - 3.162988717116327E-002 3.164509437727544E-002 3.172597506673532E-002 - 3.173080143106130E-002 3.174532435238223E-002 3.174269223921990E-002 - 3.171076657008501E-002 3.166889224151025E-002 3.125250504899098E-002 - 3.253599915646574E-002 3.293199803629464E-002 3.287998779222579E-002 - 3.322237478218969E-002 3.330574546664998E-002 3.360328609911782E-002 - 3.383613467269808E-002 3.391557496341518E-002 3.396808797136938E-002 - 3.430481656697063E-002 3.434276378717301E-002 3.455006217328945E-002 - 3.489286887623665E-002 3.519094670206362E-002 3.429065735821592E-002 - 3.652343816719581E-002 3.585222278468762E-002 3.861182135927092E-002 - 3.740568222324602E-002 3.892978998451915E-002 3.810779131070235E-002 - 3.884460149744492E-002 3.858802548950652E-002 4.065937459996354E-002 - 4.086543496905867E-002 4.332792573262651E-002 4.165920122893570E-002 - 4.402246939378456E-002 4.124498382094741E-002 4.337510554909374E-002 - 4.484440119235690E-002 4.600807818518968E-002 4.663529770286970E-002 - 4.663472087274564E-002 4.482216624128142E-002 4.787901458208471E-002 - 5.049642645398719E-002 5.100613921173114E-002 5.115832938682963E-002 - 5.180152102964582E-002 5.168491465318384E-002 5.238198498160255E-002 - 5.231526617717978E-002 5.280928000715800E-002 5.274166592729824E-002 - 5.298862564575122E-002 5.299277752579554E-002 5.318804858075203E-002 - 5.331841776405580E-002 5.342317780750782E-002 156.482114078369 - 114.807292333697 492.293372730001 651.910738053537 - 665.316537977239 430.290497182148 519.554387339780 - 523.200776972053 831.515911652783 722.060578169282 - 770.701059065608 811.788198915636 780.727287824262 - 921.134357141456 854.825507003871 853.976400925825 - 863.545791909875 896.329284341857 884.991883946947 - 883.072782456065 991.204427788963 1050.98623310669 - 1070.56995999429 1085.48685694993 1129.38823705917 - 1169.85980767326 1138.74361325352 1057.99679591235 - 1056.46994835592 1222.80642028685 1196.89033465403 - 1213.96834259834 1227.38247351983 1251.78371853089 - 1257.23439982511 1280.46837791555 1290.17859839236 - 1302.92351530975 1310.61546157986 1305.50721457195 - 1340.93329398661 1377.22101983233 1389.54694128219 - 1439.62906679740 1461.77639964560 1503.87881396248 - 1520.96143272239 1574.95075171800 1602.97564474394 - 1678.60988317012 1610.29124554946 1626.94218967726 - 1624.92120871995 1628.81918960721 1644.59423434348 - 1653.50900141857 1651.80398626344 1655.62776607810 - 1658.07365713004 1665.26250295514 1667.34852492133 - 1689.05368348985 1688.02634512469 1705.03415563964 - 1741.48686910915 1727.24810352050 1744.24633857131 - 1722.72589634463 1731.02459542531 1728.02371473784 - 1734.22508360606 1733.84488186800 1728.35132854769 - 1770.98973588670 1779.64287090667 1788.66674018995 - 1798.78661124248 1802.65540431718 1769.41174433761 - 1876.13970045519 1952.61890996569 2011.64824414431 - 2048.19403837133 2048.24362088227 2070.91177478251 - 2331.63169947478 2358.31683507195 2428.10054299849 - 2451.63841443949 2571.29955370118 2547.19301769365 - 2718.11844875558 2693.90893041841 2870.25755724313 - 2844.61934318837 2947.43612724335 2947.44233478492 - 3052.15525503342 3131.68201671531 3212.29894364813 diff --git a/StarVMC/geant3/examples/flukaerr.dat b/StarVMC/geant3/examples/flukaerr.dat deleted file mode 100644 index f66ac42b0aa..00000000000 --- a/StarVMC/geant3/examples/flukaerr.dat +++ /dev/null @@ -1,28 +0,0 @@ - Eventv: ekin+am < pla,ij,igreyt 4.00294088 4.29164008 13 27 - Eventv: ekin+am < pla,ij,igreyt 6.43645557 6.60371699 14 27 - Ferhav: kp,plabs,elabs,pprox,y,z,pfrmix,y,z 14 5.35096572E-05 0.13956751 - -0.102821232 -0.108461003 0.0480401064 -0.149106881 0.015884149 -0.117567006 - Lvmass,Am(kp),Eproj: F 0.1395675 0.210054597 - NUCEVT-FEREVT PX CONSERVATION FAILURE: PUX,PXFRM+PXCHCK -0.458926081 - -0.434687785 - NUCEVT-FEREVT PY CONSERVATION FAILURE: PUY,PYFRM+PYCHCK*TYY 1.71311318 - 1.5668416 - NUCEVT-FEREVT PZ CONSERVATION FAILURE: PUZ,PZFRM+PZCHCK 5.25122289 - 4.81623471 - NUCEVT-FEREVT E CONSERVATION FAILURE: EUZ,ETOT 7.90990944 8.67234646 - Eventv: ekin+am < pla,ij,igreyt 6.84234304 6.93390716 14 25 - Eventv: ekin+am < pla,ij,igreyt 7.74969143 8.06620983 14 20 - Eventv: ekin+am < pla,ij,igreyt 6.8505443 7.03889744 14 25 - Eventv: ekin+am < pla,ij,igreyt 8.05386782 8.32265737 14 17 - Eventv: ekin+am < pla,ij,igreyt 7.38886756 7.96870788 14 18 - Eventv: ekin+am < pla,ij,igreyt 5.65832172 5.72913258 14 8 - NUCEVT-FEREVT PX CONSERVATION FAILURE: PUX,PXFRM+PXCHCK -0.279978073 - -0.277466718 - NUCEVT-FEREVT PY CONSERVATION FAILURE: PUY,PYFRM+PYCHCK*TYY -0.524045339 - -0.510571098 - NUCEVT-FEREVT PZ CONSERVATION FAILURE: PUZ,PZFRM+PZCHCK 5.10779137 - 4.98758898 - NUCEVT-FEREVT E CONSERVATION FAILURE: EUZ,ETOT 9.17066677 9.35921791 - Nucevt: Pproj < 4 GeV/c!!! 3.30532856 97 - Eventv: ekin+am < pla,ij,igreyt 4.60715427 4.69862448 8 18 - Eventv: ekin+am < pla,ij,igreyt 6.90257309 7.00356496 14 20 diff --git a/StarVMC/geant3/examples/galicef.F b/StarVMC/geant3/examples/galicef.F deleted file mode 100644 index 238e8036b33..00000000000 --- a/StarVMC/geant3/examples/galicef.F +++ /dev/null @@ -1,71 +0,0 @@ -*CMZ : 30/12/98 16.23.44 by Rene Brun -*-- Author : Rene Brun 30/12/98 - subroutine setclip(name,xmin,xmax,ymin,ymax,zmin,zmax) -* -* define the clip box parameters for volume name -* -#undef CERNLIB_GEANT321_GCUNIT_INC -#include "geant321/gcunit.inc" -#undef CERNLIB_GEANT321_GCMUTR_INC -#include "geant321/gcmutr.inc" -#undef CERNLIB_GEANT321_GCGOBJ_INC -#include "geant321/gcgobj.inc" -*KEND. - character *(*) name - real xmin,xmax,ymin,ymax,zmin,zmax -* - IHOLE=0 - NCVOLS=NCVOLS+1 - IF(NCVOLS.EQ.MULTRA)THEN - WRITE(CHMAIL, 10000) -10000 FORMAT(' *** GXDRAW ***:', - + ' No more space to store MCVOL information.') - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) -10100 FORMAT(' *** GXDRAW ***: Please reset MCVOL') - CALL GMAIL(0,0) - return - ENDIF - IF(XMIN.GE.XMAX.OR.YMIN.GE.YMAX.OR.ZMIN.GE.ZMAX)THEN - WRITE(CHMAIL,10200) -10200 FORMAT(' Wrong Box limits. Check values ') - CALL GMAIL(0,0) - return - ENDIF -****SG - GNNVV(NCVOLS)=NAME - GNASH(NCVOLS)='BOX' - GXMIN(NCVOLS)=XMIN - GXMAX(NCVOLS)=XMAX - GYMIN(NCVOLS)=YMIN - GYMAX(NCVOLS)=YMAX - GZMIN(NCVOLS)=ZMIN - GZMAX(NCVOLS)=ZMAX - IF(GXMIN(NCVOLS).GT.-99999.)IHOLE=1 -* Resetting Mcvol mode - IF(GNNVV(NCVOLS).EQ.'.')THEN - IHOLE=0 - DO 10 JJ=1,NCVOLS - GNNVV(JJ)=' ' - GXMIN(JJ)=-100000 - GXMAX(JJ)=-99999 - GYMIN(JJ)=-100000 - GYMAX(JJ)=-99999 - GZMIN(JJ)=-100000 - GZMAX(JJ)=-99999 - 10 CONTINUE - NCVOLS=0 - ENDIF - end - subroutine setbomb(boom) -* -* set the bomb factor -* -#undef CERNLIB_GEANT321_GCMUTR_INC -#include "geant321/gcmutr.inc" -*KEND. -* - real boom -* - gboom = boom - end diff --git a/StarVMC/geant3/examples/gcbank.inc b/StarVMC/geant3/examples/gcbank.inc deleted file mode 100644 index 604ec60d825..00000000000 --- a/StarVMC/geant3/examples/gcbank.inc +++ /dev/null @@ -1,18 +0,0 @@ - INTEGER IQ,LQ,NZEBRA,IXSTOR,IXDIV,IXCONS,LMAIN,LR1,JCG - INTEGER KWBANK,KWWORK,IWS - REAL GVERSN,ZVERSN,FENDQ,WS,Q -C - PARAMETER (KWBANK=69000,KWWORK=5200) - COMMON/GCBANK/NZEBRA,GVERSN,ZVERSN,IXSTOR,IXDIV,IXCONS,FENDQ(16) - + ,LMAIN,LR1,WS(KWBANK) - DIMENSION IQ(2),Q(2),LQ(8000),IWS(2) - EQUIVALENCE (Q(1),IQ(1),LQ(9)),(LQ(1),LMAIN),(IWS(1),WS(1)) - EQUIVALENCE (JCG,JGSTAT) - INTEGER JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART - + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX - + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT -C - COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART - + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX - + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT -C diff --git a/StarVMC/geant3/examples/gccuts.inc b/StarVMC/geant3/examples/gccuts.inc deleted file mode 100644 index 27f7b49a8c1..00000000000 --- a/StarVMC/geant3/examples/gccuts.inc +++ /dev/null @@ -1,6 +0,0 @@ - COMMON/GCCUTS/CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM - + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS(5) -C - REAL CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM - + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS -C diff --git a/StarVMC/geant3/examples/gcflag.inc b/StarVMC/geant3/examples/gcflag.inc deleted file mode 100644 index 1b3330d9d9b..00000000000 --- a/StarVMC/geant3/examples/gcflag.inc +++ /dev/null @@ -1,5 +0,0 @@ - COMMON/GCFLAG/IDEBUG,IDEMIN,IDEMAX,ITEST,IDRUN,IDEVT,IEORUN - + ,IEOTRI,IEVENT,ISWIT(10),IFINIT(20),NEVENT,NRNDM(2) - COMMON/GCFLAX/BATCH, NOLOG - LOGICAL BATCH, NOLOG -C diff --git a/StarVMC/geant3/examples/gckine.inc b/StarVMC/geant3/examples/gckine.inc deleted file mode 100644 index 2220dd21bba..00000000000 --- a/StarVMC/geant3/examples/gckine.inc +++ /dev/null @@ -1,3 +0,0 @@ - COMMON/GCKINE/IKINE,PKINE(10),ITRA,ISTAK,IVERT,IPART,ITRTYP - + ,NAPART(5),AMASS,CHARGE,TLIFE,VERT(3),PVERT(4),IPAOLD -C diff --git a/StarVMC/geant3/examples/gcking.inc b/StarVMC/geant3/examples/gcking.inc deleted file mode 100644 index 7b9adbfc6aa..00000000000 --- a/StarVMC/geant3/examples/gcking.inc +++ /dev/null @@ -1,12 +0,0 @@ - PARAMETER (MXGKIN=100) - COMMON/GCKING/KCASE,NGKINE,GKIN(5,MXGKIN), - + TOFD(MXGKIN),IFLGK(MXGKIN) - INTEGER KCASE,NGKINE ,IFLGK,MXPHOT,NGPHOT - REAL GKIN,TOFD,XPHOT -C - PARAMETER (MXPHOT=800) - COMMON/GCKIN2/NGPHOT,XPHOT(11,MXPHOT) -C - COMMON/GCKIN3/GPOS(3,MXGKIN) - REAL GPOS -C diff --git a/StarVMC/geant3/examples/gclist.inc b/StarVMC/geant3/examples/gclist.inc deleted file mode 100644 index f2d812e6b51..00000000000 --- a/StarVMC/geant3/examples/gclist.inc +++ /dev/null @@ -1,7 +0,0 @@ - COMMON/GCLIST/NHSTA,NGET ,NSAVE,NSETS,NPRIN,NGEOM,NVIEW,NPLOT - + ,NSTAT,LHSTA(20),LGET (20),LSAVE(20),LSETS(20),LPRIN(20) - + ,LGEOM(20),LVIEW(20),LPLOT(20),LSTAT(20) -C - INTEGER NHSTA,NGET ,NSAVE,NSETS,NPRIN,NGEOM,NVIEW,NPLOT - + ,NSTAT,LHSTA,LGET ,LSAVE,LSETS,LPRIN,LGEOM,LVIEW,LPLOT,LSTAT -C diff --git a/StarVMC/geant3/examples/gcmate.inc b/StarVMC/geant3/examples/gcmate.inc deleted file mode 100644 index d7c77c7aabd..00000000000 --- a/StarVMC/geant3/examples/gcmate.inc +++ /dev/null @@ -1,5 +0,0 @@ - COMMON/GCMATE/NMAT,NAMATE(5),A,Z,DENS,RADL,ABSL -C - INTEGER NMAT,NAMATE - REAL A,Z,DENS,RADL,ABSL -C diff --git a/StarVMC/geant3/examples/gcnum.inc b/StarVMC/geant3/examples/gcnum.inc deleted file mode 100644 index 6a05238f882..00000000000 --- a/StarVMC/geant3/examples/gcnum.inc +++ /dev/null @@ -1,7 +0,0 @@ - COMMON/GCNUM/NMATE ,NVOLUM,NROTM,NTMED,NTMULT,NTRACK,NPART - + ,NSTMAX,NVERTX,NHEAD,NBIT - COMMON /GCNUMX/ NALIVE,NTMSTO -C - INTEGER NMATE ,NVOLUM,NROTM,NTMED,NTMULT,NTRACK,NPART - + ,NSTMAX,NVERTX,NHEAD,NBIT ,NALIVE,NTMSTO -C diff --git a/StarVMC/geant3/examples/gconsp.inc b/StarVMC/geant3/examples/gconsp.inc deleted file mode 100644 index 95dca3ad460..00000000000 --- a/StarVMC/geant3/examples/gconsp.inc +++ /dev/null @@ -1,15 +0,0 @@ - DOUBLE PRECISION PI,TWOPI,PIBY2,DEGRAD,RADDEG,CLIGHT,BIG,EMASS - DOUBLE PRECISION EMMU,PMASS,AVO -* - PARAMETER (PI=3.14159265358979324D0) - PARAMETER (TWOPI=6.28318530717958648D0) - PARAMETER (PIBY2=1.57079632679489662D0) - PARAMETER (DEGRAD=0.0174532925199432958D0) - PARAMETER (RADDEG=57.2957795130823209D0) - PARAMETER (CLIGHT=29979245800.D0) - PARAMETER (BIG=10000000000.D0) - PARAMETER (EMASS=0.0005109990615D0) - PARAMETER (EMMU=0.105658387D0) - PARAMETER (PMASS=0.9382723128D0) - PARAMETER (AVO=0.60221367D0) -* diff --git a/StarVMC/geant3/examples/gconst.inc b/StarVMC/geant3/examples/gconst.inc deleted file mode 100644 index 2385f23a09b..00000000000 --- a/StarVMC/geant3/examples/gconst.inc +++ /dev/null @@ -1,3 +0,0 @@ - COMMON/GCONST/PI,TWOPI,PIBY2,DEGRAD,RADDEG,CLIGHT,BIG,EMASS - COMMON/GCONSX/EMMU,PMASS,AVO -C diff --git a/StarVMC/geant3/examples/gcphys.inc b/StarVMC/geant3/examples/gcphys.inc deleted file mode 100644 index 10d6a2625ba..00000000000 --- a/StarVMC/geant3/examples/gcphys.inc +++ /dev/null @@ -1,27 +0,0 @@ - COMMON/GCPHYS/IPAIR,SPAIR,SLPAIR,ZINTPA,STEPPA - + ,ICOMP,SCOMP,SLCOMP,ZINTCO,STEPCO - + ,IPHOT,SPHOT,SLPHOT,ZINTPH,STEPPH - + ,IPFIS,SPFIS,SLPFIS,ZINTPF,STEPPF - + ,IDRAY,SDRAY,SLDRAY,ZINTDR,STEPDR - + ,IANNI,SANNI,SLANNI,ZINTAN,STEPAN - + ,IBREM,SBREM,SLBREM,ZINTBR,STEPBR - + ,IHADR,SHADR,SLHADR,ZINTHA,STEPHA - + ,IMUNU,SMUNU,SLMUNU,ZINTMU,STEPMU - + ,IDCAY,SDCAY,SLIFE ,SUMLIF,DPHYS1 - + ,ILOSS,SLOSS,SOLOSS,STLOSS,DPHYS2 - + ,IMULS,SMULS,SOMULS,STMULS,DPHYS3 - + ,IRAYL,SRAYL,SLRAYL,ZINTRA,STEPRA - COMMON/GCPHLT/ILABS,SLABS,SLLABS,ZINTLA,STEPLA - + ,ISYNC - + ,ISTRA -* - INTEGER IPAIR,ICOMP,IPHOT,IPFIS,IDRAY,IANNI,IBREM,IHADR,IMUNU - + ,IDCAY,ILOSS,IMULS,IRAYL,ILABS,ISYNC,ISTRA - REAL SPAIR,SLPAIR,ZINTPA,STEPPA,SCOMP,SLCOMP,ZINTCO,STEPCO - + ,SPHOT,SLPHOT,ZINTPH,STEPPH,SPFIS,SLPFIS,ZINTPF,STEPPF - + ,SDRAY,SLDRAY,ZINTDR,STEPDR,SANNI,SLANNI,ZINTAN,STEPAN - + ,SBREM,SLBREM,ZINTBR,STEPBR,SHADR,SLHADR,ZINTHA,STEPHA - + ,SMUNU,SLMUNU,ZINTMU,STEPMU,SDCAY,SLIFE ,SUMLIF,DPHYS1 - + ,SLOSS,SOLOSS,STLOSS,DPHYS2,SMULS,SOMULS,STMULS,DPHYS3 - + ,SRAYL,SLRAYL,ZINTRA,STEPRA,SLABS,SLLABS,ZINTLA,STEPLA -C diff --git a/StarVMC/geant3/examples/gcscan.inc b/StarVMC/geant3/examples/gcscan.inc deleted file mode 100644 index 23b6297d7e6..00000000000 --- a/StarVMC/geant3/examples/gcscan.inc +++ /dev/null @@ -1,20 +0,0 @@ - INTEGER MSLIST,NPHI,IPHIMI,IPHIMA,IPHI1,IPHIL,NTETA,MODTET,NSLMAX, - + MAXMDT,NSLIST,ISLIST,IPHI,ITETA,ISCUR - REAL PHIMIN,PHIMAX,TETMIN,TETMAX,VSCAN,FACTX0,FACTL, - + FACTR,SX0,SABS,TETMID,TETMAD - + ,SX0S,SX0T,SABSS,SABST,FACTSF - + ,DLTPHI,DLTETA,DPHIM1,DTETM1 - + ,FCX0M1,FCLLM1,FCRRM1 - PARAMETER (MSLIST=32,MAXMDT=3) - COMMON/GCSCAN/SCANFL,NPHI,PHIMIN,PHIMAX,NTETA,TETMIN,TETMAX, - + MODTET,IPHIMI,IPHIMA,IPHI1,IPHIL,NSLMAX, - + NSLIST,ISLIST(MSLIST),VSCAN(3),FACTX0,FACTL, - + FACTR,IPHI,ITETA,ISCUR,SX0,SABS,TETMID(MAXMDT), - + TETMAD(MAXMDT) - + ,SX0S,SX0T,SABSS,SABST,FACTSF - + ,DLTPHI,DLTETA,DPHIM1,DTETM1 - + ,FCX0M1,FCLLM1,FCRRM1 - LOGICAL SCANFL - COMMON/GCSCAC/SFIN,SFOUT - CHARACTER*80 SFIN,SFOUT -* diff --git a/StarVMC/geant3/examples/gctmed.inc b/StarVMC/geant3/examples/gctmed.inc deleted file mode 100644 index 3c26dd6be68..00000000000 --- a/StarVMC/geant3/examples/gctmed.inc +++ /dev/null @@ -1,4 +0,0 @@ - COMMON/GCTMED/NUMED,NATMED(5),ISVOL,IFIELD,FIELDM,TMAXFD,STEMAX - + ,DEEMAX,EPSIL,STMIN,CFIELD,PREC,IUPD,ISTPAR,NUMOLD - COMMON/GCTLIT/THRIND,PMIN,DP,DNDL,JMIN,ITCKOV,IMCKOV,NPCKOV -C diff --git a/StarVMC/geant3/examples/gctrak.inc b/StarVMC/geant3/examples/gctrak.inc deleted file mode 100644 index 40f72d649f5..00000000000 --- a/StarVMC/geant3/examples/gctrak.inc +++ /dev/null @@ -1,9 +0,0 @@ - PARAMETER (MAXMEC=30) - COMMON/GCTRAK/VECT(7),GETOT,GEKIN,VOUT(7),NMEC,LMEC(MAXMEC) - + ,NAMEC(MAXMEC),NSTEP ,MAXNST,DESTEP,DESTEL,SAFETY,SLENG - + ,STEP ,SNEXT ,SFIELD,TOFG ,GEKRAT,UPWGHT,IGNEXT,INWVOL - + ,ISTOP ,IGAUTO,IEKBIN, ILOSL, IMULL,INGOTO,NLDOWN,NLEVIN - + ,NLVSAV,ISTORY - PARAMETER (MAXME1=30) - COMMON/GCTPOL/POLAR(3), NAMEC1(MAXME1) -C diff --git a/StarVMC/geant3/examples/gcunit.inc b/StarVMC/geant3/examples/gcunit.inc deleted file mode 100644 index e9488250692..00000000000 --- a/StarVMC/geant3/examples/gcunit.inc +++ /dev/null @@ -1,5 +0,0 @@ - COMMON/GCUNIT/LIN,LOUT,NUNITS,LUNITS(5) - INTEGER LIN,LOUT,NUNITS,LUNITS - COMMON/GCMAIL/CHMAIL - CHARACTER*132 CHMAIL -C diff --git a/StarVMC/geant3/examples/gcvolu.inc b/StarVMC/geant3/examples/gcvolu.inc deleted file mode 100644 index 255ad7f7197..00000000000 --- a/StarVMC/geant3/examples/gcvolu.inc +++ /dev/null @@ -1,4 +0,0 @@ - COMMON/GCVOLU/NLEVEL,NAMES(15),NUMBER(15), - +LVOLUM(15),LINDEX(15),INFROM,NLEVMX,NLDEV(15),LINMX(15), - +GTRAN(3,15),GRMAT(10,15),GONLY(15),GLX(3) -C diff --git a/StarVMC/geant3/examples/gexam1 b/StarVMC/geant3/examples/gexam1 deleted file mode 100755 index 66fe7970eb76b9b009d9ff2335ee5f747c206d34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173526 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 z 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 Reading ffread data cards : type <=======' - +,/,'read 4' - +,/,'your own data cards if any' - +,/,'stop',/,' Now waiting for input',/) - - CALL GFFGO - CALL GZINIT - CALL GPART -C -C Prints version number -C - WRITE(LOUT,10000) -C - -C Geometry and materials description - - CALL UGEOM -C - CALL GLOOK('MATE',LPRIN,NPRIN,IM) - CALL GLOOK('TMED',LPRIN,NPRIN,IT) - CALL GLOOK('VOLU',LPRIN,NPRIN,IV) - IF(IM.NE.0)CALL GPRINT('MATE',0) - IF(IT.NE.0)CALL GPRINT('TMED',0) - IF(IV.NE.0)CALL GPRINT('VOLU',0) - -C Energy loss and cross-sections initialisations - - CALL GPHYSI - -C Define user histograms - - CALL UHINIT - -10000 FORMAT(/,' GEXAM1 VERSION 1.00 ',/) - - END - - - SUBROUTINE UGLAST -C. * -C. * -C. * Termination routine to print histograms and statistics -C. * -C. * - -#include "gcflag.inc" -*KEEP,PVOLUM. - COMMON/PVOLUM/ NL,NR,IMAT,X0 -*KEEP,CELOSS. - COMMON/CELOSS/SEL1(40),SEL1C(40),SER1(40),SER1C(40),SNPAT1(40,4), - * SEL2(40),SEL2C(40),SER2(40),SER2C(40),SNPAT2(40,4), - * EINTOT,DEDL(40),DEDR(40),FNPAT(40,4) -*KEND. - COMMON/SCLAST/XSEL1(40),XSEL2(40),XSEL1C(40),XSEL2C(40) - + ,XSER1(40),XSER2(40),XSER1C(40),XSER2C(40) - - DIMENSION PAT1(50),PAT2(50) -C - IF(ISWIT(10).EQ.0)CALL GLAST - -C *** Normalize and print energy distribution - - - if (eintot.eq.0) return; - CALL VZERO(XSEL1,320) - CALL VZERO(PAT1,50) - CALL VZERO(PAT2,50) - CNORM = 100./EINTOT - XEVENT=IEVENT -C - DO 10 I = 1,NL - XSEL1 (I) = CNORM * SEL1 (I) - XSEL2 (I) = CNORM*SQRT(ABS(XEVENT*SEL2 (I) - SEL1 (I)**2)) - - XSEL1C(I) = CNORM * SEL1C(I) - XSEL2C(I) = CNORM*SQRT(ABS(XEVENT*SEL2C(I) - SEL1C(I)**2)) - 10 CONTINUE - - CALL HPAK (2,XSEL1 ) - CALL HPAKE(2,XSEL2 ) - - CALL HPAK (4,XSEL1C) - CALL HPAKE(4,XSEL2C) - - DO 20 I = 1,NR - XSER1 (I) = CNORM * SER1 (I) - XSER2 (I) = CNORM*SQRT(ABS(XEVENT*SER2 (I) - SER1 (I)**2)) - - XSER1C(I) = CNORM * SER1C(I) - XSER2C(I) = CNORM*SQRT(ABS(XEVENT*SER2C(I) - SER1C(I)**2)) - 20 CONTINUE - - CALL HPAK (3,XSER1 ) - CALL HPAKE(3,XSER2 ) - - CALL HPAK (5,XSER1C) - CALL HPAKE(5,XSER2C) - - DO 40 IP = 1,3 - DO 30 I = 1,NL - PAT1(I) = SNPAT1(I,IP) / XEVENT - PAT2(I) = SQRT(SNPAT2(I,IP)/XEVENT - PAT1(I)**2) - 30 CONTINUE - CALL HPAK (10+IP,PAT1) - CALL HPAKE(10+IP,PAT2) - 40 CONTINUE - - PRINT 10000 - PRINT 10200,( XSEL2 (I),I=1,NL) - PRINT 10300,( XSEL2C(I),I=1,NL) - PRINT 10100 - PRINT 10200,( XSER2 (I),I=1,NR) - PRINT 10300,( XSER2C(I),I=1,NR) -10000 FORMAT(///,40X,'LONGITUDINAL PROFIL',/) -10100 FORMAT(///,40X,' RADIAL PROFIL ',/) -10200 FORMAT(//,30X,'ERROR ON PROFIL VALUES',/ - + ,(10X,10F10.4)) -10300 FORMAT(//,30X,'ERROR ON CUMULATIVE VALUES',/ - + ,(10X,10F10.4)) - -C -C Save histograms -C - CALL HRPUT(0,'gexam1.hist',' ') -C - IF(ISWIT(10).EQ.0)THEN - CALL HIDOPT(0,'BLAC') - CALL HISTDO - ENDIF - END - - - SUBROUTINE UHINIT -C -C * To book the user's histograms -C * - -*KEEP,PVOLUM. - COMMON/PVOLUM/ NL,NR,IMAT,X0 -*KEND. - -C -C *** Histograms for shower development -C - NBINZ=NL+1 - NBINR=NR+1 - ZMAX=NBINZ+1 - RMAX=NBINR+1 -C - CALL HBOOK1(1,'TOTAL ENERGY DEPOSITION$' - *,100, 81.,101., 0.0) - CALL HBOOK1(2,'LONGIT ENERGY DEPOSITION $' - *, NBINZ, 1.,ZMAX, 0.0) - CALL HBOOK1(4,'CUMUL LONGIT ENERGY DEP. $' - *, NBINZ, 1.,ZMAX, 0.0) - CALL HBOOK1(3,'RADIAL ENERGY DEPOSITION $' - *, NBINR, 1.,RMAX, 0.0) - CALL HBOOK1(5,'CUMUL RADIAL ENERGY DEP. $' - *, NBINR, 1.,RMAX, 0.0) - CALL HBOOK1(11,'NB OF GAMMA PER PLANE$' - *, NBINZ, 1.,ZMAX, 0.0) - CALL HBOOK1(12,'NB OF E + PER PLANE$' - *, NBINZ, 1.,ZMAX, 0.0) - CALL HBOOK1(13,'NB OF E - PER PLANE$' - *, NBINZ, 1.,ZMAX, 0.0) - - CALL HBIGBI(0,4) - - -C -C *** Histograms for detailed studies -C - CALL HBOOK1(21,'TOTAL GAMMA LENGHT IN RL$' - *,100, 0., 10. , 0.) - CALL HBOOK1(22,'TOTAL POSIT LENGHT IN RL$' - *,100, 0., 5. , 0.) - CALL HBOOK1(23,'TOTAL ELECT LENGHT IN RL$' - *,100, 0., 5. , 0.) - - CALL HBOOK1(31,'NUMBER OF NEXT CALLS$' - *,100, 0., 0.1, 0.) - CALL HBOOK1(32,'NUMBER OF MULS CALLS$' - *,100, 0., 0.01, 0.) - CALL HBOOK1(33,'NUMBER OF LOSS CALLS$' - *,100, 0., 0.01, 0.) - CALL HBOOK1(34,'NUMBER OF FIEL CALLS$' - *,100, 0., 0.1, 0.) - CALL HBOOK1(35,'NUMBER OF DCAY CALLS$' - *,100, 0., 0.1, 0.) - CALL HBOOK1(36,'NUMBER OF PAIR CALLS$' - *,100, 0., 0.1, 0.) - CALL HBOOK1(37,'NUMBER OF COMP CALLS$' - *,100, 0., 0.01, 0.) - CALL HBOOK1(38,'NUMBER OF PHOT CALLS$' - *,100, 0., 0.01, 0.) - CALL HBOOK1(39,'NUMBER OF BREM CALLS$' - *,100, 0., 0.1, 0.) - CALL HBOOK1(40,'NUMBER OF DRAY CALLS$' - *,100, 0., 0.1, 0.) - CALL HBOOK1(41,'NUMBER OF ANNI CALLS$' - *,100, 0., 0.01, 0.) - - CALL HBOOK1(51,'ENERGY DISTR OF GAMMAS$' - *,100,0.,0.1,0.) - CALL HBOOK1(52,'ENERGY DISTR OF POSITRONS$' - *,100,0.,0.1,0.) - CALL HBOOK1(53,'ENERGY DISTR OF ELECTRONS$' - *,100,0.,0.1,0.) - CALL HBOOK1(61,'ENERGY DISTR OF GAMMAS$' - *,100,0.,0.01,0.) - CALL HBOOK1(62,'ENERGY DISTR OF POSITRONS$' - *,100,0.,0.01,0.) - CALL HBOOK1(63,'ENERGY DISTR OF ELECTRONS$' - *,100,0.,0.01,0.) - - - - END diff --git a/StarVMC/geant3/examples/gexam1.dat b/StarVMC/geant3/examples/gexam1.dat deleted file mode 100755 index e38b207e953..00000000000 --- a/StarVMC/geant3/examples/gexam1.dat +++ /dev/null @@ -1,12 +0,0 @@ -LIST -TRIGGERS 10 -DEBUG 1 1 1 -CUTS 0.0001 0.001 -KINE 101 10. 0. 0. -1. -MATER 21 -BINS 20 IN Z 20 IN R -PRINT 'MATE' 'VOLU' 'TMED' -RAYL 0 -TIME 2=10. -SWIT 9=0 -END diff --git a/StarVMC/geant3/examples/gexam3 b/StarVMC/geant3/examples/gexam3 deleted file mode 100755 index bbd0f757eba7ffccb596157820ce3ef713494d4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156218 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 pZM7 Reading ffread data cards : type <=======' - +,/,'read 4' - +,/,'your own data cards if any' - +,/,'stop',/,' Now waiting for input',/) - - CALL GFFGO -C - CALL GZINIT -C - CALL GDINIT -C - IF(NRGET.NE.0)THEN - IF(IUCOMP(4HINIT,LRGET,NRGET).NE.0)THEN - CALL GRFILE(3,'TEST',' ') - CALL GRGET('INIT',0,1,0) - GO TO 10 - ENDIF - ENDIF -C - IF(NGET .GT.0) CALL GOPEN(1,'I',0,IER) - IF(NSAVE.GT.0) CALL GOPEN(2,'O',0,IER) -C - DO 5 I=1,20 - CALL UHTOC(LGET(I),4,CHGET(I),4) - CALL UHTOC(LSAVE(I),4,CHSAVE(I),4) - 5 CONTINUE - CALL GGET(1,CHGET,-NGET,IDENT,IER) - IF(IDENT.EQ.0) GO TO 10 -C - CALL GPART -C - CALL GSMATE(15,'AIR$',14.61,7.3,0.001205,30423.24,6750.,0,0) - CALL GSMATE(16,'VACUUM$',1.E-16,1.E-16,1.E-16,1.E+16,1.E+16,0,0) - CALL GSMATE(17,'CALCIUM$',40.08,20.,1.55,10.4,23.2,0,0) - CALL GSMIXT(18,'MYLAR$',AMYL,ZMYL,1.39,-3,WMYL) - CALL GSMIXT(19,'PYREX$',APYR,ZPYR,2.23,4,WPYR) - CALL GSMIXT(20,'FREON13$',AFRE,ZFRE,4.26E-03,-3,WFRE) - CALL GSMIXT(21,'CO2$',ACO2,ZCO2,1.79E-03,-2,WCO2) - CALL GSMIXT(22,'POLYETHYLENE$',APOL,ZPOL,.935,-2,WPOL) - CALL GSMIXT(23,'SCINT$',ASCI,ZSCI,1.032,-2,WSCI) - CALL GSMIXT(24,'FRONTDRIFT$',AFDR,ZFDR,2.85E-03,5,WFDR) - CALL GSMIXT(25,'REARDRIFT$',ARDR,ZRDR,3.24E-03,5,WRDR) -C - CALL UGEOM -C - CALL UDET -C - 10 CALL GPHYSI -C - IF(NHSTA.GT.0) CALL GBHSTA - CALL USETPL -C -C - RETURN - END - - - SUBROUTINE UGLAST -C -#include "gclist.inc" -C - CALL GLAST -C - IF(NGET.NE.0.OR.NSAVE.NE.0) CALL GCLOSE(0,IER) -C - CALL HISTDO -C - RETURN - END - - - SUBROUTINE UGEOM -C -C -#include "gclist.inc" -#include "gconst.inc" -C - COMMON/DLSFLD/ISWFLD,FLDVAL -C - DIMENSION CAVPAR(3),TGTPAR(3),TBIPAR(4),TBOPAR(4),ARMPAR(4) - + ,FMIPAR(3),FCIPAR(5),FCOPAR(5),FHOPAR(3),FDIPAR(3),FDOPAR(3) - + ,FLDPAR(3),RD1IPA(3),RD1OPA(3),RD2IPA(3),RD2OPA(3),RD3IPA(3) - + ,RD3OPA(3),RHOPAR(3) -C -C VOLUME SIZE PARAMETERS -C - DATA CAVPAR/450.,100.,360./ - DATA TGTPAR/.47625,1.27,.0232/ - DATA TBIPAR/60.91172,5.07172,10.14,27.92/ - DATA TBOPAR/60.96,5.08,10.16,27.94/ - DATA ARMPAR/18.,210.,50.,190./ - DATA FMIPAR/36.83,12.7,.06/ - DATA FCIPAR/13.29941,50.69885,7.565299,13.90419,34.23/ - DATA FCOPAR/13.335,50.80,7.62,13.97,34.29/ - DATA FHOPAR/40.005,13.49375,.15875/ - DATA FDIPAR/41.91,13.97,4.2/ - DATA FDOPAR/41.917,13.977,4.207/ - DATA FLDPAR/55.88,19.05,25.40/ - DATA RD1IPA/70.000,25.500,7.800/ - DATA RD1OPA/70.007,25.507,7.807/ - DATA RD2IPA/85.000,29.500,7.800/ - DATA RD2OPA/85.007,29.507,7.807/ - DATA RD3IPA/100.000,33.500,7.800/ - DATA RD3OPA/100.007,33.507,7.807/ - DATA RHOPAR/150.5,47.,.3175/ -C -C LOCATIONS: -C TGT VERSUS CAVE CENTER -C FIELD AND DETECTORS VERSUS ARM CENTER -C ANGLE SETTINGS OF LEFT AND RIGHT ARMS (DEG., ANGR IS NEG.) -C LEFT AND RIGHT ARM VERSUS CAVE CENTER -C - DATA ZTG/-100./ - DATA DFCO,DFHO,DFDO,DFLD,DRD1,DRD2,DRD3,DRHO/-154.77,-120.1625 - + ,-115.4,-84.92,-27.77,3.98,35.73,142.41/ - DATA ANGL,ANGR/45.,-45./ - DATA DARM/217./ - CANGL=COS(ANGL*DEGRAD) - SANGL=SIN(ANGL*DEGRAD) - CANGR=COS(ANGR*DEGRAD) - SANGR=SIN(ANGR*DEGRAD) - XLARM=DARM*SANGL - ZLARM=DARM*CANGL+ZTG - XRARM=DARM*SANGR - ZRARM=DARM*CANGR+ZTG -C - CALL GSTMED( 1,'AIR $',15,0,0,0.,10.,.2,.1,.001,.5,0,0) - CALL GSTMED( 2,'TARGET $',17,0,0,0.,10.,.2,.1,.001,.5,0,0) - CALL GSTMED( 3,'VACUUM $',16,0,0,0., 0.,.0,.0,.001,.5,0,0) - CALL GSTMED( 4,'MYLAR $',18,0,0,0.,10.,.2,.1,.001,.5,0,0) - CALL GSTMED( 5,'PYREX $',19,0,0,0.,10.,.2,.1,.001,.5,0,0) - CALL GSTMED( 6,'FREON13 $',20,0,0,0.,10.,.2,.1,.001,.5,0,0) - CALL GSTMED( 7,'POLYETHYL.$',22,0,0,0.,10.,.2,.1,.001,.5,0,0) - CALL GSTMED( 8,'SCINTILL. $',23,0,0,0.,10.,.2,.1,.01,.5,0,0) - CALL GSTMED( 9,'FRONTDRIFT$',24,0,0,0.,10.,.2,.1,.001,.5,0,0) - CALL GSTMED(10,'AIR+FIELD $',15,0,ISWFLD,6.,10.,.2,.1,.01,.5,0,0) - CALL GSTMED(11,'REAR DRIFT$',25,0,0,0.,10.,.2,.1,.001,.5,0,0) - CALL GSTMED(12,'CO2 $',21,0,0,0.,10.,.2,.1,.01,.5,0,0) - CALL GSTMED(13,'FR.DR.S.P.$',24,1,0,0.,10.,.2,.1,.001,.5,0,0) - CALL GSTMED(14,'RE.DR.S.P.$',25,1,0,0.,10.,.2,.1,.001,.5,0,0) -C -C CAVE REFERENCE FRAME: -C OZ ALONG BEAM, OX HORIZONTAL, OY VERTICAL -C - CALL GSVOLU('CAVE','BOX ',1,CAVPAR,3,ICAVE) -C -C TARGET BOX SHIFTED UPSTREAM 100CM IN CAVE. -C REFERENCE FRAME: -C OZ ALONG BEAM, OX HORIZONTAL, OY VERTICAL. -C CA DENSITY = 1.55 G/CM**3. -C 5 SEGMENTS. -C - CALL GSVOLU('TGT ','BOX ',2,TGTPAR,3,ITGT ) - CALL GSVOLU('TBIN','TRD1',3,TBIPAR,4,ITBIN) - CALL GSVOLU('TBOU','TRD1',4,TBOPAR,4,ITBOU) -C -C LEFT AND RIGHT ARM REFERENCE FRAMES: -C OZ ALONG CENTRAL RAY, OX HORIZONTAL, OY VERTICAL. -C - CALL GSVOLU('ARM ','TRD1',1,ARMPAR,4,IARM) - CALL GSVOLU('FMIR','BOX ',5,FMIPAR,3,IFMIR) - CALL GSVOLU('FCIN','TRD2',6,FCIPAR,5,IFCIN) - CALL GSVOLU('FCOU','TRD2',7,FCOPAR,5,IFCOU) - CALL GSVOLU('FHOD','BOX ',8,FHOPAR,3,IFHOD) - CALL GSVOLU('FDIN','BOX ',9,FDIPAR,3,IFDIN) - CALL GSVOLU('FDOU','BOX ',4,FDOPAR,3,IFDOU) - CALL GSVOLU('FLD ','BOX ',10,FLDPAR,3,IFLD ) - CALL GSVOLU('RD1I','BOX ',11,RD1IPA,3,IRD1I) - CALL GSVOLU('RD1O','BOX ', 4,RD1OPA,3,IRD1O) - CALL GSVOLU('RD2I','BOX ',11,RD2IPA,3,IRD2I) - CALL GSVOLU('RD2O','BOX ', 4,RD2OPA,3,IRD2O) - CALL GSVOLU('RD3I','BOX ',11,RD3IPA,3,IRD3I) - CALL GSVOLU('RD3O','BOX ', 4,RD3OPA,3,IRD3O) - CALL GSVOLU('RHOD','BOX ', 8,RHOPAR,3,IRHOD) -C -C DRIFT CHAMBER SENSE PLANES -C - FDIPAR(3)=.0025 - CALL GSVOLU('FSP ','BOX ',13,FDIPAR,3,IFSP ) - RD1IPA(3)=.0025 - CALL GSVOLU('RSP1','BOX ',14,RD1IPA,3,IRSP1) - RD2IPA(3)=.0025 - CALL GSVOLU('RSP2','BOX ',14,RD2IPA,3,IRSP2) - RD3IPA(3)=.0025 - CALL GSVOLU('RSP3','BOX ',14,RD3IPA,3,IRSP3) -C -C - THLX=90.+ANGL - THRX=90.+ANGR - PHX=0. - THY=90. - PHY=90. - THLZ=ANGL - THRZ=-ANGR - PHLZ=0. - PHRZ=180. - CALL GSROTM(1,THLX,PHX,THY,PHY,THLZ,PHLZ) - CALL GSROTM(2,THRX,PHX,THY,PHY,THRZ,PHRZ) -C -C - CALL GSPOS('TGT ',1,'TBIN', 0., 0.,-5.08,0,'ONLY') - CALL GSPOS('TGT ',2,'TBIN', 0., 0.,-2.54,0,'ONLY') - CALL GSPOS('TGT ',3,'TBIN', 0., 0., 0. ,0,'ONLY') - CALL GSPOS('TGT ',4,'TBIN', 0., 0., 2.54,0,'ONLY') - CALL GSPOS('TGT ',5,'TBIN', 0., 0., 5.08,0,'ONLY') - CALL GSPOS('TBIN',1,'TBOU', 0., 0., 0.,0,'ONLY') - CALL GSPOS('TBOU',1,'CAVE', 0., 0., ZTG,0,'ONLY') -C - CALL GSPOS('ARM ',1,'CAVE',XLARM,0.,ZLARM,1,'ONLY') - CALL GSPOS('ARM ',2,'CAVE',XRARM,0.,ZRARM,2,'ONLY') -C - CALL GSPOS('FMIR',1,'FCIN',0.,0.,26.0350,0,'ONLY') - CALL GSPOS('FCIN',1,'FCOU',0.,0., 0. ,0,'ONLY') - CALL GSPOS('FCOU',1,'ARM ',0.,0., DFCO ,0,'ONLY') -C - CALL GSPOS('FHOD',1,'ARM ',0.,0., DFHO ,0,'ONLY') -C - CALL GSPOS('FDIN',1,'FDOU',0.,0., 0. ,0,'ONLY') - CALL GSPOS('FDOU',1,'ARM ',0.,0., DFDO ,0,'ONLY') -C - CALL GSPOS('FLD ',1,'ARM ',0.,0., DFLD ,0,'ONLY') -C - CALL GSPOS('RD1I',1,'RD1O',0.,0., 0. ,0,'ONLY') - CALL GSPOS('RD1O',1,'ARM ',0.,0., DRD1 ,0,'ONLY') -C - CALL GSPOS('RD2I',1,'RD2O',0.,0., 0. ,0,'ONLY') - CALL GSPOS('RD2O',1,'ARM ',0.,0., DRD2 ,0,'ONLY') -C - CALL GSPOS('RD3I',1,'RD3O',0.,0., 0. ,0,'ONLY') - CALL GSPOS('RD3O',1,'ARM ',0.,0., DRD3 ,0,'ONLY') -C - CALL GSPOS('RHOD',1,'ARM ',0.,0., DRHO ,0,'ONLY') -C - CALL GSPOS('FSP ',1,'FDIN',0.,0.,-2.9975,0,'ONLY') - CALL GSPOS('FSP ',2,'FDIN',0.,0.,-1.7975,0,'ONLY') - CALL GSPOS('FSP ',3,'FDIN',0.,0., -.5975,0,'ONLY') - CALL GSPOS('FSP ',4,'FDIN',0.,0., .6025,0,'ONLY') - CALL GSPOS('FSP ',5,'FDIN',0.,0., 1.8025,0,'ONLY') - CALL GSPOS('FSP ',6,'FDIN',0.,0., 3.0025,0,'ONLY') -C - CALL GSPOS('RSP1',1,'RD1I',0.,0.,-5.9975,0,'ONLY') - CALL GSPOS('RSP1',2,'RD1I',0.,0.,-3.5975,0,'ONLY') - CALL GSPOS('RSP1',3,'RD1I',0.,0.,-1.1975,0,'ONLY') - CALL GSPOS('RSP1',4,'RD1I',0.,0., 1.2025,0,'ONLY') - CALL GSPOS('RSP1',5,'RD1I',0.,0., 3.6025,0,'ONLY') - CALL GSPOS('RSP1',6,'RD1I',0.,0., 6.0025,0,'ONLY') -C - CALL GSPOS('RSP2',1,'RD2I',0.,0.,-5.9975,0,'ONLY') - CALL GSPOS('RSP2',2,'RD2I',0.,0.,-3.5975,0,'ONLY') - CALL GSPOS('RSP2',3,'RD2I',0.,0.,-1.1975,0,'ONLY') - CALL GSPOS('RSP2',4,'RD2I',0.,0., 1.2025,0,'ONLY') - CALL GSPOS('RSP2',5,'RD2I',0.,0., 3.6025,0,'ONLY') - CALL GSPOS('RSP2',6,'RD2I',0.,0., 6.0025,0,'ONLY') -C - CALL GSPOS('RSP3',1,'RD3I',0.,0.,-5.9975,0,'ONLY') - CALL GSPOS('RSP3',2,'RD3I',0.,0.,-3.5975,0,'ONLY') - CALL GSPOS('RSP3',3,'RD3I',0.,0.,-1.1975,0,'ONLY') - CALL GSPOS('RSP3',4,'RD3I',0.,0., 1.2025,0,'ONLY') - CALL GSPOS('RSP3',5,'RD3I',0.,0., 3.6025,0,'ONLY') - CALL GSPOS('RSP3',6,'RD3I',0.,0., 6.0025,0,'ONLY') -C -C CALL GSORD('ARM ',3) - CALL GSORD('FDIN',3) - CALL GSORD('RD1I',3) - CALL GSORD('RD2I',3) - CALL GSORD('RD3I',3) -C -C - IF(IUCOMP(4HVOLU,LPRIN,NPRIN).NE.0)CALL GPVOLU(0) - IF(IUCOMP(4HROTM,LPRIN,NPRIN).NE.0)CALL GPROTM(0) - IF(IUCOMP(4HTMED,LPRIN,NPRIN).NE.0)CALL GPTMED(0) - IF(IUCOMP(4HMATE,LPRIN,NPRIN).NE.0)CALL GPMATE(0) - IF(IUCOMP(4HPART,LPRIN,NPRIN).NE.0)CALL GPPART(0) -C -C - CALL GGCLOS -C - RETURN - END - - - SUBROUTINE UDET -C -#include "gclist.inc" - CHARACTER*4 NAMESH(9),NAFD(2),NARD1(2),NARD2(2),NARD3(2) - DIMENSION NBITSH(9),NBITSV(2),ORIG(9),FACT(9) -C - DATA NAFD,NARD1,NARD2,NARD3/'ARM ','FSP ','ARM ','RSP1' - + ,'ARM ','RSP2','ARM ','RSP3'/ - DATA NBITSV/2,6/ - DATA NAMESH/'X ','Y ','Z ','U ','V ','W ' - + ,'UP ','VP ','WP '/ - DATA NBITSH/6*17,3*12/ - DATA ORIG/3*300,3*100.,3*1./ - DATA FACT/3*100.,3*500.,3*1000./ -C -C - IF(IUCOMP(4HDRFT,LSETS,NSETS).EQ.0)GO TO 99 - CALL GSDET('DRFT','FSP ',2,NAFD ,NBITSV,1,100,100,IDRFT,IFD ) - CALL GSDET('DRFT','RSP1',2,NARD1,NBITSV,1,100,100,IDRFT,IRD1) - CALL GSDET('DRFT','RSP2',2,NARD2,NBITSV,1,100,100,IDRFT,IRD2) - CALL GSDET('DRFT','RSP3',2,NARD3,NBITSV,1,100,100,IDRFT,IRD3) -C -C - CALL GSDETH('DRFT','FSP ',9,NAMESH,NBITSH,ORIG,FACT) - CALL GSDETH('DRFT','RSP1',9,NAMESH,NBITSH,ORIG,FACT) - CALL GSDETH('DRFT','RSP2',9,NAMESH,NBITSH,ORIG,FACT) - CALL GSDETH('DRFT','RSP3',9,NAMESH,NBITSH,ORIG,FACT) -C -C - IF(IUCOMP(4HSETS,LPRIN,NPRIN).NE.0)CALL GPSETS(0,0) -C - 99 RETURN - END - - - SUBROUTINE USETPL -C -#include "gclist.inc" -C - CALL HBOOK1(100,' XHITS IN LFDR$',100,-50.,50.,0.) - CALL HBOOK1(101,' YHITS IN LFDR$', 40,-20.,20.,0.) - CALL HBOOK1(102,' ZHITS IN LFDR$', 20,-10.,10.,0.) - CALL HBOOK1(110,' XHITS IN RFDR$',100,-50.,50.,0.) - CALL HBOOK1(111,' YHITS IN RFDR$', 40,-20.,20.,0.) - CALL HBOOK1(112,' ZHITS IN RFDR$', 20,-10.,10.,0.) -C - RETURN - END - - - SUBROUTINE GUKINE -C. -C. ****************************************************************** -C. * * -C. * * -C. * Read or Generates Kinematics for primary tracks * -C. * * -C. * * -C. ****************************************************************** -C. -#include "gclist.inc" -#include "gckine.inc" -#include "gconst.inc" - CHARACTER*4 CHGET(20) - DIMENSION XVERT(3) - DIMENSION P1(3) - DIMENSION RNDM(3) - SAVE XVERT -C - DATA XVERT/0.,0.,-100./ -C. -C. ------------------------------------------------------------------ -C. - IF(NGET.LE.0)GO TO 10 - ITRY=0 - 5 ITRY=ITRY+1 - IF(ITRY.GT.2)GO TO 10 - DO 6 I=1,NGET - CALL UHTOC(LGET(I),4,CHGET(I),4) - 6 CONTINUE - CALL GGET(1,CHGET,NGET,IDENT,IER) - IF(IDENT.LE.0)GO TO 5 - IF(IUCOMP(4HKINE,LGET,NGET).NE.0)GO TO 99 -C - 10 CALL GSVERT(XVERT,0,0,0,0,NVTX) -C - IF(IKINE.EQ.0)THEN - READ(4,100)NTR - 100 FORMAT(I5) - DO 200 ITR=1,NTR - READ(4,110)P1,ITYPE - 110 FORMAT(3F8.4,I2) - CALL GSKINE(P1,ITYPE,NVTX,0,0,NT1) - 200 CONTINUE - ENDIF -C - IF(IKINE.EQ.1)THEN - IF(PKINE(1).EQ.0.)PKINE(1)=25. - IF(PKINE(2).EQ.0.)PKINE(2)=65. - IF(PKINE(3).EQ.0.)PKINE(3)=-5. - IF(PKINE(4).EQ.0.)PKINE(4)= 5. - IF(PKINE(5).EQ.0.)PKINE(5)= .2 - IF(PKINE(6).EQ.0.)PKINE(6)= .8 - IF(PKINE(7).EQ.0.)PKINE(7)= 1. - IMAX=INT(PKINE(7)) - IF(PKINE(8).EQ.0.)PKINE(8)=14. - ITYPE=INT(PKINE(8)) - CALL GRNDM(RNDM,3) - DO 300 I=1,IMAX - TH=RNDM(1)*(PKINE(2)-PKINE(1))+PKINE(1) - PH=RNDM(2)*(PKINE(4)-PKINE(3))+PKINE(3) - PMOM=RNDM(3)*(PKINE(6)-PKINE(5))+PKINE(5) - P1(1)=PMOM*SIN(TH*DEGRAD)*COS(PH*DEGRAD) - P1(2)=PMOM*SIN(TH*DEGRAD)*SIN(PH*DEGRAD) - P1(3)=PMOM*COS(TH*DEGRAD) - CALL GSKINE(P1,ITYPE,NVTX,0,0,NT1) - 300 CONTINUE - ENDIF -C - 99 RETURN - END - - - SUBROUTINE GUTREV -C. -C. ****************************************************************** -C. * * -C. * * -C. * User routine to control tracking of one event * -C. * * -C. * Called by GRUN * -C. * * -C. * * -C. ****************************************************************** -C. -C. -C. ------------------------------------------------------------------ -C. -#include "gcbank.inc" -#include "gclist.inc" -#include "gcflag.inc" -C - IF(NGET.EQ.0)GO TO 10 - IF(IUCOMP(4HHITS,LGET,NGET).NE.0)GO TO 99 -C -C - 10 CALL GTREVE -C - 99 RETURN - END - - - SUBROUTINE GUFLD(X,F) -C. -C. ****************************************************************** -C. * * -C. * * -C. * User routine to compute the magnetic field F * -C. * at space point X * -C. * Called by GRkuta,GHELIX * -C. * * -C. * * -C. ****************************************************************** -C. - COMMON/DLSFLD/ISWFLD,FLDVAL -C - DIMENSION X(3),F(3) -C. -C. ------------------------------------------------------------------ -C. - F(1)=0. - F(2)=FLDVAL - F(3)=0. -C - RETURN - END - - - SUBROUTINE GUSTEP -C. -C. ****************************************************************** -C. * * -C. * * -C. * User routine called at the end of each tracking step * -C. * INWVOL is different from 0 when the track has reached * -C. * a volume boundary * -C. * ISTOP is different from 0 if the track has stopped * -C. * * -C. * * -C. ****************************************************************** -C. -#include "gcflag.inc" -#include "gctmed.inc" -#include "gckine.inc" -#include "gctrak.inc" -#include "gcking.inc" -**KEEP,GCSETS. - COMMON/GCSETS/IHSET,IHDET,ISET,IDET,IDTYPE,NVNAME,NUMBV(20) -C - INTEGER IHSET,IHDET,ISET,IDET,IDTYPE,NVNAME,NUMBV -C -*KEND. - DIMENSION HITS(9) -C. -C. ------------------------------------------------------------------ -C. -c if (iswit(6).ne.0) call grecord - - IF(IDET.EQ.0)GO TO 20 - IF(CHARGE.EQ.0.)GO TO 20 - IF(INWVOL.NE.1)GO TO 20 - DO 10 I=1,3 - HITS(I) =VECT(I) - 10 CONTINUE - CALL GMTOD(VECT(1),HITS(4),1) - CALL GMTOD(VECT(4),HITS(7),2) - CALL GSAHIT(ISET,IDET,ITRA,NUMBV,HITS,IHIT) -C - 20 IF(ISWIT(6).EQ.0)THEN -C - IF(NGKINE.GT.0)THEN - DO 30 I=1,NGKINE - IFLGK(I)=1 - 30 CONTINUE - CALL GSKING(0) - ENDIF - ENDIF -C - CALL GDEBUG -C - 999 END - - - SUBROUTINE GUOUT -C. -C. ****************************************************************** -C. * * -C. * * -C. * User routine called at the end of each event * -C. * * -C. * * -C. ****************************************************************** -C. -#include "gclist.inc" -#include "gcflag.inc" - DIMENSION NUMVS(2),NUMBV(2,50),HITS(9,50),ITRA(50) - CHARACTER*4 CHSAVE(20) - SAVE NUMVS - DATA NUMVS/0,1/ -C. -C. ------------------------------------------------------------------ -C. - IF(IDEBUG.NE.0)THEN - IF(ISWIT(1).EQ.1)THEN - CALL GPVERT(0) - CALL GPKINE(0) - ENDIF - IF(ISWIT(2).EQ.1)THEN - CALL GPJXYZ(0) - ENDIF - IF(ISWIT(3).EQ.1)THEN - CALL GPHITS('*','*') - ENDIF - ENDIF -C - CALL GFHITS('DRFT','FSP ',2,9,50,0,NUMVS,ITRA,NUMBV,HITS,NHITS) -C - IF(NHITS.LE.0)GO TO 20 - DO 10 IHIT=1,NHITS - ID=0 - IF(NUMBV(1,IHIT).EQ.1)ID=100 - IF(NUMBV(1,IHIT).EQ.2)ID=110 - X=HITS(4,IHIT) - Y=HITS(5,IHIT) - Z=HITS(6,IHIT) - IF(ID.EQ.0)GO TO 10 - CALL HFILL(ID ,X,0.,1.) - CALL HFILL(ID+1,Y,0.,1.) - CALL HFILL(ID+2,Z,0.,1.) - 10 CONTINUE -C -C SAVE EVENT -C - 20 IF(NSAVE.LE.0)GO TO 30 - DO 25 I=1,NSAVE - CALL UHTOC(LSAVE(I),4,CHSAVE(I),4) - 25 CONTINUE - CALL GSAVE(2,CHSAVE,NSAVE,1,IER) -C - 30 CALL DLSOUT -C - 99 RETURN - END - - - SUBROUTINE GUDIGI -C. -C. ****************************************************************** -C. * * -C. * * -C. * User routine to digitize one event * -C. * * -C. * * -C. ****************************************************************** -C. -#include "gcbank.inc" -#include "gcflag.inc" -#include "gcnum.inc" -C DIMENSION NUMVS(1),NUMBV(1,30),HITS(7,30),ITRA(30) -C DIMENSION XL(3),XR(3),PARL(3),PARR(3) -C DIMENSION X(3),XNEW(3),XP(3),DX(3),XPNEW(3) -C DIMENSION X1(6),X2(6),XINT(6),PZINT(4) -C DIMENSION XSAV(2,6,30),YSAV(2,6,30) -C DATA NUMVS/0/ -C DATA DX/0.,0.,0./ -C DATA NPL/6/ -C DATA S1,S2/0.,0./ -C. -C. ------------------------------------------------------------------ -C. -C -C READING OF TRANSFORMATION AND SHAPE PARAMETERS -C -C IF(ISWIT(10).EQ.0)GO TO 99 -C IVO =IUCOMP(4HCAVE,IB(JVOLUM+1),NVOLUM) -C JVO =IB(JVOLUM-IVO) -C JINL=IB(JVO-6) -C JINR=IB(JVO-7) -C IROTL=B(JINL+4) -C DO 3 I=1,3 -C XL(I) =B(JINL+I+4) -C PARL(I)=B(JINL+I+9) -C 3 CONTINUE -C IROTR=B(JINR+4) -C DO 4 I=1,3 -C XR(I) =B(JINR+I+4) -C PARR(I)=B(JINR+I+9) -C 4 CONTINUE -C IF(IDEBUG.NE.0)THEN -C IF(ISWIT(4).NE.0)THEN -C WRITE(6,*)IROTL,XL(3),PARL(3) -C WRITE(6,*)IROTR,XR(3),PARR(3) -C ENDIF -C ENDIF -C -C TRANSFORMATION TO LOCAL REFERENCE FRAME -C -C CALL GFHITS('DRFT','FDOU',1,7,30,0,NUMVS,ITRA,NUMBV,HITS,NHITS) -C -C IF(NHITS.LE.0)GO TO 99 -C DO 10 IHIT=1,NHITS -C DO 11 I=1,3 -C X(I) =HITS(I,IHIT) -C XP(I)=HITS(I+3,IHIT) -C 11 CONTINUE -C IF(NUMBV(1,IHIT).EQ.1)THEN -C CALL GITRAN(X,XL,IROTL,XNEW) -C CALL GITRAN(XP,XD,IROTL,XPNEW) -C END IF -C IF(NUMBV(1,IHIT).EQ.2)THEN -C CALL GITRAN(X,XR,IROTR,XNEW) -C CALL GITRAN(XP,XD,IROTR,XPNEW) -C END IF -C DO 12 I=1,3 -C HITS(I,IHIT) =XNEW(I) -C HITS(I+3,IHIT)=XPNEW(I) -C 12 CONTINUE -C 10 CONTINUE -C -C INTERSECTION WITH SENSE PLANES -C -C DZPL=2.*PARL(3)/FLOAT(NPL+1) -C ZPLMIN=-PARL(3)+DZPL -C DO 20 IHIT=1,NHITS -C IF(ITRA(IHIT).NE.ITRA(IHIT+1))GO TO 20 -C ******** BELOW CHANGE OF COORDINATES TO USE GIPLAN -C DO 21 I=1,6,3 -C X1(I) =-HITS(I,IHIT) -C X1(I+1)= HITS(I+2,IHIT) -C X1(I+2)= HITS(I+1,IHIT) -C X2(I) =-HITS(I,IHIT+1) -C X2(I+1)= HITS(I+2,IHIT+1) -C X2(I+2)= HITS(I+1,IHIT+1) -C 21 CONTINUE -C ******** -C ZPL=ZPLMIN -C DO 22 IPL=1,NPL -C ZMIN=AMIN1(X1(2),X2(2)) -C ZMAX=AMAX1(X1(2),X2(2)) -C IF((ZPL.LT.ZMIN).OR.(ZPL.GT.ZMAX))GO TO 22 -C CALL GIPLAN(ZPL,X1,X2,S1,S2,1,XINT,SINT,PZINT,IFLAG) -C ******** BACK TO LOCAL REFERENCE FRAME -C ******** AND SAVE INTERACTION COORDINATES -C XSAV(NUMBV(1,IHIT),IPL,IHIT)=-XINT(1) -C YSAV(NUMBV(1,IHIT),IPL,IHIT)= XINT(3) -C ******** -C ZPL=ZPL+DZPL -C 22 CONTINUE -C 20 CONTINUE -C -C DIGITISATION -C -C - 99 RETURN - END - - - SUBROUTINE DLSOUT -C -#include "gcflag.inc" -C - DIMENSION NUMVS(2),ITRA(50) - DIMENSION NUMV1(2,50),NUMV2(2,50),NUMV3(2,50),NUMV4(2,50) - DIMENSION HITS1(9,50),HITS2(9,50),HITS3(9,50),HITS4(9,50) - DIMENSION VERT(3),PVERT(4) - SAVE NUMVS - DATA NUMVS/0,0/ -C - IF(ISWIT(10).LT.3)GO TO 99 - LUN=ISWIT(10) - - CALL GFHITS('DRFT','FSP ',2,9,50,0,NUMVS,ITRA,NUMV1,HITS1,NHITS1) - CALL GFHITS('DRFT','RSP1',2,9,50,0,NUMVS,ITRA,NUMV2,HITS2,NHITS2) - CALL GFHITS('DRFT','RSP2',2,9,50,0,NUMVS,ITRA,NUMV3,HITS3,NHITS3) - CALL GFHITS('DRFT','RSP3',2,9,50,0,NUMVS,ITRA,NUMV4,HITS4,NHITS4) -C - CALL GFKINE(1,VERT,PVERT,IP,NVERT,UBUF,NUBUF) -C - WRITE(LUN)NHITS1,NHITS2,NHITS3,NHITS4,IP,VERT,PVERT - IF(NHITS1.GT.0)THEN - WRITE(LUN)(NUMV1(2,I),(HITS1(J,I),J=1,9),I=1,NHITS1) - ENDIF - IF(NHITS2.GT.0)THEN - WRITE(LUN)(NUMV2(2,I),(HITS2(J,I),J=1,9),I=1,NHITS2) - ENDIF - IF(NHITS3.GT.0)THEN - WRITE(LUN)(NUMV3(2,I),(HITS3(J,I),J=1,9),I=1,NHITS3) - ENDIF - IF(NHITS4.GT.0)THEN - WRITE(LUN)(NUMV4(2,I),(HITS4(J,I),J=1,9),I=1,NHITS4) - ENDIF -C - 99 RETURN - END diff --git a/StarVMC/geant3/examples/gexam3.dat b/StarVMC/geant3/examples/gexam3.dat deleted file mode 100644 index 21c45b5f589..00000000000 --- a/StarVMC/geant3/examples/gexam3.dat +++ /dev/null @@ -1,366 +0,0 @@ -LIST -TRIGGER 10 -DEBUG 0 0 1 -SWIT 1 2 -SETS 'DRFT' -END - 14 - 0.4378 -0.0045 2.300613 - -0.5821 0.1841 0.868513 - -0.4349 -0.0148 0.738514 - 0.4291 0.1618 0.346414 - -0.5418 -0.0193 2.720513 - 0.3770 -0.0037 0.842314 - 0.5825 -0.1207 0.132613 - -0.2316 0.0453 1.198014 - 0.0430 0.0185 0.213614 - -0.7536 0.0243 0.140214 - -0.0772 0.0305 0.401714 - -0.5071 -0.0813 0.1786 8 - 0.3444 0.0529 0.5787 8 - -0.1724 0.0060 0.1471 7 - 19 - -0.7748 -0.2270 2.907613 - -0.1614 -0.0649 0.480313 - 0.2609 -0.0425 0.107114 - 0.5167 -0.0083 2.721613 - -0.3553 0.0345 0.084014 - -0.2974 -0.0639 0.916514 - 0.4621 -0.2127 2.869514 - 0.2454 0.0240 0.784813 - -0.4153 -0.0752 0.433713 - 0.7705 0.2647 1.488613 - 0.5251 -0.1539 0.292713 - -0.9955 0.3666 2.376313 - -0.1600 0.0145 0.2967 8 - 0.1482 -0.0560 0.2513 8 - 0.1924 -0.0444 0.5281 7 - 0.1671 0.0665 0.2883 9 - -0.2636 0.0587 1.4432 7 - 0.1229 -0.0118 0.1158 8 - -0.1066 -0.0275 0.2865 9 - 17 - -0.3216 0.0526 1.619214 - -0.6685 0.1749 2.682814 - 0.8363 -0.2724 1.934413 - -0.5160 -0.0709 2.734613 - 0.1675 0.0599 0.194114 - 0.4886 -0.1133 0.107314 - -0.7109 0.0716 0.173014 - 0.4575 -0.0628 1.581114 - 0.5394 0.0167 2.496613 - -0.6139 -0.2548 1.911013 - 0.2867 -0.0963 0.691213 - -0.6873 0.2783 0.701914 - 0.4502 0.1574 0.232313 - 0.4223 -0.1165 0.3646 9 - 0.2815 0.0183 1.5609 7 - 0.1020 -0.0218 0.3980 8 - -0.1770 0.0587 0.7353 8 - 11 - -0.3993 0.0134 0.357114 - 0.1846 -0.0466 0.579214 - -0.7858 -0.2743 3.293213 - 0.2280 0.0038 0.034513 - -0.2728 0.0743 0.136514 - 0.1249 0.0066 0.2863 8 - -0.0962 0.0447 0.0458 7 - 0.1398 -0.0117 0.4812 8 - 0.3510 0.1501 1.1456 7 - 0.3006 -0.0179 0.8242 8 - -0.1701 -0.0144 0.4544 8 - 14 - -0.3490 0.0085 0.242013 - -0.4213 -0.1805 1.417514 - 0.7884 0.0679 1.993913 - -0.4438 0.1291 0.498214 - 0.6993 0.2907 2.961514 - 0.4311 0.0732 1.445114 - -0.2556 0.0467 0.381813 - -0.1482 0.0284 0.225114 - 0.2492 0.0183 0.518713 - -0.3086 0.0148 0.0424 9 - -0.6979 -0.2030 0.9139 7 - -0.1480 -0.0229 0.0187 9 - -0.1145 -0.0331 0.0582 8 - -0.1161 0.0434 0.2278 7 - 16 - -0.5918 0.2329 0.731914 - 0.3345 -0.0355 0.532414 - -0.4588 0.0480 1.887513 - -1.2547 -0.1789 1.974613 - 0.6187 0.0742 1.174214 - -0.8991 -0.2385 2.061113 - 0.1634 0.0235 0.123313 - 0.5521 0.0649 1.865013 - 0.3679 0.0495 1.376313 - -0.2499 0.0605 0.099514 - 0.4982 0.1763 1.076413 - -0.6505 0.0696 0.908413 - 0.1493 0.0214 0.0950 9 - -0.1819 0.0840 0.2913 9 - -0.2267 0.0371 0.4449 9 - 0.0622 -0.0052 0.1712 7 - 16 - 0.3777 0.0969 0.704914 - 0.3656 0.0113 0.159014 - 0.5284 0.1682 2.050313 - -0.3962 -0.0840 1.673114 - 0.8503 -0.3569 0.585614 - -0.7069 0.1247 0.933914 - -0.4048 0.0466 0.044114 - 0.2360 -0.0488 0.192714 - 0.4363 0.0255 0.923314 - 0.2553 0.0150 0.0802 9 - -0.1125 0.0345 0.0595 9 - 0.1065 -0.0448 0.2581 9 - -0.1698 0.0346 0.1060 7 - 0.1590 0.0734 0.2309 9 - -0.0881 0.0035 0.2172 7 - -0.0571 -0.0247 0.1484 8 - 6 - 0.3768 0.1420 1.457413 - 0.9315 -0.2675 0.738513 - 0.1855 -0.0376 1.027914 - -0.8063 -0.2025 2.877813 - -0.3828 0.1546 0.811914 - -0.2602 0.0408 0.0242 7 - 17 - 0.5934 -0.0448 2.664613 - -0.6900 -0.3083 1.402714 - -0.4611 -0.1334 0.756214 - 0.5026 0.2021 2.064713 - 0.9111 0.1802 2.731814 - -0.2997 -0.0253 0.292514 - -0.5986 -0.1812 1.638213 - -0.7189 0.3082 0.399814 - 0.3014 0.0762 0.525814 - -0.2550 -0.0207 0.497314 - -0.5391 -0.0339 1.532213 - -0.2994 0.0106 0.2318 9 - 0.2646 0.0708 0.1947 8 - -0.5612 0.0663 0.5562 9 - -0.1399 -0.0442 0.0183 7 - -0.2895 -0.1184 0.6733 9 - -0.2086 0.0229 1.0552 7 - 25 - 0.5503 -0.0004 0.542114 - -0.4916 0.1763 1.011014 - -1.0104 -0.2070 4.939613 - 0.2408 0.0003 0.431114 - -0.4059 0.0636 0.716514 - -0.2299 -0.0636 0.185314 - 0.6302 0.1247 1.437814 - 0.8283 -0.3119 1.029714 - 0.3940 -0.1609 1.354414 - -0.3591 -0.0865 0.575614 - 0.7350 -0.3405 0.560714 - 0.2570 0.1128 0.873914 - 0.1279 -0.0300 0.0839 7 - -0.1380 0.0096 0.2073 7 - 0.0729 0.0045 0.2456 9 - -0.0914 0.0228 0.1171 8 - 0.3576 -0.1597 0.4754 9 - 0.0633 0.0174 0.0642 8 - -0.1155 -0.0399 0.0928 7 - 0.0840 0.0207 0.0887 7 - 0.0938 -0.0166 0.2079 9 - 0.0834 -0.0281 0.3157 8 - -0.2268 0.0269 0.6298 9 - -0.1362 0.0041 0.6725 8 - -0.1076 -0.0055 0.5167 9 - 12 - 0.5165 0.1491 0.997214 - -0.6410 -0.1728 1.794613 - -0.5795 0.0324 3.019213 - 0.5396 -0.2342 1.599714 - -0.3319 -0.0277 0.208314 - -0.5484 0.2240 2.048113 - 0.1374 0.0451 0.150413 - 0.4667 0.1664 0.348314 - -0.6940 -0.2128 0.544113 - 0.5037 0.1125 1.562513 - -0.3764 -0.1471 1.042314 - 0.1449 -0.0570 0.3702 7 - 10 - 0.4108 -0.1727 1.891313 - -0.8883 -0.2218 1.346013 - 0.2819 -0.1042 0.291214 - -0.4141 0.1658 2.194614 - 0.6120 0.1916 2.193814 - 0.5931 -0.0388 0.746814 - 0.2839 -0.0069 0.6193 7 - -0.1825 -0.0093 0.5125 9 - 0.2242 -0.0420 0.0906 8 - -0.2360 0.0402 0.5901 8 - 9 - 0.3556 -0.0668 1.212814 - 0.1765 -0.0462 0.661613 - 0.8018 0.0372 1.782713 - -0.1128 0.0163 0.043813 - -0.5857 0.0358 1.126214 - -0.6624 0.0421 0.619713 - 0.1793 0.0824 0.1925 7 - 0.2034 -0.0151 0.7528 7 - 0.2128 0.0279 0.7576 8 - 19 - 0.8022 -0.0277 1.777013 - 0.7700 -0.1556 0.887113 - 0.5238 0.0269 1.839614 - -0.9087 -0.3917 1.731013 - 0.4109 0.1517 0.490313 - 0.3503 -0.1505 0.628114 - 0.7672 -0.2044 0.352513 - 1.0976 -0.1986 2.303814 - -0.7941 0.2838 0.779514 - 0.4374 -0.1277 1.206113 - 0.5604 0.0978 1.487013 - -0.3729 0.0633 0.420414 - -0.2241 -0.0154 0.3035 9 - -0.3371 0.0845 0.3060 7 - -0.4892 0.1541 0.5352 7 - 0.1253 0.0285 0.1121 7 - 0.2625 0.0425 0.1799 7 - -0.0583 0.0250 0.0780 7 - -0.1180 -0.0064 0.5059 9 - 11 - 0.3166 0.0942 1.746313 - 0.9170 0.0608 3.714014 - 1.0541 -0.2027 2.527214 - 0.2923 0.1001 0.015913 - -0.8156 0.0091 0.378414 - -0.5877 -0.1940 1.501813 - 0.5745 0.2637 1.392914 - -0.4676 0.0773 0.3284 7 - -0.1115 0.0092 0.0998 9 - 0.2748 -0.1047 0.7491 9 - 0.1934 -0.0696 0.3423 7 - 17 - -0.3918 -0.1145 1.688314 - -0.5542 0.0786 2.459613 - 0.5061 0.0733 2.329313 - 0.8748 -0.2398 0.447413 - 0.2402 0.0360 0.696713 - -0.4699 0.0545 1.625213 - -0.5478 0.1371 0.318213 - 0.3138 0.0988 0.052514 - 0.1279 0.0110 0.361113 - 0.9134 -0.3806 0.907713 - -0.9916 0.3867 1.027414 - -0.1846 0.0156 0.062314 - 0.3967 0.0452 0.433613 - -0.1218 0.0133 0.3605 7 - 0.1523 -0.0185 0.0221 7 - 0.2026 0.0390 0.2231 7 - -0.1120 -0.0232 0.1583 9 - 16 - 0.2941 0.0064 0.654114 - 0.6032 0.2140 2.186813 - -0.6164 -0.1572 2.432913 - -0.7066 0.3058 1.394113 - 0.2141 0.0479 0.069214 - -0.8236 0.2025 3.439613 - 0.1171 -0.0469 0.648214 - 0.3185 -0.1284 1.322813 - 0.9655 -0.4467 1.159813 - 0.1769 0.0353 0.083113 - -0.6358 0.2496 0.314614 - 0.5257 0.0372 0.489214 - 0.6304 0.1520 0.358513 - -0.1993 -0.0332 0.0449 7 - -0.0693 0.0182 0.0280 7 - 0.1665 0.0183 0.6006 9 - 23 - 0.3672 -0.0688 0.860513 - 0.4509 0.1588 0.455114 - 0.7987 0.0544 1.160913 - -0.4047 -0.0550 0.534513 - 0.9616 0.3421 0.922413 - -0.2320 0.0746 1.353014 - -0.7945 0.1520 3.098113 - 0.5059 -0.0804 1.754913 - 1.0751 0.0076 4.322313 - 0.4153 -0.1037 2.193413 - 1.1353 -0.1135 2.515914 - 0.3372 0.0318 0.219513 - -0.2370 0.0250 0.280313 - 0.4354 -0.1907 0.781113 - -0.6327 -0.1398 0.810113 - -0.4159 0.1792 0.348513 - 0.6608 0.2658 0.3181 7 - -0.3108 -0.1423 0.2002 8 - 0.1438 -0.0294 0.0403 8 - -0.2712 -0.0847 0.2781 9 - 0.3295 0.0940 0.4079 7 - 0.2638 -0.0434 0.6674 9 - -0.1195 -0.0030 0.4456 7 - 16 - -0.3589 0.0753 1.563913 - -1.2908 -0.0436 2.971814 - -0.3082 -0.0678 0.349114 - -0.3756 0.0188 0.377214 - -0.0885 -0.0182 0.223214 - 1.0125 -0.2764 0.370614 - 0.4445 -0.0352 0.259313 - 0.6827 0.1809 0.363714 - 0.5520 0.0923 0.868914 - 0.9840 -0.0226 4.037713 - 0.5494 0.0627 2.412513 - -0.0880 -0.0010 0.1114 7 - -0.5525 0.0156 0.6003 7 - -0.1364 -0.0566 0.0501 8 - 0.3702 -0.0977 0.5389 8 - 0.2821 -0.1303 0.9371 8 - 9 - 0.7944 0.2080 2.032014 - 0.5336 0.1070 2.232714 - 0.6262 -0.0727 1.285413 - -0.4359 0.0632 1.209513 - 0.1303 0.0314 0.021414 - -0.3856 0.0208 0.491513 - 0.1664 0.0712 0.1325 8 - -0.1418 -0.0152 0.5020 7 - -0.1702 0.0348 0.6018 7 - 16 - 0.2359 -0.0942 0.491013 - -0.4333 -0.0113 1.996113 - -1.0294 -0.0726 1.581313 - -0.5323 -0.1391 0.505913 - -0.3359 0.0196 0.514913 - 0.5095 0.0577 1.541413 - 0.4630 -0.0702 0.031314 - 1.1062 0.1174 1.708914 - -0.2349 0.0126 0.443714 - 0.7927 -0.0795 0.077914 - 0.3066 0.0526 0.935713 - -0.4833 0.0990 0.687413 - 0.4057 0.1685 0.8698 7 - 0.3376 -0.1037 0.0149 8 - 0.1365 0.0068 0.1471 8 - 0.1090 -0.0153 0.0424 7 - 18 - 0.5641 0.0487 1.366013 - 0.3636 -0.0773 1.188313 - -0.4057 0.1544 0.455013 - -0.2229 0.0629 0.333214 - -0.6420 0.2783 2.024014 - 0.2545 0.0996 1.036113 - -0.2055 0.0329 0.247514 - -0.3809 0.1613 0.301314 - 0.4529 0.1913 2.327213 - -0.3509 -0.0870 0.5041 9 - 0.1250 -0.0247 0.2957 8 - -0.1841 0.0117 0.1140 8 - -0.0576 -0.0063 0.2164 8 - -0.2648 -0.0067 0.1469 8 - -0.2055 0.0248 0.2113 9 - 0.1873 -0.0823 0.9246 8 - 0.2652 0.0696 0.9961 8 - -0.1049 0.0116 0.3047 9 - 0 - - - - - - diff --git a/StarVMC/geant3/examples/gexam4 b/StarVMC/geant3/examples/gexam4 deleted file mode 100755 index 66c01420475cf5537061574c158674c9983078ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178726 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 O!{`DnTB0MMRPcWaa6e-J diff --git a/StarVMC/geant3/examples/gexam4.F b/StarVMC/geant3/examples/gexam4.F deleted file mode 100644 index 3747eeb72b3..00000000000 --- a/StarVMC/geant3/examples/gexam4.F +++ /dev/null @@ -1,882 +0,0 @@ - SUBROUTINE GUKINE -* -************************************************************************ -* * -* GEANT3 user routine to generate Kinematics * -* for primary tracks * -* * -************************************************************************ -* -#include "gckine.inc" -#include "gcflag.inc" -#include "gconsp.inc" -*KEEP,URGEOM. -* - COMMON/URGEOM/UTHICK,CSHIEL,ESHIEL,BTHICK,AIRGP1,CTHICK,AIRGP2, - * AIRGP3,EPCHAM,HMODL1,HSECT1,HMODL2,HSECT2,HMODL3, - * HSECT3,HLCALO,WGS1,WGS2,IGAST -C -*KEEP,URMIPS. - COMMON/URMIPS/XMIP,NTXMIP,TXMIP,TXMIP2,CALIB1,CALIB2,XKPL(60,8), - * XPHMIP(20,34),IDSTW -C -*KEND. - DIMENSION VERTEX(6),PLAB(3),RNDM(2) -* -* ----------------------------------------------------------------- -* - XMIP=0. - CALL VZERO(VERTEX,6) - VERTEX(1)=0.04 - VERTEX(2)=0.04 - VERTEX(3)=-HLCALO+.01 - IF(IKINE.GT.100)THEN - IK=IKINE-100 - THETA=PKINE(2)*DEGRAD - PHI=PKINE(3)*DEGRAD - if(pkine(4).ne.0.)vertex(1)=pkine(4) - if(pkine(5).ne.0.)vertex(2)=pkine(5) - if(pkine(6).ne.0.)vertex(3)=pkine(6) - ELSEIF(IKINE.eq.1)then - inumb=pkine(1) - in=0 - 10 read(3,1000,end=80)itype,ntr,vertex(1),vertex(2),vertex(3) - if(itype.ne.0)go to 10 - in=in+1 - if(inumb.ne.0)then - if(in.ne.inumb)go to 10 - endif - call gsvert(vertex,0,0,0,0,nvert) - do 20 i=1,ntr - read(3,1000,end=80)itype,ik,plab - if(itype.ne.i)go to 10 - call gskine(plab,ik,nvert,0,0,nt) - 20 continue - go to 90 - 80 rewind(3) - go to 10 - ELSEIF(IKINE.eq.2)then - inumb=pkine(1) - in=0 - 81 continue - read(23,1000,end=89)itype,nv,aa,bb,cc - if(itype.ne.-1)go to 81 - in=in+1 - if(inumb.ne.0)then - if(in.ne.inumb)go to 81 - endif - do 85 iv=1,nv - 82 read(23,1000,end=89)itype,ntr,vertex(1),vertex(2),vertex(3) - if(itype.ne.0)go to 82 - call gsvert(vertex,0,0,0,0,nvert) - do 84 i=1,ntr - read(23,1000)itype,ik,plab - call gskine(plab,ik,nvert,0,0,nt) - 84 continue - 85 continue - go to 90 - 89 rewind(23) - go to 81 - ELSE - IK=IKINE - CALL GRNDM(RNDM,2) - THETA=PI*RNDM(1) - PHI=TWOPI*RNDM(2) - VERTEX(1)=0 - VERTEX(2)=0 - VERTEX(3)=PKINE(3) - ENDIF -C - PLAB(1) = PKINE(1)*SIN(THETA)*COS(PHI) - PLAB(2) = PKINE(1)*SIN(THETA)*SIN(PHI) - PLAB(3) = PKINE(1)*COS(THETA) -C - CALL GSVERT(VERTEX,0,0,0,0,NVERT) - CALL GSKINE(PLAB,IK,NVERT,0,0,NT) -* -* Kinematic debug (controled by ISWIT(1)) -* - 90 IF(IDEBUG.EQ.1.AND.ISWIT(1).EQ.1) THEN - CALL GPRINT('VERT',0) - CALL GPRINT('KINE',0) - ENDIF -* - 1000 format(2i5,3(2x,e14.7)) - END - - - SUBROUTINE GUOUT -* -************************************************************************ -* * -* GEANT3 user routine called at the end of each event. * -* * -************************************************************************ -* -* -#include "gcunit.inc" -#include "gcflag.inc" -*KEEP,URMIPS. - COMMON/URMIPS/XMIP,NTXMIP,TXMIP,TXMIP2,CALIB1,CALIB2,XKPL(60,8), - * XPHMIP(20,34),IDSTW -C -*KEND. - SAVE N10 - DATA N10/0/ -* -* ------------------------------------------------------------------ -* - NTXMIP=NTXMIP+1 - TXMIP=TXMIP+XMIP - TXMIP2=TXMIP2+XMIP*XMIP - CALL HFF1(10,N10,XMIP,1.) -* - IF(ISWIT(6).NE.0)THEN - IS6=ISWIT(6) - IF(MOD(IEVENT,IS6).EQ.0)CALL PXMIPS - ENDIF -* - END - - - SUBROUTINE GUPHAD -C. -C. ****************************************************************** -C. * * -C. * User routine to compute Hadron. inter. probabilities * -C. * * -C. * ==>Called by : GTHADR,GTNEUT * -C. * * -C. ****************************************************************** -C. -C. -C. ------------------------------------------------------------------ -C. -#include "gcphys.inc" -*KEND. -C - - IF (IHADR.NE.4) THEN - CALL GPGHEI - ELSE - CALL FLDIST - ENDIF - END - - SUBROUTINE GUHADR -C. -C. ****************************************************************** -C. * * -C. * User routine to generate one hadronic interaction * -C. * * -C. * ==>Called by : GTHADR,GTNEUT * -C. * * -C. ****************************************************************** -C. -#include "gcphys.inc" -C. -C. ------------------------------------------------------------------ -C. -C -C GHEISHA only if IHADR<3 (default) -C - IF (IHADR.NE.4) THEN - CALL GHEISH - ELSE - CALL FLUFIN - ENDIF - END - - - SUBROUTINE GUSTEP -* -************************************************************************ -* * -* GEANT3 user routine called at the end of each tracking step * -* * -************************************************************************ -* -#include "gcbank.inc" -#include "gctmed.inc" -#include "gckine.inc" -#include "gcking.inc" -#include "gcflag.inc" -#include "gctrak.inc" -#include "gcvolu.inc" -#include "gcscan.inc" -*KEEP,URMIPS. - COMMON/URMIPS/XMIP,NTXMIP,TXMIP,TXMIP2,CALIB1,CALIB2,XKPL(60,8), - * XPHMIP(20,34),IDSTW -C -*KEND. - DIMENSION X(13) - SAVE KMOD2,KMOD3,N500,N5,N6,XMIPMA,TOMAX,IPLOLD,PLMIP,SSTEP,FIRST - CHARACTER*4 CMOD2, CMOD3 - LOGICAL FIRST - DATA FIRST /.TRUE./ - DATA CMOD2, CMOD3 / 'MOD2', 'MOD3' / - DATA N500/0/ - DATA N5/0/ - DATA N6/0/ - DATA XMIPMA/70./ - DATA TOMAX/2.E-7/ -* -* ----------------------------------------------------------------- -* - IF(FIRST) THEN - CALL UCTOH(CMOD2, KMOD2, 4, 4) - CALL UCTOH(CMOD3, KMOD3, 4, 4) - FIRST = .FALSE. - ENDIF - IF(SLENG.LE.0.)THEN - IPLOLD=0 - PLMIP=0. - SSTEP=0. - ENDIF -* Something generated ? - IF(NGKINE.GT.0) THEN - DO 5 I=1,NGKINE - ITYPA = GKIN(5,I) - UPWGHT = ITYPA - IF(ITYPA.NE.4) CALL GSKING(I) - 5 CONTINUE - ENDIF -* -* Are we in the gas ? -* - IF(NUMED.EQ.5)THEN -* -* Evaluate average energy loss for muons -* - IF(ITRTYP.EQ.5)THEN - IF(DESTEP.GT.0..AND.GETOT.GT.0.3)THEN - IF(STEP.GT.0.1)THEN - DEDX=DESTEP/STEP - CALL HFF1(500,N500,DEDX,1.) - ENDIF - ENDIF - ENDIF -* -* Compute number of MIPS -* - IPL=NUMBER(3) -* if (ipl.eq.0)ipl=1 - IF(NAMES(3).EQ.KMOD2)IPL=IPL+64 - IF(NAMES(3).EQ.KMOD3)IPL=IPL+99 - IF(DESTEP.GT.0.)THEN - IF(IPL.LE.64)THEN - DXMIP=DESTEP/CALIB1 - ELSE - DXMIP=DESTEP/CALIB2 - ENDIF - IF(IPL.EQ.IPLOLD)THEN - PLMIP=PLMIP+DXMIP - SSTEP=SSTEP+STEP - ELSE - PLMIP=DXMIP - SSTEP=STEP - IPLOLD=IPL - ENDIF - CALL HFF1(5,N5,DXMIP,1.) - CALL HFF1(6,N6,DXMIP,1.) - IF(PLMIP.LT.XMIPMA.AND.TOFG.LT.TOMAX)THEN - XMIP=XMIP+DXMIP - ENDIF - ENDIF -* -* Count number of particles crossing planes -* - IF(INWVOL.EQ.1)THEN - IF(MOD(IPL,2).EQ.0)THEN - KPL=IPL/2 - XKPL(KPL,ITRTYP)=XKPL(KPL,ITRTYP)+1. - ENDIF - ENDIF - ENDIF -* -* Debug/plot event -* - if(idebug.ne.0.and.inwvol.ne.2)then - X(1)=vect(1) - X(2)=vect(2) - X(3)=vect(3) - X(4)=gekin - X(5)=tofg - X(6)=istop+1000*ipart - if(sleng.le.0.)x(6)=x(6)+1000000. - if(iswit(7).ne.7)then - CALL HFN(1,X) - else - if(sleng.gt.0..and.inwvol.eq.1)call hfn(1,x) - endif - endif - CALL GDEBUG -* IF(ISTOP.NE.0) THEN -* IF(IPART.EQ.13) THEN -* CALL GDTRAK('R') -* ELSE -* CALL GDTRAK('DR') -* ENDIF -* ENDIF -* - END - - - SUBROUTINE GUTREV -* -************************************************************************ -* * -* GEANT3 user routine to control tracking of one event * -* * -* Called by GRUN * -* * -************************************************************************ -* -#include "gcflag.inc" -* -* ----------------------------------------------------------------- -* - CALL GTREVE -* -* Debug and plot tracks. -* - IF(IDEBUG.EQ.1) THEN - IF(ISWIT(2).EQ.1) CALL GPRINT('JXYZ', 0) - ENDIF -* - END - - - SUBROUTINE PXMIPS -C. -C. ****************************************************************** -C. * * -C. * Print MIPS * -C. * * -C. ****************************************************************** -C. -#include "gcflag.inc" -*KEEP,URMIPS. - COMMON/URMIPS/XMIP,NTXMIP,TXMIP,TXMIP2,CALIB1,CALIB2,XKPL(60,8), - * XPHMIP(20,34),IDSTW -C -*KEND. -C -C Compute average number of MIPS -C - IF(NTXMIP.GT.0)THEN - TXM=TXMIP/NTXMIP - TXMRMS=SQRT(MAX(TXMIP2/NTXMIP - TXM*TXM,0.)) - PRINT 1000,IEVENT,XMIP,TXM,TXMRMS - 1000 FORMAT(' =====> IEVENT=',I5,' MIPS =',F7.1, - + ' TOTAL MIPS =',F7.1,' +-',F7.1) - ENDIF -C - END - - - SUBROUTINE UFILES -* -* To open FFREAD and HBOOK files -* - CHARACTER*(*) FILNAM, FSTAT - PARAMETER (FILNAM='gexam4.dat') -* - PARAMETER (FSTAT='OLD') - common/quest/iquest(100) -* -c open(unit=3,file='opalev.dat',status='old') -c open(unit=23,file='atlas.dat',status='old') - OPEN(UNIT=4,FILE=FILNAM,STATUS=FSTAT, - + FORM='FORMATTED') -* -* Open a HBOOK direct access file -* - iquest(10)=64000 - CALL HROPEN(34,'HBOOK','gexam4.hist','NQ',1024,ISTAT) - END - - - SUBROUTINE UGEOM -* -************************************************************************ -* * -* Routine to define the geometry of the set-up. * -* * -************************************************************************ -* -#include "gconsp.inc" -*KEEP,URGEOM. -* - COMMON/URGEOM/UTHICK,CSHIEL,ESHIEL,BTHICK,AIRGP1,CTHICK,AIRGP2, - * AIRGP3,EPCHAM,HMODL1,HSECT1,HMODL2,HSECT2,HMODL3, - * HSECT3,HLCALO,WGS1,WGS2,IGAST -C -*KEND. -* - DIMENSION PAR(10),ABRASS(2),ZBRASS(2),WBRASS(2) - DIMENSION AISOBU(3),ZISOBU(3),WGAS(3),ACO2(3),ZCO2(3) - DIMENSION AURAN(2),ZURAN(2),WURAN(2) - DATA AISOBU/12.01,1.01,39.95/ - DATA ZISOBU/6.,1.,18./ - DATA ACO2/12.01,16.01,39.95/ - DATA ZCO2/6.,8.,18./ - DATA ABRASS/63.54,65.37/ - DATA ZBRASS/29.,30./ - DATA WBRASS/.7,.3/ -C -C Uranium mixture -C - DATA AURAN/235.,238./ - DATA ZURAN/92.,92./ - DATA WURAN/0.004,0.996/ -* -* ----------------------------------------------------------------- -* -* -* Defines materials - CALL GSMATE( 1,'AIR$ ', 15.0,7.0,0.0012,30050.0,67500.0,0,0) - CALL GSMATE( 2,'COPPER$ ', 63.54,29.,8.960 , 1.43, 14.8,0,0) - CALL GSMIXT( 3,'URANIUM$ ',AURAN,ZURAN,18.95 ,2,WURAN) - CALL GSMATE( 4,'CARBON$ ', 12.01, 6., 2.265, 18.80, 49.9,0,0) - CALL GSMIXT( 6,'BRASS$ ',ABRASS,ZBRASS,8.560 , 2,WBRASS) -* - IF(IGAST.EQ.1)THEN -* -* Argon/Isobuthane mixture (60% Ar and 40% Isobuthane) -* First define Isobuthane compound and relative weights -* - DISO =0.00267 - DENS1 =0.002136 - WGAS(1)=4. - WGAS(2)=10. - CALL GSMIXT(15,'ISOBUTHAN$',AISOBU,ZISOBU,0.40*DISO,-2,WGAS) - WGAS(1)=0.40*WGAS(1) - WGAS(2)=0.40*WGAS(2) - WGAS(3)=0.60 - CALL GSMIXT( 5,'ARG/ISOBU$',AISOBU,ZISOBU,DENS1, 3,WGAS) - ELSE -* -* Argon/CO2 mixture (10% Ar and 90% CO2) -* First define CO2 compound and relative weights -* - DENS2 =0.0019573 - DCO2 =0.001977 - WGAS(1)=1. - WGAS(2)=2. - CALL GSMIXT(15,'CO2$',ACO2,ZCO2,0.90*DCO2,-2,WGAS) - WGAS(1)=0.90*WGAS(1) - WGAS(2)=0.90*WGAS(2) - WGAS(3)=0.10 - CALL GSMIXT( 5,'ARG/CO2$',ACO2,ZCO2,DENS2, 3,WGAS) - ENDIF -* -* Defines tracking media parameters. - STEMAX = BIG - DEEMAX = 0.30 - EPSIL = 0.005 - STMIN = 0.1 -* - CALL GSTMED( 1, 'AIR$ ', 1, 0, 0, 0., 0., STEMAX, - * DEEMAX, EPSIL, STMIN, 0, 0) -* - CALL GSTMED( 2, 'COPPER$ ', 2, 0, 0, 0., 0., STEMAX, - * DEEMAX, EPSIL, STMIN, 0, 0) -* - CALL GSTMED( 3, 'URANIUM$ ', 3, 0, 0, 0., 0., STEMAX, - * DEEMAX, EPSIL, STMIN, 0, 0) -* - CALL GSTMED( 4,'CARBON$ ', 4, 0, 0, 0., 0., STEMAX, - * DEEMAX, EPSIL, STMIN, 0, 0) -* - CALL GSTMED( 5,'GAS$ ', 5, 0, 0, 0., 0., STEMAX, - * DEEMAX, EPSIL, STMIN, 0, 0) -* - CALL GSTMED( 6,'BRASS$ ', 6, 0, 0, 0., 0., STEMAX, - * DEEMAX, EPSIL, STMIN, 0, 0) -* - CALL GSTPAR(5,'STRA',1.) - CALL GSTPAR(5,'DCUTE',5E-5) -* -* Defines geometry of the set-up -* -* Basic parameters - UTHICK = 0.4 - CSHIEL = 0.1 - ESHIEL = 0.1 - WGS1 = 0.55 - WGS2 = 0.35 - BTHICK = 0.05 - AIRGP1 = 0.9 - CTHICK = 2.0 - AIRGP2 = 1.9 - EPCHAM = 1.6 - AIRGP3 = 1.7 - HMODL1 = (2.*CSHIEL+UTHICK+AIRGP1)*.5 - HSECT1 = HMODL1*64. - HMODL2 = (2.*CSHIEL+UTHICK+AIRGP2)*.5 - HSECT2 = HMODL2*35. - HMODL3 = ( CTHICK+AIRGP3)*.5 - HSECT3 = HMODL3*13. - HLCALO = HSECT1+HSECT2+HSECT3+AIRGP1 -* -* Define the overall calorimeter - PAR(1)=25. - PAR(2)=25. - PAR(3)=HLCALO - CALL GSVOLU('CALO', 'BOX ', 1, PAR, 3, IVOLU) -* -* Now define the three sections - PAR(3)=HSECT1 - CALL GSVOLU('CAL1', 'BOX ', 1, PAR, 3, IVOLU) - PAR(3)=HSECT2 - CALL GSVOLU('CAL2', 'BOX ', 1, PAR, 3, IVOLU) - PAR(3)=HSECT3 - CALL GSVOLU('CAL3', 'BOX ', 1, PAR, 3, IVOLU) -* -* and position them - CALL GSPOS('CAL1',1,'CALO',0.0,0.0, - * 0.5*AIRGP1-(HSECT2+HSECT3) ,0,'ONLY') - CALL GSPOS('CAL2',1,'CALO',0.0,0.0, - * 0.5*AIRGP1+HSECT1-HSECT3 ,0,'ONLY') - CALL GSPOS('CAL3',1,'CALO',0.0,0.0, - * 0.5*AIRGP1+HSECT1+HSECT2 ,0,'ONLY') -* -* Now divide each section in modules - CALL GSDVN('MOD1','CAL1',64,3) - CALL GSDVN('MOD2','CAL2',35,3) - CALL GSDVN('MOD3','CAL3',13,3) -* -* Define copper shielding for type 1 and 2 modules - PAR(3)=CSHIEL*.5 - CALL GSVOLU('SHIL', 'BOX ', 2, PAR, 3, IVOLU) -* -* Define Uranium plate for type 1 and 2 modules - PAR(3)=UTHICK*.5 - CALL GSVOLU('URPL', 'BOX ', 3, PAR, 3, IVOLU) -* -* Define brass chamber for type 1 modules - PAR(3)=(WGS1+BTHICK)*.5 - CALL GSVOLU('CHA1', 'BOX ', 6, PAR, 3, IVOLU) - CALL GSDVN('TUB1','CHA1', 40, 2) -* -* Define gas for chamber of type 1 modules - PAR(1)=24. - PAR(2)=1.2*.5 - PAR(3)=WGS1*.5 - CALL GSVOLU('GAS1', 'BOX ', 5, PAR, 3, IVOLU) - CALL GSPOS('GAS1', 1, 'TUB1', 0.0, 0.0, 0.0, 0, 'ONLY') -* -* Define epoxy wrapping for type 1 chambers - PAR(1)=25. - PAR(2)=25. - PAR(3)=ESHIEL*.5 - CALL GSVOLU('EPO1', 'BOX ', 4, PAR, 3, IVOLU) -* -* Define copper plate for type 3 modules - PAR(3)=CTHICK*.5 - CALL GSVOLU('COPL', 'BOX ', 2, PAR, 3, IVOLU) -* -* Define epoxy chamber for type 2 and 3 modules - PAR(2)=47.*.5 - PAR(3)=EPCHAM*.5 - CALL GSVOLU('CHA2', 'BOX ', 4, PAR, 3, IVOLU) - CALL GSDVN('TUB2', 'CHA2', 72, 2) -* -* Define gas for chamber of type 2 and 3 modules - PAR(1)=24. - PAR(2)=(.65-.1)*.5 - PAR(3)=WGS2*.5 - CALL GSVOLU('GAS2', 'BOX ', 5, PAR, 3, IVOLU) - CALL GSPOS('GAS2', 1, 'TUB2', 0.0, 0.0, 0.0, 0, 'ONLY') -* -* Now position front chamber - Z=-HLCALO+0.5*AIRGP1-(ESHIEL+WGS1+BTHICK)*0.5 - CALL GSPOS('EPO1',1,'CALO',0.0,0.0,Z,0,'ONLY') - Z=-HLCALO+0.5*AIRGP1 - CALL GSPOS('CHA1',1,'CALO',0.0,0.0,Z,0,'ONLY') - Z=-HLCALO+0.5*AIRGP1+(ESHIEL+WGS1+BTHICK)*0.5 - CALL GSPOS('EPO1',2,'CALO',0.0,0.0,Z,0,'ONLY') -* -* Now assemble type 1 modules - Z=CSHIEL*.5-HMODL1 - CALL GSPOS('SHIL',1,'MOD1',0.0,0.0,Z,0,'ONLY') - Z=CSHIEL+UTHICK*.5-HMODL1 - CALL GSPOS('URPL',1,'MOD1',0.0,0.0,Z,0,'ONLY') - Z=CSHIEL*1.5+UTHICK-HMODL1 - CALL GSPOS('SHIL',2,'MOD1',0.0,0.0,Z,0,'ONLY') - Z=CSHIEL*2.+UTHICK+AIRGP1*.5-(WGS1+BTHICK+ESHIEL)*.5-HMODL1 - CALL GSPOS('EPO1',1,'MOD1',0.0,0.0,Z,0,'ONLY') - Z=CSHIEL*2.+UTHICK+AIRGP1*.5-HMODL1 - CALL GSPOS('CHA1',1,'MOD1',0.0,0.0,Z,0,'ONLY') - Z=CSHIEL*2.+UTHICK+AIRGP1*.5+(WGS1+BTHICK+ESHIEL)*.5-HMODL1 - CALL GSPOS('EPO1',2,'MOD1',0.0,0.0,Z,0,'ONLY') -* -* Now assemble type 2 modules - Z=CSHIEL*.5-HMODL2 - CALL GSPOS('SHIL',1,'MOD2',0.0,0.0,Z,0,'ONLY') - Z=CSHIEL+UTHICK*.5-HMODL2 - CALL GSPOS('URPL',1,'MOD2',0.0,0.0,Z,0,'ONLY') - Z=CSHIEL*1.5+UTHICK-HMODL2 - CALL GSPOS('SHIL',2,'MOD2',0.0,0.0,Z,0,'ONLY') - Z=CSHIEL*2.+UTHICK+AIRGP2*.5-HMODL2 - CALL GSPOS('CHA2',1,'MOD2',0.0,0.0,Z,0,'ONLY') -* -* Now assemble type 3 modules - Z=CTHICK*.5-HMODL3 - CALL GSPOS('COPL',1,'MOD3',0.0,0.0,Z,0,'ONLY') - Z=CTHICK+AIRGP3*.5-HMODL3 - CALL GSPOS('CHA2',1,'MOD3',0.0,0.0,Z,0,'ONLY') -* -* Define geometry optimization - CALL GSORD('CALO',3) - CALL GSORD('MOD1',3) - CALL GSORD('MOD2',3) - CALL GSORD('MOD3',3) -* -* Close geometry banks. Mandatory system routine. -* - CALL GGCLOS -* - END - - - SUBROUTINE UGINIT -* -************************************************************************ -* * -* To initialise GEANT3 program and read data cards * -* * -************************************************************************ -* -#include "gcbank.inc" -#include "gcflag.inc" -#include "gcunit.inc" -*KEEP,URGEOM. -* - COMMON/URGEOM/UTHICK,CSHIEL,ESHIEL,BTHICK,AIRGP1,CTHICK,AIRGP2, - * AIRGP3,EPCHAM,HMODL1,HSECT1,HMODL2,HSECT2,HMODL3, - * HSECT3,HLCALO,WGS1,WGS2,IGAST -C -*KEEP,URMIPS. - COMMON/URMIPS/XMIP,NTXMIP,TXMIP,TXMIP2,CALIB1,CALIB2,XKPL(60,8), - * XPHMIP(20,34),IDSTW -C -*KEND. -* -* ----------------------------------------------------------------- -* -* Open user files -* - CALL UFILES -* -* Initialize GEXAM4 global variables -* - IGAST = 1 - IDSTW = 0 - NTXMIP= 0 - TXMIP = 0. - TXMIP2= 0. - CALL VZERO(XKPL,300) -* -* Initialize GEANT - CALL GINIT -* -* Prints version number - WRITE(LOUT,1001) -* -* Define a data card 'GAST' to change gas type -* - CALL FFKEY('GAST',IGAST,1,'INTEGER') -* -* Define a data card to fill and write the PH matrix -* - CALL FFKEY('DSTW',IDSTW,1,'INTEGER') -* -* Read data cards with FFREAD -* - write(lout,1000) - 1000 format(/,' ========> Reading ffread data cards : type <=======' - +,/,'read 4' - +,/,'your own data cards if any' - +,/,'stop',/,' Now waiting for input',/) - - CALL GFFGO -* -* Initialize GEANT/ZBOOK data structures - CALL GZINIT -* -* -* Geometry and materials description. - CALL UGEOM -* -* Particle table definition and energy loss initialization. - CALL GPART - CALL GPHYSI -* -* Compute calibration factors for the 2 types of chambers. -* Calibration is obtained with minimum ionizing muons -* of 500 MeV in material 5 (Argon/Isobuthane or Argon/CO2) -* - JMA = LQ(JMATE-5) - JMULOS = LQ(JMA-2) - DEDX = Q(JMULOS+45) - CALIB1 = DEDX*WGS1 - CALIB2 = DEDX*WGS2 -* - CALL UHINIT -* - 1001 FORMAT(/,' **** GEXAM4 VERSION 1.17.00 ( 10 May 1988 ) ',/) -* - END - - - SUBROUTINE UGLAST -* -************************************************************************ -* * -* Termination routine to print histograms and statistics * -* * -************************************************************************ -* -*KEEP,URMIPS. - COMMON/URMIPS/XMIP,NTXMIP,TXMIP,TXMIP2,CALIB1,CALIB2,XKPL(60,8), - * XPHMIP(20,34),IDSTW -C -*KEND. -* -* ----------------------------------------------------------------- -* - CALL GLAST -* - CALL PXMIPS -* - CALL HNOENT(10,NOENT) -C - DO 20 I=1,5 - IF(NOENT.GT.0)THEN - DO 10 J=1,60 - XKPL(J,I)=XKPL(J,I)/FLOAT(NOENT) - 10 CONTINUE - ENDIF - CALL HPAK(100+I,XKPL(1,I)) - 20 CONTINUE -C -C Save histograms -C - CALL HROUT(0,ICYCLE,' ') - CALL HREND('HBOOK') -* -* Print HBOOK histograms - CALL HPRINT(0) -* - END - - - SUBROUTINE UHINIT -* -************************************************************************ -* * -* To book the user's histograms * -* * -************************************************************************ -* -#include "gckine.inc" - - PARAMETER (NKEYS=6) - CHARACTER*8 CHNAME(NKEYS) - DATA CHNAME/'X','Y','Z','GEKIN','TOFG','FLAG'/ -* -* ------------------------------------------------------------------ -* - XMIN=0. - XMAX=100.*PKINE(1) - CALL HBOOKN(1,'NTUPLE',NKEYS,'//HBOOK',9950,CHNAME) - CALL HBOOK1(5,'PULSE HEIGHT DISTRIBUTION IN MIPS$',100,0.,100.,0.) - CALL HBOOK1(6,'PULSE HEIGHT DISTRIBUTION IN MIPS$',100,0.,2.,0.) - CALL HBOOK1(10,'NUMBER OF MIPS PER EVENT$',100,XMIN,XMAX,0.) - CALL HBOOK1(101,'NUMBER OF PHOTONS PER PLANE$',60,1.,60.,0.) - CALL HCOPY(101,102,'NUMBER OF ELECTRONS+POSITRONS PER PLANE$') - CALL HCOPY(101,103,'NUMBER OF NEUTRAL PER PLANE$') - CALL HCOPY(101,104,'NUMBER OF CHARGED HADRONS PER PLANE$') - CALL HCOPY(101,105,'NUMBER OF MUONS PER PLANE$') - CALL HBOOK1(500,'MUON AVERAGE ENERGY LOSS$',100,1.E-6,5.E-6,0.) -* - END - - - SUBROUTINE GPHXSD -C. -C. ****************************************************************** -C. * * -C. * Debugs PHXS bank containing x-section constants * -C. * * -C. * * -C. ****************************************************************** -C. -#include "gcbank.inc" -*KEEP,GCJLOC. - COMMON/GCJLOC/NJLOC(2),JTM,JMA,JLOSS,JPROB,JMIXT,JPHOT,JANNI - + ,JCOMP,JBREM,JPAIR,JDRAY,JPFIS,JMUNU,JRAYL - + ,JMULOF,JCOEF,JRANG -C - INTEGER NJLOC ,JTM,JMA,JLOSS,JPROB,JMIXT,JPHOT,JANNI - + ,JCOMP,JBREM,JPAIR,JDRAY,JPFIS,JMUNU,JRAYL - + ,JMULOF,JCOEF,JRANG -C - COMMON/GCJLCK/NJLCK(2),JTCKOV,JABSCO,JEFFIC,JINDEX,JCURIN - + ,JPOLAR,JTSTRA,JTSTCO,JTSTEN,JTASHO -C - EQUIVALENCE (JLASTV,JTSTEN) -C - INTEGER NJLCK,JTCKOV,JABSCO,JEFFIC,JINDEX,JCURIN - + ,JPOLAR,JLASTV,JTSTRA,JTSTCO,JTSTEN - + ,JTASHO -C -*KEEP,GCPMXZ. - INTEGER MAXELZ - PARAMETER (MAXELZ=100) -C -*KEEP,GCPHXS. - INTEGER MAXPOW,MAXINT - PARAMETER (MAXPOW=4) - PARAMETER (MAXINT=13) - CHARACTER*6 CRNGUP - COMMON /GCPXRN/ CRNGUP(MAXINT,MAXELZ) - REAL COFS,GPOMIN - COMMON /GCPXCF/ COFS(MAXPOW,MAXINT,MAXELZ),GPOMIN(MAXELZ) -C -*KEEP,GC10EV. - REAL G10EV,TENEV - PARAMETER (G10EV=1.0E-8) - PARAMETER (TENEV=1.E-2) -C -*KEND. - CHARACTER*20 CHTMED, CHMATE -* -* Loop over material - DO 10 ITM=1,IQ(JTMED-2) - JTM=LQ(JTMED-ITM) - IF(JTM.GT.0) THEN - IMA=Q(JTM+6) - JMA=LQ(JMATE-IMA) - CALL UHTOC(IQ(JTM+1),4,CHTMED,20) - CALL UHTOC(IQ(JMA+1),4,CHMATE,20) - WRITE(6,10000) CHTMED(:LNBLNK(CHTMED)), - + CHMATE(:LNBLNK(CHMATE)) - JPHOT = LQ(JMA-6) - JPHXS=LQ(JPHOT-1) - NZ=Q(JPHXS+1) - NIT=Q(JPHXS+3*NZ+2) - WRITE(6,10100) NZ - WRITE(6,10200) (Q(JPHXS+1+IZ),Q(JPHXS+1+2*NZ+IZ),IZ=1,NZ) - WRITE(6,10300)(IT+1,(Q(JPHXS+3*NZ+2+5*IT+IP),IP=1,5),IT=0, - + NIT- 1) - ENDIF - 10 CONTINUE -10000 FORMAT(' Tracking medium : ',A,' Material : ',A) -10100 FORMAT(1X,I3,' elements in this material with ',I3, - + ' energy intervals') -10200 FORMAT(' Z = ',F5.2,' Weight = ',F5.2) -10300 FORMAT((' Int. N. ',I2,' E= ',E11.4,' K= ',4(E11.4,','))) - END diff --git a/StarVMC/geant3/examples/gexam4.dat b/StarVMC/geant3/examples/gexam4.dat deleted file mode 100755 index adda989aae9..00000000000 --- a/StarVMC/geant3/examples/gexam4.dat +++ /dev/null @@ -1,23 +0,0 @@ -LIST -TRIGGER 10000 -DEBUG 0 0 1 -SWIT 6=1 (FREQUENCY TO CALL PXMIPS) -DRAY 1 -LOSS 3 -RAYL 0 -PFIS 1 -CUTS 0.00002 0.00002 0.00005 0.00005 0.00005 ( CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO) -CUTS 0.0001 0.0001 0.0001 0.0001 0.001 ( CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO) -GAST 1 (GAS TYPE) -KINE 9 10. 0. 0. (PARTICLE TYPE, ENERGY,THETA,PHI) -TIME 2=10. (TIME LEFT FOR UGLAST) -RNDM 790309691 1561021085 -HADR 4 -END - - - - - - - diff --git a/StarVMC/geant3/examples/gmain.cxx b/StarVMC/geant3/examples/gmain.cxx deleted file mode 100644 index 7459d0a7446..00000000000 --- a/StarVMC/geant3/examples/gmain.cxx +++ /dev/null @@ -1,39 +0,0 @@ -#include "TG3Application.h" -#include "TGeant3TGeo.h" -#include "TRint.h" -extern "C" -{ - void uginit_(); - void uglast_(); -} -//______________________________________________________________________________ -int main(int argc, char **argv) -{ - // Create an interactive ROOT application - //TG3Application g3("G3","dummy"); - TG3Application g3; - if (argc > 1 && !strcmp(argv[1],"TGeant3")) { - new TGeant3("g",0); - printf("+-----------------------------------------------------------+\n"); - printf("| |\n"); - printf("| Running %s with TGeant3 <=========\n",argv[0]); - } else { - new TGeant3TGeo("g",0); - printf("+-----------------------------------------------------------+\n"); - printf("| |\n"); - printf("| Running %s with TGeant3TGeo <=========\n",argv[0]); - } - printf("| |\n"); - printf("+-----------------------------------------------------------+\n"); - - uginit_(); - - TRint theApp("Rint", &argc, argv); - - // and enter the event loop... - theApp.Run(kTRUE); - - uglast_(); - - return 0; -} diff --git a/StarVMC/geant3/examples/gphysi.dat b/StarVMC/geant3/examples/gphysi.dat deleted file mode 100644 index 08c74b07615..00000000000 --- a/StarVMC/geant3/examples/gphysi.dat +++ /dev/null @@ -1,23 +0,0 @@ -1*************************************************************************************************** - * * - * G E A N T Version 3.2111 DATE/TIME 61108/1620 R U N 1 * - * * - * Data structure Date Time GVERSN ZVERSN * - * * - * INIT 61108 1620 3.2111 3.77 * - * KINE 61108 1620 3.2111 3.77 * - * HITS 61108 1620 3.2111 3.77 * - * DIGI 61108 1620 3.2111 3.77 * - * * - * * - * Standard TPAR for this run are * - * * - * CUTGAM= 1.00 MeV CUTELE= 1.00 MeV CUTNEU= 10.00 MeV CUTHAD= 10.00 MeV CUTMUO= 10.00 MeV * - * BCUTE = 1.00 MeV BCUTM = 1.00 MeV DCUTE = 10.00 TeV DCUTM = 10.00 TeV PPCUTM= 10.00 MeV * - * IPAIR= 1. ICOMP= 1. IPHOT= 1. IPFIS= 0. IDRAY= 0. IANNI= 1. IBREM= 1. IHADR= 1. * - * IMUNU= 1. IDCAY= 1. ILOSS= 2. IMULS= 1. IRAYL= 0. ILABS= 0. ISYNC= 0. ISTRA= 0. * - * * - * * - *************************************************************************************************** - - diff --git a/StarVMC/geant3/examples/model b/StarVMC/geant3/examples/model deleted file mode 100755 index 2fed5668731477f02780239166f6f0caec1dade9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141664 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 diff --git a/StarVMC/geant3/examples/model.F b/StarVMC/geant3/examples/model.F deleted file mode 100644 index 1377d7027f8..00000000000 --- a/StarVMC/geant3/examples/model.F +++ /dev/null @@ -1,435 +0,0 @@ - SUBROUTINE UFILES -* -* To open FFREAD and HBOOK files -* - OPEN(UNIT=4,FILE='model.dat',STATUS='UNKNOWN') - END - SUBROUTINE UGINIT -* -************************************************************************ -* * -* To initialise GEANT3 program and read data cards * -* * -************************************************************************ -* -#include "gckine.inc" -#include "gcunit.inc" -#include "model.inc" -* -* ----------------------------------------------------------------- -* -* Open user files -* - CALL UFILES -* -* Initialize GEANT -C..geant.. - CALL GINIT -* -* Prints version number -* - WRITE(LOUT,1001) -* -* IKINE = particle type (default=1=gamma) -* PKINE(1)=particle energy -* IKINE and PKINE can be changed with the data card KINE -* - IKINE=1 - PKINE(1)=10. -* -* Read data cards with FFREAD -* -C..geant.. - - write(lout,1000) - 1000 format(/,' ========> Reading ffread data cards : type <=======' - +,/,'read 4' - +,/,'your own data cards if any' - +,/,'stop',/,' Now waiting for input',/) - - CALL GFFGO -* -* Initialize GEANT/ZBOOK data structures -* -C..geant.. - CALL GZINIT -* -* Initialize graphics package -* - CALL GDINIT -* -* Geometry and materials description. -* - CALL UGEOM -* -* Particle table definition and energy loss initialization. -* -C..geant.. - CALL GPART -C..geant.. - CALL GPHYSI -* -* Initialize MODE graphics -* - CALL VIEWYZ(1) -C..book user histograms: - CALL UHINIT -* - 1001 FORMAT(/,' MODE VERSION 1.00 : ',/) - END - - SUBROUTINE UHINIT -* -************************************************************************ -* * -* To book the user's histograms * -* * -************************************************************************ -* -* -#include "gckine.inc" -* -* ------------------------------------------------------------------ -* - ELOW = 0. - EHIG = 1.1*PKINE(1) - CALL HBOOK1(101,'TOT ENERGY IN MODEL$', 100, ELOW, EHIG, 0.) - CALL HBOOK1(102,'TOT ENERGY IN C6F6$ ', 100, ELOW, EHIG, 0.) - CALL HBOOK1(103,'TOT ENERGY IN SCIN$ ', 100, ELOW, EHIG, 0.) -* - END - - SUBROUTINE UGEOM -* -************************************************************************ -* * -* Routine to define the geometry of the set-up. * -* * -************************************************************************ -* -* -#include "model.inc" -* - DIMENSION PAR(20) - DIMENSION AC6F6(2),ZC6F6(2),WC6F6(2) -* - DATA AC6F6/12.01,19.01/ - DATA ZC6F6/6.,9./ - DATA WC6F6/6.,6./ -* -* ----------------------------------------------------------------- -* -* -* Defines materials - CALL GSMATE( 1,'AIR$ ', 15.0,7.0,0.0012,30050.0,67500.0,0,0) - CALL GSMATE( 2,'PLAST SC$', 6.25,3.4,1.032 , 43.0, 437.,0,0) - CALL GSMATE( 3,'IRON$ ', 55.85,26.,7.8 , 1.76, 17.1,0,0) - CALL GSMATE( 9,'ALUMINIUM$', 26.98,13.,2.7 , 8.9,37.2,0,0) - CALL GSMIXT(10,'C6F6$',AC6F6,ZC6F6,1.61,-2,WC6F6) - CALL GSMATE(13,'LEAD$ ',207.19,82.,11.35 ,0.56,18.5,0,0) -* -* Defines tracking media parameters. - FIELDM = 0. - IFIELD = 0 - TMAXFD = 0. - DMAXMS = 0.1 - DEEMAX = 0.02 - EPSIL = 0.01 - STMIN = 0.01 -* - CALL GSTMED( 1,'AIR $' , 1 , 0 , IFIELD, - * FIELDM,TMAXFD,0.,0. , EPSIL, STMIN, 0 , 0 ) - CALL GSTMED( 2,'PLASTIC SCINTILLAT$' , 2 , 0 , IFIELD, - * FIELDM,TMAXFD,DMAXMS,DEEMAX, EPSIL, STMIN, 0 , 0 ) - CALL GSTMED( 3,'IRON $' , 3 , 0 , IFIELD, - * FIELDM,TMAXFD,DMAXMS,DEEMAX, EPSIL, STMIN, 0 , 0 ) - CALL GSTMED( 9,'ALUM $' , 9 , 0 , IFIELD, - * FIELDM,TMAXFD,DMAXMS,DEEMAX, EPSIL, STMIN, 0 , 0 ) - CALL GSTMED(10,'C6F6 $' , 10 , 0 , IFIELD, - * FIELDM,TMAXFD,DMAXMS,DEEMAX, EPSIL, STMIN, 0 , 0 ) - CALL GSTMED(13,'LEAD $' , 13 , 0 , IFIELD, - * FIELDM,TMAXFD,DMAXMS,DEEMAX, EPSIL, STMIN, 0 , 0 ) -* -* -* Defines geometry of the set-up -* -* Define Mother volume MODE - PAR(1)=8.5 - PAR(2)=8.5 - PAR(3)=10. - CALL GSVOLU('MODE', 'BOX ', 1, PAR, 3, IVOLU) -* -* Define Iron absorber IROM - PAR(1)=0. - PAR(2)=8. - PAR(3)=4. - CALL GSVOLU('IROM', 'TUBE', 9, PAR, 3, IVOLU) - CALL GSPOS('IROM',1,'MODE',0.,0.,-5.8,0,'ONLY') -* - PAR(1)=0. - PAR(2)=8. - PAR(3)=0.4 - CALL GSVOLU('IRON', 'TUBE', 3, PAR, 3, IVOLU) - DO 10 I=1,8 - Z0=-4.+(I-1)*1.+0.4 - CALL GSPOS('IRON',I,'IROM',0.,0.,Z0,0,'ONLY') - 10 CONTINUE -* CALL GSORD('IROM',3) -* -* Define the 2 Polycones of C6F6 - PAR( 1)=0. - PAR( 2)=360. - PAR( 3)=4. - PAR( 4)=-1.6 - PAR( 5)=0.4 - PAR( 6)=3.8 - PAR( 7)=-1. - PAR( 8)=0.8 - PAR( 9)=2.8 - PAR(10)=1. - PAR(11)=0.8 - PAR(12)=2.8 - PAR(13)=2. - PAR(14)=0.4 - PAR(15)=3.8 - CALL GSVOLU('C6F6','PCON',10, PAR,15, IVOLU) - CALL GSPOS('C6F6',1,'MODE',-4.,-4.,0.,0,'ONLY') - CALL GSPOS('C6F6',2,'MODE',-4., 4.,0.,0,'ONLY') - CALL GSPOS('C6F6',3,'MODE', 4.,-4.,0.,0,'ONLY') - CALL GSPOS('C6F6',4,'MODE', 4., 4.,0.,0,'ONLY') -* -* Define the 2 scintillator plates - PAR(1)=7. - PAR(2)=7. - PAR(3)=0.5 - CALL GSVOLU('SCIN', 'BOX ', 2, PAR, 3, IVOLU) - CALL GSPOS('SCIN',1,'MODE',0.,0.,3.2,0,'ONLY') - CALL GSPOS('SCIN',2,'MODE',0.,0.,4.6,0,'ONLY') -* -* Define the lead absorber - PAR(1)=4. - PAR(2)=7. - PAR(3)=5. - PAR(4)=7. - PAR(5)=1.5 - CALL GSVOLU('LEAD', 'TRD2',13, PAR, 5, IVOLU) - CALL GSPOS('LEAD',1,'MODE',0.,0.,8.,0,'ONLY') -* - CALL GSORD('MODE',3) -* -* Close geometry banks. Mandatory system routine. -* - CALL GGCLOS -* - END - - SUBROUTINE GUKINE -* -************************************************************************ -* * -* Generates Kinematics for primary tracks * -* * -************************************************************************ -* -#include "gcflag.inc" -#include "gckine.inc" -#include "gconst.inc" -#include "model.inc" -* - DIMENSION VERTEX(3),PLAB(3) - DIMENSION RNDM(4) -* -* ----------------------------------------------------------------- -* - - CALL GRNDM(RNDM,4,1) - XV=8.5*(2.*RNDM(1)-1.) - YV=8.5*(2.*RNDM(2)-1.) - THETA=PI*RNDM(3)/10. - PHI=TWOPI*RNDM(4) -C - PLAB(1) = PKINE(1)*SIN(THETA)*COS(PHI) - PLAB(2) = PKINE(1)*SIN(THETA)*SIN(PHI) - PLAB(3) = PKINE(1)*COS(THETA) - VERTEX(1)=XV - VERTEX(2)=YV - VERTEX(3)=-9.99 -C - CALL GSVERT(VERTEX,0,0,0,0,NVERT) - CALL GSKINE(PLAB,IKINE,NVERT,0,0,NT) -* -* Reset energy deposited -* - EC6F6=0. - ESCIN=0. - SUMX0=0. -* -* Kinematic debug (controled by ISWIT(1)) -* - IF(IDEBUG.EQ.1.AND.ISWIT(1).EQ.1) THEN - CALL GPRINT('VERT',0) - CALL GPRINT('KINE',0) - ENDIF -* - END - - SUBROUTINE GUTREV -* -************************************************************************ -* * -* User routine to control tracking of one event * -* * -* Called by GRUN (in GEANT, controls a run of events) * -* * -************************************************************************ -* -#include "gcflag.inc" -* -* ----------------------------------------------------------------- -*..geant..(TRAK 110).. - CALL GTREVE -C.. in turn calls GUTRAK which, if not here, -C.. is in GEANT3. GUTRAK calls GTRACK (steering routine -C.. to track a ptcl). -* -* Debug and plot tracks. -* - IF(IDEBUG.EQ.1) THEN - IF(ISWIT(2).EQ.1) CALL GPRINT('JXYZ', 0) - IF(ISWIT(3).EQ.1) THEN -C..geant..draw a view.. - CALL GDSHOW(1) -C..geant..draw a track (0 means all tracks).. - CALL GDXYZ (0) - ENDIF - ENDIF -* - END - - SUBROUTINE GUSTEP -* -************************************************************************ -* * -* User routine called at the end of each tracking step * -* MEC is the mechanism origin of the step * -* INWVOL is different from 0 when the track has reached * -* a volume boundary * -* ISTOP is different from 0 if the track has stopped * -* * -************************************************************************ -* -#include "gcmate.inc" -#include "gctmed.inc" -#include "gcking.inc" -#include "gcflag.inc" -#include "gctrak.inc" -#include "model.inc" -* -* ----------------------------------------------------------------- -* -* Accumulate energy deposited in C6F6 and SCINTILLATORS -* - SUMX0=SUMX0+STEP/RADL - IF(NUMED.EQ.10)THEN - EC6F6=EC6F6+DESTEP - ENDIF - IF(NUMED.EQ. 2)THEN - ESCIN=ESCIN+DESTEP - ENDIF -* -* Something generated ? -* - IF(NGKINE.GT.0) THEN - CALL GSKING(0) - END IF -* -* Debug/plot event - IF(IDEBUG.EQ.1) THEN - IF((ISWIT(2).EQ.1).OR.(ISWIT(3).EQ.1)) CALL GSXYZ - IF (ISWIT(2).EQ.2) CALL GPCXYZ - IF (ISWIT(2).EQ.3) CALL GDCXYZ - ENDIF - END - - SUBROUTINE GUOUT -* -C. ****************************************************************** -C. * * -C. * User routine called at the end of each event. * -C. * * -C. ****************************************************************** -C. -C. -#include "gcunit.inc" -#include "gcflag.inc" -#include "model.inc" -* - DATA ID101,ID102,ID103,ID104/4*0/ -C. -C. ------------------------------------------------------------------ -C. - ETOT=EC6F6+ESCIN - IF(ETOT.GT.0.)THEN - CALL HFF1(101,ID101,ETOT,1.) - IF(EC6F6.GT.0.)CALL HFF1(102,ID102,EC6F6,1.) - IF(ESCIN.GT.0.)CALL HFF1(103,ID103,ESCIN,1.) - ENDIF -C - IF(IDEBUG.NE.0)THEN - IF(ISWIT(8).NE.0)THEN - PRINT 1000,IEVENT,XV,YV,THETA,PHI,SUMX0 - 1000 FORMAT(' IEVENT=',I6,' XV=',F8.2,' YV=',F8.2, - + ' THETA=',F8.2,' PHI=',F8.2,' SUMX0=',F10.4) - ENDIF - IF(ISWIT(6).NE.0)THEN - WRITE(LOUT,701)IEVENT,ETOT,EC6F6,ESCIN - 701 FORMAT(' - SUMMARY OF EVENT NR ',I6, - + ' ENERGY DEPOSIT IN MODE :',E11.3,' GEV, ', - + ' IN C6F6 :',E11.3, - + ' IN SCIN :',E11.3) -* - ENDIF - ENDIF - 100 RETURN -* - END -C - SUBROUTINE UGLAST -* -************************************************************************ -* * -* Termination routine to print histograms and statistics * -* * -************************************************************************ -* -* ----------------------------------------------------------------- -* - CALL GLAST -* -* Print HBOOK histograms -* - CALL HROUT(0,ICYCLE,' ') - CALL HREND('HBOOK') - CALL HPRINT(0) -* - END - SUBROUTINE VIEWYZ (IVIEW) -C. -C. ****************************************************************** -C. * * -C. * Draw full set up in 'view bank' mode. * -C. * * -C. ****************************************************************** -C. -C. -C. ------------------------------------------------------------------ -C. -C Create bank for view XY. -C - CALL GDOPEN(IVIEW) -C - CALL GDHEAD(110110, 'VIEW XY$' ,0.5) -C - CALL GDRAWC ('MODE', 1,0., 10.,10.,1.,1.) -C - END diff --git a/StarVMC/geant3/examples/model.dat b/StarVMC/geant3/examples/model.dat deleted file mode 100644 index 9fdeadce704..00000000000 --- a/StarVMC/geant3/examples/model.dat +++ /dev/null @@ -1,14 +0,0 @@ -LIST -TRIGGER 500000 -DEBUG 1 1000 1 -SWIT 8=1 -SWIT 6=1 -COMP 1 -PAIR 1 -BREM 1 -ANNI 1 -PHOT 1 -CUTS 0.0001 0.0001 ( CUTGAM,CUTELE) -KINE 3 10. (PARTICLE TYPE, ENERGY) -TIME 2=10. (TIME LEFT FOR UGLAST) -END diff --git a/StarVMC/geant3/examples/model.inc b/StarVMC/geant3/examples/model.inc deleted file mode 100644 index 439e83732c9..00000000000 --- a/StarVMC/geant3/examples/model.inc +++ /dev/null @@ -1,2 +0,0 @@ - COMMON/CMODEL/EC6F6,ESCIN,XV,YV,THETA,PHI,SUMX0 -C diff --git a/StarVMC/geant3/examples/rootlogon.C b/StarVMC/geant3/examples/rootlogon.C deleted file mode 100644 index e9e4c7a7bd7..00000000000 --- a/StarVMC/geant3/examples/rootlogon.C +++ /dev/null @@ -1,7 +0,0 @@ -{ - printf("\n*****************************************************\n"); - printf( "* Welcome to the GEANT3-VirtualMC examples *\n"); - printf( "* Type \"gMC->ProcessRun(10)\" to process 10 events *\n"); - printf( "* Type \".q\" to execute the uglast function *\n"); - printf( "*****************************************************\n"); -} diff --git a/StarVMC/geant3/fiface/fldist.F b/StarVMC/geant3/fiface/fldist.F deleted file mode 100644 index c4c5493e0d6..00000000000 --- a/StarVMC/geant3/fiface/fldist.F +++ /dev/null @@ -1,140 +0,0 @@ -* -* $Id: fldist.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: fldist.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : - SUBROUTINE FLDIST -#include "geant321/gcflag.inc" -#include "geant321/gcbank.inc" -#include "geant321/gckine.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcjloc.inc" -#include "geant321/dimpar.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/comcont.inc" -#endif -#include "geant321/comcon.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/partt.inc" -#endif -#include "geant321/part.inc" -#include "geant321/gfkdis.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION SII, ZLL, SIE, ZEL, ONE, PFLUKA -#endif - PARAMETER (ONE=1) - DIMENSION IGTOFL(49),IFLTOG(39) - DATA IGTOFL / 0, 0, 0, 0, 0, 0,23,13,14,12, 15,16, 8, 1, 2,19, 0, - +17,21,22, 20, 34, 36, 38, 9,18, 31, 32, 33, 35, 37, 39, 17*0/ - - DATA IFLTOG /14,15, 3, 2, 4, 4, 1,13,25, 5, 6,10, 8, 9,11,12,18, - +26,16,21, 19,20, 7, 7*0, 27, 28, 29, 22, 30, 23, 31, 24, 32/ - IGF=0 -* IF (IPART.EQ.13.AND.GEKIN.LE.0.05) THEN - IF (IPART.EQ.13.AND.GEKIN.LE.0.02) THEN - IGF=1 - CALL GPGHEI - SINE = 0. - SELA = 0. - FSIG = 0. - GO TO 999 - ENDIF - IF (IFINIT(5) .EQ. 0) CALL FLINIT - IJ = IGTOFL(IPART) - ZINE = BIG - ZELA = BIG - IF(IJ.GT.0) THEN - PFLUKA = SQRT(GEKIN*(GEKIN+2*AM(IJ))) - JMA = LQ(JMATE-NMAT) - NCOMP = ABS(Q(JMA+11)) - DENS = Q(JMA+8) - JMIXT = LQ(JMA-5) - IF ( NCOMP .LE. 1) THEN - CALL NIZLNW(IJ,ONE*Z,ONE*A,ONE*GEKIN,PFLUKA, SII,ZLL) - IF (ZLL.LT.BIG) THEN - ZINE = ZLL/DENS - END IF - ELSE - ZIN1 = 0. - DO 10 K=1,NCOMP - CALL NIZLNW(IJ,ONE*Q(JMIXT+NCOMP+K), - + ONE*Q(JMIXT+K),ONE*GEKIN,PFLUKA,SII,ZLL) - IF (ZLL.GT.BIG) THEN - ZIN1 = 0.0 + ZIN1 - ELSE - ZIN1 = DENS*Q(JMIXT+2*NCOMP+K)/ZLL + ZIN1 - END IF - CABINX(K) = ZIN1 - 10 CONTINUE - ANXNOR = ZIN1 - IF (ZIN1.GT.0.0) THEN - ZINE = 1./ZIN1 - END IF - END IF - IF ( NCOMP .LE. 1) THEN - CALL SIGEL (IJ,ONE*A,ONE*GEKIN,PFLUKA, SIE,ZEL) - IF (ZEL.LT.BIG) THEN - ZELA = ZEL/DENS - END IF - - ELSE - ZEL1 = 0. - DO 20 I=1,NCOMP - CALL SIGEL (IJ,ONE*Q(JMIXT+I),ONE*GEKIN, PFLUKA, - + SIE,ZEL) - IF (ZEL.LT.BIG) THEN - ZEL1 = DENS*Q(JMIXT+2*NCOMP+I)/ZEL + ZEL1 - END IF - CABELX(I) = ZEL1 - 20 CONTINUE - ELXNOR = ZEL1 - IF (ZEL1.GT.0.0) THEN - ZELA = 1./ZEL1 - END IF - END IF - ENDIF - IF (ZINE.EQ.BIG) THEN - SINE = 0.0 - ELSE - SINE = 1./ZINE - END IF - IF (ZELA.EQ.BIG) THEN - SELA = 0.0 - ELSE - SELA = 1./ZELA - END IF - FSIG = SINE + SELA - IF (FSIG .LE. 0) THEN - SHADR = BIG - ELSE - SHADR = ZINTHA/FSIG - END IF - 999 CONTINUE - END diff --git a/StarVMC/geant3/fiface/flinit.F b/StarVMC/geant3/fiface/flinit.F deleted file mode 100644 index 6999f171b32..00000000000 --- a/StarVMC/geant3/fiface/flinit.F +++ /dev/null @@ -1,78 +0,0 @@ -* -* $Id: flinit.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: flinit.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 07/10/94 18.34.51 by S.Giani -*-- Author : - SUBROUTINE FLINIT -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -#include "geant321/gccuts.inc" -#include "geant321/gsecti.inc" -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/dimpar.inc" -#if defined(CERNLIB_DOUBLE) -#include "geant321/comcont.inc" -#endif -#include "geant321/comcon.inc" -#include "geant321/iounit.inc" -#include "geant321/gfkdis.inc" - CHARACTER*(*) SDUM - PARAMETER (SDUM=' ') -#if defined(CERNLIB_DOUBLE) - DOUBLE PRECISION WHAT(6) -#endif -#if defined(CERNLIB_SINGLE) - REAL WHAT(6) -#endif - DATA WHAT/6*0./ -#if defined(CERNLIB_UNIX)||defined(CERNLIB_VAX) - OPEN(UNIT=LUNERR,FILE='flukaerr.dat',STATUS='UNKNOWN') -#endif -#if defined(CERNLIB_IBM) - OPEN(UNIT=LUNERR,FILE='/FLUKAERR DAT') -#endif - CALL FDNOPT - CALL FLKDT1 - CALL FLKDT2 - CALL FLKDT3 - CALL FLKDT4 - CALL FLKDT5 - CALL FLKDT6 - CALL FLKDT7 - CALL FDEVAP - CALL FDPREE - CALL FKZERO - CALL EVVINI(WHAT,SDUM) - IFINIT(5)=1 - print *,'*****************************************************' - print *,'** You are requesting the GEANT-FLUKA interface: **' - print *,'** for conditions and warnings see the comments **' - print *,'** in GUPHAD/GUHADR and/or the GEANT manual. **' - print *,'*****************************************************' -* - END diff --git a/StarVMC/geant3/fiface/flufin.F b/StarVMC/geant3/fiface/flufin.F deleted file mode 100644 index dfd4d76e051..00000000000 --- a/StarVMC/geant3/fiface/flufin.F +++ /dev/null @@ -1,346 +0,0 @@ -* -* $Id: flufin.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: flufin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.3 1997/06/20 18:32:55 japost -* A summary of the problem buf fix and its original report: -* -* ------------------------------------------------------------------------------ -* From: Shawn McKee - (313) 764-4395 -* Subject: RE: Problem with FLUKA interface -* Date: Thu, 12 Jun 97 18:09:31 METDST -* -* -* I have seen this error with FLUKA. I traced it to -* the following statement: -* -* IF (RNDEVT .GE. SINE/FSIG) THEN -* -* Apparently FSIG (for this event) was not initialized -* properly (it is 0.0). My fix was to insert a check -* on FSIG in the FLUFIN routine source. -* -* ------------------------------------------------------------------------------ -* From: pniemine@estwm0.wm.estec.esa.nl -* Subject: Problem with FLUKA interface - cern.heplib #5667 -* Date: Thu, 12 Jun 97 17:21:14 METDST -* -* In trying to run a GEANT program with FLUKA interface in our VMS-AXP (Alpha) -* cluster, I get the following error message (originating from FLUFIN) once -* a hadronic interaction is to be simulated: -* -* arithmetic trap, floating/decimal divide by zero -* ------------------------------------------------------------------------------ -* -* Revision 1.2 1996/02/27 14:12:57 ravndal -* Correction for overstopped antiprotons -* -* Revision 1.1.1.1 1995/10/24 10:19:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 19/05/94 13.35.12 by S.Ravndal -*FCA : 05/01/99 09:47:25 by Federico Carminati -* Added Xi- to the list of particles that are forced -* to decay -*-- Author : - SUBROUTINE FLUFIN -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -#include "geant321/gsecti.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcunit.inc" -#include "geant321/dimpar.inc" - -#if !defined(CERNLIB_SINGLE) -#include "geant321/finuct.inc" -#endif -#include "geant321/finuc.inc" - REAL RNDM(1) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION AOCMBM, AMSS , ZTAR, RHO , ZLIN, ZLEL, ZLRAD, - +ZUL -#endif - COMMON / FKMAPA / AOCMBM (MXXMDF), AMSS (MXXMDF), ZTAR (MXXMDF), - + RHO (MXXMDF), ZLIN (MXXMDF), ZLEL (MXXMDF), - + ZLRAD (MXXMDF), ZUL (MXXMDF), MEDIUM (MXXRGN), - + MULFLG (MXXMDF),IFCOMP(MXXMDF), MSSNUM (MXXMDF), - + NREGS, NMATF, MTBSNM -#if !defined(CERNLIB_SINGLE) -#include "geant321/part2t.inc" -#endif -#include "geant321/part2.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/comcont.inc" -#endif -#include "geant321/comcon.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/fheavyt.inc" -#endif -#include "geant321/fheavy.inc" -#include "geant321/paprop.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/papropt.inc" -#endif -#include "geant321/gfkdis.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION POO,EKE,TXI,TYI,TZI,AMM,WE,ONE,PGEANT,DMOD -#endif - PARAMETER (ONE=1) - DIMENSION IGTOFL(49),IFLTOG(39),IHVTOG(6),ZSAMP(50) - DATA IGTOFL / 0, 0, 0, 0, 0, 0,23,13,14,12, 15,16, 8, 1, 2,19, 0, - +17,21,22, 20, 34, 36, 38, 9,18, 31, 32, 33, 35, 37, 39, 17*0/ - - DATA IFLTOG /14,15, 3, 2, 4, 4, 1,13,25, 5, 6,10, 8, 9,11,12,18, - +26,16,21, 19,20, 7, 7*0, 27, 28, 29, 22, 30, 23, 31, 24, 32/ - DATA IHVTOG /13,14,45,46,49,47/ -* - NP = 0 - NPHEAV = 0 -* -* Stopped particles: -* o also xi- are forced to decay -* o Neutral particles are sent to GHSTOP -* o pi+ and K+/K- are forced to decay -* o pi-, antiprotons and antineutrons are sent to FLUKA -* for annihilation (not here but later in this routine) - IF ((IGF.EQ.1).OR. - + (GEKIN.EQ.0..AND.ITRTYP.EQ.3.AND.IPART.NE.25)) THEN - CALL GHEISH - IGF = 0 - GOTO 999 - ELSE IF (GEKIN.EQ.0..AND. - + (IPART.EQ.8.OR.IPART.EQ.12.OR.IPART.EQ.11.OR.IPART.EQ.23)) THEN - CALL G3DECAY - NMEC=NMEC+1 - LMEC(NMEC)=5 - ISTOP=1 - GOTO 999 - ENDIF -* - IF (IFINIT(5) .EQ. 0) CALL FLINIT - INT=0 - IJ=IGTOFL(IPART) - IF(IJ.EQ.0) GOTO 110 - NMEC = NMEC + 1 - EKE = GEKIN - TXI = VECT(4) - TYI = VECT(5) - TZI = VECT(6) - DMOD = ONE/SQRT(TXI**2+TYI**2+TZI**2) - TXI = TXI*DMOD - TYI = TYI*DMOD - TZI = TZI*DMOD - WE = 1. - JMA = LQ(JMATE-NMAT) - NCOMP = ABS (Q(JMA+11)) - AMM = Q(JMA+6) - JMIXT = LQ(JMA-5) - -* Antiprotons, antineutrons and pi- are sent to -* eventv for annihilation - IF (GEKIN.EQ.0..AND. - + (IPART.EQ.15.OR.IPART.EQ.9.OR.IPART.EQ.25)) THEN - IF(NCOMP.LE.1) THEN - AMSS(1) = Q(JMA+6) - ZTAR(1) = Q(JMA+7) - MSSNUM(1) = 0 - RHO(1) = Q(JMA+8) - ELSE - ZSAMP(1) = 0. - DO 10 I=1,NCOMP - ZSAMP(I+1) = ZSAMP(I) + Q(JMIXT+NCOMP+I) - 10 CONTINUE - CALL GRNDM(RNDM,1) - ZCONT=ZSAMP(NCOMP+1)*RNDM(1) - DO 20 I=1,NCOMP - IF(ZCONT.LE.ZSAMP(I+1)) GO TO 30 - 20 CONTINUE - I = NCOMP - 30 CONTINUE - AMSS(1) = Q(JMIXT+I) - MSSNUM(1) = 0 - ZTAR(1) = Q(JMIXT+NCOMP+I) - RHO(1) = Q(JMIXT+2*NCOMP+I)*DENS - END IF - EKE = 1E-9 - POO=SQRT(EKE*(EKE+2*AM(IJ))) - CALL EVENTV(IJ,POO,EKE,TXI,TYI,TZI,WE,1) - NMEC=NMEC+1 - LMEC(NMEC)=17 - GOTO 80 - ELSE IF (GEKIN.LE.CUTHAD .AND. ITRTYP.EQ.4) THEN - DESTEP = DESTEP + GEKIN - GEKIN = 0. - GETOT = AMASS - VECT(7) = 0. - ISTOP = 1 - LMEC(NMEC)=30 - GO TO 110 - ENDIF -* - CALL GRNDM(RNDM,1) - RNDEVT=RNDM(1) - - IF (FSIG.LE.0.) THEN - SRAT = 1.E7 - ELSE - SRAT = SINE/FSIG - ENDIF - IF ( RNDEVT .GE. SRAT) THEN - IF (GEKIN .GT. 0.02) THEN - POO=SQRT(EKE*(EKE+2*AM(IJ))) - ELSE - GO TO 110 - END IF - INT=1 - LMEC(NMEC)=13 - IF(NCOMP.LE.1) THEN - CALL NUCREL(IJ,POO,EKE,TXI,TYI,TZI,AMM,WE) - ELSE - CALL GRNDM(RNDM,1) - RCONT=ELXNOR*RNDM(1) - DO 40 I=1,NCOMP - IF(RCONT.LE.CABELX(I)) GO TO 50 - 40 CONTINUE - I=NCOMP - 50 CONTINUE - CALL NUCREL(IJ,POO,EKE,TXI,TYI,TZI,ONE*Q(JMIXT+I),WE) - END IF - ELSE - LMEC(NMEC)=20 - IF (IHADR.EQ.2) THEN - ISTOP = 2 - DESTEP = DESTEP + GETOT - GO TO 110 - ENDIF - IF (GEKIN .GT. 0.02) THEN - POO=SQRT(EKE*(EKE+2*AM(IJ))) - ELSE - IF ((IJ.EQ.2 .OR. IJ.EQ.9 .OR. IJ.EQ.14 .OR. IJ.EQ.16) - + .AND. GEKIN .GT. 0.0) THEN - POO=SQRT(EKE*(EKE+2*AM(IJ))) - ELSE - NMEC=NMEC-1 - GO TO 110 - END IF - END IF - INT=2 - IF(NCOMP.LE.1) THEN - AMSS(1) = Q(JMA+6) - ZTAR(1) = Q(JMA+7) - MSSNUM(1) = 0 - RHO(1) = Q(JMA+8) - ELSE - CALL GRNDM(RNDM,1) - RCONT=ANXNOR*RNDM(1) - DO 60 I=1,NCOMP - IF(RCONT.LE.CABINX(I)) GO TO 70 - 60 CONTINUE - I=NCOMP - 70 CONTINUE - AMSS(1) = Q(JMIXT+I) - MSSNUM(1) = 0 - ZTAR(1) = Q(JMIXT+NCOMP+I) - RHO(1) = Q(JMIXT+2*NCOMP+I)*DENS - END IF - CALL EVENTV(IJ,POO,EKE,TXI,TYI,TZI,WE,1) - END IF -* - 80 IF(NP.EQ.1.AND.NPHEAV.EQ.0.AND.KPART(1).EQ.IJ) THEN - VECT(4)=CXR(1) - VECT(5)=CYR(1) - VECT(6)=CZR(1) - VECT(7)=SQRT(TKI(1)*(TKI(1)+2*AMASS)) - GETOT=TKI(1)+AMASS - GEKIN=TKI(1) - ELSE - ISTOP=1 - NSTAK1 = MIN(NP,MXGKIN-NGKINE) - IF(NP.GT.NSTAK1) THEN - WRITE(CHMAIL,10000) NP-NSTAK1 - CALL GMAIL(0,0) - ENDIF - DO 90 K=1,NSTAK1 - NGKINE = NGKINE + 1 - IF (KPART(K) .EQ. 24 .OR. KPART(K) .EQ. 25) THEN - KPART(K) = 19 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. 0.5) KPART(K) = 12 - END IF - IGEPAR = IFLTOG(KPART(K)) - JPA = LQ(JPART-IGEPAR) - AGEMAS = Q(JPA+7) - PGEANT = SQRT(TKI(K)*(TKI(K)+2*AGEMAS)) - GKIN(1,NGKINE)=CXR(K)*PGEANT - GKIN(2,NGKINE)=CYR(K)*PGEANT - GKIN(3,NGKINE)=CZR(K)*PGEANT - GKIN(4,NGKINE)=TKI(K)+AGEMAS - GKIN(5,NGKINE)=IGEPAR - TOFD(NGKINE)=0.0 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - 90 CONTINUE -* - NSTAK2 = MIN(NPHEAV,MXGKIN-NGKINE) - IF(NPHEAV.GT.NSTAK2) THEN - WRITE(CHMAIL,10100) NPHEAV-NSTAK2 - CALL GMAIL(0,0) - ENDIF - DO 100 K=1,NSTAK2 - NGKINE = NGKINE + 1 - IGEPAR = IHVTOG(KHEAVY(K)) - JPA = LQ(JPART-IGEPAR) - AGEMAS = Q(JPA+7) - PGEANT = SQRT(TKHEAV(K)*(TKHEAV(K)+2*AGEMAS)) - GKIN(1,NGKINE)=CXHEAV(K)*PGEANT - GKIN(2,NGKINE)=CYHEAV(K)*PGEANT - GKIN(3,NGKINE)=CZHEAV(K)*PGEANT - GKIN(4,NGKINE)=TKHEAV(K)+AGEMAS - GKIN(5,NGKINE)=IGEPAR - TOFD(NGKINE)=0.0 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - 100 CONTINUE -* - KCASE=NAMEC(12) - END IF - 110 CONTINUE - ZINTHA = GARNDM(DUMMY) - SLHADR = SLENG - STEPHA = 1.0E10 -10000 FORMAT(' **** FLUFIN: Stack overflow, ',I6,' particles lost') -10100 FORMAT(' **** FLUFIN: Stack overflow, ',I6, - +' heavy particles lost') - 999 END diff --git a/StarVMC/geant3/fiface/flufin.F.ori b/StarVMC/geant3/fiface/flufin.F.ori deleted file mode 100644 index 3578cede30c..00000000000 --- a/StarVMC/geant3/fiface/flufin.F.ori +++ /dev/null @@ -1,339 +0,0 @@ -* -* $Id: flufin.F.ori,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: flufin.F.ori,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.3 1997/06/20 18:32:55 japost -* A summary of the problem buf fix and its original report: -* -* ------------------------------------------------------------------------------ -* From: Shawn McKee - (313) 764-4395 -* Subject: RE: Problem with FLUKA interface -* Date: Thu, 12 Jun 97 18:09:31 METDST -* -* -* I have seen this error with FLUKA. I traced it to -* the following statement: -* -* IF (RNDEVT .GE. SINE/FSIG) THEN -* -* Apparently FSIG (for this event) was not initialized -* properly (it is 0.0). My fix was to insert a check -* on FSIG in the FLUFIN routine source. -* -* ------------------------------------------------------------------------------ -* From: pniemine@estwm0.wm.estec.esa.nl -* Subject: Problem with FLUKA interface - cern.heplib #5667 -* Date: Thu, 12 Jun 97 17:21:14 METDST -* -* In trying to run a GEANT program with FLUKA interface in our VMS-AXP (Alpha) -* cluster, I get the following error message (originating from FLUFIN) once -* a hadronic interaction is to be simulated: -* -* arithmetic trap, floating/decimal divide by zero -* ------------------------------------------------------------------------------ -* -* Revision 1.2 1996/02/27 14:12:57 ravndal -* Correction for overstopped antiprotons -* -* Revision 1.1.1.1 1995/10/24 10:19:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 19/05/94 13.35.12 by S.Ravndal -*-- Author : - SUBROUTINE FLUFIN -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -#include "geant321/gsecti.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcunit.inc" -#include "geant321/dimpar.inc" - -#if !defined(CERNLIB_SINGLE) -#include "geant321/finuct.inc" -#endif -#include "geant321/finuc.inc" - REAL RNDM(1) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION AOCMBM, AMSS , ZTAR, RHO , ZLIN, ZLEL, ZLRAD, - +ZUL -#endif - COMMON / FKMAPA / AOCMBM (MXXMDF), AMSS (MXXMDF), ZTAR (MXXMDF), - + RHO (MXXMDF), ZLIN (MXXMDF), ZLEL (MXXMDF), - + ZLRAD (MXXMDF), ZUL (MXXMDF), MEDIUM (MXXRGN), - + MULFLG (MXXMDF),IFCOMP(MXXMDF), MSSNUM (MXXMDF), - + NREGS, NMATF, MTBSNM -#if !defined(CERNLIB_SINGLE) -#include "geant321/part2t.inc" -#endif -#include "geant321/part2.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/comcont.inc" -#endif -#include "geant321/comcon.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/fheavyt.inc" -#endif -#include "geant321/fheavy.inc" -#include "geant321/paprop.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/papropt.inc" -#endif -#include "geant321/gfkdis.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION POO,EKE,TXI,TYI,TZI,AMM,WE,ONE,PGEANT,DMOD -#endif - PARAMETER (ONE=1) - DIMENSION IGTOFL(49),IFLTOG(39),IHVTOG(6),ZSAMP(50) - DATA IGTOFL / 0, 0, 0, 0, 0, 0,23,13,14,12, 15,16, 8, 1, 2,19, 0, - +17,21,22, 20, 34, 36, 38, 9,18, 31, 32, 33, 35, 37, 39, 17*0/ - - DATA IFLTOG /14,15, 3, 2, 4, 4, 1,13,25, 5, 6,10, 8, 9,11,12,18, - +26,16,21, 19,20, 7, 7*0, 27, 28, 29, 22, 30, 23, 31, 24, 32/ - DATA IHVTOG /13,14,45,46,49,47/ -* - NP = 0 - NPHEAV = 0 -* -* Stopped particles: -* o Neutral particles are sent to GHSTOP -* o pi+ and K+/K- are forced to decay -* o pi-, antiprotons and antineutrons are sent to FLUKA -* for annihilation (not here but later in this routine) - IF ((IGF.EQ.1).OR. - + (GEKIN.EQ.0..AND.ITRTYP.EQ.3.AND.IPART.NE.25)) THEN - CALL GHEISH - IGF = 0 - GOTO 999 - ELSE IF (GEKIN.EQ.0..AND. - + (IPART.EQ.8.OR.IPART.EQ.12.OR.IPART.EQ.11)) THEN - CALL GDECAY - NMEC=NMEC+1 - LMEC(NMEC)=5 - ISTOP=1 - GOTO 999 - ENDIF -* - IF (IFINIT(5) .EQ. 0) CALL FLINIT - INT=0 - IJ=IGTOFL(IPART) - IF(IJ.EQ.0) GOTO 110 - NMEC = NMEC + 1 - EKE = GEKIN - TXI = VECT(4) - TYI = VECT(5) - TZI = VECT(6) - DMOD = ONE/SQRT(TXI**2+TYI**2+TZI**2) - TXI = TXI*DMOD - TYI = TYI*DMOD - TZI = TZI*DMOD - WE = 1. - JMA = LQ(JMATE-NMAT) - NCOMP = ABS (Q(JMA+11)) - AMM = Q(JMA+6) - JMIXT = LQ(JMA-5) - -* Antiprotons, antineutrons and pi- are sent to -* eventv for annihilation - IF (GEKIN.EQ.0..AND. - + (IPART.EQ.15.OR.IPART.EQ.9.OR.IPART.EQ.25)) THEN - IF(NCOMP.LE.1) THEN - AMSS(1) = Q(JMA+6) - ZTAR(1) = Q(JMA+7) - MSSNUM(1) = 0 - RHO(1) = Q(JMA+8) - ELSE - ZSAMP(1) = 0. - DO 10 I=1,NCOMP - ZSAMP(I+1) = ZSAMP(I) + Q(JMIXT+NCOMP+I) - 10 CONTINUE - CALL GRNDM(RNDM,1) - ZCONT=ZSAMP(NCOMP+1)*RNDM(1) - DO 20 I=1,NCOMP - IF(ZCONT.LE.ZSAMP(I+1)) GO TO 30 - 20 CONTINUE - I = NCOMP - 30 CONTINUE - AMSS(1) = Q(JMIXT+I) - MSSNUM(1) = 0 - ZTAR(1) = Q(JMIXT+NCOMP+I) - RHO(1) = Q(JMIXT+2*NCOMP+I)*DENS - END IF - EKE = 1E-9 - POO=SQRT(EKE*(EKE+2*AM(IJ))) - CALL EVENTV(IJ,POO,EKE,TXI,TYI,TZI,WE,1) - NMEC=NMEC+1 - LMEC(NMEC)=17 - GOTO 80 - ELSE IF (GEKIN.LE.CUTHAD .AND. ITRTYP.EQ.4) THEN - DESTEP = DESTEP + GEKIN - GEKIN = 0. - GETOT = AMASS - VECT(7) = 0. - ISTOP = 1 - LMEC(NMEC)=30 - GO TO 110 - ENDIF -* - CALL GRNDM(RNDM,1) - RNDEVT=RNDM(1) - - IF (FSIG.LE.0.) THEN - SRAT = 1.E7 - ELSE - SRAT = SINE/FSIG - ENDIF - IF ( RNDEVT .GE. SRAT) THEN - IF (GEKIN .GT. 0.02) THEN - POO=SQRT(EKE*(EKE+2*AM(IJ))) - ELSE - GO TO 110 - END IF - INT=1 - LMEC(NMEC)=13 - IF(NCOMP.LE.1) THEN - CALL NUCREL(IJ,POO,EKE,TXI,TYI,TZI,AMM,WE) - ELSE - CALL GRNDM(RNDM,1) - RCONT=ELXNOR*RNDM(1) - DO 40 I=1,NCOMP - IF(RCONT.LE.CABELX(I)) GO TO 50 - 40 CONTINUE - I=NCOMP - 50 CONTINUE - CALL NUCREL(IJ,POO,EKE,TXI,TYI,TZI,ONE*Q(JMIXT+I),WE) - END IF - ELSE - LMEC(NMEC)=20 - IF (IHADR.EQ.2) THEN - ISTOP = 2 - DESTEP = DESTEP + GETOT - GO TO 110 - ENDIF - IF (GEKIN .GT. 0.02) THEN - POO=SQRT(EKE*(EKE+2*AM(IJ))) - ELSE - IF ((IJ.EQ.2 .OR. IJ.EQ.9 .OR. IJ.EQ.14 .OR. IJ.EQ.16) - + .AND. GEKIN .GT. 0.0) THEN - POO=SQRT(EKE*(EKE+2*AM(IJ))) - ELSE - NMEC=NMEC-1 - GO TO 110 - END IF - END IF - INT=2 - IF(NCOMP.LE.1) THEN - AMSS(1) = Q(JMA+6) - ZTAR(1) = Q(JMA+7) - MSSNUM(1) = 0 - RHO(1) = Q(JMA+8) - ELSE - CALL GRNDM(RNDM,1) - RCONT=ANXNOR*RNDM(1) - DO 60 I=1,NCOMP - IF(RCONT.LE.CABINX(I)) GO TO 70 - 60 CONTINUE - I=NCOMP - 70 CONTINUE - AMSS(1) = Q(JMIXT+I) - MSSNUM(1) = 0 - ZTAR(1) = Q(JMIXT+NCOMP+I) - RHO(1) = Q(JMIXT+2*NCOMP+I)*DENS - END IF - CALL EVENTV(IJ,POO,EKE,TXI,TYI,TZI,WE,1) - END IF -* - 80 IF(NP.EQ.1.AND.NPHEAV.EQ.0.AND.KPART(1).EQ.IJ) THEN - VECT(4)=CXR(1) - VECT(5)=CYR(1) - VECT(6)=CZR(1) - VECT(7)=SQRT(TKI(1)*(TKI(1)+2*AMASS)) - GETOT=TKI(1)+AMASS - GEKIN=TKI(1) - ELSE - ISTOP=1 - NSTAK1 = MIN(NP,MXGKIN-NGKINE) - IF(NP.GT.NSTAK1) THEN - WRITE(CHMAIL,10000) NP-NSTAK1 - CALL GMAIL(0,0) - ENDIF - DO 90 K=1,NSTAK1 - NGKINE = NGKINE + 1 - IF (KPART(K) .EQ. 24 .OR. KPART(K) .EQ. 25) THEN - KPART(K) = 19 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. 0.5) KPART(K) = 12 - END IF - IGEPAR = IFLTOG(KPART(K)) - JPA = LQ(JPART-IGEPAR) - AGEMAS = Q(JPA+7) - PGEANT = SQRT(TKI(K)*(TKI(K)+2*AGEMAS)) - GKIN(1,NGKINE)=CXR(K)*PGEANT - GKIN(2,NGKINE)=CYR(K)*PGEANT - GKIN(3,NGKINE)=CZR(K)*PGEANT - GKIN(4,NGKINE)=TKI(K)+AGEMAS - GKIN(5,NGKINE)=IGEPAR - TOFD(NGKINE)=0.0 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - 90 CONTINUE -* - NSTAK2 = MIN(NPHEAV,MXGKIN-NGKINE) - IF(NPHEAV.GT.NSTAK2) THEN - WRITE(CHMAIL,10100) NPHEAV-NSTAK2 - CALL GMAIL(0,0) - ENDIF - DO 100 K=1,NSTAK2 - NGKINE = NGKINE + 1 - IGEPAR = IHVTOG(KHEAVY(K)) - JPA = LQ(JPART-IGEPAR) - AGEMAS = Q(JPA+7) - PGEANT = SQRT(TKHEAV(K)*(TKHEAV(K)+2*AGEMAS)) - GKIN(1,NGKINE)=CXHEAV(K)*PGEANT - GKIN(2,NGKINE)=CYHEAV(K)*PGEANT - GKIN(3,NGKINE)=CZHEAV(K)*PGEANT - GKIN(4,NGKINE)=TKHEAV(K)+AGEMAS - GKIN(5,NGKINE)=IGEPAR - TOFD(NGKINE)=0.0 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - 100 CONTINUE -* - KCASE=NAMEC(12) - END IF - 110 CONTINUE - ZINTHA = GARNDM(DUMMY) - SLHADR = SLENG - STEPHA = 1.0E10 -10000 FORMAT(' **** FLUFIN: Stack overflow, ',I6,' particles lost') -10100 FORMAT(' **** FLUFIN: Stack overflow, ',I6, - +' heavy particles lost') - 999 END diff --git a/StarVMC/geant3/fluka/abbrch.F b/StarVMC/geant3/fluka/abbrch.F deleted file mode 100644 index 9f5c0861f92..00000000000 --- a/StarVMC/geant3/fluka/abbrch.F +++ /dev/null @@ -1,214 +0,0 @@ -* -* $Id: abbrch.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: abbrch.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2004/12/17 11:46:46 brun -* Several protections introduced by Rachid Guernane and Peter Hristov -* -* Revision 1.2 2004/02/24 15:50:29 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.41 by S.Giani -*-- Author : -*$ CREATE ABBRCH.FOR -*COPY ABBRCH -* -*=== abbrch ===========================================================* -* - SUBROUTINE ABBRCH(IT,LL,LA,LT,E0,PGX,PGY,PGZ,KFR1,KFR2,RE, - *KR1R,KR2R,KR1L,KR2L,RPX,RPY,RPZ,RPXR,RPYR,RPZR,RPXL,RPYL,RPZL, - *RER,REL,IV,B1,B2,KFA1,KFA2,KFA3,KFA4,IOPT,IYY) -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - DIMENSION RE(*),KFR1(*),KFR2(*),RPX(*),RPY(*),IV(*) - REAL RNDM(6) -C*****POSSIBILITY OF THE CUT OFF OF THE RIGHT AND LEFT JET -* CUTBAM=0.2D+00/(2.D+00+0.5D+00*LOG(E0+2.D+00)) - CUTBAM=0.D0 - I=IT - J=IT-1 - IVA=1 - IF (LT.EQ.1) WRITE(LUNOUT,288)IT,LL,LA,LT,E0,PGX,PGY,PGZ,KR1R, - *KR2R,KR1L,KR2L,RPZ,RPXR,RPYR,RPZR,RPXL,RPYL,RPZL,RER,REL,B1,B2, - *KFA1,KFA2,KFA3,KFA4,IOPT,IYY - 288 FORMAT(4I5,4E12.4,4I5/11E11.3/6I5/ - * ' ABBRCH ,IT,LL,LA,LT,E0,PGX,PGY,PGZ,KR1R,KR2R, - *KR1L,KR2L,RPZ,RPXR,RPYR,RPZR,RPXL,RPYL'/' RPZL,RER,REL,B1,B2, - *KFA1,KFA2,KFA3,KFA4,IOPT,IYY') - RM=0.764D0 - RMK=0.891D0 - DM=1.863D0 - IF(LA.EQ.1)GOTO10 -C*****CHOICE OF THE CUT OFF ENERGY - IF(I.GT.1)GOTO50 - AM0=1.D0 - KFAA=KFA1 - IF(IOPT.EQ.2) KFAA=MAX(KFA2,KFA3) - IF(IOPT.EQ.5) KFAA=MAX(KFA3,KFA4) - IF (KFAA.GT.6)KFAA=KFAA-6 - IF(KFAA.EQ.1.OR.KFAA.EQ.2) AM0=RM - IF(KFAA.EQ.3) AM0=RMK - IF(KFAA.EQ.4) AM0=DM - GOTO60 - 50 CONTINUE - IF(KFR1(J).EQ.1.OR.KFR1(J).EQ.2)AM0=RM - IF(KFR1(J).EQ.7.OR.KFR1(J).EQ.8)AM0=RM - IF(KFR1(J).EQ.3.OR.KFR1(J).EQ.9)AM0=RMK - IF(KFR1(J).EQ.4.OR.KFR1(J).EQ.10)AM0=DM - BM0=0.D0 - IF(KFR2(J).EQ.3.OR.KFR2(J).EQ.9) BM0=RMK - IF(KFR2(J).EQ.4.OR.KFR2(J).EQ.10)BM0=DM - IF(AM0.LT.BM0)AM0=BM0 - 60 CONTINUE - CALL GRNDM(RNDM,6) - X=RNDM(1) - IF(I.EQ.1)RX=E0 - IF(I.GT.1)RX=RE(J) - AM=AM0-1.D0/B1*LOG(X) - IF (RNDM(2).LT.CUTBAM)AM=AM0+0.9D0*RX*RNDM(3) - X=RNDM(4) - ESA=AM0-1.D0/B2*LOG(1.D0-X+1.D-10) - IF (RNDM(5).LT.CUTBAM)ESA=AM0+0.9D0*RX*RNDM(6) -* *** Now: *** - PSA=ABS(ESA-AM0)*(ESA+AM0) - EAB=SQRT(3.D0*.5D0*PSA+AM**2) - IF(RX.GT.EAB)GOTO30 - IF(IYY.EQ.1.AND.I.EQ.1.AND.IOPT.NE.5) GOTO 30 - 10 CONTINUE - LA=1 - IF(I.EQ.1) GO TO 40 - IF(LL.EQ.1)GOTO20 - KR1R=KFR1(J) - KR2R=KFR2(J) - RER=RE(J) - RPXR=-PGX - RPYR=-PGY - RPZR=-PGZ - RE(J)=E0 - KFR1(J)=KFA2 - KFR2(J)=0 - IV(J)=IVA+5 - IF(IOPT.EQ.5) KFR2(J)=KFA2 - IF(IOPT.EQ.5) KFR1(J)=KFA1 - IF(IOPT.EQ.5) IV(J)=7 - RPX(J)=0.D0 - RPY(J)=0.D0 - IF(IOPT.NE.4.OR.KFA1.GT.6) GO TO 1111 - IV(J)=7 - KFR1(J)=KFA2 - KFR2(J)=KFA3 - 1111 CONTINUE - PGX=0.D0 - PGY=0.D0 - PGZ=0.D0 - IF(LT.EQ.0)GOTO101 - WRITE(LUNOUT,2)KR1R,KR2R,RER,RPXR,RPYR,RPZR - 2 FORMAT(1H0,27HQR1,QR2,RER,RPXR,RPYR,RPZR=,2I3,4F8.4) - 101 CONTINUE - GO TO 30 - 20 CONTINUE - KR1L=KFR1(J) - KR2L=KFR2(J) - REL=RE(J) - RPXL=-PGX - RPYL=-PGY - RPZL=-PGZ - IF(IOPT.NE.4.OR.KFA1.LT.6) GO TO 4444 - IV(J)=2 - KFR1(J)=KFA2 - KFR2(J)=KFA3 - RE(J)=E0 - RPX(J)=0.D0 - RPY(J)=0.D0 - PGX=0.D0 - PGY=0.D0 - PGZ=0.D0 - 4444 CONTINUE - IF(LT.EQ.0)GO TO 102 - WRITE(LUNOUT,3)KR1L,KR2L,REL,RPXL,RPYL,RPZL - 3 FORMAT(1H0,27HQL1,QL2,REL,RPXL,RPYL,RPZL=,2I3,4F8.4) - 102 CONTINUE - GOTO30 - 40 CONTINUE - IF(LL.EQ.1)GO TO 70 - KR1R=KFA1 - KR2R=0 - IF(IOPT.EQ.5) KR1R=KFA3 - IF(IOPT.EQ.5) KR2R=KFA4 - RER=E0 - RPXR=0.D0 - RPYR=0.D0 - RPZR=0.D0 - PGX=0.D0 - PGY=0.D0 - PGZ=0.D0 - IF (IOPT.EQ.2) KR1R=KFA1 - IF (IOPT.EQ.2)KR2R=KFA2 - IF(IOPT.NE.4.OR.KFA1.LE.6) GO TO 3333 - 3331 CONTINUE - KR1R=KFA2 - KR2R=KFA3 - 3333 CONTINUE - IF(LT.EQ.0)GO TO 103 - WRITE(LUNOUT,2)KR1R,KR2R,RER,RPXR,RPYR,RPZR - 103 CONTINUE - GO TO 30 - 70 CONTINUE - KR1L=KFA2 - KR2L=0 - IF(IOPT.EQ.5) KR1L=KFA1 - IF(IOPT.EQ.5) KR2L=KFA2 - REL=E0 - RPXL=0.D0 - RPYL=0.D0 - RPZL=0.D0 - IF(IOPT.EQ.2) KR1L=KFA1 - IF(IOPT.EQ.2)KR2L=KFA2 - IF(IOPT.NE.4.OR.KFA1.GT.6) GO TO 2222 - 2221 CONTINUE - KR1L=KFA2 - KR2L=KFA3 - 2222 CONTINUE - IF(LT.EQ.0)GO TO 104 - WRITE(LUNOUT,3)KR1L,KR2L,REL,RPXL,RPYL,RPZL - 104 CONTINUE - GO TO 30 - 30 CONTINUE - IF(LT.EQ.0)GO TO 100 - WRITE(LUNOUT,1)I,LL,LA,AM0,AM,PSA,EAB,RX - 1 FORMAT(1H0,26HI,LL,LA,AM0,AM,APS,EAB,RX=,3I3,5F8.4) - 100 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/ainel.F b/StarVMC/geant3/fluka/ainel.F deleted file mode 100644 index d228d8d019c..00000000000 --- a/StarVMC/geant3/fluka/ainel.F +++ /dev/null @@ -1,124 +0,0 @@ -* -* $Id: ainel.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: ainel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE AINEL.FOR -*COPY AINEL -* * -*=== ainel ============================================================* -* * - FUNCTION AINEL(IJ,ILO,E,A,SQA) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C VERSION BY J. RANFT -C LEIPZIG -C LAST CHANGE 16. JULY 81 BY PERTTI AARNIO -C HELSINKI UNIVERSITY OF -C TECHNOLOGY, FINLAND -C -C -C FUNCTION OF FLUKA TO GIVE INELASTICITIES FOR PRODUCTION OF -C PARTICLES ILO BY PARTICLE IJ -C -C NOTE!!!!!!! NON-STANDARD PARTICLE NUMBERING -C -C INPUT VARIABLES: -C IJ = TYPE OF THE PRIMARY -C 1=PROTON -C 2=NEUTRON -C 3=CHARGED PION -C -C ILO = TYPE OF THE SECONDARY -C 1=PROTON -C 2=NEUTRON -C 3=CHARGED PION -C 4=NEUTRAL PION -C 5=NUCLEAR EXCITATION EXCLUDING LOW ENERGY -C SECONDARIES FROM INTRANUCLEAR CASCADE -C 6=INTRANUCLEAR PROTON -C 7=INTRANUCLEAR NEUTRON -C -C E = KINETIC ENERGY OF THE PRIMARY IN GEV -C A = ATOMIC WEIGHT OF THE MEDIUM -C SQA = SQRT(A) -C -C OTHER VARIABLES: -C AK = LOOK-UP TABLE FOR INELASTCITIES -C -C******************************************************************** -C - DIMENSION AK(4,3) - SAVE AK - DATA AK/ - 10.35D0,0.3D0,0.25D0,0.1D0, - 10.3D0,0.35D0,0.25D0,0.1D0, - 10.15D0,0.15D0,0.5D0,0.2D0/ -C -C - GO TO (1234,1234,1234,1234,5,6,7),ILO -C -C - 1234 CONTINUE - IF(E.LT.0.125D0) GO TO 10 - AINEL=AK(ILO,IJ)*(1.D0-EEXI(IJ,E,A)/E) - RETURN -C -C - 5 CONTINUE - IF(E.LT.0.125D0) GO TO 11 - ANEL=EEXI(IJ,E,A)/E - AKEK=EKEKA(2,E,A,SQA)/E+EKEKA(3,E,A,SQA)/E - AINEL=ANEL-AKEK - IF (AKEK.GE.ANEL) AINEL=EKEKA(1,E,A,SQA)/E - RETURN -C -C - 6 CONTINUE - IF(E.LT.0.125D0) GO TO 10 - AINEL=EKEKA(2,E,A,SQA)/E - RETURN -C -C - 7 CONTINUE - IF(E.LT.0.125D0) GO TO 10 - AINEL=EKEKA(3,E,A,SQA)/E - RETURN -C -C - 10 CONTINUE - AINEL=0.D0 - RETURN -C -C - 11 CONTINUE - AINEL=1.D0 - RETURN - END diff --git a/StarVMC/geant3/fluka/akeka.F b/StarVMC/geant3/fluka/akeka.F deleted file mode 100644 index 4fc549810a2..00000000000 --- a/StarVMC/geant3/fluka/akeka.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: akeka.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: akeka.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE AKEKA.FOR -*COPY AKEKA -* * -*=== akeka ============================================================* -* * - FUNCTION AKEKA(IT,TO,AMSS) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C VERSION BY J. RANFT -C LEIPZIG -C LAST CHANGE 05. DECEMBER 83 PERTTI AARNIO -C HELSINKI UNIVERSITY OF -C TECHNOLOGY, FINLAND -C -C -C TO BE CALLED FROM HIGH ENERGY PRODUCTION -C -C -C SLOPE OF THE ENERGY DISTRIBUTION OF THE HIGHER ENERGY PARTICLES -C OF THE INTRANUCLEAR CASCADE PROTONS AND NEUTRONS (ALFA-2P -C AND ALFA-2N). NOTE THAT IT IS ASSUMED IN EKEKA AND RAKEKA -C THAT ALFA-2N=6*ALFA-1N AND ALFA-2P=6*ALFA-1P. -C -C NOTE!!!!!!! NON-STANDARD PARTICLE NUMBERING -C -C INPUT VARIABLES: -C IT = TYPE OF THE SECONDARY; 1=PROTON, 2=NEUTRON -C TO = KINETIC ENERGY OF THE PRIMARY HADRON IN GEV -C AMSS = ATOMIC WEIGHT OF THE NUCLEUS -C -C SEE RANFT/ROUTTI PARTICLE ACC. VOL 4 P 105 -C******************************************************************** -C - DIMENSION A(2),B(2) - SAVE A,B - DATA A/0.11D0,0.1D0/ - DATA B/0.21D0,0.20D0/ - IF (TO .LT. 10.D0) THEN - AKEKA=(1.D0-0.001D0*AMSS)*(A(IT)+0.01D0*TO) - ELSE - AKEKA=B(IT)*(1.D0-0.001D0*AMSS) - END IF - RETURN - END diff --git a/StarVMC/geant3/fluka/altra.F b/StarVMC/geant3/fluka/altra.F deleted file mode 100644 index 3d205ea0f70..00000000000 --- a/StarVMC/geant3/fluka/altra.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: altra.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: altra.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE ALTRA.FOR -*COPY ALTRA -* -*=== altra ============================================================* -* - SUBROUTINE ALTRA(GA,BGX,BGY,BGZ,PCX,PCY,PCZ,EC,P,PX,PY,PZ,E) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C*** ARBITRARY LORENTZ TRANSFORM - EP = PCX * BGX + PCY * BGY + PCZ * BGZ - E = GA * EC + EP - PE = EP / (GA + 1.D0) + EC - PX = PCX + BGX * PE - PY = PCY + BGY * PE - PZ = PCZ + BGZ * PE - TMP30 = 1.D30 - PX = MIN(TMP30, MAX(-TMP30,PX)) - PY = MIN(TMP30, MAX(-TMP30,PY)) - PZ = MIN(TMP30, MAX(-TMP30,PZ)) - P = SQRT (PX * PX + PY * PY + PZ * PZ) - RETURN - END diff --git a/StarVMC/geant3/fluka/altraf.F b/StarVMC/geant3/fluka/altraf.F deleted file mode 100644 index bcfb3ba34d1..00000000000 --- a/StarVMC/geant3/fluka/altraf.F +++ /dev/null @@ -1,67 +0,0 @@ -* -* $Id: altraf.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: altraf.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE ALTRAF.FOR -*COPY ALTRAF -* -*=== altraf ===========================================================* -* - SUBROUTINE ALTRAF(GA,BGA,CX,CY,CZ,COD,COF,SIF,PC,EC,P,PX,PY,PZ,E) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C -C-------------------------------------------------- -C*** (S1 IN S2 / PARTICLE IN S1 / RESULT: PARTICLE IN S2) -C*** ARBITRARY LORENTZ TRANSFORM -C*** SI ARE THE DIFFERENT LORENTZ-SYSTEMS -C-------------------------------------------------- - BGX = BGA * CX - BGY = BGA * CY - BGZ = BGA * CZ - COD2 = COD * COD - IF (COD2 .GT. 1.D0) COD2 = 1.D0 - SID = SQRT(1.D0 - COD2) * PC - PCX = SID * COF - PCY = SID * SIF - PCZ = COD * PC - EP = PCX * BGX + PCY * BGY + PCZ * BGZ - E = GA * EC + EP - PE = EP / (GA + 1.D0) + EC - PX = PCX + BGX * PE - PY = PCY + BGY * PE - PZ = PCZ + BGZ * PE - P = SQRT (PX * PX + PY * PY + PZ * PZ) - PM = 1.D0 / P - PX = PX * PM - PY = PY * PM - PZ = PZ * PM - RETURN - END diff --git a/StarVMC/geant3/fluka/amga.F b/StarVMC/geant3/fluka/amga.F deleted file mode 100644 index 936814dc569..00000000000 --- a/StarVMC/geant3/fluka/amga.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: amga.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: amga.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE AMGA.FOR -*COPY AMGA -* -*=== amga =============================================================* -* - FUNCTION AMGA(IT) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C*** RANDOM SELECTION OF MASSES OF DECAYING PARTICLES - COMMON/FKABLT/AMM(110),GA(110),TAU(110),ICH(110) - *,IBAR(110),K1(110),K2(110) - COMMON /FKGAMR/ REDU,AMO,AM (15 ) - DIMENSION GASUNI(14) - REAL RNDM(1) - SAVE GASUNI, GAUNO, GAUNON, IO, NSTAB - DATA GASUNI/ - *-1.D0,-.98D0,-.95D0,-.87D0,-.72D0,-.48D0,-.17D0,.17D0,.48D0, - *.72D0,.87D0,.95D0,.98D0,1.D0/ - DATA GAUNO/2.352D0/ - DATA GAUNON/2.4D0/ - DATA IO/14/ - DATA NSTAB/23/ - I=1 - IF (IT.LE.0) GO TO 3 - IF (IT.LE.NSTAB) GO TO 2 - DGAUNI=GAUNO*GAUNON/(IO-1.D0) - CALL GRNDM(RNDM,1) - VV = RNDM(1) - VV = VV*2.D0-1.D0+1.D-16 - 1 CONTINUE - VO=GASUNI(I) - I=I+1 - V1=GASUNI(I) - IF (VV.GT.V1) GO TO 1 - UNIGA=DGAUNI*(I-2.D0+(VV-VO+1.D-16)/(V1-VO)-(IO-1.D0)*.5D0) - DAM=GA(IT)*UNIGA/GAUNO - AAM=AMM(IT)+DAM - AMGA=AAM - RETURN - 2 CONTINUE - AMGA=AMM(IT) - RETURN - 3 CONTINUE - AMGA=0.D0 - RETURN - END diff --git a/StarVMC/geant3/fluka/ankeka.F b/StarVMC/geant3/fluka/ankeka.F deleted file mode 100644 index adb11277246..00000000000 --- a/StarVMC/geant3/fluka/ankeka.F +++ /dev/null @@ -1,89 +0,0 @@ -* -* $Id: ankeka.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: ankeka.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE ANKEKA.FOR -*COPY ANKEKA -* * -*=== ankeka ===========================================================* -* * - FUNCTION ANKEKA(IT,TO,AMSS,SQAMSS) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C VERSION BY J. RANFT -C LEIPZIG -C LAST CHANGE 05. DECEMBER 83 PERTTI AARNIO -C HELSINKI UNIVERSITY OF -C TECHNOLOGY, FINLAND -C -C TO BE CALLED FROM THE HIGH ENERGY PRODUCTION -C -C TO GIVE THE PROTON AND NEUTRON MULTIPLICITIES OF THE HIGH -C ENERGY PART OF THE INTRANUCLEAR CASCADE (N-2P,N-2N). -C NOTE THAT IT IS SUPPOSED IN EKEKA AND RAKEKA THAT -C N-1P=9*N-2P, N-1N=9*N-2N. -C -C NOTE!!!!!!! NON-STANDARD PARTICLE NUMBERING -C -C INPUT VARIABLES: -C IT = TYPE OF THE PARTICLE -C 1=INTRANUCLEAR PROTON -C 2=INTRANUCLEAR NEUTRON -C TO = ENERGY OF THE COLLIDING PARTICLE IN GEV -C AMSS = ATOMIC WEIGHT OF THE MEDIUM -C SQAMSS = SQRT(AMSS) -C -C SEE RANFT/ROUTTI PARTICLE ACC. VOL 4 P 105 -C******************************************************************** -C - DIMENSION A(2),B(2),C(2),D(2) - SAVE A,B,C,D -C -C -C THESE ARE EFFECTIVE FLUKA81 MULTIPLICITIES -C - DATA A/1.D0,1.3D0/ - DATA B/0.06D0,0.09D0/ - DATA C/1.104D0,1.90D0/ -C DATA D/0.14D0,0.19D0/ -C This ones for continuity !! - DATA D/0.245333D0,0.33333D0/ - IF(TO.GT.0.1D0)GO TO 1 - ANKEKA=SQAMSS*B(IT)*0.1D0 - RETURN - 1 CONTINUE - IF(TO.GE.10.D0)GO TO 2 - ANKEKA=0.1D0*SQAMSS*(0.5D0+A(IT)*(1.D0+LOG10(TO))**2)*D(IT) - RETURN - 2 CONTINUE - ANKEKA=SQAMSS*0.1D0*C(IT) - RETURN - END diff --git a/StarVMC/geant3/fluka/bamjev.F b/StarVMC/geant3/fluka/bamjev.F deleted file mode 100644 index a066b67493a..00000000000 --- a/StarVMC/geant3/fluka/bamjev.F +++ /dev/null @@ -1,262 +0,0 @@ -* -* $Id: bamjev.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: bamjev.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.41 by S.Giani -*-- Author : -*$ CREATE BAMJEV.FOR -*COPY BAMJEV -* -*=== bamjev ===========================================================* -* - SUBROUTINE BAMJEV ( IHAD, KFA1, KFA2, KFA3, KFA4, AE0, IOPT ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* Bamjet90: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* -*----------------------------------------------------------------------* -* Ihad = number of final hadrons and hadron resonances * -* Ae0 = initial energy in GeV * -* Kfai = initial quark flavours (u=1,d=2,s=3,c=4,ubar=7,dbar=8, * -* sbar=9, cbar=10) * -* Iopt = 1,2,3,4,5 means: * -* 1: single (anti)quark jet, (kfa1) * -* 2: single (anti)diquark jet, (kfa1-kfa2) * -* 3: complete quark antiquark twojet event, (kfa1,kfa2) * -* 4: complete (anti)quark-(anti)diquark two jet event, * -* (kfa1,kfa2-kfa3) * -* 5: complete diquark-(anti)diquark two jet event, * -* (kfa1-kfa2,kfa3-kfa4) * -* Common/finpar/ contains the momenta,energies and quantum numbers * -* of the created hadrons * -* Iv = actual vertex,iv=1,4,5,6,9,10 are meson verteces * -* iv=2,3,7,8 are baryon verteces * -* La = 1 means cut-off * -* Ll = 0,1 means quark jet, antiquark jet, (diquark jet, anti- * -* diquark jet) * -* Common/remain/ contains rest jet energy,momenta and quantumnum- * -* bers * -*----------------------------------------------------------------------* -* -#include "geant321/bamjcm.inc" -#include "geant321/finpar2.inc" -#include "geant321/part.inc" -#include "geant321/inpdat.inc" - - COMMON/FKREMA/ RPXR,RPYR,RPZR,RER,KR1R,KR2R - SAVE NCOU, ITMX -* - DATA NCOU/0/ - DATA ITMX/0/ - NCOU=NCOU+1 - A1SAVE = A1 - B1SAVE = B1 - B2SAVE = B2 - B3SAVE = B3 - IF ( AE0 .LE. 4.D+00 )THEN - A1 = 0.88D+00 - ELSE IF ( AE0 .LE. 8.0D+00 ) THEN - A1 = 0.88D+00 - ELSE IF ( AE0 .LT. 30.D+00 ) THEN - A1 = 0.88D+00 - ELSE - A1 = 0.88D+00 - END IF - FRB12 = 0.5D+00 - B1 = 4.D+00 + 1.D+00 / ( FRB12 * AE0 )**2 - B2 = 4.D+00 + 1.D+00 / ( FRB12 * AE0 )**2 - E00 = 40.D+00 -* The following is consistent with B3=6 - B3 = B3 * LOG10 ( E00 ) / - & ( LOG10 ( 1.D+00 + ( AE0 / E00 )**2 ) + LOG10 ( E00 ) ) -C IF (NCOU.EQ.4701)LT=1 -*or IF (LT.EQ.1)WRITE(LUNOUT,3399)IOPT,NCOU - 3399 FORMAT(' BAMJET',2I10 ) -*or IF (LT.EQ.1)WRITE(LUNOUT,288)IHAD,KFA1,KFA2,KFA3,KFA4,AE0,IOPT - 288 FORMAT (5I5,2E12.4,' BAMJET,IHAD,KFA1,KFA2,KFA3,KFA4,AE0,IOPT') - 63 CONTINUE - DO 62 I=1,ITMX - KFR1(I) = 0 - KFR2(I) = 0 - 62 CONTINUE - ITMX=0 - 60 CONTINUE - IYY=0 - IHAD=0 - IT=0 - E0=AE0*.5D0 - IF(IOPT.EQ.1.OR.IOPT.EQ.2) E0=AE0 - LL=0 - IF(KFA1.GT.6.AND.IOPT.EQ.1) LL=1 - IF(KFA1.LE.6.AND.IOPT.EQ.2) LL=1 - IF(KFA1.GT.6.AND.IOPT.EQ.4) LL=1 - PGX = 0.D0 - PGY = 0.D0 - PGZ = 0.D0 - RPX0 = 0.D0 - RPY0 = 0.D0 -* The following 6 initializations might be useless, but they make the -* code much clearer - KR1R = 0 - KR2R = 0 - KR1L = 0 - KR2L = 0 - RER = 0.D+00 - REL = 0.D+00 - DO 10 I=1,KMXJCM - KFR1(I) = 0 - KFR2(I) = 0 - LA = 0 - IT = IT+1 - J = IT-1 -* The following line seems useless -* K = IT+1 - 40 CONTINUE -C*****CUT OFF TASK -* | Abbrch is called to cut the chain - CALL ABBRCH(IT,LL,LA,LT,E0,PGX,PGY,PGZ,KFR1,KFR2,RE, - & KR1R,KR2R,KR1L,KR2L,RPX,RPY,RPZ,RPXR,RPYR,RPZR,RPXL,RPYL,RPZL, - & RER,REL,IV,B1,B2,KFA1,KFA2,KFA3,KFA4,IOPT,IYY) - ITMX=MAX(ITMX,IT) - IF(LA .EQ. 0) GO TO 20 - IT=IT-1 - IF(IOPT.EQ.3.AND.LL.EQ.0) GO TO 70 - IF(IOPT.EQ.4.AND.KFA1.LE.6.AND.LL.EQ.0) GO TO 70 - IF(IOPT.EQ.4.AND.KFA1.GT.6.AND.LL.EQ.1) GO TO 70 - IF(IOPT.EQ.5.AND.LL.EQ.0) GO TO 70 - GO TO 50 - 70 CONTINUE - IYY = 1 - LL = 1 - IF(IOPT.EQ.4.AND.KFA1.GT.6) LL = 0 - IAR=IT - GO TO 30 - 20 CONTINUE -C*****CHOICE OF THE VERTEX - CALL FKVERT(IT,LT,LL,KFA1,E0,IV,RE,KFR1,KFR2,AME,IOPT) -C*****CHOICE OF THE FLAVOUR - CALL FKFLAV(IT,LT,LL,E0,IV,RE,KFR1,KFR2,ISU,BET,KFA1,KFA2, - & KFA3,KFA4,IOPT) -C*****CLASSIFICATION OF THE PARTICLES - CALL HKLASS(IT,LT,LA,LL,KFR1,KFR2,KR1R,KR2R,KR1L,KR2L,IV,IMPS, - & IMVE,IB08,IA08,IB10,IA10,AS,B8,KFA1,KFA2,KFA3,KFA4,IOPT) - ITMX=MAX(ITMX,IT) - IF (IT .EQ. 1) RX = E0 - IF (IT .GT. 1) RX = RE(J) - IF(AMF(IT) .GT. RX) GO TO 63 - IF(AMF(IT) .LE. RX) GO TO 19 - LA = 1 - GO TO 40 - 19 CONTINUE - IHAD = IHAD + 1 -*or IF(LT .EQ. 0) GO TO 31 -*or WRITE(LUNOUT,32)IHAD -*or 31 CONTINUE -C*****CHOICE OF THE ENERGY - CALL ENERGI(IT,LL,LT,IV,RE,HMA,HE,E0,A1) -C*****CHOICE OF THE MOMENTUM -* | -* | He is the total energy, hma the mass one (input) hpx, hpy, hpz -* | the momentum components (output values), hps the transversal -* | momentum (output) -* | - CALL FKIMPU(HE,HMA,HPS,HPX,HPY,HPZ,LT,LL,B3) - IF (IT .GT. 1) GO TO 13 - RPX(IT)=RPX0-HPX - RPY(IT)=RPY0-HPY - GO TO 14 - 13 RPX(IT)=RPX(J)-HPX - RPY(IT)=RPY(J)-HPY - 14 CONTINUE - IF (IOPT.EQ.1.AND.LL.EQ.1)HPZ=-HPZ - IF(IOPT.EQ.2.AND.LL.EQ.1) HPZ=-HPZ - IF(IOPT.EQ.4.AND.KFA1.GT.6) HPZ=-HPZ - IF(IOPT.EQ.5) HPZ=-HPZ - PGX=PGX+HPX - PGY=PGY+HPY - PGZ=PGZ+HPZ - PXF(IT)=HPX - PYF(IT)=HPY - PZF(IT)=HPZ -*or IF (LT .EQ. 0) GO TO 15 -*or WRITE(LUNOUT,16)PGX,PGY,PGZ -*or 16 FORMAT(1H0,12HPGX,PGY,PGZ=,3F8.4) -*or 15 CONTINUE - 30 CONTINUE - - 10 CONTINUE -* -* we suppose that exiting from loop must be achieved via " go to 50 -* - WRITE (LUNERR,*)' BAMJEV: EXITING FROM LOOP ABNORMALLY!!!! ' - WRITE (LUNOUT,*)' BAMJEV: EXITING FROM LOOP ABNORMALLY!!!! ' - 50 CONTINUE - ITMX=MAX(ITMX,IT) - IF(IOPT.EQ.1.OR.IOPT.EQ.2) GO TO 51 -C*****PUT THE RIGHT AND LEFT JET TOGETHER - CALL VEREIN(IT,LA,LT,RER,REL,RPXR,RPYR,RPZR,RPXL,RPYL,RPZL, - &KR1R,KR2R,KR1L,KR2L,IHAD,LL,KFR1,KFR2,IMPS,IMVE,IB08,IA08, - &IB10,IA10,B3,AS,B8,IAR,KFA1,KFA2,KFA3,KFA4,IOPT) - IF(LA.EQ.3) GO TO 63 - IF(LA.EQ.2) GO TO 63 - 51 CONTINUE - IF(IOPT.EQ.3.OR.IOPT.EQ.4.OR.IOPT.EQ.5) GO TO 52 - IF(LL.EQ.0) GO TO 52 - RPXR=RPXL - RPYR=RPYL - RPZR=RPZL - RER=REL - KR1R=KR1L - KR2R=KR2L - 52 CONTINUE - IF(LE.EQ.0) GO TO 1000 - WRITE(LUNOUT,92) - 92 FORMAT(2X,'NF,NAME,MASS,IQ,IB,PX,PY,PZ,E') - DO 91 J=1,IT - WRITE(LUNOUT,90)NREF(J),ANF(J),AMF(J),ICHF(J),IBARF(J),PXF(J), - & PYF(J),PZF(J),HEF(J) - 90 FORMAT(2X,I3,A6,F6.3,2I4,4F8.4) - 91 CONTINUE - 1000 CONTINUE - 64 FORMAT(1H0,38HNUMBER OF EVENTS WITH PREST GT. EREST=,I4, - */,21HNUMBER OF ALL EVENTS=,I4) - 2000 FORMAT(1H0,'NUMBER OF EVENTS WITH ONLY ONE PARTICLE=',I4) -*or IF(LT.EQ.0) GO TO 17 -*or WRITE(LUNOUT,18)IHAD -*or 18 FORMAT(1H0,15HMULTIPLIZITAET=,I3) -*or 32 FORMAT(1H0,13HHADRONANZAHL=,I3) -*or 17 CONTINUE - A1 = A1SAVE - B1 = B1SAVE - B2 = B2SAVE - B3 = B3SAVE - RETURN - END diff --git a/StarVMC/geant3/fluka/beexi.F b/StarVMC/geant3/fluka/beexi.F deleted file mode 100644 index 46670647f2c..00000000000 --- a/StarVMC/geant3/fluka/beexi.F +++ /dev/null @@ -1,57 +0,0 @@ -* -* $Id: beexi.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: beexi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE BEEXI.FOR -*COPY BEEXI -* * -*=== beexi ============================================================* -* * - FUNCTION BEEXI(IJ,E,A) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C----------------------------------------------- -C NUCLEAR EXCITATION ENERGY INCLUDING ALL LOW ENERGY SECONDARIES IN -C COLLISIONS OF PARTICLE IJ OF ENERGY E GEV ON NUCLEI A -C----------------------------------------------- - IF (E.LE.0.125D0) GO TO 20 - B=SQRT(A)/9.D0-.2D0 - IF (B.GT.A*0.01D0) B=A*0.01D0 - IF (E.GE.3.D0) GO TO 10 - IF (B.LT.0.125D0) B=0.125D0 - BEEXI=0.125D0+(E-0.125D0)*(B-0.125D0)/2.875D0 - RETURN - 10 CONTINUE - BEEXI=B - RETURN - 20 CONTINUE - BEEXI=E - RETURN - END diff --git a/StarVMC/geant3/fluka/bekeka.F b/StarVMC/geant3/fluka/bekeka.F deleted file mode 100644 index b671d87c382..00000000000 --- a/StarVMC/geant3/fluka/bekeka.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: bekeka.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: bekeka.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE BEKEKA.FOR -*COPY BEKEKA -* * -*=== bekeka ===========================================================* -* * - FUNCTION BEKEKA(IX,TO,AMSS,SQAMSS) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C*** CALCULATION OF AVERAGE CASCADE AND EXCITATION ENERGY -C*****IX=1 EEV 2EPK 3 ENK 4 EEX=EPK+EEV 5 EEXT=EEX+ENK - GO TO (1,2,3,1,1),IX - 1 CONTINUE - IF(TO-0.1D0) 11,11,12 - 11 CONTINUE - AA=0.001D0*SQAMSS - GO TO 19 - 12 CONTINUE - APAR=0.035D0 - BPAR=3.D0 - CPAR=0.1D0 - AA=CPAR*SQAMSS*(0.01D0+APAR*(BPAR+LOG10(TO))**2) - 19 CONTINUE - IF(IX.GT.3) GO TO 2 -C ENERGYADJUST - ENADJ=1.D0 - AA=AA*ENADJ - BEKEKA=AA - RETURN - 2 CONTINUE - AN=BNKEKA(1,TO,AMSS,SQAMSS) - A =BKEKA (1,TO,AMSS) - EXTOA=0.D0 - IF(TO.LT.5.D0*A) EXTOA=EXP(-TO/A) - TPKAV=A*(1.D0-(TO/A+1.D0)*EXTOA)/(1.D0-EXTOA) - BB=TPKAV*AN - IF(IX.EQ.4) GO TO 4 - IF(IX.EQ.5) GO TO 3 - BEKEKA=BB - RETURN - 4 CONTINUE - BEKEKA=AA+BB - RETURN - 3 CONTINUE - AN=BNKEKA(2,TO,AMSS,SQAMSS) - A =BKEKA (2,TO,AMSS) - EXTOA=0.D0 - IF(TO.LT.5.D0*A) EXTOA=EXP(-TO/A) - TNKAV=A*(1.D0-(TO/A+1.D0)*EXTOA)/(1.D0-EXTOA) - CC=TNKAV*AN - IF(IX.EQ.5) GO TO 5 - BEKEKA=CC - RETURN - 5 CONTINUE - BEKEKA=AA+BB+CC - RETURN - END diff --git a/StarVMC/geant3/fluka/berttp.F b/StarVMC/geant3/fluka/berttp.F deleted file mode 100644 index 504211a2700..00000000000 --- a/StarVMC/geant3/fluka/berttp.F +++ /dev/null @@ -1,190 +0,0 @@ -* -* $Id: berttp.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: berttp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2002/11/29 13:47:02 brun -* Remove unused include -* -* Revision 1.2 2002/11/21 11:40:24 brun -* Fix a problem when getting the environment variable to reach the file flukaaf.dat -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2000/10/27 15:50:48 fca -* Open flukaaf.dat in the ALICE root -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 22/02/95 12.23.11 by S.Ravndal -*-- Author : -*=== berttp ===========================================================* -* * - SUBROUTINE BERTTP - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C--------------------------------------------------------------------- -C SUBNAME = BERTTP --- READ BERTINI DATA -C--------------------------------------------------------------------- -C --------------------------------- EVAPORATION DATA -#include "geant321/eva0.inc" -#include "geant321/hettp.inc" -#include "geant321/inpflg.inc" -#include "geant321/isotop.inc" -#include "geant321/nucgeo.inc" -#include "geant321/nuclev.inc" -#include "geant321/parevt.inc" -#include "geant321/xsepar.inc" - LOGICAL OPENED,EXISTS - LOGICAL LRMSCH, LRD1O2, LTRASP - CHARACTER*100 FILNAM -#if defined(CERNLIB_UNIX)||defined(CERNLIB_VAX)||defined(CERNLIB_CRAY) - CHARACTER*100 CHROOT -#endif -C--------------------------------------------------------------------- -#if defined(CERNLIB_FDEBUG) - WRITE( LUNOUT,'(A,I2)') - & ' -/BERTTP(I): EVAP DATA READ FROM UNIT ', NBERTP -#endif - INQUIRE(UNIT=NBERTP, OPENED=OPENED) - IF(OPENED) THEN - REWIND NBERTP - ELSE -#if defined(CERNLIB_UNIX)||defined(CERNLIB_CRAY) - CHROOT=' ' - CALL GETENVF('G3SYS',CHROOT) - LNROOT = LNBLNK(CHROOT) - IF(LNROOT.LE.0) THEN - FILNAM='flukaaf.dat' - ELSE - FILNAM=CHROOT(1:LNROOT)//'/data/flukaaf.dat' - ENDIF - INQUIRE(FILE=FILNAM,EXIST=EXISTS) - IF(.NOT.EXISTS) THEN - PRINT*,'**********************************' - PRINT*,'* F I F A C E *' - PRINT*,'* ----------- *' - PRINT*,'* File flukaaf.dat not found *' - PRINT*,'* Program STOP *' - PRINT*,'* Check G3SYS environment *' - PRINT*,'* variable *' - PRINT*,'**********************************' - STOP - ENDIF - OPEN(NBERTP,FILE=FILNAM,STATUS='OLD') -#endif -#if defined(CERNLIB_VAX) - ISTAT = LIB$SYS_TRNLOG ('CERN_ROOT',NALL,CHROOT,,,%VAL(0)) - IF(ISTAT.NE.1) THEN - FILNAM='flukaaf.dat' - ELSE - FILNAM='CERN_ROOT:[LIB]flukaaf.dat' - ENDIF - INQUIRE(FILE=FILNAM,EXIST=EXISTS) - IF(.NOT.EXISTS) THEN - PRINT*,'**********************************' - PRINT*,'* F I F A C E *' - PRINT*,'* ----------- *' - PRINT*,'* File FLUKAAF.DAT not found *' - PRINT*,'* Program STOP *' - PRINT*,'* Check CERN_ROOT environment *' - PRINT*,'* variable *' - PRINT*,'**********************************' - STOP - ENDIF - OPEN(NBERTP,FILE=FILNAM,STATUS='OLD',READONLY) -#endif -#if defined(CERNLIB_IBM) - FILNAM='/FLUKAAF DAT *' - OPEN(NBERTP,FILE=FILNAM,STATUS='OLD') -#endif - ENDIF - -C A. Ferrari: first of all read isotopic data - READ (NBERTP,2100) ISONDX - READ (NBERTP,2100) ISOMNM - READ (NBERTP,2000) ABUISO - READ (NBERTP,2000) (P0(I),P1(I),P2(I),I=1,1001) - READ (NBERTP,2100) IA,IZ - DO 2 I=1,6 - FLA(I)=IA(I) - FLZ(I)=IZ(I) - 2 CONTINUE - READ (NBERTP,2000) RHO,OMEGA - READ (NBERTP,2000) EXMASS - READ (NBERTP,2000) CAM2 - READ (NBERTP,2000) CAM3 - READ (NBERTP,2000) CAM4 - READ (NBERTP,2000) CAM5 - READ (NBERTP,2000) ((T(I,J),J=1,7),I=1,3) - DO 3 I=1,7 - T(4,I)=0.D0 - 3 CONTINUE - READ (NBERTP,2000) RMASS - READ (NBERTP,2000) ALPH - READ (NBERTP,2000) BET - READ (NBERTP,2000) WAPS - READ (NBERTP,2000) APRIME -#if defined(CERNLIB_FDEBUG) - WRITE( LUNOUT,'(A)' ) ' /DRES(I): USING 1977 WAPS DATA ' -#endif - READ (NBERTP,2200) AHELP , BHELP , LRMSCH, LRD1O2, LTRASP - IF ( AHELP .NE. ALPHA0 .OR. BHELP .NE. GAMSK0 ) THEN - WRITE (LUNOUT,*) - & ' *** Inconsistent Nuclear Geometry data on file ***' - STOP - END IF - READ (NBERTP,2000) RHOTAB, RHATAB, ALPTAB, RADTAB, SKITAB, HALTAB, - & EKATAB, PFATAB, PFRTAB - READ (NBERTP,2000) AANXSE, BBNXSE, CCNXSE, DDNXSE, EENXSE, ZZNXSE, - & EMNXSE, XMNXSE - READ (NBERTP,2000) AAPXSE, BBPXSE, CCPXSE, DDPXSE, EEPXSE, FFPXSE, - & ZZPXSE, EMPXSE, XMPXSE -2000 FORMAT (3(1X,G23.16)) -2100 FORMAT (18(1X,I3)) -2200 FORMAT (2(1X,G23.16),3(1X,L1)) - CLOSE (UNIT=NBERTP) - DO 100 JZ = 1, 130 - SHENUC ( JZ, 1 ) = 1.D-03 * ( CAM2 (JZ) + CAM4 (JZ) ) - 100 CONTINUE - DO 200 JA = 1, 200 - SHENUC ( JA, 2 ) = 1.D-03 * ( CAM3 (JA) + CAM5 (JA) ) - 200 CONTINUE - CALL STALIN - ILVMOD = 1 - IB0 = ILVMOD -#if defined(CERNLIB_FDEBUG) - WRITE (LUNOUT,*) - WRITE (LUNOUT,*)' **** Standard EVAP level density used ****' - WRITE (LUNOUT,*) - & ' **** Original Gilbert/Cameron pairing energy used ****' -#endif - ILVMOD = IB0 - DO 500 JZ = 1, 130 - PAENUC ( JZ, 1 ) = 1.D-03 * CAM4 (JZ) - 500 CONTINUE - DO 600 JA = 1, 200 - PAENUC ( JA, 2 ) = 1.D-03 * CAM5 (JA) - 600 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/beta.F b/StarVMC/geant3/fluka/beta.F deleted file mode 100644 index 5d16ce910f7..00000000000 --- a/StarVMC/geant3/fluka/beta.F +++ /dev/null @@ -1,56 +0,0 @@ -* -* $Id: beta.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: beta.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/07/23 16:40:35 brun -* From Peter Hristov: -* Implement correct return value for beta_g3 -* -* Revision 1.2 2003/06/10 16:12:15 brun -* From Andreas Morsch: -* I changed the name of the function BETA from geant3/fluka/beta.F to -* BETA_G3. The reason is that if one uses PDF and Geant3 in the same -* simulation there is a clash between a similar function in PDF. -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE BETA.FOR -*COPY BETA -* -*=== beta =============================================================* -* - FUNCTION BETA_G3(X1,X2,BET) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - AX=0.D0 - BETX1=BET*X1 - IF(BETX1.LT.70.D0) AX=-1.D0/BET**2*(BETX1+1.D0)*EXP(-BETX1) - AY=1.D0/BET**2*(BET*X2+1.D0)*EXP(-BET*X2) - BETA_G3=AX+AY - RETURN - END diff --git a/StarVMC/geant3/fluka/betarn.F b/StarVMC/geant3/fluka/betarn.F deleted file mode 100644 index eb1cddc2912..00000000000 --- a/StarVMC/geant3/fluka/betarn.F +++ /dev/null @@ -1,106 +0,0 @@ -* -* $Id: betarn.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: betarn.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2005/04/13 14:46:16 brun -* From Peter Hristov -* Changes required to run on Solaris -* -* Revision 1.2 2004/12/17 11:46:46 brun -* Several protections introduced by Rachid Guernane and Peter Hristov -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.41 by S.Giani -*-- Author : -*$ CREATE BETARN.FOR -*COPY BETARN -* -*=== betarn ===========================================================* -* - FUNCTION BETARN(GAM,ETA) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* New version: * -* Created on 20 february 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 20-feb-91 by Alfredo Ferrari * -* * -* Sampling from beta distribution in [0,1) : * -* * -* P(X) = X**(GAM-1.D0)*(1.D0-X)**(ETA-1)*GAMM(ETA+GAM) * -* / (GAMM(GAM*GAMM(ETA)) * -* * -*----------------------------------------------------------------------* -* - REAL RNDM(2) -* - GAMI = 1.D+00 / GAM - ETAM1 = ETA - 1.D+00 - NTAM1 = NINT (ETA - 1.D+00) -* +-------------------------------------------------------------------* -* | - IF ( ETAM1 - NTAM1 .NE. 0.D+00 ) THEN -* | +----------------------------------------------------------------* -* | | First sample from X**(gam-1) and then reject according to -* | | (1-X)**(eta-1) - 100 CONTINUE - CALL GRNDM(RNDM,2) - BETARN = RNDM (1)**GAMI - - IF ( ETAM1 .LT. 0.D+00 .AND. BETARN .EQ. 1.D+00 ) THEN - REJE = ( 1.D+00 - BETARN + 1.D-10 )**ETAM1 - ELSE - REJE = ( 1.D+00 - BETARN )**ETAM1 - ENDIF - - IF ( RNDM (2) .GE. REJE ) GO TO 100 -* | | -* | +----------------------------------------------------------------* -* | -* +-------------------------------------------------------------------* -* | - ELSE -* | +----------------------------------------------------------------* -* | | First sample from X**(gam-1) and then reject according to -* | | (1-X)**(eta-1) - 200 CONTINUE - CALL GRNDM(RNDM,2) - BETARN = RNDM (1)**GAMI - REJE = ( 1.D+00 - BETARN )**NTAM1 - IF ( RNDM (2) .GE. REJE ) GO TO 200 -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* - RETURN -*=== End of function betarn ===========================================* - END diff --git a/StarVMC/geant3/fluka/betrst.F b/StarVMC/geant3/fluka/betrst.F deleted file mode 100644 index a1510dcb63e..00000000000 --- a/StarVMC/geant3/fluka/betrst.F +++ /dev/null @@ -1,107 +0,0 @@ -* -* $Id: betrst.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: betrst.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.41 by S.Giani -*-- Author : -*$ CREATE BETRST.FOR -*COPY BETRST -* -*=== betrst ===========================================================* -* - FUNCTION BETRST ( GAM, ETA, X0, X1 ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* New version: * -* Created on 20 february 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 20-feb-91 by Alfredo Ferrari * -* * -* Sampling from beta distribution in [X0,X1) : * -* * -* P(X) = X**(GAM-1.D0)*(1.D0-X)**(ETA-1)*GAMM(ETA+GAM) * -* / (GAMM(GAM*GAMM(ETA)) * -* * -*----------------------------------------------------------------------* -* - REAL RNDM(2) -* -* +-------------------------------------------------------------------* -* | - IF ( X1 .LT. X0 ) THEN - WRITE (LUNOUT,*)' Betrst: x1 the s composition of the projecti- -* | le is relevant) - STRRED = STRRED * AM (KPROJ) / ( EKE + AM (KPROJ) ) - FRAC = ( 1.D+00 - STRRED ) * FRAC -* | -* +-------------------------------------------------------------------* -* | Incoming mesons - ELSE -* | +----------------------------------------------------------------* -* | | - IF ( IBTAR .LE. 63 ) THEN - WEIGH1 = 1.D+00 / ( 1.D+00 + ( 60.D+00 / EKE ) ) - FRAC = FRA ( 2, IBTAR ) * ( ( 1.D+00 + 0.1333D+00 * MAX ( - & 0.D+00, BBTAR - 35.D+00 ) / 28.D+00 ) * WEIGH1 + - & 1.D+00 - WEIGH1 ) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE IF ( IBTAR .LE. 107 ) THEN - WEIGH1 = 1.D+00 / ( 1.D+00 + ( 60.D+00 / EKE ) ) - FRAC = ( 0.75D+00 + WEIGH1 * 0.1D+00 ) * FRA ( 1, IBTAR ) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE IF ( IBTAR .LE. 206 ) THEN - WEIGH1 = 1.D+00 / ( 1.D+00 + ( 60.D+00 / EKE ) ) - FRAC = ( 0.6279D+00 + 0.001077D+00 * BBTAR ) * WEIGH1 - & + ( 1.D+00 - WEIGH1 ) * ( 0.554D+00 + 0.00095D+00 - & * BBTAR ) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - WEIGH1 = 1.D+00 / ( 1.D+00 + ( 60.D+00 / EKE ) ) - FRAC = 0.75D+00 + 0.1D+00 * WEIGH1 - END IF -* | | -* | +----------------------------------------------------------------* - EKEFF = EKE - STRRED = 0.D+00 -* | +----------------------------------------------------------------* -* | | Apply a 50 % reduction in the intranuclear cascade probability -* | | for each s/sbar quark of the projectile - DO 150 IQ = 1,2 - STRRED = STRRED + 0.25D+00 - & * ABS ( IQSCHR ( MQUARK (IQ,IJ) ) ) - 150 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | Make the strangeness reduction effective only at low energies -* | (where secondaries are few ==> the s composition of the projecti- -* | le is relevant) - STRRED = STRRED * AM (KPROJ) / ( EKE + AM (KPROJ) ) - FRAC = ( 1.D+00 - STRRED ) * FRAC - END IF -* | -* +-------------------------------------------------------------------* -* The following is a reduction factor to bring Hannes's parametri- -* zations for the average energy carried by cascade nucleons in -* better agreement with experimental data - FSPRED = FSPRD0 + ( 1.D+00 - FSPRD0 ) * MAX ( 10.D+00 - EKE, - & 0.D+00 ) / 10.D+00 - FEX0RD = FSPRD0**ABS(IBPROJ) -* +-------------------------------------------------------------------* -* | Check whether it is the same target nucleus of the last call - IF ( BBTAR .NE. BBOLD .OR. ZZTAR .NE. ZZOLD ) THEN - LNUCNW = .TRUE. - SQRAMS = SQRT ( BBTAR ) - ATO1O3 = BBTAR**0.3333333333333333D+00 -* ZTO1O3 = ZZTAR**0.3333333333333333D+00 - BBOLD = BBTAR - ZZOLD = ZZTAR - SQROLD = SQRAMS - HKAP = BBTAR**2 / ( ZZTAR**2 + ( BBTAR - ZZTAR )**2 ) - HHLP (1) = ( HKAP * ZZTAR )**0.3333333333333333D+00 / ATO1O3 - HHLP (2) = ( HKAP * ( BBTAR - ZZTAR ) ) - & **0.3333333333333333D+00 / ATO1O3 - RDSNUC = R0NUCL * ATO1O3 - RDSCOU = RCCOUL * ATO1O3 - FLKCOU = DOST ( 1, ZZTAR ) -* | Coulomb barrier "a la Evap" - VEFFNU (1) = FLKCOU * COULPR * ZZTAR / RDSCOU - VEFFNU (2) = 0.D+00 - AMRCAV = MAX ( 1.D+00, ( BBTAR - 2.D+00 ) ) * AMUC12 - AMRCSQ = AMRCAV * AMRCAV -* | +----------------------------------------------------------------* -* | | - DO 3000 I = 1, 2 - PFRMMX (I) = HHLP (I) * APFRMX - P2HELP = PFRMMX (I)**2 - EFRMMX (I) = SQRT ( P2HELP + AMNUSQ (I) ) - AMNUCL (I) - EFRMAV (I) = 0.3D+00 * P2HELP / AMNUCL (I) * ( 1.D+00 - & - P2HELP / ( 5.6D+00 * AMNUSQ (I) ) ) - ERCLAV (I) = 0.3D+00 * P2HELP / AMRCAV * ( 1.D+00 - & - P2HELP / ( 5.6D+00 * AMRCSQ ) ) - V0WELL (I) = EFRMMX (I) + EBNDNG (I) - VEFFNU (I) = VEFFNU (I) + V0WELL (I) - ERCLMX = 0.5D+00 * P2HELP / AMRCAV * ( 1.D+00 - & - 0.25D+00 * P2HELP / AMRCSQ ) - EKMNNU (I) = VEFFNU (I) + EBNDNG (I) - & - EFRMMX (I) + ERCLMX - EKMXNU (I) = VEFFNU (I) + EBNDNG (I) - EKMNAV (I) = VEFFNU (I) + EBNDNG (I) - & - EFRMAV (I) + ERCLAV (I) - ESWELL (I) = EBNDNG (I) + V0WELL (I) - & - EFRMAV (I) + ERCLAV (I) - FTVTH (I) = ( EKMNNU (I) / EFRMMX (I) )**3 - FTVTH (I) = 0.4D+00 * SQRT ( FTVTH (I) ) - FINCUP (I) = AKEKA ( I, EKEFF, BBTAR ) * FSPRED -3000 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | -* +-------------------------------------------------------------------* -* | It is the same target nucleus of the last call to Nucevv/Nucriv - ELSE - LNUCNW = .FALSE. - SQRAMS = SQROLD - FINCUP (1) = AKEKA ( 1, EKEFF, BBTAR ) * FSPRED - FINCUP (2) = AKEKA ( 2, EKEFF, BBTAR ) * FSPRED - END IF -* | -* +-------------------------------------------------------------------* - CALL NIZL (IJ, BBTAR, EKE, PPROJ, SIHA, ZLA) - CALL NIZL (IJ, BBONE, EKE, PPROJ, SIHN, ZLP) - ANUAV = BBTAR * SIHN / SIHA -* Anuav= average number of collisions in nucleus - ANUSEA = ANUAV - 1.D+00 -* +-------------------------------------------------------------------* -* | Call the function sampling the distribution for the -* | number of high energy collisions - IF ( ANUSEA .GT. 0.D+00 .AND. PPROJ .GT. 5.D+00 ) THEN - EXPLAM = EXP ( -ANUSEA ) - NSEA = NUDISV ( ANUAV, IBPROJ, EXPLAM, ASEASQ, APOWER, - & PRZERO ) - 1 - NSEA = MIN ( NSEA, IBTAR - 1 ) - LUFFA = .FALSE. -* | -* +-------------------------------------------------------------------* -* | - ELSE - ASEASQ = 0.D+00 - ANUSEA = 0.D+00 - APOWER = 1.D+00 - ANUAV = 1.D+00 - PRZERO = 1.D+00 - ANUCSQ = 1.D+00 - NSEA = 0 - RATOLD = 0.D+00 - ACFACT = 0.D+00 - BCFACT = 2.D+00 - ANUC11 = ANUC00 - ANUCOR = ANUC00 - ACPARM = 0.D+00 - RRPCO = 0.D+00 - LUFFA = .TRUE. - END IF -* | -* +-------------------------------------------------------------------* - NSEALD = NSEA -* +-------------------------------------------------------------------* -* | Check if the parameterized intranuclear cascade is requested - IF ( LINCTV ) THEN - IF ( LUFFA ) GO TO 3500 - CALL GRNDM(RNDM,1) - RRPCR = RNDM (1) -* | +----------------------------------------------------------------* -* | | Check for negative - IF ( ASEASQ .LT. 0.D+00 ) THEN - ANUCOR = ANUC00 / ( 1.D+00 + 2.D+00 / PPROJ ) - ASEASQ = ANUCOR * ANUAV**2 - 2.D+00 * ANUAV + 1.D+00 - ANUCSQ = ANUCOR * ANUAV**2 - ACPARM = ACPAR0 - ANUC11 = ANUC00 - PRZERO = EXPLAM -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - ANUCSQ = ASEASQ + 2.D+00 * ANUAV - 1.D+00 - ANUC11 = ANUCSQ / ANUAV**2 -* | | +-------------------------------------------------------------* -* | | | Check if a power different from 2 must be used for the -* | | | cascade particle distributions -* | | | Power = 2: - IF ( .NOT. LPOWER ) THEN - APOWER = ANUCSQ -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - IPOWER = NINT (-DPOWER) - IF ( IPOWER .EQ. 17 ) THEN - FEX0RD = FEX0RD * FSPRD0 - ELSE IF ( IPOWER .EQ. 8 .OR. IPOWER .EQ. 1 .OR. IPOWER - & .GE. 12 ) THEN - FEX0RD = FEX0RD * FSPRD0 - END IF - END IF -* | | | -* | | +-------------------------------------------------------------* - ANUC11 = MIN ( ANUC11, ANUC00 ) - ANUCOR = ANUC11 / ( 1.D+00 + 5.D+00 * ( ANUC11 - 1.D+00 ) - & / PPROJ ) - ANUCOR = MAX ( ANUCOR, ONEONE ) - BBCOF = ( ANUC11 * ANUAV**2 - 2.D+00 * ANUCOR * ANUAV**2 - & + 2.D+00 * ANUCOR * ANUAV - 1.D+00 ) - BBCOF = ABS (BBCOF) - AACOF = ANUCOR * ( ANUAV - 1.D+00 )**2 - CCCOF = - ANUAV**2 * ( ANUC11 - ANUCOR ) - IF ( AACOF - CCCOF .GT. ANGLGB ) THEN - RRPCO = 0.5D+00 * ( - BBCOF + SQRT ( BBCOF**2 - 4.D+00 - & * AACOF * CCCOF ) ) / AACOF - ELSE - RRPCO = 0.D+00 - END IF - RRPCO = MIN ( ONEONE, RRPCO ) - RRPCO = MAX ( ZERZER, RRPCO ) - RRPCO = 1.D+00 - RRPCO - END IF -* | | -* | +----------------------------------------------------------------* -* | Supply the fraction of the total kinetic energy to be -* | used for intranuclear cascade nucleons - 3500 CONTINUE - EKUPNU (1) = AINEL (IJJ, 6, EKEFF, BBTAR, SQRAMS) * EKEFF - & * FSPRED - EKUPNU (2) = AINEL (IJJ, 7, EKEFF, BBTAR, SQRAMS) * EKEFF - & * FSPRED - EINCP = FRAC * EKUPNU (1) - EINCN = FRAC * EKUPNU (2) - FRAMAX = FRAC -* | +----------------------------------------------------------------* -* | | Now start Fincup (i) calculation!!!! - DO 4000 I = 1, 2 - EKPOLD (I) = EKUPNU (I) - EKUPNU (I) = MAX ( FRAMAX * EKUPNU (I), EKMXNU (I)/TWOTHI - & , FOUFOU * FINCUP (I) ) - EKUPNU (I) = MIN ( EKUPNU (I), FOUFOU * FINCUP (I) ) - AHELP = - ( EKUPNU (I) - EKMNAV (I) ) / FINCUP (I) - CHELP = EKMNAV (I) / FINCUP (I) - DHELP = EKUPNU (I) / FINCUP (I) - FINC0 = FINCFR + ESWELL (I) / FINCUP (I) - BHELP = EXP ( AHELP / FINC0 ) - FINCA = FINC0 - FUNCA = - ( CHELP - DHELP * BHELP ) / ( 1.D+00 - BHELP ) - FINCB = 2.D+00 * FINC0 - BHELP = EXP ( AHELP / FINCB ) - FUNCB = FINC0 - FINCB - ( CHELP - DHELP * BHELP ) / - & ( 1.D+00 - BHELP ) - ICOU = 1 - FINCLD = FINC0 -* | | +-------------------------------------------------------------* -* | | | -3800 CONTINUE - FINCX (I) = FINCA - FUNCA * ( FINCB - FINCA ) / - & ( FUNCB - FUNCA ) -* | | | +----------------------------------------------------------* -* | | | | - IF ( ABS ( FINCX (I) - FINCLD ) .GT. 0.03D+00 .AND. - & ICOU .LT. 20 ) THEN - ICOU = ICOU + 1 - FINCLD = FINCX (I) -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( ABS (FUNCA) .LT. ABS (FUNCB) ) THEN - FINCB = FINCLD - BHELP = EXP ( AHELP / FINCB ) - FUNCB = FINC0 - FINCB - ( CHELP - DHELP * BHELP - & ) / ( 1.D+00 - BHELP ) -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - FINCA = FINCLD - BHELP = EXP ( AHELP / FINCA ) - FUNCA = FINC0 - FINCA - ( CHELP - DHELP * BHELP - & ) / ( 1.D+00 - BHELP ) - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - GO TO 3800 -* | | | | -* | | +-<|--<--<--<--<--< - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* - ESLOPE (I) = FINCUP (I) * FINCX (I) - AHELP = EXP ( - EKPOLD (I) / FINCUP (I) ) - EKNOLD = FINCUP (I) - EKPOLD (I) * AHELP / - & ( 1.D+00 - AHELP ) - EXMNAV (I) = EXP ( - EKMNAV (I) / ESLOPE (I) ) - EXMNNU (I) = EXP ( - EKMNNU (I) / ESLOPE (I) ) - EXUPNU (I) = EXP ( - EKUPNU (I) / ESLOPE (I) ) - EKINAV (I) = ESLOPE (I) + ( EKMNAV (I) * EXMNAV (I) - - & EKUPNU (I) * EXUPNU (I) ) / ( EXMNAV (I) - - & EXUPNU (I) ) - EKPOLD (I) = EKPOLD (I) * FRAC - FINCUP (I) = EKINAV (I) / EKNOLD -4000 CONTINUE -* | | -* | +----------------------------------------------------------------* - EINCP = EINCP * FINCUP (1) - EINCN = EINCN * FINCUP (2) - AGREYP = EINCP / EKINAV (1) - AGREYN = EINCN / EKINAV (2) - AGREYT = AGREYP + AGREYN - CALL GRNDM(RNDM,1) - RNPCO = RNDM ( 1 ) -* | +----------------------------------------------------------------* -* | | Check if we have to sample from a distribution with -* | | prop. or to - IF ( RNPCO .LT. RRPCO ) THEN -* | | +-------------------------------------------------------------* -* | | | Power .ne. 2: - IF ( LPOWER ) THEN -* | | | +----------------------------------------------------------* -* | | | | 1**Y = 1 - IF ( NSEA .EQ. 0 ) THEN - IF ( IPOWER .LT. 7 ) THEN - ANCOSQ = 1.D+00 - ELSE - ANCOSQ = FPOWER ( IPOWER, 1, ANUAV ) - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | | The exponent has a fixed value - ELSE IF ( DPOWER .GT. 0.D+00 ) THEN - ANCOSQ = ( NSEA + 1 )**DPOWER -* | | | | -* | | | +----------------------------------------------------------* -* | | | | The function Fpower supplies the exponent - ELSE - IF ( IPOWER .LT. 7 ) THEN - ANCOSQ = ( NSEA + 1 )**FPOWER ( IPOWER, - & NSEA + 1, ANUAV ) - ELSE IF ( IPOWER .LT. 11 ) THEN - ANCOSQ = ( NSEA + 1 ) * FPOWER ( IPOWER, - & NSEA + 1, ANUAV ) - ELSE - ANCOSQ = ( NSEA + 1 )**FPOWER ( IPOWER, - & NSEA + 1, ANUAV ) - END IF - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* -* | | | Power = 2: - ELSE - ANCOSQ = ( NSEA + 1 )**2 - END IF -* | | | -* | | +-------------------------------------------------------------* - XIXIXI = AGREYP / ( AGREYP + APOWER ) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - ANCOSQ = NSEA + 1 - XIXIXI = AGREYP / ( AGREYP + ANUAV ) - END IF -* | | -* | +----------------------------------------------------------------* - RRPC0 = ( 1.D+00 - XIXIXI )**ANCOSQ - RRPCR = RRPC0 - CALL GRNDM(RNDM,1) - RNPCR = RNDM (1) - IF ( RRPCR .GE. RNPCR ) THEN - NGREYP = 0 - ELSE - DO 4600 I = 1, ICHTAR - RRPC0 = RRPC0 * ( I - 1 + ANCOSQ ) * XIXIXI - & / I - RRPCR = RRPCR + RRPC0 - IF ( RNPCR .LE. RRPCR ) GO TO 4700 - 4600 CONTINUE - I = I - 1 - IF ( BBTAR .GT. 12.D+00 ) - & WRITE (LUNERR,*)' *** RRPCR,I,NSEA,ANCOSQ*XIXIXI ***', - & RRPCR,I,NSEA,ANCOSQ*XIXIXI - 4700 CONTINUE - NGREYP = I - END IF -* | +----------------------------------------------------------------* -* | | Check if we have to sample from a distribution with -* | | prop. or to - IF ( RNPCO .LT. RRPCO ) THEN - XIXIXI = AGREYN / ( AGREYN + APOWER ) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - ANCOSQ = NSEA + 1 - XIXIXI = AGREYN / ( AGREYN + ANUAV ) - END IF -* | | -* | +----------------------------------------------------------------* - RRNC0 = ( 1.D+00 - XIXIXI )**ANCOSQ - RRNCR = RRNC0 -* | Correlate cascade neutrons to cascade protons: -* | No correlation - CALL GRNDM(RNDM,1) - RNNCR = RNDM (1) - RN1GSC = RNPCR - RN2GSC = RNNCR - IF ( RRNCR .GE. RNNCR ) THEN - NGREYN = 0 - ELSE - DO 4650 I = 1, IBTAR - ICHTAR - RRNC0 = RRNC0 * ( I - 1 + ANCOSQ ) * XIXIXI - & / I - RRNCR = RRNCR + RRNC0 - IF ( RNNCR .LE. RRNCR ) GO TO 4750 - 4650 CONTINUE - I = I - 1 - IF ( BBTAR .GT. 12.D+00 ) - & WRITE (LUNERR,*)' *** RRNCR,I,NSEA,ANCOSQ*XIXIXI ***', - & RRNCR,I,NSEA,ANCOSQ*XIXIXI - 4750 CONTINUE - NGREYN = I - END IF - NGREYT = NGREYN + NGREYP - NGREYN = 0 - NGREYP = 0 - PROBPR = AGREYP / ( AGREYP + AGREYN ) - DO 4760 I = 1, NGREYT - CALL GRNDM(RNDM,1) - RNDPPR = RNDM (1) - IF ( RNDPPR .LT. PROBPR .AND. NGREYP .LT. ICHTAR ) - & THEN - NGREYP = NGREYP + 1 - ELSE IF ( NGREYN .LT. IBTAR - ICHTAR ) THEN - NGREYN = NGREYN + 1 - ELSE - NGREYP = NGREYP + 1 - END IF - 4760 CONTINUE - FRAMAX = FRAC -* | The number of grey particles is now correlated to the number -* | of high energy collisions - EINCP = NGREYP * EKINAV (1) - EINCN = NGREYN * EKINAV (2) - TVTENT = ( NSEA + 1 ) * ( AV0WEL - AEFRMA ) -* | -* +-------------------------------------------------------------------* -* | - ELSE - EINCP = 0.D+00 - EINCN = 0.D+00 - EKUPNU (1) = 1.D+01 - EKUPNU (2) = 1.D+01 - ESLOPE (1) = 0.D+00 - ESLOPE (2) = 0.D+00 - EKINAV (1) = 1.D+10 - EKINAV (2) = 1.D+10 - FRAC = 0.D+00 - PCR = 1.D+00 - FRAINC = 0.D+00 - TVTENT = 0.D+00 - END IF -* | -* +-------------------------------------------------------------------* - PCROLD = PCR - EKTRIA = EKE - EINCP - EINCN - TVTENT - IF ( EKTRIA .LE. 0.5D+00 * EKE ) THEN - EKTRIA = 0.5D+00 * EKE - END IF - ETRIAL = EKTRIA + AM (KPROJ) -* +-------------------------------------------------------------------* -* | - IF ( ETRIAL .LT. ECUTRF ) THEN - PTRIAL = SQRT ( ETRIAL**2 - AM (KPROJ)**2 ) - XCUTFF = 0.3D+00 * ETHSEA / EKTRIA -* XCUTFF = 0.3D+00 / PTRIAL -* | -* +-------------------------------------------------------------------* -* | - ELSE - PTRIAL = ETRIAL - UMO = SQRT ( 2.D+00*AM(1) * ETRIAL + AM (KPROJ)**2 + AM(1)**2 ) - XCUTFF = 0.30D+00 * ETHSEA * UMO / ( UMOREF * EKTRIA ) - END IF -* | -* +-------------------------------------------------------------------* - 200 CONTINUE - IF ( NSEA .EQ. 0 ) GO TO 1000 -* *** Sample X-values of nsea sea-quark-antiquark pairs - NC3 = 0 -* +-------------------------------------------------------------------* -* | - 300 CONTINUE -* *** Sea distribution X**(-1)*(1-X)**5 - NC3 = NC3 + 1 -* | +----------------------------------------------------------------* -* | | - IF ( NC3 .GT. 10 ) THEN - NSEA = NSEA - 1 - GO TO 200 - END IF -* | | -* | +----------------------------------------------------------------* - XO = 1.D+00 - UNOSEA = 2.0D+00 - GAMSEA = 0.05D+00 - XSEAMX = 1.0D+00 -* | +----------------------------------------------------------------* -* | | - DO 400 I=1,NSEA - NCOU= 0 - 22 CONTINUE - NCOU = NCOU + 1 -* | | +-------------------------------------------------------------* -* | | | - IF ( NCOU .LT. 11 ) THEN - XSEA(I) = BETRST ( GAMSEA, UNOSEA, XCUTFF, XSEAMX ) - IF ( XSEA(I) .LT. XCUTFF ) GO TO 22 - END IF -* | | | -* | | +-------------------------------------------------------------* - NCOU = 0 - 23 CONTINUE - NCOU = NCOU + 1 -* | | +-------------------------------------------------------------* -* | | | - IF ( NCOU .LT. 11 ) THEN - XASEA(I) = BETRST ( GAMSEA, UNOSEA, XCUTFF, XSEAMX ) - IF ( XASEA(I) .LT. XCUTFF ) GO TO 23 - END IF -* | | | -* | | +-------------------------------------------------------------* - XO = XO * ( 1.D+00 - XSEA (I) - XASEA(I) ) - 400 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | - IF ( XO * PTRIAL .LT. 4.D+00 ) THEN - NSEA = NSEA - 1 - IF ( NSEA .LE. 0 ) GO TO 1000 - GO TO 300 -* | | -* +--+--<--<--<--<--< go to resample -* | | - END IF -* | | -* | +----------------------------------------------------------------* - ILOW = 0 -* | +----------------------------------------------------------------* -* | | - DO 500 I = 1, NSEA - EMSEA = EKTRIA * ( XSEA (I) + XASEA (I) ) -* | | +-------------------------------------------------------------* -* | | | - IF ( EMSEA .LE. ETHSEA + AM (23) ) THEN - ILOW = ILOW + 1 -* | | | +----------------------------------------------------------* -* | | | | - IF ( I .LT. NSEA ) THEN - II = I + 1 - XSEA (II) = XSEA (II) + XSEA (I) - XASEA (II) = XASEA (II) + XASEA (I) -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE IF ( I - ILOW .GT. 0 ) THEN - II = I - ILOW - EKTRIA = EKTRIA * ( 1.D+00 - XSEA(I) - XASEA (I) ) - XSEA (II) = XSEA (II) + XSEA (I) - XASEA (II) = XASEA (II) + XASEA (I) - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - XSEA (I-ILOW) = XSEA (I) - XASEA (I-ILOW) = XASEA (I) - EKTRIA = EKTRIA * ( 1.D+00 - XSEA(I) - XASEA (I) ) - END IF -* | | | -* | | +-------------------------------------------------------------* - 500 CONTINUE -* | | -* | +----------------------------------------------------------------* - NSEA = NSEA - ILOW -* | -* +-------------------------------------------------------------------* -1000 CONTINUE -* +-------------------------------------------------------------------* -* | Now sample the target nucleons for the high energy collisions - DO 1200 I = 1, NSEA + 1 - ZAPU = ZNOW / ANOW -* | +----------------------------------------------------------------* -* | | Wounded nucleon selection: -* | | Kt is the index of the target nucleon (1=proton, 8=neutron) - CALL GRNDM(RNDM,1) - IF ( RNDM(1) .LE. ZAPU ) THEN - IJTARG (I) = 1 - ZNOW = ZNOW - 1.D0 - KTARP = KTARP + 1 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - IJTARG (I) = 8 - KTARN = KTARN + 1 - END IF -* | | -* | +----------------------------------------------------------------* - ANOW = ANOW - 1.D0 -1200 CONTINUE -* | -* +-------------------------------------------------------------------* - ZNCOLL = KTARP - ANCOLL = NSEA + 1 - AHELP = EKMNNU (1) / ESLOPE (1) - AHELP = AHELP * FTVTH (1) * ( 1.D+00 + 0.3333333333333333D+00 - & * AHELP ) / ( 1.D+00 - EXUPNU (1) ) - AHELPP = AHELP - AHELP = EKMNNU (2) / ESLOPE (2) - AHELP = AHELP * FTVTH (2) * ( 1.D+00 + 0.3333333333333333D+00 - & * AHELP ) / ( 1.D+00 - EXUPNU (2) ) - AHELPN = AHELP - FEXTRA = 0.3D+00 * AGREYP - TVCHCP = EFRMMX (1) - EFRMAV (1) + EBNDNG (1) - TVGRYP = AHELPP * ( EINCP + FEXTRA * EKINAV (1) ) * AGREYP - & / ( AGREYP + FEXTRA ) * FEX0RD - NHELP = INT ( TVGRYP / TVCHCP ) - TVGRE0 = NHELP * TVCHCP - PROB0 = ( TVGRYP - TVGRE0 ) / TVCHCP - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PROB0 ) THEN - CALL GRNDM(RNDM,3) - P2HELP = ( PFRMMX (1) * MAX ( RNDM (1), - & RNDM (2), RNDM (3) ) )**2 - TVGRYP = 0.5D+00 * P2HELP / AMNUCL (1) * ( 1.D+00 - & - 0.25D+00 * P2HELP / AMNUSQ (1) ) - TVGRYP = EFRMMX (1) - TVGRYP + EBNDNG (1) + TVGRE0 - ELSE - TVGRYP = TVGRE0 - END IF - FEXTRA = 0.3D+00 * AGREYN - TVCHCN = EFRMMX (2) - EFRMAV (2) + EBNDNG (2) - TVGRYN = AHELPN * ( EINCN + FEXTRA * EKINAV (2) ) * AGREYN - & / ( AGREYN + FEXTRA ) * FEX0RD - NHELP = INT ( TVGRYN / TVCHCN ) - TVGRE0 = NHELP * TVCHCN - PROB0 = ( TVGRYN - TVGRE0 ) / TVCHCN - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PROB0 ) THEN - CALL GRNDM(RNDM,3) - P2HELP = ( PFRMMX (2) * MAX ( RNDM (1), - & RNDM (2), RNDM (3) ) )**2 - TVGRYN = 0.5D+00 * P2HELP / AMNUCL (2) * ( 1.D+00 - & - 0.25D+00 * P2HELP / AMNUSQ (2) ) - TVGRYN = EFRMMX (2) - TVGRYN + EBNDNG (2) + TVGRE0 - ELSE - TVGRYN = TVGRE0 - END IF - TVGRE0 = TVGRYP + TVGRYN - TVGREY = 0.D+00 - NDIFFT = NGREYT - NINT (ANOW) - IF ( NINT (ZNOW) - NGREYP .LT. 0 ) THEN - NDIFFP = NGREYP - NINT ( ZNOW ) - NGREYP = NGREYP - NDIFFP - EINCP = EINCP - NDIFFP * EKINAV (1) - NGREYN = NGREYN + NDIFFP - EINCN = EINCN + NDIFFP * EKINAV (2) - IF ( NINT (ANOW-ZNOW) - NGREYN .LT. 0 ) THEN - NDIFFN = NGREYN - NINT ( ANOW - ZNOW ) - NGREYN = NGREYN - NDIFFN - EINCN = EINCN - NDIFFN * EKINAV (2) - END IF - ELSE IF ( NINT (ANOW-ZNOW) - NGREYN .LT. 0 ) THEN - NDIFFN = NGREYN - NINT ( ANOW - ZNOW ) - NGREYN = NGREYN - NDIFFN - EINCN = EINCN - NDIFFN * EKINAV (2) - NGREYP = NGREYP + NDIFFN - EINCP = EINCP + NDIFFN * EKINAV (1) - IF ( NINT (ZNOW) - NGREYP .LT. 0 ) THEN - NDIFFP = NGREYP - NINT ( ZNOW ) - NGREYP = NGREYP - NDIFFP - EINCP = EINCP - NDIFFP * EKINAV (1) - END IF - END IF - NGREYT = NGREYP + NGREYN - RETURN - END diff --git a/StarVMC/geant3/fluka/corrin.F b/StarVMC/geant3/fluka/corrin.F deleted file mode 100644 index b015e6f7d0a..00000000000 --- a/StarVMC/geant3/fluka/corrin.F +++ /dev/null @@ -1,455 +0,0 @@ -* -* $Id: corrin.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: corrin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/12/17 11:46:46 brun -* Several protections introduced by Rachid Guernane and Peter Hristov -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE CORRIN.FOR -*COPY CORRIN -* * -*=== corrin ===========================================================* -* * - SUBROUTINE CORRIN ( ZZTAR, BBTAR, KPROJ, PPROJ, EKE ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 10 may 1990 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 23-mar-93 by Alfredo Ferrari * -* * -* This version has been developed by A. Ferrari starting from the * -* the one by J. M. Zazula: it includes a few differences mainly in * -* the correlation since now we try to get the excitation energy * -* from a correct energy balance * -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/corinc.inc" -#include "geant321/nucdat.inc" -#include "geant321/parevt.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" - PARAMETER ( ALFMAX = 5.00D+00 ) - PARAMETER ( FINCFR = 1.00D+00 ) - PARAMETER ( TMNOLD = 0.02D+00 ) - COMMON / FKNUCO / HELP (2), HHLP (2), FTVTH (2), FINCX (2), - & EKPOLD (2), BBOLD, ZZOLD, SQROLD, ASEASQ, - & FSPRED, FEX0RD - DIMENSION KPA (26) - DIMENSION FRA(2,110), ESLOLD (2), AVMULT (2), EXDUMM (2), - & V0WSAV (2), VEWSAV (2) - REAL RNDM(3) - LOGICAL LSTOP, LNUCNW, LLLIN, LLPOW - SAVE FRA, FRAC, FRAC0, FRAMAX, KPA, IJJ, LSTOP, V0WSAV, VEWSAV - DATA KPA/1,1,3,3,3,3,3,2,2,3,3,3,3,3,3,3,2,2,3,1,1,2,3,3,3,3/ -* -* Reduction factors for intran. cascade energy, taken from Alsmiller -* Incoming baryons - DATA (FRA(1,I), I=1,107) / .048D0,.076D0,0.10D0,.12D0, - * .14D0,.16D0,.17D0,.19D0,.21D0,.22D0,.24D0, - 1 .25D0,.26D0,.28D0,.29D0,.30D0,.315D0,.33D0,.34D0, - * .35D0,.36D0,.38D0,.39D0,.40D0,.41D0,.42D0, - 2 .43D0,.44D0,.46D0,.47D0,.48D0,.49D0,.50D0,.51D0, - * .52D0,.53D0,.54D0,.55D0,.56D0,.57D0,.58D0,.59D0, - 3 .60D0,.61D0,.62D0,.63D0,.635D0,.64D0,.65D0,.66D0, - * .67D0,.675D0,.68D0,.69D0,.70D0,.71D0,.715D0, - 4 .72D0,.725D0,.73D0,.735D0,.74D0,.75D0,.755D0, - * .76D0,.767D0,.77D0,.77D0,.775D0,.78D0,.783D0, - 5 .786D0,.79D0,.795D0,.80D0,.805D0,.81D0,.812D0, - * .815D0,.82D0,.822D0,.824D0,.825D0,.825D0,.83D0, - 6 .832D0,.834D0,.836D0,.838D0,.84D0,.843D0,.836D0, - * .849D0,.852D0,.855D0,.856D0,.857D0,.858D0, - 7 .859D0,.860D0,.862D0,.864D0,.866D0,.868D0,.870D0, - * .872D0,.874D0/ -* Incoming mesons - DATA (FRA(2,I), I=1,63) / .048D0,.076D0,0.10D0,.12D0, - * .14D0,.16D0,.17D0,.19D0,.21D0,.22D0,.24D0, - 1 .25D0,.262D0,.274D0,.285D0,.295D0,.305D0,.315D0, - * .327D0,.340D0,.345D0,.350D0,.360D0, - 2 .370D0,.380D0,.385D0,.390D0,.398D0,.406D0,.415D0, - * .420D0,.425D0,.430D0,.435D0,.440D0,.446D0, - 3 .452D0,.458D0,.464D0,.470D0,.474D0,.478D0,.482D0, - * .486D0,.490D0,.495D0,.500D0,.505D0,.510D0, - 4 .515D0,.519D0,.523D0,.526D0,.520D0,.533D0,.537D0, - * .540D0,.543D0,.547D0,.550D0,.555D0,.559D0, - 5 .5625D0 / -* - IBPROJ = IBAR (KPROJ) - IJJ = KPA (KPROJ) - ANUAV = 1.D+00 - ANCOLL = 1.D+00 - ANUSEA = 1.D+00 - NSEA = 0 - LSTOP = .FALSE. -* +-------------------------------------------------------------------* -* | Incoming baryons - IF ( IBPROJ .NE. 0 ) THEN -* | +----------------------------------------------------------------* -* | | - IF ( IBTAR .LE. 107 ) THEN - FRAC = FRA ( 1, IBTAR ) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE IF (IBTAR .LE. 206) THEN - FRAC = 0.739D+00 + 0.00126D+00 * BBTAR -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - FRAC = 1.D+00 - END IF -* | | -* | +----------------------------------------------------------------* -* | -* +-------------------------------------------------------------------* -* | Incoming mesons - ELSE -* | +----------------------------------------------------------------* -* | | - IF ( IBTAR .LE. 63 ) THEN - FRAC = FRA ( 2, IBTAR ) * ( 1.D+00 + 0.1333D+00 * MAX ( - & 0.D+00, BBTAR - 35.D+00 ) / 28.D+00 ) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE IF ( IBTAR .LE. 107 ) THEN - FRAC = 0.85D+00 * FRA ( 1, IBTAR ) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE IF ( IBTAR .LE. 206 ) THEN - FRAC = 0.6279D+00 + 0.001077D+00 * BBTAR -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - FRAC = 0.85D+00 - END IF -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - IF ( BBTAR .NE. BBOLD .OR. ZZTAR .NE. ZZOLD ) THEN - LNUCNW = .TRUE. -* | Supply the fraction of the total kinetic energy to be -* | used for intranuclear cascade nucleons - SQRAMS = SQRT ( BBTAR ) - ATO1O3 = BBTAR**0.3333333333333333D+00 -* ZTO1O3 = ZZTAR**0.3333333333333333D+00 - HKAP = BBTAR**2 / ( ZZTAR**2 + ( BBTAR - ZZTAR )**2 ) - HHLP (1) = ( HKAP * ZZTAR )**0.3333333333333333D+00 / ATO1O3 - HHLP (2) = ( HKAP * ( BBTAR - ZZTAR ) ) - & **0.3333333333333333D+00 / ATO1O3 - RDSNUC = R0NUCL * ATO1O3 - RDSCOU = RCCOUL * ATO1O3 - FLKCOU = DOST ( 1, ZZTAR ) - VEFFNU (1) = COULPR * FLKCOU * ZZTAR / RDSCOU - VEFFNU (2) = 0.D+00 - AMRCAV = MAX ( 1.D+00, ( BBTAR - 2.D+00 ) ) * AMUC12 - AMRCSQ = AMRCAV * AMRCAV -* | +----------------------------------------------------------------* -* | | - DO 3000 I = 1, 2 - PFRMMX (I) = HHLP (I) * APFRMX - P2HELP = PFRMMX (I)**2 - EFRMMX (I) = SQRT ( P2HELP + AMNUSQ (I) ) - AMNUCL (I) - EFRMAV (I) = 0.3D+00 * P2HELP / AMNUCL (I) * ( 1.D+00 - & - P2HELP / ( 5.6D+00 * AMNUSQ (I) ) ) - ERCLAV (I) = 0.3D+00 * P2HELP / AMRCAV * ( 1.D+00 - & - P2HELP / ( 5.6D+00 * AMRCSQ ) ) - V0WELL (I) = EFRMMX (I) + EBNDNG (I) - VEFFNU (I) = VEFFNU (I) + V0WELL (I) - V0WSAV (I) = V0WELL (I) - VEWSAV (I) = VEFFNU (I) - ERCLMX = 0.5D+00 * P2HELP / AMRCAV * ( 1.D+00 - & - 0.25D+00 * P2HELP / AMRCSQ ) - EKMNNU (I) = VEFFNU (I) + EBNDNG (I) - & - EFRMMX (I) + ERCLMX - EKMXNU (I) = VEFFNU (I) + EBNDNG (I) - EKMNAV (I) = VEFFNU (I) + EBNDNG (I) - & - EFRMAV (I) + ERCLAV (I) - ESWELL (I) = EBNDNG (I) + V0WELL (I) - & - EFRMAV (I) + ERCLAV (I) - FTVTH (I) = ( EKMNNU (I) / EFRMMX (I) )**3 - FTVTH (I) = 0.4D+00 * SQRT ( FTVTH (I) ) -3000 CONTINUE -* | | -* | +----------------------------------------------------------------* - BBOLD = BBTAR - ZZOLD = ZZTAR - SQROLD = SQRAMS -* | -* +-------------------------------------------------------------------* -* | - ELSE - V0WSAV (1) = V0WELL (1) - VEWSAV (1) = VEFFNU (1) - V0WSAV (2) = V0WELL (2) - VEWSAV (2) = VEFFNU (2) - LNUCNW = .FALSE. - END IF -* | -* +-------------------------------------------------------------------* - FRAC0 = FRAC - RETURN - ENTRY CORSTP ( EKEFF ) - LSTOP = .TRUE. - ENTRY CORRNC ( EKEFF ) - WEIGH1 = MIN ( 1.D+00, EKEFF / 4.D+00 ) - FRAC = ( WEIGH1 * 2.5D+00 + ( 1.D+00 - WEIGH1 ) ) * FRAC0 - FRAMAX = 2.5D+00 -* The following is a reduction factor to bring Hannes's parametri- -* zations for the average energy carried by cascade nucleons in -* better agreement with experimental data - FSPRED = FSPRD0 + ( 1.D+00 - FSPRD0 ) * MAX ( 8.D+00 - EKEFF, - & 0.D+00 ) / 8.D+00 - FSPRED = FSPRED * MIN ( EKEFF / 0.8D+00, 1.D+00 ) - TMPFSP = 1.25D+00 * FSPRD0 - FSPRED = MIN ( FSPRED, TMPFSP ) - AVMULT (1) = FRAC * BNKEKA ( 1, EKEFF, BBOLD, SQROLD ) - AVMULT (2) = FRAC * BNKEKA ( 2, EKEFF, BBOLD, SQROLD ) - EKUPNU (1) = BEKEKA ( 2, EKEFF, BBOLD, SQROLD ) - EKUPNU (2) = BEKEKA ( 3, EKEFF, BBOLD, SQROLD ) - EINCP = FRAC * EKUPNU (1) - EINCN = FRAC * EKUPNU (2) - EKMAX = EKEFF - EBNDAV - EKUPN0 = MAX ( EKUPNU (1), EKUPNU (2) ) -* +-------------------------------------------------------------------* -* | - DO 4000 I = 1, 2 - FINCUP (I) = BKEKA ( I, EKEFF, BBOLD ) - RATRAT = MIN ( 1.D+00, 0.5D+00 * EKMAX / FINCUP (I) ) - TMPFIN = 0.5D+00 * EKMAX - FINCUP (I) = MIN ( FINCUP (I), TMPFIN ) - EKPOLD (I) = EKUPNU (I) * FRAC * RATRAT - EKUPNU (I) = FINCUP (I) - TMPEKU = 1.5D+00 * EKMXNU (I) - EKUPNU (I) = MAX ( FRAMAX * EKUPNU (I), TMPEKU ) - TMPEKU = 0.7D+00 * EKEFF - EKUPNU (I) = MIN ( EKUPNU (I), TMPEKU ) - ESLOLD (I) = MAX ( FINCUP (I), TMNOLD ) - FINCX (I) = ( ESLOLD (I) + ESWELL (I) ) / ESLOLD (I) * FSPRED - ESLOPE (I) = MIN ( ESLOLD (I) * FINCX (I), EKMAX ) - AHELP = EXP ( - EKPOLD (I) / ESLOLD (I) ) - EKNOLD = ESLOLD (I) - EKPOLD (I) * AHELP / - & ( 1.D+00 - AHELP ) - EXMNAV (I) = EXP ( - EKMNAV (I) / ESLOPE (I) ) - EXMNNU (I) = EXP ( - EKMNNU (I) / ESLOPE (I) ) - EXUPNU (I) = EXP ( - EKUPNU (I) / ESLOPE (I) ) - EKINAV (I) = ESLOPE (I) + ( EKMNAV (I) * EXMNAV (I) - - & EKUPNU (I) * EXUPNU (I) ) / ( EXMNAV (I) - - & EXUPNU (I) ) - FINCUP (I) = AVMULT (I) * EKINAV (I) / EKPOLD (I) -* FINCUP (I) = EKINAV (I) / EKNOLD -4000 CONTINUE -* | -* +-------------------------------------------------------------------* - EINCP = EKPOLD (1) - EINCN = EKPOLD (2) - IF ( LSTOP ) RETURN -* Power sampling - LLPOW = .TRUE. - LLLIN = .FALSE. -* Take into account that a fraction 1/A^2/3 is lost because of -* peripheral collisions - PERCOR = ATO1O3 * ATO1O3 - PERCOR = PERCOR / ( PERCOR - 1.D+00 ) - EINCP0 = EINCP * FINCUP (1) * PERCOR - EINCN0 = EINCN * FINCUP (2) * PERCOR - EINCT = EINCP0 + EINCN0 -* For the other distr,: - EINCMX = EKEFF - EBNDAV - ( AV0WEL - AEFRMA ) / ( 1.D+00 + - & 4.D+00 * ( AV0WEL - AEFRMA ) / EKEFF ) - EIUSE = 0.5D+00 * ( EINCMX + EKMAX ) - AHNORM = 0.D+00 - EINCM0 = - AINFNT -* +-------------------------------------------------------------------* -* | Compute alfa: - IF ( EINCMX .GT. 2.1D+00 * EINCT ) THEN - EINFIN = MIN ( 0.95D+00 * EINCMX, ( ALFMAX + 2.D+00 ) * EINCT ) - ALFA = EINFIN / EINCT - 2.D+00 -* | -* +-------------------------------------------------------------------* -* | Energy interval too small, sample E uniformly - ELSE - LLPOW = .FALSE. - END IF -* | -* +-------------------------------------------------------------------* - EINCMN = 0.D+00 -* +-------------------------------------------------------------------* -* | Energy is so small that we cannot produce cascade nucleons, -* | sample an excitation energy and return - IF ( EINCMX .LE. EINCMN + 0.25D+00 * EBNDAV ) THEN - ISAMPL = 50 -* | -* +-------------------------------------------------------------------* -* | - ELSE - ISAMPL = 0 - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Now make the linear sampling for Eincp, Eincn, on [0,Eicnmx] -* | according to P(E)dE=A(Efin-E)^a dE -5000 CONTINUE - ISAMPL = ISAMPL + 1 - CALL GRNDM(RNDM,1) - IF ( LLPOW ) THEN - EIHELP = EINFIN * ( 1.D+00 - RNDM (1)**(1.D+00 - & /(ALFA+1.D+00)) ) - ELSE IF ( LLLIN ) THEN - EINCMX = EINCM0 - EIHELP = EINFIN - SQRT ( EINFIN**2 - 2.D+00 * RNDM (1) - & / AHNORM ) - ELSE - EIHELP = EINCMX * RNDM (1) - END IF -* | *** end linear sampling *** - EINCP = EINCP0 * EIHELP / EINCT - EINCN = EINCN0 * EIHELP / EINCT - AHELP = EKMNNU (1) / ESLOPE (1) - AHELP = AHELP * FTVTH (1) * EINCP * ( 1.D+00 + AHELP * - & 0.3333333333333333D+00 ) / ( 1.D+00 - EXUPNU (1) ) - TVGRE0 = AHELP - AHELP = EKMNNU (2) / ESLOPE (2) - AHELP = AHELP * FTVTH (2) * EINCN * ( 1.D+00 + AHELP * - & 0.3333333333333333D+00 ) / ( 1.D+00 - EXUPNU (2) ) - TVGRE0 = TVGRE0 + AHELP -* | +----------------------------------------------------------------* -* | | Energy is so small that we cannot produce cascade nucleons, -* | | sample an excitation energy and return - IF ( ISAMPL .GE. 50 ) THEN - CALL GRNDM(RNDM,3) - PRNDM = MAX ( RNDM (1), RNDM (2), RNDM (3) ) - TVGRE0 = MAX ( AV0WEL - PRNDM**2 * AEFRMX - EBNDAV, ZERZER ) - EINCP = 0.D+00 - EINCN = 0.D+00 - TVGREY = 0.D+00 - RETURN - END IF -* | | -* | +----------------------------------------------------------------* -* | Changed: - IF ( EIHELP + TVGRE0 .GE. EIUSE ) GO TO 5000 -* | -* +--<--<--<--<--< Resampling! -* | -* +-------------------------------------------------------------------* - PCR = EIHELP / EINCT - FRAINC = FRAC * PCR - TVGREY = 0.D+00 - AGREYP = EINCP / EKINAV (1) - AGREYN = EINCN / EKINAV (2) -* ==== Discretize the distribution !!! ==== * - CALL GRNDM(RNDM,2) - NGREYP = INT ( AGREYP ) - IF ( RNDM(1) .LT. AGREYP - NGREYP ) NGREYP = NGREYP + 1 - NGREYN = INT ( AGREYN ) - IF ( RNDM(2) .LT. AGREYN - NGREYN ) NGREYN = NGREYN + 1 -* ==== - AGREYT = AGREYP + AGREYN - NGREYT = NGREYP + NGREYN - IF ( AGREYT .NE. 0 ) THEN - PPROCS = AGREYP / AGREYT - ELSE - PPROCS = AGREYP / ( AGREYT + 1.D-10 ) - ENDIF - NGREYP = 0 - NGREYN = 0 - EINCP = 0.D+00 - EINCN = 0.D+00 - IF ( NGREYT .LE. 0 ) GO TO 9000 - ARDUMM = MAX ( 1.D+00, BBOLD - 2.D+00 ) - CALL RBKINI ( 1, .TRUE., EXDUMM, TKDUMM, TSDUMM, - & PSDUMM, ARDUMM, TRDUMM ) - V0SAV1 = V0WELL (1) - V0SAV2 = V0WELL (2) - VESAV1 = VEFFNU (1) - VESAV2 = VEFFNU (2) - V0WELL (1) = V0WSAV (1) - V0WELL (2) = V0WSAV (2) - VEFFNU (1) = VEWSAV (1) - VEFFNU (2) = VEWSAV (2) - IRETRY = 0 - DO 8000 I = 1, NGREYT - CALL GRNDM(RNDM,1) - RNDMPR = RNDM (1) - ARDUMM = MAX ( 1.D+00, ARDUMM - 1.D+00 ) - 7500 CONTINUE - IF ( RNDMPR .LT. PPROCS ) THEN - NGREYP = NGREYP + 1 - CALL RBKINI ( 1, .FALSE., EXDUMM, TKDUMM, TSDUMM, - & PSDUMM, ARDUMM, TRDUMM ) - EINCP = EINCP + TKDUMM - IF ( EINCP + EINCN .GT. EINCMX .AND. IRETRY .LT. 5 ) THEN - EINCP = EINCP - TKDUMM - CALL RBKMIN (1) - IRETRY = IRETRY + 1 - GO TO 7500 - END IF - ELSE - NGREYN = NGREYN + 1 - CALL RBKINI ( 2, .FALSE., EXDUMM, TKDUMM, TSDUMM, - & PSDUMM, ARDUMM, TRDUMM ) - EINCN = EINCN + TKDUMM - IF ( EINCP + EINCN .GT. EINCMX .AND. IRETRY .LT. 5 ) THEN - EINCN = EINCN - TKDUMM - CALL RBKMIN (2) - IRETRY = IRETRY + 1 - GO TO 7500 - END IF - END IF - 8000 CONTINUE - V0WELL (1) = V0SAV1 - V0WELL (2) = V0SAV2 - VEFFNU (1) = VESAV1 - VEFFNU (2) = VESAV2 - 9000 CONTINUE - EINCT = EINCP + EINCN - IF ( EINCT + TVGRE0 .GT. EIUSE ) THEN - TVGRE0 = 0.D+00 - EIUSE = MIN ( ONEONE, EINCMX / EINCT ) - EINCP = EINCP * EIUSE - EINCN = EINCN * EIUSE - EINCT = EINCP + EINCN - END IF - RETURN -*=== End of subroutine corrin =========================================* - END diff --git a/StarVMC/geant3/fluka/datar3.F b/StarVMC/geant3/fluka/datar3.F deleted file mode 100644 index 797a400f0a6..00000000000 --- a/StarVMC/geant3/fluka/datar3.F +++ /dev/null @@ -1,152 +0,0 @@ -* -* $Id: datar3.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: datar3.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE DATAR3.FOR -*COPY DATAR3 -* -*=== datar3 ===========================================================* -* - SUBROUTINE DATAR3 - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/bamjcm.inc" -#include "geant321/inpdat.inc" - LOGICAL LSWTCH - COMMON /FKVALI/ LSWTCH - DIMENSION IVV(36),IP(36),IB(126),IBB(126),IA(126),IAA(126) -C DEFINE THE FIELDS FOR PARTICLE CLASSIFICATION -C IMPS=PSEUDO SCALAR MESONS (SPIN=0) -C IMVE=VECTOR MESONS (SPIN=1) -C IB08(IA08)=BARYONS (ANTIBARYONS) (SPIN=1/2) -C IB10(IA10)=BARYONS (ANTIBARYONS) (SPIN=3/2) - DATA IP/ - *23,14,16,116,0,0,13,23,25,117,0,0,15,24,31,120,0,0,119,118,121, - *122,14*0/ - LSWTCH = .FALSE. - L=0 -C PRINT 7769 -C7769 FORMAT (' ***********************************************'/ -C 1' *********************************************************'/ -C 1' ETA SUPRESSED IN DATAR3 AND HKLASS SEPT 85 J.RANFT'/ -C 1' ETA (31)--->RHO0(33); ETA*(95)--->OMEG(35) '/ -C 1'*************************************************************'/ -C 1'*************************************************************') - DO 1 I=1,6 - DO 2 J=1,6 - L=L+1 - IMPS(I,J)=IP(L) - 2 CONTINUE - 1 CONTINUE - DATA IVV/ - *33,34,38,123,0,0,32,33,39,124,0,0,36,37,96,127,0,0,126,125,128, - *129,14*0/ - L=0 - DO 3 I=1,6 - DO 4 J=1,6 - L=L+1 - IMVE(I,J)=IVV(L) - 4 CONTINUE - 3 CONTINUE - DATA IB/ - *0,1,21,140,0,0,8,22,137,0,0,97,138,0,0,146,5*0, - *1,8,22,137,0,0,0,20,142,0,0,98,139,0,0,147,5*0, - *21,22,97,138,0,0,20,98,139,0,0,0,145,0,0,148,5*0, - *140,137,138,146,0,0,142,139,147,0,0,145,148,50*0/ - L=0 - DO 5 I=1,6 - DO 6 J=1,21 - L=L+1 - IB08(I,J)=IB(L) - 6 CONTINUE - 5 CONTINUE - DATA IBB/ - *53,54,104,161,0,0,55,105,162,0,0,107,164,0,0,167,5*0, - *54,55,105,162,0,0,56,106,163,0,0,108,165,0,0,168,5*0, - *104,105,107,164,0,0,106,108,165,0,0,109,166,0,0,169,5*0, - *161,162,164,167,0,0,163,165,168,0,0,166,169,0,0,170,47*0/ - L=0 - DO 7 I=1,6 - DO 8 J=1,21 - L=L+1 - IB10(I,J)=IBB(L) - 8 CONTINUE - 7 CONTINUE - DATA IA/ - *0,2,99,152,0,0,9,100,149,0,0,102,150,0,0,158,5*0, - *2,9,100,149,0,0,0,101,154,0,0,103,151,0,0,159,5*0, - *99,100,102,150,0,0,101,103,151,0,0,0,157,0,0,160,5*0, - *152,149,150,158,0,0,154,151,159,0,0,157,160,50*0/ - L=0 - DO 9 I=1,6 - DO 10 J=1,21 - L=L+1 - IA08(I,J)=IA(L) - 10 CONTINUE - 9 CONTINUE - DATA IAA/ - *67,68,110,171,0,0,69,111,172,0,0,113,174,0,0,177,5*0, - *68,69,111,172,0,0,70,112,173,0,0,114,175,0,0,178,5*0, - *110,111,113,174,0,0,112,114,175,0,0,115,176,0,0,179,5*0, - *171,172,174,177,0,0,173,175,178,0,0,176,179,0,0,180,47*0/ - L=0 - DO 11 I=1,6 - DO 12 J=1,21 - L=L+1 - IA10(I,J)=IAA(L) - 12 CONTINUE - 11 CONTINUE -C DEFINE THE FREE PARAMETERS FOR THE MONTE-CARLO PROGRAMMES BAMJET -C PARJET HAPAQ - A1=0.88D0 - B3=6.D0 - B1=8.D0 - B2=8.D0 - ISU=4 - BET=8.D0 - AS=0.25D0 - AME=0.93D0 - LT=0 - LE=0 - B8=0.33D0 - DIQ=0.375D0 -C -C BAMJCM INITIALIZATION - DO 13 J = 1,KMXJCM - IV (J) = 0 - RE (J) = 0.D+00 - KFR1 (J) = 0 - KFR2 (J) = 0 - RPX (J) = 0.D+00 - RPY (J) = 0.D+00 - 13 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/decaux.F b/StarVMC/geant3/fluka/decaux.F deleted file mode 100644 index da63b68f5ea..00000000000 --- a/StarVMC/geant3/fluka/decaux.F +++ /dev/null @@ -1,79 +0,0 @@ -* -* $Id: decaux.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: decaux.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE DECAUX.FOR -*COPY DECAUX -* -*=== decaux ===========================================================* -* - SUBROUTINE DECAUX(NHAD,NUMU) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* Decaux89: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* -#include "geant321/finpar2.inc" -#include "geant321/auxpar.inc" -C STORE VARIABLES FROM HADPAR INTO FINPAR - DO 1 I=1,NHAD - PXF(I) = PXA(I) - PYF(I) = PYA(I) - PZF(I) = PZA(I) - HEF(I) = HEPA(I) - AMF(I) = AMA(I) - ICHF(I) = ICHA(I) - IBARF(I)= IBARA(I) - ANF(I) = ANA(I) - NREF(I) = NREA(I) -C PRINT 3358,PXA(I),PYA(I),PZA(I),HEPA(I),AMA(I),ICHA(I),IBARA(I), -C 1ANA(I),NREA(I) -C3358 FORMAT (5E15.5,2I10,A8,I10) - 1 CONTINUE -C - CALL FKDECA (NHAD,NUMU) -C - DO 2 I=1,NHAD - PXA(I) = PXF(I) - PYA(I) = PYF(I) - PZA(I) = PZF(I) - HEPA(I) = HEF(I) - AMA(I) = AMF(I) - ICHA(I) = ICHF(I) - IBARA(I)= IBARF(I) - ANA(I) = ANF(I) - NREA(I) = NREF(I) -C PRINT 3358,PXA(I),PYA(I),PZA(I),HEPA(I),AMA(I),ICHA(I),IBARA(I), -C 1ANA(I),NREA(I) - 2 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/decay.F b/StarVMC/geant3/fluka/decay.F deleted file mode 100644 index 2762e983942..00000000000 --- a/StarVMC/geant3/fluka/decay.F +++ /dev/null @@ -1,158 +0,0 @@ -* -* $Id: decay.F,v 1.1.1.2 2009/02/01 17:10:16 fisyak Exp $ -* -* $Log: decay.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:16 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLDNAME) -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*=== decay ============================================================* -* - SUBROUTINE DECAY(IHAD,ISTAB) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* Decay89: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* -#include "geant321/finpar2.inc" -#include "geant321/metlsp.inc" -#include "geant321/part.inc" -#include "geant321/decayc.inc" - COMMON /FKDREI/ TEST(12) - COMMON /FKGAMR/REDU,AMO,AMM(15) - COMMON /FKPRUN/ISYS - REAL RNDM(1) -C -C - REDU=2.D0 - DO 801 I=1,IHAD - ITS(I) = NREF(I) - PLS(I) = SQRT(PXF(I)**2 + PYF(I)**2 + PZF(I)**2) - IF (PLS(I) .NE. 0.D0) THEN - CXS(I) = PXF(I)/PLS(I) - CYS(I) = PYF(I)/PLS(I) - CZS(I) = PZF(I)/PLS(I) - END IF - ELS(I) = HEF(I) - 801 CONTINUE - IST = IHAD - IR = 0 - 200 CONTINUE -C*****TEST STABLE OR UNSTABLE -C$$$$$ISTAB=1/2/3 MEANS STRONG + WEAK DECAYS / ONLY STRONG DECAYS / -C*****STRONG DECAYS + WEAK DECAYS FOR CHARMED PARTICLES AND TAU LEPTONS - IF(ISTAB.EQ.1) GOTO 793 - IF(ISTAB.EQ.2) GOTO 737 - IF(ISTAB.EQ.3) GOTO 738 - 793 IF(ITS(IST).EQ.135.OR.ITS(IST).EQ.136) GOTO 202 - IF(ITS(IST).GE.1.AND.ITS(IST).LE.7) GOTO 202 - GOTO 300 - 738 IF(ITS(IST).GE.1.AND.ITS(IST).LE.23) GOTO 202 - IF(ITS(IST).GE. 97.AND.ITS(IST).LE.103) GOTO 202 - IF(ITS(IST).EQ.109.AND.ITS(IST).EQ.115) GOTO 202 - IF(ITS(IST).GE.133.AND.ITS(IST).LE.136) GOTO 202 - GOTO 300 - 737 IF(ITS(IST).GE. 1.AND.ITS(IST).LE. 30) GOTO 202 - IF(ITS(IST).GE. 97.AND.ITS(IST).LE.103) GOTO 202 - IF(ITS(IST).GE.115.AND.ITS(IST).LE.122) GOTO 202 - IF(ITS(IST).GE.131.AND.ITS(IST).LE.136) GOTO 202 - IF(ITS(IST).EQ.109) GO TO 202 - IF(ITS(IST).GE.137.AND.ITS(IST).LE.160) GOTO 202 - GO TO 300 - 202 IR = IR + 1 - NREF(IR) = ITS(IST) - ITT = ITS(IST) - AMF(IR) = AM(ITT) - ANF(IR) = ANAME(ITT) - ICHF(IR) = ICH(ITT) - IBARF(IR) = IBAR(ITT) - HEF(IR) = ELS(IST) - PXF(IR) = CXS(IST)*PLS(IST) - PYF(IR) = CYS(IST)*PLS(IST) - PZF(IR) = CZS(IST)*PLS(IST) - IST = IST - 1 - IF(IST .GE. 1) GO TO 200 - GO TO 500 - 300 IT = ITS(IST) - GAM = ELS(IST)/AM(IT) - BGAM = PLS(IST)/AM(IT) - ECO = AM(IT) - KZ1 = K1(IT) - 310 CONTINUE - CALL GRNDM(RNDM,1) - VV = RNDM(1) - 1.D-17 - IIK = KZ1 - 1 - 301 IIK = IIK + 1 - IF (VV.GT.WT(IIK)) GO TO 301 -C IIK IS THE DECAY CHANNEL - IT1 = NZK(IIK,1) - IT2 = NZK(IIK,2) - IF (IT2-1 .LT. 0) GO TO 110 - IT3 = NZK(IIK,3) -C IT1,IT2, IT3 ARE THE PRODUCED PARTICLES FROM IT - IF(IT3 .EQ. 0) GO TO 400 - CALL THREPD(ECO,ECM1,ECM2,ECM3,PCM1,PCM2,PCM3,COD1,COF1,SIF1,COD2, - & COF2,SIF2,COD3,COF3,SIF3,AM(IT1),AM(IT2),AM(IT3)) - GO TO 411 - 400 CALL TWOPAD(ECO,ECM1,ECM2,PCM1,PCM2,COD1,COF1,SIF1,COD2,COF2,SIF2, - & AM(IT1),AM(IT2)) - 411 CONTINUE - 110 CONTINUE - ITS(IST) = IT1 - IF (IT2-1 .LT. 0) GO TO 305 - ITS(IST+1) = IT2 - ITS(IST+2) = IT3 - RX = CXS(IST) - RY = CYS(IST) - RZ = CZS(IST) - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD1,COF1,SIF1,PCM1,ECM1, - & PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IST = IST + 1 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD2,COF2,SIF2,PCM2,ECM2, - & PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IF (IT3 .LE. 0) GO TO 305 - IST = IST + 1 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD3,COF3,SIF3,PCM3,ECM3, - & PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - 305 CONTINUE - GO TO 200 - 500 CONTINUE - IDAPU = IDMAX3 - IF(IR .GT. IDMAX3) WRITE(ISYS,928)IDAPU - 928 FORMAT(' NUMBER OF STAB. FINAL PART. IS GREATER THAN',I5) - IHAD = IR - RETURN - END -#else - SUBROUTINE DECAY_DUMMY - END -#endif diff --git a/StarVMC/geant3/fluka/difevv.F b/StarVMC/geant3/fluka/difevv.F deleted file mode 100644 index d4924bdbfb2..00000000000 --- a/StarVMC/geant3/fluka/difevv.F +++ /dev/null @@ -1,380 +0,0 @@ -* -* $Id: difevv.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: difevv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE DIFEVV.FOR -*COPY DIFEVV -* -*=== difevv ===========================================================* -* - SUBROUTINE DIFEVV ( NHAD, KPROJ, KTARG, PPROJ, EPROJ, UMO ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -*----------------------------------------------------------------------* -C -C DIFFRACTIVE HADRON -HADRON COLLISIONS -C GENERATE HADRON PRODUCTION EVENT IN KPROJ - KTARG COLLISION -C WITH LAB PROJECTILE MOMENTUM PPROJ -C -C******************************************************************** -C -#include "geant321/auxpar.inc" -#include "geant321/balanc.inc" -#include "geant321/cmsres.inc" -#include "geant321/finpar.inc" -#include "geant321/hadpar.inc" -#include "geant321/inpdat2.inc" -#include "geant321/part.inc" -#include "geant321/qquark.inc" - COMMON /FKPRIN/ IPRI, INIT - REAL RNDM(2) -C -C*******************************************************************" -C -C KINEMATICS -C -C******************************************************************** -C - IPRI = 0 - AMPROJ = AM(KPROJ) - AMTAR = AM(KTARG) -* The following are the Lorentz parameters to come from the system -* (projectile + target) rest frame to the starting one, which is the -* one where the target is at rest and the projectile is moving -* along the +z direction with Pproj: from now down to 600 continue -* we are working in the system rest frame !!! - GAMCM = (EPROJ+AMTAR)/UMO - BGCM = PPROJ/UMO -C -*or IF(IPRI.EQ.1) WRITE(LUNOUT,101)KPROJ,KTARG,PPROJ,AMPROJ,AMTAR, -*or *EPROJ,UMO,GAMCM,BGCM -*or101 FORMAT(2I5,10F11.5) -C -C - IBPROJ = IBAR(KPROJ) - IBTARG = IBAR(KTARG) -C -C -C===================================================================== -C -C SAMPLE X-VALUES OF QUARK-ANTIQUARK PAIRS -C -C====================================================================== - IF ( KPROJ .GT. 2 ) THEN - UNOSEA = 5.D+00 - ELSE - UNOSEA = 3.D+00 - END IF -* Come here if we need to resample xsea and xasea!! - 211 CONTINUE - TMP005 = 0.05D+00 - XSEA = BETARN(TMP005,UNOSEA) - XASEA = BETARN(TMP005,UNOSEA) - XPIO = XSEA+XASEA - IF (XPIO .GE. 1.D+00) GO TO 211 - XHAD = 1.D+00 - XPIO - CALL GRNDM(RNDM,1) - ISAM = 2.D+00 * RNDM(1) + 1.D+00 -*or IF (IPRI.EQ.1) WRITE(LUNOUT,371)XSEA,XASEA,XPIO,XHAD,ISAM -*or 371 FORMAT (' XSEA,XASEA,XPIO,XHAD,ISAM',4F10.5,I10) -C===================================================================== -C -C CALL EQUIVALENT PIO HADRON COLLISIONS -C -C===================================================================== - GO TO (250,260),ISAM -* +-------------------------------------------------------------------* -* | Target excited !!!! - 250 CONTINUE - LPRDIF = .TRUE. -C======================================================================= -C PROJECTILE MOVING WITH XHAD, TARGET EXCITED -C======================================================================= - IIDIF = 1 - AMCH = SQRT (XPIO) * UMO - BITBIT = 0.5D+00 -* | +----------------------------------------------------------------* -* | | The following condition roughly guarantees 1 GeV for the total -* | | energy of the pseudo-pion! - IF ( AMCH .LE. AMTAR + BITBIT ) THEN - AMCH = AMTAR + BITBIT - XPIO = ( AMCH / UMO )**2 - XHAD = 1.D+00 - XPIO - END IF -* | | -* | +----------------------------------------------------------------* -* | The following instructions make the division of the invariant -* | mass of the system between the two particles, the two resulting -* | energies being Eh1s and Eh2ex and the momentum Ph1s: the two -* | particles are the original projectile and the excited target, -* | ("mass" = amch) - EH1S = (UMO**2 + AMPROJ**2 - AMCH**2) / (2.D0*UMO) - IF (EH1S .LE. AMPROJ) GO TO 211 - EH2EX = UMO - EH1S - PH1S = SQRT (EH1S**2 - AMPROJ**2) -C*** AND INT. CHAIN TRANSVERSE MOMENTA - B3SAVE = B3BAMJ - CALL GRNDM(RNDM,2) - ES = -2.D0/(B3BAMJ**2)*LOG(RNDM(1)*RNDM(2)) - HPS = SQRT(ES*ES+2.D0*ES*AMTAR) - CALL SFECFE(SFE,CFE) - PTXCH1 = HPS * CFE - PTYCH1 = HPS * SFE -6171 CONTINUE - PX1 = PTXCH1 - PY1 = PTYCH1 - ACH = PH1S**2 - PX1**2 - PY1**2 - IF (ACH .LE. 0.D+00) THEN - PTXCH1 = 0.75D+00 * PTXCH1 - PTYCH1 = 0.75D+00 * PTYCH1 - GO TO 6171 - END IF - PZ1 = SQRT (ACH) -* | Now transform back the excited target to the lab system - ECHCK = GAMCM * EH2EX - BGCM * PZ1 - PXCHCK = - PX1 - PYCHCK = - PY1 - PZCHCK = - GAMCM * PZ1 + BGCM * EH2EX -* | Now ..chck are the kinematical variables of the excited target -* | in the lab frame, the invariant mass is always Amch - CALL GRNDM(RNDM,1) - IF (RNDM (1) .LE. 0.5D+00 ) THEN - KPIO = 26 - ELSE - KPIO = 23 - END IF - AMPIO = AM (KPIO) - EPIOL = 0.5D+00 * ( AMCH**2 - AMPIO**2 - AMTAR**2 ) / AMTAR - PPIOL = SQRT ( EPIOL**2 - AMPIO**2 ) - ETOTX = EPIOL + AMTAR - AAFACT = ECHCK + ETOTX - BBFACT = PPIOL - PZCHCK - DDENOM = ETOTX * AAFACT - PPIOL * BBFACT - GAM1 = ( ECHCK * AAFACT + PPIOL * BBFACT ) / DDENOM - BGZ1 = - BBFACT * AAFACT / DDENOM - BGX1 = PXCHCK * ( GAM1 + 1.D+00 ) / AAFACT - BGY1 = PYCHCK * ( GAM1 + 1.D+00 ) / AAFACT - CALL HADEVV ( NHAD, KPIO, KTARG, PPIOL, EPIOL, AMCH ) -* Restore the original b3bamj parameter - B3BAMJ = B3SAVE -C PRINT 888,PX1,PY1,PZ1,EH2EX -C PRINT 888,PXX1,PYY1,PZZ1,EXXX -C 888 FORMAT(4F12.4) -* | The following to go back to the original (lab) frame -* | +----------------------------------------------------------------* -* | | Looping over the produced particles - DO 800 I=1,NHAD - CALL ALTRA ( GAM1, BGX1, BGY1, BGZ1, PXH(I), PYH(I), PZH(I), - & HEPH(I), PLR, PLRX, PLRY, PLRZ, ELR ) - PXH(I) = PLRX - PYH(I) = PLRY - PZH(I) = PLRZ - HEPH(I) = ELR -* | | Updating conservation counters - 800 CONTINUE -* | -* +-------------------------------------------------------------------* -* | Add the original projectile to the final particles, transforming -* | it back to the lab system - NHAD = NHAD+1 - PXH (NHAD) = PX1 - PYH (NHAD) = PY1 - PZH (NHAD) = GAMCM * PZ1 + BGCM * EH1S - HEPH (NHAD) = GAMCM * EH1S + BGCM * PZ1 - AMH (NHAD) = AMPROJ - ICHH (NHAD) = ICH (KPROJ) - IBARH(NHAD) = IBAR (KPROJ) - ANH (NHAD) = ANAME(KPROJ) - NREH (NHAD) = KPROJ - GO TO 600 -* | end of excited target treatment !! -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | Excited projectile !!!!!! - 260 CONTINUE - LPRDIF = .FALSE. -C======================================================================= -C THE TARGET PARTICLE GETS XHAD , THE PROJECTILE BECOMES EXCITED -C WE GO TO THE PROJECTILE REST FRAME -C======================================================================= - IIDIF = 2 - AMCH = SQRT (XPIO) * UMO - MK = 0 - DO 270 IQ = 1, 3 - MK = MK + ABS ( IQSCHR ( MQUARK ( IQ, KPTOIP(KPROJ) ) ) ) - 270 CONTINUE - BITBIT = 0.5D+00 + 0.2D+00 * MK -* | +----------------------------------------------------------------* -* | | The following condition roughly guarantees 1 GeV for the total -* | | energy of the pseudo-pion if the projectile has no strangeness -* | | a bit more if it has - IF ( AMCH .LE. AMPROJ + BITBIT ) THEN - AMCH = AMPROJ + BITBIT - XPIO = ( AMCH / UMO )**2 - XHAD = 1.D+00 - XPIO - END IF -* | | -* | +----------------------------------------------------------------* -* | The following instructions make the division of the invariant -* | mass of the system between the two particles, the two resulting -* | energies being Eh1s and Eh2ex and the momentum Ph1s: the two -* | particles are the target nucleon and the excited projectile, -* | ("mass" = amch) - EH1S = (UMO**2 + AMTAR**2 - AMCH**2) / (2.D+00*UMO) - IF (EH1S .LE. AMTAR) GO TO 211 - EH2EX = UMO-EH1S - PH1S = SQRT (EH1S**2 - AMTAR**2) -C*** AND INT. CHAIN TRANSVERSE MOMENTA - B3SAVE = B3BAMJ - CALL GRNDM(RNDM,2) - ES = -2.D0/(B3BAMJ**2)*LOG(RNDM(1)*RNDM(2)) - HPS = SQRT(ES*ES+2.D0*ES*AMPROJ) - CALL SFECFE(SFE,CFE) - PTXCH1 = HPS * CFE - PTYCH1 = HPS * SFE -6181 CONTINUE - PX1 = PTXCH1 - PY1 = PTYCH1 - ACH = PH1S**2 - PX1**2 - PY1**2 - IF (ACH .LE. 0.D+00) THEN - PTXCH1 = 0.75D+00 * PTXCH1 - PTYCH1 = 0.75D+00 * PTYCH1 - GO TO 6181 - END IF - PZ1 = SQRT (ACH) -* | Now transform back the excited projectile to the lab system - ECHCK = GAMCM * EH2EX + BGCM * PZ1 - PXCHCK = PX1 - PYCHCK = PY1 - PZCHCK = GAMCM * PZ1 + BGCM * EH2EX -* | Now ..chck are the kinematical variables of the excited projectile -* | in the lab frame, the invariant mass is always Amch - CALL GRNDM(RNDM,1) - IF (RNDM (1) .LE. 0.5D+00 ) THEN - KPIO = 26 - ELSE - KPIO = 23 - END IF - AMPIO = AM (KPIO) - EPIOL = 0.5D+00 * ( AMCH**2 - AMPIO**2 - AMPROJ**2 ) / AMPROJ - PPIOL = SQRT ( EPIOL**2 - AMPIO**2 ) - ETOTX = EPIOL + AMPROJ - AAFACT = ECHCK + ETOTX - BBFACT = PPIOL - PZCHCK - DDENOM = ETOTX * AAFACT - PPIOL * BBFACT - GAM1 = ( ECHCK * AAFACT + PPIOL * BBFACT ) / DDENOM - BGZ1 = - BBFACT * AAFACT / DDENOM - BGX1 = PXCHCK * ( GAM1 + 1.D+00 ) / AAFACT - BGY1 = PYCHCK * ( GAM1 + 1.D+00 ) / AAFACT - CALL HADEVV ( NHAD, KPIO, KPROJ, PPIOL, EPIOL, AMCH ) -* Restore the original b3bamj parameter - B3BAMJ = B3SAVE -C PRINT 888,PX1,PY1,PZ1,EH2EX -C PRINT 888,PXX1,PYY1,PZZ1,EXXX -* | The following to go back to the original (lab) frame -* | +----------------------------------------------------------------* -* | | Looping over the produced particles - DO 900 I=1,NHAD - CALL ALTRA ( GAM1, BGX1, BGY1, BGZ1, PXH(I), PYH(I), PZH(I), - & HEPH(I), PLR, PLRX, PLRY, PLRZ, ELR ) - PXH(I) = PLRX - PYH(I) = PLRY - PZH(I) = PLRZ - HEPH(I) = ELR -* | | Updating conservation counters - 900 CONTINUE -* | -* +-------------------------------------------------------------------* -* | Add the target nucleon to the final particles, transforming -* | it back to the lab system - NHAD = NHAD + 1 - PXH (NHAD) = - PX1 - PYH (NHAD) = - PY1 - PZH (NHAD) = - GAMCM * PZ1 + BGCM * EH1S - HEPH (NHAD) = GAMCM * EH1S - BGCM * PZ1 - AMH (NHAD) = AMTAR - ICHH (NHAD) = ICH (KTARG) - IBARH(NHAD) = IBAR (KTARG) - ANH (NHAD) = ANAME(KTARG) - NREH (NHAD) = KTARG - GO TO 600 -* | end of excited projectile !!! -* +-------------------------------------------------------------------* - 600 CONTINUE -C -C******************************************************************** -C -C*** PRINT AND TEST ENERGY CONSERVATION -C -C******************************************************************** -C - PUZZ = 0.D+00 - EUZZ = 0.D+00 - PUXX = 0.D+00 - PUYY = 0.D+00 - ICUU = 0 - IBUU = 0 - DO 82 I=1,NHAD - PUXX = PUXX + PXH(I) - PUYY = PUYY + PYH(I) - PUZZ = PUZZ + PZH(I) - EUZZ = EUZZ + HEPH(I) - ICUU = ICUU + ICHH(I) - IBUU = IBUU + IBARH(I) - 82 CONTINUE - ICHTOT=ICH(KPROJ)+ICH(KTARG) - IBTOT =IBAR(KPROJ)+IBAR(KTARG) - PCHMIN = 1.D-10 * PPROJ - IF ((ABS(PUXX) .GE. PCHMIN) .OR. (ABS(PUYY) .GE. PCHMIN) .OR. - & (ABS(PUZZ-PPROJ) .GE. PCHMIN) .OR. (ABS(EPROJ+AMTAR-EUZZ) .GE. - & 1.D-10*EUZZ) .OR. (ICHTOT .NE. ICUU) .OR. (IBTOT .NE. IBUU)) - & THEN - WRITE(LUNERR,*) - & ' Difevt: failure!!!: NHAD, KPROJ, KTARG, IIDIF: ', - & NHAD, KPROJ, KTARG, IIDIF - WRITE(LUNERR,*)' ', - & 'ICHTOT, ICUU, IBTOT, IBUU: ', - & ICHTOT, ICUU, IBTOT, IBUU - WRITE(LUNERR,*)' ', - & 'PPROJ, PUXX, PUYY, PUZZ: ', - & PPROJ, PUXX, PUYY, PUZZ - WRITE(LUNERR,*)' EPROJ, EUZZ: ', - & EPROJ, EUZZ - END IF - IF (IPRI .NE. 1) GO TO 90 - DO 84 I=1,NHAD - WRITE(LUNERR,85)I,NREH(I),ICHH(I),IBARH(I),ANH(I), - & PXH(I),PYH(I),PZH(I),HEPH(I),AMH(I) - 85 FORMAT (4I5,A8,5F12.6) - 84 CONTINUE - 90 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/dost.F b/StarVMC/geant3/fluka/dost.F deleted file mode 100644 index 149dcabd40b..00000000000 --- a/StarVMC/geant3/fluka/dost.F +++ /dev/null @@ -1,56 +0,0 @@ -* -* $Id: dost.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: dost.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE DOST.FOR -*COPY DOST -* * -*=== dost==============================================================* -* * - FUNCTION DOST(I,Z) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C-------------------------------------------------------------------- -C SUBNAME = DOST -C-------------------------------------------------------------------- -#include "geant321/eva0.inc" -C-------------------------------------------------------------------- - IF(Z-70.D0)1,2,2 - 2 DOST=T(I,7) - 3 RETURN - 1 IF(Z-10.D0)5,5,6 - 5 DOST=T(I,1) - GOTO3 - 6 N=.1D0*Z+1.D0 - X=10*N - X=(X-Z)*.1D0 - DOST=X*T(I,N-1)+(1.D0-X)*T(I,N) - GOTO3 - END diff --git a/StarVMC/geant3/fluka/drelab.F b/StarVMC/geant3/fluka/drelab.F deleted file mode 100644 index d4a594a5156..00000000000 --- a/StarVMC/geant3/fluka/drelab.F +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: drelab.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: drelab.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE DRELAB.FOR -*COPY DRELAB -* -*=== drelab ===========================================================* -* - SUBROUTINE DRELAB(X,Y,Z,COTE,SITE,COPS,SIPS) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - X1=COPS*X-SIPS*COTE*Y+SIPS*SITE*Z - X2=SIPS*X+COPS*COTE*Y-COPS*SITE*Z - X3=SITE*Y+COTE*Z - X=X1 - Y=X2 - Z=X3 - RETURN - END diff --git a/StarVMC/geant3/fluka/dres.F b/StarVMC/geant3/fluka/dres.F deleted file mode 100644 index a5b5599ef24..00000000000 --- a/StarVMC/geant3/fluka/dres.F +++ /dev/null @@ -1,1041 +0,0 @@ -* -* $Id: dres.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: dres.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLDNAME) -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*=== dres =============================================================* -* * - SUBROUTINE DRES ( M2, M3, T1, U, EREC, LOPPAR, JFISS ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* New version of DRES created by A.Ferrari & P.Sala, INFN - Milan * -* * -* Last change on 10-apr-93 by Alfredo Ferrari, INFN - Milan * -* * -* Dres93: Dres91 plus the RAL fission model taken from LAHET thanks * -* to R.E.Prael * -* Dres91: new version from A. Ferrari and P. Sala, INFN - Milan * -* This routine has been adapted from the original one of the * -* Evap-5 module (KFA - Julich). Main modifications concern * -* with kinematics which is now fully relativistic and with * -* the treatment of few nucleons nuclei, which are now frag- * -* mented, even though in a very rough manner. Changes have * -* been made also to other routines of the Evap-5 package * -* * -*----------------------------------------------------------------------* -* -*----------------------------------------------------------------------* -* * -* Input variables: * -* M2 = Mass number of the residual nucleus * -* M3 = Atomic number of the residual nucleus * -* T1 = Excitation energy of the residual nucleus before evaporation* -* U = Excitation energy of the residual nucleus after evaporation * -* Erec = Recoil kinetic energy of the residual nucleus * -* The recoil direction is given by Coslbr (i) * -* * -* Significant variables: * -* JA = Present mass number of the residual nucleus * -* JZ = Present atomic number of the residual nucleus * -* Smom1 = Energy accumulators for the six types of evaporated * -* particles * -* * -* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -* !!!! Please note that the following variables concerning !!!! * -* !!!! with the present residual nucleus must be set before!!!! * -* !!!! entering DRES91: Ammres, Ptres !!!! * -* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -* * -*----------------------------------------------------------------------* -* -C--------------------------------------------------------------------- -C SUBNAME = DRES --- EVAPORATION -C EVAPORATION DATA SHOUD BE READ ON INPUT STAGE -C--------------------------------------------------------------------- -C*****A LA EVAP III(TWA,8-68) -#include "geant321/eva0.inc" -#include "geant321/eva1.inc" -#include "geant321/forcn.inc" -#include "geant321/higfis.inc" -#include "geant321/inpflg.inc" -#include "geant321/labcos.inc" -#include "geant321/nucdat.inc" -#include "geant321/resnuc.inc" - DIMENSION ZMASS (6), Z2MASS(6), C(3), Q(0:6), FLKCOU(6), CCOUL(6), - & THRESH(6), SMALLA(6), R(6), S (6), SOS (6), STRUN(6), - & EYE1 (6), EYE0 (6), SMOM1 (6), BNMASS(6) - DIMENSION CORRRR(6) - REAL RNDM(2) - LOGICAL LOPPAR, PENBAR, LFIRST - SAVE ZMASS, Z2MASS, EMHN, EMNUM, UM, AMUMEV, AMEMEV, QBRBE8, - & BNMASS, IEVEVP, NBE8, NRNEEP, LFIRST - DATA IEVEVP / 0 / - DATA LFIRST / .TRUE. / -* - IEVEVP = IEVEVP + 1 -C-------------------------------------- 1.ST CALL INIT - IF ( LFIRST ) THEN - LFIRST = .FALSE. - FKEY = ZERZER - NBE8 = 0 - NRNEEP = 0 - EXMASS(1) = 1.D+03 * ( AMNEUT - AMUAMU ) - EXMASS(2) = ENERGY ( ONEONE, ONEONE ) - EXMASS(3) = ENERGY ( TWOTWO, ONEONE ) - EXMASS(4) = ENERGY ( THRTHR, ONEONE ) - EXMASS(5) = ENERGY ( THRTHR, TWOTWO ) - EXMASS(6) = ENERGY ( FOUFOU, TWOTWO ) - ZMASS(1) = 1.D+03 * AMUAMU + EXMASS (1) - ZMASS(2) = 1.D+03 * AMUAMU + EXMASS (2) - ZMASS(3) = 2.D+03 * AMUAMU + EXMASS (3) - ZMASS(4) = 3.D+03 * AMUAMU + EXMASS (4) - ZMASS(5) = 3.D+03 * AMUAMU + EXMASS (5) - ZMASS(6) = 4.D+03 * AMUAMU + EXMASS (6) - BNMASS (1) = 0.D+00 - BNMASS (2) = 0.D+00 - BNMASS (3) = ZMASS (1) + ZMASS (2) - ZMASS (3) - BNMASS (4) = TWOTWO * ZMASS (1) + ZMASS (2) - ZMASS (4) - BNMASS (5) = ZMASS (1) + TWOTWO * ZMASS (2) - ZMASS (5) - BNMASS (6) = TWOTWO * ( ZMASS (1) + ZMASS (2) ) - ZMASS (6) - DO 1234 KK = 1,6 - Z2MASS (KK) = ZMASS (KK) * ZMASS (KK) -1234 CONTINUE - AMUMEV = 1.D+03 * AMUAMU - AMEMEV = 1.D+03 * AMELEC - QBRBE8 = ENERGY ( EIGEIG, FOUFOU ) - TWOTWO * EXMASS (6) - EMN = 1.D+03 * AMNEUT - EMH = ZMASS (2) - TMP16 = 16.D+00 - UM = AMUMEV + ENERGY ( TMP16, EIGEIG ) / 16.D+00 - EMHN = EMH - EMN - EMNUM = EMN - UM - END IF -* | End of initialization: -* +-------------------------------------------------------------------* -C --------------------------------- START OF PROCESS -* +-------------------------------------------------------------------* -* | Initialize Npart and Smom if nothing has been already evaporated -* | for this event - IF ( JFISS .LE. 0 ) THEN - DO 775 I=1,6 - NPART(I) = 0 - SMOM1(I) = ZERZER - 775 CONTINUE - END IF -* | -* +-------------------------------------------------------------------* - JA = M2 - JZ = M3 - U = T1 - RNMASS = 1.D+03 * AMMRES + U -* P2res and Ptres are the squared momentum and the momentum of the -* residual nucleus (now in relativistic kinematics), Umo the -* invariant mass of the system! - UMO = RNMASS - UMO2 = UMO * UMO - ELBTOT = RNMASS + EREC - GAMCM = ELBTOT / RNMASS - ETACM = 1.D+03 * PTRES / RNMASS - HEVSUM = ZERZER - 1000 CONTINUE - LOPPAR = .FALSE. -* +-------------------------------------------------------------------* -* | Check for starting data inconsistencies - IF (JA-JZ .LT. 0) THEN - WRITE(LUNOUT,6401) - WRITE(LUNERR,6401) - 6401 FORMAT('1 Dres: cascade residual nucleus has mass no. less', - & ' than Z!!') - RETURN -* | -* +-------------------------------------------------------------------* -* | Rough treatment for very few nucleon residual -* | nuclei. The basic ideas are: -* | a) as many as possible alpha particles are emitted -* | b) particles are emitted one per time leaving a residual -* | excitation energy proportional to number of nucleons -* | left in the residual nucleus (so we deal only with -* | two body kinematics) -* | T A K E I N T O A C C O U N T T H A T T H I S -* | T R E A T M E N T I S E X T R E M E L Y R O U G H -* | T H E T A S K B E I N G O N L Y T O S U P P L Y -* | S O M E T H I N G T O S H A R E E N E R G Y A N D -* | M O M E N T U M A M O N G A F E W F R A G M E N T S - ELSE IF ( JA .LE. 6 .OR. JZ .LE. 2 ) THEN -* | 1000 continue moved above according to FCA suggestion -*1000 CONTINUE - JRESID = 0 - IF ( JA .GT. 4 ) GO TO 2000 -* | +----------------------------------------------------------------* -* | | First check we are not concerning with a couple of neutrons or -* | | protons - IF ( JA .EQ. 2 .AND. JZ .NE. 1 ) THEN - JEMISS = 1 + JZ / 2 - JRESID = JEMISS - RNMASS = ZMASS (JRESID) - U = 0.D+00 - DELTU = UMO - 2.D+00 * ZMASS (JEMISS) -* | | +-------------------------------------------------------------* -* | | | - IF ( DELTU .LE. 0.D+00 ) THEN - IF ( DELTU .LT. - 2.D+00 * ANGLGB * UMO ) THEN - WRITE ( LUNERR, * )' *** Dres: insufficient Umo for', - & ' a nucleon couple', UMO, - & 2.D+00 * ZMASS (JEMISS) - END IF - UMO = ( UMO + DELTU ) * ( 1.D+00 + ANGLGB ) - END IF -* | | | -* | | +-------------------------------------------------------------* - GO TO 2500 - END IF -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | Then check we are not concerning with one of the six -* | | standard particles - DO 1700 J = 6, 1, -1 -* | | +-------------------------------------------------------------* -* | | | - IF ( JZ .EQ. IZ (J) .AND. JA .EQ. IA (J) ) THEN - HEVSUM = SMOM1(3) + SMOM1(5) + SMOM1(6) + SMOM1(4) - GO TO ( 1100, 1100, 1600, 1500, 1400, 1300 ), J -* | | | +----------------------------------------------------------* -* | | | | Proton or neutron, nothing can be done - 1100 CONTINUE - RETURN -* | | | +----------------------------------------------------------* -* | | | | Alpha: - 1300 CONTINUE - DEUDEU = MAX ( ZERZER, U + TWOTWO * BNMASS (3) - & - BNMASS (6) ) - PROTRI = MAX ( ZERZER, U + BNMASS (4) - BNMASS (6) ) - UEU3HE = MAX ( ZERZER, U + BNMASS (5) - BNMASS (6) ) - QNORM = DEUDEU + PROTRI + UEU3HE -* | | | | If we cannot split then return - IF ( QNORM .LE. ZERZER ) RETURN - CALL GRNDM(RNDM,1) - V = RNDM (1) -* | | | | +-------------------------------------------------------* -* | | | | | Split or into two deuterons or a triton and a proton -* | | | | | or a 3-He and a neutron: no account is made for -* | | | | | Coulomb effects, probability is simply assumed -* | | | | | proportional to reaction Qs - IF ( V .LT. DEUDEU / QNORM ) THEN -* | | | | | Two deuterons selected - JEMISS = 3 - JRESID = 3 - RNMASS = ZMASS (3) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Split into a triton and a proton - ELSE IF ( V .LT. ( DEUDEU + PROTRI ) / QNORM ) THEN - JEMISS = 2 - JRESID = 4 - RNMASS = ZMASS (4) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Split into a 3-He and a neutron - ELSE - JEMISS = 1 - JRESID = 5 - RNMASS = ZMASS (5) - U = ZERZER - GO TO 2500 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* -* | | | | 3-He: - 1400 CONTINUE - DEUPRO = MAX ( ZERZER, U + BNMASS (3) - BNMASS (5) ) - PRPRNE = MAX ( ZERZER, U - BNMASS (5) ) - QNORM = DEUPRO + PRPRNE -* | | | | If we cannot split then return - IF ( QNORM .LE. ZERZER ) RETURN - CALL GRNDM(RNDM,1) - V = RNDM (1) -* | | | | +-------------------------------------------------------* -* | | | | | Split or into a deuteron and a proton -* | | | | | or into two protons and one neutron: no account is -* | | | | | made for Coulomb effects, probability is simply assumed -* | | | | | prportional to reaction Qs - IF ( V .LT. DEUPRO / QNORM ) THEN -* | | | | | A deuteron and a proton selected - JEMISS = 2 - JRESID = 3 - RNMASS = ZMASS (3) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Split into 2 protons and 1 neutron: part of the exci- -* | | | | | tation energy is conserved to allow the further -* | | | | | splitting of the deuteron - ELSE - JEMISS = 2 - JRESID = 0 - FACT = ONEONE -* | | | | | +----------------------------------------------------* -* | | | | | | Loop to compute the residual excitation energy - 1450 CONTINUE - FACT = FACT * 0.6666666666666667D+00 -* | | | | | | Erncm, Eepcm are the total energies of the residual -* | | | | | | nucleus and of the emitted particle in the CMS frame - U = FACT * PRPRNE + BNMASS (3) - RNMASS = ZMASS (3) + U - ERNCM = HLFHLF * ( UMO2 + RNMASS**2 - & - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - IF ( EEPCM .LE. ZMASS (JEMISS) ) GO TO 1450 -* | | | | | | -* | | | | | +----------------------------------------------------* - GO TO 2600 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* -* | | | | Triton: - 1500 CONTINUE - DEUNEU = MAX ( ZERZER, U + BNMASS (3) - BNMASS (4) ) - PRNENE = MAX ( ZERZER, U - BNMASS (4) ) - QNORM = DEUNEU + PRNENE -* | | | | If we cannot split then return - IF ( QNORM .LE. ZERZER ) RETURN - CALL GRNDM(RNDM,1) - V = RNDM (1) -* | | | | +-------------------------------------------------------* -* | | | | | Split or into a deuteron and a neutron -* | | | | | or into two protons and one neutron: no account is -* | | | | | made for Coulomb effects, probability is simply assumed -* | | | | | proportional to reaction Qs - IF ( V .LT. DEUNEU / QNORM ) THEN -* | | | | | A deuteron and a proton selected - JEMISS = 1 - JRESID = 3 - RNMASS = ZMASS (3) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Split into 1 proton and 2 neutrons: part of the exci- -* | | | | | tation energy is conserved to allow the further -* | | | | | splitting of the deuteron - ELSE - JEMISS = 1 - JRESID = 0 - FACT = ONEONE -* | | | | | +----------------------------------------------------* -* | | | | | | Loop to compute the residual excitation energy - 1550 CONTINUE - FACT = FACT * 0.6666666666666667D+00 -* | | | | | | Erncm, Eepcm are the total energies of the residual -* | | | | | | nucleus and of the emitted particle in the CMS frame - U = FACT * PRNENE + BNMASS (3) - RNMASS = ZMASS (3) + U - ERNCM = HLFHLF * ( UMO2 + RNMASS**2 - & - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - IF ( EEPCM .LE. ZMASS (JEMISS) ) GO TO 1550 -* | | | | | | -* | | | | | +----------------------------------------------------* - GO TO 2600 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* -* | | | | Deuteron: - 1600 CONTINUE -* | | | | +-------------------------------------------------------* -* | | | | | Split into a proton and a neutron if it is possible - IF ( U .GT. BNMASS (3) ) THEN - JEMISS = 1 - JRESID = 2 - RNMASS = ZMASS (2) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Energy too low to split the deuteron, return - ELSE - WRITE (LUNERR,*)' **Dres: energy too low to split', - & ' a deuteron! M2,M3',M2,M3 - RETURN - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - END IF -* | | | -* | | +-------------------------------------------------------------* - 1700 CONTINUE -* | | -* | +----------------------------------------------------------------* - 2000 CONTINUE - A = JA - Z = JZ - Q (0) = ZERZER - ENERG0 = ENERGY (A,Z) -* | +----------------------------------------------------------------* -* | | Note that Q(i) are not the reaction Qs but the remaining -* | | energy after the reaction - DO 2100 K = 1, 6 - JJA = JA - IA (K) - JJZ = JZ - IZ (K) - JJN = JJA - JJZ - IF ( JJN .LT. 0 .OR. JJZ .LT. 0 ) THEN - Q (K) = Q (K-1) - GO TO 2100 - END IF - DDJJA = JJA - DDJJZ = JJZ - Q (K) = MAX ( U + ENERG0 - ENERGY ( DDJJA, DDJJZ ) - & - EXMASS (K), ZERZER ) + Q (K-1) - 2100 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | If no emission channel is open then return - IF ( Q (6) .LE. ZERZER ) THEN - HEVSUM = SMOM1(3) + SMOM1(5) + SMOM1(6) + SMOM1(4) - RETURN - END IF -* | | -* | +----------------------------------------------------------------* - CALL GRNDM(RNDM,1) - V = RNDM (1) - FACT = ONEONE -* | +----------------------------------------------------------------* -* | | - DO 2200 J = 1, 6 -* | | +-------------------------------------------------------------* -* | | | - IF ( V .LT. Q (J) / Q (6) ) THEN - JEMISS = J - JJA = JA - IA (JEMISS) - JJZ = JZ - IZ (JEMISS) -* | | | +----------------------------------------------------------* -* | | | | - DO 2150 JJ = 1, 6 -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( JJA .EQ. IA (JJ) .AND. JJZ .EQ. IZ (JJ) ) THEN - JRESID = JJ - RNMASS = ZMASS (JRESID) - ERNCM = HLFHLF * ( UMO2 + Z2MASS (JRESID) - & - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - U = ZERZER - GO TO 2600 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - 2150 CONTINUE -* | | | | -* | | | +----------------------------------------------------------* - AJJA = JJA - ZJJZ = JJZ - RNMAS0 = AJJA * AMUMEV + ENERGY ( AJJA, ZJJZ ) - GO TO 2300 - END IF -* | | | -* | | +-------------------------------------------------------------* - 2200 CONTINUE -* | | -* | +----------------------------------------------------------------* - WRITE ( LUNOUT,* )' **** error in Dres, few nucleon treatment', - & ' ****' - WRITE ( LUNERR,* )' **** error in Dres, few nucleon treatment', - & ' ****' - RETURN -* | +----------------------------------------------------------------* -* | | Loop to compute the residual excitation energy - 2300 CONTINUE - FACT = FACT * AJJA / A - U = FACT * ( Q (JEMISS) - Q (JEMISS-1) ) -* | | Erncm, Eepcm are the total energies of the residual -* | | nucleus and of the emitted particle in the CMS frame - RNMASS = RNMAS0 + U - ERNCM = HLFHLF * ( UMO2 + RNMASS**2 - & - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - IF ( EEPCM .LE. ZMASS (JEMISS) ) THEN - IF ( Q (JEMISS) - Q (JEMISS-1) .GE. 1.D-06 ) GO TO 2300 -* | +--<--<--<--<--<--< Loop back -* | | Actually there is no excitation energy available! - U = ANGLGB - RNMASS = ONEPLS * RNMAS0 - ERNCM = ONEPLS * RNMASS - EEPCM = ONEPLS * ZMASS (JEMISS) - END IF -* | | -* | +----------------------------------------------------------------* - GO TO 2600 -* | From here standard two bodies kinematics with Jemiss, Rnmass -* | (new excitation energy is U) - 2500 CONTINUE -* | Erncm, Eepcm are the total energies of the residual -* | nucleus and of the emitted particle in the CMS frame - ERNCM = HLFHLF * ( UMO2 + RNMASS**2 - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - 2600 CONTINUE -* | C(i) are the direction cosines of the emitted particle -* | (Jemiss) in the CMS frame, of course - C(i) -* | are the ones of the residual nucleus (Jresid if one of the -* | standard partcles, say the proton) - CALL RACO (C(1),C(2),C(3)) - PCMS = SQRT ( EEPCM**2 - Z2MASS (JEMISS) ) -* | Now we perform the Lorentz transformation back to the original -* | frame (lab frame) -* | First the emitted particle: - ETAX = ETACM * COSLBR (1) - ETAY = ETACM * COSLBR (2) - ETAZ = ETACM * COSLBR (3) - PCMSX = PCMS * C (1) - PCMSY = PCMS * C (2) - PCMSZ = PCMS * C (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - EPS = GAMCM * EEPCM + ETAPCM - ZMASS (JEMISS) - PHELP = ETAPCM / ( GAMCM + ONEONE ) + EEPCM - PLBPX = PCMSX + ETAX * PHELP - PLBPY = PCMSY + ETAY * PHELP - PLBPZ = PCMSZ + ETAZ * PHELP - PHELP = SQRT (PLBPX * PLBPX + PLBPY * PLBPY + PLBPZ * PLBPZ) - COSLBP (1) = PLBPX / PHELP - COSLBP (2) = PLBPY / PHELP - COSLBP (3) = PLBPZ / PHELP -* | Then the residual nucleus ( for it c (i) --> - c (i) ): - EREC = GAMCM * ERNCM - ETAPCM - RNMASS - EKRES = 1.D-03 * EREC - PHELP = - ETAPCM / ( GAMCM + ONEONE ) + ERNCM - PXRES = 1.D-03 * ( - PCMSX + ETAX * PHELP ) - PYRES = 1.D-03 * ( - PCMSY + ETAY * PHELP ) - PZRES = 1.D-03 * ( - PCMSZ + ETAZ * PHELP ) - P2RES = PXRES * PXRES + PYRES * PYRES + PZRES * PZRES - PTRES = SQRT (P2RES) - COSLBR (1) = PXRES / PTRES - COSLBR (2) = PYRES / PTRES - COSLBR (3) = PZRES / PTRES -* | Score the emitted particle - NPART (JEMISS) = NPART (JEMISS) + 1 - SMOM1 (JEMISS) = SMOM1 (JEMISS) + EPS - ITEMP=NPART(JEMISS) - EPART(ITEMP,JEMISS)=EPS - COSEVP(1,ITEMP,JEMISS)=COSLBP(1) - COSEVP(2,ITEMP,JEMISS)=COSLBP(2) - COSEVP(3,ITEMP,JEMISS)=COSLBP(3) -* | +----------------------------------------------------------------* -* | | Check if the residual nucleus is one of the emitted particles - IF ( JRESID .GT. 0 ) THEN - J = JRESID - GO TO 6102 - END IF -* | | -* | +----------------------------------------------------------------* - JA = JA - IA (JEMISS) - JZ = JZ - IZ (JEMISS) -* Umo is the invariant mass of the system!! - UMO = RNMASS - UMO2 = UMO * UMO - ELBTOT = RNMASS + EREC - GAMCM = ELBTOT / RNMASS - ETACM = 1.D+03 * PTRES / RNMASS - GO TO 1000 - END IF -* | -* +-------------------------------------------------------------------* -* Come to 23 at the beginning and after the end of a "normal" -* evaporation cycle - 23 CONTINUE - A = JA - Z = JZ - IF(JA-8)8486,8488,8486 - 8488 CONTINUE - IF(JZ-4)8486,1224,8486 - 8486 CONTINUE - DO 2 K=1,6 - IF((A-FLA(K)).LE.(Z-FLZ(K))) THEN - Q(K)=99999.D0 - GO TO 2 - END IF - IF(A-TWOTWO*FLA(K))2,727,727 - 727 CONTINUE - IF(Z-TWOTWO*FLZ(K))2,728,728 - 728 CONTINUE - Q(K) = QNRG(A-FLA(K),Z-FLZ(K),A,Z) + EXMASS(K) -C 728 Q(K)=ENERGY(A-FLA(K),Z-FLZ(K))-ENERGY(A,Z)+EXMASS(K) - 2 CONTINUE - FLKCOU(1)=ZERZER - FLKCOU(2)=DOST(1,Z-FLZ(2)) - FLKCOU(3)=FLKCOU(2)+.06D+00 - FLKCOU(4)=FLKCOU(2)+.12D+00 - FLKCOU(6)=DOST(2,Z-FLZ(6)) - FLKCOU(5)=FLKCOU(6)-.06D+00 - CCOUL(1)=ONEONE - CCOU2=DOST(3,Z-FLZ(2)) - CCOUL(2)=CCOU2+ONEONE - CCOUL(3)=CCOU2*1.5D0+THRTHR - CCOUL(4)=CCOU2+THRTHR - CCOUL(6)=DOST(4,Z-FLZ(6))*TWOTWO+TWOTWO - CCOUL(5)=TWOTWO*CCOUL(6)-ONEONE - SIGMA=ZERZER -* Initialize the flag which checks for open particle decay with -* zero excitation and pairing --> for particle unstable residual -* nuclei - LOPPAR = .FALSE. - DO 33 J=1,6 - IF(A-TWOTWO*FLA(J))5,725,725 - 725 CONTINUE - IF(Z-TWOTWO*FLZ(J))5,726,726 - 726 CONTINUE - MM=JA-IA(J) - ZZ=Z-FLZ(J) - AA=A-FLA(J) - IF(AA.LE.ZZ)GO TO 5 -* Energy threshold for the emission of the jth-particle - THRESH(J)=Q(J)+.88235D+00*FLKCOU(J)*FLZ(J)* - & ZZ/(RMASS(MM)+RHO(J)) - LOPPAR = LOPPAR .OR. THRESH (J) .GT. ZERZER - IAA = NINT(AA) - IZZ = NINT(ZZ) - NN = IAA - IZZ -* The residual nucleus excitation energy ranges from 0 up -* to U - Q (J) - ILVMOD = IB0 - UMXRES = U - THRESH (J) -* This is the a lower case of the level density - SMALLA (J) = GETA ( UMXRES, IZZ, NN, ILVMOD, ISDUM, ASMMAX, - & ASMMIN ) - CALL EEXLVL (IAA,IZZ,EEX1ST,EEX2ND,CORR) - EEX1ST = 1.D+03 * EEX1ST - EEX2ND = 1.D+03 * EEX2ND - CORR = 1.D+03 * MAX ( CORR, ZERZER ) - IF ( NN .EQ. 4 .AND. IZZ .EQ. 4 ) THEN - IF ( U - THRESH (J) - 6.1D+00 .GT. ZERZER ) THEN - CORR = SIXSIX - ELSE - TMPVAR = U-THRESH(J)-0.1D+00 - CORR = MAX ( ZERZER, TMPVAR ) - END IF - END IF - IF (NINT(FKEY).EQ.1) CORR=ZERZER - CORRRR(J)=CORR -* Standard calculation: - ARG=U-THRESH(J)-CORR - IF(ARG)5,4,4 - 5 CONTINUE - R(J)=ZERZER - S(J)=ZERZER - SOS(J)=ZERZER - GO TO 33 - 4 CONTINUE - S(J)=SQRT (SMALLA(J)*ARG)*TWOTWO - SOS(J)=TENTEN*S(J) - 33 CONTINUE - N1=1 - SES = MAX (S(1),S(2),S(3),S(4),S(5),S(6)) - DO 1131 J=1,6 - JS = SOS(J) + ONEONE - FJS = JS - STRUN(J) = FJS - ONEONE - IF ( S(J) .GT. ZERZER ) THEN - MM = JA-IA(J) - SAS = EXP (S(J)-SES) - SUS = EXP (-S(J)) - EYE1(J) = ( TWOTWO * S(J)**2 -SIXSIX * S(J) - & + SIXSIX + SUS * ( S(J)**2 - SIXSIX ) ) - & / ( EIGEIG * SMALLA(J)**2 ) - IF ( J .EQ. 1 ) THEN - EYE0(J) = ( S(J) - ONEONE + SUS ) / ( TWOTWO*SMALLA(J) ) -* Standard calculation - R (J) = RMASS(MM)**2 * ALPH(MM) * ( EYE1(J) + BET(MM) - & * EYE0(J) ) * SAS - ELSE - R (J) = CCOUL(J) * RMASS(MM)**2 * EYE1(J) * SAS - END IF - R (J) = MAX ( ZERZER, R (J) ) - SIGMA = SIGMA + R (J) - END IF - 1131 CONTINUE - NCOUNT = 0 - 6202 CONTINUE - IF(SIGMA)9,9,10 - 9 CONTINUE - DO 6100 J = 1,6 - IF(JA-IA(J))6100,6101,6100 - 6101 CONTINUE - IF(JZ-IZ(J))6100,6102,6100 - 6100 CONTINUE - GO TO 6099 - 6102 CONTINUE - IF ( U .GT. ANGLGB ) GO TO 1000 - JEMISS = J -C*****STORE,RESIDUAL NUC IS OF EMITTED PARTICLE TYPE -* If we are here this means that the residual nucleus is equal to -* one of the six emitted particle (the j-th one). So give to it -* all the energy, score it and return with 0 recoil and excitation -* energy for the residual nucleus - EPS = EREC - NPART(JEMISS) = NPART(JEMISS)+1 - ITEMP=NPART(JEMISS) - NRNEEP = NRNEEP + 1 - SMOM1(JEMISS) = SMOM1(JEMISS) + EPS - ITEMP=NPART(JEMISS) - EPART(ITEMP,JEMISS)=EPS - COSEVP(1,ITEMP,JEMISS) = COSLBR(1) - COSEVP(2,ITEMP,JEMISS) = COSLBR(2) - COSEVP(3,ITEMP,JEMISS) = COSLBR(3) - GO TO 8002 -* -*-->-->-->-->--> go to return - 6099 CONTINUE - IF(JA-8)72,51,72 - 51 CONTINUE - IF(JZ-4)72,1224,72 -* Come here for a "normal" step - 10 CONTINUE - LOPPAR = .FALSE. - CALL GRNDM(RNDM,1) - URAN=RNDM(1)*SIGMA - SUM = ZERZER - DO 16 J=1,6 - K = J - SUM = R(J)+SUM - IF ( SUM - URAN .GT. 0.D+00 ) GO TO 17 - 16 CONTINUE - 17 CONTINUE - JEMISS=K - NPART(JEMISS) = NPART (JEMISS) + 1 - JS = SOS (JEMISS) + ONEONE - IF(JS-1000)4344,4345,4345 - 4345 CONTINUE - RATIO2=(S(JEMISS)**3-6.D0*S(JEMISS)**2+15.D0* - &S(JEMISS)-15.D0)/((2.D0*S(JEMISS)**2-6.D0*S(JEMISS)+6.D0)*SMALLA - &(JEMISS)) - GO TO 4347 - 4344 CONTINUE - RATIO2=(P2(JS)+(P2(JS+1)-P2(JS))* - &(SOS(JEMISS)-STRUN(JEMISS)))/SMALLA(JEMISS) - 4347 CONTINUE - EPSAV=RATIO2*TWOTWO -* +-------------------------------------------------------------------* -* | Neutron channel selected: - IF (JEMISS .EQ. 1) THEN - MM=JA-IA(J) - EPSAV=(EPSAV+BET(MM))/(ONEONE+BET(MM)*EYE0(JEMISS) - & /EYE1(JEMISS)) -* | +----------------------------------------------------------------* -* | | Compute the fission width relative to the neutron one: -* | | this part is taken from subroutine EMIT of LAHET - IF ( IFISS .GT. 0 .AND. JZ .GE. 71 .AND. .NOT. FISINH ) THEN -* | | +-------------------------------------------------------------* -* | | | Compute the correction factor for the fission width: - IF ( JZ .GT. 88 ) THEN - AGOES = ONEONE -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - AGOES = MAX ( ONEONE, ( U-SEVSEV ) / ( EPSAV+SEVSEV ) ) - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | Finally this is the relative fission width: -* | | This is : Probfs = 1 / ( 1 + G_n / G_f ) - PROBFS = FPROB ( Z, A, U ) / AGOES -* | | +-------------------------------------------------------------* -* | | | Check if it will be fission: - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PROBFS ) THEN - FISINH = .TRUE. - KFISS = 1 -* | | | Undo the counting of the neutron evaporation - NPART (JEMISS) = NPART (JEMISS) -1 - GO TO 9260 - END IF -* | | | -* | | +-------------------------------------------------------------* - END IF -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* - 20 CONTINUE - CALL GRNDM(RNDM,2) - E1=-HLFHLF*LOG(RNDM(1)) - E2=-HLFHLF*LOG(RNDM(2)) -* Eps should be the total kinetic energy in the CMS frame -* Standard calculation: - EPS=(E1+E2)*EPSAV+THRESH(JEMISS)-Q(JEMISS) - AR = A - IA(JEMISS) - ZR = Z - IZ(JEMISS) -* The CMS energy is updated - IMASS = NINT (AR) - IF ( IMASS .EQ. 8 .AND. NINT (ZR) .EQ. 4 ) THEN - UNEW = U - EPS - Q(JEMISS) - UMAX = U - THRESH(JEMISS) - IF ( UNEW .GT. 6.D+00 ) THEN - UMIN = 6.D+00 - ELSE IF ( UNEW .GT. 4.47D+00 .AND. UMAX .GT. 6.D+00 ) THEN - UMIN = 4.47D+00 - UNEW = 6.D+00 - ELSE IF ( UNEW .GT. 1.47D+00 .AND. UMAX .GT. 2.94D+00 ) THEN - UMIN = 1.47D+00 - UNEW = 2.94D+00 - ELSE - UMIN = -0.1D+00 - UNEW = ANGLGB * 0.1D+00 - END IF - ELSE IF ( IMASS .LE. 4 ) THEN - IPRO = NINT ( ZR ) - INEU = IMASS - IPRO - IF ( IMASS .EQ. 1 ) THEN -* Be sure that residual neutrons or protons are not left excited - UMIN = 0.D+00 - UNEW = 0.D+00 - EPS = U - Q(JEMISS) - ELSE IF ( IPRO .EQ. 0 .OR. INEU .EQ. 0 ) THEN -* Ipro protons or ineu neutrons arrived here! - UMIN = CORRRR(JEMISS) - UNEW = U - EPS - Q(JEMISS) - ELSE IF ( IMASS .LE. 2 ) THEN -* Be sure that residual deuterons are not left excited! - UMIN = 0.D+00 - UNEW = 0.D+00 - EPS = U - Q(JEMISS) - ELSE IF ( ABS ( INEU - IPRO ) .LE. 1 ) THEN -* For the moment also residual 3-H, 3-He and 4-He are not left -* excited ! - UMIN = 0.D+00 - UNEW = 0.D+00 - EPS = U - Q(JEMISS) - ELSE - UMIN = CORRRR(JEMISS) - UNEW = U - EPS - Q(JEMISS) - END IF - ELSE - UMIN = CORRRR(JEMISS) - UNEW = U - EPS - Q(JEMISS) - END IF -* Standard calculation - IF(UNEW-UMIN)6200,6220,6220 - 6220 CONTINUE -*or RNMASS = AR * AMUMEV + ENERGY (AR,ZR) - RNMASS = AR * AMUMEV + ENERGY (AR,ZR) + UNEW - UMIN2 = ( RNMASS + ZMASS (JEMISS) )**2 - IF ( UMIN2 .GE. UMO2 ) THEN - GO TO 6200 - END IF - U = UNEW -* C(i) are the direction cosines of the evaporated particle in the CMS -* frame, of course - C(i) are the ones of the residual nucleus - CALL RACO(C(1),C(2),C(3)) -* Erncm, Eepcm are the total energies of the residual nucleus and -* of the evaporated particle in the CMS frame - ERNCM = 0.5D+00 * ( UMO2 + RNMASS**2 - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - PCMS = SQRT ( EEPCM**2 - Z2MASS (JEMISS) ) -* Now we perform the Lorentz transformation back to the original -* frame (lab frame) -* First the evaporated particle: - ETAX = ETACM * COSLBR (1) - ETAY = ETACM * COSLBR (2) - ETAZ = ETACM * COSLBR (3) - PCMSX = PCMS * C (1) - PCMSY = PCMS * C (2) - PCMSZ = PCMS * C (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - EPS = GAMCM * EEPCM + ETAPCM - ZMASS (JEMISS) - PHELP = ETAPCM / (GAMCM + 1.D0) + EEPCM - PLBPX = PCMSX + ETAX * PHELP - PLBPY = PCMSY + ETAY * PHELP - PLBPZ = PCMSZ + ETAZ * PHELP - PHELP = SQRT (PLBPX * PLBPX + PLBPY * PLBPY + PLBPZ * PLBPZ) - COSLBP (1) = PLBPX / PHELP - COSLBP (2) = PLBPY / PHELP - COSLBP (3) = PLBPZ / PHELP -* Then the residual nucleus ( for it c (i) --> - c (i) ): - EREC = GAMCM * ERNCM - ETAPCM - RNMASS - EKRES = 1.D-03 * EREC - PHELP = - ETAPCM / (GAMCM + 1.D0) + ERNCM - PXRES = 1.D-03 * ( - PCMSX + ETAX * PHELP ) - PYRES = 1.D-03 * ( - PCMSY + ETAY * PHELP ) - PZRES = 1.D-03 * ( - PCMSZ + ETAZ * PHELP ) - P2RES = PXRES * PXRES + PYRES * PYRES + PZRES * PZRES - PTRES = SQRT (P2RES) - COSLBR (1) = PXRES / PTRES - COSLBR (2) = PYRES / PTRES - COSLBR (3) = PZRES / PTRES -* Check energy and momentum conservation !! - IF (EREC .LE. 0.D+00) THEN - PTRES = 0.D+00 - EREC = 0.D+00 - END IF -* Umo is the invariant mass of the system!! - UMO = RNMASS - UMO2 = UMO * UMO - ELBTOT = RNMASS + EREC - GAMCM = ELBTOT / RNMASS - ETACM = 1.D+03 * PTRES / RNMASS - GO TO 76 - 6200 CONTINUE - NCOUNT = NCOUNT + 1 - IF ( NCOUNT .LE. 10 ) GO TO 20 - SIGMA = SIGMA - R(JEMISS) -* if we are here we have sampled for > 10 times a negative energy Unew - NPART(JEMISS)=NPART(JEMISS)-1 - R(JEMISS) = 0.D0 - NCOUNT = 0 - GO TO 6202 - 76 CONTINUE - JAT=JA-IA(JEMISS) - JZT=JZ-IZ(JEMISS) - IF(JAT-JZT)9,9,77 - 77 CONTINUE - JA=JAT - JZ=JZT -C*****STORE,END OF NORMAL CYCLE - SMOM1(JEMISS)=SMOM1(JEMISS)+EPS - ITEMP=NPART(JEMISS) - EPART(ITEMP,JEMISS)=EPS - COSEVP(1,ITEMP,JEMISS)=COSLBP(1) - COSEVP(2,ITEMP,JEMISS)=COSLBP(2) - COSEVP(3,ITEMP,JEMISS)=COSLBP(3) -* The following card switch to the rough splitting treatment - IF (JA .LE. 2) GO TO 1000 - IF(JA-8)23,1223,23 - 1223 CONTINUE - IF(JZ-4)23,1224,23 -* If we are here the residual nucleus is a 8-Be one, break it into -* two alphas with all the available energy (U plus the Q of the breakup) -* , score them and return with 0 recoil and excitation energy - 1224 CONTINUE - LOPPAR = .FALSE. - IF(U)1228,1229,1229 - 1228 CONTINUE - EPS=0.D0 - GO TO 1230 - 1229 CONTINUE - 1230 CONTINUE - NBE8=NBE8+1 -* C(i) are the direction cosines of the first alpha in the CMS -* frame, of course - C(i) are the ones of the other - CALL RACO(C(1),C(2),C(3)) -* Ecms is the total energy of the alphas in the CMS frame - ECMS = 0.5D+00 * UMO - PCMS = SQRT ( ECMS**2 - Z2MASS (6) ) -* Now we perform the Lorentz transformation back to the original -* frame (lab frame) -* First alpha: - ETAX = ETACM * COSLBR (1) - ETAY = ETACM * COSLBR (2) - ETAZ = ETACM * COSLBR (3) - PCMSX = PCMS * C (1) - PCMSY = PCMS * C (2) - PCMSZ = PCMS * C (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - EPS = GAMCM * ECMS + ETAPCM - ZMASS (6) - PHELP = ETAPCM / (GAMCM + 1.D0) + ECMS - PLBPX = PCMSX + ETAX * PHELP - PLBPY = PCMSY + ETAY * PHELP - PLBPZ = PCMSZ + ETAZ * PHELP - PHELP = SQRT (PLBPX * PLBPX + PLBPY * PLBPY + PLBPZ * PLBPZ) -* Store the first alpha!! - SMOM1(6) = SMOM1(6) + EPS - NPART(6) = NPART(6) + 1 - ITEMP = NPART(6) - EPART (ITEMP,6) = EPS - COSEVP (1,ITEMP,6) = PLBPX / PHELP - COSEVP (2,ITEMP,6) = PLBPY / PHELP - COSEVP (3,ITEMP,6) = PLBPZ / PHELP -* Then the second alpha ( for it c (i) --> - c (i) ): - EPS = GAMCM * ECMS - ETAPCM - ZMASS (6) - PHELP = - ETAPCM / (GAMCM + 1.D0) + ECMS - PLBPX = - PCMSX + ETAX * PHELP - PLBPY = - PCMSY + ETAY * PHELP - PLBPZ = - PCMSZ + ETAZ * PHELP - PHELP = SQRT (PLBPX * PLBPX + PLBPY * PLBPY + PLBPZ * PLBPZ) -* Store the second alpha !! - SMOM1(6) = SMOM1(6) + EPS - NPART(6) = NPART(6) + 1 - ITEMP = NPART(6) - EPART (ITEMP,6) = EPS - COSEVP (1,ITEMP,6) = PLBPX / PHELP - COSEVP (2,ITEMP,6) = PLBPY / PHELP - COSEVP (3,ITEMP,6) = PLBPZ / PHELP - 8002 CONTINUE - LOPPAR = .FALSE. - EREC = ZERZER - U = ZERZER - EKRES = ZERZER - PTRES = ZERZER - 72 CONTINUE - HEVSUM=SMOM1(3)+SMOM1(5)+SMOM1(6)+SMOM1(4) - RETURN -*....................................................................... -*///// RAL FISSION ROUTINE ///// - 9260 CONTINUE -* +-------------------------------------------------------------------* -* | Record the direction cosines of the fissioning nucleus - DO 9270 I=1,3 - COSLF0 (I) = COSLBR (I) - 9270 CONTINUE -* | -* +-------------------------------------------------------------------* - CALL FISFRA ( JA, JZ, U, EREC, UMO, GAMCM, ETACM ) -* +-------------------------------------------------------------------* -* | Check for fission failures!! - IF ( .NOT. FISINH ) THEN - PENBAR = .FALSE. - GO TO 23 - END IF -* | -* +-------------------------------------------------------------------* -* Do not pick up the fission fragments, rather go back to Evevap - HEVSUM=SMOM1(3)+SMOM1(5)+SMOM1(6)+SMOM1(4) - RETURN - END -#else - SUBROUTINE DRES_DUMMY - END -#endif diff --git a/StarVMC/geant3/fluka/eexi.F b/StarVMC/geant3/fluka/eexi.F deleted file mode 100644 index 115d1ef9741..00000000000 --- a/StarVMC/geant3/fluka/eexi.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: eexi.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: eexi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE EEXI.FOR -*COPY EEXI -* * -*=== eexi =============================================================* -* * - FUNCTION EEXI(IJ,E,A) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C VERSION BY J. RANFT -C LEIPZIG -C -C NUCLEAR EXCITATION ENERGY INCLUDING ALL LOW ENERGY SECONDARIES -C IN COLLISIONS OF PARTICLE IJ OF ENERGY E GEV ON NUCLEI A -C -C NOTE!!!!!!! NON-STANDARD PARTICLE NUMBERING -C -C******************************************************************** -C - IF (E.LE.0.125D0) GO TO 20 - B=SQRT(A)/9.D0-.2D0 - IF (B.GT.A*0.01D0) B=A*0.01D0 - IF (E.GE.3.D0) GO TO 10 - IF (B.LT.0.125D0) B=0.125D0 - EEXI=0.125D0+(E-0.125D0)*(B-0.125D0)/2.875D0 - RETURN - 10 CONTINUE - EEXI=B - RETURN - 20 CONTINUE - EEXI=E - RETURN - END diff --git a/StarVMC/geant3/fluka/eexlvl.F b/StarVMC/geant3/fluka/eexlvl.F deleted file mode 100644 index 93f61a1f18c..00000000000 --- a/StarVMC/geant3/fluka/eexlvl.F +++ /dev/null @@ -1,112 +0,0 @@ -* -* $Id: eexlvl.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: eexlvl.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE EEXLVL.FOR -*COPY EEXLVL -* -*=== eexlvl ===========================================================* -* - SUBROUTINE EEXLVL ( JA, JZ, EEX1ST, EEX2ND, EEXCON ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 06 december 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 28-apr-92 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -#include "geant321/eva0.inc" -* - SAVE SQATAR, JAOLD - DATA JAOLD / 0 / -* - IF ( JA .EQ. JZ ) THEN - EEXCON = 0.D+00 - EEX1ST = 0.D+00 - EEX2ND = 0.D+00 - RETURN - END IF - IF ( JZ .EQ. 0 .OR. JA .EQ. JZ ) THEN - EEXCON = 0.D+00 - ELSE - EEXCON = 1.D-03 * ( CAM4 (JZ) + CAM5 (JA-JZ) ) - END IF -* **** Very tentative selection of Eex1st, Eex2nd, based on pairing -* energies according to delta = 12 MeV / A^1/2 **** - IZODD = 1 - MOD ( JZ, 2 ) - INODD = 1 - MOD ( JA-JZ, 2 ) - IODD = IZODD + INODD -* +-------------------------------------------------------------------* -* | Even-even nucleus - IF ( IODD .GE. 2 ) THEN -* | +----------------------------------------------------------------* -* | | - IF ( JA .NE. JAOLD ) THEN - JAOLD = JA - DJA = JA - SQATAR = SQRT ( DJA ) - END IF -* | | -* | +----------------------------------------------------------------* - EEX1ST = 12.0D-03 / SQATAR - EEX2ND = 2.D+00 * EEX1ST -* | -* +-------------------------------------------------------------------* -* | even-odd nucleus - ELSE IF ( IODD .GT. 0 ) THEN -* | +----------------------------------------------------------------* -* | | - IF ( JA .NE. JAOLD ) THEN - JAOLD = JA - DJA = JA - SQATAR = SQRT ( DJA ) - END IF -* | | -* | +----------------------------------------------------------------* - EEX1ST = 12.0D-03 / SQATAR - EEX2ND = EEX1ST -* | -* +-------------------------------------------------------------------* -* | odd-odd nucleus - ELSE - EEX2ND = 0.D+00 - EEX1ST = 0.D+00 - END IF -* | -* +-------------------------------------------------------------------* - RETURN -*=== End of subroutine eexlvl =========================================* - END diff --git a/StarVMC/geant3/fluka/ekeka.F b/StarVMC/geant3/fluka/ekeka.F deleted file mode 100644 index eba58adf543..00000000000 --- a/StarVMC/geant3/fluka/ekeka.F +++ /dev/null @@ -1,131 +0,0 @@ -* -* $Id: ekeka.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: ekeka.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE EKEKA.FOR -*COPY EKEKA -* * -*=== ekeka ============================================================* -* * - FUNCTION EKEKA(IX,TO,AMSS,SQAMSS) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C VERSION BY J. RANFT -C LEIPZIG -C LAST CHANGE 05. DECEMBER BY PERTTI AARNIO -C HELSINKI UNIVERSITY OF -C TECHNOLOGY, FINLAND -C -C TO BE CALLED FROM THE HIGH ENERGY PRODUCTION -C -C THIS IS A SUBROUTINE OF FLUKA TO CALCULATE THE ENERGY AVAILABLE -C FOR THE REACTION "IX". -C -C NOTE!!!!!!! REACTION NUMBERING IS NOT -C COMPATIBLE WITH PARTICLE NUMBERING -C -C INPUT VARIABLES: -C IX = TYPE OF THE REACTION -C 1=NUCLEAR EXCITATION -C 2=INTRANUCLEAR PROTON -C 3=INTRANUCLEAR NEUTRON -C 4=1+2 -C 5=1+2+3 -C TO = KINETIC ENERGY OF THE COLLIDING PARTICLE IN GEV -C AMSS = ATOMIC WEIGHT OF THE MEDIUM -C SQAMSS = SQRT(AMSS) -C -C SEE RANFT/ROUTTI PARTICLE ACC VOL 4 P 106 -C -C NOTE THAT IN INTRANUCLEAR PART AVERAGE TOTAL ENERGY IS -C OBTAINED BY MULTPLYING THE AVERAGE ENERGY OF THE HIGH ENERGY -C PARTICLES BY THE MULTIPLICITY OF THE HIGH ENERGY PARTICLES -C I.1. E-TOT,AV=2.5*N2*E-AV(ALFA-2). THE FACTOR 2.5 IS -C NEEDED TO TAKE INTO ACCOUNT THE LOW ENERGY PART ALSO. -C 2.5 IS BASED ON THE ASSUMPTION THAT N1/N2=9 AND THAT -C (E-AV(ALFA-2))/(E-AV(ALFA-1))=6. -C******************************************************************** -C - GO TO (1,2,3,1,1),IX -C -C - 1 CONTINUE - IF (TO.GT.01D0)GO TO 12 - AA=0.001D0*SQAMSS - GO TO 19 - 12 CONTINUE - APAR=0.035D0 - BPAR=3.D0 - CPAR=0.1D0 - AA=CPAR*SQAMSS*(0.01D0+APAR*(BPAR+LOG10(TO))**2) -C - 19 CONTINUE - IF (IX.GT.3) GO TO 2 - EKEKA=AA - RETURN -C -C - 2 CONTINUE - AN=ANKEKA(1,TO,AMSS,SQAMSS) - A=AKEKA(1,TO,AMSS) - EXTOA=0.D0 - IF(TO.LT.5.D0*A) EXTOA=EXP(-TO/A) - TPKAV=A*(1.D0-(TO/A+1.)*EXTOA)/(1.D0-EXTOA) - BB=2.5D0*TPKAV*AN -C - IF (IX.EQ.4) GO TO 4 - IF (IX.EQ.5) GO TO 3 - EKEKA=BB - RETURN -C -C - 3 CONTINUE - AN=ANKEKA(2,TO,AMSS,SQAMSS) - A=AKEKA(2,TO,AMSS) - EXTOA=0.D0 - IF (TO.LT.5.D0*A) EXTOA=EXP(-TO/A) - TNKAV=A*(1.D0-(TO/A+1.D0)*EXTOA)/(1.D0-EXTOA) - CC=2.5D0*TNKAV*AN -C - IF (IX.EQ.5) GO TO 5 - EKEKA=CC - RETURN -C -C - 4 CONTINUE - EKEKA=AA+BB - RETURN -C -C - 5 CONTINUE - EKEKA=AA+BB+CC - RETURN - END diff --git a/StarVMC/geant3/fluka/energi.F b/StarVMC/geant3/fluka/energi.F deleted file mode 100644 index d66d6d944a0..00000000000 --- a/StarVMC/geant3/fluka/energi.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: energi.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: energi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE ENERGI.FOR -*COPY ENERGI -* -*=== energi ===========================================================* -* - SUBROUTINE ENERGI(IT,LL,LT,IV,RE,HMA,HE,E0,A1) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* Energi89: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* -* INCLUDE '(BAMJCM)' -#include "geant321/finpar2.inc" - DIMENSION IV(*),RE(*) - REAL RNDM(1) -C SAMPLES THE ENERGY OF THE CREATED HADRON -C*****HE IS THE ENERGY OF THE ACTUAL HADRON - I=IT - J=IT-1 - HMA=AMF(I) - IF(IT .EQ. 1) RX=E0 - IF(IT .GT. 1) RX=RE(J) - CALL GRNDM(RNDM,1) - X = RNDM(1) - IVY = IV(I) - GO TO (1,2,2,1,1,1,2,2,1,1),IVY -C MESON VERTEX - 1 AX=(1.D0-A1)/(3.D0*A1) - C=1.D0/((1.D0-A1)*(1.D0-HMA/RX)+3.D0*.5D0*A1*(1.D0-HMA/RX)**2) - ETA=-AX+SQRT(AX**2+X*2.D0/(3.D0*A1*C)) - GO TO 3 -C BARYON VERTEX - 2 CY=1.D0/((1.D0-A1)*(1.D0-HMA/RX)+A1*(1.D0-HMA/RX)**3) - BY=X/(2.D0*A1*CY) - BZ=((1.D0-A1)/(3.D0*A1))**3 - BV=BY+SQRT(BY**2+BZ) - BU=BY-SQRT(BY**2+BZ) - IF(BU.LT.0.D0) BU1=ABS(BU) - BU3=BU1**(1.D0/3.D0) - BV3=BV**(1.D0/3.D0) - IF(BU.LT.0.D0) BU3=-BU3 - ETA=BU3+BV3 - GO TO 3 - 3 CONTINUE - RE(I)=ETA*RX - HE=(1.D0-ETA)*RX - HEF(I)=HE - RETURN - END diff --git a/StarVMC/geant3/fluka/energy.F b/StarVMC/geant3/fluka/energy.F deleted file mode 100644 index 4673f0d6d48..00000000000 --- a/StarVMC/geant3/fluka/energy.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: energy.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: energy.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLDNAME) -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*=== energy ===========================================================* -* * - FUNCTION ENERGY(A,Z) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C-------------------------------------------------------------------- -C SUBNAME = ENERGY -C-------------------------------------------------------------------- -#include "geant321/eva0.inc" -C-------------------------------------------------------------------- - KA0 = NINT ( A ) - KZ0 = NINT ( Z ) - N = KA0 - KZ0 - IF ( N .LE. 0 ) THEN - IF ( KA0 .NE. 1 ) THEN - IF ( N .LT. 0 ) THEN - WRITE ( LUNOUT, * ) - & ' Stopped in energy: mass number =< atomic number !!', - & KA0, KZ0 - END IF - ELSE - ENERGY = WAPS ( 1, 3 ) - RETURN - END IF - END IF - IZZ = NINT ( WAPS ( KA0, 1 ) ) - IF ( KZ0 .LT. IZZ .OR. KZ0 .GT. IZZ + 9 ) THEN - ENERGY = ENRG ( A, Z ) - RETURN - ELSE - IZ0 = KZ0 - IZZ + 2 - ENERGY = WAPS ( KA0, IZ0 ) - IF ( ENERGY .EQ. 0.D+00 .AND. (KA0 .NE. 12 .OR. KZ0 .NE. 6) ) - & ENERGY = ENRG ( A, Z ) - RETURN - END IF -* RETURN - END -#else - SUBROUTINE ENERGY_DUMMY - END -#endif diff --git a/StarVMC/geant3/fluka/enrg.F b/StarVMC/geant3/fluka/enrg.F deleted file mode 100644 index ef634748e82..00000000000 --- a/StarVMC/geant3/fluka/enrg.F +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: enrg.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: enrg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE ENRG.FOR -*COPY ENRG -* * -*=== enrg =============================================================* -* * - FUNCTION ENRG(A,Z) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C-------------------------------------------------------------------- -C SUBNAME = ENRG -C-------------------------------------------------------------------- - PARAMETER ( O16OLD = 931.145 D+00 ) - PARAMETER ( O16NEW = 931.19826D+00 ) - PARAMETER ( O16RAT = O16NEW / O16OLD ) - PARAMETER ( C12NEW = 931.49432D+00 ) - PARAMETER ( ADJUST = -8.322737768178909D-02 ) -#include "geant321/eva0.inc" - LOGICAL LFIRST - SAVE LFIRST, EXHYDR, EXNEUT - DATA LFIRST / .TRUE. / - IF ( LFIRST ) THEN - LFIRST = .FALSE. - EXHYDR = FKENER ( ONEONE, ONEONE ) - EXNEUT = FKENER ( ONEONE, ZERZER ) - END IF -C-------------------------------------------------------------------- - 100 IZ0 = NINT (Z) - IF ( IZ0 .LE. 0 ) THEN - ENRG = A * EXNEUT - RETURN - END IF - N = NINT (A-Z) - IF ( N .LE. 0 ) THEN - ENRG = Z * EXHYDR - RETURN - END IF - AM2ZOA= (A-Z-Z)/A - AM2ZOA=AM2ZOA*AM2ZOA - A13 = RMASS(NINT(A)) - AM13 = 1.D0/A13 - EV=-17.0354D0*(1.D0 -1.84619D0*AM2ZOA)*A - ES= 25.8357D0*(1.D0 -1.712185D0*AM2ZOA)* - & (1.D0 -0.62025D0*AM13*AM13)* - & (A13*A13 -.62025D0) - EC= 0.799D0*Z*(Z-1.D0)*AM13*(((1.5772D0*AM13 +1.2273D0)* - & AM13-1.5849D0)* - & AM13*AM13 +1.D0) - EEX= -0.4323D0*AM13*Z**1.3333333D0* - & (((0.49597D0*AM13 -0.14518D0)*AM13 -0.57811D0) * AM13 + 1.D0) - ENRG =8.367D0*A -0.783D0*Z +EV +ES +EC +EEX +CAM2(IZ0)+CAM3(N) - ENRG = ( ENRG + A * O16OLD ) * O16RAT - A * ( C12NEW - ADJUST ) - ENRG = MIN ( ENRG, Z * EXHYDR + ( A - Z ) * EXNEUT ) - RETURN - END diff --git a/StarVMC/geant3/fluka/erup.F b/StarVMC/geant3/fluka/erup.F deleted file mode 100644 index a261611611f..00000000000 --- a/StarVMC/geant3/fluka/erup.F +++ /dev/null @@ -1,144 +0,0 @@ -* -* $Id: erup.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: erup.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLDNAME) -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*=== erup =============================================================* -* * - SUBROUTINE ERUP (JFISS) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 15 may 1990 by Alfredo & Paola Sala * -* INFN - Milan * -* Last change on 10-apr-93 by Alfredo Ferrari, INFN-Milan * -* * -* Derived from the ERUP routine of EVAP-V, HERMES, KFA-Julich * -* * -*----------------------------------------------------------------------* -* -C*****MODIFIED TO OBTAIN APR,ZPR AFTER CAS + EVAP (8-68,T.W.A.) -#include "geant321/eva1.inc" -#include "geant321/forcn.inc" -#include "geant321/inpflg.inc" -#include "geant321/hetc5.inc" -#include "geant321/hetc7.inc" -#include "geant321/hettp.inc" -#include "geant321/higfis.inc" -* COMMON / AZ / LOWAZ - LOGICAL LOPPAR - DIMENSION FPART (6) -C -------------------------------------- CHECK PARAMETER - FISINH=.FALSE. -* +-------------------------------------------------------------------* -* | Check the excitation energy - IF ( EX .LE. ZERZER ) THEN -* | No excitation energy: - IF ( JFISS .LE. 0 ) THEN - DO 201 I=1,6 - NPART(I)=0 - 201 CONTINUE - HEVSUM = ZERZER - END IF -* UU = ZERZER - UU = EX - RETURN -* | -* +-------------------------------------------------------------------* -* | Positive excitation energy: - ELSE -* | Try evaporation - M2 = NINT (APR) - M3 = NINT (ZPR) - 8801 CONTINUE - CALL FKDRES (M2,M3,EX,UU,EREC,LOPPAR,JFISS) - FPARTT = ZERZER -* | +----------------------------------------------------------------* -* | | No previous evaporation for this event - IF ( JFISS .LE. 0 ) THEN - DO 801 I=1,6 - FPART(I) = NPART(I) - FPARTT = FPARTT + FPART (I) - 801 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | | Other evaporation trials already performed for this event - ELSE - DO 802 I=1,6 - FPART(I) = NPART(I)-NPARTF(I,JFISS-1) - FPARTT = FPARTT + FPART (I) - 802 CONTINUE - END IF -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | No particle evaporated and pairing corrections accounted for - IF ( FPARTT + FKEY .LT. ANGLGB ) THEN - IF ( .NOT. LOPPAR ) GO TO 8802 - FKEY = ONEONE - GO TO 8801 - END IF -* | | -* | +----------------------------------------------------------------* - 8802 CONTINUE - FKEY = ZERZER - ZPR = ZPR - FPART(2) - FPART(3) - TWOTWO * ( FPART(5) - & + FPART(6)) - FPART(4) - APR = APR - FPART(1) - FPART(2) - TWOTWO * FPART(3) - & - THRTHR * ( FPART(4) + FPART(5) ) - FOUFOU * FPART(6) - IF (IANG .GT. 0) THEN - ELSE - DO 440 K=1,6 - NP = NPART(K) - IF ( JFISS .GT. 0 ) THEN - NP0 = NPARTF(K,JFISS-1) + 1 - ELSE - NP0 = 1 - END IF - DO 410 J=NP0,NP - CALL RACO(COSEVP(1,J,K),COSEVP(2,J,K),COSEVP(3,J,K)) - 410 CONTINUE - 440 CONTINUE - END IF - END IF -* | -* +-------------------------------------------------------------------* - RETURN -*=== End of subroutine Erup ===========================================* - END -#else - SUBROUTINE ERUP_DUMMY - END -#endif diff --git a/StarVMC/geant3/fluka/evdeex.F b/StarVMC/geant3/fluka/evdeex.F deleted file mode 100644 index e9af3f1dff4..00000000000 --- a/StarVMC/geant3/fluka/evdeex.F +++ /dev/null @@ -1,333 +0,0 @@ -* -* $Id: evdeex.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: evdeex.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/12/17 11:46:46 brun -* Several protections introduced by Rachid Guernane and Peter Hristov -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE EVDEEX.FOR -*COPY EVDEEX -* -*=== evdeex ===========================================================* -* - SUBROUTINE EVDEEX ( WEE ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Evdeex : created on 5-10-1990 by A. Ferrari & P. Sala, INFN Milan * -* * -* Last change on 28-jan-93 by Alfredo Ferrari, INFN-Milan * -* * -* This routine provides a simple model for sampling nuclear deexci- * -* tation gammas following the evaporation step * -* * -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/eva0.inc" -#include "geant321/finuc.inc" -#include "geant321/nucdat.inc" -#include "geant321/parevt.inc" -#include "geant321/resnuc.inc" -* -*----------------------------------------------------------------------* -* Entering the routine we have: * -* Ammres is the atomic mass of the residual nucleus * -* Ibres (Anow) its mass number * -* Icres (Znow) its atomic number * -* Eres its total energy * -* Ptres its momentum * -* Pxres x-component of the momentum * -* Pyres y-component of the momentum * -* Pzres z-component of the momentum * -* Tvrecl kinetic energy * -* Tvcms excitation energy * -*----------------------------------------------------------------------* -* - PARAMETER ( C0M1E1 = 0.306 D+00 ) - PARAMETER ( C0E2E1 = 7.1 D-01 ) - PARAMETER ( HNDFE1 = 5.0 D-03 ) - PARAMETER ( HNDFM1 = 5.0 D-02 ) - PARAMETER ( HNDFE2 = 1.0 D+01 ) -* - DIMENSION COSGAM (3) - REAL RNDM(2) -* - IDEEXG = 0 - IF ( IBRES .LE. 0 .OR. TVCMS .LE. GAMMIN ) THEN - TVCMS = 0.D+00 - RETURN - END IF - ECHCK = ERES - AMMRES - ECHCK0 = ECHCK - IBHELP = IBRES / 2 - IF ( IBHELP * 2 .LT. IBRES ) THEN - CALL EEXLVL ( IBRES, ICRES, DELTA, EEX2ND, EEXDUM ) - IPAR = 1 - JPAR = 1 - ELSE - ICHELP = ICRES / 2 - JPAR = 0 - IF ( ICHELP * 2 .LT. ICRES ) THEN - CALL EEXLVL ( IBRES, ICRES, DELTA, EEX1ST, EEXDUM ) - IPAR = 1 - ELSE - CALL EEXLVL ( IBRES, ICRES, EEX1ST, DELTA, EEXDUM ) - IPAR = 2 - END IF - END IF - DELPAI = MIN ( EEXDUM, DELTA ) - RNUCL = R0NUCL * RMASS (IBRES) - AINERM = 0.24D+00 * AMMRES * RNUCL * RNUCL - ROTEN0 = 0.5D+00 * PLABRC * PLABRC / AINERM - ENMIN = MAX ( DELTA, TWOTWO * ROTEN0 ) - RNMASS = AMMRES + TVCMS - UMO = RNMASS - GAMCM = ERES / RNMASS - ETAX = PXRES / RNMASS - ETAY = PYRES / RNMASS - ETAZ = PZRES / RNMASS - IF ( TVCMS .LE. ENMIN .OR. IBRES .LE. 4 ) GO TO 3000 - AHELP = HNDFE1 * RMASS (IBRES) * RMASS (IBRES) - CFM1E1 = C0M1E1 * HNDFM1 / AHELP - CFE2E1 = C0E2E1 * HNDFE2 / AHELP - 1000 CONTINUE - UMEV = 1.D+03 * TVCMS - ASMALL = GETA ( UMEV , ICRES , IBRES-ICRES, ILVMOD, ISDUM, - & AOGMAX, AOGMIN ) - TEMPSQ = 1.D-03 * ( TVCMS - DELPAI ) / ASMALL - TEMPER = SQRT ( TEMPSQ ) - HHH = TVCMS / TEMPER - HHHSQ = HHH * HHH - IF(HHH.GT.88) THEN - AHELP=0.0 - ELSE - AHELP = EXP ( - HHH ) - ENDIF - BRE1M1 = 6.D+00 - AHELP * ( HHHSQ * HHH + 3.D+00 * HHHSQ - & + 6.D+00 * HHH ) - BRE2 = 20.D+00 * BRE1M1 - AHELP * ( HHHSQ * HHHSQ * HHH - & + 5.D+00 * HHHSQ * HHHSQ ) - BRE1M1 = BRE1M1 * ( 1.D+00 + CFM1E1 ) - BRE2 = BRE2 * TEMPSQ * CFE2E1 - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. BRE1M1 / ( BRE1M1 + BRE2 ) ) THEN - LMULT = 1 - ELSE - LMULT = 2 - END IF - LEXPN = 2 * LMULT + 1 - DDLEXP = LEXPN - XDISMX = MIN ( DDLEXP, HHH ) - IF(XDISMX.GT.88) THEN - DISMX=0. - ELSE - DISMX = XDISMX ** LEXPN * EXP ( - XDISMX ) - ENDIF - 2000 CONTINUE - CALL GRNDM(RNDM,2) - XTENT = RNDM (1) * HHH - IF(XTENT.GT.88) THEN - FREJE = 0. - ELSE - FREJE = XTENT ** LEXPN * EXP ( - XTENT ) / DISMX - ENDIF - IF ( RNDM (2) .GE. FREJE ) GO TO 2000 - ENERG0 = XTENT * TEMPER - TVCMS = TVCMS - ENERG0 - RNMASS = AMMRES + TVCMS - CALL RACO ( COSGAM (1), COSGAM (2), COSGAM (3) ) - ERNCM = 0.5D+00 * ( UMO * UMO + RNMASS * RNMASS ) / UMO - EEGCM = UMO - ERNCM - PCMS = EEGCM - PCMSX = PCMS * COSGAM (1) - PCMSY = PCMS * COSGAM (2) - PCMSZ = PCMS * COSGAM (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - ENERG = GAMCM * EEGCM + ETAPCM - PHELP = ETAPCM / ( GAMCM + 1.D+00 ) + EEGCM - PLBGX = PCMSX + ETAX * PHELP - PLBGY = PCMSY + ETAY * PHELP - PLBGZ = PCMSZ + ETAZ * PHELP - ERES = GAMCM * ERNCM - ETAPCM - EKRES = ERES - RNMASS - PHELP = - ETAPCM / ( GAMCM + 1.D+00 ) + ERNCM - PXRES = - PCMSX + ETAX * PHELP - PYRES = - PCMSY + ETAY * PHELP - PZRES = - PCMSZ + ETAZ * PHELP - ECHCK = ECHCK - ENERG - IDEEXG = IDEEXG + 1 - NP = NP + 1 - WEI (NP) = WEE - KPART (NP) = 7 - TKI (NP) = ENERG - PLR (NP) = ENERG - CXR (NP) = PLBGX / ENERG - CYR (NP) = PLBGY / ENERG - CZR (NP) = PLBGZ / ENERG - GAMCM = ERES / RNMASS - ETAX = PXRES / RNMASS - ETAY = PYRES / RNMASS - ETAZ = PZRES / RNMASS - UMO = RNMASS - IF ( TVCMS .GT. ENMIN ) GO TO 1000 - IF ( NP .GE. MXP ) THEN - WRITE ( LUNOUT, * )' **** Finuc overflow in Evdeex,', - & ' program stopped ****' - WRITE ( LUNERR, * )' **** Finuc overflow in Evdeex,', - & ' program stopped ****' - STOP - END IF - 3000 CONTINUE - IF ( TVCMS .LE. ( 6 + 2 * JPAR ) * ROTEN0 ) THEN - ENERG0 = TVCMS - TVCMS = 0.D+00 - CALL RACO ( COSGAM (1), COSGAM (2), COSGAM (3) ) - ERNCM = 0.5D+00 * ( UMO * UMO + AMMRES * AMMRES ) / UMO - EEGCM = UMO - ERNCM - PCMS = EEGCM - PCMSX = PCMS * COSGAM (1) - PCMSY = PCMS * COSGAM (2) - PCMSZ = PCMS * COSGAM (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - ENERG = GAMCM * EEGCM + ETAPCM - IF ( ENERG .EQ. 0 ) ENERG = ENERG + 1.D-10 - PHELP = ETAPCM / ( GAMCM + 1.D+00 ) + EEGCM - PLBGX = PCMSX + ETAX * PHELP - PLBGY = PCMSY + ETAY * PHELP - PLBGZ = PCMSZ + ETAZ * PHELP - ERES = GAMCM * ERNCM - ETAPCM - EKRES = ERES - AMMRES - PHELP = - ETAPCM / ( GAMCM + 1.D+00 ) + ERNCM - PXRES = - PCMSX + ETAX * PHELP - PYRES = - PCMSY + ETAY * PHELP - PZRES = - PCMSZ + ETAZ * PHELP - ECHCK = ECHCK - ENERG - IDEEXG = IDEEXG + 1 - NP = NP + 1 - WEI (NP) = WEE - KPART (NP) = 7 - TKI (NP) = ENERG - PLR (NP) = ENERG - CXR (NP) = PLBGX / ENERG - CYR (NP) = PLBGY / ENERG - CZR (NP) = PLBGZ / ENERG - ELSE - AIAMOM = SQRT ( 0.25D+00 + TVCMS / ROTEN0 - & + 0.75D+00 * JPAR ) - 0.25D+00 - IF ( IPAR .EQ. 1 ) THEN - IF ( JPAR .EQ. 1 ) THEN - JAMIN = 2 * INT ( AIAMOM ) + 1 - IAMIN = JAMIN / 2 - IF ( MOD ( IAMIN, 2 ) .GT. 0 ) THEN - EGROUN = 3.75D+00 * ROTEN0 - ELSE - EGROUN = 0.75D+00 * ROTEN0 - END IF - ELSE - IAMIN = INT ( AIAMOM ) - JAMIN = 2 * IAMIN - IF ( MOD ( IAMIN, 2 ) .GT. 0 ) THEN - EGROUN = 2.D+00 * ROTEN0 - ELSE - EGROUN = 0.D+00 - END IF - END IF - ELSE - IAMIN = INT ( AIAMOM ) / IPAR - IAMIN = IAMIN * IPAR - JAMIN = 2 * IAMIN - EGROUN = 0.D+00 - END IF - DELTAE = TVCMS + EGROUN - 0.25D+00 * ROTEN0 * JAMIN * - & ( JAMIN + 2 ) - DO 4000 JAMOM = JAMIN, 4, -4 - ENERG0 = ROTEN0 * ( 2 * JAMOM - 2 ) - & + DELTAE - DELTAE = 0.D+00 - TVCMS = TVCMS - ENERG0 - RNMASS = AMMRES + TVCMS - CALL RACO ( COSGAM (1), COSGAM (2), COSGAM (3) ) - ERNCM = 0.5D+00 * ( UMO * UMO + RNMASS * RNMASS ) / UMO - EEGCM = UMO - ERNCM - PCMS = EEGCM - PCMSX = PCMS * COSGAM (1) - PCMSY = PCMS * COSGAM (2) - PCMSZ = PCMS * COSGAM (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - ENERG = GAMCM * EEGCM + ETAPCM - PHELP = ETAPCM / ( GAMCM + 1.D+00 ) + EEGCM - PLBGX = PCMSX + ETAX * PHELP - PLBGY = PCMSY + ETAY * PHELP - PLBGZ = PCMSZ + ETAZ * PHELP - ERES = GAMCM * ERNCM - ETAPCM - EKRES = ERES - RNMASS - PHELP = - ETAPCM / ( GAMCM + 1.D+00 ) + ERNCM - PXRES = - PCMSX + ETAX * PHELP - PYRES = - PCMSY + ETAY * PHELP - PZRES = - PCMSZ + ETAZ * PHELP - ECHCK = ECHCK - ENERG - IDEEXG = IDEEXG + 1 - NP = NP + 1 - WEI (NP) = WEE - KPART (NP) = 7 - TKI (NP) = ENERG - PLR (NP) = ENERG - CXR (NP) = PLBGX / ENERG - CYR (NP) = PLBGY / ENERG - CZR (NP) = PLBGZ / ENERG - GAMCM = ERES / RNMASS - ETAX = PXRES / RNMASS - ETAY = PYRES / RNMASS - ETAZ = PZRES / RNMASS - UMO = RNMASS - 4000 CONTINUE - END IF - ECHCK = ECHCK - EKRES - IF ( ABS ( ECHCK ) .GT. 1.D-7 * ECHCK0 ) THEN - WRITE ( LUNERR, * )' **** No energy conservation in Evdeex', - & ' ****', ECHCK, IDEEXG - END IF - TVCMS = 0.D+00 - IF ( NP .GT. MXP ) THEN - WRITE ( LUNOUT, * )' **** Finuc overflow in Evdeex,', - & ' program stopped ****' - WRITE ( LUNERR, * )' **** Finuc overflow in Evdeex,', - & ' program stopped ****' - STOP - END IF - TVRECL = EKRES - P2RES = PXRES * PXRES + PYRES * PYRES + PZRES * PZRES - PTRES = SQRT (P2RES) -*=== End of subroutine Evdeex =========================================* - RETURN - END diff --git a/StarVMC/geant3/fluka/eventv.F b/StarVMC/geant3/fluka/eventv.F deleted file mode 100644 index be435422551..00000000000 --- a/StarVMC/geant3/fluka/eventv.F +++ /dev/null @@ -1,1882 +0,0 @@ -* -* $Id: eventv.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: eventv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE EVENTV.FOR -*COPY EVENTV -* -*=== eventv ===========================================================* -* - SUBROUTINE EVENTV ( IJIJ, POO, EKE, TXI, TYI, TZI, WE, IMAT ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 7 september 1989 by Alfredo Ferrari * -* INFN - Milan * -* * -* Last change on 15 april 1993 by Alfredo Ferrari * -* * -* This routine is a strongly modified and improved version of the * -* original Eventq routine of the Fluka package: it requires modified * -* versions of many other routines * -* * -* Eventv90: new version by A. Ferrari, INFN-Milan and CERN-SPS, 7-9-89* -* main modifications: * -* - new treatment for hydrogen (following Moehring's * -* suggestion) * -* - new commons and coding for energy, momentum, * -* electric and baryonic charge conservation * -* - new correlations both in the "low" (p < 5 GeV/c) * -* and in the "high" energy models * -* - complete revision of kinematics for both models * -* - tentative treatment for Lambdas, Sigmas with the * -* "high" energy model down to 2.5 GeV/c to overcome * -* the impossibility of Hadrin to treat these parti- * -* cles * -* - tentative introduction of Xsi0, Xsi-, Omega and * -* their antiparticles and of Sigmabars's * -* - complete new treatment of cascade nucleons * -* - accurate treatment of binding energy effects, * -* using atomic mass tables and the proper isotopic * -* composition of elements * -* - possibility to use an evaporation module (derived * -* from the Hetc-Kfa one) after the interaction * -* - possibility to use a nuclear gamma deexcitation * -* module (written by P.Sala, INFN-Milan) to produce * -* deexcitation gammas after the evaporation step * -* * -*----------------------------------------------------------------------* -* - PARAMETER ( COS45 = 0.7071067811865475D+00 ) - PARAMETER ( SIN30 = 0.5D+00 ) - PARAMETER ( COS30 = 0.8660254037844387D+00 ) - PARAMETER ( CSNPRN = 50.D+00 * CSNNRM ) -#include "geant321/balanc.inc" -#include "geant321/corinc.inc" -#include "geant321/depnuc.inc" -#include "geant321/fheavy.inc" -#include "geant321/finlsp3.inc" -#include "geant321/finuc.inc" -#include "geant321/hadflg.inc" -#include "geant321/hadpar.inc" -#include "geant321/isotop.inc" -#include "geant321/mapa.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucpar.inc" -#include "geant321/part.inc" -#include "geant321/parevt.inc" -#include "geant321/resnuc.inc" - COMMON / FKCASF / PKFRMI, COSTH, PKIN - COMMON /FKEVNT/ LNUCRI, LHADRI - LOGICAL LNUCRI, LHADRI, LINCCK, LACCEP, LCHTYP - REAL RNDM(1) -* Note Pthrsh is also in Ferevv!! - DIMENSION SOPPP(2),EXSOP(2),PTHRSH(39),IJNUCR(39) -* Use this "save" if common dbgdbg is commented - SAVE PTHRSH, IPRI, IEVT, IJNUCR - DATA PTHRSH / 16*5.D+00,2*2.5D+00,5.D+00,3*2.5D+00,8*5.D+00, - & 9*2.5D+00 / - DATA IJNUCR / 16*1,2*0,1,3*0,8*1,9*0 / - DATA IPRI / 0 / - DATA IEVT / 0 / -* -* +-------------------------------------------------------------------* -* | Heavy ions are treated in eventa: now switched off!! - IF (IJIJ .EQ. 30) THEN - STOP 'HEAVY ION' - END IF -* | -* +-------------------------------------------------------------------* -* First of all: get the "part" index of the incoming "paprop" ijij - IJ = IPTOKP (IJIJ) - IEVT = IEVT + 1 - AMCHCK = 0.5D+00 * ( POO * POO - EKE * EKE ) / EKE - AHELP = ABS ( AMCHCK - AM ( IJ ) ) -* +-------------------------------------------------------------------* -* | - IF ( AHELP .GT. ANGLGB * AM ( IJ ) ) THEN - POO = SQRT ( EKE * ( EKE + 2.D+00 * AM (IJ) ) ) - END IF -* | -* +-------------------------------------------------------------------* -* -* Variable initialization for conservation checks -* - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - ICHTAR = NINT(ZTAR(IMAT)) - ICHTOT = ICHTAR + ICH(IJ) -* +-------------------------------------------------------------------* -* | Choice of the mass number of the target nucleus: use the input -* | one if any - IF ( MSSNUM (IMAT) .GT. 0 ) THEN - IBTAR = MSSNUM (IMAT) -* | -* +-------------------------------------------------------------------* -* | Choice of the mass number of the target nucleus according -* | to the natural isotopic composition of element ichtar - ELSE - CALL GRNDM(RNDM,1) - RNDISO = RNDM (1) -* | +----------------------------------------------------------------* -* | | Loop on the stable isotopes - DO 25 IS = ISONDX (1,ICHTAR), ISONDX (2,ICHTAR) - 1 - RNDISO = RNDISO - ABUISO (IS) - IF ( RNDISO .LT. 0.D+00 ) GO TO 30 - 25 CONTINUE -* | | -* | +----------------------------------------------------------------* - IS = ISONDX (2,ICHTAR) - 30 CONTINUE - IBTAR = ISOMNM (IS) - END IF -* | -* +-------------------------------------------------------------------* - IBTOT = IBTAR + IBAR(IJ) - BBTAR = IBTAR - ZZTAR = ICHTAR - ZTO103 = ZZTAR**0.3333333333333333D+00 -* +-------------------------------------------------------------------* -* | - IF ( IBTAR .EQ. 1 ) THEN - ITTA = 8 - 7 * ICHTAR - ETTOT = AM (ITTA) + EKE + AM(IJ) - AMNTAR = AM (ITTA) -* | -* +-------------------------------------------------------------------* -* | The following should be done with the proper mass of the nuclide - ELSE -* AMNTAR = BBTAR * AMUC12 - AMMTAR = BBTAR * AMUAMU + 0.001D+00 * FKENER ( BBTAR, ZZTAR ) - AMNTAR = AMMTAR - ZZTAR * AMELEC + ELBNDE ( ICHTAR ) - ETTOT = AMNTAR + EKE + AM (IJ) - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Kaon-short and kaon-long are transformed into a kaon0 or a -* | kaon0-bar - IF (IJ .EQ. 12 .OR. IJ. EQ. 19) THEN - IJ = 24 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. 0.5D0) IJ = 25 -* | -* +-------------------------------------------------------------------* -* | Pi0 quark configurations are selected according to 50% uubar and -* | 50% ddbar - ELSE IF ( IJ .EQ. 23 .OR. IJ .EQ. 26 ) THEN -* | +----------------------------------------------------------------* -* | | - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. 0.5D+00 ) THEN - IJ = 23 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - IJ = 26 - END IF -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* - ETEPS = MAX ( 1.D-10 * EKE, 1.D-10 ) - 50 CONTINUE -*-->-->-->-->--> Come here for resampling -* Reset all the accumulators - NP = NP0 - NPHEAV = 0 - LRNFSS = .FALSE. - LEVDIF = .FALSE. - LHADRI = .FALSE. - ICHTOT = ICHTAR + ICH(IJ) - TV = 0.D+00 - TVRECL = 0.D+00 - TVHEAV = 0.D+00 - TVCMS = 0.D+00 - EOTEST = ETTOT - LRESMP = .FALSE. - LLASTN = .FALSE. - LLAST1 = .FALSE. - EUZ = 0.D+00 - PUX = 0.D+00 - PUY = 0.D+00 - PUZ = 0.D+00 - TVEUZ = 0.D+00 - ICU = 0 - IBU = 0 - EINTR = 0.D+00 - PXINTR = 0.D+00 - PYINTR = 0.D+00 - PZINTR = 0.D+00 - ICINTR = 0 - IBINTR = 0 - ENUCR = 0.D+00 - PXNUCR = 0.D+00 - PYNUCR = 0.D+00 - PZNUCR = 0.D+00 - ICNUCR = 0 - IBNUCR = 0 - EFRM = 0.D+00 - PXFRM = 0.D+00 - PYFRM = 0.D+00 - PZFRM = 0.D+00 - PSEA = 0.D+00 - TVGRE0 = 0.D+00 - TVGREY = 0.D+00 - IGREYP = 0 - IGREYN = 0 - KTARP = 0 - KTARN = 0 - IEVAPL = 0 - IEVAPH = 0 - IEVPRO = 0 - IEVNEU = 0 - IEVDEU = 0 - IEVTRI = 0 - IEV3HE = 0 - IEV4HE = 0 - IDEEXG = 0 - ANOW = BBTAR - ZNOW = ZZTAR - DSOPP = 0.D+00 - NNHAD = 0 - RN1GSC = -1.D+00 - RN2GSC = -1.D+00 - IF ( POO .GE. PTHRSH (IJIJ) ) GO TO 200 -* Below 5 GeV/c use Nucrin: - 100 CONTINUE - ANCOLL = 1.D+00 -* +-------------------------------------------------------------------* -* | Check for Hydrogen - IF ( IBTAR .NE. 1 ) THEN -* | +----------------------------------------------------------------* -* | | Steering for Peanut: very temporary -* | | Protons and Neutrons below 260 MeV: - IF ( EKE .LT. 0.260D+00 .AND. ( IJ .EQ. 1 .OR. IJ .EQ. 8 ) - & .AND. IBTAR .GT. 4 ) THEN - CALL PEANUT ( IJ, EKE, POO, TXI, TYI, TZI, WE ) - IF ( LRESMP ) GO TO 50 - RETURN -* | | -* | +----------------------------------------------------------------* -* | | Stopping pi-s: - ELSE IF ( IJ .EQ. 14 .AND. EKE .LT. 2.D+00 * GAMMIN .AND. IBTAR - & .GT. 4 ) THEN - CALL PEANUT ( IJ, EKE, POO, TXI, TYI, TZI, WE ) - IF ( LRESMP ) GO TO 50 - RETURN - END IF -* | | -* | +----------------------------------------------------------------* -* | Now at first we sample the number of interactions - CALL CORRIN ( ZZTAR, BBTAR, IJ, POO, EKE ) - END IF - LNUCRI = .TRUE. - NP = NP0 - ELAB = EKE + AM(IJ) -* Redefinition of particle types: the recovery of proper charge and -* strangeness conservation after the interaction is not yet implemented - KPROJ = IJ - LCHTYP = .FALSE. -* +-------------------------------------------------------------------* -* | - IF ( KPROJ .LE. 30 ) THEN - GO TO ( 2017, 2018, 2999, 2020, 2021, 2022, 2999, 2999, 2999, - & 2026 ), KPROJ - 16 - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | - ELSE - GO TO ( 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039 ), - & KPTOIP (KPROJ) - 30 - GO TO 2999 - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Lambdas are considered as neutrons: after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip a pi- --> K-, or an eventual neutron into -* | a Sigma0/Lambda, -* | (we must flip a d quark into an s quark), or a pi0 --> K0bar, -* | or a p --> Sigma+ - 2017 CONTINUE - LCHTYP = .TRUE. - KPROJ = 8 -* | Adjusting mass and momentum for lambdas (now n) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | Alambdas are considered as antineutrons : after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip a pi+ --> K+, or an eventual neutronbar into a -* | Lambdabar, (we must flip a dbar quark into an sbar quark), -* | or a pi0 --> K0, or a pbar --> Sigma+bar (ASigma-) ( there -* | are also possible ways through eta, rho and omega mesons ) - 2018 CONTINUE - LCHTYP = .TRUE. - KPROJ = 9 -* | Adjusting mass and momentum for alambdas (now an) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | Sigma-s are considered as neutrons : after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip a pi+ --> K0bar, or an eventual neutron into a Sigma-, -* | (we must flip a u quark into an s quark), or a pi0 --> K-, -* | or a p --> Sigma0/Lambda - 2020 CONTINUE - LCHTYP = .TRUE. - KPROJ = 8 -* | The following card must be commented following the strangeness -* | and charge conservation recovery implementation - ICHTOT = ICHTOT + 1 -* | Adjusting mass and momentum for Sigma-s (now n) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | Sigma+s are considered as protons : after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip a pi- --> K-, or an eventual proton into a Sigma+, -* | (we must flip a d quark into an s quark), or a pi0 --> K0bar, -* | or a n --> Sigma0/Lambda - 2021 CONTINUE - LCHTYP = .TRUE. - KPROJ = 1 -* | Adjusting mass and momentum for Sigma+s (now p) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | Sigma0s are considered as neutrons: after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip a pi- --> K-, or an eventual neutron into -* | a Sigma0/Lambda, -* | (we must flip a d quark into an s quark), or a pi0 --> K0bar, -* | or a p --> Sigma+ - 2022 CONTINUE - LCHTYP = .TRUE. - KPROJ = 8 -* | Adjusting mass and momentum for Sigma0s (now n) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | Pi0 must be 23 for Nucrin - 2026 CONTINUE - KPROJ = 23 - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | ASigma-s are considered as pbars: after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip a pi+ --> K+, or an eventual pbar into a ASigma-, -* | (we must flip a dbar quark into an sbar quark), or a pi0 --> K0, -* | or a nbar --> ASigma0/ALambda - 2031 CONTINUE - LCHTYP = .TRUE. - KPROJ = 2 -* | Adjusting mass and momentum for ASigma-s (now pbar) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | ASigma0s are considered as nbar: after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip a pi+ --> K+, or an eventual nbar into -* | a ASigma0/ALambda, -* | (we must flip a dbar quark into an sbar quark), or a pi0 --> K0, -* | or a pbar --> ASigma- - 2032 CONTINUE - LCHTYP = .TRUE. - KPROJ = 9 -* | Adjusting mass and momentum for ASigma0s (now nbar) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | ASigma+s are considered as nbar : after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip a pi- --> K0, or an eventual nbar into a ASigma+, -* | (we must flip a ubar quark into an sbar quark), or a pi0 --> K+, -* | or a pbar --> ASigma0/ALambda - 2033 CONTINUE - LCHTYP = .TRUE. - KPROJ = 9 -* | The following card must be commented following the strangeness -* | and charge conservation recovery implementation - ICHTOT = ICHTOT - 1 -* | Adjusting mass and momentum for ASigma+s (now nbar) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | Xsi0s are considered as neutrons: after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip an eventual neutron into a Xsi0, -* | or a proton --> Sigma+ and a pi- --> K- (or a pi0 --> K0bar) etc. -* | (we must flip two d quarks into s quarks) - 2034 CONTINUE - LCHTYP = .TRUE. - KPROJ = 8 -* | Adjusting mass and momentum for Xsi0s (now n) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | AXsi0s are considered as nbars: after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip an eventual nbar into a AXsi0, -* | or a pbar --> ASigma- and a pi+ --> K+ (or a pi0 --> K0) etc. -* | (we must flip two dbar quarks into sbar quarks) - 2035 CONTINUE - LCHTYP = .TRUE. - KPROJ = 9 -* | Adjusting mass and momentum for AXsi0s (now nbar) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | Xsi-s are considered as protons: after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip an eventual proton into a Xsi-, -* | or a neutron --> Sigma- and a pi+ --> K0bar (or a pi0 --> K-) etc. -* | (we must flip two u quarks into s quarks) - 2036 CONTINUE - LCHTYP = .TRUE. - KPROJ = 1 -* | The following card must be commented following the strangeness -* | and charge conservation recovery implementation - ICHTOT = ICHTOT + 2 -* | Adjusting mass and momentum for Xsi-s (now p) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | AXsi+s are considered as pbars: after the interaction -* | a possible way to recover strangeness and charge conservation -* | is to flip an eventual pbar into a AXsi+, -* | or a nbar --> ASigma+ and a pi- --> K0 (or a pi0 --> K+) etc. -* | (we must flip two ubar quarks into sbar quarks) - 2037 CONTINUE - LCHTYP = .TRUE. - KPROJ = 2 -* | The following card must be commented following the strangeness -* | and charge conservation recovery implementation - ICHTOT = ICHTOT - 2 -* | Adjusting mass and momentum for AXsi+s (now pbar) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | Omega-s are considered as protons: after the interaction there -* | are many possible ways to recover strangeness and charge -* | conservation (we must flip a d quark into an s quark and two u -* | quarks into s quarks). - 2038 CONTINUE - LCHTYP = .TRUE. - KPROJ = 1 -* | The following card must be commented following the strangeness -* | and charge conservation recovery implementation - ICHTOT = ICHTOT + 2 -* | Adjusting mass and momentum for Omega-s (now p) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* -* | Omegabar+s are considered as pbars: after the interaction there -* | are many possible ways to recover strangeness and charge -* | conservation (we must flip a dbar quark into an sbar quark and -* | two ubar quarks into sbar quarks). - 2039 CONTINUE - LCHTYP = .TRUE. - KPROJ = 2 -* | The following card must be commented following the strangeness -* | and charge conservation recovery implementation - ICHTOT = ICHTOT - 2 -* | Adjusting mass and momentum for AOmega+s (now pbar) - POO = SQRT ( ( ELAB + AM(KPROJ) ) * ( ELAB - AM(KPROJ) ) ) - PTTOT = POO - PXTTOT = PTTOT*TXI - PYTTOT = PTTOT*TYI - PZTTOT = PTTOT*TZI - GO TO 2999 -* | -* +-------------------------------------------------------------------* - 2999 CONTINUE -* +-------------------------------------------------------------------* -* | Check for hydrogen!!!! - IF ( IBTAR .EQ. 1 ) THEN - TV = 0.D+00 - NP = NP0 - ITTA = 8 - 7 * ICHTAR - IF ( KPROJ .EQ. 14 .AND. EKE .LT. 2.D+00 * GAMMIN ) THEN - CALL PMPRAB ( KPROJ, EKE, POO, TXI, TYI, TZI, WE ) - RETURN - END IF -* | Set a flag to avoid elastic collision in Hadrin - IELFLG = +1 -* | Set a flag to fully exploit charge exchange - ICXFLG = 0 - CALL HADRIV ( KPROJ, POO, ELAB, TXI, TYI, TZI, ITTA ) - IELFLG = -1 - ICXFLG = -1 -* | +----------------------------------------------------------------* -* | | - IF ( IH .LE. 1 ) THEN -* | | +-------------------------------------------------------------* -* | | | - IF ( ITH (1) .EQ. KPROJ ) THEN - IH = IH + 1 - ITH (2) = 1 - CXH (2) = TXI - CYH (2) = TYI - CZH (2) = TZI - PLH (2) = 0.D+00 - ELH (2) = AM (1) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE IF ( ITH (1) .EQ. 1 ) THEN - IH = IH + 1 - ITH (2) = KPROJ - CXH (2) = TXI - CYH (2) = TYI - CZH (2) = TZI - PLH (2) = 0.D+00 - ELH (2) = AM (KPROJ) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - END IF -* | | | -* | | +-------------------------------------------------------------* - END IF -* | | -* | +----------------------------------------------------------------* - -* | +----------------------------------------------------------------* -* | | Looping over the particles produced in hadrin - DO 110 J=1,IH - NP = NP + 1 - TKI(NP) = ELH(J) - AM(ITH(J)) -* | | +-------------------------------------------------------------* -* | | | - IF ( TKI(NP) .GE. 0.D+00 ) THEN - KPART(NP) = ITH(J) - CXR(NP) = CXH(J) - CYR(NP) = CYH(J) - CZR(NP) = CZH(J) - PLR(NP) = PLH(J) - WEI(NP) = WE -* | | | Updating conservation counters - ENUCR = ENUCR + ELH(J) - PXNUCR = PXNUCR + PLR(NP)*CXR(NP) - PYNUCR = PYNUCR + PLR(NP)*CYR(NP) - PZNUCR = PZNUCR + PLR(NP)*CZR(NP) - ICNUCR = ICNUCR + ICH(KPART(NP)) - IBNUCR = IBNUCR + IBAR(KPART(NP)) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE IF ( ABS ( TKI (NP) ) .LE. ANGLGB ) THEN -* | | | Updating conservation counters - ENUCR = ENUCR + ELH(J) - ICNUCR = ICNUCR + ICH(ITH(J)) - IBNUCR = IBNUCR + IBAR(ITH(J)) - NP = NP - 1 -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - NP = NP - 1 - END IF -* | | | -* | | +-------------------------------------------------------------* - 110 CONTINUE -* | | -* | +----------------------------------------------------------------* - KTARP = 1 - ANOW = 0.D+00 - ZNOW = 0.D+00 - ICRES = 0 - IBRES = 0 - ERES = 0.D+00 - EOTEST = EOTEST - ENUCR -* | +----------------------------------------------------------------* -* | | - IF ( ABS (EOTEST) .GT. ETEPS ) THEN - WRITE (LUNERR,*)' Eventq: eotest failure with Hadrin', - & EOTEST - LRESMP = .TRUE. - GO TO 50 -* | -* +-<|--<--<--<--<--< go to resampling - END IF -* | | -* | +----------------------------------------------------------------* - RETURN - END IF -* | end hydrogen check -* +-------------------------------------------------------------------* -* -* Now calling Nucrin to produce secondary particles, which are put -* into the /Finuc/ common -* - CALL NUCRIV ( KPROJ, ELAB, TXI, TYI, TZI, BBTAR, - & ZZTAR, RHO(IMAT) ) - IF ( LRESMP ) GO TO 50 -*--<--<--<--<--< go to resampling if something was wrong - TVGRE0 = TV - TVGREY - TVEUZ = 0.D+00 - TVTENT = TV - TV = 0.D+00 - IF (NP .GT. MXP) GO TO 400 -* +-------------------------------------------------------------------* -* | Looping over the particles produced in nucrin -* | No need for Nucrin produced particles to -* | change the numbering - DO 101 I=NP0+1,NP - I1 = KPART(I) - WEI(I) = WE - TKI(I) = TKI(I) - AM(I1) - TXYZ = CXR (I)**2 + CYR (I)**2 + CZR (I)**2 - IF ( ABS (TXYZ-1.D0) .GT. CSNPRN ) THEN - WRITE ( LUNERR,* ) - & ' **** Bad normalized cosines from Nucriv!!!',I,TXYZ,CXR(I), - & CYR(I),CZR(I) - TXYZ = TXYZ - 1.D+00 - TXYZ = 1.D+00 - 0.5D+00 * TXYZ + 0.375D+00 * TXYZ * TXYZ - CXR (I) = CXR (I) * TXYZ - CYR (I) = CYR (I) * TXYZ - CZR (I) = CZR (I) * TXYZ - TXYZ = CXR (I)**2 + CYR (I)**2 + CZR (I)**2 - IF ( ABS (TXYZ-1.D0) .GT. CSNPRN ) THEN - LRESMP = .TRUE. - GO TO 50 - END IF - END IF - IF (TKI(I) .GE. 0.D+00) GO TO 101 - TKI(I) = 0.D+00 - PLR(I) = 0.D+00 - 101 CONTINUE -* | -* +-------------------------------------------------------------------* - GO TO 500 -C -C******************************************************************** -C GENERATE FIRST THE LOW ENERGY NUCLEONS FROM THE INTRANUCLEAR -C CASCADE - CHECK IF ACCEPTABLE. -C NOTE THAT AINEL AND RAKEKA ARE USING THE OLD PARTICLE NUMBERING -C******************************************************************** -C - 200 CONTINUE - NP = NP0 - LNUCRI = .FALSE. -* +-------------------------------------------------------------------* -* | Check for hydrogen!!!! - IF ( IBTAR .EQ. 1 ) THEN - ANCOLL = 1.D+00 - NHAD = 0 - KPROJ = IJ - KTARG = 1 - EPROJ = EKE + AM (KPROJ) - UMO = SQRT ( AM (1)**2 + AM (KPROJ)**2 + 2.D+00 * AM (1) * - & EPROJ ) -* | +----------------------------------------------------------------* -* | | Now diffractive events are taken into account for projectile -* | | -proton collisions!!! A. Ferrari and J. Ranft, 25-3-90 - IF ( LDIFFR (KPTOIP(KPROJ)) ) THEN - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. FRDIFF ) THEN - IF ( POO .GT. PTHDFF ) THEN - LEVDIF = .TRUE. - CALL DIFEVV ( NHAD, KPROJ, KTARG, POO, EPROJ, UMO ) - ELSE - CALL HADEVV ( NHAD, KPROJ, KTARG, POO, EPROJ, UMO ) - END IF - ELSE - CALL HADEVV ( NHAD, KPROJ, KTARG, POO, EPROJ, UMO ) - END IF -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - CALL HADEVV ( NHAD, KPROJ, KTARG, POO, EPROJ, UMO ) - END IF -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | Loop over particles produced in hadevt/difevt - DO 207 J=1,NHAD - NP = NP + 1 - CFE = 1.D+00 - SFE = 0.D+00 -* | | Get the "paprop" index - KPART(NP) = KPTOIP (NREH(J)) - IF ( KPART (NP) .EQ. 0 ) THEN - WRITE (LUNERR,*) - & ' **** Charmed particle produced in Hadevv/Difevv', - & NREH(J),HEPH(J),AMH(J),' ****' - KPART (NP) = NREH (J) - END IF - PLR(NP) = SQRT ( PXH(J)**2 + PYH(J)**2 + PZH(J)**2 ) - PTH = SQRT( PXH(J)**2 + PYH(J)**2 ) - CDE = PZH(J) / PLR(NP) - SDE = PTH / PLR(NP) - IF (SDE .GE. ANGLGB) THEN - CFE = PXH(J) / PTH - SFE = PYH(J) / PTH - END IF - CALL TTRANS ( TXI, TYI, TZI, CDE, SDE, SFE, CFE, - & CXR(NP), CYR(NP), CZR(NP) ) - TKI(NP) = HEPH(J) - AMH(J) - WEI(NP) = WE -* | | +-------------------------------------------------------------* -* | | | Updating conservation counters - IF ( TKI(NP) .GT. 0.D+00 ) THEN - EUZ = EUZ + HEPH(J) - PUX = PUX + PLR(NP)*CXR(NP) - PUY = PUY + PLR(NP)*CYR(NP) - PUZ = PUZ + PLR(NP)*CZR(NP) - ICU = ICU + ICH(NREH(J)) - IBU = IBU + IBAR(NREH(J)) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - NP = NP-1 - END IF -* | | | -* | | +-------------------------------------------------------------* - 207 CONTINUE -* | | end loop -* | +----------------------------------------------------------------* - ANOW = 0.D+00 - ZNOW = 0.D+00 - KTARP = 1 - ICRES = 0 - IBRES = 0 - ERES = 0.D+00 - EOTEST = EOTEST - EUZ -* | +----------------------------------------------------------------* -* | | - IF ( ABS (EOTEST) .GT. ETEPS ) THEN - WRITE (LUNERR,*)' Eventq: eotest failure with', - & ' Hadevt/Diffevt',EOTEST - END IF -* | | -* | +----------------------------------------------------------------* - RETURN - END IF -* | end hydrogen check -* +-------------------------------------------------------------------* -* Now at first we sample the number of interactions - CALL COREVT ( ZZTAR, BBTAR, IJ, POO, EKE ) -* -* First decide how much energy will go into the intranuclear cascade -* - EKIN = EKE -* Here starts the cascade particle production module!!! - SOPPP (1) = EINCP - SOPPP (2) = EINCN - ARECL = MAX ( ANOW - 1.D+00, 1.D+00 ) - KREJE = 0 - NGREYT = NGREYP + NGREYN - TVTENT = ANCOLL * ( AV0WEL - AEFRMA ) + TVGRE0 - TMP015 = 0.15D+00 - EEXTRA = 2.D+00* MIN ( TWOTWO * ( EKUPNU (1) + EKUPNU (2) ) - & , TMP015 * - & ( EKE - EINCP - EINCN - TVTENT ), EINCP + EINCN ) - EEXTRA = MAX ( EEXTRA, EKUPNU (1), EKUPNU (2) ) - LINCCK = .FALSE. - PXCASC = 0.D+00 - PYCASC = 0.D+00 - PZCASC = 0.D+00 - PTXINT = 0.D+00 - PTYINT = 0.D+00 - PPINTR = 0.D+00 - EKRECL = 0.D+00 - IEXTRN = 0 - IEXTRP = 0 - LACCEP = .FALSE. - IGREYT = 0 - IF ( NGREYT .EQ. 0 ) GO TO 206 -* +-------------------------------------------------------------------* -* | Now looping until we reach the correct number of cascade -* | nucleons - 205 CONTINUE - IGREYT = IGREYP + IGREYN - DSOPP = SOPPP (1) + SOPPP (2) -* | Now it is not possible to reduce too heavily the available energy - IF ( EKIN - TVGRE0 .LT. 0.5D+00 * EKE .OR. PZCASC .GE. - & 0.5D+00 * POO ) GO TO 206 -* | +----------------------------------------------------------------* -* | | - IF ( IGREYT .GE. NGREYT ) THEN - AEXTRA = 2.D+00 * DSOPP / ( EKINAV (1) + EKINAV (2) - & + ESWELL (1) + ESWELL (2) ) - & / ( IGREYT - NGREYT + 1 ) - CALL GRNDM(RNDM,1) - RNDUMO = RNDM (1) -* | | +-------------------------------------------------------------* -* | | | - IF ( RNDUMO .LT. AEXTRA .AND. LACCEP .AND. NINT (ANOW) - & .GT. 0 ) THEN - REJE = ZNOW / ANOW -* | | | +----------------------------------------------------------* -* | | | | - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. REJE ) THEN - IEXTRP = MIN ( 1, NINT (ZNOW), NGREYP / 2 ) - IF ( NGREYP + IEXTRP - IGREYP .LE. 0 ) GO TO 206 -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE -* IEXTRN = MIN ( IEXTRN + 1, NINT (ANOW - ZNOW), 2 ) - IEXTRN = MIN ( 1, NINT (ANOW - ZNOW), NGREYN / 2 ) - IF ( NGREYN + IEXTRN - IGREYN .LE. 0 ) GO TO 206 - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - GO TO 206 -* | | | -* | | |-->-->-->-->--> We have finished particles!! - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | -* | +----------------------------------------------------------------* -* | | - ELSE IF ( DSOPP .LE. - EEXTRA ) THEN - GO TO 206 -* | | -* | |-->-->-->-->--> We have finished energy - END IF -* | | -* | +----------------------------------------------------------------* - LACCEP = .FALSE. -* | +----------------------------------------------------------------* -* | | Check how many nucleons are still available for cascade - IF ( ANOW .LT. 1.5D+00 ) THEN -* | | +-------------------------------------------------------------* -* | | | Check if at least two high energy collisions are foreseen -* | | | if yes the proper energy / momentum balance for the last -* | | | two nucleons will be done inside Ferevv - IF ( ANCOLL .GT. 1.5D+00 ) THEN -* | | | -* | | +-------------------------------------------------------------* -* | | | Only the valence collision is foreseen: we are forced -* | | | to perform here the balance for the 2 last nucleons! -* | | | (One might be used here for cascading, the other -* | | | will be used by Hadevv / Difevv) - ELSE - LLASTN = .TRUE. - KTLAST = IJTARG (1) - AMLAST = AM ( KTLAST ) -* | | | +----------------------------------------------------------* -* | | | | - IF ( NINT ( ZNOW ) .GT. 0 ) THEN - KTINC = 1 - IGREYP = IGREYP + 1 -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE - KTINC = 8 - IGREYN = IGREYN + 1 - END IF -* | | | | -* | | | +----------------------------------------------------------* - AMINC = AM (KTINC) - UMIN2 = ( AMLAST + AMINC )**2 - DSOPP = MAX ( DSOPP, AV0WEL - AEFRMA ) - 216 CONTINUE - EKIN = EKIN - DSOPP -* | | | +----------------------------------------------------------* -* | | | | Check if we can get enough invariant mass - IF ( EKIN .LE. 0.2D+00 * EKE ) THEN - WRITE ( LUNOUT, * ) - & ' *** Eventv: impossible to get enough invariant', - & ' mass for the last two nucleons! ****' - WRITE ( LUNERR, * ) - & ' *** Eventv: impossible to get enough invariant', - & ' mass for the last two nucleons! ****' - LRESMP = .TRUE. - GO TO 50 -* | | | |---<---<---< Go to resampling - END IF -* | | | | -* | | | +----------------------------------------------------------* - ELEFT = ETTOT - EINTR - EKIN - AM (IJ) - PLA = SQRT ( EKIN * ( EKIN + 2.D+00 * AM (IJ) ) ) - PXLEFT = PXTTOT - PXINTR - PLA * TXI - PYLEFT = PYTTOT - PYINTR - PLA * TYI - PZLEFT = PZTTOT - PZINTR - PLA * TZI -* | | | Now we will divide Eleft and Pleft between the two -* | | | left nucleons! - UMO2 = ELEFT**2 - PXLEFT**2 - PYLEFT**2 - PZLEFT**2 -* | | | +----------------------------------------------------------* -* | | | | - IF ( UMO2 .LE. UMIN2 ) THEN -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( KTINC .EQ. 1 ) THEN - EINCP = EINCP + DSOPP -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - EINCN = EINCN + DSOPP - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - GO TO 216 - END IF -* | | | | -* | | | +----------------------------------------------------------* - UMO = SQRT ( UMO2 ) - ELACMS = 0.5D+00 * ( UMO2 + AMLAST**2 - AMINC**2 ) - & / UMO - EINCMS = UMO - ELACMS - PCMS = SQRT ( ELACMS**2 - AMLAST**2 ) - GAMCM = ELEFT / UMO - ETAX = PXLEFT / UMO - ETAY = PYLEFT / UMO - ETAZ = PZLEFT / UMO - CALL RACO ( CXXINC, CYYINC, CZZINC ) - PCMSX = PCMS * CXXINC - PCMSY = PCMS * CYYINC - PCMSZ = PCMS * CZZINC -* | | | Now go back from the CMS frame to the lab frame!!! -* | | | First the inc nucleon: - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - NP = NP + 1 - IF (NP .GT. MXP) GO TO 400 - KPART(NP)= KTINC - WEI (NP) = WE - TKI (NP) = GAMCM * EINCMS + ETAPCM - AMINC - PHELP = ETAPCM / (GAMCM + 1.D0) + EINCMS - CXXINC = PCMSX + ETAX * PHELP - CYYINC = PCMSY + ETAY * PHELP - CZZINC = PCMSZ + ETAZ * PHELP -* | | | Updating conservation counters - EINTR = EINTR + TKI(NP) + AMINC - PXINTR = PXINTR + CXXINC - PYINTR = PYINTR + CYYINC - PZINTR = PZINTR + CZZINC - ICINTR = ICINTR + ICH (KPART(NP)) - IBINTR = IBINTR + IBAR (KPART(NP)) - PLR (NP) = SQRT (CXXINC * CXXINC + CYYINC * CYYINC + - & CZZINC * CZZINC) - CXR (NP) = CXXINC / PLR (NP) - CYR (NP) = CYYINC / PLR (NP) - CZR (NP) = CZZINC / PLR (NP) -* | | | Now the high energy collision nucleon - EKLAST = GAMCM * ELACMS - ETAPCM - AMLAST - PHELP = - ETAPCM / (GAMCM + 1.D0) + ELACMS - PXLAST = - PCMSX + ETAX * PHELP - PYLAST = - PCMSY + ETAY * PHELP - PZLAST = - PCMSZ + ETAZ * PHELP -* | | | Now we perform a Lorentz transformation to the rest fra- -* | | | me of the "last" nucleon, with the projectile momentum -* | | | along the +z axis - AMPROJ = AM (IJ) - EPROJ = EKIN + AMPROJ - ECHCK = EPROJ + AMLAST + EKLAST - PXCHCK = PLA * TXI + PXLAST - PYCHCK = PLA * TYI + PYLAST - PZCHCK = PLA * TZI + PZLAST - UMO = SQRT ( ECHCK**2 - PXCHCK**2 - PYCHCK**2 - - & PZCHCK**2 ) - EPROJX = 0.5D+00 * ( UMO**2 - AMPROJ**2 - AMLAST**2 ) - & / AMLAST - PPROJX = SQRT ( EPROJX**2 - AMPROJ**2 ) - ETOTX = EPROJX + AMLAST -* | | | Now set the parameters for the Lorentz transformation - AAFACT = ECHCK + ETOTX - BBFACT = PPROJX - PZCHCK - DDENOM = ETOTX * AAFACT - PPROJX * BBFACT - GAMTRA = ( ECHCK * AAFACT + PPROJX * BBFACT ) / DDENOM - ETAZ = - BBFACT * AAFACT / DDENOM - ETAX = PXCHCK * ( GAMTRA + 1.D+00 ) / AAFACT - ETAY = PYCHCK * ( GAMTRA + 1.D+00 ) / AAFACT - PLABS = PPROJX - ELABS = EPROJX -* | | | +----------------------------------------------------------* -* | | | | - IF ( .NOT. LDIFFR (KPTOIP(IJ)) .OR. PLABS .LE. PTHDFF ) - & THEN - RUUN = 1.D0 -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE - CALL GRNDM(RNDM,1) - RUUN = RNDM (1) - END IF -* | | | | -* | | | +----------------------------------------------------------* - NHAD = 0 -* | | | +----------------------------------------------------------* -* | | | | Diffractive event - IF ( RUUN .LE. FRDIFF ) THEN - LEVDIF = .TRUE. - CALL DIFEVV ( NHAD, IJ, KTLAST, PLABS, ELABS, UMO ) -* | | | | -* | | | +----------------------------------------------------------* -* | | | | Usual event - ELSE - CALL HADEVV ( NHAD, IJ, KTLAST, PLABS, ELABS, UMO ) - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | Now we have the particles in the nucleon rest frame, -* | | | transform back in the lab frame -* | | | +----------------------------------------------------------* -* | | | | Looping over the produced particles - DO 236 I = 1, NHAD - NP = NP + 1 - IF (NP .GT. MXP) GO TO 400 - CALL ALTRA ( GAMTRA, ETAX, ETAY, ETAZ, PXH (I), - & PYH (I), PZH (I), HEPH (I), PLR (NP), - & CXR (NP), CYR (NP), CZR (NP), ELR ) -* | | | | Updating conservation counters - EUZ = EUZ + ELR - PUX = PUX + CXR (NP) - PUY = PUY + CYR (NP) - PUZ = PUZ + CZR (NP) - KPART (NP) = KPTOIP ( NREH (I) ) - IF ( KPART (NP) .EQ. 0 ) THEN - WRITE (LUNERR,*) - & ' **** Charmed particle produced in Hadevv', - & NREH(I),ELR,AMH(I),' ****' - KPART (NP) = NREH (I) - END IF - ICU = ICU + ICH (NREH(I)) - IBU = IBU + IBAR (NREH(I)) - CXR (NP) = CXR (NP) / PLR (NP) - CYR (NP) = CYR (NP) / PLR (NP) - CZR (NP) = CZR (NP) / PLR (NP) - TKI (NP) = ELR - AMH (I) - WEI (NP) = WE - 236 CONTINUE -* | | | | -* | | | +----------------------------------------------------------* -* | | | Now perform the standard tests for energy and momentum -* | | | conservation - ERES = ETTOT - EUZ - ENUCR - EINTR - PXRES = PXTTOT - PUX - PXNUCR - PXINTR - PYRES = PYTTOT - PUY - PYNUCR - PYINTR - PZRES = PZTTOT - PUZ - PZNUCR - PZINTR - ICRES = ICHTOT - ICU - ICNUCR - ICINTR - IBRES = IBTOT - IBU - IBNUCR - IBINTR - PTRES = MAX ( ABS (PXRES), ABS (PYRES), ABS (PZRES) ) -* | | | +----------------------------------------------------------* -* | | | | - IF ( IBRES .NE. 0 .OR. ICRES .NE. 0 .OR. ABS (ERES) - & .GT. 1.D-10*EPROJ .OR. PTRES .GT. 1.D-10*PTTOT ) - & THEN - WRITE ( LUNERR, * ) - & ' Eventq: last nucleon failure!!', ICRES, - & IBRES, REAL (ERES), REAL (PXRES), - & REAL (PYRES), REAL (PZRES) - LRESMP = .TRUE. - GO TO 50 -* | | |--|--<--<--<--<--< go to resampling - END IF -* | | | | -* | | | +----------------------------------------------------------* - PTRES = 0.D+00 - RETURN - END IF -* | | | -* | | +-------------------------------------------------------------* - END IF -* | | -* | +----------------------------------------------------------------* - -* | +----------------------------------------------------------------* -* | | - IF ( NINT ( ANOW - ZNOW ) .LE. 0 ) THEN - REJE = 1.D+00 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - REJE = MAX ( ZNOW * ( NGREYP + IEXTRP - IGREYP ), - & ZERZER ) - HELP = REJE + ( ANOW - ZNOW ) * ( NGREYN + - & IEXTRN - IGREYN ) - IF ( HELP .GT. 0.D+00 ) THEN - REJE = REJE / HELP - ELSE - REJE = 1.D+00 - WRITE(LUNERR,*)' EVENTV: HELP=0, ANOW,ZNOW',ANOW,ZNOW - & ,' NGREYN,IGREYN,IEXTRN', - & NGREYN,IGREYN,IEXTRN, - & ' NGREYP,IGREYP,IEXTRP', - & NGREYP,IGREYP,IEXTRP - END IF - END IF -* | | -* | +----------------------------------------------------------------* - -* | +----------------------------------------------------------------* -* | | - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. REJE ) THEN - ILO = 1 - ILLO = 2 - KP = 1 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - ILO = 2 - ILLO = 1 - KP = 8 - END IF -* | | -* | +----------------------------------------------------------------* - CALL RAKEKV ( ILO, EXSOP, BBTAR, TKIN, TSTRCK, PLA, ARECL, - & TKRECL, EFERMI, CDE, SDE ) - IF ( EKIN - TKIN .LT. 0.5D+00 * EKE ) GO TO 206 -* |--|--<--<--<--<--< avoid to deplete too much the energy -* | +----------------------------------------------------------------* -* | | Now check if the nucleon energy is acceptable: - IF ( SOPPP (ILO) .LT. TKIN ) THEN -* | | +-------------------------------------------------------------* -* | | | - IF ( TKIN - SOPPP (ILO) .LT. SOPPP (ILLO) + 1.5D+00 * - & EEXTRA ) THEN - SOPPP (ILLO) = SOPPP (ILLO) + SOPPP (ILO) - TKIN - & - EXSOP (ILO) - SOPPP (ILO) = 0.D+00 -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - KREJE = KREJE + 1 - IF ( KREJE .GT. 10 ) GO TO 206 - SOPPP (ILLO) = SOPPP (ILLO) + SOPPP (ILO) - SOPPP (ILO) = 0.D+00 - GO TO 205 - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - SOPPP (ILO) = SOPPP (ILO) - TKIN - EXSOP (ILO) - END IF -* | | -* | +----------------------------------------------------------------* - IF ( NINT ( ANOW ) .LE. 0 ) GO TO 206 -* | +----------------------------------------------------------------* -* | | Update the current atomic and mass number - IF ( ILO .EQ. 1 ) THEN - IF ( NINT ( ZNOW ) .LE. 0 ) GO TO 206 - IGREYP = IGREYP + 1 - ZNOW = ZNOW - 1.D+00 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - IGREYN = IGREYN + 1 - END IF -* | | -* | +----------------------------------------------------------------* - ANOW = ANOW - 1.D+00 -* | Now make the kinematical tests!! - FRSURV = ARECL / BBTAR - NP = NP + 1 - IF ( NP .GT. MXP ) GO TO 400 - EKIN = EKIN - TKIN -* Note the change!! - LINCCK = ARECL .LT. 30.D+00 .AND. FRSURV .LE. 0.33D+00 -* | +----------------------------------------------------------------* -* | | - IF ( .NOT. LINCCK ) THEN - CALL SFECFE ( SFE, CFE ) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - IF ( CDE .GT. 0.D+00 ) THEN - CDE = CDE * FRSURV / 0.33D+00 - SDE = SQRT ( 1.D+00 - CDE**2 ) - END IF - CALL SFECFE ( SFE, CFE ) - END IF -* | | -* | +----------------------------------------------------------------* - PTXINT = PTXINT + PLA * CFE * SDE - PTYINT = PTYINT + PLA * SFE * SDE - PPINTR = PPINTR + PLA * CDE - CALL TTRANS ( TXI, TYI, TZI, CDE, SDE, SFE, CFE, - & CXR (NP), CYR (NP), CZR (NP) ) -* | Generated nucleon is acceptable - save it - LACCEP = .TRUE. - TVGRE0 = TVGRE0 + EXSOP (ILO) - TVGREY = TVGREY + TKIN + TKRECL - TSTRCK - EBNDNG (ILO) - EKRECL = EKRECL + TKRECL - ARECL = MAX ( ARECL - 1.D+00, 1.D+00 ) - KPART(NP)= KP - WEI(NP) = WE - TKI(NP) = TSTRCK - PLR(NP) = PLA -* | Updating the counters for spent momenta -* | of the cascade nucleons (the momentum -* | spent by the high energy particles) - SINTH = SQRT ( 1.D+00 - COSTH * COSTH ) - PLA = SQRT ( ( EFERMI + TKIN )**2 - AMNUSQ (ILO) ) - PZLEFT = PLA * CDE - COSTH * PKFRMI - IF ( PZLEFT + PZCASC .LT. EKE - EKIN + TVGRE0 ) THEN - PZCASC = EKE - EKIN + TVGRE0 - PXCASC = PXCASC + CFE * ( PLA * SDE - SINTH * PKFRMI ) - PYCASC = PYCASC + SFE * ( PLA * SDE - SINTH * PKFRMI ) - ELSE - PZCASC = PZCASC + PZLEFT - PXCASC = PXCASC + CFE * ( PLA * SDE - SINTH * PKFRMI ) - PYCASC = PYCASC + SFE * ( PLA * SDE - SINTH * PKFRMI ) - END IF -* | Updating conservation counters - EINTR = EINTR + TKI(NP) + AM (KPART(NP)) - PXINTR = PXINTR + PLR(NP) * CXR(NP) - PYINTR = PYINTR + PLR(NP) * CYR(NP) - PZINTR = PZINTR + PLR(NP) * CZR(NP) - ICINTR = ICINTR + ICH (KPART(NP)) - IBINTR = IBINTR + IBAR (KPART(NP)) - GO TO 205 -* | -* +--<--<--<--<--< go to sample another nucleon - 206 CONTINUE -* +-------------------------------------------------------------------* -* | First check charge and baryonic number conservation: - IF ( IGREYP .NE. ICINTR .OR. ( IGREYP + IGREYN ) .NE. - & IBINTR ) THEN - WRITE ( LUNERR,* )' Eventq: charge or baryon number', - & ' conservation failure in the Inc', - & ' section!!', IGREYP, ICINTR, - & IGREYP + IGREYN, IBINTR - LRESMP = .TRUE. - GO TO 50 -*--|--<--<--<--<--< go to resampling - END IF -* | -* +-------------------------------------------------------------------* - TVTENT = TVGRE0 -* Tvgrey is already inside Eincp and Eincn since Rakekv updates the -* estimated excitation energy (and Tvgre0, Eincp, Eincn and the -* Soppp array) - EINCP = EINCP - SOPPP (1) - EINCN = EINCN - SOPPP (2) - EKIN = EKIN - TVTENT -* +-------------------------------------------------------------------* -* | Check if we have not spent too much energy!!! - IF ( EKIN .LT. 0.5D+00 * EKE ) THEN - LRESMP = .TRUE. - WRITE ( LUNERR,* ) ' Eventq: Ekin after inc too low!! ', - & EKIN, EKE, IJIJ - END IF -* | -* +-------------------------------------------------------------------* - IF ( LRESMP ) GO TO 50 -* -*--<--<--<--<--<--< go to resampling if something was wrong -* Here the modification to take into account properly the -* cascade nucleon momenta -* New version: rotate the spent momentum in the lab frame - IF ( IGREYT .GT. 0 ) THEN - PZCASC = MAX ( PZCASC, ZERZER ) - PTH = PXCASC * PXCASC + PYCASC * PYCASC - PLA = SQRT ( PTH + PZCASC * PZCASC ) - PTH = SQRT ( PTH ) - CDE = PZCASC / PLA - SDE = PTH / PLA - IF (SDE .GE. ANGLGB) THEN - CFE = PXCASC / PTH - SFE = PYCASC / PTH - ELSE - CFE = 1.D+00 - SFE = 0.D+00 - END IF - CALL TTRANS ( TXI, TYI, TZI, CDE, SDE, SFE, CFE, - & CXXINC, CYYINC, CZZINC ) - PXCASC = PLA * CXXINC - PYCASC = PLA * CYYINC - PZCASC = PLA * CZZINC - END IF - PXLEFT = PXTTOT - PXCASC - TXI * TVGRE0 - PYLEFT = PYTTOT - PYCASC - TYI * TVGRE0 - PZLEFT = PZTTOT - PZCASC - TZI * TVGRE0 - PLA = SQRT ( PXLEFT * PXLEFT + PYLEFT * PYLEFT + PZLEFT - & * PZLEFT ) - DEKVSP = PLA - EKIN - AM (IJ) -* +-------------------------------------------------------------------* -* | Check the momentum versus the total energy - IF ( DEKVSP .GE. 0.D+00 ) THEN -* | +----------------------------------------------------------------* -* | | There are good reasons to believe that the following attempt -* | | is dangerous rather than useful, leading to a Dp > DEk - IF ( TVGRE0 .GT. 0.D+00 ) THEN - TVTENT = TVTENT - TVGRE0 - EKIN = EKIN + TVGRE0 - TVGRE0 = 0.D+00 - PXLEFT = PXTTOT - PXCASC - PYLEFT = PYTTOT - PYCASC - PZLEFT = PZTTOT - PZCASC - PLA = SQRT ( PXLEFT * PXLEFT + PYLEFT * PYLEFT + PZLEFT - & * PZLEFT ) - IF ( EKIN + AM (IJ) .GT. PLA ) GO TO 300 -* | | This part is new (1-10-91) - DEEXTR = EKE - EKIN - EINTR + IGREYP * AM (1) - & + IGREYN * AM (8) - 1.5D+00 - & * (IGREYP+IGREYN) * EBNDAV - IF ( DEEXTR .GT. 0.D+00 ) THEN - EKIN = EKIN + 0.5D+00 * DEEXTR - EINCP = EINCP - 0.5D+00 * DEEXTR - EINCN = EINCN - 0.5D+00 * DEEXTR - PXLEFT = PXTTOT - PXCASC + 0.5D+00 * TXI * DEEXTR - PYLEFT = PYTTOT - PYCASC + 0.5D+00 * TYI * DEEXTR - PZLEFT = PZTTOT - PZCASC + 0.5D+00 * TZI * DEEXTR - PLA = SQRT ( PXLEFT * PXLEFT + PYLEFT * PYLEFT + PZLEFT - & * PZLEFT ) - IF ( EKIN + AM (IJ) .GT. PLA ) GO TO 300 - END IF - END IF -* | | -* | +----------------------------------------------------------------* - IF ( PLA - EKIN - AM (IJ) .LE. 1.D-04 * PLA ) GO TO 300 -* | +----------------------------------------------------------------* -* | | Printing condition relaxed, A.F., 23-12-92 - IF ( PLA - EKIN - AM (IJ) .GT. 1.D-02 * PLA ) THEN - WRITE ( LUNERR,* )' Eventv: ekin+am < pla,ij,igreyt', - & EKIN+AM(IJ),PLA,IJ,IGREYT - END IF -* | | -* | +----------------------------------------------------------------* - PTH = PLA - PLA = EKIN + AM(IJ) - PXLEFT = PXLEFT * PLA / PTH - PYLEFT = PYLEFT * PLA / PTH - PZLEFT = PZLEFT * PLA / PTH - END IF -* | -* +-------------------------------------------------------------------* - 300 CONTINUE -* end new version -* +-------------------------------------------------------------------* -* | Check if we have enough energy to enter the high energy module -* | if not reset the accumulators and go to nucrin - IF ( PLA .LT. PTHRSH (IJIJ) ) THEN - PREF = 0.45D+00 * POO -* | +----------------------------------------------------------------* -* | | Check if the momentum is much smaller than the original one - IF ( PLA .LE. PREF ) THEN -* | | +-------------------------------------------------------------* -* | | | - IF ( PLA .LE. 0.4D+00 * POO ) THEN - WRITE ( LUNERR,* )' Eventv: Pla < 0.4 Poo',PLA,POO,IJIJ, - & TKIN,IMAT - LRESMP = .TRUE. - GO TO 50 - END IF -* | | | -* | | +-------------------------------------------------------------* - END IF -* | | -* | +----------------------------------------------------------------* - PREF = MAX ( PREF, TWOTWO ) - PREF = MIN ( PREF, FOUFOU ) -* | +----------------------------------------------------------------* -* | | Originally it was < 10, but with Fermi momentum sometimes -* | | we were calling Hadrin with p > 10 GeV/c -* IF ( POO .LE. 9.75D+00 ) THEN - IF ( ( POO .LE. 9.75D+00 .AND. IJNUCR (IJIJ) .LE. 0 ) - & .OR. PLA .LT. PREF ) THEN - IGREYP = 0 - IGREYN = 0 - KTARP = 0 - KTARN = 0 - TVGRE0 = 0.D+00 - TVGREY = 0.D+00 - EINTR = 0.D+00 - PXINTR = 0.D+00 - PYINTR = 0.D+00 - PZINTR = 0.D+00 - ICINTR = 0 - IBINTR = 0 - ANOW = BBTAR - ZNOW = ZZTAR - IF ( IJ .EQ. 26 ) IJ = 23 - GO TO 100 - END IF -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* - TXX = PXLEFT / PLA - TYY = PYLEFT / PLA - TZZ = PZLEFT / PLA - ZTEMP = ZZTAR - IGREYP - ATEMP = BBTAR - IGREYN - ERES = ETTOT - EKIN - AM (IJ) - EINTR - AMNRES = AMUAMU * ATEMP + 1.D-03 * FKENER ( ATEMP, ZTEMP ) - - & ZTEMP * AMELEC + ELBNDE ( NINT (ZTEMP) ) -C -C******************************************************************** -C FOR MOMENTA ABOVE 5.0 GEV/C USE NUCEVT -C******************************************************************** -C -* -* From here the high energy model.... -* - NNHAD = 0 - CALL NUCEVV ( NNHAD, IJ, PLA, EKIN, TXX, TYY, TZZ ) - IF ( LRESMP ) GO TO 50 -*--<--<--<--<--< go to resampling if something was wrong -* +-------------------------------------------------------------------* -* | - IF ( LLASTN .AND. NINT ( ANOW ) .EQ. 1 ) THEN -* | +----------------------------------------------------------------* -* | | - IF ( KTINC .EQ. 1 ) THEN - IGREYP = IGREYP + 1 - EINCP = EINCP + EKINC - ZNOW = ZNOW - 1.D+00 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - IGREYN = IGREYN + 1 - EINCN = EINCN + EKINC - END IF -* | | -* | +----------------------------------------------------------------* - ANOW = ANOW - 1.D+00 - NP = NP + 1 - IF (NP .GT. MXP) GO TO 400 - KPART(NP)= KPTOIP (KTINC) - WEI (NP) = WE - TKI (NP) = EKINC -* | Updating conservation counters - EINTR = EINTR + TKI (NP) + AMINC - PXINTR = PXINTR + PXXINC - PYINTR = PYINTR + PYYINC - PZINTR = PZINTR + PZZINC - ICINTR = ICINTR + ICH (KTINC) - IBINTR = IBINTR + IBAR (KTINC) - PLR (NP) = SQRT (PXXINC * PXXINC + PYYINC * PYYINC + - & PZZINC * PZZINC) - CXR (NP) = PXXINC / PLR (NP) - CYR (NP) = PYYINC / PLR (NP) - CZR (NP) = PZZINC / PLR (NP) - END IF -* | -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | Loop over particles produced in nucevt - DO 301 I=1,NNHAD - NP = NP+1 - IF (NP .GT. MXP) GO TO 400 -* | Get the "paprop" index for Nucevt produced particles - KPART(NP) = KPTOIP (NRENU(I)) - IF ( KPART (NP) .EQ. 0 ) THEN - WRITE (LUNERR,*)' **** Charmed particle produced in Nucevv', - & NRENU(I),HEPNU(I),AMNU(I),' ****' - KPART (NP) = NRENU (I) - END IF - PLR (NP) = SQRT ( PXNU (I)**2 + PYNU (I)**2 + PZNU (I)**2 ) - CXR (NP) = PXNU (I) / PLR (NP) - CYR (NP) = PYNU (I) / PLR (NP) - CZR (NP) = PZNU (I) / PLR (NP) - TKI(NP) = HEPNU(I) - AMNU(I) - WEI(NP) = WE -* | +----------------------------------------------------------------* -* | | - IF (TKI(NP) .LE. 0.D+00) THEN -* | | Is this the only check on the generated particle energy?? - EUZ = EUZ - HEPNU(I) - PUX = PUX - PXNU(I) - PUY = PUY - PYNU(I) - PUZ = PUZ - PZNU(I) - ICU = ICU - ICHNU(I) - IBU = IBU - IBARNU(I) - WRITE (LUNERR,*) ' Eventq: Kin en. < 0 from nucevt',TKI(NP) - NP = NP - 1 - END IF -* | | -* | +----------------------------------------------------------------* - 301 CONTINUE -* | -* +-------------------------------------------------------------------* - 500 CONTINUE -* -* Now we have to compute the excitation energy: we have used Eincp and -* Eincn for cascade protons and neutrons, Tvgre0 and Tvgrey have been -* generated by cascade nucleons under threshold, Tveuz has been gene- -* rated by the high energy collisions: however Tveuz and Tvgrey are -* only approximate since they have been computed starting from an -* average binding energy, furthermore Tvgrey is already accounted for -* inside Eincp and Eincn. The actual energy spent inside high energy -* collisions was Eke - Eincp - Eincn - Tvgre0 + Efrm, the one in ca- -* scade nucleons (approximately) Eincp + Eincn - Tvgrey: so first -* check the energy balance without excitation energy -* and then compute Tv!!! -* -* Now the balance!!!!!!!!!!!!!!! -* - ERES = ETTOT - EUZ - ENUCR - EINTR - PXRES = PXTTOT - PUX - PXNUCR - PXINTR - PYRES = PYTTOT - PUY - PYNUCR - PYINTR - PZRES = PZTTOT - PUZ - PZNUCR - PZINTR - ICRES = ICHTOT - ICU - ICNUCR - ICINTR - IBRES = IBTOT - IBU - IBNUCR - IBINTR -* +-------------------------------------------------------------------* -* | - IF ( NINT (ZNOW) .NE. ICRES .OR. NINT (ANOW) .NE. IBRES ) THEN -* | +----------------------------------------------------------------* -* | | - IF ( LNUCRI ) THEN - WRITE (LUNERR,*)' Eventq: charge/baryon conservation', - & ' failure with Nucrin', - & NINT (ZNOW), ICRES, NINT (ANOW), IBRES -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - WRITE (LUNERR,*)' Eventq: charge/baryon conservation', - & ' failure with Nucevt', - & NINT (ZNOW), ICRES, NINT (ANOW), IBRES - END IF -* | | -* | +----------------------------------------------------------------* - LRESMP = .TRUE. - GO TO 50 -* |--<--<--<--<--< go to resampling - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - IF ( IBRES .GT. 0 ) THEN - AMMRES = ANOW * AMUAMU + 0.001D+00 * FKENER ( ANOW, ZNOW ) - AMNRES = AMMRES - ZNOW * AMELEC + ELBNDE ( ICRES ) -* AMNRES = ANOW * AMUC12 - EKR0 = ERES - AMNRES -* | Now switch to atomic masses: - ERES = ERES + AMMTAR - AMNTAR - ( ZZTAR - ZNOW ) * AMELEC - EKRES = ERES - AMMRES - TVTENT = TVGRE0 + TVGREY + TVEUZ - TVCOMP = ERES - ANOW * AMUC12 - IF ( LNUCRI ) TVCOMP = TVCOMP + ( AMNTAR - BBTAR * AMUC12 ) -* | -* +-------------------------------------------------------------------* -* | - ELSE - AMMRES = 0.D+00 - AMNRES = 0.D+00 - ERES = 0.D+00 - EKR0 = 0.D+00 - EKRES = 0.D+00 - TVTENT = 0.D+00 - GO TO 600 - END IF -* | -* +-------------------------------------------------------------------* -* Check that the kinetic energy of the residual nuclei is not much -* different from our prevision and kinematically consistent with -* its momentum -* +-------------------------------------------------------------------* -* | - IF ( EKRES .LE. 0.D+00 ) THEN - WRITE ( LUNERR,* )' Eventq: negative kinetic energy for', - & ' the residual nucleus!!',ICRES,IBRES, - & REAL (EKRES), LNUCRI -* | +----------------------------------------------------------------* -* | | - IF ( EKRES .LT. -3.D-3 ) THEN - LRESMP = .TRUE. - GO TO 50 -*--|--|--<--<--<--<--< go to resampling - END IF -* | | -* | +----------------------------------------------------------------* - EKRES = 0.D+00 - TVRECL = 0.D+00 - AMSTAR = AMMRES - TVCMS = 0.D+00 - PTRES2 = 0.D+00 - PXRES = 0.D+00 - PYRES = 0.D+00 - PZRES = 0.D+00 -* | -* +-------------------------------------------------------------------* -* | - ELSE - PTRES2 = PXRES**2 + PYRES**2 + PZRES**2 - AMSTAR = ERES**2 - PTRES2 -* | +----------------------------------------------------------------* -* | | - IF ( AMSTAR .GE. AMMRES**2 ) THEN - AMSTAR = SQRT ( AMSTAR ) - TVCMS = AMSTAR - AMMRES -* | | -* | +----------------------------------------------------------------* -* | | If the following condition is satisfied it is only -* | | a rounding problem, set the excitation energy to 0 -* | | and continue - ELSE IF ( AMMRES**2 - AMSTAR .LT. 2.D+00 * AMSTAR * TVEPSI - & ) THEN - AMSTAR = AMMRES - TVCMS = 0.D+00 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE IF ( AMSTAR .LE. 0.D+00 ) THEN - WRITE ( LUNERR,* )' Eventq: immaginary mass for', - & ' the residual nucleus!!',ICRES,IBRES, - & REAL (AMSTAR) - LRESMP = .TRUE. - GO TO 50 -*--|--|--<--<--<--<--< go to resampling -* AMSTAR = AMMRES -* TVCMS = 0.D+00 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - AMSTAR = SQRT ( AMSTAR ) -* | | +-------------------------------------------------------------* -* | | | If the following condition is satisfied it is only -* | | | a rounding problem, set the excitation energy to 0 -* | | | and continue - IF ( AMMRES - AMSTAR .LT. TVEPSI ) THEN - AMSTAR = AMMRES - TVCMS = 0.D+00 - TVRECL = ERES - AMSTAR - GO TO 550 - END IF -* | | | -* | | +-------------------------------------------------------------* - WRITE ( LUNERR,* )' Eventq: negative excitation energy for', - & ' the residual nucleus!!',ICRES,IBRES, - & REAL ( AMSTAR - AMMRES ), LNUCRI -* | | +-------------------------------------------------------------* -* | | | - IF ( AMSTAR - AMMRES .LT. -3.D-3 ) THEN - LRESMP = .TRUE. - GO TO 50 -*--|--|--|--<--<--<--<--< go to resampling - END IF -* | | | -* | | +-------------------------------------------------------------* - AMSTAR = AMMRES - TVCMS = 0.D+00 - AMSTAR = AMMRES - TVCMS = 0.D+00 - HELP = SQRT ( ( ERES - AMMRES ) * ( ERES + AMMRES ) - & / PTRES2 ) - PXRES = PXRES * HELP - PYRES = PYRES * HELP - PZRES = PZRES * HELP - PTRES2 = PTRES2 * HELP * HELP - END IF -* | | -* | +----------------------------------------------------------------* - TVRECL = ERES - AMSTAR - END IF -* | -* +-------------------------------------------------------------------* - 550 CONTINUE -* The following two cards are equivalent providing the kinematical -* limits are ok and we use for both amnres or ammres! Now Tv is left -* = 0 - TV = 0.D+00 -* TV = EKRES -* TV = TVRECL + TVCMS -* +-------------------------------------------------------------------* -* | - IF ( .NOT. LEVPRT .AND. ABS ( ( TVTENT - TVCOMP ) / TVCOMP ) - & .GT. 30000000.D+00 ) THEN -* | +----------------------------------------------------------------* -* | | - IF ( LINCTV ) THEN - WRITE ( LUNERR,* ) - & ' Eventq: excitation energy very different', - & ' from the approximate one!!', ICRES, IBRES, - & REAL (TVTENT), REAL (TVCOMP), LNUCRI - END IF -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* - EKRES = TVRECL - 600 CONTINUE - EOTEST = EOTEST - EUZ - ENUCR - EINTR - EKR0 - AMNRES -* +-------------------------------------------------------------------* -* | - IF ( ABS (EOTEST) .GT. ETEPS ) THEN -* | +----------------------------------------------------------------* -* | | - IF ( LNUCRI ) THEN - WRITE (LUNERR,*)' Eventq: eotest failure with Nucrin', - & EOTEST -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - WRITE (LUNERR,*)' Eventq: eotest failure with Nucevt', - & EOTEST - END IF -* | | -* | +----------------------------------------------------------------* - LRESMP = .TRUE. - GO TO 50 -* |--|--<--<--<--<--< go to resampling - END IF -* | -* +-------------------------------------------------------------------* - IF ( IBRES .EQ. 0 ) RETURN -*-->-->-->-->--> Here for the evaporation step!!! -* +-------------------------------------------------------------------* -* | Check if the evaporation is requested - IF ( LEVPRT ) THEN - PTRES = SQRT ( PTRES2 ) - CALL EVEVAP ( WE ) - IF ( LRESMP ) GO TO 50 -* -*--|--<--<--<--<--<--< go to resampling -* | -* +-------------------------------------------------------------------* -* | No evaporation - ELSE - TVHEAV = 0.D+00 - END IF -* | -* +-------------------------------------------------------------------* - IF (IPRI.NE.1) RETURN -C -C******************************************************************** -C TEST PRINTOUT -C******************************************************************** -C - WRITE(LUNOUT,590)NP-NP0,NNHAD,IJ,IMAT,POO,EKE,TXI,TYI,TZI,WE - 590 FORMAT (4I7,6F12.6) - DO 501 I=NP0+1,NP - WRITE(LUNOUT,591)I,KPART(I),CXR(I),CYR(I),CZR (I),TKI(I),PLR (I), - * WEI(I) - 591 FORMAT (2I5,6F12.6) - 501 CONTINUE - RETURN -C -C******************************************************************** -C FINUC FLOWS OVER - THIS IS FATAL - INCREASE THE SIZE OF IT -C******************************************************************** -C - 400 CONTINUE - WRITE(LUNOUT,490) - 490 FORMAT(1X,'OVERFLOW IN EVENTQ - INCREASE THE SIZE OF THE', - 1' COMMON BLOCK FINUC.') - STOP - END diff --git a/StarVMC/geant3/fluka/evevap.F b/StarVMC/geant3/fluka/evevap.F deleted file mode 100644 index 090f148590e..00000000000 --- a/StarVMC/geant3/fluka/evevap.F +++ /dev/null @@ -1,415 +0,0 @@ -* -* $Id: evevap.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: evevap.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE EVEVAP.FOR -*COPY EVEVAP -* -*=== evevap ===========================================================* -* - SUBROUTINE EVEVAP ( WEE ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* EVent EVAPoration: this routine is used to steer both the evapora- * -* tion, the high energy fission, possibly a future fragmentation * -* and the gamma deexcitation routines * -* * -* Created on 15 may 1991 by Alfredo Ferrari & Paola Sala * -* INFN - Milan * -* * -* Last change on 19-apr-93 By Alfredo Ferrari, INFN - Milan * -* * -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/eva1.inc" -#include "geant321/fheavy.inc" -#include "geant321/finuc.inc" -#include "geant321/hetc5.inc" -#include "geant321/hetc7.inc" -#include "geant321/hettp.inc" -#include "geant321/higfis.inc" -#include "geant321/labcos.inc" -#include "geant321/nucdat.inc" -#include "geant321/parevt.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" -* - PARAMETER ( AMUMEV = 1.D+03 * AMUAMU ) -* - COMMON /FKEVNT/ LNUCRI, LHADRI - LOGICAL LNUCRI, LHADRI -* The initial excitation energy, mass and charge of the nucleus are -* put into Ex, Apr, Zpr (common Hetc5) - EX = MAX ( 1000 * TVCMS, ANGLGB ) - APR = ANOW - ZPR = ZNOW -* Reset the fission/fragmentation counter: - NFISS = 0 -* Ammres is the atomic mass of the residual nucleus -* Reset accumulators for the energy conservation check (they are only -* local) - EOTEST = AMMRES + TVCMS + TVRECL - ETEVAP = 0.D+00 -* +-------------------------------------------------------------------* -* | Set the variables recording the recoil direction of the residual -* | nucleus: - IF ( PTRES .GT. 0.D+00 ) THEN - COSLBR (1) = PXRES / PTRES - COSLBR (2) = PYRES / PTRES - COSLBR (3) = PZRES / PTRES -* | -* +-------------------------------------------------------------------* -* | It can happen for pion capture for example that ptres=0 -* | ( it is always 0 if no "direct" particle is emitted ) - ELSE - COSLBR (1) = 0.D+00 - COSLBR (2) = 0.D+00 - COSLBR (3) = 1.D+00 - END IF -* | -* +-------------------------------------------------------------------* -* The call to getrig is useless, since we actually need no rotation -* CALL GETRIG ( ZERZER, ZERZER, ONEONE ) - EREC = 1.D+03 * TVRECL - CALL FKERUP (0) -* +-------------------------------------------------------------------* -* | Check for fission/fragmentation: if it occurred loop back on the -* | fission fragments to possibly evaporate further particles: - IF ( FISINH ) THEN - LRNFSS = .TRUE. - FISINH = .FALSE. - JFISS = 0 -* | +----------------------------------------------------------------* -* | | Update the partial counters of evaporated particles - DO 40 J = 1,6 - NPARTF (J,JFISS) = NPART (J) - HEVFIS (JFISS) = HEVSUM - 40 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | The following "do" is not structured as a do since Nfiss can -* | | be incremented during evaporation/fragmentation of the -* | | previously generated fragments - 50 CONTINUE - JFISS = JFISS + 1 - AMMRES = 1.D-03 * AMFIS (JFISS) - PTRES = 1.D-03 * PPFIS (JFISS) - EREC = EKFIS (JFISS) - APR = AFIS (JFISS) - ZPR = ZFIS (JFISS) - EX = MAX ( UFIS (JFISS), ANGLGB ) - COSLBR (1) = COSLFF (1,JFISS) - COSLBR (2) = COSLFF (2,JFISS) - COSLBR (3) = COSLFF (3,JFISS) -* | | The call to getrig is useless, since we need no rotation -* CALL GETRIG ( ZERZER, ZERZER, ONEONE ) - CALL FKERUP (JFISS) - ANOW = APR - ZNOW = ZPR - ICHLP = NINT (ZNOW) - IBHLP = NINT (ANOW) -* | | +-------------------------------------------------------------* -* | | | If we enter this branch the present fragment has been -* | | | completely evaporated without further fragmentation and -* | | | it is ready for the final gamma deexcitation and for -* | | | residual nuclei scoring - IF ( .NOT. FISINH .AND. IBHLP .GT. 0 ) THEN - AMTFIS (JFISS) = ANOW * AMUMEV + FKENER ( ANOW, ZNOW ) - UTFIS (JFISS) = UU - RECFIS (JFISS) = EREC - PPTFIS (JFISS) = SQRT ( EREC * ( EREC + TWOTWO - & * ( AMTFIS (JFISS) + UTFIS (JFISS) ) ) ) - ATFIS (JFISS) = ANOW - ZTFIS (JFISS) = ZNOW - COSLFF (1,JFISS) = COSLBR (1) - COSLFF (2,JFISS) = COSLBR (2) - COSLFF (3,JFISS) = COSLBR (3) - ETEVAP = ETEVAP + 1.D-03 * ( EREC + AMTFIS (JFISS) - & + UTFIS (JFISS) ) -* | | | -* | | +-------------------------------------------------------------* -* | | | Fragment furtherly fragmented or completely evaporated into -* | | | p,n,d,t,3-He and alphas - ELSE - FISINH = .FALSE. - ATFIS (JFISS) = ZERZER - ZTFIS (JFISS) = ZERZER - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | Update the partial counters of evaporated particles - DO 60 J = 1,6 - NPARTF (J,JFISS) = NPART (J) - HEVFIS (JFISS) = HEVSUM - 60 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - IF ( JFISS .LT. NFISS ) GO TO 50 -* | | -* | +----------------------------------------------------------------* - FISINH = .FALSE. - END IF -* | -* +-------------------------------------------------------------------* - IEVNEU = NPART (1) - IEVPRO = NPART (2) - IEVDEU = NPART (3) - IEVTRI = NPART (4) - IEV3HE = NPART (5) - IEV4HE = NPART (6) - IEVAPL = IEVNEU + IEVPRO - IEVAPH = IEVDEU + IEVTRI + IEV3HE + IEV4HE -* +-------------------------------------------------------------------* -* | Add to the secondary stack the evaporated neutrons - DO 100 IP = 1, NPART (1) - NP = NP + 1 - KPART (NP) = 8 - TKI (NP) = 1.D-03 * EPART ( IP, 1 ) - WEI (NP) = WEE - CXR (NP) = COSEVP ( 1, IP, 1 ) - CYR (NP) = COSEVP ( 2, IP, 1 ) - CZR (NP) = COSEVP ( 3, IP, 1 ) - PLR (NP) = SQRT ( TKI (NP) * ( TKI (NP) + 2.D+00 * AM (8) ) ) - ETEVAP = ETEVAP + TKI (NP) + AMHEAV (1) - 100 CONTINUE -* | -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | Add to the secondary stack the evaporated protons - DO 200 IP = 1, NPART (2) - NP = NP + 1 - KPART (NP) = 1 - TKI (NP) = 1.D-03 * EPART ( IP, 2 ) - WEI (NP) = WEE - CXR (NP) = COSEVP ( 1, IP, 2 ) - CYR (NP) = COSEVP ( 2, IP, 2 ) - CZR (NP) = COSEVP ( 3, IP, 2 ) - PLR (NP) = SQRT ( TKI (NP) * ( TKI (NP) + 2.D+00 * AM (1) ) ) - ETEVAP = ETEVAP + TKI (NP) + AMHEAV (2) - 200 CONTINUE -* | -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | Add to the heavy stack the other evaporated (if requested) - IF ( LHEAVY ) THEN - NPHEAV = 0 -* | +----------------------------------------------------------------* -* | | Loop over the particle types: - DO 400 JP = 3, 6 -* | | +-------------------------------------------------------------* -* | | | - DO 300 IP = 1, NPART (JP) - NPHEAV = NPHEAV + 1 - KHEAVY (NPHEAV) = JP - TKHEAV (NPHEAV) = 1.D-03 * EPART ( IP, JP ) - WHEAVY (NPHEAV) = WEE - CXHEAV (NPHEAV) = COSEVP ( 1, IP, JP ) - CYHEAV (NPHEAV) = COSEVP ( 2, IP, JP ) - CZHEAV (NPHEAV) = COSEVP ( 3, IP, JP ) - PHEAVY (NPHEAV) = SQRT ( ( TKHEAV (NPHEAV) + TWOTWO - & * AMHEAV (JP) ) * TKHEAV (NPHEAV) ) - ETEVAP = ETEVAP + TKHEAV (NPHEAV) + AMHEAV (JP) - 300 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - 400 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | -* +-------------------------------------------------------------------* -* | - ELSE - NPHEAV = 0 - ETEVAP = ETEVAP + 1.D-03 * HEVSUM + IEVDEU * AMHEAV (3) - & + IEVTRI * AMHEAV (4) - & + IEV3HE * AMHEAV (5) - & + IEV4HE * AMHEAV (6) - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Fission and/or fragmentation occurred: - IF ( LRNFSS ) THEN - TVHEAV = 1.D-03 * HEVSUM - IF ( ABS ( ETEVAP - EOTEST )/ EOTEST .GT. 1.D-07 ) THEN - WRITE ( LUNOUT, * ) - & ' Evevap_fis: failure in energy conservation!!', - & ETEVAP, EOTEST - WRITE ( LUNERR, * ) - & ' Evevap_fis: failure in energy conservation!!', - & ETEVAP, EOTEST - END IF - TVCHLP = ZERZER - IDEHLP = 0 -* | +----------------------------------------------------------------* -* | | Loop on fission/fragmentation fragments - DO 5000 JFISS = 1, NFISS - ANOW = ATFIS (JFISS) - ZNOW = ZTFIS (JFISS) - IBRES = NINT ( ANOW ) - ICRES = NINT ( ZNOW ) -* | | +-------------------------------------------------------------* -* | | | Check the residual nucleus: - IF ( IBRES .EQ. 0 ) THEN - AMMRES = ZERZER - TVCMS = ZERZER - TVRECL = ZERZER - PTRES = ZERZER - PXRES = ZERZER - PYRES = ZERZER - PZRES = ZERZER - ERES = ZERZER -* | | | -* | | +-------------------------------------------------------------* -* | | | real fragment: - ELSE - AMMRES = 1.D-03 * AMTFIS (JFISS) - TVCMS = 1.D-03 * UTFIS (JFISS) - TVRECL = 1.D-03 * RECFIS (JFISS) - PTRES = 1.D-03 * PPTFIS (JFISS) - PXRES = PTRES * COSLFF (1,JFISS) - PYRES = PTRES * COSLFF (2,JFISS) - PZRES = PTRES * COSLFF (3,JFISS) - ERES = AMMRES + TVCMS + TVRECL - EKRES = TVRECL - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | Check if the deexcitation module have to be called - IF ( LDEEXG ) THEN - IDEEXG = 0 - CALL EVDEEX ( WEE ) - IDEHLP = IDEHLP + IDEEXG -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - TVCHLP = TVCHLP + TVCMS - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | Check if fission fragments have to be put on stack - IF ( LHEAVY .AND. IBRES .GT. 0 ) THEN - NPHEAV = NPHEAV + 1 - TKHEAV (NPHEAV) = EKRES - PHEAVY (NPHEAV) = PTRES - CXHEAV (NPHEAV) = PXRES / PTRES - CYHEAV (NPHEAV) = PYRES / PTRES - CZHEAV (NPHEAV) = PZRES / PTRES - WHEAVY (NPHEAV) = WEE - KHEAVY (NPHEAV) = 6 + JFISS - AMHEAV (KHEAVY(NPHEAV)) = AMMRES - IBHEAV (KHEAVY(NPHEAV)) = IBRES - ICHEAV (KHEAVY(NPHEAV)) = ICRES - END IF -* | | | -* | | +-------------------------------------------------------------* - TVHEAV = TVHEAV + TVRECL - 5000 CONTINUE -* | | -* | +----------------------------------------------------------------* - IDEEXG = IDEHLP - TVCMS = TVCHLP - ANOW = ZERZER - ZNOW = ZERZER - IBRES = 0 - ICRES = 0 - AMMRES = ZERZER - TVRECL = ZERZER - PTRES = ZERZER - PXRES = ZERZER - PYRES = ZERZER - PZRES = ZERZER - ERES = ZERZER -* | -* +-------------------------------------------------------------------* -* | Normal evaporation: - ELSE - ANOW = APR - ZNOW = ZPR - IBRES = NINT ( ANOW ) - ICRES = NINT ( ZNOW ) -* | Ammres is the atomic mass of the residual nucleus -* | +----------------------------------------------------------------* -* | | Check the residual nucleus: - IF ( IBRES .EQ. 0 ) THEN - AMMRES = ZERZER - TVCMS = ZERZER - TVRECL = ZERZER - PTRES = ZERZER - PXRES = ZERZER - PYRES = ZERZER - PZRES = ZERZER - ERES = ZERZER -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - AMMRES = ANOW * AMUAMU + 1.D-03 * FKENER ( ANOW, ZNOW ) - TVCMS = 1.D-03 * UU - TVRECL = 1.D-03 * EREC - PTRES = SQRT ( TVRECL * ( TVRECL + 2.D+00 * ( AMMRES + - & TVCMS ) ) ) - PXRES = PTRES * COSLBR (1) - PYRES = PTRES * COSLBR (2) - PZRES = PTRES * COSLBR (3) - ERES = AMMRES + TVCMS + TVRECL - EKRES = TVRECL - END IF -* | | -* | +----------------------------------------------------------------* - TVHEAV = 1.D-03 * HEVSUM - ETEVAP = ETEVAP + ERES - IF ( ABS ( ETEVAP - EOTEST )/ EOTEST .GT. 1.D-07 ) THEN - WRITE ( LUNOUT, * ) - & ' Evevap: failure in energy conservation!!', - & ETEVAP, EOTEST - WRITE ( LUNERR, * ) - & ' Evevap: failure in energy conservation!!', - & ETEVAP, EOTEST - END IF -* | Check if the deexcitation module have to be called - IF ( LDEEXG ) CALL EVDEEX ( WEE ) - END IF -* | -* +-------------------------------------------------------------------* - RETURN -*=== End of subroutine Evevap =========================================* - END diff --git a/StarVMC/geant3/fluka/evvini.F b/StarVMC/geant3/fluka/evvini.F deleted file mode 100644 index 30599d75d69..00000000000 --- a/StarVMC/geant3/fluka/evvini.F +++ /dev/null @@ -1,83 +0,0 @@ -* -* $Id: evvini.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: evvini.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE EVVINI.FOR -*COPY EVVINI -* -*=== evvini ===========================================================* -* - SUBROUTINE EVVINI (WHAT,SDUM) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Version march 1990 by Alfredo Ferrari, INFN-Milan * -* * -* Last change on 20-apr-92 by Alfredo Ferrari, INFN-Milan * -* This subroutine initialises the quark model subroutines and the * -* evaporation module (Evap5 from Hetc-Kfa). * -* * -* input variables: * -* what has currently no meaning * -* sdum = material name of a heavy ion beam * -* * -* output variables: none * -* * -* Common blocks: * -* * -* /print/ printing control for the nucevt package * -* /inpdat/ parameters for the nucevt package * -* * -*----------------------------------------------------------------------* -* -#include "geant321/inpdat2.inc" -#include "geant321/parevt.inc" - CHARACTER*8 SDUM - DIMENSION WHAT(6) - COMMON/FKPRIN/IPRI,INIT - IF (.NOT.LEVPRT) LDEEXG=.FALSE. - CALL DATAR3 - CALL HADDEN - CALL RCHANV - CALL CHANWT - ONEDUM = ONEONE - ZERDUM = ZERZER - NUD = NUDISV ( ONEDUM, 1, ZERDUM, ZERDUM, DPOWER, ZERDUM ) - CALL BERTTP - CALL INCINI - IPRI=0 - INIT=0 - LTBAMJ=0 - ASBAMJ = 0.5D+00 - B8BAMJ = 0.4D+00 - RETURN - END diff --git a/StarVMC/geant3/fluka/ferevv.F b/StarVMC/geant3/fluka/ferevv.F deleted file mode 100644 index 12b16e7c917..00000000000 --- a/StarVMC/geant3/fluka/ferevv.F +++ /dev/null @@ -1,609 +0,0 @@ -* -* $Id: ferevv.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: ferevv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 02/07/94 17.22.04 by S.Giani -*-- Author : - SUBROUTINE FEREVV ( NHAD, KP, KT, PM, EKM, TXX, TYY, TZZ, ATEMP, - & ZTEMP, IVVFLG ) -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Ferevt90 by A. Ferrari * -* * -* Last change on 15-aug-93 by Alfredo Ferrari, INFN - Milan * -* * -* Ferevt calculates hadron nucleon collisions * -* including the Fermi momentum of the target: * -* now there are two entries, one for valence collisions (or for * -* sea collisions with one of the last two nucleons) and one * -* (fersea) for sea collisions. * -* * -* Nhad = number of final hadrons * -* Kp and Kt are indices of the projectile and target nucleons * -* Pm = momentum of the projectile (for ferevv entry) * -* Ekm = kinetic energy of the projectile (for both entries) * -* Txx, Tyy, Tzz = direction cosines of the incident projectile, * -* THEY ARE CHANGED in the routine for sea intera- * -* ctions * -* Atemp, Ztemp = mass and atomic number of the residula nucleus * -* after the "use" of the Kt nucleon * -* Kprim = index of the real projectile (only for Fersea) * -* Eprim = energy of the real projectile after the emission of * -* the virtual meson (only for Fersea) * -* Pprim = momentum of the real projectile after the emission of * -* the virtual meson (only for Fersea) * -* Eprold= energy of the real projectile before the emission of * -* the virtual meson (only for Fersea) * -* Pprold= momentum of the real projectile before the emission of * -* the virtual meson (only for Fersea) * -* * -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/depnuc.inc" -#include "geant321/hadpar.inc" -#include "geant321/inpdat2.inc" -#include "geant321/nucdat.inc" -#include "geant321/parevt.inc" -#include "geant321/part2.inc" -#include "geant321/resnuc.inc" - COMMON /FKPRIN/ IPRI, INIT - LOGICAL LSEACL, LSMPAN - DIMENSION PTHRSH (NALLWP), IJNUCR (NALLWP) - COMMON /FKEVNT/ LNUCRI, LHADRI - LOGICAL LNUCRI, LHADRI - REAL FRNDM(3) - REAL FRUUN(1) - SAVE PTHRSH, IJNUCR - DATA PTHRSH / 16*5.D+00,2*2.5D+00,5.D+00,3*2.5D+00,8*5.D+00, - & 9*2.5D+00 / - DATA IJNUCR / 16*1,2*0,1,3*0,8*1,9*0 / - IVFLAG = IVVFLG - AMPROJ = AAM (KP) - AMTAR = AAM (KT) - PSPENT = PM - ESPENT = EKM + AMPROJ - PSPTOT = PSPENT - ESPTOT = ESPENT - LSEACL = .FALSE. - IF ( AMPROJ .LT. 1.D+00 ) THEN - AFACT = 2.8D+00 - ELSE - AFACT = 1.8D+00 - END IF - URMIN2 = ( AMPROJ + AMTAR )**2 + ( 1.2D+00 + DBLE (IVFLAG) - & * AFACT ) * ETHSEA * AMTAR - GO TO 100 - ENTRY FERSEA ( NHAD, KP, KT, EKM, TXX, TYY, TZZ, ATEMP, ZTEMP, - & KPRIM, EPRIM, PPRIM, EPROLD, PPROLD ) - 50 CONTINUE - LSEACL = .TRUE. - IVFLAG = 0 - AMPROJ = AAM (KP) - AMTAR = AAM (KT) - PSPTOT = PPROLD - ESPTOT = EPROLD - PSPENT = PPROLD - PPRIM - ESPENT = EKM + AMPROJ - IF ( KP .EQ. 26 .AND. KT .EQ. 8 ) THEN - URMIN2 = ( AAM (13) + AAM (56) )**2 + 0.2D+00 * ETHSEA - & * AAM (56) - ELSE IF ( KP .EQ. 23 .AND. KT .EQ. 1 ) THEN - URMIN2 = ( AAM (14) + AAM (53) )**2 + 0.2D+00 * ETHSEA - & * AAM (53) - ELSE - URMIN2 = ( AMPROJ + AMTAR )**2 + 1.2D+00 * ETHSEA * AMTAR - END IF - 100 CONTINUE - ITJ = MIN ( 2, KT ) - B1SAVE = B1BAMJ - B2SAVE = B2BAMJ - IF ( LLASTN ) THEN - IF ( LLAST1 ) THEN - PXNUC = PXXINC - PYNUC = PYYINC - PZNUC = PZZINC - EKNUC = EKINC - ELSE - LLAST1 = .TRUE. - EKNUC = EKLAST - PXNUC = PXLAST - PYNUC = PYLAST - PZNUC = PZLAST - END IF - EM = EKM + AMPROJ - EFER = EKNUC + AMTAR - EKFER = EFER - AMNUCL (ITJ) + EBNDNG (ITJ) - EFRM = EFRM + EKFER - PXFRM = PXFRM + PXNUC - PYFRM = PYFRM + PYNUC - PZFRM = PZFRM + PZNUC - ECHCK = EM + EFER - PXCHCK = PXNUC + PM * TXX - PYCHCK = PYNUC + PM * TYY - PZCHCK = PZNUC + PM * TZZ - UMO = SQRT ( ECHCK**2 - PXCHCK**2 - PYCHCK**2 - PZCHCK**2 ) - ELSE - CALL GRNDM(FRNDM,3) - P2 = MAX ( FRNDM (1), FRNDM (2), FRNDM (3) ) - P2 = PFRMMX (ITJ) * P2 - P2SQ = P2 * P2 - AMTEMP = ATEMP * AMUC12 - AMTMSQ = AMTEMP * AMTEMP - EKRECL = 0.5D+00 * P2SQ / AMTEMP * ( 1.D+00 - 0.25D+00 * P2SQ - & / AMTMSQ ) - EKREC0 = EKRECL - CALL POLI (POLC, POLS) - CALL SFECFE (SFE , CFE ) - CXTA = POLS * CFE - CYTA = POLS * SFE - CZTA = POLC - PXNUC = P2 * CXTA - PYNUC = P2 * CYTA - PZNUC = P2 * CZTA - PXFRM = PXFRM + PXNUC - PYFRM = PYFRM + PYNUC - PZFRM = PZFRM + PZNUC - EFER = SQRT ( AMNUSQ (ITJ) + PXNUC**2 + PYNUC**2 + PZNUC**2 ) - FRSURV = ANOW / DBLE ( IBTAR ) - IF ( .NOT. LSEACL .OR. FRSURV .LT. 0.66D+00 .OR. ATEMP .LT. - & 40.D+00 ) THEN - IATEMP = NINT (ATEMP) - IZTEMP = NINT (ZTEMP) - AMMRES = AMUAMU * ATEMP + 1.D-03 * FKENER ( ATEMP, ZTEMP ) - AMMRE2 = AMMRES * AMMRES - EKRECL = SQRT ( P2SQ + AMMRE2 ) - AMMRES - EKREC0 = EKRECL - ELEFT = ETTOT - EINTR - EUZ - ESPTOT - EFER + EKRECL - & + V0WELL (ITJ) + EBNDNG (ITJ) - PXLAST = PXTTOT - PXINTR - PUX - PSPTOT * TXX - PXNUC - PYLAST = PYTTOT - PYINTR - PUY - PSPTOT * TYY - PYNUC - PZLAST = PZTTOT - PZINTR - PUZ - PSPTOT * TZZ - PZNUC - PPLAS2 = PXLAST**2 + PYLAST**2 + PZLAST**2 - IUMO = 0 - DELEFT = AMMTAR - AMNTAR - ( DBLE (ICHTAR) - ZTEMP ) - & * AMELEC - 200 CONTINUE - EELEFT = ELEFT + DELEFT - UMO2 = EELEFT**2 - PPLAS2 - DELTU2 = AMMRE2 - UMO2 - IF ( DELTU2 .GT. 0.D+00 ) THEN - IUMO = IUMO + 1 - IF ( LSEACL ) THEN - DELTAE = 0.5D+00 * DELTU2 / EELEFT - IF ( IUMO .GT. 2 ) THEN - ELSE IF ( DELTAE .LT. 2.D+00 * EKREC0 ) THEN - EKRECL = EKRECL + DELTAE - ELEFT = ELEFT + DELTAE - GO TO 200 - ELSE - EKRECL = EKRECL + EKREC0 - ELEFT = ELEFT + EKREC0 - EELEFT = ELEFT + DELEFT - UMO2 = EELEFT**2 - PPLAS2 - DELTU2 = AMMRE2 - UMO2 - PFDTPL = PXNUC * PXLAST + PYNUC * PYLAST - & + PZNUC * PZLAST - PPLAST = SQRT ( PPLAS2 ) - DELTPR = 0.51D+00 * DELTU2 / ( PPLAST - EELEFT - & * PFDTPL / ( EFER * PPLAST ) ) - DELTPR = SIGN ( MIN ( ABS ( DELTPR ), HLFHLF - & * P2 ), DELTPR ) / PPLAST - PXXINC = PXLAST * DELTPR - PYYINC = PYLAST * DELTPR - PZZINC = PZLAST * DELTPR - PXLAST = PXLAST - PXXINC - PYLAST = PYLAST - PYYINC - PZLAST = PZLAST - PZZINC - PXFRM = PXFRM + PXXINC - PYFRM = PYFRM + PYYINC - PZFRM = PZFRM + PZZINC - PXNUC = PXNUC + PXXINC - PYNUC = PYNUC + PYYINC - PZNUC = PZNUC + PZZINC - EFER0 = EFER - EFER = SQRT ( PXNUC**2 + PYNUC**2 + - & PZNUC**2 + AMNUSQ (ITJ) ) - DELTAE = EFER0 - EFER - IF ( DELTAE .GT. 0.D+00 ) THEN - ELEFT = ELEFT + DELTAE - ELSE - EFER = EFER0 - END IF - PPLAS2 = PXLAST**2 + PYLAST**2 + PZLAST**2 - DELTAE = EKREC0 - GO TO 200 - END IF - ELSE - DELTAE = 0.5D+00 * DELTU2 / EELEFT - IF ( IUMO .GT. 3 ) THEN - WRITE ( LUNOUT, * )' Ferevv: valence call,', - & ' impossible to get', - & ' enough invariant mass for the residual', - & ' nucleus!!',IATEMP,IZTEMP,AMMRE2,UMO2,UMO, - & DELTAE - WRITE ( LUNERR, * )' Ferevv: valence call,', - & ' impossible to get', - & ' enough invariant mass for the residual', - & ' nucleus!!',IATEMP,IZTEMP,AMMRE2,UMO2,UMO, - & DELTAE - ELSE IF ( DELTAE .LT. 3.D+00 * EKREC0 ) THEN - EKRECL = EKRECL + DELTAE - ELEFT = ELEFT + DELTAE - GO TO 200 - ELSE - EKRECL = EKRECL + 2.D+00 * EKREC0 - ELEFT = ELEFT + 2.D+00 * EKREC0 - EELEFT = ELEFT + DELEFT - UMO2 = EELEFT**2 - PPLAS2 - DELTU2 = AMMRE2 - UMO2 - PPDTPL = PM * ( PXLAST * TXX + PYLAST * TYY - & + PZLAST * TZZ ) - PPLAST = SQRT ( PPLAS2 ) - DELTPR = 0.51D+00 * DELTU2 / ( PPLAST - EELEFT - & * PPDTPL / ( ( EKM + AMPROJ ) * PPLAST - & ) ) - TMPPM = 0.3D+00 * PM - TMPPPL = 0.8D+00 * PPLAST - DELTPR = SIGN ( MIN ( ABS ( DELTPR ), TMPPM - & , TMPPPL ), DELTPR ) - & / PPLAST - PXXINC = PXLAST * DELTPR - PYYINC = PYLAST * DELTPR - PZZINC = PZLAST * DELTPR - PXLAST = PXLAST - PXXINC - PYLAST = PYLAST - PYYINC - PZLAST = PZLAST - PZZINC - PXFRM = PXFRM + PXXINC - PYFRM = PYFRM + PYYINC - PZFRM = PZFRM + PZZINC - PXXINC = PM * TXX + PXXINC - PYYINC = PM * TYY + PYYINC - PZZINC = PM * TZZ + PZZINC - PM = SQRT ( PXXINC**2 + PYYINC**2 - & + PZZINC**2 ) - TXX = PXXINC / PM - TYY = PYYINC / PM - TZZ = PZZINC / PM - DELTAE = EKM - EKM = SQRT ( PM * PM + AMPROJ * AMPROJ ) - & - AMPROJ - DELTAE = DELTAE - EKM - ELEFT = ELEFT + DELTAE - EFRM = EFRM - DELTAE - PPLAS2 = PXLAST**2 + PYLAST**2 + PZLAST**2 - PSPENT = PM - ESPENT = EKM + AMPROJ - PSPTOT = PSPENT - ESPTOT = ESPENT - GO TO 200 - END IF - END IF - UMO = ( ESPENT + EFER - V0WELL (ITJ) - EKRECL - & - EBNDNG (ITJ) )**2 - & - ( TXX * PSPENT + PXNUC )**2 - & - ( TYY * PSPENT + PYNUC )**2 - & - ( TZZ * PSPENT + PZNUC )**2 - IF ( UMO .LT. URMIN2 ) THEN - WRITE ( LUNOUT, * )' Ferevv: impossible to get', - & ' enough invariant mass for interaction', - & IATEMP,IZTEMP,AMMRE2,UMO2,UMO - WRITE ( LUNERR, * )' Ferevv: impossible to get', - & ' enough invariant mass for interaction', - & IATEMP,IZTEMP,AMMRE2,UMO2,UMO - END IF - END IF - IF ( IUMO .GT. 0 .AND. .NOT. LSEACL .AND. DELTU2 .LT. - & 0.D+00 ) THEN - DELTAE = SQRT ( DELTU2 + EELEFT**2 ) - & - EELEFT - DELTAE = DELTAE + 10.D+00 * ANGLGB * AMMRES - EKRECL = EKRECL + DELTAE - ELEFT = ELEFT + DELTAE - EELEFT = ELEFT + DELEFT - UMO2 = EELEFT**2 - PPLAS2 - DELTU2 = AMMRE2 - UMO2 - END IF - ELSE - AMTEMP = ATEMP * AMUC12 - AMTMSQ = AMTEMP * AMTEMP - EKRECL = 0.5D+00 * P2SQ / AMTEMP * ( 1.D+00 - 0.25D+00 - & * P2SQ / AMTMSQ ) - EKREC0 = EKRECL - END IF - EKFER = EFER - AMNUCL (ITJ) - IF ( LSEACL ) THEN - AMPRI2 = EPRIM * EPRIM - PPRIM * PPRIM - PXCHCK = PXNUC + PPROLD * TXX - PYCHCK = PYNUC + PPROLD * TYY - PZCHCK = PZNUC + PPROLD * TZZ - P2CHCK = PXCHCK**2 + PYCHCK**2 + PZCHCK**2 - ECHCK = EPROLD + EFER - UMO2 = ECHCK**2 - P2CHCK - IF ( UMO2 .LT. 0.D+00 ) THEN - LRESMP = .TRUE. - WRITE (LUNERR,*)' FEREVV: SEA INT. UMO2 < 0 ',UMO2 - RETURN - END IF - UMO = SQRT ( UMO2 ) - RMIN2 = URMIN2 / UMO2 - GAMCM = ECHCK / UMO - ETAX = PXCHCK / UMO - ETAY = PYCHCK / UMO - ETAZ = PZCHCK / UMO - ETACM = SQRT ( ETAX**2 + ETAY**2 + ETAZ**2 ) - CXCMS = ETAX / ETACM - CYCMS = ETAY / ETACM - CZCMS = ETAZ / ETACM - CALL SFECFE ( SFE, CFE ) - IF ( ABS (CZCMS) .GT. 1.D-04 ) THEN - CXXTR = - SFE * CZCMS - CYYTR = CFE * CZCMS - CZZTR = CXCMS * SFE - CYCMS * CFE - ELSE IF ( ABS (CYCMS) .GT. 1.D-04 ) THEN - CXXTR = CYCMS * CFE - CYYTR = CZCMS * SFE - CXCMS * CFE - CZZTR = - SFE * CYCMS - ELSE - CXXTR = CYCMS * SFE - CZCMS * CFE - CYYTR = - SFE * CXCMS - CZZTR = CFE * CXCMS - END IF - TXXOLD = TXX - TYYOLD = TYY - TZZOLD = TZZ - PCMSMX = PPRIM - ETACM * ( EPRIM - ETACM * PPRIM / ( GAMCM - & + 1.D+00 ) ) - RMAX2 = 1.D+00 + AMPRI2 / UMO2 - 2.D+00 * ( EPRIM - - & ETACM * PCMSMX ) / ECHCK - IF ( RMAX2 .GT. RMIN2 ) THEN - PTRANS = 0.D+00 - ELSE - PTRANS = 0.D+00 - END IF - -1220 CONTINUE - PLONG2 = ( PPRIM - PTRANS ) * ( PPRIM + PTRANS ) - PLONGI = SQRT ( PLONG2 ) - PXLAST = PTRANS * CXXTR + PLONGI * CXCMS - PYLAST = PTRANS * CYYTR + PLONGI * CYCMS - PZLAST = PTRANS * CZZTR + PLONGI * CZCMS - PCMSLN = PLONGI - ETACM * ( EPRIM - ETACM * PLONGI / - & ( GAMCM + 1.D+00 ) ) - RURM2 = 1.D+00 + AMPRI2 / UMO2 - 2.D+00 * ( EPRIM - - & ETACM * PCMSLN ) / ECHCK - TXX = PXLAST / PPRIM - TYY = PYLAST / PPRIM - TZZ = PZLAST / PPRIM - IF ( RURM2 .LE. RMIN2 ) THEN - PTRANS = 0.5D+00 * PTRANS - WRITE ( LUNERR, * )' Ferevv: R2 < Rmin2 for Pt', - & RURM2, RMIN2, URMIN2 - IF ( PTRANS .GT. ANGLGB ) GO TO 1220 - END IF - PCMSX = PCMSLN * CXCMS + PTRANS * CXXTR - PCMSY = PCMSLN * CYCMS + PTRANS * CYYTR - PCMSZ = PCMSLN * CZCMS + PTRANS * CZZTR - ERCMS = 0.5D+00 * ( UMO2 * ( 1.D+00 + RURM2 ) - AMPRI2 ) - & / UMO - ETAPCM = PCMSLN * ETACM - ECHCK = GAMCM * ERCMS - ETAPCM - PHELP = - ETAPCM / (GAMCM + 1.D+00) + ERCMS - PXCHCK = - PCMSX + ETAX * PHELP - PYCHCK = - PCMSY + ETAY * PHELP - PZCHCK = - PCMSZ + ETAZ * PHELP - ECHCK = ECHCK - V0WELL (ITJ) - EKRECL - EBNDNG (ITJ) - UMO = ECHCK**2 - PXCHCK**2 - PYCHCK**2 - & - PZCHCK**2 - IF ( UMO .LT. 0.D+00 ) THEN - LRESMP = .TRUE. - RETURN - END IF - UMO = SQRT ( UMO ) - ELSE - EM = EKM + AMPROJ - V0WELL (ITJ) - EKRECL - EBNDNG (ITJ) - ECHCK = EM + EFER - PXCHCK = PXNUC + PM * TXX - PYCHCK = PYNUC + PM * TYY - PZCHCK = PZNUC + PM * TZZ - UMO = ECHCK**2 - PXCHCK**2 - PYCHCK**2 - & - PZCHCK**2 - IF ( UMO .LT. 0.D+00 ) THEN - WRITE (LUNOUT,*)' *** Ferevv: Umo < 0 ',UMO - WRITE (LUNERR,*)' *** Ferevv: Umo < 0 ',UMO - LRESMP = .TRUE. - NHAD = 0 - RETURN - END IF - UMO = SQRT ( UMO ) - END IF - EFRM = EFRM + EKFER - V0WELL (ITJ) - EKRECL - TVEUZ = TVEUZ + V0WELL (ITJ) - EKFER + EKRECL - END IF - UMO2 = UMO * UMO - EPROJX = HLFHLF * ( UMO2 - AMPROJ**2 - AMTAR**2 ) / AMTAR - IF ( EPROJX .LE. AMPROJ ) THEN - WRITE (LUNOUT,*)' Ferevv: Eprojx < Amproj after kin. sel. !', - & EPROJX, AMPROJ, LSEACL - WRITE (LUNERR,*)' Ferevv: Eprojx < Amproj after kin. sel. !', - & EPROJX, AMPROJ, LSEACL - PXFRM = PXFRM - PXNUC - PYFRM = PYFRM - PYNUC - PZFRM = PZFRM - PZNUC - EFRM = EFRM - EKFER + V0WELL (ITJ) + EKRECL - TVEUZ = TVEUZ - V0WELL (ITJ) + EKFER - EKRECL - IF ( LSEACL ) GO TO 50 - LRESMP = .TRUE. - NHAD = 0 - RETURN - END IF - PPROJX = SQRT ( ( EPROJX - AMPROJ ) * ( EPROJX + AMPROJ ) ) - ETOTX = EPROJX + AMTAR - PTOSCA = PXCHCK * TXX + PYCHCK * TYY + PZCHCK * TZZ - PXTART = PXCHCK - PTOSCA * TXX - PYTART = PYCHCK - PTOSCA * TYY - PZTART = PZCHCK - PTOSCA * TZZ - PTRASQ = PXTART**2 + PYTART**2 + PZTART**2 - AMTRSQ = AMTAR**2 + PTRASQ - UMOTR2 = UMO2 + PTRASQ - UMOTR = SQRT (UMOTR2) - PPARSQ = ECHCK**2 - UMOTR2 - PPARTT = SQRT (PPARSQ) - GAMCMS = ECHCK / UMOTR - ETACMS = PPARTT / UMOTR - EPRCMS = HLFHLF * ( UMOTR2 + AMPROJ**2 - AMTRSQ ) / UMOTR - PPRCMS = SQRT ( ( EPRCMS - AMPROJ ) * ( EPRCMS + AMPROJ ) ) - EPRLAB = GAMCMS * EPRCMS + ETACMS * PPRCMS - ETRLAB = ECHCK - EPRLAB - PPRLAB = SQRT ( ( EPRLAB - AMPROJ ) * ( EPRLAB + AMPROJ ) ) - PXTARG = PXCHCK - PPRLAB * TXX - PYTARG = PYCHCK - PPRLAB * TYY - PZTARG = PZCHCK - PPRLAB * TZZ - GAM = ETRLAB / AMTAR - BGX = PXTARG / AMTAR - BGY = PYTARG / AMTAR - BGZ = PZTARG / AMTAR - PPHELP = ( BGX * TXX + BGY * TYY + BGZ * TZZ ) * PPRLAB - ETAPCM = EPRLAB - PPHELP / ( GAM + ONEONE ) - PXPROJ = PPRLAB * TXX - BGX * ETAPCM - PYPROJ = PPRLAB * TYY - BGY * ETAPCM - PZPROJ = PPRLAB * TZZ - BGZ * ETAPCM - UUOLD = PXPROJ / PPROJX - VVOLD = PYPROJ / PPROJX - WWOLD = PZPROJ / PPROJX - SINT02 = UUOLD**2 + VVOLD**2 - IF ( SINT02 .LE. ANGLSQ ) THEN - LSMPAN = .TRUE. - SINTH0 = ZERZER - COSPH0 = ONEONE - SINPH0 = ZERZER - ELSE - LSMPAN = .FALSE. - SINTH0 = SQRT (SINT02) - COSPH0 = UUOLD / SINTH0 - SINPH0 = VVOLD / SINTH0 - END IF - PLABS = PPROJX - ELABS = EPROJX - IF ( LSEACL .OR. .NOT. LDIFFR (KPTOIP(KP)) .OR. PLABS .LE. PTHDFF - & ) THEN - FRUUN(1) = ONEONE - ELSE - IF ( RN1GSC .GE. ZERZER ) THEN - CALL GRNDM(FRUUN,1) - IF ( FRUUN(1) .LT. HLFHLF ) THEN - FRUUN(1) = RN1GSC - ELSE - FRUUN(1) = RN2GSC - END IF - ELSE - CALL GRNDM(FRUUN,1) - END IF - END IF - - IF ( UMO * UMO .LT. URMIN2 ) THEN - IF ( URMIN2 - UMO2 .LT. 0.1D+00 * URMIN2 .AND. IIBAR (KP) .LT. - & 0 ) GO TO 1550 - IF ( .NOT. LSEACL .AND. PLABS .GT. 2.D+00 ) GO TO 1550 - WRITE ( LUNOUT,* )' Ferevv: Umo2 < Urmin2 !!',UMO*UMO,URMIN2, - & KP,KT,AMPROJ,AMTAR - WRITE ( LUNERR,* )' Ferevv: Umo2 < Urmin2 !!',UMO*UMO,URMIN2, - & KP,KT,AMPROJ,AMTAR - NHAD = 2 - NREH(1) = KT - PXH(1) = 0.D+00 - PYH(1) = 0.D+00 - PZH(1) = 0.D+00 - HEPH(1) = AMTAR - AMH (1) = AMTAR - IBARH (1) = IIBAR (KT) - ICHH (1) = IICH (KT) - ANH (1) = ANAME (KT) - IF ( LSEACL .OR. IVFLAG .EQ. 0 ) THEN - NREH(2) = 23 - ELSE - NREH(2) = KP - END IF - PXH(2) = 0.D+00 - PYH(2) = 0.D+00 - PZH(2) = PLABS - HEPH(2) = ELABS - AMH (2) = AMPROJ - IBARH (2) = IIBAR (NREH(2)) - ICHH (2) = IICH (NREH(2)) - ANH (2) = ANAME (NREH(2)) - GO TO 1122 - END IF - 1550 CONTINUE - IF ( FRUUN(1) .LE. FRDIFF ) THEN - CALL DIFEVV ( NHAD, KP, KT, PLABS, ELABS, UMO ) - LEVDIF = .TRUE. - ELSE IF ( .NOT. LSEACL .AND. PLABS .LT. DBLE(IJNUCR(KPTOIP(KP))) - & * 0.8D+00 * PTHRSH (KPTOIP(KP)) ) THEN - IF ( KP .EQ. 26 ) THEN - KPP = 23 - ELSE - KPP = KP - END IF - CALL HEVHIN ( NHAD, KPP, KT, PLABS, ELABS, UMO ) - LHADRI = .TRUE. - ELSE - IF ( .NOT. LSEACL ) THEN - LEVDIF = .FALSE. - LHADRI = .FALSE. - END IF - CALL HADEVV ( NHAD, KP, KT, PLABS, ELABS, UMO ) - END IF -1122 CONTINUE - DO 2000 I=1,NHAD - IF ( LSMPAN ) THEN - PZH (I) = WWOLD * PZH (I) - ELSE - PLRX = PXH (I) * COSPH0 * WWOLD - PYH (I) * SINPH0 - & + PZH (I) * UUOLD - PLRY = PXH (I) * SINPH0 * WWOLD + PYH (I) * COSPH0 - & + PZH (I) * VVOLD - PLRZ = - PXH (I) * SINTH0 + PZH (I) * WWOLD - PXH (I) = PLRX - PYH (I) = PLRY - PZH (I) = PLRZ - END IF - CALL ALTRA ( GAM, BGX, BGY, BGZ, PXH(I), PYH(I), PZH(I), - & HEPH(I), PLR, PLRX, PLRY, PLRZ, ELR ) - PXH(I) = PLRX - PYH(I) = PLRY - PZH(I) = PLRZ - HEPH(I) = ELR -2000 CONTINUE - - B1BAMJ = B1SAVE - B2BAMJ = B2SAVE - RETURN - END diff --git a/StarVMC/geant3/fluka/ferhav.F b/StarVMC/geant3/fluka/ferhav.F deleted file mode 100644 index 21093d841bb..00000000000 --- a/StarVMC/geant3/fluka/ferhav.F +++ /dev/null @@ -1,275 +0,0 @@ -* -* $Id: ferhav.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: ferhav.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 02/07/94 17.46.10 by S.Giani -*-- Author : - SUBROUTINE FERHAV ( KP, EPROJ, PPROJ, TXX, TYY, TZZ ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -#include "geant321/balanc.inc" -#include "geant321/finlsp.inc" -#include "geant321/hadflg.inc" -#include "geant321/nucdat.inc" -#include "geant321/qquark.inc" -#include "geant321/part3.inc" -#include "geant321/resnuc.inc" - COMMON /FKABLT/ AM(110), GAA(110), TAU(110), ICH(110), IBAR(110), - & K1(110), K2(110) - COMMON / FKNUCF / DELEFT, EKRECL, V0EXTR, ITTA, ITJ, LVMASS - LOGICAL LVMASS, LSMPAN - COMMON / FKEVNT / LNUCRI, LHADRI - LOGICAL LNUCRI, LHADRI - REAL FRNDM(3) - SAVE ONEDUM, ZERDUM - DATA ONEDUM / 1.D+00 / - DATA ZERDUM / 0.D+00 / - AMPROJ = AM (KP) - AMTAR = AM (ITTA) - ECHCK = EPROJ + EFRM - V0WELL (ITJ) - EKRECL - EBNDNG (ITJ) - PXCHCK = PXFRM + PPROJ * TXX - PYCHCK = PYFRM + PPROJ * TYY - PZCHCK = PZFRM + PPROJ * TZZ - UMIN2 = ( AMPROJ + AMTAR )**2 - P2CHCK = PXCHCK**2 + PYCHCK**2 + PZCHCK**2 - UMO2 = ECHCK**2 - P2CHCK - IF ( ABS ( UMO2 - UMIN2 ) .GT. TWOTWO * ANGLGB * UMO2 ) THEN - EPROJX = HLFHLF * ( UMO2 - AMPROJ**2 - AMTAR**2 ) / AMTAR - IF ( EPROJX .LT. AMPROJ ) THEN - WRITE (LUNERR,*)' Ferhav: trouble with pseudo-masses!!', - & EPROJX,AMPROJ,LVMASS - EPROJX = AMPROJ - PPROJX = ZERZER - LRESMP = .TRUE. - RETURN - ELSE - PPROJX = SQRT ( ( EPROJX - AMPROJ ) * ( EPROJX + AMPROJ ) ) - END IF - ETOTX = EPROJX + AMTAR - AMTRMX = HLFHLF * ( UMO2 - AMPROJ**2 - AMTAR**2 ) / AMPROJ - AMSQMX = AMTRMX**2 - PTOSCA = PXCHCK * TXX + PYCHCK * TYY + PZCHCK * TZZ - PXTART = PXCHCK - PTOSCA * TXX - PYTART = PYCHCK - PTOSCA * TYY - PZTART = PZCHCK - PTOSCA * TZZ - PTRASQ = PXTART**2 + PYTART**2 + PZTART**2 - AMTRSQ = AMTAR**2 + PTRASQ - IF ( AMTRSQ .GT. AMSQMX ) THEN - PPCHCK = SQRT (P2CHCK) - PTOOLD = PTOSCA - PTRASQ = ( AMTRMX - AMTAR ) * ( AMTRMX + AMTAR ) -****** AMTRSQ = AMTRMX + PTRASQ -****** PTOSCA = SIGN (ONEONE,PTOOLD) * SQRT ( P2CHCK - PTRASQ ) - AMTRSQ = AMSQMX - PTOSCA = SQRT ( P2CHCK - PTRASQ ) - ALPTUU = ( PTOSCA * SQRT ( ( PPCHCK - PTOOLD ) * ( PPCHCK - & + PTOOLD ) / ( PPCHCK - PTOSCA ) / ( PPCHCK + PTOSCA - & ) ) - PTOOLD ) / PPCHCK - FNORM = SQRT ( ONEONE + ALPTUU**2 + TWOTWO * ALPTUU - & * PTOOLD / PPCHCK ) - ALPTUU = ALPTUU / PPCHCK - TXXX = ( TXX + ALPTUU * PXCHCK ) / FNORM - TYYY = ( TYY + ALPTUU * PYCHCK ) / FNORM - TZZZ = ( TZZ + ALPTUU * PZCHCK ) / FNORM - UMOTR2 = UMO2 + PTRASQ - UMOTR = SQRT (UMOTR2) - AMTRAN = AMTRMX - PPARSQ = PTOSCA**2 - PPARTT = PTOSCA - GAMCMS = ECHCK / UMOTR - ETACMS = PPARTT / UMOTR - EPRCMS = AMPROJ - PPRCMS = ZERZER - ELSE - TXXX = TXX - TYYY = TYY - TZZZ = TZZ - PTOOLD = PTOSCA - UMOTR2 = UMO2 + PTRASQ - UMOTR = SQRT (UMOTR2) - PPARTT = PTOSCA - GAMCMS = ECHCK / UMOTR - ETACMS = PPARTT / UMOTR - EPRCMS = HLFHLF * ( UMOTR2 + AMPROJ**2 - AMTRSQ ) / UMOTR - PPRCMS = SQRT ( ( EPRCMS - AMPROJ ) * ( EPRCMS + AMPROJ ) ) - END IF - EPRLAB = GAMCMS * EPRCMS + ETACMS * PPRCMS - ETRLAB = ECHCK - EPRLAB - PPRLAB = SQRT ( ( EPRLAB - AMPROJ ) * ( EPRLAB + AMPROJ ) ) - PXTARG = PXCHCK - PPRLAB * TXXX - PYTARG = PYCHCK - PPRLAB * TYYY - PZTARG = PZCHCK - PPRLAB * TZZZ - GAM = ETRLAB / AMTAR - BGX = PXTARG / AMTAR - BGY = PYTARG / AMTAR - BGZ = PZTARG / AMTAR - PPHELP = ( BGX * TXXX + BGY * TYYY + BGZ * TZZZ ) * PPRLAB - ETAPCM = EPRLAB - PPHELP / ( GAM + ONEONE ) - PXPROJ = PPRLAB * TXXX - BGX * ETAPCM - PYPROJ = PPRLAB * TYYY - BGY * ETAPCM - PZPROJ = PPRLAB * TZZZ - BGZ * ETAPCM - UUOLD = PXPROJ / PPROJX - VVOLD = PYPROJ / PPROJX - WWOLD = PZPROJ / PPROJX - SINT02 = UUOLD**2 + VVOLD**2 - IF ( SINT02 .LE. ANGLSQ ) THEN - LSMPAN = .TRUE. - SINTH0 = ZERZER - COSPH0 = ONEONE - SINPH0 = ZERZER - ELSE - LSMPAN = .FALSE. - SINTH0 = SQRT (SINT02) - COSPH0 = UUOLD / SINTH0 - SINPH0 = VVOLD / SINTH0 - END IF - ELSE - UMO2 = UMIN2 - EPROJX = AMPROJ - PPROJX = ZERZER - ETOTX = AMPROJ + AMTAR - LSMPAN = .FALSE. - CALL POLI ( COSTH0, SINTH0 ) - CALL SFECFE ( SINPH0, COSPH0 ) - UUOLD = SINTH0 * COSPH0 - VVOLD = SINTH0 * SINPH0 - WWOLD = COSTH0 - AAFACT = ECHCK + ETOTX - BBFACT = PPROJX - PZCHCK - DDENOM = ETOTX * AAFACT - PPROJX * BBFACT - GAM = ( ECHCK * AAFACT + PPROJX * BBFACT ) / DDENOM - BGZ = - BBFACT * AAFACT / DDENOM - BGX = PXCHCK * ( GAM + ONEONE ) / AAFACT - BGY = PYCHCK * ( GAM + ONEONE ) / AAFACT - END IF - PLABS = PPROJX - ELABS = EPROJX - IF ( PLABS .LT. 1.D-04 ) THEN - WRITE (LUNERR,*)' Ferhav: kp,plabs,elabs,pprox,y,z,pfrmix,y,z' - & ,KP,PLABS,ELABS,PPROJ*TXX,PPROJ*TYY,PPROJ*TZZ,PXFRM,PYFRM, - & PZFRM - WRITE (LUNERR,*)' Lvmass,Am(kp),Eproj:',LVMASS,AM(KP),EPROJ - ELSE IF ( PLABS .GT. 1.D+01 ) THEN - WRITE (LUNERR,*)' Ferhav: kp,plabs,elabs,pprox,y,z,pfrmix,y,z' - & ,KP,PLABS,ELABS,PPROJ*TXX,PPROJ*TYY,PPROJ*TZZ,PXFRM,PYFRM, - & PZFRM - WRITE (LUNERR,*)' Lvmass,Am(kp),Eproj:',LVMASS,AM(KP),EPROJ - END IF - ISSU = 0 - DO 100 IQ = 1,3 - ISSU = ISSU + MQUARK (IQ,KP) / 3 - 100 CONTINUE - IF ( LVMASS ) THEN - LHADRI = .TRUE. - CALL HADRIN ( KP, PLABS, ELABS, ZERDUM, ZERDUM, ONEDUM, ITTA ) - IOLDHD = 0 - ELSE IF ( PLABS .GT. 7.D+00 ) THEN - LHADRI = .FALSE. - CALL HINHEV ( KP, PLABS, ELABS, ITTA ) - ELSE - LHADRI = .TRUE. - CALL HADRIV ( KP, PLABS, ELABS, ZERDUM, ZERDUM, ONEDUM, ITTA ) - END IF - DO 2000 I=1,IR - ECMS = ELR (I) - PCMSX = PLR (I) * CXR (I) - PCMSY = PLR (I) * CYR (I) - PCMSZ = PLR (I) * CZR (I) - IF ( LSMPAN ) THEN - PCMSX = PLR (I) * CXR (I) - PCMSY = PLR (I) * CYR (I) - PCMSZ = WWOLD * PLR (I) * CZR (I) - ELSE - PLRX = CXR (I) * COSPH0 * WWOLD - CYR (I) * SINPH0 - & + CZR (I) * UUOLD - PLRY = CXR (I) * SINPH0 * WWOLD + CYR (I) * COSPH0 - & + CZR (I) * VVOLD - PLRZ = - CXR (I) * SINTH0 + CZR (I) * WWOLD - PCMSX = PLRX * PLR (I) - PCMSY = PLRY * PLR (I) - PCMSZ = PLRZ * PLR (I) - END IF - CALL ALTRA ( GAM, BGX, BGY, BGZ, PCMSX, PCMSY, PCMSZ, - & ECMS, PLR (I), PLRX, PLRY, PLRZ, ELR (I) ) - CXR (I) = PLRX / PLR (I) - CYR (I) = PLRY / PLR (I) - CZR (I) = PLRZ / PLR (I) - DO 200 IQ = 1,3 - ISSU = ISSU - MQUARK (IQ,KPTOIP(ITR(I))) / 3 - 200 CONTINUE -2000 CONTINUE - IF ( ISSU .NE. 0 ) THEN - WRITE (LUNOUT,*)' *** Strangeness non conservation in Hadriv', - & ISSU,KP,ITTA,' ***' - WRITE (LUNERR,*)' *** Strangeness non conservation in Hadriv', - & ISSU,KP,ITTA,' ***' - LRESMP = .TRUE. - END IF - V0WELL (ITJ) = V0WELL (ITJ) - V0EXTR - RETURN - ENTRY FERSET - FERM = PFRMMX (ITJ) - CALL GRNDM(FRNDM,3) - P2 = MAX ( FRNDM (1), FRNDM (2), FRNDM (3) ) - IF ( IBTAR .LE. 1 ) THEN - FERM = ZERZER - END IF - P2=FERM*P2 - P2SQ = P2 * P2 - IATEMP = IBTAR - 1 - ATEMP = DBLE ( IBTAR ) - ONEONE - IF ( ITJ .EQ. 1 ) THEN - IZTEMP = ICHTAR - 1 - ELSE - IZTEMP = ICHTAR - END IF - ZTEMP = DBLE ( IZTEMP ) - DELCTR = ( DBLE (ICHTAR) - ZTEMP ) * AMELEC - DELEFT = AMMTAR - AMNTAR - DELCTR - AMMRES = AMUAMU * ATEMP + 1.D-03 * FKENER ( ATEMP, ZTEMP ) - AMNRES = AMMRES - ZTEMP * AMELEC + ELBNDE ( IZTEMP ) - AMTMSQ = AMMRES * AMMRES - EKRECL = SQRT ( AMTMSQ + P2SQ ) - AMMRES - CALL POLI ( POLC, POLS ) - CALL COSI ( SFE, CFE ) - PXFRM = CFE * POLS * P2 - PYFRM = SFE * POLS * P2 - PZFRM = POLC * P2 - EFRM = SQRT ( AMNUSQ (ITJ) + P2SQ ) - EKFER = EFRM - AMNUCL (ITJ) - TVEUZ = V0WELL (ITJ) - EFRM + EBNDNG (ITJ) + AMMTAR - AMMRES - & - DELCTR - IF ( TVEUZ .LT. ZERZER ) THEN - V0EXTR = - TVEUZ + TENTEN * TVEPSI - TVEUZ = TVEUZ + V0EXTR - V0WELL (ITJ) = V0WELL (ITJ) + V0EXTR - ELSE - V0EXTR = ZERZER - END IF - RETURN - END diff --git a/StarVMC/geant3/fluka/fisfra.F b/StarVMC/geant3/fluka/fisfra.F deleted file mode 100644 index fdc22ba3983..00000000000 --- a/StarVMC/geant3/fluka/fisfra.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: fisfra.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fisfra.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE FISFRA.FOR -*COPY FISFRA -* -*=== fisfra ===========================================================* -* - SUBROUTINE FISFRA ( JA, JZ, U, EREC, UMO, GAMCM, ETACM ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* FISsion FRAgments emission: * -* * -* * -* Subroutine to pick post fission parameters for nucleus * -* JZ,JA excited to U and recoiling with Erec. * -* * -* Created on 08 april 1993 by A.Ferrari & P.Sala, INFN - Milan * -* * -* Last change on 14-apr-93 by Alfredo Ferrari, INFN - Milan * -* * -* This routine is just the FLUKA equivalent of the routines FISSED and* -* FISDIS of LAHET, taken thanks to R.E.Prael * -* * -* Input variables: * -* JA = Mass number of the fissioning nucleus * -* JZ = Atomic number of the fissioning nucleus * -* U = Excitation energy (MeV) of the fissioning nucleus * -* Erec = Recoil kinetic energy (MeV) of the residual nucleus * -* The recoil direction is given by Coslf0 (i) * -* Umo = invariant mass of the fissioning system (mass+excitation) * -* Gamcm= CMS Lorentz boost "gamma" * -* Etacm= CMS Lorentz boost "eta" * -* * -*----------------------------------------------------------------------* -* - STOP 'FISFRA' -* RETURN -*=== Fisfra ===========================================================* - END diff --git a/StarVMC/geant3/fluka/fkdeca.F b/StarVMC/geant3/fluka/fkdeca.F deleted file mode 100644 index c3b3bd27e80..00000000000 --- a/StarVMC/geant3/fluka/fkdeca.F +++ /dev/null @@ -1,150 +0,0 @@ -* -* $Id: fkdeca.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fkdeca.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== decay ============================================================* -* - SUBROUTINE FKDECA(IHAD,ISTAB) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* Decay89: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* -#include "geant321/finpar2.inc" -#include "geant321/metlsp.inc" -#include "geant321/part.inc" -#include "geant321/decayc.inc" - COMMON /FKDREI/ TEST(12) - COMMON /FKGAMR/REDU,AMO,AMM(15) - COMMON /FKPRUN/ISYS - REAL RNDM(1) -C -C - REDU=2.D0 - DO 801 I=1,IHAD - ITS(I) = NREF(I) - PLS(I) = SQRT(PXF(I)**2 + PYF(I)**2 + PZF(I)**2) - IF (PLS(I) .NE. 0.D0) THEN - CXS(I) = PXF(I)/PLS(I) - CYS(I) = PYF(I)/PLS(I) - CZS(I) = PZF(I)/PLS(I) - END IF - ELS(I) = HEF(I) - 801 CONTINUE - IST = IHAD - IR = 0 - 200 CONTINUE -C*****TEST STABLE OR UNSTABLE -C$$$$$ISTAB=1/2/3 MEANS STRONG + WEAK DECAYS / ONLY STRONG DECAYS / -C*****STRONG DECAYS + WEAK DECAYS FOR CHARMED PARTICLES AND TAU LEPTONS - IF(ISTAB.EQ.1) GOTO 793 - IF(ISTAB.EQ.2) GOTO 737 - IF(ISTAB.EQ.3) GOTO 738 - 793 IF(ITS(IST).EQ.135.OR.ITS(IST).EQ.136) GOTO 202 - IF(ITS(IST).GE.1.AND.ITS(IST).LE.7) GOTO 202 - GOTO 300 - 738 IF(ITS(IST).GE.1.AND.ITS(IST).LE.30) GOTO 202 - IF(ITS(IST).GE. 97.AND.ITS(IST).LE.103) GOTO 202 - IF(ITS(IST).EQ.109.OR.ITS(IST).EQ.115) GOTO 202 - IF(ITS(IST).GE.133.AND.ITS(IST).LE.136) GOTO 202 - GOTO 300 - 737 IF(ITS(IST).GE. 1.AND.ITS(IST).LE. 30) GOTO 202 - IF(ITS(IST).GE. 97.AND.ITS(IST).LE.103) GOTO 202 - IF(ITS(IST).GE.115.AND.ITS(IST).LE.122) GOTO 202 - IF(ITS(IST).GE.131.AND.ITS(IST).LE.136) GOTO 202 - IF(ITS(IST).EQ.109) GO TO 202 - IF(ITS(IST).GE.137.AND.ITS(IST).LE.160) GOTO 202 - GO TO 300 - 202 IR = IR + 1 - NREF(IR) = ITS(IST) - ITT = ITS(IST) - AMF(IR) = AM(ITT) - ANF(IR) = ANAME(ITT) - ICHF(IR) = ICH(ITT) - IBARF(IR) = IBAR(ITT) - HEF(IR) = ELS(IST) - PXF(IR) = CXS(IST)*PLS(IST) - PYF(IR) = CYS(IST)*PLS(IST) - PZF(IR) = CZS(IST)*PLS(IST) - IST = IST - 1 - IF(IST .GE. 1) GO TO 200 - GO TO 500 - 300 IT = ITS(IST) - GAM = ELS(IST)/AM(IT) - BGAM = PLS(IST)/AM(IT) - ECO = AM(IT) - KZ1 = K1(IT) - 310 CONTINUE - CALL GRNDM(RNDM,1) - VV = RNDM(1) - 1.D-17 - IIK = KZ1 - 1 - 301 IIK = IIK + 1 - IF (VV.GT.WT(IIK)) GO TO 301 -C IIK IS THE DECAY CHANNEL - IT1 = NZK(IIK,1) - IT2 = NZK(IIK,2) - IF (IT2-1 .LT. 0) GO TO 110 - IT3 = NZK(IIK,3) -C IT1,IT2, IT3 ARE THE PRODUCED PARTICLES FROM IT - IF(IT3 .EQ. 0) GO TO 400 - CALL THREPD(ECO,ECM1,ECM2,ECM3,PCM1,PCM2,PCM3,COD1,COF1,SIF1,COD2, - & COF2,SIF2,COD3,COF3,SIF3,AM(IT1),AM(IT2),AM(IT3)) - GO TO 411 - 400 CALL TWOPAD(ECO,ECM1,ECM2,PCM1,PCM2,COD1,COF1,SIF1,COD2,COF2,SIF2, - & AM(IT1),AM(IT2)) - 411 CONTINUE - 110 CONTINUE - ITS(IST) = IT1 - IF (IT2-1 .LT. 0) GO TO 305 - ITS(IST+1) = IT2 - ITS(IST+2) = IT3 - RX = CXS(IST) - RY = CYS(IST) - RZ = CZS(IST) - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD1,COF1,SIF1,PCM1,ECM1, - & PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IST = IST + 1 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD2,COF2,SIF2,PCM2,ECM2, - & PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IF (IT3 .LE. 0) GO TO 305 - IST = IST + 1 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD3,COF3,SIF3,PCM3,ECM3, - & PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - 305 CONTINUE - GO TO 200 - 500 CONTINUE - IDAPU = IDMAX3 - IF(IR .GT. IDMAX3) WRITE(ISYS,928)IDAPU - 928 FORMAT(' NUMBER OF STAB. FINAL PART. IS GREATER THAN',I5) - IHAD = IR - RETURN - END diff --git a/StarVMC/geant3/fluka/fkdres.F b/StarVMC/geant3/fluka/fkdres.F deleted file mode 100644 index a88a5ce34c0..00000000000 --- a/StarVMC/geant3/fluka/fkdres.F +++ /dev/null @@ -1,1036 +0,0 @@ -* -* $Id: fkdres.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fkdres.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:05 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== dres =============================================================* -* * - SUBROUTINE FKDRES ( M2, M3, T1, U, EREC, LOPPAR, JFISS ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* New version of DRES created by A.Ferrari & P.Sala, INFN - Milan * -* * -* Last change on 10-apr-93 by Alfredo Ferrari, INFN - Milan * -* * -* Dres93: Dres91 plus the RAL fission model taken from LAHET thanks * -* to R.E.Prael * -* Dres91: new version from A. Ferrari and P. Sala, INFN - Milan * -* This routine has been adapted from the original one of the * -* Evap-5 module (KFA - Julich). Main modifications concern * -* with kinematics which is now fully relativistic and with * -* the treatment of few nucleons nuclei, which are now frag- * -* mented, even though in a very rough manner. Changes have * -* been made also to other routines of the Evap-5 package * -* * -*----------------------------------------------------------------------* -* -*----------------------------------------------------------------------* -* * -* Input variables: * -* M2 = Mass number of the residual nucleus * -* M3 = Atomic number of the residual nucleus * -* T1 = Excitation energy of the residual nucleus before evaporation* -* U = Excitation energy of the residual nucleus after evaporation * -* Erec = Recoil kinetic energy of the residual nucleus * -* The recoil direction is given by Coslbr (i) * -* * -* Significant variables: * -* JA = Present mass number of the residual nucleus * -* JZ = Present atomic number of the residual nucleus * -* Smom1 = Energy accumulators for the six types of evaporated * -* particles * -* * -* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -* !!!! Please note that the following variables concerning !!!! * -* !!!! with the present residual nucleus must be set before!!!! * -* !!!! entering DRES91: Ammres, Ptres !!!! * -* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -* * -*----------------------------------------------------------------------* -* -C--------------------------------------------------------------------- -C SUBNAME = DRES --- EVAPORATION -C EVAPORATION DATA SHOUD BE READ ON INPUT STAGE -C--------------------------------------------------------------------- -C*****A LA EVAP III(TWA,8-68) -#include "geant321/eva0.inc" -#include "geant321/eva1.inc" -#include "geant321/forcn.inc" -#include "geant321/higfis.inc" -#include "geant321/inpflg.inc" -#include "geant321/labcos.inc" -#include "geant321/nucdat.inc" -#include "geant321/resnuc.inc" - DIMENSION ZMASS (6), Z2MASS(6), C(3), Q(0:6), FLKCOU(6), CCOUL(6), - & THRESH(6), SMALLA(6), R(6), S (6), SOS (6), STRUN(6), - & EYE1 (6), EYE0 (6), SMOM1 (6), BNMASS(6) - DIMENSION CORRRR(6) - REAL RNDM(2) - LOGICAL LOPPAR, PENBAR, LFIRST - PARAMETER (EXPMIN=-88,EXPMAX=88) - SAVE ZMASS, Z2MASS, EMHN, EMNUM, UM, AMUMEV, AMEMEV, QBRBE8, - & BNMASS, IEVEVP, NBE8, NRNEEP, LFIRST - DATA IEVEVP / 0 / - DATA LFIRST / .TRUE. / -* - IEVEVP = IEVEVP + 1 -C-------------------------------------- 1.ST CALL INIT - IF ( LFIRST ) THEN - LFIRST = .FALSE. - FKEY = ZERZER - NBE8 = 0 - NRNEEP = 0 - EXMASS(1) = 1.D+03 * ( AMNEUT - AMUAMU ) - EXMASS(2) = FKENER ( ONEONE, ONEONE ) - EXMASS(3) = FKENER ( TWOTWO, ONEONE ) - EXMASS(4) = FKENER ( THRTHR, ONEONE ) - EXMASS(5) = FKENER ( THRTHR, TWOTWO ) - EXMASS(6) = FKENER ( FOUFOU, TWOTWO ) - ZMASS(1) = 1.D+03 * AMUAMU + EXMASS (1) - ZMASS(2) = 1.D+03 * AMUAMU + EXMASS (2) - ZMASS(3) = 2.D+03 * AMUAMU + EXMASS (3) - ZMASS(4) = 3.D+03 * AMUAMU + EXMASS (4) - ZMASS(5) = 3.D+03 * AMUAMU + EXMASS (5) - ZMASS(6) = 4.D+03 * AMUAMU + EXMASS (6) - BNMASS (1) = 0.D+00 - BNMASS (2) = 0.D+00 - BNMASS (3) = ZMASS (1) + ZMASS (2) - ZMASS (3) - BNMASS (4) = TWOTWO * ZMASS (1) + ZMASS (2) - ZMASS (4) - BNMASS (5) = ZMASS (1) + TWOTWO * ZMASS (2) - ZMASS (5) - BNMASS (6) = TWOTWO * ( ZMASS (1) + ZMASS (2) ) - ZMASS (6) - DO 1234 KK = 1,6 - Z2MASS (KK) = ZMASS (KK) * ZMASS (KK) -1234 CONTINUE - AMUMEV = 1.D+03 * AMUAMU - AMEMEV = 1.D+03 * AMELEC - QBRBE8 = FKENER ( EIGEIG, FOUFOU ) - TWOTWO * EXMASS (6) - EMN = 1.D+03 * AMNEUT - EMH = ZMASS (2) - TMP16 = 16.D+00 - UM = AMUMEV + FKENER ( TMP16, EIGEIG ) / 16.D+00 - EMHN = EMH - EMN - EMNUM = EMN - UM - END IF -* | End of initialization: -* +-------------------------------------------------------------------* -C --------------------------------- START OF PROCESS -* +-------------------------------------------------------------------* -* | Initialize Npart and Smom if nothing has been already evaporated -* | for this event - IF ( JFISS .LE. 0 ) THEN - DO 775 I=1,6 - NPART(I) = 0 - SMOM1(I) = ZERZER - 775 CONTINUE - END IF -* | -* +-------------------------------------------------------------------* - JA = M2 - JZ = M3 - U = T1 - RNMASS = 1.D+03 * AMMRES + U -* P2res and Ptres are the squared momentum and the momentum of the -* residual nucleus (now in relativistic kinematics), Umo the -* invariant mass of the system! - UMO = RNMASS - UMO2 = UMO * UMO - ELBTOT = RNMASS + EREC - GAMCM = ELBTOT / RNMASS - ETACM = 1.D+03 * PTRES / RNMASS - HEVSUM = ZERZER - 1000 CONTINUE - LOPPAR = .FALSE. -* +-------------------------------------------------------------------* -* | Check for starting data inconsistencies - IF (JA-JZ .LT. 0) THEN - WRITE(LUNOUT,6401) - WRITE(LUNERR,6401) - 6401 FORMAT('1 Dres: cascade residual nucleus has mass no. less', - & ' than Z!!') - RETURN -* | -* +-------------------------------------------------------------------* -* | Rough treatment for very few nucleon residual -* | nuclei. The basic ideas are: -* | a) as many as possible alpha particles are emitted -* | b) particles are emitted one per time leaving a residual -* | excitation energy proportional to number of nucleons -* | left in the residual nucleus (so we deal only with -* | two body kinematics) -* | T A K E I N T O A C C O U N T T H A T T H I S -* | T R E A T M E N T I S E X T R E M E L Y R O U G H -* | T H E T A S K B E I N G O N L Y T O S U P P L Y -* | S O M E T H I N G T O S H A R E E N E R G Y A N D -* | M O M E N T U M A M O N G A F E W F R A G M E N T S - ELSE IF ( JA .LE. 6 .OR. JZ .LE. 2 ) THEN -* | 1000 continue moved above according to FCA suggestion -*1000 CONTINUE - JRESID = 0 - IF ( JA .GT. 4 ) GO TO 2000 -* | +----------------------------------------------------------------* -* | | First check we are not concerning with a couple of neutrons or -* | | protons - IF ( JA .EQ. 2 .AND. JZ .NE. 1 ) THEN - JEMISS = 1 + JZ / 2 - JRESID = JEMISS - RNMASS = ZMASS (JRESID) - U = 0.D+00 - DELTU = UMO - 2.D+00 * ZMASS (JEMISS) -* | | +-------------------------------------------------------------* -* | | | - IF ( DELTU .LE. 0.D+00 ) THEN - IF ( DELTU .LT. - 2.D+00 * ANGLGB * UMO ) THEN - WRITE ( LUNERR, * )' *** Dres: insufficient Umo for', - & ' a nucleon couple', UMO, - & 2.D+00 * ZMASS (JEMISS) - END IF - UMO = ( UMO + DELTU ) * ( 1.D+00 + ANGLGB ) - END IF -* | | | -* | | +-------------------------------------------------------------* - GO TO 2500 - END IF -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | Then check we are not concerning with one of the six -* | | standard particles - DO 1700 J = 6, 1, -1 -* | | +-------------------------------------------------------------* -* | | | - IF ( JZ .EQ. IZ (J) .AND. JA .EQ. IA (J) ) THEN - HEVSUM = SMOM1(3) + SMOM1(5) + SMOM1(6) + SMOM1(4) - GO TO ( 1100, 1100, 1600, 1500, 1400, 1300 ), J -* | | | +----------------------------------------------------------* -* | | | | Proton or neutron, nothing can be done - 1100 CONTINUE - RETURN -* | | | +----------------------------------------------------------* -* | | | | Alpha: - 1300 CONTINUE - DEUDEU = MAX ( ZERZER, U + TWOTWO * BNMASS (3) - & - BNMASS (6) ) - PROTRI = MAX ( ZERZER, U + BNMASS (4) - BNMASS (6) ) - UEU3HE = MAX ( ZERZER, U + BNMASS (5) - BNMASS (6) ) - QNORM = DEUDEU + PROTRI + UEU3HE -* | | | | If we cannot split then return - IF ( QNORM .LE. ZERZER ) RETURN - CALL GRNDM(RNDM,1) - V = RNDM (1) -* | | | | +-------------------------------------------------------* -* | | | | | Split or into two deuterons or a triton and a proton -* | | | | | or a 3-He and a neutron: no account is made for -* | | | | | Coulomb effects, probability is simply assumed -* | | | | | proportional to reaction Qs - IF ( V .LT. DEUDEU / QNORM ) THEN -* | | | | | Two deuterons selected - JEMISS = 3 - JRESID = 3 - RNMASS = ZMASS (3) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Split into a triton and a proton - ELSE IF ( V .LT. ( DEUDEU + PROTRI ) / QNORM ) THEN - JEMISS = 2 - JRESID = 4 - RNMASS = ZMASS (4) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Split into a 3-He and a neutron - ELSE - JEMISS = 1 - JRESID = 5 - RNMASS = ZMASS (5) - U = ZERZER - GO TO 2500 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* -* | | | | 3-He: - 1400 CONTINUE - DEUPRO = MAX ( ZERZER, U + BNMASS (3) - BNMASS (5) ) - PRPRNE = MAX ( ZERZER, U - BNMASS (5) ) - QNORM = DEUPRO + PRPRNE -* | | | | If we cannot split then return - IF ( QNORM .LE. ZERZER ) RETURN - CALL GRNDM(RNDM,1) - V = RNDM (1) -* | | | | +-------------------------------------------------------* -* | | | | | Split or into a deuteron and a proton -* | | | | | or into two protons and one neutron: no account is -* | | | | | made for Coulomb effects, probability is simply assumed -* | | | | | prportional to reaction Qs - IF ( V .LT. DEUPRO / QNORM ) THEN -* | | | | | A deuteron and a proton selected - JEMISS = 2 - JRESID = 3 - RNMASS = ZMASS (3) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Split into 2 protons and 1 neutron: part of the exci- -* | | | | | tation energy is conserved to allow the further -* | | | | | splitting of the deuteron - ELSE - JEMISS = 2 - JRESID = 0 - FACT = ONEONE -* | | | | | +----------------------------------------------------* -* | | | | | | Loop to compute the residual excitation energy - 1450 CONTINUE - FACT = FACT * 0.6666666666666667D+00 -* | | | | | | Erncm, Eepcm are the total energies of the residual -* | | | | | | nucleus and of the emitted particle in the CMS frame - U = FACT * PRPRNE + BNMASS (3) - RNMASS = ZMASS (3) + U - ERNCM = HLFHLF * ( UMO2 + RNMASS**2 - & - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - IF ( EEPCM .LE. ZMASS (JEMISS) ) GO TO 1450 -* | | | | | | -* | | | | | +----------------------------------------------------* - GO TO 2600 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* -* | | | | Triton: - 1500 CONTINUE - DEUNEU = MAX ( ZERZER, U + BNMASS (3) - BNMASS (4) ) - PRNENE = MAX ( ZERZER, U - BNMASS (4) ) - QNORM = DEUNEU + PRNENE -* | | | | If we cannot split then return - IF ( QNORM .LE. ZERZER ) RETURN - CALL GRNDM(RNDM,1) - V = RNDM (1) -* | | | | +-------------------------------------------------------* -* | | | | | Split or into a deuteron and a neutron -* | | | | | or into two protons and one neutron: no account is -* | | | | | made for Coulomb effects, probability is simply assumed -* | | | | | proportional to reaction Qs - IF ( V .LT. DEUNEU / QNORM ) THEN -* | | | | | A deuteron and a proton selected - JEMISS = 1 - JRESID = 3 - RNMASS = ZMASS (3) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Split into 1 proton and 2 neutrons: part of the exci- -* | | | | | tation energy is conserved to allow the further -* | | | | | splitting of the deuteron - ELSE - JEMISS = 1 - JRESID = 0 - FACT = ONEONE -* | | | | | +----------------------------------------------------* -* | | | | | | Loop to compute the residual excitation energy - 1550 CONTINUE - FACT = FACT * 0.6666666666666667D+00 -* | | | | | | Erncm, Eepcm are the total energies of the residual -* | | | | | | nucleus and of the emitted particle in the CMS frame - U = FACT * PRNENE + BNMASS (3) - RNMASS = ZMASS (3) + U - ERNCM = HLFHLF * ( UMO2 + RNMASS**2 - & - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - IF ( EEPCM .LE. ZMASS (JEMISS) ) GO TO 1550 -* | | | | | | -* | | | | | +----------------------------------------------------* - GO TO 2600 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* -* | | | | Deuteron: - 1600 CONTINUE -* | | | | +-------------------------------------------------------* -* | | | | | Split into a proton and a neutron if it is possible - IF ( U .GT. BNMASS (3) ) THEN - JEMISS = 1 - JRESID = 2 - RNMASS = ZMASS (2) - U = ZERZER - GO TO 2500 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Energy too low to split the deuteron, return - ELSE - WRITE (LUNERR,*)' **Dres: energy too low to split', - & ' a deuteron! M2,M3',M2,M3 - RETURN - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - END IF -* | | | -* | | +-------------------------------------------------------------* - 1700 CONTINUE -* | | -* | +----------------------------------------------------------------* - 2000 CONTINUE - A = JA - Z = JZ - Q (0) = ZERZER - ENERG0 = FKENER (A,Z) -* | +----------------------------------------------------------------* -* | | Note that Q(i) are not the reaction Qs but the remaining -* | | energy after the reaction - DO 2100 K = 1, 6 - JJA = JA - IA (K) - JJZ = JZ - IZ (K) - JJN = JJA - JJZ - IF ( JJN .LT. 0 .OR. JJZ .LT. 0 ) THEN - Q (K) = Q (K-1) - GO TO 2100 - END IF - DDJJA = JJA - DDJJZ = JJZ - Q (K) = MAX ( U + ENERG0 - FKENER ( DDJJA, DDJJZ ) - & - EXMASS (K), ZERZER ) + Q (K-1) - 2100 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | If no emission channel is open then return - IF ( Q (6) .LE. ZERZER ) THEN - HEVSUM = SMOM1(3) + SMOM1(5) + SMOM1(6) + SMOM1(4) - RETURN - END IF -* | | -* | +----------------------------------------------------------------* - CALL GRNDM(RNDM,1) - V = RNDM (1) - FACT = ONEONE -* | +----------------------------------------------------------------* -* | | - DO 2200 J = 1, 6 -* | | +-------------------------------------------------------------* -* | | | - IF ( V .LT. Q (J) / Q (6) ) THEN - JEMISS = J - JJA = JA - IA (JEMISS) - JJZ = JZ - IZ (JEMISS) -* | | | +----------------------------------------------------------* -* | | | | - DO 2150 JJ = 1, 6 -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( JJA .EQ. IA (JJ) .AND. JJZ .EQ. IZ (JJ) ) THEN - JRESID = JJ - RNMASS = ZMASS (JRESID) - ERNCM = HLFHLF * ( UMO2 + Z2MASS (JRESID) - & - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - U = ZERZER - GO TO 2600 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - 2150 CONTINUE -* | | | | -* | | | +----------------------------------------------------------* - AJJA = JJA - ZJJZ = JJZ - RNMAS0 = AJJA * AMUMEV + FKENER ( AJJA, ZJJZ ) - GO TO 2300 - END IF -* | | | -* | | +-------------------------------------------------------------* - 2200 CONTINUE -* | | -* | +----------------------------------------------------------------* - WRITE ( LUNOUT,* )' **** error in Dres, few nucleon treatment', - & ' ****' - WRITE ( LUNERR,* )' **** error in Dres, few nucleon treatment', - & ' ****' - RETURN -* | +----------------------------------------------------------------* -* | | Loop to compute the residual excitation energy - 2300 CONTINUE - FACT = FACT * AJJA / A - U = FACT * ( Q (JEMISS) - Q (JEMISS-1) ) -* | | Erncm, Eepcm are the total energies of the residual -* | | nucleus and of the emitted particle in the CMS frame - RNMASS = RNMAS0 + U - ERNCM = HLFHLF * ( UMO2 + RNMASS**2 - & - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - IF ( EEPCM .LE. ZMASS (JEMISS) ) THEN - IF ( Q (JEMISS) - Q (JEMISS-1) .GE. 1.D-06 ) GO TO 2300 -* | +--<--<--<--<--<--< Loop back -* | | Actually there is no excitation energy available! - U = ANGLGB - RNMASS = ONEPLS * RNMAS0 - ERNCM = ONEPLS * RNMASS - EEPCM = ONEPLS * ZMASS (JEMISS) - END IF -* | | -* | +----------------------------------------------------------------* - GO TO 2600 -* | From here standard two bodies kinematics with Jemiss, Rnmass -* | (new excitation energy is U) - 2500 CONTINUE -* | Erncm, Eepcm are the total energies of the residual -* | nucleus and of the emitted particle in the CMS frame - ERNCM = HLFHLF * ( UMO2 + RNMASS**2 - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - 2600 CONTINUE -* | C(i) are the direction cosines of the emitted particle -* | (Jemiss) in the CMS frame, of course - C(i) -* | are the ones of the residual nucleus (Jresid if one of the -* | standard partcles, say the proton) - CALL RACO (C(1),C(2),C(3)) - PCMS = SQRT ( EEPCM**2 - Z2MASS (JEMISS) ) -* | Now we perform the Lorentz transformation back to the original -* | frame (lab frame) -* | First the emitted particle: - ETAX = ETACM * COSLBR (1) - ETAY = ETACM * COSLBR (2) - ETAZ = ETACM * COSLBR (3) - PCMSX = PCMS * C (1) - PCMSY = PCMS * C (2) - PCMSZ = PCMS * C (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - EPS = GAMCM * EEPCM + ETAPCM - ZMASS (JEMISS) - PHELP = ETAPCM / ( GAMCM + ONEONE ) + EEPCM - PLBPX = PCMSX + ETAX * PHELP - PLBPY = PCMSY + ETAY * PHELP - PLBPZ = PCMSZ + ETAZ * PHELP - PHELP = SQRT (PLBPX * PLBPX + PLBPY * PLBPY + PLBPZ * PLBPZ) - COSLBP (1) = PLBPX / PHELP - COSLBP (2) = PLBPY / PHELP - COSLBP (3) = PLBPZ / PHELP -* | Then the residual nucleus ( for it c (i) --> - c (i) ): - EREC = GAMCM * ERNCM - ETAPCM - RNMASS - EKRES = 1.D-03 * EREC - PHELP = - ETAPCM / ( GAMCM + ONEONE ) + ERNCM - PXRES = 1.D-03 * ( - PCMSX + ETAX * PHELP ) - PYRES = 1.D-03 * ( - PCMSY + ETAY * PHELP ) - PZRES = 1.D-03 * ( - PCMSZ + ETAZ * PHELP ) - P2RES = PXRES * PXRES + PYRES * PYRES + PZRES * PZRES - PTRES = SQRT (P2RES) - COSLBR (1) = PXRES / PTRES - COSLBR (2) = PYRES / PTRES - COSLBR (3) = PZRES / PTRES -* | Score the emitted particle - NPART (JEMISS) = NPART (JEMISS) + 1 - SMOM1 (JEMISS) = SMOM1 (JEMISS) + EPS - ITEMP=NPART(JEMISS) - EPART(ITEMP,JEMISS)=EPS - COSEVP(1,ITEMP,JEMISS)=COSLBP(1) - COSEVP(2,ITEMP,JEMISS)=COSLBP(2) - COSEVP(3,ITEMP,JEMISS)=COSLBP(3) -* | +----------------------------------------------------------------* -* | | Check if the residual nucleus is one of the emitted particles - IF ( JRESID .GT. 0 ) THEN - J = JRESID - GO TO 6102 - END IF -* | | -* | +----------------------------------------------------------------* - JA = JA - IA (JEMISS) - JZ = JZ - IZ (JEMISS) -* Umo is the invariant mass of the system!! - UMO = RNMASS - UMO2 = UMO * UMO - ELBTOT = RNMASS + EREC - GAMCM = ELBTOT / RNMASS - ETACM = 1.D+03 * PTRES / RNMASS - GO TO 1000 - END IF -* | -* +-------------------------------------------------------------------* -* Come to 23 at the beginning and after the end of a "normal" -* evaporation cycle - 23 CONTINUE - A = JA - Z = JZ - IF(JA-8)8486,8488,8486 - 8488 CONTINUE - IF(JZ-4)8486,1224,8486 - 8486 CONTINUE - DO 2 K=1,6 - IF((A-FLA(K)).LE.(Z-FLZ(K))) THEN - Q(K)=99999.D0 - GO TO 2 - END IF - IF(A-TWOTWO*FLA(K))2,727,727 - 727 CONTINUE - IF(Z-TWOTWO*FLZ(K))2,728,728 - 728 CONTINUE - Q(K) = QNRG(A-FLA(K),Z-FLZ(K),A,Z) + EXMASS(K) -C 728 Q(K)=FKENER(A-FLA(K),Z-FLZ(K))-FKENER(A,Z)+EXMASS(K) - 2 CONTINUE - FLKCOU(1)=ZERZER - FLKCOU(2)=DOST(1,Z-FLZ(2)) - FLKCOU(3)=FLKCOU(2)+.06D+00 - FLKCOU(4)=FLKCOU(2)+.12D+00 - FLKCOU(6)=DOST(2,Z-FLZ(6)) - FLKCOU(5)=FLKCOU(6)-.06D+00 - CCOUL(1)=ONEONE - CCOU2=DOST(3,Z-FLZ(2)) - CCOUL(2)=CCOU2+ONEONE - CCOUL(3)=CCOU2*1.5D0+THRTHR - CCOUL(4)=CCOU2+THRTHR - CCOUL(6)=DOST(4,Z-FLZ(6))*TWOTWO+TWOTWO - CCOUL(5)=TWOTWO*CCOUL(6)-ONEONE - SIGMA=ZERZER -* Initialize the flag which checks for open particle decay with -* zero excitation and pairing --> for particle unstable residual -* nuclei - LOPPAR = .FALSE. - DO 33 J=1,6 - IF(A-TWOTWO*FLA(J))5,725,725 - 725 CONTINUE - IF(Z-TWOTWO*FLZ(J))5,726,726 - 726 CONTINUE - MM=JA-IA(J) - ZZ=Z-FLZ(J) - AA=A-FLA(J) - IF(AA.LE.ZZ)GO TO 5 -* Energy threshold for the emission of the jth-particle - THRESH(J)=Q(J)+.88235D+00*FLKCOU(J)*FLZ(J)* - & ZZ/(RMASS(MM)+RHO(J)) - LOPPAR = LOPPAR .OR. THRESH (J) .GT. ZERZER - IAA = NINT(AA) - IZZ = NINT(ZZ) - NN = IAA - IZZ -* The residual nucleus excitation energy ranges from 0 up -* to U - Q (J) - ILVMOD = IB0 - UMXRES = U - THRESH (J) -* This is the a lower case of the level density - SMALLA (J) = GETA ( UMXRES, IZZ, NN, ILVMOD, ISDUM, ASMMAX, - & ASMMIN ) - CALL EEXLVL (IAA,IZZ,EEX1ST,EEX2ND,CORR) - EEX1ST = 1.D+03 * EEX1ST - EEX2ND = 1.D+03 * EEX2ND - CORR = 1.D+03 * MAX ( CORR, ZERZER ) - IF ( NN .EQ. 4 .AND. IZZ .EQ. 4 ) THEN - IF ( U - THRESH (J) - 6.1D+00 .GT. ZERZER ) THEN - CORR = SIXSIX - ELSE - TMPVAR = U-THRESH(J)-0.1D+00 - CORR = MAX ( ZERZER, TMPVAR ) - END IF - END IF - IF (NINT(FKEY).EQ.1) CORR=ZERZER - CORRRR(J)=CORR -* Standard calculation: - ARG=U-THRESH(J)-CORR - IF(ARG)5,4,4 - 5 CONTINUE - R(J)=ZERZER - S(J)=ZERZER - SOS(J)=ZERZER - GO TO 33 - 4 CONTINUE - S(J)=SQRT (SMALLA(J)*ARG)*TWOTWO - SOS(J)=TENTEN*S(J) - 33 CONTINUE - N1=1 - SES = MAX (S(1),S(2),S(3),S(4),S(5),S(6)) - DO 1131 J=1,6 - JS = SOS(J) + ONEONE - FJS = JS - STRUN(J) = FJS - ONEONE - IF ( S(J) .GT. ZERZER ) THEN - MM = JA-IA(J) - EXPSAS=MIN(EXPMAX,MAX(EXPMIN,S(J)-SES)) - SAS = EXP (EXPSAS) - EXPSUS=MIN(EXPMAX,MAX(EXPMIN,-S(J))) - SUS = EXP (EXPSUS) - EYE1(J) = ( TWOTWO * S(J)**2 -SIXSIX * S(J) - & + SIXSIX + SUS * ( S(J)**2 - SIXSIX ) ) - & / ( EIGEIG * SMALLA(J)**2 ) - IF ( J .EQ. 1 ) THEN - EYE0(J) = ( S(J) - ONEONE + SUS ) / ( TWOTWO*SMALLA(J) ) -* Standard calculation - R (J) = RMASS(MM)**2 * ALPH(MM) * ( EYE1(J) + BET(MM) - & * EYE0(J) ) * SAS - ELSE - R (J) = CCOUL(J) * RMASS(MM)**2 * EYE1(J) * SAS - END IF - R (J) = MAX ( ZERZER, R (J) ) - SIGMA = SIGMA + R (J) - END IF - 1131 CONTINUE - NCOUNT = 0 - 6202 CONTINUE - IF(SIGMA)9,9,10 - 9 CONTINUE - DO 6100 J = 1,6 - IF(JA-IA(J))6100,6101,6100 - 6101 CONTINUE - IF(JZ-IZ(J))6100,6102,6100 - 6100 CONTINUE - GO TO 6099 - 6102 CONTINUE - IF ( U .GT. ANGLGB ) GO TO 1000 - JEMISS = J -C*****STORE,RESIDUAL NUC IS OF EMITTED PARTICLE TYPE -* If we are here this means that the residual nucleus is equal to -* one of the six emitted particle (the j-th one). So give to it -* all the energy, score it and return with 0 recoil and excitation -* energy for the residual nucleus - EPS = EREC - NPART(JEMISS) = NPART(JEMISS)+1 - ITEMP=NPART(JEMISS) - NRNEEP = NRNEEP + 1 - SMOM1(JEMISS) = SMOM1(JEMISS) + EPS - ITEMP=NPART(JEMISS) - EPART(ITEMP,JEMISS)=EPS - COSEVP(1,ITEMP,JEMISS) = COSLBR(1) - COSEVP(2,ITEMP,JEMISS) = COSLBR(2) - COSEVP(3,ITEMP,JEMISS) = COSLBR(3) - GO TO 8002 -* -*-->-->-->-->--> go to return - 6099 CONTINUE - IF(JA-8)72,51,72 - 51 CONTINUE - IF(JZ-4)72,1224,72 -* Come here for a "normal" step - 10 CONTINUE - LOPPAR = .FALSE. - CALL GRNDM(RNDM,1) - URAN=RNDM(1)*SIGMA - SUM = ZERZER - DO 16 J=1,6 - K = J - SUM = R(J)+SUM - IF ( SUM - URAN .GT. 0.D+00 ) GO TO 17 - 16 CONTINUE - 17 CONTINUE - JEMISS=K - NPART(JEMISS) = NPART (JEMISS) + 1 - JS = SOS (JEMISS) + ONEONE - IF(JS-1000)4344,4345,4345 - 4345 CONTINUE - RATIO2=(S(JEMISS)**3-6.D0*S(JEMISS)**2+15.D0* - &S(JEMISS)-15.D0)/((2.D0*S(JEMISS)**2-6.D0*S(JEMISS)+6.D0)*SMALLA - &(JEMISS)) - GO TO 4347 - 4344 CONTINUE - RATIO2=(P2(JS)+(P2(JS+1)-P2(JS))* - &(SOS(JEMISS)-STRUN(JEMISS)))/SMALLA(JEMISS) - 4347 CONTINUE - EPSAV=RATIO2*TWOTWO -* +-------------------------------------------------------------------* -* | Neutron channel selected: - IF (JEMISS .EQ. 1) THEN - MM=JA-IA(J) - EPSAV=(EPSAV+BET(MM))/(ONEONE+BET(MM)*EYE0(JEMISS) - & /EYE1(JEMISS)) -* | +----------------------------------------------------------------* -* | | Compute the fission width relative to the neutron one: -* | | this part is taken from subroutine EMIT of LAHET - IF ( IFISS .GT. 0 .AND. JZ .GE. 71 .AND. .NOT. FISINH ) THEN -* | | +-------------------------------------------------------------* -* | | | Compute the correction factor for the fission width: - IF ( JZ .GT. 88 ) THEN - AGOES = ONEONE -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - AGOES = MAX ( ONEONE, ( U-SEVSEV ) / ( EPSAV+SEVSEV ) ) - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | Finally this is the relative fission width: -* | | This is : Probfs = 1 / ( 1 + G_n / G_f ) - PROBFS = FPROB ( Z, A, U ) / AGOES -* | | +-------------------------------------------------------------* -* | | | Check if it will be fission: - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PROBFS ) THEN - FISINH = .TRUE. - KFISS = 1 -* | | | Undo the counting of the neutron evaporation - NPART (JEMISS) = NPART (JEMISS) -1 - GO TO 9260 - END IF -* | | | -* | | +-------------------------------------------------------------* - END IF -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* - 20 CONTINUE - CALL GRNDM(RNDM,2) - E1=-HLFHLF*LOG(RNDM(1)) - E2=-HLFHLF*LOG(RNDM(2)) -* Eps should be the total kinetic energy in the CMS frame -* Standard calculation: - EPS=(E1+E2)*EPSAV+THRESH(JEMISS)-Q(JEMISS) - AR = A - IA(JEMISS) - ZR = Z - IZ(JEMISS) -* The CMS energy is updated - IMASS = NINT (AR) - IF ( IMASS .EQ. 8 .AND. NINT (ZR) .EQ. 4 ) THEN - UNEW = U - EPS - Q(JEMISS) - UMAX = U - THRESH(JEMISS) - IF ( UNEW .GT. 6.D+00 ) THEN - UMIN = 6.D+00 - ELSE IF ( UNEW .GT. 4.47D+00 .AND. UMAX .GT. 6.D+00 ) THEN - UMIN = 4.47D+00 - UNEW = 6.D+00 - ELSE IF ( UNEW .GT. 1.47D+00 .AND. UMAX .GT. 2.94D+00 ) THEN - UMIN = 1.47D+00 - UNEW = 2.94D+00 - ELSE - UMIN = -0.1D+00 - UNEW = ANGLGB * 0.1D+00 - END IF - ELSE IF ( IMASS .LE. 4 ) THEN - IPRO = NINT ( ZR ) - INEU = IMASS - IPRO - IF ( IMASS .EQ. 1 ) THEN -* Be sure that residual neutrons or protons are not left excited - UMIN = 0.D+00 - UNEW = 0.D+00 - EPS = U - Q(JEMISS) - ELSE IF ( IPRO .EQ. 0 .OR. INEU .EQ. 0 ) THEN -* Ipro protons or ineu neutrons arrived here! - UMIN = CORRRR(JEMISS) - UNEW = U - EPS - Q(JEMISS) - ELSE IF ( IMASS .LE. 2 ) THEN -* Be sure that residual deuterons are not left excited! - UMIN = 0.D+00 - UNEW = 0.D+00 - EPS = U - Q(JEMISS) - ELSE IF ( ABS ( INEU - IPRO ) .LE. 1 ) THEN -* For the moment also residual 3-H, 3-He and 4-He are not left -* excited ! - UMIN = 0.D+00 - UNEW = 0.D+00 - EPS = U - Q(JEMISS) - ELSE - UMIN = CORRRR(JEMISS) - UNEW = U - EPS - Q(JEMISS) - END IF - ELSE - UMIN = CORRRR(JEMISS) - UNEW = U - EPS - Q(JEMISS) - END IF -* Standard calculation - IF(UNEW-UMIN)6200,6220,6220 - 6220 CONTINUE -*or RNMASS = AR * AMUMEV + FKENER (AR,ZR) - RNMASS = AR * AMUMEV + FKENER (AR,ZR) + UNEW - UMIN2 = ( RNMASS + ZMASS (JEMISS) )**2 - IF ( UMIN2 .GE. UMO2 ) THEN - GO TO 6200 - END IF - U = UNEW -* C(i) are the direction cosines of the evaporated particle in the CMS -* frame, of course - C(i) are the ones of the residual nucleus - CALL RACO(C(1),C(2),C(3)) -* Erncm, Eepcm are the total energies of the residual nucleus and -* of the evaporated particle in the CMS frame - ERNCM = 0.5D+00 * ( UMO2 + RNMASS**2 - Z2MASS (JEMISS) ) / UMO - EEPCM = UMO - ERNCM - PCMS = SQRT ( EEPCM**2 - Z2MASS (JEMISS) ) -* Now we perform the Lorentz transformation back to the original -* frame (lab frame) -* First the evaporated particle: - ETAX = ETACM * COSLBR (1) - ETAY = ETACM * COSLBR (2) - ETAZ = ETACM * COSLBR (3) - PCMSX = PCMS * C (1) - PCMSY = PCMS * C (2) - PCMSZ = PCMS * C (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - EPS = GAMCM * EEPCM + ETAPCM - ZMASS (JEMISS) - PHELP = ETAPCM / (GAMCM + 1.D0) + EEPCM - PLBPX = PCMSX + ETAX * PHELP - PLBPY = PCMSY + ETAY * PHELP - PLBPZ = PCMSZ + ETAZ * PHELP - PHELP = SQRT (PLBPX * PLBPX + PLBPY * PLBPY + PLBPZ * PLBPZ) - COSLBP (1) = PLBPX / PHELP - COSLBP (2) = PLBPY / PHELP - COSLBP (3) = PLBPZ / PHELP -* Then the residual nucleus ( for it c (i) --> - c (i) ): - EREC = GAMCM * ERNCM - ETAPCM - RNMASS - EKRES = 1.D-03 * EREC - PHELP = - ETAPCM / (GAMCM + 1.D0) + ERNCM - PXRES = 1.D-03 * ( - PCMSX + ETAX * PHELP ) - PYRES = 1.D-03 * ( - PCMSY + ETAY * PHELP ) - PZRES = 1.D-03 * ( - PCMSZ + ETAZ * PHELP ) - P2RES = PXRES * PXRES + PYRES * PYRES + PZRES * PZRES - PTRES = SQRT (P2RES) - COSLBR (1) = PXRES / PTRES - COSLBR (2) = PYRES / PTRES - COSLBR (3) = PZRES / PTRES -* Check energy and momentum conservation !! - IF (EREC .LE. 0.D+00) THEN - PTRES = 0.D+00 - EREC = 0.D+00 - END IF -* Umo is the invariant mass of the system!! - UMO = RNMASS - UMO2 = UMO * UMO - ELBTOT = RNMASS + EREC - GAMCM = ELBTOT / RNMASS - ETACM = 1.D+03 * PTRES / RNMASS - GO TO 76 - 6200 CONTINUE - NCOUNT = NCOUNT + 1 - IF ( NCOUNT .LE. 10 ) GO TO 20 - SIGMA = SIGMA - R(JEMISS) -* if we are here we have sampled for > 10 times a negative energy Unew - NPART(JEMISS)=NPART(JEMISS)-1 - R(JEMISS) = 0.D0 - NCOUNT = 0 - GO TO 6202 - 76 CONTINUE - JAT=JA-IA(JEMISS) - JZT=JZ-IZ(JEMISS) - IF(JAT-JZT)9,9,77 - 77 CONTINUE - JA=JAT - JZ=JZT -C*****STORE,END OF NORMAL CYCLE - SMOM1(JEMISS)=SMOM1(JEMISS)+EPS - ITEMP=NPART(JEMISS) - EPART(ITEMP,JEMISS)=EPS - COSEVP(1,ITEMP,JEMISS)=COSLBP(1) - COSEVP(2,ITEMP,JEMISS)=COSLBP(2) - COSEVP(3,ITEMP,JEMISS)=COSLBP(3) -* The following card switch to the rough splitting treatment - IF (JA .LE. 2) GO TO 1000 - IF(JA-8)23,1223,23 - 1223 CONTINUE - IF(JZ-4)23,1224,23 -* If we are here the residual nucleus is a 8-Be one, break it into -* two alphas with all the available energy (U plus the Q of the breakup) -* , score them and return with 0 recoil and excitation energy - 1224 CONTINUE - LOPPAR = .FALSE. - IF(U)1228,1229,1229 - 1228 CONTINUE - EPS=0.D0 - GO TO 1230 - 1229 CONTINUE - 1230 CONTINUE - NBE8=NBE8+1 -* C(i) are the direction cosines of the first alpha in the CMS -* frame, of course - C(i) are the ones of the other - CALL RACO(C(1),C(2),C(3)) -* Ecms is the total energy of the alphas in the CMS frame - ECMS = 0.5D+00 * UMO - PCMS = SQRT ( ECMS**2 - Z2MASS (6) ) -* Now we perform the Lorentz transformation back to the original -* frame (lab frame) -* First alpha: - ETAX = ETACM * COSLBR (1) - ETAY = ETACM * COSLBR (2) - ETAZ = ETACM * COSLBR (3) - PCMSX = PCMS * C (1) - PCMSY = PCMS * C (2) - PCMSZ = PCMS * C (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - EPS = GAMCM * ECMS + ETAPCM - ZMASS (6) - PHELP = ETAPCM / (GAMCM + 1.D0) + ECMS - PLBPX = PCMSX + ETAX * PHELP - PLBPY = PCMSY + ETAY * PHELP - PLBPZ = PCMSZ + ETAZ * PHELP - PHELP = SQRT (PLBPX * PLBPX + PLBPY * PLBPY + PLBPZ * PLBPZ) -* Store the first alpha!! - SMOM1(6) = SMOM1(6) + EPS - NPART(6) = NPART(6) + 1 - ITEMP = NPART(6) - EPART (ITEMP,6) = EPS - COSEVP (1,ITEMP,6) = PLBPX / PHELP - COSEVP (2,ITEMP,6) = PLBPY / PHELP - COSEVP (3,ITEMP,6) = PLBPZ / PHELP -* Then the second alpha ( for it c (i) --> - c (i) ): - EPS = GAMCM * ECMS - ETAPCM - ZMASS (6) - PHELP = - ETAPCM / (GAMCM + 1.D0) + ECMS - PLBPX = - PCMSX + ETAX * PHELP - PLBPY = - PCMSY + ETAY * PHELP - PLBPZ = - PCMSZ + ETAZ * PHELP - PHELP = SQRT (PLBPX * PLBPX + PLBPY * PLBPY + PLBPZ * PLBPZ) -* Store the second alpha !! - SMOM1(6) = SMOM1(6) + EPS - NPART(6) = NPART(6) + 1 - ITEMP = NPART(6) - EPART (ITEMP,6) = EPS - COSEVP (1,ITEMP,6) = PLBPX / PHELP - COSEVP (2,ITEMP,6) = PLBPY / PHELP - COSEVP (3,ITEMP,6) = PLBPZ / PHELP - 8002 CONTINUE - LOPPAR = .FALSE. - EREC = ZERZER - U = ZERZER - EKRES = ZERZER - PTRES = ZERZER - 72 CONTINUE - HEVSUM=SMOM1(3)+SMOM1(5)+SMOM1(6)+SMOM1(4) - RETURN -*....................................................................... -*///// RAL FISSION ROUTINE ///// - 9260 CONTINUE -* +-------------------------------------------------------------------* -* | Record the direction cosines of the fissioning nucleus - DO 9270 I=1,3 - COSLF0 (I) = COSLBR (I) - 9270 CONTINUE -* | -* +-------------------------------------------------------------------* - CALL FISFRA ( JA, JZ, U, EREC, UMO, GAMCM, ETACM ) -* +-------------------------------------------------------------------* -* | Check for fission failures!! - IF ( .NOT. FISINH ) THEN - PENBAR = .FALSE. - GO TO 23 - END IF -* | -* +-------------------------------------------------------------------* -* Do not pick up the fission fragments, rather go back to Evevap - HEVSUM=SMOM1(3)+SMOM1(5)+SMOM1(6)+SMOM1(4) - RETURN - END diff --git a/StarVMC/geant3/fluka/fkener.F b/StarVMC/geant3/fluka/fkener.F deleted file mode 100644 index 154daadcb22..00000000000 --- a/StarVMC/geant3/fluka/fkener.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: fkener.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fkener.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== energy ===========================================================* -* * - FUNCTION FKENER(A,Z) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C-------------------------------------------------------------------- -C SUBNAME = ENERGY -C-------------------------------------------------------------------- -#include "geant321/eva0.inc" -C-------------------------------------------------------------------- - KA0 = NINT ( A ) - KZ0 = NINT ( Z ) - N = KA0 - KZ0 - IF ( N .LE. 0 ) THEN - IF ( KA0 .NE. 1 ) THEN - IF ( N .LT. 0 ) THEN - WRITE ( LUNOUT, * ) - & ' Stopped in energy: mass number =< atomic number !!', - & KA0, KZ0 - END IF - ELSE - FKENER = WAPS ( 1, 3 ) - RETURN - END IF - END IF - IZZ = NINT ( WAPS ( KA0, 1 ) ) - IF ( KZ0 .LT. IZZ .OR. KZ0 .GT. IZZ + 9 ) THEN - FKENER = ENRG ( A, Z ) - RETURN - ELSE - IZ0 = KZ0 - IZZ + 2 - FKENER = WAPS ( KA0, IZ0 ) - IF ( FKENER .EQ. 0.D+00 .AND. (KA0 .NE. 12 .OR. KZ0 .NE. 6) ) - & FKENER = ENRG ( A, Z ) - RETURN - END IF -* RETURN - END diff --git a/StarVMC/geant3/fluka/fkerup.F b/StarVMC/geant3/fluka/fkerup.F deleted file mode 100644 index b49e8f1a662..00000000000 --- a/StarVMC/geant3/fluka/fkerup.F +++ /dev/null @@ -1,136 +0,0 @@ -* -* $Id: fkerup.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fkerup.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== erup =============================================================* -* * - SUBROUTINE FKERUP (JFISS) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 15 may 1990 by Alfredo & Paola Sala * -* INFN - Milan * -* Last change on 10-apr-93 by Alfredo Ferrari, INFN-Milan * -* * -* Derived from the ERUP routine of EVAP-V, HERMES, KFA-Julich * -* * -*----------------------------------------------------------------------* -* -C*****MODIFIED TO OBTAIN APR,ZPR AFTER CAS + EVAP (8-68,T.W.A.) -#include "geant321/eva1.inc" -#include "geant321/forcn.inc" -#include "geant321/inpflg.inc" -#include "geant321/hetc5.inc" -#include "geant321/hetc7.inc" -#include "geant321/hettp.inc" -#include "geant321/higfis.inc" -* COMMON / AZ / LOWAZ - LOGICAL LOPPAR - DIMENSION FPART (6) -C -------------------------------------- CHECK PARAMETER - FISINH=.FALSE. -* +-------------------------------------------------------------------* -* | Check the excitation energy - IF ( EX .LE. ZERZER ) THEN -* | No excitation energy: - IF ( JFISS .LE. 0 ) THEN - DO 201 I=1,6 - NPART(I)=0 - 201 CONTINUE - HEVSUM = ZERZER - END IF -* UU = ZERZER - UU = EX - RETURN -* | -* +-------------------------------------------------------------------* -* | Positive excitation energy: - ELSE -* | Try evaporation - M2 = NINT (APR) - M3 = NINT (ZPR) - 8801 CONTINUE - CALL FKDRES (M2,M3,EX,UU,EREC,LOPPAR,JFISS) - FPARTT = ZERZER -* | +----------------------------------------------------------------* -* | | No previous evaporation for this event - IF ( JFISS .LE. 0 ) THEN - DO 801 I=1,6 - FPART(I) = NPART(I) - FPARTT = FPARTT + FPART (I) - 801 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | | Other evaporation trials already performed for this event - ELSE - DO 802 I=1,6 - FPART(I) = NPART(I)-NPARTF(I,JFISS-1) - FPARTT = FPARTT + FPART (I) - 802 CONTINUE - END IF -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | No particle evaporated and pairing corrections accounted for - IF ( FPARTT + FKEY .LT. ANGLGB ) THEN - IF ( .NOT. LOPPAR ) GO TO 8802 - FKEY = ONEONE - GO TO 8801 - END IF -* | | -* | +----------------------------------------------------------------* - 8802 CONTINUE - FKEY = ZERZER - ZPR = ZPR - FPART(2) - FPART(3) - TWOTWO * ( FPART(5) - & + FPART(6)) - FPART(4) - APR = APR - FPART(1) - FPART(2) - TWOTWO * FPART(3) - & - THRTHR * ( FPART(4) + FPART(5) ) - FOUFOU * FPART(6) - IF (IANG .GT. 0) THEN - ELSE - DO 440 K=1,6 - NP = NPART(K) - IF ( JFISS .GT. 0 ) THEN - NP0 = NPARTF(K,JFISS-1) + 1 - ELSE - NP0 = 1 - END IF - DO 410 J=NP0,NP - CALL RACO(COSEVP(1,J,K),COSEVP(2,J,K),COSEVP(3,J,K)) - 410 CONTINUE - 440 CONTINUE - END IF - END IF -* | -* +-------------------------------------------------------------------* - RETURN -*=== End of subroutine Erup ===========================================* - END diff --git a/StarVMC/geant3/fluka/fkflav.F b/StarVMC/geant3/fluka/fkflav.F deleted file mode 100644 index dc521b2f69d..00000000000 --- a/StarVMC/geant3/fluka/fkflav.F +++ /dev/null @@ -1,378 +0,0 @@ -* -* $Id: fkflav.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fkflav.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/06/10 16:12:15 brun -* From Andreas Morsch: -* I changed the name of the function BETA from geant3/fluka/beta.F to -* BETA_G3. The reason is that if one uses PDF and Geant3 in the same -* simulation there is a clash between a similar function in PDF. -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== flavor ===========================================================* -* - SUBROUTINE FKFLAV(IT,LT,LL,E0,IV,RE,KFR1,KFR2,ISU,BETE,KFA1,KFA2, - & KFA3,KFA4,IOPT) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* New version from A. Ferrari ( 22 august 1990 ): it is almost the * -* the same as before, but with a few corrections important for isu * -* 2 and 3 and also for isu=4 if it switchs to 100 continue * -* * -*----------------------------------------------------------------------* -#include "geant321/part.inc" -* -* The following are the masses of the quarks: the d quark mass is -* assumed to be the same as the u one. They are quite different from -* the last values from the particle data group, but any change -* can imply a change also in the BET parameter in common INPDAT - PARAMETER ( UQUARM = 0.3D+00 ) - PARAMETER ( SQUARM = 0.5D+00 ) - PARAMETER ( CQUARM = 2.1D+00 ) - PARAMETER ( BQUARM = 5.0D+00 ) -* - DIMENSION RE(*),KFR1(*),KFR2(*),IV(*) - REAL RNDM(2) -* -C CHOICE OF THE QUARK FLAVOUR - IF (LT.EQ.1)WRITE(LUNOUT,288)IT,LT,LL,E0,ISU,BETE,KFA1,KFA2 - 288 FORMAT(3I5,E12.4,I5,E12.4,2I5 - *,' FLAVOR IT,LT,LL,E0,ISU,BETE,KFA1,KFA2') - I=IT - J=IT-1 - IVA=1 - IVX=IV(I) - IF (I .LE. 1) THEN - IF (IOPT.EQ.2) THEN - KX1 = KFA1 - KX2 = KFA2 - ELSE IF (IOPT.EQ.3.AND.LL.EQ.1) THEN - KX1=KFA2 - KX2=0 - ELSE IF (IOPT.EQ.4 .AND. KFA1.LE.6 .AND. LL.EQ.1) THEN - KX1=KFA2 - KX2=KFA3 - ELSE IF (IOPT.EQ.4 .AND. KFA1.GT.6 .AND. LL.EQ.0) THEN - KX1=KFA2 - KX2=KFA3 - ELSE IF (IOPT.EQ.5 .AND. LL.EQ.0) THEN - KX1=KFA3 - KX2=KFA4 - ELSE IF (IOPT.EQ.5 .AND. LL.EQ.1) THEN - KX1=KFA1 - KX2=KFA2 - ELSE - KX1=KFA1 - KX2=0 - END IF - RX = E0 - ELSE - KX1=KFR1(J) - KX2=KFR2(J) - RX =RE(J) - END IF - IF (KX1.GT.0.AND.KX2.GT.0) THEN - BET=10.D+00 - ELSE - BET=BETE - END IF - CALL GRNDM(RNDM,2) - Z1=RNDM(1) - Z2=RNDM(2) - IF(ISU.EQ.4) GO TO 300 - IF(ISU.EQ.3) GO TO 200 - IF(ISU.EQ.2) GO TO 100 -C U FLAVOUR - KF1=1 - KF2=1 - GO TO 20 -C U/D FLAVOURS - 100 CONTINUE - IF (KX1.EQ.1.OR.KX1.EQ.7) THEN - IIAA=1 - ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN - IIAA=2 - ELSE - IIAA=0 - END IF - 110 CONTINUE - IF (IIAA .EQ. 1) THEN - PD=0.6666666666666667D+00 - PU=0.3333333333333333D+00 - ELSE IF (IIAA .EQ. 2) THEN - PU=0.6666666666666667D+00 - PD=0.3333333333333333D+00 - ELSE - PU=0.5D+00 - PD=0.5D+00 - END IF - PS=0.D+00 - PC=0.D+00 - IF (Z1 .LE. PD) THEN - KF1=2 - ELSE - KF1=1 - END IF - IF (Z2 .LE. PD) THEN - KF2=2 - ELSE - KF2=1 - END IF - GO TO 20 -C U/D/S FLAVOURS - 200 CONTINUE - IF (KX1.EQ.1.OR.KX1.EQ.7) THEN - IIAA=1 - ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN - IIAA=2 - ELSE - IIAA=0 - END IF - 210 CONTINUE - IF (RX .LE. 1.019D+00 ) GO TO 110 - X1=RX - X2=UQUARM - PU=BETA_G3(X1,X2,BET) - X2=SQUARM - PS=BETA_G3(X1,X2,BET) - PTOT=2.D+00*PU+PS - PU1=PU/PTOT - PS =PS/PTOT - PC=0.D+00 - IF (IIAA .EQ. 1) THEN - PU=0.6666666666666667D+00*PU1 - PD=2.D+00*PU1-PU - ELSE IF (IIAA .EQ. 2) THEN - PD=0.6666666666666667D+00*PU1 - PU=2.D+00*PU1-PD - ELSE - PU=PU1 - PD=PU - END IF - IF (Z1 .LE. PU) THEN - KF1 = 1 - ELSE IF ( Z1 .LE. PU + PD ) THEN - KF1 = 2 - ELSE - KF1 = 3 - END IF - IF (Z2 .LE. PU) THEN - KF2 = 1 - ELSE IF ( Z2 .LE. PU + PD ) THEN - KF2 = 2 - ELSE - KF2 = 3 - END IF - GO TO 20 -C U/D/S/C FLAVOUR - 300 CONTINUE - GO TO (11,12,13,14,14,11,12,13,14,14),IVX - 11 CONTINUE - IF (KX1.EQ.4.OR.KX1.EQ.10) THEN - GM=AM(129) - ELSE - GM=AM(127) - END IF - IF (KX1.EQ.1.OR.KX1.EQ.7) THEN - IIAA=1 - ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN - IIAA=2 - ELSE - IIAA=0 - END IF - GO TO 15 - 12 CONTINUE - IF (KX1.EQ.4.OR.KX1.EQ.10) THEN - GM=AM(170) - ELSE - GM=AM(127) - END IF - IIAA=0 - GO TO 15 - 13 CONTINUE -* | | +-------------------------------------------------------------* -* | | | The following if replaces the cards: -* | | | GM=3.85D0 -* | | | IF(KX1.EQ.4.AND.KX2.EQ.4) GM=4.89D0 -* | | | IF(KX1.NE.4.AND.KX2.NE.4) GM=2.770D0 -* | | | IF(KX1.EQ.10.AND.KX2.EQ.10) GM=4.89D0 -* | | | IF(KX1.NE.10.AND.KX2.NE.10) GM=2.770D0 -* | | | It is completely equivalent except for the combination -* | | | 4-4 which now gives GM = 4.89, while in the original -* | | | coding gave GM = 2.77, because of the last condition -* | | | always overrides the first one (it seems to be a mistake) - IF (KX1 .EQ. 4 .OR. KX1 .EQ. 10 ) THEN - IF ( KX2 .EQ. KX1 ) THEN - GM = AM(170) - ELSE - GM = AM(169) - END IF - ELSE IF (KX2 .EQ. 4 .OR. KX2 .EQ. 10 ) THEN - GM = AM(169) - ELSE - GM = AM(166) - END IF - IIAA=0 - GO TO 15 - 14 CONTINUE -* | | +-------------------------------------------------------------* -* | | | The following if replaces the cards: -* | | | GM=3.684D0 -* | | | IF(KX1.NE.4.AND.KX2.NE.4) GM=2.140D0 -* | | | IF(KX1.NE.10.AND.KX2.NE.10) GM=2.140D0 -* | | | It is equivalent: only for the combinations -* | | | 4-10 and 10-4 we get GM = 3.684 -* | | | It is not clear if it is correct since 4-x,x-4 (x.ne.10), -* | | | 10-x,x-10 (x.ne.4) give GM = 2.14 - IF ((KX1.EQ.4.AND.KX2.EQ.10).OR.(KX1.EQ.10.AND.KX2.EQ.4)) - & THEN - GM = AM(129) - ELSE - GM = AM(127) - END IF - IF (IVX.EQ.4.OR.IVX.EQ.9) THEN - KAXI=KX1 - ELSE IF (IVX.EQ.5.OR.IVX.EQ.10) THEN - KAXI=KX2 - ELSE -* | | | Kaxi = 0 added for completeness, maybe it is useless - KAXI=0 - END IF - IF (KAXI.EQ.1.OR.KAXI.EQ.7) THEN - IIAA=1 - ELSE IF (KAXI.EQ.2.OR.KAXI.EQ.8) THEN - IIAA=2 - ELSE - IIAA=0 - END IF - GO TO 15 - 15 CONTINUE - IF (RX .LE. GM) GO TO 200 - X1=RX - X2=UQUARM - PU=BETA_G3(X1,X2,BET) - X2=SQUARM - PS=BETA_G3(X1,X2,BET) - X2=CQUARM - PC=BETA_G3(X1,X2,BET) - PTOT=2.D+00*PU+PS+PC - PU1=PU/PTOT - PS=PS/PTOT - PC=PC/PTOT - IF (IIAA .EQ. 1) THEN - PU=0.6666666666666667D+00*PU1 - PD=2.D+00*PU1-PU - ELSE IF (IIAA .EQ. 2) THEN - PD=0.6666666666666667D+00*PU1 - PU=2.D+00*PU1-PD - ELSE - PU=PU1 - PD=PU - END IF - IF (Z1 .LE. PU) THEN - KF1 = 1 - ELSE IF ( Z1 .LE. PU + PD ) THEN - KF1 = 2 - ELSE IF ( Z1 .LE. PU + PD + PS ) THEN - KF1 = 3 - ELSE - KF1 = 4 - END IF - IF (Z2 .LE. PU) THEN - KF2 = 1 - ELSE IF ( Z2 .LE. PU + PD ) THEN - KF2 = 2 - ELSE IF ( Z2 .LE. PU + PD + PS ) THEN - KF2 = 3 - ELSE - KF2 = 4 - END IF - GO TO 20 - 20 CONTINUE -C*****CHOICE OF THE QUARKFLAVOURS IN DEPENDENCE OF THE VERTEX IV - IVX=IV(I) - GO TO (1,2,3,4,5,1,2,3,4,5),IVX - 1 CONTINUE - IF (LL.EQ.1) THEN - KFR1(I)=KF1+6 - ELSE - KFR1(I)=KF1 - END IF - KFR2(I)=0 - GO TO 30 - 2 CONTINUE - IF (LL.EQ.1) THEN - KFR1(I)=KF1 - KFR2(I)=KF2 - ELSE - KFR1(I)=KF1+6 - KFR2(I)=KF2+6 - END IF - GO TO 30 - 3 CONTINUE - KFR2(I)=0 - IF (LL.EQ.1) THEN - KFR1(I)=KF1+6 - ELSE - KFR1(I)=KF1 - END IF - GO TO 30 - 4 CONTINUE - IF (LL.EQ.1) THEN - KFR1(I)=KF1 - ELSE - KFR1(I)=KF1+6 - END IF - KFR2(I)=KX2 - GO TO 30 - 5 CONTINUE - KFR1(I)=KX1 - IF (LL.EQ.1) THEN - KFR2(I)=KF2 - ELSE - KFR2(I)=KF2+6 - END IF - GO TO 30 - 30 CONTINUE - IF(LT.EQ.0) GO TO 80 - WRITE(LUNOUT,6)PU,PD,PS,PC,KX1,KX2 - 6 FORMAT(1H0,' FLAVOR PU,PD,PS,PC,KX1,KX2',4F8.4,2I5) - IF(I.EQ.1) GO TO 40 - WRITE(LUNOUT,60)IV(I),LL,KFR1(J),KFR2(J),KFR1(I),KFR2(I) - GO TO 50 - 40 WRITE(LUNOUT,70)IV(I),LL,KFA1,KFA2,KFR1(I),KFR2(I) - 50 CONTINUE - 60 FORMAT(1H0,22HIV,LL,Q1A,Q2A,Q1N,Q2N=,6I3) - 70 FORMAT(1H0,'IV(I),LL,KFA1,KFA2,KFR1(I),KFR2(I)=',6I3 ) - 80 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/fkimpu.F b/StarVMC/geant3/fluka/fkimpu.F deleted file mode 100644 index c68df2a2f9c..00000000000 --- a/StarVMC/geant3/fluka/fkimpu.F +++ /dev/null @@ -1,95 +0,0 @@ -* -* $Id: fkimpu.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fkimpu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/12/17 11:46:46 brun -* Several protections introduced by Rachid Guernane and Peter Hristov -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== impuls ===========================================================* -* - SUBROUTINE FKIMPU(HE,HMA,HPS,HPX,HPY,HPZ,LT,LL,B3) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(2) -* -*----------------------------------------------------------------------* -* Impuls89: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* -C*****CHOICE OF THE TRANSVERSAL MOMENTUM AND CALCULATION OF THE -C*****LONGITUDINAL MOMENTUM -C*****HPS,HPZ ARE THE TRANSVERSAL AND LONGITUDINAL MOMENTUM - - ESMAX = HE - HMA - 1 CONTINUE -* -* He is the total energy, hma the mass one (input) hpx, hpy, hpz -* the momentum components (output values), hps the transversal -* momentum (output) -* -* +-------------------------------------------------------------------* -* | cut off for the longitudinal momentum - IF (ESMAX .LE. 0.05D0) THEN -* | -* | only transversal momentum! -* | - HPS = SQRT(DABS(HE**2 - HMA**2)) - HPZ = 0.D0 - ELSE -* | -* | hps is the transversal momentum -* | - CALL GRNDM(RNDM,2) - X = RNDM(1) - Y = RNDM(2) -* | -* | Es is the transverse kinetic energy -* | - ES = -2.D0/(B3**2)*LOG(X*Y) - IF (ES .GT. ESMAX) GO TO 1 - HPS = ES**2 + 2.D0*ES*HMA - IF (LL .EQ. 0) Y1 = 1.D0 - IF (LL .EQ. 1) Y1 =-1.D0 - HPZ = SQRT(HE**2 - HMA**2 - HPS) * Y1 - HPS = SQRT (HPS) - END IF -* | -* +-------------------------------------------------------------------* - CALL SFECFE(SFE,CFE) - SIP = SFE - COP = CFE - HPX = HPS*COP - HPY = HPS*SIP - IF (LT .EQ. 0) GO TO 2 - WRITE(LUNOUT,3) HPS,HPX,HPY,HPZ,HE,HMA,LL - 3 FORMAT(1H0,19HPS,PX,PY,PZ,E,M,LL=,6F8.4,I3) - 2 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/fksigi.F b/StarVMC/geant3/fluka/fksigi.F deleted file mode 100644 index e25add8949a..00000000000 --- a/StarVMC/geant3/fluka/fksigi.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: fksigi.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fksigi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== sigint ===========================================================* -* - SUBROUTINE FKSIGI (IRE ,PLAB,N,IE ,AMT ,AMN,ECM ,SI ,ITAR) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/reac.inc" -#include "geant321/redver.inc" -* -**** *,IEII,IKII,NURE - COMMON / FKABLT / AM (110), GA (110), TAU (110), ICH (110), - & IBAR (110), K1 (110), K2 (110) -* - IE=IEFUN(PLAB,IRE) - IF (IE.LE.IEII(IRE)) IE=IE+1 - AMT=AM(ITAR) - AMN=AM(N) - AMN2=AMN*AMN - AMT2=AMT*AMT - ECM=SQRT(AMN2+AMT2+2.D0*AMT*SQRT(AMN2+PLAB**2)) -C*** INTERPOLATION PREPARATION - ECMO=UMO(IE) - ECM1=UMO(IE-1) - DECM=ECMO-ECM1 - DEC=ECMO-ECM - IIKI=IKII(IRE)+1 - EKLIM=-THRESH(IIKI) - WOK=SIIN(IE) - WDK=WOK-SIIN(IE-1) - IF (ECM.GT.ECMO) WDK=0.D0 -C*** INTERPOLATION IN CHANNEL WEIGHTS - IELIM=IEFUN(EKLIM,IRE) - DELIM=UMO(IELIM)+EKLIM - *+1.D-16 - DETE=(ECM-(ECMO-EKLIM)*.5D0)*2.D0 - IF (DELIM*DELIM-DETE*DETE) 112,112,113 - 113 DECC=DELIM - GO TO 114 - 112 DECC=DECM - 114 CONTINUE - WKK=WOK-WDK*DEC/(DECC+1.D-9) - IF (WKK.LT.0.D0) WKK=0.D0 - SI=WKK+1.D-12 - IF (-EKLIM.GT.ECM) SI=1.D-14 - RETURN - END diff --git a/StarVMC/geant3/fluka/fkvert.F b/StarVMC/geant3/fluka/fkvert.F deleted file mode 100644 index 9872988398c..00000000000 --- a/StarVMC/geant3/fluka/fkvert.F +++ /dev/null @@ -1,78 +0,0 @@ -* -* $Id: fkvert.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fkvert.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== vertex ===========================================================* -* - SUBROUTINE FKVERT(IT,LT,LL,KFA,E0,IV,RE,KFR1,KFR2,AME,IOPT) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(2) -C CHOICE OF THE VERTEX - DIMENSION RE(*),KFR1(*),KFR2(*),IV(*) -C WAEHLT PASSENDEN VERTEX IV AUS - IF(LT.EQ.1) WRITE(LUNOUT,288)IT,LT,LL,KFA,E0,AME,IOPT - 288 FORMAT (4I5,2E12.4,I5,' VERTEX IT,LT,LL,KFA,E0,AME') - PDB=0.8D0 - IVA=1 - I=IT - J=IT-1 - IVX=IVA - IF(IOPT.EQ.2) IVX=2 - IF(IOPT.EQ.4.AND.KFA.GT.6.AND.LL.EQ.0) IVX=2 - IF(IOPT.EQ.4.AND.KFA.LE.6.AND.LL.EQ.1) IVX=2 - IF(IOPT.EQ.5) IVX=2 - IF(I.GT.1)IVX=IV(J) - IF(LL.EQ.1.AND.I.GT.1)IVX=IV(J)-5 - CALL GRNDM(RNDM,2) - Z=RNDM(1) - Y=RNDM(2) - GO TO (1,2,1,2,2),IVX - 1 IVX=1 - IF(Z.GE.AME) IVX=2 - GO TO 20 - 2 IVX=3 - IF(Z.GT.PDB) IVX=4 - IF(Z.GT.PDB.AND.Y.LE.0.5D0) IVX=5 - GO TO 20 - 20 CONTINUE - IF(LL.EQ.1)IVX=IVX+5 - IV(I)=IVX - IF(LT.EQ.0)GO TO 60 -C AUSDRUCKEN - IF(I.EQ.1)GO TO 30 - WRITE(LUNOUT,50)IV(J),IV(I),LL - GO TO 40 - 30 WRITE(LUNOUT,50)IVA,IV(I),LL - 40 CONTINUE - 50 FORMAT(1H0,15HIV(J),IV(I),LL=,3I5) - 60 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/fkzero.F b/StarVMC/geant3/fluka/fkzero.F deleted file mode 100644 index 6b9cae91e68..00000000000 --- a/StarVMC/geant3/fluka/fkzero.F +++ /dev/null @@ -1,151 +0,0 @@ -* -* $Id: fkzero.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fkzero.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*=== zeroin ===========================================================* -* - SUBROUTINE FKZERO - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*======================================================================* -* * -* Created by Alfredo Ferrari on 11 july 1990 INFN - Milan * -* * -* Last change on 23-apr-93 by Alfredo Ferrari * -* * -* This routine zeroes a few arrays, and initialize some data * -* * -*======================================================================* -* -#include "geant321/paprop.inc" -#include "geant321/part2.inc" -* -* +-------------------------------------------------------------------* -* | Set the "effective" masses for particles - DO 8000 I = 1, IDMAX8 -* | +----------------------------------------------------------------* -* | | Baryons: "effective" mass = actual one - baryon -* | | number x proton mass (final state of any -* | | baryon) - IF ( IIBAR (I) .GT. 0 ) THEN - AAMDSC (I) = AAM (I) - IIBAR (I) * AAM (1) -* | | -* | +----------------------------------------------------------------* -* | | Antibaryons: "effective mass" = actual mass + -* | | |baryon number| x proton mass - ELSE IF ( IIBAR (I) .LT. 0 ) THEN - AAMDSC (I) = AAM (I) - IIBAR (I) * AAM (1) -* | | -* | +----------------------------------------------------------------* -* | | Mesons: "effective" mass = actual mass - ELSE - AAMDSC (I) = AAM (I) - END IF -* | | -* | +----------------------------------------------------------------* - 8000 CONTINUE -* | -* +-------------------------------------------------------------------* -* Electron: "effective" mass = 0 - AAMDSC (3) = ZERZER -* Positron: "effective" mass = 2 x mass - AAMDSC (4) = 2.D+00 * AAM (4) -* Neutron: "effective" mass = 0 (it should be taken into account the -* neutrino energy when decaying) - AAMDSC (8) = ZERZER -* Muon+: "effective" mass = muon mass + positron mass - AAMDSC (10) = AAM (10) + AAM (4) -* Muon-: "effective" mass = muon mass - electron mass -* (final stable state) - AAMDSC (11) = AAM (11) - AAM (3) -* Tau+: "effective" mass = Tau mass + positron mass - AAMDSC (131) = AAM (131) + AAM (4) -* Tau-: "effective" mass = Tau mass - electron mass -* (final stable state) - AAMDSC (132) = AAM (132) - AAM (3) -* +-------------------------------------------------------------------* -* | Set the "effective" masses for particles in Paprop - DO 8500 I = 1, NALLWP - KP = IPTOKP (I) -* | +----------------------------------------------------------------* -* | | - IF ( KP .GT. 0 ) THEN - AMDISC (I) = AAMDSC (KP) - AM (I) = AAM (KP) - ICHRGE (I) = IICH (KP) - THALF (I) = TAU (KP) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE IF ( I .NE. 30 ) THEN - AMDISC (I) = ZERZER - AM (I) = ZERZER - ICHRGE (I) = 0 - THALF (I) = ZERZER -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - AMDISC (I) = AAMDSC (1) - AM (I) = AAM (1) - ICHRGE (I) = IICH (1) - THALF (I) = TAU (1) - END IF -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | Set the particle spin (in 1/2 units) -* | | If the particle is a hadron : -* | | mesons --> 0 spin -* | | baryons,antibaryons --> 1/2 spin -* | | otherwise : -* | | e-/+,mu-/+,vu,vubar --> 1/2 spin -* | | photons --> 1 spin - IF ( LHADRO (I) .AND. IIBAR (KP) .EQ. 0 ) THEN - JSPINP (I) = 0 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - IF ( I .EQ. 7 ) THEN - JSPINP (I) = 2 - ELSE - JSPINP (I) = 1 - END IF - END IF -* | | -* | +----------------------------------------------------------------* - 8500 CONTINUE -* | -* +-------------------------------------------------------------------* -*=== end of subroutine zeroin =========================================* - RETURN - END diff --git a/StarVMC/geant3/fluka/flavor.F b/StarVMC/geant3/fluka/flavor.F deleted file mode 100644 index 52197b5606c..00000000000 --- a/StarVMC/geant3/fluka/flavor.F +++ /dev/null @@ -1,386 +0,0 @@ -* -* $Id: flavor.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: flavor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/06/10 16:12:15 brun -* From Andreas Morsch: -* I changed the name of the function BETA from geant3/fluka/beta.F to -* BETA_G3. The reason is that if one uses PDF and Geant3 in the same -* simulation there is a clash between a similar function in PDF. -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLDNAME) -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*=== flavor ===========================================================* -* - SUBROUTINE FLAVOR(IT,LT,LL,E0,IV,RE,KFR1,KFR2,ISU,BETE,KFA1,KFA2, - & KFA3,KFA4,IOPT) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* New version from A. Ferrari ( 22 august 1990 ): it is almost the * -* the same as before, but with a few corrections important for isu * -* 2 and 3 and also for isu=4 if it switchs to 100 continue * -* * -*----------------------------------------------------------------------* -#include "geant321/part.inc" -* -* The following are the masses of the quarks: the d quark mass is -* assumed to be the same as the u one. They are quite different from -* the last values from the particle data group, but any change -* can imply a change also in the BET parameter in common INPDAT - PARAMETER ( UQUARM = 0.3D+00 ) - PARAMETER ( SQUARM = 0.5D+00 ) - PARAMETER ( CQUARM = 2.1D+00 ) - PARAMETER ( BQUARM = 5.0D+00 ) -* - DIMENSION RE(*),KFR1(*),KFR2(*),IV(*) - REAL RNDM(2) -* -C CHOICE OF THE QUARK FLAVOUR - IF (LT.EQ.1)WRITE(LUNOUT,288)IT,LT,LL,E0,ISU,BETE,KFA1,KFA2 - 288 FORMAT(3I5,E12.4,I5,E12.4,2I5 - *,' FLAVOR IT,LT,LL,E0,ISU,BETE,KFA1,KFA2') - I=IT - J=IT-1 - IVA=1 - IVX=IV(I) - IF (I .LE. 1) THEN - IF (IOPT.EQ.2) THEN - KX1 = KFA1 - KX2 = KFA2 - ELSE IF (IOPT.EQ.3.AND.LL.EQ.1) THEN - KX1=KFA2 - KX2=0 - ELSE IF (IOPT.EQ.4 .AND. KFA1.LE.6 .AND. LL.EQ.1) THEN - KX1=KFA2 - KX2=KFA3 - ELSE IF (IOPT.EQ.4 .AND. KFA1.GT.6 .AND. LL.EQ.0) THEN - KX1=KFA2 - KX2=KFA3 - ELSE IF (IOPT.EQ.5 .AND. LL.EQ.0) THEN - KX1=KFA3 - KX2=KFA4 - ELSE IF (IOPT.EQ.5 .AND. LL.EQ.1) THEN - KX1=KFA1 - KX2=KFA2 - ELSE - KX1=KFA1 - KX2=0 - END IF - RX = E0 - ELSE - KX1=KFR1(J) - KX2=KFR2(J) - RX =RE(J) - END IF - IF (KX1.GT.0.AND.KX2.GT.0) THEN - BET=10.D+00 - ELSE - BET=BETE - END IF - CALL GRNDM(RNDM,2) - Z1=RNDM(1) - Z2=RNDM(2) - IF(ISU.EQ.4) GO TO 300 - IF(ISU.EQ.3) GO TO 200 - IF(ISU.EQ.2) GO TO 100 -C U FLAVOUR - KF1=1 - KF2=1 - GO TO 20 -C U/D FLAVOURS - 100 CONTINUE - IF (KX1.EQ.1.OR.KX1.EQ.7) THEN - IIAA=1 - ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN - IIAA=2 - ELSE - IIAA=0 - END IF - 110 CONTINUE - IF (IIAA .EQ. 1) THEN - PD=0.6666666666666667D+00 - PU=0.3333333333333333D+00 - ELSE IF (IIAA .EQ. 2) THEN - PU=0.6666666666666667D+00 - PD=0.3333333333333333D+00 - ELSE - PU=0.5D+00 - PD=0.5D+00 - END IF - PS=0.D+00 - PC=0.D+00 - IF (Z1 .LE. PD) THEN - KF1=2 - ELSE - KF1=1 - END IF - IF (Z2 .LE. PD) THEN - KF2=2 - ELSE - KF2=1 - END IF - GO TO 20 -C U/D/S FLAVOURS - 200 CONTINUE - IF (KX1.EQ.1.OR.KX1.EQ.7) THEN - IIAA=1 - ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN - IIAA=2 - ELSE - IIAA=0 - END IF - 210 CONTINUE - IF (RX .LE. 1.019D+00 ) GO TO 110 - X1=RX - X2=UQUARM - PU=BETA_G3(X1,X2,BET) - X2=SQUARM - PS=BETA_G3(X1,X2,BET) - PTOT=2.D+00*PU+PS - PU1=PU/PTOT - PS =PS/PTOT - PC=0.D+00 - IF (IIAA .EQ. 1) THEN - PU=0.6666666666666667D+00*PU1 - PD=2.D+00*PU1-PU - ELSE IF (IIAA .EQ. 2) THEN - PD=0.6666666666666667D+00*PU1 - PU=2.D+00*PU1-PD - ELSE - PU=PU1 - PD=PU - END IF - IF (Z1 .LE. PU) THEN - KF1 = 1 - ELSE IF ( Z1 .LE. PU + PD ) THEN - KF1 = 2 - ELSE - KF1 = 3 - END IF - IF (Z2 .LE. PU) THEN - KF2 = 1 - ELSE IF ( Z2 .LE. PU + PD ) THEN - KF2 = 2 - ELSE - KF2 = 3 - END IF - GO TO 20 -C U/D/S/C FLAVOUR - 300 CONTINUE - GO TO (11,12,13,14,14,11,12,13,14,14),IVX - 11 CONTINUE - IF (KX1.EQ.4.OR.KX1.EQ.10) THEN - GM=AM(129) - ELSE - GM=AM(127) - END IF - IF (KX1.EQ.1.OR.KX1.EQ.7) THEN - IIAA=1 - ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN - IIAA=2 - ELSE - IIAA=0 - END IF - GO TO 15 - 12 CONTINUE - IF (KX1.EQ.4.OR.KX1.EQ.10) THEN - GM=AM(170) - ELSE - GM=AM(127) - END IF - IIAA=0 - GO TO 15 - 13 CONTINUE -* | | +-------------------------------------------------------------* -* | | | The following if replaces the cards: -* | | | GM=3.85D0 -* | | | IF(KX1.EQ.4.AND.KX2.EQ.4) GM=4.89D0 -* | | | IF(KX1.NE.4.AND.KX2.NE.4) GM=2.770D0 -* | | | IF(KX1.EQ.10.AND.KX2.EQ.10) GM=4.89D0 -* | | | IF(KX1.NE.10.AND.KX2.NE.10) GM=2.770D0 -* | | | It is completely equivalent except for the combination -* | | | 4-4 which now gives GM = 4.89, while in the original -* | | | coding gave GM = 2.77, because of the last condition -* | | | always overrides the first one (it seems to be a mistake) - IF (KX1 .EQ. 4 .OR. KX1 .EQ. 10 ) THEN - IF ( KX2 .EQ. KX1 ) THEN - GM = AM(170) - ELSE - GM = AM(169) - END IF - ELSE IF (KX2 .EQ. 4 .OR. KX2 .EQ. 10 ) THEN - GM = AM(169) - ELSE - GM = AM(166) - END IF - IIAA=0 - GO TO 15 - 14 CONTINUE -* | | +-------------------------------------------------------------* -* | | | The following if replaces the cards: -* | | | GM=3.684D0 -* | | | IF(KX1.NE.4.AND.KX2.NE.4) GM=2.140D0 -* | | | IF(KX1.NE.10.AND.KX2.NE.10) GM=2.140D0 -* | | | It is equivalent: only for the combinations -* | | | 4-10 and 10-4 we get GM = 3.684 -* | | | It is not clear if it is correct since 4-x,x-4 (x.ne.10), -* | | | 10-x,x-10 (x.ne.4) give GM = 2.14 - IF ((KX1.EQ.4.AND.KX2.EQ.10).OR.(KX1.EQ.10.AND.KX2.EQ.4)) - & THEN - GM = AM(129) - ELSE - GM = AM(127) - END IF - IF (IVX.EQ.4.OR.IVX.EQ.9) THEN - KAXI=KX1 - ELSE IF (IVX.EQ.5.OR.IVX.EQ.10) THEN - KAXI=KX2 - ELSE -* | | | Kaxi = 0 added for completeness, maybe it is useless - KAXI=0 - END IF - IF (KAXI.EQ.1.OR.KAXI.EQ.7) THEN - IIAA=1 - ELSE IF (KAXI.EQ.2.OR.KAXI.EQ.8) THEN - IIAA=2 - ELSE - IIAA=0 - END IF - GO TO 15 - 15 CONTINUE - IF (RX .LE. GM) GO TO 200 - X1=RX - X2=UQUARM - PU=BETA_G3(X1,X2,BET) - X2=SQUARM - PS=BETA_G3(X1,X2,BET) - X2=CQUARM - PC=BETA_G3(X1,X2,BET) - PTOT=2.D+00*PU+PS+PC - PU1=PU/PTOT - PS=PS/PTOT - PC=PC/PTOT - IF (IIAA .EQ. 1) THEN - PU=0.6666666666666667D+00*PU1 - PD=2.D+00*PU1-PU - ELSE IF (IIAA .EQ. 2) THEN - PD=0.6666666666666667D+00*PU1 - PU=2.D+00*PU1-PD - ELSE - PU=PU1 - PD=PU - END IF - IF (Z1 .LE. PU) THEN - KF1 = 1 - ELSE IF ( Z1 .LE. PU + PD ) THEN - KF1 = 2 - ELSE IF ( Z1 .LE. PU + PD + PS ) THEN - KF1 = 3 - ELSE - KF1 = 4 - END IF - IF (Z2 .LE. PU) THEN - KF2 = 1 - ELSE IF ( Z2 .LE. PU + PD ) THEN - KF2 = 2 - ELSE IF ( Z2 .LE. PU + PD + PS ) THEN - KF2 = 3 - ELSE - KF2 = 4 - END IF - GO TO 20 - 20 CONTINUE -C*****CHOICE OF THE QUARKFLAVOURS IN DEPENDENCE OF THE VERTEX IV - IVX=IV(I) - GO TO (1,2,3,4,5,1,2,3,4,5),IVX - 1 CONTINUE - IF (LL.EQ.1) THEN - KFR1(I)=KF1+6 - ELSE - KFR1(I)=KF1 - END IF - KFR2(I)=0 - GO TO 30 - 2 CONTINUE - IF (LL.EQ.1) THEN - KFR1(I)=KF1 - KFR2(I)=KF2 - ELSE - KFR1(I)=KF1+6 - KFR2(I)=KF2+6 - END IF - GO TO 30 - 3 CONTINUE - KFR2(I)=0 - IF (LL.EQ.1) THEN - KFR1(I)=KF1+6 - ELSE - KFR1(I)=KF1 - END IF - GO TO 30 - 4 CONTINUE - IF (LL.EQ.1) THEN - KFR1(I)=KF1 - ELSE - KFR1(I)=KF1+6 - END IF - KFR2(I)=KX2 - GO TO 30 - 5 CONTINUE - KFR1(I)=KX1 - IF (LL.EQ.1) THEN - KFR2(I)=KF2 - ELSE - KFR2(I)=KF2+6 - END IF - GO TO 30 - 30 CONTINUE - IF(LT.EQ.0) GO TO 80 - WRITE(LUNOUT,6)PU,PD,PS,PC,KX1,KX2 - 6 FORMAT(1H0,' FLAVOR PU,PD,PS,PC,KX1,KX2',4F8.4,2I5) - IF(I.EQ.1) GO TO 40 - WRITE(LUNOUT,60)IV(I),LL,KFR1(J),KFR2(J),KFR1(I),KFR2(I) - GO TO 50 - 40 WRITE(LUNOUT,70)IV(I),LL,KFA1,KFA2,KFR1(I),KFR2(I) - 50 CONTINUE - 60 FORMAT(1H0,22HIV,LL,Q1A,Q2A,Q1N,Q2N=,6I3) - 70 FORMAT(1H0,'IV(I),LL,KFA1,KFA2,KFR1(I),KFR2(I)=',6I3 ) - 80 CONTINUE - RETURN - END -#else - SUBROUTINE FLAVOR_DUMMY - END -#endif diff --git a/StarVMC/geant3/fluka/fpower.F b/StarVMC/geant3/fluka/fpower.F deleted file mode 100644 index cd302beae7c..00000000000 --- a/StarVMC/geant3/fluka/fpower.F +++ /dev/null @@ -1,74 +0,0 @@ -* -* $Id: fpower.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fpower.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE FPOWER.FOR -*COPY FPOWER -* -*=== fpower ===========================================================* -* - FUNCTION FPOWER ( IPOWER, NU, ANUAV ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 05 may 1992 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 10-jun-92 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* - PARAMETER ( TWOLOG = 0.6931471805599453D+00 ) -* - IF ( IPOWER .NE. 13 ) STOP 'FPOWER' - IF ( ANUAV .LT. 2.D+00 ) THEN - AKAPP0 = -0.93699278D+00*ANUAV**2 + 3.9082338D+00 - ELSE - AKAPP0 = 4.2019D+00 / ANUAV**2.2835973D+00 - END IF - IF ( NU .LE. 1 ) THEN - FPOWER = AKAPP0 - ELSE - AFACT = ( NU - 1.D+00 ) / ( ANUAV + NU - 1.D+00 ) -* | This correction (1 card) has been put by A.F. on 29-12-92, trying -* | to widen a bit the residual nuclei distribution without -* | spoiling the good agreement with the grey particle distribution - AFACT = AFACT / SQRT (ANUAV) - AKAPPA = ( 1.D+00 - AFACT ) * AKAPP0 + AFACT - APOWER = ANUAV / NU + 1.D+00 * ANUAV / ( ANUAV + 1.D+00 ) - DDNU = NU - FPOWER = APOWER + LOG ( AKAPPA ) / LOG ( DDNU ) - END IF -*=== End of function fpower ===========================================* - RETURN - END diff --git a/StarVMC/geant3/fluka/fprob.F b/StarVMC/geant3/fluka/fprob.F deleted file mode 100644 index e49f15d8c0b..00000000000 --- a/StarVMC/geant3/fluka/fprob.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: fprob.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: fprob.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE FPROB.FOR -*COPY FPROB -* -*=== fprob ============================================================* -* - FUNCTION FPROB (Z,A,U) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Fission PROBability: * -* * -* Created on 8 april 1993 by Alfredo Ferrari & Paola Sala * -* INFN - Milan * -* * -* Last change on 09-apr-93 by Alfredo Ferrari, INFN - Milan * -* * -* This function is just a translation into Fluka of the same function * -* of LAHET kindly provided by R.E. Prael * -* * -* Input variables: * -* Z = present nucleus atomic number * -* A = " " mass " * -* U = " " excitation energy (MeV) * -* * -*----------------------------------------------------------------------* -* - FPROB = 0 - STOP 'FPROB' -* RETURN -*=== End of function Fprob ============================================* - END diff --git a/StarVMC/geant3/fluka/gamrn.F b/StarVMC/geant3/fluka/gamrn.F deleted file mode 100644 index 2631513039a..00000000000 --- a/StarVMC/geant3/fluka/gamrn.F +++ /dev/null @@ -1,79 +0,0 @@ -* -* $Id: gamrn.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: gamrn.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE GAMRN.FOR -*COPY GAMRN -* -*=== gamrn ============================================================* -* - FUNCTION GAMRN(ALAM,ETA) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(2) -C -C******************************************************************** -C -C RANDOM NUMBER SELECTION FROM GAMMA DISTRIBUTION -C F(X) = ALAM**ETA*X**(ETA-1)*EXP(-ALAM*X) / GAM(ETA) -C -C******************************************************************** -C - NCOU = 0 - N = ETA - F = ETA - N - IF (F .EQ. 0.D0) GO TO 100 - 10 CALL GRNDM(RNDM,1) - R = RNDM(1) - NCOU = NCOU + 1 - IF (NCOU.GE.11) GO TO 100 - IF (R .LT. F/(F + 2.718281828459045D0)) GO TO 20 - CALL GRNDM(RNDM,1) - YYY = LOG(RNDM(1)+1.0D-38)/F - IF (ABS(YYY) .GT. 50.D0) GO TO 100 - Y = EXP(YYY) - CALL GRNDM(RNDM,1) - IF (LOG(RNDM(1) + 1.0D-38) .GT. -Y) GO TO 10 - GO TO 50 - 100 Y = 0.D0 - GO TO 70 - 20 CALL GRNDM(RNDM,2) - Y = 1.D0 - LOG(RNDM(1) + 1.0D-38) - IF (RNDM(2) .GT. Y**(F-1.D0)) GO TO 10 - 50 IF (N .EQ. 0) GO TO 150 - 70 Z = 1.D0 - IF (N .LE. 0) N = 1 - DO 80 I = 1,N - 80 CALL GRNDM(RNDM,1) - Z = Z * RNDM(1) - Y = Y - LOG(Z + 1.0D-38) - 150 GAMRN = Y/ALAM - RETURN - END diff --git a/StarVMC/geant3/fluka/geta.F b/StarVMC/geant3/fluka/geta.F deleted file mode 100644 index f0ebaeba14c..00000000000 --- a/StarVMC/geant3/fluka/geta.F +++ /dev/null @@ -1,114 +0,0 @@ -* -* $Id: geta.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: geta.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani -*-- Author : -*$ CREATE GETA.FOR -*COPY GETA -* -*=== geta =============================================================* -* - FUNCTION GETA ( U, JZ, JN, MODE, IS, AOGMAX, - & AOGMIN ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 18 january 1993 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 28-jan-93 by Alfredo Ferrari * -* * -*----------------------------------------------------------------------* -* -#include "geant321/eva0.inc" -#if !defined(CERNLIB_SINGLE) - PARAMETER ( ASMTOG = 6.0D0 / PIPIPI**2 ) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER ( ASMTOG = 6.0e0 / PIPIPI**2 ) -#endif - LOGICAL LASMLL -* - LASMLL = .TRUE. - IF ( JZ .LE. 0 .OR. JN .LE. 0 ) THEN - GETA = ( JZ + JN) / B0 - AOGMAX = GETA - AOGMIN = GETA - RETURN - END IF - GO TO 5 - ENTRY GETG ( U, JZ, JN, MODE, IS, AOGMAX, AOGMIN ) - LASMLL = .FALSE. - 5 CONTINUE - JA = JN + JZ - AA = JA - ZZ = JZ - GO TO (10,20,30), MODE -* +-------------------------------------------------------------------* -* | Standard EVAP parametrization for the level density - 10 CONTINUE - TEMP = AA * ( ONEONE + Y0 * ( ( AA - TWOTWO*ZZ ) / AA )**2) /B0 - AOGMAX = TEMP - AOGMIN = TEMP - GO TO 40 -* | -* +-------------------------------------------------------------------* -* | Gilbert & Cameron level density (with Z and A dependent correction -* | smoothly going into the Ignatyuk high energy limit, according -* | to the Ignatyuk interpolation formula - 20 CONTINUE - STOP 'GETA:20' -*** GO TO 40 -* | -* +-------------------------------------------------------------------* -* | Julich zero energy A-dependent level density: - 30 CONTINUE - STOP 'GETA:30' - 40 CONTINUE -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | geta = a (U) (aogmax = a_max) - IF ( LASMLL ) THEN - GETA = TEMP -* | -* +-------------------------------------------------------------------* -* | getg = g (U) (aogmax = g_max) - ELSE - GETG = ASMTOG * TEMP - AOGMAX = ASMTOG * AOGMAX - AOGMIN = ASMTOG * AOGMIN - END IF -* | -* +-------------------------------------------------------------------* -*=== End of Function geta =============================================* - RETURN - END diff --git a/StarVMC/geant3/fluka/hadden.F b/StarVMC/geant3/fluka/hadden.F deleted file mode 100644 index 539adcdc097..00000000000 --- a/StarVMC/geant3/fluka/hadden.F +++ /dev/null @@ -1,104 +0,0 @@ -* -* $Id: hadden.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: hadden.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE HADDEN.FOR -*COPY HADDEN -* -*=== hadden ===========================================================* -* - SUBROUTINE HADDEN - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* Hadden89: slight modifications by A. Ferrari, INFN-Milan and CERN-SPS -* 7-9-89 -*----------------------------------------------------------------------* -* -#include "geant321/decayc2.inc" -#include "geant321/part3.inc" -#include "geant321/split.inc" -* - COMMON /FKNAMS/ ANAME(110),ZKNAME(460),RKNAME(268) -C - COMMON / FKABLT / AM (110), GA (110), TAU (110), ICH (110), - & IBAR (110), K1 (110), K2 (110) - CHARACTER*8 ANAME,ZKNAME,RKNAME,ANAMZ,ZKNAMZ - COMMON /FKADHP/AMZ(16),GAZ(16),TAUZ(16),ICHZ(16),IBARZ(16),K1Z(16) - *,K2Z(16),WTZ(153),II22, - * NZKZ(153,3) - COMMON/FKADHN/ANAMZ(16),ZKNAMZ(153) - DATA IRETUR/0/ - IRETUR=IRETUR+1 - IF (IRETUR.GT.1) RETURN - DO 1 I=1,94 - ANAME(I) = ANAMC(I) - AM (I) = AMC (I) - GA (I) = GAC (I) - TAU (I) = TAUC (I) - ICH (I) = ICHC (I) - IBAR (I) = IBARC(I) - K1 (I) = K1C (I) - K2 (I) = K2C (I) - 1 CONTINUE - AM(31) = 0.48D0 - DO 5 I=26,30 - K1(I) = 452 - K2(I) = 452 - 5 CONTINUE - DO 2 I=1,307 - ZKNAME(I) = ZKNAMC(I) - WT (I) = WTC (I) - NZK (I,1) = NZKC(I,1) - NZK (I,2) = NZKC(I,2) - NZK (I,3) = NZKC(I,3) - 2 CONTINUE - DO 3 I=1,16 - L=I+94 - ANAME(L) = ANAMZ(I) - AM (L) = AMZ (I) - GA (L) = GAZ (I) - TAU (L) = TAUZ (I) - ICH (L) = ICHZ (I) - IBAR (L) = IBARZ(I) - K1 (L) = K1Z (I) - K2 (L) = K2Z (I) - 3 CONTINUE - DO 4 I=1,153 - L=I+307 - ZKNAME(L) = ZKNAMZ(I) - WT (L) = WTZ (I) - NZK (L,3) = NZKZ(I,3) - NZK (L,2) = NZKZ(I,2) - NZK (L,1) = NZKZ(I,1) - 4 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/hadevv.F b/StarVMC/geant3/fluka/hadevv.F deleted file mode 100644 index 6d7d14c8212..00000000000 --- a/StarVMC/geant3/fluka/hadevv.F +++ /dev/null @@ -1,3008 +0,0 @@ -* -* $Id: hadevv.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: hadevv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.43 by S.Giani -*-- Author : -*$ CREATE HADEVV.FOR -*COPY HADEVV -* -*=== hadevv ===========================================================* -* - SUBROUTINE HADEVV ( NHAD, KPROJ, KTARG, PPROJ, EPROJ, UMO ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Modified version of Hadevt created by Alfredo Ferrari, INFN-Milan * -* * -* Last change on 20-jun-93 by Alfredo Ferrari, INFN - MIlan * -* * -* Hadevt90: kinematics completed revised by A. Ferrari, before it was * -* always wrong every time the second jet to be sampled was * -* a "parjet". A few other bugs corrected: maybe others are * -* still in!!! * -*----------------------------------------------------------------------* -* -C -C GENERATE HADRON PRODC -C GENERATE HADRON PRODUCTION EVENT IN KPROJ - KTARG COLLISION -C WITH LAB PROJECTILE MOMENTUM PPROJ -C INCLUDING MESON MESON AND MESON ANTIBARYON COLLISIONS -C -C******************************************************************** -C -#include "geant321/auxpar.inc" -#include "geant321/balanc.inc" -#include "geant321/cmsres.inc" -#include "geant321/finpar.inc" -#include "geant321/hadpar.inc" -#include "geant321/inpdat2.inc" -#include "geant321/part.inc" -#include "geant321/qquark.inc" - COMMON /FKINVT/PNUC(3),INUCVT - COMMON /FKPRIN/ IPRI, INIT - REAL RNDM(2) - LOGICAL LISSU, LQTARG, LQPROJ -* - SAVE UNON,UNOM,UNOMS - DATA UNON/2.0D0/ - DATA UNOM/1.5D0/ - DATA UNOMS/0.5D0/ -* -C -C*******************************************************************" -C -C KINEMATICS -C -C******************************************************************** -C - 8899 CONTINUE -* Ijproj = paprop numbering - IJPROJ = KPTOIP (KPROJ) - IJTARG = KPTOIP (KTARG) - AMPROJ = AM(KPROJ) - AMTAR = AM(KTARG) -* The usual gamma and sqrt[beta**2/(1-beta**2)]=eta=gamma*beta factors -* for the CMS system -* - GAMCM = (EPROJ+AMTAR)/UMO - BGCM = PPROJ / UMO -C -*or IF(IPRI.EQ.1) WRITE(LUNOUT,101)KPROJ,KTARG,PPROJ,AMPROJ,AMTAR, -*or &EPROJ,UMO,GAMCM,BGCM -*or 101 FORMAT(2I5,10F11.5) -C -C******************************************************************** -C -C SELECTION OF QUARK - DIQUARK - CHAINS -C -C******************************************************************** -C -* -* Ibproj = baryonic charge of the projectile -* - IBPROJ = IBAR(KPROJ) -* -* Ibtarg = baryonic charge of the target nucleon -* - IBTARG = IBAR(KTARG) -* -* Ipq1,ipq2,ipq3 = quarks of the projectile -* - IQP1 = MQUARK(1,IJPROJ) - IQP2 = MQUARK(2,IJPROJ) - IQP3 = MQUARK(3,IJPROJ) -* -* Iqt1,iqt2,iqt3 = quarks of the projectile -* - IQT1 = MQUARK(1,IJTARG) - IQT2 = MQUARK(2,IJTARG) - IQT3 = MQUARK(3,IJTARG) -*or IF (IPRI .EQ. 1) -*or &WRITE(LUNOUT,102)IBPROJ, IQP1,IQP2,IQP3,IQT1,IQT2, -*or &IQT3 -*or 102 FORMAT(12I10) - IF (IBPROJ) 11, 12, 13 - 11 CONTINUE -C -C******************************************************************** -C -C SELECTION OF CHAINS -C ANTIBARYON - BARYON COLLISION -C -C******************************************************************** -C -* +-------------------------------------------------------------------* -* | The incoming projectile is an antibaryon!!! -* | - CALL GRNDM(RNDM,1) - ISAM1 = 1.D0 + 3.D0*RNDM(1) - GO TO (111,112,113),ISAM1 - 111 CONTINUE - IBF = IQP1 - IFF1 = IQP2 - IFF2 = IQP3 - GO TO 114 - 112 CONTINUE - IBF = IQP2 - IFF1 = IQP1 - IFF2 = IQP3 - GO TO 114 - 113 CONTINUE - IBF = IQP3 - IFF1 = IQP1 - IFF2 = IQP2 - 114 CONTINUE - CALL GRNDM(RNDM,1) - ISAM2 = 1.D0 + 3.D0*RNDM(1) - GO TO (115,116,117),ISAM2 - 115 CONTINUE - IBB = IQT1 - IFB1 = IQT2 - IFB2 = IQT3 - GO TO 118 - 116 CONTINUE - IBB = IQT2 - IFB1 = IQT1 - IFB2 = IQT3 - GO TO 118 - 117 CONTINUE - IBB = IQT3 - IFB1 = IQT1 - IFB2 = IQT2 - 118 CONTINUE - GO TO 14 -* | Quark selection for incoming antibaryon has been completed -* +-->-->-->-->-->-->-->-->-->--> go to 14 continue - - 12 CONTINUE -* +-------------------------------------------------------------------* -* | The incoming projectile is a meson!!! -* | - IF (IBTARG)712,812,912 -* | +----------------------------------------------------------------* -* | | The target nucleon is a baryon (meson projectile) -* | | - 912 CONTINUE -C -C******************************************************************** -C -C SELECTION OF CHAINS -C MESON - BARYON COLLISION -C -C******************************************************************** -C - CALL GRNDM(RNDM,1) - ISAM3 = 1.D0 + 2.D0*RNDM(1) - GO TO (121,122),ISAM3 - 121 CONTINUE - IFF = IQP1 - IBF = IQP2 - GO TO 123 - 122 CONTINUE - IFF = IQP2 - IBF = IQP1 - 123 CONTINUE - CALL GRNDM(RNDM,1) - ISAM4 = 1.D0 + 3.D0*RNDM(1) - GO TO (124,125,126),ISAM4 - 124 CONTINUE - GO TO (1241,1242),ISAM3 -1241 CONTINUE - IBB = IQT1 - IFB1 = IQT2 - IFB2 = IQT3 - GO TO 127 -1242 CONTINUE - IBB1 = IQT2 - IBB2 = IQT3 - IFB = IQT1 - GO TO 127 - 125 CONTINUE - GO TO (1251,1252),ISAM3 -1251 CONTINUE - IBB = IQT2 - IFB1 = IQT1 - IFB2 = IQT3 - GO TO 127 -1252 CONTINUE - IBB1 = IQT1 - IBB2 = IQT3 - IFB = IQT2 - GO TO 127 - 126 CONTINUE - GO TO (1261,1262),ISAM3 -1261 CONTINUE - IBB = IQT3 - IFB1 = IQT1 - IFB2 = IQT2 - GO TO 127 -1262 CONTINUE - IBB1 = IQT1 - IBB2 = IQT2 - IFB = IQT3 - 127 CONTINUE - GO TO 14 -* | | Quark selection for incoming meson and baryon target completed -* | +-->-->-->-->-->-->-->-->-->--> go to 114 continue - -* | +----------------------------------------------------------------* -* | | The target nucleon is a meson (meson projectile) -* | | - 812 CONTINUE -C=============================================================== -C -C SELECTION OF CHAINS -C MESON MESON COLLISIONS -C -C================================================================ - CALL GRNDM(RNDM,1) - ISAM3 = 1.D0 + 2.D0*RNDM(1) - GO TO (1218,1228),ISAM3 -1218 CONTINUE - IFF = IQP1 - IBF = IQP2 - IBB = IQT1 - IFB = IQT2 - GO TO 1238 -1228 CONTINUE - IFF = IQP2 - IBF = IQP1 - IBB = IQT2 - IFB = IQT1 -1238 CONTINUE - GO TO 14 -* | | Quark selection for incoming meson and meson target completed -* | +-->-->-->-->-->-->-->-->-->--> go to 14 continue - -* | +----------------------------------------------------------------* -* | | The target nucleon is an anti-baryon (meson projectile) -* | | - 712 CONTINUE -C================================================================= -C -C SELECTION OF CHAINS -C MESON ANTIBARYON COLLISIONS -C -C================================================================== - ISAM3 = 2 - IFF = IQP1 - IBF = IQP2 - CALL GRNDM(RNDM,1) - ISAM4 = 1.D0 + 3.D0*RNDM(1) - GO TO (1247,1257,1267),ISAM4 -1247 CONTINUE - GO TO (12417,12427),ISAM3 -12417 CONTINUE - IBB = IQT1 - IFB1 = IQT2 - IFB2 = IQT3 - GO TO 1277 -12427 CONTINUE - IBB1 = IQT2 - IBB2 = IQT3 - IFB = IQT1 - GO TO 1277 -1257 CONTINUE - GO TO (12517,12527),ISAM3 -12517 CONTINUE - IBB = IQT2 - IFB1 = IQT1 - IFB2 = IQT3 - GO TO 1277 -12527 CONTINUE - IBB1 = IQT1 - IBB2 = IQT3 - IFB = IQT2 - GO TO 1277 -1267 CONTINUE - GO TO (12617,12627),ISAM3 -12617 CONTINUE - IBB = IQT3 - IFB1 = IQT1 - IFB2 = IQT2 - GO TO 1277 -12627 CONTINUE - IBB1 = IQT1 - IBB2 = IQT2 - IFB = IQT3 -1277 CONTINUE - GO TO 14 -* | | Quark selection for incoming meson and a-baryon target completed -* | +-->-->-->-->-->-->-->-->-->--> go to 14 continue -* | -* | end meson projectile -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | The incoming projectile is a baryon!!! -* | - 13 CONTINUE -C -C******************************************************************** -C -C SELECTION OF CHAINS -C BARYON - BARYON COLLISION -C -C******************************************************************** -C - CALL GRNDM(RNDM,1) - ISAM5 = 1.D0 + 3.D0*RNDM(1) - GO TO (131,132,133),ISAM5 - 131 CONTINUE - IBF = IQP1 - IFF1 = IQP2 - IFF2 = IQP3 - GO TO 134 - 132 CONTINUE - IBF = IQP2 - IFF1 = IQP1 - IFF2 = IQP3 - GO TO 134 - 133 CONTINUE - IBF = IQP3 - IFF1 = IQP1 - IFF2 = IQP2 - 134 CONTINUE - CALL GRNDM(RNDM,1) - ISAM6 = 1.D0 + 3.D0*RNDM(1) - GO TO (135,136,137),ISAM6 - 135 CONTINUE - IFB = IQT1 - IBB1 = IQT2 - IBB2 = IQT3 - GO TO 138 - 136 CONTINUE - IFB = IQT2 - IBB1 = IQT1 - IBB2 = IQT3 - GO TO 138 - 137 CONTINUE - IFB = IQT3 - IBB1 = IQT1 - IBB2 = IQT2 - 138 CONTINUE -* | | Quark selection for incoming baryon and baryon target completed -* + |-->-->-->-->-->-->-->-->-->--> go to 14 continue - 14 CONTINUE -* | Quark selection completed -* +-------------------------------------------------------------------* - -*or IF (IPRI.EQ.1) WRITE(LUNOUT,102)IFF,IBF,IFF1,IFF2,IFB1,IFB2, -*or &IFB,IBB,IBB1,IBB2 -C -C******************************************************************** -C -C*** SAMPLING MOMENTUM FRACTIONS OF QUARKS AND DIQUARKS -C -C******************************************************************** -C - IXPXT = 0 - 25 CONTINUE - IXPXT = IXPXT + 1 -* +-------------------------------------------------------------------* -* | Selection of xp and xt from beta distribution: -* | xp and xt are then used to select the fraction of momentum and -* | energy for each jet, according to the following relations: -* | (where we assume to use xp, xt for the jet n. 1) -* | -* | xxp = 1 - xp -* | xxt = 1 - xt -* | Ech1 = umo * (xp + xt ) / 2 -* | Ech2 = umo * (xxp + xxt) / 2 -* | Pch1 = umo * (xp - xt ) / 2 -* | Pch2 = umo * (xxp - xxt) / 2 -* | Amch1 = umo * sqrt (xp * xt ) -* | Amch2 = umo * sqrt (xxp * xxt) -* | - IF (IBPROJ) 21,22,23 - 21 CONTINUE -* | Note for antibaryon projectile xp and xt are sampled from the -* | same distribution, ===> no difference in exchanging them! - UNO = UNON - XP = BETARN(HLFHLF,UNO) - XXP = 1.D0 - XP - UNO = UNON - XT = BETARN(HLFHLF,UNO) - XXT = 1.D0 - XT - GO TO 24 - 23 CONTINUE -* | Note for baryon projectile xp and xt are sampled from the -* | same distribution, ===> no difference in exchanging them! - UNO = UNON - XP = BETARN(HLFHLF,UNO) - XXP = 1.D0 - XP - UNO = UNON - XT = BETARN(HLFHLF,UNO) - XXT = 1.D0 - XT - GO TO 24 - 22 CONTINUE -* | Note for meson projectile xp and xt are not sampled from the -* | same distribution, ===> difference in exchanging them! - UNO = UNOM - IF (IFF.EQ.3 .OR. IFF.EQ.-3) UNO = UNOMS - XP = BETARN(HLFHLF,UNO) - XXP = 1.D0 - XP - IF (IBTARG .EQ. 0) GO TO 2288 - UNO = UNON -2288 CONTINUE - XT = BETARN(HLFHLF,UNO) - XXT = 1.D0 - XT - 24 CONTINUE -* | Now xp and xt have been selected from the appropriate beta -* | distributions, xxp and xxt are the complements to one of xp and xt -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | From here to 1124 it is likely to be obsolete (inucvt is now used -* | nowhere in the code, the same for pnuc -* | -*or RNDMVV=RNDM(V) -*or IF (INUCVT.EQ.0) GO TO 1124 -*or IF (RNDMVV.LT.PNUC(1)) GO TO 1124 -*or XT=2.D0*BETARN(0.5D0,UNO+6.D0) -*or XXT=1.D0-XT -*or IF (XXT.LE.0.D0) XXT=RNDM(V) -*or IF (RNDMVV.LT.PNUC(2)) GO TO 1124 -*or XT=3.D0*BETARN(0.5D0,UNO+12.D0) -*or XXT=1.D0-XT -*or IF (XXT.LE.0.D0) XXT=RNDM(V) -*or 1124 CONTINUE -* | -* +-------------------------------------------------------------------* -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XP,XT,XXP,XXT -*or 103 FORMAT (10F10.5) -C -C******************************************************************** -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C -C******************************************************************** -C -**** -****===================================================================* -* | Now selecting the kinematical parameters for the two jets: -* | -* | amch1 = invariant mass of the 1st jet -* | ech1 = total energy of the 1st jet in CMS -* | pch1 = total momentum of the 1st jet in CMS (with sign) -* | -* | amch2 = invariant mass of the 2nd jet -* | ech2 = total energy of the 2nd jet in CMS -* | pch2 = total momentum of the 2nd jet in CMS (with sign) -* | -* | The following relations must be fulfilled: -* | -* | ech1 + ech2 = umo (energy in CMS = inv. mass of the system) -* | ech1 = sqrt (pch1**2 + amch1**2) -* | ech2 = sqrt (pch2**2 + amch2**2) -* | pch1 + pch2 = 0 -* | -****===================================================================* -**** - IF (IBPROJ) 31,32,33 -* +-------------------------------------------------------------------* -* | antibaryon projectile!!! (note that only antibaryon projectile -* | baryon target is allowed, antibaryon projectile meson target is -* | considered as meson projectile antibaryon target) -* | - 31 CONTINUE -C -C******************************************************************** -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C*** ANTINUCLEON-NUCLEUON -C*** LONG ANTIDIQUARK - DIQUARK CHAIN -C -C******************************************************************** -C -* | Ibb, ifb1, ifb2 contain the quark numbers of the target, ibf, -* | iff1, iff2 the quark numbers of the projectile -* | iff...= forward chain, forward quark (diquark) -* | ifb...= forward chain, backward quark (diquark) -* | ibf...= backward chain, forward quark -* | ibb...= backward chain, backward quark -* | By definition all i..f.. come from the projectile and all -* | i..b.. from the target -* | Of course, since we are treating an antibaryon projectile and -* | a baryon target all i..f.. are antiquark and all i..b.. are -* | quark -* | Of course the two following cards are equivalent to -* | IIFF1 = IABS (IFF1) ... - IIFF1 = -IFF1 - IIFF2 = -IFF2 - IF (IIFF1 .EQ. IFB1) GO TO 3111 - IF (IIFF1 .EQ. IFB2) GO TO 3112 - IF (IIFF2 .EQ. IFB1) GO TO 3113 - IF (IIFF2 .EQ. IFB2) GO TO 3114 -* | Get the index and the mass of the pseudoscalar meson corre- -* | sponding to the lowest energy for chain 2 ("b") - IIBF = IABS(IBF) - IBPS = IMPS(IIBF,IBB) - AMBPS = AM(IBPS) -* | ***************************************************************** -* | New version: of course, as it is explained below it is not * -* | correct to comment the "go to 3115", however it is not correct* -* | also to use it in its original form, we need to compute a de- * -* | tailed threshold, also for the Amff value: we can believe that* -* | the lowest threshold is given by the two scalar mesons resul- * -* | ting from the combinations of the 4 quarks (iff1,iff2,ibf1, * -* | ibf2). Remember that the Imps(i,j) array gives the index of * -* | the pseudoscalar meson with antiquark -i and quark j, the same* -* | apply to the Imve array but for vector mesons * -* | But, since bamjev it is likely to produce at least one baryon * -* | and one antibaryon when called with Iopt=5 (since it hadroni- * -* | zes a chain with a diquark and an anti-diquark at the extremi-* -* | ties) a more realistic threshold could be to check for the * -* | masses of the baryon-antibaryon combinations corresponding to * -* | a uubar or a ddbar sea pair added to the original diquarks * -* | ***************************************************************** -* | Selection of the mass threshold from the two pseudoscalar mesons -* IMPS11 = IMPS(IIFF1,IFB1) -* IMPS21 = IMPS(IIFF2,IFB2) -* IMPS12 = IMPS(IIFF1,IFB2) -* IMPS22 = IMPS(IIFF2,IFB1) -* | Amff is selected as the maximum of the two possible meson configu- -* | rations, to be sure that no problem will result during frag- -* | mentation -* AMFF = MAX ( AM (IMPS11) + AM (IMPS21), AM (IMPS12) + -* & AM (IMPS22) ) -* | Of course at least two mesons must be produced -* | First check that the total invariant mass is enough (it must -* | be larger than the two meson masses and the pseudoscalar -* | meson mass of the second chain) -* AMFF = AMFF -* | Selection of the mass threshold from the two baryon configura- -* | tions - CALL BKLASS (-1, IFF1, IFF2, IA1F8, IA1F10 ) - CALL BKLASS ( 1, IFB1, IFB2, I1F8, I1F10 ) - CALL BKLASS (-2, IFF1, IFF2, IA2F8, IA2F10 ) - CALL BKLASS ( 2, IFB1, IFB2, I2F8, I2F10 ) - AMFF = MIN ( AM (IA1F8) + AM (I1F8), AM (IA2F8) + AM (I2F8) ) - & + 0.3D+00 -* | +----------------------------------------------------------------* -* | | New treatment: check the mass threshold - IF ( AMFF + AMBPS .LT. UMO ) THEN - XSQ = SQRT(XXP*XXT) - AMCH1 = UMO*XSQ - NNCH1 = 0 - AMCH2 = UMO*UMO*XP*XT -* | | +------------------------------------------------------------* -* | | | Check if we have enough energy for the "f" jet - IF ( AMCH1 .LE. AMFF .OR. AMCH2 .LE. AMBPS * AMBPS ) THEN - IXPXT = IXPXT + 1 - IF ( IXPXT .LT. 5 ) GO TO 25 -* | | | if amch1 < amfps xp and xt are resampled, but if we are -* | | | resampling too often force amch1 to be above -* | | | the minimum required, anyway the kinematic region -* | | | allowed for xp, xt seems to be marginal -* | | *-->-->-->-->-->-->-->-->-->--> xp, xt resampling - XSQ1 = ( AMFF / UMO )**2 - XSQ2 = ( AMBPS / UMO )**2 - XXXMN = XSQ1 - XXYMX = 0.5D+00 * ( 1.D+00 + XSQ1 - XSQ2 ) - XXYMN = SQRT ( 1.D+00 - XSQ1 / ( XXYMX * XXYMX ) ) - XXXMN = MAX ( XSQ1, XXYMX * ( ONEONE - XXYMN ) ) - XXXMX = MIN ( 1.D+00, XXYMX * ( 1.D+00 + XXYMN ) ) -* | | | +----------------------------------------------------------* -* | | | | - 3161 CONTINUE - CALL GRNDM(RNDM,1) - XXP = XXXMN + ( XXXMX - XXXMN ) * RNDM (1) - XP = 1.D+00 - XXP - XXYMN = XSQ1 / XXP - XXYMX = 1.D+00 - XSQ2 / XP -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( XXYMN .GT. XXYMX ) THEN - XXXMN = XXP - GO TO 3161 -* | | | |-<|--<--<--<--< no allowed interval for xxt, resample - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* - CALL GRNDM(RNDM,1) - XXT = XXYMN + ( XXYMX - XXYMN ) * RNDM (1) - XT = 1.D+00 - XXT - XSQ = SQRT(XXP*XXT) - AMCH1 = UMO*XSQ - NNCH1 = 0 - END IF -* | | | -* | | +------------------------------------------------------------* - IOPBAM = 5 - GO TO 3116 -* | | -* | +----------------------------------------------------------------* -* | | We are in troubles: the selected quark combinations -* | | for the two chains are unphysical since the invariant -* | | mass is too low to produce the required three mesons -* | | First try to change the quark combinations: - ELSE - CALL GRNDM(RNDM,1) - IRNDM = 1.D+00 + RNDM (1) - LQPROJ = .FALSE. - LQTARG = .FALSE. - GO TO (3171,3181) IRNDM -* | | +-------------------------------------------------------------* -* | | | Try to change one of the projectile quarks in the -* | | | first chain - 3171 CONTINUE - LQPROJ = .TRUE. -* | | | +----------------------------------------------------------* -* | | | | The third antibaryon quark can combine with the -* | | | | first or/and the second quark of the target diquark - IF ( -IBF .EQ. IFB1 .OR. -IBF .EQ. IFB2 ) THEN -* | | | | +-------------------------------------------------------* -* | | | | | Make a random choiche of the quark to be substituted - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. 0.5D+00 ) THEN - IBF0 = IBF - IBF = IFF1 - IFF1 = IBF0 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - IBF0 = IBF - IBF = IFF2 - IFF2 = IBF0 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - GO TO 31 -* | | | | -* | | | +----------------------------------------------------------* -* | | | | No possibility to solve the situation changing one of -* | | | | the projectile quarks inside the "f" chain, try with -* | | | | the projectile quarks (if not yet tried) - ELSE - IF ( .NOT. LQTARG ) GO TO 3181 - GO TO 3191 - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | Try to change one of the target quarks in the -* | | | first chain (for uud and udd targets this is usually -* | | | useless, but it has been included for the sake of -* | | | completness ) - 3181 CONTINUE - LQTARG = .TRUE. -* | | | +----------------------------------------------------------* -* | | | | The third target quark can combine with the first -* | | | | or/and the second quark of the projectile diquark - IF ( IBB .EQ. -IFF1 .OR. IBB .EQ. -IFF2 ) THEN -* | | | | +-------------------------------------------------------* -* | | | | | Make a random choiche of the quark to be substituted - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. 0.5D+00 ) THEN - IBB0 = IBB - IBB = IFB1 - IFB1 = IBB0 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - IBB0 = IBB - IBB = IFB2 - IFB2 = IBB0 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - GO TO 31 -* | | | | -* | | | +----------------------------------------------------------* -* | | | | No possibility to solve the situation changing one of -* | | | | the target quarks inside the "f" chain, try with -* | | | | the projectile quarks (if not yet tried) - ELSE - IF ( .NOT. LQPROJ ) GO TO 3171 - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* - 3191 CONTINUE -* | | If we are here we cannot perform an interaction conserving -* | | all additive quantum numbers: ignore one (typically it is -* | | strangeness) and go on - WRITE (LUNERR,*) - & ' *** Hadevv, impossible interaction, kp,kt, Umo', - & KPROJ,KTARG,UMO - WRITE (LUNOUT,*) - & ' *** Hadevv, impossible interaction, kp,kt, Umo', - & KPROJ,KTARG,UMO - END IF -* | | -* | +----------------------------------------------------------------* -* | Now we want to get the indexes of the pseudo-scalar and vector -* | mesons which can be created from the first (forward) chain. -* | Of course if one of the ff quark is the antiquark of one of -* | fb quarks then the mesons are defined completely by the remaining -* | two quarks: we have anyway to deal also with the situation -* | were no ff quark is the antiquark of a fb quark (the goto 3115...) -* | which clearly requires at least two mesons!!! So no Amfps and -* | Amfv can be defined in this situation, and the "go to 3115" was -* | really important to assure that we are not producing single -* | particle jets which are not possible, we have only to substitute -* | the 1.5 threshold with the proper threshold for the two -* | mesons (at least the two scalar mesons): this is also true for -* | the Amff value which of course should be equal to the sum -* | of the two scalar mesons resulting from the combinations -* | of the 4 quarks (see above) -3111 CONTINUE - IIFF2 = IABS(IFF2) - IFPS = IMPS(IIFF2,IFB2) - IAIFF = IFF2 - IFB = IFB2 - IFPS2 = IMPS(IIFF1,IFB1) - IFV = IMVE(IIFF2,IFB2) - GO TO 3117 -3112 CONTINUE - IIFF2 = IABS(IFF2) - IFPS = IMPS(IIFF2,IFB1) - IAIFF = IFF2 - IFB = IFB1 - IFPS2 = IMPS(IIFF1,IFB2) - IFV = IMVE(IIFF2,IFB1) - GO TO 3117 -3113 CONTINUE - IIFF1 = IABS(IFF1) - IFPS = IMPS(IIFF1,IFB2) - IAIFF = IFF1 - IFB = IFB2 - IFPS2 = IMPS(IIFF2,IFB1) - IFV = IMVE(IIFF1,IFB2) - GO TO 3117 -3114 CONTINUE - IIFF1 = IABS(IIFF1) - IFPS = IMPS(IIFF1,IFB1) - IAIFF = IFF1 - IFB = IFB1 - IFPS2 = IMPS(IIFF2,IFB2) - IFV = IMVE(IIFF1,IFB1) -3117 CONTINUE -* Amfps, amfv are the masses of the pseudoscalar and vector mesons -* corresponding to the two unpaired quarks of the 1 (f) chain - AMFPS = AM(IFPS) - AMFV = AM(IFV ) - AMFPS2= AM(IFPS2) - NNCH1 = 0 -C ATTENTION THIS MIGHT LEAD TO TOO LOW ANNIHILATION MULTIPLICITIES -C AMFF = AMFV+0.3D0 -* AMFF = 2.3D0 - AMFF = MAX ( AMFV + 0.3D+00, AMFV + AMFPS2 + 0.1D+00 ) -* | This expression for Amff0 (threshold for a complete diquark-diquark -* | jet) is not correct: this jet will fragment at least into two -* | hadrons corresponding to the lowest energy hadrons with respecti- -* | vely the first and the second diquark. Of corse one will be an -* | antibaryon. It must be checked that bamjet produces a baryon- -* | antibaryon pair any time it is called with iopt = 5 (corresponding -* | to the fragmentation of a complete diquark-antidiquark jet) -* | It is also questionable if it is correct to call bamjet with -* | iopt=5 whenever energetically possible: this clearly implies -* | that no annihilation takes place (an antibaryon will emerge -* | from the interaction). This is a question to be addressed -* | to Hannes!! -* AMFF0 = 2.D+00 * AMFF -* | A tentative way could be to check for the masses of the -* | baryon-antibaryon combinations corresponding to a uubar -* | or a ddbar sea pair - CALL BKLASS (-1, IFF1, IFF2, IA1F8, IA1F10 ) - CALL BKLASS ( 1, IFB1, IFB2, I1F8, I1F10 ) - CALL BKLASS (-2, IFF1, IFF2, IA2F8, IA2F10 ) - CALL BKLASS ( 2, IFB1, IFB2, I2F8, I2F10 ) - AMFF0 = MIN ( AM (IA1F8) + AM (I1F8), AM (IA2F8) + AM (I2F8) ) - & + 0.3D+00 -* | -* | here xxt and xxp are used for the first jet -* | - XSQ = SQRT(XXP*XXT) - AMCH1 = UMO*XSQ - AAPS = IFPS - AAV = IFV -*or IF (IPRI.EQ.1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2,AAPS,AAV, -*or & AMFPS,AMFV - -* | +----------------------------------------------------------------* -* | | - IF (AMCH1 .LT. AMFPS) GO TO 25 -* | | if amch1 < amfps xp and xt are resampled -* | *-->-->-->-->-->-->-->-->-->--> xp, xt resampling - -* | Kinematical parameters xxp, xxt for the 1st jet - IF (AMCH1 .GT. AMFV ) GO TO 3151 -C*** PRODUCE AMFPS - AMCH1 = AMFPS - NNCH1 = -1 - XSQ = AMFPS/UMO -* | | recalculating xxp, xp - XXP = XSQ**2/XXT - XP = 1.D0 - XXP - GO TO 3153 -3151 CONTINUE - IF (AMCH1 .GT. AMFF) GO TO 3153 -C*** PRODUCE AMFV - AMCH1 = AMFV - NNCH1 = 1 - XSQ = AMFV/UMO -* | | recalculating xxp, xp - XXP = XSQ**2/XXT - XP = 1.D0 - XXP - GO TO 3153 -3153 CONTINUE - IF (AMCH1 .LE. AMFF0) THEN - IOPBAM = 3 - ELSE - IOPBAM = 5 - END IF - GO TO 3116 -3116 CONTINUE -C -C******************************************************************** -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C ANTINUCLEON NUCLEON -C*** SHORT ANTIQUARK - QUARK CHAIN -C -C******************************************************************** -C - IIBF = IABS(IBF) - IBPS = IMPS(IIBF,IBB) - IBV = IMVE(IIBF,IBB) - AMBPS = AM(IBPS) - AMBV = AM(IBV) - NNCH2 = 0 - AMBB = AMBV + 0.3D0 - AAPS = IBPS - AAV = IBV -* | +----------------------------------------------------------------*1 -* | | -* | | Now commented, is useless!!! -* IF (XP .LE. 0.D0 .OR. XT .LE. 0.D0) GO TO 25 -* | | resample xp and xt if one is negative or zero -* | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - -* | Now xp and xt are used for the second jet - XXSQ = SQRT(XP*XT) - AMCH2 = UMO*XXSQ -*or IF (IPRI.EQ.1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AAPS,AAV,AMBPS,AMBV - -* | +----------------------------------------------------------------* -* | | - IF (AMCH2 .LT. AMBPS) THEN - IXPXT = IXPXT + 1 - GO TO 25 -* | | if amch1 < amfps xp and xt are resampled -* | *-->-->-->-->-->-->-->-->-->--> xp, xt resampling - END IF -* | | -* | +----------------------------------------------------------------* - - IF (AMCH2 .GT. AMBV ) GO TO 3121 -C*** PRODUCE AMBPS -* For Prof. Ranft: here there was a "large" mistake, amch2 = ambps -* was missing - AMCH2 = AMBPS - NNCH2 = -1 - XXSQ = AMBPS/UMO -*or IF (INUCVT .EQ. 1) GO TO 3123 - GO TO 31236 -3121 CONTINUE - IF (AMCH2 .GT. AMBB) GO TO 3123 -C*** PRODUCE AMBV - AMCH2 = AMBV - NNCH2 = 1 - XXSQ = AMBV/UMO -*or IF (INUCVT .EQ. 1) GO TO 3123 - GO TO 31236 -* | +----------------------------------------------------------------* -* | | Here adjusting kinematics!!!!! -* | | Now, chain 2 is a single particle jet, so we have to reset the -* | | kinematical parameters xp, xxp, xt and xxt -* | | -31236 CONTINUE - XXSQ2 = XXSQ * XXSQ -* | | +-------------------------------------------------------------* -* | | | If also chain 1 is a parjet (nnch1 .ne. 0) then the paramet. -* | | | to be recomputed are xp and xt, from alpha and beta, in -* | | | such a way to conserve the original momentum direction -* | | | - IF (NNCH1 .NE. 0) THEN - XSQ2 = XSQ * XSQ - HELP = XSQ2 * (XSQ2 - 2.D0) + XXSQ2 * (XXSQ2 - 2.D0) - & - 2.D0 * XSQ2 * XXSQ2 - DDIFF = SQRT (HELP + 1.D0) - SSUM = SQRT (HELP + 1.D0 + 4.D0 * XXSQ2) - ALPHA = (SSUM + DDIFF) * 0.5D0 - BETA = (SSUM - DDIFF) * 0.5D0 - IF (XP .GT. XT) THEN - XP = ALPHA - XT = BETA - ELSE - XT = ALPHA - XP = BETA - END IF - XXP = 1.D0 - XP - XXT = 1.D0 - XT -* | | | -* | | +-------------------------------------------------------------* - ELSE -* | | +-------------------------------------------------------------* -* | | | If chain 1 is not a parjet (nnch1 .eq. 0) then the paramet. -* | | | xp, xt are to be recomputed in such a way to conserve the -* | | | original momentum direction and modulus -* | | | - DDIFF = XP - XT - SSUM = SQRT (4.D0 * XXSQ2 + DDIFF**2) - XP = (SSUM + DDIFF) * 0.5D0 - XT = (SSUM - DDIFF) * 0.5D0 - XXP = 1.D0 - XP - XXT = 1.D0 - XT - XSQ = SQRT (XXP * XXT) - AMCH1 = XSQ * UMO - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | end kinematics correction -* | +----------------------------------------------------------------* - -3123 CONTINUE -C - PCH1 = UMO*(XXP - XXT)*.5D0 - ECH1 = UMO*(XXP + XXT)*.5D0 - GAMCH1 = ECH1/AMCH1 - BGCH1 = PCH1/AMCH1 - PCH2 = UMO*(XP - XT)*.5D0 - ECH2 = UMO*(XP + XT)*.5D0 - GAMCH2 = ECH2/AMCH2 - BGCH2 = PCH2/AMCH2 - GO TO 34 -* | end kin. sel. for antibaryon projectile -* +-->-->-->-->-->-->-->-->-->--> go to 34 - -* +-------------------------------------------------------------------* -* | baryon projectile!!! -* | - 33 CONTINUE -C -C******************************************************************** -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C*** NUCLEON - NUCLEON -C*** FORWARD DIQUARK - QUARK CHAIN -C -C******************************************************************** -C - GO TO 332 -* | -* +-->-->-->-->-->-->-->-->-->--> jump # 1 to 332 - -* +--<--<--<--<--<--<--<--<--<--< here from jump # 3 -* | - -3310 CONTINUE - CALL BKLASS (IFB,IFF1,IFF2,IF8,IF10) - AMF8 = AM(IF8) - AMF10 = AM(IF10) - AMFF = AMF10 + 0.3D0 - NNCH1 = 0 -* | here xxp, xt are used for the jet # 1 - XSQ = SQRT(ABS(XXP*XT)) - AMCH1 = UMO*XSQ - AA8 = IF8 - AA10 = IF10 -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AA8,AA10,AMF8,AMF10 - -* | +----------------------------------------------------------------* -* | | This check added by A. Ferrari, to avoid negative x(x)p or -* | | x(x)t !!!!!?????? Maybe also "go to 33366" if we want to create -* | | the jet anyway -* I (A. Ferrari) think this check was missing and is -* actually needed, else we can get negative energies - IF (AMCH1 .LT. AMF8) GO TO 25 -* | | if amch1 < amf8 xp and xt are resampled -* | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH1 .GT. AMF10) GO TO 331 -C*** PRODUCE AMF8 - AMCH1 = AMF8 - NNCH1 = -1 - XSQ = AMF8/UMO - GO TO 33366 - 331 CONTINUE - IF (AMCH1 .GT. AMFF) GO TO 333 -C*** PRODUCE AMF10 - AMCH1 = AMF10 - NNCH1 = 1 - XSQ = AMF10/UMO - GO TO 33366 -* | +----------------------------------------------------------------* -* | | Here adjusting kinematics!!!!! -* | | Now, chain 1 is a single particle jet, so we have to reset the -* | | kinematical parameters xp, xxp, xt and xxt -* | | -33366 CONTINUE - XSQ2 = XSQ * XSQ -* | | +-------------------------------------------------------------* -* | | | If also chain 2 is a parjet (nnch2 .ne. 0) then the paramet. -* | | | to be recomputed are xxp and xt, from alpha and beta, in -* | | | such a way to conserve the original momentum direction -* | | | - IF (NNCH2 .NE. 0) THEN - XXSQ2 = XXSQ * XXSQ - HELP = XSQ2 * (XSQ2 - 2.D0) + XXSQ2 * (XXSQ2 - 2.D0) - & - 2.D0 * XSQ2 * XXSQ2 - DDIFF = SQRT (HELP + 1.D0) - SSUM = SQRT (HELP + 1.D0 + 4.D0 * XSQ2) - ALPHA = (SSUM + DDIFF) * 0.5D0 - BETA = (SSUM - DDIFF) * 0.5D0 - IF (XXP .GT. XT) THEN - XXP = ALPHA - XT = BETA - ELSE - XT = ALPHA - XXP = BETA - END IF - XP = 1.D0 - XXP - XXT = 1.D0 - XT -* | | | -* | | +-------------------------------------------------------------* - ELSE -* | | +-------------------------------------------------------------* -* | | | If chain 2 is not a parjet (nnch2 .eq. 0) then the paramet. -* | | | xxp,xt have to be recomputed in such a way to conserve the -* | | | original momentum direction and modulus -* | | | - DDIFF = XXP - XT - SSUM = SQRT (4.D0 * XSQ2 + DDIFF**2) - XXP = (SSUM + DDIFF) * 0.5D0 - XT = (SSUM - DDIFF) * 0.5D0 - XP = 1.D0 - XXP - XXT = 1.D0 - XT - XXSQ = SQRT (XP * XXT) - AMCH2 = XXSQ * UMO - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | end kinematics correction -* | +----------------------------------------------------------------* - - 333 CONTINUE -* | we are using xp and xxt for chain 2 - PCH1 = UMO*(XXP - XT)*.5D0 - ECH1 = UMO*(XXP + XT)*.5D0 - GAMCH1 = ECH1/AMCH1 - BGCH1 = PCH1/AMCH1 - PCH2 = UMO*(XP - XXT)*.5D0 - ECH2 = UMO*(XP + XXT)*.5D0 - GAMCH2 = ECH2/AMCH2 - BGCH2 = PCH2/AMCH2 - GO TO 34 -* | end kin. sel. for baryon projectile -* +-->-->-->-->-->-->-->-->-->--> go to 34 - -C -C******************************************************************** -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C NUCLEON NUCLEON -C*** BACKWARD QUARK - DIQUARK CHAIN -C -C******************************************************************** -C -* +--<--<--<--<--<--<--<--<--<--< here from the previous jump # 1 -* | - 332 CONTINUE -* | Starting from chain # 2!!! - CALL BKLASS (IBF,IBB1,IBB2,IB8,IBIO) - NNCH2 = 0 - AMB8 = AM(IB8) - AMB10 = AM(IBIO) - AMBB = AMB10 + 0.3D0 -* | here xp, xxt are used for the jet # 2 - XXSQ = SQRT(XP*XXT) - AMCH2 = UMO*XXSQ - AAB8 = IB8 - AAB10 = IBIO -*or IF (IPRI.EQ.1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AAB8,AAB10,AMB8,AMB10 - -* | +----------------------------------------------------------------* -* | | This check added by A. Ferrari, to avoid negative x(x)p or -* | | x(x)t !!!!!?????? Maybe also "go to 335" if we want to create -* | | the jet anyway -* I (A. Ferrari) think this check was missing and is -* actually needed, else we can get negative energies - IF (AMCH2 .LT. AMB8) GO TO 25 -* | | if amch2 < amb8 xp and xt are resampled -* | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH2 .GT. AMB10) GO TO 334 -C*** PRODUCE AMB8 - AMCH2 = AMB8 - NNCH2 = -1 - XXSQ = AMB8/UMO - XP = XXSQ**2/XXT - XXP = 1.D0 - XP - GO TO 335 - 334 CONTINUE - IF (AMCH2 .GT. AMBB) GO TO 335 -C*** PRODUCE AMB10 - AMCH2 = AMB10 - NNCH2 = 1 - XXSQ = AMB10/UMO - XP = XXSQ**2/XXT - XXP = 1.D0 - XP - -C PCH1=UMO*(XXP-XT)*.5D0 -C ECH1=UMO*(XXP+XT)*.5D0 -C GAMCH1=ECH1/AMCH1 -C BGCH1=PCH1/AMCH1 -C GO TO 335 - - 335 CONTINUE - GO TO 3310 -* | -* +-->-->-->-->-->-->-->-->-->--> jump # 3 to 3310 - -* +-------------------------------------------------------------------* -* | meson projectile!!! -* | - 32 CONTINUE -C -C******************************************************************** -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C*** MESON NUCLEON -C -C******************************************************************** -C - IF (IBTARG)3277,3288,3299 -* | +----------------------------------------------------------------* -* | | meson projectile, baryon target!!!! -* | | -3299 CONTINUE - GO TO (321,325),ISAM3 -* | | +-------------------------------------------------------------* -* | | | meson projectile, baryon target, isam3 = 1 -* | | | - 321 CONTINUE -C*** MESON NUCLEON Q(XXP)-QQ(XXT)+AQ(XP-Q(XT) - GO TO 322 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 4 to 322 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 5 -* | | | -3259 CONTINUE -C================================================================= -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON NUCLEON -C*** FIRST LONG Q(XXP)-QQ(XXT) CHAIN -C -C=================================================================== - CALL BKLASS (IFF,IFB1,IFB2,IF8,IFIO) - AMF8 = AM(IF8) - AMF10 = AM(IFIO) - NNCH1 = 0 - AMFF = AMF10 + 0.3D0 -* | here xxp, xxt are used for the jet # 1 - XSQ = SQRT(XXP*XXT) - AMCH1 = UMO*XSQ - AA8 = IF8 - AA10 = IFIO -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AA8,AA10,AMF8,AMF10 - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH1 .LT. AMF8) GO TO 25 -* | | | | if amch1 < amf8 xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH1 .GT. AMF10) GO TO 3211 -C*** PRODUCE AMF8 - AMCH1 = AMF8 - NNCH1 = -1 - XSQ = AMF8/UMO - GO TO 32136 -3211 CONTINUE - IF (AMCH1 .GT. AMFF) GO TO 3213 -C*** PRODUCE AMF10 - AMCH1 = AMF10 - NNCH1 = 1 - XSQ = AMF10/UMO - GO TO 32136 -* | | | +----------------------------------------------------------* -* | | | | Here adjusting kinematics!!!!! -* | | | | Now, chain 1 is a single particle jet, so we have to -* | | | | reset the kinematical parameters xp, xxp, xt and xxt -* | | | | -32136 CONTINUE - XSQ2 = XSQ * XSQ -* | | | | +-------------------------------------------------------* -* | | | | | If also chain 2 is a parjet (nnch2 .ne. 0) then the -* | | | | | param. to be recomputed are xxp and xxt, from alpha -* | | | | | and beta, in such a way to conserve the original -* | | | | | momentum direction -* | | | | | - IF (NNCH2 .NE. 0) THEN - XXSQ2 = XXSQ * XXSQ - HELP = XSQ2 * (XSQ2 - 2.D0) + XXSQ2 * - & (XXSQ2 - 2.D0) - 2.D0 * XSQ2 * XXSQ2 - DDIFF = SQRT (HELP + 1.D0) - SSUM = SQRT (HELP + 1.D0 + 4.D0 * XSQ2) - ALPHA = (SSUM + DDIFF) * 0.5D0 - BETA = (SSUM - DDIFF) * 0.5D0 - IF (XXP .GT. XXT) THEN - XXP = ALPHA - XXT = BETA - ELSE - XXT = ALPHA - XXP = BETA - END IF - XP = 1.D0 - XXP - XT = 1.D0 - XXT -* | | | | | -* | | | | +-------------------------------------------------------* - ELSE -* | | | | +-------------------------------------------------------* -* | | | | | If chain 2 is not a parjet (nnch2 .eq. 0) then the -* | | | | | paramet. xxp,xxt have to be recomputed in such a way -* | | | | | to conserve the original momentum direction and -* | | | | | modulus -* | | | | | - DDIFF = XXP - XXT - SSUM = SQRT (4.D0 * XSQ2 + DDIFF**2) - XXP = (SSUM + DDIFF) * 0.5D0 - XXT = (SSUM - DDIFF) * 0.5D0 - XP = 1.D0 - XXP - XT = 1.D0 - XXT - XXSQ = SQRT (XP * XT) - AMCH2 = XXSQ * UMO - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | end kinematics correction -* | | | +----------------------------------------------------------* - -3213 CONTINUE - PCH1 = UMO*(XXP - XXT)*.5D0 - ECH1 = UMO*(XXP + XXT)*.5D0 - GAMCH1 = ECH1/AMCH1 - BGCH1 = PCH1/AMCH1 - PCH2 = UMO*(XP - XT)*.5D0 - ECH2 = UMO*(XP + XT)*.5D0 - GAMCH2 = ECH2/AMCH2 - BGCH2 = PCH2/AMCH2 - GO TO 34 -* | | | end kin. sel. for meson proj. (baryon target), isam3 = 1 -* | | +-->-->-->-->-->-->-->-->-->--> go to 34 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 4 -* | | | - 322 CONTINUE -C=============================================================== -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON NUCLEON -C*** SHORT AQ(XP)-Q(XT) CHAIN -C -C================================================================ - IIBF = IABS(IBF) - IBPS = IMPS(IIBF,IBB) - IBV = IMVE(IIBF,IBB) - AMBPS = AM(IBPS) - AMBV = AM(IBV) - NNCH2 = 0 - AMBB = AMBV + 0.3D0 -* | here xp, xt are used for the jet # 2 - XXSQ = SQRT(XP*XT) - AMCH2 = UMO*XXSQ - AAPS = IBPS - AAV = IBV -*or IF (IPRI.EQ.1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AAPS,AAV,AMBPS,AMBV - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH2 .LT. AMBPS) GO TO 25 -* | | | | if amch2 < ambps xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH2 .GT. AMBV) GO TO 3221 -C*** PRODUCE AMBPS - AMCH2 = AMBPS - NNCH2 = -1 - XXSQ = AMBPS/UMO - XT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 3223 - XXT = 1.D0 - XT - GO TO 3223 -3221 CONTINUE - IF (AMCH2 .GT. AMBB) GO TO 3223 -C*** PRODUCE AMBV - AMCH2 = AMBV - NNCH2 = 1 - XXSQ = AMBV/UMO - XT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 3223 - XXT = 1.D0 - XT - -C PCH1=UMO*(XXP-XXT)*.5D0 -C ECH1=UMO*(XXP+XXT)*.5D0 -C GAMCH1=ECH1/AMCH1 -C BGCH1=PCH1/AMCH1 -C GO TO 3223 - -3223 CONTINUE - GO TO 3259 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 5 to 3259 - -* | | +-------------------------------------------------------------* -* | | | meson projectile, baryon target, isam3 = 2 -* | | | - 325 CONTINUE -C================================================================= -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C*** MESON NUCLEUS -C*** FORWARD ANTIQUARK-DIQUARK CHAIN -C -C================================================================= - GO TO 326 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 6 to 326 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 7 -* | | | -3250 CONTINUE -C*** MESON NUCLEON FORWARD AQ(XXP)-Q(XT) AND BACKWARD CHAINS Q(XP)-QQ( -C*** XXT) CHAINS -C===================================================================== -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON NUCLEON -C*** FORWARD AQ(XXP)-Q(XT) CHAIN -C -C==================================================================== - IIFF = IABS(IFF) - IFPS = IMPS(IIFF,IFB) - IFV = IMVE(IIFF,IFB) - AMFPS = AM(IFPS) - AMFV = AM(IFV) - NNCH1 = 0 - AMFF = AMFV + 0.3D0 -* | | | here xxp, xt are used for the jet # 1 - XSQ = SQRT(XXP*XT) - AMCH1 = UMO*XSQ - AAPS = IFPS - AAV = IFV -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AAPS,AAV,AMFPS,AMFV - -* | | +-------------------------------------------------------------* -* | | | - IF (AMCH1 .LT. AMFPS) GO TO 25 -* | | | if amch1 < amfps xp and xt are resampled -* | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH1 .GT. AMFV) GO TO 3251 -C*** PRODUCE AMFPS - AMCH1 = AMFPS - NNCH1 = -1 - XSQ = AMFPS/UMO - GO TO 32536 -3251 CONTINUE - IF (AMCH1.GT.AMFF) GO TO 3253 -C*** PRODUCE AMFV - AMCH1 = AMFV - NNCH1 = 1 - XSQ = AMFV/UMO - GO TO 32536 -* | | | +----------------------------------------------------------* -* | | | | Here adjusting kinematics!!!!! -* | | | | Now, chain 1 is a single particle jet, so we have to -* | | | | reset the kinematical parameters xp, xxp, xt and xxt -* | | | | -32536 CONTINUE - XSQ2 = XSQ * XSQ -* | | | | +-------------------------------------------------------* -* | | | | | If also chain 2 is a parjet (nnch2 .ne. 0) then the -* | | | | | param. to be recomputed are xxp and xt, from alpha -* | | | | | and beta, in such a way to conserve the original -* | | | | | momentum direction -* | | | | | - IF (NNCH2 .NE. 0) THEN - XXSQ2 = XXSQ * XXSQ - HELP = XSQ2 * (XSQ2 - 2.D0) + XXSQ2 * - & (XXSQ2 - 2.D0) - 2.D0 * XSQ2 * XXSQ2 - DDIFF = SQRT (HELP + 1.D0) - SSUM = SQRT (HELP + 1.D0 + 4.D0 * XSQ2) - ALPHA = (SSUM + DDIFF) * 0.5D0 - BETA = (SSUM - DDIFF) * 0.5D0 - IF (XXP .GT. XT) THEN - XXP = ALPHA - XT = BETA - ELSE - XT = ALPHA - XXP = BETA - END IF - XP = 1.D0 - XXP - XXT = 1.D0 - XT -* | | | | | -* | | | | +-------------------------------------------------------* - ELSE -* | | | | +-------------------------------------------------------* -* | | | | | If chain 2 is not a parjet (nnch2 .eq. 0) then the -* | | | | | paramet. xxp,xt have to be recomputed in such a way -* | | | | | to conserve the original momentum direction and -* | | | | | modulus -* | | | | | - DDIFF = XXP - XT - SSUM = SQRT (4.D0 * XSQ2 + DDIFF**2) - XXP = (SSUM + DDIFF) * 0.5D0 - XT = (SSUM - DDIFF) * 0.5D0 - XP = 1.D0 - XXP - XXT = 1.D0 - XT - XXSQ = SQRT (XP * XXT) - AMCH2 = XXSQ * UMO - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | end kinematics correction -* | | | +----------------------------------------------------------* - -3253 CONTINUE - PCH1 = UMO*(XXP - XT)*.5D0 - ECH1 = UMO*(XXP + XT)*.5D0 - GAMCH1 = ECH1/AMCH1 - BGCH1 = PCH1/AMCH1 - PCH2 = UMO*(XP - XXT)*.5D0 - ECH2 = UMO*(XP + XXT)*.5D0 - GAMCH2 = ECH2/AMCH2 - BGCH2 = PCH2/AMCH2 - GO TO 34 -* | | | end kin. sel. for meson proj. (baryon target), isam3 = 2 -* | | +-->-->-->-->-->-->-->-->-->--> go to 34 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 6 -* | | | - 326 CONTINUE -C*** BACKWARD Q(XP)-QQ(XXT) CHAIN - CALL BKLASS (IBF,IBB1,IBB2,IB8,IBIO) - AMB8 = AM(IB8) - AMB10 = AM(IBIO) - NNCH2 = 0 - AMBB = AMB10 + 0.3D0 -C=================================================================== -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON NUCLEON -C*** BACKWARD QUARK -DIQUARK CHAIN -C -C==================================================================== -* | | | here xp, xxt are used for the jet # 2 - XXSQ = SQRT(XP*XXT) - AMCH2 = UMO*XXSQ - AA8 = IB8 - AA10 = IBIO -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XXSQ,AMCH1,AMCH2 -*or & ,AA8,AA10,AMB8,AMB10 - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH2 .LT. AMB8 ) GO TO 25 -* | | | | if amch2 < amb8 xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH2 .GT. AMB10) GO TO 3261 -C*** PRODUCE AMB8 - AMCH2 = AMB8 - NNCH2 = -1 - XXSQ = AMB8/UMO - XXT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 3263 - XT = 1.D0 - XXT - GO TO 3263 -3261 CONTINUE - IF (AMCH2 .GT. AMBB) GO TO 3263 -C*** PRODUCE AMB10 - AMCH2 = AMB10 - NNCH2 = 1 - XXSQ = AMB10/UMO - XXT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 3263 - XT = 1.D0 - XXT - -C PCH1=UMO*(XXP-XT)*.5D0 -C ECH1=UMO*(XXP+XT)*.5D0 -C GAMCH1=ECH1/AMCH1 -C BGCH1=PCH1/AMCH1 - - GO TO 3263 -3263 CONTINUE - GO TO 3250 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 7 to 3250 -* | +----------------------------------------------------------------* -* | -* | +----------------------------------------------------------------* -* | | Meson projectile, meson target!!! -* | | -3288 CONTINUE - -C================================================================ -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON MESON -C -C================================================================ - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LE. 0.5D0) GO TO 93288 - XT = XXT - XXT = 1.D0 - XT -93288 CONTINUE - GO TO (3218,3258),ISAM3 -* | | +-------------------------------------------------------------* -* | | | Meson projectile, meson target, isam3 = 1 -* | | | -3218 CONTINUE -C================================================================== -C*** MESON MESON Q(XXP)-AQ(XXT)+AQ(XP)-Q(XT) -C================================================================= - GO TO 3228 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 8 to 3228 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 9 -* | | | -32598 CONTINUE -C================================================================= -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON MESON -C*** FIRST LONG Q(XXP)-AQ(XXT) CHAIN -C -C=================================================================== - IIFB = IABS(IFB) - IFPS = IMPS(IIFB,IFF) - IFV = IMVE(IIFB,IFF) - AMFPS = AM(IFPS) -* | | | Of course AMPV seems to be a mistyping for AMFV -* AMPV = AM(IFV) - AMFV = AM(IFV) - NNCH1 = 0 - AMFF = AMFV + 0.3D0 -* | | | here we are using xxp, xxt for the jet # 1 - XSQ = SQRT(XXP*XXT) - AMCH1 = UMO*XSQ - AAPS = IFPS - AAV = IFV -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AAPS,AAV,AMFPS,AMFV - -* | | +-------------------------------------------------------------* -* | | | - IF (AMCH1 .LT. AMFPS) GO TO 25 -* | | | if amch2 < amfps xp and xt are resampled -* | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH1 .GT. AMFV ) GO TO 32118 -C*** PRODUCE AMFPS - AMCH1 = AMFPS - NNCH1 = -1 - XSQ = AMFPS/UMO - GO TO 32133 -32118 CONTINUE - IF (AMCH1 .GT. AMFF) GO TO 32138 -C*** PRODUCE AMFV - AMCH1 = AMFV - NNCH1 = 1 - XSQ = AMFV/UMO - GO TO 32133 -* | | | +----------------------------------------------------------* -* | | | | Here adjusting kinematics!!!!! -* | | | | Now, chain 1 is a single particle jet, so we have to -* | | | | reset the kinematical parameters xp, xxp, xt and xxt -* | | | | -32133 CONTINUE - XSQ2 = XSQ * XSQ -* | | | | +-------------------------------------------------------* -* | | | | | If also chain 2 is a parjet (nnch2 .ne. 0) then the -* | | | | | param. to be recomputed are xxp and xxt, from alpha -* | | | | | and beta, in such a way to conserve the original -* | | | | | momentum direction -* | | | | | - IF (NNCH2 .NE. 0) THEN - XXSQ2 = XXSQ * XXSQ - HELP = XSQ2 * (XSQ2 - 2.D0) + XXSQ2 * - & (XXSQ2 - 2.D0) - 2.D0 * XSQ2 * XXSQ2 - DDIFF = SQRT (HELP + 1.D0) - SSUM = SQRT (HELP + 1.D0 + 4.D0 * XSQ2) - ALPHA = (SSUM + DDIFF) * 0.5D0 - BETA = (SSUM - DDIFF) * 0.5D0 - IF (XXP .GT. XXT) THEN - XXP = ALPHA - XXT = BETA - ELSE - XXT = ALPHA - XXP = BETA - END IF - XP = 1.D0 - XXP - XT = 1.D0 - XXT -* | | | | | -* | | | | +-------------------------------------------------------* - ELSE -* | | | | +-------------------------------------------------------* -* | | | | | If chain 2 is not a parjet (nnch2 .eq. 0) then the -* | | | | | paramet. xxp,xxt have to be recomputed in such a way -* | | | | | to conserve the original momentum direction and -* | | | | | modulus -* | | | | | - DDIFF = XXP - XXT - SSUM = SQRT (4.D0 * XSQ2 + DDIFF**2) - XXP = (SSUM + DDIFF) * 0.5D0 - XXT = (SSUM - DDIFF) * 0.5D0 - XP = 1.D0 - XXP - XT = 1.D0 - XXT - XXSQ = SQRT (XP * XT) - AMCH2 = XXSQ * UMO - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | end kinematics correction -* | | | +----------------------------------------------------------* - -32138 CONTINUE - PCH1 = UMO*(XXP - XXT)*.5D0 - ECH1 = UMO*(XXP + XXT)*.5D0 - GAMCH1 = ECH1/AMCH1 - BGCH1 = PCH1/AMCH1 - PCH2 = UMO*(XP - XT)*.5D0 - ECH2 = UMO*(XP + XT)*.5D0 - GAMCH2 = ECH2/AMCH2 - BGCH2 = PCH2/AMCH2 - GO TO 348 -* | | | end kin. sel. for meson proj. (meson target), isam3 = 1 -* | | +-->-->-->-->-->-->-->-->-->--> go to 348 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 8 -* | | | -3228 CONTINUE -C=============================================================== -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON MESON -C*** SHORT AQ(XP)-Q(XT) CHAIN -C -C================================================================ - IIBF = IABS(IBF) - IBPS = IMPS(IIBF,IBB) - IBV = IMVE(IIBF,IBB) - AMBPS = AM(IBPS) - AMBV = AM(IBV) - NNCH2 = 0 - AMBB = AMBV + 0.3D0 -* | | | here we are using xp, xt for the jet # 2 - XXSQ = SQRT(XP*XT) - AMCH2 = UMO*XXSQ - AAPS = IBPS - AAV = IBV -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XXSQ,AMCH1,AMCH2 -*or & ,AAPS,AAV,AMBPS,AMBV - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH2 .LT. AMBPS) GO TO 25 -* | | | | if amch2 < ambps xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH2 .GT. AMBV ) GO TO 32218 -C*** PRODUCE AMBPS - AMCH2 = AMBPS - NNCH2 = -1 - XXSQ = AMBPS/UMO - XT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 32238 - XXT = 1.D0 - XT - GO TO 32238 -32218 CONTINUE - IF (AMCH2 .GT. AMBB) GO TO 32238 -C*** PRODUCE AMBV - AMCH2 = AMBV - NNCH2 = 1 - XXSQ = AMBV/UMO - XT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 32238 - XXT = 1.D0 - XT - -C PCH1=UMO*(XXP-XXT)*.5D0 -C ECH1=UMO*(XXP+XXT)*.5D0 -C GAMCH1=ECH1/AMCH1 -C BGCH1=PCH1/AMCH1 -C GO TO 32238 - -32238 CONTINUE - GO TO 32598 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 9 to 32598 - -* | | +-------------------------------------------------------------* -* | | | Meson projectile, meson target, isam3 = 2 -* | | | -3258 CONTINUE -C================================================================= -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C*** MESON MESON -C*** FORWARD ANTIQUARK-DIQUARK CHAIN -C -C================================================================= - GO TO 3268 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 10 to 3268 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 11 -* | | | -32508 CONTINUE -C=================================================================== -C*** MESON MESON FORWARD AQ(XXP)-Q(XT) AND BACKWARD CHAINS Q(XP)-AQ( -C*** XXT) CHAINS -C==================================================================== -C===================================================================== -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON MESON -C*** FORWARD AQ(XXP)-Q(XT) CHAIN -C -C==================================================================== - IIFF = IABS(IFF) - IFPS = IMPS(IIFF,IFB) - IFV = IMVE(IIFF,IFB) - AMFPS = AM(IFPS) - AMFV = AM(IFV) - NNCH1 = 0 - AMFF = AMFV + 0.3D0 -* | | | here we are using xxp, xt for the jet # 1 - XSQ = SQRT(XXP*XT) - AMCH1 = UMO*XSQ - AAPS = IFPS - AAV = IFV -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AAPS,AAV,AMFPS,AMFV - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH1 .LT. AMFPS) GO TO 25 -* | | | | if amch1 < amfps xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH1 .GT. AMFV) GO TO 32518 -C*** PRODUCE AMFPS - AMCH1 = AMFPS - NNCH1 = -1 - XSQ = AMFPS/UMO - GO TO 32535 -32518 CONTINUE - IF (AMCH1 .GT. AMFF) GO TO 32538 -C*** PRODUCE AMFV - AMCH1 = AMFV - NNCH1 = 1 - XSQ = AMFV/UMO - GO TO 32535 -* | | | +----------------------------------------------------------* -* | | | | Here adjusting kinematics!!!!! -* | | | | Now, chain 1 is a single particle jet, so we have to -* | | | | reset the kinematical parameters xp, xxp, xt and xxt -* | | | | -32535 CONTINUE - XSQ2 = XSQ * XSQ -* | | | | +-------------------------------------------------------* -* | | | | | If also chain 2 is a parjet (nnch2 .ne. 0) then the -* | | | | | param. to be recomputed are xxp and xt, from alpha -* | | | | | and beta, in such a way to conserve the original -* | | | | | momentum direction -* | | | | | - IF (NNCH2 .NE. 0) THEN - XXSQ2 = XXSQ * XXSQ - HELP = XSQ2 * (XSQ2 - 2.D0) + XXSQ2 * - & (XXSQ2 - 2.D0) - 2.D0 * XSQ2 * XXSQ2 - DDIFF = SQRT (HELP + 1.D0) - SSUM = SQRT (HELP + 1.D0 + 4.D0 * XSQ2) - ALPHA = (SSUM + DDIFF) * 0.5D0 - BETA = (SSUM - DDIFF) * 0.5D0 - IF (XXP .GT. XT) THEN - XXP = ALPHA - XT = BETA - ELSE - XT = ALPHA - XXP = BETA - END IF - XP = 1.D0 - XXP - XXT = 1.D0 - XT -* | | | | | -* | | | | +-------------------------------------------------------* - ELSE -* | | | | +-------------------------------------------------------* -* | | | | | If chain 2 is not a parjet (nnch2 .eq. 0) then the -* | | | | | paramet. xxp,xt have to be recomputed in such a way -* | | | | | to conserve the original momentum direction and -* | | | | | modulus -* | | | | | - DDIFF = XXP - XT - SSUM = SQRT (4.D0 * XSQ2 + DDIFF**2) - XXP = (SSUM + DDIFF) * 0.5D0 - XT = (SSUM - DDIFF) * 0.5D0 - XP = 1.D0 - XXP - XXT = 1.D0 - XT - XXSQ = SQRT (XP * XXT) - AMCH2 = XXSQ * UMO - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | end kinematics correction -* | | | +----------------------------------------------------------* - -32538 CONTINUE - PCH1 = UMO*(XXP - XT)*.5D0 - ECH1 = UMO*(XXP + XT)*.5D0 - GAMCH1 = ECH1/AMCH1 - BGCH1 = PCH1/AMCH1 - PCH2 = UMO*(XP - XXT)*.5D0 - ECH2 = UMO*(XP + XXT)*.5D0 - GAMCH2 = ECH2/AMCH2 - BGCH2 = PCH2/AMCH2 - GO TO 348 -* | | | end kin. sel. meson proj. (meson target), isam3 = 2 -* | | +-->-->-->-->-->-->-->-->-->--> go to 348 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 10 -* | | | -3268 CONTINUE -C*** BACKWARD Q(XP)-AQ(XXT) CHAIN - IIBB = IABS(IBB) - IBPS = IMPS(IIBB,IBF) - IBV = IMVE(IIBB,IBF) - AMBPS = AM(IBPS) - AMBV = AM(IBV) - NNCH2 = 0 - AMBB = AMBV + 0.3D0 -C=================================================================== -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON MESON -C*** BACKWARD QUARK -ANTIQUARK CHAIN -C -C==================================================================== -* | | | here we are using xp, xxt for the jet # 2 - XXSQ = SQRT(XP*XXT) - AMCH2 = UMO*XXSQ - AAPS = IBPS - AAV = IBV -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AAPS,AAV,AMBPS,AMBV - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH2 .LT. AMBPS) GO TO 25 -* | | | | if amch2 < ambps xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH2 .GT. AMBV) GO TO 32618 -C*** PRODUCE AMBPS - AMCH2 = AMBPS - NNCH2 = -1 - XXSQ = AMBPS/UMO - XXT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 32638 - XT = 1.D0 - XXT - GO TO 32638 -32618 CONTINUE - IF (AMCH2 .GT. AMBB) GO TO 32638 -C*** PRODUCE AMBV - AMCH2 = AMBV - NNCH2 = 1 - XXSQ = AMBV /UMO - XXT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 32638 - XT = 1.D0 - XXT - -C PCH1=UMO*(XXP-XT)*.5D0 -C ECH1=UMO*(XXP+XT)*.5D0 -C GAMCH1=ECH1/AMCH1 -C BGCH1=PCH1/AMCH1 - - GO TO 32638 -32638 CONTINUE - GO TO 32508 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 11 to 32508 -* | +----------------------------------------------------------------* - - 348 CONTINUE -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XP,XT,XXP,XXT -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)AMCH1,AMCH2,PCH1,PCH2,ECH1, -*or &ECH2,GAMCH1,GAMCH2,BGCH1,BGCH2 - GO TO 34 -* | | end kin. sel. meson proj. (meson target) -* | +-->-->-->-->-->-->-->-->-->--> go to 34 - -* | +----------------------------------------------------------------* -* | | meson projectile, antibaryon target!!! -* | | -3277 CONTINUE -C================================================================= -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON ANTIBARYON -C -C=============================================================== -C==================================================================== -C==================================================================== -C TO BE CORRECTED -C -C==================================================================== -C`=================================================================== - GO TO (3217,3257),ISAM3 -* | | +-------------------------------------------------------------* -* | | | meson projectile, antibaryon target, isam = 2 -* | | | -3257 CONTINUE -C*** MESON NUCLEON AQ(XXP)-AQAQ(XXT)+Q(XP)-AQ(XT) - GO TO 3227 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 12 to 3227 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 13 -* | | | -32597 CONTINUE -C================================================================= -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON ANTINUCLEON -C*** FIRST LONG AQ(XXP)-AQAQ(XXT) CHAIN -C -C=================================================================== - CALL BKLASS (IBF,IBB1,IBB2,IF8,IFIO) - AMF8 = AM(IF8) - AMF10 = AM(IFIO) - NNCH1 = 0 - AMFF = AMF10 + 0.3D0 -* | | | here we are using xxp, xxt for the jet # 1 - XSQ = SQRT(XXP*XXT) - AMCH1 = UMO*XSQ - AA8 = IF8 - AA10 = IFIO -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AA8,AA10,AMF8,AMF10 - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH1 .LT. AMF8) GO TO 25 -* | | | | if amch1 < amf8 xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH1 .GT. AMF10) GO TO 32117 -C*** PRODUCE AMF8 - AMCH1 = AMF8 - NNCH1 = -1 - XSQ = AMF8/UMO - GO TO 32135 -32117 CONTINUE - IF (AMCH1 .GT. AMFF) GO TO 32137 -C*** PRODUCE AMF10 - AMCH1 = AMF10 - NNCH1 = 1 - XSQ = AMF10/UMO - GO TO 32135 -* | | | +----------------------------------------------------------* -* | | | | Here adjusting kinematics!!!!! -* | | | | Now, chain 1 is a single particle jet, so we have to -* | | | | reset the kinematical parameters xp, xxp, xt and xxt -* | | | | -32135 CONTINUE - XSQ2 = XSQ * XSQ -* | | | | +-------------------------------------------------------* -* | | | | | If also chain 2 is a parjet (nnch2 .ne. 0) then the -* | | | | | param. to be recomputed are xxp and xxt, from alpha -* | | | | | and beta, in such a way to conserve the original -* | | | | | momentum direction -* | | | | | - IF (NNCH2 .NE. 0) THEN - XXSQ2 = XXSQ * XXSQ - HELP = XSQ2 * (XSQ2 - 2.D0) + XXSQ2 * - & (XXSQ2 - 2.D0) - 2.D0 * XSQ2 * XXSQ2 - DDIFF = SQRT (HELP + 1.D0) - SSUM = SQRT (HELP + 1.D0 + 4.D0 * XSQ2) - ALPHA = (SSUM + DDIFF) * 0.5D0 - BETA = (SSUM - DDIFF) * 0.5D0 - IF (XXP .GT. XXT) THEN - XXP = ALPHA - XXT = BETA - ELSE - XXT = ALPHA - XXP = BETA - END IF - XP = 1.D0 - XXP - XT = 1.D0 - XXT -* | | | | | -* | | | | +-------------------------------------------------------* - ELSE -* | | | | +-------------------------------------------------------* -* | | | | | If chain 2 is not a parjet (nnch2 .eq. 0) then the -* | | | | | paramet. xxp,xxt have to be recomputed in such a way -* | | | | | to conserve the original momentum direction and -* | | | | | modulus -* | | | | | - DDIFF = XXP - XXT - SSUM = SQRT (4.D0 * XSQ2 + DDIFF**2) - XXP = (SSUM + DDIFF) * 0.5D0 - XXT = (SSUM - DDIFF) * 0.5D0 - XP = 1.D0 - XXP - XT = 1.D0 - XXT - XXSQ = SQRT (XP * XT) - AMCH2 = XXSQ * UMO - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | end kinematics correction -* | | | +----------------------------------------------------------* - -32137 CONTINUE - PCH1 = UMO*(XXP - XXT)*.5D0 - ECH1 = UMO*(XXP + XXT)*.5D0 - GAMCH1 = ECH1/AMCH1 - BGCH1 = PCH1/AMCH1 - PCH2 = UMO*(XP - XT)*.5D0 - ECH2 = UMO*(XP + XT)*.5D0 - GAMCH2 = ECH2/AMCH2 - BGCH2 = PCH2/AMCH2 - GO TO 34 -* | | | end kin. sel. meson proj. (abaryon target), isam3 = 2 -* | | +-->-->-->-->-->-->-->-->-->--> go to 34 - -* | | +--<--<--<--<--<--<--<--<--<--< here from jump # 12 -* | | | -3227 CONTINUE -C=============================================================== -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON ANTINUCLEON -C*** SHORT AQ(XP)-Q(XT) CHAIN -C -C================================================================ - IIFB = IABS(IFB) - IBPS = IMPS(IIFB,IFF) - IBV = IMVE(IIFB,IFF) - AMBPS = AM(IBPS) - AMBV = AM(IBV) - NNCH2 = 0 - AMBB = AMBV + 0.3D0 -* | | | here we are using xp,xt for jet # 2 - XXSQ = SQRT(XP*XT) - AMCH2 = UMO*XXSQ - AAPS = IBPS - AAV = IBV -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AAPS,AAV,AMBPS,AMBV - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH2 .LT. AMBPS) GO TO 25 -* | | | | if amch2 < ambps xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH2 .GT. AMBV) GO TO 32217 -C*** PRODUCE AMBPS - AMCH2 = AMBPS - NNCH2 = -1 - XXSQ = AMBPS/UMO - XT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 32237 - XXT = 1.D0 - XT - GO TO 32237 -32217 CONTINUE - IF (AMCH2 .GT. AMBB) GO TO 32237 -C*** PRODUCE AMBV - AMCH2 = AMBV - NNCH2 = 1 - XXSQ = AMBV/UMO - XT = XXSQ**2/XP -*or IF (INUCVT .EQ. 1) GO TO 32237 - XXT = 1.D0 - XT - -C PCH1=UMO*(XXP-XXT)*.5D0 -C ECH1=UMO*(XXP+XXT)*.5D0 -C GAMCH1=ECH1/AMCH1 -C BGCH1=PCH1/AMCH1 -C GO TO 32237 - -32237 CONTINUE - GO TO 32597 -* | | | -* | | +-->-->-->-->-->-->-->-->-->--> jump # 13 to 32597 - -* | | +-------------------------------------------------------------* -* | | | meson projectile, antibaryon target, isam = 1 -* | | | -3217 CONTINUE -C================================================================= -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C*** MESON ANTINUCLEUS -C*** BACKWARD QUARK- ANTIQUARK CHAIN -C -C================================================================= -32507 CONTINUE -C===================================================================== -C -C MESON ANTINUCLEON -C*** BACKWARD Q(XP)-AQ(XT) CHAIN -C -C==================================================================== - IIBB = IABS(IBB) - IFPS = IMPS(IIBB,IBF) - IFV = IMVE(IIBB,IBF) - AMFPS = AM(IFPS) - AMFV = AM(IFV) - NNCH1 = 0 - AMFF = AMFV + 0.3D0 -* | | | here we are using xp,xt for jet # 1 - XSQ = SQRT(XP*XT) - AMCH1 = UMO*XSQ - AAPS = IFPS - AAV = IFV -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AAPS,AAV,AMFPS,AMFV - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH1 .LT. AMFPS) GO TO 25 -* | | | | if amch1 < amfps xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH1 .GT. AMFV) GO TO 32517 -C*** PRODUCE AMFPS - AMCH1 = AMFPS - NNCH1 = -1 - XSQ = AMFPS/UMO - XP = XSQ**2/XT - XXP = 1.D0 - XP - GO TO 32537 -32517 CONTINUE - IF (AMCH1 .GT. AMFF) GO TO 32537 -C*** PRODUCE AMFV - AMCH1 = AMFV - NNCH1 = 1 - XSQ = AMFV/UMO - XP = XSQ**2/XT - XXP = 1.D0 - XP - GO TO 32537 -32537 CONTINUE - GO TO 3267 -3267 CONTINUE -C***FORWARD AQ(XXP)-AQAQ(XXT) CHAIN - CALL BKLASS(IFF,IFB1,IFB2,IB8,IBIO) - AMB8 = AM(IB8) - AMB10 = AM(IBIO) - NNCH2 = 0 - AMBB = AMB10 + 0.3D0 -C=================================================================== -C -C*** KINEMATICAL PARAMETERS OF BOTH CHAINS IN CMS -C MESON ANTINUCLEON -C*** FORWARD ANTIQUARK -ANTIDIQUARK CHAIN -C -C==================================================================== -* | | | here we are using xxp,xXt for jet # 2 - XXSQ = SQRT(XXP*XXT) - AMCH2 = UMO*XXSQ - AA8 = IB8 - AA10 = IBIO -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XSQ,AMCH1,AMCH2 -*or & ,AA8,AA10,AMB8,AMB10 - -* | | | +----------------------------------------------------------* -* | | | | - IF (AMCH2 .LT. AMB8 ) GO TO 25 -* | | | | if amch2 < amb8 xp and xt are resampled -* | | | +-->-->-->-->-->-->-->-->-->--> xp, xt resampling - - IF (AMCH2 .GT. AMB10) GO TO 32617 -C*** PRODUCE AMB8 - AMCH2 = AMB8 - NNCH2 = -1 - XXSQ = AMB8/UMO -*or IF (INUCVT .EQ. 1) GO TO 32637 - GO TO 32636 -32617 CONTINUE - IF (AMCH2 .GT. AMBB) GO TO 32637 -C*** PRODUCE AMB10 - AMCH2 = AMB10 - NNCH2 = 1 - XXSQ = AMB10/UMO -*or IF (INUCVT .EQ. 1) GO TO 32637 - -C PCH1=UMO*(XXP-XT)*.5D0 -C ECH1=UMO*(XXP+XT)*.5D0 -C GAMCH1=ECH1/AMCH1 -C BGCH1=PCH1/AMCH1 -* Here there was a "large" mistake in the old Hadevt!!! - GO TO 32636 -* | | | +----------------------------------------------------------* -* | | | | Here adjusting kinematics!!!!! -* | | | | Now, chain 2 is a single particle jet, so we have to -* | | | | reset the kinematical parameters xp, xxp, xt and xxt -* | | | | -32636 CONTINUE - XXSQ2 = XXSQ * XXSQ -* | | | | +-------------------------------------------------------* -* | | | | | If also chain 1 is a parjet (nnch1 .ne. 0) then the -* | | | | | param. to be recomputed are xxp and xxt, from alpha -* | | | | | and beta, in such a way to conserve the original -* | | | | | momentum direction -* | | | | | - IF (NNCH1 .NE. 0) THEN - XSQ2 = XSQ * XSQ - HELP = XSQ2 * (XSQ2 - 2.D0) + XXSQ2 * - & (XXSQ2 - 2.D0) - 2.D0 * XSQ2 * XXSQ2 - DDIFF = SQRT (HELP + 1.D0) - SSUM = SQRT (HELP + 1.D0 + 4.D0 * XXSQ2) - ALPHA = (SSUM + DDIFF) * 0.5D0 - BETA = (SSUM - DDIFF) * 0.5D0 - IF (XXP .GT. XXT) THEN - XXP = ALPHA - XXT = BETA - ELSE - XXT = ALPHA - XXP = BETA - END IF - XP = 1.D0 - XXP - XT = 1.D0 - XXT -* | | | | | -* | | | | +-------------------------------------------------------* - ELSE -* | | | | +-------------------------------------------------------* -* | | | | | If chain 1 is not a parjet (nnch1 .eq. 0) then the -* | | | | | paramet. xxp,xxt have to be recomputed in such a way -* | | | | | to conserve the original momentum direction and -* | | | | | modulus -* | | | | | - DDIFF = XXP - XXT - SSUM = SQRT (4.D0 * XXSQ2 + DDIFF**2) - XXP = (SSUM + DDIFF) * 0.5D0 - XXT = (SSUM - DDIFF) * 0.5D0 - XP = 1.D0 - XXP - XT = 1.D0 - XXT - XSQ = SQRT (XP * XT) - AMCH1 = XSQ * UMO - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | end kinematics correction -* | | | +----------------------------------------------------------* - -32637 CONTINUE - PCH1 = UMO*(XP - XT)*.5D0 - ECH1 = UMO*(XP + XT)*.5D0 - GAMCH1 = ECH1/AMCH1 - BGCH1 = PCH1/AMCH1 - PCH2 = UMO*(XXP - XXT)*.5D0 - ECH2 = UMO*(XXP + XXT)*.5D0 - GAMCH2 = ECH2/AMCH2 - BGCH2 = PCH2/AMCH2 - GO TO 34 -* | | | end kin. sel. meson proj. (abaryon target), isam3 = 1 -* | | +-->-->-->-->-->-->-->-->-->--> go to 34 -* | +----------------------------------------------------------------* - 34 CONTINUE -* | end of kinematical selections!!!!!!!!! -* +-------------------------------------------------------------------* -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)XP,XT,XXP,XXT -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,103)AMCH1,AMCH2,PCH1,PCH2, -*or &ECH1,ECH2,GAMCH1,GAMCH2,BGCH1,BGCH2 -C -C******************************************************************** -C -C*** MC SAMPLING OF FORWARD CHAIN -C -C******************************************************************** -C - IF (IBPROJ) 41,42,43 -C================================================================== -C FORWARD CHAIN OF ANTIBARYON BARYON -C================================================================== - 41 CONTINUE - IF (NNCH1) 4111,4112,4113 -4111 CONTINUE - ICH1 = IFPS - GO TO 4114 -4113 CONTINUE - ICH1 = IFV - GO TO 4114 -4112 CONTINUE - IF (IOPBAM .EQ. 5) THEN - IAIFF1 = IABS(IFF1) + 6 - IAIFF2 = IABS(IFF2) + 6 -*or IF (IPRI .EQ. 1)WRITE(LUNOUT,991)IFB1,IFB2,IAIFF1 -*or 991 FORMAT (' BAMJEV 4112',5I5) - CALL BAMJEV(IHAD,IFB1,IFB2,IAIFF1,IAIFF2,AMCH1,5) - ELSE - IAIFF = IABS(IAIFF) + 6 - CALL BAMJEV(IHAD,IFB,IAIFF,IFB,IFB,AMCH1,IOPBAM) - END IF - GO TO 4115 -4114 CONTINUE -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,992)ICH1 -*or 992 FORMAT (' PARJET 4114 ',5I5) - CALL PARJET(IHAD,ICH1) -4115 CONTINUE -C -C -C -C CALL DECAY(IHAD,2) - GO TO 44 -42 CONTINUE -C===================================================================== -C*** FORWARD CHAIN OF MESON NUCLEON -C====================================================================== - IF (IBTARG) 427,428,429 - 429 CONTINUE - GO TO (421,422),ISAM3 - 421 CONTINUE - IF (NNCH1) 4211,4212,4213 -4211 CONTINUE - ICH1 = IF8 - GO TO 4214 -4213 CONTINUE - ICH1 = IFIO - GO TO 4214 -4212 CONTINUE - CALL BAMJEV(IHAD,IFF,IFB1,IFB2,IFF,AMCH1,4) - GO TO 4215 -4214 CONTINUE - CALL PARJET(IHAD,ICH1) -4215 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 44 -422 CONTINUE -C*** IFA - IFB AQ - Q EXISTIERT NICHT - IF (NNCH1) 4221,4222,4223 -4221 CONTINUE - ICH1 = IFPS - GO TO 4224 -4223 CONTINUE - ICH1 = IFV - GO TO 4224 -4222 CONTINUE - IAIFF = IABS(IFF) + 6 - CALL BAMJEV(IHAD,IFB,IAIFF,IFB,IFB,AMCH1,3) - GO TO 4225 -4224 CONTINUE - CALL PARJET(IHAD,ICH1) -4225 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 44 -C=================================================================== -C -C FORWARD CHAIN OF MESON MESON -C -C==================================================================== -C===================================================================== - 428 CONTINUE - GO TO (4218,4228),ISAM3 -4218 CONTINUE - IF (NNCH1) 42118,42128,42138 -42118 CONTINUE - ICH1 = IFPS - GO TO 42148 -42138 CONTINUE - ICH1 = IFV - GO TO 42148 -42128 CONTINUE - IAIFB = IABS(IFB) + 6 - CALL BAMJEV(IHAD,IFF,IAIFB,IFB2,IFF,AMCH1,3) - GO TO 42158 -42148 CONTINUE - CALL PARJET(IHAD,ICH1) -42158 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 44 -4228 CONTINUE -C*** IFA - IFB AQ - Q EXISTIERT NICHT - IF (NNCH1) 42218,42228,42238 -42218 CONTINUE - ICH1 = IFPS - GO TO 42248 -42238 CONTINUE - ICH1 = IFV - GO TO 42248 -42228 CONTINUE - IAIFF = IABS(IFF) + 6 - CALL BAMJEV(IHAD,IFB,IAIFF,IFB,IFB,AMCH1,3) - GO TO 42258 -42248 CONTINUE - CALL PARJET(IHAD,ICH1) -42258 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 44 -C================================================================ -C -C FORWARD CHAIN OF MESON ANTIBARYON -C -C================================================================== - 427 CONTINUE -C================================================================= -C TO BE CORRECTED -C================================================================= - GO TO (4217,4227),ISAM3 -4227 CONTINUE - IF (NNCH1) 42117,42127,42137 -42117 CONTINUE - ICH1 = IF8 - GO TO 42147 -42137 CONTINUE - ICH1 = IFIO - GO TO 42147 -42127 CONTINUE - IAIBF = IABS(IBF) + 6 - IAIBB1= IABS(IBB1) + 6 - IAIBB2= IABS(IBB2) + 6 -*or IF (IPRI.EQ.1) WRITE(LUNOUT,994)IAIBF,IAIBB1,IAIBB2 -*or 994 FORMAT(' BAMJEV 43147',5I5) - CALL BAMJEV(IHAD,IAIBF,IAIBB1,IAIBB2,IBB,AMCH1,4) - GO TO 42157 -42147 CONTINUE -*or IF (IPRI.EQ.1) WRITE(LUNOUT,993)ICH1 -*or 993 FORMAT (' PARJET 42147',5I5) - CALL PARJET(IHAD,ICH1) -42157 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 44 -4217 CONTINUE -C*** IFA - IFB AQ - Q EXISTIERT NICHT - IF (NNCH2) 42217,42227,42237 -42217 CONTINUE - ICH1 = IB8 - GO TO 42247 -42237 CONTINUE - ICH1 = IBIO - GO TO 42247 -42227 CONTINUE - IAIFF = IABS(IFF) + 6 - IAIFB1= IABS(IFB1) + 6 - IAIFB2= IABS(IFB2) + 6 -*or IF (IPRI.EQ.1) WRITE(LUNOUT,995)IAIFF,IAIFB1,IAIFB2 -*or 995 FORMAT (' BAMJEV 42227',5I5) - CALL BAMJEV(IHAD,IAIFF,IAIFB1,IAIFB2,IFB,AMCH2,4) - GO TO 42257 -42247 CONTINUE -*or IF (IPRI.EQ.1) WRITE(LUNOUT,996)ICH1 -*or 996 FORMAT ('PARJET 42247',5I5) - CALL PARJET(IHAD,ICH1) -42257 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 44 - 43 CONTINUE -C================================================================== -C*** FORWARD CHAIN OF NUCLEON NUCLEON -C=================================================================== - IF (NNCH1) 431,432,433 - 431 CONTINUE - ICH1 = IF8 - GO TO 434 - 433 CONTINUE - ICH1 = IF10 - GO TO 434 - 432 CONTINUE - CALL BAMJEV(IHAD,IFB,IFF1,IFF2,IFB,AMCH1,4) - GO TO 435 - 434 CONTINUE - CALL PARJET(IHAD,ICH1) - 435 CONTINUE -C CALL DECAY(IHAD,2) - 44 CONTINUE -C*** TURN CHAINS AROUND IF NECESSARY - IF (IBPROJ) 51,52,53 - 51 CONTINUE - GO TO 55 - 52 CONTINUE -C*** MESON NUCLEON - GO TO (521,522),ISAM3 - 521 CONTINUE - GO TO 54 - 522 CONTINUE -C*** TURN JET - GO TO 55 - 53 CONTINUE -C*** NUCLEON-NUCLEON -C*** TURN JET - GO TO 55 - 55 CONTINUE -C*** TURN JET AROUND - DO 56 I=1,IHAD - PZF(I) = -PZF(I) - 56 CONTINUE - 54 CONTINUE - IIIHAD = IHAD -C*** AND INT. CHAIN TRANSVERSE MOMENTA - B3SAVE = B3BAMJ -* This is consistent with b3bamj = 10 for an initial value of 6 - B3BAMJ = 1.666666666666667D+00 * B3BAMJ -* B3BAMJ = 5.D+00 / ( LOG10 ( 1.D+00 + ( UMO / E00 )**1.5D+00 ) -* & + 1.D+00 ) - CALL GRNDM(RNDM,2) - ES = -2.D0/(B3BAMJ**2)*LOG(RNDM(1)*RNDM(2)) - B3BAMJ = B3SAVE -* HPS = SQRT(ES*ES+2.D0*ES*AMCH1) - HPS = SQRT(ES*ES+2.D0*ES*AM(1)) - CALL SFECFE(SFE,CFE) -* -* tentative guess -* - PTXCH1 = HPS * CFE - PTYCH1 = HPS * SFE -* +-------------------------------------------------------------------* -* | Loop to establish the transverse momentum - GO TO 6171 -6170 CONTINUE - PTXCH1 = 0.75D0 * PTXCH1 - PTYCH1 = 0.75D0 * PTYCH1 -6171 CONTINUE - IHAD = IIIHAD -* | The following two cards provide momentum conservation for -* | x and y components - PTXCH2 = -PTXCH1 - PTYCH2 = -PTYCH1 - BGCH1X = PTXCH1/AMCH1 - BGCH1Y = PTYCH1/AMCH1 - ACH1 = BGCH1**2-(PTXCH1**2+PTYCH1**2)/AMCH1**2 - IF (ACH1.LE.0.D0) GO TO 6170 -* | -* +--<--<--<--<--< if Pt is too large loop again on the forward jet - BGCH2X = PTXCH2/AMCH2 - BGCH2Y = PTYCH2/AMCH2 - ACH2 = BGCH2**2-(PTXCH2**2+PTYCH2**2)/AMCH2**2 - IF (ACH2.LE.0.D0) GO TO 6170 -* | -* +--<--<--<--<--<--<--<--<--<--< if Pt is too large loop again - BGCH1Z = SQRT(ACH1) - BGCH1Z = SIGN(BGCH1Z,BGCH1) - BGCH2Z = SQRT(ACH2) - BGCH2Z = SIGN(BGCH2Z,BGCH2) - - CALL LORTRA(IHAD,1,GAMCH1,BGCH1X,BGCH1Y,BGCH1Z) -C============================================================== -C -C*** TRANSFORM FORWARD JET INTO CMS -C -C================================================================ - IHAD = IIIHAD - NAUX = IHAD -C=============================================================== -C -C*** SAMPLING OF BACKWARD CHAIN -C -C=============================================================== - IF (IBPROJ) 61,62,63 - 61 CONTINUE -C================================================================ -C BACKWARD CHAIN OF ANTINUCLEON NUCLEON -C================================================================= - IF (NNCH2) 6111,6112,6113 -6111 CONTINUE - ICH2 = IBPS - GO TO 6114 -6113 CONTINUE - ICH2 = IBV - GO TO 6114 -6112 CONTINUE - IAIBF = IABS(IBF) + 6 - CALL BAMJEV(IHAD,IBB,IAIBF,IBB,IBB,AMCH2,3) - GO TO 6115 -6114 CONTINUE - CALL PARJET(IHAD,ICH2) -6115 CONTINUE -C -C -C CALL DECAY(IHAD,2) - GO TO 64 - 62 CONTINUE -C================================================================ -C*** BACKWARD CHAIN OF MESON - BARYON -C================================================================== - IF (IBTARG) 627,628,629 - 629 CONTINUE - GO TO (621,622),ISAM3 - 621 CONTINUE - IF (NNCH2) 6211,6212,6213 -6211 CONTINUE - ICH2 = IBPS - GO TO 6214 -6213 CONTINUE - ICH2 = IBV - GO TO 6214 -6212 CONTINUE - IAIBF = IABS(IBF) + 6 - CALL BAMJEV(IHAD,IBB,IAIBF,IBB,IBB,AMCH2,3) - GO TO 6215 -6214 CONTINUE - CALL PARJET(IHAD,ICH2) -6215 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 64 -622 CONTINUE - IF (NNCH2) 6221,6222,6223 -6221 CONTINUE - ICH2 = IB8 - GO TO 6224 -6223 CONTINUE - ICH2 = IBIO - GO TO 6224 -6222 CONTINUE - CALL BAMJEV(IHAD,IBF,IBB1,IBB2,IBF,AMCH2,4) - GO TO 6225 -6224 CONTINUE - CALL PARJET(IHAD,ICH2) -6225 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 64 -C================================================================== -C -C BACKWARD CHAIN OF MESON MESON -C -C=================================================================== -C TO BE CORRECTED -C=================================================================== - 628 CONTINUE - GO TO(6218,6228),ISAM3 -6218 CONTINUE - IF (NNCH2) 62118,62128,62138 -62118 CONTINUE - ICH2 = IBPS - GO TO 62148 -62138 CONTINUE - ICH2 = IBV - GO TO 62148 -62128 CONTINUE - IAIBF = IABS(IBF) + 6 - CALL BAMJEV(IHAD,IBB,IAIBF,IBB,IBB,AMCH2,3) - GO TO 62158 -62148 CONTINUE - CALL PARJET(IHAD,ICH2) -62158 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 64 -6228 CONTINUE - IF (NNCH2) 62218,62228,62238 -62218 CONTINUE - ICH2 = IBPS - GO TO 62248 -62238 CONTINUE - ICH2 = IBV - GO TO 62248 -62228 CONTINUE - IAIBB = IABS(IBB) + 6 - CALL BAMJEV(IHAD,IBF,IAIBB,IBB2,IBF,AMCH2,3) - GO TO 62258 -62248 CONTINUE - CALL PARJET(IHAD,ICH2) -62258 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 64 -C================================================================ -C -C BACKWARD CHAIN OF MESON ANTIBARYON -C================================================================= -C TO BE CORRECTED -C================================================================= - 627 CONTINUE - GO TO(6217,6227),ISAM3 -6227 CONTINUE - IF (NNCH2) 62117,62127,62137 -62117 CONTINUE - ICH2 = IBPS - GO TO 62147 -62137 CONTINUE - ICH2 = IBV - GO TO 62147 -62127 CONTINUE - IAIFB = IABS(IFB) + 6 -*or IF (IPRI.EQ.1) WRITE(LUNOUT,997)IFF,IAIFB -*or 997 FORMAT (' BAMJEV 62127',5I5) - CALL BAMJEV(IHAD,IFF,IAIFB,IBB,IBB,AMCH2,3) - GO TO 62157 -62147 CONTINUE -*or IF (IPRI.EQ.1) WRITE(LUNOUT,998)ICH2 -*or 998 FORMAT ('PARJET 62147',5I5) - CALL PARJET(IHAD,ICH2) -62157 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 64 -6217 CONTINUE - IF (NNCH1) 62217,62227,62237 -62217 CONTINUE - ICH2 = IFPS - GO TO 62247 -62237 CONTINUE - ICH2 = IFV - GO TO 62247 -62227 CONTINUE - IAIBB = IABS(IBB) + 6 -*or IF (IPR1.EQ.1) WRITE(LUNOUT,9911)IBF,IAIBB -*or9911 FORMAT (' BAMJEV 62227',5I5) - CALL BAMJEV(IHAD,IBF,IAIBB,IAIFB2,IBF,AMCH1,3) - GO TO 62257 -62247 CONTINUE -*or IF (IPRI .EQ. 1) WRITE(LUNOUT,9912)ICH2 -*or9912 FORMAT ('PARJET 62247',5I5) - CALL PARJET(IHAD,ICH2) -62257 CONTINUE -C CALL DECAY(IHAD,2) - GO TO 64 -63 CONTINUE -C================================================================== -C*** BACKWARD CHAIN OF BARYON BARYON -C================================================================== - IF (NNCH2) 631,632,633 -631 CONTINUE - ICH2 = IB8 - GO TO 634 -633 CONTINUE - ICH2 = IBIO - GO TO 634 -632 CONTINUE - CALL BAMJEV(IHAD,IBF,IBB1,IBB2,IBF,AMCH2,4) - GO TO 635 - 634 CONTINUE - CALL PARJET(IHAD,ICH2) - 635 CONTINUE -C CALL DECAY(IHAD,2) -* -* We arrive here after jet creation: created particles are in -* /finpar/ common (there are ihad particles) -* - 64 CONTINUE -C*** TURN CHAIN AROUND IF NECESSARY - IF (IBPROJ) 71,72,73 - 71 CONTINUE - GO TO 75 - 72 CONTINUE - GO TO (721,722),ISAM3 - 721 CONTINUE -C*** TURN JET - GO TO 75 - 722 CONTINUE - GO TO 74 - 73 CONTINUE -C*** KEEP JET - GO TO 74 - 75 CONTINUE -C*** TURN JET AROUND - DO 76 I=1,IHAD - PZF(I) = -PZF(I) - 76 CONTINUE - 74 CONTINUE -C================================================================ -C -C*** TRANSFORM BACKWARD JET INTO CMS -C -C================================================================= - NAUX = NAUX+1 - - - CALL LORTRA(IHAD,NAUX,GAMCH2,BGCH2X,BGCH2Y,BGCH2Z) - NAUX = IHAD + NAUX - 1 - DO 181 I=1,NAUX - PXR(I) = PXA(I) - PYR(I) = PYA(I) - PZR(I) = PZA(I) - AMR(I) = AMA(I) - ICHR(I) = ICHA(I) - ANR(I) = ANA(I) - IBARR(I)= IBARA(I) - NRER(I) = NREA(I) - HER(I) = HEPA(I) - 181 CONTINUE - - NRES=NAUX - CALL DECAUX(NAUX,3) - - -*or IF (IPRI.EQ.1) WRITE(LUNOUT,85)(I,NREA(I),ICHA(I),IBARA(I), -*or &ANA(I)PXA(I),PYA(I),PZA(I),HEPA(I),AMA(I),I=1,NAUX) - - EVZ = 0.D0 - PVX = 0.D0 - PVY = 0.D0 - PVZ = 0.D0 - ICCU = 0 - IBBU = 0 - ISSU = 0 - LISSU = .TRUE. - -C*** TRANSFORM INTO LABSYSTEM -* +-------------------------------------------------------------------* -* | particles from /auxpar/ common are transformed back in the lab -* | system (which is actually the system of the target nucleon with -* | the projectile along the z-axis) -* | and put in /hadpar/ common -* | -* | The transformation is: -* | Elab = Ecms * gamma + ETAzlab * Pzcms -* | Pzlab = Pzcms * gamma + ETAzlab * Ecms -* | note ETAzlab = -ETAzcms!!!! -* | - DO 81 I=1,NAUX - HEPH(I) = GAMCM*HEPA(I) + BGCM*PZA(I) - PZH(I) = GAMCM*PZA(I) + BGCM*HEPA(I) - PXH(I) = PXA(I) - PYH(I) = PYA(I) - AMH(I) = AMA(I) - ICHH(I) = ICHA(I) - ANH(I) = ANA(I) - IBARH(I)= IBARA(I) - NREH(I) = NREA(I) - EVZ = EVZ + HEPH(I) - PVX = PVX + PXH(I) - PVY = PVY + PYH(I) - PVZ = PVZ + PZH(I) - ICCU = ICCU + ICHH(I) - IBBU = IBBU + IBARH(I) - IJNREH = KPTOIP ( NREH (I) ) - IF (IJNREH .LE. 0 .OR. IJNREH .GT. 39) THEN - WRITE (LUNOUT,*)' Hadevt: Ijnreh = 0, > 39 after decay!!', - & IJNREH,NREH(I),I,HEPH(I) - WRITE (LUNERR,*)' Hadevt: Ijnreh = 0, > 39 after decay!!', - & IJNREH,NREH(I),I,HEPH(I) - LISSU = .FALSE. - ELSE - DO 8011 J=1,3 - ISSU = ISSU + IQSCHR (MQUARK(J,IJNREH)) -8011 CONTINUE - END IF - 81 CONTINUE -* | -* +-------------------------------------------------------------------* - - NHAD = NAUX - ICHTOT = ICH(KPROJ) + ICH(KTARG) - IBTOT = IBPROJ + IBTARG - ISTOT = 0 - DO 8111 J=1,3 - ISTOT = ISTOT + IQSCHR(MQUARK(J,IJPROJ)) - & + IQSCHR(MQUARK(J,IJTARG)) -8111 CONTINUE -* +-------------------------------------------------------------------* -* | - IF (ICCU .NE. ICHTOT) THEN -* | write an error message and then resample!!! - WRITE(LUNOUT,*)' Hadevt: charge conservation failure: ', - & ' ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT', - & ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT - WRITE(LUNERR,*)' Hadevt: charge conservation failure: ', - & ' ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT', - & ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT - LRESMP = .TRUE. - ELSE IF (IBBU .NE. IBTOT) THEN -* | write an error message and then resample!!! - WRITE(LUNOUT,*)' Hadevt: baryon conservation failure: ', - & ' ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT', - & ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT - WRITE(LUNERR,*)' Hadevt: baryon conservation failure: ', - & ' ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT', - & ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT - LRESMP = .TRUE. - ELSE IF (ISSU .NE. ISTOT .AND. LISSU) THEN -* | write an error message and then resample!!! - WRITE(LUNOUT,*)' Hadevt: strangeness conservation failure: ', - & ' ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT', - & ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT - WRITE(LUNERR,*)' Hadevt: strangeness conservation failure: ', - & ' ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT', - & ICCU,ICHTOT,IBBU,IBTOT,ISSU,ISTOT - LRESMP = .TRUE. - ELSE - END IF -* | -* +-------------------------------------------------------------------* - EPSEPS = MAX ( 10.D+00*ANGLGB, 1.D-12 ) -* +-------------------------------------------------------------------* -* | - IF (ABS(EVZ-AMTAR-EPROJ)/(AMTAR+EPROJ) .GT. EPSEPS) THEN - ELSE IF (ABS(PVX)/PPROJ .GT. EPSEPS) THEN - ELSE IF (ABS(PVY)/PPROJ .GT. EPSEPS) THEN - ELSE IF (ABS(PVZ-PPROJ)/PPROJ .GT. EPSEPS) THEN - ELSE - GO TO 90 - END IF -* | -* +-------------------------------------------------------------------* - -C -C******************************************************************** -C -C*** PRINT AND TEST ENERGY CONSERVATION -C -C******************************************************************** -C -*or PVZ = 0.D0 -*or EVZ = 0.D0 -*or PVX = 0.D0 -*or PVY = 0.D0 -*or ICCU = 0 -*or IBBU = 0 -*or DO 82 I=1,NHAD -*or PVX = PVX + PXH(I) -*or PVY = PVY + PYH(I) -*or PVZ = PVZ + PZH(I) -*or EVZ = EVZ + HEPH(I) -*or ICCU = ICCU + ICHH(I) -*or IBBU = IBBU + IBARH(I) -*or 82 CONTINUE -*or IF (IBTOT .NE. IBBU) GO TO 9999 -*or IF (ICHTOT .NE. ICCU) GO TO 9999 -*or IF (ABS(PVX).GE.0.01D0) GO TO 9999 -*or IF (ABS(PVY).GE.0.01D0) GO TO 9999 -*or IF ((PVZ.GT.1.02D0*PPROJ).OR.(PVZ.LT.0.98D0*PPROJ)) GO TO 9999 -*or IF (IPRI.NE.1) GO TO 90 -9999 CONTINUE -* -* If a failure occured the event is resampled!!! -* - GO TO 8899 -*or IF (IPRI.EQ.0) GO TO 8899 -*or WRITE(LUNOUT,83)NHAD,KPROJ,KTARG,PPROJ,EPROJ,PVX,PVY,PVZ,EVZ, -*or &ICCU,IBBU,NHAD -*or 83 FORMAT (3I5,6F12.6,3I5) -*or DO 84 I=1,NHAD -*or WRITE(LUNOUT,85)I,NREH(I),ICHH(I),IBARH(I),ANH(I),PXH(I), -*or & PYH(I),PZH(I),HEPH(I),AMH(I) -*or 85 FORMAT (4I5,A8,5F12.6) -*or 84 CONTINUE -* -* If a failure occured the event is resampled!!! -* -*or IF (IPRI.EQ.0)GO TO 8899 - - 90 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/hadrin.F b/StarVMC/geant3/fluka/hadrin.F deleted file mode 100644 index 8bc2e13c1f4..00000000000 --- a/StarVMC/geant3/fluka/hadrin.F +++ /dev/null @@ -1,484 +0,0 @@ -* -* $Id: hadrin.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: hadrin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE HADRIN.FOR -*COPY HADRIN -* -*=== hadrin ===========================================================* -* -* -*----------------------------------------------------------------------* -* hadrin89: slight modifications by A. Ferrari -*----------------------------------------------------------------------* -* - SUBROUTINE HADRIN (N,PLAB,ELAB,CX,CY,CZ,ITTA) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -#include "geant321/metlsp.inc" -#include "geant321/finlsp.inc" - PARAMETER ( AMPROT = 0.93827231D+00 ) -* -#include "geant321/reac.inc" -#include "geant321/redver.inc" -#include "geant321/split.inc" -* -**** INTEGER*2ICH,IBAR,K1,K2,NZK,NRK,IEII,IKII,NURE - COMMON / FKGAMR / REDU, AMO, AMM (15) -C - COMMON / FKABLT / AM (110), GA (110), TAU (110), ICH (110), - & IBAR (110), K1 (110), K2 (110) - COMMON / FKCODS / COD1, COD2, COD3, COF1, COF2, COF3, SIF1, SIF2, - & SIF3, ECM1, ECM2, ECM3, PCM1, PCM2, PCM3 - COMMON / FKRUN / RUNTES, EFTES -* - SAVE UMODA, ITPRF, NNN - DIMENSION ITPRF(110) - REAL RNDM(1) - DATA NNN/0/ - DATA UMODA/0.D0/ - DATA ITPRF/-1,-1,5*1,-1,-1,1,1,1,-1,-1,-1,-1,6*1,-1,-1,-1,85*1/ -C -C----------------------------- -C*** INPUT VARIABLES LIST: -C*** SAMPLING OF HADRON NUCLEON INTERACTION FOR (ABOUT) 0.1 LE PLAB LE 6 -C*** GEV/C LABORATORY MOMENTUM REGION -C*** N - PROJECTILE HADRON INDEX -C*** PLAB - LABORATORY MOMENTUM OF N (GEV/C) -C*** ELAB - LABORATORY ENERGY OF N (GEV) -C*** CX,CY,CZ - DIRECTION COSINES OF N IN THE LABORATORY SYSTEM -C*** ITTA - TARGET NUCLEON INDEX -C*** OUTPUT VARIABLES LIST OF PARTICLE CHARACTERISTICS IN /FINLSP/ -C IR COUNTS THE NUMBER OF PRODUCED PARTICLES -C*** ITR - PARTICLE INDEX, CXR,CYR,CZR - DIRECTION COSINES (LAB. SYST.) -C*** ELR,PLR LAB. ENERGY AND LAB. MOMENTUM OF THE SAMPLED PARTICLE -C*** RESPECT., UNITS (GEV/C AND GEV) -C---------------------------- - LOWP=0 - IF (ITPRF( N ).LT.0) GO TO 99999 - WRITE(LUNOUT,99998) N -* STOP Commented out A. Fasso' 1989 - IR=0 - RETURN -99998 FORMAT (3(5H ****/), - *45H FALSE USE OF THE PARTICLE TYPE INDEX, VALUE ,I4,3(5H ****/)) -99999 CONTINUE - IATMPT=0 - IF (ABS(PLAB-5.D0).GE.4.99999D0) THEN - WRITE(LUNOUT,99996) PLAB -* STOP Commented out A. Fasso' 1989 - IR=0 - RETURN -99996 FORMAT (3(5H ****/),64 - *H PROJECTILE HADRON MOMENTUM OUTSIDE OF THE ALLOWED REGION, PLAB=, - *1E15.5/,3(5H ****/)) - END IF - UMODAT=N*1.11111D0+ITTA*2.19291D0 - IF (UMODAT.NE.UMODA.OR.(AMPROT-AM(1)).GT.1.D-6)CALL CALUMO(N,ITTA) - UMODA=UMODAT - 1009 CONTINUE - IATMPT=0 - LOWP=LOWP+1 - 1000 CONTINUE - IMACH=0 - REDU=2.D0 - IW1=0 - IF (LOWP.GT.20) GO TO 8 - NNN=N - IF (NNN.EQ.N) GO TO 4322 - RUNTES=0.D0 - EFTES=0.D0 - 4322 CONTINUE - IS=1 - IR=0 - IST=1 - NSTAB=25 - IF ( ITTA .EQ. 1 ) THEN - IRE=NURE(N,1) - ELSE - IRE=NURE(N,2) - END IF -C -C----------------------------- -C*** IE,AMT,ECM,SI DETERMINATION -C---------------------------- - CALL FKSIGI(IRE,PLAB,N,IE,AMT,AMN,ECM,SI,ITTA) - IF ( AMPROT - AM(1) .GT. 1.D-6 ) THEN - IANTH = 1 - SI = 1.D0 - ELSE - IANTH = -1 - END IF - ECMMH=ECM -C -C----------------------------- -C ENERGY INDEX -C IRE CHARACTERIZES THE REACTION -C IE IS THE ENERGY INDEX -C---------------------------- - IF (SI.LT.1.D-6) GO TO 8 - IF (N .LE.NSTAB) GO TO 1 - RUNTES=RUNTES+1.D0 - IF (RUNTES.LT.20.D0) WRITE(LUNOUT,602)N - 602 FORMAT(3H N=,I10,30H THE PROEKTILE IS A RESONANCE ) - IF(IBAR(N).EQ.1) N=8 - IF(IBAR(N).EQ.-1) N=9 - 1 CONTINUE - IMACH=IMACH+1 - IF (IMACH.GT.10) GO TO 8 - ECM =ECMMH - AMN2=AMN**2 - AMT2=AMT**2 - ECMN=(ECM**2+AMN2-AMT2)/(2.D0*ECM) - IF(ECMN.LE.AMN) ECMN=AMN - PCMN=SQRT(ECMN**2-AMN2) - GAM=(ELAB+AMT)/ECM - BGAM=PLAB/ECM - IF (IANTH.GE.0) ECM=2.1D0 -C -C----------------------------- -C*** RANDOM CHOICE OF REACTION CHANNEL -C---------------------------- - IST=0 - CALL GRNDM(RNDM,1) - VV = RNDM (1) -C -C----------------------------- -C*** PLACE REDUCED VERSION -C---------------------------- - IIEI=IEII(IRE) - IDWK=IEII(IRE+1)-IIEI - IIWK=IRII(IRE) - IIKI=IKII(IRE) -C -C----------------------------- -C*** SHRINKAGE TO THE CONSIDERED ENERGY REGION FOR THE USE OF WEIGHTS -C---------------------------- - HECM=ECM -* The following cards assure that Ecm =< Umax + DUmax for this reaction -* where: -* Umax = max cms energy at which data are tabulated -* DUmax = width of the last interval for the tabulated data - HUMO=2.D0*UMO(IIEI+IDWK)-UMO(IIEI+IDWK-1) - IF (HUMO.LT.ECM) ECM=HUMO -C -C----------------------------- -C*** INTERPOLATION PREPARATION -C---------------------------- -* Cms energy of the upper limit of the considered energy interval - ECMO=UMO(IE) -* Cms energy of the lower limit of the considered energy interval - ECM1=UMO(IE-1) -* Width of the considered interval - DECM=ECMO-ECM1 -* Width from actual value to the upper limit (note that if Ecm > Ecmo -* it can be negative but its | | is always less than decm for the -* above condition on Humo - DEC=ECMO-ECM -C -C----------------------------- -C*** RANDOM LOOP -C---------------------------- -* Ik : index of the exit channel - IK=0 - VFW=VV - WKK=0.D+00 - WICOR=0.D+00 - 111 CONTINUE - IK=IK+1 -* Save the weight accumulated up to now - VFWO=WKK -* Get the index for the weight of ikth channel at ieth energy (upper -* limit of the interval in energy) - IWK=IIWK+(IK-1)*IDWK+IE-IIEI -* Cumulative Weight of channels 1...ik at energy Ie - WOK=WK(IWK) -* Difference for the cumulative weight of channels 1...ik at Ie and Ie-1 - WDK=WOK-WK(IWK-1) -* This card is not clear at all, it should zeroes the weight difference -* if we are in the first interval (that means take only the weights -* at the upper boundary of the interval) - IF (PLAB.LT.PLABF(IIEI+2)) WDK=0.D+00 -C -C----------------------------- -C*** TESTVARIABLE WICO/WICOR: IF CHANNEL IK HAS THE SAME WEIGHTS LIKE IK -C GO TO NEXT CHANNEL, BECAUSE WKK((IK))-WKK((IK-1))=0, IK CAN NOT -C CONTRIBUTE -C---------------------------- - WICO=WOK*1.23459876D0+WDK*1.735218469D0 - IF (WICO.EQ.WICOR) GO TO 111 -* This card zeroes the weight difference if we are beyond the last -* interval - IF (UMO(IIEI+IDWK).LT.HECM) WDK=0.D+00 -* Save wico - WICOR=WICO -C -C----------------------------- -C*** INTERPOLATION IN CHANNEL WEIGHTS -C---------------------------- -* Set Eklim to a negative value to flag for Iefun it is a -* cms energy and not a lab momentum: this is the cms threshold -* for the exit channel ik - EKLIM=-THRESH(IIKI+IK) -* Iefun returns the energy index of upper limit of the interval -* containing the threshold - IELIM=IEFUN(EKLIM,IRE) -* Compute the difference between the upper limit and the -* threshold - DELIM=UMO(IELIM)+EKLIM+ANGLSQ -* Dete is twice the difference between the actual energy value and -* the average value between Ecmo and the threshold - DETE=(ECM-(ECMO-EKLIM)*.5D0)*2.D0 - IF ( DELIM*DELIM-DETE*DETE .GT. 0.D+00 ) THEN - DECC=DELIM - ELSE - DECC=DECM - END IF - WKK=WOK-WDK*DEC/(DECC+ANGLSQ) -C -C----------------------------- -C*** RANDOM CHOICE -C---------------------------- -C - IF (VV.GT.WKK) GO TO 111 -C -C***IK IS THE REACTION CHANNEL -C---------------------------- - INRK=IKII(IRE)+IK - ECM=HECM - I1001 =0 -C - 1001 CONTINUE - IT1=NRK(1,INRK) - AM1=AMGA(IT1) - IT2=NRK(2,INRK) - AM2=AMGA(IT2) - AMS=AM1+AM2 - I1001=I1001+1 - IF (I1001.GT.50) GO TO 1 -C - IF (IT2*AMS.GT.IT2*ECM) GO TO 1001 - IT11=IT1 - IT22=IT2 - IF (IANTH.GE.0) ECM=ELAB+AMT+0.00000001D0 - AM11=AM1 - AM22=AM2 - IF (IT2.GT.0) GO TO 401 -C -C----------------------------- -C INCLUSION OF DIRECT RESONANCES -C RANDOM CHOICE OF DECAY CHANNELS OF THE DIRECT RESONANCE IT1 -C------------------------ - KZ1=K1(IT1) - IST=IST+1 - IECO=0 -* Here was the mistake in the pseudo-masses treatment!!!!! -* ECO=ECM - ECO=ECMMH - GAM=(ELAB+AMT)/ECO - BGAM=PLAB/ECO - CXS(1)=CX - CYS(1)=CY - CZS(1)=CZ - GO TO 310 - 401 CONTINUE - CALL GRNDM(RNDM,1) - IF ( RNDM(1) .LT. 0.5D0) GO TO 902 - IT1=IT22 - IT2=IT11 - AM1=AM22 - AM2=AM11 - 902 CONTINUE -C -C----------------------------- -C THE FIRST PARTICLE IS DEFINED TO BE THE FORWARD GOING ONE AT SMALL T - IBN=IBAR(N) - IB1=IBAR(IT1) - IT11=IT1 - IT22=IT2 - AM11=AM1 - AM22=AM2 - IF(IB1.EQ.IBN) GO TO 901 - IT1=IT22 - IT2=IT11 - AM1=AM22 - AM2=AM11 - 901 CONTINUE -C----------------------------- -C***IT1,IT2 ARE THE CREATED PARTICLES -C***MOMENTA AND DIRECTION COSINA IN THE CM - SYSTEM -C------------------------ - CALL TWOPAR(ECM1,ECM2,PCM1,PCM2,COD1,COD2,COF1,COF2,SIF1,SIF2, - *IT1,IT2,ECM,ECMN,PCMN,N,AM1,AM2) - IST=IST+1 - ITS(IST)=IT1 - AMM(IST)=AM1 -C -C----------------------------- -C***TRANSFORMATION INTO LAB SYSTEM AND ROTATION -C---------------------------- - CALL TRAFO(GAM,BGAM,CX,CY,CZ,COD1,COF1,SIF1,PCM1,ECM1,PLS(IST), - *CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IST=IST+1 - ITS(IST)=IT2 - AMM(IST)=AM2 - CALL TRAFO(GAM,BGAM,CX,CY,CZ,COD2,COF2,SIF2,PCM2,ECM2,PLS(IST),CXS - *(IST),CYS(IST),CZS(IST),ELS(IST)) - 200 CONTINUE -C -C----------------------------- -C***TEST STABLE OR UNSTABLE -C---------------------------- - IF(ITS(IST).GT.NSTAB) GO TO 300 - IR=IR+1 -C -C----------------------------- -C***IR IS THE NUMBER OF THE FINAL STABLE PARTICLE -C---------------------------- - IF (REDU.LT.0.D0) GO TO 1009 - ITR(IR)=ITS(IST) - PLR(IR)=PLS(IST) - CXR(IR)=CXS(IST) - CYR(IR)=CYS(IST) - CZR(IR)=CZS(IST) - ELR(IR)=ELS(IST) - IST=IST-1 - IF(IST.GE.1) GO TO 200 - GO TO 500 - 300 CONTINUE -C -C RANDOM CHOICE OF DECAY CHANNELS -C---------------------------- -C - IT=ITS(IST) - ECO=AMM(IST) - GAM=ELS(IST)/ECO - BGAM=PLS(IST)/ECO - IECO=0 - KZ1=K1(IT) - 310 CONTINUE - IECO=IECO+1 - CALL GRNDM(RNDM,1) - VV=RNDM(1) - IIK=KZ1-1 - 301 CONTINUE - IIK=IIK+1 - IF (VV.GT.WT(IIK)) GO TO 301 -C -C IIK IS THE DECAY CHANNEL -C---------------------------- - IT1=NZK(IIK,1) - I310=0 - 1310 CONTINUE - I310=I310+1 - AM1=AMGA(IT1) - IT2=NZK(IIK,2) - AM2=AMGA(IT2) - IF (IT2-1.LT.0) GO TO 110 - IT3=NZK(IIK,3) - AM3=AMGA(IT3) - AMS=AM1+AM2+AM3 -C -C IF IIK-KIN.LIM.GT.ACTUAL TOTAL CM-ENERGY, DO AGAIN RANDOM IIK-CHOICE -C---------------------------- - IF (IECO.LE.10) GO TO 1002 - IATMPT=IATMPT+1 -* Note: we can go to 8 also for too many iterations - IF (IATMPT.GT.3) GO TO 8 - GO TO 1000 - 1002 CONTINUE - IF (I310.GT.50) GO TO 310 - IF (AMS.GT.ECO) GO TO 1310 -C -C FOR THE DECAY CHANNEL -C IT1,IT2, IT3 ARE THE PRODUCED PARTICLES FROM IT -C---------------------------- - IF (REDU.LT.0.D0) GO TO 1009 - ITWTHC=0 - REDU=2.D0 - IF(IT3.EQ.0) GO TO 400 - 4001 CONTINUE - ITWTH=1 - CALL THREPD(ECO,ECM1,ECM2,ECM3,PCM1,PCM2,PCM3,COD1,COF1,SIF1, - *COD2,COF2,SIF2,COD3,COF3,SIF3,AM1,AM2,AM3) - GO TO 411 - 400 CONTINUE - CALL TWOPAD(ECO,ECM1,ECM2,PCM1,PCM2,COD1,COF1,SIF1,COD2,COF2,SIF2, - *AM1,AM2) - ITWTH=-1 - IT3=0 - 411 CONTINUE - ITWTHC=ITWTHC+1 - IF (REDU.GT.0.D0) GO TO 110 - REDU=2.D0 - IF (ITWTHC.GT.100) GO TO 1009 - IF (ITWTH) 400,400,4001 - 110 CONTINUE - ITS(IST )=IT1 - IF (IT2-1.LT.0) GO TO 305 - ITS(IST+1) =IT2 - ITS(IST+2)=IT3 - RX=CXS(IST) - RY=CYS(IST) - RZ=CZS(IST) - AMM(IST)=AM1 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD1,COF1,SIF1,PCM1,ECM1, - *PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IST=IST+1 - AMM(IST)=AM2 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD2,COF2,SIF2,PCM2,ECM2, - *PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IF (IT3.LE.0) GO TO 305 - IST=IST+1 - AMM(IST)=AM3 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD3,COF3,SIF3,PCM3,ECM3, - *PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - 305 CONTINUE - GO TO 200 - 500 CONTINUE - 631 CONTINUE - RETURN - 8 CONTINUE -C -C---------------------------- -C -C ZERO CROSS SECTION CASE -C -C---------------------------- -C - IR=1 - ITR(1)=N - CXR(1)=CX - CYR(1)=CY - CZR(1)=CZ - ELR(1)=ELAB - PLR(1)=PLAB - RETURN - END diff --git a/StarVMC/geant3/fluka/hadriv.F b/StarVMC/geant3/fluka/hadriv.F deleted file mode 100644 index 25fd1af71d4..00000000000 --- a/StarVMC/geant3/fluka/hadriv.F +++ /dev/null @@ -1,682 +0,0 @@ -* -* $Id: hadriv.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: hadriv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.43 by S.Giani -*-- Author : -*$ CREATE HADRIV.FOR -*COPY HADRIV -* -*=== hadriv ===========================================================* -* -* -*----------------------------------------------------------------------* -* * -* Modified version of Hadrin created by Alfredo Ferrari, INFN-Milan * -* * -* Last change on 20-jun-92 by Alfredo Ferrari, INFN - MIlan * -* * -* hadriv: this is a modified version of Hadrin, used by the Eventv * -* package for hadron-hadron interactions below 5 GeV * -* * -*----------------------------------------------------------------------* -* - SUBROUTINE HADRIV ( N, PLAB, ELAB, CX, CY, CZ, ITTA ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/finlsp.inc" -#include "geant321/hadflg.inc" -#include "geant321/metlsp.inc" -#include "geant321/reac.inc" -#include "geant321/redver.inc" -#include "geant321/split.inc" -* - COMMON / FKGAMR / REDU, AMO, AMM (15) -C - COMMON / FKABLT / AM (110), GA (110), TAU (110), ICH (110), - & IBAR (110), K1 (110), K2 (110) - COMMON / FKCODS / COD1, COD2, COD3, COF1, COF2, COF3, SIF1, SIF2, - & SIF3, ECM1, ECM2, ECM3, PCM1, PCM2, PCM3 - COMMON / FKRUN / RUNTES, EFTES -* - PARAMETER ( AMPROT = 0.93827231D+00 ) - DIMENSION WCHANN (40), WCUMCH (0:40), IKIK (40) - DIMENSION ITPRF(110) - REAL RNDM(1) - LOGICAL LSWAP -* - SAVE IKIK,ITPRF - DATA NNN / 0 / - DATA IKIK / 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, - & 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 / - DATA ITPRF/-1,-1,5*1,-1,-1,1,1,1,-1,-1,-1,-1,6*1,-1,-1,-1,85*1/ -C -C----------------------------- -C*** INPUT VARIABLES LIST: -C*** SAMPLING OF HADRON NUCLEON INTERACTION FOR (ABOUT) 0.1 LE PLAB LE 6 -C*** GEV/C LABORATORY MOMENTUM REGION -C*** N - PROJECTILE HADRON INDEX -C*** PLAB - LABORATORY MOMENTUM OF N (GEV/C) -C*** ELAB - LABORATORY ENERGY OF N (GEV) -C*** CX,CY,CZ - DIRECTION COSINES OF N IN THE LABORATORY SYSTEM -C*** ITTA - TARGET NUCLEON INDEX -C*** OUTPUT VARIABLES LIST OF PARTICLE CHARACTERISTICS IN /FINLSP/ -C IR COUNTS THE NUMBER OF PRODUCED PARTICLES -C*** ITR - PARTICLE INDEX, CXR,CYR,CZR - DIRECTION COSINES (LAB. SYST.) -C*** ELR,PLR LAB. ENERGY AND LAB. MOMENTUM OF THE SAMPLED PARTICLE -C*** RESPECT., UNITS (GEV/C AND GEV) -C---------------------------- - LOWP=0 - IF (ITPRF( N ).LT.0) GO TO 99999 - WRITE(LUNOUT,99998) N -* STOP Commented out A. Fasso' 1989 - IR=0 - RETURN -99998 FORMAT (3(5H ****/), - *45H FALSE USE OF THE PARTICLE TYPE INDEX, VALUE ,I4,3(5H ****/)) -99999 CONTINUE - IATMPT=0 - IF (ABS(PLAB-5.D0).GE.4.99999D0) THEN - WRITE(LUNOUT,99996) PLAB -* STOP Commented out A. Fasso' 1989 - IR=0 - RETURN -99996 FORMAT (3(5H ****/),64 - *H PROJECTILE HADRON MOMENTUM OUTSIDE OF THE ALLOWED REGION, PLAB=, - *1E15.5/,3(5H ****/)) - END IF - INEWHD = N + 1000 * ITTA - IF ( INEWHD .NE. IOLDHD ) THEN - CALL CALUMV (N,ITTA) - ELSE IF ( (AMPROT-AM(1)) .GT. 1.D-6 ) THEN - CALL CALUMV (N,ITTA) - INEWHD = - INEWHD - END IF - IOLDHD = INEWHD - 1009 CONTINUE - IATMPT=0 - LOWP=LOWP+1 - 1000 CONTINUE - IMACH=0 - REDU=2.D0 - IW1=0 - IF (LOWP.GT.20) GO TO 8 - NNN=N -* +-------------------------------------------------------------------* -* | The following condition is never verified - IF (NNN.NE.N) THEN - RUNTES=0.D0 - EFTES=0.D0 - END IF -* | -* +-------------------------------------------------------------------* - IS=1 - IR=0 - IST=1 - NSTAB=25 -* +-------------------------------------------------------------------* -* | Select the reaction channel Ire: proton target - IF ( ITTA .EQ. 1 ) THEN - IRE = NURE(N,1) -* | -* +-------------------------------------------------------------------* -* | neutron target - ELSE - IRE = NURE(N,2) - END IF -* | -* +-------------------------------------------------------------------* -* Elastic scattering index: - IELSCT = MIN (N,ITTA) + 1000 * MAX (N,ITTA) -C -C----------------------------- -C*** IE,AMT,ECM,SI DETERMINATION -C---------------------------- - CALL FKSIGI(IRE,PLAB,N,IE,AMT,AMN,ECM,SI,ITTA) -* +------------------------------------------------------------------* -* | Check if masses have been changed for annihilation treated with -* | pseudo masses - IF ( AMPROT - AM(1) .GT. 1.D-6 ) THEN - IANTH = 1 - SI = 1.D0 -* | -* +------------------------------------------------------------------* -* | - ELSE - IANTH = -1 - END IF -* | -* +------------------------------------------------------------------* - ECMMH=ECM -C -C----------------------------- -C ENERGY INDEX -C IRE CHARACTERIZES THE REACTION -C IE IS THE ENERGY INDEX -C---------------------------- - IF (SI.LT.1.D-10) GO TO 8 -* The following condition should be always verified - IF (N .LE.NSTAB) GO TO 1 - RUNTES=RUNTES+1.D0 - IF (RUNTES.LT.20.D0) WRITE(LUNOUT,602)N - 602 FORMAT(3H N=,I10,30H THE PROEKTILE IS A RESONANCE ) - IF(IBAR(N).EQ.1) N=8 - IF(IBAR(N).EQ.-1) N=9 -* **** Come here ( 1 continue ) every time we unsuccessfully selected -* for more than 50 times the mass of the produced resonaces **** - 1 CONTINUE - IMACH=IMACH+1 - IF (IMACH.GT.10) GO TO 8 - ECM =ECMMH - AMN2=AMN**2 - AMT2=AMT**2 -* CMS energy of the projectile - ECMN=(ECM**2+AMN2-AMT2)/(2.D0*ECM) -* It should never happen - IF(ECMN.LE.AMN) ECMN=AMN -* CMS momentum of the projectile (and of the target) - PCMN=SQRT(ECMN**2-AMN2) - GAM=(ELAB+AMT)/ECM - BGAM=PLAB/ECM - IF (IANTH.GE.0) ECM=2.1D0 -* From this point starts the random choiche of the reaction channel: -* it was extensively modified by A. Ferrari - IST=0 -* Initial energy index for the reaction IRE (index 0) - IIEI=IEII(IRE) -* Number of energy intervals for the reaction IRE - IDWK=IEII(IRE+1)-IIEI -* Initial index for the exit channel weights - IIWK=IRII(IRE) -* Initial index (for 0) of the exit channels - IIKI=IKII(IRE) -* Number of exit channels of reaction ire - IKE =IKII(IRE+1)-IIKI -* *** Shrinkage to the considered energy region for the use of weights - HECM=ECM -* The following cards assure that Ecm =< Umax + DUmax for this reaction -* where: -* Umax = max cms energy at which data are tabulated -* DUmax = width of the last interval for the tabulated data - HUMO=2.D0*UMO(IIEI+IDWK)-UMO(IIEI+IDWK-1) - IF (HUMO.LT.ECM) ECM=HUMO -* *** Interpolation preparation -* Cms energy of the upper limit of the considered energy interval - ECMO=UMO(IE) -* Cms energy of the lower limit of the considered energy interval - ECM1=UMO(IE-1) -* Width of the considered interval - DECM=ECMO-ECM1 -* Width from actual value to the lower limit (note that if Ecm > Ecmo -* it can be larger than Decm but it is always less than 2xdecm for the -* above condition on Humo - DEC0=ECM -ECM1 -* Set to 1 the default total weight - WACCUM = 1.D+00 - WCUMCH (0) = 0.D+00 - WCUMIE = 0.D+00 - WCUMI0 = 0.D+00 - WCSUM0 = 0.D+00 - CALL GRNDM(RNDM,1) - RNDMIK = RNDM (1) - IOUT1 = NRK (1,IIKI+1) - IOUT2 = NRK (2,IIKI+1) - IELCHK = MIN ( IOUT1, IOUT2 ) + 1000 * MAX ( IOUT1, IOUT2 ) -* +-------------------------------------------------------------------* -* | Look for "inverse" reactions for which the elastic channel is not -* | the first: for these reactions we must exchange the weight of -* | the elastic channel with the charge exchange one at minimum, to -* | fulfill the detailed balance theorem - IF ( IELCHK .NE. IELSCT ) THEN - LSWAP = .TRUE. - IELCHA = IKCHXG (IRE) - ICXCHA = 1 - IKIK (1) = IELCHA - IKIK (IELCHA) = 1 -* | -* +-------------------------------------------------------------------* -* | Loop to find the elastic channel - ELSE - LSWAP = .FALSE. - IELCHA = 1 - ICXCHA = IKCHXG (IRE) - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Loop on the exit channels: -* | Jkk = index for weights -* | Ik = index for reaction -* | usually they are the same, but for "inverse" reactions where the -* | elastic and the charge exchange channels are exchanged, for these -* | two channels they are crossed - DO 2000 JKK = 1, IKE -* | Ik : index of the exit channel under consideration - IK = IKIK (JKK) -* | Get the index for the weight of ikth channel at ieth energy (upper -* | limit of the interval in energy) - IWK = IIWK + (JKK-1) * IDWK + IE - IIEI -* | Cumulative Weight of channels 1...ik at energy Ie - WIEK = WK (IWK) -* | +----------------------------------------------------------------* -* | | Check if we are in the first interval: is so all the weights -* | | are set to zero for Ie-1, for all channels, so set them to the -* | | same value as for Ie to get the proper normalization to 1, -* | | then possible thresholds are accounted for after - IF ( IE .LE. IIEI+2 ) THEN - WIEM1K = WIEK -* | | -* | +----------------------------------------------------------------* -* | | Cumulative Weight of channels 1...ik at energy Ie-1 - ELSE - WIEM1K = WK (IWK-1) - END IF -* | | -* | +----------------------------------------------------------------* -* | Compute the weight at Ie for this channel - WIEK = WIEK - WCUMIE -* | Compute the weight at Ie-1 for this channel - WIEM1K = WIEM1K - WCUMI0 -* | +----------------------------------------------------------------* -* | | This channel is not open at energies Ie and Ie-1 - IF ( WIEM1K + WIEK .LE. ANGLGB ) THEN - WCHANN (JKK) = 0.D+00 - WCUMCH (JKK) = WCUMCH (JKK-1) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE -* | | Set Eklim to a negative value to flag for Iefun it is a -* | | cms energy and not a lab momentum: this is the cms threshold -* | | for the exit channel ik - EKLIM = - THRESH (IIKI+IK) -* | | Iefun returns the energy index of upper limit of the interval -* | | containing the threshold - IELIM = IEFUN (EKLIM,IRE) - EKLIM = - EKLIM - WCHAN0 = WIEM1K + ( WIEK - WIEM1K ) * DEC0 / DECM - WCSUM0 = WCSUM0 + WCHAN0 -* | | +-------------------------------------------------------------* -* | | | Check if we are below threshold - IF ( ECM .LE. EKLIM ) THEN - WCHANN (JKK) = 0.D+00 - WCUMCH (JKK) = WCUMCH (JKK-1) - WCUMIE = WCUMIE + WIEK - WCUMI0 = WCUMI0 + WIEM1K - RNDRED = WCHAN0 - WACCUM = WACCUM - RNDRED -* | | | -* | | +-------------------------------------------------------------* -* | | | We are above threshold - ELSE - WCUMIE = WCUMIE + WIEK - WCUMI0 = WCUMI0 + WIEM1K - ECMD = MAX ( EKLIM, ECM1 ) - DEC = ECM - ECMD - DECC = ECMO - ECMD - WCHANN (JKK) = WIEM1K + ( WIEK - WIEM1K ) * DEC / DECC -* | | | If we are beyond the last tabulated point and the xsec for -* | | | this channel is going down it can happen that Wchann < 0 -* | | | set it to 0 and correct according to the usual formalism - WCHANN (JKK) = MAX ( WCHANN (JKK), ZERZER ) - RNDRED = WCHAN0 - WCHANN (JKK) - WACCUM = WACCUM - RNDRED -* | | | +----------------------------------------------------------* -* | | | | Ielflg check: first of all check if this channel -* | | | | is the elastic one and if so if reduction must be applied -* | | | | to - IF ( IK .EQ. IELCHA .AND. IELFLG .NE. 0 ) THEN -* | | | | +-------------------------------------------------------* -* | | | | | Elastic scattering reduced due to collision in the -* | | | | | nucleus and not with a free proton/neutron - IF ( IELFLG .LT. 0 ) THEN - IF ( IBAR (N) .NE. 0 ) THEN - REDUC = PLAB / PPAMXB - REDUC = PAUMXB * REDUC / ( 1.D+00 + REDUC**2 ) - ELSE - REDUC = PLAB / PPAMXM - REDUC = PAUMXM * REDUC / ( 1.D+00 + REDUC**2 ) - END IF - RNDRED = WCHANN (JKK) * ( 1.D+00 - REDUC ) - WCHANN (JKK) = WCHANN (JKK) - RNDRED -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Elastic scattering forbidden - ELSE - RNDRED = WCHANN (JKK) - WCHANN (JKK) = 0.D+00 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - WACCUM = WACCUM - RNDRED -* | | | | -* | | | +----------------------------------------------------------* -* | | | | Icxflg check: first of all check if this channel -* | | | | is the charge exchange one and if so if reduction must -* | | | | be applied to - ELSE IF ( IK .EQ. ICXCHA .AND. ICXFLG .NE. 0 )THEN -* | | | | +-------------------------------------------------------* -* | | | | | Charge exchange reduced due to collision in the -* | | | | | nucleus and not with a free proton/neutron - IF ( ICXFLG .LT. 0 ) THEN - IF ( IBAR (N) .NE. 0 ) THEN - REDUC = PLAB / PPAMXB - REDUC = PAUMXB * REDUC / ( 1.D+00 + REDUC**2 ) - ELSE - REDUC = PLAB / PPAMXM - REDUC = PAUMXM * REDUC / ( 1.D+00 + REDUC**2 ) - END IF - RNDRED = WCHANN (JKK) * ( 1.D+00 - REDUC ) - WCHANN (JKK) = WCHANN (JKK) - RNDRED -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | Charge exchange forbidden - ELSE - RNDRED = WCHANN (JKK) - WCHANN (JKK) = 0.D+00 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - WACCUM = WACCUM - RNDRED - END IF -* | | | | -* | | | +----------------------------------------------------------* - WCUMCH (JKK) = WCUMCH (JKK-1) + WCHANN (JKK) - END IF -* | | | -* | | +-------------------------------------------------------------* - RNDMCH = RNDMIK * WACCUM -* | | +-------------------------------------------------------------* -* | | | Check if a possible decrease/increase of this channel -* | | | opened one of the already examinated channels - IF ( RNDMCH .LT. WCUMCH (JKK-1) ) THEN -* | | | +----------------------------------------------------------* -* | | | | Loop on the previous channels - DO 1900 JPK = 1, JKK - 1 - IF ( RNDMCH .LT. WCUMCH (JPK) ) THEN - IK = IKIK (JPK) - GO TO 2100 - END IF - 1900 CONTINUE -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* -* | | | Check if this one is the right channel - ELSE IF ( RNDMCH .LT. WCUMCH (JKK) ) THEN - GO TO 2100 - END IF -* | | | -* | | +-------------------------------------------------------------* - END IF -* | | -* | +----------------------------------------------------------------* - 2000 CONTINUE -* | -* +-------------------------------------------------------------------* - IK = IELCHA - WRITE (LUNERR,*)' **** Hadriv: elastic channel selected when', - & ' prohibited ! ****',N,ELAB,PLAB -* Finally we selected channel ik - 2100 CONTINUE -* *** Ik is the reaction channel *** -* +-------------------------------------------------------------------* -* | Set to the default values the array Ikik - IF ( LSWAP ) THEN - IKIK (1) = 1 - IKIK (IELCHA) = IELCHA - END IF -* | -* +-------------------------------------------------------------------* - INRK=IKII(IRE)+IK -* First resonance to be created - IT1=NRK(1,INRK) -* Second resonance to be created - IT2=NRK(2,INRK) - ECM=HECM - I1001 =0 -* +-------------------------------------------------------------------* -* | Rejection loop for the choiche of the resonance masses - 1001 CONTINUE - IF (I1001.GT.50) GO TO 1 -* | Selection of the resonance mass according to its width - AM1=AMGA(IT1) -* | Selection of the resonance mass according to its width - AM2=AMGA(IT2) - AMS=AM1+AM2 - I1001=I1001+1 - IF ( IT2*AMS .GT. IT2*ECM ) GO TO 1001 -* |--<--<--<--<--<--< Loop back if m1+m2 > Ecm -* +-------------------------------------------------------------------* - IT11=IT1 - IT22=IT2 - IF (IANTH.GE.0) ECM=ELAB+AMT+0.00000001D0 - AM11=AM1 - AM22=AM2 -* +-------------------------------------------------------------------* -* | Direct (single) resonances - IF (IT2.LE.0) THEN -* | Random choice of decay channels of the direct resonance it1 - KZ1=K1(IT1) - IST=IST+1 - IECO=0 -* | Here was the mistake in the pseudo-masses treatment!!!!! -* ECO=ECM - ECO=ECMMH - GAM=(ELAB+AMT)/ECO - BGAM=PLAB/ECO - CXS(1)=CX - CYS(1)=CY - CZS(1)=CZ - GO TO 310 - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - CALL GRNDM(RNDM,1) - IF ( RNDM(1) .LT. 0.5D+00 ) THEN - IT1=IT22 - IT2=IT11 - AM1=AM22 - AM2=AM11 - END IF -* | -* +-------------------------------------------------------------------* -C -C----------------------------- -C THE FIRST PARTICLE IS DEFINED TO BE THE FORWARD GOING ONE AT SMALL T - IBN=IBAR(N) - IB1=IBAR(IT1) - IT11=IT1 - IT22=IT2 - AM11=AM1 - AM22=AM2 -* +-------------------------------------------------------------------* -* | - IF(IB1.NE.IBN) THEN - IT1=IT22 - IT2=IT11 - AM1=AM22 - AM2=AM11 - END IF -* | -* +-------------------------------------------------------------------* -C----------------------------- -C***IT1,IT2 ARE THE CREATED PARTICLES -C***MOMENTA AND DIRECTION COSINA IN THE CM - SYSTEM -C------------------------ - CALL TWOPAR(ECM1,ECM2,PCM1,PCM2,COD1,COD2,COF1,COF2,SIF1,SIF2, - *IT1,IT2,ECM,ECMN,PCMN,N,AM1,AM2) - IST=IST+1 - ITS(IST)=IT1 - AMM(IST)=AM1 -C -C----------------------------- -C***TRANSFORMATION INTO LAB SYSTEM AND ROTATION -C---------------------------- - CALL TRAFO(GAM,BGAM,CX,CY,CZ,COD1,COF1,SIF1,PCM1,ECM1,PLS(IST), - *CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IST=IST+1 - ITS(IST)=IT2 - AMM(IST)=AM2 - CALL TRAFO(GAM,BGAM,CX,CY,CZ,COD2,COF2,SIF2,PCM2,ECM2,PLS(IST),CXS - *(IST),CYS(IST),CZS(IST),ELS(IST)) - 200 CONTINUE -C -C----------------------------- -C***TEST STABLE OR UNSTABLE -C---------------------------- - IF(ITS(IST).GT.NSTAB) GO TO 300 - IR=IR+1 -C -C----------------------------- -C***IR IS THE NUMBER OF THE FINAL STABLE PARTICLE -C---------------------------- - IF (REDU.LT.0.D0) GO TO 1009 - ITR(IR)=ITS(IST) - PLR(IR)=PLS(IST) - CXR(IR)=CXS(IST) - CYR(IR)=CYS(IST) - CZR(IR)=CZS(IST) - ELR(IR)=ELS(IST) - IST=IST-1 - IF(IST.GE.1) GO TO 200 - GO TO 500 - 300 CONTINUE -C -C RANDOM CHOICE OF DECAY CHANNELS -C---------------------------- -C - IT=ITS(IST) - ECO=AMM(IST) - GAM=ELS(IST)/ECO - BGAM=PLS(IST)/ECO - IECO=0 - KZ1=K1(IT) - 310 CONTINUE - IECO=IECO+1 - CALL GRNDM(RNDM,1) - VV=RNDM(1) - IIK=KZ1-1 - 301 CONTINUE - IIK=IIK+1 - IF (VV.GT.WT(IIK)) GO TO 301 -C -C IIK IS THE DECAY CHANNEL -C---------------------------- - IT1=NZK(IIK,1) - I310=0 - 1310 CONTINUE - I310=I310+1 - AM1=AMGA(IT1) - IT2=NZK(IIK,2) - AM2=AMGA(IT2) - IF (IT2-1.LT.0) GO TO 110 - IT3=NZK(IIK,3) - AM3=AMGA(IT3) - AMS=AM1+AM2+AM3 -C -C IF IIK-KIN.LIM.GT.ACTUAL TOTAL CM-ENERGY, DO AGAIN RANDOM IIK-CHOICE -C---------------------------- - IF (IECO.GT.10) THEN - IATMPT=IATMPT+1 -* Note: we can go to 8 also for too many iterations - IF (IATMPT.GT.3) GO TO 8 - GO TO 1000 - END IF - IF (I310.GT.50) GO TO 310 - IF (AMS.GT.ECO) GO TO 1310 -C -C FOR THE DECAY CHANNEL -C IT1,IT2, IT3 ARE THE PRODUCED PARTICLES FROM IT -C---------------------------- - IF (REDU.LT.0.D0) GO TO 1009 - ITWTHC=0 - REDU=2.D0 - IF(IT3.EQ.0) GO TO 400 - 4001 CONTINUE - ITWTH=1 - CALL THREPD(ECO,ECM1,ECM2,ECM3,PCM1,PCM2,PCM3,COD1,COF1,SIF1, - *COD2,COF2,SIF2,COD3,COF3,SIF3,AM1,AM2,AM3) - GO TO 411 - 400 CONTINUE - CALL TWOPAD(ECO,ECM1,ECM2,PCM1,PCM2,COD1,COF1,SIF1,COD2,COF2,SIF2, - *AM1,AM2) - ITWTH=-1 - IT3=0 - 411 CONTINUE - ITWTHC=ITWTHC+1 - IF (REDU.GT.0.D0) GO TO 110 - REDU=2.D0 - IF (ITWTHC.GT.100) GO TO 1009 - IF (ITWTH) 400,400,4001 - 110 CONTINUE - ITS(IST)=IT1 - IF (IT2.LE.0) GO TO 305 - ITS(IST+1)=IT2 - ITS(IST+2)=IT3 - RX=CXS(IST) - RY=CYS(IST) - RZ=CZS(IST) - AMM(IST)=AM1 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD1,COF1,SIF1,PCM1,ECM1, - *PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IST=IST+1 - AMM(IST)=AM2 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD2,COF2,SIF2,PCM2,ECM2, - *PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - IF (IT3.LE.0) GO TO 305 - IST=IST+1 - AMM(IST)=AM3 - CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD3,COF3,SIF3,PCM3,ECM3, - *PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST)) - 305 CONTINUE - GO TO 200 - 500 CONTINUE - 631 CONTINUE - RETURN - 8 CONTINUE -C -C---------------------------- -C -C ZERO CROSS SECTION CASE -C -C---------------------------- -C - IR=1 - ITR(1)=N - CXR(1)=CX - CYR(1)=CY - CZR(1)=CZ - ELR(1)=ELAB - PLR(1)=PLAB - RETURN - END diff --git a/StarVMC/geant3/fluka/hevhin.F b/StarVMC/geant3/fluka/hevhin.F deleted file mode 100644 index 726b30be5bd..00000000000 --- a/StarVMC/geant3/fluka/hevhin.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: hevhin.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: hevhin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.43 by S.Giani -*-- Author : -*$ CREATE HEVHIN.FOR -*COPY HEVHIN -* -*=== hevhin ===========================================================* -* - SUBROUTINE HEVHIN ( NHAD, KPROJ, KTARG, PPROJ, EPROJ, UMO ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 01 october 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 01-oct-91 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -#include "geant321/finlsp.inc" -#include "geant321/hadpar.inc" -#include "geant321/part.inc" - PARAMETER ( CXDUM = 0.D+00 ) - PARAMETER ( CYDUM = 0.D+00 ) - PARAMETER ( CZDUM = 1.D+00 ) -* - ELAB = EPROJ - PLAB = PPROJ - N = KPROJ - ITTA = KTARG - CALL HADRIV ( N, PLAB, ELAB, CXDUM, CYDUM, CZDUM, ITTA ) - NHAD = IR - DO 1000 I = 1, IR - HEPH (I) = ELR (I) - PXH (I) = PLR (I) * CXR (I) - PYH (I) = PLR (I) * CYR (I) - PZH (I) = PLR (I) * CZR (I) - NREH (I) = ITR (I) - ICHH (I) = ICH (NREH(I)) - IBARH(I) = IBAR (NREH(I)) - AMH (I) = AM (NREH(I)) - ANH (I) = ANAME(NREH(I)) - 1000 CONTINUE -*=== End of subroutine Hevhin =========================================* - RETURN - END diff --git a/StarVMC/geant3/fluka/hinhev.F b/StarVMC/geant3/fluka/hinhev.F deleted file mode 100644 index 3a89984e457..00000000000 --- a/StarVMC/geant3/fluka/hinhev.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: hinhev.F,v 1.1.1.2 2009/02/01 17:10:17 fisyak Exp $ -* -* $Log: hinhev.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:17 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:15 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.43 by S.Giani -*-- Author : -*$ CREATE HINHEV.FOR -*COPY HINHEV -* -*=== hinhev ===========================================================* -* - SUBROUTINE HINHEV ( N, PLAB, ELAB, ITTA ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 01 october 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 01-oct-91 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -#include "geant321/finlsp.inc" -#include "geant321/hadpar.inc" -#include "geant321/part.inc" -* - EPROJ = ELAB - PPROJ = PLAB - KPROJ = N - KTARG = ITTA - AMTAR = AM (KTARG) - UMO = SQRT ( ( EPROJ + AMTAR - PPROJ ) * ( EPROJ + AMTAR - & + PPROJ ) ) - NHAD = 0 - CALL HADEVV ( NHAD, KPROJ, KTARG, PPROJ, EPROJ, UMO ) - IR = NHAD - DO 1000 I = 1, NHAD - ELR (I) = HEPH (I) - PLR (I) = SQRT ( ( HEPH (I) - AMH (I) ) * ( HEPH (I) + AMH (I) - & ) ) - CXR (I) = PXH (I) / PLR (I) - CYR (I) = PYH (I) / PLR (I) - CZR (I) = PZH (I) / PLR (I) - ITR (I) = NREH (I) - 1000 CONTINUE -*=== End of subroutine hinhev =========================================* - RETURN - END diff --git a/StarVMC/geant3/fluka/hklass.F b/StarVMC/geant3/fluka/hklass.F deleted file mode 100644 index a8a8ad0da5b..00000000000 --- a/StarVMC/geant3/fluka/hklass.F +++ /dev/null @@ -1,263 +0,0 @@ -* -* $Id: hklass.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: hklass.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE HKLASS.FOR -*COPY HKLASS -* -*=== hklass ===========================================================* -* - SUBROUTINE HKLASS(IT,LT,LA,LL,KFR1,KFR2,KR1R,KR2R,KR1L,KR2L,IV, - *IMPS,IMVE,IB08,IA08,IB10,IA10,AS,B8,KFA1,KFA2,KFA3,KFA4,IOPT) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* Hklass89: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* -#include "geant321/finpar2.inc" -#include "geant321/part.inc" - LOGICAL LSWTCH - COMMON/FKVALI/LSWTCH - DIMENSION KFR1(*),KFR2(*),IV(*),IMPS(6,6),IMVE(6,6), - *IB08(6,21),IB10(6,21),IA08(6,21),IA10(6,21) - REAL RNDM(2) -C CLASSIFICATION OF THE HADRONS ACCORDING TO THEIR FLAVOUR CONTENTS -* -*or IF (LT.EQ.1)WRITE(LUNOUT,288)IT,LT,LA,LL,KR1R,KR2R,KR1L,KR2L, -*or *AS,B8,KFA1,KFA2,KFA3,KFA4,IOPT -*or 288 FORMAT (8I5,2E12.4,5I5/ -*or *' HKLASS IT,LT,LA,LL,KR1R,KR2R,KR1L,KR2L,AS,B8,KFA1,KFA2,KFA3,' -*or *,'KFA4,IOPT') -C**RESC=PROBABILITY FOR AN U,AU/D,AD/U,AD/D,AU PAIR TO BECOME E HEAVY -C**RESONANCE RO,R+,R- - RESC=0.5D0 - IX=0 - CALL GRNDM(RNDM,2) - X=RNDM(1) - Z=RNDM(2) - IF(LA.EQ.0) GO TO 100 - A=KR1R*KR2R*KR1L*KR2L - IF(A.EQ.0) GO TO 90 - IX=1 - LI=KR1R-6 - LJ=KR1L - I=IT - GO TO 10 - 101 IX=2 - LI=KR2R-6 - LJ=KR2L - I=IT+1 - IT=IT+1 - GO TO 10 - 90 B=KR1R*KR2R - C=KR1L*KR2L - IF(B.GT.0.D0.OR.C.GT.0.D0) GO TO 91 - LJ=KR1R - IF(KR1R.EQ.0)LJ=KR2R - LI=KR1L-6 - IF(KR1L.EQ.0)LI=KR2L-6 - I=IT - GO TO 10 - 91 IF(B.GT.0.D0) GO TO 92 - LI=KR1R - IF(KR1R.EQ.0)LI=KR2R - KA=KR1L - KB=KR2L - CALL INDEX2(KA,KB,IND) - LJ=IND - I=IT - GO TO 20 - 92 LI=KR1L-6 - IF(KR1L.EQ.0)LI=KR2L-6 - KA=KR1R-6 - KB=KR2R-6 - CALL INDEX2(KA,KB,IND) - LJ=IND - I=IT - GO TO 30 -C LA=0 - 100 CONTINUE - I=IT - J=IT-1 - K1I=KFR1(I) - K2I=KFR2(I) - K2J=0 - K1J=KFA1 - IF(I.GT.1) GO TO 5555 - IF(IOPT.EQ.3.AND.LL.EQ.1) K1J=KFA2 - IF(IOPT.EQ.2) K1J=KFA1 - IF(IOPT.EQ.2) K2J=KFA2 - IF(IOPT.EQ.4.AND.KFA1.LE.6.AND.LL.EQ.1) K1J=KFA2 - IF(IOPT.EQ.4.AND.KFA1.LE.6.AND.LL.EQ.1) K2J=KFA3 - IF(IOPT.EQ.4.AND.KFA1.GT.6.AND.LL.EQ.0) K1J=KFA2 - IF(IOPT.EQ.4.AND.KFA1.GT.6.AND.LL.EQ.0) K2J=KFA3 - IF(IOPT.EQ.5.AND.LL.EQ.0) K1J=KFA3 - IF(IOPT.EQ.5.AND.LL.EQ.0) K2J=KFA4 - IF(IOPT.EQ.5.AND.LL.EQ.1) K1J=KFA1 - IF(IOPT.EQ.5.AND.LL.EQ.1) K2J=KFA2 - 5555 CONTINUE - IF(I.GT.1)K1J=KFR1(J) - IF(I.GT.1)K2J=KFR2(J) - IVY=IV(I) -*or IF(LT.EQ.0) GO TO 606 -*or WRITE(LUNOUT,601)K1I,K2I,K1J,K2J,IVY,I,LL,LA -*or 601 FORMAT(1H0,8I3,27HK1I,K2I,K1J,K2J,IVY,I,LL,LA) -*or 606 CONTINUE - GO TO(1,4,5,2,3,1,4,5,2,3),IVY - 1 LI=K1I - LJ=K1J - IF(LL.EQ.1)LI=K1J-6 - IF(LL.EQ.1)LJ=K1I-6 - GO TO 10 - 2 LI=K1J-6 - LJ=K1I-6 - IF(LL.EQ.1) LI=K1I - IF(LL.EQ.1)LJ=K1J - GO TO 10 - 3 LI=K2J-6 - LJ=K2I-6 - IF(LL.EQ.1)LI=K2I - IF(LL.EQ.1)LJ=K2J - GO TO 10 - 4 LI=K1J - IF(LL.EQ.1)LI=K1J-6 - KA=K1I - KB=K2I - IF(LL.EQ.0)KA=K1I-6 - IF(LL.EQ.0)KB=K2I-6 - IF(LL.EQ.1)KA=K1I - IF(LL.EQ.1)KB=K2I - CALL INDEX2(KA,KB,IND) - LJ=IND - IF(LL.EQ.1) GO TO 30 - GO TO 20 - 5 LI=K1I - IF(LL.EQ.1)LI=K1I-6 - KA=K1J - KB=K2J - IF(LL.EQ.0)KA=K1J-6 - IF(LL.EQ.0)KB=K2J-6 - CALL INDEX2(KA,KB,IND) - LJ=IND - IF(LL.EQ.1) GO TO 20 - GO TO 30 -C MESONENAUSWAHL - 10 CONTINUE - IF(X.LE.AS) GO TO 11 - INDEX=IMVE(LI,LJ) - IF(INDEX.EQ.33.AND.Z.LE.0.5D0)INDEX=35 - IF(.NOT.LSWTCH) GO TO 40 - CALL GRNDM(RNDM,1) - X=RNDM(1) - IF(X.GE.RESC) GO TO 40 - IF(INDEX.EQ.33.OR.INDEX.EQ.35.OR.INDEX.EQ.96) INDEX=181 - IF(INDEX.EQ.32) INDEX=182 - IF(INDEX.EQ.34) INDEX=183 - GO TO 40 - 11 INDEX=IMPS(LI,LJ) - IF(INDEX.EQ.23) GO TO 15 - IF(INDEX.EQ.31.AND.Z.LE.0.33D0)INDEX=95 - IF(.NOT.LSWTCH) GO TO 40 - IF(INDEX.EQ.31.AND.Z.LE.0.97D0)INDEX=95 - CALL GRNDM(RNDM,1) - X=RNDM(1) - IF(X.GE.RESC) GO TO 40 - IF(INDEX.EQ.23.OR.INDEX.EQ.31.OR.INDEX.EQ.95) INDEX=181 - IF(INDEX.EQ.13) INDEX=182 - IF(INDEX.EQ.14) INDEX=183 - GO TO 40 -C BARYONMULTIPLETTS - 20 CONTINUE - B10=1.D0-B8 - IF(X.LE.B8)GO TO 21 - 24 INDEX=IB10(LI,LJ) - GO TO 40 - 21 INDEX=IB08(LI,LJ) - IF(INDEX.EQ.22.AND.Z.LE.0.5D0)INDEX=17 - IF(INDEX.EQ.137.AND.Z.LE.0.5D0)INDEX=141 - IF(INDEX.EQ.138.AND.Z.LE.0.5D0)INDEX=143 - IF(INDEX.EQ.139.AND.Z.LE.0.5D0)INDEX=144 - IF(INDEX.EQ.0)GO TO 24 - GO TO 40 -C ANTIBARYONMULTIPLETTS - 30 CONTINUE - A8=B8 - A10=1.D0-A8 - IF(X.LE.A8)GO TO 31 - 34 INDEX=IA10(LI,LJ) - GO TO 40 - 31 INDEX=IA08(LI,LJ) - IF(INDEX.EQ.100.AND.Z.LE.0.5D0)INDEX=18 - IF(INDEX.EQ.149.AND.Z.LE.0.5D0)INDEX=153 - IF(INDEX.EQ.150.AND.Z.LE.0.5D0)INDEX=155 - IF(INDEX.EQ.151.AND.Z.LE.0.5D0)INDEX=156 - IF(INDEX.EQ.0)GO TO 34 - GO TO 40 - 15 CONTINUE - IF(LSWTCH)THEN - IF(Z.LE.0.5D0)INDEX=31 - IF(Z.LE.0.5D0*0.03D0)INDEX=95 - ELSE - IF(Z.LE.0.5D0)INDEX=33 - IF(Z.LE.0.5D0*0.67D0)INDEX=95 - ENDIF - GO TO 40 -C UEBERLESEN DER HADRONDATEN - 40 CONTINUE - IF(LT.EQ.0) GO TO 604 - WRITE(LUNOUT,602)INDEX - 602 FORMAT(1H0,I3,6H=INDEX) - 604 CONTINUE - ANF(I)=ANAME(INDEX) - AMF(I)=AM(INDEX) - ICHF(I)=ICH(INDEX) - IBARF(I)=IBAR(INDEX) - NREF(I)=INDEX - IF(IX.EQ.1)GO TO 101 - IF(IX.EQ.2)GO TO 500 - GO TO 500 - 500 CONTINUE - IF(LT.EQ.0) GO TO 600 - IZ=0 - IF(IX.EQ.2)I=I-1 - 504 CONTINUE - WRITE(LUNOUT,503)ANF(I),AMF(I),ICHF(I),IBARF(I),NREF(I),LL - 503 FORMAT((1X,A7,1X,F6.3,1X,4(I3,1X), - *'MAME,MASS,Q,BQ,NR,LL')) - IF(IX.EQ.0) GO TO 600 - IZ=IZ+1 - IF(IZ.EQ.2) GO TO 600 - I=I+1 - GO TO 504 - 600 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/hypero.F b/StarVMC/geant3/fluka/hypero.F deleted file mode 100644 index 6c95df304a4..00000000000 --- a/StarVMC/geant3/fluka/hypero.F +++ /dev/null @@ -1,61 +0,0 @@ -* -* $Id: hypero.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: hypero.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE HYPERO.FOR -*COPY HYPERO -* -*=== hypero ===========================================================* -* - SUBROUTINE HYPERO(IT,ITNUCR,SICO,PLABCO) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - COMMON /FKABLT/ AM(330),ICH(110),IBAR(110),K(220) -* DIMENSION SICOR(30) - DIMENSION IHATRS(30),INUTRS(30) - DATA IHATRS/16*30,25,24,30,16,15,25,8*30/ -C -C-------------------------------------------------- -C*** ATTENSION, IN CASE OF IT=SIG+=21 NO STRANGENES-CONS.,DIFFER.1UNIT -C-------------------------------------------------- - DATA INUTRS/16*30,8,2,30,8,1,8,8*30/ - ITNUCR=INUTRS(IT) - ITHACR=IHATRS(IT) - PLABCO=1.D0 - ITHATR=ITHACR - IF (ITNUCR.GE.30) ITHATR=IT - IF (ITNUCR.GE.30) ITNUCR=IT - SICO=1.D0 - IF (ITHATR.LT.30) SICO=42.D0/39.D0 - IF (IT.EQ.21) SICO=42.D0/40.D0 - IF (ITHATR.LT.30) PLABCO=AM(IT)/(AM(ITNUCR)+1.D-10) - IT=ITHATR - RETURN - END diff --git a/StarVMC/geant3/fluka/iefun.F b/StarVMC/geant3/fluka/iefun.F deleted file mode 100644 index 8f9aca773dc..00000000000 --- a/StarVMC/geant3/fluka/iefun.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: iefun.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: iefun.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE IEFUN.FOR -*COPY IEFUN -* -*=== iefun ============================================================* -* - INTEGER FUNCTION IEFUN(PL,IRE) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/reac.inc" -#include "geant321/redver.inc" -* -C*****IEFUN CALCULATES A MOMENTUM INDEX - COMMON / FKRUN / RUNTES, EFTES -* - IPLA=IEII(IRE)+1+1 - IPLE=IEII(IRE+1) - IF (PL.LT.0.D0) GO TO 13 - DO 2 I=IPLA,IPLE - J=I-IPLA+1 - IF (PL.LE.PLABF(I)) GO TO 3 - 2 CONTINUE - I=IPLE - IF ( EFTES.GT.40.D0) GO TO 4321 - EFTES=EFTES+1.D0 - WRITE(LUNOUT,10)PL,J - 4321 CONTINUE - GO TO 4323 - 13 CONTINUE - DO 12 I=IPLA,IPLE - J=I-IPLA+1 - IF (-PL.LE.UMO(I)) GO TO 3 - 12 CONTINUE - I=IPLE - IF ( EFTES.GT.40.D0) GO TO 4322 - EFTES=EFTES+1.D0 - WRITE(LUNOUT,10)PL,I - 4322 CONTINUE - 3 CONTINUE - 4323 CONTINUE - IEFUN=I - RETURN - 10 FORMAT(14H PLAB OR -ECM=,E10.4,27H IS OUT OF CONSIDERED RANGE - *,7H IEFUN=,I5) - END diff --git a/StarVMC/geant3/fluka/impuls.F b/StarVMC/geant3/fluka/impuls.F deleted file mode 100644 index 5eb08462c1c..00000000000 --- a/StarVMC/geant3/fluka/impuls.F +++ /dev/null @@ -1,100 +0,0 @@ -* -* $Id: impuls.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: impuls.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLDNAME) -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*=== impuls ===========================================================* -* - SUBROUTINE IMPULS(HE,HMA,HPS,HPX,HPY,HPZ,LT,LL,B3) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(2) -* -*----------------------------------------------------------------------* -* Impuls89: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* -C*****CHOICE OF THE TRANSVERSAL MOMENTUM AND CALCULATION OF THE -C*****LONGITUDINAL MOMENTUM -C*****HPS,HPZ ARE THE TRANSVERSAL AND LONGITUDINAL MOMENTUM - - ESMAX = HE - HMA - 1 CONTINUE -* -* He is the total energy, hma the mass one (input) hpx, hpy, hpz -* the momentum components (output values), hps the transversal -* momentum (output) -* -* +-------------------------------------------------------------------* -* | cut off for the longitudinal momentum - IF (ESMAX .LE. 0.05D0) THEN -* | -* | only transversal momentum! -* | - HPS = SQRT(HE**2 - HMA**2) - HPZ = 0.D0 - ELSE -* | -* | hps is the transversal momentum -* | - CALL GRNDM(RNDM,2) - X = RNDM(1) - Y = RNDM(2) -* | -* | Es is the transverse kinetic energy -* | - ES = -2.D0/(B3**2)*LOG(X*Y) - IF (ES .GT. ESMAX) GO TO 1 - HPS = ES**2 + 2.D0*ES*HMA - IF (LL .EQ. 0) Y1 = 1.D0 - IF (LL .EQ. 1) Y1 =-1.D0 - HPZ = SQRT(HE**2 - HMA**2 - HPS) * Y1 - HPS = SQRT (HPS) - END IF -* | -* +-------------------------------------------------------------------* - CALL SFECFE(SFE,CFE) - SIP = SFE - COP = CFE - HPX = HPS*COP - HPY = HPS*SIP - IF (LT .EQ. 0) GO TO 2 - WRITE(LUNOUT,3) HPS,HPX,HPY,HPZ,HE,HMA,LL - 3 FORMAT(1H0,19HPS,PX,PY,PZ,E,M,LL=,6F8.4,I3) - 2 CONTINUE - RETURN - END -#else - SUBROUTINE IMPULS_DUMMY - END -#endif diff --git a/StarVMC/geant3/fluka/incini.F b/StarVMC/geant3/fluka/incini.F deleted file mode 100644 index 91b256947be..00000000000 --- a/StarVMC/geant3/fluka/incini.F +++ /dev/null @@ -1,281 +0,0 @@ -* -* $Id: incini.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: incini.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.43 by S.Giani -*-- Author : -*=== incini ===========================================================* -* * - SUBROUTINE INCINI - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 10 june 1990 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 14-apr-93 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* - PARAMETER ( PI = PIPIPI ) -#include "geant321/fheavy.inc" -#include "geant321/inpdat2.inc" -#include "geant321/inpflg.inc" -#include "geant321/nucdat.inc" -#include "geant321/parevt.inc" - COMMON / FKNUCO / HELP (2), HHLP (2), FTVTH (2), FINCX (2), - & EKPOLD (2), BBOLD, ZZOLD, SQROLD, ASEASQ, - & FSPRED, FEX0RD - BBOLD = - 1.D+10 - ZZOLD = - 1.D+10 - SQROLD = - 1.D+10 - APFRMX = PLABRC * ( 9.D+00 * PI / 8.D+00 )**0.3333333333333333D+00 - & / R0NUCL - AMNUCL (1) = AMPROT - AMNUCL (2) = AMNEUT - AMNUSQ (1) = AMPROT * AMPROT - AMNUSQ (2) = AMNEUT * AMNEUT - AMNHLP = 0.5D+00 * ( AMNUCL (1) + AMNUCL (2) ) - ASQHLP = AMNHLP**2 -* ASQHLP = 0.5D+00 * ( AMNUSQ (1) + AMNUSQ (2) ) - AEFRMX = SQRT ( ASQHLP + APFRMX**2 ) - AMNHLP - AEFRMA = 0.3D+00 * APFRMX**2 / AMNHLP * ( 1.D+00 - APFRMX**2 / - & ( 5.6D+00 * ASQHLP ) ) - AV0WEL = AEFRMX + EBNDAV - EBNDNG (1) = EBNDAV - EBNDNG (2) = EBNDAV - AEXC12 = 0.001D+00 * FKENER ( ONEONE*12, SIXSIX ) - CEXC12 = 0.001D+00 * ENRG ( ONEONE*12, SIXSIX ) - AMMC12 = 12.D+00 * AMUAMU + AEXC12 - AMNC12 = AMMC12 - 6.D+00 * AMELEC + - & FERTHO * 6.D+00**EXPEBN - AEXO16 = 0.001D+00 * FKENER ( ONEONE*16, EIGEIG ) - CEXO16 = 0.001D+00 * ENRG ( ONEONE*16, EIGEIG ) - AMMO16 = 16.D+00 * AMUAMU + AEXO16 - AMNO16 = AMMO16 - 8.D+00 * AMELEC + - & FERTHO * 8.D+00**EXPEBN - AEXS28 = 0.001D+00 * FKENER ( ONEONE*28, ONEONE*14 ) - CEXS28 = 0.001D+00 * ENRG ( ONEONE*28, ONEONE*14 ) - AMMS28 = 28.D+00 * AMUAMU + AEXS28 - AMNS28 = AMMS28 - 14.D+00 * AMELEC + - & FERTHO * 14.D+00**EXPEBN - AEXC40 = 0.001D+00 * FKENER ( ONEONE*40, ONEONE*20 ) - CEXC40 = 0.001D+00 * ENRG ( ONEONE*40, ONEONE*20 ) - AMMC40 = 40.D+00 * AMUAMU + AEXC40 - AMNC40 = AMMC40 - 20.D+00 * AMELEC + - & FERTHO * 20.D+00**EXPEBN - AEXF56 = 0.001D+00 * FKENER ( ONEONE*56, ONEONE*26 ) - CEXF56 = 0.001D+00 * ENRG ( ONEONE*56, ONEONE*26 ) - AMMF56 = 56.D+00 * AMUAMU + AEXF56 - AMNF56 = AMMF56 - 26.D+00 * AMELEC + - & FERTHO * 26.D+00**EXPEBN - AEX107 = 0.001D+00 * FKENER ( ONEONE*107, ONEONE*47 ) - CEX107 = 0.001D+00 * ENRG ( ONEONE*107, ONEONE*47 ) - AMM107 = 107.D+00 * AMUAMU + AEX107 - AMN107 = AMM107 - 47.D+00 * AMELEC + - & FERTHO * 47.D+00**EXPEBN - AEX132 = 0.001D+00 * FKENER ( ONEONE*132, ONEONE*54 ) - CEX132 = 0.001D+00 * ENRG ( ONEONE*132, ONEONE*54 ) - AMM132 = 132.D+00 * AMUAMU + AEX132 - AMN132 = AMM132 - 54.D+00 * AMELEC + - & FERTHO * 54.D+00**EXPEBN - AEX181 = 0.001D+00 * FKENER ( ONEONE*181, ONEONE*73 ) - CEX181 = 0.001D+00 * ENRG ( ONEONE*181, ONEONE*73 ) - AMM181 = 181.D+00 * AMUAMU + AEX181 - AMN181 = AMM181 - 73.D+00 * AMELEC + - & FERTHO * 73.D+00**EXPEBN - AEX208 = 0.001D+00 * FKENER ( ONEONE*208, ONEONE*82 ) - CEX208 = 0.001D+00 * ENRG ( ONEONE*208, ONEONE*82 ) - AMM208 = 208.D+00 * AMUAMU + AEX208 - AMN208 = AMM208 - 82.D+00 * AMELEC + - & FERTHO * 82.D+00**EXPEBN - AEX238 = 0.001D+00 * FKENER ( ONEONE*238, ONEONE*92 ) - CEX238 = 0.001D+00 * ENRG ( ONEONE*238, ONEONE*92 ) - AMM238 = 238.D+00 * AMUAMU + AEX238 - AMN238 = AMM238 - 92.D+00 * AMELEC + - & FERTHO * 92.D+00**EXPEBN -#if defined(CERNLIB_FDEBUG) - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Maximum Fermi momentum : ',REAL(APFRMX), - & ' GeV/c ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Maximum Fermi energy : ',REAL(AEFRMX), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Average Fermi energy : ',REAL(AEFRMA), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Average binding energy : ',REAL(EBNDAV), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear well depth : ',REAL(AV0WEL), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Excess mass for 12-C : ',REAL(AEXC12), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Cameron E. m. for 12-C : ',REAL(CEXC12), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Atomic mass for 12-C : ',REAL(AMMC12), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear mass for 12-C : ',REAL(AMNC12), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Excess mass for 16-O : ',REAL(AEXO16), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Cameron E. m. for 16-O : ',REAL(CEXO16), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Atomic mass for 16-O : ',REAL(AMMO16), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear mass for 16-O : ',REAL(AMNO16), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Excess mass for 40-Ca : ',REAL(AEXC40), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Cameron E. m. for 40-Ca : ',REAL(CEXC40), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Atomic mass for 40-Ca : ',REAL(AMMC40), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear mass for 40-Ca : ',REAL(AMNC40), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Excess mass for 56-Fe : ',REAL(AEXF56), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Cameron E. m. for 56-Fe : ',REAL(CEXF56), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Atomic mass for 56-Fe : ',REAL(AMMF56), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear mass for 56-Fe : ',REAL(AMNF56), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Excess mass for 107-Ag: ',REAL(AEX107), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Cameron E. m. for 107-Ag: ',REAL(CEX107), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Atomic mass for 107-Ag: ',REAL(AMM107), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear mass for 107-Ag: ',REAL(AMN107), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Excess mass for 132-Xe: ',REAL(AEX132), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Cameron E. m. for 132-Xe: ',REAL(CEX132), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Atomic mass for 132-Xe: ',REAL(AMM132), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear mass for 132-Xe: ',REAL(AMN132), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Excess mass for 181-Ta: ',REAL(AEX181), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Cameron E. m. for 181-Ta: ',REAL(CEX181), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Atomic mass for 181-Ta: ',REAL(AMM181), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear mass for 181-Ta: ',REAL(AMN181), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Excess mass for 208-Pb: ',REAL(AEX208), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Cameron E. m. for 208-Pb: ',REAL(CEX208), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Atomic mass for 208-Pb: ',REAL(AMM208), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear mass for 208-Pb: ',REAL(AMN208), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Excess mass for 238-U : ',REAL(AEX238), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Cameron E. m. for 238-U : ',REAL(CEX238), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Atomic mass for 238-U : ',REAL(AMM238), - & ' GeV ****' - WRITE ( LUNOUT,* ) - WRITE ( LUNOUT,* )' **** Nuclear mass for 238-U : ',REAL(AMN238), - & ' GeV ****' - WRITE ( LUNOUT,* ) -#endif - AMHEAV (1) = AMUAMU + 1.D-03 * FKENER ( ONEONE, ZERZER ) - AMHEAV (2) = AMUAMU + 1.D-03 * FKENER ( ONEONE, ONEONE ) - AMHEAV (3) = 2.D+00 * AMUAMU + 1.D-03 * FKENER ( TWOTWO, ONEONE ) - AMHEAV (4) = 3.D+00 * AMUAMU + 1.D-03 * FKENER ( THRTHR, ONEONE ) - AMHEAV (5) = 3.D+00 * AMUAMU + 1.D-03 * FKENER ( THRTHR, TWOTWO ) - AMHEAV (6) = 4.D+00 * AMUAMU + 1.D-03 * FKENER ( FOUFOU, TWOTWO ) - ELBNDE (0) = 0.D+00 - DO 2000 IZ = 1, 100 - ELBNDE ( IZ ) = FERTHO * IZ **EXPEBN -2000 CONTINUE - IF ( LEVPRT ) THEN -#if defined(CERNLIB_FDEBUG) - WRITE ( LUNOUT, * )' **** Evaporation from residual nucleus', - & ' activated **** ' - IF ( LDEEXG ) WRITE ( LUNOUT, * )' **** Deexcitation gamma', - & ' production activated **** ' - IF ( LHEAVY ) WRITE ( LUNOUT, * )' **** Evaporated "heavies"', - & ' transport activated **** ' - IF ( IFISS .GT. 0 ) - & WRITE ( LUNOUT, * )' **** High Energy fission ', - & ' requested & activated **** ' -#endif - ELSE - LDEEXG = .FALSE. - LHEAVY = .FALSE. - IFISS = 0 - END IF - RETURN -*=== End of subroutine incini =========================================* - END diff --git a/StarVMC/geant3/fluka/index2.F b/StarVMC/geant3/fluka/index2.F deleted file mode 100644 index c8cf858c1b7..00000000000 --- a/StarVMC/geant3/fluka/index2.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: index2.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: index2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE INDEX2.FOR -*COPY INDEX2 -* -*=== index2 ===========================================================* -* - SUBROUTINE INDEX2(KA,KB,IND) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - KP=KA*KB - KS=KA+KB - IF(KP.EQ.1)IND=1 - IF(KP.EQ.2)IND=2 - IF(KP.EQ.3)IND=3 - IF(KP.EQ.4.AND.KS.EQ.5)IND=4 - IF(KP.EQ.5)IND=5 - IF(KP.EQ.6.AND.KS.EQ.7)IND=6 - IF(KP.EQ.4.AND.KS.EQ.4)IND=7 - IF(KP.EQ.6.AND.KS.EQ.5)IND=8 - IF(KP.EQ.8)IND=9 - IF(KP.EQ.10)IND=10 - IF(KP.EQ.12.AND.KS.EQ.8)IND=11 - IF(KP.EQ.9)IND=12 - IF(KP.EQ.12.AND.KS.EQ.7)IND=13 - IF(KP.EQ.15)IND=14 - IF(KP.EQ.18)IND=15 - IF(KP.EQ.16)IND=16 - IF(KP.EQ.20)IND=17 - IF(KP.EQ.24)IND=18 - IF(KP.EQ.25)IND=19 - IF(KP.EQ.30)IND=20 - IF(KP.EQ.36)IND=21 - RETURN - END diff --git a/StarVMC/geant3/fluka/kinpar.F b/StarVMC/geant3/fluka/kinpar.F deleted file mode 100644 index c5373b45bde..00000000000 --- a/StarVMC/geant3/fluka/kinpar.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: kinpar.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: kinpar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE KINPAR.FOR -*COPY KINPAR -* -*=== kinpar ===========================================================* -* - SUBROUTINE KINPAR(PXYZ,E,RCPMV) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - COMMON /FKKINP/AMTA,AMIT,PXTA,PYTA,PZTA,PSX,PSY,PSZ,PGES2,PGES, - *PGESM,PTA2,PTAM,UMO2,CCX,CCY,CCZ,CXTA,CYTA,CZTA,GA,BGA -C*** CALCULATION OF KINEMATIC PARAMETERS - DIMENSION PXYZ(10),E(2) - PXTA=PXYZ( 2) - PYTA=PXYZ( 6) - PZTA=PXYZ( 10) - PSX=PXYZ( 1)+P XTA - PSY=PXYZ( 5)+P YTA - PSZ=PXYZ( 9)+P ZTA - PGES2=PSX*PSX+PSY*PSY+PSZ*PSZ - PGES=SQRT(PGES2) - PGESM=1.D0/PGES - PTA2=PXTA*PXTA+PYTA*PYTA+PZTA*PZTA - PTAM=1.D0/SQRT(PTA2) - UMO2=((E(1)+E(2))**2-PGES2)/(RCPMV*RCPMV) - UMO2=UMO2*0.000001D0 - CCX=PS X*PGESM - CCY=PS Y*PGESM - CCZ=PS Z*PGESM - CXTA=P XTA*PTAM - CYTA=P YTA*PTAM - CZTA=P ZTA*PTAM - GA=(E(1)+E(2))*0.001D0/(RCPMV*SQRT(UMO2)) - BGA=SQRT(GA*GA-1.D0) - RETURN - END diff --git a/StarVMC/geant3/fluka/kpois.F b/StarVMC/geant3/fluka/kpois.F deleted file mode 100644 index f2dea658466..00000000000 --- a/StarVMC/geant3/fluka/kpois.F +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: kpois.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: kpois.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE KPOIS.FOR -*COPY KPOIS -* -*=== kpois ============================================================* -* - FUNCTION KPOIS(EXPLAM) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(1) -C*** EXPLAM IS EXP(-LAMBDA) -C*** SQMPLING FROM POISSON DISTRIBUTION, AVERAGE LAMBDA -C*** PK = EXP(-LAMBDA)*LAMBDA**K/(K-FACTORIAL) - Y=1.D0 - KPOISS=0 -5 CONTINUE - CALL GRNDM(RNDM,1) - Y=Y*RNDM(1) - IF (Y.LT.EXPLAM) GO TO 10 - KPOISS=KPOISS+1 - GO TO 5 -10 CONTINUE - KPOIS=KPOISS - RETURN - END diff --git a/StarVMC/geant3/fluka/lortra.F b/StarVMC/geant3/fluka/lortra.F deleted file mode 100644 index 7e38c064b6b..00000000000 --- a/StarVMC/geant3/fluka/lortra.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: lortra.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: lortra.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE LORTRA.FOR -*COPY LORTRA -* -*=== lortra ===========================================================* -* - SUBROUTINE LORTRA(N,NAUX,GAM,BGX,BGY,BGZ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C -C LORENTZ TRANSFORMATION OF N PARTICLES IN FINPAR TO BE -C STORED IN AUXPAR STARTING AT NAUX -C -C******************************************************************** -C -#include "geant321/finpar.inc" -#include "geant321/auxpar.inc" - DO 1 I=1,N - J = NAUX + I - 1 - AMA(J) = AMF(I) - ICHA(J) = ICHF(I) - IBARA(J)= IBARF(I) - ANA(J) = ANF(I) - NREA(J) = NREF(I) - CALL ALTRA(GAM,BGX,BGY,BGZ,PXF(I),PYF(I),PZF(I),HEP(I), - & PPA,PXA(J),PYA(J),PZA(J),HEPA(J)) - 1 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/nizl.F b/StarVMC/geant3/fluka/nizl.F deleted file mode 100644 index 411b372e4d4..00000000000 --- a/StarVMC/geant3/fluka/nizl.F +++ /dev/null @@ -1,766 +0,0 @@ -* -* $Id: nizl.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: nizl.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE NIZL.FOR -*COPY NIZL -* * -*=== nizl =============================================================* -* * - SUBROUTINE NIZL ( IT, AAA, EKE, PO, SI, ZL ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -*=====================================================================* -* -* Revision september 90 by A. Ferrari -* Milan -* last change 12 Febr. 1991 by Alfredo Ferrari -* INFN-Milan -* -C******************************************************************** -C VERSION SEPTEMBER 90 BY A. FERRARI -C INFN, MILAN -C LAST CHANGE ON 09 JUNE -92 BY ALFREDO FERRARI -C -C -C SEE: H.J. MOEHRING, HADRON-NUCLEUS INELASTIC CROSS-SECTIONS FOR -C USE IN HADRON-CASCADE CALCULATIONS AT HIGH ENERGIES, -C TIS DIVISION REPORT 14. OCTOBER 1983, TIS-RP/116, CERN GENEVA -C -C -C THIS IS A SUBROUTINE OF FLUKA82 TO CALCULATE THE INELASTIC -C SCATTERING LENGTH OF THE MATERIAL IN G/CM**2. -C -C INPUT VARIABLES: -C IT = TYPE OF THE PARTICLE -C AA = ATOMIC WEIGHT OF THE NUCLEUS -C PO = PARTICLE MOMENTUM IN GEV/C -C -C OUTPUT VARIABLES: -C SI = INTERPOLATED CROSS SECTION IN MILLIBARNS -C ZL = INTERPOLATED ABSORPTION LENGTH IN G/CM**2 -C -C -C OTHER INPORTANT VARIABLES: -C SIG = PROTON/NUCLEI CROSS SECTIONS -C SEG = PION-/NUCLEI CROSS SECTIONS ABOVE 0.3 GEV/C -C SEGP = PION+/NUCLEI CROSS SECTIONS ABOVE 0.3 GEV/C -C SIGKM = K+ AND K0/NUCLEI CROSS SECTIONS ABOVE 3.0 GEV/C -C SIGKP = K+ AND K0 BAR/NUCLEI CROSS SECTIONS ABOVE 3.0 GEV/C -C SIGAP = ANTINUCLEON/NUCLEI CROSS SECTIONS ABOVE 3.0 GEV/C -C SEEG = PION/NUCLEI CROSS SECTIONS BELOW 0.3 GEV/C -C P = MOMENTUMS FOR WHICH THE CROSS SECTIONS ARE GIVEN IN -C SIG, SEG, SEGP, SIGKM, SIGKP AND SIGAP -C PEE = MOMENTUMS FOR WHICH THE CROSS SECTIONS ARE GIVEN IN -C SEEG -C A = NUCLEI FOR WHICH THE CROSS SECTIONS ARE GIVEN IN -C SIG, SEG, SEGP, SIGKM, SIGKP, SIGAP AND SEEG -C PLAB = MOMENTUMS FOR WHICH THE TOTAL CROSS SECTIONS ARE -C GIVEN IN TOTCRS -C TOTCRS = TOTAL CROSS SECTIONS AS A FUNCTION OF MOMENTUM -C TOTCRS(K,I) WHERE K=MOMENTUM INDEX,I=REACTION TYPE -C I=1:NEGATIVE KAON-PROTON = KAON ZERO BAR-NEUTRON -C I=2:NEGATIVE KAON-NEUTRON = KAON ZERO BAR-PROTON -C I=3:POSITIVE KAON-PROTON = KAON ZERO NEUTRON -C I=4:POSITIVE KAON-NEUTRON = KAON ZERO-PROTON -C I=5:ANTI NUCLEON-NUCLEON -C -C -C NOTE1: PRESENTLY CROSS SECTIONS ARE ASSUMED TO BE CONSTANT -C ABOVE 10000.0 GEV/C FOR ALL PARTICLES AND -C BELOW 0.13 GEV/C FOR PIONS AND BELOW 0.3 GEV/C FOR OTHERS -C -C NOTE2: SEE TABLE ITT TO FIND OUT HOW DIFFERENT HADRONS -C ARE TREATED. ALL PARTICLES WITH PARTICLE NUMBER BIGGER THAN -C 25 ARE TREATED AS PROTONS. -C -C NOTE3: FOR LEPTONS AND PHOTONS PRACTICALLY ZERO CROSS SECTION -C IS RETURNED. -C******************************************************************** -C -#include "geant321/paprop.inc" -C - PARAMETER ( AVOGMB = 1.0D+27 / AVOGAD ) - PARAMETER ( AMPROT = 0.93827231D+00 ) - PARAMETER ( AMNEUT = 0.93956563D+00 ) - PARAMETER ( AMNTM2 = AMPROT + AMNEUT ) - PARAMETER ( AMNCSQ = 0.25D+00 * AMNTM2 * AMNTM2 ) -C -C DIMENSION SIG1(20,5),SEG1(20,5),SEGP1(20,5),SIG2(20,4), -C *SEG2(20,4),SEGP2(20,4) -C EQUIVALENCE (SIG(1),SIG1(1)),(SIG(101),SIG2(1)), -C *(SEG(1),SEG1(1)),(SEG(101),SEG2(1)), -C *(SEGP(1),SEGP1(1)),(SEGP(101),SEGP2(1)) - DIMENSION SEEG(4,9),PEE(4),SIGKP(20,9),SIGKM(20,9),SIGAP(20,9) - DIMENSION SEG(20,9),SIG(20,9),SEGP(20,9),P(20),A(9),ITT(39) - DIMENSION BET(4),ALPH(4) - DIMENSION TOTCRS(19,5) - DIMENSION PLAB(19) - REAL RNDM(1) - SAVE ALPH, BET, A, P, SEEG, PEE, SIG, SEG, SEGP, PLAB, TOTCRS, - & SIGKP, SIGKM, SIGAP, RND, ITT, IROU1, IROU2 - DATA ALPH/.748D0,.803D0,.63D0,.63D0/ - DATA BET/1.27D0,1.22D0,.9D0,.9D0/ - DATA A/1.D0,9.D0,12.D0,27.D0,55.9D0,63.5D0,112.4D0, - *207.2D0,238.1D0/ - DATA P/0.3D0,0.4D0,0.5D0,0.6D0,0.8D0,1.D0,1.5D0, - *2.D0,3.D0,4.D0,5.D0,6.D0,10.D0, - *20.D0,50.D0,100.D0,200.D0,400.D0,1000.D0,10000.D0/ - DATA SEEG/0.1D0,16.D0,35.D0,42.D0,360.D0,370.D0,310.D0,290.D0, - * 430.D0,435.D0,380.D0,350.D0, - * 670.D0,650.D0,630.D0,610.D0, - * 1130.D0,1040.D0,1000.D0,1000.D0, - * 1240.D0,1140.D0,1100.D0,1090.D0, - * 1880.D0,1750.D0,1645.D0,1630.D0, - * 2930.D0,2750.D0,2540.D0,2500.D0, - * 3240.D0,3050.D0,2800.D0,2750.D0/ - DATA PEE /0.13D0,0.19D0,0.25D0,0.30D0/ - - DATA ((SIG (I,J),I= 1,20),J= 1, 3) / - & 1.0000D-04,1.0000D-04,1.0000D-04,1.0000D-01,1.0000D+00, - & 4.0000D+00,2.4500D+01,2.5000D+01,2.7200D+01,2.7800D+01, - & 2.8500D+01,2.9200D+01,2.9700D+01,3.0500D+01,3.1500D+01, - & 3.1700D+01,3.2100D+01,3.2900D+01,3.4500D+01,4.1200D+01, - & 2.0200D+02,1.9400D+02,1.8700D+02,1.7500D+02,1.5800D+02, - & 1.5300D+02,2.1700D+02,2.2000D+02,2.1200D+02,2.0700D+02, - & 2.0300D+02,2.0100D+02,1.9900D+02,1.9600D+02,1.9400D+02, - & 1.9500D+02,1.9600D+02,1.9900D+02,2.0400D+02,2.2600D+02, - & 2.5000D+02,2.4000D+02,2.3000D+02,2.1600D+02,1.9600D+02, - & 1.9000D+02,2.5000D+02,2.6000D+02,2.5900D+02,2.5400D+02, - & 2.4900D+02,2.4700D+02,2.4400D+02,2.4100D+02,2.3900D+02, - & 2.4000D+02,2.4100D+02,2.4400D+02,2.5100D+02,2.7600D+02 / - - DATA ((SEG (I,J),I= 1,20),J= 1, 3) / - & 4.2000D+01,1.9000D+01,1.6100D+01,1.7000D+01,2.2700D+01, - & 3.2500D+01,2.4600D+01,2.6200D+01,2.5000D+01,2.3700D+01, - & 2.3000D+01,2.2500D+01,2.2000D+01,2.1200D+01,2.0800D+01, - & 2.0700D+01,2.1000D+01,2.1900D+01,2.3800D+01,2.8400D+01, - & 2.9000D+02,2.6400D+02,2.1200D+02,1.9000D+02,1.8900D+02, - & 1.9700D+02,1.9000D+02,1.8500D+02,1.8000D+02,1.7500D+02, - & 1.7000D+02,1.6800D+02,1.6400D+02,1.5500D+02,1.4500D+02, - & 1.4500D+02,1.4800D+02,1.5000D+02,1.5500D+02,1.7200D+02, - & 3.5000D+02,3.0000D+02,2.5000D+02,2.4000D+02,2.4500D+02, - & 2.6000D+02,2.4500D+02,2.3000D+02,2.1500D+02,2.1000D+02, - & 2.0900D+02,2.0800D+02,2.0500D+02,1.8500D+02,1.7500D+02, - & 1.7000D+02,1.7000D+02,1.7300D+02,1.8100D+02,2.0500D+02 / - - DATA ((SEGP (I,J),I= 1,20),J= 1, 3) / - & 1.0000D-01,1.0000D-01,1.0000D-01,1.0000D-01,6.1000D+00, - & 1.2000D+01,1.7700D+01,1.9500D+01,2.0500D+01,2.0700D+01, - & 2.0600D+01,2.0600D+01,2.0200D+01,1.9800D+01,1.9700D+01, - & 1.9900D+01,2.0500D+01,2.1500D+01,2.3500D+01,3.2200D+01, - & 2.9000D+02,2.6400D+02,2.1200D+02,1.9000D+02,1.8900D+02, - & 1.9700D+02,1.9000D+02,1.8500D+02,1.8000D+02,1.7500D+02, - & 1.7000D+02,1.6800D+02,1.6400D+02,1.5500D+02,1.4500D+02, - & 1.4500D+02,1.4800D+02,1.5000D+02,1.5500D+02,1.7200D+02, - & 3.5000D+02,3.0000D+02,2.5000D+02,2.4000D+02,2.4500D+02, - & 2.6000D+02,2.4500D+02,2.3000D+02,2.1500D+02,2.1000D+02, - & 2.0900D+02,2.0800D+02,2.0500D+02,1.8500D+02,1.7500D+02, - & 1.7000D+02,1.7000D+02,1.7300D+02,1.8100D+02,2.0500D+02 / - - DATA ((SIGKP(I,J),I= 1,20),J= 1, 3) / - & 1.0000D-03,1.0000D-03,1.0000D-03,1.0000D-03,2.0000D-01, - & 4.5000D+00,8.9000D+00,1.1600D+01,1.2200D+01,1.3400D+01, - & 1.3600D+01,1.3700D+01,1.3700D+01,1.4900D+01,1.5900D+01, - & 1.6500D+01,1.7400D+01,1.8600D+01,2.0900D+01,2.8800D+01, - & 1.7440D+02,1.7440D+02,1.7440D+02,1.7440D+02,1.7440D+02, - & 1.7440D+02,1.7440D+02,1.2960D+02,1.2460D+02,1.2610D+02, - & 1.2460D+02,1.2290D+02,1.1900D+02,1.1700D+02,1.1900D+02, - & 1.2900D+02,1.3100D+02,1.3600D+02,1.4400D+02,1.7400D+02, - & 2.1630D+02,2.1630D+02,2.1630D+02,2.1630D+02,2.1630D+02, - & 2.1630D+02,2.1630D+02,1.6330D+02,1.5700D+02,1.5880D+02, - & 1.5700D+02,1.5480D+02,1.5000D+02,1.4800D+02,1.5000D+02, - & 1.6100D+02,1.6400D+02,1.6900D+02,1.7900D+02,2.1900D+02 / - - DATA ((SIGKM(I,J),I= 1,20),J= 1, 3) / - & 3.8000D+01,4.3000D+01,2.3000D+01,1.8500D+01,2.0000D+01, - & 2.9000D+01,2.5000D+01,2.3000D+01,2.2500D+01,2.1000D+01, - & 2.0500D+01,2.0000D+01,1.9200D+01,1.8500D+01,1.7800D+01, - & 1.7800D+01,1.8300D+01,1.9200D+01,2.1200D+01,2.8900D+01, - & 1.7440D+02,1.7440D+02,1.7440D+02,1.7440D+02,1.7440D+02, - & 1.7440D+02,1.7440D+02,1.7440D+02,1.6160D+02,1.4900D+02, - & 1.4800D+02,1.5000D+02,1.4600D+02,1.3100D+02,1.2900D+02, - & 1.2900D+02,1.3100D+02,1.3600D+02,1.4400D+02,1.7400D+02, - & 2.1630D+02,2.1630D+02,2.1630D+02,2.1630D+02,2.1630D+02, - & 2.1630D+02,2.1630D+02,2.1630D+02,2.0040D+02,1.8700D+02, - & 1.8540D+02,1.8700D+02,1.8200D+02,1.6500D+02,1.6100D+02, - & 1.6100D+02,1.6400D+02,1.6900D+02,1.7900D+02,2.1900D+02 / - - DATA ((SIGAP(I,J),I= 1,20),J= 1, 3) / - & 1.6400D+02,1.2600D+02,1.1400D+02,9.8000D+01,8.6000D+01, - & 7.2400D+01,5.9000D+01,5.7000D+01,5.3000D+01,5.2000D+01, - & 4.8000D+01,4.5500D+01,4.3500D+01,4.0400D+01,3.6500D+01, - & 3.5200D+01,3.4500D+01,3.4500D+01,3.5400D+01,4.1500D+01, - & 3.2400D+02,3.2400D+02,3.2400D+02,3.2400D+02,3.2400D+02, - & 3.2400D+02,3.2400D+02,3.2400D+02,3.0100D+02,2.9200D+02, - & 2.8400D+02,2.7600D+02,2.7200D+02,2.4500D+02,2.0200D+02, - & 1.9800D+02,1.9600D+02,1.9600D+02,1.9900D+02,2.1900D+02, - & 3.8800D+02,3.8800D+02,3.8800D+02,3.8800D+02,3.8800D+02, - & 3.8800D+02,3.8800D+02,3.8800D+02,3.6000D+02,3.5000D+02, - & 3.4000D+02,3.3000D+02,3.2500D+02,2.9600D+02,2.4600D+02, - & 2.4200D+02,2.4000D+02,2.4000D+02,2.4400D+02,2.6600D+02 / - - DATA ((SIG (I,J),I= 1,20),J= 4, 6) / - & 4.5600D+02,4.3400D+02,4.1600D+02,3.9000D+02,3.6100D+02, - & 3.5200D+02,4.6700D+02,4.7100D+02,4.5800D+02,4.5300D+02, - & 4.5000D+02,4.5500D+02,4.6000D+02,4.4500D+02,4.3500D+02, - & 4.3000D+02,4.3200D+02,4.3700D+02,4.4600D+02,4.8100D+02, - & 7.8200D+02,7.3800D+02,7.0600D+02,6.6100D+02,6.2600D+02, - & 6.1100D+02,7.7600D+02,7.8000D+02,7.6400D+02,7.6000D+02, - & 7.5000D+02,7.6000D+02,7.5500D+02,7.4000D+02,7.3000D+02, - & 7.2600D+02,7.2900D+02,7.3600D+02,7.4800D+02,7.9200D+02, - & 8.6000D+02,8.1000D+02,7.7500D+02,7.2500D+02,6.9000D+02, - & 6.8000D+02,8.4700D+02,8.5300D+02,8.5000D+02,8.4500D+02, - & 8.4000D+02,8.3500D+02,8.2500D+02,8.0500D+02,7.9500D+02, - & 7.9600D+02,7.9900D+02,8.0600D+02,8.1900D+02,8.6400D+02 / - - DATA ((SEG (I,J),I= 1,20),J= 4, 6) / - & 6.1000D+02,5.4000D+02,4.9000D+02,4.6000D+02,4.3500D+02, - & 4.5000D+02,4.4000D+02,4.1500D+02,4.1000D+02,3.9800D+02, - & 3.9200D+02,3.8700D+02,3.7000D+02,3.5000D+02,3.3300D+02, - & 3.3300D+02,3.3500D+02,3.3800D+02,3.4800D+02,3.8300D+02, - & 1.0000D+03,9.1000D+02,8.6000D+02,8.0000D+02,7.8000D+02, - & 7.7500D+02,7.6000D+02,7.1000D+02,6.8300D+02,6.7000D+02, - & 6.6300D+02,6.5400D+02,6.3400D+02,5.9800D+02,5.7000D+02, - & 5.7000D+02,5.7500D+02,5.8000D+02,6.0000D+02,6.5300D+02, - & 1.0900D+03,1.0000D+03,9.6000D+02,9.5000D+02,8.8000D+02, - & 8.5000D+02,8.3500D+02,7.8000D+02,7.5000D+02,7.4000D+02, - & 7.3000D+02,7.2000D+02,7.0000D+02,6.6000D+02,6.3000D+02, - & 6.3000D+02,6.3500D+02,6.4000D+02,6.6000D+02,7.2000D+02 / - - DATA ((SEGP (I,J),I= 1,20),J= 4, 6) / - & 6.1000D+02,5.4000D+02,4.9000D+02,4.6000D+02,4.3500D+02, - & 4.5000D+02,4.4000D+02,4.1500D+02,4.1000D+02,3.9800D+02, - & 3.9200D+02,3.8700D+02,3.7000D+02,3.5000D+02,3.3300D+02, - & 3.3300D+02,3.3500D+02,3.3800D+02,3.4800D+02,3.8300D+02, - & 1.0000D+03,9.1000D+02,8.6000D+02,8.0000D+02,7.8000D+02, - & 7.7500D+02,7.6000D+02,7.1000D+02,6.8300D+02,6.7000D+02, - & 6.6300D+02,6.5400D+02,6.3400D+02,5.9800D+02,5.7000D+02, - & 5.7000D+02,5.7500D+02,5.8000D+02,6.0000D+02,6.5300D+02, - & 1.0900D+03,1.0000D+03,9.6000D+02,9.5000D+02,8.8000D+02, - & 8.5000D+02,8.3500D+02,7.8000D+02,7.5000D+02,7.4000D+02, - & 7.3000D+02,7.2000D+02,7.0000D+02,6.6000D+02,6.3000D+02, - & 6.3000D+02,6.3500D+02,6.4000D+02,6.6000D+02,7.2000D+02 / - - DATA ((SIGKP(I,J),I= 1,20),J= 4, 6) / - & 3.1750D+02,3.1750D+02,3.1750D+02,3.1750D+02,3.1750D+02, - & 3.1750D+02,3.1750D+02,3.1320D+02,3.0110D+02,3.0460D+02, - & 3.0110D+02,2.9680D+02,2.8700D+02,2.8400D+02,2.8600D+02, - & 2.9900D+02,3.0200D+02,3.1100D+02,3.2800D+02,3.8600D+02, - & 6.8380D+02,6.8380D+02,6.8380D+02,6.8380D+02,6.8380D+02, - & 6.8380D+02,6.8380D+02,5.6180D+02,5.4020D+02,5.4640D+02, - & 5.4020D+02,5.3250D+02,5.1500D+02,5.1000D+02,5.1000D+02, - & 5.2200D+02,5.2600D+02,5.3900D+02,5.6700D+02,6.5400D+02, - & 7.5220D+02,7.5220D+02,7.5220D+02,7.5220D+02,7.5220D+02, - & 7.5220D+02,7.5220D+02,6.2240D+02,5.9840D+02,6.0530D+02, - & 5.9840D+02,5.8990D+02,5.7000D+02,5.6500D+02,5.6500D+02, - & 5.7500D+02,5.7900D+02,5.9400D+02,6.2400D+02,7.1800D+02 / - - DATA ((SIGKM(I,J),I= 1,20),J= 4, 6) / - & 3.9680D+02,3.9680D+02,3.9680D+02,3.9680D+02,3.9680D+02, - & 3.9680D+02,3.9680D+02,3.9680D+02,3.6760D+02,3.5300D+02, - & 3.5000D+02,3.5000D+02,3.4100D+02,3.1700D+02,3.0300D+02, - & 2.9900D+02,3.0200D+02,3.1100D+02,3.2800D+02,3.8600D+02, - & 6.8380D+02,6.8380D+02,6.8380D+02,6.8380D+02,6.8380D+02, - & 6.8380D+02,6.8380D+02,6.8380D+02,6.3360D+02,6.2400D+02, - & 6.2000D+02,6.1600D+02,5.9800D+02,5.6900D+02,5.3400D+02, - & 5.2200D+02,5.2600D+02,5.3900D+02,5.6700D+02,6.5400D+02, - & 7.5220D+02,7.5220D+02,7.5220D+02,7.5220D+02,7.5220D+02, - & 7.5220D+02,7.5220D+02,7.5220D+02,6.9700D+02,6.9000D+02, - & 6.8500D+02,6.8000D+02,6.6000D+02,6.3000D+02,5.9000D+02, - & 5.7500D+02,5.7900D+02,5.9400D+02,6.2400D+02,7.1800D+02 / - - DATA ((SIGAP(I,J),I= 1,20),J= 4, 6) / - & 6.4800D+02,6.4800D+02,6.4800D+02,6.4800D+02,6.4800D+02, - & 6.4800D+02,6.4800D+02,6.4800D+02,5.9800D+02,5.8100D+02, - & 5.6400D+02,5.4800D+02,5.4000D+02,5.0000D+02,4.3400D+02, - & 4.2900D+02,4.2700D+02,4.2700D+02,4.3200D+02,4.6400D+02, - & 1.0240D+03,1.0240D+03,1.0240D+03,1.0240D+03,1.0240D+03, - & 1.0240D+03,1.0240D+03,1.0240D+03,9.4100D+02,9.1500D+02, - & 8.8800D+02,8.6200D+02,8.4900D+02,8.0100D+02,7.2000D+02, - & 7.1600D+02,7.1500D+02,7.1500D+02,7.2200D+02,7.6300D+02, - & 1.1100D+03,1.1100D+03,1.1100D+03,1.1100D+03,1.1100D+03, - & 1.1100D+03,1.1100D+03,1.1100D+03,1.0200D+03,9.9200D+02, - & 9.6300D+02,9.3500D+02,9.2100D+02,8.7000D+02,7.8800D+02, - & 7.8400D+02,7.8400D+02,7.8400D+02,7.9200D+02,8.3400D+02 / - - DATA ((SIG (I,J),I= 1,20),J= 7, 9) / - & 1.2360D+03,1.1780D+03,1.1400D+03,1.0800D+03,1.0250D+03, - & 1.0370D+03,1.2610D+03,1.2670D+03,1.2500D+03,1.2500D+03, - & 1.2240D+03,1.2200D+03,1.2130D+03,1.2100D+03,1.2000D+03, - & 1.2000D+03,1.2100D+03,1.2130D+03,1.2300D+03,1.2800D+03, - & 1.8200D+03,1.7600D+03,1.7200D+03,1.6500D+03,1.5700D+03, - & 1.6490D+03,1.9300D+03,1.9350D+03,1.9200D+03,1.9000D+03, - & 1.8930D+03,1.8880D+03,1.8800D+03,1.8700D+03,1.8600D+03, - & 1.8650D+03,1.8700D+03,1.8800D+03,1.9000D+03,1.9450D+03, - & 1.9900D+03,1.9300D+03,1.8900D+03,1.8200D+03,1.7300D+03, - & 1.8320D+03,2.1270D+03,2.1310D+03,2.1200D+03,2.1330D+03, - & 2.0900D+03,2.0850D+03,2.0800D+03,2.0700D+03,2.0600D+03, - & 2.0600D+03,2.0700D+03,2.0770D+03,2.0950D+03,2.1400D+03 / - - DATA ((SEG (I,J),I= 1,20),J= 7, 9) / - & 1.6300D+03,1.4800D+03,1.3100D+03,1.2600D+03,1.2400D+03, - & 1.2200D+03,1.2000D+03,1.1500D+03,1.1150D+03,1.1050D+03, - & 1.0950D+03,1.0800D+03,1.0620D+03,1.0000D+03,9.6000D+02, - & 9.6000D+02,9.6500D+02,9.7100D+02,1.0000D+03,1.0850D+03, - & 2.5000D+03,2.2500D+03,1.9600D+03,1.8500D+03,1.8200D+03, - & 1.8000D+03,1.7800D+03,1.7000D+03,1.6900D+03,1.6850D+03, - & 1.6800D+03,1.6750D+03,1.6600D+03,1.5800D+03,1.5000D+03, - & 1.4800D+03,1.4800D+03,1.4950D+03,1.5300D+03,1.6500D+03, - & 2.7500D+03,2.4750D+03,2.2000D+03,2.1000D+03,2.1000D+03, - & 2.1000D+03,2.0700D+03,1.9600D+03,1.8800D+03,1.8700D+03, - & 1.8400D+03,1.8200D+03,1.8000D+03,1.7400D+03,1.6650D+03, - & 1.6650D+03,1.6780D+03,1.6920D+03,1.7440D+03,1.8780D+03 / - - DATA ((SEGP (I,J),I= 1,20),J= 7, 9) / - & 1.6300D+03,1.4800D+03,1.3100D+03,1.2600D+03,1.2400D+03, - & 1.2200D+03,1.2000D+03,1.1500D+03,1.1150D+03,1.1050D+03, - & 1.0950D+03,1.0800D+03,1.0620D+03,1.0000D+03,9.6000D+02, - & 9.6000D+02,9.6500D+02,9.7100D+02,1.0000D+03,1.0850D+03, - & 2.5000D+03,2.2500D+03,1.9600D+03,1.8500D+03,1.8200D+03, - & 1.8000D+03,1.7800D+03,1.7000D+03,1.6900D+03,1.6850D+03, - & 1.6800D+03,1.6750D+03,1.6600D+03,1.5800D+03,1.5000D+03, - & 1.4800D+03,1.4800D+03,1.4950D+03,1.5300D+03,1.6500D+03, - & 2.7500D+03,2.4750D+03,2.2000D+03,2.1000D+03,2.1000D+03, - & 2.1000D+03,2.0700D+03,1.9600D+03,1.8800D+03,1.8700D+03, - & 1.8400D+03,1.8200D+03,1.8000D+03,1.7400D+03,1.6650D+03, - & 1.6650D+03,1.6780D+03,1.6920D+03,1.7440D+03,1.8780D+03 / - - DATA ((SIGKP(I,J),I= 1,20),J= 7, 9) / - & 1.1530D+03,1.1530D+03,1.1530D+03,1.1530D+03,1.1530D+03, - & 1.1530D+03,1.1530D+03,9.8450D+02,9.4660D+02,9.5740D+02, - & 9.4660D+02,9.3310D+02,9.0000D+02,8.8600D+02,8.8000D+02, - & 8.8600D+02,8.9300D+02,9.1500D+02,9.5600D+02,1.0850D+03, - & 1.8219D+03,1.8219D+03,1.8219D+03,1.8219D+03,1.8219D+03, - & 1.8219D+03,1.8219D+03,1.6088D+03,1.5469D+03,1.5646D+03, - & 1.5469D+03,1.5248D+03,1.4660D+03,1.4330D+03,1.4070D+03, - & 1.4070D+03,1.4210D+03,1.4520D+03,1.5130D+03,1.6890D+03, - & 2.0215D+03,2.0215D+03,2.0215D+03,2.0215D+03,2.0215D+03, - & 2.0215D+03,2.0215D+03,1.7987D+03,1.7296D+03,1.7493D+03, - & 1.7296D+03,1.7049D+03,1.6400D+03,1.6000D+03,1.5700D+03, - & 1.5630D+03,1.5800D+03,1.6130D+03,1.6790D+03,1.8680D+03 / - - DATA ((SIGKM(I,J),I= 1,20),J= 7, 9) / - & 1.1530D+03,1.1530D+03,1.1530D+03,1.1530D+03,1.1530D+03, - & 1.1530D+03,1.1530D+03,1.1530D+03,1.0683D+03,1.0590D+03, - & 1.0530D+03,1.0460D+03,1.0180D+03,9.3700D+02,8.9800D+02, - & 8.8600D+02,8.9300D+02,9.1500D+02,9.5600D+02,1.0850D+03, - & 1.8219D+03,1.8219D+03,1.8219D+03,1.8219D+03,1.8219D+03, - & 1.8219D+03,1.8219D+03,1.8219D+03,1.6881D+03,1.6750D+03, - & 1.6700D+03,1.6600D+03,1.6200D+03,1.4330D+03,1.4070D+03, - & 1.4070D+03,1.4210D+03,1.4520D+03,1.5130D+03,1.6890D+03, - & 2.0215D+03,2.0215D+03,2.0215D+03,2.0215D+03,2.0215D+03, - & 2.0215D+03,2.0215D+03,2.0215D+03,1.8731D+03,1.8590D+03, - & 1.8540D+03,1.8440D+03,1.8000D+03,1.6200D+03,1.5800D+03, - & 1.5630D+03,1.5800D+03,1.6130D+03,1.6790D+03,1.8680D+03 / - - DATA ((SIGAP(I,J),I= 1,20),J= 7, 9) / - & 1.5900D+03,1.5900D+03,1.5900D+03,1.5900D+03,1.5900D+03, - & 1.5900D+03,1.5900D+03,1.5900D+03,1.4570D+03,1.4170D+03, - & 1.3760D+03,1.3360D+03,1.3160D+03,1.2600D+03,1.1750D+03, - & 1.1720D+03,1.1760D+03,1.1760D+03,1.1850D+03,1.2330D+03, - & 2.3380D+03,2.3380D+03,2.3380D+03,2.3380D+03,2.3380D+03, - & 2.3380D+03,2.3380D+03,2.3380D+03,2.1360D+03,2.0760D+03, - & 2.0170D+03,1.9580D+03,1.9280D+03,1.8730D+03,1.8000D+03, - & 1.8040D+03,1.8160D+03,1.8160D+03,1.8260D+03,1.8740D+03, - & 2.5520D+03,2.5520D+03,2.5520D+03,2.5520D+03,2.5520D+03, - & 2.5520D+03,2.5520D+03,2.5520D+03,2.3300D+03,2.2650D+03, - & 2.2000D+03,2.1360D+03,2.1030D+03,2.0500D+03,1.9840D+03, - & 1.9900D+03,2.0040D+03,2.0040D+03,2.0150D+03,2.0610D+03 / - - DATA ((TOTCRS(I,J),I= 1,19),J= 1, 3) / - & 7.9400D+01,7.6200D+01,4.4700D+01,3.6500D+01,3.3100D+01, - & 4.0200D+01,4.3400D+01,5.1700D+01,4.3600D+01,3.6900D+01, - & 3.1200D+01,3.1600D+01,3.3500D+01,3.0400D+01,2.7400D+01, - & 2.5400D+01,2.4500D+01,2.4000D+01,2.2500D+01, - & 5.4200D+01,5.1000D+01,3.6000D+01,2.6000D+01,2.9100D+01, - & 3.0000D+01,3.0000D+01,3.6600D+01,3.3000D+01,2.9600D+01, - & 2.8300D+01,2.7000D+01,2.6400D+01,2.2700D+01,2.1800D+01, - & 2.0500D+01,2.1000D+01,2.1900D+01,2.0600D+01, - & 1.2000D+01,1.3700D+01,1.3000D+01,1.2500D+01,1.1200D+01, - & 1.2000D+01,1.4300D+01,1.6000D+01,1.7200D+01,1.8100D+01, - & 1.7900D+01,1.8300D+01,1.7900D+01,1.7600D+01,1.7200D+01, - & 1.7600D+01,1.7200D+01,1.7000D+01,1.7300D+01 / - - DATA ((TOTCRS(I,J),I= 1,19),J= 4, 5) / - & 1.3000D+01,1.4500D+01,1.4000D+01,1.3000D+01,1.4500D+01, - & 1.5800D+01,1.6900D+01,1.8500D+01,2.0600D+01,2.0900D+01, - & 2.0000D+01,1.9400D+01,1.9000D+01,1.8800D+01,1.7800D+01, - & 1.7800D+01,1.7800D+01,1.7500D+01,1.7500D+01, - & 2.8000D+02,1.9970D+02,1.7110D+02,1.5430D+02,1.4000D+02, - & 1.3000D+02,1.1680D+02,1.1740D+02,1.1160D+02,1.0900D+02, - & 1.0650D+02,1.0280D+02,1.0000D+02,9.0200D+01,7.6700D+01, - & 6.8000D+01,6.2800D+01,6.0700D+01,5.6000D+01 / - -C PLAB - LAB MOMENTUM SCALE FOR TOTCRS - DATA PLAB/.3D0,.4D0,.5D0,.6D0,.7D0,.8D0,.9D0,1.D0,1.1D0, - *1.2D0,1.3D0, - &1.4D0,1.5D0,2.D0,3.D0,4.D0, - *5.D0,6.D0,10.D0/ -* Original correspondence -* p ap e- e+ nu anu gamma n an mu+ mu- -* DATA ITT/ 1, 7, 0, 0, 0, 0, 0, 2, 8, 0, 0, -* Klong pi+ pi- K+ K- Lam Alam Kshrt Sig- Sig+ Sig0 -* & 10, 3, 4, 6, 5, 1, 2, 10, 1, 1, 1, -* pi0 K0 AK0 -* & 3, 10, 9/ -* p ap e- e+ nu anu gamma n an mu+ mu- - DATA ITT/ 1, 7, 0, 0, 0, 0, 0, 2, 8, 0, 0, -* Klong pi+ pi- K+ K- Lam Alam Kshrt Sig- Sig+ Sig0 - & 10, 3, 4, 6, 5, 2, 8, 10, 2, 1, 2, -* pi0 K0 AK0 pi0 res. res. res. res. Asi- Asi0 Asi+ - & 3, 10, 9, 3, 0, 0, 0, 0, 8, 8, 7, -* X0 Ax0 X- AX- Om- Aom+ - & 2, 8, 2, 8, 2, 8 / -* -* -* Modified by A. Ferrari to use RNDM2 -* -* -* Comment the next 1 card for Rndm2, activate for Rndm -* -* DATA ROU1/-2.D0/ -* -* Comment the next 1 card on Rndm, activate for Rndm2 -* - DATA IROU1, IROU2 /2*0/ - AA=AAA - SI=AZRZRZ - ZL=AINFNT - IF ( AA .LT. 1.5D+00 ) THEN - IF ( IT .EQ. 13 .AND. PO .LE. 0.270436311984990D+00 ) THEN - SI = 0.D+00 - ZL = AINFNT - RETURN - ELSE IF ( IT .EQ. 1 .AND. PO .LE. 0.776527236216833D+00 ) THEN - SI = 0.D+00 - ZL = AINFNT - RETURN - ELSE IF ( IT .EQ. 8 .AND. PO .LE. 0.777284775476990D+00 ) THEN - SI = 0.D+00 - ZL = AINFNT - RETURN - END IF - END IF -* Check the kinetic energy: no interaction below 50 MeV at present -* IF ( IT .LE. 30 ) THEN - IF ( EKE .LT. 0.0499D+00 ) RETURN -* ELSE -* IF ( EKE .LT. 2.5D+00 ) RETURN -* END IF - IF(AA.LT.0.99D0)RETURN -C -C CALCULATE THE NEW PARTICLE NUMBER IIT: 1=P,2=N,3=PI+,4=PI-, -C 5=K-,6=K+,7=P BAR,8=N BAR,9=K ZERO BAR,10=K ZERO -C - IIT=ITT(IT) - IF(IIT.EQ.0)RETURN -C -C RNDM IS CALLED ONLY ONCE EVEN IF 'CALL NIZL' IS IN A DO-LOOP -C (I.E. CURRENT MATERIAL IS A COMPOUND). -C - IF(IT.EQ.19.OR.IT.EQ.12) THEN - CALL GRNDMQ(JROU1,JROU2,0,'G') - IF(IROU1.NE.JROU1.AND.IROU2.NE.JROU2) THEN - CALL GRNDM(RNDM,1) - RND=RNDM(1) - ENDIF - IF(RND.GT.0.5D0) IIT=9 - CALL GRNDMQ(IROU1,IROU2,0,'G') - END IF - IF(AA.LT.2.D0) GOTO 9 - IF(IIT.GE.5.AND.PO.LE.2.D0) GOTO 102 -C -C******************************************************************** -C P, N , PI+, PI- OR ANY HIGH ENERGY (> 2 GEV/C) HADRON -C******************************************************************** -C -C CALCULATE THE MOMENTUM INDEX K -C - 9 CONTINUE - DO 22 K=1,20 - IF(PO.LE.P(K)) GO TO 23 - 22 CONTINUE - K=20 - 23 CONTINUE -C -C CALCULATE THE MASS INDEX J -C - IF(AA.GE.2.D0) GOTO 8 - AA=1.D+00 - J=1 - JJ=1 - GOTO 7 - 8 CONTINUE - DO 5 I=2,8 - IF(AA.LE.A(I)) GO TO 6 - GO TO 5 - 6 CONTINUE - J=I-1 - JJ=J+1 - GO TO 7 - 5 CONTINUE - J=8 - JJ=J+1 - 7 CONTINUE - GO TO (101,101,114,113,116,115,1002,1002,116,115) ,IIT -C -C NUCLEONS -C - 101 CONTINUE - SI1=SIG(K,J)*(AA/A(J))**(LOG(SIG(K,JJ)/SIG(K,J))/LOG(A(J+1)/A(J - *))) - IF (K.EQ.1) THEN - SI=SI1 - GO TO 121 - END IF - KK=K-1 - SI2=SIG(KK,J)*(AA/A(J))**(LOG(SIG(KK,JJ)/SIG(KK,J))/LOG(A(J+1)/ - *A(J))) - IF (PO.GE.10000.D0) THEN - AMITSQ=AM(IT)*AM(IT) - S1SQ=AMITSQ+AMNCSQ+AMNTM2*(P(K)+0.5D+00*AMITSQ/P(K)) - S2SQ=AMITSQ+AMNCSQ+AMNTM2*(P(KK)+0.5D+00*AMITSQ/P(KK)) - SSSQ=AMITSQ+AMNCSQ+AMNTM2*(PO+0.5D+00*AMITSQ/PO) - ALS2SQ=LOG(S2SQ) - BCOEF=(SI2-SI1)/(ALS2SQ-LOG(S1SQ)) - ACOEF=SI2-BCOEF*ALS2SQ - SI=ACOEF+BCOEF*LOG(SSSQ) - GO TO 121 - ELSE - GO TO 120 - END IF -C -C PI - -C - 113 CONTINUE - IF(K.EQ.1) GOTO 1113 - SI1=SEG(K,J)*(AA/A(J))**(LOG(SEG(K,JJ)/SEG(K,J))/LOG(A(J+1)/A(J - *))) - KK=K-1 - SI2=SEG(KK,J)*(AA/A(J))**(LOG(SEG(KK,JJ)/SEG(KK,J))/LOG(A(J+1)/ - *A(J))) - IF (PO.GE.10000.D0) THEN - AMITSQ=AM(IT)*AM(IT) - S1SQ=AMITSQ+AMNCSQ+AMNTM2*(P(K)+0.5D+00*AMITSQ/P(K)) - S2SQ=AMITSQ+AMNCSQ+AMNTM2*(P(KK)+0.5D+00*AMITSQ/P(KK)) - SSSQ=AMITSQ+AMNCSQ+AMNTM2*(PO+0.5D+00*AMITSQ/PO) - ALS2SQ=LOG(S2SQ) - BCOEF=(SI2-SI1)/(ALS2SQ-LOG(S1SQ)) - ACOEF=SI2-BCOEF*ALS2SQ - SI=ACOEF+BCOEF*LOG(SSSQ) - GO TO 121 - ELSE - GO TO 120 - END IF -C -C PI + -C - 114 CONTINUE - IF(K.EQ.1) GOTO 1113 - SI1=SEGP(K,J)*(AA/A(J))**(LOG(SEGP(K,JJ)/SEGP(K,J))/LOG(A(J+1)/ - *A(J))) - KK=K-1 - SI2=SEGP(KK,J)*(AA/A(J))**(LOG(SEGP(KK,JJ)/SEGP(KK,J))/LOG(A(J+ - *1)/A(J))) - IF (PO.GE.10000.D0) THEN - AMITSQ=AM(IT)*AM(IT) - S1SQ=AMITSQ+AMNCSQ+AMNTM2*(P(K)+0.5D+00*AMITSQ/P(K)) - S2SQ=AMITSQ+AMNCSQ+AMNTM2*(P(KK)+0.5D+00*AMITSQ/P(KK)) - SSSQ=AMITSQ+AMNCSQ+AMNTM2*(PO+0.5D+00*AMITSQ/PO) - ALS2SQ=LOG(S2SQ) - BCOEF=(SI2-SI1)/(ALS2SQ-LOG(S1SQ)) - ACOEF=SI2-BCOEF*ALS2SQ - SI=ACOEF+BCOEF*LOG(SSSQ) - GO TO 121 - ELSE - GO TO 120 - END IF -C -C K - AND K0 BAR -C - 116 CONTINUE -C IF(K.EQ.1) GOTO 1113 - SI1=SIGKM(K,J)*(AA/A(J))**(LOG(SIGKM(K,JJ)/SIGKM(K,J))/LOG(A(J+ - *1)/A(J))) - IF (K.EQ.1) THEN - SI=SI1 - GO TO 121 - END IF - KK=K-1 - SI2=SIGKM(KK,J)*(AA/A(J))**(LOG(SIGKM(KK,JJ)/SIGKM(KK,J))/LOG(A - *(J+1)/A(J))) - IF (PO.GE.10000.D0) THEN - AMITSQ=AM(IT)*AM(IT) - S1SQ=AMITSQ+AMNCSQ+AMNTM2*(P(K)+0.5D+00*AMITSQ/P(K)) - S2SQ=AMITSQ+AMNCSQ+AMNTM2*(P(KK)+0.5D+00*AMITSQ/P(KK)) - SSSQ=AMITSQ+AMNCSQ+AMNTM2*(PO+0.5D+00*AMITSQ/PO) - ALS2SQ=LOG(S2SQ) - BCOEF=(SI2-SI1)/(ALS2SQ-LOG(S1SQ)) - ACOEF=SI2-BCOEF*ALS2SQ - SI=ACOEF+BCOEF*LOG(SSSQ) - GO TO 121 - ELSE - GO TO 120 - END IF -C -C K + AND K0 -C - 115 CONTINUE - SI1=SIGKP(K,J)*(AA/A(J))**(LOG(SIGKP(K,JJ)/SIGKP(K,J))/LOG(A(J+ - *1)/A(J))) - IF (K.EQ.1) THEN - SI=SI1 - GO TO 121 - END IF - KK=K-1 - SI2=SIGKP(KK,J)*(AA/A(J))**(LOG(SIGKP(KK,JJ)/SIGKP(KK,J))/LOG(A - *(J+1)/A(J))) - IF (PO.GE.10000.D0) THEN - AMITSQ=AM(IT)*AM(IT) - S1SQ=AMITSQ+AMNCSQ+AMNTM2*(P(K)+0.5D+00*AMITSQ/P(K)) - S2SQ=AMITSQ+AMNCSQ+AMNTM2*(P(KK)+0.5D+00*AMITSQ/P(KK)) - SSSQ=AMITSQ+AMNCSQ+AMNTM2*(PO+0.5D+00*AMITSQ/PO) - ALS2SQ=LOG(S2SQ) - BCOEF=(SI2-SI1)/(ALS2SQ-LOG(S1SQ)) - ACOEF=SI2-BCOEF*ALS2SQ - SI=ACOEF+BCOEF*LOG(SSSQ) - GO TO 121 - ELSE - GO TO 120 - END IF -C -C ANTI-NUCLEONS -C - 1002 CONTINUE - SI1=SIGAP(K,J)*(AA/A(J))**(LOG(SIGAP(K,JJ)/SIGAP(K,J))/LOG(A(J+ - *1)/A(J))) - IF (K.EQ.1) THEN - SI=SI1 - GO TO 121 - END IF - KK=K-1 - SI2=SIGAP(KK,J)*(AA/A(J))**(LOG(SIGAP(KK,JJ)/SIGAP(KK,J))/LOG(A - *(J+1)/A(J))) - IF (PO.GE.10000.D0) THEN - AMITSQ=AM(IT)*AM(IT) - S1SQ=AMITSQ+AMNCSQ+AMNTM2*(P(K)+0.5D+00*AMITSQ/P(K)) - S2SQ=AMITSQ+AMNCSQ+AMNTM2*(P(KK)+0.5D+00*AMITSQ/P(KK)) - SSSQ=AMITSQ+AMNCSQ+AMNTM2*(PO+0.5D+00*AMITSQ/PO) - ALS2SQ=LOG(S2SQ) - BCOEF=(SI2-SI1)/(ALS2SQ-LOG(S1SQ)) - ACOEF=SI2-BCOEF*ALS2SQ - SI=ACOEF+BCOEF*LOG(SSSQ) - GO TO 121 - END IF -C -C INTERPOLATE LINEARLY WITH RESPECT TO MOMENTUM -C - 120 CONTINUE - SI=SI1+(PO-P(K))*(SI2-SI1)/(P(KK)-P(K)) - GO TO 121 -C -C******************************************************************** -C LOW ENERGY (<2.0 GEV/C) K-, K+, PBAR, NBAR, K ZERO BAR, K ZERO -C******************************************************************** -C - 102 CONTINUE - IF(IIT.GE.9) IIT=IIT-4 -C -C CALCULATE MOMENTUM INDEX K AND INTERACTION INDICES I1 AND I2 -C - DO 33 K=1,19 - IF(PO.LE.PLAB(K)) GO TO 34 - 33 CONTINUE - K=19 - 34 KK=K-1 - PO1=PO-PLAB(K) - IIT=IIT-4 - I2=2*IIT - I1=I2-1 - IF(I1.LT.5) GO TO 41 - I1=5 - I2=5 - 41 CONTINUE -C -C TAKE THE AVERAGE OVER -/NEUTRON AND -/PROTON CROSS SECTIONS -C AND INTERPOLATE LINEARLY WITH RESPECT TO MOMENTUM -C - SI=(TOTCRS(K,I1)+TOTCRS(K,I2))*0.5D0 - IF(K.EQ.1) GOTO 2008 - DS=(TOTCRS(KK,I1)+TOTCRS(KK,I2)-TOTCRS(K,I1)-TOTCRS(K,I2))*0.5D0 - SI=SI+PO1*DS/(PLAB(KK)-PLAB(K)) - 2008 CONTINUE - SI=BET(IIT)*SI*AA**ALPH(IIT) - IF(IT.NE.16.OR.PO.GE.1.41D0) GOTO 121 -C -C SPECIAL TREATMENT FOR LOW ENERGY K- -C - SI=SI*0.5D0*(1.D0+SQRT(PO**2+0.244D0)-0.494D0) - GO TO 121 -C -C******************************************************************** -C LOW ENERGY PIONS (<0.3GEV/C) -C******************************************************************** -C - 1113 CONTINUE - SI=0.01D0 - IF(IT.EQ.13.AND.J.EQ.1) THEN - SI = ANGLGB - GOTO 121 - END IF - DO 1122 K=1,4 - IF(PO.LE.PEE(K)) GOTO 1123 - 1122 CONTINUE - K=4 - 1123 CONTINUE - SI1=SEEG(K,J)*(AA/A(J))**(LOG(SEEG(K,JJ)/SEEG(K,J)) - * /LOG(A(J+1)/A(J))) - SI=SI1 - IF(K.EQ.1)GO TO 121 - KK=K-1 - SI2=SEEG(KK,J)*(AA/A(J))**(LOG(SEEG(KK,JJ) - * /SEEG(KK,J))/LOG(A(J+1)/A(J))) -C -C INTERPOLATE LINEARLY WITH RESPECT TO MOMENTUM -C - SI=SI1 + (PO-PEE(K))*(SI2-SI1)/(PEE(KK)-PEE(K)) -C -C******************************************************************** -C CALCULATE THE INTERACTION LENGTH -C******************************************************************** -C - 121 CONTINUE -* A. Ferrari: commented out, no 1.07 factor is applied now to neutrons -* IF(J.EQ.1.AND.IIT.EQ.2) SI=SI*1.07D+00 -C ZL=10000.D0*AA/(6.022D0*SI) - ZL=AVOGMB*AA/SI - RETURN - END diff --git a/StarVMC/geant3/fluka/nizlnw.F b/StarVMC/geant3/fluka/nizlnw.F deleted file mode 100644 index 210d267f87e..00000000000 --- a/StarVMC/geant3/fluka/nizlnw.F +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: nizlnw.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: nizlnw.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE NIZLNW.FOR -*COPY NIZLNW -* * -*=== nizlnw ===========================================================* -* * - SUBROUTINE NIZLNW ( IT, ZZZ, AAA, EKE, PO, SI, ZL ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C -#include "geant321/paprop.inc" -C - PARAMETER ( AVOGMB = 1.0D+27 / AVOGAD ) -C - DIMENSION ITT (39) - SAVE ITT - DATA ITT/ 1, 7, 0, 0, 0, 0, 0, 2, 8, 0, 0, -* Klong pi+ pi- K+ K- Lam Alam Kshrt Sig- Sig+ Sig0 - & 10, 3, 4, 6, 5, 2, 8, 10, 2, 1, 2, -* pi0 K0 AK0 pi0 res. res. res. res. Asi- Asi0 Asi+ - & 3, 10, 9, 3, 0, 0, 0, 0, 8, 8, 7, -* X0 Ax0 X- AX- Om- Aom+ - & 2, 8, 2, 8, 2, 8 / -* - SI = AZRZRZ - ZL = AINFNT -C -C CALCULATE THE NEW PARTICLE NUMBER IIT: 1=P,2=N,3=PI+,4=PI-, -C 5=K-,6=K+,7=P BAR,8=N BAR,9=K ZERO BAR,10=K ZERO -C - IIT = ITT (IT) - IF ( IIT .LE. 0 ) RETURN -* Check the kinetic energy: no interaction below 50 MeV at present - IF ( IIT .LE. 2 .AND. EKE .LT. 0.400D+00 .AND. AAA .GT. 1.5D+00 ) - & THEN - IF ( IIT .EQ. 1 ) THEN - SI = XSEPRO ( EKE, ZZZ, AAA ) - ELSE - SI = XSENEU ( EKE, ZZZ, AAA ) - END IF - IF ( EKE .GT. 0.200D+00 ) THEN - CALL NIZL ( IT, AAA, EKE, PO, SI2, ZL2 ) - WEIGH1 = ( 0.400D+00 - EKE ) / 0.200D+00 - SI = WEIGH1 * SI + ( 1.D+00 - WEIGH1 ) * SI2 - END IF - IF ( SI .GT. 0.D+00 ) THEN - ZL = AVOGMB * AAA / SI - ELSE - SI = 0.D+00 - ZL = AINFNT - END IF - ELSE - CALL NIZL ( IT, AAA, EKE, PO, SI, ZL ) - END IF - RETURN - END diff --git a/StarVMC/geant3/fluka/nucevv.F b/StarVMC/geant3/fluka/nucevv.F deleted file mode 100644 index 91346329090..00000000000 --- a/StarVMC/geant3/fluka/nucevv.F +++ /dev/null @@ -1,669 +0,0 @@ -* -* $Id: nucevv.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: nucevv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.43 by S.Giani -*-- Author : -*$ CREATE NUCEVV.FOR -*COPY NUCEVV -* -*=== nucevv ===========================================================* -* - SUBROUTINE NUCEVV ( NNHAD, KPROJ, PPPROJ, EKPROJ, TXI, TYI, TZI ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -*----------------------------------------------------------------------* -* Nucevt90: new version by A. Ferrari INFN-Milan and CERN-SPS -* -* Besides code cleaning, some changes have been made to extract -* the quantities needed for a correct energy, momentum, electric -* charge and baryonic charge conservation. This quantities are put -* in /balanc/ common -*----------------------------------------------------------------------* -* -C -C************************************************************** -C /NUCPAR/ -C PARTICLES CREATED IN NUCEVT -C PXNU,PYNU,PZNU = X-, Y- AND Z-COMPONENTS OF THE -C LAB MOMENTUM OF THE SECONDARY. COORDINATE SYSTEM -C DEFINED BY THE PRIMARY PARTICLE. -C HEPNU = TOTAL ENERGY IN THE LAB -C AMNU = REST MASS -C ICHNU = CHARGE -C IBARNU = BARYONIC NUMBER -C ANNU = NAME OF THE PARTICLE -C NRENU = TYPE NUMBER OF THE PARTICLE -C************************************************************** -C -#include "geant321/balanc.inc" -#include "geant321/corinc.inc" -#include "geant321/depnuc.inc" -#include "geant321/hadpar.inc" -#include "geant321/inpdat2.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucpar.inc" -#include "geant321/parevt.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" - COMMON /FKPRIN/ IPRI, INIT -* The following dimension statement is now obsolete -* DIMENSION XQT(20), XDQT(20), IFQT(3,20) - REAL RNDM(1) - LOGICAL LDSAVE - DIMENSION PTHRSH (39) - SAVE PTHRSH - DATA PTHRSH / 16*5.D+00,2*2.5D+00,5.D+00,3*2.5D+00,8*5.D+00, - & 9*2.5D+00 / -* -* -* -*----------------------------------------------------------------------* -* Eproj = total energy of the projectile -* Amproj = mass energy of the projectile -* Ekproj = kinetic energy of the projectile -* Pproj = momentum of the projectile -* Eeproj = original total energy of the projectile -* Ppproj = original momentum of the projectile -* Ibproj = barionic charge of the projectile -* Icproj = electric charge of the projectile -* Nnhad = number of particles produced in Nucevt -* Nevt = number of high energy collisions -* Atemp = local variable with the mass number of the residual -* nucleus : it is updated at any interaction and alrea- -* dy includes contributions from cascade particles -* (even though actually they are produced after the -* high energy interactions: since there is no real -* correlation except for the one with Nsea, this does -* not represent a problem) -* Ztemp = same as Atemp for the atomic number -*----------------------------------------------------------------------* -* - TXX = TXI - TYY = TYI - TZZ = TZI - PPROJ = PPPROJ - AMPROJ= AM (KPROJ) - EPROJ = EKPROJ + AMPROJ - EEPROJ= EPROJ -C - IBPROJ= IBAR (KPROJ) - ICPROJ= ICH (KPROJ) -* Set Atemp and Ztemp to their initial values - ATEMP = IBTAR - IGREYP - IGREYN - ZTEMP = ICHTAR - IGREYP - NNHAD = 0 - NEVT = 0 -* Now Nsea is sampled inside Corrin and passed through common /corrinc - IF ( NSEA .EQ. 0 ) GO TO 1000 - IF ( INIT .EQ. 1 ) WRITE(LUNOUT,1)NNHAD,KPROJ,PPROJ, - * AMPROJ,EPROJ,ANUAV,NSEA - 1 FORMAT (1X,2I5,4F12.5,I10) -* -* We have now sampled Nsea, the number of quark-antiquark pairs -* interacting besides the valence interaction (total interactions -* = Nsea+1 -* -*or IF (INIT.EQ.1) WRITE(LUNOUT,4)XO,(XSEA(I),XASEA(I),I=1,NSEA) -*or 4 FORMAT (10F12.6) -* +-------------------------------------------------------------------* -* | Sample effective meson nucleus collisions -* | Em, im, ekm, pm refer to the meson quantities - DO 6 I = 1, NSEA - EM = EKPROJ * ( XSEA(I) + XASEA(I) ) -* | +----------------------------------------------------------------* -* | | Selection of the ddbar or qqbar composition - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. 0.5D+00 ) THEN - IM = 23 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - IM = 26 - END IF -* | | -* | +----------------------------------------------------------------* - AMPIO = AM (IM) - EKM = EM - AMPIO -* | +----------------------------------------------------------------* -* | | Energy and/or momentum is too low!!! - IF ( EKM .LT. ETHSEA .OR. PPROJ .LT. PTHRSH (KPTOIP(KPROJ)) ) - & THEN -* | | +-------------------------------------------------------------* -* | | | - IF ( I .LT. NSEA ) THEN - II = I + 1 - XSEA(II) = XSEA(II) + XSEA(I) - XASEA(II)= XASEA(II) + XASEA(I) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - END IF -* | | | -* | | +-------------------------------------------------------------* - KT = IJTARG (I) -* | | +-------------------------------------------------------------* -* | | | Kt is the index of the target nucleon (1=proton,8=neutron) - IF ( KT .EQ. 1 ) THEN - ZNOW = ZNOW + 1.D+00 - KTARP = KTARP - 1 - ZNCOLL = ZNCOLL - 1.D+00 -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - KTARN = KTARN - 1 - END IF -* | | | -* | | +-------------------------------------------------------------* - ANOW = ANOW + 1.D+00 - ANCOLL = ANCOLL - 1.D+00 - GO TO 6 - END IF -* | | -* | +----------------------------------------------------------------* - AMPIO2 = AMPIO * AMPIO - EPROLD = EKPROJ + AMPROJ - PPROLD = PPROJ -* | After selection of the meson energy, Ekproj is updated - EKPROJ = EKPROJ - EM - EPROJ = EKPROJ + AMPROJ -* | +----------------------------------------------------------------* -* | | All ekproj energy is transferred to em if ekproj < 4 GeV -* | | Now modified since it causes troubles to energy conservation by -* | | A. Ferrari: force them to have only a valence interaction - IF ( EKPROJ .LT. 3.99D0 ) THEN - EKPROJ = EKPROJ + EM -* | | +-------------------------------------------------------------* -* | | | - DO 666 IN = I, NSEA - KT = IJTARG (IN) -* | | | +----------------------------------------------------------* -* | | | | Kt is the index of the target nucleon (1=proton,8=neutron) - IF ( KT .EQ. 1 ) THEN - ZNOW = ZNOW + 1.D0 - KTARP = KTARP - 1 -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE - KTARN = KTARN - 1 - END IF -* | | | | -* | | | +----------------------------------------------------------* - ANOW = ANOW + 1.D0 - 666 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - GO TO 66 - END IF -* | | -* | +----------------------------------------------------------------* -* | Now the wounded nucleus is selected inside Corevt - KT = IJTARG (I) - ATEMP = ATEMP - 1.D+00 - IF ( KT .EQ. 1 ) ZTEMP = ZTEMP - 1.D+00 -* | +---------------------------------------------------------------* -* | | - IF ( NINT ( ATEMP ) .EQ. 1 ) THEN - LLASTN = .TRUE. - KTLAST = KT - KTINC = IJTARG ( NSEA + 1 ) - PM = SQRT ( EM**2 - AMPIO2 ) - AMLAST = AM (KTLAST) - AMINC = AM (KTINC) - UMIN2 = ( AMINC + AMLAST )**2 - ITJ = MIN ( KTINC, 2 ) - DELTAE = V0WELL (ITJ) - EFRMAV (ITJ) -* | | +------------------------------------------------------------* -* | | | Selection of the invariant mass of the two last nucleon -* | | | system -2020 CONTINUE - EKPROJ = EKPROJ - DELTAE - EFRM = EFRM - DELTAE - ELEFT = ETTOT - EINTR - EUZ - EKPROJ - AMPROJ - EM - PPROJ = SQRT ( EKPROJ * ( EKPROJ + 2.D+00 * AMPROJ ) ) - PXLEFT = PXTTOT - PXINTR - PUX - ( PPROJ + PM ) * TXX - PYLEFT = PYTTOT - PYINTR - PUY - ( PPROJ + PM ) * TYY - PZLEFT = PZTTOT - PZINTR - PUZ - ( PPROJ + PM ) * TZZ - UMO2 = ELEFT**2 - PXLEFT**2 - PYLEFT**2 - PZLEFT**2 -* | | | +----------------------------------------------------------* -* | | | | - IF ( UMO2 .LE. UMIN2 ) THEN - PPDTPL = PXLEFT * TXX + PYLEFT * TYY + PZLEFT * TZZ - DELTAE = 0.51D+00 * ( UMIN2 - UMO2 ) / ( ELEFT - - & PPDTPL * ( EKPROJ + AMPROJ ) / PPROJ ) -* | | | | +-------------------------------------------------------* -* | | | | | Skip the sea interaction if deltae < 0 - IF ( DELTAE .LT. 0.D+00 ) THEN - EKPROJ = EKPROJ + EM - ATEMP = ATEMP + 1.D+00 - IF ( KT .EQ. 1 ) ZTEMP = ZTEMP + 1.D+00 -* | | | | | +----------------------------------------------------* -* | | | | | | - DO 777 IN = I, NSEA - KT = IJTARG (IN) -* | | | | | | +-------------------------------------------------* -* | | | | | | | Kt is the index of the target nucleon -* | | | | | | | (1=proton,8=neutron) - IF ( KT .EQ. 1 ) THEN - ZNOW = ZNOW + 1.D0 - KTARP = KTARP - 1 -* | | | | | | | -* | | | | | | +-------------------------------------------------* -* | | | | | | | - ELSE - KTARN = KTARN - 1 - END IF -* | | | | | | | -* | | | | | | +-------------------------------------------------* - ANOW = ANOW + 1.D0 - 777 CONTINUE -* | | | | | | -* | | | | | +----------------------------------------------------* - PPROJ = SQRT ( EKPROJ * ( EKPROJ + 2.D+00 - & * AMPROJ ) ) - GO TO 66 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE IF ( DELTAE .GE. EKPROJ ) THEN - WRITE ( LUNERR,* )' Nucevv: sea call impossible ', - & ' to get Umin2, go to resampling' - LRESMP = .TRUE. - RETURN - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - GO TO 2020 -* | | | -* | | +-<|--<--<--<--< We need more invariant mass!! - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* -* | | Now we will divide Eleft and Pleft between the two -* | | left nucleons! - UMO = SQRT ( UMO2 ) - ELACMS = 0.5D+00 * ( UMO2 + AMLAST**2 - AMINC**2 ) - & / UMO - EINCMS = UMO - ELACMS - PCMS = SQRT ( ELACMS**2 - AMLAST**2 ) - GAMCM = ELEFT / UMO - ETAX = PXLEFT / UMO - ETAY = PYLEFT / UMO - ETAZ = PZLEFT / UMO - CALL RACO ( CXXINC, CYYINC, CZZINC ) - PCMSX = PCMS * CXXINC - PCMSY = PCMS * CYYINC - PCMSZ = PCMS * CZZINC -* | | Now go back from the CMS frame to the lab frame!!! -* | | First the "inc" nucleon: - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - EKINC = GAMCM * EINCMS + ETAPCM - AMINC - PHELP = ETAPCM / (GAMCM + 1.D+00) + EINCMS - PXXINC = PCMSX + ETAX * PHELP - PYYINC = PCMSY + ETAY * PHELP - PZZINC = PCMSZ + ETAZ * PHELP -* | | Now the "last" nucleon - EKLAST = GAMCM * ELACMS - ETAPCM - AMLAST - PHELP = - ETAPCM / (GAMCM + 1.D+00) + ELACMS - PXLAST = - PCMSX + ETAX * PHELP - PYLAST = - PCMSY + ETAY * PHELP - PZLAST = - PCMSZ + ETAZ * PHELP - TVEUZ = 0.D+00 - TVGRE0 = 0.D+00 - EINCT = EINCP + EINCN - IF ( EINCT .GT. 0.D+00 ) THEN - EINCP = EINCP - EINCP / EINCT * TVGREY - EINCN = EINCN - EINCN / EINCT * TVGREY - END IF - TVGREY = 0.D+00 - PSEA = PM + PPROJ - PPROLD - LDSAVE = LDIFFR (KPTOIP(IM)) - LDIFFR (KPTOIP(IM)) = .FALSE. -* | | The last argument for ferevv is set to 0 to signal that it -* | | is not a true valence call - IVFLAG = 0 - CALL FEREVV ( NHAD, IM, KT, PM, EKM, TXX, TYY, TZZ, ATEMP, - & ZTEMP, IVFLAG ) - LDIFFR (KPTOIP(IM)) = LDSAVE - IF ( LRESMP ) RETURN -* | | -* | +---------------------------------------------------------------* -* | | - ELSE - TXXOLD = TXX - TYYOLD = TYY - TZZOLD = TZZ - PPROJ = SQRT ( EKPROJ * ( EKPROJ + 2.D+00 * AMPROJ ) ) - IF ( PPROJ .GT. PPROLD ) THEN - PPROJ = PPROLD * EPROJ / EPROLD - END IF - CALL FERSEA ( NHAD, IM, KT, EKM, TXX, TYY, TZZ, ATEMP, - & ZTEMP, KPROJ, EPROJ, PPROJ, EPROLD, PPROLD ) - IF ( LRESMP ) RETURN - END IF -* | | -* | +----------------------------------------------------------------* - NEVT = NEVT + 1 -* | +----------------------------------------------------------------* -* | | - IF ( NNHAD + NHAD .GT. MXPNUC ) THEN - WRITE (LUNOUT,1101) NNHAD -1101 FORMAT(' NHAD IN NUCEVT TOO BIG CHANGE DIMENSION', - * ' NNHAD=',I10) - STOP - END IF -* | | -* | +----------------------------------------------------------------* - -* | +----------------------------------------------------------------* -* | | Looping over the produced particles!!! - DO 7 JJ = 1, NHAD - NNHAD = NNHAD + 1 - J = NNHAD - PXNU(J) = PXH(JJ) - PYNU(J) = PYH(JJ) - PZNU(J) = PZH(JJ) - HEPNU(J) = HEPH(JJ) - AMNU(J) = AMH(JJ) - IBARNU(J)= IBARH(JJ) - ICHNU(J) = ICHH(JJ) - NRENU(J) = NREH(JJ) - ANNU(J) = ANH(JJ) -* | | Updating energy and momentum accumulators - PUX = PUX+PXNU(J) - PUY = PUY+PYNU(J) - PUZ = PUZ+PZNU(J) - EUZ = EUZ+HEPNU(J) - ICU = ICU+ICHNU(J) - IBU = IBU+IBARNU(J) - 7 CONTINUE -* | | -* | +----------------------------------------------------------------* - 6 CONTINUE -* | -* +-------------------------------------------------------------------* - 66 CONTINUE -* -* Computing the actual pproj -* - EPROJ = EKPROJ + AMPROJ -1000 CONTINUE -* +-------------------------------------------------------------------+ -* | Now modified because of troubles to energy conservation by -* | A. Ferrari: if the incident projectile is a proton or a neutron -* | maybe it was stopped in the nucleus, else it is added to the stack, -* | other particles are also added to the secondary stack. -* | May be is not physical, but better than nothing!!! A different -* | solution maybe to let meson and other baryons decay at rest or -* | also force them to have only a valence interaction or also -* | convert a charged meson plus a residual neutron/proton to a -* | proton/neutron and add the extra energy to the sea meson and -* | so on ???????????????????? -* | Now the condition Pproj .ge. .4 is always fulfilled!!!!! - IF (PPROJ .LT. 4.D0) THEN -* | +---------------------------------------------------------------* -* | | - DKPR30 = KPROJ-30 - IF ( PPROJ - 1.5D+00 * SIGN ( ONEONE, DKPR30 ) - & .LT. 4.D0 ) THEN - WRITE ( LUNERR,* )' Nucevt: Pproj < 4 GeV/c!!!', PPROJ, - & KPROJ - END IF -* | | -* | +---------------------------------------------------------------* - END IF -* | -* +------------------------------------------------------------------* -* Now the wounded nucleus is selected inside Corevt - KT = IJTARG ( NSEA + 1 ) -* Update the Nsea value - NSEA = NEVT -*or IF (INIT.EQ.1) WRITE(LUNOUT,162)NEVT,NHAD,IM,KPROJ,KT,PM, -*or &EM,EKM,PM,EKPROJ,PPROJ,EPROJ -* -* Now ferevt performs the interaction: no longer a meson but the actual -* projectile -* - ATEMP = ATEMP - 1.D+00 - IF ( KT .EQ. 1 ) ZTEMP = ZTEMP - 1.D+00 -* +-------------------------------------------------------------------* -* | - IF ( NINT ( ATEMP ) .EQ. 1 ) THEN - LLASTN = .TRUE. - KTLAST = KT - IF ( ZNOW .GT. 0.D+00 ) THEN - KTINC = 1 - ELSE - KTINC = 8 - END IF - AMLAST = AM (KTLAST) - AMINC = AM (KTINC) - UMIN2 = ( AMINC + AMLAST )**2 - ITJ = MIN ( KTINC, 2 ) -* | +----------------------------------------------------------------* -* | | Selection of the invariant mass of the two last nucleon -* | | system -2040 CONTINUE - ELEFT = ETTOT - EINTR - EUZ - EKPROJ - AMPROJ - PXLEFT = PXTTOT - PXINTR - PUX - PPROJ * TXX - PYLEFT = PYTTOT - PYINTR - PUY - PPROJ * TYY - PZLEFT = PZTTOT - PZINTR - PUZ - PPROJ * TZZ - UMO2 = ELEFT**2 - PXLEFT**2 - PYLEFT**2 - PZLEFT**2 -* | | +-------------------------------------------------------------* -* | | | - IF ( UMO2 .LE. UMIN2 ) THEN - PPDTPL = PXLEFT * TXX + PYLEFT * TYY + PZLEFT * TZZ - DELTAE = 0.51D+00 * ( UMIN2 - UMO2 ) / ( ELEFT - - & PPDTPL * ( EKPROJ + AMPROJ ) / PPROJ ) -* | | | +----------------------------------------------------------* -* | | | | - IF ( DELTAE .GE. EKPROJ .OR. DELTAE .LT. 0.D+00 ) THEN - WRITE ( LUNERR,* )' Nucevv: valence call impossible ', - & ' to get Umin2, go to resampling' - LRESMP = .TRUE. - RETURN - END IF -* | | | | -* | | | +----------------------------------------------------------* - EKPROJ = EKPROJ - DELTAE - PLA = PPROJ - PPROJ = SQRT ( EKPROJ * ( EKPROJ + 2.D+00 * AMPROJ ) ) - PLA = PPROJ - PLA - EFRM = EFRM - DELTAE - PXFRM = PXFRM + TXX * PLA - PYFRM = PYFRM + TYY * PLA - PZFRM = PZFRM + TZZ * PLA - GO TO 2040 -* | | -* | +-<|--<--<--<--< We need more invariant mass!! - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | -* | +----------------------------------------------------------------* -* | Now we will divide Eleft and Pleft between the two -* | left nucleons! - UMO = SQRT ( UMO2 ) - ELACMS = 0.5D+00 * ( UMO2 + AMLAST**2 - AMINC**2 ) / UMO - EINCMS = UMO - ELACMS - PCMS = SQRT ( ELACMS**2 - AMLAST**2 ) - GAMCM = ELEFT / UMO - ETAX = PXLEFT / UMO - ETAY = PYLEFT / UMO - ETAZ = PZLEFT / UMO - CALL RACO ( CXXINC, CYYINC, CZZINC ) - PCMSX = PCMS * CXXINC - PCMSY = PCMS * CYYINC - PCMSZ = PCMS * CZZINC -* | Now go back from the CMS frame to the lab frame!!! -* | First the "inc" nucleon: - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - EKINC = GAMCM * EINCMS + ETAPCM - AMINC - PHELP = ETAPCM / (GAMCM + 1.D+00) + EINCMS - PXXINC = PCMSX + ETAX * PHELP - PYYINC = PCMSY + ETAY * PHELP - PZZINC = PCMSZ + ETAZ * PHELP -* | Now the "last" nucleon - EKLAST = GAMCM * ELACMS - ETAPCM - AMLAST - PHELP = - ETAPCM / (GAMCM + 1.D+00) + ELACMS - PXLAST = - PCMSX + ETAX * PHELP - PYLAST = - PCMSY + ETAY * PHELP - PZLAST = - PCMSZ + ETAZ * PHELP - TVEUZ = 0.D+00 - TVGRE0 = 0.D+00 - EINCT = EINCP + EINCN - IF ( EINCT .GT. 0.D+00 ) THEN - EINCP = EINCP - EINCP / EINCT * TVGREY - EINCN = EINCN - EINCN / EINCT * TVGREY - END IF - TVGREY = 0.D+00 - END IF -* | -* +-------------------------------------------------------------------* -* The last argument for ferevv is set to 1 to signal that it -* is a true valence call - IVFLAG = 1 - CALL FEREVV ( NHAD, KPROJ, KT, PPROJ, EKPROJ, TXX, TYY, TZZ, - & ATEMP, ZTEMP, IVFLAG ) - IF ( LRESMP ) RETURN - NEVT = NEVT + 1 -* +-------------------------------------------------------------------* -* | - IF ( NNHAD + NHAD .GT. MXPNUC ) THEN - WRITE (LUNOUT,1101) NNHAD - STOP - END IF -* | -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | Looping over the produced particles - DO 8 JJ=1,NHAD - NNHAD = NNHAD+1 - J = NNHAD - PXNU(J) = PXH(JJ) - PYNU(J) = PYH(JJ) - PZNU(J) = PZH(JJ) - HEPNU(J) = HEPH(JJ) - AMNU(J) = AMH(JJ) - IBARNU(J)= IBARH(JJ) - ICHNU(J) = ICHH(JJ) - NRENU(J) = NREH(JJ) - ANNU(J) = ANH(JJ) -* | Updating energy and momentum accumulators - PUX = PUX+PXNU(J) - PUY = PUY+PYNU(J) - PUZ = PUZ+PZNU(J) - EUZ = EUZ+HEPNU(J) - ICU = ICU+ICHNU(J) - IBU = IBU+IBARNU(J) - 8 CONTINUE -* | -* +-------------------------------------------------------------------* - 888 CONTINUE -* IF (PPROJ .LT. 4.D0) INIT=1 -**** print and test energy conservation -* - ETOT = EEPROJ + KTARP * ( AMNUCL (1) - EBNDNG (1) ) - & + KTARN * ( AMNUCL (2) - EBNDNG (2) ) + EFRM - ICTOT = ICH (KPROJ) + KTARP - IBTOT = IBAR (KPROJ) + KTARP + KTARN - EMIN = 1.D-10 * ETOT - PMIN = 1.D-10 * PPPROJ -* +-------------------------------------------------------------------* -* | - IF (ICTOT .NE. ICU .OR. IBTOT .NE. IBU) THEN - LRESMP = .TRUE. - WRITE(LUNERR,*)' NUCEVT-FEREVT CHARGE CONSERVATION FAILURE:', - & ' ICU,ICTOT,IBU,IBTOT',ICU,ICTOT,IBU,IBTOT - END IF -* | -* +-------------------------------------------------------------------* - PXCHCK = PPPROJ * TXI + PSEA * TXX - PYCHCK = PPPROJ * TYI + PSEA * TYY - PZCHCK = PPPROJ * TZI + PSEA * TZZ -* +-------------------------------------------------------------------* -* | - IF ( ABS ( PUX - PXFRM - PXCHCK ) .GT. PMIN ) THEN - LRESMP = .TRUE. - WRITE(LUNERR,*)' NUCEVT-FEREVT PX CONSERVATION FAILURE:', - & ' PUX,PXFRM+PXCHCK',PUX,PXFRM+PXCHCK - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - IF ( ABS ( PUY - PYFRM - PYCHCK ) .GT. PMIN ) THEN - WRITE(LUNERR,*)' NUCEVT-FEREVT PY CONSERVATION FAILURE:', - & ' PUY,PYFRM+PYCHCK*TYY',PUY,PYFRM+PYCHCK - LRESMP = .TRUE. - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - IF ( ABS ( PUZ - PZFRM - PZCHCK ) .GT. PMIN ) THEN - LRESMP = .TRUE. - WRITE(LUNERR,*)' NUCEVT-FEREVT PZ CONSERVATION FAILURE:', - & ' PUZ,PZFRM+PZCHCK',PUZ,PZFRM+PZCHCK - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - IF ( ABS ( ETOT - EUZ ) .GT. EMIN ) THEN - LRESMP = .TRUE. - WRITE(LUNERR,*)' NUCEVT-FEREVT E CONSERVATION FAILURE:', - & ' EUZ,ETOT',EUZ,ETOT - END IF -* | -* +-------------------------------------------------------------------* - EUZ0 = EUZ-NEVT*AM(1) - IF (INIT.NE.1) GO TO 11 - WRITE(LUNOUT,12)NNHAD,KPROJ,PPPROJ,EPROJ,PUX,PUY,PUZ,EUZ0, - *ICU,IBU,NNHAD - 12 FORMAT (1X,2I5,6F12.6,3I5) -* +-------------------------------------------------------------------* -* | - DO 13 I=1,NNHAD - WRITE(LUNOUT,14)I,NRENU(I),ICHNU(I),IBARNU(I),ANNU(I),PXNU(I), - * PYNU(I),PZNU(I),HEPNU(I),AMNU(I) - 14 FORMAT (1X,4I5,A8,6F12.6) - 13 CONTINUE -* | -* +-------------------------------------------------------------------* - INIT=0 - 11 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/nucrel.F b/StarVMC/geant3/fluka/nucrel.F deleted file mode 100644 index 40742dd26a8..00000000000 --- a/StarVMC/geant3/fluka/nucrel.F +++ /dev/null @@ -1,355 +0,0 @@ -* -* $Id: nucrel.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: nucrel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:36 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE NUCREL.FOR -*COPY NUCREL -* -*=== nucrel ===========================================================* -* -C -C HJM 17/11/88 -C -C MODIFIED ELASTIC SCATTERING ROUTINE -C (COMP. KMU-HEP INTERNAL NOTE 88-01) -C -C------------------------------------------------------------------ -C - SUBROUTINE NUCREL(IT,PLAB,EKIN,CX,CY,CZ,ANUC,WEE) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C VERSION JULY 81 BY J. RANFT -C LEIPZIG -C LAST CHANGE A. FERRARI 26-9-89: RECOIL ENERGY SCORING ADDED -C -C THIS IS A SUBROUTINE OF FLUKA82 TO SAMPLE ELASTIC INTERACTIONS -C -C INPUT VARIABLES: -C IT = TYPE OF THE PRIMARY -C PLAB = PRIMARY PARTICLE LAB MOMENTUM (GEV/C) -C CX,CY,CZ = PRIMARY PARTICLE DIRECTION COSINES -C ANUC = ATOMIC WEIGHT OF THE TARGET NUCLEUS -C -C OUTPUT VARIABLES: -C CCX,CCY,CCZ = DIRECTION COSINES OF SCATTERED PARTICLE -C -C******************************************************************** -C - PARAMETER (AMUC12 = 0.9314943228D0) -#include "geant321/aadat.inc" -#include "geant321/finuc.inc" -*------ Common part has been added by A. Ferrari ----------------------* -#include "geant321/part2.inc" -C---------------------------------------------------------------- - REAL RNDM(1) - DIMENSION ITT(NALLWP),SHP(6),BP(6),XNN(6,6),BA(6,6),XNA(6),AM(6) - SAVE ITT,SHP,BP,XNN,BA,XNA,AM - DATA ITT/1,2,0,0,0,0,0,1,2,0,0,5,3,4,5,6,1,2,5,1,1,1,3,5,6, - & 3,0,0,0,1,2,2,2,1,2,1,2,1,2/ -C ITT(IT) - INTERNAL PARTICLE NUMBER - DATA AM/ 9.01D0, 12.01D0, 26.98D0, 63.55D0, 118.69D0, 207.19D0/ -C AM - ATOMIC WEIGHTS OF SEVERAL TARGET MATERIALS - DATA XNA/3.5D0, 3.4D0, 4.5D0, 6.7D0, 8.2D0, 9.5D0/ -C XNA(AM) - EFFECTIVE NUCLEON NUMBER - DATA BP/12.D0, 12.D0, 4*10.D0/ -C BP(IIT) - INCOHERENT SLOPE (GEV/C)**-2 - DATA SHP/2*40.D0, 2*25.D0, 2*20.D0/ -C SHP(IIT) - TOTAL HADRON - NUCLEON CROSS SECTION (MB) -C((((((((((((((( BA(IIT,A) XNN(IIT,A) ((((((((((((((((( -C BA - COHERENT SLOPE (GEV/C)**-2 -C XNN - NORMALIZATION FOR PROJECTILE -NUCLEUS SCATTERING (MB) - DATA XNN/ - ( 256.6D0, 240.5D0, 181.0D0, 167.1D0, 144.0D0, 139.0D0, - ( 335.3D0, 355.0D0, 241.0D0, 229.7D0, 181.5D0, 196.0D0, - ( 755.1D0, 1344.0D0, 506.0D0, 480.8D0, 431.0D0, 403.0D0, - (1656.0D0, 1886.0D0, 1104.0D0, 1144.0D0, 914.0D0, 939.0D0, - (3005.0D0, 2559.0D0, 2112.0D0, 2068.0D0, 1723.0D0, 1791.0D0, - (5123.0D0, 5444.0D0, 4071.0D0, 3391.0D0, 3368.0D0, 3168.0D0/ - DATA BA/ - ( 72.0D0, 69.3D0, 65.2D0, 63.4D0, 60.0D0, 65.6D0, - ( 72.3D0, 75.9D0, 65.5D0, 63.1D0, 59.5D0, 68.1D0, - (119.4D0, 128.7D0, 107.3D0, 105.0D0, 105.6D0, 98.8D0, - (201.0D0, 212.0D0, 188.9D0, 183.0D0, 179.0D0, 178.0D0, - (311.0D0, 315.0D0, 286.0D0, 277.0D0, 270.0D0, 266.0D0, - (454.0D0, 448.0D0, 435.0D0, 397.0D0, 416.0D0, 403.0D0/ -C -C******************************************************************** -C PARAMETRIZATION -C DSIGMA/DOMEGA=C*EXP(-DS*THETA**2)+E*EXP(-FS*THETA**2) -C COHERENT PART INCOHERENT PART -C******************************************************************** -C -C*** - NP=1 - TV=0.D0 -C*** - IF(IT.EQ.30) GO TO 301 - IF(ANUC.LT.0.99D0) THEN - CXR(1)=CX - CYR(1)=CY - CZR(1)=CZ - TKI(1)=EKIN - PLR(1)=PLAB - KPART(1)=IT - RETURN - ENDIF -C -C-------------------------------------------------------------------- -C HJM 10/88 ELASTIC SCATTERING INTO 2-BODY FINALSTATE -C FOR NUCLEON-PROTON INITIAL STATE -C AF 9/91 ALSO PBAR,NBAR-PROTON -C FINAL STATE PARTICLES IN /FINUC/ - IF( (ANUC.LT.1.5D0) .AND. (IT.LE.2 .OR. IT.EQ.8 .OR. IT.EQ.9) - & .AND. (EKIN.LT.3.5D0) ) THEN - CALL NUPREL(IT,EKIN,PLAB,CX,CY,CZ) - WEI(1)=WEE - WEI(2)=WEE -C - RETURN - ENDIF -C------------------------------------------------------------------- -C -C******************************************************************** -C 1=P,N, 2=AP,AN, 3=PI+, 4=PI-, 5=K+,K0, 6=K-,K0 BAR -C******************************************************************** -C - IIT=ITT(IT) - IF(IIT.EQ.0)RETURN - AP=PLAB - AP2=AP**2 - A=ANUC - IF(IIT.GE.2) GO TO 101 - IF(AP.GT.20.D0) GO TO 101 -C -C******************************************************************** -C FOR PROTONS BELOW 20 GEV/C -C DSIGMA/DOMEGA=12.5*A**1.63*EXP(-14.5*A**0.66*T)+ -C 17.5*A**0.33*EXP(-10*T) FOR A<62 -C -C DSIGMA/DOMEGA=50*A**1.33*EXP(-60*A**0.33*T)+ -C 20*A**0.4*EXP(-10*T) FOR A>62 -C******************************************************************** -C - A3=A**0.3333333333333333D0 - ATAR=A - IF (ATAR .GT. 62.D0) GO TO 1 - C=12.5D0*A**1.63D0 - DS=14.5D0*A3*A3*AP2 - E=17.5D0*A3 - GO TO 2 - 1 CONTINUE - C=50.D0*A3*A - DS=60.D0*A3*AP2 - E=20.D0*A**0.4D0 - 2 CONTINUE - FS=10.D0*AP2 - GO TO 3 -C -C******************************************************************** -C FOR PROTONS OVER 20 GEV/C AND OTHER PARTICLES -C******************************************************************** -C - 101 CONTINUE - DO 200 I=1,6 - IF(A.LE.AM(I)) GO TO 201 - 200 CONTINUE - K=6 - GO TO 202 - 201 K=I - 202 KK=K+1 - IF(KK.GT.6) KK=K-1 - XNEL=XNN(IIT,K)+(A-AM(K))*(XNN(IIT,KK)-XNN(IIT,K))/(AM(KK)-AM(K)) - C=XNEL**2 - DS=LOG(BA(IIT,KK)/BA(IIT,K))/LOG(AM(KK)/AM(K)) - DS=BA(IIT,K)*(A/AM(K))**DS - DS=DS*AP2 - E=XNA(K)+(A-AM(K))*(XNA(KK)-XNA(K))/(AM(KK)-AM(K)) - E=E*SHP(IIT)**2 - FS=BP(IIT)*AP2 - GO TO 3 -C -C******************************************************************** -C FOR HEAVY IONS: -C -C FOR APROJ>25 OR (APROJ>10 AND ATARG>100) -C DSIG/DOM = 216 * PTOT**1.86 * (AP**0.7 + AT**0.7)**2.2 * -C EXP(-16.1 * (AP**1.2 + AT**0.9)**0.8 * T) + -C 0.3 * PTOT**1.86 * (AP**0.7 + AT**0.7)**2.2 * EXP(-23 * T) -C -C FOR LIGHTER NUCLIDES: -C DSIG/DOM = 78 * PTOT**1.78 * (AP + AT**0.9)**2.1 * -C EXP(-16.1 * (AP**1.2 + AT**0.9)**0.8 * T) + -C 0.5 * PTOT**1.78 * (AP + AT**0.9)**2.1 * EXP(-30 * T) -C -C THE PARAMETRIZATION IS OBTAINED BY FITTING TO -C DATA GENERATED BY THE SOFT-SPHERES MODEL. -C (REF. CHAUVIN & AL. PHYS.REV.C. 28 1970 (1983)) -C THE PARAMETRIZATION IS QUITE CRUDE AND FAILS AT LARGE -C ANGLES. -C THERE IS NO EXPERIMENTAL VERIFICATION FOR THE MODEL AT -C ENERGIES ABOVE 100 MEV/A -C MIKA HUHTINEN 25.8.88 -C******************************************************************** -C - 301 CONTINUE - ITARA=NINT(ANUC) -C ALWAYS LET THE LIGHTER PARTICLE BE THE PROJECTILE (THEN THE -C PARAMETRIZATION WILL GIVE BETTER RESULTS) - IF (ITARA.GE.IPROA) THEN - PROA=IPROA - TARA=ITARA - ELSE - PROA=ITARA - TARA=IPROA - ENDIF -C TOTAL LAB. MOMENTUM - PLTOT=PLAB*PROA -C SQUARE OF CMS MOMENTUM - AP2=((PLTOT*TARA)/(TARA+PROA))**2 - - DS=16.1D0*(PROA**1.2D0 + TARA**0.9D0)**0.8D0*AP2 - - IF (PROA.GT.25.D0) GO TO 302 - IF ((PROA.GT.10.D0).AND.(TARA.GT.100.D0)) GO TO 302 - - CFF=PLTOT**1.78D0*(PROA + TARA**0.9D0)**2.1D0 - C=78.D0*CFF - E=0.5D0*CFF - FS=30.D0*AP2 - GO TO 3 - - 302 CONTINUE - CFF=PLTOT**1.86D0*(PROA**0.7D0 + TARA**0.7D0)**2.2D0 - C=216.D0*CFF - E=0.3D0*CFF - FS=23.D0*AP2 -C -C******************************************************************** -C SAMPLE THE ANGLE AND ROTATE TO GET NEW DIRECTION COSINES -C******************************************************************** -C - 3 CONTINUE - EDS=1.D-9 - IF(DS.LT.10.5D0) EDS=EXP(-2.D0*DS) - EDS2=EDS**2 - DD=C*(1.D0-EDS2)/DS - EFS=1.D-9 - IF(FS.LT.10.5D0) EFS=EXP(-2.D0*FS) - EFS2=EFS**2 - FF=E*(1.D0-EFS2)/FS - DF=2.D0*DS - CALL GRNDM(RNDM,1) - VV=RNDM(1)*(DD+FF) - IF (VV.GT.DD) DF=2.D0*FS - 31 CONTINUE - CALL GRNDM(RNDM,1) - V2=LOG(RNDM(1))/DF - IF (ABS(V2).GT.2.D0) GO TO 31 - V1=V2 - COD=V1+1.D0 - SID=SQRT(-V1*(2.D0+V1)) -* ******* Computing the recoil energy!!!! A. Ferrari, 26-9-89 ******* * - KP = IPTOKP (IT) - APP2 = AAM(KP)**2 - EPROJ = EKIN + AAM(KP) -* +-------------------------------------------------------------------* -* | Hydrogen: generate the recoil proton - IF ( ANUC .LT. 1.2D+00 ) THEN - ATT = AAM (1) - ATT2 = ATT**2 - ETTT = EPROJ + ATT - PTTL = PLAB - PTTT = 0.D+00 - HELP = ATT2 - APP2 * ( 1.D+00 - COD ) * ( 1.D+00 + COD ) -* | Now: it can happen for amproj > amprot on hydrogen. - IF ( HELP .LT. 0.D+00 ) GO TO 3 - PLAB = PLAB * ( ( APP2 + ATT*EPROJ ) * COD + (EPROJ + ATT) - & * SQRT (HELP) ) / ( (EPROJ + ATT)**2 - (PLAB*COD)**2 ) - NP = 2 - TV = 0.D+00 - WEI (1) = WEE - WEI (2) = WEE - KPART (1) = IT - KPART (2) = 1 - TKI (1) = SQRT ( PLAB**2 + APP2 ) - AAM (KP) - TKI (2) = EKIN - TKI (1) - EKIN = TKI (1) - PLR (1) = PLAB - PLR (2) = SQRT ( TKI (2) * ( TKI (2) + 2.D+00 * AAM (1) ) ) - CALL SFECFE ( SFE, CFE ) - CALL TTRANS ( CX, CY, CZ, COD, SID, SFE, CFE, CCX, CCY, CCZ ) - CXR (1) = CCX - CYR (1) = CCY - CZR (1) = CCZ - SINTHE = PLAB / PLR (2) * SID - COSTHE = SQRT ( ( 1.D+00 - SINTHE ) * ( 1.D+00 + SINTHE ) ) - CFE = - CFE - SFE = - SFE - CALL TTRANS ( CX, CY, CZ, COSTHE, SINTHE, SFE, CFE, CXR (2), - & CYR (2), CZR (2) ) - RETURN -* | -* +-------------------------------------------------------------------* -* | "Heavy" nuclei -* | the following line to patch el. scatt. of an, ap, lambdas, sigmas -* | etc on hydrogen ( Now it should be useless ) - ELSE - ATT = MAX ( ANUC * AMUC12, AAM (KP) ) - ATT2 = ATT**2 - HELP = ATT2 - APP2 * ( 1.D+00 - COD ) * ( 1.D+00 + COD ) - PLAB = PLAB*( (APP2 + ATT*EPROJ)*COD + (EPROJ + ATT) - & * SQRT (HELP) ) / ( (EPROJ + ATT)**2 - (PLAB*COD)**2 ) - TV = EPROJ - SQRT ( PLAB**2 + APP2 ) - EKIN = EKIN - TV -* | ***** The following lines only for debugging ***** - IF ( PLAB .LE. 0.D+00 ) THEN - WRITE (LUNOUT,*)' *** Nucrel: plab',PLAB,' ***' - WRITE (LUNERR,*)' *** Nucrel: plab',PLAB,' ***' - END IF -* | ***** End debugging lines ***** - END IF -* | Now the recoil energy is put into Tv -* +-------------------------------------------------------------------* - CALL SFECFE(SFE,CFE) - CALL TTRANS(CX,CY,CZ,COD,SID,SFE,CFE,CCX,CCY,CCZ) -C--------------------------------------------------------- -C MODIFICATION HJM 28/10/88 -C NOTE: HEAVY ION OPTION NOT CONSISTENTLY TREATED NOW]]] -C - WEI(1)=WEE - CXR(1)=CCX - CYR(1)=CCY - CZR(1)=CCZ - TKI(1)=EKIN - PLR(1)=PLAB - KPART(1)=IT - RETURN - END diff --git a/StarVMC/geant3/fluka/nucriv.F b/StarVMC/geant3/fluka/nucriv.F deleted file mode 100644 index f878e154721..00000000000 --- a/StarVMC/geant3/fluka/nucriv.F +++ /dev/null @@ -1,2552 +0,0 @@ -* -* $Id: nucriv.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: nucriv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.43 by S.Giani -*-- Author : -*$ CREATE NUCRIV.FOR -*COPY NUCRIV -* -*=== nucriv ===========================================================* -* - SUBROUTINE NUCRIV (ITTTT,ELAB,CX,CY,CZ,BBTAR,ZZTAR,RHOO) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Last change on 16-sep-92 by Alfredo Ferrari, Infn - Milan * -* * -* Nucrin90 by A. Ferrari: tentative version to overcome many troubles * -* in energy, momentum and charges conservation* -* * -*----------------------------------------------------------------------* -* -C -C-------------------------------------------------- -C*** FINUC: NUCRIN FINAL STATE PARTICLE LIST WITH KINEM. VARIABLES -C*** FINLSP HADRIN FINAL STATE PARTICLE LIST WITH KINEM. VARIABLES -C*** (NUMBER OF PARTICLES,PARTICLE TYPE INDEX,DIRECTION COSINES,ENERGY -C*** ABSOLUTE MOMENTUM AND IN FINUC IN ADDIT. EXCITATION ENERGY -C-------------------------------------------------- -#include "geant321/balanc.inc" -#include "geant321/corinc.inc" -#include "geant321/finuc2.inc" -#include "geant321/finlsp2.inc" -#include "geant321/nucdat.inc" -#include "geant321/resnuc.inc" -* PARAMETER ( TVEPSI = 1.D-05 ) - COMMON / FKNUCF / DELEFT, EKRECL, V0EXTR, ITTA, ITJ, LVMASS - DIMENSION EXSOP (2) - REAL RNDM(1),RANGS1,RANGS2 - COMMON /FKFERM/ELABKE,A,TPNVK,ELATE,IFERT -C -C-------------------------------------------------- -C*** -C*** -C*** SAMPLING OF A HADRON-NUCLEUS COLLISION EVENT -C*** -C ITTTT - TYPE OF INCOMING HADRON -C -C-------------------------------------------------- -C*** POSSIBLE: N, AN,PI,K,AK,Y,AY BY THE INDEX ITTTT=IT=1,2,8-25 -C PLAB - MOMENTUM OF INCOMING HADRON -C -C*** RANGE UP TO 5. GEV/C (FROM ABOUT 0. ... 0.1 GEV/C) -C ELAB - TOTAL ENERGY OF INCOMING HADRON IN GEV -C CX,CY,CZ - DIRECTION COSINES -C*** ANUC,ZNUC = NUMBERS OF NUCLEONS AND PROTONS -C*** RHOO = MATERIAL DENSITY (G/CM**3) -C -C*** FINAL STATE PARTICLE CHARACTERISTICS TABLE IN /FINUC/: -C*** IRN - NUMBER OF FINAL STATE PARTICLES -C*** ITRN(I) - FINAL STATE PARTICLE TYPE INDEX -C*** CXRN,CYRN,CZRN (I) - DIRECTION COSINES OF F.S.P. (LAB SYST.) -C*** ELR,PLR (I) - LAB.ENERGY AND MOMENTUM OF F.S.P. (GEV, GEV/C) -C*** TV - EXCITATION ENERGY (GEV) -C -C-------------------------------------------------- - DIMENSION THRESR(30) - SAVE THRESR,ITPRF,IAMC,JAMC,INS,IXPI,JNUC - DATA THRESR/1.9D0, 0.D0, 5*9.D0, 1.9D0, 0.D0, 3*9.D0, 1.08D0, - * 1.08D0, 1.44D0, 1.08D0, 6*9.D0, 1.08D0, - * 1.44D0, 1.08D0, 5*9.D0/ - DIMENSION IXPI (30) -* -*----------------------------------------------------------------------* -* * -* Ixpi : * -* = -1 for antinucleons ( pbar, nbar, and for Lambdabar, * -* see below ) * -* = 0 for pi-, K- ( stopping particles ) * -* = 1 for other mesons and particles (p, n, pi+, pi0, K+, * -* K0, K0bar ) * -* = 2 for leptons (e-, e+, nu, nubar, mu+, mu-, photons, * -* Klong, Kshort ) * -* = 4 for hyperons ( Lambda, Lambdabar, Sigma-, Sigma+, * -* Sigma0 ). Actually for Lambdabar the inxpi flag in * -* the code, which corresponds to the ixpi one of the * -* projectile, is then set to - 1 as for antinucleons * -* * -*----------------------------------------------------------------------* -* - DATA IXPI/1,-1,5*2,1,-1,3*2,1,0,1,0,4,4,2,3*4,1,1,1,5*2/ - COMMON /FKPERC/ IPERCO - COMMON /FKENCO/ ETEST,TNKTE -C -C-------------------------------------------------- -C*** PARTICLE CHARACTERISTICS: MASSES, DECAY WIDTH, LIFE TIME,ELECT.AND -C*** BARYONIC CHARGE, DECAY CHANNEL INDICEES -C-------------------------------------------------- -* -* /Abltis/ common is initialized in Hadden. Masses are the same as in -* /Part/ common at least up to particle n. 94, the same for the baryonic -* charge and the electric charge : what about particle 26???????????? -* - COMMON / FKABLT / AM (110), GA (110), TAU (110), ICH (110), - & IBAR (110), K1(110), K2(110) - COMMON / FKNUCT / ETHR, PTHR - DIMENSION INS(30) - DIMENSION AMHH(15),IAMC(15),JAMC(30) - DATA IAMC/1,2,8,9,12,15,16,17,18,19,20,21,22,24,25/ - DATA JAMC/2*1,5*0,2*1,2*0,1,2*0,16*0/ - DATA INS/13,13,5*32,14,14,3*32,10,10 - *,12,11,7*32,15,15,5*32/ - DATA JNUC/0/ - DIMENSION ITPRF(110) - DATA ITPRF/-1,-1,5*1,-1,-1,1,1,1,-1,-1,-1,-1,6*1,-1,-1,-1,85*1/ - LOGICAL LEMINU, LPRONU, LPCASC, LNCASC, LCORIN, LDELTX, LVMASS, - & LHYPER -* - LCORIN = .FALSE. - LVMASS = .FALSE. - ANUC = BBTAR - ZNUC = ZZTAR - TPNVK = 0.D+00 - IRNTOT = 0 - INNUC=1 - ITNUCR=ITTTT - SICO = 1.D0 - ELPH = 0.D0 - PLABCO = 1.D0 -C -C-------------------------------------------------- -C*** SICO,PLABCO - EFFECTIVE CROSS SECTION- AND EFFECT. LABMOMENTUM -C*** CORRECTION FACTORS FOR Y-A- AND AY-A-COLLISIONS -C*** ITNUCR - HYPERON NUCLEUS COLL. PARTICLE TYPE FOR USE IN NIZL, -C*** IT - USED IN HADRIN -C-------------------------------------------------- - IBAT = 0 -C-------------------------------------------------- -C*** INXPI: -C*** ORDERING INDICEES FOR STOPPING PARTICLES (0), OTHER MESONS (1), -C*** ANTINUCLEONS (-1), HYPERONS (4),LEPTONS,KO,AKO(2),OTHER PART. (1) -C -C-------------------------------------------------- -C*** INCLUSION OF HYPERON-NUCLEUS-COLLISIONS -C*** PRELIMINARY FOR SIGMA+ NO STRANGENES-CONSERVATION -C -C-------------------------------------------------- -* -* From here it is the number of the incoming nucleon -* - IT = ITTTT -* -* Nxpi = 0 means hadrin call is possible -* - NXPI = 0 - INXPI = IXPI(IT) - IF ( IT .EQ. 23 .AND. ELAB - AM(IT) .LE. 0.05D+00 ) INXPI = 0 -* +-------------------------------------------------------------------* -* | - IF ( INXPI .EQ. 4 ) THEN - CALL HYPERO ( IT, ITNUCR, SICO, PLABCO ) - LHYPER = .TRUE. -* | -* +-------------------------------------------------------------------* -* | - ELSE - LHYPER = .FALSE. - END IF -* | -* +-------------------------------------------------------------------* -C -C-------------------------------------------------- -C*** CUT OFF ENERGY CONSTANTS: -C-------------------------------------------------- - ETHR = 0.001D+00 -C -C-------------------------------------------------- -C*** CDDT,CEET PARAMETERS FOR GAUSSIAN WIDTH' -C-------------------------------------------------- - N = ITTTT -* -* Particle 18 is Alambda -* - IF ( ITTTT .EQ. 18 ) INXPI = -1 -C -C-------------------------------------------------- -C*** ETEST = ENERGY CONSERVATION TEST VARIABLE (SHOULD BE 0 AT RETURN) -C*** TLAB = KINETIC ENERGY -C-------------------------------------------------- - JJ = JNUC - CDDT = 0.5D0 - IHACA = 0 - IN = INS(N) -C -C-------------------------------------------------- -C*** JJ=1: -C*** OPTION 1: GO TO NIZL, CROSS SECTION CALCULATION -C*** JJ=2: -C*** OPTION 2: EVENT SAMPLING -C-------------------------------------------------- - TLAB = ELAB - AM (IT) -* +-------------------------------------------------------------------* -* | Decide which is the target nucleon ( flag Itta ) : a proton ..... - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. ZNUC / ANUC ) THEN - ITTA = 1 - ITJ = 1 -* | -* +-------------------------------------------------------------------* -* | .... or a neutron - ELSE - ITTA = 8 - ITJ = 2 - END IF -* | -* +-------------------------------------------------------------------* - V0OLD = V0WELL (ITJ) - PLAB = SQRT ( TLAB * ( ELAB + AM (IT) ) ) -* +-------------------------------------------------------------------* -* | - IF ( ABS ( PLAB - 5.D0 ) .GE. 4.99999D0 ) THEN - WRITE(LUNOUT,99996) PLAB - WRITE(LUNERR,99996) PLAB -* STOP Commented out A. Fasso' 1989 - IRN = NP0 - RETURN -99996 FORMAT (3(5H ****/),' Nucrin: projectile momentum', - & ' outside of the allowed region, plab, kproj:', - * 1P,E15.5,3X,0P,I3,/,3(5H ****/)) - END IF -* | -* +-------------------------------------------------------------------* -* IF ( JJ .EQ. 1 ) GO TO 1000 -*-->-->-->-->--> go to cross section calculation if this option was se- -* lected -C -C-------------------------------------------------- -C*** IF LOW KINETIC ENERGY ( TLAB < ETHR ): ONLY EXCITATION -C*** STOPPING PARTICLES -C*** AND ANNIHILATION , INXPI=IXPI(IT) LE 0 -C-------------------------------------------------- -* +-------------------------------------------------------------------* -* | Inxpi > 0: p, n, pi+, K+, Lambda, Sigma+, Sigma-, Sigma0 -* | ( no lepton or pi0 projectile of course, now also pi0 -* | are possible projectiles ) - IF (INXPI .GT. 0) THEN -C -C-------------------------------------------------- -C*** ETHRR=THRESHOLD VALUE, FOR TLAB 1/Aio + Ethrr = 101 MeV -* | Xpi > 1 for Tlab < Ethrr = 1 MeV -* | For antibaryons: -* | Xpi < 0 for Tlab > 1/Aio + Ethrr = 180 MeV -* | Xpi > 1 for Tlab < Ethrr = 80 MeV -* | +----------------------------------------------------------------* -* | | Nxpi=0 means hadrin-call is possible, else impossible -* | | So Hadrin call is always possible for pi- and K- if -* | | Tlab > 101 MeV, and for antibaryons if Tlab > 180 MeV. -* | | Hadrin call is always impossible for pi- and K- if -* | | Tlab < 1 MeV (never possible) and for antibaryons if -* | | Tlab < 80 MeV. Actually Nxpi > 1 for antibaryons means forced -* | | annihilation, but Hadrin can be called the same, even though -* | | only final states with annihilation will be accepted - CALL GRNDM(RNDM,1) - IF ( RNDM(1) .GT. XPI ) THEN - NXPI = 0 -* | | particle non stopping (annihilating) -* | +----------------------------------------------------------------* -* | | particle stopping (annihilating) - ELSE - NXPI = 1 - END IF -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Incident pi- or K- stopping in the nucleus, no possibility -* | to call hadrin: it must be updated using the new stopping -* | particle module as soon as it will be available!! - IF ( NXPI .GT. 0 .AND. IBAR (IT) .EQ. 0 ) THEN -* | Give the total lab energy of stopping pi-, K- into cascade and -* | exit: label 405 is where this is performed. -* | Before change a proton into a neutron to account for charge -* | conservation and adjust the total energy with the mass -* | difference (Note that for K- no strangeness conservation occurs - IF ( IT .NE. 23 ) THEN - ZNOW = ZNOW - 1.D+00 - KTARP = KTARP + 1 - KTARN = KTARN - 1 - END IF - TPK = 0.D0 - TNK = 0.D0 - TV = 0.D0 - TOEFF = ELAB - LCORIN = .TRUE. - CALL CORSTP ( TOEFF ) - CALL GRANOR(RANGS1, RANGS2) - TNKTE = MAX ( 0.003D+00, EKMNNU (2) - & * ( 0.5D+00 - 0.25D+00 * RANGS1 ) ) - TPKTE = MAX ( 0.003D+00, EKMNNU (1) - & * ( 0.5D+00 - 0.25D+00 * RANGS2 ) ) - GO TO 405 -* | -* +-->-->-->-->--> go to the cascade simulation - END IF -* | -* +----------------------------------------------------------------* -C -C-------------------------------------------------- -C*** ELABKE = INVARIANT KINETIC ENERGY OF THE H-A-SYSTEM+PROJ.H.MASS -C*** A = TOTAL ENERGY OF THE PRIMARY PARTICLE IN LABSYSTEM -C*** IFORBI,IFERT LOOP COUNTING INDICEES FOR CHOICE OF FERMION MOMENTUM -C*** AMNTAR - NUCLEUS MASS -C*** UMOJAN - H-A-C.M.S.-ENERGY -C*** ELABKE - KINETIC H-A-ENERGY IN C.M.S -C-------------------------------------------------- -* - UMOJAN = SQRT ( AM(IT)**2 + AMNTAR**2 + 2.D+00 * ELAB * AMNTAR ) -C -C-------------------------------------------------- -C*** START WITH THE EVENT SIMULATION -C-------------------------------------------------- - ELABKE = UMOJAN - AMNTAR - A = ELAB - IFORBI = 0 - IFERT = 0 -* Call Ferset for setting up anything for the Fermi motion - CALL FERSET - AMMIT = AM (IT) - AMMTA = AM (ITTA) - AIT2 = AMMIT**2 - ATA2 = AMMTA**2 -* Ecmo is the square of the invariant mass of the projectile-nucleon -* system -* ECMO = AIT2 + ATA2 + 2.D+00 * AMMTA * ELAB -* Put here the correct value for Ecmo taking into account -* Fermi motion etc. -* Compute Ekrecl in the most favourable situation, with final -* excitation energy zero (tvepsi) and all the energy given to the -* projectile -* Dex = - Tveuz, Ekres = sqrt(amnres**2 + pfrmi**2) - amnres, -* Ekrecl = Ekres + Dex -* **** Now the checks are done using atomic masses directly **** * - EKREC0 = EKRECL - TVEUZ0 = TVEUZ - PFRMSQ = PXFRM**2 + PYFRM**2 + PZFRM**2 - EKRES = SQRT ( ( AMMRES + 2.D+00 * TVEPSI )**2 + PFRMSQ ) - - & AMMRES - 2.D+00 * TVEPSI -* -TVEUZ to reduce the excitation energy not the recoil one -* (it would have been more exact to set -* Efrm = Efrm + Tveuz, but it is better to conserve Efrm -* coherent with the original value) - EKRECL = EKRES - TVEUZ + 2.D+00 * TVEPSI - EZERO = EFRM - V0WELL (ITJ) - EKRECL - EBNDNG (ITJ) - ECHCK = ELAB + EZERO - PLABSQ = PLAB * PLAB - PFRSCA = PXFRM * CX + PYFRM * CY + PZFRM * CZ - ECMO = ECHCK**2 - PLABSQ - PFRMSQ - 2.D+00 * PLAB * PFRSCA - UMIN2 = ( AMMIT + AMMTA )**2 -* +----------------------------------------------------------------* -* | Check if the Hadrin call is energetically possible, else -* | give the total energy to cascade and excitation: - IF ( ECMO .LT. UMIN2 .AND. NXPI .LE. 0 ) THEN - V0WELL (ITJ) = V0WELL (ITJ) - V0EXTR - ANOW = ANOW + IBAR (IT) - KTARN = KTARN - IBAR (IT) + ICH (IT) - ZNOW = ZNOW + ICH (IT) - KTARP = KTARP - ICH (IT) - TPK = 0.D+00 - TNK = 0.D+00 - TV = 0.D+00 - TPNVK = 0.D+00 - TOEFF = ELAB - IBAR (IT) * AMMIT - LCORIN = .TRUE. - CALL CORSTP ( TOEFF ) - CALL GRANOR(RANGS1, RANGS2) - TNKTE = MAX ( 0.003D+00, EKMNNU (2) - & * ( 0.5D+00 - 0.25D+00 * RANGS1 ) ) - TPKTE = MAX ( 0.003D+00, EKMNNU (1) - & * ( 0.5D+00 - 0.25D+00 * RANGS2 ) ) - GO TO 405 -* | -* |-->-->-->-->--> go to the cascade simulation - END IF -* | -* +-------------------------------------------------------------------* - EKRECL = EKREC0 -* ****** The check for peripheral collisions is now moved here: ***** -* The old comment was: -* " I.E.,H-COLLISION WITH N IN THE MOST OUTSIDE NUCLEUS SHELL -* WITH THE THICKNESS OF ONE NUCLEON RADIUS -* RATIO OF THE SHELL VOLUME TO NUCLEUS VOLUME IS ELANU3 -* THE H-N-COLL. WILL BE SAMPLED FIRSTLY WITH THE TOTAL PRIMARY -* ENERGY ELAB, THE REMAINING ENERGY IS USED IN THE ABOVE SAMPLED -* RATIO FOR CASCADE AND EXCITATION SWITCH VARIABLE IS IPERCO=1 " -* The old coding was: .... -* ELRAN = RNDM (V) -* ELANU3 = ANUC**(-0.6666666666666667D+00) -* IF ( ELRAN .LE. ELANU3 .AND. ABS (ELPP-T3) .GT. 0.0001D0) -* ..... but -* in my opinion we must perform peripheral collisions checking -* the ratio between the total area (r**2) and the circular -* corona corresponding to 1 nucleon radius, so checking: -* (now to switch off peripheral collisions we need Elanu3 = 1) -* Furthermore no cascade and excitation energy is computed since -* it is extremely likely that the remaining energy (not more than -* Tveuz) will go thouroly in excitation one: anyway it is divided -* among the 3 contributions in the usual way -* ELRAN = RNDM (V) -* ELANU3 = ( ( ANUC - 1.D+00 ) / ANUC )**0.6666666666666667D+00 -* We changed again to the original idea, which can be geometrically -* explained as a corona of dr = r0 , corresponding roughly to -* 1 nucleon. Anyway we need a much more detailed insight of this -* problem with possibly checks with experimental data - CALL GRNDM(RNDM,1) - ELRAN = RNDM (1) - ELANU3 = 1.D+00 - 1.D+00 / ANUC**0.6666666666666667D+00 -* +-------------------------------------------------------------------* -* | Check for peripheral collisions: note that in this way peripheral -* | collisions are switched off for stopping antibaryons!! - IF ( ELRAN .GE. ELANU3 .AND. NXPI .EQ. 0 ) THEN - IPERCO = 1 - TOEFF = ELAB - AMMIT - LCORIN = .TRUE. - CALL CORSTP ( TOEFF ) - CALL GRANOR(RANGS1, RANGS2) - TNKTE = MAX ( 0.003D+00, EKMNNU (2) - & * ( 0.5D+00 - 0.25D+00 * RANGS1 ) ) - TPKTE = MAX ( 0.003D+00, EKMNNU (1) - & * ( 0.5D+00 - 0.25D+00 * RANGS2 ) ) - EKRECL = EKREC0 - ELPP = ELAB - PLPP = PLAB - DEX = 0.D+00 - PSPESQ = PLABSQ + PFRMSQ + 2.D+00 * PLAB * PFRSCA - IUMO = 0 -* | +----------------------------------------------------------------* -* | | -1500 CONTINUE - IUMO = IUMO + 1 - EEX = TVEUZ + DEX -* | | Now for iperco we are working with atomic masses -* AMSTAR = AMNRES + EEX - AMSTAR = AMMRES + EEX - EKRES = SQRT ( AMSTAR**2 + PFRMSQ ) - AMSTAR -* | | Note +DEX to reduce actually the excitation energy, not -* | | the recoil one (it would have been more exact to set -* | | Efrm = Efrm - Dex, but it is better to conserve Efrm -* | | coherent with the original value) - EKRECL = EKRES + DEX - EZERO = EFRM - V0WELL (ITJ) - EKRECL - EBNDNG (ITJ) - ESPENT = ELPP + EZERO -* ELEFT = ETTOT - ESPENT - ELEFT = ETTOT - ESPENT + DELEFT - UMO2 = ESPENT**2 - PSPESQ - DELTU2 = UMIN2 - UMO2 -* | | +-------------------------------------------------------------* -* | | | We need more invariant mass for the collision!!! - IF ( DELTU2 .GT. 0.D+00 ) THEN -* | | | +----------------------------------------------------------* -* | | | | - IF ( IUMO .GT. 3 ) THEN - V0WELL (ITJ) = V0WELL (ITJ) - V0EXTR - ANOW = ANOW + IBAR (IT) - KTARN = KTARN - IBAR (IT) + ICH (IT) - ZNOW = ZNOW + ICH (IT) - KTARP = KTARP - ICH (IT) - GO TO 405 - END IF -* | | | | -* | | | +----------------------------------------------------------* - DELTEX = 0.5D+00 * DELTU2 * ELEFT / ( ESPENT * AMSTAR ) - DELTEX = MIN ( DELTEX, EEX ) - DEX = DEX - DELTEX - GO TO 1500 -* | | | -* | +-<|--<--<--<--<--< go to compute the new invariant mass!! -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - TVEUZ = EEX - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | -* | +----------------------------------------------------------------* -* | we are ready for the interaction !!!!! - IHACA = 0 -* | +----------------------------------------------------------------* -* | | -1600 CONTINUE - ITFRHD = IT - IHACA = IHACA + 1 - IF ( PLPP .LT. 1.D-04 ) THEN - WRITE (LUNERR,*) - & ' Nucriv: iperco=1,plpp,elpp,it', - & PLPP,ELPP,IT - WRITE (LUNERR,*)' IHACA,LVMASS,ELAB,PLAB', - & IHACA,LVMASS,ELAB,PLAB - END IF - CALL FERHAV ( IT, ELPP, PLPP, CX, CY, CZ ) -* | | +-------------------------------------------------------------* -* | | | Check if we have reached the maximum numbers of calls - IF ( IHACA .GT. 15 ) THEN - GO TO 1700 -* | | |-->-->-->-->--> give up !!! - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | Ir is the number of secondaries produced in the -* | | Ferhad/Hadrin call -* | | +-------------------------------------------------------------* -* | | | - IF ( IR .EQ. 0 ) THEN - V0WELL (ITJ) = V0WELL (ITJ) + V0EXTR - GO TO 1600 -* | | | -* | +-<|-<--<--<--<--< go to resampling the interaction - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | Of course ir=1 means that the only outgoing particle is -* | | still the projectile !! If we have an incoming antibaryon -* | | we need at least 2 particles in the final state (why???) -* | | +-------------------------------------------------------------* -* | | | - IF ( IR .LT. 2 .AND. INXPI .LT. 0 ) THEN - V0WELL (ITJ) = V0WELL (ITJ) + V0EXTR - GO TO 1600 -* | | | -* | +-<|-<--<--<--<--< go to resampling the interaction - END IF -* | | | -* | | +-------------------------------------------------------------* -1700 CONTINUE - TVEUZ = TVEUZ + EKRECL - TV = TVEUZ - TPK = 0.D+00 - TNK = 0.D+00 - GO TO 2800 -* | | End loop for Ferhad/hadrin call -* | +----------------------------------------------------------------* -* | Yes peripheral collison -* +-------------------------------------------------------------------* -* | No peripheral collision - ELSE - IPERCO = -1 - END IF -* | -* +-------------------------------------------------------------------* - I1651 = 0 -* +-------------------------------------------------------------------* -* | It is possible to come here for resampling !!!! -1651 CONTINUE - TVEUZ = TVEUZ0 - IRN = NP0 - DDT = CDDT * TLAB - EMD = 0.D+00 -C -C-------------------------------------------------- -C*** EFFECTIVE COLLISION ENERGY CALCULATION FOR USE IN CASCADE -C*** AND EXCITATION ENERGY CALCULATION FOR ANNIHILATION -C-------------------------------------------------- -C -C-------------------------------------------------- -C*** I653 LOOP COUNTER INTEGER FOR BAD ENERGY CORRECTION IN ANNIHILATION -C-------------------------------------------------- - I653 = 0 -* | +----------------------------------------------------------------* -* | | It is possible to come here for resampling !!!! - 653 CONTINUE -C -C-------------------------------------------------- -C*** TOEFF = EFFECTIVE KINETIC COLLISION ENERGY -C-------------------------------------------------- - I653 = I653 + 1 - TOEFF= TLAB -C -C-------------------------------------------------- -C*** TOEFF ONLY FOR ANNIHILATION NE TLAB POSSIBLE, ELSE JUST SELECTION -C*** OF ENERGY FRACTIONS -C-------------------------------------------------- -* | | +-------------------------------------------------------------* -* | | | If we are here with a pi- or a K- this means Nxpi = 0, -* | | | ==> no stopping (annihilating) particle but Hadrin call -* | | | for pi-, K-, while for ap, an, alambdas may be that Nxpi=1 -* | | | ==> no Hadrin call (more exactly, Hadrin can be called but -* | | | the particle is stopping ( annihilating ) ) - IF ( INXPI .LE. 0 ) THEN -* | | | Note, Ibar (itta) = 1 of course, Ibar (it) maybe 0 or -1 -* | | | so Ibl = 0 for pi-, K- and Ibl = 1 for ap, an, alambdas - IBL = IBAR (ITTA) * IBAR (IT) - IBL = ABS (IBL) -* | | | Icl = -1 for pi-, K-, ap, Icl = 0 for an and alambdas - ICL = ICH (IT) -* | | | ( Ibar (itta) - Ibar (it) ) * Ibl = 2 for ap, an, alambdas -* | | | ( Ibar (itta) - Ibar (it) ) * Ibl = 0 for pi-, K- -* | | | ( 1 - Ibl ) * |Icl| = 0 for ap, an, alambdas -* | | | ( 1 - Ibl ) * |Icl| = 1 for K-, pi- - EMD = AM (IT) * ( ( ( IBAR (ITTA) - IBAR(IT) ) * IBL - & + ( 1 - IBL ) * ABS (ICL) ) ) -* | | | Finally Emd = 2 Am(it) for antibaryons and Am (it) for -* | | | pi- and K-. Other particles cannot enter the if, however -* | | | for baryons it is 0 regardless of the charge and for -* | | | positive charged mesons is Am (it): the conclusion is -* | | | that who wrote the code is a ......... . Even not -* | | | taking into account the "if" all the stuff could be: -* EMD = AM (IT) * ( 1 - IBAR (IT) ) -C -C-------------------------------------------------- -C*** EMD=2*AM(IT) FOR ANNIHILATION, =AM(IT) FOR MESONS, =0ELSE -C-------------------------------------------------- - THRES = THRESR (IT) -* | | | Ecms is the total available energy in the Cms frame -* | | | and of course is the invariant mass of the projectile- -* | | | nucleon system - ECMS = SQRT (ECMO) - IF (ECMS .LT. THRES) EMD = 0.D0 -* | | | This card means Emd = 0 always for pi-, K- !! and also -* | | | Emd = 0 for ap, an and alambdas if Hadrin will be called -* | | | (they are not stopping!!) - IF (NXPI .LT. 1) EMD = 0.D0 -C -C-------------------------------------------------- -C*** EMD=0 FOR MESONS AND BARYONS,IF NO STOPPING OF PARTICLES IF H-N-CMS -C*** -ENERGY LT TABULATED THRESHOLD -C-------------------------------------------------- -* | | | This card means Emd = 0 always for pi-, K- (and baryons, but -* | | | for them we don't enter the if) - IF ( IBAR(IT) .GE. 0 ) EMD = 0.D0 -C-------------------------------------------------- -C*** ECI = TOTAL EFFECTIVE ENERGY IN H-N-CMS-SYSTEM -C-------------------------------------------------- -* | | | Eci is the total energy of the projectile in the frame -* | | | were the target is at rest, if the "effective" invariant -* | | | mass id Ecms + Emd (see kinematics inside Ferevv and -* | | | Difevv ) - ECI = 0.5D+00 * ( ( ECMS + EMD )**2 - AIT2 - ATA2 ) / - & AMMTA - TOEFF = ECI - AMMIT -* | | | +----------------------------------------------------------* -* | | | | - IF ( TOEFF .LT. TLAB ) THEN - TOEFF = TLAB - END IF -* | | | | -* | | | +----------------------------------------------------------* - END IF -* | | | -* | | +-------------------------------------------------------------* - LCORIN = .TRUE. -* | | Now the entry Corrnc in Corrin set the correct values for the -* | | excitation energy Tv and the cascade energies Tpk and Tnk - CALL CORRNC ( TOEFF ) - CALL GRANOR(RANGS1, RANGS2) - TNKTE = MAX ( 0.003D+00, EKMNNU (2) - & * ( 0.5D+00 - 0.25D+00 * RANGS1 ) ) - TPKTE = MAX ( 0.003D+00, EKMNNU (1) - & * ( 0.5D+00 - 0.25D+00 * RANGS2 ) ) - TV = TVGRE0 - TPK = EINCP - TNK = EINCN -C-------------------------------------------------- -C*** ELPP=TOTAL PROJECTILE ENERGY,PLPP=ABSOLUT MOMENTUM OF THE PROJECTIL -C*** IN THE LABSYSTEM -C -C-------------------------------------------------- - T3 = AM (IT) - TPNVK = TV + TNK + TPK - ELPP = ELAB - TPNVK -* | | +-------------------------------------------------------------* -* | | | Check for stopping pi- and K-: in my mind this point can -* | | | never be reached by stopping pi-, K- since they should be -* | | | already gone to 405. Anyway... - IF ( INXPI .EQ. 0 .AND. NXPI .NE. 0 ) THEN -* | | | +----------------------------------------------------------* -* | | | | Again in my mind Inxpi = 0 <==> Ibar (itttt) = 0, -* | | | | anyway .... - IF ( IBAR (ITTTT) .GE. 0 ) THEN - TVEUZ = 0.D+00 - V0WELL (ITJ) = V0WELL (ITJ) - V0EXTR - ANOW = ANOW + IBAR (IT) - KTARN = KTARN - IBAR (IT) + ICH (IT) - ZNOW = ZNOW + ICH (IT) - KTARP = KTARP - ICH (IT) - GO TO 405 -* | | | |-->-->-->-->--> go to the cascade simulation !! - END IF -* | | | | -* | | | +----------------------------------------------------------* - END IF -* | | | -* | | +-------------------------------------------------------------* -C -C-------------------------------------------------- -C*** IF NO PRIMARY PI-,K- OR IF HADRIN FOR PI-,K- WILL BE CALLED -C*** (NO STOPPING PARTICLE CASE) GO TO 403 -C-------------------------------------------------- -C -C-------------------------------------------------- -C*** CASE OF ENERGY CORRECTION IF LOOP IN ANNIHILATION -C-------------------------------------------------- -* | | +-------------------------------------------------------------* -* | | | - IF ( IBAR (IT) .GE. 0 .AND. NXPI .EQ. 0 ) THEN - ELIM = T3 + TVEPSI -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - ELIM = AM (13) - END IF -* | | | -* | | +-------------------------------------------------------------* - 6530 CONTINUE -* | | +-------------------------------------------------------------* -* | | | If Elpp < 0 for less then 10 iterations (I653), start -* | | | again with effective collision energy calculation, else -* | | | correct TPK, TNK and TV. Now the maximum number of itera- -* | | | tion has been decreased to 4, and we check Elpp < T3. -* | | | We have no enough energy or we have looped too many -* | | | times, so give up and force the "effective" energy to -* | | | be 0, reducing cascade and excitation energy - IF ( I653 .GE. 4 .AND. ELPP .LT. ELIM ) THEN -* | | | The following cards simply take away the negative -* | | | "Elpp" to cascade and excitation in the same proportion -* | | | they were -* | | | Modified to take into account the Fermi energy: - A65 = 1.D+00 + ( ELPP - ELIM ) / TPNVK - TPK = TPK * A65 - TNK = TNK * A65 - TV = TV * A65 - TPNVK = TPNVK * A65 - TVGRE0 = TV - ELPP = ELIM -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE IF ( ELPP .LT. 0.D+00 ) THEN - GO TO 653 -* | | | -* | +-<|--<--<--<--< go to resampling Tv, Tnk, Tpk - END IF -* | | | -* | | +-------------------------------------------------------------* - -* | | +-------------------------------------------------------------* -* | | | If the available energy is larger than the -* | | | mass energy of the projectile check the inva- -* | | | riant mass of the system - IF ( ELPP .GT. T3 .AND. NXPI .EQ. 0 ) THEN - IUMO = 0 - DEX = 0.D+00 -* | | | +----------------------------------------------------------* -* | | | | -2500 CONTINUE -* | | | | Now also here work with atomic masses - IUMO = IUMO + 1 - PLPPSQ = ( ELPP + AMMIT ) * ( ELPP - AMMIT ) - PLPP = SQRT ( PLPPSQ ) - PPLUS = PLAB - PLPP - EPLUS = ELAB - ELPP - EEX = TVEUZ + DEX - AMSTAR = AMMRES + EEX - EKRES = SQRT ( AMSTAR**2 + PPLUS**2 + PFRMSQ - 2.D+00 - & * PFRSCA * PPLUS ) - AMSTAR -* | | | | Note +DEX to reduce actually the excitation energy, not -* | | | | the recoil one (it would have been more exact to set -* | | | | Efrm = Efrm - Dex, but it is better to conserve Efrm -* | | | | coherent with the original value) - EKRECL = EKRES - EPLUS + DEX -* | | | | +-------------------------------------------------------* -* | | | | | Check the recoil energy: - IF ( EKRECL .LT. 0.D+00 .AND. IUMO .LE. 2 ) THEN - EKRECL = EKREC0 - LDELTX = .FALSE. -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - LDELTX = .TRUE. - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - EZERO = EFRM - V0WELL (ITJ) - EKRECL - EBNDNG (ITJ) - ESPENT = ELPP + EZERO - ELEFT = ETTOT - ESPENT - EELEFT = ELEFT + DELEFT - UMO2 = AIT2 + EZERO**2 - PFRMSQ + 2.D+00 * ( EZERO - & * ELPP - PLPP * PFRSCA ) - DELTU2 = UMIN2 - UMO2 -* | | | | +-------------------------------------------------------* -* | | | | | We need more invariant mass for the collision!!! - IF ( DELTU2 .GT. 0.D+00 ) THEN -* | | | | | +----------------------------------------------------* -* | | | | | | - IF ( IUMO .GT. 4 ) THEN - GO TO 653 -* | | | | | | -* | +-<|-<|-<|-<|--<--<--< - END IF -* | | | | | | -* | | | | | +----------------------------------------------------* - -* | | | | | +----------------------------------------------------* -* | | | | | | - IF ( LDELTX .AND. TPNVK .GT. 0.D+00 ) THEN - AHELP = ESPENT / ELEFT - FFRAC = ( EEX - TVEPSI ) / TPNVK - BHELP = - ELPP - ELPP / PLPP * ( PFRSCA + AHELP - & * ( PFRSCA - PPLUS ) ) - DELTAE = 0.5D+00 * DELTU2 / ( BHELP + FFRAC * - & AMSTAR * AHELP ) - TMPDEL = 1.01D+00 * DELTAE - DELTAE = MIN ( TMPDEL, TPNVK ) - DELTEX = FFRAC * DELTAE - TKOR = 1.D+00 - DELTAE / TPNVK - TPK = TPK * TKOR - TNK = TNK * TKOR - TV = TV * TKOR - TVGRE0 = TV - TPNVK = TPNVK - DELTAE -* | | | | | | -* | | | | | +----------------------------------------------------* -* | | | | | | - ELSE IF ( TPNVK .GT. 0.D+00 ) THEN - DELTAE = 0.5D+00 * DELTU2 / ( EZERO - PFRSCA * - & ELPP / PLPP ) - TMPDEL = 1.01D+00 * DELTAE - DELTAE = MIN ( TMPDEL, TPNVK ) - DELTEX = 0.D+00 - TKOR = 1.D+00 - DELTAE / TPNVK - TPK = TPK * TKOR - TNK = TNK * TKOR - TV = TV * TKOR - TVGRE0 = TV - TPNVK = TPNVK - DELTAE -* | | | | | | -* | | | | | +----------------------------------------------------* -* | | | | | | - ELSE IF ( LDELTX ) THEN - DELTAE = 0.D+00 - DELTEX = 0.5D+00 * DELTU2 * ELEFT / ( ESPENT * - & AMSTAR ) - TMPDEL = 1.01D+00 * DELTEX - DELTEX = MIN ( TMPDEL, EEX - TVEPSI ) -* | | | | | | -* | | | | | +----------------------------------------------------* -* | | | | | | - ELSE - DELTAE = 0.D+00 - DELTEX = 0.D+00 - END IF -* | | | | | | -* | | | | | +----------------------------------------------------* -* ELPP = ELPP + DELTAE, AMMIT - TMPAMM = AMMIT + 0.01D+00 - ELPP = MAX ( ELPP + DELTAE, TMPAMM ) - DEX = DEX - DELTEX - GO TO 2500 -* | | | | | -* | | | +-<|--<--<--<--<--< go to compute the new invariant mass!! -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - TVEUZ = EEX - GO TO 510 -* | | | | | -* | | | | |-->-->-->-->--> invariant mass larger than the projec- -* | | | | | tile mass plus target nucleon mass, go -* | | | | | to the event simulation !! - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* - END IF -* | | | -* | | +-------------------------------------------------------------* - IF ( IBAR (IT) .GE. 0 ) GO TO 653 -* | | -* | +--<--<--<--<--< go to resampling Tv, Tnk, Tpk, Elpp < T3 and no -* | | antinucleon projectile - PLPPSQ = ( ELPP - AMMIT ) * ( ELPP + AMMIT ) -* | | +-------------------------------------------------------------* -* | | | - IF ( PLPPSQ .GT. 0.D+00 ) THEN - PLPP = SQRT ( PLPPSQ ) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - PLPP = 0.D+00 - END IF -* | | | -* | | +-------------------------------------------------------------* - PPLUS = PLAB - PLPP - EPLUS = ELAB - ELPP - EEX = TVEUZ - AMSTAR = AMNRES + EEX - EKRES = SQRT ( AMSTAR**2 + PPLUS**2 + PFRMSQ - 2.D+00 - & * PFRSCA * PPLUS ) - AMSTAR - EKRECL = EKRES - EPLUS -* | | +-------------------------------------------------------------* -* | | | Check the recoil energy: - IF ( EKRECL .LT. EKREC0 ) THEN - EKRECL = EKREC0 - END IF -* | | | -* | | +-------------------------------------------------------------* - EZERO = EFRM - V0WELL (ITJ) - EKRECL - EBNDNG (ITJ) - ESPENT = ELPP + EZERO - ELEFT = ETTOT - ESPENT - UMO2 = AIT2 + EZERO**2 - PFRMSQ + 2.D+00 * ( EZERO - & * ELPP - PLPP * PFRSCA ) - DELTU2 = UMIN2 - UMO2 - IF ( DELTU2 .LT. 0.D+00 ) GO TO 510 -* | | -* | |-->-->-->-->--> invariant mass larger than the projec- -* | | tile mass plus target nucleon mass, go -* | | to the event simulation !! -* | | If we are here we are dealing with an antibaryon and the total -* | | available energy in the centre of mass frame is less than the -* | | projectile mass plus the target nucelon mass -C-------------------------------------------------- -C*** IF ELPP GREATERTHEN THE MASS OF IT, GO TO MOMENTUM LIMITATION FOR H -C*** ELSE IF NO EFFECTIVE ENERGY WAS CALCULATED DO THE SAME -C*** ELSE IF IT IS NO ANTINUCLEON AND ELPP LT MASS OF IT, START AGAIN WI -C*** EFFECTIVE COLLISION ENERGY CALCULATION -C*** ELSE NEW ENERGY DEFINITION FOR IT AND NEW MASS DEFINITION FOR BARYO -C*** AND ANTIBARYONS -C-------------------------------------------------- -* | | +-------------------------------------------------------------* -* | | | - IF ( EMD .LE. 0.D+00 ) THEN - ELPP = T3 - PLPP = 0.D+00 - GO TO 1510 -* | | | -* | | |-->-->-->-->--> Skip mass redefinition if Emd is negative or -* | | | zero. In my opinion now Emd is always = 0 for non stopping -* | | | antibaryons, because of the if inside the Emd stuff and I am -* | | | not sure we have really to arrive here under the minimum -* | | | invariant mass... - END IF -* | | | -* | | +-------------------------------------------------------------* -C -C-------------------------------------------------- -C*** CASE OF ANNIHILATION,PSEUDO MASS DEFINITION -C-------------------------------------------------- - PLPP = 0.D+00 - UMO2 = ( ELPP + EZERO )**2 - PFRMSQ - T3 = 0.5D+00 * SQRT ( UMO2 ) - IUMO = 0 - INEG = 0 -* | | +-------------------------------------------------------------* -* | | | -5050 CONTINUE - T3 = 0.9D+00 * T3 - T3SQ = T3 * T3 - PLPPSQ = ELPP**2 - T3SQ -* | | | +----------------------------------------------------------* -* | | | | - IF ( PLPPSQ .GT. 0.D+00 ) THEN - IUMO = IUMO + 1 - PLPP = SQRT ( PLPPSQ ) -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE - INEG = INEG + 1 -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( INEG .GT. 100 ) THEN - WRITE (LUNOUT,*) - & ' Nucriv: impossible to get the pseudo-mass!!', - & ' Plpp always negative, Plpp,Elpp', PLPP, ELPP - WRITE (LUNERR,*) - & ' Nucriv: impossible to get the pseudo-mass!!', - & ' Plpp always negative, Plpp,Elpp', PLPP, ELPP - V0WELL (ITJ) = V0WELL (ITJ) - V0EXTR - ANOW = ANOW + IBAR (IT) - KTARN = KTARN - IBAR (IT) + ICH (IT) - ZNOW = ZNOW + ICH (IT) - KTARP = KTARP - ICH (IT) - GO TO 405 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - GO TO 5050 - END IF -* | | | | -* | | | +----------------------------------------------------------* - PPLUS = PLAB - PLPP - EPLUS = ELAB - ELPP - EEX = TVEUZ - AMSTAR = AMNRES + EEX - EKRES = SQRT ( AMSTAR**2 + PPLUS**2 + PFRMSQ - 2.D+00 - & * PFRSCA * PPLUS ) - AMSTAR - EKRECL = EKRES - EPLUS -* | | | +----------------------------------------------------------* -* | | | | Check the recoil energy: - IF ( EKRECL .LT. EKREC0 ) THEN - EKRECL = EKREC0 - END IF -* | | | | -* | | | +----------------------------------------------------------* - EZERO = EFRM - V0WELL (ITJ) - EKRECL - EBNDNG (ITJ) - UMO2 = T3SQ + EZERO**2 - PFRMSQ + 2.D+00 * ( EZERO - & * ELPP - PLPP * PFRSCA ) - DELTU2 = 2.D+00 * T3 - UMO2 -* | | | +----------------------------------------------------------* -* | | | | - IF ( IUMO .GT. 10 ) THEN - WRITE (LUNERR,*) - & ' Nucriv: impossible to get the pseudo-mass!!', - & IUMO,DELTU2 - V0WELL (ITJ) = V0WELL (ITJ) - V0EXTR - ANOW = ANOW + IBAR (IT) - KTARN = KTARN - IBAR (IT) + ICH (IT) - ZNOW = ZNOW + ICH (IT) - KTARP = KTARP - ICH (IT) - GO TO 405 - END IF -* | | | | -* | | | +----------------------------------------------------------* - IF ( DELTU2 .GT. 0.D+00 ) GO TO 5050 -* | | | -* | | |--<--<--<--<--< invariant mass too small !! -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | Check the pseudo-mass value (note that the following check -* | | | becomes useless (except for I653 > 10) - IF ( T3 .LT. 0.3D+00 * AM (1) .AND. I653 .LT. 10 ) THEN - I653 = MAX ( I653 + 1, 4 ) - ELIM = 0.33D+00 * AM (1) * ELPP / T3 - T3 = AM (IT) - GO TO 6530 -* | | |--<--<--<--<--< pseudo-mass is too small !! - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | However let a warning message if it is met!!! - IF ( T3 .LT. 0.14D+00 .AND. INXPI .LT. 0 .AND. NXPI .GT. 0 ) - & THEN - NXPI = 1 - V0WELL (ITJ) = V0WELL (ITJ) - V0EXTR - ANOW = ANOW + IBAR (IT) - KTARN = KTARN - IBAR (IT) + ICH (IT) - ZNOW = ZNOW + ICH (IT) - KTARP = KTARP - ICH (IT) - GO TO 405 -* | | | -* | | |-->-->-->-->--> go to the cascade simulation - END IF -* | | | -* | | +-------------------------------------------------------------* - -* | | +-------------------------------------------------------------* -* | | | Enter this if only with anti-nucleons!!!!! - IF ( IBAR (ITTTT) .LT. 0 ) THEN - ETDD = 0.D0 -* | | | Etkor - ETKOR = TPNVK + AMMIT -1800 CONTINUE -* | | | +----------------------------------------------------------* -* | | | | Check if it was a stopping particle or not !! - IF ( NXPI .LE. 0 ) THEN - ET = ELAB -C -C-------------------------------------------------- -C*** THE PARTICLE IT (=AN) IS NOT STOPPED IN THE NUCLEUS -C-------------------------------------------------- - ETREST = ET - ETKOR - IF ( ETREST .LT. 0.D0 ) ETDD = ETREST - TKOR = 1.D0 + ETDD / ( TPNVK + 1.D-10 ) -* | | | | +-------------------------------------------------------* -* | | | | | Treat it as a stopped particle - IF ( TKOR .LT. 1.D-6 ) THEN - NXPI = 1 - GO TO 1800 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | update tv, tnk, tpk to account for etdd < 0 - ELSE - TV = TV * TKOR - TPK = TPK * TKOR - TNK = TNK * TKOR - TVGRE0 = TV - TPNVK = TPK + TNK + TV - ELPP= ET - TPNVK - GO TO 510 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* -* | | | | It is a stopping antibaryon !! - ELSE - ETDD = 0.D0 -C -C-------------------------------------------------- -C*** THE PARTICLE IT (=AN) IS STOPPED IN THE NUCLEUS -C-------------------------------------------------- - ET = ELAB + AMMTA - ETREST = ET - ETKOR - IF ( ETREST .LT. 0.D0 ) ETDD = ETREST - TKOR = 1.D+00 + ETDD / TPNVK - IF ( TKOR .LT. 1.D-6 ) GO TO 653 -* | | | | -* | +-<|-<|--<--<--< go to resampling Tv, Tnk, Tpk - TV = TV * TKOR - TPK = TPK * TKOR - TNK = TNK * TKOR - TVGRE0 = TV - TPNVK = TPK + TNK + TV - ELPP = ELAB - TPNVK - PLPP = SQRT ( ELPP**2 - T3SQ ) - END IF -* | | | | -* | | | +----------------------------------------------------------* - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | end of the "653" loop for bad energy correction in annihilation -* | +----------------------------------------------------------------* -C -C-------------------------------------------------- -C*** NEW MASS DEFINITION OF BARYONS AND ANTIBARYONS -C*** (ONLY FOR REMAINING EFFECTIVE CM-ENERGIES,LOWER THAN THE TOTAL -C*** 1.88GEV-THRESHOLD CM-ENERGY IN ANNIHILATION) -C-------------------------------------------------- -* | +----------------------------------------------------------------* -* | | First pass through mass redefinition - IF ( .NOT. LVMASS ) THEN - LVMASS = .TRUE. -* | | +-------------------------------------------------------------* -* | | | Loop over masses to be redefined - DO 1511 IAM=1,15 - JAM = IAMC (IAM) - AMHH (IAM) = AM (JAM) - IF ( IBAR (JAM) .NE. 0 ) AM (JAM) = MIN ( T3, AM (JAM) ) -1511 CONTINUE -* | | | -* | | +-------------------------------------------------------------* -* | | -* | +----------------------------------------------------------------* -* | | Masses already redefined - ELSE -* | | +-------------------------------------------------------------* -* | | | Loop over masses to be redefined - DO 15111 IAM=1,15 - JAM = IAMC (IAM) - IF ( IBAR (JAM) .NE. 0 ) AM (JAM) = MIN ( T3, AMHH (IAM)) -15111 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - END IF -* | | -* | +----------------------------------------------------------------* -* | We will arrive here also with T3 = AM (IT) and ELPP < T3 from -* | the if on EMD =< 0, it is not clear if it is correct!! -1510 CONTINUE -* | +----------------------------------------------------------------* -* | | Loop for Ferhad/hadrin call -510 CONTINUE -C -C-------------------------------------------------- -C*** MOMENTUM LIMITATION FOR HADRIN IN FERMI-MOM.-VERSION -C-------------------------------------------------- - PLABOU=15.D0 -* | | +-------------------------------------------------------------* -* | | | This check seems to me to be useless, since the maximum -* | | | allowed momentum is 10 GeV/c .... anyway get a warning -* | | | message if this condition is met - IF ( PLPP .GE. PLABOU ) THEN - WRITE ( LUNERR, * )' Nucriv: momentum limitation met!!', - & PLPP, PLABOU - APL = PLPP - PLABOU - ELPP = SQRT (PLABOU**2 + AM(IT)**2) - TPK = TPK + APL*.3D0 - TNK = TNK + APL*.3D0 - TV = TV + APL*.4D0 - IFORBI = IFORBI + 1 - IF ( IFORBI .GT. 10 ) GO TO 405 - END IF -* | | | -* | | +-------------------------------------------------------------* - EELAB = ELPP - PPLAB = PLPP - IHACA = IHACA + 1 - ITFRHD = IT - IF ( PPLAB .LT. 1.D-04 ) THEN - WRITE (LUNERR,*) - & ' Nucriv: iperco=0,eelab,pplab,it', - & EELAB,PPLAB,IT - WRITE (LUNERR,*)' IHACA,LVMASS,ELAB,PLAB', - & IHACA,LVMASS,ELAB,PLAB - END IF - CALL FERHAV ( IT, EELAB, PPLAB, CX, CY, CZ ) -C -C-------------------------------------------------- -C*** -C*** -C*** HADRON NUCLEON COLLISION SIMULATION -C*** EELAB=LABENERGY OF H,PPLAB=ABSOLUT MOMENTUM OF H, CX,CY,CZ DIRECTIO -C*** COSINES OF H,IN THE LAB SYSTEM, ITTA TARGET NUCLEON INDEX, -C*** ANUC,ZNUC NUCLEON AND PROTON NUMBERS -C*** -C*** REGARDING FERMI MOMENTUM OF THE NUCLEON -C*** -C-------------------------------------------------- -C-------------------------------------------------- -C*** -C*** -C*** IHACA TIMES CALLED H-N-COLL., IF IN FINAL STATE NO PARTICLE,CALL -C*** AGAIN, -C*** IF IN ANNIHILATION OF A STOPPING NUCLEON, IN THE FINAL -C*** STATE IS A BARYON, CALL AGAIN H-N-COLL. -C*** (NOT MORE THAN 30 TIMES, ELSE TAKE THIS STATE) -C*** -C*** -C-------------------------------------------------- -* | | +-------------------------------------------------------------* -* | | | Check if we have reached the maximum numbers of calls (which -* | | | has been reduced to 15 .... 30 seems to be a bit too large -* | | | but there were two "IHACA = IHACA + 1" .... - IF ( IHACA .GT. 15 ) THEN - GO TO 88 -* | | |-->-->-->-->--> give up !!! - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | Ir is the number of secondaries produced in the Ferhad/Hadrin -* | | call -* | | +-------------------------------------------------------------* -* | | | - IF (IR .EQ. 0) THEN - V0WELL (ITJ) = V0WELL (ITJ) + V0EXTR - GO TO 510 -* | | | -* +-<|-<|-<--<--<--<--< go to resampling the ferhad/hadrin interaction - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | Check that for annihilated antibaryons we have no (anti)baryon -* | | in the final state: if yes resample ! -* | | +-------------------------------------------------------------* -* | | | - IF ( INXPI .LT. 0 .AND. NXPI .GT. 0 ) THEN - IBAROT = 0 - DO 520 IRZ = 1, IR - IBAROT = IBAROT + ABS (IBAR(ITR(IRZ))) - 520 CONTINUE - IF ( IBAROT .GT. 0 ) THEN - V0WELL (ITJ) = V0WELL (ITJ) + V0EXTR - GO TO 510 - END IF -* | | | -* +-<|-<|-<--<--<--<--< go to resampling the ferhad/hadrin interaction - END IF -* | | | -* | | +-------------------------------------------------------------* -C -C-------------------------------------------------- -C*** IF NO ANNIHILATION INTO MESONS FOR AN+N -C-------------------------------------------------- -* | | Of course ir=1 means that the only outgoing particle is still -* | | the projectile !! If we have an incoming antibaryon -* | | we need at least 2 particles in the final state (why????, if -* | | we have no annihilation for example a charge exchange recation -* | | can give ir=2) -* | | +-------------------------------------------------------------* -* | | | - IF ( IR .LT. 2 .AND. INXPI .LT. 0 ) THEN - V0WELL (ITJ) = V0WELL (ITJ) + V0EXTR - GO TO 510 -* | | | -* +-<|-<|-<--<--<--<--< go to resampling the ferhad/hadrin interaction - END IF -* | | | -* | | +-------------------------------------------------------------* -88 CONTINUE -* | | End loop for Ferhad/hadrin call -* | +----------------------------------------------------------------* - -* | +----------------------------------------------------------------* -* | | Redefinition of masses, if they were changed for annihilation -* | | beyond 1.88 GeV - threshold - IF ( LVMASS ) THEN -* | | +-------------------------------------------------------------* -* | | | - DO 1512 IAM=1,15 - AM (IAMC(IAM)) = AMHH (IAM) -1512 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - END IF -* | | -* | +----------------------------------------------------------------* -C -C-------------------------------------------------- -C*** CORRECTION OF CASCADE AND EXCITATION ENERGIES FOR FERMI-MOMENTUM -C*** IF ENERGY CONSERVATION ALLOWS NO H-N-COLLISION, GO TO THE START -C*** POINT OF EVENT SIMUL. -C*** ELSE ENERGY CORRECTION BY VARIABLE EKIKOR -C-------------------------------------------------- -C-------------------------------------------------- -2800 CONTINUE - ECHCK = ETTOT - PXCHCK = PXTTOT - PYCHCK = PYTTOT - PZCHCK = PZTTOT -* | +----------------------------------------------------------------* -* | | - DO 3000 IPART = 1, IR - ECHCK = ECHCK - EL (IPART) - PXCHCK = PXCHCK - PL (IPART) * CXR (IPART) - PYCHCK = PYCHCK - PL (IPART) * CYR (IPART) - PZCHCK = PZCHCK - PL (IPART) * CZR (IPART) -3000 CONTINUE -* | | -* | +----------------------------------------------------------------* - UMO2 = (ECHCK + DELEFT)**2 - PXCHCK**2 - PYCHCK**2 - PZCHCK**2 -* | +----------------------------------------------------------------* -* | | Now moved to atomic masses !!! - IF ( IR .GT. 1 ) THEN - AMMRE2 = AMMRES**2 -* | | -* | +----------------------------------------------------------------* -* | | It is supposed that the only emitted particle is still the -* | | projectile - ELSE - AMMRES = AMMTAR - AMNRES = AMNTAR - AMMRE2 = AMMTAR**2 - END IF -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | - IF ( UMO2 .LT. AMMRE2 ) THEN - I1651 = I1651 + 1 - IF ( I1651 .GT. 4 .OR. IHACA .GT. 10 ) THEN - LRESMP = .TRUE. - RETURN - END IF - V0WELL (ITJ) = V0WELL (ITJ) + V0EXTR - GO TO 1651 -* | | -* +-<|-<--<--<--<--<--< go to the beginning of the event simulation! - END IF -* | | -* | +----------------------------------------------------------------* -* | End of the event simulation: finally we got it -* +-------------------------------------------------------------------* -* Update Tv, Tnk, Tpk taking into account Ekikor: simply ekikor is -* added (with its sign) leaving unchanged the ratios -* Again this stuff is now obsolete, we make the same from the energy -* balance -* +-------------------------------------------------------------------* -* | - IF ( IPERCO .LT. 0 ) THEN - ELRES = ECHCK - AMNRES - ELRES0 = TVEUZ + TPNVK - AA65 = ELRES / ELRES0 -* | Tpnvk records the sum of the energy available for cascade protons, -* | neutrons and excitation -* | +----------------------------------------------------------------* -* | | - IF ( TPNVK .LE. 0.D+00 ) THEN - TPK = 0.4D+00 * ELRES - TNK = 0.5D+00 * ELRES - TV = 0.1D+00 * ELRES - TVGRE0 = 0.5D+00 * TV - TVEUZ = 0.5D+00 * TV -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - TPK = TPK * AA65 - TNK = TNK * AA65 - TVGRE0 = TVGRE0 * AA65 - TVEUZ = TVEUZ * AA65 - TV = TVGRE0 + TVEUZ - END IF -* | | -* | +----------------------------------------------------------------* -* | -* +-------------------------------------------------------------------* -* | peripheral collision, no cascade - ELSE - ELRES0 = TVEUZ - ELRES = ECHCK - AMNRES - AA65 = ELRES / ELRES0 - TPK = 0.D+00 - TNK = 0.D+00 - TVGRE0 = 0.D+00 - TVEUZ = TVEUZ * AA65 - TV = TVEUZ - END IF -* | -* +-------------------------------------------------------------------* -C -C-------------------------------------------------- -C -C*** REDEFINE THE ENERGIES OF SAMPLED PARTICLES IN -C*** CASE OF CHANGED MASSES -C -C-------------------------------------------------- -* +-------------------------------------------------------------------* -* | - IF ( LVMASS ) THEN - MESON=0 -* | +----------------------------------------------------------------* -* | | - DO 2510 IRZ=1,IR - ITRZ = MIN (ITR(IRZ),30) - IBAROT = JAMC(ITRZ) -* | | +-------------------------------------------------------------* -* | | | Check if we need to redefine the energy - IF ( ABS (IBAROT) .GE. 1 ) THEN -* | | | This energy redefinition can be very dangerous for any -* | | | energy balance, since we retain momentum and not energy!! - ECHCK = ECHCK + EL (IRZ) - EL (IRZ) = SQRT ( PL (IRZ)**2 + AM (ITRZ)**2 ) - ECHCK = ECHCK - EL (IRZ) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - MESON = MESON + 1 - END IF -* | | | -* | | +-------------------------------------------------------------* -2510 CONTINUE -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | No particle in the secondary stack - IF ( IR .EQ. 0 ) THEN - ANOW = ANOW + IBAR (IT) - KTARN = KTARN - IBAR (IT) + ICH (IT) - ZNOW = ZNOW + ICH (IT) - KTARP = KTARP - ICH (IT) - GO TO 405 -* | -* +-->-->-->-->--> go to the cascade simulation -* | -* +-------------------------------------------------------------------* -* | Only one particle in the final state, it should be the projectile -* | since it is assumed that no nucleon number correction occurs -* | ( see below ): give random angle like for cascade particles to the -* | single secondary from Hadrin - ELSE IF ( IR .EQ. 1 ) THEN - AMMRES = AMMTAR - AMNRES = AMNTAR - TKI = EL(1) - AM (ITR(1)) - IF(TKI .LE. 1.D-20 ) GO TO 1221 - ADE=0.12D0*(1.D0+0.003D0*BBTAR)/TKI - DEX=EXP(-1.57D0*1.57D0/ADE) - AN1=(1.D0-DEX)*ADE*.5D0 - AN2=DEX*1.57D0 - AN=AN1+AN2 - AN1=AN1/AN - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. AN1) GO TO 1222 - 1223 CONTINUE -C -C-------------------------------------------------- -C*** TETA ANGLE DETERMINATION (SINGLE PART.CASE), = DE -C-------------------------------------------------- - CALL GRNDM(RNDM,1) - DE=SQRT(-ADE*LOG(1.D0-RNDM(1)*(1.D0-DEX))) - IF(DE.GT.1.57D0) GO TO 1223 - GOTO 1224 - 1222 CONTINUE - CALL GRNDM(RNDM,1) - DE=-RNDM(1) - DE=ATAN2(SQRT(ONEONE-DE**2),DE) - 1224 CONTINUE - CALL COSI(SFE,CFE) -C -C-------------------------------------------------- -C*** COS PHI, SIN PHI DETERMINATION(S.P.CASE) -C-------------------------------------------------- - SID=SIN(DE) - COD=COS(DE) - CALL TTRANS (CXR(1), CYR(1), CZR(1), COD, SID, SFE, CFE, - & CCXR, CCYR, CCZR) -C -C-------------------------------------------------- -C*** TURNING OF ANGLE S INTO THE LABSYSTEM (S.P.CASE) -C-------------------------------------------------- - CXR(1)=CCXR - CYR(1)=CCYR - CZR(1)=CCZR - 1221 CONTINUE -* | -* +-------------------------------------------------------------------+ -* | Two or more particles produced - ELSE - I1 = ITJ - 1 - A1 = I1 - ANOW = ANOW - 1.D0 - ZNOW = ZNOW - 1.D0 + A1 - KTARP = KTARP + 1 - I1 - KTARN = KTARN + I1 - END IF -* | -* +-------------------------------------------------------------------+ - IRN = NP0 -* +-------------------------------------------------------------------* -* | - DO 10 I = 1,IR -C -C-------------------------------------------------- -C*** STORAGE OF H-N-COLL. PRODUCTS INTO NUCLEUS FINAL STATE C./FINUC/ -C*** CUT OFF FOR KINETIC ENERGIES LESS THEN ETHR, PUSH THEM INTO EX.EN. -C*** TV -C-------------------------------------------------- - T1 = EL (I) - I1 = ITR (I) -* | +----------------------------------------------------------------* -* | | - IF ( T1 .LE. ETHR + AM (I1) ) THEN - ANOW = ANOW + IBAR (I1) - KTARN = KTARN - IBAR (I1) + ICH (I1) - ZNOW = ZNOW + ICH (I1) - KTARP = KTARP - ICH (I1) - AMMRES = ANOW * AMUAMU + 1.D-03 * FKENER ( ANOW, ZNOW ) - AMNRES = AMMRES - ZNOW * AMELEC + ELBNDE ( NINT (ZNOW) ) - EAVAIL = ECHCK - AMNRES + T1 - TPNVK = TNK + TPK + TV -* | | +-------------------------------------------------------------* -* | | | - IF ( TPNVK .GT. 0.D+00 ) THEN - TKOR = EAVAIL / TPNVK - TPK = TPK * TKOR - TNK = TNK * TKOR - TV = TV * TKOR - TVEUZ = TVEUZ * TKOR - TVGRE0 = TVGRE0 * TKOR -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - TPK = 0.4444444444444444D+00 * EAVAIL - TNK = 0.5555555555555556D+00 * EAVAIL - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | -* | +----------------------------------------------------------------* -* | | particle acceptable - ELSE - IRN = IRN+1 -C -C-------------------------------------------------- -C*** STORE THE PARTICLE CHARACTERISTICS INTO C./FINUC/, THEN TAKE NEXT -C*** PARTICLE -C-------------------------------------------------- - ITRN(IRN) = I1 - CXRN(IRN) = CXR(I) - CYRN(IRN) = CYR(I) - CZRN(IRN) = CZR(I) - ELR(IRN) = EL(I) - PLR(IRN) = PL(I) - IBAT = IBAT+1 -* | | updating the conservation counters in common balanc - ENUCR = ENUCR + ELR(IRN) - PXNUCR = PXNUCR + PLR(IRN)*CXRN(IRN) - PYNUCR = PYNUCR + PLR(IRN)*CYRN(IRN) - PZNUCR = PZNUCR + PLR(IRN)*CZRN(IRN) - ICNUCR = ICNUCR + ICH(ITRN(IRN)) - IBNUCR = IBNUCR + IBAR(ITRN(IRN)) - IRNTOT = IRNTOT + 1 - END IF -* | | -* | +----------------------------------------------------------------* - 10 CONTINUE -* | -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | - IF ( IRN - NP0 - IGREYP - IGREYN .EQ. 1 ) THEN -* | The following balance is ok if and only if both the incident and -* | the emitted particles were nucleons (proton or neutron), or the -* | emitted particle is equal to the incident one -* | +----------------------------------------------------------------* -* | | - IF ( ITTTT .NE. ITRN (NP0+1) ) THEN - LPRONU = ITTTT .EQ. 1 .OR. ITTTT .EQ. 8 - LEMINU = ITRN (NP0+1) .EQ. 1 .OR. ITRN (NP0+1) .EQ. 8 -* | | +-------------------------------------------------------------* -* | | | - IF ( .NOT. LPRONU .OR. .NOT. LEMINU ) THEN - ICNOW = NINT (ZNOW) - IBNOW = NINT (ANOW) - ICCC = ICHTAR + ICH (ITTTT) - ICNUCR - ICINTR - IBBB = IBTAR + IBAR (ITTTT) - IBNUCR - IBINTR -* | | | +----------------------------------------------------------* -* | | | | - IF ( IBBB .NE. IBNOW .AND. LEMINU .AND. IBAR (ITTTT) - & .EQ. 0 ) THEN -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( ICCC .GT. ICNOW ) THEN - KTARP = KTARP - 1 - KTARN = KTARN + 2 - ANOW = ANOW - 1.D+00 - ZNOW = ZNOW + 1.D+00 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE IF (ICCC .LT. ICNOW) THEN - KTARP = KTARP + 1 - KTARN = KTARN - ANOW = ANOW - 1.D+00 - ZNOW = ZNOW - 1.D+00 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - KTARN = KTARN + 1 - ANOW = ANOW - 1.D+00 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE IF ( ICCC .NE. ICNOW .AND. LEMINU .AND. IBAR (ITTTT) - & .EQ. 0 ) THEN -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( ICCC .GT. ICNOW ) THEN - KTARP = KTARP - 1 - KTARN = KTARN + 1 - ZNOW = ZNOW + 1.D+00 -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - KTARP = KTARP + 1 - KTARN = KTARN - 1 - ZNOW = ZNOW - 1.D+00 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - END IF -* | | | | -* | | | +----------------------------------------------------------* - END IF -* | | | -* | | +-------------------------------------------------------------* - END IF -* | | -* | +----------------------------------------------------------------* - END IF -* | -* +-------------------------------------------------------------------* - GO TO 406 -* +-->-->-->-->--> go to the cascade simulation!!! -C -C-------------------------------------------------- -C*** IF ITTTT IS A STOPPED NEGATIVE MESON,(BUT ALSO FOR ANNIHILATION) -C*** DISTRIBUTE THE AVAILABLE TOTAL ENERGY OF THE PARTICLE TO THE CASCAD -C*** AND EXCITATION -C-------------------------------------------------- -* +-------------------------------------------------------------------* -* | Zero secondary part. case (h-n-coll.), stopping mesons or anyway -* | all situations not allowing a call to Hadrin -405 CONTINUE - V0WELL (ITJ) = V0OLD - IRN = NP0 - AMMRES = AMUAMU * ANOW + 1.D-03 * FKENER ( ANOW, ZNOW ) - AMNRES = AMMRES - ZNOW * AMELEC + ELBNDE ( NINT (ZNOW) ) - TPNVK = TPK + TNK + TV - EAVAIL = ETTOT - AMNRES - TPNVK -* | +----------------------------------------------------------------* -* | | - IF ( TPNVK .GT. 0.D+00 ) THEN - TKOR = 1.D+00 + EAVAIL / TPNVK - TPK = TPK * TKOR - TNK = TNK * TKOR - TV = TV * TKOR - TVGRE0 = TV - TVEUZ = 0.D+00 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - TPK = 0.4D+00 * EAVAIL - TNK = 0.5D+00 * EAVAIL - TVGRE0 = 0.1D+00 * EAVAIL - TV = TVGRE0 - TVEUZ = 0.D+00 - END IF -* | | -* | +----------------------------------------------------------------* - ELPP = 0.0D+00 -* | -* +-------------------------------------------------------------------* -* Now the cascade simulation!!! -406 CONTINUE - EINCP = 0.D+00 - EINCN = 0.D+00 - IU = IRN - NP0 -C -C-------------------------------------------------- -C -C SIMULATION OF CASCADE NEUTRONS -C -C-------------------------------------------------- -C -C-------------------------------------------------- -C*** NUCLEON NUMBER AND CASCADE ENERGY(VERSUS CUT OFF)-TEST -C*** GIVE THE ENERGY TO THE EXCITATION , IF TEST DEMANDS THIS -C-------------------------------------------------- -* +-------------------------------------------------------------------* -* | - IF ((TPK.LE.TPKTE).OR.(ZNOW.LT.0.5D0)) THEN - TV=TV+TPK - TPK = 0.D+00 - LPCASC = .FALSE. -* | -* +-------------------------------------------------------------------* -* | - ELSE - LPCASC = .TRUE. - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - IF ((TNK.LE.TNKTE).OR.(ANOW-ZNOW.LT.0.5D0)) THEN - TV=TV+TNK - TNK = 0.D+00 - LNCASC = .FALSE. -* | -* +-------------------------------------------------------------------* -* | - ELSE - LNCASC = .TRUE. - END IF -* | -* +-------------------------------------------------------------------* - KNREJE = 0 - KPREJE = 0 -* +-------------------------------------------------------------------* -* | Cascade nucleons selection !!!! -1900 CONTINUE -* | +----------------------------------------------------------------* -* | | - IF ( LPCASC ) THEN - ZSAMP = ZNOW - IF ( ZSAMP .LE. 0.5D+00 ) THEN - LPCASC = .FALSE. - END IF -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - ZSAMP = 0.D+00 - END IF -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | - IF ( LNCASC ) THEN - ANSMP = ANOW - ZNOW - IF ( ANSMP .LE. 0.5D+00 ) THEN - LNCASC = .FALSE. - END IF -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - ANSMP = 0.D+00 - END IF -* | | -* | +----------------------------------------------------------------* - IF ( ( .NOT. LPCASC ) .AND. ( .NOT. LNCASC ) ) GO TO 2000 - IF ( NINT (ANOW) .LE. 0 ) THEN - WRITE(LUNERR,*)' Nucriv: <<<< ANOW < 0 >>>>', - & ANOW,ZNOW,LPCASC,LNCASC - LPCASC = .FALSE. - LNCASC = .FALSE. - GO TO 2000 - END IF - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. ANSMP / ( ANSMP + ZSAMP ) ) THEN - GO TO 20 - ELSE - GO TO 30 - END IF - 20 CONTINUE - T2=AM(8) -C -C-------------------------------------------------- -C*** NEUTRON NUMBER AND NEUTRON CASCADE ENERGY TEST -C-------------------------------------------------- - IF ( ANSMP .LT. 0.5D+00 .OR. TNK .LE. TNKTE ) THEN - LNCASC = .FALSE. - TV = TV + TNK - TNK = 0.D+00 - GO TO 1900 - END IF -C -C-------------------------------------------------- -C*** SAMPLING OF KINETIC ENERGY TN AND TETA ANGLE DN OF THE EMITTED NEU -C-------------------------------------------------- - CALL RBKEKV ( 2, EXSOP, TOEFF, BBTAR, TKIN, TSTRCK, - & PSTRCK, ANOW, TKRECL, COD, SID ) - TN = TKIN - TNK = TNK-TN -C -C-------------------------------------------------- -C*** TEST: IF THE REMAINING ENERGY AND CORRESP.NUCLEON NUMBER ALLOWS FUR -C*** THER CORRESP. NUCLEON EMISSION, ELSE GIVE THE THE ENERGY OR TAKE -C*** THE MISSING FROM THE EXCITATION -C*** IF FOR LAST CHOSEN NUCLEON TN>REMAINING REST, TAKE IN 90% THE ENER -C*** DIFFERENCE FROM EXCIT.ENERGY, IN 10% OR IF TV WOULD BE LESS THEN 0. -C*** ADD TN TO TV (It does the opposite!!! A. Ferrari) -C-------------------------------------------------- - IF ( ANSMP .LT. 1.5D+00 .OR. TNK .LE. ETHR ) THEN - LNCASC = .FALSE. - CALL GRNDM(RNDM,1) - VT = RNDM (1) - THK=TV+TNK - IF (VT .GT. 0.9D+00 .OR. THK .LT. 0.D+00) THEN - TV = TV + TNK + TN - TNK = 0.D+00 - GO TO 1900 - END IF - TNK=0.D0 - TV=THK - END IF -C -C-------------------------------------------------- -C*** CORRESP. NUCLEON NUMBER COUNTING -C-------------------------------------------------- - IF ( TSTRCK .LT. ETHR ) THEN - TV = TV + TN - GO TO 1900 -* | | -* +-<|--<--<--<--<--< Try to select another nucleon!! - END IF - ANOW = ANOW - 1.D+00 - FRSURV = ANOW / BBTAR -C -C-------------------------------------------------- -C*** TAKE THE EMITTED CORRESP. NUCLEON INTO THE FINAL PARTICLE TABLE -C*** C./FINUC/ AFTER CHOICE OF PHI AND TURNING INTO THE LAB SYSTEM -C-------------------------------------------------- - IRN = IRN + 1 - CALL COSI ( SFE, CFE ) -* | +----------------------------------------------------------------* -* | | - IF ( ANOW .LT. 30.D+00 .OR. FRSURV .LT. 0.66D+00 ) THEN - PXLAST = PXTTOT - PXINTR - PXNUCR - PYLAST = PYTTOT - PYINTR - PYNUCR - PZLAST = PZTTOT - PZINTR - PZNUCR - PPLAS2 = PXLAST**2 + PYLAST**2 + PZLAST**2 -* | | +-------------------------------------------------------------* -* | | | - IF ( PPLAS2 .GT. 1.D-6 * PTTOT**2 ) THEN - PPLAST = SQRT ( PPLAS2 ) - CXXINC = PXLAST / PPLAST - CYYINC = PYLAST / PPLAST - CZZINC = PZLAST / PPLAST - CDMIN = MIN ( ONEONE, PSTRCK / PPLAST ) * ( 1.D+00 - - & 0.8D+00 * FRSURV ) - COD = 1.D+00 - 0.5D+00 * ( 1.D+00 - COD ) * ( 1.D+00 - - & CDMIN ) - COD = MIN ( COD, ONEONE ) - SID = SQRT ( 1.D+00 - COD**2 ) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - CXXINC = CX - CYYINC = CY - CZZINC = CZ - END IF -* | | | -* | | +-------------------------------------------------------------* - CALL TTRANS ( CXXINC, CYYINC, CZZINC, COD, SID, SFE, CFE, - & CXRN (IRN), CYRN (IRN), CZRN (IRN) ) -* | | +-------------------------------------------------------------* -* | | | - IF ( NINT (ANOW) .GT. 0 ) THEN - AMNRES = AMUAMU * ANOW - ZNOW * AMELEC + 1.D-03 * FKENER - & ( ANOW, ZNOW ) + ELBNDE ( NINT ( ZNOW ) ) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - AMNRES = 0.D+00 - END IF -* | | | -* | | +-------------------------------------------------------------* - AMNRE2 = AMNRES * AMNRES - ELEFT = ETTOT - ENUCR - EINTR - TSTRCK - T2 -* | | Update TV !!! - TV = ELEFT - TPK - TNK - AMNRES - IUMO = 0 -* | | +-------------------------------------------------------------* -* | | | -2020 CONTINUE - PXLEFT = PXLAST - PSTRCK * CXRN (IRN) - PYLEFT = PYLAST - PSTRCK * CYRN (IRN) - PZLEFT = PZLAST - PSTRCK * CZRN (IRN) - PPLEF2 = PXLEFT**2 + PYLEFT**2 + PZLEFT**2 - UMO2 = ELEFT**2 - PPLEF2 - DELTU2 = AMNRE2 - UMO2 -* | | | +----------------------------------------------------------* -* | | | | - IF ( DELTU2 .GT. 0.D+00 ) THEN -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( IUMO .EQ. 0 .AND. PSTRCK .GE. PPLAST ) THEN - CXRN (IRN) = CXXINC - CYRN (IRN) = CYYINC - CZRN (IRN) = CZZINC - IUMO = IUMO + 1 - GO TO 2020 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - PLDOTU = PXLEFT * CXRN (IRN) + PYLEFT * CYRN (IRN) + - & PZLEFT * CZRN (IRN) - DELTAE = 0.51D+00 * DELTU2 / ( ELEFT - ( T2 + TSTRCK ) - & * PLDOTU / PSTRCK ) -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( DELTAE .GE. TSTRCK .OR. IUMO .GT. 3 ) THEN - IRN = IRN - 1 - KNREJE = KNREJE + 1 - ANOW = ANOW + 1.D+00 -* | | | | | +----------------------------------------------------* -* | | | | | | - IF ( KNREJE .GT. 3 ) THEN - LNCASC = .FALSE. -* | | | | | | +-------------------------------------------------* -* | | | | | | | - IF ( LPCASC ) THEN - TPK = TPK + TNK + TN -* | | | | | | | -* | | | | | | +-------------------------------------------------* -* | | | | | | | - ELSE - TV = TV + TNK + TN - END IF -* | | | | | | | -* | | | | | | +-------------------------------------------------* - TNK = 0.D+00 -* | | | | | | -* | | | | | +----------------------------------------------------* -* | | | | | | - ELSE - TNK = TNK + TN - END IF -* | | | | | | -* | | | | | +----------------------------------------------------* - GO TO 1900 -* | | | | | -* +-<|-<|-<|-<|--<--<--<--<--< -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - TSTRCK = TSTRCK - DELTAE - PSTRCK = SQRT ( TSTRCK * ( TSTRCK + 2.D+00 * T2 ) ) - TKRECL = TKRECL + DELTAE - ELEFT = ELEFT + DELTAE - GO TO 2020 -* | | | | -* | | +-<|-<|--<--<--<--< - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - CALL TTRANS ( CX, CY, CZ, COD, SID, SFE, CFE, CXRN (IRN), - & CYRN (IRN), CZRN (IRN) ) - END IF -* | | -* | +----------------------------------------------------------------* - IGREYN = IGREYN + 1 - EINCN = EINCN + TKIN - ITRN(IRN) = 8 -* -* T2 is the mass energy of the neutron (see before) -* - TVGRE0 = TVGRE0 - TVGREY = TVGREY + TKIN + TKRECL - TSTRCK - EBNDNG (2) - EEX = TKIN + TKRECL - TSTRCK - EBNDNG (2) - TV = TV + EEX - ELR (IRN) = TSTRCK + T2 - PLR(IRN) = PSTRCK -* | updating the conservation counters in common balanc - EINTR = EINTR + ELR(IRN) - PXINTR = PXINTR + PLR(IRN)*CXRN(IRN) - PYINTR = PYINTR + PLR(IRN)*CYRN(IRN) - PZINTR = PZINTR + PLR(IRN)*CZRN(IRN) - ICINTR = ICINTR + ICH(ITRN(IRN)) - IBINTR = IBINTR + IBAR(ITRN(IRN)) - IRNTOT = IRNTOT + 1 - GO TO 1900 -* | -* +--<--<--<--<--< Try to select another cascade nucleon!!!! - -* +-------------------------------------------------------------------* -* | Cascade protons selection!!!!! - 30 CONTINUE - IF ( ZNOW .LT. 0.5D+00 .OR. TPK .LE. TPKTE ) THEN - LPCASC = .FALSE. - TV = TV + TPK - TPK = 0.D+00 - GO TO 1900 - END IF -C -C-------------------------------------------------- -C -C SIMULATION OF CASCADE PROTONS -C -C-------------------------------------------------- -C*** PROTON NUMBER AND PROTON CASCADE ENERGY TEST -C -C -C-------------------------------------------------- -C*** SAMPLING OF KINETIC ENERGY TN AND TETA ANGLE DN OF THE EMITTED P -C-------------------------------------------------- -C-------------------------------------------------- - T2 = AM(1) - CALL RBKEKV ( 1, EXSOP, TOEFF, BBTAR, TKIN, TSTRCK, - & PSTRCK, ANOW, TKRECL, COD, SID ) - TN = TKIN - TPK = TPK - TN -C -C-------------------------------------------------- -C*** TEST: IF THE REMAINING ENERGY AND CORRESP.NUCLEON NUMBER ALLOWS FOR -C*** THE CORRESP. NUCLEON EMISSION, ELSE GIVE THE ENERGY OR TAKE -C*** THE MISSING FROM THE EXCITATION -C*** IF FOR LAST CHOSEN NUCLEON TN>REMAINING REST, TAKE IN 90% THE ENERG -C*** DIFFERENCE FROM EXCIT.ENERGY, IN 10% OR IF TV WOULD BE LESS THEN 0. -C*** ADD TN TO TV -C-------------------------------------------------- - IF ( ZNOW .LT. 1.5D+00 .OR. TPK .LE. ETHR ) THEN - LPCASC = .FALSE. - CALL GRNDM(RNDM,1) - VT = RNDM(1) - THK = TV + TPK - IF ( VT .GT. 0.9D+00 .OR. THK .LT. 0.D+00 ) THEN - TV=TV+TPK+TN - TPK = 0.D+00 - GO TO 1900 - END IF - TPK = 0.D0 - TV = THK - END IF -C -C-------------------------------------------------- -C*** CORRESP. NUCLEON NUMBER COUNTING -C-------------------------------------------------- - IF (TN .LT. ETHR) THEN - TV = TV + TN - GO TO 1900 -* | | -* +-<|--<--<--<--<--< try to select another nucleon - END IF - ANOW = ANOW - 1.D0 - ZNOW = ZNOW - 1.D0 - FRSURV = ANOW / BBTAR -C -C-------------------------------------------------- -C*** TAKE THE EMITTED CORRESP. NUCLEON INTO THE FINAL PARTICLE TABLE -C*** C./FINUC/ AFTER CHOICE OF PHI AND TURNING INTO THE LAB SYSTEM -C-------------------------------------------------- - IRN = IRN + 1 - CALL COSI ( SFE, CFE ) -* | +----------------------------------------------------------------* -* | | - IF ( ANOW .LT. 30.D+00 .OR. FRSURV .LT. 0.66D+00 ) THEN - PXLAST = PXTTOT - PXINTR - PXNUCR - PYLAST = PYTTOT - PYINTR - PYNUCR - PZLAST = PZTTOT - PZINTR - PZNUCR - PPLAS2 = PXLAST**2 + PYLAST**2 + PZLAST**2 -* | | +-------------------------------------------------------------* -* | | | - IF ( PPLAS2 .GT. 1.D-6 * PTTOT**2 ) THEN - PPLAST = SQRT ( PPLAS2 ) - CXXINC = PXLAST / PPLAST - CYYINC = PYLAST / PPLAST - CZZINC = PZLAST / PPLAST - CDMIN = MIN ( ONEONE, PSTRCK / PPLAST ) * ( 1.D+00 - - & 0.8D+00 * FRSURV ) - COD = 1.D+00 - 0.5D+00 * ( 1.D+00 - COD ) * ( 1.D+00 - - & CDMIN ) - COD = MIN ( COD, ONEONE ) - SID = SQRT ( 1.D+00 - COD**2 ) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - CXXINC = CX - CYYINC = CY - CZZINC = CZ - END IF -* | | | -* | | +-------------------------------------------------------------* - CALL TTRANS ( CXXINC, CYYINC, CZZINC, COD, SID, SFE, CFE, - & CXRN (IRN), CYRN (IRN), CZRN (IRN) ) -* | | +-------------------------------------------------------------* -* | | | - IF ( NINT (ANOW) .GT. 0 ) THEN - AMNRES = AMUAMU * ANOW - ZNOW * AMELEC + 1.D-03 * FKENER - & ( ANOW, ZNOW ) + ELBNDE ( NINT ( ZNOW ) ) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - AMNRES = 0.D+00 - END IF -* | | | -* | | +-------------------------------------------------------------* - AMNRE2 = AMNRES * AMNRES - ELEFT = ETTOT - ENUCR - EINTR - TSTRCK - T2 - IUMO = 0 -* | | +-------------------------------------------------------------* -* | | | -3030 CONTINUE - PXLEFT = PXLAST - PSTRCK * CXRN (IRN) - PYLEFT = PYLAST - PSTRCK * CYRN (IRN) - PZLEFT = PZLAST - PSTRCK * CZRN (IRN) - PPLEF2 = PXLEFT**2 + PYLEFT**2 + PZLEFT**2 - UMO2 = ELEFT**2 - PPLEF2 - DELTU2 = AMNRE2 - UMO2 -* | | | +----------------------------------------------------------* -* | | | | - IF ( DELTU2 .GT. 0.D+00 ) THEN -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( IUMO .EQ. 0 .AND. PSTRCK .GE. PPLAST ) THEN - CXRN (IRN) = CXXINC - CYRN (IRN) = CYYINC - CZRN (IRN) = CZZINC - IUMO = IUMO + 1 - GO TO 3030 - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - IUMO = IUMO + 1 - PLDOTU = PXLEFT * CXRN (IRN) + PYLEFT * CYRN (IRN) + - & PZLEFT * CZRN (IRN) - DELTAE = 0.51D+00 * DELTU2 / ( ELEFT - ( T2 - & + TSTRCK ) * PLDOTU / PSTRCK ) -* | | | | +-------------------------------------------------------* -* | | | | | - IF ( DELTAE .GE. TSTRCK .OR. IUMO .GT. 3 ) THEN - IRN = IRN - 1 - KPREJE = KPREJE + 1 - ANOW = ANOW + 1.D+00 - ZNOW = ZNOW + 1.D+00 -* | | | | | +----------------------------------------------------* -* | | | | | | - IF ( KPREJE .GT. 3 ) THEN - LPCASC = .FALSE. -* | | | | | | +-------------------------------------------------* -* | | | | | | | - IF ( LNCASC ) THEN - TNK = TPK + TNK + TN -* | | | | | | | -* | | | | | | +-------------------------------------------------* -* | | | | | | | - ELSE - TV = TV + TPK + TN - END IF -* | | | | | | | -* | | | | | | +-------------------------------------------------* - TPK = 0.D+00 -* | | | | | | -* | | | | | +----------------------------------------------------* -* | | | | | | - ELSE - TPK = TPK + TN - END IF -* | | | | | | -* | | | | | +----------------------------------------------------* - GO TO 1900 -* | | | | | -* +-<|-<|-<|-<|--<--<--<--<--< -* | | | | | -* | | | | +-------------------------------------------------------* -* | | | | | - ELSE - TSTRCK = TSTRCK - DELTAE - PSTRCK = SQRT ( TSTRCK * ( TSTRCK + 2.D+00 * T2 ) ) - TKRECL = TKRECL + DELTAE - ELEFT = ELEFT + DELTAE - GO TO 3030 -* | | | | | -* | | +-<|-<|--<--<--<--< - END IF -* | | | | | -* | | | | +-------------------------------------------------------* - END IF -* | | | | -* | | | +----------------------------------------------------------* -* | | | -* | | +-------------------------------------------------------------* -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - CALL TTRANS ( CX, CY, CZ, COD, SID, SFE, CFE, CXRN (IRN), - & CYRN (IRN), CZRN (IRN) ) - END IF -* | | -* | +----------------------------------------------------------------* - IGREYP = IGREYP + 1 - EINCP = EINCP + TKIN -C - ITRN (IRN) = 1 -* -* T2 is the mass energy of the proton (see before) -* -* TVGRE0 = TVGRE0 + EXSOP (1) - TVGRE0 = TVGRE0 - TVGREY = TVGREY + TKIN + TKRECL - TSTRCK - EBNDNG (1) - EEX = TKIN + TKRECL - TSTRCK - EBNDNG (1) - TV = TV + EEX - ELR (IRN) = TSTRCK + T2 - PLR (IRN) = PSTRCK -* | updating the conservation counters in common balanc - EINTR = EINTR + ELR(IRN) - PXINTR = PXINTR + PLR(IRN)*CXRN(IRN) - PYINTR = PYINTR + PLR(IRN)*CYRN(IRN) - PZINTR = PZINTR + PLR(IRN)*CZRN(IRN) - ICINTR = ICINTR + ICH(ITRN(IRN)) - IBINTR = IBINTR + IBAR(ITRN(IRN)) - IRNTOT = IRNTOT + 1 - GO TO 1900 -* | -* +--<--<--<--<--< Try to select another cascade nucleon!!!! -C -C-------------------------------------------------- -C*** END OF CASCADE NUCLEON EMISSION -C*** HANDLING OF THE CASES: NO OR ONE PARTICLE IN H-A-FINAL STATE -C*** FINAL CALCULATION OF TV -C-------------------------------------------------- -2000 CONTINUE -* +-------------------------------------------------------------------* -* | Now working with atomic masses ! - IF ( NINT (ANOW) .GT. 0 ) THEN - AMMRES = AMUAMU * ANOW + 1.D-03 * FKENER ( ANOW, ZNOW ) - AMNRES = AMMRES - ZNOW * AMELEC + ELBNDE ( NINT (ZNOW) ) - DELEFT = AMMTAR - AMNTAR - ( ICHTAR - ZNOW ) * AMELEC -* | -* +-------------------------------------------------------------------* -* | - ELSE - AMMRES = 0.D+00 - AMNRES = 0.D+00 - DELEFT = 0.D+00 - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Check the number of emitted particles - IF ( IRN - NP0 - 1 ) 4001,4002,4003 -4001 CONTINUE -* | No particle emitted !!! -* | Now working with atomic masses - TV = ETTOT - AMNRES - GO TO 4013 -* | -* +-------------------------------------------------------------------* -* | One particle emitted -4002 CONTINUE -* | +----------------------------------------------------------------* -* | | - IF ( TV .LE. 0.001D+00 ) THEN - TV = TVEUZ0 - END IF -* | | -* | +----------------------------------------------------------------* -* | Now working with atomic masses - UMO2 = ( ETTOT + DELEFT )**2 - PTTOT**2 - IUMO = 0 -* | +----------------------------------------------------------------* -* | | -4040 CONTINUE - AMSTAR = AMMRES + TV - AMEMIT = AM ( ITRN (NP0+1) ) - UMIN2 = ( AMEMIT + AMSTAR )**2 -* | | +-------------------------------------------------------------* -* | | | - IF ( UMO2 .LE. UMIN2 ) THEN - DELTAE = 0.51D+00 * ( UMIN2 - UMO2 ) / ( AMEMIT + - & AMSTAR ) - IUMO = IUMO + 1 -* | | | +----------------------------------------------------------* -* | | | | - IF ( TV .GE. DELTAE .AND. IUMO .LE. 3 ) THEN - TV = TV - DELTAE - GO TO 4040 -* | | | | -* | +-<|-<|--<--<--<--<--< -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE - WRITE ( LUNERR, * ) ' Nucriv: single particle emiss', - & 'ion not possible for missing invariant mass!!', - & NINT (ANOW), NINT (ZNOW), UMIN2, UMO2, - & ITRN (NP0+1), IUMO - ANOW = BBTAR - ZNOW = ZZTAR - KTARP = 0 - KTARN = 0 - IGREYP = 0 - IGREYN = 0 - ENUCR = 0.D+00 - PXNUCR = 0.D+00 - PYNUCR = 0.D+00 - PZNUCR = 0.D+00 - EINTR = 0.D+00 - PXINTR = 0.D+00 - PYINTR = 0.D+00 - PZINTR = 0.D+00 - TVGREY = 0.D+00 - UMO = SQRT ( UMO2 ) - TVGRE0 = UMO - AMMTAR - TV = TVGRE0 - IRN = NP0 - RETURN - END IF -* | | | | -* | | | +----------------------------------------------------------* - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | -* | +----------------------------------------------------------------* - UMO = SQRT ( UMO2 ) - GAMCM = ( ETTOT + DELEFT ) / UMO - ETACM = PTTOT / UMO - ETAX = PXTTOT / UMO - ETAY = PYTTOT / UMO - ETAZ = PZTTOT / UMO - PXNUCR = PLR (NP0+1) * CXRN (NP0+1) - PYNUCR = PLR (NP0+1) * CYRN (NP0+1) - PZNUCR = PLR (NP0+1) * CZRN (NP0+1) - ETAPCM = - ETAX * PXNUCR - ETAY * PYNUCR - ETAZ * PZNUCR - PHELP = ETAPCM / ( GAMCM + 1.D+00 ) + ELR (NP0+1) -* | Old direction cosines of the emitted particle in CMS - PXINTR = PXNUCR - ETAX * PHELP - PYINTR = PYNUCR - ETAY * PHELP - PZINTR = PZNUCR - ETAZ * PHELP - PCMS = SQRT ( PXINTR**2 + PYINTR**2 + PZINTR**2 ) - CXXINC = PXINTR / PCMS - CYYINC = PYINTR / PCMS - CZZINC = PZINTR / PCMS - ECMSST = 0.5D+00 * ( UMO2 + AMSTAR**2 - AMEMIT**2 ) / UMO - ECMSEM = UMO - ECMSST - PCMS = SQRT ( ECMSEM**2 - AMEMIT**2 ) -* | Now save the old direction - PXINTR = PCMS * CXXINC - PYINTR = PCMS * CYYINC - PZINTR = PCMS * CZZINC - ETAPCM = ETAX * PXINTR + ETAY * PYINTR + ETAZ * PZINTR - ELR (NP0+1) = GAMCM * ECMSEM + ETAPCM - PHELP = ETAPCM / ( GAMCM + 1.D+00 ) + ECMSEM - PXNUCR = PXINTR + ETAX * PHELP - PYNUCR = PYINTR + ETAY * PHELP - PZNUCR = PZINTR + ETAZ * PHELP - PLR (NP0+1) = SQRT ( PXNUCR**2 + PYNUCR**2 + PZNUCR**2 ) - ENUCR = ELR (NP0+1) - CXRN (NP0+1) = PXNUCR / PLR (NP0+1) - CYRN (NP0+1) = PYNUCR / PLR (NP0+1) - CZRN (NP0+1) = PZNUCR / PLR (NP0+1) - KTARP = KTARP + IGREYP - KTARN = KTARN + IGREYN - IGREYP = 0 - IGREYN = 0 - EINTR = 0.D+00 - PXINTR = 0.D+00 - PYINTR = 0.D+00 - PZINTR = 0.D+00 - TVGRE0 = 0.D+00 - TVGREY = 0.D+00 - TVEUZ = TV - GO TO 4013 -* | -* +-------------------------------------------------------------------* - -* +-------------------------------------------------------------------* -* | More than one particle emitted!! -4003 CONTINUE -* | Now working with atomic masses ! - TV = ETTOT + DELEFT - AMMRES - ENUCR - EINTR -* | +----------------------------------------------------------------* -* | | - IF ( TV .LE. 0.D+00 ) THEN - WRITE ( LUNERR, * )' *** Nucrin failure: Tv < 0!!',TV - END IF -* | | -* | +----------------------------------------------------------------* - 4013 CONTINUE -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Check if a neutron/proton has been left: if so add to the -* | emitted particle list, conserving energyu (but not momentum) - IF ( NINT (ANOW) .EQ. 1 ) THEN - IF ( TV .LT. 0.D+00 ) THEN - LRESMP = .TRUE. - RETURN - END IF - PXRES = PXTTOT - PXINTR - PXNUCR - PYRES = PYTTOT - PYINTR - PYNUCR - PZRES = PZTTOT - PZINTR - PZNUCR - PTRES = SQRT ( PXRES**2 + PYRES**2 + PZRES**2 ) - IRN = IRN + 1 - ANOW = ANOW - 1.D+00 - IF ( NINT (ZNOW) .GT. 0.D+00 ) THEN - ITRN (IRN) = 1 - ZNOW = ZNOW - 1.D+00 - KTARP = KTARP + 1 - IGREYP = IGREYP + 1 - TSTRCK = ETTOT - AM (ITRN(IRN)) - ENUCR - EINTR - EINCP = EINCP + TSTRCK - ELSE - ITRN (IRN) = 1 - KTARN = KTARN + 1 - IGREYN = IGREYN + 1 - TSTRCK = ETTOT - AM (ITRN(IRN)) - ENUCR - EINTR - EINCN = EINCN + TSTRCK - END IF - TV = 0.D+00 - ELR (IRN) = TSTRCK + AM (ITRN(IRN)) - PLR (IRN) = SQRT ( TSTRCK * ( TSTRCK + 2.D+00 * AM(ITRN(IRN)) ) - & ) - PTRES = PLR (IRN) / MAX ( PTRES, ANGLGB ) - CXRN (IRN) = PXRES * PTRES - CYRN (IRN) = PYRES * PTRES - CZRN (IRN) = PZRES * PTRES -* | updating the conservation counters in common balanc - EINTR = EINTR + ELR(IRN) - PXINTR = PXINTR + PLR(IRN)*CXRN(IRN) - PYINTR = PYINTR + PLR(IRN)*CYRN(IRN) - PZINTR = PZINTR + PLR(IRN)*CZRN(IRN) - ICINTR = ICINTR + ICH(ITRN(IRN)) - IBINTR = IBINTR + IBAR(ITRN(IRN)) - IRNTOT = IRNTOT + 1 - END IF -* | -* +-------------------------------------------------------------------* - RETURN - END diff --git a/StarVMC/geant3/fluka/nudisv.F b/StarVMC/geant3/fluka/nudisv.F deleted file mode 100644 index 8ea62d0bf45..00000000000 --- a/StarVMC/geant3/fluka/nudisv.F +++ /dev/null @@ -1,367 +0,0 @@ -* -* $Id: nudisv.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: nudisv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 25/07/94 15.04.20 by S.Giani -*-- Author : -*$ CREATE NUDISV.FOR -*COPY NUDISV -* -*=== nudisv ===========================================================* -* - INTEGER FUNCTION NUDISV ( ANU, KB, EXPLAM, ASEASQ, APOWER, PRZERO) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Last change on 05-may-92 by Alfredo Ferrari, INFN-Milan * -* * -* Nudist91: * -* multiplicity distribution of chains produced in hadron-nucleus * -* collisions * -* * -* Input variables: * -* anu = average number of collisions * -* kb = baryon number of the projectile * -* explam = exp ( - (anu-1) ) * -* Output variables: * -* nudisv = number of high energy collisions * -*----------------------------------------------------------------------* -* - PARAMETER ( INMAX = 30 ) - PARAMETER ( IAMAX = 13 ) - PARAMETER ( ANUMAX = 6.0D+00 ) - PARAMETER ( ANUMED = 0.5D+00 * ( 3.75D+00 + ANUMAX ) ) -* -C AB,(KB.NE.0) BARYON NUCLEUS -C - DIMENSION AB (INMAX,IAMAX), ANUB (IAMAX), ANUM (9), - & ANSESQ (IAMAX), ANPOWR (IAMAX), NULAST (IAMAX) - DIMENSION AAB (IAMAX), DIST (0:INMAX), IEX (3,5) - REAL RNDM(1) - LOGICAL LFIRST - SAVE LFIRST, ANUB, ANUM, AB, ANSESQ, NULAST, ANPOWR - DATA ANUB/1.D0,1.1D0,1.25D0,1.45D0,1.65D0,1.74D0,2.09D0,2.66D0, - & 3.0D0,3.1D0,3.75D0,ANUMED,ANUMAX/ - DATA ANUM/1.D0,1.45D0,1.52D0,1.77D0,2.19D0,2.42D0,2.47D0, - *2.90D0,5.D0/ - DATA AB / 1.D+00, 29*0.D+00, 90*0.D+00, - & 0.5771D+00, 0.2565D+00, 0.1159D+00, 0.0397D+00, - & 0.0095D+00, 0.0013D+00, 0.0001D+00, 23*0.D+00, - & 0.5457D+00, 0.2548D+00, 0.1303D+00, 0.0515D+00, - & 0.0146D+00, 0.0028D+00, 0.0003D+00, 23*0.D+00, - & 0.4462D+00, 0.2445D+00, 0.1599D+00, 0.0919D+00, 0.0406D+00, - & 0.0132D+00, 0.0032D+00, 0.0005D+00, 0.0001D+00, 21*0.D+00, - & 0.3387D+00, 0.2105D+00, 0.1670D+00, 0.1291D+00, 0.0849D+00, - & 0.0441D+00, 0.0180D+00, 0.0059D+00, 0.0014D+00, 0.0003D+00, - & 0.0001D+00, 19*0.D+00, - & 0.2959D+00, 0.1885D+00, 0.1673D+00, 0.1344D+00, 0.1044D+00, - & 0.0653D+00, 0.0336D+00, 0.0144D+00, 0.0046D+00, 0.0012D+00, - & 0.0003D+00, 19*0.D+00, - & 0.2835D+00, 0.1818D+00, 0.1572D+00, 0.1357D+00, 0.1082D+00, - & 0.0715D+00, 0.0380D+00, 0.0161D+00, 0.0057D+00, 0.0018D+00, - & 0.0004D+00, 0.0001D+00, 18*0.D+00, - & 0.2247D+00, 0.1481D+00, 0.1342D+00, 0.1328D+00, 0.1211D+00, - & 0.0984D+00, 0.0700D+00, 0.0394D+00, 0.0198D+00, 0.0077D+00, - & 0.0028D+00, 0.0008D+00, 0.0002D+00, 17*0.D+00, 60*0.D+00/ - DATA IEX / 1, 3, 6, 1, 2, 3, 2, 4, 5, 10, 12, 11, 11, 13, 12 / - DATA LFIRST / .TRUE. / -* -* +-------------------------------------------------------------------* -* | First call: perform the initialization - IF ( LFIRST ) THEN - LFIRST = .FALSE. - IPOWER = NINT (-APOWER) -* | +----------------------------------------------------------------* -* | | - DO 100 IA = 1, IAMAX - AAB (IA) = 0.D+00 -* | | +-------------------------------------------------------------* -* | | | This loop computes the normalization factor - DO 80 IN = 1, INMAX - AAB (IA) = AAB (IA) + AB (IN,IA) - 80 CONTINUE -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | - IF ( AAB (IA) .GT. 0.D+00 ) THEN - ANUAVE = 0.D+00 -* | | | +----------------------------------------------------------* -* | | | | - DO 90 IN = 1, INMAX - AB (IN,IA) = AB (IN,IA) / AAB (IA) - ANUAVE = ANUAVE + IN * AB (IN,IA) - 90 CONTINUE -* | | | | -* | | | +----------------------------------------------------------* - ANUB (IA) = ANUAVE - END IF -* | | | -* | | +-------------------------------------------------------------* - 100 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | - DO 200 IE = 1,5 - IA = IEX (2,IE) - IR1 = IEX (1,IE) - IR2 = IEX (3,IE) - ANUEN1 = 0.D+00 - ANUEN2 = 0.D+00 - AAB (IA) = 0.D+00 - AEXTR1 = 0.5D+00 * MIN ( 1, IR1 - 1 ) - AEXTR2 = 0.5D+00 * MIN ( 1, IR2 - 1 ) -* | | +-------------------------------------------------------------* -* | | | This loop fills the ab(i,ia) array, -* | | | extrapolating from the data for s, -* | | | anub (ir1,r2) - DO 130 IN = 1, INMAX - ANUBE1 = ANUEN1 - ANUBE2 = ANUEN2 - ANUEN1 = ( AEXTR1 + IN ) * ANUB (IA) - & / ANUB (IR1) - ANUEN2 = ( AEXTR2 + IN ) * ANUB (IA) - & / ANUB (IR2) - NABE1 = INT (ANUBE1) - NABE2 = INT (ANUBE2) - NAEN1 = NINT (ANUEN1) - NAEN2 = NINT (ANUEN2) - IF ( AB (IN,IR1) .GT. 0.D+00 ) THEN - DO 110 INN = MAX (NABE1,1), NAEN1 - IF (INN .GT. 1) THEN - ANUBE0 = 0.5D+00 + (INN-1) - IF (INN .GT. INMAX ) GO TO 110 - ELSE - ANUBE0 = 0.D+00 - END IF - ANUEN0 = 0.5D+00 + INN - ANUBEG = MAX ( ANUBE1, ANUBE0 ) - ANUEND = MIN ( ANUEN1, ANUEN0 ) - WEIGHT = AB (IN,IR1) * MAX ( ZERZER, ( ANUEND - & - ANUBEG ) / ( ANUEN1 - ANUBE1 ) ) - AB (INN,IA) = AB (INN,IA) + WEIGHT - AAB (IA) = AAB (IA) + WEIGHT - 110 CONTINUE - END IF - IF ( AB (IN,IR2) .GT. 0.D+00 ) THEN - DO 120 INN = MAX (NABE2,1), NAEN2 - IF (INN .GT. 1) THEN - ANUBE0 = 0.5D+00 + (INN-1) - IF (INN .GT. INMAX ) GO TO 120 - ELSE - ANUBE0 = 0.D+00 - END IF - ANUEN0 = 0.5D+00 + INN - ANUBEG = MAX ( ANUBE2, ANUBE0 ) - ANUEND = MIN ( ANUEN2, ANUEN0 ) - WEIGHT = AB (IN,IR2) * MAX ( ZERZER, ( ANUEND - & - ANUBEG ) / ( ANUEN2 - ANUBE2 ) ) - AB (INN,IA) = AB (INN,IA) + WEIGHT - AAB (IA) = AAB (IA) + WEIGHT - 120 CONTINUE - END IF - 130 CONTINUE -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | - DO 140 IN =1, INMAX - AB (IN,IA) = AB (IN,IA) / AAB (IA) - 140 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - 200 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | This loop simply creates a cumulative distribution - DO 12 IA = 1, IAMAX - AAB (IA) = 0.D+00 - NULAST (IA) = INMAX -* | | +-------------------------------------------------------------* -* | | | This loop computes the normalization factor - DO 18 IN = INMAX, 1, -1 - AAB (IA) = AAB (IA) + AB (IN,IA) - IF ( AB (IN,IA) .LE. 0.D+00 ) NULAST (IA) = IN - 1 - 18 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - ANUAVE = AB (1,IA) - ANSESQ (IA) = 0.D+00 - AB (1,IA) = AB (1,IA) / AAB (IA) -* | | +-------------------------------------------------------------* -* | | | Create the cumulative distribution - DO 13 IN = 2, INMAX - AB (IN,IA) = AB (IN,IA) / AAB (IA) + AB (IN-1,IA) - ANUAVE = ANUAVE + IN * ( AB (IN,IA) - & - AB (IN-1,IA) ) - ANSESQ (IA) = ANSESQ (IA) + (IN-1)*(IN-1) - & * ( AB (IN,IA) - AB (IN-1,IA) ) - 13 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - ANUB (IA) = ANUAVE -* | | +-------------------------------------------------------------* -* | | | - IF ( IPOWER .LT. 7 ) THEN - ANPOWR (IA) = AB (1,IA) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE IF ( IPOWER .LT. 11 ) THEN - ANPOWR (IA) = AB (1,IA) * FPOWER ( IPOWER, 1, ANUAVE ) -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - ANPOWR (IA) = AB (1,IA) * FPOWER ( IPOWER, 1, ANUAVE ) - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | Compute < nu**y(nu) >: - DO 11 IN = 2, INMAX - IF ( IPOWER .LT. 7 ) THEN - IF ( APOWER .GT. 0.D+00 ) THEN - DPOWER = APOWER - ELSE - DPOWER = FPOWER ( IPOWER, IN, ANUAVE ) - END IF - ANPOWR (IA) = ANPOWR (IA) + IN**DPOWER - & * ( AB (IN,IA) - AB (IN-1,IA) ) - ELSE IF ( IPOWER .LT. 11 ) THEN - ANPOWR (IA) = ANPOWR (IA) + IN - & * FPOWER ( IPOWER, IN, ANUAVE ) - & * ( AB (IN,IA) - AB (IN-1,IA) ) - ELSE - ANPOWR (IA) = ANPOWR (IA) + IN - & **FPOWER ( IPOWER, IN, ANUAVE ) - & * ( AB (IN,IA) - AB (IN-1,IA) ) - END IF - 11 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - 12 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | - DO 17 IA = 1, IAMAX - ANUAC = AB (1,IA) - ANUSQ = AB (1,IA) - ANUTH = AB (1,IA) -* | | +-------------------------------------------------------------* -* | | | - DO 15 I = 2, NULAST (IA) - ANUAC = ANUAC + I * ( AB (I,IA) - AB(I-1,IA) ) - ANUSQ = ANUSQ + I*I * ( AB (I,IA) - AB(I-1,IA) ) - ANUTH = ANUTH + I*I*I * ( AB (I,IA) - AB(I-1,IA) ) - 15 CONTINUE -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | - IF ( IA .GT. 1 ) THEN - ANUSE2 = ( ANUSQ - 2.D+00 * ANUB (IA) + 1.D+00 ) / - & ( ANUB (IA) - 1.D+00 )**2 - ANUSE3 = ( ANUTH - 3.D+00 * ANUSQ + 3.D+00 * ANUB (IA) - & - 1.D+00 ) / ( ANUB (IA) - 1.D+00 )**3 -* | | | -* | | +-------------------------------------------------------------* -* | | | - ELSE - ANUSE2 = 1.D+00 - ANUSE3 = 1.D+00 - END IF -* | | | -* | | +-------------------------------------------------------------* - 17 CONTINUE -* | | -* | +----------------------------------------------------------------* - NUDISV = -1 - RETURN - END IF -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Select the proper distributions for interpolations - DO 40 I = 1, IAMAX - IF (ANU .LT. ANUB(I)) GO TO 41 - 40 CONTINUE -* | -* +-------------------------------------------------------------------* - I=IAMAX + 1 - 41 CONTINUE - NANU = I - 1 - IF (NANU.GE.IAMAX) GO TO 50 - IF (NANU.LE.0) NANU = 1 - NANUN = NANU + 1 - WEIGH1 = ( ANU - ANUB (NANU) ) / ( ANUB (NANUN) - ANUB (NANU) ) - WEIGH2 = ( ANUB (NANUN) - ANU ) / ( ANUB (NANUN) - ANUB (NANU) ) - DIST (0) = 0.D+00 - ASEASQ = WEIGH1 * ANSESQ (NANUN) + WEIGH2 * ANSESQ (NANU) - APOWER = WEIGH1 * ANPOWR (NANUN) + WEIGH2 * ANPOWR (NANU) -* +-------------------------------------------------------------------* -* | Create the proper cumulative distribution by interpolation -* | ( note that since weigh1 + weigh2 = 1 it will be automatically -* | normalized ) - DO 20 IN = 1, NULAST (NANUN) - DIST (IN) = WEIGH1 * AB (IN,NANUN) + WEIGH2 * AB (IN,NANU) - WEIGHT = (IN-1) * ( DIST (IN) - DIST (IN-1) ) - 20 CONTINUE -* | -* +-------------------------------------------------------------------* - PRZERO = DIST (1) - CALL GRNDM(RNDM,1) - X=RNDM(1) -* +-------------------------------------------------------------------* -* | Compute the proper nu from the cumulative distribution - DO 30 IN = 1, NULAST (NANUN) - IF ( X .LE. DIST (IN) ) GO TO 31 - 30 CONTINUE -* | -* +-------------------------------------------------------------------* - IN = NULAST (NANUN) - 31 CONTINUE - NUDISV = IN - RETURN -* Come here for larger than 8 - 50 CONTINUE - APOWER = -1.D+00 - ASEASQ = -1.D+00 - NUD = KPOIS (EXPLAM) - NUDISV = NUD + 1 - PRZERO = EXPLAM - WRITE (LUNERR,*)' *** Nudisv called with >= 8 !!',REAL(ANU), - & ' ***' - RETURN -*=== end of function Nudisv ===========================================* - END diff --git a/StarVMC/geant3/fluka/nuprel.F b/StarVMC/geant3/fluka/nuprel.F deleted file mode 100644 index f312d06f6d4..00000000000 --- a/StarVMC/geant3/fluka/nuprel.F +++ /dev/null @@ -1,116 +0,0 @@ -* -* $Id: nuprel.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: nuprel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE NUPREL.FOR -*COPY NUPREL -* -*=== nuprel ===========================================================* -* - SUBROUTINE NUPREL(KPROJ,EKIN,PLAB,CTX,CTY,CTZ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C -C Last change on 16 september 1991 by Alfredo Ferrari -C -C HJM 24/10/88 -C -C NUCLEON-PROTON ELASTIC SCATTERING EVENTS -C PARAMETRIZATION FOR COS(THETA) SAMPLING -C FROM HETKFA2 / CLOTH VERSION -C -C ( Now also antiproton, antineutron - proton scattering ) -C------------------------------------------------------------------- -C -#include "geant321/paprop.inc" -#include "geant321/finuc.inc" -C - AMP=AM(KPROJ) - AMP2=AMP**2 - AMT=AM(1) - AMT2=AMT**2 - ELAB=EKIN + AMP - S=AMT2 + AMP2 + 2.D0*AMT*ELAB - WS=SQRT(S) - BGAM=PLAB/WS - GAM=(ELAB + AMT)/WS - ECMP=(S + AMP2 - AMT2)*0.5D0/WS - PCM=SQRT((ECMP + AMP)*(ECMP - AMP)) - ECMT=WS - ECMP -* +-------------------------------------------------------------------* -* | Horrible patch for ap, an - IF ( KPROJ .EQ. 2 ) THEN - KSAMC = 8 -* | -* +-------------------------------------------------------------------* -* | - ELSE IF ( KPROJ .EQ. 9 ) THEN - KSAMC = 1 -* | -* +-------------------------------------------------------------------* -* | - ELSE - KSAMC = KPROJ - END IF -* | -* +-------------------------------------------------------------------* -C - CALL SAMCST(KSAMC,EKIN,CST) -C - PCPL=PCM*CST - EPF=GAM*ECMP + BGAM*PCPL - PPLF=BGAM*ECMP + GAM*PCPL - ETF=GAM*ECMT - BGAM*PCPL - PTLF=BGAM*ECMT - GAM*PCPL -C - PPF=SQRT((EPF+AMP)*(EPF-AMP)) - CTPR=PPLF/PPF - STPR=SQRT((1.D0-CTPR)*(1.D0+CTPR)) - PTF=SQRT((ETF+AMT)*(ETF-AMT)) - CTTA=PTLF/PTF - STTA=SQRT((1.D0-CTTA)*(1.D0+CTTA)) -C - CALL SFECFE(SFE,CFE) - CALL TTRANS(CTX,CTY,CTZ,CTPR,STPR,SFE,CFE,CXR(1),CYR(1),CZR(1)) - SFE=-SFE - CFE=-CFE - CALL TTRANS(CTX,CTY,CTZ,CTTA,STTA,SFE,CFE,CXR(2),CYR(2),CZR(2)) -C - NP=2 - KPART(1)=KPROJ - KPART(2)=1 - TKI(1)=EPF - AMP - PLR(1)=PPF - TKI(2)=ETF - AMT - PLR(2)=PTF - TV=0.D0 -C - RETURN - END diff --git a/StarVMC/geant3/fluka/parjet.F b/StarVMC/geant3/fluka/parjet.F deleted file mode 100644 index 514a6791cf5..00000000000 --- a/StarVMC/geant3/fluka/parjet.F +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: parjet.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: parjet.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE PARJET.FOR -*COPY PARJET -* -*=== parjet ===========================================================* -* - SUBROUTINE PARJET(IHAD,I) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -#include "geant321/finpar.inc" -#include "geant321/part.inc" -#include "geant321/inpdat2.inc" - IHAD=1 - NREF(1)=I - PXF(1)=0.D0 - PYF(1)=0.D0 - PZF(1)=0.D0 - HEP(1)=AM(I) - AMF(1)=AM(I) - ICHF(1)=ICH(I) - IBARF(1)=IBAR(I) - ANF(1)=ANAME(I) - RETURN - END diff --git a/StarVMC/geant3/fluka/pmprab.F b/StarVMC/geant3/fluka/pmprab.F deleted file mode 100644 index 2492e43d4a3..00000000000 --- a/StarVMC/geant3/fluka/pmprab.F +++ /dev/null @@ -1,204 +0,0 @@ -* -* $Id: pmprab.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: pmprab.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE PMPRAB.FOR -*COPY PMPRAB -* -*=== pmprab ===========================================================* -* - SUBROUTINE PMPRAB ( KPROJ, EKIN, PPROJ, TXX, TYY, TZZ, WEE ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 22 september 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 22-sep-91 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/finuc.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/parevt.inc" -#include "geant321/parnuc.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" -* - REAL RNDM(1) -* - IF ( KPROJ .NE. 14 .OR. EKIN .GT. 2.D+00 * GAMMIN .OR. IBTAR .NE. - & 1 .OR. ICHTAR .NE. 1 ) THEN - WRITE (LUNOUT,*)' **** Pmprab: kproj,ekin,ibtar,ichtar', - & KPROJ,EKIN,IBTAR,ICHTAR - WRITE (LUNERR,*)' **** Pmprab: kproj,ekin,ibtar,ichtar', - & KPROJ,EKIN,IBTAR,ICHTAR - END IF - PXRES = PXTTOT - PYRES = PYTTOT - PZRES = PZTTOT - PTRES = PTTOT - CALL GRNDM(RNDM,1) - RNDPAN = RNDM (1) - IF ( RNDPAN .GE. 1.D+00 / PNFRAT ) THEN - ERES = EKIN + AM (KPROJ) + EKFERM + AM (1) - UMO2 = ( ERES - PTRES ) * ( ERES + PTRES ) - UMO = SQRT (UMO2) - GAMCM = ERES / UMO - ETAX = PXRES / UMO - ETAY = PYRES / UMO - ETAZ = PZRES / UMO - ECMSNU = 0.5D+00 * ( UMO2 + AMNUSQ (2) ) / UMO - PCMS = UMO - ECMSNU - CALL RACO ( PCMSX, PCMSY, PCMSZ ) - PCMSX = PCMS * PCMSX - PCMSY = PCMS * PCMSY - PCMSZ = PCMS * PCMSZ - ETAPCM = ETAX * PCMSX + ETAY * PCMSY + ETAZ * PCMSZ - PHELP = PCMS + ETAPCM / ( GAMCM + 1.D+00 ) - ENPHOT = GAMCM * PCMS + ETAPCM - PXHELP = PCMSX + ETAX * PHELP - PYHELP = PCMSY + ETAY * PHELP - PZHELP = PCMSZ + ETAZ * PHELP - PXRES = PXRES - PXHELP - PYRES = PYRES - PYHELP - PZRES = PZRES - PZHELP - ERES = ERES - ENPHOT - NP = NP + 1 - TKI (NP) = ENPHOT - KPART (NP) = 7 - PLR (NP) = ENPHOT - CXR (NP) = PXHELP / PLR (NP) - CYR (NP) = PYHELP / PLR (NP) - CZR (NP) = PZHELP / PLR (NP) - WEI (NP) = WEE - IOTHER = IOTHER + 1 - PXNUCR = PXNUCR + PXHELP - PYNUCR = PYNUCR + PYHELP - PZNUCR = PZNUCR + PZHELP - ENUCR = ENUCR + TKI (NP) - IBNUCR = IBNUCR + IBAR (KPART(NP)) - ICNUCR = ICNUCR + ICH (KPART(NP)) - ETAPCM = - ETAPCM - PHELP = ECMSNU + ETAPCM / ( GAMCM + 1.D+00 ) - ENNEU = GAMCM * ECMSNU + ETAPCM - PXHELP = -PCMSX + ETAX * PHELP - PYHELP = -PCMSY + ETAY * PHELP - PZHELP = -PCMSZ + ETAZ * PHELP - NP = NP + 1 - TKI (NP) = ENNEU - AM (8) - KPART (NP) = 8 - PLR (NP) = SQRT ( PXHELP**2 + PYHELP**2 + PZHELP**2 ) - CXR (NP) = PXHELP / PLR (NP) - CYR (NP) = PYHELP / PLR (NP) - CZR (NP) = PZHELP / PLR (NP) - WEI (NP) = WEE - ERES = ERES - ENNEU - PXRES = PXRES - PXHELP - PYRES = PYRES - PYHELP - PZRES = PZRES - PZHELP - IBRES = 0 - ICRES = 0 - PTRES = 0.D+00 - ANOW = 0.D+00 - ZNOW = 0.D+00 - ELSE - ERES = EKIN + AM (KPROJ) + EKFERM + AM (1) - UMO2 = ( ERES - PTRES ) * ( ERES + PTRES ) - UMO = SQRT (UMO2) - GAMCM = ERES / UMO - ETAX = PXRES / UMO - ETAY = PYRES / UMO - ETAZ = PZRES / UMO - ECMSNU = 0.5D+00 * ( UMO2 + AM (8)* AM (8) - AM (23) * AM (23) - & ) / UMO - ECMSP0 = UMO - ECMSNU - PCMS = SQRT ( ( ECMSP0 - AM (23) ) * ( ECMSP0 + AM (23) ) ) - CALL RACO ( PCMSX, PCMSY, PCMSZ ) - PCMSX = PCMS * PCMSX - PCMSY = PCMS * PCMSY - PCMSZ = PCMS * PCMSZ - ETAPCM = ETAX * PCMSX + ETAY * PCMSY + ETAZ * PCMSZ - PHELP = ECMSP0 + ETAPCM / ( GAMCM + 1.D+00 ) - ENPIO0 = GAMCM * ECMSP0 + ETAPCM - PXHELP = PCMSX + ETAX * PHELP - PYHELP = PCMSY + ETAY * PHELP - PZHELP = PCMSZ + ETAZ * PHELP - PXRES = PXRES - PXHELP - PYRES = PYRES - PYHELP - PZRES = PZRES - PZHELP - ERES = ERES - ENPIO0 - NP = NP + 1 - TKI (NP) = ENPIO0 - AM (23) - KPART (NP) = 23 - PLR (NP) = SQRT ( PXHELP**2 + PYHELP**2 + PZHELP**2 ) - CXR (NP) = PXHELP / PLR (NP) - CYR (NP) = PYHELP / PLR (NP) - CZR (NP) = PZHELP / PLR (NP) - WEI (NP) = WEE - IOTHER = IOTHER + 1 - PXNUCR = PXNUCR + PXHELP - PYNUCR = PYNUCR + PYHELP - PZNUCR = PZNUCR + PZHELP - ENUCR = ENUCR + TKI (NP) - IBNUCR = IBNUCR + IBAR (KPART(NP)) - ICNUCR = ICNUCR + ICH (KPART(NP)) - ETAPCM = - ETAPCM - PHELP = ECMSNU + ETAPCM / ( GAMCM + 1.D+00 ) - ENNEU = GAMCM * ECMSNU + ETAPCM - PXHELP = -PCMSX + ETAX * PHELP - PYHELP = -PCMSY + ETAY * PHELP - PZHELP = -PCMSZ + ETAZ * PHELP - NP = NP + 1 - TKI (NP) = ENNEU - AM (8) - KPART (NP) = 8 - PLR (NP) = SQRT ( PXHELP**2 + PYHELP**2 + PZHELP**2 ) - CXR (NP) = PXHELP / PLR (NP) - CYR (NP) = PYHELP / PLR (NP) - CZR (NP) = PZHELP / PLR (NP) - WEI (NP) = WEE - ERES = ERES - ENNEU - PXRES = PXRES - PXHELP - PYRES = PYRES - PYHELP - PZRES = PZRES - PZHELP - IBRES = 0 - ICRES = 0 - PTRES = 0.D+00 - ANOW = 0.D+00 - ZNOW = 0.D+00 - END IF - RETURN -*=== End of subroutine PMPRAB =========================================* - END diff --git a/StarVMC/geant3/fluka/poli.F b/StarVMC/geant3/fluka/poli.F deleted file mode 100644 index eafbb07ade8..00000000000 --- a/StarVMC/geant3/fluka/poli.F +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: poli.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: poli.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE POLI.FOR -*COPY POLI -* -*=== poli =============================================================* -* - SUBROUTINE POLI(CS,SI) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(1) -C -C-------------------------------------------------- -C*** RANDOM CHOICE OF ANGLE TETA (CS = COS(TETA),SI = SIN(TETA) -C-------------------------------------------------- - CALL GRNDM(RNDM,1) - CS = 2.D+00 * RNDM(1) - 1.D+00 - SI = SQRT( ( 1.D+00 - CS ) * ( 1.D+00 + CS ) ) - RETURN - END diff --git a/StarVMC/geant3/fluka/qnrg.F b/StarVMC/geant3/fluka/qnrg.F deleted file mode 100644 index 6e79ecdeca4..00000000000 --- a/StarVMC/geant3/fluka/qnrg.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: qnrg.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: qnrg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE QNRG.FOR -*COPY QNRG -* * -*=== qnrg =============================================================* -* * - FUNCTION QNRG ( A1, Z1, A2, Z2 ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C-------------------------------------------------------------------- -C SUBNAME = QNRG -C-------------------------------------------------------------------- -#include "geant321/eva0.inc" -C-------------------------------------------------------------------- - KA1 = NINT (A1) - KZ1 = NINT (Z1) - KA2 = NINT (A2) - KZ2 = NINT (Z2) - N1= KA1 - KZ1 - N2= KA2 - KZ2 - IF (N1 .LE. 0) STOP 105 - IF (N2 .LE. 0) STOP 106 - IZZ1 = NINT ( WAPS (KA1,1) ) - IZZ2 = NINT ( WAPS (KA2,1) ) - IF ( KZ1 .LT. IZZ1 .OR. KZ1 .GT. IZZ1 + 9 ) THEN - ENRG1 = ENRG ( A1, Z1 ) - ELSE - IZ1 = KZ1 - IZZ1 + 2 - ENRG1 = WAPS ( KA1, IZ1 ) - IF ( ENRG1 .EQ. 0.D0 .AND. ( KA1 .NE. 12 .OR. KZ1 .NE. 6) ) - & THEN - ENRG1 = ENRG ( A1, Z1 ) - END IF - END IF - IF ( KZ2 .LT. IZZ2 .OR. KZ2 .GT. IZZ2 + 9 ) THEN - ENRG2 = ENRG ( A2, Z2 ) - ELSE - IZ2 = KZ2 - IZZ2 + 2 - ENRG2 = WAPS ( KA2, IZ2 ) - IF ( ENRG2 .EQ. 0.D0 .AND. ( KA2 .NE. 12 .OR. KZ2 .NE. 6) ) - & THEN - ENRG2 = ENRG ( A2, Z2 ) - END IF - END IF - QNRG = ENRG1 - ENRG2 - RETURN - END diff --git a/StarVMC/geant3/fluka/raco.F b/StarVMC/geant3/fluka/raco.F deleted file mode 100644 index b7e1fad600a..00000000000 --- a/StarVMC/geant3/fluka/raco.F +++ /dev/null @@ -1,67 +0,0 @@ -* -* $Id: raco.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: raco.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE RACO.FOR -*COPY RACO -* -*=== raco =============================================================* -* - SUBROUTINE RACO(WX,WY,WZ) -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(2) -C******************************************************************** -C VERSION JUNE 81 BY PERTTI AARNIO -C LAST CHANGE 22. JUNE 81 BY PERTTI AARNIO -C HELSINKI UNIVERSITY OF -C TECHNOLOGY, FINLAND -C -C -C SUBROUTINE OF FLUKA TO GIVE THE DIRECTION COSINES OF RANDOM -C UNIFORM (ISOTROPIC) DIRECTION IN THREE DIMENSIONAL SPACE. -C******************************************************************** -C - 10 CALL GRNDM(RNDM,2) - X=2.D0*RNDM(1)-1.D0 - Y=RNDM(2) - X2=X*X - Y2=Y*Y - IF (X2+Y2.GT.1.D0) GO TO 10 - CFE=(X2-Y2)/(X2+Y2) - SFE=2.D0*X*Y/(X2+Y2) - CALL GRNDM(RNDM,1) - Z=RNDM(1) - Z2=Z*Z - WZ=SQRT(Z-Z2) - WX=2.D0*WZ*CFE - WY=2.D0*WZ*SFE - WZ=2.D0*Z-1.D0 - RETURN - END diff --git a/StarVMC/geant3/fluka/rakekv.F b/StarVMC/geant3/fluka/rakekv.F deleted file mode 100644 index 37278eb2f6e..00000000000 --- a/StarVMC/geant3/fluka/rakekv.F +++ /dev/null @@ -1,136 +0,0 @@ -* -* $Id: rakekv.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: rakekv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE RAKEKV.FOR -*COPY RAKEKV -* * -*=== rakekv ===========================================================* -* * - SUBROUTINE RAKEKV ( IT, EXSOP, BBTAR, TKIN, TSTRCK, PSTRCK, - & ARECL, TKRECL, EFERMI, CDE, SDE ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* version by Alfredo Ferrari -* INFN - Milan -* last change 03 january 93 by Alfredo Ferrari -* INFN - Milan -* -* To be called from the high energy production -* -* this is a subroutine of fluka to sample intranuclear cascade -* particles: it is based on the old Rakeka from J. Ranft -* -* input variables: -* it = type of the secondary requested; 1=proton, 2=neutron -* bbtar = atomic weight of the medium -* -* output variables: -* tkin = kinetic energy of the secondary in GeV before applying -* the nuclear well (and eventually the Coulomb barreer) -* tstrck= kinetic energy of the secondary in GeV -* pstrck= momentum of the secondary in GeV/c -* cde,sde = cosine and sine of the angle between the -* directions of the primary -* and secondary particles -* -********************************************************************* -* -#include "geant321/nucdat.inc" -#include "geant321/parevt.inc" - COMMON / FKNUCO / HELP (2), HHLP (2), FTVTH (2), FINCX (2), - & EKPOLD (2), BBOLD, ZZOLD, SQROLD, ASEASQ, - & FSPRED, FEX0RD - COMMON / FKCASF / PKFRMI, COSTH, PKIN - DIMENSION EXSOP (2) - REAL RNDM(4), RNGSS, DUMNOR -* In this version the low energy component has been suppressed, since -* they are now produced by the evaporation model, A. Ferrari. -* The parameters needed for the sampling have been already set in -* Corrin - EXSOP (IT) = 0.D+00 -* +-------------------------------------------------------------------* -* | - 100 CONTINUE -* | Sample the Fermi momentum - CALL GRNDM(RNDM,4) - PKFRMI = PFRMMX (IT) * MAX ( RNDM (1), RNDM (2), - & RNDM (3) ) - PKFRSQ = PKFRMI * PKFRMI - TKIN = - ESLOPE (IT) * LOG ( EXMNNU (IT) - RNDM (4) * ( - & EXMNNU (IT) - EXUPNU (IT) ) ) - TKRECL = 0.5D+00 * PKFRSQ / ( AMUC12 * ARECL ) * ( 1.D+00 - - & 0.25D+00 * PKFRSQ / ( ARECL**2 * AMUCSQ ) ) - EFERMI = SQRT ( AMNUSQ (IT) + PKFRSQ ) - TSTRCK = EFERMI + TKIN - AMNUCL (IT) - V0WELL (IT) - TKRECL - - & EBNDNG (IT) -* | +----------------------------------------------------------------* -* | | Record the energy spent without emitting nucleons - IF ( TSTRCK .LE. VEFFNU (IT) - V0WELL (IT) ) THEN -* | | Reduce that energy according to Fspred: - EXSOP (IT) = EXSOP (IT) + TKIN * FEX0RD - GO TO 100 -* +-<|--<--<--<--<--< go to resampling - END IF -* | | -* | +----------------------------------------------------------------* -* | -* +-------------------------------------------------------------------* - PSTRCK = SQRT ( TSTRCK * ( TSTRCK + 2.D+00 * AMNUCL (IT) ) ) -* Sample the angle between the incident particle and the Fermi -* momentum -* Solution assuming that the momentum transfer is equal to the -* the momentum loss of the projectile for the energy loss Tkin, -* roughly given by Tkin again. Use this with the "usual" eventv - PKIN = TKIN - PKIN2 = PKIN * PKIN - CALL GRNDM(RNDM,1) - COSTH = 2.D+00 * RNDM (1) - 1.D+00 - COSDE2 = PKFRMI * COSTH + PKIN - CSIGN = SIGN ( ONEONE, COSDE2 ) - COSDE2 = COSDE2 * COSDE2 / ( PKIN2 + PKFRSQ + - & 2.D+00 * COSTH * PKIN * PKFRMI ) - CDE = CSIGN * SQRT ( COSDE2 ) -* Original - SDE0 = MAX ( ONEONE - CDE, ANGLGB ) - SDE1 = SDE0 - FCORR0 = 0.10D+00 - TMPSDE = 3.5D+00 * SDE0 - FCORR = ATO1O3 * MIN ( FCORR0, TMPSDE ) - 2000 CONTINUE - CALL GRANOR ( RNGSS, DUMNOR ) - SDE = SDE0 + FCORR * RNGSS - CDE = 1.D+00 - SDE - IF ( ABS ( CDE ) .GE. 1.D+00 ) GO TO 2000 - SDE = SQRT ( ( 1.D+00 - CDE ) * ( 1.D+00 + CDE ) ) - RETURN - END diff --git a/StarVMC/geant3/fluka/rbkekv.F b/StarVMC/geant3/fluka/rbkekv.F deleted file mode 100644 index 0109dd8637c..00000000000 --- a/StarVMC/geant3/fluka/rbkekv.F +++ /dev/null @@ -1,210 +0,0 @@ -* -* $Id: rbkekv.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: rbkekv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE RBKEKV.FOR -*COPY RBKEKV -* * -*=== rbkekv ===========================================================* -* * - SUBROUTINE RBKEKV ( IT, EXSOP, TO, AMSS, TKIN, TSTRCK, - & PSTRCK, ARECL, TKRECL, COD, SID ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* version by Alfredo Ferrari -* INFN - Milan -* last change 19 april 93 by Alfredo Ferrari -* INFN - Milan -* -* To be called from the high energy production -* -* this is a subroutine of fluka to sample intranuclear cascade -* particles: it is based on the old Rakeka from J. Ranft -* -* input variables: -* it = type of the secondary requested; 1=proton, 2=neutron -* bbtar = atomic weight of the medium -* -* output variables: -* tkin = kinetic energy of the secondary in GeV before applying -* the nuclear well (and eventually the Coulomb barreer) -* tstrck= kinetic energy of the secondary in GeV -* pstrck= momentum of the secondary in GeV/c -* sid,cod = sine and cosine of the angle between -* the directions of the primary -* and secondary particles -* -********************************************************************* -* - PARAMETER ( PI = PIPIPI ) - PARAMETER ( PIO2 = PI / 2.D+00 ) -#include "geant321/nucdat.inc" - LOGICAL LINIT, LZEROI - DIMENSION EXSOP (2), AMMOLD (2) - DIMENSION PFINIT (50,2), TKINIT (50,2), TSINIT (50,2), - & TRINIT (50,2), NINI (2) - REAL RNDM(4) - SAVE AMMOLD, PFINIT, TKINIT, TSINIT, TRINIT, NINI - DATA AMMOLD / 0.9382796D+00, 0.9395731D+00 / -* - LINIT = .FALSE. - IF ( NINI (IT) .GT. 0 ) THEN - PKFRMI = PFINIT (NINI(IT),IT) - TKIN = TKINIT (NINI(IT),IT) - TSTRCK = TSINIT (NINI(IT),IT) - TKRECL = TRINIT (NINI(IT),IT) - NINI (IT) = NINI (IT) - 1 - EXSOP (IT) = 0.D+00 - GO TO 3500 - ELSE - GO TO 200 - END IF - ENTRY RBKINI ( IT, LZEROI, EXSOP, TKIN, TSTRCK, - & PSTRCK, ARECL, TKRECL ) - LINIT = .TRUE. - IF ( LZEROI ) THEN - NINI (1) = 0 - NINI (2) = 0 - RETURN - END IF - 200 CONTINUE -* In this version the low energy component has been suppressed, since -* they are now produced by the evaporation model, A. Ferrari. -* The parameters needed for the sampling have been already set in -* Corrin: - EXSOP (IT) = 0.D+00 -* Sample the Fermi momentum - ESLPFF = ESLOPE (IT) - EXUPFF = EXUPNU (IT) - EKUPFF = EKUPNU (IT) - EXDWFF = EXMNNU (IT) - EKDWFF = EKMNNU (IT) - ERCLFF = ERCLAV (IT) - IRECNT = 0 -* +-------------------------------------------------------------------* -* | - 100 CONTINUE -* | Sample the Fermi momentum - CALL GRNDM(RNDM,4) - PKFRMI = PFRMMX (IT) * MAX ( RNDM (1), RNDM (2), - & RNDM (3) ) - PKFRSQ = PKFRMI * PKFRMI - TKIN = - ESLPFF * LOG ( EXDWFF - RNDM (4) * ( - & EXDWFF - EXUPFF ) ) - TKRECL = 0.5D+00 * PKFRSQ / ( AMUC12 * ARECL ) * ( 1.D+00 - - & 0.25D+00 * PKFRSQ / ( ARECL**2 * AMUCSQ ) ) - TSTRCK = SQRT ( AMNUSQ (IT) + PKFRSQ ) + TKIN - AMNUCL (IT) - & - V0WELL (IT) - TKRECL - EBNDNG (IT) -* | +----------------------------------------------------------------* -* | | - IF ( TSTRCK .LE. VEFFNU (IT) - V0WELL (IT) ) THEN - EXSOP (IT) = EXSOP (IT) + TKIN - IRECNT = IRECNT + 1 -* | | +-------------------------------------------------------------* -* | | | - IF ( IRECNT .GT. 10 ) THEN -* | | | +----------------------------------------------------------* -* | | | | - IF ( TKRECL - ERCLFF .GT. EKUPFF - EKDWFF .AND. - & IRECNT .LT. 20 ) THEN - ERCLFF = ERCLFF + TKRECL - ERCLFF - EKUPFF = EKUPFF + TKRECL - ERCLFF - EKDWFF = EKDWFF + TKRECL - ERCLFF - AHELP = EXP ( - ( TKRECL - ERCLFF ) / ESLPFF ) - EXUPFF = EXUPFF * AHELP - EXDWFF = EXDWFF * AHELP -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE IF ( IRECNT .GT. 15 ) THEN - TKRECL = MAX ( TKRECL, ERCLFF ) - ERCLFF = ERCLFF + TKRECL - EKUPFF = EKUPFF + TKRECL - ERCLFF - EKDWFF = EKDWFF + TKRECL - ERCLFF - AHELP = EXP ( - TKRECL / ESLPFF ) - EXUPFF = EXUPFF * AHELP - EXDWFF = EXDWFF * AHELP - END IF -* | | | | -* | | | +----------------------------------------------------------* - END IF -* | | | -* | | +-------------------------------------------------------------* - GO TO 100 -* +-<|--<--<--<--<--< go to resampling - END IF -* | | -* | +----------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - IF ( LINIT ) THEN - NINI (IT) = NINI (IT) + 1 - PFINIT (NINI(IT),IT) = PKFRMI - TKINIT (NINI(IT),IT) = TKIN - TSINIT (NINI(IT),IT) = TSTRCK - TRINIT (NINI(IT),IT) = TKRECL - RETURN - END IF -* | -* +-------------------------------------------------------------------* - 3500 CONTINUE -* | Masses have been updated - PSTRCK = SQRT ( TSTRCK * ( TSTRCK + 2.D+00 * AMNUCL (IT) ) ) -* -********************* Sample the angle ******************************** -* Polar angle selection - ADE=0.090D0*(1.D0+0.081D0*ATO1O3)/TKIN - DEX=EXP(- PIO2 * PIO2 / ADE) - AN1=(1.D0-DEX)*ADE/2.D0 - AN2=DEX*PIO2 - AN=AN1+AN2 - AN1=AN1/AN - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.AN1) GO TO 3 - 2 CONTINUE - CALL GRNDM(RNDM,1) - DE=SQRT(-ADE*LOG(1.D0-RNDM(1)*(1.D0-DEX))) - IF(DE.GT.PIO2) GO TO 2 -C WRITE(LUNOUT,*)IT,TO,AMSS,SQAMSS,T,P,DE - COD = COS (DE) - SID = SIN (DE) - RETURN - 3 CONTINUE - CALL GRNDM(RNDM,1) - COD = - RNDM(1) - SID = SQRT ( (1.D0 + COD ) * ( 1.D0 - COD ) ) -C WRITE(LUNOUT,*)IT,TO,AMSS,SQAMSS,T,P,DE - RETURN - ENTRY RBKMIN (IT) - NINI(IT) = NINI(IT)-1 - RETURN - END diff --git a/StarVMC/geant3/fluka/rchanv.F b/StarVMC/geant3/fluka/rchanv.F deleted file mode 100644 index 6dd84646b54..00000000000 --- a/StarVMC/geant3/fluka/rchanv.F +++ /dev/null @@ -1,240 +0,0 @@ -* -* $Id: rchanv.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: rchanv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE RCHANV.FOR -*COPY RCHANV -* -*=== rchanv ===========================================================* -* - SUBROUTINE RCHANV - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/hadflg.inc" -#include "geant321/reac.inc" -#include "geant321/redver.inc" -#include "geant321/split.inc" -* - COMMON / FKABLT / AM (110), GA (110), TAU (110), ICH (110), - & IBAR (110), K1 (110), K2 (110) -* Note: 296 are the total number of energy at which data are tabulated -* (of course for the 17 reactions considered, depending on the -* reaction there could be different numbers of tabulated -* energies) -* 268 is the number of possible exit channels -* Umo (ieii(ire)+ie) is the cms energy corresponding to the ieth -* energy at which data are tabulated for the reaction ire -* Plabf (ieii(ire)+ie) is the corresponding lab momentum -* Siin (ieii(ire)+ie) is the cross section - DIMENSION HWT(460) - DIMENSION HWK(40) - DIMENSION SI(5184) - EQUIVALENCE (WK(1),SI(1)) -C*** WEIGHTS FOR THE SAMPLING PROCEDURE (ADDED ONE TO EACH OTHER IN -C*** CORRESP. CHANNELS) SPECIFIC FOR NUCRIN ONLY -C*** CALCULATION OF THRESHOLD ENERGY OF THE REACTION CHANNELS -C - IREG=16 -* +-------------------------------------------------------------------* -* | Loop on the possible reactions (pi+ p, .... ) - DO 222 IRE=1,IREG -* | Initial index for the exit channel sigmas/weights for reaction IRE -* | (wk(ire+1)-wk(ire+iee), weights at the various energies for the -* | first channel, wk(ire+(ik-1)*iee+ie), weight of the ikth channel -* | at ieth energy) - IWKO=IRII(IRE) -* | Number of energy tabulations for reaction ire - IEE=IEII(IRE+1)-IEII(IRE) -* | Number of exit channels of reaction ire - IKE=IKII(IRE+1)-IKII(IRE) -* | Index for the initial energy tabulation for reaction ire (this is -* | for index 1!!, ieii is for index 0) - IEO=IEII(IRE)+1 -* | Index for the initial exit channel of the reaction ire -* | (the initial channel is IIKI + 1) - IIKI=IKII(IRE) -* | +----------------------------------------------------------------* -* | | This loop checks the threshold (expressed in invariant mass) -* | | for the several reaction channels: -* | | Channels resulting in two exit particles/resonances are -* | | checked for Thresh >= m(1) + m(2) -* | | Channels resulting in only one resonance are checked for -* | | Thresh >= Min_j (m_j(1)+m_j(2)+m_j(3)), where the minimum -* | | is carried out looping over all possible decay channels j -* | | and now also looking for the mass of the resonance -* | | less 5 x width - DO 226 IK=1,IKE - INRK1 = NRK(1,IIKI+IK) - INRK2 = NRK(2,IIKI+IK) - AM111 = AM (INRK1) -* | | +-------------------------------------------------------------* -* | | | Two particles/resonances exit channels - IF ( INRK2 .GT. 0 ) THEN - AM222 = AM (INRK2) - THRESH (IIKI+IK) = AM111 + AM222 -* | | | -* | | +-------------------------------------------------------------* -* | | | One resonance exit channel - ELSE - IF ( GA (INRK1) .GT. ANGLGB ) THEN - AM111 = AM111 - 5.D+00 * GA (INRK1) - ELSE - AM111 = 0.D+00 - END IF - INRKK = K1(INRK1) - AMSS = 5.D+00 - INRKO = K2(INRK1) -* | | | +----------------------------------------------------------* -* | | | | Loop over the decay channels - DO 228 INKK=INRKK,INRKO - INZK1=NZK(INKK,1) - INZK2=NZK(INKK,2) - INZK3=NZK(INKK,3) - AMS = AM(INZK1)+AM(INZK2)-2.D+00*(GA(INZK1)+GA(INZK2)) - IF (INZK3 .GT. 0) AMS =AMS+AM(INZK3)-2.D+00*GA(INZK3) - IF (AMSS .GT.AMS) AMSS=AMS - 228 CONTINUE -* | | | | -* | | | +----------------------------------------------------------* - AMS = MAX (AMSS,AM111) - IF ( AMS .LT. UMO(IEO) ) AMS = UMO (IEO) - THRESH (IIKI+IK) = AMS - END IF -* | | | -* | | +-------------------------------------------------------------* - 226 CONTINUE -* | | -* | +----------------------------------------------------------------* - SINORC = 1.D+00 -* | +----------------------------------------------------------------* -* | | Loop on the energy tabulations - DO 221 IE=1,IEE - SIS=ANGLGB/10.D+00 - PLASQ = PLABF (IEO+IE-1)**2 - UMOSQ = ( SQRT ( AM (INNURE(1,1,IRE))**2 + PLASQ ) - & + AM (INNURE(2,1,IRE)) )**2 - PLASQ - IF ( INNURE (1,2,IRE) .GT. 0 ) - & UMOSQ = MAX ( UMOSQ, ( SQRT ( AM (INNURE(1,2,IRE))**2 - & + PLASQ ) + AM (INNURE(2,2,IRE)) )**2 - PLASQ ) -* | | +-------------------------------------------------------------* -* | | | Loop on the exit channels - DO 223 IK=1,IKE -* | | | IWK index of the sigma (weight) of the IKth exit channel of -* | | | reaction IRE at energy IE - IWK=IWKO+IEE*(IK-1)+IE -* | | | NRK (i,iiki+ik), i=1,2 are the two resonances produced by -* | | | the exit channel ik of the reaction ire: 0 means no second -* | | | resonance -* | | | +----------------------------------------------------------* -* | | | | Check that cross section is 0 below the computed -* | | | | threshold - IF ( UMOSQ .GE. THRESH (IIKI+IK)**2 ) THEN - SIS=SIS+SI(IWK)*SINORC -* | | | | -* | | | +----------------------------------------------------------* -* | | | | - ELSE - SI(IWK)=0.D+00 - END IF -* | | | | -* | | | +----------------------------------------------------------* - 223 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - SIIN(IEO+IE-1)=SIS - SIO=0.D+00 -* | | +-------------------------------------------------------------* -* | | | - IF (SIS.LE.ANGLGB) THEN - SIS=1.D+00 - SIO=1.D+00 - END IF -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | - DO 224 IK=1,IKE - IWK=IWKO+IEE*(IK-1)+IE - SIO=SIO+SI(IWK)/SIS*SINORC - HWK(IK)=SIO - 224 CONTINUE -* | | | -* | | +-------------------------------------------------------------* -* | | +-------------------------------------------------------------* -* | | | - DO 225 IK=1,IKE - IWK=IWKO+IEE*(IK-1)+IE - WK(IWK)=HWK(IK) - 225 CONTINUE -* | | | -* | | +-------------------------------------------------------------* - 221 CONTINUE -* | | -* | +----------------------------------------------------------------* - 222 CONTINUE -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - DO 3 J=1,460 - HWT(J)=0.D+00 - 3 CONTINUE -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - DO 1 I=1,110 - IK1=K1(I) - IK2=K2(I) - HV=0.D+00 - DO 2 J=IK1,IK2 - HV=HV+WT(J) - HWT(J)=HV - JI=J - 2 CONTINUE - IF (ABS(HV-1.D0).GT.1.D-4)WRITE(LUNOUT,101) - 101 FORMAT(44H ERROR IN HWT BECAUSE OF FALSE USE OF RCHANW) - 1 CONTINUE -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - DO 4 J=1,460 - WT(J)=HWT(J) - 4 CONTINUE -* | -* +-------------------------------------------------------------------* -* Set a flag for hadrin that elastic collisions must be reduced -* because they will occur inside nuclei - IELFLG = -1 - ICXFLG = -1 - RETURN - END diff --git a/StarVMC/geant3/fluka/rotat.F b/StarVMC/geant3/fluka/rotat.F deleted file mode 100644 index 7c52c87de24..00000000000 --- a/StarVMC/geant3/fluka/rotat.F +++ /dev/null @@ -1,44 +0,0 @@ -* -* $Id: rotat.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: rotat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE ROTAT.FOR -*COPY ROTAT -* -*=== rotat ============================================================* -* - SUBROUTINE ROTAT(PX,PY,PZ,PXN,PYN,PZN,COTE,SITE,COPS,SIPS) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - PXN=-PX*SIPS-PY*COTE*COPS+PZ*SITE*COPS - PYN=PX*COPS-PY*COTE*SIPS+PZ*SITE*SIPS - PZN=PY*SITE+PZ*COTE - RETURN - END diff --git a/StarVMC/geant3/fluka/samcst.F b/StarVMC/geant3/fluka/samcst.F deleted file mode 100644 index b7dae9b1157..00000000000 --- a/StarVMC/geant3/fluka/samcst.F +++ /dev/null @@ -1,416 +0,0 @@ -* -* $Id: samcst.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: samcst.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE SAMCST.FOR -*COPY SAMCST -* -*=== samcst ===========================================================* -* -C -C******************************************************************* -C - SUBROUTINE SAMCST(KPROJ,EKIN,CST) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C -C HJM 24/10/88 -C -C SAMPLING OF COS(THETA) -C FOR NUCLEON-PROTON ELASTIC SCATTERING -C ACCORDING TO HETKFA2/BERTINI PARAMETRIZATION -C -C------------------------------------------------------------------- -C - DIMENSION DCLIN(195),DCHN(143),DCHNA(36),DCHNB(60) - DIMENSION PDCI(60),PDCH(55) - REAL RNDM(4) - SAVE DCLIN, DCHN, DCHNA, DCHNB, PDCI, PDCH -C - DATA (DCLIN(I),I=1,80) / -C*** DCLN ARRAY - * 5.000D-01, 1.000D+00, 0.000D+00, 1.000D+00, 0.000D+00, - * 4.993D-01, 9.881D-01, 5.963D-02, 9.851D-01, 5.945D-02, - * 4.936D-01, 8.955D-01, 5.224D-01, 8.727D-01, 5.091D-01, - * 4.889D-01, 8.228D-01, 8.859D-01, 7.871D-01, 8.518D-01, - * 4.874D-01, 7.580D-01, 1.210D+00, 7.207D-01, 1.117D+00, - * 4.912D-01, 6.969D-01, 1.516D+00, 6.728D-01, 1.309D+00, - * 5.075D-01, 6.471D-01, 1.765D+00, 6.667D-01, 1.333D+00, - * 5.383D-01, 6.054D-01, 1.973D+00, 7.059D-01, 1.176D+00, - * 5.397D-01, 5.990D-01, 2.005D+00, 7.023D-01, 1.191D+00, - * 5.336D-01, 6.083D-01, 1.958D+00, 6.959D-01, 1.216D+00, - * 5.317D-01, 6.075D-01, 1.962D+00, 6.897D-01, 1.241D+00, - * 5.300D-01, 6.016D-01, 1.992D+00, 6.786D-01, 1.286D+00, - * 5.281D-01, 6.063D-01, 1.969D+00, 6.786D-01, 1.286D+00, - * 5.280D-01, 5.960D-01, 2.020D+00, 6.667D-01, 1.333D+00, - * 5.273D-01, 5.920D-01, 2.040D+00, 6.604D-01, 1.358D+00, - * 5.273D-01, 5.862D-01, 2.069D+00, 6.538D-01, 1.385D+00/ - DATA (DCLIN(I),I=81,160) / -C*** DCIN ARRAY - * 5.223D-01, 5.980D-01, 2.814D+00, 6.538D-01, 1.385D+00, - * 5.202D-01, 5.969D-01, 2.822D+00, 6.471D-01, 1.412D+00, - * 5.183D-01, 5.881D-01, 2.883D+00, 6.327D-01, 1.469D+00, - * 5.159D-01, 5.866D-01, 2.894D+00, 6.250D-01, 1.500D+00, - * 5.133D-01, 5.850D-01, 2.905D+00, 6.170D-01, 1.532D+00, - * 5.106D-01, 5.833D-01, 2.917D+00, 6.087D-01, 1.565D+00, - * 5.084D-01, 5.801D-01, 2.939D+00, 6.000D-01, 1.600D+00, - * 5.063D-01, 5.763D-01, 2.966D+00, 5.909D-01, 1.636D+00, - * 5.036D-01, 5.730D-01, 2.989D+00, 5.814D-01, 1.674D+00, - * 5.014D-01, 5.683D-01, 3.022D+00, 5.714D-01, 1.714D+00, - * 4.986D-01, 5.641D-01, 3.051D+00, 5.610D-01, 1.756D+00, - * 4.964D-01, 5.580D-01, 3.094D+00, 5.500D-01, 1.800D+00, - * 4.936D-01, 5.573D-01, 3.099D+00, 5.431D-01, 1.827D+00, - * 4.909D-01, 5.509D-01, 3.144D+00, 5.313D-01, 1.875D+00, - * 4.885D-01, 5.512D-01, 3.142D+00, 5.263D-01, 1.895D+00, - * 4.857D-01, 5.437D-01, 3.194D+00, 5.135D-01, 1.946D+00/ - DATA (DCLIN(I),I=161,195) / - * 4.830D-01, 5.353D-01, 3.253D+00, 5.000D-01, 2.000D+00, - * 4.801D-01, 5.323D-01, 3.274D+00, 4.915D-01, 2.034D+00, - * 4.770D-01, 5.228D-01, 3.341D+00, 4.767D-01, 2.093D+00, - * 4.738D-01, 5.156D-01, 3.391D+00, 4.643D-01, 2.143D+00, - * 4.701D-01, 5.010D-01, 3.493D+00, 4.444D-01, 2.222D+00, - * 4.672D-01, 4.990D-01, 3.507D+00, 4.375D-01, 2.250D+00, - * 4.634D-01, 4.856D-01, 3.601D+00, 4.194D-01, 2.323D+00/ -C - DATA PDCI / - * 4.400D+02, 1.896D-01, 1.931D-01, 1.982D-01, 1.015D-01, - * 1.029D-01, 4.180D-02, 4.228D-02, 4.282D-02, 4.350D-02, - * 2.204D-02, 2.236D-02, 5.900D+02, 1.433D-01, 1.555D-01, - * 1.774D-01, 1.000D-01, 1.128D-01, 5.132D-02, 5.600D-02, - * 6.158D-02, 6.796D-02, 3.660D-02, 3.820D-02, 6.500D+02, - * 1.192D-01, 1.334D-01, 1.620D-01, 9.527D-02, 1.141D-01, - * 5.283D-02, 5.952D-02, 6.765D-02, 7.878D-02, 4.796D-02, - * 6.957D-02, 8.000D+02, 4.872D-02, 6.694D-02, 1.152D-01, - * 9.348D-02, 1.368D-01, 6.912D-02, 7.953D-02, 9.577D-02, - * 1.222D-01, 7.755D-02, 9.525D-02, 1.000D+03, 3.997D-02, - * 5.456D-02, 9.804D-02, 8.084D-02, 1.208D-01, 6.520D-02, - * 8.233D-02, 1.084D-01, 1.474D-01, 9.328D-02, 1.093D-01/ -C - DATA PDCH / - * 1.000D+03, 9.453D-02, 9.804D-02, 8.084D-02, 1.208D-01, - * 6.520D-02, 8.233D-02, 1.084D-01, 1.474D-01, 9.328D-02, - * 1.093D-01, 1.400D+03, 1.072D-01, 7.450D-02, 6.645D-02, - * 1.136D-01, 6.750D-02, 8.580D-02, 1.110D-01, 1.530D-01, - * 1.010D-01, 1.350D-01, 2.170D+03, 4.004D-02, 3.013D-02, - * 2.664D-02, 5.511D-02, 4.240D-02, 7.660D-02, 1.364D-01, - * 2.300D-01, 1.670D-01, 2.010D-01, 2.900D+03, 1.870D-02, - * 1.804D-02, 1.320D-02, 2.970D-02, 2.860D-02, 5.160D-02, - * 1.020D-01, 2.400D-01, 2.250D-01, 3.370D-01, 4.400D+03, - * 1.196D-03, 8.784D-03, 1.517D-02, 2.874D-02, 2.488D-02, - * 4.464D-02, 8.330D-02, 2.008D-01, 2.360D-01, 3.567D-01/ -C - DATA (DCHN(I),I=1,90) / - * 4.770D-01, 4.750D-01, 4.715D-01, 4.685D-01, 4.650D-01, - * 4.610D-01, 4.570D-01, 4.550D-01, 4.500D-01, 4.450D-01, - * 4.405D-01, 4.350D-01, 4.300D-01, 4.250D-01, 4.200D-01, - * 4.130D-01, 4.060D-01, 4.000D-01, 3.915D-01, 3.840D-01, - * 3.760D-01, 3.675D-01, 3.580D-01, 3.500D-01, 3.400D-01, - * 3.300D-01, 3.200D-01, 3.100D-01, 3.000D-01, 2.900D-01, - * 2.800D-01, 2.700D-01, 2.600D-01, 2.500D-01, 2.400D-01, - * 2.315D-01, 2.240D-01, 2.150D-01, 2.060D-01, 2.000D-01, - * 1.915D-01, 1.850D-01, 1.780D-01, 1.720D-01, 1.660D-01, - * 1.600D-01, 1.550D-01, 1.500D-01, 1.450D-01, 1.400D-01, - * 1.360D-01, 1.320D-01, 1.280D-01, 1.250D-01, 1.210D-01, - * 1.180D-01, 1.150D-01, 1.120D-01, 1.100D-01, 1.070D-01, - * 1.050D-01, 1.030D-01, 1.010D-01, 9.900D-02, 9.700D-02, - * 9.550D-02, 9.480D-02, 9.400D-02, 9.200D-02, 9.150D-02, - * 9.100D-02, 9.000D-02, 8.990D-02, 8.900D-02, 8.850D-02, - * 8.750D-02, 8.700D-02, 8.650D-02, 8.550D-02, 8.500D-02, - * 8.499D-02, 8.450D-02, 8.350D-02, 8.300D-02, 8.250D-02, - * 8.150D-02, 8.100D-02, 8.030D-02, 8.000D-02, 7.990D-02/ - DATA (DCHN(I),I=91,143) / - * 7.980D-02, 7.950D-02, 7.900D-02, 7.860D-02, 7.800D-02, - * 7.750D-02, 7.650D-02, 7.620D-02, 7.600D-02, 7.550D-02, - * 7.530D-02, 7.500D-02, 7.499D-02, 7.498D-02, 7.480D-02, - * 7.450D-02, 7.400D-02, 7.350D-02, 7.300D-02, 7.250D-02, - * 7.230D-02, 7.200D-02, 7.100D-02, 7.050D-02, 7.020D-02, - * 7.000D-02, 6.999D-02, 6.995D-02, 6.993D-02, 6.991D-02, - * 6.990D-02, 6.870D-02, 6.850D-02, 6.800D-02, 6.780D-02, - * 6.750D-02, 6.700D-02, 6.650D-02, 6.630D-02, 6.600D-02, - * 6.550D-02, 6.525D-02, 6.510D-02, 6.500D-02, 6.499D-02, - * 6.498D-02, 6.496D-02, 6.494D-02, 6.493D-02, 6.490D-02, - * 6.488D-02, 6.485D-02, 6.480D-02/ -C - DATA DCHNA / - * 6.300D+02, 7.810D-02, 1.421D-01, 1.979D-01, 2.479D-01, - * 3.360D-01, 5.400D-01, 7.236D-01, 1.000D+00, 1.540D+03, - * 2.225D-01, 3.950D-01, 5.279D-01, 6.298D-01, 7.718D-01, - * 9.405D-01, 9.835D-01, 1.000D+00, 2.560D+03, 2.625D-01, - * 4.550D-01, 5.963D-01, 7.020D-01, 8.380D-01, 9.603D-01, - * 9.903D-01, 1.000D+00, 3.520D+03, 4.250D-01, 6.875D-01, - * 8.363D-01, 9.163D-01, 9.828D-01, 1.000D+00, 1.000D+00, - * 1.000D+00/ -C - DATA DCHNB / - * 6.300D+02, 3.800D-02, 7.164D-02, 1.275D-01, 2.171D-01, - * 3.227D-01, 4.091D-01, 5.051D-01, 6.061D-01, 7.074D-01, - * 8.434D-01, 1.000D+00, 2.040D+03, 1.200D-01, 2.115D-01, - * 3.395D-01, 5.295D-01, 7.251D-01, 8.511D-01, 9.487D-01, - * 9.987D-01, 1.000D+00, 1.000D+00, 1.000D+00, 2.200D+03, - * 1.344D-01, 2.324D-01, 3.754D-01, 5.674D-01, 7.624D-01, - * 8.896D-01, 9.808D-01, 1.000D+00, 1.000D+00, 1.000D+00, - * 1.000D+00, 2.850D+03, 2.330D-01, 4.130D-01, 6.610D-01, - * 9.010D-01, 9.970D-01, 1.000D+00, 1.000D+00, 1.000D+00, - * 1.000D+00, 1.000D+00, 1.000D+00, 3.500D+03, 3.300D-01, - * 5.450D-01, 7.950D-01, 1.000D+00, 1.000D+00, 1.000D+00, - * 1.000D+00, 1.000D+00, 1.000D+00, 1.000D+00, 1.000D+00/ -C -C--------------------------------------------------------------- - CST=1.0D+0 -C -C* IS THE KINETIC ENERGY GREATER THAN LIMIT ? -C - IF (EKIN .GT. 3.5D0) RETURN -C - IF(KPROJ.EQ.8) GOTO 101 - IF(KPROJ.EQ.1) GOTO 102 -C* INVALID REACTION - RETURN -C-------------------------------- NP ELASTIC SCATTERING---------- -101 CONTINUE - IF (EKIN.GT.0.740D+0)GOTO 1000 - IF (EKIN.LT.0.300D+0)THEN -C EKIN .LT. 300 MEV - IDAT=1 - ELSE -C 300 MEV < EKIN < 740 MEV - IDAT=6 - END IF -C - ENER=EKIN - IE=ABS(ENER/0.020D+0) - UNIV=(ENER-IE*0.020D+0)/0.020D+0 -C FORWARD/BACKWARD DECISION - K=IDAT+5*IE - BWFW=(DCLIN(K+5)-DCLIN(K))*UNIV + DCLIN(K) - CALL GRNDM(RNDM,1) - RND=RNDM(1) - IF (RND.LT.BWFW)THEN - VALUE2=-1.0D+0 - K=K+1 - ELSE - VALUE2=1.0D+0 - K=K+3 - END IF -C - COEF=(DCLIN(K+5)-DCLIN(K))*UNIV + DCLIN(K) - CALL GRNDM(RNDM,1) - RND=RNDM(1) -C - IF(RND.LT.COEF)THEN - CALL GRNDM(RNDM,1) - CST=RNDM(1) - CST=CST*VALUE2 - ELSE - CALL GRNDM(RNDM,4) - R1=RNDM(1) - R2=RNDM(2) - R3=RNDM(3) - R4=RNDM(4) -C - IF(VALUE2.GT.0.D0)THEN - CST=MAX(R1,R2,R3,R4) - GOTO 1500 - ELSE - CALL GRNDM(RNDM,1) - R5=RNDM(1) -C - IF (IDAT.EQ.1)THEN - CST=-MAX(R1,R2,R3,R4,R5) - ELSE - CALL GRNDM(RNDM,2) - R6=RNDM(1) - R7=RNDM(2) - CST=-MAX(R1,R2,R3,R4,R5,R6,R7) - END IF -C - END IF -C - END IF -C - GOTO 1500 -C -C******** EKIN .GT. 0.74 GEV -C -1000 CONTINUE - ENER=EKIN - 0.66D0 -C IE=ABS(ENER/0.02D0) - IE=ENER/0.02D0 - EMEV=EKIN*1.D+03 -C - UNIV=(ENER-IE*0.020D+0)/0.020D+0 - K=IE - BWFW=(DCHN(K+1)-DCHN(K))*UNIV + DCHN(K) - CALL GRNDM(RNDM,1) - RND=RNDM(1) -C FORWARD NEUTRON - IF (RND.GE.BWFW)THEN - DO 1200 K=10,36,9 - IF (DCHNA(K).GT.EMEV) THEN - UNIVE=(EMEV-DCHNA(K-9))/(DCHNA(K)-DCHNA(K-9)) - CALL GRNDM(RNDM,1) - UNIV=RNDM(1) - DO 1100 I=1,8 - II=K+I - P=(DCHNA(II)-DCHNA(II-9))*UNIVE + DCHNA(II-9) -C - IF (P.GT.UNIV)THEN - CALL GRNDM(RNDM,1) - UNIV=RNDM(1) - FLTI=I-UNIV - GOTO(290,290,290,290,330,340,350,360) I - END IF - 1100 CONTINUE - END IF - 1200 CONTINUE -C - ELSE -C BACKWARD NEUTRON - DO 1400 K=13,60,12 - IF (DCHNB(K).GT.EMEV) THEN - UNIVE=(EMEV-DCHNB(K-12))/(DCHNB(K)-DCHNB(K-12)) - CALL GRNDM(RNDM,1) - UNIV=RNDM(1) - DO 1300 I=1,11 - II=K+I - P=(DCHNB(II)-DCHNB(II-12))*UNIVE + DCHNB(II-12) -C - IF (P.GT.UNIV)THEN - CALL GRNDM(RNDM,1) - UNIV=RNDM(1) - FLTI=I-UNIV - GOTO(120,120,140,150,160,160,180,190,200,210,220) I - END IF - 1300 CONTINUE - END IF - 1400 CONTINUE - END IF -C -120 CST=1.0D-2*FLTI-1.0D+0 - GOTO 1500 -140 CST=2.0D-2*UNIV-0.98D+0 - GOTO 1500 -150 CST=4.0D-2*UNIV-0.96D+0 - GOTO 1500 -160 CST=6.0D-2*FLTI-1.16D+0 - GOTO 1500 -180 CST=8.0D-2*UNIV-0.80D+0 - GOTO 1500 -190 CST=1.0D-1*UNIV-0.72D+0 - GOTO 1500 -200 CST=1.2D-1*UNIV-0.62D+0 - GOTO 1500 -210 CST=2.0D-1*UNIV-0.50D+0 - GOTO 1500 -220 CST=3.0D-1*(UNIV-1.0D+0) - GOTO 1500 -C -290 CST=1.0D0 - 2.5D-2*FLTI - GOTO 1500 -330 CST=0.85D0 + 0.5D-1*UNIV - GOTO 1500 -340 CST=0.70D0 + 1.5D-1*UNIV - GOTO 1500 -350 CST=0.50D0 + 2.0D-1*UNIV - GOTO 1500 -360 CST=0.50D0*UNIV -C -1500 RETURN -C -C----------------------------------- PP ELASTIC SCATTERING ------- -C - 102 CONTINUE - EMEV=EKIN*1.D+03 -C - IF (EKIN.LE.0.500D0) THEN - CALL GRNDM(RNDM,1) - RND=RNDM(1) - CST=2.0D0*RND-1.0D0 - RETURN -C - ELSE IF (EKIN.LT.1.D0) THEN - DO 2200 K=13,60,12 - IF (PDCI(K).GT.EMEV) THEN - UNIVE=(EMEV-PDCI(K-12))/(PDCI(K)-PDCI(K-12)) - CALL GRNDM(RNDM,1) - UNIV=RNDM(1) - SUM=0.0D0 - DO 2100 I=1,11 - II=K+I - SUM=SUM + (PDCI(II)-PDCI(II-12))*UNIVE + PDCI(II-12) -C - IF (UNIV.LT.SUM)THEN - CALL GRNDM(RNDM,1) - UNIV=RNDM(1) - FLTI=I-UNIV - GOTO(55,55,55,60,60,65,65,65,65,70,70) I - END IF - 2100 CONTINUE - END IF - 2200 CONTINUE - ELSE - DO 2400 K=12,55,11 - IF (PDCH(K).GT.EMEV) THEN - UNIVE=(EMEV-PDCH(K-11))/(PDCH(K)-PDCH(K-11)) - CALL GRNDM(RNDM,1) - UNIV=RNDM(1) - SUM=0.D0 - DO 2300 I=1,10 - II=K+I - SUM=SUM + (PDCH(II)-PDCH(II-11))*UNIVE + PDCH(II-11) -C - IF (UNIV.LT.SUM)THEN - CALL GRNDM(RNDM,1) - UNIV=RNDM(1) - FLTI=UNIV+I - GOTO(50,55,60,60,65,65,65,65,70,70) I - END IF - 2300 CONTINUE - END IF - 2400 CONTINUE - END IF -C -50 CST=0.4D0*UNIV - GOTO 2500 -55 CST=0.2D0*FLTI - GOTO 2500 -60 CST=0.3D0 + 0.1D0*FLTI - GOTO 2500 -65 CST=0.6D0 + 0.04D0*FLTI - GOTO 2500 -70 CST=0.78D0 + 0.02D0*FLTI -C -2500 CONTINUE - CALL GRNDM(RNDM,1) - RND=RNDM(1) - IF (RND.GT.0.5D+00)CST=-CST -C - RETURN - END diff --git a/StarVMC/geant3/fluka/sfecfe.F b/StarVMC/geant3/fluka/sfecfe.F deleted file mode 100644 index 0574f1900ba..00000000000 --- a/StarVMC/geant3/fluka/sfecfe.F +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: sfecfe.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: sfecfe.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE SFECFE.FOR -*COPY SFECFE -* -*=== sfecfe ===========================================================* -* - SUBROUTINE SFECFE(SFE,CFE) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(2) - ENTRY COSI(SFE,CFE) -C******************************************************************** -C VERSION JUNE 81 BY PERTTI AARNIO -C LAST CHANGE 11. DECEMBER 85 BY PERTTI AARNIO -C HELSINKI UNIVERSITY OF -C TECHNOLOGY, FINLAND -C -C -C SUBROUTINE OF FLUKA TO GIVE SINE AND COSINE OF AN -C RANDOM ANGLE UNIFORMLY DISTRIBUTED BETWEEN 0 AND 2*PI -C******************************************************************** -C - 10 CALL GRNDM(RNDM,2) - X=2.D0*RNDM(1)-1.D0 - Y=RNDM(2) - X2=X*X - Y2=Y*Y - IF (X2+Y2.GT.1.D0) GO TO 10 - CFE=(X2-Y2)/(X2+Y2) - SFE=2.D0*X*Y/(X2+Y2) - RETURN - END diff --git a/StarVMC/geant3/fluka/shptot.F b/StarVMC/geant3/fluka/shptot.F deleted file mode 100644 index 35875f671a6..00000000000 --- a/StarVMC/geant3/fluka/shptot.F +++ /dev/null @@ -1,155 +0,0 @@ -* -* $Id: shptot.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: shptot.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE SHPTOT.FOR -*COPY SHPTOT -* -*=== shptot ===========================================================* -* - FUNCTION SHPTOT(IT,PO) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C LAST CHANGE 25.11 -86 BY PERTTI AARNIO -C -C -C TOTAL HADRON-PROTON CROSS SECTIONS -C PLAB.GE.10 GEV -C -C******************************************************************** -#include "geant321/paprop.inc" - REAL RNDM(1) -C - F1=1.D0 - ITT=IT - AMIT2=AM(ITT)**2 - UMO2=AMIT2 + AM(1)**2 + 2.D0*AM(1)*(PO+0.5D0*AMIT2/PO) - UMO=SQRT(UMO2) -C - A4=0.D0 - A5=0.D0 - A6=0.D0 -C - GO TO - * (1,1,50,50,50,50,50,2,2,50,50,5,3,3,4,4,8,8,5,8,8,8,50,6,7, - * 1,1,1,1,1,1,1,1,1,1,1,1,1,1), ITT -C - 1 CONTINUE - A1=38.4D0 - A2=0.46D0 - A3=125.D0 - IF(ITT.EQ.1) GOTO 100 - A5=84.1D0 - A6=0.43D0 - GOTO 100 -C - 2 CONTINUE - A1=38.5D0 - A2=0.46D0 - A3=125.D0 - A4=15.D0 - IF(ITT.EQ.8) GOTO 100 - A5=77.43D0 - A6=0.40D0 - GOTO 100 -C - 3 CONTINUE - IF(UMO.LT.47.D0) GOTO 31 - F1=0.6667D0 - ITT=1 - GOTO 1 - 31 CONTINUE - A1=24.D0 - A2=0.60D0 - A3=160.D0 -* Very very crude patch for the pion- elastic xsec problem -* IF(ITT.EQ.13) GOTO 100 - IF(ITT.EQ.13.OR.ITT.EQ.14) GOTO 100 - A5=7.9D0 - A6=0.54D0 - GOTO 100 -C - 4 CONTINUE - IF(UMO.LT.110.D0) GOTO 41 - F1=0.6667D0 - ITT=1 - GOTO 1 - 41 CONTINUE - A1=20.3D0 - A2=0.59D0 - A3=140.D0 - IF(ITT.EQ.15) GOTO 100 - A5=30.13D0 - A6=0.42D0 - GOTO 100 -C - 5 CONTINUE - ITT=15 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5D0) ITT=16 - GOTO 4 -C - 6 CONTINUE -C*** -C K-ZERO: SET EQUAL TO K-/PROTON -C (SHOULD BE K-/NEUTRON) -C*** - ITT=16 - GOTO 4 -C - 7 CONTINUE -C*** -C K-ZERO BAR: SET EQUAL TO K+/PROTON -C (SHOULD BE K+/NEUTRON) -C*** - ITT=15 - GOTO 4 -C - 8 CONTINUE -C*** -C SIGMA +/-/0 AND LAMBDA/LAMBDA BAR: SET EQUAL TO P-P -C*** - ITT=1 - GOTO 1 -C - 50 CONTINUE -C*** -C LEPTONS AND PI0 -C*** - SHPTOT=1.D-10 - RETURN -C - 100 CONTINUE -C - SHPTOT=A1+A2*(LOG(UMO2/A3))**2+A4/UMO2+A5*UMO2**A6 - SHPTOT=F1*SHPTOT - RETURN - END diff --git a/StarVMC/geant3/fluka/sigel.F b/StarVMC/geant3/fluka/sigel.F deleted file mode 100644 index 1a8d6fa259c..00000000000 --- a/StarVMC/geant3/fluka/sigel.F +++ /dev/null @@ -1,451 +0,0 @@ -* -* $Id: sigel.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: sigel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE SIGEL.FOR -*COPY SIGEL -* -*=== sigel ============================================================* -* - SUBROUTINE SIGEL ( IT, AA, EKIN, POO, SEL, ZL ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C -C Slightly changed on 11 february 1991 by Alfredo Ferrari -C (The kinetic energy has been added to the input variables, -C a check is made on the minimum kinetic energy to have a -C an elastic scattering with the present coding, sigmabar, -C xsi, xsibar, omega, omegabar have been added with very -C rough correspondence to the existing particles) -C -C VERSION BY J. RANFT -C LEIPZIG -C LAST CHANGE 18. JULY 92 BY A. FERRARI -C INFN - MILAN -C -C -C THIS IS A SUBROUTINE OF FLUKA82 TO GIVE ELASTIC SCATTERING -C LENGTH AND CROSS SECTION -C -C INPUT VARIABLES: -C IT = PARTICLE TYPE -C AA = ATOMIC WEIGHT OF THE NUCLEUS -C EKIN = PARTICLE KINETIC ENERGY -C POO = PARTICLE MOMENTUM IN GEV/C -C -C OUTPUT VARIABLES: -C SEL = ELASTIC CROSS SECTION IN MB -C ZL = INTERACTION LENGTH IN G/CM**2 -C -C OTHER IMPORTANT VARIABLES: -C SIG = PROTON/NUCLEI CROSS SECTIONS -C SEG = PION/NUCLEI CROSS SECTIONS -C P = MOMENTUMS FOR WHICH THE CROSS SECTIONS ARE GIVEN IN -C SIG AND SEG -C A = NUCLEI FOR WHICH THE CROSS SECTIONS ARE GIVEN IN -C SIG AND SEG -C PLAB = MOMENTUMS FOR WHICH THE TOTAL CROSS SECTIONS ARE -C GIVEN IN SITO -C SITO = TOTAL HADRON NUCLEON CROSS SECTIONS FOR NUCLEONS, -C PIONS, KAONS AND ANTI-NUCLEONS. -C ALP = EXPONENT OF THE PARAMETRIZATION FOR ANTI-PROTONS, -C RANTI-NEUTRONS AND KAONS -C BET = MULTIPLIER OF PARAMETRIZATION FOR ANTI-PROTONS, -C ANTI-NEUTRONS AND KAONS -C -C NOTE1: PRESENTLY CROSS SECTIONS ARE ASSUMED TO BE CONSTANT -C ABOVE 10.0 GEV/C FOR ALL PARTICLES AND -C BELOW 0.3 GEV/C FOR NUCLEONS AND BELOW 0.13 GEV/C FOR PIONS -C -C NOTE2: FOR HADRONS OTHER THAN (1=PROTON,2=ANTI PROTON,8= -C NEUTRON,9=ANTI NEUTRON,13=POSITIVE PION,14=NEGATIVE PION,15= -C POSITIVE KAON,16=NEGATIVE KAON,24=NEUTRAL KAON,25=NEUTRAL ANTI -C KAON) SEE TABLE ITT TO SEE THE CORRESPONDANCE -C -C NOTE3: FOR LEPTONS AND PHOTONS PRACTICALLY ZERO CROSS SECTION -C IS RETURNED. -C -C******************************************************************** -C -#include "geant321/paprop.inc" - PARAMETER (AVOGMB=AVOGAD*1.D-27) -C-------------------------------------------------------------------- - DIMENSION SIG(13,9),SEG(16,9),P(16),A(9),ITT(39) - DIMENSION PLAB(19),SITO(19,4),ALP(3),BET(3) - DIMENSION REA(9,9),STOT(9) - SAVE A, P, SIG, SEG, ITT, SITO, PLAB, ALP, BET, STOT, REA - DATA A/9.D0,12.D0,27.D0,47.9D0,55.9D0,63.5D0,112.4D0, - &207.2D0,238.1D0/ - DATA P/.13D0,.19D0,.25D0,.3D0,.4D0,.5D0,.6D0,.8D0,1.D0, - &1.5D0,2.D0,3.D0,4.D0,5.D0,6.D0,10.D0/ - DATA SIG/ 485.D0,223.D0,112.D0,82.D0,66.D0,78.D0,96.D0,102.D0, - &100.D0,98.D0,95.D0,90.D0,79.D0, - (680.D0,348.D0,175.D0,103.D0,84.D0,87.D0,106.D0,112.D0,111.D0, - &108.D0,107.D0,105.D0,101.D0, - (1200.D0,738.D0,387.D0,196.D0,191.D0,200.D0,248.D0,264.D0, - &264.D0,257.D0,252.D0,247.D0,228.D0, - (1658.D0,1110.D0,635.D0,364.D0,332.D0,356.D0,404.D0,408.D0, - &407.D0,404.D0,398.D0,396.D0,384.D0, - (1730.D0,1270.D0,725.D0,400.D0,375.D0,412.D0,495.D0,505.D0, - &495.D0,492.D0,487.D0,485.D0,475.D0, - (1875.D0,1470.D0,835.D0,480.D0,450.D0,450.D0,535.D0, - &580.D0,555.D0,540.D0,535.D0,530.D0, - (525.D0,2040.D0,2160.D0,1335.D0,850.D0,740.D0,760.D0,880.D0, - &905.D0,860.D0,840.D0,820.D0,815.D0,800.D0, - (2340.D0,2980.D0,2270.D0,1450.D0,1230.D0,1230.D0, - &1380.D0,1420.D0,1410.D0,1380.D0,1360.D0, - (1350.D0,1320.D0,2680.D0,3220.D0,2530.D0,1630.D0,1420.D0,1450.D0, - &1570.D0,1600.D0,1590.D0,1575.D0,1560.D0,1550.D0,1540.D0/ - DATA SEG/24.D0,128.D0,249.D0,256.D0,202.D0,124.D0,73.D0,60.D0, - &64.D0,69.D0,62.D0,50.D0,44.D0,42.D0,42.D0,41.D0,21.D0,156.D0, - (273.D0,280.D0,220.D0,212.D0,94.D0,80.D0,82.D0,85.D0,80.D0,73.D0, - (69.D0,67.D0,66.D0,64.D0,56.D0,296.D0,560.D0,574.D0,467.D0,350.D0, - &235.D0,210.D0,210.D0,200.D0,190.D0,183.D0,176.D0,170.D0,165.D0, - (155.D0,100.D0,500.D0,895.D0,880.D0,690.D0,520.D0,378.D0, - (355.D0,384.D0,373.D0,352.D0,320.D0,300.D0,288.D0,280.D0, - &262.D0,75.D0,500.D0,965.D0,990.D0,775.D0,525.D0,410.D0,410.D0, - (433.D0,440.D0,425.D0,395.D0,374.D0,355.D0,340.D0,303.D0,125.D0, - (570.D0,1025.D0,1100.D0,825.D0,575.D0,418.D0,458.D0,500.D0, - &480.D0,460.D0,440.D0,422.D0,400.D0,384.D0,355.D0,300.D0,880.D0, - (1480.D0,1550.D0,1380.D0,940.D0,710.D0,720.D0,810.D0,760.D0, - (740.D0,700.D0,665.D0,645.D0,620.D0,570.D0,550.D0,1475.D0, - &2250.D0,2350.D0,1850.D0,1500.D0, - (1120.D0,1210.D0,1480.D0,1440.D0,1400.D0,1320.D0, - &1250.D0,1210.D0,1170.D0,1065.D0,540.D0, - (1300.D0,2220.D0,2560.D0,1980.D0,1650.D0,1160.D0, - &1360.D0,1600.D0,1560.D0,1510.D0,1410.D0, - (1350.D0,1300.D0,1270.D0,1200.D0/ -C DATA ITT/1,7,0,0,0,0,0,2,8,0,0,9,3,4,6,5,1,2,9,1,1,1,3,9,10, - DATA ITT/1,7,0,0,0,0,0,2,8,0,0,9,3,4,6,5,2,8,9,1,1,2,3,9,10, - & 3,0,0,0,0,7,2,7,2,8,1,7,1,7/ - DATA PLAB/.3D0,.4D0,.5D0,.6D0,.7D0,.8D0,.9D0,1.D0,1.1D0, - &1.2D0,1.3D0,1.4D0,1.5D0,2.D0,3.D0,4.D0, - *5.D0,6.D0,10.D0/ - DATA SITO/66.8D0,63.6D0,40.35D0,31.25D0,31.1D0, - *35.1D0,36.7D0,44.15D0,38.3D0,33.25D0, - *29.75D0,29.3D0,29.95D0,26.55D0,24.6D0,22.95D0, - *22.75D0,22.95D0,21.55D0, - *12.5D0,14.1D0,13.5D0,12.75D0,12.85D0,13.9D0,15.6D0, - *17.25D0,18.9D0,19.5D0,18.95D0,18.85D0, - *18.45D0,18.2D0,17.5D0,17.7D0,17.5D0,17.25D0,17.4D0, - *39.65D0,38.75D0,26.9D0,22.D0,22.D0,24.5D0,26.15D0,30.7D0,28.6D0, - &26.4D0,24.35D0,24.1D0,24.2D0 - (,22.4D0,21.05D0,20.3D0,20.1D0,20.1D0,19.5D0, - (280.D0,199.7D0,171.1D0,154.3D0,140.D0,130.D0,116.8D0,117.4D0, - &111.6D0,109.D0,106.5D0, - (102.8D0,100.D0,90.2D0,76.7D0,68.D0,62.8D0,60.7D0,56.D0/ - DATA ALP/0.823D0,0.843D0,0.630D0/ - DATA BET/1.26D0,1.31D0,0.90D0/ - DATA STOT /15.D0,20.D0,30.D0,40.D0,60.D0,80.D0, - &100.D0,150.D0,200.D0/ - DATA REA / .20D0,.23D0,.27D0,.30D0,.35D0,.40D0,.47D0,.55D0,.60D0, - 2 .22D0,.26D0,.31D0,.35D0,.40D0,.45D0,.51D0,.59D0,.63D0, - 3 .24D0,.29D0,.36D0,.42D0,.50D0,.56D0,.60D0,.66D0,.68D0, - 4 .26D0,.32D0,.42D0,.49D0,.58D0,.63D0,.66D0,.71D0,.72D0, - 5 .27D0,.33D0,.44D0,.51D0,.61D0,.65D0,.68D0,.72D0,.74D0, - 6 .28D0,.35D0,.46D0,.53D0,.63D0,.66D0,.69D0,.73D0,.745D0, - 7 .35D0,.42D0,.53D0,.62D0,.69D0,.72D0,.74D0,.77D0,.78D0, - 8 .42D0,.51D0,.62D0,.69D0,.75D0,.77D0,.79D0,.81D0,.82D0, - 9 .44D0,.53D0,.64D0,.70D0,.76D0,.78D0,.80D0,.81D0,.82D0 / -C -C -C - SEL = AZRZRZ - ZL = AINFNT - IF(AA.LT.0.99D0)RETURN - IPOL=0 - PO=POO - EKE=EKIN -* Set a very large kinetic energy for the call to Nizl to bypass -* any check on inelastic events thresholds - EKINFN=AINFNT - IIT=ITT(IT) - IF (IIT.EQ.0) RETURN -C--------------------------------------------------------- -C** ELASTIC SCATTERING ON PROTONS -C HJM 10/88 REASONABLE FOR P, N, PI+/- -C** - IF((AA.LT.1.5D0).AND. (IT.EQ.1.OR.IT.EQ.8.OR.IT.EQ.13 - * .OR.IT.EQ.14.OR.IT.EQ.2.OR.IT.EQ.9)) THEN -C** EKE=SQRT(PO**2+AM(IT)**2) - AM(IT) -* Return if kinetic energy is below 15 MeV (A. Ferrari) - IF ( EKE .LT. 0.015D+00 ) RETURN - IF ( IT .EQ. 9 ) THEN - IJT = 1 - ELSE IF ( IT .EQ. 2 ) THEN - IJT = 8 - ELSE - IJT = IT - END IF - CALL SIHAEL(IJT,EKE,PO,AA,SEL) - GOTO 124 - END IF -C** -C NEUTRON-NUCLEUS ELASTIC SCATTERING -C DATA FROM HETKFA2 FOR EKIN .GT. 15 MEV -C FOR PLOTS SEE -C P. CLOTH ET AL., -C HERMES - A MC PROGRAM SYSTEM ... -C JUEL-2203 (MAY 1988) -C -* IF((IT.EQ.8.OR.IT.EQ.1.OR.IT.EQ.2.OR.IT.EQ.9).AND.PO.LT.20.D0) -* & THEN - IF(IT.EQ.8.AND.PO.LT.20.D0)THEN -* Return if kinetic energy is below 15 MeV (A. Ferrari) - IF ( EKE .LT. 0.015D+00 ) RETURN - IF ( IT .EQ. 9 ) THEN - IJT = 1 - ELSE IF ( IT .EQ. 2 ) THEN - IJT = 8 - ELSE - IJT = IT - END IF - IF(PO.GT.10.D0) THEN - IPOL=1 - PO=10.D0 - EKE=SQRT(PO**2+AM(IT)**2) - AM(IT) - END IF -C** EKE=SQRT(PO**2+AM(IT)**2) - AM(IT) - CALL SIHAEL(IJT,EKE,PO,AA,SEL) - IF(IPOL.EQ.1) GOTO 210 - GOTO 124 - ENDIF - IF ( EKE .LT. 0.020D+00 ) RETURN -C----------------------------------------------------------- -C -C -C******************************************************************** -C CALCULATE THE NEW PARTICLE NUMBER IIT: 1=P,2=N,3=PI+,4=PI-, -C 5=K-,6=K+,7=P BAR,8=N BAR,9=K ZERO ,10=K ZERO BAR -C******************************************************************** -C - IF((IIT.EQ.7).OR.(IIT.EQ.8)) GOTO 200 - IF (PO.GT.20.D0) GOTO 200 - IF(PO.LE.10.D0) GOTO 30 - PO=10.D0 - IPOL=1 - 30 CONTINUE - IF(IIT.LE.4) GO TO 10 -C -C******************************************************************** -C MOMENTUM INDEX K FOR KAONS ANTI KAONS AND ANTI NUCLEONS -C******************************************************************** -C - DO 3 K=1,19 - IF(PO.LE.PLAB(K)) GO TO 40 - 3 CONTINUE - K=19 - 40 GO TO 7 -C -C******************************************************************** -C CALCULATE THE MOMENTUM INDEX K FOR NUCLEONS AND PIONS -C CALCULATE THE MASS INDEX J OF THE NUCLEUS -C******************************************************************** -C - 10 CONTINUE - DO 22 K=1,16 - IF(PO.LE.P(K)) GO TO 23 - 22 CONTINUE - K=16 - 23 CONTINUE - DO 5 I=2,8 - IF(AA.LE.A(I)) GO TO 6 - GO TO 5 - 6 CONTINUE - J=I-1 - GO TO 7 - 5 CONTINUE - J=8 -C -C******************************************************************** -C SELECT THE FORMULEI TO BE USED FOR DIFFERENT PARTICLE TYPES -C******************************************************************** -C - 7 CONTINUE -C P , N ,PI+,PI-,K- ,K+ ,AP ,AN ,K0 ,AK0 - GO TO (101,101,113,113,116,115,102,109,115,116),IIT -C******************** PROTONS,NEUTRONS,OTHERS - 101 K=K-3 - IF(K.LT.1) K=1 - ALOGA=LOG(A(J+1)/A(J)) - AAA=AA/A(J) - SI1=SIG(K,J)* AAA **(LOG(SIG(K,J+1)/SIG(K,J))/ALOGA) - IF(K.EQ.1) GO TO 2000 - KK=K-1 - SI2=SIG(KK,J)* AAA **(LOG(SIG(KK,J+1)/SIG(KK,J))/ALOGA) - K=K+3 - KK=KK+3 - SI=SI1+(PO-P(K))*(SI2-SI1)/(P(KK)-P(K)) -C - SEL=SI -C - GO TO 121 -C******************** CHARGED PIONS - 113 CONTINUE - ALOGA=LOG(A(J+1)/A(J)) - AAA=AA/A(J) - SI1=SEG(K,J)* AAA **(LOG(SEG(K,J+1)/SEG(K,J))/ALOGA) - IF(K.EQ.1) GO TO 2000 - KK=K-1 - SI2=SEG(KK,J)* AAA **(LOG(SEG(KK,J+1)/SEG(KK,J))/ALOGA) - SI=SI1+(PO-P(K))*(SI2-SI1)/(P(KK)-P(K)) -C - SEL=SI -C - GO TO 121 -C******************** K-,K ZERO BAR - 116 CONTINUE - IA=1 - IS=1 - GO TO 122 -C******************** K+, K ZERO - 115 CONTINUE - IA=2 - IS=2 - GO TO 122 -C******************** P BAR - 102 CONTINUE -C******************** N BAR - 109 CONTINUE -C - PO=POO - GOTO 200 -C -C -C******************************************************************** -C KAONS, ANTI KAONS -C******************************************************************** -C - 122 KK=K-1 - IF(K.EQ.1) GO TO 140 - PKK=PLAB(KK) - SIKK=SITO(KK,IS) - SI=(SITO(K,IS)-SIKK)*(PO-PKK)/(PLAB(K)-PKK)+SIKK - GO TO 141 - 140 SI=SITO(K,IS) - 141 SI1=SI - SI=BET(IA)*SI*AA**ALP(IA) - IV=IT - IF(IV.NE.24)GO TO 150 - IV=15 - SI=SI*2.06D0 - GO TO 151 - 150 IF(IV.EQ.25) IV=16 - 151 CALL NIZL(IV,AA,EKINFN,PO,SINEL,ZLIN) -C - SEL=SI-SINEL - IF(IPOL.EQ.1) GOTO 210 - GOTO 121 -C -C******************************************************************** -C AND NOW THE SCATTERING LENGTH IN G/CM**2 -C******************************************************************** -C - 121 CONTINUE - IF(IPOL.EQ.1) GOTO 210 - 124 CONTINUE -C - IF (SEL.LT.ANGLGB) THEN - SEL = AZRZRZ - ZL = AINFNT - ELSE - ZL=AA/(AVOGMB*SEL) - END IF - RETURN -C -C******************************************************************** -C WE ARE IN THE LOWEST MOMENTUM BIN -C******************************************************************** -C - 2000 CONTINUE - SI=SI1 - SEL=SI - GO TO 121 -C*** -C ENTRY FOR SMOOTHING OF SIGEL BETWEEN 10. AND 20. GEV/C -C*** - 210 CONTINUE - PO=20.D0 -C*** -C APPROXIMATION FOR HIGH ENERGIES -C*** - 200 CONTINUE -C - IT1=IT - IF((IT.EQ.2).OR.(IT.EQ.9)) IT1=1 -C - STO=SHPTOT(IT1,PO) -C -C MASS NUMBER INDEX -C*** - DO 201 IA=2,8 - IF(AA.GT.A(IA)) GOTO 201 - JA=IA-1 - GOTO 202 - 201 CONTINUE - JA=8 - 202 CONTINUE -C*** -C SIGTOT INDEX -C*** - DO 203 IS=2,8 - IF(STO.GT.STOT(IS)) GOTO 203 - JS=IS-1 - GOTO 204 - 203 CONTINUE - JS=8 - 204 CONTINUE -C - DA1=A(JA+1)-A(JA) - DA2=AA - A(JA) - RR=REA(JS,JA) - R1=RR + DA2*(REA(JS,JA+1)-RR)/DA1 - RR=REA(JS+1,JA) - R2=RR + DA2*(REA(JS+1,JA+1)-RR)/DA1 - RACT=R1 + (STO-STOT(JS))*(R2-R1)/(STOT(JS+1)-STOT(JS)) -C - CALL NIZL(IT,AA,EKINFN,PO,SINEL1,ZLIN) - SEL1=RACT*SINEL1 - IF(IPOL.EQ.1) GOTO 211 - SEL=SEL1 - GOTO 124 -C - 211 CONTINUE - SEL=SEL + (SEL1-SEL)*(POO-10.D0)/10.D0 - GOTO 124 -C -C -C******************************************************************** -C FORMATS -C******************************************************************** -C - 1000 FORMAT(' WARNING AT CALL SIGEL ',I5) - END diff --git a/StarVMC/geant3/fluka/sigint.F b/StarVMC/geant3/fluka/sigint.F deleted file mode 100644 index 41973b644da..00000000000 --- a/StarVMC/geant3/fluka/sigint.F +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: sigint.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: sigint.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLDNAME) -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*=== sigint ===========================================================* -* - SUBROUTINE SIGINT (IRE ,PLAB,N,IE ,AMT ,AMN,ECM ,SI ,ITAR) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/reac.inc" -#include "geant321/redver.inc" -* -**** *,IEII,IKII,NURE - COMMON / FKABLT / AM (110), GA (110), TAU (110), ICH (110), - & IBAR (110), K1 (110), K2 (110) -* - IE=IEFUN(PLAB,IRE) - IF (IE.LE.IEII(IRE)) IE=IE+1 - AMT=AM(ITAR) - AMN=AM(N) - AMN2=AMN*AMN - AMT2=AMT*AMT - ECM=SQRT(AMN2+AMT2+2.D0*AMT*SQRT(AMN2+PLAB**2)) -C*** INTERPOLATION PREPARATION - ECMO=UMO(IE) - ECM1=UMO(IE-1) - DECM=ECMO-ECM1 - DEC=ECMO-ECM - IIKI=IKII(IRE)+1 - EKLIM=-THRESH(IIKI) - WOK=SIIN(IE) - WDK=WOK-SIIN(IE-1) - IF (ECM.GT.ECMO) WDK=0.D0 -C*** INTERPOLATION IN CHANNEL WEIGHTS - IELIM=IEFUN(EKLIM,IRE) - DELIM=UMO(IELIM)+EKLIM - *+1.D-16 - DETE=(ECM-(ECMO-EKLIM)*.5D0)*2.D0 - IF (DELIM*DELIM-DETE*DETE) 112,112,113 - 113 DECC=DELIM - GO TO 114 - 112 DECC=DECM - 114 CONTINUE - WKK=WOK-WDK*DEC/(DECC+1.D-9) - IF (WKK.LT.0.D0) WKK=0.D0 - SI=WKK+1.D-12 - IF (-EKLIM.GT.ECM) SI=1.D-14 - RETURN - END -#else - SUBROUTINE SIGINT_DUMMY - END -#endif diff --git a/StarVMC/geant3/fluka/sihael.F b/StarVMC/geant3/fluka/sihael.F deleted file mode 100644 index 6bb7a8e06ed..00000000000 --- a/StarVMC/geant3/fluka/sihael.F +++ /dev/null @@ -1,516 +0,0 @@ -* -* $Id: sihael.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: sihael.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:05 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE SIHAEL.FOR -*COPY SIHAEL -* * -*=== sihael ===========================================================* -* * - SUBROUTINE SIHAEL(KPROJ,EKIN,PLAB,ANUC,SIGELA) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C*** -C HJM 22/10/88 -C -C CROSS SECTIONS FOR ELASTIC SCATTERING -C -C INCLUDING - PION/NUCLEON PROTON DATA FROM BERTINI (HETKFA2) -C -C - ... HIGH-ENERGY APPROXIMATION: -C SIGEL/SIGTOT = CONST -C -C - NUCLEON-NUCLEUS DATA FROM HETKFA2 -C*** - PARAMETER (NEN=106) - PARAMETER (NEA=23) - PARAMETER (NNAA=10) - DIMENSION EKIHN(NEN),EKIHA(NEA),AMASS(NNAA) - DIMENSION SEPIMP(NEN),SEPIPP(NEN),SEPP(NEN),SENP(NEN) - DIMENSION SENA(NEA,NNAA),SEPA(NEA,NNAA) - DIMENSION TSIG(2) - DIMENSION RELTO(14) -C -#include "geant321/paprop.inc" -C*** -C KINETIC ENERGIES FOR TABLE LOOK-UP - - DATA EKIHN / - & 0.00D0, 0.02D0, 0.04D0, 0.06D0, 0.08D0, 0.10D0, 0.12D0, 0.14D0, - & 0.16D0, 0.18D0, 0.20D0, 0.22D0, 0.24D0, 0.26D0, 0.28D0, 0.30D0, - & 0.32D0, 0.34D0, 0.36D0, 0.38D0, 0.40D0, 0.42D0, 0.44D0, 0.46D0, - & 0.48D0, 0.50D0, 0.52D0, 0.54D0, 0.56D0, 0.58D0, 0.60D0, 0.62D0, - & 0.64D0, 0.66D0, 0.68D0, 0.70D0, 0.72D0, 0.74D0, 0.76D0, 0.78D0, - & 0.80D0, 0.82D0, 0.84D0, 0.86D0, 0.88D0, 0.90D0, 0.92D0, 0.94D0, - & 0.96D0, 0.98D0, 1.00D0, 1.02D0, 1.04D0, 1.06D0, 1.08D0, 1.10D0, - & 1.12D0, 1.14D0, 1.16D0, 1.18D0, 1.20D0, 1.22D0, 1.24D0, 1.26D0, - & 1.28D0, 1.30D0, 1.32D0, 1.34D0, 1.36D0, 1.38D0, 1.40D0, 1.42D0, - & 1.44D0, 1.46D0, 1.48D0, 1.50D0, 1.52D0, 1.54D0, 1.56D0, 1.58D0, - & 1.60D0, 1.62D0, 1.64D0, 1.66D0, 1.68D0, 1.70D0, 1.72D0, 1.74D0, - & 1.76D0, 1.78D0, 1.80D0, 1.82D0, 1.84D0, 1.86D0, 1.88D0, 1.90D0, - & 1.92D0, 1.94D0, 1.96D0, 1.98D0, 2.00D0, 2.5D0, 3.0D0, 3.5D0, - & 5.0D0, 10.0D0/ - DATA EKIHA / - & 0.015D0, 0.02D0, 0.025D0, 0.03D0, 0.04D0, 0.05D0, 0.06D0, - & 0.08D0, 0.10D0, 0.125D0, 0.15D0, 0.175D0, 0.20D0, 0.225D0, - & 0.25D0, 0.3D0, 0.4D0, 0.6D0, 1.0D0, 2.0D0, 5.0D0, - & 10.0D0, 22.5D0/ - DATA AMASS / - & 4.D0, 9.D0, 12.D0, 27.D0, 47.9D0, 55.9D0, 63.5D0, 112.4D0, - & 207.2D0, 238.1D0/ -C------------------------------------------------------------------- -C -C*** PI(-)-P ELASTIC CROSS SECTION DATA - DATA (SEPIMP(IE),IE=1,50) / - * 1.250D+00, 1.500D+00, 1.750D+00, 2.450D+00, 3.800D+00, - * 6.000D+00, 9.700D+00, 1.500D+01, 2.140D+01, 2.310D+01, - * 2.295D+01, 2.070D+01, 1.795D+01, 1.550D+01, 1.360D+01, - * 1.230D+01, 1.130D+01, 1.070D+01, 1.050D+01, 1.070D+01, - * 1.120D+01, 1.175D+01, 1.235D+01, 1.300D+01, 1.400D+01, - * 1.500D+01, 1.600D+01, 1.700D+01, 1.835D+01, 1.970D+01, - * 2.050D+01, 1.915D+01, 1.770D+01, 1.650D+01, 1.570D+01, - * 1.520D+01, 1.510D+01, 1.525D+01, 1.550D+01, 1.600D+01, - * 1.685D+01, 1.800D+01, 2.000D+01, 2.230D+01, 2.475D+01, - * 2.635D+01, 2.510D+01, 2.300D+01, 2.140D+01, 2.000D+01/ - DATA (SEPIMP(IE),IE=51,106) / - * 1.870D+01, 1.750D+01, 1.670D+01, 1.585D+01, 1.505D+01, - * 1.440D+01, 1.395D+01, 1.340D+01, 1.299D+01, 1.260D+01, - * 1.215D+01, 1.175D+01, 1.140D+01, 1.099D+01, 1.060D+01, - * 1.040D+01, 1.010D+01, 9.990D+00, 9.900D+00, 9.750D+00, - * 9.600D+00, 9.550D+00, 9.450D+00, 9.350D+00, 9.250D+00, - * 9.250D+00, 9.350D+00, 9.650D+00, 9.850D+00, 1.000D+01, - * 1.015D+01, 1.030D+01, 1.060D+01, 1.080D+01, 1.095D+01, - * 1.100D+01, 1.095D+01, 1.090D+01, 1.070D+01, 1.035D+01, - * 1.000D+01, 9.600D+00, 9.050D+00, 8.550D+00, 8.200D+00, - * 8.000D+00, 7.850D+00, 7.800D+00, 7.750D+00, 7.700D+00, - * 7.650D+00, - * 7.600D+00, 7.240D+00, 6.770D+00, 5.840D+00, 4.570D+00/ -* *** The previous 5 points have been substituted to the erroneous -* *** ones from H.J. Mohring by A. Ferrari -C--------------------------------------------------------------------- -C -C*** PI(+)-P ELASTIC CROSS SECTION DATA - DATA (SEPIPP(IE),IE=1,50) / - * 1.800D+00, 4.000D+00, 9.900D+00, 2.170D+01, 4.000D+01, - * 6.580D+01, 9.680D+01, 1.392D+02, 1.800D+02, 2.000D+02, - * 1.655D+02, 1.420D+02, 1.225D+02, 1.032D+02, 8.400D+01, - * 6.725D+01, 5.510D+01, 4.725D+01, 4.130D+01, 3.690D+01, - * 3.230D+01, 2.885D+01, 2.600D+01, 2.300D+01, 2.090D+01, - * 1.875D+01, 1.675D+01, 1.500D+01, 1.340D+01, 1.200D+01, - * 1.100D+01, 9.980D+00, 9.200D+00, 8.600D+00, 8.200D+00, - * 8.100D+00, 8.100D+00, 8.250D+00, 8.500D+00, 8.750D+00, - * 9.000D+00, 9.400D+00, 9.750D+00, 1.000D+01, 1.030D+01, - * 1.075D+01, 1.130D+01, 1.200D+01, 1.275D+01, 1.330D+01/ - DATA (SEPIPP(IE),IE=51,106) / - * 1.350D+01, 1.335D+01, 1.330D+01, 1.330D+01, 1.345D+01, - * 1.355D+01, 1.380D+01, 1.400D+01, 1.460D+01, 1.500D+01, - * 1.555D+01, 1.625D+01, 1.700D+01, 1.800D+01, 1.875D+01, - * 1.920D+01, 1.925D+01, 1.890D+01, 1.830D+01, 1.790D+01, - * 1.725D+01, 1.690D+01, 1.640D+01, 1.600D+01, 1.550D+01, - * 1.505D+01, 1.475D+01, 1.430D+01, 1.400D+01, 1.365D+01, - * 1.335D+01, 1.300D+01, 1.280D+01, 1.250D+01, 1.225D+01, - * 1.205D+01, 1.195D+01, 1.175D+01, 1.150D+01, 1.135D+01, - * 1.105D+01, 1.095D+01, 1.080D+01, 1.060D+01, 1.030D+01, - * 1.020D+01, 1.005D+01, 9.900D+00, 9.800D+00, 9.700D+00, - * 9.600D+00, - * 7.350D+00, 7.200D+00, 7.000D+00, 5.800D+00, 4.800D+00/ -C--------------------------------------------------------------------- -C -C*** P-P ELASTIC CROSS SECTION DATA - DATA (SEPP(IE),IE=1,50) / - * 6.750D+02, 1.550D+02, 6.750D+01, 4.420D+01, 3.230D+01, - * 2.800D+01, 2.520D+01, 2.370D+01, 2.300D+01, 2.275D+01, - * 2.260D+01, 2.260D+01, 2.260D+01, 2.260D+01, 2.270D+01, - * 2.280D+01, 2.295D+01, 2.300D+01, 2.310D+01, 2.330D+01, - * 2.350D+01, 2.380D+01, 2.395D+01, 2.420D+01, 2.460D+01, - * 2.485D+01, 2.500D+01, 2.530D+01, 2.565D+01, 2.600D+01, - * 2.620D+01, 2.640D+01, 2.660D+01, 2.675D+01, 2.690D+01, - * 2.700D+01, 2.705D+01, 2.710D+01, 2.715D+01, 2.720D+01, - * 2.725D+01, 2.725D+01, 2.720D+01, 2.715D+01, 2.710D+01, - * 2.700D+01, 2.695D+01, 2.680D+01, 2.670D+01, 2.660D+01/ - DATA (SEPP(IE),IE=51,106) / - * 2.640D+01, 2.625D+01, 2.605D+01, 2.590D+01, 2.570D+01, - * 2.545D+01, 2.525D+01, 2.500D+01, 2.480D+01, 2.470D+01, - * 2.450D+01, 2.430D+01, 2.410D+01, 2.395D+01, 2.370D+01, - * 2.360D+01, 2.340D+01, 2.325D+01, 2.305D+01, 2.290D+01, - * 2.275D+01, 2.270D+01, 2.260D+01, 2.250D+01, 2.230D+01, - * 2.225D+01, 2.210D+01, 2.200D+01, 2.195D+01, 2.190D+01, - * 2.175D+01, 2.165D+01, 2.150D+01, 2.140D+01, 2.125D+01, - * 2.120D+01, 2.105D+01, 2.100D+01, 2.090D+01, 2.075D+01, - * 2.065D+01, 2.055D+01, 2.045D+01, 2.030D+01, 2.020D+01, - * 2.005D+01, 2.000D+01, 1.995D+01, 1.980D+01, 1.975D+01, - * 1.965D+01, - * 17.15D+00, 14.45D+00, 13.00D+00, 11.50D+00, 10.50D+00/ -C-------------------------------------------------------------------- -C -C*** N-P ELASTIC CROSS SECTION DATA - DATA (SENP(IE),IE=1,50) / - * 1.965D+03, 4.750D+02, 2.200D+02, 1.300D+02, 9.180D+01, - * 7.300D+01, 6.030D+01, 5.180D+01, 4.680D+01, 4.320D+01, - * 4.080D+01, 3.910D+01, 3.760D+01, 3.650D+01, 3.550D+01, - * 3.480D+01, 3.415D+01, 3.370D+01, 3.325D+01, 3.290D+01, - * 3.275D+01, 3.250D+01, 3.255D+01, 3.275D+01, 3.285D+01, - * 3.275D+01, 3.220D+01, 3.150D+01, 3.075D+01, 2.990D+01, - * 2.875D+01, 2.775D+01, 2.695D+01, 2.630D+01, 2.590D+01, - * 2.565D+01, 2.560D+01, 2.560D+01, 2.560D+01, 2.565D+01, - * 2.570D+01, 2.575D+01, 2.578D+01, 2.580D+01, 2.585D+01, - * 2.580D+01, 2.575D+01, 2.560D+01, 2.540D+01, 2.505D+01/ - DATA (SENP(IE),IE=51,106) / - * 2.470D+01, 2.425D+01, 2.375D+01, 2.315D+01, 2.275D+01, - * 2.230D+01, 2.200D+01, 2.175D+01, 2.155D+01, 2.145D+01, - * 2.130D+01, 2.125D+01, 2.115D+01, 2.105D+01, 2.100D+01, - * 2.095D+01, 2.090D+01, 2.080D+01, 2.070D+01, 2.060D+01, - * 2.050D+01, 2.045D+01, 2.040D+01, 2.030D+01, 2.025D+01, - * 2.020D+01, 2.015D+01, 2.010D+01, 2.005D+01, 2.002D+01, - * 2.000D+01, 1.999D+01, 1.990D+01, 1.985D+01, 1.975D+01, - * 1.970D+01, 1.965D+01, 1.960D+01, 1.950D+01, 1.945D+01, - * 1.940D+01, 1.925D+01, 1.920D+01, 1.915D+01, 1.910D+01, - * 1.900D+01, 1.898D+01, 1.895D+01, 1.890D+01, 1.880D+01, - * 1.875D+01, - * 17.00D+00, 14.40D+00, 12.00D+00, 11.00D+00, 10.00D+00/ -C--------------------------------------------------------------------- -C -C*** N-A ELASTIC CROSS SECTION DATA - DATA (SENA(IE,1),IE=1,NEA) / -C* NEUTRON - HELIUM - * 5.103D-01, 5.157D-01, 5.103D-01, 4.777D-01, 4.072D-01, - * 3.420D-01, 2.714D-01, 1.683D-01, 6.700D-02, 6.100D-02, - * 5.800D-02, 4.900D-02, 3.800D-02, 3.300D-02, 3.000D-02, - * 2.400D-02, 2.300D-02, 2.900D-02, 3.600D-02, 4.100D-02, - * 4.000D-02, 3.700D-02, 3.400D-02/ -C -C* NEUTRON - BERYLLIUM - DATA (SENA(IE,2),IE=1,NEA) / - * 8.762D-01, 8.856D-01, 8.762D-01, 8.203D-01, 6.991D-01, - * 5.873D-01, 4.661D-01, 2.890D-01, 1.401D-01, 1.305D-01, - * 1.238D-01, 1.069D-01, 8.495D-02, 7.480D-02, 6.750D-02, - * 5.565D-02, 5.230D-02, 6.470D-02, 7.765D-02, 8.722D-02, - * 8.440D-02, 7.821D-02, 7.259D-02/ -C -C* NEUTRON - CARBON - DATA (SENA(IE,3),IE=1,NEA) / - * 9.200D-01, 9.500D-01, 9.400D-01, 8.800D-01, 7.500D-01, - * 6.100D-01, 5.000D-01, 3.700D-01, 1.820D-01, 1.710D-01, - * 1.620D-01, 1.410D-01, 1.130D-01, 1.000D-01, 9.000D-02, - * 7.500D-02, 7.000D-02, 8.600D-02, 1.020D-01, 1.140D-01, - * 1.100D-01, 1.020D-01, 9.500D-02/ -C -C* NEUTRON - ALUMINUM - DATA (SENA(IE,4),IE=1,NEA) / - * 1.090D+00, 1.180D+00, 1.240D+00, 1.280D+00, 1.260D+00, - * 1.160D+00, 9.300D-01, 6.300D-01, 3.580D-01, 3.450D-01, - * 3.350D-01, 2.990D-01, 2.480D-01, 2.220D-01, 2.020D-01, - * 1.730D-01, 1.610D-01, 1.920D-01, 2.200D-01, 2.420D-01, - * 2.370D-01, 2.220D-01, 2.060D-01/ -C -C* NEUTRON - TITANIUM - DATA (SENA(IE,5),IE=1,NEA) / - * 1.029D+00, 9.469D-01, 1.091D+00, 1.284D+00, 1.591D+00, - * 1.691D+00, 1.258D+00, 9.241D-01, 5.620D-01, 5.493D-01, - * 5.375D-01, 4.907D-01, 4.182D-01, 3.800D-01, 3.484D-01, - * 3.038D-01, 2.823D-01, 3.307D-01, 3.720D-01, 4.040D-01, - * 3.959D-01, 3.743D-01, 3.517D-01/ -C -C* NEUTRON - IRON - DATA (SENA(IE,6),IE=1,NEA) / - * 1.178D+00, 9.793D-01, 1.090D+00, 1.271D+00, 1.650D+00, - * 1.799D+00, 1.339D+00, 1.009D+00, 6.223D-01, 6.132D-01, - * 6.042D-01, 5.572D-01, 4.812D-01, 4.402D-01, 4.053D-01, - * 3.554D-01, 3.304D-01, 3.814D-01, 4.244D-01, 4.603D-01, - * 4.523D-01, 4.293D-01, 4.053D-01/ -C -C* NEUTRON - COPPER - DATA (SENA(IE,7),IE=1,NEA) / - * 1.386D+00, 1.050D+00, 1.134D+00, 1.302D+00, 1.722D+00, - * 1.922D+00, 1.449D+00, 1.103D+00, 6.762D-01, 6.686D-01, - * 6.602D-01, 6.131D-01, 5.344D-01, 4.912D-01, 4.541D-01, - * 4.004D-01, 3.728D-01, 4.273D-01, 4.725D-01, 5.103D-01, - * 5.022D-01, 4.781D-01, 4.524D-01/ -C -C* NEUTRON - CADMIUM - DATA (SENA(IE,8),IE=1,NEA) / - * 2.029D+00, 1.537D+00, 1.660D+00, 1.906D+00, 2.520D+00, - * 2.812D+00, 2.121D+00, 1.614D+00, 1.014D+00, 1.012D+00, - * 1.006D+00, 9.557D-01, 8.607D-01, 8.038D-01, 7.541D-01, - * 6.775D-01, 6.334D-01, 7.080D-01, 7.669D-01, 8.156D-01, - * 8.074D-01, 7.769D-01, 7.404D-01/ -C -C* NEUTRON - LEAD - DATA (SENA(IE,9),IE=1,NEA) / - * 3.050D+00, 2.310D+00, 2.495D+00, 2.865D+00, 3.789D+00, - * 4.228D+00, 3.188D+00, 2.426D+00, 1.536D+00, 1.538D+00, - * 1.536D+00, 1.488D+00, 1.384D+00, 1.317D+00, 1.256D+00, - * 1.153D+00, 1.089D+00, 1.185D+00, 1.255D+00, 1.315D+00, - * 1.307D+00, 1.269D+00, 1.224D+00/ -C -C* NEUTRON - URANIUM - DATA (SENA(IE,10),IE=1,NEA) / - * 3.346D+00, 2.535D+00, 2.738D+00, 3.143D+00, 4.157D+00, - * 4.639D+00, 3.498D+00, 2.662D+00, 1.685D+00, 1.687D+00, - * 1.685D+00, 1.632D+00, 1.518D+00, 1.445D+00, 1.378D+00, - * 1.265D+00, 1.194D+00, 1.300D+00, 1.377D+00, 1.443D+00, - * 1.434D+00, 1.392D+00, 1.343D+00/ -C--- ---------------------------------------------------------------- -C -C*** P-A ELASTIC CROSS SECTION DATA - DATA (SEPA(IE,1),IE=1,NEA) / -C* PROTON - HELIUM - * 8*0.000D+00, 6.700D-02, 6.100D-02, - * 5.800D-02, 4.900D-02, 3.800D-02, 3.300D-02, 3.000D-02, - * 2.400D-02, 2.300D-02, 2.900D-02, 3.600D-02, 4.100D-02, - * 4.000D-02, 3.700D-02, 3.400D-02/ -C -C* PROTON - BERYLLIUM - DATA (SEPA(IE,2),IE=1,NEA) / - * 8*0.000D+00, 1.401D-01, 1.305D-01, - * 1.238D-01, 1.069D-01, 8.495D-02, 7.480D-02, 6.750D-02, - * 5.565D-02, 5.230D-02, 6.470D-02, 7.765D-02, 8.722D-02, - * 8.440D-02, 7.821D-02, 7.259D-02/ -C -C* PROTON - CARBON - DATA (SEPA(IE,3),IE=1,NEA) / - * 8*0.000D+00, 1.820D-01, 1.710D-01, - * 1.620D-01, 1.410D-01, 1.130D-01, 1.000D-01, 9.000D-02, - * 7.500D-02, 7.000D-02, 8.600D-02, 1.020D-01, 1.140D-01, - * 1.100D-01, 1.020D-01, 9.500D-02/ -C -C* PROTON - ALUMINUM - DATA (SEPA(IE,4),IE=1,NEA) / - * 8*0.000D+00, 3.650D-01, 3.540D-01, - * 3.420D-01, 3.060D-01, 2.530D-01, 2.260D-01, 2.040D-01, - * 1.750D-01, 1.610D-01, 1.900D-01, 2.200D-01, 2.430D-01, - * 2.370D-01, 2.220D-01, 2.070D-01/ -C -C* PROTON - TITANIUM - DATA (SEPA(IE,5),IE=1,NEA) / - * 8*0.000D+00, 5.828D-01, 5.726D-01, - * 5.594D-01, 5.100D-01, 4.310D-01, 3.897D-01, 3.561D-01, - * 3.084D-01, 2.829D-01, 3.262D-01, 3.714D-01, 4.066D-01, - * 3.985D-01, 3.764D-01, 3.517D-01/ -C -C* NEUTRON - IRON - DATA (SEPA(IE,6),IE=1,NEA) / - * 8*0.000D+00, 6.383D-01, 6.313D-01, - * 6.212D-01, 5.732D-01, 4.913D-01, 4.483D-01, 4.113D-01, - * 3.594D-01, 3.304D-01, 3.764D-01, 4.243D-01, 4.623D-01, - * 4.543D-01, 4.313D-01, 4.053D-01/ -C -C* NEUTRON - COPPER - DATA (SEPA(IE,7),IE=1,NEA) / - * 8*0.000D+00, 6.950D-01, 6.895D-01, - * 6.803D-01, 6.322D-01, 5.471D-01, 5.014D-01, 4.619D-01, - * 4.048D-01, 3.728D-01, 4.211D-01, 4.722D-01, 5.135D-01, - * 5.051D-01, 4.804D-01, 4.527D-01/ -C -C* NEUTRON - CADMIUM - DATA (SEPA(IE,8),IE=1,NEA) / - * 8*0.000D+00, 1.045D+00, 1.043D+00, - * 1.036D+00, 9.718D-01, 8.822D-01, 8.211D-01, 7.679D-01, - * 6.828D-01, 6.325D-01, 6.951D-01, 7.647D-01, 8.232D-01, - * 8.138D-01, 7.935D-01, 7.415D-01/ -C -C* NEUTRON - LEAD - DATA (SEPA(IE,9),IE=1,NEA) / - * 8*0.000D+00, 1.589D+00, 1.584D+00, - * 1.577D+00, 1.528D+00, 1.417D+00, 1.345D+00, 1.277D+00, - * 1.159D+00, 1.086D+00, 1.159D+00, 1.252D+00, 1.331D+00, - * 1.320D+00, 1.278D+00, 1.256D+00/ -C -C* NEUTRON - URANIUM - DATA (SEPA(IE,10),IE=1,NEA) / - * 8*0.000D+00, 1.743D+00, 1.738D+00, - * 1.730D+00, 1.676D+00, 1.554D+00, 1.475D+00, 1.401D+00, - * 1.271D+00, 1.191D+00, 1.271D+00, 1.373D+00, 1.460D+00, - * 1.448D+00, 1.402D+00, 1.378D+00/ -C - DATA RELTO / 0.175D0, 6*0.D0, 0.175D0, 4*0.D0, 0.14D0, 0.14D0/ -C -C-------------------------------------------------------------------- -C - IF(ANUC.LT.1.5D0) THEN -C HADRON-PROTON ELASTIC CROSS SECTIONS - IPOL=0 - EK1=EKIN - IF(EKIN.GT.20.D0) THEN - SIGELA=RELTO(KPROJ)*SHPTOT(KPROJ,PLAB) - RETURN - ELSEIF(EKIN.GT.10.D0) THEN - IPOL=1 - PO2=20.D0 - EK2=SQRT(PO2**2+AM(KPROJ)**2) - AM(KPROJ) - SEL2=RELTO(KPROJ)*SHPTOT(KPROJ,PO2) - EK1=10.D0 - ENDIF -C - DO 101 IE=1,NEN - IF(EK1.LT.EKIHN(IE)) THEN - JE1=IE-1 - JE2=IE - DDEE=EKIHN(JE2) - EKIHN(JE1) - GOTO 102 - ENDIF - 101 CONTINUE - JE1=NEN - JE2=NEN - DDEE=1.D0 - 102 CONTINUE -C**** -C PROTON-PROTON - IF(KPROJ.EQ.1) THEN - S1=SEPP(JE1) - S2=SEPP(JE2) -C NEUTRON-PROTON - ELSEIF(KPROJ.EQ.8) THEN - S1=SENP(JE1) - S2=SENP(JE2) -C PI(+)-PROTON - ELSEIF(KPROJ.EQ.13) THEN - S1=SEPIPP(JE1) - S2=SEPIPP(JE2) -C PI(-)-PROTON - ELSEIF(KPROJ.EQ.14) THEN - S1=SEPIMP(JE1) - S2=SEPIMP(JE2) -C UNDEFINED ENTRY CONDITIONS - ELSE - SIGELA=0.D0 - RETURN - ENDIF -C - SIGELA=S1 + (S2-S1)*(EK1-EKIHN(JE1))/DDEE -C -C INTERPOLATION BETWEEN 10/20 GEV - IF(IPOL.EQ.1) THEN - SEL1=SIGELA - SIGELA=SEL1 + (SEL2-SEL1)*(EKIN-EK1)/(EK2-EK1) - ENDIF -C - RETURN -C - ENDIF -C*************************************** -C HADRON-NUCLEUS ELASTIC CROSS SECTIONS - DO 201 IE=1,NEA - IF(EKIN.LT.EKIHA(IE)) THEN - JE=IE - 1 - GOTO 202 - ENDIF - 201 CONTINUE - IF(EKIN.EQ.EKIHA(NEA)) THEN - JE=NEA - 1 - ELSE - JE=-1 - ENDIF - 202 CONTINUE -C - DO 203 IA=1,NNAA - IF(ANUC.LT.AMASS(IA)) THEN - JA=IA - 1 - GOTO 204 - ENDIF - 203 CONTINUE - IF(ANUC.EQ.AMASS(NNAA)) THEN - JA=NNAA - 1 - ELSE - JA=-1 - ENDIF - 204 CONTINUE -C - IF (JA) 230,220,210 - 210 IF (JE) 240,250,211 - 211 TEMP1=ANUC/AMASS(JA) - TEMP2=LOG(AMASS(JA+1)/AMASS(JA)) - KE=JE - DO 212 I=1,2 - IF(KPROJ.EQ.8) THEN - SLOW=SENA(KE,JA) - POWER=LOG(SENA(KE,JA+1)/SLOW)/TEMP2 - ELSE - SLOW=SEPA(KE,JA) - POWER=LOG(SEPA(KE,JA+1)/SLOW)/TEMP2 - ENDIF - TSIG(I)=SLOW*TEMP1**POWER - KE=KE+1 - 212 CONTINUE -C - 213 SIGELA=TSIG(1) - * + (EKIN-EKIHA(JE))*(TSIG(2)-TSIG(1)) - * /(EKIHA(JE+1)-EKIHA(JE)) - SIGELA=SIGELA * 1E3 - RETURN -C* -C A IS LESS THAN A MIN - 220 JA=1 - TEMP1= (ANUC/AMASS(JA)) **0.6666666666666667D0 - 221 IF (JE) 260,270,222 - 222 IF(KPROJ.EQ.8) THEN - TSIG(1) = SENA(JE,JA) * TEMP1 - TSIG(2) = SENA(JE+1,JA) *TEMP1 - ELSE - TSIG(1) = SEPA(JE,JA) * TEMP1 - TSIG(2) = SEPA(JE+1,JA) *TEMP1 - ENDIF - GO TO 213 -C* -C A IS GREATER THAN A MAX - 230 JA=NNAA - TEMP1= (ANUC/AMASS(JA))**0.6666666666666667D0 - GO TO 221 -C* -C EKIN LT. EMIN - 250 JE=1 - 251 TEMP1=ANUC/AMASS(JA) - TEMP2=LOG(AMASS(JA+1)/AMASS(JA)) - IF(KPROJ.EQ.8) THEN - SLOW=SENA(JE,JA) - POWER=LOG(SENA(JE,JA+1)/SLOW)/TEMP2 - ELSE - SLOW=SEPA(JE,JA) - POWER=LOG(SEPA(JE,JA+1)/SLOW)/TEMP2 - ENDIF - SIGELA=SLOW*TEMP1**POWER - SIGELA=SIGELA * 1.D+03 - RETURN -C - 270 JE=1 - 271 IF(KPROJ.EQ.8) THEN - SIGELA=SENA(JE,JA)*TEMP1 - ELSE - SIGELA=SEPA(JE,JA)*TEMP1 - ENDIF - SIGELA=SIGELA * 1.D+03 - RETURN -C* -C EKIN GT. EMAX - 240 JE=NEA - GO TO 251 - 260 JE=NEA - GO TO 271 - END diff --git a/StarVMC/geant3/fluka/sitsao.F b/StarVMC/geant3/fluka/sitsao.F deleted file mode 100644 index 3863a30baf7..00000000000 --- a/StarVMC/geant3/fluka/sitsao.F +++ /dev/null @@ -1,72 +0,0 @@ -* -* $Id: sitsao.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: sitsao.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:05 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE SITSAO.FOR -*COPY SITSAO -* -*=== sitsao ===========================================================* -* - FUNCTION SITSAO ( E, IZ, A ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Original from A. Fasso`, CERN-TIS * -* * -* Created on 20 september 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 20-sep-91 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -*----------------------------------------------------------------------* -* Calculates proton-nucleus inelastic cross-section by the formula * -* of Letaw, Silberberg and Tsao, Astrophys. J. Suppl. 51, 271 (1983) * -*----------------------------------------------------------------------* -* E = Energy in MeV, IZ = Atomic number, A = Mass number (At. weight)* -*----------------------------------------------------------------------* -* formula (2) - SITSAO = 45.D+00 * A**0.7D+00 * ( 1.D+00 + 0.016D+00 * SIN - & ( 5.3D+00 - 2.63D+00 * LOG(A)) ) -* formula (5) - IF(E .LT. 2000.D+00) SITSAO = SITSAO * ( 1.D+00 - 0.62D+00 - & / EXP ( E / 200.D+00 ) - & * SIN ( 10.9D+00 / E**0.28D+00 ) ) - IF (IZ .EQ. 2) THEN - SITSAO=SITSAO*0.8D+00 - ELSE IF (IZ .EQ. 4) THEN - SITSAO=SITSAO*(1.D+00 + 0.75D+00/EXP(E/75.D+00)) - END IF - RETURN - END diff --git a/StarVMC/geant3/fluka/stalin.F b/StarVMC/geant3/fluka/stalin.F deleted file mode 100644 index 8ee39d16cab..00000000000 --- a/StarVMC/geant3/fluka/stalin.F +++ /dev/null @@ -1,158 +0,0 @@ -* -* $Id: stalin.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: stalin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.4 1997/10/17 10:11:47 mclareni -* Negative square root protection -* -* Revision 1.3 1996/05/03 07:31:39 cernlib -* Replace in Max( .., 0.0) the 0.0 by ZERO to have the proper variable type. -* -* Revision 1.2 1996/04/26 12:19:59 ravndal -* neg. SQRT protection -* -* Revision 1.1.1.1 1995/10/24 10:19:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE STALIN.FOR -*COPY STALIN -* * -*=== stalin ===========================================================* -* * - SUBROUTINE STALIN - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* - PARAMETER (ZERO=0) -*----------------------------------------------------------------------* -* * -* STAbility LINe calculation: * -* * -* Created on 04 december 1992 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 04-dec-92 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -#include "geant321/isotop.inc" -* - DIMENSION ZNORM (260) -* +-------------------------------------------------------------------* -* | - DO 1000 IZ=1,100 - DO 500 J=1,2 - ASTLIN (J,IZ) = 0.D+00 - 500 CONTINUE - 1000 CONTINUE -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | - DO 2000 IA=1,260 - ZNORM (IA) = 0.D+00 - DO 1500 J=1,2 - ZSTLIN (J,IA) = 0.D+00 - 1500 CONTINUE - 2000 CONTINUE -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Loop on the Atomic Number - DO 3000 IZ=1,100 -* | +----------------------------------------------------------------* -* | | Loop on the stable isotopes - DO 2500 IS = ISONDX (1,IZ), ISONDX (2,IZ) - IA = ISOMNM (IS) - ASTLIN (1,IZ) = ASTLIN (1,IZ) + ABUISO (IS) * IA - ASTLIN (2,IZ) = ASTLIN (2,IZ) + ABUISO (IS) * IA**2 - ZNORM (IA) = ZNORM (IA) + ABUISO (IS) - ZSTLIN (1,IA) = ZSTLIN (1,IA) + ABUISO (IS) * IZ - ZSTLIN (2,IA) = ZSTLIN (2,IA) + ABUISO (IS) * IZ**2 - 2500 CONTINUE -* | | -* | +----------------------------------------------------------------* -* | Normalize and print A_stab versus Z data: - ASTLIN (2,IZ) = MAX ( SQRT ( - & MAX ( ASTLIN(2,IZ)-ASTLIN(1,IZ)**2,ZERO)), - & HLFHLF ) - 3000 CONTINUE -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Normalize and print Z_stab versus A data: - TMP10 = 1.D-10 - TMP03 = 0.3D+00 - DO 4000 IA=1,260 - ZSTLIN (1,IA) = ZSTLIN (1,IA) / MAX ( ZNORM (IA), TMP10 ) - ZSTLIN (2,IA) = ZSTLIN (2,IA) / MAX ( ZNORM (IA), TMP10 ) - ZSTLIN (2,IA) = MAX ( ZSTLIN (2,IA), ZSTLIN (1,IA)**2 ) - IF ( ZNORM (IA) .GT. ANGLGB ) - & ZSTLIN (2,IA) = MAX ( SQRT ( - & MAX ( ZSTLIN(2,IA)-ZSTLIN(1,IA)**2,ZERO)), - & TMP03 ) - 4000 CONTINUE -* | -* +-------------------------------------------------------------------* -* +-------------------------------------------------------------------* -* | Normalize and print Z_stab versus A data: - DO 5000 IA=1,260 - IF ( ZNORM (IA) .LE. ANGLGB ) THEN - DO 4200 JA = IA-1,1,-1 - IF ( ZNORM (JA) .GT. ANGLGB ) THEN - IA1 = JA - GO TO 4300 - END IF - 4200 CONTINUE - 4300 CONTINUE - DO 4400 JA = IA+1,260 - IF ( ZNORM (JA) .GT. ANGLGB ) THEN - IA2 = JA - GO TO 4500 - END IF - 4400 CONTINUE - IA2 = IA1 - IA1 = IA1 - 1 - 4500 CONTINUE - DIAIA1 = IA-IA1 - DIA2IA = IA2-IA1 - ZSTLIN (1,IA) = DIAIA1 / DIA2IA - & * ( ZSTLIN (1,IA2) - ZSTLIN (1,IA1) ) - & + ZSTLIN (1,IA1) - ZSTLIN (2,IA) = DIAIA1 / DIA2IA - & * ( ZSTLIN (2,IA2) - ZSTLIN (2,IA1) ) - & + ZSTLIN (2,IA1) - END IF - IZ = MIN ( 100, NINT (ZSTLIN(1,IA)) ) - ATOZ = IZ / ASTLIN (1,IZ) - ZSTLIN (2,IA) = MAX ( ZSTLIN (2,IA), ATOZ * ASTLIN (2,IZ) ) - 5000 CONTINUE -* | -* +-------------------------------------------------------------------* - RETURN - END diff --git a/StarVMC/geant3/fluka/tchoic.F b/StarVMC/geant3/fluka/tchoic.F deleted file mode 100644 index 0d9566ca45b..00000000000 --- a/StarVMC/geant3/fluka/tchoic.F +++ /dev/null @@ -1,95 +0,0 @@ -* -* $Id: tchoic.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: tchoic.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE TCHOIC.FOR -*COPY TCHOIC -* -*=== tchoic ===========================================================* -* - SUBROUTINE TCHOIC(T,P,PP,E,EE,I,II,N,AM1,AM2) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C **************************** -C TCHOIC CALCULATES A RANDOM VALUE -C FOR THE FOUR-MOMENTUM-TRANSFER T -C **************************** - COMMON /FKGAMR/ REDU,AMO,AMM(15 ) - COMMON/FKABLT/AM(110),GA(110),TAU(110),ICH(110) - *,IBAR(110),K1(110),K2(110) - COMMON/FKSLOP/SM(25),BBM(25),BBB(25) - REAL RNDM(1) - AMA=AM1 - AMB=AM2 - IF (I.GT.30.AND.II.GT.30) GO TO 1 - III=II - AM3=AM2 - IF (I.LE.30) GO TO 11 - III=I - AM3=AM1 - 11 CONTINUE - GO TO 10 - 1 CONTINUE - III=II - AM3=AM2 - IF (AMA.LE.AMB) GO TO 10 - III=I - AM3=AM1 - 10 CONTINUE - IB=IBAR(III) - AMA=AM3 - K=(AMA-0.75D0)/0.05D0 - IF (K-2.LT.0) K=1 - IF (K-26.GE.0) K=25 - IF (IB)21,22,21 - 22 BM=BBM(K) - GO TO 23 - 21 BM=BBB(K) - 23 CONTINUE -C NORMALIZATION - TMIN=-2.D0*(E*EE-P*PP)+AM(N)**2+AM1 **2 - TMAX=-2.D0*(E*EE+P*PP)+AM(N)**2+AM1 **2 - CALL GRNDM(RNDM,1) - VB = RNDM(1) - IF (VB.LT.0.2D0) BM=BM*0.1D0 - **0.5D0 - TMI=BM*TMIN - TMA=BM*TMAX - ETMA=0.D0 - IF (ABS(TMA).GT.120.D0) GO TO 100 - ETMA=EXP(TMA) - 100 CONTINUE - AN=(1.D0/BM)*(EXP(TMI)-ETMA) -C*** RANDOM CHOICE OF THE T - VALUE - CALL GRNDM(RNDM,1) - R = RNDM(1) - T=(1.D0/BM)*LOG(ETMA+R*AN*BM) - RETURN - END diff --git a/StarVMC/geant3/fluka/threpd.F b/StarVMC/geant3/fluka/threpd.F deleted file mode 100644 index 09f76fbf4fe..00000000000 --- a/StarVMC/geant3/fluka/threpd.F +++ /dev/null @@ -1,203 +0,0 @@ -* -* $Id: threpd.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: threpd.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE THREPD.FOR -*COPY THREPD -* -*=== threpd ===========================================================* -* - SUBROUTINE THREPD(UMO,ECM1,ECM2,ECM3,PCM1,PCM2,PCM3,COD1,COF1, - *SIF1,COD2,COF2,SIF2,COD3,COF3,SIF3,AM1,AM2,AM3) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* Threpd89: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* - DIMENSION F(5),XX(5) -C***THREE PARTICLE DECAY IN THE CM - SYSTEM - COMMON /FKGAMR/ REDU,AMO,AMM(15 ) - COMMON/FKDREI/UUMO,AAM1,AAM2,AAM3,S22,UMO2,AM11,AM22,AM33,S2SUP - *,S2SAP(2) - COMMON/FKPRUN/ISYS - REAL RNDM(2) - SAVE EPS - DATA EPS/1.D-16/ - UMOO=UMO+UMO -C***S1, S2, S3 ARE THE INVARIANT MASSES OF THE PARTICLES 1, 2, 3 -C***J. VON NEUMANN - RANDOM - SELECTION OF S2 -C***CALCULATION OF THE MAXIMUM OF THE S2 - DISTRIBUTION - UUMO=UMO - AAM1=AM1 - AAM2=AM2 - AAM3=AM3 - - GU=(AM2+AM3)**2 - GO=(UMO-AM1)**2 - UFAK=1.0000000000001D0 - IF (GU.GT.GO) UFAK=0.9999999999999D0 - OFAK=2.D0-UFAK - GU=GU*UFAK - GO=GO*OFAK - DS2=(GO-GU)/99.D0 - AM11=AM1*AM1 - AM22=AM2*AM2 - AM33=AM3*AM3 - UMO2=UMO*UMO - RHO2=0.D0 - S22=GU - DO 124 I=1,100 - S21=S22 - S22=GU+(I-1.D0)*DS2 - RHO1=RHO2 - RHO2=XLAMB(S22,UMO2,AM11)*XLAMB(S22,AM22,AM33)/(S22+EPS) - IF(RHO2.LT.RHO1) GO TO 125 - 124 CONTINUE - 125 S2SUP=(S22-S21)*.5D0+S21 - SUPRHO=XLAMB(S2SUP,UMO2,AM11)*XLAMB(S2SUP,AM22,AM33)/(S2SUP+EPS) - SUPRHO=SUPRHO*1.05D0 - XO=S21-DS2 - IF (GU.LT.GO.AND.XO.LT.GU) XO=GU - IF (GU.GT.GO.AND.XO.GT.GU) XO=GU - XX(1)=XO - XX(3)=S22 - X1=(XO+S22)*0.5D0 - XX(2)=X1 - F(3)=RHO2 - F(1)=XLAMB(XO,UMO2,AM11)*XLAMB(XO,AM22,AM33)/(XO+EPS) - F(2)=XLAMB(X1,UMO2,AM11)*XLAMB(X1,AM22,AM33)/(X1+EPS) - DO 126 I=1,16 - X4=(XX(1)+XX(2))*0.5D0 - X5=(XX(2)+XX(3))*0.5D0 - F(4)=XLAMB(X4,UMO2,AM11)*XLAMB(X4,AM22,AM33)/(X4+EPS) - F(5)=XLAMB(X5,UMO2,AM11)*XLAMB(X5,AM22,AM33)/(X5+EPS) - XX(4)=X4 - XX(5)=X5 - DO 128 II=1,5 - IA=II - DO 128 III=IA,5 - IF (F (II).GE.F (III)) GO TO 128 - FH=F(II) - F(II)=F(III) - F(III)=FH - FH=XX(II) - XX(II)=XX(III) - XX(III)=FH -128 CONTINUE - SUPRHO=F(1) - S2SUP=XX(1) - DO 129 II=1,3 - IA=II - DO 129 III=IA,3 - IF (XX(II).GE.XX(III)) GO TO 129 - FH=F(II) - F(II)=F(III) - F(III)=FH - FH=XX(II) - XX(II)=XX(III) - XX(III)=FH -129 CONTINUE -126 CONTINUE - AM23=(AM2+AM3)**2 - ITH=0 - REDU=2.D0 - 1 CONTINUE - ITH=ITH+1 - IF (ITH.GT.200) REDU=-9.D0 - IF (ITH.GT.200) GO TO 400 - CALL GRNDM(RNDM,2) - C=RNDM(1) - S2=AM23+C*((UMO-AM1)**2-AM23) - Y=RNDM(2) - Y=Y*SUPRHO - RHO=XLAMB(S2,UMO2,AM11)*XLAMB(S2,AM22,AM33)/S2 - IF(Y.GT.RHO) GO TO 1 -C***RANDOM SELECTION OF S3 AND CALCULATION OF S1 - CALL GRNDM(RNDM,1) - S1=RNDM(1) - S1=S1*RHO+AM11+AM22-(S2-UMO2+AM11)*(S2+AM22-AM33)/(2.D0*S2)- - &RHO*.5D0 - S3=UMO2+AM11+AM22+AM33-S1-S2 - ECM1=(UMO2+AM11-S2)/UMOO - ECM2=(UMO2+AM22-S3)/UMOO - ECM3=(UMO2+AM33-S1)/UMOO - PCM1=SQRT((ECM1+AM1)*(ECM1-AM1)) - PCM2=SQRT((ECM2+AM2)*(ECM2-AM2)) - PCM3=SQRT((ECM3+AM3)*(ECM3-AM3)) - CALL SFECFE(SFE,CFE) -C***TH IS THE ANGLE BETWEEN PARTICLES 1 AND 2 -C***TH1, TH2 ARE THE ANGLES BETWEEN PARTICLES 1, 2 AND THE DIRECTION OF - IF ((PCM1.LE.1.D-3).OR.(PCM2.LE.1.D-3)) GO TO 200 - COSTH=(ECM1*ECM2+0.5D0*(AM11+AM22-S1))/(PCM1*PCM2) - GO TO 300 - 200 CALL GRNDM(RNDM,1) - UW=RNDM(1) - COSTH=(UW-.5D0)*2.D0 - 300 CONTINUE - TMPONE = 0.9999999999999999D0 - IF(ABS(COSTH).GT.0.9999999999999999D0) - &COSTH=SIGN(TMPONE,COSTH) - IF (REDU.LT.1.D0) RETURN - COSTH2=(PCM3*PCM3+PCM2*PCM2-PCM1*PCM1)/(2.D0*PCM2*PCM3) - IF(ABS(COSTH2).GT.0.9999999999999999D0) - &COSTH2=SIGN(TMPONE,COSTH2) - SINTH2=SQRT(1.D0-COSTH2*COSTH2) - SINTH1=COSTH2*SQRT(1.D0-COSTH*COSTH)-COSTH*SINTH2 - COSTH1=COSTH*COSTH2+SINTH2*SQRT(1.D0-COSTH*COSTH) -C***RANDOM SELECTION OF THE SPHERICAL COORDINATES OF THE DIRECTION OF PA -C***CFE, SFE ARE COS AND SIN OF THE ROTATION ANGLE OF THE SYSTEM 1, 2 AR -C***THE DIRECTION OF PARTICLE 3 -C***CALCULATION OF THE SPHERICAL COORDINATES OF PARTICLES 1, 2 - CX11=-COSTH1 - CY11=SINTH1*CFE - CZ11=SINTH1*SFE - CX22=-COSTH2 - CY22=-SINTH2*CFE - CZ22=-SINTH2*SFE - CALL SFECFE(SIF3,COF3) - CALL GRNDM(RNDM,1) - COD3=RNDM(1) - COD3=2.D0*COD3-1.D0 - SID3=SQRT(1.D0-COD3*COD3) - 2 FORMAT(5F20.15) - COD1=CX11*COD3+CZ11*SID3 - IF((1.D0-COD1*COD1).LT.1.D-14)WRITE(ISYS,2)COD1,COF3,SID3, - &CX11,CZ11 - SID1=SQRT(1.D0-COD1*COD1) - COF1=(CX11*SID3*COF3-CY11*SIF3-CZ11*COD3*COF3)/SID1 - SIF1=(CX11*SID3*SIF3+CY11*COF3-CZ11*COD3*SIF3)/SID1 - COD2=CX22*COD3+CZ22*SID3 - SID2=SQRT(1.D0-COD2*COD2) - COF2=(CX22*SID3*COF3-CY22*SIF3-CZ22*COD3*COF3)/SID2 - SIF2=(CX22*SID3*SIF3+CY22*COF3-CZ22*COD3*SIF3)/SID2 - 400 RETURN - END diff --git a/StarVMC/geant3/fluka/trafo.F b/StarVMC/geant3/fluka/trafo.F deleted file mode 100644 index ec0efa5dc7d..00000000000 --- a/StarVMC/geant3/fluka/trafo.F +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: trafo.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: trafo.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE TRAFO.FOR -*COPY TRAFO -* -*=== trafo ============================================================* -* - SUBROUTINE TRAFO(GAM,BGAM,CX,CY,CZ,COD,COF,SIF,P,ECM, - 1PL,CXL,CYL,CZL,EL) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C LORENTZ TRANSFORMATION INTO THE LAB - SYSTEM - SID=SQRT(1.D0-COD*COD) - PLX=P*SID*COF - PLY=P*SID*SIF - PCMZ=P*COD - PLZ=GAM*PCMZ+BGAM*ECM - PL=SQRT(PLX*PLX+PLY*PLY+PLZ*PLZ) - EL=GAM*ECM+BGAM*PCMZ -C ROTATION INTO THE ORIGINAL DIRECTION - COZ=PLZ/PL - SIZ=SQRT(1.D0-COZ**2) - CALL TTRANS(CX,CY,CZ,COZ,SIZ,SIF,COF,CXL,CYL,CZL) - RETURN - END diff --git a/StarVMC/geant3/fluka/trahad.F b/StarVMC/geant3/fluka/trahad.F deleted file mode 100644 index 5103a6c77b7..00000000000 --- a/StarVMC/geant3/fluka/trahad.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: trahad.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: trahad.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE TRAHAD.FOR -*COPY TRAHAD -* -*=== trahad ===========================================================* -* - SUBROUTINE TRAHAD(N,NAUX,GAM,BGX,BGY,BGZ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C -C LORENTZ TRANSFORMATION OF N PARTICLES IN FINPAR TO BE -C STORED IN AUXPAR STARTING AT NAUX -C -C******************************************************************** -C -#include "geant321/hadpar.inc" -#include "geant321/auxpar.inc" - DO 1 I=1,N - J = NAUX + I - 1 - AMH(J) = AMA(I) - ICHH(J) = ICHA(I) - IBARH(J) = IBARA(I) - ANH(J) = ANA(I) - NREH(J) = NREA(I) - CALL ALTRA(GAM,BGX,BGY,BGZ,PXA(I),PYA(I),PZA(I),HEPA(I), - & PPA,PXH(J),PYH(J),PZH(J),HEPH(J)) - 1 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/trans.F b/StarVMC/geant3/fluka/trans.F deleted file mode 100644 index 14e26876570..00000000000 --- a/StarVMC/geant3/fluka/trans.F +++ /dev/null @@ -1,88 +0,0 @@ -* -* $Id: trans.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: trans.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE TRANS.FOR -*COPY TRANS -* FLUPDATE FORTRAN file -* These are corrected versions of TRANS and TTRANS which make the -* correct transformation even in the small-angle, backwards direction -* Correction installed 11.03.88 - SUBROUTINE TRANS (XO,YO,ZO,DE,SFE,CFE,X,Y,Z) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C VERSION BY J. RANFT -C LEIPZIG -C LAST CHANGE 12. APRIL 83 BY PERTTI AARNIO -C HELSINKI UNIVERSITY OF -C TECHNOLOGY, FINLAND -C -C -C THIS IS A SUBROUTINE OF FLUKA TO GIVE NEW DIRECTION COSINES -C -C INPUT VARIABLES: -C XO,YO,ZO = ORIGINAL DIRECTION COSINES -C DE = POLAR (THETA) ANGLE OF "SCATTERING" -C SFE,CFE = SINE AND COSINE OF THE AZIMUTHAL (PHI) ANGLE -C OF "SCATTERING" -C -C OUTPUT VARIABLES: -C X,Y,Z = NEW DIRECTION COSINES -C -C ROTATION OF COORDINATE SYSTEM (SEE CERN 64-47) -C -C DUE TO THE IMPLEMENTATION OF THE MULTIPLE COULOMB SCATTERING -C ALSO VERY SMALL ANGLES HAVE TO BE TREATED CORRECTLY. -C NOW SMALL ANGLE APPROXIMATION IS USED PRACTICALLY ONLY -C WHEN XO AND YO ARE EXACTLY 0. -C -C******************************************************************** -C -* - CDE=COS(DE) - SDE=SIN(DE) - A = XO**2 + YO**2 - IF ( A .LT. ANGLSQ ) THEN - X=SDE*CFE - Y=SDE*SFE -C Z=CDE CORRECTED AUGUST 88 PA - Z=CDE*ZO - ELSE - XI=SDE*CFE - YI=SDE*SFE - ZI=CDE - A =SQRT(A) - X=-YO*XI/A-ZO*XO*YI/A+XO*ZI - Y=XO*XI/A-ZO*YO*YI/A+YO*ZI - Z=A*YI+ZO*ZI - END IF - RETURN - END diff --git a/StarVMC/geant3/fluka/ttrans.F b/StarVMC/geant3/fluka/ttrans.F deleted file mode 100644 index a7f0bdfc348..00000000000 --- a/StarVMC/geant3/fluka/ttrans.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: ttrans.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: ttrans.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE TTRANS.FOR -*COPY TTRANS - SUBROUTINE TTRANS(XO,YO,ZO,CDE,SDE,SFE,CFE,X,Y,Z) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C******************************************************************** -C VERSION BY J. RANFT -C LEIPZIG -C -C THIS IS A SUBROUTINE OF FLUKA TO GIVE NEW DIRECTION COSINES -C -C INPUT VARIABLES: -C XO,YO,ZO = ORIGINAL DIRECTION COSINES -C CDE,SDE = COSINE AND SINE OF THE POLAR (THETA) -C ANGLE OF "SCATTERING" -C SDE = SINE OF THE POLAR (THETA) ANGLE OF "SCATTERING" -C SFE,CFE = SINE AND COSINE OF THE AZIMUTHAL (PHI) ANGLE -C OF "SCATTERING" -C -C OUTPUT VARIABLES: -C X,Y,Z = NEW DIRECTION COSINES -C -C ROTATION OF COORDINATE SYSTEM (SEE CERN 64-47 ) -C******************************************************************** -C -* -* Changed by A. Ferrari -* - A = XO**2 + YO**2 - IF ( A .LT. ANGLSQ ) THEN - X=SDE*CFE - Y=SDE*SFE -C Z=CDE CORRECTED AUGUST 88 PA - Z=CDE*ZO - ELSE - XI=SDE*CFE - YI=SDE*SFE - ZI=CDE - A=SQRT(A) - X=-YO*XI/A-ZO*XO*YI/A+XO*ZI - Y=XO*XI/A-ZO*YO*YI/A+YO*ZI - Z=A*YI+ZO*ZI - END IF - RETURN - END diff --git a/StarVMC/geant3/fluka/twopad.F b/StarVMC/geant3/fluka/twopad.F deleted file mode 100644 index ff1475f987b..00000000000 --- a/StarVMC/geant3/fluka/twopad.F +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: twopad.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: twopad.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE TWOPAD.FOR -*COPY TWOPAD -* -*=== twopad ===========================================================* -* - SUBROUTINE TWOPAD(UMO,ECM1,ECM2,PCM1,PCM2,COD1,COF1,SIF1, - *COD2,COF2,SIF2,AM1,AM2) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(1) -C*****TWO PARTICLE DECAY IN THE CM - SYSTEM - COMMON /FKGAMR/ REDU,AMO,AMM(15 ) - UMO2=UMO*UMO - AM11=AM1*AM1 - AM22=AM2*AM2 - ECM1=(UMO2+AM11-AM22)/(2.D0*UMO) - ECM2=UMO-ECM1 - WAU=ECM1**2-AM11 - IF (WAU.LT.0.D0) REDU=REDU-5.D0 - WAU=ABS(WAU) - PCM1=SQRT(WAU) - PCM2=PCM1 - CALL COSI(SIF1,COF1) - CALL GRNDM(RNDM,1) - COD1=RNDM(1) - COD1=2.D0*COD1-1.D0 - COD2=-COD1 - COF2=-COF1 - SIF2=-SIF1 - RETURN - END diff --git a/StarVMC/geant3/fluka/twopar.F b/StarVMC/geant3/fluka/twopar.F deleted file mode 100644 index 0adfcf6a9a1..00000000000 --- a/StarVMC/geant3/fluka/twopar.F +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: twopar.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: twopar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:19:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE TWOPAR.FOR -*COPY TWOPAR -* -*=== twopar ===========================================================* -* - SUBROUTINE TWOPAR(E1,E2,P1,P2,COD1,COD2,COF1,COF2,SIF1,SIF2, - 1IT1,IT2,UMOO,ECM,P,N,AM1,AM2) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -C ****************************************************** -C QUASI TWO PARTICLE PRODUCTION -C TWOPAR CALCULATES THE ENERGYS AND THE MOMENTA -C FOR THE CREATED PARTICLES OR RESONANCES IT1 AND IT2 -C IN THE CM - SYSTEM -C COD1,COD2,COF1,COF2,SIF1,SIF2 ARE THE ANGLES FOR -C SPHERICAL COORDINATES -C ****************************************************** - COMMON /FKGAMR/ REDU,AMO,AMM(15 ) - COMMON/FKABLT/AM(110),GA(110),TAU(110),ICH(110) - *,IBAR(110),K1(110),K2(110) - 9 CONTINUE - AMA=AM1 - AMB=AM2 - AMA2=AMA*AMA - AMB2=AMB*AMB - S=UMOO*UMOO - E1=(S-AMB2+AMA2)/(2.D0*UMOO) - E2=(S-AMA2+AMB2)/(2.D0*UMOO) - AMTE=MAX(E1*E1-AMA2,ZERZER) - 11 CONTINUE - AMTE=AMTE - P1=SQRT(AMTE) - P2=P1 -C / P2 / = / P1 / BUT OPPOSITE DIRECTIONS -C DETERMINATION OF THE ANGLES -C COS(THETA1)=COD1 COS(THETA2)=COD2 -C SIN(PHI1)=SIF1 SIN(PHI2)=SIF2 -C COS(PHI1)=COF1 COS(PHI2)=COF2 -C PHI IS UNIFORMLY DISTRIBUTED IN ( 0,2*PI ) - CALL COSI(COF1,SIF1) - COF2=-COF1 - SIF2=-SIF1 -C CALCULATION OF THETA1 - CALL TCHOIC(TR,P,P1,ECM,E1,IT1,IT2,N,AM1,AM2) - COD1=(TR-AMA2-AM(N)*AM(N)+2.D0*ECM*E1)/(2.D0*P*P1+1.D-18) - IF (ABS(COD1) .GT. 1.D+00) COD1 = SIGN (ONEONE,COD1) - COD2=-COD1 - RETURN - END diff --git a/StarVMC/geant3/fluka/verein.F b/StarVMC/geant3/fluka/verein.F deleted file mode 100644 index 8600d997712..00000000000 --- a/StarVMC/geant3/fluka/verein.F +++ /dev/null @@ -1,223 +0,0 @@ -* -* $Id: verein.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: verein.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE VEREIN.FOR -*COPY VEREIN -* -*=== verein ===========================================================* -* - SUBROUTINE VEREIN(IT,LA,LT,RER,REL,RPXR,RPYR,RPZR,RPXL,RPYL,RPZL, - *KR1R,KR2R,KR1L,KR2L,IHAD,LL,KFR1,KFR2,IMPS,IMVE,IB08,IA08, - *IB10,IA10,B3,AS,B8,IAR,KFA1,KFA2,KFA3,KFA4,IOPT) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* Verein89: slight revision by A. Ferrari * -*----------------------------------------------------------------------* -* -#include "geant321/finpar2.inc" -#include "geant321/part.inc" - DIMENSION KFR1(*),KFR2(*),IMPS(6,6) -* - PARAMETER (KMXJCM = 100) - DIMENSION IV(KMXJCM) - DIMENSION IMVE(6,6),IB08(6,21),IA08(6,21),IB10(6,21),IA10(6,21) - REAL RNDM(1) -C*****VEREIN COMBINES THE TWO JETS INTO A COMPLETE E+E- EVENT OR INTO -C*****A COMPLETE QQQ (AQ,AQ,AQ) EVENT -C*****RER,REL,RPXR,RPXL,RPYR,RPYL,RPZR,RPZL ARE REST JET ENERGIES AND -C*****MOMENTA , KR1R,KR1L,KR2R,KR2L ARE REST JET FLAVOURS -* -* R is for right, L for left! -* -* Initialize Iv -* - DATA IV /KMXJCM*0/ - IF(LT.EQ.0) GO TO 300 - WRITE(LUNOUT,202)IT - 202 FORMAT(1H0,I5,3H=IT) - 300 CONTINUE -C*****ONLY ONE RESONANCE WILL BE CREATED IF IT=0 - IF(IT.EQ.0) GO TO 100 - IF(KR2R.EQ.0.OR.KR1R.EQ.0)GO TO 10 - IF(KR1L.EQ.0.OR.KR2L.EQ.0)GO TO 10 -C*****RESTJET CONTAINS FOUR QUARKS,THEREFORE TWO MESONS WILL BE FORMED -* -* Reg is et equal to the sum of the left and right jet energy rest, -* the same for momenta -* - REG=RER+REL - RPXG=RPXR+RPXL - RPYG=RPYR+RPYL - RPZG=RPZR+RPZL - J=IT+1 - I=IT+2 - IT=J -* -* Hklass uses always only Iv(i) with i >= it, so from the previous -* instructions, it is always > than the original it , so the used -* Iv's should be always 0 also in the bamjet original array ????? -* - CALL HKLASS(IT,LT,LA,LL,KFR1,KFR2,KR1R,KR2R,KR1L,KR2L,IV,IMPS, - &IMVE,IB08,IA08,IB10,IA10,AS,B8,KFA1,KFA2,KFA3,KFA4,IOPT) - IHAD=IHAD+2 - IF(LT.EQ.1) WRITE(LUNOUT,301)IHAD - 301 FORMAT(1H0,13HHADRONANZAHL=,I5) - GO TO 20 -C*****RESTJET CONTAINS TWO OR THREE QUARKS,THEREFORE ONE MESON OR ONE -C*****BARYON OR ONE ANTIBARYON WILL BE FORMED - 10 CONTINUE - IAK=IT - CALL GRNDM(RNDM,1) - X=RNDM(1) - IF(X.LE.0.5D0.AND.IAR.NE.0) IAK=IAR - REG=RER+REL+HEF(IAK) - RPXG=RPXR+RPXL+PXF(IAK) - RPYG=RPYR+RPYL+PYF(IAK) - RPZG=RPZR+RPZL+PZF(IAK) - I=IT+1 - J=IAK - IT=I -* -* Hklass uses always only Iv(i) with i >= it, so from the previous -* instructions, it is always > than the original it , so the used -* Iv's should be always 0 also in the bamjet original array ????? -* - CALL HKLASS(IT,LT,LA,LL,KFR1,KFR2,KR1R,KR2R,KR1L,KR2L,IV,IMPS, - &IMVE,IB08,IA08,IB10,IA10,AS,B8,KFA1,KFA2,KFA3,KFA4,IOPT) -* Hp1 is not used, also Hp2 !!! -* HP2=HP1 - IHAD=IHAD+1 - IF(LT.EQ.1) WRITE(LUNOUT,301)IHAD - 20 CONTINUE - RPG=SQRT(RPXG**2+RPYG**2+RPZG**2) - IF(RPG.GT.REG) LA=3 - IF(LA.EQ.3.AND.LT.GT.0) WRITE(LUNOUT,71) - 71 FORMAT(2X,'REST JET MOMENTUM IS GREATER THAN REST JET ENERGY') - IF(LA.EQ.3) RETURN - RMG=SQRT((REG-RPG)*(REG+RPG)) - HM1=AMF(J) - HM2=AMF(I) - IF(RMG.LT.HM1+HM2) LA=3 - IF(LA.EQ.3.AND.LT.GT.0) WRITE(LUNOUT,71) - IF(LA.EQ.3) RETURN - IF(LT.EQ.0) GO TO 30 - WRITE(LUNOUT,60)REG,RMG,RPG,HM1,HM2,J,I - 60 FORMAT(1H0,19HEG,MG,PG,M1,M2,J,I=,5F8.4,2I3) -C LORENZ PARAMETERS - 30 CONTINUE - GAA=REG/RMG - GABE=RPG/RMG -C DECAY INTO 2 HADRONS IN THE CMS OF THE REMAINDER - HE1=(RMG**2+HM1**2-HM2**2)/(2.D0*RMG) - HE2=RMG-HE1 -* Hp1 is not used ! -* HP1=SQRT(HE1**2-HM1**2) -C SAMPLES THE MOMENTUM DIRECTIONS OF THE LAST PARTICLES - HE=HE1 - HMA=HM1 - CALL FKIMPU(HE,HMA,HPS,HPX,HPY,HPZ,LT,LL,B3) - HP1X=HPX - HP1Y=HPY - HP1Z=HPZ - HP2X=-HP1X - HP2Y=-HP1Y - IF (IOPT.EQ.4.AND.HM2.GT.HM1) GO TO 999 - HP1Z=-HPZ - HP2Z=HPZ - 999 CONTINUE - HP2Z=-HP1Z - IF(RPG.EQ.0.D0)GO TO 80 -C ROTATION BACK TO THE CMS* - HEX=HE1*GAA+HP1Z*GABE - HEY=HE2*GAA+HP2Z*GABE - HP1Z=HE1*GABE+HP1Z*GAA - HP2Z=HE2*GABE+HP2Z*GAA - HE1=HEX - HE2=HEY -C ROTATION INTO THE CMS OF THE E+ E- COLLISION - X=HP1X - Y=HP1Y - Z=HP1Z - COTE=RPZG/RPG - SITE=SQRT((1.D0-COTE)*(1.D0+COTE)) - IF(SITE.EQ.0.D0) GO TO 11 - COV=RPXG/(RPG*SITE) - SIV=RPYG/(RPG*SITE) - GO TO 12 - 11 CONTINUE - SIV=1.D0 - COV=0.D0 - 12 CONTINUE - COPS=-SIV - SIPS=COV - CALL DRELAB(X,Y,Z,COTE,SITE,COPS,SIPS) - HP1X=X - HP1Y=Y - HP1Z=Z - X=HP2X - Y=HP2Y - Z=HP2Z - CALL DRELAB(X,Y,Z,COTE,SITE,COPS,SIPS) - HP2X=X - HP2Y=Y - HP2Z=Z - 80 CONTINUE - HEF(J)=HE1 - PXF(J)=HP1X - PYF(J)=HP1Y - PZF(J)=HP1Z - HEF(I)=HE2 - PXF(I)=HP2X - PYF(I)=HP2Y - PZF(I)=HP2Z - IF(LT.EQ.0)GO TO 13 - WRITE(LUNOUT,50)HEF(J),PXF(J),PYF(J),PZF(J) - WRITE(LUNOUT,50)HEF(I),PXF(I),PYF(I),PZF(I) - 50 FORMAT(1H0,11HE,PX,PY,PZ=,4F8.4) - 13 CONTINUE - GO TO 200 - 100 CONTINUE -C*****ONLY ONE RESONANCE WILL BE CREATED IF IT=0 - IF(LT.EQ.0)GO TO 14 - WRITE(LUNOUT,70) - 70 FORMAT(1H0,'CUT OFF OF THE LEFT AND RIGHT JET BEFOR THE FIRST - *DECAY STEP',/,'IF ALLOWED ONLY ONE RESONANCE COULD BE CREATED') - 14 CONTINUE - IHAD=1 -* -* La = 2 means resonance creation -* - LA=2 - 200 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/fluka/vertex.F b/StarVMC/geant3/fluka/vertex.F deleted file mode 100644 index 843d2cd2fd1..00000000000 --- a/StarVMC/geant3/fluka/vertex.F +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: vertex.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: vertex.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLDNAME) -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*=== vertex ===========================================================* -* - SUBROUTINE VERTEX(IT,LT,LL,KFA,E0,IV,RE,KFR1,KFR2,AME,IOPT) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - REAL RNDM(2) -C CHOICE OF THE VERTEX - DIMENSION RE(*),KFR1(*),KFR2(*),IV(*) -C WAEHLT PASSENDEN VERTEX IV AUS - IF(LT.EQ.1) WRITE(LUNOUT,288)IT,LT,LL,KFA,E0,AME,IOPT - 288 FORMAT (4I5,2E12.4,I5,' VERTEX IT,LT,LL,KFA,E0,AME') - PDB=0.8D0 - IVA=1 - I=IT - J=IT-1 - IVX=IVA - IF(IOPT.EQ.2) IVX=2 - IF(IOPT.EQ.4.AND.KFA.GT.6.AND.LL.EQ.0) IVX=2 - IF(IOPT.EQ.4.AND.KFA.LE.6.AND.LL.EQ.1) IVX=2 - IF(IOPT.EQ.5) IVX=2 - IF(I.GT.1)IVX=IV(J) - IF(LL.EQ.1.AND.I.GT.1)IVX=IV(J)-5 - CALL GRNDM(RNDM,2) - Z=RNDM(1) - Y=RNDM(2) - GO TO (1,2,1,2,2),IVX - 1 IVX=1 - IF(Z.GE.AME) IVX=2 - GO TO 20 - 2 IVX=3 - IF(Z.GT.PDB) IVX=4 - IF(Z.GT.PDB.AND.Y.LE.0.5D0) IVX=5 - GO TO 20 - 20 CONTINUE - IF(LL.EQ.1)IVX=IVX+5 - IV(I)=IVX - IF(LT.EQ.0)GO TO 60 -C AUSDRUCKEN - IF(I.EQ.1)GO TO 30 - WRITE(LUNOUT,50)IV(J),IV(I),LL - GO TO 40 - 30 WRITE(LUNOUT,50)IVA,IV(I),LL - 40 CONTINUE - 50 FORMAT(1H0,15HIV(J),IV(I),LL=,3I5) - 60 CONTINUE - RETURN - END -#else - SUBROUTINE VERTEX_DUMMY - END -#endif diff --git a/StarVMC/geant3/fluka/xlamb.F b/StarVMC/geant3/fluka/xlamb.F deleted file mode 100644 index 81473706900..00000000000 --- a/StarVMC/geant3/fluka/xlamb.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: xlamb.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: xlamb.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*$ CREATE XLAMB.FOR -*COPY XLAMB -* -*=== xlamb ============================================================* -* - FUNCTION XLAMB(X,Y,Z) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" - COMMON /FKIDGB/ IDGB,IDG - COMMON /FKGAMR/ REDU,AMO,AMM(15 ) - COMMON/FKDREI/TEST(12) - COMMON/FKPRUN/ISYS - YZ=Y-Z - XLAMB=X*X-2.D0*X*(Y+Z)+YZ*YZ - XLAM =XLAMB - IF (IDGB.LE.0) GO TO 11 - IF(XLAMB.GT.1.D-12) GOTO 11 - WRITE(ISYS,12) - WRITE(ISYS,10) XLAM,X,Y,Z,TEST - WRITE(ISYS,13) - 12 FORMAT(/,10X,12H XLAMB PRINT) - 13 FORMAT(10X,60(1H*)) - 10 FORMAT(4E20.8,5HXLAMB,/,12F10.5) - 11 CONTINUE - IF(XLAMB.LE.0.D0)XLAMB=ABS(XLAMB) - XLAMB=SQRT(XLAMB) - RETURN - END diff --git a/StarVMC/geant3/fluka/xseneu.F b/StarVMC/geant3/fluka/xseneu.F deleted file mode 100644 index adf3284c509..00000000000 --- a/StarVMC/geant3/fluka/xseneu.F +++ /dev/null @@ -1,68 +0,0 @@ -* -* $Id: xseneu.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: xseneu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:05 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE XSENEU.FOR -*COPY XSENEU -* -*=== xseneu ===========================================================* -* - FUNCTION XSENEU ( E, ZTAR, ATAR ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 20 september 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 20-sep-91 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -#include "geant321/xsepar.inc" -* - IZ = NINT ( ZTAR ) - IF ( E .GT. 0.1D+00 ) THEN - EMEV = E * 1.D+03 - XSENEU = SITSAO ( EMEV, IZ, ATAR ) - ELSE IF ( E .GT. 0.012D+00 ) THEN - X = 1.D+01 * E - XSENEU = AANXSE (IZ) * ( X - ZZNXSE (IZ) ) / X * ( 1.D+00 - & + BBNXSE (IZ) * X / ( 1.D+00 + (CCNXSE(IZ)*X)**2 ) - & + DDNXSE (IZ) * X * X / ( 1.D+00 + (EENXSE(IZ)*X)**4 )) - ELSE - XSENEU = 0.D+00 - END IF - XSENEU = MAX ( XSENEU, ZERZER ) -*=== End of function Xseneu ===========================================* - RETURN - END diff --git a/StarVMC/geant3/fluka/xsepro.F b/StarVMC/geant3/fluka/xsepro.F deleted file mode 100644 index 29389de4ce2..00000000000 --- a/StarVMC/geant3/fluka/xsepro.F +++ /dev/null @@ -1,72 +0,0 @@ -* -* $Id: xsepro.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: xsepro.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:05 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE XSEPRO.FOR -*COPY XSEPRO -* -*=== xsepro ===========================================================* -* - FUNCTION XSEPRO ( E, ZTAR, ATAR ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -* * -* Created on 20 september 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 20-sep-91 by Alfredo Ferrari * -* * -* * -*----------------------------------------------------------------------* -* -#include "geant321/xsepar.inc" - COMMON / FKNEGX / XSENEG -* - IZ = NINT ( ZTAR ) - IF ( E .GT. 0.1D+00 ) THEN - EMEV = E * 1.D+03 - XSEPRO = SITSAO ( EMEV, IZ, ATAR ) - ELSE - X = 1.D+01 * E - X2 = X * X - XSEPRO = AAPXSE (IZ) * ( X - ZZPXSE (IZ) ) / X * ( 1.D+00 - & + BBPXSE (IZ) * X + CCPXSE (IZ) * X2 + DDPXSE (IZ) - & * X * X2 + EEPXSE (IZ) * X2 * X2 + FFPXSE (IZ) * X2 - & * X * X2 ) - IF ( XSEPRO .LT. 0.D+00 ) THEN - XSENEG = XSEPRO - XSEPRO = 0.D+00 - END IF - END IF -*=== End of function XSEPRO ===========================================* - RETURN - END diff --git a/StarVMC/geant3/fluka/zeroin.F b/StarVMC/geant3/fluka/zeroin.F deleted file mode 100644 index b92e25a91da..00000000000 --- a/StarVMC/geant3/fluka/zeroin.F +++ /dev/null @@ -1,159 +0,0 @@ -* -* $Id: zeroin.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: zeroin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLDNAME) -*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani -*-- Author : -*=== zeroin ===========================================================* -* - SUBROUTINE ZEROIN - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*======================================================================* -* * -* Created by Alfredo Ferrari on 11 july 1990 INFN - Milan * -* * -* Last change on 23-apr-93 by Alfredo Ferrari * -* * -* This routine zeroes a few arrays, and initialize some data * -* * -*======================================================================* -* -#include "geant321/paprop.inc" -#include "geant321/part2.inc" -* -* +-------------------------------------------------------------------* -* | Set the "effective" masses for particles - DO 8000 I = 1, IDMAX8 -* | +----------------------------------------------------------------* -* | | Baryons: "effective" mass = actual one - baryon -* | | number x proton mass (final state of any -* | | baryon) - IF ( IIBAR (I) .GT. 0 ) THEN - AAMDSC (I) = AAM (I) - IIBAR (I) * AAM (1) -* | | -* | +----------------------------------------------------------------* -* | | Antibaryons: "effective mass" = actual mass + -* | | |baryon number| x proton mass - ELSE IF ( IIBAR (I) .LT. 0 ) THEN - AAMDSC (I) = AAM (I) - IIBAR (I) * AAM (1) -* | | -* | +----------------------------------------------------------------* -* | | Mesons: "effective" mass = actual mass - ELSE - AAMDSC (I) = AAM (I) - END IF -* | | -* | +----------------------------------------------------------------* - 8000 CONTINUE -* | -* +-------------------------------------------------------------------* -* Electron: "effective" mass = 0 - AAMDSC (3) = ZERZER -* Positron: "effective" mass = 2 x mass - AAMDSC (4) = 2.D+00 * AAM (4) -* Neutron: "effective" mass = 0 (it should be taken into account the -* neutrino energy when decaying) - AAMDSC (8) = ZERZER -* Muon+: "effective" mass = muon mass + positron mass - AAMDSC (10) = AAM (10) + AAM (4) -* Muon-: "effective" mass = muon mass - electron mass -* (final stable state) - AAMDSC (11) = AAM (11) - AAM (3) -* Tau+: "effective" mass = Tau mass + positron mass - AAMDSC (131) = AAM (131) + AAM (4) -* Tau-: "effective" mass = Tau mass - electron mass -* (final stable state) - AAMDSC (132) = AAM (132) - AAM (3) -* +-------------------------------------------------------------------* -* | Set the "effective" masses for particles in Paprop - DO 8500 I = 1, NALLWP - KP = IPTOKP (I) -* | +----------------------------------------------------------------* -* | | - IF ( KP .GT. 0 ) THEN - AMDISC (I) = AAMDSC (KP) - AM (I) = AAM (KP) - ICHRGE (I) = IICH (KP) - THALF (I) = TAU (KP) -* | | -* | +----------------------------------------------------------------* -* | | - ELSE IF ( I .NE. 30 ) THEN - AMDISC (I) = ZERZER - AM (I) = ZERZER - ICHRGE (I) = 0 - THALF (I) = ZERZER -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - AMDISC (I) = AAMDSC (1) - AM (I) = AAM (1) - ICHRGE (I) = IICH (1) - THALF (I) = TAU (1) - END IF -* | | -* | +----------------------------------------------------------------* -* | +----------------------------------------------------------------* -* | | Set the particle spin (in 1/2 units) -* | | If the particle is a hadron : -* | | mesons --> 0 spin -* | | baryons,antibaryons --> 1/2 spin -* | | otherwise : -* | | e-/+,mu-/+,vu,vubar --> 1/2 spin -* | | photons --> 1 spin - IF ( LHADRO (I) .AND. IIBAR (KP) .EQ. 0 ) THEN - JSPINP (I) = 0 -* | | -* | +----------------------------------------------------------------* -* | | - ELSE - IF ( I .EQ. 7 ) THEN - JSPINP (I) = 2 - ELSE - JSPINP (I) = 1 - END IF - END IF -* | | -* | +----------------------------------------------------------------* - 8500 CONTINUE -* | -* +-------------------------------------------------------------------* -*=== end of subroutine zeroin =========================================* - RETURN - END -#else - SUBROUTINE ZEROIN_DUMMY - END -#endif diff --git a/StarVMC/geant3/gbase/gbase.doc b/StarVMC/geant3/gbase/gbase.doc deleted file mode 100644 index 808acfb0764..00000000000 --- a/StarVMC/geant3/gbase/gbase.doc +++ /dev/null @@ -1,1165 +0,0 @@ -* -* $Id: gbase.doc,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: gbase.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_DOC) -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : -* -************************************************************************ -* * -* * -* Introduction to GEANT3 * -* ---------------------- * -* * -* * -* GEANT3 APPLICATIONS * -* * -* The principal applications of GEANT3 are: * -* * -* - The tracking of particles through an experimental setup for * -* acceptance studies or simulation of detector response, and * -* - the graphical representation of the setup and of the particle * -* trajectories. * -* * -* It is of course desirable and very instructive to combine the two * -* interactively since the observation of what happens to a particle * -* during the tracking may underline the weaknesses of the setup and * -* makes the debugging easier. In view of these applications, the * -* GEANT3 system allows: * -* * -* - to describe an experimental setup in a rather efficient and * -* simple way. The setup is represented by a structure of * -* geometrical VOLUMEs. Each volume is given a 'MEDIUM' number by * -* the user. Different volumes may have the same medium number * -* [GEOM]. A medium is defined by a set of parameters, the * -* so-called TRACKING MEDIUM parameters, which include reference to * -* the MATERIAL filling the volume [CONS]. * -* - to generate simulated events from standard Monte Carlo * -* generators [KINE]. * -* - to control the transport of particles through the various * -* regions of the setup, taking into account the geometrical volume * -* boundaries and all physical effects due to the nature of the * -* particles themselves, to their interactions with the matter and * -* to the magnetic field [TRAK, PHYS]. * -* - to record the elements of the particle trajectories and the * -* response from the sensitive detectors [HITS], * -* - to visualize either interactively or in batch the detectors and * -* the particle trajectories [DRAW, XINT]. * -* * -* Part of the subroutines available in GEANT3 are integrated into * -* program segments which perform these tasks. * -* The program segments may contain 'dummy' and 'default' user * -* subroutines called whenever application dependent actions are * -* expected. * -* Other subroutines provide tools either to perform simple * -* functions (control print, debug, I/O, etc.) or to implement the * -* operations required for most of the applications (description of * -* the geometrical setup, handling of detector responses,etc.). * -* It is the responsibility of the user to assemble the appropriate * -* program segments and tools into an executable program, to code the * -* relevant user subroutines, to provide the data describing the * -* experimental environment and to submit the appropriate data cards * -* which control the execution of the program. The section BASE of * -* the User's Guide gives the information necessary to understand how * -* to do this job. * -* * -* Note: as a general convention the names of the dummy or default * -* user subroutines have GU or UG as first two letters and are * -* printed in bold characters. * -* * -* EVENT SIMULATION FRAMEWORK * -* * -* The framework for event simulation is described in the following * -* paragraphs to familiarize the reader with the areas where user * -* interventions are expected. * -* At the same time, the GEANT3 data structures are introduced. * -* This last point is important as the coding to be provided by the * -* user often consists of filling data structures, or extracting * -* information from them, or saving them on output, making use of * -* standard routines available in the system. * -* A main program has to be provided by the user [BASE 100]. It * -* allocates the dynamic memory for ZEBRA and HBOOK and gives control * -* to the three phases of the run: * -* * -* - Initialisation * -* - Event processing * -* - Termination. * -* * -* INITIALISATION * -* * -* The initialisation phase is under the control of the user [BASE * -* 100]. It consists of the following steps, most of them performed * -* via calls to standard GEANT3 subroutines: * -* * -* - GINIT, to initialize the GEANT3 common blocks with default * -* values which the user should be aware of [BASE 030, 110]. * -* - GFFGO to read 'free format' data cards which can override some * -* of the values defined in GINIT the default options [BASE 040, * -* 110]. * -* - GZINIT to initialize the dynamic core divisions, the link areas * -* and the data structure JRUNG [BASE 110]. * -* - GDINIT to initialize the drawing package [DRAW]. * -* - GPART and auxiliaries, to generate the data structure JPART * -* describing the standard particle properties [CONS]. * -* - GMATE and auxiliaries, to generate the data structure JMATE * -* describing the characteristics of the most commonly used * -* MATERIALs [CONS]. * -* - to define the geometry of the different components of the * -* experimental setup [GEOM] and the tracking medium parameters * -* [CONS,TRAK], and to generate the corresponding data structures * -* JROTM, JVOLUM and JTMED. * -* - to specify which elements of the geometrical setup should * -* be considered as 'sensitive detectors', giving a 'response' when * -* hit by a particle [HITS]. * -* - GGCLOS to close the Geometry package (mandatory). * -* - GBHSTA to book standard GEANT3 histograms as required by the * -* user with the data card HSTA [BASE 040, 110]. * -* - GPHYSI to compute energy loss and cross section tables and to * -* store them in the data structure JMATE [CONS,PHYS]. * -* * -* EVENT PROCESSING * -* * -* The processing phase is triggered by a call to the subroutine GRUN * -* which, for each event to be processed, gives control to the * -* subroutines: * -* * -* - GTRIGI, to initialize the event processing and to create the * -* Header bank JHEAD. * -* - GTRIG to process the event. * -* - GTRIGC to clean up the event division * -* * -* and checks that enough time is left for the next event [BASE 200]. * -* The main steps of GTRIG consist of calls to the following user * -* routines: * -* * -* - GUKINE generates the data structures JVERTX and JKINE describing * -* the kinematics of the current event on input [KINE], or reads * -* them [IOPA]. * -* - GUTREV (calls GTREVE) controls the tracking for the whole event * -* [TRAK]. Each particle is tracked in turn and when a sensitive * -* detector is hit, the user may store any useful information in * -* the data structure JHITS [HITS]. Before tracking the next * -* particle, any secondary products generated by the current one, * -* and stored by the user in the temporary data structure JSTAK, * -* are processed in the same way. * -* Simultaneously, the data structure JXYZ, containing the * -* coordinates of space points along the tracks for the whole * -* event, can be filled by the user [TRAK]. * -* - GUDIGI simulates the detector responses for the whole event, * -* making use of the information previously recorded in the data * -* structure JHITS, and stores the results in the data structure * -* JDIGI [HITS]. * -* - GUOUT outputs the relevant data structures for the current event * -* [IOPA]. * -* * -* Other user routines called during the tracking phase triggered by * -* GTREVE should be mentioned for completeness: * -* * -* - The hadronic processes activated by default for the tracking of * -* hadrons in GEANT3 are described by the program GHEISHA (file * -* GEANH). In the subroutines GUPHAD and GUHADR [TRAK] the user * -* may select, instead of GHEISHA, the program FLUKA (file GEANF). * -* - After each tracking step of a given track in a given medium, * -* control is given to the subroutine GUSTEP. From the information * -* available in common blocks the user is able to take the * -* appropriate action, such as storing a hit or transferring a * -* secondary product either in the stack JSTAK or in the events * -* structure JVERTX/JKINE. * -* - The subroutine GUSWIM is called by various tracking routines to * -* select the appropriate code for transport of the particle over * -* the given tracking step. A default version is provided in the * -* library for this routine which in normal cases need not to be * -* provided by the user. * -* - The magnetic field, unless constant with no X- or Y-component, * -* has to be returned by the user subroutine GUFLD. * -* * -* TERMINATION * -* * -* The termination phase is under the control of the user [BASE * -* 300]. For trivial applications it may simply consist of a call to * -* the subroutine GLAST which computes and prints some statistical * -* information (time per event, use of dynamic memory, etc.). * -* * -* * -************************************************************************ -* * -* * -* Simplified Program Flow Chart * -* ----------------------------- * -* * -* MAIN(user) * -* | * -* |-GZEBRA initialisation of ZEBRA system, dynamic core * -* | allocation * -* |-UGINIT (user) * -* || * -* ||- GINIT initialisation of GEANT3 variables * -* ||- GFFGO interpretation of data cards * -* ||- GZINIT initialisation of ZEBRA core divisions and link * -* || areas * -* ||- GPART creation of the 'particle' data structure JPART * -* ||- GMATE creation of the 'material' data structure JMATE * -* ||- description of the geometrical setup, of the * -* || sensitive detectors and creation of data structures * -* || JVOLUM, JTMED, JROTM, JSETS * -* ||- GGCLOS close Geometry package * -* ||- GPHYSI preparation of cross-sections and energy loss tables * -* | for all used materials * -* | * -* |-GRUN (loop over events) * -* || * -* ||- GTRIGI initialisation for event processing * -* ||- GTRIG event processing * -* || | * -* || |- GUKINE (user) generation (or input) of event initial * -* || | kinematics * -* || |- GUTREV (user) * -* || | |- GTREVE (simplified flow for sequential tracking) * -* || | |- GSSTAK store primary tracks in stack * -* || | |- Loop over tracks * -* || | |- GLTRAC prepare commons for tracking * -* || | |- GMEDIA find current volume /tracking medium * -* || | |- GUTRAK (user) * -* || | |- GTRACK * -* || | |- GTGAMA/GTELEC/... tracking of particle * -* || | according to type * -* || | |- compute physical step size * -* || | |- GTNEXT compute geometrical step size * -* || | |- propagate (GUSWIM..) * -* || | |- test change of volume (GINVOL) * -* || | |- GUSTEP (user) recording of hits in data * -* || | structure JHITS and of space points * -* || | in structure JXYZ * -* || |- GUDIGI computation of digitisations and recording in * -* || | structure JDIGI * -* || |- GUOUT output of current event * -* || * -* ||- GTRIGC clearing of memory for next event * -* | * -* |-UGLAST (user) * -* || * -* ||- GLAST standard GEANT3 termination. * -* | * -* | * -* STOP * -* * -* * -************************************************************************ -************************************************************************ -* * -* Overview of COMMON Blocks * -* ------------------------- * -* * -* * -* INTRODUCTION * -* * -* The communication between program segments of the GEANT3 system is * -* ensured by data structures and by 'long range' variables in common * -* blocks. In addition,within the program segments, the subroutines * -* communicate with each other via explicit arguments and via the * -* common block variables. * -* The data structures are described in separate sections. Here, the * -* main features of the common blocks used in GEANT3 are summarized, * -* with special mention of the variables initialized in GINIT and of * -* the possibility to override them via data cards [BASE040]. * -* The labelled common blocks are accessible via Patchy/CMZ * -* sequences identified by the name of the COMMON. They are defined * -* in the Patch GCDES. * -* * -* Note: Unless otherwise specified the long range variables are * -* initialized in GINIT. When not zero, default values are * -* quoted between brackets. If the value may be modified via a * -* standard data card the card keyword is also given between * -* brackets. * -* * -* DYNAMIC CORE * -* * -* The GEANT3 data structures are stored in the common /GCBANK/ * -* accessible via the following Patchy sequence. * -* * -*+KEEP,GCBANK * -* PARAMETER (KWBANK=69000,KWWORK=5200) * -* COMMON/GCBANK/NZEBRA,GVERSN,ZVERSN,IXSTOR,IXDIV,IXCONS,FENDQ(16) * -* + ,LMAIN,LR1,WS(KWBANK) * -* DIMENSION IQ(2),Q(2),LQ(8000),IWS(2) * -* EQUIVALENCE (Q(1),IQ(1),LQ(9)),(LQ(1),LMAIN),(IWS(1),WS(1)) * -* EQUIVALENCE (JCG,JGSTAT) * -* COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART * -* + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX * -* + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT * -* * -* The /GCLINK/ variables are pointers to the GEANT3 data structures. * -* They belong to a permanent area declared in GZINIT. The common * -* /GCLINK/ alone may be accessed through the sequence GCLINK. * -* * -* OTHER LABELLED COMMON BLOCKS * -* * -* COMMON/GCCUTS/CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM) * -* + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS(5) * -* C * -* CUTGAM Kinetic energy cut for gammas (0.001, CUTS) * -* CUTELE Kinetic energy cut for electrons (0.001, CUTS) * -* CUTHAD Kinetic energy cut for hadrons (0.01, CUTS) * -* CUTNEU Kinetic energy cut for neutral hadrons (0.01, CUTS) * -* CUTMUO Kinetic energy cut for muons (0.01, CUTS) * -* BCUTE Kinetic energy cut for electron Brems. (CUTGAM, CUTS) * -* BCUTM Kinetic energy cut for muon Brems. (CUTGAM, CUTS) * -* DCUTE Kinetic energy cut for electron delta-rays (CUTELE, CUTS) * -* DCUTM Kinetic energy cut for muon delta-rays (CUTELE, CUTS) * -* PPCUTM Kinetic energy cut for e+e- pair production by muons * -* (.01, CUTS) * -* TOFMAX Tracking cut on time of flight integrated from primary * -* interaction time (1.E+10, CUTS) * -* GCUTS For user applications (CUTS) * -* * -* Note: The cuts BCUTE, BCUTM and DCUTE, DCUTM are given, in GPHYSI, * -* the respective default values CUTGAM and CUTELE. Only * -* experienced users should make use of the facility offered by * -* the data card CUTS to change BCUTE, DCUTE, BCUTM and DCUTM. * -* * -* COMMON /GCDRAW/ ..... * -* see GEANG Pam file * -* * -* COMMON/GCFLAG/IDEBUG,IDEMIN,IDEMAX,ITEST,IDRUN,IDEVT,IEORUN * -* + ,IEOTRI,IEVENT,ISWIT(10),IFINIT(20),NEVENT,NRNDM(2) * -* COMMON/GCFLAX/BATCH, NOLOG * -* LOGICAL BATCH, NOLOG * -* C * -* IDEBUG Flag set equal to 1 to activate debug if IEVENT (below) * -* IDEMIN is greater or equal to IDEMIN * -* IDEMAX and less or equal to IDEMAX (DEBU) * -* ITEST Flag to request printing of IEVENT, IDEVT and NRNDM * -* (below) every ITEST events (DEBU) * -* IDRUN Current user run number (1, RUN) * -* IDEVT Current user event number (RUN) * -* IEORUN Flag to terminate current run if non zero * -* IEOTRI Flag to abort current event if non zero * -* IEVENT Current event sequence number (1) * -* ISWIT Flags reserved for user in relation to debug (SWIT) * -* IFINIT System flags to check initialisation of GEANT routines * -* NEVENT Number of events to be processed (10000000,TRIG) * -* NRNDM Initial value of random number seeds NRNDM(1), * -* NRNDM(2). If NRNDM(2) is 0, the independent sequence * -* NRNDM(1) is used. If NRNDM(1) is 0, the default sequence * -* is used. (9876, 54321, RNDM) * -* BATCH Flag set to .TRUE. if the program is running in * -* batch. * -* NOLOG Flag set to .TRUE. if the no logon file has been * -* requested. * -* * -* COMMON/GCJLOC/NJLOC(2),JTM,JMA,JLOSS,JPROB,JMIXT,JPHOT,JANNI * -* + ,JCOMP,JBREM,JPAIR,JDRAY,JPFIS,JMUNU,JRAYL * -* + ,JMULOF,JCOEF,JRANG * -* C * -* For relocation of local pointers. Self-explanatory [CONS 199]. * -* * -* COMMON/GCKINE/IKINE,PKINE(10),ITRA,ISTAK,IVERT,IPART,ITRTYP * -* + ,NAPART(5),AMASS,CHARGE,TLIFE,VERT(3),PVERT(4),IPAOLD * -* C * -* IKINE User flag(0, KINE) * -* PKINE User array(1E10, KINE) * -* ITRA Current track number * -* ISTAK Current stack-track number * -* IVERT Current vertex number * -* IPART Current particle number * -* ITRTYP Tracking type of current particle * -* NAPART Name of current particle * -* AMASS Mass of current particle * -* CHARGE Charge of current particle * -* TLIFE Life-time of current particle * -* VERT Coordinates of origin vertex for current track * -* PVERT Track kinematics at origin vertex (PVERT(4) no longer * -* used) * -* IPAOLD Particle number of the previous track. * -* * -* INTEGER MXGKIN * -* PARAMETER (MXGKIN=100) * -* COMMON/GCKING/KCASE,NGKINE,GKIN(5,MXGKIN), * -* + TOFD(MXGKIN),IFLGK(MXGKIN) * -* KCASE Mechanism having generated the secondary particles * -* NGKINE Number of generated secondaries * -* GKIN(1,I) Px of I-th secondary * -* GKIN(2,I) Py " " * -* GKIN(3,I) Pz " " * -* GKIN(4,I) E " " * -* GKIN(5,I) Particle number " " * -* TOFD(I) Time delay introduced by the interaction. * -* * -* COMMON/GCLIST/NHSTA,NGET ,NSAVE,NSETS,NPRIN,NGEOM,NVIEW,NPLOT * -* + ,NSTAT,LHSTA(20),LGET (20),LSAVE(20),LSETS(20),LPRIN(20) * -* + ,LGEOM(20),LVIEW(20),LPLOT(20),LSTAT(20) * -*C * -* NHSTA Number of histograms declared on data card HSTA * -* NGET Number of data structures declared on data card GET * -* NSAVE Number of data structures declared on data card SAVE * -* NSETS Number of items described on data card SETS * -* NPRIN Number of items described on data card PRIN * -* NGEOM Number of items described on data card GEOM * -* NVIEW Number of items described on data card VIEW * -* NPLOT Number of items described on data card PLOT * -* NSTAT Number of items described on data card STAT * -* LHSTA,...,LSTAT Corresponding user lists of items (HSTA,...,STAT) * -* * -* See examples of utilisation of the user lists in GEANT3 examples * -* in GEANX file. LSTAT(1) is reserved by the system for volume * -* statistics. * -* * -* COMMON/GCMATE/NMAT,NAMATE(5),A,Z,DENS,RADL,ABSL * -* C * -* NMAT Current material number * -* NAMATE Name of current material * -* A Atomic weight of current material * -* Z Atomic number of current material * -* DENS Density of current material * -* RADL Radiation length of current material * -* ABSL Absorption length of current material * -* * -* COMMON/GCMULO/SINMUL(101),COSMUL(101),SQRMUL(101),OMCMOL,CHCMOL * -* + ,EKMIN,EKMAX,NEKBIN,NEK1,EKINV,GEKA,GEKB,EKBIN(200),ELOW(200) * -* * -* Pre-computed quantities for multiple scattering and energy * -* binning [CONS 199] * -* SINMUL Not used * -* COSMUL Not used * -* SQRMUL Not used * -* OMCMOL Constant Omega for Moliere scattering * -* CHCMOL Constant for Moliere scattering * -* EKMIN Lower edge for the energy range (1E-5, ERAN) * -* EKMAX Upper edge for the energy range (1E+4, ERAN) * -* NEKBIN Number of energy bins to be used (90, ERAN) * -* NEK1 Number of energy bins to be used + 1 * -* EKINV \ * -* GEKA >Constants for the energy binning * -* GEKB / * -* EKBIN Lower edges of energy bins * -* ELOW Lower edges of logarithm of energy bins * -* * -* COMMON/GCNUM/NMATE ,NVOLUM,NROTM,NTMED,NTMULT,NTRACK,NPART * -* + ,NSTMAX,NVERTX,NHEAD,NBIT * -* COMMON /GCNUMX/ NALIVE,NTMSTO * -* C * -* NMATE Number of Materials * -* NVOLUM Number of Volumes * -* NROTM Number of Rotation matrices * -* NTMED Number of Tracking media * -* NTMULT Number of tracks processed in current event (including * -* secondaries), reset to 0 for each event * -* NTRACK Number of tracks in JKINE banks for current event * -* NPART Number of Particle banks * -* NSTMAX Maximum number of tracks in stack JSTAK for current * -* event, reset to 0 for each event * -* NVERTX Number of Vertices in JVERTX banks for current event * -* NHEAD Number of data words in the JHEAD bank (10) * -* NBIT Number of bits per word (initialized in GINIT via FFINIT * -* NALIVE Internal counter used for parallel tracking * -* NTMSTO Internal counter used for parallel tracking * -* * -**KEEP,GCONSP * -* DOUBLE PRECISION PI,TWOPI,PIBY2,DEGRAD,RADDEG,CLIGHT,BIG,EMASS * -* DOUBLE PRECISION EMMU,PMASS,AVO * -*C * -* PARAMETER (PI=3.14159265358979324) * -* PARAMETER (TWOPI=6.28318530717958648) * -* PARAMETER (PIBY2=1.57079632679489662) * -* PARAMETER (DEGRAD=0.0174532925199432958) * -* PARAMETER (RADDEG=57.2957795130823209) * -* PARAMETER (CLIGHT=29979245800.) * -* PARAMETER (BIG=10000000000.) * -* PARAMETER (EMASS=0.0005109990615) * -* PARAMETER (EMMU=0.105658387) * -* PARAMETER (PMASS=0.9382723128) * -* PARAMETER (AVO=0.60221367) * -* * -* PI Number PI * -* TWOPI (2.*PI) * -* PIBY2 (PI/2.) * -* DEGRAD Degree to radian conversion factor (PI/180.) * -* RADDEG Radian to degree conversion factor (180./PI) * -* CLIGHT Light velocity * -* BIG Arbitrary large number * -* EMASS Electron mass * -* EMMU Muon mass * -* PMASS Proton mass * -* AVO Avogadro Number * 1E-24 * -* * -* Control of Geometry optimisation * -* COMMON/GCOPTI/IOPTIM * -* IOPTIM -1 = No optimisation at all. GSORD calls disabled * -* 0 = No optimisation. Only user calls to GSORD kept * -* 1 = All non-ordered volumes are ordered along the best axis* -* 2 = All volumes are ordered along the best axis * -* * -* Control of physics processes. * -* COMMON/GCPHYS/IPAIR,SPAIR,SLPAIR,ZINTPA,STEPPA * -* + ,ICOMP,SCOMP,SLCOMP,ZINTCO,STEPCO * -* + ,IPHOT,SPHOT,SLPHOT,ZINTPH,STEPPH * -* + ,IPFIS,SPFIS,SLPFIS,ZINTPF,STEPPF * -* + ,IDRAY,SDRAY,SLDRAY,ZINTDR,STEPDR * -* + ,IANNI,SANNI,SLANNI,ZINTAN,STEPAN * -* + ,IBREM,SBREM,SLBREM,ZINTBR,STEPBR * -* + ,IHADR,SHADR,SLHADR,ZINTHA,STEPHA * -* + ,IMUNU,SMUNU,SLMUNU,ZINTMU,STEPMU * -* + ,IDCAY,SDCAY,SLIFE ,SUMLIF,DPHYS1 * -* + ,ILOSS,SLOSS,SOLOSS,STLOSS,DPHYS2 * -* + ,IMULS,SMULS,SOMULS,STMULS,DPHYS3 * -* + ,IRAYL,SRAYL,SLRAYL,ZINTRA,STEPRA * -* * * -* IPAIR Controls pair production process (1,PAIR) * -* 0 = no pair production * -* 1 = pair production with generation of secondaries * -* 2 = same without generation of secondaries * -* ICOMP Controls Compton scattering process (1,COMP) * -* 0 = no Compton scattering * -* 1 = Compton scattering with generation of secondaries * -* 2 = same without generation of secondaries * -* IPHOT Controls photo-electric effect process (1,PHOT) * -* 0 = no photo-electric effect * -* 1 = photo-electric effect with generation of secondaries * -* 2 = same without generation of secondaries * -* IPFIS Controls photofission process (0,PFIS) * -* 0 = no photofission * -* 1 = photofission with generation of secondaries * -* 2 = same without generation of secondaries * -* IDRAY Controls delta rays process (1,DRAY) * -* 0 = no delta rays effect * -* 1 = delta rays with generation of secondaries * -* 2 = same without generation of secondaries * -* IANNI Controls positron annihilation process (1,ANNI) * -* 0 = no positron annihilation effect * -* 1 = positron annihilation with generation of secondaries * -* 2 = same without generation of secondaries * -* IBREM Controls Bremsstrahlung process (1,BREM) * -* 0 = no Bremsstrahlung effect * -* 1 = Bremsstrahlung with generation of secondaries * -* 2 = same without generation of secondaries * -* IHADR Controls hadron interactions process (1,HADR) * -* 0 = no hadron interactions effect * -* 1 = hadron interactions with generation of secondaries * -* 2 = same without generation of secondaries * -* IMUNU Controls muon nuclear interaction process (0,MUNU) * -* 0 = no muon nuclear interaction effect * -* 1 = muon nuclear interaction with generation of secondaries* -* 2 = same without generation of secondaries * -* IDCAY Controls decay process (1,DCAY) * -* 0 = no decay effect * -* 1 = decay with generation of secondaries * -* 2 = same without generation of secondaries * -* ILOSS Controls energy loss process (2,LOSS) * -* 0 = no energy loss effect * -* 1 = delta ray and reduced Landau fluctuations * -* 2 = full Landau fluctuations and no delta rays * -* 3 = same as 1 * -* 4 = average Energy loss and no fluctuations * -* IMULS Controls multiple scattering (1,MULS) * -* 1 = Moliere or Coulomb scattering * -* 2 = Moliere or Coulomb scattering * -* 3 = Gaussian scattering * -* IRAYL 0 = No Rayleigh scattering * -* 1 = Rayleigh scattering * -* * -* COMMON/GCPOLY/IZSEC,IPSEC * -* C * -* Internal flags for polygon and polycone shapes. See GEANG file. * -* * -* COMMON/GCPUSH/NCVERT,NCKINE,NCJXYZ,NPVERT,NPKINE,NPJXYZ * -* C * -* NCVERT Initial size of mother bank JVERTX (5) * -* NCKINE Initial size of mother bank JKINE (50) * -* NCJXYZ Initial size of mother bank JXYZ (50) * -* NPVERT Increment for size of mother bank JVERTX (5) * -* NPKINE Increment for size of mother bank JKINE (10) * -* NPJXYZ Increment for size of mother bank JXYZ (10) * -* * -* COMMON/GCSETS/IHSET,IHDET,ISET,IDET,IDTYPE,NVNAME,NUMBV(20) * -* C * -* IHSET Set identifier * -* IHDET Detector identifier * -* ISET Position of set in bank JSET * -* IDET Position of detector in bank JS=IB(JSET-IDET) * -* IDTYPE User defined detector type * -* NVNAME Number of elements in NUMBV * -* NUMBV List of volume numbers to identify the detector * -* * -* PARAMETER (NWSTAK=12,NWINT=11,NWREAL=12,NWTRAC=NWINT+NWREAL+5) * -* COMMON /GCSTAK/ NJTMAX, NJTMIN, NTSTKP, NTSTKS, NDBOOK, NDPUSH, * -* + NJFREE, NJGARB, NJINVO, LINSAV(15), LMXSAV(15) * -*C * -* NTKSTP Primary allocation for stack JSTAK * -* NTKSTS Secondary allocation for stack JSTAK * -* NDBOOK local variable for control of stack size * -* NDPUSH local variable for control of stack size * -* (other variables used in parallel tracking only) * -* * -* COMMON/GCTIME/TIMINT,TIMEND,ITIME,IGDATE,IGTIME * -* INTEGER ITIME,IGDATE,IGTIME * -* REAL TIMINT,TIMEND * -* C * -* TIMINT Total time left after initialization (System, TIME) * -* TIMEND Time required for program termination phase (1., TIME) * -* ITIME Test on time left done every ITIME events (1, ITIME) * -* IGDATE Date of the day YYMMDD integer (e.g. 920407) * -* IGTIME Time of the day HHMM integer (e.g. 1425) * -* * -* COMMON/GCTMED/NUMED,NATMED(5),ISVOL,IFIELD,FIELDM,TMAXFD,STEMAX * -* + ,DEEMAX,EPSIL,STMIN,CFIELD,PREC,IUPD,ISTPAR,NUMOLD * -* NUMED Current tracking medium number * -* NATMED Name of current tracking medium * -* ISVOL Sensitive volume flag (if non zero) * -* IFIELD Field map type (0 if no field) * -* FIELDM Maximum field * -* TMAXFD Maximum field turning angle in one step * -* STEMAX Maximum step allowed * -* DEEMAX Maximum energy loss gradient in one step * -* EPSIL Boundary crossing accuracy * -* STMIN Minimum step size by energy loss, multiple scattering * -* or field * -* CFIELD Constant for field step evaluation * -* PREC Initial step for boundary crossing (0.1*EPSIL) * -* IUDP 0 If medium change, (1 otherwise) * -* ISTPAR 0 If standard tracking parameters * -* NUMOLD Numed of the last medium. * -* * -* PARAMETER (MAXMEC=30) * -* COMMON/GCTRAK/VECT(7),GETOT,GEKIN,VOUT(7),NMEC,LMEC(MAXMEC) * -* + ,NAMEC(MAXMEC),NSTEP ,MAXNST,DESTEP,DESTEL,SAFETY,SLENG * -* + ,STEP ,SNEXT ,SFIELD,TOFG ,GEKRAT,UPWGHT,IGNEXT,INWVOL * -* + ,ISTOP ,IGAUTO,IEKBIN, ILOSL, IMULL,INGOTO,NLDOWN,NLEVIN * -* + ,NLVSAV,ISTORY * -* VECT Current track parameters (X,Y,Z,Px/P,Py/P,Pz/P,P) * -* GETOT Current track total energy * -* GEKIN Current track kinetic energy * -* VOUT Local use * -* NMEC Number of mechanisms for current step * -* LMEC List of mechanism indices for current step * -* NAMEC Mechanism names (See below) * -* NSTEP Number of steps so far * -* MAXNST Maximum number of steps allowed (default = 10000) * -* DESTEP Total energy lost in current step * -* DESTEL Continuous energy loss in current step * -* SAFETY Overestimated distance to closest medium boundary * -* SLENG Track length at current point * -* STEP Size of current tracking step * -* SNEXT Straight distance to next current medium boundary * -* SFIELD Field turning angle step size evaluation * -* TOFG Time of flight * -* GEKRAT Interpolation factor in table ELOW * -* UPWGHT User particle weight * -* IGNEXT Flag set to 1 when SNEXT has been recomputed * -* INWVOL Flag set to 1 when entering a new volume, * -* 2 when leaving a volume and * -* 3 when leaving the experimental setup. * -* 0 otherwise 0 * -* ISTOP Flag set to 1 when track looses its identity * -* 2 when energy below cut * -* IGAUTO Automatic computation of DEEMAX,STMIN,TMAXFD,STEMAX * -* IEKBIN Current kinetic energy bin in table ELOW * -* ILOSL Local value of ILOSS for current tracking medium * -* IMULL Local value of IMULS for current tracking medium * -* INGOTO Content number of limiting content when computing SNEXT * -* NLDOWN Lowest level reached down the tree (parallel tracking only)* -* NLEVIN Number of levels currently filled and valid in /GCVOLU/ * -* NLVSAV Current level (parallel tracking only) * -* ISTORY User flag for current track history (reset to 0 in GLTRAC) * -* -------- * -* NAMEC List of possible mechanisms for step size limitation * -* filled in GINIT : * -* DATA MEC/'NEXT','MULS','LOSS','FIEL','DCAY','PAIR','COMP','PHOT' * -* + ,'BREM','DRAY','ANNI','HADR','ECOH','EVAP','FISS','ABSO' * -* + ,'ANNH','CAPT','EINC','INHE','MUNU','TOFM','PFIS','SCUT' * -* + ,'RAYL','PARA','PRED','LOOP','NULL','STOP'/ * -* * * -* * -* COMMON/GCUNIT/LIN,LOUT,NUNITS,LUNITS(5) * -* INTEGER LIN,LOUT,NUNITS,LUNITS * -* COMMON/GCMAIL/CHMAIL * -* CHARACTER*132 CHMAIL * -* C * -* LIN Input unit to read data cards * -* LOUT Line printer output unit * -* NUNITS Number of additional units * -* LUNITS List of additional units. * -* CHMAIL Internal string used for error messages * -* LIN and LOUT are defined in GINIT through calls to the routine * -* FFGET from the standard FFREAD package. NUNITS and LUNITS are * -* reserved for user applications. * -* * -* COMMON /GCVOLU/ ...... * -* see GEANG Pam file * -* * -* * -* * -************************************************************************ -* * -* Summary of Data Cards * -* --------------------- * -* * -* * -* INTRODUCTION * -* * -* GEANT3 uses the standard FFREAD package to read 'free format' data * -* cards in the routine GFFGO. The cards currently interpreted by * -* GFFGO can be classified into four categories: * -* * -* - General control of the run. * -* - Control of the physics processes. * -* - Debug and I/O operations. * -* - User applications. * -* * -* The data cards are listed below by category with the following * -* information: * -* * -* - KEY, card keyword, any number of characters truncated to the * -* first 4 * -* - N, maximum expected number of variables NVAR, * -* - T, TYPE of these variables (I=INTEGER, R=REAL or M=MIXED) * -* * -* for each variable in turn: * -* * -* - VAR.., FORTRAN name * -* - Short description (more detail in BASE 030) * -* - COMMON where it is stored, and * -* - Default value from GINIT. * -* * -* When a card is decoded, the values entered by the user without * -* explicit assignment are assigned to the variables in order. The * -* number of values can be less than NVAR. In case of a MIXED type * -* the values entered have to be in agreement with the default of the * -* corresponding FORTRAN variable names. * -* * -* Example of data card: RUN 5 201 * -* * -* to preset the current run and event number to 5 and 201 * -* respectively. * -* In batch jobs there is no need for any special termination card * -* and none of the cards mentioned below is mandatory. * -* * -* USER DEFINED DATA CARDS * -* * -* Before calling GFFGO the user may define private data cards * -* through calls to FFKEY as follows: * -* CALL FFKEY('KEY',VAR(1),NVAR,'TYPE') * -* They will be interpreted by GFFGO in the same way as the standard * -* cards. * -* * -* SUMMARY OF THE MOST IMPORTANT GEANT3 DATA CARDS * -* * -* KEY N T VAR.. Short description COMMON GINIT * -* General control of the run: * -* HSTA 20 M LHSTA Names of required histograms GCLIST 0 * -* PATR 4 I NJTMAX Max number of tracks in parallel GCSTAK 0 * -* tracking stack * -* NJTMIN Number of tracks above which " 0 * -* parallel tracking can be * -* reactivated when frozen earlier * -* NTSTKP Primary allocation for stack JSTAK " 500 * -* NTSTKS Secondary ... (when parallel " 100 * -* tracking used) * -* RNDM 2 I NRNDM Initial random number seeds * -* NRNDM(1) GCFLAG 9876 * -* NRNDM(2) GCFLAG 54321 * -* RNDM 2 I NRNDM Initial random number seeds GCFLAG 0 * -* RUNG 2 I IDRUN User run number GCFLAG 1 * -* IDEVT User event number GCFLAG 1 * -* TIME 3 M TIMINT Time left after initialisation GCTIME System * -* TIMEND Time required for termination GCTIME 1. * -* ITIME Test every ITIME events GCTIME 1 * -* TRIG 1 I NEVENT Number of events to process GCFLAG 1E7 * -* Geometry optimization: * -* OPTI 1 I IOPTIM Optimization level GCOPTI 1 * -* SCAN process control: * -* SCAN 8 M SCAN granularity and mode * -* SCANFL Scan processing flag (Logical) GCSCAN FALSE * -* NPHI Number of divisions in PHI GCSCAN 90 * -* PHIMIN Minimum value of PHI GCSCAN 0. * -* PHIMAX Maximum value of PHI GCSCAN 360. * -* NTETA Number of divisions in TETA GCSCAN 90 * -* TETMIN Minimum value of TETA GCSCAN 0. * -* TETMAX Maximum value of TETA GCSCAN 180. * -* MODTET Type of TETA division GCSCAN 1 * -* SCAL 32 M SLIST List of scanned volumes GCSCAN 'XXXX' * -* SCAP 6 R SCAN parameters * -* VX SCAN vertex X coordinate GCSCAN 0.0 * -* VY SCAN vertex Y coordinate GCSCAN 0.0 * -* VZ SCAN vertex Z coordinate GCSCAN 0.0 * -* FACTX0 Scale factor for SX0 GCSCAN 100. * -* FACTL Scale factor for SL GCSCAN 1000. * -* FACTR Scale factor for R GCSCAN 100. * -* Control of physics processes: * -* AUTO 1 I IGAUTO Automatic computation of STMIN GCTRAK 1 * -* STEMAX,DEEMAX,TMAXFD * -* 0 = Tracking media parameters * -* taken from the argument list * -* of GSTMED * -* 1 = Tracking media parameters * -* calculated by GEANT * -* ANNI 1 I IANNI Annihilation flag GCPHYS 1 * -* BREM 1 I IBREM Bremsstrahlung flag GCPHYS 1 * -* COMP 1 I ICOMP Compton scattering flag GCPHYS 1 * -* CUTS 15 R Kinetic energy cuts : * -* CUTGAM " " for gammas GCCUTS 0.001 * -* CUTELE " " for electrons GCCUTS 0.001 * -* CUTHAD " " for charged hadrons GCCUTS 0.01 * -* CUTNEU " " for neutral hadrons GCCUTS 0.01 * -* CUTMUO " " for muons GCCUTS 0.01 * -* BCUTE " " for electron brems. GCCUTS CUTGAM * -* BCUTM " " for muon Brems. GCCUTS CUTGAM * -* DCUTE " " for electron delta-rays GCCUTS CUTELE * -* DCUTM " " for muon delta-rays CCUTS CUTELE * -* PPCUTM " " for e+e- pairs by muons CCUTS 10 MeV * -* TOFMAX Time of flight cut GCCUTS 1.E+10 * -* GCUTS 5 user words GCCUTS 0. * -* DCAY 1 I IDCAY Decay flag GCPHYS 1 * -* DRAY 1 I IDRAY delta-rays flag GCPHYS 1 * -* ERAN 3 M Cross section tables * -* R EKMIN Minimum energy for the tables GCMULO 1E-5 * -* R EKMAX Maximum energy for the tables GCMULO 1E+4 * -* I NEKBIN Number of bins in the table GCMULO 90 * -* HADR 1 I IHADR Hadronic process flag GCPHYS 1 * -* LOSS 1 I ILOSS Energy loss flag CGPHYS 2 * -* MULS 1 I IMULS Multiple scattering flag GCPHYS 1 * -* MUNU 1 I IMUNU Muon nuclear interactions flag GCPHYS 0 * -* PAIR 1 I IPAIR Pair production flag GCPHYS 1 * -* PFIS 1 I IPFIS Photofission flag GCPHYS 0 * -* PHOT 1 I IPHOT Photo-electric effect flag GCPHYS 1 * -* RAYL 1 I IRAYL Rayleigh scattering flag GCPHYS 0 * -* * -* Debug and I/O operations: * -* DEBU 3 M IDEMIN First event to debug GCFLAG 0 * -* IDEMAX Last event to debug GCFLAG 0 * -* ITEST Print control frequency GCFLAG 0 * -* GET 20 M LGET Names of data structure to get GCLIST ' ' * -* PRIN 20 M LPRIN User keywords to print data GCLIST ' ' * -* structures * -* SAVE 20 M LSAVE Names of data struct. to save GCLIST ' ' * -* SWIT 10 I ISWIT User flags for debug or else GCFLAG 0 * -* User applications: * -* KINE 11 M IKINE User flag GCKINE 0 * -* PKINE 10 user words GCKINE 1.E+10 * -* SETS 20 M LSETS User words for detector sets GCLIST ' ' * -* STAT 20 M LSTAT 1 system + 19 user words GCLIST ' ' * -* PLOT 20 M LPLOT User words to control plots GCLIST ' ' * -* GEOM 20 M LGEOM User words to control geometry GCLIST ' ' * -* VIEW 20 M LVIEW User words to control View banks GCLIST ' ' * -* * -* * -* * -* * -* * -* * -************************************************************************ -* * -* The Reference Systems and dimensional Units * -* ------------------------------------------- * -* * -* * -* THE MASTER REFERENCE SYSTEM (MARS) * -* * -* The Master Reference System (MARS) is determined by the way the * -* user represents the kinematical quantities. If the axes are * -* labelled (X,Y,Z), then the point P(A,B,C) is represented by * -* * -* Y | * -* | * P(A,B,C) * -* | * X A on axis X * -* | * B on axis Y * -* | * C on axis Z * -* | * * -* | * * -* | * * -* | * * -* | * * -* | * -* | * -* ............................> * -* Z * -* The tracking is performed in the MAster Reference System. This * -* implies that the arguments of the user magnetic field routine, * -* space point coordinates and field components, are given in this * -* system. * -* * -* THE LOCAL REFERENCE SYSTEMS (MRS AND DRS) * -* * -* As explained in GEOM 001, the experimental set-up is described by * -* the definition of an 'initial MOTHER' volume inside which * -* 'DAUGHTER' volumes are positioned. Other daughter volumes can be * -* positioned inside these volumes which are promoted as mother * -* volumes and so on, as russian dolls. * -* This requires the definition of local reference systems, the * -* Mother Reference Systems (MRS, Origin O.) and the Daughter * -* Reference Systems (DRS, Origin O.). * -* The local reference system of the 'initial mother' volume * -* coincides with the MAster Reference System. * -* The full description of a given detector is usually given in the * -* local reference system of the associated volume. * -* The transformation of a point from the MRS (V.) to the DRS (V.), * -* at any level, requires the knowledge of a rotation matrix R and a * -* translation vector T defined through the relation : * -* ( V. ) = [ R ] ( V. - T ) * -* The components of T are the projections of the vector O.O. onto * -* the MRS axes. * -* The rotation matrices are computed from the spherical angles of * -* each of the axes of the daughter reference system (I, II, III) * -* with respect to the mother reference system (1,2,3). * -* The spherical angles THETA and PHI of a direction D are defined * -* as follows : * -* * -* THETA is the angle formed by the axis 3 and D (range : 0 to 180 * -* degrees) * -* PHI is the angle formed by the axis 1 and the projection of D * -* onto the plane defined by the axes 1 and 2 (range : 0 to * -* 360 degrees) * -* Examples are given in GEOM 200. * -* The various rotation matrices required for a given set-up must be * -* defined during the initialisation stage, usually in the user * -* routine UGEOM. * -* A serial number is assigned to each matrix [GEOM 200]. * -* The translation parameters and the serial number of the rotation * -* matrix are specified by the user when the volumes are positioned * -* inside the set-up [GEOM 110]. * -* * -* THE DIMENSIONAL UNITS * -* * -* Unless otherwise specified, the following units are used * -* throughout the program : * -* * -* - CENTIMETER, SECOND, KILOGAUSS, GEV, GEV/C, DEGREE * -* * -************************************************************************ -* * -* Examples of MAIN Program and User Initialisation * -* ------------------------------------------------ * -* * -* PROGRAM MAIN * -* C * -* PARAMETER (NG=100000,NH=10000) * -* COMMON/PAWC/H(NH) * -* COMMON/GCBANK/Q(NG) * -* C * -* C Allocate memory for ZEBRA and HBOOK * -* CALL GZEBRA(NG) * -* CALL HLIMIT(-NH) * -* C * -* C Initialize Graphics package * -* CALL IGINIT(0) * -* C Open metafile and define workstation type * -* C (computer dependent) * -* .... * -* C * -* C Initialisation phase * -* CALL UGINIT * -* C * -* C Processing phase * -* CALL GRUN * -* C * -* C Termination phase * -* CALL UGLAST * -* C * -* END * -* SUBROUTINE UGINIT * -* C * -* +SEQ,GCLIST * -* C * -* C Initialize GEANT variables * -* CALL GINIT * -* C * -* C Read data cards * -* CALL GFFGO * -* C * -* C Initialize data structures * -* CALL GZINIT * -* C * -* C Initialize drawing package * -* CALL GDINIT * -* C * -* C Open I/O buffers * -* IF(NGET .GT.0)CALL GOPEN(1,'I',0,IER) * -* IF(NSAVE.GT.0)CALL GOPEN(2,'O',0,IER) * -* C * -* C Fetch permanent data structures (if any) * -* CALL GFIN(1,'INIT',1,IDENT,' ',IER) * -* IF(IER.LT.0) THEN * -* C * -* C Define standard Particle and Material data * -* CALL GPART * -* CALL GMATE * -* C * -* C Define the geometrical set-up * -* CALL 'user code' * -* CALL GGCLOS * -* C * -* C Compute cross-section and energy loss tables * -* CALL GPHYSI * -* ENDIF * -* C * -* C Initialize standard histograms * -* CALL GBHSTA * -* C * -* END * -* * -* * -* * -************************************************************************ -* * -* The System Initialisation routines * -* ---------------------------------- * -* * -* Presets COMMON block variables to default values. Preprocessing * -* of various COMMON block variables. See 'Overview of COMMON * -* blocks' [BASE 030]. Reads a set of data cards with the FFREAD * -* package. See 'Summary of data cards' [BASE 040] GFFGO should be * -* called after GINIT. Allocates the dynamic core divisions. * -* Initialize the link areas and the data structure JRUNG [BASE 299]. * -* Initialize exotic bank formats. GZINIT should be called after * -* GFFGO. To be called before the user geometry routine if the user * -* wants to open VIEW banks there. Initializes any standard * -* histogram required by the user with the data record HSTA. * -* The following histogram keywords may be used : * -* TIME Time per event * -* SIZE Size of division LXDIV per event * -* MULT Total number of tracks per event * -* NTRA Number of 'long life' tracks per event * -* STAK Maximum stack size per event * -* * -* GBHSTA should be called after GFFGO. * -* * -* Steering routines for Event Processing * -* -------------------------------------- * -* * -* The following flow chart is only valid for the 'batch' execution * -* mode. For interactive applications, see section XINT. Main * -* routine to control a run of events * -* ......... * -* ...>| TIMEX| * -* | ......... * -* | Get time left (TIMINT) after * -* initialisation * -* | * -* ............................. * -* | ........... | * -* ... >| GTRIGI | | * -* | ........... | * -* | ........... | * -* ........ . |.. >| GTRIG | ......... . * -* | | | ......... . |loop on | * -* | GRUN |... | | | | * -* ........ . | ......... . | events | * -* |.. >| GTRIGC | ......... . * -* | ......... . . * -* | ................... | * -* ... >| check time left | | * -* | ................... | * -* ............................. * -* * -* Resets to 0 the flag IEOTRI in /GCFLAG/ and the counters NTRACK * -* and NVERTX in /GCNUM/. Sets the debug flag IDEBUG in /GCFLAG/ to * -* the value required for the current event. * -* Creates the Header bank for current event. * -* Prints the sequence number, the event number and the number * -* random generators, under control of the flag ITEST (data card * -* DEBU). * -* Steering routine to process one event (trigger) * -* * -* .......................... * -* | Generates kinematics, | * -* ... >| or read event GUKINE | * -* | .......................... * -* | ................ * -* | | Tracking/hits| * -* ........ . |.. >| GUTREV | * -* | GTRIG |.. >| .............. . * -* ........ . | .............. . * -* |.. >| * -* Digitisations | * -* | | GUDIGI | * -* | ................ * -* | ................ * -* | | Output event | * -* ... >| GUOUT | * -* ................ * -* The partition initialized in GTRIGI is cleared. The space used * -* by the current event may be used by the next one. * -* * -* The banks JRUNG and JHEAD * -* ------------------------- * -* * -* Run bank JRUNG: 1 user link, 30 data words * -* LQ(JRUNG-1) user link * -* IQ(JRUNG+1) IDRUN Run number * -* "" +2/10) Reserved for user applications * -* +11) creation date for 'INIT' data structures * -* +12) creation time for 'INIT' data structures * -* +13) creation data for 'KINE' * -* +14) creation time for 'KINE' * -* +15) creation data for 'HITS' * -* +16) creation time for 'HITS' * -* +17) creation data for 'DIGI' * -* +18) creation time for 'DIGI' * -* +19) Random number seed 1 * -* +20) Random number seed 2 * -* +21) GEANT version number when 'INIT' created * -* +22) ZEBRA version number when 'INIT' created * -* +23) GEANT version number when 'KINE' created * -* +24) ZEBRA version number when 'KINE' created * -* +25) GEANT version number when 'HITS' created * -* +26) ZEBRA version number when 'HITS' created * -* +27) GEANT version number when 'DIGI' created * -* +28) ZEBRA version number when 'DIGI' created * -* Header bank JHEAD: 1 user link, NHEAD(=10) data words * -* IQ(JHEAD+1) IDRUN Run number * -* "" +2) IDEVT Event number * -* "" +3) NRNDM(1) Random number seed 1 at beginning of event * -* "" +4) NRNDM(2) " " * -* "" +5/10) Reserved for user applications * -* * -************************************************************************ -* * -* * -* Example of User Termination and related routines * -* ------------------------------------------------ * -* * -* SUBROUTINE UGLAST * -* C * -* +SEQ,GCLIST * -* C * -* C Call standard GEANT termination routine * -* CALL GLAST * -* C * -* C Close HIGZ files * -* CALL IGEND * -* C * -* C Close I/O buffers * -* IF(NGET.EQ.0.AND.NSAVE.EQ.0) GO TO 5 * -* CALL GCLOSE(0,IER) * -* C * -* C Print histograms * -* 5 CALL HISTDO * -* C * -* END * -* * -* * -************************************************************************ -#endif diff --git a/StarVMC/geant3/gbase/gbhsta.F b/StarVMC/geant3/gbase/gbhsta.F deleted file mode 100644 index 30c29b7d94d..00000000000 --- a/StarVMC/geant3/gbase/gbhsta.F +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: gbhsta.F,v 1.3 2009/02/01 17:29:50 fisyak Exp $ -* -* $Log: gbhsta.F,v $ -* Revision 1.3 2009/02/01 17:29:50 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:46:57 fisyak -* Merge with macos version -* -* Revision 1.2 2006/08/17 13:38:52 fisyak -* Clean up -* -* Revision 1.3 2006/03/17 14:41:53 brun -* Remove references to hbook -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:08 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3BHSTA -C. -C. ****************************************************************** -C. * * -C. * Books histograms statistics * -C. * * -C. * ==>Called by : , GUOUT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. - END diff --git a/StarVMC/geant3/gbase/geamon.F b/StarVMC/geant3/gbase/geamon.F deleted file mode 100644 index b7c36e75cdc..00000000000 --- a/StarVMC/geant3/gbase/geamon.F +++ /dev/null @@ -1,108 +0,0 @@ -* -* $Id: geamon.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: geamon.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:08 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_MONITOR) -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3EAMON(ICASE,CHINFO) -C. -C. ****************************************************************** -C. * * -C. * Routine for GEANT monitoring * -C. * * -C. * ==>Called by : , GUOUT * -C. * Author R.Brun, F.Carminati ******** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" -C. -C. ------------------------------------------------------------------ -C. - COMMON/CWK/IWK - CHARACTER*5 ENTRY, EXIT, BATINT - LOGICAL FIRST, INTRAC - CHARACTER*(*) CHINFO - SAVE IWK1,IM1,TIM1,FIRST,ENTRY,EXIT,BATINT - DATA ENTRY /'GINIT'/ - DATA EXIT /'GLAST'/ - DATA BATINT /'BATCH'/ - DATA FIRST /.TRUE./ -* -*________________________________________________________ -* - IF(ICASE.LE.1)THEN - IF(FIRST) THEN - CALL TIMEL(TIM1) - IWK1=IWK - CALL DATIME(IDAT1,ITIM1) - IH1=ITIM1/100 - IM1=ITIM1-100*IH1+IH1*60 - IF(INTRAC()) BATINT='INTER' - FIRST=.FALSE. - ENDIF - ENDIF - IF(ICASE.EQ.0) THEN - ENTRY='GXINT' - EXIT ='GXINT' - ELSE - IF(ICASE.EQ.1) THEN - WRITE(CHMAIL,10000)IWK1,CHINFO,ENTRY,BATINT - ELSEIF(ICASE.EQ.2) THEN - IF(ENTRY.EQ.'GXINT'.AND.CHINFO.EQ.'GLAST') THEN - EXIT='GLAST' - GOTO 999 - ENDIF - CALL TIMEL(TIM2) - CPTIME=TIM1-TIM2 - CALL DATIME(IDAT2,ITIM2) - IH2=ITIM2/100 - IM2=ITIM2-100*IH2+IH2*60 - IMD=IM2-IM1 - IF(IMD.LT.0) IMD=IMD+24*60 - IRTIME=MIN(9999,MAX(IMD,1)) - CPTIME=MIN(99999.,CPTIME) - IF(IRTIME.GT.999)THEN - WRITE(CHMAIL,10101)IWK1,IRTIME,CPTIME,EXIT - ELSE - WRITE(CHMAIL,10100)IWK1,IRTIME,CPTIME,EXIT - ENDIF - ENDIF -* - CALL UMLOG('GEANTMON',CHMAIL(1:LNBLNK(CHMAIL))) -* - ENDIF -* -10000 FORMAT('LOG321 WTYP=',I6,1X,A,2(1X,A5)) -10100 FORMAT('LOGOUT WTYP=',I6,' RT=',I3,' min CP=',F9.3,' sec ',A5) -10101 FORMAT('LOGOUT WTYP=',I6,' RT', I4,' min CP=',F9.3,' sec ',A5) -* - 999 END -#endif diff --git a/StarVMC/geant3/gbase/getnum.F b/StarVMC/geant3/gbase/getnum.F deleted file mode 100644 index 3d07c43733a..00000000000 --- a/StarVMC/geant3/gbase/getnum.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: getnum.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: getnum.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE GETNUM(LIST,N) -C. -C. ****************************************************************** -C. * * -C. * Routine to count the number of non blank elements * -C. * in the array LIST before the first blank one * -C. * * -C. * ==>Called by : GFFGO * -C. * ==>Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION LIST(*) - SAVE IFIRST,IDFLT - DATA IFIRST/0/ -C. ------------------------------------------------------------------ -C. - IF(IFIRST.EQ.0)THEN - IFIRST=1 - CALL UCTOH(' ',IDFLT,4,4) - ENDIF -C - N = 0 - DO 10 I=1,20 - IF(LIST(I).EQ.IDFLT) GO TO 99 - N=N+1 - 10 CONTINUE -C - 99 RETURN - END diff --git a/StarVMC/geant3/gbase/getver.F b/StarVMC/geant3/gbase/getver.F deleted file mode 100644 index 949b0f798a0..00000000000 --- a/StarVMC/geant3/gbase/getver.F +++ /dev/null @@ -1,132 +0,0 @@ -* -* $Id: getver.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: getver.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.12 1998/02/10 18:13:44 japost -* Correct the version number HVERS returned (now 3.2111 not 3.2210 for 3.21/11) -* -* Revision 1.11 1997/11/13 16:06:04 mclareni -* Update the date also -* -* Revision 1.10 1997/11/13 13:04:29 mclareni -* Increase cradle no. to 0.10 -* -* Revision 1.9 1997/10/17 10:26:20 mclareni -* Increase cradle no. to 0.09 -* -* Revision 1.8 1997/06/20 18:40:43 japost -* Updating the version number after commiting several changes: -* to gthion, gflufin, ghetun -* Remaining problem: gdrawp, ghadr? -* -* Revision 1.7 1997/01/06 17:16:29 cernlib -* Remove ginit.F- and getver.F- -* -* Revision 1.6 1996/11/13 11:19:06 ravndal -* new cradle number /06 -* -* Revision 1.5 1996/04/15 14:16:04 ravndal -* Slash instead of underscore -* -* Revision 1.4 1996/03/27 08:29:14 cernlib -* In line 40 the Hollerith had less than thespecified 40 characters. -* -* Time to get rid of these HOLLERITH -* -* Revision 1.3 1996/03/15 14:51:40 ravndal -* 96A version of GEANT -* -* Revision 1.2 1996/03/07 13:18:00 ravndal -* Preparing version number for 96A release -* -* Revision 1.1.1.1 1995/10/24 10:20:12 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 06/12/94 15.11.22 by S.Ravndal -*-- Author : - SUBROUTINE GETVER(CHVER,CHDAT,HVERS) -C. -C. ****************************************************************** -C. * * -C. * Routine to get the current version number from a pam * -C. * file. This routine is cracking the title given in * -C. * HOLLERITH format, because CMZ and old versions of PATCHY * -C. * do not support the character title sequence QFTITLCH * -C. * * -C. * ==>Called by : GINIT * -C. * Author F.Carminati ********* * -C. * * -C. ****************************************************************** -C. - CHARACTER*60 CHTIT - CHARACTER*6 CHFOR - CHARACTER*8 CHVER,CHDAT -* - CHVER = ' ' - HVERS = 0. - CHDAT = ' ' -* - WRITE(CHTIT,'( - + 40H GEANT 3.21/11 100298 - +)') - DO 10 JSLASH=1,60 - IF(CHTIT(JSLASH:JSLASH).EQ.'/') THEN - JSL=JSLASH - GOTO 20 - ENDIF - 10 CONTINUE - GOTO 999 -* - 20 CONTINUE - DO 30 JBLA=JSL,1,-1 - IF(CHTIT(JBLA-1:JBLA-1).EQ.' ') THEN - JBEG=JBLA - GOTO 40 - ENDIF - 30 CONTINUE - GOTO 999 -* - 40 CONTINUE - DO 50 JBLA=JSL,60 - IF(CHTIT(JBLA+1:JBLA+1).EQ.' ') THEN - JEND=JBLA - GOTO 60 - ENDIF - 50 CONTINUE - GOTO 999 -* - 60 WRITE(CHFOR,'(''(F'',I1,''.2)'')') JSL-JBEG - READ(CHTIT(JBEG:JSL-1),CHFOR) HMAIN - READ(CHTIT(JSL+1:JEND),'(I2)') ISUBV - HVERS=HMAIN+ISUBV*.0001 - NCHA=JEND-JBEG+1 - CHVER=' ' - IF(NCHA.EQ.8) THEN - CHVER=CHTIT(JBEG:JEND) - ELSE - CHVER=' '//CHTIT(JBEG:JEND) - ENDIF -* - CHDAT=CHTIT(JEND+3:JEND+11) -* - 999 END diff --git a/StarVMC/geant3/gbase/gffgo.F b/StarVMC/geant3/gbase/gffgo.F deleted file mode 100644 index 3a3fed40ad2..00000000000 --- a/StarVMC/geant3/gbase/gffgo.F +++ /dev/null @@ -1,167 +0,0 @@ -* -* $Id: gffgo.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: gffgo.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.2 1996/09/30 13:40:37 ravndal -* IABAN initialization -* -* Revision 1.1.1.1 1995/10/24 10:20:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 22/02/95 08.50.24 by S.Ravndal -*-- Author : - SUBROUTINE GFFGO -C. -C. ****************************************************************** -C. * * -C. * Routine to define and read GEANT/FFREAD data cards * -C. * If user data cards have been defined via FFKEY * -C. * they will be read as well * -C. * * -C. * ==>Called by : , UGINIT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcphys.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gclist.inc" -#include "geant321/gcparm.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctime.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcscan.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcopti.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcrz.inc" -C. -C. ------------------------------------------------------------------ -C. - IABAN = NINT(DPHYS1) - CALL FFKEY ('ANNI',IANNI , 1,'INTEGER') - CALL FFKEY ('BREM',IBREM , 1,'INTEGER') - CALL FFKEY ('COMP',ICOMP , 1,'INTEGER') - CALL FFKEY ('CUTS',CUTGAM,16,'REAL') - CALL FFKEY ('DEBU',IDEMIN, 3,'INTEGER') - CALL FFKEY ('DCAY',IDCAY , 1,'INTEGER') - CALL FFKEY ('DRAY',IDRAY , 1,'INTEGER') - CALL FFKEY ('LABS',ILABS , 1,'INTEGER') - CALL FFKEY ('GEOM',LGEOM ,20,'MIXED') - CALL FFKEY ('GET ',LGET ,20,'MIXED') - CALL FFKEY ('HADR',IHADR , 1,'INTEGER') - CALL FFKEY ('HSTA',LHSTA ,20,'MIXED') - CALL FFKEY ('KINE',IKINE ,11,'MIXED') - CALL FFKEY ('LOSS',ILOSS , 1,'INTEGER') - CALL FFKEY ('MULS',IMULS , 1,'INTEGER') - CALL FFKEY ('MUNU',IMUNU , 1,'INTEGER') - CALL FFKEY ('PAIR',IPAIR , 1,'INTEGER') -* CALL FFKEY ('PATR',NJTMAX, 4,'INTEGER') - CALL FFKEY ('SORD',ISTORD, 1,'INTEGER') - CALL FFKEY ('PFIS',IPFIS , 1,'INTEGER') - CALL FFKEY ('PHOT',IPHOT , 1,'INTEGER') - CALL FFKEY ('PLOT',LPLOT ,20,'MIXED') - CALL FFKEY ('PRIN',LPRIN ,20,'MIXED') - CALL FFKEY ('RAYL',IRAYL , 1,'INTEGER') - CALL FFKEY ('RGET',LRGET ,20,'MIXED') - CALL FFKEY ('RSAV',LRSAVE,20,'MIXED') - CALL FFKEY ('RNDM',NRNDM , 2,'INTEGER') - CALL FFKEY ('RUNG',IDRUN , 2,'INTEGER') - CALL FFKEY ('SAVE',LSAVE ,20,'MIXED') - CALL FFKEY ('SETS',LSETS ,20,'MIXED') - CALL FFKEY ('STAT',LSTAT ,20,'MIXED') - CALL FFKEY ('SWIT',ISWIT ,10,'INTEGER') - CALL FFKEY ('TIME',TIMINT, 3,'MIXED') - CALL FFKEY ('TRIG',NEVENT, 1,'INTEGER') - CALL FFKEY ('VIEW',LVIEW ,20,'MIXED') - CALL FFKEY ('ERAN',EKMIN , 3,'MIXED') - CALL FFKEY ('AUTO',IGAUTO, 1,'INTEGER') - CALL FFKEY ('OPTI',IOPTIM, 1,'INTEGER') - CALL FFKEY ('CKOV',ITCKOV, 1,'INTEGER') - CALL FFKEY ('SYNC',ISYNC, 1,'INTEGER') - CALL FFKEY ('STRA',ISTRA, 1,'INTEGER') - CALL FFKEY ('ABAN',IABAN, 1,'INTEGER') -*--------------- SCAN/Parametrize cards - CALL FFKEY ('SCAN',SCANFL, 8,'MIXED') - CALL FFKEY ('SCAL',ISLIST,MSLIST,'MIXED') - CALL FFKEY ('SCAP',VSCAN , 6,'REAL') - CALL FFKEY ('PCUT',IPARAM, 6,'MIXED') - CALL FFKEY ('PNUM',MPSTAK, 2,'MIXED') -C -C Now read data cards -C - CALL FFGO -C -C Get some parameters from the data cards -C - CALL GETNUM (LHSTA ,NHSTA) - CALL GETNUM (LGET ,NGET) - CALL GETNUM (LSAVE ,NSAVE) - CALL GETNUM (LRGET ,NRGET) - CALL GETNUM (LRSAVE,NRSAVE) - CALL GETNUM (LSETS ,NSETS) - CALL GETNUM (LPRIN ,NPRIN) - CALL GETNUM (LGEOM ,NGEOM) - CALL GETNUM (LVIEW ,NVIEW) - CALL GETNUM (LPLOT ,NPLOT) - CALL GETNUM (LSTAT ,NSTAT) - CALL GETNUM (ISLIST,NSLIST) -* - IF(ILABS.NE.0) THEN - IF(ITCKOV.NE.0) ILABS=1 - ENDIF -* - IF (NINT(DPHYS1).NE.IABAN) THEN - DPHYS1 = IABAN - END IF -* - IF(MODTET.LT.1.OR.MODTET.GT.MAXMDT) THEN - WRITE(LOUT,10000) MODTET -10000 FORMAT(' MODTET = ',I2,' out of range - 1 assumed') - MODTET=1 - ENDIF - TETMIN = TETMID(MODTET) - TETMAX = TETMAD(MODTET) - IF(IDEVT.GT.0)IDEVT=IDEVT-1 -C -C Set IDEBUG flag for initialisation phase -C - IF(IDEMIN.LT.0.AND.IDEMAX.GE.0)THEN - IDEMIN=-IDEMIN - IDEBUG=1 - ENDIF -C -C Initialise the random number generator -C - IF(NRNDM(2).NE.0)THEN - CALL GRNDMQ(NRNDM(1),NRNDM(2),1,'S') - ELSEIF(NRNDM(1).GT.0)THEN - ISEQ=NRNDM(1) - CALL GRNDMQ(NRNDM(1),NRNDM(2),ISEQ,'Q') - CALL GRNDMQ(NRNDM(1),NRNDM(2),ISEQ,'S') - ENDIF -C - 999 END diff --git a/StarVMC/geant3/gbase/gfhead.F b/StarVMC/geant3/gbase/gfhead.F deleted file mode 100644 index cc55df2202f..00000000000 --- a/StarVMC/geant3/gbase/gfhead.F +++ /dev/null @@ -1,73 +0,0 @@ -* -* $Id: gfhead.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: gfhead.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3FHEAD (NWHEAD,IHEAD,NWBUF,UBUF) -C. -C. ****************************************************************** -C. * * -C * Retrieves the parameter of the Header bank * -C. * * -C. * ==>Called by : * -C. * Author M.Maire * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcflag.inc" -* - DIMENSION IHEAD(1),UBUF(1) -* - IF (JHEAD.NE.0) THEN - NWHEAD = IQ(JHEAD-1) - DO 10 I=1,NWHEAD - IHEAD(I) = IQ(JHEAD+I) - 10 CONTINUE -* - NWBUF = 0 - IF (LQ(JHEAD-1).NE.0) THEN - JHU = LQ(JHEAD-1) - NWBUF = IQ(JHU-1) - DO 20 I=1,NWBUF - UBUF(I) = Q(JHU+I) - 20 CONTINUE - ENDIF -* - ELSE - NWHEAD = 0 - WRITE(CHMAIL,1000) IEVENT - CALL GMAIL(0,0) - ENDIF -* - 1000 FORMAT(' **** GFHEAD: No Header bank in memory for ievent:',I7) -* - END diff --git a/StarVMC/geant3/gbase/gfhsta.F b/StarVMC/geant3/gbase/gfhsta.F deleted file mode 100644 index bbc02e663b4..00000000000 --- a/StarVMC/geant3/gbase/gfhsta.F +++ /dev/null @@ -1,88 +0,0 @@ -* -* $Id: gfhsta.F,v 1.3 2009/02/01 17:29:50 fisyak Exp $ -* -* $Log: gfhsta.F,v $ -* Revision 1.3 2009/02/01 17:29:50 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:46:58 fisyak -* Merge with macos version -* -* Revision 1.2 2006/08/17 13:38:52 fisyak -* Clean up -* -* Revision 1.3 2006/03/17 14:41:53 brun -* Remove references to hbook -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.2 1997/10/24 16:17:42 mclareni -* NZLEFT 2nd parameter changed to 0 from blank -* -* Revision 1.1.1.1 1995/10/24 10:20:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3FHSTA -C. -C. ****************************************************************** -C. * * -C. * Fills histograms statistics * -C. * * -C. * ==>Called by : , GUOUT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#ifdef NEVER -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gclist.inc" - COMMON/QUEST/IQUEST(100) -C. -C. ------------------------------------------------------------------ -C. - IF(NHSTA.GT.0) THEN - CALL GLOOK('TIME',LHSTA,NHSTA,ID) - IF(ID.NE.0)THEN - CALL TIMED(TEVENT) - CALL HFILL(-ID,TEVENT,0.,1.) - ENDIF -* - CALL GLOOK('SIZE',LHSTA,NHSTA,ID) - IF(ID.NE.0)THEN - NL=NZLEFT(IXDIV,0) - CALL HFILL(-ID,IQUEST(11)+0.5,0.,1.) - ENDIF -* - CALL GLOOK('MULT',LHSTA,NHSTA,ID) - IF(ID.NE.0)THEN - CALL HFILL(-ID,NTMULT+0.5,0.,1.) - ENDIF -* - CALL GLOOK('NTRA',LHSTA,NHSTA,ID) - IF(ID.NE.0)THEN - CALL HFILL(-ID,NTRACK+0.5,0.,1.) - ENDIF -* - CALL GLOOK('STAK',LHSTA,NHSTA,ID) - IF(ID.NE.0)THEN - CALL HFILL(-ID,NSTMAX+0.5,0.,1.) - ENDIF -* - ENDIF -#endif - END diff --git a/StarVMC/geant3/gbase/gfrung.F b/StarVMC/geant3/gbase/gfrung.F deleted file mode 100644 index 007620590a9..00000000000 --- a/StarVMC/geant3/gbase/gfrung.F +++ /dev/null @@ -1,72 +0,0 @@ -* -* $Id: gfrung.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: gfrung.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3FRUNG (NWRUNG,IRUNG,NWBUF,UBUF) -C. -C. ****************************************************************** -C. * * -C * Retrieves the parameter of the RUNG bank * -C. * * -C. * ==>Called by : * -C. * Author M.Maire * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -* - DIMENSION IRUNG(1),UBUF(1) -* - IF (JRUNG.NE.0) THEN - NWRUNG = IQ(JRUNG-1) - DO 10 I=1,NWRUNG - IRUNG(I) = IQ(JRUNG+I) - 10 CONTINUE -* - NWBUF = 0 - IF (LQ(JRUNG-1).NE.0) THEN - JRU = LQ(JRUNG-1) - NWBUF = IQ(JRU-1) - DO 20 I=1,NWBUF - UBUF(I) = Q(JRU+I) - 20 CONTINUE - ENDIF -* - ELSE - NWRUNG = 0 - WRITE(CHMAIL,1000) - CALL GMAIL(0,0) - ENDIF -* - 1000 FORMAT(' **** GFRUNG: No RUNG bank existing in memory ') -* - END diff --git a/StarVMC/geant3/gbase/ggclo2.F b/StarVMC/geant3/gbase/ggclo2.F deleted file mode 100644 index 9294210f318..00000000000 --- a/StarVMC/geant3/gbase/ggclo2.F +++ /dev/null @@ -1,227 +0,0 @@ -* -* $Id: ggclo2.F,v 1.1.1.2 2009/02/01 17:10:18 fisyak Exp $ -* -* $Log: ggclo2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:18 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLD) -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE GGCLOS -C. -C. ****************************************************************** -C. * * -C. * Closes off the geometry setting. * -C. * Initializes the search list for the contents of each * -C. * volume following the order they have been positioned, and * -C. * inserting the content '0' when a call to GSNEXT (-1) has * -C. * been required by the user. * -C. * Performs the development of the JVOLUM structure for all * -C. * volumes with variable parameters, by calling GGDVLP. * -C. * Interprets the user calls to GSORD, through GGORD. * -C. * Computes and stores in a bank (next to JVOLUM mother bank) * -C. * the number of levels in the geometrical tree and the * -C. * maximum number of contents per level, by calling GGNLEV. * -C. * Sets status bit for CONCAVE volumes, through GGCAVE. * -C. * Completes the JSET structure with the list of volume names * -C. * which identify uniquely a given physical detector, the * -C. * list of bit numbers to pack the corresponding volume copy * -C. * numbers, and the generic path(s) in the JVOLUM tree, * -C. * through the routine GHCLOS. * -C. * * -C. * Called by : * -C. * Authors : R.Brun, F.Bruyant ********* * -C. * * -C. * Modified by S.Egli at 15.9.90: automatic sorting of volumes * -C * done by calling GGORDQ for each volume * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gclist.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcopti.inc" - CHARACTER*4 NAME - LOGICAL BTEST -C. -C. ------------------------------------------------------------------ -C. -* -* *** Stop the run in case of serious anomaly during initialization -* - IF (IEORUN.NE.0) THEN - WRITE (CHMAIL, 1001) - CALL GMAIL (0, 0) - STOP - ENDIF -* - IF (NVOLUM.LE.0) THEN - WRITE (CHMAIL, 1002) NVOLUM - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* - NPUSH = NVOLUM -IQ(JVOLUM-2) - CALL MZPUSH (IXCONS, JVOLUM, NPUSH, NPUSH,'I') -* -* *** Loop over volumes, create default JNear banks as relevant, -* and release unused bank space -* - IDO = 0 - DO 80 IVO = 1,NVOLUM - JVO = LQ(JVOLUM-IVO) -* -* *** Check if Tracking medium has been defined -* - NMED=Q(JVO+4) - IF(NMED.LE.0.OR.NMED.GT.IQ(JTMED-2))THEN - WRITE(CHMAIL,1003)IQ(JVOLUM+IVO) - CALL GMAIL (0, 0) - ELSE - IF(LQ(JTMED-NMED).EQ.0)THEN - WRITE(CHMAIL,1003)IQ(JVOLUM+IVO) - CALL GMAIL (0, 0) - ENDIF - ENDIF - IF (BTEST(IQ(JVO),0)) GO TO 80 - IDO = 1 - IQ(JVO) = IBSET(IQ(JVO),0) - NINL = IQ(JVO-2) - NIN = Q(JVO+3) - NUSED = IABS(NIN) - IF (NIN.GT.0) THEN -* reserve enough additional space for sorted volumes - IF(NIN.LE.1.OR.NIN.GT.500.OR.IOPTIM.LT.0)THEN - NUSED=NUSED+1 - ELSE - NUSED=NUSED+2 - ENDIF - ENDIF -* - NPUSH = NUSED -NINL - DO 90 IN=NINL,NUSED+1,-1 - JIN = LQ(JVO-IN) - IF(JIN.GT.0) THEN - CALL MZDROP(IXCONS,JIN,'L') - ENDIF - 90 CONTINUE - CALL MZPUSH (IXCONS, JVO, NPUSH, 0, 'I') - IF (NIN.LE.0) GO TO 80 -* - IF(BTEST(IQ(JVO),3)) THEN - IZERO=1 - ELSE - IZERO=0 - ENDIF - NEL = NIN +IZERO - JN = LQ(JVO-NIN-1) - IF(JN.EQ.0) THEN - CALL MZBOOK (IXCONS,JN,JVO,-NIN-1,'VONE',0,0,NEL+1,2,0) - ENDIF - IQ(JN-5) = IVO - IQ(JN+1) = NEL - JN = JN +1 - DO 29 I = 1,NIN - IQ(JN+IZERO+I) = I - 29 CONTINUE - IF (IZERO.NE.0) IQ(JN+1) = 0 -* - 80 CONTINUE -* - IF (IDO.NE.0) THEN -* -* *** Perform development of JVOLUM structure where necessary -* - CALL GGDVLP -* -* *** Fill GSORD ordering banks if required -* -* Modified by S.Egli to allow GGORDQ to find the optimum sorting for -* all volumes -* - IF(IOPTIM.GE.1)THEN - WRITE(6,'(A)')' GGCLOS: Start automatic volume ordering:' - ENDIF - DO 91 IVO = 1,NVOLUM - JVO = LQ(JVOLUM-IVO) - NIN = Q(JVO+3) - ISEARC=Q(JVO+1) - IF(ISEARC.GT.0) GO TO 91 -* check if sorting not possible or not wanted - IF(NIN.LE.1.OR.NIN.GT.500.OR.IOPTIM.LT.0)THEN - Q(JVO+1)=0. - IF(NIN.GT.500.AND.IOPTIM.GE.1)THEN - CALL UHTOC(IQ(JVOLUM+IVO),4,NAME,4) - WRITE (CHMAIL,1004) NAME,NIN - CALL GMAIL (0, 0) - ENDIF - ELSEIF(IOPTIM.EQ.0)THEN - IF(ISEARC.LT.0)CALL GGORD (IVO) - ELSEIF(IOPTIM.EQ.1)THEN - IF(ISEARC.EQ.0) THEN - CALL GGORDQ(IVO) - ELSE - CALL GGORD (IVO) - END IF - ELSE - CALL GGORDQ(IVO) - ENDIF - 91 CONTINUE -* -* *** Set status bit for concave volumes -* - CALL GGCAVE -* -* *** Compute maximum number of levels and of contents per level -* - CALL GGNLEV -* - ENDIF -* -* *** Scan the volume structure to retrieve the path through -* the physical tree for all sensitive detectors -* - CALL GHCLOS -* -* *** Books STAT banks if data card STAT is submitted -* - IF (NSTAT.GT.0) CALL GBSTAT -* - CALL MZGARB (IXCONS, 0) -* - 1001 FORMAT (' Severe diagnostic in initialization phase. STOP') - 1002 FORMAT (' GGCLOS : NVOLUM =',I5,' *****') - 1003 FORMAT (' Illegal tracking medium number in volume : ',A4) - 1004 FORMAT (' GGORDQ : Volume ',A4,' has more than 500 (', - + I3,') daughters ; volume sorting not possible !') -* END GGCLOS - 999 END -#else - SUBROUTINE GGCLO2_DUMMY - END -#endif diff --git a/StarVMC/geant3/gbase/ggclos.F b/StarVMC/geant3/gbase/ggclos.F deleted file mode 100644 index b443d8a2de4..00000000000 --- a/StarVMC/geant3/gbase/ggclos.F +++ /dev/null @@ -1,680 +0,0 @@ -* -* $Id: ggclos.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: ggclos.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:44 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.2 1997/11/14 17:44:00 mclareni -* Make sure the maximum angle is greater than the minimun -* -* Revision 1.1.1.1 1995/10/24 10:20:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if !defined(CERNLIB_OLD) -*CMZ : 3.21/04 13/12/94 15.29.27 by S.Giani -*-- Author : - SUBROUTINE G3GCLOS -C. -C. ****************************************************************** -C. * * -C. * Closes off the geometry setting. * -C. * Initializes the search list for the contents of each * -C. * volume following the order they have been positioned, and * -C. * inserting the content '0' when a call to GSNEXT (-1) has * -C. * been required by the user. * -C. * Performs the development of the JVOLUM structure for all * -C. * volumes with variable parameters, by calling GGDVLP. * -C. * Interprets the user calls to GSORD, through GGORD. * -C. * Computes and stores in a bank (next to JVOLUM mother bank) * -C. * the number of levels in the geometrical tree and the * -C. * maximum number of contents per level, by calling GGNLEV. * -C. * Sets status bit for CONCAVE volumes, through GGCAVE. * -C. * Completes the JSET structure with the list of volume names * -C. * which identify uniquely a given physical detector, the * -C. * list of bit numbers to pack the corresponding volume copy * -C. * numbers, and the generic path(s) in the JVOLUM tree, * -C. * through the routine GHCLOS. * -C. * * -C. * Called by : * -C. * Authors : R.Brun, F.Bruyant, S.Giani ********* * -C. * * -C. * Modified by S.Giani for automatic initialization of the new * -C. * tracking based on virtual divisions (1993). * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gclist.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcopti.inc" -#include "geant321/gchvir.inc" - COMMON / FIXIT / JVO, JN - CHARACTER*4 NAME - LOGICAL BTEST -C. -C. ------------------------------------------------------------------ - dimension dx(3),tmpmax(7),ndivto(7),qualit(7),ivoaxi(7) - data jfirst/0/ - save jfirst - COMMON /QUEST/ IQUEST(100) - COMMON/GCDINA/jphi2,jclow,jchig,jbuff -* -* *** Stop the run in case of serious anomaly during initialization -* - IF (IEORUN.NE.0) THEN - WRITE (CHMAIL, 1001) - CALL GMAIL (0, 0) - STOP - ENDIF -* - IF (NVOLUM.LE.0) THEN - WRITE (CHMAIL, 1002) NVOLUM - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* - NPUSH = NVOLUM -IQ(JVOLUM-2) - CALL MZPUSH (IXCONS, JVOLUM, NPUSH, NPUSH,'I') -* -* *** Loop over volumes, create default JNear banks as relevant, -* and release unused bank space -* - IDO = 0 - DO 80 IVO = 1,NVOLUM - JVO = LQ(JVOLUM-IVO) -* -* *** Check if Tracking medium has been defined -* - NMED=Q(JVO+4) - IF(NMED.LE.0.OR.NMED.GT.IQ(JTMED-2))THEN - WRITE(CHMAIL,1003)IQ(JVOLUM+IVO) - CALL GMAIL (0, 0) - ELSE - IF(LQ(JTMED-NMED).EQ.0)THEN - WRITE(CHMAIL,1003)IQ(JVOLUM+IVO) - CALL GMAIL (0, 0) - ENDIF - ENDIF - IF (BTEST(IQ(JVO),0)) GO TO 80 - IDO = 1 - IQ(JVO) = IBSET(IQ(JVO),0) - NINL = IQ(JVO-2) - NIN = Q(JVO+3) - NUSED = IABS(NIN) - IF (NIN.GT.0) THEN -* reserve enough additional space for sorted volumes - IF(NIN.LE.1.OR.NIN.GT.500.OR.IOPTIM.LT.0)THEN - NUSED=NUSED+1 - ELSE - NUSED=NUSED+2 - ENDIF - ENDIF -* - NPUSH = NUSED -NINL - DO 90 IN=NINL,NUSED+1,-1 - JIN = LQ(JVO-IN) - IF(JIN.GT.0) THEN - CALL MZDROP(IXCONS,JIN,'L') - ENDIF - 90 CONTINUE - CALL MZPUSH (IXCONS, JVO, NPUSH, 0, 'I') - IF (NIN.LE.0) GO TO 80 -* - IF(BTEST(IQ(JVO),3)) THEN - IZERO=1 - ELSE - IZERO=0 - ENDIF - NEL = NIN +IZERO - JN = LQ(JVO-NIN-1) - IF(JN.EQ.0) THEN - CALL MZBOOK (IXCONS,JN,JVO,-NIN-1,'VONE',0,0,NEL+1,2,0) - ENDIF - IQ(JN-5) = IVO - IQ(JN+1) = NEL - JN = JN +1 - DO 29 I = 1,NIN - IQ(JN+IZERO+I) = I - 29 CONTINUE - IF (IZERO.NE.0) IQ(JN+1) = 0 -* - 80 CONTINUE -* - IF (IDO.NE.0) THEN -* -* *** Perform development of JVOLUM structure where necessary -* - CALL GGDVLP -* -* *** Fill G3SORD ordering banks if required -* -* Modified by S.Egli to allow GGORDQ to find the optimum sorting for -* all volumes -* - IF(IOPTIM.GE.1)THEN - WRITE(6,'(A)')' GGCLOS: Start automatic volume ordering:' - ENDIF - DO 91 IVO = 1,NVOLUM - JVO = LQ(JVOLUM-IVO) - NIN = Q(JVO+3) - ISEARC=Q(JVO+1) - IF(ISEARC.GT.0) GO TO 91 -* check if sorting not possible or not wanted - IF(NIN.LE.1.OR.NIN.GT.500.OR.IOPTIM.LT.0)THEN - Q(JVO+1)=0. - IF(NIN.GT.500.AND.IOPTIM.GE.1)THEN - CALL UHTOC(IQ(JVOLUM+IVO),4,NAME,4) - WRITE (CHMAIL,1004) NAME,NIN - CALL GMAIL (0, 0) - ENDIF - ELSEIF(IOPTIM.EQ.0)THEN - IF(ISEARC.LT.0)CALL GGORD (IVO) - ELSEIF(IOPTIM.EQ.1)THEN - IF(ISEARC.EQ.0) THEN - CALL GGORDQ(IVO) - ELSE - CALL GGORD (IVO) - END IF - ELSE - CALL GGORDQ(IVO) - ENDIF - 91 CONTINUE -* -* *** Set status bit for concave volumes -* - CALL GGCAVE -* -* *** Compute maximum number of levels and of contents per level -* - CALL GGNLEV -* - ENDIF -* -******************************************************************************** -* - if(jfirst.eq.0)then - jfirst=1 - call mzlink(ixcons,'/GCHVIR/',jvirt,jvdiv,jcont) - call mzlink(ixstor,'/GCDINA/',jphi2,jbuff,jphi2) - endif - jflag=0 - nwjvdi=0 - jphi2=0 - jclow=0 - jchig=0 - jbuff=0 - if(jvirt.ne.0)call mzdrop(ixcons,jvirt,' ') - nwjvir=5*nvolum+20 - call mzneed(ixcons,nwjvir,'G') - if(iquest(11).lt.0)then - print *,'No space for jvirt bank' - else - call mzbook(ixcons,jvirt,jvirt,1,'VIRT',nvolum,nvolum, - + 4*nvolum+20,0,0) - endif - dx(1)=0. - dx(2)=0. - dx(3)=0. - ndivst=0 - ndioff=0 - ninmax=0 - do 101 ivo=1,nvolum - jvo=lq(jvolum-ivo) - call uhtoc(iq(jvolum+ivo),4,NAME,4) -* print *,'VOLUME ',NAME -* print *,' ' - nin=q(jvo+3) - isearc=q(jvo+1) -* if(nin.eq.0)then -* print *,'No daughters.' -* elseif(nin.lt.0)then -* print *,'Divided volume.' -* elseif(nin.le.1)then -* print *,'Only 1 daughter.' -* endif - 1 continue - if(nin.gt.1)then - if(jflag.eq.0)then - if(iswit(9).eq.12345)then - print *,'VOLUME ',NAME - print *,' ' - endif - endif - if(jflag.eq.1)then - q(jvirt+4*(ivo-1)+1)=itmpq - iaxlo=itmpq - iaxhi=itmpq - else - iaxlo=1 - iaxhi=7 - endif - if(nin.gt.ninmax)then - if(jphi2.ne.0)call mzdrop(ixstor,jphi2,' ') - if(jclow.ne.0)call mzdrop(ixstor,jclow,' ') - if(jchig.ne.0)call mzdrop(ixstor,jchig,' ') - call mzbook(ixstor,jphi2,jphi2,2,'PHI2',0,0, - + nin+20,2,-1) - call mzbook(ixstor,jclow,jclow,2,'CLOW',0,0, - + nin+20,3,-1) - call mzbook(ixstor,jchig,jchig,2,'CHIG',0,0, - + nin+20,3,-1) - if(jflag.eq.1)then - if(jbuff.ne.0)call mzdrop(ixstor,jbuff,' ') - call mzbook(ixstor,jbuff,jbuff,2,'BUFF',0,0, - + nin+20,2,-1) - endif - endif - do 110 iaxis=iaxlo,iaxhi - myphif=0 -* print *,'Quality search for axis ',iaxis - ish=q(jvo+2) - if(iaxis.le.3)then - call gvdcar(iaxis,ish,0,q(jvo+7),clmoth,chmoth,ierr) - if(ierr.eq.1.or.(chmoth.le.clmoth))then -* print *,'Not convenient: abandoned!',iaxis -* print *,' ' - qualit(iaxis)=10000 - goto 110 - endif - elseif(iaxis.le.5)then - call gvdrad(iaxis,ish,0,dx,q(jvo+7),clmoth,chmoth,ierr) - if(iaxis.eq.5)ierr=1 - if(ierr.eq.1.or.(chmoth.le.clmoth))then -* print *,'Not convenient: abandoned!',iaxis -* print *,' ' - qualit(iaxis)=10000 - goto 110 - endif - elseif(iaxis.eq.6)then - call gvdphi(ish,0,dx,q(jvo+7),clmoth,chmoth,ierr) - if(ierr.eq.1.or.(chmoth.le.clmoth))then -* print *,'Not convenient: abandoned!',iaxis -* print *,' ' - qualit(iaxis)=10000 - goto 110 - elseif((chmoth-clmoth).gt.360..or.chmoth.gt.360)then - print *,'(chmoth-clmoth).gt.360.or.chmoth.gt.360' - elseif((chmoth-clmoth).eq.360.)then - myphif=1 - endif - elseif(iaxis.eq.7)then - call gvdthe(ish,0,dx,q(jvo+7),clmoth,chmoth,ierr) - ierr=1 - if(ierr.eq.1.or.(chmoth.le.clmoth))then -* print *,'Not convenient: abandoned!',iaxis -* print *,' ' - qualit(iaxis)=10000 - goto 110 - endif - endif - if(jflag.eq.1)then - q(jvirt+4*(ivo-1)+3)=clmoth - q(jvirt+4*(ivo-1)+4)=chmoth - endif - thimot=abs(chmoth-clmoth) - thimin=100000. - do 102 in=1,nin - iq(jphi2+in)=0 - jin=lq(jvo-in) - call gvdlim(jvo,in,iaxis,clow,chigh,ierr) - if(ierr.eq.1.or.(chigh.le.clow))then -* if(ierr.eq.0)print *,'Error in gvdlim: corrected',iaxis - clow=clmoth - chigh=chmoth - elseif(myphif.eq.1)then - clowm=clow - chighm=chigh - sg=sign(1.0,clow) - clow=mod(abs(clow),360.0) - if(chigh.ne.360.0)then - if(sg.le.0.0)clow=360.-clow - sg=sign(1.0,chigh) - chigh=mod(abs(chigh),360.0) - if(sg.le.0.0)chigh=360.-chigh - endif - if(chigh.lt.clow)then - chightf = clow - clow = chigh - chigh = chightf - iq(jphi2+in)=1 - endif - elseif(iaxis.eq.6.and.myphif.eq.0)then - if((chigh-chmoth).gt..01.or.(clmoth-clow).gt..01)then - if(clmoth.lt.0..and.clow.gt.0.)then - clow=clow-360. - chigh=chigh-360. - if((chigh-chmoth).gt..01)then - chigh=chmoth - if(chigh.le.clow)clow=clmoth - elseif((clmoth-clow).gt..01)then - clow=clmoth - if(clow.ge.chigh)chigh=chmoth - endif - elseif(chigh.lt.0..and.chmoth.gt.0.)then - clow=clow+360. - chigh=chigh+360. - if((chigh-chmoth).gt..01)then - chigh=chmoth - if(chigh.le.clow)clow=clmoth - elseif((clmoth-clow).gt..01)then - clow=clmoth - if(clow.ge.chigh)chigh=chmoth - endif - endif - endif - endif - if((chigh-chmoth).gt..01)then -*** ONLY FOR DEBUG -* print *,'iaxis =',iaxis,'protuding daughter',in -** print *,'myphif =',myphif,'myphi2 =',iq(jphi2+in) -* print *,'Dhigh=',chigh-chmoth -* print *,'Dlow=',clmoth-clow -*** - chigh=chmoth - if(chigh.le.clow)clow=clmoth - elseif((clmoth-clow).gt..01)then -*** ONLY FOR DEBUG -* print *,'iaxis =',iaxis,'protuding daughter',in -** print *,'myphif =',myphif,'myphi2 =',iq(jphi2+in) -* print *,'Dhigh=',chigh-chmoth -* print *,'Dlow=',clmoth-clow -*** - clow=clmoth - if(clow.ge.chigh)chigh=chmoth - endif - q(jclow+in)=clow - q(jchig+in)=chigh - if(iq(jphi2+in).eq.0)then - tmpthi=abs(chigh-clow) - else - tmpthi=abs(chighm-clowm) - endif - if(thimin.gt.tmpthi)thimin=tmpthi - 102 continue - if((thimin-thimot).gt.1)then -* print *,'thimin.gt.thimot',thimin-thimot,'iax=',iaxis - qualit(iaxis)=10000 - goto 110 - endif - if(thimin.lt.0.04)thimin=0.04 - tmpndi=2.*thimot/thimin - nditmp=tmpndi+1 -***** print *,nditmp,' divisions asked for ',nin,' daughters.' -***** if(nditmp.lt.nin)then -***** nditmp=nin -***** print *,'Number of divisions corrected to be = ',nin -***** endif -***** if(nditmp.gt.1000.)print *,'1000 divisions are enough.' - ndivto(iaxis)=min(nditmp,1000) - if(jflag.eq.1)then - q(jvirt+4*(ivo-1)+2)=ndivto(iaxis) - jvdiv=lq(jvirt-ivo) - if(jvdiv.ne.0)call mzdrop(ixcons,jvdiv,' ') - nwvili=ndivto(iaxis)+ivoaxi(itmpq)+11 - nwjvdi=nwjvdi+nwvili - call mzneed(ixcons,nwvili,'G') - if(iquest(11).lt.0)then - print *,'No space for jvdiv bank',ivo - else - call mzbook(ixcons,jvdiv,jvirt,-ivo,'VLIST',0,0, - + nwvili,2,0) - endif - endif - thisli=thimot/ndivto(iaxis) - clslic=clmoth - chslic=clmoth+thisli - avelis=0. - aveave=0. - avesta=0. - ii=0 - tmpmax(iaxis)=0. - import=0 - if(jflag.eq.1)ioff=ndivto(iaxis) - do 103 i=1,ndivto(iaxis) - j=1 - do 104 in=1,nin - if(iq(jphi2+in).eq.0)then - if(q(jchig+in).ge.clslic.and. - + q(jclow+in).le.chslic)then - j=j+1 - if(jflag.eq.1)then - iq(jbuff+j)=in - endif - endif - else - if(q(jchig+in).ge.clslic.or. - + q(jclow+in).le.chslic)then - j=j+1 - if(jflag.eq.1)then - iq(jbuff+j)=in - endif - endif - endif - 104 continue - inbuf1=j-1 - if(jflag.eq.1)then - if(i.gt.1.and.iq(jbuff+1).eq.(j-1))then - if(j-1.eq.0)then - import=1 - elseif(j-1.eq.1)then - if(iq(jbuff+2).eq.iq(jvdiv+ioff-nposti+2))then - import=1 - else - import=0 - endif - else - import=1 - do 234 ijk=2,nposti-2 - do 432 kji=2,nposti-2 - if(iq(jbuff+ijk).eq.iq(jvdiv+ioff-nposti+kji))then - goto 234 - endif - 432 continue - import=0 - goto 235 - 234 continue - 235 continue - endif - if(import.eq.1)then - iq(jvdiv+ioff-nposti+nposti)=i - iq(jvdiv+i)=ioff-nposti - goto 145 - endif - else - import=0 - endif - iq(jbuff+1)=j-1 - nposti=j+2 - iq(jbuff+j+1)=i - iq(jbuff+j+2)=i - iq(jvdiv+i)=ioff - do 144 m=1,nposti - iq(jvdiv+ioff+m)=iq(jbuff+m) - 144 continue - ioff=ioff+nposti - else - aveinc=j+2 - avesta=avesta+aveinc - endif - 145 continue - if(inbuf1.gt.tmpmax(iaxis))then - tmpmax(iaxis)=inbuf1 - endif - if(inbuf1.ne.0.)ii=ii+1 - avelis=avelis+inbuf1 - clslic=chslic - chslic=clslic+thisli - 103 continue - if(jflag.eq.1)then - ndioff=ndioff+ioff - if(iswit(9).eq.12345)then - print *,'words booked =',nwvili,'; words used =',ioff - print *,' ' - endif -*** ONLY FOR DEBUG -** mymyof=0 -** do 2 mm=1,ndivto(iaxis) -** myoff=iq(jvdiv+mm) -** if(myoff.ne.mymyof)then -** if(iq(jvdiv+myoff+1).eq.0)then -** print *,'Lower div =',iq(jvdiv+myoff+2) -** print *,'Upper div =',iq(jvdiv+myoff+3) -** elseif(iq(jvdiv+myoff+1).eq.1)then -** print *,'Lower div =',iq(jvdiv+myoff+3) -** print *,'Upper div =',iq(jvdiv+myoff+4) -** endif -** endif -** mymyof=iq(jvdiv+mm) -** 2 continue -*** - endif - if(ii.eq.0)then - print *,iaxis,'=iax: not filled divisions: error!' - print *,' ' - aveave=10000 - avelis=10000 - goto 105 - endif - if(jflag.eq.0)then - ivoaxi(iaxis)=avesta - endif - aveave=avelis/ndivto(iaxis) - avelis=avelis/ii - 105 continue - qualit(iaxis)=avelis -*** ONLY FOR DEBUG -** print *,'Max n. of objects per div = ',tmpmax(iaxis) -** print *,'Aver. n. of obj. per not-empty div = ',avelis -** print *,'Average n. of objects per div = ',aveave -** print *,' ' -*** - 110 continue - if(jflag.eq.0)then - tmpq=10000 - tmpm=10000 - itmpq=0 - itmpm=0 - do 111 iaxis=1,7 - if(qualit(iaxis).lt.tmpq)then - tmpq=qualit(iaxis) - itmpq=iaxis - endif - if(tmpmax(iaxis).lt.tmpm)then - tmpqm=tmpmax(iaxis) - itmpm=iaxis - endif - 111 continue - if(iswit(9).eq.12345)then - print *,'nin=',nin,' iax=',itmpq,' ndiv=',ndivto(itmpq) - print *,'Max n. of objects per div = ',tmpmax(itmpq) - print *,'Average n. of objects per div = ',tmpq - endif -*** ONLY FOR DEBUG -** if(isearc.lt.0)then -** jsb=lq(lq(jvo-nin-1)) -** iaxor=q(jsb+1) -** ndivor=q(jsb+2)-1 -** jsco=lq(jvo-nin-2) -** tmpqor=0. -** tmpmor=0. -** do 133 idivor=1,ndivor -** if(iq(jsco+idivor).gt.tmpmor)tmpmor=iq(jsco+idivor) -** tmpqor=tmpqor+iq(jsco+idivor) -** 133 continue -** tmpqor=tmpqor/ndivor -** print *,'Gsord: iax=',iaxor,' ndiv=',ndivor -** print *,'Gsord: Max n. of obj. per div = ',tmpmor -** print *,'Gsord: Aver. n. of obj. per div = ',tmpqor -** endif -*** - ndivst=ndivst+(ndivto(itmpq)+ndivto(itmpq)*(3.+tmpq)+10.) - jflag=1 - goto 1 - else - jflag=0 -*** ONLY FOR DEBUG -** print *,'nin=',nin,' iax=',q(jvirt+4*(ivo-1)+1),' ndiv=', -** +q(jvirt+4*(ivo-1)+2) -** ittmp=0 -** iind=q(jvirt+4*(ivo-1)+2) -** do 155 n=1,iind -** jvdiv=lq(jvirt-ivo) -** iofset=iq(jvdiv+n) -** nnobj=iq(jvdiv+iofset+1) -** if(nnobj.gt.ittmp)ittmp=nnobj -** 155 continue -** print *,'Max n. of objects per div = ',ittmp -** print *,' ' -** print *,' ' -*** - endif - endif - if(nin.gt.ninmax)ninmax=nin - 101 continue - nwtota=ndivst+nvolum*5+10. - if(iswit(9).eq.12345)then - print *,'Computed number of words foreseen = ',nwtota - endif - nwreal=nwjvir+nwjvdi - if(iswit(9).eq.12345)then - print *,'Computed number of words booked = ',nwreal - endif - nwneed=nwjvir+ndioff - if(iswit(9).eq.12345)then - print *,'Computed number of words needed = ',nwneed - endif - if(jphi2.ne.0)call mzdrop(ixstor,jphi2,' ') - if(jclow.ne.0)call mzdrop(ixstor,jclow,' ') - if(jchig.ne.0)call mzdrop(ixstor,jchig,' ') - if(jbuff.ne.0)call mzdrop(ixstor,jbuff,' ') -* -******************************************************************************** -* -* *** Scan the volume structure to retrieve the path through -* the physical tree for all sensitive detectors -* - CALL G3HCLOS -* -* *** Books STAT banks if data card STAT is submitted -* - IF (NSTAT.GT.0) CALL G3BSTAT -* - CALL MZGARB (IXCONS, 0) -* - 1001 FORMAT (' Severe diagnostic in initialization phase. STOP') - 1002 FORMAT (' GGCLOS : NVOLUM =',I5,' *****') - 1003 FORMAT (' Illegal tracking medium number in volume : ',A4) - 1004 FORMAT (' GGORDQ : Volume ',A4,' has more than 500 (', - + I3,') daughters ; volume sorting not possible !') -* END GGCLOS - 999 END - -#endif diff --git a/StarVMC/geant3/gbase/ghclos.F b/StarVMC/geant3/gbase/ghclos.F deleted file mode 100644 index db1e216c6b7..00000000000 --- a/StarVMC/geant3/gbase/ghclos.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: ghclos.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: ghclos.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3HCLOS -C. -C. ****************************************************************** -C. * * -C. * SUBR. G3HCLOS * -C. * * -C. * For every sensitive detector, calls GGDETV in order to * -C. * complete the JD bank with the list of volume names which * -C. * permit to identify uniquely a given physical detector, the * -C. * list of bit numbers to pack the corresponding volume copy * -C. * numbers, and the generic path(s) through the JVOLUM tree. * -C. * * -C. * Called by : G3GCLOS, * -C. * Author : F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -C. -C. ------------------------------------------------------------------ -* - IF (JSET.NE.0) THEN -* -* *** Scan the volume structure to retrieve the path through -* the physical tree for all sensitive detectors -* - NSET = IQ(JSET-1) - DO 20 ISET=1,NSET - JS = LQ(JSET-ISET) - NDET = IQ(JS-1) - DO 10 IDET=1,NDET - CALL GGDETV (ISET, IDET) - 10 CONTINUE - 20 CONTINUE - ENDIF -* END GHCLOS - END diff --git a/StarVMC/geant3/gbase/ginit.F b/StarVMC/geant3/gbase/ginit.F deleted file mode 100644 index 8b3de8b4d25..00000000000 --- a/StarVMC/geant3/gbase/ginit.F +++ /dev/null @@ -1,418 +0,0 @@ -* -* $Id: ginit.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: ginit.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:44 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.4 1996/09/30 14:25:31 ravndal -* Windows NT related modifications -* -* Revision 1.3 1996/04/15 14:14:55 ravndal -* PATCHY does not set date and time any more -* -* Revision 1.2 1996/03/13 17:20:42 ravndal -* Mod's for the parallel version -* -* Revision 1.1.1.1 1995/10/24 10:20:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 22/02/95 16.02.44 by S.Giani -*-- Author : - SUBROUTINE G3INIT -C. -C. ****************************************************************** -C. * * -C. * GEANT initialisation routine * -C. * * -C. * IFINIT(1)=1 free * -C. * (2)=1 if G3ZINIT " " * -C. * (3)=1 if G3LUND or G3LUNDI have been called * -C. * (4)=1 if GHEINI or GPGHEI have been called * -C. * (5)=1 if GHCASC has been called * -C. * (6)=1 if G3LUDKY has been called * -C. * (7)=1 if G3TAU " " * -C. * (8)=1 if G3PRELA * -C. * (9)=1 if G3PCXYZ * -C. * (10)=1 if GDRAW * -C. * (11)=1 if INIT_GMR * -C. * (12)=1 if GET_GEANT_STRUCTURE * -C. * (13)=1 if G3PIONS * -C. * (14)=1 if GDINIT * -C. * * -C. * ==>Called by : , UGINIT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gclist.inc" -#include "geant321/gcsets.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcpush.inc" -#include "geant321/gctime.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcparm.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcscan.inc" -#include "geant321/gcopti.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcrz.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -* -* COMMON/GCONST/PI,TWOPI,PIBY2,DEGRAD,RADDEG,CLIGHT,BIG,EMASS -* COMMON/GCONSX/EMMU,PMASS,AVO - COMMON/GCONST/CONS1(8) - COMMON/GCONSX/CONS2(3) -#if defined(CERNLIB_USRJMP) - EXTERNAL GUDCAY, GUDIGI, GUDTIM, GUFLD , GUHADR, GUIGET, - + GUINME, GUINTI, GUKINE, GUNEAR, GUOUT , GUPHAD, - + GUSKIP, GUSTEP, GUSWIM, GUTRAK, GUTREV, GUVIEW, - + GUPARA -#if defined(CERNLIB_LXIA64) - INTEGER*8 JUMPAD -#endif -#endif -C -C ZEBRA system common blocks -C - COMMON /ZHEADP/IQHEAD(20),IQDATE,IQTIME,IQPAGE,NQPAGE(4) - COMMON /ZMACH/ NQBITW,NQBITC,NQCHAW,NQLNOR,NQLMAX,NQLPTH,NQRMAX - +, IQLPCT,IQNIL - COMMON /ZSTATE/QVERSN,NQPHAS,IQDBUG,NQDCUT,NQWCUT,NQERR - +, NQLOGD,NQLOGM,NQLOCK,NQDEVZ,NQAUGM(6) - COMMON /ZUNIT/ IQREAD,IQPRNT,IQPR2,IQLOG,IQPNCH,IQTTIN,IQTYPE -C - CHARACTER*4 MEC(MAXMEC),MEC1(MAXME1),DFLT(2) - CHARACTER*8 CHVERS,CHDATE - - CHARACTER*4 CDUMMY -#if defined(CERNLIB_MONITOR) - CHARACTER*32 CHINFO -#endif - PARAMETER (LEFTM1=MAXME1-9) - SAVE LOAD - DATA LOAD/0/ - DATA DFLT /' ','XXXX'/ - DATA MEC/'NEXT','MULS','LOSS','FIEL','DCAY','PAIR','COMP','PHOT' - + ,'BREM','DRAY','ANNI','HADR','ECOH','EVAP','FISS','ABSO' - + ,'ANNH','CAPT','EINC','INHE','MUNU','TOFM','PFIS','SCUT' - + ,'RAYL','PARA','PRED','LOOP','NULL','STOP'/ - DATA MEC1/'LABS','LREF','SMAX','SCOR','CKOV','REFL','REFR', - + 'SYNC','STRA',LEFTM1*' '/ -C. -C. ------------------------------------------------------------------ -C. -C -#if defined (CERNLIB_PARA) - CALL G3PINIT() -#endif - IDATQQ = 0 - ITIMQQ = 0 - CALL GETVER(CHVERS,CHDATE,GVERSN) - ZVERSN = QVERSN - IGDATE = IQDATE - IGTIME = IQTIME - LIN = IQREAD - IF(IQTTIN.NE.0) LIN=IQTTIN - LOUT = IQPRNT -C - WRITE (CHMAIL,10100) CHVERS,CHDATE - CALL GMAIL(0,0) -* - GVERSC = 0.0 -#include "geant321/gversc.inc" -* Ignoring t=pass - IF (GVERSC.NE.0.0) THEN - WRITE (CHMAIL,10200) GVERSC - CALL GMAIL(0,0) - ENDIF -#if defined(CERNLIB_MONITOR) -* - WRITE(CHINFO,10000) GVERSN, GVERSC -10000 FORMAT(' Version/Cradle: ',F7.4,'/',F7.4) - CALL G3EAMON(1,CHINFO) -#endif -C Since conversion to CVS library handling, this -C is ommitted because PATCHY does not anymore -C set IDATQQ, ITIMQQ -C -C WRITE(CHMAIL,10300)IDATQQ,ITIMQQ -C CALL GMAIL(0,1) -C -#if defined(CERNLIB_USRJMP) - JUDCAY = JUMPAD(GUDCAY) - JUDIGI = JUMPAD(GUDIGI) -* GUDTIM is a function - JUFLD = JUMPAD(GUFLD) - JUHADR = JUMPAD(GUHADR) - JUIGET = JUMPAD(GUIGET) - JUINME = JUMPAD(GUINME) - JUINTI = JUMPAD(GUINTI) - JUKINE = JUMPAD(GUKINE) - JUNEAR = JUMPAD(GUNEAR) - JUOUT = JUMPAD(GUOUT) - JUPHAD = JUMPAD(GUPHAD) - JUSKIP = JUMPAD(GUSKIP) - JUSTEP = JUMPAD(GUSTEP) - JUSWIM = JUMPAD(GUSWIM) - JUTRAK = JUMPAD(GUTRAK) - JUTREV = JUMPAD(GUTREV) - JUVIEW = JUMPAD(GUVIEW) - JUPARA = JUMPAD(GUPARA) -#endif -C - CALL FFINIT(0) - NBIT = NQBITW - CALL UCTOH(DFLT,IDFLT,4,4) - CONS1( 1) = PI - CONS1( 2) = TWOPI - CONS1( 3) = PIBY2 - CONS1( 4) = DEGRAD - CONS1( 5) = RADDEG - CONS1( 6) = CLIGHT - CONS1( 7) = BIG - CONS1( 8) = EMASS - CONS2( 1) = EMMU - CONS2( 2) = PMASS - CONS2( 3) = AVO - DO 10 J=1,MXGKIN - TOFD(J) = 0. - IFLGK(J) = 0 - 10 CONTINUE -C - IGAUTO= 1 - IPAIR = 1 - ICOMP = 1 - IPHOT = 1 - IRAYL = 0 - IBREM = 1 - IHADR = 1 - IANNI = 1 - IDRAY = 1 - IMUNU = 1 - IPFIS = 0 - IDCAY = 1 - ILOSS = 2 - IMULS = 1 - ILABS = -1 - ITCKOV = 0 - ISYNC = 0 - ISTRA = 0 -C - IABAN = 1 - DPHYS1 = IABAN -C - CUTGAM = 0.001 - CUTELE = 0.001 - CUTHAD = 0.01 - CUTNEU = 0.01 - CUTMUO = 0.01 - TOFMAX = BIG - DO 20 J=1,5 - GCUTS(J) = 0. - 20 CONTINUE -C -C The following cuts can be changed by data card CUTS -C If they are now changed, then the routine GPHYSI -C will change them respectively to -C BCUTE=CUTGAM,BCUTM=CUTGAM, DCUTE=CUTELE, DCUTM=CUTELE -C and PPCUTM=4.*EMASS -C - DCUTE = BIG - DCUTM = BIG - BCUTE = BIG - BCUTM = BIG - PPCUTM= BIG - ISTPAR= 1 - IOPTIM= 0 -C - NCVERT = 5 - NCKINE = 50 - NCJXYZ = 100 - NPVERT = 5 - NPKINE = 10 - NPJXYZ = 200 -C - IKINE = 0 - DO 30 J=1,10 - PKINE(J) = BIG - 30 CONTINUE - CALL VZERO (IHSET,26) - CALL VZERO (NHSTA,9) - CALL VFILL (LHSTA, 180, IDFLT) - CALL VFILL (LRGET, 40, IDFLT) - CALL VZERO (NUNITS,6) - CALL VZERO (IDEBUG,42) - CALL VZERO (NMATE,9) - CALL VZERO (NLEVEL,306) - NALIVE = 0 - NTMSTO = 0 - NJTMAX = 0 - NJTMIN = 0 - NTSTKP = 500 - NTSTKS = 100 -* -*-------- Scan parameters defaults - SCANFL = .FALSE. - NPHI = 90 - PHIMIN = 0. - PHIMAX = 360. - IPHI1 = 1 - IPHIL = NPHI - NTETA = 90 - TETMID(1) = -10. - TETMID(2) = 0. - TETMID(3) = -1. - TETMAD(1) = 10. - TETMAD(2) = 180. - TETMAD(3) = 1. - MODTET = 1 - CALL VFILL (ISLIST,MSLIST,IDFLT) - CALL UCTOH(DFLT(2),ISLIST(1),4,4) - NSLIST = 1 - VSCAN(1) = 0. - VSCAN(2) = 0. - VSCAN(3) = 0. - FACTX0 = 100. - FACTL = 10. - FACTSF = 100. - FACTR = 100. -*--- Parametrization cut=0 means no parametrization - IPARAM = 0 - DO 40 J=1,5 - PACUTS(J) = 0. - 40 CONTINUE -*--- Size for the primary parametrization stak - MPSTAK = 1000 -*--- Number of particles generated for every shower - NPGENE = 20 -*-------- Scan parameters defaults -C - RZTAGS(1)='STRUCTUR' - RZTAGS(2)='TRIG-NR ' - RZTAGS(3)='RUNG-NRT ' - RZTAGS(4)='USER-ID ' - NRGET = 0 - NRSAVE = 0 - NRECRZ = 1000 -C - IPAOLD =-1 - NUMOLD = 0 -C - IEVENT = 0 - IDRUN = 1 - NHEAD = 10 - NTMED = 100 - NMATE = 100 - NROTM = 100 - NPART = 100 - NEVENT = 10000000 -C - TIMINT = 0. - TIMEND = 1. - ITIME = 1 -C - CALL UCTOH(MEC,NAMEC,4,MAXMEC*4) - CALL UCTOH(MEC1,NAMEC1,4,MAXME1*4) - MAXNST=10000 -C -C Constants for energy loss and physics processes -C - UPWGHT=1. - NEKBIN=90 - NEK1=NEKBIN+1 - EKMIN=1.E-5 - EKMAX=1.E+4 -C -C Initialize Random number generator -C - NRNDM(1) = 0 - NRNDM(2) = 0 -* CALL GRNDMQ(0,0,1,' ') -#if defined (CERNLIB_PARA) - CALL GPDEFRNG(1) -#endif -C -C Constants for multiple scattering (GMUL) -C - DXM=TWOPI/100. - XM=-0.5*DXM - SQ=-0.0099999 - DO 50 I=1,101 - SQ=SQ+0.01 - IF(I.LT.101)SQRMUL(I)=SQRT(-2.*LOG(SQ)) - XM=XM+DXM - SINMUL(I)=SIN(XM) - 50 COSMUL(I)=COS(XM) - SQRMUL(101)=0.01 -C -C This piece of code to force loading of default -C routines from the GEANG file on some machines -C like VAX. -C - IF(LOAD.NE.0)THEN - CALL G3WORK (IP1) -#if !defined(CERNLIB_USRJMP) - CALL GUDCAY - CALL GUDIGI - CALL GUDTIM( P2, P3,IP4, P4) - CALL GUFLD ( P1, P2) - CALL GUHADR - CALL GUIGET(IP1,IP2,IP3) - CALL GUINME( P1, P2, P3,IP4) - CALL GUINTI - CALL GUKINE - CALL GUNEAR(IP1,IP2, P3,IP4) - CALL GUOUT - CALL GUPHAD - CALL GUSKIP(IP1) - CALL GUSTEP - CALL GUSWIM( P1, P2, P3, P4) - CALL GUTRAK - CALL GUTREV - CALL GUVIEW(IP1,IP2,CDUMMY,IP4) - CALL GUPARA -#endif - ENDIF -C -10100 FORMAT('1***** GEANT Version ',A8,' Released on ',A8) -10200 FORMAT('0***** Correction Cradle Version ',F7.4) -10300 FORMAT(' ***** Library compiled on ',I6,' at ',I4,' *****') - END diff --git a/StarVMC/geant3/gbase/glast.F b/StarVMC/geant3/gbase/glast.F deleted file mode 100644 index c85c1b57a18..00000000000 --- a/StarVMC/geant3/gbase/glast.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: glast.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: glast.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3LAST -C. -C. ****************************************************************** -C. * * -C. * TERMINATION ROUTINE * -C. * * -C. * ==>Called by : , UGLAST * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -#include "geant321/gctime.inc" -C. -C. ------------------------------------------------------------------ -C. - WRITE (CHMAIL,1000) IEVENT - CALL GMAIL(0,0) -C - CALL GRNDMQ(NRNDM(1),NRNDM(2),0,'G') -C - WRITE (CHMAIL,3000) NRNDM - CALL GMAIL(0,0) -C -C COMPUTE ONE EVENT PROCESSING TIME -C - IF(IEVENT.GT.0)THEN - CALL TIMEL(TIMLFT) - XMEAN = (TIMINT - TIMLFT)/IEVENT - WRITE(CHMAIL,4000)XMEAN - CALL GMAIL(0,2) - ENDIF -C -C Print ZEBRA statistics -C - CALL MZEND -C -C Print statistics -C - IF(JGSTAT.NE.0)CALL G3PSTAT -#if defined(CERNLIB_MONITOR) -C -C Call monitoring routine -C - CALL G3EAMON(2,'GLAST') -#endif -C - 1000 FORMAT('1',9X,'**** NUMBER OF EVENTS PROCESSED =',I10) - 3000 FORMAT(10X,'**** RANDOM NUMBER GENERATOR AFTER' - +,' LAST COMPLETE EVENT ',2I12) - 4000 FORMAT(10X,'**** TIME TO PROCESS ONE EVENT IS =',F10.4, - + ' SECONDS') - END diff --git a/StarVMC/geant3/gbase/glook.F b/StarVMC/geant3/gbase/glook.F deleted file mode 100644 index 307b81d0647..00000000000 --- a/StarVMC/geant3/gbase/glook.F +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: glook.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: glook.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE GLOOK(NAME,IVECT,N,ILOOK) -C. -C. ****************************************************************** -C. * * -C. * Search position ILOOK of element NAME in array IVECT * -C. * of length N * -C. * * -C. * ==>Called by : many GEANT and GEANG routines * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION IVECT(1) - CHARACTER*(*) NAME -C. -C. ------------------------------------------------------------------ -C. - CALL UCTOH(NAME,NAMEH,4,4) - ILOOK=IUCOMP(NAMEH,IVECT,N) -C - END diff --git a/StarVMC/geant3/gbase/gmail.F b/StarVMC/geant3/gbase/gmail.F deleted file mode 100644 index 1ed71a87bca..00000000000 --- a/StarVMC/geant3/gbase/gmail.F +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: gmail.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gmail.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE GMAIL(LINBEF,LINAFT) -C. -C. ****************************************************************** -C. * * -C. * Send a mail on the output device (usually unit LOUT) * -C. * The mail is in character array CHMAIL of /GCMAIL/ * -C. * Max length is 132 chars and trailing blanks are stripped * -C. * LINBEF lines are skipped before mail and LINAFT after * -C. * * -C. * ==>Called by : many routines * -C. * Authors : R.Brun, P.Zanarini ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" -C. -C. ------------------------------------------------------------------ -C. - DO 10 I=1,LINBEF - WRITE (LOUT,1000) - 10 CONTINUE - DO 20 NCH=132,1,-1 - IF (CHMAIL(NCH:NCH).NE.' ') GO TO 30 - 20 CONTINUE - NCH=1 - 30 CONTINUE - WRITE (LOUT,2000) CHMAIL(1:NCH) - DO 40 I=1,LINAFT - WRITE (LOUT,1000) - 40 CONTINUE - 1000 FORMAT (1X) - 2000 FORMAT (A) - END diff --git a/StarVMC/geant3/gbase/gphead.F b/StarVMC/geant3/gbase/gphead.F deleted file mode 100644 index f091816add7..00000000000 --- a/StarVMC/geant3/gbase/gphead.F +++ /dev/null @@ -1,81 +0,0 @@ -* -* $Id: gphead.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gphead.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PHEAD -C. -C. ****************************************************************** -C. * * -C. * Prints Header bank JHEAD * -C. * * -C. * ==>Called by : * -C. * Author M.Maire * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcflag.inc" -* - IF (JHEAD.NE.0) THEN - NHEAD = IQ(JHEAD-1) - WRITE (CHMAIL,1000) (IQ(JHEAD+I),I=1,4) - CALL GMAIL(0,0) - WRITE (CHMAIL,1001) (IQ(JHEAD+I),I=5,NHEAD) - CALL GMAIL(0,0) - IF (LQ(JHEAD-1).NE.0) THEN - WRITE(CHMAIL,2000) - CALL GMAIL(0,0) - JHU = LQ(JHEAD-1) - NDT = IQ(JHU-1) - NW = MIN(NDT,9) - WRITE(CHMAIL,3000) (Q(JHU+I),I=1,NW) - 15 CALL GMAIL(0,0) - IF ((NDT-NW).GT.0) THEN - NS = NW+1 - NW = MIN(NDT,NW+9) - WRITE(CHMAIL,3000) (Q(JHU+I),I=NS,NW) - GO TO 15 - ENDIF - ENDIF - ELSE - WRITE(CHMAIL,4000) IEVENT - CALL GMAIL(0,0) - ENDIF -* - 1000 FORMAT(' **** GPHEAD: IDRUN=',I4,' IDEVT=',I7, - & ' Random Seeds = ',I10,2X,I10) - 1001 FORMAT(20X,10I10) - 2000 FORMAT(14X,'User words') - 3000 FORMAT( 1X,9(2X,E12.5)) - 4000 FORMAT(' **** GPHEAD: No Header bank in memory for ievent:',I7) -* - END diff --git a/StarVMC/geant3/gbase/gprint.F b/StarVMC/geant3/gbase/gprint.F deleted file mode 100644 index 3bec0584ac0..00000000000 --- a/StarVMC/geant3/gbase/gprint.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: gprint.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gprint.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PRINT(CHNAME,NUMB) -C. -C. ****************************************************************** -C. * * -C. * Routine to print data structures * -C. * * -C. * CHNAME name of a data structure * -C. * NUMB data structure number * -C. * * -C. * ==>Called by : , UGINIT , GINC4 * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. - CHARACTER*4 KNAMES(11),NAME - DIMENSION NHAMES(11) - CHARACTER*(*) CHNAME - SAVE IFIRST,KNAMES,NHAMES - DATA IFIRST/0/ - DATA KNAMES/'DIGI','JXYZ','HITS','KINE','MATE','VOLU' - + ,'ROTM','SETS','TMED','PART','VERT'/ -C. -C. ------------------------------------------------------------------ -C. - NAME=CHNAME - IF(IFIRST.EQ.0)THEN - IFIRST=1 - CALL UCTOH(KNAMES,NHAMES,4,44) - ENDIF -C - CALL GLOOK(NAME,NHAMES,11,JUMP) -C - IF(JUMP.EQ. 1) CALL G3PDIGI ('*','*') - IF(JUMP.EQ. 2) CALL G3PJXYZ (NUMB) - IF(JUMP.EQ. 3) CALL G3PHITS ('*','*') - IF(JUMP.EQ. 4) CALL G3PKINE (NUMB) - IF(JUMP.EQ. 5) CALL G3PMATE (NUMB) - IF(JUMP.EQ. 6) CALL G3PVOLU (NUMB) - IF(JUMP.EQ. 7) CALL G3PROTM (NUMB) - IF(JUMP.EQ. 8) CALL G3PSETS ('*','*') - IF(JUMP.EQ. 9) CALL G3PTMED (NUMB) - IF(JUMP.EQ.10) CALL G3PPART (NUMB) - IF(JUMP.EQ.11) CALL G3PVERT (NUMB) -C - END diff --git a/StarVMC/geant3/gbase/gprung.F b/StarVMC/geant3/gbase/gprung.F deleted file mode 100644 index 834abfaa604..00000000000 --- a/StarVMC/geant3/gbase/gprung.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: gprung.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gprung.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PRUNG -C. -C. ****************************************************************** -C. * * -C. * Prints Rung bank JRUNG * -C. * * -C. * ==>Called by : * -C. * Author M.Maire * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -* - IF (JRUNG.NE.0) THEN - NRUNG = IQ(JRUNG-1) - WRITE (CHMAIL,1000) (IQ(JRUNG+I),I=1,10) - CALL GMAIL(0,0) - WRITE (CHMAIL,1001) (IQ(JRUNG+I),I=11,20) - CALL GMAIL(0,0) - WRITE (CHMAIL,1002) ( Q(JRUNG+I),I=21,30) - CALL GMAIL(0,0) - IF (LQ(JRUNG-1).NE.0) THEN - WRITE(CHMAIL,2000) - CALL GMAIL(0,0) - JRU = LQ(JRUNG-1) - NDT = IQ(JRU-1) - NW = MIN(NDT,9) - WRITE(CHMAIL,3000) (Q(JRU+I),I=1,NW) - 15 CALL GMAIL(0,0) - IF ((NDT-NW).GT.0) THEN - NS = NW+1 - NW = MIN(NDT,NW+9) - WRITE(CHMAIL,3000) (Q(JRU+I),I=NS,NW) - GO TO 15 - ENDIF - ENDIF - ELSE - WRITE(CHMAIL,4000) - CALL GMAIL(0,0) - ENDIF -* - 1000 FORMAT(' **** GPRUNG: IDRUN=',I4,2X,9I7) - 1001 FORMAT(20X,10I10) - 1002 FORMAT(20X,10F10.4) - 2000 FORMAT(14X,'User words') - 3000 FORMAT( 1X,9(2X,E12.5)) - 4000 FORMAT(' **** GPRUNG: No Rung bank existing in memory ') -* - END diff --git a/StarVMC/geant3/gbase/grun.F b/StarVMC/geant3/gbase/grun.F deleted file mode 100644 index db7e2d33e6d..00000000000 --- a/StarVMC/geant3/gbase/grun.F +++ /dev/null @@ -1,75 +0,0 @@ -*CMZ : 03/11/94 15.43.38 by John Apostolakis CERN GP-MIMD 2 -*-- Author : - SUBROUTINE G3RUN -*. -*. ****************************************************************** -*. * * -*. * Steering routine to process all the events * -*. * * -*. * ==>Called by : , main program * -*. * Author R.Brun ********* * -*. * * -*. ****************************************************************** -*. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -#include "geant321/gctime.inc" - -#if defined(CERNLIB_PARA) -#include "geant321/multiprox.inc" -#endif - - SAVE IFIRST - DATA IFIRST/0/ -*. -*. ------------------------------------------------------------------ -*. -* Keep starting time -* - IF(IFIRST.EQ.0)THEN - IFIRST=1 - CALL TIMEL(TIMINT) - ENDIF -#if defined(CERNLIB_PARA) -* Parallel : Does not change nevent on nodes - using it as maximum -* number that one node can process and regulating -* end by end of input file ... -* For programs that have no input file, gprun should -* divide the total number of events evenly between tasks. -* - call g3prun -* -#endif - 10 IF(IEVENT.LT.NEVENT) THEN - IEVENT=IEVENT+1 -* -* Initialises event partition -* - CALL G3TRIGI -* -* Process one event (trigger) -* - CALL G3TRIG -* -* Clear event partition -* - CALL G3TRIGC -* - IF(IEORUN.EQ.0) THEN -* -* Check time left -* - IF(ITIME.LE.0)GO TO 10 - IF(MOD(IEVENT,ITIME).NE.0)GO TO 10 - CALL TIMEL(TIMNOW) - IF(TIMNOW.GT.TIMEND)GO TO 10 - WRITE(CHMAIL,10000)TIMEND - CALL GMAIL(0,2) - IEORUN = 1 - ENDIF - ENDIF -* -10000 FORMAT(5X,'***** THE JOB STOPS NOW BECAUSE THE TIME LEFT IS LESS', - +' THAN ',F8.3,' SECONDS *****') - END diff --git a/StarVMC/geant3/gbase/gshead.F b/StarVMC/geant3/gbase/gshead.F deleted file mode 100644 index 2ebc9b3b906..00000000000 --- a/StarVMC/geant3/gbase/gshead.F +++ /dev/null @@ -1,78 +0,0 @@ -* -* $Id: gshead.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gshead.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3SHEAD (NWBUF,UBUF,IADR) -C. -C. ****************************************************************** -C. * * -C * Stores User's informations in HEADER user bank. * -C * IADR is the stating location in the bank * -C * * -C * on output IADR is the new starting location * -C. * * -C. * ==>Called by : * -C. * Author M.Maire * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcflag.inc" -* - DIMENSION UBUF(1) -* - IF (JHEAD.GT.0) THEN -* - NDATA = IADR + NWBUF - IF (LQ(JHEAD-1).EQ.0) THEN - CALL MZBOOK (IXDIV,JHU,JHEAD,-1,'HEDU',0,0,NDATA,3,0) - ELSE - JHU = LQ(JHEAD-1) - NFREE = IQ(JHU-1) - NDATA - IF (NFREE.LT.0) CALL MZPUSH (IXDIV,JHU,0,-NFREE,'I') - ENDIF -* - DO 10 I=1,NWBUF - Q(JHU+IADR+I) = UBUF(I) - 10 CONTINUE -* - IADR = IADR + NWBUF - ELSE -* - IADR = 0 - WRITE(CHMAIL,1000) IEVENT - CALL GMAIL(0,0) - ENDIF -* - 1000 FORMAT(' **** GSHEAD: No Header bank in memory for ievent:',I7) -* - END diff --git a/StarVMC/geant3/gbase/gsrung.F b/StarVMC/geant3/gbase/gsrung.F deleted file mode 100644 index 428dce199d7..00000000000 --- a/StarVMC/geant3/gbase/gsrung.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: gsrung.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gsrung.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:46:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3SRUNG (NWBUF,UBUF,IADR) -C. -C. ****************************************************************** -C. * * -C * Stores User's informations in RUNG user bank. * -C * IADR is the stating location in the bank * -C * * -C * on output IADR is the new starting location * -C. * * -C. * ==>Called by : * -C. * Author M.Maire * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -* - DIMENSION UBUF(1) -* - IF (JRUNG.GT.0) THEN -* - NDATA = IADR + NWBUF - IF (LQ(JRUNG-1).EQ.0) THEN - CALL MZBOOK (IXCONS,JRU,JRUNG,-1,'RUNU',0,0,NDATA,3,0) - ELSE - JRU = LQ(JRUNG-1) - NFREE = IQ(JRU-1) - NDATA - IF (NFREE.LT.0) CALL MZPUSH (IXCONS,JRU,0,-NFREE,'I') - ENDIF -* - DO 10 I=1,NWBUF - Q(JRU+IADR+I) = UBUF(I) - 10 CONTINUE -* - IADR = IADR + NWBUF -* - ELSE - IADR = 0 - WRITE(CHMAIL,1000) - CALL GMAIL(0,0) - ENDIF -* - 1000 FORMAT(' **** GSRUNG: No RUNG bank existing in memory ') -* - END diff --git a/StarVMC/geant3/gbase/gtrig.F b/StarVMC/geant3/gbase/gtrig.F deleted file mode 100644 index 29e36d0aec6..00000000000 --- a/StarVMC/geant3/gbase/gtrig.F +++ /dev/null @@ -1,99 +0,0 @@ -* -* $Id: gtrig.F,v 1.3 2009/02/01 17:29:50 fisyak Exp $ -* -* $Log: gtrig.F,v $ -* Revision 1.3 2009/02/01 17:29:50 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:47:00 fisyak -* Merge with macos version -* -* Revision 1.2 2006/08/17 13:38:52 fisyak -* Clean up -* -* Revision 1.3 2006/03/17 15:11:36 brun -* Comment call to GDKINE in gtrig -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3TRIG -C. -C. ****************************************************************** -C. * * -C. * Steering routine to process one event * -C. * ==>Called by : GRUN , GINC4 * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcvdma.inc" -#include "geant321/gcflag.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -C. -C. ------------------------------------------------------------------ -C. -C. Kinematics -C. - IF(RAYTRA.NE.1.)THEN -#if !defined(CERNLIB_USRJMP) - CALL GUKINE -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUKINE) -#endif -* ELSE -* CALL GDKINE - ENDIF - IF (IEOTRI.NE.0) GO TO 99 -C. -C. Tracking -C. -#if !defined(CERNLIB_USRJMP) - CALL GUTREV -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUTREV) -#endif - IF (RAYTRA.EQ.1.) GO TO 99 - IF (IEOTRI.NE.0) GO TO 99 -C. -C. Digitisation -C. -#if !defined(CERNLIB_USRJMP) - CALL GUDIGI -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUDIGI) -#endif - IF (IEOTRI.NE.0) GO TO 99 -C. -C. User end of event control routine -C. -#if !defined(CERNLIB_USRJMP) - CALL GUOUT -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUOUT) -#endif -C - 99 RETURN - END diff --git a/StarVMC/geant3/gbase/gtrigc.F b/StarVMC/geant3/gbase/gtrigc.F deleted file mode 100644 index 27ee244a353..00000000000 --- a/StarVMC/geant3/gbase/gtrigc.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: gtrigc.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gtrigc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3TRIGC -C. -C. ****************************************************************** -C. * * -C. * Clear event partition * -C. * * -C. * ==>Called by : GRUN , GINC4 * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcstak.inc" -#include "geant321/gcflag.inc" -C. -C. ------------------------------------------------------------------ -C. -* - IF (NJTMAX.LT.0) NJTMAX = -NJTMAX -* - CALL GRNDMQ(IQ(JRUNG+19),IQ(JRUNG+20),0,'G') - IQ(JRUNG+29) = IEVENT -* - IF (JSTAK.NE.0) THEN - IQ(JSTAK+1) = 0 - IQ(JSTAK+3) = 0 - ENDIF -* - CALL MZWIPE (IXDIV) -* END GTRIGC - END - diff --git a/StarVMC/geant3/gbase/gtrigi.F b/StarVMC/geant3/gbase/gtrigi.F deleted file mode 100644 index 467ea57727f..00000000000 --- a/StarVMC/geant3/gbase/gtrigi.F +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: gtrigi.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gtrigi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3TRIGI -C. -C. ****************************************************************** -C. * * -C. * Initialises event partition * -C. * ==>Called by : GRUN , GINC4 * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcvdma.inc" -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -#include "geant321/gctrak.inc" -C. -C. ------------------------------------------------------------------ -C. - IEOTRI=0 - NTRACK=0 - NVERTX=0 - IDEBUG=0 - TOFG =0. -C -C Print event number and random number generator -C - IF(RAYTRA.NE.1.)CALL GRNDMQ(NRNDM(1),NRNDM(2),0,'G') -C -C Create event header bank -C - CALL MZBOOK(IXDIV,JHEAD,JHEAD,1,'HEAD', 1, 1,NHEAD,2,0) - IDEVT=IDEVT+1 - IQ(JHEAD+1)=IDRUN - IQ(JHEAD+2)=IDEVT - IQ(JHEAD+3)=NRNDM(1) - IQ(JHEAD+4)=NRNDM(2) -C - IF(ITEST.GT.0)THEN - IF(MOD(IEVENT,ITEST).EQ.0)THEN - IF(RAYTRA.NE.1.)THEN - WRITE (CHMAIL,1000) IEVENT,IDEVT,(NRNDM(I),I = 1,2) - CALL GMAIL(0,0) - ENDIF - ENDIF - ENDIF -C - IF(IEVENT.GE.IDEMIN.AND.IEVENT.LE.IDEMAX)IDEBUG=1 -C - 1000 FORMAT(' **** GTRIGI: IEVENT=',I7,' IDEVT=',I7, - +' Random Seeds = ',I10,2X,I10) - 99 RETURN - END diff --git a/StarVMC/geant3/gbase/gwork.F b/StarVMC/geant3/gbase/gwork.F deleted file mode 100644 index a52e2ee28a6..00000000000 --- a/StarVMC/geant3/gbase/gwork.F +++ /dev/null @@ -1,81 +0,0 @@ -* -* $Id: gwork.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gwork.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3WORK(NWORK) -C. -C. ****************************************************************** -C. * * -C. * Handle working space. * -C. * * -C. * If NWORK>0 make sure that at least NWORK words of working * -C. * space are available in the GCBANK common. If current * -C. * working space is >= NWORK, do nothing. * -C. * * -C. * If NWORK=0 return in NWORK the current size of the * -C. * working space. * -C. * * -C. * If NWORK<0 reset the working space to be NWORK words * -C. * irrespective of its value. * -C. * * -C. * ==>Called by :USER,G3ZINIT,G3PHYSI,GDRAWC,GDRAWX,GDSHOW,GKXYZ * -C. * * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#if defined(CERNLIB_DEBUG) -#include "geant321/gcunit.inc" -#endif - COMMON / QUEST / IQUEST(100) -C. -C. ------------------------------------------------------------------ -C. - IF(NWORK.GE.0) THEN - CALL MZINQS(IXSTOR) - NOWORK = IQUEST(5)-IQUEST(3)-1 -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL, - + '('' *** GWORK: Size of the working space = '',I10)') NOWORK - CALL GMAIL(0,0) -#endif - IF(NWORK.EQ.0) THEN - NWORK=NOWORK - ELSE - IF(NWORK.GT.NOWORK) THEN - CALL MZWORK(IXSTOR,WS,WS(NWORK),0) - ENDIF - ENDIF - ELSE - CALL MZWORK(IXSTOR,WS,WS(-NWORK),0) - ENDIF - END diff --git a/StarVMC/geant3/gbase/gzebra.F b/StarVMC/geant3/gbase/gzebra.F deleted file mode 100644 index 2adcec5d98d..00000000000 --- a/StarVMC/geant3/gbase/gzebra.F +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: gzebra.F,v 1.2 2010/02/15 19:38:39 jwebb Exp $ -* -* $Log: gzebra.F,v $ -* Revision 1.2 2010/02/15 19:38:39 jwebb -* Added compile time switch so that zebra initializes silently. -* -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3ZEBRA(NZEB) -C. -C. ****************************************************************** -C. * * -C. * Routine to initialise ZEBRA store (//) * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#define __SILENT__ -C. -C. ------------------------------------------------------------------ -C. - NZEBRA=NZEB -#ifdef __SILENT__ - CALL MZEBRA(-2) -#else - CALL MZEBRA(-1) -#endif - CALL MZSTOR(IXSTOR,'/GCBANK/',' ',FENDQ,LQ,LR1,WS,LQ(KWWORK+100) - + ,LQ(NZEBRA-30)) - CALL MZLOGL(IXSTOR,0) -C - RETURN - END diff --git a/StarVMC/geant3/gbase/gzinit.F b/StarVMC/geant3/gbase/gzinit.F deleted file mode 100644 index 3fdb388ca6b..00000000000 --- a/StarVMC/geant3/gbase/gzinit.F +++ /dev/null @@ -1,121 +0,0 @@ -* -* $Id: gzinit.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gzinit.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 17.18.27 by S.Giani -*-- Author : - SUBROUTINE G3ZINIT -C. -C. ****************************************************************** -C. * * -C. * Routine to initialise GEANT/ZEBRA data structures * -C. * * -C. * ==>Called by : , UGINIT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gctime.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gcscal.inc" - COMMON/GCLOCA/NLOCAL(2),LOCAL(20) -C. -C. ------------------------------------------------------------------ -C. - IF(IFINIT(2).NE.0)RETURN - IFINIT(2)=1 -C -C Create one long range division (reverse) -C to store all constants -C The event structures are created in division 2 -C of the store -C - MINCON=2000 - MAXCON=8*NZEBRA/10 - CALL MZDIV(IXSTOR,IXCONS,'Constants',MINCON,MAXCON,'LRC') - IXDIV=IXSTOR+2 -C -C IXDIV and IXCONS are two self contained divisions. -C To gain time we specify that to ZEBRA -C - CALL MZXREF(IXCONS,IXDIV,'C') - CALL MZXREF(IXDIV,IXCONS,'C') -C -C Define a default work space of KWWORK words -C - CALL G3WORK(KWWORK) -C -C Create a permanent link area for master pointers -C - CALL MZLINK(IXSTOR,'/GCLINK/',JDIGI,JSKLT,JDIGI) -C -C Create a permanent link area for param. pointers -C - CALL MZLINK(IXSTOR,'/GCSLNK/',LSCAN,LSLAST,LSCAN) -C -C Create temporary link areas -C - CALL MZLINT(IXSTOR,'/GCLOCA/',NLOCAL,LOCAL(1),LOCAL(20)) - CALL MZLINT(IXSTOR,'/GCJLOC/',NJLOC ,JTM,JRANG) - CALL MZLINT(IXSTOR,'/GCJLCK/',NJLCK ,JTCKOV,JTASHO) -C -C Define IO descriptors of GEANT banks -C - CALL MZFORM('MATE','5H -F' ,IOMATE) - CALL MZFORM('PART','5H -F' ,IOPART) - CALL MZFORM('TMED','5H -F' ,IOTMED) - CALL MZFORM('SEJD','10I / 1H 1I',IOSEJD) - CALL MZFORM('SJDD','/ 1H 1I' ,IOSJDD) - CALL MZFORM('SJDH','/ 1H 1I 2F' ,IOSJDH) - CALL MZFORM ('STAK', '3I / 3I 9F',IOSTAK) - CALL MZFORM('RUNG','20I 8F 2I' ,IORUNG) -C -C Create RUN header bank -C - CALL MZBOOK(IXCONS,JRUNG,JRUNG,1,'RUNG',1,1,30,IORUNG,0) - IQ(JRUNG-5)=1 - IQ(JRUNG+1)=IDRUN -C -C Fill header with default date,time,Geant and Zebra -C version numbers for the 4 main GEANT data structures -C INIT,KINE,HITS,DIGI -C - DO 10 I=1,4 - IQ(JRUNG+2*I+ 9)=IGDATE - IQ(JRUNG+2*I+10)=IGTIME - Q(JRUNG+2*I+19)=GVERSN - Q(JRUNG+2*I+20)=ZVERSN - 10 CONTINUE -C - 99 RETURN - END - diff --git a/StarVMC/geant3/gcinit.F b/StarVMC/geant3/gcinit.F deleted file mode 100644 index 7df8719ba89..00000000000 --- a/StarVMC/geant3/gcinit.F +++ /dev/null @@ -1,11 +0,0 @@ - SUBROUTINE G3CINIT - PARAMETER (NWGEANT=5000000) - COMMON / GCBANK / GMEM(NWGEANT) -* -* Initialise geant system with a default dimension of NWGEANT -* - CALL G3ZEBRA(NWGEANT) - CALL G3INIT() - CALL G3ZINIT() -* - END diff --git a/StarVMC/geant3/gcons/gcons.doc b/StarVMC/geant3/gcons/gcons.doc deleted file mode 100644 index 859d41d9ef9..00000000000 --- a/StarVMC/geant3/gcons/gcons.doc +++ /dev/null @@ -1,102 +0,0 @@ -* -* $Id: gcons.doc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gcons.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:12 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_DOC) -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : -************************************************************************ -* * -* Introduction to the section CONS * -* -------------------------------- * -* * -* THE SECTION CONS * -* * -* The experimental setup is represented by a structure of * -* geometrical volumes. Each volume is given a medium number by the * -* user. Different volumes may have the same medium number [GEOM]. * -* A medium is defined by a set of parameters, the so>-called * -* 'tracking medium' parameters, which include reference to the * -* material filling the volume. * -* The tracking of particles through an experimental setup [TRAK] * -* requires access to the data which describe * -* - the geometrical setup, * -* - the characteristics of the materials used, * -* - the tracking medium parameters, and * -* - the particle properties. * -* The section CONS contains all routines related to the storage and * -* retrieval of information for the materials, the tracking media and * -* the particles. * -* * -* MATERIALS * -* * -* The material constants are stored in the data structure JMATE * -* through the routine GMATE which defines the standard table of * -* materials. They can be accessed with the routine GFMATE and * -* printed with the routine GPMATE. * -* GMATE calls the routine GSMATE for each material in turn. The * -* user may directly use GSMATE instead of, or in addition to, or to * -* partly override, GMATE. * -* MIXTUREs of basic materials, or COMPOUNDs, molecules with atoms * -* from different basic materials, may also be defined and their * -* characteristics can be stored in the structure JMATE, through * -* calls to the routine GSMIXT. Mixtures of compounds are also * -* accepted. * -* In addition, some quantities computed during the initialisation * -* of the physics processes are stored in the structure JMATE , such * -* as energy loss and cross>-section tables [PHYS]. * -* * -* TRACKING MEDIUM PARAMETERS * -* * -* For each medium in turn, the tracking medium parameters are * -* stored in the data structure JTMED through the routine GSTMED. * -* Details about these parameters are given in [TRAK]. They can be * -* accessed with the routine GFTMED and printed with the routine * -* GPTMED. * -* The correct setting of the tracking media parameters is crucial * -* for the correctness of the results of the simulation. In GEANT * -* some of these parameters are calculated automatically by the * -* program by default. This can be disabled by the data record AUTO * -* 0, but only experienced users should use this option. * -* The tracking cuts, the physics cuts and the flags which control * -* the physics processes, defined in GINIT and possibly modified via * -* the relevant data cards, are also stored in the structure JTMED. * -* Any of these additional parameters can be modified through the * -* routine GSTPAR. * -* * -* PARTICLES * -* * -* The particle constants are stored in the data structure JPART * -* through the routine GPART which defines the standard table of * -* particles and, if relevant, the branching ratios and decay modes. * -* The standard particle constants can be accessed with the routine * -* GFPART and printed with the routine GPPART. * -* GPART calls the routine GSPART (and GSDK for the decays) for each * -* particle in turn. The user may call directly GSPART and GSDK * -* instead of, or in addition to, or to partly override, GPART. * -* * -************************************************************************ -#endif diff --git a/StarVMC/geant3/gcons/gevkev.F b/StarVMC/geant3/gcons/gevkev.F deleted file mode 100644 index 7f6bf0856b6..00000000000 --- a/StarVMC/geant3/gcons/gevkev.F +++ /dev/null @@ -1,70 +0,0 @@ -* -* $Id: gevkev.F,v 1.3 2009/02/01 17:29:50 fisyak Exp $ -* -* $Log: gevkev.F,v $ -* Revision 1.3 2009/02/01 17:29:50 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:47:00 fisyak -* Merge with macos version -* -* Revision 1.2 2005/05/26 22:41:35 fisyak -* recover gevkev from g3evkev (used in egr) -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE GEVKEV(EGEV,ENERU,KUNIT) -C. -C. ****************************************************************** -C. * * -C. * Convert energy from GeV to more appropriate units * -C. * * -C. * ==>Called by : G3PLMAT,G3PRMAT,G3PHYSI,G3PCXYZ * -C. * Author M.Maire ********* * -C. * * -C. ****************************************************************** -C. - CHARACTER*4 KUNIT -* - IF(EGEV.LT.0.0000009999) THEN - ENERU = EGEV*1.E+9 - KUNIT = ' eV' - ELSEIF(EGEV.LT.0.0009999) THEN - ENERU = EGEV*1.E+6 - KUNIT = ' keV' - ELSEIF(EGEV.LT.0.9999) THEN - ENERU = EGEV*1.E+3 - KUNIT = ' MeV' - ELSEIF(EGEV.LT.999.9) THEN - ENERU = EGEV - KUNIT = ' GeV' - ELSE - ENERU = EGEV*1.E-3 - KUNIT = ' TeV' - ENDIF -* - END - SUBROUTINE G3EVKEV(EGEV,ENERU,KUNIT) - CHARACTER*4 KUNIT - call GEVKEV(EGEV,ENERU,KUNIT) - end diff --git a/StarVMC/geant3/gcons/gfcoul.F b/StarVMC/geant3/gcons/gfcoul.F deleted file mode 100644 index 9010811d3a4..00000000000 --- a/StarVMC/geant3/gcons/gfcoul.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: gfcoul.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gfcoul.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - FUNCTION G3FCOUL(Z) -C. -C. ****************************************************************** -C. * * -C. * Compute Coulomb correction for pair production and Brem * -C. * REFERENCE : EGS MANUAL SLAC 210 - UC32 - JUNE 78 * -C. * FORMULA 2.7.17 * -C. * * -C. * ==>Called by : GSMIXT * -C. * Author M.Maire ********* * -C. * * -C. ****************************************************************** -C. - PARAMETER (ALPHA = 7.29927E-03) -C - AZ2 = (ALPHA*Z)**2 - AZ4 = AZ2 * AZ2 - FP = ( 0.0083*AZ4 + 0.20206 + 1./(1.+AZ2) ) * AZ2 - FM = ( 0.0020*AZ4 + 0.0369 ) * AZ4 - G3FCOUL = FP - FM - END diff --git a/StarVMC/geant3/gcons/gfmate.F b/StarVMC/geant3/gcons/gfmate.F deleted file mode 100644 index 218c2df60f9..00000000000 --- a/StarVMC/geant3/gcons/gfmate.F +++ /dev/null @@ -1,68 +0,0 @@ -* -* $Id: gfmate.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gfmate.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3FMATE(IMAT,NAMATE,A,Z,DENS,RADL,ABSL,UBUF,NWBUF) -C. -C. ****************************************************************** -C. * * -C. * Return parameters for material IMAT * -C. * * -C. * ==>Called by : , GTRACK * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" - CHARACTER NAMATE*(*) - DIMENSION UBUF(1) -C. -C. ------------------------------------------------------------------ -C. - A=-1. - IF (JMATE.LE.0)GO TO 99 - IF (IMAT.LE.0)GO TO 99 - IF (IMAT.GT.NMATE)GO TO 99 -C - JMA = LQ(JMATE- IMAT) - IF (JMA.LE.0)GO TO 99 - CALL UHTOC(IQ(JMA+1),4,NAMATE,MIN(20,LEN(NAMATE))) - A = Q(JMA + 6) - Z = Q(JMA + 7) - DENS = Q(JMA + 8) - RADL = Q(JMA + 9) - ABSL = Q(JMA + 10) - NWBUF = IQ(JMA-1) - 11 - IF(NWBUF.GT.0) CALL UCOPY(Q(JMA+12),UBUF,NWBUF) -C - 99 RETURN - END diff --git a/StarVMC/geant3/gcons/gfpart.F b/StarVMC/geant3/gcons/gfpart.F deleted file mode 100644 index 56b1a4e9e48..00000000000 --- a/StarVMC/geant3/gcons/gfpart.F +++ /dev/null @@ -1,70 +0,0 @@ -* -* $Id: gfpart.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gfpart.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:14 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3FPART(IPART,NAPART,ITRTYP,AMASS,CHARGE,TLIFE - + ,UBUF,NWBUF) -C. -C. ****************************************************************** -C. * * -C. * Return parameters for particle of type IPART * -C. * * -C. * ==>Called by : , GTREVE * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" - CHARACTER*20 NAPART - DIMENSION UBUF(10) -C. -C. ------------------------------------------------------------------ -C. - ITRTYP=0 - IF (JPART.LE.0)GO TO 99 - IF (IPART.LE.0)GO TO 99 - IF (IPART.GT.NPART)GO TO 99 - JPA = LQ(JPART- IPART) - IF (JPA.LE.0)GO TO 99 -C - CALL UHTOC(IQ(JPA+1),4,NAPART,20) - ITRTYP = Q(JPA + 6) - AMASS = Q(JPA + 7) - CHARGE = Q(JPA + 8) - TLIFE = Q(JPA + 9) - NWBUF = IQ(JPA-1) - 9 - IF(NWBUF.LE.0) GO TO 99 - DO 20 I=1,NWBUF - 20 UBUF(I)=Q(JPA+9+I) -C - 99 RETURN - END diff --git a/StarVMC/geant3/gcons/gftmat.F b/StarVMC/geant3/gcons/gftmat.F deleted file mode 100644 index 1e49bc7878d..00000000000 --- a/StarVMC/geant3/gcons/gftmat.F +++ /dev/null @@ -1,500 +0,0 @@ -* -* $Id: gftmat.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gftmat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:14 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 11/01/95 08.57.12 by S.Ravndal -*-- Author : - SUBROUTINE G3FTMAT(IMATE,IPATT,CHMECA,KDIM,TKIN,VALUE,PCUT,IXST) -C. -C. ****************************************************************** -C. * * -C. * FETCH and INTERPOLATE the DE/DX and Cross sections * -C. * tabulated in JMATE banks coresponding to : * -C. * material IMATE, particle IPATT, mecanism name CHMECA, * -C. * kinetic energies TKIN * -C. * * -C. * The CHMECAnism name can be : * -C. * 'HADF' 'INEF' 'ELAF' 'FISF' 'CAPF' * -C. * 'HADG' 'INEG' 'ELAG' 'FISG' 'CAPG' * -C. * 'LOSS' 'PHOT' 'ANNI' 'COMP' 'BREM' * -C. * 'PAIR' 'DRAY' 'PFIS' 'RAYL' 'HADG' * -C. * 'MUNU' 'RANG' 'STEP' * -C. * * -C. * For Hadronic particles it also computes the * -C. * hadronic cross section from FLUKA ( '***F' ) or * -C. * GHEISHA ( '***G' ) programs: * -C. * HADF or HADG -- total * -C. * INEF or INEG -- inelastic * -C. * ELAF or ELAG -- elastic * -C. * FISF or FISG -- fission (0.0 for FLUKA) * -C. * CAPF or CAPG -- neutron capture (0.0 for FLUKA) * -C. * * -C. * Input parameters * -C. * IMATE Geant material number * -C. * IPATT Geant particle number * -C. * CHMECA mechanism name of the bank to be fetched * -C. * KDIM dimension of the arrays TKIN , VALUE * -C. * TKIN array of kinetic energy of incident particle (in Gev) * -C. * * -C. * Output parameters * -C. * VALUE array of energy loss (in Mev/cm) , * -C. * or stopping range (cm) ,or continuous step (cm) * -C. * or macroscopic cross section (in 1/cm) * -C. * PCUT(5) array of the physical cuts in material IMATE (Gev) * -C. * IXST flag = 1 if the array VALUE is filled , =0 otherwise * -C. * * -C. * ==>Called by : GPLMAT GRPMAT * -C. * Authors R.Brun, M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gconst.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gsecti.inc" -#include "geant321/gcflag.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gctmed.inc" -#include "geant321/gfkdis.inc" -#include "geant321/gcking.inc" -#include "geant321/gckine.inc" -* - LOGICAL CERKOV - CHARACTER*4 CHMECA - DIMENSION TKIN(KDIM), VALUE(KDIM), PCUT(5) -#include "geant321/gcnmec.inc" -* -* ------------------------------------------------------------------ -* - IXST = 0 - IF(KDIM.LE.0) GO TO 999 - IMECA = 0 - DO 10 KMECA=1,NMECA - IF(CHMECA.EQ.CHNMEC(KMECA)) THEN - IMECA = KMECA - ENDIF - 10 CONTINUE - IF(IMECA.EQ.0) THEN - WRITE(CHMAIL,'('' *** GFTMAT: Mechanism '',A, ' - + //' ''not implemented'')') CHMECA - CALL GMAIL(0,0) - GOTO 999 - ENDIF - DO 20 IDIM=1, KDIM - VALUE(IDIM)=0. - 20 CONTINUE - DO 30 ICUT=1,5 - PCUT(ICUT)=0. - 30 CONTINUE -* - IF(JMATE.LE.0) GO TO 999 - IF(IMATE.LE.0) GO TO 999 - IF(IMATE.GT.NMATE) GO TO 110 - JMA = LQ(JMATE-IMATE) - IF(JMA.LE.0) GO TO 110 - A = Q(JMA+6) - Z = Q(JMA+7) - IF(Z.LT.1.) GO TO 999 - DENS = Q(JMA+8) - RADL = Q(JMA+9) - NLM = Q(JMA+11) - JPROB = LQ(JMA-4) - AZRO = Q(JPROB+8) - AHEFF = A - IF(NLM .GT.1) THEN - JMIXT = LQ(JMA-5) - JMI1 = LQ(JMIXT-1) - AHEFF = Q(JMI1+1) - ENDIF -* - IF(JTMED.LE.0) GO TO 999 - IF(NTMED.LE.0) GO TO 999 - JBANK = JTMED - DO 40 ITM = 1,NTMED - JTM = LQ(JTMED-ITM) - IF(JTM.LE.0) GO TO 40 - JTMN = 0 - IMAT = Q(JTM+6) - IF(IMAT.EQ.IMATE) THEN - JTMN = LQ(JTM) - IF(JTMN.NE.0) JBANK = JTMN - GO TO 50 - ENDIF - 40 CONTINUE - 50 CALL UCOPY( Q(JBANK+6),PCUT(1),5) - CUTHAD = Q(JBANK+ 4) - ILOSS = Q(JBANK+21) - IMULS = Q(JBANK+22) - IFIELD = Q(JTM + 8) - FIELDM = Q(JTM + 9) - TMAXFD = Q(JTM + 10) - STEMAX = Q(JTM + 11) - DEEMAX = Q(JTM + 12) - STMIN = Q(JTM + 14) -* - IF(JPART.LE.0) GO TO 999 - IF(IPATT.LE.0) GO TO 999 - IF(IPATT.GT.NPART) GO TO 110 - JPA = LQ(JPART-IPATT) - IF(JPA.LE.0) GO TO 110 - ITYPE = Q(JPA+6) - AMASS = Q(JPA+7) - CHARGE = Q(JPA+8) -* -* *** Find the correct pointer -* - JBANK = 0 - ISHIF = 0 - RMASS = 1. -* -* *** Photons -* - IF (ITYPE.EQ.1) THEN - IF (CHMECA.EQ.'PHOT') JBANK = LQ(JMA- 6) - IF (CHMECA.EQ.'COMP') JBANK = LQ(JMA- 8) - IF (CHMECA.EQ.'PAIR') JBANK = LQ(JMA-10) - IF (CHMECA.EQ.'PFIS') JBANK = LQ(JMA-12) - IF (CHMECA.EQ.'RAYL') JBANK = LQ(JMA-13) -* -* *** Electrons / positons -* - ELSE IF (ITYPE.EQ.2) THEN - IF (CHMECA.EQ.'LOSS') THEN - JBANK = LQ(JMA- 1) - IF (CHARGE.GT.0.) ISHIF = NEK1 - ELSE IF (CHMECA.EQ.'RANG') THEN - JBANK = LQ(JMA- 15) - IF (CHARGE.GT.0.) ISHIF = NEK1 - ELSE IF (CHMECA.EQ.'STEP') THEN - JBANK = LQ(JTM- 1) - ELSE IF ((CHMECA.EQ.'ANNI').AND.(CHARGE.GT.0.)) THEN - JBANK = LQ(JMA- 7) - ELSE IF (CHMECA.EQ.'BREM') THEN - JBANK = LQ(JMA- 9) - ELSE IF (CHMECA.EQ.'DRAY') THEN - JBANK = LQ(JMA-11) - IF (CHARGE.GT.0.) ISHIF = NEK1 - ENDIF -* -* *** Neutral hadrons (***F for FLUKA cross sections -* ***G for GHEISHA cross sections -* LOWN and N*** for MICAP cross sections) -* - ELSE IF (ITYPE.EQ.3) THEN - IF((CHMECA.EQ.'HADF').OR.(CHMECA.EQ.'INEF') - + .OR.(CHMECA.EQ.'ELAF') .OR.(CHMECA.EQ.'FISF') - + .OR.(CHMECA.EQ.'CAPF')) THEN - JBANK = -3 - IF (IFINIT(5) .EQ. 0) CALL FLINIT - ELSE IF((CHMECA.EQ.'HADG').OR.(CHMECA.EQ.'INEG') - + .OR.(CHMECA.EQ. 'ELAG').OR.(CHMECA.EQ.'FISG') - + .OR.(CHMECA.EQ.'CAPG')) THEN - JBANK = -4 - CALL GHEINI - ELSE IF(IMECA.GE.IBLOWN.AND.IPATT.EQ.13) THEN - IF (IFINIT(7) .EQ. 0) CALL GMORIN - JBANK = -5 - ENDIF - K0OLD = K0FLAG -* -* *** Charged hadrons (***F for FLUKA cross sections -* ***G for GHEISHA cross sections) -* *** Heavy ions -* - ELSE IF (ITYPE.EQ.4.OR.ITYPE.EQ.8) THEN - RMASS = PMASS/AMASS - IF (CHMECA.EQ.'LOSS') THEN - JBANK = LQ(JMA- 3) - ELSE IF (CHMECA.EQ.'RANG') THEN - JBANK = LQ(JMA- 16) + NEK1 - ELSE IF (CHMECA.EQ.'STEP') THEN - JBANK = -1 - JRANG = LQ(JMA -16) + NEK1 - CUTPRO = CUTHAD*RMASS - CUTPRO = MAX(ELOW(1), MIN( CUTPRO, ELOW(NEK1)*0.99)) - IKCUT = GEKA*LOG10(CUTPRO) + GEKB - GKC = (CUTPRO - ELOW(IKCUT))/(ELOW(IKCUT+1) - ELOW(IKCUT)) - STOPC = (1.-GKC)*Q(JRANG+IKCUT) + GKC*Q(JRANG+IKCUT+1) - ELSE IF (CHMECA.EQ.'DRAY') THEN - JBANK = -2 - JPROB = LQ(JMA-4) - AZRO = Q(JPROB+17) - DCUTM = PCUT(4) - ELSE IF(((CHMECA.EQ.'HADF').OR.(CHMECA.EQ.'INEF') - + .OR.(CHMECA.EQ. 'ELAF').OR.(CHMECA.EQ.'FISF') - + .OR.(CHMECA.EQ.'CAPF')).AND.ITYPE.NE.8) THEN - JBANK = -3 - IF (IFINIT(5) .EQ. 0) CALL FLINIT - ELSE IF(((CHMECA.EQ.'HADG').OR.(CHMECA.EQ.'INEG') - + .OR.(CHMECA.EQ. 'ELAG').OR.(CHMECA.EQ.'FISG') - + .OR.(CHMECA.EQ.'CAPG')).AND.ITYPE.NE.8) THEN - JBANK = -4 - CALL GHEINI - ENDIF - K0OLD = K0FLAG -* -* *** Muons -* - ELSE IF (ITYPE.EQ.5) THEN - IF (CHMECA.EQ.'LOSS') THEN - JBANK = LQ(JMA- 2) - ELSE IF (CHMECA.EQ.'RANG') THEN - JBANK = LQ(JMA- 16) - ELSE IF (CHMECA.EQ.'STEP') THEN - JBANK = LQ(JTM- 2) - ELSE IF (CHMECA.EQ.'MUNU') THEN - JBANK = LQ(JMA- 14) - ELSE IF (CHMECA.EQ.'BREM') THEN - JBANK = LQ(JMA- 9) - ISHIF = 2*NEK1 - ELSE IF (CHMECA.EQ.'PAIR') THEN - JBANK = LQ(JMA- 10) - ISHIF = NEK1 - ELSE IF (CHMECA.EQ.'DRAY') THEN - JBANK = LQ(JMA-11) - ISHIF = 2*NEK1 - ENDIF -* -* *** Geantinos -* - ELSEIF (ITYPE.EQ.6) THEN - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) - JBANK = 0 -* -* *** Cerenkov -* - ELSEIF (ITYPE.EQ.7) THEN - IF (CHMECA.EQ.'LABS') THEN -* -* *** Not implemented yet! - JBANK=0 - ENDIF -* - ENDIF - CERKOV=.FALSE. - IF(CHARGE.NE.0.AND.ITCKOV.NE.0) THEN - IF(IQ(JTM-2).GE.3) THEN - IF(LQ(JTM-3).NE.0.AND.LQ(LQ(JTM-3)-3).NE.0) THEN -* -* *** In this tracking medium Cerenkov photons are generated and -* *** tracked. Set to 1 the corresponding flag and calculate the -* *** relevant pointers. -* - CERKOV = .TRUE. - JTCKOV = LQ(JTM-3) - JABSCO = LQ(JTCKOV-1) - JEFFIC = LQ(JTCKOV-2) - JINDEX = LQ(JTCKOV-3) - JCURIN = LQ(JTCKOV-4) - NPCKOV = Q(JTCKOV+1) - ENDIF - ENDIF - ENDIF - - IF(JBANK.EQ.0) GO TO 999 - IXST = 1 -* -* - JBANK = JBANK + ISHIF - DO 100 IKB = 1,KDIM -* Find bin number in table JMATE - EKP = TKIN(IKB)*RMASS - EKP = MAX(ELOW(1), MIN( EKP, ELOW(NEK1)*0.99)) - IKP=GEKA*LOG10(EKP)+GEKB +0.001 - GKRA=(EKP-ELOW(IKP))/(ELOW(IKP+1)-ELOW(IKP)) -* - IF(JBANK.GT.0) THEN -* Retieve value from bank JMATE - VALUE(IKB) = (1.-GKRA)*Q(JBANK+IKP) + GKRA*Q(JBANK+IKP+1) - IF ((CHMECA.EQ.'PHOT').AND.(EKP.GE.0.05 )) VALUE(IKB) = - + BIG - IF ((CHMECA.EQ.'MUNU').AND.(EKP.LT.0.05 )) VALUE(IKB) = - + BIG - IF ( CHMECA.EQ.'LOSS') THEN - VALUE(IKB) = VALUE(IKB)*CHARGE**2*1.E+3 - ELSE IF (CHMECA.EQ.'RANG') THEN - VALUE(IKB) = VALUE(IKB)/(RMASS*CHARGE*CHARGE) - ELSE IF (CHMECA.NE.'STEP') THEN - IF (VALUE(IKB).GT.0.) THEN - VALUE(IKB) = 1./VALUE(IKB) - ELSE - VALUE(IKB) = 1./BIG - ENDIF - ENDIF -* - ELSEIF (JBANK.EQ.-1) THEN -* Compute step due to muls + loss + field - GEKIN=TKIN(IKB) - GETOT=GEKIN+AMASS - PMOM =SQRT(GEKIN*(GETOT+AMASS)) - SFIELD = BIG - SMULS = BIG - SLOSS = BIG - STOPMX = BIG - IF (IFIELD*FIELDM.NE.0.) - + SFIELD = 3333.*DEGRAD*TMAXFD*PMOM/ABS(FIELDM*CHARGE) - IF (IMULS.GT.0.) - + SMULS = MIN (2232.*RADL*((PMOM**2)/(GETOT*CHARGE))**2 , - + 10.*RADL ) - IF (ILOSS*DEEMAX.GT.0.) THEN - STOPP = (1.-GKRA)*Q(JRANG+IKP) + GKRA*Q(JRANG+IKP+1) - STOPMX = (STOPP - STOPC)/(RMASS*CHARGE*CHARGE) - IF (STOPMX.LT.0.) STOPMX = 0. - EKF = MAX ( ELOW(1) , (1.-DEEMAX)*EKP ) - IKF = GEKA*LOG10(EKF) + GEKB - GKF = (EKF-ELOW(IKF))/(ELOW(IKF+1)-ELOW(IKF)) - SLOSP= STOPP - (1.-GKF)*Q(JRANG+IKF) - GKF*Q(JRANG+IKF+1) - SLOSS = SLOSP/(RMASS*CHARGE*CHARGE) - ENDIF - IF(CERKOV) THEN - VECT(7)=SQRT(TKIN(IKB)*(TKIN(IKB)+2*AMASS)) - CALL G3NCKOV - STCKOV = MXPHOT/MAX(3.*DNDL,1E-10) - ELSE - STCKOV=BIG - ENDIF -* - IF (STOPMX.LE.STMIN) THEN - VALUE(IKB) = STOPMX - ELSE - VALUE(IKB) = MAX(STMIN,MIN(STCKOV,SLOSS,SFIELD,SMULS, - + STEMAX)) - ENDIF -* - ELSEIF (JBANK.EQ.-2) THEN -* Compute delta ray cross section for hadrons - GEKIN=TKIN(IKB) - GETOT=GEKIN+AMASS - GAMASS=GETOT+AMASS - BET2=GEKIN*GAMASS/(GETOT*GETOT) - TMAX=EMASS*GEKIN*GAMASS/(0.5*AMASS*AMASS+EMASS*GETOT) - IF(TMAX.GT.DCUTM)THEN - Y=DCUTM/TMAX - SIG=(1.-Y+BET2*Y*LOG(Y))/DCUTM - IF(AMASS.GT.0.9)SIG=SIG+0.5*(TMAX-DCUTM)/(GETOT*GETOT) - VALUE(IKB)=SIG*AZRO*CHARGE*CHARGE*EMASS/BET2 - ELSE - VALUE(IKB)=1./BIG - ENDIF -* -* compute hadronic cross section from FLUKA code -* - ELSEIF (JBANK.EQ.-3) THEN - GEKIN=TKIN(IKB) - PMOM = SQRT(GEKIN*(GEKIN+2*AMASS)) - NMAT = IMATE - VECT(7) = PMOM - IF (IPATT.NE.IPART) THEN - IOLDP = IPART - IPART = IPATT - CALL FLDIST - IPART = IOLDP - ELSE - CALL FLDIST - END IF - IF (CHMECA.EQ.'HADF') VALUE(IKB)= FSIG - IF (CHMECA.EQ.'INEF') VALUE(IKB)= SINE - IF (CHMECA.EQ.'ELAF') VALUE(IKB)= SELA - IF (CHMECA.EQ.'FISF') VALUE(IKB)= 0.0 - IF (CHMECA.EQ.'CAPF') VALUE(IKB)= 0.0 -* -* compute hadronic cross section from GHEISHA code -* - ELSEIF (JBANK.EQ.-4) THEN - GEKIN=TKIN(IKB) - PMOM = SQRT(GEKIN*(GEKIN+2*AMASS)) - K0FLAG = 1 -* (compounds) - IF(NLM.GT.1) THEN - HHHH=0. - IF (JTMN.GT.0) HHHH=Q(JTMN+26) - VALUE(IKB)=GHESIG(PMOM,GEKIN,A,Q(JMIXT+1), Q(JMIXT+NLM+ - + 1),Q(JMIXT+2*NLM+1),NLM,DENS,HHHH,IPATT) - IF (CHMECA .EQ. 'INEG') THEN - VALUE(IKB) = 0. - DO 60 K=1,NLM - VALUE(IKB) = AIIN(K) + VALUE(IKB) - 60 CONTINUE - ELSE IF (CHMECA .EQ. 'ELAG') THEN - VALUE(IKB) = 0. - DO 70 K=1,NLM - VALUE(IKB) = AIEL(K) + VALUE(IKB) - 70 CONTINUE - ELSE IF (CHMECA .EQ. 'FISG') THEN - VALUE(IKB) = 0. - DO 80 K=1,NLM - VALUE(IKB) = AIFI(K) + VALUE(IKB) - 80 CONTINUE - ELSE IF (CHMECA .EQ. 'CAPG') THEN - VALUE(IKB) = 0. - DO 90 K=1,NLM - VALUE(IKB) = AICA(K) + VALUE(IKB) - 90 CONTINUE - ENDIF - ELSE -* (simple elements) - VALUE(IKB)=GHESIG(PMOM,GEKIN,A,A,Z,1.,1,DENS,0.,IPATT) - IF (CHMECA .EQ. 'INEG') VALUE(IKB) = AIIN(1) - IF (CHMECA .EQ. 'ELAG') VALUE(IKB) = AIEL(1) - IF (CHMECA .EQ. 'FISG') VALUE(IKB) = AIFI(1) - IF (CHMECA .EQ. 'CAPG') VALUE(IKB) = AICA(1) - END IF - K0FLAG = K0OLD -* -* compute the cross-section for low-energy neutrons -* from MICAP code -* - ELSEIF (JBANK.EQ.-5) THEN - GEKIN=TKIN(IKB) - IF (GEKIN.LE..02) THEN - IF (CHMECA .EQ. 'LOWN') THEN - VALUE(IKB) = SIGMOR(GEKIN*1.E+9,IMATE) - ELSE - NMAT = IMATE - CALL GMXSEC (IMECA,VALUE(IKB)) - ENDIF - ELSE - VALUE(IKB) = 0. - ENDIF -* - ENDIF - 100 CONTINUE -* - GO TO 999 - 110 WRITE(CHMAIL,10100) IMATE ,IPATT - CALL GMAIL(0,0) -* -10000 FORMAT(' ***** GFTMAT: No processes active for geantinos') -10100 FORMAT(' ***** GFTMAT error : material',I4, - + ' or particle',I4,' not defined' ) - 999 END diff --git a/StarVMC/geant3/gcons/gftmed.F b/StarVMC/geant3/gcons/gftmed.F deleted file mode 100644 index 8b18fd20e76..00000000000 --- a/StarVMC/geant3/gcons/gftmed.F +++ /dev/null @@ -1,75 +0,0 @@ -* -* $Id: gftmed.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gftmed.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:14 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3FTMED(NUMED,NATMED,NMAT,ISVOL,IFIELD,FIELDM, - + TMAXFD,STEMAX,DEEMAX,EPSIL,STMIN,UBUF,NWBUF) -C. -C. ****************************************************************** -C. * * -C. * Return parameters for tracking medium NUMED * -C. * * -C. * ==>Called by : , GTRACK * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" - CHARACTER*20 NATMED - DIMENSION UBUF(1) -C. -C. ------------------------------------------------------------------ -C. - NMAT=0 - IF (JTMED.LE.0)GO TO 99 - IF (NUMED.LE.0)GO TO 99 - IF (NUMED.GT.NTMED)GO TO 99 - JTM = LQ(JTMED- NUMED) - IF (JTM.LE.0)GO TO 99 -C - CALL UHTOC(IQ(JTM+1),4,NATMED,20) - NMAT = Q(JTM + 6) - ISVOL = Q(JTM + 7) - IFIELD = Q(JTM + 8) - FIELDM = Q(JTM + 9) - TMAXFD = Q(JTM + 10) - STEMAX = Q(JTM + 11) - DEEMAX = Q(JTM + 12) - EPSIL = Q(JTM + 13) - STMIN = Q(JTM + 14) - NWBUF = IQ(JTM-1) - 14 - IF(NWBUF.LE.0) GO TO 99 - DO 20 I=1,NWBUF - 20 UBUF(I)=Q(JTM+14+I) -C - 99 RETURN - END diff --git a/StarVMC/geant3/gcons/ghmix.F b/StarVMC/geant3/gcons/ghmix.F deleted file mode 100644 index 8ad64bbb5ef..00000000000 --- a/StarVMC/geant3/gcons/ghmix.F +++ /dev/null @@ -1,108 +0,0 @@ -* -* $Id: ghmix.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: ghmix.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE G3HMIX(A, W, N, AEFF) -C -C ****************************************************************** -C * * -C * Works out an effective atomic weight AEFF for a material * -C * with N elements of atomic weight A(I) in proportion W(I) by * -C * weight. The criterion is that the hadronic interaction * -C * length of a 5 GeV/c pion is correct. Errors on the calculated * -C * hadronic interaction length for other momenta and other * -C * particles in GEANT version 3.04 are less than 1% in most cases.* -C * For details see Memorandum OPAL/0037N/JA/md, ref. Hadron * -C * Milestone 84/003, Calculation of Hadronic Interaction Lengths * -C * for Mixtures. * -C. * * -C. * ==>Called by : G3SMIXT * -C. * Author J.Allison ********* * -C * * -C ****************************************************************** -C -#include "geant321/gcunit.inc" - DIMENSION A(N), W(N) -C. -C. ------------------------------------------------------------------ -C. -C Work out PINT which is proportional to the interaction -C probability. Also work out the mean atomic weight, i.e. that -C weighted by proportion by numbers, as starting value for -C iterative method of finding AEFF. -C - PINT = 0. - AINV = 0. - WTOT = 0. - DO 10 I = 1, N - PINT = PINT + W(I) * G3HSIGM(5., 8, A(I)) / A(I) - AINV = AINV + W(I) / A(I) - WTOT = WTOT + W(I) - 10 CONTINUE -C - IF ( ABS ( WTOT - 1. ) .GT. 0.01 ) GO TO 98 -C -C Work out AEFF which gives PINT for 5 GeV/c pion. -C (This is a short Newton's method loop.) -C - AEFF = 1. / AINV - PNEW = G3HSIGM ( 5., 8, AEFF ) / AEFF - DA = 1. - ITER = 0 - 20 CONTINUE - ITER = ITER + 1 - AEFF = AEFF + DA - POLD = PNEW - DAOLD = DA - PNEW = G3HSIGM ( 5., 8, AEFF ) / AEFF - DP = PNEW - POLD - DA = (PINT - PNEW ) * DAOLD / DP - IF ( ( ITER .GT. 1 ) .AND. ( ABS ( DA ) .GT. ABS ( DAOLD ) ) ) - + GO TO 97 - IF ( ABS ( DA ) .GT. 0.01 ) GO TO 20 -C - RETURN -C -C Error conditions. -C - 97 CONTINUE - WRITE (CHMAIL,197) - CALL GMAIL(0,0) - 197 FORMAT ( ' ***** GHMIX : ', - +'HADRONIC INTERACTION MIXTURE ROUTINE NOT CONVERGING') - RETURN -C - 98 CONTINUE - WRITE (CHMAIL,198) WTOT - CALL GMAIL(0,0) - 198 FORMAT ( ' ***** GHMIX : ', - +'FRACTIONS BY WEIGHT OF MIXTURES DO NOT ADD UP TO 1',F10.4) - END diff --git a/StarVMC/geant3/gcons/gmate.F b/StarVMC/geant3/gcons/gmate.F deleted file mode 100644 index 8ecb9c93405..00000000000 --- a/StarVMC/geant3/gcons/gmate.F +++ /dev/null @@ -1,70 +0,0 @@ -* -* $Id: gmate.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gmate.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3MATE -C. -C. ****************************************************************** -C. * * -C. * Define standard GEANT materials * -C. * * -C. * All data EXCEPT for nuclear absorption lengths taken from : * -C. * M. Aguilar-Benitez et al, * -C. * Rev. of Particle Properties, * -C. * Rev. Mod. Phys. 56(1984) * -C. * * -C. * ==>Called by : , UGINIT * -C. * Author G.Patrick ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION UBUF(1) - DATA UBUF/0./ -C - CALL G3SMATE( 2,'DEUTERIUM$', 2.01, 1.,0.162 ,757.,342.,UBUF,0) - CALL G3SMATE( 3,'HELIUM$ ', 4. , 2.,0.125 ,755.,478.,UBUF,0) - CALL G3SMATE( 4,'LITHIUM$ ', 6.94, 3.,0.534 ,155.,120.6,UBUF,0) - CALL G3SMATE( 5,'BERILLIUM$', 9.01, 4.,1.848 ,35.3,36.7,UBUF,0) - CALL G3SMATE( 6,'CARBON$ ', 12.01, 6.,2.265 ,18.8,49.9,UBUF,0) - CALL G3SMATE( 7,'NITROGEN$ ', 14.01, 7.,0.808 ,44.5,99.4,UBUF,0) - CALL G3SMATE( 8,'NEON$ ', 20.18,10.,1.207 , 24.,74.9,UBUF,0) - CALL G3SMATE( 9,'ALUMINIUM$', 26.98,13.,2.7 , 8.9,37.2,UBUF,0) - CALL G3SMATE(10,'IRON$ ', 55.85,26.,7.87 ,1.76,17.1,UBUF,0) - CALL G3SMATE(11,'COPPER$ ', 63.54,29.,8.96 ,1.43,14.8,UBUF,0) - CALL G3SMATE(12,'TUNGSTEN$ ',183.85,74.,19.3 ,0.35,10.3,UBUF,0) - CALL G3SMATE(13,'LEAD$ ',207.19,82.,11.35 ,0.56,18.5,UBUF,0) - CALL G3SMATE(14,'URANIUM$ ',238.03,92.,18.95 ,0.32,12. ,UBUF,0) - CALL G3SMATE(15,'AIR$ ',14.61,7.3,0.001205,30423.24,67500. - + ,UBUF,0) - CALL G3SMATE(16,'VACUUM$ ',1.E-16,1.E-16,1.E-16,1.E+16,1.E+16 - + ,UBUF,0) -C - END diff --git a/StarVMC/geant3/gcons/gpart.F b/StarVMC/geant3/gcons/gpart.F deleted file mode 100644 index 9a442cc8633..00000000000 --- a/StarVMC/geant3/gcons/gpart.F +++ /dev/null @@ -1,196 +0,0 @@ -* -* $Id: gpart.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gpart.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 14/09/94 14.33.42 by S.Ravndal -*-- Author : - SUBROUTINE G3PART -C. -C. ******************************************************************* -C. * * -C. * Define standard GEANT particles plus selected decay modes * -C. * and branching ratios. * -C. * * -C. * All data taken from : M. AGUILAR-BENITEZ et al, * -C. * Review of Particle Properties, * -C. * Rev. Mod. Phys. 56(1984). * -C. * * -C. * Updated to: Phys.Rev. D50,1173(1994) * -C. * S. Ravndal * -C. * * -C. * * -C. * In the case of W and Z, the lifetimes are calculated from * -C. * quoted upper limits on widths. * -C. * * -C. * NPAR Number of parent particles defined for decay. * -C. * IPAR List of parent partilces allowed to decay. * -C. * Currently set up for pi0,pi+,pi-,K0long,K+,K-, * -C. * K0short,eta,lambda,sigma+,sigma0,sigma-,xi0, * -C. * xi-,omega-,antilambda,antisigma -,antisigma 0, * -C. * antisigma +,antixi 0,antixi +,antiomega + * -C. * decays. * -C. * MODE(I,J) I'th decay mode of J'th particle defined in * -C. * IPAR. * -C. * BRATIO(I,J) Branching ratio for I'th decay mode of J'th * -C. * particle in IPAR. * -C. * * -C. * ==>Called by : , UGINIT * -C. * Author G.Patrick ********* * -C. * * -C. ******************************************************************* -C. -#include "geant321/gcbank.inc" -#include "geant321/gcphys.inc" -#include "geant321/gconsp.inc" -C - DIMENSION BRATIO(6,24),BRTIO1(6,20),BRTIO2(6,4) - DIMENSION IPAR(24) - DIMENSION MODE(6,24),MODE1(6,20),MODE2(6,4) - DIMENSION UBUF(1) -C - EQUIVALENCE(BRTIO1(1,1),BRATIO(1,1)),(BRTIO2(1,1),BRATIO(1,21)) - EQUIVALENCE(MODE1(1,1),MODE(1,1)),(MODE2(1,1),MODE(1,21)) -C - DATA IPAR/ 7, 8, 9,10,11,12,16,17,18,19,20,21,22,23,24,26,27, - * 28,29,30,31,32,5,6/ - DATA BRTIO1/ 98.802, 1.198, 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0., - * 21.60, 19.35, 19.35, 13.50, 13.50, 12.38, - * 63.51, 21.17, 5.59, 4.82, 3.18, 1.73, - * 63.51, 21.17, 5.59, 4.82, 3.18, 1.73, - * 68.61, 31.39, 0., 0., 0., 0., - * 38.80, 31.90, 23.6, 4.88, 0.5, 0.071, - * 63.90, 35.80, 0., 0., 0., 0., - * 51.57, 48.30, 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0., - * 67.80, 23.60, 8.60, 0., 0., 0., - * 63.90, 35.80, 0., 0., 0., 0., - * 51.57, 48.30, 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0./ - DATA BRTIO2/100.00, 0., 0., 0., 0., 0., - * 67.80, 23.60, 8.60, 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0., - * 100.00, 0., 0., 0., 0., 0./ - DATA MODE1/ 101,30201, 0, 0, 0, 0, - * 405, 0, 0, 0, 0, 0, - * 406, 0, 0, 0, 0, 0, - * 70707,40308,40209,40608,40509,70908, - * 405, 708,90808,70402,70405,70708, - * 406, 709,80909,70403,70406,70709, - * 908, 707, 0, 0, 0, 0, - * 101,70707,70908,10908,10302,10107, - * 914, 713, 0, 0, 0, 0, - * 714, 813, 0, 0, 0, 0, - * 118, 0, 0, 0, 0, 0, - * 913, 0, 0, 0, 0, 0, - * 718, 0, 0, 0, 0, 0, - * 918, 0, 0, 0, 0, 0, - * 1218, 922, 723, 0, 0, 0, - * 815, 725, 0, 0, 0, 0, - * 715, 925, 0, 0, 0, 0, - * 126, 0, 0, 0, 0, 0, - * 825, 0, 0, 0, 0, 0, - * 726, 0, 0, 0, 0, 0/ - DATA MODE2/ 826, 0, 0, 0, 0, 0, - * 1126, 830, 731, 0, 0, 0, - * 40402, 0, 0, 0, 0, 0, - * 40403, 0, 0, 0, 0, 0/ - DATA NPAR/24/ - DATA UBUF/0./ -C. -C. ------------------------------------------------------------------- -C. - REMASS=EMASS - REMMU =EMMU - RPMASS=PMASS - CALL G3SPART( 1,'GAMMA$ ',1,0. , 0.,1.E+15,UBUF,0) - CALL G3SPART( 2,'POSITRON$ ',2,REMASS , 1.,1.E+15,UBUF,0) - CALL G3SPART( 3,'ELECTRON$ ',2,REMASS ,-1.,1.E+15,UBUF,0) - CALL G3SPART( 4,'NEUTRINO$ ',3,0. , 0.,1.E+15,UBUF,0) - CALL G3SPART( 5,'MUON +$ ',5,REMMU , 1.,2.19703E-06,UBUF,0) - CALL G3SPART( 6,'MUON -$ ',5,REMMU ,-1.,2.19703E-06,UBUF,0) - CALL G3SPART( 7,'PION 0$ ',3,0.1349764,0.,0.84E-16,UBUF,0) - CALL G3SPART( 8,'PION +$ ',4,0.1395700, 1.,2.603E-08,UBUF,0) - CALL G3SPART( 9,'PION -$ ',4,0.1395700,-1.,2.603E-08,UBUF,0) - CALL G3SPART(10,'KAON 0 LONG$',3,0.497672, 0.,5.17E-08,UBUF,0) - CALL G3SPART(11,'KAON +$ ',4,0.493677, 1.,1.237E-08,UBUF,0) - CALL G3SPART(12,'KAON -$ ',4,0.493677,-1.,1.237E-08,UBUF,0) - CALL G3SPART(13,'NEUTRON$ ',3,0.93956563, 0.,8.870E+02,UBUF,0) - CALL G3SPART(14,'PROTON$ ',4,RPMASS , 1.,1.000000E+15,UBUF,0) - CALL G3SPART(15,'ANTIPROTON$ ',4,RPMASS ,-1.,1.000000E+15,UBUF,0) - CALL G3SPART(16,'KAON 0 SHORT$',3,0.497672, 0.,8.926E-11,UBUF,0) - CALL G3SPART(17,'ETA$ ',3,0.54745 , 0.,5.485E-19,UBUF,0) - CALL G3SPART(18,'LAMBDA$ ',3,1.115684, 0.,2.632E-10,UBUF,0) - CALL G3SPART(19,'SIGMA +$ ',4,1.18937 , 1.,0.799E-10,UBUF,0) - CALL G3SPART(20,'SIGMA 0$ ',3,1.19255 , 0.,7.4E-20,UBUF,0) - CALL G3SPART(21,'SIGMA -$ ',4,1.197436,-1.,1.479E-10,UBUF,0) - CALL G3SPART(22,'XI 0$ ',3,1.3149 , 0.,2.9E-10,UBUF,0) - CALL G3SPART(23,'XI -$ ',4,1.32132 ,-1.,1.639E-10,UBUF,0) - CALL G3SPART(24,'OMEGA -$ ',4,1.67245 ,-1.,0.822E-10,UBUF,0) - CALL G3SPART(25,'ANTINEUTRON$',3,0.93956563, 0.,8.870E+02,UBUF,0) - CALL G3SPART(26,'ANTILAMBDA$ ',3,1.115684, 0.,2.632E-10,UBUF,0) - CALL G3SPART(27,'ANTISIGMA -$',4,1.18937 ,-1.,0.799E-10,UBUF,0) - CALL G3SPART(28,'ANTISIGMA 0$',3,1.19255 , 0.,7.4E-20,UBUF,0) - CALL G3SPART(29,'ANTISIGMA +$',4,1.197436, 1.,1.479E-10,UBUF,0) - CALL G3SPART(30,'ANTIXI 0$ ',3,1.3149 , 0.,2.9E-10,UBUF,0) - CALL G3SPART(31,'ANTIXI +$ ',4,1.32132 , 1.,1.639E-10,UBUF,0) - CALL G3SPART(32,'ANTIOMEGA +$',4,1.67245 , 1.,0.822E-10,UBUF,0) -* CALL G3SPART(33,'TAU +$ ',4,1.7771 , 1.,3.040000E-13,UBUF,0) -* CALL G3SPART(34,'TAU -$ ',4,1.7771 ,-1.,3.040000E-13,UBUF,0) -* CALL G3SPART(35,'D +$ ',4,1.8694 , 1.,1.062000E-12,UBUF,0) -* CALL G3SPART(36,'D -$ ',4,1.8694 ,-1.,1.062000E-12,UBUF,0) -* CALL G3SPART(37,'D 0$ ',3,1.8646 , 0.,4.280000E-13,UBUF,0) -* CALL G3SPART(38,'ANTI D 0$ ',3,1.8646 , 0.,4.280000E-13,UBUF,0) -* CALL G3SPART(39,'DS+$ ',4,1.9685 , 1.,4.360000E-13,UBUF,0) -* CALL G3SPART(40,'DS-$ ',4,1.9685 ,-1.,4.360000E-13,UBUF,0) -* CALL G3SPART(41,'LAMBDA C +$ ',4,2.2851 , 1.,1.790000E-13,UBUF,0) -* CALL G3SPART(42,'W +$ ',4,80.220 , 1.,3.160000E-25,UBUF,0) -* CALL G3SPART(43,'W -$ ',4,80.220 ,-1.,2.640000E-25,UBUF,0) -* CALL G3SPART(44,'Z 0$ ',3,91.187 , 0.,7.740000E-26,UBUF,0) - CALL G3SPART(45,'DEUTERON$ ',8,1.875613,+1.,1.000000E+15,UBUF,0) - CALL G3SPART(46,'TRITON$ ',8,2.80925 ,+1.,1.000000E+15,UBUF,0) - CALL G3SPART(47,'ALPHA$ ',8,3.727417,+2.,1.000000E+15,UBUF,0) - CALL G3SPART(48,'GEANTINO$ ',6,0. , 0.,1.000000E+15,UBUF,0) - CALL G3SPART(49,'HE3$ ',8,2.80923 ,+2.,1.000000E+15,UBUF,0) - CALL G3SPART(50,'Cerenkov$ ',7,0. , 0.,1.000000E+15,UBUF,0) -C -C Define decay modes. -C - DO 10 I=1,NPAR - CALL G3SDK(IPAR(I),BRATIO(1,I),MODE(1,I)) - 10 CONTINUE -C - 99 RETURN - END diff --git a/StarVMC/geant3/gcons/gpions.F b/StarVMC/geant3/gcons/gpions.F deleted file mode 100644 index fbaf6defb46..00000000000 --- a/StarVMC/geant3/gcons/gpions.F +++ /dev/null @@ -1,102 +0,0 @@ -* -* $Id: gpions.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gpions.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PIONS -C. -C. ******************************************************************* -C. * * -C. * Define a subset of the 'stable' most common elements * -C. * in the Nature * -C. * * -C. * ==>Called by : , UGINIT * -C. * Author B.Grosdidier (Strasbourg) ***** * -C. * * -C. ******************************************************************* -C. - DIMENSION UBUF(1) - DATA UBUF/0./ -* -* The Geant particle identification begin to IPART = 61 - CALL G3SPART( 61,'LI6 ',8, 5.60305, 3., 1000., UBUF,0) - CALL G3SPART( 62,'LI7 ',8, 6.53536, 3., 1000., UBUF,0) - CALL G3SPART( 63,'BE7 ',8, 6.53622, 4., 1000., UBUF,0) - CALL G3SPART( 64,'BE9 ',8, 8.39479, 4., 1000., UBUF,0) - CALL G3SPART( 65,'B10 ',8, 9.32699, 5., 1000., UBUF,0) - CALL G3SPART( 66,'B11 ',8, 10.25510, 5., 1000., UBUF,0) - CALL G3SPART( 67,'C12 ',8, 11.17793, 6., 1000., UBUF,0) - CALL G3SPART( 68,'N14 ',8, 13.04378, 7., 1000., UBUF,0) - CALL G3SPART( 69,'O16 ',8, 14.89917, 8., 1000., UBUF,0) - CALL G3SPART( 70,'F19 ',8, 17.69690, 9., 1000., UBUF,0) - CALL G3SPART( 71,'NE20 ',8, 18.62284, 10., 1000., UBUF,0) - CALL G3SPART( 72,'NA23 ',8, 21.41483, 11., 1000., UBUF,0) - CALL G3SPART( 73,'MG24 ',8, 22.34193, 12., 1000., UBUF,0) - CALL G3SPART( 74,'AL27 ',8, 25.13314, 13., 1000., UBUF,0) - CALL G3SPART( 75,'SI28 ',8, 26.06034, 14., 1000., UBUF,0) - CALL G3SPART( 76,'P31 ',8, 28.85188, 15., 1000., UBUF,0) - CALL G3SPART( 77,'S32 ',8, 29.78180, 16., 1000., UBUF,0) - CALL G3SPART( 78,'CL35 ',8, 32.57328, 17., 1000., UBUF,0) - CALL G3SPART( 79,'AR36 ',8, 33.50356, 18., 1000., UBUF,0) - CALL G3SPART( 80,'K39 ',8, 36.29447, 19., 1000., UBUF,0) - CALL G3SPART( 81,'CA40 ',8, 37.22492, 20., 1000., UBUF,0) - CALL G3SPART( 82,'SC45 ',8, 41.87617, 21., 1000., UBUF,0) - CALL G3SPART( 83,'TI48 ',8, 44.66324, 22., 1000., UBUF,0) - CALL G3SPART( 84,'V51 ',8, 47.45401, 23., 1000., UBUF,0) - CALL G3SPART( 85,'CR52 ',8, 48.38228, 24., 1000., UBUF,0) - CALL G3SPART( 86,'MN55 ',8, 51.17447, 25., 1000., UBUF,0) - CALL G3SPART( 87,'FE56 ',8, 52.10307, 26., 1000., UBUF,0) - CALL G3SPART( 88,'CO59 ',8, 54.89593, 27., 1000., UBUF,0) - CALL G3SPART( 89,'NI58 ',8, 53.96644, 28., 1000., UBUF,0) - CALL G3SPART( 90,'CU63 ',8, 58.61856, 29., 1000., UBUF,0) - CALL G3SPART( 91,'ZN64 ',8, 59.54963, 30., 1000., UBUF,0) - CALL G3SPART( 92,'GE74 ',8, 68.85715, 32., 1000., UBUF,0) - CALL G3SPART( 93,'SE80 ',8, 74.44178, 34., 1000., UBUF,0) - CALL G3SPART( 94,'KR84 ',8, 78.16309, 36., 1000., UBUF,0) - CALL G3SPART( 95,'SR88 ',8, 81.88358, 38., 1000., UBUF,0) - CALL G3SPART( 96,'ZR90 ',8, 83.74571, 40., 1000., UBUF,0) - CALL G3SPART( 97,'MO98 ',8, 91.19832, 42., 1000., UBUF,0) - CALL G3SPART( 98,'PD106',8, 98.64997, 46., 1000., UBUF,0) - CALL G3SPART( 99,'CD114',8, 106.10997, 48., 1000., UBUF,0) - CALL G3SPART(100,'SN120',8, 111.68821, 50., 1000., UBUF,0) - CALL G3SPART(101,'XE132',8, 122.86796, 54., 1000., UBUF,0) - CALL G3SPART(102,'BA138',8, 128.45793, 56., 1000., UBUF,0) - CALL G3SPART(103,'CE140',8, 130.32111, 58., 1000., UBUF,0) - CALL G3SPART(104,'SM152',8, 141.51236, 62., 1000., UBUF,0) - CALL G3SPART(105,'DY164',8, 152.69909, 66., 1000., UBUF,0) - CALL G3SPART(106,'YB174',8, 162.02245, 70., 1000., UBUF,0) - CALL G3SPART(107,'W184 ',8, 171.34924, 74., 1000., UBUF,0) - CALL G3SPART(108,'PT194',8, 180.67513, 78., 1000., UBUF,0) - CALL G3SPART(109,'AU197',8, 183.47324, 79., 1000., UBUF,0) - CALL G3SPART(110,'HG202',8, 188.13451, 80., 1000., UBUF,0) - CALL G3SPART(111,'PB208',8, 193.72907, 82., 1000., UBUF,0) - CALL G3SPART(112,'U238 ',8, 221.74295, 92., 1000., UBUF,0) -* - END diff --git a/StarVMC/geant3/gcons/gplmat.F b/StarVMC/geant3/gcons/gplmat.F deleted file mode 100644 index 9a58e64a703..00000000000 --- a/StarVMC/geant3/gcons/gplmat.F +++ /dev/null @@ -1,274 +0,0 @@ -* -* $Id: gplmat.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gplmat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 10/01/95 17.36.36 by S.Ravndal -*-- Author : - SUBROUTINE G3PLMAT(IMATES,IPART,MECAN,KDIN,TKIN,IDM) -C. -C ****************************************************************** -C. * * -C. * INTERPOLATE and PLOT the DE/DX and Cross sections * -C. * tabulated in JMATE banks corresponding to : * -C. * material IMATE, particle IPART, mecanism name HMECAN, * -C. * kinetic energies TKIN * -C. * * -C. * The MECANism name can be : * -C. * 'HADF' 'INEF' 'ELAF' 'FISF' 'CAPF' * -C. * 'HADG' 'INEG' 'ELAG' 'FISG' 'CAPG' * -C. * 'LOSS' 'PHOT' 'ANNI' 'COMP' 'BREM' * -C. * 'PAIR' 'DRAY' 'PFIS' 'RAYL' 'HADG' * -C. * 'MUNU' 'RANG' 'STEP' * -C. * * -C. * For Hadronic particles it also computes the * -C. * hadronic cross section from FLUKA ( '***F' ) or * -C. * GHEISHA ( '***G' ) programs: * -C. * HADF or HADG -- total * -C. * INEF or INEG -- inelastic * -C. * ELAF or ELAG -- elastic * -C. * FISF or FISG -- fission (0.0 for FLUKA) * -C. * CAPF or CAPG -- neutron capture (0.0 for FLUKA) * -C. * * -C. * Input parameters * -C. * IMATE Geant material number * -C. * IPART Geant particle number * -C. * MECAN mechanism name of the bank to be fetched * -C. * KDIM dimension of the arrays TKIN , VALUE * -C. * TKIN array of kinetic energy of incident particle (in Gev) * -C. * IDM convention for histogramming mode : * -C. * IDM.gt.0 fill , print , keep histogram(s) * -C. * IDM.eq.0 fill , print , delete histogram(s) * -C. * IDM.lt.0 fill , noprint , keep histogram(s) * -C. * The histogram IDentificator will be : * -C. * 10000*imate + 100*ipart + imeca * -C. * where IMECA is the link number in stucture JMATE * -C. * (see Geant3 writeup CONS 199) * -C. * for 'HADG' imeca = 17 * -C. * * -C. * ==>Called by : * -C. * Authors R.Brun, M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcphys.inc" - PARAMETER (MMX= 201,NCOL= 5) - CHARACTER*(*) MECAN - CHARACTER*4 MECA , KU(NCOL) - CHARACTER NAPART*16 , NAMATE*16 , CHTITL*68 - DIMENSION TKIN(KDIN),VALUE(MMX),SIGT(MMX),PCUT(5) - DIMENSION KI(NCOL),EK(NCOL) - LOGICAL LXBARN -* -#include "geant321/gcnmec.inc" -* -* ------------------------------------------------------------------ -* - IF (KDIN.LE.0) GO TO 999 - KDIM = MIN(KDIN,MMX) - IF(IMATES.LT.0) THEN - LXBARN=.TRUE. - ELSEIF(IMATES.GT.0) THEN - LXBARN=.FALSE. - ELSE - GOTO 999 - ENDIF - IMATE=ABS(IMATES) -* - IF (JMATE.LE.0) GO TO 999 - IF (IMATE.GT.NMATE) GO TO 80 - JMA = LQ(JMATE-IMATE) - IF (JMA.LE.0) GO TO 80 - CALL UHTOC(IQ(JMA+1),4,NAMATE,16) - IF(LXBARN) THEN - CMIBAR=Q(JMA+6)/(AVO*Q(JMA+8)) - ELSE - CMIBAR=1. - ENDIF -* - IF (JPART.LE.0) GO TO 999 - IF (IPART.LE.0) GO TO 999 - IF (IPART.GT.NPART) GO TO 80 - JPA = LQ(JPART-IPART) - IF (JPA.LE.0) GO TO 80 - CALL UHTOC(IQ(JPA+1),4,NAPART,16) -* -* *** Print bin meaning - IF (IDM.GE.0) THEN - CHMAIL='1' - CALL GMAIL(0,0) - CHMAIL=' ' - CHMAIL(31:)='Kinetic energy bin meaning' - CALL GMAIL(0,0) - CHMAIL(31:)='--------------------------' - CALL GMAIL(0,1) - NROW = (KDIM-1)/NCOL + 1 - DO 20 IR=1,NROW - DO 10 IC=1,NCOL - IKB = IR + (IC-1)*NROW - IF (IKB.GT.KDIM) IKB=KDIM - KI(IC) = IKB - CALL G3EVKEV(TKIN(IKB),EK(IC),KU(IC)) - 10 CONTINUE - WRITE(CHMAIL,10200) (KI(IC),EK(IC),KU(IC),IC=1,NCOL) - CALL GMAIL(0,0) - 20 CONTINUE - ENDIF -* - BIGINV= 1000./BIG - DO 30 JMX = 1, MMX - SIGT(JMX) = 0. - 30 CONTINUE - IF(MECAN.EQ.'ALL') THEN - N1 = 1 - N2 = NMECA - ELSE - N1 = 0 - DO 40 IMECA=1,NMECA - IF(MECAN.EQ.CHNMEC(IMECA)) THEN - N1 = IMECA - ENDIF - 40 CONTINUE - IF(N1.EQ.0) THEN - WRITE(CHMAIL,'('' *** GPLMAT: Mechanism '',A, - + '' not implemented'')') MECAN - CALL GMAIL(0,0) - GOTO 999 - ENDIF - N2 = N1 - ENDIF - DO 60 IMEC = N1,N2 -C - IF (MECAN.EQ.'ALL') THEN - IF (CHNMEC(IMEC).EQ.'RANG') GO TO 60 - IF (CHNMEC(IMEC).EQ.'STEP') GO TO 60 - END IF -C - IF(CHNMEC(IMEC).NE.'NULL') THEN - MECA = CHNMEC(IMEC) - CALL G3FTMAT(IMATE,IPART,MECA,KDIM,TKIN,VALUE,PCUT,IXST) - IF(IXST.EQ.0) GO TO 60 -* -* *** Book histogram - ISIG = 0 - IF (MECA.EQ.'LOSS') THEN - CHTITL = NAPART//' in '//NAMATE//' dE/dx (MeV/cm)' - ELSEIF (MECA.EQ.'RANG') THEN - CHTITL = NAPART//' in '//NAMATE//' Stopping range (cm)' - ELSEIF (MECA.EQ.'STEP') THEN - CHTITL = NAPART//' in '//NAMATE//' continuous step ' - + //'(cm)' - ELSE - CHTITL = NAPART//' in '//NAMATE//' '//MECA// ' cross ' - + //'section' - IF(LXBARN) THEN - CHTITL(LNBLNK(CHTITL)+1:) = ' (barn)' - ELSE - CHTITL(LNBLNK(CHTITL)+1:) = ' (1/cm)' - ENDIF - ISIG = 1 - ENDIF -* - ID = 10000*IMATE + 100*IPART + IMEC - CALL HBOOKB(ID,CHTITL,KDIM-1,TKIN,0.) -* -* *** Fill histogram -* - VALMI = MAX (BIGINV,VMAX(VALUE,KDIM)*1.E-8) - DO 50 IKB = 1,KDIM - IF (MECA.NE.'LOSS'.AND.MECA.NE.'RANG' - + .AND.MECA.NE.'STEP') - + VALUE(IKB)=VALUE(IKB)*CMIBAR - IF (VALUE(IKB).GE.VALMI) THEN - CALL HFILL(ID,TKIN(IKB),0.,VALUE(IKB)) - ENDIF - IF (ISIG.EQ.1) THEN - IF(MECA(1:3).NE.'INE'.AND.MECA(1:3).NE.'ELA'.AND. - + MECA(1:3).NE.'FIS'.AND.MECA(1:3).NE.'CAP'.AND. - + MECA(1:3).NE.'HAD'.AND.IMEC.LT.IBLOWN) THEN - SIGT(IKB) = SIGT(IKB) + VALUE(IKB) - ELSE IF (MECA(1:3).EQ.'HAD') THEN - IF ((MECA.EQ.'HADG'.AND.IHADR.LE.2).OR. (MECA.EQ. - + 'HADF'.AND.IHADR.EQ.4)) THEN - SIGT(IKB) = SIGT(IKB) + VALUE(IKB) - ENDIF - ENDIF - ENDIF - 50 CONTINUE - CALL HIDOPT(ID,'LOGY') - IF(IDM.GE.0) CALL HPHIST(ID,' ',0) - IF(IDM.EQ.0) CALL HDELET(ID) - ENDIF - 60 CONTINUE -* -* *** plot total cross section and mean free path - IF (MECAN.EQ.'ALL') THEN - CHTITL= NAPART//' in '//NAMATE//' total cross section' - IF(LXBARN) THEN - CHTITL(LNBLNK(CHTITL)+1:) = ' (barn)' - ELSE - CHTITL(LNBLNK(CHTITL)+1:) = ' (1/cm)' - ENDIF - ID = 10000*IMATE + 100*IPART + NMECA+1 - CALL HBOOKB(ID,CHTITL,KDIM-1,TKIN,0.) -* - CHTITL= NAPART//' in '//NAMATE//' total mean free path (cm)' - II = ID + 1 - CALL HBOOKB(II,CHTITL,KDIM-1,TKIN,0.) -* - VALMI = MAX (BIGINV,VMAX( SIGT,KDIM)*1.E-8) - DO 70 IKB = 1,KDIM - IF (SIGT(IKB).GE.VALMI) THEN - CALL HFILL(ID,TKIN(IKB),0., SIGT(IKB)) - CALL HFILL(II,TKIN(IKB),0.,CMIBAR/SIGT(IKB)) - ENDIF - 70 CONTINUE - CALL HIDOPT(ID,'LOGY') - IF(IDM.GE.0) CALL HPHIST(ID,' ',0) - IF(IDM.EQ.0) CALL HDELET(ID) -* - CALL HIDOPT(II,'LOGY') - IF(IDM.GE.0) CALL HPHIST(II,' ',0) - IF(IDM.EQ.0) CALL HDELET(II) - ENDIF -* - GO TO 999 -* - 80 WRITE(CHMAIL,10000) IMATE ,IPART - CALL GMAIL(0,0) -10000 FORMAT(' ***** GPLMAT error : material',I4, - + ' or particle',I4,' not defined' ) -10100 FORMAT(6X,'BCUTE =',F6.2,A4,3X,'BCUTM =',F6.2,A4,3X, - + 'DCUTE =',F6.2,A4,3X,'DCUTM =',F6.2,A4,3X, - + 'PPCUTM =',F6.2,A4 ) -10200 FORMAT(1X,5(' bin ',I3,' =',F7.2,A4)) - 999 END diff --git a/StarVMC/geant3/gcons/gpmate.F b/StarVMC/geant3/gcons/gpmate.F deleted file mode 100644 index fe8f3607734..00000000000 --- a/StarVMC/geant3/gcons/gpmate.F +++ /dev/null @@ -1,93 +0,0 @@ -* -* $Id: gpmate.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gpmate.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PMATE (NUMB) -C. -C. ****************************************************************** -C. * * -C. * Routine to print material data structures JMATE * -C. * NUMB Material number * -C. * * -C. * Changed by S.Egli at 8.5.90: also show mixture contents * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - CHARACTER CHMIXT*17 -C. -C. ------------------------------------------------------------------ -C. - IF (JMATE.LE.0) GO TO 999 - IF (NUMB .EQ.0) THEN - WRITE (CHMAIL,10000) - CALL GMAIL(0,0) - N1 = 1 - N2 = NMATE - ELSE - N1 = ABS(NUMB) - N2 = ABS(NUMB) - ENDIF - IF(NUMB.GE.0) THEN - WRITE (CHMAIL,10100) - CALL GMAIL(0,1) - ENDIF -C - DO 20 I=N1,N2 - JMA = LQ(JMATE-I) - IF (JMA.LE.0) GO TO 20 -C - NMIXT=Q(JMA+11) - CHMIXT=' ' - IF(NMIXT.GT.1) CHMIXT=' A Z W' - WRITE (CHMAIL,10200) I,(Q(JMA + J),J = 1,10),NMIXT,CHMIXT - CALL GMAIL(0,0) - IF(NMIXT.GT.1)THEN - JMX=LQ(JMA-5) - DO 10 J=1,NMIXT - WRITE(CHMAIL,10300)Q(JMX+J),Q(JMX+NMIXT+J), - + Q(JMX+2*NMIXT+J) - CALL GMAIL(0,0) - 10 CONTINUE - ENDIF - 20 CONTINUE -C -10000 FORMAT ('0',51('='),5X,'MATERIALS',6X,50('=')) -10100 FORMAT ('0','MATERIAL',27X,'A',9X,'Z',5X,'DENSITY' - +,2X,'RADIAT L',2X,'ABSORP L',' NMIXT') -10200 FORMAT (' ',I8,1X,5A4,3F10.3,2E10.3,I4,2X,A17) -10300 FORMAT (' ',85X,2F7.2,F7.3) - 999 END diff --git a/StarVMC/geant3/gcons/gpmatx.F b/StarVMC/geant3/gcons/gpmatx.F deleted file mode 100644 index b151223c368..00000000000 --- a/StarVMC/geant3/gcons/gpmatx.F +++ /dev/null @@ -1,164 +0,0 @@ -* -* $Id: gpmatx.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gpmatx.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PMATX (NUMB) -C. -C. ****************************************************************** -C. * * -C. * Routine to print material data structures JMATE * -C. * NUMB Material number * -C. * * -C. * Changed by S.Egli at 8.5.90: also show mixture contents * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author R.Brun S.Giani ***** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - CHARACTER CHMIXT*17 - CHARACTER NAME*20 - CHARACTER*32 CHLINE,CHSTRI(50) -C. -C. ------------------------------------------------------------------ -C. - IF (JMATE.LE.0) GO TO 999 - IF (NUMB .EQ.0) THEN - WRITE (CHMAIL,10000) - CALL GMAIL(0,0) - N1 = 1 - N2 = NMATE - ELSE - N1 = ABS(NUMB) - N2 = ABS(NUMB) - ENDIF -* IF(NUMB.GE.0) THEN -* WRITE (CHMAIL,10100) -* CALL GMAIL(0,1) -* ENDIF -C - DO 20 I=N1,N2 - JMA = LQ(JMATE-I) - IF (JMA.LE.0) GO TO 20 -C - NMIXT=Q(JMA+11) - CHMIXT=' ' -* IF(NMIXT.GT.1) CHMIXT=' A Z W' -* WRITE (CHMAIL,10200) I,(Q(JMA + J),J = 1,10),NMIXT,CHMIXT -* CALL GMAIL(0,0) - - CHLINE='Material Number=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(I,CHLINE(ILEN:)) - CHSTRI(1)=CHLINE - CALL UHTOC(IQ(JMA+1),4,NAME,20) - CHLINE='Name=' - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=NAME - CHSTRI(2)=CHLINE - CHLINE='A=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JMA+6),CHLINE(ILEN:)) - CHSTRI(3)=CHLINE - CHLINE='Z=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JMA+7),CHLINE(ILEN:)) - CHSTRI(4)=CHLINE - CHLINE='Dens=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JMA+8),CHLINE(ILEN:)) - CHSTRI(5)=CHLINE - CHLINE='RadLeng=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JMA+9),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10300)Q(JMA+9) - CHSTRI(6)=CHLINE - CHLINE='AbsLeng=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JMA+10),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10300)Q(JMA+10) - CHSTRI(7)=CHLINE - CHLINE='Nmixt=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JMA+11),CHLINE(ILEN:)) - CHSTRI(8)=CHLINE - - JJJ=8 - IF(NMIXT.GT.1)THEN - JMX=LQ(JMA-5) - DO 10 JJ=1,NMIXT - CHLINE='A(' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(JJ,CHLINE(ILEN:)) - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=')=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JMX+JJ),CHLINE(ILEN:)) - JJJ=JJJ+1 - CHSTRI(JJJ)=CHLINE - CHLINE='Z(' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(JJ,CHLINE(ILEN:)) - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=')=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JMX+NMIXT+JJ),CHLINE(ILEN:)) - JJJ=JJJ+1 - CHSTRI(JJJ)=CHLINE - CHLINE='W(' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(JJ,CHLINE(ILEN:)) - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=')=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JMX+2*NMIXT+JJ),CHLINE(ILEN:)) - JJJ=JJJ+1 - CHSTRI(JJJ)=CHLINE - 10 CONTINUE -* DO 10 J=1,NMIXT -* WRITE(CHMAIL,10300)Q(JMX+J),Q(JMX+NMIXT+J), -* + Q(JMX+2*NMIXT+J) -* CALL GMAIL(0,0) -* 10 CONTINUE - ENDIF - CALL IGMESS(JJJ,CHSTRI,'PRINT','P') - 20 CONTINUE -C -10000 FORMAT ('0',51('='),5X,'MATERIALS',6X,50('=')) -10100 FORMAT ('0','MATERIAL',27X,'A',9X,'Z',5X,'DENSITY' - +,2X,'RADIAT L',2X,'ABSORP L',' NMIXT') -10200 FORMAT (' ',I8,1X,5A4,3F10.3,2E10.3,I4,2X,A17) -10300 FORMAT (E12.5) -10400 FORMAT (' ',85X,2F7.2,F7.3) - 999 END diff --git a/StarVMC/geant3/gcons/gppart.F b/StarVMC/geant3/gcons/gppart.F deleted file mode 100644 index fd90fd871b7..00000000000 --- a/StarVMC/geant3/gcons/gppart.F +++ /dev/null @@ -1,93 +0,0 @@ -* -* $Id: gppart.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gppart.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PPART (NUMB ) -C. -C. ****************************************************************** -C. * * -C. * Routine to print particle definition JPART * -C. * NUMB Particle number * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - DIMENSION ITITLE(5) -C. -C. ------------------------------------------------------------------ -C. - IF (JPART.LE.0) GO TO 99 -C - IF (NUMB .EQ.0)THEN - WRITE (CHMAIL,1000) - CALL GMAIL(0,0) - N1 = 1 - N2 = IQ(JPART-2) - ELSE - N1 = ABS(NUMB) - N2 = ABS(NUMB) - ENDIF -C - IF(NUMB.GE.0) THEN - WRITE (CHMAIL,1001) - CALL GMAIL(0,1) - ENDIF -C - DO 10 I=N1,N2 - JP = LQ(JPART-I) - IF (JP.NE.0)THEN - IOPT = Q(JP+6) - NL = IQ(JP-1) - CALL UCOPY(IQ(JP+1),ITITLE,5) - NW=MIN(NL,13) - WRITE (CHMAIL,1002) I,ITITLE,IOPT, - + (Q(JP + J),J = 7,NW) - 5 CALL GMAIL(0,0) - IF(NL-NW.GT.0) THEN - NS=NW+1 - NW=MIN(NL,NW+5) - WRITE(CHMAIL,1003) (Q(JP + J),J = NS,NW) - GO TO 5 - END IF - ENDIF - 10 CONTINUE -C - 1000 FORMAT ('0',51('='),3X,'Particle Types',3X,50('=')) - 1001 FORMAT ('0','Part',25X,'Options',8X,'Mass',4X,'Charge' - +,' Life time User words') - 1002 FORMAT (' ',I4,1X,5A4,I8,6X,E11.4,F7.0,3X,5(E12.5,2X)) - 1003 FORMAT (61X,5(E12.5,2X)) - 99 RETURN - END diff --git a/StarVMC/geant3/gcons/gpparx.F b/StarVMC/geant3/gcons/gpparx.F deleted file mode 100644 index 93c9d7017f2..00000000000 --- a/StarVMC/geant3/gcons/gpparx.F +++ /dev/null @@ -1,131 +0,0 @@ -* -* $Id: gpparx.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gpparx.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PPARX (NUMB ) -C. -C. ****************************************************************** -C. * * -C. * Routine to print particle definition JPART * -C. * NUMB Particle number * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author R.Brun S.Giani ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - CHARACTER*32 CHLINE,CHSTRI(50) - CHARACTER*20 NAME - DIMENSION ITITLE(5) -C. -C. ------------------------------------------------------------------ -C. - IF (JPART.LE.0) GO TO 999 -C - IF (NUMB .EQ.0)THEN - WRITE (CHMAIL,10000) - CALL GMAIL(0,0) - N1 = 1 - N2 = IQ(JPART-2) - ELSE - N1 = ABS(NUMB) - N2 = ABS(NUMB) - ENDIF -C -* IF(NUMB.GE.0) THEN -* WRITE (CHMAIL,1001) -* CALL GMAIL(0,1) -* ENDIF -C - DO 20 I=N1,N2 - JP = LQ(JPART-I) - IF (JP.NE.0)THEN - IOPT = Q(JP+6) - NL = IQ(JP-1) - CALL UCOPY(IQ(JP+1),ITITLE,5) -* NW=MIN(NL,13) -* NW=NL - CHLINE='Particle Number=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(I,CHLINE(ILEN:)) - CHSTRI(1)=CHLINE - CALL UHTOC(IQ(JP+1),4,NAME,20) - CHLINE='Name=' - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=NAME - CHSTRI(2)=CHLINE - CHLINE='Iopt=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(IOPT,CHLINE(ILEN:)) - CHSTRI(3)=CHLINE - CHLINE='Mass=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JP+7),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JP+7) - CHSTRI(4)=CHLINE - CHLINE='Charge=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JP+8),CHLINE(ILEN:)) - CHSTRI(5)=CHLINE - CHLINE='LifeTim=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JP+9),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10300)Q(JP+9) - CHSTRI(6)=CHLINE - DO 10 JJ=7,NL - CHLINE='User=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JP+JJ),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10300)Q(JP+JJ) - CHSTRI(JJ)=CHLINE - 10 CONTINUE - CALL IGMESS(NL,CHSTRI,'PRINT','P') -* WRITE (CHMAIL,1002) I,ITITLE,IOPT, -* + (Q(JP + J),J = 7,NW) -* 5 CALL GMAIL(0,0) -* IF(NL-NW.GT.0) THEN -* NS=NW+1 -* NW=MIN(NL,NW+5) -* WRITE(CHMAIL,1003) (Q(JP + J),J = NS,NW) -* GO TO 5 -* END IF - ENDIF - 20 CONTINUE -C -10000 FORMAT ('0',51('='),3X,'Particle Types',3X,50('=')) -10100 FORMAT ('0','Part',25X,'Options',8X,'Mass',4X,'Charge' - +,' Life time User words') -* 1002 FORMAT (' ',I4,1X,5A4,I8,6X,E11.4,F7.0,3X,5(E12.5,2X)) -10200 FORMAT (E11.4) -10300 FORMAT (E12.5) - 999 END diff --git a/StarVMC/geant3/gcons/gprmat.F b/StarVMC/geant3/gcons/gprmat.F deleted file mode 100644 index b94ffddc84e..00000000000 --- a/StarVMC/geant3/gcons/gprmat.F +++ /dev/null @@ -1,251 +0,0 @@ -* -* $Id: gprmat.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gprmat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 13/12/94 17.08.38 by S.Giani -*-- Author : - SUBROUTINE G3PRMAT(IMATE,IPART,MECAN,KDIN,TKIN) -C. -C. ****************************************************************** -C. * * -C. * INTERPOLATE and PRINT the DE/DX ,stopping range and * -C. * Cross sections tabulated in JMATE banks corresponding to * -C. * material IMATE, particle IPART, mecanism name MECAN , * -C. * kinetic energies TKIN. * -C. * * -C. * The MECAnism name can be : * -C. * 'HADF' 'INEF' 'ELAF' 'FISF' 'CAPF' * -C. * 'HADG' 'INEG' 'ELAG' 'FISG' 'CAPG' * -C. * 'LOSS' 'PHOT' 'ANNI' 'COMP' 'BREM' * -C. * 'PAIR' 'DRAY' 'PFIS' 'RAYL' 'HADG' * -C. * 'MUNU' 'RANG' 'STEP' * -C. * * -C. * For Hadronic particles it also computes the * -C. * hadronic cross section from FLUKA ( '***F' ) or * -C. * GHEISHA ( '***G' ) programs: * -C. * HADF or HADG -- total * -C. * INEF or INEG -- inelastic * -C. * ELAF or ELAG -- elastic * -C. * FISF or FISG -- fission (0.0 for FLUKA) * -C. * CAPF or CAPG -- neutron capture (0.0 for FLUKA) * -C. * * -C. * Input parameters * -C. * IMATE Geant material number * -C. * IPART Geant particle number * -C. * MECAN mechanism name of the bank to be fetched * -C. * KDIM dimension of the arrays TKIN , VALUE * -C. * TKIN array of kinetic energy of incident particle (in Gev) * -C. * * -C. * ==>Called by : * -C. * Authors R.Brun, M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" - PARAMETER (MMX=100) - CHARACTER*(*) MECAN - CHARACTER*4 MECA - CHARACTER*4 KU1 , KU2 , KU3 , KU(5) - DIMENSION TKIN(KDIN),VALUE(MMX),SIGT(MMX),PCUT(5),CU(5) -* -#include "geant321/gcnmec.inc" -* -* ------------------------------------------------------------------ -* - KDIM = MIN(KDIN,MMX) - IF (KDIM.LE.0) GO TO 999 -* - IF (JMATE.LE.0) GO TO 999 - IF (IMATE.LE.0) GO TO 999 - IF (IMATE.GT.NMATE) GO TO 90 - JMA = LQ(JMATE-IMATE) - IF (JMA.LE.0) GO TO 90 -* - IF (JPART.LE.0) GO TO 999 - IF (IPART.LE.0) GO TO 999 - IF (IPART.GT.NPART) GO TO 90 - JPA = LQ(JPART-IPART) - IF (JPA.LE.0) GO TO 90 -* - DO 10 JSIG=1,MMX - SIGT(JSIG)=0. - 10 CONTINUE - IF(MECAN.EQ.'ALL') THEN - N1 = 1 - N2 = NMECA - ELSE - N1 = 0 - DO 20 IMECA=1,NMECA - IF(MECAN.EQ.CHNMEC(IMECA)) THEN - N1 = IMECA - ENDIF - 20 CONTINUE - IF(N1.EQ.0) THEN - WRITE(CHMAIL,'('' *** GPRMAT: Mechanism '',A, - + '' not implemented'')') MECAN - CALL GMAIL(0,0) - GOTO 999 - ENDIF - N2 = N1 - ENDIF - DO 60 IMEC = N1,N2 - IF(CHNMEC(IMEC).NE.'NULL') THEN - MECA = CHNMEC(IMEC) - CALL G3FTMAT(IMATE,IPART,MECA,KDIM,TKIN,VALUE,PCUT,IXST) - IF(IXST.EQ.0) GO TO 60 - CHMAIL='1' - CALL GMAIL(0,0) - WRITE(CHMAIL,10100)(IQ(JMA+I),I=1,5),MECA,(IQ(JPA+J),J=1,5) - CALL GMAIL(0,0) - CHMAIL(31:)='-----------------------------------------' - CALL GMAIL(0,1) - CHMAIL=' ' - DO 30 K=1,5 - 30 CALL G3EVKEV(PCUT(K),CU(K),KU(K)) - WRITE(CHMAIL,10200) (CU(K),KU(K),K=1,5) - CALL GMAIL(0,1) -* - IF (MECA.EQ.'LOSS'.OR.MECA.EQ.'RANG'.OR.MECA.EQ.'STEP') - + THEN - IF (MECA.EQ.'LOSS') WRITE(CHMAIL,10300) - IF (MECA.EQ.'RANG') WRITE(CHMAIL,10400) - IF (MECA.EQ.'STEP') WRITE(CHMAIL,10500) - CALL GMAIL(0,1) - NROW = (KDIM-1)/3 + 1 - DO 40 IKB=1,NROW - IK = IKB - DE1 = VALUE(IK) - CALL G3EVKEV(TKIN(IK),EK1,KU1) -* - IK = IKB + NROW - IF (IK.GT.KDIM) IK=KDIM - DE2 = VALUE(IK) - CALL G3EVKEV(TKIN(IK),EK2,KU2) -* - IK = IKB + 2*NROW - IF (IK.GT.KDIM) IK=KDIM - DE3 = VALUE(IK) - CALL G3EVKEV(TKIN(IK),EK3,KU3) -* - WRITE(CHMAIL,10600) EK1,KU1,DE1,EK2,KU2,DE2,EK3,KU3, - + DE3 - CALL GMAIL(0,0) - 40 CONTINUE - ELSE - WRITE(CHMAIL,10700) - CALL GMAIL(0,1) - NROW = (KDIM-1)/2 + 1 - DO 50 IKB=1,NROW - IK = IKB - SIG1 = VALUE(IK) - AL1=0. - IF(SIG1.NE.0.)AL1 = 1./SIG1 - SIGT(IK) = SIGT(IK) + SIG1 - CALL G3EVKEV(TKIN(IK),EK1,KU1) -* - IK = IKB + NROW - IF (IK.GT.KDIM) IK=KDIM - SIG2 = VALUE(IK) - AL2=0. - IF(SIG2.NE.0.)AL2 = 1./SIG2 - SIGT(IK) = SIGT(IK) + SIG2 - CALL G3EVKEV(TKIN(IK),EK2,KU2) -* - WRITE(CHMAIL,10900) EK1,KU1,SIG1,AL1,EK2,KU2,SIG2,AL2 - CALL GMAIL(0,0) - 50 CONTINUE - ENDIF - ENDIF - 60 CONTINUE -* -* *** print total cross section - IF (MECAN.EQ.'ALL') THEN - MECA = 'SIGT' - CHMAIL='1' - CALL GMAIL(0,0) - WRITE(CHMAIL,10100)(IQ(JMA+I),I=1,5),MECA,(IQ(JPA+J),J=1,5) - CALL GMAIL(0,0) - CHMAIL(31:)='-----------------------------------------' - CALL GMAIL(0,1) - CHMAIL=' ' - DO 70 K=1,5 - 70 CALL G3EVKEV(PCUT(K),CU(K),KU(K)) - WRITE(CHMAIL,10200) (CU(K),KU(K),K=1,5) - CALL GMAIL(0,1) - WRITE(CHMAIL,10800) - CALL GMAIL(0,1) - NROW = (KDIM-1)/2 + 1 - DO 80 IKB=1,NROW - IK = IKB - SIG1 = SIGT(IK) - AL1=0. - IF(SIG1.NE.0.)AL1 = 1./SIG1 - CALL G3EVKEV(TKIN(IK),EK1,KU1) -* - IK = IKB + NROW - IF (IK.GT.KDIM) IK=KDIM - SIG2 = SIGT(IK) - AL2=0. - IF(SIG2.NE.0.)AL2 = 1./SIG2 - CALL G3EVKEV(TKIN(IK),EK2,KU2) -* - WRITE(CHMAIL,10900) EK1,KU1,SIG1,AL1,EK2,KU2,SIG2,AL2 - CALL GMAIL(0,0) - 80 CONTINUE - ENDIF -* - GO TO 999 -* - 90 WRITE(CHMAIL,10000) IMATE ,IPART - CALL GMAIL(0,0) -* -10000 FORMAT(' ***** GPRMAT error : material',I4, - + ' or particle',I4,' not defined' ) -10100 FORMAT(30X,5A4,A4, ' for ',5A4) -10200 FORMAT( 6X,'BCUTE =',F6.2,A4,3X,'BCUTM =',F6.2,A4,3X, - + 'DCUTE =',F6.2,A4,3X,'DCUTM =',F6.2,A4,3X, - + 'PPCUTM =',F6.2,A4 ) -10300 FORMAT( 6X,'kinetic energy DE/DX(mev/cm)', - + 6X,'kinetic energy DE/DX(mev/cm)', - + 6X,'kinetic energy DE/DX(mev/cm)') -10400 FORMAT( 6X,'kinetic energy Stop range cm', - + 6X,'kinetic energy Stop ramge cm', - + 6X,'kinetic energy Stop range cm') -10500 FORMAT( 6X,'kinetic energy Mulof step cm', - + 6X,'kinetic energy Mulof step cm', - + 6X,'kinetic energy Mulof step cm') -10600 FORMAT( 3(F16.2,A4,E15.4)) -10700 FORMAT( 6X,'kinetic energy Sigma (1/cm) Lambda (cm)', - + 6X,'kinetic energy Sigma (1/cm) Lambda (cm)') -10800 FORMAT( 6X,'kinetic energy Sigto (1/cm) Lambda (cm)', - + 6X,'kinetic energy Sigto (1/cm) Lambda (cm)') -10900 FORMAT( 2(F16.2,A4,2(E15.4))) - 999 END diff --git a/StarVMC/geant3/gcons/gptmed.F b/StarVMC/geant3/gcons/gptmed.F deleted file mode 100644 index 4b09d145b14..00000000000 --- a/StarVMC/geant3/gcons/gptmed.F +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: gptmed.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gptmed.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PTMED (NUMB ) -C. -C. ****************************************************************** -C. * * -C. * Routine to print tracking media data structure JTMED * -C. * NUMB medium number * -C. * * -C. * ==>Called by : , GPRINT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - DIMENSION ITITLE(5) -C. -C. ------------------------------------------------------------------ -C. - IF (JTMED.LE.0) GO TO 99 -C - IF (NUMB .EQ.0)THEN - WRITE (CHMAIL,1000) - CALL GMAIL(0,0) - N1 = 1 - N2 = NTMED - ELSE - N1 = ABS(NUMB) - N2 = ABS(NUMB) - ENDIF - IF(NUMB.GE.0) THEN - WRITE (CHMAIL,1001) - CALL GMAIL(0,1) - ENDIF -C - DO 10 I=N1,N2 - JTM = LQ(JTMED-I) - IF (JTM.NE.0)THEN - IMAT = Q(JTM+6) - ISVOL = Q(JTM+7) - IFIELD = Q(JTM+8) - CALL UCOPY(IQ(JTM+1),ITITLE,5) - WRITE(CHMAIL,1002)I,ITITLE,IMAT,ISVOL,IFIELD, - + (Q(JTM+J),J=9,14) - CALL GMAIL(0,0) - ENDIF - 10 CONTINUE -C - 1000 FORMAT ('0',51('='),3X,'TRACKING MEDIA',3X,50('=')) - 1001 FORMAT ('0','TMED',26X,'MATERIAL ','ISVOL',' IFIELD FIELDM' - +, ' TMAXFD',' STEMAX',' DEEMAX',' EPSIL',' STMIN') - 1002 FORMAT (' ',I6,1X,5A4,I8,I8,I6,4X,F6.2,2X,F6.2,G10.3,3F8.3) - 99 RETURN - END diff --git a/StarVMC/geant3/gcons/gptmex.F b/StarVMC/geant3/gcons/gptmex.F deleted file mode 100644 index 5d745271894..00000000000 --- a/StarVMC/geant3/gcons/gptmex.F +++ /dev/null @@ -1,136 +0,0 @@ -* -* $Id: gptmex.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gptmex.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3PTMEX (NUMB ) -C. -C. ****************************************************************** -C. * * -C. * Routine to print tracking media data structure JTMED * -C. * NUMB medium number * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author R.Brun S.Giani ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - CHARACTER*32 CHLINE,CHSTRI(50) - CHARACTER*20 NAME - DIMENSION ITITLE(5) -C. -C. ------------------------------------------------------------------ -C. - IF (JTMED.LE.0) GO TO 999 -C - IF (NUMB .EQ.0)THEN - WRITE (CHMAIL,10000) - CALL GMAIL(0,0) - N1 = 1 - N2 = NTMED - ELSE - N1 = ABS(NUMB) - N2 = ABS(NUMB) - ENDIF -* IF(NUMB.GE.0) THEN -* WRITE (CHMAIL,1001) -* CALL GMAIL(0,1) -* ENDIF -C - DO 10 I=N1,N2 - JTM = LQ(JTMED-I) - IF (JTM.NE.0)THEN - IMAT = Q(JTM+6) - ISVOL = Q(JTM+7) - IFIELD = Q(JTM+8) - CALL UCOPY(IQ(JTM+1),ITITLE,5) - CHLINE='T. Med. Number=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(I,CHLINE(ILEN:)) - CHSTRI(1)=CHLINE - CALL UHTOC(IQ(JTM+1),4,NAME,20) - CHLINE='Name=' - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=NAME - CHSTRI(2)=CHLINE - CHLINE='Material=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(IMAT,CHLINE(ILEN:)) - CHSTRI(3)=CHLINE - CHLINE='Isvol=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(ISVOL,CHLINE(ILEN:)) - CHSTRI(4)=CHLINE - CHLINE='Ifield=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(IFIELD,CHLINE(ILEN:)) - CHSTRI(5)=CHLINE - CHLINE='Fieldm=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JTM+9),CHLINE(ILEN:)) - CHSTRI(6)=CHLINE - CHLINE='Tmaxfd=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JTM+10),CHLINE(ILEN:)) - CHSTRI(7)=CHLINE - CHLINE='Stepmax=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JTM+11),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JTM+11) - CHSTRI(8)=CHLINE - CHLINE='Deemax=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JTM+12),CHLINE(ILEN:)) - CHSTRI(9)=CHLINE - CHLINE='Epsil=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JTM+13),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JTM+13) - CHSTRI(10)=CHLINE - CHLINE='Stmin=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JTM+14),CHLINE(ILEN:)) - CHSTRI(11)=CHLINE - CALL IGMESS(11,CHSTRI,'PRINT','P') - -* WRITE(CHMAIL,1002)I,ITITLE,IMAT,ISVOL,IFIELD, -* + (Q(JTM+J),J=9,14) -* CALL GMAIL(0,0) - ENDIF - 10 CONTINUE -C -10000 FORMAT ('0',51('='),3X,'TRACKING MEDIA',3X,50('=')) -10100 FORMAT ('0','TMED',26X,'MATERIAL ','ISVOL',' IFIELD FIELDM' - +, ' TMAXFD',' STEMAX',' DEEMAX',' EPSIL',' STMIN') -10200 FORMAT (E12.5) - 999 END diff --git a/StarVMC/geant3/gcons/gsckov.F b/StarVMC/geant3/gcons/gsckov.F deleted file mode 100644 index d53a4426815..00000000000 --- a/StarVMC/geant3/gcons/gsckov.F +++ /dev/null @@ -1,107 +0,0 @@ -* -* $Id: gsckov.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gsckov.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 21/03/94 17.01.28 by Rene Brun -*-- Author : - SUBROUTINE G3SCKOV(ITMED, NPCKOV, PPCKOV, ABSCO, EFFIC, RINDEX) -C. -C. ****************************************************************** -C. * * -C. * Stores the tables for UV photon tracking in medium ITMED * -C. * Please note that it is the user's responsability to * -C. * provide all the coefficients: * -C. * * -C. * * -C. * ITMED Tracking medium number * -C. * NPCKOV Number of bins of each table * -C. * PPCKOV Value of photon momentum (in GeV) * -C. * ABSCO Absorbtion coefficents * -C. * dielectric: absorbtion length in cm * -C. * metals : absorbtion fraction (0<=x<=1) * -C. * EFFIC Detection efficiency for UV photons * -C. * RINDEX Refraction index (if=0 metal) * -C. * * -C. * Called by : * -C. * * -C. * Authors: F.Carminati, R.Jones ************ * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcjloc.inc" - DIMENSION PPCKOV(*), ABSCO(*), EFFIC(*), RINDEX(*) -C. -C. ------------------------------------------------------------------ -C. - JTM = 0 - IF(ITMED.GT.0) THEN - IF(JTMED.GT.0) THEN - IF(IQ(JTMED-2).GE.ITMED) THEN - JTM = LQ(JTMED-ITMED) - ENDIF - ENDIF - ENDIF - IF(JTM.LE.0) THEN - WRITE(CHMAIL,10000) -10000 FORMAT(' **** GSCKOV Tracking medium ',I10,' not defined') - CALL GMAIL(0,0) - GO TO 999 - ENDIF - IF(IQ(JTM-2).LT.3) THEN - CALL MZPUSH(IXSTOR,JTM,3-IQ(JTM-2),0,' ') - ENDIF - CALL MZBOOK(IXCONS,JTCKOV,JTM,-3,'CKOV',4,4,NPCKOV+1,3,-1) - CALL MZBOOK(IXCONS,JABSCO,JTCKOV,-1,'ABSC',0,0,NPCKOV,3,-1) - CALL MZBOOK(IXCONS,JEFFIC,JTCKOV,-2,'EFFI',0,0,NPCKOV,3,-1) - IF(RINDEX(1).GE.1.) THEN - CALL MZBOOK(IXCONS,JINDEX,JTCKOV,-3,'RIND',0,0,NPCKOV,3,-1) - CALL MZBOOK(IXCONS,JCURIN,JTCKOV,-4,'ABCU',0,0,NPCKOV,3,-1) - ENDIF - Q(JTCKOV+1)=NPCKOV - DO 10 J=1, NPCKOV - Q(JTCKOV+1+J) = PPCKOV(J) - Q(JABSCO+ J) = MAX(1E-10,ABSCO(J)) - Q(JEFFIC+ J) = EFFIC(J) - IF(RINDEX(1).GE.1.) THEN - Q(JINDEX+ J) = RINDEX(J) - IF(J.GT.1) THEN - Q(JCURIN+J)=0.5*((1/RINDEX(J-1)**2)+(1./RINDEX(J)**2)) - Q(JCURIN+J)=Q(JCURIN+J-1)+(PPCKOV(J)-PPCKOV(J-1))* - + Q(JCURIN+J) - ELSE - Q(JCURIN+J)=0. - ENDIF - ENDIF - 10 CONTINUE -* - 999 END diff --git a/StarVMC/geant3/gcons/gsdk.F b/StarVMC/geant3/gcons/gsdk.F deleted file mode 100644 index 8a3ad8a2697..00000000000 --- a/StarVMC/geant3/gcons/gsdk.F +++ /dev/null @@ -1,97 +0,0 @@ -* -* $Id: gsdk.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gsdk.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:44 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 02/08/94 18.13.20 by S.Ravndal -*-- Author : - SUBROUTINE G3SDK(IPART,BRATIO,MODE) -C. -C. ****************************************************************** -C. * * -C. * Defines branching ratios and decay modes for standard * -C. * GEANT particles. * -C. * * -C. * ==>Called by : , GPART * -C. * Author G.Patrick ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" - COMMON / FIXIT / JDK1, JDK2, JPA - DIMENSION BRATIO(6) - DIMENSION MODE(6) -C. -C. ------------------------------------------------------------------ -C. - IF (IPART.LE.0) GO TO 99 - IF (IPART.GT.NPART) GO TO 99 -C -C Particle pointer. -C - JPA = LQ(JPART-IPART) - IF (JPA.LE.0) GO TO 99 -C -C Book decay links and data banks. -C - JDK1=LQ(JPA-1) - JDK2=LQ(JPA-2) - IF(JDK1+JDK2.NE.0) THEN - WRITE(CHMAIL, 10000) - CALL GMAIL(1,0) - CALL G3PPART(IPART) - CALL MZDROP(IXCONS,LQ(JPA-1),' ') - CALL MZDROP(IXCONS,LQ(JPA-2),' ') - ENDIF - CALL MZBOOK(IXCONS,JDK1,JPA,-1,'PABR',0,0,6,3,0) - JPA=LQ(JPART-IPART) - CALL MZBOOK(IXCONS,JDK2,JPA,-2,'PAMO',0,0,6,2,0) - JPA=LQ(JPART-IPART) - JDK1=LQ(JPA-1) - IQ(JDK1-5)=IPART - IQ(JDK2-5)=IPART -C -C Store branching ratios & decay modes. -C - DO 20 I=1,6 - Q(JDK1+I) = BRATIO(I) - IQ(JDK2+I) = MODE(I) - 20 CONTINUE -C - 99 RETURN -10000 FORMAT(' *** GSDK ***: Warning, redefinition of decay ', - + 'for particle:') - END diff --git a/StarVMC/geant3/gcons/gsmate.F b/StarVMC/geant3/gcons/gsmate.F deleted file mode 100644 index a1054edf7cb..00000000000 --- a/StarVMC/geant3/gcons/gsmate.F +++ /dev/null @@ -1,243 +0,0 @@ -* -* $Id: gsmate.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gsmate.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:44 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*FCA : 17/02/99 12:00:00 by Federico Carminati -* Calculation of radiation length and interaction length -* ignoring user input parameters -*-- Author : - SUBROUTINE G3SMATE(IMAT,NAMATE,A,Z,DENS,RADL,ABSL,UBUF,NWBUF) -C. -C. ****************************************************************** -C. * * -C. * * -C. * Store material parameters * -C. * * -C. * * -C. * The Material data structure JMATE * -C. * --------------------------------- * -C. * * -C. * | JMATE * -C. * NMATE IMATE v * -C. * ...................................... * -C. * | | | | | * -C. * ...................................... * -C. * | * -C. * | JMA * -C. * v * -C. * ..................... * -C. * | 1 | | * -C. * ..... | * -C. * | 2 | Material | * -C. * |...| | * -C. * | 3 | Name | * -C. * |...| | * -C. * | 4 | | * -C. * |...| | * -C. * | 5 | | * -C. * ..................... * -C. * | 6 | A | * -C. * |...|...............| * -C. * | 7 | Z | * -C. * |...|...............| * -C. * | 8 | Density | * -C. * |...|...............| * -C. * | 9 | RADL | * -C. * |...|...............| * -C. * | 10| ABSL | * -C. * |...|...............| * -C. * | 11| NMIXT | * -C. * |...|...............| * -C. * | | | * -C. * ..................... * -C. * * -C. * JMA = LQ(JMATE-IMATE) pointer to material IMATE * -C. * * -C. * When the subroutine GPHYSI is called at initialisation * -C. * time the following banks are created for each material * -C. * (tabulation of energy loss and cross-section). * -C. * | JMATE * -C. * NMATE IMATE v * -C. * ................................................ * -C. * | | | | | * -C. * ................................................ * -C. * | JMA = LQ(JMATE-IMATE) * -C. * v 11 * -C. * ............................................................ * -C. * | 13 12 11 10 9 8 7 6 5 4 3 2 1 | | Material parameters | * -C. * ............................................................ * -C. * | | | | | | | | | | | | | * -C. * | | | | | | | | | | | | v JMAEL = LQ(JMA-1) * -C. * | | | | | | | | | | | | 270 * -C. * | | | | | | | | | | | |................................ * -C. * | | | | | | | | | | | ||Energy loss for electron/positro* -C. * | | | | | | | | | | | |............................ * -C. * | | | | | | | | | | | v JMAMU = LQ(JMA-2) 90 * -C. * | | | | | | | | | | |.............................. * -C. * | | | | | | | | | | ||Energy loss for muons | * -C. * | | | | | | | | | | |.............................. * -C. * | | | | | | | | | | v JMAAL = LQ(JMA-3) 90 * -C. * | | | | | | | | | |................................ * -C. * | | | | | | | | | ||Energy loss for other particles| * -C. * | | | | | | | | | |................................ * -C. * | | | | | | | | | v JPROB = LQ(JMA-4) 30 * -C. * | | | | | | | | |.................................. * -C. * | | | | | | | | ||Some material constants | * -C. * | | | | | | | | |.................................. * -C. * | | | | | | | | v JMIXT = LQ(JMA-5) 11 * -C. * | | | | | | | |.................................... * -C. * | | | | | | | ||Mixture or compound parameters | * -C. * | | | | | | | |.................................... * -C. * | | | | | | | v JPHOT = LQ(JMA-6) and JMUNU 90 * -C. * | | | | | | |...................................... * -C. * | | | | | | ||Photo-effect cross-section | * -C. * | | | | | | |...................................... * -C. * | | | | | | v JANNI = LQ(JMA-7) 90 * -C. * | | | | | |........................................ * -C. * | | | | | ||Positron annihilation cross-section | * -C. * | | | | | |........................................ * -C. * | | | | | V JCOMP = LQ(JMA-8) 90 * -C. * | | | | |.......................................... * -C. * | | | | ||Compton scattering cross-section | * -C. * | | | | |.......................................... * -C. * | | | | V JBREM = LQ(JMA-9) 90 * -C. * | | | | ............................................ * -C. * | | | | |Bremsstrahlung cross-section | * -C. * | | | | ............................................ * -C. * | | | V JPAIR = LQ(JMA-10) 90 * -C. * | | | ............................................... * -C. * | | | |Pair production cross-section | * -C. * | | | ............................................... * -C. * | | V JDRAY = LQ(JMA-11) 210 * -C. * | | .................................................. * -C. * | | |Moller and Bhabha cross-sections | * -C. * | | .................................................. * -C. * | V JPFIS = LQ(JMA-12) 90 * -C. * | ..................................................... * -C. * | |Photo fission cross section | * -C. * | ..................................................... * -C. * V JRAYL = LQ(JMA-13) 62 * -C. * ........................................................ * -C. * |Rayleigh scattering cross section and atomic form fact| * -C. * ........................................................ * -C. * V JMUNU = LQ(JMA-14) 90 * -C. * ........................................................ * -C. * V JRANG = LQ(JMA-15) 180 * -C. * V........................................................ * -C. * |Stopping range for electrons/positrons | * -C. * ........................................................ * -C. * V JRANG = LQ(JMA-16) 180 * -C. * V........................................................ * -C. * |Stopping range for muons / other particles | * -C. * ........................................................ * -C. * * -C. * ==>Called by : , UGEOM , GINC3 * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gcunit.inc" -#include "geant321/gconsp.inc" - COMMON / FIXIT / JMA - DIMENSION UBUF(1) - CHARACTER*(*) NAMATE - CHARACTER*20 NAME - PARAMETER(ALR2AV=1.39621E-03, AL183=5.20948) -C. -C. ------------------------------------------------------------------ -C. - IF(IMAT.LE.0)GO TO 99 - IF(JMATE.LE.0)THEN - CALL MZBOOK(IXCONS,JMATE,JMATE,1,'MATE',NMATE,NMATE,0,3,0) - IQ(JMATE-5)=0 - ENDIF - IF(IMAT.GT.NMATE)THEN - CALL MZPUSH(IXCONS,JMATE,IMAT-NMATE,0,'I') - NMATE=IMAT - JMA1=0 - ELSE - JMA1=LQ(JMATE-IMAT) - IF(JMA1.GT.0) THEN - WRITE(CHMAIL,10000) - CALL GMAIL(1,0) - CALL G3PMATE(IMAT) - CALL MZDROP(IXCONS,LQ(JMATE-IMAT),' ') - ENDIF - ENDIF - CALL MZBOOK(IXCONS,JMA,JMATE,-IMAT,'MATE',20,20,NWBUF+11,IOMATE,0) -C - NAME=NAMATE - NCH=LNBLNK(NAME) - IF(NCH.GT.0)THEN - IF(NAME(NCH:NCH).EQ.'$')NAME(NCH:NCH)=' ' - ENDIF - CALL UCTOH(NAME,IQ(JMA+1),4,20) -C - Q(JMA + 6) = A - Q(JMA + 7) = Z - Q(JMA + 8) = DENS -* Calculation with standard formulas -* Q(JMA + 9) = RADL -* Q(JMA + 10) = ABSL - IF(A.GT.0.AND.Z.GT.0) THEN - IF(RADL.LT.0) THEN - Q(JMA+9)=-RADL - ELSE - ALZ=LOG(Z)/3 - Q(JMA + 9) = A/(ALR2AV*DENS*Z*(Z+G3XSI(Z))* - + (AL183-LOG(Z)/3-G3FCOUL(Z))) - ENDIF - IF(ABSL.LT.0) THEN - Q(JMA+10)=-ABSL - ELSE - Q(JMA + 10) = A/(AVO*DENS*1E-3*G3HSIGM(5.,8,A)) - ENDIF - ELSE - Q(JMA + 9) = BIG - Q(JMA + 10) = BIG - ENDIF - Q(JMA + 11) = 1. - IF(NWBUF.GT.0)CALL UCOPY(UBUF,Q(JMA+12),NWBUF) -C - IF(JMA1.GT.0) THEN - CALL G3PMATE(-IMAT) - ENDIF -C -10000 FORMAT(' *** GSMATE ***: Warning, material redefinition:') - 99 END - diff --git a/StarVMC/geant3/gcons/gsmate.F.ori b/StarVMC/geant3/gcons/gsmate.F.ori deleted file mode 100644 index 6f3f7e9505b..00000000000 --- a/StarVMC/geant3/gcons/gsmate.F.ori +++ /dev/null @@ -1,211 +0,0 @@ -* -* $Id: gsmate.F.ori,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gsmate.F.ori,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE GSMATE(IMAT,NAMATE,A,Z,DENS,RADL,ABSL,UBUF,NWBUF) -C. -C. ****************************************************************** -C. * * -C. * * -C. * Store material parameters * -C. * * -C. * * -C. * The Material data structure JMATE * -C. * --------------------------------- * -C. * * -C. * | JMATE * -C. * NMATE IMATE v * -C. * ...................................... * -C. * | | | | | * -C. * ...................................... * -C. * | * -C. * | JMA * -C. * v * -C. * ..................... * -C. * | 1 | | * -C. * ..... | * -C. * | 2 | Material | * -C. * |...| | * -C. * | 3 | Name | * -C. * |...| | * -C. * | 4 | | * -C. * |...| | * -C. * | 5 | | * -C. * ..................... * -C. * | 6 | A | * -C. * |...|...............| * -C. * | 7 | Z | * -C. * |...|...............| * -C. * | 8 | Density | * -C. * |...|...............| * -C. * | 9 | RADL | * -C. * |...|...............| * -C. * | 10| ABSL | * -C. * |...|...............| * -C. * | 11| NMIXT | * -C. * |...|...............| * -C. * | | | * -C. * ..................... * -C. * * -C. * JMA = LQ(JMATE-IMATE) pointer to material IMATE * -C. * * -C. * When the subroutine GPHYSI is called at initialisation * -C. * time the following banks are created for each material * -C. * (tabulation of energy loss and cross-section). * -C. * | JMATE * -C. * NMATE IMATE v * -C. * ................................................ * -C. * | | | | | * -C. * ................................................ * -C. * | JMA = LQ(JMATE-IMATE) * -C. * v 11 * -C. * ............................................................ * -C. * | 13 12 11 10 9 8 7 6 5 4 3 2 1 | | Material parameters | * -C. * ............................................................ * -C. * | | | | | | | | | | | | | * -C. * | | | | | | | | | | | | v JMAEL = LQ(JMA-1) * -C. * | | | | | | | | | | | | 270 * -C. * | | | | | | | | | | | |................................ * -C. * | | | | | | | | | | | ||Energy loss for electron/positro* -C. * | | | | | | | | | | | |............................ * -C. * | | | | | | | | | | | v JMAMU = LQ(JMA-2) 90 * -C. * | | | | | | | | | | |.............................. * -C. * | | | | | | | | | | ||Energy loss for muons | * -C. * | | | | | | | | | | |.............................. * -C. * | | | | | | | | | | v JMAAL = LQ(JMA-3) 90 * -C. * | | | | | | | | | |................................ * -C. * | | | | | | | | | ||Energy loss for other particles| * -C. * | | | | | | | | | |................................ * -C. * | | | | | | | | | v JPROB = LQ(JMA-4) 30 * -C. * | | | | | | | | |.................................. * -C. * | | | | | | | | ||Some material constants | * -C. * | | | | | | | | |.................................. * -C. * | | | | | | | | v JMIXT = LQ(JMA-5) 11 * -C. * | | | | | | | |.................................... * -C. * | | | | | | | ||Mixture or compound parameters | * -C. * | | | | | | | |.................................... * -C. * | | | | | | | v JPHOT = LQ(JMA-6) and JMUNU 90 * -C. * | | | | | | |...................................... * -C. * | | | | | | ||Photo-effect cross-section | * -C. * | | | | | | |...................................... * -C. * | | | | | | v JANNI = LQ(JMA-7) 90 * -C. * | | | | | |........................................ * -C. * | | | | | ||Positron annihilation cross-section | * -C. * | | | | | |........................................ * -C. * | | | | | V JCOMP = LQ(JMA-8) 90 * -C. * | | | | |.......................................... * -C. * | | | | ||Compton scattering cross-section | * -C. * | | | | |.......................................... * -C. * | | | | V JBREM = LQ(JMA-9) 90 * -C. * | | | | ............................................ * -C. * | | | | |Bremsstrahlung cross-section | * -C. * | | | | ............................................ * -C. * | | | V JPAIR = LQ(JMA-10) 90 * -C. * | | | ............................................... * -C. * | | | |Pair production cross-section | * -C. * | | | ............................................... * -C. * | | V JDRAY = LQ(JMA-11) 210 * -C. * | | .................................................. * -C. * | | |Moller and Bhabha cross-sections | * -C. * | | .................................................. * -C. * | V JPFIS = LQ(JMA-12) 90 * -C. * | ..................................................... * -C. * | |Photo fission cross section | * -C. * | ..................................................... * -C. * V JRAYL = LQ(JMA-13) 62 * -C. * ........................................................ * -C. * |Rayleigh scattering cross section and atomic form fact| * -C. * ........................................................ * -C. * V JMUNU = LQ(JMA-14) 90 * -C. * ........................................................ * -C. * V JRANG = LQ(JMA-15) 180 * -C. * V........................................................ * -C. * |Stopping range for electrons/positrons | * -C. * ........................................................ * -C. * V JRANG = LQ(JMA-16) 180 * -C. * V........................................................ * -C. * |Stopping range for muons / other particles | * -C. * ........................................................ * -C. * * -C. * ==>Called by : , UGEOM , GINC3 * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gcunit.inc" - DIMENSION UBUF(1) - CHARACTER*(*) NAMATE - CHARACTER*20 NAME -C. -C. ------------------------------------------------------------------ -C. - IF(IMAT.LE.0)GO TO 99 - IF(JMATE.LE.0)THEN - CALL MZBOOK(IXCONS,JMATE,JMATE,1,'MATE',NMATE,NMATE,0,3,0) - IQ(JMATE-5)=0 - ENDIF - IF(IMAT.GT.NMATE)THEN - CALL MZPUSH(IXCONS,JMATE,IMAT-NMATE,0,'I') - NMATE=IMAT - JMA1=0 - ELSE - JMA1=LQ(JMATE-IMAT) - IF(JMA1.GT.0) THEN - WRITE(CHMAIL,10000) - CALL GMAIL(1,0) - CALL GPMATE(IMAT) - CALL MZDROP(IXCONS,LQ(JMATE-IMAT),' ') - ENDIF - ENDIF - CALL MZBOOK(IXCONS,JMA,JMATE,-IMAT,'MATE',20,20,NWBUF+11,IOMATE,0) -C - NAME=NAMATE - NCH=LNBLNK(NAME) - IF(NCH.GT.0)THEN - IF(NAME(NCH:NCH).EQ.'$')NAME(NCH:NCH)=' ' - ENDIF - CALL UCTOH(NAME,IQ(JMA+1),4,20) -C - Q(JMA + 6) = A - Q(JMA + 7) = Z - Q(JMA + 8) = DENS - Q(JMA + 9) = RADL - Q(JMA + 10) = ABSL - Q(JMA + 11) = 1. - IF(NWBUF.GT.0)CALL UCOPY(UBUF,Q(JMA+12),NWBUF) -C - IF(JMA1.GT.0) THEN - CALL GPMATE(-IMAT) - ENDIF -C -10000 FORMAT(' *** GSMATE ***: Warning, material redefinition:') - 99 END - diff --git a/StarVMC/geant3/gcons/gsmixt.F b/StarVMC/geant3/gcons/gsmixt.F deleted file mode 100644 index 1512e8627be..00000000000 --- a/StarVMC/geant3/gcons/gsmixt.F +++ /dev/null @@ -1,175 +0,0 @@ -* -* $Id: gsmixt.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gsmixt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:44 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3SMIXT(IMAT,NAMATE,A,Z,DENS,NLMAT,WMAT) -C. -C. ****************************************************************** -C. * * -C. * Defines mixture OR COMPOUND IMAT as composed by * -C. * THE BASIC NLMAT materials defined by arrays A,Z and WMAT * -C. * * -C. * If NLMAT.GT.0 then WMAT contains the PROPORTION BY * -C. * WEIGTHS OF EACH BASIC MATERIAL IN THE MIXTURE. * -C. * * -C. * If NLMAT.LT.0 then WMAT contains the number of atoms * -C. * of a given kind into the molecule of the COMPOUND * -C. * In this case, WMAT in output is changed to relative * -C. * weigths. * -C. * * -C. * nb : the radiation length is computed according * -C. * the EGS manual slac-210 uc-32 June-78 * -C. * formula 2-6-8 (37) * -C. * * -C. * ==>Called by : , UGEOM * -C. * Authors R.Brun, M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcmzfo.inc" - COMMON / FIXIT / JMA, JMIXT, JMI1 - DIMENSION WMAT(1),A(1),Z(1) - CHARACTER*(*) NAMATE - CHARACTER*20 NAME - DATA ALR2AV , AL183 / 1.39621E-03 , 5.20948 / -C. -C. ------------------------------------------------------------------ -C. - IF (IMAT.LE.0)GO TO 99 - IF(JMATE.LE.0)THEN - CALL MZBOOK(IXCONS,JMATE,JMATE,1,'MATE',NMATE,NMATE,0,3,0) - IQ(JMATE-5)=0 - ENDIF - IF(IMAT.GT.NMATE)THEN - CALL MZPUSH(IXCONS,JMATE,IMAT-NMATE,0,'I') - NMATE=IMAT - JMA1=0 - ELSE - JMA1=LQ(JMATE-IMAT) - IF(JMA1.GT.0) THEN - WRITE(CHMAIL,10000) - CALL GMAIL(1,0) - CALL G3PMATE(IMAT) - CALL MZDROP(IXCONS,LQ(JMATE-IMAT),' ') - ENDIF - ENDIF - CALL MZBOOK(IXCONS,JMA,JMATE,-IMAT,'MATE',20,20,11,IOMATE,0) -C - NAME=NAMATE - NCH=LNBLNK(NAME) - IF(NCH.GT.0)THEN - IF(NAME(NCH:NCH).EQ.'$')NAME(NCH:NCH)=' ' - ENDIF - CALL UCTOH(NAME,IQ(JMA+1),4,20) -C -C Store mixture parameters -C and parameter for Pair/Brems and -C Photoelectric routines -C - NLM = IABS(NLMAT) - IF (NLM.LE.0)GO TO 90 - CALL MZBOOK(IXCONS,JMIXT,JMA,-5,'MAMI',2,2,4*NLM,3,0) - CALL MZBOOK(IXCONS,JMI1,JMIXT,-1,'MAM1',0,0,10,3,0) - JMA = LQ(JMATE- IMAT) - IQ(JMIXT-5)=IMAT - IQ(JMI1-5)=IMAT -C -C Compute proportion by weigths in the compound -C - IF(NLMAT.LT.0) THEN - AMOL = 0. - ZMOL = 0. - DO 10 I= 1,NLM - AMOL = AMOL + WMAT(I)*A(I) - ZMOL = ZMOL + WMAT(I)*Z(I) - 10 CONTINUE - DO 20 I= 1,NLM - WMAT(I)= WMAT(I)*A(I) / AMOL - 20 CONTINUE - ENDIF -C -C Compute effective mixture parameters -C - AEFF = 0. - ZEFF = 0. - RADINV = 0. - DO 40 I = 1,NLM - AEFF = AEFF + WMAT(I)*A(I) - ZEFF = ZEFF + WMAT(I)*Z(I) - ZC = Z(I) - ALZ = LOG(ZC)/3. - XINV = ZC*(ZC+G3XSI(ZC))*(AL183-ALZ-G3FCOUL(ZC))/A(I) - RADINV = RADINV + WMAT(I)*XINV - Q(JMIXT+3*NLM+I)=XINV - Q(JMIXT + 2* NLM + I) = WMAT(I) - Q(JMIXT + NLM + I) = Z(I) - Q(JMIXT + I) = A(I) - 40 CONTINUE - RADINV = ALR2AV * DENS * RADINV - RADEFF = 1. / RADINV - CALL G3HMIX(A,WMAT,NLM,AHEFF) - ABSEFF=10000.*AHEFF/(6.022*DENS*G3HSIGM(5.,8,AHEFF)) -C - Q(JMA + 6) = AEFF - Q(JMA + 7) = ZEFF - Q(JMA + 8) = DENS - Q(JMA + 9) = RADEFF - Q(JMA + 10) = ABSEFF - Q(JMA + 11) = NLM - Q(JMI1 + 1) = AHEFF - IF(NLMAT.GT.0)THEN - Q(JMI1 + 2) = AEFF - Q(JMI1 + 3) = ZEFF - ELSE - Q(JMI1 + 2) = AMOL - Q(JMI1 + 3) = ZMOL - ENDIF -C - IF(JMA1.GT.0) THEN - CALL G3PMATE(-IMAT) - ENDIF -C - GO TO 99 -C - 90 CHMAIL=' ***** GSMIXT ERROR. MIXTURE WITH NO COMPONENTS' - CALL GMAIL(0,0) -C - 99 RETURN -10000 FORMAT(' *** GSMIXT ***: Warning, material redefinition:') - END diff --git a/StarVMC/geant3/gcons/gspart.F b/StarVMC/geant3/gcons/gspart.F deleted file mode 100644 index 1f57e8b5303..00000000000 --- a/StarVMC/geant3/gcons/gspart.F +++ /dev/null @@ -1,100 +0,0 @@ -* -* $Id: gspart.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gspart.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:44 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3SPART(IPART,NAPART,ITRTYP,AMASS,CHARGE,TLIFE, - + UBUF,NWBUF) -C. -C. ****************************************************************** -C. * * -C. * Store particle parameters * -C. * * -C. * ==>Called by : , GPART * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gcunit.inc" - COMMON / FIXIT / JPA - DIMENSION UBUF(1) - CHARACTER*(*) NAPART - CHARACTER*20 NAME -C. -C. ------------------------------------------------------------------ -C. - IF(IPART.LE.0)GO TO 99 - IF(JPART.LE.0)THEN - CALL MZBOOK(IXCONS,JPART,JPART,1,'PART',NPART,NPART,0,3,0) - IQ(JPART-5)=0 - ENDIF - IF(IPART.GT.NPART)THEN - CALL MZPUSH(IXCONS,JPART,IPART-NPART,0,'I') - NPART=IPART - JPA1=0 - ELSE - JPA1=LQ(JPART-IPART) - IF(JPA1.GT.0) THEN - WRITE(CHMAIL,10000) - CALL GMAIL(1,0) - CALL G3PPART(IPART) - CALL MZDROP(IXCONS,LQ(JPART-IPART),' ') - ENDIF - ENDIF - CALL MZBOOK(IXCONS,JPA,JPART,-IPART,'PART',2,2,NWBUF+9,IOPART,0) -C - NAME=NAPART - NCH=LNBLNK(NAME) - IF(NCH.GT.0)THEN - IF(NAME(NCH:NCH).EQ.'$')NAME(NCH:NCH)=' ' - ENDIF - CALL UCTOH(NAME,IQ(JPA+1),4,20) -C - Q(JPA + 6) = ITRTYP - Q(JPA + 7) = AMASS - Q(JPA + 8) = CHARGE - Q(JPA + 9) = TLIFE - IF(NWBUF.GT.0)CALL UCOPY(UBUF,Q(JPA+10),NWBUF) -C - IF(JPA1.GT.0) THEN - CALL G3PPART(-IPART) - ENDIF -C - 99 RETURN -10000 FORMAT(' *** GSPART ***: Warning, particle redefinition:') - END diff --git a/StarVMC/geant3/gcons/gstmed.F b/StarVMC/geant3/gcons/gstmed.F deleted file mode 100644 index c9c3d9b2077..00000000000 --- a/StarVMC/geant3/gcons/gstmed.F +++ /dev/null @@ -1,210 +0,0 @@ -* -* $Id: gstmed.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gstmed.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:44 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani -*-- Author : - SUBROUTINE G3STMED(KTMED,NATMED,NMAT,ISVOL,IFIELD,FIELDM,TMAXFD, - + STEMAX,DEEMAX,EPSIL,STMIN,UBUF,NWBUF) -* -*********************************************************************** -* * -* * -* Store tracking media parameters * -* * -* Stores the parameters of the tracking medium ITMED in the data* -* structure JTMED. * -* ITMED tracking medium number 0Called by : , UGEOM , GINC3 * -* Author R.Brun ********* * -* * -*********************************************************************** -* -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcphys.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gctrak.inc" - COMMON / FIXIT / JTM - DIMENSION MECA(5,13) - EQUIVALENCE (MECA(1,1),IPAIR) - DIMENSION UBUF(1),CUTVEC(10) - EQUIVALENCE (CUTVEC,CUTGAM) - CHARACTER*(*) NATMED - CHARACTER*20 NAME -C. -C. ------------------------------------------------------------------ -C. - ITMED=ABS(KTMED) - IF(JTMED.LE.0)THEN - CALL MZBOOK(IXCONS,JTMED,JTMED,1,'TMED',NTMED,NTMED,40,3,0) - CALL UCOPY(CUTVEC,Q(JTMED+1),10) - IQ(JTMED-5)=0 - DO 10 I=1,13 - Q(JTMED+10+I)=MECA(1,I) - 10 CONTINUE - Q(JTMED+10+21)=ILABS - Q(JTMED+10+22)=ISYNC - Q(JTMED+10+23)=ISTRA - ENDIF - IF(ITMED.GT.NTMED)THEN - CALL MZPUSH(IXCONS,JTMED,ITMED-NTMED,0,'I') - NTMED=ITMED - JTM1=0 - ELSE - JTM1=LQ(JTMED-ITMED) - IF(JTM1.GT.0) THEN - WRITE(CHMAIL,10100) - CALL GMAIL(1,0) - CALL G3PTMED(ITMED) - CALL MZDROP(IXCONS,LQ(JTMED-ITMED),' ') - ENDIF - ENDIF - NW=NWBUF+14 - CALL MZBOOK(IXCONS,JTM,JTMED,-ITMED,'TMED',10,10,NW,IOTMED,0) -C - NAME=NATMED - NCH=LNBLNK(NAME) - IF(NCH.GT.0)THEN - IF(NAME(NCH:NCH).EQ.'$')NAME(NCH:NCH)=' ' - ENDIF - CALL UCTOH(NAME,IQ(JTM+1),4,20) -C - EPS=EPSIL - IF(EPSIL.LE.0.0) THEN - WRITE(CHMAIL,10000) ITMED, EPSIL - CALL GMAIL(0,0) - EPS=1.E-4 - END IF - IF(IFIELD.NE.0.AND.FIELDM.EQ.0.0) THEN - WRITE(CHMAIL,10200) ITMED, IFIELD - CALL GMAIL(0,0) - END IF - IF(IGAUTO.NE.0.AND.ITMED.GT.0)THEN - DE=-1. - ST=-1. - SM=-1. - ELSE - DE=DEEMAX - ST=STMIN - SM=STEMAX - ENDIF - Q(JTM + 6) = NMAT - Q(JTM + 7) = ISVOL - Q(JTM + 8) = IFIELD - Q(JTM + 9) = FIELDM - Q(JTM + 10) = TMAXFD - Q(JTM + 11) = SM - Q(JTM + 12) = DE - Q(JTM + 13) = EPS - Q(JTM + 14) = ST - IF(NWBUF.GT.0)CALL UCOPY(UBUF,Q(JTM+15),NWBUF) -C - IF(JTM1.GT.0) THEN - CALL G3PTMED(-ITMED) - ENDIF -C -10000 FORMAT('0*** GSTMED *** Warning, medium = ',I5, - + ', value of EPSIL=',E10.3,' reset to 1 micron') -10100 FORMAT(' *** GSTMED *** Warning, tracking medium redefinition:') -10200 FORMAT('0*** GSTMED *** Warning, medium = ',I5, - + ', IFIELD = ',I3,' and FIELDM = 0.0 is illegal') - 999 END diff --git a/StarVMC/geant3/gcons/gstpar.F b/StarVMC/geant3/gcons/gstpar.F deleted file mode 100644 index 944031176a1..00000000000 --- a/StarVMC/geant3/gcons/gstpar.F +++ /dev/null @@ -1,150 +0,0 @@ -* -* $Id: gstpar.F,v 1.2 2015/05/26 14:56:42 jwebb Exp $ -* -* $Log: gstpar.F,v $ -* Revision 1.2 2015/05/26 14:56:42 jwebb -* PopStar Initial Version -* -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:44 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE G3STPAR(ITMED,CHPAR,PARVAL) -* -************************************************************************ -* * -* To change the value of cut or mechanism "CHPAR" * -* to a new value PARVAL for tracking medium ITMED * -* The data structure JTMED contains the standard tracking * -* parameters (CUTS and flags to control the physics processes) which * -* are used by default for all tracking media. It is possible to * -* redefine individually with GSTPAR any of these parameters for a * -* given tracking medium. * -* ITMED tracking medium number * -* CHPAR is a character string (variable name) * -* PARVAL must be given as a floating point. * -* For example to change CUTGAM to 0.0001 * -* * -* ==>Called by : * -* Author R.Brun ********* * -* * -************************************************************************ -* -#include "geant321/gcbank.inc" -#include "geant321/gcphys.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - COMMON / FIXIT / JTMN, JTM - DIMENSION CUTS(10),MECA(5,13) - EQUIVALENCE (CUTS(1),CUTGAM),(MECA(1,1),IPAIR) - CHARACTER*(*) CHPAR -C. -C. ------------------------------------------------------------------ -C. - IF(ITMED.LE.0)GO TO 90 - IF(ITMED.GT.NTMED)GO TO 90 - JTM=LQ(JTMED-ITMED) - IF(JTM.LE.0)GO TO 90 - JTMN=LQ(JTM) - IF(JTMN.EQ.0)THEN - CALL MZBOOK(IXCONS,JTMN,JTM,0,'TCUT',0,0,40,3,0) - IQ(JTMN-5)=ITMED - DO 10 I=1,10 - Q(JTMN+I)=CUTS(I) - 10 CONTINUE - DO 20 I=1,13 - Q(JTMN+10+I)=MECA(1,I) - 20 CONTINUE -* -* *** New mechanisms in version 3.16 - Q(JTMN+10+21)=ILABS - Q(JTMN+10+22)=ISYNC - Q(JTMN+10+23)=ISTRA - ENDIF -C - - ITPAR=0 - IF(CHPAR.EQ.'CUTGAM')ITPAR=1 - IF(CHPAR.EQ.'CUTELE')ITPAR=2 - IF(CHPAR.EQ.'CUTNEU')ITPAR=3 - IF(CHPAR.EQ.'CUTHAD')ITPAR=4 - IF(CHPAR.EQ.'CUTMUO')ITPAR=5 - IF(CHPAR.EQ.'BCUTE' )ITPAR=6 - IF(CHPAR.EQ.'BCUTM' )ITPAR=7 - IF(CHPAR.EQ.'DCUTE' )ITPAR=8 - IF(CHPAR.EQ.'DCUTM' )ITPAR=9 - IF(CHPAR.EQ.'PPCUTM')ITPAR=10 - IF(CHPAR.EQ.'PAIR' )ITPAR=11 - IF(CHPAR.EQ.'COMP' )ITPAR=12 - IF(CHPAR.EQ.'PHOT' )ITPAR=13 - IF(CHPAR.EQ.'PFIS' )ITPAR=14 - IF(CHPAR.EQ.'DRAY' )ITPAR=15 - IF(CHPAR.EQ.'ANNI' )ITPAR=16 - IF(CHPAR.EQ.'BREM' )ITPAR=17 - IF(CHPAR.EQ.'HADR' )ITPAR=18 - IF(CHPAR.EQ.'MUNU' )ITPAR=19 - IF(CHPAR.EQ.'DCAY' )ITPAR=20 - IF(CHPAR.EQ.'LOSS' )ITPAR=21 - IF(CHPAR.EQ.'MULS' )ITPAR=22 - IF(CHPAR.EQ.'RAYL' )ITPAR=23 - IF(CHPAR.EQ.'GHCOR1')ITPAR=26 - IF(CHPAR.EQ.'GHCOR2')ITPAR=27 - IF(CHPAR.EQ.'GHCOR3')ITPAR=28 - IF(CHPAR.EQ.'GHCOR4')ITPAR=29 - IF(CHPAR.EQ.'BIRK1' )ITPAR=27 - IF(CHPAR.EQ.'BIRK2' )ITPAR=28 - IF(CHPAR.EQ.'BIRK3' )ITPAR=29 - IF(CHPAR.EQ.'LABS' ) ITPAR=31 - IF(CHPAR.EQ.'SYNC' ) ITPAR=32 - IF(CHPAR.EQ.'STRA' ) ITPAR=33 - IF(ITPAR.NE.0)THEN - Q(JTMN+ITPAR)=PARVAL - IF(ITPAR.EQ.21)THEN - KLOSS=PARVAL+0.001 - IF(KLOSS.EQ.3.OR.KLOSS.EQ.1)Q(JTMN+15)=1. - ENDIF - ELSE - WRITE(CHMAIL,1000)ITMED,CHPAR - CALL GMAIL(0,0) - ENDIF - GO TO 99 -C - 90 WRITE(CHMAIL,2000)ITMED - CALL GMAIL(0,0) -C - 1000 FORMAT(' ***** GSTPAR error for tracking medium ', - + I3,' Tracking parameter ',A,' not defined ***** ') - 2000 FORMAT(' ***** GSTPAR error. Tracking medium NR ', - + I3,' not defined ***** ') - 99 END - diff --git a/StarVMC/geant3/gcons/gxsi.F b/StarVMC/geant3/gcons/gxsi.F deleted file mode 100644 index 3e6f37f7cbd..00000000000 --- a/StarVMC/geant3/gcons/gxsi.F +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: gxsi.F,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: gxsi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:37 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - FUNCTION G3XSI (Z) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE SCREENING FACTOR FOR PAIR PRODUCTION AND BREM * -C. * REFERENCE : EGS MANUAL SLAC 210 - UC32 - JUNE 78 * -C. * FORMULA 2.7.22 * -C. * * -C. * ==>Called by : GSMIXT * -C. * Author M.Maire ********* * -C. * * -C. ****************************************************************** -C. - DATA AL183 , AL1440 / 5.20948 , 7.27239 / - ALZ = LOG(Z)/3. - G3XSI = (AL1440 - 2*ALZ) / (AL183 - ALZ - G3FCOUL(Z)) - END diff --git a/StarVMC/geant3/geant3.diff.050708 b/StarVMC/geant3/geant3.diff.050708 deleted file mode 100644 index 36deb6c7c71..00000000000 --- a/StarVMC/geant3/geant3.diff.050708 +++ /dev/null @@ -1,27712 +0,0 @@ -Only in ./added: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/added: .svn -Only in ./block: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdevap.F ./block/fdevap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdevap.F 2007-11-19 11:08:06.377868612 -0500 -+++ ./block/fdevap.F 2005-05-25 18:36:37.103144994 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdnopt.F ./block/fdnopt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdnopt.F 2007-11-19 11:08:06.647831674 -0500 -+++ ./block/fdnopt.F 2005-05-25 18:36:37.686586414 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdpree.F ./block/fdpree.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/fdpree.F 2007-11-19 11:08:06.586588190 -0500 -+++ ./block/fdpree.F 2005-05-25 18:36:37.040999356 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt1.F ./block/flkdt1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt1.F 2007-11-19 11:08:06.850239052 -0500 -+++ ./block/flkdt1.F 2005-05-25 18:36:38.681773108 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt2.F ./block/flkdt2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt2.F 2007-11-19 11:08:06.697479628 -0500 -+++ ./block/flkdt2.F 2005-05-25 18:36:38.808528807 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt3.F ./block/flkdt3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt3.F 2007-11-19 11:08:06.750158091 -0500 -+++ ./block/flkdt3.F 2005-05-25 18:36:38.019684966 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt4.F ./block/flkdt4.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt4.F 2007-11-19 11:08:06.770458554 -0500 -+++ ./block/flkdt4.F 2005-05-25 18:36:38.754069232 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt5.F ./block/flkdt5.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt5.F 2007-11-19 11:08:06.739964157 -0500 -+++ ./block/flkdt5.F 2005-05-25 18:36:38.688706714 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt6.F ./block/flkdt6.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt6.F 2007-11-19 11:08:06.069579610 -0500 -+++ ./block/flkdt6.F 2005-05-25 18:36:38.985581102 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt7.F ./block/flkdt7.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block/flkdt7.F 2007-11-19 11:08:06.869983213 -0500 -+++ ./block/flkdt7.F 2005-05-25 18:36:38.261300580 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:52 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/block: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: cdf -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgaffi.F ./cgpack/cgaffi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgaffi.F 2007-11-19 11:08:06.889584490 -0500 -+++ ./cgpack/cgaffi.F 2005-05-25 18:36:38.875832937 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbfit.F ./cgpack/cgbfit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbfit.F 2007-11-19 11:08:06.839142274 -0500 -+++ ./cgpack/cgbfit.F 2005-05-25 18:36:38.065985368 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbint.F ./cgpack/cgbint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbint.F 2007-11-19 11:08:06.612516493 -0500 -+++ ./cgpack/cgbint.F 2005-05-25 18:36:38.770567157 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbmmt.F ./cgpack/cgbmmt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbmmt.F 2007-11-19 11:08:06.466272198 -0500 -+++ ./cgpack/cgbmmt.F 2005-05-25 18:36:38.469040574 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbool.F ./cgpack/cgbool.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbool.F 2007-11-19 11:08:06.608314949 -0500 -+++ ./cgpack/cgbool.F 2005-05-25 18:36:38.899087373 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbox.F ./cgpack/cgbox.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbox.F 2007-11-19 11:08:06.590595229 -0500 -+++ ./cgpack/cgbox.F 2005-05-25 18:36:38.623160390 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbrik.F ./cgpack/cgbrik.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbrik.F 2007-11-19 11:08:06.036464720 -0500 -+++ ./cgpack/cgbrik.F 2005-05-25 18:36:38.538553513 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsea.F ./cgpack/cgbsea.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsea.F 2007-11-19 11:08:06.541161875 -0500 -+++ ./cgpack/cgbsea.F 2005-05-25 18:36:38.473080829 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsec.F ./cgpack/cgbsec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsec.F 2007-11-19 11:08:06.195087746 -0500 -+++ ./cgpack/cgbsec.F 2005-05-25 18:36:38.630487646 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsor.F ./cgpack/cgbsor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsor.F 2007-11-19 11:08:06.062544205 -0500 -+++ ./cgpack/cgbsor.F 2005-05-25 18:36:38.975545750 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:53 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsub.F ./cgpack/cgbsub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbsub.F 2007-11-19 11:08:06.696199201 -0500 -+++ ./cgpack/cgbsub.F 2005-05-25 18:36:38.767176292 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbtef.F ./cgpack/cgbtef.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbtef.F 2007-11-19 11:08:06.397965268 -0500 -+++ ./cgpack/cgbtef.F 2005-05-25 18:36:38.370538733 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbtfp.F ./cgpack/cgbtfp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbtfp.F 2007-11-19 11:08:06.698453481 -0500 -+++ ./cgpack/cgbtfp.F 2005-05-25 18:36:38.816785367 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbttt.F ./cgpack/cgbttt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgbttt.F 2007-11-19 11:08:06.995399954 -0500 -+++ ./cgpack/cgbttt.F 2005-05-25 18:36:38.828459926 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgcev.F ./cgpack/cgcev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgcev.F 2007-11-19 11:08:06.012527328 -0500 -+++ ./cgpack/cgcev.F 2005-05-25 18:36:38.976527967 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgcopy.F ./cgpack/cgcopy.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgcopy.F 2007-11-19 11:08:06.763708613 -0500 -+++ ./cgpack/cgcopy.F 2005-05-25 18:36:39.851860658 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgelli.F ./cgpack/cgelli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgelli.F 2007-11-19 11:08:06.402520399 -0500 -+++ ./cgpack/cgelli.F 2005-05-25 18:36:39.018509456 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfac2.F ./cgpack/cgfac2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfac2.F 2007-11-19 11:08:06.820629738 -0500 -+++ ./cgpack/cgfac2.F 2005-05-25 18:36:39.427863656 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfaco.F ./cgpack/cgfaco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfaco.F 2007-11-19 11:08:06.576229588 -0500 -+++ ./cgpack/cgfaco.F 2005-05-25 18:36:39.362356944 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfare.F ./cgpack/cgfare.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfare.F 2007-11-19 11:08:06.081183044 -0500 -+++ ./cgpack/cgfare.F 2005-05-25 18:36:39.942313338 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfvis.F ./cgpack/cgfvis.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgfvis.F 2007-11-19 11:08:06.446519618 -0500 -+++ ./cgpack/cgfvis.F 2005-05-25 18:36:39.330212159 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghcre.F ./cgpack/cghcre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghcre.F 2007-11-19 11:08:06.076508426 -0500 -+++ ./cgpack/cghcre.F 2005-05-25 18:36:39.705878243 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghdfa.F ./cgpack/cghdfa.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghdfa.F 2007-11-19 11:08:06.281122207 -0500 -+++ ./cgpack/cghdfa.F 2005-05-25 18:36:39.786513577 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghend.F ./cgpack/cghend.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghend.F 2007-11-19 11:08:06.608492919 -0500 -+++ ./cgpack/cghend.F 2005-05-25 18:36:39.603178861 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgheva.F ./cgpack/cgheva.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgheva.F 2007-11-19 11:08:06.549499465 -0500 -+++ ./cgpack/cgheva.F 2005-05-25 18:36:39.110315871 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghins.F ./cgpack/cghins.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghins.F 2007-11-19 11:08:06.093534557 -0500 -+++ ./cgpack/cghins.F 2005-05-25 18:36:39.910921621 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghmov.F ./cgpack/cghmov.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghmov.F 2007-11-19 11:08:06.549199181 -0500 -+++ ./cgpack/cghmov.F 2005-05-25 18:36:39.538541872 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghpla.F ./cgpack/cghpla.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghpla.F 2007-11-19 11:08:06.287456198 -0500 -+++ ./cgpack/cghpla.F 2005-05-25 18:36:39.256995431 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghpla.F.ori ./cgpack/cghpla.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghpla.F.ori 2007-10-04 19:45:50.542099889 -0400 -+++ ./cgpack/cghpla.F.ori 2005-05-25 18:36:39.658658859 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghren.F ./cgpack/cghren.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghren.F 2007-11-19 11:08:06.688785118 -0500 -+++ ./cgpack/cghren.F 2005-05-25 18:36:39.942335694 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghshi.F ./cgpack/cghshi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghshi.F 2007-11-19 11:08:06.325131168 -0500 -+++ ./cgpack/cghshi.F 2005-05-25 18:36:39.918442409 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghsiz.F ./cgpack/cghsiz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghsiz.F 2007-11-19 11:08:06.115750713 -0500 -+++ ./cgpack/cghsiz.F 2005-05-25 18:36:39.238778611 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghtre.F ./cgpack/cghtre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cghtre.F 2007-11-19 11:08:06.906560344 -0500 -+++ ./cgpack/cghtre.F 2005-05-25 18:36:39.770749859 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cginve.F ./cgpack/cginve.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cginve.F 2007-11-19 11:08:06.702369483 -0500 -+++ ./cgpack/cginve.F 2005-05-25 18:36:39.779762401 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgmnmx.F ./cgpack/cgmnmx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgmnmx.F 2007-11-19 11:08:06.635498495 -0500 -+++ ./cgpack/cgmnmx.F 2005-05-25 18:36:39.075345658 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgpers.F ./cgpack/cgpers.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgpers.F 2007-11-19 11:08:06.286858622 -0500 -+++ ./cgpack/cgpers.F 2005-05-25 18:36:39.890304764 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgrifl.F ./cgpack/cgrifl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgrifl.F 2007-11-19 11:08:06.994611822 -0500 -+++ ./cgpack/cgrifl.F 2005-05-25 18:36:39.496656766 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsaan.F ./cgpack/cgsaan.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsaan.F 2007-11-19 11:08:06.636778214 -0500 -+++ ./cgpack/cgsaan.F 2005-05-25 18:36:39.749496469 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgscop.F ./cgpack/cgscop.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgscop.F 2007-11-19 11:08:06.144489452 -0500 -+++ ./cgpack/cgscop.F 2005-05-25 18:36:39.754095428 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgshel.F ./cgpack/cgshel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgshel.F 2007-11-19 11:08:06.716478528 -0500 -+++ ./cgpack/cgshel.F 2005-05-25 18:36:39.611834627 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:39 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgshif.F ./cgpack/cgshif.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgshif.F 2007-11-19 11:08:06.974492472 -0500 -+++ ./cgpack/cgshif.F 2005-05-25 18:36:40.019350088 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsize.F ./cgpack/cgsize.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsize.F 2007-11-19 11:08:06.937342136 -0500 -+++ ./cgpack/cgsize.F 2005-05-25 18:36:40.194488564 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgslic.F ./cgpack/cgslic.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgslic.F 2007-11-19 11:08:06.440484194 -0500 -+++ ./cgpack/cgslic.F 2005-05-25 18:36:40.029300865 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsnor.F ./cgpack/cgsnor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsnor.F 2007-11-19 11:08:06.352338955 -0500 -+++ ./cgpack/cgsnor.F 2005-05-25 18:36:40.148471616 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsphe.F ./cgpack/cgsphe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsphe.F 2007-11-19 11:08:06.120472113 -0500 -+++ ./cgpack/cgsphe.F 2005-05-25 18:36:40.931695354 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsub.F ./cgpack/cgsub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgsub.F 2007-11-19 11:08:06.869405509 -0500 -+++ ./cgpack/cgsub.F 2005-05-25 18:36:40.508848739 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgtset.F ./cgpack/cgtset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgtset.F 2007-11-19 11:08:06.378720639 -0500 -+++ ./cgpack/cgtset.F 2005-05-25 18:36:40.711444261 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgtstr.F ./cgpack/cgtstr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgtstr.F 2007-11-19 11:08:06.414466890 -0500 -+++ ./cgpack/cgtstr.F 2005-05-25 18:36:40.772460530 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvedg.F ./cgpack/cgvedg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvedg.F 2007-11-19 11:08:06.699343825 -0500 -+++ ./cgpack/cgvedg.F 2005-05-25 18:36:40.326989897 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvhed.F ./cgpack/cgvhed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvhed.F 2007-11-19 11:08:06.316451268 -0500 -+++ ./cgpack/cgvhed.F 2005-05-25 18:36:40.632463017 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvtef.F ./cgpack/cgvtef.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvtef.F 2007-11-19 11:08:06.517865638 -0500 -+++ ./cgpack/cgvtef.F 2005-05-25 18:36:40.372092422 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvtin.F ./cgpack/cgvtin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgvtin.F 2007-11-19 11:08:06.823459624 -0500 -+++ ./cgpack/cgvtin.F 2005-05-25 18:36:40.348450297 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgwire.F ./cgpack/cgwire.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgwire.F 2007-11-19 11:08:06.362651429 -0500 -+++ ./cgpack/cgwire.F 2005-05-25 18:36:40.432431039 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgwsor.F ./cgpack/cgwsor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgwsor.F 2007-11-19 11:08:06.414624828 -0500 -+++ ./cgpack/cgwsor.F 2005-05-25 18:36:40.902142182 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgzre.F ./cgpack/cgzre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgzre.F 2007-11-19 11:08:06.137394656 -0500 -+++ ./cgpack/cgzre.F 2005-05-25 18:36:40.448430755 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgzrev.F ./cgpack/cgzrev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack/cgzrev.F 2007-11-19 11:08:06.965421570 -0500 -+++ ./cgpack/cgzrev.F 2005-05-25 18:36:40.520039375 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:17:54 hristov - * Separate distribution of Geant3 - * -Only in ./cgpack: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/cgpack: .svn -Only in ./comad: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/comad/gcadd.cxx ./comad/gcadd.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/comad/gcadd.cxx 2007-11-19 11:08:06.131060648 -0500 -+++ ./comad/gcadd.cxx 2005-05-25 18:36:40.440969919 -0400 -@@ -15,6 +15,12 @@ - - /* - $Log: geant3.diff.050708,v $ - Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - Merge with .DEV2 - - Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - Merge with macos version - -+Revision 1.1.1.1 2005/05/25 22:36:40 fisyak -+Alice version of geant3 (-minicern) -+ -+Revision 1.2 2003/11/28 11:23:55 brun -+New version of geant321 with all geant3 routines renamed from G to G3 -+ - Revision 1.1.1.1 2002/07/24 15:56:24 rdm - initial import into CVS - -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/comad: .svn -Only in .: CVS -Only in .: .cvsignore -Only in ./data: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/data: .svn -Only in ./doc/cmze: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze: .svn -Only in ./doc/cmze/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_15 ./doc/cmze/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_15 2007-10-04 19:45:50.780140583 -0400 -+++ ./doc/cmze/Versions/v3_15 2005-05-25 18:37:22.888314221 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_16 ./doc/cmze/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_16 2007-10-04 19:45:50.344668712 -0400 -+++ ./doc/cmze/Versions/v3_16 2005-05-25 18:37:22.473002223 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_21 ./doc/cmze/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmze/Versions/v3_21 2007-10-04 19:45:50.069283006 -0400 -+++ ./doc/cmze/Versions/v3_21 2005-05-25 18:37:22.802722508 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzf: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf: .svn -Only in ./doc/cmzf/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions/v3_16 ./doc/cmzf/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions/v3_16 2007-10-04 19:45:50.830265333 -0400 -+++ ./doc/cmzf/Versions/v3_16 2005-05-25 18:37:22.087244604 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions/v3_21 ./doc/cmzf/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzf/Versions/v3_21 2007-10-04 19:45:50.454128608 -0400 -+++ ./doc/cmzf/Versions/v3_21 2005-05-25 18:37:22.183924072 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzg: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg: .svn -Only in ./doc/cmzg/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_12 ./doc/cmzg/Versions/v3_12 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_12 2007-10-04 19:45:50.710382472 -0400 -+++ ./doc/cmzg/Versions/v3_12 2005-05-25 18:37:22.031118355 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_13 ./doc/cmzg/Versions/v3_13 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_13 2007-10-04 19:45:50.890270897 -0400 -+++ ./doc/cmzg/Versions/v3_13 2005-05-25 18:37:22.157371972 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_14 ./doc/cmzg/Versions/v3_14 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_14 2007-10-04 19:45:50.824221354 -0400 -+++ ./doc/cmzg/Versions/v3_14 2005-05-25 18:37:22.230622219 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_15 ./doc/cmzg/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_15 2007-10-04 19:45:50.257492182 -0400 -+++ ./doc/cmzg/Versions/v3_15 2005-05-25 18:37:22.243577715 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_16 ./doc/cmzg/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_16 2007-10-04 19:45:50.183951035 -0400 -+++ ./doc/cmzg/Versions/v3_16 2005-05-25 18:37:22.919856183 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_21 ./doc/cmzg/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzg/Versions/v3_21 2007-10-04 19:45:50.010262875 -0400 -+++ ./doc/cmzg/Versions/v3_21 2005-05-25 18:37:22.955142776 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzh: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh: .svn -Only in ./doc/cmzh/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_14 ./doc/cmzh/Versions/v3_14 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_14 2007-10-04 19:45:50.394992924 -0400 -+++ ./doc/cmzh/Versions/v3_14 2005-05-25 18:37:22.305043269 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_15 ./doc/cmzh/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_15 2007-10-04 19:45:50.877198125 -0400 -+++ ./doc/cmzh/Versions/v3_15 2005-05-25 18:37:22.734424946 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_16 ./doc/cmzh/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_16 2007-10-04 19:45:50.589607772 -0400 -+++ ./doc/cmzh/Versions/v3_16 2005-05-25 18:37:22.856211970 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_21 ./doc/cmzh/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzh/Versions/v3_21 2007-10-04 19:45:50.469110573 -0400 -+++ ./doc/cmzh/Versions/v3_21 2005-05-25 18:37:22.988101351 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzm: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm: .svn -Only in ./doc/cmzm/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions/v3_16 ./doc/cmzm/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions/v3_16 2007-10-04 19:45:50.025953896 -0400 -+++ ./doc/cmzm/Versions/v3_16 2005-05-25 18:37:22.114161571 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions/v3_21 ./doc/cmzm/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzm/Versions/v3_21 2007-10-04 19:45:50.011714198 -0400 -+++ ./doc/cmzm/Versions/v3_21 2005-05-25 18:37:22.021100765 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzt: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt: .svn -Only in ./doc/cmzt/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_13 ./doc/cmzt/Versions/v3_13 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_13 2007-10-04 19:45:50.360094741 -0400 -+++ ./doc/cmzt/Versions/v3_13 2005-05-25 18:37:22.167757387 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_14 ./doc/cmzt/Versions/v3_14 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_14 2007-10-04 19:45:50.590243427 -0400 -+++ ./doc/cmzt/Versions/v3_14 2005-05-25 18:37:22.896911116 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_15 ./doc/cmzt/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_15 2007-10-04 19:45:50.815039806 -0400 -+++ ./doc/cmzt/Versions/v3_15 2005-05-25 18:37:22.457420555 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_16 ./doc/cmzt/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_16 2007-10-04 19:45:50.067377745 -0400 -+++ ./doc/cmzt/Versions/v3_16 2005-05-25 18:37:22.836485164 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_21 ./doc/cmzt/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzt/Versions/v3_21 2007-10-04 19:45:50.073998757 -0400 -+++ ./doc/cmzt/Versions/v3_21 2005-05-25 18:37:22.620148696 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/cmzx: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx: .svn -Only in ./doc/cmzx/Versions: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_14 ./doc/cmzx/Versions/v3_14 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_14 2007-10-04 19:45:50.926801540 -0400 -+++ ./doc/cmzx/Versions/v3_14 2005-05-25 18:37:22.054544805 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_15 ./doc/cmzx/Versions/v3_15 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_15 2007-10-04 19:45:50.166856456 -0400 -+++ ./doc/cmzx/Versions/v3_15 2005-05-25 18:37:22.878962277 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_16 ./doc/cmzx/Versions/v3_16 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_16 2007-10-04 19:45:50.217905282 -0400 -+++ ./doc/cmzx/Versions/v3_16 2005-05-25 18:37:22.149106383 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_21 ./doc/cmzx/Versions/v3_21 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/cmzx/Versions/v3_21 2007-10-04 19:45:50.487305697 -0400 -+++ ./doc/cmzx/Versions/v3_21 2005-05-25 18:37:22.145128690 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/gedoc ./doc/gedoc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/gedoc 2007-10-04 19:45:50.838757613 -0400 -+++ ./doc/gedoc 2005-05-25 18:37:22.967909825 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/blank.doc ./doc/ghdoc/blank.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/blank.doc 2007-10-04 19:45:50.328508032 -0400 -+++ ./doc/ghdoc/blank.doc 2005-05-25 18:37:22.901067360 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/consts.doc ./doc/ghdoc/consts.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/consts.doc 2007-10-04 19:45:50.425004742 -0400 -+++ ./doc/ghdoc/consts.doc 2005-05-25 18:37:22.550699171 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/curpar.doc ./doc/ghdoc/curpar.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/curpar.doc 2007-10-04 19:45:50.934711103 -0400 -+++ ./doc/ghdoc/curpar.doc 2005-05-25 18:37:22.181456867 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/ghdoc: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/errcom.doc ./doc/ghdoc/errcom.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/errcom.doc 2007-10-04 19:45:50.755863240 -0400 -+++ ./doc/ghdoc/errcom.doc 2005-05-25 18:37:22.790979389 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/event.doc ./doc/ghdoc/event.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/event.doc 2007-10-04 19:45:50.287208710 -0400 -+++ ./doc/ghdoc/event.doc 2005-05-25 18:37:22.991773856 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/masind.doc ./doc/ghdoc/masind.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/masind.doc 2007-10-04 19:45:50.461057409 -0400 -+++ ./doc/ghdoc/masind.doc 2005-05-25 18:37:22.165062669 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/masses.doc ./doc/ghdoc/masses.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/masses.doc 2007-10-04 19:45:50.181044615 -0400 -+++ ./doc/ghdoc/masses.doc 2005-05-25 18:37:22.667644858 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/mat.doc ./doc/ghdoc/mat.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/mat.doc 2007-10-04 19:45:50.917067075 -0400 -+++ ./doc/ghdoc/mat.doc 2005-05-25 18:37:22.355205377 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/result.doc ./doc/ghdoc/result.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc/result.doc 2007-10-04 19:45:50.985124574 -0400 -+++ ./doc/ghdoc/result.doc 2005-05-25 18:37:22.787989707 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:22 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/ghdoc: .svn -Only in ./doc/history: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/geane321 ./doc/history/geane321 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/geane321 2007-10-04 19:45:50.810567412 -0400 -+++ ./doc/history/geane321 2005-05-25 18:37:23.065046677 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/geanx321 ./doc/history/geanx321 ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/geanx321 2007-10-04 19:45:50.478039338 -0400 -+++ ./doc/history/geanx321 2005-05-25 18:37:23.121297806 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/h_v_314.F ./doc/history/h_v_314.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/h_v_314.F 2007-11-19 11:08:06.139124774 -0500 -+++ ./doc/history/h_v_314.F 2005-05-25 18:37:23.214432316 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_313.F ./doc/history/v_313.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_313.F 2007-11-19 11:08:06.076700222 -0500 -+++ ./doc/history/v_313.F 2005-05-25 18:37:23.506115366 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_314.F ./doc/history/v_314.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_314.F 2007-11-19 11:08:06.267913295 -0500 -+++ ./doc/history/v_314.F 2005-05-25 18:37:23.148888365 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_315.F ./doc/history/v_315.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_315.F 2007-11-19 11:08:06.351026523 -0500 -+++ ./doc/history/v_315.F 2005-05-25 18:37:23.994262321 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_316.F ./doc/history/v_316.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/history/v_316.F 2007-11-19 11:08:06.689873275 -0500 -+++ ./doc/history/v_316.F 2005-05-25 18:37:23.339884894 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./doc/include_specials: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials/incbeg.inc ./doc/include_specials/incbeg.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials/incbeg.inc 2007-11-19 11:08:06.590000945 -0500 -+++ ./doc/include_specials/incbeg.inc 2005-05-25 18:37:23.340114366 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials/incend.inc ./doc/include_specials/incend.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials/incend.inc 2007-11-19 11:08:06.788552612 -0500 -+++ ./doc/include_specials/incend.inc 2005-05-25 18:37:23.345713627 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:18 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc/include_specials: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/doc: .svn -Only in ./erdecks: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erbcer.F ./erdecks/erbcer.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erbcer.F 2007-11-19 11:08:06.388146800 -0500 -+++ ./erdecks/erbcer.F 2005-05-25 18:37:23.915720462 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erbctr.F ./erdecks/erbctr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erbctr.F 2007-11-19 11:08:06.971145998 -0500 -+++ ./erdecks/erbctr.F 2005-05-25 18:37:23.167972636 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erland.F ./erdecks/erland.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erland.F 2007-11-19 11:08:06.888014284 -0500 -+++ ./erdecks/erland.F 2007-05-18 12:58:55.564147254 -0400 -@@ -1,7 +1,103 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.3 2007/05/18 08:44:16 brun -+* A major update of GEANTE by Andrea Fontana and Alberto Rotondi -+* -+* -+* 1) update of the Coulomb multiple scattering parametrization; -+* 2) update of the straggling of energy loss for thin materials; -+* 3) new options to extrapolate the track parameters to the point -+* of closest approach to a point or to a wire (straight line). -+* -+* Details on the physical motivation behind this work can be found -+* in our report for the Panda Collaboration, available at: -+* -+* http://www.pv.infn.it/~fontana/tracking.pdf -+* -+* Feel free to contact us for questions and discussions about these -+* topics by using the following email addresses: -+* -+* alberto.rotondi@pv.infn.it -+* andrea.fontana@pv.infn.it -+* -+* --- -+* -+* List of changes in the fortran and C++ routines of the geant3 -+* VMC directory: -+* -+* - gcmore.inc -+* gtmore.inc -+* geant3LinkDef.h -+* gcomad.F -+* -+* Added a new common that contains all the new variables: -+* COMMON/GCMORE/GCALPHA,ICLOSE,PFINAL(3),DSTRT,WIRE1(3),WIRE2(3), -+* + P1(3),P2(3),P3(3),CLENG(3) -+* -+* input to ERLAND: -+* GCALPHA: energy cut parameter for energy loss fluctuations -+* -+* input to EUSTEP: -+* ICLOSE: = 1 the use of the common is enabled for the closest -+* approach to a point PFINAL(3) -+* = 2 the use of the common is enabled for the closest -+* approach to a wire of extremes WIRE1(3) and WIRE2(3) -+* = 0 the common is empty and disabled -+* PFINAL(3): assigned point -+* DSTRT: assigned distance between initial point in ERTRAK -+* and PFINAL along straight line (currently noy used) -+* WIRE1(3): first point of a wire -+* WIRE2(3): second point of a wire -+* -+* output from EUSTEP: -+* P1(3): point previous to the point of closest approach to -+* PFINAL() or wire -+* P2(3): point of closest approach to PFINAL() or wire -+* P3(3): point next to the point of closest approach to -+* PFINAL() or wire -+* CLENG(3): track length to the previous 3 points -+* -+* Important note: the calculated points of closest approach are -+* depending on the GEANE steps. For calculating the true point -+* of closest approach the last 3 points of the extrapolation, i.e. -+* the previous to closest, the closest and the next to closest are -+* returned to the user. Different algorithms can be implemented, but -+* we decided to leave this to the users in the C++ interface to GEANE. -+* -+* - ermcsc.F -+* new expression for the variance of the Coulomb multiple scattering -+* according to Fruhwirth and Regler, NIM A 456 (2001) 369 -+* -+* - ertrch.F -+* added DESTEP in the calling string of ERLAND for calculation with -+* Urban model. Added and saved previous step PRSTEP. -+* -+* - erland.F -+* added new calculation for sigma of straggling in energy loss -+* to include in Geane the Urban/Landau approximation, as explained -+* in the Geant manual and related papers. -+* The model parametrization can be controlled with a user variable (GCALPHA) -+* in the new GCMORE common block: 1 is for old gaussian model valid -+* for dense materials, other values (see the report) are for gaseous -+* materials. -+* -+* - eustep.F -+* added the calculation to the distance of closest approach to a point -+* or to a wire. -+* -+* - TGeant3.h -+* - TGeant3.cxx -+* added the possibility to define user cuts (already present in the gccuts -+* struct but not in the TGeant3::SetCUTS method) and to define the new -+* variables of the GCMORE common with two new methods SetECut() and -+* SetClose(). -+* Added new method InitGEANE() to initialize GEANE to the old behaviour -+* (default) for backward compatibility. Only the multiple scattering has -+* been updated to a more correct formula. -+* Corrected a typo in the call to the routine Trscsd(). -+* - * Revision 1.2 2007/03/31 13:47:09 brun - * From Andrea Fontana and Alberto Rotondi - * Added new calculation for sigma of straggling in energy loss to include -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ermcsc.F ./erdecks/ermcsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ermcsc.F 2007-11-19 11:08:06.456004191 -0500 -+++ ./erdecks/ermcsc.F 2007-05-18 12:59:29.330921902 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.2 2007/03/31 13:45:49 brun -+* From Andrea Fontana and Alberto Rotondi -+* New expression for the variance of the Coulomb multiple scattering -+* according to Fruhwirth and Regler, NIM A 456 (2001) 369 -+* -+* CVS-- -- ------------------------------------------------------------------ -+* : ---------------------------------------------------------------------- -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erpini.F ./erdecks/erpini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erpini.F 2007-11-19 11:08:06.494039054 -0500 -+++ ./erdecks/erpini.F 2005-05-25 18:37:23.349446352 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erprop.F ./erdecks/erprop.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erprop.F 2007-11-19 11:08:06.304695307 -0500 -+++ ./erdecks/erprop.F 2005-05-25 18:37:23.845997261 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erstor.F ./erdecks/erstor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erstor.F 2007-11-19 11:08:06.829997545 -0500 -+++ ./erdecks/erstor.F 2005-10-27 12:06:07.637250411 -0400 -@@ -1,12 +1,18 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * --* Revision 1.1.1.1 2002/06/16 15:18:35 hristov --* Separate distribution of Geant3 -+* Revision 1.2 2005/06/09 00:10:03 fisyak -+* comply with STAR - * --* Revision 1.1.1.1 1999/05/18 15:55:15 fca --* AliRoot sources -+* Revision 1.2 2004/02/12 15:33:10 fisyak -+* move STAR version of erdecks from rexe to geant321 -+* -+* Revision 1.2 2000/01/10 16:22:14 fisyak -+* Modify for multiple volume entries -+* -+* Revision 1.1 1999/12/07 15:44:30 fisyak -+* Add geane, new TGeant3 from Alice - * - * Revision 1.1.1.1 1996/03/06 15:37:35 mclareni - * Add geane321 source directories -@@ -37,7 +43,8 @@ - * *** Write out results at intermediate points - * - ILPRED = ILPRED + 1 -- IF (ILPRED.GE.NEPRED) ISTOP = 1 -+*yf IF (ILPRED.GE.NEPRED) ISTOP = 1 -+ ISTOP = 1 - IEPRED(ILPRED) = INLIST - * - * *** Leave B-matrix intact for eventual further tracking -Only in ./erdecks: erstor.F~ -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrak.F ./erdecks/ertrak.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrak.F 2007-11-19 11:08:06.592251209 -0500 -+++ ./erdecks/ertrak.F 2006-12-20 19:17:36.261989869 -0500 -@@ -1,7 +1,10 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -Only in ./erdecks: ertrak.F~ -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrgo.F ./erdecks/ertrgo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrgo.F 2007-11-19 11:08:06.522089785 -0500 -+++ ./erdecks/ertrgo.F 2007-05-18 13:00:11.200044278 -0400 -@@ -1,7 +1,10 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:35 hristov - * Separate distribution of Geant3 - * -Only in ./erdecks: ertrgo.F~ -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrnt.F ./erdecks/ertrnt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/ertrnt.F 2007-11-19 11:08:06.090554298 -0500 -+++ ./erdecks/ertrnt.F 2005-05-25 18:37:23.670984924 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erxyzc.F ./erdecks/erxyzc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/erxyzc.F 2007-11-19 11:08:06.557708835 -0500 -+++ ./erdecks/erxyzc.F 2005-05-25 18:37:23.517639970 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufill.F ./erdecks/eufill.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufill.F 2007-11-19 11:08:06.386987648 -0500 -+++ ./erdecks/eufill.F 2005-05-25 18:37:23.223240013 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufilp.F ./erdecks/eufilp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufilp.F 2007-11-19 11:08:06.831979740 -0500 -+++ ./erdecks/eufilp.F 2005-05-25 18:37:23.772980789 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufilv.F ./erdecks/eufilv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eufilv.F 2007-11-19 11:08:06.284936151 -0500 -+++ ./erdecks/eufilv.F 2005-05-25 18:37:23.247850222 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eustep.F ./erdecks/eustep.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/eustep.F 2007-11-19 11:08:06.715349282 -0500 -+++ ./erdecks/eustep.F 2007-05-18 13:00:39.172973681 -0400 -@@ -1,5 +1,5 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * - * Revision 1.2 2007/05/18 08:44:16 brun -@@ -127,52 +127,53 @@ - #include "geant321/gcmore.inc" - * - INTEGER*4 ICC,CFLAG -- SAVE ICC, ICONT -+ SAVE ICC - REAL*4 DIST2,PRDIST2 -- -- SAVE PRDIST2 -+ INTEGER*4 COUNT -+ REAL*4 PZ(3) -+ SAVE PRDIST2,COUNT - REAL*4 D2X,D2Y,D2Z,AMODD -- DATA ICC/0/, ICONT/0/ -+ DATA ICC/0/,COUNT/0/ - * --* clear ICC when tracking starts -- IF(SLENG .EQ. 0.) ICC = 0 -- - CFLAG=ICLOSE - IF (IDEBUG*ISWIT(2).NE.0) CALL ERXYZC -- - IF(CFLAG.EQ.1) THEN --* distance between the track point and the point -+ DO K=1,3 -+ PZ(K)=0. -+ ENDDO - IF(ICC.EQ.0) PRDIST2=BIG - DIST2 = (VECT(1)-PFINAL(1))**2+(VECT(2)-PFINAL(2))**2 - + + (VECT(3)-PFINAL(3))**2 -- - IF((SQRT(DIST2)-SQRT(PRDIST2)).LT.1.E-3) THEN - PRDIST2 = DIST2 -- ICC = 1 -- ICONT = 1 -- CLENG(1) = CLENG(2) -- CLENG(2) = CLENG(3) -- CLENG(3) = SLENG -- CALL UCOPY(P2,P1,3) -- CALL UCOPY(P3,P2,3) -- CALL UCOPY(VECT,P3,3) -+ ICC=ICC+1 - ELSE --* store the first point of increasing distance -- IF(ICONT .EQ. 1) THEN -+ ISTOP = 2 -+ ENDIF -+ COUNT = COUNT + 1 - CLENG(1) = CLENG(2) - CLENG(2) = CLENG(3) - CLENG(3) = SLENG - CALL UCOPY(P2,P1,3) - CALL UCOPY(P3,P2,3) - CALL UCOPY(VECT,P3,3) -- ICONT = 0 -+ IF(COUNT.EQ.3.OR.ISTOP.EQ.2) THEN -+ COUNT = 0 -+ ENDIF -+ IF(ISTOP.EQ.2) THEN -+ IF(ICC.LE.3) THEN -+ CALL UCOPY(VECT,P1,3) -+ CALL UCOPY(PZ,P2,3) -+ CALL UCOPY(PZ,P3,3) -+ PRINT *,'Warning! User requested less than 3 steps.' - ENDIF -+ ICC=0 - ENDIF -- - ELSE IF(CFLAG.EQ.2) THEN -- -+ DO K=1,3 -+ PZ(K)=0. -+ ENDDO - IF(ICC.EQ.0) PRDIST2=BIG -- - D2X = (WIRE2(2)-WIRE1(2))*(WIRE1(3)-VECT(3)) - + - (WIRE2(3)-WIRE1(3))*(WIRE1(2)-VECT(2)) - D2Y = (WIRE2(3)-WIRE1(3))*(WIRE1(1)-VECT(1)) -@@ -182,28 +183,30 @@ - AMODD = (WIRE2(1)-WIRE1(1))**2 + (WIRE2(2)-WIRE1(2))**2 - + + (WIRE2(3)-WIRE1(3))**2 - DIST2 = (D2X**2 + D2Y**2 + D2Z**2)/AMODD --* distance between the track point and the wire - IF((SQRT(DIST2)-SQRT(PRDIST2)).LT.1.E-3) THEN - PRDIST2 = DIST2 -- ICC=1 -- ICONT = 1 -- CLENG(1) = CLENG(2) -- CLENG(2) = CLENG(3) -- CLENG(3) = SLENG -- CALL UCOPY(P2,P1,3) -- CALL UCOPY(P3,P2,3) -- CALL UCOPY(VECT,P3,3) -+ ICC=ICC+1 - ELSE --* store the first point of increasing distance -- IF(ICONT .EQ. 1) THEN -+ ISTOP = 2 -+ ENDIF -+ COUNT = COUNT + 1 - CLENG(1) = CLENG(2) - CLENG(2) = CLENG(3) - CLENG(3) = SLENG - CALL UCOPY(P2,P1,3) - CALL UCOPY(P3,P2,3) - CALL UCOPY(VECT,P3,3) -- ICONT = 0 -+ IF(COUNT.EQ.3.OR.ISTOP.EQ.2) THEN -+ COUNT = 0 -+ ENDIF -+ IF(ISTOP.EQ.2) THEN -+ IF(ICC.LE.3) THEN -+ CALL UCOPY(VECT,P1,3) -+ CALL UCOPY(PZ,P2,3) -+ CALL UCOPY(PZ,P3,3) -+ PRINT *,'Warning! User requested less than 3 steps.' - ENDIF -+ ICC=0 - ENDIF - ENDIF - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/evolio.F ./erdecks/evolio.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks/evolio.F 2007-11-19 11:08:06.620720385 -0500 -+++ ./erdecks/evolio.F 2005-05-25 18:37:23.118031875 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -Only in ./erdecks: gdedxcalc.F -Only in ./erdecks: mytrack.g -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erdecks: .svn -Only in ./erpremc: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trprfn.F ./erpremc/trprfn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trprfn.F 2007-11-19 11:08:06.163956071 -0500 -+++ ./erpremc/trprfn.F 2005-05-25 18:37:23.348846161 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trprop.F ./erpremc/trprop.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trprop.F 2007-11-19 11:08:06.433719639 -0500 -+++ ./erpremc/trprop.F 2005-05-25 18:37:23.808789658 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/06/17 13:58:28 rdm -+* modified some old style FORMAT statements that were confusing the latest -+* version of the Intel Fortran compiler. -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trptsc.F ./erpremc/trptsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trptsc.F 2007-11-19 11:08:06.665947151 -0500 -+++ ./erpremc/trptsc.F 2005-05-25 18:37:23.154223495 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trptsd.F ./erpremc/trptsd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trptsd.F 2007-11-19 11:08:06.010226050 -0500 -+++ ./erpremc/trptsd.F 2005-05-25 18:37:23.959888616 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trs1s2.F ./erpremc/trs1s2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trs1s2.F 2007-11-19 11:08:06.608884591 -0500 -+++ ./erpremc/trs1s2.F 2005-05-25 18:37:23.712202559 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscpt.F ./erpremc/trscpt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscpt.F 2007-11-19 11:08:06.939049175 -0500 -+++ ./erpremc/trscpt.F 2005-05-25 18:37:23.359934819 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscsd.F ./erpremc/trscsd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscsd.F 2007-11-19 11:08:06.981323974 -0500 -+++ ./erpremc/trscsd.F 2005-05-25 18:37:23.248104623 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscsp.F ./erpremc/trscsp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trscsp.F 2007-11-19 11:08:06.583338602 -0500 -+++ ./erpremc/trscsp.F 2005-05-25 18:37:23.266808482 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trsdpt.F ./erpremc/trsdpt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trsdpt.F 2007-11-19 11:08:06.147885275 -0500 -+++ ./erpremc/trsdpt.F 2005-05-25 18:37:23.973564254 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trsdsc.F ./erpremc/trsdsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trsdsc.F 2007-11-19 11:08:06.467217941 -0500 -+++ ./erpremc/trsdsc.F 2005-05-25 18:37:23.775780183 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trspsc.F ./erpremc/trspsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/erpremc/trspsc.F 2007-11-19 11:08:06.386400989 -0500 -+++ ./erpremc/trspsc.F 2005-05-25 18:37:23.565877847 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -Only in ./examples: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E01.C ./examples/E01.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E01.C 2007-11-19 11:08:06.369415517 -0500 -+++ ./examples/E01.C 2005-05-25 18:37:58.822873280 -0400 -@@ -1,4 +1,4 @@ --// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Macro for running Example01 with Geant3 - // Before running this macro, the libexampl01.so library -@@ -6,8 +6,10 @@ - // and run make. - // Note that this macro is a simplified version of the equivalent macro - // in the geant4_vmc/examples/E01 directory -+class Ex01MCApplication; -+Ex01MCApplication* appl = 0; - --{ -+void E01(){ - // Load basic libraries - gSystem->Load("libGeom"); - gSystem->Load("libVMC"); -@@ -22,12 +24,12 @@ - gSystem->Load("../lib/tgt_linux/libgeant321"); - - // Load this example library -- gSystem->Load("~/geant4_vmc/lib/tgt_linux/libexample01"); -+ gSystem->Load("../../geant4_vmc/lib/tgt_linux/libexample01"); - - // MC application -- Ex01MCApplication* appl -+ appl - = new Ex01MCApplication("Example01", "The example01 VMC application"); - - appl->InitMC("E01_g3Config.C"); -- appl->RunMC(1); -+ // appl->RunMC(1); - } -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E01_g3Config.C ./examples/E01_g3Config.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E01_g3Config.C 2007-11-19 11:08:06.804873599 -0500 -+++ ./examples/E01_g3Config.C 2005-05-25 18:37:58.067504686 -0400 -@@ -1,16 +1,16 @@ --// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Configuration macro for Geant3 VMC for Example01 - - void Config() - { -- if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { -+ // if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { - new TGeant3TGeo("C++ Interface to Geant3 using TGeo"); - cout << "TGeant3TGeo has been created." << endl; -- } else { -- new TGeant3("C++ Interface to Geant3"); -- cout << "TGeant3 has been created." << endl; -- } -+ // } else { -+ // new TGeant3("C++ Interface to Geant3"); -+ // cout << "TGeant3 has been created." << endl; -+ // } - } - - -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E02.C ./examples/E02.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E02.C 2007-11-19 11:08:06.571804131 -0500 -+++ ./examples/E02.C 2005-05-25 18:37:58.850821093 -0400 -@@ -1,4 +1,4 @@ --// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Macro for running Example02 with Geant3 - // Before running this macro, the libexampl02.so library -@@ -22,7 +22,7 @@ - gSystem->Load("../lib/tgt_linux/libgeant321.so"); - - // Load this example library -- gSystem->Load("~/geant4_vmc/lib/tgt_linux/libexample02"); -+ gSystem->Load("../../geant4_vmc/lib/tgt_linux/libexample02"); - - // MC application - Ex02MCApplication* appl -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E02_g3Config.C ./examples/E02_g3Config.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E02_g3Config.C 2007-11-19 11:08:06.298864821 -0500 -+++ ./examples/E02_g3Config.C 2005-05-25 18:37:58.331030429 -0400 -@@ -1,18 +1,22 @@ --// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Configuration macro for Geant3 VirtualMC for Example01 - - void Config() - { -+#if 0 - if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { -+#endif - TGeant3TGeo* geant3 = new TGeant3TGeo("C++ Interface to Geant3 using TGeo"); - cout << "TGeant3TGeo has been created." << endl; -+#if 0 - } else { - TGeant3* geant3 = new TGeant3("C++ Interface to Geant3"); - cout << "TGeant3 has been created." << endl; - } - - geant3->SetHADR(0); -+#endif - } - - -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E03.C ./examples/E03.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E03.C 2007-11-19 11:08:06.160911791 -0500 -+++ ./examples/E03.C 2005-05-25 18:37:58.810188527 -0400 -@@ -1,4 +1,4 @@ --// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Macro for running Example03 with Geant3 - // Before running this macro, the libexampl03.so library -@@ -22,7 +22,7 @@ - gSystem->Load("../lib/tgt_linux/libgeant321.so"); - - // Load this example library -- gSystem->Load("~/geant4_vmc/lib/tgt_linux/libexample03"); -+ gSystem->Load("../../geant4_vmc/lib/tgt_linux/libexample03"); - - // MC application - Ex03MCApplication* appl -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E03_g3Config.C ./examples/E03_g3Config.C ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/E03_g3Config.C 2007-11-19 11:08:06.243813952 -0500 -+++ ./examples/E03_g3Config.C 2005-05-25 18:37:58.639858761 -0400 -@@ -1,12 +1,15 @@ --// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Configuration macro for Geant3 VirtualMC for Example03 - - void Config() - { -+#if 0 - if (strstr(gEnv->GetValue("TVirtualMC",""),"TGeant3TGeo")) { -+#endif - TGeant3TGeo* geant3 = new TGeant3TGeo("C++ Interface to Geant3 using TGeo"); - cout << "TGeant3TGeo has been created." << endl; -+#if 0 - } else { - TGeant3* geant3 = new TGeant3("C++ Interface to Geant3"); - cout << "TGeant3 has been created." << endl; -@@ -15,6 +18,7 @@ - geant3->SetDRAY(1); - geant3->SetLOSS(1); - geant3->SetHADR(0); -+#endif - } - - -Only in ./examples: example02.root -Only in ./examples: example03.root -Only in ./examples: gexam1 -Only in ./examples: gexam3 -Only in ./examples: gexam4 -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/Makefile ./examples/Makefile ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples/Makefile 2007-11-19 11:08:06.103797202 -0500 -+++ ./examples/Makefile 2005-05-25 18:37:58.370934308 -0400 -@@ -1,4 +1,4 @@ --# $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+# $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - # - # Makefile for building Geant3 examples - # -Only in ./examples: model -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/examples: .svn -Only in ./fiface: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/fldist.F ./fiface/fldist.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/fldist.F 2007-11-19 11:08:06.922860184 -0500 -+++ ./fiface/fldist.F 2005-05-25 18:37:23.195246403 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flinit.F ./fiface/flinit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flinit.F 2007-11-19 11:08:06.708786450 -0500 -+++ ./fiface/flinit.F 2005-05-25 18:37:23.802941383 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flufin.F ./fiface/flufin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flufin.F 2007-11-19 11:08:06.168778275 -0500 -+++ ./fiface/flufin.F 2005-05-25 18:37:23.997781314 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flufin.F.ori ./fiface/flufin.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface/flufin.F.ori 2007-10-04 19:45:50.517053658 -0400 -+++ ./fiface/flufin.F.ori 2005-05-25 18:37:23.091824293 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fiface: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/abbrch.F ./fluka/abbrch.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/abbrch.F 2007-11-19 11:08:06.434791683 -0500 -+++ ./fluka/abbrch.F 2005-05-25 18:37:23.532107713 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2004/12/17 11:46:46 brun -+* Several protections introduced by Rachid Guernane and Peter Hristov -+* - * Revision 1.2 2004/02/24 15:50:29 brun - * From Peter Hristov: - * We had some problems with the Geant3 version during the tests for the -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ainel.F ./fluka/ainel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ainel.F 2007-11-19 11:08:06.827906930 -0500 -+++ ./fluka/ainel.F 2005-05-25 18:37:23.551307358 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/akeka.F ./fluka/akeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/akeka.F 2007-11-19 11:08:06.061853602 -0500 -+++ ./fluka/akeka.F 2005-05-25 18:37:23.176942371 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/altra.F ./fluka/altra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/altra.F 2007-11-19 11:08:06.985509714 -0500 -+++ ./fluka/altra.F 2005-05-25 18:37:23.469355000 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/altraf.F ./fluka/altraf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/altraf.F 2007-11-19 11:08:06.566496916 -0500 -+++ ./fluka/altraf.F 2005-05-25 18:37:23.991727671 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/amga.F ./fluka/amga.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/amga.F 2007-11-19 11:08:06.855540443 -0500 -+++ ./fluka/amga.F 2005-05-25 18:37:23.236935821 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ankeka.F ./fluka/ankeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ankeka.F 2007-11-19 11:08:06.862228495 -0500 -+++ ./fluka/ankeka.F 2005-05-25 18:37:23.681769158 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bamjev.F ./fluka/bamjev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bamjev.F 2007-11-19 11:08:06.647769763 -0500 -+++ ./fluka/bamjev.F 2005-05-25 18:37:23.421756007 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/beexi.F ./fluka/beexi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/beexi.F 2007-11-19 11:08:06.799074843 -0500 -+++ ./fluka/beexi.F 2005-05-25 18:37:23.951764360 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bekeka.F ./fluka/bekeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bekeka.F 2007-11-19 11:08:06.657598361 -0500 -+++ ./fluka/bekeka.F 2005-05-25 18:37:23.381335847 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/berttp.F ./fluka/berttp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/berttp.F 2007-11-19 11:08:06.354237694 -0500 -+++ ./fluka/berttp.F 2005-05-25 18:37:23.930172939 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2002/11/29 13:47:02 brun -+* Remove unused include -+* - * Revision 1.2 2002/11/21 11:40:24 brun - * Fix a problem when getting the environment variable to reach the file flukaaf.dat - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/beta.F ./fluka/beta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/beta.F 2007-11-19 11:08:06.719660949 -0500 -+++ ./fluka/beta.F 2005-05-25 18:37:23.446755563 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/07/23 16:40:35 brun -+* From Peter Hristov: -+* Implement correct return value for beta_g3 -+* - * Revision 1.2 2003/06/10 16:12:15 brun - * From Andreas Morsch: - * I changed the name of the function BETA from geant3/fluka/beta.F to -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/betarn.F ./fluka/betarn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/betarn.F 2007-11-19 11:08:06.923219555 -0500 -+++ ./fluka/betarn.F 2005-05-25 18:37:23.859156117 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2005/04/13 14:46:16 brun -+* From Peter Hristov -+* Changes required to run on Solaris -+* - * Revision 1.2 2004/12/17 11:46:46 brun - * Several protections introduced by Rachid Guernane and Peter Hristov - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/betrst.F ./fluka/betrst.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/betrst.F 2007-11-19 11:08:06.728443701 -0500 -+++ ./fluka/betrst.F 2005-05-25 18:37:23.754050303 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bkeka.F ./fluka/bkeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bkeka.F 2007-11-19 11:08:06.276731971 -0500 -+++ ./fluka/bkeka.F 2005-05-25 18:37:23.206162858 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bklass.F ./fluka/bklass.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bklass.F 2007-11-19 11:08:06.737075939 -0500 -+++ ./fluka/bklass.F 2005-05-25 18:37:23.016271943 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bnkeka.F ./fluka/bnkeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/bnkeka.F 2007-11-19 11:08:06.304545377 -0500 -+++ ./fluka/bnkeka.F 2005-05-25 18:37:23.092069665 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/calumo.F ./fluka/calumo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/calumo.F 2007-11-19 11:08:06.226040819 -0500 -+++ ./fluka/calumo.F 2005-05-25 18:37:23.161767911 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/calumv.F ./fluka/calumv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/calumv.F 2007-11-19 11:08:06.241139701 -0500 -+++ ./fluka/calumv.F 2005-05-25 18:37:23.882747815 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/chanwt.F ./fluka/chanwt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/chanwt.F 2007-11-19 11:08:06.219347429 -0500 -+++ ./fluka/chanwt.F 2005-05-25 18:37:23.793101536 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/corevt.F ./fluka/corevt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/corevt.F 2007-11-19 11:08:06.303257998 -0500 -+++ ./fluka/corevt.F 2005-05-25 18:37:23.121716731 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/corrin.F ./fluka/corrin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/corrin.F 2007-11-19 11:08:06.265312869 -0500 -+++ ./fluka/corrin.F 2005-05-25 18:37:23.254705443 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/12/17 11:46:46 brun -+* Several protections introduced by Rachid Guernane and Peter Hristov -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -Only in ./fluka: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/datar3.F ./fluka/datar3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/datar3.F 2007-11-19 11:08:06.691430776 -0500 -+++ ./fluka/datar3.F 2005-05-25 18:37:23.298176399 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/decaux.F ./fluka/decaux.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/decaux.F 2007-11-19 11:08:06.914747246 -0500 -+++ ./fluka/decaux.F 2005-05-25 18:37:23.249418887 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/decay.F ./fluka/decay.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/decay.F 2007-11-19 11:08:06.747732442 -0500 -+++ ./fluka/decay.F 2005-05-25 18:37:23.989618396 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/difevv.F ./fluka/difevv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/difevv.F 2007-11-19 11:08:06.086767008 -0500 -+++ ./fluka/difevv.F 2005-05-25 18:37:23.185742430 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/dost.F ./fluka/dost.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/dost.F 2007-11-19 11:08:06.944754009 -0500 -+++ ./fluka/dost.F 2005-05-25 18:37:23.037752358 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/drelab.F ./fluka/drelab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/drelab.F 2007-11-19 11:08:06.693086689 -0500 -+++ ./fluka/drelab.F 2005-05-25 18:37:23.361307341 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/dres.F ./fluka/dres.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/dres.F 2007-11-19 11:08:06.423528013 -0500 -+++ ./fluka/dres.F 2005-05-25 18:37:23.070726702 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eexi.F ./fluka/eexi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eexi.F 2007-11-19 11:08:06.327065592 -0500 -+++ ./fluka/eexi.F 2005-05-25 18:37:23.993160593 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eexlvl.F ./fluka/eexlvl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eexlvl.F 2007-11-19 11:08:06.853784695 -0500 -+++ ./fluka/eexlvl.F 2005-05-25 18:37:23.682513809 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ekeka.F ./fluka/ekeka.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ekeka.F 2007-11-19 11:08:06.338630505 -0500 -+++ ./fluka/ekeka.F 2005-05-25 18:37:23.815438630 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/energi.F ./fluka/energi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/energi.F 2007-11-19 11:08:06.034586026 -0500 -+++ ./fluka/energi.F 2005-05-25 18:37:23.169087887 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/energy.F ./fluka/energy.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/energy.F 2007-11-19 11:08:06.389629579 -0500 -+++ ./fluka/energy.F 2005-05-25 18:37:23.873889030 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/enrg.F ./fluka/enrg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/enrg.F 2007-11-19 11:08:06.643459379 -0500 -+++ ./fluka/enrg.F 2005-05-25 18:37:23.067082497 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/erup.F ./fluka/erup.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/erup.F 2007-11-19 11:08:06.124772325 -0500 -+++ ./fluka/erup.F 2005-05-25 18:37:23.295206832 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evdeex.F ./fluka/evdeex.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evdeex.F 2007-11-19 11:08:06.781697406 -0500 -+++ ./fluka/evdeex.F 2005-05-25 18:37:23.641025409 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/12/17 11:46:46 brun -+* Several protections introduced by Rachid Guernane and Peter Hristov -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eventv.F ./fluka/eventv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/eventv.F 2007-11-19 11:08:06.363606666 -0500 -+++ ./fluka/eventv.F 2005-05-25 18:37:23.776713556 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evevap.F ./fluka/evevap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evevap.F 2007-11-19 11:08:06.539718367 -0500 -+++ ./fluka/evevap.F 2005-05-25 18:37:23.504718989 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evvini.F ./fluka/evvini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/evvini.F 2007-11-19 11:08:06.906658527 -0500 -+++ ./fluka/evvini.F 2005-05-25 18:37:23.307607657 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ferevv.F ./fluka/ferevv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ferevv.F 2007-11-19 11:08:06.794713835 -0500 -+++ ./fluka/ferevv.F 2005-05-25 18:37:23.657933630 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ferhav.F ./fluka/ferhav.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ferhav.F 2007-11-19 11:08:06.148820326 -0500 -+++ ./fluka/ferhav.F 2005-05-25 18:37:23.141592899 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fisfra.F ./fluka/fisfra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fisfra.F 2007-11-19 11:08:06.501701270 -0500 -+++ ./fluka/fisfra.F 2005-05-25 18:37:23.170707152 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkdeca.F ./fluka/fkdeca.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkdeca.F 2007-11-19 11:08:06.801603920 -0500 -+++ ./fluka/fkdeca.F 2005-05-25 18:37:23.315604555 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkdres.F ./fluka/fkdres.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkdres.F 2007-11-19 11:08:06.161579205 -0500 -+++ ./fluka/fkdres.F 2005-05-25 18:37:23.769696507 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkener.F ./fluka/fkener.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkener.F 2007-11-19 11:08:06.024373286 -0500 -+++ ./fluka/fkener.F 2005-05-25 18:37:23.710168912 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkerup.F ./fluka/fkerup.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkerup.F 2007-11-19 11:08:06.557874431 -0500 -+++ ./fluka/fkerup.F 2005-05-25 18:37:23.707444295 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkflav.F ./fluka/fkflav.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkflav.F 2007-11-19 11:08:06.347686235 -0500 -+++ ./fluka/fkflav.F 2005-05-25 18:37:23.246688030 -0400 -@@ -1,7 +1,16 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:23 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/06/10 16:12:15 brun -+* From Andreas Morsch: -+* I changed the name of the function BETA from geant3/fluka/beta.F to -+* BETA_G3. The reason is that if one uses PDF and Geant3 in the same -+* simulation there is a clash between a similar function in PDF. -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkimpu.F ./fluka/fkimpu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkimpu.F 2007-11-19 11:08:06.654192173 -0500 -+++ ./fluka/fkimpu.F 2005-05-25 18:37:24.833427318 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/12/17 11:46:46 brun -+* Several protections introduced by Rachid Guernane and Peter Hristov -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fksigi.F ./fluka/fksigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fksigi.F 2007-11-19 11:08:06.524192588 -0500 -+++ ./fluka/fksigi.F 2005-05-25 18:37:24.734206599 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkvert.F ./fluka/fkvert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkvert.F 2007-11-19 11:08:06.560070989 -0500 -+++ ./fluka/fkvert.F 2005-05-25 18:37:24.259197886 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkzero.F ./fluka/fkzero.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fkzero.F 2007-11-19 11:08:06.426619451 -0500 -+++ ./fluka/fkzero.F 2005-05-25 18:37:24.134496995 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/flavor.F ./fluka/flavor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/flavor.F 2007-11-19 11:08:06.176661404 -0500 -+++ ./fluka/flavor.F 2005-05-25 18:37:24.698033222 -0400 -@@ -1,7 +1,16 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/06/10 16:12:15 brun -+* From Andreas Morsch: -+* I changed the name of the function BETA from geant3/fluka/beta.F to -+* BETA_G3. The reason is that if one uses PDF and Geant3 in the same -+* simulation there is a clash between a similar function in PDF. -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fpower.F ./fluka/fpower.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fpower.F 2007-11-19 11:08:06.674680423 -0500 -+++ ./fluka/fpower.F 2005-05-25 18:37:24.004595323 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fprob.F ./fluka/fprob.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/fprob.F 2007-11-19 11:08:06.443114177 -0500 -+++ ./fluka/fprob.F 2005-05-25 18:37:24.399101879 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/gamrn.F ./fluka/gamrn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/gamrn.F 2007-11-19 11:08:06.473896104 -0500 -+++ ./fluka/gamrn.F 2005-05-25 18:37:24.917162160 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/geta.F ./fluka/geta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/geta.F 2007-11-19 11:08:06.387489382 -0500 -+++ ./fluka/geta.F 2005-05-25 18:37:24.012674416 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadden.F ./fluka/hadden.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadden.F 2007-11-19 11:08:06.159223117 -0500 -+++ ./fluka/hadden.F 2005-05-25 18:37:24.983958517 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadevv.F ./fluka/hadevv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadevv.F 2007-11-19 11:08:06.661406023 -0500 -+++ ./fluka/hadevv.F 2005-05-25 18:37:24.491227104 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadrin.F ./fluka/hadrin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadrin.F 2007-11-19 11:08:06.040090231 -0500 -+++ ./fluka/hadrin.F 2005-05-25 18:37:24.109227945 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadriv.F ./fluka/hadriv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hadriv.F 2007-11-19 11:08:06.491404268 -0500 -+++ ./fluka/hadriv.F 2005-05-25 18:37:24.036673990 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hevhin.F ./fluka/hevhin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hevhin.F 2007-11-19 11:08:06.495665832 -0500 -+++ ./fluka/hevhin.F 2005-05-25 18:37:24.408729644 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hinhev.F ./fluka/hinhev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hinhev.F 2007-11-19 11:08:06.012030545 -0500 -+++ ./fluka/hinhev.F 2005-05-25 18:37:24.175742842 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hklass.F ./fluka/hklass.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hklass.F 2007-11-19 11:08:06.175671519 -0500 -+++ ./fluka/hklass.F 2005-05-25 18:37:24.767158258 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hypero.F ./fluka/hypero.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/hypero.F 2007-11-19 11:08:06.536645079 -0500 -+++ ./fluka/hypero.F 2005-05-25 18:37:24.499867044 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/iefun.F ./fluka/iefun.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/iefun.F 2007-11-19 11:08:06.103849594 -0500 -+++ ./fluka/iefun.F 2005-05-25 18:37:24.573664446 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/impuls.F ./fluka/impuls.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/impuls.F 2007-11-19 11:08:06.932658065 -0500 -+++ ./fluka/impuls.F 2005-05-25 18:37:24.610984588 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/incini.F ./fluka/incini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/incini.F 2007-11-19 11:08:06.501177609 -0500 -+++ ./fluka/incini.F 2005-05-25 18:37:24.292677414 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/index2.F ./fluka/index2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/index2.F 2007-11-19 11:08:06.791660571 -0500 -+++ ./fluka/index2.F 2005-05-25 18:37:24.916859479 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/kinpar.F ./fluka/kinpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/kinpar.F 2007-11-19 11:08:06.923983311 -0500 -+++ ./fluka/kinpar.F 2005-05-25 18:37:24.745186288 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/kpois.F ./fluka/kpois.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/kpois.F 2007-11-19 11:08:06.240343822 -0500 -+++ ./fluka/kpois.F 2005-05-25 18:37:24.059345947 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/lortra.F ./fluka/lortra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/lortra.F 2007-11-19 11:08:06.736615655 -0500 -+++ ./fluka/lortra.F 2005-05-25 18:37:24.371311524 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nizl.F ./fluka/nizl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nizl.F 2007-11-19 11:08:06.163459880 -0500 -+++ ./fluka/nizl.F 2005-05-25 18:37:24.940834793 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nizlnw.F ./fluka/nizlnw.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nizlnw.F 2007-11-19 11:08:06.942383801 -0500 -+++ ./fluka/nizlnw.F 2005-05-25 18:37:24.842409596 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucevv.F ./fluka/nucevv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucevv.F 2007-11-19 11:08:06.577310189 -0500 -+++ ./fluka/nucevv.F 2005-05-25 18:37:24.595561471 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucrel.F ./fluka/nucrel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucrel.F 2007-11-19 11:08:06.154257517 -0500 -+++ ./fluka/nucrel.F 2005-05-25 18:37:24.085849913 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:36 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucriv.F ./fluka/nucriv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nucriv.F 2007-11-19 11:08:06.876992812 -0500 -+++ ./fluka/nucriv.F 2005-05-25 18:37:24.165653924 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nudisv.F ./fluka/nudisv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nudisv.F 2007-11-19 11:08:06.140654369 -0500 -+++ ./fluka/nudisv.F 2005-05-25 18:37:24.763152673 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nuprel.F ./fluka/nuprel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/nuprel.F 2007-11-19 11:08:06.398649783 -0500 -+++ ./fluka/nuprel.F 2005-05-25 18:37:24.173547145 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/parjet.F ./fluka/parjet.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/parjet.F 2007-11-19 11:08:06.189854526 -0500 -+++ ./fluka/parjet.F 2005-05-25 18:37:24.848620777 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/pmprab.F ./fluka/pmprab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/pmprab.F 2007-11-19 11:08:06.726826643 -0500 -+++ ./fluka/pmprab.F 2005-05-25 18:37:24.447103172 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/poli.F ./fluka/poli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/poli.F 2007-11-19 11:08:06.722166407 -0500 -+++ ./fluka/poli.F 2005-05-25 18:37:24.916354272 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/qnrg.F ./fluka/qnrg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/qnrg.F 2007-11-19 11:08:06.882890289 -0500 -+++ ./fluka/qnrg.F 2005-05-25 18:37:24.426649286 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/raco.F ./fluka/raco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/raco.F 2007-11-19 11:08:06.113946946 -0500 -+++ ./fluka/raco.F 2005-05-25 18:37:24.297731172 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rakekv.F ./fluka/rakekv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rakekv.F 2007-11-19 11:08:06.420631620 -0500 -+++ ./fluka/rakekv.F 2005-05-25 18:37:24.396632046 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rbkekv.F ./fluka/rbkekv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rbkekv.F 2007-11-19 11:08:06.562611323 -0500 -+++ ./fluka/rbkekv.F 2005-05-25 18:37:24.944212147 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rchanv.F ./fluka/rchanv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rchanv.F 2007-11-19 11:08:06.346310270 -0500 -+++ ./fluka/rchanv.F 2005-05-25 18:37:24.611628225 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rotat.F ./fluka/rotat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/rotat.F 2007-11-19 11:08:06.121897829 -0500 -+++ ./fluka/rotat.F 2005-05-25 18:37:24.706205327 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/samcst.F ./fluka/samcst.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/samcst.F 2007-11-19 11:08:06.503701040 -0500 -+++ ./fluka/samcst.F 2005-05-25 18:37:24.280926277 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sfecfe.F ./fluka/sfecfe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sfecfe.F 2007-11-19 11:08:06.138618859 -0500 -+++ ./fluka/sfecfe.F 2005-05-25 18:37:24.697884013 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/shptot.F ./fluka/shptot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/shptot.F 2007-11-19 11:08:06.446655975 -0500 -+++ ./fluka/shptot.F 2005-05-25 18:37:24.829160567 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sigel.F ./fluka/sigel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sigel.F 2007-11-19 11:08:06.404614132 -0500 -+++ ./fluka/sigel.F 2005-05-25 18:37:24.062435078 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sigint.F ./fluka/sigint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sigint.F 2007-11-19 11:08:06.843711954 -0500 -+++ ./fluka/sigint.F 2005-05-25 18:37:24.013931006 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sihael.F ./fluka/sihael.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sihael.F 2007-11-19 11:08:06.952294049 -0500 -+++ ./fluka/sihael.F 2005-05-25 18:37:24.002948912 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sitsao.F ./fluka/sitsao.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/sitsao.F 2007-11-19 11:08:06.518008958 -0500 -+++ ./fluka/sitsao.F 2005-05-25 18:37:24.598610684 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/stalin.F ./fluka/stalin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/stalin.F 2007-11-19 11:08:06.646633226 -0500 -+++ ./fluka/stalin.F 2005-05-25 18:37:24.089820058 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/tchoic.F ./fluka/tchoic.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/tchoic.F 2007-11-19 11:08:06.651937417 -0500 -+++ ./fluka/tchoic.F 2005-05-25 18:37:24.493172855 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/threpd.F ./fluka/threpd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/threpd.F 2007-11-19 11:08:06.174029943 -0500 -+++ ./fluka/threpd.F 2005-05-25 18:37:24.712595286 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trafo.F ./fluka/trafo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trafo.F 2007-11-19 11:08:06.323622451 -0500 -+++ ./fluka/trafo.F 2005-05-25 18:37:24.667827714 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trahad.F ./fluka/trahad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trahad.F 2007-11-19 11:08:06.968136035 -0500 -+++ ./fluka/trahad.F 2005-05-25 18:37:24.459028103 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trans.F ./fluka/trans.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/trans.F 2007-11-19 11:08:06.313925693 -0500 -+++ ./fluka/trans.F 2005-05-25 18:37:24.255059452 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ttrans.F ./fluka/ttrans.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/ttrans.F 2007-11-19 11:08:06.987603770 -0500 -+++ ./fluka/ttrans.F 2005-05-25 18:37:24.931604765 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/twopad.F ./fluka/twopad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/twopad.F 2007-11-19 11:08:06.074089613 -0500 -+++ ./fluka/twopad.F 2005-05-25 18:37:24.614970754 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/twopar.F ./fluka/twopar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/twopar.F 2007-11-19 11:08:06.526594190 -0500 -+++ ./fluka/twopar.F 2005-05-25 18:37:24.653278973 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/verein.F ./fluka/verein.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/verein.F 2007-11-19 11:08:06.205927605 -0500 -+++ ./fluka/verein.F 2005-05-25 18:37:24.864787857 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/vertex.F ./fluka/vertex.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/vertex.F 2007-11-19 11:08:06.828639773 -0500 -+++ ./fluka/vertex.F 2005-05-25 18:37:24.943586779 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xlamb.F ./fluka/xlamb.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xlamb.F 2007-11-19 11:08:06.892587686 -0500 -+++ ./fluka/xlamb.F 2005-05-25 18:37:24.726693857 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xseneu.F ./fluka/xseneu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xseneu.F 2007-11-19 11:08:06.548002691 -0500 -+++ ./fluka/xseneu.F 2005-05-25 18:37:24.652034073 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xsepro.F ./fluka/xsepro.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/xsepro.F 2007-11-19 11:08:06.674573787 -0500 -+++ ./fluka/xsepro.F 2005-05-25 18:37:24.932892290 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/zeroin.F ./fluka/zeroin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/fluka/zeroin.F 2007-11-19 11:08:06.487544981 -0500 -+++ ./fluka/zeroin.F 2005-05-25 18:37:24.579880533 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:24 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -Only in ./gbase: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gbase.doc ./gbase/gbase.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gbase.doc 2007-10-04 19:45:50.766938096 -0400 -+++ ./gbase/gbase.doc 2005-05-25 18:37:25.483294887 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gbhsta.F ./gbase/gbhsta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gbhsta.F 2007-11-19 11:08:06.802807123 -0500 -+++ ./gbase/gbhsta.F 2006-08-17 09:38:52.609557169 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.2 2006/08/17 13:38:52 fisyak -+* Clean up -+* -+* Revision 1.3 2006/03/17 14:41:53 brun -+* Remove references to hbook -+* - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/geamon.F ./gbase/geamon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/geamon.F 2007-11-19 11:08:06.403859292 -0500 -+++ ./gbase/geamon.F 2005-05-25 18:37:25.174555188 -0400 -@@ -1,10 +1,9 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * --* Revision 1.3 2006/03/16 10:03:56 brun --* From Federico: --* Add dummy routine umlog -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) - * - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/getnum.F ./gbase/getnum.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/getnum.F 2007-11-19 11:08:06.643538791 -0500 -+++ ./gbase/getnum.F 2005-05-25 18:37:25.906347059 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/getver.F ./gbase/getver.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/getver.F 2007-11-19 11:08:06.164604620 -0500 -+++ ./gbase/getver.F 2005-05-25 18:37:25.209546505 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gffgo.F ./gbase/gffgo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gffgo.F 2007-11-19 11:08:06.866595322 -0500 -+++ ./gbase/gffgo.F 2005-05-25 18:37:25.414082436 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfhead.F ./gbase/gfhead.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfhead.F 2007-11-19 11:08:06.530841169 -0500 -+++ ./gbase/gfhead.F 2005-05-25 18:37:25.421936150 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfhsta.F ./gbase/gfhsta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfhsta.F 2007-11-19 11:08:06.712537565 -0500 -+++ ./gbase/gfhsta.F 2006-08-17 09:38:52.042808712 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.2 2006/08/17 13:38:52 fisyak -+* Clean up -+* -+* Revision 1.3 2006/03/17 14:41:53 brun -+* Remove references to hbook -+* - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfrung.F ./gbase/gfrung.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gfrung.F 2007-11-19 11:08:06.841225583 -0500 -+++ ./gbase/gfrung.F 2005-05-25 18:37:25.620521427 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ggclo2.F ./gbase/ggclo2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ggclo2.F 2007-11-19 11:08:06.550522671 -0500 -+++ ./gbase/ggclo2.F 2005-05-25 18:37:25.318455699 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ggclos.F ./gbase/ggclos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ggclos.F 2007-11-19 11:08:06.164765736 -0500 -+++ ./gbase/ggclos.F 2005-05-25 18:37:25.758284702 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ghclos.F ./gbase/ghclos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ghclos.F 2007-11-19 11:08:06.839517534 -0500 -+++ ./gbase/ghclos.F 2005-05-25 18:37:25.059012252 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ginit.F ./gbase/ginit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/ginit.F 2007-11-19 11:08:06.868166041 -0500 -+++ ./gbase/ginit.F 2005-05-25 18:37:25.100011525 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/glast.F ./gbase/glast.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/glast.F 2007-11-19 11:08:06.110512718 -0500 -+++ ./gbase/glast.F 2005-05-25 18:37:25.086513144 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/glook.F ./gbase/glook.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/glook.F 2007-11-19 11:08:06.401428918 -0500 -+++ ./gbase/glook.F 2005-05-25 18:37:25.378280341 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gmail.F ./gbase/gmail.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gmail.F 2007-11-19 11:08:06.258228301 -0500 -+++ ./gbase/gmail.F 2005-05-25 18:37:25.526505324 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gphead.F ./gbase/gphead.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gphead.F 2007-11-19 11:08:06.902805309 -0500 -+++ ./gbase/gphead.F 2005-05-25 18:37:25.569418844 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gprint.F ./gbase/gprint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gprint.F 2007-11-19 11:08:06.364509125 -0500 -+++ ./gbase/gprint.F 2005-05-25 18:37:25.803500401 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gprung.F ./gbase/gprung.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gprung.F 2007-11-19 11:08:06.734501627 -0500 -+++ ./gbase/gprung.F 2005-05-25 18:37:25.227549908 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gshead.F ./gbase/gshead.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gshead.F 2007-11-19 11:08:06.940480192 -0500 -+++ ./gbase/gshead.F 2005-05-25 18:37:25.346971652 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gsrung.F ./gbase/gsrung.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gsrung.F 2007-11-19 11:08:06.446836881 -0500 -+++ ./gbase/gsrung.F 2005-05-25 18:37:25.169992538 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrigc.F ./gbase/gtrigc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrigc.F 2007-11-19 11:08:06.116993478 -0500 -+++ ./gbase/gtrigc.F 2005-05-25 18:37:25.790963773 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:25 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrig.F ./gbase/gtrig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrig.F 2007-11-19 11:08:06.739660921 -0500 -+++ ./gbase/gtrig.F 2006-08-17 09:38:52.499894830 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.2 2006/08/17 13:38:52 fisyak -+* Clean up -+* -+* Revision 1.3 2006/03/17 15:11:36 brun -+* Comment call to GDKINE in gtrig -+* - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrigi.F ./gbase/gtrigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gtrigi.F 2007-11-19 11:08:06.314491318 -0500 -+++ ./gbase/gtrigi.F 2005-05-25 18:37:26.222492953 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gwork.F ./gbase/gwork.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gwork.F 2007-11-19 11:08:06.965479747 -0500 -+++ ./gbase/gwork.F 2005-05-25 18:37:26.895979655 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gzebra.F ./gbase/gzebra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gzebra.F 2007-11-19 11:08:06.346903451 -0500 -+++ ./gbase/gzebra.F 2005-05-25 18:37:26.619485897 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gzinit.F ./gbase/gzinit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase/gzinit.F 2007-11-19 11:08:06.835962974 -0500 -+++ ./gbase/gzinit.F 2005-05-25 18:37:26.267474380 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gbase: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: gcalor_vmc.diff -Only in ./gcons: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gcons.doc ./gcons/gcons.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gcons.doc 2007-10-04 19:45:50.962489745 -0400 -+++ ./gcons/gcons.doc 2005-05-25 18:37:26.766946453 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gevkev.F ./gcons/gevkev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gevkev.F 2007-11-19 11:08:06.644727779 -0500 -+++ ./gcons/gevkev.F 2005-10-27 12:07:32.127259912 -0400 -@@ -1,7 +1,16 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.2 2005/05/26 22:41:35 fisyak -+* recover gevkev from g3evkev (used in egr) -+* -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -@@ -18,7 +27,7 @@ - #include "geant321/pilot.h" - *CMZ : 3.21/02 29/03/94 15.41.19 by S.Giani - *-- Author : -- SUBROUTINE G3EVKEV(EGEV,ENERU,KUNIT) -+ SUBROUTINE GEVKEV(EGEV,ENERU,KUNIT) - C. - C. ****************************************************************** - C. * * -@@ -49,3 +58,7 @@ - ENDIF - * - END -+ SUBROUTINE G3EVKEV(EGEV,ENERU,KUNIT) -+ CHARACTER*4 KUNIT -+ call GEVKEV(EGEV,ENERU,KUNIT) -+ end -Only in ./gcons: gevkev.F~ -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfcoul.F ./gcons/gfcoul.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfcoul.F 2007-11-19 11:08:06.291473953 -0500 -+++ ./gcons/gfcoul.F 2005-05-25 18:37:26.348455166 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfmate.F ./gcons/gfmate.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfmate.F 2007-11-19 11:08:06.625035786 -0500 -+++ ./gcons/gfmate.F 2005-05-25 18:37:26.329821624 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfpart.F ./gcons/gfpart.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gfpart.F 2007-11-19 11:08:06.102136737 -0500 -+++ ./gcons/gfpart.F 2005-05-25 18:37:26.070460107 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gftmat.F ./gcons/gftmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gftmat.F 2007-11-19 11:08:06.680449265 -0500 -+++ ./gcons/gftmat.F 2005-05-25 18:37:26.652449763 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gftmed.F ./gcons/gftmed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gftmed.F 2007-11-19 11:08:06.159948051 -0500 -+++ ./gcons/gftmed.F 2005-05-25 18:37:26.812695241 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/ghmix.F ./gcons/ghmix.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/ghmix.F 2007-11-19 11:08:06.330203325 -0500 -+++ ./gcons/ghmix.F 2005-05-25 18:37:26.995924644 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gmate.F ./gcons/gmate.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gmate.F 2007-11-19 11:08:06.074405048 -0500 -+++ ./gcons/gmate.F 2005-05-25 18:37:26.678521334 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpart.F ./gcons/gpart.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpart.F 2007-11-19 11:08:06.337931279 -0500 -+++ ./gcons/gpart.F 2005-05-25 18:37:26.362933507 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpions.F ./gcons/gpions.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpions.F 2007-11-19 11:08:06.473900630 -0500 -+++ ./gcons/gpions.F 2005-05-25 18:37:26.559433642 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gplmat.F ./gcons/gplmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gplmat.F 2007-11-19 11:08:06.203439969 -0500 -+++ ./gcons/gplmat.F 2005-05-25 18:37:26.069389028 -0400 -@@ -1,7 +1,10 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* - * Revision 1.2 2003/11/28 11:23:55 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -@@ -80,7 +83,6 @@ - DIMENSION KI(NCOL),EK(NCOL) - LOGICAL LXBARN - * --#ifdef NEVER - #include "geant321/gcnmec.inc" - * - * ------------------------------------------------------------------ -@@ -263,5 +265,4 @@ - + 'DCUTE =',F6.2,A4,3X,'DCUTM =',F6.2,A4,3X, - + 'PPCUTM =',F6.2,A4 ) - 10200 FORMAT(1X,5(' bin ',I3,' =',F7.2,A4)) --#endif - 999 END -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpmate.F ./gcons/gpmate.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpmate.F 2007-11-19 11:08:06.615152001 -0500 -+++ ./gcons/gpmate.F 2005-05-25 18:37:26.944437222 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpmatx.F ./gcons/gpmatx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpmatx.F 2007-11-19 11:08:06.841428629 -0500 -+++ ./gcons/gpmatx.F 2005-05-25 18:37:26.774910821 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gppart.F ./gcons/gppart.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gppart.F 2007-11-19 11:08:06.789637512 -0500 -+++ ./gcons/gppart.F 2005-05-25 18:37:26.556866010 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpparx.F ./gcons/gpparx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gpparx.F 2007-11-19 11:08:06.939107714 -0500 -+++ ./gcons/gpparx.F 2005-05-25 18:37:26.392951109 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gprmat.F ./gcons/gprmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gprmat.F 2007-11-19 11:08:06.743877553 -0500 -+++ ./gcons/gprmat.F 2005-05-25 18:37:26.308779803 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gptmed.F ./gcons/gptmed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gptmed.F 2007-11-19 11:08:06.771265776 -0500 -+++ ./gcons/gptmed.F 2005-05-25 18:37:26.853296867 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gptmex.F ./gcons/gptmex.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gptmex.F 2007-11-19 11:08:06.070489997 -0500 -+++ ./gcons/gptmex.F 2005-05-25 18:37:26.588862198 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsckov.F ./gcons/gsckov.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsckov.F 2007-11-19 11:08:06.072459115 -0500 -+++ ./gcons/gsckov.F 2005-05-25 18:37:26.299358089 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsdk.F ./gcons/gsdk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsdk.F 2007-11-19 11:08:06.030470690 -0500 -+++ ./gcons/gsdk.F 2005-05-25 18:37:26.420852952 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmate.F ./gcons/gsmate.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmate.F 2007-11-19 11:08:06.585637111 -0500 -+++ ./gcons/gsmate.F 2005-05-25 18:37:26.138943061 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmate.F.ori ./gcons/gsmate.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmate.F.ori 2007-10-04 19:45:50.335353650 -0400 -+++ ./gcons/gsmate.F.ori 2005-05-25 18:37:26.926826278 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:24 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:37 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmixt.F ./gcons/gsmixt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gsmixt.F 2007-11-19 11:08:06.229421733 -0500 -+++ ./gcons/gsmixt.F 2005-05-25 18:37:26.194422355 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gspart.F ./gcons/gspart.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gspart.F 2007-11-19 11:08:06.727143674 -0500 -+++ ./gcons/gspart.F 2005-05-25 18:37:26.788612506 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gstmed.F ./gcons/gstmed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gstmed.F 2007-11-19 11:08:06.994137616 -0500 -+++ ./gcons/gstmed.F 2005-05-25 18:37:26.667413948 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gstpar.F ./gcons/gstpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gstpar.F 2007-11-19 11:08:06.854570864 -0500 -+++ ./gcons/gstpar.F 2005-05-25 18:37:26.093071097 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:44 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gxsi.F ./gcons/gxsi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons/gxsi.F 2007-11-19 11:08:06.107840784 -0500 -+++ ./gcons/gxsi.F 2005-05-25 18:37:26.001824949 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:26 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:24 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gcons: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: gdraw -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/aadat.inc ./geant321/aadat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/aadat.inc 2007-11-19 11:08:06.929409291 -0500 -+++ ./geant321/aadat.inc 2005-05-25 18:37:27.699416490 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/auxpar.inc ./geant321/auxpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/auxpar.inc 2007-11-19 11:08:06.526735658 -0500 -+++ ./geant321/auxpar.inc 2005-05-25 18:37:27.511111989 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/balanc.inc ./geant321/balanc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/balanc.inc 2007-11-19 11:08:06.232403905 -0500 -+++ ./geant321/balanc.inc 2005-05-25 18:37:27.718968865 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/bamjcm.inc ./geant321/bamjcm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/bamjcm.inc 2007-11-19 11:08:06.677042313 -0500 -+++ ./geant321/bamjcm.inc 2005-05-25 18:37:27.696070674 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/blank.inc ./geant321/blank.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/blank.inc 2007-11-19 11:08:06.570397898 -0500 -+++ ./geant321/blank.inc 2005-05-25 18:37:28.775804229 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/camass.inc ./geant321/camass.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/camass.inc 2007-11-19 11:08:06.635152104 -0500 -+++ ./geant321/camass.inc 2005-05-25 18:37:28.923146871 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cerrcm.inc ./geant321/cerrcm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cerrcm.inc 2007-11-19 11:08:06.991452925 -0500 -+++ ./geant321/cerrcm.inc 2005-05-25 18:37:28.366074502 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcaan.inc ./geant321/cgcaan.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcaan.inc 2007-11-19 11:08:06.634915876 -0500 -+++ ./geant321/cgcaan.inc 2005-05-25 18:37:28.297032415 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcedg.inc ./geant321/cgcedg.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcedg.inc 2007-11-19 11:08:06.216821141 -0500 -+++ ./geant321/cgcedg.inc 2005-05-25 18:37:28.406119923 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcfac.inc ./geant321/cgcfac.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgcfac.inc 2007-11-19 11:08:06.403550541 -0500 -+++ ./geant321/cgcfac.inc 2005-05-25 18:37:28.519398804 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgctra.inc ./geant321/cgctra.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgctra.inc 2007-11-19 11:08:06.143921803 -0500 -+++ ./geant321/cgctra.inc 2005-05-25 18:37:28.328438831 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgdelt.inc ./geant321/cgdelt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgdelt.inc 2007-11-19 11:08:06.937764996 -0500 -+++ ./geant321/cgdelt.inc 2005-05-25 18:37:28.885093048 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cggpar.inc ./geant321/cggpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cggpar.inc 2007-11-19 11:08:06.861542409 -0500 -+++ ./geant321/cggpar.inc 2005-05-25 18:37:28.750587053 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cghpar.inc ./geant321/cghpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cghpar.inc 2007-11-19 11:08:06.240563925 -0500 -+++ ./geant321/cghpar.inc 2005-05-25 18:37:28.314939863 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgxcom.inc ./geant321/cgxcom.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cgxcom.inc 2007-11-19 11:08:06.305576589 -0500 -+++ ./geant321/cgxcom.inc 2005-05-25 18:37:28.603529233 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmagic.inc ./geant321/cmagic.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmagic.inc 2007-11-19 11:08:06.094538271 -0500 -+++ ./geant321/cmagic.inc 2005-05-25 18:37:28.159537117 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmass.inc ./geant321/cmass.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmass.inc 2007-11-19 11:08:06.418514761 -0500 -+++ ./geant321/cmass.inc 2005-05-25 18:37:28.327297695 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmsres.inc ./geant321/cmsres.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/cmsres.inc 2007-11-19 11:08:06.554272888 -0500 -+++ ./geant321/cmsres.inc 2005-05-25 18:37:28.613362819 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/comcon.inc ./geant321/comcon.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/comcon.inc 2007-11-19 11:08:06.361877843 -0500 -+++ ./geant321/comcon.inc 2005-05-25 18:37:28.215065411 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/comcont.inc ./geant321/comcont.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/comcont.inc 2007-11-19 11:08:06.935583087 -0500 -+++ ./geant321/comcont.inc 2005-05-25 18:37:28.951505296 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in ./geant321: .consign -Only in ./geant321: .consign.sl305_gcc323 -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/corinc.inc ./geant321/corinc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/corinc.inc 2007-11-19 11:08:06.104295952 -0500 -+++ ./geant321/corinc.inc 2005-05-25 18:37:28.456435031 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/crandm.inc ./geant321/crandm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/crandm.inc 2007-11-19 11:08:06.094388584 -0500 -+++ ./geant321/crandm.inc 2005-05-25 18:37:28.484882259 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in ./geant321: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/dblprc.inc ./geant321/dblprc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/dblprc.inc 2007-11-19 11:08:06.059212443 -0500 -+++ ./geant321/dblprc.inc 2005-05-25 18:37:28.913391801 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/decayc2.inc ./geant321/decayc2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/decayc2.inc 2007-11-19 11:08:06.924774629 -0500 -+++ ./geant321/decayc2.inc 2005-05-25 18:37:28.947891309 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/decayc.inc ./geant321/decayc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/decayc.inc 2007-11-19 11:08:06.524380941 -0500 -+++ ./geant321/decayc.inc 2005-05-25 18:37:28.373383625 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/depnuc.inc ./geant321/depnuc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/depnuc.inc 2007-11-19 11:08:06.433939906 -0500 -+++ ./geant321/depnuc.inc 2005-05-25 18:37:28.678028774 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/dimpar.inc ./geant321/dimpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/dimpar.inc 2007-11-19 11:08:06.586162003 -0500 -+++ ./geant321/dimpar.inc 2005-05-25 18:37:28.731126159 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eropts.inc ./geant321/eropts.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eropts.inc 2007-11-19 11:08:06.906738740 -0500 -+++ ./geant321/eropts.inc 2007-05-18 13:05:06.653664317 -0400 -@@ -1,12 +1,15 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * --* Revision 1.1.1.1 2002/06/16 15:18:38 hristov --* Separate distribution of Geant3 -+* Revision 1.2 2005/06/09 00:09:25 fisyak -+* comply with STAR - * --* Revision 1.1.1.1 1999/05/18 15:55:16 fca --* AliRoot sources -+* Revision 1.2 2004/03/01 17:26:25 fisyak -+* Get rid of staf -+* -+* Revision 1.1 1999/12/07 15:44:29 fisyak -+* Add geane, new TGeant3 from Alice - * - * Revision 1.2 1996/07/25 15:01:02 ravndal - * CMZ to CVS conversion artefact removed -@@ -23,12 +26,12 @@ - * eropts.inc - * - CHARACTER*8 CHOPTI -- LOGICAL LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU -+ LOGICAL LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU, LEVMIX - REAL ERPLI, ERPLO, ERLENG - INTEGER NAMEER, NUMVER, IOVLER - COMMON /EROPTS/ ERPLI(3,2), ERPLO(3,4,MXPRED), ERLENG(MXPRED), - + NAMEER(MXPRED), NUMVER(MXPRED), IOVLER(MXPRED), -- + LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU -+ + LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU, LEVMIX - COMMON /EROPTC/CHOPTI - * - * eropts.inc -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ertrio.inc ./geant321/ertrio.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ertrio.inc 2007-11-19 11:08:06.848471610 -0500 -+++ ./geant321/ertrio.inc 2005-05-25 18:37:28.589493967 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/erwork.inc ./geant321/erwork.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/erwork.inc 2007-11-19 11:08:06.010036262 -0500 -+++ ./geant321/erwork.inc 2005-05-25 18:37:28.649303586 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eva0.inc ./geant321/eva0.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eva0.inc 2007-11-19 11:08:06.996072860 -0500 -+++ ./geant321/eva0.inc 2005-05-25 18:37:28.704608302 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eva1.inc ./geant321/eva1.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/eva1.inc 2007-11-19 11:08:06.540479960 -0500 -+++ ./geant321/eva1.inc 2005-05-25 18:37:28.628451090 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/fheavy.inc ./geant321/fheavy.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/fheavy.inc 2007-11-19 11:08:06.586687441 -0500 -+++ ./geant321/fheavy.inc 2005-05-25 18:37:28.473382818 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/fheavyt.inc ./geant321/fheavyt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/fheavyt.inc 2007-11-19 11:08:06.892162174 -0500 -+++ ./geant321/fheavyt.inc 2005-05-25 18:37:28.301369844 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp2.inc ./geant321/finlsp2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp2.inc 2007-11-19 11:08:06.269878119 -0500 -+++ ./geant321/finlsp2.inc 2005-05-25 18:37:28.825906822 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp3.inc ./geant321/finlsp3.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp3.inc 2007-11-19 11:08:06.208104301 -0500 -+++ ./geant321/finlsp3.inc 2005-05-25 18:37:29.889488640 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp.inc ./geant321/finlsp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finlsp.inc 2007-11-19 11:08:06.714990352 -0500 -+++ ./geant321/finlsp.inc 2005-05-25 18:37:28.781356717 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finpar2.inc ./geant321/finpar2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finpar2.inc 2007-11-19 11:08:06.894691468 -0500 -+++ ./geant321/finpar2.inc 2005-05-25 18:37:29.763996518 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finpar.inc ./geant321/finpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finpar.inc 2007-11-19 11:08:06.592476156 -0500 -+++ ./geant321/finpar.inc 2005-05-25 18:37:29.251752792 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuc2.inc ./geant321/finuc2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuc2.inc 2007-11-19 11:08:06.801472445 -0500 -+++ ./geant321/finuc2.inc 2005-05-25 18:37:29.098861508 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuc.inc ./geant321/finuc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuc.inc 2007-11-19 11:08:06.914919688 -0500 -+++ ./geant321/finuc.inc 2005-05-25 18:37:29.073946269 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuct.inc ./geant321/finuct.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/finuct.inc 2007-11-19 11:08:06.351366241 -0500 -+++ ./geant321/finuct.inc 2005-05-25 18:37:29.781305273 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/forcn.inc ./geant321/forcn.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/forcn.inc 2007-11-19 11:08:06.203301425 -0500 -+++ ./geant321/forcn.inc 2005-05-25 18:37:29.458457077 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gc10ev.inc ./geant321/gc10ev.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gc10ev.inc 2007-11-19 11:08:06.209943547 -0500 -+++ ./geant321/gc10ev.inc 2005-05-25 18:37:29.108557148 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcasho.inc ./geant321/gcasho.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcasho.inc 2007-11-19 11:08:06.430784040 -0500 -+++ ./geant321/gcasho.inc 2005-05-25 18:37:29.994552038 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcbank.inc ./geant321/gcbank.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcbank.inc 2007-11-19 11:08:06.161132540 -0500 -+++ ./geant321/gcbank.inc 2005-05-25 18:37:29.389365566 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gccurs.inc ./geant321/gccurs.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gccurs.inc 2007-11-19 11:08:06.067520994 -0500 -+++ ./geant321/gccurs.inc 2005-05-25 18:37:29.998864245 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gccuts.inc ./geant321/gccuts.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gccuts.inc 2007-11-19 11:08:06.453127252 -0500 -+++ ./geant321/gccuts.inc 2007-05-18 15:36:55.721359664 -0400 -@@ -1,11 +1,9 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * --* Revision 1.2 2007/03/31 13:48:01 brun --* From Andrea Fontana and Alberto Rotondi --* Added one extra parameter (GCALPHA) to the COMMON GCCUTS to drive the --* Urban/Landau models in the ERLAND routine. -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) - * - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS -@@ -26,9 +24,6 @@ - * - * gccuts.inc - * --* modified by A.Rotondi & A.Fontana --* march 2007 --* (reintroduced GCUTS(5)) - #if !defined(CERNLIB_INCLUDE) - COMMON/GCCUTS/CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM - + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS(5) -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcdlin.inc ./geant321/gcdlin.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcdlin.inc 2007-11-19 11:08:06.296286294 -0500 -+++ ./geant321/gcdlin.inc 2005-05-25 18:37:29.875747951 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcdraw.inc ./geant321/gcdraw.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcdraw.inc 2007-11-19 11:08:06.285067608 -0500 -+++ ./geant321/gcdraw.inc 2005-05-25 18:37:29.784982291 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcfdim.inc ./geant321/gcfdim.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcfdim.inc 2007-11-19 11:08:06.328348875 -0500 -+++ ./geant321/gcfdim.inc 2005-05-25 18:37:29.082353248 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcflag.inc ./geant321/gcflag.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcflag.inc 2007-11-19 11:08:06.092626015 -0500 -+++ ./geant321/gcflag.inc 2005-05-25 18:37:29.560295559 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcgobj.inc ./geant321/gcgobj.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcgobj.inc 2007-11-19 11:08:06.027521704 -0500 -+++ ./geant321/gcgobj.inc 2005-05-25 18:37:30.824340059 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:30 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchil2.inc ./geant321/gchil2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchil2.inc 2007-11-19 11:08:06.643442691 -0500 -+++ ./geant321/gchil2.inc 2005-05-25 18:37:31.848377568 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchiln.inc ./geant321/gchiln.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchiln.inc 2007-11-19 11:08:06.240132864 -0500 -+++ ./geant321/gchiln.inc 2005-05-25 18:37:31.877247340 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchvir.inc ./geant321/gchvir.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gchvir.inc 2007-11-19 11:08:06.446698374 -0500 -+++ ./geant321/gchvir.inc 2005-05-25 18:37:31.024344915 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcjloc.inc ./geant321/gcjloc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcjloc.inc 2007-11-19 11:08:06.036964597 -0500 -+++ ./geant321/gcjloc.inc 2005-05-25 18:37:31.877694057 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcjump.inc ./geant321/gcjump.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcjump.inc 2007-11-19 11:08:06.162085935 -0500 -+++ ./geant321/gcjump.inc 2005-05-25 18:37:31.676218885 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/12/02 16:37:44 brun -+* Changes from Federico Carminati and Peter Hristov who ported the system -+* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -+* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gckine.inc ./geant321/gckine.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gckine.inc 2007-11-19 11:08:06.064598854 -0500 -+++ ./geant321/gckine.inc 2005-05-25 18:37:31.639018073 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcking.inc ./geant321/gcking.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcking.inc 2007-11-19 11:08:06.108495653 -0500 -+++ ./geant321/gcking.inc 2005-05-25 18:37:31.534306866 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gckmax.inc ./geant321/gckmax.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gckmax.inc 2007-11-19 11:08:06.417329518 -0500 -+++ ./geant321/gckmax.inc 2005-10-27 12:08:36.272332096 -0400 -@@ -1,12 +1,18 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * --* Revision 1.1.1.1 2002/06/16 15:18:38 hristov --* Separate distribution of Geant3 -+* Revision 1.2 2005/06/09 00:09:25 fisyak -+* comply with STAR - * --* Revision 1.1.1.1 1999/05/18 15:55:16 fca --* AliRoot sources -+* Revision 1.1.1.1 2004/01/15 00:12:23 potekhin -+* -+* -+* Revision 1.2 2003/11/16 17:41:04 nevski -+* follow cernlib 2002 release note -+* -+* Revision 1.1.1.1 1997/11/03 15:29:48 atlascvs -+* Importing CERNLIB version 08.21. - * - * Revision 1.1.1.1 1995/10/24 10:20:32 cernlib - * Geant -@@ -20,7 +26,7 @@ - * - #if !defined(CERNLIB_INCLUDE) - INTEGER MXGKIN -- PARAMETER (MXGKIN=100) -+ PARAMETER (MXGKIN=250) - #endif - * - * gckmax.inc -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclink.inc ./geant321/gclink.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclink.inc 2007-11-19 11:08:06.252541207 -0500 -+++ ./geant321/gclink.inc 2005-05-25 18:37:31.730952331 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclist.inc ./geant321/gclist.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclist.inc 2007-11-19 11:08:06.930564033 -0500 -+++ ./geant321/gclist.inc 2005-05-25 18:37:31.465792081 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclund.inc ./geant321/gclund.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gclund.inc 2007-11-19 11:08:06.520826598 -0500 -+++ ./geant321/gclund.inc 2005-05-25 18:37:31.544826172 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmate.inc ./geant321/gcmate.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmate.inc 2007-11-19 11:08:06.708287171 -0500 -+++ ./geant321/gcmate.inc 2005-05-25 18:37:31.099368541 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmulo.inc ./geant321/gcmulo.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmulo.inc 2007-11-19 11:08:06.156089571 -0500 -+++ ./geant321/gcmulo.inc 2005-05-25 18:37:31.672105178 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmutr.inc ./geant321/gcmutr.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmutr.inc 2007-11-19 11:08:06.724423311 -0500 -+++ ./geant321/gcmutr.inc 2005-05-25 18:37:31.807930904 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmzfo.inc ./geant321/gcmzfo.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcmzfo.inc 2007-11-19 11:08:06.773877007 -0500 -+++ ./geant321/gcmzfo.inc 2005-05-25 18:37:31.691393249 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcnmec.inc ./geant321/gcnmec.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcnmec.inc 2007-11-19 11:08:06.248576275 -0500 -+++ ./geant321/gcnmec.inc 2005-05-25 18:37:31.080277060 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcnum.inc ./geant321/gcnum.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcnum.inc 2007-11-19 11:08:06.177784758 -0500 -+++ ./geant321/gcnum.inc 2005-05-25 18:37:31.998900057 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcomis.inc ./geant321/gcomis.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcomis.inc 2007-11-19 11:08:06.051119492 -0500 -+++ ./geant321/gcomis.inc 2005-05-25 18:37:31.989954548 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gconsp.inc ./geant321/gconsp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gconsp.inc 2007-11-19 11:08:06.951617602 -0500 -+++ ./geant321/gconsp.inc 2005-05-25 18:37:31.475555327 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gconst.inc ./geant321/gconst.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gconst.inc 2007-11-19 11:08:06.992773398 -0500 -+++ ./geant321/gconst.inc 2005-05-25 18:37:31.770354694 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcopti.inc ./geant321/gcopti.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcopti.inc 2007-11-19 11:08:06.600845809 -0500 -+++ ./geant321/gcopti.inc 2005-05-25 18:37:31.029831298 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpara.inc ./geant321/gcpara.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpara.inc 2007-11-19 11:08:06.462151156 -0500 -+++ ./geant321/gcpara.inc 2005-05-25 18:37:31.823244576 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcparm.inc ./geant321/gcparm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcparm.inc 2007-11-19 11:08:06.390081525 -0500 -+++ ./geant321/gcparm.inc 2005-05-25 18:37:31.309248882 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphnr.inc ./geant321/gcphnr.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphnr.inc 2007-11-19 11:08:06.713119126 -0500 -+++ ./geant321/gcphnr.inc 2005-05-25 18:37:32.698953810 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphpr.inc ./geant321/gcphpr.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphpr.inc 2007-11-19 11:08:06.132239107 -0500 -+++ ./geant321/gcphpr.inc 2005-05-25 18:37:32.651525714 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphrd.inc ./geant321/gcphrd.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphrd.inc 2007-11-19 11:08:06.971725648 -0500 -+++ ./geant321/gcphrd.inc 2005-05-25 18:37:32.786245231 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphxs.inc ./geant321/gcphxs.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphxs.inc 2007-11-19 11:08:06.793047039 -0500 -+++ ./geant321/gcphxs.inc 2005-05-25 18:37:32.291022618 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphys.inc ./geant321/gcphys.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcphys.inc 2007-11-19 11:08:06.719140544 -0500 -+++ ./geant321/gcphys.inc 2005-05-25 18:37:32.406841958 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpixe.inc ./geant321/gcpixe.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpixe.inc 2007-11-19 11:08:06.624825026 -0500 -+++ ./geant321/gcpixe.inc 2005-05-25 18:37:32.566184783 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpmxz.inc ./geant321/gcpmxz.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpmxz.inc 2007-11-19 11:08:06.097054822 -0500 -+++ ./geant321/gcpmxz.inc 2005-05-25 18:37:32.252095386 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpoly.inc ./geant321/gcpoly.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpoly.inc 2007-11-19 11:08:06.265013392 -0500 -+++ ./geant321/gcpoly.inc 2005-05-25 18:37:32.547032507 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpotm.inc ./geant321/gcpotm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpotm.inc 2007-11-19 11:08:06.130452013 -0500 -+++ ./geant321/gcpotm.inc 2005-05-25 18:37:32.193341844 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpush.inc ./geant321/gcpush.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcpush.inc 2007-11-19 11:08:06.887009172 -0500 -+++ ./geant321/gcpush.inc 2005-05-25 18:37:32.986728937 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcrayt.inc ./geant321/gcrayt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcrayt.inc 2007-11-19 11:08:06.892344377 -0500 -+++ ./geant321/gcrayt.inc 2005-05-25 18:37:32.994465481 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcrz.inc ./geant321/gcrz.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcrz.inc 2007-11-19 11:08:06.935008320 -0500 -+++ ./geant321/gcrz.inc 2005-05-25 18:37:32.809247563 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcscal.inc ./geant321/gcscal.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcscal.inc 2007-11-19 11:08:06.035893602 -0500 -+++ ./geant321/gcscal.inc 2005-05-25 18:37:32.333933366 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcscan.inc ./geant321/gcscan.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcscan.inc 2007-11-19 11:08:06.297689779 -0500 -+++ ./geant321/gcscan.inc 2005-05-25 18:37:33.623225006 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcsetf.inc ./geant321/gcsetf.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcsetf.inc 2007-11-19 11:08:06.602149701 -0500 -+++ ./geant321/gcsetf.inc 2005-05-25 18:37:33.778858745 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcsets.inc ./geant321/gcsets.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcsets.inc 2007-11-19 11:08:06.329680483 -0500 -+++ ./geant321/gcsets.inc 2005-05-25 18:37:33.320444683 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcshno.inc ./geant321/gcshno.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcshno.inc 2007-11-19 11:08:06.766227104 -0500 -+++ ./geant321/gcshno.inc 2005-05-25 18:37:33.797055187 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcshpt.inc ./geant321/gcshpt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcshpt.inc 2007-11-19 11:08:06.913110833 -0500 -+++ ./geant321/gcshpt.inc 2005-05-25 18:37:33.343440122 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcspee.inc ./geant321/gcspee.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcspee.inc 2007-11-19 11:08:06.673067772 -0500 -+++ ./geant321/gcspee.inc 2005-05-25 18:37:33.890277524 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcstak.inc ./geant321/gcstak.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcstak.inc 2007-11-19 11:08:06.188335627 -0500 -+++ ./geant321/gcstak.inc 2005-05-25 18:37:33.754554897 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcstra.inc ./geant321/gcstra.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcstra.inc 2007-11-19 11:08:06.992275834 -0500 -+++ ./geant321/gcstra.inc 2005-05-25 18:37:33.574871516 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctime.inc ./geant321/gctime.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctime.inc 2007-11-19 11:08:06.105045601 -0500 -+++ ./geant321/gctime.inc 2005-05-25 18:37:33.535730258 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctmed.inc ./geant321/gctmed.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctmed.inc 2007-11-19 11:08:06.853500270 -0500 -+++ ./geant321/gctmed.inc 2005-05-25 18:37:33.693870506 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctrak.inc ./geant321/gctrak.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gctrak.inc 2007-11-19 11:08:06.657871145 -0500 -+++ ./geant321/gctrak.inc 2005-05-25 18:37:33.816548945 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcunit.inc ./geant321/gcunit.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcunit.inc 2007-11-19 11:08:06.966947202 -0500 -+++ ./geant321/gcunit.inc 2005-05-25 18:37:33.458938480 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcursb.inc ./geant321/gcursb.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcursb.inc 2007-11-19 11:08:06.529335739 -0500 -+++ ./geant321/gcursb.inc 2005-05-25 18:37:33.037042574 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvdma.inc ./geant321/gcvdma.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvdma.inc 2007-11-19 11:08:06.967788175 -0500 -+++ ./geant321/gcvdma.inc 2005-05-25 18:37:33.501865738 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvol1.inc ./geant321/gcvol1.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvol1.inc 2007-11-19 11:08:06.448125773 -0500 -+++ ./geant321/gcvol1.inc 2005-05-25 18:37:33.043812521 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvol2.inc ./geant321/gcvol2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvol2.inc 2007-11-19 11:08:06.088762253 -0500 -+++ ./geant321/gcvol2.inc 2005-05-25 18:37:33.579380976 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvolu.inc ./geant321/gcvolu.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcvolu.inc 2007-11-19 11:08:06.817337957 -0500 -+++ ./geant321/gcvolu.inc 2005-05-25 18:37:33.581798951 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcxlun.inc ./geant321/gcxlun.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gcxlun.inc 2007-11-19 11:08:06.388702285 -0500 -+++ ./geant321/gcxlun.inc 2005-05-25 18:37:33.379886010 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gfkdis.inc ./geant321/gfkdis.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gfkdis.inc 2007-11-19 11:08:06.511739696 -0500 -+++ ./geant321/gfkdis.inc 2005-05-25 18:37:33.398224636 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gsecti.inc ./geant321/gsecti.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gsecti.inc 2007-11-19 11:08:06.409620963 -0500 -+++ ./geant321/gsecti.inc 2005-05-25 18:37:33.158242370 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtasho.inc ./geant321/gtasho.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtasho.inc 2007-11-19 11:08:06.998927434 -0500 -+++ ./geant321/gtasho.inc 2005-05-25 18:37:33.354893610 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtbank.inc ./geant321/gtbank.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtbank.inc 2007-11-19 11:08:06.850818830 -0500 -+++ ./geant321/gtbank.inc 2005-05-25 18:37:33.701523548 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcons.inc ./geant321/gtcons.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcons.inc 2007-11-19 11:08:06.329870994 -0500 -+++ ./geant321/gtcons.inc 2005-05-25 18:37:33.627151972 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcurs.inc ./geant321/gtcurs.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcurs.inc 2007-11-19 11:08:06.995102279 -0500 -+++ ./geant321/gtcurs.inc 2005-05-25 18:37:33.645952020 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcuts.inc ./geant321/gtcuts.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtcuts.inc 2007-11-19 11:08:06.352734459 -0500 -+++ ./geant321/gtcuts.inc 2007-05-18 15:33:43.199224088 -0400 -@@ -1,7 +1,12 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.2 2007/03/31 13:48:01 brun -+* From Andrea Fontana and Alberto Rotondi -+* Added one extra parameter (GCALPHA) to the COMMON GCCUTS to drive the -+* Urban/Landau models in the ERLAND routine. -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -@@ -23,7 +28,7 @@ - * - #if !defined(CERNLIB_INCLUDE) - REAL CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM -- + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS,GCALPHA -+ + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS - C - #endif - -Only in ./geant321: gtcuts.inc~ -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtdraw.inc ./geant321/gtdraw.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtdraw.inc 2007-11-19 11:08:06.612661870 -0500 -+++ ./geant321/gtdraw.inc 2005-05-25 18:37:33.726138860 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtfdim.inc ./geant321/gtfdim.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtfdim.inc 2007-11-19 11:08:06.434919511 -0500 -+++ ./geant321/gtfdim.inc 2005-05-25 18:37:34.374563610 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtflag.inc ./geant321/gtflag.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtflag.inc 2007-11-19 11:08:06.197187225 -0500 -+++ ./geant321/gtflag.inc 2005-05-25 18:37:34.049532935 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthil2.inc ./geant321/gthil2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthil2.inc 2007-11-19 11:08:06.827293983 -0500 -+++ ./geant321/gthil2.inc 2005-05-25 18:37:34.114781173 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthiln.inc ./geant321/gthiln.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthiln.inc 2007-11-19 11:08:06.280997719 -0500 -+++ ./geant321/gthiln.inc 2005-05-25 18:37:34.421502583 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthvir.inc ./geant321/gthvir.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gthvir.inc 2007-11-19 11:08:06.446618664 -0500 -+++ ./geant321/gthvir.inc 2005-05-25 18:37:34.062196230 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtjump.inc ./geant321/gtjump.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtjump.inc 2007-11-19 11:08:06.159331764 -0500 -+++ ./geant321/gtjump.inc 2005-05-25 18:37:34.479064607 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/12/02 16:37:45 brun -+* Changes from Federico Carminati and Peter Hristov who ported the system -+* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -+* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtkine.inc ./geant321/gtkine.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtkine.inc 2007-11-19 11:08:06.108266272 -0500 -+++ ./geant321/gtkine.inc 2005-05-25 18:37:34.300885603 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtlink.inc ./geant321/gtlink.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtlink.inc 2007-11-19 11:08:06.428519836 -0500 -+++ ./geant321/gtlink.inc 2005-05-25 18:37:34.554183661 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtlist.inc ./geant321/gtlist.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtlist.inc 2007-11-19 11:08:06.982244430 -0500 -+++ ./geant321/gtlist.inc 2005-05-25 18:37:34.751137090 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtmore.inc ./geant321/gtmore.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtmore.inc 2007-11-19 11:08:06.417293293 -0500 -+++ ./geant321/gtmore.inc 2007-05-18 15:38:06.651982644 -0400 -@@ -8,8 +8,8 @@ - #if !defined(CERNLIB_INCLUDE) - REAL GCALPHA - INTEGER ICLOSE -- REAL PFINAL(3),DSTRT,WIRE1(3),WIRE2(3) -- REAL P1(3),P2(3),P3(3) -+ REAL PFINAL,DSTRT,WIRE1,WIRE2 -+ REAL P1,P2,P3 - C - #endif - -Only in ./geant321: gtmore.inc~ -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtmutr.inc ./geant321/gtmutr.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtmutr.inc 2007-11-19 11:08:06.926793367 -0500 -+++ ./geant321/gtmutr.inc 2005-05-25 18:37:34.839249775 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtnum.inc ./geant321/gtnum.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtnum.inc 2007-11-19 11:08:06.262710584 -0500 -+++ ./geant321/gtnum.inc 2005-05-25 18:37:34.488967483 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtopti.inc ./geant321/gtopti.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtopti.inc 2007-11-19 11:08:06.078260800 -0500 -+++ ./geant321/gtopti.inc 2005-05-25 18:37:34.373788429 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtpara.inc ./geant321/gtpara.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtpara.inc 2007-11-19 11:08:06.945462391 -0500 -+++ ./geant321/gtpara.inc 2005-05-25 18:37:34.068989335 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtparm.inc ./geant321/gtparm.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtparm.inc 2007-11-19 11:08:06.123487815 -0500 -+++ ./geant321/gtparm.inc 2005-05-25 18:37:34.110426409 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtphys.inc ./geant321/gtphys.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtphys.inc 2007-11-19 11:08:06.848902773 -0500 -+++ ./geant321/gtphys.inc 2005-05-25 18:37:34.906747388 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtpixe.inc ./geant321/gtpixe.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtpixe.inc 2007-11-19 11:08:06.688745324 -0500 -+++ ./geant321/gtpixe.inc 2005-05-25 18:37:34.075076012 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtrayt.inc ./geant321/gtrayt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtrayt.inc 2007-11-19 11:08:06.977692235 -0500 -+++ ./geant321/gtrayt.inc 2005-05-25 18:37:34.996655838 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtscal.inc ./geant321/gtscal.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtscal.inc 2007-11-19 11:08:06.441246484 -0500 -+++ ./geant321/gtscal.inc 2005-05-25 18:37:34.388440234 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtscan.inc ./geant321/gtscan.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtscan.inc 2007-11-19 11:08:06.887496570 -0500 -+++ ./geant321/gtscan.inc 2005-05-25 18:37:34.029099333 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtsets.inc ./geant321/gtsets.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtsets.inc 2007-11-19 11:08:06.897506579 -0500 -+++ ./geant321/gtsets.inc 2005-05-25 18:37:34.670573455 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtspee.inc ./geant321/gtspee.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtspee.inc 2007-11-19 11:08:06.006260762 -0500 -+++ ./geant321/gtspee.inc 2005-05-25 18:37:34.901315473 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtstak.inc ./geant321/gtstak.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtstak.inc 2007-11-19 11:08:06.643461526 -0500 -+++ ./geant321/gtstak.inc 2005-05-25 18:37:34.525845171 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gttmed.inc ./geant321/gttmed.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gttmed.inc 2007-11-19 11:08:06.336060938 -0500 -+++ ./geant321/gttmed.inc 2005-05-25 18:37:34.645061066 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gttrak.inc ./geant321/gttrak.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gttrak.inc 2007-11-19 11:08:06.441808796 -0500 -+++ ./geant321/gttrak.inc 2005-05-25 18:37:34.676224043 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtursb.inc ./geant321/gtursb.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtursb.inc 2007-11-19 11:08:06.598752985 -0500 -+++ ./geant321/gtursb.inc 2005-05-25 18:37:34.504700177 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvdma.inc ./geant321/gtvdma.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvdma.inc 2007-11-19 11:08:06.294518944 -0500 -+++ ./geant321/gtvdma.inc 2005-05-25 18:37:34.831269205 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvol1.inc ./geant321/gtvol1.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvol1.inc 2007-11-19 11:08:06.021426572 -0500 -+++ ./geant321/gtvol1.inc 2005-05-25 18:37:34.107216696 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvolu.inc ./geant321/gtvolu.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gtvolu.inc 2007-11-19 11:08:06.165338396 -0500 -+++ ./geant321/gtvolu.inc 2005-05-25 18:37:34.745804829 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gversc.inc ./geant321/gversc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/gversc.inc 2007-11-19 11:08:06.686450186 -0500 -+++ ./geant321/gversc.inc 2005-05-25 18:37:34.000843675 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hadflg.inc ./geant321/hadflg.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hadflg.inc 2007-11-19 11:08:06.018773282 -0500 -+++ ./geant321/hadflg.inc 2005-05-25 18:37:34.159414248 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hadpar.inc ./geant321/hadpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hadpar.inc 2007-11-19 11:08:06.161987651 -0500 -+++ ./geant321/hadpar.inc 2005-05-25 18:37:34.024017837 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hetc5.inc ./geant321/hetc5.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hetc5.inc 2007-11-19 11:08:06.297354055 -0500 -+++ ./geant321/hetc5.inc 2005-05-25 18:37:34.482861307 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hetc7.inc ./geant321/hetc7.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hetc7.inc 2007-11-19 11:08:06.063460254 -0500 -+++ ./geant321/hetc7.inc 2005-05-25 18:37:34.550306145 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hettp.inc ./geant321/hettp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/hettp.inc 2007-11-19 11:08:06.241355091 -0500 -+++ ./geant321/hettp.inc 2005-05-25 18:37:34.599275665 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/higfis.inc ./geant321/higfis.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/higfis.inc 2007-11-19 11:08:06.057668195 -0500 -+++ ./geant321/higfis.inc 2005-05-25 18:37:34.083980403 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/incdek.inc ./geant321/incdek.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/incdek.inc 2007-11-19 11:08:06.030373347 -0500 -+++ ./geant321/incdek.inc 2005-05-25 18:37:34.830603393 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpdat2.inc ./geant321/inpdat2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpdat2.inc 2007-11-19 11:08:06.775342480 -0500 -+++ ./geant321/inpdat2.inc 2005-05-25 18:37:34.100793178 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpdat.inc ./geant321/inpdat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpdat.inc 2007-11-19 11:08:06.083713483 -0500 -+++ ./geant321/inpdat.inc 2005-05-25 18:37:34.145796333 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpflg.inc ./geant321/inpflg.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/inpflg.inc 2007-11-19 11:08:06.640231310 -0500 -+++ ./geant321/inpflg.inc 2005-05-25 18:37:34.185846177 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/iounit.inc ./geant321/iounit.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/iounit.inc 2007-11-19 11:08:06.723950602 -0500 -+++ ./geant321/iounit.inc 2005-05-25 18:37:34.812391803 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/isotop.inc ./geant321/isotop.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/isotop.inc 2007-11-19 11:08:06.825944841 -0500 -+++ ./geant321/isotop.inc 2005-05-25 18:37:34.282786256 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/labcos.inc ./geant321/labcos.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/labcos.inc 2007-11-19 11:08:06.232089594 -0500 -+++ ./geant321/labcos.inc 2005-05-25 18:37:34.640571962 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/limits.inc ./geant321/limits.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/limits.inc 2007-11-19 11:08:06.300671858 -0500 -+++ ./geant321/limits.inc 2005-05-25 18:37:34.203673958 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ludat1.inc ./geant321/ludat1.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ludat1.inc 2007-11-19 11:08:06.057782007 -0500 -+++ ./geant321/ludat1.inc 2005-05-25 18:37:34.938203769 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ludat3.inc ./geant321/ludat3.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/ludat3.inc 2007-11-19 11:08:06.319994957 -0500 -+++ ./geant321/ludat3.inc 2005-05-25 18:37:34.691724519 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/lujets.inc ./geant321/lujets.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/lujets.inc 2007-11-19 11:08:06.626541894 -0500 -+++ ./geant321/lujets.inc 2005-05-25 18:37:34.701910585 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapa.inc ./geant321/mapa.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapa.inc 2007-11-19 11:08:06.533996369 -0500 -+++ ./geant321/mapa.inc 2005-05-25 18:37:34.518921122 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapat.inc ./geant321/mapat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapat.inc 2007-11-19 11:08:06.960764202 -0500 -+++ ./geant321/mapat.inc 2005-05-25 18:37:34.747041041 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapoll.inc ./geant321/mapoll.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mapoll.inc 2007-11-19 11:08:06.865977198 -0500 -+++ ./geant321/mapoll.inc 2005-05-25 18:37:34.357628454 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mconst.inc ./geant321/mconst.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mconst.inc 2007-11-19 11:08:06.964719575 -0500 -+++ ./geant321/mconst.inc 2005-05-25 18:37:34.514908822 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mcreco.inc ./geant321/mcreco.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mcreco.inc 2007-11-19 11:08:06.098373550 -0500 -+++ ./geant321/mcreco.inc 2005-05-25 18:37:34.483648720 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mcross.inc ./geant321/mcross.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mcross.inc 2007-11-19 11:08:06.775248179 -0500 -+++ ./geant321/mcross.inc 2005-05-25 18:37:34.894833334 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/metlsp.inc ./geant321/metlsp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/metlsp.inc 2007-11-19 11:08:06.883434391 -0500 -+++ ./geant321/metlsp.inc 2005-05-25 18:37:34.523390360 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mgamma.inc ./geant321/mgamma.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mgamma.inc 2007-11-19 11:08:06.764263593 -0500 -+++ ./geant321/mgamma.inc 2005-05-25 18:37:34.041708171 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/minput.inc ./geant321/minput.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/minput.inc 2007-11-19 11:08:06.120012932 -0500 -+++ ./geant321/minput.inc 2005-05-25 18:37:34.926463629 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmass.inc ./geant321/mmass.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmass.inc 2007-11-19 11:08:06.115115372 -0500 -+++ ./geant321/mmass.inc 2005-05-25 18:37:34.189186358 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmicab.inc ./geant321/mmicab.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmicab.inc 2007-11-19 11:08:06.255033249 -0500 -+++ ./geant321/mmicab.inc 2005-05-25 18:37:34.196443711 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmicap.inc ./geant321/mmicap.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mmicap.inc 2007-11-19 11:08:06.297085561 -0500 -+++ ./geant321/mmicap.inc 2005-05-25 18:37:34.166749859 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mnutrn.inc ./geant321/mnutrn.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mnutrn.inc 2007-11-19 11:08:06.815589729 -0500 -+++ ./geant321/mnutrn.inc 2005-05-25 18:37:34.883309116 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mparam.inc ./geant321/mparam.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mparam.inc 2007-11-19 11:08:06.355120849 -0500 -+++ ./geant321/mparam.inc 2005-05-25 18:37:34.185015511 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mpoint.inc ./geant321/mpoint.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mpoint.inc 2007-11-19 11:08:06.845075603 -0500 -+++ ./geant321/mpoint.inc 2005-05-25 18:37:34.962290951 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mpstor.inc ./geant321/mpstor.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mpstor.inc 2007-11-19 11:08:06.060860214 -0500 -+++ ./geant321/mpstor.inc 2005-05-25 18:37:34.685349825 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mrecoi.inc ./geant321/mrecoi.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mrecoi.inc 2007-11-19 11:08:06.743295509 -0500 -+++ ./geant321/mrecoi.inc 2005-05-25 18:37:34.374811571 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mupsca.inc ./geant321/mupsca.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mupsca.inc 2007-11-19 11:08:06.283433443 -0500 -+++ ./geant321/mupsca.inc 2005-05-25 18:37:34.207659482 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mxgkgh.inc ./geant321/mxgkgh.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/mxgkgh.inc 2007-11-19 11:08:06.999860833 -0500 -+++ ./geant321/mxgkgh.inc 2005-05-25 18:37:34.582098554 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucdat.inc ./geant321/nucdat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucdat.inc 2007-11-19 11:08:06.939701917 -0500 -+++ ./geant321/nucdat.inc 2005-05-25 18:37:34.665348670 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucgeo.inc ./geant321/nucgeo.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucgeo.inc 2007-11-19 11:08:06.837536774 -0500 -+++ ./geant321/nucgeo.inc 2005-05-25 18:37:34.166972641 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nuciod.inc ./geant321/nuciod.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nuciod.inc 2007-11-19 11:08:06.813025380 -0500 -+++ ./geant321/nuciod.inc 2005-05-25 18:37:34.465285301 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nuclev.inc ./geant321/nuclev.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nuclev.inc 2007-11-19 11:08:06.592688101 -0500 -+++ ./geant321/nuclev.inc 2005-05-25 18:37:34.607460776 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucpar.inc ./geant321/nucpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucpar.inc 2007-11-19 11:08:06.980276177 -0500 -+++ ./geant321/nucpar.inc 2005-05-25 18:37:34.059274778 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucstf.inc ./geant321/nucstf.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/nucstf.inc 2007-11-19 11:08:06.889085320 -0500 -+++ ./geant321/nucstf.inc 2005-05-25 18:37:34.222081617 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/paprop.inc ./geant321/paprop.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/paprop.inc 2007-11-19 11:08:06.575269908 -0500 -+++ ./geant321/paprop.inc 2005-05-25 18:37:34.706263315 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/papropt.inc ./geant321/papropt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/papropt.inc 2007-11-19 11:08:06.301632337 -0500 -+++ ./geant321/papropt.inc 2005-05-25 18:37:34.919404228 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/parevt.inc ./geant321/parevt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/parevt.inc 2007-11-19 11:08:06.817449228 -0500 -+++ ./geant321/parevt.inc 2005-05-25 18:37:34.650272849 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/parnuc.inc ./geant321/parnuc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/parnuc.inc 2007-11-19 11:08:06.196222447 -0500 -+++ ./geant321/parnuc.inc 2005-05-25 18:37:34.452294373 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part2.inc ./geant321/part2.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part2.inc 2007-11-19 11:08:06.911747482 -0500 -+++ ./geant321/part2.inc 2005-05-25 18:37:34.060323051 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part2t.inc ./geant321/part2t.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part2t.inc 2007-11-19 11:08:06.703787421 -0500 -+++ ./geant321/part2t.inc 2005-05-25 18:37:34.188760435 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part3.inc ./geant321/part3.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part3.inc 2007-11-19 11:08:06.875184085 -0500 -+++ ./geant321/part3.inc 2005-05-25 18:37:34.277342733 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part.inc ./geant321/part.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/part.inc 2007-11-19 11:08:06.199996467 -0500 -+++ ./geant321/part.inc 2005-05-25 18:37:34.120809540 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/partt.inc ./geant321/partt.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/partt.inc 2007-11-19 11:08:06.383542635 -0500 -+++ ./geant321/partt.inc 2005-05-25 18:37:34.095203858 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pawc.inc ./geant321/pawc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pawc.inc 2007-11-19 11:08:06.446768281 -0500 -+++ ./geant321/pawc.inc 2005-05-25 18:37:34.966419028 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pawct.inc ./geant321/pawct.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pawct.inc 2007-11-19 11:08:06.550071780 -0500 -+++ ./geant321/pawct.inc 2005-05-25 18:37:34.398104548 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pcodat.inc ./geant321/pcodat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pcodat.inc 2007-11-19 11:08:06.741823898 -0500 -+++ ./geant321/pcodat.inc 2005-05-25 18:37:34.972528123 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pcodim.inc ./geant321/pcodim.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/pcodim.inc 2007-11-19 11:08:06.559086416 -0500 -+++ ./geant321/pcodim.inc 2005-05-25 18:37:34.580975201 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/qquark.inc ./geant321/qquark.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/qquark.inc 2007-11-19 11:08:06.466330315 -0500 -+++ ./geant321/qquark.inc 2005-05-25 18:37:34.347852615 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/reac.inc ./geant321/reac.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/reac.inc 2007-11-19 11:08:06.102638776 -0500 -+++ ./geant321/reac.inc 2005-05-25 18:37:34.175724328 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/redver.inc ./geant321/redver.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/redver.inc 2007-11-19 11:08:06.149288132 -0500 -+++ ./geant321/redver.inc 2005-05-25 18:37:34.922402110 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/resnuc.inc ./geant321/resnuc.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/resnuc.inc 2007-11-19 11:08:06.700540542 -0500 -+++ ./geant321/resnuc.inc 2005-05-25 18:37:34.198072590 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_blank.inc ./geant321/s_blank.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_blank.inc 2007-11-19 11:08:06.905328907 -0500 -+++ ./geant321/s_blank.inc 2005-05-25 18:37:34.649794757 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_blankp.inc ./geant321/s_blankp.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_blankp.inc 2007-11-19 11:08:06.612795414 -0500 -+++ ./geant321/s_blankp.inc 2005-05-25 18:37:34.142525034 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_consts.inc ./geant321/s_consts.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_consts.inc 2007-11-19 11:08:06.189514011 -0500 -+++ ./geant321/s_consts.inc 2005-05-25 18:37:34.856737816 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_coscom.inc ./geant321/s_coscom.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_coscom.inc 2007-11-19 11:08:06.499279602 -0500 -+++ ./geant321/s_coscom.inc 2005-05-25 18:37:34.807022834 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_csdat.inc ./geant321/s_csdat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_csdat.inc 2007-11-19 11:08:06.642105721 -0500 -+++ ./geant321/s_csdat.inc 2005-05-25 18:37:34.990642830 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_csdim.inc ./geant321/s_csdim.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_csdim.inc 2007-11-19 11:08:06.983226304 -0500 -+++ ./geant321/s_csdim.inc 2005-05-25 18:37:34.594442110 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_curpar.inc ./geant321/s_curpar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_curpar.inc 2007-11-19 11:08:06.400728157 -0500 -+++ ./geant321/s_curpar.inc 2005-05-25 18:37:34.966545680 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_defcom.inc ./geant321/s_defcom.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_defcom.inc 2007-11-19 11:08:06.621025160 -0500 -+++ ./geant321/s_defcom.inc 2005-05-25 18:37:34.195496772 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_errcom.inc ./geant321/s_errcom.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_errcom.inc 2007-11-19 11:08:06.451134516 -0500 -+++ ./geant321/s_errcom.inc 2005-05-25 18:37:34.480818890 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_event.inc ./geant321/s_event.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_event.inc 2007-11-19 11:08:06.381884131 -0500 -+++ ./geant321/s_event.inc 2005-05-25 18:37:34.535654737 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_genio.inc ./geant321/s_genio.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_genio.inc 2007-11-19 11:08:06.160661395 -0500 -+++ ./geant321/s_genio.inc 2005-05-25 18:37:34.938579651 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_kginit.inc ./geant321/s_kginit.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_kginit.inc 2007-11-19 11:08:06.227632522 -0500 -+++ ./geant321/s_kginit.inc 2005-05-25 18:37:34.984646764 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_mat.inc ./geant321/s_mat.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_mat.inc 2007-11-19 11:08:06.093634958 -0500 -+++ ./geant321/s_mat.inc 2005-05-25 18:37:34.244174571 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_nucio.inc ./geant321/s_nucio.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_nucio.inc 2007-11-19 11:08:06.263951744 -0500 -+++ ./geant321/s_nucio.inc 2005-05-25 18:37:34.294285615 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/split.inc ./geant321/split.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/split.inc 2007-11-19 11:08:06.110429563 -0500 -+++ ./geant321/split.inc 2005-05-25 18:37:34.232576101 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_prntfl.inc ./geant321/s_prntfl.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_prntfl.inc 2007-11-19 11:08:06.561377480 -0500 -+++ ./geant321/s_prntfl.inc 2005-05-25 18:37:34.819557373 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_result.inc ./geant321/s_result.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/s_result.inc 2007-11-19 11:08:06.332403362 -0500 -+++ ./geant321/s_result.inc 2005-05-25 18:37:34.161431480 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/trcom3.inc ./geant321/trcom3.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/trcom3.inc 2007-11-19 11:08:06.304528318 -0500 -+++ ./geant321/trcom3.inc 2005-05-25 18:37:34.492166921 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/xsepar.inc ./geant321/xsepar.inc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geant321/xsepar.inc 2007-11-19 11:08:06.926419379 -0500 -+++ ./geant321/xsepar.inc 2005-05-25 18:37:34.257086288 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in .: geant3.diff.050708 -Only in ./geocad: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gboset.F ./geocad/gboset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gboset.F 2007-11-19 11:08:06.978482071 -0500 -+++ ./geocad/gboset.F 2005-05-25 18:37:34.292558653 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gckmat.F ./geocad/gckmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gckmat.F 2007-11-19 11:08:06.021610595 -0500 -+++ ./geocad/gckmat.F 2005-05-25 18:37:35.980611323 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:55 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gckpar.F ./geocad/gckpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gckpar.F 2007-11-19 11:08:06.748361558 -0500 -+++ ./geocad/gckpar.F 2005-05-25 18:37:35.136379221 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gcoset.F ./geocad/gcoset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gcoset.F 2007-11-19 11:08:06.866911661 -0500 -+++ ./geocad/gcoset.F 2005-05-25 18:37:35.364604504 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gcsetc.F ./geocad/gcsetc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gcsetc.F 2007-11-19 11:08:06.837620551 -0500 -+++ ./geocad/gcsetc.F 2005-05-25 18:37:35.174671461 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gctset.F ./geocad/gctset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gctset.F 2007-11-19 11:08:06.367350905 -0500 -+++ ./geocad/gctset.F 2005-05-25 18:37:35.280550062 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gdexca.F ./geocad/gdexca.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gdexca.F 2007-11-19 11:08:06.546397187 -0500 -+++ ./geocad/gdexca.F 2005-05-25 18:37:35.463750325 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gelset.F ./geocad/gelset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gelset.F 2007-11-19 11:08:06.033134281 -0500 -+++ ./geocad/gelset.F 2005-05-25 18:37:35.391946136 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/genset.F ./geocad/genset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/genset.F 2007-11-19 11:08:06.353420510 -0500 -+++ ./geocad/genset.F 2005-05-25 18:37:35.596207326 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/getshp.F ./geocad/getshp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/getshp.F 2007-11-19 11:08:06.278589124 -0500 -+++ ./geocad/getshp.F 2005-05-25 18:37:35.526576761 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gjwrit.F ./geocad/gjwrit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gjwrit.F 2007-11-19 11:08:06.319486406 -0500 -+++ ./geocad/gjwrit.F 2005-05-25 18:37:35.382938627 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpaset.F ./geocad/gpaset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpaset.F 2007-11-19 11:08:06.259898023 -0500 -+++ ./geocad/gpaset.F 2005-05-25 18:37:35.945914622 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpcset.F ./geocad/gpcset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpcset.F 2007-11-19 11:08:06.462677801 -0500 -+++ ./geocad/gpcset.F 2005-05-25 18:37:35.530347716 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpgset.F ./geocad/gpgset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gpgset.F 2007-11-19 11:08:06.897842179 -0500 -+++ ./geocad/gpgset.F 2005-05-25 18:37:35.683024678 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gposi.F ./geocad/gposi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gposi.F 2007-11-19 11:08:06.803191712 -0500 -+++ ./geocad/gposi.F 2005-05-25 18:37:35.665483107 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gptset.F ./geocad/gptset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gptset.F 2007-11-19 11:08:06.181196696 -0500 -+++ ./geocad/gptset.F 2005-05-25 18:37:35.088401073 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/greucl.F ./geocad/greucl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/greucl.F 2007-11-19 11:08:06.597435934 -0500 -+++ ./geocad/greucl.F 2005-05-25 18:37:35.537762771 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gspset.F ./geocad/gspset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gspset.F 2007-11-19 11:08:06.395014751 -0500 -+++ ./geocad/gspset.F 2005-05-25 18:37:35.058315485 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gstmat.F ./geocad/gstmat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gstmat.F 2007-11-19 11:08:06.169815296 -0500 -+++ ./geocad/gstmat.F 2005-05-25 18:37:35.798833651 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gstset.F ./geocad/gstset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gstset.F 2007-11-19 11:08:06.118652675 -0500 -+++ ./geocad/gstset.F 2005-05-25 18:37:35.055883326 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrase.F ./geocad/gtrase.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrase.F 2007-11-19 11:08:06.070686256 -0500 -+++ ./geocad/gtrase.F 2005-05-25 18:37:35.389522099 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrdse.F ./geocad/gtrdse.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrdse.F 2007-11-19 11:08:06.230447069 -0500 -+++ ./geocad/gtrdse.F 2005-05-25 18:37:35.079353264 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrset.F ./geocad/gtrset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtrset.F 2007-11-19 11:08:06.048672120 -0500 -+++ ./geocad/gtrset.F 2005-05-25 18:37:35.021680713 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtuset.F ./geocad/gtuset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtuset.F 2007-11-19 11:08:06.623754512 -0500 -+++ ./geocad/gtuset.F 2005-05-25 18:37:35.201796543 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtxset.F ./geocad/gtxset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gtxset.F 2007-11-19 11:08:06.815694526 -0500 -+++ ./geocad/gtxset.F 2005-05-25 18:37:35.589237364 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gweucl.F ./geocad/gweucl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gweucl.F 2007-11-19 11:08:06.863435829 -0500 -+++ ./geocad/gweucl.F 2005-05-25 18:37:35.269792632 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2004/06/17 13:58:28 rdm -+* modified some old style FORMAT statements that were confusing the latest -+* version of the Intel Fortran compiler. -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gwrtre.F ./geocad/gwrtre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/gwrtre.F 2007-11-19 11:08:06.334207371 -0500 -+++ ./geocad/gwrtre.F 2005-05-25 18:37:35.135699371 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/history.F ./geocad/history.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/history.F 2007-11-19 11:08:06.276410737 -0500 -+++ ./geocad/history.F 2005-05-25 18:37:35.304549701 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/readme.F ./geocad/readme.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad/readme.F 2007-11-19 11:08:06.832764934 -0500 -+++ ./geocad/readme.F 2005-05-25 18:37:35.336924453 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/geocad: .svn -Only in ./ggeom: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gbstat.F ./ggeom/gbstat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gbstat.F 2007-11-19 11:08:06.762295555 -0500 -+++ ./ggeom/gbstat.F 2005-05-25 18:37:35.682000214 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gcent.F ./ggeom/gcent.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gcent.F 2007-11-19 11:08:06.101811470 -0500 -+++ ./ggeom/gcent.F 2005-05-25 18:37:35.400752797 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gdtom.F ./ggeom/gdtom.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gdtom.F 2007-11-19 11:08:06.747532212 -0500 -+++ ./ggeom/gdtom.F 2005-05-25 18:37:35.429260349 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfatt.F ./ggeom/gfatt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfatt.F 2007-11-19 11:08:06.211679954 -0500 -+++ ./ggeom/gfatt.F 2005-05-25 18:37:35.783439210 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfclim.F ./ggeom/gfclim.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfclim.F 2007-11-19 11:08:06.866427601 -0500 -+++ ./ggeom/gfclim.F 2005-05-25 18:37:35.063814554 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcoor.F ./ggeom/gfcoor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcoor.F 2007-11-19 11:08:06.171373318 -0500 -+++ ./ggeom/gfcoor.F 2005-05-25 18:37:35.323267833 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcord.F ./ggeom/gfcord.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcord.F 2007-11-19 11:08:06.354401227 -0500 -+++ ./ggeom/gfcord.F 2005-05-25 18:37:35.069946840 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcvol.F ./ggeom/gfcvol.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfcvol.F 2007-11-19 11:08:06.503347292 -0500 -+++ ./ggeom/gfcvol.F 2005-05-25 18:37:35.598364325 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfipar.F ./ggeom/gfipar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfipar.F 2007-11-19 11:08:06.518759805 -0500 -+++ ./ggeom/gfipar.F 2005-05-25 18:37:35.223705284 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflcar.F ./ggeom/gflcar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflcar.F 2007-11-19 11:08:06.069784138 -0500 -+++ ./ggeom/gflcar.F 2005-05-25 18:37:35.494060151 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflphi.F ./ggeom/gflphi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflphi.F 2007-11-19 11:08:06.422103625 -0500 -+++ ./ggeom/gflphi.F 2005-05-25 18:37:35.552291368 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflrad.F ./ggeom/gflrad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflrad.F 2007-11-19 11:08:06.336232083 -0500 -+++ ./ggeom/gflrad.F 2005-05-25 18:37:35.279233095 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflthe.F ./ggeom/gflthe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gflthe.F 2007-11-19 11:08:06.749968301 -0500 -+++ ./ggeom/gflthe.F 2005-05-25 18:37:35.983336904 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfmoth.F ./ggeom/gfmoth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfmoth.F 2007-11-19 11:08:06.707225494 -0500 -+++ ./ggeom/gfmoth.F 2005-05-25 18:37:35.617110069 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfpara.F ./ggeom/gfpara.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfpara.F 2007-11-19 11:08:06.143459560 -0500 -+++ ./ggeom/gfpara.F 2005-05-25 18:37:35.772978999 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfstat.F ./ggeom/gfstat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfstat.F 2007-11-19 11:08:06.171169963 -0500 -+++ ./ggeom/gfstat.F 2005-05-25 18:37:35.303758346 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfupar.F ./ggeom/gfupar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfupar.F 2007-11-19 11:08:06.414054170 -0500 -+++ ./ggeom/gfupar.F 2005-05-25 18:37:35.433507724 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfvolu.F ./ggeom/gfvolu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gfvolu.F 2007-11-19 11:08:06.416701421 -0500 -+++ ./ggeom/gfvolu.F 2005-05-25 18:37:35.654503815 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggcave.F ./ggeom/ggcave.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggcave.F 2007-11-19 11:08:06.158464734 -0500 -+++ ./ggeom/ggcave.F 2005-05-25 18:37:35.951653194 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdpar.F ./ggeom/ggdpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdpar.F 2007-11-19 11:08:06.018744202 -0500 -+++ ./ggeom/ggdpar.F 2005-05-25 18:37:35.216411802 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdspe.F ./ggeom/ggdspe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdspe.F 2007-11-19 11:08:06.362879586 -0500 -+++ ./ggeom/ggdspe.F 2005-05-25 18:37:35.088396317 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/07/26 11:00:07 rdm -+* Correct initialization of ORIG for shapes TUBE, TUBS, CONE, CONS, PGON, -+* PCON and IAXIS=2. By Andreas. -+* - * Revision 1.1.1.1 1999/05/18 15:55:17 fca - * AliRoot sources - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdvlp.F ./ggeom/ggdvlp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggdvlp.F 2007-11-19 11:08:06.843380710 -0500 -+++ ./ggeom/ggdvlp.F 2005-05-25 18:37:35.932104187 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggeom.doc ./ggeom/ggeom.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggeom.doc 2007-10-04 19:45:50.848400579 -0400 -+++ ./ggeom/ggeom.doc 2005-05-25 18:37:35.021549884 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggnlev.F ./ggeom/ggnlev.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggnlev.F 2007-11-19 11:08:06.216651800 -0500 -+++ ./ggeom/ggnlev.F 2005-05-25 18:37:35.681473300 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/12/02 16:37:45 brun -+* Changes from Federico Carminati and Peter Hristov who ported the system -+* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -+* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggord.F ./ggeom/ggord.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggord.F 2007-11-19 11:08:06.830400899 -0500 -+++ ./ggeom/ggord.F 2005-05-25 18:37:35.281668370 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2002/12/02 16:37:45 brun -+* Changes from Federico Carminati and Peter Hristov who ported the system -+* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -+* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggordq.F ./ggeom/ggordq.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggordq.F 2007-11-19 11:08:06.052428757 -0500 -+++ ./ggeom/ggordq.F 2005-05-25 18:37:35.583844117 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggperp.F ./ggeom/ggperp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggperp.F 2007-11-19 11:08:06.151652952 -0500 -+++ ./ggeom/ggperp.F 2005-05-25 18:37:35.701574862 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggperp.F.ori ./ggeom/ggperp.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggperp.F.ori 2007-10-04 19:45:50.112299389 -0400 -+++ ./ggeom/ggperp.F.ori 2005-05-25 18:37:35.286282038 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:38 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggppar.F ./ggeom/ggppar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggppar.F 2007-11-19 11:08:06.469838215 -0500 -+++ ./ggeom/ggppar.F 2005-05-25 18:37:35.830304402 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggppar.F.ori ./ggeom/ggppar.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggppar.F.ori 2007-10-04 19:45:50.454891799 -0400 -+++ ./ggeom/ggppar.F.ori 2005-05-25 18:37:35.210891635 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggvchk.F ./ggeom/ggvchk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ggvchk.F 2007-11-19 11:08:06.235297203 -0500 -+++ ./ggeom/ggvchk.F 2005-05-25 18:37:36.357838619 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginctu.F ./ggeom/ginctu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginctu.F 2007-11-19 11:08:06.627582078 -0500 -+++ ./ggeom/ginctu.F 2005-05-25 18:37:36.909365148 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gingtr.F ./ggeom/gingtr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gingtr.F 2007-11-19 11:08:06.770129027 -0500 -+++ ./ggeom/gingtr.F 2005-05-25 18:37:36.288466422 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginme.F ./ggeom/ginme.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginme.F 2007-11-19 11:08:06.716458847 -0500 -+++ ./ggeom/ginme.F 2005-05-25 18:37:36.249441196 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpar.F ./ggeom/ginpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpar.F 2007-11-19 11:08:06.082816131 -0500 -+++ ./ggeom/ginpar.F 2005-05-25 18:37:36.525983685 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpco.F ./ggeom/ginpco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpco.F 2007-11-19 11:08:06.751288766 -0500 -+++ ./ggeom/ginpco.F 2005-05-25 18:37:36.049687550 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpgo.F ./ggeom/ginpgo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginpgo.F 2007-11-19 11:08:06.782331142 -0500 -+++ ./ggeom/ginpgo.F 2005-05-25 18:37:36.090454008 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginrot.F ./ggeom/ginrot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/ginrot.F 2007-11-19 11:08:06.183919149 -0500 -+++ ./ggeom/ginrot.F 2005-05-25 18:37:36.366681860 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gintco.F ./ggeom/gintco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gintco.F 2007-11-19 11:08:06.136215684 -0500 -+++ ./ggeom/gintco.F 2005-05-25 18:37:36.797798863 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gintrp.F ./ggeom/gintrp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gintrp.F 2007-11-19 11:08:06.986905399 -0500 -+++ ./ggeom/gintrp.F 2005-05-25 18:37:36.066068459 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gitran.F ./ggeom/gitran.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gitran.F 2007-11-19 11:08:06.054122959 -0500 -+++ ./ggeom/gitran.F 2005-05-25 18:37:36.753458193 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/glmoth.F ./ggeom/glmoth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/glmoth.F 2007-11-19 11:08:06.490056560 -0500 -+++ ./ggeom/glmoth.F 2005-05-25 18:37:36.736960306 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/glvolu.F ./ggeom/glvolu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/glvolu.F 2007-11-19 11:08:06.017745714 -0500 -+++ ./ggeom/glvolu.F 2005-05-25 18:37:36.417605115 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedi2.F ./ggeom/gmedi2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedi2.F 2007-11-19 11:08:06.078211770 -0500 -+++ ./ggeom/gmedi2.F 2005-05-25 18:37:36.722678044 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedia.F ./ggeom/gmedia.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedia.F 2007-11-19 11:08:06.867228063 -0500 -+++ ./ggeom/gmedia.F 2005-05-25 18:37:36.930553196 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedia.F.ori ./ggeom/gmedia.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedia.F.ori 2007-10-04 19:45:50.450721268 -0400 -+++ ./ggeom/gmedia.F.ori 2005-05-25 18:37:36.067355490 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedin.F ./ggeom/gmedin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmedin.F 2007-11-19 11:08:06.549669014 -0500 -+++ ./ggeom/gmedin.F 2005-05-25 18:37:36.512081654 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmediv.F ./ggeom/gmediv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmediv.F 2007-11-19 11:08:06.746428502 -0500 -+++ ./ggeom/gmediv.F 2005-05-25 18:37:36.591659871 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmepos.F ./ggeom/gmepos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmepos.F 2007-11-19 11:08:06.744370952 -0500 -+++ ./ggeom/gmepos.F 2005-05-25 18:37:36.587436630 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmtod.F ./ggeom/gmtod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gmtod.F 2007-11-19 11:08:06.918153407 -0500 -+++ ./ggeom/gmtod.F 2005-05-25 18:37:36.339374101 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnbox.F ./ggeom/gnbox.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnbox.F 2007-11-19 11:08:06.888442299 -0500 -+++ ./ggeom/gnbox.F 2005-05-25 18:37:36.560604639 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gncone.F ./ggeom/gncone.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gncone.F 2007-11-19 11:08:06.422488748 -0500 -+++ ./ggeom/gncone.F 2005-05-25 18:37:36.848675754 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnctub.F ./ggeom/gnctub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnctub.F 2007-11-19 11:08:06.154862073 -0500 -+++ ./ggeom/gnctub.F 2005-05-25 18:37:36.041651793 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gneltu.F ./ggeom/gneltu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gneltu.F 2007-11-19 11:08:06.846930196 -0500 -+++ ./ggeom/gneltu.F 2005-05-25 18:37:36.806997950 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnex2.F ./ggeom/gnex2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnex2.F 2007-11-19 11:08:06.490664087 -0500 -+++ ./ggeom/gnex2.F 2005-05-25 18:37:36.276258486 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnext.F ./ggeom/gnext.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnext.F 2007-11-19 11:08:06.903764559 -0500 -+++ ./ggeom/gnext.F 2005-05-25 18:37:36.560920106 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnhype.F ./ggeom/gnhype.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnhype.F 2007-11-19 11:08:06.314430567 -0500 -+++ ./ggeom/gnhype.F 2005-05-25 18:37:36.754905985 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnobox.F ./ggeom/gnobox.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnobox.F 2007-11-19 11:08:06.725560908 -0500 -+++ ./ggeom/gnobox.F 2005-05-25 18:37:36.742258299 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnocon.F ./ggeom/gnocon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnocon.F 2007-11-19 11:08:06.982164706 -0500 -+++ ./ggeom/gnocon.F 2005-05-25 18:37:36.748656967 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnoctu.F ./ggeom/gnoctu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnoctu.F 2007-11-19 11:08:06.860604941 -0500 -+++ ./ggeom/gnoctu.F 2005-05-25 18:37:36.276243148 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnoelt.F ./ggeom/gnoelt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnoelt.F 2007-11-19 11:08:06.328136716 -0500 -+++ ./ggeom/gnoelt.F 2005-05-25 18:37:36.128134625 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnohyp.F ./ggeom/gnohyp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnohyp.F 2007-11-19 11:08:06.145458769 -0500 -+++ ./ggeom/gnohyp.F 2005-05-25 18:37:36.561408498 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopar.F ./ggeom/gnopar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopar.F 2007-11-19 11:08:06.510231225 -0500 -+++ ./ggeom/gnopar.F 2005-05-25 18:37:36.281522508 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopco.F ./ggeom/gnopco.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopco.F 2007-11-19 11:08:06.746004717 -0500 -+++ ./ggeom/gnopco.F 2005-05-25 18:37:36.166415728 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopg1.F ./ggeom/gnopg1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopg1.F 2007-11-19 11:08:06.899419869 -0500 -+++ ./ggeom/gnopg1.F 2005-05-25 18:37:36.821233460 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopgo.F ./ggeom/gnopgo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnopgo.F 2007-11-19 11:08:06.195226812 -0500 -+++ ./ggeom/gnopgo.F 2005-05-25 18:37:36.942840609 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnosph.F ./ggeom/gnosph.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnosph.F 2007-11-19 11:08:06.600810788 -0500 -+++ ./ggeom/gnosph.F 2005-05-25 18:37:36.086228750 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr1.F ./ggeom/gnotr1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr1.F 2007-11-19 11:08:06.745056146 -0500 -+++ ./ggeom/gnotr1.F 2005-05-25 18:37:36.250522386 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr2.F ./ggeom/gnotr2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr2.F 2007-11-19 11:08:06.271423227 -0500 -+++ ./ggeom/gnotr2.F 2005-05-25 18:37:36.211287581 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr9.F ./ggeom/gnotr9.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotr9.F 2007-11-19 11:08:06.931767747 -0500 -+++ ./ggeom/gnotr9.F 2005-05-25 18:37:36.650609358 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotra.F ./ggeom/gnotra.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotra.F 2007-11-19 11:08:06.145596075 -0500 -+++ ./ggeom/gnotra.F 2005-05-25 18:37:36.260269452 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotrp.F ./ggeom/gnotrp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotrp.F 2007-11-19 11:08:06.732840195 -0500 -+++ ./ggeom/gnotrp.F 2005-05-25 18:37:36.822163569 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotub.F ./ggeom/gnotub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnotub.F 2007-11-19 11:08:06.552099064 -0500 -+++ ./ggeom/gnotub.F 2005-05-25 18:37:36.520156031 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpara.F ./ggeom/gnpara.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpara.F 2007-11-19 11:08:06.804074547 -0500 -+++ ./ggeom/gnpara.F 2005-05-25 18:37:36.979800577 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpcon.F ./ggeom/gnpcon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpcon.F 2007-11-19 11:08:06.233503849 -0500 -+++ ./ggeom/gnpcon.F 2005-05-25 18:37:36.757531236 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpgo1.F ./ggeom/gnpgo1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpgo1.F 2007-11-19 11:08:06.963389973 -0500 -+++ ./ggeom/gnpgo1.F 2005-05-25 18:37:36.587606091 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpgon.F ./ggeom/gnpgon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnpgon.F 2007-11-19 11:08:06.746895670 -0500 -+++ ./ggeom/gnpgon.F 2005-05-25 18:37:36.270882621 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnsphr.F ./ggeom/gnsphr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gnsphr.F 2007-11-19 11:08:06.338074451 -0500 -+++ ./ggeom/gnsphr.F 2005-05-25 18:37:36.671844378 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntrap.F ./ggeom/gntrap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntrap.F 2007-11-19 11:08:06.928618015 -0500 -+++ ./ggeom/gntrap.F 2005-05-25 18:37:36.690521329 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntrp.F ./ggeom/gntrp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntrp.F 2007-11-19 11:08:06.572552508 -0500 -+++ ./ggeom/gntrp.F 2005-05-25 18:37:36.489746287 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntube.F ./ggeom/gntube.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gntube.F 2007-11-19 11:08:06.720977528 -0500 -+++ ./ggeom/gntube.F 2005-05-25 18:37:36.454664742 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gprotm.F ./ggeom/gprotm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gprotm.F 2007-11-19 11:08:06.985864073 -0500 -+++ ./ggeom/gprotm.F 2005-05-25 18:37:36.333315471 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gprotx.F ./ggeom/gprotx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gprotx.F 2007-11-19 11:08:06.733953176 -0500 -+++ ./ggeom/gprotx.F 2005-05-25 18:37:36.241877547 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpstat.F ./ggeom/gpstat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpstat.F 2007-11-19 11:08:06.063753002 -0500 -+++ ./ggeom/gpstat.F 2005-05-25 18:37:36.946410468 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpvolu.F ./ggeom/gpvolu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpvolu.F 2007-11-19 11:08:06.196577209 -0500 -+++ ./ggeom/gpvolu.F 2005-05-25 18:37:36.887071973 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpvolx.F ./ggeom/gpvolx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gpvolx.F 2007-11-19 11:08:06.890678964 -0500 -+++ ./ggeom/gpvolx.F 2005-05-25 18:37:36.070140153 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grmtd.F ./ggeom/grmtd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grmtd.F 2007-11-19 11:08:06.993141522 -0500 -+++ ./ggeom/grmtd.F 2005-05-25 18:37:36.539107114 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grmul.F ./ggeom/grmul.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grmul.F 2007-11-19 11:08:06.626441240 -0500 -+++ ./ggeom/grmul.F 2005-05-25 18:37:36.754384490 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grot.F ./ggeom/grot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grot.F 2007-11-19 11:08:06.930009962 -0500 -+++ ./ggeom/grot.F 2005-05-25 18:37:36.771384188 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grpar.F ./ggeom/grpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/grpar.F 2007-11-19 11:08:06.451133380 -0500 -+++ ./ggeom/grpar.F 2005-05-25 18:37:36.887829629 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsagtr.F ./ggeom/gsagtr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsagtr.F 2007-11-19 11:08:06.720128598 -0500 -+++ ./ggeom/gsagtr.F 2005-05-25 18:37:36.017837087 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsaphi.F ./ggeom/gsaphi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsaphi.F 2007-11-19 11:08:06.559891452 -0500 -+++ ./ggeom/gsaphi.F 2005-05-25 18:37:36.426152849 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsatt.F ./ggeom/gsatt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsatt.F 2007-11-19 11:08:06.009365149 -0500 -+++ ./ggeom/gsatt.F 2005-05-25 18:37:36.811982040 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gschk.F ./ggeom/gschk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gschk.F 2007-11-19 11:08:06.947456645 -0500 -+++ ./ggeom/gschk.F 2005-05-25 18:37:36.824530812 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gscvol.F ./ggeom/gscvol.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gscvol.F 2007-11-19 11:08:06.004822088 -0500 -+++ ./ggeom/gscvol.F 2005-05-25 18:37:36.463783445 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvn2.F ./ggeom/gsdvn2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvn2.F 2007-11-19 11:08:06.632544482 -0500 -+++ ./ggeom/gsdvn2.F 2005-05-25 18:37:36.906750889 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvn.F ./ggeom/gsdvn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvn.F 2007-11-19 11:08:06.510994943 -0500 -+++ ./ggeom/gsdvn.F 2005-05-25 18:37:36.084045979 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvs2.F ./ggeom/gsdvs2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvs2.F 2007-11-19 11:08:06.069198234 -0500 -+++ ./ggeom/gsdvs2.F 2005-05-25 18:37:36.471722051 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvs.F ./ggeom/gsdvs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvs.F 2007-11-19 11:08:06.227906969 -0500 -+++ ./ggeom/gsdvs.F 2005-05-25 18:37:36.066744480 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvt2.F ./ggeom/gsdvt2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvt2.F 2007-11-19 11:08:06.615358067 -0500 -+++ ./ggeom/gsdvt2.F 2005-05-25 18:37:36.951470666 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvt.F ./ggeom/gsdvt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvt.F 2007-11-19 11:08:06.860108333 -0500 -+++ ./ggeom/gsdvt.F 2005-05-25 18:37:36.747850274 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvx.F ./ggeom/gsdvx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsdvx.F 2007-11-19 11:08:06.194102396 -0500 -+++ ./ggeom/gsdvx.F 2005-05-25 18:37:36.875529886 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsipar.F ./ggeom/gsipar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsipar.F 2007-11-19 11:08:06.892358660 -0500 -+++ ./ggeom/gsipar.F 2005-05-25 18:37:36.178488035 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsnear.F ./ggeom/gsnear.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsnear.F 2007-11-19 11:08:06.983338801 -0500 -+++ ./ggeom/gsnear.F 2005-05-25 18:37:36.936118240 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsnext.F ./ggeom/gsnext.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsnext.F 2007-11-19 11:08:06.391920292 -0500 -+++ ./ggeom/gsnext.F 2005-05-25 18:37:36.317314739 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsngtr.F ./ggeom/gsngtr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsngtr.F 2007-11-19 11:08:06.001386003 -0500 -+++ ./ggeom/gsngtr.F 2005-05-25 18:37:36.379173767 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsord.F ./ggeom/gsord.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsord.F 2007-11-19 11:08:06.533441689 -0500 -+++ ./ggeom/gsord.F 2005-05-25 18:37:36.802834563 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gspos.F ./ggeom/gspos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gspos.F 2007-11-19 11:08:06.558441245 -0500 -+++ ./ggeom/gspos.F 2005-05-25 18:37:36.169033373 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsposp.F ./ggeom/gsposp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsposp.F 2007-11-19 11:08:06.635775586 -0500 -+++ ./ggeom/gsposp.F 2005-05-25 18:37:36.095252771 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsrotm.F ./ggeom/gsrotm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsrotm.F 2007-11-19 11:08:06.760632717 -0500 -+++ ./ggeom/gsrotm.F 2005-05-25 18:37:36.698046424 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsunea.F ./ggeom/gsunea.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsunea.F 2007-11-19 11:08:06.244473849 -0500 -+++ ./ggeom/gsunea.F 2005-05-25 18:37:36.976387623 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsvolu.F ./ggeom/gsvolu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gsvolu.F 2007-11-19 11:08:06.066305802 -0500 -+++ ./ggeom/gsvolu.F 2005-05-25 18:37:36.481187652 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrain.F ./ggeom/gtrain.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrain.F 2007-11-19 11:08:06.698014163 -0500 -+++ ./ggeom/gtrain.F 2005-05-25 18:37:36.745814091 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrmul.F ./ggeom/gtrmul.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrmul.F 2007-11-19 11:08:06.559294856 -0500 -+++ ./ggeom/gtrmul.F 2005-05-25 18:37:36.770804375 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrnsf.F ./ggeom/gtrnsf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gtrnsf.F 2007-11-19 11:08:06.541301742 -0500 -+++ ./ggeom/gtrnsf.F 2005-05-25 18:37:36.348191855 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdcar.F ./ggeom/gvdcar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdcar.F 2007-11-19 11:08:06.840278422 -0500 -+++ ./ggeom/gvdcar.F 2005-05-25 18:37:36.780786491 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdlim.F ./ggeom/gvdlim.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdlim.F 2007-11-19 11:08:06.942674046 -0500 -+++ ./ggeom/gvdlim.F 2005-05-25 18:37:36.985131839 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdphi.F ./ggeom/gvdphi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdphi.F 2007-11-19 11:08:06.096617089 -0500 -+++ ./ggeom/gvdphi.F 2005-05-25 18:37:36.569237183 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdrad.F ./ggeom/gvdrad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdrad.F 2007-11-19 11:08:06.804510556 -0500 -+++ ./ggeom/gvdrad.F 2005-05-25 18:37:36.502927185 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdthe.F ./ggeom/gvdthe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvdthe.F 2007-11-19 11:08:06.642299929 -0500 -+++ ./ggeom/gvdthe.F 2005-05-25 18:37:36.258949676 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvgrad.F ./ggeom/gvgrad.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvgrad.F 2007-11-19 11:08:06.738255255 -0500 -+++ ./ggeom/gvgrad.F 2005-05-25 18:37:36.992099383 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvlong.F ./ggeom/gvlong.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvlong.F 2007-11-19 11:08:06.412204726 -0500 -+++ ./ggeom/gvlong.F 2005-05-25 18:37:36.652989057 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvpsqr.F ./ggeom/gvpsqr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvpsqr.F 2007-11-19 11:08:06.803613375 -0500 -+++ ./ggeom/gvpsqr.F 2005-05-25 18:37:36.011890384 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvsafe.F ./ggeom/gvsafe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvsafe.F 2007-11-19 11:08:06.699818752 -0500 -+++ ./ggeom/gvsafe.F 2005-05-25 18:37:36.766913478 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvsign.F ./ggeom/gvsign.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom/gvsign.F 2007-11-19 11:08:06.118248297 -0500 -+++ ./ggeom/gvsign.F 2005-05-25 18:37:36.409526417 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ggeom: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/add.F ./gheisha/add.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/add.F 2007-11-19 11:08:06.518630030 -0500 -+++ ./gheisha/add.F 2005-05-25 18:37:36.163843811 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/ang.F ./gheisha/ang.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/ang.F 2007-11-19 11:08:06.948096954 -0500 -+++ ./gheisha/ang.F 2005-05-25 18:37:36.562571918 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/atomas.F ./gheisha/atomas.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/atomas.F 2007-11-19 11:08:06.995602922 -0500 -+++ ./gheisha/atomas.F 2005-05-25 18:37:36.061540505 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/captur.F ./gheisha/captur.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/captur.F 2007-11-19 11:08:06.400114180 -0500 -+++ ./gheisha/captur.F 2005-05-25 18:37:36.317794435 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casal0.F ./gheisha/casal0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casal0.F 2007-11-19 11:08:06.084934609 -0500 -+++ ./gheisha/casal0.F 2005-05-25 18:37:36.285696932 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casaom.F ./gheisha/casaom.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casaom.F 2007-11-19 11:08:06.895503496 -0500 -+++ ./gheisha/casaom.F 2005-05-25 18:37:36.496791182 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casasm.F ./gheisha/casasm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casasm.F 2007-11-19 11:08:06.946470131 -0500 -+++ ./gheisha/casasm.F 2005-05-25 18:37:36.855373806 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casasp.F ./gheisha/casasp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casasp.F 2007-11-19 11:08:06.911874500 -0500 -+++ ./gheisha/casasp.F 2005-05-25 18:37:36.515581236 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casax0.F ./gheisha/casax0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casax0.F 2007-11-19 11:08:06.442215263 -0500 -+++ ./gheisha/casax0.F 2005-05-25 18:37:36.559654468 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casaxm.F ./gheisha/casaxm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casaxm.F 2007-11-19 11:08:06.537826781 -0500 -+++ ./gheisha/casaxm.F 2005-05-25 18:37:36.689189291 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casfrg.F ./gheisha/casfrg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casfrg.F 2007-11-19 11:08:06.366029793 -0500 -+++ ./gheisha/casfrg.F 2005-05-25 18:37:36.125297336 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cask0b.F ./gheisha/cask0b.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cask0b.F 2007-11-19 11:08:06.064107966 -0500 -+++ ./gheisha/cask0b.F 2005-05-25 18:37:36.851641827 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cask0.F ./gheisha/cask0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cask0.F 2007-11-19 11:08:06.121197786 -0500 -+++ ./gheisha/cask0.F 2005-05-25 18:37:36.470391323 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caskm.F ./gheisha/caskm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caskm.F 2007-11-19 11:08:06.399389474 -0500 -+++ ./gheisha/caskm.F 2005-05-25 18:37:36.639766746 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caskp.F ./gheisha/caskp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caskp.F 2007-11-19 11:08:06.472173143 -0500 -+++ ./gheisha/caskp.F 2005-05-25 18:37:36.251617066 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casl0.F ./gheisha/casl0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casl0.F 2007-11-19 11:08:06.751379325 -0500 -+++ ./gheisha/casl0.F 2005-05-25 18:37:36.671809500 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casnb.F ./gheisha/casnb.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casnb.F 2007-11-19 11:08:06.031247470 -0500 -+++ ./gheisha/casnb.F 2005-05-25 18:37:36.134813404 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casn.F ./gheisha/casn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casn.F 2007-11-19 11:08:06.419150162 -0500 -+++ ./gheisha/casn.F 2005-05-25 18:37:36.539611972 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casom.F ./gheisha/casom.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casom.F 2007-11-19 11:08:06.569974600 -0500 -+++ ./gheisha/casom.F 2005-05-25 18:37:36.568910488 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspb.F ./gheisha/caspb.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspb.F 2007-11-19 11:08:06.865135931 -0500 -+++ ./gheisha/caspb.F 2005-05-25 18:37:36.477613068 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casp.F ./gheisha/casp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casp.F 2007-11-19 11:08:06.015864786 -0500 -+++ ./gheisha/casp.F 2005-05-25 18:37:36.756013113 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspim.F ./gheisha/caspim.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspim.F 2007-11-19 11:08:06.735357650 -0500 -+++ ./gheisha/caspim.F 2005-05-25 18:37:36.557579002 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.2 2002/07/10 09:45:00 morsch - * Gheisha corrections suggested by Gary Bower (FNAL). - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspip.F ./gheisha/caspip.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/caspip.F 2007-11-19 11:08:06.213614605 -0500 -+++ ./gheisha/caspip.F 2005-05-25 18:37:37.642973308 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.2 2002/07/10 09:45:00 morsch - * Gheisha corrections suggested by Gary Bower (FNAL). - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cassm.F ./gheisha/cassm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cassm.F 2007-11-19 11:08:06.193669485 -0500 -+++ ./gheisha/cassm.F 2005-05-25 18:37:37.939365293 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cassp.F ./gheisha/cassp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cassp.F 2007-11-19 11:08:06.272613533 -0500 -+++ ./gheisha/cassp.F 2005-05-25 18:37:37.312029190 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casx0.F ./gheisha/casx0.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casx0.F 2007-11-19 11:08:06.576024496 -0500 -+++ ./gheisha/casx0.F 2005-05-25 18:37:37.168804217 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casxm.F ./gheisha/casxm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/casxm.F 2007-11-19 11:08:06.253358925 -0500 -+++ ./gheisha/casxm.F 2005-05-25 18:37:37.576839094 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cinema.F ./gheisha/cinema.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cinema.F 2007-11-19 11:08:06.405322954 -0500 -+++ ./gheisha/cinema.F 2005-05-25 18:37:37.212838973 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/coranh.F ./gheisha/coranh.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/coranh.F 2007-11-19 11:08:06.953480353 -0500 -+++ ./gheisha/coranh.F 2005-05-25 18:37:37.723027112 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.2 2002/07/10 09:45:00 morsch - * Gheisha corrections suggested by Gary Bower (FNAL). - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/coscat.F ./gheisha/coscat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/coscat.F 2007-11-19 11:08:06.911955960 -0500 -+++ ./gheisha/coscat.F 2005-05-25 18:37:37.127533996 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cross3.F ./gheisha/cross3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/cross3.F 2007-11-19 11:08:06.013274861 -0500 -+++ ./gheisha/cross3.F 2005-05-25 18:37:37.050183561 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -Only in ./gheisha: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/defs1.F ./gheisha/defs1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/defs1.F 2007-11-19 11:08:06.298789788 -0500 -+++ ./gheisha/defs1.F 2005-05-25 18:37:37.870075149 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/defs.F ./gheisha/defs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/defs.F 2007-11-19 11:08:06.804093576 -0500 -+++ ./gheisha/defs.F 2005-05-25 18:37:37.240827067 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dlpnuc.F ./gheisha/dlpnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dlpnuc.F 2007-11-19 11:08:06.305178971 -0500 -+++ ./gheisha/dlpnuc.F 2005-05-25 18:37:37.567135168 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dlpsor.F ./gheisha/dlpsor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dlpsor.F 2007-11-19 11:08:06.200440258 -0500 -+++ ./gheisha/dlpsor.F 2005-05-25 18:37:37.766741270 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dotes2.F ./gheisha/dotes2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dotes2.F 2007-11-19 11:08:06.982268061 -0500 -+++ ./gheisha/dotes2.F 2005-05-25 18:37:37.536063047 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dotnuc.F ./gheisha/dotnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dotnuc.F 2007-11-19 11:08:06.462533407 -0500 -+++ ./gheisha/dotnuc.F 2005-05-25 18:37:37.811730942 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dpdnuc.F ./gheisha/dpdnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/dpdnuc.F 2007-11-19 11:08:06.439252519 -0500 -+++ ./gheisha/dpdnuc.F 2005-05-25 18:37:37.925837902 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/exnu.F ./gheisha/exnu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/exnu.F 2007-11-19 11:08:06.935179531 -0500 -+++ ./gheisha/exnu.F 2005-05-25 18:37:37.529810267 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fctcos.F ./gheisha/fctcos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fctcos.F 2007-11-19 11:08:06.175494965 -0500 -+++ ./gheisha/fctcos.F 2005-05-25 18:37:37.022457282 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fermi.F ./gheisha/fermi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fermi.F 2007-11-19 11:08:06.938692291 -0500 -+++ ./gheisha/fermi.F 2005-05-25 18:37:37.417037360 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fissio.F ./gheisha/fissio.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/fissio.F 2007-11-19 11:08:06.491382492 -0500 -+++ ./gheisha/fissio.F 2005-05-25 18:37:37.947202477 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/gdpdk.F ./gheisha/gdpdk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/gdpdk.F 2007-11-19 11:08:06.874283517 -0500 -+++ ./gheisha/gdpdk.F 2005-05-25 18:37:37.810406964 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:39 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/genxpt.F ./gheisha/genxpt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/genxpt.F 2007-11-19 11:08:06.163124338 -0500 -+++ ./gheisha/genxpt.F 2005-05-25 18:37:37.511200095 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/gpdk.F ./gheisha/gpdk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/gpdk.F 2007-11-19 11:08:06.808167474 -0500 -+++ ./gheisha/gpdk.F 2005-05-25 18:37:37.592694669 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/kmabs.F ./gheisha/kmabs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/kmabs.F 2007-11-19 11:08:06.090838181 -0500 -+++ ./gheisha/kmabs.F 2005-05-25 18:37:37.336169497 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/length.F ./gheisha/length.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/length.F 2007-11-19 11:08:06.971991092 -0500 -+++ ./gheisha/length.F 2005-05-25 18:37:37.854843277 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/lor.F ./gheisha/lor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/lor.F 2007-11-19 11:08:06.324521726 -0500 -+++ ./gheisha/lor.F 2005-05-25 18:37:37.057541761 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nbanh.F ./gheisha/nbanh.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nbanh.F 2007-11-19 11:08:06.282919272 -0500 -+++ ./gheisha/nbanh.F 2005-05-25 18:37:37.788506172 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nfac.F ./gheisha/nfac.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nfac.F 2007-11-19 11:08:06.553269134 -0500 -+++ ./gheisha/nfac.F 2005-05-25 18:37:37.752357757 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/normal.F ./gheisha/normal.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/normal.F 2007-11-19 11:08:06.143589469 -0500 -+++ ./gheisha/normal.F 2005-05-25 18:37:37.119300213 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nucrec.F ./gheisha/nucrec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/nucrec.F 2007-11-19 11:08:06.499299943 -0500 -+++ ./gheisha/nucrec.F 2005-05-25 18:37:37.710541210 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pbanh.F ./gheisha/pbanh.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pbanh.F 2007-11-19 11:08:06.840657727 -0500 -+++ ./gheisha/pbanh.F 2005-05-25 18:37:37.100998266 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/phasp.F ./gheisha/phasp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/phasp.F 2007-11-19 11:08:06.903671380 -0500 -+++ ./gheisha/phasp.F 2005-05-25 18:37:37.381017423 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/phpnuc.F ./gheisha/phpnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/phpnuc.F 2007-11-19 11:08:06.646893680 -0500 -+++ ./gheisha/phpnuc.F 2005-05-25 18:37:37.191954750 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pimabs.F ./gheisha/pimabs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pimabs.F 2007-11-19 11:08:06.946969877 -0500 -+++ ./gheisha/pimabs.F 2005-05-25 18:37:37.799475310 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pmltpc.F ./gheisha/pmltpc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/pmltpc.F 2007-11-19 11:08:06.619437715 -0500 -+++ ./gheisha/pmltpc.F 2005-05-25 18:37:37.306612915 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/poisso.F ./gheisha/poisso.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/poisso.F 2007-11-19 11:08:06.038893385 -0500 -+++ ./gheisha/poisso.F 2005-05-25 18:37:37.360319509 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/ranres.F ./gheisha/ranres.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/ranres.F 2007-11-19 11:08:06.352156558 -0500 -+++ ./gheisha/ranres.F 2005-05-25 18:37:37.093685769 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/rotes2.F ./gheisha/rotes2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/rotes2.F 2007-11-19 11:08:06.494902606 -0500 -+++ ./gheisha/rotes2.F 2005-05-25 18:37:37.668443489 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/rtmi.F ./gheisha/rtmi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/rtmi.F 2007-11-19 11:08:06.794641266 -0500 -+++ ./gheisha/rtmi.F 2005-05-25 18:37:37.974750602 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/selfab.F ./gheisha/selfab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/selfab.F 2007-11-19 11:08:06.807115202 -0500 -+++ ./gheisha/selfab.F 2005-05-25 18:37:37.899747034 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/setcur.F ./gheisha/setcur.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/setcur.F 2007-11-19 11:08:06.335995997 -0500 -+++ ./gheisha/setcur.F 2005-05-25 18:37:37.745147143 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/settrk.F ./gheisha/settrk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/settrk.F 2007-11-19 11:08:06.688188684 -0500 -+++ ./gheisha/settrk.F 2005-05-25 18:37:37.223199435 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steep.F ./gheisha/steep.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steep.F 2007-11-19 11:08:06.122306267 -0500 -+++ ./gheisha/steep.F 2005-05-25 18:37:37.125717597 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steeq.F ./gheisha/steeq.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steeq.F 2007-11-19 11:08:06.965528822 -0500 -+++ ./gheisha/steeq.F 2005-05-25 18:37:37.492972971 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steer.F ./gheisha/steer.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/steer.F 2007-11-19 11:08:06.851264910 -0500 -+++ ./gheisha/steer.F 2005-05-25 18:37:37.892636048 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/stees.F ./gheisha/stees.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/stees.F 2007-11-19 11:08:06.942635159 -0500 -+++ ./gheisha/stees.F 2005-05-25 18:37:37.840819436 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/stpair.F ./gheisha/stpair.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/stpair.F 2007-11-19 11:08:06.547608535 -0500 -+++ ./gheisha/stpair.F 2005-05-25 18:37:37.821701452 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/sub3.F ./gheisha/sub3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/sub3.F 2007-11-19 11:08:06.510918130 -0500 -+++ ./gheisha/sub3.F 2005-05-25 18:37:37.927910552 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/sub.F ./gheisha/sub.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/sub.F 2007-11-19 11:08:06.660570137 -0500 -+++ ./gheisha/sub.F 2005-05-25 18:37:37.081850575 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/tdelay.F ./gheisha/tdelay.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/tdelay.F 2007-11-19 11:08:06.585617776 -0500 -+++ ./gheisha/tdelay.F 2005-05-25 18:37:37.359562322 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/trac.F ./gheisha/trac.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/trac.F 2007-11-19 11:08:06.465320634 -0500 -+++ ./gheisha/trac.F 2005-05-25 18:37:37.158133181 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/twob.F ./gheisha/twob.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/twob.F 2007-11-19 11:08:06.972470453 -0500 -+++ ./gheisha/twob.F 2005-05-25 18:37:37.887050840 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.2 2002/07/10 09:45:00 morsch - * Gheisha corrections suggested by Gary Bower (FNAL). - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/twoclu.F ./gheisha/twoclu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gheisha/twoclu.F 2007-11-19 11:08:06.216975666 -0500 -+++ ./gheisha/twoclu.F 2005-05-25 18:37:37.504843086 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -Only in ./ghits: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcderr.F ./ghits/gcderr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcderr.F 2007-11-19 11:08:06.139416432 -0500 -+++ ./ghits/gcderr.F 2005-05-25 18:37:37.806411410 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcdrif.F ./ghits/gcdrif.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcdrif.F 2007-11-19 11:08:06.039615672 -0500 -+++ ./ghits/gcdrif.F 2005-05-25 18:37:37.853621573 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcmwpc.F ./ghits/gcmwpc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcmwpc.F 2007-11-19 11:08:06.109614428 -0500 -+++ ./ghits/gcmwpc.F 2005-05-25 18:37:37.492831830 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcubs.F ./ghits/gcubs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gcubs.F 2007-11-19 11:08:06.202548271 -0500 -+++ ./ghits/gcubs.F 2005-05-25 18:37:37.539458787 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdeta.F ./ghits/gfdeta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdeta.F 2007-11-19 11:08:06.596001772 -0500 -+++ ./ghits/gfdeta.F 2005-05-25 18:37:37.513045534 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdetd.F ./ghits/gfdetd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdetd.F 2007-11-19 11:08:06.464289401 -0500 -+++ ./ghits/gfdetd.F 2005-05-25 18:37:37.163675273 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdet.F ./ghits/gfdet.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdet.F 2007-11-19 11:08:06.897197766 -0500 -+++ ./ghits/gfdet.F 2005-05-25 18:37:37.011600685 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdeth.F ./ghits/gfdeth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdeth.F 2007-11-19 11:08:06.531836076 -0500 -+++ ./ghits/gfdeth.F 2005-05-25 18:37:37.064542813 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdetu.F ./ghits/gfdetu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdetu.F 2007-11-19 11:08:06.579666580 -0500 -+++ ./ghits/gfdetu.F 2005-05-25 18:37:37.534190281 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdigi.F ./ghits/gfdigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfdigi.F 2007-11-19 11:08:06.317906955 -0500 -+++ ./ghits/gfdigi.F 2005-05-25 18:37:37.692177249 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfhits.F ./ghits/gfhits.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfhits.F 2007-11-19 11:08:06.864291021 -0500 -+++ ./ghits/gfhits.F 2005-05-25 18:37:37.494936592 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfndig.F ./ghits/gfndig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfndig.F 2007-11-19 11:08:06.130930135 -0500 -+++ ./ghits/gfndig.F 2005-05-25 18:37:37.448597608 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfnhit.F ./ghits/gfnhit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfnhit.F 2007-11-19 11:08:06.879168635 -0500 -+++ ./ghits/gfnhit.F 2005-05-25 18:37:37.015843580 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfpath.F ./ghits/gfpath.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gfpath.F 2007-11-19 11:08:06.561221007 -0500 -+++ ./ghits/gfpath.F 2005-05-25 18:37:37.755527657 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/ggdetv.F ./ghits/ggdetv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/ggdetv.F 2007-11-19 11:08:06.118967259 -0500 -+++ ./ghits/ggdetv.F 2005-05-25 18:37:37.309374974 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/ghits.doc ./ghits/ghits.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/ghits.doc 2007-10-04 19:45:50.809676463 -0400 -+++ ./ghits/ghits.doc 2005-05-25 18:37:37.717987054 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gicyl.F ./ghits/gicyl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gicyl.F 2007-11-19 11:08:06.971536296 -0500 -+++ ./ghits/gicyl.F 2005-05-25 18:37:37.810595590 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/giplan.F ./ghits/giplan.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/giplan.F 2007-11-19 11:08:06.858180892 -0500 -+++ ./ghits/giplan.F 2005-05-25 18:37:37.927427208 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpdigi.F ./ghits/gpdigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpdigi.F 2007-11-19 11:08:06.616061593 -0500 -+++ ./ghits/gpdigi.F 2005-05-25 18:37:37.383349767 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpdrif.F ./ghits/gpdrif.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpdrif.F 2007-11-19 11:08:06.790894870 -0500 -+++ ./ghits/gpdrif.F 2005-05-25 18:37:37.368364364 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gphits.F ./ghits/gphits.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gphits.F 2007-11-19 11:08:06.859824231 -0500 -+++ ./ghits/gphits.F 2005-05-25 18:37:37.435200011 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpmwpc.F ./ghits/gpmwpc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpmwpc.F 2007-11-19 11:08:06.855105758 -0500 -+++ ./ghits/gpmwpc.F 2005-05-25 18:37:37.829191242 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpsets.F ./ghits/gpsets.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gpsets.F 2007-11-19 11:08:06.965728144 -0500 -+++ ./ghits/gpsets.F 2005-05-25 18:37:37.712386926 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/grhits.F ./ghits/grhits.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/grhits.F 2007-11-19 11:08:06.584583714 -0500 -+++ ./ghits/grhits.F 2005-05-25 18:37:37.444421989 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsahit.F ./ghits/gsahit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsahit.F 2007-11-19 11:08:06.908726882 -0500 -+++ ./ghits/gsahit.F 2005-05-25 18:37:37.038245508 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gschit.F ./ghits/gschit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gschit.F 2007-11-19 11:08:06.637782316 -0500 -+++ ./ghits/gschit.F 2005-05-25 18:37:37.029238152 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdeta.F ./ghits/gsdeta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdeta.F 2007-11-19 11:08:06.252876084 -0500 -+++ ./ghits/gsdeta.F 2005-05-25 18:37:37.830148560 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetd.F ./ghits/gsdetd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetd.F 2007-11-19 11:08:06.614718531 -0500 -+++ ./ghits/gsdetd.F 2005-05-25 18:37:37.428145813 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdet.F ./ghits/gsdet.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdet.F 2007-11-19 11:08:06.216312624 -0500 -+++ ./ghits/gsdet.F 2005-05-25 18:37:37.944190794 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdeth.F ./ghits/gsdeth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdeth.F 2007-11-19 11:08:06.311369223 -0500 -+++ ./ghits/gsdeth.F 2005-05-25 18:37:37.851739731 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetu.F ./ghits/gsdetu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetu.F 2007-11-19 11:08:06.085587029 -0500 -+++ ./ghits/gsdetu.F 2005-05-25 18:37:37.195651276 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetv.F ./ghits/gsdetv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdetv.F 2007-11-19 11:08:06.407147591 -0500 -+++ ./ghits/gsdetv.F 2005-05-25 18:37:37.216425238 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdigi.F ./ghits/gsdigi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits/gsdigi.F 2007-11-19 11:08:06.990836721 -0500 -+++ ./ghits/gsdigi.F 2005-05-25 18:37:37.340473345 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghits: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/cohert.F ./ghrout/cohert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/cohert.F 2007-11-19 11:08:06.038784747 -0500 -+++ ./ghrout/cohert.F 2005-05-25 18:37:37.923113028 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -Only in ./ghrout: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/ghepec.F ./ghrout/ghepec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/ghepec.F 2007-11-19 11:08:06.499245430 -0500 -+++ ./ghrout/ghepec.F 2005-05-25 18:37:37.828803321 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/ghetun.F ./ghrout/ghetun.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/ghetun.F 2007-11-19 11:08:06.061835431 -0500 -+++ ./ghrout/ghetun.F 2005-05-25 18:37:37.153397963 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higclu.F ./ghrout/higclu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higclu.F 2007-11-19 11:08:06.506606846 -0500 -+++ ./ghrout/higclu.F 2005-05-25 18:37:37.100515639 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higclu.F.ori ./ghrout/higclu.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higclu.F.ori 2007-10-04 19:45:50.431483541 -0400 -+++ ./ghrout/higclu.F.ori 2005-05-25 18:37:37.532437626 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/highab.F ./ghrout/highab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/highab.F 2007-11-19 11:08:06.860259543 -0500 -+++ ./ghrout/highab.F 2005-05-25 18:37:37.747270726 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higsel.F ./ghrout/higsel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higsel.F 2007-11-19 11:08:06.539031036 -0500 -+++ ./ghrout/higsel.F 2005-05-25 18:37:37.782960553 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higxpt.F ./ghrout/higxpt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/higxpt.F 2007-11-19 11:08:06.641789660 -0500 -+++ ./ghrout/higxpt.F 2005-05-25 18:37:37.577680679 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/sverl2.F ./ghrout/sverl2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/sverl2.F 2007-11-19 11:08:06.716750841 -0500 -+++ ./ghrout/sverl2.F 2005-05-25 18:37:37.821230580 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/svgam7.F ./ghrout/svgam7.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout/svgam7.F 2007-11-19 11:08:06.206516628 -0500 -+++ ./ghrout/svgam7.F 2005-10-27 12:04:04.779568073 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.2 2005/10/27 16:00:51 fisyak -+* *** empty log message *** -+* -+* Revision 1.3 2005/08/16 09:26:54 brun -+* From Peter Hristov: -+* one more change in ghrout/svgam7.F, an additional protection to -+* avoid negative X. -+* - * Revision 1.2 2005/08/11 13:34:26 brun - * From Peter Hristov: - * an additional protection to avoid random numbers exactly equal to 1 or 0. -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghrout: .svn -Only in ./ghutils: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils/minv.F ./ghutils/minv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils/minv.F 2007-11-19 11:08:06.001352733 -0500 -+++ ./ghutils/minv.F 2005-05-25 18:37:37.651770194 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils/pcsdat.F ./ghutils/pcsdat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils/pcsdat.F 2007-11-19 11:08:06.561143405 -0500 -+++ ./ghutils/pcsdat.F 2005-05-25 18:37:37.916147034 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/ghutils: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/compo.F ./giface/compo.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/compo.F 2007-11-19 11:08:06.750375385 -0500 -+++ ./giface/compo.F 2005-05-25 18:37:37.174677496 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in ./giface: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gheini.F ./giface/gheini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gheini.F 2007-11-19 11:08:06.393939229 -0500 -+++ ./giface/gheini.F 2005-05-25 18:37:38.626562701 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gheish.F ./giface/gheish.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gheish.F 2007-11-19 11:08:06.098699037 -0500 -+++ ./giface/gheish.F 2005-05-25 18:37:38.100216338 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/ghesig.F ./giface/ghesig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/ghesig.F 2007-11-19 11:08:06.633732318 -0500 -+++ ./giface/ghesig.F 2005-05-25 18:37:38.318738545 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/ghstop.F ./giface/ghstop.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/ghstop.F 2007-11-19 11:08:06.608355507 -0500 -+++ ./giface/ghstop.F 2005-05-25 18:37:38.879365721 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmunu.F ./giface/gmunu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmunu.F 2007-11-19 11:08:06.341622973 -0500 -+++ ./giface/gmunu.F 2005-05-25 18:37:38.718099588 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmunui.F ./giface/gmunui.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmunui.F 2007-11-19 11:08:06.265364720 -0500 -+++ ./giface/gmunui.F 2005-05-25 18:37:38.493198961 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmusig.F ./giface/gmusig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gmusig.F 2007-11-19 11:08:06.293415343 -0500 -+++ ./giface/gmusig.F 2005-05-25 18:37:38.134635600 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gnslwd.F ./giface/gnslwd.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gnslwd.F 2007-11-19 11:08:06.384733891 -0500 -+++ ./giface/gnslwd.F 2005-05-25 18:37:38.695047051 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpfis.F ./giface/gpfis.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpfis.F 2007-11-19 11:08:06.474884069 -0500 -+++ ./giface/gpfis.F 2005-05-25 18:37:38.969910825 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpfisi.F ./giface/gpfisi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpfisi.F 2007-11-19 11:08:06.489200494 -0500 -+++ ./giface/gpfisi.F 2005-05-25 18:37:38.252748957 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpghei.F ./giface/gpghei.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gpghei.F 2007-11-19 11:08:06.802342178 -0500 -+++ ./giface/gpghei.F 2005-05-25 18:37:38.889876691 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gphmfi.F ./giface/gphmfi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/gphmfi.F 2007-11-19 11:08:06.122104630 -0500 -+++ ./giface/gphmfi.F 2005-05-25 18:37:38.244612248 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/limdat.F ./giface/limdat.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface/limdat.F 2007-11-19 11:08:06.917896572 -0500 -+++ ./giface/limdat.F 2005-05-25 18:37:38.208030105 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giface: .svn -Only in ./giopa: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gclose.F ./giopa/gclose.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gclose.F 2007-11-19 11:08:06.274649841 -0500 -+++ ./giopa/gclose.F 2005-05-25 18:37:38.152800900 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gfin.F ./giopa/gfin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gfin.F 2007-11-19 11:08:06.152134443 -0500 -+++ ./giopa/gfin.F 2005-05-25 18:37:38.391419821 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gfout.F ./giopa/gfout.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gfout.F 2007-11-19 11:08:06.690828795 -0500 -+++ ./giopa/gfout.F 2005-05-25 18:37:38.630998971 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gget.F ./giopa/gget.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gget.F 2007-11-19 11:08:06.148168992 -0500 -+++ ./giopa/gget.F 2005-05-25 18:37:38.238013948 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/giopa.doc ./giopa/giopa.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/giopa.doc 2007-10-04 19:45:50.554745110 -0400 -+++ ./giopa/giopa.doc 2005-05-25 18:37:38.878402080 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gopen.F ./giopa/gopen.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gopen.F 2007-11-19 11:08:06.335568755 -0500 -+++ ./giopa/gopen.F 2005-05-25 18:37:38.950219064 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grend.F ./giopa/grend.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grend.F 2007-11-19 11:08:06.163552977 -0500 -+++ ./giopa/grend.F 2005-05-25 18:37:38.367678275 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grfile.F ./giopa/grfile.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grfile.F 2007-11-19 11:08:06.165908574 -0500 -+++ ./giopa/grfile.F 2005-05-25 18:37:53.274262874 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grget.F ./giopa/grget.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grget.F 2007-11-19 11:08:06.054463528 -0500 -+++ ./giopa/grget.F 2005-05-25 18:37:53.152742918 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grin.F ./giopa/grin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grin.F 2007-11-19 11:08:06.544125472 -0500 -+++ ./giopa/grin.F 2005-05-25 18:37:53.277663020 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grleas.F ./giopa/grleas.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grleas.F 2007-11-19 11:08:06.863642339 -0500 -+++ ./giopa/grleas.F 2005-05-25 18:37:53.685960732 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grmdir.F ./giopa/grmdir.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grmdir.F 2007-11-19 11:08:06.621843426 -0500 -+++ ./giopa/grmdir.F 2005-05-25 18:37:53.402657311 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grout.F ./giopa/grout.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grout.F 2007-11-19 11:08:06.466201865 -0500 -+++ ./giopa/grout.F 2005-05-25 18:37:53.894091856 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grout.F.ori ./giopa/grout.F.ori ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grout.F.ori 2007-10-04 19:45:50.660862983 -0400 -+++ ./giopa/grout.F.ori 2005-05-25 18:37:53.119956054 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grsave.F ./giopa/grsave.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/grsave.F 2007-11-19 11:08:06.801794967 -0500 -+++ ./giopa/grsave.F 2005-05-25 18:37:53.916969128 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gsave.F ./giopa/gsave.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa/gsave.F 2007-11-19 11:08:06.915858450 -0500 -+++ ./giopa/gsave.F 2005-05-25 18:37:53.417608053 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/giopa: .svn -Only in ./gkine: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gfkine.F ./gkine/gfkine.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gfkine.F 2007-11-19 11:08:06.978362235 -0500 -+++ ./gkine/gfkine.F 2005-05-25 18:37:53.320851249 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gfvert.F ./gkine/gfvert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gfvert.F 2007-11-19 11:08:06.467864396 -0500 -+++ ./gkine/gfvert.F 2005-05-25 18:37:53.290364267 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gkine.doc ./gkine/gkine.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gkine.doc 2007-10-04 19:45:50.008839018 -0400 -+++ ./gkine/gkine.doc 2005-05-25 18:37:53.267816634 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gludky.F ./gkine/gludky.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gludky.F 2007-11-19 11:08:06.696700980 -0500 -+++ ./gkine/gludky.F 2005-05-25 18:37:53.547974989 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2005/04/13 14:46:16 brun -+* From Peter Hristov -+* Changes required to run on Solaris -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/glund.F ./gkine/glund.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/glund.F 2007-11-19 11:08:06.279013203 -0500 -+++ ./gkine/glund.F 2005-05-25 18:37:53.942255551 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/glundi.F ./gkine/glundi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/glundi.F 2007-11-19 11:08:06.311376042 -0500 -+++ ./gkine/glundi.F 2005-05-25 18:37:54.324142971 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2005/04/13 14:46:16 brun -+* From Peter Hristov -+* Changes required to run on Solaris -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpkine.F ./gkine/gpkine.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpkine.F 2007-11-19 11:08:06.830681933 -0500 -+++ ./gkine/gpkine.F 2005-05-25 18:37:54.102837346 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpkinx.F ./gkine/gpkinx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpkinx.F 2007-11-19 11:08:06.162552362 -0500 -+++ ./gkine/gpkinx.F 2005-05-25 18:37:54.593810838 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpvert.F ./gkine/gpvert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gpvert.F 2007-11-19 11:08:06.309225657 -0500 -+++ ./gkine/gpvert.F 2005-05-25 18:37:54.995620853 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gskine.F ./gkine/gskine.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gskine.F 2007-11-19 11:08:06.588828706 -0500 -+++ ./gkine/gskine.F 2005-05-25 18:37:54.769513640 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gskinu.F ./gkine/gskinu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gskinu.F 2007-11-19 11:08:06.148729523 -0500 -+++ ./gkine/gskinu.F 2005-05-25 18:37:54.626586169 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gsvert.F ./gkine/gsvert.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gsvert.F 2007-11-19 11:08:06.206799940 -0500 -+++ ./gkine/gsvert.F 2005-05-25 18:37:54.631957793 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gsveru.F ./gkine/gsveru.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gsveru.F 2007-11-19 11:08:06.520506300 -0500 -+++ ./gkine/gsveru.F 2005-05-25 18:37:54.962073477 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:40 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gtau.F ./gkine/gtau.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine/gtau.F 2007-11-19 11:08:06.321224438 -0500 -+++ ./gkine/gtau.F 2005-05-25 18:37:54.849617324 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gkine: .svn -Only in ./gparal: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gparal: .svn -Only in ./gphys: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ganni2.F ./gphys/ganni2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ganni2.F 2007-11-19 11:08:06.893664002 -0500 -+++ ./gphys/ganni2.F 2005-05-25 18:37:54.427743389 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ganni.F ./gphys/ganni.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ganni.F 2007-11-19 11:08:06.701772746 -0500 -+++ ./gphys/ganni.F 2005-05-25 18:37:54.307960850 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gannii.F ./gphys/gannii.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gannii.F 2007-11-19 11:08:06.009323624 -0500 -+++ ./gphys/gannii.F 2005-05-25 18:37:54.257148910 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gannir.F ./gphys/gannir.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gannir.F 2007-11-19 11:08:06.611196824 -0500 -+++ ./gphys/gannir.F 2005-05-25 18:37:54.141279299 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gavrl2.F ./gphys/gavrl2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gavrl2.F 2007-11-19 11:08:06.910531555 -0500 -+++ ./gphys/gavrl2.F 2005-05-25 18:37:54.221479481 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gavrl3.F ./gphys/gavrl3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gavrl3.F 2007-11-19 11:08:06.803611527 -0500 -+++ ./gphys/gavrl3.F 2005-05-25 18:37:54.778611971 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbflos.F ./gphys/gbflos.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbflos.F 2007-11-19 11:08:06.938963949 -0500 -+++ ./gphys/gbflos.F 2005-05-25 18:37:54.250904683 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbfsig.F ./gphys/gbfsig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbfsig.F 2007-11-19 11:08:06.407258772 -0500 -+++ ./gphys/gbfsig.F 2005-05-25 18:37:54.177604877 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbirk.F ./gphys/gbirk.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbirk.F 2007-11-19 11:08:06.054177006 -0500 -+++ ./gphys/gbirk.F 2005-05-25 18:37:54.709060450 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrela.F ./gphys/gbrela.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrela.F 2007-11-19 11:08:06.255388308 -0500 -+++ ./gphys/gbrela.F 2005-05-25 18:37:54.502057909 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrele.F ./gphys/gbrele.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrele.F 2007-11-19 11:08:06.740176380 -0500 -+++ ./gphys/gbrele.F 2005-05-25 18:37:54.370601445 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrelm.F ./gphys/gbrelm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrelm.F 2007-11-19 11:08:06.695660362 -0500 -+++ ./gphys/gbrelm.F 2005-05-25 18:37:54.351601783 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbreme.F ./gphys/gbreme.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbreme.F 2007-11-19 11:08:06.023780790 -0500 -+++ ./gphys/gbreme.F 2005-05-25 18:37:54.251277190 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbremm.F ./gphys/gbremm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbremm.F 2007-11-19 11:08:06.720905091 -0500 -+++ ./gphys/gbremm.F 2005-05-25 18:37:54.273224975 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsga.F ./gphys/gbrsga.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsga.F 2007-11-19 11:08:06.634306122 -0500 -+++ ./gphys/gbrsga.F 2005-05-25 18:37:54.899747579 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsge.F ./gphys/gbrsge.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsge.F 2007-11-19 11:08:06.276246743 -0500 -+++ ./gphys/gbrsge.F 2005-05-25 18:37:54.469609953 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsgm.F ./gphys/gbrsgm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbrsgm.F 2007-11-19 11:08:06.494619424 -0500 -+++ ./gphys/gbrsgm.F 2005-05-25 18:37:54.603665634 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbteth.F ./gphys/gbteth.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gbteth.F 2007-11-19 11:08:06.933946786 -0500 -+++ ./gphys/gbteth.F 2005-05-25 18:37:54.696126139 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcbrem.F ./gphys/gcbrem.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcbrem.F 2007-11-19 11:08:06.803942514 -0500 -+++ ./gphys/gcbrem.F 2005-05-25 18:37:54.749990393 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcoeff.F ./gphys/gcoeff.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcoeff.F 2007-11-19 11:08:06.302331159 -0500 -+++ ./gphys/gcoeff.F 2005-05-25 18:37:54.497804297 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcomp.F ./gphys/gcomp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcomp.F 2007-11-19 11:08:06.436948588 -0500 -+++ ./gphys/gcomp.F 2005-05-25 18:37:54.600735169 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcompi.F ./gphys/gcompi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gcompi.F 2007-11-19 11:08:06.560221647 -0500 -+++ ./gphys/gcompi.F 2005-05-25 18:37:54.757276821 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdeca2.F ./gphys/gdeca2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdeca2.F 2007-11-19 11:08:06.002810234 -0500 -+++ ./gphys/gdeca2.F 2005-05-25 18:37:54.648324915 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdeca3.F ./gphys/gdeca3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdeca3.F 2007-11-19 11:08:06.239686435 -0500 -+++ ./gphys/gdeca3.F 2005-05-25 18:37:54.642030025 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdecay.F ./gphys/gdecay.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdecay.F 2007-11-19 11:08:06.611561598 -0500 -+++ ./gphys/gdecay.F 2005-05-25 18:37:54.554880987 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdray.F ./gphys/gdray.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdray.F 2007-11-19 11:08:06.796678587 -0500 -+++ ./gphys/gdray.F 2005-05-25 18:37:54.620436891 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrela.F ./gphys/gdrela.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrela.F 2007-11-19 11:08:06.800076421 -0500 -+++ ./gphys/gdrela.F 2005-05-25 18:37:54.097270906 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrele.F ./gphys/gdrele.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrele.F 2007-11-19 11:08:06.839703728 -0500 -+++ ./gphys/gdrele.F 2005-05-25 18:37:54.291050305 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdreli.F ./gphys/gdreli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdreli.F 2007-11-19 11:08:06.606934557 -0500 -+++ ./gphys/gdreli.F 2005-05-25 18:37:54.105552814 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelm.F ./gphys/gdrelm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelm.F 2007-11-19 11:08:06.302256744 -0500 -+++ ./gphys/gdrelm.F 2005-05-25 18:37:54.177190489 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelp.F ./gphys/gdrelp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelp.F 2007-11-19 11:08:06.905656387 -0500 -+++ ./gphys/gdrelp.F 2005-05-25 18:37:54.678542626 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelx.F ./gphys/gdrelx.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrelx.F 2007-11-19 11:08:06.269999686 -0500 -+++ ./gphys/gdrelx.F 2005-10-27 12:09:17.385598164 -0400 -@@ -1,7 +1,16 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.2 2005/06/09 00:08:31 fisyak -+* Add GDRELX entry -+* -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -@@ -18,6 +27,9 @@ - #include "geant321/pilot.h" - *CMZ : 3.21/03 06/10/94 18.22.43 by S.Giani - *-- Author : -+ SUBROUTINE GDRELX(A,Z,DENS,T,HMASS,DEDX) -+ call G3DRELX(A,Z,DENS,T,HMASS,DEDX) -+ end - SUBROUTINE G3DRELX(A,Z,DENS,T,HMASS,DEDX) - C. - C. ****************************************************************** -Only in ./gphys: gdrelx.F~ -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrot.F ./gphys/gdrot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrot.F 2007-11-19 11:08:06.145078504 -0500 -+++ ./gphys/gdrot.F 2005-05-25 18:37:54.153035054 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrprt.F ./gphys/gdrprt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrprt.F 2007-11-19 11:08:06.917738536 -0500 -+++ ./gphys/gdrprt.F 2005-05-25 18:37:54.722524062 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrsga.F ./gphys/gdrsga.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gdrsga.F 2007-11-19 11:08:06.288562665 -0500 -+++ ./gphys/gdrsga.F 2005-05-25 18:37:54.242587767 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gefch2.F ./gphys/gefch2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gefch2.F 2007-11-19 11:08:06.446047562 -0500 -+++ ./gphys/gefch2.F 2005-05-25 18:37:54.916520613 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfang.F ./gphys/gfang.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfang.F 2007-11-19 11:08:06.525353982 -0500 -+++ ./gphys/gfang.F 2005-05-25 18:37:54.924329830 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfluct.F ./gphys/gfluct.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfluct.F 2007-11-19 11:08:06.160396956 -0500 -+++ ./gphys/gfluct.F 2005-05-25 18:37:54.783199748 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -@@ -19,6 +25,7 @@ - * - * - #include "geant321/pilot.h" -+*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani - *-- Author : - SUBROUTINE G3FLUCT(DEMEAN,DE) - C. -@@ -70,15 +77,13 @@ - PARAMETER (ASHMIN=1,ASHMAX=30) - #endif - * These parameters are needed by M.Kowalski's fluctuation algorithm -- PARAMETER (FPOT=20.77E-9, EEND=10E-6, EEXPO=2.2, EEND1=1E-6) -+ PARAMETER (FPOT=20.77E-9, EEND=10E-6, EEXPO=2.2) - PARAMETER (XEXPO=-EEXPO+1, YEXPO=1/XEXPO) - * These parameters are needed by M.Kowalski's fluctuation algorithm - DIMENSION RNDM(2) - DE2(DPOT,RAN)=(DPOT**XEXPO*(1-RAN)+EEND**XEXPO*RAN)**YEXPO - FLAND(X) = P1+P6*X+(P2+P3*X)*EXP(P4*X+P5) - * -- DE21(DPOT,RAN)=(DPOT**XEXPO*(1-RAN)+EEND1**XEXPO*RAN)**YEXPO --* - IF(STEP.LE.0) THEN - DE=DEMEAN - ELSE -@@ -92,11 +97,6 @@ - CALL GRNDM(RNDM,1) - DE=DE2(FPOT,RNDM(1)) - * -- ELSEIF (ILOSS.EQ.6) THEN --* This is Marek Kowalski's fluctuation algorithm, it works only when --* the step size has been limited to one ionisation on average and for Kr only -- CALL GRNDM(RNDM,1) -- DE=DE21(FPOT,RNDM(1)) - ELSE - * - * *** mean ionization potential (GeV) -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfnrdt.F ./gphys/gfnrdt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfnrdt.F 2007-11-19 11:08:06.345121850 -0500 -+++ ./gphys/gfnrdt.F 2005-05-25 18:37:54.807504770 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfrdt.F ./gphys/gfrdt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfrdt.F 2007-11-19 11:08:06.157498546 -0500 -+++ ./gphys/gfrdt.F 2005-05-25 18:37:54.329387077 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfsdpr.F ./gphys/gfsdpr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfsdpr.F 2007-11-19 11:08:06.941458726 -0500 -+++ ./gphys/gfsdpr.F 2005-05-25 18:37:54.691716196 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfshdc.F ./gphys/gfshdc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfshdc.F 2007-11-19 11:08:06.336495363 -0500 -+++ ./gphys/gfshdc.F 2005-05-25 18:37:54.627642989 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfshls.F ./gphys/gfshls.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gfshls.F 2007-11-19 11:08:06.537679494 -0500 -+++ ./gphys/gfshls.F 2005-05-25 18:37:54.004483485 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ghsig.F ./gphys/ghsig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ghsig.F 2007-11-19 11:08:06.094663463 -0500 -+++ ./gphys/ghsig.F 2005-05-25 18:37:54.108635320 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ghsigm.F ./gphys/ghsigm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/ghsigm.F 2007-11-19 11:08:06.159480729 -0500 -+++ ./gphys/ghsigm.F 2005-05-25 18:37:54.589273588 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glande.F ./gphys/glande.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glande.F 2007-11-19 11:08:06.360322594 -0500 -+++ ./gphys/glande.F 2005-05-25 18:37:54.639229068 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandg.F ./gphys/glandg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandg.F 2007-11-19 11:08:06.306323551 -0500 -+++ ./gphys/glandg.F 2005-05-25 18:37:54.864468193 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glando.F ./gphys/glando.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glando.F 2007-11-19 11:08:06.769944261 -0500 -+++ ./gphys/glando.F 2005-05-25 18:37:54.453543727 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandr.F ./gphys/glandr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandr.F 2007-11-19 11:08:06.233213922 -0500 -+++ ./gphys/glandr.F 2005-05-25 18:37:54.536456244 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glands.F ./gphys/glands.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glands.F 2007-11-19 11:08:06.463457542 -0500 -+++ ./gphys/glands.F 2005-05-25 18:37:54.595018804 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandz.F ./gphys/glandz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/glandz.F 2007-11-19 11:08:06.006309891 -0500 -+++ ./gphys/glandz.F 2005-05-25 18:37:54.696316642 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gloren.F ./gphys/gloren.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gloren.F 2007-11-19 11:08:06.409243924 -0500 -+++ ./gphys/gloren.F 2005-05-25 18:37:54.863295967 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmcoul.F ./gphys/gmcoul.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmcoul.F 2007-11-19 11:08:06.498439137 -0500 -+++ ./gphys/gmcoul.F 2005-05-25 18:37:54.145290971 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmgaus.F ./gphys/gmgaus.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmgaus.F 2007-11-19 11:08:06.123291360 -0500 -+++ ./gphys/gmgaus.F 2005-05-25 18:37:54.011981712 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmol4.F ./gphys/gmol4.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmol4.F 2007-11-19 11:08:06.864450411 -0500 -+++ ./gphys/gmol4.F 2005-05-25 18:37:54.794244039 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli1.F ./gphys/gmoli1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli1.F 2007-11-19 11:08:06.004437217 -0500 -+++ ./gphys/gmoli1.F 2005-05-25 18:37:54.418301415 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli2.F ./gphys/gmoli2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli2.F 2007-11-19 11:08:06.823340265 -0500 -+++ ./gphys/gmoli2.F 2005-05-25 18:37:54.566437928 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmolie.F ./gphys/gmolie.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmolie.F 2007-11-19 11:08:06.385387801 -0500 -+++ ./gphys/gmolie.F 2005-05-25 18:37:54.577971427 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli.F ./gphys/gmoli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmoli.F 2007-11-19 11:08:06.919431651 -0500 -+++ ./gphys/gmoli.F 2005-05-25 18:37:54.462249921 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmolio.F ./gphys/gmolio.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmolio.F 2007-11-19 11:08:06.841039333 -0500 -+++ ./gphys/gmolio.F 2005-05-25 18:37:54.356423881 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmols.F ./gphys/gmols.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmols.F 2007-11-19 11:08:06.296424947 -0500 -+++ ./gphys/gmols.F 2005-05-25 18:37:55.580829292 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmults.F ./gphys/gmults.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gmults.F 2007-11-19 11:08:06.199219146 -0500 -+++ ./gphys/gmults.F 2005-05-25 18:37:55.547351727 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpairg.F ./gphys/gpairg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpairg.F 2007-11-19 11:08:06.305301149 -0500 -+++ ./gphys/gpairg.F 2005-05-25 18:37:55.803415932 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpairm.F ./gphys/gpairm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpairm.F 2007-11-19 11:08:06.129906882 -0500 -+++ ./gphys/gpairm.F 2005-05-25 18:37:55.267593507 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphak.F ./gphys/gphak.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphak.F 2007-11-19 11:08:06.128220404 -0500 -+++ ./gphys/gphak.F 2005-05-25 18:37:55.473232009 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphal2.F ./gphys/gphal2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphal2.F 2007-11-19 11:08:06.546402720 -0500 -+++ ./gphys/gphal2.F 2005-05-25 18:37:55.988811881 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphal3.F ./gphys/gphal3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphal3.F 2007-11-19 11:08:06.824832528 -0500 -+++ ./gphys/gphal3.F 2005-05-25 18:37:55.595243686 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphini.F ./gphys/gphini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphini.F 2007-11-19 11:08:06.052411504 -0500 -+++ ./gphys/gphini.F 2005-05-25 18:37:55.868778534 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphot.F ./gphys/gphot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphot.F 2007-11-19 11:08:06.880787139 -0500 -+++ ./gphys/gphot.F 2005-05-25 18:37:55.633397167 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphoti.F ./gphys/gphoti.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphoti.F 2007-11-19 11:08:06.497385809 -0500 -+++ ./gphys/gphoti.F 2005-05-25 18:37:55.358647988 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphrin.F ./gphys/gphrin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphrin.F 2007-11-19 11:08:06.048337717 -0500 -+++ ./gphys/gphrin.F 2005-05-25 18:37:55.798380456 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsg1.F ./gphys/gphsg1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsg1.F 2007-11-19 11:08:06.566951622 -0500 -+++ ./gphys/gphsg1.F 2005-05-25 18:37:55.895117764 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsg2.F ./gphys/gphsg2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsg2.F 2007-11-19 11:08:06.731204873 -0500 -+++ ./gphys/gphsg2.F 2005-05-25 18:37:55.992810349 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsgp.F ./gphys/gphsgp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsgp.F 2007-11-19 11:08:06.875693435 -0500 -+++ ./gphys/gphsgp.F 2005-05-25 18:37:55.683793901 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsig.F ./gphys/gphsig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphsig.F 2007-11-19 11:08:06.504367902 -0500 -+++ ./gphys/gphsig.F 2005-05-25 18:37:55.749732069 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphxin.F ./gphys/gphxin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphxin.F 2007-11-19 11:08:06.501564965 -0500 -+++ ./gphys/gphxin.F 2005-05-25 18:37:55.902597101 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphxsi.F ./gphys/gphxsi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphxsi.F 2007-11-19 11:08:06.713364186 -0500 -+++ ./gphys/gphxsi.F 2005-05-25 18:37:55.654303295 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphys.doc ./gphys/gphys.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphys.doc 2007-10-04 19:45:50.506002179 -0400 -+++ ./gphys/gphys.doc 2005-05-25 18:37:55.675698664 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:41 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphysi.F ./gphys/gphysi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gphysi.F 2007-11-19 11:08:06.178785365 -0500 -+++ ./gphys/gphysi.F 2005-05-25 18:37:55.754191596 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.4 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.2 2002/12/02 16:37:45 brun - * Changes from Federico Carminati and Peter Hristov who ported the system - * on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpoiss.F ./gphys/gpoiss.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gpoiss.F 2007-11-19 11:08:06.146980060 -0500 -+++ ./gphys/gpoiss.F 2005-05-25 18:37:55.263354405 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprela.F ./gphys/gprela.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprela.F 2007-11-19 11:08:06.238354850 -0500 -+++ ./gphys/gprela.F 2005-05-25 18:37:55.998359118 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprelm.F ./gphys/gprelm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprelm.F 2007-11-19 11:08:06.391029339 -0500 -+++ ./gphys/gprelm.F 2005-05-25 18:37:55.500356152 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprobi.F ./gphys/gprobi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprobi.F 2007-11-19 11:08:06.699524471 -0500 -+++ ./gphys/gprobi.F 2005-05-25 18:37:55.369633034 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsga.F ./gphys/gprsga.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsga.F 2007-11-19 11:08:06.976537327 -0500 -+++ ./gphys/gprsga.F 2005-05-25 18:37:55.958537647 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsgg.F ./gphys/gprsgg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsgg.F 2007-11-19 11:08:06.798206866 -0500 -+++ ./gphys/gprsgg.F 2005-05-25 18:37:55.938683825 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsgm.F ./gphys/gprsgm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gprsgm.F 2007-11-19 11:08:06.610759939 -0500 -+++ ./gphys/gprsgm.F 2005-05-25 18:37:55.232755942 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grangi1.F ./gphys/grangi1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grangi1.F 2007-11-19 11:08:06.627069775 -0500 -+++ ./gphys/grangi1.F 2005-05-25 18:37:55.883509861 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grangi.F ./gphys/grangi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grangi.F 2007-11-19 11:08:06.236731069 -0500 -+++ ./gphys/grangi.F 2005-05-25 18:37:55.824756140 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grayl.F ./gphys/grayl.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grayl.F 2007-11-19 11:08:06.976764288 -0500 -+++ ./gphys/grayl.F 2005-05-25 18:37:55.615724340 -0400 -@@ -1,7 +1,10 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -@@ -89,8 +92,6 @@ - C - C Find out cos(theta) - COSTH=1.-0.5*(QNEW*GEKIN1)**2 -- IF (COSTH.LT.-1.) COSTH=-1. -- IF (COSTH.GT.1.) COSTH=1. - IF(RNDM(2).GT.0.5*(1.+COSTH**2)) GO TO 5 - SINTH=SQRT((1.-COSTH)*(1.+COSTH)) - C -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grayli.F ./gphys/grayli.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/grayli.F 2007-11-19 11:08:06.186320209 -0500 -+++ ./gphys/grayli.F 2005-05-25 18:37:55.084322023 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gshlin.F ./gphys/gshlin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gshlin.F 2007-11-19 11:08:06.592724748 -0500 -+++ ./gphys/gshlin.F 2005-05-25 18:37:55.459373352 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsync.F ./gphys/gsync.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsync.F 2007-11-19 11:08:06.588707063 -0500 -+++ ./gphys/gsync.F 2005-05-25 18:37:55.232011153 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsynge.F ./gphys/gsynge.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsynge.F 2007-11-19 11:08:06.824702873 -0500 -+++ ./gphys/gsynge.F 2005-05-25 18:37:55.894326311 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsynit.F ./gphys/gsynit.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gsynit.F 2007-11-19 11:08:06.113478054 -0500 -+++ ./gphys/gsynit.F 2005-05-25 18:37:55.168302746 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gvaviv.F ./gphys/gvaviv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gvaviv.F 2007-11-19 11:08:06.393439582 -0500 -+++ ./gphys/gvaviv.F 2007-06-01 10:29:11.041681264 -0400 -@@ -1,7 +1,11 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.4 2007/05/31 15:56:06 brun -+* From Peter Hristov: -+* a small modification in gphys/gvaviv.F to avoid using non-initialized data. -+* - * Revision 1.3 2005/08/10 20:02:58 brun - * From Peter Hristov: - * Add a small protection below to avoid some (rare) floating point -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gvrot.F ./gphys/gvrot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys/gvrot.F 2007-11-19 11:08:06.440902076 -0500 -+++ ./gphys/gvrot.F 2005-05-25 18:37:55.389316599 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:25 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gphys: .svn -Only in ./gscan: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscani.F ./gscan/gscani.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscani.F 2007-11-19 11:08:06.628380569 -0500 -+++ ./gscan/gscani.F 2005-05-25 18:37:56.875737167 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscank.F ./gscan/gscank.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscank.F 2007-11-19 11:08:06.070286706 -0500 -+++ ./gscan/gscank.F 2005-05-25 18:37:56.003628671 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscano.F ./gscan/gscano.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscano.F 2007-11-19 11:08:06.742913171 -0500 -+++ ./gscan/gscano.F 2005-05-25 18:37:56.641294335 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:41 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscanu.F ./gscan/gscanu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gscanu.F 2007-11-19 11:08:06.716836558 -0500 -+++ ./gscan/gscanu.F 2005-05-25 18:37:56.317439025 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gsscan.F ./gscan/gsscan.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan/gsscan.F 2007-11-19 11:08:06.520524407 -0500 -+++ ./gscan/gsscan.F 2005-05-25 18:37:56.424294689 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gscan: .svn -Only in ./gstrag: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gasho.F ./gstrag/gasho.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gasho.F 2007-11-19 11:08:06.708048641 -0500 -+++ ./gstrag/gasho.F 2005-05-25 18:37:56.993288075 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gdifmg.F ./gstrag/gdifmg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gdifmg.F 2007-11-19 11:08:06.971629239 -0500 -+++ ./gstrag/gdifmg.F 2005-05-25 18:37:56.766274329 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/giasho.F ./gstrag/giasho.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/giasho.F 2007-11-19 11:08:06.877900588 -0500 -+++ ./gstrag/giasho.F 2005-05-25 18:37:56.270814733 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gkokri.F ./gstrag/gkokri.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gkokri.F 2007-11-19 11:08:06.982085345 -0500 -+++ ./gstrag/gkokri.F 2005-05-25 18:37:56.927344304 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/goscin.F ./gstrag/goscin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/goscin.F 2007-11-19 11:08:06.588948725 -0500 -+++ ./gstrag/goscin.F 2005-05-25 18:37:56.403245218 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/goscmg.F ./gstrag/goscmg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/goscmg.F 2007-11-19 11:08:06.208797656 -0500 -+++ ./gstrag/goscmg.F 2005-05-25 18:37:56.278347715 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gpscin.F ./gstrag/gpscin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gpscin.F 2007-11-19 11:08:06.260958201 -0500 -+++ ./gstrag/gpscin.F 2005-05-25 18:37:56.706099531 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstcor.F ./gstrag/gstcor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstcor.F 2007-11-19 11:08:06.919594649 -0500 -+++ ./gstrag/gstcor.F 2005-05-25 18:37:56.969533887 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstdn.F ./gstrag/gstdn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstdn.F 2007-11-19 11:08:06.098591471 -0500 -+++ ./gstrag/gstdn.F 2005-05-25 18:37:56.374563264 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstini.F ./gstrag/gstini.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstini.F 2007-11-19 11:08:06.836964832 -0500 -+++ ./gstrag/gstini.F 2005-05-25 18:37:56.295229355 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstint.F ./gstrag/gstint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstint.F 2007-11-19 11:08:06.447575392 -0500 -+++ ./gstrag/gstint.F 2005-05-25 18:37:56.230871924 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstren.F ./gstrag/gstren.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstren.F 2007-11-19 11:08:06.000348557 -0500 -+++ ./gstrag/gstren.F 2007-05-18 13:13:05.240588949 -0400 -@@ -1,7 +1,19 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/07/10 09:11:26 brun -+* From Andreas Morsch and Alexandru Bercuci: -+* Corrections in the PAI implementation: -+* (1) The upper energy limit for integrating over the photo-absorption -+* cross-section is set to infinity. -+* In the original code the upper limit is the cut-off for delta-ray -+* production from electrons and depends on this cut, -+* -+* (2) Number of collisions is allowed to be 0. -+* In the original code the minimum number of collisions is forced to be 1 -+* and depends strongly on the step-size. -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gsttab.F ./gstrag/gsttab.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gsttab.F 2007-11-19 11:08:06.774432769 -0500 -+++ ./gstrag/gsttab.F 2005-05-25 18:37:56.659311463 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstxin.F ./gstrag/gstxin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gstxin.F 2007-11-19 11:08:06.262742715 -0500 -+++ ./gstrag/gstxin.F 2007-05-18 13:18:32.489188275 -0400 -@@ -1,7 +1,19 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/07/10 09:11:26 brun -+* From Andreas Morsch and Alexandru Bercuci: -+* Corrections in the PAI implementation: -+* (1) The upper energy limit for integrating over the photo-absorption -+* cross-section is set to infinity. -+* In the original code the upper limit is the cut-off for delta-ray -+* production from electrons and depends on this cut, -+* -+* (2) Number of collisions is allowed to be 0. -+* In the original code the minimum number of collisions is forced to be 1 -+* and depends strongly on the step-size. -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gxgint.F ./gstrag/gxgint.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag/gxgint.F 2007-11-19 11:08:06.937771888 -0500 -+++ ./gstrag/gxgint.F 2005-05-25 18:37:56.508511654 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gstrag: .svn -Only in ./gtrak: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/garndm.F ./gtrak/garndm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/garndm.F 2007-11-19 11:08:06.529922773 -0500 -+++ ./gtrak/garndm.F 2005-05-25 18:37:56.268145353 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:41 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gdebug.F ./gtrak/gdebug.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gdebug.F 2007-11-19 11:08:06.672331364 -0500 -+++ ./gtrak/gdebug.F 2006-08-17 09:38:59.656205151 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.2 2006/08/17 13:38:59 fisyak -+* Clean up -+* -+* Revision 1.3 2006/03/17 21:45:00 brun -+* Add all HIGZ routines as dummy -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gekbin.F ./gtrak/gekbin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gekbin.F 2007-11-19 11:08:06.607206023 -0500 -+++ ./gtrak/gekbin.F 2005-05-25 18:37:56.598239196 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gfinds.F ./gtrak/gfinds.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gfinds.F 2007-11-19 11:08:06.574553447 -0500 -+++ ./gtrak/gfinds.F 2005-05-25 18:37:56.689260148 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ggckov.F ./gtrak/ggckov.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ggckov.F 2007-11-19 11:08:06.522277086 -0500 -+++ ./gtrak/ggckov.F 2005-05-25 18:37:56.413747663 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ghelix.F ./gtrak/ghelix.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ghelix.F 2007-11-19 11:08:06.607188239 -0500 -+++ ./gtrak/ghelix.F 2006-11-28 10:07:32.521661128 -0500 -@@ -1,7 +1,11 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/11/28 09:10:12 brun -+* Change speed of light to agree with the current PDG value, -+* ie change from 299,792,510 to 299,792,458 -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ghelx3.F ./gtrak/ghelx3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ghelx3.F 2007-11-19 11:08:06.730703727 -0500 -+++ ./gtrak/ghelx3.F 2006-11-28 10:07:47.810739771 -0500 -@@ -1,7 +1,11 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/11/28 09:10:12 brun -+* Change speed of light to agree with the current PDG value, -+* ie change from 299,792,510 to 299,792,458 -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ginvol.F ./gtrak/ginvol.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/ginvol.F 2007-11-19 11:08:06.479981893 -0500 -+++ ./gtrak/ginvol.F 2005-05-25 18:37:56.552547896 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gltrac.F ./gtrak/gltrac.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gltrac.F 2007-11-19 11:08:06.720103609 -0500 -+++ ./gtrak/gltrac.F 2005-05-25 18:37:56.602694558 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gnckov.F ./gtrak/gnckov.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gnckov.F 2007-11-19 11:08:06.700914677 -0500 -+++ ./gtrak/gnckov.F 2005-05-25 18:37:56.223864329 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpcxyz.F ./gtrak/gpcxyz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpcxyz.F 2007-11-19 11:08:06.613256812 -0500 -+++ ./gtrak/gpcxyz.F 2005-05-25 18:37:56.198465395 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2005/05/20 10:43:20 brun -+* From Federico Carminati & Peter Hristov -+* Mods required to run on MacOSX 10.4 -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpgkin.F ./gtrak/gpgkin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpgkin.F 2007-11-19 11:08:06.096742535 -0500 -+++ ./gtrak/gpgkin.F 2005-05-25 18:37:56.937655965 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpjxyz.F ./gtrak/gpjxyz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gpjxyz.F 2007-11-19 11:08:06.994211325 -0500 -+++ ./gtrak/gpjxyz.F 2005-05-25 18:37:56.898175004 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/granor.F ./gtrak/granor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/granor.F 2007-11-19 11:08:06.643879370 -0500 -+++ ./gtrak/granor.F 2005-05-25 18:37:56.591599557 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:41 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/grkuta.F ./gtrak/grkuta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/grkuta.F 2007-11-19 11:08:06.520286226 -0500 -+++ ./gtrak/grkuta.F 2006-11-28 10:08:03.953329306 -0500 -@@ -1,7 +1,11 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.3 2006/11/28 09:10:12 brun -+* Change speed of light to agree with the current PDG value, -+* ie change from 299,792,510 to 299,792,458 -+* - * Revision 1.2 2003/11/28 11:23:56 brun - * New version of geant321 with all geant3 routines renamed from G to G3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak: grndm.F -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak: grndmq.F -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsking.F ./gtrak/gsking.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsking.F 2007-11-19 11:08:06.749642354 -0500 -+++ ./gtrak/gsking.F 2005-05-25 18:37:56.674356606 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gskpho.F ./gtrak/gskpho.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gskpho.F 2007-11-19 11:08:06.411362496 -0500 -+++ ./gtrak/gskpho.F 2005-05-25 18:37:56.429154177 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsstak.F ./gtrak/gsstak.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsstak.F 2007-11-19 11:08:06.527790619 -0500 -+++ ./gtrak/gsstak.F 2005-05-25 18:37:56.779732688 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gstord.F ./gtrak/gstord.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gstord.F 2007-11-19 11:08:06.819437679 -0500 -+++ ./gtrak/gstord.F 2005-05-25 18:37:56.053361422 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gstrac.F ./gtrak/gstrac.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gstrac.F 2007-11-19 11:08:06.679572704 -0500 -+++ ./gtrak/gstrac.F 2005-05-25 18:37:56.628573608 -0400 -@@ -1,7 +1,14 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.3 2004/01/28 08:20:11 brun -+* Some bug fixes by Peter Hristov -+* Reintroduce gstrac -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsxyz.F ./gtrak/gsxyz.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gsxyz.F 2007-11-19 11:08:06.333681887 -0500 -+++ ./gtrak/gsxyz.F 2005-05-25 18:37:56.970362896 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtgama.F ./gtrak/gtgama.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtgama.F 2007-12-07 11:52:38.732349364 -0500 -+++ ./gtrak/gtgama.F 2005-05-25 18:37:56.045341246 -0400 -@@ -52,7 +52,6 @@ - JPFIS = LQ(JMA-12) - JRAYL = LQ(JMA-13) - ENDIF -- IABAN = NINT(DPHYS1) - * - * *** Compute current step size - * -@@ -221,10 +220,6 @@ - * ** Photo-electric effect ? - * - ELSE IF (IPROC.EQ.8) THEN -- IF (IABAN.LE.0) GOTO 40 --* --* ** If IABAN=1,2 see whether we have to abandon the electron right away --* - * Calculate range of the photoelectron ( with kin. energy Ephot) - * - IF(GEKIN.LE.0.001) THEN -@@ -248,11 +243,10 @@ - * DO NOT call G3PHOT if this (overestimated) range is smaller - * than SAFETY - * -- IF ((STOPMX.LE.SAFETY).AND. -- + (IABAN.NE.2.OR.ISVOL.LE.0)) GOTO 998 -+ IF (STOPMX.LE.SAFETY) GOTO 998 - ENDIF - -- 40 CALL G3PHOT -+ CALL G3PHOT - * - * ** Rayleigh effect ? - * -@@ -272,6 +266,6 @@ - GETOT = 0. - VECT(7)= 0. - ISTOP = 2 -- NMEC = NMEC+1 -- LMEC(NMEC)= 30 -+ NMEC = 1 -+ LMEC(1)= 30 - 999 END -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gthion.F ./gtrak/gthion.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gthion.F 2007-11-19 11:08:06.124289126 -0500 -+++ ./gtrak/gthion.F 2005-05-25 18:37:56.649551529 -0400 -@@ -68,7 +68,8 @@ - IKCUT = GEKA*LOG10(CUTPRO) + GEKB - GKR = (CUTPRO - ELOW(IKCUT))/(ELOW(IKCUT+1) - ELOW(IKCUT)) - STOPC = (1.-GKR)*Q(JRANG+IKCUT) + GKR*Q(JRANG+IKCUT+1) -- FACFLU = DME*(Z*DENS/A) -+ FACFLU = 0 -+ if (ILOSS .NE. 0 .AND. A .NE. 0.0) FACFLU = DME*(Z*DENS/A) - CHAR23 = ONE/CHARGE**TWOTHR - IF(IMCKOV.EQ.1) THEN - JTCKOV = LQ(JTM-3) -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtmedi.F ./gtrak/gtmedi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtmedi.F 2007-11-19 11:08:06.020273214 -0500 -+++ ./gtrak/gtmedi.F 2005-05-25 18:37:56.204352581 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtneut.F ./gtrak/gtneut.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtneut.F 2007-11-19 11:08:06.863825810 -0500 -+++ ./gtrak/gtneut.F 2005-05-25 18:37:56.313682811 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtnext.F ./gtrak/gtnext.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtnext.F 2007-11-19 11:08:06.680377724 -0500 -+++ ./gtrak/gtnext.F 2005-05-25 18:37:56.379533211 -0400 -@@ -1,7 +1,20 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.4 2004/06/09 13:47:00 brun -+* From Peter Hristov: -+* In Makefile I have corrected the platform names according to the Root -+* convention. In gcinit.F the size of the ZEBRA common block is increased to -+* 5000000 so that the latest Alice geometry fits there :-) The -+* Makefile.linuxicc contains only one additional optimization option (-ip) -+* which gives an additional gain of 5-10% in speed. Finally, in -+* gtrak/gtnext.F I have put the additional protection we discussed with you -+* and Andrei. -+* - * Revision 1.3 2004/01/28 08:20:11 brun - * Some bug fixes by Peter Hristov - * Reintroduce gstrac -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtnino.F ./gtrak/gtnino.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtnino.F 2007-11-19 11:08:06.843321660 -0500 -+++ ./gtrak/gtnino.F 2005-05-25 18:37:56.265149157 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtrack.F ./gtrak/gtrack.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtrack.F 2007-12-07 11:52:38.792902003 -0500 -+++ ./gtrak/gtrack.F 2005-05-25 18:37:56.633307658 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -@@ -266,17 +272,15 @@ - * Check for possible endless loop - * - 90 NSTEP = NSTEP +1 -- IF (NSTEP.GT.ABS(MAXNST)) THEN -+ IF (NSTEP.GT.MAXNST) THEN - IF (ISTOP.EQ.0) THEN - ISTOP = 99 - NMEC = NMEC +1 - LMEC(NMEC) = 30 -- IF(MAXNST.GT.0) THEN - WRITE(CHMAIL,10200) MAXNST - CALL GMAIL(1,0) - CALL G3PCXYZ -- WRITE(CHMAIL,10250) IEVENT,IDEVT, -- + (NRNDM(I),I=1,2),TOFG*1.E9 -+ WRITE(CHMAIL,10250) IEVENT,IDEVT,(NRNDM(I),I=1,2),TOFG*1.E9 - CALL GMAIL(0,1) - 10200 FORMAT(' *** GTRACK *** More than ',I6, - + ' steps, tracking abandoned!') -@@ -284,7 +288,6 @@ - $ ,I10,' Time of flight ',F10.3,' ns') - ENDIF - ENDIF -- ENDIF - * - * *** Give control to user at end of each tracking step - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtrak.doc ./gtrak/gtrak.doc ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtrak.doc 2007-10-04 19:45:50.811073877 -0400 -+++ ./gtrak/gtrak.doc 2005-05-25 18:37:56.177069570 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtreve.F ./gtrak/gtreve.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtreve.F 2007-11-19 11:08:06.408240744 -0500 -+++ ./gtrak/gtreve.F 2005-05-25 18:37:56.113263699 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtreveroot.F ./gtrak/gtreveroot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak/gtreveroot.F 2007-11-19 11:08:06.654556482 -0500 -+++ ./gtrak/gtreveroot.F 2005-05-25 18:37:56.585202155 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:56 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:26 rdm - * initial import into CVS - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/gtrak: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: guser -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: gxint -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: gxuser -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: Makefile -Only in ./matx55: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dcross.F ./matx55/dcross.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dcross.F 2007-11-19 11:08:06.717217541 -0500 -+++ ./matx55/dcross.F 2005-05-25 18:37:57.010689826 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/ddot.F ./matx55/ddot.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/ddot.F 2007-11-19 11:08:06.671486896 -0500 -+++ ./matx55/ddot.F 2005-05-25 18:37:57.111192831 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dmm55.F ./matx55/dmm55.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dmm55.F 2007-11-19 11:08:06.340928985 -0500 -+++ ./matx55/dmm55.F 2005-05-25 18:37:57.924638029 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dnorm.F ./matx55/dnorm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dnorm.F 2007-11-19 11:08:06.993596581 -0500 -+++ ./matx55/dnorm.F 2005-05-25 18:37:57.296374865 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dsmt5t.F ./matx55/dsmt5t.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/dsmt5t.F 2007-11-19 11:08:06.036526691 -0500 -+++ ./matx55/dsmt5t.F 2005-05-25 18:37:57.966132095 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/rmm55.F ./matx55/rmm55.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/rmm55.F 2007-11-19 11:08:06.447088574 -0500 -+++ ./matx55/rmm55.F 2005-05-25 18:37:57.634446765 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/rsmt5t.F ./matx55/rsmt5t.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/rsmt5t.F 2007-11-19 11:08:06.543435194 -0500 -+++ ./matx55/rsmt5t.F 2005-05-25 18:37:57.836287226 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/ssmt5t.F ./matx55/ssmt5t.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/ssmt5t.F 2007-11-19 11:08:06.318108083 -0500 -+++ ./matx55/ssmt5t.F 2005-05-25 18:37:57.848497418 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/xmm55.F ./matx55/xmm55.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/matx55/xmm55.F 2007-11-19 11:08:06.572103572 -0500 -+++ ./matx55/xmm55.F 2005-05-25 18:37:57.361347929 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in ./miface: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gfmdis.F ./miface/gfmdis.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gfmdis.F 2007-11-19 11:08:06.952096823 -0500 -+++ ./miface/gfmdis.F 2005-05-25 18:37:57.227352592 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gfmfin.F ./miface/gfmfin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gfmfin.F 2007-11-19 11:08:06.282108722 -0500 -+++ ./miface/gfmfin.F 2005-05-25 18:37:57.124823695 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmicap.F ./miface/gmicap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmicap.F 2007-11-19 11:08:06.582597145 -0500 -+++ ./miface/gmicap.F 2005-05-25 18:37:57.391089026 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmiset.F ./miface/gmiset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmiset.F 2007-11-19 11:08:06.003074491 -0500 -+++ ./miface/gmiset.F 2005-05-25 18:37:57.978074936 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmorin.F ./miface/gmorin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmorin.F 2007-11-19 11:08:06.920517768 -0500 -+++ ./miface/gmorin.F 2005-05-25 18:37:57.554877015 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmplxs.F ./miface/gmplxs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmplxs.F 2007-11-19 11:08:06.539029389 -0500 -+++ ./miface/gmplxs.F 2005-05-25 18:37:57.940995924 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmxsec.F ./miface/gmxsec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface/gmxsec.F 2007-11-19 11:08:06.669058852 -0500 -+++ ./miface/gmxsec.F 2005-05-25 18:37:57.919079648 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miface: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/azirn.F ./miguti/azirn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/azirn.F 2007-11-19 11:08:06.232781181 -0500 -+++ ./miguti/azirn.F 2005-05-25 18:37:57.832772193 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in ./miguti: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/exprnf.F ./miguti/exprnf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/exprnf.F 2007-11-19 11:08:06.451346334 -0500 -+++ ./miguti/exprnf.F 2005-05-25 18:37:57.187021605 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/gtiso.F ./miguti/gtiso.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/gtiso.F 2007-11-19 11:08:06.940643827 -0500 -+++ ./miguti/gtiso.F 2005-05-25 18:37:57.975371311 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/randc.F ./miguti/randc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/randc.F 2007-11-19 11:08:06.425028721 -0500 -+++ ./miguti/randc.F 2005-05-25 18:37:57.011985406 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/sflraf.F ./miguti/sflraf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/sflraf.F 2007-11-19 11:08:06.194748834 -0500 -+++ ./miguti/sflraf.F 2005-05-25 18:37:57.474063191 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/sigmor.F ./miguti/sigmor.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti/sigmor.F 2007-11-19 11:08:06.354018639 -0500 -+++ ./miguti/sigmor.F 2005-05-25 18:37:57.018334317 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/miguti: .svn -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: minicern -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/angcdf.F ./neutron/angcdf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/angcdf.F 2007-11-19 11:08:06.700285752 -0500 -+++ ./neutron/angcdf.F 2005-05-25 18:37:57.013971394 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/bankr.F ./neutron/bankr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/bankr.F 2007-11-19 11:08:06.729994199 -0500 -+++ ./neutron/bankr.F 2005-05-25 18:37:57.087251227 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/barier.F ./neutron/barier.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/barier.F 2007-11-19 11:08:06.418300050 -0500 -+++ ./neutron/barier.F 2005-05-25 18:37:57.093804480 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cadig.F ./neutron/cadig.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cadig.F 2007-11-19 11:08:06.614558918 -0500 -+++ ./neutron/cadig.F 2005-05-25 18:37:57.675977397 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cangle.F ./neutron/cangle.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cangle.F 2007-11-19 11:08:06.688126397 -0500 -+++ ./neutron/cangle.F 2005-05-25 18:37:57.821992565 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cevap1.F ./neutron/cevap1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cevap1.F 2007-11-19 11:08:06.906841519 -0500 -+++ ./neutron/cevap1.F 2005-05-25 18:37:57.799494922 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cevap.F ./neutron/cevap.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cevap.F 2007-11-19 11:08:06.875511713 -0500 -+++ ./neutron/cevap.F 2005-05-25 18:37:57.727216028 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/chkzeb.F ./neutron/chkzeb.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/chkzeb.F 2007-11-19 11:08:06.586407386 -0500 -+++ ./neutron/chkzeb.F 2005-05-25 18:37:57.068970417 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/clear.F ./neutron/clear.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/clear.F 2007-11-19 11:08:06.676034779 -0500 -+++ ./neutron/clear.F 2005-05-25 18:37:58.149752444 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cmlabe.F ./neutron/cmlabe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cmlabe.F 2007-11-19 11:08:06.639888449 -0500 -+++ ./neutron/cmlabe.F 2005-05-25 18:37:58.630942673 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cmlabi.F ./neutron/cmlabi.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cmlabi.F 2007-11-19 11:08:06.133229627 -0500 -+++ ./neutron/cmlabi.F 2005-05-25 18:37:58.902030778 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/colisn.F ./neutron/colisn.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/colisn.F 2007-11-19 11:08:06.239377350 -0500 -+++ ./neutron/colisn.F 2005-05-25 18:37:58.576044149 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cterp.F ./neutron/cterp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/cterp.F 2007-11-19 11:08:06.175687970 -0500 -+++ ./neutron/cterp.F 2005-05-25 18:37:58.213767228 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in ./neutron: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/evaplr.F ./neutron/evaplr.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/evaplr.F 2007-11-19 11:08:06.733107968 -0500 -+++ ./neutron/evaplr.F 2005-05-25 18:37:58.837330142 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/fisrnf.F ./neutron/fisrnf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/fisrnf.F 2007-11-19 11:08:06.492027504 -0500 -+++ ./neutron/fisrnf.F 2005-05-25 18:37:58.619273412 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/fltrnf.F ./neutron/fltrnf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/fltrnf.F 2007-11-19 11:08:06.273932645 -0500 -+++ ./neutron/fltrnf.F 2005-05-25 18:37:58.698959227 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getene.F ./neutron/getene.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getene.F 2007-11-19 11:08:06.725958747 -0500 -+++ ./neutron/getene.F 2005-05-25 18:37:58.191472703 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getnu.F ./neutron/getnu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getnu.F 2007-11-19 11:08:06.339121571 -0500 -+++ ./neutron/getnu.F 2005-05-25 18:37:58.158342480 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getpar.F ./neutron/getpar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/getpar.F 2007-11-19 11:08:06.509136222 -0500 -+++ ./neutron/getpar.F 2005-05-25 18:37:58.515772665 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/grndst.F ./neutron/grndst.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/grndst.F 2007-11-19 11:08:06.352070890 -0500 -+++ ./neutron/grndst.F 2005-05-25 18:37:58.185887692 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/gtmed.F ./neutron/gtmed.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/gtmed.F 2007-11-19 11:08:06.194977541 -0500 -+++ ./neutron/gtmed.F 2005-05-25 18:37:58.416883495 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/interp.F ./neutron/interp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/interp.F 2007-11-19 11:08:06.322659311 -0500 -+++ ./neutron/interp.F 2005-05-25 18:37:58.827512586 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/intsch.F ./neutron/intsch.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/intsch.F 2007-11-19 11:08:06.855887924 -0500 -+++ ./neutron/intsch.F 2005-05-25 18:37:58.625269003 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/isotpe.F ./neutron/isotpe.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/isotpe.F 2007-11-19 11:08:06.277332554 -0500 -+++ ./neutron/isotpe.F 2005-05-25 18:37:58.668535199 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/labnf.F ./neutron/labnf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/labnf.F 2007-11-19 11:08:06.359833890 -0500 -+++ ./neutron/labnf.F 2005-05-25 18:37:58.727175014 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/lr2bod.F ./neutron/lr2bod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/lr2bod.F 2007-11-19 11:08:06.477927629 -0500 -+++ ./neutron/lr2bod.F 2005-05-25 18:37:58.759625767 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/lrnorm.F ./neutron/lrnorm.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/lrnorm.F 2007-11-19 11:08:06.491708782 -0500 -+++ ./neutron/lrnorm.F 2005-05-25 18:37:58.856920897 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/matiso.F ./neutron/matiso.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/matiso.F 2007-11-19 11:08:06.566908286 -0500 -+++ ./neutron/matiso.F 2005-05-25 18:37:58.097589152 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/micset.F ./neutron/micset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/micset.F 2007-11-19 11:08:06.264913650 -0500 -+++ ./neutron/micset.F 2005-05-25 18:37:58.414893224 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/moxsec.F ./neutron/moxsec.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/moxsec.F 2007-11-19 11:08:06.429548158 -0500 -+++ ./neutron/moxsec.F 2005-05-25 18:37:58.870885124 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/n2nn3n.F ./neutron/n2nn3n.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/n2nn3n.F 2007-11-19 11:08:06.606009794 -0500 -+++ ./neutron/n2nn3n.F 2005-05-25 18:37:58.527017260 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nghevy.F ./neutron/nghevy.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nghevy.F 2007-11-19 11:08:06.550919120 -0500 -+++ ./neutron/nghevy.F 2005-05-25 18:37:58.298667577 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nn2bod.F ./neutron/nn2bod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nn2bod.F 2007-11-19 11:08:06.551553946 -0500 -+++ ./neutron/nn2bod.F 2005-05-25 18:37:58.398875746 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nsigta.F ./neutron/nsigta.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/nsigta.F 2007-11-19 11:08:06.790221971 -0500 -+++ ./neutron/nsigta.F 2005-05-25 18:37:58.051944642 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/partxs.F ./neutron/partxs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/partxs.F 2007-11-19 11:08:06.960988998 -0500 -+++ ./neutron/partxs.F 2005-05-25 18:37:58.072755369 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/photon.F ./neutron/photon.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/photon.F 2007-11-19 11:08:06.878849457 -0500 -+++ ./neutron/photon.F 2005-05-25 18:37:58.118681277 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2003/11/28 11:23:57 brun -+* New version of geant321 with all geant3 routines renamed from G to G3 -+* - * Revision 1.1.1.1 2002/07/24 15:56:27 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/rnmaxf.F ./neutron/rnmaxf.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/rnmaxf.F 2007-11-19 11:08:06.034857354 -0500 -+++ ./neutron/rnmaxf.F 2005-05-25 18:37:58.832825477 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/secegy.F ./neutron/secegy.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/secegy.F 2007-11-19 11:08:06.316841677 -0500 -+++ ./neutron/secegy.F 2005-05-25 18:37:58.341841233 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/secl11.F ./neutron/secl11.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/secl11.F 2007-11-19 11:08:06.853074937 -0500 -+++ ./neutron/secl11.F 2005-05-25 18:37:58.050949163 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf1.F ./neutron/seclf1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf1.F 2007-11-19 11:08:06.661835549 -0500 -+++ ./neutron/seclf1.F 2005-05-25 18:37:58.861489161 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf5.F ./neutron/seclf5.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf5.F 2007-11-19 11:08:06.920806187 -0500 -+++ ./neutron/seclf5.F 2005-05-25 18:37:58.855807339 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf7.F ./neutron/seclf7.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf7.F 2007-11-19 11:08:06.378963539 -0500 -+++ ./neutron/seclf7.F 2005-05-25 18:37:58.881111291 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf9.F ./neutron/seclf9.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/seclf9.F 2007-11-19 11:08:06.350081314 -0500 -+++ ./neutron/seclf9.F 2005-05-25 18:37:58.795904844 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/stopar.F ./neutron/stopar.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/stopar.F 2007-11-19 11:08:06.250366523 -0500 -+++ ./neutron/stopar.F 2005-05-25 18:37:58.342887351 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/tbsplt.F ./neutron/tbsplt.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/tbsplt.F 2007-11-19 11:08:06.087993679 -0500 -+++ ./neutron/tbsplt.F 2005-05-25 18:37:58.230086779 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/thrmsc.F ./neutron/thrmsc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/thrmsc.F 2007-11-19 11:08:06.816832796 -0500 -+++ ./neutron/thrmsc.F 2005-05-25 18:37:58.884789096 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/thrsel.F ./neutron/thrsel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/thrsel.F 2007-11-19 11:08:06.867789397 -0500 -+++ ./neutron/thrsel.F 2005-05-25 18:37:58.715158724 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/trebod.F ./neutron/trebod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/trebod.F 2007-11-19 11:08:06.979504799 -0500 -+++ ./neutron/trebod.F 2005-05-25 18:37:58.064679524 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/twobod.F ./neutron/twobod.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/twobod.F 2007-11-19 11:08:06.736808321 -0500 -+++ ./neutron/twobod.F 2005-05-25 18:37:58.853778850 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn1.F ./neutron/xsecn1.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn1.F 2007-11-19 11:08:06.475318410 -0500 -+++ ./neutron/xsecn1.F 2005-05-25 18:37:58.026875624 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn2.F ./neutron/xsecn2.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn2.F 2007-11-19 11:08:06.619717827 -0500 -+++ ./neutron/xsecn2.F 2005-05-25 18:37:58.168826916 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn3.F ./neutron/xsecn3.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn3.F 2007-11-19 11:08:06.732543355 -0500 -+++ ./neutron/xsecn3.F 2005-05-25 18:37:58.788773068 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn5.F ./neutron/xsecn5.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecn5.F 2007-11-19 11:08:06.863814198 -0500 -+++ ./neutron/xsecn5.F 2005-05-25 18:37:58.935245281 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecnu.F ./neutron/xsecnu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/neutron/xsecnu.F 2007-11-19 11:08:06.073732555 -0500 -+++ ./neutron/xsecnu.F 2005-05-25 18:37:58.037300877 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in .: PACKAGE -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/bimsel.F ./peanut/bimsel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/bimsel.F 2007-11-19 11:08:06.958399351 -0500 -+++ ./peanut/bimsel.F 2005-05-25 18:37:58.210679744 -0400 -@@ -1,7 +1,17 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.5 2005/03/24 15:43:37 brun -+* Fix a portability problem with the Intel compiler -+* Replace -+* ANGRED = ACOS ( SIGN(1,DUMMY)*.99D+00 ) / PI -+* by -+* ANGRED = ACOS ( SIGN(1D0,DUMMY)*.99D+00 ) / PI -+* - * Revision 1.4 2004/12/17 11:46:46 brun - * Several protections introduced by Rachid Guernane and Peter Hristov - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/cosleg.F ./peanut/cosleg.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/cosleg.F 2007-11-19 11:08:06.408786754 -0500 -+++ ./peanut/cosleg.F 2005-05-25 18:37:58.501785102 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in ./peanut: CVS -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fekfnc.F ./peanut/fekfnc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fekfnc.F 2007-11-19 11:08:06.145678088 -0500 -+++ ./peanut/fekfnc.F 2005-05-25 18:37:58.076871501 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fpfrnc.F ./peanut/fpfrnc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fpfrnc.F 2007-11-19 11:08:06.277852826 -0500 -+++ ./peanut/fpfrnc.F 2005-05-25 18:37:58.303842491 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fradnc.F ./peanut/fradnc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/fradnc.F 2007-11-19 11:08:06.710781390 -0500 -+++ ./peanut/fradnc.F 2005-05-25 18:37:58.480701147 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/frhinc.F ./peanut/frhinc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/frhinc.F 2007-11-19 11:08:06.187966968 -0500 -+++ ./peanut/frhinc.F 2005-05-25 18:37:58.068398372 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/frhonc.F ./peanut/frhonc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/frhonc.F 2007-11-19 11:08:06.941525455 -0500 -+++ ./peanut/frhonc.F 2005-05-25 18:37:58.376114615 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nclvin.F ./peanut/nclvin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nclvin.F 2007-11-19 11:08:06.987813535 -0500 -+++ ./peanut/nclvin.F 2005-05-25 18:37:58.768992445 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nclvst.F ./peanut/nclvst.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nclvst.F 2007-11-19 11:08:06.686863651 -0500 -+++ ./peanut/nclvst.F 2005-05-25 18:37:58.259222145 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nucnuc.F ./peanut/nucnuc.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nucnuc.F 2007-11-19 11:08:06.777040496 -0500 -+++ ./peanut/nucnuc.F 2005-05-25 18:37:58.352284443 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nwisel.F ./peanut/nwisel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/nwisel.F 2007-11-19 11:08:06.903777962 -0500 -+++ ./peanut/nwisel.F 2005-05-25 18:37:58.565989989 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/peanut.F ./peanut/peanut.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/peanut.F 2007-11-19 11:08:06.790334256 -0500 -+++ ./peanut/peanut.F 2005-05-25 18:37:58.155775788 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/pfnclv.F ./peanut/pfnclv.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/pfnclv.F 2007-11-19 11:08:06.711841791 -0500 -+++ ./peanut/pfnclv.F 2005-07-14 09:08:43.254157893 -0400 -@@ -1,7 +1,15 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.2 2005/07/14 13:08:43 fisyak -+* *** empty log message *** -+* -+* Revision 1.2 2005/07/13 17:33:39 rdm -+* From Christian Holm: -+* I've attached a patch that fixes _some_ problems in your VMC version of -+* geant321 when using gfortran. Note in particular the `ENTRY' fix. -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/phdset.F ./peanut/phdset.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/phdset.F 2007-11-19 11:08:06.530712256 -0500 -+++ ./peanut/phdset.F 2005-05-25 18:37:58.482845952 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/phdwll.F ./peanut/phdwll.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/phdwll.F 2007-11-19 11:08:06.631051594 -0500 -+++ ./peanut/phdwll.F 2005-05-25 18:37:58.520987203 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/pioabs.F ./peanut/pioabs.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/pioabs.F 2007-11-19 11:08:06.537931013 -0500 -+++ ./peanut/pioabs.F 2005-05-25 18:37:58.291753306 -0400 -@@ -1,7 +1,21 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.2 2004/02/24 15:50:30 brun -+* From Peter Hristov: -+* We had some problems with the Geant3 version during the tests for the -+* physics data challenge. They are related to the fact that TRandom3 for -+* sure doesn't generate 0, but it may return 1, so things like -+* CALL GRANDOM(RNDM,1) -+* X = -LOG(1-RNDM(1)) -+* may lead to floating point exceptions. So I have replaced most of such -+* calls with -+* X = -LOG(RNDM(1)) -+* - * Revision 1.1.1.1 2002/07/24 15:56:28 rdm - * initial import into CVS - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/prepre.F ./peanut/prepre.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/prepre.F 2007-11-19 11:08:06.484587883 -0500 -+++ ./peanut/prepre.F 2005-05-25 18:37:58.471918838 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/rstsel.F ./peanut/rstsel.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/rstsel.F 2007-11-19 11:08:06.140828878 -0500 -+++ ./peanut/rstsel.F 2005-05-25 18:37:58.300299635 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/sbcomp.F ./peanut/sbcomp.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/sbcomp.F 2007-11-19 11:08:06.987241801 -0500 -+++ ./peanut/sbcomp.F 2005-05-25 18:37:58.121703036 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/sigfer.F ./peanut/sigfer.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/sigfer.F 2007-11-19 11:08:06.237968166 -0500 -+++ ./peanut/sigfer.F 2005-05-25 18:37:58.908221884 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/umofin.F ./peanut/umofin.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/umofin.F 2007-11-19 11:08:06.745841173 -0500 -+++ ./peanut/umofin.F 2005-05-25 18:37:58.647497684 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/xinneu.F ./peanut/xinneu.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/xinneu.F 2007-11-19 11:08:06.993083965 -0500 -+++ ./peanut/xinneu.F 2005-05-25 18:37:58.334484147 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/xinpro.F ./peanut/xinpro.F ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/peanut/xinpro.F 2007-11-19 11:08:06.393898159 -0500 -+++ ./peanut/xinpro.F 2005-05-25 18:37:58.810800050 -0400 -@@ -1,7 +1,13 @@ - * --* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - * - * $Log: geant3.diff.050708,v $ - * Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - * Merge with .DEV2 - * - * Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - * Merge with macos version - * -+* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -+* Alice version of geant3 (-minicern) -+* -+* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -+* initial import into CVS -+* - * Revision 1.1.1.1 2002/06/16 15:18:43 hristov - * Separate distribution of Geant3 - * -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: README_gcalor -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: README_geane -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: README_geane_more -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: .svn -Only in ./TGeant3: .consign -Only in ./TGeant3: .consign.sl305_gcc323 -Only in ./TGeant3: CVS -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Material.cxx -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Material.h -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Medium.cxx -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Medium.h -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Node.cxx -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Node.h -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Volume.cxx -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: G3Volume.h -Only in ./TGeant3: galicef.F -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/geant3LinkDef.h ./TGeant3/geant3LinkDef.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/geant3LinkDef.h 2007-11-19 11:08:06.952699008 -0500 -+++ ./TGeant3/geant3LinkDef.h 2007-05-18 13:20:03.418818092 -0400 -@@ -2,7 +2,7 @@ - /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - --/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - #pragma link off all globals; - #pragma link off all classes; -@@ -42,10 +42,5 @@ - #pragma link C++ class Eroptc_t+; - #pragma link C++ class Erwork_t+; - --#pragma link C++ class G3Material+; --#pragma link C++ class G3Medium-; --#pragma link C++ class G3Node+; --#pragma link C++ class G3Volume+; -- - #endif - -Only in ./TGeant3: geant3LinkDef.h~ -Only in ./TGeant3: .includes_for_export.flg -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3: .svn -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TCallf77.h ./TGeant3/TCallf77.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TCallf77.h 2007-11-19 11:08:06.197105549 -0500 -+++ ./TGeant3/TCallf77.h 2005-05-25 18:36:36.751797718 -0400 -@@ -3,7 +3,7 @@ - /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - --/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - #ifndef WIN32 - # define type_of_call -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TG3Application.cxx ./TGeant3/TG3Application.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TG3Application.cxx 2007-11-19 11:08:06.477661184 -0500 -+++ ./TGeant3/TG3Application.cxx 2006-12-20 19:11:13.321499973 -0500 -@@ -1,4 +1,4 @@ --// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Class TG3Application - // ----------------------- -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TG3Application.h ./TGeant3/TG3Application.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TG3Application.h 2007-11-19 11:08:06.757874013 -0500 -+++ ./TGeant3/TG3Application.h 2005-05-25 18:36:36.616475488 -0400 -@@ -1,4 +1,4 @@ --// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ -+// $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ - // - // Class TG3Application - // ----------------------- -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3.cxx ./TGeant3/TGeant3.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3.cxx 2007-11-19 11:08:06.185804449 -0500 -+++ ./TGeant3/TGeant3.cxx 2007-07-26 12:58:18.773782852 -0400 -@@ -14,8 +14,6 @@ - * provided "as is" without express or implied warranty. * - **************************************************************************/ - --/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -- - /* - $Log: geant3.diff.050708,v $ - Revision 1.1.1.1 2009/02/01 17:10:04 fisyak - Merge with .DEV2 - - Revision 1.1.1.1 2008/12/10 20:45:55 fisyak - Merge with macos version - - Revision 1.59 2007/07/25 20:06:49 brun -@@ -348,7 +346,7 @@ - in case a user defines geometry via TGeo and associates more tracking - media with the same material, TGeant3 duplicates this material - for each tracking medium. -- I haven't found a function for getting the number of -+ I haven\'t found a function for getting the number of - materials/media (TList) so I count them by a loop - - maybe it can be done more intelligently... - -@@ -1508,11 +1506,11 @@ - fPDGCode[fNPDGCodes++]=3322; // 22 = Xi0 - fPDGCode[fNPDGCodes++]=3312; // 23 = Xi- - fPDGCode[fNPDGCodes++]=3334; // 24 = Omega- -- fPDGCode[fNPDGCodes++]=-2112; // 25 = Anti Neutron -- fPDGCode[fNPDGCodes++]=-3122; // 26 = Anti Lambda -+ fPDGCode[fNPDGCodes++]=-2112; // 25 = Anti Proton -+ fPDGCode[fNPDGCodes++]=-3122; // 26 = Anti Proton - fPDGCode[fNPDGCodes++]=-3222; // 27 = Anti Sigma - - fPDGCode[fNPDGCodes++]=-3212; // 28 = Anti Sigma 0 -- fPDGCode[fNPDGCodes++]=-3112; // 29 = Anti Sigma + -+ fPDGCode[fNPDGCodes++]=-3112; // 29 = Anti Sigma 0 - fPDGCode[fNPDGCodes++]=-3322; // 30 = Anti Xi 0 - fPDGCode[fNPDGCodes++]=-3312; // 31 = Anti Xi + - fPDGCode[fNPDGCodes++]=-3334; // 32 = Anti Omega + -@@ -1531,16 +1529,16 @@ - Gspart(fNG3Particles++,"PHI(1020)",3,1.019,0.,1.486e-22);// 34 = PHI(1020) - fPDGCode[fNPDGCodes++]=333; // 34 = PHI (1020) - -- Gspart(fNG3Particles++, "D +", 4, 1.8693, 1., 1.040e-12); // 35 = D+ // G4DMesonPlus -+ Gspart(fNG3Particles++, "D +", 4, 1.87, 1., 1.066e-12); // 35 = D+ - fPDGCode[fNPDGCodes++]=411; // 35 = D+ - -- Gspart(fNG3Particles++, "D -", 4, 1.8693, -1., 1.040e-12); // 36 = D- // G4DMesonMinus -+ Gspart(fNG3Particles++, "D -", 4, 1.87, -1., 1.066e-12); // 36 = D- - fPDGCode[fNPDGCodes++]=-411; // 36 = D- - -- Gspart(fNG3Particles++, "D 0", 3, 1.8645, 0., 0.415e-12); // 37 = D0 // G4DMesonZero -+ Gspart(fNG3Particles++, "D 0", 3, 1.865, 0., 4.2e-13); // 37 = D0 - fPDGCode[fNPDGCodes++]=421; // 37 = D0 - -- Gspart(fNG3Particles++,"ANTI D 0",3,1.8645,0.,0.415e-12); // 38 = Anti D0 // G4AntiDMesonZero -+ Gspart(fNG3Particles++,"ANTI D 0",3,1.865,0.,4.2e-13); // 38 = Anti D0 - fPDGCode[fNPDGCodes++]=-421; // 38 = D0 bar - - -@@ -1586,43 +1584,40 @@ - Gspart(fNG3Particles++, "FeedbackPhoton", 7, 0., 0.,1.e20 ); - fPDGCode[fNPDGCodes++]=GetSpecialPdg(51); // 51 = FeedbackPhoton - // -- -- Gspart(fNG3Particles++, "Lambda_c-", 4, 2.28646, +1., 2.06e-13); -- // Gspart(fNG3Particles++, "Lambda_c+", 4, 2.28646, +1., 0.200e-12); // G4LambdacPlus -+ Gspart(fNG3Particles++, "Lambda_c+", 4, 2.2849, +1., 2.06e-13); - fPDGCode[fNPDGCodes++]=4122; //52 = Lambda_c+ - -- Gspart(fNG3Particles++, "Lambda_c-", 4, 2.28646, -1., 2.06e-13); -- // Gspart(fNG3Particles++, "Lambda_c-", 4, 2.2849, -1., 0.200e-12); // G4AntiLamdacPlus -+ Gspart(fNG3Particles++, "Lambda_c-", 4, 2.2849, -1., 2.06e-13); - fPDGCode[fNPDGCodes++]=-4122; //53 = Lambda_c- - -- Gspart(fNG3Particles++, "D_s+", 4, 1.9682, +1., 0.490e-12); // G4DsMesonPlus * booklet (July 2006): lifetime=0.500e-12 -+ Gspart(fNG3Particles++, "D_s+", 4, 1.9685, +1., 4.67e-13); - fPDGCode[fNPDGCodes++]=431; //54 = D_s+ - -- Gspart(fNG3Particles++, "D_s-", 4, 1.9682, -1., 0.490e-12); // G4DsMesonMinus * booklet: lifetime=0.500e-12 -+ Gspart(fNG3Particles++, "D_s-", 4, 1.9685, -1., 4.67e-13); - fPDGCode[fNPDGCodes++]=-431; //55 = D_s- - -- Gspart(fNG3Particles++, "Tau+", 5, 1.77699, +1., 290.6e-15); // G4TauPlus * -+ Gspart(fNG3Particles++, "Tau+", 5, 1.77705, +1., 2.9e-13); - fPDGCode[fNPDGCodes++]=-15; //56 = Tau+ - -- Gspart(fNG3Particles++, "Tau-", 5, 1.77699, -1., 290.6e-15); // G4TauMinus * -+ Gspart(fNG3Particles++, "Tau-", 5, 1.77705, -1., 2.9e-13); - fPDGCode[fNPDGCodes++]= 15; //57 = Tau- - -- Gspart(fNG3Particles++, "B0", 3, 5.2794, +0., 1.532e-12); // G4BMesonZero -+ Gspart(fNG3Particles++, "B0", 3, 5.2792, +0., 1.56e-12); - fPDGCode[fNPDGCodes++]=511; //58 = B0 - -- Gspart(fNG3Particles++, "B0 bar", 3, 5.2794, -0., 1.532e-12); // G4AntiBMesonZero -+ Gspart(fNG3Particles++, "B0 bar", 3, 5.2792, -0., 1.56e-12); - fPDGCode[fNPDGCodes++]=-511; //58 = B0bar - -- Gspart(fNG3Particles++, "B+", 4, 5.2790, +1., 1.638e-12); // G4BMesonPlus * -+ Gspart(fNG3Particles++, "B+", 4, 5.2789, +1., 1.65e-12); - fPDGCode[fNPDGCodes++]=521; //60 = B+ - -- Gspart(fNG3Particles++, "B-", 4, 5.2790, -1., 1.638e-12); // G4BMesonMinus * -+ Gspart(fNG3Particles++, "B-", 4, 5.2789, -1., 1.65e-12); - fPDGCode[fNPDGCodes++]=-521; //61 = B- - -- Gspart(fNG3Particles++, "Bs", 3, 5.3675, +0., 1.466e-12); // G4BsMesonZero -+ Gspart(fNG3Particles++, "Bs", 3, 5.3693, +0., 1.54e-12); - fPDGCode[fNPDGCodes++]=531; //62 = B_s - -- Gspart(fNG3Particles++, "Bs bar", 3, 5.3675, -0., 1.466e-12); // G4AntiBsMesonZero -+ Gspart(fNG3Particles++, "Bs bar", 3, 5.3693, -0., 1.54e-12); - fPDGCode[fNPDGCodes++]=-531; //63 = B_s bar - - Gspart(fNG3Particles++, "Lambda_b", 3, 5.624, +0., 1.24e-12); -@@ -1631,7 +1626,7 @@ - Gspart(fNG3Particles++, "Lambda_b bar", 3, 5.624, -0., 1.24e-12); - fPDGCode[fNPDGCodes++]=-5122; //65 = Lambda_b bar - -- Gspart(fNG3Particles++, "J/Psi", 3, 3.096916, 0., 7.6e-21); // G4JPsi -+ Gspart(fNG3Particles++, "J/Psi", 3, 3.09688, 0., 7.6e-21); - fPDGCode[fNPDGCodes++]=443; // 66 = J/Psi - - Gspart(fNG3Particles++, "Psi Prime", 3, 3.686, 0., 0.); -@@ -2008,26 +2003,6 @@ - Bool_t TGeant3::DefineParticle(Int_t pdg,const char* name,TMCParticleType type, - Double_t mass, Double_t charge, Double_t lifetime) - { --// Old function definition, now replaced with more arguments -- -- TVirtualMC::DefineParticle(pdg, name, type, mass, charge, lifetime); -- -- return false; --} -- -- --//______________________________________________________________________ --Bool_t TGeant3::DefineParticle(Int_t pdg,const char* name, TMCParticleType mcType, -- Double_t mass, Double_t charge, Double_t lifetime, -- const TString& /*pType*/, Double_t /*width*/, -- Int_t /*iSpin*/, Int_t /*iParity*/, Int_t /*iConjugation*/, -- Int_t /*iIsospin*/, Int_t /*iIsospinZ*/, Int_t /*gParity*/, -- Int_t /*lepton*/, Int_t /*baryon*/, -- Bool_t /*stable*/, Bool_t /*shortlived*/, -- const TString& /*subType*/, -- Int_t /*antiEncoding*/, Double_t /*magMoment*/, -- Double_t /*excitation*/) --{ - // - // Set a user defined particle - // Function is ignored if particle with specified pdg -@@ -2042,7 +2017,7 @@ - } - - // Check if particle type is known to Geant3 -- Int_t itrtyp = TransportMethod(mcType); -+ Int_t itrtyp = TransportMethod(type); - if (itrtyp < 0) { - Error("SetParticle", "Unknown particle transport."); - return kFALSE; -@@ -2056,7 +2031,7 @@ - if (!TDatabasePDG::Instance()->GetParticle(pdg)) - TDatabasePDG::Instance() - ->AddParticle(name, name, mass, kTRUE, 0, charge*3, -- ParticleClass(mcType).Data(), pdg); -+ ParticleClass(type).Data(), pdg); - - // Resize fPDGCode table if needed - if ( fNPDGCodes >= fPDGCode.GetSize() ) -@@ -2098,9 +2073,7 @@ - Double_t lifetime = 1.e20; - - // Call DefineParticle now -- return DefineParticle( -- pdg, name, partType, mass, charge, lifetime, -- "nucleus", 0.0, 1, 1, 0, 1, 1, 0, 0, 1, kTRUE); -+ return DefineParticle(pdg, name, partType, mass, charge, lifetime); - } - - //______________________________________________________________________ -@@ -2377,37 +2350,21 @@ - // - // Name of the process that has produced the secondary particles - // in the current step -- -- // Modified: to make use of GCKING/KCASE variable for determining the production -- // mechanism of the secondaries. The old method was to pick the first -- // active process from the current step's list of active processes -- // that had the capability of generating secondaries. This occasionally -- // picked the wrong secondary production mechanism. -- -- if ( fGcking->ngkine <= 0 ) return kPNoProcess; -- -- // Secondaries generated, determine production mechanism hollerith -- std::string casestr((const char*)(&(fGcking->kcase))); -- casestr.resize(4); -- -- int imech = 0; -- for (Int_t km = 0; km < MAXMEC; ++km) { -- std::string namestr((const char*)(&(fGctrak->namec[km]))); -- namestr.resize(4); -- if ( casestr == namestr ) { -- imech = km; -- break; -- } -- } -- -- TMCProcess vmcmech = G3toVMC(imech+1); -- if ( vmcmech == kPNoProcess ) { -- // failure to find matching process -- printf( -- "* TGeant3::ProdProcess secondaries present,but no matching process!* \n"); -- } -- -- return vmcmech; -+ // -+ const TMCProcess kIpProc[13] = { kPDecay, kPPair, kPCompton, -+ kPPhotoelectric, kPBrem, kPDeltaRay, -+ kPAnnihilation, kPHadronic, -+ kPMuonNuclear, kPPhotoFission, -+ kPRayleigh, kPCerenkov, kPSynchrotron}; -+ Int_t km, im; -+ // -+ if(fGcking->ngkine>0) -+ for (km = 0; km < fGctrak->nmec; ++km) -+ for (im = 0; im < 13; ++im) -+ if (G3toVMC(fGctrak->lmec[km]) == kIpProc[im]) -+ return kIpProc[im]; -+ // -+ return kPNoProcess; - } - - //______________________________________________________________________ -@@ -2418,14 +2375,6 @@ - // - Int_t i; - Int_t nproc=Gctrak()->nmec; -- -- // Set no active process if there are no processes -- if (nproc==0) { -- proc.Set(1); -- proc[0] = kPNull; -- return 1; -- } -- - // - proc.Set(nproc); - Int_t nvproc=0; -@@ -2446,10 +2395,10 @@ - // - - const TMCProcess kPG2MC1[30] = { -- kPTransportation, kPMultipleScattering, kPEnergyLoss, kPMagneticFieldL, kPDecay, -+ kPNoProcess, kPMultipleScattering, kPEnergyLoss, kPMagneticFieldL, kPDecay, - kPPair, kPCompton, kPPhotoelectric, kPBrem, kPDeltaRay, -- kPAnnihilation, kPHadronic, kPHCElastic, kPEvaporation, kPNuclearFission, -- kPNuclearAbsorption, kPPbarAnnihilation, kPNCapture, kPHIElastic, -+ kPAnnihilation, kPHadronic, kPNoProcess, kPEvaporation, kPNuclearFission, -+ kPNuclearAbsorption, kPPbarAnnihilation, kPNCapture, kPHElastic, - kPHInhelastic, kPMuonNuclear, kPTOFlimit, kPPhotoFission, kPNoProcess, - kPRayleigh, kPNoProcess, kPNoProcess, kPNoProcess, kPNull, kPStop}; - -@@ -2458,7 +2407,7 @@ - kPLightReflection, kPLightRefraction, kPSynchrotron, kPNoProcess}; - - TMCProcess proc=kPNoProcess; -- if(0= 328192 - //______________________________________________________________________ - void TGeant3::DefineOpSurface(const char* /*name*/, - EMCOpSurfaceModel /*model*/, EMCOpSurfaceType /*surfaceType*/, -@@ -3516,7 +3465,7 @@ - Warning("DefineOpSurface", - "Not applicable in Geant3 - setting is ignored."); - } -- -+#endif - //______________________________________________________________________ - void TGeant3::SetBorderSurface(const char* /*name*/, - const char* /*vol1Name*/, int /*vol1CopyNo*/, -@@ -5001,22 +4950,6 @@ - fGcmore->cleng[2] = clen[2]; - } - --void TGeant3::GetClose(Float_t *p1,Float_t *p2,Float_t *p3,Float_t *len) --{ -- p1[0] = fGcmore->p1[0]; -- p1[1] = fGcmore->p1[1]; -- p1[2] = fGcmore->p1[2]; -- p2[0] = fGcmore->p2[0]; -- p2[1] = fGcmore->p2[1]; -- p2[2] = fGcmore->p2[2]; -- p3[0] = fGcmore->p3[0]; -- p3[1] = fGcmore->p3[1]; -- p3[2] = fGcmore->p3[2]; -- len[0] = fGcmore->cleng[0]; -- len[1] = fGcmore->cleng[1]; -- len[2] = fGcmore->cleng[2]; --} -- - //______________________________________________________________________ - void TGeant3::SetDCAY(Int_t par) - { -@@ -5274,59 +5207,6 @@ - mzdrop(fGcbank->ixcons,jpa2,PASSCHARD(" ") PASSCHARL(" ")); - } - } --//______________________________________________________________________ --Bool_t TGeant3::SetDecayMode(Int_t pdg, Float_t bratio[6], Int_t mode[6][3]) --{ -- // -- // Set user decay modes by calling Gsdk -- // -- if ( pdg == 0 ) { -- printf("Cannot define decay mode for particle with PDG=0"); -- return false; -- } -- -- if ( IdFromPDG(pdg) < 0 ) { -- printf("Particle %d not in geant\n",pdg); -- return false; -- } -- -- Int_t g3mode[6]; -- Int_t id1,id2,id3; -- for (Int_t k1=0; k1<6; k1++) g3mode[k1]=0; -- for (Int_t k=0; k<6; k++) { -- -- if(mode[k][0]!=0) { -- id1= IdFromPDG(mode[k][0]); -- if ( id1 < 0 ) { -- printf("Particle %d not in geant\n",mode[k][0]); -- return false; -- } -- } -- else id1=0; -- -- if(mode[k][1]!=0) { -- id2= IdFromPDG(mode[k][1]); -- if ( id2 < 0 ) { -- printf("Particle %d not in geant\n",mode[k][1]); -- return false; -- } -- } -- else id2=0; -- -- if(mode[k][2]!=0) { -- id3= IdFromPDG(mode[k][2]); -- if ( id3 < 0 ) { -- printf("Particle %d not in geant\n",mode[k][1]); -- return false; -- } -- } -- else id3=0; -- g3mode[k]=id1 + id2* 100+ id3 * 10000 ; -- -- } -- Gsdk(IdFromPDG(pdg), bratio, g3mode); -- return kTRUE; --} - - //______________________________________________________________________ - void TGeant3::Vname(const char *name, char *vname) -@@ -6199,7 +6079,6 @@ - - DefineParticles(); - fApplication->AddParticles(); -- fApplication->AddIons(); - fApplication->ConstructGeometry(); - FinishGeometry(); - #if ROOT_VERSION_CODE >= ROOT_VERSION(5,01,1) -Only in ./TGeant3: TGeant3.cxx~ -Only in ./TGeant3: TGeant3.cxx.HOLD.072607 -Only in ./TGeant3: TGeant3.cxx.HOLD.091905 -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3f77.cxx ./TGeant3/TGeant3f77.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3f77.cxx 2007-11-19 11:08:06.057788939 -0500 -+++ ./TGeant3/TGeant3f77.cxx 2005-10-27 20:35:51.717218751 -0400 -@@ -459,14 +459,14 @@ - void gftmed(Int_t &numed, char *name, Int_t &nmat, Int_t &isvol, - Int_t &ifield, Float_t &fieldm, Float_t &tmaxfd, - Float_t &stemax, Float_t &deemax, Float_t &epsil, -- Float_t &stmin, Float_t * /*ubuf*/, Int_t * /*nbuf*/, const Int_t lname) -+ Float_t &stmin, Float_t * ubuf, Int_t * nbuf, const Int_t lname) - { - // - // Return parameters for tracking medium NUMED - // - char vname[24]; strncpy(vname,name,lname); vname[lname] = 0; - geant3->Gftmed(numed, vname, nmat, isvol, ifield, fieldm, tmaxfd, stemax, -- deemax, epsil, stmin); -+ deemax, epsil, stmin, ubuf, nbuf); - } - - -@@ -491,7 +491,7 @@ - - //_____________________________________________________________________________ - void gsmate(Int_t &imat, const char *name, Float_t &a, Float_t &z, -- Float_t &dens, Float_t &radl, Float_t &absl, Float_t */*ubuf*/, Int_t &/*nbuf*/, const Int_t lname) -+ Float_t &dens, Float_t &radl, Float_t &absl, Float_t *ubuf, Int_t &nbuf, const Int_t lname) - { - // - // Defines a Material -@@ -536,7 +536,7 @@ - - //_____________________________________________________________________________ - void gspart(Int_t &ipart, const char *name, Int_t &itrtyp, -- Float_t &amass, Float_t &charge, Float_t &tlife, Float_t * /*ubuf*/, Int_t & /*nbuf*/, const Int_t lname) -+ Float_t &amass, Float_t &charge, Float_t &tlife, Float_t *ubuf, Int_t &nbuf, const Int_t lname) - { - // - // Store particle parameters -@@ -557,7 +557,7 @@ - void gstmed(Int_t &numed, const char *name, Int_t &nmat, Int_t &isvol, - Int_t &ifield, Float_t &fieldm, Float_t &tmaxfd, - Float_t &stemax, Float_t &deemax, Float_t &epsil, -- Float_t &stmin, Float_t * /*ubuf*/, Int_t & /*nbuf*/, const Int_t lname) -+ Float_t &stmin, Float_t *ubuf, Int_t &nbuf, const Int_t lname) - { - // - // NTMED Tracking medium number -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3f77.h ./TGeant3/TGeant3f77.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3f77.h 2007-11-19 11:08:06.481763610 -0500 -+++ ./TGeant3/TGeant3f77.h 2005-10-27 12:03:22.329446121 -0400 -@@ -1,6 +1,6 @@ - #ifndef ROOT_TGeant3f77 - #define ROOT_TGeant3f77 --/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - //////////////////////////////////////////////////// - // C++/f77 interface to Geant3 basic routines // -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3gu.cxx ./TGeant3/TGeant3gu.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3gu.cxx 2007-11-19 11:08:06.296446708 -0500 -+++ ./TGeant3/TGeant3gu.cxx 2006-12-20 19:12:13.550293706 -0500 -@@ -1,4 +1,4 @@ --#include -+#include "iostream.h" - #include "TGeant3.h" - #include "TCallf77.h" - #include "TLorentzVector.h" -Only in ./TGeant3: TGeant3gu.cxx.HOLD.091905 -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3.h ./TGeant3/TGeant3.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3.h 2007-11-19 11:08:06.655760515 -0500 -+++ ./TGeant3/TGeant3.h 2007-07-26 12:50:32.019819403 -0400 -@@ -3,7 +3,7 @@ - /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - --/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - //////////////////////////////////////////////// - // C++ interface to Geant3 basic routines // -@@ -657,20 +657,8 @@ - Bool_t SetProcess(const char* flagName, Int_t flagValue); - const char *GetPath(); - const char *GetNodeName(); -- Bool_t DefineParticle(Int_t pdg, const char* name, -- TMCParticleType mcType, -+ Bool_t DefineParticle(Int_t pdg, const char* name, TMCParticleType type, - Double_t mass, Double_t charge, Double_t lifetime); -- Bool_t DefineParticle(Int_t pdg, const char* name, -- TMCParticleType mcType, -- Double_t mass, Double_t charge, Double_t lifetime, -- const TString& /*pType*/, Double_t /*width*/, -- Int_t /*iSpin*/, Int_t /*iParity*/, Int_t /*iConjugation*/, -- Int_t /*iIsospin*/, Int_t /*iIsospinZ*/, Int_t /*gParity*/, -- Int_t /*lepton*/, Int_t /*baryon*/, -- Bool_t /*stable*/, Bool_t /*shortlived*/ = kFALSE, -- const TString& /*subType*/ = "", -- Int_t /*antiEncoding*/ = 0, Double_t /*magMoment*/ = 0.0, -- Double_t /*excitation*/ = 0.0); - Bool_t DefineIon(const char* name, Int_t Z, Int_t A, Int_t Q, - Double_t excEnergy, Double_t mass); - virtual TString ParticleName(Int_t pdg) const; -@@ -716,9 +704,11 @@ - // Returns the Transformation maxtrix between the volume specified by - // the path volumePath and the Top or master volume. - Bool_t GetTransformation(const TString &volumePath,TGeoHMatrix &mat); -+#if ROOT_VERSION_CODE >= 328192 - // Returns the name of the shape and its parameters for the volume - // specified by the volumePath and the Top or master volume. - Bool_t GetShape(const TString &volumePath,TString &shapeType,TArrayD &par); -+#endif - // Returns the material parameters for the volume specified by - // the volume name. - Bool_t GetMaterial(const TString &volumeName, -@@ -989,7 +979,6 @@ - virtual void SetClose(Int_t iclose,Float_t *pf,Float_t dstrt, - Float_t *w1,Float_t *w2, - Float_t *p1,Float_t *p2,Float_t *p3,Float_t *cl); -- virtual void GetClose(Float_t *p1,Float_t *p2,Float_t *p3, Float_t *len); - virtual void SetECut(Float_t gcalpha); - virtual void SetDCAY(Int_t par=1); - virtual void SetDEBU(Int_t emin=1, Int_t emax=999, Int_t emod=1); -@@ -1013,7 +1002,6 @@ - virtual void SetSWIT(Int_t sw, Int_t val=1); - virtual void SetTRIG(Int_t nevents=1); - virtual void SetUserDecay(Int_t ipart); -- virtual Bool_t SetDecayMode(Int_t pdg, Float_t bratio[6], Int_t mode[6][3]); - virtual void Vname(const char *name, char *vname); - virtual void InitLego(); - -@@ -1157,7 +1145,6 @@ - Double_t x, Double_t y, Double_t z, Int_t irot, - const char *konly, Float_t *upar, Int_t np); - -- // particles definition - Int_t GetIonPdg(Int_t z, Int_t a, Int_t i = 0) const; - Int_t GetSpecialPdg(Int_t number) const; - -Only in ./TGeant3: TGeant3.h~ -Only in ./TGeant3: TGeant3.h.HOLD.072607 -Only in ./TGeant3: TGeant3.new.cxx~ -Only in ./TGeant3: TGeant3.new.h~ -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3TGeo.cxx ./TGeant3/TGeant3TGeo.cxx ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3TGeo.cxx 2007-12-10 11:49:56.885818639 -0500 -+++ ./TGeant3/TGeant3TGeo.cxx 2007-12-14 10:15:21.687604160 -0500 -@@ -395,8 +395,8 @@ - #include "TGeant3TGeo.h" - - #include "TGeoManager.h" --#include "TGeoMatrix.h" - #include "TGeoMCGeometry.h" -+#include "TGeoMatrix.h" - - #include "TCallf77.h" - #include "TVirtualMCDecayer.h" -@@ -2094,8 +2094,6 @@ - gGeoManager->CloseGeometry(); - } - -- if (gDebug > 0) printf("FinishGeometry, calling MisalignGeometry()\n"); -- TVirtualMCApplication::Instance()->MisalignGeometry(); - // gROOT->GetListOfBrowsables()->Add(gGeoManager); - if (gDebug > 0) printf("FinishGeometry, calling SetColors\n"); - -Only in ./TGeant3: TGeant3TGeo.cxx~ -diff -urwbB /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3TGeo.h ./TGeant3/TGeant3TGeo.h ---- /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3/TGeant3/TGeant3TGeo.h 2007-11-19 11:08:06.000909226 -0500 -+++ ./TGeant3/TGeant3TGeo.h 2006-12-20 19:34:59.906923685 -0500 -@@ -3,7 +3,7 @@ - /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - --/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ -+/* $Id: geant3.diff.050708,v 1.1.1.1 2009/02/01 17:10:04 fisyak Exp $ */ - - //////////////////////////////////////////////// - // C++ interface to Geant3 basic routines // -Only in /afs/rhic.bnl.gov/star/ROOT/5.99.99/geant3: version_number diff --git a/StarVMC/geant3/geant321/aadat.inc b/StarVMC/geant3/geant321/aadat.inc deleted file mode 100644 index e05f3c45531..00000000000 --- a/StarVMC/geant3/geant321/aadat.inc +++ /dev/null @@ -1,43 +0,0 @@ -* -* $Id: aadat.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: aadat.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:37 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_AADAT_INC -#define CERNLIB_GEANT321_AADAT_INC -* -* -* aadat.inc -* -* * -*=== aadat ============================================================* -* * - PARAMETER (IPROM = 100) - PARAMETER (ITARM = 100) - COMMON/FKAADA/ENPERN,PLPERN,SIGAA(IPROM,ITARM),SIGNN,TMASS,AAEVNO, - + SELAA(IPROM,ITARM),RLASTP(IPROM,ITARM), - + MATPRO,MATTAR,LASTM,IPROA,IPROZ,ITARA,ITARZ - - -#endif diff --git a/StarVMC/geant3/geant321/auxpar.inc b/StarVMC/geant3/geant321/auxpar.inc deleted file mode 100644 index c71e9178f70..00000000000 --- a/StarVMC/geant3/geant321/auxpar.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: auxpar.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: auxpar.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:37 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_AUXPAR_INC -#define CERNLIB_GEANT321_AUXPAR_INC -* -* -* auxpar.inc -* -C*********************************************************************** -C INCLUDE FILE: AUXPAR COPY CREATED 11/12/86 BY PA -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX6=1133) - CHARACTER*8 ANA - COMMON /FKAUXP/PXA(IDMAX6),PYA(IDMAX6),PZA(IDMAX6),HEPA(IDMAX6), - *AMA(IDMAX6),ICHA(IDMAX6),IBARA(IDMAX6), NREA(IDMAX6) - COMMON /FKAUXC/ANA(IDMAX6) - - -#endif diff --git a/StarVMC/geant3/geant321/balanc.inc b/StarVMC/geant3/geant321/balanc.inc deleted file mode 100644 index 7f78dc2c6a5..00000000000 --- a/StarVMC/geant3/geant321/balanc.inc +++ /dev/null @@ -1,46 +0,0 @@ -* -* $Id: balanc.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: balanc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:37 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_BALANC_INC -#define CERNLIB_GEANT321_BALANC_INC -* -* -* balanc.inc -* -* * -*=== balanc ==========================================================* -* * - LOGICAL LRESMP, LEVDIF, LPRDIF - COMMON /FKBALA/ ETTOT, PTTOT, PXTTOT, PYTTOT, PZTTOT, - & EINCP, EINCN, TVGREY, TVGRE0, TVEUZ, - & EUZ, PUX, PUY, PUZ, ENUCR, PXNUCR, - & PYNUCR, PZNUCR, EINTR, PXINTR, PYINTR, PZINTR, - & EFRM, PXFRM, PYFRM, PZFRM, PSEA, - & NGREYP, NGREYN, ICU, IBU, ICNUCR, IBNUCR, - & ICINTR, IBINTR, LRESMP, LEVDIF, LPRDIF - - -#endif diff --git a/StarVMC/geant3/geant321/bamjcm.inc b/StarVMC/geant3/geant321/bamjcm.inc deleted file mode 100644 index a727359e926..00000000000 --- a/StarVMC/geant3/geant321/bamjcm.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: bamjcm.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: bamjcm.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:27 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:37 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_BAMJCM_INC -#define CERNLIB_GEANT321_BAMJCM_INC -* -* -* bamjcm.inc -* -* -*=== bamjcm ===========================================================* -* - -* * -*----------------------------------------------------------------------* -* * -* Bamjcm by A. Ferrari * -* included in: * -* bamjet * -* When changing kmxjcm dimension look also at verein!!!!! * -*----------------------------------------------------------------------* -* * - PARAMETER (KMXJCM = 100) - COMMON /FKBAMJ/ RPX(KMXJCM), RPY(KMXJCM), RE(KMXJCM), - & KFR1(KMXJCM), KFR2(KMXJCM), IV(KMXJCM) - - - -#endif diff --git a/StarVMC/geant3/geant321/blank.inc b/StarVMC/geant3/geant321/blank.inc deleted file mode 100644 index b06881244a5..00000000000 --- a/StarVMC/geant3/geant321/blank.inc +++ /dev/null @@ -1,33 +0,0 @@ -* -* $Id: blank.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: blank.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_BLANK_INC -#define CERNLIB_GEANT321_BLANK_INC -* -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : - -#endif diff --git a/StarVMC/geant3/geant321/camass.inc b/StarVMC/geant3/geant321/camass.inc deleted file mode 100644 index ec10d6eedf3..00000000000 --- a/StarVMC/geant3/geant321/camass.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: camass.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: camass.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CAMASS_INC -#define CERNLIB_GEANT321_CAMASS_INC -* -* -* camass.inc -* - REAL*4 XMASS(0:11) - COMMON/CMASS/XMASS -C -C CALOR random seed - -#endif diff --git a/StarVMC/geant3/geant321/cerrcm.inc b/StarVMC/geant3/geant321/cerrcm.inc deleted file mode 100644 index df82d60158c..00000000000 --- a/StarVMC/geant3/geant321/cerrcm.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: cerrcm.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: cerrcm.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CERRCM_INC -#define CERNLIB_GEANT321_CERRCM_INC -* -* -* cerrcm.inc -* - LOGICAL CERRF - COMMON/CERRCM/CERRF,IERRU - -#endif diff --git a/StarVMC/geant3/geant321/cgcaan.inc b/StarVMC/geant3/geant321/cgcaan.inc deleted file mode 100644 index 96332bbd77b..00000000000 --- a/StarVMC/geant3/geant321/cgcaan.inc +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: cgcaan.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: cgcaan.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CGCAAN_INC -#define CERNLIB_GEANT321_CGCAAN_INC -* -* -* cgcaan.inc -* -#if !defined(CERNLIB_INCLUDE) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION RAD,COSI,SINI,COSDA(2),SINDA(2),XYHA(4,2) - INTEGER NASTP(2) - COMMON /CGCAAN/ RAD,COSI,SINI,COSDA,SINDA,XYHA,NASTP - + ,IFULL,ATREDG -#endif -#endif -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_SINGLE) - REAL COSDA(2),SINDA(2),XYHA(4,2) - INTEGER NASTP(2) - COMMON /CGCAAN/ RAD,COSI,SINI,COSDA,SINDA,XYHA,NASTP - + ,IFULL,ATREDG -#endif -#endif -* -* cgcaan.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + CGCAAN -#include "geant321/incend.inc" -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/cgcedg.inc b/StarVMC/geant3/geant321/cgcedg.inc deleted file mode 100644 index b16426e0392..00000000000 --- a/StarVMC/geant3/geant321/cgcedg.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: cgcedg.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: cgcedg.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CGCEDG_INC -#define CERNLIB_GEANT321_CGCEDG_INC -* -* -* cgcedg.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER (INPART = 30, NTTT = 50) - COMMON /CGCEDG/ TDEL,NPART,TSTRT(INPART),TEND(INPART), - + KX,KY,KZ,NPART2,TSTRT2(INPART),TEND2(INPART), - + XA,YA,ZA,XB,YB,ZB,XDELT,YDELT,ZDELT, - + ABC(3,2),DEDGE(5),TTT(2,NTTT),ITTT(NTTT) - REAL AA(3),BB(3),DELTA(3) - EQUIVALENCE (AA,XA),(BB,XB),(DELTA,XDELT) -#endif -* -* cgcedg.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + CGCEDG. -#include "geant321/incend.inc" -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/cgcfac.inc b/StarVMC/geant3/geant321/cgcfac.inc deleted file mode 100644 index 4d2b024a3c5..00000000000 --- a/StarVMC/geant3/geant321/cgcfac.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: cgcfac.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: cgcfac.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CGCFAC_INC -#define CERNLIB_GEANT321_CGCFAC_INC -* -* -* cgcfac.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER (LABC=1500) - COMMON /CGCFAC/ F1(LABC),F2(LABC),F3(LABC),RFMIN(3),RFMAX(3), - + AABCD(4),DRFACE(5) -#endif -* -* cgcfac.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + CGCFAC. -#include "geant321/incend.inc" -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/cgctra.inc b/StarVMC/geant3/geant321/cgctra.inc deleted file mode 100644 index ca6dae437b7..00000000000 --- a/StarVMC/geant3/geant321/cgctra.inc +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: cgctra.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: cgctra.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CGCTRA_INC -#define CERNLIB_GEANT321_CGCTRA_INC -* -* -* cgctra.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER (NTMAX = 3) - COMMON /CGCTRA/ TSCRN(4,3,NTMAX),TBACK(4,3,NTMAX) -#endif -* -* cgctra.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + CGCTRA. -#include "geant321/incend.inc" -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/cgdelt.inc b/StarVMC/geant3/geant321/cgdelt.inc deleted file mode 100644 index b7a3ff3b86a..00000000000 --- a/StarVMC/geant3/geant321/cgdelt.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: cgdelt.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: cgdelt.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CGDELT_INC -#define CERNLIB_GEANT321_CGDELT_INC -* -* -* cgdelt.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER (DELWOR = 2.**13, DELSCR = 2.**11) - PARAMETER (DEWOR = .5/DELWOR, EEWOR = 1./DELWOR) - PARAMETER (DESCR = .5/DELSCR, EESCR = 1./DELSCR) -#endif -* -* cgdelt.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + CGDELT. -#include "geant321/incend.inc" -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/cggpar.inc b/StarVMC/geant3/geant321/cggpar.inc deleted file mode 100644 index 8d5d6afbb16..00000000000 --- a/StarVMC/geant3/geant321/cggpar.inc +++ /dev/null @@ -1,61 +0,0 @@ -* -* $Id: cggpar.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: cggpar.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CGGPAR_INC -#define CERNLIB_GEANT321_CGGPAR_INC -* -* -* cggpar.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER (LCGHEA=3, KCGSIZ=1) - PARAMETER ( KCGATT=2) - PARAMETER ( KCGNF =3) - PARAMETER (LCGFAC=6, KCGAF =1) - PARAMETER ( KCGAA =2) - PARAMETER ( KCGBB =3) - PARAMETER ( KCGCC =4) - PARAMETER ( KCGDD =5) - PARAMETER ( KCGNE =6) - PARAMETER (LCGEDG=7, KCGAE =1) - PARAMETER ( KCGX1 =2) - PARAMETER ( KCGY1 =3) - PARAMETER ( KCGZ1 =4) - PARAMETER ( KCGX2 =5) - PARAMETER ( KCGY2 =6) - PARAMETER ( KCGZ2 =7) -#endif -* -* cggpar.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + CGGPAR. -#include "geant321/incend.inc" -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/cghpar.inc b/StarVMC/geant3/geant321/cghpar.inc deleted file mode 100644 index 020a1b488fd..00000000000 --- a/StarVMC/geant3/geant321/cghpar.inc +++ /dev/null @@ -1,60 +0,0 @@ -* -* $Id: cghpar.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: cghpar.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CGHPAR_INC -#define CERNLIB_GEANT321_CGHPAR_INC -* -* -* cghpar.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER (I4SIZE = 1) - PARAMETER (LHHEAD=18,KHSIZE=1) - PARAMETER ( KHNT =2) - PARAMETER ( KHIFWI=3) - PARAMETER ( KHNXYZ=8) - PARAMETER ( KHNFAC=9) - PARAMETER ( KHNEDG=10) - PARAMETER ( KHJXYZ=11) - PARAMETER ( KHJFA =12) - PARAMETER ( KHJPFA=13) - PARAMETER ( KHJDFA=14) - PARAMETER ( KHJTRE=15) - PARAMETER ( KHJSTA=16) - PARAMETER ( KHJALE=17) - PARAMETER ( KHJARI=18) -#endif -* -* cghpar.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + CGHPAR. -#include "geant321/incend.inc" -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/cgxcom.inc b/StarVMC/geant3/geant321/cgxcom.inc deleted file mode 100644 index 4b96f9ba422..00000000000 --- a/StarVMC/geant3/geant321/cgxcom.inc +++ /dev/null @@ -1,46 +0,0 @@ -* -* $Id: cgxcom.inc,v 1.1.1.2 2009/02/01 17:10:19 fisyak Exp $ -* -* $Log: cgxcom.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:19 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CGXCOM_INC -#define CERNLIB_GEANT321_CGXCOM_INC -* -* -* cgxcom.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON /CGXCOM/ IXLUN,NXMAX,NXCUR,NXNODE,NXEDGE,NXFACE -#endif -* -* cgxcom.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + CGXCOM. -#include "geant321/incend.inc" -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/cmagic.inc b/StarVMC/geant3/geant321/cmagic.inc deleted file mode 100644 index d7fe001a67b..00000000000 --- a/StarVMC/geant3/geant321/cmagic.inc +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: cmagic.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: cmagic.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CMAGIC_INC -#define CERNLIB_GEANT321_CMAGIC_INC -* -* -* cmagic.inc -* - PARAMETER(NMAGIC=123456789) - -#endif diff --git a/StarVMC/geant3/geant321/cmass.inc b/StarVMC/geant3/geant321/cmass.inc deleted file mode 100644 index 3bda68df3b7..00000000000 --- a/StarVMC/geant3/geant321/cmass.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: cmass.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: cmass.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CMASS_INC -#define CERNLIB_GEANT321_CMASS_INC -* -* -* cmass.inc -* -#include "geant321/camass.inc" - DIMENSION PMASS(12) - EQUIVALENCE(PMASS(1),XMASS(0)) - -#endif diff --git a/StarVMC/geant3/geant321/cmsres.inc b/StarVMC/geant3/geant321/cmsres.inc deleted file mode 100644 index e83c3db19e0..00000000000 --- a/StarVMC/geant3/geant321/cmsres.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: cmsres.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: cmsres.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:37 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CMSRES_INC -#define CERNLIB_GEANT321_CMSRES_INC -* -* -* cmsres.inc -* -C*********************************************************************** -C INCLUDE FILE: CMSRES COPY CREATED 11/12/86 BY PA -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX5=1133) - CHARACTER*8 ANR - COMMON /FKCMSR/PXR(IDMAX5),PYR(IDMAX5),PZR(IDMAX5),HER(IDMAX5), - *AMR(IDMAX5),ICHR(IDMAX5),IBARR(IDMAX5), NRER(IDMAX5), - *NRES - COMMON /FKCMSC/ANR(IDMAX5) - - -#endif diff --git a/StarVMC/geant3/geant321/comcon.inc b/StarVMC/geant3/geant321/comcon.inc deleted file mode 100644 index 305454d7a9c..00000000000 --- a/StarVMC/geant3/geant321/comcon.inc +++ /dev/null @@ -1,68 +0,0 @@ -* -* $Id: comcon.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: comcon.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:37 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_COMCON_INC -#define CERNLIB_GEANT321_COMCON_INC -* -* -* comcon.inc -* -* -*=== comcon ===========================================================* -* -*----------------------------------------------------------------------* -* * -* include file: comcon copy created 26/11/86 by pa * -* * -* Last change on 30-oct-92 by Alfredo Ferrari, INFN - Milan * -* included in the following subroutines or functions: not updated * -* * -* description of the common block(s) and variable(s) * -* * -* * -* /comcon/ contains information about compounds * -* icompl(imat) = number of materials in a compound * -* matnum(i) = material numbers (compounds consist of the * -* materials) * -* aocmbc(i) = atomic densities in barn**-1 cm**-1 * -* (Atoms Over Cm times Barn for Compounds) * -* cona13(i) = A^1/3 of the constituents * -* sumzmf(i) = cumulative z^2 for multiple scattering * -* contnt(i) = partial densities * -* sumacn(i) = cumulative atom contents of the compounds * -* cabinx(i) = cumulative at.cont.*inelastic cross section * -* cabelx(i) = cumulative at.cont.* elastic cross section * -* anxnor = total inelastic cross section * -* elxnor = total elastic cross section * -*----------------------------------------------------------------------* -* - COMMON /FKCOMC/ AOCMBC (ICOMAX), CONA13 (ICOMAX), SUMZMF (ICOMAX), - & CONTNT (ICOMAX), SUMACN (ICOMAX), CABINX (ICOMAX), - & CABELX (ICOMAX), ANXNOR, ELXNOR, ICOMPL (MXXMDF), - & MATNUM (ICOMAX) - - -#endif diff --git a/StarVMC/geant3/geant321/comcont.inc b/StarVMC/geant3/geant321/comcont.inc deleted file mode 100644 index db568b4d6b7..00000000000 --- a/StarVMC/geant3/geant321/comcont.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: comcont.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: comcont.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:37 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_COMCONT_INC -#define CERNLIB_GEANT321_COMCONT_INC -* -* -* comcont.inc -* - DOUBLE PRECISION AOCMBC, CONTNT, SUMACN, CABINX, CABELX, - & ANXNOR, ELXNOR, CONA13, SUMZMF - - -#endif diff --git a/StarVMC/geant3/geant321/corinc.inc b/StarVMC/geant3/geant321/corinc.inc deleted file mode 100644 index dce40b1f438..00000000000 --- a/StarVMC/geant3/geant321/corinc.inc +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: corinc.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: corinc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:37 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CORINC_INC -#define CERNLIB_GEANT321_CORINC_INC -* -* -* corinc.inc -* -* * -*=== corinc ===========================================================* -* * -*----------------------------------------------------------------------* -* * -* Modified by A. Ferrari: be sure that the parameter Inmax is >= * -* of the same parameter in the function Nudist * -*----------------------------------------------------------------------* -* - PARAMETER ( INMAX = 20 ) - COMMON /FKCORI/ XSEA (INMAX), XASEA (INMAX), FRAINC, ANUAV, - & IJTARG (INMAX+1), NSEA - - -#endif diff --git a/StarVMC/geant3/geant321/crandm.inc b/StarVMC/geant3/geant321/crandm.inc deleted file mode 100644 index 4d4c7a0e7f0..00000000000 --- a/StarVMC/geant3/geant321/crandm.inc +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: crandm.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: crandm.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_CRANDM_INC -#define CERNLIB_GEANT321_CRANDM_INC -* -* -* crandm.inc -* -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION RANDC -C -#endif -#if defined(CERNLIB_SINGLE) - REAL RANDC -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/dblprc.inc b/StarVMC/geant3/geant321/dblprc.inc deleted file mode 100644 index 788d519a378..00000000000 --- a/StarVMC/geant3/geant321/dblprc.inc +++ /dev/null @@ -1,291 +0,0 @@ -* -* $Id: dblprc.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: dblprc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_DBLPRC_INC -#define CERNLIB_GEANT321_DBLPRC_INC -* -* -* dblprc.inc -* -#if defined(CERNLIB_DOUBLE) -* * -*=== dblprc ==========================================================* -* * -*---------------------------------------------------------------------* -* * -* Dblprc: included in any routine * -* * -* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -* !!!! O N M A C H I N E S W H E R E T H E D O U B L E !!!! * -* !!!! P R E C I S I O N I S N O T R E Q U I R E D R E -!!!! * -* !!!! M O V E T H E D O U B L E P R E C I S I O N !!!! * -* !!!! S T A T E M E N T, S E T K A L G N M = 1 A N D !!!! * -* !!!! C H A N G E A L L N U M E R I C A L C O N S - !!!! * -* !!!! T A N T S T O S I N G L E P R E C I S I O N !!!! * -* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -* * -* Kalgnm = real address alignment, 2 for double precision, * -* 1 for single precision * -* Anglgb = this parameter should be set equal to the machine * -* "zero" with respect to unit * -* Anglsq = this parameter should be set equal to the square * -* of Anglgb * -* Axcssv = this parameter should be set equal to the number * -* for which unity is negligible for the machine * -* accuracy * -* Andrfl = "underflow" of the machine for floating point * -* operation * -* Avrflw = "overflow" of the machine for floating point * -* operation * -* Ainfnt = code "infinite" * -* Azrzrz = code "zero" * -* Einfnt = natural logarithm of the code "infinite" * -* Ezrzrz = natural logarithm of the code "zero" * -* Onemns = 1- of the machine, it is 1 - 2 x Anglgb * -* Onepls = 1+ of the machine, it is 1 + 2 x Anglgb * -* Csnnrm = maximum tolerable error on cosine normalization, * -* u**2+v**2+w**2: assuming a typical anglgb relative * -* error on each component we would get 2xanglgb: use * -* 4xanglgb to avoid too many normalizations * -* Dmxtrn = "infinite" distance for transport (cm) * -* * -*---------------------------------------------------------------------* -* * - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - PARAMETER ( KALGNM = 2 ) - PARAMETER ( ANGLGB = 5.0D-16 ) - PARAMETER ( ANGLSQ = 2.5D-31 ) - PARAMETER ( AXCSSV = 0.2D+16 ) - PARAMETER ( ANDRFL = 1.0D-38 ) - PARAMETER ( AVRFLW = 1.0D+38 ) - PARAMETER ( AINFNT = 1.0D+30 ) - PARAMETER ( AZRZRZ = 1.0D-30 ) - PARAMETER ( EINFNT = +69.07755278982137 D+00 ) - PARAMETER ( EZRZRZ = -69.07755278982137 D+00 ) - PARAMETER ( ONEMNS = 0.999999999999999 D+00 ) - PARAMETER ( ONEPLS = 1.000000000000001 D+00 ) - PARAMETER ( CSNNRM = 2.0D-15 ) - PARAMETER ( DMXTRN = 1.0D+08 ) -* -*======================================================================* -*======================================================================* -*========= ==========* -*========= M A T H E M A T I C A L C O N S T A N T S ==========* -*========= ==========* -*======================================================================* -*======================================================================* -* * -* Numerical constants: * -* * -* Zerzer = 0 * -* Oneone = 1 * -* Twotwo = 2 * -* Thrthr = 3 * -* Foufou = 4 * -* Fivfiv = 5 * -* Sixsix = 6 * -* Sevsev = 7 * -* Eigeig = 8 * -* Aninen = 9 * -* Tenten = 10 * -* Hlfhlf = 1/2 * -* Onethi = 1/3 * -* Twothi = 2/3 * -* Pipipi = Circumference / diameter * -* Eneper = "e", base of natural logarithm * -* Sqrent = square root of "e" * -* * -*----------------------------------------------------------------------* -* - PARAMETER ( ZERZER = 0.D+00 ) - PARAMETER ( ONEONE = 1.D+00 ) - PARAMETER ( TWOTWO = 2.D+00 ) - PARAMETER ( THRTHR = 3.D+00 ) - PARAMETER ( FOUFOU = 4.D+00 ) - PARAMETER ( FIVFIV = 5.D+00 ) - PARAMETER ( SIXSIX = 6.D+00 ) - PARAMETER ( SEVSEV = 7.D+00 ) - PARAMETER ( EIGEIG = 8.D+00 ) - PARAMETER ( ANINEN = 9.D+00 ) - PARAMETER ( TENTEN = 10.D+00 ) - PARAMETER ( HLFHLF = 0.5D+00 ) - PARAMETER ( ONETHI = ONEONE / THRTHR ) - PARAMETER ( TWOTHI = TWOTWO / THRTHR ) - PARAMETER ( PIPIPI = 3.1415926535897932270 D+00 ) - PARAMETER ( ENEPER = 2.7182818284590452354 D+00 ) - PARAMETER ( SQRENT = 1.6487212707001281468 D+00 ) -* -*======================================================================* -*======================================================================* -*========= ==========* -*========= P H Y S I C A L C O N S T A N T S ==========* -*========= ==========* -*======================================================================* -*======================================================================* -* * -* Primary constants: * -* * -* Clight = speed of light in cm s-1 * -* Avogad = Avogadro number * -* Amelgr = electron mass (g) * -* Plckbr = reduced Planck constant (erg s) * -* Elccgs = elementary charge (CGS unit) * -* Elcmks = elementary charge (MKS unit) * -* Amugrm = Atomic mass unit (g) * -* Ammumu = Muon mass (amu) * -* * -* Derived constants: * -* * -* Alpfsc = Fine structure constant = e^2/(hbar c) * -* Amelct = Electron mass (GeV) = 10^-16Amelgr Clight^2 / Elcmks* -* Amugev = Atomic mass unit (GeV) = 10^-16Amelgr Clight^2 * -* / Elcmks * -* Ammuon = Muon mass (GeV) = Ammumu * Amugev * -* Fscto2 = (Fine structure constant)^2 * -* Fscto3 = (Fine structure constant)^3 * -* Fscto4 = (Fine structure constant)^4 * -* Plabrc = Reduced Planck constant times the light velocity * -* expressed in GeV fm * -* Rclsel = Classical electron radius (cm) = e^2 / (m_e c^2) * -* Conversion constants: * -* GeVMeV = from GeV to MeV * -* eMVGeV = from MeV to GeV * -* Raddeg = from radians to degrees * -* Degrad = from degrees to radians * -* * -*----------------------------------------------------------------------* -* - PARAMETER ( CLIGHT = 2.99792458 D+10 ) - PARAMETER ( AVOGAD = 6.0221367 D+23 ) - PARAMETER ( AMELGR = 9.1093897 D-28 ) - PARAMETER ( PLCKBR = 1.05457266 D-27 ) - PARAMETER ( ELCCGS = 4.8032068 D-10 ) - PARAMETER ( ELCMKS = 1.60217733 D-19 ) - PARAMETER ( AMUGRM = 1.6605402 D-24 ) - PARAMETER ( AMMUMU = 0.113428913 D+00 ) -* PARAMETER ( ALPFSC = 1.D+00 / 137.035989561D+00 ) -* PARAMETER ( FSCTO2 = ALPFSC * ALPFSC ) -* PARAMETER ( FSCTO3 = FSCTO2 * ALPFSC ) -* PARAMETER ( FSCTO4 = FSCTO3 * ALPFSC ) -* It is important to set the electron mass exactly with the same -* rounding as in the mass tables, so use the explicit expression -* PARAMETER ( AMELCT = 1.D-16 * AMELGR * CLIGHT * CLIGHT / ELCMKS ) -* It is important to set the amu mass exactly with the same -* rounding as in the mass tables, so use the explicit expression -* PARAMETER ( AMUGEV = 1.D-16 * AMUGRM * CLIGHT * CLIGHT / ELCMKS ) -* It is important to set the muon mass exactly with the same -* rounding as in the mass tables, so use the explicit expression -* PARAMETER ( AMMUON = AMMUMU * AMUGEV ELCMKS ) -* PARAMETER ( RCLSEL = ELCCGS * ELCCGS / CLIGHT / CLIGHT / AMELGR ) - PARAMETER ( ALPFSC = 7.2973530791728595 D-03 ) - PARAMETER ( FSCTO2 = 5.3251361962113614 D-05 ) - PARAMETER ( FSCTO3 = 3.8859399018437826 D-07 ) - PARAMETER ( FSCTO4 = 2.8357075508200407 D-09 ) - PARAMETER ( PLABRC = 0.197327053 D+00 ) - PARAMETER ( AMELCT = 0.51099906 D-03 ) - PARAMETER ( AMUGEV = 0.93149432 D+00 ) - PARAMETER ( AMMUON = 0.105658389 D+00 ) - PARAMETER ( RCLSEL = 2.8179409183694872 D-13 ) - PARAMETER ( GEVMEV = 1.0 D+03 ) - PARAMETER ( EMVGEV = 1.0 D-03 ) - PARAMETER ( RADDEG = 180.D+00 / PIPIPI ) - PARAMETER ( DEGRAD = PIPIPI / 180.D+00 ) - -#endif -#if defined(CERNLIB_SINGLE) - IMPLICIT REAL (A-H,O-Z) - PARAMETER ( KALGNM = 1 ) - PARAMETER ( ANGLGB = 5.0e-16 ) - PARAMETER ( ANGLSQ = 2.5e-31 ) - PARAMETER ( AXCSSV = 0.2e+16 ) - PARAMETER ( ANDRFL = 1.0e-38 ) - PARAMETER ( AVRFLW = 1.0e+38 ) - PARAMETER ( AINFNT = 1.0e+30 ) - PARAMETER ( AZRZRZ = 1.0e-30 ) - PARAMETER ( EINFNT = +69.07755278982137 e+00 ) - PARAMETER ( EZRZRZ = -69.07755278982137 e+00 ) - PARAMETER ( ONEMNS = 0.999999999999999 e+00 ) - PARAMETER ( ONEPLS = 1.000000000000001 e+00 ) - PARAMETER ( CSNNRM = 2.0e-15 ) - PARAMETER ( DMXTRN = 1.0e+08 ) -* - PARAMETER ( ZERZER = 0.e+00 ) - PARAMETER ( ONEONE = 1.e+00 ) - PARAMETER ( TWOTWO = 2.e+00 ) - PARAMETER ( THRTHR = 3.e+00 ) - PARAMETER ( FOUFOU = 4.e+00 ) - PARAMETER ( FIVFIV = 5.e+00 ) - PARAMETER ( SIXSIX = 6.e+00 ) - PARAMETER ( SEVSEV = 7.e+00 ) - PARAMETER ( EIGEIG = 8.e+00 ) - PARAMETER ( ANINEN = 9.e+00 ) - PARAMETER ( TENTEN = 10.e+00 ) - PARAMETER ( HLFHLF = 0.5e+00 ) - PARAMETER ( ONETHI = ONEONE / THRTHR ) - PARAMETER ( TWOTHI = TWOTWO / THRTHR ) - PARAMETER ( PIPIPI = 3.1415926535897932270 e+00 ) - PARAMETER ( ENEPER = 2.7182818284590452354 e+00 ) - PARAMETER ( SQRENT = 1.6487212707001281468 e+00 ) -* - PARAMETER ( CLIGHT = 2.99792458 e+10 ) - PARAMETER ( AVOGAD = 6.0221367 e+23 ) - PARAMETER ( AMELGR = 9.1093897 e-28 ) - PARAMETER ( PLCKBR = 1.05457266 e-27 ) - PARAMETER ( ELCCGS = 4.8032068 e-10 ) - PARAMETER ( ELCMKS = 1.60217733 e-19 ) - PARAMETER ( AMUGRM = 1.6605402 e-24 ) - PARAMETER ( AMMUMU = 0.113428913 e+00 ) -* PARAMETER ( ALPFSC = 1.e+00 / 137.035989561e+00 ) -* PARAMETER ( FSCTO2 = ALPFSC * ALPFSC ) -* PARAMETER ( FSCTO3 = FSCTO2 * ALPFSC ) -* PARAMETER ( FSCTO4 = FSCTO3 * ALPFSC ) -* It is important to set the electron mass exactly with the same -* rounding as in the mass tables, so use the explicit expression -* PARAMETER ( AMELCT = 1.e-16 * AMELGR * CLIGHT * CLIGHT / ELCMKS ) -* It is important to set the amu mass exactly with the same -* rounding as in the mass tables, so use the explicit expression -* PARAMETER ( AMUGEV = 1.e-16 * AMUGRM * CLIGHT * CLIGHT / ELCMKS ) -* It is important to set the muon mass exactly with the same -* rounding as in the mass tables, so use the explicit expression -* PARAMETER ( AMMUON = AMMUMU * AMUGEV ELCMKS ) -* PARAMETER ( RCLSEL = ELCCGS * ELCCGS / CLIGHT / CLIGHT / AMELGR ) - PARAMETER ( ALPFSC = 7.2973530791728595 e-03 ) - PARAMETER ( FSCTO2 = 5.3251361962113614 e-05 ) - PARAMETER ( FSCTO3 = 3.8859399018437826 e-07 ) - PARAMETER ( FSCTO4 = 2.8357075508200407 e-09 ) - PARAMETER ( PLABRC = 0.197327053 e+00 ) - PARAMETER ( AMELCT = 0.51099906 e-03 ) - PARAMETER ( AMUGEV = 0.93149432 e+00 ) - PARAMETER ( AMMUON = 0.105658389 e+00 ) - PARAMETER ( RCLSEL = 2.8179409183694872 e-13 ) - PARAMETER ( GEVMEV = 1.0 e+03 ) - PARAMETER ( EMVGEV = 1.0 e-03 ) - PARAMETER ( RADDEG = 180.e+00 / PIPIPI ) - PARAMETER ( DEGRAD = PIPIPI / 180.e+00 ) - -#endif - -#endif diff --git a/StarVMC/geant3/geant321/decayc.inc b/StarVMC/geant3/geant321/decayc.inc deleted file mode 100644 index 7a194001c3b..00000000000 --- a/StarVMC/geant3/geant321/decayc.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: decayc.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: decayc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_DECAYC_INC -#define CERNLIB_GEANT321_DECAYC_INC -* -* -* decayc.inc -* -C*********************************************************************** -C INCLUDE FILE: DECAYC COPY CREATED 12/12/86 BY PA -C NOTE: SEE ALSO DECAYC2 COPY -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX9=540) - CHARACTER*8 ZKNAME - COMMON/FKDECC/ NZK(IDMAX9,3),WT(IDMAX9) - COMMON/FKDECH/ ZKNAME(IDMAX9) - - -#endif diff --git a/StarVMC/geant3/geant321/decayc2.inc b/StarVMC/geant3/geant321/decayc2.inc deleted file mode 100644 index 333b32a2242..00000000000 --- a/StarVMC/geant3/geant321/decayc2.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: decayc2.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: decayc2.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_DECAYC2_INC -#define CERNLIB_GEANT321_DECAYC2_INC -* -* -* decayc2.inc -* -C*********************************************************************** -C INCLUDE FILE: DECAYC2 COPY CREATED 12/12/86 BY A -C NOTE: SEE ALSO DECAYC COPY -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX9=540) - CHARACTER*8 ZKNAMC - COMMON /FKDECC/ NZKC(IDMAX9,3),WTC(IDMAX9) - COMMON/FKDECH/ ZKNAMC(IDMAX9) - - -#endif diff --git a/StarVMC/geant3/geant321/depnuc.inc b/StarVMC/geant3/geant321/depnuc.inc deleted file mode 100644 index a135b865028..00000000000 --- a/StarVMC/geant3/geant321/depnuc.inc +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: depnuc.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: depnuc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_DEPNUC_INC -#define CERNLIB_GEANT321_DEPNUC_INC -* -* -* depnuc.inc -* -* * -*=== depnuc ==========================================================* -* * - LOGICAL LLASTN, LLAST1 - COMMON /FKDEPN/ EKLAST, AMLAST, PXLAST, PYLAST, PZLAST, - & EKINC , AMINC , PXXINC, PYYINC, PZZINC, - & KTLAST, KTINC , LLASTN, LLAST1 - - -#endif diff --git a/StarVMC/geant3/geant321/dimpar.inc b/StarVMC/geant3/geant321/dimpar.inc deleted file mode 100644 index c985699cf8d..00000000000 --- a/StarVMC/geant3/geant321/dimpar.inc +++ /dev/null @@ -1,67 +0,0 @@ -* -* $Id: dimpar.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: dimpar.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_DIMPAR_INC -#define CERNLIB_GEANT321_DIMPAR_INC -* -* -* dimpar.inc -* -* * -*=== dimpar ==========================================================* -* * -*---------------------------------------------------------------------* -* * -* DIMPAR: included in any routine * -* * -* Mxxrgn = maximum number of regions * -* Mxxmdf = maximum number of media in Fluka * -* Mxxmde = maximum number of media in Emf * -* Mfstck = stack dimension in Fluka * -* Mestck = stack dimension in Emf * -* Nallwp = number of allowed particles * -* Mpdpdx = number of particle types for which EM dE/dx pro- * -* cesses (ion,pair,bremss) have to be computed * -* Icomax = maximum number of materials for compounds (equal * -* to the sum of the number of materials for every * -* compound ) * -* Nstbis = number of stable isotopes recorded in common iso- * -* top * -* * -*---------------------------------------------------------------------* -* * - PARAMETER ( MXXRGN = 500 ) - PARAMETER ( MXXMDF = 50 ) - PARAMETER ( MXXMDE = 18 ) - PARAMETER ( MFSTCK = 1000 ) - PARAMETER ( MESTCK = 100 ) - PARAMETER ( NALLWP = 39 ) - PARAMETER ( MPDPDX = 8 ) - PARAMETER ( ICOMAX = 120 ) - PARAMETER ( NSTBIS = 304 ) - - -#endif diff --git a/StarVMC/geant3/geant321/eropts.inc b/StarVMC/geant3/geant321/eropts.inc deleted file mode 100644 index f590617ebb4..00000000000 --- a/StarVMC/geant3/geant321/eropts.inc +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: eropts.inc,v 1.3 2009/02/01 17:29:51 fisyak Exp $ -* -* $Log: eropts.inc,v $ -* Revision 1.3 2009/02/01 17:29:51 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:47:09 fisyak -* Merge with macos version -* -* Revision 1.2 2005/06/09 00:09:25 fisyak -* comply with STAR -* -* Revision 1.2 2004/03/01 17:26:25 fisyak -* Get rid of staf -* -* Revision 1.1 1999/12/07 15:44:29 fisyak -* Add geane, new TGeant3 from Alice -* -* Revision 1.2 1996/07/25 15:01:02 ravndal -* CMZ to CVS conversion artefact removed -* -* Revision 1.1 1996/03/06 15:32:33 mclareni -* Add geane321 includes -* -* -#ifndef CERNLIB_ERPRCDES_EROPTS_INC -#define CERNLIB_ERPRCDES_EROPTS_INC -* -* Sequence for conditions to stop tracking -* -* eropts.inc -* - CHARACTER*8 CHOPTI - LOGICAL LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU, LEVMIX - REAL ERPLI, ERPLO, ERLENG - INTEGER NAMEER, NUMVER, IOVLER - COMMON /EROPTS/ ERPLI(3,2), ERPLO(3,4,MXPRED), ERLENG(MXPRED), - + NAMEER(MXPRED), NUMVER(MXPRED), IOVLER(MXPRED), - + LEEXAC, LELENG, LEONLY, LEPLAN, LEPOIN, LEVOLU, LEVMIX - COMMON /EROPTC/CHOPTI -* -* eropts.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant231/incbeg.inc" - + EROPTS -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/ertrio.inc b/StarVMC/geant3/geant321/ertrio.inc deleted file mode 100644 index 95a62111700..00000000000 --- a/StarVMC/geant3/geant321/ertrio.inc +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: ertrio.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: ertrio.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.2 1996/07/25 15:00:40 ravndal -* CMZ to CVS conversion artefact removed -* -* Revision 1.1 1996/03/06 15:32:34 mclareni -* Add geane321 includes -* -* -#ifndef CERNLIB_ERPRCDES_ERTRIO_INC -#define CERNLIB_ERPRCDES_ERTRIO_INC -* -* Sequence for input-output -* -* ertrio.inc -* - INTEGER MXPRED - PARAMETER (MXPRED = 10) - DOUBLE PRECISION ERDTRP - REAL ERRIN, ERROUT, ERTRSP, ERXIN, ERXOUT, ERPIN, - + ERPOUT - INTEGER NEPRED, INLIST, ILPRED, IEPRED - COMMON /ERTRIO/ ERDTRP(5,5,MXPRED), ERRIN(15), ERROUT(15,MXPRED), - + ERTRSP(5,5,MXPRED), ERXIN( 3), ERXOUT( 3,MXPRED), - + ERPIN(3), ERPOUT(3,MXPRED), NEPRED,INLIST,ILPRED, - + IEPRED(MXPRED) -#include "geant321/eropts.inc" - - -* -* ertrio.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + ERTRIO -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/erwork.inc b/StarVMC/geant3/geant321/erwork.inc deleted file mode 100644 index 6ccf7f36982..00000000000 --- a/StarVMC/geant3/geant321/erwork.inc +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: erwork.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: erwork.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.2 1996/07/25 15:01:16 ravndal -* CMZ to CVS conversion artefact removed -* -* Revision 1.1 1996/03/06 15:32:34 mclareni -* Add geane321 includes -* -* -#ifndef CERNLIB_ERPRCDES_ERWORK_INC -#define CERNLIB_ERPRCDES_ERWORK_INC -* -* Working sequences for the interface -* -* erwork.inc -* - DOUBLE PRECISION EI, EF, ASDSC - COMMON /ERWORK/ EI(15), EF(15), ASDSC(5,5), - + XI(3), PPI(3), HI(9), - + XF(3), PF(3), HF(9), - + CHTR, DEDX2, BACKTR, CUTEK, TLGCM2, TLRAD -* -* erwork.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + ERWORK -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/eva0.inc b/StarVMC/geant3/geant321/eva0.inc deleted file mode 100644 index afb36e34109..00000000000 --- a/StarVMC/geant3/geant321/eva0.inc +++ /dev/null @@ -1,43 +0,0 @@ -* -* $Id: eva0.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: eva0.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_EVA0_INC -#define CERNLIB_GEANT321_EVA0_INC -* -* -* eva0.inc -* -* * -*=== eva0 =============================================================* -* * - COMMON / FKEVA0 / Y0, B0, P0 (1001), P1 (1001), P2 (1001), - * FLA (6), FLZ (6), RHO (6), OMEGA (6), EXMASS (6), - * CAM2 (130), CAM3 (200), CAM4 (130), CAM5 (200), - * T (4,7), RMASS (297), ALPH (297), BET (297), - * WAPS (250,11), APRIME (250), IA (6), IZ (6) - - -#endif diff --git a/StarVMC/geant3/geant321/eva1.inc b/StarVMC/geant3/geant321/eva1.inc deleted file mode 100644 index 4919083cf46..00000000000 --- a/StarVMC/geant3/geant321/eva1.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: eva1.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: eva1.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_EVA1_INC -#define CERNLIB_GEANT321_EVA1_INC -* -* -* eva1.inc -* -* * -*=== eva1 =============================================================* -* * - COMMON /FKEVA1/ NPART(6),EPART(100,6),COSEVP(3,100,6),HEVSUM - - -#endif diff --git a/StarVMC/geant3/geant321/fheavy.inc b/StarVMC/geant3/geant321/fheavy.inc deleted file mode 100644 index 8fc82c0882f..00000000000 --- a/StarVMC/geant3/geant321/fheavy.inc +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: fheavy.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: fheavy.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FHEAVY_INC -#define CERNLIB_GEANT321_FHEAVY_INC -* -* -* fheavy.inc -* -* -*=== fheavy ===========================================================* -* -*----------------------------------------------------------------------* -* Last change on 9 March 1993 by Alfredo Ferrari, INFN Milan * -* include file: fheavy copy created 5/4/90 by A. Ferrari * -* changes: none * -* included in the following subroutines or functions: not updated * -* * -* description of the common block(s) and variable(s) * -* * -* /fheavy/ is the storage for heavy secondaries created in the * -* nuclear evaporation * -* npheav = number of secondaries * -* kheavy(ip) = type of the secondary ip * -* ( 3 = deuteron, 4 = 3-H, 5 = 3-He, 6 = 4-He, * -* 7-12 = "Heavy" fragment specified by Ibheav and * -* Icheav ) * -* cxheav(ip) = direction cosine of the secondary ip * -* with respect to x-axis * -* cyheav(ip) = direction cosine of the secondary ip * -* with respect to y-axis * -* czheav(ip) = direction cosine of the secondary ip * -* with respect to z-axis * -* tkheav(ip) = kinetic energy of secondary ip * -* pheavy(ip) = momentum of the secondary ip * -* wheavy(ip) = weight of the secondary ip * -* amheav(ip) = atomic masses of the six types of evaporated * -* particles * -* anheav(kp) = name of the kp-type heavy particle * -* icheav(kp) = charge of the kp-type heavy particle * -* ibheav(kp) = mass number of the kp-type heavy particle * -* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -* !!! There is now the possibility to produce up to 6 "heavy" !!!! * -* !!! fragments besides the residual nucleus recorded in !!!! * -* !!! Resnuc: they are identified by indeces 7-12, of course !!!! * -* !!! the corresponding physical properties (Z,A,m..) must be !!!! * -* !!! updated every time they are produced !!!! * -* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -*----------------------------------------------------------------------* -* - PARAMETER ( MXHEAV = 100 ) - CHARACTER*8 ANHEAV - COMMON / FKHEAV / CXHEAV (MXHEAV), CYHEAV (MXHEAV), - & CZHEAV (MXHEAV), TKHEAV (MXHEAV), - & PHEAVY (MXHEAV), WHEAVY (MXHEAV), - & AMHEAV ( 12 ) , - & KHEAVY (MXHEAV), ICHEAV ( 12 ) , - & IBHEAV ( 12 ) , NPHEAV - COMMON / FKHEAC / ANHEAV ( 12 ) - - -#endif diff --git a/StarVMC/geant3/geant321/fheavyt.inc b/StarVMC/geant3/geant321/fheavyt.inc deleted file mode 100644 index cae353835d4..00000000000 --- a/StarVMC/geant3/geant321/fheavyt.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: fheavyt.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: fheavyt.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FHEAVYT_INC -#define CERNLIB_GEANT321_FHEAVYT_INC -* -* -* fheavyt.inc -* - DOUBLE PRECISION CXHEAV, CYHEAV, CZHEAV, TKHEAV, PHEAVY, - & WHEAVY, AMHEAV - - -#endif diff --git a/StarVMC/geant3/geant321/finlsp.inc b/StarVMC/geant3/geant321/finlsp.inc deleted file mode 100644 index da13d8cbecc..00000000000 --- a/StarVMC/geant3/geant321/finlsp.inc +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: finlsp.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: finlsp.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FINLSP_INC -#define CERNLIB_GEANT321_FINLSP_INC -* -* -* finlsp.inc -* -C*********************************************************************** -C INCLUDE FILE: FINLSP COPY CREATED 11/12/86 BY PA -C NOTE: SEE ALSO FILE FINLSP2 COPY -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX7=100) - COMMON/FKFINL/ CXR(IDMAX7),CYR(IDMAX7),CZR(IDMAX7), - *ELR(IDMAX7),PLR(IDMAX7),IR,ITR(IDMAX7) - - -#endif diff --git a/StarVMC/geant3/geant321/finlsp2.inc b/StarVMC/geant3/geant321/finlsp2.inc deleted file mode 100644 index d1326772ca1..00000000000 --- a/StarVMC/geant3/geant321/finlsp2.inc +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: finlsp2.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: finlsp2.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:28 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FINLSP2_INC -#define CERNLIB_GEANT321_FINLSP2_INC -* -* -* finlsp2.inc -* -C*********************************************************************** -C INCLUDE FILE: FINLSP2 COPY CREATED 11/12/86 BY PA A -C NOTE: SEE ALSO FILE FINLSP COPY -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX7=100) - COMMON/FKFINL/CXR(IDMAX7),CYR(IDMAX7),CZR(IDMAX7), - *EL(IDMAX7),PL(IDMAX7),IR,ITR(IDMAX7) - - -#endif diff --git a/StarVMC/geant3/geant321/finlsp3.inc b/StarVMC/geant3/geant321/finlsp3.inc deleted file mode 100644 index b3c55fbd256..00000000000 --- a/StarVMC/geant3/geant321/finlsp3.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: finlsp3.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: finlsp3.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:38 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FINLSP3_INC -#define CERNLIB_GEANT321_FINLSP3_INC -* -* -* finlsp3.inc -* -C*********************************************************************** -C include file: finlsp3 copy Created 4/9/89 by A. Ferrari -C note: see also file finlsp copy and finlsp2 -C changes: none -C included in the following subroutines or functions: -C Eventq -C -C description of the common block(s) and variable(s) -C -C*********************************************************************** - PARAMETER (IDMAX7=100) - COMMON/FKFINL/CXH(IDMAX7),CYH(IDMAX7),CZH(IDMAX7), - *ELH(IDMAX7),PLH(IDMAX7),IH,ITH(IDMAX7) - - -#endif diff --git a/StarVMC/geant3/geant321/finpar.inc b/StarVMC/geant3/geant321/finpar.inc deleted file mode 100644 index 07e7b06ceac..00000000000 --- a/StarVMC/geant3/geant321/finpar.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: finpar.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: finpar.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FINPAR_INC -#define CERNLIB_GEANT321_FINPAR_INC -* -* -* finpar.inc -* -C*********************************************************************** -C INCLUDE FILE: FINPAR COPY CREATED 11/12/86 BY PA -C NOTE: DO NOT FORGET FILE FINPAR2 COPY -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX1=1133) - CHARACTER*8 ANF - COMMON /FKFINP/PXF(IDMAX1),PYF(IDMAX1),PZF(IDMAX1),HEP(IDMAX1), - *AMF(IDMAX1),ICHF(IDMAX1),IBARF(IDMAX1),NREF(IDMAX1) - COMMON /FKFINC/ ANF(IDMAX1) - - -#endif diff --git a/StarVMC/geant3/geant321/finpar2.inc b/StarVMC/geant3/geant321/finpar2.inc deleted file mode 100644 index 57997612455..00000000000 --- a/StarVMC/geant3/geant321/finpar2.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: finpar2.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: finpar2.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FINPAR2_INC -#define CERNLIB_GEANT321_FINPAR2_INC -* -* -* finpar2.inc -* -C*********************************************************************** -C INCLUDE FILE: FINPAR2 COPY CREATED 11/12/86 BY A -C NOTE: DO NOT FORGET FILE FINPAR COPY -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX3=1133) - CHARACTER*8 ANF - COMMON /FKFINP/PXF(IDMAX3),PYF(IDMAX3),PZF(IDMAX3),HEF(IDMAX3), - *AMF(IDMAX3),ICHF(IDMAX3),IBARF(IDMAX3),NREF(IDMAX3) - COMMON /FKFINC/ ANF(IDMAX3) - - -#endif diff --git a/StarVMC/geant3/geant321/finuc.inc b/StarVMC/geant3/geant321/finuc.inc deleted file mode 100644 index eaa6acd866c..00000000000 --- a/StarVMC/geant3/geant321/finuc.inc +++ /dev/null @@ -1,72 +0,0 @@ -* -* $Id: finuc.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: finuc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FINUC_INC -#define CERNLIB_GEANT321_FINUC_INC -* -* -* finuc.inc -* -* -*=== finuc ============================================================* -* -*----------------------------------------------------------------------* -* Last change on 5 april 1990 by Alfredo Ferrari, INFN Milan * -* include file: finuc copy created 26/11/86 by pa* -* note: if changed change finuc2 copy also * -* changes: none * -* included in the following subroutines or functions: not updated * -* * -* description of the common block(s) and variable(s) * -* * -* /finuc/ is the storage for secondaries created in event * -* np = number of secondaries * -* kpart(ip) = type of the secondary ip * -* cxr(ip) = direction cosine of the secondary ip * -* with respect to x-axis * -* cyr(ip) = direction cosine of the secondary ip * -* with respect to y-axis * -* czr(ip) = direction cosine of the secondary ip * -* with respect to z-axis * -* tki(ip) = kinetic energy of secondary ip * -* plr(ip) = momentum of the secondary ip * -* wei(ip) = weight of the secondary ip * -* tv = excitation energy * -* tvcms = actual excitation energy of the residual nucleus * -* tvrecl = recoil kinetic energy of the residual nucleus * -* tvheav = recoil kinetic energies of heavy (2-H, 3-H, 3-He, * -* 4-He) fragments after evaporation * -* tvbind = approximate energy wasted in nuclear binding * -* effects -*----------------------------------------------------------------------* -* - PARAMETER (MXP=999) - COMMON / FKFINU / CXR (MXP), CYR (MXP), CZR (MXP), TKI (MXP), - & PLR (MXP), WEI (MXP), TV, TVCMS, TVRECL, TVHEAV, - & TVBIND, NP0, NP, KPART (MXP) - - -#endif diff --git a/StarVMC/geant3/geant321/finuc2.inc b/StarVMC/geant3/geant321/finuc2.inc deleted file mode 100644 index cb46ce18e32..00000000000 --- a/StarVMC/geant3/geant321/finuc2.inc +++ /dev/null @@ -1,72 +0,0 @@ -* -* $Id: finuc2.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: finuc2.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FINUC2_INC -#define CERNLIB_GEANT321_FINUC2_INC -* -* -* finuc2.inc -* -* -*=== finuc2 ===========================================================* -* -*----------------------------------------------------------------------* -* Last change on 5 april 1990 by Alfredo Ferrari, INFN - Milan * -* include file: finuc2 copy created 26/11/86 by pa* -* note: if changed change finuc copy also * -* changes: none * -* included in the following subroutines or functions: not updated * -* * -* description of the common block(s) and variable(s) * -* * -* /finuc/ is the storage for secondaries created in event * -* irn = number of secondaries * -* itrn(ip) = type of the secondary ip * -* cxrn(ip) = direction cosine of the secondary ip * -* with respect to x-axis * -* cyrn(ip) = direction cosine of the secondary ip * -* with respect to y-axis * -* czrn(ip) = direction cosine of the secondary ip * -* with respect to z-axis * -* elr(ip) = kinetic (or total) energy of secondary ip * -* plr(ip) = momentum of the secondary ip * -* wei(ip) = weight of the secondary ip * -* tv = excitation energy * -* tvcms = actual excitation energy of the residual nucleus * -* tvrecl = recoil kinetic energy of the residual nucleus * -* tvheav = recoil kinetic energies of heavy (2-H, 3-H, 3-He, * -* 4-He) fragments after evaporation * -* tvbind = approximate energy wasted in nuclear binding * -* effects -*----------------------------------------------------------------------* -* - PARAMETER (MXP=999) - COMMON / FKFINU / CXRN (MXP), CYRN (MXP), CZRN (MXP), ELR (MXP), - & PLR (MXP), WEI (MXP), TV, TVCMS, TVRECL, - & TVHEAV, TVBIND, NP0, IRN, ITRN (MXP) - - -#endif diff --git a/StarVMC/geant3/geant321/finuct.inc b/StarVMC/geant3/geant321/finuct.inc deleted file mode 100644 index 699e9cc83c6..00000000000 --- a/StarVMC/geant3/geant321/finuct.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: finuct.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: finuct.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FINUCT_INC -#define CERNLIB_GEANT321_FINUCT_INC -* -* -* finuct.inc -* - DOUBLE PRECISION CXR, CYR, CZR, TKI, PLR, WEI, TV, TVCMS, - & TVRECL, TVHEAV, TVBIND - - -#endif diff --git a/StarVMC/geant3/geant321/forcn.inc b/StarVMC/geant3/geant321/forcn.inc deleted file mode 100644 index f20b5f6ec3b..00000000000 --- a/StarVMC/geant3/geant321/forcn.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: forcn.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: forcn.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_FORCN_INC -#define CERNLIB_GEANT321_FORCN_INC -* -* -* forcn.inc -* -* * -*=== forcn ============================================================* -* * - COMMON /FKFORC/ FKEY - - -#endif diff --git a/StarVMC/geant3/geant321/gc10ev.inc b/StarVMC/geant3/geant321/gc10ev.inc deleted file mode 100644 index 18f57bd6d07..00000000000 --- a/StarVMC/geant3/geant321/gc10ev.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: gc10ev.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gc10ev.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GC10EV_INC -#define CERNLIB_GEANT321_GC10EV_INC -* -* -* gc10ev.inc -* -#if !defined(CERNLIB_INCLUDE) - REAL G10EV,TENEV - PARAMETER (G10EV=1.0E-8) - PARAMETER (TENEV=1.E-2) -C -#endif -* -* gc10ev.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gc10ev -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcasho.inc b/StarVMC/geant3/geant321/gcasho.inc deleted file mode 100644 index 4fbda3c49a2..00000000000 --- a/StarVMC/geant3/geant321/gcasho.inc +++ /dev/null @@ -1,45 +0,0 @@ -* -* $Id: gcasho.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcasho.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCASHO_INC -#define CERNLIB_GEANT321_GCASHO_INC -* -* -* gcasho.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCASHO/ZMED,AMED,DMED,E0MED,ZSMED(50),ESMED(50),ALFA, - * STEP,PLIN,PLOG,BE2,PLASM,TRNSMA, - * BOSC(50),AOSC(50),EOSC(50),ZOSC(50),EMEAN, - * CMGO(2000),EMGO,EMGOMI, - * NSMED,IOSC(50),NOSC,NMGO,NMGOMA -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtasho.inc" -#endif -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcbank.inc b/StarVMC/geant3/geant321/gcbank.inc deleted file mode 100644 index 37e55f7ea7b..00000000000 --- a/StarVMC/geant3/geant321/gcbank.inc +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: gcbank.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcbank.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCBANK_INC -#define CERNLIB_GEANT321_GCBANK_INC -* -* -* gcbank.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtbank.inc" -#endif - PARAMETER (KWBANK=69000,KWWORK=5200) - COMMON/GCBANK/NZEBRA,GVERSN,ZVERSN,IXSTOR,IXDIV,IXCONS,FENDQ(16) - + ,LMAIN,LR1,WS(KWBANK) - DIMENSION IQ(2),Q(2),LQ(8000),IWS(2) - EQUIVALENCE (Q(1),IQ(1),LQ(9)),(LQ(1),LMAIN),(IWS(1),WS(1)) - EQUIVALENCE (JCG,JGSTAT) -#include "geant321/gclink.inc" -#endif -* -* gcbank.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcbank -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gccurs.inc b/StarVMC/geant3/geant321/gccurs.inc deleted file mode 100644 index f620e722507..00000000000 --- a/StarVMC/geant3/geant321/gccurs.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gccurs.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gccurs.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCCURS_INC -#define CERNLIB_GEANT321_GCCURS_INC -* -* -* gccurs.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtcurs.inc" -#endif - COMMON/GCCURS/INTFLA,SIZD2,FACHV,HALF,SAVPLX,SAVPLY,YPLT,XPLT -* -#endif -* -* gccurs.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gccurs -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gccuts.inc b/StarVMC/geant3/geant321/gccuts.inc deleted file mode 100644 index 0bb0db7c81d..00000000000 --- a/StarVMC/geant3/geant321/gccuts.inc +++ /dev/null @@ -1,57 +0,0 @@ -* -* $Id: gccuts.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gccuts.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.2 2007/03/31 13:48:01 brun -* From Andrea Fontana and Alberto Rotondi -* Added one extra parameter (GCALPHA) to the COMMON GCCUTS to drive the -* Urban/Landau models in the ERLAND routine. -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCCUTS_INC -#define CERNLIB_GEANT321_GCCUTS_INC -* -* -* gccuts.inc -* -* modified by A.Rotondi & A.Fontana -* march 2007 -* (reintroduced GCUTS(5)) -#if !defined(CERNLIB_INCLUDE) - COMMON/GCCUTS/CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM - + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS(5) -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtcuts.inc" - -#endif -#endif -* -* gccuts.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gccuts -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcdlin.inc b/StarVMC/geant3/geant321/gcdlin.inc deleted file mode 100644 index 9c44adad6e3..00000000000 --- a/StarVMC/geant3/geant321/gcdlin.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: gcdlin.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcdlin.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCDLIN_INC -#define CERNLIB_GEANT321_GCDLIN_INC -* -* -* gcdlin.inc -* - COMMON/GCDLIN/NCWORD(2),JCADNT,JBUF1,JBUF2 - EQUIVALENCE (JBUF1,JCDLST),(JCADNT,JCDFRS) -* - -#endif diff --git a/StarVMC/geant3/geant321/gcdraw.inc b/StarVMC/geant3/geant321/gcdraw.inc deleted file mode 100644 index bd88ec866d0..00000000000 --- a/StarVMC/geant3/geant321/gcdraw.inc +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: gcdraw.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcdraw.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCDRAW_INC -#define CERNLIB_GEANT321_GCDRAW_INC -* -* -* gcdraw.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCDRAW/NUMNOD,MAXNOD,NUMND1,LEVVER,LEVHOR,MAXV,IPICK, - + MLEVV,MLEVH,NWCUT,JNAM,JMOT,JXON,JBRO,JDUP,JSCA,JDVM,JPSM, - + JNAM1,JMOT1,JXON1,JBRO1,JDUP1,JSCA1,JULEV,JVLEV, - + LOOKTB(16), - + GRMAT0(10),GTRAN0(3),IDRNUM,GSIN(41),GCOS(41),SINPSI,COSPSI, - + GTHETA,GPHI,GPSI,GU0,GV0,GSCU,GSCV,NGVIEW, - + ICUTFL,ICUT,CTHETA,CPHI,DCUT,NSURF,ISURF, - + GZUA,GZVA,GZUB,GZVB,GZUC,GZVC,PLTRNX,PLTRNY, - + LINATT,LINATP,ITXATT,ITHRZ,IPRJ,DPERS,ITR3D,IPKHIT,IOBJ,LINBUF, - + MAXGU,MORGU,MAXGS,MORGS,MAXTU,MORTU,MAXTS,MORTS, - + IGU,IGS,ITU,ITS,NKVIEW,IDVIEW, - + NOPEN,IGMR,IPIONS,ITRKOP,IHIDEN, - + ZZFU,ZZFV,MYISEL, - + DDUMMY(15) -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtdraw.inc" -#endif -#endif -* -* gcdraw.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcdraw -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcfdim.inc b/StarVMC/geant3/geant321/gcfdim.inc deleted file mode 100644 index ec0c8c82b2c..00000000000 --- a/StarVMC/geant3/geant321/gcfdim.inc +++ /dev/null @@ -1,44 +0,0 @@ -* -* $Id: gcfdim.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcfdim.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:36 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCFDIM_INC -#define CERNLIB_GEANT321_GCFDIM_INC -* -* -* gcfdim.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCFDIM/NPROC,NMPTOT,TSEQTO,TOTMBY,TSEQ, - +TLAT,TNET,X1MIN,X1MAX,Y1MIN,Y1MAX,Z1MIN,Z1MAX, - +XCUT,YCUT,ZCUT -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtfdim.inc" -#endif -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcflag.inc b/StarVMC/geant3/geant321/gcflag.inc deleted file mode 100644 index a7631817eb5..00000000000 --- a/StarVMC/geant3/geant321/gcflag.inc +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: gcflag.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcflag.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:29 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCFLAG_INC -#define CERNLIB_GEANT321_GCFLAG_INC -* -* -* gcflag.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCFLAG/IDEBUG,IDEMIN,IDEMAX,ITEST,IDRUN,IDEVT,IEORUN - + ,IEOTRI,IEVENT,ISWIT(10),IFINIT(20),NEVENT,NRNDM(2) - COMMON/GCFLAX/BATCH, NOLOG - LOGICAL BATCH, NOLOG -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtflag.inc" -#endif -#endif -* -* gcflag.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcflag -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcgobj.inc b/StarVMC/geant3/geant321/gcgobj.inc deleted file mode 100644 index e4cb2d383e8..00000000000 --- a/StarVMC/geant3/geant321/gcgobj.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gcgobj.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcgobj.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:30 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCGOBJ_INC -#define CERNLIB_GEANT321_GCGOBJ_INC -* -* -* gcgobj.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER (NTRCG=1) - PARAMETER (NWB=207,NWREV=100,NWS=1500) - PARAMETER (C2TOC1=7.7, C3TOC1=2.,TVLIM=1296.) - COMMON /GCGOBJ/IST,IFCG,ILCG,NTCUR,NFILT,NTNEX,KCGST - + ,NCGVOL,IVFUN,IVCLOS,IFACST,NCLAS1,NCLAS2,NCLAS3 - COMMON /CGBLIM/IHOLE,CGXMIN,CGXMAX,CGYMIN,CGYMAX,CGZMIN,CGZMAX -C -#endif -* -* gcgobj.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcgobj -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gchil2.inc b/StarVMC/geant3/geant321/gchil2.inc deleted file mode 100644 index 74b0eb17f3c..00000000000 --- a/StarVMC/geant3/geant321/gchil2.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gchil2.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gchil2.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCHIL2_INC -#define CERNLIB_GEANT321_GCHIL2_INC -* -* -* gchil2.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gthil2.inc" -#endif - COMMON/GCHIL2/LARETT(2),JTICK,JMYLL,JFIMOT,JFISCA,JFINAM, - + JAASS1,JAASS2, - + JAASS3,JAASS4,JTICKS,JMYLLS,JMYMOT -* -#endif -* -* gchil2.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gchil2 -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gchiln.inc b/StarVMC/geant3/geant321/gchiln.inc deleted file mode 100644 index 375010539b7..00000000000 --- a/StarVMC/geant3/geant321/gchiln.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gchiln.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gchiln.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCHILN_INC -#define CERNLIB_GEANT321_GCHILN_INC -* -* -* gchiln.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gthiln.inc" -#endif - COMMON/GCHILN/LARECG(2), JCGOBJ, JCGCOL, JCOUNT, JCLIPS, - + IMPOIN, IMCOUN, JSIX, JSIY, JSIZ, - + JPXC, JPYC, JPZC, ICLIP1, ICLIP2 -* -#endif -* -* gchiln.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gchiln -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gchvir.inc b/StarVMC/geant3/geant321/gchvir.inc deleted file mode 100644 index 5161f58c55b..00000000000 --- a/StarVMC/geant3/geant321/gchvir.inc +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: gchvir.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gchvir.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCHVIR_INC -#define CERNLIB_GEANT321_GCHVIR_INC -* -* -* gchvir.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCHVIR/JVIRT,JVDIV,JCONT2,JCONT -C -#if defined(CERNLIB_TYPE) -#include "geant321/gthvir.inc" -#endif -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcjloc.inc b/StarVMC/geant3/geant321/gcjloc.inc deleted file mode 100644 index bd4850d3635..00000000000 --- a/StarVMC/geant3/geant321/gcjloc.inc +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: gcjloc.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcjloc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCJLOC_INC -#define CERNLIB_GEANT321_GCJLOC_INC -* -* -* gcjloc.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCJLOC/NJLOC(2),JTM,JMA,JLOSS,JPROB,JMIXT,JPHOT,JANNI - + ,JCOMP,JBREM,JPAIR,JDRAY,JPFIS,JMUNU,JRAYL - + ,JMULOF,JCOEF,JRANG -C - INTEGER NJLOC ,JTM,JMA,JLOSS,JPROB,JMIXT,JPHOT,JANNI - + ,JCOMP,JBREM,JPAIR,JDRAY,JPFIS,JMUNU,JRAYL - + ,JMULOF,JCOEF,JRANG -C - COMMON/GCJLCK/NJLCK(2),JTCKOV,JABSCO,JEFFIC,JINDEX,JCURIN - + ,JPOLAR,JTSTRA,JTSTCO,JTSTEN,JTASHO -C - EQUIVALENCE (JLASTV,JTSTEN) -C - INTEGER NJLCK,JTCKOV,JABSCO,JEFFIC,JINDEX,JCURIN - + ,JPOLAR,JLASTV,JTSTRA,JTSTCO,JTSTEN - + ,JTASHO -C -#endif -* -* gcjloc.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcjloc -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcjump.inc b/StarVMC/geant3/geant321/gcjump.inc deleted file mode 100644 index 4cc9baf7c96..00000000000 --- a/StarVMC/geant3/geant321/gcjump.inc +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: gcjump.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcjump.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2002/12/02 16:37:44 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCJUMP_INC -#define CERNLIB_GEANT321_GCJUMP_INC -* -* -* gcjump.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtjump.inc" -#endif - PARAMETER (MAXJMP=30) -#if defined(CERNLIB_LXIA64) && !defined(CERNLIB_TYPE) - INTEGER*8 JUDCAY, JUDIGI, JUDTIM, JUFLD , JUHADR, JUIGET, - + JUINME, JUINTI, JUKINE, JUNEAR, JUOUT , JUPHAD, - + JUSKIP, JUSTEP, JUSWIM, JUTRAK, JUTREV, JUVIEW, - + JUPARA - INTEGER*8 JMPADR -#endif - - COMMON/GCJUMP/JUDCAY, JUDIGI, JUDTIM, JUFLD , JUHADR, JUIGET, - + JUINME, JUINTI, JUKINE, JUNEAR, JUOUT , JUPHAD, - + JUSKIP, JUSTEP, JUSWIM, JUTRAK, JUTREV, JUVIEW, - + JUPARA - DIMENSION JMPADR(MAXJMP) - EQUIVALENCE (JMPADR(1), JUDCAY) -* -#endif -* -* gcjump.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcjump -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gckine.inc b/StarVMC/geant3/geant321/gckine.inc deleted file mode 100644 index 97a14a42e69..00000000000 --- a/StarVMC/geant3/geant321/gckine.inc +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: gckine.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gckine.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCKINE_INC -#define CERNLIB_GEANT321_GCKINE_INC -* -* -* gckine.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCKINE/IKINE,PKINE(10),ITRA,ISTAK,IVERT,IPART,ITRTYP - + ,NAPART(5),AMASS,CHARGE,TLIFE,VERT(3),PVERT(4),IPAOLD -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtkine.inc" -#endif -#endif -* -* gckine.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gckine -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcking.inc b/StarVMC/geant3/geant321/gcking.inc deleted file mode 100644 index 57b578c9cea..00000000000 --- a/StarVMC/geant3/geant321/gcking.inc +++ /dev/null @@ -1,57 +0,0 @@ -* -* $Id: gcking.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcking.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCKING_INC -#define CERNLIB_GEANT321_GCKING_INC -* -* -* gcking.inc -* -#if !defined(CERNLIB_INCLUDE) -#include "geant321/gckmax.inc" - COMMON/GCKING/KCASE,NGKINE,GKIN(5,MXGKIN), - + TOFD(MXGKIN),IFLGK(MXGKIN) - INTEGER KCASE,NGKINE ,IFLGK,MXPHOT,NGPHOT - REAL GKIN,TOFD,XPHOT -C - PARAMETER (MXPHOT=800) - COMMON/GCKIN2/NGPHOT,XPHOT(11,MXPHOT) -C - COMMON/GCKIN3/GPOS(3,MXGKIN) - REAL GPOS -C -#endif -* -* gcking.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcking -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gckmax.inc b/StarVMC/geant3/geant321/gckmax.inc deleted file mode 100644 index a4cc01a8ffe..00000000000 --- a/StarVMC/geant3/geant321/gckmax.inc +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: gckmax.inc,v 1.3 2009/02/01 17:29:51 fisyak Exp $ -* -* $Log: gckmax.inc,v $ -* Revision 1.3 2009/02/01 17:29:51 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:47:13 fisyak -* Merge with macos version -* -* Revision 1.2 2005/06/09 00:09:25 fisyak -* comply with STAR -* -* Revision 1.1.1.1 2004/01/15 00:12:23 potekhin -* -* -* Revision 1.2 2003/11/16 17:41:04 nevski -* follow cernlib 2002 release note -* -* Revision 1.1.1.1 1997/11/03 15:29:48 atlascvs -* Importing CERNLIB version 08.21. -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCKMAX_INC -#define CERNLIB_GEANT321_GCKMAX_INC -* -* -* gckmax.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER MXGKIN - PARAMETER (MXGKIN=250) -#endif -* -* gckmax.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gckmax -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gclink.inc b/StarVMC/geant3/geant321/gclink.inc deleted file mode 100644 index c95e401ecee..00000000000 --- a/StarVMC/geant3/geant321/gclink.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gclink.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gclink.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCLINK_INC -#define CERNLIB_GEANT321_GCLINK_INC -* -* -* gclink.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtlink.inc" -#endif - COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART - + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX - + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT -C -#endif -* -* gclink.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gclink -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gclist.inc b/StarVMC/geant3/geant321/gclist.inc deleted file mode 100644 index be162f06175..00000000000 --- a/StarVMC/geant3/geant321/gclist.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gclist.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gclist.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCLIST_INC -#define CERNLIB_GEANT321_GCLIST_INC -* -* -* gclist.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCLIST/NHSTA,NGET ,NSAVE,NSETS,NPRIN,NGEOM,NVIEW,NPLOT - + ,NSTAT,LHSTA(20),LGET (20),LSAVE(20),LSETS(20),LPRIN(20) - + ,LGEOM(20),LVIEW(20),LPLOT(20),LSTAT(20) -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtlist.inc" -#endif -#endif -* -* gclist.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gclist -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gclund.inc b/StarVMC/geant3/geant321/gclund.inc deleted file mode 100644 index 3a34fefa73a..00000000000 --- a/StarVMC/geant3/geant321/gclund.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: gclund.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gclund.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCLUND_INC -#define CERNLIB_GEANT321_GCLUND_INC -* -* -* gclund.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCLUND/IFLUND,ECLUND - INTEGER IFLUND - REAL ECLUND -C -#endif -* -* gclund.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gclund -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcmate.inc b/StarVMC/geant3/geant321/gcmate.inc deleted file mode 100644 index 4a2d6213503..00000000000 --- a/StarVMC/geant3/geant321/gcmate.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gcmate.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcmate.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCMATE_INC -#define CERNLIB_GEANT321_GCMATE_INC -* -* -* gcmate.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCMATE/NMAT,NAMATE(5),A,Z,DENS,RADL,ABSL -C - INTEGER NMAT,NAMATE - REAL A,Z,DENS,RADL,ABSL -C -#endif -* -* gcmate.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcmate -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcmore.inc b/StarVMC/geant3/geant321/gcmore.inc deleted file mode 100644 index fde6bf7fcdb..00000000000 --- a/StarVMC/geant3/geant321/gcmore.inc +++ /dev/null @@ -1,51 +0,0 @@ -* -#ifndef CERNLIB_GEANT321_GCMORE_INC -#define CERNLIB_GEANT321_GCMORE_INC -* -* -* gcmore.inc -* -* introduced by A.Rotondi & A.Fontana -* may 2007 -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCMORE/GCALPHA,ICLOSE,PFINAL(3),DSTRT,WIRE1(3),WIRE2(3), - + P1(3),P2(3),P3(3),CLENG(3) -C -C input to ERLAND: -C GCALPHA: energy cut parameter for energy loss fluctuations -C -C input to EUSTEP: -C ICLOSE: =1 the use of the common is enabled for a point -C =2 the use of the common is enabled for a wire -C =0 the common is empty -C PFINAL(3): assigned point -C WIRE1(3): first point of a wire -C WIRE2(3): second point of a wire -C DSTRT: assigned distance between initial point in ERTRAK -C and PFINAL -C -C output written by EUSTEP: -C P1(3): point previous to the point of closest approach to -C PFINAL() or wire -C P2(3): point of closest approach to PFINAL() or wire -C P3(3): point next to the point of closest approach to -C PFINAL() or wire -C CLENG(3): track length to the previous 3 points -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtmore.inc" - -#endif -#endif -* -* gcmore.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcmore -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcmulo.inc b/StarVMC/geant3/geant321/gcmulo.inc deleted file mode 100644 index a0db22ccd87..00000000000 --- a/StarVMC/geant3/geant321/gcmulo.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gcmulo.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcmulo.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCMULO_INC -#define CERNLIB_GEANT321_GCMULO_INC -* -* -* gcmulo.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCMULO/SINMUL(101),COSMUL(101),SQRMUL(101),OMCMOL,CHCMOL - + ,EKMIN,EKMAX,NEKBIN,NEK1,EKINV,GEKA,GEKB,EKBIN(200),ELOW(200) -C - REAL SINMUL,COSMUL,SQRMUL,OMCMOL,CHCMOL,EKMIN,EKMAX,ELOW,EKINV - REAL GEKA,GEKB,EKBIN - INTEGER NEKBIN,NEK1 -C -#endif -* -* gcmulo.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcmulo -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcmutr.inc b/StarVMC/geant3/geant321/gcmutr.inc deleted file mode 100644 index 96ae4d34840..00000000000 --- a/StarVMC/geant3/geant321/gcmutr.inc +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: gcmutr.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcmutr.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCMUTR_INC -#define CERNLIB_GEANT321_GCMUTR_INC -* -* -* gcmutr.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtmutr.inc" -#endif -* - PARAMETER (MULTRA=50) - CHARACTER*4 GNASH, GNNVV, GNVNV - COMMON/GCMUTR/NCVOLS,KSHIFT,NSHIFT,ICUBE,NAIN,JJJ, - + NIET,IOLDSU,IVOOLD,IWPOIN,IHPOIN,IVECVO(100), - + PORGX,PORGY,PORGZ,POX(15),POY(15),POZ(15),GBOOM, - + PORMIR(18),PORMAR(18),IPORNT, - + ICGP,CLIPMI(6),CLIPMA(6), - + ABCD(4),BMIN(6),BMAX(6),CGB(16000),CGB1(16000), - + GXMIN(MULTRA),GXMAX(MULTRA),GYMIN(MULTRA), - + GYMAX(MULTRA),GZMIN(MULTRA),GZMAX(MULTRA), - + GXXXX(MULTRA),GYYYY(MULTRA),GZZZZ(MULTRA) -* - COMMON/GCMUTC/ GNASH(MULTRA),GNNVV(MULTRA),GNVNV(MULTRA) -* -#endif -* -* gcmutr.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcmutr -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcmzfo.inc b/StarVMC/geant3/geant321/gcmzfo.inc deleted file mode 100644 index a8f12ad4792..00000000000 --- a/StarVMC/geant3/geant321/gcmzfo.inc +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: gcmzfo.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcmzfo.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCMZFO_INC -#define CERNLIB_GEANT321_GCMZFO_INC -* -* -* gcmzfo.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCMZFO/IOMATE,IOPART,IOTMED,IOSEJD,IOSJDD,IOSJDH,IOSTAK - + ,IOMZFO(13) -C - INTEGER IOMATE,IOPART,IOTMED,IOSEJD,IOSJDD,IOSJDH,IOSTAK - + ,IOMZFO -C -#endif -* -* gcmzfo.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcmzfo -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcnmec.inc b/StarVMC/geant3/geant321/gcnmec.inc deleted file mode 100644 index 8d23a26209e..00000000000 --- a/StarVMC/geant3/geant321/gcnmec.inc +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: gcnmec.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcnmec.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCNMEC_INC -#define CERNLIB_GEANT321_GCNMEC_INC -* -* -* gcnmec.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER(NMECA=45,IBLOWN=23) - CHARACTER*4 CHNMEC(NMECA) -* -* *** Two blank spaces for FISF and CAPF which do not exist -* -* *** The low-neutron cross-sections have to be at the end for the -* *** logics of the routine to work, and they have to start at -* *** IBLOWN - DATA CHNMEC / - + 'HADF', 'INEF', 'ELAF', 'NULL', 'NULL', - + 'HADG', 'INEG', 'ELAG', 'FISG', 'CAPG', - + 'LOSS', 'PHOT', 'ANNI', 'COMP', 'BREM', - + 'PAIR', 'DRAY', 'PFIS', 'RAYL', 'MUNU', - + 'RANG', 'STEP', 'LOWN', 'NABS', 'NELA', - + 'NINE', 'NINC', 'N,2N', 'N,3N', 'N,NA', - + 'N2NA', 'N,NP', 'NFIS', 'N,GA', 'N,PR', - + 'N,DE', 'N,TR', 'N3HE', 'N,AL', 'N,2A', - + 'N,3A', 'N,2P', 'N,PA', 'NT2A', 'ND2A'/ -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcnum.inc b/StarVMC/geant3/geant321/gcnum.inc deleted file mode 100644 index f7ea6cb4c6c..00000000000 --- a/StarVMC/geant3/geant321/gcnum.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gcnum.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcnum.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCNUM_INC -#define CERNLIB_GEANT321_GCNUM_INC -* -* -* gcnum.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCNUM/NMATE ,NVOLUM,NROTM,NTMED,NTMULT,NTRACK,NPART - + ,NSTMAX,NVERTX,NHEAD,NBIT - COMMON /GCNUMX/ NALIVE,NTMSTO -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtnum.inc" -#endif -#endif -* -* gcnum.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcnum -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcomis.inc b/StarVMC/geant3/geant321/gcomis.inc deleted file mode 100644 index 7945cc1ef14..00000000000 --- a/StarVMC/geant3/geant321/gcomis.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: gcomis.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gcomis.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCOMIS_INC -#define CERNLIB_GEANT321_GCOMIS_INC -* -* -* gcomis.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCOMIS/JUINIT,JUGEOM,JUKINE,JUSTEP,JUOUT,JULAST - DIMENSION JPCOMS(6) - EQUIVALENCE (JPCOMS,JUINIT) -* -#endif -* -* gcomis.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcomis -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gconsp.inc b/StarVMC/geant3/geant321/gconsp.inc deleted file mode 100644 index 38d056785ea..00000000000 --- a/StarVMC/geant3/geant321/gconsp.inc +++ /dev/null @@ -1,81 +0,0 @@ -* -* $Id: gconsp.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gconsp.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCONSP_INC -#define CERNLIB_GEANT321_GCONSP_INC -* -* -* gconsp.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_SINGLE) - REAL PI,TWOPI,PIBY2,DEGRAD,RADDEG,CLIGHT,BIG,EMASS - REAL EMMU,PMASS,AVO -* - PARAMETER (PI=3.14159265358979324) - PARAMETER (TWOPI=6.28318530717958648) - PARAMETER (PIBY2=1.57079632679489662) - PARAMETER (DEGRAD=0.0174532925199432958) - PARAMETER (RADDEG=57.2957795130823209) - PARAMETER (CLIGHT=29979245800.) - PARAMETER (BIG=10000000000.) - PARAMETER (EMASS=0.00051099906) - PARAMETER (EMMU=0.105658389) - PARAMETER (PMASS=0.93827231) - PARAMETER (AVO=0.60221367) -* -#endif -#endif -#if !defined(CERNLIB_INCLUDE) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION PI,TWOPI,PIBY2,DEGRAD,RADDEG,CLIGHT,BIG,EMASS - DOUBLE PRECISION EMMU,PMASS,AVO -* - PARAMETER (PI=3.14159265358979324D0) - PARAMETER (TWOPI=6.28318530717958648D0) - PARAMETER (PIBY2=1.57079632679489662D0) - PARAMETER (DEGRAD=0.0174532925199432958D0) - PARAMETER (RADDEG=57.2957795130823209D0) - PARAMETER (CLIGHT=29979245800.D0) - PARAMETER (BIG=10000000000.D0) - PARAMETER (EMASS=0.0005109990615D0) - PARAMETER (EMMU=0.105658387D0) - PARAMETER (PMASS=0.9382723128D0) - PARAMETER (AVO=0.60221367D0) -* -#endif -#endif -* -* gconsp.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gconsp -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gconst.inc b/StarVMC/geant3/geant321/gconst.inc deleted file mode 100644 index 42f24d22676..00000000000 --- a/StarVMC/geant3/geant321/gconst.inc +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: gconst.inc,v 1.1.1.2 2009/02/01 17:10:20 fisyak Exp $ -* -* $Log: gconst.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:20 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCONST_INC -#define CERNLIB_GEANT321_GCONST_INC -* -* -* gconst.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtcons.inc" -#endif - COMMON/GCONST/PI,TWOPI,PIBY2,DEGRAD,RADDEG,CLIGHT,BIG,EMASS - COMMON/GCONSX/EMMU,PMASS,AVO -C -#endif -* -* gconst.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gconst -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcopti.inc b/StarVMC/geant3/geant321/gcopti.inc deleted file mode 100644 index 7ec455085cd..00000000000 --- a/StarVMC/geant3/geant321/gcopti.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gcopti.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcopti.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCOPTI_INC -#define CERNLIB_GEANT321_GCOPTI_INC -* -* -* gcopti.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCOPTI/ IOPTIM -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtopti.inc" -#endif -#endif -* -* gcopti.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcopti -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcpara.inc b/StarVMC/geant3/geant321/gcpara.inc deleted file mode 100644 index 68d54f3b4b9..00000000000 --- a/StarVMC/geant3/geant321/gcpara.inc +++ /dev/null @@ -1,65 +0,0 @@ -* -* $Id: gcpara.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcpara.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPARA_INC -#define CERNLIB_GEANT321_GCPARA_INC -* -* -* gcpara.inc -* -#if !defined(CERNLIB_INCLUDE) -#include "geant321/gtpara.inc" - PARAMETER (LSTACK = 5000) -C BITPOT is for Phi.Or.Tet -C -C --------------------------------------------------------- - COMMON /GCPARA/ - + EPSIX0 (LSTACK) , - + IDRPHI (LSTACK ) , IDRTET (LSTACK ), - + IDROUT (LSTACK ) , JPLOST (LSTACK ), - + IPHTMP (LSTACK ) , - + BITPHI (LSTACK ) , BITTET (LSTACK ), - + BITPOT (LSTACK ) , JJLOST, JJFILL, - + JENTRY, JEMPTY, - + EPSMAX, - + JJTEMP, JJWORK , JJSTK1, - + J1TEMP, J1STK1, - + IFOUNP, IFOUNT , IFNPOT, - + SYMPHI, - + SYMTEU, SYMTED -C -#endif -* -* gcpara.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcpara -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcparm.inc b/StarVMC/geant3/geant321/gcparm.inc deleted file mode 100644 index 831da39db48..00000000000 --- a/StarVMC/geant3/geant321/gcparm.inc +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: gcparm.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcparm.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:31 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPARM_INC -#define CERNLIB_GEANT321_GCPARM_INC -* -* -* gcparm.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCPARM/IPARAM,PCUTGA,PCUTEL,PCUTNE,PCUTHA,PCUTMU - + ,NSPARA,MPSTAK,NPGENE - REAL PACUTS(5) - EQUIVALENCE (PACUTS(1),PCUTGA) -#if defined(CERNLIB_TYPE) -#include "geant321/gtparm.inc" -#endif -C -#endif -* -* gcparm.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcparm -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcphnr.inc b/StarVMC/geant3/geant321/gcphnr.inc deleted file mode 100644 index c62e7065e22..00000000000 --- a/StarVMC/geant3/geant321/gcphnr.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: gcphnr.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcphnr.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPHNR_INC -#define CERNLIB_GEANT321_GCPHNR_INC -* -* -* gcphnr.inc -* -#if !defined(CERNLIB_INCLUDE) -C INRFIN - nonradiative decay mode - INTEGER IGNRFN - COMMON /GCPHNR/ IGNRFN(8,MAXELZ) -C -#endif -* -* gcphnr.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcphnr -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcphpr.inc b/StarVMC/geant3/geant321/gcphpr.inc deleted file mode 100644 index 1781724270b..00000000000 --- a/StarVMC/geant3/geant321/gcphpr.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: gcphpr.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcphpr.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPHPR_INC -#define CERNLIB_GEANT321_GCPHPR_INC -* -* -* gcphpr.inc -* -#if !defined(CERNLIB_INCLUDE) -C Probability of radiative decay mode. - REAL GFLUPR - COMMON /GCPHPR/ GFLUPR(4,MAXELZ) -C -#endif -* -* gcphpr.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcphpr -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcphrd.inc b/StarVMC/geant3/geant321/gcphrd.inc deleted file mode 100644 index 22918f38578..00000000000 --- a/StarVMC/geant3/geant321/gcphrd.inc +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: gcphrd.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcphrd.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPHRD_INC -#define CERNLIB_GEANT321_GCPHRD_INC -* -* -* gcphrd.inc -* -#if !defined(CERNLIB_INCLUDE) -C GRATE - radiative modes' rates - INTEGER KSHLS,L1SHLS,L2SHLS,L3SHLS,ISHLS,ISHLUS,ISHLTR - REAL GPHRAT - PARAMETER (KSHLS=6) - PARAMETER (L1SHLS=8) - PARAMETER (L2SHLS=7) - PARAMETER (L3SHLS=8) - PARAMETER (ISHLS=29) - COMMON / GCPHRD / GPHRAT(ISHLS,MAXELZ),ISHLUS(24,4),ISHLTR(ISHLS) -C -#endif -* -* gcphrd.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcphrd -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcphxs.inc b/StarVMC/geant3/geant321/gcphxs.inc deleted file mode 100644 index 070d9b017a3..00000000000 --- a/StarVMC/geant3/geant321/gcphxs.inc +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: gcphxs.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcphxs.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPHXS_INC -#define CERNLIB_GEANT321_GCPHXS_INC -* -* -* gcphxs.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER MAXPOW,MAXINT - PARAMETER (MAXPOW=4) - PARAMETER (MAXINT=13) - CHARACTER*6 CRNGUP - COMMON /GCPXRN/ CRNGUP(MAXINT,MAXELZ) - REAL COFS,GPOMIN - COMMON /GCPXCF/ COFS(MAXPOW,MAXINT,MAXELZ),GPOMIN(MAXELZ) -C -#endif -* -* gcphxs.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcphxs -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcphys.inc b/StarVMC/geant3/geant321/gcphys.inc deleted file mode 100644 index 833a8645911..00000000000 --- a/StarVMC/geant3/geant321/gcphys.inc +++ /dev/null @@ -1,65 +0,0 @@ -* -* $Id: gcphys.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcphys.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPHYS_INC -#define CERNLIB_GEANT321_GCPHYS_INC -* -* -* gcphys.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCPHYS/IPAIR,SPAIR,SLPAIR,ZINTPA,STEPPA - + ,ICOMP,SCOMP,SLCOMP,ZINTCO,STEPCO - + ,IPHOT,SPHOT,SLPHOT,ZINTPH,STEPPH - + ,IPFIS,SPFIS,SLPFIS,ZINTPF,STEPPF - + ,IDRAY,SDRAY,SLDRAY,ZINTDR,STEPDR - + ,IANNI,SANNI,SLANNI,ZINTAN,STEPAN - + ,IBREM,SBREM,SLBREM,ZINTBR,STEPBR - + ,IHADR,SHADR,SLHADR,ZINTHA,STEPHA - + ,IMUNU,SMUNU,SLMUNU,ZINTMU,STEPMU - + ,IDCAY,SDCAY,SLIFE ,SUMLIF,DPHYS1 - + ,ILOSS,SLOSS,SOLOSS,STLOSS,DPHYS2 - + ,IMULS,SMULS,SOMULS,STMULS,DPHYS3 - + ,IRAYL,SRAYL,SLRAYL,ZINTRA,STEPRA - COMMON/GCPHLT/ILABS,SLABS,SLLABS,ZINTLA,STEPLA - + ,ISYNC - + ,ISTRA -* -#if defined(CERNLIB_TYPE) -#include "geant321/gtphys.inc" -#endif -#endif -* -* gcphys.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcphys -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcpixe.inc b/StarVMC/geant3/geant321/gcpixe.inc deleted file mode 100644 index 80554b8faa8..00000000000 --- a/StarVMC/geant3/geant321/gcpixe.inc +++ /dev/null @@ -1,44 +0,0 @@ -* -* $Id: gcpixe.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcpixe.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:36 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPIXE_INC -#define CERNLIB_GEANT321_GCPIXE_INC -* -* -* gcpixe.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCPIXE/LIMPRE,IFLAPE,ICOLOR,IXXX,IYYY, - +ISSEEN,ISCOLO,ISLSTY,ISLWID,ISFILL, - +IMAP,JON,NMAP,UUU,VVV,ZUV,ZNMAP1 -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtpixe.inc" -#endif - -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcpmxz.inc b/StarVMC/geant3/geant321/gcpmxz.inc deleted file mode 100644 index ab83480a9e9..00000000000 --- a/StarVMC/geant3/geant321/gcpmxz.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: gcpmxz.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcpmxz.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:15 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPMXZ_INC -#define CERNLIB_GEANT321_GCPMXZ_INC -* -* -* gcpmxz.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER MAXELZ - PARAMETER (MAXELZ=100) -C -#endif -* -* gcpmxz.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcpmxz -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcpoly.inc b/StarVMC/geant3/geant321/gcpoly.inc deleted file mode 100644 index 909df2909c2..00000000000 --- a/StarVMC/geant3/geant321/gcpoly.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: gcpoly.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcpoly.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPOLY_INC -#define CERNLIB_GEANT321_GCPOLY_INC -* -* -* gcpoly.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCPOLY/IZSEC,IPSEC - INTEGER IZSEC,IPSEC -C -#endif -* -* gcpoly.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcpoly -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcpotm.inc b/StarVMC/geant3/geant321/gcpotm.inc deleted file mode 100644 index 5ab10c49937..00000000000 --- a/StarVMC/geant3/geant321/gcpotm.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: gcpotm.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcpotm.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:36 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPOTM_INC -#define CERNLIB_GEANT321_GCPOTM_INC -* -* -* gcpotm.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcpotm -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcpush.inc b/StarVMC/geant3/geant321/gcpush.inc deleted file mode 100644 index 81568877441..00000000000 --- a/StarVMC/geant3/geant321/gcpush.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: gcpush.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcpush.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCPUSH_INC -#define CERNLIB_GEANT321_GCPUSH_INC -* -* -* gcpush.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCPUSH/NCVERT,NCKINE,NCJXYZ,NPVERT,NPKINE,NPJXYZ - INTEGER NCVERT,NCKINE,NCJXYZ,NPVERT,NPKINE,NPJXYZ -C -#endif -* -* gcpush.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcpush -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcrayt.inc b/StarVMC/geant3/geant321/gcrayt.inc deleted file mode 100644 index c4610162ba7..00000000000 --- a/StarVMC/geant3/geant321/gcrayt.inc +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: gcrayt.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcrayt.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:36 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCRAYT_INC -#define CERNLIB_GEANT321_GCRAYT_INC -* -* -* gcrayt.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCRAYT/INTEN,IOMBRA,IXYFLA,NOFLAG, - +XLPOS,YLPOS,ZLPOS,XLDIR,YLDIR,ZLDIR,APFLAH, - +CCXX(4),CCYY(4),CCZZ(4),BOFLAG,APFLAG, - +XCOSXS,YCOSYS,ZCOSZS,VDX,VDY,VDZ,SSLENG, - +XPINTS,YPINTS,ZPINTS,FPINTX,FPINTY,FPINTZ, - +AROTS(4,4),ZROTS(4,4),RRR(4) -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtrayt.inc" -#endif -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcrz.inc b/StarVMC/geant3/geant321/gcrz.inc deleted file mode 100644 index 93cf513408b..00000000000 --- a/StarVMC/geant3/geant321/gcrz.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gcrz.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcrz.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCRZ_INC -#define CERNLIB_GEANT321_GCRZ_INC -* -* -* gcrz.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCRZ1/NRECRZ,NRGET,NRSAVE,LRGET(20),LRSAVE(20) - INTEGER NRECRZ,NRGET,NRSAVE,LRGET ,LRSAVE - COMMON/GCRZ2/RZTAGS - CHARACTER*8 RZTAGS(4) -C -#endif -* -* gcrz.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcrz -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcscal.inc b/StarVMC/geant3/geant321/gcscal.inc deleted file mode 100644 index 935d2b707d5..00000000000 --- a/StarVMC/geant3/geant321/gcscal.inc +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: gcscal.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcscal.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:32 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCSCAL_INC -#define CERNLIB_GEANT321_GCSCAL_INC -* -* -* gcscal.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtscal.inc" -#endif - PARAMETER(MXSLNK=100) - COMMON/GCSCAL/ ISLINK(MXSLNK) - EQUIVALENCE (LSLAST,ISLINK(MXSLNK)) - EQUIVALENCE (LSCAN ,ISLINK(1)),(LSTEMP,ISLINK(2)) - EQUIVALENCE (LSPARA,ISLINK(3)),(LSERAY,ISLINK(4)) -* -#endif -* -* gcscal.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcscal -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcscan.inc b/StarVMC/geant3/geant321/gcscan.inc deleted file mode 100644 index 5a2fd577533..00000000000 --- a/StarVMC/geant3/geant321/gcscan.inc +++ /dev/null @@ -1,61 +0,0 @@ -* -* $Id: gcscan.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcscan.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCSCAN_INC -#define CERNLIB_GEANT321_GCSCAN_INC -* -* -* gcscan.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtscan.inc" -#endif - PARAMETER (MSLIST=32,MAXMDT=3) - COMMON/GCSCAN/SCANFL,NPHI,PHIMIN,PHIMAX,NTETA,TETMIN,TETMAX, - + MODTET,IPHIMI,IPHIMA,IPHI1,IPHIL,NSLMAX, - + NSLIST,ISLIST(MSLIST),VSCAN(3),FACTX0,FACTL, - + FACTR,IPHI,ITETA,ISCUR,SX0,SABS,TETMID(MAXMDT), - + TETMAD(MAXMDT) - + ,SX0S,SX0T,SABSS,SABST,FACTSF - + ,DLTPHI,DLTETA,DPHIM1,DTETM1 - + ,FCX0M1,FCLLM1,FCRRM1 - LOGICAL SCANFL - COMMON/GCSCAC/SFIN,SFOUT - CHARACTER*80 SFIN,SFOUT -* -#endif -* -* gcscan.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcscan -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcsetf.inc b/StarVMC/geant3/geant321/gcsetf.inc deleted file mode 100644 index 8015c0518a5..00000000000 --- a/StarVMC/geant3/geant321/gcsetf.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: gcsetf.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcsetf.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCSETF_INC -#define CERNLIB_GEANT321_GCSETF_INC -* -* -* gcsetf.inc -* - COMMON/GCADII/NPLACE,NUNIT1,N1,NUNIT2 -* - COMMON/GCADIC/BLKSTR,JVSTR - CHARACTER*500 BLKSTR - CHARACTER*80 JVSTR -* - -#endif diff --git a/StarVMC/geant3/geant321/gcsets.inc b/StarVMC/geant3/geant321/gcsets.inc deleted file mode 100644 index c0d7ab8d56f..00000000000 --- a/StarVMC/geant3/geant321/gcsets.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gcsets.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcsets.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCSETS_INC -#define CERNLIB_GEANT321_GCSETS_INC -* -* -* gcsets.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCSETS/IHSET,IHDET,ISET,IDET,IDTYPE,NVNAME,NUMBV(20) -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtsets.inc" -#endif -#endif -* -* gcsets.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcsets -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcshno.inc b/StarVMC/geant3/geant321/gcshno.inc deleted file mode 100644 index 5aab7304b33..00000000000 --- a/StarVMC/geant3/geant321/gcshno.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: gcshno.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcshno.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCSHNO_INC -#define CERNLIB_GEANT321_GCSHNO_INC -* -* -* gcshno.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER ( NSBOX=1, NSTRD1=2, NSTRD2=3, NSTRAP=4, NSTUBE=5, - + NSTUBS=6, NSCONE=7, NSCONS=8, NSSPHE=9, NSPARA=10,NSPGON=11, - + NSPCON=12,NSELTU=13,NSHYPE=14,NSGTRA=28, NSCTUB=29 ) -#endif -* -* gcshno.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcshno -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcshpt.inc b/StarVMC/geant3/geant321/gcshpt.inc deleted file mode 100644 index 03f66b8cb28..00000000000 --- a/StarVMC/geant3/geant321/gcshpt.inc +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: gcshpt.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcshpt.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:16 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCSHPT_INC -#define CERNLIB_GEANT321_GCSHPT_INC -* -* -* gcshpt.inc -* -#if !defined(CERNLIB_INCLUDE) -C Shells are numbered from 1 to 24. -C Shells used: -C K,L1,L2,L3,M1,M2,M3,M4,M5 -C N1,N2,N3,N4,N5,N6,N7, -C O1,O2,O3,O4,O5,P1,P2,P3 -C VARIABLES: -C NSHLST - value of Z for which the shells starts to be present -C N1ST - pointer to K shell of a given Z (in ESHELL array) -C NSHLLS - Number of used shells for a given Z -C ESHELL - Shells potentials in eV !!! - INTEGER LENGTH,MAXSHL - PARAMETER (LENGTH= 1409) - PARAMETER (MAXSHL=24) - INTEGER NSHLST,N1ST,NSHLLS - REAL ESHELL - DIMENSION NSHLST(MAXSHL),N1ST(MAXELZ),NSHLLS(MAXELZ) - DIMENSION ESHELL(LENGTH) - COMMON /GCSHPT/NSHLST,N1ST,NSHLLS,ESHELL -C -#endif -* -* gcshpt.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcshpt -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcspee.inc b/StarVMC/geant3/geant321/gcspee.inc deleted file mode 100644 index 1e8305f055b..00000000000 --- a/StarVMC/geant3/geant321/gcspee.inc +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: gcspee.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcspee.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCSPEE_INC -#define CERNLIB_GEANT321_GCSPEE_INC -* -* -* gcspee.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtspee.inc" -#endif - COMMON/GCSPEE/S1,S2,S3,SS1,SS2,SS3,LEP,IPORLI,ISUBLI, - + SRAGMX,SRAGMN,RAINT1,RAINT2,RMIN1,RMIN2, - + RMAX1,RMAX2,JPORJJ,ITSTCU,IOLDCU,ISCOP, - + NTIM,NTFLAG,LPASS,JSC -* -#endif -* -* gcspee.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcspee -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcstak.inc b/StarVMC/geant3/geant321/gcstak.inc deleted file mode 100644 index 7b219fb28f2..00000000000 --- a/StarVMC/geant3/geant321/gcstak.inc +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: gcstak.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcstak.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCSTAK_INC -#define CERNLIB_GEANT321_GCSTAK_INC -* -* -* gcstak.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gtstak.inc" -#endif - PARAMETER (NWSTAK=12,NWINT=11,NWREAL=12,NWTRAC=NWINT+NWREAL+5) - COMMON /GCSTAK/ NJTMAX, NJTMIN, NTSTKP, NTSTKS, NDBOOK, NDPUSH, - + NJFREE, NJGARB, NJINVO, LINSAV(15), LMXSAV(15) - EQUIVALENCE (ISTORD,NJTMIN) -C -#endif -* -* gcstak.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcstak -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcstra.inc b/StarVMC/geant3/geant321/gcstra.inc deleted file mode 100644 index d8387aa149e..00000000000 --- a/StarVMC/geant3/geant321/gcstra.inc +++ /dev/null @@ -1,45 +0,0 @@ -* -* $Id: gcstra.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcstra.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCSTRA_INC -#define CERNLIB_GEANT321_GCSTRA_INC -* -* -* gcstra.inc -* -#if !defined(CERNLIB_INCLUDE) - PARAMETER (ILTAB=200) - COMMON /GCSTRA / EMAX,EM(200),SFINT,EPSR(ILTAB),EPSI(ILTAB), - + FINT(ILTAB),EMIN,EPPS,BETA2,GAMMA2,WP2,S2,MEEV,EMM(200), - + GAMLOG(21),NP,NTAB,IE,NFACT,NICOLL -* - INTEGER NP,NTAB,IE,NFACT - REAL EMAX,EM,SFINT,EPSR,EPSI,FINT,EMIN,EPPS,EMM,GAMLOG - + ,BETA2,GAMMA2,WP2,S2,MEEV -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gctime.inc b/StarVMC/geant3/geant321/gctime.inc deleted file mode 100644 index dd49e28f6aa..00000000000 --- a/StarVMC/geant3/geant321/gctime.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: gctime.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gctime.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCTIME_INC -#define CERNLIB_GEANT321_GCTIME_INC -* -* -* gctime.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCTIME/TIMINT,TIMEND,ITIME,IGDATE,IGTIME - INTEGER ITIME,IGDATE,IGTIME - REAL TIMINT,TIMEND -C -#endif -* -* gctime.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gctime -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gctmed.inc b/StarVMC/geant3/geant321/gctmed.inc deleted file mode 100644 index fb7f57c368c..00000000000 --- a/StarVMC/geant3/geant321/gctmed.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gctmed.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gctmed.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCTMED_INC -#define CERNLIB_GEANT321_GCTMED_INC -* -* -* gctmed.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCTMED/NUMED,NATMED(5),ISVOL,IFIELD,FIELDM,TMAXFD,STEMAX - + ,DEEMAX,EPSIL,STMIN,CFIELD,PREC,IUPD,ISTPAR,NUMOLD - COMMON/GCTLIT/THRIND,PMIN,DP,DNDL,JMIN,ITCKOV,IMCKOV,NPCKOV -C -#if defined(CERNLIB_TYPE) -#include "geant321/gttmed.inc" -#endif -#endif -* -* gctmed.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gctmed -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gctrak.inc b/StarVMC/geant3/geant321/gctrak.inc deleted file mode 100644 index 8fef70b86bf..00000000000 --- a/StarVMC/geant3/geant321/gctrak.inc +++ /dev/null @@ -1,57 +0,0 @@ -* -* $Id: gctrak.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gctrak.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCTRAK_INC -#define CERNLIB_GEANT321_GCTRAK_INC -* -* -* gctrak.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/gttrak.inc" -#endif - PARAMETER (MAXMEC=30) - COMMON/GCTRAK/VECT(7),GETOT,GEKIN,VOUT(7),NMEC,LMEC(MAXMEC) - + ,NAMEC(MAXMEC),NSTEP ,MAXNST,DESTEP,DESTEL,SAFETY,SLENG - + ,STEP ,SNEXT ,SFIELD,TOFG ,GEKRAT,UPWGHT,IGNEXT,INWVOL - + ,ISTOP ,IGAUTO,IEKBIN, ILOSL, IMULL,INGOTO,NLDOWN,NLEVIN - + ,NLVSAV,ISTORY - PARAMETER (MAXME1=30) - COMMON/GCTPOL/POLAR(3), NAMEC1(MAXME1) -C -#endif -* -* gctrak.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gctrak -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcunit.inc b/StarVMC/geant3/geant321/gcunit.inc deleted file mode 100644 index 5110a06bd16..00000000000 --- a/StarVMC/geant3/geant321/gcunit.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gcunit.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcunit.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCUNIT_INC -#define CERNLIB_GEANT321_GCUNIT_INC -* -* -* gcunit.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCUNIT/LIN,LOUT,NUNITS,LUNITS(5) - INTEGER LIN,LOUT,NUNITS,LUNITS - COMMON/GCMAIL/CHMAIL - CHARACTER*132 CHMAIL -C -#endif -* -* gcunit.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcunit -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcursb.inc b/StarVMC/geant3/geant321/gcursb.inc deleted file mode 100644 index 3db0a370347..00000000000 --- a/StarVMC/geant3/geant321/gcursb.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gcursb.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcursb.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCURSB_INC -#define CERNLIB_GEANT321_GCURSB_INC -* -* -* gcursb.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCURSB/NUMNDS,IADDI,NUMND2,NNPAR,IISELT - COMMON/GCURSC/MOMO - CHARACTER*4 MOMO -* -#if defined(CERNLIB_TYPE) -#include "geant321/gtursb.inc" -#endif -#endif -* -* gcursb.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcursb -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcvdma.inc b/StarVMC/geant3/geant321/gcvdma.inc deleted file mode 100644 index f2a2d867849..00000000000 --- a/StarVMC/geant3/geant321/gcvdma.inc +++ /dev/null @@ -1,43 +0,0 @@ -* -* $Id: gcvdma.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcvdma.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:36 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCVDMA_INC -#define CERNLIB_GEANT321_GCVDMA_INC -* -* -* gcvdma.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCVDMA/NVMANY,MANYLE(20),MANYNA(20,15), - +MANYNU(20,15),NFMANY,MYCOUN,IMYSE,RAYTRA,VECCOS(3) -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtvdma.inc" -#endif -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcvol1.inc b/StarVMC/geant3/geant321/gcvol1.inc deleted file mode 100644 index e2762a21f07..00000000000 --- a/StarVMC/geant3/geant321/gcvol1.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gcvol1.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcvol1.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCVOL1_INC -#define CERNLIB_GEANT321_GCVOL1_INC -* -* -* gcvol1.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCVOL1/NLEVL1,NAMES1(15),NUMBR1(15),LVOLU1(15) -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtvol1.inc" -#endif -#endif -* -* gcvol1.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcvol1 -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcvol2.inc b/StarVMC/geant3/geant321/gcvol2.inc deleted file mode 100644 index c88bc6a710c..00000000000 --- a/StarVMC/geant3/geant321/gcvol2.inc +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: gcvol2.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcvol2.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCVOL2_INC -#define CERNLIB_GEANT321_GCVOL2_INC -* -* -* gcvol2.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCVOL2/NLEVE2,NAMES2(15),NUMB2(15), - +LVOL2(15),LIND2(15),INFRO2,NLDEV2(15),LINMX2(15), - +GTRAN2(3,15),GRMAT2(10,15),GONLY2(15),GLX2(15) - INTEGER NLEVE2,NAMES2,NUMB2,LVOL2,LIND2,INFRO2,NLDEV2,LINMX2 - REAL GTRAN2,GRMAT2,GONLY2,GLX2 -C -#endif -* -* gcvol2.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcvol2 -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcvolu.inc b/StarVMC/geant3/geant321/gcvolu.inc deleted file mode 100644 index a90ca95b13b..00000000000 --- a/StarVMC/geant3/geant321/gcvolu.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gcvolu.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcvolu.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCVOLU_INC -#define CERNLIB_GEANT321_GCVOLU_INC -* -* -* gcvolu.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCVOLU/NLEVEL,NAMES(15),NUMBER(15), - +LVOLUM(15),LINDEX(15),INFROM,NLEVMX,NLDEV(15),LINMX(15), - +GTRAN(3,15),GRMAT(10,15),GONLY(15),GLX(3) -C -#if defined(CERNLIB_TYPE) -#include "geant321/gtvolu.inc" -#endif -#endif -* -* gcvolu.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcvolu -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gcxlun.inc b/StarVMC/geant3/geant321/gcxlun.inc deleted file mode 100644 index 50f7fce8c29..00000000000 --- a/StarVMC/geant3/geant321/gcxlun.inc +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: gcxlun.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gcxlun.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GCXLUN_INC -#define CERNLIB_GEANT321_GCXLUN_INC -* -* -* gcxlun.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GCXLUN/LUNIT(128) -* -#endif -* -* gcxlun.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gcxlun -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gfkdis.inc b/StarVMC/geant3/geant321/gfkdis.inc deleted file mode 100644 index edb05f2dfda..00000000000 --- a/StarVMC/geant3/geant321/gfkdis.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: gfkdis.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gfkdis.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GFKDIS_INC -#define CERNLIB_GEANT321_GFKDIS_INC -* -* -* gfkdis.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/ GFKDIS/ ZINE, ZELA, ZTOT, INT - + ,SINE, SELA, FSIG, IFMAT, IGF -C -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gsecti.inc b/StarVMC/geant3/geant321/gsecti.inc deleted file mode 100644 index c918ce104f8..00000000000 --- a/StarVMC/geant3/geant321/gsecti.inc +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: gsecti.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gsecti.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GSECTI_INC -#define CERNLIB_GEANT321_GSECTI_INC -* -* -* gsecti.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/GSECTI/ AIEL(20),AIIN(20),AIFI(20),AICA(20),ALAM,K0FLAG - INTEGER K0FLAG - REAL AIEL,AIIN,AIFI,AICA,ALAM -C -#endif -* -* gsecti.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + gsecti -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtasho.inc b/StarVMC/geant3/geant321/gtasho.inc deleted file mode 100644 index dc85b780363..00000000000 --- a/StarVMC/geant3/geant321/gtasho.inc +++ /dev/null @@ -1,41 +0,0 @@ -* -* $Id: gtasho.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtasho.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTASHO_INC -#define CERNLIB_GEANT321_GTASHO_INC -* -* -* gtasho.inc -* -#if !defined(CERNLIB_INCLUDE) - REAL ZMED,AMED,DMED,E0MED,ZSMED,ESMED,ALFA, - * STEP,PLIN,PLOG,BE2,PLASM,TRNSMA, - * BOSC,AOSC,EOSC,ZOSC,EMEAN,CMGO,EMGO,EMGOMI - INTEGER NSMED,IOSC,NOSC,NMGO,NMGOMA -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtbank.inc b/StarVMC/geant3/geant321/gtbank.inc deleted file mode 100644 index 7e04b0308e9..00000000000 --- a/StarVMC/geant3/geant321/gtbank.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: gtbank.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtbank.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTBANK_INC -#define CERNLIB_GEANT321_GTBANK_INC -* -* -* gtbank.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER IQ,LQ,NZEBRA,IXSTOR,IXDIV,IXCONS,LMAIN,LR1,JCG - INTEGER KWBANK,KWWORK,IWS - REAL GVERSN,ZVERSN,FENDQ,WS,Q -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtcons.inc b/StarVMC/geant3/geant321/gtcons.inc deleted file mode 100644 index d7f8c4fe5d5..00000000000 --- a/StarVMC/geant3/geant321/gtcons.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtcons.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtcons.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTCONS_INC -#define CERNLIB_GEANT321_GTCONS_INC -* -* -* gtcons.inc -* -#if !defined(CERNLIB_INCLUDE) - REAL PI,TWOPI,PIBY2,DEGRAD,RADDEG,CLIGHT,BIG,EMASS - REAL EMMU,PMASS,AVO -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtcurs.inc b/StarVMC/geant3/geant321/gtcurs.inc deleted file mode 100644 index 90f9dadcfe8..00000000000 --- a/StarVMC/geant3/geant321/gtcurs.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtcurs.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtcurs.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTCURS_INC -#define CERNLIB_GEANT321_GTCURS_INC -* -* -* gtcurs.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER INTFLA - REAL SIZD2,FACHV,HALF,SAVPLX,SAVPLY,YPLT,XPLT -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtcuts.inc b/StarVMC/geant3/geant321/gtcuts.inc deleted file mode 100644 index 34ca567d19e..00000000000 --- a/StarVMC/geant3/geant321/gtcuts.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: gtcuts.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtcuts.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTCUTS_INC -#define CERNLIB_GEANT321_GTCUTS_INC -* -* -* gtcuts.inc -* -#if !defined(CERNLIB_INCLUDE) - REAL CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM - + ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtdraw.inc b/StarVMC/geant3/geant321/gtdraw.inc deleted file mode 100644 index 66d188ce18c..00000000000 --- a/StarVMC/geant3/geant321/gtdraw.inc +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gtdraw.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtdraw.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:33 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.2 1998/02/06 15:17:29 japost -* Added the type of three variables (ZZFU,ZZFV,MYISEL). -* -* Omission reported by Andrea Dell'Acqua , Fri, 6 Feb 1998 -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTDRAW_INC -#define CERNLIB_GEANT321_GTDRAW_INC -* -* -* gtdraw.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NUMNOD,MAXNOD,NUMND1,LEVVER,LEVHOR,MAXV,IPICK, - + MLEVV,MLEVH,NWCUT,JNAM,JMOT,JXON,JBRO,JDUP,JSCA,JDVM,JPSM, - + JNAM1,JMOT1,JXON1,JBRO1,JDUP1,JSCA1,JULEV,JVLEV, - + LOOKTB,IDRNUM,NGVIEW,ICUTFL,ICUT,NSURF,ISURF,LINATT,LINATP, - + ITXATT,ITHRZ,IPRJ,ITR3D,IPKHIT,IOBJ,LINBUF, - + MAXGU,MORGU,MAXGS,MORGS,MAXTU,MORTU,MAXTS,MORTS, - + IGU,IGS,ITU,ITS,NKVIEW,IDVIEW, - + NOPEN,IGMR,IPIONS,ITRKOP,IHIDEN,MYISEL - REAL GRMAT0,GTRAN0,GSIN,GCOS,SINPSI,COSPSI,GTHETA,GPHI,GPSI, - + GU0,GV0,GSCU,GSCV,CTHETA,CPHI,DCUT,GZUA,GZVA,GZUB,GZVB,GZUC, - + GZVC,PLTRNX,PLTRNY,DPERS,ZZFU,ZZFV,DDUMMY -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtfdim.inc b/StarVMC/geant3/geant321/gtfdim.inc deleted file mode 100644 index 7c235272dfb..00000000000 --- a/StarVMC/geant3/geant321/gtfdim.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtfdim.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtfdim.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:36 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTFDIM_INC -#define CERNLIB_GEANT321_GTFDIM_INC -* -* -* gtfdim.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NPROC,NMPTOT - REAL TSEQTO,TOTMBY,TSEQ,TLAT,TNET,X1MIN,X1MAX, - + Y1MIN,Y1MAX,Z1MIN,Z1MAX,XCUT,YCUT,ZCUT -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtflag.inc b/StarVMC/geant3/geant321/gtflag.inc deleted file mode 100644 index 51f0b957d6d..00000000000 --- a/StarVMC/geant3/geant321/gtflag.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtflag.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtflag.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTFLAG_INC -#define CERNLIB_GEANT321_GTFLAG_INC -* -* -* gtflag.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER IDEBUG,IDEMIN,IDEMAX,ITEST,IDRUN,IDEVT,IEORUN - + ,IEOTRI,IEVENT,ISWIT,IFINIT,NEVENT,NRNDM -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gthil2.inc b/StarVMC/geant3/geant321/gthil2.inc deleted file mode 100644 index e96fa338175..00000000000 --- a/StarVMC/geant3/geant321/gthil2.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gthil2.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gthil2.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTHIL2_INC -#define CERNLIB_GEANT321_GTHIL2_INC -* -* -* gthil2.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER LARETT,JTICK,JMYLL,JFIMOT,JFISCA,JFINAM, - + JAASS1,JAASS2,JAASS3,JAASS4, - + JTICKS,JMYLLS,JMYMOT -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gthiln.inc b/StarVMC/geant3/geant321/gthiln.inc deleted file mode 100644 index 0d5131f91f1..00000000000 --- a/StarVMC/geant3/geant321/gthiln.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: gthiln.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gthiln.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTHILN_INC -#define CERNLIB_GEANT321_GTHILN_INC -* -* -* gthiln.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER LARECG,JCGOBJ,JCGCOL,JCOUNT,JCLIPS,IMPOIN,IMCOUN, - + JSIX,JSIY,JSIZ,JPXC,JPYC,JPZC,ICLIP1,ICLIP2 -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gthvir.inc b/StarVMC/geant3/geant321/gthvir.inc deleted file mode 100644 index a897928bdbc..00000000000 --- a/StarVMC/geant3/geant321/gthvir.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: gthvir.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gthvir.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTHVIR_INC -#define CERNLIB_GEANT321_GTHVIR_INC -* -* -* gthvir.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER JVIRT,JVDIV,JCONT2,JCONT -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtjump.inc b/StarVMC/geant3/geant321/gtjump.inc deleted file mode 100644 index b147a616361..00000000000 --- a/StarVMC/geant3/geant321/gtjump.inc +++ /dev/null @@ -1,57 +0,0 @@ -* -* $Id: gtjump.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtjump.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTJUMP_INC -#define CERNLIB_GEANT321_GTJUMP_INC -* -* -* gtjump.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_LXIA64) - INTEGER*8 JUDCAY, JUDIGI, JUDTIM, JUFLD , JUHADR, JUIGET, - + JUINME, JUINTI, JUKINE, JUNEAR, JUOUT , JUPHAD, - + JUSKIP, JUSTEP, JUSWIM, JUTRAK, JUTREV, JUVIEW, - + JUPARA - INTEGER*8 JMPADR -* -#else - INTEGER JUDCAY, JUDIGI, JUDTIM, JUFLD , JUHADR, JUIGET, - + JUINME, JUINTI, JUKINE, JUNEAR, JUOUT , JUPHAD, - + JUSKIP, JUSTEP, JUSWIM, JUTRAK, JUTREV, JUVIEW, - + JUPARA - INTEGER JMPADR -* -#endif - INTEGER MAXJMP -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtkine.inc b/StarVMC/geant3/geant321/gtkine.inc deleted file mode 100644 index 0d8e9909ad0..00000000000 --- a/StarVMC/geant3/geant321/gtkine.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtkine.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtkine.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTKINE_INC -#define CERNLIB_GEANT321_GTKINE_INC -* -* -* gtkine.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER IKINE,ITRA,ISTAK,IVERT,IPART,ITRTYP,NAPART,IPAOLD - REAL PKINE,AMASS,CHARGE,TLIFE,VERT,PVERT -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtlink.inc b/StarVMC/geant3/geant321/gtlink.inc deleted file mode 100644 index f8024adaae4..00000000000 --- a/StarVMC/geant3/geant321/gtlink.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: gtlink.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtlink.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTLINK_INC -#define CERNLIB_GEANT321_GTLINK_INC -* -* -* gtlink.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART - + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX - + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtlist.inc b/StarVMC/geant3/geant321/gtlist.inc deleted file mode 100644 index 1346187193f..00000000000 --- a/StarVMC/geant3/geant321/gtlist.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtlist.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtlist.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTLIST_INC -#define CERNLIB_GEANT321_GTLIST_INC -* -* -* gtlist.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NHSTA,NGET ,NSAVE,NSETS,NPRIN,NGEOM,NVIEW,NPLOT - + ,NSTAT,LHSTA,LGET ,LSAVE,LSETS,LPRIN,LGEOM,LVIEW,LPLOT,LSTAT -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtmore.inc b/StarVMC/geant3/geant321/gtmore.inc deleted file mode 100644 index 662d55e770d..00000000000 --- a/StarVMC/geant3/geant321/gtmore.inc +++ /dev/null @@ -1,16 +0,0 @@ -* -#ifndef CERNLIB_GEANT321_GTMORE_INC -#define CERNLIB_GEANT321_GTMORE_INC -* -* -* gtmore.inc -* -#if !defined(CERNLIB_INCLUDE) - REAL GCALPHA - INTEGER ICLOSE - REAL PFINAL,DSTRT,WIRE1,WIRE2 - REAL P1,P2,P3 -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtmutr.inc b/StarVMC/geant3/geant321/gtmutr.inc deleted file mode 100644 index 8c2bac9c3ee..00000000000 --- a/StarVMC/geant3/geant321/gtmutr.inc +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: gtmutr.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtmutr.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTMUTR_INC -#define CERNLIB_GEANT321_GTMUTR_INC -* -* -* gtmutr.inc -* -#if !defined(CERNLIB_INCLUDE) -* - INTEGER NCVOLS,NSHIFT,KSHIFT,ICUBE,NAIN,JJJ,NIET,IVOOLD, - + IWPOIN,IHPOIN,IVECVO,IOLDSU,ICGP,IPORNT - REAL GXMIN,GXMAX,GYMIN,GYMAX,GZMIN,GZMAX,GXXXX,GYYYY,GZZZZ - REAL CLIPMI,CLIPMA,ABCD,BMIN,BMAX,CGB,CGB1,GBOOM - REAL PORGX,PORGY,PORGZ,POX,POY,POZ,PORMIR,PORMAR -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtnum.inc b/StarVMC/geant3/geant321/gtnum.inc deleted file mode 100644 index 34f0ab08fb8..00000000000 --- a/StarVMC/geant3/geant321/gtnum.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtnum.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtnum.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTNUM_INC -#define CERNLIB_GEANT321_GTNUM_INC -* -* -* gtnum.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NMATE ,NVOLUM,NROTM,NTMED,NTMULT,NTRACK,NPART - + ,NSTMAX,NVERTX,NHEAD,NBIT ,NALIVE,NTMSTO -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtopti.inc b/StarVMC/geant3/geant321/gtopti.inc deleted file mode 100644 index a9c252a32cf..00000000000 --- a/StarVMC/geant3/geant321/gtopti.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: gtopti.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtopti.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTOPTI_INC -#define CERNLIB_GEANT321_GTOPTI_INC -* -* -* gtopti.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER IOPTIM -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtpara.inc b/StarVMC/geant3/geant321/gtpara.inc deleted file mode 100644 index e93c82bd5a1..00000000000 --- a/StarVMC/geant3/geant321/gtpara.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: gtpara.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtpara.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTPARA_INC -#define CERNLIB_GEANT321_GTPARA_INC -* -* -* gtpara.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER BITPHI, BITTET, BITPOT - LOGICAL SYMPHI, SYMTEU, SYMTED -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtparm.inc b/StarVMC/geant3/geant321/gtparm.inc deleted file mode 100644 index b6f15b7194b..00000000000 --- a/StarVMC/geant3/geant321/gtparm.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: gtparm.inc,v 1.1.1.2 2009/02/01 17:10:21 fisyak Exp $ -* -* $Log: gtparm.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:21 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTPARM_INC -#define CERNLIB_GEANT321_GTPARM_INC -* -* -* gtparm.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER IPARAM,MPSTAK,NSPARA,NPGENE - REAL PCUTGA,PCUTEL,PCUTNE,PCUTHA,PCUTMU -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtphys.inc b/StarVMC/geant3/geant321/gtphys.inc deleted file mode 100644 index c7976c1e8e8..00000000000 --- a/StarVMC/geant3/geant321/gtphys.inc +++ /dev/null @@ -1,46 +0,0 @@ -* -* $Id: gtphys.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtphys.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:32 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTPHYS_INC -#define CERNLIB_GEANT321_GTPHYS_INC -* -* -* gtphys.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER IPAIR,ICOMP,IPHOT,IPFIS,IDRAY,IANNI,IBREM,IHADR,IMUNU - + ,IDCAY,ILOSS,IMULS,IRAYL,ILABS,ISYNC,ISTRA - REAL SPAIR,SLPAIR,ZINTPA,STEPPA,SCOMP,SLCOMP,ZINTCO,STEPCO - + ,SPHOT,SLPHOT,ZINTPH,STEPPH,SPFIS,SLPFIS,ZINTPF,STEPPF - + ,SDRAY,SLDRAY,ZINTDR,STEPDR,SANNI,SLANNI,ZINTAN,STEPAN - + ,SBREM,SLBREM,ZINTBR,STEPBR,SHADR,SLHADR,ZINTHA,STEPHA - + ,SMUNU,SLMUNU,ZINTMU,STEPMU,SDCAY,SLIFE ,SUMLIF,DPHYS1 - + ,SLOSS,SOLOSS,STLOSS,DPHYS2,SMULS,SOMULS,STMULS,DPHYS3 - + ,SRAYL,SLRAYL,ZINTRA,STEPRA,SLABS,SLLABS,ZINTLA,STEPLA -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtpixe.inc b/StarVMC/geant3/geant321/gtpixe.inc deleted file mode 100644 index 833e619ba96..00000000000 --- a/StarVMC/geant3/geant321/gtpixe.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: gtpixe.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtpixe.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:36 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTPIXE_INC -#define CERNLIB_GEANT321_GTPIXE_INC -* -* -* gtpixe.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER LIMPRE,IFLAPE,ICOLOR,IXXX,IYYY, - + ISSEEN,ISCOLO,ISLSTY,ISLWID,ISFILL, - + IMAP,JON,NMAP - REAL UUU,VVV,ZUV,ZNMAP1 -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtrayt.inc b/StarVMC/geant3/geant321/gtrayt.inc deleted file mode 100644 index 1ba487dbc6f..00000000000 --- a/StarVMC/geant3/geant321/gtrayt.inc +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: gtrayt.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtrayt.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:36 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTRAYT_INC -#define CERNLIB_GEANT321_GTRAYT_INC -* -* -* gtrayt.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER INTEN,IOMBRA,IXYFLA,NOFLAG - REAL XLPOS,YLPOS,ZLPOS,XLDIR,YLDIR,ZLDIR,APFLAH, - + CCXX,CCYY,CCZZ,BOFLAG,APFLAG, - + XCOSXS,YCOSYS,ZCOSZS,VDX,VDY,VDZ,SSLENG, - + XPINTS,YPINTS,ZPINTS,FPINTX,FPINTY,FPINTZ, - + AROTS,ZROTS,RRR -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtscal.inc b/StarVMC/geant3/geant321/gtscal.inc deleted file mode 100644 index 049367412a9..00000000000 --- a/StarVMC/geant3/geant321/gtscal.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: gtscal.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtscal.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTSCAL_INC -#define CERNLIB_GEANT321_GTSCAL_INC -* -* -* gtscal.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER MXSLNK, ISLINK, LSLAST, LSCAN, LSTEMP, LSPARA, LSERAY -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtscan.inc b/StarVMC/geant3/geant321/gtscan.inc deleted file mode 100644 index 5a0c344408a..00000000000 --- a/StarVMC/geant3/geant321/gtscan.inc +++ /dev/null @@ -1,43 +0,0 @@ -* -* $Id: gtscan.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtscan.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTSCAN_INC -#define CERNLIB_GEANT321_GTSCAN_INC -* -* -* gtscan.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER MSLIST,NPHI,IPHIMI,IPHIMA,IPHI1,IPHIL,NTETA,MODTET,NSLMAX, - + MAXMDT,NSLIST,ISLIST,IPHI,ITETA,ISCUR - REAL PHIMIN,PHIMAX,TETMIN,TETMAX,VSCAN,FACTX0,FACTL, - + FACTR,SX0,SABS,TETMID,TETMAD - + ,SX0S,SX0T,SABSS,SABST,FACTSF - + ,DLTPHI,DLTETA,DPHIM1,DTETM1 - + ,FCX0M1,FCLLM1,FCRRM1 -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtsets.inc b/StarVMC/geant3/geant321/gtsets.inc deleted file mode 100644 index 1996364ca94..00000000000 --- a/StarVMC/geant3/geant321/gtsets.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: gtsets.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtsets.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTSETS_INC -#define CERNLIB_GEANT321_GTSETS_INC -* -* -* gtsets.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER IHSET,IHDET,ISET,IDET,IDTYPE,NVNAME,NUMBV -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtspee.inc b/StarVMC/geant3/geant321/gtspee.inc deleted file mode 100644 index c42cae7f7f3..00000000000 --- a/StarVMC/geant3/geant321/gtspee.inc +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: gtspee.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtspee.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTSPEE_INC -#define CERNLIB_GEANT321_GTSPEE_INC -* -* -* gtspee.inc -* -#if !defined(CERNLIB_INCLUDE) -* - REAL S1,S2,S3,SS1,SS2,SS3,SRAGMX,SRAGMN, - + RAINT1,RAINT2,RMIN1,RMIN2,RMAX1,RMAX2 - INTEGER ISCOP,NTIM,NTFLAG,IOLDCU,ITSTCU,ISUBLI,IPORLI - INTEGER LPASS,JPORJJ,LEP,JSC -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtstak.inc b/StarVMC/geant3/geant321/gtstak.inc deleted file mode 100644 index 343537c0716..00000000000 --- a/StarVMC/geant3/geant321/gtstak.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtstak.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtstak.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTSTAK_INC -#define CERNLIB_GEANT321_GTSTAK_INC -* -* -* gtstak.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NJTMAX,NJTMIN,NTSTKP,NTSTKS,NDBOOK,NDPUSH,NJFREE,NJGARB, - + NJINVO,LINSAV,LMXSAV,NWSTAK,NWINT,NWREAL,NWTRAC - INTEGER ISTORD -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gttmed.inc b/StarVMC/geant3/geant321/gttmed.inc deleted file mode 100644 index 64f2f43cb94..00000000000 --- a/StarVMC/geant3/geant321/gttmed.inc +++ /dev/null @@ -1,41 +0,0 @@ -* -* $Id: gttmed.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gttmed.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTTMED_INC -#define CERNLIB_GEANT321_GTTMED_INC -* -* -* gttmed.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NUMED,NATMED,ISVOL,IFIELD,IUPD,ISTPAR,NUMOLD - REAL FIELDM,TMAXFD,STEMAX,DEEMAX,EPSIL,STMIN,CFIELD,PREC - INTEGER JMIN,NPCKOV,IMCKOV,ITCKOV - REAL THRIND,PMIN,DP,DNDL -C -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gttrak.inc b/StarVMC/geant3/geant321/gttrak.inc deleted file mode 100644 index 77104053644..00000000000 --- a/StarVMC/geant3/geant321/gttrak.inc +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: gttrak.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gttrak.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTTRAK_INC -#define CERNLIB_GEANT321_GTTRAK_INC -* -* -* gttrak.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NMEC,LMEC,NAMEC,NSTEP ,MAXNST,IGNEXT,INWVOL,ISTOP,MAXMEC - + ,IGAUTO,IEKBIN,ILOSL, IMULL,INGOTO,NLDOWN,NLEVIN,NLVSAV,ISTORY - + ,MAXME1,NAMEC1 - REAL VECT,GETOT,GEKIN,VOUT,DESTEP,DESTEL,SAFETY,SLENG ,STEP - + ,SNEXT,SFIELD,TOFG ,GEKRAT,UPWGHT - REAL POLAR -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtursb.inc b/StarVMC/geant3/geant321/gtursb.inc deleted file mode 100644 index f92dd308647..00000000000 --- a/StarVMC/geant3/geant321/gtursb.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: gtursb.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtursb.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:31 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTURSB_INC -#define CERNLIB_GEANT321_GTURSB_INC -* -* -* gtursb.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NUMNDS,IADDI,NUMND2,NNPAR,IISELT -* -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtvdma.inc b/StarVMC/geant3/geant321/gtvdma.inc deleted file mode 100644 index 207078914e7..00000000000 --- a/StarVMC/geant3/geant321/gtvdma.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtvdma.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtvdma.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTVDMA_INC -#define CERNLIB_GEANT321_GTVDMA_INC -* -* -* gtvdma.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NVMANY,MANYLE,MANYNA,MANYNU, - + NFMANY,MYCOUN,IMYSE - REAL RAYTRA,VECCOS -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtvol1.inc b/StarVMC/geant3/geant321/gtvol1.inc deleted file mode 100644 index 0caca9c9262..00000000000 --- a/StarVMC/geant3/geant321/gtvol1.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: gtvol1.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtvol1.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTVOL1_INC -#define CERNLIB_GEANT321_GTVOL1_INC -* -* -* gtvol1.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NAMES1,NUMBR1,LVOLU1 -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gtvolu.inc b/StarVMC/geant3/geant321/gtvolu.inc deleted file mode 100644 index 50f7595cb5d..00000000000 --- a/StarVMC/geant3/geant321/gtvolu.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gtvolu.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gtvolu.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:33 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GTVOLU_INC -#define CERNLIB_GEANT321_GTVOLU_INC -* -* -* gtvolu.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NLEVEL,NAMES,NUMBER,LVOLUM,LINDEX,INFROM,NLEVMX, - + NLDEV,LINMX - REAL GTRAN,GRMAT,GONLY,GLX -#endif - -#endif diff --git a/StarVMC/geant3/geant321/gversc.inc b/StarVMC/geant3/geant321/gversc.inc deleted file mode 100644 index 9bd3de6495d..00000000000 --- a/StarVMC/geant3/geant321/gversc.inc +++ /dev/null @@ -1,60 +0,0 @@ -* -* $Id: gversc.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: gversc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.8 1998/02/11 09:47:00 japost -* Updated version number to 3.21/11. -* -* Revision 1.7 1997/11/13 13:04:45 mclareni -* Increase cradle no. to 0.10 -* -* Revision 1.6 1997/10/17 10:26:24 mclareni -* Increase cradle no. to 0.09 -* -* Revision 1.5 1997/06/20 18:40:53 japost -* Updating the version number after commiting several changes: -* to gthion, gflufin, ghetun -* Remaining problem: gdrawp, ghadr? -* -* Revision 1.4 1997/01/06 17:08:17 cernlib -* Increase cradle no. to 0.07 -* -* Revision 1.3 1996/11/19 11:28:53 ravndal -* *** empty log message *** -* -* Revision 1.2 1996/04/15 14:10:08 ravndal -* Update cradel number -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_GVERSC_INC -#define CERNLIB_GEANT321_GVERSC_INC -* -* -* gversc.inc -* -#if !defined(CERNLIB_INCLUDE) - GVERSC = 0.11 -#endif - -#endif diff --git a/StarVMC/geant3/geant321/hadflg.inc b/StarVMC/geant3/geant321/hadflg.inc deleted file mode 100644 index e0f9182e38f..00000000000 --- a/StarVMC/geant3/geant321/hadflg.inc +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: hadflg.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: hadflg.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_HADFLG_INC -#define CERNLIB_GEANT321_HADFLG_INC -* -* -* hadflg.inc -* -* -*=== hadflg ===========================================================* -* -* -*----------------------------------------------------------------------* -* * -* Created on 13 september 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 1-dec-91 by Alfredo Ferrari * -* * -* Included in the following routines: * -* * -* Calumo * -* Datesh * -* Eventv * -* Ferhav * -* Hadriv * -* Rchanv * -* * -* Ielflg = Flag to control the elastic channel * -* in Hadriv: * -* -1: elastic channel reduced according * -* to a rough Pauli blocking factor * -* 0: elastic channel fully accounted for * -* +1: elastic channel suppressed * -* Icxflg = Flag to control the charge exchange * -* channel in Hadriv: * -* -1: ch. ex. channel reduced according * -* to a rough Pauli blocking factor * -* 0: ch. ex. channel fully accounted for * -* +1: ch. ex. channel suppressed * -* Innure(1,1,k) = Projectile index for the Hadriv reaction * -* k (first entrance channel) * -* Innure(2,1,k) = Target index for the Hadriv reaction * -* k (first entrance channel) * -* Innure(1,2,k) = Projectile index for the Hadriv reaction * -* k (second entrance channel, if any) * -* Innure(2,2,k) = Target index for the Hadriv reaction * -* k (second entrance channel, if any) * -* It holds: * -* Nure (Innure(1,j,k),(Innure(2,j,k)/8+1)) = k * -* * -*----------------------------------------------------------------------* -* - PARAMETER ( PPAMXB = 0.6 D+00 ) - PARAMETER ( PAUMXB = 2.D+00 * 0.8 D+00 ) - PARAMETER ( PPAMXM = 0.6 D+00 ) - PARAMETER ( PAUMXM = 2.D+00 * 0.4 D+00 ) -* - COMMON / FKHADF / IELFLG, ICXFLG, IKCHXG (16), INNURE (2,2,16), - & IOLDHD - - -#endif diff --git a/StarVMC/geant3/geant321/hadpar.inc b/StarVMC/geant3/geant321/hadpar.inc deleted file mode 100644 index ce0dd7d29de..00000000000 --- a/StarVMC/geant3/geant321/hadpar.inc +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: hadpar.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: hadpar.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_HADPAR_INC -#define CERNLIB_GEANT321_HADPAR_INC -* -* -* hadpar.inc -* -C*********************************************************************** -C INCLUDE FILE: HADPAR COPY CREATED 11/12/86 BY PA -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX4=1133) - CHARACTER*8 ANH - COMMON /FKHADP/PXH(IDMAX4),PYH(IDMAX4),PZH(IDMAX4),HEPH(IDMAX4), - *AMH(IDMAX4),ICHH(IDMAX4),IBARH(IDMAX4), NREH(IDMAX4) - COMMON /FKHADC/ANH(IDMAX4) - - -#endif diff --git a/StarVMC/geant3/geant321/hetc5.inc b/StarVMC/geant3/geant321/hetc5.inc deleted file mode 100644 index 2e0b7cf0b28..00000000000 --- a/StarVMC/geant3/geant321/hetc5.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: hetc5.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: hetc5.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_HETC5_INC -#define CERNLIB_GEANT321_HETC5_INC -* -* -* hetc5.inc -* -* * -*=== hetc5 ============================================================* -* * - COMMON /FKHET5/ APR,ZPR,EX,UU,EREC - - -#endif diff --git a/StarVMC/geant3/geant321/hetc7.inc b/StarVMC/geant3/geant321/hetc7.inc deleted file mode 100644 index 087ed2dabd2..00000000000 --- a/StarVMC/geant3/geant321/hetc7.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: hetc7.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: hetc7.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_HETC7_INC -#define CERNLIB_GEANT321_HETC7_INC -* -* -* hetc7.inc -* -* * -*=== hetc7 ============================================================* -* * - COMMON /FKHET7/ COSKS,SINKS, COSTH,SINTH, COSPHI,SINPHI - - -#endif diff --git a/StarVMC/geant3/geant321/hettp.inc b/StarVMC/geant3/geant321/hettp.inc deleted file mode 100644 index 5a48eb610bb..00000000000 --- a/StarVMC/geant3/geant321/hettp.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: hettp.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: hettp.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_HETTP_INC -#define CERNLIB_GEANT321_HETTP_INC -* -* -* hettp.inc -* -* * -*=== hettp ============================================================* -* * - COMMON /FKHETP/ NHSTP,NBERTP,IOSUB,INSRS - - -#endif diff --git a/StarVMC/geant3/geant321/higfis.inc b/StarVMC/geant3/geant321/higfis.inc deleted file mode 100644 index 554121e251f..00000000000 --- a/StarVMC/geant3/geant321/higfis.inc +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: higfis.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: higfis.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:39 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_HIGFIS_INC -#define CERNLIB_GEANT321_HIGFIS_INC -* -* -* higfis.inc -* -* -*=== higfis ===========================================================* -* -*----------------------------------------------------------------------* -* * -* HIGh energy FISsion common: * -* * -* Created on 9 april 1993 by Alfredo Ferrari & Paola Sala * -* INFN - Milan * -* Last change on 11-apr-93 by Alfredo Ferrari, INFN - Milan * -* * -* Fisinh = logical flag for HE fission * -* Afis(i)= ith fragment mass number just after fission * -* Zfis(i)= ith fragment atomic number just after fission * -* Ufis(i)= ith fragment excitation energy (MeV) just after * -* fission * -* Ekfis(i)= ith fragment kinetic(MeV) energy just after fission* -* Amfis(i)= ith fragment atomic mass (MeV) just after fission * -* Ppfis(i)= ith fragment momentum (MeV/c) just after fission * -* Atfis(i)= ith fragment mass number after evaporation * -* Ztfis(i)= ith fragment atomic number after evaporation * -* Utfis(i)= ith fragment excitation energy (MeV) after evapora-* -* tion * -* Recfis(i)= ith fragment kinetic(MeV) energy after evaporation * -* Atmfis(i)= ith fragment atomic mass (MeV) after evaporation * -* Pptfis(i)= ith fragment momentum (MeV/c) after evaporation * -* Ebfiss = fission barrier (MeV) * -* Amdiff = Fission fragment kinetic energy (MeV) * -* Apr0 = Mass number of the (first) fissioning nucleus * -* Zpr0 = Atomic number of the (first) fissioning nucleus * -* Uu0 = Excitation energy (MeV) of the (first) fissioning * -* nucleus * -* Erec0 = Recoil kinetic energy (MeV) of the (first) fissio- * -* ning nucleus * -* Npartf(j,i)= Number of evaporated particle of type j after the * -* evaporation of the ith fragment * -* Hevfis(i)= Evaporated "heavies" kinetic energy (MeV) after the* -* evaporation of the ith fragment * -* Nfiss = Number of fission fragments in the stack * -* * -*----------------------------------------------------------------------* -* - LOGICAL FISINH - COMMON / FKHIGF / AFIS (10), ZFIS (10), UFIS (10), EKFIS (10), - & AMFIS (10), PPFIS (10), COSLFF(3,0:10), - & ATFIS (10), ZTFIS (10), UTFIS (10), RECFIS (10), - & AMTFIS(10), PPTFIS(10), EBFISS, AMDIFF, - & APR0, ZPR0, EREC0, UU0, HEVFIS (0:10), - & NPARTF (6,0:10), NFISS, FISINH - DIMENSION COSLF0 (3) - EQUIVALENCE ( COSLF0 (1), COSLFF (1,0) ) - -#endif diff --git a/StarVMC/geant3/geant321/incdek.inc b/StarVMC/geant3/geant321/incdek.inc deleted file mode 100644 index 772ed099229..00000000000 --- a/StarVMC/geant3/geant321/incdek.inc +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: incdek.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: incdek.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:36 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_INCDEK_INC -#define CERNLIB_GEANT321_INCDEK_INC -* -#if defined(CERNLIB_INCLUDE) -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : -#endif - -#endif diff --git a/StarVMC/geant3/geant321/inpdat.inc b/StarVMC/geant3/geant321/inpdat.inc deleted file mode 100644 index be9330edd45..00000000000 --- a/StarVMC/geant3/geant321/inpdat.inc +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: inpdat.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: inpdat.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_INPDAT_INC -#define CERNLIB_GEANT321_INPDAT_INC -* -* -* inpdat.inc -* -* -*=== inpdat ===========================================================* -* -*----------------------------------------------------------------------* -* include file: inpdat copy Created 22/12/86 by PA Aarnio -* changes: revised 29/3/90 by A. Ferrari -* included in the following subroutines or functions: not updated -* -* N O W T H E R E I S A C O P Y O F I N P D A T -* ( I N P D A T 2 ) C R E A T E D -* T O A V O I D T O D I R T Y T H E B A M J E T -* P A R A M E T E R S !!!!!!!!!!!! -* -* description of the common block(s) and variable(s) -* -*----------------------------------------------------------------------* -* - COMMON /FKINPD/ A1, B1, B2, B3, BET, AS, B8, AME, DIQ, IMPS(6,6), - & IMVE(6,6), IB08(6,21), IB10(6,21), IA08(6,21), - & IA10(6,21), LT, LE, ISU - - -#endif diff --git a/StarVMC/geant3/geant321/inpdat2.inc b/StarVMC/geant3/geant321/inpdat2.inc deleted file mode 100644 index ed57a946e82..00000000000 --- a/StarVMC/geant3/geant321/inpdat2.inc +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: inpdat2.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: inpdat2.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_INPDAT2_INC -#define CERNLIB_GEANT321_INPDAT2_INC -* -* -* inpdat2.inc -* -* -*=== inpdat2 ==========================================================* -* -*----------------------------------------------------------------------* -* include file: inpdat2 copy created 29/3/90 by A. Ferrari -* changes: none -* included in the following subroutines or functions: not updated -* -* T H I S I S A C O P Y O F I N P D A T C R E A T E D -* T O A V O I D T O D I R T Y T H E B A M J E T -* P A R A M E T E R S !!!!!!!!!!!! -* -* description of the common block(s) and variable(s) -* -*----------------------------------------------------------------------* -* - COMMON /FKINPD/ A1BAMJ, B1BAMJ, B2BAMJ, B3BAMJ, BETBAM, ASBAMJ, - & B8BAMJ, AMEBAM, DIQBAM, IMPS (6,6), IMVE (6,6), - & IB08 (6,21), IB10 (6,21), IA08 (6,21), - & IA10 (6,21), LTBAMJ, LEBAMJ, ISUBAM - - -#endif diff --git a/StarVMC/geant3/geant321/inpflg.inc b/StarVMC/geant3/geant321/inpflg.inc deleted file mode 100644 index 74119ce165e..00000000000 --- a/StarVMC/geant3/geant321/inpflg.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: inpflg.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: inpflg.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_INPFLG_INC -#define CERNLIB_GEANT321_INPFLG_INC -* -* -* inpflg.inc -* -* * -*=== inpflg ===========================================================* -* * - COMMON /FKINPF/ IANG,IFISS,IB0,IGEOM,ISTRAG,KEYDK - - -#endif diff --git a/StarVMC/geant3/geant321/iounit.inc b/StarVMC/geant3/geant321/iounit.inc deleted file mode 100644 index a98e3a22803..00000000000 --- a/StarVMC/geant3/geant321/iounit.inc +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: iounit.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: iounit.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_IOUNIT_INC -#define CERNLIB_GEANT321_IOUNIT_INC -* -* -* iounit.inc -* -* * -*=== iounit ==========================================================* -* * -*---------------------------------------------------------------------* -* * -* Iounit: included in any routine * -* * -* lunin = standard input unit * -* lunout = standard output unit * -* lunerr = standard error unit * -* lunber = input file for bertini nuclear data * -* lunech = echo file for pegs dat * -* lunflu = input file for photoelectric edges and X-ray fluo- * -* rescence data * -* lungeo = scratch file for combinatorial geometry * -* lunpgs = input file for pegs material data * -* lunran = output file for the final random number seed * -* lunxsc = input file for low energy neutron cross sections * -* * -*---------------------------------------------------------------------* -* * - PARAMETER ( LUNIN = 5 ) - PARAMETER ( LUNOUT = 6 ) - PARAMETER ( LUNERR = 66 ) - PARAMETER ( LUNBER = 22 ) - PARAMETER ( LUNECH = 8 ) - PARAMETER ( LUNFLU = 86 ) - PARAMETER ( LUNGEO = 16 ) - PARAMETER ( LUNPGS = 12 ) - PARAMETER ( LUNRAN = 2 ) - PARAMETER ( LUNXSC = 81 ) - - -#endif diff --git a/StarVMC/geant3/geant321/isotop.inc b/StarVMC/geant3/geant321/isotop.inc deleted file mode 100644 index 48462b87688..00000000000 --- a/StarVMC/geant3/geant321/isotop.inc +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: isotop.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: isotop.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_ISOTOP_INC -#define CERNLIB_GEANT321_ISOTOP_INC -* -* -* isotop.inc -* -*----------------------------------------------------------------------* -* include file: isotop created by A. Ferrari on 23-9-90 * -* * -* description of the common block(s) and variable(s) * -* * -* * -* isondx = initial and final indexes in the abuiso and isomnm * -* for a given atomic number * -* isomnm = mass numbers of the isotopes * -* abuiso = natural abundances of the isotopes * -* astlin(1,iz) = "average" A of the stability line versus the * -* atomic number Z * -* astlin(2,iz) = dispersion of A of the stability line versus * -* the atomic number Z * -* zstlin(1,ia) = "average" Z of the stability line versus the * -* mass number A * -* zstlin(2,ia) = dispersion of Z of the stability line versus * -* the mass number A * -* * -*----------------------------------------------------------------------* -* - COMMON / FKISOT / ABUISO (NSTBIS), ASTLIN (2,100), ZSTLIN (2,260), - & ISOMNM (NSTBIS), ISONDX (2,100) - - -#endif diff --git a/StarVMC/geant3/geant321/labcos.inc b/StarVMC/geant3/geant321/labcos.inc deleted file mode 100644 index 4b73f74a573..00000000000 --- a/StarVMC/geant3/geant321/labcos.inc +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: labcos.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: labcos.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_LABCOS_INC -#define CERNLIB_GEANT321_LABCOS_INC -* -* -* labcos.inc -* -* * -*=== labcos ===========================================================* -* * - COMMON /FKLABC/ COSLBP(3),COSLBR(3) - - -#endif diff --git a/StarVMC/geant3/geant321/limits.inc b/StarVMC/geant3/geant321/limits.inc deleted file mode 100644 index 81d7cb29894..00000000000 --- a/StarVMC/geant3/geant321/limits.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: limits.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: limits.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_LIMITS_INC -#define CERNLIB_GEANT321_LIMITS_INC -* -* -* limits.inc -* -C --- BOUNDARY LIMITS FOR ARGUMENTS OF INTRINSIC FUNCTIONS --- -C --- XL DENOTES LOWER BOUND WHEREAS XU DENOTES UPPER BOUND --- - COMMON /LIMITS/ EXPXL,EXPXU -C - -#endif diff --git a/StarVMC/geant3/geant321/ludat1.inc b/StarVMC/geant3/geant321/ludat1.inc deleted file mode 100644 index 2b7e2379e7b..00000000000 --- a/StarVMC/geant3/geant321/ludat1.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: ludat1.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: ludat1.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_LUDAT1_INC -#define CERNLIB_GEANT321_LUDAT1_INC -* -* -* ludat1.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200) - INTEGER MSTU,MSTJ - REAL PARU,PARJ - SAVE /LUDAT1/ -* -#endif -* -* ludat1.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + ludat1 -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/ludat3.inc b/StarVMC/geant3/geant321/ludat3.inc deleted file mode 100644 index 8690501e9cb..00000000000 --- a/StarVMC/geant3/geant321/ludat3.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: ludat3.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: ludat3.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_LUDAT3_INC -#define CERNLIB_GEANT321_LUDAT3_INC -* -* -* ludat3.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/LUDAT3/MDCY(500,3),MDME(2000,2),BRAT(2000),KFDP(2000,5) - INTEGER MDCY,MDME,KFDP - REAL BRAT - SAVE /LUDAT3/ -* -#endif -* -* ludat3.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + ludat3 -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/lujets.inc b/StarVMC/geant3/geant321/lujets.inc deleted file mode 100644 index 666dd5671db..00000000000 --- a/StarVMC/geant3/geant321/lujets.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: lujets.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: lujets.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:34 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_LUJETS_INC -#define CERNLIB_GEANT321_LUJETS_INC -* -* -* lujets.inc -* -#if !defined(CERNLIB_INCLUDE) - COMMON/LUJETS/N,K(4000,5),P(4000,5),V(4000,5) - INTEGER N,K - REAL P,V - SAVE /LUJETS/ -* -#endif -* -* lujets.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + lujets -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/mapa.inc b/StarVMC/geant3/geant321/mapa.inc deleted file mode 100644 index 335736be45b..00000000000 --- a/StarVMC/geant3/geant321/mapa.inc +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: mapa.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mapa.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MAPA_INC -#define CERNLIB_GEANT321_MAPA_INC -* -* -* mapa.inc -* -*----------------------------------------------------------------------* -* include file: mapa copy created 26/11/86 by pa* -* note: change also mapa2 copy if you touch this file * -* changes: none * -* included in the following subroutines or functions: not updated * -* * -* description of the common block(s) and variable(s) * -* * -* * -* /mapa/ contains the parameters describing the target materials * -* matnam = matnam(i)=name of the material number i * -* medium = medium(nreg)=material number of the region nreg * -* amss = the atomic weight of the materials * -* aocmbm = atomic densities in barn**-1 cm**-1 * -* (Atoms Over Cm times Barn for Materials) * -* ztar = atomic numbers of the materials * -* rho = densities of the materials * -* zlin = inelastic scattering lengths of the materials * -* for beam particles at the average beam energy in cm * -* zlel = elastic scattering lengths of the materials for * -* beam particles at average beam energy in cm * -* zlrad = radiation lengths of the materials in cm * -* zul = inelastic scattering lengths of the materials * -* for neutrons at threshold energy in cm * -* mulflg = flags for multiple scattering options * -* icomp = 0 if the material is not a compound * -* mssnum = mass number of the target nucleus, if =< 0 it means * -* that it is in the natural isotopic composition * -* nregs = total number of the regions * -* nmat = total number of the materials * -* mtbsnm = medium for which inelastic interaction biasing must * -* be done * -* * -* Mxxrgn = maximum number of regions * -* * -*----------------------------------------------------------------------* -* - COMMON / FKMAPA / AOCMBM (MXXMDF), AMSS (MXXMDF), ZTAR (MXXMDF), - & RHO (MXXMDF), ZLIN (MXXMDF), ZLEL (MXXMDF), - & ZLRAD (MXXMDF), ZUL (MXXMDF), MEDIUM (MXXRGN), - & MULFLG (MXXMDF), ICOMP(MXXMDF), MSSNUM (MXXMDF), - & NREGS, NMAT, MTBSNM - - -#endif diff --git a/StarVMC/geant3/geant321/mapat.inc b/StarVMC/geant3/geant321/mapat.inc deleted file mode 100644 index 3163df31d84..00000000000 --- a/StarVMC/geant3/geant321/mapat.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: mapat.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mapat.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MAPAT_INC -#define CERNLIB_GEANT321_MAPAT_INC -* -* -* mapat.inc -* - - DOUBLE PRECISION AOCMBM , AMSS , ZTAR , RHO , ZLIN , ZLEL - & , ZLRAD , ZUL - - -#endif diff --git a/StarVMC/geant3/geant321/mapoll.inc b/StarVMC/geant3/geant321/mapoll.inc deleted file mode 100644 index dc6bd50ba7a..00000000000 --- a/StarVMC/geant3/geant321/mapoll.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: mapoll.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mapoll.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MAPOLL_INC -#define CERNLIB_GEANT321_MAPOLL_INC -* -* -* mapoll.inc -* - COMMON/MAPOLL/ETA,ETATH,ETAUSD,DEADWT(5),XTRA(10),ITERS,IFR,IFG, - 1ITSTR,NEWNM,NGEOM,NMEM,NMEMR,NMEMG,INALB,NDEAD(5),NPSCL(13) - -#endif diff --git a/StarVMC/geant3/geant321/mconst.inc b/StarVMC/geant3/geant321/mconst.inc deleted file mode 100644 index 86b0666052a..00000000000 --- a/StarVMC/geant3/geant321/mconst.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: mconst.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mconst.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MCONST_INC -#define CERNLIB_GEANT321_MCONST_INC -* -* -* mconst.inc -* -#include "geant321/mparam.inc" - COMMON/MCONST/NNR,NQ,NGR,NTSTW,MGPREG,MGP1,M1M,NI,NNUC,NCOL - -#endif diff --git a/StarVMC/geant3/geant321/mcreco.inc b/StarVMC/geant3/geant321/mcreco.inc deleted file mode 100644 index 1707a0ec122..00000000000 --- a/StarVMC/geant3/geant321/mcreco.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: mcreco.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mcreco.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MCRECO_INC -#define CERNLIB_GEANT321_MCRECO_INC -* -* -* mcreco.inc -* - COMMON/MCRECO/AMED(3),ZMED(3),ERMED -C - -#endif diff --git a/StarVMC/geant3/geant321/mcross.inc b/StarVMC/geant3/geant321/mcross.inc deleted file mode 100644 index 3f29cf44f7a..00000000000 --- a/StarVMC/geant3/geant321/mcross.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: mcross.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mcross.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MCROSS_INC -#define CERNLIB_GEANT321_MCROSS_INC -* -* -* mcross.inc -* - COMMON/MCROSS/SIGT,SIGTNS,SIGTNA,SIGNES,SIGNIS,SGNISD,SGNISC, - 1SIGN2N,SIGN3N,SIGNNA,SGNN3A,SGN2NA,SIGNNP,SIGNF,SIGNG,SIGNP, - 2SIGND,SIGNT,SGN3HE,SIGNA,SIGN2A,SIGN3A,SIGN2P,SIGNPA,SGNT2A, - 3SGND2A - -#endif diff --git a/StarVMC/geant3/geant321/metlsp.inc b/StarVMC/geant3/geant321/metlsp.inc deleted file mode 100644 index 70255514b9c..00000000000 --- a/StarVMC/geant3/geant321/metlsp.inc +++ /dev/null @@ -1,46 +0,0 @@ -* -* $Id: metlsp.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: metlsp.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_METLSP_INC -#define CERNLIB_GEANT321_METLSP_INC -* -* -* metlsp.inc -* -C*********************************************************************** -C INCLUDE FILE: METLSP COPY CREATED 11/12/86 BY PA -C CHANGES: NONE -C INCLUDED IN THE FOLLOWING SUBROUTINES OR FUNCTIONS: NOT UPDATED -C -C DESCRIPTION OF THE COMMON BLOCK(S) AND VARIABLE(S) -C -C*********************************************************************** - PARAMETER (IDMAX2=1133) - COMMON/FKMETL/ IS,ITS(IDMAX2),CXS(IDMAX2),CYS(IDMAX2),CZS(IDMAX2), - *ELS(IDMAX2),PLS(IDMAX2) - - -#endif diff --git a/StarVMC/geant3/geant321/mgamma.inc b/StarVMC/geant3/geant321/mgamma.inc deleted file mode 100644 index 3370d584a62..00000000000 --- a/StarVMC/geant3/geant321/mgamma.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: mgamma.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mgamma.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MGAMMA_INC -#define CERNLIB_GEANT321_MGAMMA_INC -* -* -* mgamma.inc -* - COMMON/MGAMMA/NAMEXG,MTNG,NMEDG,NCOLG,EG,UG,VG,WG, - 1XG,YG,ZG,WATEG,AGEG - -#endif diff --git a/StarVMC/geant3/geant321/minput.inc b/StarVMC/geant3/geant321/minput.inc deleted file mode 100644 index 5e0952c38e1..00000000000 --- a/StarVMC/geant3/geant321/minput.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: minput.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: minput.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MINPUT_INC -#define CERNLIB_GEANT321_MINPUT_INC -* -* -* minput.inc -* - COMMON/MINPUT/NCASE,NSTRT,NMOST,MOSTG,MOSTR,NITS,NPHOTN, - 1 NHEAVY,NSOUR,NSPLT,NKILL,NPAST,NOLEAK,IEBIAS,MEDIA,NMIX, - 2 ISOUR,NGPFS,ISBIAS,INN,IOUT,MGEOM,MGAMMA,MHEAVY,MICROS, - 3 MACROS,MGSCR,MRSCR,MHETC,IPRTNX,IPRTNA,IPRTNE,IPRTPP,IPRTNP, - 4 IPRTGX,IPRTGE,IPRTMX,UINP,VINP,WINP,XSTRT,YSTRT,ZSTRT,WTSTRT, - 5 AGSTRT,ESOUR,TMAX,TCUT,ECUT,ETHERM,TEMP,TOL - -#endif diff --git a/StarVMC/geant3/geant321/mmass.inc b/StarVMC/geant3/geant321/mmass.inc deleted file mode 100644 index cc62ef3f554..00000000000 --- a/StarVMC/geant3/geant321/mmass.inc +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: mmass.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mmass.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MMASS_INC -#define CERNLIB_GEANT321_MMASS_INC -* -* -* mmass.inc -* - COMMON/MMASS/ZN,ZP,ZD,ZT,ZHE3,ZA,AN,AP,AD,AT,AHE3,AA - -#endif diff --git a/StarVMC/geant3/geant321/mmicab.inc b/StarVMC/geant3/geant321/mmicab.inc deleted file mode 100644 index eaf42e5d2e9..00000000000 --- a/StarVMC/geant3/geant321/mmicab.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: mmicab.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mmicab.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MMICAB_INC -#define CERNLIB_GEANT321_MMICAB_INC -* -* -* mmicab.inc -* -C - COMMON/ MMICAP / LMAG2,LCISO,LGE2MO,LMOMA,LMOX1,LMOX2, - + LMOX3,LMOX4 - COMMON/ MICPAR / LMIST - COMMON/ MICFIL / LMIFIL - COMMON/ MICTMP / LTEMP,NTUNIT,NTNAME,NTMPNI,NTCOMM,NTDATS,NTLIST - -#endif diff --git a/StarVMC/geant3/geant321/mmicap.inc b/StarVMC/geant3/geant321/mmicap.inc deleted file mode 100644 index c5eadc25e73..00000000000 --- a/StarVMC/geant3/geant321/mmicap.inc +++ /dev/null @@ -1,43 +0,0 @@ -* -* $Id: mmicap.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mmicap.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MMICAP_INC -#define CERNLIB_GEANT321_MMICAP_INC -* -* -* mmicap.inc -* -C -#include "geant321/mmicab.inc" -#include "geant321/gcbank.inc" - DIMENSION LD(1),D(1) - EQUIVALENCE (D(1),Q(1)),(LD(1),IQ(1)) - CHARACTER*24 DATSTR - CHARACTER*80 COMMEN - COMMON/ MICMAT / DATSTR,COMMEN,MATIDS(100,20,2) -C - -#endif diff --git a/StarVMC/geant3/geant321/mnutrn.inc b/StarVMC/geant3/geant321/mnutrn.inc deleted file mode 100644 index 816e5fc6eb6..00000000000 --- a/StarVMC/geant3/geant321/mnutrn.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: mnutrn.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mnutrn.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:16 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MNUTRN_INC -#define CERNLIB_GEANT321_MNUTRN_INC -* -* -* mnutrn.inc -* - COMMON/MNUTRN/NAME,NAMEX,E,EOLD,NMED,MEDOLD,NREG,U,V,W, - + UOLD,VOLD,WOLD,X,Y,Z,XOLD,YOLD,ZOLD,WATE,OLDWT,WTBC, - + BLZNT,BLZON,AGE,OLDAGE,INEU,ENE(MAXNEU) - INTEGER BLZNT - -#endif diff --git a/StarVMC/geant3/geant321/mparam.inc b/StarVMC/geant3/geant321/mparam.inc deleted file mode 100644 index 9818dc4a87a..00000000000 --- a/StarVMC/geant3/geant321/mparam.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: mparam.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mparam.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MPARAM_INC -#define CERNLIB_GEANT321_MPARAM_INC -* -* -* mparam.inc -* - PARAMETER(MAXPAR=200) - PARAMETER(MAXNEU=100) - -#endif diff --git a/StarVMC/geant3/geant321/mpifinc.inc b/StarVMC/geant3/geant321/mpifinc.inc deleted file mode 100644 index 3bddabbb49f..00000000000 --- a/StarVMC/geant3/geant321/mpifinc.inc +++ /dev/null @@ -1,10 +0,0 @@ -*CMZ : 02/11/94 13.23.19 by John Apostolakis CERN GP-MIMD 2 -*-- Author : John Apostolakis CERN GP-MIMD 2 13/07/94 -C Include the file which defines all the MPI (Message Passing Interface) -C constants. The name of this file must be "mpif.h" but it will reside -C in different places on different machines/implementations/sites and -C the way of including it will also depend on the compiler used. -C For the Chimp/MPI implementation from EPCC and Sun's Fortran 77. May 1995 -C Ensure that the output filename is something.F (not something.f) -C (In CMZ, use "kuip/set_show/filecase keep" to do this). -#include "mpif.h" diff --git a/StarVMC/geant3/geant321/mpoint.inc b/StarVMC/geant3/geant321/mpoint.inc deleted file mode 100644 index cf178a30515..00000000000 --- a/StarVMC/geant3/geant321/mpoint.inc +++ /dev/null @@ -1,41 +0,0 @@ -* -* $Id: mpoint.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mpoint.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MPOINT_INC -#define CERNLIB_GEANT321_MPOINT_INC -* -* -* mpoint.inc -* - COMMON/MPOINT/LMAG1,LFP1,LFP2,LFP3,LFP4,LFP5,LFP6,LFP7,LFP8, - + LFP9,LFP10,LFP11,LFP12,LFP13,LFP14,LFP140,LFP15,LFP16,LFP17, - + LFP18,LFP19,LFP20,LFP21,LFP22,LFP23,LFP24,LFP25,LFP26, - + LFP27,LFP28,LFP29,LFP30,LFP31,LFP32,LFP33,LFP34,LFP35, - + LFP36,LFP37,LFP38,LFP39,LFP40,LFP41,LFP42,LFP43,LFP44, - + LFP45,LFP46,LFP47,LFP48,LFP49,LFP50,LFP51,LFP52,LFP53, - + LFP18A,LFP210 - -#endif diff --git a/StarVMC/geant3/geant321/mpstor.inc b/StarVMC/geant3/geant321/mpstor.inc deleted file mode 100644 index dc93d10c865..00000000000 --- a/StarVMC/geant3/geant321/mpstor.inc +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: mpstor.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mpstor.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MPSTOR_INC -#define CERNLIB_GEANT321_MPSTOR_INC -* -* -* mpstor.inc -* - PARAMETER(IDNEU = 1) - PARAMETER(IDHEVY = 2) - PARAMETER(IDGAMA = 3) - COMMON/ MPSTOR / EN(MAXPAR),UN(MAXPAR),VN(MAXPAR),WN(MAXPAR), - + AGEN(MAXPAR),MTN(MAXPAR),AMN(MAXPAR), - + ZMN(MAXPAR),IDN(MAXPAR), - + EP,UP,VP,WP,MTP,AGEP,AMP,ZMP, - + NNEU,NHEVY,NGAMA,NPSTOR - -#endif diff --git a/StarVMC/geant3/geant321/mrecoi.inc b/StarVMC/geant3/geant321/mrecoi.inc deleted file mode 100644 index f41ef37c40d..00000000000 --- a/StarVMC/geant3/geant321/mrecoi.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: mrecoi.inc,v 1.1.1.2 2009/02/01 17:10:22 fisyak Exp $ -* -* $Log: mrecoi.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:22 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MRECOI_INC -#define CERNLIB_GEANT321_MRECOI_INC -* -* -* mrecoi.inc -* - COMMON/MRECOI/NAMEXR,MTNR,NZR,NCOLR,AR,ER,UR,VR,WR,XR,YR,ZR, - 1WATER,AGER,ENIR,UNIR,VNIR,WNIR,ENOR,UNOR,VNOR,WNOR,WTNR,QR - -#endif diff --git a/StarVMC/geant3/geant321/multiprox.inc b/StarVMC/geant3/geant321/multiprox.inc deleted file mode 100644 index ea70ef14de1..00000000000 --- a/StarVMC/geant3/geant321/multiprox.inc +++ /dev/null @@ -1,13 +0,0 @@ -*CMZ : 02/11/94 15.23.33 by John Apostolakis CERN GP-MIMD 2 -*-- Author : John Apostolakis CERN GP-MIMD 2 20/10/94 -C Variables to store information on the parallel configuration - integer nprank, npsize, nevtot, nfirstworker, npleader - common /multiprox/ nprank, npsize, nevtot, nfirstworker, npleader -C Descriptions: -C npsize= number of processors being used -C nprank= the rank of this processor ( 0 to npsize - 1 ) -C nevtot= total number of events requested (for all procs) -C the last two are only used in the case that one node reads an event -C input file, while the rest do the real simulation work -C nfirstworker= rank of first process to simulate -C npleader= rank of the process that reads the input diff --git a/StarVMC/geant3/geant321/multseeds.inc b/StarVMC/geant3/geant321/multseeds.inc deleted file mode 100644 index a2a8e4907ea..00000000000 --- a/StarVMC/geant3/geant321/multseeds.inc +++ /dev/null @@ -1,5 +0,0 @@ -*CMZ : 13/07/94 11.16.35 by John Apostolakis CERN GP-MIMD 2 -*-- Author : John Apostolakis CERN GP-MIMD 2 13/07/94 -C Auxiliary variable for calculating pRNG seeds on different nodes. - integer iseeda, iseedb, iseqnc - common /multseeds/ iseeda, iseedb, iseqnc diff --git a/StarVMC/geant3/geant321/mupsca.inc b/StarVMC/geant3/geant321/mupsca.inc deleted file mode 100644 index 652d8111c8e..00000000000 --- a/StarVMC/geant3/geant321/mupsca.inc +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: mupsca.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: mupsca.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MUPSCA_INC -#define CERNLIB_GEANT321_MUPSCA_INC -* -* -* mupsca.inc -* - COMMON/MUPSCA/ERFGM - -#endif diff --git a/StarVMC/geant3/geant321/mxgkgh.inc b/StarVMC/geant3/geant321/mxgkgh.inc deleted file mode 100644 index a219e18c999..00000000000 --- a/StarVMC/geant3/geant321/mxgkgh.inc +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: mxgkgh.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: mxgkgh.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_MXGKGH_INC -#define CERNLIB_GEANT321_MXGKGH_INC -* -* -* mxgkgh.inc -* - PARAMETER (MXGKGH=100) - -#endif diff --git a/StarVMC/geant3/geant321/nucdat.inc b/StarVMC/geant3/geant321/nucdat.inc deleted file mode 100644 index 75bac8e4b8e..00000000000 --- a/StarVMC/geant3/geant321/nucdat.inc +++ /dev/null @@ -1,105 +0,0 @@ -* -* $Id: nucdat.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: nucdat.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_NUCDAT_INC -#define CERNLIB_GEANT321_NUCDAT_INC -* -* -* nucdat.inc -* -* * -*=== nucdat ==========================================================* -* * -*---------------------------------------------------------------------* -* * -* Include file Nucdat * -* * -* Created on 20 april 1990 by Alfredo Ferrari * -* INFN Milan * -* * -* Last change on 09-jun-92 * -* * -* Included in the following routines: * -* * -* COREVT * -* CORRIN * -* DISTNU * -* DRES * -* EVDEEX * -* EVENTV * -* EVEVAP * -* FEREVV * -* FERHAV * -* INCINI * -* NUCEVV * -* NUCRIV * -* RAKEKV * -* RBKEKV * -* EVENTQ * -* NUCRIN * -* * -*---------------------------------------------------------------------* -* - PARAMETER ( AMUAMU = 0.93149432 D+00 ) -* PARAMETER ( AMPROT = 0.9382796 D+00 ) - PARAMETER ( AMPROT = 0.93827231 D+00 ) -* PARAMETER ( AMNEUT = 0.9395731 D+00 ) - PARAMETER ( AMNEUT = 0.93956563 D+00 ) - PARAMETER ( AMELEC = AMELCT ) - PARAMETER ( R0NUCL = 1.12 D+00 ) - PARAMETER ( RCCOUL = 1.7 D+00 ) - PARAMETER ( COULPR = 0.001439965 D+00 ) -* PARAMETER ( FERTHO = 15.73 D-09 ) -* PARAMETER ( EXPEBN = 7.D+00 / 3.D+00 ) -* PARAMETER ( BEXC12 = FERTHO * 65.41634134195703D+00 ) - PARAMETER ( FERTHO = 14.33 D-09 ) - PARAMETER ( EXPEBN = 2.39 D+00 ) - PARAMETER ( BEXC12 = FERTHO * 72.40715579499394D+00 ) - PARAMETER ( AMUC12 = AMUAMU - AMELEC / 2.D+00 - BEXC12 / 12.D+00 ) - PARAMETER ( AMHYDR = AMPROT + AMELEC ) - PARAMETER ( AMHTON = AMHYDR - AMNEUT ) - PARAMETER ( AMNTOU = AMNEUT - AMUC12 ) - PARAMETER ( AMUCSQ = AMUC12 * AMUC12 ) - PARAMETER ( EBNDAV = 0.5D+00 * (AMPROT + AMNEUT) - AMUC12 ) -* Gammin : threshold for deexcitation gammas production, set to 1 keV -* (this means that up to 1 keV of energy unbalancing can occur -* during an event) - PARAMETER ( GAMMIN = 1.0D-06 ) - PARAMETER ( GAMNSQ = 2.0D+00 * GAMMIN * GAMMIN ) -* Tvepsi : "epsilon" for excitation energy, set to gammin / 100 - PARAMETER ( TVEPSI = GAMMIN / 100.D+00 ) -* - COMMON /FKNUDA/ AV0WEL, APFRMX, AEFRMX, AEFRMA, - & RDSNUC, V0WELL (2), PFRMMX (2), EFRMMX (2), - & EFRMAV (2), AMNUCL (2), AMNUSQ (2), EBNDNG (2), - & VEFFNU (2), ESLOPE (2), PKMNNU (2), EKMNNU (2), - & PKMXNU (2), EKMXNU (2), EKMNAV (2), EKINAV (2), - & EXMNAV (2), EKUPNU (2), EXMNNU (2), EXUPNU (2), - & ERCLAV (2), ESWELL (2), FINCUP (2), AMRCAV , - & AMRCSQ , ATO1O3 , ZTO1O3 , ELBNDE (0:100) - - -#endif diff --git a/StarVMC/geant3/geant321/nucgeo.inc b/StarVMC/geant3/geant321/nucgeo.inc deleted file mode 100644 index 5028479714b..00000000000 --- a/StarVMC/geant3/geant321/nucgeo.inc +++ /dev/null @@ -1,317 +0,0 @@ -* -* $Id: nucgeo.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: nucgeo.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:40 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_NUCGEO_INC -#define CERNLIB_GEANT321_NUCGEO_INC -* -* -* nucgeo.inc -* -* -*=== nucgeo ===========================================================* -* -*----------------------------------------------------------------------* -* * -* NUClear GEOmetry common: * -* * -* Created on 20 july 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 24-mar-93 by Alfredo Ferrari * -* * -* Included in the following routines: * -* * -* BIMSEL * -* NUCNUC * -* NWISEL * -* PHDSET * -* PIOABS * -* PIONUC * -* PRENUC * -* PREPRE * -* RSTSEL * -* SBCOMP * -* SIGFER * -* UMOFIN * -* * -* Description of the variables (NUCGEO): * -* * -* Radtot = total radius of the nucleus * -* Radiu0 = radius of the nucleus constant * -* density core * -* Radiu1 = radius at the nucleus skin depth * -* end * -* Rad1o2 = half density radius of the nucleus * -* Skindp = Skin depth of the nucleus ( where * -* density decreases linearly with the * -* radius from rhocen to rhoskn, * -* Radiu1 = Radiu0 + Skindp and * -* Rad1o2 = Radiu0 + 1/(2 Omalhl) * -* x Skindp ) * -* Rhoskn = Rhocen * Alphal * -* Halodp = Halo depth of the nucleus ( where * -* density decreases linearly with the * -* radius from rhoskn to 0, * -* Radtot = Radiu0 + Skindp + Halodp * -* Alphal = fraction of the central density the * -* transition from skin to halo occurs * -* at * -* Omalhl = 1 - Alphal * -* Radskn = Radius at which the density would be * -* zero if the skin depth behaviour is * -* continued (Radskn = Radiu0 + Skindp * -* / Omalhl) * -* Skneff = "effective" skin depth corresponding * -* to Radskn, Skneff = Skindp / Omalhl * -* Radpro = equivalent radius of the projectile * -* Bimptr = "true" impact parameter of the proj- * -* ectile (referred to the centre of * -* the projectile) * -* Rimptr = "true" radius of the interaction * -* point (referred to the centre of * -* the projectile) * -* X,Y,Zimptr = "true" position of the interaction * -* point (referred to the centre of * -* the projectile) * -* Rhocen = central density of the nucleus * -* Rhocor = density at the transition point from * -* core to skin * -* Rhoskn = density at the transition point from * -* skin to halo, Rhoskn = Alphal Rhocen * -* Rhoimp = density of the nucleus at the "ef- * -* fective interaction point" * -* Rhoimt = density of the nucleus at the "true" * -* position of the interaction point * -* Pfr,Ekfcen = Maximum Fermi momentum/energy in the * -* central core * -* Pfr,Ekfpro = Maximum Fermi momentum/energy at the * -* true interaction point for the proj- * -* ectile (they are computed as for nu- * -* cleons without any reduction factor) * -* Pfr,Ekfimp = Maximum Fermi momentum/energy at the * -* "effective" interaction point for * -* the target nucleon * -* Pfr,Ekfbim = Maximum Fermi momentum/energy at * -* r = " effective" impact parameter * -* (Bimpct) for the nucleon with the * -* deepest well * -* Vprwll = well depth for the present projectile* -* at the "true" interaction point * -* Bimpct = "effective" impact parameter of the * -* projectile (referred to the centre * -* of the target nucleon) * -* Rimpct = "effective" radius of the interac- * -* tion point (referred to the centre * -* of the target nucleon) * -* X,Y,Zimpct = "effective" position of the interac- * -* tion point (referred to the centre * -* of the target nucleon) * -* Wllred = reduction factor to be applied to * -* the Ipwell well to get the proper * -* well for the projectile * -* Clmbbr = Coulomb barrier for the present pro- * -* jectile * -* Rdclmb = radius corresponding to the Coulomb * -* barrier at which Coulomb effects are * -* supposed to be overcome by the nuc- * -* lear potential: * -* Rdclmb = Clmbbr / (zZe^2) * -* Bfclmb = correction factor for the impact pa- * -* rameter, for boo such that the actual* -* b =< Rdclmb: * -* Bfclmb = sqrt ( 1 - Clmbbr/Ekproj ) * -* Bfceff = actual correction factor for the imp-* -* act parameter, b = boo / Bfceff * -* for boo =< Rdclmb x Bfclmb: * -* Bfceff = Bfclmb * -* for boo > Rdclmb x Bfclmb: * -* Bfceff = 1 / ( x + sqrt (1+x^2) ) * -* x = Clmbbr x Rdclmb / (2 Ekproj boo)* -* Ipwell = index of the target nucleon well to * -* be used in computing the one for the * -* projectile * -* ( 1 = proton, 2 = neutron ) * -* Itncmx = index of the target nucleon with * -* largest Fermi momentum * -* ( 1 = proton, 2 = neutron ) * -* Kprin = particle index of the projectile * -* Ntargt = number of target nucleons (2 at max) * -* Knucim = particle index of the target nucleon * -* ( 1 = proton, 8 = neutron ) * -* Knuci2 = particle index of the 2nd target * -* nucleon for absorption on a couple * -* of nucleons * -* * -* Description of the variables (NUCPWI): * -* * -* Almbar = Reduced De Broglie wavelength * -* Bimmax = maximum impact parameter (at oo from * -* the nucleus) * -* Siggeo = Geometrical cross section summed * -* over all partial waves (assuming * -* opacity=1 for any l) * -* Siggeo = pi ( Almbar(lmax+1) )^2 * -* Lllmax = highest partial wave, it corresponds * -* to: Almbar Lllmax >= Bimmax, where * -* the >= means that the smallest * -* integer >= Bimmax / Almbar is used * -* Lllact = partial wave index of the present * -* interaction * -* * -*----------------------------------------------------------------------* -* - PARAMETER ( PI = 3.14159265358979322702D+00 ) - PARAMETER ( PISQ = 9.86960440108935854694D+00 ) - PARAMETER ( SQRT12 = 3.464101615137755D+00 ) -* This is log(11)/(4log(3)), it is ok for alphal = 0.1, bethal = 0.01 ) - PARAMETER ( SKTOHL = 0.5456645846610345D+00 ) -* This is log(99/19)/(4log(3)), it is ok for alphal = 0.05, -* bethal = 0.01 ) -* PARAMETER ( SKTOHL = 0.3756286198494407D+00 ) -* This is log(99/4)/(4log(3)), it is ok for alphal = 0.2, -* bethal = 0.01 ) -* PARAMETER ( SKTOHL = 0.7301997078753058D+00 ) -* This is log(99/4)/(4log(3)), it is ok for alphal = 0.02, -* bethal = 0.001 ) -* PARAMETER ( SKTOHL = 0.7301997078753058D+00 ) - PARAMETER ( RZNUCL = 1.12 D+00 ) - PARAMETER ( RMSPRO = 0.8 D+00 ) - PARAMETER ( R0PROT = RMSPRO / SQRT12 ) - PARAMETER ( ARHPRO = 1.D+00 / 8.D+00 / PI / R0PROT / R0PROT - & / R0PROT ) - PARAMETER ( RLLE04 = RZNUCL ) - PARAMETER ( RLLE16 = RZNUCL ) - PARAMETER ( RLGT16 = RZNUCL ) - PARAMETER ( RCLE04 = 0.75D+00 / PI / RLLE04 / RLLE04 / RLLE04 ) - PARAMETER ( RCLE16 = 0.75D+00 / PI / RLLE16 / RLLE16 / RLLE16 ) - PARAMETER ( RCGT16 = 0.75D+00 / PI / RLGT16 / RLGT16 / RLGT16 ) - PARAMETER ( SKLE04 = 1.4D+00 ) - PARAMETER ( SKLE16 = 1.9D+00 ) - PARAMETER ( SKGT16 = 2.4D+00 ) - PARAMETER ( HLLE04 = SKTOHL * SKLE04 ) - PARAMETER ( HLLE16 = SKTOHL * SKLE16 ) - PARAMETER ( HLGT16 = SKTOHL * SKGT16 ) - PARAMETER ( ALPHA0 = 0.1D+00 ) -*2 PARAMETER ( ALPHA0 = 0.05D+00 ) -*0 PARAMETER ( ALPHA0 = 0.2D+00 ) -*3 PARAMETER ( ALPHA0 = 0.02D+00 ) -*4 PARAMETER ( ALPHA0 = 0.25D+00 ) - PARAMETER ( OMALH0 = 1.D+00 - ALPHA0 ) - PARAMETER ( GAMSK0 = 0.9D+00 ) -*0 PARAMETER ( GAMSK0 = 0.8D+00 ) -*2 PARAMETER ( GAMSK0 = 0.9D+00 ) -*3 PARAMETER ( GAMSK0 = 0.9D+00 ) -*4 PARAMETER ( GAMSK0 = 0.75D+00 ) - PARAMETER ( OMGAS0 = 1.D+00 - GAMSK0 ) - PARAMETER ( POTME0 = 0.6666666666666667D+00 ) - PARAMETER ( POTBA0 = 1.D+00 ) -* This parameter is the Panofsky ratio - PARAMETER ( PNFRAT = 1.533D+00 ) -* This parameter set the branching ratio for radiative pi- capture -* at rest in complex nuclei (it is a bit larger than the experimental -* one to compensate for Pauli blocking etc etc ). This value is -* for A=oo - PARAMETER ( RADPIM = 0.035D+00 ) - PARAMETER ( RDPMHL = 14.D+00 ) -* Probability for pi- absorption to have a second proton in the couple -* of nucleons ( the first one must be a proton ) - PARAMETER ( APMRST = 4.D+00 / 44.D+00 ) -* Probability for pi- absorption to have a second proton in the couple -* of nucleons ( the first one must be a proton ) - PARAMETER ( APMPRO = 1.D+00 / 6.D+00 ) -* Probability for pi+ absorption to have a proton in the couple -* of nucleons ( the first one must be a neutron ) - PARAMETER ( APPPRO = 1.D+00 / 6.D+00 ) -* Probability for pi0 absorption to have a p in the couple -* as first particle - PARAMETER ( AP0PFS = 0.5D+00 ) -* Probability for pi0 absorption to have a p in the couple -* as second particle for a p first particle - PARAMETER ( AP0PFP = 1.D+00 / 3.D+00 ) -* Probability for pi0 absorption to have a p in the couple -* as second particle for a n first particle - PARAMETER ( AP0NFP = 2.D+00 / 3.D+00 ) - PARAMETER ( MXSCIN = 50 ) -* - LOGICAL LABRST, LELSTC, LINELS, LCHEXC, LABSRP, LABSTH -* NUClear Geometry Input data - COMMON / FKNUGI / RHOTAB (2:260), RHATAB (2:260), ALPTAB (2:260), - & RADTAB (2:260), SKITAB (2:260), HALTAB (2:260), - & SK3TAB (2:260), SK4TAB (2:260), HABTAB (2:260), - & CWSTAB (2:260), EKATAB (2:260), PFATAB (2:260), - & PFRTAB (2:260) -* NUClear GEOmetry - COMMON / FKNUGE / RADTOT, RADIU1, RADIU0, RAD1O2, SKINDP, HALODP, - & ALPHAL, OMALHL, RADSKN, SKNEFF, CPARWS, RADPRO, - & RADCOR, RADCO2, RADMAX, BIMPTR, RIMPTR, XIMPTR, - & YIMPTR, ZIMPTR, RHOIMT, EKFPRO, PFRPRO, RHOCEN, - & RHOCOR, RHOSKN, EKFCEN (2), PFRCEN (2), EKFBIM, - & PFRBIM, RHOIMP, EKFIMP, PFRIMP, EKFIM2, PFRIM2, - & VPRWLL, RIMPCT, BIMPCT, XIMPCT, YIMPCT, ZIMPCT, - & XBIMPC, YBIMPC, ZBIMPC, CXIMPC, CYIMPC, CZIMPC, - & SQRIMP, SIGMAP, SIGMAN, SIGMAA, RHORED, R0TRAJ, - & R1TRAJ, SBUSED, SBTOT , SBRES , RHOAVE, EKFAVE, - & PFRAVE, AVEBIN, ACOLL , ZCOLL , RADSIG, OPACTY, - & EKECON, PNUCCO, EKEWLL, PPRWLL, PXPROJ, PYPROJ, - & PZPROJ, EKFERM, PNFRMI, PXFERM, PYFERM, PZFERM, - & EKFER2, PNFRM2, PXFER2, PYFER2, PZFER2, EKFER3 - COMMON / FKNUGE / - & PNFRM3, PXFER3, PYFER3, PZFER3, RHOMEM, EKFMEM, - & BIMMEM, WLLRED, VPRBIM, POTINC, POTOUT, EEXMIN, - & EEXDEL, EEXANY, CLMBBR, RDCLMB, BFCLMB, BFCEFF, - & BNPROJ, BNDNUC, DEBRLM, SK4PAR, UBIMPC, VBIMPC, - & WBIMPC, BNDPOT, SIGMAT, WLLRES, POTBAR, POTMES, - & HHLP (2), FORTOT (2), BNENRG (3), DEFNUC (2), - & SIGMPR (3), SIGMNU (3), SIGMAB (3), IPWELL, - & ITNCMX, KPRIN , NTARGT, KNUCIM, KNUCI2, KNUCI3, - & IEVPRE, ISFCOL -* NUClear Partial Waves Informations - COMMON / FKNUPW / ALMBAR, BIMMAX, SIGGEO, LLLMAX, LLLACT -* NUClear Geometry Interaction Informations - COMMON / FKNUII / HOLEXP (MXSCIN), XEXPIN (MXSCIN), - & YEXPIN (MXSCIN), ZEXPIN (MXSCIN), - & RHOEXP, EKFEXP, EHLFIX, - & NHLEXP, NHLFIX, IPRTYP, ISCTYP (MXSCIN), - & NUSCIN, NEXPEM, LABRST, LELSTC, LINELS, LCHEXC, - & LABSRP, LABSTH - DIMENSION AWSTAB (2:260) - EQUIVALENCE ( DEFPRO, DEFNUC (1) ) - EQUIVALENCE ( DEFNEU, DEFNUC (2) ) - EQUIVALENCE ( OMALHL, SK3PAR ) - EQUIVALENCE ( ALPHAL, HABPAR ) - EQUIVALENCE ( ALPTAB (2), AWSTAB (2) ) - EQUIVALENCE ( SIGMPE, SIGMPR (1) ) - EQUIVALENCE ( SIGMPC, SIGMPR (2) ) - EQUIVALENCE ( SIGMPI, SIGMPR (3) ) - EQUIVALENCE ( SIGMNE, SIGMNU (1) ) - EQUIVALENCE ( SIGMNC, SIGMNU (2) ) - EQUIVALENCE ( SIGMNI, SIGMNU (3) ) - EQUIVALENCE ( SIGMA2, SIGMAB (1) ) - EQUIVALENCE ( SIGMA3, SIGMAB (2) ) - EQUIVALENCE ( SIGMAS, SIGMAB (3) ) - - -#endif diff --git a/StarVMC/geant3/geant321/nuciod.inc b/StarVMC/geant3/geant321/nuciod.inc deleted file mode 100644 index b19075f8e14..00000000000 --- a/StarVMC/geant3/geant321/nuciod.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: nuciod.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: nuciod.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_NUCIOD_INC -#define CERNLIB_GEANT321_NUCIOD_INC -* -* *** Used in /NUCIO under control of PATCHY flag "SINGLE" -* -* nuciod.inc -* - DOUBLE PRECISION TECM,AMASS,PCM,WGT -C - -#endif diff --git a/StarVMC/geant3/geant321/nuclev.inc b/StarVMC/geant3/geant321/nuclev.inc deleted file mode 100644 index 40ba85ff5d2..00000000000 --- a/StarVMC/geant3/geant321/nuclev.inc +++ /dev/null @@ -1,167 +0,0 @@ -* -* $Id: nuclev.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: nuclev.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:41 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_NUCLEV_INC -#define CERNLIB_GEANT321_NUCLEV_INC -* -* -* nuclev.inc -* -* -*=== nuclev ===========================================================* -* -*----------------------------------------------------------------------* -* * -* NUClear LEVel common: * -* * -* Created on 10 january 1992 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 26-mar-93 by Alfredo Ferrari * -* * -* Included in the following routines: * -* * -* BERTTP * -* BIMSEL * -* NCLVIN * -* NCLVGT * -* NCLVST * -* NUCNUC * -* NWISEL * -* PFNCLV * -* PIOABS * -* * -* Description of the variables (nuclev): * -* * -* paenuc(k,i) = pairing energies (GeV), for i=1 pro- * -* ton pairing energy for Z=k, for i=2 * -* neutron pairing energy for N=k * -* shenuc(k,i) = shell energies (GeV), for i=1 pro- * -* ton shell energy for Z=k, for i=2 * -* neutron shell energy for N=k * -* defrmi(i) = level spacing at the Fermi level ac- * -* cording to a Fermi gas * -* defmag(i) = extra energy needed to overcome the * -* gap between the closed shell and the * -* next level for nuclei with magic * -* numbers of protons or neutrons * -* cumrad(k,i) = sum for j=1,k of 1 /Rj where Ri is * -* the maximum radius at which can be * -* found the jth nucleon of type i * -* (i=1 proton, i=2 neutron) * -* ruspro = maximum radius at which protons can * -* still be found * -* rusneu = maximum radius at which neutrons can * -* still be found * -* juspro = index for flagging that the jth * -* proton has been already used if * -* = inuclv * -* jusneu = index for flagging that the jth * -* neutron has been already used if * -* = inuclv * -* ntapro = number of protons in the target * -* ntaneu = number of neutrons in the target * -* navpro = number of available proton levels in * -* the target * -* navneu = number of available neutron levels * -* in the target * -* nlspro = number of protons in the last level * -* nlsneu = number of neutrons in the last level * -* ncopro = number of protons in the core * -* nconeu = number of neutrons in the core * -* nskpro = number of protons in the skin * -* nskneu = number of neutrons in the skin * -* nhapro = number of protons in the halo * -* nhaneu = number of neutrons in the halo * -* nuspro = number of "used" protons * -* nusneu = number of "used" neutrons * -* jmxpro = index of the highest energy avai- * -* lable proton * -* jmxneu = index of the highest energy avai- * -* lable neutron * -* nprnuc = number of presently used nucleons * -* (max 2) * -* iprnuc = type of the presently considered * -* nucleon * -* jprnuc = index of the presently considered * -* nucleon * -* magnum = magic numbers * -* magpro = last (possibly not filled) proton * -* shell * -* magneu = last (possibly not filled) neutron * -* shell * -* mgspro(k) = status of the kth proton shell: * -* -2 not filled but paired * -* -1 not filled and unpaired * -* 0 filled (paired of course) * -* +1 originally filled but now unpai- * -* red * -* mgsneu(k) = status of the kth neutron shell * -* inuclv = index of the present event * -* * -*----------------------------------------------------------------------* -* -* NUClear LEVel - COMMON / FKNULE / PAENUC (200,2), SHENUC (200,2), DEFRMI (2), - & DEFMAG (2), ENNCLV (160,2), RANCLV (160,2), - & CUMRAD (0:160,2), RUSNUC (2), - & ENPLVL (114), ENNLVL(164), JUSNUC (160,2), - & NTANUC (2), NAVNUC (2), NLSNUC (2), NCONUC (2), - & NSKNUC (2), NHANUC (2), NUSNUC (2), JMXNUC (2), - & IPRNUC (2), JPRNUC (2), MAGNUM (8), MAGNUC (2), - & MGSNUC (8,2), MGSSNC (25,2), NSBSHL (2), - & NPRNUC, INUCLV - DIMENSION JUSPRO (160), JUSNEU (160), MGSPRO (8), MGSNEU (8), - & MGSSPR (19) , MGSSNE (25) - EQUIVALENCE ( RUSNUC (1), RUSPRO ) - EQUIVALENCE ( RUSNUC (2), RUSNEU ) - EQUIVALENCE ( JUSNUC (1,1), JUSPRO (1) ) - EQUIVALENCE ( JUSNUC (1,2), JUSNEU (1) ) - EQUIVALENCE ( MGSNUC (1,1), MGSPRO (1) ) - EQUIVALENCE ( MGSNUC (1,2), MGSNEU (1) ) - EQUIVALENCE ( MGSSNC (1,1), MGSSPR (1) ) - EQUIVALENCE ( MGSSNC (1,2), MGSSNE (1) ) - EQUIVALENCE ( NTANUC (1), NTAPRO ) - EQUIVALENCE ( NTANUC (2), NTANEU ) - EQUIVALENCE ( NAVNUC (1), NAVPRO ) - EQUIVALENCE ( NAVNUC (2), NAVNEU ) - EQUIVALENCE ( NLSNUC (1), NLSPRO ) - EQUIVALENCE ( NLSNUC (2), NLSNEU ) - EQUIVALENCE ( NCONUC (1), NCOPRO ) - EQUIVALENCE ( NCONUC (2), NCONEU ) - EQUIVALENCE ( NSKNUC (1), NSKPRO ) - EQUIVALENCE ( NSKNUC (2), NSKNEU ) - EQUIVALENCE ( NHANUC (1), NHAPRO ) - EQUIVALENCE ( NHANUC (2), NHANEU ) - EQUIVALENCE ( NUSNUC (1), NUSPRO ) - EQUIVALENCE ( NUSNUC (2), NUSNEU ) - EQUIVALENCE ( JMXNUC (1), JMXPRO ) - EQUIVALENCE ( JMXNUC (2), JMXNEU ) - EQUIVALENCE ( MAGNUC (1), MAGPRO ) - EQUIVALENCE ( MAGNUC (2), MAGNEU ) - - -#endif diff --git a/StarVMC/geant3/geant321/nucpar.inc b/StarVMC/geant3/geant321/nucpar.inc deleted file mode 100644 index b5d4203ace2..00000000000 --- a/StarVMC/geant3/geant321/nucpar.inc +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: nucpar.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: nucpar.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:41 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_NUCPAR_INC -#define CERNLIB_GEANT321_NUCPAR_INC -* -* -* nucpar.inc -* -* -*=== nucpar ===========================================================* -* -* -*----------------------------------------------------------------------* -* Created on 6-9-89 by A. Ferrari * -* included in: * -* nucevt * -* evxtes * -* distnu * -* eventq * -*----------------------------------------------------------------------* - - PARAMETER (MXPNUC=600) - CHARACTER*8 ANNU - COMMON /FKNUPA/ PXNU(MXPNUC), PYNU(MXPNUC), PZNU(MXPNUC), - & HEPNU(MXPNUC), AMNU(MXPNUC), ANNU(MXPNUC), - & ICHNU(MXPNUC), IBARNU(MXPNUC), NRENU(MXPNUC) - - - -#endif diff --git a/StarVMC/geant3/geant321/nucstf.inc b/StarVMC/geant3/geant321/nucstf.inc deleted file mode 100644 index 4999626ef09..00000000000 --- a/StarVMC/geant3/geant321/nucstf.inc +++ /dev/null @@ -1,123 +0,0 @@ -* -* $Id: nucstf.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: nucstf.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:41 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_NUCSTF_INC -#define CERNLIB_GEANT321_NUCSTF_INC -* -* -* nucstf.inc -* -* -*=== nucstf ===========================================================* -* -*----------------------------------------------------------------------* -* * -* NUClear STatement Functions: * -* * -* Created on 14 january 1992 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 04-feb-92 by Alfredo Ferrari * -* * -* Included in the following routines: * -* * -* FPFRNC * -* FRADNC * -* FRHINC * -* FRHONC * -* SBCOMP * -* * -*----------------------------------------------------------------------* -* -* NUClear STatement Functions: nucleus with a costant core and -* linearly decreasing skin and halo -* rho (r): -* Statement functions: - RHCORE (R) = RHOCEN - RHSKIN (R) = RHOCEN * ( RADSKN - R ) / SKNEFF - RHHALO (R) = RHOSKN * ( RADTOT - R ) / HALODP -* other -* RHCORE (R) = RHOCEN -* Skin with a linear and a cubic term: -* RHSKIN (R) = RHOCEN * ( ( RADSKN - R ) / SKNEFF + SK3PAR * ( R -* & - CPARWS )**3 ) -* Skin with a linear, a cubic and a quartic term: -* RHSKIN (R) = RHOCEN * ( ( RADSKN - R ) / SKNEFF -* & + ( R - CPARWS )**3 * ( SK3PAR + SK4PAR -* & * ( R - CPARWS ) ) ) -* RHHALO (R) = RHOCEN * HABPAR * ( RADTOT - R )**1.5D+00 -* / r 2 -* | 4 pi r' rho (r') dr': -* / 0 -* Statement functions: - RICORE (R) = 4.D+00 * PI / 3.D+00 * RHOCEN * R**3 - RISKIN (R) = RICORE (RADIU0) + 4.D+00 * PI / 3.D+00 * RHOCEN - & * ( RADSKN / SKNEFF * ( R**3 - RADIU0**3 ) - & - 0.75D+00 * ( R**4 - RADIU0**4 ) / SKNEFF ) - RIHALO (R) = RISKIN (RADIU1) + 4.D+00 * PI / 3.D+00 * RHOSKN - & * ( RADTOT / HALODP * ( R**3 - RADIU1**3 ) - & - 0.75D+00 * ( R**4 - RADIU1**4 ) / HALODP ) -* Other: -* RICORE (R) = 4.D+00 * PI / 3.D+00 * RHOCEN * R**3 -* Skin with a linear and a cubic term: -* RISKIN (R) = RICORE (RADIU0) + 4.D+00 * PI / 3.D+00 * RHOCEN -* & * ( ( RADSKN / SKNEFF - CPARWS**3 * SK3PAR ) -* & * ( R**3 - RADIU0**3 ) - 0.75D+00 * ( 1.D+00 / SKNEFF -* & - 3.D+00 * SK3PAR * CPARWS**2 ) * ( R**4 - RADIU0**4 ) -* & - 1.8D+00 * SK3PAR * CPARWS * ( R**5 - RADIU0**5 ) -* & + 0.5D+00 * SK3PAR * ( R**6 - RADIU0**6 ) ) -* Skin with a linear, a cubic and a quartic term: -* RISKIN (R) = RICORE (RADIU0) + 4.D+00 * PI / 3.D+00 * RHOCEN -* & * ( ( RADSKN / SKNEFF - CPARWS**3 * ( SK3PAR - CPARWS -* & * SK4PAR ) ) * ( R**3 - RADIU0**3 ) - 0.75D+00 -* & * ( 1.D+00 / SKNEFF - CPARWS**2 * ( 3.D+00 * SK3PAR -* & - 4.D+00 * SK4PAR * CPARWS ) ) * ( R**4 - RADIU0**4 ) -* & - 1.8D+00 * CPARWS * ( SK3PAR - 2.D+00 * SK4PAR -* & * CPARWS ) * ( R**5 - RADIU0**5 ) -* & - ( 2.D+00 * SK4PAR * CPARWS - 0.5D+00 * SK3PAR ) -* & * ( R**6 - RADIU0**6 ) + 3.D+00 / 7.D+00 * SK4PAR -* & * ( R**7 - RADIU0**7 ) ) -* RIHALO (R) = RISKIN (RADIU1) + 8.D+00 * PI * RHOCEN -* & * HABPAR * ( ( 0.2D+00 * RADTOT**2 - 2.D+00 / 7.D+00 -* & * RADTOT * HALODP + HALODP**2 / 9.D+00 ) -* & * ( SQRT (HALODP) )**5 - ( 0.2D+00 * RADTOT**2 -* & - 2.D+00 / 7.D+00 * RADTOT * ( RADTOT - R ) -* & + ( RADTOT - R )**2 / 9.D+00 ) -* & * ( RADTOT - R )**2.5D+00 ) -* r (rho): -* Statement functions: - RACORE (RHO) = RADIU0 - RASKIN (RHO) = RADSKN - SKNEFF * RHO / RHOCEN - RAHALO (RHO) = RADTOT - HALODP * RHO / RHOSKN -* p_f (rho,i), i=1 proton, 2 neutron: -* Statement functions: - PFCORE (RHO,I) = PFRCEN (I) - PFSKIN (RHO,I) = PFRCEN (I) * (RHO/RHOCEN)**0.3333333333333333D+00 - PFHALO (RHO,I) = PFRCEN (I) * (RHO/RHOCEN)**0.3333333333333333D+00 -* end NUClear STatement Functions - - -#endif diff --git a/StarVMC/geant3/geant321/paprop.inc b/StarVMC/geant3/geant321/paprop.inc deleted file mode 100644 index 10c29a76d40..00000000000 --- a/StarVMC/geant3/geant321/paprop.inc +++ /dev/null @@ -1,74 +0,0 @@ -* -* $Id: paprop.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: paprop.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:41 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PAPROP_INC -#define CERNLIB_GEANT321_PAPROP_INC -* -* -* paprop.inc -* -* -*=== paprop ===========================================================* -* -*----------------------------------------------------------------------* -* include file: paprop copy created 26/11/86 by p* -* changes: on 16 december 1992 by Alfredo Ferrari * -* included in the following subroutines or functions: not updated * -* * -* description of the common block(s) and variable(s) * -* * -* /paprop/ contains particle properties * -* btype = literal name of the particle * -* am = particle mass in gev * -* ichrge = electric charge of the particle * -* iscore = explanations for the scored distribution * -* genpar = names of the generalized particles * -* ijdisc = list of the particle types to be discarded * -* thalf = half life of the particle in sec * -* biasdc = decay biasing factors * -* biasin = inelastic interaction biasing factors * -* lhadro = flag for hadrons * -* jspinp = particle spin (in units of 1/2) * -* lbsdcy = logical flag for biased decay: if .true. the biasing * -* factor is used as an upper limit to the decay length * -* lprbsd = logical flag for biased decay: if .true. the biasing * -* factor is applied only to primaries * -* lprbsi = logical flag for inelastic interaction biasing: if * -* .true. the biasing factor is applied only to prima- * -* ries * -* * -*----------------------------------------------------------------------* -* - LOGICAL LHADRO, LBSDCY, LPRBSD, LPRBSI - CHARACTER*8 BTYPE,GENPAR - COMMON / FKPAPR / AM (NALLWP), AMDISC (NALLWP), THALF (NALLWP), - & BIASDC (NALLWP), BIASIN (NALLWP), ICHRGE (NALLWP), - & ISCORE (10), IJDISC (NALLWP), LHADRO (NALLWP), - & JSPINP (NALLWP), LBSDCY (NALLWP), LPRBSD, LPRBSI - COMMON / FKCHPR / BTYPE (NALLWP), GENPAR (30) - - -#endif diff --git a/StarVMC/geant3/geant321/papropt.inc b/StarVMC/geant3/geant321/papropt.inc deleted file mode 100644 index f78792616ad..00000000000 --- a/StarVMC/geant3/geant321/papropt.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: papropt.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: papropt.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:41 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PAPROPT_INC -#define CERNLIB_GEANT321_PAPROPT_INC -* -* -* papropt.inc -* - DOUBLE PRECISION AM, AMDISC, THALF,BIASDC, BIASIN - - -#endif diff --git a/StarVMC/geant3/geant321/parevt.inc b/StarVMC/geant3/geant321/parevt.inc deleted file mode 100644 index 43412a9a8b2..00000000000 --- a/StarVMC/geant3/geant321/parevt.inc +++ /dev/null @@ -1,122 +0,0 @@ -* -* $Id: parevt.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: parevt.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:41 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PAREVT_INC -#define CERNLIB_GEANT321_PAREVT_INC -* -* -* parevt.inc -* -* * -*=== parevt ===========================================================* -* * -*----------------------------------------------------------------------* -* * -* Created on 28-3-90 by A. Ferrari, INFN - Milan * -* * -* Last change on 20 april 1992 by Alfredo Ferrari * -* * -* included in: * -* fluka * -* bdnopt * -* corevt * -* distnu * -* epilog * -* eventv * -* evevap * -* evvini * -* evxtes * -* ferevv * -* kaskad * -* incini * -* nucevv * -* pmprab * -* and in : * -* prenuc * -* umofin * -* bimsel * -* nucnuc * -* nwisel * -* pioabs * -* prepre * -* rstsel * -* * -* frdiff = fraction of the total number of events which are * -* diffractive ones * -* pthdff = momentum threshold for diffractive events * -* diffractive ones * -* fsprd0 = asymptotic reduction factor for cascade particle * -* energy slope parameter * -* fshpfn = modifying factor for bamjet momentum sharing jet * -* function * -* rn1gsc = correlation factor between shower and grey part- * -* ticle multiplicities * -* rn2gsc = correlation factor between shower and grey part- * -* ticle multiplicities * -* dpower = power exponent used in the binomial distributions * -* for grey particles * -* lpower = flag to signal if dpower is different from the * -* default option (dpower=2) * -* ldiffr = flag for particles undergoing diffractive events * -* linctv = flag to switch on/off cascade nucleons and exci- * -* tation energy (it is important for testing the * -* generator * -* levprt = flag for nuclear evaporation * -* ldeexg = flag for nuclear deexcitation gammas * -* lgdhpr = flag for geometry dependent calculations in the * -* preequilibrium part * -* lpreex = flag for explicit treatment of the first inte- * -* ctions in the preequilibrium part * -* lhlfix = flag for "freezing" the hole depth of the holes * -* produced in the explicitly treated interactions * -* in the preequilibrium part * -* lprfix = flag for "freezing" the already sampled particle * -* exciton energy in the preequilibrium part * -* lparwv = flag to apply the Heisenberg principle according * -* to the reduced DeBroglie wavelength in the calcu- * -* lation of the impact parameter and in computing * -* the particle position after interactions * -* ilvmod = flag to select the level density option * -* * -*----------------------------------------------------------------------* -* -* -* 30% of events, randomly choosen, are diffractive events!! -* Now 20% (J. Ranft & A. Ferrari, 25-3-90) -* - PARAMETER ( FRDIFF = 0.2D+00 ) - PARAMETER ( PTHDFF = 8.5D+00 ) - PARAMETER ( ETHSEA = 1.0D+00 ) - - LOGICAL LDIFFR, LINCTV, LEVPRT, LHEAVY, LDEEXG, LGDHPR, LPREEX, - & LHLFIX, LPRFIX, LPARWV, LPOWER - COMMON / FKPARE / DPOWER, FSPRD0, FSHPFN, RN1GSC, RN2GSC, - & LDIFFR (39), LPOWER, LINCTV, LEVPRT, LHEAVY, - & LDEEXG, LGDHPR, LPREEX, LHLFIX, LPRFIX, LPARWV, - & ILVMOD - - -#endif diff --git a/StarVMC/geant3/geant321/parnuc.inc b/StarVMC/geant3/geant321/parnuc.inc deleted file mode 100644 index b9647d82393..00000000000 --- a/StarVMC/geant3/geant321/parnuc.inc +++ /dev/null @@ -1,105 +0,0 @@ -* -* $Id: parnuc.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: parnuc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:41 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PARNUC_INC -#define CERNLIB_GEANT321_PARNUC_INC -* -* -* parnuc.inc -* -* -*=== parnuc ===========================================================* -* -*----------------------------------------------------------------------* -* * -* Created on 2 august 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 25-mar-93 by Alfredo Ferrari * -* * -* included in : * -* * -* Couset * -* Nucnuc * -* Nwisel * -* Phdset * -* Phdwll * -* Pioabs * -* Pionuc * -* Pmprab * -* Pncset * -* Pncset * -* Prenuc * -* Prepre * -* Sbcomp * -* Umofin * -* * -*----------------------------------------------------------------------* -* - PARAMETER ( PIGRK = PIPIPI ) - PARAMETER ( ALEVEL = 8.D-03 ) -* Standard parameter for central density: it is exactly r0nucl of -* Parevt - PARAMETER ( RCNUCL = 1.12D+00 ) -* "Naive" r0 for sigmas - PARAMETER ( R0SIG = 1.3D+00 ) -* r0 for sigmas according to Kikuchi & Kawai - PARAMETER ( R0SIGK = 1.5D+00 ) -* r0 for Coulomb barrier according to Kikuchi & Kawai - PARAMETER ( RCOULB = 1.5D+00 ) -* Parameter for Coulomb barrier according to Hermes (Evap-5) - PARAMETER ( COULBH = 0.88235D-03 ) -* Central density in nuclei - PARAMETER ( RHONU0 = 0.75D+00 / PIGRK / RCNUCL / RCNUCL / RCNUCL ) -* For Taufor, Aefrav & Rhonuc the combinations 1 and 3 are ok. If the -* Hannes expression for Taufor is used we must use Taufor from -* combination 3 and Aefrav and Rhonuc from combination 1 -* Combination 3: -*3 PARAMETER ( TAUFOR = 3.0D+00 ) -* Combination 1: -* PARAMETER ( TAUFOR = 5.0D+00 ) - PARAMETER ( TAUFOR = 10.0D+00 ) -* Thresholds for explicit interactions: -* Primary projectile: - PARAMETER ( EKEEXP = 0.03D+00 ) -* Secondary nucleons: - PARAMETER ( EKREXP = 0.05D+00 ) -* Just for Pauli checks: - PARAMETER ( EKEMNM = 0.01D+00 ) -* - PARAMETER ( NCPMX = 50 ) - COMMON / FKPARN / EKORI , PXORI , PYORI , PZORI , PTORI , - & ENNUC (NCPMX), PNUCL (NCPMX), EKFNUC (NCPMX), - & XSTNUC (NCPMX), YSTNUC (NCPMX), ZSTNUC (NCPMX), - & PXNUCL (NCPMX), PYNUCL (NCPMX), PZNUCL (NCPMX), - & RSTNUC (NCPMX), RHNUCL (NCPMX), FREEPA (NCPMX), - & CRRPAN (NCPMX), CRRPAP (NCPMX), BSTNUC (NCPMX), - & WLRNUC (NCPMX), BNDGAV, DEFMIN, KPNUCL (NCPMX), - & KRFNUC (NCPMX), KPORI , IBORI , IBNUCL, NPNUC , - & INUCTS (NCPMX), NNUCTS, ISFNUC (NCPMX) - - -#endif diff --git a/StarVMC/geant3/geant321/part.inc b/StarVMC/geant3/geant321/part.inc deleted file mode 100644 index 2822e025d34..00000000000 --- a/StarVMC/geant3/geant321/part.inc +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: part.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: part.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:41 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PART_INC -#define CERNLIB_GEANT321_PART_INC -* -* -* part.inc -* -* -*=== part =============================================================* -* -*----------------------------------------------------------------------* -* Include file: part copy Revised on 20-7-90 by A. Ferrari * -* Note: see also part2 copy and part3 copy * -* Changes: none * -* Included in the following subroutines or functions: not updated * -* * -* Description of the common block(s) and variable(s) * -* * -* Kptoip = conversion from part to paprop numbering * -* Iptokp = conversion from paprop to part numbering * -* * -*----------------------------------------------------------------------* -* - PARAMETER (IDMAX8=183) - CHARACTER*8 ANAME - COMMON / FKPART / AM (IDMAX8), GA (IDMAX8), TAU (IDMAX8), - & AMDISC (IDMAX8), ICH (IDMAX8), IBAR (IDMAX8), - & K1 (IDMAX8), K2 (IDMAX8), KPTOIP (IDMAX8), - & IPTOKP (39) - COMMON / FKCHPA / ANAME (IDMAX8) - - -#endif diff --git a/StarVMC/geant3/geant321/part2.inc b/StarVMC/geant3/geant321/part2.inc deleted file mode 100644 index cca0c9492d3..00000000000 --- a/StarVMC/geant3/geant321/part2.inc +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: part2.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: part2.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PART2_INC -#define CERNLIB_GEANT321_PART2_INC -* -* -* part2.inc -* -* -*=== part2 ============================================================* -* -*----------------------------------------------------------------------* -* Include file: part2 copy Revised on 20-7-90 by A. Ferrari * -* Note: see also part copy and part3 copy * -* Changes: none * -* Included in the following subroutines or functions: not updated * -* * -* Description of the common block(s) and variable(s) * -* * -* Kptoip = conversion from part to paprop numbering * -* Iptokp = conversion from paprop to part numbering * -* * -*----------------------------------------------------------------------* -* - PARAMETER (IDMAX8=183) - CHARACTER*8 ANAME - COMMON / FKPART / AAM (IDMAX8), GA (IDMAX8), TAU (IDMAX8), - & AAMDSC (IDMAX8), IICH (IDMAX8), IIBAR (IDMAX8), - & K1 (IDMAX8), K2 (IDMAX8), KPTOIP (IDMAX8), - & IPTOKP (39) - COMMON / FKCHPA / ANAME (IDMAX8) - - -#endif diff --git a/StarVMC/geant3/geant321/part2t.inc b/StarVMC/geant3/geant321/part2t.inc deleted file mode 100644 index 2e73284a2fa..00000000000 --- a/StarVMC/geant3/geant321/part2t.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: part2t.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: part2t.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PART2T_INC -#define CERNLIB_GEANT321_PART2T_INC -* -* -* part2t.inc -* - DOUBLE PRECISION AAM, GA, TAU, AAMDSC - - -#endif diff --git a/StarVMC/geant3/geant321/part3.inc b/StarVMC/geant3/geant321/part3.inc deleted file mode 100644 index a13b26ab5d4..00000000000 --- a/StarVMC/geant3/geant321/part3.inc +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: part3.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: part3.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PART3_INC -#define CERNLIB_GEANT321_PART3_INC -* -* -* part3.inc -* -* -*=== part3 ============================================================* -* -*----------------------------------------------------------------------* -* Include file: part3 copy Revised on 20-7-90 by A. Ferrari * -* Note: see also part copy and part2 copy * -* Changes: none * -* Included in the following subroutines or functions: not updated * -* * -* Description of the common block(s) and variable(s) * -* * -* Kptoip = conversion from part to paprop numbering * -* Iptokp = conversion from paprop to part numbering * -* * -*----------------------------------------------------------------------* -* - PARAMETER (IDMAX8=183) - CHARACTER*8 ANAMC - COMMON / FKPART / AMC (IDMAX8), GAC (IDMAX8), TAUC (IDMAX8), - & AMCDSC (IDMAX8), ICHC (IDMAX8), IBARC (IDMAX8), - & K1C (IDMAX8), K2C (IDMAX8), KPTOIP (IDMAX8), - & IPTOKP (39) - COMMON / FKCHPA / ANAMC (IDMAX8) - - -#endif diff --git a/StarVMC/geant3/geant321/partt.inc b/StarVMC/geant3/geant321/partt.inc deleted file mode 100644 index 8e8c1b1cf6c..00000000000 --- a/StarVMC/geant3/geant321/partt.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: partt.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: partt.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PARTT_INC -#define CERNLIB_GEANT321_PARTT_INC -* -* -* partt.inc -* - DOUBLE PRECISION AM, GA, TAU, AMDISC - - -#endif diff --git a/StarVMC/geant3/geant321/pawc.inc b/StarVMC/geant3/geant321/pawc.inc deleted file mode 100644 index 1ab9c39e235..00000000000 --- a/StarVMC/geant3/geant321/pawc.inc +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: pawc.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: pawc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PAWC_INC -#define CERNLIB_GEANT321_PAWC_INC -* -* -* pawc.inc -* -#if !defined(CERNLIB_INCLUDE) -#if defined(CERNLIB_TYPE) -#include "geant321/pawct.inc" -#endif - COMMON /PAWC/ NWPAW,IXPAWC,IHBOOK,IXHIGZ,IXKUIP,IFENCE(5), - + LLMAIN, WWS(9989) - DIMENSION IQQ(2),QQ(2),LQQ(8000) - EQUIVALENCE (QQ(1),IQQ(1),LQQ(9)),(LQQ(1),LLMAIN) -C -#endif -* -* pawc.inc -* -#if defined(CERNLIB_INCLUDE) -* -#include "geant321/incbeg.inc" - + pawc -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/pawct.inc b/StarVMC/geant3/geant321/pawct.inc deleted file mode 100644 index 5080c85e5a6..00000000000 --- a/StarVMC/geant3/geant321/pawct.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: pawct.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: pawct.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:35 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PAWCT_INC -#define CERNLIB_GEANT321_PAWCT_INC -* -* -* pawct.inc -* -#if !defined(CERNLIB_INCLUDE) - INTEGER NWPAW,IXPAWC,IHBOOK,IXHIGZ,IXKUIP,IFENCE,LLMAIN,IQQ,LQQ - REAL WWS,QQ -#endif - -#endif diff --git a/StarVMC/geant3/geant321/pcodat.inc b/StarVMC/geant3/geant321/pcodat.inc deleted file mode 100644 index 3b6feff168d..00000000000 --- a/StarVMC/geant3/geant321/pcodat.inc +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: pcodat.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: pcodat.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:31 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PCODAT_INC -#define CERNLIB_GEANT321_PCODAT_INC -* -* -* pcodat.inc -* -C --- DATA STMTS. FOR GEANT/GHEISHA PARTICLE CODE CONVERSIONS --- -C --- KIPART(I)=GHEISHA CODE CORRESPONDING TO GEANT CODE I --- -C --- IKPART(I)=GEANT CODE CORRESPONDING TO GHEISHA CODE I --- -C - DATA KIPART/ - $ 1, 3, 4, 2, 5, 6, 8, 7, - $ 9, 12, 10, 13, 16, 14, 15, 11, - $ 35, 18, 20, 21, 22, 26, 27, 33, - $ 17, 19, 23, 24, 25, 28, 29, 34, - $ 35, 35, 35, 35, 35, 35, 35, 35, - $ 35, 35, 35, 35, 30, 31, 32, 35/ -C - DATA IKPART/ - $ 1, 4, 2, 3, 5, 6, 8, 7, - $ 9, 11, 16, 10, 12, 14, 15, 13, - $ 25, 18, 26, 19, 20, 21, 27, 28, - $ 29, 22, 23, 30, 31, 45, 46, 47, - $ 24, 32, 48/ -C - -#endif diff --git a/StarVMC/geant3/geant321/pcodim.inc b/StarVMC/geant3/geant321/pcodim.inc deleted file mode 100644 index 8b4fc339bca..00000000000 --- a/StarVMC/geant3/geant321/pcodim.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: pcodim.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: pcodim.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_PCODIM_INC -#define CERNLIB_GEANT321_PCODIM_INC -* -* -* pcodim.inc -* -C --- DIMENSION STMTS. FOR GEANT/GHEISHA PARTICLE CODE CONVERSIONS --- -C --- KIPART(I)=GHEISHA CODE CORRESPONDING TO GEANT CODE I --- -C --- IKPART(I)=GEANT CODE CORRESPONDING TO GHEISHA CODE I --- -C - DIMENSION KIPART(48),IKPART(35) -C - -#endif diff --git a/StarVMC/geant3/geant321/pilot.h b/StarVMC/geant3/geant321/pilot.h deleted file mode 100644 index 7cb009f7a7d..00000000000 --- a/StarVMC/geant3/geant321/pilot.h +++ /dev/null @@ -1,91 +0,0 @@ -#if 0 -*-- Author : -*FCA : 05/01/99 08:44:23 by Federico Carminati -* Define CERNLIB_UNIX when CERNLIB_LINUX is defined -*FCA : 19/03/99 10:01:09 by Federico Carminati -* Do not use CERNLIB_USRJMP for alpha -#endif - -#if defined(CERNLIB_LXIA64) -* -* Take normal LINUX as basis for Itanium -#ifndef CERNLIB_LINUX -#define CERNLIB_LINUX -#endif -#endif - -#if defined(CERNLIB_MSDOS)||defined(CERNLIB_LINUX) -#ifndef CERNLIB_F2C -#define CERNLIB_F2C -#endif -#endif -#if defined(CERNLIB_SUN)||defined(CERNLIB_SGI)||defined(CERNLIB_DECS)||defined(CERNLIB_CONVEX)||defined(CERNLIB_IBMRT)||defined(CERNLIB_AIX370) -#ifndef CERNLIB_UNIX -#define CERNLIB_UNIX -#endif -#endif -#if defined(CERNLIB_HPUX)||defined(CERNLIB_APOLLO)||defined(CERNLIB_IPSC)||defined(CERNLIB_NEXT)||defined(CERNLIB_LINUX) -#ifndef CERNLIB_UNIX -#define CERNLIB_UNIX -#endif -#endif -#if defined(CERNLIB_IBM)||defined(CERNLIB_IBMMVS)||defined(CERNLIB_AIX370) -#ifndef CERNLIB_IBMALL -#define CERNLIB_IBMALL -#endif -#endif -#if defined(CERNLIB_APOLLO)||defined(CERNLIB_IBMALL)||defined(CERNLIB_VAX) -#ifndef CERNLIB_DOUBLE -#define CERNLIB_DOUBLE -#endif -#endif - -#ifdef CERNLIB_WINNT -# ifndef CERNLIB_UNIX -# define CERNLIB_UNIX -# endif -# ifndef CERNLIB_DOUBLE -# define CERNLIB_DOUBLE -# endif -#endif - -#if (defined(CERNLIB_UNIX))&&(!defined(CERNLIB_SINGLE)) -#ifndef CERNLIB_DOUBLE -#define CERNLIB_DOUBLE -#endif -#endif - -#if defined(CERNLIB_UNIX)||defined(CERNLIB_QMALPH) -#if !defined(CERNLIB_BSLASH) && !defined(CERNLIB_QFMSOFT) -#define CERNLIB_BSLASH -#endif -#endif - -#if defined(CERNLIB_UNIX) && !defined(CERNLIB_DECS) -#ifndef CERNLIB_USRJMP -#define CERNLIB_USRJMP -#endif -#endif - -#if defined(CERNLIB_BLDLIB) -#ifndef CERNLIB_HIGZ -#define CERNLIB_HIGZ -#endif -#ifndef CERNLIB_CG -#define CERNLIB_CG -#endif - -#ifndef CERNLIB_MONITOR -#define CERNLIB_MONITOR -#endif - -#ifndef CERNLIB_FLUKA -#define CERNLIB_FLUKA -#endif -#ifndef CERNLIB_COMIS -#define CERNLIB_COMIS -#endif -#ifndef CERNLIB_DZDOC -#define CERNLIB_DZDOC -#endif -#endif diff --git a/StarVMC/geant3/geant321/pilot.h.ori b/StarVMC/geant3/geant321/pilot.h.ori deleted file mode 100644 index a393819cea0..00000000000 --- a/StarVMC/geant3/geant321/pilot.h.ori +++ /dev/null @@ -1,78 +0,0 @@ -#if 0 -*-- Author : -#endif -#if defined(CERNLIB_MSDOS)||defined(CERNLIB_LINUX) -#ifndef CERNLIB_F2C -#define CERNLIB_F2C -#endif -#endif -#if defined(CERNLIB_SUN)||defined(CERNLIB_SGI)||defined(CERNLIB_DECS)||defined(CERNLIB_CONVEX)||defined(CERNLIB_IBMRT)||defined(CERNLIB_AIX370) -#ifndef CERNLIB_UNIX -#define CERNLIB_UNIX -#endif -#endif -#if defined(CERNLIB_HPUX)||defined(CERNLIB_APOLLO)||defined(CERNLIB_IPSC)||defined(CERNLIB_NEXT) -#ifndef CERNLIB_UNIX -#define CERNLIB_UNIX -#endif -#endif -#if defined(CERNLIB_IBM)||defined(CERNLIB_IBMMVS)||defined(CERNLIB_AIX370) -#ifndef CERNLIB_IBMALL -#define CERNLIB_IBMALL -#endif -#endif -#if defined(CERNLIB_APOLLO)||defined(CERNLIB_IBMALL)||defined(CERNLIB_VAX) -#ifndef CERNLIB_DOUBLE -#define CERNLIB_DOUBLE -#endif -#endif - -#ifdef CERNLIB_WINNT -# ifndef CERNLIB_UNIX -# define CERNLIB_UNIX -# endif -# ifndef CERNLIB_DOUBLE -# define CERNLIB_DOUBLE -# endif -#endif - -#if (defined(CERNLIB_UNIX))&&(!defined(CERNLIB_SINGLE)) -#ifndef CERNLIB_DOUBLE -#define CERNLIB_DOUBLE -#endif -#endif - -#if defined(CERNLIB_UNIX)||defined(CERNLIB_QMALPH) -#if !defined(CERNLIB_BSLASH) && !defined(CERNLIB_QFMSOFT) -#define CERNLIB_BSLASH -#endif -#endif - -#if defined(CERNLIB_UNIX) -#ifndef CERNLIB_USRJMP -#define CERNLIB_USRJMP -#endif -#endif - -#if defined(CERNLIB_BLDLIB) -#ifndef CERNLIB_HIGZ -#define CERNLIB_HIGZ -#endif -#ifndef CERNLIB_CG -#define CERNLIB_CG -#endif - -#ifndef CERNLIB_MONITOR -#define CERNLIB_MONITOR -#endif - -#ifndef CERNLIB_FLUKA -#define CERNLIB_FLUKA -#endif -#ifndef CERNLIB_COMIS -#define CERNLIB_COMIS -#endif -#ifndef CERNLIB_DZDOC -#define CERNLIB_DZDOC -#endif -#endif diff --git a/StarVMC/geant3/geant321/qquark.inc b/StarVMC/geant3/geant321/qquark.inc deleted file mode 100644 index cad9c129c64..00000000000 --- a/StarVMC/geant3/geant321/qquark.inc +++ /dev/null @@ -1,83 +0,0 @@ -* -* $Id: qquark.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: qquark.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_QQUARK_INC -#define CERNLIB_GEANT321_QQUARK_INC -* -* -* qquark.inc -* -* -*=== qquark ===========================================================* -* -*----------------------------------------------------------------------* -* * -* Created on 6 february 1991 by Alfredo Ferrari * -* INFN - Milan * -* * -* Last change on 6 february 1991 by Alfredo Ferrari * -* * -* Included in the following routines : * -* * -* COREVT * -* CORRIN * -* HADEVV * -* HADEVT * -* NUCEVV * -* NUCEVT * -* * -* Quark content of particles: * -* index quark el. charge bar. charge isospin isospin3 * -* 1 = u 2/3 1/3 1/2 1/2 * -* -1 = ubar -2/3 -1/3 1/2 -1/2 * -* 2 = d -1/3 1/3 1/2 -1/2 * -* -2 = dbar 1/3 -1/3 1/2 1/2 * -* 3 = s -1/3 1/3 0 0 * -* -3 = sbar 1/3 -1/3 0 0 * -* 4 = c 2/3 1/3 0 0 * -* -4 = cbar -2/3 -1/3 0 0 * -* 5 = b -1/3 1/3 0 0 * -* -5 = bbar 1/3 -1/3 0 0 * -* 6 = t 2/3 1/3 0 0 * -* -6 = tbar -2/3 -1/3 0 0 * -* * -* Mquark = particle quark composition (Paprop numbering) * -* Iqechr = electric charge ( in 1/3 unit ) * -* Iqbchr = baryonic charge ( in 1/3 unit ) * -* Iqichr = isospin ( in 1/2 unit ), z component * -* Iqschr = strangeness * -* Iqcchr = charm * -* Iquchr = beauty * -* Iqtchr = ...... * -* * -*----------------------------------------------------------------------* -* - COMMON / FKQUAR / IQECHR (-6:6), IQBCHR (-6:6), IQICHR (-6:6), - & IQSCHR (-6:6), IQCCHR (-6:6), IQUCHR (-6:6), - & IQTCHR (-6:6), MQUARK (3,39) - - -#endif diff --git a/StarVMC/geant3/geant321/reac.inc b/StarVMC/geant3/geant321/reac.inc deleted file mode 100644 index 475d1756f6a..00000000000 --- a/StarVMC/geant3/geant321/reac.inc +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: reac.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: reac.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_REAC_INC -#define CERNLIB_GEANT321_REAC_INC -* -* -* reac.inc -* -* -*=== reac =============================================================* -* -*----------------------------------------------------------------------* -* * -* Created on 10 december 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 10-dec-91 by Alfredo Ferrari * -* * -* This is the original common reac of Hadrin * -* * -* Included in the following routines: * -* * -* CALUMV * -* DATESH * -* HADRIV * -* RCHANV * -* BLKDT3 * -* HADRIN * -* IEFUN * -* SIGINT * -* CALUMO * -* RCHANW * -* * -*----------------------------------------------------------------------* -* - COMMON /FKREAC/ UMO ( 296), PLABF ( 296), SIIN ( 296), - + WK (5184), NRK (2,268), NURE (30,2) - - -#endif diff --git a/StarVMC/geant3/geant321/redver.inc b/StarVMC/geant3/geant321/redver.inc deleted file mode 100644 index 1a2d3876b41..00000000000 --- a/StarVMC/geant3/geant321/redver.inc +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: redver.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: redver.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_REDVER_INC -#define CERNLIB_GEANT321_REDVER_INC -* -* -* redver.inc -* -* -*=== redver ===========================================================* -* -*----------------------------------------------------------------------* -* * -* Created on 10 december 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 10-dec-91 by Alfredo Ferrari * -* * -* This is the original common redver of Hadrin * -* * -* Included in the following routines: * -* * -* CALUMV * -* DATESH * -* HADRIV * -* RCHANV * -* BLKDT4 * -* HADRIN * -* IEFUN * -* SIGINT * -* CALUMO * -* RCHANW * -* * -*----------------------------------------------------------------------* -* - COMMON / FKREDV / THRESH (268), IRII (17) , IKII (17) , IEII (17) - - -#endif diff --git a/StarVMC/geant3/geant321/resnuc.inc b/StarVMC/geant3/geant321/resnuc.inc deleted file mode 100644 index 1ed2df0da6f..00000000000 --- a/StarVMC/geant3/geant321/resnuc.inc +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: resnuc.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: resnuc.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_RESNUC_INC -#define CERNLIB_GEANT321_RESNUC_INC -* -* -* resnuc.inc -* -* * -*=== resnuc ==========================================================* -* * -*---------------------------------------------------------------------* -* * -* Include file Resnuc * -* * -* Created on 20 april 1990 by Alfredo Ferrari * -* INFN Milan * -* * -* Last change on 9 march 1993 * -* * -* Included in the following routines: * -* * -* BDNOPT * -* COREVT * -* CORRIN * -* DISTNU * -* DRES * -* EVDEEX * -* EVENTQ * -* EVENTV * -* EVEVAP * -* FEREVV * -* FERHAV * -* LOWRES * -* NUCEVT * -* NUCEVV * -* NUCRIN * -* NUCRIV * -* * -*---------------------------------------------------------------------* -* - LOGICAL LRNFSS - COMMON /FKRESN/ AMNTAR, AMMTAR, AMNZM1, AMMZM1, AMNNM1, AMMNM1, - & ANOW, ZNOW, ANCOLL, ZNCOLL, ERES, EKRES, - & AMNRES, AMMRES, PTRES, PXRES, PYRES, PZRES, - & PTRES2, KTARP, KTARN, IGREYP, IGREYN, ICRES, - & IBRES, IEVAPL, IEVAPH, IEVNEU, IEVPRO, IEVDEU, - & IEVTRI, IEV3HE, IEV4HE, IDEEXG, IBTAR, ICHTAR, - & IOTHER, LRNFSS - - -#endif diff --git a/StarVMC/geant3/geant321/s_blank.inc b/StarVMC/geant3/geant321/s_blank.inc deleted file mode 100644 index 6b9b79a30eb..00000000000 --- a/StarVMC/geant3/geant321/s_blank.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: s_blank.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_blank.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_BLANK_INC -#define CERNLIB_GEANT321_S_BLANK_INC -* -* *** NVE 09-FEB-1988 *** -* -* s_blank.inc -* - PARAMETER (MXGKPV=MXGKGH) - COMMON /VECUTY/ PV(10,MXGKPV) -C - -#endif diff --git a/StarVMC/geant3/geant321/s_blankp.inc b/StarVMC/geant3/geant321/s_blankp.inc deleted file mode 100644 index 474154e5b24..00000000000 --- a/StarVMC/geant3/geant321/s_blankp.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: s_blankp.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_blankp.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_BLANKP_INC -#define CERNLIB_GEANT321_S_BLANKP_INC -* -* *** NVE 09-FEB-1988 *** -* -* s_blankp.inc -* - PARAMETER (MXGKPV=MXGKGH) - COMMON /VECUTY/ PV(10,MXGKPV) -C - -#endif diff --git a/StarVMC/geant3/geant321/s_consts.inc b/StarVMC/geant3/geant321/s_consts.inc deleted file mode 100644 index 25e87f4eac7..00000000000 --- a/StarVMC/geant3/geant321/s_consts.inc +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: s_consts.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_consts.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_CONSTS_INC -#define CERNLIB_GEANT321_S_CONSTS_INC -* -* -* s_consts.inc -* - COMMON/CONSTS/ PI,TWPI,PIBTW,MP,MPI,MMU,MEL,MKCH,MK0,SMP,SMPI, - $ SMU,CT,CTKCH,CTK0, - $ ML0,MSP,MS0,MSM,MX0,MXM,CTL0,CTSP,CTSM,CTX0,CTXM, - $ RMASS(35),RCHARG(35) -C - REAL MP,MPI,MMU,MEL,MKCH,MK0, - * ML0,MSP,MS0,MSM,MX0,MXM -C - -#endif diff --git a/StarVMC/geant3/geant321/s_coscom.inc b/StarVMC/geant3/geant321/s_coscom.inc deleted file mode 100644 index dbaaa4f64fd..00000000000 --- a/StarVMC/geant3/geant321/s_coscom.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: s_coscom.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_coscom.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_COSCOM_INC -#define CERNLIB_GEANT321_S_COSCOM_INC -* -* -* s_coscom.inc -* - COMMON/COSCOM/AA,BB,CC,DD,RR -C - -#endif diff --git a/StarVMC/geant3/geant321/s_csdat.inc b/StarVMC/geant3/geant321/s_csdat.inc deleted file mode 100644 index ea545b40047..00000000000 --- a/StarVMC/geant3/geant321/s_csdat.inc +++ /dev/null @@ -1,1079 +0,0 @@ -* -* $Id: s_csdat.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_csdat.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_CSDAT_INC -#define CERNLIB_GEANT321_S_CSDAT_INC -* -* -* s_csdat.inc -* -C --- CROSS-SECTION DATA BY "PCSDAT" 01-FEB-1989 --- -C - DATA PLAB / - $ 0.00000E+00, 0.10000 , 0.15000 , 0.20000 , 0.25000 , - $ 0.30000 , 0.35000 , 0.40000 , 0.45000 , 0.50000 , - $ 0.55000 , 0.60000 , 0.65000 , 0.70000 , 0.75000 , - $ 0.80000 , 0.85000 , 0.90000 , 0.95000 , 1.0000 , - $ 1.1000 , 1.2000 , 1.3000 , 1.4000 , 1.5000 , - $ 1.6000 , 1.8000 , 2.0000 , 2.2000 , 2.4000 , - $ 2.6000 , 2.8000 , 3.0000 , 4.0000 , 5.0000 , - $ 6.0000 , 8.0000 , 10.000 , 20.000 , 100.00 , - $ 1000.0 / - DATA (CSEL( 1,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL( 2,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL( 3,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL( 4,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL( 5,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL( 6,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL( 7,J),J=1,41) / - $ 0.00000E+00, 6.0000 , 20.000 , 71.000 , 155.00 , - $ 195.00 , 130.00 , 78.000 , 60.000 , 32.000 , - $ 23.500 , 18.500 , 15.000 , 12.500 , 10.000 , - $ 9.1000 , 8.6000 , 8.8000 , 9.5000 , 10.600 , - $ 13.000 , 15.500 , 17.100 , 17.200 , 16.200 , - $ 15.000 , 12.300 , 10.200 , 9.0000 , 8.0000 , - $ 7.3000 , 6.8000 , 6.5000 , 5.8000 , 5.4000 , - $ 5.2000 , 5.0000 , 4.9000 , 3.8000 , 3.2000 , - $ 3.5000 / - DATA (CSEL( 8,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL( 9,J),J=1,41) / - $ 0.00000E+00, 1.0000 , 3.0000 , 8.0000 , 18.000 , - $ 25.000 , 27.500 , 12.300 , 10.600 , 11.000 , - $ 12.500 , 14.500 , 17.000 , 19.400 , 19.800 , - $ 16.800 , 14.000 , 14.800 , 20.000 , 26.100 , - $ 19.500 , 15.000 , 12.800 , 11.500 , 10.500 , - $ 9.8000 , 8.8000 , 8.2000 , 7.8000 , 7.5000 , - $ 7.2000 , 7.0000 , 6.8000 , 6.1000 , 5.7000 , - $ 5.4000 , 4.9000 , 4.6000 , 4.0000 , 3.3000 , - $ 3.5000 / - DATA (CSEL(10,J),J=1,41) / - $ 10.000 , 11.200 , 11.300 , 11.400 , 11.500 , - $ 11.600 , 11.800 , 12.000 , 12.100 , 12.200 , - $ 12.300 , 12.400 , 12.500 , 12.500 , 12.500 , - $ 12.400 , 12.300 , 12.200 , 12.000 , 11.800 , - $ 11.200 , 11.500 , 9.9000 , 9.4000 , 8.8000 , - $ 8.4000 , 7.5000 , 6.9000 , 6.3000 , 5.9000 , - $ 5.5000 , 5.2000 , 5.0000 , 4.0000 , 3.5000 , - $ 3.3000 , 3.1000 , 3.1000 , 3.0000 , 2.5000 , - $ 3.0000 / - DATA (CSEL(11,J),J=1,41) / - $ 10.000 , 11.200 , 11.300 , 11.400 , 11.500 , - $ 11.600 , 11.800 , 12.000 , 12.100 , 12.200 , - $ 12.300 , 12.400 , 12.500 , 12.500 , 12.500 , - $ 12.400 , 12.300 , 12.200 , 12.000 , 11.800 , - $ 11.200 , 11.500 , 9.9000 , 9.4000 , 8.8000 , - $ 8.4000 , 7.5000 , 6.9000 , 6.3000 , 5.9000 , - $ 5.5000 , 5.2000 , 5.0000 , 4.0000 , 3.5000 , - $ 3.3000 , 3.1000 , 3.1000 , 3.0000 , 2.5000 , - $ 3.0000 / - DATA (CSEL(12,J),J=1,41) / - $ 160.83 , 82.800 , 58.575 , 43.683 , 34.792 , - $ 28.650 , 24.367 , 20.917 , 18.192 , 16.300 , - $ 14.608 , 13.017 , 12.250 , 11.700 , 12.017 , - $ 14.075 , 15.842 , 16.433 , 16.042 , 15.008 , - $ 12.575 , 10.708 , 9.2000 , 8.0167 , 7.2833 , - $ 7.0750 , 6.6333 , 6.1250 , 5.6583 , 5.2750 , - $ 4.9333 , 4.6250 , 4.4583 , 3.7333 , 3.3833 , - $ 3.1833 , 2.9833 , 2.7500 , 2.3667 , 2.2000 , - $ 2.6000 / - DATA (CSEL(13,J),J=1,41) / - $ 300.00 , 140.00 , 97.000 , 70.000 , 55.000 , - $ 45.000 , 37.000 , 31.000 , 26.000 , 23.000 , - $ 20.000 , 17.000 , 15.500 , 14.500 , 14.700 , - $ 18.500 , 22.000 , 23.000 , 22.500 , 20.700 , - $ 16.500 , 14.000 , 11.500 , 9.6000 , 8.6000 , - $ 8.5000 , 8.3000 , 7.6000 , 7.0000 , 6.4000 , - $ 5.9000 , 5.5000 , 5.3000 , 4.4000 , 4.1000 , - $ 3.9000 , 3.7000 , 3.3000 , 2.6000 , 2.5000 , - $ 3.0000 / - DATA (CSEL(14,J),J=1,41) / - $ 1100.0 , 115.00 , 105.00 , 100.00 , 56.000 , - $ 40.000 , 27.000 , 22.000 , 21.000 , 20.000 , - $ 20.000 , 20.000 , 20.500 , 21.000 , 22.000 , - $ 23.000 , 24.000 , 24.000 , 24.400 , 24.500 , - $ 25.000 , 25.500 , 26.000 , 26.500 , 27.000 , - $ 27.000 , 26.000 , 23.000 , 21.500 , 20.000 , - $ 19.000 , 18.000 , 17.000 , 13.000 , 11.500 , - $ 10.300 , 9.4000 , 9.0000 , 8.8000 , 7.0000 , - $ 7.5000 / - DATA (CSEL(15,J),J=1,41) / - $ 200.00 , 163.00 , 141.00 , 120.00 , 111.00 , - $ 99.500 , 92.500 , 86.500 , 82.000 , 78.000 , - $ 74.000 , 71.000 , 67.500 , 65.000 , 62.500 , - $ 59.700 , 58.100 , 56.300 , 54.700 , 52.700 , - $ 50.000 , 48.400 , 47.000 , 46.000 , 45.200 , - $ 42.800 , 39.200 , 36.300 , 32.800 , 30.400 , - $ 28.100 , 26.300 , 24.500 , 19.250 , 16.840 , - $ 14.600 , 12.340 , 11.210 , 8.8500 , 7.5000 , - $ 7.5000 / - DATA (CSEL(16,J),J=1,41) / - $ 4200.0 , 440.00 , 420.00 , 400.00 , 230.00 , - $ 160.00 , 105.00 , 80.000 , 62.000 , 50.000 , - $ 45.000 , 41.000 , 38.000 , 36.000 , 35.000 , - $ 34.000 , 33.000 , 32.000 , 31.500 , 31.000 , - $ 30.500 , 30.000 , 29.500 , 29.000 , 28.500 , - $ 28.000 , 26.000 , 23.000 , 21.500 , 20.000 , - $ 19.000 , 18.000 , 17.000 , 13.000 , 11.500 , - $ 10.300 , 9.4000 , 9.0000 , 8.8000 , 7.0000 , - $ 7.5000 / - DATA (CSEL(17,J),J=1,41) / - $ 185.88 , 133.23 , 119.37 , 102.86 , 93.102 , - $ 82.752 , 76.205 , 71.008 , 67.366 , 64.096 , - $ 60.891 , 58.501 , 55.735 , 53.773 , 51.839 , - $ 49.671 , 48.485 , 47.045 , 45.803 , 44.306 , - $ 42.623 , 41.786 , 41.115 , 40.630 , 40.129 , - $ 38.242 , 35.233 , 32.662 , 29.639 , 27.573 , - $ 25.536 , 23.948 , 22.356 , 17.723 , 15.614 , - $ 13.653 , 11.675 , 10.653 , 8.6198 , 7.4464 , - $ 7.4821 / - DATA (CSEL(18,J),J=1,41) / - $ 1100.0 , 115.00 , 105.00 , 100.00 , 56.000 , - $ 40.000 , 27.000 , 22.000 , 21.000 , 20.000 , - $ 20.000 , 19.067 , 19.333 , 19.500 , 19.833 , - $ 20.567 , 21.800 , 22.900 , 23.869 , 23.809 , - $ 22.161 , 21.488 , 19.732 , 19.433 , 19.345 , - $ 19.029 , 18.121 , 16.280 , 15.258 , 14.280 , - $ 13.644 , 12.963 , 12.316 , 9.5333 , 8.4333 , - $ 7.5728 , 6.9696 , 6.7518 , 6.6175 , 5.6000 , - $ 6.1145 / - DATA (CSEL(19,J),J=1,41) / - $ 157.65 , 73.701 , 76.096 , 68.571 , 57.305 , - $ 49.257 , 43.616 , 40.024 , 38.098 , 36.287 , - $ 34.674 , 33.105 , 31.712 , 30.685 , 29.613 , - $ 28.602 , 28.336 , 28.075 , 27.786 , 27.215 , - $ 26.380 , 26.146 , 25.108 , 24.783 , 24.360 , - $ 23.219 , 21.431 , 20.095 , 18.382 , 17.267 , - $ 16.100 , 15.175 , 14.271 , 11.573 , 10.305 , - $ 9.1471 , 8.0149 , 7.4349 , 6.2499 , 5.8928 , - $ 6.0774 / - DATA (CSEL(20,J),J=1,41) / - $ 1100.0 , 115.00 , 105.00 , 100.00 , 56.000 , - $ 40.000 , 27.000 , 22.000 , 21.000 , 20.000 , - $ 20.000 , 19.067 , 19.333 , 19.500 , 19.833 , - $ 20.567 , 21.800 , 22.900 , 23.869 , 23.809 , - $ 22.161 , 21.488 , 19.732 , 19.433 , 19.345 , - $ 19.029 , 18.121 , 16.280 , 15.258 , 14.280 , - $ 13.644 , 12.963 , 12.316 , 9.5333 , 8.4333 , - $ 7.5728 , 6.9696 , 6.7518 , 6.6175 , 5.6000 , - $ 6.1145 / - DATA (CSEL(21,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL(22,J),J=1,41) / - $ 1100.0 , 115.00 , 105.00 , 100.00 , 56.000 , - $ 40.000 , 27.000 , 22.000 , 21.000 , 20.000 , - $ 20.000 , 19.067 , 19.333 , 19.500 , 19.833 , - $ 20.567 , 21.800 , 22.900 , 23.869 , 23.809 , - $ 22.161 , 21.488 , 19.732 , 19.433 , 19.345 , - $ 19.029 , 18.121 , 16.280 , 15.258 , 14.280 , - $ 13.644 , 12.963 , 12.316 , 9.5333 , 8.4333 , - $ 7.5728 , 6.9696 , 6.7518 , 6.6175 , 5.6000 , - $ 6.1145 / - DATA (CSEL(23,J),J=1,41) / - $ 185.88 , 133.23 , 119.37 , 102.86 , 93.102 , - $ 82.752 , 76.205 , 71.008 , 67.366 , 64.096 , - $ 60.891 , 58.104 , 55.241 , 53.140 , 50.934 , - $ 48.660 , 47.566 , 46.585 , 45.581 , 44.003 , - $ 41.134 , 39.374 , 36.878 , 35.523 , 34.503 , - $ 32.334 , 29.365 , 27.370 , 24.705 , 22.921 , - $ 21.229 , 19.879 , 18.559 , 14.625 , 12.758 , - $ 11.041 , 9.3440 , 8.5484 , 6.7104 , 6.0000 , - $ 6.1131 / - DATA (CSEL(24,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL(25,J),J=1,41) / - $ 157.65 , 73.701 , 76.096 , 68.571 , 57.305 , - $ 49.257 , 43.616 , 40.024 , 38.098 , 36.287 , - $ 34.674 , 33.105 , 31.712 , 30.685 , 29.613 , - $ 28.602 , 28.336 , 28.075 , 27.786 , 27.215 , - $ 26.380 , 26.146 , 25.108 , 24.783 , 24.360 , - $ 23.219 , 21.431 , 20.095 , 18.382 , 17.267 , - $ 16.100 , 15.175 , 14.271 , 11.573 , 10.305 , - $ 9.1471 , 8.0149 , 7.4349 , 6.2499 , 5.8928 , - $ 6.0774 / - DATA (CSEL(26,J),J=1,41) / - $ 1100.0 , 115.00 , 105.00 , 100.00 , 56.000 , - $ 40.000 , 27.000 , 22.000 , 21.000 , 20.000 , - $ 20.000 , 18.133 , 18.167 , 18.000 , 17.667 , - $ 18.133 , 19.600 , 21.800 , 23.338 , 23.118 , - $ 19.323 , 17.476 , 13.464 , 12.367 , 11.691 , - $ 11.057 , 10.242 , 9.5593 , 9.0151 , 8.5591 , - $ 8.2884 , 7.9253 , 7.6311 , 6.0667 , 5.3667 , - $ 4.8456 , 4.5392 , 4.5036 , 4.4351 , 4.2000 , - $ 4.7289 / - DATA (CSEL(27,J),J=1,41) / - $ 1100.0 , 115.00 , 105.00 , 100.00 , 56.000 , - $ 40.000 , 27.000 , 22.000 , 21.000 , 20.000 , - $ 20.000 , 18.133 , 18.167 , 18.000 , 17.667 , - $ 18.133 , 19.600 , 21.800 , 23.338 , 23.118 , - $ 19.323 , 17.476 , 13.464 , 12.367 , 11.691 , - $ 11.057 , 10.242 , 9.5593 , 9.0151 , 8.5591 , - $ 8.2884 , 7.9253 , 7.6311 , 6.0667 , 5.3667 , - $ 4.8456 , 4.5392 , 4.5036 , 4.4351 , 4.2000 , - $ 4.7289 / - DATA (CSEL(28,J),J=1,41) / - $ 157.65 , 73.701 , 76.096 , 68.571 , 57.305 , - $ 49.257 , 43.616 , 40.024 , 38.098 , 36.287 , - $ 34.674 , 32.708 , 31.218 , 30.052 , 28.707 , - $ 27.591 , 27.417 , 27.615 , 27.564 , 26.913 , - $ 24.891 , 23.734 , 20.871 , 19.677 , 18.734 , - $ 17.311 , 15.563 , 14.803 , 13.448 , 12.615 , - $ 11.794 , 11.106 , 10.474 , 8.4745 , 7.4498 , - $ 6.5350 , 5.6835 , 5.3300 , 4.3406 , 4.4464 , - $ 4.7083 / - DATA (CSEL(29,J),J=1,41) / - $ 143.53 , 43.935 , 54.462 , 51.429 , 39.407 , - $ 32.510 , 27.321 , 24.532 , 23.465 , 22.383 , - $ 21.566 , 20.209 , 19.453 , 18.825 , 18.046 , - $ 17.562 , 17.802 , 18.360 , 18.667 , 18.519 , - $ 17.514 , 17.120 , 14.985 , 14.306 , 13.663 , - $ 12.753 , 11.596 , 11.165 , 10.287 , 9.7882 , - $ 9.2294 , 8.7539 , 8.3300 , 6.9480 , 6.2234 , - $ 5.5881 , 5.0189 , 4.7733 , 4.1104 , 4.3929 , - $ 4.6905 / - DATA (CSEL(30,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL(31,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL(32,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSEL(33,J),J=1,41) / - $ 1100.0 , 115.00 , 105.00 , 100.00 , 56.000 , - $ 40.000 , 27.000 , 22.000 , 21.000 , 20.000 , - $ 20.000 , 18.133 , 18.167 , 18.000 , 17.667 , - $ 18.133 , 19.600 , 21.800 , 23.338 , 23.118 , - $ 19.323 , 17.476 , 13.464 , 12.367 , 11.691 , - $ 11.057 , 10.242 , 9.5593 , 9.0151 , 8.5591 , - $ 8.2884 , 7.9253 , 7.6311 , 6.0667 , 5.3667 , - $ 4.8456 , 4.5392 , 4.5036 , 4.4351 , 4.2000 , - $ 4.7289 / - DATA (CSEL(34,J),J=1,41) / - $ 143.53 , 43.935 , 54.462 , 51.429 , 39.407 , - $ 32.510 , 27.321 , 24.532 , 23.465 , 22.383 , - $ 21.566 , 20.209 , 19.453 , 18.825 , 18.046 , - $ 17.562 , 17.802 , 18.360 , 18.667 , 18.519 , - $ 17.514 , 17.120 , 14.985 , 14.306 , 13.663 , - $ 12.753 , 11.596 , 11.165 , 10.287 , 9.7882 , - $ 9.2294 , 8.7539 , 8.3300 , 6.9480 , 6.2234 , - $ 5.5881 , 5.0189 , 4.7733 , 4.1104 , 4.3929 , - $ 4.6905 / - DATA (CSEL(35,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN( 1,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN( 2,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN( 3,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN( 4,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN( 5,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN( 6,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN( 7,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.50000 , 1.2000 , 1.7000 , - $ 2.2500 , 3.0000 , 3.6000 , 4.5000 , 5.4000 , - $ 6.3000 , 8.6000 , 9.0000 , 10.000 , 11.500 , - $ 14.000 , 17.000 , 19.500 , 22.000 , 24.000 , - $ 21.500 , 18.500 , 19.000 , 20.500 , 22.200 , - $ 23.000 , 23.300 , 23.000 , 21.000 , 20.500 , - $ 20.200 , 20.100 , 20.000 , 20.000 , 20.000 , - $ 21.000 / - DATA (CSIN( 8,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN( 9,J),J=1,41) / - $ 0.00000E+00, 3.0000 , 9.2000 , 20.500 , 36.500 , - $ 45.000 , 28.000 , 19.500 , 15.500 , 14.200 , - $ 15.500 , 17.500 , 20.000 , 23.000 , 26.000 , - $ 20.000 , 23.000 , 26.500 , 32.000 , 35.000 , - $ 28.500 , 22.000 , 22.500 , 23.500 , 24.000 , - $ 24.500 , 26.000 , 27.500 , 27.500 , 27.000 , - $ 26.500 , 25.500 , 25.000 , 23.000 , 22.500 , - $ 22.200 , 22.000 , 22.000 , 21.200 , 20.700 , - $ 21.000 / - DATA (CSIN(10,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.50000 , 1.5000 , 2.7000 , 3.8000 , 4.8000 , - $ 6.5000 , 7.6000 , 8.4000 , 9.0000 , 9.4000 , - $ 9.8000 , 10.500 , 11.000 , 11.500 , 11.800 , - $ 12.200 , 12.400 , 12.600 , 13.200 , 13.500 , - $ 13.700 , 14.000 , 14.200 , 14.500 , 16.400 , - $ 17.000 / - DATA (CSIN(11,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.50000 , 1.5000 , 2.7000 , 3.8000 , 4.8000 , - $ 6.5000 , 7.6000 , 8.4000 , 9.0000 , 9.4000 , - $ 9.8000 , 10.500 , 11.000 , 11.500 , 11.800 , - $ 12.200 , 12.400 , 12.600 , 13.200 , 13.500 , - $ 13.700 , 14.000 , 14.200 , 14.500 , 16.400 , - $ 17.000 / - DATA (CSIN(12,J),J=1,41) / - $ 266.67 , 133.33 , 83.333 , 57.083 , 44.500 , - $ 33.250 , 24.583 , 20.833 , 18.333 , 16.083 , - $ 15.625 , 15.083 , 14.833 , 15.083 , 15.833 , - $ 17.042 , 18.958 , 20.758 , 22.533 , 22.825 , - $ 21.250 , 18.567 , 17.767 , 18.100 , 19.933 , - $ 20.783 , 21.225 , 21.000 , 20.558 , 20.258 , - $ 20.017 , 19.767 , 19.600 , 19.183 , 18.850 , - $ 18.575 , 18.350 , 18.175 , 17.808 , 17.558 , - $ 19.250 / - DATA (CSIN(13,J),J=1,41) / - $ 400.00 , 200.00 , 120.00 , 81.000 , 62.000 , - $ 47.000 , 35.000 , 28.000 , 24.000 , 21.000 , - $ 19.500 , 19.000 , 18.800 , 19.000 , 20.000 , - $ 21.000 , 23.000 , 25.000 , 27.000 , 27.500 , - $ 25.500 , 22.000 , 20.800 , 21.000 , 23.000 , - $ 24.000 , 24.000 , 23.800 , 23.000 , 22.500 , - $ 22.000 , 21.600 , 21.400 , 21.000 , 20.500 , - $ 20.200 , 19.800 , 19.500 , 18.600 , 17.500 , - $ 20.000 / - DATA (CSIN(14,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.10000 , 1.5000 , - $ 7.0000 , 12.000 , 17.000 , 19.500 , 20.500 , - $ 22.000 , 23.500 , 24.800 , 25.800 , 26.500 , - $ 27.000 , 27.500 , 28.000 , 30.000 , 31.000 , - $ 32.000 , 32.500 , 32.500 , 33.000 , 33.500 , - $ 34.000 / - DATA (CSIN(15,J),J=1,41) / - $ 1500.0 , 1160.0 , 310.00 , 230.00 , 178.00 , - $ 153.00 , 134.00 , 124.00 , 113.00 , 106.00 , - $ 101.00 , 96.000 , 92.000 , 89.000 , 87.000 , - $ 84.000 , 81.000 , 78.500 , 76.500 , 75.000 , - $ 72.000 , 70.000 , 68.000 , 64.500 , 63.000 , - $ 62.000 , 61.000 , 59.500 , 58.500 , 56.500 , - $ 56.500 , 56.000 , 55.500 , 52.000 , 50.000 , - $ 48.000 , 45.000 , 44.000 , 39.200 , 34.500 , - $ 34.500 / - DATA (CSIN(16,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.10000 , 1.5000 , - $ 7.0000 , 12.000 , 17.000 , 19.500 , 20.500 , - $ 22.000 , 23.500 , 24.800 , 25.800 , 26.500 , - $ 27.000 , 27.500 , 28.000 , 30.000 , 31.000 , - $ 32.000 , 32.500 , 32.500 , 33.000 , 33.500 , - $ 34.000 / - DATA (CSIN(17,J),J=1,41) / - $ 1394.1 , 948.17 , 262.43 , 197.14 , 149.30 , - $ 127.25 , 110.39 , 101.79 , 92.834 , 87.104 , - $ 83.109 , 79.099 , 75.965 , 73.627 , 72.161 , - $ 69.889 , 67.595 , 65.595 , 64.057 , 63.054 , - $ 61.377 , 60.434 , 59.485 , 56.970 , 55.931 , - $ 55.398 , 54.827 , 53.538 , 52.861 , 51.247 , - $ 51.344 , 50.992 , 50.644 , 47.876 , 46.358 , - $ 44.887 , 42.577 , 41.815 , 38.180 , 34.254 , - $ 34.418 / - DATA (CSIN(18,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.97815E-01, 1.4577 , - $ 6.2052 , 10.112 , 12.902 , 14.300 , 14.688 , - $ 15.505 , 16.379 , 17.554 , 18.309 , 18.920 , - $ 19.389 , 19.804 , 20.284 , 22.000 , 22.733 , - $ 23.527 , 24.097 , 24.382 , 24.816 , 26.800 , - $ 27.719 / - DATA (CSIN(19,J),J=1,41) / - $ 1182.4 , 524.50 , 167.30 , 131.43 , 91.895 , - $ 75.743 , 63.184 , 57.376 , 52.502 , 49.313 , - $ 47.326 , 44.762 , 43.222 , 42.015 , 41.221 , - $ 40.244 , 39.504 , 39.145 , 38.860 , 38.731 , - $ 37.987 , 37.814 , 36.326 , 34.750 , 33.953 , - $ 33.635 , 33.349 , 32.938 , 32.785 , 32.092 , - $ 32.373 , 32.312 , 32.329 , 31.261 , 30.597 , - $ 30.073 , 29.228 , 29.182 , 27.683 , 27.107 , - $ 27.956 / - DATA (CSIN(20,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.97815E-01, 1.4577 , - $ 6.2052 , 10.112 , 12.902 , 14.300 , 14.688 , - $ 15.505 , 16.379 , 17.554 , 18.309 , 18.920 , - $ 19.389 , 19.804 , 20.284 , 22.000 , 22.733 , - $ 23.527 , 24.097 , 24.382 , 24.816 , 26.800 , - $ 27.719 / - DATA (CSIN(21,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN(22,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.97815E-01, 1.4577 , - $ 6.2052 , 10.112 , 12.902 , 14.300 , 14.688 , - $ 15.505 , 16.379 , 17.554 , 18.309 , 18.920 , - $ 19.389 , 19.804 , 20.284 , 22.000 , 22.733 , - $ 23.527 , 24.097 , 24.382 , 24.816 , 26.800 , - $ 27.719 / - DATA (CSIN(23,J),J=1,41) / - $ 1394.1 , 948.17 , 262.43 , 197.14 , 149.30 , - $ 127.25 , 110.39 , 101.79 , 92.834 , 87.104 , - $ 83.109 , 78.563 , 75.292 , 72.760 , 70.900 , - $ 68.467 , 66.314 , 64.955 , 63.746 , 62.623 , - $ 59.233 , 56.946 , 53.355 , 49.810 , 48.090 , - $ 46.839 , 45.695 , 44.863 , 44.062 , 42.599 , - $ 42.684 , 42.328 , 42.041 , 39.508 , 37.880 , - $ 36.299 , 34.075 , 33.553 , 29.723 , 27.600 , - $ 28.120 / - DATA (CSIN(24,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN(25,J),J=1,41) / - $ 1182.4 , 524.50 , 167.30 , 131.43 , 91.895 , - $ 75.743 , 63.184 , 57.376 , 52.502 , 49.313 , - $ 47.326 , 44.762 , 43.222 , 42.015 , 41.221 , - $ 40.244 , 39.504 , 39.145 , 38.860 , 38.731 , - $ 37.987 , 37.814 , 36.326 , 34.750 , 33.953 , - $ 33.635 , 33.349 , 32.938 , 32.785 , 32.092 , - $ 32.373 , 32.312 , 32.329 , 31.261 , 30.597 , - $ 30.073 , 29.228 , 29.182 , 27.683 , 27.107 , - $ 27.956 / - DATA (CSIN(26,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.95639E-01, 1.4154 , - $ 5.4104 , 8.2240 , 8.8031 , 9.1000 , 8.8761 , - $ 9.0095 , 9.2576 , 10.307 , 10.818 , 11.341 , - $ 11.778 , 12.108 , 12.569 , 14.000 , 14.467 , - $ 15.054 , 15.694 , 16.263 , 16.632 , 20.100 , - $ 21.438 / - DATA (CSIN(27,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.95639E-01, 1.4154 , - $ 5.4104 , 8.2240 , 8.8031 , 9.1000 , 8.8761 , - $ 9.0095 , 9.2576 , 10.307 , 10.818 , 11.341 , - $ 11.778 , 12.108 , 12.569 , 14.000 , 14.467 , - $ 15.054 , 15.694 , 16.263 , 16.632 , 20.100 , - $ 21.438 / - DATA (CSIN(28,J),J=1,41) / - $ 1182.4 , 524.50 , 167.30 , 131.43 , 91.895 , - $ 75.743 , 63.184 , 57.376 , 52.502 , 49.313 , - $ 47.326 , 44.225 , 42.549 , 41.148 , 39.960 , - $ 38.822 , 38.223 , 38.505 , 38.549 , 38.301 , - $ 35.843 , 34.326 , 30.196 , 27.590 , 26.112 , - $ 25.076 , 24.217 , 24.264 , 23.985 , 23.445 , - $ 23.713 , 23.647 , 23.726 , 22.892 , 22.119 , - $ 21.485 , 20.726 , 20.921 , 19.226 , 20.454 , - $ 21.658 / - DATA (CSIN(29,J),J=1,41) / - $ 1076.5 , 312.66 , 119.74 , 98.571 , 63.193 , - $ 49.990 , 39.579 , 35.168 , 32.335 , 30.417 , - $ 29.434 , 27.325 , 26.514 , 25.775 , 25.120 , - $ 24.711 , 24.818 , 25.600 , 26.106 , 26.355 , - $ 25.220 , 24.760 , 21.681 , 20.060 , 19.044 , - $ 18.474 , 18.044 , 18.301 , 18.347 , 18.192 , - $ 18.557 , 18.639 , 18.870 , 18.769 , 18.478 , - $ 18.372 , 18.302 , 18.735 , 18.206 , 20.207 , - $ 21.576 / - DATA (CSIN(30,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN(31,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN(32,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSIN(33,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.95639E-01, 1.4154 , - $ 5.4104 , 8.2240 , 8.8031 , 9.1000 , 8.8761 , - $ 9.0095 , 9.2576 , 10.307 , 10.818 , 11.341 , - $ 11.778 , 12.108 , 12.569 , 14.000 , 14.467 , - $ 15.054 , 15.694 , 16.263 , 16.632 , 20.100 , - $ 21.438 / - DATA (CSIN(34,J),J=1,41) / - $ 1076.5 , 312.66 , 119.74 , 98.571 , 63.193 , - $ 49.990 , 39.579 , 35.168 , 32.335 , 30.417 , - $ 29.434 , 27.325 , 26.514 , 25.775 , 25.120 , - $ 24.711 , 24.818 , 25.600 , 26.106 , 26.355 , - $ 25.220 , 24.760 , 21.681 , 20.060 , 19.044 , - $ 18.474 , 18.044 , 18.301 , 18.347 , 18.192 , - $ 18.557 , 18.639 , 18.870 , 18.769 , 18.478 , - $ 18.372 , 18.302 , 18.735 , 18.206 , 20.207 , - $ 21.576 / - DATA (CSIN(35,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSPIEL( 1,J),J=1,41) / - $ 0.00000E+00, 350.00 , 580.00 , 600.00 , 550.00 , - $ 450.00 , 410.00 , 370.00 , 340.00 , 230.00 , - $ 220.00 , 205.00 , 180.00 , 155.00 , 145.00 , - $ 140.00 , 160.00 , 195.00 , 235.00 , 250.00 , - $ 270.00 , 280.00 , 300.00 , 300.00 , 290.00 , - $ 285.00 , 265.00 , 240.00 , 230.00 , 222.00 , - $ 204.00 , 196.00 , 190.00 , 170.00 , 170.00 , - $ 160.00 , 150.00 , 140.00 , 120.00 , 80.000 , - $ 80.000 / - DATA (CSPIEL( 2,J),J=1,41) / - $ 0.00000E+00, 700.00 , 1000.0 , 1200.0 , 1300.0 , - $ 1300.0 , 1250.0 , 1250.0 , 1100.0 , 1000.0 , - $ 940.00 , 740.00 , 700.00 , 670.00 , 660.00 , - $ 670.00 , 680.00 , 700.00 , 735.00 , 800.00 , - $ 810.00 , 820.00 , 820.00 , 810.00 , 800.00 , - $ 800.00 , 700.00 , 600.00 , 500.00 , 470.00 , - $ 440.00 , 410.00 , 380.00 , 330.00 , 330.00 , - $ 330.00 , 330.00 , 330.00 , 285.00 , 240.00 , - $ 240.00 / - DATA (CSPIEL( 3,J),J=1,41) / - $ 0.00000E+00, 1700.0 , 2200.0 , 2200.0 , 1800.0 , - $ 1300.0 , 1200.0 , 900.00 , 900.00 , 1000.0 , - $ 1100.0 , 1300.0 , 1400.0 , 1420.0 , 1490.0 , - $ 1560.0 , 1580.0 , 1690.0 , 1795.0 , 2000.0 , - $ 2070.0 , 2140.0 , 2050.0 , 2010.0 , 1970.0 , - $ 1880.0 , 1690.0 , 1500.0 , 1420.0 , 1390.0 , - $ 1350.0 , 1360.0 , 1370.0 , 1280.0 , 1290.0 , - $ 1295.0 , 1250.0 , 1200.0 , 1050.0 , 900.00 , - $ 900.00 / - DATA (CSPIIN( 1,J),J=1,41) / - $ 0.00000E+00, 200.00 , 320.00 , 500.00 , 600.00 , - $ 600.00 , 590.00 , 530.00 , 510.00 , 470.00 , - $ 430.00 , 425.00 , 420.00 , 425.00 , 425.00 , - $ 430.00 , 430.00 , 435.00 , 435.00 , 440.00 , - $ 430.00 , 430.00 , 420.00 , 420.00 , 420.00 , - $ 415.00 , 415.00 , 410.00 , 410.00 , 408.00 , - $ 406.00 , 404.00 , 400.00 , 380.00 , 340.00 , - $ 340.00 , 340.00 , 340.00 , 340.00 , 340.00 , - $ 340.00 / - DATA (CSPIIN( 2,J),J=1,41) / - $ 0.00000E+00, 400.00 , 800.00 , 1000.0 , 1100.0 , - $ 1200.0 , 1150.0 , 1050.0 , 1000.0 , 900.00 , - $ 860.00 , 860.00 , 850.00 , 850.00 , 840.00 , - $ 830.00 , 820.00 , 810.00 , 805.00 , 800.00 , - $ 800.00 , 800.00 , 800.00 , 800.00 , 800.00 , - $ 800.00 , 800.00 , 800.00 , 800.00 , 780.00 , - $ 760.00 , 740.00 , 720.00 , 720.00 , 700.00 , - $ 690.00 , 680.00 , 670.00 , 665.00 , 660.00 , - $ 660.00 / - DATA (CSPIIN( 3,J),J=1,41) / - $ 0.00000E+00, 1000.0 , 1900.0 , 2600.0 , 2900.0 , - $ 3000.0 , 2800.0 , 2600.0 , 2500.0 , 2300.0 , - $ 2200.0 , 2000.0 , 1900.0 , 1880.0 , 1860.0 , - $ 1840.0 , 1820.0 , 1810.0 , 1805.0 , 1800.0 , - $ 1780.0 , 1760.0 , 1750.0 , 1740.0 , 1730.0 , - $ 1720.0 , 1710.0 , 1700.0 , 1680.0 , 1660.0 , - $ 1650.0 , 1640.0 , 1630.0 , 1620.0 , 1610.0 , - $ 1605.0 , 1600.0 , 1600.0 , 1550.0 , 1500.0 , - $ 1500.0 / - DATA (CSPNEL( 1,J),J=1,41) / - $ 2100.0 , 1800.0 , 1500.0 , 1050.0 , 900.00 , - $ 950.00 , 800.00 , 650.00 , 570.00 , 390.00 , - $ 300.00 , 240.00 , 230.00 , 230.00 , 220.00 , - $ 220.00 , 225.00 , 225.00 , 240.00 , 240.00 , - $ 290.00 , 330.00 , 335.00 , 350.00 , 355.00 , - $ 370.00 , 350.00 , 330.00 , 310.00 , 290.00 , - $ 270.00 , 265.00 , 260.00 , 230.00 , 210.00 , - $ 210.00 , 200.00 , 200.00 , 190.00 , 180.00 , - $ 180.00 / - DATA (CSPNEL( 2,J),J=1,41) / - $ 3800.0 , 2900.0 , 1850.0 , 1550.0 , 1450.0 , - $ 1520.0 , 1460.0 , 1300.0 , 1140.0 , 880.00 , - $ 700.00 , 620.00 , 540.00 , 560.00 , 460.00 , - $ 460.00 , 470.00 , 470.00 , 480.00 , 480.00 , - $ 580.00 , 600.00 , 610.00 , 620.00 , 620.00 , - $ 620.00 , 590.00 , 580.00 , 460.00 , 440.00 , - $ 420.00 , 400.00 , 480.00 , 430.00 , 380.00 , - $ 380.00 , 380.00 , 380.00 , 380.00 , 380.00 , - $ 380.00 / - DATA (CSPNEL( 3,J),J=1,41) / - $ 7000.0 , 6000.0 , 4500.0 , 3350.0 , 2700.0 , - $ 3000.0 , 3550.0 , 3970.0 , 3280.0 , 2490.0 , - $ 2100.0 , 1510.0 , 1440.0 , 1370.0 , 1370.0 , - $ 1370.0 , 1400.0 , 1400.0 , 1420.0 , 1420.0 , - $ 1440.0 , 1460.0 , 1460.0 , 1450.0 , 1450.0 , - $ 1470.0 , 1400.0 , 1400.0 , 1380.0 , 1370.0 , - $ 1360.0 , 1350.0 , 1340.0 , 1330.0 , 1320.0 , - $ 1310.0 , 1305.0 , 1300.0 , 1300.0 , 1300.0 , - $ 1300.0 / - DATA (CSPNIN( 1,J),J=1,41) / - $ 0.00000E+00, 200.00 , 400.00 , 800.00 , 800.00 , - $ 550.00 , 500.00 , 450.00 , 430.00 , 410.00 , - $ 400.00 , 390.00 , 380.00 , 370.00 , 370.00 , - $ 370.00 , 365.00 , 365.00 , 360.00 , 360.00 , - $ 360.00 , 360.00 , 365.00 , 370.00 , 375.00 , - $ 380.00 , 400.00 , 410.00 , 420.00 , 430.00 , - $ 440.00 , 440.00 , 440.00 , 440.00 , 440.00 , - $ 440.00 , 440.00 , 440.00 , 440.00 , 440.00 , - $ 440.00 / - DATA (CSPNIN( 2,J),J=1,41) / - $ 0.00000E+00, 400.00 , 950.00 , 1050.0 , 1050.0 , - $ 980.00 , 940.00 , 900.00 , 860.00 , 820.00 , - $ 800.00 , 780.00 , 760.00 , 740.00 , 740.00 , - $ 740.00 , 730.00 , 730.00 , 720.00 , 720.00 , - $ 720.00 , 720.00 , 730.00 , 740.00 , 750.00 , - $ 760.00 , 800.00 , 820.00 , 820.00 , 820.00 , - $ 820.00 , 820.00 , 820.00 , 820.00 , 820.00 , - $ 820.00 , 820.00 , 820.00 , 820.00 , 820.00 , - $ 820.00 / - DATA (CSPNIN( 3,J),J=1,41) / - $ 0.00000E+00, 0.00000E+00, 500.00 , 1450.0 , 1700.0 , - $ 1800.0 , 1750.0 , 1730.0 , 1720.0 , 1710.0 , - $ 1700.0 , 1690.0 , 1660.0 , 1630.0 , 1630.0 , - $ 1630.0 , 1600.0 , 1600.0 , 1580.0 , 1580.0 , - $ 1580.0 , 1580.0 , 1600.0 , 1630.0 , 1650.0 , - $ 1670.0 , 1760.0 , 1800.0 , 1800.0 , 1800.0 , - $ 1800.0 , 1800.0 , 1800.0 , 1800.0 , 1800.0 , - $ 1800.0 , 1800.0 , 1800.0 , 1800.0 , 1800.0 , - $ 1800.0 / - DATA ELAB / - $ 0.10000E-03, 0.20000E-03, 0.30000E-03, 0.40000E-03, 0.50000E-03, - $ 0.70000E-03, 0.10000E-02, 0.20000E-02, 0.30000E-02, 0.40000E-02, - $ 0.50000E-02, 0.70000E-02, 0.10000E-01, 0.15000E-01, 0.20000E-01, - $ 0.25000E-01, 0.32700E-01/ - DATA CNLWAT / - $ 1.0000 , 16.000 , 27.000 , 56.000 , 59.000 , - $ 64.000 , 91.000 , 112.00 , 119.00 , 127.00 , - $ 137.00 , 181.00 , 207.00 , 209.00 , 238.00 / - DATA (CNLWEL( 1,J),J=1,17) / - $ 6000.0 , 5500.0 , 5200.0 , 4900.0 , 4800.0 , - $ 4400.0 , 4000.0 , 2900.0 , 2200.0 , 1800.0 , - $ 1400.0 , 1100.0 , 900.00 , 700.00 , 600.00 , - $ 560.00 , 520.00 / - DATA (CNLWEL( 2,J),J=1,17) / - $ 5400.0 , 5050.0 , 4800.0 , 4600.0 , 4399.0 , - $ 4090.0 , 3700.0 , 2600.0 , 1950.0 , 1600.0 , - $ 1300.0 , 900.00 , 700.00 , 800.00 , 1050.0 , - $ 1250.0 , 1320.0 / - DATA (CNLWEL( 3,J),J=1,17) / - $ 5500.0 , 5150.0 , 4900.0 , 4699.0 , 4490.0 , - $ 4150.0 , 3750.0 , 2790.0 , 2100.0 , 1650.0 , - $ 1300.0 , 950.00 , 800.00 , 860.00 , 1000.0 , - $ 1090.0 , 1080.0 / - DATA (CNLWEL( 4,J),J=1,17) / - $ 5499.0 , 4970.0 , 4450.0 , 4080.0 , 3750.0 , - $ 3380.0 , 2900.0 , 2400.0 , 2380.0 , 2350.0 , - $ 2300.0 , 2100.0 , 1720.0 , 1370.0 , 1200.0 , - $ 1060.0 , 870.00 / - DATA (CNLWEL( 5,J),J=1,17) / - $ 5399.0 , 4710.0 , 4180.0 , 3760.0 , 3460.0 , - $ 3150.0 , 2730.0 , 2270.0 , 1850.0 , 1850.0 , - $ 2130.0 , 2330.0 , 2120.0 , 1640.0 , 1310.0 , - $ 1100.0 , 1050.0 / - DATA (CNLWEL( 6,J),J=1,17) / - $ 5099.0 , 4405.0 , 3825.0 , 3455.0 , 3125.0 , - $ 2695.0 , 2350.0 , 1850.0 , 1580.0 , 1820.0 , - $ 2050.0 , 2210.0 , 2000.0 , 1590.0 , 1310.0 , - $ 1120.0 , 1040.0 / - DATA (CNLWEL( 7,J),J=1,17) / - $ 6290.0 , 5960.0 , 5640.0 , 5370.0 , 5150.0 , - $ 4800.0 , 4250.0 , 3150.0 , 2470.0 , 2100.0 , - $ 2230.0 , 2420.0 , 2450.0 , 2050.0 , 1760.0 , - $ 1550.0 , 1330.0 / - DATA (CNLWEL( 8,J),J=1,17) / - $ 6885.0 , 6650.0 , 6350.0 , 6150.0 , 6000.0 , - $ 5700.0 , 5360.0 , 4250.0 , 2800.0 , 1870.0 , - $ 1810.0 , 1820.0 , 2170.0 , 2450.0 , 2150.0 , - $ 1700.0 , 1390.0 / - DATA (CNLWEL( 9,J),J=1,17) / - $ 6600.0 , 6500.0 , 6400.0 , 6249.0 , 6190.0 , - $ 5950.0 , 5520.0 , 4250.0 , 2750.0 , 1900.0 , - $ 1850.0 , 1950.0 , 2340.0 , 2800.0 , 2540.0 , - $ 2100.0 , 1760.0 / - DATA (CNLWEL(10,J),J=1,17) / - $ 7400.0 , 7200.0 , 6999.0 , 6840.0 , 6655.0 , - $ 6320.0 , 5820.0 , 4400.0 , 2850.0 , 2000.0 , - $ 1800.0 , 1800.0 , 2150.0 , 2600.0 , 2350.0 , - $ 1950.0 , 2100.0 / - DATA (CNLWEL(11,J),J=1,17) / - $ 7900.0 , 7700.0 , 7499.0 , 7390.0 , 7202.0 , - $ 6810.0 , 6360.0 , 4920.0 , 3450.0 , 2600.0 , - $ 2200.0 , 1950.0 , 2300.0 , 2800.0 , 2650.0 , - $ 2250.0 , 2050.0 / - DATA (CNLWEL(12,J),J=1,17) / - $ 7900.0 , 7750.0 , 7699.0 , 7590.0 , 7450.0 , - $ 7200.0 , 6850.0 , 5650.0 , 4400.0 , 3700.0 , - $ 3400.0 , 2800.0 , 2700.0 , 3100.0 , 3250.0 , - $ 3100.0 , 2750.0 / - DATA (CNLWEL(13,J),J=1,17) / - $ 6100.0 , 5950.0 , 5750.0 , 5599.0 , 5440.0 , - $ 5200.0 , 4800.0 , 4300.0 , 5800.0 , 5750.0 , - $ 4800.0 , 3420.0 , 2650.0 , 3200.0 , 3650.0 , - $ 3500.0 , 2980.0 / - DATA (CNLWEL(14,J),J=1,17) / - $ 6100.0 , 5950.0 , 5750.0 , 5599.0 , 5440.0 , - $ 5200.0 , 4800.0 , 4300.0 , 5800.0 , 5750.0 , - $ 4800.0 , 3420.0 , 2650.0 , 3200.0 , 3650.0 , - $ 3500.0 , 2980.0 / - DATA (CNLWEL(15,J),J=1,17) / - $ 6600.0 , 6350.0 , 6100.0 , 5899.0 , 5690.0 , - $ 5300.0 , 4850.0 , 4450.0 , 5650.0 , 5700.0 , - $ 4950.0 , 3850.0 , 3050.0 , 3050.0 , 3460.0 , - $ 3650.0 , 3340.0 / - DATA (CNLWIN( 1,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00/ - DATA (CNLWIN( 2,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.0000 , - $ 10.000 , 50.000 , 100.00 , 200.00 , 300.00 , - $ 400.00 , 600.00 , 700.00 , 750.00 , 700.00 , - $ 700.00 , 680.00 / - DATA (CNLWIN( 3,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.0000 , 10.000 , - $ 50.000 , 100.00 , 260.00 , 450.00 , 600.00 , - $ 700.00 , 800.00 , 900.00 , 940.00 , 900.00 , - $ 860.00 , 820.00 / - DATA (CNLWIN( 4,J),J=1,17) / - $ 1.0000 , 80.000 , 200.00 , 320.00 , 400.00 , - $ 520.00 , 700.00 , 1000.0 , 1120.0 , 1200.0 , - $ 1200.0 , 1200.0 , 1180.0 , 1130.0 , 1100.0 , - $ 1090.0 , 1080.0 / - DATA (CNLWIN( 5,J),J=1,17) / - $ 1.0000 , 90.000 , 220.00 , 340.00 , 420.00 , - $ 550.00 , 720.00 , 1080.0 , 1300.0 , 1400.0 , - $ 1420.0 , 1420.0 , 1380.0 , 1260.0 , 1190.0 , - $ 1150.0 , 1100.0 / - DATA (CNLWIN( 6,J),J=1,17) / - $ 1.0000 , 95.000 , 225.00 , 345.00 , 425.00 , - $ 555.00 , 750.00 , 1150.0 , 1500.0 , 1680.0 , - $ 1700.0 , 1690.0 , 1550.0 , 1360.0 , 1240.0 , - $ 1180.0 , 1120.0 / - DATA (CNLWIN( 7,J),J=1,17) / - $ 10.000 , 140.00 , 260.00 , 380.00 , 450.00 , - $ 600.00 , 750.00 , 1200.0 , 1580.0 , 1800.0 , - $ 1820.0 , 1830.0 , 1800.0 , 1750.0 , 1690.0 , - $ 1650.0 , 1620.0 / - DATA (CNLWIN( 8,J),J=1,17) / - $ 15.000 , 150.00 , 300.00 , 400.00 , 500.00 , - $ 650.00 , 840.00 , 1500.0 , 2100.0 , 2130.0 , - $ 2140.0 , 2130.0 , 2080.0 , 2000.0 , 1950.0 , - $ 1900.0 , 1860.0 / - DATA (CNLWIN( 9,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.0000 , 10.000 , - $ 150.00 , 380.00 , 1000.0 , 1650.0 , 2100.0 , - $ 2100.0 , 2100.0 , 2060.0 , 1950.0 , 1860.0 , - $ 1800.0 , 1740.0 / - DATA (CNLWIN(10,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 1.0000 , 10.000 , 45.000 , - $ 180.00 , 380.00 , 1050.0 , 1900.0 , 2300.0 , - $ 2300.0 , 2200.0 , 2150.0 , 2000.0 , 1900.0 , - $ 1800.0 , 1750.0 / - DATA (CNLWIN(11,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 1.0000 , 10.000 , 48.000 , - $ 190.00 , 390.00 , 1080.0 , 2000.0 , 2400.0 , - $ 2400.0 , 2300.0 , 2200.0 , 2100.0 , 1950.0 , - $ 1850.0 , 1800.0 / - DATA (CNLWIN(12,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 1.0000 , 10.000 , 50.000 , - $ 200.00 , 400.00 , 1100.0 , 2100.0 , 2500.0 , - $ 2500.0 , 2450.0 , 2300.0 , 2100.0 , 2000.0 , - $ 1900.0 , 1850.0 / - DATA (CNLWIN(13,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.0000 , 10.000 , - $ 100.00 , 350.00 , 900.00 , 1400.0 , 2000.0 , - $ 2300.0 , 2380.0 , 2400.0 , 2300.0 , 2250.0 , - $ 2200.0 , 2120.0 / - DATA (CNLWIN(14,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.0000 , 10.000 , - $ 100.00 , 350.00 , 900.00 , 1400.0 , 2000.0 , - $ 2300.0 , 2380.0 , 2400.0 , 2300.0 , 2250.0 , - $ 2200.0 , 2120.0 / - DATA (CNLWIN(15,J),J=1,17) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.0000 , 10.000 , - $ 100.00 , 400.00 , 950.00 , 1600.0 , 2200.0 , - $ 2550.0 , 2750.0 , 2700.0 , 2600.0 , 2540.0 , - $ 2450.0 , 2360.0 / - DATA (CSCAP(J),J=1,50) / - $ 6.0000 , 5.7000 , 5.5000 , 5.3000 , 5.2000 , - $ 5.1000 , 5.0000 , 4.9000 , 4.8000 , 4.8000 , - $ 4.8000 , 4.8000 , 4.8000 , 4.8000 , 4.8000 , - $ 4.8000 , 4.9000 , 5.0000 , 5.2000 , 5.5000 , - $ 6.0000 , 6.7000 , 7.5000 , 8.5000 , 10.000 , - $ 12.000 , 14.500 , 19.000 , 26.500 , 40.000 , - $ 75.000 , 120.00 , 180.00 , 260.00 , 360.00 , - $ 330.00 , 60.000 , 7.0000 , 9.5000 , 20.000 , - $ 75.000 , 140.00 , 250.00 , 360.00 , 480.00 , - $ 580.00 , 590.00 , 500.00 , 300.00 , 100.00 / - DATA (CSCAP(J),J=51,100) / - $ 200.00 , 300.00 , 400.00 , 470.00 , 500.00 , - $ 430.00 , 100.00 , 20.000 , 22.000 , 40.000 , - $ 560.00 , 950.00 , 1000.0 , 1000.0 , 1000.0 , - $ 990.00 , 920.00 , 860.00 , 790.00 , 740.00 , - $ 650.00 , 600.00 , 540.00 , 470.00 , 440.00 , - $ 390.00 , 360.00 , 340.00 , 320.00 , 310.00 , - $ 280.00 , 2.0000 , 2.5000 , 6.0000 , 13.000 , - $ 38.000 , 65.000 , 140.00 , 280.00 , 300.00 , - $ 430.00 , 580.00 , 650.00 , 800.00 , 920.00 , - $ 1100.0 , 1250.0 , 1400.0 , 1550.0 , 1700.0 / - DATA EKFISS / - $ 0.10000E-03, 0.20000E-03, 0.30000E-03, 0.50000E-03, 0.70000E-03, - $ 0.10000E-02, 0.15000E-02, 0.20000E-02, 0.30000E-02, 0.50000E-02, - $ 0.70000E-02, 0.10000E-01, 0.15000E-01, 0.20000E-01, 0.50000E-01, - $ 0.10000 , 0.20000 , 0.30000 , 0.40000 , 0.50000 , - $ 1000.0 / - DATA (CSFISS( 1,J),J=1,21) / - $ 2600.0 , 2300.0 , 2300.0 , 2100.0 , 2000.0 , - $ 1950.0 , 1930.0 , 1900.0 , 1800.0 , 1600.0 , - $ 2100.0 , 2300.0 , 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSFISS( 2,J),J=1,21) / - $ 1850.0 , 1400.0 , 1300.0 , 1150.0 , 1100.0 , - $ 1200.0 , 1250.0 , 1300.0 , 1250.0 , 1150.0 , - $ 1600.0 , 1900.0 , 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSFISS( 3,J),J=1,21) / - $ 1700.0 , 1650.0 , 1650.0 , 1700.0 , 1700.0 , - $ 1800.0 , 1900.0 , 2000.0 , 1950.0 , 1800.0 , - $ 2150.0 , 2450.0 , 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00/ - DATA (CSFISS( 4,J),J=1,21) / - $ 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, - $ 0.00000E+00, 250.00 , 550.00 , 550.00 , 550.00 , - $ 550.00 , 550.00 , 1000.0 , 1400.0 , 1600.0 , - $ 1500.0 , 1400.0 , 1300.0 , 1200.0 , 1100.0 , - $ 1000.0 / -C --- END OF CROSS SECTION DATA STATEMENTS --- -C - -#endif diff --git a/StarVMC/geant3/geant321/s_csdim.inc b/StarVMC/geant3/geant321/s_csdim.inc deleted file mode 100644 index 9f5379fa68b..00000000000 --- a/StarVMC/geant3/geant321/s_csdim.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: s_csdim.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_csdim.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_CSDIM_INC -#define CERNLIB_GEANT321_S_CSDIM_INC -* -* -* s_csdim.inc -* -C --- DIMENSION STATEMENTS FOR CROSS SECTION DATA --- - DIMENSION PLAB(41),CSEL(35,41),CSIN(35,41),CSPIEL(3,41), - $ CSPIIN(3,41),CSPNEL(3,41),CSPNIN(3,41), - $ ELAB(17),CNLWAT(15),CNLWEL(15,17),CNLWIN(15,17), - $ CSCAP(100),EKFISS(21),CSFISS(4,21) -C - -#endif diff --git a/StarVMC/geant3/geant321/s_curpar.inc b/StarVMC/geant3/geant321/s_curpar.inc deleted file mode 100644 index 99c93ec57c1..00000000000 --- a/StarVMC/geant3/geant321/s_curpar.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: s_curpar.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_curpar.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_CURPAR_INC -#define CERNLIB_GEANT321_S_CURPAR_INC -* -* -* s_curpar.inc -* - PARAMETER (MXGKCU=MXGKGH) - COMMON/CURPAR/WEIGHT(10),DDELTN,IFILE,IRUN,NEVT,NEVENT,SHFLAG, - * ITHST,ITTOT,ITLST,IFRND,TOFCUT,CMOM(5),CENG(5), - * RS,S,ENP(10),NP,NM,NN,NR,NO,NZ,IPA(MXGKCU), - * ATNO2,ZNO2 -C - -#endif diff --git a/StarVMC/geant3/geant321/s_defcom.inc b/StarVMC/geant3/geant321/s_defcom.inc deleted file mode 100644 index 1caf576399c..00000000000 --- a/StarVMC/geant3/geant321/s_defcom.inc +++ /dev/null @@ -1,44 +0,0 @@ -* -* $Id: s_defcom.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_defcom.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:43 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_DEFCOM_INC -#define CERNLIB_GEANT321_S_DEFCOM_INC -* -* -* s_defcom.inc -* -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_mat.inc" -#include "geant321/s_event.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_errcom.inc" -#include "geant321/s_blank.inc" -C - -#endif diff --git a/StarVMC/geant3/geant321/s_errcom.inc b/StarVMC/geant3/geant321/s_errcom.inc deleted file mode 100644 index 09b4bd65bca..00000000000 --- a/StarVMC/geant3/geant321/s_errcom.inc +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: s_errcom.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_errcom.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_ERRCOM_INC -#define CERNLIB_GEANT321_S_ERRCOM_INC -* -* -* s_errcom.inc -* - COMMON/ERRCOM/ IER(100) -C - -#endif diff --git a/StarVMC/geant3/geant321/s_event.inc b/StarVMC/geant3/geant321/s_event.inc deleted file mode 100644 index 703778aae45..00000000000 --- a/StarVMC/geant3/geant321/s_event.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: s_event.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_event.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_EVENT_INC -#define CERNLIB_GEANT321_S_EVENT_INC -* -* -* s_event.inc -* - PARAMETER (MXEVEN=12*MXGKGH) - COMMON/EVENT / NSIZE,NCUR,NEXT,NTOT,EVE(MXEVEN) -C - -#endif diff --git a/StarVMC/geant3/geant321/s_genio.inc b/StarVMC/geant3/geant321/s_genio.inc deleted file mode 100644 index e388b51f830..00000000000 --- a/StarVMC/geant3/geant321/s_genio.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: s_genio.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_genio.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_GENIO_INC -#define CERNLIB_GEANT321_S_GENIO_INC -* -* -* s_genio.inc -* - COMMON/GENIN /TECM,AMASS(18),NPG,KGENEV - COMMON/GENOUT/PCM(5,18),WGT -C - -#endif diff --git a/StarVMC/geant3/geant321/s_kginit.inc b/StarVMC/geant3/geant321/s_kginit.inc deleted file mode 100644 index 74397450cde..00000000000 --- a/StarVMC/geant3/geant321/s_kginit.inc +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: s_kginit.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_kginit.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_KGINIT_INC -#define CERNLIB_GEANT321_S_KGINIT_INC -* -* *** NVE 09-FEB-1988 *** -* -* s_kginit.inc -* -C --- INITIALIZATION FLAGS FOR VARIOUS GHEISHA ROUTINES --- - COMMON /KGINIT/ KGINIT(50) -C - -#endif diff --git a/StarVMC/geant3/geant321/s_mat.inc b/StarVMC/geant3/geant321/s_mat.inc deleted file mode 100644 index 908f73f61b7..00000000000 --- a/StarVMC/geant3/geant321/s_mat.inc +++ /dev/null @@ -1,41 +0,0 @@ -* -* $Id: s_mat.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_mat.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_MAT_INC -#define CERNLIB_GEANT321_S_MAT_INC -* -* -* s_mat.inc -* - COMMON/MAT / LMAT, - * DEN(21),RADLTH(21),ATNO(21),ZNO(21),ABSL(21), - * CDEN(21),MDEN(21),X0DEN(21),X1DEN(21),RION(21), - * MATID(21),MATID1(21,24),PARMAT(21,10), - * IFRAT,IFRAC(21),FRAC1(21,10),DEN1(21,10), - * ATNO1(21,10),ZNO1(21,10) -C - -#endif diff --git a/StarVMC/geant3/geant321/s_nucio.inc b/StarVMC/geant3/geant321/s_nucio.inc deleted file mode 100644 index b191a75195f..00000000000 --- a/StarVMC/geant3/geant321/s_nucio.inc +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: s_nucio.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_nucio.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_NUCIO_INC -#define CERNLIB_GEANT321_S_NUCIO_INC -* -* -* s_nucio.inc -* - COMMON/NUCIN /TECM,AMASS(18),NPG,KGENEV - COMMON/NUCOUT/PCM(5,18),WGT -#if !defined(CERNLIB_SINGLE) -#include "geant321/nuciod.inc" -#endif -C - -#endif diff --git a/StarVMC/geant3/geant321/s_prntfl.inc b/StarVMC/geant3/geant321/s_prntfl.inc deleted file mode 100644 index 147cfe95676..00000000000 --- a/StarVMC/geant3/geant321/s_prntfl.inc +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: s_prntfl.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_prntfl.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_PRNTFL_INC -#define CERNLIB_GEANT321_S_PRNTFL_INC -* -* -* s_prntfl.inc -* - COMMON/PRNTFL/INBCD,NEWBCD,INBIN,NEWBIN,NPEVT,NEVTP,LPRT,NPRT(10) - LOGICAL LPRT,NPRT -C - -#endif diff --git a/StarVMC/geant3/geant321/s_result.inc b/StarVMC/geant3/geant321/s_result.inc deleted file mode 100644 index 250140fbc2b..00000000000 --- a/StarVMC/geant3/geant321/s_result.inc +++ /dev/null @@ -1,41 +0,0 @@ -* -* $Id: s_result.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: s_result.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:44 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_S_RESULT_INC -#define CERNLIB_GEANT321_S_RESULT_INC -* -* -* s_result.inc -* - COMMON/RESULT/XEND,YEND,ZEND,RCA,RCE,AMAS,NCH,TOF,PX,PY,PZ, - * USERW,INTCT,P,EN,EK,AMASQ,DELTN,ITK,NTK,IPART,IND, - * LCALO,ICEL,SINL,COSL,SINP,COSP, - * XOLD,YOLD,ZOLD,POLD,PXOLD,PYOLD,PZOLD, - * XSCAT,YSCAT,ZSCAT,PSCAT,PXSCAT,PYSCAT,PZSCAT - REAL NCH,INTCT -C - -#endif diff --git a/StarVMC/geant3/geant321/sckine.inc b/StarVMC/geant3/geant321/sckine.inc deleted file mode 100644 index 246d3aaab25..00000000000 --- a/StarVMC/geant3/geant321/sckine.inc +++ /dev/null @@ -1,4 +0,0 @@ - CHARACTER*4 CHTREE - INTEGER MTRACK, MPRIMA - COMMON / SCKINE / MTRACK, MPRIMA - +, CHTREE(2) diff --git a/StarVMC/geant3/geant321/split.inc b/StarVMC/geant3/geant321/split.inc deleted file mode 100644 index d9a896bee3d..00000000000 --- a/StarVMC/geant3/geant321/split.inc +++ /dev/null @@ -1,61 +0,0 @@ -* -* $Id: split.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: split.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_SPLIT_INC -#define CERNLIB_GEANT321_SPLIT_INC -* -* -* split.inc -* -* -*=== split ============================================================* -* -*----------------------------------------------------------------------* -* * -* Created on 10 december 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 10-dec-91 by Alfredo Ferrari * -* * -* This is the original common split of Hadrin * -* * -* Included in the following routines: * -* * -* CALUMV * -* DATESH * -* HADRIV * -* RCHANV * -* BLKDT3 * -* HADDEN * -* CALUMO * -* RCHANW * -* * -*----------------------------------------------------------------------* -* - COMMON / FKSPLI / WT (460), NZK (460,3) - - -#endif diff --git a/StarVMC/geant3/geant321/trcom3.inc b/StarVMC/geant3/geant321/trcom3.inc deleted file mode 100644 index 1c7b40f795e..00000000000 --- a/StarVMC/geant3/geant321/trcom3.inc +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: trcom3.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: trcom3.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.2 1996/07/25 15:01:26 ravndal -* CMZ to CVS conversion artefact removed -* -* Revision 1.1 1996/03/06 15:32:35 mclareni -* Add geane321 includes -* -* -#ifndef CERNLIB_ERPRCDES_TRCOM3_INC -#define CERNLIB_ERPRCDES_TRCOM3_INC -* -* Sequences of the EMC routines -* -* trcom3.inc -* - DOUBLE PRECISION A, B, S, TN, T, COSL, SINL, COSP, SINP, COSL1 - INTEGER NEW - COMMON /TRCOM3/ A(5,5), B(5,5), S(15), - + TN(3), T(5), COSL, SINL, COSP, SINP, COSL1, NEW -* -* trcom3.inc -* -#if defined(CERNLIB_INCLUDE) -#include "geant321/incbeg.inc" - + TRCOM3 -#include "geant321/incend.inc" -#endif - -#endif diff --git a/StarVMC/geant3/geant321/xsepar.inc b/StarVMC/geant3/geant321/xsepar.inc deleted file mode 100644 index 9aa64521ceb..00000000000 --- a/StarVMC/geant3/geant321/xsepar.inc +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: xsepar.inc,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: xsepar.inc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:42 cernlib -* Geant -* -* -#ifndef CERNLIB_GEANT321_XSEPAR_INC -#define CERNLIB_GEANT321_XSEPAR_INC -* -* -* xsepar.inc -* -* -*=== xsepar ===========================================================* -* -*----------------------------------------------------------------------* -* * -* Xsec Parameters for neutrons and protons: * -* * -* Created on 20 september 1991 by Alfredo Ferrari & Paola Sala * -* Infn - Milan * -* * -* Last change on 20-sep-91 by Alfredo Ferrari * -* * -* Included in the following routines: * -* * -* BERRTP * -* XSINEU * -* XSIPRO * -* PREPRE * -* * -*----------------------------------------------------------------------* -* - COMMON / FKXSEP / AANXSE (100), BBNXSE (100), CCNXSE (100), - & DDNXSE (100), EENXSE (100), ZZNXSE (100), - & EMNXSE (100), XMNXSE (100), - & AAPXSE (100), BBPXSE (100), CCPXSE (100), - & DDPXSE (100), EEPXSE (100), FFPXSE (100), - & ZZPXSE (100), EMPXSE (100), XMPXSE (100) - - -#endif diff --git a/StarVMC/geant3/geocad/gboset.F b/StarVMC/geant3/geocad/gboset.F deleted file mode 100644 index 1f489e67fe2..00000000000 --- a/StarVMC/geant3/geocad/gboset.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: gboset.F,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: gboset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:34 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GBOSET(PAR) -C- Created 12-JUN-1991 Nils Joar Hoimyr, Jouko Vuoskoski -C- Modified 21.02.1992 Jouko Vuoskoski -C- -C- Takes the GEANT shape BOX, converts it to a SET box, with -C- the right position and writes the shape to the current SET file. -C - -C---------------------------------------------------------------------- -C -#include "geant321/gcsetf.inc" - -C - REAL PAR - DIMENSION PAR(100) -C - REAL X,Y,Z,DX,DY,DZ -C -C -C---------------------------------------------------------------------- -C -C BOX -C - DX=PAR(1) - DY=PAR(2) - DZ=PAR(3) - X=2*DX - Y=2*DY - Z=2*DZ -C *WRITE SET @50,N1,:5,2#60,X,Y,Z -C *WRITE SET @302,N2,#317,-DX,-DY,-DZ -C *WRITE SET @100,N3,:5,2,:9,'Name'#101,!N1,!N2 -C -C------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1, X, Y, Z - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10100)N1,-DX,-DY,-DZ - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10200)N1,N1-2,N1-1 - CALL GJWRIT -C -10000 FORMAT('@50,',I10,',:5,2#60,',G14.7,',',G14.7,',',G14.7) -10100 FORMAT('@302,',I10,'#317,',G14.7,',',G14.7,',',G14.7) -10200 FORMAT('@100,',I10,',:5,2#101,!',I10,',!',I10) -C -C -C - END diff --git a/StarVMC/geant3/geocad/gckmat.F b/StarVMC/geant3/geocad/gckmat.F deleted file mode 100644 index f91a25ca73f..00000000000 --- a/StarVMC/geant3/geocad/gckmat.F +++ /dev/null @@ -1,74 +0,0 @@ -* -* $Id: gckmat.F,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: gckmat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:55 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE G3CKMAT (ITMED,NATMED) -* -* -* This routine check the material table coming from a Cadd system. -* It may help to take default/savety actions. -* -* -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -* - CHARACTER*20 NAME,NATMED -* -* *** check tracking media number - JTM = LQ(JTMED - ITMED) - IF (ITMED.GT.NTMED.OR.JTM.LE.0) THEN - WRITE (CHMAIL,10200) ITMED - CALL GMAIL (0,0) - IMATE = 1 - CALL G3STMED (ITMED,NATMED,IMATE, 0, 0, 1., 10., - + 100., 0.2, 0.005, 0.001, 0, 0) - ELSE - CALL UHTOC (IQ(JTM+1),4,NAME,20) - IF (NATMED.NE.NAME) THEN - WRITE (CHMAIL,10300) ITMED - CALL GMAIL (0,0) - ENDIF - ENDIF -* -10000 FORMAT(' *** GCKMAT *** Warning, material number :', I3, - + ' does not exist; force by default IMATE = 1' ) -* -10100 FORMAT(' *** GCKMAT *** Warning, material number :', I3, - + ' maybe not egal to the Geant definition. KEEP the old one') -* -10200 FORMAT(' *** GCKMAT *** Warning, tracking media :', I3, - + ' does not exist; It will be created with default parameters') -* -10300 FORMAT(' *** GCKMAT *** Warning, tracking media :', I3, - + ' maybe not egal to the Geant definition. KEEP the old one') -* - END diff --git a/StarVMC/geant3/geocad/gckpar.F b/StarVMC/geant3/geocad/gckpar.F deleted file mode 100644 index 259cc45e214..00000000000 --- a/StarVMC/geant3/geocad/gckpar.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: gckpar.F,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: gckpar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GCKPAR (ISH,NPAR,PAR) -* -#include "geant321/gconsp.inc" -* - DIMENSION PAR(100) -* - IF (ISH.EQ.4) THEN -* *** trap - NPAR = 11 - PH = 0. - IF (PAR(2).NE.0.) PH = ATAN2(PAR(3),PAR(2))*RADDEG - TT = SQRT(PAR(2)**2+PAR(3)**2) - PAR(2) = ATAN(TT)*RADDEG - IF (PH.LT.0.0) PH = PH + 360.0 - PAR(3) = PH - PAR(7) = ATAN(PAR(7))*RADDEG - IF (PAR(7).GT.90.0) PAR(7) = PAR(7)-180.0 - PAR(11)= ATAN(PAR(11))*RADDEG - IF (PAR(11).GT.90.0) PAR(11) = PAR(11)-180.0 -* - ELSE IF (ISH.EQ.10) THEN -* *** para - PH = 0. - IF (PAR(5).NE.0.) PH = ATAN2(PAR(6),PAR(5))*RADDEG - TT = SQRT(PAR(5)**2+PAR(6)**2) - PAR(4) = ATAN(PAR(4))*RADDEG - IF (PAR(4).GT.90.0) PAR(4) = PAR(4)-180.0 - PAR(5) = ATAN(TT)*RADDEG - IF (PH.LT.0.0) PH = PH + 360.0 - PAR(6) = PH -* - ELSE IF (ISH.EQ.28) THEN -* *** gtra - NPAR = 12 - ENDIF -* - END diff --git a/StarVMC/geant3/geocad/gcoset.F b/StarVMC/geant3/geocad/gcoset.F deleted file mode 100644 index 58f4087082e..00000000000 --- a/StarVMC/geant3/geocad/gcoset.F +++ /dev/null @@ -1,92 +0,0 @@ -* -* $Id: gcoset.F,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: gcoset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GCOSET(PAR,ISHAPE) -C- -C- Created 12-JUN-1991 Nils Joar Hoimyr -C- Modified 21.02.1992 Jouko Vuoskoski -C- -C- Describes a contour face of a CONE(Segment) from the GEANT -C- CONE/CONS shape parameters. This face is rotated around the -C- Z-axis to generated the solid shape in SET. -C----------------------------------------------------------C -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) - REAL P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z -C -C--------------------------------------------------------- - RMIN1=PAR(2) - RMAX1=PAR(3) - RMIN2=PAR(4) - RMAX2=PAR(5) - Z2=PAR(1) - Z1=-Z2 - IF (ISHAPE.EQ.7) THEN - PHIMIN=0.0 - PHIMAX=360.0 - ELSEIF (ISHAPE.EQ.8) THEN - PHIMIN=PAR(6) - PHIMAX=PAR(7) - ENDIF -C SET CONVERSION - P1X= RMIN1 - P1Y= 0 - P1Z= Z1 - P2X= RMIN2 - P2Y= 0 - P2Z= Z2 - P3X= RMAX2 - P3Y= 0 - P3Z= Z2 - P4X= RMAX1 - P4Y= 0 - P4Z= Z1 -C *WRITE SET@103,F1#3,3,2,P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z -C *WRITE SET @100,N..#144,!F1,PHIMIN,PHIMAX. -C---------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1,P1X,P1Y,P1Z,P2X,P2Y,P2Z, P3X,P3Y,P3Z,P4X, - +P4Y,P4Z - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10100)N1,N1-1,PHIMIN,PHIMAX - CALL GJWRIT -C -10000 FORMAT('@103,',I10,',:5,2#3,3,2,',G14.7,',',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7) -10100 FORMAT('@100,',I10,',:5,2#144,!',I10,',',G14.7,',',G14.7) -C -C - END diff --git a/StarVMC/geant3/geocad/gcsetc.F b/StarVMC/geant3/geocad/gcsetc.F deleted file mode 100644 index 25ae912a638..00000000000 --- a/StarVMC/geant3/geocad/gcsetc.F +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: gcsetc.F,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: gcsetc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:57 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : -* -* Definitions of common blocks for GEANT-SET interface -* -* These varables are only related to SET file output -* - SUBROUTINE GCSETC_DUMMY - END diff --git a/StarVMC/geant3/geocad/gctset.F b/StarVMC/geant3/geocad/gctset.F deleted file mode 100644 index 5012936679d..00000000000 --- a/StarVMC/geant3/geocad/gctset.F +++ /dev/null @@ -1,125 +0,0 @@ -* -* $Id: gctset.F,v 1.1.1.2 2009/02/01 17:10:23 fisyak Exp $ -* -* $Log: gctset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:23 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GCTSET(PAR) -C- -C- Created 26-JUL-1991 Nils Joar Hoimyr -C- Modified by J. Vuoskoski 21.02.1992 -C- -C- Describes a contour face of a tube segment from the GEANT -C- CTUB shape parameters. This face is rotated around the -C- Z-axis to generated a solid tube segment in SET. To cut the -C- tube, the cutting planes are calculated from the shape parameters, -C- and then 2 half-spaces are generated and subtracted from the tube -C- in a boolean CUT operation. -C -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) -C - REAL Z,DX,DY,DZ,RMIN,RMAX,PHIMIN,PHIMAX - REAL LXL,LYL,LZL,LXH,LYH,LZH -C -C---------------------------------------------------------- -C - RMIN=PAR(1) - RMAX=PAR(2) - DX=0.0 - DY=0.0 - DZ=PAR(3) - PHIMIN=PAR(4) - PHIMAX=PAR(5) - LXL= PAR(6) - LYL= PAR(7) - LZL= PAR(8) - LXH= PAR(9) - LYH= PAR(10) - LZH= PAR(11) - IF (RMAX .LE. 0.0) THEN - WRITE (*,*) 'IMPOSSIBLE RADIUS VALUE' - N1=N1-1 - GOTO 10 - ENDIF -C -C SET CONVERSION - Z= 2*DZ -C -C Starts with a normal TUBS element -C *WRITE SET @50,N1,:5,2#32,RMAX,Z,PHIMIN,PHIMAX,RMIN -C *WRITE SET @302,N2,:5,2#317,0,0,-DZ -C *WRITE SET @100,N3,:5,2,:9,'MATNAM'#101,!N1,!N2 -C -C------------------------------------------------------------------ -C - WRITE(BLKSTR,10000)N1,RMAX,Z,PHIMIN,PHIMAX,RMIN - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10100)N1,-DX,-DY,-DZ - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10200)N1,N1-2,N1-1 - CALL GJWRIT -C -C Tube cutting: -C -C Create cutting planes, and semi-spaces which are used to -C cut the tube section -C SET blocks @30..#30 plane normals given by LXL, etc -C - N1=N1+1 - WRITE(BLKSTR,10300)N1,LXL,LYL,LZL,-DZ - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10400)N1,N1-1 - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10300)N1,LXH,LYH,LZH,DZ - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10400)N1,N1-1 - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10500)N1,N1-5,N1-1,N1-3 - CALL GJWRIT -C -10000 FORMAT('@50,',I10,',:5,2#32,',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7) -10100 FORMAT('@302,',I10,'#317,',G14.7,',',G14.7,',',G14.7) -10200 FORMAT('@100,',I10,',:5,2#101,!',I10,',!',I10) -10300 FORMAT('@30,',I10,',:5,2#30,',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7) -10400 FORMAT('@100,',I10,',:5,2#139,!',I10,',1,1') -10500 FORMAT('@100,',I10,',:5,2#100,3,!',I10,',!',I10,',!',I10) -C - 10 RETURN - END diff --git a/StarVMC/geant3/geocad/gdexca.F b/StarVMC/geant3/geocad/gdexca.F deleted file mode 100644 index 9329d16d46e..00000000000 --- a/StarVMC/geant3/geocad/gdexca.F +++ /dev/null @@ -1,477 +0,0 @@ -* -* $Id: gdexca.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gdexca.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 13/09/94 18.53.20 by S.Ravndal -*-- Author : - SUBROUTINE GDEXCA(NAME,NBINS) -C. -C. ****************************************************************** -C. * * -C. * Based on GDRAW, calculates parameters of each volume * -C. * Areas marked JV + NH * -C. * * -C. * Called by GTXSET * -C. * * -C. * Authors : R.Brun, A.McPherson, P.Zanarini, ********* * -C. * J.Salt, S.Giani , J. Vuoskoski, N. Hoimyr * -C. ****************************************************************** -C. -C JV -#include "geant321/gcsetf.inc" -C -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gconst.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcdlin.inc" -#include "geant321/gcmutr.inc" -*JS -#include "geant321/gcgobj.inc" -C+SEQ,CGHPAR. -#include "geant321/gchiln.inc" -#include "geant321/gcspee.inc" -*JS -* -* -C this by jv - DIMENSION PARMJV(9), POSJV(3) -C if volume is divided jdvinf(level) is 1 - DIMENSION JDVINF(0:15) - CHARACTER*4 JVVOLU,JVVOLD, NAME,NAMEE2 - CHARACTER*10 VOLNAM - DIMENSION X(3),ATT(10) - DIMENSION LVOLS(15),LINDX(15),LNAMES(15) - DIMENSION GPAR(50,15) -* INTEGER START, OLDOLD, PASS -C - IF(JCADNT.EQ.0) THEN - CALL MZBOOK(IXSTOR,JCADNT,JCADNT,1,'CADI',1,1,0,2,-1) - CALL MZBOOK(IXSTOR,JBUF1, - + JCADNT,-1,'CAD1',0,0,NVOLUM,2,-1) - ENDIF - DO 10 JV=1,NVOLUM - IQ(JBUF1+JV)=0 - 10 CONTINUE - JDVINF(0)=0 - JLEVEL=0 - MYSEEN=1 - JVVOLU='----' -C -C Set IOBJ to VOLUME -C - IOBJ=1 -C -C Save /GCVOLU/ if necessary -C - IFCVOL=0 - IF (NLEVEL.NE.0) THEN - CALL GSCVOL - IFCVOL=1 - ENDIF - IF (NLEVEL.LT.0) NLEVEL=IABS(NLEVEL) -C -C Start of general code -C - CALL GLOOK(NAME,IQ(JVOLUM+1),NVOLUM,IVO) - IF(IVO.LE.0)GO TO 210 -C -C Theta, phi and psi angles are normalized in [0-360[ range -C -* - JVO=LQ(JVOLUM-IVO) -C -C Initialize JIN to switch correctly CALL GFPARA/GFIPAR -C - JIN=0 -C - LEVSEE=1000 -C - IF (IDRNUM.NE.0) GO TO 30 -C -C Initialize for new geometry structure -C - IF (JGPAR.EQ.0) CALL GMEDIN - CALL G3LMOTH(NAME,1,NLEV,LVOLS,LINDX) - DO 20 J=1, NLEV - LNAMES(J)=IQ(JVOLUM+LVOLS(J)) - 20 CONTINUE - NLEV=NLEV+1 - CALL UCTOH(NAME,LNAMES(NLEV),4,4) - LINDX(NLEV)=1 - CALL GLVOLU(NLEV, LNAMES, LINDX, IER) -C - NLVTOP=NLEVEL -C - 30 CONTINUE -C - NLMIN=NLEVEL - NLMAX=NLEVEL -C - IF (IDRNUM.NE.0) GO TO 70 -C - CALL G3FPARA(NAME,1,1,NPAR,NATT,GPAR(1,NLEVEL),ATT) -C - IF (NPAR.LE.0) GO TO 220 -C - DO 60 LLL=1,NLEVEL - DO 50 I=1,3 - GTRAN(I,LLL)=0.0 - X(I)=0.0 - DO 40 J=1,3 - K=(I-1)*3+J - GRMAT(K,LLL)=0.0 - 40 CONTINUE - K=I*4-3 - GRMAT(K,LLL)=1.0 - 50 CONTINUE - GRMAT(10,LLL)=0.0 - 60 CONTINUE -C -C Ready for general case code -C - 70 CONTINUE -*SG -* Taking volume name and shape from Zebra Structure -* - IVOLNA=IQ(JVOLUM+IVO) - ISHAPE=Q(JVO+2) -*SG -C - IF (IDRNUM.NE.0) GO TO 80 -C - IF (NLEVEL.EQ.NLVTOP) GO TO 90 -C - 80 CONTINUE -C - IF (IDRNUM.NE.0.AND.JIN.EQ.0) THEN - CALL UHTOC(NAMES(NLEVEL),4,NAMEE2,4) - CALL G3FPARA(NAMEE2,NUMBER(NLEVEL),1,NPAR, - + NATT,GPAR(1,NLEVEL),ATT) - ELSE - NPAR=Q(JVO+5) - NATT=Q(JVO+6) - JATT=JVO+7+NPAR - CALL UCOPY(Q(JATT),ATT,NATT) - ENDIF -C - 90 CONTINUE -C - WORK=ATT(1) - SEEN=ATT(2) - -* - LINSTY=ATT(3) - LINWID=ATT(4) - LINCOL=ATT(5) - LINFIL=ATT(6) - CALL MVBITS(LINCOL,0,4,LINATT,7) - CALL MVBITS(LINWID,0,3,LINATT,11) - CALL MVBITS(LINSTY,0,3,LINATT,14) - CALL MVBITS(LINFIL,0,3,LINATT,17) -* -***SG -* -* New logic scanning the geometrical tree: -* A volume can set bounds OR be compared with bounds; -* this can happen only IF a relationship mother-daughters exists. -* -* Optimization for Hidden Volume Removal: -* POS and DIV cases are considered at the same time. -* -* IF(START.EQ.1)THEN -* -* IF(NLEVEL.GT.OLDOLD)THEN -* IF(PASS.NE.0)THEN -* S1=0 -* S2=0 -* S3=0 -* SS1=0 -* SS2=0 -* SS3=0 -* SRAGMX=0 -* SRAGMN=0 -* PASS=0 -* IF(SEEN.EQ.0.OR.SEEN.EQ.-1)PASS=1 -* OLDOLD=NLEVEL -* ENDIF -* -* ELSE IF(NLEVEL.LE.OLDOLD)THEN -* S1=0 -* S2=0 -* S3=0 -* SS1=0 -* SS2=0 -* SS3=0 -* SRAGMX=0 -* SRAGMN=0 -* PASS=0 -* IF(SEEN.EQ.0.OR.SEEN.EQ.-1)PASS=1 -* OLDOLD=NLEVEL -* ENDIF -* ENDIF -* -* IF(OLDOLD.EQ.0.AND.(SEEN.EQ.1.OR.SEEN.EQ.-2))THEN -* START=1 -* PASS=0 -* OLDOLD=NLEVEL -* ENDIF -C -C WORK attribute enabled ? -C - IF(WORK.LE.0.)GO TO 200 -C -C SEEN attribute processing -C - IF (SEEN.LT.50.) GO TO 100 - ISEENL=SEEN/10.+0.5 - SEEN=ISEENL-10 - 100 CONTINUE -C - IF(NLEVEL.LE.LEVSEE)LEVSEE=1000 - IF(SEEN.EQ.-1.)GO TO 200 - IF (NLEVEL.GT.LEVSEE) GO TO 200 - IF(SEEN.EQ.0.)GO TO 150 - IF (SEEN.EQ.-2.) LEVSEE=NLEVEL -C -* Standard Mode: Output to SET -* -C-----------------------JV----Mod NH--------------------------- -C Get positioning variables -C - IF(NLEVEL.LT.JLEVEL)THEN - CALL G3SATT(JVVOLU,'SEEN',MYSEEN) - Q(JBUF1+MYIVO)=0 - ENDIF - JVO=LQ(JVOLUM-IVO) - NIN=Q(JVO+3) - IF(NIN.LT.0) THEN - JDVINF(NLEVEL)=1 - ELSE - JDVINF(NLEVEL)=0 - ENDIF -C -C if division - IF (JDVINF(NLEVEL-1).EQ.1) THEN -C - IF (IQ(JBUF1+IVO).LT.NBINS) THEN - DO 110 JV=1, 9 - PARMJV(JV)=GRMAT(JV,NLEVEL) - 110 CONTINUE -C - DO 120 JV=1, 3 - POSJV(JV)=GTRAN(JV,NLEVEL) - 120 CONTINUE -C -C Appends new name VOLNAM to each volume, with index. -C - IQ(JBUF1+IVO)=IQ(JBUF1+IVO)+1 - WRITE(VOLNAM(1:5),10200)IVOLNA - WRITE(VOLNAM(6:10),'(I4.0)')IQ(JBUF1+IVO) -C -C Call SHAPE to SET routines -C -C Updates SET block sequence number: - N1=N1+1 - CALL GETSHP(ISHAPE,GPAR(1,NLEVEL)) -C -C Position the volumes -C - N1=N1+1 - CALL GPOSI(PARMJV,POSJV,VOLNAM,LINCOL) -C - ELSE - JVVOLD=JVVOLU - CALL UHTOC(IVOLNA,4,JVVOLU,4) - IF(JVVOLD.NE.JVVOLU)MYSEEN=ATT(2) - CALL G3SATT(JVVOLU,'SEEN',-1) - JLEVEL=NLEVEL - MYIVO=IVO - GOTO 200 - ENDIF -C -C normal volumes - ELSE - DO 130 JV=1, 9 - PARMJV(JV)=GRMAT(JV,NLEVEL) - 130 CONTINUE -C - DO 140 JV=1, 3 - POSJV(JV)=GTRAN(JV,NLEVEL) - 140 CONTINUE -C -C Appends new name VOLNAM to each volume, with index. -C - IQ(JBUF1+IVO)=IQ(JBUF1+IVO)+1 - WRITE(VOLNAM(1:5),10200)IVOLNA - WRITE(VOLNAM(6:10),'(I4.0)')IQ(JBUF1+IVO) -C -C Call SHAPE to SET routines -C -C Updates SET block sequence number: - N1=N1+1 - CALL GETSHP(ISHAPE,GPAR(1,NLEVEL)) -C -C Position the volumes -C - N1=N1+1 - CALL GPOSI(PARMJV,POSJV,VOLNAM,LINCOL) - ENDIF -C------------------------------------------------------------------------ -C Output of material list -C - IF (IQ(JBUF1+IVO).EQ.1) THEN - NTRMED=Q(JVO+4) - CALL GPTSET (IVOLNA, NTRMED) - ENDIF -C------------------------------END JV------------------------------------ -C -*JS -* -* Logic has been modified >>>>> -* -* -*JS - IF(SEEN.EQ.-2.)GO TO 200 -C - 150 CONTINUE -C -*** IF (IDRNUM.NE.0) GO TO 999 -C -C Skip User shapes (not yet implemented) -C -** ISEARC=Q(JVO+1) -C -C Now go down the tree -C - NIN=Q(JVO+3) - IF(NIN.EQ.0) GO TO 200 - IF(NIN.LT.0) GO TO 170 -C -C Contents placed by GSPOS -C - IN=0 - IF(NLMAX.GT.NLEVEL) IN=LINDEX(NLEVEL+1) - IN=IN+1 - IF(IN.GT.NIN.AND.NLEVEL.EQ.NLMIN) GO TO 230 -* - IF(IN.GT.NIN) GO TO 190 -* - CALL GMEPOS(JVO,IN,X,0) -* - NPAR=IQ(JGPAR+NLEVEL) - DO 160 I=1,NPAR - GPAR(I,NLEVEL)=Q(LQ(JGPAR-NLEVEL)+I) - 160 CONTINUE -* - IVO=LVOLUM(NLEVEL) - JVO=LQ(JVOLUM-IVO) - NLMAX=NLEVEL - GO TO 70 -C - 170 CONTINUE -C -C Contents by division -C - IN=0 - IF(NLMAX.GT.NLEVEL) IN=LINDEX(NLEVEL+1) - IN=IN+1 - CALL GMEDIV(JVO,IN,X,0) -* - IF (IN.EQ.0) GO TO 190 -* - NPAR=IQ(JGPAR+NLEVEL) - DO 180 I=1,NPAR - GPAR(I,NLEVEL)=Q(LQ(JGPAR-NLEVEL)+I) - 180 CONTINUE -* - IF (IN.EQ.0) GO TO 190 -* - IVO=LVOLUM(NLEVEL) - JVO=LQ(JVOLUM-IVO) - NLMAX=NLEVEL - GO TO 70 -C - 190 CONTINUE - NLMAX=NLEVEL - 200 CONTINUE - NLEVEL=NLEVEL-1 - IF(NLEVEL.LT.NLMIN) GO TO 230 - IVO=LVOLUM(NLEVEL) - JVO=LQ(JVOLUM-IVO) - GO TO 150 -C - 210 WRITE(CHMAIL,10000)NAME - CALL GMAIL(0,0) - GO TO 230 -C - 220 CONTINUE -C -C TOP OF THE TREE HAS PARAMETERS SET BY GSPOSP. -C BUT GDRAW DOES NOT HAVE ACCESS TO THE IN BANK -C WHICH PLACED IT IN ITS MOTHER. -C - WRITE(CHMAIL,10100) NAME - CALL GMAIL(0,0) -C - 230 CONTINUE -* -***SG -* -*JS - IF(KCGST.EQ.-9)THEN - KSHIFT=0 - IF(JCG.NE.0)CALL MZDROP(IXSTOR,JCG,' ') - IF(JCGOBJ.NE.0)CALL MZDROP(IXSTOR,JCGOBJ,' ') - CALL GDCGRS - IF(JCGCOL.NE.0)CALL MZDROP(IXSTOR,JCGCOL,' ') - LARECG(1)=0 - CALL MZGARB(IXSTOR+1,0) - NCLAS2=0 - NCLAS3=0 - ENDIF - ICUT=0 - IF (IFCVOL.EQ.1) THEN - CALL GFCVOL - ELSE - NLEVEL=0 - ENDIF -C -C Restore permanent value of color and return -C - CALL GDCOL(0) - IOBJ=0 -C -10000 FORMAT(' *** GDEXCA *** : Volume ',A4,' does not exist') -10100 FORMAT(' *** GDEXCA *** : Top of tree ',A4,' parameters defined', - + ' by GSPOSP - info not available to GDEXCA.') -10200 FORMAT(A4,'_') - END diff --git a/StarVMC/geant3/geocad/gelset.F b/StarVMC/geant3/geocad/gelset.F deleted file mode 100644 index 1bd343b7316..00000000000 --- a/StarVMC/geant3/geocad/gelset.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: gelset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gelset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GELSET(PAR) -C- -C- Created 26-JUL-1991 Nils Joar Hoimyr -C- Modified 21.02.1992 Jouko Vuoskoski -C- -C- Writes out the elliptical section of a tube in SET, and generates -C- an extruded solid from the elliptical section (face). -C- -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) - REAL DX1,DY,Z,DZ,A,B -C -C------------------------------------------------------ -C Converts GEANT shape ELTU into SET format -C - A=PAR(1) - B=PAR(2) - DZ=PAR(3) -C SET conversion - Z= 2*DZ - DX1=0.0 - DY=0.0 -C *WRITE SET @103,N1..#11,A,B,0.0,360.0,0,0,0,0 -C *WRITE SET @100,N2,:5,2#143,!N!,0.0,0.0,1.0 -C *WRITE SET @302,N3,:5,2#317,0,0,-DZ -C *WRITE SET @100,N4,:5,2,:9,'MATNAM'#101,!N1,!N2 -C -C------------------------------------------------ -C - WRITE(BLKSTR,10000)N1,A,B - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10100)N1,N1-1,Z - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10200)N1,-DX1,-DY,-DZ - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10300)N1,N1-2,N1-1 - CALL GJWRIT -10000 FORMAT('@103,',I10,',:5,2#11,:14,1,',G14.7,',',G14.7,', - + 0.0,360.0,0.0,0.0,0.0,0.0') -10100 FORMAT('@100,',I10,',:5,2#143,!',I10,',0.,0.,',G14.7) -10200 FORMAT('@302,',I10,'#317,',G14.7,',',G14.7,',',G14.7) -10300 FORMAT('@100,',I10,',:5,2#101,!',I10,',!',I10) -C - 10 RETURN - END diff --git a/StarVMC/geant3/geocad/genset.F b/StarVMC/geant3/geocad/genset.F deleted file mode 100644 index 27ba4c43de6..00000000000 --- a/StarVMC/geant3/geocad/genset.F +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: genset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: genset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GENSET -* -* This subroutine closes a SET file, and writes out the -* end-data assembly and end-SET file blocks. -* Author : Nils Hoimyr -* -#include "geant321/gcsetf.inc" - -* - WRITE (BLKSTR,10000) N1+1,N1+3 - CALL GJWRIT -* *** the last line - WRITE (NUNIT1,'(A80)') JVSTR -* - CLOSE (UNIT = NUNIT2) - CLOSE (UNIT = NUNIT1) -* -10000 FORMAT('@9998,',I10,'@9999,',I10) -* - END diff --git a/StarVMC/geant3/geocad/getshp.F b/StarVMC/geant3/geocad/getshp.F deleted file mode 100644 index 966121e9eb1..00000000000 --- a/StarVMC/geant3/geocad/getshp.F +++ /dev/null @@ -1,166 +0,0 @@ -* -* $Id: getshp.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: getshp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GETSHP(ISHAPE,PAR) -C. -C. ****************************************************************** -C. * * -C. * Converts GEANT SHAPES to SET. Calls Subroutines for * -C. * shape definition in SET are called -C. * * -C. * * -C. * * -C. * SHAPE SHAPE SHAPE * -C. * NUMBER TYPE PARAMETERS * -C. * -------------------------------------------------------------- * -C. * * -C. * 1 BOX DX,DY,DZ * -C. * 2 TRD1 DX1,DX2,DY,DZ * -C. * 3 TRD2 DX1,DX2,DY1,DY2,DZ * -C. * 4 TRAP DZ,TX,TY,H1,BL1,TL1,TTH1,H2,BL2,TL2,TTH2 * -C. * * -C. * 5 TUBE RMIN,RMAX,DZ * -C. * 6 TUBS RMIN,RMAX,DZ,PHIMIN,PHIMAX * -C. * 7 CONE DZ,RMIN1,RMAX1,RMIN2,RMAX2 * -C. * 8 CONS DZ,RMIN1,RMAX1,RMIN2,RMAX2,PHIMIN,PHIMAX * -C. * * -C. * 9 SPHE RMIN,RMAX,THEMIN,THEMAX,PHIMIN,PHIMAX * -C. * * -C. * 10 PARA DX,DY,DZ,TXY,TXZ,TYZ * -C. * 11 PGON PHIMIN,DPHI,NDIV,NZ,Z(1),RMIN(1),RMAX(1),...* -C. * 12 PCON PHIMIN,DPHI,NZ,Z(1),RMIN(1),RMAX(1),Z(2),...* -C. * 13 ELTU A,B,DZ * -C. * 14 HYPE RMIN,RMAX,DZ,PHI -C. * NSGTRA GTRA DZ,TH,PHI,TWIST,Y1,XL1,XH1,TH1,Y2,XL2,XH2,..* -C. * NSCTUB CTUB RMIN,RMAX,DZ,PHIMIN,PHIMAX,LXL,LYL,LZL,LXH,.* -C. * * -C. * ==>Called by : GDEXCA -C. * * -C. * Authors : NJ Hoimyr, J Vuoskoski ********* * -C. ****************************************************************** -C. ------------------------------------------------------- -#include "geant321/gcsetf.inc" - - - DIMENSION PAR(100) -C -C---------------------------------------------------------- -C IF SHAPE THEN LOOP FOR SET OUTPUT -C - IF (ISHAPE.EQ.1) THEN -C -C BOX - CALL GBOSET(PAR) -C - ELSEIF (ISHAPE.EQ.2) THEN -C -C TRD1 - CALL GTRDSE(PAR,ISHAPE) -C - ELSEIF (ISHAPE.EQ.3) THEN -C -C TRD2 - CALL GTRDSE(PAR,ISHAPE) -C - ELSEIF (ISHAPE.EQ.4) THEN -C TRAP - CALL GTRASE(PAR) -C - ELSEIF (ISHAPE.EQ.5) THEN -C -C TUBE - CALL GTUSET(PAR,ISHAPE) -C - ELSEIF (ISHAPE.EQ.6) THEN -C -C TUBS - CALL GTUSET(PAR,ISHAPE) -C - ELSEIF (ISHAPE.EQ.7) THEN -C -C CONE - CALL GCOSET(PAR,ISHAPE) -C - ELSEIF (ISHAPE.EQ.8) THEN -C -C CONS - CALL GCOSET(PAR,ISHAPE) -C - ELSEIF (ISHAPE.EQ.9) THEN -C -C SPHE - CALL GSPSET(PAR) -C - ELSEIF (ISHAPE.EQ.10) THEN -C -C PARA - CALL GPASET(PAR) -C - ELSEIF (ISHAPE.EQ.11) THEN -C -C PGON - CALL GPGSET(PAR) -C - ELSEIF (ISHAPE.EQ.12) THEN -C -C PCON - CALL GPCSET(PAR) -C - ELSEIF (ISHAPE.EQ.13) THEN -C -C ELTU - CALL GELSET(PAR) -C -C ELSEIF (ISHAPE.EQ.14) THEN -C not ready yet -C -C HYPE -C CALL HYPSET(PAR) -C - - ELSEIF (ISHAPE.EQ.28) THEN -C -C GTRA - CALL GTRSET(PAR) -C - ELSEIF (ISHAPE.EQ.29) THEN -C -C CTUB - CALL GCTSET(PAR) - ELSE -C -C New shapes could be included -C - END IF -C - RETURN - END diff --git a/StarVMC/geant3/geocad/gjwrit.F b/StarVMC/geant3/geocad/gjwrit.F deleted file mode 100644 index 11155c6f6e5..00000000000 --- a/StarVMC/geant3/geocad/gjwrit.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: gjwrit.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gjwrit.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GJWRIT -C -C Writes 80 characters in a line and skips spaces -C -C CALLED BY ALL SHAPE ROUTINES in CADINT -C -C BLKSTR = The character string to be written -C NPLACE = The place of the current character in the line -C -C--------------------------------------------------------------------- -C -#include "geant321/gcsetf.inc" - -C -C--------------------------------------------------------------------- -C -C - J=NPLACE -C - LBLK=LEN(BLKSTR) - DO 10 I=1, LBLK - IF (BLKSTR(I:I) .NE. ' ') THEN - WRITE(JVSTR(J:J),'(A1)')BLKSTR(I:I) - IF (J .EQ. 80) THEN - WRITE(NUNIT1,'(A80)')JVSTR - JVSTR=' ' - J=0 - END IF - J=J+1 - END IF - 10 CONTINUE -C - NPLACE=J -C - BLKSTR=' ' -C - END diff --git a/StarVMC/geant3/geocad/gpaset.F b/StarVMC/geant3/geocad/gpaset.F deleted file mode 100644 index 668bbd57a1b..00000000000 --- a/StarVMC/geant3/geocad/gpaset.F +++ /dev/null @@ -1,122 +0,0 @@ -* -* $Id: gpaset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gpaset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GPASET(PAR) -C- -C- Created 12-JUN-1991 Nils Joar Hoimyr -C- Modified 21.02.1992 Jouko Vuoskoski -C- -C- Calculates the coordinates of the corner points of a GEANT PARA shape -C- from the shape parameters. The end faces are generated by drawing -C- connected polylines between the corner points at each Z-end of the shape. -C- A ruled solid is then defined between the 2 faces, and written out in SET. -C--------------------------------------------------------- -C -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) - REAL P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z - REAL P5X,P5Y,P5Z,P6X,P6Y,P6Z,P7X,P7Y,P7Z,P8X,P8Y,P8Z - -C -C---------------------------------------------------------------------- -C - DX=PAR(1) - DY=PAR(2) - DZ=PAR(3) - TXY=PAR(4) - TXZ=PAR(5) - TYZ=PAR(6) -C Calculation of corner points (verify PHI/THETA coordinates, -C I.e. TXZ AND TYZ should possibly change place) -C -C FACE 1: - P1X= -DX*COS(TYZ)-DY*SIN(TXY) - P1Y= -DY*COS(TXY) - P1Z= -DZ*COS(TXZ)-DY*SIN(TXY) -C - P2X= DX*COS(TYZ)-DY*SIN(TXY) - P2Y= -DY*COS(TXY) - P2Z= -DZ*COS(TXZ)-DY*SIN(TXY) -C - P3X= DX*COS(TYZ)-DY*SIN(TXY) - P3Y= DY*COS(TXY) - P3Z= -DZ*COS(TXZ)+DY*SIN(TXY) -C - P4X= DX*COS(TYZ)-DY*SIN(TXY) - P4Y= DY*COS(TXY) - P4Z= -DZ*COS(TXZ)+DY*SIN(TXY) -C -C FACE 2: -C - P5X= -DX*COS(TYZ)+DY*SIN(TXY) - P5Y= -DY*COS(TXY) - P5Z= DZ*COS(TXZ)-DY*SIN(TXY) -C - P6X= DX*COS(TYZ)+DY*SIN(TXY) - P6Y= -DY*COS(TXY) - P6Z= DZ*COS(TXZ)-DY*SIN(TXY) -C - P7X= DX*COS(TYZ)+DY*SIN(TXY) - P7Y= DY*COS(TXY) - P7Z= DZ*COS(TXZ)+DY*SIN(TXY) -C - P8X= -DX*COS(TYZ)+DY*SIN(TXY) - P8Y= DY*COS(TXY) - P8Z= DZ*COS(TXZ)+DY*SIN(TXY) -C -C DESCRIBED BY 2 FACES represented by polylines -C connected by the corners of the shape. -C *WRITE SET@103,F1#3,3,2,P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z -C *WRITE SET@103,F2#3,3,2,P5X,P5Y,P5Z,P6X,P6Y,P6Z,P7X,P7Y,P7Z,P8X,P8Y,P8Z -C *WRITE SET @100,N#145,!F1,!F2 -C -C---------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1,P1X,P1Y,P1Z,P2X,P2Y,P2Z, P3X,P3Y,P3Z,P4X, - +P4Y,P4Z - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10000)N1,P5X,P5Y,P5Z,P6X,P6Y,P6Z, P7X,P7Y,P7Z,P8X, - +P8Y,P8Z - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10100)N1,N1-2,N1-1 - CALL GJWRIT -C -10000 FORMAT('@103,',I10,',:5,2#3,3,2,',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7) -10100 FORMAT('@100,',I10,',:5,2#145,!',I10,',!',I10) -C - END diff --git a/StarVMC/geant3/geocad/gpcset.F b/StarVMC/geant3/geocad/gpcset.F deleted file mode 100644 index b95fa9125be..00000000000 --- a/StarVMC/geant3/geocad/gpcset.F +++ /dev/null @@ -1,110 +0,0 @@ -* -* $Id: gpcset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gpcset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GPCSET(PAR) -C- -C- Created 26-JUN-1991 Nils Joar Hoimyr -C- Modified 21.02.1992 Jouko Vuoskoski -C- Modified 02.04.92 NJH -C- -C--------------------------------------------------------- -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) - REAL PHIMIN,PHIMAX,PX,PY,PZ,RMIN,RMAX -C- -C- Describes a contour face of a PCON shape calculated from the GEANT -C- PCON shape parameters. This face is rotated around the -C- Z-axis to generated the solid shape in SET. -C--------------------------------------------------------- -C - PHIMIN=(PAR(1)-90.0) - PHIMAX=(PHIMIN+PAR(2)) - NZ=PAR(3) -C Solid of revolution described by rotation of a face -C Face defined in the yz-plane (x=0) -C WRITE SET@103,F1#3,3,2,P1X,P1Y,P1Z,P2X......... -C--------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1 - CALL GJWRIT -C--------------------------------------------------------- - N2= 1 - PX= 0.0 -C - PY= PAR(5) - PZ= PAR(4) -C--------------------------------------------------------- -C - WRITE(BLKSTR,10100)PX,PY,PZ - CALL GJWRIT -C--------------------------------------------------------- -C - DO 10 K=1,NZ - N2=N2+3 - PY= PAR(N2+2) - PZ= PAR(N2) - RMIN= PAR(N2+1) - RMAX=PAR(N2+2) - IF (RMIN .GE. RMAX) GOTO 10 -C -C--------------------------------------------------------- -C - WRITE(BLKSTR,10100)PX,PY,PZ - CALL GJWRIT -C--------------------------------------------------------- -C - 10 CONTINUE -C - DO 20 L=2,NZ - PY= PAR(N2+1) - PZ= PAR(N2) -C -C--------------------------------------------------------- -C - WRITE(BLKSTR,10100)PX,PY,PZ - CALL GJWRIT -C--------------------------------------------------------- - N2=N2-3 - 20 CONTINUE -C WRITE SET @100,N..#144,!F1,PHIMIN,PHIMAX. -C - N1=N1+1 - WRITE(BLKSTR,10200)N1,N1-1,PHIMIN,PHIMAX - CALL GJWRIT -C -10000 FORMAT('@103,',I10,',:5,2#3,3,2') -10100 FORMAT(',',G14.7,',',G14.7,',',G14.7) -10200 FORMAT('@100,',I10,',:5,2#144,!',I10,',',G14.7,',',G14.7) -C - END diff --git a/StarVMC/geant3/geocad/gpgset.F b/StarVMC/geant3/geocad/gpgset.F deleted file mode 100644 index 8b144f33e39..00000000000 --- a/StarVMC/geant3/geocad/gpgset.F +++ /dev/null @@ -1,217 +0,0 @@ -* -* $Id: gpgset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gpgset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GPGSET(PAR) -C- -C- Created 26-JUN-1991 Nils Joar Hoimyr -C- Modified 21.02.1992 Jouko Vuoskoski -C- -C--------------------------------------------------------- -C- Calculates the sectional face of 1 cell of the PGON shape. This face is -C- copied and rotated around the Z-axis to make "the other side" of the first -C- cell. A ruled solid is generated between the 2 faces, to created the cell. -C- The rest of the cells are created by copying and rotation of the first cell. -C- The final result is obtained with a Boolean fusion of the cells. (The whole -C- creation history is written to the SET file.) -C---------------------------------------------------------- -C -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) - REAL PX,PY,PZ,PHIC,PHI1,RMIN,RMAX - REAL R1,R2,R3,R4,R5,R6,R7,R8,R9 -C -C---------------------------------------------------------------------- -C -C Calculates range of each cell -C - PHI1= (PAR(1)+180)/180*3.14159265359 - NZ= PAR(4) - NPDV= PAR(3) - PHIC= (PAR(2)/PAR(3))/180*3.14159265359 -C Rotation around the Z-axis. Coeffisients of rotation: - R1= COS(PHI1) - R2= -SIN(PHI1) - R3= 0.0 - R4= SIN(PHI1) - R5= COS(PHI1) - R6= 0.0 - R7= 0.0 - R8= 0.0 - R9= 1.0 -C Face defined in the yz-plane (x=0) -C---------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1 - CALL GJWRIT -C--------------------------------------------------------- -C 1. Definition point for the face: -C - N3= 2 - PX= 0.0 -C - PY= PAR(6) - PZ= PAR(5) -C--------------------------------------------------------- -C - WRITE(BLKSTR,10100)PX,PY,PZ - CALL GJWRIT -C--------------------------------------------------------- -C Loops over the other definition points: -C - DO 10 K=1,NZ - N3=N3+3 - PY= PAR(N3+2) - PZ= PAR(N3) - RMIN= PAR(N3+1) - RMAX= PAR(N3+2) - IF (RMIN .GE. RMAX) GOTO 10 -C -C -C--------------------------------------------------------- - WRITE(BLKSTR,10100)PX,PY,PZ - CALL GJWRIT -C--------------------------------------------------------- -C - 10 CONTINUE -C - DO 20 L=2,NZ - PY= PAR(N3+1) - PZ= PAR(N3) -C -C--------------------------------------------------------- - WRITE(BLKSTR,10100)PX,PY,PZ - CALL GJWRIT -C---------------------------------------------------------- - N3=N3-3 - 20 CONTINUE -C -C Geometric Transformation -C* WRITE SET @302,N1..#301,R1,R2,R3,R4,R5,R6,R7,R8,R9 -C - N1=N1+1 - NG= N1 - WRITE(BLKSTR,10200)N1,R1,R2,R3,R4,R5,R6,R7,R8,R9 - CALL GJWRIT -C------------------------------------------------- -C---First FACE: -C* WRITE SET @113,F2..#101,!F1,N1 -C------------------------------------------------ -C - N1=N1+1 - WRITE(BLKSTR,10300)N1,N1-2,N1-1 - CALL GJWRIT -C--------------------------------------------------------- -C Next step is to obtain the right position of the second face to -C create a cell: -C Rotation around the Z-axis. Coeffisients of rotation: - R1= COS(PHIC) - R2= -SIN(PHIC) - R3= 0.0 - R4= SIN(PHIC) - R5= COS(PHIC) - R6= 0.0 - R7= 0.0 - R8= 0.0 - R9= 1.0 -C -C Geometric Transformation -C* WRITE SET @302,N1..#301,R1,R2,R3,R4,R5,R6,R7,R8,R9 -C -C------------------------------------------------------------ - N1=N1+1 - NG= N1 - WRITE(BLKSTR,10200)N1,R1,R2,R3,R4,R5,R6,R7,R8,R9 - CALL GJWRIT -C-------------------------------------------------------------- -C Second Face: -C -C The first cell of the PGON is defined as a ruled solid between two -C faces. The second face is defined as a copy of the first face that is -C rotated PHIC degrees around the Z-axis. -C -C* WRITE SET @113,F2..#101,!F1,N1 -C------------------------------------------------ -C - N1=N1+1 - WRITE(BLKSTR,10300)N1,N1-2,N1-1 - CALL GJWRIT -C -C------------------------------------------------- -C* WRITE SET @100,N2..#145,!F1,!F2 -C------------------------------------------------ -C - N1=N1+1 - WRITE(BLKSTR,10400)N1,N1-3,N1-1 - CALL GJWRIT -C -C-------------------------------------------------------------- -C The rest of the cells are defined as rotated copies of the first cell: - N2=N1 - DO 30 K=2, NPDV -C* WRITE SET @100,N3..#101,!N1-1,!NG -C -C------------------------------------------------ -C - N1=N1+1 - WRITE(BLKSTR,10500)N1,N1-1,NG - CALL GJWRIT -C - 30 CONTINUE -C------------------------------------------------------------ -C The final shape is a Boolean union of the cells -C* WRITE SET @100,N4..#100,2,!N1-NPDV....!N1-1 -C------------------------------------------------ -C - N1=N1+1 - WRITE(BLKSTR,10700)N1 - CALL GJWRIT -C------------------------------------------------ - DO 40 K=N2, N1-1 -C - WRITE(BLKSTR,10600)K - CALL GJWRIT -C - 40 CONTINUE -C -10000 FORMAT('@103,',I10,',:5,2#3,3,2') -10100 FORMAT(',',G14.7,',',G14.7,',',G14.7) -10200 FORMAT('@302,',I10,',:5,2#301,',G14.7,',',G14.7,',',G14.7 - + ,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7) -10300 FORMAT('@113,',I10,',:5,2#101,!',I10,',!',I10) -10400 FORMAT('@100,',I10,',:5,2#145,!',I10,',!',I10) -10500 FORMAT('@100,',I10,',:5,2#101,!',I10,',!',I10) -10600 FORMAT(',!',I10) -10700 FORMAT('@100,',I10,',:5,2#100,2') -C - END diff --git a/StarVMC/geant3/geocad/gposi.F b/StarVMC/geant3/geocad/gposi.F deleted file mode 100644 index e84c6257bca..00000000000 --- a/StarVMC/geant3/geocad/gposi.F +++ /dev/null @@ -1,83 +0,0 @@ -* -* $Id: gposi.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gposi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GPOSI(PARMAT,POSIT,VOLNAM,COLO) -C- Created 12-JUN-1991 Nils Joar Hoimyr, Jouko Vuoskoski -C -C Modyfied 10.11.92 Nils Hoimyr. Added colour output to CAD. -C---------------------------------------------------------------------- -C -#include "geant321/gcsetf.inc" - -C -C - DIMENSION PARMAT(9) - DIMENSION POSIT(3) - CHARACTER*10 VOLNAM - INTEGER COLOUR,COL,COLO -C -C -C Map GEANT colour to SET colour: (Use SET standard colour table) -C Approx LightBlue with blue -C - IF (ABS(COLO).GE.10) THEN - COL= ABS(COLO/10) - ELSE - COL= ABS(COLO) - ENDIF - IF (COL.EQ.1) COLOUR=8 - IF (COL.EQ.2) COLOUR=7 - IF (COL.EQ.3) COLOUR=4 - IF (COL.EQ.4) COLOUR=3 - IF (COL.EQ.5) COLOUR=5 - IF (COL.EQ.6) COLOUR=2 - IF (COL.EQ.7) COLOUR=3 -C---------------------------------------------------------------------- -C Positioning of the volume in SET: -C -C *WRITE SET @302,N1,#301,1,0,0,0,1,0,0,0,1,XPOSIT,YPOSIT,XPOSIT -C *WRITE SET @100,N2,:57,'Colour',:9,'Name'#101,!N1(of the shape),!N1 -C -C------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1,(PARMAT(JV),JV=1,9),(POSIT(JV),JV=1,3) - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10100)N1,COLOUR,VOLNAM,N1-2,N1-1 - CALL GJWRIT -C -10000 FORMAT('@302,',I10,'#301,',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7) -C10010 FORMAT('@302,',I10,'#317,',G14.7,',',G14.7,',',G14.7) -10100 FORMAT('@100,',I10,',:57,',I10,',:9,''' - + ,A,'''#101,!',I10,',!',I10) -C10020 FORMAT('@100,',I10,',:5,2#101,!',I10,',!',I10) -C - END diff --git a/StarVMC/geant3/geocad/gptset.F b/StarVMC/geant3/geocad/gptset.F deleted file mode 100644 index 0ccf3856f9f..00000000000 --- a/StarVMC/geant3/geocad/gptset.F +++ /dev/null @@ -1,62 +0,0 @@ -* -* $Id: gptset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gptset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:46 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GPTSET (IVOLNA, NUMB) -C. -C. ****************************************************************** -C. * * -C. * Routine to print tracking media data structure JTMED * -C. * NUMB medium number * -C. * * -C. * ==>Called by : GDEXCA PRINTS the media of the volumes * -C. * exported to SET in the material file .mat. * -C. * Author: Nils Hoimyr * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcsetf.inc" -* - CHARACTER CHVOLN*4, CHNATM*20, CHNAMA*20 -* - IF (JTMED.LE.0) RETURN - JTM = LQ(JTMED-NUMB) - IF (JTM.NE.0) THEN - CALL UHTOC(IVOLNA,4,CHVOLN,4) - CALL UHTOC(IQ(JTM+1),4,CHNATM,20) - IMAT = Q(JTM+6) - JMA = LQ(JMATE-IMAT) - CALL UHTOC(IQ(JMA+1),4,CHNAMA,20) - DENS = Q(JMA+8) - WRITE (NUNIT2,10000) CHVOLN,NUMB,CHNATM,IMAT,CHNAMA,DENS - ENDIF -* -10000 FORMAT(1X,A4,6X,I6,1X,A20,I4,1X,A20,E15.8) - END - diff --git a/StarVMC/geant3/geocad/greucl.F b/StarVMC/geant3/geocad/greucl.F deleted file mode 100644 index c8c85175f04..00000000000 --- a/StarVMC/geant3/geocad/greucl.F +++ /dev/null @@ -1,134 +0,0 @@ -* -* $Id: greucl.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: greucl.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GREUCL (LUN,FILNAM) -* -* -* ****************************************************************** -* * * -* * Read in the geometry of the detector in EUCLID file format * -* * * -* * * -* * Author : M. Maire * -* * * -* ****************************************************************** -* - CHARACTER*(*) FILNAM - CHARACTER*80 FILEXT - CHARACTER KEY*4, CARD*76 - CHARACTER*20 NATMED, NAMATE - CHARACTER*4 NAME, MOTHER, SHAPE, KONLY - REAL PAR(100) -* -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -* - IT2=LNBLNK(FILNAM) -#if !defined(CERNLIB_IBM) - FILEXT=FILNAM -#endif -#if defined(CERNLIB_IBM) - IT1=INDEX(FILNAM,'.') - IF (IT1.GT.0) THEN - FILEXT='/'//FILNAM(1:IT1-1)//' '//FILNAM(IT1+1:IT2)//' A1' - CALL CLTOU(FILEXT) - ELSE - WRITE (CHMAIL,10000) FILNAM - CALL GMAIL (0,0) - RETURN - ENDIF -#endif -* - OPEN (UNIT=LUN,FILE=FILEXT,STATUS='UNKNOWN',FORM='FORMATTED') -* - 10 READ (LUN,'(A4,A76)',END=20,ERR=20) KEY,CARD -* - IF (KEY.EQ.'TMED') THEN - READ (CARD,*) ITMED, NATMED - CALL G3CKMAT (ITMED, NATMED) -* - ELSE IF (KEY.EQ.'ROTM') THEN - READ (CARD,*) IROT, TETA1, PHI1, TETA2, PHI2, TETA3, PHI3 - CALL G3SROTM ( IROT, TETA1, PHI1, TETA2, PHI2, TETA3, PHI3 ) -* - ELSE IF (KEY.EQ.'VOLU') THEN - READ (CARD,*) NAME, SHAPE, NUMED, NPAR - IF (NPAR.GT.0) READ (LUN, *) (PAR(I),I=1,NPAR) - CALL G3SVOLU ( NAME, SHAPE, NUMED, PAR, NPAR, IVOLU) -* - ELSE IF (KEY.EQ.'DIVN') THEN - READ (CARD,*) NAME, MOTHER, NDIV, IAXE - CALL G3SDVN ( NAME, MOTHER, NDIV, IAXE ) -* - ELSE IF (KEY.EQ.'DVN2') THEN - READ (CARD,*) NAME, MOTHER, NDIV, IAXE, ORIG, NUMED - CALL G3SDVN2 ( NAME, MOTHER, NDIV, IAXE, ORIG, NUMED ) -* - ELSE IF (KEY.EQ.'DIVT') THEN - READ (CARD,*) NAME, MOTHER, STEP, IAXE, NUMED, NDVMX - CALL G3SDVT ( NAME, MOTHER, STEP, IAXE, NUMED, NDVMX ) -* - ELSE IF (KEY.EQ.'DVT2') THEN - READ (CARD,*) NAME, MOTHER, STEP, IAXE, ORIG, NUMED, NDVMX - CALL G3SDVT2 ( NAME, MOTHER, STEP, IAXE, ORIG, NUMED, NDVMX ) -* - ELSE IF (KEY.EQ.'POSI') THEN - READ (CARD,*) NAME, NR, MOTHER, XO, YO, ZO, IROT, KONLY - CALL G3SPOS ( NAME, NR, MOTHER, XO, YO, ZO, IROT, KONLY ) -* - ELSE IF (KEY.EQ.'POSP') THEN - READ (CARD,*) NAME, NR, MOTHER, XO, YO, ZO, IROT, KONLY, NPAR - IF (NPAR.GT.0) READ (LUN, *) (PAR(I),I=1,NPAR) - CALL G3SPOSP ( NAME, NR, MOTHER, XO,YO,ZO,IROT,KONLY,PAR,NPAR) - ENDIF -* - IF (KEY.NE.'END') GO TO 10 - CLOSE (LUN) -* - WRITE (CHMAIL,10100) FILNAM(1:IT2) - CALL GMAIL (1,1) -* - GOTO 999 -* - 20 CONTINUE - WRITE (CHMAIL,10200) - CALL GMAIL (1,1) - CLOSE (LUN) -* -10000 FORMAT (' *** GREUCL *** ',A,' is not a valib IBM name') -10100 FORMAT (' *** GREUCL *** file: ',A,' is now read in') -10200 FORMAT (' *** GREUCL *** reading error or premature end of file') -* - 999 END diff --git a/StarVMC/geant3/geocad/gspset.F b/StarVMC/geant3/geocad/gspset.F deleted file mode 100644 index f9aa7e7fd3b..00000000000 --- a/StarVMC/geant3/geocad/gspset.F +++ /dev/null @@ -1,68 +0,0 @@ -* -* $Id: gspset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gspset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GSPSET(PAR) -C- -C- Created 12-JUN-1991 Nils Joar Hoimyr -C- Modified 21.02.1992 Jouko Vuoskoski -C- -C- Takes a GEANT SPHE shape, and wites it out as a primitive solid -C- sphere in SET. -C---------------------------------------------------------------------- - -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) -C - REAL RMIN, RMAX -C -C Segments not yet ready: -C REAL ALPH1, ALPH2, THET1, THET2 -C -C---------------------------------------------------------------------- -C - RMIN= PAR(1) - RMAX= PAR(2) -C -C IF segment of a sphere THEN (Currently not implemented) -C *WRITE SET @50,N..#34,RMAX,ALPH1,ALPH2,THET1,THET2,RMIN -C ELSE -C *WRITE SET @50,N..#34,RMAX,,,,,RMIN -C---------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1,RMAX,RMIN - CALL GJWRIT -C -10000 FORMAT('@50,',I10,',:5,2#34,',G14.7,',,,,,',G14.7) -C - END diff --git a/StarVMC/geant3/geocad/gstmat.F b/StarVMC/geant3/geocad/gstmat.F deleted file mode 100644 index 2811d96f3f6..00000000000 --- a/StarVMC/geant3/geocad/gstmat.F +++ /dev/null @@ -1,74 +0,0 @@ -* -* $Id: gstmat.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gstmat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GSTMAT(FNAME) -* -* *** Opens a material list file for CADD output -* -#include "geant321/gcsetf.inc" -* -* *** name of the SET-file: - CHARACTER*24 FNAME -* *** name of the MAT-file: - CHARACTER*80 FNAMEM -* -* *** Append filename FNAME to FNAMEM with extension .mat: - IF(INDEX(FNAME,'.').EQ.0) THEN - IT=LNBLNK(FNAME) - ELSE - IT=INDEX(FNAME,'.')-1 - ENDIF -#if !defined(CERNLIB_IBM) - FNAMEM=FNAME(1:IT)//'.mat' -#endif -#if defined(CERNLIB_IBM) - FNAMEM='/'//FNAME(1:MIN(IT,8))//' MAT A1' - CALL CLTOU(FNAMEM) -#endif -* -* *** Open material file: - OPEN (UNIT=NUNIT2, FILE=FNAMEM, STATUS='UNKNOWN', ERR=10 ) -* - WRITE (NUNIT2,*)'GEANT-SET MATERIAL LISTING FILE' - WRITE (NUNIT2,*)'--------------------------------' - WRITE (NUNIT2,*) - WRITE (NUNIT2,*)'Materials in the geometry described in' - WRITE (NUNIT2,*)'the .SET file: ',FNAME - WRITE (NUNIT2,*) - WRITE (NUNIT2,10000) - WRITE (NUNIT2,*) - RETURN -* - 10 WRITE(*,*)'Error opening the .mat file for materials' - WRITE(*,*)'Check use of logical units.' -* -10000 FORMAT('Volume name ','Tracking media ',9X - + ,'Material ',14X,'Density ') -* - END diff --git a/StarVMC/geant3/geocad/gstset.F b/StarVMC/geant3/geocad/gstset.F deleted file mode 100644 index 1dcbd468a34..00000000000 --- a/StarVMC/geant3/geocad/gstset.F +++ /dev/null @@ -1,110 +0,0 @@ -* -* $Id: gstset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gstset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GSTSET(FNAME,ANAME,INST,SITE,DEPT,RESP) -* -* -* This subroutine starts a SET file. -* -* It writes the beginning of the file, with a relevant header -* A SET data assembly is intialized after the header. -* -#include "geant321/gcsetf.inc" -#include "geant321/gcunit.inc" - -* -* *** name of the SET-file: - CHARACTER*24 FNAME - CHARACTER*80 FNAMES -* *** name of the data assembly: - CHARACTER*4 ANAME - CHARACTER*8 DATE,TIME - CHARACTER*24 INST,SITE,DEPT,RESP -* -* *** File name and other general input to be read in by the user ** - IF(INDEX(FNAME,'.').EQ.0) THEN - IT=LNBLNK(FNAME) - ELSE - IT=INDEX(FNAME,'.')-1 - ENDIF -#if !defined(CERNLIB_IBM) - FNAMES=FNAME(1:IT)//'.set' -#endif -#if defined(CERNLIB_IBM) - FNAMES='/'//FNAME(1:MIN(IT,8))//' SET A1' - CALL CLTOU(FNAMES) -#endif -* - OPEN (UNIT=NUNIT1, FILE=FNAMES, STATUS='UNKNOWN', ERR=10 ) -* -* *** library call for date and time: - CALL DATIMH (DATE,TIME) -* - NPLACE = 1 - BLKSTR = ' ' - JVSTR = ' ' - WRITE (BLKSTR,10000) INST,SITE,DEPT,RESP - CALL GJWRIT -* the last line: - WRITE (NUNIT1,'(A80)') JVSTR - JVSTR = ' ' -* - WRITE (NUNIT1,10100) DATE(7:8),DATE(4:5),DATE(1:2), - + TIME(1:2),TIME(4:5),TIME(7:8) -* - NPLACE = 1 - BLKSTR = ' ' - WRITE (BLKSTR,10200) ANAME - CALL GJWRIT -* the last line: - WRITE(NUNIT1,'(A80)')JVSTR - JVSTR = ' ' -* - WRITE (NUNIT1,'(A)') ',1,0.01,0,-300.,300.,-300.,300.,-300.,300.' - WRITE (NUNIT1,'(A)') '#9920,:12,0.005,:14,0,:15,0' - WRITE (NUNIT1,'(A)') '@301,2#301,1.,0.,0.,0.,1. - + ,0.,0.,0.,1.,0.,0.,0.' -* - RETURN -* - 10 WRITE(CHMAIL,'('' Error opening the .SET file. '')') - CALL GMAIL(0,0) - WRITE(CHMAIL,'(''Check your directory and unit number in use'')') - CALL GMAIL(0,0) - WRITE(CHMAIL,'('' CADINT cannot proceed. Program terminated '')') - CALL GMAIL(0,0) - STOP -* -10000 FORMAT('@9900#9900,''Z68-300.89.06'',''2.0'','' - +CADINT'',''1.20'',''',A,''',''',A,''',''',A, - +''',''',A,'''') -10100 FORMAT('#9901,19',A2,',',A2,',',A2,',',A2,',',A2,',',A2) -10200 FORMAT('@9901,1,''',A4,'''#9905,3,1.') -* - END diff --git a/StarVMC/geant3/geocad/gtrase.F b/StarVMC/geant3/geocad/gtrase.F deleted file mode 100644 index 136b423cdf5..00000000000 --- a/StarVMC/geant3/geocad/gtrase.F +++ /dev/null @@ -1,124 +0,0 @@ -* -* $Id: gtrase.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gtrase.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GTRASE(PAR) -C- -C- Created 12-JUN-1991 Nils Joar Hoimyr -C- Modified 21.02.1992 Jouko Vuoskoski -C- -C- Calculates the coordinates of the corner points of a GEANT TRAP shape -C- from the shape parameters. The end faces are generated by drawing -C- connected polylines between the corner points at each Z-end of the shape. -C- A ruled solid is then defined between the 2 faces, and written out in SET. -C--------------------------------------------------------- -C -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) -C - REAL P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z - REAL P5X,P5Y,P5Z,P6X,P6Y,P6Z,P7X,P7Y,P7Z,P8X,P8Y,P8Z -C -C---------------------------------------------------------------------- -C -C TRAP -C - - DZ=PAR(1) - TX=PAR(2) - TY=PAR(3) - H1=PAR(4) - BL1=PAR(5) - TL1=PAR(6) - H2=PAR(8) - BL2=PAR(9) - TL2=PAR(10) -C Parameter conv for faces.. -C FACE parameters: -C FACE 1: - P1X= -BL1-DZ*SIN(TX) - P1Y= -H1-DZ*SIN(TY) - P1Z= -DZ -C - P2X= BL1-DZ*SIN(TX) - P2Y= -H1-DZ*SIN(TY) - P2Z= -DZ -C - P3X= TL1-DZ*SIN(TX) - P3Y= H1-DZ*SIN(TY) - P3Z= -DZ -C - P4X= -TL1-DZ*SIN(TX) - P4Y= H1-DZ*SIN(TY) - P4Z= -DZ -C Next FACE: - P5X= -BL2+DZ*SIN(TX) - P5Y= -H2+DZ*SIN(TY) - P5Z= DZ -C - P6X= BL2+DZ*SIN(TX) - P6Y= -H2+DZ*SIN(TY) - P6Z= DZ -C - P7X= TL2+DZ*SIN(TX) - P7Y= H2+DZ*SIN(TY) - P7Z= DZ -C - P8X= -TL2+DZ*SIN(TX) - P8Y= H2+DZ*SIN(TY) - P8Z= DZ -C DESCRIBED BY 2 FACES represented by polylines -C connected by the 4 corners of the shape. -C *WRITE SET@103,F1#3,3,2,P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z -C *WRITE SET@103,F2#3,3,2,P5X,P5Y,P5Z,P6X,P6Y,P6Z,P7X,P7Y,P7Z,P8X,P8Y,P8Z -C -C *WRITE SET @100,N#145,!F1,!F2, -C------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1,P1X,P1Y,P1Z,P2X,P2Y,P2Z, P3X,P3Y,P3Z,P4X, - +P4Y,P4Z - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10000)N1,P5X,P5Y,P5Z,P6X,P6Y,P6Z, P7X,P7Y,P7Z,P8X, - +P8Y,P8Z - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10100)N1,N1-2,N1-1 - CALL GJWRIT -C -10000 FORMAT('@103,',I10,',:5,2#3,3,2,',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7) -10100 FORMAT('@100,',I10,',:5,2#145,!',I10,',!',I10) -C - END diff --git a/StarVMC/geant3/geocad/gtrdse.F b/StarVMC/geant3/geocad/gtrdse.F deleted file mode 100644 index 494590caad3..00000000000 --- a/StarVMC/geant3/geocad/gtrdse.F +++ /dev/null @@ -1,120 +0,0 @@ -* -* $Id: gtrdse.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gtrdse.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GTRDSE(PAR,ISHAPE) -C- -C---------------------------------------------------------- -C- Calculates the coordinates of the corner points of a GEANT shape -C- from the shape parameters. The end faces are generated by drawing -C- connected polylines between the corner points at each Z-end of the shape. -C- A ruled solid is then defined between the 2 faces, and written out in SET. -C---------------------------------------------------------- -C -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) - REAL P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z - REAL P5X,P5Y,P5Z,P6X,P6Y,P6Z,P7X,P7Y,P7Z,P8X,P8Y,P8Z -C -C -C---------------------------------------------------------------------- -C TRD1&2 -C - - DX1=PAR(1) - DX2=PAR(2) - DY1=PAR(3) - IF (ISHAPE .EQ. 2) THEN - DY2=DY1 - DZ= PAR(4) - ELSE - DY2=PAR(4) - DZ=PAR(5) - ENDIF -C FACE parameters: -C FACE 1: - P1X= -DX1 - P1Y= -DY1 - P1Z= -DZ -C - P2X= DX1 - P2Y= -DY1 - P2Z= -DZ -C - P3X= DX1 - P3Y= DY1 - P3Z= -DZ -C - P4X= -DX1 - P4Y= DY1 - P4Z= -DZ -C Next FACE: - P5X= -DX2 - P5Y= -DY2 - P5Z= DZ -C - P6X= DX2 - P6Y= -DY2 - P6Z= DZ -C - P7X= DX2 - P7Y= DY2 - P7Z= DZ -C - P8X= -DX2 - P8Y= DY2 - P8Z= DZ -C DESCRIBED BY 2 FACES represented by polylines -C connected by the 4 corners of the shape. -C *WRITE SET@103,F1,:5,2#3,3,2,P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z -C *WRITE SET@103,F2,:5,2#3,3,2,P5X,P5Y,P5Z,P6X,P6Y,P6Z,P7X,P7Y,P7Z,P8X,P8Y,P8Z -C *WRITE SET @100,N,:5,2,:9,'MATNAM'#145,!F1,!F2, -C------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1,P1X,P1Y,P1Z,P2X,P2Y,P2Z, P3X,P3Y,P3Z,P4X, - +P4Y,P4Z - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10000)N1,P5X,P5Y,P5Z,P6X,P6Y,P6Z, P7X,P7Y,P7Z,P8X, - +P8Y,P8Z - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10100)N1,N1-2,N1-1 - CALL GJWRIT -C -10000 FORMAT('@103,',I10,',:5,2#3,3,2,',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7) -10100 FORMAT('@100,',I10,',:5,2#145,!',I10,',!',I10) -C - END diff --git a/StarVMC/geant3/geocad/gtrset.F b/StarVMC/geant3/geocad/gtrset.F deleted file mode 100644 index 7ff6fa4764c..00000000000 --- a/StarVMC/geant3/geocad/gtrset.F +++ /dev/null @@ -1,175 +0,0 @@ -* -* $Id: gtrset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gtrset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GTRSET(PAR) -C- -C- Created 26-JUL-1991 Nils Joar Hoimyr -C- Modified 21.02.1992 Jouko Vuoskoski -C- -C- Calculates the coordinates of the corner points of a GEANT GTRA shape -C- from the shape parameters. The end faces are generated by drawing -C- connected polylines between the corner points at each Z-end of the shape. -C- A ruled solid is then defined between the 2 faces, and written out in SET. -C---------------------------------------------------------------------- -C -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) - REAL P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z - REAL P5X,P5Y,P5Z,P6X,P6Y,P6Z,P7X,P7Y,P7Z,P8X,P8Y,P8Z -C -C---------------------------------------------------------------------- -C -C GTRA as TRAP except that the faces are rotated aroud the Z-axis -C -C TRAP -C - - DZ=PAR(1) - TX= (PAR(2)*3.14159265359)/180. - TY= (PAR(3)*3.14159265359)/180. - TWIST=(PAR(4)*3.14159265359)/180. - H1=PAR(5) - BL1=PAR(6) - TL1=PAR(7) - H2=PAR(9) - BL2=PAR(10) - TL2=PAR(11) -C Parameter conv for faces.. -C FACE parameters: -C FACE 1: - P1X= -BL1-DZ*SIN(TX) - P1Y= -H1-DZ*SIN(TY) - P1Z= -DZ -C - P2X= BL1-DZ*SIN(TX) - P2Y= -H1-DZ*SIN(TY) - P2Z= -DZ -C - P3X= TL1-DZ*SIN(TX) - P3Y= H1-DZ*SIN(TY) - P3Z= -DZ -C - P4X= -TL1-DZ*SIN(TX) - P4Y= H1-DZ*SIN(TY) - P4Z= -DZ -C Next FACE: - P5X= -BL2+DZ*SIN(TX) - P5Y= -H2+DZ*SIN(TY) - P5Z= DZ -C - P6X= BL2+DZ*SIN(TX) - P6Y= -H2+DZ*SIN(TY) - P6Z= DZ -C - P7X= TL2+DZ*SIN(TX) - P7Y= H2+DZ*SIN(TY) - P7Z= DZ -C - P8X= -TL2+DZ*SIN(TX) - P8Y= H2+DZ*SIN(TY) - P8Z= DZ -C DESCRIBED BY 2 FACES represented by polylines -C connected by the 4 corners of the shape. -C *WRITE SET@103,F1#3,3,2,P1X,P1Y,P1Z,P2X,P2Y,P2Z,P3X,P3Y,P3Z,P4X,P4Y,P4Z -C Geometric Transformation -C*WRITE SET @302,N1..#301,R1,R2,R3,R4,R5,R6,R7,R8,R9 -C *WRITE SET@113, -C *WRITE SET@103,F2#3,3,2,P5X,P5Y,P5Z,P6X,P6Y,P6Z,P7X,P7Y,P7Z,P8X,P8Y,P8Z -C -C *WRITE SET @100,N#145,!F1,!F2, -C------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1,P1X,P1Y,P1Z,P2X,P2Y,P2Z, P3X,P3Y,P3Z,P4X, - +P4Y,P4Z - CALL GJWRIT -C Rotation of face: -C -C Rotation around the Z-axis. Coeffisients of rotation: - R1= COS(-TWIST) - R2= -SIN(-TWIST) - R3= 0.0 - R4= SIN(-TWIST) - R5= COS(-TWIST) - R6= 0.0 - R7= 0.0 - R8= 0.0 - R9= 1.0 -C -C Twist applied, results in constructed faces. - N1=N1+1 - WRITE(BLKSTR,10100)N1,R1,R2,R3,R4,R5,R6,R7,R8,R9 - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10200)N1,N1-2,N1-1 - CALL GJWRIT -C Second face: - N1=N1+1 - WRITE(BLKSTR,10000)N1,P5X,P5Y,P5Z,P6X,P6Y,P6Z, P7X,P7Y,P7Z,P8X, - +P8Y,P8Z - CALL GJWRIT -C Rotation of faces: -C -C Rotation around the Z-axis. Coeffisients of rotation: - R1= COS(TWIST) - R2= -SIN(TWIST) - R3= 0.0 - R4= SIN(TWIST) - R5= COS(TWIST) - R6= 0.0 - R7= 0.0 - R8= 0.0 - R9= 1.0 -C -C Twist applied, results in constructed faces. - N1=N1+1 - WRITE(BLKSTR,10100)N1,R1,R2,R3,R4,R5,R6,R7,R8,R9 - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10200)N1,N1-2,N1-1 - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10300)N1,N1-4,N1-1 - CALL GJWRIT -C -10000 FORMAT('@103,',I10,',:5,2#3,3,2,',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7) -10100 FORMAT('@302,',I10,'#301,',G14.7,',',G14.7,',',G14.7 - + ,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7,',',G14.7) -10200 FORMAT('@113,',I10,',:5,2#101,!',I10,',!',I10) -10300 FORMAT('@100,',I10,',:5,2#145,!',I10,',!',I10) -C -C - 10 RETURN - END diff --git a/StarVMC/geant3/geocad/gtuset.F b/StarVMC/geant3/geocad/gtuset.F deleted file mode 100644 index 9729a279c47..00000000000 --- a/StarVMC/geant3/geocad/gtuset.F +++ /dev/null @@ -1,94 +0,0 @@ -* -* $Id: gtuset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gtuset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GTUSET(PAR,ISHAPE) -C- -C- Created 12-JUN-1991 Nils Joar Hoimyr -C- Modified 21.02.1992 Jouko Vuoskoski -C- -C Converts GEANT shapes TUBE&TUBS to SET -C- -C- Describes a contour face of a TUBE(Segment) from the GEANT -C- TUBE/TUBS shape parameters. This face is rotated around the -C- Z-axis to generated the solid shape in SET. -C -C--------------------------------------------------------------------- -C -#include "geant321/gcsetf.inc" - -C - DIMENSION PAR(100) - REAL DX1,DZ,RMIN,RMAX,PHIMIN,PHIMAX,Z2 -C -C---------------------------------------------------------------------- -C - RMIN=PAR(1) - RMAX=PAR(2) - Z2=PAR(3) - IF (ISHAPE.EQ.5) THEN - PHIMIN=0.0 - PHIMAX=360.0 - ELSEIF (ISHAPE.EQ.6) THEN - PHIMIN=PAR(4) - PHIMAX=PAR(5) - ENDIF -C SET CONVERSION - Z= 2*Z2 - DX1=0.0 - DY=0.0 - DZ=Z2 - IF (RMAX .LE. 0.0) THEN - WRITE (*,*) 'IMPOSSIBLE RADIUS VALUE' - N1=N1-1 - GOTO 10 - ENDIF -C *WRITE SET @50,N1,:5,2#32,RMAX,Z,PHIMIN,PHIMAX,RMIN -C *WRITE SET @302,N2,:5,2#317,0,0,-Z2 -C *WRITE SET @100,N3,:5,2,:9,'MATNAM'#101,!N1,!N2 -C------------------------------------------------------------------- -C - WRITE(BLKSTR,10000)N1,RMAX,Z,PHIMIN,PHIMAX,RMIN - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10100)N1,-DX1,-DY,-DZ - CALL GJWRIT - N1=N1+1 - WRITE(BLKSTR,10200)N1,N1-2,N1-1 - CALL GJWRIT -C -10000 FORMAT('@50,',I10,',:5,2#32,',G14.7,',',G14.7,',' - + ,G14.7,',',G14.7,',',G14.7) -10100 FORMAT('@302,',I10,'#317,',G14.7,',',G14.7,',',G14.7) -10200 FORMAT('@100,',I10,',:5,2#101,!',I10,',!',I10) -C - 10 RETURN - END diff --git a/StarVMC/geant3/geocad/gtxset.F b/StarVMC/geant3/geocad/gtxset.F deleted file mode 100644 index 865680bf004..00000000000 --- a/StarVMC/geant3/geocad/gtxset.F +++ /dev/null @@ -1,120 +0,0 @@ -* -* $Id: gtxset.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gtxset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GTXSET(FNAME,ANAME,NBINS,LUNIT,LUNIT2, - +INST,SITE,DEPT,RESP) -C. -C. ****************************************************************** -C. * * -C. * Writes out a description of the detector in SET file format. * -C. * This is the main routine in the GEANT-SET interface * -C. * * -C. * CADINT 1.20 * -C. * *********** * -C. * In this version VISIBLE VOLUMES are written out in a * -C. * flat assembly. * -C. * For questions, contact the authors. * -C. * * -C. * Authors : NJ Hoimyr, J Vuoskoski ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcsetf.inc" - -#include "geant321/gcdlin.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -* - CHARACTER*24 INST,SITE,DEPT,RESP - CHARACTER*24 FNAME - CHARACTER*4 ANAME,NAME - INTEGER LUNIT,LUNIT2,NBINS -* ------------------------------------------------------------ -* - WRITE(CHMAIL,'('' Starting to write SET file...'')') - CALL GMAIL(1,0) -* -* local zebra links - CALL MZLINT(IXSTOR,'/GCDLIN/',NCWORD,JCDFRS,JCDLST) -* -* number of volumes: - NVOL=0 -* counter for SET blocks: - N1=2 -* Assign logical unit for .set file: - NUNIT1=LUNIT -* Assign logical unit for .mat file: - NUNIT2=LUNIT2 -* -* *** I n i t i a l i z e S E T f i l e -* -* Starting blocks: - CALL GSTSET(FNAME,ANAME,INST,SITE,DEPT,RESP) - NPLACE=1 -* -* Starts material listing file: - CALL GSTMAT(FNAME) -* -* c a l q. n u m. o f v o l u m e s - 10 IF (LQ(JVOLUM-NVOL-1).EQ.0.OR.IQ(JVOLUM-2).EQ.NVOL) GOTO 20 - NVOL=NVOL+1 - GOTO 10 - 20 CONTINUE -* -* Is NAME an existing volume ? - NAME = ANAME - CALL GLOOK (NAME,IQ(JVOLUM+1),NVOLUM,IVO) -* -* *** Uses information given by the drawing package ** -* - CALL GDEXCA (NAME,NBINS) -* -* *** e n d o f S E T f i l e -* -* *** write the tree -* - CALL GWRTRE (NAME, NVOL) - CALL GENSET -* - WRITE(CHMAIL,'('' '')') - CALL GMAIL(0,0) - WRITE(CHMAIL,'('' The selected geometry is now converted '')') - CALL GMAIL(0,0) - WRITE(CHMAIL,'('' into the SET file format and the file '')') - CALL GMAIL(0,0) - WRITE(CHMAIL,'('' is in your current working directory '')') - CALL GMAIL(0,0) -* - IF(JCADNT.NE.0) THEN - CALL MZDROP(IXSTOR, JCADNT, ' ') - ENDIF - NCWORD(1) = 0 -* - END diff --git a/StarVMC/geant3/geocad/gweucl.F b/StarVMC/geant3/geocad/gweucl.F deleted file mode 100644 index a6c14099e0b..00000000000 --- a/StarVMC/geant3/geocad/gweucl.F +++ /dev/null @@ -1,360 +0,0 @@ -* -* $Id: gweucl.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gweucl.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2004/06/17 13:58:28 rdm -* modified some old style FORMAT statements that were confusing the latest -* version of the Intel Fortran compiler. -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GWEUCL (LUN,FILNAM,TOPVOL,NUMBER,NLEVEL) -* -* -* ****************************************************************** -* * * -* * Write out the geometry of the detector in EUCLID file format * -* * * -* * filnam : will be with the extension .euclid * -* * topvol : volume name of the starting node * -* * number : copy number of topvol (relevant for gsposp) * -* * nlevel : number of levels in the tree structure * -* * to be written out, starting from topvol * -* * * -* * Author : M. Maire * -* * * -* ****************************************************************** -* -* -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -* - CHARACTER*(*) FILNAM - CHARACTER*80 FILEXT - CHARACTER CARD*80 - CHARACTER*4 TOPVOL - CHARACTER*20 NATMED, NAMATE - CHARACTER*4 NAME, MOTHER, SHAPE(16), KONLY -* - DIMENSION PAR(100), ATT(20) -* - DATA SHAPE/'BOX ','TRD1','TRD2','TRAP','TUBE','TUBS','CONE', - + 'CONS','SPHE','PARA','PGON','PCON','ELTU','HYPE', - + 'GTRA','CTUB'/ -* -* -* *** The output filnam name will be with extension '.euclid' - IF(INDEX(FILNAM,'.').EQ.0) THEN - IT=LNBLNK(FILNAM) - ELSE - IT=INDEX(FILNAM,'.')-1 - ENDIF -#if !defined(CERNLIB_IBM) - FILEXT=FILNAM(1:IT)//'.euclid' -#endif -#if defined(CERNLIB_IBM) - FILEXT='/'//FILNAM(1:MIN(IT,8))//' EUCLID A1' - CALL CLTOU(FILEXT) -#endif -* - OPEN (UNIT=LUN,FILE=FILEXT,STATUS='UNKNOWN',FORM='FORMATTED') -* -* *** Initialisation of the working space - IADVOL = NVOLUM - IADTMD = IADVOL + NVOLUM - IADROT = IADTMD + NTMED - IF(JROTM.GT.0) THEN - NROTM = IQ(JROTM-2) - ELSE - NROTM = 0 - ENDIF - NWTOT = IADROT + NROTM - CALL G3WORK (NWTOT) - CALL VZERO (IWS(1),NWTOT) - MLEVEL = NLEVEL - IF (NLEVEL.LE.0) MLEVEL = 20 -* -* *** find the top volume and put it in the stak - NUMBR = NUMBER - IF (NUMBER.LE.0) NUMBR = 1 - CALL G3FPARA (TOPVOL,NUMBR,1,NPAR,NATT,PAR,ATT) - IF (NPAR.LE.0) THEN - WRITE (CHMAIL,11100) TOPVOL,NUMBR - CALL GMAIL (0,0) - RETURN - ENDIF -* -* authorized shape ? - CALL GLOOK (TOPVOL,IQ(JVOLUM+1),NVOLUM,IVO) - JVO = LQ(JVOLUM - IVO) - ISH = Q(JVO + 2) - IF (ISH.GT.12) THEN - WRITE (CHMAIL,11100) TOPVOL,NUMBR - CALL GMAIL (0,0) - RETURN - ENDIF -* - LEVEL = 1 - NVSTAK = 1 - IWS(NVSTAK) = IVO - IWS(IADVOL+IVO) = LEVEL - IVSTAK = 0 -* -* *** Flag all volumes and fill the stak -* - 10 CONTINUE -* -* pick the next volume in stak - IVSTAK = IVSTAK + 1 - IVO = ABS(IWS(IVSTAK)) - JVO = LQ(JVOLUM - IVO) -* -* flag the tracking medium - NUMED = Q(JVO + 4) - IWS(IADTMD + NUMED) = 1 -* -* get the daughters ... - LEVEL = IWS(IADVOL+IVO) - IF (LEVEL.LT.MLEVEL) THEN - LEVEL = LEVEL + 1 - NIN = Q(JVO + 3) -* -* from division ... - IF (NIN.LT.0) THEN - JDIV = LQ(JVO - 1) - IVIN = Q(JDIV + 2) - NVSTAK = NVSTAK + 1 - IWS(NVSTAK) = -IVIN - IWS(IADVOL+IVIN) = LEVEL -* -* from position ... - ELSE IF (NIN.GT.0) THEN - DO 20 IN=1,NIN - JIN = LQ(JVO - IN) - IVIN = Q(JIN + 2 ) - JVIN = LQ(JVOLUM - IVIN) - ISH = Q(JVIN + 2) -* authorized shape ? - IF (ISH.LE.12) THEN -* not yet flagged ? - IF (IWS(IADVOL+IVIN).EQ.0) THEN - NVSTAK = NVSTAK + 1 - IWS(NVSTAK) = IVIN - IWS(IADVOL+IVIN) = LEVEL - ENDIF -* flag the rotation matrix - IROT = Q(JIN + 4 ) - IF (IROT.GT.0) IWS(IADROT+IROT) = 1 - ENDIF - 20 CONTINUE - ENDIF - ENDIF -* -* next volume in stak ? - IF (IVSTAK.LT.NVSTAK) GO TO 10 -* -* *** Write down the tracking medium definition -* - CARD = '! Tracking medium' - WRITE (LUN,10000) CARD -* - DO 30 ITM = 1,NTMED - IF (IWS(IADTMD+ITM).GT.0) THEN - JTM = LQ(JTMED-ITM) - CALL UHTOC (IQ(JTM+1),4,NATMED,20) - IMAT = Q(JTM+6) - JMA = LQ(JMATE-IMAT) - IF(JMA.LE.0) THEN - NAMATE = ' ' - WRITE(CHMAIL,11300) ITM, NATMED(1:LNBLNK(NATMED)) - CALL GMAIL(1,1) - ELSE - CALL UHTOC (IQ(JMA+1),4,NAMATE,20) - ENDIF - CARD = ' ' - WRITE (CARD,10100) ITM,NATMED,IMAT,NAMATE - WRITE (LUN,'(A)') CARD - ENDIF - 30 CONTINUE -* -* *** Write down the rotation matrix -* - CARD = '! Reperes' - WRITE (LUN,10000) CARD -* - DO 40 IRM = 1,NROTM - IF (IWS(IADROT+IRM).GT.0) THEN - JRM = LQ(JROTM-IRM) - CARD = ' ' - WRITE (CARD,10200) IRM,(Q(JRM+K),K=11,16) - WRITE (LUN,'(A)') CARD - ENDIF - 40 CONTINUE -* -* *** Write down the volume definition -* - CARD = '! Volumes' - WRITE (LUN,10000) CARD -* - DO 50 IVSTAK = 1,NVSTAK - IVO = IWS(IVSTAK) - IF (IVO.GT.0) THEN - CALL UHTOC (IQ(JVOLUM+IVO),4,NAME,4) - JVO = LQ(JVOLUM-IVO) - ISH = Q(JVO+2) - NMED = Q(JVO+4) - IF (IVSTAK.GT.1) NPAR = Q(JVO+5) - CARD = ' ' - IF (NPAR.GT.0) THEN - IF (IVSTAK.GT.1) CALL UCOPY (Q(JVO+7),PAR(1),NPAR) - CALL GCKPAR (ISH,NPAR,PAR) - WRITE (CARD,10300) NAME,SHAPE(ISH),NMED,NPAR - WRITE (LUN,'(A)') CARD - WRITE (LUN,10400) (PAR(K),K=1,NPAR) - ELSE - WRITE (CARD,10300) NAME,SHAPE(ISH),NMED,NPAR - WRITE (LUN,'(A)') CARD - ENDIF - ENDIF - 50 CONTINUE -* -* *** Write down the division of volumes -* - CARD = '! Divisions' - WRITE (LUN,10000) CARD -* - DO 60 IVSTAK = 1,NVSTAK - IVO = ABS(IWS(IVSTAK)) - JVO = LQ(JVOLUM-IVO) - ISH = Q(JVO+2) - NIN = Q(JVO+3) -* this volume is divided ... - IF (NIN.LT.0) THEN - JDIV = LQ(JVO-1) - IAXE = Q(JDIV+1) - IVIN = Q(JDIV+2) - NDIV = Q(JDIV+3) - C0 = Q(JDIV+4) - STEP = Q(JDIV+5) - JVIN = LQ(JVOLUM-IVIN) - NMED = Q(JVIN+4) - CALL UHTOC (IQ(JVOLUM+IVO ),4,MOTHER,4) - CALL UHTOC (IQ(JVOLUM+IVIN),4,NAME ,4) - CARD = ' ' - IF ((STEP.LE.0.).OR.(ISH.GE.11)) THEN -* volume with negative parameter or gsposp or PGON ... - WRITE (CARD,10500) NAME,MOTHER,NDIV,IAXE - ELSEIF ((NDIV.LE.0).OR.(ISH.EQ.10)) THEN -* volume with negative parameter or gsposp or PARA ... - NDVMX = ABS(NDIV) - WRITE (CARD,10600) NAME,MOTHER,STEP,IAXE,NMED,NDVMX - ELSE -* normal volume : all kind of division are equivalent - WRITE (CARD,10700) NAME,MOTHER,STEP,IAXE,C0,NMED,NDIV - ENDIF - WRITE (LUN,'(A)') CARD - ENDIF - 60 CONTINUE -* -* *** Write down the the positionnement of volumes -* - card = '! Positionnements' - WRITE (LUN,10000) CARD -* - DO 80 IVSTAK = 1,NVSTAK - IVO = ABS(IWS(IVSTAK)) - CALL UHTOC (IQ(JVOLUM+IVO ),4,MOTHER,4) - JVO = LQ(JVOLUM-IVO) - NIN = Q(JVO+3) -* this volume has daughters ... - IF (NIN.GT.0) THEN - DO 70 IN=1,NIN - JIN = LQ(JVO-IN) - IVIN = Q(JIN +2) - NUMB = Q(JIN +3) - IROT = Q(JIN +4) - X = Q(JIN +5) - Y = Q(JIN +6) - Z = Q(JIN +7) - KONLY = 'ONLY' - IF (Q(JIN+8).NE.1.) KONLY = 'MANY' - CALL UHTOC (IQ(JVOLUM+IVIN),4,NAME ,4) - JVIN = LQ(JVOLUM-IVIN) - ISH = Q(JVIN+2) - CARD = ' ' -* gspos or gsposp ? - NDATA = IQ(JIN-1) - IF (NDATA.EQ.8) THEN - WRITE (CARD,10800) NAME,NUMB,MOTHER,X,Y,Z,IROT,KONLY - WRITE (LUN,'(A)') CARD - ELSE - NPAR = Q(JIN+9) - CALL UCOPY (Q(JIN+10),PAR(1),NPAR) - CALL GCKPAR (ISH,NPAR,PAR) - WRITE (CARD,10900) NAME,NUMB,MOTHER,X,Y,Z,IROT,KONLY, - + NPAR - WRITE (LUN,'(A)') CARD - WRITE (LUN,10400) (PAR(K),K=1,NPAR) - ENDIF - 70 CONTINUE - ENDIF - 80 CONTINUE -* - WRITE (LUN,11000) - CLOSE (LUN) -* - WRITE (CHMAIL,11200) FILEXT(1:IT+9) - CALL GMAIL (1,1) -* -10000 FORMAT ('!',/,A,/,'!') -* -10100 FORMAT ('TMED',2(1X,I3,1X,''',A20,''')) -10200 FORMAT ('ROTM',1X,I3,6(1X,F8.3)) -10300 FORMAT ('VOLU',2(1X,''',A4,'''),2(1X,I3)) -10400 FORMAT ( (5X,6(1X,F11.5))) -10500 FORMAT ('DIVN',2(1X,''',A4,'''),2(1X,I3)) -10600 FORMAT ('DIVT',2(1X,''',A4,'''),1X,F11.5,3(1X,I3)) -10700 FORMAT ('DVT2',2(1X,''',A4,'''),1X,F11.5,1X,I3,1X,F11.5,2(1X,I3)) -10800 FORMAT ('POSI',1X,''',A4,''',1X,I3,1X,''',A4,''',3(1X,F11.5),1X,I3 - & ,1X,''',A4,''') -10900 FORMAT ('POSP',1X,''',A4,''',1X,I3,1X,''',A4,''',3(1X,F11.5),1X,I3 - & ,1X,''',A4,''',1X,I3) -11000 FORMAT ('END') -* -11100 FORMAT (' *** GWEUCL *** top volume : ',A4,' number :',I3, - & ' can not be a valid root') -11200 FORMAT (' *** GWEUCL *** file: ',A,' is now written out') -11300 FORMAT (' *** GWEUCL *** material not defined for tracking ', - + 'medium ',I5,' ',A) -* - END diff --git a/StarVMC/geant3/geocad/gwrtre.F b/StarVMC/geant3/geocad/gwrtre.F deleted file mode 100644 index 951d126565a..00000000000 --- a/StarVMC/geant3/geocad/gwrtre.F +++ /dev/null @@ -1,160 +0,0 @@ -* -* $Id: gwrtre.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gwrtre.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : - SUBROUTINE GWRTRE (VLNAME, NVOL) -C. -C. ****************************************************************** -C. * * -C. * Routine to write out the GEANT tree in the .mat file -C. * starting from the given volume * -C. * * -C. * * -C. * ==>Called by : GTXSET -C. * -C. * Author: Jouko Vuoskoski * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcdlin.inc" -#include "geant321/gcsetf.inc" -C - CHARACTER*4 VLNAME,VOLUNA - CHARACTER*80 HELPST -C -C this has to be changed: - IF(JCADNT.EQ.0) THEN - CALL MZBOOK(IXSTOR,JCADNT,JCADNT,1,'CADI',1,1,0,2,-1) - CALL MZBOOK(IXSTOR,JBUF1, - + JCADNT,-1,'CAD1',0,0,NVOLUM,2,-1) - ENDIF - DO 10 JV=1,NVOLUM - IQ(JBUF1+JV)=0 - 10 CONTINUE -C -C Load IVO numbers of this particular part of the tree -C First the volume where to be started -C - DO 20 IVO=1, NVOL - JVVOLU=IQ(JVOLUM+IVO) - CALL UHTOC(JVVOLU,4,VOLUNA,4) - IF(VOLUNA.EQ.VLNAME) THEN - IQ(JBUF1+1)=IVO - ENDIF - 20 CONTINUE -C -C Then all the others -C - JV=1 - DO 70 NH1=1, 15 - DO 60 NH2=1, JV - JVO=LQ(JVOLUM-IQ(JBUF1+NH2)) - NIN=Q(JVO+3) - IF(NIN.GT.0) THEN - DO 40 IIN=1, NIN - JIN=LQ(JVO-IIN) - JVFLAG=0 - DO 30 NH3=1, JV - IF(Q(JIN+2).EQ.IQ(JBUF1+NH3)) JVFLAG=1 - 30 CONTINUE - IF(JVFLAG.EQ.0) THEN - JV=JV+1 - IQ(JBUF1+JV)=Q(JIN+2) - ENDIF - 40 CONTINUE - ELSEIF(NIN.LT.0) THEN - JDIV=LQ(JVO-1) - JVFLAG=0 - DO 50 NH3=1, JV - IF(Q(JDIV+2).EQ.IQ(JBUF1+NH3)) JVFLAG=1 - 50 CONTINUE - IF(JVFLAG.EQ.0) THEN - JV=JV+1 - IQ(JBUF1+JV)=Q(JDIV+2) - ENDIF - ENDIF - 60 CONTINUE - 70 CONTINUE -C -C -C write out the volumes into the .mat file -C - WRITE (NUNIT2,*) - WRITE (NUNIT2,*) - WRITE (NUNIT2,*)'GEANT TREE' - WRITE (NUNIT2,*)'----------' - WRITE (NUNIT2,*) - WRITE (NUNIT2,*)'The GEANT tree starting from the given volume' - WRITE (NUNIT2,*) -C - DO 90 NH1=1, JV - JVO=LQ(JVOLUM-IQ(JBUF1+NH1)) - NIN=Q(JVO+3) - IF(NIN.GT.0) THEN - I1=10 - I2=16 - WRITE (HELPST,'(A80)')' ' - WRITE (HELPST(1:4),10000)IQ(JVOLUM+IQ(JBUF1+NH1)) - WRITE (HELPST(6:10),10100)NIN - DO 80 IIN=1, NIN - JIN=LQ(JVO-IIN) - IVO=Q(JIN+2) - WRITE (HELPST(I1:I2),10200)IQ(JVOLUM+IVO) - I1=I1+6 - I2=I2+6 - IF (I2.GE.73) THEN - WRITE(NUNIT2,'(A80)')HELPST - I1=10 - I2=16 - WRITE (HELPST,'(A80)')' ' - ENDIF - 80 CONTINUE - WRITE(NUNIT2,'(A80)')HELPST -C - ELSEIF(NIN.LT.0) THEN - JDIV=LQ(JVO-1) - IVO=Q(JDIV+2) - NUMDIV=Q(JDIV+3) - WRITE(NUNIT2,10300)IQ(JVOLUM+IQ(JBUF1+NH1)),-NUMDIV, - + Q(JDIV+ 4),Q(JDIV+5),IQ(JVOLUM+IVO) - - ENDIF - 90 CONTINUE -C - WRITE (NUNIT2,*) - WRITE (NUNIT2,*) - WRITE (NUNIT2,*)' ------ end of file -------' -C -10000 FORMAT(A4) -10100 FORMAT(I4) -10200 FORMAT(2X,A4) -10300 FORMAT(A4,1X,I4,2X,E15.8,2X,E15.8,2X,A4) -C - END diff --git a/StarVMC/geant3/geocad/history.F b/StarVMC/geant3/geocad/history.F deleted file mode 100644 index fbd15778bfc..00000000000 --- a/StarVMC/geant3/geocad/history.F +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: history.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: history.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : -* -* *** Version 1.21 (23-04-93) -* -* 8-04-92 : define Patchy title -* 7-04-92 : mods in GPTSET -* : mods in START,STAMAT for file definition on ibm -* 16-04-92 : Cosmetic mods in START -* 27-04-92 : Aname bug on IBM corrected, mod of .mat output -* 10-11-92 : Added transfer of colour attribut to SET output -* 04-03-93 : Added routine GWRTRE to write the tree information into -* the material file -* 04-03-93 : Added an option to choose the number of instances -* 14-04-93 : Mods in the output of tree information -* 14-04-93 : Mods in the "number of instances" option so that it affects -* only to divisions -* 23-04-93 : Names changes to GEANT name convention scheme. Some -* cleaning done to GDEXCA (Earlier SETDRS) - SUBROUTINE HISTORY_DUMMY - END diff --git a/StarVMC/geant3/geocad/readme.F b/StarVMC/geant3/geocad/readme.F deleted file mode 100644 index 7f9a9ebfa98..00000000000 --- a/StarVMC/geant3/geocad/readme.F +++ /dev/null @@ -1,74 +0,0 @@ -* -* $Id: readme.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: readme.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani -*-- Author : -* -* INFORMATION ABOUT THE GEANT-SET-INTERFACE (CADINT 1.20) -* -C The interface is available in the CMZ patch CADINT. (CAR file CADINT.car) -C An updated GXINT as well as command file CDF are also required. -C -C You must recompile gxint and cdf, then you copy the interface code to your -C directory in CMZ (YTOC cadint.car.) -C -C You have to specify the name of the volume where you want to -C start your conversion and the number of division instances to be written -C into the SET file. This is useful in a case of many divisions. -C -C Selection of volumes to export into SET is done with the visibility -C attribute command (SATT volume SEEN x). Volume names will -C be written into SET with an index to distinguish different instances -C of a volume. In a case of many divisions, the indexing of slices will be -C reset in each division. -C -C The colors of the volumes will be transformed inte SET file as well. -C -C When you export GEANT geometry to a CAD system, -C be a bit careful not to have -C too many volumes, because this will fill up the CAD system. (Divided -C volumes which contains 100's of equal daughters are -C therefore better to be SATT volume SEEN -2, or you can define the number -C of division instances). -C -C A good strategy is to make several SET files, -C one for each sub part of the detector. -C Material information is currently written into .mat file as well as -C the tree information. -C -C Remember that you must specify the drawing parameters again if you -C want to draw your detector after you have used the interface command. -C -C Contact Nils Hoimyr/CN/CE or Jouko Vuoskoski/CN/AS if you have any -C questions regarding the interface. - - - SUBROUTINE README_DUMMY - END diff --git a/StarVMC/geant3/ggeom/gbstat.F b/StarVMC/geant3/ggeom/gbstat.F deleted file mode 100644 index 3dfd667d707..00000000000 --- a/StarVMC/geant3/ggeom/gbstat.F +++ /dev/null @@ -1,57 +0,0 @@ -* -* $Id: gbstat.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gbstat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE G3BSTAT -C. -C. ****************************************************************** -C. * * -C. * Book banks for volume statistics * -C. * * -C. * ==>Called by : G3GCLOS * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -C. -C. ------------------------------------------------------------------ -C. - IF(JGSTAT.GT.0)GO TO 999 - IF(JVOLUM.LE.0)GO TO 999 - CALL MZBOOK(IXCONS,JGSTAT,JGSTAT,1,'GSTA',NVOLUM,NVOLUM,0,2,0) -* - DO 10 I=1,NVOLUM - CALL MZBOOK(IXCONS,LBANK,JGSTAT,-I,'GSTA',0,0,9,2,0) - 10 CONTINUE -* - 999 END diff --git a/StarVMC/geant3/ggeom/gcent.F b/StarVMC/geant3/ggeom/gcent.F deleted file mode 100644 index 2e7a9b9faa8..00000000000 --- a/StarVMC/geant3/ggeom/gcent.F +++ /dev/null @@ -1,169 +0,0 @@ -* -* $Id: gcent.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gcent.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:26 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GCENT(IAX,X0) -C. -C. ****************************************************************** -C. * * -C * SUBROUTINE TO CENTRE A SLICE OF THE NLEVEL TH * -C * SHAPE, WHEN THE CENTRE OF THE SLICE ALONG AXIS * -C * NUMBER IAX AFTER ROTATION BY MATRIX IROT IS AT * -C * X0(IAX). THE CENTER IN THE UNROTATED FRAME IS * -C * RETURNED. * -C * * -C. * ==>Called by : GFTRAC, GINVOL, GLVOLU, GMEDIV, GNEXT, * -C. * GTMEDI, GTNEXT * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcunit.inc" - DIMENSION X0(3),PAR(100),ATT(20) -C. -C. ------------------------------------------------------------------ -C. -C - IVO=LVOLUM(NLEVEL) - JVO=LQ(JVOLUM-IVO) - ISH=Q(JVO+2) -C - IF(ISH.EQ.4) GO TO 20 -C -C NOT A GENERAL TRAPEZOID. -C - IF(ISH.EQ.10.AND.IAX.NE.1) GO TO 20 -C -C NOT A PARALLELEPIPED WITH NON X AXIS SLICING. -C - DO 10 I=1,3 - IF(I.NE.IAX) X0(I)=0.0 - 10 CONTINUE -C - GO TO 999 - 20 CONTINUE -C -C - JIN=0 - IF(NLEVEL.LE.1) GO TO 30 -C - IN = LINDEX(NLEVEL) - IVOO = LVOLUM(NLEVEL-1) - JVOO = LQ(JVOLUM-IVOO) - IF (Q(JVOO+3).LT.0.) THEN - JIN = LQ(JVOO-1) - ELSE - JIN = LQ(JVOO-IN) - ENDIF -C - 30 CONTINUE -C -C - IF (NLEVEL.LT.NLDEV(NLEVEL)) THEN - JPAR = 0 - ELSE -* (case with structure JVOLUM locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - IF (NLEVEL.EQ.NLDEV(NLEVEL)) GO TO 120 - DO 110 ILEV = NLDEV(NLEVEL), NLEVEL-1 - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - IF (JPAR.EQ.0) GO TO 120 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - IF (ILEV.EQ.NLEVEL-1) THEN - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - CALL UCOPY (Q(JPAR+1), PAR, NPAR) - ENDIF - 110 CONTINUE - GO TO 130 - ENDIF -* (normal case) - 120 CONTINUE -* -C - CALL GFIPAR(JVO,JIN,IN,NPAR,NATT,PAR,ATT) -C - 130 CONTINUE - IF(ISH.EQ.10) GO TO 40 -C -C A GENERAL TRAPEZOID -C - IF(IAX.NE.3) GO TO 41 -C - X0(1)=PAR(2)*X0(IAX) - X0(2)=PAR(3)*X0(IAX) -C - GO TO 999 -C - 41 IF(IAX.NE.2) GO TO 900 -C - X0(1) = X0(IAX)*PAR(7) - GO TO 999 -C - 40 CONTINUE -C -C PARALLELEPIPED WITH NON X AXIS SLICING. -C - X0(1)=PAR(IAX+2)*X0(IAX) -C - IF(IAX.EQ.3) GO TO 50 -C - X0(3)=0.0 -C - GO TO 999 - 50 CONTINUE -C - X0(2)=PAR(6)*X0(3) -C - GO TO 999 -C - 900 CONTINUE -C -C GENERAL TRAPEZOID SLICED OTHER THAN IN Z -C DOES NOT MAKE SENSE. -C - WRITE(CHMAIL,1000) ISH,IAX - CALL GMAIL(0,0) - WRITE(CHMAIL,2000) - CALL GMAIL(0,0) - 1000 FORMAT(' ISH,IAX =',2I5,' DOES NOT MAKE SENSE.') - 2000 FORMAT(' IT IS A GENERAL TRAPEZOID SLICED OTHER THAN IN Z') -C -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gdtom.F b/StarVMC/geant3/ggeom/gdtom.F deleted file mode 100644 index 731bd5fc36b..00000000000 --- a/StarVMC/geant3/ggeom/gdtom.F +++ /dev/null @@ -1,88 +0,0 @@ -* -* $Id: gdtom.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gdtom.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE G3DTOM(XD,XM,IFLAG) -C. -C. ****************************************************************** -C. * * -C. * Computes coordinates XM (Master Reference System * -C. * knowing the coordinates XD (Detector Ref System) * -C. * The local reference system can be initialized by * -C. * - the tracking routines and GDTOM used in GUSTEP * -C. * - a call to GSCMED(NLEVEL,NAMES,NUMBER) * -C. * (inverse routine is GMTOD) * -C. * * -C. * If IFLAG=1 convert coordinates * -C. * IFLAG=2 convert direction cosinus * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ,M Hansroul ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcvolu.inc" - DIMENSION XD(3),XM(3) - EQUIVALENCE (N,NLEVEL) -C. -C. ------------------------------------------------------------------ -C. - IF(IFLAG.EQ.1)THEN - IF(GRMAT(10,N).NE.0.)THEN - XM(1) = GTRAN(1,N) + GRMAT(1,N)*XD(1) + GRMAT(4,N)*XD(2) + - + GRMAT(7 ,N)*XD(3) - XM(2) = GTRAN(2,N) + GRMAT(2,N)*XD(1) + GRMAT(5,N)*XD(2) + - + GRMAT(8 ,N)*XD(3) - XM(3) = GTRAN(3,N) + GRMAT(3,N)*XD(1) + GRMAT(6,N)*XD(2) + - + GRMAT(9 ,N)*XD(3) -* - ELSE - XM(1) = GTRAN(1,N) + XD(1) - XM(2) = GTRAN(2,N) + XD(2) - XM(3) = GTRAN(3,N) + XD(3) -* - ENDIF -* - ELSE - IF(GRMAT(10,N).NE.0.)THEN - XM(1)=GRMAT(1,N)*XD(1)+GRMAT(4,N)*XD(2)+GRMAT(7,N)*XD(3) - XM(2)=GRMAT(2,N)*XD(1)+GRMAT(5,N)*XD(2)+GRMAT(8,N)*XD(3) - XM(3)=GRMAT(3,N)*XD(1)+GRMAT(6,N)*XD(2)+GRMAT(9,N)*XD(3) -* - ELSE - XM(1) = XD(1) - XM(2) = XD(2) - XM(3) = XD(3) -* - ENDIF -* - ENDIF - END diff --git a/StarVMC/geant3/ggeom/gfatt.F b/StarVMC/geant3/ggeom/gfatt.F deleted file mode 100644 index 2da16e206e3..00000000000 --- a/StarVMC/geant3/ggeom/gfatt.F +++ /dev/null @@ -1,84 +0,0 @@ -* -* $Id: gfatt.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfatt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFATT(NAME,IAT,IVAL) -C. -C. ****************************************************************** -C. * * -C. * Fetch value IVAL of attribute IAT * -C. * for the volume NAME * -C. * * -C. * ==>Called by : GDPRTR,GDSPEC,GDTREE,GDTR1 * -C. * Author R.Brun, P.Zanarini ********** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" - CHARACTER*4 NAME,IAT,KATT(10) - DIMENSION LATT(10) - SAVE IFIRST,KATT,LATT - DATA KATT/'WORK','SEEN','LSTY','LWID','COLO','FILL','SET ', - +'DET ','DTYP','NODE'/ - DATA IFIRST/0/ -C. -C. ------------------------------------------------------------------ -C. -C CHECK IF OPTION EXISTS -C - IF(NAME.EQ.' ')GO TO 99 - IF(IFIRST.EQ.0)THEN - IFIRST=1 - CALL UCTOH(KATT,LATT,4,40) - ENDIF -C - CALL GLOOK(IAT,LATT,10,IOP) - IF(IOP.GT.0)GO TO 10 - WRITE(CHMAIL,2000)IAT - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF VOLUME EXISTS -C - 10 CALL GLOOK(NAME,IQ(JVOLUM+1),NVOLUM,IVOLU) - IF(IVOLU.GT.0)GO TO 30 - WRITE(CHMAIL,1000)NAME - CALL GMAIL(0,0) - GO TO 99 -C - 30 JVO=LQ(JVOLUM-IVOLU) - NPAR=Q(JVO+5) - IVAL=Q(JVO+NPAR+6+IOP) - GO TO 99 -C - 1000 FORMAT(' GFATT VOLUME ',A4,' DOES NOT EXIST ') - 2000 FORMAT(' GFATT OPTION ',A4,' NOT IMPLEMENTED ') - 99 RETURN - END diff --git a/StarVMC/geant3/ggeom/gfclim.F b/StarVMC/geant3/ggeom/gfclim.F deleted file mode 100644 index e84552a4f24..00000000000 --- a/StarVMC/geant3/ggeom/gfclim.F +++ /dev/null @@ -1,93 +0,0 @@ -* -* $Id: gfclim.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfclim.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFCLIM(JVO,IN,IAXIS,CLOW,CHIGH,IERR) -C. -C. ********************************************************** -C. * * -C. * ROUTINE TO FIND THE COORDINATE LIMITS ALONG AXIS * -C. * IAXIS FOR THE INTH CONTENT OF THE VOLUME POINTED * -C. * TO BY JVO. THE LIMITS ARE RETURNED AS CLOW AND * -C. * CHIGH.IF THEY CANNOT BE FOUND THEN IERR IS SET TO 1.* -C. * * -C. * ==>Called by : GGORD * -C. * Author A.McPherson ********* * -C. * * -C. ********************************************************** -C. -#include "geant321/gcbank.inc" - DIMENSION PAR(100),ATT(20) -C. -C. ----------------------------------------- -C. - JIN=LQ(JVO-IN) - IROT=Q(JIN+4) - IVOT=Q(JIN+2) - JVOT=LQ(JVOLUM-IVOT) - ISH=Q(JVOT+2) -C - CALL GFIPAR(JVOT,JIN,IN,NPAR,NATT,PAR,ATT) -C -C X,Y OR Z COORDINATES. -C - IF(IAXIS.GT.3) GO TO 20 -C - CALL GFLCAR(IAXIS,ISH,IROT,PAR,CL,CH,IERR) - IF(IERR.NE.0) GO TO 999 -C - CLOW=CL+Q(JIN+IAXIS+4) - CHIGH=CH+Q(JIN+IAXIS+4) -C - GO TO 999 -C - 20 CONTINUE - IF(IAXIS.GT.5) GO TO 30 -C -C R COORDINATES. -C - CALL GFLRAD(IAXIS,ISH,IROT,Q(JIN+5),PAR,CLOW, CHIGH,IERR) - -C - GO TO 999 -C - 30 CONTINUE -C -C PHI OR THETA COORDINATES. -C - IF(IAXIS.EQ.6) CALL GFLPHI(ISH,IROT,Q(JIN+5), PAR,CLOW,CHIGH, - +IERR) -C - IF(IAXIS.EQ.7) CALL GFLTHE(ISH,IROT,Q(JIN+5), PAR,CLOW,CHIGH, - +IERR) -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gfcoor.F b/StarVMC/geant3/ggeom/gfcoor.F deleted file mode 100644 index 0ab5c9b4630..00000000000 --- a/StarVMC/geant3/ggeom/gfcoor.F +++ /dev/null @@ -1,91 +0,0 @@ -* -* $Id: gfcoor.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfcoor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFCOOR(X,IAXIS,C) -C. -C. ***************************************************************** -C. * * -C. * ROUTINE TO COMPUTE THE COORDINATE C CORRESPONDING TO THE * -C. * AXIS IAXIS FOR THE POINT X(1-3). * -C. * IAXIS = 1 IS THE USUAL X AXIS ------> X(1) * -C. * IAXIS = 2 IS THE USUAL Y AXIS ------> X(2) * -C. * IAXIS = 3 IS THE USUAL Z AXIS ------> X(3) * -C. * IAXIS = 4 IS THE X,Y PLANE R VALUE. * -C. * IAXIS = 5 IS THE FULL X,Y,Z R VALUE. * -C. * IAXIS = 6 IS AZIMUTH PHI (ANGLE IN X,Y PLANE). * -C. * IAXIS = 7 IS THE POLAR ANGLE THETA (R,Z PLANE). * -C. * * -C. * ==>Called by : GFTRAC, GINVOL, GMEDIA, GNEXT, GTMEDI, * -C. * GTNEXT * -C. * Author A.McPherson ********* * -C. * * -C. ***************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gcunit.inc" - DIMENSION X(*) -C. -C. ---------------------------------------------------- -C. - IF(IAXIS.LE.0.OR.IAXIS.GE.8) THEN - WRITE(CHMAIL,10000) IAXIS - CALL GMAIL(0,0) -* - ELSEIF(IAXIS.LE.3) THEN - C=X(IAXIS) -* - ELSEIF(IAXIS.EQ.4) THEN - C=X(1)*X(1)+X(2)*X(2) - IF(C.GT.0.0) C=SQRT(C) -* - ELSEIF(IAXIS.EQ.5) THEN - C=X(1)*X(1)+X(2)*X(2)+X(3)*X(3) - IF(C.GT.0.0) C=SQRT(C) -* - ELSEIF(IAXIS.EQ.6) THEN - C=0.0 - IF(ABS(X(1)).GE.1.0E-10.AND.ABS(X(2)).GE.1.0E-10) THEN - C=ATAN2(X(2),X(1))*RADDEG - ELSEIF(ABS(X(4)).GE.1.0E-10.AND.ABS(X(5)).GE.1.0E-10) THEN - C=ATAN2(X(5),X(4))*RADDEG - ENDIF - IF(C.LT.0.0) C=C+360.0 -* - ELSEIF(IAXIS.EQ.7) THEN - C=90.0 - IF(ABS(X(3)).LT.1.0E-10) GO TO 999 - R=X(1)*X(1)+X(2)*X(2) - IF(R.GT.0.0) R=SQRT(R) - C=ATAN2(R,X(3))*RADDEG - IF(C.LT.0.0) C=C+180.0 - IF(C.EQ.0.0.AND.X(3).LE.0.0) C=180.0 -* - ENDIF -10000 FORMAT(' ***** GFCOOR: IAXIS =',I5,' NOT SUPPORTED *****') - 999 END diff --git a/StarVMC/geant3/ggeom/gfcord.F b/StarVMC/geant3/ggeom/gfcord.F deleted file mode 100644 index f682d815ef1..00000000000 --- a/StarVMC/geant3/ggeom/gfcord.F +++ /dev/null @@ -1,94 +0,0 @@ -* -* $Id: gfcord.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfcord.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFCORD(NIN,CLOW,CHIGH,CORD,ITYPE,ICON) -C. -C. ***************************************************************** -C. * * -C. * ROUTINE TO ORDER THE VALUES IN CLOW AND CHIGH INTO CORD * -C. * WHILST STORING A 1 IN ITYPE IF THE VALUE IS FROM CLOW * -C. * AND A 2 IF FROM CHIGH. THE SEQUENCE NUMBER OF THE VALUE * -C. * IS STORED IN ICON. THERE ARE NIN VALUES IN EACH OF CLOW * -C. * AND CHIGH. * -C. * * -C. * ==>Called by : GGORD * -C. * Author A.McPherson ********* * -C. * * -C. ***************************************************************** -C. - DIMENSION CLOW(2),CHIGH(2),CORD(2),ITYPE(2),ICON(2) -C. -C. ----------------------------------------------------- -C. - IC=0 - DO 60 IN=1,NIN -C - ITRY=1 - CTRY=CLOW(IN) -C - IPL=1 - IF(IC.EQ.0) GO TO 50 -C - 10 CONTINUE -C - DO 20 I=1,IC - IF(CORD(I).LE.CTRY) GO TO 20 - IPL=I - GO TO 30 - 20 CONTINUE -C - IPL=IC+1 - GO TO 50 -C - 30 CONTINUE - DO 40 I=IPL,IC -C - IC1=IC+IPL-I - IC2=IC1+1 - CORD(IC2)=CORD(IC1) - ICON(IC2)=ICON(IC1) - ITYPE(IC2)=ITYPE(IC1) -C - 40 CONTINUE -C - 50 CONTINUE -C - IC=IC+1 - CORD(IPL)=CTRY - ITYPE(IPL)=ITRY - ICON(IPL)=IN -C - IF(ITRY.NE.1) GO TO 60 - ITRY=2 - CTRY=CHIGH(IN) - GO TO 10 -C - 60 CONTINUE -C - END diff --git a/StarVMC/geant3/ggeom/gfcvol.F b/StarVMC/geant3/ggeom/gfcvol.F deleted file mode 100644 index f4ef7215edc..00000000000 --- a/StarVMC/geant3/ggeom/gfcvol.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: gfcvol.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfcvol.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFCVOL -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO RELOAD THE RELEVANT CONTENTS OF THE COMMON * -C. * BLOCK /GCVOLU/ FROM THE COMMON /GCVOL2/ * -C. * THE ROUTINE ASSUMES THAT THE CONTENTS WERE STORED USING * -C. * THE ROUTINE GSCVOL. * -C. * * -C. * ==>Called by : GDRAW, GDRVOL, GINVOL, GMEDIA, GTMEDI * -C. * Authors : A.McPherson, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcvol2.inc" -C. -C. ---------------------------------------- -C. - NLEVEL = NLEVE2 - IF (NLEVEL.LE.0) GO TO 99 -* - INFROM = INFRO2 - DO 40 I = 1,NLEVEL -* - NAMES(I) = NAMES2(I) - NUMBER(I) = NUMB2(I) - LVOLUM(I) = LVOL2(I) - LINDEX(I) = LIND2(I) - GONLY(I) = GONLY2(I) - NLDEV(I) = NLDEV2(I) - LINMX(I) = LINMX2(I) -* - DO 10 J = 1,3 - GTRAN(J,I) = GTRAN2(J,I) - 10 CONTINUE -* - DO 20 J = 1,10 - GRMAT(J,I) = GRMAT2(J,I) - 20 CONTINUE -* - IQ(JGPAR+I) = IQ(JGPAR2+I) - LQ(JGPAR-I) = LQ(JGPAR2-I) -* - 40 CONTINUE -* END GFCVOL - 99 END diff --git a/StarVMC/geant3/ggeom/gfipar.F b/StarVMC/geant3/ggeom/gfipar.F deleted file mode 100644 index 5144228437f..00000000000 --- a/StarVMC/geant3/ggeom/gfipar.F +++ /dev/null @@ -1,139 +0,0 @@ -* -* $Id: gfipar.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfipar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFIPAR (JVO, JIN, IN, NPAR, NATT, PAR, ATT) -C. -C. ****************************************************************** -C. * * -C. * Routine to fetch internal parameters and attributes for * -C. * the volume from volume address JVO. If it was positioned * -C. * by GSPOSP or declared with negative dimensional parameters, * -C. * then JIN and IN must correspond to its positioning inside * -C. * its mother. * -C. * * -C. * Called by : GCENT, GFCLIM, GSDVN, GSDVN2, GSDVT, GSDVT2 * -C. * Authors : S.Banerjee, A.McPherson, P.Zanarini * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - PARAMETER (NLVMAX=15) - DIMENSION PAR(*), ATT(*), LVOLS(NLVMAX), LINDX(NLVMAX) - CHARACTER*4 NAME - LOGICAL BTEST -C. -C. ------------------------------------------------------------------ -C. - NPAR = Q(JVO+5) - NATT = Q(JVO+6) - JATT = JVO + 6 + NPAR - IF (.NOT.BTEST(IQ(JVO),1)) THEN - IF (NPAR.GT.0) THEN - JPAR = JVO + 6 - ELSE - IF (JIN.LE.0) GO TO 910 - JPAR = JIN + 9 - NPAR = Q(JPAR) - ENDIF - ELSE - IF (JIN.LE.0) GO TO 910 - JVOM = LQ(JIN+1) - NIN = Q(JVOM+3) - IVO = Q(JIN+2) - IF (NIN.GT.0) THEN - INUM = Q(JIN+3) - ELSE - INUM = IN - ENDIF - CALL UHTOC(IQ(JVOLUM+IVO),4,NAME,4) - CALL G3LMOTH (NAME, INUM, NLDM, LVOLS, LINDX) - IF (NLDM.LE.0) GO TO 930 - JPAR = LQ(LQ(JVOLUM-LVOLS(1))) - IF (NLDM.GT.1) THEN - DO 10 ILEV = 2, NLDM - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - IF (JPAR.EQ.0) GO TO 940 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 10 CONTINUE - ENDIF - IF (NIN.GT.0) THEN - JPAR = LQ(JPAR-IN) - IF (JPAR.EQ.0) GO TO 940 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - ENDIF -* - IF (NPAR.LE.0) GO TO 950 - CALL UCOPY (Q(JPAR+1), PAR, NPAR) - CALL UCOPY (Q(JATT+1), ATT, NATT) -* - GO TO 999 -* - 910 CONTINUE - WRITE (CHMAIL, 1010) JIN - CALL GMAIL (0, 0) - 1010 FORMAT (' GFIPAR : Error - JIN = ',I8,' LE 0 where Volume ', - + 'parameters not present in JVO') - GO TO 999 -* - 930 CONTINUE - WRITE (CHMAIL, 1030) - CALL GMAIL (0, 0) - 1030 FORMAT (' GFIPAR : Error - NLDM is zero where development ', - + 'structure is expected') - GO TO 999 -* - 940 CONTINUE - WRITE (CHMAIL, 1040) - CALL GMAIL (0, 0) - 1040 FORMAT (' GFIPAR : Error - JPAR is zero where development ', - + 'structure is expected') - GO TO 999 -* - 950 CONTINUE - WRITE (CHMAIL,1050) NPAR - CALL GMAIL (0, 0) - 1050 FORMAT (' GFIPAR : Error - NPAR = ',I8,' LE zero') - 999 CONTINUE -* END GFIPAR - END diff --git a/StarVMC/geant3/ggeom/gflcar.F b/StarVMC/geant3/ggeom/gflcar.F deleted file mode 100644 index c1926a239bb..00000000000 --- a/StarVMC/geant3/ggeom/gflcar.F +++ /dev/null @@ -1,285 +0,0 @@ -* -* $Id: gflcar.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gflcar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 1999/06/10 07:40:57 fca -* Added protection. In case IROT=0 the address Q(LQ(JROTM-IROT)) should not -* be calculated because out of bounds. -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFLCAR(IAXIS,ISH,IROT,PARS,CL,CH,IERR) -C. -C. ***************************************************************** -C. * * -C. * ROUTINE TO FIND THE LIMITS ALONG AXIS IAXIS IN CARTESIAN * -C. * COORDINATES FOR VOLUME OF SHAPE ISH ROTATED BY THE * -C. * ROTATION MATRIX IROT. THE SHAPE HAS NPAR PARAMETERS IN * -C. * THE ARRAY PARS. THE LOWER LIMIT IS RETURNED IN CL, THE * -C. * HIGHER IN CH. IF THE CALCULATION CANNOT BE MADE IERR IS * -C. * SET TO 1 OTHERWISE IT IS SET TO 0. * -C. * * -C. * ==>Called by : GFCLIM * -C. * Author A.McPherson ********* * -C. * * -C. ***************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" - DIMENSION PARS(11),X(3),XT(3) -C. -C. --------------------------------------------------- -C. - IERR=1 - IF (ISH.GT.4.AND.ISH.NE.10.AND.ISH.NE.28) GO TO 40 -C -C CUBOIDS, TRAPEZOIDS, PARALLELEPIPEDS. -C -C - IERR=0 - CL=0 - CH=0 -C - DO 30 IP=1,8 -C -C THIS IS A LOOP OVER THE 8 CORNERS. -C FIRST FIND THE LOCAL COORDINATES. -C - IF(ISH.EQ.28) THEN -C -C General twisted trapezoid. -C - IL=(IP+1)/2 - I0=IL*4+11 - IS=(IP-IL*2)*2+1 - X(3)=PARS(1)*IS - X(1)=PARS(I0)+PARS(I0+2)*X(3) - X(2)=PARS(I0+1)+PARS(I0+3)*X(3) - GO TO 20 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X(3)=PARS(IP3) - IF(IP.LE.4) X(3)=-X(3) - IP2=3 - IF(ISH.GT.2.AND.X(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP2=8 - X(2)=PARS(IP2) - IF(MOD(IP+3,4).LT.2) X(2)=-X(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X(2).GT.0.0) IP1=IP1+1 - X(1)=PARS(IP1) - IF(MOD(IP,2).EQ.1) X(1)=-X(1) -C - IF(ISH.NE.10) GO TO 10 - X(1)=X(1)+X(2)*PARS(4)+X(3)*PARS(5) - X(2)=X(2)+X(3)*PARS(6) - 10 CONTINUE -C - IF(ISH.NE.4) GO TO 20 - IP4=7 - IF(X(3).GT.0.0) IP4=11 - X(1)=X(1)+X(2)*PARS(IP4)+X(3)*PARS(2) - X(2)=X(2)+X(3)*PARS(3) - 20 CONTINUE -C -C ROTATE. -C - IF(IROT.NE.0) THEN - JROT=LQ(JROTM-IROT) - CALL GINROT(X,Q(JROT+1),XT) - ELSE - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - ENDIF -C -C UPDATE LIMITS IF NECESSARY. -C - IF(XT(IAXIS).LT.CL) CL=XT(IAXIS) - IF(XT(IAXIS).GT.CH) CH=XT(IAXIS) -C - 30 CONTINUE -C - GO TO 999 -C - 40 CONTINUE - IF(ISH.EQ.9) GO TO 90 -C -C TUBES , CONES, POLYGONS, POLYCONES. -C AND CUT TUBES. -C - X(1)=0.0 - X(2)=0.0 - X(3)=1.0 - IF(IROT.NE.0) THEN - JROT=LQ(JROTM-IROT) - CALL GINROT(X,Q(JROT+1),XT) - ELSE - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - ENDIF -C -C XT IS Z AXIS ROTATED. -C - IF(ABS(XT(IAXIS)).LT.0.99) GO TO 50 - IF(ISH.EQ.11)GO TO 45 - IF(ISH.EQ.12)GO TO 46 -C -C PARALLEL. -C - IP=3 - IF(ISH.GT.6.AND.ISH.NE.NSCTUB.AND.ISH.NE.13.AND.ISH.NE.14) IP=1 - CL=-PARS(IP) - CH=PARS(IP) - IERR=0 -C - GO TO 999 - 45 NZLAST=PARS(4) - IZLAST=2+3*NZLAST - CL=PARS(5) - GO TO 49 -C - 46 NZLAST=PARS(3) - IZLAST=1+3*NZLAST - CL=PARS(4) -C - 49 CH=PARS(IZLAST) - IF ( ABS(XT(IAXIS)-X(IAXIS)) .GT.1.) THEN - TEMP = CL - CL = -CH - CH = -TEMP - ENDIF - IERR=0 - GO TO 999 -C - 50 CONTINUE -** - IF(ISH.EQ.13) THEN - CL=-PARS(IAXIS) - CH=PARS(IAXIS) - IERR=0 - GOTO 999 - ENDIF -** - IF(ISH.EQ.14) THEN -C for hyperboloid, use escribed cylinder - CH = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - CL = -CH - IERR=0 - GOTO 999 - ENDIF -** - IF(ISH.GT.10.AND.ISH.NE.NSCTUB)GO TO 999 - IF(ABS(XT(IAXIS)).GT.0.01) GO TO 70 -C -C Z AXIS PERPENDICULAR TO IAXIS. ASSUME COMPLETE TUBE OR -C CONE (I.E. IGNORE PHI SEGMENTATION). -C - IF(ISH.GT.6.AND.ISH.NE.NSCTUB) GO TO 60 -C - CL=-PARS(2) - CH=PARS(2) - IERR=0 -C - GO TO 999 -C - 60 CONTINUE -C - RM=PARS(3) - IF(PARS(5).GT.PARS(3)) RM=PARS(5) -C - CL=-RM - CH=RM - IERR=0 -C - GO TO 999 -C - 70 CONTINUE -C -C ARBITRARY ROTATION. -C - DZ=PARS(3) - RM=PARS(2) - IF(ISH.EQ.13) THEN -** -** approxime to a cylinder whit radius -** equal to the ellipse major axis -** - IF(PARS(1).GT.RM) RM=PARS(1) - GOTO 80 - ENDIF -** - IF(ISH.EQ.14) THEN - RM = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - GO TO 80 - ENDIF -* - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+RM*S1 - ENDIF - IF(ISH.LE.6) GO TO 80 -C - DZ=PARS(1) - RM=PARS(3) - IF(PARS(5).GT.RM) RM=PARS(5) -C - 80 CONTINUE -C - COST=ABS(XT(IAXIS)) - SINT=(1+COST)*(1-COST) - IF(SINT.GT.0.0) SINT=SQRT(SINT) -C - CH=COST*DZ+SINT*RM - CL=-CH - IERR=0 -C - GO TO 999 - 90 CONTINUE -C -C SPHERE - ASSUME COMPLETE SPHERE, TAKE OUTER RADIUS. -C - IERR=0 - CL=-PARS(2) - CH=PARS(2) -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gflphi.F b/StarVMC/geant3/ggeom/gflphi.F deleted file mode 100644 index 4aacecf9060..00000000000 --- a/StarVMC/geant3/ggeom/gflphi.F +++ /dev/null @@ -1,346 +0,0 @@ -* -* $Id: gflphi.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gflphi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFLPHI(ISH,IROT,DX,PARS,CL,CH,IERR) -C. -C. ********************************************************** -C. * * -C. * ROUTINE TO FIND THE PHI LIMITS OF THE OBJECT SHAPE * -C. * ISH ROTATED BY MATRIX IROT AND DISPLACED BY VECTOR * -C. * DX. IT HAS NPAR PARAMTERS IN THE ARRAY PARS. THE * -C. * LOWER LIMIT IS RETURNED IN CL AND THE HIGHER IN CH. * -C. * NOTE THE OBJECT IS CONTAINED IN THE RANGE OF * -C. * INCREASING PHI FROM CL TO CH THOUGH CL AND CH ARE * -C. * FORCED TO LIE IN THE RANGE 0.0 TO 360.0 SO THAT THE * -C. * VALUE OF CL CAN BE HIGHER THAN THAT OF CH. * -C. * * -C. * ==>Called by : GFCLIM * -C. * Author A.McPherson ********* * -C. * * -C. ********************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" - DIMENSION DX(3),PARS(11),X(3),XT(3) -C. -C. ------------------------------------------- -C. - IERR=1 -C - DXS=DX(1)*DX(1)+DX(2)*DX(2) - IF(DXS.GT.0.0) DXS=SQRT(DXS) -C - IF(ISH.GT.4.AND.ISH.NE.10.AND.ISH.NE.28) GO TO 40 -C -C -C CUBOIDS, TRAPEZOIDS, PARALLELEPIPEDS. -C - IERR=0 - CL=0.0 - CH=360.0 -C -C IF IN DOUBT SET IT TO FULL RANGE. -C - IF(DXS.LE.0.0) GO TO 999 -C - PHC=90. - IF(DX(1).NE.0.)PHC=ATAN2(DX(2),DX(1))*RADDEG - IF(PHC.LT.0.0) PHC=PHC+360 - PL=0.0 - PH=0.0 -C - DO 30 IP=1,8 -C -C THIS IS A LOOP OVER THE 8 CORNERS. -C FIRST FIND THE LOCAL COORDINATES. -C - IF(ISH.EQ.28) THEN -C -C General twisted trapezoid. -C - IL=(IP+1)/2 - I0=IL*4+11 - IS=(IP-IL*2)*2+1 - X(3)=PARS(1)*IS - X(1)=PARS(I0)+PARS(I0+2)*X(3) - X(2)=PARS(I0+1)+PARS(I0+3)*X(3) - GO TO 20 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X(3)=PARS(IP3) - IF(IP.LE.4) X(3)=-X(3) - IP2=3 - IF(ISH.GT.2.AND.X(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP2=8 - X(2)=PARS(IP2) - IF(MOD(IP+3,4).LT.2) X(2)=-X(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X(2).GT.0.0) IP1=IP1+1 - X(1)=PARS(IP1) - IF(MOD(IP,2).EQ.1) X(1)=-X(1) -C - IF(ISH.NE.10) GO TO 10 - X(1)=X(1)+X(2)*PARS(4)+X(3)*PARS(5) - X(2)=X(2)+X(3)*PARS(6) - 10 CONTINUE -C - IF(ISH.NE.4) GO TO 20 - IP4=7 - IF(X(3).GT.0.0) IP4=11 - X(1)=X(1)+X(2)*PARS(IP4)+X(3)*PARS(2) - X(2)=X(2)+X(3)*PARS(3) - 20 CONTINUE -C -C ROTATE. -C - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C - XPT=DXS+(DX(1)*XT(1)+DX(2)*XT(2))/DXS - YPT=(DX(1)*XT(2)-DX(2)*XT(1))/DXS -C - IF(YPT.EQ.0.0.AND.XPT.EQ.0.0) GO TO 999 - P=ATAN2(YPT,XPT) - IF(P.GT.PI) P=P-PI*2.0 - IF(P.LT.PL) PL=P - IF(P.GT.PH) PH=P -C -C - 30 CONTINUE -C -C - IF(PH-PL.GT.PI) GO TO 999 - CL=PHC+PL*RADDEG - CH=PHC+PH*RADDEG -C - SG = SIGN(1.0,CL) - CL = MOD( ABS(CL),360.0 ) - IF(SG.LE.0.0) CL=360.-CL - SG=SIGN(1.0,CH) - CH = MOD( ABS(CH),360.0 ) - IF(SG.LE.0.0) CH=360.-CH -C - GO TO 999 -C - 40 CONTINUE - IF(ISH.GT.8.AND.ISH.NE.NSCTUB.AND.ISH.NE.13.AND.ISH.NE.14)GO TO 80 -C -C TUBES AND CONES. -C - IERR=0 - CL=0.0 - CH=360.0 -C -C WHEN IN DOUBT SET TO FULL RANGE. -C - RM=PARS(2) - IF(ISH.LE.6.OR.ISH.EQ.NSCTUB) GO TO 50 -** - IF(ISH.EQ.13) THEN -** -** approxime to a cylinder whit radius -** equal to the ellipse major axis -** - IF(PARS(1).GT.RM) RM=PARS(1) - GOTO 50 - ENDIF - IF(ISH.EQ.14) THEN - RM = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - GO TO 50 - ENDIF - RM=PARS(3) - IF(PARS(5).GT.RM) RM=PARS(5) -C - 50 CONTINUE -C - IF(DXS.GT.RM) GO TO 70 - IF(ISH.EQ.5.OR.ISH.EQ.7.OR.ISH.EQ.14) GO TO 999 - IF(ISH.EQ.13) GOTO 999 -* Here we treat the CONS - IF(IROT.EQ.0) THEN -* This is the simple case, no rotation -* Compute the position of the limits on -* the X-Y plane. - PHIMIN=PARS(4)*DEGRAD - PHIMAX=PARS(5)*DEGRAD - DDX1 = DX(1)+RM*COS(PHIMIN) - DDY1 = DX(2)+RM*SIN(PHIMIN) - DDX2 = DX(1)+RM*COS(PHIMAX) - DDY2 = DX(2)+RM*SIN(PHIMAX) - CL = ATAN2(DDY1,DDX1)*RADDEG - CH = ATAN2(DDY2,DDX2)*RADDEG - ELSE -* Rotated tubes might be more difficult -* Just leave it for later - CONTINUE - ENDIF - IF(ISH.LE.6) GO TO 60 - CL=PARS(6) - CH=PARS(7) - 60 CONTINUE -C - IF(IROT.EQ.0) GO TO 65 - JROT=LQ(JROTM-IROT) - IF(Q(JROT+15).NE.0.0.AND.Q(JROT+15).NE.180.0) GO TO 999 -C - PHX=Q(JROT+12) - PHY=Q(JROT+14) - IF(PHY.LT.PHX) PHY=PHY+360.0 - ISPH=1 - IF(PHY-PHX.GT.180.0) ISPH=-1 - CL=ISPH*CL+PHX - CH=ISPH*CH+PHX - IF(ISPH.EQ.1) GO TO 65 - CHT=CH - CH=CL - CL=CHT -C - 65 CONTINUE -C - SG=SIGN(1.0,CL) - CL = MOD( ABS(CL),360.0 ) - IF(SG.LE.0.0) CL=360.-CL - SG=SIGN(1.0,CH) - CH = MOD( ABS(CH),360.0 ) - IF(SG.LE.0.0) CH=360.-CH -C - GO TO 999 -C - 70 CONTINUE -C -C DISPLACEMENT GREATER THAN MAXIMUM RADIUS SO -C ASSUME COMPLETE TUBE TO GENERATE 'WORST CASE'. -C - DZ=PARS(3) - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+RM*S1 - ELSEIF(ISH.GT.6.AND.ISH.NE.13.AND.ISH.NE.14) THEN - DZ=PARS(1) - ENDIF -C - X(1)=0.0 - X(2)=0.0 - X(3)=1.0 -C -C LOCAL Z AXIS. -C - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C - COST=ABS(DX(1)*XT(1)+DX(2)*XT(2)) - COS2=ABS(DX(1)*XT(2)-DX(2)*XT(1)) - SINT=(DXS+COST)*(DXS-COST) - SIN2=(DXS+COS2)*(DXS-COS2) - IF(SINT.GT.0.0) SINT=SQRT(SINT) - IF(SIN2.GT.0.0) SIN2=SQRT(SIN2) -C - XPT=DXS-(COST*DZ+SINT*RM)/DXS -C - IF(XPT.LE.0.0) GO TO 999 - YPT=(SIN2*RM+COS2*DZ)/DXS - DP=ATAN(YPT/XPT) -C - P0=ATAN2(DX(2),DX(1)) - CL=(P0-DP)*RADDEG - CH=(P0+DP)*RADDEG -C - SG=SIGN(1.0,CL) - CL = MOD( ABS(CL),360.0 ) - IF(SG.LE.0.0) CL=360.-CL - SG=SIGN(1.0,CH) - CH = MOD( ABS(CH),360.0 ) - IF(SG.LE.0.0) CH=360.-CH -C - GO TO 999 -C - 80 CONTINUE - IF(ISH.GT.9) GO TO 999 -C -C SPHERE. -C - IERR=0 - CL=0.0 - CH=360.0 -C - IF(IROT.NE.0.OR.DXS.GT.0.0) GO TO 90 -C -C UNROTATED AND CENTERED. -C - CL=PARS(5) - CH=PARS(6) -C - SG=SIGN(1.0,CL) - CL = MOD( ABS(CL),360.0 ) - IF(SG.LE.0.0) CL=360.-CL - SG=SIGN(1.0,CH) - CH = MOD( ABS(CH),360.0 ) - IF(SG.LE.0.0) CH=360.-CH -C - GO TO 999 -C - 90 CONTINUE -C -C ROTATED OR NOT CENTERED. -C - IF(DXS.LT.PARS(2)) GO TO 999 - P0=ATAN2(DX(2),DX(1)) - DP=ASIN(PARS(2)/DXS) - CL=(P0-DP)*RADDEG - CH=(P0+DP)*RADDEG -C - SG=SIGN(1.0,CL) - CL = MOD( ABS(CL),360.0 ) - IF(SG.LE.0.0) CL=360.-CL - SG=SIGN(1.0,CH) - CH = MOD( ABS(CH),360.0 ) - IF(SG.LE.0.0) CH=360.-CH -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gflrad.F b/StarVMC/geant3/ggeom/gflrad.F deleted file mode 100644 index 52f0ffcd602..00000000000 --- a/StarVMC/geant3/ggeom/gflrad.F +++ /dev/null @@ -1,232 +0,0 @@ -* -* $Id: gflrad.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gflrad.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFLRAD(IAXIS,ISH,IROT,DX,PARS,CL,CH,IERR) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO COMPUTE THE LIMITS IN R FOR THE SHAPE ISH * -C. * DISPLACED BY THE VECTOR DX AND ROTATED BY THE MATRIX IROT. * -C. * IF IAXIS = 4 THE R IS THE XY PLANE R, IF IAXIS = 5 IT IS * -C. * THE 3 DINEMSIONAL SPACE R. THE SHAPE HAS NPAR PARAMETERS * -C. * IN THE ARRAY PARS. THE LOWER LIMIT IS RETURNED IN CL AND * -C. * THE HIGHER IN CH. IF THE CALCULATION CANNOT BE PERFORMED * -C. * IERR IS SET TO 1 OTHERWISE IT IS SET TO 0. * -C. * * -C. * ==>Called by : GFCLIM * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" - DIMENSION DX(3),PARS(11),X(3),XT(3) -C. -C. -------------------------------------------------- -C. - IERR=1 -C -C FIRST CALCULATE THE LENGTH OF THE DISPLACEMENT OF THE -C ORIGIN. -C - DXS=DX(1)*DX(1)+DX(2)*DX(2) - IF(IAXIS.EQ.5) DXS=DXS+DX(3)*DX(3) - IF(DXS.GT.0.0) DXS=SQRT(DXS) -C - IF(ISH.GT.4.AND.ISH.NE.10.AND.ISH.NE.28) GO TO 40 -C -C CUBOIDS, TRAPEZOIDS, PARALLELEPIPEDS. -C - CH=0.0 - CL=DXS -C - DO 30 IP=1,8 -C -C THIS IS A LOOP OVER THE 8 CORNERS. -C FIRST FIND THE LOCAL COORDINATES. -C - IF(ISH.EQ.28) THEN -C -C General twisted trapezoid. -C - IL=(IP+1)/2 - I0=IL*4+11 - IS=(IP-IL*2)*2+1 - X(3)=PARS(1)*IS - X(1)=PARS(I0)+PARS(I0+2)*X(3) - X(2)=PARS(I0+1)+PARS(I0+3)*X(3) - GO TO 20 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X(3)=PARS(IP3) - IF(IP.LE.4) X(3)=-X(3) - IP2=3 - IF(ISH.GT.2.AND.X(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP2=8 - X(2)=PARS(IP2) - IF(MOD(IP+3,4).LT.2) X(2)=-X(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X(2).GT.0.0) IP1=IP1+1 - X(1)=PARS(IP1) - IF(MOD(IP,2).EQ.1) X(1)=-X(1) -C - IF(ISH.NE.10) GO TO 10 - X(1)=X(1)+X(2)*PARS(4)+X(3)*PARS(5) - X(2)=X(2)+X(3)*PARS(6) - 10 CONTINUE -C - IF(ISH.NE.4) GO TO 20 - IP4=7 - IF(X(3).GT.0.0) IP4=11 - X(1)=X(1)+X(2)*PARS(IP4)+X(3)*PARS(2) - X(2)=X(2)+X(3)*PARS(3) - 20 CONTINUE -C -C ROTATE. -C - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C -C NOW COMPUTE RMIN = PROJECTED R ON DX AND RMAX = R -C AND UPDATE LIMITS IF NECESSARY. -C - R2=(XT(1)+DX(1))**2+(XT(2)+DX(2))**2 - IF(IAXIS.EQ.5) R2=R2+(XT(3)+DX(3))**2 - R=SQRT(R2) - IF(R.GT.CH) CH=R -C - IF(CL.LE.0.0) GO TO 30 -C - XPT=DX(1)*XT(1)+DX(2)*XT(2) - IF(IAXIS.EQ.5) XPT=XPT+DX(3)*XT(3) - IF(DXS.LE.1.0E-05) GO TO 30 - RMN=DXS+XPT/DXS - IF(RMN.LT.CL) CL=RMN -C - 30 CONTINUE -C - IF(CL.LE.0.0) CL=0.0 -C - IERR=0 - GO TO 999 -C - 40 CONTINUE - IF(ISH.GT.8.AND.ISH.NE.NSCTUB.AND.ISH.NE.13.AND.ISH.NE.14)GO TO 80 -C -C TUBES AND CONES. -C - IP3=3 - IF(ISH.GT.6.AND.ISH.NE.NSCTUB.AND.ISH.NE.13.AND.ISH.NE.14) IP3=1 - DZ=PARS(IP3) - R=PARS(2) - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+R*S1 - ENDIF -** - IF(ISH.EQ.13) THEN -** -** APPROXIME TO A CYLINDER WHIT RADIUS -** EQUAL TO THE ELLIPSE MAJOR AXIS -** - RMN=0.0 - IF(PARS(1).GT.R) R=PARS(1) - GOTO 50 - ENDIF - RMN=PARS(1) -* - IF(ISH.EQ.14) THEN - R = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - GO TO 50 - ENDIF -C - IF(ISH.LE.6.OR.ISH.EQ.NSCTUB) GO TO 50 -C - R=PARS(3) - IF(PARS(5).GT.R) R=PARS(5) - RMN=PARS(2) - IF(PARS(4).LT.RMN) RMN=PARS(4) -C - 50 CONTINUE -C -C ROTATE THE LOCAL Z AXIS. -C - X(1)=0.0 - X(2)=0.0 - X(3)=1.0 - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C -C COMPUTE RMIN AND RMAX ASSUMING COMPLETE TUBE HALF -C LENGTH DZ AND RADIUS R. -C - ST2=1.0 - IF(IAXIS.EQ.4) ST2=(1+XT(3))*(1-XT(3)) - DR=SQRT(DZ*DZ*ST2+R*R) - CL=DXS-DR - IF(CL.LT.0.0) CL=0.0 - CH=DXS+DR - IF(IROT.EQ.0.AND.DXS.LT.1.0E-05) CL=RMN - IERR=0 -C - GO TO 999 -C - 80 CONTINUE - IF(ISH.GT.9) GO TO 999 -C -C SPHERE. -C - CL=DXS-PARS(2) - IF(CL.LT.0.0) CL=0.0 - CH=DXS+PARS(2) - IF(IAXIS.EQ.5.AND.DXS.LT.1.0E-05) CL=PARS(1) - IERR=0 -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gflthe.F b/StarVMC/geant3/ggeom/gflthe.F deleted file mode 100644 index 6a6b9e85279..00000000000 --- a/StarVMC/geant3/ggeom/gflthe.F +++ /dev/null @@ -1,506 +0,0 @@ -* -* $Id: gflthe.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gflthe.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:48 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFLTHE(ISH,IROT,DX,PARS,CL,CH,IERR) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO COMPUTE THE THETA LIMITS FOR VOLUME OF SHAPE * -C. * ISH ROTATED BY MATRIX IROT AND DISPLACED BY VECTOR DX. * -C. * THE VOLUME HAS NPAR PARAMETERS IN THE ARRAY PARS. THE LOWER * -C. * LIMIT IS RETURNED IN CL THE HIGHER IN CH. IF THE * -C. * CALCULATION CANNOT BE MADE IERR IS SET TO 1 OTHERWISE IT * -C. * IS SET TO 0. * -C. * * -C. * ==>Called by : GFCLIM * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" - DIMENSION DX(3),PARS(11),X(3),XT(3),X1(3),X2(3),XT1(3),XT2(3) -C. -C. ---------------------------------------------- -C. - IERR=1 -C - DXS=DX(1)*DX(1)+DX(2)*DX(2) - IF(DXS.GT.0.0) DXS=SQRT(DXS) -C - IF(ISH.GT.4.AND.ISH.NE.10.AND.ISH.NE.28) GO TO 130 -C -C CUBES, TRAPEZOIDS AND PARALLELEPIPEDS. -C - IERR=0 - CL=0.0 - CH=180.0 -C - IF(DXS.LE.0.0) GO TO 999 -C - TH=90. - IF(ABS(DX(3)).LT.1.0E-06)GO TO 5 - TH=ATAN(DXS/DX(3))*RADDEG - IF(TH.LT.0.0) TH=TH+180.0 - 5 TL=TH -C - DO 50 IP=1,8 -C -C THIS IS A LOOP OVER THE 8 CORNERS. -C FIRST FIND THE LOCAL COORDINATES. -C - IF(ISH.EQ.28) THEN -C -C General twisted trapezoid. -C - IL=(IP+1)/2 - I0=IL*4+11 - IS=(IP-IL*2)*2+1 - X(3)=PARS(1)*IS - X(1)=PARS(I0)+PARS(I0+2)*X(3) - X(2)=PARS(I0+1)+PARS(I0+3)*X(3) - GO TO 20 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X(3)=PARS(IP3) - IF(IP.LE.4) X(3)=-X(3) - IP2=3 - IF(ISH.GT.2.AND.X(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP2=8 - X(2)=PARS(IP2) - IF(MOD(IP+3,4).LT.2) X(2)=-X(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X(2).GT.0.0) IP1=IP1+1 - X(1)=PARS(IP1) - IF(MOD(IP,2).EQ.1) X(1)=-X(1) -C - IF(ISH.NE.10) GO TO 10 - X(1)=X(1)+X(2)*PARS(4)+X(3)*PARS(5) - X(2)=X(2)+X(3)*PARS(6) - 10 CONTINUE -C - IF(ISH.NE.4) GO TO 20 - IP4=7 - IF(X(3).GT.0.0) IP4=11 - X(1)=X(1)+X(2)*PARS(IP4)+X(3)*PARS(2) - X(2)=X(2)+X(3)*PARS(3) - 20 CONTINUE -C -C ROTATE. -C - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C - Z=DX(3)+XT(3) - R=(DX(1)+XT(1))**2+(DX(2)+XT(2))**2 - RT=R+(DX(3)+XT(3))**2 - IF(RT.LT.1.0E-10) GO TO 999 -C - IF(R.GT.0.0) GO TO 30 - IF(Z.GT.0.0) T=0.0 - IF(Z.LT.0.0) T=180.0 - GO TO 40 -C - 30 CONTINUE - T=90.0 - IF(ABS(Z).LT.1.0E-6) GO TO 40 -C - R=SQRT(R) - T=ATAN(R/Z)*RADDEG - IF(T.EQ.0.0.AND.Z.LT.0.0) T=180.0 - IF(T.LT.0.0) T=T+180.0 -C - 40 CONTINUE - IF(T.GT.TH) TH=T - IF(T.LT.TL) TL=T -C - 50 CONTINUE -C -C THETA LIMITS SET FROM THE POINTS NOW DO THE EDGES. -C - DO 120 IL=1,12 -C -C FIND THE END POINT NUMBERS FOR EACH EDGE. -C - IF(IL.GT.4) GO TO 60 - IPP1=1 - IF(IL.GT.2) IPP1=4 - IPP2=2 - IF(MOD(IL,2).EQ.1) IPP2=3 -C - GO TO 80 - 60 CONTINUE - IF(IL.LT.9) GO TO 70 -C - IPP1=5 - IF(IL.GT.10) IPP1=8 - IPP2=6 - IF(MOD(IL,2).EQ.1) IPP2=7 -C - GO TO 80 - 70 CONTINUE -C - IPP1=IL-4 - IPP2=IL -C - 80 CONTINUE -C -C NOW GET THE POINTS AND ROTATE THEM. -C - IF(ISH.EQ.28) THEN -C -C General twisted trapezoid. -C - ILL=IPP1 - IF(IPP1.EQ.3) ILL=4 - IF(IPP1.EQ.4) ILL=3 - I0=ILL*4+11 - X1(3)=PARS(1) - IF(IPP1.LT.5) X1(3)=-X1(3) - X1(1)=PARS(I0)+PARS(I0+2)*X1(3) - X1(2)=PARS(I0+1)+PARS(I0+3)*X1(3) - ILL=IPP2 - IF(IPP2.EQ.3) ILL=4 - IF(IPP2.EQ.4) ILL=3 - I0=ILL*4+11 - X2(3)=PARS(1) - IF(IPP2.LT.5) X2(3)=-X2(3) - X2(1)=PARS(I0)+PARS(I0+2)*X2(3) - X2(2)=PARS(I0+1)+PARS(I0+3)*X2(3) -C - GO TO 100 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X1(3)=PARS(IP3) - IF(IPP1.LE.4) X1(3)=-X1(3) - IP2=3 - IF(ISH.GT.2.AND.X1(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X1(3).GT.0.0) IP2=8 - X1(2)=PARS(IP2) - IF(MOD(IPP1+3,4).LT.2) X1(2)=-X1(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X1(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X1(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X1(2).GT.0.0) IP1=IP1+1 - X1(1)=PARS(IP1) - IF(MOD(IPP1,2).EQ.1) X1(1)=-X1(1) -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X2(3)=PARS(IP3) - IF(IPP2.LE.4) X2(3)=-X2(3) - IP2=3 - IF(ISH.GT.2.AND.X2(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X2(3).GT.0.0) IP2=8 - X2(2)=PARS(IP2) - IF(MOD(IPP2+3,4).LT.2) X2(2)=-X2(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X2(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X2(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X2(2).GT.0.0) IP1=IP1+1 - X2(1)=PARS(IP1) - IF(MOD(IPP2,2).EQ.1) X2(1)=-X2(1) -C - IF(ISH.NE.10) GO TO 90 - X1(1)=X1(1)+X1(2)*PARS(4)+X1(3)*PARS(5) - X1(2)=X1(2)+X1(3)*PARS(6) - X2(1)=X2(1)+X2(2)*PARS(4)+X2(3)*PARS(5) - X2(2)=X2(2)+X2(3)*PARS(6) - 90 CONTINUE -C - IF(ISH.NE.4) GO TO 100 - IP4=7 - IF(X1(3).GT.0.0) IP4=11 - X1(1)=X1(1)+X1(2)*PARS(IP4)+X1(3)*PARS(2) - X1(2)=X1(2)+X1(3)*PARS(3) - IP4=7 - IF(X2(3).GT.0.0) IP4=11 - X2(1)=X2(1)+X2(2)*PARS(IP4)+X2(3)*PARS(2) - X2(2)=X2(2)+X2(3)*PARS(3) - 100 CONTINUE -C -C ROTATE. -C - JROT=LQ(JROTM-IROT) - XT1(1)=X1(1) - XT1(2)=X1(2) - XT1(3)=X1(3) - IF(IROT.NE.0) CALL GINROT(X1,Q(JROT+1),XT1) - XT2(1)=X2(1) - XT2(2)=X2(2) - XT2(3)=X2(3) - IF(IROT.NE.0) CALL GINROT(X2,Q(JROT+1),XT2) -C -C NOW WE HAVE THE END POINTS IN THE MASTER SYSTEM. -C FIND THE TANGENT POINT TO THE SET OF CONES OF CONSTANT -C THETA. -C - DS=(XT2(1)-XT1(1))**2+(XT2(2)-XT1(2))**2+(XT2(3)-XT1(3))**2 - IF(DS.LE.0.0) GO TO 120 -C - DS=SQRT(DS) -C - X0=(XT2(1)+XT1(1))/2.0+DX(1) - Y0=(XT2(2)+XT1(2))/2.0+DX(2) - Z0=(XT2(3)+XT1(3))/2.0+DX(3) - ALX=(XT2(1)-XT1(1))/DS - ALY=(XT2(2)-XT1(2))/DS - ALZ=(XT2(3)-XT1(3))/DS -C - T=90.0 - IF(Z0.EQ.0.0.AND.ALZ.EQ.0.0) GO TO 110 -C - IF(ALX.EQ.0.0.AND.ALY.EQ.0.0) GO TO 120 -C THIS CHECKS WHETHER THE LINE IS PARALLEL TO THE -C Z AXIS IN WHICH CASE THERE IS NO TANGENT AND -C THE END POINTS DETERMINE THE THETA RANGE. -C - SNUM=(X0*Z0*ALX+Y0*Z0*ALY+X0*X0*ALZ+Y0*Y0*ALZ) - SDEN=(Z0*ALX*ALX-X0*ALX*ALZ+Z0*ALY*ALY-Y0*ALY*ALZ) -C - IF(ABS(SNUM).GT.0.5*DS*ABS(SDEN)) GO TO 120 -C -C TANGENT EXIST BETWEEN THE TWO ENDS. -C - S = SNUM/SDEN - X0=X0+S*ALX - Y0=Y0+S*ALY - Z0=Z0+S*ALZ -C - R=X0*X0+Y0*Y0 - RT=R+Z0*Z0 -C - IF(RT.LT.1.0E-10) GO TO 999 -C - IF(R.GT.0.0) R=SQRT(R) - T=90.0 - IF(ABS(Z0).LT.1.0E-06) GO TO 110 -C - T=ATAN(R/Z0)*RADDEG - IF(T.EQ.0.0.AND.Z0.LT.0.0) T=180.0 - IF(T.LT.0.0) T=T+180.0 -C - 110 CONTINUE -C - IF(T.LT.TL) TL=T - IF(T.GT.TH) TH=T -C -C CHECK FOR THE POSSIBILITY OF STRADDLING T=0.0 &/OR 180.0. -C - C=X0*DX(1)+Y0*DX(2) - IF(C.GT.0.0) GO TO 120 -C -C CHECK IF SAME SIGN OF Z. -C - IF(Z0*DX(3).LT.0.0) GO TO 999 -C - T=0.0 - IF(Z0.LT.0.0) T=180.0 - IF(T.LT.TL) TL=T - IF(T.GT.TH) TH=T -C - 120 CONTINUE -C -C DONE SET THE LIMITS. -C - CL=TL - CH=TH -C - GO TO 999 -C - 130 CONTINUE -C -C TUBES, CONES ETC. -C - IF(IROT.NE.0.OR.DXS.GT.1.0E-05) GO TO 180 -C -C UNROTATED AND CENTERED. -C - IF(ISH.GT.8.AND.ISH.NE.NSCTUB.AND.ISH.NE.13 - + .AND.ISH.NE.14)GO TO 170 -C -C TUBES AND CONES. -C - IERR=0 - DZ=PARS(3) - RMN=PARS(1) - RMX=PARS(2) - IF(ISH.EQ.13) THEN -** -** approxime to a cylinder whit radius -** equal to the ellipse major axis -** - RMN=0.0 - IF(PARS(1).GT.RMX) RMX=PARS(1) - GOTO 140 - ENDIF - IF(ISH.EQ.14) THEN -C not really sure of the function of these... keep RMN=PARS(1) - RMX = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - GO TO 140 - ENDIF - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+RMX*S1 - ENDIF - IF(ISH.LE.6.OR.ISH.EQ.NSCTUB) GO TO 140 - DZ=PARS(1) - RMN=PARS(2) - RMX=PARS(3) - IF(PARS(4).LT.RMN) RMN=PARS(4) - IF(PARS(5).GT.RMX) RMX=PARS(5) - 140 CONTINUE -C - IF(DZ.GT.ABS(DX(3))) GO TO 160 -C -C ALL FORWARD OR ALL BACK. -C - DSH=DX(3)-DZ - DLN=DX(3)+DZ - IF(DX(3).GT.0.0) GO TO 150 - DSS=DSH - DSH=DLN - DLN=DSS - 150 CONTINUE -C - CL=90.0 - CH=90.0 - IF(DLN.NE.0.0) CL=ATAN(RMN/DLN)*RADDEG - IF(DSH.NE.0.0) CH=ATAN(RMX/DSH)*RADDEG - IF(DX(3).GT.0.0) GO TO 999 - CS=CL - CL=CH - CH=CS - IF(CH.EQ.0.0) CH=180.0 - IF(CL.LT.0.0) CL=CL+180.0 - IF(CH.LT.0.0) CH=CH+180.0 -C - GO TO 999 -C - 160 CONTINUE -C - CL=90.0 - CH=90.0 - IF(DZ+DX(3).NE.0.0) CL=ATAN(RMN/(DZ+DX(3)))*RADDEG - IF(-DZ+DX(3).NE.0.0) CH=ATAN(RMN/(-DZ+DX(3)))*RADDEG - IF(CH.LE.0.0) CH=CH+180.0 -C - GO TO 999 -C - 170 CONTINUE - IF(ISH.GT.9) GO TO 999 -C -C SPHERE. -C - IERR=0 - CL=PARS(3) - CH=PARS(4) -C - GO TO 999 - 180 CONTINUE -C - IF(ISH.EQ.11.OR.ISH.EQ.12) GOTO 999 -** - RM=PARS(2) - IF(ISH.EQ.9) GO TO 200 -C - DZ=PARS(3) - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+RM*S1 - ENDIF -** - IF(ISH.EQ.13) THEN - IF(PARS(1).GT.RM) RM=PARS(1) - GOTO 190 - ENDIF -** - IF(ISH.LE.6.OR.ISH.EQ.NSCTUB) GO TO 190 -C - DZ=PARS(1) - RM=PARS(3) - IF(PARS(5).GT.RM) RM=PARS(5) -C - 190 CONTINUE -C - RM=SQRT(RM**2+DZ**2) -C - 200 CONTINUE -C - CL=0.0 - CH=180.0 - IERR=0 - RC=DXS**2+DX(3)**2 - IF(RC.GT.0.0) RC=SQRT(RC) - IF(RM.GE.RC) GO TO 999 -C - TC=90.0 - IF(ABS(DX(3)).GT.0.0) TC=ATAN(DXS/DX(3))*RADDEG - IF(TC.LT.0.0) TC=TC+180.0 -C - DT=ASIN(RM/RC)*RADDEG - CL=TC-DT - CH=TC+DT - IF(CL.LT.0.0) CL=0.0 - IF(CH.GT.180.0) CH=180.0 -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gfmoth.F b/StarVMC/geant3/ggeom/gfmoth.F deleted file mode 100644 index cade865500e..00000000000 --- a/StarVMC/geant3/ggeom/gfmoth.F +++ /dev/null @@ -1,68 +0,0 @@ -* -* $Id: gfmoth.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfmoth.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 17/10/94 10.37.07 by S.Giani -*-- Author : - SUBROUTINE GFMOTH(NAME,MOTHER,KONLY) -C. -C. ****************************************************************** -C. * * -C. * Fetch MOTHER and ONLY-flag of volume NAME * -C. * * -C. * ==>Called by : no more used * -C. * Author P.Zanarini ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" - COMMON/FMOTH/INGLOB,IVOMGL - CHARACTER*4 NAME,MOTHER -C. -C. ------------------------------------------------------------------ -C. - MOTHER=' ' - CALL GLOOK(NAME,IQ(JVOLUM+1),NVOLUM,IVOSON) - IF(IVOSON.LE.0)GO TO 999 - DO 20 IVOMOT=1,NVOLUM - IVOMGL=IVOMOT - JVO=LQ(JVOLUM-IVOMOT) - NIN=Q(JVO+3) - MNIN=NIN - IF (NIN.LT.0) MNIN=1 - DO 10 IN=1,MNIN - INGLOB=IN - JIN = LQ(JVO-IN) - IVO=Q(JIN+2) - IF (IVO.EQ.IVOSON) GO TO 30 - 10 CONTINUE - 20 CONTINUE - 30 CALL UHTOC(IQ(JVOLUM+IVOMOT),4,MOTHER,4) - KONLY=1 - IF (NIN.GT.0) KONLY=Q(JIN+8) - 999 RETURN - END diff --git a/StarVMC/geant3/ggeom/gfpara.F b/StarVMC/geant3/ggeom/gfpara.F deleted file mode 100644 index 1728693380d..00000000000 --- a/StarVMC/geant3/ggeom/gfpara.F +++ /dev/null @@ -1,186 +0,0 @@ -* -* $Id: gfpara.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfpara.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE G3FPARA (NAME, NUMBER, INTEXT, NPAR, NATT, PAR, ATT) -C. -C. ****************************************************************** -C. * * -C. * Fetch parameters and attributes * -C. * of the volume NAME-NUMBER. * -C. * INTEXT is used to select internal (INTEXT=1) * -C. * or user parameters to be fetched. * -C. * * -C. * Called by : GDPRTR, GDRAW, GDSPEC, GPVOLU * -C. * Authors : S.Banerjee, A.McPherson, P.Zanarini * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gconsp.inc" - CHARACTER*4 NAME - PARAMETER (NLVMAX=15) - DIMENSION PAR(*), ATT(*), LVOLS(NLVMAX), LINDX(NLVMAX) - LOGICAL BTEST -C. -C. ------------------------------------------------------------------ -C. - CALL GLOOK (NAME, IQ(JVOLUM+1), NVOLUM, IVO) - IF (IVO.LE.0) GO TO 991 - JVO = LQ(JVOLUM-IVO) - ISH = Q(JVO+2) - NPAR = Q(JVO+5) - NATT = Q(JVO+6) - JATT = JVO + 6 + NPAR -* -* *** Find a suitable way to access the volume parameters -* - IF (INTEXT.NE.1.OR..NOT.BTEST(IQ(JVO),1)) THEN - IF (NPAR.GT.0) THEN -* -* ** From the JVO structure -* - JPAR = JVO + 6 - ELSE -* -* ** From positioning of the volume in the mother -* - DO 15 IVOM = 1, NVOLUM - IF (IVO.EQ.IVOM) GO TO 15 - JVOM = LQ(JVOLUM-IVOM) - NINM = Q(JVOM+3) - IF (NINM.LE.0) GO TO 15 - DO 10 IN = 1, NINM - JINM = LQ(JVOM-IN) - IVOT = Q(JINM+2) - IF (IVOT.NE.IVO) GO TO 10 - NUMR = Q(JINM+3) - IF (NUMR.EQ.NUMBER) GO TO 20 - 10 CONTINUE - 15 CONTINUE - GO TO 991 - 20 JPAR = JINM + 9 - NPAR = Q(JPAR) - ENDIF -* - ELSE -* -* ** From development structure -* - CALL G3LMOTH (NAME, NUMBER, NLDM, LVOLS, LINDX) - IF (NLDM.LE.0) GO TO 991 - JVOM = LQ(JVOLUM-LVOLS(NLDM)) - NINM = Q(JVOM+3) - IF (NINM.LT.0) THEN - IN = NUMBER - ELSE - DO 25 IN = 1, NINM - JINM = LQ(JVOM-IN) - IF (IFIX(Q(JINM+2)).NE.IVO) GO TO 25 - IF (IFIX(Q(JINM+3)).EQ.NUMBER) GO TO 30 - 25 CONTINUE - GO TO 991 - ENDIF - 30 JPAR = LQ(LQ(JVOLUM-LVOLS(1))) - IF (NLDM.GT.1) THEN - DO 35 ILEV = 2, NLDM - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - IF (JPAR.EQ.0) GO TO 991 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 35 CONTINUE - ENDIF - IF (NINM.GT.0) THEN - JPAR = LQ(JPAR-IN) - IF (JPAR.EQ.0) GO TO 991 - ELSE - IF (IN.GT.IQ(JPAR+1)) GO TO 991 - IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - ENDIF - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - ENDIF -* - IF (NPAR.LE.0) GO TO 999 - CALL UCOPY (Q(JPAR+1), PAR, NPAR) - CALL UCOPY (Q(JATT+1), ATT, NATT) -* - IF (INTEXT.EQ.1) GO TO 999 - IF (ISH.EQ.28) THEN -* -* ** NPAR : 30 ---> 12 -* - NPAR = 12 -* - ELSE IF (ISH.EQ.4) THEN -* -* ** TRAP -* - NPAR=11 - PH = 0. - IF (PAR(2).NE.0.) PH = ATAN2(PAR(3),PAR(2))*RADDEG - TT = SQRT(PAR(2)**2+PAR(3)**2) - PAR(2) = ATAN(TT)*RADDEG - IF (PH.LT.0.0) PH = PH+360.0 - PAR(3) = PH - PAR(7) = ATAN(PAR(7))*RADDEG - IF (PAR(7).GT.90.0) PAR(7) = PAR(7)-180.0 - PAR(11)= ATAN(PAR(11))*RADDEG - IF (PAR(11).GT.90.0) PAR(11) = PAR(11)-180.0 -* - ELSE IF (ISH.EQ.10) THEN -* -* ** PARA -* - PH = 0. - IF (PAR(5).NE.0.) PH = ATAN2(PAR(6),PAR(5))*RADDEG - TT = SQRT(PAR(5)**2+PAR(6)**2) - PAR(4) = ATAN(PAR(4))*RADDEG - IF (PAR(4).GT.90.0) PAR(4) = PAR(4)-180.0 - PAR(5) = ATAN(TT)*RADDEG - IF (PH.LT.0.0) PH = PH+360.0 - PAR(6) = PH - ENDIF - GO TO 999 -* - 991 NPAR = 0 - 999 RETURN -* END GFPARA - END diff --git a/StarVMC/geant3/ggeom/gfstat.F b/StarVMC/geant3/ggeom/gfstat.F deleted file mode 100644 index 99e26bfdc5f..00000000000 --- a/StarVMC/geant3/ggeom/gfstat.F +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: gfstat.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfstat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFSTAT(ICASE) -C. -C. ****************************************************************** -C. * * -C. * FILL banks for volume statistics * -C. * * -C. * ==>Called by : GINVOL, GMEDIA, GTNEXT, GTMEDI, GTRACK * -C. * * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -C. -C. ------------------------------------------------------------------ -C. - IF(JGSTAT.LE.0)GO TO 999 - IF(NLEVEL.LE.0)GO TO 999 -C - IF(ICASE.LE.1) THEN -C -C GINVOL ICASE=0,1 -C - IVO=LVOLUM(NLEVEL) - JG=LQ(JGSTAT-IVO) - IF(JG.GT.0) THEN - IQ(JG+1+ICASE)=IQ(JG+1+ICASE)+1 - ENDIF - ELSEIF(ICASE.LE.10) THEN -C -C GMEDIA (ICASE=2), GTNEXT (ICASE=3) or GTMEDI (ICASE=4) -C - IC = ICASE*2-1 - DO 10 ILEV=1,NLEVEL - IVO=LVOLUM(ILEV) - JG=LQ(JGSTAT-IVO) - IF(JG.GT.0) THEN - IQ(JG+IC)=IQ(JG+IC)+1 - IF(ILEV.EQ.NLEVEL) THEN - IQ(JG+IC+1)=IQ(JG+IC+1)+1 - ENDIF - ENDIF - 10 CONTINUE -C -C ICASE=10+ITRTYP (steps) -C - ELSE - IVO=LVOLUM(NLEVEL) - JG=LQ(JGSTAT-IVO) - IF(JG.GT.0) THEN - IQ(JG+9)=IQ(JG+9)+1 - ENDIF - ENDIF -C - 999 END diff --git a/StarVMC/geant3/ggeom/gfupar.F b/StarVMC/geant3/ggeom/gfupar.F deleted file mode 100644 index 15cc2d4ee5a..00000000000 --- a/StarVMC/geant3/ggeom/gfupar.F +++ /dev/null @@ -1,131 +0,0 @@ -* -* $Id: gfupar.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfupar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFUPAR(JVO,JIN,NPAR,NATT,PAR,ATT) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO FETCH USER PARAMETERS AND ATTRIBUTES FOR * -C. * THE VOLUME FROM VOLUME ADDRESS JVO AND IF GSPOSP TYPE * -C. * VERSION DEFINED BY IN ADDRESS JIN. * -C. * * -C. * ==>Called by : * -C. * Author P.Zanarini ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gconsp.inc" - DIMENSION PAR(*),ATT(*) -C. -C. --------------------------------------- -C. - NPAR=Q(JVO+5) - NATT=Q(JVO+6) - ISH=Q(JVO+2) - JPAR=JVO+7 - JATT=JVO+7+NPAR -C - IF(NPAR.GT.0) GO TO 10 - IF(NPAR.NE.0) GO TO 900 - IF(JIN.LE.0) GO TO 910 -C - JPAR=JIN+9 - NPAR=Q(JPAR) - JPAR=JPAR+1 -C - 10 CONTINUE -C -C NPAR : 30 ---> 12 -C - IF(ISH.EQ.28) NPAR=12 -C - IF(NPAR.LE.0) GO TO 920 - CALL UCOPY(Q(JPAR),PAR,NPAR) - CALL UCOPY(Q(JATT),ATT,NATT) -C - IF(ISH.NE.4) GO TO 20 -C -C TRAPEZOID -C - PH=90.0 - IF(PAR(2).NE.0.)PH=ATAN2(PAR(3),PAR(2))*RADDEG - TT=PAR(2)**2+PAR(3)**2 - IF(TT.GT.0.0) TT=SQRT(TT) - PAR(2)=ATAN(TT)*RADDEG - IF(PH.LT.0.0) PH=PH+360.0 - PAR(3)=PH - PAR(7)=ATAN(PAR(7))*RADDEG - IF(PAR(7).GT.90.0) PAR(7)=PAR(7)-180.0 - PAR(11)=ATAN(PAR(11))*RADDEG - IF(PAR(11).GT.90.0) PAR(11)=PAR(11)-180.0 -C - GO TO 99 - 20 CONTINUE -C - IF(ISH.NE.10) GO TO 99 -C -C PARALLELEPIPED. -C - PH=90.0 - IF(PAR(5).NE.0.)PH=ATAN2(PAR(6),PAR(5))*RADDEG - TT=PAR(5)**2+PAR(6)**2 - IF(TT.GT.0.0) TT=SQRT(TT) - PAR(4)=ATAN(PAR(4))*RADDEG - IF(PAR(4).GT.90.0) PAR(4)=PAR(4)-180.0 - PAR(5)=ATAN(TT)*RADDEG - IF(PH.LT.0.0) PH=PH+360.0 - PAR(6)=PH -C - GO TO 99 -C - 900 CONTINUE -C - WRITE(CHMAIL,1000) NPAR - CALL GMAIL(0,0) - 1000 FORMAT(' **** ERROR IN GFUPAR - NPAR FROM JVO =',I5,' LE 0 ****') -C - GO TO 99 - 910 CONTINUE -C - WRITE(CHMAIL,1010) JIN - CALL GMAIL(0,0) - 1010 FORMAT(' **** ERROR IN GFUPAR - NPAR FROM VOL 0 AND JIN =' - +,I12,' IS LE 0 ****') -C - GO TO 99 - 920 CONTINUE -C - WRITE(CHMAIL,1020) NPAR - CALL GMAIL(0,0) - 1020 FORMAT(' **** ERROR IN GFUPAR - NPAR FROM JIN =',I5,' LE 0 ****') -C - 99 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gfvolu.F b/StarVMC/geant3/ggeom/gfvolu.F deleted file mode 100644 index 5ce0fdb72c3..00000000000 --- a/StarVMC/geant3/ggeom/gfvolu.F +++ /dev/null @@ -1,103 +0,0 @@ -* -* $Id: gfvolu.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: gfvolu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GFVOLU(NUMB,NAME,NAMS) -C. -C. ****************************************************************** -C. * * -C. * Routine to print VOLUMES data structures JVOLUM * -C. * NUMB Volume number * -C. * * -C. * ==>Called by : , GPRINT * -C. * Author R.Brun S.Giani ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - CHARACTER*4 ISHAP(30),NAME,NAMS -* DIMENSION PAR(100),ATT(20) - SAVE ISHAP - DATA ISHAP/'BOX ','TRD1','TRD2','TRAP','TUBE','TUBS','CONE', - + 'CONS','SPHE','PARA','PGON','PCON','ELTU','HYPE', - +13*' ', 'GTRA','CTUB',' '/ -C. -C. ------------------------------------------------------------------ - IF (JVOLUM.LE.0) GO TO 99 - IF (NUMB .GT.0) GO TO 10 -C -* WRITE (CHMAIL,1000) -* CALL GMAIL(0,0) -* WRITE (CHMAIL,1001) -* CALL GMAIL(0,1) -C - N1 = 1 - N2 = NVOLUM - GO TO 20 -C - 10 CONTINUE -* 10 WRITE (CHMAIL,1001) -* CALL GMAIL(0,1) -C - N1 = NUMB - N2 = NUMB -C - 20 DO 30 I=N1,N2 - JVO = LQ(JVOLUM-I) - IF (JVO.LE.0) GO TO 30 -C - CALL UHTOC(IQ(JVOLUM+I),4,NAME,4) - IS = Q(JVO+2) -* NMED = Q(JVO+4) -C -** CALL GFPARA(NAME,1,1,NPAR,NATT,PAR,ATT) -* IEND10=10 -* IF(NPAR.LT.IEND10)IEND10=NPAR -* - NAMS=ISHAP(IS) -* -* WRITE(CHMAIL,1002)I,NAME,NMED,ISHAP(IS),NPAR,(PAR(J),J=1,IEND10) -* CALL GMAIL(0,0) -** DO 25 I10=11,NPAR,10 -** IEND10=I10+9 -** IF (NPAR.LT.IEND10) IEND10=NPAR -* WRITE (CHMAIL,1003) (PAR(J),J = I10,IEND10) -* CALL GMAIL(0,0) -** 25 CONTINUE - 30 CONTINUE -C -* 1000 FORMAT ('0',51('='),5X,' VOLUMES ',6X,50('=')) -* 1001 FORMAT ('0','VOLUME NAME NUMED SHAPE NPAR PARAMETERS') -* 1002 FORMAT (' ',I6,1X,A4,2X,I3,3X,A4,I5,2X,10E10.3) -* 1003 FORMAT (31X,10E10.3) - 99 END diff --git a/StarVMC/geant3/ggeom/ggcave.F b/StarVMC/geant3/ggeom/ggcave.F deleted file mode 100644 index 1d86ff2c60d..00000000000 --- a/StarVMC/geant3/ggeom/ggcave.F +++ /dev/null @@ -1,123 +0,0 @@ -* -* $Id: ggcave.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggcave.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GGCAVE -C. -C. ****************************************************************** -C. * * -C. * SUBR. GGCAVE * -C. * * -C. * Decides whether a given volume is convex or concave. * -C. * For concave volumes, it sets up bit 3 of the status word * -C. * of the corresponding Volume bank * -C. * * -C. * Called by : GGCLOS * -C. * Authors : S.Banerjee * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -C. -C. ------------------------------------------------------------------ -* - IF (IQ(JVOLUM-1).LE.0) GO TO 999 -* -* *** Loop over all volumes -* - DO 20 IVO = 1, IQ(JVOLUM-1) - JVO = LQ(JVOLUM-IVO) - ISH = Q(JVO+2) -* -* ** Some volumes are always convex -* - IF (ISH.EQ.13)GO TO 20 - IF ((ISH.GT.0.AND.ISH.LE.4).OR.ISH.EQ.10) GO TO 20 -* - IF (ISH.EQ.5.OR.ISH.EQ.6.OR.ISH.EQ.9) THEN -* -* ** For TUBE/TUBS/SPHR, only when rmin is zero -* ** For TUBS/SPHR, D(Phi) should be less than 180.0 -* - IF (Q(JVO+5).GT.0.0) THEN - IF (Q(JVO+7).EQ.0.0) THEN - IF (ISH.EQ.5) THEN - GO TO 20 - ELSE IF (ISH.EQ.6) THEN - DPHI = Q(JVO+11) - Q(JVO+10) - ELSE - DPHI = Q(JVO+12) - Q(JVO+11) - ENDIF - IF (DPHI.LT.0.0) DPHI = DPHI + 360.0 - IF (DPHI.LE.180.0.OR.DPHI.GE.360.0) GO TO 20 - ENDIF - ENDIF -* - ELSE IF (ISH.EQ.7.OR.ISH.EQ.8) THEN -* -* ** For CONE/CONS, only when rmin's are zero -* ** For CONS, D(Phi) should be less than 180.0 -* - IF (Q(JVO+5).GT.0.0) THEN - IF (Q(JVO+8).EQ.0.0.AND.Q(JVO+10).EQ.0.0) THEN - IF (ISH.EQ.7) THEN - GO TO 20 - ELSE - DPHI = Q(JVO+13) - Q(JVO+12) - IF (DPHI.LT.0.0) DPHI = DPHI + 360.0 - IF (DPHI.LE.180.0.OR.DPHI.GE.360.0) GO TO 20 - ENDIF - ENDIF - ENDIF -* - ELSE IF (ISH.EQ.11.OR.ISH.EQ.12) THEN -* -* ** For PGON/PCON, only when rmin's are zero, has 2 z-planes -* ** and D(phi) less than 180.0 or equal to 360.0 -* - IF (Q(JVO+5).GT.0.0) THEN - IF (ISH.EQ.11) THEN - IPZ = 10 - ELSE - IPZ = 9 - ENDIF - NPZ = Q(JVO+IPZ) - DPHI = Q(JVO+8) - IF (DPHI.LT.0.0) DPHI = DPHI + 360.0 - IF (NPZ.EQ.2.AND.Q(JVO+IPZ+2).EQ.0.0.AND. - + Q(JVO+IPZ+5).EQ.0.0) THEN - IF (DPHI.LE.180.0.OR.DPHI.GE.360.0) GO TO 20 - ENDIF - ENDIF -* - ENDIF -C hyperboloids (ISH=14) are always concave - IQ(JVO) = IBSET(IQ(JVO),2) - 20 CONTINUE -* END GGCAVE - 999 END diff --git a/StarVMC/geant3/ggeom/ggdpar.F b/StarVMC/geant3/ggeom/ggdpar.F deleted file mode 100644 index ef829e8731e..00000000000 --- a/StarVMC/geant3/ggeom/ggdpar.F +++ /dev/null @@ -1,449 +0,0 @@ -* -* $Id: ggdpar.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggdpar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GGDPAR (JVOM, IN, NVAR, LVAR, LVOM, NPAR, PAR) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GGDPAR (JVOM,IN,NVAR,LVAR,LVOM,NPAR*,PAR*) * -C. * * -C. * Computes the actual parameters for the IN'th division of the * -C. * mother volume at address JVOM * -C. * Returns the set of actual parameters in NPAR, PAR * -C. * * -C. * Called by : GGDVLP * -C. * Author : S.Banerjee * -C. * (Original algorithms of A.McPherson) * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -C. - PARAMETER (NPAMAX=50) -C. - DIMENSION LVAR(*), PAR(*) -C. - REAL PARM(NPAMAX) - INTEGER LAX(10,12) - SAVE LAX -C. - DATA LAX / 1, 2, 3, 7*0, 1, 1, 2, 3, 6*0, 1, 1, 2, 2, 3, 5*0, - + 3, 0, 0, 2, 1, 1, 0, 2, 1, 1, 1, 1, 3, 7*0, - + 1, 1, 3, 2, 2, 5*0, 3, 1, 1, 1, 1, 5*0, - + 3, 1, 1, 1, 1, 2, 2, 3*0, 1, 1, 2, 2, 6*0, - + 1, 2, 3, 7*0, 2, 2, 0, 0, 3, 1, 1, 3, 1, 1, - + 2, 2, 0, 3, 1, 1, 3, 1, 1, 0/ -C. -C. ------------------------------------------------------------------ -* -* *** Prepares parameters for mother, in PARM, for division, in PAR -* and the division parameters -* - JIN = LQ(JVOM-1) - IF (LQ(JVOM).EQ.LVOM) THEN -* -* Case when current volume is source of local development -* - NPARM = Q(JVOM+5) - CALL UCOPY (Q(JVOM+7), PARM, NPARM) - NDIV = Q(JIN+3) - ORIG = Q(JIN+4) - STEP = Q(JIN+5) - ELSE -* -* Other cases -* - NPARM = IQ(LVOM+5) - CALL UCOPY (Q(LVOM+6), PARM, NPARM) - NDIV = IQ(LVOM+1) - ORIG = Q(LVOM+2) - STEP = Q(LVOM+3) - ENDIF -* - ISHM = Q(JVOM+2) -* - ORI = ORIG + (IN - 1) * STEP - IAXIS = Q(JIN+1) - IVO = Q(JIN+2) - JVO = LQ(JVOLUM-IVO) - ISH = Q(JVO+2) - NPAR = Q(JVO+5) -* -* *** Prepare the division parameters -* - IF (NPAR.GT.0) THEN - CALL UCOPY (Q(JVO+7), PAR, NPAR) - ELSE - NPAR = NPARM - CALL UCOPY (PARM, PAR, NPARM) -* -* ** Special treatment for phi divisions (when NPAR=0) -* - IF ((ISHM.GE.5.AND.ISHM.LE.8.AND.IAXIS.EQ.2) .OR. - + (ISHM.GE.11.AND.ISHM.LE.12.AND.IAXIS.EQ.2) .OR. - + (ISHM.EQ.9.AND.IAXIS.EQ.3)) THEN - IF (ISHM.EQ.5.OR.ISHM.EQ.7) THEN - NPAR = NPARM + 2 - PAR(NPAR-1) = -0.5 * STEP - PAR(NPAR) = 0.5 * STEP - ELSE IF (ISHM.EQ.6.OR.ISHM.EQ.8) THEN - DP = PARM(NPAR) - PARM(NPAR-1) - IF (DP.LT.0.0) DP = DP + 360.0 - IF (ORIG-PARM(NPAR-1).LT.0.0) ORIG = ORIG + 360.0 - IF (ORIG-PARM(NPAR-1).GT.DP ) GO TO 910 - DP = PARM(NPAR) - ORIG - IF (DP.LT.0.0) DP = DP + 360.0 - PAR(NPAR-1) = -0.5 * DP / NDIV - PAR(NPAR ) = 0.5 * DP / NDIV - ELSE IF (ISHM.EQ.11.OR.ISHM.EQ.12) THEN - IF (ISHM.EQ.11) NDIV = PARM(3) - STEP = PARM(2) / NDIV - PAR(1) = -0.5 * STEP - PAR(2) = STEP - PAR(3) = 1. - ELSE IF (ISHM.EQ.9) THEN - DP = PARM(6) - PARM(5) - IF (DP.LT.0.0) DP = DP + 360.0 - IF (ORIG-PARM(5).LT.0.0) ORIG = ORIG + 360.0 - IF (ORIG-PARM(5).GT.DP ) GO TO 910 - DP = PARM(6) - ORIG - IF (DP.LT.0.0) DP = DP + 360.0 - PAR(5) = -0.5 * DP / NDIV - PAR(6) = 0.5 * DP / NDIV - ENDIF - ENDIF - ENDIF - IF (NVAR.LE.0) GO TO 999 -* -* *** Compute the actual parameters -* - IF (ISHM.EQ.1) THEN -* -* BOX -* - IF (ISH.EQ.1) THEN - DO 10 I = 1, NVAR - IAX = LVAR(I) - IF (IAX.EQ.IAXIS) THEN - PAR(IAX) = 0.5 *STEP - ELSE - PAR(IAX) = PARM(IAX) - ENDIF - 10 CONTINUE - ELSE - GO TO 900 - ENDIF -* - ELSE IF (ISHM.EQ.2) THEN -* -* TRD1 -* - IF (ISH.EQ.2) THEN - DO 20 I = 1, NVAR - IAX = LVAR(I) - IF (LAX(IAX,ISH).EQ.IAXIS) THEN - PAR(IAX) = 0.5 * STEP - ELSE IF (LAX(IAX,ISH).EQ.1.AND.IAXIS.EQ.3) THEN - ZZ = ORI + PARM(4) - DXDZ = 0.5 * (PARM(2) - PARM(1)) / PARM(4) - IF (IAX.EQ.2) ZZ = ZZ + STEP - PAR(IAX) = PARM(1) + DXDZ * ZZ - ELSE - PAR(IAX) = PARM(IAX) - ENDIF - 20 CONTINUE - ELSE - GO TO 900 - ENDIF -* - ELSE IF (ISHM.EQ.3) THEN -* -* TRD2 -* - IF (ISH.EQ.3.AND.IAXIS.EQ.3) THEN - DO 30 I = 1, NVAR - IAX = LVAR(I) - IF (LAX(IAX,ISH).EQ.IAXIS) THEN - PAR(IAX) = 0.5 * STEP - ELSE - IP1 = 2 * LAX(IAX,ISH) - 1 - IP2 = IP1 + 1 - ZZ = ORI + PARM(5) - DXDZ = 0.5 * (PARM(IP2) - PARM(IP1)) / PARM(5) - IF (IAX.EQ.IP2) ZZ = ZZ + STEP - PAR(IAX) = PARM(IP1) + DXDZ * ZZ - ENDIF - 30 CONTINUE - ELSE IF (ISH.EQ.3) THEN - GO TO 910 - ELSE - GO TO 900 - ENDIF -* - ELSE IF (ISHM.EQ.4) THEN -* -* TRAP -* - IF (ISH.EQ.4.AND.IAXIS.NE.1) THEN - IF(IAXIS.EQ.3) THEN - DO 40 I = 1, NVAR - IAX = LVAR(I) - IF (IAX.EQ.1) THEN - PAR(IAX) = 0.5 * STEP - ELSE IF (IAX.LE.6) THEN - ZZ = ORI + PARM(1) - DPDZ = 0.5 * (PARM(IAX+4) - PARM(IAX)) / PARM(1) - PAR(IAX) = PARM(IAX) + DPDZ * ZZ - ELSE - ZZ = ORI + PARM(1) + STEP - DPDZ = 0.5 * (PARM(IAX) - PARM(IAX-4)) / PARM(1) - PAR(IAX) = PARM(IAX-4) + DPDZ * ZZ - ENDIF - 40 CONTINUE - HTAL = PARM(8) * PARM(11) - HTAH = PARM(4) * PARM(7) - ZZ1 = 0.5 * (ORI + PARM(1)) / PARM(1) - ZZ2 = 0.5 * (ORI + PARM(1) + STEP) / PARM(1) - PAR(7) = (HTAL*(1.0-ZZ1) + HTAH*ZZ1) / PARM(4) - PAR(11)= (HTAL*(1.0-ZZ2) + HTAH*ZZ2) / PARM(8) - CALL GNOTR1(PAR) - ELSE IF (IAXIS.EQ.2) THEN - DO 41 I = 1, NVAR - PAR(LVAR(I)) = PARM(LVAR(I)) - 41 CONTINUE - DXDY1 = 0.5*(PARM(6)-PARM(5))/PARM(4) - DXDY2 = 0.5*(PARM(10)-PARM(9))/PARM(8) - DXM1 = 0.5*(PARM(6)+PARM(5)) - DXM2 = 0.5*(PARM(10)+PARM(9)) - DXH1 = DXM1+(ORI+STEP)*DXDY1 - DXH2 = DXM2+(ORI+STEP)*DXDY2 - DXL1 = DXM1+ORI*DXDY1 - DXL2 = DXM2+ORI*DXDY2 - PAR(5) = DXL1 - PAR(6) = DXH1 - PAR(9) = DXL2 - PAR(10) = DXH2 - ENDIF - ELSE IF (ISH.EQ.4) THEN - GO TO 910 - ELSE - GO TO 900 - ENDIF -* - ELSE IF (ISHM.EQ.5 .OR. ISHM.EQ.6) THEN -* -* TUBE or TUBS -* - IF (ISH.EQ.5 .OR. ISH.EQ.6) THEN - DO 50 I = 1, NVAR - IAX = LVAR(I) - IF (LAX(IAX,ISH).EQ.IAXIS) THEN - IF (IAXIS.EQ.3) THEN - PAR(IAX) = 0.5 * STEP - ELSE IF (IAXIS.EQ.1) THEN - IF (IAX.EQ.1) THEN - PAR(IAX) = ORI - ELSE - PAR(IAX) = ORI + STEP - ENDIF - ELSE - GO TO 910 - ENDIF - ELSE - PAR(IAX) = PARM(IAX) - ENDIF - 50 CONTINUE - ELSE - GO TO 900 - ENDIF -* - ELSE IF (ISHM.EQ.7 .OR. ISHM.EQ.8) THEN -* -* CONE or CONS -* - IF (ISH.EQ.7 .OR. ISH.EQ.8) THEN - DO 60 I = 1, NVAR - IAX = LVAR(I) - IF (LAX(IAX,ISH).EQ.IAXIS .AND. IAXIS.EQ.3) THEN - PAR(IAX) = 0.5 * STEP - ELSE IF (IAXIS.EQ.3.AND.IAX.GT.1.AND.IAX.LT.6) THEN - IF (IAX.EQ.2.OR.IAX.EQ.4) THEN - DP = 0.5 * (PARM(4) - PARM(2)) / PARM(1) - PM = 0.5 * (PARM(4) + PARM(2)) - ELSE - DP = 0.5 * (PARM(5) - PARM(3)) / PARM(1) - PM = 0.5 * (PARM(5) + PARM(3)) - ENDIF - IF (IAX.GT.3) THEN - DZ = ORI + STEP - ELSE - DZ = ORI - ENDIF - PAR(IAX) = PM + DP * DZ - ELSE IF (IAXIS.EQ.1.AND.LAX(IAX,ISH).EQ.IAXIS) THEN - IF (IAX.EQ.2) THEN - PAR(IAX) = ORI - ELSE IF (IAX.EQ.3) THEN - PAR(IAX) = ORI + STEP - ELSE IF (IAX.EQ.4) THEN - PAR(IAX) = ORI * PARM(IAX) / PARM(2) - ELSE - PAR(IAX) = (ORI + STEP) * PARM(IAX) / PARM(3) - ENDIF - ELSE - PAR(IAX) = PARM(IAX) - ENDIF - 60 CONTINUE - ELSE - GO TO 900 - ENDIF -* - ELSE IF (ISHM.EQ.9) THEN -* -* SPHE -* - IF (ISH.EQ.9) THEN - DO 70 I = 1, NVAR - IAX = LVAR(I) - IF (LAX(IAX,ISH).EQ.IAXIS) THEN - IF (MOD(IAX,2).NE.0) THEN - PAR(IAX) = ORI - ELSE - PAR(IAX) = ORI + STEP - ENDIF - ELSE - PAR(IAX) = PARM(IAX) - ENDIF - 70 CONTINUE - ELSE - GO TO 900 - ENDIF -* - ELSE IF (ISHM.EQ.10) THEN -* -* PARA -* - IF (ISH.EQ.10) THEN - DO 80 I = 1, NVAR - IAX = LVAR(I) - IF (LAX(IAX,ISH).EQ.IAXIS) THEN - PAR(IAX) = 0.5 * STEP - ENDIF - 80 CONTINUE - ELSE - GO TO 900 - ENDIF -* - ELSE IF (ISHM.EQ.11 .OR. ISHM.EQ.12) THEN -* -* PGON or PCON -* - IF (ISH.EQ.ISHM) THEN - IF (ISH.EQ.11) THEN - IPNZ = 4 - ELSE - IPNZ = 3 - ENDIF - NZ = PAR(IPNZ) - NZ1 = PARM(IPNZ) - IF (NZ.EQ.NZ1) THEN - IF (IAXIS.EQ.1) THEN - RMN = ORI - RMX = ORI + STEP - DO 90 I = 1, NZ - IAX1 = IPNZ + 3*I - 1 - IAX2 = IAX1 + 1 - IF (I.EQ.1) THEN - PAR(IAX1) = RMN - PAR(IAX2) = RMX - ELSE - PAR(IAX1) = RMN * PARM(IAX1) / PARM(IPNZ+2) - PAR(IAX2) = RMX * PARM(IAX2) / PARM(IPNZ+3) - ENDIF - 90 CONTINUE - ELSE IF (IAXIS.EQ.2) THEN - DO 100 I = 1, NVAR - IAX = LVAR(I) - PAR(IAX) = PARM(IAX) - 100 CONTINUE - ELSE IF (NZ.EQ.2.AND.IAXIS.EQ.3) THEN - ZL = PARM(IPNZ+1) - ZH = PARM(IPNZ+4) - DZ = ZH - ZL - DRMIDZ = (PARM(IPNZ+5)-PARM(IPNZ+2))/DZ - DRMADZ = (PARM(IPNZ+6)-PARM(IPNZ+3))/DZ - PAR(IPNZ+1) = -0.5 * STEP - PAR(IPNZ+4) = 0.5 * STEP - DO 110 I = 1, NVAR - IAX = LVAR(I)-IPNZ - IF(IAX.EQ.2) THEN - RAD = PARM(IPNZ+2)+(IN-1)*STEP*DRMIDZ - ELSEIF (IAX.EQ.3) THEN - RAD = PARM(IPNZ+3)+(IN-1)*STEP*DRMADZ - ELSEIF (IAX.EQ.5) THEN - RAD = PARM(IPNZ+2)+IN*STEP*DRMIDZ - ELSEIF (IAX.EQ.6) THEN - RAD = PARM(IPNZ+3)+IN*STEP*DRMADZ - ENDIF - PAR(IPNZ+IAX) = RAD - 110 CONTINUE - ELSE - GO TO 920 - ENDIF - ELSE - GO TO 920 - ENDIF - ELSE - GO TO 900 - ENDIF -* - ELSE - GO TO 900 - ENDIF -* - GO TO 999 -* - 900 WRITE (CHMAIL, 1001) ISH, ISHM - GO TO 990 -* - 910 WRITE (CHMAIL, 1002) ISH, ISHM, IAXIS - GO TO 990 -* - 920 WRITE (CHMAIL, 1003) ISH, NZ, ISHM, NZ1 -* - 990 CALL GMAIL( 0, 0) - IEORUN = 1 -* - 1001 FORMAT (' GGDPAR : Not accepted ISH,ISHM=',2I5) - 1002 FORMAT (' GGDPAR : Not accepted ISH,ISHM,IAXIS=',3I5) - 1003 FORMAT (' GGDPAR : Not accepted ISH,NZ,ISHM,NZ1=',4I5) -* END GGDPAR - 999 END diff --git a/StarVMC/geant3/ggeom/ggdspe.F b/StarVMC/geant3/ggeom/ggdspe.F deleted file mode 100644 index 5d6800b04d3..00000000000 --- a/StarVMC/geant3/ggeom/ggdspe.F +++ /dev/null @@ -1,265 +0,0 @@ -* -* $Id: ggdspe.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggdspe.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2002/07/26 11:00:07 rdm -* Correct initialization of ORIG for shapes TUBE, TUBS, CONE, CONS, PGON, -* PCON and IAXIS=2. By Andreas. -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GGDSPE (JVO, NPAR, PAR, NL, NDIV, ORIG, STEP) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GGDSPE (JVO,NPAR,PAR,NL*,NDIV*,ORIG*,STEP*) * -C. * * -C. * Computes the actual division parameters of the mother volume * -C. * at address JVO with actual parameters in NPAR, PAR * -C. * Returns the division parameters NDIV, ORIG, STEP and the * -C. * number of different division cells NL * -C. * * -C. * Called by : GGDVLP * -C. * Author : S.Banerjee * -C. * (Original algorithms of A.McPherson) * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -C. - PARAMETER (NPAMAX=50) -C. - DIMENSION PAR(*) -C. - REAL PARM(NPAMAX) - INTEGER IDTYP(12) - SAVE IDTYP - DATA IDTYP / 1, 1, 1, 1, 2, 2, 3, 3, 4, 1, 6, 6/ -C. -C. ------------------------------------------------------------------ -* -* *** Get the division parameters from JVOLUM structure and check if -* these have to be developed -* - JIN = LQ(JVO-1) - IAXIS = Q(JIN+1) - NDIV = Q(JIN+3) - ORIG = Q(JIN+4) - STEP = Q(JIN+5) -* - ISHM = Q(JVO+2) - IDTY = IDTYP(ISHM) - NPARM = Q(JVO+5) - IF (NPARM.GT.0) THEN - CALL UCOPY (Q(JVO+7), PARM, NPARM) - ELSE - NPARM = NPAR - CALL VFILL (PARM, NPARM, -1.0) - ENDIF -* -* *** Find the actual division parameters -* - IF (IDTY.EQ.1) THEN -* -* BOX, TRD1, TRD2, TRAP, PARA -* - IF (ISHM.EQ.4) THEN - IPAR = 1 - ELSE IF (ISHM.EQ.10) THEN - IPAR = IAXIS - ELSE - IPAR = IAXIS + ISHM - 1 - ENDIF - IF (PARM(IPAR).LT.0.0) ORIG = -PAR(IPAR) - IF (STEP.LE.0.0) THEN - STEP = (PAR(IPAR) - ORIG) / NDIV - ELSE IF (NDIV.LE.0) THEN - NDIV = (PAR(IPAR) - ORIG + 0.001) / STEP - ENDIF - IF (PARM(IPAR).LT.0.0) ORIG = -0.5 * STEP * NDIV - IF (ISHM.EQ.1.OR.ISHM.EQ.10.OR.(ISHM.EQ.2.AND.IAXIS.EQ.2)) THEN - NL = 1 - ELSE - NL = NDIV - ENDIF -* - ELSE IF (IDTY.EQ.4) THEN -* -* SPHE -* - IF (IAXIS.EQ.1.OR.IAXIS.EQ.2) THEN - IAX1 = 2*IAXIS - 1 - IAX2 = IAX1 + 1 - IF (PARM(IAX1).LT.0.0) ORIG = PAR(IAX1) - IF (STEP.LE.0.0) THEN - STEP = (PAR(IAX2) - ORIG) / NDIV - ELSE IF (NDIV.LE.0) THEN - NDIV = (PAR(IAX2) - ORIG + 0.001) / STEP - ENDIF - IF (PARM(IAX1).LT.0.0) ORIG = 0.5*(ORIG+PAR(IAX2)-STEP*NDIV) - NL = NDIV - ELSE - IF (STEP.LE.0.0.OR.NDIV.LE.0) THEN - DP = PAR(6) - PAR(5) - IF (DP.LT.0.0) DP = DP + 360.0 - IF (ORIG.LT.PAR(5)) ORIG = ORIG + 360.0 - IF (ORIG-PAR(5).GT.DP) THEN - PMIN = PAR(5) - GO TO 910 - ENDIF - DP = PAR(6) - ORIG - IF (DP.LT.0.0) DP = DP + 360.0 - IF (NDIV.LE.0) THEN - NDIV = (DP + 0.001) /STEP - IF (NDIV.LE.0) GO TO 920 - ELSE - STEP = DP / NDIV - ENDIF - ENDIF - NL = 1 - ENDIF -* - ELSE IF (IDTY.EQ.2.OR.IDTY.EQ.3.OR.IDTY.EQ.6) THEN -* -* TUBE, TUBS, CONE, CONS, PGON, PCON -* - IF (IAXIS.EQ.3) THEN - IF (IDTY.NE.6) THEN - IF (IDTY.EQ.2) THEN - IPAR = 3 - ELSE - IPAR = 1 - ENDIF - - IF (PARM(IPAR).LT.0.0) ORIG = -PAR(IPAR) - IF (STEP.LE.0.0) THEN - STEP = (PAR(IPAR) - ORIG) / NDIV - ELSE IF (NDIV.LE.0) THEN - NDIV = (PAR(IPAR) - ORIG + 0.001) / STEP - ENDIF - IF (PARM(IPAR).LT.0.0) ORIG = -0.5 * STEP * NDIV - IF (IDTY.EQ.2) THEN - NL = 1 - ELSE - NL = NDIV - ENDIF - ELSE - IF (ISHM.EQ.11) THEN - NZ = PAR(4) - ELSE - NZ = PAR(3) - ENDIF - IF (NDIV.LE.0.OR.STEP.LE.0.0.OR.NZ.GT.0) GO TO 930 - NL = NDIV - ENDIF -* - ELSE IF (IAXIS.EQ.2) THEN - IF (STEP.LE.0.0.OR.NDIV.LE.0) THEN - IF (ISHM.EQ.5.OR.ISHM.EQ.7) THEN - PMIN = ORIG - PMAX = ORIG + 360.0 - DP = 360.0 - ELSE IF (ISHM.EQ.6.OR.ISHM.EQ.8) THEN - PMIN = PAR(NPAR-1) - PMAX = PAR(NPAR) - DP = PMAX - PMIN - ELSE - PMIN = PAR(1) - DP = PAR(2) - PMAX = PMIN + DP - ORIG = PMIN - ENDIF - IF (DP.LT.0.0) DP = DP + 360.0 - IF (ORIG.LT.PMIN) ORIG = ORIG + 360.0 - IF (ORIG-PMIN.GT.DP) GO TO 910 - DP = PMAX - ORIG - IF (DP.LT.0.0) DP = DP + 360.0 - IF (NDIV.LE.0) THEN - NDIV = (DP + 0.001) / STEP - IF (NDIV.LE.0) GO TO 920 - ELSE - STEP = DP / NDIV - ENDIF - ENDIF - NL = 1 -* - ELSE - IF (IDTY.NE.6) THEN - IF (IDTY.EQ.2) THEN - IAX1 = 1 - IAX2 = 2 - ELSE - IAX1 = 2 - IAX2 = 3 - ENDIF - IF (PARM(IAX1).LT.0.0) ORIG = PAR(IAX1) - IF (STEP.LE.0.0) THEN - STEP = (PAR(IAX2) - ORIG) / NDIV - ELSE IF (NDIV.LE.0) THEN - NDIV = (PAR(IAX2) - ORIG + 0.001) / STEP - ENDIF - IF (PARM(IAX1).LT.0.0) - + ORIG = ORIG + 0.5 * (PAR(IAX2)-ORIG-STEP*NDIV) - NL = NDIV - ELSE - IF (STEP.LE.0.0.OR.NDIV.LE.0) THEN - IF (ISHM.EQ.11) THEN - NZ = PAR(4) - ELSE - NZ = PAR(3) - ENDIF - GO TO 930 - ENDIF - NL = NDIV - ENDIF - ENDIF -* - ELSE - GO TO 900 - ENDIF - GO TO 999 -* - 900 WRITE (CHMAIL, 1001) ISHM, IAXIS - GO TO 990 -* - 910 WRITE (CHMAIL, 1002) ISHM, IAXIS, PMIN, DP, ORIG - GO TO 990 -* - 920 WRITE (CHMAIL, 1003) ISHM, IAXIS, NDIV, DP, STEP - GO TO 990 -* - 930 WRITE (CHMAIL, 1004) ISHM, IAXIS, NDIV, NZ, STEP -* - 990 CALL GMAIL (0, 0) - IEORUN = 1 -* - 1001 FORMAT (' GGDSPE : Invalid call ISHM,IAXIS=',2I5) - 1002 FORMAT (' GGDSPE : Error ISHM,IAXIS,PMIN,DP,ORIG=',2I5,3G12.4) - 1003 FORMAT (' GGDSPE : Error ISHM,IAXIS,NDIV,DP,STEP=',3I5,2G12.4) - 1004 FORMAT (' GGDSPE : Error ISHM,IAXIS,NDIV,NZ,STEP=',4I5,G12.4) -* END GGDSPE - 999 END - - - - - diff --git a/StarVMC/geant3/ggeom/ggdvlp.F b/StarVMC/geant3/ggeom/ggdvlp.F deleted file mode 100644 index 083dfb93a86..00000000000 --- a/StarVMC/geant3/ggeom/ggdvlp.F +++ /dev/null @@ -1,299 +0,0 @@ -* -* $Id: ggdvlp.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggdvlp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GGDVLP -C. -C. ****************************************************************** -C. * * -C. * SUBR. GGDVLP * -C. * * -C. * DeVeLoPs locally the JVOLUM structure so as not to have to * -C. * recompute variable parameters and division specifications * -C. * at tracking time. * -C. * * -C. * Called by : GGCLOS * -C. * Authors : S.Banerjee, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -C. - PARAMETER (NLVMAX=15, NPAMAX=50) -C. - COMMON /GCDVLP/ LREF(2), JVO, LJVOM(NLVMAX), LLVODV(NLVMAX), LVODV -C. - INTEGER ILINK(NLVMAX), LVAR(NPAMAX), NLINK(NLVMAX) - INTEGER NUMB(NLVMAX+1), NBGN(NLVMAX+1), IVOL(5200) - EQUIVALENCE (IVOL(1), WS(1)) - REAL PAR(NPAMAX) - LOGICAL BTEST -C. -C. ------------------------------------------------------------------ -* - CALL MZLINT (IXSTOR, '/GCDVLP/', LREF, JVO, LVODV) -* - CALL MZFORM ('VODV', '1I 2F 2I -F', IOVODV) -* -* *** Create the volume tree in memory -* - IF (NVOLUM.LT.1) GO TO 990 - NUMB(1) = 1 - NBGN(1) = 1 - IVOL(1) = 1 - NLVT = 1 -* - 10 NLEV = NLVT + 1 - NUMB(NLEV) = 0 - NBGN(NLEV) = NBGN(NLVT) + NUMB(NLVT) - DO 30 I = 1, NUMB(NLVT) - IVO = IVOL(NBGN(NLVT) + I - 1) - JVO = LQ(JVOLUM-IVO) - NIN = Q(JVO+3) - IF (NIN.GT.0) THEN - DO 20 IN = 1, NIN - JIN = LQ(JVO-IN) - IVOT = Q(JIN+2) - DO 15 I1 = 1, NUMB(NLEV) - IVOS = IVOL(NBGN(NLEV)+I1-1) - IF (IVOS.EQ.IVOT) GO TO 20 - 15 CONTINUE - NUMB(NLEV) = NUMB(NLEV) + 1 - I1 = NBGN(NLEV) + NUMB(NLEV) - 1 - IVOL(I1) = IVOT - 20 CONTINUE - ELSE IF (NIN.LT.0) THEN - JDIV = LQ(JVO-1) - IVOT = Q(JDIV+2) - DO 25 I1 = 1, NUMB(NLEV) - IVOS = IVOL(NBGN(NLEV)+I1-1) - IF (IVOS.EQ.IVOT) GO TO 30 - 25 CONTINUE - NUMB(NLEV) = NUMB(NLEV) + 1 - I1 = NBGN(NLEV) + NUMB(NLEV) - 1 - IVOL(I1) = IVOT - ENDIF - 30 CONTINUE -* - IF (NUMB(NLEV).GT.0) THEN - NLVT = NLEV - GO TO 10 - ENDIF -* - NLEV = 1 - NLEVS = 1 -* -* *** Loop over volumes in a given level -* - 110 IF (NLEVS.GT.NLVT) GO TO 990 - IF (NUMB(NLEVS).GT.0) THEN - NUMB(NLEVS) = NUMB(NLEVS) - 1 - IVOM = IVOL(NBGN(NLEVS)+NUMB(NLEVS)) - ELSE - NLEVS = NLEVS + 1 - GO TO 110 - ENDIF -* -* *** Check if current volume should be locally developed -* - LJVOM(1) = LQ(JVOLUM-IVOM) - IF(LQ(LJVOM(1)).GT.0) THEN - CALL MZDROP(IXCONS,LQ(LJVOM(1)),'L') - ENDIF - NIN = Q(LJVOM(1)+3) -#if defined(CERNLIB_DEBUGG) - WRITE (CHMAIL,2000) IQ(JVOLUM+IVOM),NIN - CALL GMAIL (0, 0) - 2000 FORMAT (' GGDVLP : Volume ',A4,' NIN = ',I3) -#endif -* -* ** Skip it if not a possible source of local development -* - IF (NIN.EQ.0) GO TO 110 - IF (LQ(LJVOM(1)).NE.0) GO TO 110 - IF (BTEST(IQ(LJVOM(1)),1)) GO TO 110 - CALL GGVCHK (LJVOM(1), 0, NVAR, LVAR) - IF (NVAR.NE.0) GO TO 110 -* -* ** Otherwise, analyze contents -* - IOK = 0 - IF (NIN.LT.0) GO TO 120 -* -* * Current volume has contents defined by position -* - DO 119 IN = 1,NIN - CALL GGVCHK (LJVOM(1), IN, NVAR, LVAR) - IF (NVAR.NE.0) THEN -* -* In case a content is found with variable parameters, -* initialize development -* - NLINK(1) = NIN - ILINK(1) = IN - GO TO 200 - ENDIF - 119 CONTINUE - GO TO 110 -* -* * Current volume is divided -* - 120 CALL GGVCHK (LJVOM(1), 1, NVAR, LVAR) - IF (NVAR.EQ.0) GO TO 110 -* -* If cells have variable sizes, initialize development -* - IOK = 2 - JDIV = LQ(LJVOM(1)-1) - NLINK(1) = Q(JDIV+3) - ILINK(1) = 1 -* - 200 CALL MZBOOK (IXCONS, LLVODV(1), LJVOM(1), 0, 'VODV', - + NLINK(1), NLINK(1), 1, 2, 1) -#if defined(CERNLIB_DEBUGG) - WRITE (CHMAIL, 2002) ILINK(1), NLINK(1), NVAR - CALL GMAIL (0, 0) - 2002 FORMAT (' GGDVLP : I, N, NVAR = ',3I5) -#endif -* -* *** Complete development for current content at current level -* - IF (IOK.EQ.0) GO TO 250 - IOK = 0 - IQ(LLVODV(1)+1) = NLINK(1) - GO TO 260 -* - 210 NIN = Q(LJVOM(NLEV)+3) - IF (NIN.LT.0) THEN - CALL GGVCHK (LJVOM(NLEV), 1, NVAR, LVAR) - ELSE - CALL GGVCHK (LJVOM(NLEV), ILINK(NLEV), NVAR, LVAR) - ENDIF - IF (NVAR.EQ.0) GO TO 290 -#if defined(CERNLIB_DEBUGG) - WRITE (CHMAIL, 2004) NLEV, ILINK(NLEV), NVAR - CALL GMAIL (0, 0) - 2004 FORMAT (' GGDVLP : LEVEL,I,NVAR,NIN = ',4I5) -#endif - IF (NIN.LT.0) GO TO 260 -* -* ** Compute actual parameters for current content -* -* * Case with contents obtained by position -* - 250 CALL GGPPAR (LJVOM(NLEV), ILINK(NLEV), NVAR,LVAR, LLVODV(NLEV), - + NPAR, PAR) - JIN = LQ(LJVOM(NLEV)-ILINK(NLEV)) - GO TO 270 -* -* * Case with contents obtained by division -* - 260 CALL GGDPAR (LJVOM(NLEV), ILINK(NLEV), NVAR,LVAR, LLVODV(NLEV), - + NPAR, PAR) - JIN = LQ(LJVOM(NLEV)-1) -* -* ** Initialize next level down -* - 270 IVO = Q(JIN+2) - JVO = LQ(JVOLUM-IVO) - NIN = Q(JVO+3) - IF (NIN.GE.0) THEN - IF (NIN.NE.0) IOK = 1 - NL = NIN - ELSE - IOK = 2 -* -* * Current content is divided, compute division specifications -* - CALL GGDSPE (JVO, NPAR, PAR, NL, NDIV, ORIG, STEP) - ENDIF -* - IQ(JVO) = IBSET(IQ(JVO),1) - CALL MZBOOK (IXCONS, LVODV, LLVODV(NLEV), -ILINK(NLEV), 'VODV', - + NL, NL, NPAR+5, IOVODV, 3) - IF (IOK.EQ.2) THEN - IQ(LVODV+1) = NDIV - Q(LVODV+2) = ORIG - Q(LVODV+3) = STEP -#if defined(CERNLIB_DEBUGG) - WRITE (CHMAIL, 2006) NDIV, ORIG, STEP - CALL GMAIL (0, 0) - 2006 FORMAT (' GGDVLP : After GGDSPE, NDIV ORIG STEP = ',I4,2F10.4) -#endif - ENDIF - IQ(LVODV+4) = IVO - IQ(LVODV+5) = NPAR - CALL UCOPY (PAR, Q(LVODV+6), NPAR) -#if defined(CERNLIB_DEBUGG) - WRITE (CHMAIL, 2008) - CALL GMAIL (0, 0) - 2008 FORMAT (' GGDVLP : Store parameters into development structure') -#endif -* - 290 IF (IOK.EQ.0) THEN - IF (ILINK(NLEV).EQ.NLINK(NLEV)) THEN -* -* Go one level up -* - IF (NLEV.EQ.1) GO TO 110 - NLEV = NLEV -1 - GO TO 290 - ENDIF -* -* Analyze next content -* - ILINK(NLEV) = ILINK(NLEV) +1 - GO TO 210 - ENDIF -* -* A new level has been initialized, start analyzing it -* - NLEV = NLEV +1 - LJVOM(NLEV) = JVO - LLVODV(NLEV) = LVODV - ILINK(NLEV) = 1 - NLINK(NLEV) = NL - IOK = 0 - GO TO 210 -* - 990 DO 991 IVO = 1, NVOLUM - JVO = LQ(JVOLUM-IVO) - IF (BTEST(IQ(JVO),1)) THEN - IF (LQ(JVO).GT.0) THEN - CALL MZDROP (IXCONS, LQ(JVO), ' ') - WRITE (CHMAIL, 1001) IQ(JVOLUM+IVO) - ENDIF - ENDIF - 991 CONTINUE - LREF(1) = 0 -* - 1001 FORMAT (' GGDVLP : Unnecessary development at volume ',A4) -* END GGDVLP - END diff --git a/StarVMC/geant3/ggeom/ggeom.doc b/StarVMC/geant3/ggeom/ggeom.doc deleted file mode 100644 index d922136e56b..00000000000 --- a/StarVMC/geant3/ggeom/ggeom.doc +++ /dev/null @@ -1,476 +0,0 @@ -* -* $Id: ggeom.doc,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggeom.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:47 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_DOC) -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : -* -************************************************************************ -* * -* Introduction to the Geometry package * -* ------------------------------------ * -* * -* * -* THE GEOMETRY PACKAGE * -* * -* The geometry package consists of subroutines which can be used in * -* the initialisation phase of the program to describe the geometry * -* of the experimental set-up, and of subroutines which ensure the * -* communication with the tracking package during the event * -* processing phase. * -* The following paragraphs review the concepts of the geometry * -* package and explain how the geometrical information should be * -* provided by the user. * -* It is important to point out that, once the set-up has been * -* initialized, the tracking of particles through the different media * -* can proceed without any other intervention from the user [TRAK]. * -* The connection between the geometry and tracking packages is * -* established by the subprograms GMEDIA/GTMEDI, GNEXT/GTNEXT and * -* GINVOL which answer respecti- vely the questions : * -* * -* - In which medium is a given point ? * -* - What is the path length to the next medium ? * -* - Is a given point still in the current medium ? * -* * -* (The routines GTMEDI and GTNEXT are used in a dynamic context at * -* tracking time, where information about the direction of the * -* particle can be used to save time). * -* * -* THE VOLUME DEFINITION * -* * -* Experimental set-ups, as complex as the detectors prepared for * -* LEP, can be described rather accurately through the definition of * -* a set of simple VOLUMES. Each VOLUME is given a NAME and is * -* characterized by: * -* * -* - a SHAPE identifier, specifying one of the basic geometrical * -* shapes available [GEOM010], the shape parameters, giving the * -* dimensions of the volume, * -* - a local reference system, whose origin and axes are the ones * -* defined for the given shape (cartesian, cylindrical or spherical * -* coord.), * -* - its physical properties, given by a set of constants for the * -* homogeneous MATERIAL which fills the volume [CONS], * -* - additional properties, known as 'TRACKING MEDIUM' constants, * -* which depend on the characteristics of the volume itself (the * -* MATERIAL identifier is one of the constants) and on its * -* geometrical and physical environment (properties of the * -* neighbour media, magnetic field, etc.) [CONS,TRAK], * -* - a set of attributes, in connection with the drawing package and * -* the detector response package [DRAW,HITS]. * -* * -* As long as it is not 'positioned' in a given reference frame, a * -* VOLUME is an entity which has no spatial relation with the set-up. * -* By convention, a unique initial volume has to be defined which * -* should match (or surround) the outside boundaries of the entire * -* set-up. The reference frame attached to this volume is considered * -* to be the master reference frame. * -* * -* VOLUMES WITH CONTENTS * -* * -* A VOLUME can be declared to have 'contents' and become a 'mother' * -* volume. The contents are either predefined volumes which are * -* explicitly positioned inside the mother, or new volumes which are * -* implicitly defined by a division mechanism applied to the mother. * -* Positioning a volume with given shape and dimensions inside a * -* mother volume is achieved by specifying its translation and * -* rotation with respect to the mother reference frame. The user * -* should make sure that no volume overlaps the boundaries of its * -* mother. When a volume is positioned, the user gives it a NUMBER. * -* Multiple copies of a given volume, with different numbers, can be * -* positioned inside a mother or inside different mothers and the * -* contents of the volume are reproduced implicitly in all copies. * -* Divisions can be performed along any of the three axes of the * -* mother volume. The definition of the axes (X,Y,Z or R..,.,Z or * -* R,.,.) depends on the shape. The mother volume can be partially * -* or totally divided. The division generates a cell, which is * -* considered as a new volume with (usually) the same shape as the * -* mother. Its dimensions are computed according to the declared * -* division number and/or step size. This cell, as any volume, can * -* again be divided along any of its proper axes, or have other * -* volumes positioned into it. Volumes positioned within a cell are * -* reproduced implicitly in all cells. * -* These operations permit a physical tree to be defined of volumes * -* at deeper and deeper levels. * -* It is assumed that the 'tracking medium' properties of the * -* contents replace the ones of the mother within the space region * -* they occupy. * -* A VOLUME is therefore defined not only by its intrinsic * -* characteristics but also by the definition of its 'descendants', * -* namely its contents, the contents of its contents, etc. * -* * -* OVERLAPPING VOLUMES * -* * -* The user may define volumes which have nothing to do with the * -* real physical structure. It is sometimes convenient to make use * -* of such volumes, to artificially delimit regions with simple * -* shapes. As a consequence, it may happen that volumes overlap each * -* other. (A volume positioned inside a mother is obviously not * -* regarded as overlapping the mother). * -* The handling of overlapping volumes has some implications that * -* the user should be aware of: * -* A flag 'ONLY/MANY' is attached to each positioned volume. The * -* 'MANY' option indicates that a point found to be in this volume * -* could also be in other volumes which are not direct descendants of * -* it. The user is free to declare one of the overlapping volumes as * -* 'ONLY', in which case the medium searching subroutines will give * -* priority to this volume. * -* If a point is inside several 'MANY' volumes and outside all * -* 'ONLY' ones, priority will be given to the first volume found at * -* the deepest level and, in order to avoid ambiguities, two * -* overlapping 'MANY' volumes should in general be assigned the same * -* default tracking medium. * -* * -* THE PHYSICAL TREE * -* * -* The package accepts a maximum of 15 levels, which should be quite * -* enough to represent even the fine details of a complex set-up. * -* * -* THE DATA STRUCTURE JVOLUM AND THE COMMON BLOCK /GCVOLU/ * -* * -* In practice, the physical tree is represented by a logical tree * -* structure, the JVOLUM data structure [GEOM 199], which describes * -* the arrangement of volumes in a compact and recurrent way. Each * -* generic volume appears once, and once only, and carries the * -* information relevant to the volume itself and to its contents, if * -* any, by reference to the generic volumes corresponding to those * -* contents. * -* In the situation where division or multiple copies occur, there * -* is no longer a one-to-one correspondence between a given volume in * -* the logical tree and a unique region in space. Information has to * -* be kept at tracking time to identify which division cell or which * -* copy was considered at each depth level along the path through the * -* physical tree. This information is stored by the subroutine * -* GTMEDI, for the current point of the current track, in the COMMON * -* /GCVOLU/. It contains the current LEVEL and, for each level, * -* starting from the first initial reference volume, the * -* identification of the corresponding volume, e.g.: NAME, NUMBER, * -* 'ONLY/MANY' flag, translation and rotation with respect to the * -* master reference frame. The SHAPE parameters and the number of * -* parameters (initialy stored in /GCVOLU/) are stored in the * -* separate structure JGPAR. * -* * -* THE BASIC USER TOOLS * -* * -* The rules of the game being established, it is easy to introduce * -* the set of subroutines which ensure the functionality of the * -* package. The user can define a volume through a call to the * -* subroutine: * -* * -* GSVOLU Input arguments specify the NAME, SHAPE and parameters * -* of the volume. An output argument returns the position * -* of the volume inside the bank JVOLUM. * -* * -* The user can position a volume through a call to either one of the * -* following subroutines: * -* * -* GSPOS Input arguments specify the NAME and copy NUMBER of the * -* volume to be positioned, the NAME of the mother, the * -* translation and the rotation matrix, and the 'ONLY/MANY' * -* flag. * -* GSPOSP In case the user has to position , inside a mother, a * -* large number of volumes with the same shape but * -* different dimensions (lead glass blocks, BGO crystals, * -* etc.) an alternative is proposed which consists of * -* defining the generic volume once, with the number of * -* shape parameters set to zero, and to call GSPOSP for * -* each volume in turn, with the same arguments as GSPOS * -* plus the shape parameters. The volumes will be * -* identified by their NAME+NUMBER as for the multiple * -* copies. * -* * -* The user can divide a volume through a call to either one of the * -* following subroutines: * -* * -* GSDVN Input arguments specify the NAME of the cell volume, the * -* name of the MOTHER being divided, the number of * -* divisions NDIV and the axis along which the division is * -* performed. In this simple case, the cell tracking * -* medium is assumed to be the same as for the mother. * -* GSDVS The division STEP is given instead of NDIV and the cell * -* tracking medium is specified. * -* GSDVX In addition to both STEP and NDIV , the origin of the * -* first cell and the cell tracking medium are specified. * -* * -* THE OPTIMISATION TOOLS * -* * -* When a track enters a volume with contents, the search time to * -* identify whether the current point is in the mother or in any of * -* the contents is very short when the contents are division cells * -* (straightforward computation along the relevant axis). When the * -* contents have been positioned, the search time can be quite large. * -* In order to save time the user can make use of either of the * -* following facilities: * -* * -* GSORD/GGORD * -* From the known position of the contents inside a given volume * -* the subroutine GGORD computes fictitious boundaries along the * -* specified coordinate, simulating a division with non regular * -* step size. A binary search technique is used to identify within * -* which pseudo-cell the current point is. The slow process of * -* computing whether the point is inside or outside the contents is * -* therefore limited to the few (if any) volumes sitting in that * -* pseudo-cell. The coordinate selected for the pseudo division * -* can be any of X, Y, Z, Rxy, R, Phi or Theta. GSORD is called by * -* the user to flag which volume should have its contents ordered * -* and along which axis. GGORD is called by GGCLOS. The user can * -* select via the data record OPTIM to automatically call GSORD for * -* all the volumes with content. In this case the system will try * -* to choose the best axis along which to order the contents of * -* every mother in the tree. * -* * -* GSNEXT - GSNEAR * -* When a particle enters a mother volume, the contents are scanned * -* initially in the order they have been positioned, and the user * -* should take care over the best sequence of GSPOS calls. * -* However, when the particle comes back inside the mother from any * -* one of the contents, it is usually possible to limit the search * -* to the neighbour contents. The subroutines GSNEXT,GSNEAR permit * -* the user to inject at initialisation time, for each content in * -* turn, the list of neighbours to search for. A proper use of * -* this facility can reduce the search time significantly. * -* * -* GSUNEA/GUNEAR * -* To specify any user ordering for the contents of a given volume. * -* * -* Labelled COMMON blocks related to section GEOM * -* ---------------------------------------------- * -* * -* COMMON /GCPOLY/ IZSEC, IPSEC * -* C * -* IZSEC Z-section number * -* IPSEC Phi-sector number * -* * -* COMMON/GCVOLU/NLEVEL,NAMES(15),NUMBER(15), * -* +LVOLUM(15),LINDEX(15),INFROM,NLEVMX,NLDEV(15),LINMX(15), * -* +GTRAN(3,15),GRMAT(10,15),GONLY(15),GLX(3) * -* C * -* NLEVEL Level number at which the last medium search stopped. * -* NAMES Volume names at each level. * -* NUMBER User volume numbers at each level. * -* LVOLUM System volume numbers at each level. * -* LINDEX Physical tree volume indices at each level. * -* INFROM Number of the content a particle has just left, when * -* relevant * -* NLEVMX Maximum number of levels in given geometry tree * -* NLDEV Levels where local development take place, if non 0 * -* LINMX numbers of contents (position) or cells (division) * -* GTRAN X,Y,Z offsets of the cumulative coordinate * -* transformation from the master system to the system at * -* each level. * -* GRMAT Rotation matrix elements for the cumulative * -* transformation from the master system to the system at * -* each level. GRMAT(10,LEVEL) equal to 0.0 indicates the * -* null rotation. * -* GONLY Uniqueness flags at each level. * -* GLS Current point in the local coordinates of level NLEVEL. * -* * -* The System Shapes * -* ----------------- * -* * -* The system shapes supported at present are as follows: * -* * -* 'BOX ' is a box. It has 3 parameters, the half lengths in x, y * -* and z. * -* 'TRD1' is a trapezoid with only the x length varying with z. It * -* has 4 parameters, the half length in x at the low z * -* surface, that at the high z surface, the half length in y * -* and in z. * -* 'TRD2' is a trapezoid with both x and y lengths varying with z. * -* It has 5 parameters, the half length in x at the low z * -* surface, that at the high z surface, the half length in y * -* at the low z surface, that at the high z surface, the half * -* length in z. * -* 'TRAP' is a general trapezoid, i.e. one for which the faces * -* perpendicular to z are trapezia and their centres are not * -* at the same x, y. It has 11 parameters: Dz the half length * -* in z, Th & Phi the polar angles from the centre of the face * -* at z=-Dz to that at z=+Dz, H1 the half length in y at * -* z=-Dz, LB1 the half length in x at z=-Dz and y=low edge, * -* LH1 the half length in x at z=-Dz and y= high edge, Th1 the * -* angle w.r.t. the y axis from the centre of the low y edge * -* to the centre of the high y edge, and H2, LB2, LH2, Th2 the * -* corresponding quantities to the 1s but at z=+Dz. * -* 'TUBE' is a tube. It has 3 parameters, the inside radius, the * -* outside radius and the half length in z. * -* 'TUBS' is a phi segment of a tube. It has 5 parameters, the same * -* 3 as 'TUBE' plus the phi limits. The segment starts at the * -* first limit and includes increasing phi value up to the * -* second limit or that plus 360 degrees. * -* 'CONE' is a conical tube. It has 5 parameters, the half length in * -* z, the inside and outside radii at the low z limit and * -* those at the high z limit. * -* 'CONS' is a phi segment of a conical tube. It has 7 parameters, * -* the same 5 as 'CONE' plus the phi limits. * -* 'SPHE' is a segment of a spherical shell. It has 6 parameters, * -* the inside radius, the outside radius, the theta limits and * -* the phi limits. At present, for the drawing package only * -* first two parameters are significant (inside radius and * -* outside radius) and such a shape is always drawn as a full * -* sphere. * -* 'PARA' is a parallelpiped. It has 6 parameters, the half length * -* in x, the half length in y, the half length in z, the angle * -* w.r.t. the y axis from the centre of the low y edge to the * -* centre of the high y edge, and the theta phi polar angles * -* from the centre of the low z face to the centre of the high * -* z face. * -* 'PGON' is a polygon. It has at least 10 parameters, the lower phi * -* limit, the range in phi, the number of straight sides (of * -* equal length) between those phi limits, the number of z * -* planes (at least two) where the distances to the z axis are * -* changing, z coordinate of first plane, the shortest * -* distances RMIN & RMAX from the z axis to the inside * -* straight edge and the outside straight edge for the first * -* plane, Z, RMIN, RMAX for the second plane, and so on. * -* 'PCON' is a polycone. It has at least 9 parameters, the lower phi * -* limit, the range in phi, the number of z planes (at least * -* two) where the radius are changing, the z coordinate and * -* the minimum and maximum radius for each z boundary. * -* 'ELTU' is a cylinder with an elliptical section. It has three * -* parameters: the ellipse semi-axis in X, the ellipse * -* semi-axis in Y and the half length in Z. The equation of * -* the conical curve is: * -* X**2/PAR(1)**2 + Y**2/PAR(2)**2 = 1 * -* ELTU is not divisible. * -* 'HYPE' is a hyperbolic tube, ie the inner and outer surfaces are * -* hyperboloids, as would be formed by a system of cylindrical * -* wires which were then rotated tangentially about their * -* centres. The 4 parameters are the inner and outer radii, * -* the half lenght in z, and the "stereo angle" theta in * -* degrees, such that the hyperbolic surfaces are given by * -* r**2 = (z*tan(theta))**2 + (r at z=0)**2 * -* 'CTUB' is a cut tube with 11 parameters. The first 5 parameters * -* are the same as for the TUBS. The remaining 6 parameters * -* are the director cosines of the surfaces cutting the tube * -* respectively at the low and high Z values. * -* * -* Shapes BOX,TRD1,TRD2,TRAP * -* Shapes TUBE,TUBS,CONE,CONS * -* Shapes PARA,SPHE,PGON,PCON * -* Shapes ELTU,HYPE,CTUB * -* * -* The Volume data structure JVOLUM * -* -------------------------------- * -* * -* ISHAPE system shape number * -* NIN number of volumes imbedded in the mother volume. If it * -* is negative then the volume is divided into slices * -* NMED medium number for the volume * -* NPAR number of shape parameters * -* NATT number of drawing attributes * -* PAR array of shape parameters * -* IAT array of drawing attributes * -* IAXIS defines the direction of the slices (1,2,3) in the case * -* of slice division (NIN < 0): * -* IVO system volume number * -* NDIV number of slices * -* C0 minimum coordinate limit * -* STEP coordinate step from slice to slice * -* IVO system volume number in the case of object insertion * -* (NIN > 0): * -* NR user number * -* IROT rotation matrix number defining the orientation of the * -* volume * -* X,Y,Z define the position of the volume * -* KONLY indicates whether it is sufficient to find a point * -* within this volume or whether there may be some * -* ambiguity with other volumes at the same level * -* * -* User bits in the bank status word are used with the following * -* meaning (the least significant bit is number 1): * -* * -* Bit Meaning when set * -* * -* 1 Content of the volume has been ordered by GSORD * -* 2 Content of the volume has been developed by GGDVLP * -* 3 Volume is convex * -* 4 User routines GSNEAR or GSNEXT have been called * -* 5 Bit used to exclude a volume from the search in the * -* geometrical tree. * -* * -* * -* | JVOLUM * -* NVOLUM IVO IVO v NVOLUM * -* ............................................. (*) * -* | | | | | | | Volume names |-->nlevmx * -* ............................................. * -* | | * -* | v JVO = LQ(JVOLUM-IVO) {NIN < 0} * -* | ........................................... (**) * -* | | | |ishape|nin|numed|npar|natt|pars|atts.|->dev * -* | ........................................... * -* | | * -* | v JDIV=LQ(JVO-1) * -* | ................................. * -* | | | IAXIS |IVO |NDIV| C0 | STEP | * -* | ................................. * -* | * -* ..... * -* | * -* NIN IN v JVO = LQ(JVOLUM-IVO) {NIN>0} * -* ........................................................ (**) * -* | | | | | | |ishape| nin |numed|npar|natt|pars.|atts.|->dev * -* ........................................................ * -* | | | * -* | | v JIN = LQ(JVO-IN) * -* | | ....................................................... * -* | | | | |-| ivo | nr |irot| x | y | z |konly|npar| pars.. | * -* | | ....................................................... * -* | | | * -* | | v JNUP = LQ(JIN-1) option GSNEXT only * -* | | ............................. * -* | | | | nus | in(1) ... in(nus) | * -* | | ............................. * -* | | * -* | v JNDW = LQ(JVO-NIN-1) JSB = LQ(JNDW) * -* |............................ ............................. * -* || | nin | in(1) .. in(nin) | --| |IAXIS | NSB | C1.. | * -* |............................ ............................. * -* | option GSORD only * -* | * -* | JSC0 = LQ(JVO-NIN-2) option GSORD only * -* .............. * -* | * -* NSB-1 IDIV v NSB-1 * -* ...................................... * -* | | | | | NCONT1... | * -* ...................................... * -* | * -* | JSCV = LQ(JSC0-IDIV) * -* v NCONT * -* ............................ * -* | | IN1... | * -* ............................ * -* * -* (*) * -* Next of same type of JVOLUM filled in by routine GGNLEV/GGCLOS * -* (**) * -* Next of same type of JVO, for local development, filled in by * -* GGDVLP/GGCLOS * -* * -************************************************************************ -#endif diff --git a/StarVMC/geant3/ggeom/ggnlev.F b/StarVMC/geant3/ggeom/ggnlev.F deleted file mode 100644 index b37466309f4..00000000000 --- a/StarVMC/geant3/ggeom/ggnlev.F +++ /dev/null @@ -1,164 +0,0 @@ -* -* $Id: ggnlev.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggnlev.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GGNLEV -C. -C. ****************************************************************** -C. * * -C. * SUBR. GGNLEV * -C. * * -C. * Scans the JVOLUM structure to find the maximum Number of * -C. * LEVels and maximum number of volumes in each level.top * -C. * Stores corresponding information in bank next to JVOLUM * -C. * mother bank. * -C. * * -C. * Called by : GGCLOS * -C. * Author : S.Banerjee * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - COMMON / FIXIT / JVOLX - PARAMETER (NLVMAX=15) - INTEGER ILINK(NLVMAX), LJVOM(NLVMAX), NLINK(NLVMAX) - INTEGER NDVLP(NLVMAX), MAXVO(NLVMAX) -C. -C. ------------------------------------------------------------------ -* - CALL VZERO (MAXVO, NLVMAX) - NLEV = 1 - NLVT = NLEV - LJVOM(NLEV) = LQ(JVOLUM-1) - ILINK(NLEV) = 1 - MAXVO(NLEV) = 1 -* -* *** Loop over volumes going down the tree -* - 10 IF (NLEV.GT.NLVT) NLVT = NLEV -* -* ** Check if current volume is a source of local development -* - IF (LQ(LJVOM(NLEV)).GT.0) THEN - NDVLP(NLEV) = NLEV - ELSE IF (NLEV.GT.1) THEN - NDVLP(NLEV) = NDVLP(NLEV-1) - ELSE - NDVLP(NLEV) = NLVMAX - ENDIF - NIN = Q(LJVOM(NLEV)+3) - IF (NIN.GT.0) THEN -* -* * Current volume has contents defined by position -* - NLINK(NLEV) = NIN - IF (NIN.GT.MAXVO(NLEV+1)) MAXVO(NLEV+1) = NIN - IF (NLINK(NLEV).EQ.0) GO TO 30 - IN = NLINK(NLEV) - NLINK(NLEV) = IN - 1 - JIN = LQ(LJVOM(NLEV)-IN) - IVOT = Q(JIN+2) - NLEV = NLEV + 1 - LJVOM(NLEV) = LQ(JVOLUM-IVOT) - ILINK(NLEV) = IN - GO TO 10 -* - ELSE IF (NIN.LT.0) THEN -* -* * Current volume is divided -* - JDIV = LQ(LJVOM(NLEV)-1) - IVOT = Q(JDIV+2) - IF (NLEV.GT.NDVLP(NLEV)) THEN - JPAR = LQ(LJVOM(NDVLP(NLEV))) - DO 15 ILEV = NDVLP(NLEV), NLEV-1 - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-ILINK(ILEV+1)) - IF (JPAR.EQ.0) GO TO 20 - ELSE - JPAR = LQ(JPAR-1) - ENDIF - IF (ILEV.EQ.NLEV-1) THEN - NDIV = IQ(JPAR+1) - GO TO 25 - ENDIF - 15 CONTINUE - ENDIF - 20 NDIV = Q(JDIV+3) - IF (NDIV.LT.0) NDIV = -NDIV - 25 NLINK(NLEV) = 0 - IF (NDIV.GT.MAXVO(NLEV+1)) MAXVO(NLEV+1) = NDIV - NLEV = NLEV + 1 - LJVOM(NLEV) = LQ(JVOLUM-IVOT) - ILINK(NLEV) = 1 - GO TO 10 - ENDIF -* -* ** No more content in this volume -* * Go up the tree -* - 30 NLEV = NLEV - 1 - IF (NLEV.GT.0) THEN - IF (NLINK(NLEV).EQ.0) GO TO 30 - IN = NLINK(NLEV) - NLINK(NLEV) = IN - 1 - JIN = LQ(LJVOM(NLEV)-IN) - IVOT = Q(JIN+2) - NLEV = NLEV + 1 - LJVOM(NLEV) = LQ(JVOLUM-IVOT) - ILINK(NLEV) = IN - GO TO 10 - ENDIF -* -* *** Scan is complete; now store the information in next-of-same-type -* ** link of JVOLUM -* - JVOLX = LQ(JVOLUM) - IF (JVOLX.GT.0) CALL MZDROP (IXCONS, JVOLX, ' ') - CALL MZBOOK (IXCONS, JVOLX, JVOLUM, 0, 'NLEV', 0, 0, NLVT, 2, 0) - CALL UCOPY (MAXVO, IQ(JVOLX+1), NLVT) -#if defined(CERNLIB_DEBUGG) - IF (IDEBUG.NE.0) THEN - WRITE (CHMAIL, 2001) NLVT - CALL GMAIL (1, 0) - IF (NLVT.GT.0) THEN - WRITE (CHMAIL, 2002) (MAXVO(I), I = 1, NLVT) - CALL GMAIL (0, 0) - ENDIF - ENDIF - 2001 FORMAT (' GGNLEV : Maximum number of levels = ',I4, - + ' -- maximum number of volumes in each level') - 2002 FORMAT (5X,20I6) -#endif -* END GGNLEV - END diff --git a/StarVMC/geant3/ggeom/ggord.F b/StarVMC/geant3/ggeom/ggord.F deleted file mode 100644 index d2de2955ed3..00000000000 --- a/StarVMC/geant3/ggeom/ggord.F +++ /dev/null @@ -1,243 +0,0 @@ -* -* $Id: ggord.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggord.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GGORD (IVO) -C. -C. ***************************************************************** -C. * * -C. * Find and order the boundaries of the contents of the * -C. * IVOth volume, with respect to coordinate IAX : * -C. * IAX = 1 X Axis * -C. * IAX = 2 Y Axis * -C. * IAX = 3 Z Axis * -C. * IAX = 4 Rxy (static ordering only -> GTMEDI) * -C. * IAX = 14 Rxy (also dynamic ordering -> GTNEXT) * -C. * IAX = 5 Rxyz (static ordering only -> GTMEDI) * -C. * IAX = 15 Rxyz (also dynamic ordering -> GTNEXT) * -C. * IAX = 6 PHI (PHI=0 => X axis) * -C. * IAX = 7 THETA (THETA=0 => Z axis) * -C. * * -C. * Called by : GGCLOS * -C. * Authors : R.Brun, F.Bruyant, A.McPherson ********* * -C. * * -C. ***************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - COMMON / FIXIT / JSB, JSC0, JVO, JSCV - DIMENSION CLOW(500),CHIGH(500),CORD(1000),ITYPE(1000), - +ICONT(500),ICON(1000),ICONS(500) - DIMENSION P(100) - EQUIVALENCE (CLOW(1),WS(1)),(CHIGH(1),WS(501)) - EQUIVALENCE (CORD(1),WS(1001)),(ITYPE(1),WS(2001)) - EQUIVALENCE (ICONT(1),WS(3001)),(ICON(1),WS(3501)) - EQUIVALENCE (ICONS(1),WS(4501)),(P(1),WS(5001)) -C. -C. ------------------------------------------------------------------ -* - JVO = LQ(JVOLUM-IVO) - NIN = Q(JVO+3) - IAX = -Q(JVO+1) -* -* *** Inhibit dynamic ordering in Rxy and R unless explicitly required -* by user (ordering axis 14 or 15) -* - IF(IAX.EQ.4.OR.IAX.EQ.5)THEN -* -* *** Only static ordering allowed, dynamic inhibited (GNEXT,GTNEXT) -* - Q(JVO+1)=-1. - ELSE - Q(JVO+1)=-2. - ENDIF - IAX=MOD(IAX,10) -* -* *** Find the upper and lower coordinates of each content -* - DO 50 IN = 1,NIN - CALL GFCLIM (JVO, IN, IAX, CLOW(IN), CHIGH(IN), IERR) - IF (IERR.NE.0) THEN - JIN = LQ(JVO-IN) - IVOT = Q(JIN+2) - IROTT = Q(JIN+4) - INUMT = Q(JIN+3) - Q(JVO+1) = 0. - WRITE (CHMAIL, 1001) IQ(JVOLUM+IVOT), INUMT, IQ(JVOLUM+IVO), - + IAX, IROTT - CALL GMAIL (0, 0) - GO TO 999 - ENDIF - 50 CONTINUE -* -* *** Order the coordinate limits, keeping track of the associated -* content number -* - CALL GFCORD (NIN, CLOW, CHIGH, CORD, ITYPE, ICON) -* -* *** Book the JSB bank to store the boundaries -* - JNEAR = LQ(JVO-NIN-1) - IF(LQ(JNEAR).EQ.0) THEN - CALL MZBOOK (IXCONS,JSB,JNEAR,0,'VOBO',0,0,NIN*2+2,3,0) - JVO = LQ(JVOLUM-IVO) - ELSE - JSB = LQ(JNEAR) - ENDIF - IQ(JSB-5) = IVO -* - Q(JSB+1) = IAX - NC = NIN*2 -* -* ** Count and load up the distinct boundaries -* - IBO = 0 - DO 60 IC = 1,NC - IBO = IBO +1 - Q(JSB+IBO+2) = CORD(IC) - IF (IBO.EQ.1) GO TO 60 - IF (CORD(IC)-CORD(IC-1).LT.1.E-4) IBO = IBO -1 - 60 CONTINUE - Q(JSB+2) = IBO - NDIV = IBO -1 - IF (IAX.EQ.6) NDIV = IBO -* -* ** Book the JSC0 bank to store the number of contents in each -* section (between neighbouring boundaries) -* - JSC0 = LQ(JVO-NIN-2) - IF(JSC0.GT.0) THEN - CALL MZDROP(IXCONS,JSC0,'L') - ENDIF - CALL MZBOOK (IXCONS,JSC0,JVO,-NIN-2,'VOBC',NDIV,NDIV,NDIV,2,0) - IQ(JSC0-5) = IVO -* -* * Load up number of contents in each section and when greater -* than 0 book and load bank of contents -* - IDIV = 0 - NCONT = 1 - ICONT(1)= ICON(1) - IF (IAX.NE.6) GO TO 70 - NCONT = 0 - NSTOR = 0 - ICONT(1)= 0 - DO 65 IN = 1,NIN - IF (CHIGH(IN).GT.CLOW(IN)) GO TO 65 -* (this content straddles PHI=0.) - NSTOR = NSTOR +1 - ICONS(NSTOR) = IN - IF (ICON(1).EQ.IN) GO TO 65 -* (IN is in 1st division as well) - NCONT = NCONT +1 - ICONT(NCONT) = IN - 65 CONTINUE -* - IF (ITYPE(1).EQ.2) GO TO 70 -* (first boundary is a low, add the new content) - NCONT = NCONT +1 - ICONT(NCONT) = ICON(1) -* - 70 CONTINUE -* - DO 130 IC = 2,NC - IDIV = IDIV +1 - IF (CORD(IC)-CORD(IC-1).LT.1.E-4) GO TO 90 -* -* New division, load up last division -* - IQ(JSC0+IDIV) = NCONT - IF (NCONT.LE.0) GO TO 100 -* -* Book bank for contents -* - CALL MZBOOK (IXCONS,JSCV,JSC0,-IDIV,'VODC',0,0,NCONT,2,0) - JVO = LQ(JVOLUM-IVO) - JSC0= LQ(JVO-NIN-2) -* -* Load up contents -* - DO 80 ICNT = 1,NCONT - IQ(JSCV+ICNT) = ICONT(ICNT) - 80 CONTINUE -* - GO TO 100 - 90 CONTINUE - IDIV = IDIV -1 -* - 100 CONTINUE -* -* Update contents of current division -* - IF (ITYPE(IC).EQ.1) GO TO 120 -* -* This boundary was a high, so one less content -* - ICP = 0 - DO 110 ICNT = 1,NCONT - IF (ICONT(ICNT).EQ.ICON(IC)) ICP=1 - IF (ICP.EQ.1) ICONT(ICNT) = ICONT(ICNT+1) - 110 CONTINUE - NCONT = NCONT -1 - GO TO 130 -* - 120 CONTINUE -* -* This boundary was a low, so one extra content -* - NCONT = NCONT +1 - ICONT(NCONT) = ICON(IC) -* - 130 CONTINUE -* - IF (IAX.NE.6) GO TO 150 - IQ(JSC0+NDIV) = NSTOR - IF (NSTOR.EQ.0) GO TO 150 - CALL MZBOOK (IXCONS,JSCV,JSC0,-NDIV,'VOID',0,0,NSTOR,2,0) -* - DO 140 IS = 1,NSTOR - IQ(JSCV+IS) = ICONS(IS) - 140 CONTINUE - JVO = LQ(JVOLUM-IVO) - JSC0 = LQ(JVO-NIN-2) - 150 CONTINUE - DO 159 I = 1,NDIV - IF (IQ(JSC0+I).GT.1) GO TO 999 - 159 CONTINUE - IQ(JSC0) = IBSET(IQ(JSC0),0) -* - 1001 FORMAT (' GGORD : Error in GFCLIM for content ',A4,I7,' in ',A4, - + ' along axis',I5,' IROT= ',I5) -* END GGORD - 999 END - diff --git a/StarVMC/geant3/ggeom/ggordq.F b/StarVMC/geant3/ggeom/ggordq.F deleted file mode 100644 index 727403b0c86..00000000000 --- a/StarVMC/geant3/ggeom/ggordq.F +++ /dev/null @@ -1,231 +0,0 @@ -* -* $Id: ggordq.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggordq.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:44 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/05/16 14:57:13 alibrary -* New files for folders and Stack -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:49 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GGORDQ (IVO) -C. -C. ***************************************************************** -C. * * -C. * Find and order the boundaries of the contents of the * -C. * IVOth volume, with respect to coordinate IAX : * -C. * IAX = 1 X Axis * -C. * IAX = 2 Y Axis * -C. * IAX = 3 Z Axis * -C. * IAX = 4 Rxy * -C. * IAX = 5 Rxyz * -C. * IAX = 6 PHI (PHI=0 => X axis) * -C. * IAX = 7 THETA (THETA=0 => Z axis) * -C. * All values of IAX will be tried and then that value is * -C. * chosen, that results in the smallest number of volumes per * -C. * division. * -C. * Called by : GGCLOS * -C. * Author: Stephan Egli (large parts are copies of GGORD) * -C. * * -C. ***************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcflag.inc" -* - - DIMENSION CLOW(500),CHIGH(500),CORD(1000),ITYPE(1000), - +ICONT(500),ICON(1000),ICONS(500) - EQUIVALENCE (CLOW(1),WS(1)),(CHIGH(1),WS(501)) - EQUIVALENCE (CORD(1),WS(1001)),(ITYPE(1),WS(2001)) - EQUIVALENCE (ICONT(1),WS(3001)),(ICON(1),WS(3501)) - EQUIVALENCE (ICONS(1),WS(4501)) -C - CHARACTER*4 NAME - -C. ------------------------------------------------------------------ -* - JVO = LQ(JVOLUM-IVO) - CALL UHTOC(IQ(JVOLUM+IVO),4,NAME,4) - NIN = Q(JVO+3) - IAXNOW = 0 - IF(IQ(JVO-2).EQ.NIN+2) THEN -* -* *** This is to allow re-entry in the routine from the interactive -* *** version. - JNEAR = LQ(JVO-NIN-1) - IF(JNEAR.GT.0) THEN - JSB = LQ(JNEAR) - IF(JSB.GT.0) THEN - IAXNOW = Q(JSB+1) - ENDIF - ENDIF - ENDIF - IF(IAXNOW.EQ.0) THEN - IAXNOW=-Q(JVO+1) - ENDIF -* assume that ordering can not be done unless proven otherwise - Q(JVO+1)=0. - RBEST=1.E9 - -* try all possible axes - - DO 1 IAX=1,7 - -* count number of additional words needed and total number of volumes -* in all divisions - - NCOALL=0 -* -* *** Find the upper and lower coordinates of each content -* - DO 50 IN = 1,NIN - CALL GFCLIM (JVO, IN, IAX, CLOW(IN), CHIGH(IN), IERR) - IF (IERR.NE.0) GOTO 1 - 50 CONTINUE -* -* *** Order the coordinate limits, keeping track of the associated -* content number -* - CALL GFCORD (NIN, CLOW, CHIGH, CORD, ITYPE, ICON) - NC = NIN*2 -* -* ** Count and load up the distinct boundaries -* - IBO = 0 - DO 60 IC = 1,NC - IBO = IBO +1 - IF (IBO.EQ.1) GO TO 60 - IF (CORD(IC)-CORD(IC-1).LT.1.E-4) IBO = IBO -1 - 60 CONTINUE - NDIV = IBO -1 - IF (IAX.EQ.6) NDIV = IBO - -* * Load up number of contents in each section -* - IDIV = 0 - NCONT = 1 - ICONT(1)= ICON(1) - IF (IAX.NE.6) GO TO 70 - NCONT = 0 - NSTOR = 0 - ICONT(1)= 0 - DO 65 IN = 1,NIN - IF (CHIGH(IN).GT.CLOW(IN)) GO TO 65 -* (this content straddles PHI=0.) - NSTOR = NSTOR +1 - ICONS(NSTOR) = IN - IF (ICON(1).EQ.IN) GO TO 65 -* (IN is in 1st division as well) - NCONT = NCONT +1 - ICONT(NCONT) = IN - 65 CONTINUE -* - IF (ITYPE(1).EQ.2) GO TO 70 -* (first boundary is a low, add the new content) - NCONT = NCONT +1 - ICONT(NCONT) = ICON(1) -* - 70 CONTINUE -* - DO 130 IC = 2,NC - IDIV = IDIV +1 - IF (CORD(IC)-CORD(IC-1).LT.1.E-4) GO TO 90 -* -* New division, load up last division -* - IF (NCONT.LE.0) GO TO 100 - NCOALL=NCOALL+NCONT - GO TO 100 - 90 CONTINUE - IDIV = IDIV -1 -* - 100 CONTINUE -* -* Update contents of current division -* - IF (ITYPE(IC).EQ.1) GO TO 120 -* -* This boundary was a high, so one less content -* - ICP = 0 - DO 110 ICNT = 1,NCONT - IF (ICONT(ICNT).EQ.ICON(IC)) ICP=1 - IF (ICP.EQ.1) ICONT(ICNT) = ICONT(ICNT+1) - 110 CONTINUE - NCONT = NCONT -1 - GO TO 130 -* - 120 CONTINUE -* -* This boundary was a low, so one extra content -* - NCONT = NCONT +1 - ICONT(NCONT) = ICON(IC) -* - 130 CONTINUE -* - IF(IAX.EQ.6) NCOALL = NCOALL+NSTOR - RNOW=FLOAT(NCOALL)/NDIV - IF(RNOW.LT.RBEST)THEN - IAXOPT=IAX - RBEST=RNOW - NDIVB=NDIV - ENDIF - -* end of loop over IAX - -1 CONTINUE - - -* now the best axis is selected - compare with axis requested by CALL -* to GSORD (if any) - - IF(IAXNOW.GT.0)THEN - - IF(IDEBUG.NE.0) THEN - WRITE (CHMAIL,1002) NAME,NIN,IAXOPT,NDIVB,RBEST,IAXNOW - CALL GMAIL (0, 0) - 1002 FORMAT(' GGORDQ : Volume ',A4,2X,'NIN=',I4,' IAX=',I2,2X, - + 'NDIV=',I3,2X,'NVOL/DIV=',F5.1,2X,'IAX wanted by user:',I2) - ENDIF - - ELSE - - IF(IDEBUG.NE.0) THEN - WRITE (CHMAIL,1003) NAME,NIN,IAXOPT,NDIVB,RBEST - CALL GMAIL (0, 0) - 1003 FORMAT(' GGORDQ : Volume ',A4,2X,'NIN=',I4,' IAX=',I2,2X, - + 'NDIV=',I3,2X,'NVOL/DIV=',F5.1) - ENDIF - - ENDIF - -* overwrite old axis and store sorting information for new axis - - Q(JVO+1)=-IAXOPT - CALL GGORD(IVO) - - END diff --git a/StarVMC/geant3/ggeom/ggperp.F b/StarVMC/geant3/ggeom/ggperp.F deleted file mode 100644 index 61282f66027..00000000000 --- a/StarVMC/geant3/ggeom/ggperp.F +++ /dev/null @@ -1,732 +0,0 @@ -* -* $Id: ggperp.F,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggperp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:44 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*FCA : 05/01/99 09:58:02 by Federico Carminati -* Effectively print the message when a shape is -* not implemented -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE G3GPERP (X,U,IERR) -C. -C. **************************************************************** -C. * * -C. * This routine solves the general problem of calculating the * -C. * unit vector normal to the surface of the current volume at * -C. * the point X. The result is returned in the array U. X is * -C. * assumed to be on or near a boundary of the current volume. * -C. * The current volume is indicated by the common /GCVOLU/. * -C. * U points from inside to outside in that neighbourhood. * -C. * If X is equidistant to more than one boundary (in a corner) * -C. * an arbitrary choice is made based upon the order of * -C. * precedence implied by the IF statements below. If the * -C. * routine fails to find the unit normal, it returns with * -C. * IERR=1, otherwise IERR=0. * -C. * * -C. * Called by : GSURFP, GDSTEP * -C. * Authors : F.Carminati, R.Jones, F.Ohlsson-Malek * -C. * * -C. **************************************************************** -#include "geant321/gcvolu.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcbank.inc" -#include "geant321/gcshno.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcunit.inc" - DIMENSION X(3),U(3),XL(3),UL(3),DXL(3),PAR(100),SPAR(100),ATT(20) - DIMENSION PERP(10) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION PERP,PMIN0 - DOUBLE PRECISION PAR,DXL,RHO,R,RINV,PHI,THE - DOUBLE PRECISION PHI1,PHI2,THE1,THE2,XWID - DOUBLE PRECISION GUARD,DPHI,PHI0,SPHI0,CPHI0 - DOUBLE PRECISION FACT,CALPH,SALPH,TALPH - DOUBLE PRECISION RAT,RATL,RATH,H,BL,TL,DX,DY,DZ,DU - DOUBLE PRECISION UU0,VV0,UU,W1,W2,W3,W4 - DOUBLE PRECISION SEW1,SEW2,SEW3,SEW4 - DOUBLE PRECISION TAN1,TAN2,TAN3,TAN4 - DOUBLE PRECISION SEC1,SEC2,SEC3,SEC4 - DOUBLE PRECISION U0,V0,U1,U1L,U2,U2L - DOUBLE PRECISION ONE,TWO - DOUBLE PRECISION DSECT,ZERO,FULL,FULL10,DBY2 -#endif - LOGICAL LNTFOU - PARAMETER (ONE=1,TWO=2) - PARAMETER (ZERO=0.,DBY2=0.5,FULL=360.,FULL10=3600.) -C. -C. ------------------------------------------------------------------ -C. - LNTFOU = .FALSE. -* -* *** Transform current point into local reference system - CALL G3MTOD(X,XL,1) - DXL(1) = XL(1) - DXL(2) = XL(2) - DXL(3) = XL(3) -* -* *** Fetch the parameters of the current volume - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - IN = LINDEX(NLEVEL) - IF (NLEVEL.GT.1) THEN - JVOM = LQ(JVOLUM-LVOLUM(NLEVEL-1)) - JIN = LQ(JVOM-IN) - ENDIF - ISH = Q(JVO+2) - NIN = Q(JVO+3) - IF (NLEVEL.LT.NLDEV(NLEVEL)) THEN - JPAR = 0 - ELSE -* (case with structure JVOLUM locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - IF (NLEVEL.EQ.NLDEV(NLEVEL)) GO TO 20 - DO 10 ILEV = NLDEV(NLEVEL), NLEVEL-1 - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - IF (JPAR.EQ.0) GO TO 20 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - IF (ILEV.EQ.NLEVEL-1) THEN - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - CALL UCOPY (Q(JPAR+1), SPAR, NPAR) - DO 100 I=1,NPAR - PAR(I)=SPAR(I) - 100 CONTINUE - ENDIF - 10 CONTINUE - GO TO 30 - ENDIF -* (normal case) - 20 CONTINUE - CALL GFIPAR(JVO,JIN,IN,NPAR,NATT,SPAR,ATT) - DO 101 I=1,NPAR - PAR(I)=SPAR(I) - 101 CONTINUE - 30 CONTINUE -* -* *** Case of the BOX: - IF (ISH.EQ.NSBOX) THEN - PERP(1) = ABS(ABS(DXL(1))-PAR(1)) - PERP(2) = ABS(ABS(DXL(2))-PAR(2)) - PERP(3) = ABS(ABS(DXL(3))-PAR(3)) - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = SIGN(ONE,DXL(1)) - UL(2) = 0. - UL(3) = 0. - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = SIGN(ONE,DXL(2)) - UL(3) = 0. - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the TUBE, TUBeSection: - ELSE IF (ISH.EQ.NSTUBE.OR.ISH.EQ.NSTUBS) THEN - RHO = SQRT(DXL(1)**2 + DXL(2)**2) - PERP(1) = ABS(RHO-PAR(1)) - PERP(2) = ABS(RHO-PAR(2)) - PERP(3) = ABS(ABS(DXL(3))-PAR(3)) - IF (ISH.EQ.NSTUBE) THEN - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - ELSE - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - PHI1 = MOD(PAR(4)+FULL10,FULL)*DEGRAD - PERP(4) = ABS(PHI-PHI1) - IF (PERP(4).GT.PI) PERP(4) = TWOPI-PERP(4) - PHI2 = MOD(PAR(5)+FULL10,FULL)*DEGRAD - PERP(5) = ABS(PHI-PHI2) - IF (PERP(5).GT.PI) PERP(5) = TWOPI-PERP(5) - PERP(4) = PERP(4)*RHO - PERP(5) = PERP(5)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4),PERP(5)) - ENDIF - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = -DXL(1)/RHO - UL(2) = -DXL(2)/RHO - UL(3) = 0. - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = DXL(1)/RHO - UL(2) = DXL(2)/RHO - UL(3) = 0. - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE IF (PERP(4).EQ.PMIN0) THEN - UL(1) = SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0. - ELSE IF (PERP(5).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = COS(PHI2) - UL(3) = 0. - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the CONE, CONeSection: - ELSE IF (ISH.EQ.NSCONE.OR.ISH.EQ.NSCONS) THEN - RHO = SQRT(DXL(1)**2 + DXL(2)**2) - TAN1 = (PAR(4)-PAR(2))/(TWO*PAR(1)) - SEC1 = SQRT(ONE+TAN1**2) - U1 = RHO-DXL(3)*TAN1 - U1L = PAR(4)-PAR(1)*TAN1 - TAN2 = (PAR(5)-PAR(3))/(TWO*PAR(1)) - SEC2 = SQRT(ONE+TAN2**2) - U2 = RHO-DXL(3)*TAN2 - U2L = PAR(5)-PAR(1)*TAN2 - PERP(1) = ABS(ABS(DXL(3))-PAR(1)) - PERP(2) = ABS(U1-U1L)/SEC1 - PERP(3) = ABS(U2-U2L)/SEC2 - IF (ISH.EQ.NSCONE) THEN - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - ELSE - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - PHI1 = MOD(PAR(6)+FULL10,FULL)*DEGRAD - PERP(4) = ABS(PHI-PHI1) - IF (PERP(4).GT.PI) PERP(4) = TWOPI-PERP(4) - PHI2 = MOD(PAR(7)+FULL10,FULL)*DEGRAD - PERP(5) = ABS(PHI-PHI2) - IF (PERP(5).GT.PI) PERP(5) = TWOPI-PERP(5) - PERP(4) = PERP(4)*RHO - PERP(5) = PERP(5)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4),PERP(5)) - ENDIF - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE IF (PERP(2).EQ.PMIN0) THEN - RHO = RHO*SEC1 - UL(1) = -DXL(1)/RHO - UL(2) = -DXL(2)/RHO - UL(3) = TAN1/SEC1 - ELSE IF (PERP(3).EQ.PMIN0) THEN - RHO = RHO*SEC2 - UL(1) = DXL(1)/RHO - UL(2) = DXL(2)/RHO - UL(3) = -TAN2/SEC2 - ELSE IF (PERP(4).EQ.PMIN0) THEN - UL(1) = SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0. - ELSE IF (PERP(5).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = COS(PHI2) - UL(3) = 0. - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the PolyCONe: - ELSE IF (ISH.EQ.NSPCON) THEN - PERP(1) = ABS(DXL(3)-PAR(4)) - DO 400 I=7,NPAR,3 - PERP(2) = ABS(DXL(3)-PAR(I)) - IF (PERP(2).GT.PERP(1)) GOTO 401 - PERP(1) = PERP(2) - 400 CONTINUE - 401 I = I-3 - IF (I.GT.4) THEN - PERP(1) = 100. - RHO = SQRT(DXL(1)**2 + DXL(2)**2) - DZ = PAR(I)-PAR(I-3)+1.e-10 - TAN1 = (PAR(I+1)-PAR(I-2))/DZ - SEC1 = SQRT(ONE+TAN1**2) - U1 = RHO-DXL(3)*TAN1 - U1L = PAR(I+1)-PAR(I)*TAN1 - TAN2 = (PAR(I+2)-PAR(I-1))/DZ - SEC2 = SQRT(ONE+TAN2**2) - U2 = RHO-DXL(3)*TAN2 - U2L = PAR(I+2)-PAR(I)*TAN2 - GUARD = MAX(DXL(3)-PAR(I),ZERO) - PERP(3) = ABS(U1-U1L)/SEC1 + GUARD*SEC1 - PERP(4) = ABS(U2-U2L)/SEC2 + GUARD*SEC2 - ELSE - PERP(3) = 100. - PERP(4) = 100. - ENDIF - IF (I.LT.NPAR-2) THEN - PERP(2) = 100. - RHO = SQRT(DXL(1)**2 + DXL(2)**2) - DZ = PAR(I+3)-PAR(I)+1.e-10 - TAN3 = (PAR(I+4)-PAR(I+1))/DZ - SEC3 = SQRT(ONE+TAN3**2) - U1 = RHO-DXL(3)*TAN3 - U1L = PAR(I+1)-PAR(I)*TAN3 - TAN4 = (PAR(I+5)-PAR(I+2))/DZ - SEC4 = SQRT(ONE+TAN4**2) - U2 = RHO-DXL(3)*TAN4 - U2L = PAR(I+2)-PAR(I)*TAN4 - GUARD = MAX(PAR(I)-DXL(3),ZERO) - PERP(5) = ABS(U1-U1L)/SEC3 + GUARD*SEC3 - PERP(6) = ABS(U2-U2L)/SEC4 + GUARD*SEC4 - ELSE - PERP(5) = 100. - PERP(6) = 100. - ENDIF - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - PHI1 = MOD(PAR(1)+FULL10,FULL)*DEGRAD - PERP(7) = ABS(PHI-PHI1) - IF (PERP(7).GT.PI) PERP(7) = TWOPI-PERP(7) - PHI2 = MOD(PAR(1)+PAR(2)+FULL10,FULL)*DEGRAD - PERP(8) = ABS(PHI-PHI2) - IF (PERP(8).GT.PI) PERP(8) = TWOPI-PERP(8) - PERP(7) = PERP(7)*RHO - PERP(8) = PERP(8)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4), - + PERP(5),PERP(6),PERP(7),PERP(8)) - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = -1. - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = 1. - ELSE IF (PERP(3).EQ.PMIN0) THEN - RHO = RHO*SEC1 - UL(1) = -DXL(1)/RHO - UL(2) = -DXL(2)/RHO - UL(3) = TAN1/SEC1 - ELSE IF (PERP(4).EQ.PMIN0) THEN - RHO = RHO*SEC2 - UL(1) = DXL(1)/RHO - UL(2) = DXL(2)/RHO - UL(3) = -TAN2/SEC2 - ELSE IF (PERP(5).EQ.PMIN0) THEN - RHO = RHO*SEC3 - UL(1) = -DXL(1)/RHO - UL(2) = -DXL(2)/RHO - UL(3) = TAN3/SEC3 - ELSE IF (PERP(6).EQ.PMIN0) THEN - RHO = RHO*SEC4 - UL(1) = DXL(1)/RHO - UL(2) = DXL(2)/RHO - UL(3) = -TAN4/SEC4 - ELSE IF (PERP(7).EQ.PMIN0) THEN - UL(1) = SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0. - ELSE IF (PERP(8).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = COS(PHI2) - UL(3) = 0. - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the PolyGON: - ELSE IF (ISH.EQ.NSPGON) THEN - RHO = SQRT(DXL(1)**2+DXL(2)**2) - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - DPHI = MOD(PHI*RADDEG-PAR(1)+FULL10,FULL) - PDIV = PAR(2)/PAR(3) - DSECT = INT(DPHI/PDIV + ONE) - IF (DSECT.GT.PAR(3)) THEN - IF (DPHI.GT.(180.+PAR(2)*DBY2)) THEN - DSECT = ONE - ELSE - DSECT = PAR(3) - ENDIF - ENDIF - PHI0 = MOD(PAR(1)+(DSECT-DBY2)*PDIV+FULL10,FULL)*DEGRAD - SPHI0 = SIN(PHI0) - CPHI0 = COS(PHI0) - U0 = DXL(1)*CPHI0 + DXL(2)*SPHI0 - V0 = DXL(2)*CPHI0 - DXL(1)*SPHI0 - PERP(1) = ABS(DXL(3)-PAR(5)) - DO 500 I=8,NPAR,3 - PERP(2) = ABS(DXL(3)-PAR(I)) - IF (PERP(2).GT.PERP(1)) GOTO 501 - PERP(1) = PERP(2) - 500 CONTINUE - 501 I = I-3 - IF (I.GT.5) THEN - PERP(1) = 100. - DZ = PAR(I)-PAR(I-3)+1.e-10 - TAN1 = (PAR(I+1)-PAR(I-2))/DZ - SEC1 = SQRT(ONE+TAN1**2) - U1 = U0-DXL(3)*TAN1 - U1L = PAR(I+1)-PAR(I)*TAN1 - TAN2 = (PAR(I+2)-PAR(I-1))/DZ - SEC2 = SQRT(ONE+TAN2**2) - U2 = U0-DXL(3)*TAN2 - U2L = PAR(I+2)-PAR(I)*TAN2 - GUARD = MAX(DXL(3)-PAR(I),ZERO) - PERP(3) = ABS(U1-U1L)/SEC1 + GUARD*SEC1 - PERP(4) = ABS(U2-U2L)/SEC2 + GUARD*SEC2 - ELSE - PERP(3) = 100. - PERP(4) = 100. - ENDIF - IF (I.LT.NPAR-2) THEN - PERP(2) = 100. - DZ = PAR(I+3)-PAR(I)+1.e-10 - TAN3 = (PAR(I+4)-PAR(I+1))/DZ - SEC3 = SQRT(ONE+TAN3**2) - U1 = U0-DXL(3)*TAN3 - U1L = PAR(I+1)-PAR(I)*TAN3 - TAN4 = (PAR(I+5)-PAR(I+2))/DZ - SEC4 = SQRT(ONE+TAN4**2) - U2 = U0-DXL(3)*TAN4 - U2L = PAR(I+2)-PAR(I)*TAN4 - GUARD = MAX(PAR(I)-DXL(3),ZERO) - PERP(5) = ABS(U1-U1L)/SEC3 + GUARD*SEC3 - PERP(6) = ABS(U2-U2L)/SEC4 + GUARD*SEC4 - ELSE - PERP(5) = 100. - PERP(6) = 100. - ENDIF - PHI1 = MOD(PAR(1)+FULL10,FULL)*DEGRAD - PERP(7) = ABS(PHI-PHI1) - IF (PERP(7).GT.PI) PERP(7) = TWOPI-PERP(7) - PHI2 = MOD(PAR(1)+PAR(2)+FULL10,FULL)*DEGRAD - PERP(8) = ABS(PHI-PHI2) - IF (PERP(8).GT.PI) PERP(8) = TWOPI-PERP(8) - PERP(7) = PERP(7)*RHO - PERP(8) = PERP(8)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4), - + PERP(5),PERP(6),PERP(7),PERP(8)) - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = -1. - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = 1. - ELSE IF (PERP(3).EQ.PMIN0) THEN - FACT = ONE/SEC1 - UL(1) = -CPHI0*FACT - UL(2) = -SPHI0*FACT - UL(3) = TAN1*FACT - ELSE IF (PERP(4).EQ.PMIN0) THEN - FACT = ONE/SEC2 - UL(1) = CPHI0*FACT - UL(2) = SPHI0*FACT - UL(3) = -TAN2*FACT - ELSE IF (PERP(5).EQ.PMIN0) THEN - FACT = ONE/SEC3 - UL(1) = -CPHI0*FACT - UL(2) = -SPHI0*FACT - UL(3) = TAN3*FACT - ELSE IF (PERP(6).EQ.PMIN0) THEN - FACT = ONE/SEC4 - UL(1) = CPHI0*FACT - UL(2) = SPHI0*FACT - UL(3) = -TAN4*FACT - ELSE IF (PERP(7).EQ.PMIN0) THEN - UL(1) = SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0. - ELSE IF (PERP(8).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = COS(PHI2) - UL(3) = 0. - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the SPHEre: - ELSE IF (ISH.EQ.NSSPHE) THEN - R = SQRT(DXL(1)**2+DXL(2)**2+DXL(3)**2) - RHO = SQRT(DXL(1)**2+DXL(2)**2) - THE = ATAN2(RHO,DXL(3)) - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - THE1 = MOD(PAR(3)+FULL10,FULL)*DEGRAD - THE2 = MOD(PAR(4)+FULL10,FULL)*DEGRAD - PHI1 = MOD(PAR(5)+FULL10,FULL)*DEGRAD - PHI2 = MOD(PAR(6)+FULL10,FULL)*DEGRAD - PERP(1) = ABS(R-PAR(1)) - PERP(2) = ABS(R-PAR(2)) - PERP(3) = ABS(THE-THE1)*R - PERP(4) = ABS(THE-THE2)*R - PERP(5) = ABS(PHI-PHI1) - IF (PERP(5).GT.PI) PERP(5) = TWOPI-PERP(5) - PERP(5) = PERP(5)*RHO - PERP(6) = ABS(PHI-PHI2) - IF (PERP(6).GT.PI) PERP(6) = TWOPI-PERP(6) - PERP(6) = PERP(6)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4),PERP(5),PERP(6)) - IF (PERP(1).EQ.PMIN0) THEN - RINV = ONE/R - UL(1) = -DXL(1)*RINV - UL(2) = -DXL(2)*RINV - UL(3) = -DXL(3)*RINV - ELSE IF (PERP(2).EQ.PMIN0) THEN - RINV = ONE/R - UL(1) = DXL(1)*RINV - UL(2) = DXL(2)*RINV - UL(3) = DXL(3)*RINV - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = -COS(THE1)*COS(PHI) - UL(2) = -COS(THE1)*SIN(PHI) - UL(3) = +SIN(THE1) - ELSE IF (PERP(4).EQ.PMIN0) THEN - UL(1) = +COS(THE2)*COS(PHI) - UL(2) = +COS(THE2)*SIN(PHI) - UL(3) = -SIN(THE2) - ELSE IF (PERP(5).EQ.PMIN0) THEN - UL(1) = +SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0 - ELSE IF (PERP(6).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = +COS(PHI2) - UL(3) = 0 - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the PARAllelpiped: -*************************************************************** -* Warning: the parameters for this shape are NOT stored in * -* the data structure as the user supplies them. Rather, the * -* user supplies PAR(4)=alph, PAR(5)=the, PAR(6)=phi, and the * -* data structure contains PAR(4)=Tan(alph), PAR(5)=Tan(the)* * -* Cos(phi), PAR(6)=Tan(the)*Sin(phi). * -*************************************************************** - ELSE IF (ISH.EQ.NSPARA) THEN - DX = PAR(5) - DY = PAR(6) - U0 = DXL(1)-DX*DXL(3) - V0 = DXL(2)-DY*DXL(3) - CALPH = ONE/SQRT(ONE+PAR(4)**2) - SALPH = -CALPH*PAR(4) - U1 = U0*CALPH+V0*SALPH - U1L = PAR(1)*CALPH - PERP(1) = ABS(ABS(U1)-U1L) - PERP(2) = ABS(ABS(V0)-PAR(2)) - PERP(3) = ABS(ABS(DXL(3))-PAR(3)) - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - IF (PERP(1).EQ.PMIN0) THEN - DU = DX*CALPH+DY*SALPH - FACT = SIGN(ONE/SQRT(ONE+DU**2),U1) - UL(1) = CALPH*FACT - UL(2) = SALPH*FACT - UL(3) = -DU*FACT - ELSE IF (PERP(2).EQ.PMIN0) THEN - FACT = SIGN(ONE/SQRT(ONE+DY**2),V0) - UL(1) = 0. - UL(2) = FACT - UL(3) = -DY*FACT - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the trapezoid TRD1 - ELSE IF (ISH.EQ.NSTRD1) THEN - DZ = TWO*PAR(4)+1.e-10 - TAN1 = (PAR(2)-PAR(1))/DZ - SEC1 = SQRT(ONE+TAN1**2) - U1 = ABS(DXL(1))-DXL(3)*TAN1 - U1L = PAR(2)-PAR(4)*TAN1 - PERP(1) = ABS(U1-U1L)/SEC1 - PERP(2) = ABS(ABS(DXL(2))-PAR(3)) - PERP(3) = ABS(ABS(DXL(3))-PAR(4)) - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - IF (PERP(1).EQ.PMIN0) THEN - FACT = ONE/SEC1 - UL(1) = SIGN(FACT,DXL(1)) - UL(2) = 0. - UL(3) = -TAN1*FACT - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = SIGN(ONE,DXL(2)) - UL(3) = 0. - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the trapezoid TRD2 - ELSE IF (ISH.EQ.NSTRD2) THEN - DZ = TWO*PAR(5)+1.e-10 - TAN1 = (PAR(2)-PAR(1))/DZ - SEC1 = SQRT(ONE+TAN1**2) - U1 = ABS(DXL(1))-DXL(3)*TAN1 - U1L = PAR(2)-PAR(5)*TAN1 - TAN2 = (PAR(4)-PAR(3))/DZ - SEC2 = SQRT(ONE+TAN2**2) - U2 = ABS(DXL(2))-DXL(3)*TAN2 - U2L = PAR(4)-PAR(5)*TAN2 - PERP(1) = ABS(U1-U1L)/SEC1 - PERP(2) = ABS(U2-U2L)/SEC2 - PERP(3) = ABS(ABS(DXL(3))-PAR(5)) - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - IF (PERP(1).EQ.PMIN0) THEN - FACT = ONE/SEC1 - UL(1) = SIGN(FACT,DXL(1)) - UL(2) = 0. - UL(3) = -TAN1*FACT - ELSE IF (PERP(2).EQ.PMIN0) THEN - FACT = ONE/SEC2 - UL(1) = 0. - UL(2) = SIGN(FACT,DXL(2)) - UL(3) = -TAN2*FACT - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the TRAPezoid -*************************************************************** -* Warning: the parameters for this shape are NOT stored in * -* the data structure as the user supplies them. Rather, the * -* user supplies PAR(2)=thet, PAR(3)=phi, PAR(7)=alp1, and * -* PAR(11)=alp2, while the data structure contains PAR(2)= * -* Tan(thet)*Cos(phi), PAR(3)=Tan(thet)*Sin(phi), PAR(7)= * -* Tan(alp1), and PAR(11)=Tan(alp2). * -*************************************************************** - ELSE IF (ISH.EQ.NSTRAP) THEN - PERP(1) = ABS(ABS(DXL(3))-PAR(1)) - DX = PAR(2) - DY = PAR(3) - U0 = DX*DXL(3) - V0 = DY*DXL(3) - UU0 = DX*PAR(1) - VV0 = DY*PAR(1) - RAT = DXL(3)/PAR(1) - RATL = (ONE-RAT)/TWO - RATH = (ONE+RAT)/TWO - H = PAR(4)*RATL+PAR(8)*RATH - BL = PAR(5)*RATL+PAR(9)*RATH - TL = PAR(6)*RATL+PAR(10)*RATH - TALPH = PAR(7)*RATL+PAR(11)*RATH - XWID = (TL+BL)/TWO - TAN1 = TALPH+(TL-BL)/(TWO*H) - SEC1 = SQRT(ONE+TAN1**2) - U1 = DXL(1)-DXL(2)*TAN1 - U1L = U0+XWID-V0*TAN1 - TAN2 = TAN1-TWO*TALPH - SEC2 = SQRT(ONE+TAN2**2) - U2 = DXL(1)+DXL(2)*TAN2 - U2L = U0-XWID+V0*TAN2 - IF (DXL(3).LT.0) THEN - DZ = PAR(1)-DXL(3)+1.e-10 - UU = UU0+(PAR(9)+PAR(10))/TWO - W1 = (UU-VV0*TAN1-U1L)/DZ - UU = TWO*UU0-UU - W2 = (UU+VV0*TAN2-U2L)/DZ - ELSE - DZ = -PAR(1)-DXL(3)+1.e-10 - UU = -UU0+(PAR(5)+PAR(6))/TWO - W1 = (UU+VV0*TAN1-U1L)/DZ - UU = -TWO*UU0-UU - W2 = (UU-VV0*TAN2-U2L)/DZ - ENDIF - W3 = DY+(PAR(8)-PAR(4))/(TWO*PAR(1)) - W4 = TWO*DY-W3 - SEW1 = SQRT(ONE+W1**2) - SEW2 = SQRT(ONE+W2**2) - SEW3 = SQRT(ONE+W3**2) - SEW4 = SQRT(ONE+W4**2) - PERP(2) = ABS(U1-U1L)/(SEC1*SEW1) - PERP(3) = ABS(U2-U2L)/(SEC2*SEW2) - PERP(4) = ABS(DXL(2)-V0-H)/SEW3 - PERP(5) = ABS(DXL(2)-V0+H)/SEW4 - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4),PERP(5)) - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE IF (PERP(2).EQ.PMIN0) THEN - FACT = ONE/(SEC1*SEW1) - UL(1) = FACT - UL(2) = -TAN1*FACT - UL(3) = -W1/SEW1 - ELSE IF (PERP(3).EQ.PMIN0) THEN - FACT = ONE/(SEC2*SEW2) - UL(1) = -FACT - UL(2) = -TAN2*FACT - UL(3) = W2/SEW2 - ELSE IF (PERP(4).EQ.PMIN0) THEN - FACT = ONE/SEW3 - UL(1) = 0. - UL(2) = FACT - UL(3) = -W3*FACT - ELSE IF (PERP(5).EQ.PMIN0) THEN - FACT = ONE/SEW4 - UL(1) = 0. - UL(2) = -FACT - UL(3) = W4*FACT - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** everything else (currently NOT IMPLEMENTED) - ELSE - WRITE(CHMAIL,10100) ISH - CALL GMAIL(0,0) - IERR = 1 - GOTO 999 - ENDIF - - IF(LNTFOU) THEN - WRITE(CHMAIL,10000) ISH - CALL GMAIL(0,0) - IERR = 1 - ELSE -* -* *** Transform back into the MCS - CALL G3DTOM(UL,U,2) - IERR = 0 - ENDIF - -10000 FORMAT(' GGPERP - geometry check error for shape #',I2,'!') -10100 FORMAT(' GGPERP - non implemented for shape #',I2) - 999 END diff --git a/StarVMC/geant3/ggeom/ggperp.F.ori b/StarVMC/geant3/ggeom/ggperp.F.ori deleted file mode 100644 index df9bad2987a..00000000000 --- a/StarVMC/geant3/ggeom/ggperp.F.ori +++ /dev/null @@ -1,722 +0,0 @@ -* -* $Id: ggperp.F.ori,v 1.1.1.2 2009/02/01 17:10:24 fisyak Exp $ -* -* $Log: ggperp.F.ori,v $ -* Revision 1.1.1.2 2009/02/01 17:10:24 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:44 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:38 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GGPERP (X,U,IERR) -C. -C. **************************************************************** -C. * * -C. * This routine solves the general problem of calculating the * -C. * unit vector normal to the surface of the current volume at * -C. * the point X. The result is returned in the array U. X is * -C. * assumed to be on or near a boundary of the current volume. * -C. * The current volume is indicated by the common /GCVOLU/. * -C. * U points from inside to outside in that neighbourhood. * -C. * If X is equidistant to more than one boundary (in a corner) * -C. * an arbitrary choice is made based upon the order of * -C. * precedence implied by the IF statements below. If the * -C. * routine fails to find the unit normal, it returns with * -C. * IERR=1, otherwise IERR=0. * -C. * * -C. * Called by : GSURFP, GDSTEP * -C. * Authors : F.Carminati, R.Jones, F.Ohlsson-Malek * -C. * * -C. **************************************************************** -#include "geant321/gcvolu.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcbank.inc" -#include "geant321/gcshno.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcunit.inc" - DIMENSION X(3),U(3),XL(3),UL(3),DXL(3),PAR(50),SPAR(50),ATT(20) - DIMENSION PERP(10) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION PERP,PMIN0 - DOUBLE PRECISION PAR,DXL,RHO,R,RINV,PHI,THE - DOUBLE PRECISION PHI1,PHI2,THE1,THE2,XWID - DOUBLE PRECISION GUARD,DPHI,PHI0,SPHI0,CPHI0 - DOUBLE PRECISION FACT,CALPH,SALPH,TALPH - DOUBLE PRECISION RAT,RATL,RATH,H,BL,TL,DX,DY,DZ,DU - DOUBLE PRECISION UU0,VV0,UU,W1,W2,W3,W4 - DOUBLE PRECISION SEW1,SEW2,SEW3,SEW4 - DOUBLE PRECISION TAN1,TAN2,TAN3,TAN4 - DOUBLE PRECISION SEC1,SEC2,SEC3,SEC4 - DOUBLE PRECISION U0,V0,U1,U1L,U2,U2L - DOUBLE PRECISION ONE,TWO - DOUBLE PRECISION DSECT,ZERO,FULL,FULL10,DBY2 -#endif - LOGICAL LNTFOU - PARAMETER (ONE=1,TWO=2) - PARAMETER (ZERO=0.,DBY2=0.5,FULL=360.,FULL10=3600.) -C. -C. ------------------------------------------------------------------ -C. - LNTFOU = .FALSE. -* -* *** Transform current point into local reference system - CALL GMTOD(X,XL,1) - DXL(1) = XL(1) - DXL(2) = XL(2) - DXL(3) = XL(3) -* -* *** Fetch the parameters of the current volume - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - IN = LINDEX(NLEVEL) - IF (NLEVEL.GT.1) THEN - JVOM = LQ(JVOLUM-LVOLUM(NLEVEL-1)) - JIN = LQ(JVOM-IN) - ENDIF - ISH = Q(JVO+2) - NIN = Q(JVO+3) - IF (NLEVEL.LT.NLDEV(NLEVEL)) THEN - JPAR = 0 - ELSE -* (case with structure JVOLUM locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - IF (NLEVEL.EQ.NLDEV(NLEVEL)) GO TO 20 - DO 10 ILEV = NLDEV(NLEVEL), NLEVEL-1 - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - IF (JPAR.EQ.0) GO TO 20 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - IF (ILEV.EQ.NLEVEL-1) THEN - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - CALL UCOPY (Q(JPAR+1), SPAR, NPAR) - DO 100 I=1,NPAR - PAR(I)=SPAR(I) - 100 CONTINUE - ENDIF - 10 CONTINUE - GO TO 30 - ENDIF -* (normal case) - 20 CONTINUE - CALL GFIPAR(JVO,JIN,IN,NPAR,NATT,SPAR,ATT) - DO 101 I=1,NPAR - PAR(I)=SPAR(I) - 101 CONTINUE - 30 CONTINUE -* -* *** Case of the BOX: - IF (ISH.EQ.NSBOX) THEN - PERP(1) = ABS(ABS(DXL(1))-PAR(1)) - PERP(2) = ABS(ABS(DXL(2))-PAR(2)) - PERP(3) = ABS(ABS(DXL(3))-PAR(3)) - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = SIGN(ONE,DXL(1)) - UL(2) = 0. - UL(3) = 0. - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = SIGN(ONE,DXL(2)) - UL(3) = 0. - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the TUBE, TUBeSection: - ELSE IF (ISH.EQ.NSTUBE.OR.ISH.EQ.NSTUBS) THEN - RHO = SQRT(DXL(1)**2 + DXL(2)**2) - PERP(1) = ABS(RHO-PAR(1)) - PERP(2) = ABS(RHO-PAR(2)) - PERP(3) = ABS(ABS(DXL(3))-PAR(3)) - IF (ISH.EQ.NSTUBE) THEN - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - ELSE - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - PHI1 = MOD(PAR(4)+FULL10,FULL)*DEGRAD - PERP(4) = ABS(PHI-PHI1) - IF (PERP(4).GT.PI) PERP(4) = TWOPI-PERP(4) - PHI2 = MOD(PAR(5)+FULL10,FULL)*DEGRAD - PERP(5) = ABS(PHI-PHI2) - IF (PERP(5).GT.PI) PERP(5) = TWOPI-PERP(5) - PERP(4) = PERP(4)*RHO - PERP(5) = PERP(5)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4),PERP(5)) - ENDIF - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = -DXL(1)/RHO - UL(2) = -DXL(2)/RHO - UL(3) = 0. - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = DXL(1)/RHO - UL(2) = DXL(2)/RHO - UL(3) = 0. - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE IF (PERP(4).EQ.PMIN0) THEN - UL(1) = SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0. - ELSE IF (PERP(5).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = COS(PHI2) - UL(3) = 0. - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the CONE, CONeSection: - ELSE IF (ISH.EQ.NSCONE.OR.ISH.EQ.NSCONS) THEN - RHO = SQRT(DXL(1)**2 + DXL(2)**2) - TAN1 = (PAR(4)-PAR(2))/(TWO*PAR(1)) - SEC1 = SQRT(ONE+TAN1**2) - U1 = RHO-DXL(3)*TAN1 - U1L = PAR(4)-PAR(1)*TAN1 - TAN2 = (PAR(5)-PAR(3))/(TWO*PAR(1)) - SEC2 = SQRT(ONE+TAN2**2) - U2 = RHO-DXL(3)*TAN2 - U2L = PAR(5)-PAR(1)*TAN2 - PERP(1) = ABS(ABS(DXL(3))-PAR(1)) - PERP(2) = ABS(U1-U1L)/SEC1 - PERP(3) = ABS(U2-U2L)/SEC2 - IF (ISH.EQ.NSCONE) THEN - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - ELSE - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - PHI1 = MOD(PAR(6)+FULL10,FULL)*DEGRAD - PERP(4) = ABS(PHI-PHI1) - IF (PERP(4).GT.PI) PERP(4) = TWOPI-PERP(4) - PHI2 = MOD(PAR(7)+FULL10,FULL)*DEGRAD - PERP(5) = ABS(PHI-PHI2) - IF (PERP(5).GT.PI) PERP(5) = TWOPI-PERP(5) - PERP(4) = PERP(4)*RHO - PERP(5) = PERP(5)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4),PERP(5)) - ENDIF - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE IF (PERP(2).EQ.PMIN0) THEN - RHO = RHO*SEC1 - UL(1) = -DXL(1)/RHO - UL(2) = -DXL(2)/RHO - UL(3) = TAN1/SEC1 - ELSE IF (PERP(3).EQ.PMIN0) THEN - RHO = RHO*SEC2 - UL(1) = DXL(1)/RHO - UL(2) = DXL(2)/RHO - UL(3) = -TAN2/SEC2 - ELSE IF (PERP(4).EQ.PMIN0) THEN - UL(1) = SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0. - ELSE IF (PERP(5).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = COS(PHI2) - UL(3) = 0. - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the PolyCONe: - ELSE IF (ISH.EQ.NSPCON) THEN - PERP(1) = ABS(DXL(3)-PAR(4)) - DO 400 I=7,NPAR,3 - PERP(2) = ABS(DXL(3)-PAR(I)) - IF (PERP(2).GT.PERP(1)) GOTO 401 - PERP(1) = PERP(2) - 400 CONTINUE - 401 I = I-3 - IF (I.GT.4) THEN - PERP(1) = 100. - RHO = SQRT(DXL(1)**2 + DXL(2)**2) - DZ = PAR(I)-PAR(I-3)+1.e-10 - TAN1 = (PAR(I+1)-PAR(I-2))/DZ - SEC1 = SQRT(ONE+TAN1**2) - U1 = RHO-DXL(3)*TAN1 - U1L = PAR(I+1)-PAR(I)*TAN1 - TAN2 = (PAR(I+2)-PAR(I-1))/DZ - SEC2 = SQRT(ONE+TAN2**2) - U2 = RHO-DXL(3)*TAN2 - U2L = PAR(I+2)-PAR(I)*TAN2 - GUARD = MAX(DXL(3)-PAR(I),ZERO) - PERP(3) = ABS(U1-U1L)/SEC1 + GUARD*SEC1 - PERP(4) = ABS(U2-U2L)/SEC2 + GUARD*SEC2 - ELSE - PERP(3) = 100. - PERP(4) = 100. - ENDIF - IF (I.LT.NPAR-2) THEN - PERP(2) = 100. - RHO = SQRT(DXL(1)**2 + DXL(2)**2) - DZ = PAR(I+3)-PAR(I)+1.e-10 - TAN3 = (PAR(I+4)-PAR(I+1))/DZ - SEC3 = SQRT(ONE+TAN3**2) - U1 = RHO-DXL(3)*TAN3 - U1L = PAR(I+1)-PAR(I)*TAN3 - TAN4 = (PAR(I+5)-PAR(I+2))/DZ - SEC4 = SQRT(ONE+TAN4**2) - U2 = RHO-DXL(3)*TAN4 - U2L = PAR(I+2)-PAR(I)*TAN4 - GUARD = MAX(PAR(I)-DXL(3),ZERO) - PERP(5) = ABS(U1-U1L)/SEC3 + GUARD*SEC3 - PERP(6) = ABS(U2-U2L)/SEC4 + GUARD*SEC4 - ELSE - PERP(5) = 100. - PERP(6) = 100. - ENDIF - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - PHI1 = MOD(PAR(1)+FULL10,FULL)*DEGRAD - PERP(7) = ABS(PHI-PHI1) - IF (PERP(7).GT.PI) PERP(7) = TWOPI-PERP(7) - PHI2 = MOD(PAR(1)+PAR(2)+FULL10,FULL)*DEGRAD - PERP(8) = ABS(PHI-PHI2) - IF (PERP(8).GT.PI) PERP(8) = TWOPI-PERP(8) - PERP(7) = PERP(7)*RHO - PERP(8) = PERP(8)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4), - + PERP(5),PERP(6),PERP(7),PERP(8)) - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = -1. - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = 1. - ELSE IF (PERP(3).EQ.PMIN0) THEN - RHO = RHO*SEC1 - UL(1) = -DXL(1)/RHO - UL(2) = -DXL(2)/RHO - UL(3) = TAN1/SEC1 - ELSE IF (PERP(4).EQ.PMIN0) THEN - RHO = RHO*SEC2 - UL(1) = DXL(1)/RHO - UL(2) = DXL(2)/RHO - UL(3) = -TAN2/SEC2 - ELSE IF (PERP(5).EQ.PMIN0) THEN - RHO = RHO*SEC3 - UL(1) = -DXL(1)/RHO - UL(2) = -DXL(2)/RHO - UL(3) = TAN3/SEC3 - ELSE IF (PERP(6).EQ.PMIN0) THEN - RHO = RHO*SEC4 - UL(1) = DXL(1)/RHO - UL(2) = DXL(2)/RHO - UL(3) = -TAN4/SEC4 - ELSE IF (PERP(7).EQ.PMIN0) THEN - UL(1) = SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0. - ELSE IF (PERP(8).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = COS(PHI2) - UL(3) = 0. - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the PolyGON: - ELSE IF (ISH.EQ.NSPGON) THEN - RHO = SQRT(DXL(1)**2+DXL(2)**2) - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - DPHI = MOD(PHI*RADDEG-PAR(1)+FULL10,FULL) - PDIV = PAR(2)/PAR(3) - DSECT = INT(DPHI/PDIV + ONE) - IF (DSECT.GT.PAR(3)) THEN - IF (DPHI.GT.(180.+PAR(2)*DBY2)) THEN - DSECT = ONE - ELSE - DSECT = PAR(3) - ENDIF - ENDIF - PHI0 = MOD(PAR(1)+(DSECT-DBY2)*PDIV+FULL10,FULL)*DEGRAD - SPHI0 = SIN(PHI0) - CPHI0 = COS(PHI0) - U0 = DXL(1)*CPHI0 + DXL(2)*SPHI0 - V0 = DXL(2)*CPHI0 - DXL(1)*SPHI0 - PERP(1) = ABS(DXL(3)-PAR(5)) - DO 500 I=8,NPAR,3 - PERP(2) = ABS(DXL(3)-PAR(I)) - IF (PERP(2).GT.PERP(1)) GOTO 501 - PERP(1) = PERP(2) - 500 CONTINUE - 501 I = I-3 - IF (I.GT.5) THEN - PERP(1) = 100. - DZ = PAR(I)-PAR(I-3)+1.e-10 - TAN1 = (PAR(I+1)-PAR(I-2))/DZ - SEC1 = SQRT(ONE+TAN1**2) - U1 = U0-DXL(3)*TAN1 - U1L = PAR(I+1)-PAR(I)*TAN1 - TAN2 = (PAR(I+2)-PAR(I-1))/DZ - SEC2 = SQRT(ONE+TAN2**2) - U2 = U0-DXL(3)*TAN2 - U2L = PAR(I+2)-PAR(I)*TAN2 - GUARD = MAX(DXL(3)-PAR(I),ZERO) - PERP(3) = ABS(U1-U1L)/SEC1 + GUARD*SEC1 - PERP(4) = ABS(U2-U2L)/SEC2 + GUARD*SEC2 - ELSE - PERP(3) = 100. - PERP(4) = 100. - ENDIF - IF (I.LT.NPAR-2) THEN - PERP(2) = 100. - DZ = PAR(I+3)-PAR(I)+1.e-10 - TAN3 = (PAR(I+4)-PAR(I+1))/DZ - SEC3 = SQRT(ONE+TAN3**2) - U1 = U0-DXL(3)*TAN3 - U1L = PAR(I+1)-PAR(I)*TAN3 - TAN4 = (PAR(I+5)-PAR(I+2))/DZ - SEC4 = SQRT(ONE+TAN4**2) - U2 = U0-DXL(3)*TAN4 - U2L = PAR(I+2)-PAR(I)*TAN4 - GUARD = MAX(PAR(I)-DXL(3),ZERO) - PERP(5) = ABS(U1-U1L)/SEC3 + GUARD*SEC3 - PERP(6) = ABS(U2-U2L)/SEC4 + GUARD*SEC4 - ELSE - PERP(5) = 100. - PERP(6) = 100. - ENDIF - PHI1 = MOD(PAR(1)+FULL10,FULL)*DEGRAD - PERP(7) = ABS(PHI-PHI1) - IF (PERP(7).GT.PI) PERP(7) = TWOPI-PERP(7) - PHI2 = MOD(PAR(1)+PAR(2)+FULL10,FULL)*DEGRAD - PERP(8) = ABS(PHI-PHI2) - IF (PERP(8).GT.PI) PERP(8) = TWOPI-PERP(8) - PERP(7) = PERP(7)*RHO - PERP(8) = PERP(8)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4), - + PERP(5),PERP(6),PERP(7),PERP(8)) - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = -1. - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = 1. - ELSE IF (PERP(3).EQ.PMIN0) THEN - FACT = ONE/SEC1 - UL(1) = -CPHI0*FACT - UL(2) = -SPHI0*FACT - UL(3) = TAN1*FACT - ELSE IF (PERP(4).EQ.PMIN0) THEN - FACT = ONE/SEC2 - UL(1) = CPHI0*FACT - UL(2) = SPHI0*FACT - UL(3) = -TAN2*FACT - ELSE IF (PERP(5).EQ.PMIN0) THEN - FACT = ONE/SEC3 - UL(1) = -CPHI0*FACT - UL(2) = -SPHI0*FACT - UL(3) = TAN3*FACT - ELSE IF (PERP(6).EQ.PMIN0) THEN - FACT = ONE/SEC4 - UL(1) = CPHI0*FACT - UL(2) = SPHI0*FACT - UL(3) = -TAN4*FACT - ELSE IF (PERP(7).EQ.PMIN0) THEN - UL(1) = SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0. - ELSE IF (PERP(8).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = COS(PHI2) - UL(3) = 0. - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the SPHEre: - ELSE IF (ISH.EQ.NSSPHE) THEN - R = SQRT(DXL(1)**2+DXL(2)**2+DXL(3)**2) - RHO = SQRT(DXL(1)**2+DXL(2)**2) - THE = ATAN2(RHO,DXL(3)) - PHI = ATAN2(DXL(2),DXL(1)) - IF (PHI.LT.0.) PHI = PHI+TWOPI - THE1 = MOD(PAR(3)+FULL10,FULL)*DEGRAD - THE2 = MOD(PAR(4)+FULL10,FULL)*DEGRAD - PHI1 = MOD(PAR(5)+FULL10,FULL)*DEGRAD - PHI2 = MOD(PAR(6)+FULL10,FULL)*DEGRAD - PERP(1) = ABS(R-PAR(1)) - PERP(2) = ABS(R-PAR(2)) - PERP(3) = ABS(THE-THE1)*R - PERP(4) = ABS(THE-THE2)*R - PERP(5) = ABS(PHI-PHI1) - IF (PERP(5).GT.PI) PERP(5) = TWOPI-PERP(5) - PERP(5) = PERP(5)*RHO - PERP(6) = ABS(PHI-PHI2) - IF (PERP(6).GT.PI) PERP(6) = TWOPI-PERP(6) - PERP(6) = PERP(6)*RHO - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4),PERP(5),PERP(6)) - IF (PERP(1).EQ.PMIN0) THEN - RINV = ONE/R - UL(1) = -DXL(1)*RINV - UL(2) = -DXL(2)*RINV - UL(3) = -DXL(3)*RINV - ELSE IF (PERP(2).EQ.PMIN0) THEN - RINV = ONE/R - UL(1) = DXL(1)*RINV - UL(2) = DXL(2)*RINV - UL(3) = DXL(3)*RINV - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = -COS(THE1)*COS(PHI) - UL(2) = -COS(THE1)*SIN(PHI) - UL(3) = +SIN(THE1) - ELSE IF (PERP(4).EQ.PMIN0) THEN - UL(1) = +COS(THE2)*COS(PHI) - UL(2) = +COS(THE2)*SIN(PHI) - UL(3) = -SIN(THE2) - ELSE IF (PERP(5).EQ.PMIN0) THEN - UL(1) = +SIN(PHI1) - UL(2) = -COS(PHI1) - UL(3) = 0 - ELSE IF (PERP(6).EQ.PMIN0) THEN - UL(1) = -SIN(PHI2) - UL(2) = +COS(PHI2) - UL(3) = 0 - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the PARAllelpiped: -*************************************************************** -* Warning: the parameters for this shape are NOT stored in * -* the data structure as the user supplies them. Rather, the * -* user supplies PAR(4)=alph, PAR(5)=the, PAR(6)=phi, and the * -* data structure contains PAR(4)=Tan(alph), PAR(5)=Tan(the)* * -* Cos(phi), PAR(6)=Tan(the)*Sin(phi). * -*************************************************************** - ELSE IF (ISH.EQ.NSPARA) THEN - DX = PAR(5) - DY = PAR(6) - U0 = DXL(1)-DX*DXL(3) - V0 = DXL(2)-DY*DXL(3) - CALPH = ONE/SQRT(ONE+PAR(4)**2) - SALPH = -CALPH*PAR(4) - U1 = U0*CALPH+V0*SALPH - U1L = PAR(1)*CALPH - PERP(1) = ABS(ABS(U1)-U1L) - PERP(2) = ABS(ABS(V0)-PAR(2)) - PERP(3) = ABS(ABS(DXL(3))-PAR(3)) - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - IF (PERP(1).EQ.PMIN0) THEN - DU = DX*CALPH+DY*SALPH - FACT = SIGN(ONE/SQRT(ONE+DU**2),U1) - UL(1) = CALPH*FACT - UL(2) = SALPH*FACT - UL(3) = -DU*FACT - ELSE IF (PERP(2).EQ.PMIN0) THEN - FACT = SIGN(ONE/SQRT(ONE+DY**2),V0) - UL(1) = 0. - UL(2) = FACT - UL(3) = -DY*FACT - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the trapezoid TRD1 - ELSE IF (ISH.EQ.NSTRD1) THEN - DZ = TWO*PAR(4)+1.e-10 - TAN1 = (PAR(2)-PAR(1))/DZ - SEC1 = SQRT(ONE+TAN1**2) - U1 = ABS(DXL(1))-DXL(3)*TAN1 - U1L = PAR(2)-PAR(4)*TAN1 - PERP(1) = ABS(U1-U1L)/SEC1 - PERP(2) = ABS(ABS(DXL(2))-PAR(3)) - PERP(3) = ABS(ABS(DXL(3))-PAR(4)) - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - IF (PERP(1).EQ.PMIN0) THEN - FACT = ONE/SEC1 - UL(1) = SIGN(FACT,DXL(1)) - UL(2) = 0. - UL(3) = -TAN1*FACT - ELSE IF (PERP(2).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = SIGN(ONE,DXL(2)) - UL(3) = 0. - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the trapezoid TRD2 - ELSE IF (ISH.EQ.NSTRD2) THEN - DZ = TWO*PAR(5)+1.e-10 - TAN1 = (PAR(2)-PAR(1))/DZ - SEC1 = SQRT(ONE+TAN1**2) - U1 = ABS(DXL(1))-DXL(3)*TAN1 - U1L = PAR(2)-PAR(5)*TAN1 - TAN2 = (PAR(4)-PAR(3))/DZ - SEC2 = SQRT(ONE+TAN2**2) - U2 = ABS(DXL(2))-DXL(3)*TAN2 - U2L = PAR(4)-PAR(5)*TAN2 - PERP(1) = ABS(U1-U1L)/SEC1 - PERP(2) = ABS(U2-U2L)/SEC2 - PERP(3) = ABS(ABS(DXL(3))-PAR(5)) - PMIN0 = MIN(PERP(1),PERP(2),PERP(3)) - IF (PERP(1).EQ.PMIN0) THEN - FACT = ONE/SEC1 - UL(1) = SIGN(FACT,DXL(1)) - UL(2) = 0. - UL(3) = -TAN1*FACT - ELSE IF (PERP(2).EQ.PMIN0) THEN - FACT = ONE/SEC2 - UL(1) = 0. - UL(2) = SIGN(FACT,DXL(2)) - UL(3) = -TAN2*FACT - ELSE IF (PERP(3).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** Case of the TRAPezoid -*************************************************************** -* Warning: the parameters for this shape are NOT stored in * -* the data structure as the user supplies them. Rather, the * -* user supplies PAR(2)=thet, PAR(3)=phi, PAR(7)=alp1, and * -* PAR(11)=alp2, while the data structure contains PAR(2)= * -* Tan(thet)*Cos(phi), PAR(3)=Tan(thet)*Sin(phi), PAR(7)= * -* Tan(alp1), and PAR(11)=Tan(alp2). * -*************************************************************** - ELSE IF (ISH.EQ.NSTRAP) THEN - PERP(1) = ABS(ABS(DXL(3))-PAR(1)) - DX = PAR(2) - DY = PAR(3) - U0 = DX*DXL(3) - V0 = DY*DXL(3) - UU0 = DX*PAR(1) - VV0 = DY*PAR(1) - RAT = DXL(3)/PAR(1) - RATL = (ONE-RAT)/TWO - RATH = (ONE+RAT)/TWO - H = PAR(4)*RATL+PAR(8)*RATH - BL = PAR(5)*RATL+PAR(9)*RATH - TL = PAR(6)*RATL+PAR(10)*RATH - TALPH = PAR(7)*RATL+PAR(11)*RATH - XWID = (TL+BL)/TWO - TAN1 = TALPH+(TL-BL)/(TWO*H) - SEC1 = SQRT(ONE+TAN1**2) - U1 = DXL(1)-DXL(2)*TAN1 - U1L = U0+XWID-V0*TAN1 - TAN2 = TAN1-TWO*TALPH - SEC2 = SQRT(ONE+TAN2**2) - U2 = DXL(1)+DXL(2)*TAN2 - U2L = U0-XWID+V0*TAN2 - IF (DXL(3).LT.0) THEN - DZ = PAR(1)-DXL(3)+1.e-10 - UU = UU0+(PAR(9)+PAR(10))/TWO - W1 = (UU-VV0*TAN1-U1L)/DZ - UU = TWO*UU0-UU - W2 = (UU+VV0*TAN2-U2L)/DZ - ELSE - DZ = -PAR(1)-DXL(3)+1.e-10 - UU = -UU0+(PAR(5)+PAR(6))/TWO - W1 = (UU+VV0*TAN1-U1L)/DZ - UU = -TWO*UU0-UU - W2 = (UU-VV0*TAN2-U2L)/DZ - ENDIF - W3 = DY+(PAR(8)-PAR(4))/(TWO*PAR(1)) - W4 = TWO*DY-W3 - SEW1 = SQRT(ONE+W1**2) - SEW2 = SQRT(ONE+W2**2) - SEW3 = SQRT(ONE+W3**2) - SEW4 = SQRT(ONE+W4**2) - PERP(2) = ABS(U1-U1L)/(SEC1*SEW1) - PERP(3) = ABS(U2-U2L)/(SEC2*SEW2) - PERP(4) = ABS(DXL(2)-V0-H)/SEW3 - PERP(5) = ABS(DXL(2)-V0+H)/SEW4 - PMIN0 = MIN(PERP(1),PERP(2),PERP(3),PERP(4),PERP(5)) - IF (PERP(1).EQ.PMIN0) THEN - UL(1) = 0. - UL(2) = 0. - UL(3) = SIGN(ONE,DXL(3)) - ELSE IF (PERP(2).EQ.PMIN0) THEN - FACT = ONE/(SEC1*SEW1) - UL(1) = FACT - UL(2) = -TAN1*FACT - UL(3) = -W1/SEW1 - ELSE IF (PERP(3).EQ.PMIN0) THEN - FACT = ONE/(SEC2*SEW2) - UL(1) = -FACT - UL(2) = -TAN2*FACT - UL(3) = W2/SEW2 - ELSE IF (PERP(4).EQ.PMIN0) THEN - FACT = ONE/SEW3 - UL(1) = 0. - UL(2) = FACT - UL(3) = -W3*FACT - ELSE IF (PERP(5).EQ.PMIN0) THEN - FACT = ONE/SEW4 - UL(1) = 0. - UL(2) = -FACT - UL(3) = W4*FACT - ELSE - LNTFOU=.TRUE. - ENDIF -* -* *** everything else (currently NOT IMPLEMENTED) - ELSE - WRITE(CHMAIL,10100) ISH - CALL GMAIL(0,0) - IERR = 1 - GOTO 999 - ENDIF - - IF(LNTFOU) THEN - WRITE(CHMAIL,10000) ISH - IERR = 1 - ELSE -* -* *** Transform back into the MCS - CALL GDTOM(UL,U,2) - IERR = 0 - ENDIF - -10000 FORMAT(' GGPERP - geometry check error for shape #',I2,'!') -10100 FORMAT(' GGPERP - non implemented for shape #',I2) - 999 END diff --git a/StarVMC/geant3/ggeom/ggppar.F b/StarVMC/geant3/ggeom/ggppar.F deleted file mode 100644 index 7a0494276d4..00000000000 --- a/StarVMC/geant3/ggeom/ggppar.F +++ /dev/null @@ -1,552 +0,0 @@ -* -* $Id: ggppar.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: ggppar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:44 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*FCA : 05/01/99 10:04:28 by Federico Carminati -* Added the possibility to put TRD1's in TRD1's with -* negative parameters -*-- Author : - SUBROUTINE GGPPAR (JVOM, IN, NVAR, LVAR, LVOM, NPAR, PAR) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GGPPAR (JVOM,IN,NVAR,LVAR,LVOM,NPAR*,PAR*) * -C. * * -C. * Computes the actual parameters for the INth content inside * -C. * the mother volume at address JVOM * -C. * Returns them in NPAR, PAR * -C. * * -C. * Called by : GGDVLP * -C. * Authors : F.Bruyant, S.Banerjee * -C. * (original algorithms from A.McPherson) * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -C. - PARAMETER (NPAMAX=50) -C. - DIMENSION LVAR(*), PAR(*) - DIMENSION DXYZ(3), PARM(NPAMAX) - DIMENSION IOPT(12,12) - SAVE IOPT -C. - DATA IOPT / 1 ,1 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 / -C. -C. ------------------------------------------------------------------ -* -* *** Check request -* - JIN = LQ(JVOM-IN) -* - IVO = Q(JIN+2) - JVO = LQ(JVOLUM-IVO) - NPAR = Q(JVO+5) - IF (NPAR.EQ.0) THEN - NPAR = Q(JIN+9) - CALL UCOPY (Q(JIN+10), PAR, NPAR) - IF (NVAR.LT.0) GO TO 999 - ELSE - CALL UCOPY (Q(JVO+7), PAR, NPAR) - ENDIF - IROT = Q(JIN+4) - IF (IROT.NE.0) THEN - WRITE (CHMAIL, 10300) - CALL GMAIL (0, 0) - IEORUN = 1 - ENDIF -* - ISH = Q(JVO+2) - ISHM = Q(JVOM+2) - IF(ISH.GT.12.OR.ISHM.GT.12.OR.IOPT(ISHM, ISH).EQ.0) THEN - WRITE (CHMAIL, 10400) ISH, ISHM - CALL GMAIL (0, 0) - IEORUN = 1 - ENDIF -* -* *** Prepares parameters for mother, in PARM, for content, in PAR -* and the translation DXYZ (position of content inside mother) -* - IF (LQ(JVOM).EQ.LVOM) THEN -* -* Case when current volume is source of local development -* - NPARM = Q(JVOM+5) - CALL UCOPY (Q(JVOM+7), PARM, NPARM) - ELSE -* -* Other cases -* - NPARM = IQ(LVOM+5) - CALL UCOPY (Q(LVOM+6), PARM, NPARM) - ENDIF -* - DXYZ(1) = Q(JIN+5) - DXYZ(2) = Q(JIN+6) - DXYZ(3) = Q(JIN+7) -* -* *** Compute the actual parameters -* - IF (ISH.EQ.1) THEN -* -* BOX -* - IF (ISHM.EQ.1) THEN -* in BOX - DO 10 I = 1,NVAR - IAX = LVAR(I) - PAR(IAX) = PARM(IAX) -ABS(DXYZ(IAX)) - IF (PAR(IAX).LT.0.) THEN - WRITE (CHMAIL, 10500) ISH, ISHM, IAX - CALL GMAIL (0, 0) - IEORUN = 1 - ENDIF - 10 CONTINUE - ELSE IF (ISHM.EQ.2) THEN -* in TRD1 - DO 20 I = 1,NVAR - IAX = LVAR(I) - IF (IAX.EQ.1) THEN - DZ = PAR(3) - IF (DZ.LT.0.) DZ = PARM(4) - DXDZ = 0.5*(PARM(2)-PARM(1))/PARM(4) - DXME = 0.5*(PARM(2)+PARM(1)) +DXDZ*DXYZ(3) - DX = DXME -ABS(DXDZ*DZ) - PAR(IAX) = DX -ABS(DXYZ(1)) - IF (PAR(IAX).LT.0.) THEN - WRITE (CHMAIL, 10500) ISH, ISHM, IAX - CALL GMAIL (0, 0) - IEORUN = 1 - ENDIF - ELSE - PAR(IAX) = PARM(IAX+1) -ABS(DXYZ(IAX)) - IF (IAX.EQ.3) THEN - DXDZ = 0.5*(PARM(2)-PARM(1))/PARM(4) - DX0 = 0.5*(PARM(2)+PARM(1)) -ABS(DXYZ(1)) - DZ = (DX0 -PAR(1))/ABS(DXDZ) - IF (DZ.LT.0.) THEN - WRITE (CHMAIL, 10600) ISH, ISHM, IAX, DZ - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - IF (PAR(3).GT.DZ) PAR(3) = DZ - ENDIF - ENDIF - ENDIF - 20 CONTINUE - ELSE IF (ISHM.EQ.3) THEN -* in TRD2 - DO 30 I = 1,NVAR - IAX = LVAR(I) - IF (IAX .LT. 3) THEN - DZ = PAR(3) - IP = 2*IAX -1 - IF (DZ .LT. 0.) DZ = PARM(5) - DXDZ = 0.5*(PARM(IP+1) - PARM(IP))/PARM(5) - DXME = 0.5*(PARM(IP+1) + PARM(IP)) + DXDZ*DXYZ(3) - DX = DXME - ABS(DXDZ*DZ) - PAR(IAX) = DX - ABS(DXYZ(IAX)) - ELSE - PAR(3) = PARM(5) - ABS(DXYZ(3)) - DXDZ = 0.5*(PARM(2) - PARM(1))/PARM(5) - DX0 = 0.5*(PARM(2) + PARM(1)) - ABS(DXYZ(1)) - DZ = (DX0 - PAR(1))/ABS(DXDZ) - IF (DZ.LT.0.0) THEN - WRITE (CHMAIL, 10600) ISH, ISHM, IAX, DZ - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - IF (PAR(IAX).GT.DZ) PAR(IAX) = DZ - ENDIF - DXDZ = 0.5*(PARM(4) - PARM(3))/PARM(5) - DX0 = 0.5*(PARM(4) + PARM(3)) - ABS(DXYZ(2)) - DZ = (DX0 - PAR(2))/ABS(DXDZ) - IF (DZ.LT.0.0) THEN - WRITE (CHMAIL, 10600) ISH, ISHM, IAX, DZ - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - IF (PAR(IAX).GT.DZ) PAR(IAX) = DZ - ENDIF - ENDIF - 30 CONTINUE - ELSE IF (ISHM.EQ.4) THEN -* in TRAP -* -* Case of box in trap. Let's keep it simple: we just deal with -* the case in which phi=0 or 180. If theta .ne. 0, the position along -* x-axis, and the angles parm(7) and parm(11) must be 0. -* - IF(ABS(PARM(3)).GT.0.1E-5) THEN - WRITE(CHMAIL,10000) IQ(JVOLUM+IVO) -10000 FORMAT - + (' GGPPAR : Cannot use negative parameters for box ',A4) - CALL GMAIL(0,0) - WRITE(CHMAIL,10100) -10100 FORMAT(' in a trap if PAR(2) .ne. 0 or 180') - CALL GMAIL(0,0) - IEORUN=1 - ELSEIF(PARM(7).NE.PARM(11)) THEN - WRITE(CHMAIL,10000) IQ(JVOLUM+IVO) - CALL GMAIL(0,0) - WRITE(CHMAIL,10200) -10200 FORMAT(' in a trap if PAR(7) .ne. PAR(11)') - CALL GMAIL(0,0) - ELSE - IVARX=0 - IVARY=0 - IVARZ=0 - DO 40 J=1,NVAR - IF(LVAR(J).EQ.1) THEN - IVARX=1 - ELSEIF(LVAR(J).EQ.2) THEN - IVARY=1 - ELSEIF(LVAR(J).EQ.3) THEN - IVARZ=1 - ENDIF - 40 CONTINUE - DZM = PARM(1) - IF(IVARZ.EQ.1) THEN - PAR(3) = DZM-ABS(DXYZ(3)) - ENDIF - DYDZ=0.5*(PARM(8)-PARM(4))/PARM(1) - DYM =0.5*(PARM(8)+PARM(4)) - DY1 = DYM+(DXYZ(3)+PAR(3))*DYDZ - DY2 = DYM+(DXYZ(3)-PAR(3))*DYDZ - IF(IVARY.EQ.1) THEN - PAR(2) = MIN(DY1,DY2)-ABS(DXYZ(2)) - ENDIF - IF(IVARX.EQ.1) THEN - IF(PARM(7).EQ.0.0.AND.ABS(PARM(2)).LT..1E-5) THEN - DXDZL = 0.5*(PARM(9)-PARM(5))/PARM(1) - DXDZH = 0.5*(PARM(10)-PARM(6))/PARM(1) - DXML = 0.5*(PARM(9)+PARM(5)) - DXMH = 0.5*(PARM(10)+PARM(6)) - DXL1 = DXML+(DXYZ(3)+PAR(3))*DXDZL - DXL2 = DXML+(DXYZ(3)-PAR(3))*DXDZL - DXH1 = DXMH+(DXYZ(3)+PAR(3))*DXDZH - DXH2 = DXMH+(DXYZ(3)-PAR(3))*DXDZH - DXDY1 = 0.5*(DXH1-DXL1)/DY1 - DXDY2 = 0.5*(DXH2-DXL2)/DY2 - DXM1 = 0.5*(DXH1+DXL1) - DXM2 = 0.5*(DXH2+DXL2) - DX1 = DXM1+(DXYZ(2)+PAR(2))*DXDY1 - DX2 = DXM1+(DXYZ(2)-PAR(2))*DXDY1 - DX3 = DXM2+(DXYZ(2)+PAR(2))*DXDY2 - DX4 = DXM2+(DXYZ(2)-PAR(2))*DXDY2 - PAR(1) = MIN(DX1,DX2,DX3,DX4)-ABS(DXYZ(1)) -* Note; position along x-axis should be 0, when theta .ne. 0: - ELSE IF(PARM(7).EQ..0.AND.ABS(PARM(2)).GT..1E-5)THEN -* the maximum length of the lower (DX2) and upper (DX1) lines along x - DXDZ= 0.5*(PARM(9)-PARM(5))/PARM(1) - DXM = 0.5*(PARM(9)+PARM(5)) - DX1 = DXM+(DXYZ(3)+PAR(3))*DXDZ - DX2 = DXM+(DXYZ(3)-PAR(3))*DXDZ -* -* the shift in the endpoints caused by theta angle compared with -* the symmetrical case when theta = 0 - TANTHE = PARM(2) - SHFX1 = TANTHE*(DXYZ(3)+PAR(3)) - SHFX2 = TANTHE*(DXYZ(3)-PAR(3)) -* - DX1P = DX1 + SHFX1 - DX1N = DX1 - SHFX1 - DX2P = DX2 + SHFX2 - DX2N = DX2 - SHFX2 -* -* DXP is the lenght of the box that fits in the positive side -* DXN is the one in the negative side - DXP = MIN(DX1P,DX2P) - DXN = MIN(DX1N,DX2N) - XPOS = .5*(DXP-DXN) - Q(JIN+5) = XPOS - PAR(1) = .5*(DXP+DXN) - ELSE - TANALF = PARM(7) - DXDZL = 0.5*(PARM(9)-PARM(5))/PARM(1) - DXDZH = 0.5*(PARM(10)-PARM(6))/PARM(1) - DXML = 0.5*(PARM(9)+PARM(5)) - DXMH = 0.5*(PARM(10)+PARM(6)) - DXL1 = DXML+(DXYZ(3)+PAR(3))*DXDZL - DXL2 = DXML+(DXYZ(3)-PAR(3))*DXDZL - DXH1 = DXMH+(DXYZ(3)+PAR(3))*DXDZH - DXH2 = DXMH+(DXYZ(3)-PAR(3))*DXDZH - SHFX1 = TANALF*DY1 - SHFX2 = TANALF*DY2 -* - DXH1P = DXH1+SHFX1 - DXH1N = DXH1-SHFX1 - DXL1P = DXL1-SHFX1 - DXL1N = DXL1+SHFX1 - DXH2P = DXH2+SHFX2 - DXH2N = DXH2-SHFX2 - DXL2P = DXL2-SHFX2 - DXL2N = DXL2+SHFX2 -* - DXDY1P = 0.5*(DXH1P-DXL1P)/DY1 - DXDY2P = 0.5*(DXH2P-DXL2P)/DY2 - DXDY1N = 0.5*(DXH1N-DXL1N)/DY1 - DXDY2N = 0.5*(DXH2N-DXL2N)/DY2 -* - DXM1P = 0.5*(DXH1P+DXL1P) - DXM2P = 0.5*(DXH2P+DXL2P) - DXM1N = 0.5*(DXH1N+DXL1N) - DXM2N = 0.5*(DXH2N+DXL2N) -* - DX1P = DXM1P+(DXYZ(2)+PAR(2))*DXDY1P - DX2P = DXM1P+(DXYZ(2)-PAR(2))*DXDY1P - DX3P = DXM2P+(DXYZ(2)+PAR(2))*DXDY2P - DX4P = DXM2P+(DXYZ(2)-PAR(2))*DXDY2P - DX1N = DXM1N+(DXYZ(2)+PAR(2))*DXDY1N - DX2N = DXM1N+(DXYZ(2)-PAR(2))*DXDY1N - DX3N = DXM2N+(DXYZ(2)+PAR(2))*DXDY2N - DX4N = DXM2N+(DXYZ(2)-PAR(2))*DXDY2N -* - PAR(1) =MAX(0.,MIN( MIN(DX1P,DX2P,DX3P,DX4P)- - + DXYZ(1), MIN(DX1N,DX2N,DX3N,DX4N)+DXYZ(1))) - ENDIF - ENDIF - ENDIF - ENDIF - ELSE IF (ISH.EQ.2) THEN -* TRD1 - IF(ISHM.EQ.ISH) THEN -* in TRD1 - IF (PAR(4).EQ.PARM(4)) THEN - IZCUT = 0 - ELSE - IZCUT = 1 - ENDIF - DO 51 I = 1,NVAR - IAX = LVAR(I) - PAR(IAX) = PARM(IAX) - IF (IZCUT.EQ.0) GO TO 51 - IF (IAX.EQ.1) THEN - DZ = DXYZ(3) +PARM(4) -PAR(4) - DPDZ = 0.5*(PARM(2) -PARM(1))/PARM(4) - PAR(IAX) = PARM(1) + DPDZ*DZ - ELSE IF (IAX.EQ.2) THEN - DZ = DXYZ(3) +PARM(4) +PAR(4) - DPDZ = 0.5*(PARM(2) -PARM(1))/PARM(4) - PAR(IAX) = PARM(1) + DPDZ*DZ - ENDIF - 51 CONTINUE -* - ENDIF -* - ELSE IF (ISH.EQ.4) THEN -* -* TRAP -* - IF (ISHM.EQ.ISH) THEN -* in TRAP - IF (PAR(1).EQ.PARM(1)) THEN - IZCUT = 0 - ELSE - IZCUT = 1 - ENDIF - DO 50 I = 1,NVAR - IAX = LVAR(I) - PAR(IAX) = PARM(IAX) - IF (IZCUT.EQ.0) GO TO 50 - IF (IAX.NE.1.AND.IAX.LE.6) THEN - DZ = DXYZ(3) +PARM(1) -PAR(1) - DPDZ = 0.5*(PARM(IAX+4) -PARM(IAX))/PARM(1) - PAR(IAX) = PARM(IAX) + DPDZ*DZ - ELSE IF (IAX.GT.6) THEN - DZ = DXYZ(3) +PARM(1) +PAR(1) - DPDZ = 0.5*(PARM(IAX) -PARM(IAX-4))/PARM(1) - PAR(IAX) = PARM(IAX-4) + DPDZ*DZ - ENDIF - 50 CONTINUE - IF (IZCUT.NE.0) THEN - HTAH = PARM(8)*PARM(11) - HTAL = PARM(4)*PARM(7) - ZZ1 = 0.5*(DXYZ(3) +PARM(1) -PAR(1))/PARM(1) - PAR(7) = (HTAL*(1.-ZZ1) + HTAH*ZZ1)/PAR(4) - ZZ2 = 0.5*(DXYZ(3) +PARM(1) +PAR(1))/PARM(1) - PAR(11)= (HTAL*(1.-ZZ2) + HTAH*ZZ2)/PAR(8) - ENDIF - IF(IAX.EQ.2.AND.IZCUT.EQ.0) THEN - DXDY1 = 0.5*(PARM(6)-PARM(5))/PARM(4) - DXDY2 = 0.5*(PARM(10)-PARM(9))/PARM(8) - DXM1 = 0.5*(PARM(6)+PARM(5)) - DXM2 = 0.5*(PARM(10)+PARM(9)) - DXH1 = DXM1+(DXYZ(2)+PAR(2))*DXDY1 - DXH2 = DXM2+(DXYZ(2)+PAR(2))*DXDY2 - DXL1 = DXM1+(DXYZ(2)-PAR(2))*DXDY1 - DXL2 = DXM2+(DXYZ(2)-PAR(2))*DXDY2 - PAR(5) = DXL1 - PAR(6) = DXH1 - PAR(9) = DXL2 - PAR(10) = DXH2 - ENDIF - ENDIF - CALL GNOTR1 (PAR) -* - ELSE IF (ISH.EQ.5) THEN -* -* TUBE -* - IF(ISHM.EQ.ISH) THEN - IRMIN = 0 - IRMAX = 0 - IDZED = 0 - DO 60 JVAR=1,NVAR - IF(LVAR(JVAR).EQ.1) IRMIN=1 - IF(LVAR(JVAR).EQ.2) IRMAX=1 - IF(LVAR(JVAR).EQ.3) IDZED=1 - 60 CONTINUE - RPOS = SQRT(DXYZ(1)**2+DXYZ(2)**2) - IF(IRMIN.EQ.1) THEN -* -* Here we settle the minimum radius. -* - IF(PARM(1).GT.0.) THEN - PAR(1) = PARM(1)+RPOS - ELSE - PAR(1) = 0. - ENDIF - ENDIF - IF(IRMAX.EQ.1) THEN -* -* Case in which the max radius is variable. -* - IF(PAR(1).LE.RPOS-PARM(1).AND.PARM(1).GT.0.) THEN -* -* This is the case in which the 'hole' in the tube does not -* intersect the 'hole' in the mother. -* - PAR(2) = MIN(PARM(2)-RPOS,RPOS-PARM(1)) - ELSEIF(PAR(1).GE.RPOS+PARM(1).OR.PARM(1).EQ.0.) THEN -* -* This is the case in which the 'hole' in the tube contains the -* 'hole' in the mother, or there is no 'hole' in the mother. -* - PAR(2) = PARM(2)-RPOS - ELSE -* -* And this is the error condition. The inner tube protrudes in the empty -* space inside the outer one. -* - WRITE(CHMAIL,11100) IQ(JVOLUM+IVO) - CALL GMAIL(0,0) - IEORUN = 1 - ENDIF - ENDIF - IF(IDZED.EQ.1) THEN - PAR(3) = PARM(3)-ABS(DXYZ(3)) - ENDIF - IF(PAR(1).GE.PAR(2).OR.PAR(2).GT.PARM(2) - + .OR.PAR(3).LE.0.) THEN - WRITE(CHMAIL,11000) IQ(JVOLUM+IVO) - CALL GMAIL(0, 0) - IEORUN = 1 - ENDIF - ELSE - WRITE (CHMAIL, 10900) ISH, ISHM - CALL GMAIL (0, 0) - IEORUN=1 - ENDIF - ELSE IF (ISH.LE.10) THEN -* -* TRD1,TRD2,TUBE,TUBS,CONE,CONS,SPHE,PARA -* - IF (ISHM.EQ.ISH) THEN -* in TRD1,TRD2,TUBE,TUBS,CONE,CONS,SPHE,PARA - IF (DXYZ(1).NE.0..OR.DXYZ(2).NE.0..OR.DXYZ(3).NE.0.) - + THEN - WRITE (CHMAIL, 10700) ISH, ISHM - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - DO 70 I= 1, NVAR - IAX = LVAR(I) - PAR(IAX) = PARM(IAX) - 70 CONTINUE - ENDIF - ENDIF -* - ELSE IF (ISH.LE.12) THEN -* -* PGON,PCON -* - IF (ISHM.EQ.ISH) THEN -* in PGON,PCON - IF (ISH.EQ.11) THEN - IPNZ = 4 - ELSE - IPNZ = 3 - ENDIF - NZ = PAR(IPNZ) - NZ1 = PARM(IPNZ) - IF (NZ.NE.2 .OR. NZ1.NE.2) THEN - WRITE (CHMAIL, 10900) ISH, ISHM - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - ZL = PARM(IPNZ+1) - ZH = PARM(IPNZ+4) - DZ = ZH - ZL - TANLOW = (PARM(IPNZ+5)-PARM(IPNZ+2))/DZ - TANHIG = (PARM(IPNZ+6)-PARM(IPNZ+3))/DZ - Z1 = DXYZ(3) + PAR(IPNZ+1) - PARM(IPNZ+1) - Z2 = DXYZ(3) + PAR(IPNZ+4) - PARM(IPNZ+1) - PAR(IPNZ+2) = PARM(IPNZ+2) + TANLOW * Z1 - PAR(IPNZ+3) = PARM(IPNZ+3) + TANHIG * Z1 - PAR(IPNZ+5) = PARM(IPNZ+2) + TANLOW * Z2 - PAR(IPNZ+6) = PARM(IPNZ+3) + TANHIG * Z2 - ENDIF - ENDIF -* - ENDIF -* -10300 FORMAT (' GGPPAR : Rotations not accepted at the moment') -10400 FORMAT (' GGPPAR : Shape association not accepted', 2I5) -10500 FORMAT (' GGPPAR : PAR(IAX) negative, ISH,ISHM,IAX=',3I5) -10600 FORMAT (' GGPPAR : DZ negative, ISH,ISHM,IAX,DZ=',3I5,G12.4) -10700 FORMAT (' GGPPAR : Not yet coded for ISH,ISHM=',2I5) -10800 FORMAT (' GGPPAR : PARM error for ISH,ISHM,IAX=',3I5) -10900 FORMAT (' GGPPAR : Configuration not accepted, ISH,ISHM=',2I5) -11000 FORMAT (' GGPPAR : Tube ',A4,' has inconsistent parameters') -11100 FORMAT (' GGPPAR : Tube ',A4,' protrudes into the inner space ', - + 'of the mother') -* END GGPPAR - 999 END diff --git a/StarVMC/geant3/ggeom/ggppar.F.ori b/StarVMC/geant3/ggeom/ggppar.F.ori deleted file mode 100644 index b34195f08ac..00000000000 --- a/StarVMC/geant3/ggeom/ggppar.F.ori +++ /dev/null @@ -1,524 +0,0 @@ -* -* $Id: ggppar.F.ori,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: ggppar.F.ori,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:44 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:35 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani -*-- Author : - SUBROUTINE GGPPAR (JVOM, IN, NVAR, LVAR, LVOM, NPAR, PAR) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GGPPAR (JVOM,IN,NVAR,LVAR,LVOM,NPAR*,PAR*) * -C. * * -C. * Computes the actual parameters for the INth content inside * -C. * the mother volume at address JVOM * -C. * Returns them in NPAR, PAR * -C. * * -C. * Called by : GGDVLP * -C. * Authors : F.Bruyant, S.Banerjee * -C. * (original algorithms from A.McPherson) * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -C. - PARAMETER (NPAMAX=50) -C. - DIMENSION LVAR(*), PAR(*) - DIMENSION DXYZ(3), PARM(NPAMAX) - DIMENSION IOPT(12,12) - SAVE IOPT -C. - DATA IOPT / 1 ,1 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 , - + 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 / -C. -C. ------------------------------------------------------------------ -* -* *** Check request -* - JIN = LQ(JVOM-IN) -* - IVO = Q(JIN+2) - JVO = LQ(JVOLUM-IVO) - NPAR = Q(JVO+5) - IF (NPAR.EQ.0) THEN - NPAR = Q(JIN+9) - CALL UCOPY (Q(JIN+10), PAR, NPAR) - IF (NVAR.LT.0) GO TO 999 - ELSE - CALL UCOPY (Q(JVO+7), PAR, NPAR) - ENDIF - IROT = Q(JIN+4) - IF (IROT.NE.0) THEN - WRITE (CHMAIL, 10300) - CALL GMAIL (0, 0) - IEORUN = 1 - ENDIF -* - ISH = Q(JVO+2) - ISHM = Q(JVOM+2) - IF(ISH.GT.12.OR.ISHM.GT.12.OR.IOPT(ISHM, ISH).EQ.0) THEN - WRITE (CHMAIL, 10400) ISH, ISHM - CALL GMAIL (0, 0) - IEORUN = 1 - ENDIF -* -* *** Prepares parameters for mother, in PARM, for content, in PAR -* and the translation DXYZ (position of content inside mother) -* - IF (LQ(JVOM).EQ.LVOM) THEN -* -* Case when current volume is source of local development -* - NPARM = Q(JVOM+5) - CALL UCOPY (Q(JVOM+7), PARM, NPARM) - ELSE -* -* Other cases -* - NPARM = IQ(LVOM+5) - CALL UCOPY (Q(LVOM+6), PARM, NPARM) - ENDIF -* - DXYZ(1) = Q(JIN+5) - DXYZ(2) = Q(JIN+6) - DXYZ(3) = Q(JIN+7) -* -* *** Compute the actual parameters -* - IF (ISH.EQ.1) THEN -* -* BOX -* - IF (ISHM.EQ.1) THEN -* in BOX - DO 10 I = 1,NVAR - IAX = LVAR(I) - PAR(IAX) = PARM(IAX) -ABS(DXYZ(IAX)) - IF (PAR(IAX).LT.0.) THEN - WRITE (CHMAIL, 10500) ISH, ISHM, IAX - CALL GMAIL (0, 0) - IEORUN = 1 - ENDIF - 10 CONTINUE - ELSE IF (ISHM.EQ.2) THEN -* in TRD1 - DO 20 I = 1,NVAR - IAX = LVAR(I) - IF (IAX.EQ.1) THEN - DZ = PAR(3) - IF (DZ.LT.0.) DZ = PARM(4) - DXDZ = 0.5*(PARM(2)-PARM(1))/PARM(4) - DXME = 0.5*(PARM(2)+PARM(1)) +DXDZ*DXYZ(3) - DX = DXME -ABS(DXDZ*DZ) - PAR(IAX) = DX -ABS(DXYZ(1)) - IF (PAR(IAX).LT.0.) THEN - WRITE (CHMAIL, 10500) ISH, ISHM, IAX - CALL GMAIL (0, 0) - IEORUN = 1 - ENDIF - ELSE - PAR(IAX) = PARM(IAX+1) -ABS(DXYZ(IAX)) - IF (IAX.EQ.3) THEN - DXDZ = 0.5*(PARM(2)-PARM(1))/PARM(4) - DX0 = 0.5*(PARM(2)+PARM(1)) -ABS(DXYZ(1)) - DZ = (DX0 -PAR(1))/ABS(DXDZ) - IF (DZ.LT.0.) THEN - WRITE (CHMAIL, 10600) ISH, ISHM, IAX, DZ - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - IF (PAR(3).GT.DZ) PAR(3) = DZ - ENDIF - ENDIF - ENDIF - 20 CONTINUE - ELSE IF (ISHM.EQ.3) THEN -* in TRD2 - DO 30 I = 1,NVAR - IAX = LVAR(I) - IF (IAX .LT. 3) THEN - DZ = PAR(3) - IP = 2*IAX -1 - IF (DZ .LT. 0.) DZ = PARM(5) - DXDZ = 0.5*(PARM(IP+1) - PARM(IP))/PARM(5) - DXME = 0.5*(PARM(IP+1) + PARM(IP)) + DXDZ*DXYZ(3) - DX = DXME - ABS(DXDZ*DZ) - PAR(IAX) = DX - ABS(DXYZ(IAX)) - ELSE - PAR(3) = PARM(5) - ABS(DXYZ(3)) - DXDZ = 0.5*(PARM(2) - PARM(1))/PARM(5) - DX0 = 0.5*(PARM(2) + PARM(1)) - ABS(DXYZ(1)) - DZ = (DX0 - PAR(1))/ABS(DXDZ) - IF (DZ.LT.0.0) THEN - WRITE (CHMAIL, 10600) ISH, ISHM, IAX, DZ - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - IF (PAR(IAX).GT.DZ) PAR(IAX) = DZ - ENDIF - DXDZ = 0.5*(PARM(4) - PARM(3))/PARM(5) - DX0 = 0.5*(PARM(4) + PARM(3)) - ABS(DXYZ(2)) - DZ = (DX0 - PAR(2))/ABS(DXDZ) - IF (DZ.LT.0.0) THEN - WRITE (CHMAIL, 10600) ISH, ISHM, IAX, DZ - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - IF (PAR(IAX).GT.DZ) PAR(IAX) = DZ - ENDIF - ENDIF - 30 CONTINUE - ELSE IF (ISHM.EQ.4) THEN -* in TRAP -* -* Case of box in trap. Let's keep it simple: we just deal with -* the case in which phi=0 or 180. If theta .ne. 0, the position along -* x-axis, and the angles parm(7) and parm(11) must be 0. -* - IF(ABS(PARM(3)).GT.0.1E-5) THEN - WRITE(CHMAIL,10000) IQ(JVOLUM+IVO) -10000 FORMAT - + (' GGPPAR : Cannot use negative parameters for box ',A4) - CALL GMAIL(0,0) - WRITE(CHMAIL,10100) -10100 FORMAT(' in a trap if PAR(2) .ne. 0 or 180') - CALL GMAIL(0,0) - IEORUN=1 - ELSEIF(PARM(7).NE.PARM(11)) THEN - WRITE(CHMAIL,10000) IQ(JVOLUM+IVO) - CALL GMAIL(0,0) - WRITE(CHMAIL,10200) -10200 FORMAT(' in a trap if PAR(7) .ne. PAR(11)') - CALL GMAIL(0,0) - ELSE - IVARX=0 - IVARY=0 - IVARZ=0 - DO 40 J=1,NVAR - IF(LVAR(J).EQ.1) THEN - IVARX=1 - ELSEIF(LVAR(J).EQ.2) THEN - IVARY=1 - ELSEIF(LVAR(J).EQ.3) THEN - IVARZ=1 - ENDIF - 40 CONTINUE - DZM = PARM(1) - IF(IVARZ.EQ.1) THEN - PAR(3) = DZM-ABS(DXYZ(3)) - ENDIF - DYDZ=0.5*(PARM(8)-PARM(4))/PARM(1) - DYM =0.5*(PARM(8)+PARM(4)) - DY1 = DYM+(DXYZ(3)+PAR(3))*DYDZ - DY2 = DYM+(DXYZ(3)-PAR(3))*DYDZ - IF(IVARY.EQ.1) THEN - PAR(2) = MIN(DY1,DY2)-ABS(DXYZ(2)) - ENDIF - IF(IVARX.EQ.1) THEN - IF(PARM(7).EQ.0.0.AND.ABS(PARM(2)).LT..1E-5) THEN - DXDZL = 0.5*(PARM(9)-PARM(5))/PARM(1) - DXDZH = 0.5*(PARM(10)-PARM(6))/PARM(1) - DXML = 0.5*(PARM(9)+PARM(5)) - DXMH = 0.5*(PARM(10)+PARM(6)) - DXL1 = DXML+(DXYZ(3)+PAR(3))*DXDZL - DXL2 = DXML+(DXYZ(3)-PAR(3))*DXDZL - DXH1 = DXMH+(DXYZ(3)+PAR(3))*DXDZH - DXH2 = DXMH+(DXYZ(3)-PAR(3))*DXDZH - DXDY1 = 0.5*(DXH1-DXL1)/DY1 - DXDY2 = 0.5*(DXH2-DXL2)/DY2 - DXM1 = 0.5*(DXH1+DXL1) - DXM2 = 0.5*(DXH2+DXL2) - DX1 = DXM1+(DXYZ(2)+PAR(2))*DXDY1 - DX2 = DXM1+(DXYZ(2)-PAR(2))*DXDY1 - DX3 = DXM2+(DXYZ(2)+PAR(2))*DXDY2 - DX4 = DXM2+(DXYZ(2)-PAR(2))*DXDY2 - PAR(1) = MIN(DX1,DX2,DX3,DX4)-ABS(DXYZ(1)) -* Note; position along x-axis should be 0, when theta .ne. 0: - ELSE IF(PARM(7).EQ..0.AND.ABS(PARM(2)).GT..1E-5)THEN -* the maximum length of the lower (DX2) and upper (DX1) lines along x - DXDZ= 0.5*(PARM(9)-PARM(5))/PARM(1) - DXM = 0.5*(PARM(9)+PARM(5)) - DX1 = DXM+(DXYZ(3)+PAR(3))*DXDZ - DX2 = DXM+(DXYZ(3)-PAR(3))*DXDZ -* -* the shift in the endpoints caused by theta angle compared with -* the symmetrical case when theta = 0 - TANTHE = PARM(2) - SHFX1 = TANTHE*(DXYZ(3)+PAR(3)) - SHFX2 = TANTHE*(DXYZ(3)-PAR(3)) -* - DX1P = DX1 + SHFX1 - DX1N = DX1 - SHFX1 - DX2P = DX2 + SHFX2 - DX2N = DX2 - SHFX2 -* -* DXP is the lenght of the box that fits in the positive side -* DXN is the one in the negative side - DXP = MIN(DX1P,DX2P) - DXN = MIN(DX1N,DX2N) - XPOS = .5*(DXP-DXN) - Q(JIN+5) = XPOS - PAR(1) = .5*(DXP+DXN) - ELSE - TANALF = PARM(7) - DXDZL = 0.5*(PARM(9)-PARM(5))/PARM(1) - DXDZH = 0.5*(PARM(10)-PARM(6))/PARM(1) - DXML = 0.5*(PARM(9)+PARM(5)) - DXMH = 0.5*(PARM(10)+PARM(6)) - DXL1 = DXML+(DXYZ(3)+PAR(3))*DXDZL - DXL2 = DXML+(DXYZ(3)-PAR(3))*DXDZL - DXH1 = DXMH+(DXYZ(3)+PAR(3))*DXDZH - DXH2 = DXMH+(DXYZ(3)-PAR(3))*DXDZH - SHFX1 = TANALF*DY1 - SHFX2 = TANALF*DY2 -* - DXH1P = DXH1+SHFX1 - DXH1N = DXH1-SHFX1 - DXL1P = DXL1-SHFX1 - DXL1N = DXL1+SHFX1 - DXH2P = DXH2+SHFX2 - DXH2N = DXH2-SHFX2 - DXL2P = DXL2-SHFX2 - DXL2N = DXL2+SHFX2 -* - DXDY1P = 0.5*(DXH1P-DXL1P)/DY1 - DXDY2P = 0.5*(DXH2P-DXL2P)/DY2 - DXDY1N = 0.5*(DXH1N-DXL1N)/DY1 - DXDY2N = 0.5*(DXH2N-DXL2N)/DY2 -* - DXM1P = 0.5*(DXH1P+DXL1P) - DXM2P = 0.5*(DXH2P+DXL2P) - DXM1N = 0.5*(DXH1N+DXL1N) - DXM2N = 0.5*(DXH2N+DXL2N) -* - DX1P = DXM1P+(DXYZ(2)+PAR(2))*DXDY1P - DX2P = DXM1P+(DXYZ(2)-PAR(2))*DXDY1P - DX3P = DXM2P+(DXYZ(2)+PAR(2))*DXDY2P - DX4P = DXM2P+(DXYZ(2)-PAR(2))*DXDY2P - DX1N = DXM1N+(DXYZ(2)+PAR(2))*DXDY1N - DX2N = DXM1N+(DXYZ(2)-PAR(2))*DXDY1N - DX3N = DXM2N+(DXYZ(2)+PAR(2))*DXDY2N - DX4N = DXM2N+(DXYZ(2)-PAR(2))*DXDY2N -* - PAR(1) =MAX(0.,MIN( MIN(DX1P,DX2P,DX3P,DX4P)- - + DXYZ(1), MIN(DX1N,DX2N,DX3N,DX4N)+DXYZ(1))) - ENDIF - ENDIF - ENDIF - ENDIF -* - ELSE IF (ISH.EQ.4) THEN -* -* TRAP -* - IF (ISHM.EQ.ISH) THEN -* in TRAP - IF (PAR(1).EQ.PARM(1)) THEN - IZCUT = 0 - ELSE - IZCUT = 1 - ENDIF - DO 50 I = 1,NVAR - IAX = LVAR(I) - PAR(IAX) = PARM(IAX) - IF (IZCUT.EQ.0) GO TO 50 - IF (IAX.NE.1.AND.IAX.LE.6) THEN - DZ = DXYZ(3) +PARM(1) -PAR(1) - DPDZ = 0.5*(PARM(IAX+4) -PARM(IAX))/PARM(1) - PAR(IAX) = PARM(IAX) + DPDZ*DZ - ELSE IF (IAX.GT.6) THEN - DZ = DXYZ(3) +PARM(1) +PAR(1) - DPDZ = 0.5*(PARM(IAX) -PARM(IAX-4))/PARM(1) - PAR(IAX) = PARM(IAX-4) + DPDZ*DZ - ENDIF - 50 CONTINUE - IF (IZCUT.NE.0) THEN - HTAH = PARM(8)*PARM(11) - HTAL = PARM(4)*PARM(7) - ZZ1 = 0.5*(DXYZ(3) +PARM(1) -PAR(1))/PARM(1) - PAR(7) = (HTAL*(1.-ZZ1) + HTAH*ZZ1)/PAR(4) - ZZ2 = 0.5*(DXYZ(3) +PARM(1) +PAR(1))/PARM(1) - PAR(11)= (HTAL*(1.-ZZ2) + HTAH*ZZ2)/PAR(8) - ENDIF - IF(IAX.EQ.2.AND.IZCUT.EQ.0) THEN - DXDY1 = 0.5*(PARM(6)-PARM(5))/PARM(4) - DXDY2 = 0.5*(PARM(10)-PARM(9))/PARM(8) - DXM1 = 0.5*(PARM(6)+PARM(5)) - DXM2 = 0.5*(PARM(10)+PARM(9)) - DXH1 = DXM1+(DXYZ(2)+PAR(2))*DXDY1 - DXH2 = DXM2+(DXYZ(2)+PAR(2))*DXDY2 - DXL1 = DXM1+(DXYZ(2)-PAR(2))*DXDY1 - DXL2 = DXM2+(DXYZ(2)-PAR(2))*DXDY2 - PAR(5) = DXL1 - PAR(6) = DXH1 - PAR(9) = DXL2 - PAR(10) = DXH2 - ENDIF - ENDIF - CALL GNOTR1 (PAR) -* - ELSE IF (ISH.EQ.5) THEN -* -* TUBE -* - IF(ISHM.EQ.ISH) THEN - IRMIN = 0 - IRMAX = 0 - IDZED = 0 - DO 60 JVAR=1,NVAR - IF(LVAR(JVAR).EQ.1) IRMIN=1 - IF(LVAR(JVAR).EQ.2) IRMAX=1 - IF(LVAR(JVAR).EQ.3) IDZED=1 - 60 CONTINUE - RPOS = SQRT(DXYZ(1)**2+DXYZ(2)**2) - IF(IRMIN.EQ.1) THEN -* -* Here we settle the minimum radius. -* - IF(PARM(1).GT.0.) THEN - PAR(1) = PARM(1)+RPOS - ELSE - PAR(1) = 0. - ENDIF - ENDIF - IF(IRMAX.EQ.1) THEN -* -* Case in which the max radius is variable. -* - IF(PAR(1).LE.RPOS-PARM(1).AND.PARM(1).GT.0.) THEN -* -* This is the case in which the 'hole' in the tube does not -* intersect the 'hole' in the mother. -* - PAR(2) = MIN(PARM(2)-RPOS,RPOS-PARM(1)) - ELSEIF(PAR(1).GE.RPOS+PARM(1).OR.PARM(1).EQ.0.) THEN -* -* This is the case in which the 'hole' in the tube contains the -* 'hole' in the mother, or there is no 'hole' in the mother. -* - PAR(2) = PARM(2)-RPOS - ELSE -* -* And this is the error condition. The inner tube protrudes in the empty -* space inside the outer one. -* - WRITE(CHMAIL,11100) IQ(JVOLUM+IVO) - CALL GMAIL(0,0) - IEORUN = 1 - ENDIF - ENDIF - IF(IDZED.EQ.1) THEN - PAR(3) = PARM(3)-ABS(DXYZ(3)) - ENDIF - IF(PAR(1).GE.PAR(2).OR.PAR(2).GT.PARM(2) - + .OR.PAR(3).LE.0.) THEN - WRITE(CHMAIL,11000) IQ(JVOLUM+IVO) - CALL GMAIL(0, 0) - IEORUN = 1 - ENDIF - ELSE - WRITE (CHMAIL, 10900) ISH, ISHM - CALL GMAIL (0, 0) - IEORUN=1 - ENDIF - ELSE IF (ISH.LE.10) THEN -* -* TRD1,TRD2,TUBE,TUBS,CONE,CONS,SPHE,PARA -* - IF (ISHM.EQ.ISH) THEN -* in TRD1,TRD2,TUBE,TUBS,CONE,CONS,SPHE,PARA - IF (DXYZ(1).NE.0..OR.DXYZ(2).NE.0..OR.DXYZ(3).NE.0.) - + THEN - WRITE (CHMAIL, 10700) ISH, ISHM - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - DO 70 I= 1, NVAR - IAX = LVAR(I) - PAR(IAX) = PARM(IAX) - 70 CONTINUE - ENDIF - ENDIF -* - ELSE IF (ISH.LE.12) THEN -* -* PGON,PCON -* - IF (ISHM.EQ.ISH) THEN -* in PGON,PCON - IF (ISH.EQ.11) THEN - IPNZ = 4 - ELSE - IPNZ = 3 - ENDIF - NZ = PAR(IPNZ) - NZ1 = PARM(IPNZ) - IF (NZ.NE.2 .OR. NZ1.NE.2) THEN - WRITE (CHMAIL, 10900) ISH, ISHM - CALL GMAIL (0, 0) - IEORUN = 1 - ELSE - ZL = PARM(IPNZ+1) - ZH = PARM(IPNZ+4) - DZ = ZH - ZL - TANLOW = (PARM(IPNZ+5)-PARM(IPNZ+2))/DZ - TANHIG = (PARM(IPNZ+6)-PARM(IPNZ+3))/DZ - Z1 = DXYZ(3) + PAR(IPNZ+1) - PARM(IPNZ+1) - Z2 = DXYZ(3) + PAR(IPNZ+4) - PARM(IPNZ+1) - PAR(IPNZ+2) = PARM(IPNZ+2) + TANLOW * Z1 - PAR(IPNZ+3) = PARM(IPNZ+3) + TANHIG * Z1 - PAR(IPNZ+5) = PARM(IPNZ+2) + TANLOW * Z2 - PAR(IPNZ+6) = PARM(IPNZ+3) + TANHIG * Z2 - ENDIF - ENDIF -* - ENDIF -* -10300 FORMAT (' GGPPAR : Rotations not accepted at the moment') -10400 FORMAT (' GGPPAR : Shape association not accepted', 2I5) -10500 FORMAT (' GGPPAR : PAR(IAX) negative, ISH,ISHM,IAX=',3I5) -10600 FORMAT (' GGPPAR : DZ negative, ISH,ISHM,IAX,DZ=',3I5,G12.4) -10700 FORMAT (' GGPPAR : Not yet coded for ISH,ISHM=',2I5) -10800 FORMAT (' GGPPAR : PARM error for ISH,ISHM,IAX=',3I5) -10900 FORMAT (' GGPPAR : Configuration not accepted, ISH,ISHM=',2I5) -11000 FORMAT (' GGPPAR : Tube ',A4,' has inconsistent parameters') -11100 FORMAT (' GGPPAR : Tube ',A4,' protrudes into the inner space ', - + 'of the mother') -* END GGPPAR - 999 END diff --git a/StarVMC/geant3/ggeom/ggvchk.F b/StarVMC/geant3/ggeom/ggvchk.F deleted file mode 100644 index c2383f4bccb..00000000000 --- a/StarVMC/geant3/ggeom/ggvchk.F +++ /dev/null @@ -1,215 +0,0 @@ -* -* $Id: ggvchk.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: ggvchk.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GGVCHK (JVOM, IN, NVAR, LVAR) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GGVCHK (JVOM, IN, NVAR*, LVAR*) * -C. * * -C. * Checks volume parameters of IN'th content of mother volume * -C. * at address JVOM or, when IN = 0, of mother volume itself. * -C. * Returns NVAR = 0, when no variable parameters * -C. * or NVAR =-1, when no variable parameters AND not a * -C. * possible source of local development * -C. * otherwise, * -C. * the list LVAR of the NVAR variable parameters positions * -C. * * -C. * Called by : GGDVLP * -C. * Author : F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcshno.inc" -C. - DIMENSION LVAR(*) - INTEGER LDP(7,12), NDP(12) - SAVE LDP,NDP -C. - DATA NDP/ 3, 4, 5, 7, 3, 3, 5, 5, 4, 3, 2, 2 / - DATA LDP/ 1, 2, 3, 4*0, 1, 2, 3, 4, 3*0, 1, 2, 3, 4, 5, 2*0, - + 1, 4, 5, 6, 8, 9, 10, 1, 2, 3, 4*0, 1, 2, 3, 4*0, - + 1, 2, 3, 4, 5, 2*0, 1, 2, 3, 4, 5, 2*0, 1, 2, 3, 4, 3*0, - + 1, 2, 3, 4*0, 2, 3, 5*0, 2, 3, 5*0 / -C. -C. ------------------------------------------------------------------ -* - NVAR = 0 - NSP = 0 - IF (IN.EQ.0) THEN - NPAR = Q(JVOM+5) - IF (NPAR.LE.0) THEN - NIN = Q(JVOM+3) - IF (NIN.LT.0) NVAR = -1 - GO TO 999 - ENDIF - JPAR = JVOM +6 - ISH = Q(JVOM+2) - ELSE - JIN = LQ(JVOM-IN) - IVO = Q(JIN+2) - JVO = LQ(JVOLUM-IVO) - NPAR = Q(JVO+5) - IF (NPAR.GT.0) THEN - JPAR = JVO +6 - ELSE - NIN = Q(JVOM+3) - IF (NIN.LT.0) THEN - JPAR = 0 - ELSE - JPAR = JIN +9 - NIN = Q(JVO+3) - IF (NIN.LT.0) THEN - NSP = -1 - ELSE -* - DO 9 IIN = 1, NIN - JJIN = LQ(JVO-IIN) - IIVO = Q(JJIN+2) - JJVO = LQ(JVOLUM-IIVO) - NNPAR= Q(JJVO+5) - IF (NNPAR.GT.0) THEN - JJPAR= JJVO + 6 - ELSE - NSP=-1 - GO TO 10 - ENDIF -* - IISH = Q(JJVO+2) - NND = NDP(IISH) - IF (IISH.LE.10) THEN -* -* * Volumes other than PGON or PCON -* - DO 6 ID = 1,NND - IIDP = LDP(ID,IISH) - IF (Q(JJPAR+IIDP).LT.0.) THEN - NSP = -1 - GO TO 10 - ENDIF - 6 CONTINUE -* - ELSE IF (IISH.LE.12) THEN -* -* * PGON and PCON volumes -* - IPZ = 15 -IISH - JJPAR = JJPAR +IPZ - NNZ = 2*Q(JJPAR) - DO 8 IZ = 1, NNZ - DO 7 ID = 1, NND - IIDP = LDP(ID,IISH) - IF (Q(JJPAR+IIDP).LT.0.) THEN - NSP = -1 - GO TO 10 - ENDIF - 7 CONTINUE - 8 CONTINUE - ENDIF - 9 CONTINUE -* - ENDIF -* - ENDIF - ENDIF - 10 ISH = Q(JVO+2) - ENDIF -* Shape 28 will not be supported in the future - IF (ISH.EQ.28.OR.ISH.EQ.13.OR.ISH.EQ.NSCTUB.OR.ISH.EQ.14)THEN - NVAR = 0 - GO TO 999 - ENDIF -* - ND = NDP(ISH) -* - IF (JPAR.LE.0) THEN - IF (ISH.LE.10) THEN -* -* * Volumes other PGON or PCON -* - NVAR = ND - DO 11 ID = 1, ND - 11 LVAR(ID) = LDP(ID,ISH) - ELSE IF (ISH.LE.12) THEN -* -* * PGON and PCON volumes -* - IPZ = 15 - ISH - NVAR = 6 - DO 12 ID = 1, NVAR - 12 LVAR(ID) = IPZ + ID - ELSE -* - GO TO 900 - ENDIF - GO TO 999 - ENDIF -* - IF (ISH.LE.10) THEN -* -* * Volumes other than PGON or PCON -* - DO 19 ID = 1,ND - IDP = LDP(ID,ISH) - IF (Q(JPAR+IDP).GE.0.) GO TO 19 - NVAR = NVAR +1 - LVAR(NVAR) = IDP - 19 CONTINUE -* - ELSE IF (ISH.LE.12) THEN -* -* * PGON and PCON volumes -* - IPZ = 15 -ISH - JPAR = JPAR +IPZ - NZ = 2*Q(JPAR) - INC = IPZ - DO 29 IZ = 1,NZ - DO 28 ID = 1,ND - IDP = LDP(ID,ISH) - IF (Q(JPAR+IDP).GE.0.) GO TO 28 - NVAR = NVAR +1 - LVAR(NVAR) = INC +IDP - 28 CONTINUE - INC = INC +3 - 29 CONTINUE - ELSE -* - GO TO 900 - ENDIF - IF (NVAR.EQ.0) NVAR = NSP - GO TO 999 -* - 900 WRITE (CHMAIL, 1001) ISH - CALL GMAIL (0, 0) - 1001 FORMAT (' GGVCHK : No code for shape ISH=',I5) -* END GGVCHK - 999 END diff --git a/StarVMC/geant3/ggeom/ginctu.F b/StarVMC/geant3/ggeom/ginctu.F deleted file mode 100644 index d9d398115db..00000000000 --- a/StarVMC/geant3/ggeom/ginctu.F +++ /dev/null @@ -1,91 +0,0 @@ -* -* $Id: ginctu.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: ginctu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GINCTU( X , PAR , IYES ) -* -*********************************************************************** -*. -*...GINCTU tests whether a point inside a cut tube or not. -*. -*. SUBROUTINE GINCTU( X , PAR , IYES ) -*. ----------------- -*. -*. Routine GINCTU tests whether a point is inside a cur tue or not. -*. -*. INPUT : X vector real length at least 3, x,y,z of -*. : point in local cut tube coords. -*. : PAR vector real length 11 parameters of cut -*. : tube. -*. OUTPUT : IYES integer 1 if point inside, 0 if not. -*. -*. SEQUENCES : GCONSP -*. CALLED : GINME -*. -*. -*. REPORT CONDITIONS -*. -*. Non Stand.: none. -*. -*. AUTHOR : A.C.McPherson. -*. VERSION : 1.00 -*. CREATED : 6-May-88 -*. LAST MOD : 6-May-88 -*. -*. MODIFICATION LOG. -*. -*.********************************************************************* -*. -#include "geant321/gconsp.inc" - REAL X(*), PAR(*) -*. -* -------------------- -* - IYES = 0 - ZINL = X(1)*PAR(6) +X(2)*PAR(7) +( X(3)+PAR(3) )*PAR(8) - IF( ZINL .LT. 0.0 ) THEN - ZINH = X(1)*PAR(9) +X(2)*PAR(10) +( X(3)-PAR(3) )*PAR(11) - IF( ZINH .LT. 0.0 ) THEN - R2 = X(1)*X(1)+X(2)*X(2) - IF( R2 .GT. PAR(1)*PAR(1) .AND. R2 .LT. PAR(2)*PAR(2) ) THEN - IF( PAR(4) .EQ. 0 .AND. PAR(5) .EQ. 360.0 ) THEN - IYES = 1 - ELSEIF( R2 .GT. 0.0 ) THEN - PHI = ATAN2( X(2), X(1) )/DEGRAD - DPHI = PHI - PAR(4) - IF( DPHI .LT. 0.0 ) DPHI = DPHI+360.0 - IF( DPHI .GT. 360.0 ) DPHI = DPHI-360.0 - DPT = PAR(5) - PAR(4) - IF( DPT .LT. 0.0 ) DPT = DPT+360.0 - IF( DPT .GT. 360.0 ) DPT = DPT-360.0 - IF( DPHI .LE. DPT ) IYES = 1 - ENDIF - ENDIF - ENDIF - ENDIF - END diff --git a/StarVMC/geant3/ggeom/gingtr.F b/StarVMC/geant3/ggeom/gingtr.F deleted file mode 100644 index 83a0adabf56..00000000000 --- a/StarVMC/geant3/ggeom/gingtr.F +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: gingtr.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gingtr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GINGTR(X,P,IYES) -C. -C. ****************************************************************** -C. * * -C. * * -C. * SUBROUTINE GINGTR(X,P,IYES) * -C. * Routine performes GINME type function to determine * -C. * whether the point X is in the GTRA shape with parameters * -C. * P. IYES is returned 1 if it is 0 if not. * -C. * A.C.McPherson 22nd April 1985 * -C. * * -C. * Called by : GINME * -C. * * -C ****************************************************************** -C. - DIMENSION X(3),P(30),XPT(4),YPT(4) -C. -C. ---------------------------------------- -C. -C First the range in Z is checked. -C - IYES=0 - IF(ABS(X(3)).GT.P(1)) GO TO 30 -C -C Next the four corners at the z of the input point (X(3)) -C are computed as: -C - DO 10 I=1,4 - I0=I*4+11 - XPT(I) = P(I0)+P(I0+2)*X(3) - YPT(I) = P(I0+1)+P(I0+3)*X(3) - 10 CONTINUE -C -C Then the cross product between the vector from that -C corner to the input point and the vector from that corner -C to the next corner is computed and its sign is -C interrogated. Since the quadralateral is convex, if any -C one of these signs is wrong, the point is outside the -C shape. This task is performed as follows: -C - DO 20 I=1,4 - J = I+1 - IF(J.EQ.5) J=1 - CROSS = (X(1)-XPT(I))*(YPT(J)-YPT(I)) - - + (X(2)-YPT(I))*(XPT(J)-XPT(I)) - IF(CROSS.GT.0.0) GO TO 30 - 20 CONTINUE - IYES = 1 - 30 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/ggeom/ginme.F b/StarVMC/geant3/ggeom/ginme.F deleted file mode 100644 index 6d903abdb7a..00000000000 --- a/StarVMC/geant3/ggeom/ginme.F +++ /dev/null @@ -1,247 +0,0 @@ -* -* $Id: ginme.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: ginme.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GINME(X,SH,P,IYES) -C. -C. -C. ****************************************************************** -C. * * -C. * SUBROUTINE TO COMPUTE WHETHER THE POINT X IS IN THE SHAPE * -C. * NUMBER SH WITH PARAMETERS P. * -C. * IYES IS SET TO 1 IF SO; TO ZERO IF NOT. * -C. * * -C. * ==>Called by : GFTRAC, GINVOL, GMEDIA, GMEPOS, GSTRAC, * -C. * GTMEDI * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif - DIMENSION X(3),P(*) -C. -C. ------------------------------------------------------------------ -C. - IYES=0 - ISH=SH -* - IF(ISH.EQ.5) THEN -* -* Tube axis = Z axis - IF (ABS(X(3)).GT.P(3)) GO TO 999 - R2=X(1)**2+X(2)**2 - IF(R2.LT.P(1)**2) GO TO 999 - IF(R2.GT.P(2)**2) GO TO 999 - IYES=1 -* - ELSEIF(ISH.EQ.6) THEN -* -* Tube segment - IF (ABS(X(3)).GT.P(3)) GO TO 999 - R2=X(1)**2+X(2)**2 - IF(R2.LT.P(1)**2) GO TO 999 - IF(R2.GT.P(2)**2) GO TO 999 - IYES=1 - IF (R2.LT.1.0E - 6) GO TO 999 - IYES=0 - PHI = ATAN2(X(2),X(1)) * RADDEG - DP=P(5)-P(4) - IF(DP.LE.0.0) DP=DP+360.0 - DDP=PHI-P(4) - SG = SIGN(1.0,DDP) - DDP = MOD( ABS(DDP), 360. ) - IF(SG.LE.0.) DDP = 360.-DDP - IF(DDP.GT.DP) GO TO 999 - IYES=1 -* - ELSEIF(ISH.EQ.1) THEN -* -* Rectilinear box - IF (ABS(X(1)).GT.P(1)) GO TO 999 - IF (ABS(X(2)).GT.P(2)) GO TO 999 - IF (ABS(X(3)).GT.P(3)) GO TO 999 - IYES=1 -* - ELSEIF(ISH.EQ.2) THEN -* -* Rectilinear trapezoidal section with only the X -* thickness changing with z - DZ =P(4) - IF (ABS(X(3)).GT.DZ) GO TO 999 - DY = P(3) - IF (ABS(X(2)).GT.DY) GO TO 999 - DX =0.5*(P(2)*(X(3)+DZ)+P(1)*(DZ-X(3)))/DZ - IF (ABS(X(1)).GT.DX) GO TO 999 - IYES=1 -* - ELSEIF(ISH.EQ.3) THEN -* -* Rectilinear trapezoidal section with both X and Y -* thicknesses varying with Z - DZ =P(5) - IF (ABS(X(3)).GT.DZ) GO TO 999 - DX =0.5*(P(2)*(X(3)+DZ)+P(1)*(DZ-X(3)))/DZ - IF (ABS(X(1)).GT.DX) GO TO 999 - DY = 0.5*(P(4)*(X(3)+DZ)+P(3)*(DZ-X(3)))/DZ - IF (ABS(X(2)).GT.DY) GO TO 999 - IYES=1 -* - ELSEIF(ISH.EQ.9) THEN -* -* Spherical segment - R2 = X(1)**2 + X(2)**2 + X(3)**2 - IF (R2.LT.P(1)**2.OR.R2.GT.P(2)**2) GO TO 999 - IYES=1 - IF (R2.LT.1.0E -12) GO TO 999 - IYES=0 - IF (X(1).EQ.0..AND.X(2).EQ.0.) THEN - PHI = 0. - ELSE - PHI = ATAN2(X(2),X(1))*RADDEG - ENDIF - DP=P(6)-P(5) - IF(DP.LE.0.0) DP=DP+360.0 - DDP=PHI-P(5) - SG = SIGN(1.0,DDP) - DDP = MOD( ABS(DDP), 360. ) - IF(SG.LE.0.) DDP = 360.-DDP - IF(DDP.GT.DP) GO TO 999 - R2 = X(1)**2 + X(2)**2 - IF(R2.GT.0.0) R2=SQRT(R2) - THETA = ATAN2(R2,X(3)) * RADDEG - IF (THETA.LT.P(3).OR.THETA.GT.P(4)) GO TO 999 - IYES=1 -* - ELSEIF(ISH.EQ.4) THEN -* -* General trapezoidal section - CALL GINTRP(X,P,IYES) -* - ELSEIF(ISH.EQ.7) THEN -* -* Conical tube - DZ =P(1) - IF (ABS(X(3)).GT.DZ) GO TO 999 - R2 =X(1)**2 + X(2)**2 - RL = 0.5*(P(4)*(X(3)+DZ)+P(2)*(DZ-X(3)))/DZ - RH = 0.5*(P(5)*(X(3)+DZ)+P(3)*(DZ-X(3)))/DZ - IF (R2.LT.RL**2.OR.R2.GT.RH**2) GO TO 999 - IYES=1 -* - ELSEIF(ISH.EQ.8) THEN -* -* Conical tube segment - DZ =P(1) - IF (ABS(X(3)).GT.DZ) GO TO 999 - R2 =X(1)**2 + X(2)**2 - RL = 0.5*(P(4)*(X(3)+DZ)+P(2)*(DZ-X(3)))/DZ - RH = 0.5*(P(5)*(X(3)+DZ)+P(3)*(DZ-X(3)))/DZ - IF (R2.LT.RL**2.OR.R2.GT.RH**2) GO TO 999 - IYES=1 - IF (R2.LT.1.0E - 6) GO TO 999 - IYES=0 - PHI = ATAN2(X(2),X(1)) * RADDEG - DP=P(7)-P(6) - IF(DP.LE.0.0) DP=DP+360.0 - DDP=PHI-P(6) - SG = SIGN(1.0,DDP) - DDP = MOD( ABS(DDP), 360. ) - IF(SG.LE.0.) DDP = 360.-DDP - IF(DDP.GT.DP) GO TO 999 - IYES=1 -* - ELSEIF(ISH.EQ.10) THEN -* -* Parallelepiped - CALL GINPAR(X,P,IYES) -* - ELSEIF(ISH.EQ.11) THEN -* -* Polygon - CALL GINPGO(X,P,IYES) -* - ELSEIF(ISH.EQ.12) THEN -* -* Polycone - CALL GINPCO(X,P,IYES) -* - ELSEIF (ISH.EQ.13) THEN -* -* Elliptical tube - IF (ABS(X(3)).GT.P(3)) GOTO 999 - A2=P(1)**2 - B2=P(2)**2 - R2=X(1)**2/A2+X(2)**2/B2 - IF (R2.GT.1.0) GOTO 999 - IYES=1 -* - ELSEIF(ISH.EQ.14) THEN -* -* HYPErboloid axis = Z axis. - IF (ABS(X(3)) .GT. P(3)) GO TO 999 - R2 = X(1)**2 + X(2)**2 - DR2 = (X(3) * TAN(P(4)*DEGRAD))**2 - IF (R2 .LT. P(1)**2 + DR2) GO TO 999 - IF (R2 .GT. P(2)**2 + DR2) GO TO 999 - IYES=1 -* - ELSEIF(ISH.EQ.28) THEN -* -* General twisted trapezoid. - CALL GINGTR(X,P,IYES) -* - ELSEIF( ISH.EQ.NSCTUB) THEN -* -* Cut tube. - CALL GINCTU(X,P,IYES) -* - ELSE -* -* User shape ? -#if !defined(CERNLIB_USRJMP) - CALL GUINME(X,SH,P,IYES) -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT4(JUINME,X,SH,P,IYES) -#endif -* - IF(IYES.LT.0) THEN -* -* Shape number not supported by system nor by user - WRITE(CHMAIL,10000) ISH - CALL GMAIL(0,0) - ENDIF - ENDIF -* -10000 FORMAT(' *** GINME *** Shape number ',I5,' not yet implemented') - 999 END diff --git a/StarVMC/geant3/ggeom/ginpar.F b/StarVMC/geant3/ggeom/ginpar.F deleted file mode 100644 index c620d48dd8b..00000000000 --- a/StarVMC/geant3/ggeom/ginpar.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: ginpar.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: ginpar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GINPAR(X,PAR,IYES) -C. -C. ****************************************************************** -C. * * -C. * Routine to determine whether a point X is inside the * -C. * parallelepiped with parameters PAR. IYES is returned as 1 * -C. * if it is; as zero if it isn't. * -C. * * -C. * ==>Called by : GINME * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION X(3),PAR(6) -C. -C. ------------------------------------- -C. - IYES=0 - IF(ABS(X(3)).GT.PAR(3)) GO TO 99 -C - YT=X(2)-PAR(6)*X(3) - IF(ABS(YT).GT.PAR(2)) GO TO 99 -C - XT=X(1)-PAR(5)*X(3)-PAR(4)*YT - IF(ABS(XT).GT.PAR(1)) GO TO 99 -C - IYES=1 -C - 99 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/ginpco.F b/StarVMC/geant3/ggeom/ginpco.F deleted file mode 100644 index 05dc4dfe1b6..00000000000 --- a/StarVMC/geant3/ggeom/ginpco.F +++ /dev/null @@ -1,129 +0,0 @@ -* -* $Id: ginpco.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: ginpco.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GINPCO(X,P,IYES) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO PERFORM GINME FUNCTION FOR A POLYCONE. * -C. * X - A VECTOR DIMENSION 3 GIVING THE POINT. * -C. * P - THE VECTOR OF PARAMETERS, (1) = PHIMIN, * -C. * (2) = DPHI, (3) = NZ, (4) = Z(1), * -C. * (5) = RMIN(1), (6) = RMAX(1), (7) = Z(2), * -C. * (8) = RMIN(2), (9) = RMAX(2), ETC. * -C. * IYES - RETURNED AS 1 IF POINT IS INSIDE, OTHERWISE 0. * -C. * * -C. * ==>Called by : GINME * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gcpoly.inc" - DIMENSION P(9),X(3) -C. -C. --------------------------------- -C. - IYES=0 -C -C FIRST CHECK TOTAL Z RANGE. -C - NZ=P(3) - IF(X(3).LT.P(4).OR.X(3).GT.P(NZ*3+1)) GO TO 999 -C -C NOW CHECK R(SQUARED). FIRST COMPUTE IT. -C - R2=X(1)*X(1)+X(2)*X(2) -C -C NOW FIND WHICH Z SECTION THE POINT IS IN. -C - IZL=1 - IZH=NZ - IZT=(NZ+1)/2 - IPL=IZL*3+1 - IPH=IZH*3+1 - IPT=IZT*3+1 -C - 10 CONTINUE - IF(IZH-IZL.LE.1) GO TO 40 -C - IF(X(3).GT.P(IPT)) GO TO 20 -C - IZH=IZT - IPH=IPT -C - GO TO 30 -C - 20 CONTINUE -C - IZL=IZT - IPL=IPT -C - 30 CONTINUE -C - IZT=(IZL+IZH)/2 - IPT=IZT*3+1 -C - GO TO 10 -C - 40 CONTINUE -C -C THE POINT IS IN THE SECTION BOUNDED BY THE IZL TH AND THE -C IZH TH Z VALUES. -C -C NOW COMPUTE RMIN AND RMAX AND TEST THE VALUE OF R SQUARED. -C - IZSEC=IZH - IF (P(IPL+2).EQ.0..AND.P(IPH+2).EQ.0.) GO TO 999 -C - IF ( (P(IPH).EQ.P(IPL)) .AND. (X(3).EQ.P(IPL)) ) THEN - RMN = MAX( P(IPL+1), P(IPH+1) ) - RMX = MIN( P(IPL+2), P(IPH+2) ) - ELSE - DZ=P(IPH)-P(IPL) - DZ1=X(3)-P(IPL) - RMN=(P(IPL+1)*(DZ-DZ1)+P(IPH+1)*DZ1)/DZ - RMX=(P(IPL+2)*(DZ-DZ1)+P(IPH+2)*DZ1)/DZ - END IF -C - IF(R2.LT.RMN*RMN.OR.R2.GT.RMX*RMX) GO TO 999 -C -C NOW CHECK PHI. -C - PHI=P(1)+P(2)*0.5 - IF(X(2).NE.0.0.OR.X(1).NE.0) PHI=ATAN2(X(2),X(1))*RADDEG - IF(PHI.LT.P(1)) PHI=PHI+360.0 - IF(PHI.LT.P(1).OR.PHI-P(1).GT.P(2)) GO TO 999 -C -C POINT IS IN POLYCONE. -C - IYES=1 -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/ginpgo.F b/StarVMC/geant3/ggeom/ginpgo.F deleted file mode 100644 index 768882cadf6..00000000000 --- a/StarVMC/geant3/ggeom/ginpgo.F +++ /dev/null @@ -1,168 +0,0 @@ -* -* $Id: ginpgo.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: ginpgo.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:50 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GINPGO(X,P,IYES) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO PERFORM GINME FUNCTION FOR A POLYGON. * -C. * X - A VECTOR DIMENSION 3 GIVING THE POINT. * -C. * P - THE VECTOR OF PARAMETERS, (1) = PHIMIN, * -C. * (2) = DPHI, (3) = NDIV, (4) = NZ, (5) = Z(1) * -C. * (6) = RMIN(1), (7) = RMAX(1), (8) = Z(2), * -C. * (9) = RMIN(2), (10) = RMAX(2), ETC. * -C. * RMIN IS THE DISTANCE FROM THE ORIGIN TO THE * -C. * INSIDE EDGE PROJECTED ALONG THE CENTRE LINE * -C. * OF THE DIVISION. RMAX IS THE CORRESPONDING * -C. * PROJECTED DISTANCE FOR THE OUTER EDGE. * -C. * IYES - RETURNED AS 1 IF POINT IS INSIDE, OTHERWISE 0. * -C. * * -C. * ==>Called by : GINME * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gcpoly.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION XX1,XX2,PHI,DELPHI,PH0,R,DZRAT,DIVPHI - DOUBLE PRECISION RMN,RMX,HNDIV -#endif - DIMENSION P(10),X(3) -C. -C. --------------------------------- -C. - IYES=0 -C -C FIRST CHECK TOTAL Z RANGE. -C - NZ=P(4) - IF(X(3).LT.P(5).OR.X(3).GT.P(NZ*3+2)) GO TO 999 -C -C Find smallest RMIN and largest RMAX -C - RMIN=P(6) - RMAX=P(7) - DO 10 I=2,NZ - IP=I*3+3 - IF(P(IP).LT.RMIN)RMIN=P(IP) - IF(P(IP+1).GT.RMAX) RMAX=P(IP+1) - 10 CONTINUE -* -* *** Check R against RMIN -* - XX1 = X(1) - XX2 = X(2) - R = SQRT(XX1**2+XX2**2) - IF(R.LT.RMIN)GO TO 999 - HNDIV=P(3) - DELPHI=P(2) - DIVPHI=DELPHI/HNDIV -* -* *** Find the radius of the outscribed circle -* - RMAX = RMAX/COS(0.5*DIVPHI*DEGRAD) -* -* *** Check R against RMAX -* - IF(R.GT.RMAX)GO TO 999 -C -C If R sufficiently small ignore phi structure. -C - IPSEC=1 -C - IF(R.LT.1.0E-5) GO TO 20 -C -C NOW CHECK PHI. -C - PHI=ATAN2(XX2,XX1)*RADDEG - IF(PHI.LT.P(1)) PHI=PHI+360.0 - IF(PHI.LT.P(1).OR.PHI-P(1).GT.P(2)) GO TO 999 -C -C NOW FIND PHI DIVISION. -C - IPSEC=MIN((PHI-P(1))/DIVPHI+1.,HNDIV) -C - PH0=(P(1)+DIVPHI*(IPSEC-0.5))*DEGRAD -C -C NOW CHECK PROJECTED DISTANCE. FIRST COMPUTE IT. -C - R=XX1*COS(PH0)+XX2*SIN(PH0) -C - 20 CONTINUE -C -C NOW FIND WHICH Z SECTION THE POINT IS IN. -C - IZL=1 - IZH=NZ - IPL=IZL*3+2 - IPH=IZH*3+2 -C - 30 IF(IZH-IZL.GT.1) THEN -C - IZT=(IZL+IZH)/2 - IPT=IZT*3+2 - IF(X(3).LE.P(IPT)) THEN -C - IZH=IZT - IPH=IPT - ELSE -C - IZL=IZT - IPL=IPT - ENDIF -C - GO TO 30 - ENDIF -C -C THE POINT IS IN THE SECTION BOUNDED BY THE IZL TH AND THE -C IZH TH Z VALUES. -C -C NOW COMPUTE RMIN AND RMAX AND TEST THE VALUE OF R . -C - IZSEC=IZL - DZRAT=X(3)-P(IPL) - DZRAT=DZRAT/(P(IPH)-P(IPL)) - RMN=P(IPL+1)+DZRAT*(P(IPH+1)-P(IPL+1)) -* -* *** Is the point inside the 'hole' at the centre of the volume? -* - IF(R.LT.RMN) GO TO 999 -* - RMX=P(IPL+2)+DZRAT*(P(IPH+2)-P(IPL+2)) -* -* *** Is the point outside the volume? -* - IF(R.GT.RMX) GO TO 999 -C -C POINT IS IN POLYGON. -C - IYES=1 -C - 999 END diff --git a/StarVMC/geant3/ggeom/ginrot.F b/StarVMC/geant3/ggeom/ginrot.F deleted file mode 100644 index 08d03be9454..00000000000 --- a/StarVMC/geant3/ggeom/ginrot.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: ginrot.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: ginrot.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GINROT(X,RMAT,XNEW) -C. -C. ****************************************************************** -C * * -C * ROUTINE TO ROTATE THE VECTOR X BY THE INVERSE OF THE * -C * ROTATION MATRIX RMAT AND STORE THE RESULT AS THE * -C * VECTOR XNEW * -C. * * -C. * ==>Called by : GDFR3D,GDSSUR,GD3D3D,GFLCAR,GFLPHI,GFLRAD * -C. * GFLTHE * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION X(3),XNEW(3),RMAT(10) -C. -C. ------------------------------------------------------------------ -C. - IF(RMAT(10).NE.0.0) THEN - XNEW(1) = X(1)*RMAT(1) + X(2)*RMAT(4) + X(3)*RMAT(7) - XNEW(2) = X(1)*RMAT(2) + X(2)*RMAT(5) + X(3)*RMAT(8) - XNEW(3) = X(1)*RMAT(3) + X(2)*RMAT(6) + X(3)*RMAT(9) -* - ELSE - XNEW(1) = X(1) - XNEW(2) = X(2) - XNEW(3) = X(3) -* - ENDIF - END diff --git a/StarVMC/geant3/ggeom/gintco.F b/StarVMC/geant3/ggeom/gintco.F deleted file mode 100644 index d9373c03070..00000000000 --- a/StarVMC/geant3/ggeom/gintco.F +++ /dev/null @@ -1,115 +0,0 @@ -* -* $Id: gintco.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gintco.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GINTCO (X, RLEFT, RRIGHT, DZ, TAU, TAUL) - -C ******************************************** -C * This subroutine finds the intersection * -C * of a given ray (described by array X) * -C * with a given cone (described by radii * -C * RLEFT and RRIGHT and half-distance DZ). * -C * Output parameter is TAU, and inter- * -C * section point is X = XP + TAU*XD, etc. * -C * * -C * Called by GNOCON * -C * Programmed by: Patrick Weidhaas * -C * CERN, March 1988 * -C ******************************************** - -#include "geant321/gconsp.inc" - DIMENSION X(6) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION XP,YP,ZP,XD,YD,ZD,S,T,U,V,W - DOUBLE PRECISION DISCR,SQDISC -#endif -C---------------------------------------------------- - -C...... Point of origin of ray: - - XP = X(1) - YP = X(2) - ZP = X(3) - -C...... Direction cosines: - - XD = X(4) - YD = X(5) - ZD = X(6) - - TAU = BIG - TAUL = BIG - - S = 0.5 * (RLEFT + RRIGHT) - T = (RLEFT - RRIGHT) / DZ - -C...... Cone equation is: x**2 + y**2 - Az**2 + Bz + C = 0 - - A = 0.25 * T*T - B = S * T - C = -S*S - -C...... To obtain "TAU", we must solve the quadratic equation -C...... Ut**2 + Vt + W = 0 . - - U = XD**2 + YD**2 - A*ZD**2 - V = 2.0 * (XP*XD + YP*YD - A*ZP*ZD) + B*ZD - W = XP**2 + YP**2 - A*ZP**2 + B*ZP + C - - DISCR = V*V - 4.0*U*W - IF (DISCR .LE. 0.0) GO TO 999 - IF(U.EQ.0.)GO TO 999 - SQDISC = SQRT (DISCR) - TAU1 = (-V + SQDISC) / (2.0*U) - TAU2 = (-V - SQDISC) / (2.0*U) - - -C...... Set TAU to the smallest positive root; -C...... otherwise let TAU = BIG . -C -C...... If both roots are positive, set TAUL to -C...... the larger one: it may be needed in the -C...... case of a PHI-segmented cone. - - IF (TAU1 .LT. 0.0) THEN - IF (TAU2 .LT. 0.0) GO TO 999 - TAU = TAU2 - ELSE - TAU = TAU1 - IF (TAU2 .GT. 0.0) THEN - TAUL = TAU2 - IF (TAU2.LT.TAU1) THEN - TAU = TAU2 - TAUL = TAU1 - ENDIF - ENDIF - ENDIF - - 999 CONTINUE - END - diff --git a/StarVMC/geant3/ggeom/gintrp.F b/StarVMC/geant3/ggeom/gintrp.F deleted file mode 100644 index ceb5108f9e3..00000000000 --- a/StarVMC/geant3/ggeom/gintrp.F +++ /dev/null @@ -1,98 +0,0 @@ -* -* $Id: gintrp.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gintrp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GINTRP(X,P,IYES) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO PERFORM GINME FUNCTION FOR A GENERAL TRAPEZOID. * -C. * X - A VECTOR DIMENSION 3 GIVING THE POINT. * -C. * P - THE VECTOR OF PARAMETERS; * -C. * DZ - HALF LENGTH ALONG Z AXIS, * -C. * TX - DX/DZ OF LINE LINKING FACE CENTRES, * -C. * TY - DY/DZ '' * -C. * H1 - HALF LENGTH IN Y DIR OF FACE AT Z=-DZ, * -C. * LB1 - HALF LEN. OF LOW Y EDGE OF SAME FACE, * -C. * LT1 - HALF LEN. OF HIGH Y EDGE OF SAME FACE, * -C. * TTH1 - DX/DY OF LINE LINKING EDGE CENTRES, * -C. * H2 - AS 1 FOR FACE AT Z=DZ * -C. * LB2 - '' * -C. * LT2 - '' * -C. * TTH2 - '' * -C. * IYES - RETURNED AS 1 IF POINT IS INSIDE, OTHERWISE 0. * -C. * * -C. * ==>Called by : GINME * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION X(3),P(11) - SAVE LDZ,LLTAN,LH1,LTTH1,LH2,LTTH2 -C - DATA LDZ,LLTAN,LH1,LTTH1,LH2,LTTH2/1,2,4,7,8,11/ -C. -C. ---------------------------------------- -C. - IYES=0 -C -C CHECK Z FIRST. -C - IF(ABS(X(3)).GT.P(LDZ)) GO TO 99 -C -C COMPUTE TRAPEZIUM PARAMETERS AND X,Y IN TRAP COORDS. -C - SP1=(P(LDZ)-X(3))*0.5/P(LDZ) - SP2=(P(LDZ)+X(3))*0.5/P(LDZ) - H=P(LH1)*SP1+P(LH2)*SP2 - YL=X(2)-X(3)*P(LLTAN+1) -C -C CHECK Y. -C - IF(ABS(YL).GT.H) GO TO 99 - IF ( H .EQ. 0 ) THEN - TTH = 0. - ELSE - TTH=(P(LH1)*P(LTTH1)*SP1+P(LH2)*P(LTTH2)*SP2)/H - END IF - BL=P(LH1+1)*SP1+P(LH2+1)*SP2 - TL=P(LH1+2)*SP1+P(LH2+2)*SP2 - XL=X(1)-X(3)*P(LLTAN) -C -C CHECK X. -C - DX=BL*(H-YL)*0.5/H+TL*(H+YL)*0.5/H - XL=XL-YL*TTH - IF(ABS(XL).GT.DX) GO TO 99 -C -C INSIDE. -C - IYES=1 -C - 99 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gitran.F b/StarVMC/geant3/ggeom/gitran.F deleted file mode 100644 index 651cee50ef8..00000000000 --- a/StarVMC/geant3/ggeom/gitran.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: gitran.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gitran.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GITRAN(X,DX,IROT,XNEW) -C. -C. ****************************************************************** -C * * -C * ROUTINE TO APPLY THE TRANSFORMATION GIVEN BY * -C * THE POINT DX AND THE ROTATION MATRIX IN THE GEANT * -C * ROTATION MATRIX BANKS WITH INDEX NUMBER IROT TO THE * -C * POINT X, STORING THE RESULT AS THE POINT XNEW. * -C * * -C. * ==>Called by : GFTRAC,GINVOL,GMEPOS,GNEXT,GTMEDI,GTNEXT * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - DIMENSION X(3),DX(3),XNEW(3) -C. -C. ------------------------------------------------------------------ -C. - IF(IROT.EQ.0) THEN - XNEW(1) = X(1) - DX(1) - XNEW(2) = X(2) - DX(2) - XNEW(3) = X(3) - DX(3) -* - ELSE - XL1 = X(1) - DX(1) - XL2 = X(2) - DX(2) - XL3 = X(3) - DX(3) - JR=LQ(JROTM-IROT) - XNEW(1) = XL1*Q(JR+1) + XL2*Q(JR+2) + XL3*Q(JR+3) - XNEW(2) = XL1*Q(JR+4) + XL2*Q(JR+5) + XL3*Q(JR+6) - XNEW(3) = XL1*Q(JR+7) + XL2*Q(JR+8) + XL3*Q(JR+9) -* - ENDIF - END diff --git a/StarVMC/geant3/ggeom/glmoth.F b/StarVMC/geant3/ggeom/glmoth.F deleted file mode 100644 index 881661e3dd2..00000000000 --- a/StarVMC/geant3/ggeom/glmoth.F +++ /dev/null @@ -1,131 +0,0 @@ -* -* $Id: glmoth.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: glmoth.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE G3LMOTH (IUDET, IUNUM, NLEV, LVOLS, LINDX) -C. -C. ****************************************************************** -C. * * -C. * Loads the top part of the Volume tree in LVOLS (IVO's), * -C. * LINDX (IN indices) for a given volume defined through * -C. * its name IUDET and number IUNUM. * -C. * * -C. * The routine stores only upto the last level where JVOLUM * -C. * data structure is developed. If there is no development * -C. * above the current level, it returns NLEV zero. * -C. * * -C. * Called by : GDRAW, GFIPAR, GFPARA, GLVOLU * -C. * Authors : S.Banerjee * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -C. - DIMENSION LVOLS(*), LINDX(*) - CHARACTER*(*) IUDET - SAVE MULT -C. -C. ------------------------------------------------------------------ -* - NLEV = 1 - MULT = IUNUM - NLDV = 0 - CALL UCTOH (IUDET, LINAM, 4, 4) - IVOS = IUCOMP (LINAM, IQ(JVOLUM+1), IQ(JVOLUM-1)) - LVOLS(1) = IVOS -* -* *** Scan all volumes to check if it could be mother -* of the current volume -* - 10 IF (IVOS.GT.1) THEN - DO 25 IVO = 1, IQ(JVOLUM-1) - IF (IVO.EQ.IVOS) GO TO 25 - JVO = LQ(JVOLUM-IVO) - NIN = Q(JVO+3) - IF (NIN.EQ.0) GO TO 25 -* - IF (NIN.LT.0) THEN - JDIV = LQ(JVO-1) - IVOT = Q(JDIV+2) - IF (IVOT.NE.IVOS) GO TO 25 - IF (MULT.EQ.0) THEN - IN = 1 - MULT = 1 - ELSE - IN = MULT - ENDIF -* - ELSE - DO 15 IN = 1, NIN - JIN = LQ(JVO-IN) - IVOT = Q(JIN+2) - IF (IVOT.NE.IVOS) GO TO 15 - MULTI = Q(JIN+3) - IF (MULT.EQ.0) THEN - MULT = MULTI - ELSE - IF (MULT.NE.MULTI) GO TO 15 - ENDIF - GO TO 20 - 15 CONTINUE - GO TO 25 - ENDIF -* - 20 LINDX(NLEV) = IN - IF (NLDV.NE.0) GO TO 30 - NLEV = NLEV + 1 - LVOLS(NLEV) = IVO - IVOS = IVO - MULT = 0 - IF (LQ(JVO).NE.0) NLDV = NLEV - GO TO 10 - 25 CONTINUE - ENDIF -* -* *** Now rearrange the order of the volumes -* - 30 IF (IVOS.EQ.1) LINDX(NLEV) = 1 - NLV = NLEV/2 - IF (NLV.GT.0) THEN - DO 35 I = 1, NLV - J = NLEV - I + 1 - LID = LINDX(I) - LVO = LVOLS(I) - LINDX(I) = LINDX(J) - LVOLS(I) = LVOLS(J) - LINDX(J) = LID - LVOLS(J) = LVO - 35 CONTINUE - ENDIF - NLEV = NLEV -1 - IF (LQ(LQ(JVOLUM-LVOLS(1))).EQ.0) NLEV = 0 -* END GLMOTH - 999 END diff --git a/StarVMC/geant3/ggeom/glvolu.F b/StarVMC/geant3/ggeom/glvolu.F deleted file mode 100644 index 85ba1d48d18..00000000000 --- a/StarVMC/geant3/ggeom/glvolu.F +++ /dev/null @@ -1,541 +0,0 @@ -* -* $Id: glvolu.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: glvolu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 18/01/95 19.56.13 by S.Giani -*-- Author : - SUBROUTINE G3LVOLU (NLEV, LNAM, LNUM, IER) -C. -C. ****************************************************************** -C. * * -C. * Loads the common block GCVOLU for the volume at lebel NLEV * -C. * as described by the lists of names (LNAM) and numbers (LNUM) * -C. * * -C. * The routine is optimized and does not re-compute the part of * -C. * history already available in GCVOLU. * -C. * * -C. * IER returns non zero in case of fatal error * -C. * * -C. * Called by : 'User', GDRVOL * -C. * Authors : S.Banerjee, F.Bruyant, A.McPherson * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcvolu.inc" - PARAMETER (NLVMAX=15) - INTEGER LNUM(*), LNAM(*), IDTYP(3,12) - DIMENSION LVOLS(NLVMAX), LINDX(NLVMAX) - REAL XC(3) - CHARACTER*4 KNAME - SAVE IDTYP -C. - DATA IDTYP / 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 2, 3, 1, - + 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 4, 3, 1, 1, 1, - + 2, 3, 1, 2, 3, 1/ -C. -C. ------------------------------------------------------------------ -* - IER = 0 - NLEVL=NLEV - IF (NLEVL.LE.0.OR.NLEVL.GT.NLVMAX) GO TO 910 - IF (JGPAR.EQ.0) THEN - CALL MZBOOK (IXCONS, JGPAR, JGPAR, 1, 'GPAR', NLVMAX, 0, - + NLVMAX, 2, 0) - ENDIF - IF (NLEVEL.EQ.0) GO TO 20 -* -* *** Scan tree from top to bottom to -* check if some levels are already filled -* - NLMX = MIN (NLEVL, NLEVEL) - NLEVEL = 0 - DO 10 I = 1,NLMX - IF (LNAM(I).NE.NAMES(I)) GO TO 15 - IF (LNUM(I).NE.NUMBER(I)) GO TO 15 - NLEVEL = NLEVEL +1 - 10 CONTINUE - IF (NLEVL.GT.NLEVEL) GO TO 95 - nlevel=0 - 15 IF (NLEVEL.NE.0) GO TO 95 -* -* *** Special case, first volume -* - 20 IF (JVOLUM.EQ.0) GO TO 920 - IF (IQ(JVOLUM+1).EQ.LNAM(1)) THEN - IVO = 1 - ELSE -#if defined(CERNLIB_DEBUG) - WRITE (CHMAIL, 7000) LNAM(1) - CALL GMAIL (0, 0) -#endif - IF (IQ(JVOLUM-1).LE.1) GO TO 920 - DO 25 IV=2,IQ(JVOLUM-1) - IF (IQ(JVOLUM+IV).EQ.LNAM(1)) THEN - IVO = IV - GO TO 30 - ENDIF - 25 CONTINUE - WRITE (CHMAIL, 8000) LNAM(1) - CALL GMAIL (0, 0) - GO TO 999 - ENDIF - 30 NLEVEL = 1 - JVO = LQ(JVOLUM-IVO) - LVOLUM(NLEVEL) = IVO - NAMES(NLEVEL) = IQ(JVOLUM+IVO) - NUMBER(NLEVEL) = LNUM(1) - GONLY(NLEVEL) = 1. - IF (LQ(JVO).EQ.0) THEN - NLDEV(1) = NLVMAX - ELSE - NLDEV(1) = 1 - ENDIF - IF (IVO.EQ.1) THEN - LINDEX(NLEVEL) = 1 - LINMX (NLEVEL) = 1 - NLDM = 0 - IQ(JGPAR+NLEVEL) = Q(JVO+5) - LQ(JGPAR-NLEVEL) = JVO + 6 - ELSE - CALL UHTOC(NAMES,4,KNAME,4) - CALL G3LMOTH (KNAME, NUMBER, NLDM, LVOLS, LINDX) - IF (NLDM.GT.0) THEN - JVOM = LQ(JVOLUM-LVOLS(NLDM)) - NIN = Q(JVOM+3) - IF (NIN.LT.0) THEN - LINDEX(NLEVEL) = LNUM(1) - ELSE - LINMX(NLEVEL) = NIN - DO 70 IN = 1, NIN - JIN = LQ(JVOM-IN) - IF (IFIX(Q(JIN+2)).NE.LVOLUM(1)) GO TO 70 - IF (IFIX(Q(JIN+3)).NE.LNUM(1)) GO TO 70 - LINDEX(NLEVEL) = IN - GO TO 75 - 70 CONTINUE - GO TO 920 - ENDIF - 75 JPAR = LQ(LQ(JVOLUM-LVOLS(1))) - IF (NLDM.GT.1) THEN - DO 76 ILEV = 2, NLDM - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - IF (JPAR.EQ.0) GO TO 77 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 76 CONTINUE - ENDIF - IF (NIN.GT.0) THEN - JPAR = LQ(JPAR-IN) - IF (JPAR.EQ.0) GO TO 77 - ELSE - NDIV = IQ(JPAR+1) - LINMX(NLEVEL) = NDIV - IF (LINDEX(1).GT.NDIV) THEN - NL1 = 1 - NAME = IQ(JVOLUM+LVOLS(NLDM)) - GO TO 950 - ENDIF - IF (IQ(JPAR-3).GT.1) THEN - IF (LINDEX(1).GT.0) THEN - JPAR = LQ(JPAR-LINDEX(1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - ELSE - JPAR = LQ(JPAR-1) - ENDIF - ENDIF - IQ(JGPAR+NLEVEL) = IQ(JPAR+5) - LQ(JGPAR-NLEVEL) = JPAR + 5 - GO TO 78 - 77 NPAR = Q(JVO+5) - IF (NPAR.EQ.0.AND.NIN.GT.0) THEN - IQ(JGPAR+NLEVEL) = Q(JIN+9) - LQ(JGPAR-NLEVEL) = JIN+9 - ELSE - IQ(JGPAR+NLEVEL) = NPAR - LQ(JGPAR-NLEVEL) = JVO + 6 - ENDIF - ELSE - LINDEX(NLEVEL) = 1 - LINMX(NLEVEL) = 1 - IQ(JGPAR+NLEVEL) = Q(JVO+5) - LQ(JGPAR-NLEVEL) = JVO + 6 - ENDIF - ENDIF - 78 CONTINUE -* - DO 90 I = 1,3 - GTRAN(I,1) = 0. - DO 80 J = 1,3 - K = (I-1)*3 +J - GRMAT(K,1) = 0. - 80 CONTINUE - K = I*4 -3 - GRMAT(K,1) = 1. - 90 CONTINUE - GRMAT(10,1) = 0. - IF (NLEVL.GT.1) THEN - GO TO 100 - ELSE - GO TO 990 - ENDIF -* -* *** Check if there are volumes up in the tree where development -* structure exists -* - 95 IF (LVOLUM(1).EQ.1.OR.NLDEV(1).EQ.1) THEN - NLDM = 0 - ELSE - CALL UHTOC(NAMES,4,KNAME,4) - CALL G3LMOTH (KNAME, NUMBER, NLDM, LVOLS, LINDX) - ENDIF -* -* ** Next level -* - 100 CONTINUE - IVO = LVOLUM(NLEVEL) - JVO = LQ(JVOLUM-IVO) - NLD = NLDEV(NLEVEL) - NIN = Q(JVO+3) - IF (NIN.EQ.0) GO TO 930 - NL1 = NLEVEL +1 -* - IF (NIN.GT.0) THEN -* -* * Content obtained by positioning -* - DO 110 IN=1,NIN - JIN=LQ(JVO-IN) - IVOT=Q(JIN+2) - IF (IQ(JVOLUM+IVOT).NE.LNAM(NL1)) GO TO 110 - INUM = Q(JIN+3) - IF (INUM.EQ.LNUM(NL1)) GO TO 115 - 110 CONTINUE - GO TO 940 - 115 IF (NLEVEL.GE.NLD) THEN -* (case with JVOLUM structure locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLD))) - DO 120 ILEV = NLD, NLEVEL - IF (IQ(JPAR+1).EQ.0) THEN - IF (ILEV.EQ.NLEVEL) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ENDIF - IF (JPAR.EQ.0) GO TO 125 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 120 CONTINUE - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - GO TO 130 - ELSE IF (NLDM.GT.0) THEN - JPAR = LQ(LQ(JVOLUM-LVOLS(1))) - IF (NLDM.GT.1) THEN - DO 121 ILEV = 2, NLDM - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - IF (JPAR.EQ.0) GO TO 125 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 121 CONTINUE - ENDIF - DO 122 ILEV = 1, NL1 - IF (IQ(JPAR+1).EQ.0) THEN - IF (ILEV.EQ.NL1) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-LINDEX(ILEV)) - ENDIF - IF (JPAR.EQ.0) GO TO 125 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 122 CONTINUE - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - GO TO 130 - ENDIF -* (normal case) - 125 JVOT = LQ(JVOLUM-IVOT) - NPAR = Q(JVOT+5) - IF (NPAR.EQ.0) THEN - JPAR = JIN + 9 - NPAR = Q(JPAR) - ELSE - JPAR = JVOT + 6 - ENDIF -* - 130 IROTT = Q(JIN+4) - NINSK = NIN - GONLY(NL1) = Q(JIN+8) - CALL GTRMUL (GTRAN(1,NLEVEL), GRMAT(1,NLEVEL), Q(JIN+5), IROTT - +, GTRAN(1,NL1), GRMAT(1,NL1)) -* - ELSE -* -* * This section for divided objects -* - JDIV = LQ(JVO-1) - IVOT = Q(JDIV+2) - IF (LNAM(NL1).NE.IQ(JVOLUM+IVOT)) GO TO 960 - JVOT = LQ(JVOLUM-IVOT) - IF (NLEVEL.GT.NLD) THEN -* (case with JVOLUM structure locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLD))) - DO 135 ILEV = NLD, NLEVEL-1 - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - IF (JPAR.EQ.0) GO TO 140 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - IF (ILEV.EQ.NLEVEL-1) THEN - NDIV = IQ(JPAR+1) - ORIG = Q(JPAR+2) - STEP = Q(JPAR+3) - ENDIF - 135 CONTINUE - GO TO 145 - ELSE IF (NLD.EQ.NLEVEL) THEN - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLD))) - ELSE IF (NLDM.GT.0) THEN - JPAR = LQ(LQ(JVOLUM-LVOLS(1))) - IF (NLDM.GT.1) THEN - DO 136 ILEV = 2, NLDM - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - IF (JPAR.EQ.0) GO TO 140 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDX(ILEV)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 136 CONTINUE - ENDIF - DO 137 ILEV = 1, NLEVEL - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDEX(ILEV)) - IF (JPAR.EQ.0) GO TO 140 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - IF (ILEV.EQ.NLEVEL) THEN - NDIV = IQ(JPAR+1) - ORIG = Q(JPAR+2) - STEP = Q(JPAR+3) - ENDIF - 137 CONTINUE - GO TO 145 - ELSE - JPAR = 0 - ENDIF -* (normal case) - 140 NDIV = Q(JDIV+3) - ORIG = Q(JDIV+4) - STEP = Q(JDIV+5) - 145 IN = LNUM(NL1) - IF (IN.LT.1.OR.IN.GT.NDIV) THEN - NAME = NAMES(NLEVEL) - GO TO 950 - ENDIF -* - IF (JPAR.NE.0) THEN - IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - ELSE - NPAR = Q(JVOT+5) - JPAR = JVOT + 6 - ENDIF - GONLY(NL1) = GONLY(NLEVEL) -* - IAXIS = Q(JDIV+1) - ISH = Q(JVO+2) - IDT = IDTYP(IAXIS,ISH) - NINSK = NDIV -* - IF (IDT.EQ.1) THEN - DO 151 I = 1, 3 - 151 XC(I) = 0. - XC(IAXIS) = ORIG + (IN - 0.5) * STEP - IF (ISH.EQ.4.OR.(ISH.EQ.10.AND.IAXIS.NE.1)) THEN - CALL GCENT (IAXIS, XC) - ENDIF - IF (GRMAT(10,NLEVEL).EQ.0.0) THEN - DO 152 I = 1, 3 - 152 GTRAN(I,NL1) = GTRAN(I,NLEVEL)+XC(I) - DO 153 I = 1, 10 - 153 GRMAT(I,NL1) = GRMAT(I,NLEVEL) - ELSE - CALL GTRMUL (GTRAN(1,NLEVEL), GRMAT(1,NLEVEL), XC, 0, - + GTRAN(1,NL1), GRMAT(1,NL1)) - ENDIF -* - ELSE IF (IDT.EQ.3.OR.IDT.EQ.4) THEN - IF (IDT.EQ.3) THEN - PH0 = DEGRAD * (ORIG + (IN - 0.5) * STEP) - CPHR = COS (PH0) - SPHR = SIN (PH0) - ELSE - PH0 = 0.0 - CPHR = 1.0 - SPHR = 0.0 - ENDIF - DO 154 I = 1, 3 - GTRAN(I ,NL1) = GTRAN(I ,NLEVEL) - GRMAT(I ,NL1) = GRMAT(I ,NLEVEL)*CPHR - + + GRMAT(I+3,NLEVEL)*SPHR - GRMAT(I+3,NL1) = GRMAT(I+3,NLEVEL)*CPHR - + - GRMAT(I ,NLEVEL)*SPHR - GRMAT(I+6,NL1) = GRMAT(I+6,NLEVEL) - 154 CONTINUE - IF (PH0.EQ.0.0.AND.GRMAT(10,NLEVEL).EQ.0.0) THEN - GRMAT(10,NL1) = 0.0 - ELSE - GRMAT(10,NL1) = 1.0 - ENDIF -* - ELSE - DO 155 I = 1, 3 - 155 GTRAN(I,NL1) = GTRAN(I,NLEVEL) - DO 156 I = 1, 10 - 156 GRMAT(I,NL1) = GRMAT(I,NLEVEL) - ENDIF - ENDIF -* - 200 LINDEX(NL1) = IN - LVOLUM(NL1) = IVOT - NAMES(NL1) = LNAM(NL1) - NUMBER(NL1) = LNUM(NL1) - LINMX(NL1) = NINSK - IF (LQ(LQ(JVOLUM-IVOT)).EQ.0) THEN - NLDEV(NL1) = NLD - ELSE - NLDEV(NL1) = NL1 - ENDIF - IQ(JGPAR+NL1) = NPAR - LQ(JGPAR-NL1) = JPAR - NLEVEL = NL1 - IF (NLEVEL.EQ.NLEVL) GO TO 990 - GO TO 100 -* -* *** Error messages -* - 910 IER = 1 - WRITE (CHMAIL, 1000) NLEV - CALL GMAIL (0, 0) - GO TO 999 -* - 920 IER = 2 - WRITE (CHMAIL, 2000) LNAM(1) - CALL GMAIL (0, 0) - GO TO 999 -* - 930 IER = 3 - WRITE (CHMAIL, 3000) NLEVEL,NLEV,NAMES(NLEVEL) - CALL GMAIL (0, 0) - GO TO 999 -* - 940 IER = 4 - WRITE (CHMAIL, 4000) LNAM(NL1),NL1,NAMES(NLEVEL) - CALL GMAIL (0, 0) - GO TO 999 -* - 950 IER = 5 - WRITE (CHMAIL, 5000) NL1,LNUM(NL1),NAME,NDIV - CALL GMAIL (0, 0) - GO TO 999 -* - 960 IER = 6 - WRITE (CHMAIL, 6000) NL1,LNAM(NL1),IQ(JVOLUM+IVOT) - CALL GMAIL (0, 0) - GO TO 999 -* - 990 CONTINUE -#if defined(CERNLIB_DEBUG) - WRITE (CHMAIL, 1001) NLEVEL - CALL GMAIL (0, 0) - DO 991 I1=1,NLEVEL,5 - I2 = I1 + 4 - IF (I2.GT.NLEVEL) I2 = NLEVEL - WRITE (CHMAIL, 1003) (NAMES(I),NUMBER(I),LVOLUM(I),LINDEX(I), - + I=I1,I2) - CALL GMAIL (0, 0) - 991 CONTINUE - DO 992 I= 1,NLEVEL - WRITE (CHMAIL, 1002) (GTRAN(J,I),J=1,3),(GRMAT(J,I),J=1,10) - CALL GMAIL (0, 0) - 992 CONTINUE - 1001 FORMAT (' GLVOLU : NLEVEL =',I3) - 1003 FORMAT (5(1X,A4,3I3)) - 1002 FORMAT (1X,13F9.4) -#endif -* - 1000 FORMAT (' GLVOLU : called with useless Level # ',I5) - 2000 FORMAT (' GLVOLU : Volume ',A4,' not top of tree, or no tree') - 3000 FORMAT (' GLVOLU : at Level ',I3,' of ',I3,' there are no', - * ' contents for Volume ',A4) - 4000 FORMAT (' GLVOLU : Volume ',A4,' for Level ',I3, - * ' does not exist in Volume ',A4) - 5000 FORMAT (' GLVOLU : at Level ',I3,' asked for #',I3, - * ' in divided Volume ',A4,' which has ',I3,' divisions.') - 6000 FORMAT (' GLVOLU : at Level ',I3,' user name ',A4, - * ' not equal to name ',A4,' of division.') -#if defined(CERNLIB_DEBUG) - 7000 FORMAT (' GLVOLU : Warning, ',A4,' not top of tree', - * ' you should reset NLEVEL to 0 before tracking !') -#endif - 8000 FORMAT (' GLVOLU : Volume ',A4,' Level 1 does not exist') -* END GLVOLU - 999 END diff --git a/StarVMC/geant3/ggeom/gmedi2.F b/StarVMC/geant3/ggeom/gmedi2.F deleted file mode 100644 index 837cd11360a..00000000000 --- a/StarVMC/geant3/ggeom/gmedi2.F +++ /dev/null @@ -1,353 +0,0 @@ -* -* $Id: gmedi2.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gmedi2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLD) -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE GMEDIA (X, NUMED) -C. -C. ****************************************************************** -C. * * -C. * Finds in which volume/medium the point X is, and updates the * -C. * common /GCVOLU/ and the structure JGPAR accordingly. * -C. * * -C. * NUMED returns the tracking medium number, or 0 if point is * -C. * outside the experimental setup. * -C. * * -C. * Called by : GTREVE, GLTRAC, 'User' * -C. * Authors : R.Brun, F.Bruyant, A.McPherson * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -C. - DIMENSION X(*) - REAL XC(3) - LOGICAL BTEST -C. -C. ------------------------------------------------------------------ -* - IF (NLEVEL.EQ.0) CALL GMEDIN -* -* SECTION I: The /GCVOLU/ table contains the initial guess for a path -* in the geometry tree on which X may be found. Look along this -* path until X is found inside. This is the starting position. -* If this is an ONLY volume with no daughters, we are done; -* otherwise reset search record variables, proceed to section II. -* -* The information contained in INFROM has to be invalidated -* because it has no meaning for the subsequent tracking. INFR -* is a local variable used to optimise the search in the -* geometry tree. -* - INFROM = 0 -* -* *** Check if point is in current volume -* - INFR = 0 - JVIN = 0 -C***** Code Expanded From Routine: GTRNSF -C - 100 IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + XL3*GRMAT(3 - + ,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + XL3*GRMAT(6 - + ,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + XL3*GRMAT(9 - + ,NLEVEL) - - ENDIF -C***** End of Code Expanded From Routine: GTRNSF -* - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - JPAR = LQ(JGPAR-NLEVEL) - CALL GINME (XC, Q(JVO+2), Q(JPAR+1), IYES) - IF (IYES.EQ.0) THEN -* -* ** Point not in current volume, go up the tree -* - IF (NLEVEL.GT.1) THEN - NLEVEL = NLEVEL -1 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - IF(NIN.GT.0) THEN -* -* Do not set INFR whne going up the tree. GMEDIA can be called -* by the user and it should not assume that the previous -* position has something to do with the current search. INFR -* is otherwise useful when searching in a 'MANY' volume -* configuration. This statement is commented for the above reason. -* -* INFR =LINDEX(NLEVEL+1) - ELSE - INFR =0 - ENDIF - GO TO 100 - ELSE -* -* * Point is outside setup -* - NUMED = 0 - GO TO 999 - ENDIF - ENDIF -* -* ** Point is in current volume -* - IF(INFR .GT.0) THEN - JIN=LQ(JVO-INFR ) - IQ(JIN) = IBSET(IQ(JIN),4) - JVIN = JIN - ENDIF - NLMIN = NLEVEL - NLMANY = 0 -* -* SECTION II: X is found inside current node at NLEVEL in /GCVOLU/. -* Search all contents recursively for any containing X. -* Take the first one found, if any, and continue at that -* level, incrementing NLEVEL and extending /GCVOLU/ tables. -* This is continued until a level is reached where X is not -* found in any of the contents, or there are no contents. -* Note: Since Section II is re-entered from Section III, a blocking word -* is used to mark those contents already checked. Upon exit from Section -* II, these blocking words are cleared at NLEVEL, but may remain set in -* levels between NLEVEL-1 and NLMIN, if any. They must be cleared at exit. -* -* ** Check contents, if any -* - 200 JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) -* -* * Case with no contents -* - IF (NIN.EQ.0) THEN - GO TO 300 -* -* * Case with contents defined by division -* - ELSEIF (NIN.LT.0) THEN - CALL GMEDIV (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - INFR = 0 - GO TO 200 - ENDIF -* -* * Case with contents positioned -* - ELSE - JCONT = LQ(JVO-NIN-1)+1 - NCONT = IQ(JCONT) - ISEARC = Q(JVO+1) - IF (ISEARC.LT.0) THEN -* -* Prepare access to contents, when ordered by GSORD -* - JSB = LQ(LQ(JVO-NIN-1)) - IAX = Q(JSB+1) - NSB = Q(JSB+2) - IF (IAX.LE.3) THEN - IDIV = LOCATF (Q(JSB+3), NSB, XC(IAX)) - ELSE - CALL GFCOOR (XC, IAX, CX) - IDIV = LOCATF (Q(JSB+3), NSB, CX) - ENDIF - IF (IDIV.LT.0) IDIV = -IDIV - IF (IDIV.EQ.0) THEN - IF (IAX.NE.6) GO TO 260 - IDIV = NSB - ELSEIF (IDIV.EQ.NSB) THEN - IF (IAX.NE.6) GO TO 260 - ENDIF - JSC0 = LQ(JVO-NIN-2) - NCONT = IQ(JSC0+IDIV) - JCONT = LQ(JSC0-IDIV) - ELSE -* -* otherwise, scan contents (possibly a user selection of them) -* - JNEAR = LQ(JVO-NIN-1) - IF (ISEARC.GT.0) THEN -#if !defined(CERNLIB_USRJMP) - CALL GUNEAR (ISEARC, 1, XC, JNEAR) -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT4(JUNEAR,ISEARC, 1, XC, JNEAR) -#endif - ELSEIF (INFR .GT.0) THEN - JNUP = LQ(LQ(JVO-INFR )-1) - IF (JNUP.GT.0) THEN - JNEAR = JNUP - ENDIF - ENDIF - JCONT = JNEAR +1 - NCONT = IQ(JCONT) - ENDIF -* -* For each selected content in turn, check if point is inside -* - DO 259 ICONT=1,NCONT - IN = IQ(JCONT+ICONT) - IF(IN.EQ.0) THEN -* -* If the value IQ(JCONT+ICONT)=0 then we are back in the mother. -* So jump to 260, the search is finished. Clean-up should be done -* only up to ICONT-1, so we set: -* - NCONT=ICONT-1 - GOTO 260 - ELSE - JIN = LQ(JVO-IN) - IF (.NOT.BTEST(IQ(JIN),4)) THEN - CALL GMEPOS (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - IF (GONLY(NLEVEL).NE.0.) NLMANY = 0 - INFR = 0 - GO TO 200 - ELSE - IQ(JIN) = IBSET(IQ(JIN),4) - ENDIF - ENDIF - ENDIF - 259 CONTINUE -* - 260 IF(NCONT.EQ.NIN) THEN - DO 268 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 268 CONTINUE - ELSE - DO 269 ICONT=1,NCONT - IN = IQ(JCONT+ICONT) - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 269 CONTINUE - IF(INFR .GT.0) THEN - JIN = LQ(JVO-INFR ) - IQ(JIN) = IBCLR(IQ(JIN),4) - ENDIF - ENDIF -* - ENDIF -* -* SECTION III: X is found at current node (NLEVEL in /GCVOLU) but not in -* any of its contents, if any. If this is a MANY volume, -* save it as a candidate best-choice, and continue the search -* by backing up the tree one node and proceed to Section II. -* If this is an ONLY volume, proceed to Section IV. -* -* *** Point is in current volume/medium, and not in any content -* - 300 IF (GONLY(NLEVEL).EQ.0.) THEN -* -* ** Lowest level is 'NOT ONLY' -* - IF (NLEVEL.GT.NLMANY) THEN - CALL GSCVOL - NLMANY = NLEVEL - ENDIF -* -* * Go up the tree up to a volume with positioned contents -* - 310 INFR = LINDEX(NLEVEL) - NLEVEL = NLEVEL -1 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - IF (NIN.LT.0) GO TO 310 -* -C***** Code Expanded From Routine: GTRNSF -C - IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + XL3* - + GRMAT(3,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + XL3* - + GRMAT(6,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + XL3* - + GRMAT(9,NLEVEL) - - ENDIF -C***** End of Code Expanded From Routine: GTRNSF -* - JIN = LQ(JVO-INFR ) - IQ(JIN) = IBSET(IQ(JIN),4) - NLMIN = MIN(NLEVEL,NLMIN) - GO TO 200 - ENDIF -* -* SECTION IV: This is the end of the search. The current node (NLEVEL -* in /GCVOLU/) is the lowest ONLY volume in which X is found. -* If X was also found in any of its contents, they are MANY -* volumes: the best-choice is the one among them at the greatest -* level in the tree, and it is stored. Otherwise the current -* volume is the solution. Before exit, all of the blocking -* words leftover in the tree must be reset to zero. -* Note: A valid structure is assumed, in which no ONLY volumes overlap. -* If this rule is violated, or if a daughter is not entirely contained -* within the mother volume, the results are unpredictable. -* - DO 419 NL=NLMIN,NLEVEL-1 - JVO = LQ(JVOLUM-LVOLUM(NL)) - NIN = Q(JVO+3) - DO 418 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 418 CONTINUE - 419 CONTINUE -* - IF (NLMANY.GT.0) CALL GFCVOL - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - IF(JVIN.NE.0) IQ(JVIN) = IBCLR(IQ(JVIN),4) - NUMED = Q(JVO+4) -* END GMEDIA - 999 IF(JGSTAT.NE.0) CALL GFSTAT(2) - END -#else - SUBROUTINE GMEDI2_DUMMY - END -#endif diff --git a/StarVMC/geant3/ggeom/gmedia.F b/StarVMC/geant3/ggeom/gmedia.F deleted file mode 100644 index 65a3ed82c08..00000000000 --- a/StarVMC/geant3/ggeom/gmedia.F +++ /dev/null @@ -1,412 +0,0 @@ -* -* $Id: gmedia.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gmedia.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.3 1998/02/09 16:48:33 japost -* Simone's fix for MANY volumes in gmedia. -* -* Revision 1.2 1996/09/30 14:25:07 ravndal -* Windows NT related modifications -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if !defined(CERNLIB_OLD) -*CMZ : 3.21/02 29/03/94 15.24.17 by S.Giani -*-- Author : - SUBROUTINE G3MEDIA (X, NUMED, check) -C. -C. ****************************************************************** -C. * * -C. * Finds in which volume/medium the point X is, and updates the * -C. * common /GCVOLU/ and the structure JGPAR accordingly. * -C. * * -C. * NUMED returns the tracking medium number, or 0 if point is * -C. * outside the experimental setup. * -C. * * -C. * Called by : GTREVE, GLTRAC, 'User' * -C. * Authors : R.Brun, F.Bruyant, A.McPherson * -C. * S.Giani. * -C. * * -C. * Modified by S.Giani (1993) to perform the search according * -C. * to the new 'virtual divisions' algorithm and to build the * -C. * stack of the 'possible overlapping volumes' in the case of * -C. * MANY volumes. Any kind of boolean operation is now possible.* -C. * Divisions along arbitrary axis are now possible. * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gctrak.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -#include "geant321/gcvdma.inc" -#include "geant321/gchvir.inc" -C. - DIMENSION X(*) - REAL XC(6) - LOGICAL BTEST - CHARACTER*4 NAME - integer check -C. -C. ------------------------------------------------------------------ -* - nvmany=0 - nfmany=0 - new2fl=0 - if (check.ne.0) then - IF (GONLY(NLEVEL).EQ.0.) NLEVEL=0 - endif -* - IF (NLEVEL.EQ.0) CALL GMEDIN -* -* SECTION I: The /GCVOLU/ table contains the initial guess for a path -* in the geometry tree on which X may be found. Look along this -* path until X is found inside. This is the starting position. -* If this is an ONLY volume with no daughters, we are done; -* otherwise reset search record variables, proceed to section II. -* -* The information contained in INFROM has to be invalidated -* because it has no meaning for the subsequent tracking. INFR -* is a local variable used to optimise the search in the -* geometry tree. -* - INFROM = 0 -* -* *** Check if point is in current volume -* - INFR = 0 - JVIN = 0 -C***** Code Expanded From Routine: GTRNSF -C - 100 IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + XL3*GRMAT(3 - + ,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + XL3*GRMAT(6 - + ,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + XL3*GRMAT(9 - + ,NLEVEL) - - ENDIF - xc(4)=0. - xc(5)=0. - xc(6)=0. -C***** End of Code Expanded From Routine: GTRNSF -* - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - JPAR = LQ(JGPAR-NLEVEL) - CALL GINME (XC, Q(JVO+2), Q(JPAR+1), IYES) - IF (IYES.EQ.0) THEN -* -* ** Point not in current volume, go up the tree -* - IF (NLEVEL.GT.1) THEN - NLEVEL = NLEVEL -1 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - IF(NIN.GT.0) THEN -* -* Do not set INFR whne going up the tree. GMEDIA can be called -* by the user and it should not assume that the previous -* position has something to do with the current search. INFR -* is otherwise useful when searching in a 'MANY' volume -* configuration. This statement is commented for the above reason. -* -* INFR =LINDEX(NLEVEL+1) - ELSE - INFR =0 - ENDIF - GO TO 100 - ELSE -* -* * Point is outside setup -* - NUMED = 0 - GO TO 999 - ENDIF - ENDIF -* -* ** Point is in current volume -* - IF(INFR .GT.0) THEN - JIN=LQ(JVO-INFR ) - IQ(JIN) = IBSET(IQ(JIN),4) - JVIN = JIN - ENDIF -* To avoid starting from the protuding part of a MANY volume - IF(GONLY(NLEVEL).EQ.0.) THEN - NLEVEL = NLEVEL -1 - GO TO 100 - ENDIF - NLMIN = NLEVEL - NLMANY = 0 -* -* SECTION II: X is found inside current node at NLEVEL in /GCVOLU/. -* Search all contents recursively for any containing X. -* Take the first one found, if any, and continue at that -* level, incrementing NLEVEL and extending /GCVOLU/ tables. -* This is continued until a level is reached where X is not -* found in any of the contents, or there are no contents. -* Note: Since Section II is re-entered from Section III, a blocking word -* is used to mark those contents already checked. Upon exit from Section -* II, these blocking words are cleared at NLEVEL, but may remain set in -* levels between NLEVEL-1 and NLMIN, if any. They must be cleared at exit. -* -* ** Check contents, if any -* - 200 JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - if(raytra.eq.1..and.imyse.eq.1)then - CALL UHTOC(NAMES(NLEVEL),4,NAME,4) - CALL GFIND(NAME,'SEEN',ISSEEN) - if(isseen.eq.-2.or.isseen.eq.-1)goto 300 - endif -* -* * Case with no contents -* - IF (NIN.EQ.0) THEN - GO TO 300 -* -* * Case with contents defined by division -* - ELSEIF (NIN.LT.0) THEN - CALL GMEDIV (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - INFR = 0 - GO TO 200 - ENDIF -* -* * Case with contents positioned -* - ELSE - if(nin.gt.1)then - clmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+3) - chmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+4) - ndivto=q(jvirt+4*(LVOLUM(NLEVEL)-1)+2) - iaxis =q(jvirt+4*(LVOLUM(NLEVEL)-1)+1) - if(iaxis.le.3)then - ivdiv=((xc(iaxis)-clmoth)*ndivto/(chmoth-clmoth))+1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - else - call gfcoor(xc,iaxis,cx) - if(iaxis.eq.6)then - if((cx-clmoth).lt.-1.)then - cx=cx+360. - elseif((cx-chmoth).gt.1.)then - cx=cx-360. - endif - if(cx.gt.chmoth)then - cx=chmoth - elseif(cx.lt.clmoth)then - cx=clmoth - endif - endif - ivdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - endif - jvdiv=lq(jvirt-LVOLUM(NLEVEL)) - iofset=iq(jvdiv+ivdiv) - ncont=iq(jvdiv+iofset+1) - jcont=jvdiv+iofset+1 - if(ncont.eq.0)goto 260 - else - JCONT = LQ(JVO-NIN-1)+1 - NCONT = 1 - endif -* -* For each selected content in turn, check if point is inside -* - DO 259 ICONT=1,NCONT - if(nin.eq.1)then - in=1 - else - IN = IQ(JCONT+ICONT) - endif - IF(IN.EQ.0) THEN -* -* If the value IQ(JCONT+ICONT)=0 then we are back in the mother. -* So jump to 260, the search is finished. Clean-up should be done -* only up to ICONT-1, so we set: -* - NCONT=ICONT-1 - GOTO 260 - ELSE - JIN = LQ(JVO-IN) - IF (.NOT.BTEST(IQ(JIN),4)) THEN - CALL GMEPOS (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - new2fl=0 - IF (GONLY(NLEVEL).NE.0.) THEN - NLMANY = 0 - nvmany = 0 - nfmany = 0 - ENDIF - INFR = 0 - GO TO 200 - ELSE - IQ(JIN) = IBSET(IQ(JIN),4) - ENDIF - ENDIF - ENDIF - 259 CONTINUE -* - 260 IF(NCONT.EQ.NIN) THEN - DO 268 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 268 CONTINUE - ELSE - DO 269 ICONT=1,NCONT - if(nin.eq.1)then - in=1 - else - IN = IQ(JCONT+ICONT) - endif - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 269 CONTINUE - IF(INFR .GT.0) THEN - JIN = LQ(JVO-INFR ) - IQ(JIN) = IBCLR(IQ(JIN),4) - ENDIF - ENDIF -* - ENDIF -* -* SECTION III: X is found at current node (NLEVEL in /GCVOLU) but not in -* any of its contents, if any. If this is a MANY volume, -* save it as a candidate best-choice, and continue the search -* by backing up the tree one node and proceed to Section II. -* If this is an ONLY volume, proceed to Section IV. -* -* *** Point is in current volume/medium, and not in any content -* - 300 IF (GONLY(NLEVEL).EQ.0.) THEN -* -* ** Lowest level is 'NOT ONLY' -* - IF (NLEVEL.GT.NLMANY) THEN - CALL GSCVOL - NLMANY = NLEVEL - nfmany=nvmany+1 - ENDIF - if(new2fl.eq.0)then - nvmany=nvmany+1 - manyle(nvmany)=nlevel - do 401 i = 1,nlevel - manyna(nvmany,i)=names(i) - manynu(nvmany,i)=number(i) - 401 continue - endif -* -* * Go up the tree up to a volume with positioned contents -* - new2fl=-1 - 310 INFR = LINDEX(NLEVEL) - NLEVEL = NLEVEL -1 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - IF (NIN.LT.0) GO TO 310 -* -C***** Code Expanded From Routine: GTRNSF -C - IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + XL3* - + GRMAT(3,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + XL3* - + GRMAT(6,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + XL3* - + GRMAT(9,NLEVEL) - - ENDIF -C***** End of Code Expanded From Routine: GTRNSF -* - JIN = LQ(JVO-INFR ) - IQ(JIN) = IBSET(IQ(JIN),4) - NLMIN = MIN(NLEVEL,NLMIN) - GO TO 200 - ENDIF -* -* SECTION IV: This is the end of the search. The current node (NLEVEL -* in /GCVOLU/) is the lowest ONLY volume in which X is found. -* If X was also found in any of its contents, they are MANY -* volumes: the best-choice is the one among them at the greatest -* level in the tree, and it is stored. Otherwise the current -* volume is the solution. Before exit, all of the blocking -* words leftover in the tree must be reset to zero. -* Note: A valid structure is assumed, in which no ONLY volumes overlap. -* If this rule is violated, or if a daughter is not entirely contained -* within the mother volume, the results are unpredictable. -* - DO 419 NL=NLMIN,NLEVEL-1 - JVO = LQ(JVOLUM-LVOLUM(NL)) - NIN = Q(JVO+3) - DO 418 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 418 CONTINUE - 419 CONTINUE -* - if(nlmany.eq.0)then - nvmany=0 - nfmany=0 - endif - IF (NLMANY.GT.0) CALL GFCVOL - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - IF(JVIN.NE.0) IQ(JVIN) = IBCLR(IQ(JVIN),4) - NUMED = Q(JVO+4) -* END GMEDIA - 999 IF(JGSTAT.NE.0) CALL GFSTAT(2) - END -#endif diff --git a/StarVMC/geant3/ggeom/gmedia.F.ori b/StarVMC/geant3/ggeom/gmedia.F.ori deleted file mode 100644 index 0c1f6db460f..00000000000 --- a/StarVMC/geant3/ggeom/gmedia.F.ori +++ /dev/null @@ -1,405 +0,0 @@ -* -* $Id: gmedia.F.ori,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gmedia.F.ori,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.3 1998/02/09 16:48:33 japost -* Simone's fix for MANY volumes in gmedia. -* -* Revision 1.2 1996/09/30 14:25:07 ravndal -* Windows NT related modifications -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if !defined(CERNLIB_OLD) -*CMZ : 3.21/02 29/03/94 15.24.17 by S.Giani -*-- Author : - SUBROUTINE GMEDIA (X, NUMED) -C. -C. ****************************************************************** -C. * * -C. * Finds in which volume/medium the point X is, and updates the * -C. * common /GCVOLU/ and the structure JGPAR accordingly. * -C. * * -C. * NUMED returns the tracking medium number, or 0 if point is * -C. * outside the experimental setup. * -C. * * -C. * Called by : GTREVE, GLTRAC, 'User' * -C. * Authors : R.Brun, F.Bruyant, A.McPherson * -C. * S.Giani. * -C. * * -C. * Modified by S.Giani (1993) to perform the search according * -C. * to the new 'virtual divisions' algorithm and to build the * -C. * stack of the 'possible overlapping volumes' in the case of * -C. * MANY volumes. Any kind of boolean operation is now possible.* -C. * Divisions along arbitrary axis are now possible. * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gctrak.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -#include "geant321/gcvdma.inc" -#include "geant321/gchvir.inc" -C. - DIMENSION X(*) - REAL XC(6) - LOGICAL BTEST - CHARACTER*4 NAME -C. -C. ------------------------------------------------------------------ -* - nvmany=0 - nfmany=0 - new2fl=0 -* - IF (NLEVEL.EQ.0) CALL GMEDIN -* -* SECTION I: The /GCVOLU/ table contains the initial guess for a path -* in the geometry tree on which X may be found. Look along this -* path until X is found inside. This is the starting position. -* If this is an ONLY volume with no daughters, we are done; -* otherwise reset search record variables, proceed to section II. -* -* The information contained in INFROM has to be invalidated -* because it has no meaning for the subsequent tracking. INFR -* is a local variable used to optimise the search in the -* geometry tree. -* - INFROM = 0 -* -* *** Check if point is in current volume -* - INFR = 0 - JVIN = 0 -C***** Code Expanded From Routine: GTRNSF -C - 100 IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + XL3*GRMAT(3 - + ,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + XL3*GRMAT(6 - + ,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + XL3*GRMAT(9 - + ,NLEVEL) - - ENDIF - xc(4)=0. - xc(5)=0. - xc(6)=0. -C***** End of Code Expanded From Routine: GTRNSF -* - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - JPAR = LQ(JGPAR-NLEVEL) - CALL GINME (XC, Q(JVO+2), Q(JPAR+1), IYES) - IF (IYES.EQ.0) THEN -* -* ** Point not in current volume, go up the tree -* - IF (NLEVEL.GT.1) THEN - NLEVEL = NLEVEL -1 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - IF(NIN.GT.0) THEN -* -* Do not set INFR whne going up the tree. GMEDIA can be called -* by the user and it should not assume that the previous -* position has something to do with the current search. INFR -* is otherwise useful when searching in a 'MANY' volume -* configuration. This statement is commented for the above reason. -* -* INFR =LINDEX(NLEVEL+1) - ELSE - INFR =0 - ENDIF - GO TO 100 - ELSE -* -* * Point is outside setup -* - NUMED = 0 - GO TO 999 - ENDIF - ENDIF -* -* ** Point is in current volume -* - IF(INFR .GT.0) THEN - JIN=LQ(JVO-INFR ) - IQ(JIN) = IBSET(IQ(JIN),4) - JVIN = JIN - ENDIF -* To avoid starting from the protuding part of a MANY volume - IF(GONLY(NLEVEL).EQ.0.) THEN - NLEVEL = NLEVEL -1 - GO TO 100 - ENDIF - NLMIN = NLEVEL - NLMANY = 0 -* -* SECTION II: X is found inside current node at NLEVEL in /GCVOLU/. -* Search all contents recursively for any containing X. -* Take the first one found, if any, and continue at that -* level, incrementing NLEVEL and extending /GCVOLU/ tables. -* This is continued until a level is reached where X is not -* found in any of the contents, or there are no contents. -* Note: Since Section II is re-entered from Section III, a blocking word -* is used to mark those contents already checked. Upon exit from Section -* II, these blocking words are cleared at NLEVEL, but may remain set in -* levels between NLEVEL-1 and NLMIN, if any. They must be cleared at exit. -* -* ** Check contents, if any -* - 200 JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - if(raytra.eq.1..and.imyse.eq.1)then - CALL UHTOC(NAMES(NLEVEL),4,NAME,4) - CALL GFIND(NAME,'SEEN',ISSEEN) - if(isseen.eq.-2.or.isseen.eq.-1)goto 300 - endif -* -* * Case with no contents -* - IF (NIN.EQ.0) THEN - GO TO 300 -* -* * Case with contents defined by division -* - ELSEIF (NIN.LT.0) THEN - CALL GMEDIV (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - INFR = 0 - GO TO 200 - ENDIF -* -* * Case with contents positioned -* - ELSE - if(nin.gt.1)then - clmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+3) - chmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+4) - ndivto=q(jvirt+4*(LVOLUM(NLEVEL)-1)+2) - iaxis =q(jvirt+4*(LVOLUM(NLEVEL)-1)+1) - if(iaxis.le.3)then - ivdiv=((xc(iaxis)-clmoth)*ndivto/(chmoth-clmoth))+1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - else - call gfcoor(xc,iaxis,cx) - if(iaxis.eq.6)then - if((cx-clmoth).lt.-1.)then - cx=cx+360. - elseif((cx-chmoth).gt.1.)then - cx=cx-360. - endif - if(cx.gt.chmoth)then - cx=chmoth - elseif(cx.lt.clmoth)then - cx=clmoth - endif - endif - ivdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - endif - jvdiv=lq(jvirt-LVOLUM(NLEVEL)) - iofset=iq(jvdiv+ivdiv) - ncont=iq(jvdiv+iofset+1) - jcont=jvdiv+iofset+1 - if(ncont.eq.0)goto 260 - else - JCONT = LQ(JVO-NIN-1)+1 - NCONT = 1 - endif -* -* For each selected content in turn, check if point is inside -* - DO 259 ICONT=1,NCONT - if(nin.eq.1)then - in=1 - else - IN = IQ(JCONT+ICONT) - endif - IF(IN.EQ.0) THEN -* -* If the value IQ(JCONT+ICONT)=0 then we are back in the mother. -* So jump to 260, the search is finished. Clean-up should be done -* only up to ICONT-1, so we set: -* - NCONT=ICONT-1 - GOTO 260 - ELSE - JIN = LQ(JVO-IN) - IF (.NOT.BTEST(IQ(JIN),4)) THEN - CALL GMEPOS (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - new2fl=0 - IF (GONLY(NLEVEL).NE.0.) THEN - NLMANY = 0 - nvmany = 0 - nfmany = 0 - ENDIF - INFR = 0 - GO TO 200 - ELSE - IQ(JIN) = IBSET(IQ(JIN),4) - ENDIF - ENDIF - ENDIF - 259 CONTINUE -* - 260 IF(NCONT.EQ.NIN) THEN - DO 268 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 268 CONTINUE - ELSE - DO 269 ICONT=1,NCONT - if(nin.eq.1)then - in=1 - else - IN = IQ(JCONT+ICONT) - endif - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 269 CONTINUE - IF(INFR .GT.0) THEN - JIN = LQ(JVO-INFR ) - IQ(JIN) = IBCLR(IQ(JIN),4) - ENDIF - ENDIF -* - ENDIF -* -* SECTION III: X is found at current node (NLEVEL in /GCVOLU) but not in -* any of its contents, if any. If this is a MANY volume, -* save it as a candidate best-choice, and continue the search -* by backing up the tree one node and proceed to Section II. -* If this is an ONLY volume, proceed to Section IV. -* -* *** Point is in current volume/medium, and not in any content -* - 300 IF (GONLY(NLEVEL).EQ.0.) THEN -* -* ** Lowest level is 'NOT ONLY' -* - IF (NLEVEL.GT.NLMANY) THEN - CALL GSCVOL - NLMANY = NLEVEL - nfmany=nvmany+1 - ENDIF - if(new2fl.eq.0)then - nvmany=nvmany+1 - manyle(nvmany)=nlevel - do 401 i = 1,nlevel - manyna(nvmany,i)=names(i) - manynu(nvmany,i)=number(i) - 401 continue - endif -* -* * Go up the tree up to a volume with positioned contents -* - new2fl=-1 - 310 INFR = LINDEX(NLEVEL) - NLEVEL = NLEVEL -1 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - IF (NIN.LT.0) GO TO 310 -* -C***** Code Expanded From Routine: GTRNSF -C - IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + XL3* - + GRMAT(3,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + XL3* - + GRMAT(6,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + XL3* - + GRMAT(9,NLEVEL) - - ENDIF -C***** End of Code Expanded From Routine: GTRNSF -* - JIN = LQ(JVO-INFR ) - IQ(JIN) = IBSET(IQ(JIN),4) - NLMIN = MIN(NLEVEL,NLMIN) - GO TO 200 - ENDIF -* -* SECTION IV: This is the end of the search. The current node (NLEVEL -* in /GCVOLU/) is the lowest ONLY volume in which X is found. -* If X was also found in any of its contents, they are MANY -* volumes: the best-choice is the one among them at the greatest -* level in the tree, and it is stored. Otherwise the current -* volume is the solution. Before exit, all of the blocking -* words leftover in the tree must be reset to zero. -* Note: A valid structure is assumed, in which no ONLY volumes overlap. -* If this rule is violated, or if a daughter is not entirely contained -* within the mother volume, the results are unpredictable. -* - DO 419 NL=NLMIN,NLEVEL-1 - JVO = LQ(JVOLUM-LVOLUM(NL)) - NIN = Q(JVO+3) - DO 418 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 418 CONTINUE - 419 CONTINUE -* - if(nlmany.eq.0)then - nvmany=0 - nfmany=0 - endif - IF (NLMANY.GT.0) CALL GFCVOL - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - IF(JVIN.NE.0) IQ(JVIN) = IBCLR(IQ(JVIN),4) - NUMED = Q(JVO+4) -* END GMEDIA - 999 IF(JGSTAT.NE.0) CALL GFSTAT(2) - END -#endif diff --git a/StarVMC/geant3/ggeom/gmedin.F b/StarVMC/geant3/ggeom/gmedin.F deleted file mode 100644 index a6ae535f831..00000000000 --- a/StarVMC/geant3/ggeom/gmedin.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: gmedin.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gmedin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GMEDIN -C. -C. ****************************************************************** -C. * * -C. * Initializes common /GCVOLU/ and JGPAR structure * -C. * * -C. * Called by : GMEDIA * -C. * * -C. * Authors : R.Brun, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcstak.inc" -#include "geant321/gcvolu.inc" -C. ------------------------------------------------------------------ -* -* *** Initialize first level in /GCVOLU/ and in JGPAR structure -* - NLEVEL = 1 - LVOLUM(1) = 1 - NAMES(1) = IQ(JVOLUM+1) - NUMBER(1) = 1 - LINDEX(1) = 1 - LINMX(1) = 1 - GONLY(1) = 1. - JVO = LQ(JVOLUM-1) - NLEVMX = IQ(LQ(JVOLUM)-1) - NLDEV(1) = NLEVMX - IF (LQ(JVO).NE.0) NLDEV(1) = 1 -* - IF (JGPAR.EQ.0) CALL MZBOOK (IXCONS, JGPAR, JGPAR, 1,'GPAR', - + NLEVMX, 0, NLEVMX, 2, 0) - IQ(JGPAR+1) = Q(JVO+5) - LQ(JGPAR-1) = JVO +6 -* - DO 29 I = 1,3 - GTRAN(I, 1) = 0. - DO 19 J = 1,3 - K = (I-1)*3 +J - GRMAT(K, 1) = 0. - 19 CONTINUE - K = I*4 -3 - GRMAT(K, 1) = 1. - 29 CONTINUE - GRMAT(10,1) = 0. -* END GMEDIN - END diff --git a/StarVMC/geant3/ggeom/gmediv.F b/StarVMC/geant3/ggeom/gmediv.F deleted file mode 100644 index c7e483beb6e..00000000000 --- a/StarVMC/geant3/ggeom/gmediv.F +++ /dev/null @@ -1,335 +0,0 @@ -* -* $Id: gmediv.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gmediv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GMEDIV (JVO, IN, XC, IFL) -C. -C. ****************************************************************** -C. * * -C. * Updates the common /GCVOLU/ and the structure JGPAR * -C. * for contents defined by division. * -C. * * -C. * For IFL nonzero, it also checks if the point XC is inside * -C. * the content. It returns IN = 0, if the point is outside. * -C. * Otherwise, it transforms XC in the local system. * -C. * * -C. * For IFL zero, IN is returned 0, if IN > NDIV. * -C. * * -C. * Input : JVO, IN, XC, IFL * -C. * Output : IN, XC * -C. * * -C. * Called by : GDRAW, GMEDIA * -C. * Authors : S.Banerjee, R.Brun, F.Bruyant, A.McPherson * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcpoly.inc" -#include "geant321/gcvolu.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION DPHIO, TPIDEG, ONE -#endif - DIMENSION XC(*) - REAL X0(3) - INTEGER IDTYP(3,12) - PARAMETER (TPIDEG=360,ONE=1) - SAVE IDTYP -C. - DATA IDTYP / 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 2, 3, 1, - + 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 4, 3, 1, 1, 1, - + 2, 3, 1, 2, 3, 1/ -C. -C. ------------------------------------------------------------------ -C. - JDIV = LQ(JVO-1) - ISH = Q(JVO+2) - IAXIS = Q(JDIV+1) - IVOT = Q(JDIV+2) - JVOT = LQ(JVOLUM-IVOT) - IF (NLEVEL.LT.NLDEV(NLEVEL)) THEN - JPAR = 0 - ELSE -* (case with structure JVOLUM locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - IF (NLEVEL.EQ.NLDEV(NLEVEL)) GO TO 20 - DO 10 ILEV = NLDEV(NLEVEL), NLEVEL-1 - IF (IQ(JPAR+1).EQ.0) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - IF (JPAR.EQ.0) GO TO 20 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - IF (ILEV.EQ.NLEVEL-1) THEN - NDIV = IQ(JPAR+1) - ORIG = Q(JPAR+2) - SDIV = Q(JPAR+3) - ENDIF - 10 CONTINUE - GO TO 30 - ENDIF -* (normal case) - 20 NDIV = Q(JDIV+3) - ORIG = Q(JDIV+4) - SDIV = Q(JDIV+5) -* - 30 IDT = IDTYP(IAXIS,ISH) - IF (IFL.NE.0) THEN - IF (IDT.EQ.1) THEN -* -* Division along X, Y or Z axis -* - XTT = XC(IAXIS) - IF (ISH.EQ.10) THEN - IF (IAXIS.NE.3) THEN - XTT = XTT - Q(LQ(JGPAR-NLEVEL)+IAXIS+4) * XC(3) - IF (IAXIS.EQ.1) THEN - YT = XC(2) - Q(LQ(JGPAR-NLEVEL)+6) * XC(3) - XTT = XTT - Q(LQ(JGPAR-NLEVEL)+4) * YT - ENDIF - ENDIF - ENDIF - IN = (XTT -ORIG)/SDIV +1 - ELSE IF (IDT.EQ.2) THEN -* -* Division along R axis -* - R = XC(1)**2 + XC(2)**2 - IF (ISH.EQ.9) R = R + XC(3)**2 - R = SQRT (R) - IF (ISH.EQ.5.OR.ISH.EQ.6.OR.ISH.EQ.9) THEN - IN = (R - ORIG) / SDIV + 1 - ELSE IF (ISH.EQ.7.OR.ISH.EQ.8) THEN - IPAR = LQ(JGPAR-NLEVEL) - DR = 0.5 * (Q(IPAR+4) - Q(IPAR+2)) / Q(IPAR+1) - RMN = 0.5 * (Q(IPAR+4) + Q(IPAR+2)) + DR * XC(3) - DR = 0.5 * (Q(IPAR+5) - Q(IPAR+3)) / Q(IPAR+1) - RMX = 0.5 * (Q(IPAR+5) + Q(IPAR+3)) + DR * XC(3) - STP = (RMX - RMN) / NDIV - IN = (R - RMN) / STP + 1 - ELSE - IPAR = LQ(JGPAR-NLEVEL) - IF (ISH.EQ.12) THEN - IPT = IPAR + 1 - ELSE - IPT = IPAR + 2 - ENDIF - IF (IZSEC.GT.0) THEN - IPT = IPT + 3 * IZSEC - ELSE - NZ = Q(IPT+2) - DO 40 IZ = 1, NZ-1 - IF ((XC(3)-Q(IPT+3*IZ))*(XC(3)-Q(IPT+3*IZ+3)) - + .LE.0.) THEN - IZSEC = IZ - IPT = IPT + 3 * IZSEC - GO TO 50 - ENDIF - 40 CONTINUE - IN = 0 - GO TO 60 - ENDIF - 50 POR1 = (Q(IPT+3) - XC(3)) / (Q(IPT+3) - Q(IPT)) - POR2 = (XC(3) - Q(IPT)) / (Q(IPT+3) - Q(IPT)) - RMN = Q(IPT+1) * POR1 + Q(IPT+4) * POR2 - RMX = Q(IPT+2) * POR1 + Q(IPT+5) * POR2 - IF (ISH.EQ.11) THEN - NPDV = Q(IPAR+3) - DPH = Q(IPAR+2) / NPDV - IF (IPSEC.LE.0) THEN - IF (XC(1).NE.0..OR.XC(2).NE.0.) THEN - PHI = RADDEG * ATAN2 (XC(2), XC(1)) - ELSE - PHI = 0.0 - ENDIF - PH0 = PHI-Q(IPAR+1) - SG = SIGN(1.0,PH0) - PH0 = MOD( ABS(PH0), 360.0 ) - IF(SG.LE.0.0) PH0 = 360.0-PH0 - IPSEC= PH0/DPH + 1 - ENDIF - PH = DEGRAD * (Q(IPAR+1) + (IPSEC - 0.5) * DPH) - R = XC(1) * COS(PH) + XC(2) * SIN(PH) - ENDIF - STP = (RMX - RMN) / NDIV - IN = (R - RMN) / STP + 1 - ENDIF - ELSE IF (IDT.EQ.3) THEN -* -* Division along Phi axis -* - IF (XC(1).NE.0..OR.XC(2).NE.0.) THEN - PHI = RADDEG * ATAN2 (XC(2), XC(1)) - ELSE - PHI = 0. - ENDIF - DPHIO = PHI-ORIG - SG = SIGN(ONE,DPHIO) - DPHIO = MOD( ABS(DPHIO), TPIDEG) - IF(SG.LE.0.0) DPHIO=TPIDEG-DPHIO - IN = DPHIO/SDIV+1 - ELSE IF (IDT.EQ.4) THEN -* -* Division along Theta axis -* - IF (XC(3).NE.0.0) THEN - RXY = SQRT (XC(1)**2 + XC(2)**2) - THET = RADDEG * ATAN (RXY/XC(3)) - IF (THET.LT.0.0) THET = THET + 180.0 - ELSE - THET = 90.0 - ENDIF - IN = (THET - ORIG) / SDIV + 1 - ENDIF - ENDIF -* - 60 IF (IN.GT.NDIV) IN = 0 - IF (IN.LE.0) GO TO 999 -* - IF (JPAR.NE.0) THEN - IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - ELSE - NPAR = Q(JVOT+5) - JPAR = JVOT + 6 - ENDIF -* -* Volume found at deeper level -* - NL1 = NLEVEL - NLEVEL = NLEVEL +1 - LVOLUM(NLEVEL) = IVOT - NAMES(NLEVEL) = IQ(JVOLUM+IVOT) - NUMBER(NLEVEL) = IN - LINDEX(NLEVEL) = IN - LINMX(NLEVEL) = NDIV - GONLY(NLEVEL) = GONLY(NL1) - IF (LQ(LQ(JVOLUM-IVOT)).EQ.0) THEN - NLDEV(NLEVEL) = NLDEV(NL1) - ELSE - NLDEV(NLEVEL) = NLEVEL - ENDIF -* - IF (IDT.EQ.1) THEN - X0(1) = 0.0 - X0(2) = 0.0 - X0(3) = 0.0 - X0(IAXIS) = ORIG + (IN - 0.5) * SDIV - IF (ISH.EQ.4.OR.(ISH.EQ.10.AND.IAXIS.NE.1)) THEN - CALL GCENT (IAXIS, X0) - ENDIF - IF (IFL.NE.0) THEN - XC(1) = XC(1) - X0(1) - XC(2) = XC(2) - X0(2) - XC(3) = XC(3) - X0(3) - ENDIF -C***** Code Expanded From Routine: GTRMUL -C. -C. ------------------------------------------------------------------ -C. - IF (GRMAT(10,NL1) .EQ. 0.0) THEN - GTRAN(1,NLEVEL) = GTRAN(1,NL1) + X0(1) - GTRAN(2,NLEVEL) = GTRAN(2,NL1) + X0(2) - GTRAN(3,NLEVEL) = GTRAN(3,NL1) + X0(3) - DO 70 I = 1, 10, 2 - GRMAT(I,NLEVEL) = GRMAT(I,NL1) - GRMAT(I+1,NLEVEL) = GRMAT(I+1,NL1) - 70 CONTINUE - ELSE -C - DXTEM1 = X0(1)*GRMAT(1,NL1) + X0(2)*GRMAT(4,NL1) + X0(3)* - + GRMAT( 7,NL1) - DXTEM2 = X0(1)*GRMAT(2,NL1) + X0(2)*GRMAT(5,NL1) + X0(3)* - + GRMAT( 8,NL1) - DXTEM3 = X0(1)*GRMAT(3,NL1) + X0(2)*GRMAT(6,NL1) + X0(3)* - + GRMAT( 9,NL1) - DO 80 I = 1, 10, 2 - GRMAT(I,NLEVEL) = GRMAT(I,NL1) - GRMAT(I+1,NLEVEL) = GRMAT(I+1,NL1) - 80 CONTINUE - GTRAN(1,NLEVEL) = GTRAN(1,NL1) + DXTEM1 - GTRAN(2,NLEVEL) = GTRAN(2,NL1) + DXTEM2 - GTRAN(3,NLEVEL) = GTRAN(3,NL1) + DXTEM3 - ENDIF -C***** End of Code Expanded From Routine: GTRMUL -* - ELSE IF (IDT.EQ.3.OR.IDT.EQ.4) THEN - IF (IDT.EQ.3) THEN - PH0 = DEGRAD * (ORIG + (IN - 0.5) * SDIV) - CPHR = COS (PH0) - SPHR = SIN (PH0) - ELSE - PH0 = 0.0 - CPHR = 1.0 - SPHR = 0.0 - ENDIF - GTRAN(1,NLEVEL) = GTRAN(1,NL1) - GRMAT(1,NLEVEL) = GRMAT(1,NL1)*CPHR + GRMAT(4,NL1)*SPHR - GRMAT(4,NLEVEL) = GRMAT(4,NL1)*CPHR - GRMAT(1,NL1)*SPHR - GRMAT(7,NLEVEL) = GRMAT(7,NL1) - GTRAN(2,NLEVEL) = GTRAN(2,NL1) - GRMAT(2,NLEVEL) = GRMAT(2,NL1)*CPHR + GRMAT(5,NL1)*SPHR - GRMAT(5,NLEVEL) = GRMAT(5,NL1)*CPHR - GRMAT(2,NL1)*SPHR - GRMAT(8,NLEVEL) = GRMAT(8,NL1) - GTRAN(3,NLEVEL) = GTRAN(3,NL1) - GRMAT(3,NLEVEL) = GRMAT(3,NL1)*CPHR + GRMAT(6,NL1)*SPHR - GRMAT(6,NLEVEL) = GRMAT(6,NL1)*CPHR - GRMAT(3,NL1)*SPHR - GRMAT(9,NLEVEL) = GRMAT(9,NL1) - IF (IFL.NE.0) THEN - XTT = XC(1) * CPHR + XC(2) * SPHR - XC(2) = XC(2) * CPHR - XC(1) * SPHR - XC(1) = XTT - ENDIF - IF (PH0.EQ.0.0.AND.GRMAT(10,NL1).EQ.0.0) THEN - GRMAT(10,NLEVEL) = 0.0 - ELSE - GRMAT(10,NLEVEL) = 1.0 - ENDIF - IF (ISH.EQ.11) IPSEC = 1 -* - ELSE - GTRAN(1,NLEVEL) = GTRAN(1,NL1) - GTRAN(2,NLEVEL) = GTRAN(2,NL1) - GTRAN(3,NLEVEL) = GTRAN(3,NL1) - DO 90 I = 1, 10, 2 - GRMAT(I,NLEVEL) = GRMAT(I,NL1) - GRMAT(I+1,NLEVEL) = GRMAT(I+1,NL1) - 90 CONTINUE - ENDIF -* - IQ(JGPAR+NLEVEL) = NPAR - LQ(JGPAR-NLEVEL) = JPAR -* END GMEDIV - 999 END diff --git a/StarVMC/geant3/ggeom/gmepos.F b/StarVMC/geant3/ggeom/gmepos.F deleted file mode 100644 index e225e52aa99..00000000000 --- a/StarVMC/geant3/ggeom/gmepos.F +++ /dev/null @@ -1,144 +0,0 @@ -* -* $Id: gmepos.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gmepos.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GMEPOS (JVO, IN, XC, IFL) -C. -C. ****************************************************************** -C. * * -C. * Updates the common /GCVOLU/ and the structure JGPAR * -C. * for contents positioned. * -C. * * -C. * For IFL nonzero, it also checks if the point XC is inside * -C. * the content. It returns IN = 0, if the point is outside. * -C. * Otherwise, it transforms XC in the local system. * -C. * * -C. * Input : JVO, IN, XC, IFL * -C. * Output : IN, XC * -C. * * -C. * Called by : GDRAW, GMEDIA * -C. * Authors : S.Banerjee, R.Brun, F.Bruyant, A.McPherson * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" - DIMENSION XC(*) - REAL XT(3) -C. -C. ------------------------------------------------------------------ -C. - JIN = LQ(JVO-IN) - IVOT = Q(JIN+2) - JVOT = LQ(JVOLUM-IVOT) - IF (NLEVEL.GE.NLDEV(NLEVEL)) THEN -* (case with JVOLUM structure locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - DO 10 ILEV = NLDEV(NLEVEL), NLEVEL - IF (IQ(JPAR+1).EQ.0) THEN - IF (ILEV.EQ.NLEVEL) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ENDIF - IF (JPAR.EQ.0) GO TO 20 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 10 CONTINUE - JPAR = JPAR +5 - NPAR = IQ(JPAR) - GO TO 30 - ENDIF -* (normal case) - 20 NPAR = Q(JVOT+5) - IF (NPAR.EQ.0) THEN - JPAR = JIN +9 - NPAR = Q(JPAR) - ELSE - JPAR = JVOT +6 - ENDIF -* - 30 IROTT = Q(JIN+4) - IF (IFL.NE.0) THEN -C***** Code Expanded From Routine: GITRAN -C. -C. ------------------------------------------------------------------ -C. - IF (IROTT .EQ. 0) THEN - XT(1) = XC(1) - Q(5+JIN) - XT(2) = XC(2) - Q(6+JIN) - XT(3) = XC(3) - Q(7+JIN) -* - ELSE - XL1 = XC(1) - Q(5+JIN) - XL2 = XC(2) - Q(6+JIN) - XL3 = XC(3) - Q(7+JIN) - JR = LQ(JROTM-IROTT) - XT(1) = XL1*Q(JR+1) + XL2*Q(JR+2) + XL3*Q(JR+3) - XT(2) = XL1*Q(JR+4) + XL2*Q(JR+5) + XL3*Q(JR+6) - XT(3) = XL1*Q(JR+7) + XL2*Q(JR+8) + XL3*Q(JR+9) -* - ENDIF -C***** End of Code Expanded From Routine: GITRAN - CALL GINME (XT, Q(JVOT+2), Q(JPAR+1), IYES) - IF (IYES.EQ.0) IN = 0 - ENDIF -* - IF (IN.GT.0) THEN -* -* Volume found at deeper level -* - NL1 = NLEVEL - NLEVEL = NLEVEL +1 - LVOLUM(NLEVEL) = IVOT - NAMES(NLEVEL) = IQ(JVOLUM+IVOT) - NUMBER(NLEVEL) = Q(JIN+3) - LINDEX(NLEVEL) = IN - LINMX(NLEVEL) = Q(JVO+3) - GONLY(NLEVEL) = Q(JIN+8) - IF (LQ(LQ(JVOLUM-IVOT)).EQ.0) THEN - NLDEV(NLEVEL) = NLDEV(NL1) - ELSE - NLDEV(NLEVEL) = NLEVEL - ENDIF - CALL GTRMUL (GTRAN(1,NL1), GRMAT(1,NL1), Q(JIN+5), IROTT, - + GTRAN(1,NLEVEL), GRMAT(1,NLEVEL) ) - IQ(JGPAR +NLEVEL) = NPAR - LQ(JGPAR -NLEVEL) = JPAR -* - IF (IFL.NE.0) THEN - XC(1) = XT(1) - XC(2) = XT(2) - XC(3) = XT(3) - ENDIF - ENDIF -* END GMEPOS - END diff --git a/StarVMC/geant3/ggeom/gmtod.F b/StarVMC/geant3/ggeom/gmtod.F deleted file mode 100644 index b7248a31108..00000000000 --- a/StarVMC/geant3/ggeom/gmtod.F +++ /dev/null @@ -1,89 +0,0 @@ -* -* $Id: gmtod.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gmtod.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE G3MTOD(XM,XD,IFLAG) -C. -C. ****************************************************************** -C. * * -C. * Computes coordinates XD (in DRS) * -C. * from known coordinates XM in MRS * -C. * The local reference system can be initialized by * -C. * - the tracking routines and GMTOD used in GUSTEP * -C. * - a call to GMEDIA(XM,NUMED) * -C. * - a call to GLVOLU(NLEVEL,NAMES,NUMBER,IER) * -C. * (inverse routine is GDTOM) * -C. * * -C. * If IFLAG=1 convert coordinates * -C. * IFLAG=2 convert direction cosinus * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ,M Hansroul ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcvolu.inc" - DIMENSION XD(3),XM(3) - EQUIVALENCE (N,NLEVEL) -C. -C. ------------------------------------------------------------------ -C. - IF(IFLAG.EQ.1)THEN - IF(GRMAT(10,N).NE.0.)THEN - T1 = XM(1) - GTRAN(1,N) - T2 = XM(2) - GTRAN(2,N) - T3 = XM(3) - GTRAN(3,N) - XD(1) = GRMAT(1,N)*T1+GRMAT(2,N)*T2+GRMAT(3,N)*T3 - XD(2) = GRMAT(4,N)*T1+GRMAT(5,N)*T2+GRMAT(6,N)*T3 - XD(3) = GRMAT(7,N)*T1+GRMAT(8,N)*T2+GRMAT(9,N)*T3 -* - ELSE - XD(1) = XM(1) - GTRAN(1,N) - XD(2) = XM(2) - GTRAN(2,N) - XD(3) = XM(3) - GTRAN(3,N) -* - ENDIF -* - ELSE - IF(GRMAT(10,N).NE.0.)THEN - XD(1) = GRMAT(1,N)*XM(1)+GRMAT(2,N)*XM(2)+GRMAT(3,N)*XM(3) - XD(2) = GRMAT(4,N)*XM(1)+GRMAT(5,N)*XM(2)+GRMAT(6,N)*XM(3) - XD(3) = GRMAT(7,N)*XM(1)+GRMAT(8,N)*XM(2)+GRMAT(9,N)*XM(3) -* - ELSE - XD(1) = XM(1) - XD(2) = XM(2) - XD(3) = XM(3) -* - ENDIF -* - ENDIF - END diff --git a/StarVMC/geant3/ggeom/gnbox.F b/StarVMC/geant3/ggeom/gnbox.F deleted file mode 100644 index 9acb7ec18f3..00000000000 --- a/StarVMC/geant3/ggeom/gnbox.F +++ /dev/null @@ -1,97 +0,0 @@ -* -* $Id: gnbox.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnbox.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNBOX (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'BOX' VOLUME, * -C. * FROM INSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Authors R.Brun, P. Weidhaas ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6), PAR(6) -C. -C. ------------------------------------------------------------------ -C. - SNXT = BIG - S1 = BIG - S2 = BIG - S3 = BIG - SAFX1= PAR(1)-X(1) - SAFX2= PAR(1)+X(1) - SAFY1= PAR(2)-X(2) - SAFY2= PAR(2)+X(2) - SAFZ1= PAR(3)-X(3) - SAFZ2= PAR(3)+X(3) - - IF (IACT .LT. 3) THEN - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - - SAFE = MIN(SAFX1,SAFX2, SAFY1,SAFY2, SAFZ1,SAFZ2) - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - IF(X(4).GT.0.) S1 = SAFX1/X(4) - IF(X(4).LT.0.) S1 =-SAFX2/X(4) - IF(X(5).GT.0.) S2 = SAFY1/X(5) - IF(X(5).LT.0.) S2 =-SAFY2/X(5) - IF(X(6).GT.0.) S3 = SAFZ1/X(6) - IF(X(6).LT.0.) S3 =-SAFZ2/X(6) - - SNXT = MIN(S1,S2,S3) - - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gncone.F b/StarVMC/geant3/ggeom/gncone.F deleted file mode 100644 index c22beee3ff5..00000000000 --- a/StarVMC/geant3/ggeom/gncone.F +++ /dev/null @@ -1,221 +0,0 @@ -* -* $Id: gncone.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gncone.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNCONE(X,P,IACT,IFL,SNEXT,SNXT,SAFE) -C. ****************************************************************** -C. * * -C. * Compute distance to intersection with boundary surface of * -C * volume CONE or CONS, from point X(1),X(2),X(3) inside * -C * the volume along track with direction cosines X(4),X(5), * -C * X(6) * -C. * P (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, compute SNXT only if SAFE.LT.SNEXT * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * IFL (input) : 1 for CONE, 2 for PHI segmented CONE * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary along track * -C. * SAFE (output) : not larger than scalar distance to * -C. * volume boundaray * -C. * Called by : GNEXT, GNOPCO, GTNEXT * -C. * * -C. * Authors : Michel Maire and Rolf Nierhaus 21-JUN-1990 * -C. * * -C. ****************************************************************** -C. * * -C. * 'CONE' is a conical tube. It has 5 parameters : * -C. * the half length in z, * -C. * the inside and outside radii at the low z limit, * -C. * and those at the high z limit. * -C. * 'CONS' is a phi segment of a conical tube. It has 7 * -C. * parameters, the same 5 as 'CONE' plus the phi limits.* -C. * The segment starts at the first limit and includes * -C. * increasing phi value up to the second limit or * -C. * that plus 360 degrees. * -C. * * -C. ****************************************************************** -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - REAL SNEXT, SNXT, SAFE - PARAMETER (F=0.01745329251994330D0) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (F=0.01745329251994330) -#endif - REAL X(6),P(7) -* -* this part has to be moved outside the routine - RO1=0.5*(P(4)+P(2)) - TG1=0.5*(P(4)-P(2))/P(1) - CR1=1./SQRT(1.+TG1*TG1) - RO2=0.5*(P(5)+P(3)) - TG2=0.5*(P(5)-P(3))/P(1) - CR2=1./SQRT(1.+TG2*TG2) - IF (IFL.EQ.2) THEN - P6=P(6)*F - P7=P(7)*F - IF (P7.LT.P6) P7=P7+F*360. - C1=COS(P6) - S1=SIN(P6) - C2=COS(P7) - S2=SIN(P7) - FIO=0.5*(P7+P6) - CFIO=COS(FIO) - SFIO=SIN(FIO) - END IF -* - SNXT=1.E10 - R =SQRT(X(1)**2+X(2)**2) - RIN =TG1*X(3)+RO1 - ROUT=TG2*X(3)+RO2 -* -* Compute SAFE radius - IF (IACT.LT.3) THEN - SAF1=(R -RIN)*CR1 - SAF2=(ROUT-R)*CR2 - SAF3=P(1)-ABS(X(3)) - SAF4=1.E10 - IF (IFL.EQ.2) THEN - IF ((X(2)*CFIO-X(1)*SFIO).LE.0.) THEN - SAF4=ABS(X(1)*S1-X(2)*C1) - ELSE - SAF4=ABS(X(1)*S2-X(2)*C2) - END IF - END IF - SAFE=MIN(SAF1,SAF2,SAF3,SAF4) - IF (IACT.EQ.0) GO TO 999 - IF (IACT.EQ.1.AND.SNEXT.LE.SAFE) GO TO 999 - END IF -* -* Intersection with z-plane - IF (X(6).GT. 1.E-20) THEN - SZ= (P(1)-X(3))/X(6) - ELSEIF (X(6).LT.-1.E-20) THEN - SZ=-(P(1)+X(3))/X(6) - ELSE - SZ= 1.E10 - END IF -* -* Intersection with cones -* Intersection point (x,y,z) -* (x,y,z) is on track: x=X(1)+t*X(4) -* y=X(2)+t*X(5) -* z=X(3)+t*X(6) -* (x,y,z) is on cone : x**2 + y**2 = (a*z+b)**2 -* -* (X(4)**2+X(5)**2-(a*x(6))**2)*t**2 -* +2.*(X(1)*X(4)+X(2)*X(5)-a*x(6)*(a*x(3)+b))*t -* +X(1)**2+X(2)**2-(a*x(3)+b)**2=0 -* - T1=X(4)**2+X(5)**2 - T2=X(1)*X(4)+X(2)*X(5) - T3=X(1)**2+X(2)**2 -* -* Intersection with the inner cone - SR1=1.E10 - IF (RO1.GT.0.) THEN - U=T1-(TG1*X(6))**2 - V=T2- TG1*X(6)*RIN - W=T3- RIN*RIN -* track not parallel to the cone ? - IF (U.NE.0.) THEN - B=V/U - C=W/U - D=B**2-C - IF (D.GE.0.) THEN - DS=SQRT(D) - IF (DS.GE.ABS(B)) THEN - SR1= DS-B - ELSEIF (B.LE.0.) THEN - SR1=-DS-B - END IF - END IF - ELSEIF (V.LT.0.) THEN - SR1=-0.5*W/V - END IF - END IF -* -* Intersection with the outer cone - SR2=1.E10 - U=T1-(TG2*X(6))**2 - V=T2- TG2*X(6)*ROUT - W=T3- ROUT*ROUT -* track not parallel to the cone ? - IF (U.NE.0.) THEN - B=V/U - C=W/U - D=B**2-C - IF (D.GE.0.) THEN - DS=SQRT(D) - IF (DS.GE.ABS(B)) THEN - SR2= DS-B - ELSEIF (B.LE.0.) THEN - SR2=-DS-B - END IF - END IF - ELSEIF (V.GT.0.) THEN - SR2=-0.5*W/V - END IF -* -* Intersection with phi-planes -* x=r*cos(phi)=X(1)+t*X(4) -* y=r*sin(phi)=X(2)+t*X(5) -* z =X(3)+t*X(6) -* t=(X(2)*cos(phi)-X(1)*sin(phi))/(X(4)*sin(phi)-X(5)*cos(phi)) -* - SFI1=1.E10 - SFI2=1.E10 - IF (IFL.EQ.2) THEN -* track not parallel to the phi1 plane ? - UN=X(4)*S1-X(5)*C1 - IF (UN.NE.0.) THEN - S=(X(2)*C1-X(1)*S1)/UN - IF (S.GE.0.) THEN - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - IF ((YI*CFIO-XI*SFIO).LE.0.) SFI1=S - END IF - END IF -* track not parallel to the phi2 plane ? - UN=X(4)*S2-X(5)*C2 - IF (UN.NE.0.) THEN - S=(X(2)*C2-X(1)*S2)/UN - IF (S.GE.0.) THEN - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - IF ((YI*CFIO-XI*SFIO).GE.0.) SFI2=S - END IF - END IF - END IF -* - SNXT=MIN(SR1,SR2,SZ,SFI1,SFI2) - 999 END - diff --git a/StarVMC/geant3/ggeom/gnctub.F b/StarVMC/geant3/ggeom/gnctub.F deleted file mode 100644 index 1393ebbb66a..00000000000 --- a/StarVMC/geant3/ggeom/gnctub.F +++ /dev/null @@ -1,220 +0,0 @@ -* -* $Id: gnctub.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnctub.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:51 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNCTUB (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'CTUB' * -C. * VOLUME FROM INSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GNPCON, GTNEXT * -C. * Authors A.McPherson ******** * -C. * MODIFICATION LOG. * -C. * 18-July-89 M.Guckes modifications due to GEANG 3.13 * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - REAL X(6),PAR(11) -C -C------------------------------------------------------------- -C - SNXT = BIG - R2 = X(1)*X(1) + X(2)*X(2) - R = SQRT (R2) - IF(PAR(5).GE.360.) THEN - IFLAG = 1 - ELSE - IFLAG = 2 - ENDIF -* - SAFZ1 = (-PAR(3)-X(3) )*PAR(8)-X(1)*PAR(6)-X(2)*PAR(7) - SAFZ2 = (PAR(3)-X(3) )*PAR(11)-X(1)*PAR(9)-X(2)*PAR(10) - IF (PAR(1).NE.0.) THEN - SAFR1 = R - PAR(1) - ELSE - SAFR1 = BIG - ENDIF - SAFR2 = PAR(2) - R -* - IF (IACT .LT. 3) THEN -* -* *** Compute safety-distance 'SAFE' (P.Weidhaas) -* - SAFSEG = BIG - IF (IFLAG .EQ. 2) THEN -* -* In addition to the radial distances (SAFR1 and SAFR2) and the -* axial distances (SAFZ1 and SAFZ2) we compute here the distance -* to the PHI-segment boundary that is closest to the point: -* -* For each PHI-boundary we find the distance from the given -* point to the outer (at RMAX) point of the segment boundary -* (DISTS1 and DISTS2, resp.). If DISTS1 < DISTS2, we define -* SAFSEG to be the distance to segment PHI1. Else we set -* SAFSEG to be the distance to segment PHI2. -* - PHI1 = PAR(4) * DEGRAD - PHI2 = PAR(5) * DEGRAD -* - COSPH1 = COS (PHI1) - COSPH2 = COS (PHI2) - SINPH1 = SIN (PHI1) - SINPH2 = SIN (PHI2) -* -* *** Get coordinates of outer endpoints (at ROUT) of both segments. -* - XS1 = PAR(2) * COSPH1 - YS1 = PAR(2) * SINPH1 - XS2 = PAR(2) * COSPH2 - YS2 = PAR(2) * SINPH2 -* -* *** Get distances (squared) from the given point to each endpoint. -* - DISTS1 = (X(1) - XS1)**2 + (X(2) - YS1)**2 - DISTS2 = (X(1) - XS2)**2 + (X(2) - YS2)**2 -* -* *** Get distance to that PHI-segment whose endpoint -* *** is closest to the given point. -* - IF (DISTS1 .LE. DISTS2) THEN - SAFSEG = ABS(X(1) * SINPH1 - X(2) * COSPH1) - ELSE - SAFSEG = ABS(X(1) * SINPH2 - X(2) * COSPH2) - ENDIF - ENDIF -* - SAFE = MIN (SAFZ1, SAFZ2, SAFR1, SAFR2, SAFSEG) - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1 .AND. SNEXT .LT. SAFE) GO TO 999 - ENDIF -* -* *** Compute intersection with z-boundaries -* - V1 = X(4)*PAR(6)+X(5)*PAR(7)+X(6)*PAR(8) - SZ1 = SAFZ1/V1 - V2 = X(4)*PAR(9)+X(5)*PAR(10)+X(6)*PAR(11) - SZ2 = SAFZ2/V2 - IF( SZ1 .GT. 0. ) THEN - SNXT = SZ1 - ELSE - SNXT = BIG - ENDIF - IF( SZ2 .GT. 0.0 .AND. SZ2 .LT. SNXT) SNXT = SZ2 - SZ=SNXT -* - IF (ABS(X(6)).LT.1.)THEN -* -* *** Compute z-intercept with inner cylinder. -* - BA2=-1. - IF(PAR(1).GT.0.)THEN - RMIN2 = PAR(1)*PAR(1) - ZP2 = 1./(1.-X(6)*X(6)) - BA = (X(4)*X(1)+X(5)*X(2))*ZP2 - BA2 = BA*BA - CA = (R2-RMIN2)*ZP2 - DIS2 = BA2-CA - IF (DIS2.GE.0.)THEN - XSIN = -BA-SQRT(DIS2) - IF (XSIN.GE.0.)THEN - IF(XSIN.LT.SNXT)SNXT = XSIN - GO TO 10 - ENDIF - ENDIF - ENDIF -* -* *** Compute z-intercept with outer cylinder. -* - RMAX2 = PAR(2)*PAR(2) - XZ = X(1) + X(4)*SZ - YZ = X(2) + X(5)*SZ - IF (XZ*XZ+YZ*YZ.GT.RMAX2)THEN - IF(BA2.LT.0.)THEN - ZP2 = 1./(1.-X(6)*X(6)) - BA = (X(4)*X(1)+X(5)*X(2))*ZP2 - BA2 = BA*BA - ENDIF - CA = (R2-RMAX2)*ZP2 - DIS2 = BA2-CA - IF (DIS2.GE.0.)THEN - SRMAX = -BA+SQRT(DIS2) - IF(SRMAX.LT.SNXT)SNXT=SRMAX - ENDIF - ENDIF - ENDIF -* - 10 IF(IFLAG.EQ.2) THEN -* -* =======>PHI segmented tube -* We have checked the radius and Z. -* now check PHI. -* - DPSGN=X(1)*X(5)-X(2)*X(4) -* -* Tells us which way its going. -* - PHI2=PAR(5) - IF(DPSGN.LT.0.0) PHI2=PAR(4) - PH2=PHI2*DEGRAD -* -* Have set up the limit. -* - TSGN=SIN(PH2) - TCSG=COS(PH2) - DX45=X(4)*TSGN-X(5)*TCSG - IF(DX45.EQ.0.)GO TO 999 - SN1=(X(2)*TCSG-X(1)*TSGN)/DX45 -* -* Distance until tangents are right. -* - IF(SN1.LT.0.0) GO TO 999 - IF(ABS(TSGN).GT.1.E-6.AND.(X(2)+SN1*X(5))*TSGN .LT.0.)GO TO - + 999 - IF(ABS(TCSG).GT.1.E-6.AND.(X(1)+SN1*X(4))*TCSG .LT.0.)GO TO - + 999 -* -* Have checked that the distance is +VE and that the -* SINE is the right sign. -* - IF(SN1.LT.SNXT) SNXT=SN1 - END IF -* - 999 END diff --git a/StarVMC/geant3/ggeom/gneltu.F b/StarVMC/geant3/ggeom/gneltu.F deleted file mode 100644 index c8324cda4b6..00000000000 --- a/StarVMC/geant3/ggeom/gneltu.F +++ /dev/null @@ -1,158 +0,0 @@ -* -* $Id: gneltu.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gneltu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNELTU(X,PAR,IACT,SNEXT,SNXT,SAFE) -C -C **************************************************************** -C * * -C * Compute distance up to intersection with 'ELTU' volume, * -C * from inside point X(1-3) along direction X(4-6). * -C * * -C * PAR (input) : volume parameters * -C * IACT (input) : action flag * -C * = 0 Compute SAFE only * -C * = 1 Compute SAFE, and SNXT only if SNEXT.gt.new SAFE * -C * = 2 Compute both SAFE and SNXT * -C * = 3 Compute SNXT only * -C * SNEXT (input) : see IACT = 1 * -C * SNXT (output) : distance to volume boundary * -C * SAFE (output) : shortest distance to any boundary * -C * * -C * ==>Called by : GNEXT,GTNEXT * -C * Author A.Solano * -C * * -C **************************************************************** -C -#include "geant321/gconsp.inc" -C - DIMENSION X(6),PAR(3) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION SAFZ1,SAFZ2,SAFR,A2,B2,X0,Y0,A,B,D1,D2 - DOUBLE PRECISION X1,X2,X3,Y1,Y2,Y3 - DOUBLE PRECISION SZ,XZ,YZ,U,V,W,DISCR,SQDISC,TAU1,TAU2 -#endif -C - SNXT = BIG - SAFZ1 = PAR(3)-X(3) - SAFZ2 = PAR(3)+X(3) -C - A2 = PAR(1)*PAR(1) - B2 = PAR(2)*PAR(2) -C - IF(IACT.LT.3)THEN -C -C ----------------------------------- -C | Compute safety-distance 'SAFE' | -C ----------------------------------- -C - X0 = ABS(X(1)) - Y0 = ABS(X(2)) -C - A=PAR(1) - B=PAR(2) - X1=X0 - Y1=SQRT((A-X0)*(A+X0))*B/A - Y2=Y0 - X2=SQRT((B-Y0)*(B+Y0))*A/B - D1=(X1-X0)**2+(Y1-Y0)**2 - D2=(X2-X0)**2+(Y2-Y0)**2 - DO 1 I=1,8 - IF (B.LT.A) THEN - X3=.5*(X1+X2) - Y3=SQRT((A-X3)*(A+X3))*B/A - ELSE - Y3=.5*(Y1+Y2) - X3=SQRT((B-Y3)*(B+Y3))*A/B - END IF - IF (D1.LT.D2) THEN - X2=X3 - Y2=Y3 - D2=(X2-X0)**2+(Y2-Y0)**2 - ELSE - X1=X3 - Y1=Y3 - D1=(X1-X0)**2+(Y1-Y0)**2 - END IF - 1 CONTINUE - 2 SAFR=SQRT(D1)-1.E-3 -* - SAFE = MIN(SAFZ1,SAFZ2,SAFR) - IF(IACT.EQ.0)GOTO 99 - IF(IACT.EQ.1.AND.SNEXT.LT.SAFE)GOTO 99 -C - ENDIF -C -C ----------------------------------- -C | Compute vector-distance 'SNXT' | -C ----------------------------------- -C -C .... First check Z -C - IF(X(6).GT.0.)THEN - SNXT = SAFZ1/X(6) - ELSEIF(X(6).LT.0.)THEN - SNXT = -SAFZ2/X(6) - ENDIF -C -C .... Then,if necessary,find the intersection of -C the given ray(described by array X) whit -C the cylinder. -C Ray equation : X'(1-3) = X(1-3) + TAU*X(4-6) -C Cylinder equation : x**2/a**2 + y**2/b**2 = 1 -C To obtain TAU,solve the quadratic equation -C Ut**2 + 2Vt + W = 0 -C - SZ = SNXT - XZ = X(1)+X(4)*SZ - YZ = X(2)+X(5)*SZ - IF((XZ*XZ/A2+YZ*YZ/B2).LE.1)GOTO 99 -C - U = X(4)*X(4)*B2+X(5)*X(5)*A2 - V = X(1)*X(4)*B2+X(2)*X(5)*A2 - W = X(1)*X(1)*B2+X(2)*X(2)*A2-A2*B2 - DISCR = V*V-U*W - IF(DISCR.LT.0.)GOTO 99 - IF(U.EQ.0.)GOTO 99 - SQDISC = SQRT(DISCR) - TAU1 = (-V+SQDISC)/U - TAU2 = (-V-SQDISC)/U -C -C .... Set SNXT to the smallest positive TAU -C - IF(TAU1.LT.0.)THEN - IF(TAU2.LT.0.)GOTO 99 - SNXT = TAU2 - ELSE - SNXT = TAU1 - IF(TAU2.GT.0.0.AND.TAU2.LT.TAU1)THEN - SNXT = TAU2 - ENDIF - ENDIF -C - 99 END diff --git a/StarVMC/geant3/ggeom/gnex2.F b/StarVMC/geant3/ggeom/gnex2.F deleted file mode 100644 index 38d2d7e13ed..00000000000 --- a/StarVMC/geant3/ggeom/gnex2.F +++ /dev/null @@ -1,708 +0,0 @@ -* -* $Id: gnex2.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnex2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_OLD) -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE GNEXT (X, SNEXT, SAFETY) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GNEXT (X, SNEXT, SAFETY) * -C. * * -C. * Computes SNEXT and SAFETY * -C. * SNEXT (output) : distance to closest boundary * -C. * from point X(1-3) along X(4-6) * -C. * SAFETY (output) : shortest distance to any boundary * -C. * * -C. * Called by : User * -C. * Authors : S.Banerjee, R.Brun, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcvolu.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif - REAL X(6), X0(3), XC(6), XT(6) - INTEGER IDTYP(3,12) - LOGICAL BTEST - SAVE IDTYP -C. - DATA IDTYP / 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 2, 3, 1, - + 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 4, 3, 1, 1, 1, - + 2, 3, 1, 2, 3, 1/ -C. -C. ------------------------------------------------------------------ -* -* *** Transform current point and direction into local reference system -* - IF (GRMAT(10,NLEVEL).EQ.0.) THEN - DO 19 I = 1,3 - XC(I) = X(I) -GTRAN(I,NLEVEL) - XC(I+3) = X(I+3) - 19 CONTINUE - ELSE -* (later, code in line) - CALL GTRNSF (X, GTRAN(1,NLEVEL), GRMAT(1,NLEVEL), XC) - CALL GROT (X(4), GRMAT(1,NLEVEL), XC(4)) - ENDIF -* -* *** Compute distance to boundaries -* - SNEXT = BIG - SAFETY = BIG - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - ISH = Q(JVO+2) - IF (Q(JVO+3).EQ.0.) GO TO 300 - NIN = Q(JVO+3) - IF (NIN.LT.0) GO TO 200 -* -* *** Case with contents positioned -* - ISEARC = Q(JVO+1) - IF (ISEARC.GE.-1) GO TO 120 -* -* ** Contents are ordered by (dynamic) GSORD, select neighbours -* - JSB = LQ(LQ(JVO-NIN-1)) - IAX = Q(JSB+1) - NSB = Q(JSB+2) - IF (IAX.LE.3) THEN - CX = XC(IAX) - INC = SIGN(1., XC(IAX+3)) - ELSE - CALL GFCOOR (XC, IAX, CX) - IF (IAX.LE.5) THEN - DR = XC(1)*XC(4) +XC(2)*XC(5) - IF (IAX.EQ.5) DR = DR +XC(3)*XC(6) - INC = SIGN(1., DR) - ELSE IF (IAX.EQ.6) THEN - INC = SIGN(1., XC(1)*XC(5)-XC(2)*XC(4)) - ELSE - INC = SIGN(1., XC(3)*(XC(1)*XC(4)+XC(2)*XC(5)) - + -XC(6)*(XC(1)*XC(1)+XC(2)*XC(2))) - ENDIF - ENDIF - IDIV = LOCATF (Q(JSB+3), NSB, CX) - IF (IDIV.LT.0) IDIV = -IDIV - IF (IAX.NE.6) THEN - IF (IDIV.EQ.0) THEN - IF (INC.LT.0.AND.IAX.LE.3) THEN - SAFETY = Q(JSB+3) -CX - GO TO 300 - ENDIF - IDIV = 1 - ELSE IF (IDIV.EQ.NSB) THEN - IF (INC.GT.0.AND.IAX.NE.7) THEN - SAFETY = CX -Q(JSB+2+NSB) - GO TO 300 - ENDIF - IDIV = NSB -1 - ELSE - IF (IAX.NE.7) THEN - IF (INC.GT.0) THEN - SAFETY = CX -Q(JSB+2+IDIV) - ELSE - SAFETY = Q(JSB+3+IDIV) -CX - ENDIF - ELSE - SAFETY = 0. - ENDIF - ENDIF - ELSE IF (IAX.EQ.6) THEN - IF (IDIV.EQ.0) IDIV = NSB - SAFETY = 0. - ENDIF -* - IDIVL = 0 - IDIVB = 0 - JSC0 = LQ(JVO-NIN-2) - 110 NCONT = IQ(JSC0+IDIV) -* -* ** Loop over (selected) contents -* - IF (NCONT.EQ.0) THEN - IF (IDIV.EQ.IDIVL) GO TO 400 - IDIV = IDIV +INC -* (following statement for IAX=6, when division NSB is empty) - IF (IDIV.GT.NSB) IDIV = 1 - GO TO 110 - ELSE - ICONT = 1 - JSCV = LQ(JSC0-IDIV) - GO TO 140 - ENDIF -* - 120 JNEAR = LQ(JVO-NIN-1) - IF (ISEARC.GT.0) THEN -#if !defined(CERNLIB_USRJMP) - CALL GUNEAR (ISEARC, 2, XC, JNEAR) -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT4(JUNEAR,ISEARC, 2, XC, JNEAR) -#endif - IF (IQ(JNEAR+1).EQ.0) GO TO 300 - ENDIF - JNEAR = JNEAR +1 - NNEAR = IQ(JNEAR) - IF (IQ(JNEAR+1).NE.0) THEN - INEAR = 1 - ELSE - INEAR = 2 - ENDIF -* - 130 IN = IQ(JNEAR+INEAR) - GO TO 150 -* - 140 IN = IQ(JSCV+ICONT) -* - 150 IF(IN.LE.0)GO TO 300 - JIN = LQ(JVO-IN) - IVOT = Q(JIN+2) - JVOT = LQ(JVOLUM-IVOT) - IROTT = Q(JIN+4) -* - IF (NLEVEL.GE.NLDEV(NLEVEL)) THEN -* (case with JVOLUM structure locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - DO 169 ILEV = NLDEV(NLEVEL), NLEVEL - IF (IQ(JPAR+1).EQ.0) THEN - IF (ILEV.EQ.NLEVEL) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ENDIF - IF (JPAR.EQ.0) GO TO 170 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 169 CONTINUE - JPAR = JPAR + 5 - GO TO 180 - ENDIF -* (normal case) - 170 NPAR = Q(JVOT+5) - IF (NPAR.EQ.0) THEN - JPAR = JIN +9 - ELSE - JPAR = JVOT +6 - ENDIF -* -* * Compute distance to boundary of current content -* - 180 IF (IROTT.EQ.0) THEN - DO 189 I = 1,3 - XT(I) = XC(I) -Q(JIN+4+I) - XT(I+3) = XC(I+3) - 189 CONTINUE - ELSE -* (later, code in line) - CALL GITRAN (XC, Q(JIN+5), IROTT, XT) - CALL GRMTD (XC(4), IROTT, XT(4)) - ENDIF -* - IACT = 2 - ISHT = Q(JVOT+2) - IF (ISHT.LT.5) THEN - IF (ISHT.EQ.1) THEN - CALL GNOBOX (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.2) THEN - CALL GNOTRA(XT,Q(JPAR+1),IACT,1,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.3) THEN - CALL GNOTRA(XT,Q(JPAR+1),IACT,2,SNEXT,SNXT,SAFE) - ELSE - CALL GNOTRP (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ENDIF - ELSE IF (ISHT.LE.10) THEN - IF (ISHT.EQ.5) THEN - CALL GNOTUB(XT,Q(JPAR+1),IACT,1,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.6) THEN - CALL GNOTUB(XT,Q(JPAR+1),IACT,2,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.7) THEN - CALL GNOCON(XT,Q(JPAR+1),IACT,1,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.8) THEN - CALL GNOCON(XT,Q(JPAR+1),IACT,2,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.9) THEN - CALL GNOSPH (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE - CALL GNOPAR (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ENDIF - ELSE IF (ISHT.EQ.11) THEN - CALL GNOPGO (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.12) THEN - CALL GNOPCO (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.13) THEN - CALL GNOELT (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.14) THEN - CALL GNOHYP (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.28) THEN - CALL GSNGTR (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE,0) - ELSE IF (ISHT.EQ.NSCTUB) THEN - CALL GNOCTU (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE - PRINT *, ' GNEXT : No code for shape ', ISHT - STOP - ENDIF -* - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LT.SNEXT) THEN - SNEXT = SNXT - IF (ISEARC.EQ.-2) THEN - IF (MOD(IQ(JSC0),2).NE.0) THEN - IDIVB = IDIV - ELSE - DO 191 I = 1,3 - X0(I) = XC(I) + SNXT*XC(I+3) - 191 CONTINUE - IF (IAX.LE.3) THEN - IDIVB = LOCATF (Q(JSB+3), NSB, X0(IAX)) - ELSE - CALL GFCOOR (X0, IAX, CX) - IDIVB = LOCATF (Q(JSB+3), NSB, CX) - ENDIF - IF (IDIVB.LT.0) IDIVB = -IDIVB - IF (IDIVB.EQ.0) THEN - IF (IAX.EQ.6) THEN - IDIVB = NSB - ELSE - IDIVB = 1 - ENDIF - ELSE IF (IDIVB.EQ.NSB) THEN - IF (IAX.NE.6) IDIVB = NSB - 1 - ENDIF - ENDIF - ENDIF - ENDIF -* - IF (ISEARC.EQ.-2) THEN - IF (ICONT.EQ.NCONT) THEN - IF (IDIVL.EQ.0) THEN - IF (IDIVB.NE.0) THEN - IF (IDIV.EQ.IDIVB) GO TO 300 - IF (.NOT.BTEST(IQ(JVO),2)) THEN - IDIVL = IDIVB - GO TO 193 - ENDIF - ENDIF -* -* * Compute distance to boundary of current volume -* - JPAR = LQ(JGPAR-NLEVEL) - IACT = 2 - ISH = Q(JVO+2) - IF (ISH.LT.5) THEN - IF (ISH.EQ.1) THEN - CALL GNBOX (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.2) THEN - CALL GNTRAP (XC, Q(JPAR+1),IACT,1, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.3) THEN - CALL GNTRAP (XC, Q(JPAR+1),IACT,2, SNEXT,SNXT,SAFE) - ELSE - CALL GNTRP (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.LE.10) THEN - IF (ISH.EQ.5) THEN - CALL GNTUBE (XC, Q(JPAR+1),IACT,1, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.6) THEN - CALL GNTUBE (XC, Q(JPAR+1),IACT,2, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.7) THEN - CALL GNCONE (XC, Q(JPAR+1),IACT,1, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.8) THEN - CALL GNCONE (XC, Q(JPAR+1),IACT,2, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.9) THEN - CALL GNSPHR (XC, Q(JPAR+1),IACT, SNEXT, SNXT, SAFE) - ELSE - CALL GNPARA (XC, Q(JPAR+1),IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.EQ.12) THEN - CALL GNPCON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.11) THEN - CALL GNPGON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.13) THEN - CALL GNELTU (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.14) THEN - CALL GNHYPE (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.28) THEN - CALL GSNGTR (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE,1) - ELSE IF (ISH.EQ.NSCTUB) THEN - CALL GNCTUB (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - PRINT *, ' GNEXT : No code for shape ', ISH - STOP - ENDIF -* - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LT.SNEXT) SNEXT = SNXT -* -* * Check wether other pseudo-divisions have to be scanned -* - DO 192 I = 1,3 - X0(I) = XC(I) +SNXT*XC(I+3) - 192 CONTINUE - IF (IAX.LE.3) THEN - IDIVL = LOCATF (Q(JSB+3), NSB, X0(IAX)) - ELSE - CALL GFCOOR (X0, IAX, CX) - IDIVL = LOCATF (Q(JSB+3), NSB, CX) - ENDIF - IF (IDIVL.LT.0) IDIVL = -IDIVL - IF (IDIVL.EQ.0) THEN - IF(IAX.EQ.6)THEN - IDIVL=NSB - ELSE - IDIVL=1 - ENDIF - ELSEIF (IDIVL.EQ.NSB)THEN - IF(IAX.NE.6)IDIVL=NSB-1 - ENDIF - ELSE - IF (IDIV.EQ.IDIVB) GO TO 400 - ENDIF - 193 IF ((IDIV-IDIVL)*INC.GE.0) GO TO 400 - IDIV = IDIV +INC - GO TO 110 - ELSE - ICONT = ICONT +1 - GO TO 140 - ENDIF - ELSE - IF (INEAR.EQ.NNEAR) GO TO 300 - INEAR = INEAR +1 - GO TO 130 - ENDIF -* -* *** Case of volume incompletely divided -* - 200 JDIV = LQ(JVO-1) - IAXIS = Q(JDIV+1) - IVOT = Q(JDIV+2) - JVOT = LQ(JVOLUM-IVOT) - ISHT = Q(JVOT+2) -* -* ** Get the division parameters -* - IF (NLEVEL.LT.NLDEV(NLEVEL)) THEN - JPARM = 0 - ELSE -* (case with JVOLUM structure locally developed) - JPARM = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - IF (NLEVEL.EQ.NLDEV(NLEVEL)) GO TO 215 - DO 210 ILEV = NLDEV(NLEVEL), NLEVEL-1 - IF (IQ(JPARM+1).EQ.0) THEN - JPARM = LQ(JPARM-LINDEX(ILEV+1)) - IF (JPARM.EQ.0) GO TO 215 - ELSE IF (IQ(JPARM-3).GT.1) THEN - JPARM = LQ(JPARM-LINDEX(ILEV+1)) - ELSE - JPARM = LQ(JPARM-1) - ENDIF - IF (ILEV.EQ.NLEVEL-1) THEN - NDIV = IQ(JPARM+1) - ORIG = Q(JPARM+2) - SDIV = Q(JPARM+3) - ENDIF - 210 CONTINUE - GO TO 220 - ENDIF -* (normal case) - 215 NDIV = Q(JDIV+3) - ORIG = Q(JDIV+4) - SDIV = Q(JDIV+5) -* -* ** Look at the first and the last divisions only -* - 220 IDT = IDTYP(IAXIS, ISH) - IF (IDT.EQ.1) THEN - IN2 = 0 - IF (XC(IAXIS).LT.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE IF (IDT.EQ.2) THEN - R = XC(1)**2 + XC(2)**2 - IF (ISH.EQ.9) R = R + XC(3)**2 - R = SQRT(R) - IN2 = 0 - IF (ISH.EQ.5.OR.ISH.EQ.6.OR.ISH.EQ.9) THEN - IF (R.LT.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE - PRINT *, ' GNEXT : Partially divided ',ISH,IAXIS - IN = 1 - IF (NDIV.GT.1) IN2 = NDIV - ENDIF - ELSE IF (IDT.EQ.4) THEN - IN2 = 0 - RXY = XC(1)**2 + XC(2)**2 - RXY = SQRT(RXY) - IF (XC(3).NE.0.0) THEN - THET = RADDEG * ATAN (RXY/XC(3)) - IF (THET.LT.0.0) THET = THET + 180.0 - ELSE - THET = 90. - ENDIF - IF (THET.LE.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE - PRINT *, ' GNEXT : Partially divided ',ISH,IAXIS - IN2 = 0 - IF (ISH.EQ.5.OR.ISH.EQ.7) THEN - IN = 1 - IF (NDIV.GT.1) IN2 = NDIV - ELSE - IF (XC(1).NE.0.0.OR.XC(2).NE.0.0) THEN - PHI = RADDEG * ATAN2 (XC(2), XC(1)) - ELSE - PHI = 0.0 - ENDIF - IF (ISH.EQ.6.OR.ISH.EQ.8) THEN - IF (PHI.LT.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE - IN = 1 - IF (NDIV.GT.1) IN2 = NDIV - ENDIF - ENDIF - ENDIF -* - 225 IF (IDT.EQ.1) THEN - DO 231 I = 1, 3 - X0(I) = 0.0 - 231 CONTINUE - X0(IAXIS) = ORIG + (IN - 0.5) * SDIV - IF (ISH.EQ.4.OR.(ISH.EQ.10.AND.IAXIS.NE.1)) THEN - CALL GCENT (IAXIS, X0) - ENDIF - DO 232 I = 1, 3 - XT(I) = XC(I) - X0(I) - XT(I+3) = XC(I+3) - 232 CONTINUE - ELSE IF (IDT.EQ.3) THEN - PH0 = DEGRAD * (ORIG + (IN - 0.5) * SDIV) - CPHR = COS(PH0) - SPHR = SIN(PH0) - DO 233 I = 1, 4, 3 - XT(I) = XC(I)*CPHR + XC(I+1)*SPHR - XT(I+1) = XC(I+1)*CPHR - XC(I)*SPHR - XT(I+2) = XC(I+2) - 233 CONTINUE - ELSE - DO 234 I = 1, 6 - XT(I) = XC(I) - 234 CONTINUE - ENDIF -* - IF (JPARM.NE.0) THEN - IF (IQ(JPARM-3).GT.1) THEN - JPAR = LQ(JPARM-IN) - ELSE - JPAR = LQ(JPARM-1) - ENDIF - JPAR = JPAR + 5 - ELSE - JPAR = JVOT + 6 - ENDIF -* - IACT = 2 - IF (ISHT.LT.5) THEN - IF (ISHT.EQ.1) THEN - CALL GNOBOX (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.2) THEN - CALL GNOTRA (XT, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.3) THEN - CALL GNOTRA (XT, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE - CALL GNOTRP (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISHT.LE.10) THEN - IF (ISHT.EQ.5) THEN - CALL GNOTUB (XT, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.6) THEN - CALL GNOTUB (XT, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.7) THEN - CALL GNOCON (XT, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.8) THEN - CALL GNOCON (XT, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.9) THEN - CALL GNOSPH (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - CALL GNOPAR (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISHT.EQ.11) THEN - CALL GNOPGO (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.12) THEN - CALL GNOPCO (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.13) THEN - CALL GNOELT (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.14) THEN - CALL GNOHYP (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.28) THEN - CALL GSNGTR (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE,0) - ELSE IF (ISHT.EQ.NSCTUB) THEN - CALL GNOCTU (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - PRINT *, ' GNEXT : No code for shape ', ISHT - STOP - ENDIF -* - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LT.SNEXT) SNEXT = SNXT -* - IF (IN2.NE.0) THEN - IF (IN2.NE.IN) THEN - IN = IN2 - GO TO 225 - ENDIF - ENDIF -* -* *** Calculate SNEXT and SAFETY with respect to the Mother -* *** SAFETY only for concave volumes if finite SNEXT -* *** has been found with respect to one of its contents -* - 300 IACT = 2 - IF (SNEXT.LT.0.9*BIG) THEN - IF (.NOT.BTEST(IQ(JVO),2)) IACT = 0 - ENDIF - JPAR = LQ(JGPAR-NLEVEL) - IF (ISH.LT.5) THEN - IF (ISH.EQ.1) THEN - CALL GNBOX (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE ) - ELSE IF (ISH.EQ.2) THEN - CALL GNTRAP (XC, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.3) THEN - CALL GNTRAP (XC, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE - CALL GNTRP (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.LE.10) THEN - IF (ISH.EQ.5) THEN - CALL GNTUBE (XC, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.6) THEN - CALL GNTUBE (XC, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.7) THEN - CALL GNCONE (XC, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.8) THEN - CALL GNCONE (XC, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.9) THEN - CALL GNSPHR (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - CALL GNPARA (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.EQ.12) THEN - CALL GNPCON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.11) THEN - CALL GNPGON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.13) THEN - CALL GNELTU (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.14) THEN - CALL GNHYPE (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.28) THEN - CALL GSNGTR (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE,1) - ELSE IF (ISH.EQ.NSCTUB) THEN - CALL GNCTUB (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - PRINT *, ' GNEXT : No code for shape ', ISH - STOP - ENDIF -* - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LT.SNEXT) SNEXT = SNXT -* - 400 IF (GONLY(NLEVEL).EQ.0.) THEN -* -* *** Case of a 'NOT ONLY' volume -> step search -* - SAFETY = 0. - EPSI2 = 0.5*EPSIL - ST = SNEXT -EPSI2 - IF (ST.LE.0) GO TO 999 - EPSI3 = 10.*EPSIL - IF (ST.LE.EPSI3) THEN - NN = 1 - ELSE - NN = ST/EPSI3 +1 - ST = ST/NN - ENDIF -* - NBIN = 0 - SN = 0. - 420 SN = SN +ST - DO 429 I = 1,3 - XT(I) = X(I) +SN*X(I+3) - 429 CONTINUE -* - CALL GINVOL (XT, ISAME) - IF (ISAME.EQ.0) THEN - IF (ST.LT.EPSI2) GO TO 490 - SN = SN -ST - ST = 0.5*ST - NBIN = 1 - GO TO 420 - ENDIF -* - IF (NBIN.NE.0) THEN - IF (ST.LT.EPSI2) THEN - SN = SN +EPSI2 - GO TO 490 - ELSE - ST = 0.5*ST - GO TO 420 - ENDIF - ENDIF - NN = NN -1 - IF (NN.GT.0) GO TO 420 - GO TO 999 -* - 490 IF (SN.LT.SNEXT) SNEXT = SN - ENDIF -* END GNEXT - 999 END - -#else - SUBROUTINE GNEX2_DUMMY - END -#endif diff --git a/StarVMC/geant3/ggeom/gnext.F b/StarVMC/geant3/ggeom/gnext.F deleted file mode 100644 index a60b86eb404..00000000000 --- a/StarVMC/geant3/ggeom/gnext.F +++ /dev/null @@ -1,896 +0,0 @@ -* -* $Id: gnext.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnext.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if !defined(CERNLIB_OLD) -*CMZ : 3.21/02 29/03/94 15.06.41 by S.Giani -*-- Author : - SUBROUTINE GNEXT (X, SNEXT, SAFETY) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GNEXT (X, SNEXT, SAFETY) * -C. * * -C. * Computes SNEXT and SAFETY * -C. * SNEXT (output) : distance to closest boundary * -C. * from point X(1-3) along X(4-6) * -C. * SAFETY (output) : shortest distance to any boundary * -C. * * -C. * Called by : User * -C. * Author : S.Giani (1993) * -C. * * -C. * This routine is now based on the new 'virtual divisions' * -C. * algorithm to speed up the tracking. * -C. * The tracking for MANY volumes is not anymore based on a step * -C. * search: it is now based on a search through the list of * -C. * 'possible overlapping volumes' built by GTMEDI. * -C. * Boolean operations and divisions along arbitrary axis are * -C. * now supported. * -C. * Important notice: in case of MANY volumes, it might happen * -C. * that at the end of GNEXT the volume where X was found to * -C. * be is not anymore the current volume in GCVOLU (being the * -C. * tree ready for the volume where the particles is entering).* -C. * When this happens, the variable MYCOUN in the common block * -C. * PHYCOU is greater than one; the user can take the proper * -C. * actions (before calling GINVOL, for example) like restoring* -C. * the old tree: this is possible because GMEDIA has saved * -C. * the needed informations in MANYLE(NFMANY) (for nlevel), in * -C. * MANYNA(NFMANY,i) (for names(i)) and in MANYNU(NFMANY,i) * -C. * (for number(i)); this is sufficient to restore the old tree* -C. * by calling GLVOLU. * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcvolu.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -#include "geant321/gchvir.inc" -#include "geant321/gcvdma.inc" - DIMENSION NUMTMP(15),NAMTMP(15) - dimension iarrin(500),cxm(3),xxm(6) - REAL X(6), X0(6), XC(6), XT(6) - INTEGER IDTYP(3,12) - LOGICAL BTEST - SAVE IDTYP -C. - DATA IDTYP / 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 2, 3, 1, - + 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 4, 3, 1, 1, 1, - + 2, 3, 1, 2, 3, 1/ -C. -C. ------------------------------------------------------------------ -* -* *** Transform current point and direction into local reference system -* - mycoun=0 - myinfr=0 - newfl=0 - manyfl=0 - tsafet=big - tsnext=big - 401 IF (GRMAT(10,NLEVEL).EQ.0.) THEN - DO 19 I = 1,3 - XC(I) = X(I) -GTRAN(I,NLEVEL) - XC(I+3) = X(I+3) - 19 CONTINUE - ELSE -* (later, code in line) - CALL GTRNSF (X, GTRAN(1,NLEVEL), GRMAT(1,NLEVEL), XC) - CALL GROT (X(4), GRMAT(1,NLEVEL), XC(4)) - ENDIF -* -* *** Compute distance to boundaries -* - SNEXT = BIG - SAFETY = BIG - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - ISH = Q(JVO+2) - IF (Q(JVO+3).EQ.0.) GO TO 300 - NIN = Q(JVO+3) - IF (NIN.LT.0) GO TO 200 -* -* *** Case with contents positioned -* - sneold=SNEXT - nnn=0 - nflag=0 - mmm=0 - snxtot=0. - 111 if(nin.gt.1)then - if(nnn.gt.0)goto 112 - clmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+3) - chmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+4) - ndivto=q(jvirt+4*(LVOLUM(NLEVEL)-1)+2) - iaxis =q(jvirt+4*(LVOLUM(NLEVEL)-1)+1) - if(iaxis.eq.4)then - do 1 i=1,6 - xxm(i)=xc(i) - 1 continue - endif - divthi=(chmoth-clmoth)/ndivto - if(iaxis.le.3)then - cx=xc(iaxis) - if(xc(iaxis+3).ge.0.)then - inc=1 - else - inc=-1 - endif - xvdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - ivdiv=xvdiv - if((xvdiv-ivdiv).lt.0.0001.and.inc.eq.-1)ivdiv=ivdiv-1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - else - call gfcoor(xc,iaxis,cx) - if(iaxis.eq.4)then - dr= xc(1)*xc(4)+xc(2)*xc(5) -* if(dr.eq.0.)print *,'dr.eq.0.' - if(dr.ge.0.)then - inc=1 - else - inc=-1 - endif - elseif(iaxis.eq.6)then - if((cx-clmoth).lt.-1.)then - cx=cx+360. - elseif((cx-chmoth).gt.1.)then - cx=cx-360. - endif - if(cx.gt.chmoth)then - cx=chmoth - elseif(cx.lt.clmoth)then - cx=clmoth - endif - dfi=xc(1)*xc(5)-xc(2)*xc(4) - if(dfi.ge.0)then - inc=1 - else - inc=-1 - endif - endif - xvdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - ivdiv=xvdiv - if((xvdiv-ivdiv).lt.0.0001.and.inc.eq.-1)ivdiv=ivdiv-1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - endif - jvdiv=lq(jvirt-LVOLUM(NLEVEL)) - 112 iofset=iq(jvdiv+ivdiv) - jcont2=jvdiv+iofset+1 - ncont=iq(jcont2) - if(ncont.eq.0)then - idmi=iq(jcont2+1) - idma=iq(jcont2+2) - llflag=0 - elseif(ncont.eq.1)then - idmi=iq(jcont2+2) - idma=iq(jcont2+3) - in=iq(jcont2+1) - else - idmi=iq(jcont2+ncont+1) - idma=iq(jcont2+ncont+2) - iii=1 - in=iq(jcont2+iii) - endif - if(nnn.eq.0)then - cxold=cx - if(inc.gt.0)then - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - if(iaxis.ne.6)then - safety=min(safety,(cxold-cmin)) - else - safefi=min(90.,(cxold-cmin)) - saferr=sqrt(xc(1)**2+xc(2)**2) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - else - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - if(iaxis.ne.6)then - safety=min(safety,(cmax-cxold)) - else - safefi=min(90.,(cmax-cxold)) - saferr=sqrt(xc(1)**2+xc(2)**2) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - endif - endif - if(ncont.eq.0)goto 181 - elseif(nin.eq.1)then - in=1 - endif -* - 150 if(nin.gt.1.and.ncont.gt.1)then - in=iq(jcont2+iii) - endif - if(nin.gt.0)then - jin=lq(jvo-in) - if(.NOT.BTEST(iq(jin),4))then - else - goto 171 - endif - endif - if(nin.gt.1)then - llflag=0 - if(mmm.le.500)then - do 151 ll=1,mmm - if(iarrin(ll).eq.in)then - llflag=1 - goto 171 - endif - 151 continue - endif - if(llflag.eq.0)then - mmm=mmm+1 - if(mmm.le.500)then - iarrin(mmm)=in - endif - endif - endif - IF(IN.LE.0)GO TO 300 - JIN = LQ(JVO-IN) - IVOT = Q(JIN+2) - JVOT = LQ(JVOLUM-IVOT) - IROTT = Q(JIN+4) -* - IF (NLEVEL.GE.NLDEV(NLEVEL)) THEN -* (case with JVOLUM structure locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - DO 169 ILEV = NLDEV(NLEVEL), NLEVEL - IF (IQ(JPAR+1).EQ.0) THEN - IF (ILEV.EQ.NLEVEL) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ENDIF - IF (JPAR.EQ.0) GO TO 170 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 169 CONTINUE - JPAR = JPAR + 5 - GO TO 179 - ENDIF -* (normal case) - 170 NPAR = Q(JVOT+5) - IF (NPAR.EQ.0) THEN - JPAR = JIN +9 - ELSE - JPAR = JVOT +6 - ENDIF - 179 if((nin.eq.1).or.(nin.gt.1.and.llflag.eq.0))then -* -* * Compute distance to boundary of current content -* - 180 IF (IROTT.EQ.0) THEN - DO 189 I = 1,3 - XT(I) = XC(I) -Q(JIN+4+I) - XT(I+3) = XC(I+3) - 189 CONTINUE - ELSE -* (later, code in line) - CALL GITRAN (XC, Q(JIN+5), IROTT, XT) - CALL GRMTD (XC(4), IROTT, XT(4)) - ENDIF -* - IACT = 2 - ISHT = Q(JVOT+2) - IF (ISHT.LT.5) THEN - IF (ISHT.EQ.1) THEN - CALL GNOBOX (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.2) THEN - CALL GNOTRA(XT,Q(JPAR+1),IACT,1,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.3) THEN - CALL GNOTRA(XT,Q(JPAR+1),IACT,2,SNEXT,SNXT,SAFE) - ELSE - CALL GNOTRP (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ENDIF - ELSE IF (ISHT.LE.10) THEN - IF (ISHT.EQ.5) THEN - CALL GNOTUB(XT,Q(JPAR+1),IACT,1,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.6) THEN - CALL GNOTUB(XT,Q(JPAR+1),IACT,2,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.7) THEN - CALL GNOCON(XT,Q(JPAR+1),IACT,1,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.8) THEN - CALL GNOCON(XT,Q(JPAR+1),IACT,2,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.9) THEN - CALL GNOSPH (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE - CALL GNOPAR (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ENDIF - ELSE IF (ISHT.EQ.11) THEN - CALL GNOPGO (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.12) THEN - CALL GNOPCO (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.13) THEN - CALL GNOELT (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.14) THEN - CALL GNOHYP (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.28) THEN - CALL GSNGTR (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE,0) - ELSE IF (ISHT.EQ.NSCTUB) THEN - CALL GNOCTU (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE - PRINT *, ' GNEXT : No code for shape ', ISHT - STOP - ENDIF -* - safe=max(safe,0.) - if(snxt.le.-prec)snxt=big - snxt=max(snxt,0.) - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LT.SNEXT) THEN - SNEXT = SNXT - ENDIF - endif - 171 if(nin.eq.1)then - goto 300 - elseif(nin.ge.1.and.ncont.gt.1)then - iii=iii+1 - if(iii.le.ncont)goto 150 - endif -* -* * Compute distance to boundary of current volume -* - 181 if(nnn.eq.0)then - JPAR = LQ(JGPAR-NLEVEL) - IACT = 2 - ISH = Q(JVO+2) - IF (ISH.LT.5) THEN - IF (ISH.EQ.1) THEN - CALL GNBOX (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.2) THEN - CALL GNTRAP (XC, Q(JPAR+1),IACT,1, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.3) THEN - CALL GNTRAP (XC, Q(JPAR+1),IACT,2, SNEXT,SNXT,SAFE) - ELSE - CALL GNTRP (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.LE.10) THEN - IF (ISH.EQ.5) THEN - CALL GNTUBE (XC, Q(JPAR+1),IACT,1, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.6) THEN - CALL GNTUBE (XC, Q(JPAR+1),IACT,2, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.7) THEN - CALL GNCONE (XC, Q(JPAR+1),IACT,1, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.8) THEN - CALL GNCONE (XC, Q(JPAR+1),IACT,2, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.9) THEN - CALL GNSPHR (XC, Q(JPAR+1),IACT, SNEXT, SNXT, SAFE) - ELSE - CALL GNPARA (XC, Q(JPAR+1),IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.EQ.12) THEN - CALL GNPCON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.11) THEN - CALL GNPGON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.13) THEN - CALL GNELTU (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.14) THEN - CALL GNHYPE (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.28) THEN - CALL GSNGTR (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE,1) - ELSE IF (ISH.EQ.NSCTUB) THEN - CALL GNCTUB (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - PRINT *, ' GNEXT : No code for shape ', ISH - STOP - ENDIF -* - safe=max(safe,0.) - if(snxt.le.-prec)snxt=big - snxt=max(snxt,0.) - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LT.SNEXT) SNEXT = SNXT - endif - if(iaxis.eq.4)then - if(idma.eq.ndivto.and.inc.gt.0)goto 400 - cxm(1)=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - if(idmi.eq.idma)then - cxm(2)=cxm(1)+divthi - else - cxm(2)=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - endif - cxm(3)=20000. - call gntube(xxm,cxm,3,1,SNEXT,snxnew,safe) - snxnew=snxnew+.004 - snxtot=snxtot+snxnew - if(snxtot.lt.SNEXT)then - xxm(1)=xxm(1)+snxnew*xxm(4) - xxm(2)=xxm(2)+snxnew*xxm(5) - xxm(3)=xxm(3)+snxnew*xxm(6) - call gfcoor(xxm,iaxis,cxnew) - xevdiv=((cxnew-clmoth)*ndivto/(chmoth-clmoth))+1 - ivdiv=xevdiv - dr= xxm(1)*xxm(4)+xxm(2)*xxm(5) -* if(dr.eq.0.)print *,'dr.eq.0.' - if(dr.ge.0.)then - inc=1 - else - inc=-1 - endif - if((xevdiv-ivdiv).lt.0.0001.and.inc.eq.-1)ivdiv=ivdiv-1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - nnn=nnn+1 - goto 111 - else - if(inc.gt.0)then - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - safety=min(safety,(cmax-cxold)) - else - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - safety=min(safety,(cxold-cmin)) - endif - goto 400 - endif - endif - if(nnn.ne.0.and.SNEXT.eq.sneold)goto 199 - x0(1) = xc(1) + SNEXT*xc(4) - x0(2) = xc(2) + SNEXT*xc(5) - x0(3) = xc(3) + SNEXT*xc(6) - x0(4) = xc(4) - x0(5) = xc(5) - x0(6) = xc(6) - if(iaxis.le.3)then - cx=x0(iaxis) - xevdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - ievdiv=xevdiv - if((xevdiv-ievdiv).lt.0.0001.and.inc.eq.-1)ievdiv=ievdiv-1 - if(ievdiv.lt.1)then - ievdiv=1 - elseif(ievdiv.gt.ndivto)then - ievdiv=ndivto - endif - else - call gfcoor(x0,iaxis,cx) - if(iaxis.eq.6)then - if((cx-clmoth).lt.-1.)then - cx=cx+360. - elseif((cx-chmoth).gt.1.)then - cx=cx-360. - endif - if(cx.gt.chmoth)then - cx=chmoth - elseif(cx.lt.clmoth)then - cx=clmoth - endif - endif - xevdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - ievdiv=xevdiv - if((xevdiv-ievdiv).lt.0.0001.and.inc.eq.-1)ievdiv=ievdiv-1 - if(ievdiv.lt.1)then - ievdiv=1 - elseif(ievdiv.gt.ndivto)then - ievdiv=ndivto - endif - endif - 199 if(ievdiv.ge.idmi.and.ievdiv.le.idma)then - if(inc.gt.0)then - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - if(iaxis.ne.6)then - safety=min(safety,(cmax-cxold)) - else - safefi=min(90.,(cmax-cxold)) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - else - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - if(iaxis.ne.6)then - safety=min(safety,(cxold-cmin)) - else - safefi=min(90.,(cxold-cmin)) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - endif - goto 400 - endif - if(iaxis.eq.6.or.iaxis.le.3)then - if(ievdiv.lt.idmi.and.inc.gt.0)then - if(nnn.eq.0.and.iaxis.eq.6)nflag=1 - if(nflag.eq.0)then -* print *,'ievdiv=',ievdiv,' ;idmi=',idmi,' inc.gt.0' -* print *,isht,'=isht; ',iaxis,'=iaxis; ',ish,'=ish;' - if(iaxis.le.3)then - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - safety=min(safety,abs(cmax-cxold)) - elseif(iaxis.eq.6)then - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - safefi=min(90.,(cmax-cxold)) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - goto 400 - endif - elseif(ievdiv.gt.idma.and.inc.lt.0)then - if(nnn.eq.0.and.iaxis.eq.6)nflag=1 - if(nflag.eq.0)then -* print *,'ievdiv=',ievdiv,' ;idma=',idma,' inc.lt.0' -* print *,isht,'=isht; ',iaxis,'=iaxis; ',ish,'=ish;' - if(iaxis.le.3)then - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - safety=min(safety,abs(cxold-cmin)) - elseif(iaxis.eq.6)then - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - safefi=min(90.,(cxold-cmin)) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - goto 400 - endif - endif - endif - nnn=nnn+1 - sneold=SNEXT - if(inc.gt.0)then - if(iaxis.eq.6)then - if(idma.eq.ndivto.and.(chmoth-clmoth).eq.360.)then - ivdiv=1 - else - ivdiv=idma+1 - endif - else - ivdiv=idma+1 - endif - else - if(iaxis.eq.6)then - if(idmi.eq.1.and.(chmoth-clmoth).eq.360.)then - ivdiv=ndivto - else - ivdiv=idmi-1 - endif - else - ivdiv=idmi-1 - endif - endif - goto 111 -* -* *** Case of volume incompletely divided -* - 200 JDIV = LQ(JVO-1) - IAXIS = Q(JDIV+1) - IVOT = Q(JDIV+2) - JVOT = LQ(JVOLUM-IVOT) - ISHT = Q(JVOT+2) -* -* ** Get the division parameters -* - IF (NLEVEL.LT.NLDEV(NLEVEL)) THEN - JPARM = 0 - ELSE -* (case with JVOLUM structure locally developed) - JPARM = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - IF (NLEVEL.EQ.NLDEV(NLEVEL)) GO TO 215 - DO 210 ILEV = NLDEV(NLEVEL), NLEVEL-1 - IF (IQ(JPARM+1).EQ.0) THEN - JPARM = LQ(JPARM-LINDEX(ILEV+1)) - IF (JPARM.EQ.0) GO TO 215 - ELSE IF (IQ(JPARM-3).GT.1) THEN - JPARM = LQ(JPARM-LINDEX(ILEV+1)) - ELSE - JPARM = LQ(JPARM-1) - ENDIF - IF (ILEV.EQ.NLEVEL-1) THEN - NDIV = IQ(JPARM+1) - ORIG = Q(JPARM+2) - SDIV = Q(JPARM+3) - ENDIF - 210 CONTINUE - GO TO 220 - ENDIF -* (normal case) - 215 NDIV = Q(JDIV+3) - ORIG = Q(JDIV+4) - SDIV = Q(JDIV+5) -* -* ** Look at the first and the last divisions only -* - 220 IDT = IDTYP(IAXIS, ISH) - IF (IDT.EQ.1) THEN - IN2 = 0 - IF (XC(IAXIS).LT.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE IF (IDT.EQ.2) THEN - R = XC(1)**2 + XC(2)**2 - IF (ISH.EQ.9) R = R + XC(3)**2 - R = SQRT(R) - IN2 = 0 - IF (ISH.EQ.5.OR.ISH.EQ.6.OR.ISH.EQ.9) THEN - IF (R.LT.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE - PRINT *, ' GNEXT : Partially divided ',ISH,IAXIS - IN = 1 - IF (NDIV.GT.1) IN2 = NDIV - ENDIF - ELSE IF (IDT.EQ.4) THEN - IN2 = 0 - RXY = XC(1)**2 + XC(2)**2 - RXY = SQRT(RXY) - IF (XC(3).NE.0.0) THEN - THET = RADDEG * ATAN (RXY/XC(3)) - IF (THET.LT.0.0) THET = THET + 180.0 - ELSE - THET = 90. - ENDIF - IF (THET.LE.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE - PRINT *, ' GNEXT : Partially divided ',ISH,IAXIS - IN2 = 0 - IF (ISH.EQ.5.OR.ISH.EQ.7) THEN - IN = 1 - IF (NDIV.GT.1) IN2 = NDIV - ELSE - IF (XC(1).NE.0.0.OR.XC(2).NE.0.0) THEN - PHI = RADDEG * ATAN2 (XC(2), XC(1)) - ELSE - PHI = 0.0 - ENDIF - IF (ISH.EQ.6.OR.ISH.EQ.8) THEN - IF (PHI.LT.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE - IN = 1 - IF (NDIV.GT.1) IN2 = NDIV - ENDIF - ENDIF - ENDIF -* - 225 IF (IDT.EQ.1) THEN - DO 231 I = 1, 3 - X0(I) = 0.0 - 231 CONTINUE - X0(IAXIS) = ORIG + (IN - 0.5) * SDIV - IF (ISH.EQ.4.OR.(ISH.EQ.10.AND.IAXIS.NE.1)) THEN - CALL GCENT (IAXIS, X0) - ENDIF - DO 232 I = 1, 3 - XT(I) = XC(I) - X0(I) - XT(I+3) = XC(I+3) - 232 CONTINUE - ELSE IF (IDT.EQ.3) THEN - PH0 = DEGRAD * (ORIG + (IN - 0.5) * SDIV) - CPHR = COS(PH0) - SPHR = SIN(PH0) - DO 233 I = 1, 4, 3 - XT(I) = XC(I)*CPHR + XC(I+1)*SPHR - XT(I+1) = XC(I+1)*CPHR - XC(I)*SPHR - XT(I+2) = XC(I+2) - 233 CONTINUE - ELSE - DO 234 I = 1, 6 - XT(I) = XC(I) - 234 CONTINUE - ENDIF -* - IF (JPARM.NE.0) THEN - IF (IQ(JPARM-3).GT.1) THEN - JPAR = LQ(JPARM-IN) - ELSE - JPAR = LQ(JPARM-1) - ENDIF - JPAR = JPAR + 5 - ELSE - JPAR = JVOT + 6 - ENDIF -* - IACT = 2 - IF (ISHT.LT.5) THEN - IF (ISHT.EQ.1) THEN - CALL GNOBOX (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.2) THEN - CALL GNOTRA (XT, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.3) THEN - CALL GNOTRA (XT, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE - CALL GNOTRP (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISHT.LE.10) THEN - IF (ISHT.EQ.5) THEN - CALL GNOTUB (XT, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.6) THEN - CALL GNOTUB (XT, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.7) THEN - CALL GNOCON (XT, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.8) THEN - CALL GNOCON (XT, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.9) THEN - CALL GNOSPH (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - CALL GNOPAR (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISHT.EQ.11) THEN - CALL GNOPGO (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.12) THEN - CALL GNOPCO (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.13) THEN - CALL GNOELT (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.14) THEN - CALL GNOHYP (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.28) THEN - CALL GSNGTR (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE,0) - ELSE IF (ISHT.EQ.NSCTUB) THEN - CALL GNOCTU (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - PRINT *, ' GNEXT : No code for shape ', ISHT - STOP - ENDIF -* - safe=max(safe,0.) - if(snxt.le.-prec)snxt=big - snxt=max(snxt,0.) - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LT.SNEXT) SNEXT = SNXT -* - IF (IN2.NE.0) THEN - IF (IN2.NE.IN) THEN - IN = IN2 - GO TO 225 - ENDIF - ENDIF -* -* *** Calculate SNEXT and SAFETY with respect to the Mother -* *** SAFETY only for concave volumes if finite SNEXT -* *** has been found with respect to one of its contents -* - 300 IACT = 2 - IF (SNEXT.LT.0.9*BIG) THEN - IF (.NOT.BTEST(IQ(JVO),2)) IACT = 0 - ENDIF - if(nin.eq.1.and.SNEXT.LT.0.9*BIG)then - if(q(jin+8).eq.0.)iact=2 - endif - JPAR = LQ(JGPAR-NLEVEL) - IF (ISH.LT.5) THEN - IF (ISH.EQ.1) THEN - CALL GNBOX (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE ) - ELSE IF (ISH.EQ.2) THEN - CALL GNTRAP (XC, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.3) THEN - CALL GNTRAP (XC, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE - CALL GNTRP (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.LE.10) THEN - IF (ISH.EQ.5) THEN - CALL GNTUBE (XC, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.6) THEN - CALL GNTUBE (XC, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.7) THEN - CALL GNCONE (XC, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.8) THEN - CALL GNCONE (XC, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.9) THEN - CALL GNSPHR (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - CALL GNPARA (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.EQ.12) THEN - CALL GNPCON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.11) THEN - CALL GNPGON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.13) THEN - CALL GNELTU (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.14) THEN - CALL GNHYPE (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.28) THEN - CALL GSNGTR (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE,1) - ELSE IF (ISH.EQ.NSCTUB) THEN - CALL GNCTUB (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - PRINT *, ' GNEXT : No code for shape ', ISH - STOP - ENDIF -* - safe=max(safe,0.) - if(snxt.le.-prec)snxt=big - snxt=max(snxt,0.) - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LT.SNEXT) SNEXT = SNXT -* - 400 if(myinfr.gt.0)then - jin=lq(jvo-myinfr) - iq(jin)=ibclr(iq(jin),4) - myinfr=0 - endif - if(gonly(nlevel).eq.0..or.nvmany.ne.0) THEN - if(safety.lt.tsafet)tsafet=safety - if(snext.lt.tsnext)then - mycoun=mycoun+1 - tsnext=snext - call gscvol - endif - if(gonly(nlevel).eq.0.)then - 404 continue - if(gonly(nlevel-1).eq.0..or.newfl.eq.0)then - if(gonly(nlevel-1).ne.0.)newfl=1 - nlevel=nlevel-1 - jvo=lq(jvolum-lvolum(nlevel)) - nin=q(jvo+3) - if(nin.lt.0)goto 404 - myinfr=lindex(nlevel+1) - jin=lq(jvo-myinfr) - iq(jin)=ibset(iq(jin),4) - ignext=0 - goto 401 - endif - endif - 403 continue - if(manyfl.lt.nvmany)then - manyfl=manyfl+1 - if(manyfl.eq.nfmany)goto 403 - levtmp=manyle(manyfl) - do 402 i=1,levtmp - namtmp(i)=manyna(manyfl,i) - numtmp(i)=manynu(manyfl,i) - 402 continue - call glvolu(levtmp,namtmp,numtmp,ier) - if(ier.ne.0)print *,'Fatal error in GLVOLU' - ignext=0 - goto 401 - endif - if(tsafet.le.safety)safety=tsafet - if(tsnext.le.snext)then - snext=tsnext - call gfcvol - endif - endif -* END GNEXT - 999 END - -#endif diff --git a/StarVMC/geant3/ggeom/gnhype.F b/StarVMC/geant3/ggeom/gnhype.F deleted file mode 100644 index 3c28b57a523..00000000000 --- a/StarVMC/geant3/ggeom/gnhype.F +++ /dev/null @@ -1,130 +0,0 @@ -* -* $Id: gnhype.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnhype.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNHYPE (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH HYPErboloid * -C. * VOLUME FROM INSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * inner radius * -C. * outer radius * -C. * half length in z * -C. * straw stereo angle in degrees * -C. * r**2 = (z*tan(theta))**2 + a**2 * -C. * * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Authors M.J. Corden, A.Palounek * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6),PAR(4) - -C------------------------------------------------------------- - - SNXT = BIG - R2 = X(1)*X(1) + X(2)*X(2) - TANTHS=(TAN(PAR(4)*DEGRAD))**2 - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - - SAFZ1 = PAR(3) - X(3) - SAFZ2 = PAR(3) + X(3) - - IF (IACT .LT. 3) THEN - -C tube version: -C R = SQRT (R2) -C IF (PAR(1).NE.0.) THEN -C SAFR1 = R - PAR(1) -C ELSE -C SAFR1 = BIG -C ENDIF -C SAFR2 = PAR(2) - R -C -C SAFE = MIN (SAFZ1, SAFZ2, SAFR1, SAFR2) -C -C simple, safe choice for hyperboloid for now: - SAFE=0. -C - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - -C -C Compute intersection with z-boundaries. -C - IF(X(6).GT.0.)THEN - SNXT=SAFZ1/X(6) - ELSEIF(X(6).LT.0.)THEN - SNXT=-SAFZ2/X(6) - ENDIF -C -C Compute intercepts with inner & outer curved surfaces: -C - A = X(4)**2 + X(5)**2 - X(6)**2*TANTHS - B = X(1)*X(4) + X(2)*X(5) - X(3)*X(6)*TANTHS - - DO 38 NCYL =1,2 - C = R2 - X(3)**2*TANTHS - PAR(NCYL)**2 - SURD = B**2 - A*C - IF(SURD.GT.0.) THEN - SURD=SQRT(SURD) - DIST1=(-B+SURD)/A - IF(DIST1.GT.0.) SNXT=MIN(SNXT,DIST1) - DIST2=(-B-SURD)/A - IF(DIST2.GT.0.) SNXT=MIN(SNXT,DIST2) -C not necessary to compute intercept with outer surface -C if there is a positive intercept with inner surface: - IF(DIST1.GT.0. .OR. DIST2.GT.0.) GO TO 999 - ENDIF - 38 CONTINUE -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gnobox.F b/StarVMC/geant3/ggeom/gnobox.F deleted file mode 100644 index 6a12111a83e..00000000000 --- a/StarVMC/geant3/ggeom/gnobox.F +++ /dev/null @@ -1,140 +0,0 @@ -* -* $Id: gnobox.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnobox.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOBOX (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'BOX' VOLUME, * -C. * FROM OUTSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson, P.Weidhaas ****** * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6),PAR(3),SAF(3) - EQUIVALENCE (SAF(1),SAF1),(SAF(2),SAF2),(SAF(3),SAF3) -C. -C. ---------------------------------------------------------------- -C. - - SNXT = BIG - DO 5 I=1,3 - SAF(I)=ABS(X(I))-PAR(I) - 5 CONTINUE - - IF (IACT .LT. 3) THEN - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - - SAFE = MAX (SAF1, SAF2, SAF3, 0.0) - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - - IF(X(1)*X(4).GE.0.0.AND.SAF1.GT.0.) GO TO 999 - IF(X(2)*X(5).GE.0.0.AND.SAF2.GT.0.) GO TO 999 - IF(X(3)*X(6).GE.0.0.AND.SAF3.GT.0.) GO TO 999 -C - SMAX1=BIG - SMAX2=BIG - SMAX3=BIG - SMIN1=0.0 -C - IF(SAF1.LT.0.) GO TO 10 - IF(X(4).EQ.0.0) GO TO 999 - S4 = ABS(X(4)) - SMIN1=SAF1 / S4 - SMAX1=(PAR(1)+ABS(X(1))) / S4 - GO TO 20 -C - 10 CONTINUE - IF(X(4).NE.0.)THEN - SMAX1=PAR(1)/ABS(X(4))-X(1)/X(4) - ENDIF - 20 CONTINUE -C - SMIN2=0.0 - IF(SAF2.LT.0.) GO TO 30 - IF(X(5).EQ.0.0) GO TO 999 - S5=ABS(X(5)) - SMIN2=SAF2/S5 - SMAX2=(PAR(2)+ABS(X(2)))/S5 - GO TO 40 -C - 30 CONTINUE - IF(X(5).NE.0.)THEN - SMAX2=PAR(2)/ABS(X(5))-X(2)/X(5) - ENDIF - 40 CONTINUE -C - SMIN3=0.0 - IF(SAF3.LT.0.) GO TO 50 - IF(X(6).EQ.0.0) GO TO 999 - S6=ABS(X(6)) - SMIN3=SAF3/S6 - SMAX3=(PAR(3)+ABS(X(3)))/S6 - GO TO 60 -C - 50 CONTINUE - IF(X(6).NE.0.)THEN - SMAX3=PAR(3)/ABS(X(6))-X(3)/X(6) - ENDIF - 60 CONTINUE -C - SMIN=MAX(SMIN1,SMIN2,SMIN3) - SMAX=MIN(SMAX1,SMAX2,SMAX3) - IF(SMAX.LT.SMIN) GO TO 999 -C - IF(SMIN.LE.0.)GO TO 999 - SNXT = SMIN - - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gnocon.F b/StarVMC/geant3/ggeom/gnocon.F deleted file mode 100644 index 39c4e2b4707..00000000000 --- a/StarVMC/geant3/ggeom/gnocon.F +++ /dev/null @@ -1,327 +0,0 @@ -* -* $Id: gnocon.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnocon.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOCON(X,P,IACT,IFL,SNEXT,SNXT,SAFE) -C. ****************************************************************** -C. * * -C. * Compute distance to intersection with boundary surface of * -C * volume CONE or CONS, from point X(1),X(2),X(3) outside * -C * the volume along track with direction cosines X(4),X(5), * -C * X(6) * -C. * P (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, compute SNXT only if SAFE.LT.SNEXT * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * IFL (input) : 1 for CONE, 2 for PHI segmented CONE * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary along track * -C. * SAFE (output) : not larger than scalar distance to * -C. * volume boundaray * -C. * Called by : GNEXT, GNOPCO, GTNEXT * -C. * * -C. * Authors : Michel Maire and Rolf Nierhaus 21-JUN-1990 * -C. * * -C. ****************************************************************** -C. * * -C. * 'CONE' is a conical tube. It has 5 parameters : * -C. * the half length in z, * -C. * the inside and outside radii at the low z limit, * -C. * and those at the high z limit. * -C. * 'CONS' is a phi segment of a conical tube. It has 7 * -C. * parameters, the same 5 as 'CONE' plus the phi limits.* -C. * The segment starts at the first limit and includes * -C. * increasing phi value up to the second limit or * -C. * that plus 360 degrees. * -C. * * -C. ****************************************************************** -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - PARAMETER (F=0.01745329251994330D0) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (F=0.01745329251994330) -#endif - REAL X(6),P(7),SNEXT,SNXT,SAFE - PARAMETER (ONE=1,HALF=ONE/2,ZERO=0) -* -* this part has to be moved outside the routine - RO1=HALF*(P(4)+P(2)) - TG1=HALF*(P(4)-P(2))/P(1) - CR1=ONE/SQRT(ONE+TG1*TG1) - ZV1=1.E10 - IF (P(2).NE.P(4)) ZV1=-RO1/TG1 - RO2=HALF*(P(5)+P(3)) - TG2=HALF*(P(5)-P(3))/P(1) - CR2=ONE/SQRT(ONE+TG2*TG2) - ZV2=1.E10 - IF (P(3).NE.P(5)) ZV2=-RO2/TG2 - IF (IFL.EQ.2) THEN - P6=P(6)*F - P7=P(7)*F - IF (P7.LT.P6) P7=P7+F*360 - C1=COS(P6) - S1=SIN(P6) - C2=COS(P7) - S2=SIN(P7) - FIO=HALF*(P7+P6) - CFIO=COS(FIO) - SFIO=SIN(FIO) - DFI=HALF*(P7-P6) - CDFI=COS(DFI) -* SDFI=SIN(DFI) - END IF -* - SNXT=1.E10 - R =SQRT(X(1)**2+X(2)**2) - RIN =ABS(TG1*X(3)+RO1) - ROUT=ABS(TG2*X(3)+RO2) -* -* Compute SAFE radius - IF (IACT.LT.3) THEN - SAF1=(RIN -R)*CR1 - SAF2=(R-ROUT)*CR2 - SAF3=ABS(X(3))-P(1) - SAF4=0. - IF (IFL.EQ.2.AND.R.GT.0.) THEN - CPSI=(X(1)*CFIO+X(2)*SFIO)/R - IF (CPSI.LT.CDFI) THEN - IF ((X(2)*CFIO-X(1)*SFIO).LE.0.) THEN - SAF4=ABS(X(1)*S1-X(2)*C1) - ELSE - SAF4=ABS(X(1)*S2-X(2)*C2) - END IF - END IF - END IF - SAFE=MAX(SAF1,SAF2,SAF3,SAF4) - IF (IACT.EQ.0) GO TO 999 - IF (IACT.EQ.1.AND.SNEXT.LE.SAFE) GO TO 999 - END IF -* -* Intersection with z-plane -* only points outside the z range need to be considered - IF (ABS(X(3)).GE.P(1)) THEN - IF (X(3)*X(6).LT.0.) THEN - S=(ABS(X(3))-P(1))/ABS(X(6)) - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - RIQ=XI**2+YI**2 - IF (X(3).LE.0.) THEN - R1Q=P(2)**2 - R2Q=P(3)**2 - ELSE - R1Q=P(4)**2 - R2Q=P(5)**2 - END IF - IF (R1Q.LE.RIQ.AND.RIQ.LE.R2Q) THEN - IF (IFL.EQ.1.OR.RIQ.LE.0.) GO TO 101 - CPSI=(XI*CFIO+YI*SFIO)/SQRT(RIQ) - IF (CPSI.GE.CDFI) GO TO 101 - END IF - END IF - END IF -* -* Intersection with cones -* Intersection point (x,y,z) -* (x,y,z) is on track: x=X(1)+t*X(4) -* y=X(2)+t*X(5) -* z=X(3)+t*X(6) -* (x,y,z) is on cone : x**2 + y**2 = (a*z+b)**2 -* -* (X(4)**2+X(5)**2-(a*x(6))**2)*t**2 -* +2.*(X(1)*X(4)+X(2)*X(5)-a*x(6)*(a*x(3)+b))*t -* +X(1)**2+X(2)**2-(a*x(3)+b)**2=0 -* - T1=X(4)**2+X(5)**2 - T2=X(1)*X(4)+X(2)*X(5) - T3=X(1)**2+X(2)**2 -* -* Intersection with the outer cone -* only points outside the outer cone need to be considered - SR2=1.E10 - IF ((ZV2*X(3).GT.ZV2*ZV2).OR.(R.GT.ROUT)) THEN - U=T1-(TG2*X(6))**2 - V=T2- TG2*X(6)*(TG2*X(3)+RO2) - W=T3- ROUT*ROUT -* track not parallel to the cone ? - IF (U.NE.0.) THEN - B=V/U - C=W/U - D=B**2-C - IF (D.GE.0.) THEN -* compute the smallest root first - IR=-1 - 11 S=-B+IR*SQRT(D) - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(1)) THEN - IF (IFL.EQ.1.OR.ZI.EQ.ZV2) THEN - SR2=S - ELSE - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - RI=TG2*ZI+RO2 - CPSI=(XI*CFIO+YI*SFIO)/RI - IF (CPSI.GE.CDFI) SR2=S - END IF - END IF - END IF - IF (IR.EQ.-1) THEN - IF (SR2.EQ.S) GO TO 101 -* smallest root not ok. Try the biggest one - IR=+1 - GO TO 11 - END IF - END IF - ELSEIF (V.NE.0.) THEN - S=-HALF*W/V - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(1)) THEN - IF (IFL.EQ.1.OR.ZI.EQ.ZV2) GO TO 101 - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - RI=TG2*ZI+RO2 - CPSI=(XI*CFIO+YI*SFIO)/RI - IF (CPSI.GE.CDFI) GO TO 101 - END IF - END IF - END IF - END IF -* -* Intersection with the inner cone - SR1=1.E10 - IF (RO1.GT.0.) THEN - U=T1-(TG1*X(6))**2 - V=T2- TG1*X(6)*(TG1*X(3)+RO1) - W=T3- RIN*RIN -* track not parallel to the cone ? - IF (U.NE.0.) THEN - B=V/U - C=W/U - D=B**2-C - IF (D.GE.0.) THEN -* compute the smallest root first - IR=-1 - 21 S=-B+IR*SQRT(D) - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(1)) THEN - IF (IFL.EQ.1.OR.ZI.EQ.ZV1) THEN - SR1=S - ELSE - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - RI=TG1*ZI+RO1 - CPSI=(XI*CFIO+YI*SFIO)/RI - IF (CPSI.GE.CDFI) SR1=S - END IF - END IF - END IF - IF (IR.EQ.-1.AND.SR1.GT.9.E9) THEN -* smallest root not ok. Try the biggest one - IR=+1 - GO TO 21 - END IF - END IF - ELSEIF (V.NE.0.) THEN - S=-HALF*W/V - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(1)) THEN - IF (IFL.EQ.1.OR.ZI.EQ.ZV1) THEN - SR1=S - ELSE - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - RI=TG1*ZI+RO1 - CPSI=(XI*CFIO+YI*SFIO)/RI - IF (CPSI.GE.CDFI) SR1=S - END IF - END IF - END IF - END IF - END IF -* - SNXT=MIN(SR1,SR2) -* -* Intersection with phi-planes -* x=r*cos(phi)=X(1)+t*X(4) -* y=r*sin(phi)=X(2)+t*X(5) -* z =X(3)+t*X(6) -* t=(X(2)*cos(phi)-X(1)*sin(phi))/(X(4)*sin(phi)-X(5)*cos(phi)) -* - IF (IFL.EQ.2) THEN -* track not parallel to the phi1 plane ? - UN=X(4)*S1-X(5)*C1 - IF (UN.NE.0.) THEN - S=(X(2)*C1-X(1)*S1)/UN - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(1)) THEN - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - RIQ=XI**2+YI**2 - R1Q=(TG1*ZI+RO1)**2 - R2Q=(TG2*ZI+RO2)**2 - IF (R1Q.LE.RIQ.AND.RIQ.LE.R2Q) THEN - IF ((YI*CFIO-XI*SFIO).LE.0.) THEN - IF (S.LT.SNXT) SNXT=S - END IF - END IF - - END IF - END IF - END IF -* track not parallel to the phi2 plane ? - UN=X(4)*S2-X(5)*C2 - IF(UN.NE.0.) THEN - S=(X(2)*C2-X(1)*S2)/UN - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(1)) THEN - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - RIQ=XI**2+YI**2 - R1Q=(TG1*ZI+RO1)**2 - R2Q=(TG2*ZI+RO2)**2 - IF (R1Q.LE.RIQ.AND.RIQ.LE.R2Q) THEN - IF ((YI*CFIO-XI*SFIO).GE.0.) THEN - IF (S.LT.SNXT) SNXT=S - END IF - END IF - END IF - END IF - END IF - END IF - GO TO 999 -* - 101 SNXT=S - 999 END diff --git a/StarVMC/geant3/ggeom/gnoctu.F b/StarVMC/geant3/ggeom/gnoctu.F deleted file mode 100644 index fbaa7bc723b..00000000000 --- a/StarVMC/geant3/ggeom/gnoctu.F +++ /dev/null @@ -1,319 +0,0 @@ -* -* $Id: gnoctu.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnoctu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOCTU(X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'CTUB' * -C. * VOLUME, FROM OUTSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GNOPCO, GTNEXT * -C. * Author A.McPherson ******** * -C. * MODIFICATION LOG. * -C. * 18-July-89 M.Guckes modifications due to GEANG 3.13 * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6),PAR(11),SNP(2),CSP(2) -* -* ------------------------------------------------------------------ -* - SNXT = BIG -* -* *** Make sure that (-pi).LT.PHI.GE.(+pi) -* - PH1 = MOD(PAR(4)*DEGRAD,TWOPI) - PH2 = MOD(PAR(5)*DEGRAD,TWOPI) - DPHI = PH2 - PH1 - IF(DPHI.LT.TWOPI) THEN - DPHI = PH2 - PH1 - SNP(1) = SIN(PH1) - CSP(1) = COS(PH1) - SNP(2) = SIN(PH2) - CSP(2) = COS(PH2) - ELSE - PH1 = 0. - PH2 = TWOPI - DPHI = TWOPI - SNP(1) = 0. - CSP(1) = 1. - SNP(2) = 0. - CSP(2) = 1. - ENDIF -C -* -* *** Check that current point is outside the CTUB. compute SAFE -* - R02=X(1)*X(1)+X(2)*X(2) - R=SQRT(R02) - SAF1=PAR(1)-R - SAF2=R-PAR(2) - SAF3 = ( X(3)+PAR(3) )*PAR(8)+X(1)*PAR(6)+X(2)*PAR(7) - SAF4 = ( X(3)-PAR(3) )*PAR(11)+X(1)*PAR(9)+X(2)*PAR(10) -* - IF(IACT.EQ.3) GO TO 20 -* -* Phi segment (P. Weidhaas) -* We compute here the distance (SAF5) -* to the PHI-segment boundary that is closest to the point: -* -* SAF5 is only calculated if PHI lies outside the interval -* [PH1, PH2]. Here PHI is the angle to the given point -* (thus we only consider SAF5 if the point is outside the -* PHI-segment : FIOUT > 0. -* Algorithm to find SAF5 (same as in routine "GNTUBE"): -* For each PHI-boundary we find the distance from the given -* point to the outer (at RMAX) point of the segment boundary -* (DSP1 and DSP2, resp.). If DSP1 < DSP2, we define -* SAF5 to be the distance to segment PHI1; else we set -* SAF5 to be the distance to segment PHI2. - SAF5=0. - IF(R.GT.0.) THEN - PHI = ATAN2(X(2),X(1)) - FIOUT = DPHI*(PHI-PH1)*(PHI-PH2) - IF(FIOUT.LE.0.) GO TO 16 - DSP1 = (X(1)-PAR(2)*CSP(1))**2 + (X(2)-PAR(2)*SNP(1))**2 - DSP2 = (X(1)-PAR(2)*CSP(2))**2 + (X(2)-PAR(2)*SNP(2))**2 - IF(DSP1.LE.DSP2) THEN - SAF5 = ABS(X(1)*SNP(1) - X(2)*CSP(1)) - ELSE - SAF5 = ABS(X(1)*SNP(2) - X(2)*CSP(2)) - ENDIF - ENDIF - 16 CONTINUE -* -* Compute SAFE - SAFE = 0. - IF(SAF1.GT.SAFE) SAFE = SAF1 - IF(SAF2.GT.SAFE) SAFE = SAF2 - IF(SAF3.GT.SAFE) SAFE = SAF3 - IF(SAF4.GT.SAFE) SAFE = SAF4 - IF(SAF5.GT.SAFE) SAFE = SAF5 -* -* Point inside the volume ? - IF(SAFE.EQ.0.) THEN - SNXT = -10. - GO TO 999 - ENDIF -* - IF(IACT.EQ.0) GO TO 999 - IF(IACT.EQ.1.AND.SAFE.GT.SNEXT) GO TO 999 -* - 20 CONTINUE -* -* *** Compute SNXT -* - SMAX=BIG - V1 = X(4)*PAR(6)+X(5)*PAR(7)+X(6)*PAR(8) - V2 = X(4)*PAR(9)+X(5)*PAR(10)+X(6)*PAR(11) - IF( V1 .GE. 0.0 .AND. SAF3 .GE. 0.0 ) GO TO 999 - IF( V2 .GE. 0.0 .AND. SAF4 .GE. 0.0 ) GO TO 999 -C - IF( SAF3 .GT. 0.0 .AND. SAF4 .LE. 0.0 ) THEN - SMIN = -SAF3/V1 - IF( V2 .GT. 0 ) THEN - SMAX = -SAF4/V2 - ELSE - SMAX = BIG - ENDIF - ELSEIF( SAF4 .GT. 0.0 .AND. SAF3 .LE. 0.0 ) THEN - SMIN = -SAF4/V2 - IF( V1 .GT. 0 ) THEN - SMAX = -SAF3/V1 - ELSE - SMAX = BIG - ENDIF - ELSEIF( SAF3 .LE. 0.0 .AND. SAF4 .LE. 0.0 ) THEN - SMIN = 0.0 - SMAX = BIG - IF( V1 .GT. 0.0 ) SMAX = -SAF3/V1 - IF( V2 .GT. 0.0 .AND. SMAX .GT. -SAF4/V2 ) SMAX = -SAF4/V2 - ENDIF -* - SMIN1=SMIN - SMAX1=-1.0 - SMIN2=SMIN - SMAX2=SMAX -C - DXY2=(1+X(6))*(1-X(6)) - IF(DXY2.LT.1.0E-10.AND.(R.LT.PAR(1) - + .OR.R.GT.PAR(2)))GO TO 999 - IF(DXY2.EQ.0.) GO TO 30 -C - BA=(X(1)*X(4)+X(2)*X(5))/DXY2 - IF(R.GE.PAR(2).AND.BA.GE.0.0) GO TO 999 -C - CA=(R02-PAR(2)*PAR(2))/DXY2 - DISC=BA*BA-CA - IF(DISC.LE.0.0) GO TO 999 -C - RDISC=SQRT(DISC) - SMAR=-BA+RDISC - IF(SMAR.LT.SMAX) SMAX=SMAR - SMIR=-BA-RDISC - IF(SMIR.GT.SMIN) SMIN=SMIR - IF(SMAX.LE.SMIN) GO TO 999 -C - CA=(R02-PAR(1)*PAR(1))/DXY2 - DISC=BA*BA-CA -C - SMIN1=SMIN - SMAX1=-1.0 - SMIN2=SMIN - SMAX2=SMAX -C - IF(DISC.LE.0.0) GO TO 30 - RDISC=SQRT(DISC) - SMI2=-BA+RDISC - IF(SMI2.GT.SMIN2)SMIN2=SMI2 - SMAX1=-BA-RDISC - IF(SMAX.LT.SMAX1) SMAX1=SMAX -C - 30 CONTINUE -C - IF( PAR(4) .EQ. 0.0 .AND. PAR(5) .EQ. 360.0 ) GO TO 120 -C -C Now do the phi stuff. -C - DPSGN=X(1)*X(5)-X(2)*X(4) - ISMIN=0 - ISMAX=0 -C - TSGN=SNP(1) - TCSG=CSP(1) - DEN=X(4)*TSGN-X(5)*TCSG - IF(DEN.EQ.0.0) GO TO 40 - SNL=(X(2)*TCSG-X(1)*TSGN)/DEN - IF(ABS(TSGN).GT.1.E-6.AND.(X(2)+SNL*X(5))*TSGN.LT.0.) GO TO 40 - IF(ABS(TCSG).GT.1.E-6.AND.(X(1)+SNL*X(4))*TCSG.LT.0.) GO TO 40 -C - ISMIN=1 - SMIN=SNL - IF(DPSGN.GT.0.0) GO TO 40 - ISMIN=0 - ISMAX=1 - SMAX=SNL -C - 40 CONTINUE -C - TSGN=SNP(2) - TCSG=CSP(2) - DEN=X(4)*TSGN-X(5)*TCSG - IF(DEN.EQ.0.0) GO TO 60 - SNH=(X(2)*TCSG-X(1)*TSGN)/DEN - IF(ABS(TSGN).GT.1.E-6.AND.(X(2)+SNH*X(5))*TSGN.LT.0.) GO TO 60 - IF(ABS(TCSG).GT.1.E-6.AND.(X(1)+SNH*X(4))*TCSG.LT.0.) GO TO 60 - IF(DPSGN.LT.0.0) GO TO 50 - ISMAX=1 - SMAX=SNH - GO TO 60 -C - 50 CONTINUE - ISMIN=1 - SMIN=SNH -C - 60 CONTINUE -C - IF(ISMIN.EQ.0.OR.ISMAX.EQ.0) GO TO 90 - IF(SMAX.LT.0.0.AND.SMAX.GT.SMIN) GO TO 999 - IF(SMIN.LT.0.0) SMIN=0.0 - IF(SMAX.LT.0.0) GO TO 110 - IF(SMAX.GT.SMIN) GO TO 70 -C -C SMAX +VE and less than SMIN - 2 allowed -C regions. -C - IF(SMAX.GT.SMIN1.AND.SMAX1.GT.SMIN1) GO TO 130 - IF(SMIN.GT.SMIN1) SMIN1=SMIN - IF(SMAX1.GT.SMIN1) GO TO 130 - IF(SMAX.GT.SMIN2) GO TO 140 - IF(SMIN.GT.SMAX2) GO TO 999 - IF(SMIN.GT.SMIN2) SMIN2=SMIN - GO TO 140 -C - 70 CONTINUE - IF(SMIN.GT.SMIN1) SMIN1=SMIN - IF(SMAX.LT.SMAX1) SMAX1=SMAX - IF(SMAX1.LT.SMIN1) GO TO 80 - GO TO 130 -C - 80 CONTINUE - IF(SMIN.GT.SMIN2) SMIN2=SMIN - IF(SMAX.LT.SMAX2) SMAX2=SMAX - IF(SMAX2.LT.SMIN2) GO TO 999 - GO TO 140 -C - 90 CONTINUE - IF(ISMIN.EQ.1) GO TO 110 - IF(ISMAX.EQ.0) GO TO 100 - IF(SMAX.LT.SMAX1) SMAX1=SMAX - IF(SMAX.LT.SMAX2) SMAX2=SMAX - GO TO 120 -C - 100 CONTINUE - DPH=PAR(5)-PAR(4) - IF(DPH.LT.180.0.AND.DPH.GT.0.0) GO TO 999 - IF(DPH.LT.-180.0) GO TO 999 - GO TO 120 -C - 110 CONTINUE - IF(SMIN.GT.SMIN1) SMIN1=SMIN - IF(SMAX1.GT.SMIN1) GO TO 130 - IF(SMIN.GT.SMIN2) SMIN2=SMIN - IF(SMAX2.LT.SMIN2) GO TO 999 - GO TO 140 -C - 120 CONTINUE - IF(SMAX1.GT.SMIN1) GO TO 130 - IF(SMAX2.GT.SMIN2) GO TO 140 - GO TO 999 -C - 130 CONTINUE - IF(SMIN1.LE.0.)GO TO 999 - IF(SNXT.GT.SMIN1) SNXT=SMIN1 - GO TO 999 -C - 140 CONTINUE - IF(SMIN2.LE.0.)GO TO 999 - IF(SNXT.GT.SMIN2) SNXT=SMIN2 -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gnoelt.F b/StarVMC/geant3/ggeom/gnoelt.F deleted file mode 100644 index 89bfef6735d..00000000000 --- a/StarVMC/geant3/ggeom/gnoelt.F +++ /dev/null @@ -1,158 +0,0 @@ -* -* $Id: gnoelt.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnoelt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOELT(X,PAR,IACT,SNEXT,SNXT,SAFE) -C -C **************************************************************** -C * * -C * Compute distance up to intersection with 'ELTU' volume, * -C * from outside point X(1-3) along direction X(4-6). * -C * * -C * PAR (input) : volume parameters * -C * IACT (input) : action flag * -C * = 0 Compute SAFE only * -C * = 1 Compute SAFE, and SNXT only if SNEXT.gt.new SAFE * -C * = 2 Compute both SAFE and SNXT * -C * = 3 Compute SNXT only * -C * SNEXT (input) : see IACT = 1 * -C * SNXT (output) : distance to volume boundary * -C * SAFE (output) : shortest distance to any boundary * -C * * -C * ==>Called by : GNEXT,GTNEXT * -C * Author A.Solano * -C * * -C **************************************************************** -C -#include "geant321/gconsp.inc" -C - DIMENSION X(6),PAR(3),TAU(2) -C -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION SAFZ,A2,B2,X0,Y0,PHI1,PHI2,PHI3,X3,Y3 - DOUBLE PRECISION DXY2,U,V,W,DISCR,SQDISC,TAU,TAUZ,ZI,XZ,YZ -#endif - SNXT = BIG - SAFZ = ABS(X(3))-PAR(3) - A2 = PAR(1)*PAR(1) - B2 = PAR(2)*PAR(2) -C - IF(IACT.EQ.3)GOTO 40 -C -C ----------------------------------- -C | Compute safety-distance 'SAFE' | -C ----------------------------------- -C -C .... First check Z - X0 = ABS(X(1)) - Y0 = ABS(X(2)) -C - SAFE=0. - IF(X0*X0/A2+Y0*Y0/B2.LT.1.) GO TO 30 - PHI1=0. - PHI2=PIBY2 - DO 10 I=1,10 - PHI3=(PHI1+PHI2)*0.5 - X3=PAR(1)*COS(PHI3) - Y3=PAR(2)*SIN(PHI3) - D=Y3*A2*(X0-X3)-X3*B2*(Y0-Y3) -* -* D is the (signed) distance from the point (X0,Y0) -* to the normal to the ellipse at the point (X3,Y3). -* - IF (D.LT.0.) THEN - PHI1=PHI3 - ELSE - PHI2=PHI3 - END IF - 10 CONTINUE - 20 SAFE=SQRT((X0-X3)**2+(Y0-Y3)**2)-.01 - 30 IF(SAFZ.GT.0.)THEN -* -* .... Combine the radial distance whit the Z-distance -* - SAFE = SQRT(SAFE**2+SAFZ**2) - ENDIF - IF(IACT.EQ.0)GOTO 999 - IF(IACT.EQ.1.AND.SNEXT.LT.SAFE)GOTO 999 - 40 CONTINUE -C -C --------------------------------------- -C | Compute the vector-distance 'SNXT' | -C --------------------------------------- -C - IF(SAFZ.GT.0.0.AND.X(3)*X(6).GE.0.0)GOTO 999 -C - DXY2 = (1-X(6))*(1+X(6)) - IF(DXY2.LE.0.)GOTO 60 -C -C .... Find the intersection of the given ray -C (described by array X) whit the cylider. -C Ray equation : X'(1-3) = X(1-3) + TAU*X(4-6) -C Cylinder equation : x**2/a**2 + y**2/b**2 = 1 -C To obtain TAU,solve the quadratic equation -C Ut**2 + 2Vt + W = 0 -C - U = X(4)*X(4)*B2+X(5)*X(5)*A2 - V = X(1)*X(4)*B2+X(2)*X(5)*A2 - W = X(1)*X(1)*B2+X(2)*X(2)*A2-A2*B2 - DISCR = V*V-U*W - IF(DISCR.LT.0.)GOTO 999 - IF(U.EQ.0.)GOTO 999 - SQDISC = SQRT(DISCR) - TAU(1) = (-V+SQDISC)/U - TAU(2) = (-V-SQDISC)/U -C - DO 50 I=1,2 - IF(TAU(I).GE.0.)THEN - ZI = X(3)+TAU(I)*X(6) - IF((ABS(ZI)-PAR(3)).LT.1.E-6)THEN -C -C .... Set SNXT to the smallest positive TAU,only if -C the intersection point is inside the Z limits -C - SNXT = MIN(SNXT,REAL(TAU(I))) - ENDIF - ENDIF - 50 CONTINUE - 60 CONTINUE -C - IF(SAFZ.GT.0.)THEN -C -C .... Check intersection whit Z planes -C - IF(X(3).GT.0.) ZI = PAR(3) - IF(X(3).LT.0.) ZI = -PAR(3) -C - TAUZ = (ZI-X(3))/X(6) - XZ = X(1)+X(4)*TAUZ - YZ = X(2)+X(5)*TAUZ - IF((XZ*XZ/A2+YZ*YZ/B2).LE.1.) SNXT = TAUZ - ENDIF -C - 999 END diff --git a/StarVMC/geant3/ggeom/gnohyp.F b/StarVMC/geant3/ggeom/gnohyp.F deleted file mode 100644 index 6b50d22a321..00000000000 --- a/StarVMC/geant3/ggeom/gnohyp.F +++ /dev/null @@ -1,124 +0,0 @@ -* -* $Id: gnohyp.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnohyp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOHYP (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH HYPErboloid * -C. * VOLUME, FROM OUTSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * inner radius * -C. * outer radius * -C. * half length in z * -C. * straw stereo angle in degrees * -C. * r**2 = (z*tan(theta))**2 + a**2 * -C. * * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Authors M.J.Corden, A.Palounek * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6),PAR(4),ENDR(2) -* -* ------------------------------------------------------------------ -* - SNXT = BIG - TANTHS= (TAN(PAR(4)*DEGRAD))**2 - R2 = X(1)*X(1)+X(2)*X(2) - ENDR(1)=SQRT(PAR(1)**2+PAR(3)**2*TANTHS) - ENDR(2)=SQRT(PAR(2)**2+PAR(3)**2*TANTHS) - SAF3=ABS(X(3))-PAR(3) -* - IF(IACT.EQ.3) GO TO 10 -* -* compute SAFE from escribed cylinders -* - R = SQRT(R2) - SAF1=PAR(1)-R - SAF2=R-ENDR(2) - SAFE = MAX(0.,SAF1,SAF2,SAF3) -* - IF(IACT.EQ.0) GO TO 999 - IF(IACT.EQ.1.AND.SAFE.GT.SNEXT) GO TO 999 -* - 10 CONTINUE -* -* *** Compute SNXT -* - IF((SAF3.GT.0.).AND.(X(3)*X(6).GE.0.)) GO TO 999 -C -C Compute intercept with inner & outer surfaces. -C - A = X(4)**2 + X(5)**2 - X(6)**2*TANTHS - B = X(1)*X(4) + X(2)*X(5) - X(3)*X(6)*TANTHS -C - DO 30 NCYL =1,2 - C = R2 - X(3)**2*TANTHS - PAR(NCYL)**2 - SURD = B**2 - A*C - IF(SURD.LE.0.0) GO TO 30 - SURD=SQRT(SURD) -* - DO 20 IR=-1,+1,2 - S=(-B+IR*SURD)/A - IF((S.LT.0.).OR.(S.GT.SNXT)) GO TO 20 -* Intersection point - ZI = X(3) + S*X(6) -* Check Z limits - IF(ABS(ZI).GT.PAR(3)) GO TO 20 -* Intersection with hyperboloid ok - SNXT = S - 20 CONTINUE - 30 CONTINUE -* -* *** Intersection with Z end planes -* - IF(SAF3.LE.0.) GO TO 999 - S = SAF3/ABS(X(6)) -* Intersection point - XI = X(1) + S*X(4) - YI = X(2) + S*X(5) -* Check R limits - RI = SQRT(XI*XI + YI*YI) - IF(RI.LT.ENDR(1).OR.RI.GT.ENDR(2)) GO TO 999 -* Intersection with Z end plane ok - SNXT = S -* - 999 END diff --git a/StarVMC/geant3/ggeom/gnopar.F b/StarVMC/geant3/ggeom/gnopar.F deleted file mode 100644 index 5b24dea8a35..00000000000 --- a/StarVMC/geant3/ggeom/gnopar.F +++ /dev/null @@ -1,169 +0,0 @@ -* -* $Id: gnopar.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnopar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOPAR (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'PARA' VOLUME, * -C. * FROM OUTSIDE POINT X(1-3) ALONG DISTANCE X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6), PAR(6) -C. -C. ------------------------------------------- -C. - SNXT=BIG - DN31=-PAR(3)-X(3) - DN32=PAR(3)-X(3) - YT=X(2)-PAR(6)*X(3) - DN21=-PAR(2)-YT - DN22=PAR(2)-YT - CTY=1.0/SQRT(1.0+PAR(6)**2) -C - XT=X(1)-PAR(5)*X(3)-PAR(4)*YT - DN11=-PAR(1)-XT - DN12=PAR(1)-XT - CTX=1.0/SQRT(1.0+PAR(4)**2+PAR(5)**2) -C - SN3=DN31 - IF(SN3.LT.0.0) SN3=-DN32 - SN2=DN21*CTY - IF(SN2.LT.0.0) SN2=-DN22*CTY - SN1=DN11*CTX - IF(SN1.LT.0.0) SN1=-DN12*CTX - - IF (IACT .LT. 3) THEN - - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (McPherson) | -C ------------------------------------------------- - - SAFE=MAX(SN1,SN2,SN3) -C -C IF(SAFETY.LT.0.0) GO TO 900 -C - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - - IF(X(6).NE.0.0) GO TO 5 - IF(DN32*DN31.GT.0.0) GO TO 999 - DN31=0.0 - DN32=BIG - GO TO 10 - 5 CONTINUE -C - DN31=DN31/X(6) - DN32=DN32/X(6) - IF(X(6).GT.0.0) GO TO 10 -C - DNS=DN31 - DN31=DN32 - DN32=DNS -C - 10 CONTINUE -C - IF(DN32.LE.0.0) GO TO 999 -C - DY=X(5)-PAR(6)*X(6) -C - IF(DY.NE.0.0) GO TO 15 - IF(DN21*DN22.GT.0.0) GO TO 999 - DN21=0.0 - DN22=BIG - GO TO 20 - 15 CONTINUE - DN21=DN21/DY - DN22=DN22/DY - IF(DY.GT.0.0) GO TO 20 -C - DNS=DN21 - DN21=DN22 - DN22=DNS -C - 20 CONTINUE -C - IF(DN22.LE.0.0) GO TO 999 -C - DX=X(4)-PAR(5)*X(6)-PAR(4)*DY - IF(DX.NE.0.0) GO TO 25 - IF(DN11*DN12.GT.0.0) GO TO 999 - DN11=0.0 - DN12=BIG - GO TO 30 - 25 CONTINUE - DN11=DN11/DX - DN12=DN12/DX - IF(DX.GT.0.0) GO TO 30 -C - DNS=DN11 - DN11=DN12 - DN12=DNS -C - 30 CONTINUE -C - IF(DN12.LE.0.0) GO TO 999 -C - SMIN=MAX(DN11,DN21,DN31) - SMAX=MIN(DN12,DN22,DN32) -C - IF(SMAX.LE.SMIN) GO TO 999 -C - IF(SMIN.LE.0.)GO TO 999 - SNXT = SMIN -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gnopco.F b/StarVMC/geant3/ggeom/gnopco.F deleted file mode 100644 index d46e6326829..00000000000 --- a/StarVMC/geant3/ggeom/gnopco.F +++ /dev/null @@ -1,381 +0,0 @@ -* -* $Id: gnopco.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnopco.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOPCO (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'PCON' VOLUME, * -C. * FROM OUTSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson, P.Weidhaas ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6), PAR(9), PT(7), XT(6) - - EQUIVALENCE (PT(1),PT1), (PT(2),PT2), (PT(3),PT3), (PT(4),PT4) - EQUIVALENCE (PT(5),PT5), (PT(6),PT6), (PT(7),PT7) -C. -C. -------------------------------------------------------- -C. - - SNXT = BIG - SAFE = BIG - R2 = X(1)*X(1) + X(2)*X(2) - R = SQRT (R2) - NZ = PAR(3) - NSEC= NZ - 1 - PT6=PAR(1) - PT7=PAR(1)+PAR(2) - - IFLAG = 2 - IF(PAR(2).EQ.360.0) IFLAG = 1 - - IF (IACT .LT. 3) THEN - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - - - SAFEZ = 0.0 -C -C...... Obtain axial distance "SAFEZ". -C - ZMIN = PAR(4) - ZMAX = PAR(3*NZ+1) - - IF (X(3) .LT. ZMIN) THEN - SAFEZ = ZMIN - X(3) - ELSEIF (X(3) .GT. ZMAX) THEN - SAFEZ = X(3) - ZMAX - ENDIF - - -C---------------------------------------------------- -C...... Prepare parameters for PHI-segmented cone: -C---------------------------------------------------- - - IF (IFLAG .EQ. 2) THEN - - PHI1 = MOD (PT6+360.0 , 360.0) - PHI2 = MOD (PT7+360.0 , 360.0) - IF ( X(1).NE.0.0 .OR. X(2).NE.0.0 ) THEN - PHI = ATAN2( X(2), X(1) ) * RADDEG - ELSE - PHI = 0.0 - ENDIF - PHI = MOD (PHI+360.0 , 360.0) - - SINPH1 = SIN(PHI1*DEGRAD) - COSPH1 = COS(PHI1*DEGRAD) - SINPH2 = SIN(PHI2*DEGRAD) - COSPH2 = COS(PHI2*DEGRAD) - - -C...... Set flag "IOPENP" if point (X(1),X(2),X(3)) lies in the -C...... PHI-opening. - - IOPENP = 0 - IF (PHI2 .GT. PHI1) THEN - IF (PHI.GT.PHI2 .OR. PHI.LT.PHI1) IOPENP = 1 - ELSE - IF (PHI.GT.PHI2 .AND. PHI.LT.PHI1) IOPENP = 1 - ENDIF - ENDIF - - - -C------------------ Start of loop over Z-sections -------------- - - IPZ2=4 - - DO 150 IS=1,NSEC - - IPZ1=IPZ2 - IPZ2=IPZ1+3 - - SAFSEG = 0.0 - SAFER = 0.0 - - XT3=X(3) - 0.5 * (PAR(IPZ1)+PAR(IPZ2)) - DZ = 0.5 * (PAR(IPZ2)-PAR(IPZ1)) - - PT2 = PAR(IPZ1+1) - PT3 = PAR(IPZ1+2) - PT4 = PAR(IPZ2+1) - PT5 = PAR(IPZ2+2) -C**** check DZ=0 segments - IF (DZ.LE.0.) THEN - IF ((R-PT2)*(R-PT4).LE.0. .OR. (R-PT3)*(R-PT5).LE.0.) THEN - SAFER = ABS(XT3) - ELSE - GO TO 150 - ENDIF - GO TO 100 - ENDIF - - IF (PT2 .NE. PT4) GO TO 50 - IF (PT3 .NE. PT5) GO TO 50 - -C********************************************************** -C -C...... The segment is a tube; invoke the algorithm -C...... from "GNOTUB" inline to get "SAFER" and "SAFSEG". -C -C********************************************************** - - IF (R .LT. PT2) SAFER = PT2 - R - IF (R .GT. PT3) SAFER = R - PT3 - - IF (IFLAG .EQ. 2) THEN - -C******************************************************************** -C...... Handle the case in which we have a PHI-segment of a tube. -C...... In addition to the radial distance (SAFER) and the -C...... axial distance (SAFEZ) we compute here the distance (SAFSEG) -C...... to the PHI-segment boundary that is closest to the point: -C -C...... SAFSEG is only calculated if PHI lies outside the interval -C...... [PHI1, PHI2]. Here PHI is the angle to the given point -C...... (thus we only consider SAFSEG if the point is outside the -C...... PHI-segment). -C -C...... Algorithm to find SAFSEG (same as in routine "GNTUBE"): -C -C...... For each PHI-boundary we find the distance from the given -C...... point to the outer (at RMAX) point of the segment boundary -C...... (DISTS1 and DISTS2, resp.). If DISTS1 < DISTS2, we define -C...... SAFSEG to be the distance to segment PHI1; else we set -C...... SAFSEG to be the distance to segment PHI2. -C******************************************************************** - - -C...... Next eliminate those points whose angle PHI places them -C...... inside the given PHI-segment (IOPENP = 0). - - IF (IOPENP .EQ. 0) GO TO 100 - - -C...... Get coordinates of outer endpoints (at RMAX) of both PHI-segments. - - XS1 = PT3 * COSPH1 - YS1 = PT3 * SINPH1 - XS2 = PT3 * COSPH2 - YS2 = PT3 * SINPH2 - -C...... Get distances (squared) from the given point to each endpoint. - - DISTS1 = (X(1) - XS1)**2 + (X(2) - YS1)**2 - DISTS2 = (X(1) - XS2)**2 + (X(2) - YS2)**2 - -C...... Get distance to that PHI-segment whose endpoint -C...... is closest to the given point. - - IF (DISTS1 .LE. DISTS2) THEN - SAFSEG = ABS(X(1) * SINPH1 - X(2) * COSPH1) - ELSE - SAFSEG = ABS(X(1) * SINPH2 - X(2) * COSPH2) - ENDIF - - ENDIF - - GO TO 100 - - - 50 CONTINUE - -C********************************************************* -C -C...... The segment is a cone; invoke the algorithm -C...... from "GNOCON" inline to get "SAFER" and "SAFSEG". -C -C********************************************************* - - ZLENI = 0.5 / DZ - - FACT1 = (PT4 - PT2) * ZLENI - FACT2 = (PT5 - PT3) * ZLENI - RIN = PT2 + FACT1 * (DZ + XT3) - ROUT = PT3 + FACT2 * (DZ + XT3) - - IF (R .LT. RIN) THEN - SAFER = (RIN - R) / SQRT(1.0 + FACT1 * FACT1) - ELSE - IF (R .GT. ROUT) THEN - SAFER = (R - ROUT) / SQRT(1.0 + FACT2 * FACT2) - ENDIF - ENDIF - - - IF (IFLAG .EQ. 2) THEN - -C******************************************************************** -C...... Handle the case in which we have a PHI-segment of a cone. -C...... In addition to the radial distance (SAFER) and the -C...... axial distance (SAFEZ) we compute here the distance (SAFSEG) -C...... to the PHI-segment boundary that is closest to the point: -C -C...... SAFSEG is only calculated if PHI lies outside the interval -C...... [PHI1, PHI2]. Here PHI is the angle to the given point -C...... (thus we only consider SAFSEG if the point is outside the -C...... PHI-segment). -C -C...... Algorithm to find SAFSEG (same as in routine "GNTUBE"): -C -C...... For each PHI-boundary we find the distance from the given -C...... point to the outer (at ROUT) point of the segment boundary -C...... (DISTS1 and DISTS2, resp.). If DISTS1 < DISTS2, we define -C...... SAFSEG to be the distance to segment PHI1; else we set -C...... SAFSEG to be the distance to segment PHI2. -C******************************************************************** - - -C...... Next eliminate those points whose angle PHI places them -C...... inside the given PHI-segment (IOPENP = 0). - - IF (IOPENP .EQ. 0) GO TO 100 - -C...... Get coordinates of outer endpoints (at ROUT) of both PHI-segments. - - IF (XT3 .LT. -DZ) THEN - ROUT = PT3 - ELSEIF (XT3 .GT. DZ) THEN - ROUT = PT5 - ENDIF - - XS1 = ROUT * COSPH1 - YS1 = ROUT * SINPH1 - XS2 = ROUT * COSPH2 - YS2 = ROUT * SINPH2 - -C...... Get distances (squared) from the given point to each endpoint. - - DISTS1 = (X(1) - XS1)**2 + (X(2) - YS1)**2 - DISTS2 = (X(1) - XS2)**2 + (X(2) - YS2)**2 - -C...... Obtain distance to that PHI-segment whose endpoint -C...... is closest to the given point. - - IF (DISTS1 .LE. DISTS2) THEN - SAFSEG = ABS(X(1) * SINPH1 - X(2) * COSPH1) - ELSE - SAFSEG = ABS(X(1) * SINPH2 - X(2) * COSPH2) - ENDIF - - ENDIF - - - 100 CONTINUE - TSAFE = MAX (SAFEZ, SAFER, SAFSEG) - - IF (TSAFE .GT. 0.0) THEN - IF (TSAFE .LT. SAFE) SAFE = TSAFE - ENDIF - - IF (TSAFE .EQ. 0.0) THEN - IF (X(3) .LT. PAR(IPZ1)) GO TO 200 - ENDIF - 150 CONTINUE - - 200 CONTINUE - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - TSNXT = BIG - - DO 210 I=1, 6 - XT(I) = X(I) - 210 CONTINUE - - IPZ2 = 4 - - DO 300 IS=1, NSEC - IPZ1 = IPZ2 - IPZ2 = IPZ1 + 3 - - XT(3) = X(3) - 0.5 * (PAR(IPZ1) + PAR(IPZ2)) - - PT1 = 0.5 * (PAR(IPZ2) - PAR(IPZ1)) - IF (PT1 .LE. 0.0) GO TO 300 - - IF (PAR(IPZ1+1) .NE. PAR(IPZ2+1)) GO TO 250 - IF (PAR(IPZ1+2) .NE. PAR(IPZ2+2)) GO TO 250 - -C -C...... This Z-section is a tube. -C - PT3 = PT1 - PT1 = PAR(IPZ1+1) - PT2 = PAR(IPZ1+2) - PT4 = PT6 - PT5 = PT7 - - CALL GNOTUB (XT, PT, 3, IFLAG, SNEXT, TSNXT, TSAFE) - GO TO 280 - - - 250 CONTINUE -C -C...... This Z-section is a cone. -C - PT2 = PAR(IPZ1+1) - PT3 = PAR(IPZ1+2) - PT4 = PAR(IPZ2+1) - PT5 = PAR(IPZ2+2) - - CALL GNOCON (XT, PT, 3, IFLAG, SNEXT, TSNXT, TSAFE) - - 280 CONTINUE - IF (TSNXT .LT. SNXT) SNXT = TSNXT - 300 CONTINUE - - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gnopg1.F b/StarVMC/geant3/ggeom/gnopg1.F deleted file mode 100644 index 5cb49e6214c..00000000000 --- a/StarVMC/geant3/ggeom/gnopg1.F +++ /dev/null @@ -1,347 +0,0 @@ -* -* $Id: gnopg1.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnopg1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOPG1(X,P,SNXT) -********************************************************************* -***** GNOPG1 ******************************************************** -* -* GNOPG1 ... 20-DEC-1988 -* Version 1.1 -* Rolf Nierhaus -* -********************************************************************* -* -* Copyright CERN, Geneva 1988 - Copyright and any other -* appropriate legal protection of these computer programs and -* associated documentation reserved in all countries of the -* world. -* -********************************************************************* -* -* Subroutine GNOPG1 is called by GNOPGO for the computation -* of SNXT, the distance from a point P along a track T to a -* boundary surface of a Geant volume V of shape PGON. The point -* P is outside the volume V. If the track T has no intersection -* with the volume V, the vector distance SNXT is set to 1.E10. -* -* V is generally a composite volume consisting of several -* sections. The sections have boundary surfaces orthogonal to -* the Z-axis. Each section consists generally of several -* sectors. Each sector is an "elementary" convex volume. This -* package assumes it is either a hexahedron or a pentahedron. If -* it is a pentahedron, it has 6 vertices, of which two are on -* the Z-axis. All sectors of the same section are congruent. -* Each section has the same number of sectors. -* -* GNOPG1 calls GNOPG2 for each section, GNOPG2 call GNOPG3 -* for each sector. GNOPG4 is called to store the surface -* parameters of a sector in the common block GCQ1. GNOPG6 -* computes the vector distance to a convex volume. GNOPG7 -* computes the vector distance to a plane surface. Logical -* function GNOPG8 determines if a point is inside a convex -* volume, and logical function GNOPG9 determines if a point is -* inside a region delimited by a plane surface. -* -* We describe each surface by 6 parameters: the first three -* are the coordinates of a point on the surface -* XS(I),YS(I),ZS(I), the other three are the components of the -* normal vector of the surface XN(I),YN(I),ZN(I). I is the index -* of the surface. We consider only one sector at a time, and the -* number of boundary surfaces is never larger then 6. Each -* surface divides the space into two regions: the positive -* region and the negative region. We choose the direction of the -* normal vectors of the boundary surfaces such that the bounded -* volume is within the positive region of each surface, that is, -* the normal vector is pointing to the inside of the volume. -* -* Logical function GNOPG9 returns TRUE if the point -* (XP,YP,ZP) is within the positive region of the surface with -* index I. This is the case if the scalar product of -* (XP-XS,YP-YS,ZP-ZS) and (XN,YN,ZN) is positive (or zero). -* -* GNOPG8 is true if the point (XP,YP,ZP) is within the -* positive region of all bounding surfaces. -* -* To find the distance from a point (XP,YP,ZP) along a -* track with direction cosines (XD,YD,ZD) to a surface -* (XS,YS,ZS)(XN,YN,ZN), we compute first the scalar product of -* the vector (XS-XP,YS-YP,ZS-ZP) with the normal vector -* (XN,YN,ZN), then the scalar product of the vectors (XD,YD,ZD) -* and (XN,YN,ZN). The first scalar product is the shortest -* distance from the point to the plane, the second scalar -* product is the cosine of the angle between the track and the -* plane normal. The quotient is the vector distance. If this -* vector distance is positive (or zero) we set the logical -* variable FLAG TRUE. GNOPG7 is called with three parameters -* I,FLAG and DIST. I is the index of the surface, and DIST is -* the vector distance if FLAG is TRUE. -* -* To find the vector distance from a point to an elementary -* volume, all bounding surfaces of the volume are considered. If -* the point is in the positive region of a surface, the track -* could possibly exit through the surface, but it cannot enter -* through it. For those surfaces which have the point in their -* negative region, we determine if the track intersects the -* surface, and what is the distance to the intersection point. -* Only the largest of these distances is a candidate for the -* distance from the point to the volume. It is however possible -* that the track misses the elementary volume entirely. This we -* find out by applying the function GNOPG8 (Inside volume test) -* to the coordinates of the intersection point. GNOPG6 is called -* with two parameters: a logical variable FLAG, which is TRUE if -* the track intersects the volume, and DIST, which is the -* distance if FLAG is TRUE. -* -* The coordinates of the point P and the direction cosines -* of the track T are stored in the common block GCQ2 by -* subroutine GNOPG1. The parameter array P in the call to GNOPG1 -* contains in its first two members the lower phi-limit of the -* PGON and the range in phi. Both angles are in degrees. GNOPG1 -* convertes from degrees to radians and stores the phi-limits of -* the first sector of each section in the common block GCQ3 -* together with the number of sectors per section. The number of -* sectors per section is contained in the third member of the -* parameter array P. The other members of P have the following -* meaning: From P(5) onwards, there are groups of three. Each -* group describes a section boundary. The first member is the -* Z-coordinate of the boundary. The second and the third are the -* distances from the Z-axis to the inner and outer edges at that -* boundary. If there is no inner edge, the sector is limited by -* the Z-axis. In this case the second members of the group are -* zero. Groups may be shared by adjacent sections. Otherwise the -* Z-coordinates of two consecutive groups are the same. P(4) -* contains the number of groups. -* -* GNOPG1 calls GNOPG2 with 8 parameters. The first 6 are -* input parameters, the first 3 refer to the "left" section -* boundary, the next 3 to the "right" section boundary. The last -* two parameters are output. Logical variable FLAG is TRUE if -* the track intersects the section. In this case DIST is the -* distance. -* -* GNOPG2 calls GNOPG3 with four parameters. The first 2 are -* input parameters, namely the phi-limits of the sector. The -* last two parameters again are output: FLAG is TRUE if the -* track intersects the sector. In this case DIST is the -* distance. The other variables required by GNOPG3 are the same -* for all sectors of the same section and are stored by GNOPG2 -* in the common block GCQ4. GNOPG2 also stores in the common -* block GCQ5 the number of boundary surfaces of each sector. -* -* The surfaces orthogonal to the Z-axis are the same for -* all sectors of a section. The surface parameters of these two -* sections are stored by calls to GNOPG4 from GNOPG2. The -* surface parameters of the other three or four surfaces are -* stored from GNOPG3. -* -* GNOPG3 sets FLAG TRUE, if the track T intersects the -* corresponding sector. GNOPG2 finds the shortest distance to -* all intersected sectors, and set FLAG TRUE, if the track T -* intersects the corresponding section. GNOPG1 finds the -* shortest distance to all intersected sections. If no section -* intersects, the track FLAG is set FALSE, and 1.E10 is returned -* as SNXT. -* -***** Subroutine GNOPG1 *************************** 04-DEC-1988 ***** -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - PARAMETER (F=0.01745329251994330D0) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (F=0.01745329251994330) -#endif - REAL X(6),P(49),SNXT - LOGICAL FLAG,FLAG1 - DIMENSION XS(6), YS(6), ZS(6), XN(6), YN(6), ZN(6) - LOGICAL FLAG1X, GNOP1X, GNOP2X, GNOP4X - PARAMETER (ONE=1,HALF=ONE/2) - XP=X(1) - YP=X(2) - ZP=X(3) - XD=X(4) - YD=X(5) - ZD=X(6) - NT=P(3)+.5 - P1=F*P(1) - P2=F*P(2)/NT - INDEX=5 - MINDEX=3.*P(4)+1.5 - FLAG=.FALSE. - DIST=1.E10 - 10 Z1=P(INDEX) - D1N=P(INDEX+1) - D1X=P(INDEX+2) - Z2=P(INDEX+3) - D2N=P(INDEX+4) - D2X=P(INDEX+5) -C***** Code Expanded From Routine: GNOPG2 -C***** Code Expanded From Routine: GNOPG4 - XS(1) = 0. - YS(1) = 0. - ZS(1) = Z1 - XN(1) = 0. - YN(1) = 0. - ZN(1) = 1. -C***** End of Code Expanded From Routine: GNOPG4 -C***** Code Expanded From Routine: GNOPG4 - XS(2) = 0. - YS(2) = 0. - ZS(2) = Z2 - XN(2) = 0. - YN(2) = 0. - ZN(2) = -1. -C***** End of Code Expanded From Routine: GNOPG4 - P3 = P1 - P4 = P1 + P2 - Z3 = HALF*(Z1 + Z2) - D3X = HALF*(D1X + D2X) - TH1 = ATAN((D2X - D1X)/(Z2 - Z1)) - COSTH1 = COS(TH1) - SINTH1 = SIN(TH1) - D3N = HALF*(D1N + D2N) - ISMAX = 5 - IF (D3N .NE. 0.) THEN - ISMAX = 6 - TH2 = ATAN((D2N - D1N)/(Z2 - Z1)) - COSTH2 = COS(TH2) - SINTH2 = SIN(TH2) - ENDIF - FLAG1 = .FALSE. - DIST1 = 1.E10 - DO 60 I = 1, NT -C***** Code Expanded From Routine: GNOPG3 -C***** Code Expanded From Routine: GNOPG4 - XS(3) = 0. - YS(3) = 0. - ZS(3) = Z3 - XN(3) = -SIN(P3) - YN(3) = COS(P3) - ZN(3) = 0. -C***** End of Code Expanded From Routine: GNOPG4 -C***** Code Expanded From Routine: GNOPG4 - XS(4) = 0. - YS(4) = 0. - ZS(4) = Z3 - XN(4) = SIN(P4) - YN(4) = -COS(P4) - ZN(4) = 0. -C***** End of Code Expanded From Routine: GNOPG4 - P1X = HALF*(P3 + P4) - COSP = COS(P1X) - SINP = SIN(P1X) -C***** Code Expanded From Routine: GNOPG4 - XS(5) = D3X*COSP - YS(5) = D3X*SINP - ZS(5) = Z3 - XN(5) = -COSP*COSTH1 - YN(5) = -SINP*COSTH1 - ZN(5) = SINTH1 -C***** End of Code Expanded From Routine: GNOPG4 - IF (D3N .NE. 0.) THEN -C***** Code Expanded From Routine: GNOPG4 - XS(6) = D3N*COSP - YS(6) = D3N*SINP - ZS(6) = Z3 - XN(6) = COSP*COSTH2 - YN(6) = SINP*COSTH2 - ZN(6) = -SINTH2 -C***** End of Code Expanded From Routine: GNOPG4 - ENDIF -C***** Code Expanded From Routine: GNOPG6 - FLAG1X = .FALSE. - DIST2X = 0. - DO 20 IS = 1, ISMAX -C***** Code Expanded From Routine: GNOPG9 -* TRUE if (XP,YP,ZP) in positive region of surface I - GNOP1X = 0. .LE. (XP-XS(IS))*XN(IS)+(YP-YS(IS))*YN(IS)+(ZP- - + ZS(IS))*ZN(IS) -C***** End of Code Expanded From Routine: GNOPG9 -C***** Code Expanded From Routine: GNOPG7 - IF (.NOT.GNOP1X) THEN - SPPMSN = (XP - XS(IS))*XN(IS) + (YP - YS(IS))*YN(IS) + ( - + ZP - ZS(IS))*ZN(IS) - SPDN = XD*XN(IS) + YD*YN(IS) + ZD*ZN(IS) - IF (SPDN .EQ. 0.) THEN - DIST1X = -.000001 - ELSE - DIST1X = -SPPMSN/SPDN - ENDIF -C***** End of Code Expanded From Routine: GNOPG7 - IF ((-1.E-5) .LE. DIST1X) THEN - FLAG1X = .TRUE. - DIST2X = MAX(DIST1X,DIST2X) - ENDIF - ENDIF - 20 CONTINUE - IF (.NOT.FLAG1X) GO TO 50 - T = DIST2X + .001 - XQ = XP + T*XD - YQ = YP + T*YD - ZQ = ZP + T*ZD -C***** Code Expanded From Routine: GNOPG8 -* TRUE if (XP,YP,ZP) in volume - GNOP2X = .FALSE. - DO 30 IS1X = 1, ISMAX -C***** Code Expanded From Routine: GNOPG9 -* TRUE if (XP,YP,ZP) in positive region of surface I - GNOP4X = 0. .LE. (XQ-XS(IS1X))*XN(IS1X)+(YQ-YS(IS1X))*YN( - + IS1X)+(ZQ-ZS(IS1X))*ZN(IS1X) - IF (.NOT.GNOP4X) GO TO 40 -C***** End of Code Expanded From Routine: GNOPG9 - 30 CONTINUE - GNOP2X = .TRUE. - 40 CONTINUE - FLAG1X = GNOP2X -C***** End of Code Expanded From Routine: GNOPG8 - 50 CONTINUE -C***** End of Code Expanded From Routine: GNOPG3 - IF (FLAG1X) THEN - FLAG1 = .TRUE. - DIST1 = MIN(DIST2X,DIST1) - ENDIF - P3 = P4 - P4 = P4 + P2 - 60 CONTINUE -C***** End of Code Expanded From Routine: GNOPG2 - IF (FLAG1) THEN - FLAG=.TRUE. - IF (DIST1.LT.DIST) DIST=DIST1 - END IF - INDEX=INDEX+3 - IF (MINDEX.LT.INDEX) THEN - IF(FLAG) THEN - SNXT=DIST - ELSE - SNXT=1.E10 - ENDIF - ELSE - IF (P(INDEX+3).EQ.Z2) INDEX=INDEX+3 - GO TO 10 - ENDIF - END diff --git a/StarVMC/geant3/ggeom/gnopgo.F b/StarVMC/geant3/ggeom/gnopgo.F deleted file mode 100644 index a073d444af8..00000000000 --- a/StarVMC/geant3/ggeom/gnopgo.F +++ /dev/null @@ -1,163 +0,0 @@ -* -* $Id: gnopgo.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnopgo.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOPGO (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'PGON' VOLUME, * -C. * FROM OUTSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * from point X(1-3) along direction X(4-6) * -C. * SAFE (output) : shortest distance from point X(1-3) to * -C. * any boundary (possibly overestimated) * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Authors R.Nierhaus, F.Bruyant ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - REAL X(*),PAR(*) -C -C. ------------------------------------------------------------------ -* - SNXT = BIG - IF (IACT.LT.3) THEN -* -* *** Compute SAFE -* - R2 = X(1)**2 +X(2)**2 - R = SQRT(R2) - DPHI2 = 0.5*PAR(2)*DEGRAD/PAR(3) - CDPHI2 = COS(DPHI2) - NZ = PAR(4) -* - IF (X(3).LT.PAR(5)) THEN - SAFEZ = PAR(5) -X(3) - ELSE IF (X(3).GT.PAR(3*NZ+2)) THEN - SAFEZ = X(3) -PAR(3*NZ+2) - ELSE - SAFEZ = BIG - ENDIF -* - RMIN = BIG - RMAX = 0. - DO 10 I = 6,3*NZ+3,3 - IF (PAR(I).LT.RMIN) RMIN = PAR(I) - IF (PAR(I+1).GT.RMAX) RMAX = PAR(I+1) - 10 CONTINUE - RMAX = RMAX/CDPHI2 -* -* ** Treat outside Z-limits first -* - IF (SAFEZ.LT.0.9*BIG) THEN - IF (R.LT.RMIN) THEN - SAFE = MAX(SAFEZ,RMIN-R) - ELSE IF (R.GT.RMAX) THEN - SAFE = MAX(SAFEZ,R-RMAX) - ELSE - SAFE = SAFEZ - ENDIF - GO TO 50 - ELSE -* -* ** Now one is inside the Z-limits -* - DO 20 I = 8,3*NZ+2,3 - IF (X(3).GT.PAR(I)) GO TO 20 - IF (PAR(I+1).EQ.PAR(I-2)) THEN - IF (R.LT.PAR(I+1)) THEN - SAFE = PAR(I+1) -R - IF (NZ.EQ.2) GO TO 50 - XT3 = X(3) -0.5*(PAR(I)+PAR(I-3)) - DZ = 0.5*(PAR(I)-PAR(I-3)) - GO TO 18 - ENDIF - ELSE IF (PAR(I+2).EQ.PAR(I-1)) THEN - IF (R.GT.PAR(I+2)) THEN - SAFE = R -PAR(I+2) - IF (NZ.EQ.2) GO TO 50 - XT3 = X(3) -0.5*(PAR(I)+PAR(I-3)) - DZ = 0.5*(PAR(I)-PAR(I-3)) - GO TO 18 - ENDIF - ENDIF -* - XT3 = X(3) -0.5*(PAR(I)+PAR(I-3)) - DZ = 0.5*(PAR(I)-PAR(I-3)) - FACT = 0.5*(PAR(I+1)-PAR(I-2))/DZ - RAD1 = PAR(I-2) +FACT*(DZ+XT3) - IF (R.LT.RAD1) THEN - SAFE = (RAD1-R)/SQRT(1.+FACT**2) - ELSE - FACT = 0.5*(PAR(I+2)-PAR(I-1))/DZ - RAD2 = PAR(I-1) +FACT*(DZ+XT3) - RAD2=RAD2/CDPHI2 - IF (R.GT.RAD2) THEN - SAFE = (R-RAD2)/SQRT(1.+FACT**2) - ELSE - SAFE = 0. - ENDIF - ENDIF - IF (NZ.EQ.2) GO TO 19 -* - 18 SAFEZ = DZ-ABS(XT3) - SAFE = MIN(SAFEZ,SAFE) -* - 19 IF (R.LT.RMIN) THEN - SAFE = MAX(RMIN-R,SAFE) - ELSE IF (R.GT.RMAX) THEN - SAFE = MAX(R-RMAX,SAFE) - ENDIF - GO TO 50 - 20 CONTINUE - ENDIF -* -* ** Case of a Phi segmented polygon -* (not coded yet) - 50 CONTINUE -* - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF -* - CALL GNOPG1 (X, PAR, SNXT) -* - 999 END diff --git a/StarVMC/geant3/ggeom/gnosph.F b/StarVMC/geant3/ggeom/gnosph.F deleted file mode 100644 index 2d324d150c5..00000000000 --- a/StarVMC/geant3/ggeom/gnosph.F +++ /dev/null @@ -1,486 +0,0 @@ -* -* $Id: gnosph.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnosph.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOSPH (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'SPHE' VOLUME, * -C. * FROM OUTSIDE POINT X(1-3) ALONG DIRECTION X(4-6)SPHERE * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson, P.Weidhaas ********* * -C. * * -C. ****************************************************************** -C. -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif -#include "geant321/gconsp.inc" - REAL X(6),PAR(6),SNEXT,SNXT,SAFE - DIMENSION IS(4),SS(4) -C. -C. ---------------------------------------------------------------- -C. - - SNXT = BIG - R2 = X(1)*X(1) + X(2)*X(2) + X(3)*X(3) - R = SQRT (R2) - - IF (IACT .LT. 3) THEN - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - - RIN = PAR(1) - ROUT = PAR(2) - IF (R .LT. RIN) THEN - SAFE = RIN - R - ELSEIF (R .GT. ROUT) THEN - SAFE = R - ROUT - ENDIF - - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - - BA=X(1)*X(4)+X(2)*X(5)+X(3)*X(6) - IF(R2.GE.PAR(2)*PAR(2).AND.BA.GE.0.0) GO TO 999 -C - CA=R2-PAR(2)*PAR(2) - DISC=BA*BA-CA - IF(DISC.LE.0.0) GO TO 999 -C - RDISC=SQRT(DISC) - SMAX=-BA+RDISC - SMIN=-BA-RDISC -C -C NOW DO RMIN -C - CA=R2-PAR(1)*PAR(1) - DISC=BA*BA-CA -C - SMIN1=SMIN - SMAX1=-1.0 - SMIN2=SMIN - SMAX2=SMAX -C - IF(DISC.LE.0.0) GO TO 30 - RDISC=SQRT(DISC) - SMIN2=-BA+RDISC - SMAX1=-BA-RDISC -C - 30 CONTINUE -C -C NOW DO THE PHI STUFF. -C - IP2=0 - SMNP1=0.0 - SMXP1=SMAX2 -C - IF(PAR(6)-PAR(5).GE.360.0) GO TO 110 -C - DPSGN=X(1)*X(5)-X(2)*X(4) - PHL=PAR(5)/RADDEG - PHH=PAR(6)/RADDEG - ISMIN=0 - ISMAX=0 -C - TSGN=SIN(PHL) - TCSG=COS(PHL) - DEN=X(4)*TSGN-X(5)*TCSG - IF(DEN.EQ.0.0) GO TO 40 - SNL=(X(2)*TCSG-X(1)*TSGN)/DEN - IF(ABS(TSGN).GT.1.E-6.AND.(X(2)+SNL*X(5))*TSGN.LT.0.) GO TO 40 - IF(ABS(TCSG).GT.1.E-6.AND.(X(1)+SNL*X(4))*TCSG.LT.0.) GO TO 40 -C - ISMIN=1 - SMIN=SNL - IF(DPSGN.GT.0.0) GO TO 40 - ISMIN=0 - ISMAX=1 - SMAX=SNL -C - 40 CONTINUE -C - TSGN=SIN(PHH) - TCSG=COS(PHH) - DEN=X(4)*TSGN-X(5)*TCSG - IF(DEN.EQ.0.0) GO TO 60 - SNH=(X(2)*TCSG-X(1)*TSGN)/DEN - IF(ABS(TSGN).GT.1.E-6.AND.(X(2)+SNH*X(5))*TSGN.LT.0.) GO TO 60 - IF(ABS(TCSG).GT.1.E-6.AND.(X(1)+SNH*X(4))*TCSG.LT.0.) GO TO 60 - IF(DPSGN.LT.0.0) GO TO 50 - ISMAX=1 - SMAX=SNH - GO TO 60 -C - 50 CONTINUE - ISMIN=1 - SMIN=SNH -C - 60 CONTINUE -C - IF(ISMIN.EQ.0.OR.ISMAX.EQ.0) GO TO 80 - IF(SMAX.LT.0.0.AND.SMAX.GT.SMIN) GO TO 999 - IF(SMIN.LT.0.0) SMIN=0.0 - IF(SMAX.LT.0.0) GO TO 100 - IF(SMAX.GT.SMIN) GO TO 70 -C -C SMAX +VE AND LESS THAN SMIN - 2 ALLOWED -C REGIONS. -C - IP2=1 - SMXP1=SMAX - SMNP2=SMIN - SMXP2=SMAX2 - GO TO 110 -C - 70 CONTINUE -C -C SMIN +VE AND SMAX GT SMIN: NORMAL SINGLE -C REGION -C - SMNP1=SMIN - SMXP1=SMAX - GO TO 110 -C - 80 CONTINUE - IF(ISMIN.EQ.1) GO TO 100 - IF(ISMAX.EQ.0) GO TO 90 -C -C SMAX BUT NO SMIN -C - SMXP1=SMAX - GO TO 110 -C - 90 CONTINUE -C -C NO SMIN OR SMAX: ALWAYS IN OR ALWAYS OUT. -C - DPH=PAR(5)-PAR(4) - IF(DPH.LT.180.0.AND.DPH.GT.0.0) GO TO 999 - IF(DPH.LT.-180.0) GO TO 999 - GO TO 110 -C - 100 CONTINUE -C -C SMIN BUT NO SMAX. -C - SMNP1=SMIN -C - 110 CONTINUE -C -C NOW DO THETA. -C - IT2=0 - SMNT1=0.0 - SMXT1=SMAX2 - IF(PAR(4)-PAR(3).GE.180.0) GO TO 360 -C - TH=PAR(3) - IT=1 - ITLN=0 - ITLX=0 - ITHN=0 - ITHX=0 -C - 120 CONTINUE -C - IF(TH.NE.90.0) GO TO 130 - IF(X(6).EQ.0.0) GO TO 220 -C - ST=-X(3)/X(6) - STST=-X(6) - GO TO 180 -C - 130 CONTINUE -C - TT=TAN(TH/RADDEG) - TT2=TT*TT -C - A=X(4)*X(4)+X(5)*X(5)-TT2*X(6)*X(6) - B=X(1)*X(4)+X(2)*X(5)-TT2*X(3)*X(6) - C=X(1)*X(1)+X(2)*X(2)-TT2*X(3)*X(3) -C - IF(A.NE.0.0) GO TO 140 - IF(B.EQ.0.0) GO TO 220 -C - ST=-C*0.5/B -C - Z=X(3)+ST*X(6) - IF(Z*TT.LT.0.0) GO TO 220 -C - STST=(B+ST*A)/Z - ITRY=2 -C - GO TO 180 - 140 CONTINUE -C - BA=B/A - CA=C/A - DISC=BA*BA-CA - IF(DISC.LT.0.0) GO TO 220 -C - RDISC=0.0 - IF(DISC.GT.0.0) RDISC=SQRT(DISC) - ITRY=1 - ST=-BA-RDISC -C - 150 CONTINUE -C - IF(ST.LT.0.0) GO TO 160 - Z=X(3)+ST*X(6) - IF(Z.EQ.0.0.AND.ABS(A).LT.0.0) GO TO 170 - IF(RDISC.EQ.0.0) GO TO 160 - IF(Z*TT.LT.0.0) GO TO 160 -C - STST=(B+ST*A)/Z - GO TO 180 -C - 160 CONTINUE -C - IF(ITRY.EQ.2) GO TO 220 - ST=-BA+RDISC - ITRY=2 - GO TO 150 -C - 170 CONTINUE - STST=-X(6) - 180 CONTINUE -C - IF(IT.NE.1) GO TO 200 - IF(STST.GT.0.0) GO TO 190 - ITLX=1 - SMXTL=ST - GO TO 160 -C - 190 CONTINUE - ITLN=1 - SMNTL=ST - GO TO 160 -C - 200 CONTINUE - IF(STST.GT.0.0) GO TO 210 - ITHN=1 - SMNTH=ST - GO TO 160 -C - 210 CONTINUE - ITHX=1 - SMXTH=ST - GO TO 160 -C - 220 CONTINUE - IF(IT.EQ.2) GO TO 230 - IT=2 - TH=PAR(4) - GO TO 120 -C - 230 CONTINUE -C -C ORDER THE VARIOUS BOUNDARIES. -C - ICOUNT=0 - IF(ITLN.EQ.0.OR.SMNTL.LE.0.0) GO TO 240 - IS(1)=1 - SS(1)=SMNTL - ICOUNT=1 -C - 240 CONTINUE - IF(ITLX.EQ.0.OR.SMXTL.LE.0.0) GO TO 260 - IPL=ICOUNT+1 - IF(ICOUNT.EQ.0.OR.SMXTL.GT.SS(1)) GO TO 250 - IS(2)=IS(1) - SS(2)=SS(1) - IPL=1 - 250 CONTINUE - ICOUNT=ICOUNT+1 - IS(IPL)=2 - SS(IPL)=SMXTL -C - 260 CONTINUE - IST=3 - IF(ITHN.EQ.0.OR.SMNTH.LE.0.0) GO TO 320 - STEST=SMNTH -C - 270 CONTINUE - IPL=ICOUNT+1 - IF(ICOUNT.EQ.0) GO TO 310 - DO 280 IC=1,ICOUNT - IC1=ICOUNT-IC+1 - IF(STEST.GT.SS(IC1)) GO TO 290 - IPL=IPL-1 - 280 CONTINUE -C - 290 CONTINUE - IF(IPL.EQ.ICOUNT+1) GO TO 310 - IM=ICOUNT+1-IPL - DO 300 I=1,IM - I1=ICOUNT-I+1 - I2=I1+1 - IS(I2)=IS(I1) - SS(I2)=SS(I1) - 300 CONTINUE -C - 310 CONTINUE - ICOUNT=ICOUNT+1 - IS(IPL)=IST - SS(IPL)=STEST -C - 320 CONTINUE - IF(IST.EQ.4) GO TO 330 - IF(ITHX.EQ.0.OR.SMXTH.LE.0.0) GO TO 330 - IST=4 - STEST=SMXTH - GO TO 270 -C - 330 CONTINUE -C -C CHECK WHETHER 1ST IS MAX OR MIN. -C - IF(ICOUNT.EQ.0) GO TO 350 - IF(IS(1).EQ.2.OR.IS(1).EQ.4) GO TO 340 -C -C START WITH MIN. -C - SMNT1=SS(1) - IF(ICOUNT.GE.2) SMXT1=SS(2) - IF(ICOUNT.LE.2) GO TO 360 - IT2=1 - SMNT2=SS(3) - SMXT2=SMAX2 - IF(ICOUNT.GE.4) SMXT2=SS(4) - GO TO 360 -C - 340 CONTINUE -C -C START WITH MAX SO 1ST MIN IS 0.0 -C - SMNT1=0.0 - SMXT1=SS(1) - IF(ICOUNT.LE.1) GO TO 360 - IT2=1 - SMNT2=SS(2) - SMXT2=SMAX2 - IF(ICOUNT.GE.3) SMXT2=SS(3) - GO TO 360 -C - 350 CONTINUE -C -C NO INTERSECTIONS ALWAYS IN OR ALWAYS OUT. -C - R=X(1)*X(1)+X(2)*X(2) - IF(R.GT.0.0) R=SQRT(R) - TH=90.0 - IF(X(3).NE.0.0) TH=ATAN(R/X(3))*RADDEG - IF(TH.LT.0.0) TH=180.0+TH - IF(TH.LT.PAR(3).OR.TH.GT.PAR(4)) GO TO 999 -C - 360 CONTINUE -C -C NOW FIND SMALLEST S ALOWED BY ALL. -C - IF(SMAX1.LE.SMIN1) GO TO 370 - SMAXR=SMAX1 - SMINR=SMIN1 - IRT=1 - GO TO 380 -C - 370 CONTINUE - SMAXR=SMAX2 - SMINR=SMIN2 - IRT=2 -C - 380 CONTINUE - IF(SMNP1.GT.SMAXR) GO TO 430 - IF(SMXP1.LT.SMINR) GO TO 390 - SMIN=SMINR - SMAX=SMAXR - IF(SMNP1.GT.SMIN) SMIN=SMNP1 - IF(SMXP1.LT.SMAX) SMAX=SMXP1 - IPT=1 - GO TO 400 -C - 390 CONTINUE - IF(IP2.EQ.0) GO TO 430 - IF(SMNP2.GT.SMAXR) GO TO 430 - IF(SMXP2.LT.SMINR) GO TO 430 - SMIN=SMINR - SMAX=SMAXR - IF(SMNP2.GT.SMIN) SMIN=SMNP2 - IF(SMXP2.LT.SMAX) SMAX=SMXP2 - IPT=2 -C - 400 CONTINUE -C - IF(SMNT1.GT.SMAX) GO TO 420 - IF(SMXT1.LT.SMIN) GO TO 410 - IF(SMNT1.GT.SMIN) SMIN=SMNT1 - GO TO 440 -C - 410 CONTINUE - IF(IT2.EQ.0) GO TO 420 - IF(SMNT2.GT.SMAX) GO TO 420 - IF(SMXT2.LT.SMIN) GO TO 420 - IF(SMNT2.GT.SMIN) SMIN=SMNT2 - GO TO 440 -C - 420 CONTINUE - IF(IPT.EQ.1) GO TO 390 - 430 CONTINUE - IF(IRT.EQ.1) GO TO 370 - GO TO 999 -C - 440 CONTINUE - IF(SMIN.LE.0.)GO TO 999 - SNXT = SMIN - - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gnotr1.F b/StarVMC/geant3/ggeom/gnotr1.F deleted file mode 100644 index 1b97d6b8b34..00000000000 --- a/StarVMC/geant3/ggeom/gnotr1.F +++ /dev/null @@ -1,96 +0,0 @@ -* -* $Id: gnotr1.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnotr1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.29 by S.Giani -*-- Author : - SUBROUTINE GNOTR1(P) -C. -C. ****************************************************************** -C. * * -C. * Routine to extend the user supplied parameters P to * -C. * internal parameters for the trapezoidal shape TRAP * -C. * * -C. * Called by : GSPOSP, GSVOLU , GGDPAR * -C. * Author R.Nierhaus ********* * -C. * * -C. ****************************************************************** -C. -* GNOTR1 computes the coordinates for the 8 vertices -* X(8), Y(8) and Z(8). -* Then GNOTR2 is called for each of the six boundary surfaces. -* - DIMENSION P(35),X(8),Y(8),Z(8) -* - HZ =P(1) - SX =P(2) - SY =P(3) - HY1 =P(4) - HX11=P(5) - HX12=P(6) - SX1 =P(7) - HY2 =P(8) - HX21=P(9) - HX22=P(10) - SX2 =P(11) - IF (HY1.LT.1.E-6) HY1=1.E-6 - IF (HX11.LT.1.E-6) HX11=1.E-6 - IF (HX12.LT.1.E-6) HX12=1.E-6 - IF (HY2.LT.1.E-6) HY2=1.E-6 - IF (HX21.LT.1.E-6) HX21=1.E-6 - IF (HX22.LT.1.E-6) HX22=1.E-6 - X(1)=-HZ*SX-HY1*SX1-HX11 - X(2)=-HZ*SX-HY1*SX1+HX11 - X(3)=-HZ*SX+HY1*SX1-HX12 - X(4)=-HZ*SX+HY1*SX1+HX12 - X(5)=+HZ*SX-HY2*SX2-HX21 - X(6)=+HZ*SX-HY2*SX2+HX21 - X(7)=+HZ*SX+HY2*SX2-HX22 - X(8)=+HZ*SX+HY2*SX2+HX22 - Y(1)=-HZ*SY-HY1 - Y(2)=-HZ*SY-HY1 - Y(3)=-HZ*SY+HY1 - Y(4)=-HZ*SY+HY1 - Y(5)=+HZ*SY-HY2 - Y(6)=+HZ*SY-HY2 - Y(7)=+HZ*SY+HY2 - Y(8)=+HZ*SY+HY2 - Z(1)=-HZ - Z(2)=-HZ - Z(3)=-HZ - Z(4)=-HZ - Z(5)=+HZ - Z(6)=+HZ - Z(7)=+HZ - Z(8)=+HZ - CALL GNOTR2(X,Y,Z,1,2,4,3,P(12)) - CALL GNOTR2(X,Y,Z,5,7,8,6,P(16)) - CALL GNOTR2(X,Y,Z,1,5,6,2,P(20)) - CALL GNOTR2(X,Y,Z,3,4,8,7,P(24)) - CALL GNOTR2(X,Y,Z,1,3,7,5,P(28)) - CALL GNOTR2(X,Y,Z,2,6,8,4,P(32)) -* - END diff --git a/StarVMC/geant3/ggeom/gnotr2.F b/StarVMC/geant3/ggeom/gnotr2.F deleted file mode 100644 index e1fa9943e70..00000000000 --- a/StarVMC/geant3/ggeom/gnotr2.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: gnotr2.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnotr2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNOTR2(X,Y,Z,N1,N2,N3,N4,ABCD) -C. -C. ****************************************************************** -C. * * -C. * GNOTR2 computes the coefficients of the implicit * -C. * normalized plane equation. * -C. * These are called ABCD(1),ABCD(2),ABCD(3) and ABCD(4) in * -C. * GNOTR2. They are stored in the parameter array * -C. * respectively in P(12),P(13),P(14),P(15) for the first * -C. * surface, P(16),P(17),P(18),P(19) for the second surface * -C. * and so on. The face is formed by the half-edges * -C. * N1-N2,N2-N3,N3-N4,N4-N1, where N1,N2,N3,N4 are the * -C. * indices of the corresponding vertices. * -C. * Called by : GNOTR1 * -C. * Author R.Nierhaus ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION X(8),Y(8),Z(8),ABCD(4) -* - CALL GNOTR9(X,Y,Z,N1,N2,N3,N4) -* - A=((Y(N2)-Y(N1))*(Z(N1)+Z(N2))+(Y(N3)-Y(N2))*(Z(N2)+Z(N3)) - + +(Y(N4)-Y(N3))*(Z(N3)+Z(N4))+(Y(N1)-Y(N4))*(Z(N4)+Z(N1))) - B=((Z(N2)-Z(N1))*(X(N1)+X(N2))+(Z(N3)-Z(N2))*(X(N2)+X(N3)) - + +(Z(N4)-Z(N3))*(X(N3)+X(N4))+(Z(N1)-Z(N4))*(X(N4)+X(N1))) - C=((X(N2)-X(N1))*(Y(N1)+Y(N2))+(X(N3)-X(N2))*(Y(N2)+Y(N3)) - + +(X(N4)-X(N3))*(Y(N3)+Y(N4))+(X(N1)-X(N4))*(Y(N4)+Y(N1))) - S=SQRT(A**2+B**2+C**2) - ABCD(1)=A/S - ABCD(2)=B/S - ABCD(3)=C/S - ABCD(4)=-(ABCD(1)*X(N1)+ABCD(2)*Y(N1)+ABCD(3)*Z(N1)) -* - END diff --git a/StarVMC/geant3/ggeom/gnotr9.F b/StarVMC/geant3/ggeom/gnotr9.F deleted file mode 100644 index 19571651d95..00000000000 --- a/StarVMC/geant3/ggeom/gnotr9.F +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: gnotr9.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnotr9.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNOTR9(X,Y,Z,N1,N2,N3,N4) -C. ****************************************************************** -C. * * -C. * GNOTR9 checks coplanarity of the face described by the * -C. * indices N1,N2,N3,N4 into the vertex array X,Y,Z. * -C. * This check is perfomed since shape TRAP is described by * -C. * 11 values in the parameter array of which only 9 are * -C. * independant. -C. * Called by : GNOTR2 -C. * Author R.Nierhaus ********* * -C. * * -C. ****************************************************************** -* -#include "geant321/gcunit.inc" -* - DIMENSION X(8),Y(8),Z(8) -* - A=-((Y(N2)-Y(N1))*(Z(N3)-Z(N1))-(Y(N3)-Y(N1))*(Z(N2)-Z(N1))) - B=-((Z(N2)-Z(N1))*(X(N3)-X(N1))-(Z(N3)-Z(N1))*(X(N2)-X(N1))) - C=-((X(N2)-X(N1))*(Y(N3)-Y(N1))-(X(N3)-X(N1))*(Y(N2)-Y(N1))) - V=(X(N4)-X(N1))*A+(Y(N4)-Y(N1))*B+(Z(N4)-Z(N1))*C - IF (ABS(V)/SQRT(A**2+B**2+C**2).GT.1.E-3) THEN - WRITE(CHMAIL,1001) - CALL GMAIL(0,0) - 1001 FORMAT (' GNOTR9 ...TRAP shape : surface not coplanar') - END IF -* - END - diff --git a/StarVMC/geant3/ggeom/gnotra.F b/StarVMC/geant3/ggeom/gnotra.F deleted file mode 100644 index f0d13b27ec0..00000000000 --- a/StarVMC/geant3/ggeom/gnotra.F +++ /dev/null @@ -1,285 +0,0 @@ -* -* $Id: gnotra.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnotra.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNOTRA (X, PAR, IACT, IFLAG, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'TRD1' OR 'TRD2' * -C. * VOLUME, FROM OUTSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * IFLAG (input) : = 1 for TRD1, 2 for TRD2 * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson, P.Weidhaas ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6),PAR(5) -C. -C. ---------------------------------------------------------------- -C. - - SNXT = BIG - IF (IFLAG .EQ. 1) THEN - FACTX = (PAR(2) - PAR(1)) / (2.0*PAR(4)) - ELSEIF (IFLAG .EQ. 2) THEN - FACTX = (PAR(2) - PAR(1)) / (2.0*PAR(5)) - FACTY = (PAR(4) - PAR(3)) / (2.0*PAR(5)) - ENDIF - - IF (IACT .LT. 3) THEN - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - - IF (IFLAG .EQ. 1) THEN -C******************************************************* -C -C...... Shape "TRD1": only x varies with z. -C -C******************************************************* - - SAF2 = MAX (ABS(X(2)) - PAR(3), 0.0) - SAF3 = MAX (ABS(X(3)) - PAR(4), 0.0) -C -C...... Distance along x-direction to slanted wall. -C - DISTX = PAR(1) + FACTX * (PAR(4) + X(3)) - IF (ABS(X(1)) .GT. DISTX) THEN - SAF1 = (ABS(X(1)) - DISTX) / SQRT(1.0 + FACTX*FACTX) - ELSE - SAF1 = 0.0 - ENDIF - - - ELSE -C******************************************************* -C -C...... Shape "TRD2": both x and y vary with z. -C -C******************************************************* - - SAF3 = MAX (ABS(X(3)) - PAR(5), 0.0) - -C -C...... Distance along x-direction to slanted wall. -C - DISTX = PAR(1) + FACTX * (PAR(5) + X(3)) - IF (ABS(X(1)) .GT. DISTX) THEN - SAF1 = (ABS(X(1)) - DISTX) / SQRT(1.0 + FACTX*FACTX) - ELSE - SAF1 = 0.0 - ENDIF -C -C...... Distance along y-direction to slanted wall. -C - DISTY = PAR(3) + FACTY * (PAR(5) + X(3)) - IF (ABS(X(2)) .GT. DISTY) THEN - SAF2 = (ABS(X(2)) - DISTY) / SQRT(1.0 + FACTY*FACTY) - ELSE - SAF2 = 0.0 - ENDIF - - ENDIF - - SAFE = MAX (SAF1, SAF2, SAF3) - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - -C -C Only x varies with z. -C - IF(IFLAG.NE.1) GO TO 50 - S3=PAR(4) - FACTX = (PAR(2) - PAR(1)) / (2.0*S3) - S1 = 0.5 * (PAR(1) + PAR(2)) + FACTX * X(3) - DS11=X(4) - FACTX * X(6) - DS12=X(4) + FACTX * X(6) - S2=PAR(3) - DS21=X(5) - DS22=X(5) - GO TO 60 -C -C Both x and y widths vary with z. -C - 50 CONTINUE - S3=PAR(5) - FACTX = (PAR(2) - PAR(1)) / (2.0*S3) - FACTY = (PAR(4) - PAR(3)) / (2.0*S3) - S1 = 0.5 * (PAR(1) + PAR(2)) + FACTX * X(3) - DS11=X(4) - FACTX * X(6) - DS12=X(4) + FACTX * X(6) - S2 = 0.5 * (PAR(3) + PAR(4)) + FACTY * X(3) - DS21=X(5) - FACTY * X(6) - DS22=X(5) + FACTY * X(6) - -C -C FIRST DO THE Z COORDINATE. -C - 60 SMAX=9.0E+10 - SMIN=0.0 - IF(X(6).EQ.0.0.AND.S3.LT.ABS(X(3))) GO TO 999 - IF(X(6).EQ.0.0) GO TO 70 - SMIN=(S3-X(3))/X(6) - SMAX=(-S3-X(3))/X(6) - IF(SMAX.GT.SMIN) GO TO 70 - SN=SMAX - SMAX=SMIN - SMIN=SN -C - 70 IF(SMIN.LT.0.0) SMIN=0.0 - IF(SMAX.LT.SMIN) GO TO 999 -C -C NOW DO X COORDINATE. -C - SS1=S1-X(1) - SS2=-S1-X(1) - SN1=-1.0 - SN2=SMAX -* - IF(SS1.LT.0.0) SN1=SMAX - IF(SS2.GT.0.0) SN2=-1.0 -* - IF(DS11.NE.0.0) SN1=SS1/DS11 - IF(DS12.NE.0.0) SN2=SS2/DS12 - IF(DS12*DS11.EQ.0.0) GO TO 90 - IF(DS12.LT.0.0.AND.DS11.LT.0.0) GO TO 110 - ST=SN2 - SN2=SN1 - SN1=ST - IF(DS12.GT.0.0.AND.DS11.GT.0.0) GO TO 110 - IF(DS12.LT.0.0) GO TO 80 - IF(SN2.GT.SN1) SN1=SN2 - SN2=SMAX - GO TO 110 -C - 80 CONTINUE -C - IF(SN2.GT.SN1) SN2=SN1 - SN1=0.0 - GO TO 110 -C - 90 CONTINUE -C - IF(DS12.EQ.0.0.AND.SS2.GT.0.0) GO TO 999 - IF(DS12.EQ.0.0.AND.DS11.LT.0.0) GO TO 110 - IF(DS11.EQ.0.0.AND.SS1.LT.0.0) GO TO 999 - IF(DS11.EQ.0.0.AND.DS12.LE.0.0) GO TO 110 - IF(DS11.EQ.0.0) GO TO 100 - SN2=SN1 - SN1=0.0 - GO TO 110 -C - 100 CONTINUE - SN1=SN2 - SN2=SMAX -C - 110 CONTINUE -C - IF(SN1.GT.SMIN) SMIN=SN1 - IF(SN2.LT.SMAX) SMAX=SN2 - IF(SMAX.LE.SMIN) GO TO 999 -C -C NOW DO Y COORDINATE. -C - SS1=S2-X(2) - SS2=-S2-X(2) - SN1=-1.0 - SN2=SMAX -* - IF(SS1.LT.0.0) SN1=SMAX - IF(SS2.GT.0.0) SN2=-1.0 -* - IF(DS21.NE.0.0) SN1=SS1/DS21 - IF(DS22.NE.0.0) SN2=SS2/DS22 - IF(DS22*DS21.EQ.0.0) GO TO 130 - IF(DS22.LT.0.0.AND.DS21.LT.0.0) GO TO 150 - ST=SN2 - SN2=SN1 - SN1=ST - IF(DS22.GT.0.0.AND.DS21.GT.0.0) GO TO 150 - IF(DS22.LT.0.0) GO TO 120 - IF(SN2.GT.SN1) SN1=SN2 - SN2=SMAX - GO TO 150 -C - 120 CONTINUE -C - IF(SN2.GT.SN1) SN2=SN1 - SN1=0.0 - GO TO 150 -C - 130 CONTINUE -C - IF(DS22.EQ.0.0.AND.SS2.GT.0.0) GO TO 999 - IF(DS22.EQ.0.0.AND.DS21.LT.0.0) GO TO 150 - IF(DS21.EQ.0.0.AND.SS1.LT.0.0) GO TO 999 - IF(DS21.EQ.0.0.AND.DS22.LE.0.0) GO TO 150 - IF(DS21.EQ.0.0) GO TO 140 - SN2=SN1 - SN1=0.0 - GO TO 150 -C - 140 CONTINUE - SN1=SN2 - SN2=SMAX -C - 150 CONTINUE -C - IF(SN1.GT.SMIN) SMIN=SN1 - IF(SN2.LT.SMAX) SMAX=SN2 -C - IF(SMAX.LE.SMIN) GO TO 999 - IF(SMIN.LE.0.)GO TO 999 - SNXT = SMIN - - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gnotrp.F b/StarVMC/geant3/ggeom/gnotrp.F deleted file mode 100644 index 7d7a6d756f6..00000000000 --- a/StarVMC/geant3/ggeom/gnotrp.F +++ /dev/null @@ -1,130 +0,0 @@ -* -* $Id: gnotrp.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnotrp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNOTRP(X,P,IACT,SNEXT,SNXT,SAFE) -C. -C. ****************************************************************** -C. * * -C. * Compute distance up to intersection with 'TRAP' volume. * -C. * from outside point X(1-3) along direction X(4-6) * -C. * * -C. * P (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT.GT.SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * Scalar Distance to Volume. * -C. * The scalar distance from a point to a hexahedron can be * -C. * the distance from the point to a surface, * -C. * the distance from the point to an edge or * -C. * the distance from the point to a vertex. * -C. * Here we compute only the distances to the planes of the * -C. * six surfaces and take the maximum. * -C. * Since the distances to edges or vertices can only be * -C. * larger, this is a first approximation to * -C. * SAFETY, that is a value which is not larger than the * -C. * distance from the point to the volume. * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author R.Nierhaus ********* * -C. * * -C. ****************************************************************** -* -#include "geant321/gconsp.inc" -* - DIMENSION X(6),P(35) -* - SAFE=-BIG - SNXT=BIG - DO 1 I=12,32,4 - T1=P(I)*X(1)+P(I+1)*X(2)+P(I+2)*X(3)+P(I+3) - IF (SAFE.LT.T1) SAFE=T1 - 1 CONTINUE - IF (IACT.EQ.0.OR.(IACT.EQ.1.AND.SNEXT.LE.SAFE)) RETURN -* -* Vector Distance to Volume. -* Volume is hexahedron. -* (X(1),X(2),X(3)) is outside. -* P(1),P(2) ... P(11) are the standard Geant execution time -* parameters for a shape 4 (TRAP) volume. -* P(12) ... P(35) contain boundary surface data. -* P(12),P(13),P(14),P(15) are the coefficients of the normalized -* implicit plane equation for the first boundary surface. -* P(16),P(17),P(18),P(19) for the second boundary surface. -* P(32),P(33),P(34),P(35) for the last (sixth) boundary surface. -* The first three coefficients are the components of a unit -* vector pointing away from the volume. -* T1 is the signed orthogonal distance of the point -* (X(1),X(2),X(3)) and a boundary plane. -* If this distance is negative, the track cannot enter the -* volume through the corresponding face. -* T2 is the cosine of the angle between the plane normal and the -* track directions (X(4),X(5),X(6)). -* T3 is the vector distance to the corresponding surface. -* - SNXT1=-BIG - DO 2 I=12,32,4 - T1=P(I)*X(1)+P(I+1)*X(2)+P(I+2)*X(3)+P(I+3) - IF (0.LT.T1) THEN - T2=P(I)*X(4)+P(I+1)*X(5)+P(I+2)*X(6) - T3=-.0000001 - IF (T2.NE.0.) T3=-T1/T2 - IF (0..LE.T3) THEN - IF (SNXT1.LT.T3) SNXT1=T3 - END IF - END IF - 2 CONTINUE - IF (SNXT1.EQ.-BIG) RETURN -* - T=1.00001*SNXT1+.00001 -* -* (XQ,YQ,ZQ) is the intersection point of the track with -* a boundary surface plane. -* P(I)*XQ+P(I+1)*YQ+P(I+2)*ZQ+P(I+3) is the signed distance of -* the intersection point with a boundary surface plane. -* If this distance is positive for any of the six surfaces, -* the intersection is not with the volume. -* A small correction is applied which moves the point slightly -* to the interior of the volume to protect against rounding -* errors. -* - XQ=X(1)+T*X(4) - YQ=X(2)+T*X(5) - ZQ=X(3)+T*X(6) - DO 3 I=12,32,4 - IF (0.LT.P(I)*XQ+P(I+1)*YQ+P(I+2)*ZQ+P(I+3)) RETURN - 3 CONTINUE - SNXT=SNXT1 -* - END diff --git a/StarVMC/geant3/ggeom/gnotub.F b/StarVMC/geant3/ggeom/gnotub.F deleted file mode 100644 index 246c658198b..00000000000 --- a/StarVMC/geant3/ggeom/gnotub.F +++ /dev/null @@ -1,232 +0,0 @@ -* -* $Id: gnotub.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnotub.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNOTUB(X,P,IACT,IFL,SNEXT,SNXT,SAFE) -C. ****************************************************************** -C. * * -C. * Compute distance to intersection with boundary surface of * -C * volume TUBE or TUBS, from point X(1),X(2),X(3) outside * -C * the volume along track with direction cosines X(4),X(5), * -C * X(6) * -C. * P (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, compute SNXT only if SAFE.LT.SNEXT * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * IFL (input) : 1 for TUBE, 2 for PHI segmented TUBE * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary along track * -C. * SAFE (output) : not larger than scalar distance to * -C. * volume boundaray * -C. * Called by : GNEXT, GNOPCO, GTNEXT * -C. * * -C. * Authors : Michel Maire and Rolf Nierhaus 21-JUN-1990 * -C. * * -C. ****************************************************************** -C. * * -C. * 'TUBE' is a tube. It has 3 parameters, the inside radius, * -C. * the outside radius and the half length in z. * -C. * 'TUBS' is a phi segment of a tube. It has 5 parameters, * -C. * the same 3 as 'TUBE' plus the phi limits. The * -C. * segment starts at the first limit and includes * -C. * increasing phi value up to the second limit or * -C. * that plus 360 degrees. * -C. * * -C. ****************************************************************** -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif -#include "geant321/gconsp.inc" - REAL X(6),P(5),SNEXT,SNXT,SAFE -* -* this part has to be moved outside the routine - IF (IFL.EQ.2) THEN - P4=P(4)*DEGRAD - P5=P(5)*DEGRAD - IF (P5.LT.P4) P5=P5+TWOPI - C1=COS(P4) - S1=SIN(P4) - C2=COS(P5) - S2=SIN(P5) - FIO=0.5*(P5+P4) - CFIO=COS(FIO) - SFIO=SIN(FIO) - DFI=0.5*(P5-P4) - CDFI=COS(DFI) -* SDFI=SIN(DFI) - END IF -* - SNXT=1.E10 - R=SQRT(X(1)**2+X(2)**2) -* -* Compute SAFE radius - IF (IACT.LT.3) THEN - SAF1=P(1)-R - SAF2=R-P(2) - SAF3=ABS(X(3))-P(3) - SAF4=0. - IF (IFL.EQ.2.AND.R.GT.0.) THEN - CPSI=(X(1)*CFIO+X(2)*SFIO)/R - IF (CPSI.LT.CDFI) THEN - IF ((X(2)*CFIO-X(1)*SFIO).LE.0.) THEN - SAF4=ABS(X(1)*S1-X(2)*C1) - ELSE - SAF4=ABS(X(1)*S2-X(2)*C2) - END IF - END IF - ENDIF - SAFE=MAX(SAF1,SAF2,SAF3,SAF4) - IF (IACT.EQ.0) GO TO 999 - IF (IACT.EQ.1.AND.SNEXT.LE.SAFE) GO TO 999 - END IF -* -* Intersection with z-plane -* only points outside the z range need to be considered - IF (ABS(X(3)).GE.P(3)) THEN - IF (X(3)*X(6).LT.0.) THEN - S=(ABS(X(3))-P(3))/ABS(X(6)) - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - R2=XI**2+YI**2 - IF (P(1)**2.LE.R2.AND.R2.LE.P(2)**2) THEN - IF (IFL.EQ.1) GO TO 101 - IF (R2.EQ.0.) GO TO 101 - CPSI=(XI*CFIO+YI*SFIO)/SQRT(R2) - IF (CPSI.GE.CDFI) GO TO 101 - END IF - END IF - END IF -* -* Intersection with cylinders -* Intersection point (x,y,z) -* (x,y,z) is on track : x=X(1)+t*X(4) -* y=X(2)+t*X(5) -* z=X(3)+t*X(6) -* (x,y,z) is on cylinder : x**2 + y**2 = R**2 -* -* (X(4)**2+X(5)**2)*t**2 -* +2.*(X(1)*X(4)+X(2)*X(5))*t -* +X(1)**2+X(2)**2-R**2=0 -* - T1=X(4)**2+X(5)**2 - T2=(X(1)*X(4)+X(2)*X(5)) - T3=X(1)**2+X(2)**2 -* track parallel to the z axis ? -***** 21-JUN-1990 -* IF (T1.EQ.0.) GO TO 999 - IF (ABS(T1).LT.1.E-32) GO TO 999 - B =T2/T1 -* -* Intersection with outer cylinder -* only points outside the outer cylinder need to be considered - IF (R.GE.P(2)) THEN - C=(T3-P(2)**2)/T1 - D=B**2-C - IF (D.GE.0.) THEN - S=-B-SQRT(D) - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(3)) THEN - IF (IFL.EQ.1) GO TO 101 - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - CPSI=(XI*CFIO+YI*SFIO)/P(2) - IF (CPSI.GE.CDFI) GO TO 101 - END IF - END IF - END IF - END IF -* Intersection with inner cylinder - IF (P(1).GT.0.) THEN - C=(T3-P(1)**2)/T1 - D=B**2-C - IF (D.GE.0.) THEN - S=-B+SQRT(D) - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(3)) THEN - IF (IFL.EQ.1) GO TO 101 - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - CPSI=(XI*CFIO+YI*SFIO)/P(1) - IF (CPSI.GE.CDFI) SNXT=S - END IF - END IF - END IF - END IF -* -* Intersection with phi-planes -* x=r*cos(phi)=X(1)+t*X(4) -* y=r*sin(phi)=X(2)+t*X(5) -* z =X(3)+t*X(6) -* t=(X(2)*cos(phi)-X(1)*sin(phi))/(X(4)*sin(phi)-X(5)*cos(phi)) - IF (IFL.EQ.2) THEN -* track not parallel to the phi1 plane ? - UN=X(4)*S1-X(5)*C1 - IF (UN.NE.0.) THEN - S=(X(2)*C1-X(1)*S1)/UN - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(3)) THEN - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - R2=XI**2+YI**2 - IF (P(1)**2.LE.R2.AND.R2.LE.P(2)**2) THEN - IF ((YI*CFIO-XI*SFIO).LE.0.) THEN - IF (S.LT.SNXT) SNXT=S - END IF - END IF - END IF - END IF - END IF -* track not parallel to the phi2 plane ? - UN=X(4)*S2-X(5)*C2 - IF (UN.NE.0.) THEN - S=(X(2)*C2-X(1)*S2)/UN - IF (S.GE.0.) THEN - ZI=X(3)+S*X(6) - IF (ABS(ZI).LE.P(3)) THEN - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - R2=XI**2+YI**2 - IF (P(1)**2.LE.R2.AND.R2.LE.P(2)**2) THEN - IF ((YI*CFIO-XI*SFIO).GE.0.) THEN - IF (S.LT.SNXT) SNXT=S - END IF - END IF - END IF - END IF - END IF - END IF - GO TO 999 -* - 101 SNXT=S - 999 END - diff --git a/StarVMC/geant3/ggeom/gnpara.F b/StarVMC/geant3/ggeom/gnpara.F deleted file mode 100644 index abd788cc425..00000000000 --- a/StarVMC/geant3/ggeom/gnpara.F +++ /dev/null @@ -1,110 +0,0 @@ -* -* $Id: gnpara.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnpara.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNPARA (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'PARA' VOLUME, * -C. * FROM INSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6), PAR(6) -C. -C. --------------------------------------------------- -C. - SNXT = BIG - DN31=PAR(3)-X(3) - DN32=-PAR(3)-X(3) -C - YT=X(2)-PAR(6)*X(3) - DN21=PAR(2)-YT - DN22=-PAR(2)-YT - CTY=1.0/SQRT(1.0+PAR(6)**2) -C - XT=X(1)-PAR(5)*X(3)-PAR(4)*YT - DN11=PAR(1)-XT - DN12=-PAR(1)-XT - CTX=1.0/SQRT(1.0+PAR(4)**2+PAR(5)**2) - - IF (IACT .LT. 3) THEN - - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (McPherson) | -C ------------------------------------------------- - - - SAFE=MIN(DN11*CTX,-DN12*CTX,DN21*CTY,-DN22*CTY,DN31,-DN32) -C - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - - SN3=BIG - SN2=BIG - SN1=BIG -C - IF(X(6).NE.0.0) SN3=DN31/X(6) - IF(SN3.LT.0.0) SN3=DN32/X(6) -C - DY=X(5)-PAR(6)*X(6) - IF(DY.NE.0.0) SN2=DN21/DY - IF(SN2.LT.0.0) SN2=DN22/DY -C - DX=X(4)-PAR(5)*X(6)-PAR(4)*DY - IF(DX.NE.0.0) SN1=DN11/DX - IF(SN1.LT.0.0) SN1=DN12/DX -C - SNXT=MIN(SN1,SN2,SN3) -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gnpcon.F b/StarVMC/geant3/ggeom/gnpcon.F deleted file mode 100644 index 183e1c1d598..00000000000 --- a/StarVMC/geant3/ggeom/gnpcon.F +++ /dev/null @@ -1,259 +0,0 @@ -* -* $Id: gnpcon.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnpcon.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNPCON (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'PCON' VOLUME, * -C. * FROM INSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson, P.Weidhaas ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6), PAR(9), XT(6), PT(7) - - EQUIVALENCE (PT(1), DZ), (PT(2), PT2), (PT(3), PT3) - EQUIVALENCE (PT(4), PT4), (PT(5), PT5), (PT(6), PT6) - EQUIVALENCE (PT(7), PT7) - - EQUIVALENCE (XT(3), XT3) -C. -C. --------------------------------------------------- -C. - - SNXT = BIG - R2 = X(1)*X(1) + X(2)*X(2) - R = SQRT (R2) - - NZ = PAR(3) - ZMIN = PAR(4) - ZMAX = PAR(3*NZ+1) - SAFZ1 = X(3) - ZMIN - SAFZ2 = ZMAX - X(3) - SAFEZ = MIN (SAFZ1, SAFZ2) - -C -C...... First determine in which z-segment the particle is located. -C - DO 10 JPH=7, 3*(NZ-1)+1, 3 - IF (X(3) .LE. PAR(JPH)) THEN - IPH=JPH - GO TO 20 - ENDIF - 10 CONTINUE - IPH=3*NZ+1 - - 20 CONTINUE -C -C...... The particle is in the segment bounded by z-planes at -C...... Z1=PAR(IPL) and Z2=PAR(IPH), i.e., Z1 < X(3) < Z2. -C -C...... Set parameters for this segment and translate z-coordinate -C...... of point relative to center of this segment.This is done in -C...... preparation of invoking the algorithms used in "GNTUBE" and -C...... "GNCONE" (which for reasons of efficiency and clarity are -C...... implemented inline). -C - IPL = IPH - 3 - DZ = 0.5 * (PAR(IPH) - PAR(IPL)) - PT2 = PAR(IPL+1) - PT3 = PAR(IPL+2) - PT4 = PAR(IPH+1) - PT5 = PAR(IPH+2) - PT6 = PAR(1) - PT7 = PAR(1) + PAR(2) - IF (PT7 .GT. 360.0) PT7 = PT7 - 360.0 - - XT3 = X(3) - 0.5 * (PAR(IPL) + PAR(IPH)) - - XT(1) = X(1) - XT(2) = X(2) - XT(4) = X(4) - XT(5) = X(5) - XT(6) = X(6) - - IND = 2 - IF (PAR(2) .EQ. 360.0) IND = 1 - - IF (IACT .LT. 3) THEN - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - SAFZ1 = DZ - ABS(XT3) - SAFEZ = MIN (SAFEZ,SAFZ1) - SAFSEG = BIG -C -C...... Determine whether the segment is a tube or a cone. -C - - IF (PT2 .NE. PT4) GO TO 50 - IF (PT3 .NE. PT5) GO TO 50 - -C********************************************************* -C -C...... The segment is a tube: invoke the algorithm -C...... from routine "GNTUBE" inline to get "SAFER". -C -C********************************************************* - - SAFR1 = R - PT2 - SAFR2 = PT3 - R - SAFER = MIN (SAFR1, SAFR2) - - IF (IND .EQ. 2) GO TO 70 - - GO TO 100 - - - 50 CONTINUE - -C********************************************************* -C -C...... The segment is a cone: invoke the algorithm -C...... from routine "GNCONE" inline to get "SAFER". -C -C********************************************************* - - SAFZ2 = DZ + XT3 - ZLENI = 0.5 / DZ - -C...... Compute radial distance to inner wall. - - FACT = (PT4 - PT2) * ZLENI - R1 = PT2 + FACT * SAFZ2 - SAFR1 = (R - R1) / SQRT(1.0 + FACT*FACT) - -C...... Compute radial distance to outer wall. - - FACT = (PT5 - PT3) * ZLENI - R2 = PT3 + FACT * SAFZ2 - SAFR2 = (R2 - R) / SQRT(1.0 + FACT*FACT) - SAFER = MIN (SAFR1, SAFR2) - - IF (IND .EQ. 1) GO TO 100 - - 70 CONTINUE - -C******************************************************************** -C...... Here we handle the case of a PHI-segment of a tube or cone. -C...... In addition to the radial distances (SAFR1, SAFR2) and the -C...... axial distances (SAFZ1, SAFZ2) we compute here the distance -C...... to the PHI-segment boundary that is closest to the point. -C -C...... For each PHI-boundary we find the distance from the given -C...... point to the outer (at R2) point of the segment boundary -C...... (DISTS1 and DISTS2, resp.). If DISTS1 < DISTS2, we define -C...... "SAFSEG" to be the distance to segment PHI1, else we set -C...... "SAFSEG" to be the distance to segment PHI2. -C********************************************************************* - - PHI1 = PT6 * DEGRAD - PHI2 = PT7 * DEGRAD - IF (PHI2 .LT. PHI1) PHI2 = PHI2 + TWOPI - - COSPH1 = COS (PHI1) - COSPH2 = COS (PHI2) - SINPH1 = SIN (PHI1) - SINPH2 = SIN (PHI2) - -C...... Get coordinates of outer endpoints (at R2) of both PHI-segments. - - XS1 = R2 * COSPH1 - YS1 = R2 * SINPH1 - XS2 = R2 * COSPH2 - YS2 = R2 * SINPH2 - -C...... Get distances (squared) from given point to each endpoint. - - DISTS1 = (X(1) - XS1)**2 + (X(2) - YS1)**2 - DISTS2 = (X(1) - XS2)**2 + (X(2) - YS2)**2 - -C...... Get distance to that PHI-segment whose endpoint -C...... is closest to the given point. - - IF (DISTS1 .LE. DISTS2) THEN - SAFSEG = ABS(X(1) * SINPH1 - X(2) * COSPH1) - ELSE - SAFSEG = ABS(X(1) * SINPH2 - X(2) * COSPH2) - ENDIF - - - 100 CONTINUE - - SAFE = MIN (SAFEZ, SAFER, SAFSEG) - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ -* -* Avoid rounding effects induced by translation ******************** -* - IF (ABS(XT(3)).GE.DZ) XT(3) = (1.-0.000001)*XT(3) -* - IF (PT2 .NE. PT4) GO TO 200 - IF (PT3 .NE. PT5) GO TO 200 - - DELZ = DZ - PT(1) = PT2 - PT(2) = PT3 - PT(3) = DELZ - PT(4) = PT6 - PT(5) = PT7 - - CALL GNTUBE (XT, PT, 3, IND, SNEXT, SNXT, TSAFE) - GO TO 999 - - 200 CONTINUE - CALL GNCONE (XT, PT, 3, IND, SNEXT, SNXT, TSAFE) - - 999 CONTINUE - END - diff --git a/StarVMC/geant3/ggeom/gnpgo1.F b/StarVMC/geant3/ggeom/gnpgo1.F deleted file mode 100644 index e712577a5d0..00000000000 --- a/StarVMC/geant3/ggeom/gnpgo1.F +++ /dev/null @@ -1,269 +0,0 @@ -* -* $Id: gnpgo1.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnpgo1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : -********************************************************************* -***** GNPGO1 ******************************************************** -* -* GNPGO1 ... 15-AUG-1991 -* Version 1.1 -* Rolf Nierhaus -* -********************************************************************* -* -* Copyright CERN, Geneva 1991 - Copyright and any other -* appropriate legal protection of these computer programs and -* associated documentation reserved in all countries of the -* world. -* -********************************************************************* -* -* Subroutine GNPGO1 is called by GNPGON for the computation -* of SNXT, the distance from a point P along a track T to a -* boundary surface of a Geant volume V of shape PGON. The point -* P is inside the volume V. -* -* V is generally a composite volume consisting of several -* sections. The sections have boundary surfaces orthogonal to -* the Z-axis. Each section consists generally of several -* sectors. Each sector is an "elementary" convex volume. This -* package assumes it is either a hexahedron or a pentahedron. If -* it is a pentahedron, it has 6 vertices, of which two are on -* the Z-axis. All sectors of the same section are congruent. -* Each section has the same number of sectors. -* -* We describe each surface by 6 parameters: the first three -* are the coordinates of a point on the surface -* XS(I),YS(I),ZS(I), the other three are the components of the -* normal vector of the surface XN(I),YN(I),ZN(I). I is the index -* of the surface. We consider only one sector at a time, and the -* number of boundary surfaces is never larger then 6. Each -* surface divides the space into two regions: the positive -* region and the negative region. We choose the direction of the -* normal vectors of the boundary surfaces such that the bounded -* volume is within the positive region of each surface, that is, -* the normal vector is pointing to the inside of the volume. -* -***** Subroutine GNPGO1 *************************** 15-AUG-1991 ***** - SUBROUTINE GNPGO1(X,P,SNXT) -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif - REAL X(6),P(49),SNXT -#if defined(CERNLIB_SINGLE) - PARAMETER (F=0.01745329251994330,TPI=6.283185307179586) -#endif -#if !defined(CERNLIB_SINGLE) - PARAMETER (F=0.01745329251994330D0,TPI=6.283185307179586D0) -#endif - PARAMETER (ONE=1,HALF=ONE/2,ZERO=0.) - DIMENSION XS(6), YS(6), ZS(6), XN(6), YN(6), ZN(6) - LOGICAL FLAG, FLG - XP=X(1) - YP=X(2) - ZP=X(3) - XD=X(4) - YD=X(5) - ZD=X(6) - IMAX=P(4)-.5 -* IMAX -> number of Z-sections - JMAX=P(3)+.5 -* JMAX -> number of Phi-sectors - SNXT=0. - 10 CONTINUE -* Find current elementary volume - IF (ZP.LE.P(5)) RETURN -* Current point (XP,YP,ZP) is below first section. - DO 20 II=1,IMAX - IF (ZP.LT.P(5+3*II)) THEN - I=II - GO TO 30 - ENDIF - 20 CONTINUE - RETURN -* Current point (XP,YP,ZP) is above last section. - 30 CONTINUE - IF (XP.EQ.0..AND.YP.EQ.0.) XP=1.E-20 - PHI=ATAN2(YP,XP) - IF (PHI.LT.0.) PHI=PHI+TPI - P1=F*P(1) - PHI1=PHI-P1 - IF (PHI1.LT.0.) PHI1=PHI1+TPI - IF (PHI1.GE.TPI) PHI1=PHI1-TPI - IF (JMAX.EQ.1) THEN - IF (ABS(PHI1-TPI).LT.1D-7) PHI1=0. - ENDIF - J=PHI1*P(3)/(F*P(2))+ONE - IF (P(2).EQ.360.) THEN - IF (J.LT.1) THEN - J=J+JMAX - ELSEIF (JMAX.LT.J) THEN - J=J-JMAX - END IF - END IF - IF (JMAX.LT.J.OR.J.LT.1) RETURN -* Current point is outside Phi-range. -C***** Code Expanded From Routine: GNPGO2 -* GNPGO2 finds the vector distance to the boundary surface -* of the current elementary volume. -* I is Z-section, J is Phi-sector. -* GNPGO2 calls GNPGO4 five or six times for the storage of -* the surface coefficients of its boundary surfaces. -* - INDEX = 2 + 3*I - Z1 = P(INDEX) - D1N = P(INDEX+1) - D1X = P(INDEX+2) - Z2 = P(INDEX+3) - D2N = P(INDEX+4) - D2X = P(INDEX+5) - ZM = HALF*(Z1 + Z2) - P11X = F*(P(1)+(J-1)*P(2)/JMAX) - P2 = F*(P(1)+J*P(2)/JMAX) - PP = HALF*(P11X + P2) - COSP = COS(PP) - SINP = SIN(PP) - DMX = HALF*(D1X + D2X) - DMN = HALF*(D1N + D2N) - THX = ATAN((D2X - D1X)/(Z2 - Z1)) - COSTHX = COS(THX) - SINTHX = SIN(THX) - XNN = -COSP*COSTHX - YNN = -SINP*COSTHX -C***** Code Expanded From Routine: GNPGO4 -* Store surface coefficients - XS(5) = DMX*COSP - YS(5) = DMX*SINP - ZS(5) = ZM - XN(5) = XNN - YN(5) = YNN - ZN(5) = SINTHX -C***** End of Code Expanded From Routine: GNPGO4 -C***** Code Expanded From Routine: GNPGO9 -* Logical function GNPGO9 returns TRUE if the point -* (XP,YP,ZP) is within the positive region of the surface with -* index I. This is the case if the scalar product of -* (XP-XS,YP-YS,ZP-ZS) and (XN,YN,ZN) is positive (or zero). - RESULT=(XP-XS(5))*XN(5)+(YP-YS(5))*YN(5)+(ZP-ZS(5))*ZN(5) - FLG = 0. .LE. RESULT - IF (.NOT.FLG) GO TO 50 - ISMAX = 5 - IF (DMN .NE. 0.) THEN - ISMAX = 6 - THN = ATAN((D2N - D1N)/(Z2 - Z1)) - COSTHN = COS(THN) - SINTHN = SIN(THN) - XNN = COSP*COSTHN - YNN = SINP*COSTHN -C***** Code Expanded From Routine: GNPGO4 - XS(6) = DMN*COSP - YS(6) = DMN*SINP - ZS(6) = ZM - XN(6) = XNN - YN(6) = YNN - ZN(6) = -SINTHN -C***** End of Code Expanded From Routine: GNPGO4 -C***** Code Expanded From Routine: GNPGO9 - RESULT=(XP-XS(6))*XN(6)+(YP-YS(6))*YN(6)+(ZP-ZS(6))*ZN(6) - FLG = 0. .LE. RESULT - IF (.NOT.FLG) GO TO 50 - ENDIF -C***** Code Expanded From Routine: GNPGO4 - XS(1) = ZERO - YS(1) = ZERO - ZS(1) = Z1 - XN(1) = ZERO - YN(1) = ZERO - ZN(1) = ONE -C***** End of Code Expanded From Routine: GNPGO4 -C***** Code Expanded From Routine: GNPGO4 - XS(2) = ZERO - YS(2) = ZERO - ZS(2) = Z2 - XN(2) = ZERO - YN(2) = ZERO - ZN(2) = -ONE -C***** End of Code Expanded From Routine: GNPGO4 -C***** Code Expanded From Routine: GNPGO4 - XS(3) = ZERO - YS(3) = ZERO - ZS(3) = ZM - XN(3) = -SIN(P11X) - YN(3) = COS(P11X) - ZN(3) = ZERO -C***** End of Code Expanded From Routine: GNPGO4 -C***** Code Expanded From Routine: GNPGO4 - XS(4) = ZERO - YS(4) = ZERO - ZS(4) = ZM - XN(4) = SIN(P2) - YN(4) = -COS(P2) - ZN(4) = ZERO -C***** End of Code Expanded From Routine: GNPGO4 -C***** Code Expanded From Routine: GNPGO5 -* Vector distance to volume boundary - SNXT1 = 1.E10 - DO 40 IS = 1, ISMAX -C***** Code Expanded From Routine: GNPGO7 -* To find the distance from a point (XP,YP,ZP) along a -* track with direction cosines (XD,YD,ZD) to a surface -* (XS,YS,ZS)(XN,YN,ZN), we compute first the scalar product of -* the vector (XS-XP,YS-YP,ZS-ZP) with the normal vector -* (XN,YN,ZN), then the scalar product of the vectors (XD,YD,ZD) -* and (XN,YN,ZN). The first scalar product is the shortest -* distance from the point to the plane, the second scalar -* product is the cosine of the angle between the track and the -* plane normal. The quotient is the vector distance. If this -* vector distance is positive (or zero) we set the logical -* variable FLAG TRUE. GNPGO7 is called with three parameters -* I,FLAG and DIST. I is the index of the surface, and DIST is -* the vector distance if FLAG is TRUE. - SPPMSN = (XP - XS(IS))*XN(IS) + (YP - YS(IS))*YN(IS) + (ZP - - + ZS (IS))*ZN(IS) - SPDN = XD*XN(IS) + YD*YN(IS) + ZD*ZN(IS) - IF (SPDN .EQ. 0.) THEN - DIST1 = 0. - ELSE - DIST1 = -(SPPMSN + .0001)/SPDN - ENDIF - FLAG = 0. .LT. DIST1 -C***** End of Code Expanded From Routine: GNPGO7 - IF (FLAG) SNXT1 = MIN(DIST1,SNXT1) - 40 CONTINUE - 50 CONTINUE -C***** End of Code Expanded From Routine: GNPGO2 - IF (FLG) THEN - SNXT=SNXT+SNXT1 - XP=XP+SNXT1*XD - YP=YP+SNXT1*YD - ZP=ZP+SNXT1*ZD -* The current point (XP,YP,ZP) is propagated along the track -* to the boundary of the current elementary volume. - GO TO 10 - ENDIF - END diff --git a/StarVMC/geant3/ggeom/gnpgon.F b/StarVMC/geant3/ggeom/gnpgon.F deleted file mode 100644 index 8c2b1157755..00000000000 --- a/StarVMC/geant3/ggeom/gnpgon.F +++ /dev/null @@ -1,322 +0,0 @@ -* -* $Id: gnpgon.F,v 1.1.1.2 2009/02/01 17:10:25 fisyak Exp $ -* -* $Log: gnpgon.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:25 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.3 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.2 2001/02/24 10:46:32 fca -* Moving to double precision and introducing an additional security check -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNPGON (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'PGON' VOLUME, * -C. * FROM INSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson, P.Weidhaas ********* * -C. * * -C. ****************************************************************** -C. - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#include "geant321/gconsp.inc" - - REAL X(6), PAR(100), SNEXT, SNXT, SAFE - DIMENSION TPAR(100) - -C----------------------------------------------------------------- - - SNXT = BIG - SAFSEG = BIG - R2 = X(1)*X(1) + X(2)*X(2) - R = SQRT (R2) - - PDIV = PAR(2) / PAR(3) - DELPHI = PDIV * DEGRAD - DPHI2 = 0.5 * DELPHI - CSDPH2 = COS (DPHI2) - - TPAR(1) = PAR(1) - TPAR(2) = PAR(2) - TPAR(3) = PAR(3) - TPAR(4) = PAR(4) - NZ = PAR(4) - - DO 5 I=1, NZ - I3 = 3*(I-1) - TPAR(5+I3) = PAR(5+I3) - TPAR(6+I3) = PAR(6+I3) / CSDPH2 - TPAR(7+I3) = PAR(7+I3) - 5 CONTINUE - -C************************************************************************** -C -C...... Here we start the logic from "GNPCON" (which for reasons of -C...... efficiency and clarity has been implemented inline). -C -C************************************************************************** - - ZMIN = TPAR(5) - ZMAX = TPAR(3*NZ+2) - SAFZ1 = X(3) - ZMIN - SAFZ2 = ZMAX - X(3) - SAFEZ = MIN (SAFZ1, SAFZ2) - -C -C...... First determine in which segment the particle is located. -C - DO 10 JPH=8, 3*NZ-1, 3 - IF (X(3) .LT. TPAR(JPH)) THEN - IPH=JPH - GO TO 20 - ENDIF - 10 CONTINUE - IPH = 3*NZ+2 - - 20 CONTINUE -C -C...... The particle is in the segment bounded by z-planes at -C...... Z1=PAR(IPL) and Z2=PAR(IPH), i.e., Z1 < X(3) < Z2. -C -C...... Set parameters for this segment and translate z-coordinate -C...... of point relative to center of this segment. this is done in -C...... preparation of invoking the algorithms used in "GNTUBE" and -C...... "GNCONE" (which for reasons of efficiency and clarity are -C...... implemented inline). -C - IPL = IPH - 3 - DZ = 0.5 * (TPAR(IPH) - TPAR(IPL)) - PT2 = TPAR(IPL+1) - PT3 = TPAR(IPL+2) - PT4 = TPAR(IPH+1) - PT5 = TPAR(IPH+2) - PT6 = TPAR(1) - PT7 = TPAR(1) + TPAR(2) - IF (PT7 .GT. 360.0) PT7 = PT7 - 360.0 - - XT3 = X(3) - 0.5 * (TPAR(IPL) + TPAR(IPH)) - - SAFZ2 = DZ + XT3 - ZLENI = 0.5 / DZ - - PHI1 = PT6 * DEGRAD - PHI2 = PT7 * DEGRAD - IF (PHI2.LE.PHI1) PHI2=PHI2+TWOPI - - IF (IACT .LT. 3) THEN - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - - IFLAG = 2 - IF (TPAR(2) .EQ. 360.0) IFLAG = 1 - SAFZ1 = DZ - ABS(XT3) - SAFEZ = MIN (SAFEZ,SAFZ1) -C -C...... Next determine whether the segment is a tube or a cone. -C - IF (PT2 .NE. PT4) GO TO 50 - IF (PT3 .NE. PT5) GO TO 50 - -C********************************************************* -C -C...... The segment is a tube; invoke the algorithm -C...... from routine "GNTUBE" inline to get "SAFER". -C -C********************************************************* - - SAFR1 = BIG - IF(PT2.GT.0.) SAFR1 = R - PT2 - SAFR2 = PT3 - R - SAFER = MIN (SAFR1, SAFR2) - - IF (IFLAG .EQ. 2) GO TO 70 - - GO TO 100 - - - 50 CONTINUE - -C********************************************************* -C -C...... The segment is a cone; invoke the algorithm -C...... from routine "GNCONE" inline to get "SAFER". -C -C********************************************************* - - -C...... Compute radial distance to inner wall. - - IF(PT2+PT4.GT.0.) THEN - FACT = (PT4 - PT2) * ZLENI - RAD1 = PT2 + FACT * SAFZ2 - SAFR1 = (R - RAD1) / SQRT(1.0 + FACT*FACT) - ELSE - SAFR1 = BIG - ENDIF - -C...... Compute radial distance to outer wall. - - FACT = (PT5 - PT3) * ZLENI - RAD2 = PT3 + FACT * SAFZ2 - SAFR2 = (RAD2 - R) / SQRT(1.0 + FACT*FACT) - - SAFER = MIN (SAFR1, SAFR2) - - IF (IFLAG .EQ. 1) GO TO 100 - - 70 CONTINUE - -C******************************************************************** -C...... Here we handle the case of a phi-segment of a tube or cone. -C...... in addition to the radial distances (SAFR1, SAFR2) and the -C...... axial distances (SAFZ1, SAFZ2) we compute here the distance -C...... to the phi-segment boundary that is closest to the point: -C -C...... For each phi-boundary we find the distance from the given -C...... point to the outer (at R2) point of the segment boundary -C...... (DISTS1 and DISTS2, resp.). If DISTS1 < DISTS2, we define -C...... "SAFSEG" to be the distance to segment PHI1, else we set -C...... "SAFSEG" to be the distance to segment PHI2. -C********************************************************************* - - - COSPH1 = COS (PHI1) - SINPH1 = SIN (PHI1) - COSPH2 = COS (PHI2) - SINPH2 = SIN (PHI2) - -C...... Get coordinates of outer endpoints (at R2) of both phi-segments. - - XS1 = R * COSPH1 - YS1 = R * SINPH1 - XS2 = R * COSPH2 - YS2 = R * SINPH2 - -C...... Get distances (squared) from given point to each endpoint. - - DISTS1 = (X(1) - XS1)**2 + (X(2) - YS1)**2 - DISTS2 = (X(1) - XS2)**2 + (X(2) - YS2)**2 - -C...... Get distance to that phi-segment whose endpoint -C...... is closest to the given point. - - IF (DISTS1 .LE. DISTS2) THEN - SAFSEG = ABS(SINPH1 * X(1) - COSPH1 * X(2)) - ELSE - SAFSEG = ABS(SINPH2 * X(1) - COSPH2 * X(2)) - ENDIF - - 100 CONTINUE - - - IF (SAFER .LE. 0.0) THEN - -C--------------------------------------------------------------------------- -C -C...... Here we handle the case in which SAFER < 0, i.e., the point is -C...... inside the polygon but outside the inscribed polycone. We must -C...... do an accurate calculation of "SAFER". -C -C--------------------------------------------------------------------------- - - FACT = SAFZ2 * ZLENI - RAD1 = PT2 + FACT * (PT4 - PT2) - RAD2 = PT3 + FACT * (PT5 - PT3) - RR1 = RAD1 * RAD1 - RR2 = RAD2 * RAD2 - - IF(X(1).EQ.0.)THEN - PHI = ATAN2(X(2), 1.E-8) - ELSE - PHI = ATAN2(X(2), X(1)) - ENDIF - IF (PHI .LT. PHI1) PHI = PHI + TWOPI - - DIST=0. - IF (PHI .GE. PHI1 .AND. PHI .LE. PHI2) THEN - PHIREL = PHI - PHI1 - NSECTR = INT(PHIREL / DELPHI) + 1 - PHICTR = PHI1 + (2.0*NSECTR - 1.0) * DPHI2 - COSPHC = COS (PHICTR) - SINPHC = SIN (PHICTR) - - - IF (R2 .GE. RR2) THEN - SR2 = RAD2 - DIST = ABS (COSPHC * X(1) + SINPHC * X(2) - SR2) - FACTC = (PT5 - PT3) * ZLENI - ELSEIF (R2 .LE. RR1) THEN - RIN = RAD1 * CSDPH2 - SRIN = RIN - DIST = ABS (COSPHC * X(1) + SINPHC * X(2) - SRIN) - FACTC = (PT4 - PT2) * ZLENI - ELSE - PRINT *, 'GNPGON: FACTC not calculated!!!' - FACTC=0 - ENDIF - - ENDIF - - SAFER = DIST / SQRT(1.0 + FACTC*FACTC) - - ENDIF - - SAFE = MIN (SAFEZ, SAFER, SAFSEG) - - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (Nierhaus) | -C ------------------------------------------------ - - - CALL GNPGO1(X,PAR,SNXT) -C - 999 CONTINUE - END - diff --git a/StarVMC/geant3/ggeom/gnsphr.F b/StarVMC/geant3/ggeom/gnsphr.F deleted file mode 100644 index 8fcce2faedd..00000000000 --- a/StarVMC/geant3/ggeom/gnsphr.F +++ /dev/null @@ -1,208 +0,0 @@ -* -* $Id: gnsphr.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gnsphr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.3 1996/03/28 08:50:23 cernlib -* In the call to function MAX use NULL istead of 0. to get the proper -* type of argument. -* -* Revision 1.2 1996/02/27 10:12:06 ravndal -* Precision problem (neg. Sqrt) solved -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNSPHR (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'SPHE' VOLUME, * -C. * FROM INSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson, P.Weidhaas ********* * -C. * * -C. ****************************************************************** -C. -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif -#include "geant321/gconsp.inc" - REAL X(6), PAR(6), SNXT, SNEXT, SAFE - PARAMETER (ZERO=0,ONE=1,SMALL=ONE/BIG) - -C--------------------------------------------------------------- - - SNXT = BIG - R2 = X(1)*X(1) + X(2)*X(2) + X(3)*X(3) - R = SQRT (R2) - RIN = PAR(1) - ROUT = PAR(2) - SAF1 = R - RIN - SAF2 = ROUT - R - - IF (IACT .LT. 3) THEN - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - - SAFE = MIN (SAF1, SAF2) - IF( RIN .EQ. 0.0 ) THEN - SAFE = ROUT-R - SAF3 = SAFE - SAF4 = SAFE - ELSE - SAF3 = R - SAF4 = R - ENDIF - IF( R .GT. 1.E-5) THEN - IF( PAR(4)-PAR(3).GE.180.) THEN - SAF3 = BIG - ELSE - TH = ACOS(X(3)/SNGL(R))*RADDEG - IF (TH.LT.0) TH = 180.+TH - DTH1 = TH-PAR(3) - DTH2 = PAR(4)-TH - DTH = MIN(DTH1,DTH2) - SAF3 = R*SIN(DTH*DEGRAD) - ENDIF - RXY2 = X(1)*X(1)+X(2)*X(2) - IF( RXY2 .GT. 1.E-12.AND. PAR(6)-PAR(5) .LT. 360) THEN - RXY = SQRT(RXY2) - PHI=ATAN2(X(2),X(1))*RADDEG - DPH = PHI-PAR(5) - SG = SIGN(ONE,DPH) - DPH = MOD( ABS(DPH), ONE*360 ) - IF(SG.LE.0.) DPH = 360.-DPH - DPHT = PAR(6)-PAR(5) - IF(DPHT .LT. 0.) DPHT = DPHT+360. - DDPH = MIN(DPH,DPHT-DPH) - IF( DDPH .GT. 90.) THEN - SAF4 = BIG - ELSE - SAF4 = RXY*SIN(DDPH*DEGRAD) - ENDIF - ENDIF - ENDIF - SAFE = MIN(ONE*SAFE,SAF3,SAF4) - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - IF(R.LT.1.0E-5) GO TO 70 - - C1=(X(1)*X(4)+X(2)*X(5)+X(3)*X(6)) / R - RTMP = PAR(2) - SGN=ONE - AC=R*R * (ONE-C1*C1) - IF(AC.GT.PAR(1)**2.OR.C1.GT.0.0) GO TO 10 - SGN=-ONE - RTMP = PAR(1) - 10 CONTINUE - RTMPAC=MAX(RTMP*RTMP-AC,ZERO) - SNXT=SQRT(RTMPAC)*SGN-R*C1 - DPSGN=X(1)*X(5)-X(2)*X(4) - PHI2=PAR(6) - IF(DPSGN.LT.0.0) PHI2=PAR(5) -C - TSGN=SIN(PHI2*DEGRAD) - TCSG=COS(PHI2*DEGRAD) - DEN=X(4)*TSGN-X(5)*TCSG - IF(DEN.EQ.0.0) GO TO 20 - SP=(X(2)*TCSG-X(1)*TSGN)/DEN - IF(SP.LT.0.0) GO TO 20 - IF(ABS(TSGN).GT.1.E-6.AND.(X(2)+SP*X(5))*TSGN - + .LT.0.)GO TO 20 - IF(ABS(TCSG).GT.1.E-6.AND.(X(1)+SP*X(4))*TCSG - + .LT.0.)GO TO 20 -C - IF(SP.LT.SNXT) SNXT=SP -C - 20 CONTINUE -C - TH2=PAR(4) - IBOUN=0 - 30 CONTINUE - IBOUN=IBOUN+1 -C - STH=SIN(TH2*DEGRAD) - CTH=COS(TH2*DEGRAD) - STH2=STH*STH - CTH2=CTH*CTH - AA=STH2*X(6)**2-CTH2*(X(4)**2+X(5)**2) - BB=STH2*X(6)*X(3)-CTH2*(X(4)*X(1)+ - +X(5)*X(2)) - CC=STH2*X(3)**2-CTH2*(X(1)**2+X(2)**2) - SQ=BB*BB-AA*CC - IF(SQ.LT.0.0) GO TO 60 - ST=BIG - IF(ABS(BB).GE.SMALL) ST=-CC*0.5/BB - ITRY=1 - IF(AA.EQ.0.0) GO TO 45 - T2=SQRT(SQ)/AA - ITRY=0 - T1=-BB/AA - 40 CONTINUE - ST=T1+T2 - 45 CONTINUE - IF((X(3)+ST*X(6))*CTH.LT.0.0) GO TO 50 - IF(ST.GT.0.0.AND.ST.LT.SNXT) SNXT=ST - 50 CONTINUE - IF(ITRY.NE.0) GO TO 60 - ITRY=1 - T2=-T2 - GO TO 40 - 60 CONTINUE - IF(IBOUN.NE.1) GO TO 999 - TH2=PAR(3) - GO TO 30 -C - 70 CONTINUE -C THIS BIT FOR X,Y,Z=0,0,0 -C - SNXT=PAR(2) -C WE HAVE IGNORED THETA AND PHI BUT USERS SHOULDN'T -C USE THETA PHI SEGMENTATION AT R=0 ANYWAY. -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gntrap.F b/StarVMC/geant3/ggeom/gntrap.F deleted file mode 100644 index cd2aff74b3b..00000000000 --- a/StarVMC/geant3/ggeom/gntrap.F +++ /dev/null @@ -1,218 +0,0 @@ -* -* $Id: gntrap.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gntrap.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNTRAP (X, PAR, IACT, IFLAG, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'TRD1' OR 'TRD2' * -C. * VOLUME, FROM INSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * IFLAG (input) : 1 for TRD1, 2 for TRD2 * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson, P.Weidhaas ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6),PAR(5) -C. -C. ------------------------------------------------------------------ -C. - SNXT = BIG - IF (IFLAG .EQ. 1) THEN - FACTX = (PAR(2) - PAR(1)) / (2.0 * PAR(4)) - ELSEIF (IFLAG .EQ. 2) THEN - FACTX = (PAR(2) - PAR(1)) / (2.0 * PAR(5)) - FACTY = (PAR(4) - PAR(3)) / (2.0 * PAR(5)) - ENDIF - - IF (IACT .LT. 3) THEN - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (P.Weidhaas) | -C ------------------------------------------------- - - IF (IFLAG .EQ. 1) THEN -C******************************************************* -C -C...... Shape "TRD1": only x varies with z. -C -C******************************************************* - - SAF2 = PAR(3) - ABS(X(2)) - SAF3 = PAR(4) - ABS(X(3)) -C -C...... Distance alng x-direction to slanted wall. -C - DISTX = PAR(1) + FACTX * (PAR(4) + X(3)) - ABS(X(1)) - SAF1 = DISTX / SQRT (1.0 + FACTX*FACTX) - ELSE -C******************************************************* -C -C...... Shape "TRD2": both x and y vary with z. -C -C******************************************************* - SAF3 = PAR(5) - ABS(X(3)) -C -C...... Distance along x-direction to slanted wall. -C - DISTX = PAR(1) + FACTX * (PAR(5) + X(3)) - ABS(X(1)) - SAF1 = DISTX / SQRT (1.0 + FACTX*FACTX) -C -C...... Distance along y-direction to slanted wall. -C - DISTY = PAR(3) + FACTY * (PAR(5) + X(3)) - ABS(X(2)) - SAF2 = DISTY / SQRT (1.0 + FACTY*FACTY) - ENDIF - - SAFE = MIN (SAF1, SAF2, SAF3) - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - - IF(IFLAG.NE.1) GO TO 20 -C -C Only x-thickness varies with z. -C -C -C First check z. -C - ZEND=PAR(4) - IF(X(6).LT.0.0) ZEND=-ZEND - IF(X(6).EQ.0.)GO TO 5 - SNXT=(ZEND-X(3))/X(6) -C -C Now do Y. -C - 5 YEND=PAR(3) - IF(X(5).LT.0.0) YEND=-YEND - IF(X(5).EQ.0.)GO TO 7 - SN=(YEND-X(2))/X(5) - IF(SN.LT.SNXT) SNXT=SN -C -C Now do X. -C - 7 DXM=0.5*(PAR(1)+PAR(2)) - ANUM=DXM+FACTX*X(3)-X(1) - DENO=X(4)-FACTX*X(6) -C - IF(DENO.EQ.0.0) GO TO 10 - QUOT = ANUM/DENO - IF(QUOT.LE.0.0.OR.QUOT.GT.SNXT) GO TO 10 - SNXT=QUOT - GO TO 999 -C - 10 CONTINUE -C - ANUM=-FACTX*X(3)-X(1)-DXM - DENO=FACTX*X(6)+X(4) -C - IF(DENO.EQ.0.0) GO TO 999 - QUOT = ANUM/DENO - IF(QUOT.GT.0.0.AND.QUOT.LT.SNXT) SNXT=QUOT -C - GO TO 999 - 20 CONTINUE -C -C x- and y-thicknesses vary with z. -C -C -C First check z -C - ZEND=PAR(5) - IF(X(6).LT.0.0) ZEND=-ZEND - IF(X(6).EQ.0.)GO TO 25 - SNXT=(ZEND-X(3))/X(6) -C -C Now do x. -C - 25 DXM=0.5*(PAR(1)+PAR(2)) - ANUM=DXM+FACTX*X(3)-X(1) - DENO=X(4)-FACTX*X(6) -C - IF(DENO.EQ.0.0) GO TO 40 - QUOT = ANUM/DENO - IF(QUOT.LE.0.0.OR.QUOT.GT.SNXT) GO TO 40 - SNXT=QUOT - GO TO 60 -C - 40 CONTINUE -C - ANUM=-FACTX*X(3)-X(1)-DXM - DENO=FACTX*X(6)+X(4) -C - IF(DENO.EQ.0.0) GO TO 60 - QUOT = ANUM/DENO - IF(QUOT.GT.0.0.AND.QUOT.LT.SNXT) SNXT=QUOT -C - 60 CONTINUE -C -C Now do y. -C - DYM=0.5*(PAR(3)+PAR(4)) - ANUM=DYM+FACTY*X(3)-X(2) - DENO=X(5)-FACTY*X(6) -C - IF(DENO.EQ.0.0) GO TO 80 - QUOT = ANUM/DENO - IF(QUOT.LE.0.0.OR.QUOT.GT.SNXT) GO TO 80 - SNXT=QUOT - GO TO 999 -C - 80 CONTINUE -C - ANUM=-FACTY*X(3)-X(2)-DYM - DENO=FACTY*X(6)+X(5) -C - IF(DENO.EQ.0.0) GO TO 999 - QUOT = ANUM/DENO - IF(QUOT.GT.0.0.AND.QUOT.LT.SNXT) SNXT=QUOT -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gntrp.F b/StarVMC/geant3/ggeom/gntrp.F deleted file mode 100644 index dd1d7285b27..00000000000 --- a/StarVMC/geant3/ggeom/gntrp.F +++ /dev/null @@ -1,279 +0,0 @@ -* -* $Id: gntrp.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gntrp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNTRP (X, PAR, IACT, SNEXT, SNXT, SAFE) -C. -C. ****************************************************************** -C. * * -C. * COMPUTE DISTANCE UP TO INTERSECTION WITH 'TRAP' VOLUME, * -C. * FROM INSIDE POINT X(1-3) ALONG DIRECTION X(4-6) * -C. * * -C. * PAR (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, and SNXT only if SNEXT .GT.new SAFE * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary * -C. * SAFE (output) : shortest distance to any boundary * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION X(6), PAR(11) -#if defined(CERNLIB_SINGLE) - DIMENSION XT(6), P(11) -#endif -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION XT(6), P(11) - DOUBLE PRECISION A,B,C,DSN,TOP1,TOP2,BOT1,BOT2 - DOUBLE PRECISION DX1,DX2,X1,X2,X3,DCX1,DCX2,DX,DY - DOUBLE PRECISION SP1,SP2,DCX,DCY,TANG1,TANG2,A1,B1,A2,B2 - DOUBLE PRECISION XL1,XL2,XL3,XL4,CY,SY,SX,CX,C1,C2 - DOUBLE PRECISION TX,H0,DHDZ,CH - DOUBLE PRECISION CHTAN,SHTAN - DOUBLE PRECISION SN1,SN2,SN3,SN4,SN5,SN6,SN7,SN8,P15 -#endif -C. -C. -------------------------------------- -C. - SNXT = BIG - SAFE = 0.0 - DO 1 I=1,6 - 1 XT(I)=X(I) - DO 2 I=1,11 - 2 P(I)=PAR(I) - - P15=0.5/P(1) - DHDZ=(P(4)-P(8))*P15 - - IF (IACT .LT. 3) THEN - - -C ------------------------------------------------- -C | Compute safety-distance 'SAFE' (McPherson) | -C ------------------------------------------------- - - -C CALCULATE RECTANGLE ON FACE AT Z=-DZ. - - DX1=P(4)*P(7) - X1=-DX1-P(5) - X2=DX1-P(6) - IF(X2.GT.X1) X1=X2 - X2=-DX1+P(5) - X3=DX1+P(6) - IF(X3.LT.X2) X2=X3 - DCX1=(X1+X2)*0.5 - DX1=(X2-X1)*0.5 -C -C CALCULATE RECTANGLE ON FACE AT Z=DZ. -C - DX2=P(8)*P(11) - X1=-DX2-P(9) - X2=DX2-P(10) - IF(X2.GT.X1) X1=X2 - X2=-DX2+P(9) - X3=DX2+P(10) - IF(X3.LT.X2) X2=X3 - DCX2=(X1+X2)*0.5 - DX2=(X2-X1)*0.5 - -C - TX=P(2)+(DCX2-DCX1)*P15 -C -C CALCULATE LOCAL RECTANGLE. -C - SP1=(P(1)-XT(3))*P15 - SP2=(P(1)+XT(3))*P15 -C - DY=P(4)*SP1+P(8)*SP2 - DX=DX1*SP1+DX2*SP2 - DCX=(DCX1+DCX2)*0.5+TX*XT(3) - DCY=P(3)*XT(3) -C -C CHECK POINT IS INSIDE RECTANGLE. -C - IF(ABS(XT(1)-DCX).GT.DX) GO TO 10 -C -C CALCULATE ANGLE OF YZ PLANES. -C - TANG1=TX+(DX1-DX2)*P15 - TANG2=TX-(DX1-DX2)*P15 -C -C CALCULATE SAFETY FROM YZ PLANES. -C - SAF1=(XT(1)-DCX+DX)/SQRT(1.0+TANG1*TANG1) - SAF2=(DX-XT(1)+DCX)/SQRT(1.0+TANG2*TANG2) -C -C CALCULATE ANGLE OF XZ PLANES. -C - TANG1=P(3)+DHDZ - TANG2=P(3)-DHDZ -C -C CALCULATE SAFETY FROM XZ PLANES. -C - SAF3=(XT(2)-DCY+DY)/SQRT(1.0+TANG1*TANG1) - SAF4=(DY-XT(2)+DCY)/SQRT(1.0+TANG2*TANG2) -C -C CALCULATE SAFETY FROM XY PLANES. -C - SAF5=P(1)-ABS(XT(3)) -C -C OVERALL SAFETY. -C - SAFE = MIN(SAF1,SAF2,SAF3,SAF4,SAF5) - - - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF - ENDIF - - - 10 CONTINUE - -C ------------------------------------------------ -C | Compute vector-distance 'SNXT' (McPherson) | -C ------------------------------------------------ - - - -C FIRST FIND S TO Z LIMITS. - - SN1=BIG - SN2=BIG - SN3=BIG - SN4=BIG -C - IF(XT(6).EQ.0.0) GOTO 15 - SN1=(P(1)-XT(3))/XT(6) - SN2=-(P(1)+XT(3))/XT(6) - IF(SN1.GE.0.) GOTO 15 - SNX=SN1 - SN1=SN2 - SN2=SNX -15 CONTINUE -C -C NOW Y LIMITS. -C - H0=(P(4)+P(8))*0.5 -C - TOP1=H0-DHDZ*XT(3) - TOP2=XT(2)-XT(3)*P(3) - BOT1=XT(5)-XT(6)*P(3) - BOT2=DHDZ*XT(6) -C - IF(BOT1+BOT2.NE.0.0) SN3=(TOP1-TOP2)/(BOT1+BOT2) - IF(BOT2-BOT1.NE.0.0) SN4=(TOP1+TOP2)/(BOT2-BOT1) -C -C NOW X LIMTS. -C - XL1=(P(5)+P(6)+P(9)+P(10))*0.25 - XL2=(P(5)-P(6)+P(9)-P(10))*0.25 - XL3=(P(5)+P(6)-P(9)-P(10))*0.25 - XL4=(P(5)-P(6)-P(9)+P(10))*0.25 -C - CY=XT(2)-XT(3)*P(3) - SY=XT(5)-XT(6)*P(3) - CH=H0-DHDZ*XT(3) -C - A1=XL4*XT(6)*SY+XL3*XT(6)*XT(6)*DHDZ - B1=XL4*(XT(6)*CY+XT(3)*SY)-XL3*XT(6)*(CH-XT(3)*DHDZ)-XL2*P(1)*SY- - +XL1*XT(6)*DHDZ*P(1) - C1=XL4*CY*XT(3)-XL3*XT(3)*CH-XL2*CY*P(1)+XL1*CH*P(1) -C - CHTAN=(P(7)*P(4)+P(11)*P(8))*0.5 - SHTAN=-(P(7)*P(4)-P(11)*P(8))*P15 - CHTAN=CHTAN+SHTAN*XT(3) - SHTAN=SHTAN*XT(6) - CX=XT(1)-XT(3)*P(2) - SX=XT(4)-XT(6)*P(2) -C - A2=-P(1)*(DHDZ*XT(6)*SX+SY*SHTAN) - B2=P(1)*(CH*SX-DHDZ*XT(6)*CX-CY*SHTAN-SY*CHTAN) - C2=P(1)*(CH*CX-CY*CHTAN) -C - ISN56=0 - A=A1+A2 - B=B1+B2 - C=C1+C2 - IF(B*B-A*C*4.0.LT.0.0) GO TO 20 - IF(ABS(A).LT.1.0E-7) GO TO 19 - DSN=SQRT(B*B-A*C*4.0) - SN5=(-B+DSN)*0.5/A - SN6=(-B-DSN)*0.5/A - ISN56=1 - GO TO 20 - 19 CONTINUE - IF(ABS(B).LT.1.0E-5) GO TO 20 - ISN56=1 - SN5=-C/B - SN6=-C/B - 20 CONTINUE -C - ISN78=0 - A=A1-A2 - B=B1-B2 - C=C1-C2 - IF(B*B-A*C*4.0.LT.0.0) GO TO 30 - DSN=SQRT(B*B-A*C*4.0) - IF(ABS(A).LT.1.0E-7) GO TO 25 - SN7=(-B+DSN)*0.5/A - SN8=(-B-DSN)*0.5/A - ISN78=1 - GO TO 30 - 25 CONTINUE - IF(ABS(B).LT.1.0E-5) GO TO 30 - ISN78=1 - SN7=-C/B - SN8=-C/B - 30 CONTINUE -C - IF(SN2.GT.0.0.AND.SN2.LT.SN1) SN1=SN2 - IF(SN3.GT.0.0.AND.SN3.LT.SN1) SN1=SN3 - IF(SN4.GT.0.0.AND.SN4.LT.SN1) SN1=SN4 - IF(ISN56.EQ.0) GO TO 40 - IF(SN5.GT.0.0.AND.SN5.LT.SN1) SN1=SN5 - IF(SN6.GT.0.0.AND.SN6.LT.SN1) SN1=SN6 - 40 CONTINUE - IF(ISN78.EQ.0) GO TO 50 - IF(SN7.GT.0.0.AND.SN7.LT.SN1) SN1=SN7 - IF(SN8.GT.0.0.AND.SN8.LT.SN1) SN1=SN8 - 50 CONTINUE -C - SNXT=SN1 -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gntube.F b/StarVMC/geant3/ggeom/gntube.F deleted file mode 100644 index 1c09f71a417..00000000000 --- a/StarVMC/geant3/ggeom/gntube.F +++ /dev/null @@ -1,176 +0,0 @@ -* -* $Id: gntube.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gntube.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GNTUBE(X,P,IACT,IFL,SNEXT,SNXT,SAFE) -C. ****************************************************************** -C. * * -C. * Compute distance to intersection with boundary surface of * -C * volume TUBE or TUBS, from point X(1),X(2),X(3) INSIDE * -C * the volume along track with direction cosines X(4),X(5), * -C * X(6) * -C. * P (input) : volume parameters * -C. * IACT (input) : action flag * -C. * = 0 Compute SAFE only * -C. * = 1 Compute SAFE, compute SNXT only if SAFE.LT.SNEXT * -C. * = 2 Compute both SAFE and SNXT * -C. * = 3 Compute SNXT only * -C. * IFL (input) : 1 for TUBE, 2 for PHI segmented TUBE * -C. * SNEXT (input) : see IACT = 1 * -C. * SNXT (output) : distance to volume boundary along track * -C. * SAFE (output) : not larger than scalar distance to * -C. * volume boundaray * -C. * Called by : GNEXT, GNPCON, GTNEXT * -C. * * -C. * Authors : Michel Maire and Rolf Nierhaus 21-JUN-1990 * -C. * * -C. ****************************************************************** -C. * * -C. * 'TUBE' is a tube. It has 3 parameters, the inside radius, * -C. * the outside radius and the half length in z. * -C. * 'TUBS' is a phi segment of a tube. It has 5 parameters, * -C. * the same 3 as 'TUBE' plus the phi limits. The * -C. * segment starts at the first limit and includes * -C. * increasing phi value up to the second limit or * -C. * that plus 360 degrees. * -C. * * -C. ****************************************************************** -#include "geant321/gconsp.inc" - DIMENSION X(6),P(5) -* -* this part has to be moved outside the routine - IF (IFL.EQ.2) THEN - P4=P(4)*DEGRAD - P5=P(5)*DEGRAD - IF (P5.LT.P4) P5=P5+TWOPI - C1=COS(P4) - S1=SIN(P4) - C2=COS(P5) - S2=SIN(P5) - FIO=0.5*(P5+P4) - CFIO=COS(FIO) - SFIO=SIN(FIO) - END IF -* - SNXT=1.E10 - R=SQRT(X(1)**2+X(2)**2) -* -* Compute SAFE radius - IF (IACT.LT.3) THEN - SAF1=R-P(1) - SAF2=P(2)-R - SAF3=P(3)-ABS(X(3)) - SAF4=1.E10 - IF (IFL.EQ.2) THEN - IF ((X(2)*CFIO-X(1)*SFIO).LE.0.) THEN - SAF4=ABS(X(1)*S1-X(2)*C1) - ELSE - SAF4=ABS(X(1)*S2-X(2)*C2) - END IF - ENDIF - SAFE=MIN(SAF1,SAF2,SAF3,SAF4) - IF (IACT.EQ.0) GO TO 999 - IF (IACT.EQ.1.AND.SNEXT.LE.SAFE) GO TO 999 - END IF -* -* Intersection with z-plane - IF (X(6).GT.1.E-20) THEN - SZ= (P(3)-X(3))/X(6) - ELSEIF (X(6).LT.-1.E-20) THEN - SZ=-(P(3)+X(3))/X(6) - ELSE - SZ=1.E10 - END IF -* -* Intersection with cylinders -* Intersection point (x,y,z) -* (x,y,z) is on track : x=X(1)+t*X(4) -* y=X(2)+t*X(5) -* z=X(3)+t*X(6) -* (x,y,z) is on cylinder : x**2 + y**2 = R**2 -* -* (X(4)**2+X(5)**2)*t**2 -* +2.*(X(1)*X(4)+X(2)*X(5))*t -* +X(1)**2+X(2)**2-R**2=0 -* - T1=X(4)**2+X(5)**2 - T2=(X(1)*X(4)+X(2)*X(5)) - T3=X(1)**2+X(2)**2 - IF (T1.LE.0.) THEN -* track parallel to the z-axis - SNXT=SZ - GO TO 999 - ENDIF - B=T2/T1 -* -* Intersection with inner cylinder - IF (P(1).GT.0.) THEN - C=(T3-P(1)**2)/T1 - D=B**2-C - IF (D.GE.0.) THEN - SR=-B-SQRT(D) - IF (SR.GE.0.) GO TO 101 - END IF - END IF -* Intersection with outer cylinder - C=(T3-P(2)**2)/T1 - D=MAX(B**2-C,0.) - SR=-B+SQRT(D) -* -* Intersection with phi-planes -* x=r*cos(phi)=X(1)+t*X(4) -* y=r*sin(phi)=X(2)+t*X(5) -* z =X(3)+t*X(6) -* t=(X(2)*cos(phi)-X(1)*sin(phi))/(X(4)*sin(phi)-X(5)*cos(phi)) - 101 SFI1=1.E10 - SFI2=1.E10 - IF (IFL.EQ.2) THEN -* track not parallel to the phi1 plane ? - UN=X(4)*S1-X(5)*C1 - IF (UN.NE.0.) THEN - S=(X(2)*C1-X(1)*S1)/UN - IF (S.GE.0.) THEN - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - IF ((YI*CFIO-XI*SFIO).LE.0.) SFI1=S - END IF - END IF -* track not parallel to the phi2 plane ? - UN=X(4)*S2-X(5)*C2 - IF (UN.NE.0.) THEN - S=(X(2)*C2-X(1)*S2)/UN - IF (S.GE.0.) THEN - XI=X(1)+S*X(4) - YI=X(2)+S*X(5) - IF ((YI*CFIO-XI*SFIO).GE.0.) SFI2=S - END IF - END IF - END IF -* - SNXT=MIN(SZ,SR,SFI1,SFI2) - 999 END diff --git a/StarVMC/geant3/ggeom/gprotm.F b/StarVMC/geant3/ggeom/gprotm.F deleted file mode 100644 index 418dc4ab581..00000000000 --- a/StarVMC/geant3/ggeom/gprotm.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: gprotm.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gprotm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3PROTM(NUMB) -C. -C. ****************************************************************** -C. * * -C. * Routine to print rotation matrices structure JROTM * -C. * NUMB Rotation matrix number * -C. * * -C. * ==>Called by : , GPRINT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -C. -C. ------------------------------------------------------------------ -C. - IF (JROTM.LE.0) GO TO 99 -C - IF (NUMB .EQ.0)THEN - WRITE (CHMAIL,1000) - CALL GMAIL(0,0) - N1 = 1 - N2 = IQ(JROTM-2) - ELSE - N1 = ABS(NUMB) - N2 = ABS(NUMB) - ENDIF -C - IF(NUMB.GE.0) THEN - WRITE (CHMAIL,1001) - CALL GMAIL(0,1) - ENDIF -C - DO 30 I=N1,N2 - JR = LQ(JROTM-I) - IF (JR.LE.0) GO TO 30 -C - IFLAG = Q(JR+10) - WRITE (CHMAIL,1002) I,(Q(JR+J),J = 1,9),IFLAG,(Q(JR+J),J = 11,16) - CALL GMAIL(0,0) - 30 CONTINUE -C - 1000 FORMAT ('0',51('='),1X,'ROTATION MATRICES',2X,50('=')) - 1001 FORMAT ('0','MATRIX',1X,'<',17('-'),' ROTATION MATRIX',1X,17('-') - +,'>',' FLAG',' THET1',' PHI1',' THET2',' PHI2',' THET3' - +,' PHI3') - 1002 FORMAT (' ',I6,9F6.3,I5,6F7.2) - 99 RETURN - END diff --git a/StarVMC/geant3/ggeom/gprotx.F b/StarVMC/geant3/ggeom/gprotx.F deleted file mode 100644 index fc2050bb095..00000000000 --- a/StarVMC/geant3/ggeom/gprotx.F +++ /dev/null @@ -1,161 +0,0 @@ -* -* $Id: gprotx.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gprotx.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3PROTX(NUMB) -C. -C. ****************************************************************** -C. * * -C. * Routine to print rotation matrices structure JROTM * -C. * NUMB Rotation matrix number * -C. * * -C. * ==>Called by : , GPRINT * -C. * Author R.Brun S.Giani ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - CHARACTER*32 CHLINE,CHSTRI(50) -C. -C. ------------------------------------------------------------------ -C. - IF (JROTM.LE.0) GO TO 999 -C - IF (NUMB .EQ.0)THEN - WRITE (CHMAIL,10000) - CALL GMAIL(0,0) - N1 = 1 - N2 = IQ(JROTM-2) - ELSE - N1 = ABS(NUMB) - N2 = ABS(NUMB) - ENDIF -C -* IF(NUMB.GE.0) THEN -* WRITE (CHMAIL,1001) -* CALL GMAIL(0,1) -* ENDIF -C - DO 10 I=N1,N2 - JR = LQ(JROTM-I) - IF (JR.LE.0) GO TO 10 -C - IFLAG = Q(JR+10) - CHLINE='Matrix Number=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(I,CHLINE(ILEN:)) - CHSTRI(1)=CHLINE - CHLINE='RM(1,1)=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JR+1),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JR+1) - CHSTRI(2)=CHLINE - CHLINE='RM(2,1)=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JR+2),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JR+2) - CHSTRI(3)=CHLINE - CHLINE='RM(3,1)=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JR+3),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JR+3) - CHSTRI(4)=CHLINE - CHLINE='RM(1,2)=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JR+4),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JR+4) - CHSTRI(5)=CHLINE - CHLINE='RM(2,2)=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JR+5),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JR+5) - CHSTRI(6)=CHLINE - CHLINE='RM(3,2)=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JR+6),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JR+6) - CHSTRI(7)=CHLINE - CHLINE='RM(1,3)=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JR+7),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JR+7) - CHSTRI(8)=CHLINE - CHLINE='RM(2,3)=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JR+8),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JR+8) - CHSTRI(9)=CHLINE - CHLINE='RM(3,3)=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(Q(JR+9),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10200)Q(JR+9) - CHSTRI(10)=CHLINE - CHLINE='Iflag=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(IFLAG,CHLINE(ILEN:)) - CHSTRI(11)=CHLINE - CHLINE='Theta1=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JR+11),CHLINE(ILEN:)) - CHSTRI(12)=CHLINE - CHLINE='Phi1=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JR+12),CHLINE(ILEN:)) - CHSTRI(13)=CHLINE - CHLINE='Theta2=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JR+13),CHLINE(ILEN:)) - CHSTRI(14)=CHLINE - CHLINE='Phi2=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JR+14),CHLINE(ILEN:)) - CHSTRI(15)=CHLINE - CHLINE='Theta3=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JR+15),CHLINE(ILEN:)) - CHSTRI(16)=CHLINE - CHLINE='Phi3=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JR+16),CHLINE(ILEN:)) - CHSTRI(17)=CHLINE - CALL IGMESS(17,CHSTRI,'PRINT','P') -* WRITE (CHMAIL,1002) I,(Q(JR+J),J = 1,9),IFLAG,(Q(JR+J),J = 11,16) -* CALL GMAIL(0,0) - 10 CONTINUE -C -10000 FORMAT ('0',51('='),1X,'ROTATION MATRICES',2X,50('=')) -10100 FORMAT ('0','MATRIX',1X,'<',17('-'),' ROTATION MATRIX',1X,17('-') - +,'>',' FLAG',' THET1',' PHI1',' THET2',' PHI2',' THET3' - +,' PHI3') -* 1002 FORMAT (' ',I6,9F6.3,I5,6F7.2) -10200 FORMAT (E12.5) - 999 END diff --git a/StarVMC/geant3/ggeom/gpstat.F b/StarVMC/geant3/ggeom/gpstat.F deleted file mode 100644 index 5fc0e2ecd86..00000000000 --- a/StarVMC/geant3/ggeom/gpstat.F +++ /dev/null @@ -1,96 +0,0 @@ -* -* $Id: gpstat.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gpstat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3PSTAT -C. -C. ****************************************************************** -C. * * -C. * Print volume statistics * -C. * * -C. * ==>Called by : GLAST * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" -C. -C. --------------------------------------------------------------- -C. - IF(JGSTAT.LE.0)GO TO 999 - IF(NVOLUM.LE.0)GO TO 999 - WRITE(CHMAIL,10000) - CALL GMAIL(3,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,10200) - CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) - WRITE(CHMAIL,10300) - CALL GMAIL(0,0) - WRITE(CHMAIL,10400) - CALL GMAIL(0,0) - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) -C - DO 10 I=1,NVOLUM - JG=LQ(JGSTAT-I) - IF(JG.GT.0) THEN - WRITE(CHMAIL,10500)IQ(JVOLUM+I),(IQ(JG+J),J=1,9) - CALL GMAIL(0,0) - ENDIF - 10 CONTINUE - WRITE(CHMAIL,10000) - CALL GMAIL(0,2) -C -10000 FORMAT(1X,122('*')) -10100 FORMAT (' *',120X,'*') -10200 FORMAT (' *',43X, - +'V O L U M E S T A T I S T I C S',43X,'*') -10300 FORMAT ( ' *',3X,'VOLUME',' *', - +3X,' GINVOL ',2X,'*', - +3X,' GMEDIA ',2X,'*', - +3X,' GTNEXT ',2X,'*', - +3X,' GTMEDI ',2X,'*', - +2X,'NSTEPS',3X,'*') -10400 FORMAT ( ' *',3X,' NAME ',' *', - +3X,'TOTAL ',' * ','NLEVEL',2X,'*', - +3X,'TOTAL ',' * ','NLEVEL',2X,'*', - +3X,'TOTAL ',' * ','NLEVEL',2X,'*', - +3X,'TOTAL ',' * ','NLEVEL',2X,'*', - +2X,'NLEVEL',3X,'*') -10500 FORMAT(1X,'*',4X,A4,4X,9('*',I10,1X),'*') - 999 END diff --git a/StarVMC/geant3/ggeom/gpvolu.F b/StarVMC/geant3/ggeom/gpvolu.F deleted file mode 100644 index 741f446cdd8..00000000000 --- a/StarVMC/geant3/ggeom/gpvolu.F +++ /dev/null @@ -1,114 +0,0 @@ -* -* $Id: gpvolu.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gpvolu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 13/12/94 15.26.17 by S.Giani -*-- Author : - SUBROUTINE G3PVOLU(NUMB) -C. -C. ****************************************************************** -C. * * -C. * Routine to print VOLUMES data structures JVOLUM * -C. * NUMB Volume number * -C. * * -C. * ==>Called by : , GPRINT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - COMMON/FMOTH/INGLOB,IVOMGL - CHARACTER*4 ISHAP(30),NAME,MOTHER - DIMENSION PAR(100),ATT(20) - SAVE ISHAP - DATA ISHAP/'BOX ','TRD1','TRD2','TRAP','TUBE','TUBS','CONE', - + 'CONS','SPHE','PARA','PGON','PCON','ELTU','HYPE', - +13*' ', 'GTRA','CTUB',' '/ -C. -C. ------------------------------------------------------------------ - IF (JVOLUM.LE.0) GO TO 99 - IF (NUMB .GT.0) GO TO 10 -C - WRITE (CHMAIL,1000) - CALL GMAIL(0,0) - WRITE (CHMAIL,1001) - CALL GMAIL(0,1) -C - N1 = 1 - N2 = NVOLUM - GO TO 20 -C - 10 WRITE (CHMAIL,1001) - CALL GMAIL(0,1) -C - N1 = NUMB - N2 = NUMB -C - 20 DO 30 I=N1,N2 - JVO = LQ(JVOLUM-I) - NIN=Q(JVO+3) - IF (JVO.LE.0) GO TO 30 -C - CALL UHTOC(IQ(JVOLUM+I),4,NAME,4) - CALL GFMOTH(NAME,MOTHER,KONLY) - JVOMOT=LQ(JVOLUM-IVOMGL) - MNIN=Q(JVOMOT+3) - IF(MNIN.LE.0)THEN - NMBR=1 - ELSE - JIN = LQ(JVOMOT-INGLOB) - NMBR=Q(JIN+3) - ENDIF - - IS = Q(JVO+2) - NMED = Q(JVO+4) -C - CALL G3FPARA(NAME,NMBR,1,NPAR,NATT,PAR,ATT) - IEND10=10 - IF(NPAR.LT.IEND10)IEND10=NPAR - WRITE(CHMAIL,1002)I,NAME,NMED,ISHAP(IS),NPAR,(PAR(J),J=1,IEND10) - CALL GMAIL(0,0) - DO 25 I10=11,NPAR,10 - IEND10=I10+9 - IF (NPAR.LT.IEND10) IEND10=NPAR - WRITE (CHMAIL,1003) (PAR(J),J = I10,IEND10) - CALL GMAIL(0,0) - 25 CONTINUE - 30 CONTINUE -C - 1000 FORMAT ('0',51('='),5X,' VOLUMES ',6X,50('=')) - 1001 FORMAT ('0','VOLUME NAME NUMED SHAPE NPAR PARAMETERS') - 1002 FORMAT (' ',I6,1X,A4,2X,I3,3X,A4,I5,2X,10E10.3) - 1003 FORMAT (31X,10E10.3) - 99 END diff --git a/StarVMC/geant3/ggeom/gpvolx.F b/StarVMC/geant3/ggeom/gpvolx.F deleted file mode 100644 index 4c1bdd6969e..00000000000 --- a/StarVMC/geant3/ggeom/gpvolx.F +++ /dev/null @@ -1,148 +0,0 @@ -* -* $Id: gpvolx.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gpvolx.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 13/12/94 15.26.36 by S.Giani -*-- Author : - SUBROUTINE G3PVOLX(NUMB) -C. -C. ****************************************************************** -C. * * -C. * Routine to print VOLUMES data structures JVOLUM * -C. * NUMB Volume number * -C. * * -C. * ==>Called by : , GPRINT * -C. * Author R.Brun S.Giani **** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - COMMON/FMOTH/INGLOB,IVOMGL - CHARACTER*32 CHLINE,CHSTRI(50) - CHARACTER*4 ISHAP(30),NAME,MOTHER - DIMENSION PAR(100),ATT(20) - SAVE ISHAP - DATA ISHAP/'BOX ','TRD1','TRD2','TRAP','TUBE','TUBS','CONE', - + 'CONS','SPHE','PARA','PGON','PCON','ELTU','HYPE', - +13*' ', 'GTRA','CTUB',' '/ -C. -C. ------------------------------------------------------------------ - IF (JVOLUM.LE.0) GO TO 999 - IF (NUMB .GT.0) GO TO 10 -C - WRITE (CHMAIL,10000) - CALL GMAIL(0,0) - WRITE (CHMAIL,10100) - CALL GMAIL(0,1) -C - N1 = 1 - N2 = NVOLUM - GO TO 20 -C -* 10 WRITE (CHMAIL,1001) -* CALL GMAIL(0,1) - 10 CONTINUE -C - N1 = NUMB - N2 = NUMB -C - 20 DO 40 I=N1,N2 - JVO = LQ(JVOLUM-I) - IF (JVO.LE.0) GO TO 40 -C - CALL UHTOC(IQ(JVOLUM+I),4,NAME,4) - CALL GFMOTH(NAME,MOTHER,KONLY) - JVOMOT=LQ(JVOLUM-IVOMGL) - MNIN=Q(JVOMOT+3) - IF(MNIN.LE.0)THEN - NMBR=1 - ELSE - JIN = LQ(JVOMOT-INGLOB) - NMBR=Q(JIN+3) - ENDIF - IS = Q(JVO+2) - NMED = Q(JVO+4) -C - CALL G3FPARA(NAME,1,1,NPAR,NATT,PAR,ATT) -* IEND10=10 -* IF(NPAR.LT.IEND10)IEND10=NPAR -* WRITE(CHMAIL,1002)I,NAME,NMED,ISHAP(IS),NPAR,(PAR(J),J=1,IEND10) -* CALL GMAIL(0,0) - CHLINE='Volume Number=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(I,CHLINE(ILEN:)) - CHSTRI(1)=CHLINE - CHLINE='Name=' - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=NAME - CHSTRI(2)=CHLINE - CHLINE='Nmed=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(NMED,CHLINE(ILEN:)) - CHSTRI(3)=CHLINE - CHLINE='Shape=' - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=ISHAP(IS) - CHSTRI(4)=CHLINE - CHLINE='Npar=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(NPAR,CHLINE(ILEN:)) - CHSTRI(5)=CHLINE - DO 30 JJ=1,NPAR - CHLINE='Par(' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(JJ,CHLINE(ILEN:)) - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=')=' - ILEN=LENOCC(CHLINE)+1 -* CALL IZRTOC(PAR(JJ),CHLINE(ILEN:)) - WRITE(CHLINE(ILEN:),10300)PAR(JJ) - CHSTRI(5+JJ)=CHLINE - 30 CONTINUE - NLINE=5+NPAR - CALL IGMESS(NLINE,CHSTRI,'PRINT','P') - -* DO 25 I10=11,NPAR,10 -* IEND10=I10+9 -* IF (NPAR.LT.IEND10) IEND10=NPAR -* WRITE (CHMAIL,1003) (PAR(J),J = I10,IEND10) -* CALL GMAIL(0,0) -* 25 CONTINUE - 40 CONTINUE -C -10000 FORMAT ('0',51('='),5X,' VOLUMES ',6X,50('=')) -10100 FORMAT ('0','VOLUME NAME NUMED SHAPE NPAR PARAMETERS') -10200 FORMAT (' ',I6,1X,A4,2X,I3,3X,A4,I5,2X,10E10.3) -10300 FORMAT (E12.5) - 999 END diff --git a/StarVMC/geant3/ggeom/grmtd.F b/StarVMC/geant3/ggeom/grmtd.F deleted file mode 100644 index 7f3f6aba4cb..00000000000 --- a/StarVMC/geant3/ggeom/grmtd.F +++ /dev/null @@ -1,60 +0,0 @@ -* -* $Id: grmtd.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: grmtd.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GRMTD(XMAS,IROT,XNEW) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE ROTATES A POINT IN XMAS FROM THE MASTER SYSTEM * -C. * TO A NEW SYSTEM USING MATRIX # IROT. * -C. * RESULT IS RETURNED IN VECTOR XNEW. * -C. * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - DIMENSION XMAS(3),XNEW(3) -C. -C. ------------------------------------------------------------------ -C. - IF (IROT.GT.0) THEN - JR = LQ(JROTM- IROT) - XNEW(1) = XMAS(1)*Q(JR+1) + XMAS(2)*Q(JR+2) + XMAS(3)*Q(JR+3) - XNEW(2) = XMAS(1)*Q(JR+4) + XMAS(2)*Q(JR+5) + XMAS(3)*Q(JR+6) - XNEW(3) = XMAS(1)*Q(JR+7) + XMAS(2)*Q(JR+8) + XMAS(3)*Q(JR+9) -* - ELSE - XNEW(1) = XMAS(1) - XNEW(2) = XMAS(2) - XNEW(3) = XMAS(3) -* - ENDIF - END diff --git a/StarVMC/geant3/ggeom/grmul.F b/StarVMC/geant3/ggeom/grmul.F deleted file mode 100644 index 5696a436214..00000000000 --- a/StarVMC/geant3/ggeom/grmul.F +++ /dev/null @@ -1,75 +0,0 @@ -* -* $Id: grmul.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: grmul.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GRMUL(RMAT,IROT,RMATN) -C. -C. ****************************************************************** -C. * * -C * ROUTINE MULTIPLIES ROTATION MATRIX RMAT BY THE * -C * IROT TH MATRIX IN THE GEANT ROTATION MATRIX BANK * -C * TO PRODUCE THE MATRIX RMATN SUCH THAT RMATN IS * -C * THE RESULT OF FIRST RMAT THEN IROT. * -C * * -C. * ==>Called by : GTRMUL * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - DIMENSION RMAT(10),RMATN(10) -C. -C. ------------------------------------------------------------------ -C. - IF(IROT.EQ.0) THEN - DO 10 I=1,10 - RMATN(I)=RMAT(I) - 10 CONTINUE - ELSE - JR=LQ(JROTM-IROT) - RMATN(10)=1. - IF(RMAT(10).EQ.0.0) THEN - DO 20 I=1,9 - RMATN(I)=Q(JR+I) - 20 CONTINUE - ELSE -C - DO 30 KO=1,9 - RMATN(KO)=0.0 -C - KO1=(KO-1)/3+1 - KO2=KO-(KO1-1)*3 -C - DO 30 IN=1,3 - KI1=KO2+(IN-1)*3 - KI2=IN+(KO1-1)*3 - RMATN(KO)=RMATN(KO)+RMAT(KI1)*Q(JR+KI2) - 30 CONTINUE - ENDIF - ENDIF - END diff --git a/StarVMC/geant3/ggeom/grot.F b/StarVMC/geant3/ggeom/grot.F deleted file mode 100644 index 4a9d93df11e..00000000000 --- a/StarVMC/geant3/ggeom/grot.F +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: grot.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: grot.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GROT(X,RMAT,XNEW) -C. -C. ****************************************************************** -C. * * -C * ROUTINE TO ROTATE POINT X BY MATRIX RMAT TO * -C * FORM POINT XNEW. * -C * * -C. * ==>Called by : GNEXT, GTNEXT * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION X(3),XNEW(3),RMAT(10) -C - IF(RMAT(10).NE.0.0) THEN - XNEW(1) = X(1)*RMAT(1) + X(2)*RMAT(2) + X(3)*RMAT(3) - XNEW(2) = X(1)*RMAT(4) + X(2)*RMAT(5) + X(3)*RMAT(6) - XNEW(3) = X(1)*RMAT(7) + X(2)*RMAT(8) + X(3)*RMAT(9) -* - ELSE - XNEW(1) = X(1) - XNEW(2) = X(2) - XNEW(3) = X(3) -* - ENDIF - END diff --git a/StarVMC/geant3/ggeom/grpar.F b/StarVMC/geant3/ggeom/grpar.F deleted file mode 100644 index 407d32f5aba..00000000000 --- a/StarVMC/geant3/ggeom/grpar.F +++ /dev/null @@ -1,108 +0,0 @@ -* -* $Id: grpar.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: grpar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GRPAR(SHAP,NP,P,NDIV,STEP,C0,IN,GP,NSP,SP) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO COMPUTE RMIN AND RMAX FOR THE IN TH DIVISION * -C. * OF NDIV DIVISIONS STARTING AT C0 WITH STEP OF STEP * -C. * (FOR ISHAPE 5 & 6) AND TO INSERT THEM INTO THE SHAPE * -C. * PARAMETER LIST FROM P OUTPUTING THE RESULT AS THE * -C. * LIST SP. * -C. * * -C. * ==>Called by : not used * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" - DIMENSION P(3),SP(5),GP(5) -C. -C. ------------------------------------------------------------------ -C. - ISH=SHAP - IF(ISH.NE.5)GO TO 5 - NSP=3 - SP(3)=P(3) - SP(2)=C0+STEP*IN - SP(1)=SP(2)-STEP - GO TO 99 -C - 5 IF(ISH.LT.5.OR.ISH.GT.12) GO TO 90 - IF(ISH.EQ.10) GO TO 90 -C - NSP=NP - DO 10 I=1,NP - 10 SP(I)=P(I) -C - IF(ISH.GT.6.AND.ISH.NE.9) GO TO 20 - SP(2)=C0+STEP*IN - SP(1)=SP(2)-STEP - GO TO 99 -C - 20 CONTINUE -C - IF(ISH.GT.9) GO TO 30 -C - DR=(GP(3)-GP(2))/NDIV - SP(3)=GP(2)+DR*IN - SP(2)=SP(3)-DR - DR=(GP(5)-GP(4))/NDIV - SP(5)=GP(4)+DR*IN - SP(4)=SP(5)-DR - GO TO 99 -C - 30 CONTINUE -C -C POLYGONS AND POLYCONES. -C - IPNZ=3 - IF(ISH.EQ.11) IPNZ=4 - NZ=GP(IPNZ) -C - DO 40 IZ=1,NZ -C - IPZ=IPNZ+IZ*3-2 - OR=GP(IPZ+1) - ST=(GP(IPZ+2)-OR)/NDIV - SP(IPZ+2)=OR+ST*IN - SP(IPZ+1)=SP(IPZ+2)-ST -C - 40 CONTINUE -C - GO TO 99 -C - 90 CONTINUE - WRITE(CHMAIL,1000) ISH - CALL GMAIL(0,0) -C - 1000 FORMAT(' SHAPE #',I5,' AS A DIVISION IN R NOT YET IMPLEMENTED') - 99 RETURN - END diff --git a/StarVMC/geant3/ggeom/gsagtr.F b/StarVMC/geant3/ggeom/gsagtr.F deleted file mode 100644 index 8becddadaf0..00000000000 --- a/StarVMC/geant3/ggeom/gsagtr.F +++ /dev/null @@ -1,115 +0,0 @@ -* -* $Id: gsagtr.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsagtr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GSAGTR(X,P,SAFETY,INSIDE) -C. -C. ****************************************************************** -C. * * -C. * * -C. * SUBROUTINE GSAGTR(X,P,SAFETY,INSIDE) * -C. * Routine to cumpute the 'Safe' distance to nearest boundary * -C. * of the general twisted trapezoid. Point is given in X(1-3), * -C. * parameters of trapezoid are in P, if INSIDE = 1 point is * -C. * inside shape if 0 outside. 'SAFE' distance is returned in * -C. * SAFETY. * -C. * I have not yet been able to come up with an exact * -C. * computation of this. From the outside I use an exscribed * -C. * cylinder with its axis as the line joining the centres of * -C. * the trapezia at the ends. As far as I can see there is no * -C. * straight forward way of finding a reliable conservative * -C. * estimate from the inside; so I set SAFETY to 0.0 for all * -C. * points inside the shape. The radius of the exscribed * -C. * cylinder is given by the longest of the eight distances * -C. * from the centre of the trapezium to each corner on each of * -C. * the end faces. * -C. * Called by : GSNGTR * -C. * A.C.McPherson. 23rd April 1985. * -C. * * -C. * * -C. ****************************************************************** -C. - DIMENSION X(3),P(30) -C - SAFETY=0.0 -C -C Check if point is inside. -C - IF(INSIDE.EQ.1) GO TO 999 -C -C Compute radius of cylinder. -C - RCYL=0.0 - DO 10 I=1,4 - I0=I*4+11 - RC2=(P(I0)+(P(I0+2)-P(13))*P(1))**2+ - + (P(I0+1)+(P(I0+3)-P(14))*P(1))**2 - IF(RC2.GT.RCYL) RCYL=RC2 - RC2=(P(I0)-(P(I0+2)-P(13))*P(1))**2+ - + (P(I0+1)-(P(I0+3)-P(14))*P(1))**2 - IF(RC2.GT.RCYL) RCYL=RC2 - 10 CONTINUE - IF(RC2.GT.0.0) RCYL=SQRT(RC2) -C -C The direction cosines of the axis of the cylinder -C are computed and the distance from the point to the -C axis is calculated from the cross product of these -C direction cosines with the vector from the origin to -C the point. The cross product of this cross product -C with the direction cosines gives the vector from the -C axis to the point. Subtracting this times the ratio -C (D-RCYL)/D where D is the distance of the point from -C the axis and RCYL is the radius of the cylinder gives -C the point on the cylinder nearest to the point. If -C this is outside the z range of the shape then the -C distance along the cylinder surface to the z limit is -C added in quadrature. -C - IF(ABS(X(3)).GT.P(1)) SAFETY=ABS(X(3)-P(1)) - TTH2=P(13)**2+P(14)**2 - CTH2=1.0/(1.0+TTH2) - DIR3=SQRT(CTH2) - DIR1=P(13)*DIR3 - DIR2=P(14)*DIR3 - DX=DIR2*X(3)-DIR3*X(2) - DY=DIR3*X(1)-DIR1*X(3) - DZ=DIR1*X(2)-DIR2*X(1) - D2=DX*DX+DY*DY+DZ*DZ - IF(D2.LT.RCYL*RCYL) GO TO 999 -C -C Only Z component of vector is needed. -C - DDZ=DX*DIR2-DY*DIR1 - D=SQRT(D2) - Z=X(3)-DDZ*(D-RCYL)/D - SAFETY=D-RCYL - IF(ABS(Z).LT.P(1)) GO TO 999 - SAFETY=SQRT(SAFETY*SAFETY+(ABS(Z)-P(1))**2/CTH2) - 999 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/ggeom/gsaphi.F b/StarVMC/geant3/ggeom/gsaphi.F deleted file mode 100644 index daee512e251..00000000000 --- a/StarVMC/geant3/ggeom/gsaphi.F +++ /dev/null @@ -1,73 +0,0 @@ -* -* $Id: gsaphi.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsaphi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GSAPHI(V,PHIL,PHIH,SAF) -C. -C. ****************************************************************** -C. * * -C. * * -C. * Subroutine GSAPHI computes the 'safety radius' from the * -C. * point V to phi limits PHIL and PHIH. The safety radius is * -C. * returned in SAF. * -C. * A.C.McPherson 5th Sept. 1984. * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -C - DIMENSION V(3) -C - R=V(1)**2+V(2)**2 - IF(R.GT.0.0) R=SQRT(R) -C - PHL=PHIL*DEGRAD - PHH=PHIH*DEGRAD -C -C Check for case of complete 360 degree region. -C - SAF=BIG - DPHI=PHIH-PHIL - IF(DPHI.LE.0.0) DPHI=DPHI+360.0 - IF(DPHI.GE.360.0) GO TO 10 -C - SAF=R - SL=SIN(PHL) - CL=COS(PHH) - IF(SL*V(2)+CL*V(1).GT.0.0) SAF=ABS(SL*V(1)-CL*V(2)) -C - SAF2=R - SH=SIN(PHH) - CH=COS(PHH) - IF(SH*V(2)+CH*V(1).GT.0.0) SAF2=ABS(SH*V(1)-CH*V(2)) -C - IF(SAF2.LT.SAF) SAF=SAF2 -C - 10 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/ggeom/gsatt.F b/StarVMC/geant3/ggeom/gsatt.F deleted file mode 100644 index a8fd380567a..00000000000 --- a/StarVMC/geant3/ggeom/gsatt.F +++ /dev/null @@ -1,121 +0,0 @@ -* -* $Id: gsatt.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsatt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SATT(NAME,IAT,IVAL) -C. -C. ****************************************************************** -C. * * -C. * Set attribute IAT to the value IVAL * -C. * for the volume NAME * -C. * * -C. * 1: 'WORK' 0=volume inactive 1=active volume * -C. * 2: 'SEEN' 0=unseen 1=seen -1,-2=tree unseen -3=tree opt. * -C. * 3: 'LSTY' line style 1,2,3,... * -C. * 4: 'LWID' line width 1,2,3,... * -C. * 5: 'COLO' color code 1,2,3,... * -C. * 6: 'FILL' fill area 0,1,2,... * -C. * 7: 'SET ' set number associated to this volume * -C. * 8: 'DET ' detector number associated to this volume * -C. * 9: 'DTYP' detector type (1,2) * -C. * 10: 'NODE' <>0=a node is created for 3D (PIONS,GMR,etc.) * -C. * * -C. * ==>Called by : , , GDPRTR,GDSPEC,GDTREE,GSDET, * -C. * GSDETV,GSDVN,GSDVN2,GSDVT,GSDVT2,GSVOLU * -C. * Author R.Brun S.Giani ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" - COMMON/DEFPAR/IATDEF,IVADEF -* - CHARACTER*4 KATT(10),NAME,IAT,IATDEF - DIMENSION LATT(10) - SAVE KATT,IFIRST,LATT - DATA KATT/'WORK','SEEN','LSTY','LWID','COLO','FILL','SET ', - +'DET ','DTYP','NODE'/ - DATA IFIRST/0/ -C. -C. ------------------------------------------------------------------ -C. -C CHECK IF OPTION EXISTS -* - IF(IAT.EQ.'DEFA')IAT=IATDEF - IF(IVAL.EQ.10000)IVAL=IVADEF -C - IF(IFIRST.EQ.0)THEN - IFIRST=1 - CALL UCTOH(KATT,LATT,4,40) - ENDIF -C - IPN=5 - IPS=7 -C -C CHECK IF OPTION EXISTS -C - CALL GLOOK(IAT,LATT,10,IOP) - IF(IOP.GT.0)GO TO 10 - WRITE(CHMAIL,10100)IAT - CALL GMAIL(0,0) - GO TO 999 -C CHECK IF VOLUME EXISTS -C - 10 IF(JVOLUM.GT.0)GO TO 20 - WRITE(CHMAIL,10000)NAME - CALL GMAIL(0,0) - GO TO 999 -C - 20 IF(NAME(1:1).EQ.'*')GO TO 40 - CALL GLOOK(NAME,IQ(JVOLUM+1),NVOLUM,IVOLU) - IF(IVOLU.GT.0)GO TO 30 - WRITE(CHMAIL,10000)NAME - CALL GMAIL(0,0) - GO TO 999 -C - 30 JVO=LQ(JVOLUM-IVOLU) - NPAR=Q(JVO+IPN) - Q(JVO+NPAR+IPS-1+IOP)=IVAL - GO TO 999 -C -C SET OPTION VALUE FOR ALL DEFINED VOLUMES -C - 40 CONTINUE - DO 50 I=1,NVOLUM - JVO=LQ(JVOLUM-I) - NPAR=Q(JVO+IPN) - Q(JVO+NPAR+IPS-1+IOP)=IVAL - 50 CONTINUE -C -10000 FORMAT(' GSATT VOLUME ',A4,' DOES NOT EXIST ') -10100 FORMAT(' GSATT OPTION ',A4,' NOT IMPLEMENTED ') - 999 END diff --git a/StarVMC/geant3/ggeom/gschk.F b/StarVMC/geant3/ggeom/gschk.F deleted file mode 100644 index 06e4acb4e14..00000000000 --- a/StarVMC/geant3/ggeom/gschk.F +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: gschk.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gschk.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GSCHK(NAME,KSHAPE,NPAR,ISHAPE) -C. -C. ****************************************************************** -C. * * -C. * CHECK SHAPE PARAMETERS * -C. * RETURN SHAPE NUMBER CORRESPONDING TO 'KSHAPE' * -C. * * -C. * ==>Called by : GSVOLU * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" - CHARACTER*4 NAME,KSHAP(30) - CHARACTER*4 KSHAPE - DIMENSION NPARS(30) - SAVE KSHAP,NPARS - DATA KSHAP/'BOX ','TRD1','TRD2','TRAP','TUBE','TUBS','CONE', - + 'CONS','SPHE','PARA','PGON','PCON','ELTU','HYPE', - + 13*' ','GTRA','CTUB',' '/ - DATA NPARS/3,4,5,11,3,5,5,7,6,6,10,9,3,4,13*0,12,11,0/ -C. -C. ------------------------------------------------------------------ -C. - ISHAPE = 0 - DO 10 JSH=1, 30 - IF(KSHAPE.EQ.KSHAP(JSH)) THEN - ISHAPE=JSH - GOTO 20 - ENDIF - 10 CONTINUE -C - WRITE(CHMAIL,10000)KSHAPE,NAME - CALL GMAIL(1,0) - GO TO 999 -C -C CHECK PARAMETERS -C - 20 IF(NPAR.LT.NPARS(ISHAPE).AND.NPAR.NE.0) THEN -C - WRITE(CHMAIL,10100)KSHAPE,NAME,NPAR - CALL GMAIL(1,0) - ISHAPE=-1 - GO TO 999 - ENDIF -C -10000 FORMAT(' ***** SHAPE TYPE ',A4,' VOLUME ',A4, - + ' NOT VALID *****') -10100 FORMAT(' ***** SHAPE ',A4,' VOLUME ',A4, - + ' INCONSISTENT NUMBER OF PARAMETERS ',I5,'*****') - 999 END diff --git a/StarVMC/geant3/ggeom/gscvol.F b/StarVMC/geant3/ggeom/gscvol.F deleted file mode 100644 index ed0d02fd76b..00000000000 --- a/StarVMC/geant3/ggeom/gscvol.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: gscvol.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gscvol.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GSCVOL -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO STORE THE RELEVANT CONTENTS OF THE COMMON BLOCK * -C. * /GCVOLU/ IN THE COMMON /GCVOL2/ * -C. * THE COMMON BLOCK CAN BE RELOADED FROM ARRAY BY THE ROUTINE * -C. * GFCVOL. * -C. * * -C. * ==>Called by : GDRAW,GDRVOL,GINVOL,GMEDIA,GTMEDI * -C. * Authors : R.Brun, F.Bruyant ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcvol2.inc" -C. -C. ---------------------------------------- -C. - NLEVE2 = NLEVEL - IF (NLEVE2.LE.0) GO TO 99 -* - NLEVMX=IQ(LQ(JVOLUM)-1) - IF (JGPAR2.EQ.0) THEN - CALL MZBOOK (IXCONS, JGPAR2, JGPAR2, 1,'GPA2', - + NLEVMX+1, 0, NLEVMX+1, 2, 0) - ENDIF -* - INFRO2 = INFROM - IF(NLEVEL+1.GT.IQ(JGPAR2-1)) THEN - CALL MZPUSH(IXCONS,JGPAR2,NLEVEL+1-IQ(JGPAR2-1), - + NLEVEL+1-IQ(JGPAR2-1),' ') - ENDIF - DO 40 I = 1,NLEVEL -* - NAMES2(I) = NAMES(I) - NUMB2(I) = NUMBER(I) - LVOL2(I) = LVOLUM(I) - LIND2(I) = LINDEX(I) - GONLY2(I) = GONLY(I) - NLDEV2(I) = NLDEV(I) - LINMX2(I) = LINMX(I) -* - DO 10 J = 1,3 - GTRAN2(J,I) = GTRAN(J,I) - 10 CONTINUE -* - DO 20 J = 1,10 - GRMAT2(J,I) = GRMAT(J,I) - 20 CONTINUE -* - IQ(JGPAR2+I) = IQ(JGPAR+I) - LQ(JGPAR2-I) = LQ(JGPAR-I) -* - 40 CONTINUE -* END GSCVOL - 99 END diff --git a/StarVMC/geant3/ggeom/gsdvn.F b/StarVMC/geant3/ggeom/gsdvn.F deleted file mode 100644 index e69e67a691a..00000000000 --- a/StarVMC/geant3/ggeom/gsdvn.F +++ /dev/null @@ -1,467 +0,0 @@ -* -* $Id: gsdvn.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsdvn.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SDVN(KNAME,MOTHER,NDIV,IAXIS) -C. -C. ****************************************************************** -C. * * -C. * Routine divides MOTHER into NDIV divisions called NAME * -C. * along axis number IAXIS. * -C. * JVO=Pointer to MOTHER volume * -C. * JDIV=LQ(JVO-1) * -C. * * -C. * Q(JDIV+1)=IAXIS * -C. * Q(JDIV+2)=Volume number. * -C. * Q(JDIV+3)=NDIV * -C. * Q(JDIV+4)=Lowest coord of slices. * -C. * Q(JDIV+5)=Step size in coordinates. * -C. * * -C. * ==>Called by : , GEDITV * -C. * Authors R.Brun, A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcshno.inc" - COMMON / FIXIT / JDIV, JVO - CHARACTER*4 KNAME,MOTHER - DIMENSION PAR(100),PARM(100),ATT(20) - SAVE ATT - DATA ATT /1.,1.,1.,1.,1.,15*0./ -C. -C. ------------------------------------------------------------------ -C. -C Check if volume master bank exists. -C - CALL UCTOH(KNAME,NAME,4,4) - IF(JVOLUM.GT.0)GO TO 10 - WRITE(CHMAIL,1000) - CALL GMAIL(0,0) - GO TO 99 -C -C Check if MOTHER volume exists. -C - 10 CALL GLOOK(MOTHER,IQ(JVOLUM+1),NVOLUM,IVO) - IF(IVO.GT.0)GO TO 20 - WRITE(CHMAIL,1100)MOTHER - CALL GMAIL(0,0) - GO TO 99 -C -C Check if NAME volume exists. -C - 20 CALL GLOOK(KNAME,IQ(JVOLUM+1),NVOLUM,IN) - IF(IN.LE.0)GO TO 50 - WRITE(CHMAIL,2000)NAME - CALL GMAIL(0,0) - GO TO 99 -C -C Check if MOTHER is not divided. -C - 50 JVO=LQ(JVOLUM-IVO) - NIN=Q(JVO+3) - IF(NIN.EQ.0)GO TO 60 - WRITE(CHMAIL,4000)MOTHER - CALL GMAIL(0,0) - GO TO 99 -C -C Check validity of axis value. -C - 60 IF(IAXIS.GT.0.AND.IAXIS.LT.4)GO TO 70 - WRITE(CHMAIL,5000)IAXIS - CALL GMAIL(0,0) - GO TO 99 -C -C Check validity of NDIV -C - 70 IF(NDIV.GT.0)GO TO 80 - WRITE(CHMAIL,6000)NDIV - CALL GMAIL(0,0) - GO TO 99 -C -C Create bank to store division parameters. -C - 80 CALL MZBOOK(IXCONS,JDIV,JVO,-1,'VODI',0,0,6,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JDIV-5)=IVO -C -C Now store parameters into bank area. -C - 90 Q(JDIV+1)=IAXIS - Q(JDIV+2)=NVOLUM+1 - Q(JDIV+3)=NDIV - Q(JVO+3)=-1 - IVOM= IVO - NWM = IQ(JVO-1) - NW = NWM - ISH = Q(JVO+2) -C -C Bit to allow division of objects defined -C by GSPOSP. -C - C0=0.0 - STEP=0.0 - NPAR=Q(JVO+5) - NATT=Q(JVO+6) - CALL UCOPY(Q(JVO+NPAR+7),ATT,NATT) - IF(NPAR.LE.0) GO TO 230 -C - CALL GFIPAR(JVO,0,0,NPAR,NATT,PAR,ATT) - CALL UCOPY(PAR,PARM,NPAR) -C -C Find and store start and step. -C - IF(ISH.NE.1) GO TO 100 -C -C Box. -C - STEP=-1.0 - PAR(IAXIS)=-1.0 - IF(PARM(IAXIS).LT.0.0) GO TO 230 - C0 =-PARM(IAXIS) - STEP=PARM(IAXIS)*2.0/NDIV - PAR(IAXIS)=STEP/2. - GO TO 230 -C - 100 CONTINUE - IF(ISH.NE.2) GO TO 110 -C -C Trapezoid with only X thickness varying with Z. -C - IF(IAXIS.EQ.1) GO TO 900 - PAR(1)=-1. - PAR(2)=-1. - STEP=-1.0 - PAR(IAXIS+1)=-1.0 - IF(PARM(IAXIS+1).LT.0.0) GO TO 230 - C0 =-PARM(IAXIS+1) - STEP=PARM(IAXIS+1)*2.0/NDIV - PAR(IAXIS+1)=STEP/2. - GO TO 230 -C - 110 CONTINUE - IF(ISH.NE.3) GO TO 120 -C -C Trapezoid with both X and Y thicknesses varying with -C Z -C - IF(IAXIS.NE.3) GO TO 900 - PAR(1)=-1. - PAR(2)=-1. - PAR(3)=-1. - PAR(4)=-1. - STEP=-1.0 - PAR(5)=-1.0 - IF(PARM(5).LT.0.0) GO TO 230 - C0 =-PARM(5) - STEP=PARM(5)*2.0/NDIV - PAR(5)=STEP/2. - GO TO 230 -C - 120 CONTINUE - IF(ISH.NE.4) GO TO 125 - IF(IAXIS.NE.3) GO TO 126 - PAR(1)=-1. - PAR(4)=-1. - PAR(5)=-1. - PAR(6)=-1. - PAR(8)=-1. - PAR(9)=-1. - PAR(10)=-1. - STEP=-1.0 - IF(PARM(1).LT.0.0) GO TO 230 - C0=-PARM(1) - STEP=PARM(1)*2.0/NDIV - PAR(1)=STEP*0.5 -C - GO TO 230 -C - 126 IF(IAXIS.NE.2) GO TO 900 - IF(MOD(PARM(3),180.).EQ.0.) GO TO 127 - WRITE(CHMAIL,10100) -10100 FORMAT(' Division of TRAP ',A4, - + ' along Y only possible when PHI=0,180') - CALL GMAIL(0,0) - GOTO 99 - 127 IF(PARM(4).EQ.PARM(8)) GO TO 128 - WRITE(CHMAIL,10200) -10200 FORMAT(' Division of TRAP ',A4, - + ' along Y only possible when H1=H2') - CALL GMAIL(0,0) - GOTO 99 - 128 CONTINUE - STEP = -1. - IF(PARM(4).LT.0.0) GO TO 230 - C0=-PARM(4) - STEPH = PARM(4)/NDIV - PAR(4) = STEPH - PAR(5) = -1. - PAR(6) = -1. - PAR(8) = STEPH - PAR(9) = -1. - PAR(10) = -1. - STEP = 2.*STEPH -C - GO TO 230 -C - 125 CONTINUE - IF(ISH.NE.5.AND.ISH.NE.6.AND.ISH.NE.NSCTUB) GO TO 160 -C -C Tube, tube segment or cut tube. -C - IF(IAXIS.NE.3) GO TO 130 - STEP=-1.0 - PAR(3)=-1.0 - IF(PARM(3).LT.0.0) GO TO 230 - C0 =-PARM(3) - STEP=PARM(3)*2.0/NDIV - PAR(3)=STEP/2. - GO TO 230 -C - 130 CONTINUE - IF(IAXIS.NE.1) GO TO 140 - PAR(1)=-1. - PAR(2)=-1. - STEP=-1.0 - IF(PARM(1).LT.0.0) GO TO 230 - C0 =PARM(1) - IF(PARM(2).LT.0.0) GO TO 230 - STEP=(PARM(2)-PARM(1))/NDIV - GO TO 230 -C - 140 CONTINUE - IF(ISH.EQ.6) GO TO 150 - NW=NW+2 - ISH=6 - C0 =0.0 - STEP=360.0/NDIV - NPAR=5 - PAR(4)=-STEP/2. - PAR(5)=STEP/2. - GO TO 230 -C - 150 CONTINUE - DP=PAR(5)-PAR(4) - IF(DP.LT.0.0) DP=DP+360.0 - C0 =PAR(4) - STEP=DP/NDIV - PAR(4)=-STEP/2. - PAR(5)=STEP/2. - GO TO 230 -C - 160 CONTINUE -C - IF(ISH.NE.7.AND.ISH.NE.8) GO TO 190 - IF(IAXIS.EQ.1) GO TO 165 - IF(IAXIS.NE.3) GO TO 170 -C - STEP=-1.0 - PAR(1)=-1.0 - IF(PARM(1).LT.0.0) GO TO 165 - C0=-PARM(1) - STEP=PARM(1)*2.0/NDIV - PAR(1)=STEP*0.5 -C - 165 CONTINUE -C - PAR(2)=-1.0 - PAR(3)=-1.0 - PAR(4)=-1.0 - PAR(5)=-1.0 - GO TO 230 -C - 170 CONTINUE - IF(IAXIS.EQ.1) GO TO 230 -C - IF(ISH.EQ.8) GO TO 180 - NW=NW+2 - ISH=8 - C0 =0.0 - STEP=360.0/NDIV - NPAR=7 - PAR(6)=-STEP/2. - PAR(7)=STEP/2. - GO TO 230 -C - 180 CONTINUE - DP=PAR(7)-PAR(6) - IF(DP.LT.0.0) DP=DP+360.0 - C0 =PAR(6) - STEP=DP/NDIV - PAR(6)=-STEP/2. - PAR(7)=STEP/2. - GO TO 230 -C - 190 CONTINUE - IF(ISH.NE.9) GO TO 200 - IF(IAXIS.NE.1) GO TO 195 - PAR(1)=-1.0 - PAR(2)=-1.0 - C0 = PARM(1) - STEP = (PARM(2)-PARM(1))/NDIV - 195 CONTINUE - IF(IAXIS.NE.2) GO TO 196 - WRITE(CHMAIL,8102) - CALL GMAIL(0,0) - GOTO 99 -C - 196 CONTINUE - IF(IAXIS.NE.3) GO TO 230 - C0=PAR(5) - DP=PAR(6)-PAR(5) - IF(DP.LE.0.0) DP=DP+360.0 - STEP=DP/NDIV - PAR(3)=-1. - PAR(4)=-1. - PAR(5)=-0.5*STEP - PAR(6)=0.5*STEP - GO TO 230 -C - 200 CONTINUE -C - IF(ISH.NE.10) GO TO 210 -C -C Parallelipiped. -C - C0 =-PAR(IAXIS) - STEP=-2.0*C0/NDIV - PAR(IAXIS)=STEP/2. - GO TO 230 -C - 210 CONTINUE - IF(ISH.GT.12) GO TO 900 - IF(IAXIS.EQ.1) GO TO 230 - IF(IAXIS.EQ.2) GO TO 220 -C - IPNZ=4 - IF(ISH.EQ.12) IPNZ=3 - IF(PAR(IPNZ).NE.2) GO TO 910 -C - ZH=PAR(IPNZ+4) - ZL=PAR(IPNZ+1) - STEP=(ZH-ZL)/NDIV - C0=ZL - PAR(IPNZ+4)=STEP*0.5 - PAR(IPNZ+1)=-PAR(IPNZ+4) - PAR(IPNZ+2)=-1. - PAR(IPNZ+3)=-1. - PAR(IPNZ+5)=-1. - PAR(IPNZ+6)=-1. -C - GO TO 230 - 220 CONTINUE -C - NDV=NDIV - IF(ISH.EQ.11) NDV=PAR(3) - Q(JDIV+3)=NDV - C0=PAR(1) - STEP=PAR(2)/NDV - PAR(1)=-STEP*0.5 - PAR(2)=STEP - IF(ISH.EQ.11)PAR(3)=1. -C - 230 CONTINUE -C -C Now create the volume for division. -C - Q(JDIV+4)=C0 - Q(JDIV+5)=STEP - NVOLUM=NVOLUM+1 - NVOL =IQ(JVOLUM-2) - IF(NVOLUM.GT.NVOL)CALL MZPUSH(IXCONS,JVOLUM,50,50,'I') - CALL MZBOOK(IXCONS,JVO,JVOLUM,-NVOLUM,'VOL1',50,50,NW,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JVOLUM+NVOLUM)=NAME -C -C Copy parameters in data area. -C - JVOM=LQ(JVOLUM-IVOM) - CALL UCOPY(Q(JVOM+1),Q(JVO+1),NWM) - IF(NPAR.GT.0) CALL GSIPAR(JVO,0,NPAR,NATT,PAR,ATT) - Q(JVO+2)=ISH - Q(JVO+3)=0. - GO TO 99 -C - 900 CONTINUE -C -C Divide action not supported. -C - WRITE(CHMAIL,8000) - CALL GMAIL(0,0) - WRITE(CHMAIL,8001) ISH,IAXIS - CALL GMAIL(0,0) -C - GO TO 99 -C - 910 CONTINUE -C -C Trying to divide multi Z sector shape along Z. -C - WRITE(CHMAIL,8100) - CALL GMAIL(0,0) - WRITE(CHMAIL,8101) ISH,IAXIS,IPNZ,INT(PAR(IPNZ)) - CALL GMAIL(0,0) -C - GO TO 99 -C -C Not enough space. -C - 95 WRITE(CHMAIL,7000)NAME,MOTHER - CALL GMAIL(0,0) -C - 99 CONTINUE - 1000 FORMAT(' ***** GSDVN CALLED AND NO VOLUMES DEFINED *****') - 1100 FORMAT(' ***** GSDVN MOTHER VOLUME ',A4,' DOES NOT EXIST *****') - 2000 FORMAT(' ***** GSDVN VOLUME ',A4,' ALREADY EXISTS *****') - 3000 FORMAT(' ***** GSDVN ROTATION MATRIX',I5,' DOES NOT EXISTS *****') - 4000 FORMAT(' ***** GSDVN MOTHER ',A4,' ALREADY DIVIDED *****') - 5000 FORMAT(' ***** GSDVN BAD AXIS VALUE ',I5,' *****') - 6000 FORMAT(' ***** GSDVN BAD NUMBER OF DIVISIONS ',I5,' *****') - 7000 FORMAT(' ***** GSDVN NOT ENOUGH SPACE TO STORE DIVISIONS ', - + ' IN ',A4,' *****') - 8000 FORMAT(' DIVIDE ACTION REQUESTED NOT SUPPORTED AT PRESENT.') - 8001 FORMAT(' ISH =',I5,' IAXIS =',I5) - 8100 FORMAT(' ATTEMPT TO DIVIDE MULTI Z SECTOR SHAPE ALONG Z.') - 8101 FORMAT(' ISH =',I5,' IAXIS =',I5,' NZ (THE',I3,'TH PAR) IS',I5) - 8102 FORMAT(' DIVISION OF A SPHERE ALONG AXIS 2 NOT SUPPORTED') - END diff --git a/StarVMC/geant3/ggeom/gsdvn2.F b/StarVMC/geant3/ggeom/gsdvn2.F deleted file mode 100644 index c3b58c0fcc8..00000000000 --- a/StarVMC/geant3/ggeom/gsdvn2.F +++ /dev/null @@ -1,420 +0,0 @@ -* -* $Id: gsdvn2.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsdvn2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SDVN2(KNAME,MOTHER,NDIV,IAXIS,C0I,NUMED) -C. -C. ****************************************************************** -C. * * -C. * DIVIDES MOTHER INTO NDIV DIVISIONS CALLED NAME * -C. * ALONG AXIS IAXIS STARTING AT COORDINATE VALUE C0. * -C. * THE NEW VOLUME CREATED WILL BE MEDIUM NUMBER NUMED. * -C. * * -C. * JVO=POINTER TO MOTHER VOLUME * -C. * JDIV=LQ(JVO-1) * -C. * * -C. * Q(JDIV+1)=IAXIS * -C. * Q(JDIV+2)=VOLUME NUMBER * -C. * Q(JDIV+3)=NDIV * -C. * Q(JDIV+4)=C0 * -C. * Q(JDIV+5)=STEP SIZE IN COORDINATES. * -C. * * -C. * ==>Called by : , GSDVX * -C. * Authors F.Bruyant, A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcshno.inc" - CHARACTER*4 KNAME,MOTHER - DIMENSION PAR(100),ATT(20) - SAVE ATT - DATA ATT /1.,1.,1.,1.,1.,15*0./ -C. -C. ------------------------------------------------------------------ -C. -C CHECK IF VOLUME MASTER BANK EXISTS -C - CALL UCTOH(KNAME,NAME,4,4) - IF(JVOLUM.GT.0)GO TO 10 - WRITE(CHMAIL,1000) - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF MOTHER VOLUME EXISTS -C - 10 CALL GLOOK(MOTHER,IQ(JVOLUM+1),NVOLUM,IVO) - IF(IVO.GT.0)GO TO 20 - WRITE(CHMAIL,2000)MOTHER - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF NAME VOLUME EXISTS -C - 20 CALL GLOOK(KNAME,IQ(JVOLUM+1),NVOLUM,IN) - IF(IN.LE.0)GO TO 50 - WRITE(CHMAIL,2000)NAME - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF MOTHER IS NOT DIVIDED -C - 50 JVO=LQ(JVOLUM-IVO) - NIN=Q(JVO+3) - IF(NIN.EQ.0)GO TO 60 - WRITE(CHMAIL,4000)MOTHER - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK VALIDITY OF AXIS VALUE -C - 60 IF(IAXIS.GT.0.AND.IAXIS.LT.4)GO TO 70 - WRITE(CHMAIL,5000)IAXIS - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK VALIDITY OF NDIV -C - 70 IF(NDIV.GT.0)GO TO 80 - WRITE(CHMAIL,6000)NDIV - CALL GMAIL(0,0) - GO TO 99 -C -C CREATE BANK TO STORE DIVISION PARAMETERS -C - 80 CALL MZBOOK(IXCONS,JDIV,JVO,-1,'VODI',0,0,6,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JDIV-5)=IVO -C -C NOW STORE PARAMETERS INTO BANK AREA -C - 90 Q(JDIV+1)=IAXIS - Q(JDIV+2)=NVOLUM+1 - Q(JDIV+3)=NDIV - Q(JVO+3)=-1 - IVOM= IVO - NWM = IQ(JVO-1) - NW = NWM - CALL GFIPAR(JVO,0,0,NPAR,NATT,PAR,ATT) -C -C CHECK START AND FIND AND STORE STEP. -C - ISH=Q(JVO+2) - C0 = C0I - IF(ISH.NE.1) GO TO 100 -C -C BOX -C - IF(PAR(IAXIS).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(IAXIS)) GO TO 910 - STEP=(PAR(IAXIS)-C0)/NDIV - PAR(IAXIS)=STEP/2. - GO TO 210 -C - 100 CONTINUE - IF(ISH.NE.2) GO TO 110 -C -C TRAPEZOID WITH ONLY X THICKNESS VARYING WITH Z. -C - IF(IAXIS.EQ.1) GO TO 900 - IF(PAR(IAXIS+1).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(IAXIS+1)) GO TO 910 - STEP=(PAR(IAXIS+1)-C0)/NDIV - PAR(1)=-1. - PAR(2)=-1. - PAR(IAXIS+1)=STEP/2. - GO TO 210 -C - 110 CONTINUE - IF(ISH.NE.3) GO TO 120 -C -C TRAPEZOID WITH BOTH X AND Y THICKNESSES VARYING WITH -C Z -C - IF(IAXIS.NE.3) GO TO 900 - IF(PAR(5).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(5)) GO TO 910 - STEP=(PAR(5)-C0)/NDIV - PAR(1)=-1. - PAR(2)=-1. - PAR(3)=-1. - PAR(4)=-1. - PAR(5)=STEP/2. - GO TO 210 -C - 120 CONTINUE - IF(ISH.NE.4) GO TO 125 - IF(IAXIS.NE.3) GO TO 126 - IF(PAR(1).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(1)) GO TO 910 - STEP=(PAR(1)-C0)/NDIV - PAR(1)=STEP*0.5 - PAR(4)=-1.0 - PAR(5)=-1.0 - PAR(6)=-1.0 - PAR(8)=-1.0 - PAR(9)=-1.0 - PAR(10)=-1.0 - GO TO 210 -C - 126 IF(IAXIS.NE.2) GO TO 900 - IF(MOD(PAR(3),180.).EQ.0.) GO TO 127 - WRITE(CHMAIL,10100) -10100 FORMAT(' Division of TRAP ',A4, - + ' along Y only possible when PHI=0,180') - CALL GMAIL(0,0) - GOTO 99 - 127 IF(PAR(4).EQ.PAR(8)) GO TO 128 - WRITE(CHMAIL,10200) -10200 FORMAT(' Division of TRAP ',A4, - + ' along Y only possible when H1=H2') - CALL GMAIL(0,0) - GOTO 99 - 128 CONTINUE - IF(PAR(4).LE.0.) GO TO 920 - IF(ABS(C0).GT.PAR(4)) GO TO 910 - STEP = (PAR(4)-C0)/NDIV - PAR(4) = 0.5*STEP - PAR(5) = -1. - PAR(6) = -1. - PAR(8) = 0.5*STEP - PAR(9) = -1. - PAR(10) = -1. -C - GO TO 210 -C - 125 CONTINUE - IF(ISH.NE.5.AND.ISH.NE.6.AND.ISH.NE.NSCTUB) GO TO 160 -C -C Tube, tube segment or cut tube. -C - IF(IAXIS.NE.3) GO TO 130 - IF(PAR(3).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(3)) GO TO 910 - STEP=(PAR(3)-C0)/NDIV - PAR(3)=STEP/2. - GO TO 210 -C - 130 CONTINUE - IF(IAXIS.NE.1) GO TO 140 - IF(PAR(1).LE.0.0.OR.PAR(2).LE.0.0) GO TO 920 - IF(C0.LT.PAR(1).OR.C0.GT.PAR(2)) GO TO 910 - STEP=(PAR(2)-C0)/NDIV - PAR(1)=-1. - PAR(2)=-1. - GO TO 210 -C - 140 CONTINUE - IF(ISH.EQ.6) GO TO 150 - NW=NW+2 - ISH=6 - STEP=360.0/NDIV - NPAR=5 - PAR(4)=-STEP/2. - PAR(5)=STEP/2. - GO TO 210 -C - 150 CONTINUE - DP=PAR(5)-PAR(4) - DC0P = C0-PAR(4) - SG = SIGN(1.0,DC0P) - DC0P = MOD( ABS(DC0P), 360.0) - IF(SG.LE.0.0) DC0P = 360.0-DC0P - C0 = PAR(4)+DC0P - IF(C0-PAR(4).LT.0.0) C0=C0+360.0 - IF(C0-PAR(4).GT.DP) GO TO 910 - DP=PAR(5)-C0 - IF(DP.LT.0.0) DP=DP+360 - STEP=DP/NDIV - PAR(4)=-STEP/2. - PAR(5)=STEP/2. - GO TO 210 -C - 160 CONTINUE -C - IF(ISH.NE.7.AND.ISH.NE.8) GO TO 190 - IF(IAXIS.EQ.1) GO TO 165 - IF(IAXIS.NE.3) GO TO 170 -C - IF(PAR(1).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(1)) GO TO 910 - STEP=(PAR(1)-C0)/NDIV - PAR(1)=STEP*0.5 -C - 165 CONTINUE -C - PAR(2)=-1.0 - PAR(3)=-1.0 - PAR(4)=-1.0 - PAR(5)=-1.0 - GO TO 210 -C - 170 CONTINUE - IF(IAXIS.EQ.1) GO TO 210 -C - IF(ISH.EQ.8) GO TO 180 - NW=NW+2 - ISH=8 - STEP=360.0/NDIV - NPAR=7 - PAR(6)=-STEP/2. - PAR(7)=STEP/2. - GO TO 210 -C - 180 CONTINUE - DP=PAR(7)-PAR(6) - DC0P = C0-PAR(6) - SG = SIGN(1.0,DC0P) - DC0P = MOD( ABS(DC0P), 360.0) - IF(SG.LE.0.0) DC0P = 360.0-DC0P - C0 = PAR(6)+DC0P - IF(C0-PAR(6).LT.0.0) C0=C0+360.0 - IF(C0-PAR(6).GT.DP) GO TO 910 - DP=PAR(7)-C0 - IF(DP.LT.0.0) DP=DP+360.0 - STEP=DP/NDIV - PAR(6)=-STEP/2. - PAR(7)=STEP/2. - GO TO 210 -C - 190 CONTINUE - IF(ISH.NE.9) GO TO 200 - IF(IAXIS.NE.1) GO TO 195 - PAR(1)=-1.0 - PAR(2)=-1.0 - IF(C0.LT.PAR(1).OR.C0.GT.PAR(2)) THEN - GOTO 910 - ENDIF - STEP = (PAR(2)-C0)/NDIV - GOTO 210 - 195 CONTINUE - IF(IAXIS.NE.2) GO TO 196 - WRITE(CHMAIL,8102) - CALL GMAIL(0,0) - GOTO 99 -C - 196 CONTINUE - IF(IAXIS.NE.3) GO TO 210 - ANGMIN = MOD(PAR(5),360.) - IF(ANGMIN.LT.0.) ANGMIN=ANGMIN+360. - ANGMAX = MOD(PAR(6),360.) - IF(ANGMAX.LE.ANGMIN) ANGMAX=ANGMAX+360. - C0 = MOD(C0,360.) - IF(C0.LT.0.0) C0=C0+360.0 - IF(C0.GT.ANGMAX.OR.C0.LT.ANGMIN) GO TO 910 - STEP=(ANGMAX-C0)/NDIV - PAR(3)=-1. - PAR(4)=-1. - PAR(5)=-0.5*STEP - PAR(6)=0.5*STEP - GO TO 210 -C - 200 CONTINUE -C - GO TO 900 -C -C NOW CREATE THE VOLUME FOR DIVISION -C - 210 Q(JDIV+4)=C0 - Q(JDIV+5)=STEP - NVOLUM=NVOLUM+1 - NVOL =IQ(JVOLUM-2) - IF(NVOLUM.GT.NVOL)CALL MZPUSH(IXCONS,JVOLUM,50,50,'I') - CALL MZBOOK(IXCONS,JVO,JVOLUM,-NVOLUM,'VOL1',50,50,NW,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JVOLUM+NVOLUM)=NAME -C -C COPY PARAMETERS IN DATA AREA -C - JVOM=LQ(JVOLUM-IVOM) - CALL UCOPY(Q(JVOM+1),Q(JVO+1),NWM) - CALL GSIPAR(JVO,0,NPAR,NATT,PAR,ATT) - Q(JVO+2)=ISH - Q(JVO+3)=0. - Q(JVO+4)=NUMED - GO TO 99 -C - 900 CONTINUE -C -C DIVIDE ACTION NOT SUPPORTED. -C - WRITE(CHMAIL,8000) - CALL GMAIL(0,0) - WRITE(CHMAIL,8001) ISH,IAXIS - CALL GMAIL(0,0) -C - GO TO 99 -C - 910 CONTINUE -C -C C0 START OF DIVISION OUT OF OBJECT. -C - WRITE(CHMAIL,9000) C0 - CALL GMAIL(0,0) -C - GO TO 99 - 920 CONTINUE -C -C +VE DEFINITE PARAMETER IN DIMENSION OF C0 SET -VE OR 0. -C - WRITE(CHMAIL,9010) - CALL GMAIL(0,0) -C - GO TO 99 -C -C NOT ENOUGH SPACE -C - 95 WRITE(CHMAIL,7000)NAME,MOTHER - CALL GMAIL(0,0) -C - 99 CONTINUE - 1000 FORMAT(' ***** GSDVN2 CALLED AND NO VOLUMES DEFINED *****') - 2000 FORMAT(' ***** GSDVN2 VOLUME ',A4,' ALREADY EXISTS *****') - 3000 FORMAT(' ***** GSDVN2 ROTATION MATRIX',I5,' DOES NOT EXIST *****') - 4000 FORMAT(' ***** GSDVN2 MOTHER ',A4,' ALREADY DIVIDED *****') - 5000 FORMAT(' ***** GSDVN2 BAD AXIS VALUE ',I5,' *****') - 6000 FORMAT(' ***** GSDVN2 BAD NUMBER OF DIVISIONS ',I5,' *****') - 7000 FORMAT(' ***** GSDVN2 NOT ENOUGH SPACE TO STORE DIVISIONS ', - + ' IN ',A4,' *****') - 8000 FORMAT(' DIVIDE ACTION WITH C0 REQUESTED NOT SUPPORTED', - +' AT PRESENT.') - 8001 FORMAT(' ISH =',I5,' IAXIS =',I5) - 8102 FORMAT(' DIVISION OF A SPHERE ALONG AXIS 2 NOT SUPPORTED') - 9000 FORMAT(' ***** GSDVN2 C0',E15.5,' OUT OF OBJECT *****') - 9010 FORMAT(' ***** GSDVN2 C0 WITH -VE DIMENSION IN MOTHER *****') - END diff --git a/StarVMC/geant3/ggeom/gsdvs.F b/StarVMC/geant3/ggeom/gsdvs.F deleted file mode 100644 index 1bc1f5a0fd6..00000000000 --- a/StarVMC/geant3/ggeom/gsdvs.F +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gsdvs.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsdvs.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SDVS(CHNAME,CHMOTH,STEP,IAXIS,NUMED) -C. -C. ****************************************************************** -C. * * -C. * To be replaced in the future by GSDVT * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" - CHARACTER*4 CHNAME,CHMOTH - WRITE(CHMAIL, - +'('' *** GSDVS: Obsolete Routine -- Call GSDVT instead'')') - CALL GMAIL(1,0) - WRITE(CHMAIL, - +'('' This code will be removed from next version'')') - CALL GMAIL(0,1) - CALL G3SDVT(CHNAME,CHMOTH,STEP,IAXIS,NUMED,0) - END diff --git a/StarVMC/geant3/ggeom/gsdvs2.F b/StarVMC/geant3/ggeom/gsdvs2.F deleted file mode 100644 index 8f00badd9b8..00000000000 --- a/StarVMC/geant3/ggeom/gsdvs2.F +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gsdvs2.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsdvs2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SDVS2(CHNAME,CHMOTH,STEP,IAXIS,C0,NUMED) -C. -C. ****************************************************************** -C. * * -C. * To be replaced in the future by GSDVT2 * -C. * * -C. ****************************************************************** -#include "geant321/gcunit.inc" -C. - CHARACTER*4 CHNAME,CHMOTH - WRITE(CHMAIL, - +'('' *** GSDVS2: Obsolete Routine -- Call GSDVT2 instead'')') - CALL GMAIL(1,0) - WRITE(CHMAIL, - +'('' This code will be removed from next version'')') - CALL GMAIL(0,1) - CALL G3SDVT2(CHNAME,CHMOTH,STEP,IAXIS,C0,NUMED,0) - END diff --git a/StarVMC/geant3/ggeom/gsdvt.F b/StarVMC/geant3/ggeom/gsdvt.F deleted file mode 100644 index ffe2288e5f1..00000000000 --- a/StarVMC/geant3/ggeom/gsdvt.F +++ /dev/null @@ -1,430 +0,0 @@ -* -* $Id: gsdvt.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsdvt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SDVT (KNAME,MOTHER,STEP,IAXIS,NUMED,NDVMX) -C. -C. ****************************************************************** -C. * * -C. * Divides MOTHER into divisions called NAME along * -C. * axis IAXIS in steps of STEP. If not exactly divisible * -C. * will make as many as possible and will centre them * -C. * with respect to the mother. Divisions will have medium * -C. * number NUMED. If NUMED is 0, NUMED of MOTHER is taken. * -C. * NDVMX is the expected maximum number of divisions * -C. * (If 0, no protection tests are performed) * -C. * * -C. * JVO=Pointer to MOTHER volume * -C. * JDIV=LQ(JVO-1) * -C. * * -C. * Q(JDIV+1)=IAXIS * -C. * Q(JDIV+2)=Volume number. * -C. * Q(JDIV+3)=Number of divisions. * -C. * Q(JDIV+4)=Lowest coord of slices. * -C. * Q(JDIV+5)=STEP * -C. * * -C. * ==>Called by : , GSDVS * -C. * Authors F.Bruyant, M.Maire, A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcshno.inc" - CHARACTER*4 KNAME,MOTHER - DIMENSION PAR(100),ATT(20) - SAVE ATT - DATA ATT/1.,1.,1.,1.,1.,15*0./ -C. -C. ------------------------------------------------------------------ -C. -C Check if volume master bank exists. -C - CALL UCTOH(KNAME,NAME,4,4) - IF(JVOLUM.GT.0)GO TO 10 - WRITE(CHMAIL,1000) - CALL GMAIL(0,0) - GO TO 99 -C -C Check if MOTHER volume exists. -C - 10 CALL GLOOK(MOTHER,IQ(JVOLUM+1),NVOLUM,IVO) - IF(IVO.GT.0)GO TO 20 - WRITE(CHMAIL,2000)MOTHER - CALL GMAIL(0,0) - GO TO 99 -C -C Check if NAME volume exists. -C - 20 CALL GLOOK(KNAME,IQ(JVOLUM+1),NVOLUM,IN) - IF(IN.LE.0)GO TO 50 - WRITE(CHMAIL,2000)NAME - CALL GMAIL(0,0) - GO TO 99 -C -C Check if MOTHER is not divided. -C - 50 JVO=LQ(JVOLUM-IVO) - NIN=Q(JVO+3) - IF(NIN.EQ.0)GO TO 60 - WRITE(CHMAIL,4000)MOTHER - CALL GMAIL(0,0) - GO TO 99 -C -C Check validity of axis value. -C - 60 IF(IAXIS.GT.0.AND.IAXIS.LT.4)GO TO 70 - WRITE(CHMAIL,5000)IAXIS - CALL GMAIL(0,0) - GO TO 99 -C -C Check validity of STEP -C - 70 IF(STEP.GT.0.0) GO TO 80 - WRITE(CHMAIL,6000)STEP - CALL GMAIL(0,0) - GO TO 99 -C -C Create bank to store division parameters. -C - 80 CALL MZBOOK(IXCONS,JDIV,JVO,-1,'VODI',0,0,6,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JDIV-5)=IVO -C -C Now store parameters into bank area. -C - 90 Q(JDIV+1)=IAXIS - Q(JDIV+2)=NVOLUM+1 - Q(JVO+3)=-1 - IVOM= IVO - NWM = IQ(JVO-1) - NW = NWM - ISH = Q(JVO+2) -C -C Bit to allow division of objects defined -C by GSPOSP. -C - C0=0.0 - NDIV=0 - NPAR=Q(JVO+5) - NATT=Q(JVO+6) - CALL UCOPY(Q(JVO+NPAR+7),ATT,NATT) -C - IF(NPAR.LE.0) GO TO 210 -C - CALL GFIPAR(JVO,0,0,NPAR,NATT,PAR,ATT) -C -C Check STEP and find and store start and NDIV. -C - IF(ISH.NE.1) GO TO 100 -C -C Box. -C - IF(PAR(IAXIS).LT.0.0) GO TO 210 - NDIV=(PAR(IAXIS)*2.0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(IAXIS)=STEP/2.0 - C0=-STEP*NDIV/2.0 - GO TO 210 -C - 100 CONTINUE - IF(ISH.NE.2) GO TO 110 -C -C Trapezoid with only X thickness varying with Z. -C - IF(IAXIS.EQ.1) GO TO 900 - PAR(1)=-1. - PAR(2)=-1. - IF(PAR(IAXIS+1).LT.0.0) GO TO 210 - NDIV=(PAR(IAXIS+1)*2.0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(IAXIS+1)=STEP/2.0 - C0=-STEP*NDIV/2.0 - GO TO 210 -C - 110 CONTINUE - IF(ISH.NE.3) GO TO 120 -C -C Trapezoid with both X and Y thicknesses varying with -C Z. -C - IF(IAXIS.NE.3) GO TO 900 - PAR(1)=-1. - PAR(2)=-1. - PAR(3)=-1. - PAR(4)=-1. - IF(PAR(5).LT.0.0) GO TO 210 - NDIV=(PAR(5)*2.0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(5)=STEP/2.0 - C0=-STEP*NDIV/2.0 - GO TO 210 -C - 120 CONTINUE - IF(ISH.NE.4) GO TO 125 - IF(IAXIS.NE.3) GO TO 126 - PAR(4)=-1.0 - PAR(5)=-1.0 - PAR(6)=-1.0 - PAR(8)=-1.0 - PAR(9)=-1.0 - PAR(10)=-1.0 - IF(PAR(1).LT.0.0) GO TO 210 - NDIV=(PAR(1)*2.0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(1)=STEP*0.5 - C0=-STEP*NDIV*0.5 - GO TO 210 -C - 126 IF(IAXIS.NE.2) GO TO 900 - IF(MOD(PAR(3),180.).EQ.0.) GO TO 127 - WRITE(CHMAIL,10100) -10100 FORMAT(' Division of TRAP ',A4, - + ' along Y only possible when PHI=0,180') - CALL GMAIL(0,0) - GOTO 99 - 127 IF(PAR(4).EQ.PAR(8)) GO TO 128 - WRITE(CHMAIL,10200) -10200 FORMAT(' Division of TRAP ',A4, - + ' along Y only possible when H1=H2') - CALL GMAIL(0,0) - GOTO 99 - 128 CONTINUE - PAR(5) = -1. - PAR(6) = -1. - PAR(9) = -1. - PAR(10) = -1. - IF(PAR(4).LT.0.0) GO TO 210 - NDIV = (2.*PAR(4)+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(4) = 0.5*STEP - PAR(8) = 0.5*STEP - C0=-STEP*NDIV*0.5 - GO TO 210 -C - 125 CONTINUE - IF(ISH.NE.5.AND.ISH.NE.6.AND.ISH.NE.NSCTUB) GO TO 160 -C -C Tube, tube segment or cut tube. -C - IF(IAXIS.NE.3) GO TO 130 - IF(PAR(3).LT.0.0) GO TO 210 - NDIV=(PAR(3)*2.0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(3)=STEP/2.0 - C0=-STEP*NDIV/2.0 - GO TO 210 -C - 130 CONTINUE - IF(IAXIS.NE.1) GO TO 140 - PAR(1)=-1. - PAR(2)=-1. - IF(PAR(1).LT.0.0) GO TO 210 - IF(PAR(2).LT.0.0) GO TO 210 - NDIV=(PAR(2)-PAR(1)+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - C0=(PAR(2)+PAR(1)-STEP*NDIV)/2.0 - GO TO 210 -C - 140 CONTINUE - IF(ISH.EQ.6) GO TO 150 - NW=NW+2 - ISH=6 - NDIV=360.001/STEP - IF (NDIV.LE.0) GO TO 910 - C0=0.0 - NPAR=5 - PAR(4)=-STEP/2. - PAR(5)=STEP/2. - GO TO 210 -C - 150 CONTINUE - DP=PAR(5)-PAR(4) - IF(DP.LT.0.0) DP=DP+360.0 - NDIV=(DP+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - C0=PAR(4)+(DP-STEP*NDIV)/2.0 - PAR(4)=-STEP/2. - PAR(5)=STEP/2. - GO TO 210 -C - 160 CONTINUE -C - IF(ISH.NE.7.AND.ISH.NE.8) GO TO 190 - IF(IAXIS.EQ.1) GO TO 165 - IF(IAXIS.NE.3) GO TO 170 -C - IF(PAR(1).LT.0.0) GO TO 165 - NDIV=(PAR(1)*2.0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(1)=STEP/2.0 - C0=-STEP*NDIV/2.0 - PAR(1)=STEP*0.5 -C - 165 CONTINUE -C - PAR(2)=-1.0 - PAR(3)=-1.0 - PAR(4)=-1.0 - PAR(5)=-1.0 - GO TO 210 -C - 170 CONTINUE - IF(IAXIS.EQ.1) GO TO 210 -C - IF(ISH.EQ.8) GO TO 180 - NW=NW+2 - ISH=8 - C0 =0.0 - NDIV=360.001/STEP - IF (NDIV.LE.0) GO TO 910 - NPAR=7 - PAR(6)=-STEP/2. - PAR(7)=STEP/2. - GO TO 210 -C - 180 CONTINUE - DP=PAR(7)-PAR(6) - IF(DP.LT.0.0) DP=DP+360.0 - NDIV=(DP+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - C0=PAR(6)+(DP-STEP*NDIV)/2.0 - PAR(6)=-STEP/2. - PAR(7)=STEP/2. - GO TO 210 -C - 190 CONTINUE - IF(ISH.NE.9) GO TO 200 - IF(IAXIS.NE.1) GO TO 195 - PAR(1)=-1.0 - PAR(2)=-1.0 - 195 CONTINUE -C - IF(IAXIS.NE.3) GO TO 210 - DP=PAR(6)-PAR(5) - IF(DP.LT.0.0) DP=DP+360.0 - NDIV=(DP+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - C0=PAR(5)+(DP-STEP*NDIV)/2.0 - PAR(3)=-1. - PAR(4)=-1. - PAR(5)=-0.5*STEP - PAR(6)=0.5*STEP - GO TO 210 -C - 200 CONTINUE -C - IF(ISH.NE.10) GO TO 900 -C -C Parallelipiped. -C - C0 =-PAR(IAXIS) - NDIV=(-C0*2.0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - C0=-STEP*NDIV/2.0 - PAR(IAXIS)=STEP/2. -C - GO TO 210 -C -C -C Now create the volume for division. -C - 210 IF (NDVMX.NE.0) THEN - IF (NDIV.EQ.0) NDIV=-NDVMX - IF (NDIV.GT.NDVMX) THEN - WRITE (CHMAIL, 1210) - CALL GMAIL(0,0) - 1210 FORMAT (' ***** GSDVT MORE CELLS THAN EXPECTED MAXIMUM') - ENDIF - ENDIF - Q(JDIV+4)=C0 - Q(JDIV+5)=STEP - Q(JDIV+3)=NDIV - NVOLUM=NVOLUM+1 - NVOL =IQ(JVOLUM-2) - IF(NVOLUM.GT.NVOL)CALL MZPUSH(IXCONS,JVOLUM,50,50,'I') - CALL MZBOOK(IXCONS,JVO,JVOLUM,-NVOLUM,'VOL1',50,50,NW,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JVOLUM+NVOLUM)=NAME -C -C Copy parameters in data area. -C - JVOM=LQ(JVOLUM-IVOM) - CALL UCOPY(Q(JVOM+1),Q(JVO+1),NWM) - IF(NPAR.GT.0) CALL GSIPAR(JVO,0,NPAR,NATT,PAR,ATT) - Q(JVO+2)=ISH - Q(JVO+3)=0. - IF (NUMED.GT.0) Q(JVO+4)=NUMED - GO TO 99 -C - 900 CONTINUE -C -C Divide action not supported. -C - WRITE(CHMAIL,8000) - CALL GMAIL(0,0) - WRITE(CHMAIL,8001) ISH,IAXIS - CALL GMAIL(0,0) -C - GO TO 99 -C - 910 CONTINUE -C -C Step size too big. -C - WRITE(CHMAIL,9000) STEP - CALL GMAIL(0,0) -C -C Not enough space. -C - 95 WRITE(CHMAIL,7000)NAME,MOTHER - CALL GMAIL(0,0) -C - 99 CONTINUE - 1000 FORMAT(' ***** GSDVT CALLED AND NO VOLUMES DEFINED *****') - 2000 FORMAT(' ***** GSDVT VOLUME ',A4,' ALREADY EXISTS *****') - 3000 FORMAT(' ***** GSDVT ROTATION MATRIX',I5,' DOES NOT EXIST *****') - 4000 FORMAT(' ***** GSDVT MOTHER ',A4,' ALREADY DIVIDED *****') - 5000 FORMAT(' ***** GSDVT BAD AXIS VALUE ',I5,' *****') - 6000 FORMAT(' ***** GSDVT BAD STEP SIZE ',E15.5,' *****') - 7000 FORMAT(' ***** GSDVT NOT ENOUGH SPACE TO STORE DIVISIONS ', - + ' IN ',A4,' *****') - 8000 FORMAT(' DIVIDE ACTION BY STEP REQUESTED NOT SUPPORTED ', - +'AT PRESENT.') - 8001 FORMAT(' ISH =',I5,' IAXIS =',I5) - 9000 FORMAT(' ***** GSDVT STEP SIZE',E15.5,' TOO BIG *****') - END diff --git a/StarVMC/geant3/ggeom/gsdvt2.F b/StarVMC/geant3/ggeom/gsdvt2.F deleted file mode 100644 index ab0210a2f3a..00000000000 --- a/StarVMC/geant3/ggeom/gsdvt2.F +++ /dev/null @@ -1,441 +0,0 @@ -* -* $Id: gsdvt2.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsdvt2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 06/10/94 18.33.17 by S.Giani -*-- Author : - SUBROUTINE G3SDVT2(KNAME,MOTHER,STEP,IAXIS,C0,NUMED,NDVMX) -C. -C. ****************************************************************** -C. * * -C. * Divides MOTHER into divisions called NAME along * -C. * axis IAXIS starting at coordinate value C0 with step * -C. * size STEP. * -C. * The new volume created will have medium number NUMED. * -C. * If NUMED is 0, NUMED of mother is taken. * -C. * NDVMX is the expected maximum number of divisions * -C. * (If 0, no protection tests are performed) * -C. * * -C. * JVO=Pointer to MOTHER volume * -C. * JDIV=LQ(JVO-1) * -C. * * -C. * Q(JDIV+1)=IAXIS * -C. * Q(JDIV+2)=Volume number * -C. * Q(JDIV+3)=Number of divisions. * -C. * Q(JDIV+4)=C0 * -C. * Q(JDIV+5)=STEP * -C. * * -C. * ==>Called by : ,USER., GSDVS2, GSDVX * -C. * Authors F.Bruyant, M.Maire, A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcshno.inc" - CHARACTER*4 KNAME,MOTHER - DIMENSION PAR(100),ATT(20) - SAVE ATT - DATA ATT /1.,1.,1.,1.,1.,15*0./ -C. -C. ------------------------------------------------------------------ -C. -C CHECK IF VOLUME MASTER BANK EXISTS -C - CALL UCTOH(KNAME,NAME,4,4) - IF(JVOLUM.GT.0)GO TO 10 - WRITE(CHMAIL,1000) - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF MOTHER VOLUME EXISTS -C - 10 CALL GLOOK(MOTHER,IQ(JVOLUM+1),NVOLUM,IVO) - IF(IVO.GT.0)GO TO 20 - WRITE(CHMAIL,2000)MOTHER - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF NAME VOLUME EXISTS -C - 20 CALL GLOOK(KNAME,IQ(JVOLUM+1),NVOLUM,IN) - IF(IN.LE.0)GO TO 50 - WRITE(CHMAIL,2000)NAME - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF MOTHER IS NOT DIVIDED -C - 50 JVO=LQ(JVOLUM-IVO) - NIN=Q(JVO+3) - IF(NIN.EQ.0)GO TO 60 - WRITE(CHMAIL,4000)MOTHER - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK VALIDITY OF AXIS VALUE -C - 60 IF(IAXIS.GT.0.AND.IAXIS.LT.4)GO TO 70 - WRITE(CHMAIL,5000)IAXIS - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK VALIDITY OF STEP -C - 70 IF(STEP.GT.0.0)GO TO 80 - WRITE(CHMAIL,6000)STEP - CALL GMAIL(0,0) - GO TO 99 -C -C CREATE BANK TO STORE DIVISION PARAMETERS -C - 80 CALL MZBOOK(IXCONS,JDIV,JVO,-1,'VODI',0,0,6,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JDIV-5)=IVO -C -C NOW STORE PARAMETERS INTO BANK AREA -C - 90 Q(JDIV+1)=IAXIS - Q(JDIV+2)=NVOLUM+1 - Q(JVO+3)=-1 - IVOM= IVO - NWM = IQ(JVO-1) - NW = NWM - CALL GFIPAR(JVO,0,0,NPAR,NATT,PAR,ATT) -C -C CHECK START AND STEP AND FIND AND STORE NDIV. -C - ISH=Q(JVO+2) - IF(ISH.NE.1) GO TO 100 -C -C BOX -C - IF(PAR(IAXIS).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(IAXIS)) GO TO 910 - NDIV=(PAR(IAXIS)-C0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(IAXIS)=STEP/2. - GO TO 210 -C - 100 CONTINUE - IF(ISH.NE.2) GO TO 110 -C -C TRAPEZOID WITH ONLY X THICKNESS VARYING WITH Z. -C - IF(IAXIS.EQ.1) GO TO 900 - IF(PAR(IAXIS+1).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(IAXIS+1)) GO TO 910 - NDIV=(PAR(IAXIS+1)-C0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(1)=-1. - PAR(2)=-1. - PAR(IAXIS+1)=STEP/2. - GO TO 210 -C - 110 CONTINUE - IF(ISH.NE.3) GO TO 120 -C -C TRAPEZOID WITH BOTH X AND Y THICKNESSES VARYING WITH -C Z -C - IF(IAXIS.NE.3) GO TO 900 - IF(PAR(5).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(5)) GO TO 910 - NDIV=(PAR(5)-C0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(1)=-1. - PAR(2)=-1. - PAR(3)=-1. - PAR(4)=-1. - PAR(5)=STEP/2. - GO TO 210 -C - 120 CONTINUE - IF(ISH.NE.4) GO TO 125 - IF(IAXIS.NE.3) GO TO 126 - IF(PAR(1).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(1)) GO TO 910 - NDIV=(PAR(1)-C0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(1)=STEP*0.5 - PAR(4)=-1.0 - PAR(5)=-1.0 - PAR(6)=-1.0 - PAR(8)=-1.0 - PAR(9)=-1.0 - PAR(10)=-1.0 - GO TO 210 -C - 126 IF(IAXIS.NE.2) GO TO 900 - IF(MOD(PAR(3),180.).EQ.0.) GO TO 127 - WRITE(CHMAIL,10100) -10100 FORMAT(' Division of TRAP ',A4, - + ' along Y only possible when PHI=0,180') - CALL GMAIL(0,0) - GOTO 99 - 127 IF(PAR(4).EQ.PAR(8)) GO TO 128 - WRITE(CHMAIL,10200) -10200 FORMAT(' Division of TRAP ',A4, - + ' along Y only possible when H1=H2') - CALL GMAIL(0,0) - GOTO 99 - 128 CONTINUE - IF(PAR(4).LT.0.0) GO TO 920 - IF(ABS(C0).GE.PAR(4)) GO TO 910 - NDIV = (PAR(4)-C0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(4) = 0.5*STEP - PAR(5) = -1. - PAR(6) = -1. - PAR(8) = 0.5*STEP - PAR(9) = -1. - PAR(10) = -1. -C - GO TO 210 -C - 125 CONTINUE - IF(ISH.NE.5.AND.ISH.NE.6.AND.ISH.NE.NSCTUB) GO TO 160 -C -C Tube, tube segment or cut tube. -C - IF(IAXIS.NE.3) GO TO 130 - IF(PAR(3).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(3)) GO TO 910 - NDIV=(PAR(3)-C0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(3)=STEP/2. - GO TO 210 -C - 130 CONTINUE - IF(IAXIS.NE.1) GO TO 140 - IF(PAR(1).LE.0.0.OR.PAR(2).LE.0.0) GO TO 920 - IF(C0.LT.PAR(1)) GO TO 910 - NDIV=(PAR(2)-C0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(1)=-1. - PAR(2)=-1. - GO TO 210 -C - 140 CONTINUE - IF(ISH.EQ.6) GO TO 150 - NW=NW+2 - ISH=6 - NDIV=360.001/STEP - IF (NDIV.LE.0) GO TO 910 - NPAR=5 - PAR(4)=-STEP/2. - PAR(5)=STEP/2. - GO TO 210 -C - 150 CONTINUE - DP=PAR(5)-PAR(4) - DC0P = C0-PAR(4) - SG = SIGN(1.0,DC0P) - DC0P = MOD( ABS(DC0P), 360.0) - IF(SG.LE.0.0) DC0P = 360.0-DC0P - C0 = PAR(4)+DC0P - IF(C0-PAR(4).LT.0.0) C0=C0+360.0 - IF(C0-PAR(4).GT.DP) GO TO 910 - DP=PAR(5)-C0 - IF(DP.LT.0.0) DP=DP+360 - NDIV=(DP+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(4)=-STEP/2. - PAR(5)=STEP/2. - GO TO 210 -C - 160 CONTINUE -C - IF(ISH.NE.7.AND.ISH.NE.8) GO TO 190 - IF(IAXIS.EQ.1) GO TO 165 - IF(IAXIS.NE.3) GO TO 170 -C - IF(PAR(1).LE.0.0) GO TO 920 - IF(ABS(C0).GT.PAR(1)) GO TO 910 - NDIV=(PAR(1)-C0+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(1)=STEP*0.5 -C - 165 CONTINUE -C - PAR(2)=-1.0 - PAR(3)=-1.0 - PAR(4)=-1.0 - PAR(5)=-1.0 - GO TO 210 -C - 170 CONTINUE - IF(IAXIS.EQ.1) GO TO 210 -C - IF(ISH.EQ.8) GO TO 180 - NW=NW+2 - ISH=8 - NDIV=360.001/STEP - IF (NDIV.LE.0) GO TO 910 - NPAR=7 - PAR(6)=-STEP/2. - PAR(7)=STEP/2. - GO TO 210 -C - 180 CONTINUE - DP=PAR(7)-PAR(6) - DC0P = C0-PAR(6) - SG = SIGN(1.0,DC0P) - DC0P = MOD( ABS(DC0P), 360.0) - IF(SG.LE.0.0) DC0P = 360.0-DC0P - C0 = PAR(6)+DC0P - IF(C0-PAR(6).LT.0.0) C0=C0+360.0 - IF(C0-PAR(6).GT.DP) GO TO 910 - DP=PAR(7)-C0 - IF(DP.LT.0.0) DP=DP+360.0 - NDIV=(DP+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(6)=-STEP/2. - PAR(7)=STEP/2. - GO TO 210 -C - 190 CONTINUE - IF(ISH.NE.9) GO TO 200 - IF(IAXIS.NE.1) GO TO 195 - PAR(1)=-1.0 - PAR(2)=-1.0 - 195 CONTINUE -C - IF(IAXIS.NE.3) GO TO 210 - DP=PAR(6)-PAR(5) - DC0P = C0-PAR(4) - SG = SIGN(1.0,DC0P) - DC0P = MOD( ABS(DC0P), 360.0) - IF(SG.LE.0.0) DC0P = 360.0-DC0P - C0 = PAR(4)+DC0P - IF(C0.LT.PAR(5)) C0=C0+360.0 - IF(C0-PAR(5).GT.DP) GO TO 910 - DP=PAR(6)-C0 - IF(DP.LT.0.0) DP=DP+360 - NDIV=(DP+0.001)/STEP - IF (NDIV.LE.0) GO TO 910 - PAR(3)=-1. - PAR(4)=-1. - PAR(5)=-0.5*STEP - PAR(6)=0.5*STEP - GO TO 210 -C - 200 CONTINUE -C - GO TO 900 -C -C NOW CREATE THE VOLUME FOR DIVISION -C - 210 IF (NDVMX.GT.0) THEN - IF (NDIV.GT.NDVMX) THEN - WRITE (CHMAIL, 1210) NDIV,NDVMX - CALL GMAIL(0,0) - 1210 FORMAT (' GSDVT2 : NDIV gt NDVMX', 2I8,' truncated') - NDIV = NDVMX - ENDIF - ELSE IF (NDVMX.LT.0) THEN -* Case when called by GSDVX - IF (NDIV.GT.-NDVMX) NDIV = -NDVMX - ENDIF - Q(JDIV+4)=C0 - Q(JDIV+5)=STEP - Q(JDIV+3)=NDIV - NVOLUM=NVOLUM+1 - NVOL =IQ(JVOLUM-2) - IF(NVOLUM.GT.NVOL)CALL MZPUSH(IXCONS,JVOLUM,50,50,'I') - CALL MZBOOK(IXCONS,JVO,JVOLUM,-NVOLUM,'VOL1',50,50,NW,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JVOLUM+NVOLUM)=NAME -C -C COPY PARAMETERS IN DATA AREA -C - JVOM=LQ(JVOLUM-IVOM) - CALL UCOPY(Q(JVOM+1),Q(JVO+1),NWM) - CALL GSIPAR(JVO,0,NPAR,NATT,PAR,ATT) - Q(JVO+2)=ISH - Q(JVO+3)=0. - IF (NUMED.GT.0) Q(JVO+4)=NUMED - GO TO 99 -C - 900 CONTINUE -C -C DIVIDE ACTION NOT SUPPORTED. -C - WRITE(CHMAIL,8000) - CALL GMAIL(0,0) - WRITE(CHMAIL,8001) ISH,IAXIS - CALL GMAIL(0,0) -C - GO TO 99 -C - 910 CONTINUE -C -C C0 START OF DIVISION OUT OF OBJECT OR STEP SIZE TOO BIG. -C - WRITE(CHMAIL,9000) C0,STEP - CALL GMAIL(0,0) -C - GO TO 99 - 920 CONTINUE -C -C +VE DEFINITE PARAMETER IN DIMENSION OF C0 SET -VE OR 0. -C - WRITE(CHMAIL,9010) - CALL GMAIL(0,0) -C - GO TO 99 -C -C NOT ENOUGH SPACE -C - 95 WRITE(CHMAIL,7000)NAME,MOTHER - CALL GMAIL(0,0) -C - 99 CONTINUE - 1000 FORMAT(' ***** GSDVT2 CALLED AND NO VOLUMES DEFINED *****') - 2000 FORMAT(' ***** GSDVT2 VOLUME ',A4,' ALREADY EXISTS *****') - 3000 FORMAT(' ***** GSDVT2 ROTATION MATRIX',I5,' DOES NOT EXIST *****') - 4000 FORMAT(' ***** GSDVT2 MOTHER ',A4,' ALREADY DIVIDED *****') - 5000 FORMAT(' ***** GSDVT2 BAD AXIS VALUE ',I5,' *****') - 6000 FORMAT(' ***** GSDVT2 BAD STEP SIZE ',E15.5,' *****') - 7000 FORMAT(' ***** GSDVT2 NOT ENOUGH SPACE TO STORE DIVISIONS ', - + ' IN ',A4,' *****') - 8000 FORMAT(' DIVIDE ACTION WITH C0 REQUESTED NOT SUPPORTED', - +' AT PRESENT.') - 8001 FORMAT(' ISH =',I5,' IAXIS =',I5) - 9000 FORMAT(' ***** GSDVT2 C0',E15.5,' OUT OF OBJECT', - +' OR STEP',E15.5,' TOO BIG *****') - 9010 FORMAT(' ATTEMPT TO SPECIFY C0 WHEN APPROPRIATE DIMENSION', - +' OF THE MOTHER IS DEFINED -VE (TO BE SELECTED AT RUN TIME)') - END diff --git a/StarVMC/geant3/ggeom/gsdvx.F b/StarVMC/geant3/ggeom/gsdvx.F deleted file mode 100644 index 79988faf688..00000000000 --- a/StarVMC/geant3/ggeom/gsdvx.F +++ /dev/null @@ -1,70 +0,0 @@ -* -* $Id: gsdvx.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsdvx.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SDVX (NAME,MOTHER,NDIV,IAXIS,STEP,C0,NUMED - + ,NDVMX) -C. -C. ******************************************************* -C. * * -C. * DIVIDES MOTHER INTO 'NDIV' DIVISIONS OF SIZE 'STEP' * -C. * ALONG AXIS 'IAXIS' STARTING AT COORDINATE 'C0'. * -C. * NDIV OR STEP CAN BE SET NEGATIVE OR ZERO, IN WHICH * -C. * CASE THEY ARE RECOMPUTED FROM THE MOTHER'S SIZE. * -C. * * -C. * ==>Called by : 'USER' * -C. * Authors F.Bruyant, B.Stoer ******** * -C. * * -C. ******************************************************* -C. -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" - CHARACTER*4 NAME,MOTHER -C. ------------------------------------------------------- -* - IF (NDIV.GT.0) THEN - IF (STEP.GT.0.) THEN - CALL G3SDVT2 (NAME, MOTHER, STEP, IAXIS, C0, NUMED, -NDIV) - ELSE - CALL G3SDVN2 (NAME, MOTHER, NDIV, IAXIS, C0, NUMED) - ENDIF - ELSE - IF (STEP.GT.0.) THEN - CALL G3SDVT2 (NAME, MOTHER, STEP, IAXIS, C0, NUMED, NDVMX) - ELSE - WRITE (CHMAIL, 1001) - CALL GMAIL (0, 0) - IEORUN = 1 - ENDIF - ENDIF -* - 1001 FORMAT (' GSDVX : Call with NDIV and STEP .le. 0') - END diff --git a/StarVMC/geant3/ggeom/gsipar.F b/StarVMC/geant3/ggeom/gsipar.F deleted file mode 100644 index 59031677e58..00000000000 --- a/StarVMC/geant3/ggeom/gsipar.F +++ /dev/null @@ -1,92 +0,0 @@ -* -* $Id: gsipar.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsipar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GSIPAR(JVO,JIN,NPAR,NATT,PAR,ATT) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO SET INTERNAL PARAMETERS AND ATTRIBUTES. * -C. * * -C. * ==>Called by : GSDVN,GSDVN2,GSDVT,GSDVT2,GSVOLU * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - DIMENSION PAR(100),ATT(20) -C. -C. -------------------------------------------- -C. - IF(NPAR.LT.0.OR.NPAR.GT.100) GO TO 900 - IF(NATT.LE.0.OR.NATT.GT.20) GO TO 900 -C - IF(JVO.LE.0) GO TO 910 - IF(JIN.GT.0) GO TO 10 -C - Q(JVO+5)=NPAR - Q(JVO+6)=NATT - JPAR=JVO+7 - JATT=JVO+7+NPAR -C - GO TO 20 - 10 CONTINUE -C - JPAR=JIN+9 - Q(JPAR)=NPAR - Q(JVO+5)=0 - Q(JVO+6)=NATT - JPAR=JPAR+1 - JATT=JVO+7 -C - 20 CONTINUE -C - CALL UCOPY(PAR,Q(JPAR),NPAR) - CALL UCOPY(ATT,Q(JATT),NATT) -C - GO TO 999 - 900 CONTINUE -C - WRITE(CHMAIL,1000) NPAR,NATT - CALL GMAIL(0,0) - 1000 FORMAT(' **** ERROR IN GSIPAR - NPAR =',I12,' OR NATT =',I12, - +' OUT OF RANGE ****') -C - GO TO 999 - 910 CONTINUE -C - WRITE(CHMAIL,1010) JVO - CALL GMAIL(0,0) - 1010 FORMAT(' **** ERROR IN GSIPAR - JVO =',I12, - +' LE 0. ****') -C - 999 END diff --git a/StarVMC/geant3/ggeom/gsnear.F b/StarVMC/geant3/ggeom/gsnear.F deleted file mode 100644 index ff6eb093b14..00000000000 --- a/StarVMC/geant3/ggeom/gsnear.F +++ /dev/null @@ -1,111 +0,0 @@ -* -* $Id: gsnear.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsnear.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GSNEAR (CHMOTH,IN,NLIST,LIST) -C. -C. ****************************************************************** -C. * * -C. * Gives an ordered LIST of NLIST daughter volumes to search * -C. * for when leaving the INth daughter of the volume CHMOTH * -C. * (LIST(1) = 0 means back in mother at exit of INth content) * -C. * * -C. * If IN = -1, the mother is regarded to have no contents * -C. * contiguous to its boundaries (LIST and NLIST unused) * -C. * (Bit 4 set in CHMOTH volume bank for action in GGCLOS) * -C. * * -C. * Default facility : * -C. * If IN = 0, for each content in turn, GSNEAR builds a * -C. * LIST limited to 1 element LIST(1)=0 * -C. * * -C. * Called by : 'USER' * -C. * Author : F.Bruyant ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - CHARACTER*4 CHMOTH - DIMENSION LIST(*) -C. ------------------------------------------------------------------ -* - IVO = 0 - IF (JVOLUM.GT.0) CALL GLOOK (CHMOTH, IQ(JVOLUM+1), NVOLUM, IVO) - IF (IVO.EQ.0) THEN - WRITE (CHMAIL, 1001) - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* -* *** Check that volume CHMOTH has contents positioned by GSPOS or -* GSPOSP, and not ordered by User -* - JVO = LQ(JVOLUM-IVO) - ISEARC = Q(JVO+1) - NIN = Q(JVO+3) - IF (NIN.LE.0.OR.ISEARC.GT.0) THEN - WRITE (CHMAIL, 1002) - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* - IF (IN.GT.0) THEN -* -* *** Lift a JNEAR bank for current content -* - JIN = LQ(JVO-IN) - CALL MZBOOK (IXCONS, JNEAR,JIN,-1,'VONE', 0,0,NLIST+1, 2,0) - IQ(JNEAR-5) = 100*IVO +IN - IQ(JNEAR+1) = NLIST - DO 19 I = 1,NLIST - IQ(JNEAR+I+1) = LIST(I) - 19 CONTINUE -* - ELSE IF (IN.EQ.0) THEN -* -* *** Default option for all contents -* - DO 49 I = 1,NIN - JIN = LQ(JVO-I) - CALL MZBOOK (IXCONS, JNEAR,JIN,-1,'VONE',0,0,2, 2,0) - IQ(JNEAR-5) = 100*IVO+I - JVO = LQ(JVOLUM-IVO) - IQ(JNEAR+1) = 1 - 49 CONTINUE -* - ELSE -* - IQ(JVO) = IBSET(IQ(JVO),3) -* - ENDIF -* - 1001 FORMAT (' GSNEAR : Volume',A4,' does not exist *****') - 1002 FORMAT (' GSNEAR : Volume',A4,' not a candidate for GSNEAR *****') -* END GSNEAR - 999 END diff --git a/StarVMC/geant3/ggeom/gsnext.F b/StarVMC/geant3/ggeom/gsnext.F deleted file mode 100644 index 823edcb5255..00000000000 --- a/StarVMC/geant3/ggeom/gsnext.F +++ /dev/null @@ -1,136 +0,0 @@ -* -* $Id: gsnext.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsnext.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GSNEXT (MOTHER,IN,NLIST,LIST) -C. -C. ****************************************************************** -C. * * -C. * Gives an ordered LIST of NLIST daughter volumes to search * -C. * for when leaving the INth daughter of the volume MOTHER * -C. * * -C. * Default facility : * -C. * If IN = 0, for each content in turn, GSNEXT builds a * -C. * LIST limited to next (if any), previous (if any) and * -C. * current content * -C. * * -C. * Called by : 'USER' * -C. * Author : F.Bruyant ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - CHARACTER*4 MOTHER - DIMENSION LIST(*) -C. ------------------------------------------------------------------ -* - IVO = 0 - IF (JVOLUM.GT.0) CALL GLOOK (MOTHER, IQ(JVOLUM+1), NVOLUM, IVO) - IF (IVO.EQ.0) THEN - WRITE (CHMAIL, 1001) - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* -* *** Check that volume MOTHER has contents positioned by GSPOS or -* GSPOSP, and not ordered by User -* - JVO = LQ(JVOLUM-IVO) - ISEARC = Q(JVO+1) - NIN = Q(JVO+3) - IF (NIN.LE.0.OR.ISEARC.GT.0) THEN - WRITE (CHMAIL, 1002) - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* - IF (IN.GT.0) THEN -* -* *** Lift a JNEAR bank for current content -* - JIN = LQ(JVO-IN) - CALL MZBOOK (IXCONS, JNEAR,JIN,-1,'VONE', 0,0,NLIST+1, 2,0) - IQ(JNEAR-5) = 100*IVO +IN - NVOLST = 0 - DO 19 I = 1,NLIST - IF(LIST(I).GT.NIN.OR.LIST(I).LT.0) THEN - WRITE(CHMAIL,1003) IQ(JVOLUM+IVO),I,LIST(I),NIN - CALL GMAIL(0,0) - ELSE - DO 20 J=1, NVOLST - IF(IQ(JNEAR+1+J).EQ.LIST(I)) THEN - WRITE(CHMAIL,1004) IQ(JVOLUM+IVO), LIST(I) - CALL GMAIL(0,0) - GOTO 19 - ENDIF - 20 CONTINUE - NVOLST = NVOLST+1 - IQ(JNEAR+NVOLST+1) = LIST(I) - ENDIF - 19 CONTINUE - IQ(JNEAR+1) = NVOLST - IF(NVOLST.LT.NLIST) THEN - CALL MZPUSH (IXCONS, JNEAR, 0, NVOLST-NLIST, 'R') - ENDIF -* - ELSE IF (IN.EQ.0) THEN -* -* *** Default option for all contents -* - DO 49 I = 1,NIN - JIN = LQ(JVO-I) - IF (LQ(JIN-1).NE.0) GO TO 49 - N = 3 - IF (I.EQ.1.OR.I.EQ.NIN) N = 2 - CALL MZBOOK (IXCONS, JNEAR,JIN,-1,'VONE',0,0,N+1, 2,0) - IQ(JNEAR-5) = 100*IVO+I - JVO = LQ(JVOLUM-IVO) - IQ(JNEAR+1) = N - IQ(JNEAR+N+1) = I - IF (I.NE.1) GO TO 41 - IQ(JNEAR+N) = I +1 - GO TO 49 - 41 IF (I.NE.NIN) GO TO 42 - IQ(JNEAR+N) = I -1 - GO TO 49 - 42 IQ(JNEAR+N) = I +1 - IQ(JNEAR+N-1) = I -1 - 49 CONTINUE -* - ENDIF -* - 1001 FORMAT (' GSNEXT : Volume',A4,' does not exist *****') - 1002 FORMAT (' GSNEXT : Volume',A4,' not a candidate for GSNEXT *****') - 1003 FORMAT (' GSNEXT : Volume ',A4,': LIST(',I3,')=',I3, - + ' NIN=',I3,' value ignored') - 1004 FORMAT (' GSNEXT : Volume',A4,': repetition of content ', - + I3,' ignored') -* END GSNEXT - 999 END diff --git a/StarVMC/geant3/ggeom/gsngtr.F b/StarVMC/geant3/ggeom/gsngtr.F deleted file mode 100644 index da9a5ba77d5..00000000000 --- a/StarVMC/geant3/ggeom/gsngtr.F +++ /dev/null @@ -1,287 +0,0 @@ -* -* $Id: gsngtr.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsngtr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.2 1996/02/27 09:54:45 ravndal -* Double precision for some locals, thanks to G.Poulard -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GSNGTR(X,P,IACT,SNEXT,SNXT,SAFE,INSIDE) -C. -C. ****************************************************************** -C. * * -C. * * -C. * Routine to determine the shortest distance from the point * -C. * X(1-3) to the boundary of the shape of type GTRA defined * -C. * by the parameters P along the vector X(4-6). If INSIDE is * -C. * 1 then the point is inside the shape and the distance is * -C. * returned as SNEXT. If INSIDE is 0 then the point is * -C. * outside the shape and if the line hits the shape then * -C. * if the new distance is less than the * -C. * old value of SNEXT the new distance is returned as SNEXT. * -C. * * -C. * Called by : GNEXT, GTNEXT * -C. * A.C.McPherson 22nd April 1985. * -C. * * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gcunit.inc" -C -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION X0,Y0,DXDZ,DYDZ,A,B,C,DISC,X1,X2,X3,SN,CP,SMALL -#endif - PARAMETER (SMALL=1E-10) -C - DIMENSION X(6),P(30),SN(2,5),IOUT(5),X0(4),Y0(4),DXDZ(4),DYDZ(4) -C. -C. --------------------------------------------- -C. -C -C Compute Safety distance -C - DOUBLE PRECISION SL,SL1,SM,SM1 - IF(IACT.LT.3) CALL GSAGTR(X,P,SAFE,INSIDE) - SNXT=BIG - IF (IACT .EQ. 0) GO TO 999 - IF (IACT .EQ. 1) THEN - IF (SNEXT .LT. SAFE) GO TO 999 - ENDIF -C -C First compute the distance along the line to the -C boundaries. -C -C The distance to the planes defined by z=+/-P(1). -C - IF(X(6).EQ.0.0) THEN - SN(1,1)=BIG - SN(2,1)=BIG - GOTO 10 - ENDIF - SN(1,1)=(-P(1)-X(3))/X(6) - SN(2,1)=(P(1)-X(3))/X(6) - IF(X(6).GT.0.0) GO TO 10 - ST=SN(2,1) - SN(2,1)=SN(1,1) - SN(1,1)=ST - 10 CONTINUE -C -C The distance to the remaining four surfaces. -C - DO 20 I=1,4 - X0(I)=P(I*4+11) - Y0(I)=P(I*4+12) - DXDZ(I)=P(I*4+13) - DYDZ(I)=P(I*4+14) - 20 CONTINUE -C - DO 65 I=1,4 - J=I+1 - IF(J.EQ.5) J=1 -C - A=(X(4)-DXDZ(I)*X(6))*(DYDZ(J)-DYDZ(I))*X(6) - - +(X(5)-DYDZ(I)*X(6))*(DXDZ(J)-DXDZ(I))*X(6) -C - B=(X(4)-DXDZ(I)*X(6))*(Y0(J)-Y0(I)+(DYDZ(J)-DYDZ(I))*X(3)) + - +(X(1)-X0(I)-DXDZ(I)*X(3))*(DYDZ(J)-DYDZ(I))*X(6) - - +(X(5)-DYDZ(I)*X(6))*(X0(J)-X0(I)+(DXDZ(J)-DXDZ(I))*X(3)) - - +(X(2)-Y0(I)-DYDZ(I)*X(3))*(DXDZ(J)-DXDZ(I))*X(6) -C - C=(X(1)-X0(I)-DXDZ(I)*X(3))*(Y0(J)-Y0(I)+(DYDZ(J)-DYDZ(I))*X(3)) - + - (X(2)-Y0(I)-DYDZ(I)*X(3))*(X0(J)-X0(I)+(DXDZ(J)-DXDZ(I))*X(3)) -C - IOUT(I+1)=0 - IF(C.GT.0.0) IOUT(I+1)=1 -C -C The solutions are in the normal form: -C s = (-B+/-SQRT(B*B-4.0*A*C))*0.5/A -C - SN(1,I+1)=BIG - SN(2,I+1)=BIG - IF(ABS(A).GT.1.0E-10) GO TO 30 -C -C A = 0 only one solution. -C - IF(ABS(B).LT.1.0E-10) GO TO 60 -C - SN(1,I+1)=-C/B - GO TO 60 -C - 30 CONTINUE - IF(ABS(C).GT.1.0E-10) GO TO 40 - SN(1,I+1)=0.0 - SN(2,I+1)=0.0 - IF(ABS(B).LT.1.0E-10) GO TO 60 - SN(1,I+1)=-C/B - IF(C.EQ.0.0) SN(1,I+1)=SIGN(SMALL,B) - SN(2,I+1)=-B/A - GO TO 50 -C - 40 CONTINUE - DISC=B*B-A*C*4.0 - IF(DISC.LT.0.0) GO TO 60 - IF(DISC.GT.0.0) DISC=SQRT(DISC) - SN(1,I+1)=(-B-DISC)*0.5/A - SN(2,I+1)=(-B+DISC)*0.5/A -C - 50 CONTINUE - IF(SN(2,I+1).GT.SN(1,I+1)) GO TO 60 - ST=SN(2,I+1) - SN(2,I+1)=SN(1,I+1) - SN(1,I+1)=ST -C - 60 CONTINUE -C - DO 65 K=1,2 - IF(ABS(SN(K,I+1)).GT.1.0E+05.OR.ABS(SN(K,I+1)).LT.1.0E-05) - +GO TO 65 -C - X1=X(1)+SN(K,I+1)*X(4) - X2=X(2)+SN(K,I+1)*X(5) - X3=X(3)+SN(K,I+1)*X(6) - CP=(X1-X0(I)-DXDZ(I)*X3)*(Y0(J)-Y0(I)+(DYDZ(J)-DYDZ(I))*X3) - + - (X2-Y0(I)-DYDZ(I)*X3)*(X0(J)-X0(I)+(DXDZ(J)-DXDZ(I))*X3) - CP=CP/SQRT((X0(J)-X0(I)+(DXDZ(J)-DXDZ(I))*X3)**2+ - + (Y0(J)-Y0(I)+(DYDZ(J)-DYDZ(I))*X3)**2) -C - IF(ABS(CP).LT.0.0001) GO TO 65 - IF(ABS(CP/SN(K,I+1)).LT.1.0E-06) GO TO 65 - WRITE(CHMAIL,1020) I,K,SN(K,I+1) - CALL GMAIL(0,0) - WRITE(CHMAIL,1021) X - CALL GMAIL(0,0) - WRITE(CHMAIL,1022) X1,X2,X3,CP - CALL GMAIL(0,0) - WRITE(CHMAIL,1023) A,B,C,DISC - CALL GMAIL(0,0) - WRITE(CHMAIL,1024) INSIDE - CALL GMAIL(0,0) - WRITE(CHMAIL,1025) X0 - CALL GMAIL(0,0) - WRITE(CHMAIL,1026) Y0 - CALL GMAIL(0,0) - WRITE(CHMAIL,1027) DXDZ - CALL GMAIL(0,0) - WRITE(CHMAIL,1028) DYDZ - CALL GMAIL(0,0) - 1020 FORMAT('0 GSNGTR ERROR - I,K =',2I2,' SN =',E13.5) - 1021 FORMAT(' X =',6F15.6) - 1022 FORMAT(' X1,X2,X3 =',3F15.6,' CP =',E15.6) - 1023 FORMAT(' A =',E15.6,' B =',E15.6,' C =',E15.6,' DISC =',E15.6) - 1024 FORMAT(' INSIDE =',I3) - 1025 FORMAT(' X0 =',4E15.6) - 1026 FORMAT(' Y0 =',4E15.6) - 1027 FORMAT(' DXDZ =',4E15.6) - 1028 FORMAT(' DYDZ =',4E15.6) -C - 65 CONTINUE -C -C -C Have computed the two distances for the z planes and -C the four surfaces. Combine them accordingly as to -C whether the point is inside or outside the shape. -C - IF(INSIDE.EQ.0) GO TO 80 -C -C Point is inside shape. -C - DO 70 I=1,5 - DO 70 J=1,2 - IF(SN(J,I).GT.0.0.AND.SN(J,I).LT.SNXT) SNXT=SN(J,I) - 70 CONTINUE - GO TO 999 -C - 80 CONTINUE -C -C Point is outside shape. -C - IOUT(1)=0 - IF(ABS(X(3)).GT.P(1)) IOUT(1)=1 -C -C For each of five sets of SN and IOUT, IOUT(I) equal to 1 -C indicates that the point is outside the shape by the Ith -C test, SN(1,I) is the distance to the first change in the -C test and SN(2,I) is the distance to the second change. -C The remaining logic just attempts to find a distance when -C the line is inside by all five tests, bearing in mind that -C for some tests the line can start inside, leave and return -C inside. -C - SL=-1.0 - SM=BIG - SM1=BIG - DO 100 I=1,5 - IF(IOUT(I).EQ.0) GO TO 90 - IF(SN(2,I).LT.0.0) GO TO 999 - IF(SN(1,I).LT.0.0.AND.SN(2,I).GT.SL) SL=SN(2,I) - IF(SN(1,I).GT.SL) SL=SN(1,I) - IF(SN(1,I).GE.0.0.AND.SN(2,I).LT.SM) SM=SN(2,I) - GO TO 100 - 90 CONTINUE - IF(SN(1,I).LT.0.0.AND.SN(2,I).GE.0.0.AND.SN(2,I).LT.SM) SM=SN(2,I) - IF(SN(1,I).LT.0.0.OR.SN(1,I).GT.SM1) GO TO 100 - IF(SN(1,I).GE.SN(2,I)) GO TO 100 - SM1=SN(1,I) - SL1=SN(2,I) - 100 CONTINUE -C -C SL is the largest of the five distances to the first -C time the line is inside. SM is the smallest to the -C last time the point is inside. SM1 is the smallest -C distance to when the line is temporarily outside -C one of the tests. -C - IF(SM.LE.SL) GO TO 999 - IF(SM1.GT.SL) GO TO 130 -C - 110 CONTINUE -C -C In this loop SL is updated by the return after SM1 -C if SM1 is less than SL. -C - SL=SL1 - IF(SM.LE.SL) GO TO 999 - SM1=SM -C - DO 120 I=1,5 - IF(IOUT(I).EQ.1) GO TO 120 - IF(SN(2,I).LE.SL.OR.SN(1,I).GT.SM1) GO TO 120 - IF(SN(1,I).GE.SN(2,I)) GO TO 120 - SM1=SN(1,I) - SL1=SN(2,I) - 120 CONTINUE -C - IF(SM1.GT.SL) GO TO 130 -C - GO TO 110 - 130 CONTINUE -C - IF(SL.LT.SNXT) SNXT=SL -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gsord.F b/StarVMC/geant3/ggeom/gsord.F deleted file mode 100644 index 5d7e0bcc705..00000000000 --- a/StarVMC/geant3/ggeom/gsord.F +++ /dev/null @@ -1,91 +0,0 @@ -* -* $Id: gsord.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsord.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SORD (CHNAME, IAX) -C. -C. ***************************************************************** -C. * * -C. * Flags volume CHNAME whose contents will have to be ordered * -C. * along axis IAX, by setting the search flag to -IAX * -C. * IAX = 1 X axis * -C. * IAX = 2 Y axis * -C. * IAX = 3 Z axis * -C. * IAX = 4 Rxy (static ordering only -> GTMEDI) * -C. * IAX = 14 Rxy (also dynamic ordering -> GTNEXT) * -C. * IAX = 5 Rxyz (static ordering only -> GTMEDI) * -C. * IAX = 15 Rxyz (also dynamic ordering -> GTNEXT) * -C. * IAX = 6 PHI (PHI=0 => X axis) * -C. * IAX = 7 THETA (THETA=0 => Z axis) * -C. * * -C. * Called by : * -C. * Authors : R.Brun, F.Bruyant, A.McPherson ********* * -C. * * -C. ***************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" - CHARACTER*4 CHNAME -C. -C. ------------------------------------------------------------------ -* - IVO = 0 - IF (JVOLUM.GE.0) CALL GLOOK (CHNAME, IQ(JVOLUM+1), NVOLUM, IVO) - IF (IVO.EQ.0) THEN - WRITE (CHMAIL, 1001) CHNAME - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* - IF ((IAX.LE.0.OR.IAX.GT.7).AND.IAX.NE.14.AND.IAX.NE.15) THEN - WRITE (CHMAIL, 1002) CHNAME, IAX - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* - JVO = LQ(JVOLUM-IVO) - NIN = Q(JVO+3) - IF (NIN.LE.0.OR.NIN.GT.500) THEN - WRITE (CHMAIL,1003) CHNAME, NIN - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* -* *** Set search flag -* - Q(JVO+1) = -IAX -* - 1001 FORMAT (' GSORD : Volume ',A4,' does not exist *****') - 1002 FORMAT (' GSORD : Volume ',A4,', axis',I3,' not allowed *****') - 1003 FORMAT (' GSORD : Volume ',A4,' not accepted, NIN=',I5,' *****') -* END GSORD - 999 END diff --git a/StarVMC/geant3/ggeom/gspos.F b/StarVMC/geant3/ggeom/gspos.F deleted file mode 100644 index 09d8866588f..00000000000 --- a/StarVMC/geant3/ggeom/gspos.F +++ /dev/null @@ -1,163 +0,0 @@ -* -* $Id: gspos.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gspos.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SPOS(CHNAME,NR,CHMOTH,X,Y,Z,IROT,CHONLY) -C. -C. ****************************************************************** -C. * * -C. * PLACE A COPY OF VOLUME 'CHNAME' WITH USER NUMBER 'NUMBER' * -C. * INSIDE 'CHMOTH' * -C. * * -C. * JVO=POINTER TO CHMOTH VOLUME * -C. * JIN=POINTER TO THE COPY 'CHNAME','NUMBER' * -C. * JIN=LQ(JVO-IN) * -C. * * -C. * Q(JIN+1)=NENTRY * -C. * Q(JIN+2)=VOLUME NUMBER * -C. * Q(JIN+3)=USER NUMBER * -C. * Q(JIN+4)=IROT * -C. * Q(JIN+5)=X * -C. * Q(JIN+6)=Y * -C. * Q(JIN+7)=Z * -C. * Q(JIN+8)=ONLY * -C. * * -C. * ==>Called by : * -C. * Authors R.Brun, A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - COMMON / FIXIT / JIN, JVO - CHARACTER*4 CHNAME,CHMOTH,CHONLY -C. -C. ------------------------------------------------------------------ -C. -C CHECK IF VOLUME MASTER BANK EXISTS -C - IF(JVOLUM.GT.0)GO TO 10 - WRITE(CHMAIL,1000) - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF CHMOTH VOLUME EXISTS -C - 10 CALL GLOOK(CHMOTH,IQ(JVOLUM+1),NVOLUM,IVO) - IF(IVO.GT.0)GO TO 20 - WRITE(CHMAIL,2000)CHMOTH - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF CHNAME VOLUME EXISTS -C - 20 CALL GLOOK(CHNAME,IQ(JVOLUM+1),NVOLUM,IN) - IF(IN.GT.0)GO TO 30 - WRITE(CHMAIL,2000)CHNAME - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF ROTATION MATRIX EXISTS -C - 30 IF(IROT.LE.0)GO TO 50 - IF(JROTM.GT.0)GO TO 40 - WRITE(CHMAIL,3000)IROT - CALL GMAIL(0,0) - GO TO 99 - 40 IF(LQ(JROTM-IROT).GT.0)GO TO 50 - WRITE(CHMAIL,3000)IROT - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF MOTHER IS NOT DIVIDED -C - 50 JVO=LQ(JVOLUM-IVO) - ICOPY=1 - NIN=Q(JVO+3) - IF(NIN.GE.0)GO TO 60 - WRITE(CHMAIL,4000)CHMOTH - CALL GMAIL(0,0) - GO TO 99 -C -C CHECK IF ('NAME',NUMBER') EXISTS -C - 60 IF(NIN.EQ.0)GO TO 80 - DO 70 I=1,NIN - JIN=LQ(JVO-I) - IF(Q(JIN+2).NE.IN)GO TO 70 - IF(Q(JIN+3).NE.NR)GO TO 70 - WRITE(CHMAIL,5000)CHNAME,NR - CALL GMAIL(0,0) - GO TO 90 - 70 CONTINUE - ICOPY=NIN+1 -C -C CREATE BANK FOR THAT COPY -C - 80 NINL=IQ(JVO-2) - IF(ICOPY.GT.NINL)CALL MZPUSH(IXCONS,JVO,50,0,'I') - CALL MZBOOK(IXCONS,JIN,JVO,-ICOPY,'VOPO',1,1,8,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JIN-5)=100*IVO+ICOPY - Q(JVO+3)=Q(JVO+3)+1 -C -C NOW STORE PARAMETERS INTO BANK AREA -C - 90 Q(JIN+2)=IN - Q(JIN+3)=NR - Q(JIN+4)=IROT - Q(JIN+5)=X - Q(JIN+6)=Y - Q(JIN+7)=Z - IF(CHONLY.EQ.'ONLY')Q(JIN+8)=1. - GO TO 99 -C -C NOT ENOUGH SPACE -C - 95 WRITE(CHMAIL,6000)CHNAME,NR,CHMOTH - CALL GMAIL(0,0) -C - 1000 FORMAT(' ***** GSPOS called and no volumes defined') - 2000 FORMAT(' ***** GSPOS volume ',A4,' does not exist') - 3000 FORMAT(' ***** GSPOS rotation matrix',I5,' does not exist') - 4000 FORMAT(' ***** GSPOS mother ',A4,' already divided') - 5000 FORMAT(' ***** GSPOS copy ',A4,' number ',I5, - + ' already created in ',A4,' *****') - 6000 FORMAT(' ***** GSPOS not enough space to store copy ',A4, - + ' number ',I5,' in ',A4,' *****') - 99 END diff --git a/StarVMC/geant3/ggeom/gsposp.F b/StarVMC/geant3/ggeom/gsposp.F deleted file mode 100644 index 2cd1c0af997..00000000000 --- a/StarVMC/geant3/ggeom/gsposp.F +++ /dev/null @@ -1,199 +0,0 @@ -* -* $Id: gsposp.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsposp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SPOSP(NAME,NR,MOTHER,X,Y,Z,IROT,KONLY,UPAR,NP) -C. -C. ****************************************************************** -C. * * -C. * Place a copy of generic volume 'NAME' with user number * -C. * 'NR' inside 'MOTHER', with its parameters UPAR(1..NP) * -C. * * -C. * JVO=pointer to mother volume * -C. * JIN=pointer to the copy 'NAME','NR' * -C. * JIN=LQ(JVO-IN) * -C. * * -C. * Q(JIN+1)=NENTRY * -C. * Q(JIN+2)=VOLUME NUMBER * -C. * Q(JIN+3)=USER NUMBER * -C. * Q(JIN+4)=IROT * -C. * Q(JIN+5)=X * -C. * Q(JIN+6)=Y * -C. * Q(JIN+7)=Z * -C. * Q(JIN+8)=ONLY * -C. * Q(JIN+9)=NPAR * -C. * Q(JIN+10 ..)=PAR .. * -C. * * -C. * ==>Called by : * -C. * Authors R.Brun, F.Bruyant, A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" -#include "geant321/gconsp.inc" - COMMON / FIXIT / JIN, JVO - CHARACTER*4 NAME,MOTHER,KONLY - DIMENSION UPAR(*),PAR(100) -C. -C. ------------------------------------------------------------------ -C. -C Check if volume master bank exists -C - IF(JVOLUM.GT.0)GO TO 10 - WRITE(CHMAIL,1000) - CALL GMAIL(0,0) - GO TO 99 -C -C Check if mother volume exists -C - 10 CALL GLOOK(MOTHER,IQ(JVOLUM+1),NVOLUM,IVO) - IF(IVO.GT.0)GO TO 20 - WRITE(CHMAIL,2000)MOTHER - CALL GMAIL(0,0) - GO TO 99 -C -C Check if NAME volume exists -C - 20 CALL GLOOK(NAME,IQ(JVOLUM+1),NVOLUM,IN) - IF(IN.GT.0)GO TO 30 - WRITE(CHMAIL,2000)NAME - CALL GMAIL(0,0) - GO TO 99 -C -C Check if rotation matrix exists -C - 30 IF(IROT.LE.0)GO TO 50 - IF(JROTM.GT.0)GO TO 40 - WRITE(CHMAIL,3000)IROT - CALL GMAIL(0,0) - GO TO 99 - 40 IF(LQ(JROTM-IROT).GT.0)GO TO 50 - WRITE(CHMAIL,3000)IROT - CALL GMAIL(0,0) - GO TO 99 -C -C Check if mother is not divided -C - 50 JIN=LQ(JVOLUM-IN) - ISH=Q(JIN+2) - JVO=LQ(JVOLUM-IVO) - ICOPY=1 - NIN=Q(JVO+3) - IF(NIN.GE.0)GO TO 60 - WRITE(CHMAIL,4000)MOTHER - CALL GMAIL(0,0) - GO TO 99 -* -* *** Copy user parameters into local array PAR - 60 NPAR=NP - IF (ISH.EQ. 4) NPAR=35 - IF (ISH.EQ.28) NPAR=30 - CALL UCOPY(UPAR,PAR,NP) -* -* *** Check if ('NAME',NUMBER') exists - IF(NIN.EQ.0)GO TO 80 - DO 70 I=1,NIN - JIN=LQ(JVO-I) - IF(Q(JIN+2).NE.IN)GO TO 70 - IF(Q(JIN+3).NE.NR)GO TO 70 - WRITE(CHMAIL,5000)NAME,NR - CALL GMAIL(0,0) - GO TO 90 - 70 CONTINUE - ICOPY=NIN+1 -* -* *** Create bank for that copy - 80 NINL=IQ(JVO-2) - IF(ICOPY.GT.NINL)CALL MZPUSH(IXCONS,JVO,50,0,'I') - CALL MZBOOK(IXCONS,JIN,JVO,-ICOPY,'VOPP',1,1,NPAR+9,3,0) - IF(IEOTRI.NE.0)GO TO 95 - IQ(JIN-5)=100*IVO+ICOPY - Q(JVO+3)=Q(JVO+3)+1 -* -* *** Now store parameters into bank area - 90 Q(JIN+2)=IN - Q(JIN+3)=NR - Q(JIN+4)=IROT - Q(JIN+5)=X - Q(JIN+6)=Y - Q(JIN+7)=Z - IF(KONLY.EQ.'ONLY')Q(JIN+8)=1. - Q(JIN+9) = NPAR -* - IF (ISH.EQ.4) THEN -* Trapezoid - TTH= TAN(PAR(2)*DEGRAD) - PHI = PAR(3)*DEGRAD - PAR(2) = TTH*COS(PHI) - PAR(3) = TTH*SIN(PHI) - PAR(7) = TAN(PAR(7) *DEGRAD) - PAR(11)= TAN(PAR(11)*DEGRAD) - CALL GNOTR1 (PAR) - ELSE IF (ISH.EQ.10) THEN -* Parallelepiped. - PAR(4)=TAN(PAR(4)*DEGRAD) - TTH=TAN(PAR(5)*DEGRAD) - PH=PAR(6)*DEGRAD - PAR(5)=TTH*COS(PH) - PAR(6)=TTH*SIN(PH) - ELSE IF (ISH.EQ.28) THEN -* General twisted trapezoid. - CALL GTRAIN(UPAR,PAR) - ENDIF -* - CALL UCOPY(PAR,Q(JIN+10),NPAR) - GO TO 99 -* -* Not enough space - 95 WRITE(CHMAIL,6000)NAME,NR,MOTHER - CALL GMAIL(0,0) -C - 1000 FORMAT(' ***** GSPOSP CALLED AND NO VOLUMES DEFINED *****') - 2000 FORMAT(' ***** GSPOSP VOLUME ',A4,' DOES NOT EXISTS *****') - 3000 FORMAT(' ***** GSPOSP ROTATION MATRIX',I5,' DOES NOT EXIST *****') - 4000 FORMAT(' ***** GSPOSP MOTHER ',A4,' ALREADY DIVIDED *****') - 5000 FORMAT(' ***** GSPOSP COPY ',A4,' NUMBER ',I5, - + ' ALREADY CREATED IN ',A4,' *****') - 6000 FORMAT(' ***** GSPOSP NOT ENOUGH SPACE TO STORE COPY ',A4, - + ' NUMBER ',I5,' IN ',A4,' *****') - 99 RETURN - END diff --git a/StarVMC/geant3/ggeom/gsrotm.F b/StarVMC/geant3/ggeom/gsrotm.F deleted file mode 100644 index 0f4d3416248..00000000000 --- a/StarVMC/geant3/ggeom/gsrotm.F +++ /dev/null @@ -1,223 +0,0 @@ -* -* $Id: gsrotm.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsrotm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 02/07/94 18.24.47 by S.Giani -*-- Author : - SUBROUTINE G3SROTM(NMAT,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3) -C. -C. ****************************************************************** -C. * * -C. * STORE ROTATION MATRICES * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcnum.inc" - COMMON / FIXIT / JR - DIMENSION ANGLES(6),IP(3) - SAVE SINMIN -#if defined(CERNLIB_SINGLE) - DIMENSION ROTMAT(9) - PARAMETER (ONE=1.0,ZERO=0.0) - DATA SINMIN/1.00E-5/ -#endif -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION ROTMAT(9),ONE,ZERO - DOUBLE PRECISION PROD1,PROD2,PROD3,HMOD,SINMIN - PARAMETER (ONE=1.D0,ZERO=0.D0) - DATA SINMIN/1.00D-5/ -#endif -C. -C. ------------------------------------------------------------------ -C. - IF(NMAT.LE.0)GO TO 999 - IF(JROTM.LE.0)CALL MZBOOK(IXCONS,JROTM,JROTM,1,'ROTM',NROTM,NROTM, - +0,3,0) - IF(NMAT.GT.IQ(JROTM-2)) THEN - NPUSH=NMAT-IQ(JROTM-2)+50 - CALL MZPUSH(IXCONS,JROTM,NPUSH,0,'I') - NROTM=IQ(JROTM-2) - JR1=0 - ELSE - JR1=LQ(JROTM-NMAT) - IF(JR1.GT.0)THEN - WRITE(CHMAIL,1000) - CALL GMAIL(1,0) - CALL G3PROTM(NMAT) - CALL MZDROP(IXCONS,LQ(JROTM-NMAT),' ') - ENDIF - ENDIF - CALL MZBOOK(IXCONS,JR,JROTM,-NMAT,'ROTM',0,0,16,3,0) -C - Q(JR + 11) = THETA1 - Q(JR + 12) = PHI1 - Q(JR + 13) = THETA2 - Q(JR + 14) = PHI2 - Q(JR + 15) = THETA3 - Q(JR + 16) = PHI3 -C - DO 10 N = 1,3 - THERAD = Q(JR+ 9+2*N)*DEGRAD - PHIRAD = Q(JR+10+2*N)*DEGRAD - SINTHE = SIN(THERAD) - Q(JR+3*N-2) = SINTHE * COS(PHIRAD) - Q(JR+3*N-1) = SINTHE * SIN(PHIRAD) - Q(JR+3*N ) = COS(THERAD) - CALL VUNIT (Q(JR+3*N-2),Q(JR+3*N-2),3) - 10 CONTINUE -C. -C.--- Test orthonormality - DO 20 J=1,9 - ROTMAT(J)=Q(JR+J) - 20 CONTINUE - PROD2=ZERO -C. -C. X - Y - PROD1= - +ROTMAT(1)*ROTMAT(4)+ROTMAT(2)*ROTMAT(5)+ROTMAT(3)*ROTMAT(6) - IF(ABS(PROD1).GT.SINMIN) GO TO 30 -C. -C. X - Z - PROD2= - +ROTMAT(1)*ROTMAT(7)+ROTMAT(2)*ROTMAT(8)+ROTMAT(3)*ROTMAT(9) - IF(ABS(PROD2).GT.SINMIN) GO TO 30 -C. -C. Y - Z - PROD3= - +ROTMAT(7)*ROTMAT(4)+ROTMAT(8)*ROTMAT(5)+ROTMAT(9)*ROTMAT(6) - IF(ABS(PROD3).LE.SINMIN) GO TO 110 - 30 CONTINUE -C. -C.--- Orthonormalization needed -C. -C. Assume X correct - HMOD=ZERO - DO 40 J=4,6 - ROTMAT(J)=ROTMAT(J)-ROTMAT(J-3)*PROD1 - HMOD=HMOD+ROTMAT(J)*ROTMAT(J) - 40 CONTINUE - HMOD=ONE/SQRT(HMOD) - DO 50 J=4,6 - ROTMAT(J)=ROTMAT(J)*HMOD - 50 CONTINUE -C. -C. Y done, do Z -C. -* IF(PROD2.EQ.ZERO) THEN -* PROD2= -* + ROTMAT(1)*ROTMAT(7)+ROTMAT(2)*ROTMAT(8)+ROTMAT(3)*ROTMAT(9) -* ENDIF -* PROD3= -* +ROTMAT(4)*ROTMAT(7)+ROTMAT(5)*ROTMAT(8)+ROTMAT(6)*ROTMAT(9) -* HMOD = ZERO -* DO 60 J=1,3 -* ROTMAT(J+6)=ROTMAT(J+6)-ROTMAT(J+3)*PROD3-ROTMAT(J)*PROD2 -* HMOD = HMOD+ROTMAT(J)*ROTMAT(J) -* 60 CONTINUE -* == AV == - ROTMAT(7) = ROTMAT(2)*ROTMAT(6) - ROTMAT(3)*ROTMAT(5) - ROTMAT(8) = ROTMAT(3)*ROTMAT(4) - ROTMAT(1)*ROTMAT(6) - ROTMAT(9) = ROTMAT(1)*ROTMAT(5) - ROTMAT(2)*ROTMAT(4) - HMOD = ZERO + ROTMAT(7)*ROTMAT(7) + ROTMAT(8)*ROTMAT(8) - & + ROTMAT(9)*ROTMAT(9) -* == AV == - HMOD = ONE/SQRT(HMOD) - DO 70 J=7,9 - ROTMAT(J) = ROTMAT(J)*HMOD - 70 CONTINUE -C. -C. Put back the matrix in place - DO 80 J=1,9 - Q(JR+J)=ROTMAT(J) - 80 CONTINUE -C. -C. Now recompute the angles - DO 90 J=1,3 - ANGLES(J*2-1) = ACOS(MAX(-ONE,MIN(ONE,ROTMAT(J*3))))*RADDEG - ANGLES(J*2) = ZERO - IF(ROTMAT(J*3-1).NE.ZERO) THEN - ANGLES(J*2) = ATAN2(ROTMAT(J*3-1),ROTMAT(J*3-2))*RADDEG - IF(ANGLES(2*J).LT.0.0) ANGLES(2*J) = ANGLES(2*J)+360.0 - ENDIF - 90 CONTINUE - WRITE(CHMAIL,2000) NMAT - CALL GMAIL(1,2) - WRITE(CHMAIL,2001) (Q(JR+10+J),J=1,6) - CALL GMAIL(0,0) - WRITE(CHMAIL,2002) ANGLES - CALL GMAIL(0,1) -C. -C. Put back the angles in place - DO 100 J=1,6 - Q(JR+10+J) = ANGLES(J) - 100 CONTINUE -C. -C.--- Orthonormalization ended - 110 CONTINUE -C - DO 130 J = 1,3 - IP(J) = 3 - JJR=JR+J*3-3 -C - DO 120 I = 1,3 - IF(ABS(Q(JJR+I)).LT.0.99999) GO TO 120 -C - IP(J) = I + 3 - IF(Q(JJR+I).GE.0.) GO TO 130 -C - IP(J) = 3 - I - GO TO 130 -C - 120 CONTINUE - 130 CONTINUE -C - Q(JR + 10) = IP(1) + 10* IP(2) + 100* IP(3) -C - IF(JR1.GT.0) THEN - CALL G3PROTM(-NMAT) - ENDIF -C -1000 FORMAT(' *** GSROTM ***: Warning, rotation matrix redefinition:') -2000 FORMAT(' *** GSROTM ***: ', - + 'Parameters of matrix no. ',I4,' changed:') -2001 FORMAT(' Old values: ',6(F14.7,3X)) -2002 FORMAT(' New values: ',6(F14.7,3X)) - 999 RETURN - END diff --git a/StarVMC/geant3/ggeom/gsunea.F b/StarVMC/geant3/ggeom/gsunea.F deleted file mode 100644 index a89cf59e057..00000000000 --- a/StarVMC/geant3/ggeom/gsunea.F +++ /dev/null @@ -1,79 +0,0 @@ -* -* $Id: gsunea.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsunea.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GSUNEA(CHNAME,ISEARC) -C. -C. ***************************************************************** -C. * * -C. * ROUTINE TO SPECIFY USER ORDERING FOR THE CONTENTS * -C. * OF A GIVEN VOLUME, BY SETTING THE SEARCH FLAG >0 * -C. * * -C. * ==>Called by : USER * -C. * Author R.Brun, F.Bruyant ********* * -C. * * -C. ***************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - CHARACTER*4 CHNAME -C. -C. ----------------------------------------- -C. -C Check JVOLUM -* - IF(JVOLUM.LE.0) THEN - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) -* - ELSE -* -* find volume CHNAME. - CALL GLOOK(CHNAME,IQ(JVOLUM+1),NVOLUM,IVO) - IF(IVO.LE.0) THEN - WRITE(CHMAIL,10100) CHNAME - CALL GMAIL(0,0) -* - ELSE -* -* Set new value of ISEARC. - IF (ISEARC.LE.0) THEN - WRITE (CHMAIL, 10200) ISEARC - CALL GMAIL (0, 0) - ELSE - JVO=LQ(JVOLUM-IVO) - Q(JVO+1)=ISEARC - ENDIF - ENDIF - ENDIF -* -10000 FORMAT(' ***** GSUNEA - No volumes defined') -10100 FORMAT(' ***** GSUNEA - Volume ',A4,' does not exist') -10200 FORMAT(' ***** GSUNEA - ISEARC = ',I10,' should be positive') - END diff --git a/StarVMC/geant3/ggeom/gsvolu.F b/StarVMC/geant3/ggeom/gsvolu.F deleted file mode 100644 index d0282dd6701..00000000000 --- a/StarVMC/geant3/ggeom/gsvolu.F +++ /dev/null @@ -1,162 +0,0 @@ -* -* $Id: gsvolu.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gsvolu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.3 2001/04/06 11:25:49 fca -* Stopping GEANT for duplicated volumes -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE G3SVOLU(KNAME,JSHAPE,NMED,UPAR,NP,IVOLU) -C. -C. ****************************************************************** -C. * * -C. * CREATES A NEW VOLUME * -C. * * -C. * JVO=LQ(JVOLUM-IVOLU) * -C. * * -C. * Q(JVO+1)=ISEARC (SET TO 0 BY DEFAULT) * -C. * Q(JVO+2)=ISHAPE * -C. * Q(JVO+3)=NIN * -C. * Q(JVO+4)=NMED * -C. * Q(JVO+5)=NPAR * -C. * Q(JVO+6)=NATT * -C. * Q(JVO+7)=PAR..... * -C. * Q(JVO+7+NPAR)=ATT..... * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcunit.inc" - COMMON / FIXIT / JVO - CHARACTER*4 KNAME,JSHAPE - DIMENSION UPAR(100),PAR(100),ATT(20) - SAVE ATT,NATT - DATA ATT/1.,1.,1.,1.,1.,15*0./ - DATA NATT/10/ -C. -C. ------------------------------------------------------------------ -C. -C -C Copy user parameters into local array PAR -C - NPAR=NP - IF (NP.GT.0) THEN - IF(JSHAPE.EQ.'TRAP') NPAR=35 - IF(JSHAPE.EQ.'GTRA') NPAR=30 - CALL UCOPY(UPAR,PAR,NP) - ENDIF -C - IVOLU=0 -C -C CHECK SHAPE VALIDITY -C - CALL GSCHK ( KNAME, JSHAPE, NPAR, ISHAPE ) -C - IF(ISHAPE.LE.0)GO TO 99 - IF(JVOLUM.GT.0)GO TO 10 -C -C CREATE THE MOTHER MEDIA BANK -C - CALL MZBOOK(IXCONS,JVOLUM,JVOLUM,1,'VOLU',400,400,400,5,0) - IVO=1 - NVOLUM=1 - GO TO 30 -C -C CHECK IF SUCH A VOLUME ALREADY DEFINED -C - 10 NVOL=IQ(JVOLUM-2) - CALL GLOOK(KNAME,IQ(JVOLUM+1),NVOLUM,IVO) - IF(IVO.LE.0)GO TO 20 - IF(LQ(JVOLUM-IVO).GT.0) THEN - WRITE(CHMAIL,10010) KNAME, IVO -10010 FORMAT(' **** GSVOLU: Redefinition of volume ', - + A4,' IVO = ',I6) - CALL GMAIL(0,0) - CALL MZDROP(IXCONS,LQ(JVOLUM-IVO),' ') - STOP - ENDIF - GO TO 30 -C - 20 NVOLUM=NVOLUM+1 - IF(NVOLUM.GT.NVOL)CALL MZPUSH(IXCONS,JVOLUM,50,50,'I') - IVO=NVOLUM -C -C NOW CREATE THE VOLUME BANK -C - 30 CALL MZBOOK(IXCONS,JVO,JVOLUM,-IVO,'VOL1',50,50,9+NPAR+NATT,3,0) - CALL UCTOH(KNAME,IQ(JVOLUM+IVO),4,4) -C -C COPY PARAMETERS IN DATA AREA -C - IVOLU=IVO - Q(JVO+2)=ISHAPE - Q(JVO+4)=NMED - IF(NPAR.LE.0)GO TO 99 -* - IF (ISHAPE.EQ.4) THEN -* Trapezoid - TTH= TAN(PAR(2)*DEGRAD) - PHI = PAR(3)*DEGRAD - PAR(2) = TTH*COS(PHI) - PAR(3) = TTH*SIN(PHI) - PAR(7) = TAN(PAR(7) *DEGRAD) - PAR(11)= TAN(PAR(11)*DEGRAD) - CALL GNOTR1 (PAR) - ELSE IF (ISHAPE.EQ.10) THEN -* Parallelepiped change angles to tangents. - PAR(4)=TAN(PAR(4)*DEGRAD) - TTH=TAN(PAR(5)*DEGRAD) - PH=PAR(6)*DEGRAD - PAR(5)=TTH*COS(PH) - PAR(6)=TTH*SIN(PH) - ELSE IF (ISHAPE.EQ.28) THEN -* General twisted trapezoid. - CALL GTRAIN(UPAR,PAR) - ENDIF -* - 99 CONTINUE -* - CALL GSIPAR(JVO,0,NPAR,NATT,PAR,ATT) -* - END diff --git a/StarVMC/geant3/ggeom/gtrain.F b/StarVMC/geant3/ggeom/gtrain.F deleted file mode 100644 index 8da64335cf8..00000000000 --- a/StarVMC/geant3/ggeom/gtrain.F +++ /dev/null @@ -1,126 +0,0 @@ -* -* $Id: gtrain.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gtrain.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GTRAIN(PARU,P) -C. -C. ****************************************************************** -C. * * -C. * * -C. * SUBROUTINE GTRAIN(PARU,P) * -C. * Routine to convert from user supplied parameters PARU to * -C. * internal parameters P for the twisted trapezoidal shape * -C. * GTRA. * -C. * Called by : GSPOSP, GSVOLU * -C. * A.C.McPherson 22nd April 1985. * -C. * * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION PARU(12),P(30),CORN(3,8) -C. -C. ------------------------------------- -C. -C First copy the 12 user parameters into the internal -C parameter array. -C - DO 10 I=1,12 - P(I)=PARU(I) - 10 CONTINUE -C -C Now some trignometrical quantities including the first -C two extra parameters. -C - P(13) = TAN(P(2)*DEGRAD)*COS(P(3)*DEGRAD) - P(14) = TAN(P(2)*DEGRAD)*SIN(P(3)*DEGRAD) - STWIS = SIN(P(4)*DEGRAD) - CTWIS = COS(P(4)*DEGRAD) - DXDY1 = TAN(P(8)*DEGRAD) - DXDY2 = TAN(P(12)*DEGRAD) -C -C Next the edges outside the constant z faces (derived -C from the eight corner points). -C - P(15) = (CTWIS*(P(5)*DXDY1+P(7)+P(9)*DXDY2+P(11)) + - +STWIS*(P(5)-P(9)))*0.5 - P(16) = (CTWIS*(P(5)+P(9)) - - +STWIS*(P(5)*DXDY1+P(7)-P(9)*DXDY2-P(11)))*0.5 - P(17) = P(13) - (CTWIS*(P(5)*DXDY1+P(7)-P(9)*DXDY2-P(11)) + - +STWIS*(P(5)+P(9)))*0.5/P(1) - P(18) = P(14) - (CTWIS*(P(5)-P(9)) - - +STWIS*(P(5)*DXDY1+P(7)+P(9)*DXDY2+P(11)))*0.5/P(1) -C - P(19) = (CTWIS*(P(5)*DXDY1-P(7)+P(9)*DXDY2-P(11)) + - +STWIS*(P(5)-P(9)))*0.5 - P(20) = (CTWIS*(P(5)+P(9)) - - +STWIS*(P(5)*DXDY1-P(7)-P(9)*DXDY2+P(11)))*0.5 - P(21) = P(13) - (CTWIS*(P(5)*DXDY1-P(7)-P(9)*DXDY2+P(11)) + - +STWIS*(P(5)+P(9)))*0.5/P(1) - P(22) = P(14) - (CTWIS*(P(5)-P(9)) - - +STWIS*(P(5)*DXDY1-P(7)+P(9)*DXDY2-P(11)))*0.5/P(1) -C - P(23) = -(CTWIS*(P(5)*DXDY1+P(6)+P(9)*DXDY2+P(10)) + - +STWIS*(P(5)-P(9)))*0.5 - P(24) = -(CTWIS*(P(5)+P(9)) - - +STWIS*(P(5)*DXDY1+P(6)-P(9)*DXDY2-P(10)))*0.5 - P(25) = P(13) + (CTWIS*(P(5)*DXDY1+P(6)-P(9)*DXDY2-P(10)) + - +STWIS*(P(5)+P(9)))*0.5/P(1) - P(26) = P(14) + (CTWIS*(P(5)-P(9)) - - +STWIS*(P(5)*DXDY1+P(6)+P(9)*DXDY2+P(10)))*0.5/P(1) -C - P(27) = -(CTWIS*(P(5)*DXDY1-P(6)+P(9)*DXDY2-P(10)) + - +STWIS*(P(5)-P(9)))*0.5 - P(28) = -(CTWIS*(P(5)+P(9)) - - +STWIS*(P(5)*DXDY1-P(6)-P(9)*DXDY2+P(10)))*0.5 - P(29) = P(13) + (CTWIS*(P(5)*DXDY1-P(6)-P(9)*DXDY2+P(10)) + - +STWIS*(P(5)+P(9)))*0.5/P(1) - P(30) = P(14) + (CTWIS*(P(5)-P(9)) - - +STWIS*(P(5)*DXDY1-P(6)+P(9)*DXDY2-P(10)))*0.5/P(1) -C -C All done. -C - DO 970 IL=1,4 - I0=IL*4+11 - CORN(3,IL)=-P(1) - CORN(1,IL)=P(I0)+P(I0+2)*CORN(3,IL) - CORN(2,IL)=P(I0+1)+P(I0+3)*CORN(3,IL) - CORN(3,IL+4)=P(1) - CORN(1,IL+4)=P(I0)+P(I0+2)*CORN(3,IL+4) - CORN(2,IL+4)=P(I0+1)+P(I0+3)*CORN(3,IL+4) - 970 CONTINUE -C -#if defined(CERNLIB_DEBUG) -C WRITE(CHMAIL,1000) P,CORN -C CALL GMAIL(0,0) -C 1000 FORMAT(' P =',10F10.4,/,4X,10F10.4,/,4X,10F10.4,/,' CORN =', -C +3F10.4,7X,3F10.4,3(/,7X,3F10.4,7X,3F10.4)) -#endif -C - RETURN - END diff --git a/StarVMC/geant3/ggeom/gtrmul.F b/StarVMC/geant3/ggeom/gtrmul.F deleted file mode 100644 index d3287c3ddb7..00000000000 --- a/StarVMC/geant3/ggeom/gtrmul.F +++ /dev/null @@ -1,88 +0,0 @@ -* -* $Id: gtrmul.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gtrmul.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GTRMUL(DX1,RMAT1,DX2,IROT,DXNEW,RMATN) -C. -C. ****************************************************************** -C * * -C * ROUTINE TO FORM THE TRANSFORMATION RESULTING FROM * -C * THE APPLICATION OF FIRST THE TRANSFORMATION GIVEN * -C * BY THE POINT DX1 AND THE MATRIX RMAT1 FOLLOWED BY * -C * THE APPLICATION OF THE TRANSFORMATION GIVEN BY THE * -C * POINT DX2 AND THE MATRIX IN THE GEANT ROTATION * -C * MATRIX BANKS WITH INDEX NUMBER IROT. THE RESULTING * -C * TRANSFORMATION IS STORED AS THE POINT DXNEW AND * -C * MATRIX RMATN. * -C. * * -C. * ==>Called by : GFTRAC,GINVOL,GLVOLU,GMEDIV,GMEPOS,GSTRAC, * -C. * GTMEDI * -C. * Author A.McPherson ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - DIMENSION DX1(3),RMAT1(10),DX2(3),DXNEW(3),RMATN(10) -C. -C. ------------------------------------------------------------------ -C. - IF(RMAT1(10).EQ.0.0)THEN - DXNEW(1) = DX1(1) + DX2(1) - DXNEW(2) = DX1(2) + DX2(2) - DXNEW(3) = DX1(3) + DX2(3) - IF(IROT.EQ.0)THEN - DO 20 I = 1, 10, 2 - RMATN(I) = RMAT1(I) - RMATN(I+1) = RMAT1(I+1) - 20 CONTINUE - ELSE - JR=LQ(JROTM-IROT) - DO 30 I = 1, 9 - RMATN(I) = Q(JR+I) - 30 CONTINUE - RMATN(10)=1. - ENDIF - ELSE -C - DXTEM1 = DX2(1)*RMAT1(1) + DX2(2)*RMAT1(4) + DX2(3)*RMAT1(7) - DXTEM2 = DX2(1)*RMAT1(2) + DX2(2)*RMAT1(5) + DX2(3)*RMAT1(8) - DXTEM3 = DX2(1)*RMAT1(3) + DX2(2)*RMAT1(6) + DX2(3)*RMAT1(9) -C - IF(IROT.EQ.0)THEN - DO 50 I = 1, 10, 2 - RMATN(I) = RMAT1(I) - RMATN(I+1) = RMAT1(I+1) - 50 CONTINUE - ELSE - CALL GRMUL(RMAT1,IROT,RMATN) - ENDIF - DXNEW(1) = DX1(1) + DXTEM1 - DXNEW(2) = DX1(2) + DXTEM2 - DXNEW(3) = DX1(3) + DXTEM3 - ENDIF - END diff --git a/StarVMC/geant3/ggeom/gtrnsf.F b/StarVMC/geant3/ggeom/gtrnsf.F deleted file mode 100644 index 66c2d055452..00000000000 --- a/StarVMC/geant3/ggeom/gtrnsf.F +++ /dev/null @@ -1,60 +0,0 @@ -* -* $Id: gtrnsf.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gtrnsf.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:47:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.30 by S.Giani -*-- Author : - SUBROUTINE GTRNSF(X,DX,RMAT,XNEW) -C. -C. ****************************************************************** -C. * * -C * ROUTINE TO APPLY THE TRANSFORMATION GIVEN BY * -C * THE POINT DX AND THE ROTATION MATRIX RMAT TO THE * -C * POINT X, PLACING THE RESULT IN THE POINT XNEW. * -C. * * -C. * ==>Called by : GDFR3D, GFTRAC, GINVOL,GMEDIA, GNEXT, GSTRAC,* -C. * GTMEDI, GTNEXT * -C. * Author A.McPherson ********* * -C * * -C. ****************************************************************** -C. - DIMENSION X(3),DX(3),RMAT(10),XNEW(3) -C - IF(RMAT(10).EQ.0.)THEN - XNEW(1) = X(1) - DX(1) - XNEW(2) = X(2) - DX(2) - XNEW(3) = X(3) - DX(3) -* - ELSE - XL1 = X(1) - DX(1) - XL2 = X(2) - DX(2) - XL3 = X(3) - DX(3) - XNEW(1) = XL1*RMAT(1) + XL2*RMAT(2) + XL3*RMAT(3) - XNEW(2) = XL1*RMAT(4) + XL2*RMAT(5) + XL3*RMAT(6) - XNEW(3) = XL1*RMAT(7) + XL2*RMAT(8) + XL3*RMAT(9) - - ENDIF - END diff --git a/StarVMC/geant3/ggeom/gvdcar.F b/StarVMC/geant3/ggeom/gvdcar.F deleted file mode 100644 index 29e3920e631..00000000000 --- a/StarVMC/geant3/ggeom/gvdcar.F +++ /dev/null @@ -1,416 +0,0 @@ -* -* $Id: gvdcar.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvdcar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 10/10/94 20.01.58 by S.Giani -*-- Author : - SUBROUTINE GVDCAR(IAXIS,ISH,IROT,PARS,CL,CH,IERR) -C. -C. ***************************************************************** -C. * * -C. * ROUTINE TO FIND THE LIMITS ALONG AXIS IAXIS IN CARTESIAN * -C. * COORDINATES FOR VOLUME OF SHAPE ISH ROTATED BY THE * -C. * ROTATION MATRIX IROT. THE SHAPE HAS NPAR PARAMETERS IN * -C. * THE ARRAY PARS. THE LOWER LIMIT IS RETURNED IN CL, THE * -C. * HIGHER IN CH. IF THE CALCULATION CANNOT BE MADE IERR IS * -C. * SET TO 1 OTHERWISE IT IS SET TO 0. * -C. * * -C. * ==>Called by : GVDLIM * -C. * Author S.Giani ******** * -C. * * -C. ***************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" - DIMENSION PARS(100),X(3),XT(3) -C. -C. --------------------------------------------------- -C. - IERR=1 - IF (ISH.GT.4.AND.ISH.NE.10.AND.ISH.NE.28) GO TO 40 -C -C CUBOIDS, TRAPEZOIDS, PARALLELEPIPEDS. -C -C - IERR=0 - CL=0 - CH=0 -C - DO 30 IP=1,8 -C -C THIS IS A LOOP OVER THE 8 CORNERS. -C FIRST FIND THE LOCAL COORDINATES. -C - IF(ISH.EQ.28) THEN -C -C General twisted trapezoid. -C - IL=(IP+1)/2 - I0=IL*4+11 - IS=(IP-IL*2)*2+1 - X(3)=PARS(1)*IS - X(1)=PARS(I0)+PARS(I0+2)*X(3) - X(2)=PARS(I0+1)+PARS(I0+3)*X(3) - GO TO 20 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X(3)=PARS(IP3) - IF(IP.LE.4) X(3)=-X(3) - IP2=3 - IF(ISH.GT.2.AND.X(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP2=8 - X(2)=PARS(IP2) - IF(MOD(IP+3,4).LT.2) X(2)=-X(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X(2).GT.0.0) IP1=IP1+1 - X(1)=PARS(IP1) - IF(MOD(IP,2).EQ.1) X(1)=-X(1) -C - IF(ISH.NE.10) GO TO 10 - X(1)=X(1)+X(2)*PARS(4)+X(3)*PARS(5) - X(2)=X(2)+X(3)*PARS(6) - 10 CONTINUE -C - IF(ISH.NE.4) GO TO 20 - IP4=7 - IF(X(3).GT.0.0) IP4=11 - X(1)=X(1)+X(2)*PARS(IP4)+X(3)*PARS(2) - X(2)=X(2)+X(3)*PARS(3) - 20 CONTINUE -C -C ROTATE. -C - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C -C UPDATE LIMITS IF NECESSARY. -C - IF(XT(IAXIS).LT.CL) CL=XT(IAXIS) - IF(XT(IAXIS).GT.CH) CH=XT(IAXIS) -C - 30 CONTINUE -C - GO TO 999 -C - 40 CONTINUE - IF(ISH.EQ.9) GO TO 90 -C -C TUBES , CONES, POLYGONS, POLYCONES. -C AND CUT TUBES. -C - MYFLAG=0 - IF((ISH.EQ.11.OR.ISH.EQ.12).AND.(IAXIS.LT.3))THEN - MYFLAG=1 - ENDIF - X(1)=0.0 - X(2)=0.0 - X(3)=1.0 - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C -C XT IS Z AXIS ROTATED. -C - IF(MYFLAG.EQ.0)THEN - IF(ABS(XT(IAXIS)).LT.0.99) GO TO 50 - ELSE - IF(ABS(XT(3)).LT.0.99) GO TO 50 - ENDIF - IF(ISH.EQ.11)GO TO 45 - IF(ISH.EQ.12)GO TO 46 -C -C PARALLEL. -C - IP=3 - IF(ISH.GT.6.AND.ISH.NE.NSCTUB.AND.ISH.NE.13.AND.ISH.NE.14) IP=1 - CL=-PARS(IP) - CH=PARS(IP) - IERR=0 -C - GO TO 999 - 45 IF(MYFLAG.EQ.0)THEN - NZLAST=PARS(4) - IZLAST=2+3*NZLAST - CL=PARS(5) - GO TO 49 - ELSEIF(MYFLAG.EQ.1)THEN - NZLAST=PARS(4) - IZLAST=2+3*NZLAST - TMPRAD=0. - DO 145 I=7,IZLAST+2,3 - IF(PARS(I).GT.TMPRAD)TMPRAD=PARS(I) - 145 CONTINUE - PHIMIN=PARS(1) - PHIMAX=PHIMIN+PARS(2) - AANG=ABS(PHIMAX-PHIMIN) - NANG=PARS(3) - AATMAX=NANG*360./AANG - LATMAX=AATMAX - ALA=AATMAX-LATMAX - IF(ALA.GT..5)LATMAX=LATMAX+1 - AFINV=1./COS(PI/LATMAX) - FINV=ABS(AFINV) - R=TMPRAD*FINV - CL=-R - CH= R - IERR=0 - GOTO 999 - ENDIF -C - 46 IF(MYFLAG.EQ.0)THEN - NZLAST=PARS(3) - IZLAST=1+3*NZLAST - CL=PARS(4) - ELSEIF(MYFLAG.EQ.1)THEN - NZLAST=PARS(3) - IZLAST=1+3*NZLAST - TMPRAD=0. - DO 146 I=6,IZLAST+2,3 - IF(PARS(I).GT.TMPRAD)TMPRAD=PARS(I) - 146 CONTINUE - CL=-TMPRAD - CH= TMPRAD - IERR=0 - GOTO 999 - ENDIF -C - 49 CH=PARS(IZLAST) - IF ( ABS(XT(IAXIS)-X(IAXIS)) .GT.1.) THEN - TEMP = CL - CL = -CH - CH = -TEMP - ENDIF - IERR=0 - GO TO 999 -C - 50 CONTINUE -** - IF(ISH.EQ.13) THEN - CL=-PARS(IAXIS) - CH=PARS(IAXIS) - IERR=0 - GOTO 999 - ENDIF -** - IF(ISH.EQ.14) THEN -C for hyperboloid, use escribed cylinder - CH = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - CL = -CH - IERR=0 - GOTO 999 - ENDIF -** - IF(ISH.GT.10.AND.ISH.NE.NSCTUB)GO TO 999 - IF(ABS(XT(IAXIS)).GT.0.01) GO TO 70 -C -C Z AXIS PERPENDICULAR TO IAXIS. ASSUME COMPLETE TUBE OR -C CONE (I.E. IGNORE PHI SEGMENTATION). -C - IF(ISH.GT.6.AND.ISH.NE.NSCTUB) GO TO 60 -C - CL=-PARS(2) - CH=PARS(2) - IERR=0 - IF(ISH.EQ.6)THEN - RMIN=PARS(1) - RMAX=PARS(2) - IF(IROT.NE.0)THEN - IF(Q(JROT+15).EQ.0.)THEN - PHI1=(PARS(4)+Q(JROT+12))*DEGRAD - PHI2=(PARS(5)+Q(JROT+12))*DEGRAD - ELSEIF(Q(JROT+15).EQ.180.)THEN - PHI1=(PARS(4)+Q(JROT+12)-(PARS(5)-PARS(4)))*DEGRAD - PHI2=(PARS(5)+Q(JROT+12)-(PARS(5)-PARS(4)))*DEGRAD - ELSE - GOTO 999 - ENDIF - ELSE - PHI1=PARS(4)*DEGRAD - PHI2=PARS(5)*DEGRAD - ENDIF - IF(IAXIS.EQ.1)THEN - IF(PHI1.GE.0..AND.PHI2.LE.PI)THEN - XMIN1=RMIN*COS(PHI2) - XMIN2=RMAX*COS(PHI2) - CL=MIN(XMIN1,XMIN2) - XMAX1=RMIN*COS(PHI1) - XMAX2=RMAX*COS(PHI1) - CH=MAX(XMAX1,XMAX2) - ELSEIF(PHI1.GE.PI.AND.PHI2.LE.TWOPI.OR. - + PHI1.GE.-PI.AND.PHI2.LE.0.)THEN - XMIN1=RMIN*COS(PHI1) - XMIN2=RMAX*COS(PHI1) - CL=MIN(XMIN1,XMIN2) - XMAX1=RMIN*COS(PHI2) - XMAX2=RMAX*COS(PHI2) - CH=MAX(XMAX1,XMAX2) - ELSEIF(PHI1.LT.0..AND.PHI2.GT.0..AND. - + (PHI2-PHI1).LE.PI)THEN - XMIN1=RMIN*COS(PHI2) - XMIN2=RMIN*COS(PHI1) - CL1=MIN(XMIN1,XMIN2) - XMIN3=RMAX*COS(PHI2) - XMIN4=RMAX*COS(PHI1) - CL2=MIN(XMIN3,XMIN4) - CL=MIN(CL1,CL2) - CH=RMAX - ELSEIF(PHI1.LT.PI.AND.PHI2.GT.PI.AND. - + (PHI2-PHI1).LE.PI)THEN - CL=-RMAX - XMAX1=RMIN*COS(PHI2) - XMAX2=RMIN*COS(PHI1) - CH1=MAX(XMAX1,XMAX2) - XMAX3=RMAX*COS(PHI2) - XMAX4=RMAX*COS(PHI1) - CH2=MAX(XMAX3,XMAX4) - CH=MAX(CH1,CH2) - ENDIF - ELSEIF(IAXIS.EQ.2)THEN - IF(PHI1.GE.(-PI*.5).AND.PHI2.LE.(PI*.5))THEN - YMIN1=RMIN*SIN(PHI1) - YMIN2=RMAX*SIN(PHI1) - CL=MIN(YMIN1,YMIN2) - YMAX1=RMIN*SIN(PHI2) - YMAX2=RMAX*SIN(PHI2) - CH=MAX(YMAX1,YMAX2) - ELSEIF(PHI1.GE.(PI*.5).AND.PHI2.LE.(PI*3*.5))THEN - YMIN1=RMIN*SIN(PHI2) - YMIN2=RMAX*SIN(PHI2) - CL=MIN(YMIN1,YMIN2) - YMAX1=RMIN*SIN(PHI1) - YMAX2=RMAX*SIN(PHI1) - CH=MAX(YMAX1,YMAX2) - ELSEIF(PHI1.LT.(PI*.5).AND.PHI2.GT.(PI*.5).AND. - + (PHI2-PHI1).LE.PI)THEN - YMIN1=RMIN*SIN(PHI2) - YMIN2=RMIN*SIN(PHI1) - CL1=MIN(YMIN1,YMIN2) - YMIN3=RMAX*SIN(PHI2) - YMIN4=RMAX*SIN(PHI1) - CL2=MIN(YMIN3,YMIN4) - CL=MIN(CL1,CL2) - CH=RMAX - ELSEIF(((PHI1.LT.(PI*3*.5).AND.PHI2.GT.(PI*3*.5)).OR. - + (PHI1.LT.-(PI*.5).AND.PHI2.GT.-(PI*.5))) - + .AND.(PHI2-PHI1).LE.PI)THEN - CL=-RMAX - YMAX1=RMIN*SIN(PHI2) - YMAX2=RMIN*SIN(PHI1) - CH1=MAX(YMAX1,YMAX2) - YMAX3=RMAX*SIN(PHI2) - YMAX4=RMAX*SIN(PHI1) - CH2=MAX(YMAX3,YMAX4) - CH=MAX(CH1,CH2) - ENDIF - ENDIF - ENDIF -C - GO TO 999 -C - 60 CONTINUE -C - RM=PARS(3) - IF(PARS(5).GT.PARS(3)) RM=PARS(5) -C - CL=-RM - CH=RM - IERR=0 -C - GO TO 999 -C - 70 CONTINUE -C -C ARBITRARY ROTATION. -C - DZ=PARS(3) - RM=PARS(2) - IF(ISH.EQ.13) THEN -** -** approxime to a cylinder whit radius -** equal to the ellipse major axis -** - IF(PARS(1).GT.RM) RM=PARS(1) - GOTO 80 - ENDIF -** - IF(ISH.EQ.14) THEN - RM = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - GO TO 80 - ENDIF -* - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+RM*S1 - ENDIF - IF(ISH.LE.6) GO TO 80 -C - DZ=PARS(1) - RM=PARS(3) - IF(PARS(5).GT.RM) RM=PARS(5) -C - 80 CONTINUE -C - COST=ABS(XT(IAXIS)) - SINT=(1+COST)*(1-COST) - IF(SINT.GT.0.0) SINT=SQRT(SINT) -C - CH=COST*DZ+SINT*RM - CL=-CH - IERR=0 -C - GO TO 999 - 90 CONTINUE -C -C SPHERE - ASSUME COMPLETE SPHERE, TAKE OUTER RADIUS. -C - IERR=0 - CL=-PARS(2) - CH=PARS(2) -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gvdlim.F b/StarVMC/geant3/ggeom/gvdlim.F deleted file mode 100644 index 49abb3b3f7d..00000000000 --- a/StarVMC/geant3/ggeom/gvdlim.F +++ /dev/null @@ -1,93 +0,0 @@ -* -* $Id: gvdlim.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvdlim.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE GVDLIM(JVO,IN,IAXIS,CLOW,CHIGH,IERR) -C. -C. ********************************************************** -C. * * -C. * ROUTINE TO FIND THE COORDINATE LIMITS ALONG AXIS * -C. * IAXIS FOR THE INTH CONTENT OF THE VOLUME POINTED * -C. * TO BY JVO. THE LIMITS ARE RETURNED AS CLOW AND * -C. * CHIGH.IF THEY CANNOT BE FOUND THEN IERR IS SET TO 1.* -C. * * -C. * ==>Called by : GGCLOS * -C. * Author S.Giani ********* * -C. * * -C. ********************************************************** -C. -#include "geant321/gcbank.inc" - DIMENSION PAR(100),ATT(20) -C. -C. ----------------------------------------- -C. - JIN=LQ(JVO-IN) - IROT=Q(JIN+4) - IVOT=Q(JIN+2) - JVOT=LQ(JVOLUM-IVOT) - ISH=Q(JVOT+2) -C - CALL GFIPAR(JVOT,JIN,IN,NPAR,NATT,PAR,ATT) -C -C X,Y OR Z COORDINATES. -C - IF(IAXIS.GT.3) GO TO 20 -C - CALL GVDCAR(IAXIS,ISH,IROT,PAR,CL,CH,IERR) - IF(IERR.NE.0) GO TO 999 -C - CLOW=CL+Q(JIN+IAXIS+4) - CHIGH=CH+Q(JIN+IAXIS+4) -C - GO TO 999 -C - 20 CONTINUE - IF(IAXIS.GT.5) GO TO 30 -C -C R COORDINATES. -C - CALL GVDRAD(IAXIS,ISH,IROT,Q(JIN+5),PAR,CLOW, CHIGH,IERR) - -C - GO TO 999 -C - 30 CONTINUE -C -C PHI OR THETA COORDINATES. -C - IF(IAXIS.EQ.6) CALL GVDPHI(ISH,IROT,Q(JIN+5), PAR,CLOW,CHIGH, - +IERR) -C - IF(IAXIS.EQ.7) CALL GVDTHE(ISH,IROT,Q(JIN+5), PAR,CLOW,CHIGH, - +IERR) -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gvdphi.F b/StarVMC/geant3/ggeom/gvdphi.F deleted file mode 100644 index 5d019b4e2a8..00000000000 --- a/StarVMC/geant3/ggeom/gvdphi.F +++ /dev/null @@ -1,453 +0,0 @@ -* -* $Id: gvdphi.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvdphi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 02/03/95 11.58.00 by S.Giani -*-- Author : - SUBROUTINE GVDPHI(ISH,IROT,DX,PARS,CL,CH,IERR) -C. -C. ********************************************************** -C. * * -C. * ROUTINE TO FIND THE PHI LIMITS OF THE OBJECT SHAPE * -C. * ISH ROTATED BY MATRIX IROT AND DISPLACED BY VECTOR * -C. * DX. IT HAS NPAR PARAMTERS IN THE ARRAY PARS. THE * -C. * LOWER LIMIT IS RETURNED IN CL AND THE HIGHER IN CH. * -C. * NOTE THE OBJECT IS CONTAINED IN THE RANGE OF * -C. * INCREASING PHI FROM CL TO CH THOUGH CL AND CH ARE * -C. * FORCED TO LIE IN THE RANGE 0.0 TO 360.0 SO THAT THE * -C. * VALUE OF CL CAN BE HIGHER THAN THAT OF CH. * -C. * * -C. * ==>Called by : GVDLIM modified * -C. * Author S.Giani ********* * -C. * * -C. ********************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" - DIMENSION DX(3),PARS(100),X(3),XT(3) -C. -C. ------------------------------------------- -C. - IERR=1 -C - DXS=DX(1)*DX(1)+DX(2)*DX(2) - IF(DXS.GT.0.0) DXS=SQRT(DXS) -C - IF(ISH.GT.4.AND.ISH.NE.10.AND.ISH.NE.28) GO TO 40 -C -C -C CUBOIDS, TRAPEZOIDS, PARALLELEPIPEDS. -C - IERR=0 - CL=0.0 - CH=360.0 -C -C IF IN DOUBT SET IT TO FULL RANGE. -C - IF(DXS.LE.0.0) GO TO 999 -C - PHC=90. - IF(DX(1).NE.0.)PHC=ATAN2(DX(2),DX(1))*RADDEG - IF(DX(1).EQ.0..AND.DX(2).LT.0.)PHC=-90. - IF(PHC.LT.0.0) PHC=PHC+360 - PL=0.0 - PH=0.0 -C - DO 30 IP=1,8 -C -C THIS IS A LOOP OVER THE 8 CORNERS. -C FIRST FIND THE LOCAL COORDINATES. -C - IF(ISH.EQ.28) THEN -C -C General twisted trapezoid. -C - IL=(IP+1)/2 - I0=IL*4+11 - IS=(IP-IL*2)*2+1 - X(3)=PARS(1)*IS - X(1)=PARS(I0)+PARS(I0+2)*X(3) - X(2)=PARS(I0+1)+PARS(I0+3)*X(3) - GO TO 20 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X(3)=PARS(IP3) - IF(IP.LE.4) X(3)=-X(3) - IP2=3 - IF(ISH.GT.2.AND.X(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP2=8 - X(2)=PARS(IP2) - IF(MOD(IP+3,4).LT.2) X(2)=-X(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X(2).GT.0.0) IP1=IP1+1 - X(1)=PARS(IP1) - IF(MOD(IP,2).EQ.1) X(1)=-X(1) -C - IF(ISH.NE.10) GO TO 10 - X(1)=X(1)+X(2)*PARS(4)+X(3)*PARS(5) - X(2)=X(2)+X(3)*PARS(6) - 10 CONTINUE -C - IF(ISH.NE.4) GO TO 20 - IP4=7 - IF(X(3).GT.0.0) IP4=11 - X(1)=X(1)+X(2)*PARS(IP4)+X(3)*PARS(2) - X(2)=X(2)+X(3)*PARS(3) - 20 CONTINUE -C -C ROTATE. -C - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C - XPT=DXS+(DX(1)*XT(1)+DX(2)*XT(2))/DXS - YPT=(DX(1)*XT(2)-DX(2)*XT(1))/DXS -C - IF(YPT.EQ.0.0.AND.XPT.EQ.0.0) GO TO 999 - P=ATAN2(YPT,XPT) - IF(P.GT.PI) P=P-PI*2.0 - IF(P.LT.PL) PL=P - IF(P.GT.PH) PH=P -C -C - 30 CONTINUE -C -C - IF(PH-PL.GT.PI) GO TO 999 - CL=PHC+PL*RADDEG - CH=PHC+PH*RADDEG -C -*** SG = SIGN(1.0,CL) -*** CL = MOD( ABS(CL),360.0 ) -*** IF(SG.LE.0.0) CL=360.-CL -*** SG=SIGN(1.0,CH) -*** CH = MOD( ABS(CH),360.0 ) -*** IF(SG.LE.0.0) CH=360.-CH -C - GO TO 999 -C - 40 CONTINUE - MYFLAG=0 - IF(ISH.EQ.11)THEN - NZLAST=PARS(4) - IZLAST=2+3*NZLAST - CLZ=PARS(5) - CHZ=PARS(IZLAST) - DZ2=ABS(CHZ-CLZ) - DZ=DZ2*.5 - TMPRAD=0. - TMPMIN=100000. - DO 145 I=7,IZLAST+2,3 - IF(PARS(I).GT.TMPRAD)TMPRAD=PARS(I) - IF(PARS(I-1).LT.TMPMIN)TMPMIN=PARS(I-1) - 145 CONTINUE - RLOW=TMPMIN - PHIMIN=PARS(1) - PHIMAX=PHIMIN+PARS(2) - AANG=ABS(PHIMAX-PHIMIN) - NANG=PARS(3) - AATMAX=NANG*360./AANG - LATMAX=AATMAX - ALA=AATMAX-LATMAX - IF(ALA.GT..5)LATMAX=LATMAX+1 - AFINV=1./COS(PI/LATMAX) - FINV=ABS(AFINV) - RM=TMPRAD*FINV - IF(PARS(2).EQ.360)THEN - MYFLAG=5 - ELSE - PHIMIN=PARS(1)*DEGRAD - PHIMAX=(PARS(1)+PARS(2))*DEGRAD - MYFLAG=6 - ENDIF - ELSEIF(ISH.EQ.12)THEN - NZLAST=PARS(3) - IZLAST=1+3*NZLAST - CLZ=PARS(4) - CHZ=PARS(IZLAST) - DZ2=ABS(CHZ-CLZ) - DZ=DZ2*.5 - TMPRAD=0. - TMPMIN=100000. - DO 146 I=6,IZLAST+2,3 - IF(PARS(I).GT.TMPRAD)TMPRAD=PARS(I) - IF(PARS(I-1).LT.TMPMIN)TMPMIN=PARS(I-1) - 146 CONTINUE - RM=TMPRAD - RLOW=TMPMIN - IF(PARS(2).EQ.360)THEN - MYFLAG=5 - ELSE - PHIMIN=PARS(1)*DEGRAD - PHIMAX=(PARS(1)+PARS(2))*DEGRAD - MYFLAG=6 - ENDIF - ELSEIF(ISH.GT.8.AND.ISH.NE.NSCTUB.AND.ISH.NE.13.AND.ISH.NE.14)THEN - GO TO 80 - ENDIF -C -C TUBES AND CONES. -C - IERR=0 - CL=0.0 - CH=360.0 -C -C WHEN IN DOUBT SET TO FULL RANGE. -C - IF(MYFLAG.EQ.0)RM=PARS(2) - IF(ISH.LE.6.OR.ISH.EQ.NSCTUB.OR.MYFLAG.NE.0) GO TO 50 -** - IF(ISH.EQ.13) THEN -** -** approxime to a cylinder whit radius -** equal to the ellipse major axis -** - IF(PARS(1).GT.RM) RM=PARS(1) - GOTO 50 - ENDIF - IF(ISH.EQ.14) THEN - RM = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - GO TO 50 - ENDIF - RM=PARS(3) - IF(PARS(5).GT.RM) RM=PARS(5) -C - 50 CONTINUE -C - IF(DXS.GT.RM) GO TO 70 - IF(ISH.EQ.5.OR.ISH.EQ.7.OR.ISH.EQ.14.OR.MYFLAG.EQ.5) GO TO 999 - IF(ISH.EQ.13) GOTO 999 -* Here we treat the CONS and TUBS -* This is the simple case, no rotation -* Compute the position of the limits on -* the X-Y plane. - IF(MYFLAG.EQ.0.AND.ISH.LE.6)THEN - PHIMIN=PARS(4)*DEGRAD - PHIMAX=PARS(5)*DEGRAD - RLOW=PARS(1) - ELSEIF(MYFLAG.EQ.0.AND.ISH.EQ.8)THEN - PHIMIN=PARS(6)*DEGRAD - PHIMAX=PARS(7)*DEGRAD - RLOW=MIN(PARS(2),PARS(4)) - ENDIF - CL=PHIMIN*RADDEG - CH=PHIMAX*RADDEG - IF(DXS.NE.0.)THEN - DDX1 = DX(1)+RM*COS(PHIMIN) - DDY1 = DX(2)+RM*SIN(PHIMIN) - DDX2 = DX(1)+RM*COS(PHIMAX) - DDY2 = DX(2)+RM*SIN(PHIMAX) - CLA = ATAN2(DDY1,DDX1)*RADDEG - CHA = ATAN2(DDY2,DDX2)*RADDEG - DDX1 = DX(1)+RLOW*COS(PHIMIN) - DDY1 = DX(2)+RLOW*SIN(PHIMIN) - DDX2 = DX(1)+RLOW*COS(PHIMAX) - DDY2 = DX(2)+RLOW*SIN(PHIMAX) - CLB = ATAN2(DDY1,DDX1)*RADDEG - CHB = ATAN2(DDY2,DDX2)*RADDEG - CL=MIN(CLA,CLB,CHA,CHB) - CH=MAX(CLA,CLB,CHA,CHB) - IF((CH-CL).GT.(PHIMAX-PHIMIN)*RADDEG)THEN - IF(ISH.EQ.6.OR.ISH.EQ.8.OR.MYFLAG.EQ.6)THEN - IF(DXS.GT.RLOW)THEN - CL=0. - CH=360. - ENDIF - ELSE - CL=0. - CH=360. - ENDIF - ENDIF - ENDIF -C - 60 CONTINUE -C - IF(IROT.EQ.0) GO TO 65 - IF(CL.EQ.0..AND.CH.EQ.360.)GOTO 65 - JROT=LQ(JROTM-IROT) - IF(Q(JROT+15).NE.0.0.AND.Q(JROT+15).NE.180.0)THEN - CL=0. - CH=360. - GO TO 999 - ENDIF -C - PHX=Q(JROT+12) - PHY=Q(JROT+14) - IF(PHY.LT.PHX) PHY=PHY+360.0 - ISPH=1 - IF(PHY-PHX.GT.180.0) ISPH=-1 - IF(DXS.NE.0.)THEN - PHI1 = ISPH*PHIMIN+PHX*DEGRAD - PHI2 = ISPH*PHIMAX+PHX*DEGRAD - DDX1 = DX(1)+RM*COS(PHI1) - DDY1 = DX(2)+RM*SIN(PHI1) - DDX2 = DX(1)+RM*COS(PHI2) - DDY2 = DX(2)+RM*SIN(PHI2) - CLA = ATAN2(DDY1,DDX1)*RADDEG - CHA = ATAN2(DDY2,DDX2)*RADDEG - DDX1 = DX(1)+RLOW*COS(PHI1) - DDY1 = DX(2)+RLOW*SIN(PHI1) - DDX2 = DX(1)+RLOW*COS(PHI2) - DDY2 = DX(2)+RLOW*SIN(PHI2) - CLB = ATAN2(DDY1,DDX1)*RADDEG - CHB = ATAN2(DDY2,DDX2)*RADDEG - CL=MIN(CLA,CLB,CHA,CHB) - CH=MAX(CLA,CLB,CHA,CHB) - ELSE - CL=ISPH*CL+PHX - CH=ISPH*CH+PHX - ENDIF - IF(ISPH.EQ.1) GO TO 65 - CHT=CH - CH=CL - CL=CHT -C - 65 CONTINUE -C -*** SG=SIGN(1.0,CL) -*** CL = MOD( ABS(CL),360.0 ) -*** IF(SG.LE.0.0) CL=360.-CL -*** SG=SIGN(1.0,CH) -*** CH = MOD( ABS(CH),360.0 ) -*** IF(SG.LE.0.0) CH=360.-CH -C - GO TO 999 -C - 70 CONTINUE -C -C DISPLACEMENT GREATER THAN MAXIMUM RADIUS SO -C ASSUME COMPLETE TUBE TO GENERATE 'WORST CASE'. -C - IF(MYFLAG.EQ.0)DZ=PARS(3) - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+RM*S1 - ELSEIF(ISH.GT.6.AND.ISH.NE.13.AND.ISH.NE.14.AND.MYFLAG.EQ.0)THEN - DZ=PARS(1) - ENDIF -C - X(1)=0.0 - X(2)=0.0 - X(3)=1.0 -C -C LOCAL Z AXIS. -C - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C - COST=ABS(DX(1)*XT(1)+DX(2)*XT(2)) - COS2=ABS(DX(1)*XT(2)-DX(2)*XT(1)) - SINT=(DXS+COST)*(DXS-COST) - SIN2=(DXS+COS2)*(DXS-COS2) - IF(SINT.GT.0.0) SINT=SQRT(SINT) - IF(SIN2.GT.0.0) SIN2=SQRT(SIN2) -C - XPT=DXS-(COST*DZ+SINT*RM)/DXS -C - IF(XPT.LE.0.0) GO TO 999 - YPT=(SIN2*RM+COS2*DZ)/DXS - DP=ATAN(YPT/XPT) -C - P0=ATAN2(DX(2),DX(1)) - CL=(P0-DP)*RADDEG - CH=(P0+DP)*RADDEG -C -*** SG=SIGN(1.0,CL) -*** CL = MOD( ABS(CL),360.0 ) -*** IF(SG.LE.0.0) CL=360.-CL -*** SG=SIGN(1.0,CH) -*** CH = MOD( ABS(CH),360.0 ) -*** IF(SG.LE.0.0) CH=360.-CH -C - GO TO 999 -C - 80 CONTINUE - IF(ISH.GT.9.AND.MYFLAG.EQ.0) GO TO 999 -C -C SPHERE. -C - IERR=0 - CL=0.0 - CH=360.0 -C - IF(IROT.NE.0.OR.DXS.GT.0.0) GO TO 90 -C -C UNROTATED AND CENTERED. -C - CL=PARS(5) - CH=PARS(6) -C -*** SG=SIGN(1.0,CL) -*** CL = MOD( ABS(CL),360.0 ) -*** IF(SG.LE.0.0) CL=360.-CL -*** SG=SIGN(1.0,CH) -*** CH = MOD( ABS(CH),360.0 ) -*** IF(SG.LE.0.0) CH=360.-CH -C - GO TO 999 -C - 90 CONTINUE -C -C ROTATED OR NOT CENTERED. -C - IF(DXS.LT.PARS(2)) GO TO 999 - P0=ATAN2(DX(2),DX(1)) - DP=ASIN(PARS(2)/DXS) - CL=(P0-DP)*RADDEG - CH=(P0+DP)*RADDEG -C -*** SG=SIGN(1.0,CL) -*** CL = MOD( ABS(CL),360.0 ) -*** IF(SG.LE.0.0) CL=360.-CL -*** SG=SIGN(1.0,CH) -*** CH = MOD( ABS(CH),360.0 ) -*** IF(SG.LE.0.0) CH=360.-CH -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gvdrad.F b/StarVMC/geant3/ggeom/gvdrad.F deleted file mode 100644 index 2a5c3a9c866..00000000000 --- a/StarVMC/geant3/ggeom/gvdrad.F +++ /dev/null @@ -1,281 +0,0 @@ -* -* $Id: gvdrad.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvdrad.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 21/07/94 11.48.23 by S.Giani -*-- Author : - SUBROUTINE GVDRAD(IAXIS,ISH,IROT,DX,PARS,CL,CH,IERR) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO COMPUTE THE LIMITS IN R FOR THE SHAPE ISH * -C. * DISPLACED BY THE VECTOR DX AND ROTATED BY THE MATRIX IROT. * -C. * IF IAXIS = 4 THE R IS THE XY PLANE R, IF IAXIS = 5 IT IS * -C. * THE 3 DINEMSIONAL SPACE R. THE SHAPE HAS NPAR PARAMETERS * -C. * IN THE ARRAY PARS. THE LOWER LIMIT IS RETURNED IN CL AND * -C. * THE HIGHER IN CH. IF THE CALCULATION CANNOT BE PERFORMED * -C. * IERR IS SET TO 1 OTHERWISE IT IS SET TO 0. * -C. * * -C. * ==>Called by : GVDLIM * -C. * Author S.Giani ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" - DIMENSION DX(3),PARS(100),X(3),XT(3) -C. -C. -------------------------------------------------- -C. - IERR=1 -C -C FIRST CALCULATE THE LENGTH OF THE DISPLACEMENT OF THE -C ORIGIN. -C - DXS=DX(1)*DX(1)+DX(2)*DX(2) - IF(IAXIS.EQ.5) DXS=DXS+DX(3)*DX(3) - IF(DXS.GT.0.0) DXS=SQRT(DXS) -C - IF(ISH.GT.4.AND.ISH.NE.10.AND.ISH.NE.28) GO TO 40 -C -C CUBOIDS, TRAPEZOIDS, PARALLELEPIPEDS. -C - CH=0.0 - CL=DXS -C - DO 30 IP=1,8 -C -C THIS IS A LOOP OVER THE 8 CORNERS. -C FIRST FIND THE LOCAL COORDINATES. -C - IF(ISH.EQ.28) THEN -C -C General twisted trapezoid. -C - IL=(IP+1)/2 - I0=IL*4+11 - IS=(IP-IL*2)*2+1 - X(3)=PARS(1)*IS - X(1)=PARS(I0)+PARS(I0+2)*X(3) - X(2)=PARS(I0+1)+PARS(I0+3)*X(3) - GO TO 20 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X(3)=PARS(IP3) - IF(IP.LE.4) X(3)=-X(3) - IP2=3 - IF(ISH.GT.2.AND.X(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP2=8 - X(2)=PARS(IP2) - IF(MOD(IP+3,4).LT.2) X(2)=-X(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X(2).GT.0.0) IP1=IP1+1 - X(1)=PARS(IP1) - IF(MOD(IP,2).EQ.1) X(1)=-X(1) -C - IF(ISH.NE.10) GO TO 10 - X(1)=X(1)+X(2)*PARS(4)+X(3)*PARS(5) - X(2)=X(2)+X(3)*PARS(6) - 10 CONTINUE -C - IF(ISH.NE.4) GO TO 20 - IP4=7 - IF(X(3).GT.0.0) IP4=11 - X(1)=X(1)+X(2)*PARS(IP4)+X(3)*PARS(2) - X(2)=X(2)+X(3)*PARS(3) - 20 CONTINUE -C -C ROTATE. -C - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C -C NOW COMPUTE RMIN = PROJECTED R ON DX AND RMAX = R -C AND UPDATE LIMITS IF NECESSARY. -C - R2=(XT(1)+DX(1))**2+(XT(2)+DX(2))**2 - IF(IAXIS.EQ.5) R2=R2+(XT(3)+DX(3))**2 - R=SQRT(R2) - IF(R.GT.CH) CH=R -C - IF(CL.LE.0.0) GO TO 30 -C - XPT=DX(1)*XT(1)+DX(2)*XT(2) - IF(IAXIS.EQ.5) XPT=XPT+DX(3)*XT(3) - IF(DXS.LE.1.0E-05) GO TO 30 - RMN=DXS+XPT/DXS - IF(RMN.LT.CL) CL=RMN -C - 30 CONTINUE -C - IF(CL.LE.0.0) CL=0.0 -C - IERR=0 - GO TO 999 -C - 40 CONTINUE -C -C POLYGONES AND POLYCONES -C - IF(ISH.EQ.11.AND.IAXIS.EQ.4)THEN - NZLAST=PARS(4) - IZLAST=2+3*NZLAST - CLZ=PARS(5) - CHZ=PARS(IZLAST) - DZ2=ABS(CHZ-CLZ) - DZ=DZ2*.5 - TMPRAD=0. - TMPMIN=100000. - DO 145 I=7,IZLAST+2,3 - IF(PARS(I).GT.TMPRAD)TMPRAD=PARS(I) - IF(PARS(I-1).LT.TMPMIN)TMPMIN=PARS(I-1) - 145 CONTINUE - RMN=TMPMIN - PHIMIN=PARS(1) - PHIMAX=PHIMIN+PARS(2) - AANG=ABS(PHIMAX-PHIMIN) - NANG=PARS(3) - AATMAX=NANG*360./AANG - LATMAX=AATMAX - ALA=AATMAX-LATMAX - IF(ALA.GT..5)LATMAX=LATMAX+1 - AFINV=1./COS(PI/LATMAX) - FINV=ABS(AFINV) - R=TMPRAD*FINV - GOTO 50 - ELSEIF(ISH.EQ.12.AND.IAXIS.EQ.4)THEN - NZLAST=PARS(3) - IZLAST=1+3*NZLAST - CLZ=PARS(4) - CHZ=PARS(IZLAST) - DZ2=ABS(CHZ-CLZ) - DZ=DZ2*.5 - TMPRAD=0. - TMPMIN=100000. - DO 146 I=6,IZLAST+2,3 - IF(PARS(I).GT.TMPRAD)TMPRAD=PARS(I) - IF(PARS(I-1).LT.TMPMIN)TMPMIN=PARS(I-1) - 146 CONTINUE - RMN=TMPMIN - R=TMPRAD - GOTO 50 - ENDIF - IF(ISH.GT.8.AND.ISH.NE.NSCTUB.AND.ISH.NE.13.AND.ISH.NE.14)GO TO 80 -C -C TUBES AND CONES -C - IP3=3 - IF(ISH.GT.6.AND.ISH.NE.NSCTUB.AND.ISH.NE.13.AND.ISH.NE.14) IP3=1 - DZ=PARS(IP3) - R=PARS(2) - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+R*S1 - ENDIF -** - IF(ISH.EQ.13) THEN -** -** APPROXIME TO A CYLINDER WHIT RADIUS -** EQUAL TO THE ELLIPSE MAJOR AXIS -** - RMN=0.0 - IF(PARS(1).GT.R) R=PARS(1) - GOTO 50 - ENDIF - RMN=PARS(1) -* - IF(ISH.EQ.14) THEN - R = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - GO TO 50 - ENDIF -C - IF(ISH.LE.6.OR.ISH.EQ.NSCTUB) GO TO 50 -C - R=PARS(3) - IF(PARS(5).GT.R) R=PARS(5) - RMN=PARS(2) - IF(PARS(4).LT.RMN) RMN=PARS(4) -C - 50 CONTINUE -C -C ROTATE THE LOCAL Z AXIS. -C - X(1)=0.0 - X(2)=0.0 - X(3)=1.0 - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C -C COMPUTE RMIN AND RMAX ASSUMING COMPLETE TUBE HALF -C LENGTH DZ AND RADIUS R. -C - ST2=1.0 - IF(IAXIS.EQ.4) ST2=(1+XT(3))*(1-XT(3)) - DR=SQRT(DZ*DZ*ST2+R*R) - CL=DXS-DR - IF(CL.LT.0.0) CL=0.0 - CH=DXS+DR - IF(ABS(XT(3)).EQ.1.0.AND.DXS.LT.1.0E-05) CL=RMN - IERR=0 -C - GO TO 999 -C - 80 CONTINUE - IF(ISH.GT.9) GO TO 999 -C -C SPHERE. -C - CL=DXS-PARS(2) - IF(CL.LT.0.0) CL=0.0 - CH=DXS+PARS(2) - IF(IAXIS.EQ.5.AND.DXS.LT.1.0E-05) CL=PARS(1) - IERR=0 -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gvdthe.F b/StarVMC/geant3/ggeom/gvdthe.F deleted file mode 100644 index dda13a36b54..00000000000 --- a/StarVMC/geant3/ggeom/gvdthe.F +++ /dev/null @@ -1,509 +0,0 @@ -* -* $Id: gvdthe.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvdthe.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/03/20 06:36:27 alibrary -* 100 parameters now allowed for geant shapes -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE GVDTHE(ISH,IROT,DX,PARS,CL,CH,IERR) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO COMPUTE THE THETA LIMITS FOR VOLUME OF SHAPE * -C. * ISH ROTATED BY MATRIX IROT AND DISPLACED BY VECTOR DX. * -C. * THE VOLUME HAS NPAR PARAMETERS IN THE ARRAY PARS. THE LOWER * -C. * LIMIT IS RETURNED IN CL THE HIGHER IN CH. IF THE * -C. * CALCULATION CANNOT BE MADE IERR IS SET TO 1 OTHERWISE IT * -C. * IS SET TO 0. * -C. * * -C. * ==>Called by : GVDLIM * -C. * Author S.Giani ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcshno.inc" - DIMENSION DX(3),PARS(100),X(3),XT(3),X1(3),X2(3),XT1(3),XT2(3) -C. -C. ---------------------------------------------- -C. - IERR=1 -C - DXS=DX(1)*DX(1)+DX(2)*DX(2) - IF(DXS.GT.0.0) DXS=SQRT(DXS) -C - IF(ISH.GT.4.AND.ISH.NE.10.AND.ISH.NE.28) GO TO 130 -C -C CUBES, TRAPEZOIDS AND PARALLELEPIPEDS. -C - IERR=0 - CL=0.0 - CH=180.0 -C - IF(DXS.LE.0.0) GO TO 999 -C - TH=90. - IF(ABS(DX(3)).LT.1.0E-06)GO TO 5 - TH=ATAN(DXS/DX(3))*RADDEG - IF(TH.LT.0.0) TH=TH+180.0 - 5 TL=TH -C - DO 50 IP=1,8 -C -C THIS IS A LOOP OVER THE 8 CORNERS. -C FIRST FIND THE LOCAL COORDINATES. -C - IF(ISH.EQ.28) THEN - goto 999 -C General twisted trapezoid. -C -* IL=(IP+1)/2 -* I0=IL*4+11 -* IS=(IP-IL*2)*2+1 -* X(3)=PARS(1)*IS -* X(1)=PARS(I0)+PARS(I0+2)*X(3) -* X(2)=PARS(I0+1)+PARS(I0+3)*X(3) -* GO TO 20 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X(3)=PARS(IP3) - IF(IP.LE.4) X(3)=-X(3) - IP2=3 - IF(ISH.GT.2.AND.X(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP2=8 - X(2)=PARS(IP2) - IF(MOD(IP+3,4).LT.2) X(2)=-X(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X(2).GT.0.0) IP1=IP1+1 - X(1)=PARS(IP1) - IF(MOD(IP,2).EQ.1) X(1)=-X(1) -C - IF(ISH.NE.10) GO TO 10 - X(1)=X(1)+X(2)*PARS(4)+X(3)*PARS(5) - X(2)=X(2)+X(3)*PARS(6) - 10 CONTINUE -C - IF(ISH.NE.4) GO TO 20 - IP4=7 - IF(X(3).GT.0.0) IP4=11 - X(1)=X(1)+X(2)*PARS(IP4)+X(3)*PARS(2) - X(2)=X(2)+X(3)*PARS(3) - 20 CONTINUE -C -C ROTATE. -C - JROT=LQ(JROTM-IROT) - XT(1)=X(1) - XT(2)=X(2) - XT(3)=X(3) - IF(IROT.NE.0) CALL GINROT(X,Q(JROT+1),XT) -C - Z=DX(3)+XT(3) - R=(DX(1)+XT(1))**2+(DX(2)+XT(2))**2 - RT=R+(DX(3)+XT(3))**2 - IF(RT.LT.1.0E-10) GO TO 999 -C - IF(R.GT.0.0) GO TO 30 - IF(Z.GT.0.0) T=0.0 - IF(Z.LT.0.0) T=180.0 - GO TO 40 -C - 30 CONTINUE - T=90.0 - IF(ABS(Z).LT.1.0E-6) GO TO 40 -C - R=SQRT(R) - T=ATAN(R/Z)*RADDEG - IF(T.EQ.0.0.AND.Z.LT.0.0) T=180.0 - IF(T.LT.0.0) T=T+180.0 -C - 40 CONTINUE - IF(T.GT.TH) TH=T - IF(T.LT.TL) TL=T -C - 50 CONTINUE -C -C THETA LIMITS SET FROM THE POINTS NOW DO THE EDGES. -C - DO 120 IL=1,12 -C -C FIND THE END POINT NUMBERS FOR EACH EDGE. -C - IF(IL.GT.4) GO TO 60 - IPP1=1 - IF(IL.GT.2) IPP1=4 - IPP2=2 - IF(MOD(IL,2).EQ.1) IPP2=3 -C - GO TO 80 - 60 CONTINUE - IF(IL.LT.9) GO TO 70 -C - IPP1=5 - IF(IL.GT.10) IPP1=8 - IPP2=6 - IF(MOD(IL,2).EQ.1) IPP2=7 -C - GO TO 80 - 70 CONTINUE -C - IPP1=IL-4 - IPP2=IL -C - 80 CONTINUE -C -C NOW GET THE POINTS AND ROTATE THEM. -C - IF(ISH.EQ.28) THEN -C -C General twisted trapezoid. -C - ILL=IPP1 - IF(IPP1.EQ.3) ILL=4 - IF(IPP1.EQ.4) ILL=3 - I0=ILL*4+11 - X1(3)=PARS(1) - IF(IPP1.LT.5) X1(3)=-X1(3) - X1(1)=PARS(I0)+PARS(I0+2)*X1(3) - X1(2)=PARS(I0+1)+PARS(I0+3)*X1(3) - ILL=IPP2 - IF(IPP2.EQ.3) ILL=4 - IF(IPP2.EQ.4) ILL=3 - I0=ILL*4+11 - X2(3)=PARS(1) - IF(IPP2.LT.5) X2(3)=-X2(3) - X2(1)=PARS(I0)+PARS(I0+2)*X2(3) - X2(2)=PARS(I0+1)+PARS(I0+3)*X2(3) -C - GO TO 100 -C - ENDIF -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X1(3)=PARS(IP3) - IF(IPP1.LE.4) X1(3)=-X1(3) - IP2=3 - IF(ISH.GT.2.AND.X1(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X1(3).GT.0.0) IP2=8 - X1(2)=PARS(IP2) - IF(MOD(IPP1+3,4).LT.2) X1(2)=-X1(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X1(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X1(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X1(2).GT.0.0) IP1=IP1+1 - X1(1)=PARS(IP1) - IF(MOD(IPP1,2).EQ.1) X1(1)=-X1(1) -C - IP3=ISH+2 - IF(ISH.EQ.10) IP3=3 - IF(ISH.EQ.4) IP3=1 - X2(3)=PARS(IP3) - IF(IPP2.LE.4) X2(3)=-X2(3) - IP2=3 - IF(ISH.GT.2.AND.X2(3).GT.0.0) IP2=4 - IF(ISH.EQ.1.OR.ISH.EQ.10) IP2=2 - IF(ISH.EQ.4) IP2=4 - IF(ISH.EQ.4.AND.X2(3).GT.0.0) IP2=8 - X2(2)=PARS(IP2) - IF(MOD(IPP2+3,4).LT.2) X2(2)=-X2(2) - IP1=1 - IF(ISH.NE.1.AND.ISH.NE.10.AND.X2(3).GT.0.0) IP1=2 - IF(ISH.EQ.4) IP1=5 - IF(ISH.EQ.4.AND.X2(3).GT.0.0) IP1=IP1+4 - IF(ISH.EQ.4.AND.X2(2).GT.0.0) IP1=IP1+1 - X2(1)=PARS(IP1) - IF(MOD(IPP2,2).EQ.1) X2(1)=-X2(1) -C - IF(ISH.NE.10) GO TO 90 - X1(1)=X1(1)+X1(2)*PARS(4)+X1(3)*PARS(5) - X1(2)=X1(2)+X1(3)*PARS(6) - X2(1)=X2(1)+X2(2)*PARS(4)+X2(3)*PARS(5) - X2(2)=X2(2)+X2(3)*PARS(6) - 90 CONTINUE -C - IF(ISH.NE.4) GO TO 100 - IP4=7 - IF(X1(3).GT.0.0) IP4=11 - X1(1)=X1(1)+X1(2)*PARS(IP4)+X1(3)*PARS(2) - X1(2)=X1(2)+X1(3)*PARS(3) - IP4=7 - IF(X2(3).GT.0.0) IP4=11 - X2(1)=X2(1)+X2(2)*PARS(IP4)+X2(3)*PARS(2) - X2(2)=X2(2)+X2(3)*PARS(3) - 100 CONTINUE -C -C ROTATE. -C - JROT=LQ(JROTM-IROT) - XT1(1)=X1(1) - XT1(2)=X1(2) - XT1(3)=X1(3) - IF(IROT.NE.0) CALL GINROT(X1,Q(JROT+1),XT1) - XT2(1)=X2(1) - XT2(2)=X2(2) - XT2(3)=X2(3) - IF(IROT.NE.0) CALL GINROT(X2,Q(JROT+1),XT2) -C -C NOW WE HAVE THE END POINTS IN THE MASTER SYSTEM. -C FIND THE TANGENT POINT TO THE SET OF CONES OF CONSTANT -C THETA. -C - DS=(XT2(1)-XT1(1))**2+(XT2(2)-XT1(2))**2+(XT2(3)-XT1(3))**2 - IF(DS.LE.0.0) GO TO 120 -C - DS=SQRT(DS) -C - X0=(XT2(1)+XT1(1))/2.0+DX(1) - Y0=(XT2(2)+XT1(2))/2.0+DX(2) - Z0=(XT2(3)+XT1(3))/2.0+DX(3) - ALX=(XT2(1)-XT1(1))/DS - ALY=(XT2(2)-XT1(2))/DS - ALZ=(XT2(3)-XT1(3))/DS -C - T=90.0 - IF(Z0.EQ.0.0.AND.ALZ.EQ.0.0) GO TO 110 -C - IF(ALX.EQ.0.0.AND.ALY.EQ.0.0) GO TO 120 -C THIS CHECKS WHETHER THE LINE IS PARALLEL TO THE -C Z AXIS IN WHICH CASE THERE IS NO TANGENT AND -C THE END POINTS DETERMINE THE THETA RANGE. -C - SNUM=(X0*Z0*ALX+Y0*Z0*ALY+X0*X0*ALZ+Y0*Y0*ALZ) - SDEN=(Z0*ALX*ALX-X0*ALX*ALZ+Z0*ALY*ALY-Y0*ALY*ALZ) -C - IF(ABS(SNUM).GT.0.5*DS*ABS(SDEN)) GO TO 120 -C -C TANGENT EXIST BETWEEN THE TWO ENDS. -C - S = SNUM/SDEN - X0=X0+S*ALX - Y0=Y0+S*ALY - Z0=Z0+S*ALZ -C - R=X0*X0+Y0*Y0 - RT=R+Z0*Z0 -C - IF(RT.LT.1.0E-10) GO TO 999 -C - IF(R.GT.0.0) R=SQRT(R) - T=90.0 - IF(ABS(Z0).LT.1.0E-06) GO TO 110 -C - T=ATAN(R/Z0)*RADDEG - IF(T.EQ.0.0.AND.Z0.LT.0.0) T=180.0 - IF(T.LT.0.0) T=T+180.0 -C - 110 CONTINUE -C - IF(T.LT.TL) TL=T - IF(T.GT.TH) TH=T -C -C CHECK FOR THE POSSIBILITY OF STRADDLING T=0.0 &/OR 180.0. -C - C=X0*DX(1)+Y0*DX(2) - IF(C.GT.0.0) GO TO 120 -C -C CHECK IF SAME SIGN OF Z. -C - IF(Z0*DX(3).LT.0.0) GO TO 999 -C - T=0.0 - IF(Z0.LT.0.0) T=180.0 - IF(T.LT.TL) TL=T - IF(T.GT.TH) TH=T -C - 120 CONTINUE -C -C DONE SET THE LIMITS. -C - CL=TL - CH=TH -C - GO TO 999 -C - 130 CONTINUE -C -C TUBES, CONES ETC. -C - IF(IROT.NE.0.OR.DXS.GT.1.0E-05) GO TO 180 -C -C UNROTATED AND CENTERED. -C - IF(ISH.GT.8.AND.ISH.NE.NSCTUB.AND.ISH.NE.13 - + .AND.ISH.NE.14)GO TO 170 -C -C TUBES AND CONES. -C - IERR=0 - DZ=PARS(3) - RMN=PARS(1) - RMX=PARS(2) - IF(ISH.EQ.13) THEN -** -** approxime to a cylinder whit radius -** equal to the ellipse major axis -** - RMN=0.0 - IF(PARS(1).GT.RMX) RMX=PARS(1) - GOTO 140 - ENDIF - IF(ISH.EQ.14) THEN -C not really sure of the function of these... keep RMN=PARS(1) - RMX = SQRT(PARS(2)**2+(PARS(3)*TAN(PARS(4)*DEGRAD))**2) - GO TO 140 - ENDIF - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+RMX*S1 - ENDIF - IF(ISH.LE.6.OR.ISH.EQ.NSCTUB) GO TO 140 - DZ=PARS(1) - RMN=PARS(2) - RMX=PARS(3) - IF(PARS(4).LT.RMN) RMN=PARS(4) - IF(PARS(5).GT.RMX) RMX=PARS(5) - 140 CONTINUE -C - IF(DZ.GT.ABS(DX(3))) GO TO 160 -C -C ALL FORWARD OR ALL BACK. -C - DSH=DX(3)-DZ - DLN=DX(3)+DZ - IF(DX(3).GT.0.0) GO TO 150 - DSS=DSH - DSH=DLN - DLN=DSS - 150 CONTINUE -C - CL=90.0 - CH=90.0 - IF(DLN.NE.0.0) CL=ATAN(RMN/DLN)*RADDEG - IF(DSH.NE.0.0) CH=ATAN(RMX/DSH)*RADDEG - IF(DX(3).GT.0.0) GO TO 999 - CS=CL - CL=CH - CH=CS - IF(CH.EQ.0.0) CH=180.0 - IF(CL.LT.0.0) CL=CL+180.0 - IF(CH.LT.0.0) CH=CH+180.0 -C - GO TO 999 -C - 160 CONTINUE -C - CL=90.0 - CH=90.0 - IF(DZ+DX(3).NE.0.0) CL=ATAN(RMN/(DZ+DX(3)))*RADDEG - IF(-DZ+DX(3).NE.0.0) CH=ATAN(RMN/(-DZ+DX(3)))*RADDEG - IF(CH.LE.0.0) CH=CH+180.0 -C - GO TO 999 -C - 170 CONTINUE - IF(ISH.GT.9) GO TO 999 -C -C SPHERE. -C - IERR=0 - CL=PARS(3) - CH=PARS(4) -C - GO TO 999 - 180 CONTINUE -C - IF(ISH.EQ.11.OR.ISH.EQ.12) GOTO 999 -** - RM=PARS(2) - IF(ISH.EQ.9) GO TO 200 -C - DZ=PARS(3) - IF(ISH.EQ.NSCTUB) THEN - S1 = (1.0-PARS(8))*(1.0+PARS(8)) - IF( S1 .GT. 0.0) S1 = SQRT(S1) - S2 = (1.0-PARS(11))*(1.0+PARS(11)) - IF( S2 .GT. 0.0) S2 = SQRT(S2) - IF( S2 .GT. S1 ) S1 = S2 - DZ = DZ+RM*S1 - ENDIF -** - IF(ISH.EQ.13) THEN - IF(PARS(1).GT.RM) RM=PARS(1) - GOTO 190 - ENDIF -** - IF(ISH.LE.6.OR.ISH.EQ.NSCTUB) GO TO 190 -C - DZ=PARS(1) - RM=PARS(3) - IF(PARS(5).GT.RM) RM=PARS(5) -C - 190 CONTINUE -C - RM=SQRT(RM**2+DZ**2) -C - 200 CONTINUE -C - CL=0.0 - CH=180.0 - IERR=0 - RC=DXS**2+DX(3)**2 - IF(RC.GT.0.0) RC=SQRT(RC) - IF(RM.GE.RC) GO TO 999 -C - TC=90.0 - IF(ABS(DX(3)).GT.0.0) TC=ATAN(DXS/DX(3))*RADDEG - IF(TC.LT.0.0) TC=TC+180.0 -C - DT=ASIN(RM/RC)*RADDEG - CL=TC-DT - CH=TC+DT - IF(CL.LT.0.0) CL=0.0 - IF(CH.GT.180.0) CH=180.0 -C - 999 CONTINUE - END diff --git a/StarVMC/geant3/ggeom/gvgrad.F b/StarVMC/geant3/ggeom/gvgrad.F deleted file mode 100644 index 40c5a24d560..00000000000 --- a/StarVMC/geant3/ggeom/gvgrad.F +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: gvgrad.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvgrad.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : -* - SUBROUTINE GVGRAD (XYZ, C, NC, GRA) -************************************************************************ -* * -* GVGRAD calculates the gradient vector of a surface VP 880314 * -* * -* Input : XYZ coordinates of the point * -* C(1) number of non constant coefficients of the * -* surface * -* C(2),C(3),... non constant coefficients of the surface * -* NC total number of coefficients of the surface * -* * -* Output : GRA gradient vector of the surface * -* * -************************************************************************ - REAL XYZ(3) , C(*), GRA(3) -*----------------------------------------------------------------------- -* -* case with simplified surface X=C0, Y=C0, Z=C0, X*2+Y*2=C0 -* (happens only when initialisation is done) -* - IF (NC.EQ.2) THEN - IAX = C(2) - IF (IAX.LE.3) THEN - GRA(1) = 0 - GRA(2) = 0 - GRA(3) = 0 - GRA(IAX) = 1 - ELSE - GRA(1) = 2.*XYZ(1) - GRA(2) = 2.*XYZ(2) - GRA(3) = 0. - ENDIF - GO TO 999 - ENDIF -* -* case with surfaces with 4, 7 or 10 coefficients (normal case) -* - GRA(1) = C(2) - GRA(2) = C(3) - GRA(3) = C(4) - IF (NC.EQ.4) GO TO 999 -* -* case with surfaces with 7 or 10 coefficients -* - DO 100 I = 1,3 - 100 GRA(I) = GRA(I) + 2.*C(I+4)*XYZ(I) - IF (NC.NE.10) GO TO 999 -* -* case with surfaces with 10 coefficients -* - GRA(1) = GRA(1) + C(8)*XYZ(2)+C(10)*XYZ(3) - GRA(2) = GRA(2) + C(8)*XYZ(1)+C( 9)*XYZ(3) - GRA(3) = GRA(3) + C(9)*XYZ(2)+C(10)*XYZ(1) - - 999 RETURN - END diff --git a/StarVMC/geant3/ggeom/gvlong.F b/StarVMC/geant3/ggeom/gvlong.F deleted file mode 100644 index 02c6c59d039..00000000000 --- a/StarVMC/geant3/ggeom/gvlong.F +++ /dev/null @@ -1,108 +0,0 @@ -* -* $Id: gvlong.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvlong.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : -* - SUBROUTINE GVLONG (DIR, C, NC, TAU, NTAU) -************************************************************************ -* * -* GVLONG calculates the distance to the surface along a VP 920125 * -* given DIRection * -* * -* SHOULD BE called ONLY AFTER call GVSAFE. * -* due to some results of GVSAFE are used. * -* Just by this reason starting XYZ point * -* is omitted * -* ======================================= * -* * -* Input : DIR - direction * -* C - coeffs of surface (C(1) not used) * -* NC - number of coefs * -* * -* Output : TAU - TAU(1:2) distances to surface in increasing order * -* in the units of the length of DIR * -* NTAU - number of distances (solutions) (0,1,2) * -* * -************************************************************************ - COMMON /SLATE/ SLATE (40) - INTEGER ISLATE(40) - EQUIVALENCE (SLATE,ISLATE) - REAL C(*), DIR(3), TAU(2), CBA(3) - LOGICAL XLINE -*----------------------------------------------------------------------- -* -* SLATE(10) is the value of S(X) = equation of the surface with -* the point coordinates -* SLATE(11),SLATE(12),SLATE(13) is the gradient to the surface -* - NTAU = 0 - CBA(1) = SLATE(10) - CBA(2) = SLATE(11)*DIR(1)+SLATE(12)*DIR(2)+SLATE(13)*DIR(3) -* - CBA(3) = 0. - XLINE = .TRUE. -* -** in case of a plane - IF (NC.EQ.4) GO TO 200 -* -* in case it is a simplified surface X=-C0,Y=-C0,Z=-C0, or X*2+Y*2=-C0 -* - IF (NC.EQ.2) THEN - IAX = C(2) - IF (IAX.NE.4) GO TO 200 - CBA(3) = DIR(1)**2+DIR(2)**2 - ELSE -* -** in case it is a surface with 7 or 10 coefficients - CBA(3) = DIR(1)**2*C(5)+DIR(2)**2*C(6)+DIR(3)**2*C(7) -* -** in case it is a surface with 10 coefficients - IF (NC.EQ.10) THEN - CBA(3) = CBA(3) + C(08)*DIR(1)*DIR(2) - CBA(3) = CBA(3) + C(09)*DIR(2)*DIR(3) - CBA(3) = CBA(3) + C(10)*DIR(3)*DIR(1) - ENDIF - ENDIF - XLINE = .FALSE. -* - 200 IF (XLINE) THEN -* -* in case it is a plane (4 coefficients) or a simplified surface -* - IF (1.E+6*ABS(CBA(2)).LE.ABS(CBA(1))) GO TO 999 - NTAU = 1 - TAU(1) = - CBA(1)/CBA(2) - ELSE -* -** in case it is a surface with 7 or 10 coefficients - CALL GVPSQR (CBA, TAU, NTAU) - ENDIF -* - 999 NTAU = MAX(0,NTAU) - RETURN - END diff --git a/StarVMC/geant3/ggeom/gvpsqr.F b/StarVMC/geant3/ggeom/gvpsqr.F deleted file mode 100644 index d986aa47271..00000000000 --- a/StarVMC/geant3/ggeom/gvpsqr.F +++ /dev/null @@ -1,96 +0,0 @@ -* -* $Id: gvpsqr.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvpsqr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:17 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : -* - SUBROUTINE GVPSQR (CBA, SOL, NSOL) -************************************************************************ -* * -* SUBROUTINE GVPSQR (CBA,SOL,NSOL) 870924 VP * -* * -* SOLVE QUADRATIC EQUATION * -* * -* ARGUMENTS: * -* CBA Array of coeff's A0 + A1*x + A2*x**2 * -* SOL Solutions * -* NSOL Number of solutions : * -* if zero - SOL(1)= extremum * -* if -ve - No solution at all * -* * -************************************************************************ - - PARAMETER (ZERO2=1.E-12) - REAL CBA(3), SOL(2), SWAP -*----------------------------------------------------------------------- - - A = CBA(3) - B = CBA(2)*.5 - C = CBA(1) - IF (B.LT.0.) THEN - A = -A - B = -B - C = -C - ENDIF - - AMX = MAX (ABS(A),ABS(B),ABS(C)) - IF (AMX.LE.0.) GO TO 100 - A = A/AMX - B = B/AMX - C = C/AMX - - DIS = B**2 - A*C - NSOL = 1 - IF (ABS(DIS) .LE. ZERO2) DIS = 0. - IF (DIS.LT.0.) THEN - NSOL = 0 - DIS = 0. - ENDIF - - IF (DIS.GT.0.) DIS = SQRT(DIS) - BDIS = B + DIS - IF (ABS(C).GT.1.E+10*BDIS) GO TO 100 - SOL(1) = 0. - IF (ABS(BDIS).LE.0.) GO TO 999 - SOL(1) = (-C/BDIS) - IF (DIS.LE.0.) GO TO 999 - IF (BDIS.GE.1.E+10*ABS(A)) GO TO 999 - NSOL = 2 - SOL(2) = (-BDIS/A) - IF (SOL(1).GT.SOL(2)) THEN - SWAP = SOL(1) - SOL(1) = SOL(2) - SOL(2) = SWAP - ENDIF - GO TO 999 - -* -** No solutions - 100 NSOL = -1 - - 999 RETURN - END diff --git a/StarVMC/geant3/ggeom/gvsafe.F b/StarVMC/geant3/ggeom/gvsafe.F deleted file mode 100644 index e15cce56927..00000000000 --- a/StarVMC/geant3/ggeom/gvsafe.F +++ /dev/null @@ -1,125 +0,0 @@ -* -* $Id: gvsafe.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvsafe.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : -* - FUNCTION GVSAFE (XYZ, C1, C, NC) -************************************************************************ -* * -* GVSAFE Calculates the distance from a point YB 870511 * -* to a surface, and the gradient in this point. * -* This is an approximation of the distance, which is smaller * -* than the real distance. * -* * -* Input : XYZ point coordinates * -* C1 constant coefficient from the surface * -* C(1) number of non constant coefficients from * -* the surface * -* C(2),C(3),... non constant coefficients from the surface * -* NC total number of coefficients from the surface * -* * -* Extra OUTPUT: COMMON/SLATE/ISLATE(2) ISLATE(2)=ISIGN (from GVSIGN) * -* SLATE(10) - value of S(X) * -* SLATE(11:13) - gradient * -* SLATE(14) - normalisation factor for distance * -* SLATE(15) - normalisation factor for gradient * -* * -************************************************************************ - COMMON /SLATE/ SLATE (40) - INTEGER ISLATE(40) - EQUIVALENCE (SLATE,ISLATE) - EQUIVALENCE (JDUMM,SLATE(2)) - REAL XYZ(3) , C(*) - INTEGER GVSIGN -*----------------------------------------------------------------------- - SLATE(14) = 1. - SLATE(15) = 1. - IF (NC.NE.2) GO TO 200 -* -* case with simplified surface X=C0, Y=C0, Z=C0, X*2+Y*2=C0 -* (happens only when initialisation is done) -* - IAX = C(2) - SLATE(11) = 0. - SLATE(12) = 0. - SLATE(13) = 0. - IF (IAX.LE.3) THEN - SLATE(10) = C1 + XYZ(IAX) - SLATE(IAX+10) = 1. - CC = SLATE(10) - ELSE - RXY2 = XYZ(1)**2 + XYZ(2)**2 - RXY = SQRT(RXY2) - SLATE(10) = (RXY2 - C1**2) - SLATE(11) = 2.*XYZ(1) - SLATE(12) = 2.*XYZ(2) - SLATE(15) = 2.*RXY - SLATE(14) = (RXY-C1) - CC = SLATE(10)/SLATE(14) - ENDIF - IF (SLATE(10)) 101,102,103 - 101 ISLATE(2) = -1 - GO TO 999 - 102 ISLATE(2) = 0 - GO TO 999 - 103 ISLATE(2) = +1 - GO TO 999 -* -* case with surfaces with 4, 7 or 10 coefficients (normal case) -* - 200 JDUMM = GVSIGN (XYZ, C1, C, NC) - CC = SLATE(1) - SLATE(10) = SLATE(1) - SLATE(11) = C(2) - SLATE(12) = C(3) - SLATE(13) = C(4) - IF (NC .EQ. 4) GO TO 999 - IF (NC .EQ. 7) THEN - AA = 1. - ELSE -CCC AA = C(5)**2+C(6)**2+C(7)**2CCC AA = C(5)**2+C(6)**2+C(7)**2 -CCC ++ 0.5*(C(8)**2+C(9)**2+C(10)**2) -CCC AA = SQRT(AA) - AA = 2.0 - ENDIF - CALL GVGRAD (XYZ, C, NC, SLATE(11)) - TT2 = SLATE(11)**2 + SLATE(12)**2 + SLATE(13)**2 - SLATE(14) = (TT2+4.*AA*ABS(CC)) - IF (SLATE(14)-TT2.LE.0.1*TT2) THEN - SLATE(15) = SQRT(SLATE(14)) - SLATE(14) = SLATE(15) - ELSE - SLATE(15) = SQRT(TT2) - SLATE(14) = 0.5*(SLATE(15) + SQRT(SLATE(14))) - ENDIF - IF (ABS(SLATE(14)).LE.0.) SLATE(14) = 1.E-10 - CC = CC / SLATE(14) - - 999 GVSAFE = CC - - END diff --git a/StarVMC/geant3/ggeom/gvsign.F b/StarVMC/geant3/ggeom/gvsign.F deleted file mode 100644 index f40e81f21fe..00000000000 --- a/StarVMC/geant3/ggeom/gvsign.F +++ /dev/null @@ -1,92 +0,0 @@ -* -* $Id: gvsign.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: gvsign.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : -* - INTEGER FUNCTION GVSIGN (XYZ, C0, C, NC) -************************************************************************ -* * -* Calculate the sign of the given point in relation YB 870424 * -* to the surface VP 880312 * -* * -* Input : XYZ - point to be tested * -* C0 - first coefficient of surface * -* C - coefficients of surface in the standart form * -* ,the first one is taken from C1 * -* NC - number of coefficients (4,7, 10) * -* * -* Output : -1, 0, +1 depending on side * -* * -************************************************************************ - COMMON /SLATE/ SLATE (40) - INTEGER ISLATE(40) - EQUIVALENCE (SLATE,ISLATE) - REAL XYZ(3), C(0:9) - EQUIVALENCE (TMP,SLATE(1)) -*----------------------------------------------------------------------- - -#if defined(CERNLIB_GVCONT) - NSIGN = NSIGN + 1 -#endif -* - GO TO (10013,10002,10013,10004,10013 - +, 10013,10007,10013,10013,10010),NC -10013 CALL ZFATAM('GVSIGN. WRONG length') -* -* special simple case -10002 IAX = C(1) - IF (IAX.LE.3) THEN -* X,Y,Z boundary - TMP = C0 + XYZ(IAX) - ELSE -* Rxy boundary - TMP = -C0**2 + XYZ(1)**2 + XYZ(2)**2 - ENDIF - GO TO 10090 -* plane boundary -10004 TMP = C0+C(1)*XYZ(1)+C(2)*XYZ(2)+C(3)*XYZ(3) - GO TO 10090 - -* 2nd order boundary, short case -10007 TMP = C0 - ++XYZ(1)*(C(1)+C(4)*XYZ(1)) - ++XYZ(2)*(C(2)+C(5)*XYZ(2)) - ++XYZ(3)*(C(3)+C(6)*XYZ(3)) - GO TO 10090 -* 2nd order boundary, general case -10010 TMP = C0 - ++XYZ(1)*(C(1)+C(4)*XYZ(1)+C(7)*XYZ(2)) - ++XYZ(2)*(C(2)+C(5)*XYZ(2)+C(8)*XYZ(3)) - ++XYZ(3)*(C(3)+C(6)*XYZ(3)+C(9)*XYZ(1)) -* -10090 IS = -1 - IF (TMP.GE.0.) IS = 1 -* - 999 GVSIGN = IS - RETURN - END diff --git a/StarVMC/geant3/ggeom/sxsrot.F b/StarVMC/geant3/ggeom/sxsrot.F deleted file mode 100644 index 20c710f8fba..00000000000 --- a/StarVMC/geant3/ggeom/sxsrot.F +++ /dev/null @@ -1,25 +0,0 @@ - SUBROUTINE SXSROT(NMAT,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3) -C -C *** INITIALISATION OF THE ALICE ZEBRA STRUCTURE *** -C *** FCA 22-APR-1998 CERN EP *** -C -C CALLED BY : *_GEOM, *_ROTM, *_TMED -C ORIGIN : FEDERICO CARMINATI -C -#include "geant321/gcbank.inc" -*KEND. -* - NMAT=1 - IF(JROTM.GT.0) THEN - NS=IQ(JROTM-2) - DO KZ=1,NS - IF(LQ(JROTM-KZ).EQ.0) THEN - NMAT=KZ - GOTO 10 - ENDIF - ENDDO - NMAT=NS+1 - ENDIF - 10 CALL G3SROTM(NMAT,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3) -* - 999 END diff --git a/StarVMC/geant3/gheisha/add.F b/StarVMC/geant3/gheisha/add.F deleted file mode 100644 index 72d95779fb5..00000000000 --- a/StarVMC/geant3/gheisha/add.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: add.F,v 1.1.1.2 2009/02/01 17:10:26 fisyak Exp $ -* -* $Log: add.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:26 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : -C -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE ADD(K,L,M) -C -C --- PV-ARRAY --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -C - DOUBLE PRECISION A,B -C - A=PV(4,K)+PV(4,L) - PV(4,M)=A - B=A*A - DO 2 I=1,3 - A=PV(I,K)+PV(I,L) - B=B-A*A - PV(I,M)=A - 2 CONTINUE - PV(5,M)=SIGN(SQRT(ABS(B)),B) - RETURN - END diff --git a/StarVMC/geant3/gheisha/add3.F b/StarVMC/geant3/gheisha/add3.F deleted file mode 100644 index c4e12b9dcbf..00000000000 --- a/StarVMC/geant3/gheisha/add3.F +++ /dev/null @@ -1,34 +0,0 @@ -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE ADD3(K,L,M) -C -C --- PV-ARRAY --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -C - DOUBLE PRECISION A -C - DO 2 I=1,3 - A=PV(I,K)+PV(I,L) - PV(I,M)=A - 2 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/ang.F b/StarVMC/geant3/gheisha/ang.F deleted file mode 100644 index fa7ed67e041..00000000000 --- a/StarVMC/geant3/gheisha/ang.F +++ /dev/null @@ -1,73 +0,0 @@ -* -* $Id: ang.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: ang.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:07 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : -C -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE ANG(K,L,U,V) -C -C --- PV-ARRAY --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -C - DOUBLE PRECISION A,B,C,D -C - A=0.0 - B=0.0 - C=0.0 - DO 38 I=1,3 - A=A+PV(I,K)*PV(I,K) - B=B+PV(I,L)*PV(I,L) - C=C+PV(I,K)*PV(I,L) - 38 CONTINUE - D=SQRT(A*B) - IF (D .NE. 0.0) D=C/D - IF (ABS(D) .GT. 1.D0) D=SIGN(1.D0,D) - U=D - V=ACOS(D) - RETURN - END diff --git a/StarVMC/geant3/gheisha/atomas.F b/StarVMC/geant3/gheisha/atomas.F deleted file mode 100644 index 2ffe64b700c..00000000000 --- a/StarVMC/geant3/gheisha/atomas.F +++ /dev/null @@ -1,84 +0,0 @@ -* -* $Id: atomas.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: atomas.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - REAL FUNCTION ATOMAS(A,Z) -C -C *** DETERMINATION OF THE ATOMIC MASS *** -C *** NVE 19-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (02-DEC-1986) -C -#include "geant321/s_consts.inc" -C -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION AA,ZZ,MASS -#endif -C -C --- GET ATOMIC (= ELECTRONS INCL.) MASSES (IN MEV) FROM RMASS ARRAY --- -C --- ELECTRON --- - RMEL=RMASS(4)*1000. -C --- PROTON --- - RMP=RMASS(14)*1000. -C --- NEUTRON --- - RMN=RMASS(16)*1000. -C --- DEUTERON --- - RMD=RMASS(30)*1000.+RMEL -C --- ALPHA --- - RMA=RMASS(32)*1000.+2.*RMEL -C - ATOMAS = 0. - AA = A * 1.D0 - ZZ = Z * 1.D0 - IA = IFIX(A + 0.5) - IF(IA.LT.1) RETURN - IZ = IFIX(Z + 0.5) - IF(IZ.LT.0) RETURN - IF(IZ.GT.IA) RETURN - IF(IA.GT.4) GOTO 50 - MASS=0.D0 - GOTO (10,20,50,40),IA - 10 IF(IZ.EQ.0) MASS=RMN - IF(IZ.EQ.1) MASS=RMP+RMEL - GOTO 60 - 20 IF(IZ.NE.1) GOTO 50 - MASS=RMD - GOTO 60 - 40 IF(IZ.NE.2) GOTO 50 - MASS=RMA - GOTO 60 - 50 MASS=(AA-ZZ)*RMN + ZZ*RMP +ZZ*RMEL - 15.67*AA - * + 17.23*(AA**0.6666667) + 93.15*((AA/2.-ZZ)**2)/AA - * +0.6984523*ZZ**2/(AA**0.3333333) - IPP=MOD(IA-IZ,2) - IZZ=MOD(IZ,2) - IF(IPP.NE.IZZ) GOTO 60 - MASS = MASS + (IPP+IZZ- 1)*12.00*(AA**(-0.5)) - 60 ATOMAS = MASS*0.001 - RETURN - END diff --git a/StarVMC/geant3/gheisha/captur.F b/StarVMC/geant3/gheisha/captur.F deleted file mode 100644 index 3f7cb3015cc..00000000000 --- a/StarVMC/geant3/gheisha/captur.F +++ /dev/null @@ -1,114 +0,0 @@ -* -* $Id: captur.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: captur.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE CAPTUR(NOPT) -C -C *** ROUTINE FOR CAPTURE OF NEUTRAL BARYONS *** -C *** NVE 04-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (02-DEC-1986) -C -#include "geant321/s_defcom.inc" - DIMENSION RNDM(3) -C - NOPT=1 - IER(81)=IER(81)+1 - PV(1,1)=PX*P - PV(2,1)=PY*P - PV(3,1)=PZ*P - PV(4,1)=EN - PV(5,1)=ABS(AMAS) - PV(6,1)=NCH - PV(7,1)=TOF - PV(8,1)=IPART - PV(9,1)=0. - PV(10,1)=USERW - ND=IND+1 - PV(1,2)=0. - PV(2,2)=0. - PV(3,2)=0. - PV(4,2)=ATOMAS(ATNO(ND),ZNO(ND)) - PV(5,2)=PV(4,2) - PV(6,2)=ZNO(ND) - PV(7,2)=TOF - PV(8,2)=0. - PV(9,2)=0. - PV(10,2)=0. - CALL ADD(1,2,MXGKPV) - PV(1,MXGKPV)=-PV(1,MXGKPV) - PV(2,MXGKPV)=-PV(2,MXGKPV) - PV(3,MXGKPV)=-PV(3,MXGKPV) - CALL NORMAL(RAN) - P=0.0065+RAN*0.0010 - CALL GRNDM(RNDM,3) - COST=-1.+RNDM(1)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(2) - PV(1,3)=P*SINT*SIN(PHI) - PV(2,3)=P*SINT*COS(PHI) - PV(3,3)=P*COST - PV(4,3)=P - PV(5,3)=0. - PV(6,3)=0. - PV(8,3)=1. - PV(9,3)=0. - PV(10,3)=0. - RAN=RNDM(3) - TOF=TOF-480.*LOG(RAN) - PV(7,3)=TOF - CALL LOR(3,MXGKPV,3) - NT=3 - XP=0.008-P - IF(XP.LT.0.) GOTO 9 - NT=4 - CALL GRNDM(RNDM,2) - COST=-1.+RNDM(1)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(2) - PV(1,4)=XP*SINT*SIN(PHI) - PV(2,4)=XP*SINT*COS(PHI) - PV(3,4)=XP*COST - PV(4,4)=XP - PV(5,4)=0. - PV(6,4)=0. - PV(7,4)=TOF - PV(8,4)=1. - PV(9,4)=0. - PV(10,4)=0. - CALL LOR(4,MXGKPV,4) - 9 INTCT=INTCT+1. - CALL SETCUR(3) - NTK=NTK+1 - IF(NT.EQ.4) CALL SETTRK(4) - IF(NPRT(4)) - *WRITE(NEWBCD,1002) XEND,YEND,ZEND,EN,XP -1002 FORMAT(' *CAPTUR* NEUTRON CAPTURE POSITION',3(2X,F8.2),2X, - * 'PHOTON ENERGIES',2X,2F8.4) -C - END diff --git a/StarVMC/geant3/gheisha/casal0.F b/StarVMC/geant3/gheisha/casal0.F deleted file mode 100644 index 8f7f120e992..00000000000 --- a/StarVMC/geant3/gheisha/casal0.F +++ /dev/null @@ -1,507 +0,0 @@ -* -* $Id: casal0.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casal0.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASAL0(K,INT,NFL) -C -C *** CASCADE OF ANTI-LAMBDA *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C L0B UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL1(2,1200),PMUL2(2,400),ANORM1(2,60),ANORM2(2,60), - $ CECH(10),ANHL(25),IIPA(10,2),B(2) - DIMENSION RNDM(2) - SAVE PMUL1,ANORM1,PMUL2,ANORM2 - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ - DATA ANHL/1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,0.97,0.88 - $ ,0.85,0.81,0.75,0.64,0.64,0.55,0.55,0.45,0.47,0.40 - $ ,0.39,0.36,0.33,0.10,0.01/ - DATA IIPA/24,25,14,14,16,23,24,16,16,14, - $ 14,16,19,24,25,14,16,19,24,23/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(1) --- - IF (KGINIT(1) .NE. 0) GO TO 10 - KGINIT(1)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL1(I,J)=0.0 - IF (J .LE. 400) PMUL2(I,J)=0.0 - IF (J .LE. 60) ANORM1(I,J)=0.0 - IF (J .LE. 60) ANORM2(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL1(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM1(1,NT)=ANORM1(1,NT)+PMUL1(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+2 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL1(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM1(2,NT)=ANORM1(2,NT)+PMUL1(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM1(1,I).GT.0.) ANORM1(1,I)=1./ANORM1(1,I) - IF(ANORM1(2,I).GT.0.) ANORM1(2,I)=1./ANORM1(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 9 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM1(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL1(NFL,I),I=1,1200) - 4 CONTINUE -C** DO THE SAME FOR ANNIHILATION CHANNELS -C** FOR P AS TARGET -C - 9 L=0 - DO 5 NP1=2,20 - NP=NP1-1 - NM=NP-1 - DO 5 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 5 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 5 - PMUL2(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM2(1,NT)=ANORM2(1,NT)+PMUL2(1,L) - 5 CONTINUE -C** FOR N AS TARGET - L=0 - DO 6 NP1=1,20 - NP=NP1-1 - NM=NP - DO 6 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 6 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 6 - PMUL2(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM2(2,NT)=ANORM2(2,NT)+PMUL2(2,L) - 6 CONTINUE - DO 7 I=1,60 - IF(ANORM2(1,I).GT.0.) ANORM2(1,I)=1./ANORM2(1,I) - IF(ANORM2(2,I).GT.0.) ANORM2(2,I)=1./ANORM2(2,I) - 7 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,3001) - DO 8 NFL=1,2 - WRITE(NEWBCD,3002) NFL - WRITE(NEWBCD,3003) (ANORM2(NFL,I),I=1,60) - WRITE(NEWBCD,3003) (PMUL2(NFL,I),I=1,400) - 8 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-ABS(RMASS(19)) -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - IPA(1)=19 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - N=0. - IF(INT.EQ.2) GOTO 20 - IPLAB=IFIX(P*2.5)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 120 -C** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTION -C** LB P --> S0B P, LB P --> S-B N, LB N --> S+B P, LB N --> S0B N -C** LB P --> P LB, LB P --> P S0B, LB P --> N S-B -C** LB N --> N LB, LB N --> N S0B, LB N --> P S+B - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRN=IFIX(RAN/0.2)+1 - IF(IRN.GT.5) IRN=5 - IRN=IRN+(NFL-1)*5 - IPA(1)=IIPA(IRN,1) - IPA(2)=IIPA(IRN,2) - GOTO 120 -C** ANNIHILATION CHANNELS - 20 IPLAB=IFIX(P*10.)+1 - IF(IPLAB.GT.10) IPLAB=IFIX((P-1.)*5.)+11 - IF(IPLAB.GT.15) IPLAB=IFIX( P-2. )+16 - IF(IPLAB.GT.23) IPLAB=IFIX((P-10.)/10.)+24 - IF(IPLAB.GT.25) IPLAB=25 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ANHL(IPLAB)) GOTO 19 - EAB=RS - IF (EAB .LE. RMASS(7)+RMASS(10)) GOTO 55 - GOTO 222 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 19 IF (EAB .LE. RMASS(7)) GOTO 55 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(1,L)*ANORM1(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+2 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(2,L)*ANORM1(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 -C** ANNIHILATION CHANNELS - 222 IPA(1)=0 - IPA(2)=0 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S) - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 221 NT=2,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 221 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (230,240),NFL -C** FOR P AS TARGET - 230 L=0 - DO 231 NP1=2,20 - NP=NP1-1 - NM=NP-1 - DO 231 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 231 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 231 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(1,L)*ANORM2(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 231 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 240 L=0 - DO 241 NP1=1,20 - NP=NP1-1 - NM=NP - DO 241 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 241 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 241 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(2,L)*ANORM2(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 241 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - IF(INT.EQ.1) CALL TWOB(19,NFL,N) - IF(INT.EQ.2) CALL GENXPT(19,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND,ASSUME ELASTIC SCATTERING - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - IPA(1)=19 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - GOTO 120 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - GOTO (102,112),NFL - 102 NCHT=NP-NM - NCHT=NCHT+2 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.4) NCHT=4 - GOTO(103,104,105,106),NCHT - 103 IPA(1)=25 - IPA(2)=14 - GOTO 120 - 104 IPA(1)=19 - IPA(2)=14 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=24 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=25 - IPA(2)=16 - GOTO 120 - 105 IPA(1)=19 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=24 - IPA(2)=16 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=23 - IPA(2)=14 - GOTO 120 - 106 IPA(1)=23 - IPA(2)=16 - GOTO 120 - 112 NCHT=NP-NM - NCHT=NCHT+3 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.4) NCHT=4 - GOTO(113,114,115,116),NCHT - 113 IPA(1)=25 - IPA(2)=14 - GOTO 120 - 114 IPA(1)=19 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=24 - IPA(2)=14 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=25 - IPA(2)=16 - GOTO 120 - 115 IPA(1)=19 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=24 - IPA(2)=16 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=23 - IPA(2)=14 - GOTO 120 - 116 IPA(1)=23 - IPA(2)=16 - 120 NT=2 - IF(IPA(1).NE.0) GOTO 119 - IF(NZ.EQ.0) GOTO 118 - IF(NM.EQ.0) GOTO 117 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 118 - 117 IPA(3)=12 - NZ=NZ-1 - NT=3 - GOTO 119 - 118 IF(NM.EQ.0) GOTO 119 - IPA(3)=13 - NM=NM-1 - NT=3 - 119 IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASAL0* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASAL0* ANTILAMBDA-INDUCED CASCADE,', - $ 'AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASAL0* ANTILAMBDA-INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION', - $' NOT FOUND TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASAL0* TABLES FOR MULT. DATA ANTILAMBDA INDUCED ', - $'REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASAL0* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASAL0* ',I3,2X,'PARTICLES, MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASAL0* NO PARTICLES PRODUCED') -3001 FORMAT('0*CASAL0* TABLES FOR MULT. DATA ANTIPROTON INDUCED ', - $'ANNIHILATION REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN', - $' CODING') -3002 FORMAT(' *CASAL0* TARGET PARTICLE FLAG',2X,I5) -3003 FORMAT(1H ,10E12.4) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casaom.F b/StarVMC/geant3/gheisha/casaom.F deleted file mode 100644 index ea16860a91a..00000000000 --- a/StarVMC/geant3/gheisha/casaom.F +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: casaom.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casaom.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE CASAOM(K,INT,NFL) -C -C *** CASCADE OF OMEGA- BAR *** -C *** NVE 17-JAN-1989 CERN GENEVA *** -C -C OMEGA- BAR UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT, ASSUME NUCLEAR EXCITATION OCCURS, DEGRADE INPUT PARTICLE -C IN ENERGY AND NO OTHER PARTICLES ARE PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -C -C *** NOT YET FINISHED ==> TAKE OMEGA- CASCADE INSTEAD *** -C -C --- INITIALIZATION INDICATED BY KGINIT(24) --- - KGINIT(24)=1 -C - IF (NPRT(4)) PRINT 1000 - 1000 FORMAT(' *CASAOM* NOT WRITTEN YET ==> CASOM CALLED INSTEAD') -C - CALL CASOM(K,INT,NFL) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casasm.F b/StarVMC/geant3/gheisha/casasm.F deleted file mode 100644 index ced615954d4..00000000000 --- a/StarVMC/geant3/gheisha/casasm.F +++ /dev/null @@ -1,499 +0,0 @@ -* -* $Id: casasm.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casasm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASASM(K,INT,NFL) -C -C *** CASCADE OF ANTI SIGMA- *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C S-B UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL1(2,1200),PMUL2(2,400),ANORM1(2,60),ANORM2(2,60), - $ CECH(10),ANHL(25),IIPA(10,2),B(2) - DIMENSION RNDM(2) - SAVE PMUL1,ANORM1,PMUL2,ANORM2 - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ - DATA ANHL/1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,0.97,0.88 - $ ,0.85,0.81,0.75,0.64,0.64,0.55,0.55,0.45,0.47,0.40 - $ ,0.39,0.36,0.33,0.10,0.01/ - DATA IIPA/14,14,14,14,14,19,24,16,14,14, - $ 25,25,25,25,25,14,14,25,19,24/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(2) --- - IF (KGINIT(2) .NE. 0) GO TO 10 - KGINIT(2)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL1(I,J)=0.0 - IF (J .LE. 400) PMUL2(I,J)=0.0 - IF (J .LE. 60) ANORM1(I,J)=0.0 - IF (J .LE. 60) ANORM2(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL1(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM1(1,NT)=ANORM1(1,NT)+PMUL1(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+1 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL1(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM1(2,NT)=ANORM1(2,NT)+PMUL1(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM1(1,I).GT.0.) ANORM1(1,I)=1./ANORM1(1,I) - IF(ANORM1(2,I).GT.0.) ANORM1(2,I)=1./ANORM1(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 9 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM1(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL1(NFL,I),I=1,1200) - 4 CONTINUE -C** DO THE SAME FOR ANNIHILATION CHANNELS -C** FOR P AS TARGET -C - 9 L=0 - DO 5 NP1=3,20 - NP=NP1-1 - NM=NP-2 - DO 5 NZ1=1,20 - NZ=NZ1-1 - IF(NM+NZ.EQ.0) GOTO 5 - L=L+1 - IF(L.GT.400) GOTO 5 - NT=NP+NM+NZ - IF(NT.LE.2.OR.NT.GT.60) GOTO 5 - PMUL2(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM2(1,NT)=ANORM2(1,NT)+PMUL2(1,L) - 5 CONTINUE -C** FOR N AS TARGET - L=0 - DO 6 NP1=2,20 - NP=NP1-1 - NM=NP-1 - DO 6 NZ1=1,20 - NZ=NZ1-1 - IF(NM+NZ.EQ.0) GOTO 6 - L=L+1 - IF(L.GT.400) GOTO 6 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 6 - PMUL2(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM2(2,NT)=ANORM2(2,NT)+PMUL2(2,L) - 6 CONTINUE - DO 7 I=1,60 - IF(ANORM2(1,I).GT.0.) ANORM2(1,I)=1./ANORM2(1,I) - IF(ANORM2(2,I).GT.0.) ANORM2(2,I)=1./ANORM2(2,I) - 7 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,3001) - DO 8 NFL=1,2 - WRITE(NEWBCD,3002) NFL - WRITE(NEWBCD,3003) (ANORM2(NFL,I),I=1,60) - WRITE(NEWBCD,3003) (PMUL2(NFL,I),I=1,400) - 8 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-ABS(RMASS(25)) -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - IPA(1)=25 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - N=0. - IF(INT.EQ.2) GOTO 20 - IPLAB=IFIX(P*2.5)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 120 -C** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTION -C** S-B N --> LB P, S-B N --> S0B P, -C** S-B P --> P S-B -C** S-B N --> N S-B, S-B N --> P LB, S-B N --> P S0B - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRN=IFIX(RAN/0.2)+1 - IF(IRN.GT.5) IRN=5 - IRN=IRN+(NFL-1)*5 - IPA(1)=IIPA(IRN,1) - IPA(2)=IIPA(IRN,2) - GOTO 120 -C** ANNIHILATION CHANNELS - 20 IPLAB=IFIX(P*10.)+1 - IF(IPLAB.GT.10) IPLAB=IFIX((P-1.)*5.)+11 - IF(IPLAB.GT.15) IPLAB=IFIX( P-2. )+16 - IF(IPLAB.GT.23) IPLAB=IFIX((P-10.)/10.)+24 - IF(IPLAB.GT.25) IPLAB=25 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ANHL(IPLAB)) GOTO 19 - EAB=RS - IF (EAB .LE. RMASS(7)+RMASS(10)) GOTO 55 - GOTO 222 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 19 IF (EAB .LE. RMASS(7)) GOTO 55 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(1,L)*ANORM1(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+1 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(2,L)*ANORM1(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 -C** ANNIHILATION CHANNELS - 222 IPA(1)=0 - IPA(2)=0 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S) - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 221 NT=2,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 221 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (230,240),NFL -C** FOR P AS TARGET - 230 L=0 - DO 231 NP1=3,20 - NP=NP1-1 - NM=NP-2 - DO 231 NZ1=1,20 - NZ=NZ1-1 - IF(NM+NZ.EQ.0) GOTO 231 - L=L+1 - IF(L.GT.400) GOTO 231 - NT=NP+NM+NZ - IF(NT.LE.2.OR.NT.GT.60) GOTO 231 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(1,L)*ANORM2(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 231 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 240 L=0 - DO 241 NP1=2,20 - NP=NP1-1 - NM=NP-1 - DO 241 NZ1=1,20 - NZ=NZ1-1 - IF(NM+NZ.EQ.0) GOTO 241 - L=L+1 - IF(L.GT.400) GOTO 241 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 241 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(2,L)*ANORM2(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 241 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - IF(INT.EQ.1) CALL TWOB(25,NFL,N) - IF(INT.EQ.2) CALL GENXPT(25,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND,ASSUME ELASTIC SCATTERING - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - IPA(1)=25 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - GOTO 120 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - GOTO (102,112),NFL - 102 NCHT=NP-NM - NCHT=NCHT+1 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.3) NCHT=3 - GOTO(103,104,105),NCHT - 103 IPA(1)=25 - IPA(2)=14 - GOTO 120 - 104 IPA(1)=25 - IPA(2)=16 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) GOTO 120 - IPA(1)=24 - IF(RNDM(2).LT.0.5) IPA(1)=19 - IPA(2)=14 - GOTO 120 - 105 IPA(1)=24 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) IPA(1)=19 - IPA(2)=16 - GOTO 120 - 112 NCHT=NP-NM - NCHT=NCHT+2 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.3) NCHT=3 - GOTO(113,114,115),NCHT - 113 IPA(1)=25 - IPA(2)=14 - GOTO 120 - 114 IPA(1)=24 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=19 - IPA(2)=14 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=25 - IPA(2)=16 - GOTO 120 - 115 IPA(1)=24 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) IPA(1)=19 - IPA(2)=16 - 120 NT=2 - IF(IPA(1).NE.0) GOTO 119 - IF(NZ.EQ.0) GOTO 118 - IF(NM.EQ.0) GOTO 117 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 118 - 117 IPA(3)=12 - NZ=NZ-1 - NT=3 - GOTO 119 - 118 IF(NM.EQ.0) GOTO 119 - IPA(3)=13 - NM=NM-1 - NT=3 - 119 IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASASM* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASASM* ANTISIGMA- -INDUCED CASCADE', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASASM* ANTISIGMA- -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION', - $' NOT FOUND TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASASM* TABLES FOR MULT. DATA ANTISIGMA- INDUCED ', - $'REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASASM* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASASM* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASASM* NO PARTICLES PRODUCED') -3001 FORMAT('0*CASASM* TABLES FOR MULT. DATA ANTISIGMA- INDUCED ', - *'ANNIHILATION REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN', - *' CODING') -3002 FORMAT(' *CASASM* TARGET PARTICLE FLAG',2X,I5) -3003 FORMAT(1H ,10E12.4) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casasp.F b/StarVMC/geant3/gheisha/casasp.F deleted file mode 100644 index e904c04d5b6..00000000000 --- a/StarVMC/geant3/gheisha/casasp.F +++ /dev/null @@ -1,495 +0,0 @@ -* -* $Id: casasp.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casasp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASASP(K,INT,NFL) -C -C *** CASCADE OF ANTI SIGMA+ *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C S+B UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL1(2,1200),PMUL2(2,400),ANORM1(2,60),ANORM2(2,60), - $ CECH(10),ANHL(25),IIPA(10,2),B(2) - DIMENSION RNDM(2) - SAVE PMUL1,ANORM1,PMUL2,ANORM2 - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ - DATA ANHL/1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,0.97,0.88 - $ ,0.85,0.81,0.75,0.64,0.64,0.55,0.55,0.45,0.47,0.40 - $ ,0.39,0.36,0.33,0.10,0.01/ - DATA IIPA/19,24,16,16,14,16,16,16,16,16, - $ 16,16,19,24,23,23,23,23,23,23/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(3) --- - IF (KGINIT(3) .NE. 0) GO TO 10 - KGINIT(3)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL1(I,J)=0.0 - IF (J .LE. 400) PMUL2(I,J)=0.0 - IF (J .LE. 60) ANORM1(I,J)=0.0 - IF (J .LE. 60) ANORM2(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL1(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM1(1,NT)=ANORM1(1,NT)+PMUL1(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+2 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL1(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM1(2,NT)=ANORM1(2,NT)+PMUL1(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM1(1,I).GT.0.) ANORM1(1,I)=1./ANORM1(1,I) - IF(ANORM1(2,I).GT.0.) ANORM1(2,I)=1./ANORM1(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 9 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM1(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL1(NFL,I),I=1,1200) - 4 CONTINUE -C** DO THE SAME FOR ANNIHILATION CHANNELS -C** FOR P AS TARGET -C - 9 L=0 - DO 5 NP1=2,20 - NP=NP1-1 - NM=NP - DO 5 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 5 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 5 - PMUL2(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM2(1,NT)=ANORM2(1,NT)+PMUL2(1,L) - 5 CONTINUE -C** FOR N AS TARGET - L=0 - DO 6 NP1=1,20 - NP=NP1-1 - NM=NP+1 - DO 6 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 6 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 6 - PMUL2(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM2(2,NT)=ANORM2(2,NT)+PMUL2(2,L) - 6 CONTINUE - DO 7 I=1,60 - IF(ANORM2(1,I).GT.0.) ANORM2(1,I)=1./ANORM2(1,I) - IF(ANORM2(2,I).GT.0.) ANORM2(2,I)=1./ANORM2(2,I) - 7 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,3001) - DO 8 NFL=1,2 - WRITE(NEWBCD,3002) NFL - WRITE(NEWBCD,3003) (ANORM2(NFL,I),I=1,60) - WRITE(NEWBCD,3003) (PMUL2(NFL,I),I=1,400) - 8 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-ABS(RMASS(23)) -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - IPA(1)=23 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - N=0. - IF(INT.EQ.2) GOTO 20 - IPLAB=IFIX(P*2.5)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 120 -C** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTION -C** S+B P --> LB N, S+B P --> S0B N, -C** S+B P --> N LB, S+B P --> N S0B, S+B P --> P S+B -C** S+B N --> N S+B - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRN=IFIX(RAN/0.2)+1 - IF(IRN.GT.5) IRN=5 - IRN=IRN+(NFL-1)*5 - IPA(1)=IIPA(IRN,1) - IPA(2)=IIPA(IRN,2) - GOTO 120 -C** ANNIHILATION CHANNELS - 20 IPLAB=IFIX(P*10.)+1 - IF(IPLAB.GT.10) IPLAB=IFIX((P-1.)*5.)+11 - IF(IPLAB.GT.15) IPLAB=IFIX( P-2. )+16 - IF(IPLAB.GT.23) IPLAB=IFIX((P-10.)/10.)+24 - IF(IPLAB.GT.25) IPLAB=25 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ANHL(IPLAB)) GOTO 19 - EAB=RS - IF (EAB .LE. RMASS(7)+RMASS(10)) GOTO 55 - GOTO 222 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 19 IF (EAB .LE. RMASS(7)) GOTO 55 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(1,L)*ANORM1(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+2 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(2,L)*ANORM1(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 -C** ANNIHILATION CHANNELS - 222 IPA(1)=0 - IPA(2)=0 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S) - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 221 NT=2,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 221 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (230,240),NFL -C** FOR P AS TARGET - 230 L=0 - DO 231 NP1=2,20 - NP=NP1-1 - NM=NP - DO 231 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 231 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 231 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(1,L)*ANORM2(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 231 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 240 L=0 - DO 241 NP1=1,20 - NP=NP1-1 - NM=NP+1 - DO 241 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 241 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 241 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(2,L)*ANORM2(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 241 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - IF(INT.EQ.1) CALL TWOB(23,NFL,N) - IF(INT.EQ.2) CALL GENXPT(23,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND,ASSUME ELASTIC SCATTERING - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - IPA(1)=23 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - GOTO 120 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - GOTO (102,112),NFL - 102 NCHT=NP-NM - NCHT=NCHT+2 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.3) NCHT=3 - GOTO(103,104,105),NCHT - 103 IPA(1)=24 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) IPA(1)=19 - IPA(2)=14 - GOTO 120 - 104 IPA(1)=23 - IPA(2)=14 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) GOTO 120 - IPA(1)=24 - IF(RNDM(2).LT.0.5) IPA(1)=19 - IPA(2)=16 - GOTO 120 - 105 IPA(1)=23 - IPA(2)=16 - GOTO 120 - 112 NCHT=NP-NM - NCHT=NCHT+3 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.3) NCHT=3 - GOTO(113,114,115),NCHT - 113 IPA(1)=24 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) IPA(1)=19 - IPA(2)=14 - GOTO 120 - 114 IPA(1)=24 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=19 - IPA(2)=16 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=23 - IPA(2)=14 - GOTO 120 - 115 IPA(1)=23 - IPA(2)=16 - 120 NT=2 - IF(IPA(1).NE.0) GOTO 119 - IF(NZ.EQ.0) GOTO 118 - IF(NM.EQ.0) GOTO 117 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 118 - 117 IPA(3)=12 - NZ=NZ-1 - NT=3 - GOTO 119 - 118 IF(NM.EQ.0) GOTO 119 - IPA(3)=13 - NM=NM-1 - NT=3 - 119 IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASASP* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASASP* ANTISIGMA+ -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASASP* ANTISIGMA+ -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION', - $' NOT FOUND TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASASP* TABLES FOR MULT. DATA ANTISIGMA+ INDUCED ', - $'REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASASP* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASASP* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASASP* NO PARTICLES PRODUCED') -3001 FORMAT('0*CASASP* TABLES FOR MULT. DATA ANTIPROTON INDUCED ', - $'ANNIHILATION REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN', - $' CODING') -3002 FORMAT(' *CASASP* TARGET PARTICLE FLAG',2X,I5) -3003 FORMAT(1H ,10E12.4) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casax0.F b/StarVMC/geant3/gheisha/casax0.F deleted file mode 100644 index 753f4f3dbf0..00000000000 --- a/StarVMC/geant3/gheisha/casax0.F +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: casax0.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casax0.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE CASAX0(K,INT,NFL) -C -C *** CASCADE OF XI0 BAR *** -C *** NVE 17-JAN-1989 CERN GENEVA *** -C -C XI0 BAR UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT, ASSUME NUCLEAR EXCITATION OCCURS, DEGRADE INPUT PARTICLE -C IN ENERGY AND NO OTHER PARTICLES ARE PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -C -C *** NOT YET FINISHED ==> TAKE XI0 CASCADE INSTEAD *** -C -C --- INITIALIZATION INDICATED BY KGINIT(23) --- - KGINIT(23)=1 -C - IF (NPRT(4)) PRINT 1000 - 1000 FORMAT(' *CASAX0* NOT WRITTEN YET ==> CASX0 CALLED INSTEAD') -C - CALL CASX0(K,INT,NFL) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casaxm.F b/StarVMC/geant3/gheisha/casaxm.F deleted file mode 100644 index b717653c993..00000000000 --- a/StarVMC/geant3/gheisha/casaxm.F +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: casaxm.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casaxm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE CASAXM(K,INT,NFL) -C -C *** CASCADE OF XI- BAR *** -C *** NVE 17-JAN-1989 CERN GENEVA *** -C -C XI- BAR UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT, ASSUME NUCLEAR EXCITATION OCCURS, DEGRADE INPUT PARTICLE -C IN ENERGY AND NO OTHER PARTICLES ARE PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -C -C *** NOT YET FINISHED ==> TAKE XI- CASCADE INSTEAD *** -C -C --- INITIALIZATION INDICATED BY KGINIT(22) --- - KGINIT(22)=1 -C - IF (NPRT(4)) PRINT 1000 - 1000 FORMAT(' *CASAXM* NOT WRITTEN YET ==> CASXM CALLED INSTEAD') -C - CALL CASXM(K,INT,NFL) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casfrg.F b/StarVMC/geant3/gheisha/casfrg.F deleted file mode 100644 index ec8ac81dfd8..00000000000 --- a/StarVMC/geant3/gheisha/casfrg.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: casfrg.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casfrg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASFRG(NUCFLG,INT,NFL) -C -C *** CASCADE OF HEAVY FRAGMENTS *** -C *** NVE 11-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (02-DEC-1986) -C -C --- NUCFLG IS A FLAG TO DENOTE THE NUCREC ACTION --- -C NUCFLG = 0 ==> NO ACTION TAKEN BY NUCREC -C 1 ==> ACTION TAKEN BY NUCREC - NUCFLG=1 - CALL NUCREC(NOPT,2) - IF (NOPT .NE. 0) GO TO 9999 -C - NUCFLG=0 - CALL COSCAT -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/cask0.F b/StarVMC/geant3/gheisha/cask0.F deleted file mode 100644 index d4041b4d949..00000000000 --- a/StarVMC/geant3/gheisha/cask0.F +++ /dev/null @@ -1,388 +0,0 @@ -* -* $Id: cask0.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: cask0.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASK0(K,INT,NFL) -C -C *** CASCADE OF K0 *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C K0 UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),SUPP(10),CECH(10),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA SUPP/0.,0.4,0.55,0.65,0.75,0.82,0.86,0.90,0.94,0.98/ - DATA CECH/0.33,0.27,0.29,0.31,0.27,0.18,0.13,0.10,0.09,0.07/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(6) --- - IF (KGINIT(6) .NE. 0) GO TO 10 - KGINIT(6)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 2 NM1=NMM1,NP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(11) -C -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=11 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - IF(INT.EQ.2) GOTO 20 -C** FOR K0 P REACTIONS CHANGE SOME OF THE ELASTIC CROSS SECTION -C** TO K0 P --> K+ N - IF(NFL.EQ.2) GOTO 100 - IPLAB=IFIX(P *5.)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 100 - IPA(1)=10 - IPA(2)=16 - GOTO 100 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 20 IF (EAB .LE. RMASS(7)) GOTO 55 -C** SUPPRESSION OF HIGH MULTIPLICITY EVENTS AT LOW MOMENTUM - IEAB=IFIX(EAB*5.)+1 - IF(IEAB.GT.10) GOTO 22 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SUPP(IEAB)) GOTO 22 - N=1. - GOTO (24,23),NFL - 23 CONTINUE - TEST=-(1+B(1))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST) - TEST=-(-1+B(1))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - WM=EXP(TEST) - W0=W0/2.0 - WM=WM*1.5 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/(W0+WM)) GOTO 50 - NP=0 - NM=1 - NZ=0 - GOTO 50 - 24 CONTINUE - TEST=-(1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST) - WP=EXP(TEST) - TEST=-(-1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - WM=EXP(TEST) - WT=W0+WP+WM - WP=W0+WP - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/WT) GOTO 50 - NP=1 - NM=0 - NZ=0 - IF(RAN.LT.WP/WT) GOTO 50 - NP=0 - NM=1 - NZ=0 - GOTO 50 -C - 22 ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 41 NM1=NMM1,NP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 41 CONTINUE - GOTO 80 - 50 GOTO (65,60),NFL - 60 IF(NP.EQ.1+NM) GOTO 61 - IF(NP.EQ.2+NM) GOTO 63 - IPA(1)=11 - IPA(2)=16 - GOTO 100 - 61 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 62 - IPA(1)=11 - IPA(2)=14 - GOTO 100 - 62 IPA(1)=10 - IPA(2)=16 - GOTO 100 - 63 IPA(1)=10 - IPA(2)=14 - GOTO 100 - 65 IF(NP.EQ.NM) GOTO 66 - IF(NP.EQ.1+NM) GOTO 68 - IPA(1)=11 - IPA(2)=16 - GOTO 100 - 66 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.25) GOTO 67 - IPA(1)=11 - IPA(2)=14 - GOTO 100 - 67 IPA(1)=10 - IPA(2)=16 - GOTO 100 - 68 IPA(1)=11 - IPA(2)=16 - GOTO 100 - 70 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF(INT.EQ.1) CALL TWOB(11,NFL,N) - IF(INT.EQ.2) CALL GENXPT(11,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=11 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - 100 DO 101 I=3,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - DO 132 I=1,NT - IF(IPA(I).NE.11) GOTO 132 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 132 - IPA(I)=12 - 132 CONTINUE - GOTO 70 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASK0* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASK0* K0 -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASK0* K0 -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASK0* TABLES FOR MULT. DATA K0 INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASK0* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASK0* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASK0* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/cask0b.F b/StarVMC/geant3/gheisha/cask0b.F deleted file mode 100644 index 5671d008450..00000000000 --- a/StarVMC/geant3/gheisha/cask0b.F +++ /dev/null @@ -1,408 +0,0 @@ -* -* $Id: cask0b.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: cask0b.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASK0B(K,INT,NFL) -C -C *** CASCADE OF ANTI K0 *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C K0B UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),CNK0(20),PIY1(4), - $ PIY2(3),IPIY1(2,4),IPIY2(2,3),IPIY3(2,3),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA CECH/1.,1.,1.,0.70,0.60,0.55,0.35,0.25,0.18,0.15/ - DATA CNK0/0.17,0.18,0.17,0.24,0.26,0.20,0.22,0.21,0.34,0.45 - $ ,0.58,0.55,0.36,0.29,0.29,0.32,0.32,0.33,0.33,0.33/ - DATA PIY1/0.67,0.78,0.89,1.00/,PIY2/0.68,0.84,1.00/ - DATA IPIY1/8,18,9,20,8,21,7,22/ - DATA IPIY2/9,18,9,21,8,22/,IPIY3/7,18,8,20,7,21/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(7) --- - IF (KGINIT(7) .NE. 0) GO TO 10 - KGINIT(7)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 1 NM1=NMM1,NP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+1 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-ABS(RMASS(12)) -C -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=12 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - IF(INT.EQ.2) GOTO 20 - GOTO 100 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 20 IPLAB=IFIX(P*5.)+1 - IF(IPLAB.GT.10) GOTO 22 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.CECH(IPLAB)) GOTO 19 - IF (EAB .LT. RMASS(7)) GOTO 55 - GOTO 22 -C** CHARGE EXCHANGE REACTION (IS INCLUDED IN INELASTIC CROSS SECTION) - 19 IPLAB=IFIX(P*10.)+1 - IF(IPLAB.GT.20) IPLAB=20 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CNK0(IPLAB)) GOTO 24 - IF(NFL.EQ.2) GOTO 23 -C** FOR K0B P REACTION NO K N STRANGENESS EXCHANGE POSSIBLE - INT=1 - IPA(1)=12 - IPA(2)=14 - GOTO 100 - 23 INT=1 - IPA(1)=13 - IPA(2)=14 - GOTO 100 -C** P L, P S REACTIONS - 24 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(RAN.LT.0.25) GOTO 25 - IF(RAN.LT.0.50) GOTO 26 - IF(RAN.LT.0.75) GOTO 27 -C** K0B P --> PI+ L OR K0B N --> PI0 L - IPA(1)=7 - IF(NFL.EQ.2) IPA(1)=8 - IPA(2)=18 - GOTO 100 -C** K0B N --> PI- S+ - 25 IPA(1)=9 - IPA(2)=20 - IF(NFL.EQ.2) GOTO 100 - IPA(1)=12 - IPA(2)=14 - GOTO 100 -C** K0B P --> PI+ S0 OR K0B N --> PI0 S0 - 26 IPA(1)=7 - IF(NFL.EQ.2) IPA(1)=8 - IPA(2)=21 - GOTO 100 -C** K0B N --> PI+ S- - 27 IPA(1)=7 - IPA(2)=22 - IF(NFL.EQ.2) GOTO 100 - IPA(1)=12 - IPA(2)=14 - GOTO 100 -C - 22 ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 31 NM1=NMM1,NP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+1 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 41 CONTINUE - GOTO 80 - 50 GOTO (65,60),NFL - 60 IF(NP.EQ.NM) GOTO 61 - IF(NP.EQ.1+NM) GOTO 63 - IPA(1)=12 - IPA(2)=14 - GOTO 90 - 61 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.75) GOTO 62 - IPA(1)=13 - IPA(2)=14 - GOTO 90 - 62 IPA(1)=13 - IPA(2)=14 - GOTO 90 - 63 IPA(1)=13 - IPA(2)=16 - GOTO 90 - 65 IF(NP.EQ.1+NM) GOTO 66 - IF(NP.EQ.NM) GOTO 68 - IPA(1)=13 - IPA(2)=16 - GOTO 90 - 66 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.50) GOTO 67 - IPA(1)=12 - IPA(2)=16 - GOTO 90 - 67 IPA(1)=13 - IPA(2)=14 - GOTO 90 - 68 IPA(1)=12 - IPA(2)=14 -C** PI Y PRODUCTION INSTEAD OF K N - 90 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 100 - IF(IPA(1).EQ.13.AND.IPA(2).EQ.16) GOTO 95 - IF(IPA(1).EQ.11.AND.IPA(2).EQ.14) GOTO 95 - IF(IPA(1).EQ.12.AND.IPA(2).EQ.14) GOTO 95 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - DO 91 I=1,4 - IF(RAN.LT.PIY1(I)) GOTO 92 - 91 CONTINUE - GOTO 100 - 92 IPA(1)=IPIY1(1,I) - IPA(2)=IPIY1(2,I) - GOTO 100 - 95 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - DO 96 I=1,3 - IF(RAN.LT.PIY2(I)) GOTO 97 - 96 CONTINUE - GOTO 100 - 97 IF(IPA(2).EQ.14) GOTO 98 - IPA(1)=IPIY2(1,I) - IPA(2)=IPIY2(2,I) - GOTO 100 - 98 IPA(1)=IPIY3(1,I) - IPA(2)=IPIY3(2,I) - GOTO 100 - 70 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF(INT.EQ.1) CALL TWOB(12,NFL,N) - IF(INT.EQ.2) CALL GENXPT(12,NFL,N) - GO TO 9999 -C** NUCLEAR EXCITATION - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=12 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - 100 DO 101 I=3,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - DO 132 I=1,NT - IF(IPA(I).NE.12) GOTO 132 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 132 - IPA(I)=11 - 132 CONTINUE - GOTO 70 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASK0B* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASK0B* K0B -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASK0B* K0B -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASK0B* TABLES FOR MULT. DATA K0B INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASK0B* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASK0B* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASK0B* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/caskm.F b/StarVMC/geant3/gheisha/caskm.F deleted file mode 100644 index 1120b95c840..00000000000 --- a/StarVMC/geant3/gheisha/caskm.F +++ /dev/null @@ -1,404 +0,0 @@ -* -* $Id: caskm.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: caskm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASKM(K,INT,NFL) -C -C *** CASCADE OF K- *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C K- UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),CNK0(20),PIY1(4), - $ PIY2(3),IPIY1(2,4),IPIY2(2,3),IPIY3(2,3),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA CECH/1.,1.,1.,0.70,0.60,0.55,0.35,0.25,0.18,0.15/ - DATA CNK0/0.17,0.18,0.17,0.24,0.26,0.20,0.22,0.21,0.34,0.45 - $ ,0.58,0.55,0.36,0.29,0.29,0.32,0.32,0.33,0.33,0.33/ - DATA PIY1/0.67,0.78,0.89,1.00/,PIY2/0.68,0.84,1.00/ - DATA IPIY1/8,18,9,20,8,21,7,22/ - DATA IPIY2/9,18,9,21,8,22/,IPIY3/7,18,8,20,7,21/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(4) --- - IF (KGINIT(4) .NE. 0) GO TO 10 - KGINIT(4)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NPP1=NP1+2 - DO 2 NM1=NP1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(13) -C -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=13 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - IF(INT.EQ.2) GOTO 20 - GOTO 100 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 20 IPLAB=IFIX(P*5.)+1 - IF(IPLAB.GT.10) GOTO 22 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.CECH(IPLAB)) GOTO 19 - IF (EAB .LT. RMASS(7)) GOTO 55 - GOTO 22 -C** CHARGE EXCHANGE REACTION (IS INCLUDED IN INELASTIC CROSS SECTION) - 19 IPLAB=IFIX(P*10.)+1 - IF(IPLAB.GT.20) IPLAB=20 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CNK0(IPLAB)) GOTO 24 - IF(NFL.EQ.1) GOTO 23 -C** FOR K- N REACTION NO K N STRANGENESS EXCHANGE POSSIBLE - INT=1 - IPA(1)=13 - IPA(2)=16 - GOTO 100 - 23 INT=1 - IPA(1)=12 - IPA(2)=16 - GOTO 100 -C** P L, P S REACTIONS - 24 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(RAN.LT.0.25) GOTO 25 - IF(RAN.LT.0.50) GOTO 26 - IF(RAN.LT.0.75) GOTO 27 -C** K- P --> PI0 L OR K- N --> PI- L - IPA(1)=8 - IF(NFL.EQ.2) IPA(1)=9 - IPA(2)=18 - GOTO 100 -C** K- P --> PI- S+ - 25 IPA(1)=9 - IPA(2)=20 - IF(NFL.EQ.1) GOTO 100 - IPA(1)=13 - IPA(2)=16 - GOTO 100 -C** K- P --> PI0 S0 OR K- N --> PI- S0 - 26 IPA(1)=8 - IF(NFL.EQ.2) IPA(1)=9 - IPA(2)=21 - GOTO 100 -C** K- P --> PI+ S- OR K- N --> PI0 S- - 27 IPA(1)=7 - IF(NFL.EQ.2) IPA(1)=8 - IPA(2)=22 - GOTO 100 -C - 22 ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NPP1=NP1+2 - DO 41 NM1=NP1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 41 CONTINUE - GOTO 80 - 50 GOTO (60,65),NFL - 60 IF(NP.EQ.NM) GOTO 61 - IF(NP.EQ.1+NM) GOTO 63 - IPA(1)=12 - IPA(2)=14 - GOTO 90 - 61 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.75) GOTO 62 - IPA(1)=12 - IPA(2)=16 - GOTO 90 - 62 IPA(1)=13 - IPA(2)=14 - GOTO 90 - 63 IPA(1)=13 - IPA(2)=16 - GOTO 90 - 65 IF(NP.EQ.-1+NM) GOTO 66 - IF(NP.EQ.NM) GOTO 68 - IPA(1)=12 - IPA(2)=16 - GOTO 90 - 66 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.50) GOTO 67 - IPA(1)=12 - IPA(2)=16 - GOTO 90 - 67 IPA(1)=13 - IPA(2)=14 - GOTO 90 - 68 IPA(1)=13 - IPA(2)=16 -C** PI Y PRODUCTION INSTEAD OF K N - 90 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 100 - IF(IPA(1).EQ.13.AND.IPA(2).EQ.16) GOTO 95 - IF(IPA(1).EQ.11.AND.IPA(2).EQ.14) GOTO 95 - IF(IPA(1).EQ.12.AND.IPA(2).EQ.14) GOTO 95 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - DO 91 I=1,4 - IF(RAN.LT.PIY1(I)) GOTO 92 - 91 CONTINUE - GOTO 100 - 92 IPA(1)=IPIY1(1,I) - IPA(2)=IPIY1(2,I) - GOTO 100 - 95 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - DO 96 I=1,3 - IF(RAN.LT.PIY2(I)) GOTO 97 - 96 CONTINUE - GOTO 100 - 97 IF(IPA(2).EQ.14) GOTO 98 - IPA(1)=IPIY2(1,I) - IPA(2)=IPIY2(2,I) - GOTO 100 - 98 IPA(1)=IPIY3(1,I) - IPA(2)=IPIY3(2,I) - GOTO 100 - 70 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF(INT.EQ.1) CALL TWOB(13,NFL,N) - IF(INT.EQ.2) CALL GENXPT(13,NFL,N) - GO TO 9999 -C** NUCLEAR EXCITATION - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=13 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - 100 DO 101 I=3,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - DO 132 I=1,NT - IF(IPA(I).NE.12) GOTO 132 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 132 - IPA(I)=11 - 132 CONTINUE - GOTO 70 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASKM* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASKM* KAON- -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASKM* KAON- -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASKM* TABLES FOR MULT. DATA KAON- INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASKM* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASKM* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASKM* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/caskp.F b/StarVMC/geant3/gheisha/caskp.F deleted file mode 100644 index 4f7aa01ef7f..00000000000 --- a/StarVMC/geant3/gheisha/caskp.F +++ /dev/null @@ -1,384 +0,0 @@ -* -* $Id: caskp.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: caskp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASKP(K,INT,NFL) -C -C *** CASCADE OF K+ *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C K+ UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),SUPP(10),CECH(10),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA SUPP/0.,0.4,0.55,0.65,0.75,0.82,0.86,0.90,0.94,0.98/ - DATA CECH/0.33,0.27,0.29,0.31,0.27,0.18,0.13,0.10,0.09,0.07/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(5) --- - IF (KGINIT(5) .NE. 0) GO TO 10 - KGINIT(5)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 1 NM1=NMM1,NP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(10) -C -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=10 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - IF(INT.EQ.2) GOTO 20 -C** FOR K+ N REACTIONS CHANGE SOME OF THE ELASTIC CROSS SECTION -C** TO K+ N --> K0 P - IF(NFL.EQ.1) GOTO 100 - IPLAB=IFIX(P *5.)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 100 - IPA(1)=11 - IPA(2)=14 - GOTO 100 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 20 IF (EAB .LE. RMASS(7)) GOTO 55 -C** SUPPRESSION OF HIGH MULTIPLICITY EVENTS AT LOW MOMENTUM - IEAB=IFIX(EAB*5.)+1 - IF(IEAB.GT.10) GOTO 22 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SUPP(IEAB)) GOTO 22 - N=1. - GOTO (23,24),NFL - 23 CONTINUE - TEST=-(1+B(1))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST) - WP=EXP(TEST) - WP=WP*2.0 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/(W0+WP)) GOTO 50 - NP=1 - NM=0 - NZ=0 - GOTO 50 - 24 CONTINUE - TEST=-(1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST) - WP=EXP(TEST) - TEST=-(-1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - WM=EXP(TEST) - WT=W0+WP+WM - WP=W0+WP - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/WT) GOTO 50 - NP=1 - NM=0 - NZ=0 - IF(RAN.LT.WP/WT) GOTO 50 - NP=0 - NM=1 - NZ=0 - GOTO 50 -C - 22 ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 31 NM1=NMM1,NP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 41 CONTINUE - GOTO 80 - 50 GOTO (60,65),NFL - 60 IF(NP.EQ.1+NM) GOTO 61 - IF(NP.EQ.2+NM) GOTO 63 - IPA(1)=10 - IPA(2)=14 - GOTO 100 - 61 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 62 - IPA(1)=10 - IPA(2)=16 - GOTO 100 - 62 IPA(1)=11 - IPA(2)=14 - GOTO 100 - 63 IPA(1)=11 - IPA(2)=16 - GOTO 100 - 65 IF(NP.EQ.NM) GOTO 66 - IF(NP.EQ.1+NM) GOTO 68 - IPA(1)=10 - IPA(2)=14 - GOTO 100 - 66 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.25) GOTO 67 - IPA(1)=10 - IPA(2)=16 - GOTO 100 - 67 IPA(1)=11 - IPA(2)=14 - GOTO 100 - 68 IPA(1)=11 - IPA(2)=16 - GOTO 100 - 70 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF(INT.EQ.1) CALL TWOB(10,NFL,N) - IF(INT.EQ.2) CALL GENXPT(10,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=10 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - 100 DO 101 I=3,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - DO 132 I=1,NT - IF(IPA(I).NE.11) GOTO 132 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 132 - IPA(I)=12 - 132 CONTINUE - GOTO 70 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASKP* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASKP* KAON+ -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASKP* KAON+ -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ 'TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASKP* TABLES FOR MULT. DATA KAON+ INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASKP* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASKP* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASKP* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casl0.F b/StarVMC/geant3/gheisha/casl0.F deleted file mode 100644 index 060883794ce..00000000000 --- a/StarVMC/geant3/gheisha/casl0.F +++ /dev/null @@ -1,355 +0,0 @@ -* -* $Id: casl0.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casl0.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASL0(K,INT,NFL) -C -C *** CASCADE OF LAMBDA *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C L0 UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),IIPA(10,2),B(2) - DIMENSION RNDM(2) - SAVE PMUL,ANORM - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ - DATA IIPA/20,21,14,14,16,21,22,16,16,14, - * 16,14,18,21,20,16,14,18,21,22/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(8) --- - IF (KGINIT(8) .NE. 0) GO TO 10 - KGINIT(8)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR N AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.0) NMM1=1 - NPP1=NP1+2 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR P AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(18) -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=18 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - IF(INT.EQ.2) GOTO 20 -C** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTIONS -C** LP --> S+N, LP --> S0 P , LN --> S0 N , LN --> S- P -C** LP --> P L, LP --> P S0 , LP --> N S+ -C** LN --> N L, LN --> N S0 , LN --> P S- - IPLAB=IFIX(P*2.5)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 120 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRN=IFIX(RAN/0.2)+1 - IF(IRN.GT.5) IRN=5 - IRN=IRN+(NFL-1)*5 - IPA(1)=IIPA(IRN,1) - IPA(2)=IIPA(IRN,2) - GOTO 120 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 20 IF (EAB .LE. RMASS(7)) GOTO 55 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-MP-MSM - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (40,30),NFL -C** FOR N AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.0) NMM1=1 - NPP1=NP1+2 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR P AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - IF(INT.EQ.1) CALL TWOB(18,NFL,N) - IF(INT.EQ.2) CALL GENXPT(18,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - IPA(1)=18 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - GOTO 120 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - GOTO (112,102),NFL - 102 NCHT=NP-NM - NCHT=NCHT+3 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.4) NCHT=4 - GOTO (103,104,105,106),NCHT - 103 IPA(1)=20 - IPA(2)=14 - GOTO 120 - 104 IPA(1)=18 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=21 - IPA(2)=14 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=20 - IPA(2)=16 - GOTO 120 - 105 IPA(1)=18 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=21 - IPA(2)=16 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=22 - IPA(2)=14 - GOTO 120 - 106 IPA(1)=22 - IPA(2)=16 - GOTO 120 - 112 NCHT=NP-NM - NCHT=NCHT+2 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.4) NCHT=4 - GOTO (113,114,115,116),NCHT - 113 IPA(1)=20 - IPA(2)=14 - GOTO 120 - 114 IPA(1)=18 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=21 - IPA(2)=14 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=20 - IPA(2)=16 - GOTO 120 - 115 IPA(1)=18 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=21 - IPA(2)=16 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=22 - IPA(2)=14 - GOTO 120 - 116 IPA(1)=22 - IPA(2)=16 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASL0* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASL0* LAMBDA-INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASL0* LAMBDA-INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASL0* TABLES FOR MULT. DATA LAMBDA INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASL0* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASL0* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASL0* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casn.F b/StarVMC/geant3/gheisha/casn.F deleted file mode 100644 index 61f9ad6292f..00000000000 --- a/StarVMC/geant3/gheisha/casn.F +++ /dev/null @@ -1,382 +0,0 @@ -* -* $Id: casn.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casn.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE CASN(K,INT,NFL) -C -C *** CASCADE OF NEUTRON *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C N UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/limits.inc" -#include "geant321/s_kginit.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),SUPP(10),CECH(10),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA SUPP/0.,0.4,0.55,0.65,0.75,0.82,0.86,0.90,0.94,0.98/ - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ - DATA B/0.35,0.0/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(17) --- - IF (KGINIT(17) .NE. 0) GO TO 10 - KGINIT(17)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR N AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NPP1=NP1+2 - DO 1 NM1=NP1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NPROT= -NP+NM - NNEUT=2-NPROT - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - NPROTF=NFAC(NPROT) - NNEUTF=NFAC(NNEUT) - PMUL(1,L)=PMUL(1,L)/(NPROTF*NNEUTF) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR P AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NPROT=1-NP+NM - NNEUT=2-NPROT - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - NPROTF=NFAC(NPROT) - NNEUTF=NFAC(NNEUT) - PMUL(2,L)=PMUL(2,L)/(NPROTF*NNEUTF) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(16) -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - N=0. - NCECH=0 - IF(INT.EQ.2) GOTO 20 -C** INTRODUCE CHARGE EXCHANGE REACTION PN --> NP - IF(NFL.EQ.2) GOTO 100 - IPLAB=IFIX(P*2.5)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 100 - NCECH=1 - GOTO 100 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 20 IF (EAB .LE. RMASS(7)) GOTO 55 -C** SUPPRESSION OF HIGH MULTIPLICITY EVENTS AT LOW MOMENTUM - IEAB=IFIX(EAB*5.)+1 - IF(IEAB.GT.10) GOTO 22 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SUPP(IEAB)) GOTO 22 - N=1. - GOTO (24,23),NFL - 23 CONTINUE - TEST=-(1+B(2))**2/(2.0*C**2) - IF (TEST .GT. EXPXU) TEST=EXPXU - IF (TEST .LT. EXPXL) TEST=EXPXL - W0=EXP(TEST)/2.0 - WM=EXP(TEST) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/(W0+WM)) GOTO 100 - NP=0 - NM=1 - NZ=0 - GOTO 100 - 24 CONTINUE - TEST=-(1+B(1))**2/(2.0*C**2) - IF (TEST .GT. EXPXU) TEST=EXPXU - IF (TEST .LT. EXPXL) TEST=EXPXL - W0=EXP(TEST) - WP=EXP(TEST)/2.0 - TEST=-(-1+B(1))**2/(2.0*C**2) - IF (TEST .GT. EXPXU) TEST=EXPXU - IF (TEST .LT. EXPXL) TEST=EXPXL - WM=EXP(TEST)/2.0 - WT=W0+WP+WM - WP=W0+WP - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/WT) GOTO 100 - NP=1 - NM=0 - NZ=0 - IF(RAN.LT.WP/WT) GOTO 100 - NP=0 - NM=1 - NZ=0 - GOTO 100 -C - 22 ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .GT. EXPXU) TEST=EXPXU - IF (TEST .LT. EXPXL) TEST=EXPXL - ANPN=ANPN+PI*NT*EXP(TEST)/(2.0*N*N) - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (40,30),NFL -C** FOR N AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NPP1=NP1+2 - DO 31 NM1=NP1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .GT. EXPXU) TEST=EXPXU - IF (TEST .LT. EXPXL) TEST=EXPXL - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR P AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .GT. EXPXU) TEST=EXPXU - IF (TEST .LT. EXPXL) TEST=EXPXL - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF(INT.EQ.1) CALL TWOB(16,NFL,N) - IF(INT.EQ.2) CALL GENXPT(16,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - NPROT=1-NP+NM+(1-NFL) - NNEUT=2-NPROT - GOTO (112,102),NFL - 102 GOTO (103,104),INT - 103 IPA(1)=16 - IPA(2)=16 - NT=2 - GOTO 130 - 104 IF(NNEUT.EQ.1) GOTO 105 - IF(NNEUT.EQ.2) GOTO 106 - IPA(1)=14 - IPA(2)=14 - GOTO 120 - 105 IPA(1)=14 - IPA(2)=16 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 120 - IPA(1)=16 - IPA(2)=14 - GOTO 120 - 106 IPA(1)=16 - IPA(2)=16 - GOTO 120 - 112 GOTO (113,114),INT - 113 IPA(1)=16 - IPA(2)=14 - NT=2 - IF(NCECH.EQ.0) GOTO 130 - IPA(1)=14 - IPA(2)=16 - GOTO 130 - 114 IF(NNEUT.EQ.1) GOTO 115 - IF(NNEUT.EQ.2) GOTO 116 - IPA(1)=14 - IPA(2)=14 - GOTO 120 - 115 IPA(1)=14 - IPA(2)=16 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.33) GOTO 120 - IPA(1)=16 - IPA(2)=14 - GOTO 120 - 116 IPA(1)=16 - IPA(2)=16 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASN* CASCADE ENERGETICALLY NOT POSSIBLE NUCLEAR', - * ' EXCITATION',2X,F8.4,2X,'INCIDENT ENERGY LOST') -1003 FORMAT(' *CASN* NEUTRON-INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASN* NEUTRON-INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASN* TABLES FOR MULT. DATA NEUTRON INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASN* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASN* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASN* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casnb.F b/StarVMC/geant3/gheisha/casnb.F deleted file mode 100644 index 2d40f7ccf04..00000000000 --- a/StarVMC/geant3/gheisha/casnb.F +++ /dev/null @@ -1,517 +0,0 @@ -* -* $Id: casnb.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casnb.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASNB(K,INT,NFL) -C -C *** CASCADE OF ANTI NEUTRON *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C NB UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL1(2,1200),PMUL2(2,400),ANORM1(2,60),ANORM2(2,60), - * SUPP(10),CECH(10),ANHL(25),B(2) - DIMENSION RNDM(1) - SAVE PMUL1,ANORM1,PMUL2,ANORM2 - DATA SUPP/0.,0.4,0.55,0.65,0.75,0.82,0.86,0.90,0.94,0.98/ - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ - DATA ANHL/1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,0.97,0.88 - * ,0.85,0.81,0.75,0.64,0.64,0.55,0.55,0.45,0.47,0.40 - * ,0.39,0.36,0.33,0.10,0.01/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(9) --- - IF (KGINIT(9) .NE. 0) GO TO 10 - KGINIT(9)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL1(I,J)=0.0 - IF (J .LE. 400) PMUL2(I,J)=0.0 - IF (J .LE. 60) ANORM1(I,J)=0.0 - IF (J .LE. 60) ANORM2(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 1 NM1=NMM1,NP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL1(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM1(1,NT)=ANORM1(1,NT)+PMUL1(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+1 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL1(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM1(2,NT)=ANORM1(2,NT)+PMUL1(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM1(1,I).GT.0.) ANORM1(1,I)=1./ANORM1(1,I) - IF(ANORM1(2,I).GT.0.) ANORM1(2,I)=1./ANORM1(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 9 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM1(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL1(NFL,I),I=1,1200) - 4 CONTINUE -C** DO THE SAME FOR ANNIHILATION CHANNELS -C** FOR P AS TARGET -C - 9 L=0 - DO 5 NP1=2,20 - NP=NP1-1 - NM=NP-1 - DO 5 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 5 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 5 - PMUL2(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM2(1,NT)=ANORM2(1,NT)+PMUL2(1,L) - 5 CONTINUE -C** FOR N AS TARGET - L=0 - DO 6 NP1=1,20 - NP=NP1-1 - NM=NP - DO 6 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 6 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 6 - PMUL2(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM2(2,NT)=ANORM2(2,NT)+PMUL2(2,L) - 6 CONTINUE - DO 7 I=1,60 - IF(ANORM2(1,I).GT.0.) ANORM2(1,I)=1./ANORM2(1,I) - IF(ANORM2(2,I).GT.0.) ANORM2(2,I)=1./ANORM2(2,I) - 7 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,3001) - DO 8 NFL=1,2 - WRITE(NEWBCD,3002) NFL - WRITE(NEWBCD,3003) (ANORM2(NFL,I),I=1,60) - WRITE(NEWBCD,3003) (PMUL2(NFL,I),I=1,400) - 8 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-ABS(RMASS(17)) -C** ELASTIC SCATTERING - NCECH=0 - NP=0 - NM=0 - NZ=0 - N=0. - IF(INT.EQ.2) GOTO 20 -C** INTRODUCE CHARGE EXCHANGE REACTION NB N --> PB P - IF(NFL.EQ.1) GOTO 100 - IPLAB=IFIX(P*2.5)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.75) GOTO 100 - NCECH=1 - GOTO 100 -C** ANNIHILATION CHANNELS - 20 IPLAB=IFIX(P*10.)+1 - IF(IPLAB.GT.10) IPLAB=IFIX((P-1.)*5.)+11 - IF(IPLAB.GT.15) IPLAB=IFIX( P-2. )+16 - IF(IPLAB.GT.23) IPLAB=IFIX((P-10.)/10.)+24 - IF(IPLAB.GT.25) IPLAB=25 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ANHL(IPLAB)) GOTO 19 - EAB=RS - IF (EAB .LE. 2.0*RMASS(7)) GOTO 55 - GOTO 222 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 19 IF (EAB .LE. RMASS(7)) GOTO 55 -C** SUPPRESSION OF HIGH MULTIPLICITY EVENTS AT LOW MOMENTUM - IEAB=IFIX(EAB*5.)+1 - IF(IEAB.GT.10) GOTO 22 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SUPP(IEAB)) GOTO 22 - N=1. - GOTO (23,24),NFL - 23 CONTINUE - TEST=-(1+B(1))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST) - WP=EXP(TEST) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/(W0+WP)) GOTO 100 - NP=1 - NM=0 - NZ=0 - GOTO 100 - 24 CONTINUE - TEST=-(1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST) - WP=EXP(TEST) - TEST=-(-1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - WM=EXP(TEST) - WT=W0+WP+WM - WP=W0+WP - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/WT) GOTO 100 - NP=1 - NM=0 - NZ=0 - IF(RAN.LT.WP/WT) GOTO 100 - NP=0 - NM=1 - NZ=0 - GOTO 100 -C - 22 ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 31 NM1=NMM1,NP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(1,L)*ANORM1(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LT.1) NMM1=1 - NPP1=NP1+1 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(2,L)*ANORM1(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 -C** ANNIHILATION CHANNELS - 222 IPA(1)=0 - IPA(2)=0 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S) - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 221 NT=2,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 221 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (230,240),NFL -C** FOR P AS TARGET - 230 L=0 - DO 231 NP1=2,20 - NP=NP1-1 - NM=NP-1 - DO 231 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 231 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 231 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(1,L)*ANORM2(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 231 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 240 L=0 - DO 241 NP1=1,20 - NP=NP1-1 - NM=NP - DO 241 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 241 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 241 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(2,L)*ANORM2(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 241 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF(INT.EQ.1) CALL TWOB(17,NFL,N) - IF(INT.EQ.2) CALL GENXPT(17,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND,ASSUME ELASTIC SCATTERING - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - GOTO (102,112),NFL - 102 GOTO (103,104),INT - 103 IPA(1)=17 - IPA(2)=14 - NT=2 - GOTO 130 - 104 IF(NP.EQ.1+NM) GOTO 105 - IF(NP.EQ.2+NM) GOTO 106 - IPA(1)=17 - IPA(2)=14 - GOTO 120 - 105 IPA(1)=15 - IPA(2)=14 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 120 - IPA(1)=17 - IPA(2)=16 - GOTO 120 - 106 IPA(1)=15 - IPA(2)=16 - GOTO 120 - 112 GOTO (113,114),INT - 113 IPA(1)=17 - IPA(2)=16 - NT=2 - IF(NCECH.EQ.0) GOTO 130 - IPA(1)=15 - IPA(2)=14 - GOTO 130 - 114 IF(NP.EQ. NM) GOTO 115 - IF(NP.EQ.1+NM) GOTO 116 - IPA(1)=17 - IPA(2)=14 - GOTO 120 - 115 IPA(1)=15 - IPA(2)=14 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.33) GOTO 120 - IPA(1)=17 - IPA(2)=16 - GOTO 120 - 116 IPA(1)=15 - IPA(2)=16 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASNB* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI- ELASTIC SCATTERING') -1003 FORMAT(' *CASNB* ANTINEUTRON-INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASNB* ANTINEUTRON-INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION', - $ ' NOT FOUND TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASNB* TABLES FOR MULT. DATA ANTINEUTRON INDUCED ', - *'REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASNB* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASNB* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASNB* NO PARTICLES PRODUCED') -3001 FORMAT('0*CASNB* TABLES FOR MULT. DATA ANTIPROTON INDUCED ', - $ 'ANNIHILATION REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN', - $ ' CODING') -3002 FORMAT(' *CASNB* TARGET PARTICLE FLAG',2X,I5) -3003 FORMAT(1H ,10E12.4) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casom.F b/StarVMC/geant3/gheisha/casom.F deleted file mode 100644 index b56fd122332..00000000000 --- a/StarVMC/geant3/gheisha/casom.F +++ /dev/null @@ -1,438 +0,0 @@ -* -* $Id: casom.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casom.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:05 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE CASOM(K,INT,NFL) -C -C *** CASCADE OF OMEGA- *** -C *** NVE 31-JAN-1989 CERN GENEVA *** -C -C OMEGA- UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT, ASSUME NUCLEAR EXCITATION OCCURS, DEGRADE INPUT PARTICLE -C IN ENERGY AND NO OTHER PARTICLES ARE PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),IIPA(14,2),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ -C --- ARRAY IIPA DENOTES THE STRANGENESS AND CHARGE EXCHAGE REACTIONS --- -C OM- P --> XI0 S0, OM- P --> S0 XI0 -C OM- P --> XI0 L0, OM- P --> L0 XI0 -C OM- P --> XI- S+, OM- P --> S+ XI- -C XI- P --> P OM- -C OM- N --> XI0 S-, OM- N --> S- XI0 -C OM- N --> XI- L0, OM- N --> L0 XI- -C OM- N --> XI- S0, OM- N --> S0 XI- -C OM- N --> N OM- - DATA IIPA/26,21,26,18,27,20,14, 26,22,27,18,27,21,16, - $ 21,26,18,26,20,27,33, 22,26,18,27,21,27,33/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(21) --- - IF (KGINIT(21) .NE. 0) GO TO 10 - KGINIT(21)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C *** COMPUTE NORMALIZATION CONSTANTS *** -C -C --- FOR P TARGET --- - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF (NMM1 .LE. 0) NMM1=1 - NPP1=NP1+1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 1 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C --- FOR N TARGET --- - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - NPP1=NP1+2 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 2 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE -C - DO 3 I=1,60 - IF (ANORM(1,I) .GT. 0.) ANORM(1,I)=1./ANORM(1,I) - IF (ANORM(2,I) .GT. 0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE -C - IF (.NOT. NPRT(10)) GO TO 10 -C - WRITE(NEWBCD,2001) - 2001 FORMAT('0*CASOM* TABLES FOR MULT. DATA OM- INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - 2002 FORMAT(' *CASOM* TARGET PARTICLE FLAG',2X,I5) - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 2003 FORMAT(1H ,10E12.4) - 4 CONTINUE -C -C --- SELECT TARGET NUCLEON --- - 10 CONTINUE - NFL=2 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. (ZNO2/ATNO2)) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(33) -C -C --- RESET STRANGENESS FIXING FLAG --- - NVEFIX=0 -C -C *** ELASTIC SCATTERING *** - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=33 - IPA(2)=14 - IF (NFL .EQ. 2) IPA(2)=16 -C - IF (INT .EQ. 2) GO TO 20 -C -C *** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTIONS *** - IPLAB=IFIX(P*2.5)+1 - IF (IPLAB .GT. 10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. (CECH(IPLAB)/ATNO2**0.42)) GO TO 120 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRN=IFIX(RAN*7.)+1 - IF (NFL .EQ. 2) IRN=7+IFIX(RAN*7.)+1 - IF (NFL .EQ. 1) IRN=MAX(IRN,7) - IF (NFL .EQ. 2) IRN=MAX(IRN,14) - IPA(1)=IIPA(IRN,1) - IPA(2)=IIPA(IRN,2) - GO TO 120 -C -C --- CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION --- - 20 CONTINUE - IF (EAB .LE. RMASS(7)) GO TO 55 -C -C --- NO. OF TOTAL PARTICLES VS SQRT(S)-MP-MSM --- - ALEAB=LOG(EAB) - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C -C --- NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION --- - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C -C --- CHECK FOR TARGET NUCLEON TYPE --- - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GO TO (30,40),NFL -C -C --- PROTON TARGET --- - 30 CONTINUE - L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF (NMM1 .LE. 0) NMM1=1 - NPP1=NP1+1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 31 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF (RAN .LT. EXCS) GO TO 100 - 31 CONTINUE - GO TO 80 -C -C --- NEUTRON TARGET --- - 40 CONTINUE - L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - NPP1=NP1+2 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 41 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF (RAN .LT. EXCS) GO TO 100 - 41 CONTINUE - GO TO 80 -C - 50 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - 1003 FORMAT(' *CASOM* OM- -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') - IF (INT .EQ. 1) CALL TWOB(33,NFL,N) - IF (INT .EQ. 2) CALL GENXPT(33,NFL,N) - GO TO 9999 -C -C *** ENERGETICALLY NOT POSSIBLE TO PRODUCE ONE EXTRA PION *** - 55 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1001) - 1001 FORMAT('0*CASOM* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') - GO TO 53 -C -C *** EXCLUSIVE REACTION NOT FOUND *** - 80 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1004) RS,N - 1004 FORMAT(' *CASOM* OM- -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -C - 53 CONTINUE - INT=1 - NP=0 - NM=0 - NZ=0 - IPA(1)=33 - IPA(2)=14 - IF (NFL .EQ. 2) IPA(2)=16 - GO TO 120 -C -C *** INELASTIC INTERACTION HAS OCCURRED *** -C *** NUMBER OF SECONDARY MESONS DETERMINED BY KNO DISTRIBUTION *** - 100 CONTINUE - DO 101 I=1,60 - IPA(I)=0 - 101 CONTINUE -C - IF (INT .LE. 0) GO TO 131 -C -C --- TAKE TARGET NUCLEON TYPE INTO ACCOUNT --- - GO TO (102,112),NFL -C -C --- PROTON TARGET --- - 102 CONTINUE -C --- CHECK FOR TOTAL CHARGE OF FINAL STATE MESONS TO DETERMINE --- -C --- THE KIND OF BARYONS TO BE PRODUCED TAKING INTO ACCOUNT --- -C --- CHARGE AND STRANGENESS CONSERVATION --- - NCHT=NP-NM - IF (NCHT .LT. 0) GO TO 103 - IF (NCHT .EQ. 0) GO TO 104 - IF (NCHT .GT. 0) GO TO 105 -C - 103 CONTINUE -C --- STRANGENESS MISMATCH ==> TAKE A XI0 AND CORRECT THE STRANGENESS --- -C --- BY REPLACING A PI- BY K- --- -C --- XI0 P --- - IPA(1)=26 - IPA(2)=14 - NVEFIX=1 - IF (NCHT .EQ. -1) GO TO 120 -C --- CHARGE MISMATCH ==> TAKE A S+ AND CORRECT THE STRANGENESS --- -C --- BY REPLACING 2 PI- BY K- --- -C --- S+ P --- - IPA(1)=20 - IPA(2)=14 - NVEFIX=2 - GO TO 120 -C - 104 CONTINUE -C --- OM- P --- - IPA(1)=33 - IPA(2)=14 -C - 105 CONTINUE -C --- OM- N --- - IPA(1)=33 - IPA(2)=16 - GO TO 120 -C -C --- NEUTRON TARGET --- - 112 CONTINUE -C --- CHECK FOR TOTAL CHARGE OF FINAL STATE MESONS TO DETERMINE --- -C --- THE KIND OF BARYONS TO BE PRODUCED TAKING INTO ACCOUNT --- -C --- CHARGE AND STRANGENESS CONSERVATION --- - NCHT=NP-NM - IF (NCHT .LT. -1) GO TO 113 - IF (NCHT .EQ. -1) GO TO 114 - IF (NCHT .GT. -1) GO TO 115 -C - 113 CONTINUE -C --- STRANGENESS MISMATCH ==> TAKE A XI0 AND CORRECT THE STRANGENESS --- -C --- BY REPLACING A PI- BY K- --- -C --- XI0 P --- - IPA(1)=26 - IPA(2)=14 - NVEFIX=1 - IF (NCHT .EQ. -2) GO TO 120 -C --- CHARGE MISMATCH ==> TAKE A S+ AND CORRECT THE STRANGENESS --- -C --- BY REPLACING 2 PI- BY K- --- -C --- S+ P --- - IPA(1)=20 - IPA(2)=14 - NVEFIX=2 - GO TO 120 -C - 114 CONTINUE -C --- OM- P --- - IPA(1)=33 - IPA(2)=14 - GO TO 120 -C - 115 CONTINUE -C --- OM- N --- - IPA(1)=33 - IPA(2)=16 -C -C --- TAKE PIONS FOR ALL SECONDARY MESONS --- - 120 CONTINUE - NT=2 -C - IF (NP .EQ. 0) GO TO 122 -C -C --- PI+ --- - DO 121 I=1,NP - NT=NT+1 - IPA(NT)=7 - 121 CONTINUE -C - 122 CONTINUE - IF (NM .EQ. 0) GO TO 124 -C -C --- PI- --- - DO 123 I=1,NM - NT=NT+1 - IPA(NT)=9 - IF (NVEFIX .GE. 1) IPA(NT)=13 - IF (NPRT(4) .AND. (NVEFIX .GE. 1)) PRINT 3000 - 3000 FORMAT(' *CASOM* K- INTRODUCED') - NVEFIX=NVEFIX-1 - 123 CONTINUE -C - 124 CONTINUE - IF (NZ .EQ. 0) GO TO 130 -C -C --- PI0 --- - DO 125 I=1,NZ - NT=NT+1 - IPA(NT)=8 - 125 CONTINUE -C -C --- ALL SECONDARY PARTICLES HAVE BEEN DEFINED --- -C --- NOW GO FOR MOMENTA AND X VALUES --- - 130 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,2004) NT,(IPA(I),I=1,60) - 2004 FORMAT(' *CASOM* ',I3,' PARTICLES PRODUCED. MASS INDEX ARRAY : '/ - $ 3(1H ,20(I3,1X)/)) - GO TO 50 -C - 131 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,2005) - 2005 FORMAT(' *CASOM* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casp.F b/StarVMC/geant3/gheisha/casp.F deleted file mode 100644 index 283960e4a83..00000000000 --- a/StarVMC/geant3/gheisha/casp.F +++ /dev/null @@ -1,390 +0,0 @@ -* -* $Id: casp.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASP(K,INT,NFL) -C -C *** CASCADE OF PROTON *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C P UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),SUPP(10),CECH(10),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA SUPP/0.,0.4,0.55,0.65,0.75,0.82,0.86,0.90,0.94,0.98/ - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ - DATA B/0.70,0.35/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(10) --- - IF (KGINIT(10) .NE. 0) GO TO 10 - KGINIT(10)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 1 NM1=NMM1,NP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NPROT=2-NP+NM - NNEUT=2-NPROT - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - NPROTF=NFAC(NPROT) - NNEUTF=NFAC(NNEUT) - PMUL(1,L)=PMUL(1,L)/(NPROTF*NNEUTF) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NPROT=1-NP+NM - NNEUT=2-NPROT - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - NPROTF=NFAC(NPROT) - NNEUTF=NFAC(NNEUT) - PMUL(2,L)=PMUL(2,L)/(NPROTF*NNEUTF) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(14) -C** ELASTIC SCATTERING - NCECH=0 - NP=0 - NM=0 - NZ=0 - N=0. - IF(INT.EQ.2) GOTO 20 -C** INTRODUCE CHARGE EXCHANGE REACTION PN --> NP - IF(NFL.EQ.1) GOTO 100 - IPLAB=IFIX(P*2.5)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 100 - NCECH=1 - GOTO 100 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 20 IF (EAB .LE. RMASS(7)) GOTO 55 -C** SUPPRESSION OF HIGH MULTIPLICITY EVENTS AT LOW MOMENTUM - IEAB=IFIX(EAB*5.)+1 - IF(IEAB.GT.10) GOTO 22 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SUPP(IEAB)) GOTO 22 - N=1. - GOTO (23,24),NFL - 23 CONTINUE - TEST=-(1+B(1))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST)/2.0 - WP=EXP(TEST) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/(W0+WP)) GOTO 100 - NP=1 - NM=0 - NZ=0 - GOTO 100 - 24 CONTINUE - TEST=-(1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST) - WP=EXP(TEST)/2.0 - TEST=-(-1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - WM=EXP(TEST)/2.0 - WT=W0+WP+WM - WP=W0+WP - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/WT) GOTO 100 - NP=1 - NM=0 - NZ=0 - IF(RAN.LT.WP/WT) GOTO 100 - NP=0 - NM=1 - NZ=0 - GOTO 100 -C - 22 ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 31 NM1=NMM1,NP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF(INT.EQ.1) CALL TWOB(14,NFL,N) - IF(INT.EQ.2) CALL GENXPT(14,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND,ASSUME ELASTIC SCATTERING - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - NPROT=2-NP+NM+(1-NFL) - NNEUT=2-NPROT - GOTO (102,112),NFL - 102 GOTO (103,104),INT - 103 IPA(1)=14 - IPA(2)=14 - NT=2 - GOTO 130 - 104 IF(NNEUT.EQ.1) GOTO 105 - IF(NNEUT.EQ.2) GOTO 106 - IPA(1)=14 - IPA(2)=14 - GOTO 120 - 105 IPA(1)=14 - IPA(2)=16 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 120 - IPA(1)=16 - IPA(2)=14 - GOTO 120 - 106 IPA(1)=16 - IPA(2)=16 - GOTO 120 - 112 GOTO (113,114),INT - 113 IPA(1)=14 - IPA(2)=16 - NT=2 - IF(NCECH.EQ.0) GOTO 130 - IPA(1)=16 - IPA(2)=14 - GOTO 130 - 114 IF(NNEUT.EQ.1) GOTO 115 - IF(NNEUT.EQ.2) GOTO 116 - IPA(1)=14 - IPA(2)=14 - GOTO 120 - 115 IPA(1)=16 - IPA(2)=14 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.33) GOTO 120 - IPA(1)=14 - IPA(2)=16 - GOTO 120 - 116 IPA(1)=16 - IPA(2)=16 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASP* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASP* PROTON-INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASP* PROTON-INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ ' ',2X,F8.4) -2001 FORMAT('0*CASP* TABLES FOR MULT. DATA PROTON INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASP* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASP* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASP* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/caspb.F b/StarVMC/geant3/gheisha/caspb.F deleted file mode 100644 index ba67057cd42..00000000000 --- a/StarVMC/geant3/gheisha/caspb.F +++ /dev/null @@ -1,520 +0,0 @@ -* -* $Id: caspb.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: caspb.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASPB(K,INT,NFL) -C -C *** CASCADE OF ANTI PROTON *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C PB UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL1(2,1200),PMUL2(2,400),ANORM1(2,60),ANORM2(2,60), - $ SUPP(10),CECH(20),ANHL(29),B(2) - DIMENSION RNDM(1) - SAVE PMUL1,ANORM1,PMUL2,ANORM2 - DATA SUPP/0.,0.4,0.55,0.65,0.75,0.82,0.86,0.90,0.94,0.98/ - DATA CECH/0.14,0.17,0.18,0.18,0.18,0.17,0.17,0.16,0.155,0.145, - * 0.11,0.082,0.065,0.050,0.041,0.035,0.028,0.024,0.010 - * ,0.0/ - DATA ANHL/1.00,1.00,1.00,1.00,1.0,1.00,1.0,1.00,1.00,0.90 - * ,0.6,0.52,0.47,0.44,0.41,0.39,0.37,0.35,0.34,0.24 - * ,0.19,0.15,0.12,0.10,0.09,0.07,0.06,0.05,0./ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(11) --- - IF (KGINIT(11) .NE. 0) GO TO 10 - KGINIT(11)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL1(I,J)=0.0 - IF (J .LE. 400) PMUL2(I,J)=0.0 - IF (J .LE. 60) ANORM1(I,J)=0.0 - IF (J .LE. 60) ANORM2(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL1(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM1(1,NT)=ANORM1(1,NT)+PMUL1(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NPP1=NP1+2 - DO 2 NM1=NP1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL1(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM1(2,NT)=ANORM1(2,NT)+PMUL1(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM1(1,I).GT.0.) ANORM1(1,I)=1./ANORM1(1,I) - IF(ANORM1(2,I).GT.0.) ANORM1(2,I)=1./ANORM1(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 9 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM1(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL1(NFL,I),I=1,1200) - 4 CONTINUE -C** DO THE SAME FOR ANNIHILATION CHANNELS -C** FOR P AS TARGET -C - 9 L=0 - DO 5 NP1=1,20 - NP=NP1-1 - NM=NP - DO 5 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 5 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 5 - PMUL2(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM2(1,NT)=ANORM2(1,NT)+PMUL2(1,L) - 5 CONTINUE -C** FOR N AS TARGET - L=0 - DO 6 NP1=1,20 - NP=NP1-1 - NM=NP+1 - DO 6 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 6 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 6 - PMUL2(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM2(2,NT)=ANORM2(2,NT)+PMUL2(2,L) - 6 CONTINUE - DO 7 I=1,60 - IF(ANORM2(1,I).GT.0.) ANORM2(1,I)=1./ANORM2(1,I) - IF(ANORM2(2,I).GT.0.) ANORM2(2,I)=1./ANORM2(2,I) - 7 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,3001) - DO 8 NFL=1,2 - WRITE(NEWBCD,3002) NFL - WRITE(NEWBCD,3003) (ANORM2(NFL,I),I=1,60) - WRITE(NEWBCD,3003) (PMUL2(NFL,I),I=1,400) - 8 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-ABS(RMASS(15)) -C** ELASTIC SCATTERING - NCECH=0 - NP=0 - NM=0 - NZ=0 - N=0. - IF(INT.EQ.2) GOTO 20 -C** INTRODUCE CHARGE EXCHANGE REACTION PB P --> NB N - IF(NFL.EQ.2) GOTO 100 - IPLAB=IFIX(P*10.)+1 - IF(IPLAB.GT.10) IPLAB=IFIX(P)+10 - IF(IPLAB.GT.20) IPLAB=20 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.75) GOTO 100 - NCECH=1 - GOTO 100 -C** ANNIHILATION CHANNELS - 20 IPLAB=IFIX(P*10.)+1 - IF(IPLAB.GT.10) IPLAB=IFIX(P)+10 - IF(IPLAB.GT.19) IPLAB=IFIX(P/10.)+19 - IF(IPLAB.GT.28) IPLAB=29 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ANHL(IPLAB)) GOTO 19 - EAB=RS - IF (EAB .LE. 2.0*RMASS(7)) GOTO 55 - GOTO 222 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 19 IF (EAB .LE. RMASS(7)) GOTO 55 -C** SUPPRESSION OF HIGH MULTIPLICITY EVENTS AT LOW MOMENTUM - IEAB=IFIX(EAB*5.)+1 - IF(IEAB.GT.10) GOTO 22 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SUPP(IEAB)) GOTO 22 - N=1. - GOTO (24,23),NFL - 23 CONTINUE - TEST=-(1+B(1))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST) - TEST=-(-1+B(1))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - WM=EXP(TEST) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/(W0+WM)) GOTO 100 - NP=0 - NM=1 - NZ=0 - GOTO 100 - 24 CONTINUE - TEST=-(1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - W0=EXP(TEST) - WP=EXP(TEST) - TEST=-(-1+B(2))**2/(2.0*C**2) - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - WM=EXP(TEST) - WT=W0+WP+WM - WP=W0+WP - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/WT) GOTO 100 - NP=1 - NM=0 - NZ=0 - IF(RAN.LT.WP/WT) GOTO 100 - NP=0 - NM=1 - NZ=0 - GOTO 100 -C - 22 ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(1,L)*ANORM1(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NPP1=NP1+2 - DO 41 NM1=NP1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL1(2,L)*ANORM1(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 -C** ANNIHILATION CHANNELS - 222 IPA(1)=0 - IPA(2)=0 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S) - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 221 NT=2,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 221 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (230,240),NFL -C** FOR P AS TARGET - 230 L=0 - DO 231 NP1=1,20 - NP=NP1-1 - NM=NP - DO 231 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 231 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 231 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(1,L)*ANORM2(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 231 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 240 L=0 - DO 241 NP1=1,20 - NP=NP1-1 - NM=NP+1 - DO 241 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.400) GOTO 241 - NT=NP+NM+NZ - IF(NT.LE.1.OR.NT.GT.60) GOTO 241 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL2(2,L)*ANORM2(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 120 - 241 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF(INT.EQ.1) CALL TWOB(15,NFL,N) - IF(INT.EQ.2) CALL GENXPT(15,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND,ASSUME ELASTIC SCATTERING - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004)EAB,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - GOTO (112,102),NFL - 102 GOTO (103,104),INT - 103 IPA(1)=15 - IPA(2)=16 - NT=2 - GOTO 130 - 104 IF(NP.EQ.-1+NM) GOTO 105 - IF(NP.EQ. NM) GOTO 106 - IPA(1)=17 - IPA(2)=14 - GOTO 120 - 105 IPA(1)=15 - IPA(2)=14 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 120 - IPA(1)=17 - IPA(2)=16 - GOTO 120 - 106 IPA(1)=15 - IPA(2)=16 - GOTO 120 - 112 GOTO (113,114),INT - 113 IPA(1)=15 - IPA(2)=14 - NT=2 - IF(NCECH.EQ.0) GOTO 130 - IPA(1)=17 - IPA(2)=16 - GOTO 130 - 114 IF(NP.EQ. NM) GOTO 115 - IF(NP.EQ.1+NM) GOTO 116 - IPA(1)=17 - IPA(2)=14 - GOTO 120 - 115 IPA(1)=17 - IPA(2)=16 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.33) GOTO 120 - IPA(1)=15 - IPA(2)=14 - GOTO 120 - 116 IPA(1)=15 - IPA(2)=16 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASPB* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASPB* ANTIPROTON-INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASPB* ANTIPROTON-INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION', - $ ' NOT FOUND TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ ' ',2X,F8.4) -2001 FORMAT('0*CASPB* TABLES FOR MULT. DATA ANTIPROTON INDUCED ', - $ 'REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASPB* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASPB* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASPB* NO PARTICLES PRODUCED') -3001 FORMAT('0*CASPB* TABLES FOR MULT. DATA ANTIPROTON INDUCED ', - $ ' ANNIHILATION REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN', - $ ' CODING') -3002 FORMAT(' *CASPB* TARGET PARTICLE FLAG',2X,I5) -3003 FORMAT(1H ,10E12.4) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/caspim.F b/StarVMC/geant3/gheisha/caspim.F deleted file mode 100644 index faa52417d83..00000000000 --- a/StarVMC/geant3/gheisha/caspim.F +++ /dev/null @@ -1,480 +0,0 @@ -* -* $Id: caspim.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: caspim.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:36 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.2 2002/07/10 09:45:00 morsch -* Gheisha corrections suggested by Gary Bower (FNAL). -* -* Revision 1.1.1.1 1995/10/24 10:21:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE CASPIM(K,INT,NFL) -C -C *** CASCADE OF PI- *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT 13-SEP-1987 -C -C PI- UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/limits.inc" -#include "geant321/s_kginit.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),SUPP(10),CECH(10),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA SUPP/0.,0.4,0.55,0.65,0.75,0.82,0.86,0.90,0.94,0.98/ - DATA CECH/1.,0.95,0.79,0.32,0.19,0.16,0.14,0.12,0.10,0.08/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(16) --- - IF (KGINIT(16) .NE. 0) GO TO 10 - KGINIT(16)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C *** COMPUTATION OF NORMALIZATION CONSTANTS *** -C -C --- P TARGET --- - L=0 - DO 1100 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF (NMM1 .LE. 1) NMM1=1 - NPP1=NP1+1 -C - DO 1101 NM1=NMM1,NPP1 - NM=NM1-1 -C - DO 1102 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GOTO 1199 - NT=NP+NM+NZ - IF (NT .LE. 0) GO TO 1102 - IF (NT .GT. 60) GO TO 1102 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1102 CONTINUE -C - 1101 CONTINUE -C - 1100 CONTINUE -C - 1199 CONTINUE -C -C --- N TARGET --- - L=0 - DO 1200 NP1=1,20 - NP=NP1-1 - NPP1=NP1+2 -C - DO 1201 NM1=NP1,NPP1 - NM=NM1-1 -C - DO 1202 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 1299 - NT=NP+NM+NZ - IF (NT .LE. 0) GO TO 1202 - IF (NT .GT. 60) GO TO 1202 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 1202 CONTINUE -C - 1201 CONTINUE -C - 1200 CONTINUE -C - 1299 CONTINUE -C - DO 3 I=1,60 - IF (ANORM(1,I) .GT. 0.0) ANORM(1,I)=1.0/ANORM(1,I) - IF (ANORM(2,I) .GT. 0.0) ANORM(2,I)=1.0/ANORM(2,I) - 3 CONTINUE -C - IF (.NOT. NPRT(10)) GO TO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C -C --- CHOOSE PROTON OR NEUTRON AS TARGET --- - 10 CONTINUE - NFL=2 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(9) -C -C --- ELASTIC SCATTERING --- - NP=0 - NM=0 - NZ=0 - N=0.0 - IPA(1)=9 - IPA(2)=14 - IF (NFL .EQ. 2) IPA(2)=16 - IF (INT .EQ. 2) GOTO 20 - GOTO 100 - 20 CONTINUE -C -C --- SUPPRESSION OF HIGH MULTIPLICITY EVENTS AT LOW MOMENTUM --- - IEAB=IFIX(EAB*5.0)+1 - IF (IEAB .GT. 10) GO TO 22 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. SUPP(IEAB)) GO TO 22 -C -C --- CHARGE EXCHANGE REACTION (IS INCLUDED IN INELASTIC CROSS SECTION) - IPLAB=IFIX(P*5.0)+1 - IF (IPLAB .GT. 10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. CECH(IPLAB)) GO TO 23 -C - IF (NFL .EQ. 1) GOTO 24 -C -C --- N TARGET --- - INT=1 - IPA(1)=9 - IPA(2)=16 - GO TO 100 -C -C --- P TARGET --- - 24 CONTINUE - IPA(1)=8 - IPA(2)=16 - GO TO 100 -C - 23 CONTINUE -C -C --- CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - IF (EAB .LE. RMASS(9)) GO TO 55 - N=1.0 -C - IF (NFL .EQ. 1) GO TO 26 -C -C --- N TARGET --- - DUM=-(1+B(2))**2/(2.0*C**2) - IF (DUM .LT. EXPXL) DUM=EXPXL - IF (DUM .GT. EXPXU) DUM=EXPXU - W0=EXP(DUM) - DUM=-(-1+B(2))**2/(2.0*C**2) - IF (DUM .LT. EXPXL) DUM=EXPXL - IF (DUM .GT. EXPXU) DUM=EXPXU - WM=EXP(DUM) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF (RAN .LT. W0/(W0+WM)) GO TO 50 - NP=0 - NM=1 - NZ=0 - GO TO 50 -C -C --- P TARGET --- - 26 CONTINUE - DUM=-(1+B(1))**2/(2.0*C**2) - IF (DUM .LT. EXPXL) DUM=EXPXL - IF (DUM .GT. EXPXU) DUM=EXPXU - W0=EXP(DUM) - WP=EXP(DUM) - DUM=-(-1+B(1))**2/(2.0*C**2) - IF (DUM .LT. EXPXL) DUM=EXPXL - IF (DUM .GT. EXPXU) DUM=EXPXU - WM=EXP(DUM) - WP=WP*10. - WT=W0+WP+WM - WP=W0+WP - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF (RAN .LT. W0/WT) GO TO 50 - NP=1 - NM=0 - NZ=0 - IF (RAN .LT. WP/WT) GO TO 50 - NP=0 - NM=1 - NZ=0 - GOTO 50 -C - 22 CONTINUE - ALEAB=LOG(EAB) -C -C --- NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP --- - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - $ +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2.0 -C -C --- NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION --- - ANPN=0.0 - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1.0/ANPN -C - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0.0 - IF (NFL .EQ. 2) GO TO 40 -C -C --- P TARGET --- - L=0 - DO 310 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF (NMM1 .LE. 1) NMM1=1 - NPP1=NP1+1 -C - DO 311 NM1=NMM1,NPP1 - NM=NM1-1 -C - DO 312 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 80 - NT=NP+NM+NZ - IF (NT .LE. 0) GO TO 312 - IF (NT .GT. 60) GO TO 312 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF (RAN .LT. EXCS) GOTO 50 - 312 CONTINUE -C - 311 CONTINUE -C - 310 CONTINUE - GOTO 80 -C -C --- N TARGET --- - 40 CONTINUE - L=0 - DO 410 NP1=1,20 - NP=NP1-1 - NPP1=NP1+2 -C - DO 411 NM1=NP1,NPP1 - NM=NM1-1 -C - DO 412 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 80 - NT=NP+NM+NZ - IF (NT .LE. 0) GO TO 412 - IF (NT .GT. 60) GO TO 412 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF (RAN .LT. EXCS) GOTO 50 - 412 CONTINUE -C - 411 CONTINUE -C - 410 CONTINUE - GO TO 80 -C - 50 CONTINUE - IF (NFL .EQ. 2) GO TO 65 -C -C --- P TARGET --- - IF (NP .EQ. NM) GO TO 61 - IF (NP .EQ. 1+NM) GO TO 63 - IPA(1)=8 - IPA(2)=14 - GO TO 100 -C - 61 CONTINUE - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. 0.75) GO TO 62 - IPA(1)=8 - IPA(2)=16 - GO TO 100 -C - 62 CONTINUE - IPA(1)=9 - IPA(2)=14 - GO TO 100 -C - 63 CONTINUE - IPA(1)=9 - IPA(2)=16 - GO TO 100 -C -C --- N TARGET --- - 65 CONTINUE - IF (NP .EQ. -1+NM) GO TO 66 - IF (NP .EQ. NM) GO TO 68 - IPA(1)=8 - IPA(2)=16 - GO TO 100 -C - 66 CONTINUE - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. 0.50) GO TO 67 - IPA(1)=8 - IPA(2)=16 - GO TO 100 -C - 67 CONTINUE - IPA(1)=9 - IPA(2)=14 - GO TO 100 -C - 68 CONTINUE - IPA(1)=9 - IPA(2)=16 - GO TO 100 -C - 70 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF (INT .EQ. 1) CALL TWOB(9,NFL,N) - IF (INT .EQ. 2) CALL GENXPT(9,NFL,N) - GO TO 9999 -C -C --- ENERGETICALLY NOT POSSIBLE TO PRODUCE CASCADE-PARTICLES --- -C --- CONTINUE WITH QUASI-ELASTIC SCATTERING --- - 55 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1001) - GO TO 53 -C -C --- EXCLUSIVE REACTION NOT FOUND --- - 80 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1004) RS,N -C - 53 CONTINUE - INT=1 - NP=0 - NM=0 - NZ=0 - N=0.0 - IPA(1)=9 - IPA(2)=14 - IF (NFL .EQ. 2) IPA(2)=16 -C - 100 CONTINUE - DO 101 I=3,60 - IPA(I)=0 - 101 CONTINUE - IF (INT .LE. 0) GO TO 131 -C - 120 CONTINUE - NT=2 - IF (NP .EQ. 0) GO TO 122 - DO 121 I=1,NP - NT=NT+1 - IPA(NT)=7 - 121 CONTINUE -C - 122 CONTINUE - IF (NM .EQ. 0) GO TO 124 - DO 123 I=1,NM - NT=NT+1 - IPA(NT)=9 - 123 CONTINUE -C - 124 CONTINUE - IF (NZ .EQ. 0) GO TO 130 - DO 125 I=1,NZ - NT=NT+1 - IPA(NT)=8 - 125 CONTINUE -C - 130 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - IF (IPA(1) .EQ. 7) NP=NP+1 - IF (IPA(1) .EQ. 8) NZ=NZ+1 - IF (IPA(1) .EQ. 9) NM=NM+1 - GO TO 70 -C - 131 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASPIM* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASPIM* PION- -INDUCED CASCADE, AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASPIM* PION- -INDUCED CASCADE, EXCLUSIVE REACTION', - $ ' NOT FOUND TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - * '',2X,F8.4) -2001 FORMAT('0*CASPIM* TABLES FOR MULTIPLICITY DATA PION- INDUCED', - $ 'REACTION FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASPIM* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASPIM* ',I3,2X,'PARTICLES, MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASPIM* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/caspip.F b/StarVMC/geant3/gheisha/caspip.F deleted file mode 100644 index eba7a202f1f..00000000000 --- a/StarVMC/geant3/gheisha/caspip.F +++ /dev/null @@ -1,383 +0,0 @@ -* -* $Id: caspip.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: caspip.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.2 2002/07/10 09:45:00 morsch -* Gheisha corrections suggested by Gary Bower (FNAL). -* -* Revision 1.1.1.1 1995/10/24 10:21:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE CASPIP(K,INT,NFL) -C -C *** CASCADE OF PI+ *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (18-SEP-1987) -C -C PI+ UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/limits.inc" -#include "geant321/s_kginit.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),SUPP(10),CECH(10),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA SUPP/0.,0.4,0.55,0.65,0.75,0.82,0.86,0.90,0.94,0.98/ - DATA CECH/1.0,0.95,0.79,0.32,0.19,0.16,0.14,0.12,0.1,0.08/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(18) --- - IF (KGINIT(18) .NE. 0) GO TO 10 - KGINIT(18)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 1 NM1=NMM1,NP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(7) -C -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=7 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - IF(INT.EQ.2) GOTO 20 - GOTO 100 - 20 CONTINUE -C** SUPPRESSION OF HIGH MULTIPLICITY EVENTS AT LOW MOMENTUM - IEAB=IFIX(EAB*5.)+1 - IF(IEAB.GT.10) GOTO 22 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SUPP(IEAB)) GOTO 22 -C** CHARGE EXCHANGE REACTION - IPLAB=IFIX(P *5.)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)) GOTO 23 - IF(NFL .EQ. 2)GOTO 24 - INT = 1 - IPA(1) = 7 - IPA(2) = 14 - GOTO 100 - 24 CONTINUE - IPA(1)=8 - IPA(2)=14 - GOTO 100 - 23 CONTINUE -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - IF(EAB .LE. RMASS(7))GOTO 55 - N = 1. - IF(NFL .EQ. 2)GOTO 26 - TEST=-(1+B(1))**2/(2.0*C**2) - IF (TEST .LE. EXPXL) TEST=EXPXL - IF (TEST .GE. EXPXU) TEST=EXPXU - W0=EXP(TEST) - WP=EXP(TEST) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/(W0+WP)) GOTO 50 - NP=1 - NM=0 - NZ=0 - GOTO 50 - 26 CONTINUE - TEST=-(1+B(2))**2/(2.0*C**2) - IF (TEST .LE. EXPXL) TEST=EXPXL - IF (TEST .GE. EXPXU) TEST=EXPXU - W0=EXP(TEST) - WP=EXP(TEST) - TEST=-(B(2)-1)**2/(2.0*C**2) - IF (TEST .LE. EXPXL) TEST=EXPXL - IF (TEST .GE. EXPXU) TEST=EXPXU - WM=EXP(TEST) - WT=W0+WP+WM - WP=W0+WP - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NP=0 - NM=0 - NZ=1 - IF(RAN.LT.W0/WT) GOTO 50 - NP=1 - NM=0 - NZ=0 - IF(RAN.LT.WP/WT)GOTO 50 - NP=0 - NM=1 - NZ=0 - GOTO 50 -C - 22 ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-2*MP - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LE. EXPXL) TEST=EXPXL - IF (TEST .GE. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF(NMM1.LE.1) NMM1=1 - DO 31 NM1=NMM1,NP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LE. EXPXL) TEST=EXPXL - IF (TEST .GE. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LE. EXPXL) TEST=EXPXL - IF (TEST .GE. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 50 - 41 CONTINUE - GOTO 80 - 50 GOTO (60,65),NFL - 60 IF(NP.EQ.1+NM) GOTO 61 - IF(NP.EQ.2+NM) GOTO 63 - IPA(1)=7 - IPA(2)=14 - GOTO 100 - 61 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 62 - IPA(1)=7 - IPA(2)=16 - GOTO 100 - 62 IPA(1)=8 - IPA(2)=14 - GOTO 100 - 63 IPA(1)=8 - IPA(2)=16 - GOTO 100 - 65 IF(NP.EQ.NM) GOTO 66 - IF(NP.EQ.1+NM) GOTO 68 - IPA(1)=7 - IPA(2)=14 - GOTO 100 - 66 CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.25) GOTO 67 - IPA(1)=7 - IPA(2)=16 - GOTO 100 - 67 IPA(1)=8 - IPA(2)=14 - GOTO 100 - 68 IPA(1)=8 - IPA(2)=16 - GOTO 100 - 70 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - CALL STPAIR - IF(INT.EQ.1) CALL TWOB(7,NFL,N) - IF(INT.EQ.2) CALL GENXPT(7,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=7 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - 100 DO 101 I=3,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - IF(IPA(1).EQ.7) NP=NP+1 - IF(IPA(1).EQ.8) NZ=NZ+1 - IF(IPA(1).EQ.9) NM=NM+1 - GOTO 70 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASPIP* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASPIP* PION+ -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASPIP* PION+ -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASPIP* TABLES FOR MULT. DATA PION+ INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASPIP* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASPIP* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASPIP* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/cassm.F b/StarVMC/geant3/gheisha/cassm.F deleted file mode 100644 index 7513c2df169..00000000000 --- a/StarVMC/geant3/gheisha/cassm.F +++ /dev/null @@ -1,341 +0,0 @@ -* -* $Id: cassm.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: cassm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASSM(K,INT,NFL) -C -C *** CASCADE OF SIGMA- *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (13-SEP-1987) -C -C S- UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),IIPA(10,2),B(2) - DIMENSION RNDM(2) - SAVE PMUL,ANORM - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ - DATA IIPA/21,18,14,16,16,16,16,16,16,16, - * 16,16,22,21,18,22,22,22,22,22/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(12) --- - IF (KGINIT(12) .NE. 0) GO TO 10 - KGINIT(12)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.0) NMM1=1 - NPP1=NP1+1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - NPP1=NP1+2 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(22) -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=22 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - IF(INT.EQ.2) GOTO 20 -C** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTIONS -C** S-P --> S0N, S-P --> L N , -C** S-P --> PS-, S-P --> N S0 , S-P --> N L -C** S-N --> NS-, - IPLAB=IFIX(P*2.5)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 120 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRN=IFIX(RAN/0.2)+1 - IF(IRN.GT.5) IRN=5 - IRN=IRN+(NFL-1)*5 - IPA(1)=IIPA(IRN,1) - IPA(2)=IIPA(IRN,2) - GOTO 120 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 20 IF (EAB .LE. RMASS(7)) GOTO 55 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-MP-MSM - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.0) NMM1=1 - NPP1=NP1+1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - NPP1=NP1+2 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - IF(INT.EQ.1) CALL TWOB(22,NFL,N) - IF(INT.EQ.2) CALL GENXPT(22,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - IPA(1)=22 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - GOTO 120 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - GOTO (102,112),NFL - 102 NCHT=NP-NM - NCHT=NCHT+2 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.3) NCHT=3 - GOTO (103,104,105),NCHT - 103 IPA(1)=21 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) IPA(1)=18 - IPA(2)=14 - GOTO 120 - 104 IPA(1)=22 - IPA(2)=14 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) GOTO 120 - IPA(1)=21 - IF(RNDM(2).LT.0.5) IPA(1)=18 - IPA(2)=16 - GOTO 120 - 105 IPA(1)=22 - IPA(2)=16 - GOTO 120 - 112 NCHT=NP-NM - NCHT=NCHT+3 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.3) NCHT=3 - GOTO (113,114,115),NCHT - 113 IPA(1)=21 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) IPA(1)=18 - IPA(2)=14 - GOTO 120 - 114 IPA(1)=21 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=18 - IPA(2)=16 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=22 - IPA(2)=14 - GOTO 120 - 115 IPA(1)=22 - IPA(2)=16 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASSM* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASSM* SIGMA- -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASSM* SIGMA- -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASSM* TABLES FOR MULT. DATA SIGMA- INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASSM* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASSM* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASSM* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/cassp.F b/StarVMC/geant3/gheisha/cassp.F deleted file mode 100644 index 872a4e20573..00000000000 --- a/StarVMC/geant3/gheisha/cassp.F +++ /dev/null @@ -1,343 +0,0 @@ -* -* $Id: cassp.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: cassp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CASSP(K,INT,NFL) -C -C *** CASCADE OF SIGMA+ *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (30-NOV-1987) -C -C S+ UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT ASSUME NUCLEAR EXCITATION OCCURS AND INPUT PARTICLE -C IS DEGRADED IN ENERGY. NO OTHER PARTICLES PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),IIPA(10,2),B(2) - DIMENSION RNDM(2) - SAVE PMUL,ANORM - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ - DATA IIPA/14,14,14,14,14,21,18,16,14,14, - * 20,20,20,20,20,14,14,20,21,18/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(13) --- - IF (KGINIT(13) .NE. 0) GO TO 10 - KGINIT(13)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C** COMPUTE NORMALIZATION CONSTANTS -C** FOR P AS TARGET -C - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - IF(NMM1.LE.0) NMM1=1 - NPP1=NP1+2 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 1 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C** FOR N AS TARGET - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 2 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE - DO 3 I=1,60 - IF(ANORM(1,I).GT.0.) ANORM(1,I)=1./ANORM(1,I) - IF(ANORM(2,I).GT.0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 4 CONTINUE -C** CHOOSE PROTON OR NEUTRON AS TARGET - 10 NFL=2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.ZNO2/ATNO2) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(20) -C** ELASTIC SCATTERING - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=20 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - IF(INT.EQ.2) GOTO 20 -C** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTIONS -C** S+N --> S0 P ,S+N --> L P, -C** S+P --> PS+, -C** S+N --> NS+, S+N --> P S0 , S+N --> P L - IPLAB=IFIX(P*2.5)+1 - IF(IPLAB.GT.10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.CECH(IPLAB)/ATNO2**0.42) GOTO 120 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRN=IFIX(RAN/0.2)+1 - IF(IRN.GT.5) IRN=5 - IRN=IRN+(NFL-1)*5 - IPA(1)=IIPA(IRN,1) - IPA(2)=IIPA(IRN,2) - GOTO 120 -C** CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION IN REACT. - 20 IF (EAB .LE. RMASS(7)) GOTO 55 - ALEAB=LOG(EAB) -C** NO. OF TOTAL PARTICLES VS SQRT(S)-MP-MSM - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C** NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C** P OR N AS TARGET - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GOTO (30,40),NFL -C** FOR P AS TARGET - 30 L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - IF(NMM1.LE.0) NMM1=1 - NPP1=NP1+2 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 31 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 31 CONTINUE - GOTO 80 -C** FOR N AS TARGET - 40 L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF(NMM1.LE.1) NMM1=1 - NPP1=NP1+1 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF(L.GT.1200) GOTO 41 - NT=NP+NM+NZ - IF(NT.LE.0.OR.NT.GT.60) GOTO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF(RAN.LT.EXCS) GOTO 100 - 41 CONTINUE - GOTO 80 - 50 IF(NPRT(4)) - *WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - IF(INT.EQ.1) CALL TWOB(20,NFL,N) - IF(INT.EQ.2) CALL GENXPT(20,NFL,N) - GO TO 9999 - 55 IF(NPRT(4)) - *WRITE(NEWBCD,1001) - GOTO 53 -C** EXCLUSIVE REACTION NOT FOUND - 80 IF(NPRT(4)) - *WRITE(NEWBCD,1004) RS,N - 53 INT=1 - NP=0 - NM=0 - NZ=0 - IPA(1)=20 - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - GOTO 120 - 100 DO 101 I=1,60 - 101 IPA(I)=0 - IF(INT.LE.0) GOTO 131 - GOTO (102,112),NFL - 102 NCHT=NP-NM - NCHT=NCHT+3 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.3) NCHT=3 - GOTO (103,104,105),NCHT - 103 IPA(1)=21 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) IPA(1)=18 - IPA(2)=16 - GOTO 120 - 104 IPA(1)=20 - IPA(2)=16 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) GOTO 120 - IPA(1)=21 - IF(RNDM(2).LT.0.5) IPA(1)=18 - IPA(2)=14 - GOTO 120 - 105 IPA(1)=20 - IPA(2)=14 - GOTO 120 - 112 NCHT=NP-NM - NCHT=NCHT+2 - IF(NCHT.LE.0) NCHT=1 - IF(NCHT.GT.3) NCHT=3 - GOTO (113,114,115),NCHT - 113 IPA(1)=20 - IPA(2)=14 - GOTO 120 - 114 IPA(1)=21 - CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.0.5) IPA(1)=18 - IPA(2)=14 - IF(RNDM(2).LT.0.5) GOTO 120 - IPA(1)=20 - IPA(2)=16 - GOTO 120 - 115 IPA(1)=21 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) IPA(1)=18 - IPA(2)=16 - 120 NT=2 - IF(NP.EQ.0) GOTO 122 - DO 121 I=1,NP - NT=NT+1 - 121 IPA(NT)=7 - 122 IF(NM.EQ.0) GOTO 124 - DO 123 I=1,NM - NT=NT+1 - 123 IPA(NT)=9 - 124 IF(NZ.EQ.0) GOTO 130 - DO 125 I=1,NZ - NT=NT+1 - 125 IPA(NT)=8 - 130 IF(NPRT(4)) - *WRITE(NEWBCD,2004) NT,(IPA(I),I=1,20) - GOTO 50 - 131 IF(NPRT(4)) - *WRITE(NEWBCD,2005) -C -1001 FORMAT('0*CASSP* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') -1003 FORMAT(' *CASSP* SIGMA+ -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') -1004 FORMAT(' *CASSP* SIGMA+ -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -2001 FORMAT('0*CASSP* TABLES FOR MULT. DATA SIGMA+ INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') -2002 FORMAT(' *CASSP* TARGET PARTICLE FLAG',2X,I5) -2003 FORMAT(1H ,10E12.4) -2004 FORMAT(' *CASSP* ',I3,2X,'PARTICLES , MASS INDEX ARRAY',2X,20I4) -2005 FORMAT(' *CASSP* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casx0.F b/StarVMC/geant3/gheisha/casx0.F deleted file mode 100644 index 62993972ca5..00000000000 --- a/StarVMC/geant3/gheisha/casx0.F +++ /dev/null @@ -1,446 +0,0 @@ -* -* $Id: casx0.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casx0.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:05 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE CASX0(K,INT,NFL) -C -C *** CASCADE OF XI0 *** -C *** NVE 20-JAN-1989 CERN GENEVA *** -C -C XI0 UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT, ASSUME NUCLEAR EXCITATION OCCURS, DEGRADE INPUT PARTICLE -C IN ENERGY AND NO OTHER PARTICLES ARE PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),IIPA(12,2),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ -C --- ARRAY IIPA DENOTES THE STRANGENESS AND CHARGE EXCHAGE REACTIONS --- -C XI0 P --> S+ S0, XI0 P --> S0 S+ -C XI0 P --> S+ L0, XI0 P --> L0 S+ -C XI0 P --> P XI0 -C XI0 N --> S0 S0 -C XI0 N --> L0 L0 -C XI0 N --> XI- P, XI0 N --> P XI- -C XI0 N --> S+ S-, XI0 N --> S- S+ -C XI0 N --> N XI0 - DATA IIPA/20,21,20,18,14, 21,18,27,14,20,22,16, - * 21,20,18,20,26, 21,18,14,27,22,20,26/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(20) --- - IF (KGINIT(20) .NE. 0) GO TO 10 - KGINIT(20)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C *** COMPUTE NORMALIZATION CONSTANTS *** -C -C --- FOR P TARGET --- - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF (NMM1 .LE. 0) NMM1=1 - NPP1=NP1+1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 1 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C --- FOR N TARGET --- - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF (NMM1 .LE. 0) NMM1=1 - NPP1=NP1+2 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 2 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE -C - DO 3 I=1,60 - IF (ANORM(1,I) .GT. 0.) ANORM(1,I)=1./ANORM(1,I) - IF (ANORM(2,I) .GT. 0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE -C - IF (.NOT. NPRT(10)) GO TO 10 -C - WRITE(NEWBCD,2001) - 2001 FORMAT('0*CASX0* TABLES FOR MULT. DATA XI0 INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - 2002 FORMAT(' *CASX0* TARGET PARTICLE FLAG',2X,I5) - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 2003 FORMAT(1H ,10E12.4) - 4 CONTINUE -C -C --- SELECT TARGET NUCLEON --- - 10 CONTINUE - NFL=2 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. (ZNO2/ATNO2)) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(26) -C -C --- RESET STRANGENESS FIXING FLAG --- - NVEFIX=0 -C -C *** ELASTIC SCATTERING *** - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=26 - IPA(2)=14 - IF (NFL .EQ. 2) IPA(2)=16 -C - IF (INT .EQ. 2) GO TO 20 -C -C *** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTIONS *** - IPLAB=IFIX(P*2.5)+1 - IF (IPLAB .GT. 10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. (CECH(IPLAB)/ATNO2**0.42)) GO TO 120 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRN=IFIX(RAN*5.)+1 - IF (NFL .EQ. 2) IRN=5+IFIX(RAN*7.)+1 - IF (NFL .EQ. 1) IRN=MAX(IRN,5) - IF (NFL .EQ. 2) IRN=MAX(IRN,12) - IPA(1)=IIPA(IRN,1) - IPA(2)=IIPA(IRN,2) - GO TO 120 -C -C --- CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION --- - 20 CONTINUE - IF (EAB .LE. RMASS(7)) GO TO 55 -C -C --- NO. OF TOTAL PARTICLES VS SQRT(S)-MP-MSM --- - ALEAB=LOG(EAB) - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C -C --- NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION --- - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C -C --- CHECK FOR TARGET NUCLEON TYPE --- - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GO TO (30,40),NFL -C -C --- PROTON TARGET --- - 30 CONTINUE - L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-2 - IF (NMM1 .LE. 0) NMM1=1 - NPP1=NP1+1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 31 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF (RAN .LT. EXCS) GO TO 100 - 31 CONTINUE - GO TO 80 -C -C --- NEUTRON TARGET --- - 40 CONTINUE - L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF (NMM1 .LE. 0) NMM1=1 - NPP1=NP1+2 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 41 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF (RAN .LT. EXCS) GO TO 100 - 41 CONTINUE - GO TO 80 -C - 50 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - 1003 FORMAT(' *CASX0* XI0 -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') - IF (INT .EQ. 1) CALL TWOB(27,NFL,N) - IF (INT .EQ. 2) CALL GENXPT(27,NFL,N) - GO TO 9999 -C -C *** ENERGETICALLY NOT POSSIBLE TO PRODUCE ONE EXTRA PION *** - 55 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1001) - 1001 FORMAT('0*CASX0* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') - GO TO 53 -C -C *** EXCLUSIVE REACTION NOT FOUND *** - 80 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1004) RS,N - 1004 FORMAT(' *CASX0* XI0 -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -C - 53 CONTINUE - INT=1 - NP=0 - NM=0 - NZ=0 - IPA(1)=26 - IPA(2)=14 - IF (NFL .EQ. 2) IPA(2)=16 - GO TO 120 -C -C *** INELASTIC INTERACTION HAS OCCURRED *** -C *** NUMBER OF SECONDARY MESONS DETERMINED BY KNO DISTRIBUTION *** - 100 CONTINUE - DO 101 I=1,60 - IPA(I)=0 - 101 CONTINUE -C - IF (INT .LE. 0) GO TO 131 -C -C --- TAKE TARGET NUCLEON TYPE INTO ACCOUNT --- - GO TO (102,112),NFL -C -C --- PROTON TARGET --- - 102 CONTINUE -C --- CHECK FOR TOTAL CHARGE OF FINAL STATE MESONS TO DETERMINE --- -C --- THE KIND OF BARYONS TO BE PRODUCED TAKING INTO ACCOUNT --- -C --- CHARGE AND STRANGENESS CONSERVATION --- - NCHT=NP-NM - IF (NCHT .LT. 1) GO TO 103 - IF (NCHT .EQ. 1) GO TO 104 - IF (NCHT .GT. 1) GO TO 105 -C - 103 CONTINUE -C --- XI0 P --- - IPA(1)=26 - IPA(2)=14 - IF (NCHT .EQ. 0) GO TO 120 -C --- CHARGE MISMATCH ==> TAKE A S+ AND CORRECT THE STRANGENESS --- -C --- BY REPLACING A PI- BY K- --- -C --- S+ P --- - IPA(1)=20 - IPA(2)=14 - NVEFIX=1 - GO TO 120 -C - 104 CONTINUE -C --- XI0 N --- - IPA(1)=26 - IPA(2)=16 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. 0.5) GO TO 120 -C --- XI- P --- - IPA(1)=27 - IPA(2)=14 - GO TO 120 -C - 105 CONTINUE -C --- XI- N --- - IPA(1)=27 - IPA(2)=16 - GO TO 120 -C -C --- NEUTRON TARGET --- - 112 CONTINUE -C --- CHECK FOR TOTAL CHARGE OF FINAL STATE MESONS TO DETERMINE --- -C --- THE KIND OF BARYONS TO BE PRODUCED TAKING INTO ACCOUNT --- -C --- CHARGE AND STRANGENESS CONSERVATION --- - NCHT=NP-NM - IF (NCHT .LT. 0) GO TO 113 - IF (NCHT .EQ. 0) GO TO 114 - IF (NCHT .GT. 0) GO TO 115 -C - 113 CONTINUE -C --- XI0 P --- - IPA(1)=26 - IPA(2)=14 - IF (NCHT .EQ. -1) GO TO 120 -C --- CHARGE MISMATCH ==> TAKE A S+ AND CORRECT THE STRANGENESS --- -C --- BY REPLACING A PI- BY K- --- -C --- S+ P --- - IPA(1)=20 - IPA(2)=14 - NVEFIX=1 - GO TO 120 -C - 114 CONTINUE -C --- XI0 N --- - IPA(1)=26 - IPA(2)=16 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. 0.5) GO TO 120 -C --- XI- P --- - IPA(1)=27 - IPA(2)=14 - GO TO 120 -C - 115 CONTINUE -C --- XI- N --- - IPA(1)=27 - IPA(2)=16 -C -C --- TAKE PIONS FOR ALL SECONDARY MESONS --- -C --- REPLACE PI BY K IN CASE OF STRANGENESS TO BE FIXED --- - 120 CONTINUE - NT=2 -C - IF (NP .EQ. 0) GO TO 122 -C -C --- PI+ --- - DO 121 I=1,NP - NT=NT+1 - IPA(NT)=7 - 121 CONTINUE -C - 122 CONTINUE - IF (NM .EQ. 0) GO TO 124 -C -C --- PI- --- - DO 123 I=1,NM - NT=NT+1 - IPA(NT)=9 - IF (NVEFIX .GE. 1) IPA(NT)=13 - IF (NPRT(4) .AND. (NVEFIX .GE. 1)) PRINT 3000 - 3000 FORMAT(' *CASX0* K- INTRODUCED') - NVEFIX=NVEFIX-1 - 123 CONTINUE -C - 124 CONTINUE - IF (NZ .EQ. 0) GO TO 130 -C -C --- PI0 --- - DO 125 I=1,NZ - NT=NT+1 - IPA(NT)=8 - 125 CONTINUE -C -C --- ALL SECONDARY PARTICLES HAVE BEEN DEFINED --- -C --- NOW GO FOR MOMENTA AND X VALUES --- - 130 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,2004) NT,(IPA(I),I=1,60) - 2004 FORMAT(' *CASX0* ',I3,' PARTICLES PRODUCED. MASS INDEX ARRAY : '/ - $ 3(1H ,20(I3,1X)/)) - GO TO 50 -C - 131 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,2005) - 2005 FORMAT(' *CASX0* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/casxm.F b/StarVMC/geant3/gheisha/casxm.F deleted file mode 100644 index 174dfb984a1..00000000000 --- a/StarVMC/geant3/gheisha/casxm.F +++ /dev/null @@ -1,442 +0,0 @@ -* -* $Id: casxm.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: casxm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:05 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE CASXM(K,INT,NFL) -C -C *** CASCADE OF XI- *** -C *** NVE 17-JAN-1989 CERN GENEVA *** -C -C XI- UNDERGOES INTERACTION WITH NUCLEON WITHIN NUCLEUS. -C CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE PIONS/KAONS. -C IF NOT, ASSUME NUCLEAR EXCITATION OCCURS, DEGRADE INPUT PARTICLE -C IN ENERGY AND NO OTHER PARTICLES ARE PRODUCED. -C IF REACTION IS POSSIBLE FIND CORRECT NUMBER OF PIONS/PROTONS/ -C NEUTRONS PRODUCED USING AN INTERPOLATION TO MULTIPLICITY DATA. -C REPLACE SOME PIONS OR PROTONS/NEUTRONS BY KAONS OR STRANGE BARYONS -C ACCORDING TO AVERAGE MULTIPLICITY PER INELASTIC REACTIONS. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_kginit.inc" -#include "geant321/limits.inc" -C - REAL N - DIMENSION PMUL(2,1200),ANORM(2,60),CECH(10),IIPA(12,2),B(2) - DIMENSION RNDM(1) - SAVE PMUL,ANORM - DATA CECH/0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0./ -C --- ARRAY IIPA DENOTES THE STRANGENESS AND CHARGE EXCHAGE REACTIONS --- -C XI- P --> XI0 N, XI- P --> N XI0 -C XI- P --> S0 S0, XI- P --> L0 L0 -C XI- P --> S0 L0, XI- P --> L0 S0 -C XI- P --> P XI- -C XI- N --> N XI- -C XI- N --> S0 S-, XI- N --> S- S0 -C XI- N --> L0 S-, XI- N --> S- L0 - DATA IIPA/26,16,21,18,21,18,14, 16,21,22,18,22, - * 16,26,21,18,18,21,27, 27,22,21,22,18/ - DATA B/0.7,0.7/,C/1.25/ -C -C --- INITIALIZATION INDICATED BY KGINIT(19) --- - IF (KGINIT(19) .NE. 0) GO TO 10 - KGINIT(19)=1 -C -C --- INITIALIZE PMUL AND ANORM ARRAYS --- - DO 9000 J=1,1200 - DO 9001 I=1,2 - PMUL(I,J)=0.0 - IF (J .LE. 60) ANORM(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C -C *** COMPUTE NORMALIZATION CONSTANTS *** -C -C --- FOR P TARGET --- - L=0 - DO 1 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF (NMM1 .LE. 0) NMM1=1 - NPP1=NP1+1 - DO 1 NM1=NMM1,NPP1 - NM=NM1-1 - DO 1 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 1 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 1 - PMUL(1,L)=PMLTPC(NP,NM,NZ,NT,B(2),C) - ANORM(1,NT)=ANORM(1,NT)+PMUL(1,L) - 1 CONTINUE -C --- FOR N TARGET --- - L=0 - DO 2 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - NPP1=NP1+2 - DO 2 NM1=NMM1,NPP1 - NM=NM1-1 - DO 2 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 2 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 2 - PMUL(2,L)=PMLTPC(NP,NM,NZ,NT,B(1),C) - ANORM(2,NT)=ANORM(2,NT)+PMUL(2,L) - 2 CONTINUE -C - DO 3 I=1,60 - IF (ANORM(1,I) .GT. 0.) ANORM(1,I)=1./ANORM(1,I) - IF (ANORM(2,I) .GT. 0.) ANORM(2,I)=1./ANORM(2,I) - 3 CONTINUE -C - IF (.NOT. NPRT(10)) GO TO 10 -C - WRITE(NEWBCD,2001) - 2001 FORMAT('0*CASXM* TABLES FOR MULT. DATA XI- INDUCED REACTION', - $ ' FOR DEFINITION OF NUMBERS SEE FORTRAN CODING') - DO 4 NFL=1,2 - WRITE(NEWBCD,2002) NFL - 2002 FORMAT(' *CASXM* TARGET PARTICLE FLAG',2X,I5) - WRITE(NEWBCD,2003) (ANORM(NFL,I),I=1,60) - WRITE(NEWBCD,2003) (PMUL(NFL,I),I=1,1200) - 2003 FORMAT(1H ,10E12.4) - 4 CONTINUE -C -C --- SELECT TARGET NUCLEON --- - 10 CONTINUE - NFL=2 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. (ZNO2/ATNO2)) NFL=1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - S=AMASQ+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(8)=AMASQ+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EAB=RS-TARMAS-RMASS(27) -C -C --- RESET STRANGENESS FIXING FLAG --- - NVEFIX=0 -C -C *** ELASTIC SCATTERING *** - NP=0 - NM=0 - NZ=0 - N=0. - IPA(1)=27 - IPA(2)=14 - IF (NFL .EQ. 2) IPA(2)=16 -C - IF (INT .EQ. 2) GO TO 20 -C -C *** INTRODUCE CHARGE AND STRANGENESS EXCHANGE REACTIONS *** - IPLAB=IFIX(P*2.5)+1 - IF (IPLAB .GT. 10) IPLAB=10 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. (CECH(IPLAB)/ATNO2**0.42)) GO TO 120 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRN=IFIX(RAN*7.)+1 - IF (NFL .EQ. 2) IRN=7+IFIX(RAN*5.)+1 - IF (NFL .EQ. 1) IRN=MAX(IRN,7) - IF (NFL .EQ. 2) IRN=MAX(IRN,12) - IPA(1)=IIPA(IRN,1) - IPA(2)=IIPA(IRN,2) - GO TO 120 -C -C --- CHECK IF ENERGETICALLY POSSIBLE TO PRODUCE ONE EXTRA PION --- - 20 CONTINUE - IF (EAB .LE. RMASS(7)) GO TO 55 -C -C --- NO. OF TOTAL PARTICLES VS SQRT(S)-MP-MSM --- - ALEAB=LOG(EAB) - N=3.62567+0.665843*ALEAB+0.336514*ALEAB*ALEAB - * +0.117712*ALEAB*ALEAB*ALEAB+0.0136912*ALEAB*ALEAB*ALEAB*ALEAB - N=N-2. -C -C --- NORMALIZATION CONSTANT FOR KNO-DISTRIBUTION --- - ANPN=0. - DO 21 NT=1,60 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=PI*NT/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - ANPN=ANPN+ADDNVE - 21 CONTINUE - ANPN=1./ANPN -C -C --- CHECK FOR TARGET NUCLEON TYPE --- - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - EXCS=0. - GO TO (30,40),NFL -C -C --- PROTON TARGET --- - 30 CONTINUE - L=0 - DO 31 NP1=1,20 - NP=NP1-1 - NMM1=NP1-1 - IF (NMM1 .LE. 0) NMM1=1 - NPP1=NP1+1 - DO 31 NM1=NMM1,NPP1 - NM=NM1-1 - DO 31 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 31 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 31 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(1,L)*ANORM(1,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF (RAN .LT. EXCS) GO TO 100 - 31 CONTINUE - GO TO 80 -C -C --- NEUTRON TARGET --- - 40 CONTINUE - L=0 - DO 41 NP1=1,20 - NP=NP1-1 - NMM1=NP1 - NPP1=NP1+2 - DO 41 NM1=NMM1,NPP1 - NM=NM1-1 - DO 41 NZ1=1,20 - NZ=NZ1-1 - L=L+1 - IF (L .GT. 1200) GO TO 41 - NT=NP+NM+NZ - IF ((NT .LE. 0) .OR. (NT .GT. 60)) GO TO 41 - TEST=-(PI/4.0)*(NT/N)**2 - IF (TEST .LT. EXPXL) TEST=EXPXL - IF (TEST .GT. EXPXU) TEST=EXPXU - DUM1=ANPN*PI*NT*PMUL(2,L)*ANORM(2,NT)/(2.0*N*N) - DUM2=ABS(DUM1) - DUM3=EXP(TEST) - ADDNVE=0.0 - IF (DUM2 .GE. 1.0) ADDNVE=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GE. 1.0E-10)) ADDNVE=DUM1*DUM3 - EXCS=EXCS+ADDNVE - IF (RAN .LT. EXCS) GO TO 100 - 41 CONTINUE - GO TO 80 -C - 50 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1003) EAB,N,NFL,NP,NM,NZ - 1003 FORMAT(' *CASXM* XI- -INDUCED CASCADE,', - $ ' AVAIL. ENERGY',2X,F8.4, - $ 2X,'',2X,F8.4,2X,'FROM',4(2X,I3),2X,'PARTICLES') - IF (INT .EQ. 1) CALL TWOB(27,NFL,N) - IF (INT .EQ. 2) CALL GENXPT(27,NFL,N) - GO TO 9999 -C -C *** ENERGETICALLY NOT POSSIBLE TO PRODUCE ONE EXTRA PION *** - 55 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1001) - 1001 FORMAT('0*CASXM* CASCADE ENERGETICALLY NOT POSSIBLE', - $ ' CONTINUE WITH QUASI-ELASTIC SCATTERING') - GO TO 53 -C -C *** EXCLUSIVE REACTION NOT FOUND *** - 80 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1004) RS,N - 1004 FORMAT(' *CASXM* XI- -INDUCED CASCADE,', - $ ' EXCLUSIVE REACTION NOT FOUND', - $ ' TRY ELASTIC SCATTERING AVAIL. ENERGY',2X,F8.4,2X, - $ '',2X,F8.4) -C - 53 CONTINUE - INT=1 - NP=0 - NM=0 - NZ=0 - IPA(1)=27 - IPA(2)=14 - IF (NFL .EQ. 2) IPA(2)=16 - GO TO 120 -C -C *** INELASTIC INTERACTION HAS OCCURRED *** -C *** NUMBER OF SECONDARY MESONS DETERMINED BY KNO DISTRIBUTION *** - 100 CONTINUE - DO 101 I=1,60 - IPA(I)=0 - 101 CONTINUE -C - IF (INT .LE. 0) GO TO 131 -C -C --- TAKE TARGET NUCLEON TYPE INTO ACCOUNT --- - GO TO (102,112),NFL -C -C --- PROTON TARGET --- - 102 CONTINUE -C --- CHECK FOR TOTAL CHARGE OF FINAL STATE MESONS TO DETERMINE --- -C --- THE KIND OF BARYONS TO BE PRODUCED TAKING INTO ACCOUNT --- -C --- CHARGE AND STRANGENESS CONSERVATION --- - NCHT=NP-NM - IF (NCHT .LT. 0) GO TO 103 - IF (NCHT .EQ. 0) GO TO 104 - IF (NCHT .GT. 0) GO TO 105 -C - 103 CONTINUE -C --- XI0 P --- - IPA(1)=26 - IPA(2)=14 - IF (NCHT .EQ. -1) GO TO 120 -C --- CHARGE MISMATCH ==> TAKE A S+ AND CORRECT THE STRANGENESS --- -C --- BY REPLACING A PI- BY K- --- -C --- S+ P --- - IPA(1)=20 - IPA(2)=14 - NVEFIX=1 - GO TO 120 -C - 104 CONTINUE -C --- XI- P --- - IPA(1)=27 - IPA(2)=14 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. 0.5) GO TO 120 -C --- XI0 N --- - IPA(1)=26 - IPA(2)=16 - GO TO 120 -C - 105 CONTINUE -C --- XI- N --- - IPA(1)=27 - IPA(2)=16 - GO TO 120 -C -C --- NEUTRON TARGET --- - 112 CONTINUE -C --- CHECK FOR TOTAL CHARGE OF FINAL STATE MESONS TO DETERMINE --- -C --- THE KIND OF BARYONS TO BE PRODUCED TAKING INTO ACCOUNT --- -C --- CHARGE AND STRANGENESS CONSERVATION --- - NCHT=NP-NM - IF (NCHT .LT. -1) GO TO 113 - IF (NCHT .EQ. -1) GO TO 114 - IF (NCHT .GT. -1) GO TO 115 -C - 113 CONTINUE -C --- XI0 P --- - IPA(1)=26 - IPA(2)=14 - IF (NCHT .EQ. -2) GO TO 120 -C --- CHARGE MISMATCH ==> TAKE A S+ AND CORRECT THE STRANGENESS --- -C --- BY REPLACING A PI- BY K- --- -C --- S+ P --- - IPA(1)=20 - IPA(2)=14 - NVEFIX=1 - GO TO 120 -C - 114 CONTINUE -C --- XI0 N --- - IPA(1)=26 - IPA(2)=16 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. 0.5) GO TO 120 -C --- XI- P --- - IPA(1)=27 - IPA(2)=14 - GO TO 120 -C - 115 CONTINUE -C --- XI- N --- - IPA(1)=27 - IPA(2)=16 -C -C --- TAKE PIONS FOR ALL SECONDARY MESONS --- - 120 CONTINUE - NT=2 -C - IF (NP .EQ. 0) GO TO 122 -C -C --- PI+ --- - DO 121 I=1,NP - NT=NT+1 - IPA(NT)=7 - 121 CONTINUE -C - 122 CONTINUE - IF (NM .EQ. 0) GO TO 124 -C -C --- PI- --- - DO 123 I=1,NM - NT=NT+1 - IPA(NT)=9 - IF (NVEFIX .GE. 1) IPA(NT)=13 - IF (NPRT(4) .AND. (NVEFIX .GE. 1)) PRINT 3000 - 3000 FORMAT(' *CASXM* K- INTRODUCED') - NVEFIX=NVEFIX-1 - 123 CONTINUE -C - 124 CONTINUE - IF (NZ .EQ. 0) GO TO 130 -C -C --- PI0 --- - DO 125 I=1,NZ - NT=NT+1 - IPA(NT)=8 - 125 CONTINUE -C -C --- ALL SECONDARY PARTICLES HAVE BEEN DEFINED --- -C --- NOW GO FOR MOMENTA AND X VALUES --- - 130 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,2004) NT,(IPA(I),I=1,60) - 2004 FORMAT(' *CASXM* ',I3,' PARTICLES PRODUCED. MASS INDEX ARRAY : '/ - $ 3(1H ,20(I3,1X)/)) - GO TO 50 -C - 131 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,2005) - 2005 FORMAT(' *CASXM* NO PARTICLES PRODUCED') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/cinema.F b/StarVMC/geant3/gheisha/cinema.F deleted file mode 100644 index a892d7cb1cb..00000000000 --- a/StarVMC/geant3/gheisha/cinema.F +++ /dev/null @@ -1,90 +0,0 @@ -* -* $Id: cinema.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: cinema.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - FUNCTION CINEMA(EK1) -C -C *** INELASTICITY IN NUCLEAR INTERACTIONS AS A FUNCTION *** -C *** OF ATOMIC NUMBER ATNO2 AND KINETIC ENERGY EK1 *** -C *** NVE 12-JUL-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (14-OCT-1987) -C -C THE FUNCTIONAL DEPENDENCE AND THE PARAMETERS HAVE BEEN OBTAINED -C BY STUDY OF VARIOUS NUCLEAR STRUCTURE MODELS. -C BUT: IT IS OF COURSE AN INTERPOLATION AS FUNCTION OF ATOMIC -C NUMBER, FOR CERTAIN NUCLEI A DIFFERENT DESCRIPTION MAY BE -C MORE ADEQUATE. DETAILED TESTS HAVE BEEN PERFORMED FOR -C FE, CU, PB ,U AND SOME MIXTURES LIKE NAI, BGO, CONCRETE. -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_mat.inc" -#include "geant321/limits.inc" -C - CINEMA=0.0 - ND=IND+1 - ALA=LOG(ATNO2) - ALEK1=LOG(EK1) - SIG1=0.50 - SIG2=0.50 - EM=0.2390+0.0408*ALA**2 - IF (EM. GT. 1.0) EM=1.0 - CINEM=0.0019*ALA**3 - IF(CINEM.GT.0.15) CINEM=0.15 - IF (PARMAT(ND,10) .GE. 0.01) CINEM=CINEM*PARMAT(ND,10) -C - IF (ALEK1 .GT. EM) GO TO 1 -C - CORR=-(ALEK1-EM)**2/(2.0*SIG1**2) - IF (CORR .LT. EXPXL) CORR=EXPXL - IF (CORR .GT. EXPXU) CORR=EXPXU - DUM1=-EK1*CINEM - DUM2=ABS(DUM1) - DUM3=EXP(CORR) - CINEMA=0.0 - IF (DUM2 .GE. 1.0) CINEMA=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) CINEMA=DUM1*DUM3 - GO TO 2 -C - 1 CONTINUE - CORR=-(ALEK1-EM)**2/(2.0*SIG2**2) - IF (CORR .LT. EXPXL) CORR=EXPXL - IF (CORR .GT. EXPXU) CORR=EXPXU - DUM1=-EK1*CINEM - DUM2=ABS(DUM1) - DUM3=EXP(CORR) - CINEMA=0.0 - IF (DUM2 .GE. 1.0) CINEMA=DUM1*DUM3 - IF ((DUM2 .LT. 1.0) .AND. (DUM3 .GT. 1.0E-10)) CINEMA=DUM1*DUM3 -C - 2 CONTINUE - IF (CINEMA .LT. -EK1) CINEMA=-EK1 -C - END diff --git a/StarVMC/geant3/gheisha/coranh.F b/StarVMC/geant3/gheisha/coranh.F deleted file mode 100644 index 8a9472ae621..00000000000 --- a/StarVMC/geant3/gheisha/coranh.F +++ /dev/null @@ -1,81 +0,0 @@ -* -* $Id: coranh.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: coranh.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.2 2002/07/10 09:45:00 morsch -* Gheisha corrections suggested by Gary Bower (FNAL). -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE CORANH(NIHIL,NFL) -C -C *** NUCLEAR INTERACTIONS FOR HEAVY FRAGMENTS *** -C *** NVE 06-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (09-JULY-1987) -C -#include "geant321/s_defcom.inc" -C - NIHIL=0 - IF(AMAS.GT.0.) GO TO 9999 - IF(IPART.LT.14) GO TO 9999 - IF(IPA(1).GE.14) GO TO 9999 - IF(IPA(2).GE.14) GO TO 9999 - NIHIL=1 - RETURN -C** -C** DO NOT BE CONFUSED, THIS HAS NOTHING TO DO WITH RELATIVISTIC -C** KINEMATIC -C - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - EKCOR=1. - IF(EK.GT.1.) EKCOR=1./EK - EK=2.*TARMAS+EK*(1.+EKCOR/ATNO2) - EN=EK+ABS(AMAS) - P =SQRT(ABS(EN*EN-AMAS*AMAS)) - S =AMAS*AMAS+TARMAS**2+2.0*TARMAS*EN - RS=SQRT(S) - ENP(5)=EK - ENP(6)=EN - ENP(7)=P - ENP(8)=S - ENP(9)=RS -C** -C** EVAPORATION -C** - TKIN=EXNU(EK) - ENP(5)=EK-TKIN - IF(ENP(5).LT.0.0001) ENP(5)=0.0001 - ENP(6)=ENP(5)+ABS(AMAS) - ENP(7)=ENP(6)*ENP(6)-AMASQ - ENP(7)=SQRT(ABS(ENP(7))) - ENP(8)=AMASQ+RMASS(14)**2+2.*RMASS(14)*ENP(6) - ENP(9)=SQRT(ENP(8)) -C** CHECK AVAILABLE ENERGY FOR FIRST INTERACTION - IF(ENP(5).GT.CENG(3)) GO TO 9999 - ENP(5)=0. - ENP(6)=ABS(AMAS) - ENP(7)=0. - ENP(8)=4.*RMASS(14)**2 - ENP(9)=2.*RMASS(14) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/coscat.F b/StarVMC/geant3/gheisha/coscat.F deleted file mode 100644 index 169ad7572f0..00000000000 --- a/StarVMC/geant3/gheisha/coscat.F +++ /dev/null @@ -1,152 +0,0 @@ -* -* $Id: coscat.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: coscat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE COSCAT -C -C *** MOMENTUM GENERATION FOR COHERENT ELASTIC SCATTERING *** -C *** NVE 13-JUL-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (03-DEC-1986) -C -C APPROXIMATION OF BESSEL FUNCTION FOR TETA(LAB)<=20 DEG. -C IS USED . THE NUCLEAR RADIUS IS TAKEN AS R=1.25*E-13*(A)**1/3FM -C -#include "geant321/s_defcom.inc" -#include "geant321/s_coscom.inc" -#include "geant321/s_kginit.inc" -C - EXTERNAL FCTCOS - DIMENSION FF(20),ATNOX(3) - DIMENSION RNDM(1) -C - DATA ATNOX/9.,56.,207./ -C -C --- INITIALIZATION INDICATED BY KGINIT(14) --- - IF (KGINIT(14) .NE. 0) GO TO 10 - KGINIT(14)=1 -C - IF(.NOT.NPRT(10)) GOTO 10 - WRITE(NEWBCD,2001) - 2001 FORMAT(1H0,'DS/DT FOR COHERENT ELASTIC SCATTERING') - DO 3 L=1,3 - WRITE(NEWBCD,2003) ATNOX(L),P - 2003 FORMAT(1H0,'CALCULATED CROSS SECTIONS FOR A=',F5.1,' AND P=',F8.2) - DO 2 I=1,20 - TETA=(I-1)*PI/360. - T=2.*P**2*(1.-COS(TETA*1.D0)) - IF(ATNOX(L).GT.62.) GOTO 4 - FF(I)=TWPI*ATNOX(L)**1.63*EXP(-14.5D0*ATNOX(L)**0.65*T) - * +TWPI*1.4*ATNOX(L)**0.33*EXP(-10.D0*T) - GOTO 2 - 4 FF(I)=TWPI*ATNOX(L)**1.33*EXP(-60.0D0*ATNOX(L)**0.33*T) - * +TWPI*0.4*ATNOX(L)**0.40*EXP(-10.D0*T) - 2 CONTINUE - WRITE(NEWBCD,2004) FF - 2004 FORMAT(1H ,10E12.3) - 3 CONTINUE - 10 IF(P.LT.0.01) GO TO 9999 - IF(ATNO2.LT.0.5) GO TO 9999 - IER(46)=IER(46)+1 - RAN=RANRES(DUM) - CALL VZERO(IPA(1),MXGKCU) - IPA(1)=IPART - IF(ATNO2.GT.62.) GOTO 11 - AA=ATNO2**1.63 - BB=14.5*ATNO2**0.66 - CC=1.4*ATNO2**0.33 - DD=10. - AA=AA/BB - CC=CC/DD - RR=(AA+CC)*RAN - GOTO 12 - 11 AA=ATNO2**1.33 - BB=60.*ATNO2**0.33 - CC=0.4*ATNO2**0.40 - DD=10. - AA=AA/BB - CC=CC/DD - RR=(AA+CC)*RAN - 12 T1=-LOG(RAN)/BB - T2=-LOG(RAN)/DD - EPS=0.001 - IND1=10 - CALL RTMI(T,VAL,FCTCOS,T1,T2,EPS,IND1,IER1) - IF(IER1.EQ.0) GOTO 14 - T=0.25*(3.*T1+T2) - IER(68)=IER(68)+1 - 14 CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI - RR=0.5*T/P**2 - IF(RR.GT.1.) RR=0. - COST=1.-RR -* SINT=SQRT(MAX((1.-COST)*(1.+COST),0.)) - SINT=SQRT(MAX(RR*(2.-RR),0.)) - IF(SINT.NE.0.) THEN - PV( 1,MXGKPV-1)=P*PX - PV( 2,MXGKPV-1)=P*PY - PV( 3,MXGKPV-1)=P*PZ - PV( 4,MXGKPV-1)=EN - PV( 5,MXGKPV-1)=AMAS - PV( 6,MXGKPV-1)=NCH - PV( 7,MXGKPV-1)=TOF - PV( 8,MXGKPV-1)=IPART - PV( 9,MXGKPV-1)=0. - PV(10,MXGKPV-1)=USERW - PV(1,1)=P*SINT*SIN(PHI) - PV(2,1)=P*SINT*COS(PHI) - PV(3,1)=P*COST - PV(4,1)=EN - PV(5,1)=AMAS - PV(6,1)=NCH - PV(7,1)=TOF - PV(8,1)=IPART - PV(9,1)=0. - PV(10,1)=0. - CALL DEFS1(1,MXGKPV-1,1) - SINL1=SINL - COSL1=COSL - SINP1=SINP - COSP1=COSP - CALL SETCUR(1) - ELSE - SINL1=SINL - COSL1=COSL - SINP1=SINP - COSP1=COSP - ENDIF - IF(NPRT(4)) - *WRITE(NEWBCD,1004) AMAS,P,SINL1,COSL1,SINP1,COSP1,SINL,COSL, - * SINP,COSP,T1,T,T2,IER1 -C - 1004 FORMAT(1H ,'COHERENT ELASTIC SCATTERING MASS ',F8.3,' MOMENTUM - * ',F8.3/1H ,'DIRECTION ',4F10.4,' CHANGED TO ',4F10.4/ - *1H ,'T1,T,T2 ',3E10.3,' IER1 ',I2) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/cross3.F b/StarVMC/geant3/gheisha/cross3.F deleted file mode 100644 index 439dd9c5752..00000000000 --- a/StarVMC/geant3/gheisha/cross3.F +++ /dev/null @@ -1,70 +0,0 @@ -* -* $Id: cross3.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: cross3.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:07 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : -C -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE CROSS3(K,L,M) -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" - DIMENSION G(3) - DOUBLE PRECISION A,B,G -C - A=PV(2,K)*PV(3,L) - B=PV(3,K)*PV(2,L) - G(1)=A-B - A=PV(3,K)*PV(1,L) - B=PV(1,K)*PV(3,L) - G(2)=A-B - A=PV(1,K)*PV(2,L) - B=PV(2,K)*PV(1,L) - G(3)=A-B - DO 26 I=1,3 - 26 PV(I,M)=G(I) - RETURN - END diff --git a/StarVMC/geant3/gheisha/defs.F b/StarVMC/geant3/gheisha/defs.F deleted file mode 100644 index 11b2163fa5e..00000000000 --- a/StarVMC/geant3/gheisha/defs.F +++ /dev/null @@ -1,98 +0,0 @@ -* -* $Id: defs.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: defs.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:07 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : -C -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE DEFS(K,L,M) -C -C --- PV-ARRAY --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -C - DOUBLE PRECISION A,B -C - MX=M - MY=M+1 - MZ=M+2 - DO 52 I=1,3 - F=PV(I,K) - H=PV(I,L) - PV(I,MY)=F - PV(I,MZ)=H - 52 CONTINUE - A=PV(2,MY)*PV(3,MZ) - B=PV(3,MY)*PV(2,MZ) - PV(1,MX)=A-B - A=PV(3,MY)*PV(1,MZ) - B=PV(1,MY)*PV(3,MZ) - PV(2,MX)=A-B - A=PV(1,MY)*PV(2,MZ) - B=PV(2,MY)*PV(1,MZ) - PV(3,MX)=A-B - A=PV(2,MZ)*PV(3,MX) - B=PV(3,MZ)*PV(2,MX) - PV(1,MY)=A-B - A=PV(3,MZ)*PV(1,MX) - B=PV(1,MZ)*PV(3,MX) - PV(2,MY)=A-B - A=PV(1,MZ)*PV(2,MX) - B=PV(2,MZ)*PV(1,MX) - PV(3,MY)=A-B - DO 58 J=MX,MZ - A=0.0 - DO 54 I=1,3 - A=A+PV(I,J)*PV(I,J) - 54 CONTINUE - B=SQRT(A) - IF (B .NE. 0.0) B=1.0/B - DO 56 I=1,3 - PV(I,J)=B*PV(I,J) - 56 CONTINUE - 58 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/defs1.F b/StarVMC/geant3/gheisha/defs1.F deleted file mode 100644 index 69f2c51f206..00000000000 --- a/StarVMC/geant3/gheisha/defs1.F +++ /dev/null @@ -1,65 +0,0 @@ -* -* $Id: defs1.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: defs1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE DEFS1(I,J,K) -C -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (15-JAN-1984) -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_blank.inc" -C - DATA PI/3.141592653589793/ - PX=PV(1,I) - PY=PV(2,I) - PZ=PV(3,I) - PT2 = PV(1,J)**2+PV(2,J)**2 - IF(PT2.GT.0.) THEN - CALL LENGTX(J,P) - COST=PV(3,J)/P - SINT1=SQRT(ABS((1.-COST)*(1.+COST))) - SINT2=SQRT(PT2)/P - SINT=0.5*(SINT1+SINT2) - PH=PI*0.5 - IF(PV(2,J).LT.0.) PH=PI*1.5 - IF(ABS(PV(1,J)).GT.1.E-6) PH=ATAN2(PV(2,J),PV(1,J)) - COSP=COS(PH) - SINP=SIN(PH) - PV(1,K)= COST*COSP*PX- SINP*PY+SINT*COSP*PZ - PV(2,K)= COST*SINP*PX+ COSP*PY+SINT*SINP*PZ - PV(3,K)=-SINT *PX +COST *PZ - ELSE - PV(1,K)=PX - PV(2,K)=PY - PV(3,K)=PZ -C --- Take the case of theta=pi into account (MR/NVE 27-sep-1990) --- - IF (PV(3,J) .LT. 0.) PV(3,K)=-PZ - ENDIF - END diff --git a/StarVMC/geant3/gheisha/dlpnuc.F b/StarVMC/geant3/gheisha/dlpnuc.F deleted file mode 100644 index 8a210bcc652..00000000000 --- a/StarVMC/geant3/gheisha/dlpnuc.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: dlpnuc.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: dlpnuc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE DLPNUC(A,N) -C -C CALLED BY : PHPNUC -C ORIGIN : H.FESEFELDT -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif -C - DIMENSION A(N) - DIMENSION LT(20),RT(20) - INTEGER R,RT -C - LEVEL=1 - LT(1)=1 - RT(1)=N - 10 L=LT(LEVEL) - R=RT(LEVEL) - LEVEL=LEVEL-1 - 20 IF(R.LE.L) IF(LEVEL) 50,50,10 -C -C SUBDIVIDE THE INTERVAL L,R -C L : LOWER LIMIT OF THE INTERVAL (INPUT) -C R : UPPER LIMIT OF THE INTERVAL (INPUT) -C J : UPPER LIMIT OF LOWER SUB-INTERVAL (OUTPUT) -C I : LOWER LIMIT OF UPPER SUB-INTERVAL (OUTPUT) -C - I=L - J=R - M=(L+R)/2 - X=A(M) - 220 IF(A(I).GE.X) GO TO 230 - I=I+1 - GO TO 220 - 230 IF(A(J).LE.X) GO TO 231 - J=J-1 - GO TO 230 -C - 231 IF(I.GT.J) GO TO 232 - W=A(I) - A(I)=A(J) - A(J)=W - I=I+1 - J=J-1 - IF(I.LE.J) GO TO 220 -C - 232 LEVEL=LEVEL+1 - IF((R-I).GE.(J-L)) GO TO 30 - LT(LEVEL)=L - RT(LEVEL)=J - L=I - GO TO 20 - 30 LT(LEVEL)=I - RT(LEVEL)=R - R=J - GO TO 20 - 50 RETURN - END diff --git a/StarVMC/geant3/gheisha/dlpsor.F b/StarVMC/geant3/gheisha/dlpsor.F deleted file mode 100644 index 881a56d7f53..00000000000 --- a/StarVMC/geant3/gheisha/dlpsor.F +++ /dev/null @@ -1,90 +0,0 @@ -* -* $Id: dlpsor.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: dlpsor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE DLPSOR(A,N) -C -C *** DOUBLE PRECISION VERSION OF CERNLIB ROUTINE "FLPSOR" *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C CALLED BY : PHASP -C ORIGIN : H.FESEFELDT (02-DEC-1986) -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif -C - DIMENSION A(N) - DIMENSION LT(20),RT(20) - INTEGER R,RT -C - LEVEL=1 - LT(1)=1 - RT(1)=N - 10 L=LT(LEVEL) - R=RT(LEVEL) - LEVEL=LEVEL-1 - 20 IF(R.LE.L) IF(LEVEL) 50,50,10 -C -C SUBDIVIDE THE INTERVAL L,R -C L : LOWER LIMIT OF THE INTERVAL (INPUT) -C R : UPPER LIMIT OF THE INTERVAL (INPUT) -C J : UPPER LIMIT OF LOWER SUB-INTERVAL (OUTPUT) -C I : LOWER LIMIT OF UPPER SUB-INTERVAL (OUTPUT) -C - I=L - J=R - M=(L+R)/2 - X=A(M) - 220 IF(A(I).GE.X) GO TO 230 - I=I+1 - GO TO 220 - 230 IF(A(J).LE.X) GO TO 231 - J=J-1 - GO TO 230 -C - 231 IF(I.GT.J) GO TO 232 - W=A(I) - A(I)=A(J) - A(J)=W - I=I+1 - J=J-1 - IF(I.LE.J) GO TO 220 -C - 232 LEVEL=LEVEL+1 - IF((R-I).GE.(J-L)) GO TO 30 - LT(LEVEL)=L - RT(LEVEL)=J - L=I - GO TO 20 - 30 LT(LEVEL)=I - RT(LEVEL)=R - R=J - GO TO 20 - 50 RETURN - END diff --git a/StarVMC/geant3/gheisha/dotes2.F b/StarVMC/geant3/gheisha/dotes2.F deleted file mode 100644 index c5dae86681c..00000000000 --- a/StarVMC/geant3/gheisha/dotes2.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: dotes2.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: dotes2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE DOTES2(C,S,C2,S2,PR,I) -C -C *** DOUBLE PRECISION VERSION OF "ROTES2" *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C CALLED BY : PHASP -C ORIGIN : H.FESEFELDT (02-DEC-1986) -C - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -C - DIMENSION PR(50) -C - K1 = 5*I - 4 - K2 = K1 + 1 - SA = PR(K1) - SB = PR(K2) - A = SA*C - SB*S - PR(K2) = SA*S + SB*C - K2 = K2 + 1 - B = PR(K2) - PR(K1) = A*C2 - B*S2 - PR(K2) = A*S2 + B*C2 - RETURN - END diff --git a/StarVMC/geant3/gheisha/dotnuc.F b/StarVMC/geant3/gheisha/dotnuc.F deleted file mode 100644 index 9535d08789f..00000000000 --- a/StarVMC/geant3/gheisha/dotnuc.F +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: dotnuc.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: dotnuc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE DOTNUC(C,S,C2,S2,PR,I) -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif - DIMENSION PR(50) - K1 = 5*I - 4 - K2 = K1 + 1 - SA = PR(K1) - SB = PR(K2) - A = SA*C - SB*S - PR(K2) = SA*S + SB*C - K2 = K2 + 1 - B = PR(K2) - PR(K1) = A*C2 - B*S2 - PR(K2) = A*S2 + B*C2 - RETURN - END diff --git a/StarVMC/geant3/gheisha/dpdnuc.F b/StarVMC/geant3/gheisha/dpdnuc.F deleted file mode 100644 index 2b99a95bb1e..00000000000 --- a/StarVMC/geant3/gheisha/dpdnuc.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: dpdnuc.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: dpdnuc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - FUNCTION DPDNUC(A,B,C) -C -C CALLED BY : PHPNUC -C ORIGIN : H.FESEFELDT -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif -C -C DPDK = SQRT(A*A+(B*B-C*C)**2/(A*A) - 2.0*(B*B+C*C))/2.0 - A2 = A*A - B2 = B*B - C2 = C*C - IF(A2) 21,21,61 - 61 CONTINUE - ARG=A2+(B2-C2)**2/A2-2.0*(B2+C2) - IF (ARG) 21,21,31 - 21 DPDNUC=0.0 - GOTO 41 - 31 CONTINUE - DPDNUC = 0.5*SQRT(A2 + (B2-C2)**2/A2 - 2.0*(B2+C2)) - 41 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/exnu.F b/StarVMC/geant3/gheisha/exnu.F deleted file mode 100644 index f1e893b3b80..00000000000 --- a/StarVMC/geant3/gheisha/exnu.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: exnu.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: exnu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - FUNCTION EXNU(EK1) -C -C *** NUCLEAR EVAPORATION AS FUNCTION OF ATOMIC NUMBER ATNO *** -C *** AND KINETIC ENERGY EKIN OF PRIMARY PARTICLE *** -C *** NVE 04-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (10-DEC-1986) -C -C -#include "geant321/s_defcom.inc" - DIMENSION RNDM(2) -C - EXNU=0. - IF(ATNO2.LT.1.5) GO TO 9999 - MAGIC=0 - IF(INT(ZNO2+0.1).EQ.82) MAGIC=1 - EKIN1=EK1 - IF(EKIN1.LT.0.1) EKIN1=0.1 - IF(EKIN1.GT.4.) EKIN1=4. -C** 0.35 VALUE AT 1 GEV -C** 0.05 VALUE AT 0.1 GEV - CFA=(0.35-0.05)/2.3 - CFA= 0.35+CFA*LOG(EKIN1) - IF(CFA.LT.0.15) CFA=0.15 - EXNU=7.716*CFA*EXP(-CFA) - ATNO3=ATNO2 - IF(ATNO3.GT.120.) ATNO3=120. - CFA=((ATNO3-1.)/120.)*EXP(-(ATNO3-1.)/120.) - EXNU=EXNU*CFA - FPDIV=1.-0.25*EKIN1**2 - IF(FPDIV.LT.0.50) FPDIV=0.50 - GFA=2.0*((ATNO2-1.)/70.)*EXP(-(ATNO2-1.)/70.) - ENP(1)=EXNU*FPDIV - ENP(3)=EXNU-ENP(1) - 4 CALL NORMAL(RAN1) - CALL NORMAL(RAN2) - IF(MAGIC.EQ.1) THEN - RAN1=0. - RAN2=0. - END IF - ENP(1)=ENP(1)*(1.+RAN1*GFA) - IF(ENP(1).LT.0.) ENP(1)=0. - ENP(3)=ENP(3)*(1.+RAN2*GFA) - IF(ENP(3).LT.0.) ENP(3)=0. - 5 EXNU=ENP(1)+ENP(3) - IF(EXNU.LT.EK1) GOTO 10 - CALL GRNDM(RNDM,2) - ENP(1)=ENP(1)*(1.-0.5*RNDM(1)) - ENP(3)=ENP(3)*(1.-0.5*RNDM(2)) - GOTO 5 - 10 CONTINUE - IF (NPRT(4)) - $ WRITE(NEWBCD,1001) XEND,YEND,ZEND,EXNU,ENP(1),ENP(3) - 1001 FORMAT(' *EXNU* NUCLEAR EXCITATION AT X,Y,Z = ',3(G12.5,1X)/ - $ 1H ,7X,'EXNU,ENP(1),ENP(3) = ',3(G12.5,1X)) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/fctcos.F b/StarVMC/geant3/gheisha/fctcos.F deleted file mode 100644 index 4993ac61448..00000000000 --- a/StarVMC/geant3/gheisha/fctcos.F +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: fctcos.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: fctcos.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - REAL FUNCTION FCTCOS(T) -C -C *** NVE 01-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (27-OCT-1983) -C -#include "geant321/s_coscom.inc" -#include "geant321/limits.inc" -C - DOUBLE PRECISION TEST1,TEST2 -C - TEST1=-BB*T*1.0D0 - IF (TEST1 .GT. EXPXU) TEST1=EXPXU - IF (TEST1 .LT. EXPXL) TEST1=EXPXL - TEST2=-DD*T*1.0D0 - IF (TEST2 .GT. EXPXU) TEST2=EXPXU - IF (TEST2 .LT. EXPXL) TEST2=EXPXL -C - FCTCOS=AA*EXP(TEST1)+CC*EXP(TEST2)-RR -C - RETURN - END diff --git a/StarVMC/geant3/gheisha/fermi.F b/StarVMC/geant3/gheisha/fermi.F deleted file mode 100644 index 64f9a7de597..00000000000 --- a/StarVMC/geant3/gheisha/fermi.F +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: fermi.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: fermi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - FUNCTION FERMI(EK1) -C -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (23-AUG-1985) -C - FERMI=0. - RETURN - END diff --git a/StarVMC/geant3/gheisha/fissio.F b/StarVMC/geant3/gheisha/fissio.F deleted file mode 100644 index e78d3e9926d..00000000000 --- a/StarVMC/geant3/gheisha/fissio.F +++ /dev/null @@ -1,175 +0,0 @@ -* -* $Id: fissio.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: fissio.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - FUNCTION FISSIO(EK1) -C -C *** GENERATION OF PHOTONS AND NEUTRONS BY FISSION *** -C *** NVE 04-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (21-MAR-1987) -C -C THE PHYSICS IS BASED ON U(238) -C FOR OTHER MATERIALS EXTRAPOLATIONS ARE USED -C -#include "geant321/s_defcom.inc" -#include "geant321/s_kginit.inc" -C - DIMENSION SPNEUT(10) - DIMENSION RNDM(2) - SAVE SPNEUT - DATA SPNEUT/10*0./ -C -C --- INITIALIZATION INDICATED BY KGINIT(15) --- - IF (KGINIT(15) .NE. 0) GO TO 10 - KGINIT(15)=1 -C - XX=1.-0.5 - XXX=SQRT(2.29*XX) - SPNEUT(1)=EXP(-XX/0.965)*(EXP(XXX)-EXP(-XXX))/2. - DO 1 I=2,10 - XX=I*1.-0.5 - XXX=SQRT(2.29*XX) - 1 SPNEUT(I)=SPNEUT(I-1)+EXP(-XX/0.965)*(EXP(XXX)-EXP(-XXX))/2. - DO 2 I=1,10 - 2 SPNEUT(I)=SPNEUT(I)/SPNEUT(10) -C** IN THIS ROUTINE WE USE MEV AS UNIT FOR ENERGY AND MOMENTUM - 10 NT=0 - IER(82)=IER(82)+1 - ND=IND+1 - PV( 1,MXGKPV)=PX*P - PV( 2,MXGKPV)=PY*P - PV( 3,MXGKPV)=PZ*P - PV( 4,MXGKPV)=EN - PV( 5,MXGKPV)=ABS(AMAS) - PV( 6,MXGKPV)=NCH - PV( 7,MXGKPV)=TOF - PV( 8,MXGKPV)=IPART - PV( 9,MXGKPV)=0. - PV(10,MXGKPV)=USERW - PV( 1,MXGKPV-1)=0. - PV( 2,MXGKPV-1)=0. - PV( 3,MXGKPV-1)=0. - PV( 4,MXGKPV-1)=ATOMAS(ATNO(ND),ZNO(ND)) - PV( 5,MXGKPV-1)=PV(4,MXGKPV-1) - PV( 6,MXGKPV-1)=ZNO(ND) - PV( 7,MXGKPV-1)=TOF - PV( 8,MXGKPV-1)=0. - PV( 9,MXGKPV-1)=0. - PV(10,MXGKPV-1)=0. - CALL ADD(MXGKPV,MXGKPV-1,MXGKPV-2) - PV(1,MXGKPV-2)=-PV(1,MXGKPV-2) - PV(2,MXGKPV-2)=-PV(2,MXGKPV-2) - PV(3,MXGKPV-2)=-PV(3,MXGKPV-2) -C** NUMBER OF NEUTRONS AND PHOTONS - FISSIO=0. - E1=EK1*1000. - IF(E1.LT.1.0) E1=1.0 - AVERN=2.569+0.559*LOG(E1) -C** TAKE THE FOLLOWING VALUE IF PHOTOFISSION IS NOT INCLUDED - IF(IFIX(PARMAT(IND+1,8)).EQ.0) - *AVERN=2.569+0.900*LOG(E1) - AVERG=9.500+0.600*LOG(E1) - CALL NORMAL(RAN) - NN=IFIX(AVERN+RAN*1.23+0.5) - CALL NORMAL(RAN) - NG=IFIX(AVERG+RAN*3.+0.5) - IF(NN.LT.1) NN=1 - IF(NG.LT.1) NG=1 - EXN=0. - EXG=0. -C** DISTRIBUTE KINETIC ENERGY - DO 15 I=1,NN - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - DO 11 J=1,10 - IF(RAN.LT.SPNEUT(J)) GOTO 12 - 11 CONTINUE - J=10 - 12 CALL GRNDM(RNDM,1) - EKIN=(J-1)*1.+RNDM(1) - EXN=EXN+EKIN - PV(4,I)=EKIN+RMASS(16)*1000. - PV(5,I)=RMASS(16)*1000. - PV(6,I)=0. -C** EMISSION TIME FOR NEUTRONS =0. - PV(7,I)=TOF - PV(8,I)=16. - PV(9,I)=0. - PV(10,I)=0. - 15 CONTINUE - NT=NN - DO 20 I=1,NG - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - NT=NT+1 - PV(4,NT)=-0.87*LOG(RAN) - EXG=EXG+PV(4,NT) - PV(5,NT)=0. - PV(6,NT)=0. -C RAN=RNDM(1) -C** EMISSION TIME FOR PHOTONS= 2.5 E-8 SEC -C PV(7,NT)=TOF-500.*LOG(RAN) -C** CHANGED 30.7.85 - PV(7,NT)=TOF - PV(8,NT)=1. - PV(9,NT)=0. - PV(10,NT)=0. - 20 CONTINUE - IF(NT.EQ.0) GO TO 9999 - EX=EXN+EXG - IF(NPRT(4)) - *WRITE(NEWBCD,2000) ATNO(IND+1),NN,NG,EX - FISSIO=EX/1000. - DO 49 I=1,NT - PV(5,I)=PV(5,I)/1000. - PV(4,I)=PV(4,I)/1000. - CALL GRNDM(RNDM,2) - COST=-1.+2.*RNDM(1) - SINT=SQRT(ABS(1.-COST*COST)) - PHI=RNDM(2)*TWPI - PP=SQRT(ABS(PV(4,I)**2-PV(5,I)**2)) - PV(1,I)=PP*SINT*SIN(PHI) - PV(2,I)=PP*SINT*COS(PHI) - PV(3,I)=PP*COST - CALL LOR(I,MXGKPV-2,I) - 49 CONTINUE - INTCT=INTCT+1. - DO 50 I=1,NT - IF(NTOT.LT.NSIZE/12) GOTO 43 - IER(39)=IER(39)+1 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE -C - 2000 FORMAT(1H ,'NUCLEAR FISSION ON MATERIAL ',F6.1, - *', NEUTRONS, PHOTONS PRODUCED= ',2I3,' WITH ',F8.4,' MEV TOTAL ENE - *RGY') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/gdpdk.F b/StarVMC/geant3/gheisha/gdpdk.F deleted file mode 100644 index 632cd6d4a29..00000000000 --- a/StarVMC/geant3/gheisha/gdpdk.F +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: gdpdk.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: gdpdk.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:39 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - FUNCTION GDPDK(A,B,C) -C -C *** DOUBLE PRECISION VERSION OF "PDK" *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C CALLED BY : PHASP -C ORIGIN : H.FESEFELDT (02-DEC-1986) -C - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -C -C GDPDK = SQRT(A*A+(B*B-C*C)**2/(A*A) - 2.0*(B*B+C*C))/2.0 -C - A2 = A*A - B2 = B*B - C2 = C*C - IF(A2) 21,21,61 - 61 CONTINUE - ARG=A2+(B2-C2)**2/A2-2.0*(B2+C2) - IF (ARG) 21,21,31 - 21 GDPDK=0.0 - GOTO 41 - 31 CONTINUE - GDPDK = 0.5*SQRT(ABS(A2 + (B2-C2)**2/A2 - 2.0*(B2+C2))) - 41 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/genxpt.F b/StarVMC/geant3/gheisha/genxpt.F deleted file mode 100644 index cd10c8a562f..00000000000 --- a/StarVMC/geant3/gheisha/genxpt.F +++ /dev/null @@ -1,1099 +0,0 @@ -* -* $Id: genxpt.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: genxpt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.2 2002/07/10 09:45:00 morsch -* Gheisha corrections suggested by Gary Bower (FNAL). -* -* Revision 1.1.1.1 1995/10/24 10:21:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE GENXPT(IPPP,NFL,AVERN) -C -C *** GENERATION OF X- AND PT- VALUES FOR ALL PRODUCED PARTICLES *** -C *** NVE 02-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT 11-OCT-1987 -C -C A SIMPLE SINGLE VARIABLE DESCRIPTION E D3S/DP3= F(Q) WITH -C Q**2 = (M*X)**2 + PT**2 IS USED. FINAL STATE KINEMATIC IS PRODUCED -C BY AN FF-TYPE ITERATIVE CASCADE METHOD -C -#include "geant321/s_defcom.inc" -#include "geant321/s_genio.inc" -C - REAL ATNOL,ZNOL - REAL MASPAR,LAMB,NUCSUP - DIMENSION MASPAR(8),BP(8),PTEX(8),C1PAR(5),G1PAR(5),TAVAI(2), - $ SIDE(MXGKCU),IAVAI(2),BINL(20),DNDL(20),TWSUP(8), - $ NUCSUP(6),PSUP(6),IPAX(100) - DIMENSION RNDM(3) - DATA MASPAR/0.75,0.70,0.65,0.60,0.50,0.40,0.75,0.20/ - DATA BP/3.50,3.50,3.50,6.00,5.00,4.00,3.50,3.50/ - DATA PTEX/1.70,1.70,1.50,1.70,1.40,1.20,1.70,1.20/ - DATA C1PAR/0.6,0.6,0.35,0.15,0.10/ - DATA G1PAR/2.6,2.6,1.80,1.30,1.20/ - DATA BINL/0.,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.11,1.25 - $ ,1.43,1.67,2.0,2.5,3.33,5.00,10.00/ - DATA TWSUP/1.,1.,0.7,0.5,0.3,0.2,0.1,0.0/ - DATA NUCSUP/1.00,0.7,0.5,0.4,0.35,0.3/ - DATA PSUP/3.,6.,20.,50.,100.,1000./ -C -C** - CALL HIGSEL(ISEL) - IF(ISEL.EQ.1) THEN - CALL HIGXPT(IPPP,NFL,AVERN) - RETURN - ENDIF -C** -C** FOR ANNIHILATION INTERACTIONS INTRODUCE PROPER KINEMATICS -C** - CALL CORANH(NIHIL,NFL) -C** -C** -C** CHECK FIRST MASS-INDICES -C** - EK=ENP(5) - EN=ENP(6) - P=ENP(7) - S=ENP(8) - RS=ENP(9) - NT=0 - DO 1 I=1,100 - IF(IPA(I).EQ.0) GOTO 1 - NT=NT+1 - IPA(NT)=IPA(I) - 1 CONTINUE - CALL VZERO(IPA(NT+1),MXGKCU-NT) - CALL UCOPY(IPA(1),IPAX(1),100) -C** -C** FOR LOW MULTIPLICITY USE TWO-BODY RESONANCE MODEL OR SINGLE/DOUBLE -C** DIFFRACTION MODEL (--> TWOCLU (--> TWOB (--> COSCAT))) -C** - CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) - IF(NIHIL.GT.0) GOTO 200 - IF(NT.GE.8) GOTO 200 - IF(EK.LT.1.) GOTO 60 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(IPART.GE.10.AND.IPART.LE.13.AND.RAN.LT.0.5) GOTO 200 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - WSUP=TWSUP(NT) - IF(RAN.GT.WSUP) GOTO 200 - 60 CALL UCOPY(IPAX,IPA,100) - CALL TWOCLU(IPPP,NFL,AVERN) - GO TO 9999 -C** -C** SET EFFECTIVE 4-MOMENTUM OF PRIMARY PARTICLE -C** - 200 MX =MXGKPV-20 - MX1=MX+1 - MX2=MX+2 - MX3=MX+3 - MX4=MX+4 - MX5=MX+5 - MX6=MX+6 - MX7=MX+7 - MX8=MX+8 - MX9=MX+9 - PV( 1,MXGKPV-1)=P*PX - PV( 2,MXGKPV-1)=P*PY - PV( 3,MXGKPV-1)=P*PZ - PV( 4,MXGKPV-1)=EN - PV( 5,MXGKPV-1)=AMAS - PV( 6,MXGKPV-1)=NCH - PV( 7,MXGKPV-1)=TOF - PV( 8,MXGKPV-1)=IPART - PV( 9,MXGKPV-1)=0. - PV(10,MXGKPV-1)=USERW - IER(49)=IER(49)+1 -C** -C** SOME RANDOMISATION OF ORDER OF FINAL STATE PARTICLES -C** - DO 201 I=3,NT - CALL GRNDM(RNDM,1) - IPX=IFIX(3.+RNDM(1)*(NT-2.)) - IF(IPX.GT.NT) IPX=NT - IPA1=IPA(IPX) - IPA(IPX)=IPA(I) - 201 IPA(I) =IPA1 -C** -C** DISTRIBUTE IN FORWARD AND BACKWARD HEMISPHERE IN CMS -C** - SIDE(1)= 1. - SIDE(2)=-1. - NTB=1 - TARG=0. - IF(IPART.LT.10.OR.IPART.GT.13) GOTO 53 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.7) GOTO 53 - IPA1=IPA(1) - IPA(1)=IPA(2) - IPA(2)=IPA1 - 53 LEAD=0 - IF(IPART.LT.10.OR.IPART.EQ.14.OR.IPART.EQ.16) GOTO 532 - IPA1=ABS(IPA(1)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 531 - LEAD=IPA1 - GOTO 532 - 531 IPA1=ABS(IPA(2)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 532 - LEAD=IPA1 - 532 DO 3 I=1,NT - IF(I.LE.2) GOTO 54 - SIDE(I)= 1. - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) SIDE(I)=-1. - IF(SIDE(I).LT.-0.5) NTB=NTB+1 - 54 CONTINUE - 3 CONTINUE - TB=2.*NTB - CALL GRNDM(RNDM,1) - IF(RS.LT.(2.0+RNDM(1))) TB=(2.*NTB+NT)/2. - ZNOL = ZNO2 - IF(NFL .EQ. 1)ZNOL = ZNOL -1 - ATNOL = ATNO2 - 1 -C** -C** ADD PARTICLES FROM INTRANUCLEAR CASCADE -C** - AFC=0.312+0.200*LOG(LOG(S))+S**1.5/6000. - IF(AFC.GT.0.75) AFC=0.75 - XTARG=AFC*(ATNO2**0.33 -1.0)*TB - IF(XTARG.LE.0.) XTARG=0.01 - CALL POISSO(XTARG,NTARG) - NT2=NT+NTARG - IF(NT2.LE.MX) GOTO 2 - NT2=MX - NTARG=NT2-NT - 2 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,3001) NTARG,NT - NT1=NT+1 - IF(NTARG.EQ.0) GOTO 51 -C** -C** CHECK NUMBER OF EXTRA NUCLEONS AND PIONS -C** - DO 881 IPX=1,6 - IF(P.LE.PSUP(IPX)) GOTO 882 - 881 CONTINUE - IPX=6 - 882 DO 4 I=NT1,NT2 - IF(ATNOL .GT. 0.99)THEN - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(RAN.LT.NUCSUP(IPX)) GOTO 52 - ENDIF - CALL GRNDM(RNDM,1) - IPA(I)=-(7+IFIX(RNDM(1)*3.0)) - GOTO 4 - 52 IPA(I)=-16 - PNRAT=1.-ZNOL/ATNOL - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.PNRAT)THEN - IPA(I)=-14 - ZNOL = ZNOL -1 - ENDIF - TARG=TARG+1. - ATNOL = ATNOL -1 - 4 SIDE(I)=-2. - NT=NT2 -C** -C** CHOOSE MASSES AND CHARGES FOR ALL PARTICLES -C** - 51 DO 5 I=1,NT - IPA1=ABS(IPA(I)) - PV(5,I)=RMASS(IPA1) - PV(6,I)=RCHARG(IPA1) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - 5 CONTINUE -C** -C** CHECK AVAILABLE KINETIC ENERGY, IN THIS MODEL CONSERVATION OF -C** KINETIC ENERGY IN FORWARD AND BACKWARD HEMISPHERE IS ASSUMED -C** - 6 IF(NT.LE.1) GOTO 60 - TAVAI(1)=RS/2. - TAVAI(2)=(TARG+1.)*RS/2. - IAVAI(1)=0 - IAVAI(2)=0 - DO 7 I=1,NT - L=1 - IF(SIDE(I).LT.0.) L=2 - IAVAI(L)=IAVAI(L)+1 - TAVAI(L)=TAVAI(L)-ABS(PV(5,I)) - 7 CONTINUE - NTH=NT - IF(NTH.GT.10) NTH=10 - IF (NPRT(4)) - $ WRITE(NEWBCD,3002) TAVAI,IAVAI,(IPA(I),SIDE(I),I=1,NTH) - IF(IAVAI(1).LE.0) GOTO 60 - IF(IAVAI(2).LE.0) GOTO 60 - IF(TAVAI(1).GT.0.) GOTO 11 - CALL GRNDM(RNDM,1) - ISKIP=IFIX(RNDM(1)*(IAVAI(1)-1))+1 - IS=0 - DO 10 I=1,NT - II=NT-I+1 - IF(SIDE(II).LT.0.) GOTO 10 - IS=IS+1 - IF(IS.NE.ISKIP) GOTO 10 - IF(II.EQ.NT) GOTO 9 - NT1=II+1 - NT2=NT - DO 8 J=NT1,NT2 - IPA(J-1)=IPA(J) - SIDE(J-1)=SIDE(J) - DO 71 K=1,10 - 71 PV(K,J-1)=PV(K,J) - 8 CONTINUE - GOTO 9 - 10 CONTINUE - 9 IPA(NT)=0 - SIDE(NT)=0. - NT=NT-1 - GOTO 6 - 11 IF(TAVAI(2).GT.0.) GOTO 15 - CALL GRNDM(RNDM,1) - ISKIP=IFIX(RNDM(1)*(IAVAI(2)-1))+1 - IS=0 - DO 14 I=1,NT - II=NT-I+1 - IF(SIDE(II).GT.0.) GOTO 14 - IS=IS+1 - IF(IS.NE.ISKIP) GOTO 14 - IF(SIDE(II).LT.-1.5) NTARG=NTARG-1 - IF(NTARG.LT.0) NTARG=0 - IF(II.EQ.NT) GOTO 13 - NT1=II+1 - NT2=NT - DO 12 J=NT1,NT2 - IPA(J-1)=IPA(J) - SIDE(J-1)=SIDE(J) - DO 74 K=1,10 - 74 PV(K,J-1)=PV(K,J) - 12 CONTINUE - GOTO 13 - 14 CONTINUE - 13 IPA(NT)=0 - SIDE(NT)=0. - NT=NT-1 - GOTO 6 - 15 IF(NT.LE.1) GOTO 60 - IF(NT.EQ.MX) GOTO 29 - NT1=NT+1 - NT2=MX - DO 28 I=NT1,NT2 - 28 IPA(I)=0 - 29 CONTINUE -C** -C** NOW THE PREPARATION IS FINISHED. -C** DEFINE INITIAL STATE VECTORS FOR LORENTZ TRANSFORMATIONS. -C** - PV( 1,MX1)=0. - PV( 2,MX1)=0. - PV( 3,MX1)=P - PV( 4,MX1)=SQRT(P*P+AMAS*AMAS) - PV( 5,MX1)=ABS(AMAS) - PV( 1,MX2)=0. - PV( 2,MX2)=0. - PV( 3,MX2)=0. - PV( 4,MX2)=MP - PV( 5,MX2)=MP - PV( 1,MX4)=0. - PV( 2,MX4)=0. - PV( 3,MX4)=0. - PV( 4,MX4)=MP*(1.+TARG) - PV( 5,MX4)=PV(4,MX4) - PV( 1,MX8)=0. - PV( 2,MX8)=0. - PV( 3,MX8)=0. - PV( 1,MX9)=1. - PV( 2,MX9)=0. - PV( 3,MX9)=0. - CALL ADD(MX1,MX2,MX3) - CALL ADD(MX4,MX1,MX4) - CALL LOR(MX1,MX3,MX1) - CALL LOR(MX2,MX3,MX2) -C** -C** MAIN LOOP FOR 4-MOMENTUM GENERATION , SEE PITHA-REPORT (AACHEN) -C** FOR A DETAILED DESCRIPTION OF THE METHOD. -C** - CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI - EKIN1=0. - EKIN2=0. - DO 39 J=1,10 - PV(J,MX5)=0. - 39 PV(J,MX6)=0. - NPG=0 - TARG1=0. - DO 16 III=1,NT - I=NT-III+1 - IPA1=ABS(IPA(I)) -C** -C** COUNT NUMBER OF BACKWARD NUCLEONS -C** - IF(I.EQ.2) GOTO 301 - IF(SIDE(I).LT.-1.5.AND.IPA1.GE.14) GOTO 301 - GOTO 38 - 301 NPG=NPG+1 - IF(NPG.GT.18) GOTO 38 - SIDE(I)=-3. - TARG1=TARG1+1. - GOTO 16 - 38 J=3 - IF(IPA1.LT.14) J=2 - IF(IPA1.LT.10) J=1 - IF(I.LE.2) J=J+3 - IF(SIDE(I).LT.-1.5) J=7 - IF(J.EQ.7.AND.IPA1.GE.14) J=8 -C** -C** SET PT - AND PHI VALUES, THEY ARE CHANGED SOMEWHAT IN THE ITERATION -C** LOOP, SET MASS PARAMETER FOR LAMBDA FRAGMENTATION MODEL -C** - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - BPP=BP(J) - BPE=PTEX(J) - PT2=-LOG(RAN)/BPP - ASPAR=MASPAR(J) - PT2=PT2**BPE - PT =SQRT(PT2) - IF(PT.LT.0.001) PT=0.001 - PV(1,I)=PT*COS(PHI) - PV(2,I)=PT*SIN(PHI) - PV(10,I)=PT - BINL(1)=0. - RLMAX=1./PV(10,I) - DO 73 J=2,20 - 73 BINL(J)=RLMAX*(J-1)/19. - ET=PV(4,MX1) - IF(SIDE(I).LT.0.) THEN - ET=PV(4,MX2) - ENDIF - DNDL(1)=0. - NTRIAL=0 -C** -C** START OF BIG ITERATION LOOP -C** - 30 NTRIAL=NTRIAL+1 - IF(NTRIAL.GT. 2) GOTO 169 - DO 17 L=2,20 - DNDL(L)=0. - X=(BINL(L)+BINL(L-1))/2. - IF(PV(10,I).LT.0.001) PV(10,I)=0.001 - IF(X.GT.1./PV(10,I)) GOTO 17 - DX=BINL(L)-BINL(L-1) - DNDL(L)=ASPAR/SQRT((1.+(ASPAR*X)**2)**3) - DNDL(L)=ET*DNDL(L)/SQRT((X*PV(10,I)*ET)**2+PV(10,I)**2 - * +PV(5,I)**2) - DNDL(L)=DNDL(L)*DX - 17 DNDL(L)=DNDL(L-1)+DNDL(L) - NTRI=0 - 31 CALL GRNDM(RNDM,1) - RAN=RNDM(1)*DNDL(20) - DO 18 L=2,20 - IF(RAN.LT.DNDL(L)) GOTO 19 - 18 CONTINUE -C** -C** START OF SMALL ITERATION LOOP -C** - 19 NTRI=NTRI+1 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - DX=BINL(L)-BINL(L-1) - LAMB=BINL(L-1)+RAN*DX/2. - X=PV(10,I)*LAMB - IF(X.GT.1.) X=1. - X=X*SIDE(I)/ABS(SIDE(I)) - PV(3,I)=X*ET - PV(4,I)=PV(3,I)**2+PV(10,I)**2+PV(5,I)**2 - PV(4,I)=SQRT(PV(4,I)) - IF(SIDE(I).LT.0.) GOTO 165 - IF(I.GT.2) GOTO 20 - EKIN=TAVAI(1)-EKIN1 - CALL NORMAL(RAN) - IF(EKIN.LT.0.) EKIN=0.04*ABS(RAN) - PV(4,I)=ABS(PV(5,I))+EKIN - RNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(RNVE) - CALL LENGTX(I,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8000 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP*COS(RTHNVE) - GO TO 8001 - 8000 CONTINUE - PV(1,I)=PV(1,I)*PP/PP1 - PV(2,I)=PV(2,I)*PP/PP1 - PV(3,I)=PV(3,I)*PP/PP1 - 8001 CONTINUE -C - CALL ADD(MX5,I,MX5) - GOTO 16 - 20 EKIN=EKIN1+PV(4,I)-ABS(PV(5,I)) - IF(EKIN.LT.0.95*TAVAI(1)) GOTO 161 - IF(NTRI.GT. 5) GOTO 167 - PV(10,I)=PV(10,I)*0.9 - PV( 1,I)=PV( 1,I)*0.9 - PV( 2,I)=PV( 2,I)*0.9 - DNDL(20)=DNDL(20)*0.9 - IF((TAVAI(2)-ABS(PV(5,I))).LT.0.) GOTO 31 - SIDE(I)=-1. - TAVAI(1)=TAVAI(1)+ABS(PV(5,I)) - TAVAI(2)=TAVAI(2)-ABS(PV(5,I)) - GOTO 31 - 161 CALL ADD(MX5,I,MX5) - EKIN1=EKIN1+PV(4,I)-ABS(PV(5,I)) - GOTO 163 - 165 EKIN=EKIN2+PV(4,I)-ABS(PV(5,I)) - XXX=0.95+0.05*TARG/20. - IF(XXX.GT.0.999) X=0.999 - IF(EKIN.LT.XXX*TAVAI(2)) GOTO 166 - IF(NTRI.GT. 5) GOTO 167 - PV(10,I)=PV(10,I)*0.9 - PV( 1,I)=PV( 1,I)*0.9 - PV( 2,I)=PV( 2,I)*0.9 - DNDL(20)=DNDL(20)*0.9 - IF((TAVAI(1)-ABS(PV(5,I))).LT.0.) GOTO 31 - SIDE(I)=+1. - TAVAI(1)=TAVAI(1)-ABS(PV(5,I)) - TAVAI(2)=TAVAI(2)+ABS(PV(5,I)) - GOTO 31 - 166 CALL ADD(MX6,I,MX6) - EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) - 163 CALL ADD(MX5,MX6,MX7) - PV(3,MX7)=0. - CALL ANG(MX7,MX9,COST,PHIS) - IF(PV(2,MX7).LT.0.) PHIS=TWPI-PHIS - CALL NORMAL(RAN) - RAN=RAN*PI/12. - PHI=PHIS+PI+RAN - IF(PHI.GT.TWPI) PHI=PHI-TWPI - IF(PHI.LT.0.) PHI=TWPI-PHI - GOTO 16 -C** -C** PARTICLE MOMENTUM ZERO, REDUCE KINETIC ENERGY OF ALL OTHER -C** - 167 EKIN1=0. - EKIN2=0. - DO 162 J=1,10 - PV(J,MX5)=0. - 162 PV(J,MX6)=0. - II=I+1 - DO 168 L=II,NT - IF(ABS(IPA(L)).GE.14.AND.SIDE(L).LT.0.) GOTO 168 - PV(4,L)=PV(4,L)*0.95+0.05*ABS(PV(5,L)) - IF(PV(4,L).LT.ABS(PV(5,L))) PV(4,L)=ABS(PV(5,L)) - RNVE=ABS(PV(4,L)**2-PV(5,L)**2) - PP=SQRT(RNVE) - CALL LENGTX(L,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8002 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,L)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,L)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,L)=PP*COS(RTHNVE) - GO TO 8003 - 8002 CONTINUE - PV(1,L)=PV(1,L)*PP/PP1 - PV(2,L)=PV(2,L)*PP/PP1 - PV(3,L)=PV(3,L)*PP/PP1 - 8003 CONTINUE -C - PV(10,L)=SQRT(PV(1,L)**2+PV(2,L)**2) - IF(SIDE(L).LT.0.) GOTO 164 - EKIN1=EKIN1+PV(4,L)-ABS(PV(5,L)) - CALL ADD(MX5,L,MX5) - GOTO 168 - 164 EKIN2=EKIN2+PV(4,L)-ABS(PV(5,L)) - CALL ADD(MX6,L,MX6) - 168 CONTINUE -C *** NEXT STMT. CHANGED TO PREVENT FROM INFINITE LOOPING *** -C************* GOTO 38 - GO TO 30 -C** -C** SKIP PARTICLE, IF NOT ENOUGH ENERGY -C** - 169 IPA(I)=0 - DO 170 J=1,10 - 170 PV(J,I)=0. - GOTO 163 - 16 CONTINUE - NTRI=0 - II=0 - DO 320 I=1,NT - IF(IPA(I).EQ.0) GOTO 320 - II=II+1 - IPA(II)=IPA(I) - SIDE(II)=SIDE(I) - DO 321 J=1,10 - 321 PV(J,II)=PV(J,I) - 320 CONTINUE - NT=II -C** -C** BACKWARD NUCLEONS PRODUCED WITH A CLUSTER MODEL -C** - CALL LOR(MX4,MX3,MX7) - CALL SUB(MX7,MX5,MX7) - CALL SUB(MX7,MX6,MX7) - IF(TARG1.GT.1.5) GOTO 310 - 322 I=2 - CALL NORMAL(RAN) - EKIN=TAVAI(2)-EKIN2 - EKINM=RS/2.-MP - IF(EKIN.GT.EKINM) EKIN=EKINM - CALL NORMAL(RAN) - IF(EKIN.LT.0.04) EKIN=0.04*ABS(RAN) - PV(4,I)=ABS(PV(5,I))+EKIN - RNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(RNVE) - CALL LENGTX(MX7,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8004 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP*COS(RTHNVE) - GO TO 8005 - 8004 CONTINUE - PV(1,I)=PV(1,MX7)*PP/PP1 - PV(2,I)=PV(2,MX7)*PP/PP1 - PV(3,I)=PV(3,MX7)*PP/PP1 - 8005 CONTINUE -C - CALL ADD(MX6,I,MX6) - GOTO 330 - 310 ITARG1=IFIX(TARG1+0.1) - IF(ITARG1.GT.5) ITARG1=5 - RMB0=0. - NPG=0 - DO 311 I=1,NT - IF(SIDE(I).GT.-2.5) GOTO 311 - NPG=NPG+1 - RMB0=RMB0+ABS(PV(5,I)) - 311 CONTINUE - IF(NPG.LT.2) GOTO 322 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RMB=-LOG(RAN) - GPAR=G1PAR(ITARG1) - CPAR=C1PAR(ITARG1) - RMB=RMB0+RMB**CPAR/GPAR - PV(5,MX7)=RMB - IF(PV(5,MX7).GT.PV(4,MX7)) PV(5,MX7)=PV(4,MX7) - RNVE=ABS(PV(4,MX7)**2-PV(5,MX7)**2) - PP=SQRT(RNVE) - CALL LENGTX(MX7,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8006 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,MX7)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,MX7)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,MX7)=PP*COS(RTHNVE) - GO TO 8007 - 8006 CONTINUE - PV(1,MX7)=PV(1,MX7)*PP/PP1 - PV(2,MX7)=PV(2,MX7)*PP/PP1 - PV(3,MX7)=PV(3,MX7)*PP/PP1 - 8007 CONTINUE -C - I=MX7 - IF (NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - PV(1,MX7)=-PV(1,MX7) - PV(2,MX7)=-PV(2,MX7) - PV(3,MX7)=-PV(3,MX7) - KGENEV=1 - TECM=PV(5,MX7) - NPG=0 - DO 312 I=1,NT - IF(SIDE(I).GT.-2.5)GOTO 312 - NPG=NPG+1 - AMASS(NPG)=ABS(PV(5,I)) - 312 CONTINUE - CALL PHASP - NPG=0 - DO 314 I=1,NT - IF(SIDE(I).GT.-2.5) GOTO 314 - NPG=NPG+1 - PV(1,I)=PCM(1,NPG) - PV(2,I)=PCM(2,NPG) - PV(3,I)=PCM(3,NPG) - PV(4,I)=PCM(4,NPG) - CALL LOR(I,MX7,I) - CALL ADD(MX6,I,MX6) - 314 CONTINUE - 330 IF (NPRT(4)) - $ WRITE(NEWBCD,2002) NTRIAL,EKIN1,EKIN2,TAVAI(1),TAVAI(2) - 175 IF (.NOT.NPRT(4)) GOTO 36 - CALL ADD(MX5,MX6,MX7) - EKIN1=PV(4,MX1)+PV(4,MX2) - EKIN2=PV(4,MX5)+PV(4,MX6) - WRITE(NEWBCD,2000) EKIN1,EKIN2 - I=MX1 - WRITE(NEWBCD,2001) I,(PV(J,I),J=1,4) - I=MX2 - WRITE(NEWBCD,2001) I,(PV(J,I),J=1,4) - I=MX5 - WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - I=MX6 - WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - DO 37 I=1,NT - 37 WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) -C** -C** LORENTZ TRANSFORMATION IN LAB SYSTEM -C** - 36 IF(NT.LE.2) GOTO 60 - TARG=0. - DO 601 I=1,NT - IF(PV(5,I).GT.0.5) TARG=TARG+1. - CALL LOR(I,MX2,I) - 601 CONTINUE - IF(ABS(AMAS) .GT. 0.5)TARG = TARG - 1. - IF(NIHIL .GT. 0)TARG = TARG + 2 - IF(TARG.LT.0.5) TARG=1. - IF(LEAD.EQ.0) GOTO 6085 - DO 6081 I=1,NT - IF(ABS(IPA(I)).EQ.LEAD) GOTO 6085 - 6081 CONTINUE - I=1 - IF(LEAD.GE.14.AND.ABS(IPA(2)).GE.14) I=2 - IF(LEAD.LT.14.AND.ABS(IPA(2)).LT.14) I=2 - IPA(I)=LEAD - EKIN=PV(4,I)-ABS(PV(5,I)) - PV(5,I)=RMASS(LEAD) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - PV(6,I)=RCHARG(LEAD) - PV(4,I)=PV(5,I)+EKIN - CALL LENGTX(I,PP) - RNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP1=SQRT(RNVE) - PV(1,I)=PP1*PV(1,I)/PP - PV(2,I)=PP1*PV(2,I)/PP - PV(3,I)=PP1*PV(3,I)/PP - 6085 KGENEV=1 - PV(1,MX4)=0. - PV(2,MX4)=0. - PV(3,MX4)=P - PV(4,MX4)=SQRT(P*P+AMAS*AMAS) - PV(5,MX4)=ABS(AMAS) - EKIN0=PV(4,MX4)-PV(5,MX4) - PV(1,MX5)=0. - PV(2,MX5)=0. - PV(3,MX5)=0. - PV(4,MX5)=MP*TARG - PV(5,MX5)=PV(4,MX5) - EKIN=PV(4,MX4)+PV(4,MX5) - I=MX4 - IF (NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - I=MX5 - IF (NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL ADD(MX4,MX5,MX6) - CALL LOR(MX4,MX6,MX4) - CALL LOR(MX5,MX6,MX5) - TECM=PV(4,MX4)+PV(4,MX5) - NPG=NT - PV(1,MX8)=0. - PV(2,MX8)=0. - PV(3,MX8)=0. - PV(4,MX8)=0. - PV(5,MX8)=0. - EKIN1=0. - DO 598 I=1,NPG - IF (NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - CALL ADD(MX8,I,MX8) - EKIN1=EKIN1+PV(4,I)-PV(5,I) - EKIN=EKIN-PV(5,I) - IF(I.GT.18) GOTO 598 - AMASS(I)=PV(5,I) - 598 CONTINUE - IF(NPG.GT.18) GOTO 597 - CALL PHASP - EKIN=0. - DO 599 I=1,NPG - PV(1,MX7)=PCM(1,I) - PV(2,MX7)=PCM(2,I) - PV(3,MX7)=PCM(3,I) - PV(4,MX7)=PCM(4,I) - PV(5,MX7)=AMASS(I) - CALL LOR(MX7,MX5,MX7) - 599 EKIN=EKIN+PV(4,MX7)-PV(5,MX7) - CALL ANG(MX8,MX4,COST,TETA) - IF (NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1,EKIN -C** -C** MAKE SHURE, THAT KINETIC ENERGIES ARE CORRECT. -C** EKIN= KINETIC ENERGY THEORETICALLY -C** EKIN1= KINETIC ENERGY SIMULATED -C** - 597 IF(EKIN1.EQ.0.) GOTO 600 - PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - WGT=EKIN/EKIN1 - EKIN1=0. - DO 602 I=1,NT - EKIN=PV(4,I)-PV(5,I) - EKIN=EKIN*WGT - PV(4,I)=EKIN+PV(5,I) - RNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(RNVE) - CALL LENGTX(I,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8008 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP*COS(RTHNVE) - GO TO 8009 - 8008 CONTINUE - PV(1,I)=PV(1,I)*PP/PP1 - PV(2,I)=PV(2,I)*PP/PP1 - PV(3,I)=PV(3,I)*PP/PP1 - 8009 CONTINUE -C - EKIN1=EKIN1+EKIN - CALL ADD(MX7,I,MX7) - 602 CONTINUE - CALL ANG(MX7,MX4,COST,TETA) - IF (NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1 -C** -C** ROTATE IN DIRECTION OF Z-AXIS, THIS DOES DISTURB IN SOME WAY OUR -C** INCLUSIVE DISTRIBUTIONS, BUT IT IS NESSACARY FOR MOMENTUM CONSER- -C** VATION. -C** - 600 PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 596 I=1,NT - 596 CALL ADD(MX7,I,MX7) -C** -C** SOME SMEARING IN TRANSVERSE DIRECTION FROM FERMI MOTION -C** -* call rannor(ran1,ran2) - CALL GRNDM(RNDM,2) - RY=RNDM(1) - RZ=RNDM(2) - RX=6.283185*RZ - A1=SQRT(-2.*LOG(RY)) - RAN1=A1*SIN(RX) - RAN2=A1*COS(RX) - PV(1,MX7)=PV(1,MX7)+RAN1*0.020*TARG - PV(2,MX7)=PV(2,MX7)+RAN2*0.020*TARG - CALL DEFS(MX4,MX7,MX8) - PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 595 I=1,NT - CALL TRAC(I,MX8,I) - 595 CALL ADD(MX7,I,MX7) - CALL ANG(MX7,MX4,COST,TETA) - IF (NPRT(4)) WRITE(NEWBCD,2003) TETA -C** -C** ROTATE IN DIRECTION OF PRIMARY PARTICLE, SUBTRACT BINDING ENERGIES -C** AND MAKE SOME FURTHER CORRECTIONS IF REQUIRED (STEEP, STEEQ) -C** - DEKIN=0. - NPIONS=0 - EK1=0. - DO 21 I=1,NT - CALL DEFS1(I,MXGKPV-1,I) - IF (NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - IF(ATNO2.LT.1.5) GOTO 21 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - CALL NORMAL(RAN) - EKIN=EKIN-CFA*(1.+0.5*RAN) - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - CALL STEEQ(XXH,I) - DEKIN=DEKIN+EKIN*(1.-XXH) - EKIN=EKIN*XXH - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) NPIONS=NPIONS+1 - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) EK1=EK1+EKIN - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8010 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8011 - 8010 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8011 CONTINUE -C - 21 CONTINUE - IF(EK1.EQ.0.) GOTO 23 - IF(NPIONS.EQ.0) GOTO 23 - DEKIN=1.+DEKIN/EK1 - DO 22 I=1,NT - IF(ABS(IPA(I)).LT.7.OR.ABS(IPA(I)).GT.9) GOTO 22 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - EKIN=EKIN*DEKIN - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8012 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8013 - 8012 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8013 CONTINUE -C - 22 CONTINUE -C** -C** ADD BLACK TRACK PARTICLES, THE TOTAL NUMBER OF PARTICLES PRODUCED -C** IS RESTRICTED TO 198, THIS MAY HAVE INFLUENCE ON VERY HIGH ENERGY -C** FIRST PROTONS AND NEUTRONS -C** - 23 IF(ATNO2.LT.1.5) GOTO 40 - CALL SELFAB(SPROB) - TEX=ENP(1) - SPALL=TARG - IF(TEX.LT.0.001) GOTO 445 - BLACK=(1.5+1.25*TARG)*ENP(1)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF (NPRT(4)) WRITE(NEWBCD,3003) NBL,TEX - IF(NBL.GT.ATNOL) NBL=ATNOL - IF(NT+NBL.GT.MXGKPV-10) NBL=MXGKPV-10-NT - IF(NBL.LE.0) GOTO 445 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 441 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 441 - IF(NT.EQ.MXGKPV-10) GOTO 441 - IF(EKIN2.GT.TEX) GOTO 443 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - IPA1=16 - PNRAT=1.-ZNOL/ATNOL - CALL GRNDM(RNDM,3) - IF(RNDM(1).GT.PNRAT)THEN - IPA1=14 - ZNOL = ZNOL -1 - ENDIF - ATNOL = ATNOL - 1 - NT=NT+1 - SPALL=SPALL+1. - COST=-1.+RNDM(2)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(3) - IPA(NT)=-IPA1 - SIDE(NT)=-4. - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=1. - PV(4,NT)=EKIN1+PV(5,NT) - RNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(RNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 441 CONTINUE - 443 IF(ATNO2.LT.10.) GOTO 445 - IF(EK.GT.2.0) GOTO 445 - II=NT+1 - KK=0 - EKA=EK - IF(EKA.GT.1.) EKA=EKA*EKA - IF(EKA.LT.0.1) EKA=0.1 - IKA=3.6*EXP((ZNO2**2/ATNO2-35.56)/6.45)/EKA - IF(IKA.LE.0) GO TO 445 - DO 444 I=1,NT - II=II-1 - IF(IPA(II).NE.-14) GOTO 444 - IPA(II)=-16 - IPA1 = 16 - ZNOL = ZNOL + 1. - PV(5,II)=ABS(RMASS(IPA1)) - PV(6,II)=RCHARG(IPA1) - KK=KK+1 - IF(KK.GT.IKA) GOTO 445 - 444 CONTINUE -C** -C** THEN ALSO DEUTERONS, TRITONS AND ALPHAS -C** - 445 TEX=ENP(3) - IF(TEX.LT.0.001) GOTO 40 - IF(ATNOL .LT. ZNOL + 1.)GOTO 40 - IF(ZNOL .LT. 1.)GOTO 40 - BLACK=(1.5+1.25*TARG)*ENP(3)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-10) NBL=MXGKPV-10-NT - IF(NBL.LE.0) GOTO 40 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - IF (NPRT(4)) WRITE(NEWBCD,3004) NBL,TEX - DO 442 I=1,NBL - IF(ATNOL .LT. ZNOL + 1.)GOTO 40 - IF(ZNOL .LT. 1.)GOTO 40 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 442 - IF(NT.EQ.MXGKPV-10) GOTO 442 - IF(EKIN2.GT.TEX) GOTO 40 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - CALL GRNDM(RNDM,3) - COST=-1.+RNDM(1)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(2) - RAN=RNDM(3) - IPA(NT+1)=-30 - ATNOL = ATNOL - 2. - ZNOL = ZNOL - 1. - IF(RAN.GT.0.60)THEN - IF(ATNOL .GT. ZNOL + 0.9)THEN - IPA(NT+1)=-31 - ATNOL = ATNOL - 1. - IF(RAN.GT.0.90)THEN - IF( (ATNOL .GT. 0.9) .AND. (ZNOL .GT. 0.9))THEN - IPA(NT+1)=-32 - ATNOL = ATNOL - 1. - ZNOL = ZNOL - 1. - ENDIF - ENDIF - ENDIF - ENDIF - SIDE(NT+1)=-4. - PV(5,NT+1)=(ABS(IPA(NT+1))-28)*MP - SPALL=SPALL+PV(5,NT+1)*1.066 - NT=NT+1 - PV(6,NT)=1. - IF(IPA(NT).EQ.-32) PV(6,NT)=2. - PV(7,NT)=1. - PV(4,NT)=PV(5,NT)+EKIN1 - RNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(RNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 442 CONTINUE -C** -C** STORE ON EVENT COMMON -C** - 40 CONTINUE - 42 EKIN=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - EKIN1=PV(4,MXGKPV-1)-ABS(PV(5,MXGKPV-1)) - EKIN2=0. - CALL TDELAY(TOF1) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - TOF=TOF-TOF1*LOG(RAN) - DO 44 I=1,NT - EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) - IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) - PV(7,I)=TOF - PV(8,I)=ABS(IPA(I)) - PV(9,I)=0. - 44 PV(10,I)=0. - IF (NPRT(4)) WRITE(NEWBCD,2006) NT,EKIN,ENP(1),ENP(3),EKIN1,EKIN2 - INTCT=INTCT+1. - CALL SETCUR(NT) - NTK=NTK+1 - IF(NT.EQ.1) GO TO 9999 - DO 50 II=2,NT - I=II-1 - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE -C - 2002 FORMAT(' *GENXPT* PRODUCTION OF FINAL STATE KINEMATIC AFTER ',I3, - $ ' TRIALS. KINETIC ENERGIES ',2F6.2,' OUT OF ',2F6.2) - 2000 FORMAT(' *GENXPT* CMS PARAMETERS OF FINAL STATE PARTICLES,', - $ ' ENERGIES IN INITIAL AND FINAL STATE ',2F6.2) - 2001 FORMAT(' *GENXPT* TRACK',2X,I3,2X,10F8.3,2X,I3,2X,F4.0) - 2003 FORMAT(' *GENXPT* TETA,EKIN0,EKIN1,EKIN ',4F10.4) - 2006 FORMAT(' *GENXPT* COMP.',1X,I5,1X,5F7.2) - 3001 FORMAT(' *GENXPT* NUCLEAR EXCITATION',I5, - $ ' PARTICLES PRODUCED IN ADDITION TO ',I5,' NORMAL PARTICLES') - 3002 FORMAT(' *GENXPT* AVAILABLE ENERGIES ',2F10.4, - $ ' FOR ',2I3,' PARTICLES IN BEAM/TARGET FRAGM. REGION', - $ ' WITH IPA/SIDE ARRAY '/ - $ 1H ,5X,10(I3,2X,F3.0,4X)) - 3003 FORMAT(' *GENXPT* ',I3,' BLACK TRACK PARTICLES PRODUCED', - $ ' WITH TOTAL KINETIC ENERGY OF ',F8.3,' GEV') - 3004 FORMAT(' *GENXPT* ',I5,' HEAVY FRAGMENTS PRODUCED', - $ ' WITH TOTAL ENERGY OF',F8.4,' GEV') -C - 9999 CONTINUE -C - END diff --git a/StarVMC/geant3/gheisha/gpdk.F b/StarVMC/geant3/gheisha/gpdk.F deleted file mode 100644 index de66c545272..00000000000 --- a/StarVMC/geant3/gheisha/gpdk.F +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: gpdk.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: gpdk.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - FUNCTION GPDK(A,B,C) -C -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C CALLED BY : PHASP -C ORIGIN : H.FESEFELDT (27-OCT-1983) -C -C GPDK = SQRT(A*A+(B*B-C*C)**2/(A*A) - 2.0*(B*B+C*C))/2.0 -C - A2 = A*A - B2 = B*B - C2 = C*C - IF(A2) 21,21,61 - 61 CONTINUE - ARG=A2+(B2-C2)**2/A2-2.0*(B2+C2) - IF (ARG) 21,21,31 - 21 GPDK=0.0 - GOTO 41 - 31 CONTINUE - GPDK = 0.5*SQRT(ABS(A2 + (B2-C2)**2/A2 - 2.0*(B2+C2))) - 41 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/kmabs.F b/StarVMC/geant3/gheisha/kmabs.F deleted file mode 100644 index 0e5663aae4e..00000000000 --- a/StarVMC/geant3/gheisha/kmabs.F +++ /dev/null @@ -1,213 +0,0 @@ -* -* $Id: kmabs.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: kmabs.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE KMABS(NOPT) -C -C *** CHARGED KAON ABSORPTION BY A NUCLEUS *** -C *** NVE 04-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (09-JULY-1987) -C -C PRODUCTION OF A HYPERFRAGMENT WITH SUBSEQUENT DECAY -C PANOFSKY RATIO (K- P --> LAMBDA PI0/K- P --> LAMBDA GAMMA) = 3/2 -C -#include "geant321/s_defcom.inc" - DIMENSION RNDM(4) -C - CALL COMPO - PV(1,1)=0. - PV(2,1)=0. - PV(3,1)=0. - PV(4,1)=RMASS(13) - PV(5,1)=RMASS(13) - PV(6,1)=-1. - PV(7,1)=TOF - PV(8,1)=IPART - PV(9,1)=0. - PV(10,1)=USERW - IER(84)=IER(84)+1 - IF(ATNO2.GT.1.5) GOTO 30 - CALL GRNDM(RNDM,4) - RAN=RNDM(1) - TOF1=-12.5*LOG(RAN) - TOF1= 20.*TOF1 - RAN=RNDM(2) - ISW=1 - IF(RAN.LT.0.33) ISW=2 - NOPT=ISW - PV(1,3)=0. - PV(2,3)=0. - PV(3,3)=0. - PV(4,3)=RMASS(18) - PV(5,3)=RMASS(18) - PV(6,3)=0. - PV(7,3)=TOF+TOF1 - PV(8,3)=18. - PV(9,3)=0. - PV(10,3)=0. - PCM=RMASS(13)+RMASS(14)-RMASS(18) - COST=-1.+RNDM(3)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=RNDM(4)*TWPI - IF(ISW.EQ.1) GOTO 1 - PV(1,2)=PCM*COST*SIN(PHI) - PV(2,2)=PCM*COST*COS(PHI) - PV(3,2)=PCM*SINT - PV(4,2)=PCM - PV(5,2)=0. - PV(6,2)=0. - PV(7,2)=TOF+TOF1 - PV(8,2)=1. - PV(9,2)=0. - PV(10,2)=0. - GOTO 2 - 1 PCM=PCM*PCM-RMASS(8)*RMASS(8) - IF(PCM.LE.0.) PCM=0. - PCM=SQRT(PCM) - PV(1,2)=PCM*COST*SIN(PHI) - PV(2,2)=PCM*COST*COS(PHI) - PV(3,2)=PCM*SINT - PV(4,2)=SQRT(PCM*PCM+RMASS(8)*RMASS(8)) - PV(5,2)=RMASS(8) - PV(6,2)=0. - PV(7,2)=TOF+TOF1 - PV(8,2)=8. - PV(9,2)=0. - PV(10,2)=0. - 2 INTCT=INTCT+1. - CALL SETCUR(2) - NTK=NTK+1 - CALL SETTRK(3) - IF(NPRT(3)) - *WRITE(NEWBCD,1002) XEND,YEND,ZEND,P,ISW -1002 FORMAT(1H0,'KAON ABSORBTION POSITION',3(2X,F8.2),2X, - * 'K MOMENTUM',2X,F8.4,2X,'INT CODE',2X,I2) - GO TO 9999 -C** -C** STAR PRODUCTION FOR PION ABSORPTION IN HEAVY ELEMENTS -C** - 30 ENP(1)=0.300 - ENP(3)=0.150 - NT=1 - TEX=ENP(1) - BLACK=0.5*LOG(ATNO2) - CALL POISSO(BLACK,NBL) - IF(NPRT(3)) - *WRITE(NEWBCD,3003) NBL,TEX - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) NBL=1 - EKIN=TEX/NBL - EKIN2=0. - DO 31 I=1,NBL - IF(NT.EQ.MXGKPV-2) GOTO 31 - CALL GRNDM(RNDM,4) - RAN2=RNDM(1) - EKIN1=-EKIN*LOG(RAN2) - EKIN2=EKIN2+EKIN1 - IPA1=16 - PNRAT=1.-ZNO2/ATNO2 - IF(RNDM(2).GT.PNRAT) IPA1=14 - NT=NT+1 - COST=-1.+RNDM(3)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(4) - IPA(NT)=-IPA1 - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=2. - PV(4,NT)=EKIN1+PV(5,NT) - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - IF(EKIN2.GT.TEX) GOTO 33 - 31 CONTINUE - 33 TEX=ENP(3) - BLACK=0.50*LOG(ATNO2) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) NBL=1 - EKIN=TEX/NBL - EKIN2=0. - IF(NPRT(3)) - *WRITE(NEWBCD,3004) NBL,TEX - DO 32 I=1,NBL - IF(NT.EQ.MXGKPV-2) GOTO 32 - CALL GRNDM(RNDM,4) - RAN2=RNDM(1) - EKIN1=-EKIN*LOG(RAN2) - EKIN2=EKIN2+EKIN1 - NT=NT+1 - COST=-1.+RNDM(2)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(3) - RAN=RNDM(4) - IPA(NT)=-30 - IF(RAN.GT.0.60) IPA(NT)=-31 - IF(RAN.GT.0.90) IPA(NT)=-32 - PV(5,NT)=(ABS(IPA(NT))-28)*RMASS(14) - PV(6,NT)=1. - IF(IPA(NT).EQ.-32) PV(6,NT)=2. - PV(7,NT)=2. - PV(4,NT)=PV(5,NT)+EKIN1 - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - IF(EKIN2.GT.TEX) GOTO 40 - 32 CONTINUE -C** -C** STORE ON EVENT COMMON -C** - 40 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - TOF1=-12.5*LOG(RAN) - TOF1=20.*TOF1 - DO 41 I=2,NT - IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) - PV(7,I)=TOF+TOF1 - PV(8,I)=ABS(IPA(I)) - PV(9,I)=0. - 41 PV(10,I)=0. - INTCT=INTCT+1. - CALL SETCUR(2) - NTK=NTK+1 - IF(NT.EQ.2) GO TO 9999 - DO 50 I=3,NT - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE -C - 3003 FORMAT(1H ,I3,' BLACK TRACK PARTICLES PRODUCED WITH TOTAL KINETIC - * ENERGY OF ',F8.3,' GEV') - 3004 FORMAT(1H ,I5,' HEAVY FRAGMENTS WITH TOTAL ENERGY OF',F8.4,' GEV') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/length.F b/StarVMC/geant3/gheisha/length.F deleted file mode 100644 index a2bd2ef1173..00000000000 --- a/StarVMC/geant3/gheisha/length.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: length.F,v 1.1.1.2 2009/02/01 17:10:27 fisyak Exp $ -* -* $Log: length.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:27 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:07 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : -C -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE LENGTX(K,U) -C -C --- PV-ARRAY --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -C - DOUBLE PRECISION A,B -C - A=0.0 - DO 36 I=1,3 - A=A+PV(I,K)*PV(I,K) - 36 CONTINUE - B=SQRT(A) - U=B - RETURN - END diff --git a/StarVMC/geant3/gheisha/lor.F b/StarVMC/geant3/gheisha/lor.F deleted file mode 100644 index 2f0d64b189a..00000000000 --- a/StarVMC/geant3/gheisha/lor.F +++ /dev/null @@ -1,73 +0,0 @@ -* -* $Id: lor.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: lor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:07 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : -C -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE LOR(K,L,M) -C -C --- PV-ARRAY --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -C - DOUBLE PRECISION A,B,C -C - A=0.0 - DO 6 I=1,3 - A=A+PV(I,K)*PV(I,L) - 6 CONTINUE - A=(A/(PV(4,L)+PV(5,L))-PV(4,K))/PV(5,L) - B=PV(5,K)*PV(5,K) - DO 8 I=1,3 - C=PV(I,K)+A*PV(I,L) - B=B+C*C - PV(I,M)=C - 8 CONTINUE - PV(4,M)=SQRT(B) - PV(5,M)=PV(5,K) - RETURN - END diff --git a/StarVMC/geant3/gheisha/nbanh.F b/StarVMC/geant3/gheisha/nbanh.F deleted file mode 100644 index f30de4249a7..00000000000 --- a/StarVMC/geant3/gheisha/nbanh.F +++ /dev/null @@ -1,259 +0,0 @@ -* -* $Id: nbanh.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: nbanh.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE NBANH(NOPT) -C -C *** ANTI NEUTRON ANNIHILATION AT REST *** -C *** NVE 04-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (09-JULY-1987) -C -C NOPT=0 NO ANNIHILATION -C NOPT=1 ANNIH.IN PI+ PI- -C NOPT=2 ANNIH.IN PI0 PI0 -C NOPT=3 ANNIH.IN PI+ PI0 -C NOPT=4 ANNIH.IN GAMMA GAMMA -C -#include "geant321/s_defcom.inc" -C - DIMENSION BRR(3) - DIMENSION RNDM(3) - DATA BRR/0.125,0.25,0.50/ -C - PV(1,1)=0. - PV(2,1)=0. - PV(3,1)=0. - PV(4,1)=ABS(RMASS(17)) - PV(5,1)=RMASS(17) - PV(6,1)=0. - PV(7,1)=TOF - PV(8,1)=IPART - PV(9,1)=0. - PV(10,1)=USERW - IER(85)=IER(85)+1 - ISW=1 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(RAN.GT.BRR(1)) ISW=2 - IF(RAN.GT.BRR(2)) ISW=3 - IF(RAN.GT.BRR(3)) ISW=4 - NOPT=ISW -C** -C** EVAPORATION -C** - CALL COMPO - RMNVE1=RMASS(7) - RMNVE2=RMASS(9) - IF (ISW .EQ. 2) RMNVE1=RMASS(8) - IF (ISW .EQ. 2) RMNVE2=RMASS(8) - IF (ISW .EQ. 3) RMNVE2=RMASS(8) - IF (ISW .EQ. 4) RMNVE1=RMASS(1) - IF (ISW .EQ. 4) RMNVE2=RMASS(1) - EK=RMASS(16)+ABS(RMASS(17))-RMNVE1-RMNVE2 - TKIN=EXNU(EK) - EK=EK-TKIN - IF(EK.LT.0.0001) EK=0.0001 - EK=EK/2. - EN=EK+(RMNVE1+RMNVE2)/2.0 - S=AMAS*AMAS+RMASS(16)**2+2.0*RMASS(16)*EN - RS=SQRT(S) - PCM=SQRT(ABS(EN*EN-RMNVE1*RMNVE2)) - CALL GRNDM(RNDM,2) - PHI=2.*PI*RNDM(1) - COST=-1.+2.*RNDM(2) - SINT=SQRT(ABS(1.-COST*COST)) - PV(1,2)=PCM*SINT*COS(PHI) - PV(2,2)=PCM*SINT*SIN(PHI) - PV(3,2)=PCM*COST - DO 1 I=1,3 - 1 PV(I,3)=-PV(I,2) - PV(5,2)=RMNVE1 - PV(5,3)=RMNVE2 - IF(ISW.LE.3) GOTO 2 - PV(5,2)=0. - PV(5,3)=0. - 2 PV(4,2)=SQRT(PV(5,2)**2+PCM**2) - PV(4,3)=SQRT(PV(5,3)**2+PCM**2) - PV(7,2)=TOF - PV(7,3)=TOF - PV(9,2)=0. - PV(9,3)=0. - PV(10,2)=0. - PV(10,3)=0. - GOTO (21,22,23,24), ISW - 21 PV(6,2)=1. - PV(6,3)=-1. - PV(8,2)=7. - PV(8,3)=9. - GOTO 25 - 22 PV(6,2)=0. - PV(6,3)=0. - PV(8,2)=8. - PV(8,3)=8. - GOTO 25 - 23 PV(6,2)=1. - PV(6,3)=0. - PV(8,2)=7. - PV(8,3)=8. - GOTO 25 - 24 PV(6,2)=0. - PV(6,3)=0. - PV(8,2)=1. - PV(8,3)=1. - 25 NT=3 - IF(ATNO2.LT.1.5) GOTO 40 - AFC=0.312+0.200*LOG(LOG(S))+S**1.5/6000. -C TARG=AFC*(ATNO2**0.33 -1.0) - CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) - TARG=1. - TEX=ENP(1) - IF(TEX.LT.0.001) GOTO 445 - BLACK=(1.5+1.25*TARG)*ENP(1)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(IFIX(TARG)+NBL.GT.ATNO2) NBL=ATNO2-TARG - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 445 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 441 I=1,NBL - IF(NT.EQ.MXGKPV-2) GOTO 441 - IF(EKIN2.GT.TEX) GOTO 443 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF(EKIN1.LT.0.) EKIN1=0.001 - IPA1=16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,3) - IF(RNDM(1).GT.PNRAT) IPA1=14 - NT=NT+1 - COST=-1.+RNDM(2)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(3) - IPA(NT)=-IPA1 - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=TOF - PV(8,NT)=IPA1 - PV(9,NT)=0. - PV(10,NT)=0. - PV(4,NT)=EKIN1+PV(5,NT) - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 441 CONTINUE - 443 IF(ATNO2.LT.230.) GOTO 445 - IF(EK.GT.2.0) GOTO 445 - II=NT+1 - KK=0 - EKA=EK - IF(EKA.GT.1.) EKA=EKA*EKA - IF(EKA.LT.0.1) EKA=0.1 - IKA=IFIX(3.6/EKA) - DO 444 I=1,NT - II=II-1 - IF(IPA(II).NE.-14) GOTO 444 - IPA(II)=-16 - IPA1 = 16 - PV(5,II)=ABS(RMASS(IPA1)) - PV(6,II)=RCHARG(IPA1) - PV(8,II)=IPA1 - KK=KK+1 - IF(KK.GT.IKA) GOTO 445 - 444 CONTINUE -C** -C** THEN ALSO DEUTERONS, TRITONS AND ALPHAS -C** - 445 TEX=ENP(3) - IF(TEX.LT.0.001) GOTO 40 - BLACK=(1.5+1.25*TARG)*ENP(3)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 40 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 442 I=1,NBL - IF(NT.EQ.MXGKPV-2) GOTO 442 - IF(EKIN2.GT.TEX) GOTO 40 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF(EKIN1.LT.0.) EKIN1=0.001 - CALL GRNDM(RNDM,3) - COST=-1.+RNDM(1)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(2) - RAN=RNDM(3) - IPA(NT+1)=-30 - IF(RAN.GT.0.60) IPA(NT+1)=-31 - IF(RAN.GT.0.90) IPA(NT+1)=-32 - INVE=ABS(IPA(NT+1)) - PV(5,NT+1)=RMASS(INVE) - NT=NT+1 - PV(6,NT)=RCHARG(INVE) - PV(7,NT)=TOF - PV(8,NT)=ABS(IPA(NT)) - PV(9,NT)=0. - PV(10,NT)=0. - PV(4,NT)=PV(5,NT)+EKIN1 - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 442 CONTINUE - 40 INTCT=INTCT+1. - CALL SETCUR(2) - NTK=NTK+1 - IF(NT.EQ.2) GO TO 9999 - DO 50 I=3,NT - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE - CALL LENGTX(3,PP) - IF(NPRT(3)) - *WRITE(NEWBCD,1001) XEND,YEND,ZEND,P,NCH,PP,PV(6,3) -1001 FORMAT(1H0,'NB ANNIHILATION AT REST POSITION',3(1X,F8.2),1X, - * 'PI MOMENTA,CHARGES',2(1X,F8.4,1X,F4.1)) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/nfac.F b/StarVMC/geant3/gheisha/nfac.F deleted file mode 100644 index 610915df7b8..00000000000 --- a/StarVMC/geant3/gheisha/nfac.F +++ /dev/null @@ -1,43 +0,0 @@ -* -* $Id: nfac.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: nfac.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - INTEGER FUNCTION NFAC(N) -C -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (27-OCT-1983) -C - NFAC=1. - M=N - IF(M.LE.1) RETURN - IF(M.GT.10) M=10 - DO 1 I=2,M - 1 NFAC=NFAC*I - RETURN - END diff --git a/StarVMC/geant3/gheisha/normal.F b/StarVMC/geant3/gheisha/normal.F deleted file mode 100644 index 6b5747342d8..00000000000 --- a/StarVMC/geant3/gheisha/normal.F +++ /dev/null @@ -1,43 +0,0 @@ -* -* $Id: normal.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: normal.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE NORMAL(RAN) -C -C *** NVE 14-APR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (27-OCT-1983) -C - DIMENSION RNDM(12) - RAN=-6. - CALL GRNDM(RNDM,12) - DO 1 I=1,12 - RAN=RAN+RNDM(I) - 1 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/nucrec.F b/StarVMC/geant3/gheisha/nucrec.F deleted file mode 100644 index b382d579364..00000000000 --- a/StarVMC/geant3/gheisha/nucrec.F +++ /dev/null @@ -1,732 +0,0 @@ -* -* $Id: nucrec.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: nucrec.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:18 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE NUCREC(NOPT,IREC) -C -C *** NUCLEAR REACTION KINEMATICS AT LOW ENERGIES *** -C *** NVE 18-MAY-1988 CERN GENEVA *** -C -C CALLED BY : GHEISH, GNSLWD -C ORIGIN : H.FESEFELDT (12-FEB-1987) -C -C NOPT=1 N M(A,Z) --> G (G) M(A+1,Z ) NEUTRON CAPTURE -C NOPT=2 N M(A,Z) --> N (G) M(A ,Z ) INELASTIC NEUTRON SCATT. -C NOPT=3 N M(A,Z) --> P (G) M(A ,Z-1) -C NOPT=4 N M(A,Z) --> D (G) M(A-1,Z-1) -C NOPT=5 N M(A,Z) --> T (G) M(A-2,Z-1) -C NOPT=6 N M(A,Z) --> ALP. M(A-3,Z-2) -C NOPT=7 N M(A,Z) --> N N M(A-1,Z ) -C NOPT=8 N M(A,Z) --> N P M(A-1,Z-1) -C NOPT=9 N M(A,Z) --> P P M(A-1,Z-2) -C NOPT=11 P M(A,Z) --> G (G) M(A+1,Z+1) PROTON CAPTURE -C NOPT=12 P M(A,Z) --> N (G) M(A ,Z ) INELASTIC PROTON SCATT. -C NOPT=13 P M(A,Z) --> P (G) M(A ,Z+1) -C NOPT=14 P M(A,Z) --> D (G) M(A-1,Z ) -C NOPT=15 P M(A,Z) --> T (G) M(A-2,Z ) -C NOPT=16 P M(A,Z) --> ALP. M(A-3,Z-1) -C NOPT=17 P M(A,Z) --> N N M(A-1,Z+1) -C NOPT=18 P M(A,Z) --> N P M(A-1,Z ) -C NOPT=19 P M(A,Z) --> P P M(A-1,Z-1) -C SIMILAR FOR D,T,ALPHA SCATTERING ON NUCLEI -C -C NOTE : DOUBLE PRECISION CALCULATIONS ARE VITAL FOR THESE LOW -C ENERGY PROCESSES -C THEREFORE THE VARS OF /GENIO/ ARE DECLARED DOUBLE PRECISION -C ALSO A DOUBLE PRECISION VERSION OF THE PHASE SPACE PACKAGE -C "PHPNUC" HAS BEEN INTRODUCED -C *** HMF 29-AUG-1989 RWTH AACHEN *** -C -#include "geant321/s_defcom.inc" -#include "geant321/s_nucio.inc" -C - DIMENSION QVAL(10),TCH(10) - DIMENSION RNDM(2) -C -C** PROGRAM RETURNS WITH NOPT=0, IF INELASTIC SCATTERING ENERGETICALLY -C** NOT POSSIBLE, OR IF WRONG PARTICLES ENTER THIS ROUTINE: ONLY FOR -C** PROTONS,NEUTRONS, DEUTERIUM, TRITIUM AND ALPHAS. -C** IF EK > 100 MEV, THIS ROUTINE IS CERTAINLY NOT ADEQUATE. -C - NOPT=0 - IF (IREC .EQ. 0) GO TO 9999 -C - IF (NPRT(9) .AND. (EK .GT. 0.1)) PRINT 9000,EK,IPART - 9000 FORMAT(' *NUCREC* ENERGY TOO HIGH EK = ',G12.5,' GEV ', - $ ' KPART = ',I3) - IF (EK .GT. 0.1) GO TO 9999 -C -C%%% IF(IPART.EQ.16) GOTO 2 -C%%% IF(IPART.EQ.14) GOTO 3 -C%%% IF(IPART.EQ.30) GOTO 4 -C%%% IF(IPART.EQ.31) GOTO 5 -C%%% IF(IPART.EQ.32) GOTO 6 -C%%% GO TO 9999 -C%%% 2 AMAS = ATOMAS(1.,0.) -C%%% GOTO 8 -C%%% 3 AMAS = ATOMAS(1.,1.) -C%%% GOTO 8 -C%%% 4 AMAS = ATOMAS(2.,1.) -C%%% GOTO 8 -C%%% 5 AMAS = ATOMAS(3.,1.) -C%%% GOTO 8 -C%%% 6 AMAS = ATOMAS(4.,2.) -C - IF (IPART .EQ. 16) GO TO 8 - IF (IPART .EQ. 14) GO TO 8 - IF (IPART .EQ. 30) GO TO 8 - IF (IPART .EQ. 31) GO TO 8 - IF( IPART .EQ. 32) GO TO 8 - GO TO 9999 -C** SET BEAM PARTICLE, TAKE EK AS FUNDAMENTAL QUANTITY -C** DUE TO THE DIFFICULT KINEMATIC, ALL MASSES HAVE TO BE ASSIGNED -C** THE BEST MEASURED VALUES. - 8 CONTINUE - CALL VZERO(QVAL,10) - CALL VZERO(TCH ,10) -C --- GET MASS WHICH MATCHES GEANT --- - AMAS=RMASS(IPART) - EN=EK+ABS(AMAS) - P =SQRT(ABS(EN*EN-AMAS*AMAS)) - PP=SQRT(PX*PX+PY*PY+PZ*PZ) - IF (PP .GT. 1.0E-6) GO TO 8000 - CALL GRNDM(RNDM,2) - PHINVE=TWPI*RNDM(1) - COST=-1.+2.*RNDM(2) - IF (COST .LE. -1.) COST=-1. - IF (COST .GE. 1.) COST= 1. - RTHNVE=ACOS(COST) - PX=SIN(RTHNVE)*COS(PHINVE) - PY=SIN(RTHNVE)*SIN(PHINVE) - PZ=COS(RTHNVE) - PP=1. - 8000 CONTINUE - PX=PX/PP - PY=PY/PP - PZ=PZ/PP - CALL VZERO(PV,10*MXGKPV) - PV(1,1) =PX*P - PV(2,1) =PY*P - PV(3,1) =PZ*P - PV(4,1) =EN - PV(5,1) =AMAS - PV(6,1) =NCH - PV(7,1) =TOF - PV(8,1) =IPART - PV(9,1) =0. - PV(10,1)=USERW - PV(1,2) =0. - PV(2,2) =0. - PV(3,2) =0. - PV(4,2) =0. - PV(5,2) =ATOMAS(ATNO2,ZNO2) - PV(6,2) =ZNO2 - PV(7,2) =TOF - PV(8,2) =0. - PV(9,2) =0. - PV(10,2)=0. -C** CALCULATE Q-VALUE OF REACTIONS - IF(IPART.EQ.16) GOTO 20 - IF(IPART.EQ.14) GOTO 30 - IF(IPART.EQ.30) GOTO 40 - IF(IPART.EQ.31) GOTO 50 - IF(IPART.EQ.32) GOTO 60 - 20 PV(5,11)=ATOMAS(ATNO2+1.,ZNO2 ) - PV(6,11)=ZNO2 - PV(5,21)=0. - PV(6,21)=0. - PV(8,21)=1. - PV(5,31)=0. - PV(6,31)=0. - PV(8,31)=1. -C - PV(5,12)=PV(5,2) - PV(6,12)=PV(6,2) - PV(5,22)=RMASS(16) - PV(6,22)=0. - PV(8,22)=16. - PV(5,32)=0. - PV(6,32)=0. - PV(8,32)=1. -C - PV(5,13)=ATOMAS(ATNO2 ,ZNO2-1.) - PV(6,13)=ZNO2-1. - PV(5,23)=RMASS(14) - PV(6,23)=1. - PV(8,23)=14. - PV(5,33)=0. - PV(6,33)=0. - PV(8,33)=1. -C - PV(5,14)=ATOMAS(ATNO2-1.,ZNO2-1.) - PV(6,14)=ZNO2-1. - PV(5,24)=RMASS(30) - PV(6,24)=1. - PV(8,24)=30. - PV(5,34)=0. - PV(6,34)=0. - PV(8,34)=1. -C - PV(5,15)=ATOMAS(ATNO2-2.,ZNO2-1.) - PV(6,15)=ZNO2-1. - PV(5,25)=RMASS(31) - PV(6,25)=1. - PV(8,25)=31. - PV(5,35)=0. - PV(6,35)=0. - PV(8,35)=1. -C - PV(5,16)=ATOMAS(ATNO2-3.,ZNO2-2.) - PV(6,16)=ZNO2-2. - PV(5,26)=RMASS(32) - PV(6,26)=2. - PV(8,26)=32. - PV(5,36)=0. - PV(6,36)=0. - PV(8,36)=1. -C - PV(5,17)=ATOMAS(ATNO2-1.,ZNO2 ) - PV(6,17)=ZNO2 - PV(5,27)=PV(5,22) - PV(6,27)=0. - PV(8,27)=16. - PV(5,37)=PV(5,22) - PV(6,37)=0. - PV(8,37)=16. -C - PV(5,18)=PV(5,14) - PV(6,18)=PV(6,14) - PV(5,28)=PV(5,22) - PV(6,28)=0. - PV(8,28)=16. - PV(5,38)=PV(5,23) - PV(6,38)=1. - PV(8,38)=14. -C - PV(5,19)=ATOMAS(ATNO2-1.,ZNO2-2.) - PV(6,19)=ZNO2-2. - PV(5,29)=PV(5,23) - PV(6,29)=1. - PV(8,29)=14. - PV(5,39)=PV(5,23) - PV(6,39)=1. - PV(8,39)=14. -C - GOTO 70 - 30 PV(5,11)=ATOMAS(ATNO2+1.,ZNO2+1.) - PV(6,11)=ZNO2+1. - PV(5,21)=0. - PV(6,21)=0. - PV(8,21)=1. - PV(5,31)=0. - PV(6,31)=0. - PV(8,31)=1. -C - PV(5,12)=ATOMAS(ATNO2 ,ZNO2+1.) - PV(6,12)=ZNO2+1. - PV(5,22)=RMASS(16) - PV(6,22)=0. - PV(8,22)=16. - PV(5,32)=0. - PV(6,32)=0. - PV(8,32)=1. -C - PV(5,13)=PV(5,2) - PV(6,13)=PV(6,2) - PV(5,23)=RMASS(14) - PV(6,23)=1. - PV(8,23)=14. - PV(5,33)=0. - PV(6,33)=0. - PV(8,33)=1. -C - PV(5,14)=ATOMAS(ATNO2-1.,ZNO2 ) - PV(6,14)=ZNO2 - PV(5,24)=RMASS(30) - PV(6,24)=1. - PV(8,24)=30. - PV(5,34)=0. - PV(6,34)=0. - PV(8,34)=1. -C - PV(5,15)=ATOMAS(ATNO2-2.,ZNO2 ) - PV(6,15)=ZNO2 - PV(5,25)=RMASS(31) - PV(6,25)=1. - PV(8,25)=31. - PV(5,35)=0. - PV(6,35)=0. - PV(8,35)=1. -C - PV(5,16)=ATOMAS(ATNO2-3.,ZNO2-1.) - PV(6,16)=ZNO2-1. - PV(5,26)=RMASS(32) - PV(6,26)=2. - PV(8,26)=32. - PV(5,36)=0. - PV(6,36)=0. - PV(8,36)=1. -C - PV(5,17)=ATOMAS(ATNO2-1.,ZNO2+1.) - PV(6,17)=ZNO2+1. - PV(5,27)=PV(5,22) - PV(6,27)=0. - PV(8,27)=16. - PV(5,37)=PV(5,22) - PV(6,37)=0. - PV(8,37)=16. -C - PV(5,18)=PV(5,14) - PV(6,18)=PV(6,14) - PV(5,28)=PV(5,22) - PV(6,28)=0. - PV(8,28)=16. - PV(5,38)=PV(5,23) - PV(6,38)=1. - PV(8,38)=14. -C - PV(5,19)=ATOMAS(ATNO2-1.,ZNO2-1.) - PV(6,19)=ZNO2-1. - PV(5,29)=PV(5,23) - PV(6,29)=1. - PV(8,29)=14. - PV(5,39)=PV(5,23) - PV(6,39)=1. - PV(8,39)=14. -C - NOPT=10 - GOTO 70 - 40 PV(5,11)=ATOMAS(ATNO2+2.,ZNO2+1.) - PV(6,11)=ZNO2+1. - PV(5,21)=0. - PV(6,21)=0. - PV(8,21)=1. - PV(5,31)=0. - PV(6,31)=0. - PV(8,31)=1. -C - PV(5,12)=ATOMAS(ATNO2+1.,ZNO2+1.) - PV(6,12)=ZNO2+1. - PV(5,22)=RMASS(16) - PV(6,22)=0. - PV(8,22)=16. - PV(5,32)=0. - PV(6,32)=0. - PV(8,32)=1. -C - PV(5,13)=ATOMAS(ATNO2+1.,ZNO2 ) - PV(6,13)=ZNO2 - PV(5,23)=RMASS(14) - PV(6,23)=1. - PV(8,23)=14. - PV(5,33)=0. - PV(6,33)=0. - PV(8,33)=1. -C - PV(5,14)=PV(5,2) - PV(6,14)=PV(6,2) - PV(5,24)=RMASS(30) - PV(6,24)=1. - PV(8,24)=30. - PV(5,34)=0. - PV(6,34)=0. - PV(8,34)=1. -C - PV(5,15)=ATOMAS(ATNO2-1.,ZNO2 ) - PV(6,15)=ZNO2 - PV(5,25)=RMASS(31) - PV(6,25)=1. - PV(8,25)=31. - PV(5,35)=0. - PV(6,35)=0. - PV(8,35)=1. -C - PV(5,16)=ATOMAS(ATNO2-2.,ZNO2-1.) - PV(6,16)=ZNO2-1. - PV(5,26)=RMASS(32) - PV(6,26)=2. - PV(8,26)=32. - PV(5,36)=0. - PV(6,36)=0. - PV(8,36)=1. -C - PV(5,17)=ATOMAS(ATNO2 ,ZNO2+1.) - PV(6,17)=ZNO2+1. - PV(5,27)=PV(5,22) - PV(6,27)=0. - PV(8,27)=16. - PV(5,37)=PV(5,22) - PV(6,37)=0. - PV(8,37)=16. -C - PV(5,18)=PV(5,14) - PV(6,18)=PV(6,14) - PV(5,28)=PV(5,22) - PV(6,28)=0. - PV(8,28)=16. - PV(5,38)=PV(5,23) - PV(6,38)=1. - PV(8,38)=14. -C - PV(5,19)=ATOMAS(ATNO2 ,ZNO2-1.) - PV(6,19)=ZNO2-1. - PV(5,29)=PV(5,23) - PV(6,29)=1. - PV(8,29)=14. - PV(5,39)=PV(5,23) - PV(6,39)=1. - PV(8,39)=14. -C - NOPT=20 - GOTO 70 - 50 PV(5,11)=ATOMAS(ATNO2+3.,ZNO2+1.) - PV(6,11)=ZNO2+1. - PV(5,21)=0. - PV(6,21)=0. - PV(8,21)=1. - PV(5,31)=0. - PV(6,31)=0. - PV(8,31)=1. -C - PV(5,12)=ATOMAS(ATNO2+2.,ZNO2+1.) - PV(6,12)=ZNO2+1. - PV(5,22)=RMASS(16) - PV(6,22)=0. - PV(8,22)=16. - PV(5,32)=0. - PV(6,32)=0. - PV(8,32)=1. -C - PV(5,13)=ATOMAS(ATNO2+2.,ZNO2 ) - PV(6,13)=ZNO2 - PV(5,23)=RMASS(14) - PV(6,23)=1. - PV(8,23)=14. - PV(5,33)=0. - PV(6,33)=0. - PV(8,33)=1. -C - PV(5,14)=ATOMAS(ATNO2+1.,ZNO2 ) - PV(6,14)=ZNO2 - PV(5,24)=RMASS(30) - PV(6,24)=1. - PV(8,24)=30. - PV(5,34)=0. - PV(6,34)=0. - PV(8,34)=1. -C - PV(5,15)=PV(5,2) - PV(6,15)=PV(6,2) - PV(5,25)=RMASS(31) - PV(6,25)=1. - PV(8,25)=31. - PV(5,35)=0. - PV(6,35)=0. - PV(8,35)=1. -C - PV(5,16)=ATOMAS(ATNO2-1.,ZNO2-1.) - PV(6,16)=ZNO2-1. - PV(5,26)=RMASS(32) - PV(6,26)=2. - PV(8,26)=32. - PV(5,36)=0. - PV(6,36)=0. - PV(8,36)=1. -C - PV(5,17)=ATOMAS(ATNO2+1.,ZNO2+1.) - PV(6,17)=ZNO2+1. - PV(5,27)=PV(5,22) - PV(6,27)=0. - PV(8,27)=16. - PV(5,37)=PV(5,22) - PV(6,37)=0. - PV(8,37)=16. -C - PV(5,18)=PV(5,14) - PV(6,18)=PV(6,14) - PV(5,28)=PV(5,22) - PV(6,28)=0. - PV(8,28)=16. - PV(5,38)=PV(5,23) - PV(6,38)=1. - PV(8,38)=14. -C - PV(5,19)=ATOMAS(ATNO2+1.,ZNO2-1.) - PV(6,19)=ZNO2-1. - PV(5,29)=PV(5,23) - PV(6,29)=1. - PV(8,29)=14. - PV(5,39)=PV(5,23) - PV(6,39)=1. - PV(8,39)=14. -C - NOPT=30 - GOTO 70 - 60 PV(5,11)=ATOMAS(ATNO2+4.,ZNO2+2.) - PV(6,11)=ZNO2+2. - PV(5,21)=0. - PV(6,21)=0. - PV(8,21)=1. - PV(5,31)=0. - PV(6,31)=0. - PV(8,31)=1. -C - PV(5,12)=ATOMAS(ATNO2+3.,ZNO2+2.) - PV(6,12)=ZNO2+2. - PV(5,22)=RMASS(16) - PV(6,22)=0. - PV(8,22)=16. - PV(5,32)=0. - PV(6,32)=0. - PV(8,32)=1. -C - PV(5,13)=ATOMAS(ATNO2+3.,ZNO2+1.) - PV(6,13)=ZNO2+1. - PV(5,23)=RMASS(14) - PV(6,23)=1. - PV(8,23)=14. - PV(5,33)=0. - PV(6,33)=0. - PV(8,33)=1. -C - PV(5,14)=ATOMAS(ATNO2+2.,ZNO2+1.) - PV(6,14)=ZNO2+1. - PV(5,24)=RMASS(30) - PV(6,24)=1. - PV(8,24)=30. - PV(5,34)=0. - PV(6,34)=0. - PV(8,34)=1. -C - PV(5,15)=ATOMAS(ATNO2+1.,ZNO2+1.) - PV(6,15)=ZNO2+1. - PV(5,25)=RMASS(31) - PV(6,25)=1. - PV(8,25)=31. - PV(5,35)=0. - PV(6,35)=0. - PV(8,35)=1. -C - PV(5,16)=PV(5,2) - PV(6,16)=PV(6,2) - PV(5,26)=RMASS(32) - PV(6,26)=2. - PV(8,26)=32. - PV(5,36)=0. - PV(6,36)=0. - PV(8,36)=1. -C - PV(5,17)=ATOMAS(ATNO2+2.,ZNO2+2.) - PV(6,17)=ZNO2+2. - PV(5,27)=PV(5,22) - PV(6,27)=0. - PV(8,27)=16. - PV(5,37)=PV(5,22) - PV(6,37)=0. - PV(8,37)=16. -C - PV(5,18)=PV(5,14) - PV(6,18)=PV(6,14) - PV(5,28)=PV(5,22) - PV(6,28)=0. - PV(8,28)=16. - PV(5,38)=PV(5,23) - PV(6,38)=1. - PV(8,38)=14. -C - PV(5,19)=ATOMAS(ATNO2+2.,ZNO2 ) - PV(6,19)=ZNO2 - PV(5,29)=PV(5,23) - PV(6,29)=1. - PV(8,29)=14. - PV(5,39)=PV(5,23) - PV(6,39)=1. - PV(8,39)=14. -C - NOPT=40 - 70 QV =EK+PV(5,2)+PV(5,1) - TC = PV(6,2)+PV(6,1) - QVAL(1)=QV - PV(5,11) - TCH (1)=TC - PV(6,11) - QVAL(2)=QV - PV(5,12) - PV(5,22) - TCH (2)=TC - PV(6,12) - PV(6,22) - QVAL(3)=QV - PV(5,13) - PV(5,23) - TCH (3)=TC - PV(6,13) - PV(6,23) - QVAL(4)=QV - PV(5,14) - PV(5,24) - TCH (4)=TC - PV(6,14) - PV(6,24) - QVAL(5)=QV - PV(5,15) - PV(5,25) - TCH (5)=TC - PV(6,15) - PV(6,25) - QVAL(6)=QV - PV(5,16) - PV(5,26) - TCH (6)=TC - PV(6,16) - PV(6,26) - QVAL(7)=QV - PV(5,17) - PV(5,27) - PV(5,37) - TCH (7)=TC - PV(6,17) - PV(6,27) - PV(6,37) - QVAL(8)=QV - PV(5,18) - PV(5,28) - PV(5,38) - TCH (8)=TC - PV(6,18) - PV(6,28) - PV(6,38) - QVAL(9)=QV - PV(5,19) - PV(5,29) - PV(5,39) - TCH (9)=TC - PV(6,19) - PV(6,29) - PV(6,39) - 74 QV = 0 - IF(IREC.EQ.2) QVAL(1)=0. - IF(IPART.NE.16) GOTO 75 - CALL GRNDM(RNDM,2) - IF(RNDM(1).GT.((ATNO2-1.)/230.)**2) QVAL(1)=0. - EKA=7.9254/ATNO2 - IF(RNDM(2).LT.EK/EKA) GOTO 75 - QVAL(3)=0. - QVAL(4)=0. - QVAL(5)=0. - QVAL(6)=0. - QVAL(9)=0. - 75 DO 71 I=1,9 - IF(PV(5,10+I).LT.0.5) QVAL(I)=0. - IF(QVAL(I).LT.0. ) QVAL(I)=0. - IF(ABS(TCH(I)-0.1).GT.0.5 ) QVAL(I)=0. - QV=QV+QVAL(I) - 71 CONTINUE - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - QV1=0. - DO 72 I=1,9 - IF(QVAL(I).EQ.0.) GOTO 72 - QV1=QV1+QVAL(I)/QV - IF(RAN.LE.QV1) GOTO 73 - 72 CONTINUE -C** REACTION KINEMATICALLY NOT POSSIBLE - NOPT=0 - GO TO 9999 - 73 NOPT=NOPT+I - PV(5,3)=PV(5,10+I) - PV(6,3)=PV(6,10+I) - PV(8,3)=0. - PV(5,4)=PV(5,20+I) - PV(6,4)=PV(6,20+I) - PV(8,4)=PV(8,20+I) - PV(5,5)=PV(5,30+I) - PV(6,5)=PV(6,30+I) - PV(8,5)=PV(8,30+I) - NT=2 - RAN=EK*10. - IF(RAN.GT.0.5) RAN=0.5 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.RAN) NT=3 - IF(MOD(NOPT,10).GE.7) NT=3 -C** CALCULATE CMS ENERGY - 80 PV(4,2)=PV(5,2) - CALL ADD(1,2,MXGKPV) - PV(1,MXGKPV)=-PV(1,MXGKPV) - PV(2,MXGKPV)=-PV(2,MXGKPV) - PV(3,MXGKPV)=-PV(3,MXGKPV) -C** SET QUANTITIES FOR PHASE SPACE ROUTINE IN CMS - TECM=PV(5,MXGKPV) - NPG=NT - KGENEV=1 - DO 81 I=1,NPG - 81 AMASS(I)=PV(5,2+I) -C --- Invoke double precision version of the phase space package --- - CALL PHPNUC - DO 83 I=1,NPG - DO 82 J=1,4 - 82 PV(J,2+I)=PCM(J,I) -C** TRANSFORM INTO LAB.SYSTEM - CALL LOR(2+I,MXGKPV,2+I) - PV(7,2+I)=TOF - 83 CONTINUE -C** SET CHARGES AND PARTICLE INDEX FOR LOW MASS FRAGMENTS - IF (ABS(PV(5,3)-RMASS(14)) .LT. 0.0001) GO TO 84 - IF (ABS(PV(5,3)-RMASS(16)) .LT. 0.0001) GO TO 85 - IF (ABS(PV(5,3)-RMASS(30)) .LT. 0.0001) GO TO 86 - IF (ABS(PV(5,3)-RMASS(31)) .LT. 0.0001) GO TO 87 - IF (ABS(PV(5,3)-RMASS(32)) .LT. 0.0001) GO TO 88 - GOTO 89 - 84 PV(6,3)=1. - PV(8,3)=14. - GOTO 89 - 85 PV(6,3)=0. - PV(8,3)=16. - GOTO 89 - 86 PV(6,3)=1. - PV(8,3)=30. - GOTO 89 - 87 PV(6,3)=1. - PV(8,3)=31. - GOTO 89 - 88 PV(6,3)=2. - PV(8,3)=32. - 89 NTT=2+NT - DO 90 I=1,NTT - IPP=IFIX(PV(8,I)+0.01) - IF(IPP.EQ.0) GOTO 90 - EK=PV(4,I)-PV(5,I) - IF(I.LT.3) GOTO 92 - IF(IPP.LT.30) GOTO 92 - CALL GRNDM(RNDM,1) - EK=EK*0.5*RNDM(1) - 92 IF(EK.LT.1.E-6) EK=1.E-6 - PV(5,I)=RMASS(IPP) - PV(4,I)=EK+PV(5,I) - P=SQRT(ABS(PV(4,I)**2-PV(5,I)**2)) - PP=SQRT(PV(1,I)**2+PV(2,I)**2+PV(3,I)**2) - IF(PP.GT.1.E-6) GOTO 91 - CALL GRNDM(RNDM,2) - PHINVE=TWPI*RNDM(1) - COST=-1.+2.*RNDM(2) - IF (COST .LE. -1.) COST=-1. - IF (COST .GE. 1.) COST= 1. - RTHNVE=ACOS(COST) - PV(1,I)=SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=COS(RTHNVE) - PP=1. - 91 PV(1,I)=PV(1,I)*P/PP - PV(2,I)=PV(2,I)*P/PP - PV(3,I)=PV(3,I)*P/PP - 90 CONTINUE - IF(.NOT.NPRT(4)) GOTO 100 - WRITE(NEWBCD,1000) XEND,YEND,ZEND,IND,NOPT - 1000 FORMAT(1H ,'Nuclear reaction at (X,Y,Z) ',3(G12.5,1X) - +,' Material ',I5,' NOPT ',I5) - DO 95 I=1,NTT - WRITE(NEWBCD,1001) I,(PV(J,I),J=1,10) - 95 CONTINUE - 1001 FORMAT(1H ,I3,1X,10(G10.3,1X)) - 100 INTCT=INTCT+1. -C** SET INTERACTION MODE ACCORDING TO GHEISHA-CONVENTION -C** N-CAPTURE - IF(PV(8,3).GT.0.) GOTO 110 - CALL SETCUR(4) - NTK=NTK+1 - IF(NT.EQ.3) CALL SETTRK(5) - GO TO 9999 - 110 CONTINUE - CALL SETCUR(4) - NTK=NTK+1 - CALL SETTRK(3) - IF(NT.EQ.3) CALL SETTRK(5) - CALL SETTRK(3) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/pbanh.F b/StarVMC/geant3/gheisha/pbanh.F deleted file mode 100644 index e6cb46eabdb..00000000000 --- a/StarVMC/geant3/gheisha/pbanh.F +++ /dev/null @@ -1,264 +0,0 @@ -* -* $Id: pbanh.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: pbanh.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE PBANH(NOPT) -C *** ANTI PROTON ANNIHILATION AT REST *** -C *** NVE 04-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (09-JULY-1987) -C -C NOPT=0 NO ANNIHILATION -C NOPT=1 ANNIH.IN PI+ PI- -C NOPT=2 ANNIH.IN PI0 PI0 -C NOPT=3 ANNIH.IN PI- PI0 -C NOPT=4 ANNIH.IN GAMMA GAMMA -C -#include "geant321/s_defcom.inc" -C - DIMENSION BRR(3) - DIMENSION RNDM(3) - DATA BRR/0.125,0.25,0.5/ -C - PV(1,1)=0. - PV(2,1)=0. - PV(3,1)=0. - PV(4,1)=ABS(RMASS(15)) - PV(5,1)=RMASS(15) - PV(6,1)=-1. - PV(7,1)=TOF - PV(8,1)=IPART - PV(9,1)=0. - PV(10,1)=USERW - IER(86)=IER(86)+1 - ISW=1 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(RAN.GT.BRR(1)) ISW=2 - IF(RAN.GT.BRR(2)) ISW=3 - IF(RAN.GT.BRR(3)) ISW=4 - NOPT=ISW -C** -C** EVAPORATION -C** - CALL COMPO - IF (ISW .EQ. 1) THEN - RMNVE1=RMASS(7) - RMNVE2=RMASS(9) - ELSEIF (ISW .EQ. 2) THEN - RMNVE1=RMASS(8) - RMNVE2=RMASS(8) - ELSEIF (ISW .EQ. 3) THEN - RMNVE1=RMASS(9) - RMNVE2=RMASS(8) - ELSEIF (ISW .EQ. 4) THEN - RMNVE1=RMASS(1) - RMNVE2=RMASS(1) - ENDIF - EK=RMASS(14)+ABS(RMASS(15))-RMNVE1-RMNVE2 - TKIN=EXNU(EK) - EK=EK-TKIN - IF(EK.LT.0.0001) EK=0.0001 - EK=0.5*EK - EN=EK+0.5*(RMNVE1+RMNVE2) - S=AMAS*AMAS+RMASS(14)**2+2.0*RMASS(14)*EN - RS=SQRT(S) - PCM=SQRT(ABS(EN*EN-RMNVE1*RMNVE2)) - CALL GRNDM(RNDM,2) - PHI=2.*PI*RNDM(1) - COST=-1.+2.*RNDM(2) - SINT=SQRT(ABS((1.-COST)*(1.+COST))) - PV(1,2)=PCM*SINT*COS(PHI) - PV(2,2)=PCM*SINT*SIN(PHI) - PV(3,2)=PCM*COST - DO 1 I=1,3 - 1 PV(I,3)=-PV(I,2) - PV(5,2)=RMNVE1 - PV(5,3)=RMNVE2 - IF(ISW.LE.3) GOTO 2 - PV(5,2)=0. - PV(5,3)=0. - 2 PV(4,2)=SQRT(PV(5,2)**2+PCM**2) - PV(4,3)=SQRT(PV(5,3)**2+PCM**2) - PV(7,2)=TOF - PV(7,3)=TOF - PV(9,2)=0. - PV(9,3)=0. - PV(10,2)=0. - PV(10,3)=0. - GOTO (21,22,23,24),ISW - 21 PV(6,2)=1. - PV(6,3)=-1. - PV(8,2)=7. - PV(8,3)=9. - GOTO 25 - 22 PV(6,2)=0. - PV(6,3)=0. - PV(8,2)=8. - PV(8,3)=8. - GOTO 25 - 23 PV(6,2)=-1. - PV(6,3)=0. - PV(8,2)=9. - PV(8,3)=8. - GOTO 25 - 24 PV(6,2)=0. - PV(6,3)=0. - PV(8,2)=1. - PV(8,3)=1. - 25 NT=3 - IF(ATNO2.LT.1.5) GOTO 40 - AFC=0.312+0.200*LOG(LOG(S))+S**1.5/6000. -C TARG=AFC*(ATNO2**0.33 -1.0) - CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) - TARG=1. - TEX=ENP(1) - IF(TEX.LT.0.001) GOTO 445 - BLACK=(1.5+1.25*TARG)*ENP(1)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(IFIX(TARG)+NBL.GT.ATNO2) NBL=ATNO2-TARG - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 445 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 441 I=1,NBL - IF(NT.EQ.MXGKPV-2) GOTO 441 - IF(EKIN2.GT.TEX) GOTO 443 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF(EKIN1.LT.0.) EKIN1=0.001 - IPA1=16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,3) - IF(RNDM(1).GT.PNRAT) IPA1=14 - NT=NT+1 - COST=-1.+RNDM(2)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(3) - IPA(NT)=-IPA1 - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=TOF - PV(8,NT)=IPA1 - PV(9,NT)=0. - PV(10,NT)=0. - PV(4,NT)=EKIN1+PV(5,NT) - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 441 CONTINUE - 443 IF(ATNO2.LT.230.) GOTO 445 - IF(EK.GT.2.0) GOTO 445 - II=NT+1 - KK=0 - EKA=EK - IF(EKA.GT.1.) EKA=EKA*EKA - IF(EKA.LT.0.1) EKA=0.1 - IKA=IFIX(3.6/EKA) - DO 444 I=1,NT - II=II-1 - IF(IPA(II).NE.-14) GOTO 444 - IPA(II)=-16 - IPA1 = 16 - PV(5,II)=ABS(RMASS(IPA1)) - PV(6,II)=RCHARG(IPA1) - PV(8,II)=IPA1 - KK=KK+1 - IF(KK.GT.IKA) GOTO 445 - 444 CONTINUE -C** -C** THEN ALSO DEUTERONS, TRITONS AND ALPHAS -C** - 445 TEX=ENP(3) - IF(TEX.LT.0.001) GOTO 40 - BLACK=(1.5+1.25*TARG)*ENP(3)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 40 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 442 I=1,NBL - IF(NT.EQ.MXGKPV-2) GOTO 442 - IF(EKIN2.GT.TEX) GOTO 40 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF(EKIN1.LT.0.) EKIN1=0.001 - CALL GRNDM(RNDM,3) - COST=-1.+RNDM(1)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(2) - RAN=RNDM(3) - IPA(NT+1)=-30 - IF(RAN.GT.0.60) IPA(NT+1)=-31 - IF(RAN.GT.0.90) IPA(NT+1)=-32 - INVE=ABS(IPA(NT+1)) - PV(5,NT+1)=RMASS(INVE) - NT=NT+1 - PV(6,NT)=RCHARG(INVE) - PV(7,NT)=TOF - PV(8,NT)=ABS(IPA(NT)) - PV(9,NT)=0. - PV(10,NT)=0. - PV(4,NT)=PV(5,NT)+EKIN1 - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 442 CONTINUE - 40 INTCT=INTCT+1. - CALL SETCUR(2) - NTK=NTK+1 - IF(NT.EQ.2) GO TO 9999 - DO 50 I=3,NT - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE - CALL LENGTX(3,PP) - IF(NPRT(3)) - *WRITE(NEWBCD,1001) XEND,YEND,ZEND,P,NCH,PP,PV(6,3) -1001 FORMAT(1H0,'PB ANNIHILATION AT REST POSITION',3(1X,F8.2),1X, - * 'PI MOMENTA,CHARGES',2(1X,F8.4,1X,F4.1)) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/phasp.F b/StarVMC/geant3/gheisha/phasp.F deleted file mode 100644 index 61347f32e1e..00000000000 --- a/StarVMC/geant3/gheisha/phasp.F +++ /dev/null @@ -1,205 +0,0 @@ -* -* $Id: phasp.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: phasp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.39 by S.Giani -*-- Author : - SUBROUTINE PHASP -C -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C CALLED BY : NUCREC TWOCLU GENXPT -C ORIGIN : H.FESEFELDT (02-DEC-1986) -C -#include "geant321/s_prntfl.inc" -#include "geant321/s_genio.inc" -#include "geant321/limits.inc" -C -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION WTMAX,WTMAXQ,WTFC,TWGT,ONE,TEXPXL,TEXPXU - PARAMETER (ONE=1.D0) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (ONE=1.0) -#endif - LOGICAL LZERO - DIMENSION EMM(18) - DIMENSION RNO(50) - DIMENSION EM(18),PD(18),EMS(18),SM(18),FFQ(18),PCM1(90) - EQUIVALENCE (NT,NPG),(AMASS(1),EM(1)),(PCM1(1),PCM(1,1)) - SAVE KNT -C - DATA FFQ/0.,3.141592, 19.73921, 62.01255, 129.8788, 204.0131, - $ 256.3704, 268.4705, 240.9780, 189.2637, - $ 132.1308, 83.0202, 47.4210, 24.8295, - $ 12.0006, 5.3858, 2.2560, 0.8859/ - DATA KNT , TWOPI / 1 , 6.2831853073 / -C -C --- Initialise local arrays and the result array PCM --- - DO 10 JZERO=1,18 - PCM(1,JZERO)=0. - PCM(2,JZERO)=0. - PCM(3,JZERO)=0. - PCM(4,JZERO)=0. - PCM(5,JZERO)=0. - EMM(JZERO) =0. - PD(JZERO) =0. - EMS(JZERO) =0. - SM(JZERO) =0. - 10 CONTINUE -C - KNT = KNT + 1 - IF (.NOT.NPRT(3).AND..NOT.NPRT(4)) GOTO 100 - WRITE(NEWBCD,1200) NPG,TECM,(AMASS(JK),JK=1,NPG) - 100 CONTINUE - 150 IF (NT .LT. 2) GO TO 1001 - IF (NT .GT. 18) GO TO 1002 - NTM1=NT-1 - NTM2=NT-2 - NTNM4 = 3*NT - 4 - EMM(1)=EM(1) - TM=0.0 - DO 200 I=1,NT - EMS(I)=EM(I)**2 - TM=TM+EM(I) - 200 SM(I)=TM - WGT=1. - 210 TECMTM=TECM-TM - IF (TECMTM .LE. 0.0) GO TO 1000 - EMM(NT)=TECM - IF (KGENEV.GT.1) GO TO 400 - EMMAX=TECMTM+EM(1) - EMMIN=0.0 -C -C For weight calculation, form sum of log's of terms -C instead of product of terms. Note that thereby WTMAX -C and WTMAXQ are changed in their contents; they are -C currently not used outside the range from here to -C label 531. We also need to check for zero factors now. -C Negative values cannot appear as GPDK always returns a -C nonnegative number. As coded, even the exotic cases -C NT<2 (first loop not executed) and NTM1<1 (second loop -C not executed) should be safe and give the same result -C for WTG in the end as the old code. -C - WTMAX=0.0 - LZERO=.TRUE. - DO 350 I=2,NT - EMMIN=EMMIN+EM(I-1) - EMMAX=EMMAX+EM(I) - WTFC=GPDK(EMMAX,EMMIN,EM(I)) - IF(WTFC.LE.0.) THEN - LZERO=.FALSE. - GOTO 351 - ENDIF - WTMAX=WTMAX+LOG(WTFC) - 350 CONTINUE - 351 WTMAXQ= EXPXU - IF(LZERO) WTMAXQ= -WTMAX - GO TO 455 - 400 WTMAXQ=LOG(ONE*TECMTM**NTM2*FFQ(NT) / TECM) - 455 CONTINUE - CALL GRNDM(RNO,NTNM4) - IF(NTM2) 900,509,460 - 460 CONTINUE - CALL FLPSOR(RNO,NTM2) - DO 508 J=2,NTM1 - 508 EMM(J)=RNO(J-1)*TECMTM+SM(J) - 509 TWGT=WTMAXQ - IR=NTM2 - LZERO=.TRUE. - DO 530 I=1,NTM1 - PD(I)=GPDK(EMM(I+1),EMM(I),EM(I+1)) - IF(PD(I).LE.0.0) THEN - LZERO=.FALSE. - ELSE - TWGT=TWGT+LOG(ONE*PD(I)) - ENDIF - 530 CONTINUE - 531 WGT=0.0 - IF(LZERO) THEN - TEXPXU=EXPXU - TEXPXL=EXPXL - WGT=EXP(MAX(MIN(TWGT,TEXPXU),TEXPXL)) - ENDIF - PCM(1,1)=0.0 - PCM(2,1)=PD(1) - PCM(3,1)=0.0 - DO 570 I=2,NT - PCM(1,I)=0.0 - PCM(2,I) = -PD(I-1) - PCM(3,I)=0.0 - IR=IR+1 - BANG=TWOPI*RNO(IR) - CB=COS(BANG) - SB=SIN(BANG) - IR=IR+1 - C=2.0*RNO(IR)-1.0 - S=SQRT(ABS(1.0-C*C)) - IF(I.EQ.NT) GO TO 1567 - ESYS=SQRT(PD(I)**2+EMM(I)**2) - BETA=PD(I)/ESYS - GAMA=ESYS/EMM(I) - DO 568 J=1,I - NDX = 5*J - 5 - AA= PCM1(NDX+1)**2 + PCM1(NDX+2)**2 + PCM1(NDX+3)**2 - PCM1(NDX+5) = SQRT(AA) - PCM1(NDX+4) = SQRT(AA+EMS(J)) - CALL ROTES2(C,S,CB,SB,PCM,J) - PSAVE = GAMA*(PCM(2,J)+BETA*PCM(4,J)) - 568 PCM(2,J)=PSAVE - GO TO 570 - 1567 DO 1568 J=1,I - AA=PCM(1,J)**2 + PCM(2,J)**2 + PCM(3,J)**2 - PCM(5,J)=SQRT(AA) - PCM(4,J)=SQRT(AA+EMS(J)) - CALL ROTES2(C,S,CB,SB,PCM,J) - 1568 CONTINUE - 570 CONTINUE - 900 CONTINUE - RETURN - 1000 DO 212 I=1,NPG - PCM(1,I)=0. - PCM(2,I)=0. - PCM(3,I)=0. - PCM(4,I)=AMASS(I) - 212 PCM(5,I)=AMASS(I) - WGT=0. - RETURN - 1001 IF(NPRT(3).OR.NPRT(4)) WRITE(NEWBCD,1101) - GO TO 1050 - 1002 WRITE(NEWBCD,1102) - 1050 WRITE(NEWBCD,1150) KNT - WRITE(NEWBCD,1200) NPG,TECM,(AMASS(JK),JK=1,NPG) - RETURN - 1100 FORMAT (1H0,'AVAILABLE ENERGY NEGATIVE') - 1101 FORMAT (1H0,'LESS THAN 2 OUTGOING PARTICLES') - 1102 FORMAT (1H0,'MORE THAN 18 OUTGOING PARTICLES') - 1150 FORMAT (1H0,'ABOVE ERROR DETECTED IN PHASP AT CALL NUMBER',I7) - 1200 FORMAT (1H0,'INPUT DATA TO PHASP. NPG= ' ,I6/ - +2X,9H TECM= ,D15.7 ,18H PARTICLE MASSES=,5D15.7/(42X,5D15.7) - +) - END diff --git a/StarVMC/geant3/gheisha/phpnuc.F b/StarVMC/geant3/gheisha/phpnuc.F deleted file mode 100644 index dea36df3b6e..00000000000 --- a/StarVMC/geant3/gheisha/phpnuc.F +++ /dev/null @@ -1,181 +0,0 @@ -* -* $Id: phpnuc.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: phpnuc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE PHPNUC -C -C *** DOUBLE PRECISION VERSION OF THE PHASE SPACE ROUTINE "PHASP" -C *** THIS ROUTINE MUST BE CALLED BY THE NUCLEAR INTERACTION ROUTINE -C *** "NUCREC" (SEE ALSO COMMENTS THEREIN). THE REASON IS SIMPLY THAT -C *** ENERGY-MOMENTUM CALCULATIONS ARE NOT POSSIBLE WITHIN ONLY -C *** 6 DIGITS OF ACCURACY FOR TOTAL ENERGIES -C *** IN THE ORDER OF HUNDREDS OF GEV (URANIUM NUCLEUS), COMPARED WITH -C *** KINETIC ENERGIES IN THE ORDER OF MEV (NEUTRONS, PROTONS AND -C *** PHOTONS IN THE REACTIONS A(X,Y(GAMMA,GAMMA))A'). IN THE ORIGINAL -C *** GHEISHA8 CODE ALL THESE CALCULATIONS ARE DONE IN DOUBLE PRECISION -C *** HMF 29-AUG-1989 RWTH AACHEN -C -C CALLED BY : NUCREC -C ORIGIN : H.FESEFELDT -C -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif - REAL RNDM(1) -C -#include "geant321/s_prntfl.inc" -#include "geant321/s_nucio.inc" -C - SAVE KNT, TWOPI, FFQ - DIMENSION EMM(18) - DIMENSION RNO(50) - DIMENSION EM(18),PD(18),EMS(18),SM(18),FFQ(18),PCM1(90) - EQUIVALENCE (NT,NPG),(AMASS(1),EM(1)),(PCM1(1),PCM(1,1)) - DATA FFQ/0.,3.141592, 19.73921, 62.01255, 129.8788, 204.0131, - 2 256.3704, 268.4705, 240.9780, 189.2637, - 3 132.1308, 83.0202, 47.4210, 24.8295, - 4 12.0006, 5.3858, 2.2560, 0.8859/ - DATA KNT , TWOPI / 1 , 6.2831853073 / -C -C --- Initialise local arrays and the result array PCM --- - CALL VZERO(PCM,90) - DO 80 JZERO=1,18 - EMM(JZERO)=0. - PD(JZERO) =0. - EMS(JZERO)=0. - SM(JZERO) =0. - 80 CONTINUE -C - KNT = KNT + 1 - IF (.NOT.NPRT(3).AND..NOT.NPRT(4)) GOTO 100 - WRITE(NEWBCD,1200) NPG,TECM,(AMASS(JK),JK=1,NPG) - 100 CONTINUE - 150 IF (NT .LT. 2) GO TO 1001 - IF (NT .GT. 18) GO TO 1002 - NTM1=NT-1 - NTM2=NT-2 - NTP1=NT+1 - NTNM4 = 3*NT - 4 - EMM(1)=EM(1) - TM=0.0 - DO 200 I=1,NT - EMS(I)=EM(I)**2 - TM=TM+EM(I) - 200 SM(I)=TM - WGT=1. - 210 TECMTM=TECM-TM - IF (TECMTM .LE. 0.0) GO TO 1000 - EMM(NT)=TECM - IF (KGENEV.GT.1) GO TO 400 - EMMAX=TECMTM+EM(1) - EMMIN=0.0 - WTMAX=1.0 - DO 350 I=2,NT - EMMIN=EMMIN+EM(I-1) - EMMAX=EMMAX+EM(I) - 350 WTMAX=WTMAX*DPDNUC(EMMAX,EMMIN,EM(I)) - WTMAXQ=1.0/WTMAX - GO TO 455 - 400 WTMAXQ=TECMTM**NTM2*FFQ(NT) / TECM - 455 CONTINUE - DO 457 I= 1, NTNM4 - CALL GRNDM(RNDM,1) -#if defined(CERNLIB_SINGLE) - 457 RNO(I) = RNDM(1) -#endif -#if !defined(CERNLIB_SINGLE) - 457 RNO(I) = DBLE(RNDM(1)) -#endif - IF(NTM2) 900,509,460 - 460 CONTINUE - CALL DLPNUC(RNO,NTM2) - DO 508 J=2,NTM1 - 508 EMM(J)=RNO(J-1)*(TECMTM)+SM(J) - 509 WGT=WTMAXQ - IR=NTM2 - DO 530 I=1,NTM1 - PD(I)=DPDNUC(EMM(I+1),EMM(I),EM(I+1)) - 530 WGT=WGT*PD(I) - PCM(1,1)=0.0 - PCM(2,1)=PD(1) - PCM(3,1)=0.0 - DO 570 I=2,NT - PCM(1,I)=0.0 - PCM(2,I) = -PD(I-1) - PCM(3,I)=0.0 - IR=IR+1 - BANG=TWOPI*RNO(IR) - CB=COS(BANG) - SB=SIN(BANG) - IR=IR+1 - C=2.0*RNO(IR)-1.0 - S=SQRT(1.0-C*C) - IF(I.EQ.NT) GO TO 1567 - ESYS=SQRT(PD(I)**2+EMM(I)**2) - BETA=PD(I)/ESYS - GAMA=ESYS/EMM(I) - DO 568 J=1,I - NDX = 5*J - 5 - AA= PCM1(NDX+1)**2 + PCM1(NDX+2)**2 + PCM1(NDX+3)**2 - PCM1(NDX+5) = SQRT(AA) - PCM1(NDX+4) = SQRT(AA+EMS(J)) - CALL DOTNUC(C,S,CB,SB,PCM,J) - PSAVE = GAMA*(PCM(2,J)+BETA*PCM(4,J)) - 568 PCM(2,J)=PSAVE - GO TO 570 - 1567 DO 1568 J=1,I - AA=PCM(1,J)**2 + PCM(2,J)**2 + PCM(3,J)**2 - PCM(5,J)=SQRT(AA) - PCM(4,J)=SQRT(AA+EMS(J)) - CALL DOTNUC(C,S,CB,SB,PCM,J) - 1568 CONTINUE - 570 CONTINUE - 900 CONTINUE - RETURN - 1000 DO 212 I=1,NPG - PCM(1,I)=0. - PCM(2,I)=0. - PCM(3,I)=0. - PCM(4,I)=AMASS(I) - 212 PCM(5,I)=AMASS(I) - WGT=0. - RETURN - 1001 IF(NPRT(3).OR.NPRT(4)) WRITE(NEWBCD,1101) - GO TO 1050 - 1002 WRITE(NEWBCD,1102) - 1050 WRITE(NEWBCD,1150) KNT - WRITE(NEWBCD,1200) NPG,TECM,(AMASS(JK),JK=1,NPG) - STOP - 1100 FORMAT ('0*PHPNUC* AVAILABLE ENERGY NEGATIVE') - 1101 FORMAT ('0*PHPNUC* LESS THAN 2 OUTGOING PARTICLES') - 1102 FORMAT ('0*PHPNUC* MORE THAN 18 OUTGOING PARTICLES') - 1150 FORMAT ('0*PHPNUC* ABOVE ERROR DETECTED IN PHASP', - $ ' AT CALL NUMBER ',I7) - 1200 FORMAT ('0*PHPNUC* INPUT DATA TO PHPNUC. NPG = ',I6/ - $ ' TECM = ',E15.7,' PARTICLE MASSES = ',5E15.7/(42X,5E15.7)) - END diff --git a/StarVMC/geant3/gheisha/pimabs.F b/StarVMC/geant3/gheisha/pimabs.F deleted file mode 100644 index 690cdaf4d95..00000000000 --- a/StarVMC/geant3/gheisha/pimabs.F +++ /dev/null @@ -1,202 +0,0 @@ -* -* $Id: pimabs.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: pimabs.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE PIMABS(NOPT) -C -C *** CHARGED PION ABSORPTION BY A NUCLEUS *** -C *** NVE 04-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (09-JULY-1987) -C -C PANOFSKY RATIO (PI- P --> N PI0/PI- P --> N GAMMA) = 3/2 -C FOR CAPTURE ON PROTON (HYDROGEN), -C STAR PRODUCTION FOR HEAVIER ELEMENTS -C -#include "geant321/s_defcom.inc" - DIMENSION RNDM(4) - SAVE NT -C - CALL COMPO - PV(1,1)=0. - PV(2,1)=0. - PV(3,1)=0. - PV(4,1)=RMASS(9) - PV(5,1)=RMASS(9) - PV(6,1)=-1. - PV(7,1)=TOF - PV(8,1)=IPART - PV(9,1)=0. - PV(10,1)=USERW - IER(87)=IER(87)+1 - IF(ATNO2.GT.1.5) GOTO 30 - CALL GRNDM(RNDM,2) - RAN=RNDM(1) - ISW=1 - IF(RAN.LT.0.33) ISW=2 - NOPT=ISW - RAN=RNDM(2) - TOF1=-25.*LOG(RAN) - TOF1=20.*TOF1 - IF(ISW.EQ.1) GOTO 20 - PCM=0.02 - CALL GRNDM(RNDM,2) - PHI=2.*PI*RNDM(1) - COST=-1.+2.*RNDM(2) - SINT=SQRT(ABS(1.-COST*COST)) - PV(1,2)=PCM*SINT*COS(PHI) - PV(2,2)=PCM*SINT*SIN(PHI) - PV(3,2)=PCM*COST - PV(4,2)=PCM - PV(5,2)=0. - PV(7,2)=TOF+TOF1 - PV(9,2)=0. - PV(10,2)=0. - PV(6,2)=0. - PV(8,2)=1. - GOTO 21 - 20 PV(1,2)=PV(1,1) - PV(2,2)=PV(2,1) - PV(3,2)=PV(3,1) - PV(4,2)=PV(4,1) - PV(5,2)=PV(5,1) - PV(6,2)=0. - PV(7,2)=TOF+TOF1 - PV(8,2)=8. - PV(9,2)=0. - PV(10,2)=0. - 21 INTCT=INTCT+1. - CALL SETCUR(2) - NTK=NTK+1 - IF(NPRT(3)) - *WRITE(NEWBCD,1002) XEND,YEND,ZEND,P,NCH -1002 FORMAT(1H0,'PION ABSORBTION POSITION',3(2X,F8.2),2X, - * 'PI0/GAMMA MOMENTUM,CHARGE',2X,F8.4,2X,F4.1) - GO TO 9999 -C** -C** STAR PRODUCTION FOR PION ABSORPTION IN HEAVY ELEMENTS -C** - 30 ENP(1)=0.0135 - ENP(3)=0.0058 - NT=1 - TEX=ENP(1) - BLACK=0.5*LOG(ATNO2) - CALL POISSO(BLACK,NBL) - IF(NBL.LE.0) NBL=1 - IF(NPRT(3)) - *WRITE(NEWBCD,3003) NBL,TEX - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - EKIN=TEX/NBL - EKIN2=0. - DO 31 I=1,NBL - IF(NT.EQ.MXGKPV-2) GOTO 31 - CALL GRNDM(RNDM,4) - RAN2=RNDM(1) - EKIN1=-EKIN*LOG(RAN2) - EKIN2=EKIN2+EKIN1 - IPA1=16 - PNRAT=1.-ZNO2/ATNO2 - IF(RNDM(2).GT.PNRAT) IPA1=14 - NT=NT+1 - COST=-1.+RNDM(3)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(4) - IPA(NT)=-IPA1 - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=2. - PV(4,NT)=EKIN1+PV(5,NT) - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - IF(EKIN2.GT.TEX) GOTO 33 - 31 CONTINUE - 33 TEX=ENP(3) - BLACK=0.50*LOG(ATNO2) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) NBL=1 - EKIN=TEX/NBL - EKIN2=0. - IF(NPRT(3)) - *WRITE(NEWBCD,3004) NBL,TEX - DO 32 I=1,NBL - IF(NT.EQ.MXGKPV-2) GOTO 32 - CALL GRNDM(RNDM,4) - RAN2=RNDM(1) - EKIN1=-EKIN*LOG(RAN2) - EKIN2=EKIN2+EKIN1 - NT=NT+1 - COST=-1.+RNDM(2)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(3) - RAN=RNDM(4) - IPA(NT)=-30 - IF(RAN.GT.0.60) IPA(NT)=-31 - IF(RAN.GT.0.90) IPA(NT)=-32 - INVE=ABS(IPA(NT)) - PV(5,NT)=RMASS(INVE) - PV(6,NT)=RCHARG(INVE) - PV(7,NT)=2. - PV(4,NT)=PV(5,NT)+EKIN1 - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - IF(EKIN2.GT.TEX) GOTO 40 - 32 CONTINUE -C** -C** STORE ON EVENT COMMON -C** - 40 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - TOF1=-25.*LOG(RAN) - TOF1=20.*TOF1 - DO 41 I=2,NT - IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) - PV(7,I)=TOF+TOF1 - PV(8,I)=ABS(IPA(I)) - PV(9,I)=0. - 41 PV(10,I)=0. - INTCT=INTCT+1. - CALL SETCUR(2) - NTK=NTK+1 - IF(NT.EQ.2) GO TO 9999 - DO 50 I=3,NT - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE -C - 3003 FORMAT(1H ,I3,' BLACK TRACK PARTICLES PRODUCED WITH TOTAL KINETIC - * ENERGY OF ',F8.3,' GEV') - 3004 FORMAT(1H ,I5,' HEAVY FRAGMENTS WITH TOTAL ENERGY OF',F8.4,' GEV') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/gheisha/pmltpc.F b/StarVMC/geant3/gheisha/pmltpc.F deleted file mode 100644 index ef5fd64eb92..00000000000 --- a/StarVMC/geant3/gheisha/pmltpc.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: pmltpc.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: pmltpc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - FUNCTION PMLTPC(NP,NM,NZ,N,B,C) -C -C *** NVE 03-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (14-SEP-1987) -C -#include "geant321/limits.inc" - RLNNPF=0. - IF(NP.LE.1) GOTO 2 - DO 1 I=2,NP - 1 RLNNPF=RLNNPF+LOG(I*1.) - 2 RLNNMF=0. - IF(NM.LE.1) GOTO 4 - DO 3 I=2,NM - 3 RLNNMF=RLNNMF+LOG(I*1.) - 4 RLNNZF=0. - IF(NZ.LE.1) GOTO 6 - DO 5 I=2,NZ - 5 RLNNZF=RLNNZF+LOG(I*1.) - 6 PMLTPC=-(NP-NM+NZ+B)**2/(2*(C*N)**2)-RLNNPF-RLNNMF-RLNNZF - IF(PMLTPC.LT.EXPXL) PMLTPC=EXPXL - PMLTPC=EXP(PMLTPC) - RETURN - END diff --git a/StarVMC/geant3/gheisha/poisso.F b/StarVMC/geant3/gheisha/poisso.F deleted file mode 100644 index a6741ea4782..00000000000 --- a/StarVMC/geant3/gheisha/poisso.F +++ /dev/null @@ -1,78 +0,0 @@ -* -* $Id: poisso.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: poisso.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE POISSO(XAV,IRAN) -C -C *** GENERATION OF POISSON DISTRIBUTION *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C - DIMENSION RNDM(1) -C ORIGIN : H.FESEFELDT (27-OCT-1983) -C -C --- USE NORMAL DISTRIBUTION FOR > 9.9 --- - IF(XAV.GT.9.9) GOTO 2 -C - MM=IFIX(5.*XAV) - IRAN=0 - IF(MM.LE.0) GOTO 3 - R=EXP(-XAV) - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - IF(RAN1.LE.R) RETURN - RR=R - DO 1 I=1,MM - IRAN=IRAN+1 - IF(I.LE.5) RRR=XAV**I/NFAC(I) -C** STIRLING' S FORMULA FOR LARGE NUMBERS - IF(I.GT.5) RRR=EXP(I*LOG(XAV)-(I+0.5)*LOG(I*1.)+I-0.9189385) - RR=RR+R*RRR - IF(RAN1.LE.RR) RETURN - 1 CONTINUE - RETURN -C** NORMAL DISTRIBUTION WITH SIGMA**2 = - 2 CALL NORMAL(RAN1) - RAN1=XAV+RAN1*SQRT(XAV) - IRAN=IFIX(RAN1) - IF(IRAN.LT.0) IRAN=0 - RETURN -C** FOR VERY SMALL XAV TRY IRAN=1,2,3 - 3 P1=XAV*EXP(-XAV) - P2=XAV*P1/2. - P3=XAV*P2/3. - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IRAN=3 - IF(RAN.LT.P3) RETURN - IRAN=2 - IF(RAN.LT.P2) RETURN - IRAN=1 - IF(RAN.LT.P1) RETURN - IRAN=0 - RETURN - END diff --git a/StarVMC/geant3/gheisha/ranres.F b/StarVMC/geant3/gheisha/ranres.F deleted file mode 100644 index f853fc476d9..00000000000 --- a/StarVMC/geant3/gheisha/ranres.F +++ /dev/null @@ -1,43 +0,0 @@ -* -* $Id: ranres.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: ranres.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - FUNCTION RANRES(X) -C -C *** RESTRICTED RANDOM NUMBERS TO BE USED AS ARGUMENT IN LOG ETC... *** -C *** NVE 13-JUL-1988 CERN GENEVA *** -C -C NOTE : 0 < RANRES < 1 - DIMENSION RNDM(1) -C - 1 CONTINUE - CALL GRNDM(RNDM,1) - RANRES=RNDM(1) - IF ((RANRES .LE. 0.) .OR. (RANRES .GE. 1.)) GO TO 1 - RETURN - END diff --git a/StarVMC/geant3/gheisha/rotes2.F b/StarVMC/geant3/gheisha/rotes2.F deleted file mode 100644 index b8eedb69aa7..00000000000 --- a/StarVMC/geant3/gheisha/rotes2.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: rotes2.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: rotes2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE ROTES2(C,S,C2,S2,PR,I) -C -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (27-OCT-1983) -C - DIMENSION PR(*) - K1 = 5*I - 4 - K2 = K1 + 1 - SA = PR(K1) - SB = PR(K2) - A = SA*C - SB*S - PR(K2) = SA*S + SB*C - K2 = K2 + 1 - B = PR(K2) - PR(K1) = A*C2 - B*S2 - PR(K2) = A*S2 + B*C2 - RETURN - END diff --git a/StarVMC/geant3/gheisha/rtmi.F b/StarVMC/geant3/gheisha/rtmi.F deleted file mode 100644 index b6bd6efabe0..00000000000 --- a/StarVMC/geant3/gheisha/rtmi.F +++ /dev/null @@ -1,139 +0,0 @@ -* -* $Id: rtmi.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: rtmi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE RTMI(X,F,FCT,XLI,XRI,EPS,IEND,IER) -C -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (27-OCT-1983) -C COPIED FROM R01UTL.SSP.S 23.4.82 -C - EXTERNAL FCT -C --- PREPARE ITERATION --- - IER=0 - XL=XLI - XR=XRI - X=XL - TOL=X - F=FCT(TOL) - IF(F)1,16,1 - 1 FL=F - X=XR - TOL=X - F=FCT(TOL) - IF(F)2,16,2 - 2 FR=F - IF(SIGN(1.,FL)+SIGN(1.,FR))25,3,25 -C -C BASIC ASSUMPTION FL*FR LESS THAN 0 IS SATISFIED. -C GENERATE TOLERANCE FOR FUNCTION VALUES. - 3 I=0 - TOLF=100.*EPS -C -C -C START ITERATION LOOP - 4 I=I+1 -C -C START BISECTION LOOP - DO 13 K=1,IEND - X=.5*(XL+XR) - TOL=X - F=FCT(TOL) - IF(F)5,16,5 - 5 IF(SIGN(1.,F)+SIGN(1.,FR))7,6,7 -C -C INTERCHANGE XL AND XR IN ORDER TO GET THE SAME SIGN IN F AND FR - 6 TOL=XL - XL=XR - XR=TOL - TOL=FL - FL=FR - FR=TOL - 7 TOL=F-FL - A=F*TOL - A=A+A - IF(A-FR*(FR-FL))8,9,9 - 8 IF(I-IEND)17,17,9 - 9 XR=X - FR=F -C -C TEST ON SATISFACTORY ACCURACY IN BISECTION LOOP - TOL=EPS - A=ABS(XR) - IF(A-1.)11,11,10 - 10 TOL=TOL*A - 11 IF(ABS(XR-XL)-TOL)12,12,13 - 12 IF(ABS(FR-FL)-TOLF)14,14,13 - 13 CONTINUE -C END OF BISECTION LOOP -C -C NO CONVERGENCE AFTER IEND ITERATION STEPS FOLLOWED BY IEND -C SUCCESSIVE STEPS OF BISECTION OR STEADILY INCREASING FUNCTION -C VALUES AT RIGHT BOUNDS. ERROR RETURN. - IER=1 - 14 IF(ABS(FR)-ABS(FL))16,16,15 - 15 X=XL - F=FL - 16 RETURN -C -C COMPUTATION OF ITERATED X-VALUE BY INVERSE PARABOLIC INTERPOLATION - 17 A=FR-F - DX=(X-XL)*FL*(1.+F*(A-TOL)/(A*(FR-FL)))/TOL - XM=X - FM=F - X=XL-DX - TOL=X - F=FCT(TOL) - IF(F)18,16,18 -C -C TEST ON SATISFACTORY ACCURACY IN ITERATION LOOP - 18 TOL=EPS - A=ABS(X) - IF(A-1.)20,20,19 - 19 TOL=TOL*A - 20 IF(ABS(DX)-TOL)21,21,22 - 21 IF(ABS(F)-TOLF)16,16,22 -C -C PREPARATION OF NEXT BISECTION LOOP - 22 IF(SIGN(1.,F)+SIGN(1.,FL))24,23,24 - 23 XR=X - FR=F - GO TO 4 - 24 XL=X - FL=F - XR=XM - FR=FM - GO TO 4 -C END OF ITERATION LOOP -C -C -C ERROR RETURN IN CASE OF WRONG INPUT DATA - 25 IER=2 - RETURN - END diff --git a/StarVMC/geant3/gheisha/selfab.F b/StarVMC/geant3/gheisha/selfab.F deleted file mode 100644 index 6e649ee169d..00000000000 --- a/StarVMC/geant3/gheisha/selfab.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: selfab.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: selfab.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE SELFAB(SPROB) -C -C *** SELF-ABSORBTION IN HEAVY MOLECULES *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (11-OCT-1987) -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_blank.inc" -C - SPROB=0. - EKW=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - IF(EKW.LT.5.) RETURN - ALEKW=LOG(EKW-4.) - SPROB=0.6*ALEKW - IF(SPROB.GT.1.) SPROB=1. - RETURN - END diff --git a/StarVMC/geant3/gheisha/setcur.F b/StarVMC/geant3/gheisha/setcur.F deleted file mode 100644 index a29aa1c21da..00000000000 --- a/StarVMC/geant3/gheisha/setcur.F +++ /dev/null @@ -1,74 +0,0 @@ -* -* $Id: setcur.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: setcur.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE SETCUR(NTR) -C -C *** STORAGE OF CURRENT TRACK PARAMETERS *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (26-JAN-1984) -C -#include "geant321/s_defcom.inc" - DIMENSION RNDM(1) -C - CALL LENGTX(NTR,P) - AMAS=PV(5,NTR) - AMASQ=AMAS*AMAS - NCH=PV(6,NTR) - TOF=PV(7,NTR) - IPART=IFIX(PV(8,NTR)+0.1) - IF(PV(10,NTR).NE.0.) USERW=PV(10,NTR) - PX=0. - PY=0. - PZ=0. - IF(P.LT.1.E-10) GOTO 4 - PX=PV(1,NTR)/P - PY=PV(2,NTR)/P - PZ=PV(3,NTR)/P - 4 EN=PV(4,NTR) - EK=EN-ABS(AMAS) - SINL=PZ - COSL=SQRT(ABS(1.-SINL*SINL)) - IF(ABS(COSL).LT.1.E-10) GOTO 1 - SINP=PY/COSL - COSP=PX/COSL - GOTO 2 - 1 CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI - SINP=SIN(PHI) - COSP=COS(PHI) - 2 IF(NPRT(3).OR.NPRT(4).OR.NPRT(5)) - *WRITE(NEWBCD,1001) XEND,YEND,ZEND,RCA,RCE,AMAS,NCH,TOF,PX,PY,PZ, - *USERW,INTCT,P,EN,EK,AMASQ,DELTN,ITK,NTK,IPART,IND,LCALO,ICEL, - *SINL,COSL,SINP,COSP - RETURN - 1001 FORMAT(1H ,'TRACK PARAMETER CHANGED:',3F8.2,1X,2F7.0,1X,F8.3,1X, - *F3.0,1X,F6.0,1X,3F6.3,1X,F10.0,1X,F5.0/10X,4F8.3,1X,F8.5,1X,6I5, - *4F8.3) - END diff --git a/StarVMC/geant3/gheisha/settrk.F b/StarVMC/geant3/gheisha/settrk.F deleted file mode 100644 index 4118cb32d42..00000000000 --- a/StarVMC/geant3/gheisha/settrk.F +++ /dev/null @@ -1,84 +0,0 @@ -* -* $Id: settrk.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: settrk.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE SETTRK(NTR) -C -C *** FILL THE STACK VIA COMMON /EVENT/ *** -C *** INSTEAD OF THE USERWORD, THE PARTICLE INDEX IS STORED *** -C *** NVE 01-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (10-NOV-1983) -C -#include "geant321/gcking.inc" -#include "geant321/s_defcom.inc" -C -C --- CHECK PV ARRAY BOUNDARY --- - IF(NTR .LE. MXGKPV) GOTO 10 - PRINT 1000,NTR - 1000 FORMAT(' *SETTRK* NTR = ',I3,' WOULD ADRESS OUTSIDE PV ARRAY'/ - $ ' ===> TRACK WILL NOT BE PUT ON STACK AND WILL BE LOST') - GO TO 9999 -C -C --- CHECK TOTAL NUMBER OF PRODUCED PARTICLES --- - 10 CONTINUE - NVEDUM=NTOT+1 - IF(NVEDUM .LE. MXEVEN) GOTO 20 - IF(NVEDUM .EQ. MXEVEN+1) PRINT 1001, NVEDUM,MXEVEN - 1001 FORMAT(' *SETTRK* STORAGE OF PARTICLE NO. ',I4, 'NOT ALLOWED'/ - $ ' MAXIMUM NUMBER OF GENERATED PARTICLES IS ',I4/ - $ ' ===> FROM NOW ON ALL GENERATED PARTICLES WILL BE DISCARDED') - GO TO 9999 -C -C --- STORE GENERATED PARTICLE ON THE STACK --- - 20 CONTINUE - EVE(NEXT )=XEND - EVE(NEXT+ 1)=YEND - EVE(NEXT+ 2)=ZEND - EVE(NEXT+ 3)=RCA - EVE(NEXT+ 4)=RCE - EVE(NEXT+ 5)=PV(5,NTR) - EVE(NEXT+ 6)=PV(6,NTR) - EVE(NEXT+ 7)=PV(7,NTR) - EVE(NEXT+ 8)=PV(1,NTR) - EVE(NEXT+ 9)=PV(2,NTR) - EVE(NEXT+10)=PV(3,NTR) - EVE(NEXT+11)=PV(8,NTR) - NEXT=NEXT+12 - NTOT=NTOT+1 - NEXT1=NEXT-12 - NEXT2=NEXT-1 - NTOT1=NTOT-1 - IF(NPRT(3).OR.NPRT(4).OR.NPRT(5)) - $ WRITE(NEWBCD,2000) NTOT1,(EVE(I),I=NEXT1,NEXT2) - 2000 FORMAT(' *SETTRK* TRACK ON STACK:',I5,2X,3F8.2,1X,2F7.0,1X, - $ F8.3,1X,F3.0,1X,F6.0,1X,3F8.3,1X,F10.0) -C - 9999 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/steep.F b/StarVMC/geant3/gheisha/steep.F deleted file mode 100644 index b3810589c28..00000000000 --- a/StarVMC/geant3/gheisha/steep.F +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: steep.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: steep.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE STEEP(XX) -C -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-FEB-1985) -C - XX=1. - RETURN - END diff --git a/StarVMC/geant3/gheisha/steeq.F b/StarVMC/geant3/gheisha/steeq.F deleted file mode 100644 index 7424e99d50d..00000000000 --- a/StarVMC/geant3/gheisha/steeq.F +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: steeq.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: steeq.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE STEEQ(XXH,IPV) -C -C *** CORRECTIONS FOR SINGLE PARTICLE SPECTRA (SHOWER PARTICLES) *** -C *** NVE 16-MAR-1988 CERN GENEVA -C -C ORIGIN : H.FESEFELDT (06-SEP-1985) -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_blank.inc" -#include "geant321/s_result.inc" -C - DIMENSION ALEM(7),VAL0(7) - DIMENSION RNDM(1) -C** DATA EM/ 4.0 , 10. , 15. , 20. , 30. , 100. , 1000./ - DATA ALEM/ 1.40, 2.30 , 2.70 , 3.00 , 3.40 , 4.60 , 7.00 / - DATA VAL0/ 0.00, 0.40 , 0.48 , 0.51 , 0.54 , 0.60 , 0.65 / -C - XXH=1. -C - IF ((IPART .NE. 7) .AND. (IPART .NE. 9)) GO TO 9999 - IF (ABS(IPA(IPV)) .NE. 8) GO TO 9999 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. LOG(ATNO2)) GO TO 9999 - EKW=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - ALEKW=LOG(EKW) - IF (ALEKW .LE. ALEM(1)) GO TO 9999 -C -C --- GET ENERGY BIN --- - DO 1 I=2,7 - IF (ALEKW .LT. ALEM(I)) GO TO 2 - 1 CONTINUE - XXH=VAL0(7) - GO TO 3 -C -C *** USE LINEAR INTERPOLATION OR EXTRAPOLATION BY Y=RC*X+B *** - 2 CONTINUE - I1=I-1 - I2=I - DXNVE=ALEM(I2)-ALEM(I1) - DYNVE=VAL0(I2)-VAL0(I1) - RCNVE=DYNVE/DXNVE - BNVE=VAL0(I1)-RCNVE*ALEM(I1) - XXH=RCNVE*ALEKW+BNVE -C - 3 CONTINUE - XXH=1.-XXH -C - 9999 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/steer.F b/StarVMC/geant3/gheisha/steer.F deleted file mode 100644 index ecb46af1b11..00000000000 --- a/StarVMC/geant3/gheisha/steer.F +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: steer.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: steer.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE STEER(XX) -C -C *** CORRECTIONS FOR INTRINSINC RESOLUTIONS *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (27-JAN-1984) -C - XX=1. - RETURN - END diff --git a/StarVMC/geant3/gheisha/stees.F b/StarVMC/geant3/gheisha/stees.F deleted file mode 100644 index ad196b66390..00000000000 --- a/StarVMC/geant3/gheisha/stees.F +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: stees.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: stees.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE STEES(XX,EK1) -C *** CORRECTIONS FOR THRESHHOLD KINEMATICS *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (20-JAN-1985) -C - XX=1. - RETURN - END diff --git a/StarVMC/geant3/gheisha/stpair.F b/StarVMC/geant3/gheisha/stpair.F deleted file mode 100644 index a7449b6dc95..00000000000 --- a/StarVMC/geant3/gheisha/stpair.F +++ /dev/null @@ -1,203 +0,0 @@ -* -* $Id: stpair.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: stpair.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:11 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE STPAIR -C -C *** STRANGE PARTICLE PAIR PRODUCTION *** -C *** NVE 14-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT 16-DEC-1987 -C -C THE SAME FORMULA FOR VS AVAILABLE ENERGY -C AND VS AVAILABLE ENERGY -C FOR ALL REACTIONS. -C CHOOSE CHARGE COMBINATIONS K+ K- , K+ K0B, K0 K0B OR K0 K- -C K+ Y0, K0 Y+, K0 Y- -C FOR ANTIBARYON INDUCED REACTIONS HALF OF THE CROSS SECTIONS -C KB YB PAIRS ARE PRODUCED -C CHARGE IS NOT CONSERVED , NO EXPERIMENTAL DATA AVAILABLE FOR -C EXCLUSIVE REACTIONS, THEREFORE SOME AVERAGE BEHAVIOUR ASSUMED. -C THE RATIO L/SIGMA IS TAKEN AS 3:1 (FROM EXPERIMENTAL LOW ENERGY) -C -#include "geant321/s_defcom.inc" -C - REAL KKB,KY - DIMENSION KKB(9),KY(12),IPAKKB(2,9),IPAKY(2,12),IPAKYB(2,12) - DIMENSION AVKKB(12),AVKY(12),AVNNB(12),AVRS(12) - DIMENSION RNDM(1) - DATA KKB/0.2500,0.3750,0.5000,0.5625,0.6250,0.6875,0.7500, - * 0.8750,1.000/ - DATA KY /0.200,0.300,0.400,0.550,0.625,0.700,0.800,0.850, - * 0.900,0.950,0.975,1.000/ - DATA IPAKKB/10,13,10,11,10,12,11,11,11,12,12,11,12,12, - * 11,13,12,13/ - DATA IPAKY /18,10,18,11,18,12,20,10,20,11,20,12,21,10, - * 21,11,21,12,22,10,22,11,22,12/ - DATA IPAKYB/19,13,19,12,19,11,23,13,23,12,23,11,24,13, - * 24,12,24,11,25,13,25,12,25,11/ - DATA AVRS/3.,4.,5.,6.,7.,8.,9.,10.,20.,30.,40.,50./ - DATA AVKKB/0.0015,0.005,0.012,0.0285,0.0525,0.075,0.0975, - * 0.123,0.28,0.398,0.495,0.573/ - DATA AVKY /0.005,0.03,0.064,0.095,0.115,0.13,0.145,0.155, - * 0.20,0.205,0.210,0.212/ - DATA AVNNB/0.00001,0.0001,0.0006,0.0025,0.01,0.02,0.04, - $ 0.05,0.12,0.15,0.18,0.20/ -C - IF(IPA(3).LE.0) GO TO 9999 - IER(50)=IER(50)+1 - IPA1=ABS(IPA(1)) - IPA2=ABS(IPA(2)) -C --- PROTECTION AGAINST ANNIHILATION PROCESSES --- - IF ((IPA1 .EQ. 0) .OR. (IPA2 .EQ. 0)) GO TO 9999 - EAB=RS-ABS(RMASS(IPA1))-ABS(RMASS(IPA2)) - IF(EAB.LT.1.) GO TO 9999 -C** -C** CHOOSE RANDOM REPLACEMENT OF PRODUCED KAONS (16.12.87) - DO 111 I=1,60 - IF(IPA(I).EQ.0) GOTO 112 - 111 CONTINUE - 112 I=I-3 - CALL GRNDM(RNDM,1) - I3=3+IFIX(RNDM(1)*I) - 114 CALL GRNDM(RNDM,1) - I4=3+IFIX(RNDM(1)*I) - IF(I.EQ.1) I4=4 - IF(I3.EQ.I4) GOTO 114 -C -C *** CHOOSE RANDOM REPLACEMENT OF PRODUCED KAONS (16.12.87) *** -C --- GET RS BIN --- - DO 1 I=2,12 - IF (RS .LE. AVRS(I)) GO TO 2 - 1 CONTINUE - I1=11 - I2=12 - GO TO 3 -C - 2 CONTINUE - I1=I-1 - I2=I -C -C *** USE LINEAR INTERPOLATION OR EXTRAPOLATION BY Y=RC*X+B *** - 3 CONTINUE - DXNVE=AVRS(I2)-AVRS(I1) - DYNVE=LOG(AVKKB(I2))-LOG(AVKKB(I1)) - RCNVE=DYNVE/DXNVE - BNVE=LOG(AVKKB(I1))-RCNVE*AVRS(I1) - AVK=RCNVE*RS+BNVE - DYNVE=LOG(AVKY(I2))-LOG(AVKY(I1)) - RCNVE=DYNVE/DXNVE - BNVE=LOG(AVKY(I1))-RCNVE*AVRS(I1) - AVY=RCNVE*RS+BNVE - DYNVE=LOG(AVNNB(I2))-LOG(AVNNB(I1)) - RCNVE=DYNVE/DXNVE - BNVE =LOG(AVNNB(I1))-RCNVE*AVRS(I1) - AVN =RCNVE*RS+BNVE -C - AVK=EXP(AVK) - AVY=EXP(AVY) - AVN=EXP(AVN) - IF(AVK+AVY+AVN.LE.0.) GOTO 9999 - IF(IPA1.LT.14) AVY=AVY/2. - IF(IPA2.LT.14) AVY=0. - AVY=AVY+AVK+AVN - AVK= AVK+AVN - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(RAN.LT.AVN) GOTO 5 - IF(RAN.LT.AVK) GOTO 10 - IF(RAN.LT.AVY) GOTO 20 - GO TO 9999 - 5 IF((EAB-2.).LT.0.) GO TO 9999 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GO TO 6 - IPA(I3)=14 - IPA(I4)=15 - GOTO 30 - 6 IPA(I3)=16 - IPA(I4)=17 - GOTO 30 - 10 IF((EAB-1.).LT.0.) GO TO 9999 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - DO 11 I=1,9 - IF(RAN.LT.KKB(I)) GOTO 12 - 11 CONTINUE - GO TO 9999 - 12 IPA(I3)=IPAKKB(1,I) - IPA(I4)=IPAKKB(2,I) - GOTO 30 - 20 IF((EAB-1.6).LT.0.) GO TO 9999 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - DO 21 I=1,12 - IF(RAN.LT.KY(I)) GOTO 22 - 21 CONTINUE - GO TO 9999 - 22 IF(IPA(1).LT.14) GOTO 23 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) GOTO 23 - IPA1=ABS(IPA(1)) - IPA(1)=IPAKY(1,I) - IF(IPA1.EQ.15) GOTO 25 - IF(IPA1.EQ.17) GOTO 25 - IF(IPA1.EQ.19) GOTO 25 - IF(IPA1.GT.22) GOTO 25 - GOTO 24 - 25 IPA(1)=IPAKYB(1,I) - IPA(I3)=IPAKYB(2,I) - GOTO 30 - 23 IPA(2)=IPAKY(1,I) - 24 IPA(I3)=IPAKY(2,I) -C** CHECK THE AVAILABLE ENERGY - 30 EAB=RS - IJ=0 - DO 31 I=1,60 - IF(IPA(I).EQ.0) GOTO 31 - IPA1=ABS(IPA(I)) - EAB=EAB-ABS(RMASS(IPA1)) - IJ=IJ+1 - IF(EAB.LT.0.) GOTO 35 - 31 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,1003) (IPA(J),J=1,IJ) - GO TO 9999 - 35 I=I-1 - L=I-1 - IF(L.LE.0) GO TO 9999 - DO 36 J=I,60 - 36 IPA(J)=0 - IF (NPRT(4)) WRITE(NEWBCD,1002) (IPA(J),J=1,L) -C - 1002 FORMAT(' *STPAIR* KKB/KY PAIR PRODUCTION NOT ENOUGH ENERGY', - $ ' REDUCE NUMBER OF PARTICLES ',2X,20I3) - 1003 FORMAT(' *STPAIR* KKB/KY PAIR PRODUCTION ENERGY SUFFICIENT', - $ ' NUMBER OF PARTICLES ',2X,20I3) -C - 9999 CONTINUE -C - END diff --git a/StarVMC/geant3/gheisha/sub.F b/StarVMC/geant3/gheisha/sub.F deleted file mode 100644 index c45cabf724e..00000000000 --- a/StarVMC/geant3/gheisha/sub.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: sub.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: sub.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:07 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : -C -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE SUB(K,L,M) -C -C --- PV-ARRAY --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -C - DOUBLE PRECISION A,B -C - A=PV(4,K)-PV(4,L) - PV(4,M)=A - B=A*A - DO 4 I=1,3 - A=PV(I,K)-PV(I,L) - B=B-A*A - PV(I,M)=A - 4 CONTINUE - PV(5,M)=SIGN(SQRT(ABS(B)),B) - RETURN - END diff --git a/StarVMC/geant3/gheisha/sub3.F b/StarVMC/geant3/gheisha/sub3.F deleted file mode 100644 index 4de8b193c5e..00000000000 --- a/StarVMC/geant3/gheisha/sub3.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: sub3.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: sub3.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:06 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : -C -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE SUB3(K,L,M) -C -C --- PV-ARRAY --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -C - DOUBLE PRECISION A -C - DO 2 I=1,3 - A=PV(I,K)-PV(I,L) - PV(I,M)=A - 2 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/tdelay.F b/StarVMC/geant3/gheisha/tdelay.F deleted file mode 100644 index 2c76bcc0380..00000000000 --- a/StarVMC/geant3/gheisha/tdelay.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: tdelay.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: tdelay.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -* SAVED BY F13FES AT 01/02/84 12:19 -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE TDELAY(X) -C -C *** TIME DELAY FOR NUCLEAR REACTIONS *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (01-FEB-1984) -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -C - X=0. - IF(ATNO2.LT.1.5) RETURN - IF(ATNO2.GT.230.) RETURN - IF(EK.GT.0.2) RETURN - X=500.*EXP(-EK/0.04) - RETURN - END diff --git a/StarVMC/geant3/gheisha/trac.F b/StarVMC/geant3/gheisha/trac.F deleted file mode 100644 index 1485fc7e3ce..00000000000 --- a/StarVMC/geant3/gheisha/trac.F +++ /dev/null @@ -1,72 +0,0 @@ -* -* $Id: trac.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: trac.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:08 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : -C -C *** VARIOUS VECTOR OPERATIONS *** -C -C COPIED FROM F14BLO.PAMLIB 23.4.82 -C AUTHOR: V.BLOBEL (UNIVERSITY OF HAMBURG) -C DESYLIB -C -C *** BLANK COMMON REPLACED BY /VECUTY/ TO MATCH GEANT/GHEISHA CODE *** -C *** NOTE THAT P(10,100) HAS BECOME PV(10,200) DUE TO THIS *** -C -C UN-USED ENTRIES REMOVED : -C "PCOP" "PEXC" "PZER" "PWRT" "DOT4" "IMPU" "IMPULI" "ADD3" -C "SUB3" "CROSS" "DOT" "SMUL" "NORZ" "PARPER" "PUNIT" "TRAP" -C -C *** ALL ENTRIES RE-WRITTEN AS SUBROUTINES USING ONLY NECESSARY *** -C *** "DOUBLE PRECISION" STMTS. AND ALL SPECIFIC FUNCTIONS HAVE *** -C *** BEEN CHANGED TO THEIR GENERIC EQUIVALENCES *** -C *** NVE 29-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (22-JUNE-1984) -C - SUBROUTINE TRAC(K,L,M) -C -C --- PV-ARRAY --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -C - DOUBLE PRECISION B,G(3) -C - N=L - DO 62 J=1,3 - B=0.0 - DO 60 I=1,3 - B=B+PV(I,N)*PV(I,K) - 60 CONTINUE - G(J)=B - N=N+1 - 62 CONTINUE - DO 64 I=1,3 - PV(I,M)=G(I) - 64 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/gheisha/twob.F b/StarVMC/geant3/gheisha/twob.F deleted file mode 100644 index a42d76fa808..00000000000 --- a/StarVMC/geant3/gheisha/twob.F +++ /dev/null @@ -1,386 +0,0 @@ -* -* $Id: twob.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: twob.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.2 2002/07/10 09:45:00 morsch -* Gheisha corrections suggested by Gary Bower (FNAL). -* -* Revision 1.1.1.1 1995/10/24 10:20:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE TWOB(IPPP,NFL,AVERN) -C -C *** GENERATION OF MOMENTA FOR ELAST. AND QUASI ELAST. 2 BODY REACT. *** -C *** NVE 04-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT 15-SEP-1987 -C -C THE SIMPLE FORMULA DS/D|T| = S0* EXP(-B*|T|) IS USED. -C THE B VALUES ARE PARAMETRIZATIONS FROM EXPERIMENTAL DATA . -C NOT AVAILABLE VALUES ARE TAKEN FROM THOSE OF SIMILAR REACTIONS -C -#include "geant321/s_defcom.inc" - DIMENSION RNDM(3) -C -C - REAL ZNOL,ATNOL -C -C DATA CB/3./ - DATA CB/0.01/ -C -C --- STATEMENT FUNCTIONS --- - BPP(X)=4.225+1.795*LOG(X) -C -C** -C** FOR DIFFRACTION SCATTERING ON HEAVY NUCLEI USE BETTER ROUTINE -C** "COSCAT" -C - ZNOL = ZNO2 - IF (NFL .EQ. 1)ZNOL = ZNOL - 1 - ATNOL = ATNO2 - 1 - TARMAS=RMASS(14) - IF (NFL .EQ. 2) TARMAS=RMASS(16) - ENP(8)=RMASS(IPPP)**2+TARMAS**2+2.0*TARMAS*ENP(6) - ENP(9)=SQRT(ENP(8)) - EK=ENP(5) - EN=ENP(6) - P=ENP(7) - S=ENP(8) - RS=ENP(9) - CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) - IF(ATNO2.LT.1.5) GOTO 500 - IPA1=ABS(IPA(1)) - IPA2=ABS(IPA(2)) - RMC=RMASS(IPA1) - RMD=RMASS(IPA2) - RCHC=RCHARG(IPA1) - RCHD=RCHARG(IPA2) - IF(ABS(RMC-AMAS).GT.0.001) GOTO 500 - RMNVE=RMASS(14) - IF (NFL .EQ. 2) RMNVE=RMASS(16) - IF(ABS(RMD-RMNVE).GT.0.001) GOTO 500 - IF(ABS(RCHC-NCH).GT.0.5) GOTO 500 - IF(NFL.EQ.1.AND.RCHD.LT.0.5) GOTO 500 - IF(NFL.EQ.2.AND.ABS(RCHD).GT.0.5) GOTO 500 - IF(ENP(1).GT.0.0001.OR.ENP(3).GT.0.0001) GOTO 500 - CALL COSCAT - GO TO 9999 -C** -C** SET EFFECTIVE 4-MOMENTUM OF INITIAL PARTICLE -C** - 500 PV( 1,MXGKPV-1)=P*PX - PV( 2,MXGKPV-1)=P*PY - PV( 3,MXGKPV-1)=P*PZ - PV( 4,MXGKPV-1)=EN - PV( 5,MXGKPV-1)=AMAS - PV( 6,MXGKPV-1)=NCH - PV( 7,MXGKPV-1)=TOF - PV( 8,MXGKPV-1)=IPART - PV( 9,MXGKPV-1)=0. - PV(10,MXGKPV-1)=USERW - IER(47)=IER(47)+1 - IF(NPRT(4)) - $ WRITE(NEWBCD,4001) (PV(J,MXGKPV-1),J=1,10),IPA(1),IPA(2) - DO 2 J=1,6 - 2 PV(J,1)=PV(J,MXGKPV-1) - PV(7,1)=1. - IF(PV(5,1).LT.0.) PV(7,1)=-1. - PV(5,1)=ABS(PV(5,1)) - NT=1 -C** -C** TWO-BODY SCATTERING POSSIBLE?? IF NOT, CONTINUE WITH ORIGINAL -C** PARTICLE, BUT SPEND THE NUCLEAR EVAPORATION ENERGY -C** - IF(P.LT.0.1) GOTO 200 - IF(RS.LT.0.01) GOTO 200 -C** -C** CALCULATE SLOPE B FOR ELASTIC SCATTERING ON PROTON/NEUTRON -C** - B=BPP(P) - IF(B.LT.CB) B=CB - IF(ABS(IPA(2)).GT.13) GOTO 9 - IPA(2)=14 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) IPA(2)=16 -C** -C** SET MASSES AND MOMENTA FOR FINAL STATE PARTICLES -C** - 9 RMC=RMASS(ABS(IPA(1))) - RMD=RMASS(ABS(IPA(2))) - PV(6,1)=RCHARG(ABS(IPA(1))) - PV(6,2)=RCHARG(ABS(IPA(2))) - PF=(S+RMD*RMD-RMC*RMC)**2 - 4*S*RMD*RMD - IF(NPRT(4)) WRITE(NEWBCD,4002) RMC,RMD,PV(6,1),PV(6,2),RS,S,PF - IF(PF.LT.0.001) GO TO 9999 - PF=SQRT(PF)/(2.*RS) -C** -C** SET BEAM AND TARGET IN CMS -C** - PV(1,3)=0. - PV(2,3)=0. - PV(3,3)=P - PV(5,3)=ABS(AMAS) - PV(4,3)=SQRT(P*P+AMAS*AMAS) - PV(1,4)=0. - PV(2,4)=0. - PV(3,4)=0. - RMNVE=RMASS(14) - IF (NFL .EQ. 2) RMNVE=RMASS(16) - PV(4,4)=RMNVE - PV(5,4)=RMNVE -C** -C** TRANSFORM INTO CMS. -C** - CALL ADD(3,4,10) - CALL LOR(3,10,3) - CALL LOR(4,10,4) -C** -C** SET FINAL STATE MASSES AND ENERGIES IN CMS -C** - PV(5,1)=ABS(RMC) - PV(5,2)=ABS(RMD) - PV(7,1)=1. - PV(7,2)=1. - IF(RMC.LT.0.) PV(7,1)=-1. - IF(RMD.LT.0.) PV(7,2)=-1. - PV(4,1)=SQRT(PF*PF+PV(5,1)*PV(5,1)) - PV(4,2)=SQRT(PF*PF+PV(5,2)*PV(5,2)) -C** -C** SET |T| AND |TMIN| -C** - CALL GRNDM(RNDM,2) - CALL LENGTX(3,PIN) - BTRANG=B*4.*PIN*PF -C** -C** SIMPLY A PROTECTION AGAINST EXPONENT OVERFLOW 1.E20 IS BIG ENOUGH -C** - EXINDT=-1. - IF(BTRANG.LT.46) EXINDT=EXINDT+EXP(-BTRANG) - TDN=LOG(1.+RNDM(1)*EXINDT)/BTRANG -C** -C** CACULATE (SIN(TETA/2.)**2 AND COS(TETA), SET AZIMUTH ANGLE PHI -C** - CTET=1.+2.*TDN - IF(ABS(CTET).GT.1.) CTET=SIGN(1.,CTET) - STET=SQRT((1.-CTET)*(1.+CTET)) - PHI=RNDM(2)*TWPI -C** -C** CALCULATE FINAL STATE MOMENTA IN CMS -C** - PV(1,1)=PF*STET*SIN(PHI) - PV(2,1)=PF*STET*COS(PHI) - PV(3,1)=PF*CTET - PV(1,2)=-PV(1,1) - PV(2,2)=-PV(2,1) - PV(3,2)=-PV(3,1) -C** -C** TRANSFORM INTO LAB -C** - DO 11 I=1,2 - CALL LOR(I,4,I) - CALL DEFS1(I,MXGKPV-1,I) - IF(ATNO2.LT.1.5) GOTO 11 - CALL LENGTX(I,PP) - IF(PP.LT.0.001) GOTO 11 - EKIN=PV(4,I)-ABS(PV(5,I)) - CALL NORMAL(RAN) - EKIN=EKIN-CFA*(1.+0.5*RAN) - IF(EKIN.LT.0.0001) EKIN=0.0001 - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 11 CONTINUE - NT=2 -C** -C** ADD BLACK TRACK PARTICLES . -C** HERE THE PROCEDURE IS SOMEWHAT DIFFERENT AS IN 'TWOCLU' AND 'GENXPT' -C** THE REASON IS, THAT WE HAVE TO SIMULATE ALSO THE NUCLEAR REACTIONS -C** AT LOW ENERGIES LIKE A(H,P)B, A(H,P P)B, A(H,N)B E.T.C. -C** - 200 IF(ENP(1).LE.0.0001.AND.ENP(3).LE.0.0001) GOTO 40 - IF(ATNOL .LT. 0.9)GOTO 445 - SPALL=0. - TEX=ENP(1) - IF(TEX.LT.0.0001) GOTO 445 - BLACK=TEX/0.02 - CALL POISSO(BLACK,NBL) - IF(NBL.GT.ATNOL) NBL=ATNOL - IF(ENP(1).GT.0.0001.AND.NBL.LE.0) NBL=1 - IF (NPRT(4)) WRITE(NEWBCD,3003) NBL,TEX - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 445 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 441 I=1,NBL - IF(NT.EQ.MXGKPV-2) GOTO 441 - IF(EKIN2.GT.TEX) GOTO 443 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF(EKIN1.LT.0.) EKIN1=0.0001 - IPA1=16 - PNRAT=1.-ZNOL/ATNOL - CALL GRNDM(RNDM,3) - IF(RNDM(1).GT.PNRAT)THEN - IPA1=14 - ZNOL = ZNOL -1 - ENDIF - ATNOL = ATNOL -1 - NT=NT+1 - SPALL=SPALL+1. - COST=-1.+RNDM(2)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(3) - IPA(NT)=-IPA1 - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=2. - PV(4,NT)=EKIN1+PV(5,NT) - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 441 CONTINUE - 443 IF(ATNO2.LT.10.) GOTO 445 - IF(EK.GT.2.0) GOTO 445 - II=NT+1 - KK=0 - EKA=EK - IF(EKA.GT.1.) EKA=EKA*EKA - IF(EKA.LT.0.1) EKA=0.1 - IKA=3.6*EXP((ZNO2**2/ATNO2-35.56)/6.45)/EKA - IF(IKA.LE.0) GO TO 445 - DO 444 I=1,NT - II=II-1 - IF(IPA(II).NE.-14) GOTO 444 - IPA(II)=-16 - IPA1 = 16 - PV(5,II)=ABS(RMASS(IPA1)) - PV(6,II)=RCHARG(IPA1) - KK=KK+1 - IF(KK.GT.IKA) GOTO 445 - 444 CONTINUE - 445 TEX=ENP(3) - IF(TEX.LT.0.0001) GOTO 40 - NBL=IFIX(2.*LOG(ATNO2)) - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 40 - IF(ATNOL .LT. ZNOL + 1)GOTO 40 - IF(ZNOL .LT. 1.0)GOTO 40 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - IF (NPRT(4)) WRITE(NEWBCD,3004) NBL,TEX - DO 442 I=1,NBL - IF(ATNOL .LT. ZNOL + 1)GOTO 40 - IF(ZNOL .LT. 1.0)GOTO 40 - IF(NT.EQ.MXGKPV-2) GOTO 442 - IF(EKIN2.GT.TEX) GOTO 40 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF(EKIN1.LT.0.) EKIN1=0.0001 - CALL GRNDM(RNDM,3) - COST=-1.+RNDM(1)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(2) - RAN=RNDM(3) - IPA(NT+1)=-30 - ATNOL = ATNOL -2 - ZNOL = ZNOL -1 - IF(RAN.GT.0.60)THEN - IF(ATNOL .GT. ZNOL + 0.9)THEN - ATNOL = ATNOL -1 - IPA(NT+1)=-31 - IF(RAN.GT.0.90)THEN - IF( (ATNOL .GT. 0.9) .AND. (ZNOL .GT. 0.9) )THEN - ATNOL = ATNOL -1 - ZNOL = ZNOL -1 - IPA(NT+1)=-32 - ENDIF - ENDIF - ENDIF - ENDIF - INVE=ABS(IPA(NT+1)) - PV(5,NT+1)=RMASS(INVE) - SPALL=SPALL+PV(5,NT+1)*1.066 - NT=NT+1 - PV(6,NT)=RCHARG(INVE) - PV(7,NT)=2. - PV(4,NT)=PV(5,NT)+EKIN1 - PP=SQRT(ABS(PV(4,NT)**2-PV(5,NT)**2)) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 442 CONTINUE -C** -C** STORE ON EVENT COMMON -C** - 40 EKIN=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - EKIN1=PV(4,MXGKPV-1)-ABS(PV(5,MXGKPV-1)) - EKIN2=0. - CALL TDELAY(TOF1) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - TOF=TOF-TOF1*LOG(RAN) - DO 1 I=1,NT - EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) - IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) - PV(7,I)=TOF - PV(8,I)=ABS(IPA(I)) - PV(9,I)=0. - 1 PV(10,I)=0. - IF (NPRT(4)) WRITE(NEWBCD,1003) NT,EKIN,EKIN1,EKIN2 - INTCT=INTCT+1. - CALL SETCUR(NT) - NTK=NTK+1 - IF(NT.EQ.1) GO TO 9999 - DO 50 II=2,NT - I=II-1 - IF(NTOT.LT.NSIZE/12) GOTO 43 - RETURN - 43 CALL SETTRK(I) - 50 CONTINUE -C - 1002 FORMAT(' *TWOB* ',5F10.4,10X,5F10.4/1H ,7X,5F10.4,10X,5F10.4/ - $ ' LAB SYSTEM FINAL STATE FOUR VECTORS') - 1003 FORMAT(' *TWOB* COMPARISON',2X,I5,2X,3F10.4) - 4001 FORMAT(' *TWOB* ',10F10.4,2X,2I3) - 4002 FORMAT(' *TWOB* ',7F10.4) - 3003 FORMAT(' *TWOB* ',I3,' BLACK TRACK PARTICLES PRODUCED', - $ ' WITH TOTAL KINETIC ENERGY OF ',F8.3,' GEV') - 3004 FORMAT(' *TWOB* ',I5,' HEAVY FRAGMENTS PRODUCED', - $ ' WITH TOTAL ENERGY OF',F8.4,' GEV') -C - 9999 CONTINUE -C - END diff --git a/StarVMC/geant3/gheisha/twoclu.F b/StarVMC/geant3/gheisha/twoclu.F deleted file mode 100644 index daeb36ba46e..00000000000 --- a/StarVMC/geant3/gheisha/twoclu.F +++ /dev/null @@ -1,942 +0,0 @@ -* -* $Id: twoclu.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: twoclu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:12 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.2 2002/07/10 09:45:00 morsch -* Gheisha corrections suggested by Gary Bower (FNAL). -* -* Revision 1.2 1996/02/27 10:04:49 ravndal -* Precision problem solved -* -* Revision 1.1.1.1 1995/10/24 10:21:05 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE TWOCLU(IPPP,NFL,AVERN) -C -C *** GENERATION OF X- AND PT- VALUES FOR ALL PRODUCED PARTICLES *** -C *** NVE 01-AUG-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (11-OCT-1987) -C -C A SIMPLE TWO CLUSTER MODEL IS USED -C THIS SHOULD BE SUFFICIENT FOR LOW ENERGY INTERACTIONS -C -#include "geant321/s_defcom.inc" -#include "geant321/s_genio.inc" -C - REAL NUCSUP - INTEGER NIHIL - REAL RENORM,ZNOL,ATNOL - DIMENSION SIDE(MXGKCU),C1PAR(5),G1PAR(5),NUCSUP(5) - DIMENSION RNDM(3) - DATA C1PAR/0.6,0.6,0.35,0.15,0.10/ - DATA G1PAR/2.6,2.6,1.8,1.30,1.20/ - DATA NUCSUP/1.0,0.8,0.6,0.5,0.4/ -C DATA CB/3.0/ - DATA CB/0.01/ - BPP(X)=4.000+1.600*LOG(X) -C - MX =MXGKPV-20 - MX1=MX+1 - MX2=MX+2 - MX3=MX+3 - MX4=MX+4 - MX5=MX+5 - MX6=MX+6 - MX7=MX+7 - MX8=MX+8 - CALL CORANH(NIHIL,NFL) - EK=ENP(5) - EN=ENP(6) - P=ENP(7) - S=ENP(8) - RS=ENP(9) - CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) - IF(P.LT.0.001) GOTO 60 - NT=0 -C** -C** CHECK MASS-INDICES FOR ALL PARTICLES -C** - DO 1 I=1,100 - IF(IPA(I).EQ.0) GOTO 1 - NT=NT+1 - IPA(NT)=IPA(I) - 1 CONTINUE - CALL VZERO(IPA(NT+1),MXGKCU-NT) -C** -C** SET THE EFFECTICE 4-MOMENTUM-VECTOR FOR INTERACTION -C** - PV( 1,MXGKPV-1)=P*PX - PV( 2,MXGKPV-1)=P*PY - PV( 3,MXGKPV-1)=P*PZ - PV( 4,MXGKPV-1)=EN - PV( 5,MXGKPV-1)=AMAS - PV( 6,MXGKPV-1)=NCH - PV( 7,MXGKPV-1)=TOF - PV( 8,MXGKPV-1)=IPART - PV( 9,MXGKPV-1)=0. - PV(10,MXGKPV-1)=USERW - IER(48)=IER(48)+1 -C** -C** DISTRIBUTE PARTICLES IN FORWARD AND BACKWARD HEMISPHERE OF CMS -C** OF THE HADRON NUCLEON INTERACTION -C** - ZNOL = ZNO2 - IF(NFL .EQ. 1)ZNOL = ZNOL -1 - ATNOL = ATNO2 - 1 - SIDE(1)= 1. - SIDE(2)=-1. - TARG=0. - IFOR=1 - IBACK=1 - DO 3 I=1,NT - IF (I .LE. 2) GO TO 78 - SIDE(I)=1. - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. 0.5) SIDE(I)=-1. - IF (SIDE(I) .LT. 0.) GO TO 76 -C -C --- PARTICLE IN FORWARD HEMISPHERE --- - 77 CONTINUE - IFOR=IFOR+1 - IF (IFOR .LE. 18) GO TO 78 -C -C --- CHANGE IT TO BACKWARD --- - SIDE(I)=-1. - IFOR=IFOR-1 - IBACK=IBACK+1 - GO TO 78 -C -C --- PARTICLE IN BACKWARD HEMISPHERE --- - 76 CONTINUE - IBACK=IBACK+1 - IF (IBACK .LE. 18) GO TO 78 -C -C --- CHANGE IT TO FORWARD --- - SIDE(I)=1. - IBACK=IBACK-1 - IFOR=IFOR+1 -C** -C** SUPPRESSION OF CHARGED PIONS FOR VARIOUS REASONS -C** - 78 IF(IPART.EQ.15.OR.IPART.GE.17) GOTO 3 - IF(ABS(IPA(I)).GE.10) GOTO 3 - IF(ABS(IPA(I)).EQ. 8) GOTO 3 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.(10.-P)/6.) GOTO 3 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ATNO2/300.) GOTO 3 - IF(ATNOL .LT. 0.9) GOTO 3 - IPA(I)=14 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ZNOL/ATNOL)THEN - IPA(I)=16 - ZNOL = ZNOL + 1 - ENDIF - ZNOL = ZNOL -1 - ATNOL = ATNOL -1 - TARG=TARG+1. - 3 CONTINUE - TB=2.*IBACK - CALL GRNDM(RNDM,1) - IF(RS.LT.(2.0+RNDM(1))) TB=(2.*IBACK+NT)/2. -C** -C** NUCLEONS + SOME PIONS FROM INTRANUCLEAR CASCADE -C** - AFC=0.312+0.200*LOG(LOG(S)) - XTARG=AFC*(ATNO2**0.33-1.0)*TB - IF(XTARG.LE.0.) XTARG=0.01 - CALL POISSO(XTARG,NTARG) - NT2=NT+NTARG - IF(NT2.LE.MXGKPV-30) GOTO 2 - NT2=MXGKPV-30 - NTARG=NT2-NT - 2 CONTINUE - IF(NPRT(4)) - *WRITE(NEWBCD,3001) NTARG,NT - NT1=NT+1 - IF(NTARG.EQ.0) GOTO 51 - IPX=IFIX(P/3.)+1 - IF(IPX.GT.5) IPX=5 - DO 4 I=NT1,NT2 - IF(ATNOL .GT. 0.99)THEN - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(RAN.LT.NUCSUP(IPX)) GOTO 52 - ENDIF - CALL GRNDM(RNDM,1) - IPA(I)=-(7+IFIX(RNDM(1)*3.0)) - GOTO 4 - 52 IPA(I)=-16 - PNRAT=1.-ZNOL/ATNOL - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.PNRAT)THEN - IPA(I)=-14 - ZNOL = ZNOL -1 - ENDIF - ATNOL = ATNOL -1 - TARG=TARG+1. - 4 SIDE(I)=-2. - NT=NT2 -C** -C** CHOOSE MASSES AND CHARGES FOR ALL PARTICLES -C** - 51 DO 5 I=1,NT - IPA1=ABS(IPA(I)) - PV(5,I)=RMASS(IPA1) - PV(6,I)=RCHARG(IPA1) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - 5 CONTINUE -C** -C** MARK LEADING STRANGE PARTICLES -C** - LEAD=0 - IF(IPART.LT.10.OR.IPART.EQ.14.OR.IPART.EQ.16) GOTO 6 - IPA1=ABS(IPA(1)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 531 - LEAD=IPA1 - GOTO 6 - 531 IPA1=ABS(IPA(2)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 6 - LEAD=IPA1 -C** -C** CHECK AVAILABLE KINETIC ENERGY , CHANGE HEMISPHERE FOR PARTICLES -C** UNTIL IT FITS -C** - 6 IF(NT.LE.1) GOTO 60 - TAVAI=0. - DO 7 I=1,NT - IF(SIDE(I).LT.-1.5) GOTO 7 - TAVAI=TAVAI+ABS(PV(5,I)) - 7 CONTINUE - IF(TAVAI.LT.RS) GOTO 12 - IF(NPRT(4)) - *WRITE(NEWBCD,3002) (IPA(I),I=1,20),(SIDE(I),I=1,20),TAVAI,RS - 3002 FORMAT(' *TWOCLU* CHECK AVAILABLE ENERGIES'/ - * 1H ,20I5/1H ,20F5.0/1H ,'TAVAI,RS ',2F10.3) - DO 10 I=1,NT - II=NT-I+1 - IF(SIDE(II).LT.-1.5) GOTO 10 - IF(II.EQ.NT) GOTO 11 - NT1=II+1 - NT2=NT - DO 8 J=NT1,NT2 - IPA(J-1)=IPA(J) - SIDE(J-1)=SIDE(J) - DO 8 K=1,10 - 8 PV(K,J-1)=PV(K,J) - GOTO 11 - 10 CONTINUE - 11 SIDE(NT)=0. - IPA(NT)=0 - NT=NT-1 - GOTO 6 - 12 IF(NT.LE.1) GOTO 60 - B=BPP(P) - IF(B.LT.CB) B=CB -C** -C** CHOOSE MASSES FOR THE 3 CLUSTER: 1. FORWARD CLUSTER -C** 2. BACKWARD MESON CLUSTER 3. BACKWARD NUCLEON CLUSTER -C** - RMC0=0. - RMD0=0. - RME0=0. - NTC=0 - NTD=0 - NTE=0 - DO 31 I=1,NT - IF(SIDE(I).GT.0.) RMC0=RMC0+ABS(PV(5,I)) - IF(SIDE(I).GT.0.) NTC =NTC +1 - IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) RMD0=RMD0+ABS(PV(5,I)) - IF( SIDE(I).LT.-1.5) RME0=RME0+ABS(PV(5,I)) - IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) NTD =NTD +1 - IF( SIDE(I).LT.-1.5) NTE =NTE +1 - 31 CONTINUE - 32 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RMC=RMC0 - IF(NTC.LE.1) GOTO 33 - NTC1=NTC - IF(NTC1.GT.5) NTC1=5 - RMC=-LOG(RAN) - GPAR=G1PAR(NTC1) - CPAR=C1PAR(NTC1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RMC=RMC0+RMC**CPAR/DUMNVE - 33 RMD=RMD0 - IF(NTD.LE.1) GOTO 34 - NTD1=NTD - IF(NTD1.GT.5) NTD1=5 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RMD=-LOG(RAN) - GPAR=G1PAR(NTD1) - CPAR=C1PAR(NTD1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RMD=RMD0+RMD**CPAR/DUMNVE - 34 IF(RMC+RMD-RS.LT.1.E-6) GO TO 35 - IF (RMC.LE.RMC0.AND.RMD.LE.RMD0) THEN - HNRMDC = 0.999*RS/(RMC+RMD) - RMD = RMD*HNRMDC - RMC = RMC*HNRMDC - ELSE - RMC=0.1*RMC0+0.9*RMC - RMD=0.1*RMD0+0.9*RMD - END IF - GOTO 34 - 35 IF(NTE.LE.0) GOTO 38 - RME=RME0 - IF(NTE.EQ.1) GOTO 38 - NTE1=NTE - IF(NTE1.GT.5) NTE1=5 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RME=-LOG(RAN) - GPAR=G1PAR(NTE1) - CPAR=C1PAR(NTE1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RME=RME0+RME**CPAR/DUMNVE -C** -C** SET BEAM , TARGET OF FIRST INTERACTION IN CMS -C** - 38 PV( 1,MX1) =0. - PV( 2,MX1) =0. - PV( 3,MX1) =P - PV( 5,MX1) =ABS(AMAS) - PV( 4,MX1) =SQRT(P*P+AMAS*AMAS) - PV( 1,MX2) =0. - PV( 2,MX2) =0. - PV( 3,MX2) =0. - PV( 4,MX2) =MP - PV( 5,MX2) =MP - -C** TRANSFORM INTO CMS. - - CALL ADD(MX1,MX2,MX) - CALL LOR(MX1,MX,MX1) - CALL LOR(MX2,MX,MX2) - PF=(S+RMD*RMD-RMC*RMC)**2 - 4*S*RMD*RMD - IF(PF.LT.0.0001) PF=0.0001 - DUMNVE=2.0*RS - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - PF=SQRT(PF)/DUMNVE - IF(NPRT(4)) WRITE(6,2002) PF,RMC,RMD,RS -C** -C** SET FINAL STATE MASSES AND ENERGIES IN CMS -C** - PV(5,MX3) =RMC - PV(5,MX4) =RMD - PV(4,MX3) =SQRT(PF*PF+RMC*RMC) - PV(4,MX4) =SQRT(PF*PF+RMD*RMD) -C** -C** SET |T| AND |TMIN| -C** - CALL LENGTX(MX1,PIN) - TACMIN=(PV(4,MX1) -PV(4,MX3))**2 -(PIN-PF)**2 -C** -C** CACULATE (SIN(TETA/2.)**2 AND COS(TETA), SET AZIMUTH ANGLE PHI -C** - DUMNVE=4.0*PIN*PF - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RENORM = 1. - EXP(B*(TACMIN - DUMNVE)) - T=-1.0E10 - CALL GRNDM(RNDM,1) - IF (B .NE. 0.0) T=LOG(1.-RENORM*RNDM(1))/B - CTET=-(T-TACMIN)/DUMNVE - CTET=1.0-2.0*CTET - IF (CTET .GT. 1.0) CTET=1.0 - IF (CTET .LT. -1.0) CTET=-1.0 - DUMNVE=1.0-CTET*CTET - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - STET=SQRT(DUMNVE) - CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI -C** -C** CALCULATE FINAL STATE MOMENTA IN CMS -C** - PV(1,MX3) =PF*STET*SIN(PHI) - PV(2,MX3) =PF*STET*COS(PHI) - PV(3,MX3) =PF*CTET - PV(1,MX4) =-PV(1,MX3) - PV(2,MX4) =-PV(2,MX3) - PV(3,MX4) =-PV(3,MX3) -C** -C** SIMULATE BACKWARD NUCLEON CLUSTER IN LAB. SYSTEM AND TRANSFORM IN -C** CMS. -C** - IF(NTE.EQ.0) GOTO 28 - GA=1.2 - EKIT1=0.04 - EKIT2=0.6 - IF(EK.GT.5.) GOTO 666 - EKIT1=EKIT1*EK**2/25. - EKIT2=EKIT2*EK**2/25. - 666 A=(1.-GA)/(EKIT2**(1.-GA)-EKIT1**(1.-GA)) - DO 29 I=1,NT - IF(SIDE(I).GT.-1.5) GOTO 29 - CALL GRNDM(RNDM,3) - RAN=RNDM(1) - EKIT=(RAN*(1.-GA)/A+EKIT1**(1.-GA))**(1./(1.-GA)) - PV(4,I)=EKIT+PV(5,I) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(DUMNVE) - RAN=RNDM(2) - COST=LOG(2.23*RAN+0.383)/0.96 - IF (COST .LT. -1.0) COST=-1.0 - IF (COST .GT. 1.0) COST=1.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(3) - PV(1,I)=PP*SINT*SIN(PHI) - PV(2,I)=PP*SINT*COS(PHI) - PV(3,I)=PP*COST - CALL LOR(I,MX,I) - 29 CONTINUE -C** -C** FRAGMENTATION OF FORWARD CLUSTER AND BACKWARD MESON CLUSTER -C** - 28 PV(1,1)=PV(1,MX3) - PV(2,1)=PV(2,MX3) - PV(3,1)=PV(3,MX3) - PV(4,1)=PV(4,MX3) - PV(1,2)=PV(1,MX4) - PV(2,2)=PV(2,MX4) - PV(3,2)=PV(3,MX4) - PV(4,2)=PV(4,MX4) - DO 17 I=MX5,MX6 - DO 16 J=1,3 - 16 PV(J,I)=-PV(J,I-2) - DO 17 J=4,5 - 17 PV(J,I)= PV(J,I-2) - KGENEV=1 - IF(NTC.LE.1) GOTO 26 - TECM=PV(5,MX3) - NPG=0 - DO 18 I=1,NT - IF(SIDE(I).LT.0.) GOTO 18 - IF(NPG.EQ.18) THEN - SIDE(I)=-SIDE(I) - GOTO 18 - ENDIF - NPG=NPG+1 - AMASS(NPG)=ABS(PV(5,I)) - 18 CONTINUE - IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) - CALL PHASP - NPG=0 - DO 19 I=1,NT - IF(SIDE(I).LT.0.) GOTO 19 - NPG=NPG+1 - PV(1,I)=PCM(1,NPG) - PV(2,I)=PCM(2,NPG) - PV(3,I)=PCM(3,NPG) - PV(4,I)=PCM(4,NPG) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL LOR(I,MX5,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - 19 CONTINUE - 26 IF(NTD.LE.1) GOTO 27 - TECM=PV(5,MX4) - NPG=0 - DO 20 I=1,NT - IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 20 - IF(NPG.EQ.18) THEN - SIDE(I)=-2. - PV(4,I)=ABS(PV(5,I)) - DO 24 J=1,3 - PV(J,I)=0. - 24 CONTINUE - GOTO 20 - ENDIF - NPG=NPG+1 - AMASS(NPG)=ABS(PV(5,I)) - 20 CONTINUE - IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) - CALL PHASP - NPG=0 - DO 21 I=1,NT - IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 21 - NPG=NPG+1 - PV(1,I)=PCM(1,NPG) - PV(2,I)=PCM(2,NPG) - PV(3,I)=PCM(3,NPG) - PV(4,I)=PCM(4,NPG) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL LOR(I,MX6,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - 21 CONTINUE -C** -C** LORENTZ TRANSFORMATION IN LAB SYSTEM -C** - 27 TARG=0. - DO 36 I=1,NT - IF(PV(5,I).GT.0.5) TARG=TARG+1. - CALL LOR(I,MX2,I) - 36 CONTINUE - IF(ABS(AMAS) .GT. 0.5)TARG = TARG -1 - IF(NIHIL .GT. 0)TARG = TARG + 2 - IF(TARG.LT.0.5) TARG=1. -C** -C** SOMETIMES THE LEADING STRANGE PARTICLES ARE LOST , SET THEM BACK -C** - IF(LEAD.EQ.0) GOTO 6085 - DO 6081 I=1,NT - IF(ABS(IPA(I)).EQ.LEAD) GOTO 6085 - 6081 CONTINUE - I=1 - IF(LEAD.GE.14.AND.ABS(IPA(2)).GE.14) I=2 - IF(LEAD.LT.14.AND.ABS(IPA(2)).LT.14) I=2 - IPA(I)=LEAD - EKIN=PV(4,I)-ABS(PV(5,I)) - PV(5,I)=RMASS(LEAD) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - PV(6,I)=RCHARG(LEAD) - PV(4,I)=PV(5,I)+EKIN - CALL LENGTX(I,PP) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP1=SQRT(DUMNVE) -C - IF (PP .GE. 1.0E-6) GO TO 8000 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8001 - 8000 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8001 CONTINUE -C -C** FOR VARIOUS REASONS, THE ENERGY BALANCE IS NOT SUFFICIENT, -C** CHECK THAT, ENERGY BALANCE, ANGLE OF FINAL SYSTEM E.T.C. - 6085 KGENEV=1 - PV(1,MX4) =0. - PV(2,MX4) =0. - PV(3,MX4) =P - PV(4,MX4) =SQRT(P*P+AMAS*AMAS) - PV(5,MX4) =ABS(AMAS) - EKIN0=PV(4,MX4) -PV(5,MX4) - PV(1,MX5) =0. - PV(2,MX5) =0. - PV(3,MX5) =0. - PV(4,MX5) =MP*TARG - PV(5,MX5) =PV(4,MX5) - EKIN=PV(4,MX4) +PV(4,MX5) - I=MX4 - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - I=MX5 - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL ADD(MX4,MX5,MX6) - CALL LOR(MX4,MX6,MX4) - CALL LOR(MX5,MX6,MX5) - TECM=PV(4,MX4) +PV(4,MX5) - NPG=NT - PV(1,MX8) =0. - PV(2,MX8) =0. - PV(3,MX8) =0. - PV(4,MX8) =0. - PV(5,MX8) =0. - EKIN1=0. - DO 598 I=1,NPG - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - CALL ADD(MX8,I,MX8) - EKIN1=EKIN1+PV(4,I)-PV(5,I) - EKIN=EKIN-PV(5,I) - IF(I.GT.18) GOTO 598 - AMASS(I)=PV(5,I) - 598 CONTINUE - IF(NPG.GT.18) GOTO 597 - CALL PHASP - EKIN=0. - DO 599 I=1,NPG - PV(1,MX7)=PCM(1,I) - PV(2,MX7)=PCM(2,I) - PV(3,MX7)=PCM(3,I) - PV(4,MX7)=PCM(4,I) - PV(5,MX7)=AMASS(I) - CALL LOR(MX7,MX5,MX7) - 599 EKIN=EKIN+PV(4,MX7)-PV(5,MX7) - CALL ANG(MX8,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1,EKIN -C** -C** MAKE SHURE, THAT KINETIC ENERGIES ARE CORRECT -C** THE 3. CLUSTER IS NOT PRODUCED WITHIN PROPER KINEMATICS!!! -C** EKIN= KINETIC ENERGY THEORETICALLY -C** EKIN1= KINETIC ENERGY SIMULATED -C** - 597 IF(EKIN1.EQ.0.) GOTO 600 - PV(1,MX7) =0. - PV(2,MX7) =0. - PV(3,MX7) =0. - PV(4,MX7) =0. - PV(5,MX7) =0. - WGT=EKIN/EKIN1 - EKIN1=0. - DO 602 I=1,NT - EKIN=PV(4,I)-PV(5,I) - EKIN=EKIN*WGT - PV(4,I)=EKIN+PV(5,I) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(DUMNVE) - CALL LENGTX(I,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8002 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP*COS(RTHNVE) - GO TO 8003 - 8002 CONTINUE - PV(1,I)=PV(1,I)*PP/PP1 - PV(2,I)=PV(2,I)*PP/PP1 - PV(3,I)=PV(3,I)*PP/PP1 - 8003 CONTINUE -C - EKIN1=EKIN1+EKIN - CALL ADD(MX7,I,MX7) - 602 CONTINUE - CALL ANG(MX7,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1 -C** -C** ROTATE IN DIRECTION OF Z-AXIS, SEE COMMENTS IN 'GENXPT' -C** - 600 PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 596 I=1,NT - 596 CALL ADD(MX7,I,MX7) -* call rannor(ran1,ran2) - CALL GRNDM(RNDM,2) - RY=RNDM(1) - RZ=RNDM(2) - RX=6.283185*RZ - A1=SQRT(-2.*LOG(RY)) - RAN1=A1*SIN(RX) - RAN2=A1*COS(RX) - PV(1,MX7)=PV(1,MX7)+RAN1*0.020*TARG - PV(2,MX7)=PV(2,MX7)+RAN2*0.020*TARG - CALL DEFS(MX4,MX7,MX8) - PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 595 I=1,NT - CALL TRAC(I,MX8,I) - 595 CALL ADD(MX7,I,MX7) - CALL ANG(MX7,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA -C** -C** ROTATE IN DIRECTION OF PRIMARY PARTICLE -C** - DEKIN=0. - NPIONS=0 - EK1=0. - DO 25 I=1,NT - CALL DEFS1(I,MXGKPV-1,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - IF(ATNO2.LT.1.5) GOTO 25 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - CALL NORMAL(RAN) - EKIN=EKIN-CFA*(1.+0.5*RAN) - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - CALL STEEQ(XXH,I) - DEKIN=DEKIN+EKIN*(1.-XXH) - EKIN=EKIN*XXH - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) NPIONS=NPIONS+1 - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) EK1=EK1+EKIN - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8004 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8005 - 8004 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8005 CONTINUE -C - 25 CONTINUE - IF(EK1.EQ.0.) GOTO 23 - IF(NPIONS.LE.0) GOTO 23 - DEKIN=1.+DEKIN/EK1 - DO 22 I=1,NT - IF(ABS(IPA(I)).LT.7.OR.ABS(IPA(I)).GT.9) GOTO 22 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - EKIN=EKIN*DEKIN - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8006 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8007 - 8006 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8007 CONTINUE -C - 22 CONTINUE - 23 IF(ATNO2.LT.1.5) GOTO 40 -C** -C** ADD BLACK TRACK PARTICLES -C** - CALL SELFAB(SPROB) - TEX=ENP(1) - SPALL=TARG - IF(TEX.LT.0.001) GOTO 445 - BLACK=(1.5+1.25*TARG)*ENP(1)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NPRT(4)) - *WRITE(NEWBCD,3003) NBL,TEX - IF(NBL.GT.ATNOL) NBL=ATNOL - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 445 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 441 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 441 - IF(NT.EQ.MXGKPV-2) GOTO 441 - IF(EKIN2.GT.TEX) GOTO 443 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - IPA1=16 - PNRAT=1.-ZNOL/ATNOL - CALL GRNDM(RNDM,3) - IF(RNDM(1).GT.PNRAT)THEN - IPA1=14 - ZNOL = ZNOL -1 - ENDIF - ATNOL = ATNOL -1 - NT=NT+1 - SPALL=SPALL+1. - COST=-1.0+RNDM(2)*2.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(3) - IPA(NT)=-IPA1 - SIDE(NT)=-4. - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=1. - PV(4,NT)=EKIN1+PV(5,NT) - DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(DUMNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 441 CONTINUE - 443 IF(ATNO2.LT.10.) GOTO 445 - IF(EK.GT.2.0) GOTO 445 - II=NT+1 - KK=0 - EKA=EK - IF(EKA.GT.1.) EKA=EKA*EKA - IF(EKA.LT.0.1) EKA=0.1 - IKA=3.6*EXP((ZNO2**2/ATNO2-35.56)/6.45)/EKA - IF(IKA.LE.0) GO TO 445 - DO 444 I=1,NT - II=II-1 - IF(IPA(II).NE.-14) GOTO 444 - IPA(II)=-16 - IPA1 = 16 - PV(5,II)=ABS(RMASS(IPA1)) - PV(6,II)=RCHARG(IPA1) - KK=KK+1 - IF(KK.GT.IKA) GOTO 445 - 444 CONTINUE - 445 TEX=ENP(3) - IF(TEX.LT.0.001) GOTO 40 - IF(ATNOL .LT. ZNOL + 1)GOTO 40 - IF(ZNOL .LT. 1)GOTO 40 - BLACK=(1.5+1.25*TARG)*ENP(3)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 40 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - IF(NPRT(4)) - *WRITE(NEWBCD,3004) NBL,TEX - DO 442 I=1,NBL - IF(ATNOL .LT. ZNOL + 1)GOTO 40 - IF(ZNOL .LT. 1)GOTO 40 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 442 - IF(NT.EQ.MXGKPV-2) GOTO 442 - IF(EKIN2.GT.TEX) GOTO 40 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.005*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - CALL GRNDM(RNDM,3) - COST=-1.0+RNDM(1)*2.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(2) - RAN=RNDM(3) - IPA(NT+1)=-30 - ATNOL = ATNOL -2 - ZNOL = ZNOL -1 - IF(RAN.GT.0.60)THEN - IF(ATNOL .GT. ZNOL + 0.9)THEN - IPA(NT+1)=-31 - ATNOL = ATNOL -1 - IF(RAN.GT.0.90)THEN - IF((ATNOL .GT. 0.9) .AND. (ZNOL .GT. 0.9))THEN - IPA(NT+1)=-32 - ATNOL = ATNOL -1 - ZNOL = ZNOL -1 - ENDIF - ENDIF - ENDIF - ENDIF - SIDE(NT+1)=-4. - PV(5,NT+1)=(ABS(IPA(NT+1))-28)*MP - SPALL=SPALL+PV(5,NT+1)*1.066 - NT=NT+1 - PV(6,NT)=1. - IF(IPA(NT).EQ.-32) PV(6,NT)=2. - PV(7,NT)=1. - PV(4,NT)=PV(5,NT)+EKIN1 - DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(DUMNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 442 CONTINUE -C** -C** STORE ON EVENT COMMON -C** - 40 CONTINUE - 42 EKIN=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - EKIN1=PV(4,MXGKPV-1)-ABS(PV(5,MXGKPV-1)) - EKIN2=0. - CALL TDELAY(TOF1) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - TOF=TOF-TOF1*LOG(RAN) - DO 44 I=1,NT - EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) - IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) - PV(7,I)=TOF - PV(8,I)=ABS(IPA(I)) - PV(9,I)=0. - 44 PV(10,I)=0. - IF(NPRT(4)) WRITE(NEWBCD,2006) NT,EKIN,ENP(1),ENP(3),EKIN1,EKIN2 - INTCT=INTCT+1. - CALL SETCUR(NT) - NTK=NTK+1 - IF(NT.EQ.1) GOTO 300 - DO 50 II=2,NT - I=II-1 - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE - 300 CONTINUE - GO TO 9999 -C** -C** IT IS NOT POSSIBLE TO PRODUCE A PROPER TWO CLUSTER FINAL STATE. -C** CONTINUE WITH QUASI ELASTIC SCATTERING -C** - 60 IF(NPRT(4)) WRITE(NEWBCD,2005) - DO 61 I=3,MXGKCU - 61 IPA(I)=0 - IPA(1)=IPART - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - CALL TWOB(IPPP,NFL,AVERN) - GO TO 9999 -C - 2000 FORMAT(' *TWOCLU* CMS PARAMETERS OF FINAL STATE PARTICLES', - $ ' AFTER ',I3,' TRIALS') - 2001 FORMAT(' *TWOCLU* TRACK',2X,I3,2X,10F8.2,2X,I3,2X,F3.0) - 2002 FORMAT(' *TWOCLU* MOMENTUM ',F8.3,' MASSES ',2F8.4,' RS ',F8.4) - 2003 FORMAT(' *TWOCLU* TETA,EKIN0,EKIN1,EKIN ',4F10.4) - 2004 FORMAT(' *TWOCLU* TECM,NPB,MASSES: ',F10.4,1X,I3,1X,8F10.4/ - $ 1H ,26X,15X,8F10.4) - 2005 FORMAT(' *TWOCLU* NUMBER OF FINAL STATE PARTICLES', - $ ' LESS THAN 2 ==> CONTINUE WITH 2-BODY SCATTERING') - 2006 FORMAT(' *TWOCLU* COMP.',1X,I5,1X,5F7.2) - 3001 FORMAT(' *TWOCLU* NUCLEAR EXCITATION ',I5,' PARTICLES PRODUCED', - $ ' IN ADDITION TO',I5,' NORMAL PARTICLES') - 3003 FORMAT(' *TWOCLU* ',I3,' BLACK TRACK PARTICLES PRODUCED', - $ ' WITH TOTAL KINETIC ENERGY OF ',F8.3,' GEV') - 3004 FORMAT(' *TWOCLU* ',I5,' HEAVY FRAGMENTS WITH TOTAL ENERGY OF ', - $ F8.4,' GEV') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/ghits/gcderr.F b/StarVMC/geant3/ghits/gcderr.F deleted file mode 100644 index bc06cb0e67b..00000000000 --- a/StarVMC/geant3/ghits/gcderr.F +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: gcderr.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gcderr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:08 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GCDERR (ICD,ERP,ERS) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TO CALCULATE THE ERROR ON THE CURRENT DIVISION * -C. * INFORMATION AS OBTAINED BY "GCDRIF" * -C. * * -C. * INPUT: ICD = DIGITIZED CURRENT DIVISION INFORMATION * -C. * ( 0 ... 1000 ) * -C. * ERP = VARIANCE OF GAUSSIAN DISTRIBUTED PEDESTAL * -C. * ERRORS ON THE MEASURED PULSE HEIGHTS * -C. * RELATIVE TO THE SUM OF THE PULSE HEIGHTS * -C. * ERS = VARIANCE OF GAUSSIAN DISTRIBUTED SLOPE * -C. * ERRORS ON THE MEASURED PULSE HEIGHTS * -C. * RELATIVE TO EACH PULSE HEIGHT * -C. * OUTPUT: ICD = VALUE UPDATED ACCORDING TO RANDOM ERRORS * -C. * * -C. * ==>Called by : , GUDIGI * -C. * Author D.Mitaroff ********* * -C. * * -C. ****************************************************************** -C. - COMMON /GCYDR/ ZL - DIMENSION RNDM(4) -C - Z = ICD -C -C---- CALCULATE PEDESTAL ERRORS FOR VARIANCE BEING 1. - CALL GRNDM(RNDM,4) -* call rannor(eps1,eps2) - RY=RNDM(1) - RZ=RNDM(2) - RX=6.283185*RZ - A1=SQRT(-2.*LOG(RY)) - EPS1=A1*SIN(RX) - EPS2=A1*COS(RX) - DZP = - EPS1 * Z + EPS2 * (ZL - Z) -C -C---- CALCULATE SLOPE ERRORS FOR VARIANCE BEING 1. -* call rannor(eps1,eps2) - RY=RNDM(3) - RZ=RNDM(4) - RX=6.283185*RZ - A1=SQRT(-2.*LOG(RY)) - EPS1=A1*SIN(RX) - EPS2=A1*COS(RX) - DZS = (EPS2 - EPS1) * Z * (ZL - Z) / ZL -C -C---- CALCULATE NEW VALUE OF ICD FOR VARIANCES ERP, ERS. - Z = Z + ERP * DZP + ERS * DZS - IF (Z .LT. 0.) Z = 0. - IF (Z .GT. ZL) Z = ZL -C - ICD = Z -C - END diff --git a/StarVMC/geant3/ghits/gcdrif.F b/StarVMC/geant3/ghits/gcdrif.F deleted file mode 100644 index 4f097ee4b63..00000000000 --- a/StarVMC/geant3/ghits/gcdrif.F +++ /dev/null @@ -1,164 +0,0 @@ -* -* $Id: gcdrif.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gcdrif.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:08 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GCDRIF (RADD,ZMIN,ZMAX,DETREP,HITREP,IOUT) -C. -C. ************************************************************************** -C. * * -C. * Digitisation of Drift- Chambers * -C. * -------------------------------- * -C. * * -C. * Digitisation routine for a cylindrical drift chamber. * -C. * RADD radius of cylinder in cm * -C. * ZMIN z of lower end of cylinder * -C. * ZMAX z of upper end of " * -C. * DETREP(1) number of wires * -C. * DETREP(2) wire spacing in PHI (radians) * -C. * DETREP(3) cosine of wire angle * -C. * DETREP(4) sine of wire angle (signed like dphi/dz) * -C. * DETREP(5) dphi/dz along wire * -C. * DETREP(6) phi of point with z=0 on wire 1 * -C. * DETREP(7) drift velocity (cm/nsec) * -C. * DETREP(8) quantity describing the drift angle * -C. * if.ne.0 ==> user routine GUDTIM * -C. * HITREP(1) phi coordinate of intersection * -C. * HITREP(2) z coordinate * -C. * HITREP(3) dphi/dr * -C. * HITREP(4) dz/dr * -C. * IOUT(1) wire number (1..NWI with increasing phi) (-1 for * -C. * bad DETREP parameters) * -C. * IOUT(2) drift time (nsec) (+/- for phi(hit)>/< phi(wire) * -C. * IOUT(3) digitised current division information (rel. pos. * -C. * along wire of charge) (per mille) * -C. * IOUT(4) amount of charge deposited to wire * -C. * Coordinate systems along wire * -C. * I. Charge I. * -C. * . | . * -C. * | . | * -C. * ========================================= SENSE WIRE * -C. * ...................................................> Z (cm) * -C. * Z Z. Z. * -C. * L * -C. * ...............................................> X (arbitrary scale) * -C. * 0 X. L * -C. * X. (L-X.) * -C. * The scaling used is such that L . 1000. * -C. * Knowing the position Z. of the deposit of charge, * -C. * Z.-ZL * -C. * X. = L * -C. * . ..... * -C. * Z.-ZL * -C. * This information is stored into IOUT(3). * -C. * Routine to calculate the error on the current division * -C. * information as obtained by "GCDRIFT". * -C. * ICD digitized current division information * -C. * (0 ... 1000) * -C. * ERP variance of Gaussian distributed pedestral errors * -C. * on the measured pulse heights relative to the sum * -C. * of the pulse heights * -C. * ERS variance of Gaussian distributed slope errors on * -C. * the measured pulse heights relative to the each * -C. * pulse heights * -C. * Here we assume that X. has been determined by measuring * -C. * the pulse heights I., I. with some statistical errors. * -C. * X. is then given by the formula * -C. * X. = L . I./I. with I. . I.+I. * -C. * and its error is determined by * -C. * .X. = -(X./I.) .I. + (L-X./I.) .I. * -C. * with the errors on measuring the pulse heights * -C. * .I. = .. + ...I. * -C. * .I. = .. + ...I. * -C. * .., .. are of dimension (I) and represent the "pedestral" * -C. * errors; * -C. * .., .. are the "slope" errors. * -C. * All are assumed to be distributed independently (no * -C. * correlations), randomly and Gaussian around zero. This gives * -C. * the final result * -C. * .. .. X.(L-X.) * -C. * .X. = - .. X. + .. (L-X.) + (..-..) ........ * -C. * I. I. L * -C. * .................. ................. * -C. * "pedestal" "slope" * -C. * In GCDERR, the X. derived from GCDRIF is set to * -C. * X. = X. + .X. (but 0 . X. . L) * -C. * using ERP ..... variance for ./I. , ../I. distributions * -C. * ERS ..... variance for .., .. distributions. * -C. * * -C. * ==>Called by : , GUDIGI * -C. * Author D.Mitaroff ********* * -C. * * -C. ************************************************************************** -C. - DIMENSION DETREP(8), HITREP(4), IOUT(4) -#include "geant321/gconsp.inc" -C. -C. ----------------------------------------------------------------- -C. - ZREL = 1000. - IOUT(1) = -1 - NWI = DETREP(1) - WSP = DETREP(2) - DVL = DETREP(7) - IF (WSP .EQ. 0.) GOTO 99 - IF (DVL .EQ. 0.) GOTO 99 -C -C---- CALCULATE WIRE NUMBER. - FI = HITREP(1) - ZZ = HITREP(2) - FI0 = DETREP(6) + ZZ * DETREP(5) - DFI = FI - FI0 - 10 IF (DFI .GE. 0.) GOTO 11 - DFI = DFI + TWOPI - GOTO 10 - 11 IF (DFI .LT. TWOPI) GOTO 12 - DFI = DFI - TWOPI - GOTO 11 - 12 IW = DFI / WSP + 0.5 - DIS = DFI - IW * WSP - IF (IW .EQ. NWI) IW = 0 - IOUT(1) = IW + 1 -C -C---- CALCULATE DRIFT TIME. - DIS = DIS * RADD * DETREP(3) - IF ( DETREP(8) .NE. 0. ) GOTO 2 - IOUT(2) = DIS / DVL - GOTO 3 -C -C---- DRIFT TIME BY USER ROUTINE. - 2 IOUT(2) = GUDTIM (DETREP,HITREP,IW+1,DIS) -C -C---- CALCULATE CURRENT DIVISION INFORMATION. - 3 Z0 = ZZ + DIS * DETREP(4) - IF (Z0 .LT. ZMIN) Z0 = ZMIN - IF (Z0 .GT. ZMAX) Z0 = ZMAX - IOUT(3) = ZREL * (Z0 - ZMIN) / (ZMAX - ZMIN) - IOUT(4) = 0 -C. - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gcmwpc.F b/StarVMC/geant3/ghits/gcmwpc.F deleted file mode 100644 index 8731451e4a6..00000000000 --- a/StarVMC/geant3/ghits/gcmwpc.F +++ /dev/null @@ -1,141 +0,0 @@ -* -* $Id: gcmwpc.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gcmwpc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:08 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GCMWPC (DETREP,HITREP,IOUT) -C. -C. ****************************************************************** -C. * * -C. * Routine to compute one or two digitisations produced by a * -C. * hit on a cylindrical MWPC. * -C. * DETREP(1) number of wires * -C. * DETREP(2) wire spacing (radians) * -C. * DETREP(3) dtheta/dz along the wires * -C. * DETREP(4) theta of a point on wire 1 * -C. * DETREP(5) z of a point on wire 1 * -C. * DETREP(6) gap width * -C. * HITREP(1) theta coordinate of intersection * -C. * HITREP(2) z coordinate * -C. * HITREP(3) dtheta/dr * -C. * HITREP(4) dz/dr * -C. * IOUT(1) wire number (-1-missing) * -C. * IOUT(2) cluster size * -C. * IOUT(3) wire number of second cluster if any * -C. * IOUT(4) cluster size * -C. * * -C. * ==>Called by : , GUDIGI * -C. * Author M.Hansroul ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION HITREP(4), DETREP(6), IOUT(4) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION ONE -#endif - PARAMETER (ONE=1) -C. -C. ------------------------------------------------------------------ -C. - IOUT(1) = - 1 - IOUT(3) = - 1 - ZS = DETREP(2) - IF (ZS.EQ.0.) GO TO 99 -C. -C. COMPUTE WIRE NUMBER -C. - HG = .5 * DETREP(6) - DT = HG * HITREP(3) - DZ = HG * HITREP(4) - T1 = HITREP(1) - DT - T2 = HITREP(1) + DT - Z1 = HITREP(2) - DZ - Z2 = HITREP(2) + DZ -C - Z0 = DETREP(5) - DT = DETREP(3) - DZ = Z1 - Z0 - T1 = T1 - DZ * DT - DZ = Z2 - Z0 - T2 = T2 - DZ * DT - T0 = DETREP(4) -C - T1 = MOD (ONE*T1,TWOPI) - T2 = MOD (ONE*T2,TWOPI) - T0 = MOD (ONE*T0,TWOPI) - IF (T1.LT.0.) T1 = T1 + TWOPI - IF (T2.LT.0.) T2 = T2 + TWOPI - IF (T0.LT.0.) T0 = T0 + TWOPI -C - NN = 0 - W1 = (T1 - T0) / ZS - IF (W1.LE.0.)THEN - NN = NN + 1 - W1 = W1 + TWOPI / ZS - ENDIF -C - W2 = (T2 - T0) / ZS - IF (W2.LE.0.)THEN - NN = NN + 1 - W2 = W2 + TWOPI / ZS - ENDIF -C - W1 = W1 + 1.5 - W2 = W2 + 1.5 - IW1 = W1 - IW2 = W2 - NWIR = DETREP(1) - IF (NN.NE.1)THEN -C. -C. 1 CLUSTER -C. - IWMIN = MIN (IW1,IW2) - IWMAX = MAX (IW1,IW2) - IF (IWMIN.GT.NWIR) GO TO 99 -C - IWMAX = MIN (NWIR,IWMAX) -C - IOUT(1) = IWMIN - IOUT(2) = IWMAX - IWMIN + 1 - ELSE -C. -C. SPECIAL CASE: SIGNAL ON WIRE 1 -C. AND ON WIRE 'NWIRES' --> 2 CLUSTERS -C. - IW = MIN (IW1,IW2) - IW = MIN (IW,NWIR) - IOUT(1) = 1 - IOUT(2) = IW - IW = MAX (IW1,IW2) - IF (IW.GT.NWIR) GO TO 99 - IOUT(3) = IW - IOUT(4) = NWIR - IW + 1 - ENDIF -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gcubs.F b/StarVMC/geant3/ghits/gcubs.F deleted file mode 100644 index 926061bc4d1..00000000000 --- a/StarVMC/geant3/ghits/gcubs.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: gcubs.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gcubs.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:13 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:08 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GCUBS(X,Y,D1,D2,A) -C. -C. -C. ****************************************************************** -C. * * -C. * Calculates a cubic through P1,(-X,Y1),(X,Y2),P2 * -C. * where Y2=-Y1 * -C. * Y=A(1)+A(2)*X+A(3)*X**2+A(4)*X**3 * -C. * The coordinate system is assumed to be the cms system * -C. * of P1,P2. * -C. * * -C. * ==>Called by : GIPLAN,GICYL * -C. * Author H.Boerner ********* * -C. * * -C. ****************************************************************** -C. - REAL X,Y,D1,D2,A(4) -C. -C. -C. ------------------------------------------------------------------ -C. -C. - IF (X.EQ.0.) GO TO 10 -C -C - FACT = (D1 - D2) * 0.25 - A(1) = - 1. * FACT * X - A(3) = FACT / X - A(2) = (6. * Y - (D1 + D2) * X) / (4. * X) - A(4) = ((D1 + D2)*X - 2.*Y) / (4.*X**3) - RETURN -C - 10 A(1) = 0. - A(2) = 1. - A(3) = 0. - A(4) = 0. - END diff --git a/StarVMC/geant3/ghits/gfdet.F b/StarVMC/geant3/ghits/gfdet.F deleted file mode 100644 index f2bd5e4116c..00000000000 --- a/StarVMC/geant3/ghits/gfdet.F +++ /dev/null @@ -1,119 +0,0 @@ -* -* $Id: gfdet.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfdet.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFDET(IUSET,IUDET,NV,NAMESV,NBITSV,IDTYPE - + ,NWHI,NWDI,ISET,IDET) -C. -C. ****************************************************************** -C. * * -C. * returns volume parameters for detector IUDET of set IUSET* -C. * * -C. * Input parameters * -C. * IUSET set identifier (4 characters), user defined * -C. * IUDET detector identifier (4 characters), name of an * -C. * existing volume * -C. * * -C. * Output parameters * -C. * NV number of volume descriptors * -C. * NAMESV vector of NV volume descriptors (4 characters) * -C. * NBITSV vector of NV bit numbers for packing the volume * -C. * numbers * -C. * IDTYPE detector type, user defined * -C. * NWHI number of words for the primary allocation of HITS * -C. * banks * -C. * NWDI number of words for the primary allocation of DIGI * -C. * banks when first allocation not sufficient * -C. * ISET position of set in bank JSET * -C. * IDET position of detector in bank JS=IB(JSET-ISET) * -C. * If ISET=0 or IDET=0 error * -C. * Remarks: * -C. * - The vector NAMESV (length NV) contains the list of volume * -C. * names which permit the identification of every physical * -C. * detector with detector name IUDET. [See example in HITS * -C. * 110]. * -C. * - Each element of the vector NBITSV (length NV) is the * -C. * number of bits used for packing the number of the * -C. * corresponding volume, when building the packed identifier * -C. * of a given physical detector. * -C. * - Vectors NAMESV and NBITSV must be dimensionned at least * -C. * to NV in the calling routine. * -C. * * -C. * ==>Called by : * -C. * Author R.Brun , M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - DIMENSION NBITSV(1) - CHARACTER*4 NAMESV(1),IUSET,IUDET -C. -C. ------------------------------------------------------------------ -C. - ISET=0 - IDET=0 -C -C Check if detector IUDET has been defined -C - IF (JSET.LE.0) GO TO 90 - NSET = IQ(JSET-1) - IF (NSET.LE.0) GO TO 90 - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF (ISET.EQ.0) GO TO 90 - JS = LQ(JSET-ISET) - NDET = IQ(JS-1) - IF (NDET.LE.0) GO TO 90 - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF (IDET.EQ.0) GO TO 95 - JD=LQ(JS-IDET) - NV=IQ(JD+2) - NWHI=IQ(JD+7) - NWDI=IQ(JD+8) -C - IF(NV.GT.0)THEN - DO 10 I=1,NV - CALL UHTOC(IQ(JD+2*I+ 9),4,NAMESV(I),4) - NBITSV(I)=IQ(JD+2*I+10) - 10 CONTINUE - ENDIF -C - CALL GFATT(IUDET,'DTYP',IDTYPE) - GO TO 99 -C - 90 WRITE (CHMAIL, 1000) IUSET - CALL GMAIL(0,0) - 1000 FORMAT (' ***** GFDET ERROR SET ',A4,' NOT FOUND') - GO TO 99 - 95 WRITE (CHMAIL, 2000) IUSET,IUDET - CALL GMAIL(0,0) - 2000 FORMAT (' ***** GFDET ERROR FOR SET ',A4, - + ' DETECTOR ',A4,' NOT FOUND') -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gfdeta.F b/StarVMC/geant3/ghits/gfdeta.F deleted file mode 100644 index 7b66a886e60..00000000000 --- a/StarVMC/geant3/ghits/gfdeta.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: gfdeta.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfdeta.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:14 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFDETA (IUSET,IUALI,IALI) -C. -C. ****************************************************************** -C. * * -C. * Returns the position IALI of the detector alias IUALI * -C. * * -C. * ==>Called by : , * -C. * Author F.Bruyant ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - CHARACTER*4 IUSET,IUALI -C -C. ------------------------------------------------------------------ -C. - IF (JSET.LE.0) GO TO 90 - NSET = IQ(JSET-1) - IF (NSET.LE.0) GO TO 90 - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF (ISET.EQ.0) GO TO 90 - JS = LQ(JSET-ISET) - NDET = IQ(JS-1) - IF (NDET.LE.0) GO TO 90 - CALL GLOOK(IUALI,IQ(JS+1),NDET,IALI) - IF (IALI.EQ.0) GO TO 95 - GO TO 99 -C - 90 WRITE (CHMAIL, 1000) IUSET - CALL GMAIL(0,0) - 1000 FORMAT (' ***** GFDETA ERROR FOR SET ',A4) - GO TO 99 - 95 WRITE (CHMAIL, 2000) IUSET,IUALI - CALL GMAIL(0,0) - 2000 FORMAT (' ***** GFDETA ERROR FOR SET ',A4,' ALIAS ',A4, - + ' NOT FOUND') -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gfdetd.F b/StarVMC/geant3/ghits/gfdetd.F deleted file mode 100644 index d71af672efd..00000000000 --- a/StarVMC/geant3/ghits/gfdetd.F +++ /dev/null @@ -1,94 +0,0 @@ -* -* $Id: gfdetd.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfdetd.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFDETD(IUSET,IUDET,ND,NAMESD,NBITSD) -C. -C. ****************************************************************** -C. * * -C. * Returns digitisation parameters for detector IUDET of set * -C. * IUSET. * -C. * * -C. * Input parameters * -C. * IUSET user set identifier * -C. * IUDET user detector identifier * -C. * * -C. * Output parameters * -C. * ND number of elements per digitisation * -C. * NAMESD the ND variable names for the digitisation * -C. * elements * -C. * NBITSD the ND bit numbers for packing the variable * -C. * values. * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - DIMENSION NBITSD(1) - CHARACTER*4 IUSET,IUDET,NAMESD(1) -C. -C. ------------------------------------------------------------------ -C. - IF(JSET.LE.0)GO TO 90 - NSET=IQ(JSET-1) - IF(NSET.LE.0)GO TO 90 - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 90 - JS=LQ(JSET-ISET) - NDET=IQ(JS-1) - IF(NDET.LE.0)GO TO 90 - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.LE.0)GO TO 95 - JD=LQ(JS-IDET) - JDD=LQ(JD-2) - ND=IQ(JD+6) -C - IF(ND.GT.0)THEN - DO 10 I=1,ND - CALL UHTOC(IQ(JDD+2*I-1),4,NAMESD(I),4) - NBITSD(I)=IQ(JDD+2*I ) - 10 CONTINUE - ENDIF - GO TO 99 -C -C Error -C - 90 WRITE (CHMAIL, 1000) IUSET - CALL GMAIL(0,0) - 1000 FORMAT (' ***** GFDETD ERROR SET ',A4,' NOT FOUND') - GO TO 99 - 95 WRITE (CHMAIL, 2000) IUSET,IUDET - CALL GMAIL(0,0) - 2000 FORMAT (' ***** GFDETD ERROR FOR SET ',A4, - + ' DETECTOR ',A4,' NOT FOUND') -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gfdeth.F b/StarVMC/geant3/ghits/gfdeth.F deleted file mode 100644 index 3f3e481a6a6..00000000000 --- a/StarVMC/geant3/ghits/gfdeth.F +++ /dev/null @@ -1,97 +0,0 @@ -* -* $Id: gfdeth.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfdeth.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFDETH(IUSET,IUDET,NH,NAMESH,NBITSH,ORIG,FACT) -C. -C. ****************************************************************** -C. * * -C. * Returns hit parameters for detector IUDET of set IUSET. * -C. * * -C. * Input parameters * -C. * IUSET user set identifier * -C. * IUDET user detector identifier * -C. * * -C. * Output parameters * -C. * NH number of elements per hit * -C. * NAMESH the NH variable names for the hit elements * -C. * NBITSH the NH bit numbers for packing the variable values * -C. * ORIG The quantity packed in the structure JHITS for the * -C. * Ith variable is a positive integer with NBITSH(I) * -C. * bits and such that * -C. * FACT IVAR(I) = (VAR(I)+ORIG(I))*FACT(I) * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ,M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - DIMENSION NBITSH(1),ORIG(1),FACT(1) - CHARACTER*4 IUSET,IUDET,NAMESH(1) -C. -C. ------------------------------------------------------------------ -C. - IF(JSET.LE.0)GO TO 90 - NSET=IQ(JSET-1) - IF(NSET.LE.0)GO TO 90 - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 90 - JS=LQ(JSET-ISET) - NDET=IQ(JS-1) - IF(NDET.LE.0)GO TO 90 - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.LE.0)GO TO 95 - JD=LQ(JS-IDET) - JDH=LQ(JD-1) - NH=IQ(JD+4) -C - IF(NH.GT.0)THEN - DO 10 I=1,NH - CALL UHTOC(IQ(JDH+4*I-3),4,NAMESH(I),4) - NBITSH(I)=IQ(JDH+4*I-2) - ORIG(I) = Q(JDH+4*I-1) - FACT(I) = Q(JDH+4*I ) - 10 CONTINUE - ENDIF - GO TO 99 -C -C Error -C - 90 WRITE (CHMAIL, 1000) IUSET - CALL GMAIL(0,0) - 1000 FORMAT (' ***** GFDETH ERROR SET ',A4,' NOT FOUND') - GO TO 99 - 95 WRITE (CHMAIL, 2000) IUSET,IUDET - CALL GMAIL(0,0) - 2000 FORMAT (' ***** GFDETH ERROR FOR SET ',A4, - + ' DETECTOR ',A4,' NOT FOUND') -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gfdetu.F b/StarVMC/geant3/ghits/gfdetu.F deleted file mode 100644 index 73e298e730c..00000000000 --- a/StarVMC/geant3/ghits/gfdetu.F +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: gfdetu.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfdetu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFDETU(IUSET,IUDET,NUPAR,NW,UPAR) -C. -C. ******************************************************************* -C. * * -C. * Return in UPAR the first NUPAR user parameters of detector * -C. * IUDET. NW is the total number of parameters(output), or zero * -C. * if an error occured. * -C. * * -C. * ==>Called by : * -C. * Author W.Gebel ********* * -C. * * -C. ******************************************************************* -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - DIMENSION UPAR(1) - CHARACTER*4 IUSET,IUDET -C. -C. ------------------------------------------------------------------ -C. - NW=0 - NSET=IQ(JSET-1) - IF(NSET.LE.0) GO TO 90 - CALL GLOOK(IUSET,IQ(JSET+1),NSET,IS) - IF(IS.LE.0) GO TO 90 - JS=LQ(JSET-IS) - ND=IQ(JS-1) - IF(ND.LE.0) GO TO 90 - CALL GLOOK(IUDET,IQ(JS+1),ND,ID) - IF(ID.LE.0) GO TO 95 - JD=LQ(JS-ID) - JU=LQ(JD-3) - IF(JU.NE.0)THEN - NW=IQ(JU-1) - IF(NUPAR.GT.0) CALL UCOPY(Q(JU+1),UPAR(1),NUPAR) - ENDIF - GO TO 99 -C -C Error -C - 90 WRITE (CHMAIL, 1000) IUSET - CALL GMAIL(0,0) - 1000 FORMAT (' ***** GFDETU ERROR SET ',A4,' NOT FOUND') - GO TO 99 - 95 WRITE (CHMAIL, 2000) IUSET,IUDET - CALL GMAIL(0,0) - 2000 FORMAT (' ***** GFDETU ERROR FOR SET ',A4, - + ' DETECTOR ',A4,' NOT FOUND') -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gfdigi.F b/StarVMC/geant3/ghits/gfdigi.F deleted file mode 100644 index ac3c1cbbfc4..00000000000 --- a/StarVMC/geant3/ghits/gfdigi.F +++ /dev/null @@ -1,241 +0,0 @@ -* -* $Id: gfdigi.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfdigi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:17 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFDIGI(IUSET,IUDET,NTDIM,NVDIM,NDDIM,NDMAX,NUMVS - +, LTRA,NTRA,NUMBV,KDIGI,NDIGS) -C. -C. ****************************************************************** -C. * * -C. * * -C. * Returns the digitisations for the physical volume * -C. * specified by the list NUMVS with generic volume name IUDET * -C. * belonging to set IUSET. * -C. * IUSET user set identifier * -C. * IUDET user detector identifier (name of the * -C. * corresponding sensitive volume) * -C. * NTDIM 1st dimension of LTRA (max. number of tracks * -C. * contributing) * -C. * NVDIM 1st dimension of NUMVS, NUMBV (usually =NV, the * -C. * number of volume descriptors which permit to iden- * -C. * tify a given detector, possibly smaller than NV) * -C. * NDDIM 1st dimension of KDIGI (argument ND of GSDETD) * -C. * NDMAX is the maximum number of digitisations to be * -C. * returned * -C. * NUMVS is a 1-Dim array that must contain on input the * -C. * geometric path of the detector volume to be * -C. * selected. * -C. * All 0 interpreted as 'all physical volumes with * -C. * generic name IUDET' * -C. * LTRA is a 2-Dim array that will contain on output for * -C. * each digitisation the numbers of the tracks which * -C. * have produced it * -C. * NTRA is a 1-Dim array that will contain on output for * -C. * each digitisation the total number of tracks * -C. * contributing. * -C. * In case this number is greater than NTDIM, only * -C. * the first NTDIM corresponding tracks can be * -C. * returned on LTRA * -C. * NUMBV is a 2-Dim array that will contain on output for * -C. * each digitisation the list of volume numbers which * -C. * identify each physical volume * -C. * KDIGI is a 2-Dim array that will contain the NDIGI * -C. * digitisations * -C. * NDIGI is the total number of digitisations in this * -C. * detector. * -C. * In case the total number of digitisations is * -C. * greater than NDMAX, NDIGI is set to NDMAX+1 and * -C. * only NDMAX digitisations are returned * -C. * - KDIGI(1,I) = digitisation type 1 for digitisation * -C. * number I * -C. * - NUMBV(1,I) = volume number 1 for digitisation number I * -C. * - LTRA (1,I) = first track number contributing to * -C. * digitisation number I * -C. * In the calling routine, the arrays LTRA, NTRA, NUMVS, * -C. * NUMBV, KDIGI must be dimensioned to: * -C. * LTRA (NTDIM,NDMAX) * -C. * NTRA (NDMAX) * -C. * NUMVS(NVDIM) * -C. * NUMBV(NVDIM,NDMAX) * -C. * KDIGI(NDDIM,NDMAX) * -C. * * -C. * ==>Called by : * -C. * Author W.Gebel ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - PARAMETER (NVMAX=20) - DIMENSION NUMVT(NVMAX),NUMVS(NVDIM),NUMBV(NVDIM,1) - DIMENSION LTRA(NTDIM,1),NTRA(1),KDIGI(NDDIM,1) - EQUIVALENCE (WS(1),NUMVT(1)) - CHARACTER*4 IUSET,IUDET -C. -C. -------------------------------------------------------------------------- -C. -C Find if selected set, detector exists -C - NDIGS=0 - IF(JDIGI.LE.0)GO TO 999 - NSET=IQ(JSET-1) - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 999 -C - JS=LQ(JSET-ISET) - JDI=LQ(JDIGI-ISET) - IF(JS.LE.0)GO TO 999 - IF(JDI.LE.0)GO TO 999 - NDET=IQ(JS-1) - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.EQ.0)GO TO 999 -C - JD=LQ(JS-IDET) - JDID=LQ(JDI-IDET) - IF(JDID.LE.0)GO TO 999 - JDDI=LQ(JD-2) -C - ILAST=IQ(JDI+IDET) - IF(ILAST.EQ.0)GO TO 999 - NV=IQ(JD+2) - ND=IQ(JD+6) -C -C -C Loop on all digits -C -C - IDIG=0 - I=0 - NWDI=0 -C - 10 CONTINUE - I=I+NWDI - IF(I.GE.ILAST)GO TO 110 - NWDI=IQ(JDID+I+1) - NK=2 -C - NTRM1= IBITS(IQ(JDID+I+NK),0,16) - NTRT = NTRM1+1 - NWTR = NTRT/2+1 - NK = NK+NWTR -C -C Find the selected volume -C (if NO volumes exist take ALL digits) -C - IF(NV.GT.0)THEN - K=1 - DO 40 IV=1,NV - NB=IQ(JD+2*IV+10) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - K=1 - NK=NK+1 - ENDIF - IF(IV.LE.NVMAX)NUMVT(IV)=IQ(JDID+I+NK) - IF(IV.NE.NV)NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - IF(IV.LE.NVMAX)NUMVT(IV)=IBITS(IQ(JDID+I+NK),K-1,NB) - K=K+NB - ENDIF - IF(IV.LE.NVDIM)THEN - IF(NUMVS(IV).NE.0)THEN - IF(NUMVS(IV).NE.NUMVT(IV))GO TO 10 - ENDIF - ENDIF - 40 CONTINUE - NK=NK+1 - ENDIF -C -C -C -C ========> Now store number of tracks and volume numbers, -C and fetch track numbers and digits -C - IDIG=IDIG+1 - IF(IDIG.GT.NDMAX)GO TO 110 -C - NTRA(IDIG)=NTRT - NVMIN=MIN(NV,NVDIM) - CALL VZERO (NUMBV(1,IDIG),NVDIM) - CALL UCOPY (NUMVT(1),NUMBV(1,IDIG),NVMIN) -C -C Get track numbers -C - MK=NK - NK=2 - IF(NTRT.GT.0)THEN - IF(NTRM1.GE.1)THEN - DO 54 ITR=1,NTRM1,2 - IF(ITR.LE.NTDIM)THEN - LTRA(ITR ,IDIG)=IBITS(IQ(JDID+I+NK),16,16) - ENDIF - NK=NK+1 - IF(ITR.LT.NTDIM)THEN - LTRA(ITR+1,IDIG)=IBITS(IQ(JDID+I+NK), 0,16) - ENDIF - 54 CONTINUE - ENDIF - IF(NTRT.LE.NTDIM)THEN - IF(MOD(NTRT,2).EQ.1) - + LTRA(NTRT,IDIG)=IBITS(IQ(JDID+I+NK),16,16) - ENDIF - ENDIF - NK=MK -C -C Get unpacked digits -C - IF(ND.LE.0)GO TO 10 - K=1 - DO 90 ID=1,ND - NB=IQ(JDDI+2*ID) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - K=1 - NK=NK+1 - ENDIF - IF(ID.LE.NDDIM)KDIGI(ID,IDIG)=IQ(JDID+I+NK) - IF(ID.NE.ND)NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - IF(ID.LE.NDDIM)KDIGI(ID,IDIG)=IBITS(IQ(JDID+I+NK),K-1,NB) - K=K+NB - ENDIF - 90 CONTINUE -C - GO TO 10 -C - 110 NDIGS=IDIG -C - 999 RETURN - END diff --git a/StarVMC/geant3/ghits/gfhits.F b/StarVMC/geant3/ghits/gfhits.F deleted file mode 100644 index dafe372b5a4..00000000000 --- a/StarVMC/geant3/ghits/gfhits.F +++ /dev/null @@ -1,207 +0,0 @@ -* -* $Id: gfhits.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfhits.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFHITS(IUSET,IUDET,NVDIM,NHDIM,NHMAX,ITRS,NUMVS - +, ITRA,NUMBV,HITS,NHITS) -C. -C. ****************************************************************** -C. * * -C. * * -C. * Returns the hits produced by track ITRS (if 0, by all * -C. * tracks) in the physical volume specified by the list NUMVS * -C. * with generic volume name IUDET belonging to set IUSET. * -C. * IUSET user set identifier * -C. * IUDET user detector identifier (name of the * -C. * corresponding sensitive volume) * -C. * NVDIM 1st dimension of NUMBV and NUMVS (usually =NV, the * -C. * number of volume descriptors which permit to identify* -C. * a given detector, eventually smaller than NV) * -C. * NHDIM 1st dimension of array HITS (argument NH of * -C. * GSDETH) * -C. * NHMAX maximum number of hits to be returned * -C. * ITRS number of the selected track. If ITRS=0, all * -C. * tracks are taken * -C. * NUMVS is a 1-Dim array that must contain on input the * -C. * geometric path of the detector volume to be * -C. * selected. All 0 interpreted as 'all physical * -C. * volumes with generic names IUDET' * -C. * ITRA is a 1-Dim array that will contain on output for * -C. * each hit the number of the track which has * -C. * produced it * -C. * NUMBV 2-Dim array that will contain on output for each * -C. * hit the list of volume numbers which identify each * -C. * physical volume. Zeroed when no more volumes are * -C. * stored * -C. * HITS 2-Dim array that will contain the NHITS hits * -C. * NHITS returns the number of selected hits. In case the * -C. * total number of hits is greater than NHMAX, NHITS * -C. * is set to NHMAX+1 and only NHMAX hits are returned * -C. * - HITS(1,I) is the element 1 for hit number I * -C. * - NUMBV(1,I) is the volume number 1 for hit number I * -C. * - ITRA(I) is the track number corresponding to hit * -C. * number I * -C. * In the calling routine the arrays NUMVS, NUMBV, HITS and * -C. * ITRA must be dimensioned to: * -C. * NUMVS(NVDIM) * -C. * NUMBV(NVDIM,NHMAX) * -C. * HITS(NHDIM,NHMAX) * -C. * ITRA(NHMAX) * -C. * * -C. * ==>Called by : , GUDIGI * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - PARAMETER (NVMAX=20) - DIMENSION NUMVT(NVMAX),NUMVS(NVDIM),NUMBV(NVDIM,1),ITRA(1) - DIMENSION HITS(NHDIM,1) - EQUIVALENCE (WS(1),NUMVT(1)) - CHARACTER*4 IUSET,IUDET -C. -C. ------------------------------------------------------------------ -C. -C Find if selected set, detector exists -C - NHITS=0 - IF(JHITS.LE.0)GO TO 999 - NSET=IQ(JSET-1) - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 999 -C - JS=LQ(JSET-ISET) - JH=LQ(JHITS-ISET) - IF(JS.LE.0)GO TO 999 - IF(JH.LE.0)GO TO 999 - NDET=IQ(JS-1) - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.EQ.0)GO TO 999 -C - JD=LQ(JS-IDET) - JHD=LQ(JH-IDET) - IF(JHD.LE.0)GO TO 999 - JDH=LQ(JD-1) -C - ILAST=IQ(JH+IDET) - IF(ILAST.EQ.0)GO TO 999 - NV=IQ(JD+2) - NH=IQ(JD+4) - NW=IQ(JD+1)+IQ(JD+3)+1 -C -C -C Loop on all hits -C -C - IHIT=0 - DO 100 I=1,ILAST,NW -C -C Find the selected track -C - ITRT=IQ(JHD+I) - IF(ITRS.NE.0 .AND. ITRS.NE.ITRT)GO TO 100 -C -C Find the selected volume -C (if NO volumes exist take ALL hits) -C - NK=1 - IF(NV.GT.0)THEN - K=1 - DO 40 IV=1,NV - NB=IQ(JD+2*IV+10) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - K=1 - NK=NK+1 - ENDIF - IF(IV.LE.NVMAX)NUMVT(IV)=IQ(JHD+I+NK) - IF(IV.NE.NV)NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - IF(IV.LE.NVMAX)NUMVT(IV)=IBITS(IQ(JHD+I+NK),K-1,NB) - K=K+NB - ENDIF - IF(IV.LE.NVDIM)THEN - IF(NUMVS(IV).NE.0)THEN - IF(NUMVS(IV).NE.NUMVT(IV))GO TO 100 - ENDIF - ENDIF - 40 CONTINUE - NK=NK+1 - ENDIF -C -C -C -C ========> Now store track number and volume numbers and fetch hits -C - IHIT=IHIT+1 - IF(IHIT.GT.NHMAX)GO TO 110 -C - ITRA(IHIT)=ITRT - NVMIN=MIN(NV,NVDIM) - DO 55 J=1,NVDIM - 55 NUMBV(J,IHIT)=0 - DO 57 J=1,NVMIN - 57 NUMBV(J,IHIT)=NUMVT(J) -C -C Get unpacked hits -C Hits origin is shifted . Division by scale factor -C - IF(NH.GT.0)THEN - K=1 - DO 90 IH=1,NH - NB=IQ(JDH+4*IH-2) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - K=1 - NK=NK+1 - ENDIF - KHIT=IQ(JHD+I+NK) - NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - KHIT=IBITS(IQ(JHD+I+NK),K-1,NB) - K=K+NB - ENDIF - IF(IH.LE.NHDIM)THEN - HITS(IH,IHIT)=FLOAT(KHIT)/Q(JDH+4*IH) - Q(JDH+4*IH-1) - ENDIF - 90 CONTINUE - ENDIF - 100 CONTINUE -C - 110 NHITS=IHIT -C - 999 RETURN - END diff --git a/StarVMC/geant3/ghits/gfndig.F b/StarVMC/geant3/ghits/gfndig.F deleted file mode 100644 index 56b97e6242f..00000000000 --- a/StarVMC/geant3/ghits/gfndig.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: gfndig.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfndig.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFNDIG (IUSET, IUDET, NDIGI) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GFNDIG (IUSET, IUDET, NDIGI*) * -C. * * -C. * Returns the number of digits belonging to the detector IUDET * -C. * of set IUSET * -C. * * -C. * IUSET User set identifier * -C. * IUDET User detector identifier (name of the corresponding * -C. * sensivitive volume) * -C. * NDIGI returns the total number of digits * -C. * * -C. * Called by : * -C. * Author : S.Banerjee * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - CHARACTER*4 IUSET, IUDET -C. -C. ------------------------------------------------------------------ -* -* *** Find if selected set, detector exists -* - NDIGI = 0 - IF (JDIGI.LE.0) GO TO 999 - NSET = IQ(JSET-1) - CALL GLOOK (IUSET, IQ(JSET+1), NSET, ISET) - IF (ISET.LE.0) GO TO 999 -* - JS = LQ(JSET-ISET) - JDI = LQ(JDIGI-ISET) - IF (JS.LE.0) GO TO 999 - IF (JDI.LE.0) GO TO 999 - NDET = IQ(JS-1) - CALL GLOOK (IUDET, IQ(JS+1), NDET, IDET) - IF (IDET.LE.0) GO TO 999 -* - JDID = LQ(JDI-IDET) - IF (JDID.LE.0) GO TO 999 - ILAST = IQ(JDI+IDET) -* - IF (ILAST.NE.0) NDIGI = IQ(JDID+ILAST) -* END GFNDIG - 999 END diff --git a/StarVMC/geant3/ghits/gfnhit.F b/StarVMC/geant3/ghits/gfnhit.F deleted file mode 100644 index 7887086be68..00000000000 --- a/StarVMC/geant3/ghits/gfnhit.F +++ /dev/null @@ -1,78 +0,0 @@ -* -* $Id: gfnhit.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfnhit.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:09 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFNHIT (IUSET, IUDET, NHITS) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GFNHIT (IUSET, IUDET, NHITS*) * -C. * * -C. * Returns the number of hits belonging to the detector IUDET * -C. * of set IUSET * -C. * * -C. * IUSET User set identifier * -C. * IUDET User detector identifier (name of the corresponding * -C. * sensivitive volume) * -C. * NHITS returns the total number of hits * -C. * * -C. * Called by : * -C. * Author : S.Banerjee * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - CHARACTER*4 IUSET, IUDET -C. -C. ------------------------------------------------------------------ -* -* *** Find if selected set, detector exists -* - NHITS = 0 - IF (JHITS.LE.0) GO TO 999 - NSET = IQ(JSET-1) - CALL GLOOK (IUSET, IQ(JSET+1), NSET, ISET) - IF (ISET.LE.0) GO TO 999 -* - JS = LQ(JSET-ISET) - JH = LQ(JHITS-ISET) - IF (JS.LE.0) GO TO 999 - IF (JH.LE.0) GO TO 999 - NDET = IQ(JS-1) - CALL GLOOK (IUDET, IQ(JS+1), NDET, IDET) - IF (IDET.LE.0) GO TO 999 -* - JD = LQ(JS-IDET) - JHD = LQ(JH-IDET) - IF (JHD.LE.0) GO TO 999 - NFIX = IQ(JD+1) + IQ(JD+3) + 1 - ILAST = IQ(JH+IDET) -* - IF (ILAST.GT.0) NHITS = ILAST / NFIX -* END GFNHIT - 999 END diff --git a/StarVMC/geant3/ghits/gfpath.F b/StarVMC/geant3/ghits/gfpath.F deleted file mode 100644 index c79ce9f9df7..00000000000 --- a/StarVMC/geant3/ghits/gfpath.F +++ /dev/null @@ -1,141 +0,0 @@ -* -* $Id: gfpath.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gfpath.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:18 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFPATH (ISET, IDET, NUMBV, NLEV, LNAM, LNUM) -C. -C. ****************************************************************** -C. * * -C. * Return the lists of NLEV volume names (LNAM) and numbers * -C. * (LNUM) which identify the path through the JVOLUM data * -C. * structure for the volume corresponding to the detector * -C. * at position IDET in set at position ISET identified by * -C. * the list of node identifiers given in NUMBV. * -C. * * -C. * NLEV is expected to be greater than 1 * -C. * and no checks are performed on the validity of ISET/IDET * -C. * In case of user error NLEV returns with the value 0. * -C. * * -C. * ==> Called by : * -C. * Author F.Bruyant ********** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - INTEGER LNAM(*), LNUM(*), NUMBV(*) -C. -C. ----------------------------------------------------------------- -C. - JS = LQ(JSET-ISET) - JD = LQ(JS-IDET) - NV = IQ(JD+2) - IPJD = JD +10 +2*NV - LNAM(1) = IQ(IPJD+1) - LNUM(1) = 1 - NLEV = IQ(IPJD+2) -C - NSOL = IQ(JD+9) - IF (NSOL.EQ.1) THEN -C -C Usual case -C - I = 0 - DO 10 N = 2,NLEV - IPJD = IPJD +2 - LNAM(N) = IQ(IPJD+1) - LNUM(N) = 1 - IF (IQ(IPJD+2).LE.1) GO TO 10 - I = I +1 - LNUM(N) = NUMBV(I) - 10 CONTINUE -C - ELSE IF (NSOL.GT.1) THEN -C -C Case with multiple path -C - IPSTO = IPJD - DO 90 IS = 1,NSOL - IPJDD = JD +8 - DO 30 I = 1,NV - IPJDD = IPJDD +2 - IF (NUMBV(I).EQ.0) GO TO 30 - IPJD = IPSTO - DO 20 N = 2,NLEV - IPJD = IPJD +2 - IF (IQ(IPJD+1).EQ.IQ(IPJDD+1)) GO TO 30 - 20 CONTINUE - GO TO 81 - 30 CONTINUE -C -C Fill LNAM,LNUM -C - IPJD = IPSTO - DO 40 N = 2,NLEV - IPJD = IPJD +2 - LNAM(N) = IQ(IPJD+1) - LNUM(N) = 1 - 40 CONTINUE - IPJDD = JD +8 - DO 60 I = 1,NV - IPJDD = IPJDD +2 - IF (NUMBV(I).EQ.0) GO TO 60 - IPJD = IPSTO - DO 50 N = 2,NLEV - IPJD = IPJD +2 - IF (IQ(IPJD+1).NE.IQ(IPJDD+1)) GO TO 50 - IF (NUMBV(I).GT.IQ(IPJD+2)) GO TO 991 - LNUM(N) = NUMBV(I) - GO TO 60 - 50 CONTINUE - 60 CONTINUE - GO TO 999 -C - 81 IF (IS.EQ.NSOL) GO TO 991 - IPSTO = IPSTO +2*NLEV - NLEV = IQ(IPSTO+2) -C - 90 CONTINUE -C - ELSE -C -C User error -C - GO TO 991 -C - ENDIF - GO TO 999 -C - 991 NLEV = 0 - WRITE (CHMAIL, 1000) IQ(JD+9) - CALL GMAIL(0,0) -C - 1000 FORMAT (' ***** GFPATH USER ERROR, IQ(JD+9)=',I2) -C - 999 RETURN - END diff --git a/StarVMC/geant3/ghits/ggdetv.F b/StarVMC/geant3/ghits/ggdetv.F deleted file mode 100644 index c5b29003a8c..00000000000 --- a/StarVMC/geant3/ghits/ggdetv.F +++ /dev/null @@ -1,304 +0,0 @@ -* -* $Id: ggdetv.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: ggdetv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GGDETV (ISET, IDET) -C. -C. ****************************************************************** -C. * * -C. * Routine - to compute and store the list of volumes which * -C. * permit to identify uniquely any detector volume specified * -C. * by the set number ISET, the detector number IDET and the * -C. * corresponding list of volume copy numbers * -C. * - to compute and store the physical path(s) through * -C. * the JVOLUM data structure down to the given detector volume * -C. * * -C. * ==>Called by : GHCLOS * -C. * Author F.Bruyant ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -C. - PARAMETER (NLVMAX=15,NSKMAX=20,NVMAX=20) - INTEGER IVOSK(NSKMAX,NLVMAX-1), LIMUL(NLVMAX), LINAM(NLVMAX) - +, LIST(2), NSK(NLVMAX-1) - EQUIVALENCE (LINAM(1),WS(1)), (LIMUL(1),WS(NLVMAX+1)), (IVOSK(1,1) - +, WS(2*NLVMAX+1)), (NSK(1),WS((NSKMAX+2)*(NLVMAX-1)+3)) - +, (LIST(1),WS((NSKMAX+3)*(NLVMAX-1)+3)) -C. -C. ------------------------------------------------------------- -C. - JS = LQ(JSET-ISET) - JD = LQ(JS-IDET) -C -C Check that JD bank has been created by GSDETV (not GSDET) -C or has not been already processed. -C - IF (IQ(JD+9).NE.-1) GO TO 999 - IQ(JD+9) = -2 - IHDET = IQ(JS+IDET) - IF (IDEBUG.NE.0) THEN - WRITE (CHMAIL, 1001) IHDET - CALL GMAIL (0,0) - 1001 FORMAT (' GGDETV : Detector ',A4) - ENDIF -C -C Check that current detector is not an alias -C - IALI = IQ(JD+10) - IF (IALI.NE.0) GO TO 200 - NSOL = 0 - NV = 0 - - NLIST = 0 - CALL VZERO (NSK, NLVMAX-1) - NLEV = 1 - LINAM(1) = IHDET - MULT1 = 1 - 10 IVOS = IUCOMP (LINAM(NLEV), IQ(JVOLUM+1), NVOLUM) -C -C Search for detector parents up to top of tree -C - 20 IF (IVOS.EQ.1) GO TO 60 -C - DO 40 IVO=1,NVOLUM - IF (IVO.EQ.IVOS) GO TO 40 - JVO = LQ(JVOLUM-IVO) - NIN = Q(JVO+3) - IF (NIN.EQ.0) GO TO 40 - IF (NSOL.GT.0) THEN -C Skip mother banks already found - IF (IUCOMP (IVO, IVOSK(1,NLEV), NSK(NLEV)) .NE. 0) GO TO 40 - ENDIF -C - IF (NIN.LT.0) THEN -C Division case - JDIV = LQ(JVO-1) - IF (IFIX(Q(JDIV+2)).NE.IVOS) GO TO 40 - MULTI = ABS(Q(JDIV+3)) - IF (MULTI.EQ.0) MULTI = 255 - ELSE -C Position case - MULTI = 0 - DO 30 IN=1,NIN - JIN = LQ(JVO-IN) - IF (IFIX(Q(JIN+2)).NE.IVOS) GO TO 30 - MULTI = MAX(MULTI, IFIX(Q(JIN+3))) - 30 CONTINUE - IF (MULTI.EQ.0) GO TO 40 - ENDIF -C -C New level found -C - LIMUL(NLEV) = MULTI - IF (NLEV.EQ.NLVMAX) GO TO 920 - IF (NSK(NLEV).EQ.NSKMAX) GO TO 930 - NSK(NLEV) = NSK(NLEV) +1 - IVOSK(NSK(NLEV),NLEV) = IVO - NLEV = NLEV +1 - LINAM(NLEV) = IQ(JVOLUM+IVO) - IVOS = IVO - GO TO 20 -C - 40 CONTINUE -C -C No more path found at current level -C - IF (NSK(NLEV).EQ.0) GO TO 910 - IF (NSK(NLEV).GT.1.OR.LIMUL(NLEV+1).GT.1) THEN - DO 50 N = 1,NSK(NLEV) - IVO = IVOSK(N,NLEV) - NANEW = IQ(JVOLUM+IVO) - IPJD = JD +10 - IF (NV.GT.0) THEN - DO 49 I = 1,NV - IF (NANEW.EQ.IQ(IPJD+1)) GO TO 50 - IPJD = IPJD +2 - 49 CONTINUE - ENDIF - IF (NV.EQ.NVMAX) GO TO 940 - NV = NV +1 - IQ(IPJD+1) = NANEW - 50 CONTINUE - ENDIF - GO TO 90 -C -C Store current solution -C - 60 NSOL = NSOL +1 - LIMUL(NLEV) = 0 - IF (LIMUL(1).GT.MULT1) MULT1 = LIMUL(1) -#if defined(CERNLIB_DEBUGG) - IF (IDEBUG.NE.0) THEN - WRITE (CHMAIL, 1002) NSOL, NLEV - CALL GMAIL (0,0) - WRITE (CHMAIL, 1012) (LINAM(I),LIMUL(I),I=1,NLEV) - CALL GMAIL (0,0) - 1002 FORMAT (' GGDETV DEBUG : NSOL,NLEV ',2I3) - 1012 FORMAT (15(1X,A4,I3)) - ENDIF -#endif -C - DO 80 N = NLEV,1,-1 - LIST(NLIST+1) = LINAM(N) - LIST(NLIST+2) = LIMUL(N) - IF (N.EQ.NLEV) LIST(NLIST+2) = NLEV - NLIST = NLIST +2 - 80 CONTINUE - IF (NLEV.LT.3) GO TO 100 - NLEV = NLEV -1 -C - 90 NSK(NLEV) = 0 - NLEV = NLEV -1 - IF (NLEV.GT.0) GO TO 10 -C - 100 IF (MULT1.GT.1) THEN - NV = NV +1 - IQ(JD+9+2*NV) = LINAM(1) - ENDIF -C -C Perform final operations on JD bank -C - NW = 0 - IF (NV.EQ.0) GO TO 150 -C -C Compute maximum multiplicities -C - DO 120 N = 1,NLIST,2 - IPJD = JD +10 - DO 110 I = 1,NV - IF (IQ(IPJD+1).EQ.LIST(N)) - + IQ(IPJD+2)=MAX(IQ(IPJD+2),LIST(N+1)) - IPJD = IPJD +2 - 110 CONTINUE - 120 CONTINUE -C - IF (IDEBUG.NE.0) THEN - I2 = 0 - 125 I1 = I2 + 1 - I2 = I1 + 14 - IF (I2.GT.NV) I2 = NV - WRITE (CHMAIL, 1003) (IQ(JD+10+I),I=2*I1-1,2*I2) - CALL GMAIL (0, 0) - IF (I2.LT.NV) GO TO 125 - 1003 FORMAT (10X,15(1X,A4,I3)) - ENDIF -C -C Compute corresponding bit numbers for packing -C - IPJD = JD +10 - K = 32 - DO 140 N = 1,NV - NBITS = 0 - 130 NBITS = NBITS +1 - IF (IQ(IPJD+2).GT.2**NBITS-1) GO TO 130 - IF (NBITS.GE.32) NBITS = 0 - IQ(IPJD+2) = NBITS - IPJD = IPJD +2 - IF (NBITS.EQ.0) THEN - K = 32 - NW = NW +1 - ELSE - K = K +NBITS - IF (K.LE.32) GO TO 140 - K = NBITS - NW = NW +1 - ENDIF - 140 CONTINUE -C - 150 IQ(JD+1) = NW - IQ(JD+2) = NV - IQ(JD+9) = NSOL -C - NDATA = 10 +2*NV +NLIST - ND = IQ(JD-1) - CALL MZPUSH (IXCONS, JD, 0, NDATA-ND, 'I') - CALL UCOPY (LIST, IQ(JD+2*NV+11), NLIST) -#if defined(CERNLIB_DEBUGG) - IF (IDEBUG.NE.0) THEN - ND1=MIN(10,NDATA) - WRITE (CHMAIL, 1004) NDATA,(IQ(JD+I),I=1,ND1) - CALL GMAIL (0,0) - DO 160 II=ND1+1,NDATA,10 - ND2=MIN(II+9,NDATA) - WRITE (CHMAIL, 1005) (IQ(JD+I),I=II,ND2) - CALL GMAIL (0,0) - 160 CONTINUE - 1004 FORMAT (' GGDETV DEBUG : NDATA ',I3,' JD --> ',10I4) - 1005 FORMAT (10(1X,A4,I4)) - ENDIF -#endif - GO TO 999 -C -C Current detector IDET is an alias -C - 200 CONTINUE - IF (IDEBUG.NE.0) THEN - IHALI = IQ(JS+IALI) - WRITE (CHMAIL, 1006) IHALI - CALL GMAIL (0,0) - 1006 FORMAT (' Alias of detector ',A4) - ENDIF -C - IDM = IQ(JD+10) - JDM = LQ(JS-IDM) - NDM = IQ(JDM-1) - ND = IQ(JD-1) - CALL MZPUSH (IXCONS, JD, 0, NDM-ND, 'I') - NWHI = IQ(JD+7) - NWDI = IQ(JD+8) - JS = LQ(JSET-ISET) - JDM = LQ(JS-IDM) - CALL UCOPY (IQ(JDM+1), IQ(JD+1), NDM) - IQ(JD+7) = NWHI - IQ(JD+8) = NWDI - IQ(JD+10) = IDM - GO TO 999 -C -C Errors -C - 910 WRITE (CHMAIL, 1000) LINAM(NLEV) - CALL GMAIL (0,0) - 1000 FORMAT (' GGDETV : Hanging volume ',A4) - GO TO 990 - 920 CHMAIL=' GGDETV : Parameter NLVMAX too small' - CALL GMAIL (0,0) - GO TO 990 - 930 CHMAIL=' GGDETV : Parameter NSKMAX too small' - CALL GMAIL (0,0) - GO TO 990 - 940 CHMAIL=' GGDETV : NVMAX (= size of NUMBV) too small' - CALL GMAIL (0,0) - 990 IEOTRI = 1 -C - 999 RETURN - END diff --git a/StarVMC/geant3/ghits/ghits.doc b/StarVMC/geant3/ghits/ghits.doc deleted file mode 100644 index 76e64b16a0a..00000000000 --- a/StarVMC/geant3/ghits/ghits.doc +++ /dev/null @@ -1,183 +0,0 @@ -* -* $Id: ghits.doc,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: ghits.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:08 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_DOC) -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : -* -************************************************************************ -* * -* Introduction to the Detector Response package * -* --------------------------------------------- * -* * -* * -* THE DETECTOR RESPONSE PACKAGE * -* * -* In the context of GEANT3: * -* * -* - a hit is the user defined 'quantum of information' recorded at * -* tracking time to keep track of the interaction between one * -* particle and a given sensitive detector, and regarded as * -* necessary to compute the digitisations later. * -* * -* - a digitisation is the user defined 'quantum of information' * -* simulating the response of a given detector element, after * -* tracking of a complete event. * -* * -* The detector response package consists of tools to store in, and * -* retrieve or print from, the data structures JSET, JHITS and JDIGI * -* the information relevant to the hits and digitisations. A few * -* subroutines which may help the user to solve some of the usual * -* problems of digitisation in simple detectors have been added to * -* the package, e.g. the intersection of a track with a plane or a * -* cylinder and the digitisation of conventional drift and MWP * -* chambers. * -* For complex set-ups with different types of detectors the user * -* has normally to define several types of hits and digitisations. * -* In addition to the hits generated by all particles of the current * -* event, computing the digitisations requires usually some * -* information about the intrinsic characteristics and performance of * -* the detectors. * -* The information to be recorded for the hits and digitisations is * -* highly experiment dependent, therefore only a framework can be * -* proposed to store it. The solution adopted here should be * -* satisfactory for most of the applications. Feedback from the * -* users is needed and will be welcome. * -* Two remarks can be made: * -* * -* - the stability of the information to be stored is usually reached * -* much earlier for the hits than for the digitisations. Therefore * -* the user may save computing time by designing an intermediate * -* event output at the hits level. * -* - the scheme proposed for storing the digitisations should in any * -* case be considered as an intermediate stage, a reshuffling of * -* the data being necessary if the user wants to simulate more * -* closely the specific format of the real data acquisition system. * -* * -* SETS AND DETECTORS * -* * -* The reader is assumed to be familiar with the way the geometrical * -* setup is described [GEOM 001], in particular with the concepts of * -* logical volume structure and of physical path through the volume * -* tree. * -* The user is required to classify into sets all sensitive * -* detectors for which storing the hits in the data structure JHITS * -* is wanted. * -* The 4-character names which identify the sets are user defined, * -* and the list of sets which the user wants to activate for a given * -* run can be entered through the data card SETS. The user is * -* entirely free to group together, in one or in several sets, * -* detectors of the same type or of different types. For * -* convenience, it is recommended to have at least one set for each * -* main component of the setup, e.g. hadron calorimeters, * -* electromagnetic calorimeters, vertex chamber, etc. * -* A detector can be declared as sensitive through the tracking * -* medium parameter ISVOL, and allocated to a set through the * -* subroutine GSDET. Currently, the active sets and detectors have * -* to be redefined for every run. Tools will be provided later to * -* read in part or the whole of the information from a previous run * -* and to update the relevant structures according to the user * -* requirements. * -* Each (logical) detector is identified by the 4-character name of * -* the corresponding volume. As a given volume may describe several * -* similar detectors of the physical setup, some additional * -* information is needed for associating correctly the hits with the * -* physical detectors. The user has to enter the (shortest) list of * -* volume names, the vector NAMESV, which permits identification of * -* the path through the physical tree, even in the presence of * -* multiple copies at the volume level or at any lower level in the * -* tree. The identification will be achieved when needed, by * -* specifying a list of volume numbers, the vector NUMBV, in one to * -* one correspondence with the above list of volume names. This * -* list, after packing, will constitute the identifier of the * -* physical detector. * -* * -* THE BASIC USER TOOLS * -* * -* The data structure JSET is built through calls to the routine * -* GSDET which allocates detectors to sets and defines their * -* parameters, and to the auxiliary routines GSDETH, GSDETD and * -* GSDETU which store respectively in the structure JSET, for each * -* logical detector separately: * -* * -* - the parameters required for the storage of the hit elements in * -* the data structure JHITS, such as the packing and scaling * -* conventions. * -* * -* - the parameters required for the storage of the digitisations in * -* the structure JDIGI, such as the packing conventions. the user * -* parameters, which may consist, for instance, of the intrinsic * -* detector characteristics needed for computing the digitisations. * -* * -* To permit storage of more than one type of hit for a given * -* sensitive detector, detector 'aliases' can be defined through * -* calls to the routine GSDETA. They are entered in the JSET * -* structure as additional detectors, with the same geometrical * -* characteristics as the original one. Then, the user has the * -* possibility to call the appropriate routines GSDETH, GSDETD and * -* GSDETU. * -* During the tracking, for each step inside the sensitive * -* detectors, under control of the subroutine GUSTEP, the hits can be * -* stored in the data structure JHITS with the subroutine GSAHIT (or * -* GSCHIT, more appropriate for calorimetry). For each hit the * -* information consists of: * -* * -* - the reference to the track in the structure JKINE, * -* - the packed identifier of the physical detector, and * -* - the packed data for the different elements of the hit. * -* * -* When the tracking has been completed for the whole event the * -* digitisations can be computed in the user subroutine GUDIGI which * -* may extract the hits with the subroutine GFHITS and store the * -* digitisations in the data structure JDIGI, with the subroutine * -* GSDIGI. For each digitisation the information should at least * -* consist of: * -* * -* - the reference to the track(s), * -* - the packed identifier of the physical detector, and * -* - the packed data for the digitisation itself. * -* * -* RETRIEVAL OF GEOMETRICAL INFORMATION * -* * -* The packed identifier of as physical detector stored a part of * -* the hit (or digitisation) information, is returned (unpacked) by * -* the routines GFHITS or GFDIGI which extract the information from * -* the JHITS or JDIGI structures, and may be used to retrieve the * -* identity and geometrical characteristics of the given detector. * -* At the moment this is automatized through the use of the * -* routines GFPATH (which assumes that the sensitive detectors have * -* been declared through the routine GSDETV, not GSDET) and GLVOLU * -* which fills the common /GCVOLU/. * -* GFPATH prepares the lists LNAM and LNUM required by the routine * -* GLVOLU [GEOM 001]. * -* Worth is in progress in this area and might lead to a more * -* transparent approach. Therefore, the routines GSDETV, GGDETV and * -* GFPATH and their action on the structure JSETS will not be * -* documented in more detail now. * -* * -************************************************************************ -#endif diff --git a/StarVMC/geant3/ghits/gicyl.F b/StarVMC/geant3/ghits/gicyl.F deleted file mode 100644 index 3c0e4a514e0..00000000000 --- a/StarVMC/geant3/ghits/gicyl.F +++ /dev/null @@ -1,213 +0,0 @@ -* -* $Id: gicyl.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gicyl.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GICYL(R,X1,X2,S1,S2,IC,XINT,SINT,PZINT,IFLAG) -C. -C. ****************************************************************** -C. * * -C. * Intersection of a Track with a Cylinder or a Plane * -C. * -------------------------------------------------- * -C. * * -C. * Calculates intersection of track (x1,x2) with cylindrical * -C. * detector of radius R. The track is approximated by a cubic * -C. * in the track length. To improve stability, the coordinate * -C. * system is shifted. * -C. * R radius of cylinder in cm * -C. * X1 x,y,z,xp,yp,zp of 1st point * -C. * X2 x,y,z,xp,yp,zp of 2nd point * -C. * S1(2) S at 1st (2nd) point * -C. * IC =1 straight line defined by x+xp * -C. * IC =2 straight line defined by x1+x2 * -C. * IC =3 cubic model * -C. * XINT x,y,z,xp,yp,zp at intersection point * -C. * SINT S at intersection point * -C. * PZINT phi,z,dphi/dr,dz/dr * -C. * IFLAG =1 if track intersects cylinder, =0 if not * -C. * Calculates intersection of track (x1,x2) with plane * -C. * parallel to (X-Z). The track is approximated by a cubic in * -C. * the track length. To improve stability, the coordinate * -C. * system is shifted. * -C. * YC Y coordinate of plane * -C. * X1,... as for GICYL * -C. * IFLAG =1 if track intersects plane, * -C. * =0 if not * -C. * Warning: the default accuracy is 10 microns. The value of * -C. * EPSI (internal variable) must be changed for a * -C. * better precision. * -C. * * -C. * ==>Called by : , GUDIGI * -C. * * -C. * AUTHORS:R.BRUN/JJ.DUMONT FROM AN ORIGINAL ROUTINE BY * -C. * H. BOERNER KEK OCTOBER 1982 * -C. * * -C. * * -C. ****************************************************************** -C. - DIMENSION X1(6),X2(6),XINT(6),PZINT(4),A(4),B(4),C(4) -C - DATA MAXHIT/100/ - DATA EPSI2/0.000001/ -C. -C. -C. ------------------------------------------------------------------ -C. -C. - IFLAG = 1 - R12 = X1(1) * X1(1) + X1(2) * X1(2) - R22 = X2(1) * X2(1) + X2(2) * X2(2) - R2 = R * R - DR2 = R22-R2 -C -C TRACK CROSSING THE CYLINDER FROM INSIDE OR OUTSIDE ? -C - IF (R22.LT.R12) GO TO 5 - IF (R2.LT.R12) GO TO 90 - IF (R2.GT.R22) GO TO 90 - DRCTN = 1. - IF (IC.EQ.3) GO TO 7 -C - IF(IC.EQ.2) GOTO 30 - S=S1 - DXDS=X1(4) - DYDS=X1(5) - DZDS=X1(6) - BX=X1(1)-DXDS*S - BY=X1(2)-DYDS*S - BZ=X1(3)-DZDS*S - GO TO 40 -C - 5 IF (R2.LT.R22) GO TO 90 - IF (R2.GT.R12) GO TO 90 - DRCTN = - 1. -C - IF(IC.EQ.3) GOTO 7 - IF(IC.EQ.2) GOTO 30 - S=S2 - DXDS=X2(4) - DYDS=X2(5) - DZDS=X2(6) - BX=X2(1)-DXDS*S - BY=X2(2)-DYDS*S - BZ=X2(3)-DZDS*S - GOTO 40 -C - 30 DX=X2(1)-X1(1) - DY=X2(2)-X1(2) - DZ=X2(3)-X1(3) - DS=SQRT(DX*DX+DY*DY+DZ*DZ) - S=S1 - DXDS=DX/DS - DYDS=DY/DS - DZDS=DZ/DS - BX=X1(1)-DXDS*S - BY=X1(2)-DYDS*S - BZ=X1(3)-DZDS*S -C - 40 AE=DYDS*DYDS+DXDS*DXDS - IF(AE.EQ.0.) GO TO 30 - BE=DXDS*BX+DYDS*BY - CE=BY*BY+BX*BX-R2 - SG=SIGN(1.,DR2) - XX=BE*BE-AE*CE - IF(XX.LE.0.) GOTO 30 - TRLEN=(SG*SQRT(ABS(XX))-BE)/AE - XINT(1)=DXDS*TRLEN+BX - XINT(2)=DYDS*TRLEN+BY - XINT(3)=DZDS*TRLEN+BZ - SINT=TRLEN - XINT(4)=DXDS - XINT(5)=DYDS - XINT(6)=DZDS - GO TO 200 -C -C SHIFT COORDINATE SYSTEM SUCH THAT CENTER OF GRAVITY=0 -C - 7 IF(R.LE.0.) GO TO 90 - SHIFTX = (X1(1) + X2(1)) * 0.5 - SHIFTY = (X1(2) + X2(2)) * 0.5 - SHIFTZ = (X1(3) + X2(3)) * 0.5 - SHIFTS = (S1 + S2) * 0.5 -C -C ONLY ONE VALUE NECESSARY SINCE X1= -X2 ETC. -C - XSHFT = X1(1) - SHIFTX - YSHFT = X1(2) - SHIFTY - ZSHFT = X1(3) - SHIFTZ - SSHFT = S1 - SHIFTS -C - PABS1 = SQRT(X1(4)**2 + X1(5)**2 + X1(6)**2) - PABS2 = SQRT(X2(4)**2 + X2(5)**2 + X2(6)**2) - IF (PABS1.EQ.0..OR.PABS2.EQ.0.) GO TO 90 -C -C PARAMETRIZE THE TRACK BY A CUBIC THROUGH X1,X2 -C - CALL GCUBS(SSHFT,XSHFT,X1(4)/PABS1,X2(4)/PABS2,A) - CALL GCUBS(SSHFT,YSHFT,X1(5)/PABS1,X2(5)/PABS2,B) - CALL GCUBS(SSHFT,ZSHFT,X1(6)/PABS1,X2(6)/PABS2,C) -C -C ITERATE TO FIND THE TRACK LENGTH CORRESPONDING TO -C THE INTERSECTION OF TRACK AND CYLINDER. -C START AT S=0. MIDDLE OF THE SHIFTED INTERVAL. -C - DINTER = ABS(S2 - S1) * 0.5 - S = 0. -C - DO 10 I = 1,MAXHIT - X = SHIFTX + A(1) + S * (A(2) + S * (A(3) + S * A(4))) - Y = SHIFTY + B(1) + S * (B(2) + S * (B(3) + S * B(4))) - RN2 = X * X + Y * Y - DR2 = (R2 - RN2) * DRCTN - IF (ABS(DR2).LT.EPSI2) GO TO 20 - DINTER = DINTER * 0.5 - IF (DR2.LT.0.)S = S - DINTER - IF (DR2.GE.0.)S = S + DINTER - 10 CONTINUE -C -C COMPUTE INTERSECTION IN ORIGINAL COORDINATES -C - 20 CONTINUE - XINT(1) = SHIFTX + A(1) + S * (A(2) + S * (A(3) + S * A(4))) - XINT(2) = SHIFTY + B(1) + S * (B(2) + S * (B(3) + S * B(4))) - XINT(3) = SHIFTZ + C(1) + S * (C(2) + S * (C(3) + S * C(4))) - XINT(4) = A(2) + S * (2. * A(3) + 3. * S * A(4)) - XINT(5) = B(2) + S * (2. * B(3) + 3. * S * B(4)) - XINT(6) = C(2) + S * (2. * C(3) + 3. * S * C(4)) -C -C COMPUTE PHIHIT,ZHIT AND CORRESPONDING DERIVATIVES -C - SINT = S + SHIFTS - 200 TERM = 1. / (XINT(4) * XINT(1) + XINT(5) * XINT(2)) - PZINT(1) = ATAN2(XINT(2),XINT(1)) - PZINT(2) = XINT(3) - PZINT(3) = (XINT(1) * XINT(5) - XINT(2) * XINT(4)) * TERM / R - PZINT(4) = TERM * XINT(6) * R - RETURN -C - 90 IFLAG = 0 - END diff --git a/StarVMC/geant3/ghits/giplan.F b/StarVMC/geant3/ghits/giplan.F deleted file mode 100644 index 99a08ed2cac..00000000000 --- a/StarVMC/geant3/ghits/giplan.F +++ /dev/null @@ -1,196 +0,0 @@ -* -* $Id: giplan.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: giplan.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GIPLAN(YC,X1,X2,S1,S2,IC,XINT,SINT,PZINT,IFLAG) -C. -C. -C. ****************************************************************** -C. * * -C. * Calculates intersection of track (X1,X2) * -C. * with plane parallel to (X-Z) * -C. * The track is approximated by a cubic in the * -C. * track length. * -C. * To improve stability, the coordinate system * -C. * is shifted. * -C. * input parameters * -C. * YC = Y COORDINATE OF PLANE * -C. * X1 = X,Y,Z,XP,YP,ZP OF 1ST POINT * -C. * X2 = 2ND * -C. * S1(2) = S AT 1ST(2ND) POINT * -C. * IC = 1 STRAIGHT LINE DEFINED BY X+XP * -C. * IC = 2 STRAIGHT LINE DEFINED BY X1+X2 * -C. * IC = 3 CUBIC MODEL * -C. * * -C. * output parameters * -C. * XINT = X,Y,Z,XP,YP,ZP AT INTERSECTION POINT * -C. * SINT = S AT INTERSECTION POINT * -C. * PZINT = PHI,Z,DPHI/DR,DZ/DR * -C. * IFLAG = 1 IF TRACK INTERSECTS PLANE * -C. * = 0 IF NOT * -C. * * -C. * Warning : the default accuracy is 10 microns. The value * -C. * of EPSI must be changed for a better precision * -C. * * -C. * ==>Called by : , GUDIGI * -C. * * -C. * Authors: R.BRUN/JJ.DUMONT from an original routine by * -C. * H. BOERNER KEK OCTOBER 1982 * -C. * * -C. * * -C. ****************************************************************** -C. - DIMENSION X1(6),X2(6),XINT(6),PZINT(4),A(4),B(4),C(4) -C - DATA MAXHIT/100/ - DATA EPSI/0.001/ -C. -C. -C. ------------------------------------------------------------------ -C. -C. - IFLAG = 1 - DRCTN = 1. -C -C Track crossing the plane from above or below ? -C - IF (X2(2).LT.X1(2)) GO TO 5 - IF (YC.LT.X1(2)) GO TO 90 - IF (YC.GT.X2(2)) GO TO 90 - IF (IC.EQ.2) GO TO 30 - IF (IC.EQ.3) GO TO 7 -C - S=S1 - DXDS=X1(4) - DYDS=X1(5) - DZDS=X1(6) - BX=X1(1)-DXDS*(X1(2)-YC)/DYDS - BZ=X1(3)-DZDS*(X1(2)-YC)/DYDS - TRL2=(BX-X1(1))**2+(X1(2)-YC)**2+(BZ-X1(3))**2 - GO TO 40 -C - 5 IF (YC.LT.X2(2)) GO TO 90 - IF (YC.GT.X1(2)) GO TO 90 - IF(IC.EQ.2) GO TO 30 - DRCTN = - 1. -C - IF(IC.EQ.3) GOTO 7 - S=S2 - DXDS=X2(4) - DYDS=X2(5) - DZDS=X2(6) - BX=X2(1)-DXDS*(X2(2)-YC)/DYDS - BZ=X2(3)-DZDS*(X2(2)-YC)/DYDS - TRL2=(BX-X2(1))**2+(X2(2)-YC)**2+(BZ-X2(3))**2 - GOTO 40 -C - 30 DX=X2(1)-X1(1) - DY=X2(2)-X1(2) - DZ=X2(3)-X1(3) - DS=SQRT(DX*DX+DY*DY+DZ*DZ) - S=S1 - DXDS=DX/DS - DYDS=DY/DS - DZDS=DZ/DS - BX=X1(1)-DX*(X1(2)-YC)/DY - BZ=X1(3)-DZ*(X1(2)-YC)/DY - TRL2=(BX-X1(1))**2+(X1(2)-YC)**2+(BZ-X1(3))**2 -C - 40 TRLEN=SQRT(TRL2)*DRCTN+S - XINT(1)=BX - XINT(2)=YC - XINT(3)=BZ - SINT=TRLEN - XINT(4)=DXDS - XINT(5)=DYDS - XINT(6)=DZDS - GO TO 200 -C -C Shift coordinate system such that center of gravity=0 -C - 7 IF(YC.LE.0.) GO TO 90 - SHIFTX = (X1(1) + X2(1)) * 0.5 - SHIFTY = (X1(2) + X2(2)) * 0.5 - SHIFTZ = (X1(3) + X2(3)) * 0.5 - SHIFTS = (S1 + S2) * 0.5 -C -C Only one value necessary since X1= -X2 etc... -C - XSHFT = X1(1) - SHIFTX - YSHFT = X1(2) - SHIFTY - ZSHFT = X1(3) - SHIFTZ - SSHFT = S1 - SHIFTS -C - PABS1 = SQRT(X1(4)**2 + X1(5)**2 + X1(6)**2) - PABS2 = SQRT(X2(4)**2 + X2(5)**2 + X2(6)**2) - IF (PABS1.EQ.0..OR.PABS2.EQ.0.) GO TO 90 -C -C Parametrize the track by a cubic through X1, X2 -C - CALL GCUBS(SSHFT,XSHFT,X1(4)/PABS1,X2(4)/PABS2,A) - CALL GCUBS(SSHFT,YSHFT,X1(5)/PABS1,X2(5)/PABS2,B) - CALL GCUBS(SSHFT,ZSHFT,X1(6)/PABS1,X2(6)/PABS2,C) -C -C Iterate to find the track length corresponding to -C the intersection of track and plane. -C Start at S=0. middle of the shifted interval. -C - DINTER = ABS(S2 - S1) * 0.5 - S = 0. -C - DO 10 I = 1,MAXHIT - Y = SHIFTY + B(1) + S * (B(2) + S * (B(3) + S * B(4))) - DR=(YC-Y)*DRCTN - IF (ABS(DR).LT.EPSI) GO TO 20 - DINTER = DINTER * 0.5 - IF (DR.LT.0.)S = S - DINTER - IF (DR.GE.0.)S = S + DINTER - 10 CONTINUE -C -C Compute intersection in original coordinates -C - 20 CONTINUE - XINT(1) = SHIFTX + A(1) + S * (A(2) + S * (A(3) + S * A(4))) - XINT(2)=YC - XINT(3) = SHIFTZ + C(1) + S * (C(2) + S * (C(3) + S * C(4))) - XINT(4) = A(2) + S * (2. * A(3) + 3. * S * A(4)) - XINT(5) = B(2) + S * (2. * B(3) + 3. * S * B(4)) - XINT(6) = C(2) + S * (2. * C(3) + 3. * S * C(4)) -C -C Compute PHIHIT,ZHIT and corresponding derivatives -C - SINT = S + SHIFTS - 200 TERM = 1. / (XINT(4) * XINT(1) + XINT(5) * XINT(2)) - PZINT(1) = ATAN2(XINT(2),XINT(1)) - PZINT(2) = XINT(3) - PZINT(3) = (XINT(1) * XINT(5) - XINT(2) * XINT(4)) * TERM / YC - PZINT(4) = TERM * XINT(6) * YC - RETURN -C - 90 IFLAG = 0 - END diff --git a/StarVMC/geant3/ghits/gpdigi.F b/StarVMC/geant3/ghits/gpdigi.F deleted file mode 100644 index 3f209306eca..00000000000 --- a/StarVMC/geant3/ghits/gpdigi.F +++ /dev/null @@ -1,316 +0,0 @@ -* -* $Id: gpdigi.F,v 1.1.1.2 2009/02/01 17:10:28 fisyak Exp $ -* -* $Log: gpdigi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:28 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:19 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE G3PDIGI(IUSET,IUDET) -C. -C. ************************************************************************** -C. * * -C. * Print DIGIts in detector IUDET of set IUSET * -C. * (in case IUSET/IUDET = *, take all sets/detectors) * -C. * * -C. * JDI=LQ(JDIGI-ISET) * -C. * JDID=LQ(JDI-IDET) * -C. * IQ(JDI+IDET)= pointer to LAST USED word in JDID * -C. * * -C. * Each digit is packed in JDID in the following format * -C. * -- Track numbers packed * -C. * -- Volume numbers packed * -C. * -- Digits packed * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author W.Gebel ********* * -C. * * -C. ************************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - PARAMETER (NDEMX=100,NVMAX=20) - DIMENSION KDIGI(NDEMX),NUMBV(NVMAX),KWS(130),LTR(3) - EQUIVALENCE (WS(1),NUMBV(1)),(WS(101),KDIGI(1)) - CHARACTER*4 IUSET,IUDET -C. ------------------------------------------------------------------ -C. - IF(JDIGI.LE.0)GO TO 999 - NSET=IQ(JSET-1) - NS1=1 - NS2=NSET - IF(IUSET(1:1).NE.'*')THEN - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 999 - NS1=ISET - NS2=ISET - ENDIF -C -C Loop on all selected sets -C - DO 230 ISET=NS1,NS2 - JS=LQ(JSET-ISET) - JDI=LQ(JDIGI-ISET) - IF(JDI.LE.0)GO TO 230 - NDET=IQ(JS-1) - ND1=1 - ND2=NDET - IF(IUDET(1:1).NE.'*')THEN - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.EQ.0)GO TO 230 - ND1=IDET - ND2=IDET - ENDIF -C -C Loop on selected detectors for this set -C - DO 220 IDET=ND1,ND2 - JD=LQ(JS-IDET) - JDID=LQ(JDI-IDET) - IF(JDID.LE.0)GO TO 220 - JDDI=LQ(JD-2) -C - WRITE(CHMAIL,1000)IQ(JS+IDET),IQ(JSET+ISET) - CALL GMAIL(0,0) -C -C Get volumes / digitisings names and print header line -C - ILAST=IQ(JDI+IDET) - IF(ILAST.EQ.0)GO TO 220 - NV=IQ(JD+2) - ND=IQ(JD+6) -C - CALL VBLANK(KWS,130) - K=3 - IF(NV.GT.0)THEN -C Number of printed elements limited to 15 - NVM=MIN(NV,15) - DO 22 I=1,NVM - CALL UBLOW(IQ(JD+2*I+9),KWS(K),4) - 22 K=K+5 - K=K+5 - ENDIF - IF(ND.GT.0)THEN - DO 26 I=1,ND - IF(K.LE.101) CALL UBLOW(IQ(JDDI+2*I-1),KWS(K),4) - K=K+8 - 26 CONTINUE - IF(K.GT.104)K=104 - ENDIF - WRITE(CHMAIL,2000)(KWS(I),I=1,K) - CALL GMAIL(0,1) -C -C Now loop on all digits -C to get track numbers, volume numbers and digits -C - IDIG=0 - I=0 - NWDI=0 -C - 30 CONTINUE - I=I+NWDI - IF(I.GE.ILAST)GO TO 220 - NK=2 - IDIG=IDIG+1 - CALL VZERO (LTR(1),3) -C -C Get unpacked (first 3) tracks producing this digit -C (2 tracks packed in 1 word; 1st half of 1st word: NTRA-1) -C - NWDI=IQ(JDID+I+1) - NTRM1=IBITS(IQ(JDID+I+NK), 0,16) - NTRA=NTRM1+1 - IF(NTRA.GE.1)LTR(1)=IBITS(IQ(JDID+I+NK),16,16) - NK=NK+1 - IF(NTRA.GE.2)LTR(2)=IBITS(IQ(JDID+I+NK), 0,16) - IF(NTRA.GE.3)LTR(3)=IBITS(IQ(JDID+I+NK),16,16) - NWTR=NTRA/2+1 - NK=NWTR+2 -C -C Get unpacked volume numbers -C - IF(NV.GT.0)THEN - K=1 - DO 50 IV=1,NV - NB=IQ(JD+2*IV+10) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - NK=NK+1 - ENDIF - NUMBV(IV)=IQ(JDID+I+NK) - K=1 - NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - NUMBV(IV)=IBITS(IQ(JDID+I+NK),K-1,NB) - K=K+NB - ENDIF - 50 CONTINUE - IF(K.NE.1)NK=NK+1 - ENDIF -C -C Get unpacked digits -C - IF(ND.GT.0)THEN - K=1 - DO 90 ID=1,ND - NB=IQ(JDDI+2*ID) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - NK=NK+1 - ENDIF - IF(ID.LE.NDEMX) KDIGI(ID)=IQ(JDID+I+NK) - K=1 - NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - IF(ID.LE.NDEMX) KDIGI(ID)=IBITS(IQ(JDID+I+NK),K-1,NB) - K=K+NB - ENDIF - 90 CONTINUE - ENDIF -C -C Do the printout -C (fitting in 1 line of 128 characters per each digit) -C - IF(NV.EQ.0)GO TO 119 - IF(NV.GT.15)NV=15 - GO TO (101,102,103,104,105,106,107,108,109,110 - +, 111,112,113,114,115), NV -C - 101 NDP=MIN(ND,12) - WRITE(CHMAIL,3001)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 102 NDP=MIN(ND,11) - WRITE(CHMAIL,3002)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 103 NDP=MIN(ND,10) - WRITE(CHMAIL,3003)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 104 NDP=MIN(ND,10) - WRITE(CHMAIL,3004)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 105 NDP=MIN(ND, 9) - WRITE(CHMAIL,3005)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 106 NDP=MIN(ND, 8) - WRITE(CHMAIL,3006)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 107 NDP=MIN(ND, 8) - WRITE(CHMAIL,3007)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 108 NDP=MIN(ND, 7) - WRITE(CHMAIL,3008)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 109 NDP=MIN(ND, 7) - WRITE(CHMAIL,3009)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 110 NDP=MIN(ND, 6) - WRITE(CHMAIL,3010)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 111 NDP=MIN(ND, 5) - WRITE(CHMAIL,3011)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 112 NDP=MIN(ND, 5) - WRITE(CHMAIL,3012)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 113 NDP=MIN(ND, 4) - WRITE(CHMAIL,3013)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 114 NDP=MIN(ND, 4) - WRITE(CHMAIL,3014)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 115 NDP=MIN(ND, 3) - WRITE(CHMAIL,3015)IDIG,(LTR(J),J=1,3),(NUMBV(L),L=1,NV) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 - 119 NDP=MIN(ND,12) - WRITE(CHMAIL,3000)IDIG,(LTR(J),J=1,3) - +, (KDIGI(L),L=1,NDP) - CALL GMAIL(0,0) - GO TO 30 -C - 220 CONTINUE - 230 CONTINUE -C -C - 1000 FORMAT(' =====>DIGITS OF DETECTOR ** ',A4, - +' ** OF SET ** ',A4,' **') - 2000 FORMAT(' DIGIT TR1 TR2 TR3 ',104A1) - 3000 FORMAT(1X,I5,2X,3I5,3X, 12(1X,I7)) - 3001 FORMAT(1X,I5,2X,3I5,3X, 1(1X,I4),2X,12(1X,I7)) - 3002 FORMAT(1X,I5,2X,3I5,3X, 2(1X,I4),2X,11(1X,I7)) - 3003 FORMAT(1X,I5,2X,3I5,3X, 3(1X,I4),2X,10(1X,I7)) - 3004 FORMAT(1X,I5,2X,3I5,3X, 4(1X,I4),2X,10(1X,I7)) - 3005 FORMAT(1X,I5,2X,3I5,3X, 5(1X,I4),2X, 9(1X,I7)) - 3006 FORMAT(1X,I5,2X,3I5,3X, 6(1X,I4),2X, 8(1X,I7)) - 3007 FORMAT(1X,I5,2X,3I5,3X, 7(1X,I4),2X, 8(1X,I7)) - 3008 FORMAT(1X,I5,2X,3I5,3X, 8(1X,I4),2X, 7(1X,I7)) - 3009 FORMAT(1X,I5,2X,3I5,3X, 9(1X,I4),2X, 7(1X,I7)) - 3010 FORMAT(1X,I5,2X,3I5,3X,10(1X,I4),2X, 6(1X,I7)) - 3011 FORMAT(1X,I5,2X,3I5,3X,11(1X,I4),2X, 5(1X,I7)) - 3012 FORMAT(1X,I5,2X,3I5,3X,12(1X,I4),2X, 5(1X,I7)) - 3013 FORMAT(1X,I5,2X,3I5,3X,13(1X,I4),2X, 4(1X,I7)) - 3014 FORMAT(1X,I5,2X,3I5,2X,14(1X,I4),2X, 4(1X,I7)) - 3015 FORMAT(1X,I5,2X,3I5,3X,15(1X,I4),2X, 3(1X,I7)) - 999 RETURN - END diff --git a/StarVMC/geant3/ghits/gpdrif.F b/StarVMC/geant3/ghits/gpdrif.F deleted file mode 100644 index e8557bb3ff1..00000000000 --- a/StarVMC/geant3/ghits/gpdrif.F +++ /dev/null @@ -1,84 +0,0 @@ -* -* $Id: gpdrif.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gpdrif.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GPDRIF (DETREP,HITREP,IOUT) -C. -C. ****************************************************************** -C. * * -C * DETREP(1)=NUMBER OF WIRES * -C * (2)=WIRE SPACING * -C * (3)=SIN (ALPHA) (ALPHA=ANGLE OF THE NORMAL * -C * TO THE WIRE WITH RESPECT TO * -C * AXIS I) * -C * (4)=COS (ALPHA) * -C * (5)=DISTANCE OF WIRE 1 FROM THE ORIGIN * -C * (6)=DRIFT VELOCITY (CM/NSEC) * -C * * -C * HITREP(1)=X COORDINATE OF INTERSECTION * -C * (2)=Y COORDINATE * -C * * -C * IOUT(1)=WIRE NUMBER * -C * (2)=DRIFT TIME (SIGNED TO AVOID RIGHT/LEFT AMBIGUITY) * -C. * * -C. * ==>Called by : , GUDIGI * -C. * Authors F.Carena, M.Hansroul ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION HITREP(2), DETREP(6), IOUT(2) -C. -C. ------------------------------------------------------------------ -C. - IOUT(1) = - 1 - SP = DETREP(2) - DV = DETREP(6) - IF (SP.EQ.0.) GO TO 99 - IF (DV.EQ.0.) GO TO 99 -C - X = HITREP(1) - Y = HITREP(2) - SA = DETREP(3) - CA = DETREP(4) - U = X * CA + Y * SA - OR = DETREP(5) - W = (U - OR) / SP + 1.5 -C - IW = W - NWIR = DETREP(1) - IF (IW.GT.NWIR) GO TO 99 - IF (IW.LE.0) GO TO 99 -C - DIST = U - OR - (IW - 1) * SP - TDRIF = DIST / DV -C - IOUT(1) = IW - IOUT(2) = TDRIF -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gphits.F b/StarVMC/geant3/ghits/gphits.F deleted file mode 100644 index 1f217e3f3ac..00000000000 --- a/StarVMC/geant3/ghits/gphits.F +++ /dev/null @@ -1,241 +0,0 @@ -* -* $Id: gphits.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gphits.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:10 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE G3PHITS(IUSET,IUDET) -C. -C. ****************************************************************** -C. * * -C. * Prints HITS into detector IUDET of set IUSET * -C. * * -C. * If IPKHIT in /CGDRAW/ is greater than zero, * -C. * only hit nr. IPKHIT is printed. * -C. * * -C. * JH=LQ(JHITS-ISET) * -C. * JHD=LQ(JH-IDET) * -C. * IQ(JH+IDET)= pointer to first free word in JHD * -C. * Each hit is packed into JHD in the following format * -C. * --Track number ITRA not packed * -C. * --Volume numbers packed * -C. * --Hits transformed and packed * -C. * * -C. * ==>Called by : , G3PRINT ,, G3INC4, G3KHITS * -C. * Authors : R.Brun ********** * -C. * P.Zanarini * * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcdraw.inc" - PARAMETER (NHEMX=100,NVMAX=20) - DIMENSION HITS(NHEMX),KWS(120),NUMBV(NVMAX) - EQUIVALENCE (WS(1),NUMBV(1)),(WS(101),HITS(1)),(WS(201),KWS(1)) - CHARACTER*4 IUSET,IUDET -C. -C. ------------------------------------------------------------------ -C. - IF(JHITS.LE.0)GO TO 999 - NSET=IQ(JSET-1) - NS1=1 - NS2=NSET - IF(IUSET(1:1).NE.'*')THEN - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 999 - NS1=ISET - NS2=ISET - ENDIF -C -C loop on all selected sets -C - DO 130 ISET=NS1,NS2 - JS=LQ(JSET-ISET) - JH=LQ(JHITS-ISET) - IF(JS.LE.0)GO TO 130 - IF(JH.LE.0)GO TO 130 - NDET=IQ(JS-1) - ND1=1 - ND2=NDET - IF(IUDET(1:1).NE.'*')THEN - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.EQ.0)GO TO 130 - ND1=IDET - ND2=IDET - ENDIF -C -C loop on selected detectors for this set -C - DO 120 IDET=ND1,ND2 - JD=LQ(JS-IDET) - JHD=LQ(JH-IDET) - IF(JHD.LE.0)GO TO 120 - JDH=LQ(JD-1) -C - WRITE(CHMAIL,1000)IQ(JS+IDET),IQ(JSET+ISET) - CALL GMAIL(1,1) -C - ILAST=IQ(JH+IDET) - IF(ILAST.EQ.0)GO TO 120 - NV=IQ(JD+2) - NH=IQ(JD+4) - NW=IQ(JD+1)+IQ(JD+3)+1 -C - CALL VBLANK(KWS,120) - K=0 - IF(NV.GT.0) THEN -C Number of printed elements limited to 9 - NVM=MIN(NV,NVMAX) - DO 22 I=1,NVM - CALL UBLOW(IQ(JD+2*I+9),KWS(K+1),4) - K=K+5 - 22 CONTINUE - ENDIF - IF(NH.GT.0)THEN - K=K+5 - IP0 = K - NHM=MIN(NH,NHEMX) - DO 26 I=1,NHM - IF(K.GT.110)GO TO 26 - NH1=I - CALL UBLOW(IQ(JDH+4*I-3),KWS(K+1),4) - K=K+10 - 26 CONTINUE - ENDIF - WRITE(CHMAIL,2000)(KWS(I),I=1,K) - CALL GMAIL(0,0) -C - IF(NH.GT.0)THEN - IF(NH1.LT.NHM)THEN - CALL VBLANK(KWS,IP0) - DO 40 NHP1=NH1+1,NHM,NH1 - NHP2=NHP1+NH1-1 - NHP2=MIN(NHP2,NHM) - K=IP0 - DO 30 I=NHP1,NHP2 - CALL UBLOW(IQ(JDH+4*I-3),KWS(K+1),4) - K=K+10 - 30 CONTINUE - WRITE(CHMAIL,2100)(KWS(I),I=1,K) - CALL GMAIL(0,0) - 40 CONTINUE - ENDIF - ENDIF -C -C Now loop on all hits to get volume numbers and hits -C - IHIT=0 - DO 110 I=1,ILAST,NW - IHIT=IHIT+1 -C -C IPKHIT in /CGDRAW/ is used to print just that hit -C - IF (IPKHIT.GT.0.AND.IHIT.NE.IPKHIT) GO TO 110 -C - ITRA=IQ(JHD+I) -C -C Get unpacked volume numbers -C - NK=1 - IF(NV.GT.0)THEN - K=1 - DO 50 IV=1,NVM - NB=IQ(JD+2*IV+10) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - K=1 - NK=NK+1 - ENDIF - NUMBV(IV)=IQ(JHD+I+NK) - IF(IV.NE.NV)NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - NUMBV(IV)=IBITS(IQ(JHD+I+NK),K-1,NB) - K=K+NB - ENDIF - 50 CONTINUE - NK=NK+1 - ENDIF -C -C Get unpacked hits -C Hits origin is shifted . Division by scale factor -C - IF(NH.GT.0)THEN - K=1 - DO 90 IH=1,NHM - NB=IQ(JDH+4*IH-2) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - NK=NK+1 - ENDIF - KHIT=IQ(JHD+I+NK) - K=1 - NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - KHIT=IBITS(IQ(JHD+I+NK),K-1,NB) - K=K+NB - ENDIF - HITS(IH)=FLOAT(KHIT)/Q(JDH+4*IH) - Q(JDH+4*IH-1) - 90 CONTINUE - ENDIF -C - WRITE(CHMAIL,3000)IHIT,ITRA,(NUMBV(L),L=1,NV) - IF(NH.GT.0)THEN - IP0=NV*5+15 - DO 100 NHP1=1,NHM,NH1 - NHP2=NHP1+NH1-1 - NHP2=MIN(NHP2,NHM) - WRITE(CHMAIL(IP0+1:),4000)(HITS(L),L=NHP1,NHP2) - CALL GMAIL(0,0) - CHMAIL(1:IP0)=' ' - 100 CONTINUE - ENDIF -C - IF(IHIT.EQ.IPKHIT)GO TO 999 -C - 110 CONTINUE - 120 CONTINUE - 130 CONTINUE -C - 1000 FORMAT(' =====>HITS IN DETECTOR ** ',A4, - +' ** OF SET ** ',A4,' **') - 2000 FORMAT(' HIT TRACK ',120A1) - 2100 FORMAT(12X,120A1) - 3000 FORMAT(1X,I4,I6,20I5) - 4000 FORMAT(12(G10.3)) - 999 RETURN - END diff --git a/StarVMC/geant3/ghits/gpmwpc.F b/StarVMC/geant3/ghits/gpmwpc.F deleted file mode 100644 index 7ab927c1f8f..00000000000 --- a/StarVMC/geant3/ghits/gpmwpc.F +++ /dev/null @@ -1,94 +0,0 @@ -* -* $Id: gpmwpc.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gpmwpc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GPMWPC (DETREP,HITREP,IOUT) -C. -C. ****************************************************************** -C. * * -C * DETREP(1)=NUMBER OF WIRES * -C * (2)=WIRE SPACING * -C * (3)=SIN (ALPHA) (ALPHA=ANGLE OF THE NORMAL * -C * TO THE WIRE WITH RESPECT TO * -C * AXIS I) * -C * (4)=COS (ALPHA) * -C * (5)=DISTANCE OF WIRE 1 FROM THE ORIGIN * -C * (6)=GAP WIDTH * -C * * -C * HITREP(1)=X COORDINATE OF INTERSECTION * -C * (2)=Y COORDINATE * -C * (3)=DX/DZ * -C * (4)=DY/DZ * -C * * -C * IOUT(1)=WIRE NUMBER * -C * (2)=CLUSTER SIZE * -C. * * -C. * ==>Called by : , GUDIGI * -C. * Authors F.Carena, M.Hansroul ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION HITREP(4), DETREP(6), IOUT(2) -C. -C. ------------------------------------------------------------------ -C. - IOUT(1) = - 1 - SP = DETREP(2) - IF (SP.EQ.0.) GO TO 99 -C - HG = .5 * DETREP(6) - DX = HG * HITREP(3) - DY = HG * HITREP(4) - X1 = HITREP(1) - DX - X2 = HITREP(1) + DX - Y1 = HITREP(2) - DY - Y2 = HITREP(2) + DY - SA = DETREP(3) - CA = DETREP(4) - U1 = X1 * CA + Y1 * SA - U2 = X2 * CA + Y2 * SA - OR = DETREP(5) - W1 = (U1 - OR) / SP + 1.5 - W2 = (U2 - OR) / SP + 1.5 -C - IW1 = W1 - IW2 = W2 - IWMIN = MIN (IW1,IW2) - IWMAX = MAX (IW1,IW2) - NWIR = DETREP(1) - IF (IWMIN.GT.NWIR) GO TO 99 - IF (IWMAX.LE.0) GO TO 99 -C - IWMIN = MAX (1,IWMIN) - IWMAX = MIN (NWIR,IWMAX) -C - IOUT(1) = IWMIN - IOUT(2) = IWMAX - IWMIN + 1 -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gpsets.F b/StarVMC/geant3/ghits/gpsets.F deleted file mode 100644 index d04dee613d2..00000000000 --- a/StarVMC/geant3/ghits/gpsets.F +++ /dev/null @@ -1,154 +0,0 @@ -* -* $Id: gpsets.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gpsets.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE G3PSETS(IUSET,IUDET) -C. -C. ****************************************************************** -C. * * -C. * Prints set and detector parameters * -C. * * -C. * IUSET user set identifier * -C. * If * prints all detectors of all sets * -C. * IUDET user detector identifier * -C. * If * prints all detectors of set IUSET * -C. * * -C. * ==>Called by : , GPRINT , GINC4 * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - CHARACTER*4 IUSET,IUDET -C. -C. ------------------------------------------------------------------ -C. - IF(IUSET(1:1).EQ.'*')THEN - WRITE(CHMAIL,1000) - CALL GMAIL(0,0) - ENDIF - IF(JSET.LE.0)GO TO 999 - NSET=IQ(JSET-1) - NS1=1 - NS2=NSET - IF(IUSET(1:1).NE.'*')THEN - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 999 - NS1=ISET - NS2=ISET - ENDIF -C -C loop on all selected sets -C - DO 130 ISET=NS1,NS2 - JS=LQ(JSET-ISET) - IF(JS.LE.0)GO TO 130 - NDET=IQ(JS-1) - ND1=1 - ND2=NDET - IF(IUDET(1:1).NE.'*')THEN - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.EQ.0)GO TO 130 - ND1=IDET - ND2=IDET - ENDIF -C -C loop on selected detectors for this set -C - DO 120 IDET=ND1,ND2 - JD=LQ(JS-IDET) - IF(JD.LE.0)GO TO 120 - NV=IQ(JD+2) - NWHI=IQ(JD+7) - NWDI=IQ(JD+8) -C - WRITE(CHMAIL,2000)IQ(JSET+ISET),IQ(JS+IDET),NWHI,NWDI - CALL GMAIL(0,0) -C - IF(NV.NE.0)THEN - DO 10 I=1,NV - WRITE(CHMAIL,3000)IQ(JD+2*I+9),IQ(JD+2*I+10) - CALL GMAIL(0,0) - 10 CONTINUE - ENDIF -C - JDH=LQ(JD-1) - IF(JDH.GT.0)THEN - NH=IQ(JD+4) - IF(NH.GT.0)THEN - DO 30 I=1,NH - WRITE(CHMAIL,4000)IQ(JDH+4*I-3),IQ(JDH+4*I-2), - + Q(JDH+4*I-1),Q(JDH+4*I) - CALL GMAIL(0,0) - 30 CONTINUE - ENDIF - ENDIF -C - JDD=LQ(JD-2) - IF(JDD.GT.0)THEN - ND=IQ(JD+6) - IF(ND.GT.0)THEN - DO 50 I=1,ND - WRITE(CHMAIL,5000)IQ(JDD+2*I-1),IQ(JDD+2*I) - CALL GMAIL(0,0) - 50 CONTINUE - ENDIF - ENDIF -C - JDU=LQ(JD-3) - IF(JDU.GT.0)THEN - NU=IQ(JDU-1) - IF(NU.GT.0)THEN - WRITE(CHMAIL,6000) - CALL GMAIL(0,0) - DO 60 I=1,NU,10 - L2=I+9 - IF(L2.GT.NU)L2=NU - WRITE(CHMAIL,7000)(Q(JDU+L),L=I,L2) - CALL GMAIL(0,0) - 60 CONTINUE - ENDIF - ENDIF -C - 120 CONTINUE - 130 CONTINUE -C - 1000 FORMAT('0',51('='),3X,'SETS AND DETECTORS',3X,50('=')) - 2000 FORMAT(' SET ',A4,' DETECTOR ',A4,' NWHI=',I6,' NWDI=',I6) - 3000 FORMAT(10X,'VOLUME ',A4,' NBITSD=',I4) - 4000 FORMAT(10X,'HIT ELEMENT =',A4,' NBITSH=',I4, - +' ORIG =',E12.4,' FACT =',E12.4) - 5000 FORMAT(10X,'DIGIT ELEMENT =',A4,' NBITSD=',I4) - 6000 FORMAT(10X,'USER PARAMETERS') - 7000 FORMAT(5X,10E12.4) - 999 RETURN - END diff --git a/StarVMC/geant3/ghits/grhits.F b/StarVMC/geant3/ghits/grhits.F deleted file mode 100644 index 6f62ea6efaf..00000000000 --- a/StarVMC/geant3/ghits/grhits.F +++ /dev/null @@ -1,140 +0,0 @@ -* -* $Id: grhits.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: grhits.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GRHITS (IUSET, IUDET, NTRA, ITRA) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GRHITS (IUSET, IUDET, NTRA, ITRA) * -C. * * -C. * Removes the hits produced by the tracks ITRA(1...NTRA) in * -C. * the generic volume name IUDET belonging to the set IUSET. * -C. * * -C. * IUSET User set identifier * -C. * IUDET User detector identifier (name of the corresponding * -C. * sensivitive volume) * -C. * NTRA Number of tracks whose hits are to be removed * -C. * ITRA Track indices whose hits are to be removed * -C. * * -C. * Called by : * -C. * Author : S.Banerjee * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - COMMON /GC1HIT/ LOC(2), JD, JDH, JH, JHD, JHDN, JS - DIMENSION ITRA(*) - CHARACTER*(*) IUSET, IUDET - SAVE JHDNN - DATA JHDNN/0/ -* -* ------------------------------------------------------------------ -* - IF (NTRA.LE.0) GO TO 999 - IF (JSET.LE.0) GO TO 999 - IF (JHITS.LE.0) GO TO 999 -* -* *** Find the selected set(s) -* - NSET = IQ(JSET-1) - IF (IUSET(1:1).EQ.'*') THEN - NS1 = 1 - NS2 = NSET - ELSE - CALL GLOOK (IUSET, IQ(JSET+1), NSET, ISET) - IF (ISET.LE.0) GO TO 999 - NS1 = ISET - NS2 = ISET - ENDIF - CALL MZLINT (IXSTOR, '/GC1HIT/', LOC, JD, JS) -* -* *** Loop over selected sets -* - DO 30 ISET = NS1, NS2 - JS = LQ(JSET-ISET) - JH = LQ(JHITS-ISET) - IF (JS.LE.0.OR.JH.LE.0) GO TO 30 - NDET = IQ(JS-1) -* -* ** Find the selected detector(s) -* - IF (IUDET(1:1).EQ.'*') THEN - ND1 = 1 - ND2 = NDET - ELSE - CALL GLOOK (IUDET, IQ(JS+1), NDET, IDET) - IF (IDET.EQ.0) GO TO 30 - ND1 = IDET - ND2 = IDET - ENDIF -* -* ** Loop over selected detectors -* - DO 20 IDET = ND1, ND2 - JD = LQ(JS-IDET) - JHD = LQ(JH-IDET) - IF (JD.LE.0) GO TO 20 - IF (JHD.LE.0) GO TO 20 - JDH = LQ(JD-1) - IF (JDH.LE.0) GO TO 20 - ILAST = IQ(JH+IDET) - IF (ILAST.EQ.0) GO TO 20 - NW = IQ(JD+1) + IQ(JD+3) + 1 -* -* ** Shunt the original bank and lift a new SJDH bank -* - CALL ZSHUNT (IXDIV, JHD, JHDNN, 2, 0) - CALL MZBOOK (IXDIV, JHDN, JH, -IDET, 'SJHD', 0, 0, ILAST, - + 1, -1) - IQ(JHDN-5) = IQ(JHD-5) -* -* ** Copy the relevant part -* - LAST = 0 - DO 10 I = 1, ILAST, NW - II = IUCOMP (IQ(JHD+I), ITRA, NTRA) - IF (II.LE.0) THEN - CALL UCOPY (IQ(JHD+I), IQ(JHDN+LAST+1), NW) - LAST = LAST + NW - ENDIF - 10 CONTINUE -* -* ** Drop the old bank -* - IF (LAST.LT.ILAST) THEN - CALL VZERO (IQ(JHDN+LAST+1), ILAST-LAST) - ENDIF - IQ(JH+IDET) = LAST - CALL MZDROP (IXDIV, JHD, ' ') - 20 CONTINUE - 30 CONTINUE -* - 100 LOC(1) = 0 -* END GRHITS - 999 END diff --git a/StarVMC/geant3/ghits/gsahit.F b/StarVMC/geant3/ghits/gsahit.F deleted file mode 100644 index e7c8b45f9bb..00000000000 --- a/StarVMC/geant3/ghits/gsahit.F +++ /dev/null @@ -1,254 +0,0 @@ -* -* $Id: gsahit.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gsahit.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GSAHIT(ISET,IDET,ITRA,NUMBV,HITS,IHIT) -C. -C. ****************************************************************** -C. * * -C. * Routines to Communicate with the JHITS data structure * -C. * --------------------------------------------------------- * -C. * * -C. * Stores element values for current hit into the data * -C. * structure JHITS. * -C. * ISET set number (can be obtained from /GCSETS/ filled * -C. * by GFINDS) * -C. * IDET detector number " " " * -C. * " * -C. * ITRA track number producing this hit * -C. * NUMBV array of volume numbers corresponding to list * -C. * NAMESV of GSDET * -C. * HITS array of values for current hit elements * -C. * IHIT on return, current hit number. If =0, hit has not * -C. * been stored. * -C. * * -C. * JH=LQ(JHITS-ISET) * -C. * JHD=LQ(JH-IDET) * -C. * IQ(JH+IDET)= pointer to LAST USED word in JHD * -C. * Each hit is packed into JHD in the following format * -C. * --Track number ITRA not packed * -C. * --Volume numbers packed * -C. * --Hits transformed and packed * -C. * * -C. * The Hit data structure JHITS * -C. * ---------------------------- * -C. * * -C. * | JHITS * -C. * NSET ISET v * -C. * .......................................... * -C. * | | | | | * -C. * .......................................... * -C. * | * -C. * | JH * -C. * NDET IDET v NDET * -C. * ..................................... * -C. * | | | | | | * -C. * ..................................... * -C. * | * -C. * | JHD * -C. * v * -C. * ......................................... * -C. * | | 1st hit | 2nd hit, etc. | * -C. * ......................................... * -C. * Bank layout * -C. * JH = LQ(JHITS-ISET,) pointer to hits for set * -C. * number ISET * -C. * JHD = LQ(JH-IDET), pointer to hits of detector * -C. * IDET * -C. * of set ISET * -C. * IQ(JH+IDET) number of words used so far for storing the * -C. * hits * -C. * of detector IDET * -C. * IQ(JHD+1) 1st word of 1st hit * -C. * IQ(JHD+NWH+1) 1st word of 2nd hit * -C. * JS=LQ(JSET-ISET) * -C. * JD=LQ(JS-IDET) * -C. * NWH=IQ(JD+3) * -C. * The JHITS structure is filled with the routines GSAHIT and * -C. * GSCHIT. The routine GFHITS can be used to get the hits for * -C. * a detector IDET and set ISET. * -C. * * -C. * ==>Called by : , GUSTEP * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - COMMON/GCLOCA/NLOCAL(2),JS,JD,JDH,JH,JHD,LOCAL(15) - DIMENSION NUMBV(1),HITS(1) - SAVE NMESS - DATA NMESS/0/ -C. -C. ------------------------------------------------------------------ -C. - IHIT=0 - IF(JSET.LE.0)GO TO 99 - NSET=IQ(JSET-1) - IF(NSET.LE.0)GO TO 99 - IF(ISET.LE.0)GO TO 99 - IF(ISET.GT.NSET)GO TO 99 - JS=LQ(JSET-ISET) - NDET=IQ(JS-1) - IF(NDET.LE.0)GO TO 99 - IF(IDET.LE.0)GO TO 99 - IF(IDET.GT.NDET)GO TO 99 - JD=LQ(JS-IDET) - JDH=LQ(JD-1) - IF(JDH.LE.0)GO TO 99 - NW=IQ(JD+1)+IQ(JD+3)+1 - NH=IQ(JD+4) - NV=IQ(JD+2) -C -C Create HITS master bank -C - IF(JHITS.EQ.0)THEN - CALL MZBOOK(IXDIV,JHITS,JHITS,1,'HITS',NSET,NSET,0,2,0) - IQ(JHITS-5)=0 - ENDIF - JH=LQ(JHITS-ISET) - IF(JH.EQ.0)THEN - CALL MZBOOK(IXDIV,JH,JHITS,-ISET,'HITS',NDET,NDET,NDET,2,0) - ENDIF -C - JHD=LQ(JH-IDET) - IF(JHD.EQ.0)THEN -C -C Create Hits bank -C - NWHI=IQ(JD+7) - CALL MZBOOK(IXDIV,JHD,JH,-IDET,'SJHD',0,0,NWHI,1,0) - IQ(JHD-5)=1000*ISET+IDET - ILAST=0 - ELSE -C -C Check if enough space. If not increase bank size -C - NHD=IQ(JHD-1) - ILAST=IQ(JH+IDET) - NFREE=NHD-ILAST - IF(NFREE.LE.NW)THEN - NWHI2=MAX(100,NW,IQ(JD+7)/2) - CALL MZPUSH(IXDIV,JHD,0,NWHI2,'I') - JS = LQ(JSET-ISET) - JD = LQ(JS-IDET) - JDH = LQ(JD-1) - JH = LQ(JHITS-ISET) - ENDIF - ENDIF -C - IQ(JH+IDET)=ILAST+NW - IHIT=IQ(JH+IDET)/NW -C -C ========> Store track number,volumes numbers and hits -C - IQ(JHD+ILAST+1)=ITRA -C -C -C Store packed volume numbers -C - NK=ILAST+2 - IF(NV.GT.0)THEN - K=1 -C - DO 50 I=1,NV - NB=IQ(JD+2*I+10) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - NK=NK+1 - ENDIF - IQ(JHD+NK)=NUMBV(I) - K=1 - IF(I.NE.NV)NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - CALL MVBITS(NUMBV(I),0,NB,IQ(JHD+NK),K-1) - K=K+NB - ENDIF - 50 CONTINUE - NK=NK+1 - ENDIF -C -C Store packed hits -C Before packing, hits are changed to integers -C Origin is shifted to have only positive integers -C Result is multiplied by a constant to get resolution -C - IF(NH.GT.0)THEN - K=1 - DO 90 I=1,NH - NB=IQ(JDH+4*I-2) - XHIT=(HITS(I)+Q(JDH+4*I-1))*Q(JDH+4*I) - IF(NB.EQ.0)THEN - VALMX=2.147483E+9 - ELSE - VALMX=2.**NB-1. - ENDIF - IFLAG=0 - IF(XHIT.LT.0.)THEN - XHIT=0. - IFLAG=1 - ELSE IF(XHIT.GT.VALMX)THEN - XHIT=VALMX - IFLAG=1 - ENDIF - IF(IFLAG.NE.0)THEN - NMESS=NMESS+1 - IF(NMESS.LT.10)THEN - WRITE(CHMAIL,1000)IQ(JSET+ISET),IQ(JS+IDET),I,HITS(I) - + ,Q(JDH+4*I-1),Q(JDH+4*I) - CALL GMAIL(0,0) - ENDIF - ENDIF -C - KHIT=XHIT+0.5 - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - NK=NK+1 - ENDIF - IQ(JHD+NK)=KHIT - NK=NK+1 - K=1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - CALL MVBITS(KHIT,0,NB,IQ(JHD+NK),K-1) - K=K+NB - ENDIF - 90 CONTINUE - ENDIF -C - 1000 FORMAT(' ***** GSAHIT OVERFLOW WHEN IUSET= ',A4,' IUDET= ', - +A4,' HITS(',I2,')=',E14.7,' ORIG= ',E14.7,' FACT= ',E14.7) - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gschit.F b/StarVMC/geant3/ghits/gschit.F deleted file mode 100644 index 1fb62ecc228..00000000000 --- a/StarVMC/geant3/ghits/gschit.F +++ /dev/null @@ -1,111 +0,0 @@ -* -* $Id: gschit.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gschit.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:20 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GSCHIT(ISET,IDET,ITRA,NUMBV,HITS,NHSUM,IHIT) -C. -C. ****************************************************************** -C. * * -C. * Store HITS values into detector IUDET of set IUSET * -C. * * -C. * NUMBV volume numbers * -C. * HITS array of values for the elements of current hit * -C. * ITRA track number associated to this hit * -C. * IHIT output parameter containing the hit number * -C. * If IHIT=0 hit has not been stored * -C. * * -C. * Same action as GSAHIT but in case the physical volume * -C. * specified by NUMBV contains already some hit for the * -C. * same track, then the routine will sum up the last NHSUM * -C. * elements of the hit. * -C. * In order to use that routine , no packing must be * -C. * specified for these NHSUM last hits. * -C. * If NHSUM.LE.0 then GSCHIT is the same as GSAHIT. * -C. * * -C. * ==>Called by : , GUSTEP * -C. * Authors R.Brun, M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - COMMON/GCLOCA/NLOCAL(2),JS,JD,JDH,JH,JHD,LOCAL(15) - DIMENSION NUMBV(*),HITS(*) - PARAMETER (MAXINT=2147483647) - SAVE NMESS - DATA NMESS/0/ -C. -C. ------------------------------------------------------------------ -C. - CALL GSAHIT(ISET,IDET,ITRA,NUMBV,HITS,IHIT) - IF(IHIT.LE.1)GO TO 999 - IF(NHSUM.LE.0)GO TO 999 -C - NV=IQ(JD+1) - NH=IQ(JD+3) - NW=NV+NH+1 - JNEWH = JHD+(IHIT-1)*NW - JCURR = JNEWH -C - DO 30 I=1,IHIT-1 - JCURR = JCURR-NW -C -C Check if track number is ITRA -C - IF(ITRA.NE.IQ(JCURR+1))GO TO 999 -C -C Check if volume numbers are the same -C - DO 10 J=2,NV+1 - IF(IQ(JCURR+J).NE.IQ(JNEWH+J))GO TO 30 - 10 CONTINUE -C -C Volumes are the same. Now sum the last NHSUM hits -C - DO 20 K=NW,NW-NHSUM+1,-1 - IF(IQ(JCURR+K).GT.MAXINT-IQ(JNEWH+K)) THEN - IQ(JCURR+K) = MAXINT - NMESS=NMESS+1 - IF(NMESS.LT.10)THEN - WRITE(CHMAIL,10000)IQ(JSET+ISET),IQ(JS+IDET) - CALL GMAIL(0,0) - ENDIF - ELSE - IQ(JCURR+K)=IQ(JCURR+K)+IQ(JNEWH+K) - ENDIF - 20 CONTINUE -C -C Remove temporarily stored hit -C - IHIT=IHIT-1 - IQ(JH+IDET)=IQ(JH+IDET)-NW - GO TO 999 - 30 CONTINUE -C -10000 FORMAT(' ***** GSCHIT OVERFLOW WHEN IUSET= ',A4,' IUDET= ',A4) - 999 END diff --git a/StarVMC/geant3/ghits/gsdet.F b/StarVMC/geant3/ghits/gsdet.F deleted file mode 100644 index 8ff44559778..00000000000 --- a/StarVMC/geant3/ghits/gsdet.F +++ /dev/null @@ -1,250 +0,0 @@ -* -* $Id: gsdet.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gsdet.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GSDET(IUSET,IUDET,NV,NAMESV,NBITSV,IDTYPE - + ,NWHI,NWDI,ISET,IDET) -C. -C. ****************************************************************** -C. * * -C. * Defines volume parameters for detector IUDET of set IUSET* -C. * * -C. * Input parameters * -C. * IUSET set identifier (4 characters), user defined * -C. * IUDET detector identifier (4 characters), name of an * -C. * existing volume * -C. * NV number of volume descriptors * -C. * NAMESV vector of NV volume descriptors (4 characters) * -C. * NBITSV vector of NV bit numbers for packing the volume * -C. * numbers * -C. * IDTYPE detector type, user defined * -C. * NWHI number of words for the primary allocation of HITS * -C. * banks * -C. * NWDI number of words for the primary allocation of DIGI * -C. * banks when first allocation not sufficient * -C. * * -C. * Output parameters * -C. * ISET position of set in bank JSET * -C. * IDET position of detector in bank JS=IB(JSET-ISET) * -C. * If ISET=0 or IDET=0 error * -C. * Remarks: * -C. * - The vector NAMESV (length NV) contains the list of volume * -C. * names which permit the identification of every physical * -C. * detector with detector name IUDET. [See example in HITS * -C. * 110]. * -C. * - Each element of the vector NBITSV (length NV) is the * -C. * number of bits used for packing the number of the * -C. * corresponding volume, when building the packed identifier * -C. * of a given physical detector. * -C. * - For more details see the example given in GSDETH. * -C. * - The detector type IDTYPE is not used internally by GEANT * -C. * and can be defined by the user to distinguish quickly * -C. * between various kinds of detectors, in the routine GUSTEP * -C. * for example. * -C. * * -C. * IQ(JSET+ISET) = IUSET * -C. * JS = LQ(JSET-ISET) + pointer to set parameters * -C. * IQ(JS+IDET)=IUDET * -C. * JD= LQ(JS-1) = pointer to detector IDET * -C. * IQ(JD+1)=Total number of words to store packed volumes * -C. * IQ(JD+2)=NV * -C. * IQ(JD+3)=Number of words required per hit * -C. * IQ(JD+4)=Number of different hits types * -C. * IQ(JD+5)=Number of words required per digit * -C. * IQ(JD+6)=Number of different digit types * -C. * IQ(JD+7)=NWHI * -C. * IQ(JD+8)=NWDI * -C. * IQ(JD+9)=Number of paths through the JVOLUM tree * -C. * IQ(JD+10)= For an alias only, IDET of main detector * -C. * IQ(JD+2*I+9) = name of volume i = NAMESV(I) * -C. * IQ(JD+2*I+10)= number of bits/volume = NBITSV(I) * -C. * * -C. * The Detector Set data structure JSET * -C. * ------------------------------------ * -C. * * -C. * | JSET * -C. * NSET ISET v NSET * -C. * ................................................ * -C. * | | | | | Set names| * -C. * ................................................ * -C. * | JS * -C. * | * -C. * NDET IDET v NDET * -C. * ........................................ * -C. * | | | | | Detector names | * -C. * ........................................ * -C. * | JD * -C. * -3 -2 -1 v * -C. * ................................................ * -C. * | | | | | Parameters of GSDET | * -C. * ................................................ * -C. * | | | * -C. * | | | JDH * -C. * | | | * -C. * | | | ............................. * -C. * | | ............| Parameters of GSDETH | * -C. * | | ............................. * -C. * | | * -C. * | | JDD * -C. * | | * -C. * | | ............................. * -C. * | ...............| Parameters of GSDETD | * -C. * | ............................. * -C. * | * -C. * | JDU * -C. * | ............................. * -C. * ..................| Parameters of GSDETU | * -C. * ............................. * -C. * JS = LQ(JSET-ISET) pointer to detector set number ISET * -C. * The JSET data structure is filled by GSDET, GSDETH, GSDETD, * -C. * GSDETU and eventually by GSDETA. * -C. * * -C. * ==>Called by : , UGEOM * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcmzfo.inc" - PARAMETER (NVMAX=20) - DIMENSION NBITSV(1),NAV(NVMAX) - CHARACTER*4 NAMESV,IUSET,IUDET - EQUIVALENCE (WS(1),NAV(1)) -C. -C. ------------------------------------------------------------------ -C. - ISET=0 - IDET=0 - IF(NV.GT.15)GO TO 94 -C -C Check if volume IUDET has been defined -C - IF(JVOLUM.LE.0)GO TO 90 - NVOLUM=IQ(JVOLUM-1) - CALL GLOOK(IUDET,IQ(JVOLUM+1),NVOLUM,IVOL) - IF(IVOL.EQ.0)GO TO 90 -C - IF(JSET.EQ.0)THEN -C -C Create mother JSET bank -C - CALL MZBOOK(IXCONS,JSET,JSET,1,'SETS',0,0,0,5,0) - IQ(JSET-5)=0 - NSET=0 - ELSE - NSET=IQ(JSET-1) - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF (ISET.NE.0) GO TO 30 - ENDIF -C -C Create JS bank -C - CALL MZPUSH(IXCONS,JSET,1,1,'I') - NSET=NSET+1 -C - ISET=NSET - CALL UCTOH(IUSET,IQ(JSET+ISET),4,4) - CALL MZBOOK(IXCONS,JS,JSET,-ISET,'SETS',0,0,0,5,0) -C -C Check if detector has already been defined -C - 30 JS=LQ(JSET-ISET) - NDET=IQ(JS-1) - IF(NDET.NE.0)THEN - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.NE.0) GO TO 92 - ENDIF -C -C If not, create detector bank -C - CALL MZPUSH(IXCONS,JS,1,1,'I') - NDET=NDET+1 - IDET=NDET - CALL UCTOH(IUDET,IQ(JS+IDET),4,4) - CALL MZBOOK(IXCONS,JD,JS,-IDET,'SEJD',4,4,10+2*NV,IOSEJD,0) - IQ(JD-5)=10*ISET+IDET -C - NW=0 - IF(NV.GT.0)THEN - CALL UCTOH(NAMESV,NAV,4,4*NV) - K=32 - DO 70 I=1,NV - NB=NBITSV(I) - IF(NB.LT.0)NB=0 - IF(NB.GE.32)NB=0 - IQ(JD+2*I+ 9)=NAV(I) - IQ(JD+2*I+10)=NB - IF(NB.LE.0)THEN - NW=NW+1 - K=32 - ELSE - K=K+NB - IF(K.GT.32)THEN - K=NB - NW=NW+1 - ENDIF - ENDIF - 70 CONTINUE - ENDIF - 80 IQ(JD+1)=NW - IQ(JD+2)=NV - IQ(JD+7)=NWHI - IQ(JD+8)=NWDI - IQ(JD+10)=0 -C -C Now enter set,det into JVOLUM data structure -C - CALL G3SATT(IUDET,'SET ',ISET) - CALL G3SATT(IUDET,'DET ',IDET) - CALL G3SATT(IUDET,'DTYP',IDTYPE) - GO TO 99 -C -C Errors -C - 90 WRITE(CHMAIL,1000)IUDET - CALL GMAIL(0,0) - 1000 FORMAT(' ***** GSDET ERROR, VOLUME ',A4,' NOT DEFINED') - GO TO 99 -C - 92 WRITE(CHMAIL,2000)IUSET,IUDET - CALL GMAIL(0,0) - 2000 FORMAT(' ***** GSDET ERROR ,SET ',A4, ' DETECTOR ',A4, - + ' ALREADY DEFINED') - GO TO 99 -C - 94 WRITE(CHMAIL,3000)NV - CALL GMAIL(0,0) - 3000 FORMAT(' ***** GSDET ERROR ,SET ',A4, ' DETECTOR ',A4, - + ' Too many descriptors:',I5) -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gsdeta.F b/StarVMC/geant3/ghits/gsdeta.F deleted file mode 100644 index 45d47a6e766..00000000000 --- a/StarVMC/geant3/ghits/gsdeta.F +++ /dev/null @@ -1,102 +0,0 @@ -* -* $Id: gsdeta.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gsdeta.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GSDETA (IUSET, IUDET, IUALI, NWHI, NWDI, IALI) -C. -C. ****************************************************************** -C. * * -C. * Handling Detector Aliases * -C. * -------------------------- * -C. * * -C. * Detector 'aliases' can be specified for any sensitive * -C. * detector for which the user needs to store more than one * -C. * type of hit. * -C. * Defines an alias IUALI for detector IUDET of set IUSET. * -C. * Enters it in the JSET structure as an additional detector in * -C. * the corresponding set, at the position IALI. Copies to the * -C. * link position IALI the GSDET parameter bank from the * -C. * original detector IUDET, with empty links to the GSDETH, * -C. * GSDETD and GSDETU parameter banks. The user can therefore * -C. * call these three routines again with the arguments * -C. * appropriate to the detector IUALI. Several aliases can be * -C. * defined for the same detector through as many calls to * -C. * GSDETA. * -C. * * -C. * ==>Called by : , UGEOM * -C. * Author F.Bruyant ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcmzfo.inc" - CHARACTER*4 IUSET,IUDET,IUALI -C. -C. ------------------------------------------------------------------ -C. - IF (JSET.LE.0) GO TO 90 - NSET = IQ(JSET-1) - IF (NSET.LE.0) GO TO 90 - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF (ISET.LE.0) GO TO 90 - JS = LQ(JSET-ISET) - NDET = IQ(JS-1) - IF (NDET.LE.0) GO TO 90 - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF (IDET.LE.0) GO TO 90 - CALL GLOOK(IUALI,IQ(JS+1),NDET,IALI) - IF (IALI.NE.0) GO TO 95 - JD = LQ(JS-IDET) - NDATA = IQ(JD-1) -C - CALL MZPUSH(IXCONS, JS, 1, 1,'I') - NDET = NDET +1 - IALI = NDET - CALL UCTOH(IUALI,IQ(JS+IALI),4,4) -C - CALL MZBOOK(IXCONS,JD2,JS,-IALI, 'SEJD',4,4, NDATA,IOSEJD,0) - IQ(JD2-5)=10*ISET+IALI - JD = LQ(JS-IDET) - CALL UCOPY (IQ(JD+1), IQ(JD2+1), NDATA) - IQ(JD2+7) = NWHI - IQ(JD2+8) = NWDI - IQ(JD2+10) = IDET - GO TO 99 -C - 90 WRITE (CHMAIL, 1000) IUSET, IUDET - CALL GMAIL(0,0) - 1000 FORMAT (' ***** GSDETA ERROR FOR SET ',A4,' OR DETECTOR ',A4) - GO TO 99 - 95 WRITE (CHMAIL, 2000) IUSET, IUALI - CALL GMAIL(0,0) - 2000 FORMAT (' ***** GSDETA ERROR FOR SET ', A4, ' ALIAS NAME ' - +, A4, ' ALREADY USED') -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gsdetd.F b/StarVMC/geant3/ghits/gsdetd.F deleted file mode 100644 index 006ff358692..00000000000 --- a/StarVMC/geant3/ghits/gsdetd.F +++ /dev/null @@ -1,134 +0,0 @@ -* -* $Id: gsdetd.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gsdetd.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:11 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GSDETD(IUSET,IUDET,ND,NAMESD,NBITSD) -C. -C. ****************************************************************** -C. * * -C. * Handling sensitive DETector Digitisation parameters * -C. * --------------------------------------------------- * -C. * * -C. * Defines digitisation parameters for detector IUDET of set * -C. * IUSET. * -C. * IUSET user set identifier * -C. * IUDET user detector identifier * -C. * ND number of elements per digitisation * -C. * NAMESD the ND variable names for the digitisation * -C. * elements * -C. * NBITSD the ND bit numbers for packing the variable * -C. * values. * -C. * The routine is used at initialisation time once the * -C. * geometrical volumes have been defined to describe the * -C. * digitisation elements and the way to do packing in memory * -C. * and on tape. Let us use the same example as in GSDETH. The * -C. * non geometrical information we want to store for each * -C. * digitisation is for example: * -C. * - ADC pulse height in a lead glass block. * -C. * Example of one digitisation in that scheme: * -C. * EPHI 12 * -C. * EZRI 41 * -C. * BLOC 3 * -C. * ADC 789 * -C. * The FORTRAN coding to define the digitisation information * -C. * could be: * -C. * DATA NAMESD/'ADC '/ * -C. * DATA NBITSD/16/ * -C. * CALL GSDETD('ECAL','BLOC',1,NAMESD,NBITSD) * -C. * Returns the digitisation parameters for detector IUDET of * -C. * set IUSET. All arguments as explained in GSDETD. * -C.. * * -C. * JS = LQ(JSET-ISET) * -C. * JD = LQ(JS-IDET) * -C. * JDD= LQ(JD-2) * -C. * IQ(JDD+2*I-1)=NAMESD(I) * -C. * IQ(JDD+2*I) =NBITSD(I) * -C. * * -C. * ==>Called by : , UGEOM * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcmzfo.inc" - PARAMETER (NDEMX=100) - DIMENSION NBITSD(1),NAMD(NDEMX) - CHARACTER*4 NAMESD(1),IUSET,IUDET - EQUIVALENCE (WS(1),NAMD(1)) -C. -C. ------------------------------------------------------------------ -C. - IF(JSET.LE.0)GO TO 90 - NSET=IQ(JSET-1) - IF(NSET.LE.0)GO TO 90 - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 90 - JS=LQ(JSET-ISET) - NDET=IQ(JS-1) - IF(NDET.LE.0)GO TO 90 - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.LE.0)GO TO 90 - JD=LQ(JS-IDET) -C - CALL MZBOOK(IXCONS,JDD,JD,-2,'SJDD',0,0,2*ND,IOSJDD,0) -C - NW=0 - IF(ND.GT.0)THEN - CALL UCTOH(NAMESD,NAMD,4,4*ND) - K=32 - DO 30 I=1,ND - NB=NBITSD(I) - IF(NB.LT.0)NB=0 - IF(NB.GE.32)NB=0 - IQ(JDD+2*I-1)=NAMD(I) - IQ(JDD+2*I )=NB - IF(NB.LE.0)THEN - NW=NW+1 - K=32 - ELSE - K=K+NB - IF(K.GT.32)THEN - K=NB - NW=NW+1 - ENDIF - ENDIF - 30 CONTINUE - ENDIF - IQ(JD+5)=NW - IQ(JD+6)=ND - GO TO 99 -C -C Error -C - 90 WRITE(CHMAIL,1000)IUSET,IUDET - CALL GMAIL(0,0) - 1000 FORMAT(' ***** GSDETD ERROR FOR SET ',A4,' OR DETECTOR ',A4) -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gsdeth.F b/StarVMC/geant3/ghits/gsdeth.F deleted file mode 100644 index 3a88e3c85bd..00000000000 --- a/StarVMC/geant3/ghits/gsdeth.F +++ /dev/null @@ -1,166 +0,0 @@ -* -* $Id: gsdeth.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gsdeth.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:12 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GSDETH(IUSET,IUDET,NH,NAMESH,NBITSH,ORIG,FACT) -C. -C. ****************************************************************** -C. * * -C. * Handling sensitive DETector Hit parameters * -C. * ------------------------------------------ * -C. * * -C. * Defines hit parameters for detector IUDET of set IUSET. * -C. * IUSET user set identifier * -C. * IUDET user detector identifier * -C. * NH number of elements per hit * -C. * NAMESH the NH variable names for the hit elements * -C. * NBITSH the NH bit numbers for packing the variable values * -C. * ORIG The quantity packed in the structure JHITS for the * -C. * Ith variable is a positive integer with NBITSH(I) * -C. * bits and such that * -C. * FACT IVAR(I) = (VAR(I)+ORIG(I))*FACT(I) * -C. * The routine is used at initialisation time once the * -C. * geometrical volumes have been defined to describe the hit * -C. * elements and the way to do packing in memory and on tape. * -C. * EXAMPLE * -C. * Assume an electromagnetic calorimeter ECAL divided into 40 * -C. * PHI sections called EPHI. Each EPHI division is again * -C. * divided along the Z axis in 60 objects called EZRI. Each * -C. * EZRI is finally divided into 4 lead glass blocks called * -C. * BLOC. * -C. * The geometrical information to describe one hit will then * -C. * be: * -C. * - The EPHI section number (between 1 and 40) * -C. * - The EZRI division number (between 1 and 60) * -C. * - The BLOC number (1 to 4) * -C. * The variables we want to store for each hit are for example: * -C. * - X x position of the hit in the lead glass block * -C. * - Y y * -C. * - Z z * -C. * - E energy of the particle at this point * -C. * - ELOS the energy deposited into this block * -C. * Example of one hit in that scheme: * -C. * EPHI 12 * -C. * EZRI 41 * -C. * BLOC 3 * -C. * X 7.89 cm * -C. * Y -345.6 cm * -C. * Z 1234.8 cm * -C. * E 12 Gev * -C. * ELOS 11.85 Gev * -C. * The FORTRAN coding to define the set/det/hits information * -C. * could be: * -C. * DIMENSION NAMESV(3),NBITSV(3) * -C. * DIMENSION NAMESH(5),NBITSH(5),ORIG(5),FACT(5) * -C. * DATA NAMESV/'EPHI','EZRI','BLOC'/ * -C. * DATA NBITSV/6,6,3/ * -C. * DATA NAMESH/'X ','Y ','Z ','E ','ELOS'/ * -C. * DATA NBITSH/5*16/ * -C. * DATA ORIG/3*1000.,0.,0./ * -C. * DATA FACT/3*10.,2*100./ * -C. * CALL GSDET ('ECAL','BLOC',3,NAMESV,NBITSV,2,100,100, * -C. * + ISET,IDET) * -C. * CALL GSDETH('ECAL','BLOC',5,NAMESH,NBITSH,ORIG,FACT) * -C. * Returns the hit parameters for detector IUDET of set * -C. * IUSET. All arguments are explained above. * -C.. * * -C. * * -C. * JS = LQ(JSET-ISET) * -C. * JD = LQ(JS-IDET) * -C. * JDH= LQ(JD-1) * -C. * IQ(JDH+4*I-3)= NAMESH(I) * -C. * IQ(JDH+4*I-2)= NBITSH(I) * -C. * Q(JDH+4*I-1)= ORIG(I) * -C. * Q(JDH+4*I) = FACT(I) * -C. * * -C. * ==>Called by : , UGEOM * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcmzfo.inc" - PARAMETER (NHEMX=100) - DIMENSION NBITSH(1),ORIG(1),FACT(1),NAMH(NHEMX) - CHARACTER*4 NAMESH(1),IUSET,IUDET - EQUIVALENCE (WS(1),NAMH(1)) -C. -C. ------------------------------------------------------------------ -C. - IF(JSET.LE.0)GO TO 90 - NSET=IQ(JSET-1) - IF(NSET.LE.0)GO TO 90 - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 90 - JS=LQ(JSET-ISET) - NDET=IQ(JS-1) - IF(NDET.LE.0)GO TO 90 - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.LE.0)GO TO 90 - JD=LQ(JS-IDET) -C - CALL MZBOOK(IXCONS,JDH,JD,-1,'SJDH',0,0,4*NH,IOSJDH,0) -C - NW=0 - IF(NH.GT.0)THEN - CALL UCTOH(NAMESH,NAMH,4,4*NH) - K=32 - DO 30 I=1,NH - NB=NBITSH(I) - IF(NB.LT.0)NB=0 - IF(NB.GE.32)NB=0 - IQ(JDH+4*I-3)=NAMH(I) - IQ(JDH+4*I-2)=NB - Q(JDH+4*I-1)=ORIG(I) - Q(JDH+4*I )=FACT(I) - IF(FACT(I).LE.0.)Q(JDH+4*I)=1. - IF(NB.LE.0)THEN - NW=NW+1 - K=32 - ELSE - K=K+NB - IF(K.GT.32)THEN - K=NB - NW=NW+1 - ENDIF - ENDIF - 30 CONTINUE - ENDIF - IQ(JD+3)=NW - IQ(JD+4)=NH - GO TO 99 -C -C Error -C - 90 WRITE(CHMAIL,1000)IUSET,IUDET - CALL GMAIL(0,0) - 1000 FORMAT(' ***** GSDETH ERROR FOR SET ',A4,' OR DETECTOR ',A4) -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gsdetu.F b/StarVMC/geant3/ghits/gsdetu.F deleted file mode 100644 index 990983856c5..00000000000 --- a/StarVMC/geant3/ghits/gsdetu.F +++ /dev/null @@ -1,88 +0,0 @@ -* -* $Id: gsdetu.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gsdetu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:12 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GSDETU(IUSET,IUDET,NUPAR,UPAR) -C. -C. ****************************************************************** -C. * * -C. * Storing and Retrieving User Detector parameters * -C. * ----------------------------------------------- * -C. * * -C. * Stores user parameters for detector IUDET of set IUSET. * -C. * IUSET user set identifier * -C. * IUDET user detector identifier * -C. * NUPAR number of user parameters * -C. * UPAR array of NUPAR user floating point parameters. * -C. * The routine is used at initialisation time once the * -C. * geometrical volumes have been defined. * -C. * * -C. * * -C. * JS = LQ(JSET-ISET) * -C. * JD = LQ(JS-IDET) * -C. * JDU= LQ(JD-1) * -C. * Q(JDU+1) = UPAR(1) 1st user parameter,etc * -C. * * -C. * ==>Called by : , UGEOM * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - DIMENSION UPAR(1) - CHARACTER*4 IUSET,IUDET -C. -C. ------------------------------------------------------------------ -C. - IF(JSET.LE.0)GO TO 90 - NSET=IQ(JSET-1) - IF(NSET.LE.0)GO TO 90 - CALL GLOOK(IUSET,IQ(JSET+1),NSET,ISET) - IF(ISET.LE.0)GO TO 90 - JS=LQ(JSET-ISET) - NDET=IQ(JS-1) - IF(NDET.LE.0)GO TO 90 - CALL GLOOK(IUDET,IQ(JS+1),NDET,IDET) - IF(IDET.LE.0)GO TO 90 - JD=LQ(JS-IDET) -C - IF(NUPAR.LE.0)GO TO 90 - CALL MZBOOK(IXCONS,JDU,JD,-3,'SJDU',0,0,NUPAR,3,0) -C - CALL UCOPY(UPAR,Q(JDU+1),NUPAR) - GO TO 99 -C -C Error -C - 90 WRITE(CHMAIL,1000)IUSET,IUDET - CALL GMAIL(0,0) - 1000 FORMAT(' ***** GSDETU ERROR FOR SET ',A4,' OR DETECTOR ',A4) -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghits/gsdetv.F b/StarVMC/geant3/ghits/gsdetv.F deleted file mode 100644 index 62cd3c8bf24..00000000000 --- a/StarVMC/geant3/ghits/gsdetv.F +++ /dev/null @@ -1,211 +0,0 @@ -* -* $Id: gsdetv.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gsdetv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:21 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:12 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GSDETV (IUSET, IUDET, IDTYPE, NWHI, NWDI, ISET, IDET) -C. -C. ****************************************************************** -C. * * -C. * Defines detector IUDET as a member of set IUSET * -C. * and prepares the DETector structure * -C. * * -C. * Input parameters * -C. * IUSET set identifier (4 characters), user defined * -C. * IUDET detector identifier (4 characters), name of an * -C. * existing volume * -C. * IDTYPE detector type, user defined * -C. * NWHI number of words for primary allocation of HITS banks * -C. * NWDI number of words for primary allocation of DIGI banks * -C. * * -C. * Output parameters * -C. * ISET position of set in bank JSET * -C. * IDET position of detector in bank JS=IB(JSET-ISET) * -C. * If ISET=0 or IDET=0 error * -C. * Remarks: * -C. * - The path through the volume tree will be automatically set * -C. * in GGDETV,called by GGCLOS, after all volumes have been * -C. * positionned. * -C. * - The detector type IDTYPE is not used internally by GEANT * -C. * and can be defined by the user to distinguish quickly * -C. * between various kinds of detectors, in the routine GUSTEP * -C. * for example. * -C. * * -C. * IQ(JSET+ISET) = IUSET * -C. * JS = LQ(JSET-ISET) = pointer to set IUSET * -C. * IQ(JS+IDET)=IUDET * -C. * JD= LQ(JS-1) = pointer to detector IUDET * -C. * IQ(JD+1)=Number of words to store packed volume numbers * -C. * IQ(JD+2)=Number of volume descriptors * -C. * IQ(JD+3)=Number of words per hit * -C. * IQ(JD+4)=Number of elements per hit * -C. * IQ(JD+5)=Number of words per digitisation * -C. * IQ(JD+6)=Number of elements per digitisation * -C. * IQ(JD+7)=NWHI, primary size of hit bank * -C. * IQ(JD+8)=NWDI, primary size of digitisation bank * -C. * IQ(JD+9)=Number of paths through the JVOLUM tree * -C. * IQ(JD+10)=For aliases only, IDET of mother detector * -C. * IQ(JD+11)=Name of first volume descriptor * -C. * IQ(JD+12)=Number of bits for packing its number * -C. * ... * -C. * IQ(JD+9+2*NV)=Name of last volume descriptor * -C. * IQ(JD+10+2*NV)=Number of bits for packing its number * -C. * then for each possible path * -C. * list of names and numbers for all levels * -C. * (The number of levels is entered as number attached to * -C. * the first name which is the top of the JVOLUM tree) * -C. * * -C. * The Detector Set data structure JSET * -C. * ------------------------------------ * -C. * * -C. * | JSET * -C. * NSET ISET v NSET * -C. * ................................................ * -C. * | | | | | Set names| * -C. * ................................................ * -C. * | JS * -C. * | * -C. * NDET IDET v NDET * -C. * ........................................ * -C. * | | | | | Detector names | * -C. * ........................................ * -C. * | JD * -C. * -3 -2 -1 v * -C. * ................................................ * -C. * | | | | | Volume parameters, in GGDETV | * -C. * ................................................ * -C. * JDH * -C. * JDD * -C. * JDU * -C. * * -C. * The JSET structure is filled by GSDETV + GGDETV, and by * -C. * GSDETH, GSDETD and GSDETU, eventually by GSDETA. * -C. * * -C. * ==>Called by : , UGEOM * -C. * Authors R.Brun, F.Bruyant ********** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcmzfo.inc" - CHARACTER*4 IUSET,IUDET -C. -C. ------------------------------------------------------------------ -C. - ISET = 0 - IDET = 0 -C -C Check if volume IUDET has been defined -C - IF (JVOLUM.LE.0) GO TO 920 - NVOLUM = IQ(JVOLUM-1) - CALL GLOOK (IUDET, IQ(JVOLUM+1), NVOLUM, IVOL) - IF (IVOL.EQ.0) GO TO 920 -C -C Check that volume IVOL is a sensitive medium -C - JVO = LQ(JVOLUM-IVOL) - ITM = Q(JVO+4) - JTM = LQ(JTMED-ITM) - IF (Q(JTM+7).EQ.0.)THEN - WRITE (CHMAIL,1000) IUDET - CALL GMAIL(0,0) - ENDIF -C - IF (JSET.EQ.0)THEN -C -C Create mother JSET bank -C - CALL MZBOOK (IXCONS, JSET, JSET, 1, 'SETS', 0,0,0, 5, 0) - IQ(JSET-5)=0 - NSET = 0 - ELSE -C - NSET = IQ(JSET-1) - CALL GLOOK (IUSET, IQ(JSET+1), NSET, ISET) - IF (ISET.NE.0) GO TO 30 - ENDIF -C -C Create JSET bank -C - CALL MZPUSH (IXCONS, JSET, 1, 1, 'I') - NSET = NSET +1 -C - ISET = NSET - CALL UCTOH (IUSET, IQ(JSET+ISET), 4, 4) - CALL MZBOOK (IXCONS, JS, JSET, -ISET, 'SETS', 0,0,0, 5, 0) - IQ(JS-5) = ISET -C -C Check if detector has already been defined -C - 30 JS = LQ(JSET-ISET) - NDET = IQ(JS-1) - IF (NDET.NE.0)THEN - CALL GLOOK (IUDET, IQ(JS+1), NDET, IDET) - IF (IDET.NE.0) GO TO 930 - ENDIF -C -C If not, create detector bank -C - CALL MZPUSH (IXCONS, JS, 1, 1, 'I') - NDET = NDET +1 - IDET = NDET - CALL UCTOH (IUDET, IQ(JS+IDET), 4, 4) - CALL MZBOOK (IXCONS, JD, JS, -IDET, 'SEJD', 4,4,100, IOSEJD, 0) - IQ(JD-5) = IDET -C - IQ(JD+7) = NWHI - IQ(JD+8) = NWDI - IQ(JD+9) = -1 -C -C Now enter Set/Det into JVOLUM data structure -C - CALL G3SATT (IUDET, 'SET ', ISET) - CALL G3SATT (IUDET, 'DET ', IDET) - CALL G3SATT (IUDET, 'DTYP', IDTYPE) - GO TO 999 -C -C Errors -C - 920 WRITE (CHMAIL,2000) IUDET - CALL GMAIL(0,0) - GO TO 999 -C - 930 WRITE (CHMAIL,3000) IUSET, IUDET - CALL GMAIL(0,0) -C - 1000 FORMAT (' ***** GSDETV - ISVOL=0 FOR DETECTOR',A4,' - WARNING!') - 2000 FORMAT (' ***** GSDETV ERROR, VOLUME ',A4,' NOT DEFINED') - 3000 FORMAT (' ***** GSDETV ERROR ,SET ',A4, ' DETECTOR ',A4, - + ' ALREADY DEFINED') -C - 999 RETURN - END diff --git a/StarVMC/geant3/ghits/gsdigi.F b/StarVMC/geant3/ghits/gsdigi.F deleted file mode 100644 index 8384228dcc6..00000000000 --- a/StarVMC/geant3/ghits/gsdigi.F +++ /dev/null @@ -1,238 +0,0 @@ -* -* $Id: gsdigi.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gsdigi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:12 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GSDIGI(ISET,IDET,LTRA,NTRA,NUMBV,KDIGI,IDIG) -C. -C. ****************************************************************** -C. * * -C. * Routines to Communicate with the data structure JDIGI * -C. * --------------------------------------------------------- * -C. * * -C. * Stores element values for current digitisation into the * -C. * data structure JDIGI. * -C. * ISET set number * -C. * IDET detector number * -C. * LTRA list of NTRA track numbers producing this * -C. * digitisation * -C. * NUMBV volume numbers corresponding to list NAMESV of * -C. * GSDET * -C. * KDIGI integer array of values for current digisation * -C. * elements * -C. * IDIG on return, current digitisation number. * -C. * If =0 digitisation has not been stored. * -C. * * -C. * The Digitisation data structure JDIGI * -C. * ------------------------------------- * -C. * * -C. * | JDIGI * -C. * NSET ISET v * -C. * .......................................... * -C. * | | | | | * -C. * .......................................... * -C. * | * -C. * | JDIG * -C. * NDET IDET v NDET * -C. * ..................................... * -C. * | | | | | | * -C. * ..................................... * -C. * | * -C. * | JDD * -C. * v * -C. * ........................................... * -C. * | | 1st digitisation | 2nd digitisation, etc. * -C. * ........................................... * -C. * Bank layout * -C. * JDIG = LQ(JDIGI-ISET), pointer to digitisations * -C. * for set ISET * -C. * JDD = LQ(JDIG-IDET), pointer to digitisations of * -C. * detector IDET of set ISET * -C. * IQ(JDIG+IDET) pointer to last word of last digitisation for * -C. * this detector * -C. * IQ(JDD+1) 1st word of first digitisation * -C. * IQ(JDD+NWD+1) 1st word of second digitisation * -C. * JS=LQ(JSET-ISET) * -C. * JD=LQ(JS-IDET) * -C. * NWD=IQ(JD+5) * -C. * The JDIGI structure is filled with the routine GSDIGI. * -C. * The routine GFDIGI can be used to get the digitisations for * -C. * a detector IDET and set ISET. * -C. * * -C. * ==>Called by : , GUDIGI * -C. * Authors R.Brun, W.Gebel ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - COMMON/GCLOCA/NLOCAL(2),JS,JD,JDDI,JDI,JDID,LOCAL(15) - DIMENSION NUMBV(1),KDIGI(1),LTRA(1) -C. -C. ------------------------------------------------------------------ -C. -C Find if selected set, detector exists -C - IDIG=0 -C - IF(JSET.LE.0)GO TO 99 - NSET=IQ(JSET-1) - IF(NSET.LE.0)GO TO 99 - IF(ISET.LE.0)GO TO 99 - IF(ISET.GT.NSET)GO TO 99 -C - JS=LQ(JSET-ISET) - NDET=IQ(JS-1) - IF(NDET.LE.0)GO TO 99 - IF(IDET.LE.0)GO TO 99 - IF(IDET.GT.NDET)GO TO 99 -C - JD=LQ(JS-IDET) - JDDI=LQ(JD-2) - IF(JDDI.LE.0)GO TO 99 - NW=IQ(JD+1)+IQ(JD+5)+2 - ND=IQ(JD+6) - NV=IQ(JD+2) - NWTR=NTRA/2+1 - NWD=NW+NWTR -C -C Create DIGItisation master bank -C - IF(JDIGI.EQ.0)THEN - CALL MZBOOK(IXDIV,JDIGI,JDIGI,1,'DIGI',NSET,NSET,0,2,0) - IQ(JDIGI-5)=0 - ENDIF - JDI=LQ(JDIGI-ISET) - IF(JDI.EQ.0)THEN - CALL MZBOOK(IXDIV,JDI,JDIGI,-ISET,'DIGI',NDET,NDET,NDET,2,0) - ENDIF -C - JDID=LQ(JDI-IDET) - IF(JDID.EQ.0)THEN -C -C Create DIGItisation bank -C - NWDI=IQ(JD+8) - CALL MZBOOK(IXDIV,JDID,JDI,-IDET,'SJDI',0,0,NWDI,1,0) - IQ(JDI+IDET)=0 - ENDIF -C -C Check if enough space. If not increase bank size -C - 10 NDID=IQ(JDID-1) - ILAST=IQ(JDI+IDET) - NFREE=NDID-ILAST - IF(NFREE.LE.NWD)THEN - NWDI2=MAX(100,NWD,IQ(JD+8)/2) - CALL MZPUSH(IXDIV,JDID,0,NWDI2,'I') - GO TO 10 - ENDIF -C - IQ(JDI+IDET)=ILAST+NWD - IF(ILAST.NE.0)IDIG=IQ(JDID+ILAST) - IDIG=IDIG+1 -C -C -C -C -C ========> Store tracks numbers, volumes numbers and digits -C - IQ(JDID+ILAST+1)=NWD - IQ(JDID+ILAST+NWD)=IDIG - NK=ILAST+2 -C -C Store packed track numbers -C Every 2 consecutive numbers into 1 word -C 1st half of 1st word: NTRA-1 -C - IQ(JDID+NK)=0 - IF(NTRA.GT.0)THEN - NTRM1=NTRA-1 - CALL MVBITS(NTRM1,0,16,IQ(JDID+NK),0) - IF(NTRM1.GE.1)THEN - DO 23 ITR=1,NTRM1,2 - CALL MVBITS(LTRA(ITR),0,16,IQ(JDID+NK),16) - NK=NK+1 - CALL MVBITS(LTRA(ITR+1),0,16,IQ(JDID+NK),0) - 23 CONTINUE - ENDIF - IF(MOD(NTRA,2).EQ.1) - + CALL MVBITS(LTRA(NTRA),0,16,IQ(JDID+NK),16) - ENDIF - NK=NK+1 -C -C Store packed volume numbers -C - IF(NV.GT.0)THEN - K=1 -C - DO 50 I=1,NV - NB=IQ(JD+2*I+10) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - NK=NK+1 - ENDIF - IQ(JDID+NK)=NUMBV(I) - K=1 - IF(I.NE.NV)NK=NK+1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - CALL MVBITS(NUMBV(I),0,NB,IQ(JDID+NK),K-1) - K=K+NB - ENDIF - 50 CONTINUE - NK=NK+1 - ENDIF -C -C Store packed digits -C - IF(ND.GT.0)THEN - K=1 - DO 90 I=1,ND - NB=IQ(JDDI+2*I) - IF(NB.LE.0)THEN - IF(K.GT.1)THEN - NK=NK+1 - ENDIF - IQ(JDID+NK)=KDIGI(I) - NK=NK+1 - K=1 - ELSE - IF(K+NB.GT.33)THEN - K=1 - NK=NK+1 - ENDIF - CALL MVBITS(KDIGI(I),0,NB,IQ(JDID+NK),K-1) - K=K+NB - ENDIF - 90 CONTINUE - ENDIF -C - 99 RETURN - END diff --git a/StarVMC/geant3/ghrout/cohert.F b/StarVMC/geant3/ghrout/cohert.F deleted file mode 100644 index dce621af73b..00000000000 --- a/StarVMC/geant3/ghrout/cohert.F +++ /dev/null @@ -1,908 +0,0 @@ -* -* $Id: cohert.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: cohert.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE COHERT(IPPP,NFL,AVERN) -C -C *** GENERATION OF X- AND PT- VALUES FOR ALL PRODUCED PARTICLES *** -C -C -C GENERATION OF DIFFRACTION DISSOCIATION AT HIGH ENERGIES -C (NOT USED IN STANDARD VERSION) -C -#include "geant321/s_defcom.inc" -#include "geant321/s_genio.inc" -C - REAL NUCSUP - DIMENSION SIDE(200),C1PAR(5),G1PAR(5),NUCSUP(5) - DIMENSION RNDM(3) - DATA C1PAR/0.6,0.6,0.35,0.15,0.10/ - DATA G1PAR/2.6,2.6,1.8,1.30,1.20/ - DATA NUCSUP/1.0,0.8,0.6,0.5,0.4/ -C DATA CB/3.0/ - DATA CB/0.01/ - BPP(X)=5.000+0.300*LOG(X) - -C - MX =MXGKPV-20 - MX1=MX+1 - MX2=MX+2 - MX3=MX+3 - MX4=MX+4 - MX5=MX+5 - MX6=MX+6 - MX7=MX+7 - MX8=MX+8 - EK=ENP(5) - EN=ENP(6) - P=ENP(7) - S=ENP(8) - RS=ENP(9) - CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) - IF(P.LT.0.001) GOTO 60 - NT=0 -C** - IREHMF=4 - IF(IABS(IPA(1)).NE.IPART) IREHMF=5 - -C** CHECK MASS-INDICES FOR ALL PARTICLES -C** - DO 1 I=1,100 - IF(IPA(I).EQ.0) GOTO 1 - NT=NT+1 - IPA(NT)=IPA(I) - 1 CONTINUE - CALL VZERO(IPA(NT+1),MXGKCU-NT) -C** -C** SET THE EFFECTICE 4-MOMENTUM-VECTOR FOR INTERACTION -C** - PV( 1,MXGKPV-1)=P*PX - PV( 2,MXGKPV-1)=P*PY - PV( 3,MXGKPV-1)=P*PZ - PV( 4,MXGKPV-1)=EN - PV( 5,MXGKPV-1)=AMAS - PV( 6,MXGKPV-1)=NCH - PV( 7,MXGKPV-1)=TOF - PV( 8,MXGKPV-1)=IPART - PV( 9,MXGKPV-1)=0. - PV(10,MXGKPV-1)=USERW - IER(48)=IER(48)+1 -C** -C** DISTRIBUTE PARTICLES IN FORWARD AND BACKWARD HEMISPHERE OF CMS -C** OF THE HADRON NUCLEON INTERACTION -C** - SIDE(1)= 1. - SIDE(2)=-1. - TARG=0. - IFOR=1 - IBACK=1 - DO 3 I=1,NT - IF (I .LE. 2) GO TO 78 - SIDE(I)= -1. - IF (SIDE(I) .LT. 0.) GO TO 76 -C -C --- PARTICLE IN FORWARD HEMISPHERE --- - 77 CONTINUE - IFOR=IFOR+1 - IF (IFOR .LE. 18) GO TO 78 -C -C --- CHANGE IT TO BACKWARD --- - SIDE(I)=-1. - IFOR=IFOR-1 - IBACK=IBACK+1 - GO TO 78 -C -C --- PARTICLE IN BACKWARD HEMISPHERE --- - 76 CONTINUE - IBACK=IBACK+1 - IF (IBACK .LE. 18) GO TO 78 -C -C --- CHANGE IT TO FORWARD --- - SIDE(I)=1. - IBACK=IBACK-1 - IFOR=IFOR+1 -C** -C** SUPPRESSION OF CHARGED PIONS FOR VARIOUS REASONS -C** - 78 IF(IPART.EQ.15.OR.IPART.GE.17) GOTO 3 - IF(ABS(IPA(I)).GE.10) GOTO 3 - IF(ABS(IPA(I)).EQ. 8) GOTO 3 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.(10.-P)/6.) GOTO 3 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ATNO2/300.) GOTO 3 - IPA(I)=14 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ZNO2/ATNO2) IPA(I)=16 - TARG=TARG+1. - 3 CONTINUE - TB=2.*IBACK - CALL GRNDM(RNDM,1) - IF(RS.LT.(2.0+RNDM(1))) TB=(2.*IBACK+NT)/2. -C** -C** NUCLEONS + SOME PIONS FROM INTRANUCLEAR CASCADE -C** - AFC=0.312+0.200*LOG(LOG(S)) - XTARG=AFC*(ATNO2**0.33-1.0)*TB - IF(XTARG.LE.0.) XTARG=0.01 - CALL POISSO(XTARG,NTARG) - NT2=NT+NTARG - IF(NT2.LE.MXGKPV-30) GOTO 2 - NT2=MXGKPV-30 - NTARG=NT2-NT - 2 CONTINUE - IF(NPRT(4)) - *WRITE(NEWBCD,3001) NTARG,NT - NT1=NT+1 - IF(NTARG.EQ.0) GOTO 51 - IPX=IFIX(P/3.)+1 - IF(IPX.GT.5) IPX=5 - DO 4 I=NT1,NT2 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(RAN.LT.NUCSUP(IPX)) GOTO 52 - CALL GRNDM(RNDM,1) - IPA(I)=-(7+IFIX(RNDM(1)*3.0)) - GOTO 4 - 52 IPA(I)=-16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.PNRAT) IPA(I)=-14 - TARG=TARG+1. - 4 SIDE(I)=-2. - NT=NT2 -C** -C** CHOOSE MASSES AND CHARGES FOR ALL PARTICLES -C** - 51 DO 5 I=1,NT - IPA1=ABS(IPA(I)) - PV(5,I)=RMASS(IPA1) - PV(6,I)=RCHARG(IPA1) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - 5 CONTINUE -C** -C** MARK LEADING STRANGE PARTICLES -C** - LEAD=0 - IF(IPART.LT.10.OR.IPART.EQ.14.OR.IPART.EQ.16) GOTO 6 - IPA1=ABS(IPA(1)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 531 - LEAD=IPA1 - GOTO 6 - 531 IPA1=ABS(IPA(2)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 6 - LEAD=IPA1 -C** -C** CHECK AVAILABLE KINETIC ENERGY , CHANGE HEMISPHERE FOR PARTICLES -C** UNTIL IT FITS -C** - 6 IF(NT.LE.1) GOTO 60 - TAVAI=0. - DO 7 I=1,NT - IF(SIDE(I).LT.-1.5) GOTO 7 - TAVAI=TAVAI+ABS(PV(5,I)) - 7 CONTINUE - IF(TAVAI.LT.RS) GOTO 12 - IF(NPRT(4)) - *WRITE(NEWBCD,3002) (IPA(I),I=1,20),(SIDE(I),I=1,20),TAVAI,RS - 3002 FORMAT(' *COHERT* CHECK AVAILABLE ENERGIES'/ - * 1H ,20I5/1H ,20F5.0/1H ,'TAVAI,RS ',2F10.3) - DO 10 I=1,NT - II=NT-I+1 - IF(SIDE(II).LT.-1.5) GOTO 10 - IF(II.EQ.NT) GOTO 11 - NT1=II+1 - NT2=NT - DO 8 J=NT1,NT2 - IPA(J-1)=IPA(J) - SIDE(J-1)=SIDE(J) - DO 8 K=1,10 - 8 PV(K,J-1)=PV(K,J) - GOTO 11 - 10 CONTINUE - 11 SIDE(NT)=0. - IPA(NT)=0 - NT=NT-1 - GOTO 6 - 12 IF(NT.LE.1) GOTO 60 - B=BPP(ATNO2) - IF(B.LT.CB) B=CB -C** -C** CHOOSE MASSES FOR THE 3 CLUSTER: 1. FORWARD CLUSTER -C** 2. BACKWARD MESON CLUSTER 3. BACKWARD NUCLEON CLUSTER -C** - RMC0=0. - RMD0=0. - RME0=0. - NTC=0 - NTD=0 - NTE=0 - DO 31 I=1,NT - IF(SIDE(I).GT.0.) RMC0=RMC0+ABS(PV(5,I)) - IF(SIDE(I).GT.0.) NTC =NTC +1 - IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) RMD0=RMD0+ABS(PV(5,I)) - IF( SIDE(I).LT.-1.5) RME0=RME0+ABS(PV(5,I)) - IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) NTD =NTD +1 - IF( SIDE(I).LT.-1.5) NTE =NTE +1 - 31 CONTINUE - 32 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RMC=RMC0 - IF(NTC.LE.1) GOTO 33 - NTC1=NTC - IF(NTC1.GT.5) NTC1=5 - RMC=-LOG(RAN) - GPAR=G1PAR(NTC1) - CPAR=C1PAR(NTC1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RMC=RMC0+RMC**CPAR/DUMNVE - 33 RMD=RMD0 - IF(NTD.LE.1) GOTO 34 - NTD1=NTD - IF(NTD1.GT.5) NTD1=5 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RMD=-LOG(RAN) - GPAR=G1PAR(NTD1) - CPAR=C1PAR(NTD1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RMD=RMD0+RMD**CPAR/DUMNVE - 34 IF(RMC+RMD.LT.RS) GOTO 35 - IF (RMC.LE.RMC0.AND.RMD.LE.RMD0) THEN - HNRMDC = 0.999*RS/(RMC+RMD) - RMD = RMD*HNRMDC - RMC = RMC*HNRMDC - ELSE - RMC=0.1*RMC0+0.9*RMC - RMD=0.1*RMD0+0.9*RMD - END IF - GOTO 34 - 35 IF(NTE.LE.0) GOTO 38 - RME=RME0 - IF(NTE.EQ.1) GOTO 38 - NTE1=NTE - IF(NTE1.GT.5) NTE1=5 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RME=-LOG(RAN) - GPAR=G1PAR(NTE1) - CPAR=C1PAR(NTE1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RME=RME0+RME**CPAR/DUMNVE -C** -C** SET BEAM , TARGET OF FIRST INTERACTION IN CMS -C** - 38 PV(1,MX1)=0. - PV(2,MX1)=0. - PV(3,MX1)=P - PV(5,MX1)=ABS(AMAS) - PV(4,MX1)=SQRT(P*P+AMAS*AMAS) - PV(1,MX2)=0. - PV(2,MX2)=0. - PV(3,MX2)=0. - PV(4,MX2)=MP - PV(5,MX2)=MP - -C** TRANSFORM INTO CMS. - - CALL ADD(MX1,MX2,MX ) - CALL LOR(MX1,MX ,MX1) - CALL LOR(MX2,MX ,MX2) - PF=(S+RMD*RMD-RMC*RMC)**2 - 4*S*RMD*RMD - IF(PF.LT.0.0001) PF=0.0001 - DUMNVE=2.0*RS - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - PF=SQRT(PF)/DUMNVE - IF(NPRT(4)) WRITE(6,2002) PF,RMC,RMD,RS -C** -C** SET FINAL STATE MASSES AND ENERGIES IN CMS -C** - PV(5,MX3)=RMC - PV(5,MX4)=RMD - PV(4,MX3)=SQRT(PF*PF+PV(5,MX3)*PV(5,MX3)) - PV(4,MX4)=SQRT(PF*PF+PV(5,MX4)*PV(5,MX4)) -C** -C** SET |T| AND |TMIN| -C** - T=-1.0E10 - CALL GRNDM(RNDM,1) - IF (B .NE. 0.0) T=LOG(RNDM(1))/B - CALL LENGTX(MX1,PIN) - TACMIN=(PV(4,MX1)-PV(4,MX3))**2-(PIN-PF)**2 -C** -C** CACULATE (SIN(TETA/2.)**2 AND COS(TETA), SET AZIMUTH ANGLE PHI -C** - DUMNVE=4.0*PIN*PF - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - CTET=-(T-TACMIN)/DUMNVE - CTET=1.0-2.0*CTET - IF (CTET .GT. 1.0) CTET=1.0 - IF (CTET .LT. -1.0) CTET=-1.0 - DUMNVE=1.0-CTET*CTET - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - STET=SQRT(DUMNVE) - CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI -C** -C** CALCULATE FINAL STATE MOMENTA IN CMS -C** - PV(1,MX3)=PF*STET*SIN(PHI) - PV(2,MX3)=PF*STET*COS(PHI) - PV(3,MX3)=PF*CTET - PV(1,MX4)=-PV(1,MX3) - PV(2,MX4)=-PV(2,MX3) - PV(3,MX4)=-PV(3,MX3) -C** -C** SIMULATE BACKWARD NUCLEON CLUSTER IN LAB. SYSTEM AND TRANSFORM IN -C** CMS. -C** - IF(NTE.EQ.0) GOTO 28 - GA=1.2 - EKIT1=0.04 - EKIT2=0.6 - IF(EK.GT.5.) GOTO 666 - EKIT1=EKIT1*EK**2/25. - EKIT2=EKIT2*EK**2/25. - 666 A=(1.-GA)/(EKIT2**(1.-GA)-EKIT1**(1.-GA)) - DO 29 I=1,NT - IF(SIDE(I).GT.-1.5) GOTO 29 - CALL GRNDM(RNDM,3) - RAN=RNDM(1) - EKIT=(RAN*(1.-GA)/A+EKIT1**(1.-GA))**(1./(1.-GA)) - PV(4,I)=EKIT+PV(5,I) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(DUMNVE) - RAN=RNDM(2) - COST=LOG(2.23*RAN+0.383)/0.96 - IF (COST .LT. -1.0) COST=-1.0 - IF (COST .GT. 1.0) COST=1.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(3) - PV(1,I)=PP*SINT*SIN(PHI) - PV(2,I)=PP*SINT*COS(PHI) - PV(3,I)=PP*COST - CALL LOR(I,MX ,I) - 29 CONTINUE -C** -C** FRAGMENTATION OF FORWARD CLUSTER AND BACKWARD MESON CLUSTER -C** - 28 PV(1,1)=PV(1,MX3) - PV(2,1)=PV(2,MX3) - PV(3,1)=PV(3,MX3) - PV(4,1)=PV(4,MX3) - PV(1,2)=PV(1,MX4) - PV(2,2)=PV(2,MX4) - PV(3,2)=PV(3,MX4) - PV(4,2)=PV(4,MX4) - DO 17 I=MX5,MX6 - DO 16 J=1,3 - 16 PV(J,I)=-PV(J,I-2) - DO 17 J=4,5 - 17 PV(J,I)= PV(J,I-2) - KGENEV=1 - IF(NTC.LE.1) GOTO 26 - TECM= PV(5,MX3) - NPG=0 - DO 18 I=1,NT - IF(SIDE(I).LT.0.) GOTO 18 - NPG=NPG+1 - AMASS(NPG)=ABS(PV(5,I)) - 18 CONTINUE - IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) - CALL PHASP - NPG=0 - DO 19 I=1,NT - IF(SIDE(I).LT.0.) GOTO 19 - NPG=NPG+1 - PV(1,I)=PCM(1,NPG) - PV(2,I)=PCM(2,NPG) - PV(3,I)=PCM(3,NPG) - PV(4,I)=PCM(4,NPG) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL LOR(I,MX5,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - 19 CONTINUE - 26 IF(NTD.LE.1) GOTO 27 - TECM= PV(5,MX4) - NPG=0 - DO 20 I=1,NT - IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 20 - NPG=NPG+1 - AMASS(NPG)=ABS(PV(5,I)) - 20 CONTINUE - IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) - CALL PHASP - NPG=0 - DO 21 I=1,NT - IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 21 - NPG=NPG+1 - PV(1,I)=PCM(1,NPG) - PV(2,I)=PCM(2,NPG) - PV(3,I)=PCM(3,NPG) - PV(4,I)=PCM(4,NPG) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL LOR(I,MX6,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - 21 CONTINUE -C** -C** LORENTZ TRANSFORMATION IN LAB SYSTEM -C** - 27 TARG=0. - DO 36 I=1,NT - IF(PV(5,I).GT.0.5) TARG=TARG+1. - CALL LOR(I,MX2,I) - 36 CONTINUE - IF(TARG.LT.0.5) TARG=1. -C** -C** SOMETIMES THE LEADING STRANGE PARTICLES ARE LOST , SET THEM BACK -C** - IF(LEAD.EQ.0) GOTO 6085 - DO 6081 I=1,NT - IF(ABS(IPA(I)).EQ.LEAD) GOTO 6085 - 6081 CONTINUE - I=1 - IF(LEAD.GE.14.AND.ABS(IPA(2)).GE.14) I=2 - IF(LEAD.LT.14.AND.ABS(IPA(2)).LT.14) I=2 - IPA(I)=LEAD - EKIN=PV(4,I)-ABS(PV(5,I)) - PV(5,I)=RMASS(LEAD) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - PV(6,I)=RCHARG(LEAD) - PV(4,I)=PV(5,I)+EKIN - CALL LENGTX(I,PP) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP1=SQRT(DUMNVE) -C - IF (PP .GE. 1.0E-6) GO TO 8000 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8001 - 8000 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8001 CONTINUE -C -C** FOR VARIOUS REASONS, THE ENERGY BALANCE IS NOT SUFFICIENT, -C** CHECK THAT, ENERGY BALANCE, ANGLE OF FINAL SYSTEM E.T.C. - 6085 KGENEV=1 - PV(1,MX4)=0. - PV(2,MX4)=0. - PV(3,MX4)=P - PV(4,MX4)=SQRT(P*P+AMAS*AMAS) - PV(5,MX4)=ABS(AMAS) - EKIN0=PV(4,MX4)-PV(5,MX4) - PV(1,MX5)=0. - PV(2,MX5)=0. - PV(3,MX5)=0. - PV(4,MX5)=MP*TARG - PV(5,MX5)=PV(4,MX5) - EKIN=PV(4,MX4)+PV(4,MX5) - I=MX4 - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - I=MX5 - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL ADD(MX4,MX5,MX6) - CALL LOR(MX4,MX6,MX4) - CALL LOR(MX5,MX6,MX5) - TECM=PV(4,MX4)+PV(4,MX5) - NPG=NT - PV(1,MX8)=0. - PV(2,MX8)=0. - PV(3,MX8)=0. - PV(4,MX8)=0. - PV(5,MX8)=0. - EKIN1=0. - DO 598 I=1,NPG - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - CALL ADD(MX8,I,MX8) - EKIN1=EKIN1+PV(4,I)-PV(5,I) - EKIN=EKIN-PV(5,I) - IF(I.GT.18) GOTO 598 - AMASS(I)=PV(5,I) - 598 CONTINUE - IF(NPG.GT.18) GOTO 597 - CALL PHASP - EKIN=0. - DO 599 I=1,NPG - PV(1,MX7)=PCM(1,I) - PV(2,MX7)=PCM(2,I) - PV(3,MX7)=PCM(3,I) - PV(4,MX7)=PCM(4,I) - PV(5,MX7)=AMASS(I) - CALL LOR(MX7,MX5,MX7) - 599 EKIN=EKIN+PV(4,MX7)-PV(5,MX7) - CALL ANG(MX8,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1,EKIN -C** -C** MAKE SHURE, THAT KINETIC ENERGIES ARE CORRECT -C** THE 3. CLUSTER IS NOT PRODUCED WITHIN PROPER KINEMATICS!!! -C** EKIN= KINETIC ENERGY THEORETICALLY -C** EKIN1= KINETIC ENERGY SIMULATED -C** - 597 EKIN1=0. - IF(EKIN1.EQ.0.) GOTO 600 - PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - WGT=EKIN/EKIN1 - EKIN1=0. - DO 602 I=1,NT - EKIN=PV(4,I)-PV(5,I) - EKIN=EKIN*WGT - PV(4,I)=EKIN+PV(5,I) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(DUMNVE) - CALL LENGTX(I,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8002 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP*COS(RTHNVE) - GO TO 8003 - 8002 CONTINUE - PV(1,I)=PV(1,I)*PP/PP1 - PV(2,I)=PV(2,I)*PP/PP1 - PV(3,I)=PV(3,I)*PP/PP1 - 8003 CONTINUE -C - EKIN1=EKIN1+EKIN - CALL ADD(MX7,I,MX7) - 602 CONTINUE - CALL ANG(MX7,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1 -C** -C** ROTATE IN DIRECTION OF Z-AXIS, SEE COMMENTS IN 'GENXPT' -C** - 600 PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 596 I=1,NT - 596 CALL ADD(MX7,I,MX7) -* call rannor(ran1,ran2) - CALL GRNDM(RNDM,2) - RY=RNDM(1) - RZ=RNDM(2) - RX=6.283185*RZ - A1=SQRT(-2.*LOG(RY)) - RAN1=A1*SIN(RX) - RAN2=A1*COS(RX) - PV(1,MX7)=PV(1,MX7)+RAN1*0.020*TARG - PV(2,MX7)=PV(2,MX7)+RAN2*0.020*TARG - CALL DEFS(MX4,MX7,MX8) - PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. -C DO 595 I=1,NT -C CALL TRAC(I,MX8,I) -C 595 CALL ADD(MX7,I,MX7) -C CALL ANG(MX7,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA -C** -C** ROTATE IN DIRECTION OF PRIMARY PARTICLE -C** - DEKIN=0. - NPIONS=0 - EK1=0. - DO 25 I=1,NT - CALL DEFS1(I,MXGKPV-1,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - IF(ATNO2.LT.1.5) GOTO 25 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - CALL NORMAL(RAN) - EKIN=EKIN-CFA*(1.+0.5*RAN) - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - CALL STEEQ(XXH,I) - DEKIN=DEKIN+EKIN*(1.-XXH) - EKIN=EKIN*XXH - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) NPIONS=NPIONS+1 - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) EK1=EK1+EKIN - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8004 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8005 - 8004 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8005 CONTINUE -C - 25 CONTINUE - EK1=0. - IF(EK1.EQ.0.) GOTO 23 - IF(NPIONS.LE.0) GOTO 23 - DEKIN=1.+DEKIN/EK1 - DO 22 I=1,NT - IF(ABS(IPA(I)).LT.7.OR.ABS(IPA(I)).GT.9) GOTO 22 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - EKIN=EKIN*DEKIN - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8006 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8007 - 8006 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8007 CONTINUE -C - 22 CONTINUE - 23 IGEN=0 - IF(ATNO2.LT.1.5) GOTO 40 -C** -C** ADD BLACK TRACK PARTICLES -C** - CALL HIGHAB(SPROB) - TEX=ENP(1) - SPALL=TARG - IF(TEX.LT.0.001) GOTO 445 - BLACK=(1.5+1.25*TARG)*ENP(1)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NPRT(4)) - *WRITE(NEWBCD,3003) NBL,TEX - IF(IFIX(TARG)+NBL.GT.ATNO2) NBL=ATNO2-TARG - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 445 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 441 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 441 - IF(NT.EQ.MXGKPV-2) GOTO 441 - IF(EKIN2.GT.TEX) GOTO 443 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - IPA1=16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,3) - IF(RNDM(1).GT.PNRAT) IPA1=14 - NT=NT+1 - SPALL=SPALL+1. - COST=-1.0+RNDM(2)*2.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(3) - IPA(NT)=-IPA1 - SIDE(NT)=-4. - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=1. - PV(4,NT)=EKIN1+PV(5,NT) - DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(DUMNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 441 CONTINUE - 443 IF(ATNO2.LT.10.) GOTO 445 - IF(EK.GT.2.0) GOTO 445 - II=NT+1 - KK=0 - EKA=EK - IF(EKA.GT.1.) EKA=EKA*EKA - IF(EKA.LT.0.1) EKA=0.1 - IKA=3.6*EXP((ZNO2**2/ATNO2-35.56)/6.45)/EKA - IF(IKA.LE.0) GO TO 445 - DO 444 I=1,NT - II=II-1 - IF(IPA(II).NE.-14) GOTO 444 - IPA(II)=-16 - IPA1 = 16 - PV(5,II)=ABS(RMASS(IPA1)) - PV(6,II)=RCHARG(IPA1) - KK=KK+1 - IF(KK.GT.IKA) GOTO 445 - 444 CONTINUE - 445 TEX=ENP(3) - IF(TEX.LT.0.001) GOTO 40 - BLACK=(1.5+1.25*TARG)*ENP(3)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 40 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - IF(NPRT(4)) - *WRITE(NEWBCD,3004) NBL,TEX - DO 442 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 442 - IF(NT.EQ.MXGKPV-2) GOTO 442 - IF(EKIN2.GT.TEX) GOTO 40 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.005*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - CALL GRNDM(RNDM,3) - COST=-1.0+RNDM(1)*2.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(2) - RAN=RNDM(3) - IPA(NT+1)=-30 - IF(RAN.GT.0.60) IPA(NT+1)=-31 - IF(RAN.GT.0.90) IPA(NT+1)=-32 - SIDE(NT+1)=-4. - PV(5,NT+1)=(ABS(IPA(NT+1))-28)*MP - SPALL=SPALL+PV(5,NT+1)*1.066 - IF(SPALL.GT.ATNO2) GOTO 40 - NT=NT+1 - PV(6,NT)=1. - IF(IPA(NT).EQ.-32) PV(6,NT)=2. - PV(7,NT)=1. - PV(4,NT)=PV(5,NT)+EKIN1 - DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(DUMNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 442 CONTINUE -C** -C** STORE ON EVENT COMMON -C** - 40 CALL GRNDM(RNDM,1) - IF(RS.GT.(4.+RNDM(1)*1.)) GOTO 42 - DO 41 I=1,NT - CALL LENGTX(I,ETB) - IF(ETB.LT.P) GOTO 41 - ETF=P - PV(4,I)=SQRT(PV(5,I)**2+ETF**2) - DUMNVE=ETB - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - ETF=ETF/DUMNVE - PV(1,I)=PV(1,I)*ETF - PV(2,I)=PV(2,I)*ETF - PV(3,I)=PV(3,I)*ETF - 41 CONTINUE - 42 EKIN=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - EKIN1=PV(4,MXGKPV-1)-ABS(PV(5,MXGKPV-1)) - EKIN2=0. - CALL TDELAY(TOF1) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - TOF=TOF-TOF1*LOG(RAN) - DO 44 I=1,NT - EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) - IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) - PV(7,I)=TOF - PV(8,I)=ABS(IPA(I)) - PV(9,I)=0. - 44 PV(10,I)=0. - IF(NPRT(4)) WRITE(NEWBCD,2006) NT,EKIN,ENP(1),ENP(3),EKIN1,EKIN2 - INTCT=INTCT+1. - NMODE=3 - IF(SPALL.LT.0.5.AND.ATNO2.GT.1.5) NMODE=14 - CALL SETCUR(NT) - NTK=NTK+1 - IF(NT.EQ.1) GOTO 300 - DO 50 II=2,NT - I=II-1 - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE - 300 CONTINUE - GO TO 9999 -C** -C** IT IS NOT POSSIBLE TO PRODUCE A PROPER TWO CLUSTER FINAL STATE. -C** CONTINUE WITH QUASI ELASTIC SCATTERING -C** - 60 IF(NPRT(4)) WRITE(NEWBCD,2005) - DO 61 I=3,MXGKCU - 61 IPA(I)=0 - IPA(1)=IPART - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - CALL TWOB(IPPP,NFL,AVERN) - GO TO 9999 -C - 2000 FORMAT(' *COHERT* CMS PARAMETERS OF FINAL STATE PARTICLES', - $ ' AFTER ',I3,' TRIALS') - 2001 FORMAT(' *COHERT* TRACK',2X,I3,2X,10F8.2,2X,I3,2X,F3.0) - 2002 FORMAT(' *COHERT* MOMENTUM ',F8.3,' MASSES ',2F8.4,' RS ',F8.4) - 2003 FORMAT(' *COHERT* TETA,EKIN0,EKIN1,EKIN ',4F10.4) - 2004 FORMAT(' *COHERT* TECM,NPB,MASSES: ',F10.4,1X,I3,1X,8F10.4/ - $ 1H ,26X,15X,8F10.4) - 2005 FORMAT(' *COHERT* NUMBER OF FINAL STATE PARTICLES', - $ ' LESS THAN 2 ==> CONTINUE WITH 2-BODY SCATTERING') - 2006 FORMAT(' *COHERT* COMP.',1X,I5,1X,5F7.2) - 3001 FORMAT(' *COHERT* NUCLEAR EXCITATION ',I5,' PARTICLES PRODUCED', - $ ' IN ADDITION TO',I5,' NORMAL PARTICLES') - 3003 FORMAT(' *COHERT* ',I3,' BLACK TRACK PARTICLES PRODUCED', - $ ' WITH TOTAL KINETIC ENERGY OF ',F8.3,' GEV') - 3004 FORMAT(' *COHERT* ',I5,' HEAVY FRAGMENTS WITH TOTAL ENERGY OF ', - $ F8.4,' GEV') -C - 9999 CONTINUE - RETURN - END diff --git a/StarVMC/geant3/ghrout/ghepec.F b/StarVMC/geant3/ghrout/ghepec.F deleted file mode 100644 index f14bd8950a6..00000000000 --- a/StarVMC/geant3/ghrout/ghepec.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: ghepec.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: ghepec.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE GHEPEC(LEDPAR) -C** -C** MOMENTUM CONSERVATION AT HIGH ENERGIES -C** -#include "geant321/mxgkgh.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_blank.inc" -C -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION AHMF,BHMF -#endif -C** - IF(LEDPAR.LE.0) RETURN -C** - MX=MXGKPV-10 - MX5=MX+5 - MX6=MX+6 - MX7=MX+7 - MX9=MX+9 -C** -C** APPLY CORRECTION ON LEADING PARTICLE -C** - IF(NPRT(4)) - $ WRITE(NEWBCD,1002) LEDPAR,(PV(J,LEDPAR),J=1,10) -C** - CALL SUB3(MX9,MXGKPV,MX5) - CALL ANG(MXGKPV,LEDPAR,COST,TETA) - CALL LENGTX(LEDPAR,PPP) - PTLED=PPP*SQRT(1.-COST**2) - CALL SUB3(LEDPAR,MX5,LEDPAR) - CALL ANG(MXGKPV,LEDPAR,COST,TETA) - CALL LENGTX(LEDPAR,PPP) - PPP=PPP*COST - CALL LENGTX(MXGKPV,PBEAM) - PV(1,MX6)=PV(1,MXGKPV)*PPP/PBEAM - PV(2,MX6)=PV(2,MXGKPV)*PPP/PBEAM - PV(3,MX6)=PV(3,MXGKPV)*PPP/PBEAM - CALL CROSS3(MXGKPV,LEDPAR,MX7) - CALL CROSS3(MX7,MXGKPV,MX7) - CALL LENGTX(MX7,PPP) - PV(1,MX7)=PV(1,MX7)*PTLED/PPP - PV(2,MX7)=PV(2,MX7)*PTLED/PPP - PV(3,MX7)=PV(3,MX7)*PTLED/PPP - CALL ADD3(MX6,MX7,LEDPAR) - CALL LENGTX(LEDPAR,PPP) - AHMF=PPP - BHMF=PV(5,LEDPAR) - PV(4,LEDPAR)=DSQRT(AHMF**2+BHMF**2) -C** - IF(NPRT(4)) THEN - WRITE(NEWBCD,1003) LEDPAR,(PV(J,LEDPAR),J=1,10) - ENDIF -C** - RETURN - 1002 FORMAT(1H ,'LEADING PARTICLE ',I3,2X,10F8.3) - 1003 FORMAT(1H ,'CORRECTED 4-VECT ',I3,2X,10F8.3) - - END diff --git a/StarVMC/geant3/ghrout/ghetun.F b/StarVMC/geant3/ghrout/ghetun.F deleted file mode 100644 index a328764f354..00000000000 --- a/StarVMC/geant3/ghrout/ghetun.F +++ /dev/null @@ -1,377 +0,0 @@ -* -* $Id: ghetun.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: ghetun.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:22 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.2 1997/04/29 09:54:58 japost -* Re-dimensioning and filling common arrays to fix bug/error. -* -* More details can be found in this error report, which caused the changes: -* -* Date: Tue, 15 Apr 1997 19:03:49 +0200 -* Simone's forward: -* ---------- -* -* > From: Dieter Heck -* > To: SGIANI@cernvm.cern.ch -* > Subject: GHEISHA_ERROR -* > Date: Tuesday, April 08, 1997 2:09 PM -* > -* > -* > Dear Simone Giani, -* > -* > again I have detected an error within one of the GHEISHA routines. -* > It is the routine GHETUN. This routine contains two arrays keeping the -* > strangenes numbers (SNUM) and baryon numbers (BNUM) of the particles to -* > be treated. Both arrays are dimensioned with 32, while in GHEISHA also -* > OMAGA(-) and ANTI-OMEAG(-) particles are admitted with particle codes 33 -* > and 34. In case of treatment of omega particles, the array boundaries -* > are exceeded, which gives an error stop when running with the bounds -* > check option. To correct this error, the arrays must be dimensionend -* > with 34, and the DATA statements have to be filled with the -* > corresponding values: -* > -* > DIMENSION RNDM(4),SNUM(34),BNUM(34),REDDEC(7) -* > DATA SNUM/9*0.,1.,0.,0.,-1.,4*0.,-1.,1.,-1.,-1.,-1.,1.,1.,1., -* > $ -2.,-2.,2.,2.,3*0.,-3.,3./ -* > DATA BNUM/13*0.,1.,-1.,1.,-1.,1.,-1.,1.,1.,1.,-1.,-1.,-1., -* > $ 1.,1.,-1.,-1.,2.,3.,4.,1.,-1./ -* > -* > Hopefully this correction is helpful for the GHEISHA users. -* > -* > Kind regards, -* > -* > Dieter Heck -* > -* > ========================================================================= -* > From: Dieter Heck, Institut fuer Kernphysik 3, -* > Forschungszentrum Karlsruhe, Postfach 3640, D-76021 Karlsruhe, Germany -* > Tel: (49) 7247-82-3777 Fax: (49) 7247-82-4075 e-mail: heck@ik3.fzk.de -* > ========================================================================= -* -* Revision 1.1.1.1 1995/10/24 10:21:12 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE GHETUN(NT) -C** -C** TUNING OF THE HIGH ENERGY COLLISION MODEL: -C** -C** 1. AVOID THAT PI0 IS LEADING PARTICLE. -C** 2. SOME FINE-TUNING FOR THE NUMBER OF PRODUCED PROTONS AND -C** NEUTRONS. -C** 3. INTRODUCE A FLAVOUR DEPENDENT CORRECTION FOR SINGLE PARTICLE -C** SPECTRA. -C** 4. FINE-TUNING OF LEADING PARTICLE SPECTRA AND MOMENTUM -C** CONSERVATION. -C** -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_blank.inc" -C -C - DIMENSION RNDM(4),SNUM(34),BNUM(34),REDDEC(7) - DATA SNUM/9*0.,1.,0.,0.,-1.,4*0.,-1.,1.,-1.,-1.,-1.,1.,1.,1., - $ -2.,-2.,2.,2.,3*0.,-3.,3./ - DATA BNUM/13*0.,1.,-1.,1.,-1.,1.,-1.,1.,1.,1.,-1.,-1.,-1., - $ 1.,1.,-1.,-1.,2.,3.,4.,1.,-1./ - - -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION AHMF,BHMF -#endif -C** - MX=MXGKPV-10 - MX1=MX+1 - MX2=MX+2 - MX3=MX+3 - MX4=MX+4 - MX5=MX+5 - MX6=MX+6 - MX7=MX+7 - MX8=MX+8 - MX9=MX+9 - NT1=NT - IF(NT1.GT.MXGKPV-10) NT1=MXGKPV-10 - NT=NT1 -C - CALL GRNDM(RNDM,1) - IF(EK.LT.(25.+RNDM(1)*75.)) GOTO 15 -C -C** IF PI0 IS THE HIGHEST MOMENTUM PARTICLE, INTERCHANGE IT WITH A -C** CHARGED PION. -C - CALL GRNDM(RNDM,4) - REDEN = -0.7 + 0.29*LOG10(EK) - REDAT = 1. - 0.4000*LOG10(ATNO2) - PMAX = -200. - PMAPIP= -200. - PMAPI0= -200. - PMAPIM= -200. - IPMAX = 0 - MAXPIP= 0 - MAXPI0= 0 - MAXPIM= 0 - IF(RNDM(1).GT.(ATNO2/100.-0.28).AND.ABS(NCH).GT.0.5) THEN - DO 46 I=1,NT1 - IPHMF=IFIX(PV(8,I)+0.1) - CALL LENGTX(I,PPP) - IF(PPP.GT.PMAX) THEN - PMAX=PPP - IPMAX=I - ENDIF - IF(IPHMF.EQ.7) THEN - IF(PPP.GT.PMAPIP) THEN - PMAPIP=PPP - MAXPIP=I - ENDIF - ENDIF - IF(IPHMF.EQ.8) THEN - IF(PPP.GT.PMAPI0) THEN - PMAPI0=PPP - MAXPI0=I - ENDIF - ENDIF - IF(IPHMF.EQ.9) THEN - IF(PPP.GT.PMAPIM) THEN - PMAPIM=PPP - MAXPIM=I - ENDIF - ENDIF - 46 CONTINUE - ENDIF -C** -C** SOME ADDITIONAL TUNING OF THE NUMBER OF GREY TRACK PARTICLES -C** - IF(NT1.GT.2) THEN - DO 47 I=3,NT1 - IPHMF=IFIX(PV(8,I)+0.1) - IF(IPHMF.EQ.14.OR.IPHMF.EQ.16.OR.IPHMF.GE.30) THEN - CALL LENGTX(I,PPP) - IF(PPP.LT.1.5) THEN - IF(RNDM(2).LT.REDEN.OR.RNDM(3).LT.REDAT) THEN - PV(1,I) = 0. - PV(2,I) = 0. - PV(3,I) = 0. - PV(4,I) = ABS(PV(5,I)) - ENDIF - ENDIF - ENDIF - 47 CONTINUE - ENDIF -C** - IF(MAXPI0.EQ.0) GOTO 10 - IF(PMAPI0.LT.PMAX) GOTO 10 - IF(RNDM(4).LT.PMAPI0/P) THEN - IF(NCH.GT.0.5.AND.MAXPIP.NE.0) THEN - DO 49 J=5,10 - PV(J,MX1)=PV(J,MAXPI0) - PV(J,MAXPI0)=PV(J,MAXPIP) - PV(J,MAXPIP)=PV(J,MX1) - 49 CONTINUE - ENDIF - IF(NCH.LT.-0.5.AND.MAXPIM.NE.0) THEN - DO 56 J=5,10 - PV(J,MX1)=PV(J,MAXPI0) - PV(J,MAXPI0)=PV(J,MAXPIM) - PV(J,MAXPIM)=PV(J,MX1) - 56 CONTINUE - ENDIF - ENDIF -C - 10 CONTINUE -C** -C** CHECK TOTAL BARYON- NUMBER AND -C** SKIP ZERO MOMENTUM PARTICLES -C** - BNTOT=-BNUM(IPART)-ATNO2 - DO 57 I=1,NT1 - IPHMF=IFIX(PV(8,I)+0.1) - BNTOT=BNTOT+BNUM(IPHMF) - 57 CONTINUE - BNTOT=1.+BNTOT/ATNO2 - IF(ATNO2.LT.1.5) BNTOT=0. - CALL GRNDM(RNDM,1) - IF(ATNO2.GT.(75.+RNDM(1)*25.)) BNTOT=0. -C** - II=0 - DO 12 I=1,NT1 - CALL LENGTX(I,PPP) - IF(PPP.GT.1.E-6) THEN - IPHMF=IFIX(PV(8,I)+0.1) - IF(BNTOT.GT.0.3) THEN - IF(IPHMF.EQ.14.OR.IPHMF.EQ.16.OR.IPHMF.GE.30) THEN - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5.AND.PPP.LT.1.2) GOTO 12 - ENDIF - ENDIF - II=II+1 - DO 11 J=1,10 - PV(J,II)=PV(J,I) - 11 CONTINUE - ENDIF - 12 CONTINUE - NT1=II - NT=NT1 -C** -C** EXACT MOMENTUM CONSERVATION AND SOME CORRECTIONS FOR SINGLE -C** PARTICLE SPECTRA AT HIGH ENERGIES ONLY -C - 15 PV(1,MX1) = P*PX - PV(2,MX1) = P*PY - PV(3,MX1) = P*PZ - PV(4,MX1) = EN - PV(5,MX1) = ABS(AMAS) - PV(6,MX1) = NCH - PV(1,MX2) = 0. - PV(2,MX2) = 0. - PV(3,MX2) = 0. - PV(4,MX2) = MP - PV(5,MX2) = MP - PV(6,MX2) = 0. -C - IF(NPRT(4)) THEN - WRITE(NEWBCD,2000) - WRITE(NEWBCD,2001) MX1,(PV(J,MX1),J=1,6) - WRITE(NEWBCD,2001) MX2,(PV(J,MX2),J=1,6) - ENDIF -C - DO 58 J=1,10 - PV(J,MX9) = 0. - 58 CONTINUE - CALL ADD(MX1,MX2,MX3) - CALL LOR(MX1,MX3,MX4) - CALL LOR(MX2,MX3,MX5) - LEDPAR=0 - REDPAR=0. - GESPAR=0. - SNUM1=SNUM(IPART) - IF(IPART.EQ.11.OR.IPART.EQ.12) THEN - CALL GRNDM(RNDM,1) - SNUM1=1. - IF(RNDM(1).LT.0.5) SNUM1=-1. - ENDIF - DO 20 I=1,NT1 - IPHMF=IFIX(PV(8,I)+0.1) - IF(IPHMF.LE.6.OR.IPHMF.GT.32) GOTO 19 - CALL LENGTX(I,PPP) - IF(PPP.LT.1.E-3) GOTO 19 - CALL LOR(I,MX3,MX6) - CALL ANG(MX4,MX6,COST,TETA) - SNUM2=SNUM(IPHMF) - IF(IPHMF.EQ.11.OR.IPHMF.EQ.12) THEN - CALL GRNDM(RNDM,1) - SNUM2=1. - IF(RNDM(1).LT.0.5) SNUM2=-1. - ENDIF - IF(COST.GT.0.) THEN - HFMAS=ABS(AMAS) - REDDEC(1)=ABS(HFMAS -ABS(PV(5,I))) - REDDEC(2)=ABS(NCH-PV(6,I)) - REDDEC(3)=ABS(SNUM1 -SNUM2) - REDDEC(4)=ABS(BNUM(IPART)-BNUM(IPHMF)) - ELSE - HFMAS=MP - REDDEC(1)=ABS(HFMAS -ABS(PV(5,I))) - REDDEC(2)=ABS(ZNO2/ATNO2-PV(6,I)) - REDDEC(3)=ABS(SNUM2) - REDDEC(4)=ABS(1.-BNUM(IPHMF)) - ENDIF - REDDEC(6)=REDDEC(1)+REDDEC(2)+REDDEC(3)+REDDEC(4) - SBQWGT=REDDEC(6) - IF(HFMAS.LT.0.2) THEN - SBQWGT=(SBQWGT-2.5)*0.10 - IF(IPHMF.EQ.8) SBQWGT=0.15 - ELSE IF (HFMAS.LT.0.6) THEN - SBQWGT=(SBQWGT-3.0)*0.10 - ELSE - SBQWGT=(SBQWGT-2.0)*0.10 - IF(IPHMF.EQ.8) SBQWGT=0.15 - ENDIF - CALL LENGTX(MX6,PPP) - IF(SBQWGT.GT.0. .AND. PPP.GT.1.E-6) THEN - PLHMF=PPP*COST - PTHMF=PPP*SQRT(1.-COST*COST) - PLHMF=PLHMF*(1.-SBQWGT) - CALL CROSS3(MX4,MX6,MX8) - CALL CROSS3(MX8,MX4,MX8) - CALL LENGTX(MX4,PPP) - PV(1,MX7)=PV(1,MX4)*PLHMF/PPP - PV(2,MX7)=PV(2,MX4)*PLHMF/PPP - PV(3,MX7)=PV(3,MX4)*PLHMF/PPP - CALL LENGTX(MX8,PPP) - PV(1,MX8)=PV(1,MX8)*PTHMF/PPP - PV(2,MX8)=PV(2,MX8)*PTHMF/PPP - PV(3,MX8)=PV(3,MX8)*PTHMF/PPP - CALL ADD3(MX7,MX8,MX6) - CALL LENGTX(MX6,PPP) - AHMF=PPP - BHMF=PV(5,I) - PV(4,MX6)=DSQRT(AHMF**2+BHMF**2) -C - IF(NPRT(4)) - $ WRITE(NEWBCD,3001) I,(PV(J,I),J=1,8),SBQWGT -C - CALL LOR(MX6,MX5,I) -C - IF(NPRT(4)) - $ WRITE(NEWBCD,3001) I,(PV(J,I),J=1,8),SBQWGT - ENDIF -C - IF(IPHMF.EQ.8) GOTO 19 - CALL SUB3(MXGKPV,I,MX8) - CALL LENGTX(MX8,PPP) - REDDEC(5) = PPP/P - REDDEC(7)=REDDEC(5)*2./3. + REDDEC(6)/12. - REDDEC(7) = 1.-REDDEC(7) - IF(REDDEC(7) .LT. 0.) REDDEC(7) = 0. - GESPAR=GESPAR+REDDEC(7) - IF(REDDEC(6).LE.3.75) THEN - IF(REDDEC(7) .GT. REDPAR) THEN - LEDPAR=I - REDPAR=REDDEC(7) - ENDIF - ENDIF - IF(NPRT(4)) - $ WRITE(NEWBCD,2001) I,(PV(J,I),J=1,6),PV(8,I),REDDEC -C - 19 CALL ADD3(MX9,I,MX9) -C - 20 CONTINUE - IF(NPRT(4)) - $ WRITE(NEWBCD,1001) LEDPAR,REDPAR,GESPAR -C** -C** APPLY CORRECTION ON LEADING PARTICLE -C** - CALL GHEPEC(LEDPAR) -C** - RETURN - 1001 FORMAT(1H0,'SEARCH FOR LEADING PARTICLE, WEIGHT, TOTAL WEIGHT ', - $ I5,3X,2F10.4) - 2000 FORMAT(1H ,'MOMENTUM CONSERVATION AT HIGH ENERGIES: ') - 2001 FORMAT(1H ,I3,2X,7F8.3/1H ,5X,7F8.3) - 3001 FORMAT(1H ,I3,2X,5F8.3,F5.1,F8.3,F5.1,F8.3) - END diff --git a/StarVMC/geant3/ghrout/higclu.F b/StarVMC/geant3/ghrout/higclu.F deleted file mode 100644 index eb471d8d4b1..00000000000 --- a/StarVMC/geant3/ghrout/higclu.F +++ /dev/null @@ -1,973 +0,0 @@ -* -* $Id: higclu.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: higclu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.2 1996/04/18 15:30:15 ravndal -* PCM index overflow protection -* -* Revision 1.1.1.1 1995/10/24 10:21:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*FCA : 05/01/99 12:38:13 by Federico Carminati -* Added protection for uninitialised variables -*-- Author : - SUBROUTINE HIGCLU(IPPP,NFL,AVERN) -C -C *** GENERATION OF X- AND PT- VALUES FOR ALL PRODUCED PARTICLES *** -C *** NVE 01-AUG-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (11-OCT-1987) -C -C A SIMPLE TWO CLUSTER MODEL IS USED -C THIS SHOULD BE SUFFICIENT FOR LOW ENERGY INTERACTIONS -C -C -#include "geant321/s_defcom.inc" -#include "geant321/s_genio.inc" -C - REAL NUCSUP - DIMENSION SIDE(MXGKCU),C1PAR(5),G1PAR(5),NUCSUP(6) - DIMENSION RNDM(3) - DATA C1PAR/0.6,0.6,0.35,0.15,0.10/ - DATA G1PAR/2.6,2.6,1.8,1.30,1.20/ - DATA NUCSUP/1.0,0.7,0.5,0.4,0.35,0.3/ - DIMENSION PSUP(6) - DATA PSUP/3.,6.,20.,50.,100.,1000./ -C DATA CB/3.0/ - DATA CB/0.01/ - BPP(X)=4.000+1.600*LOG(X) -C - MX =MXGKPV-20 - MX1=MX+1 - MX2=MX+2 - MX3=MX+3 - MX4=MX+4 - MX5=MX+5 - MX6=MX+6 - MX7=MX+7 - MX8=MX+8 - EK=ENP(5) - EN=ENP(6) - P=ENP(7) - S=ENP(8) - RS=ENP(9) - CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) - SPALL=0 - IF(P.LT.0.001) GOTO 60 - NT=0 -C** -C** CHECK MASS-INDICES FOR ALL PARTICLES -C** - DO 1 I=1,100 - IF(IPA(I).EQ.0) GOTO 1 - NT=NT+1 - IPA(NT)=IPA(I) - 1 CONTINUE - CALL VZERO(IPA(NT+1),MXGKCU-NT) -C** -C** SET THE EFFECTICE 4-MOMENTUM-VECTOR FOR INTERACTION -C** - PV( 1,MXGKPV-1)=P*PX - PV( 2,MXGKPV-1)=P*PY - PV( 3,MXGKPV-1)=P*PZ - PV( 4,MXGKPV-1)=EN - PV( 5,MXGKPV-1)=AMAS - PV( 6,MXGKPV-1)=NCH - PV( 7,MXGKPV-1)=TOF - PV( 8,MXGKPV-1)=IPART - PV( 9,MXGKPV-1)=0. - PV(10,MXGKPV-1)=USERW - IER(48)=IER(48)+1 -C** -C** DISTRIBUTE PARTICLES IN FORWARD AND BACKWARD HEMISPHERE OF CMS -C** OF THE HADRON NUCLEON INTERACTION -C** - SIDE(1)= 1. - SIDE(2)=-1. - TARG=0. - IFOR=1 - IBACK=1 - DO 3 I=1,NT - IF (I .LE. 2) GO TO 78 - SIDE(I)=1. - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. 0.5) SIDE(I)=-1. - IF (SIDE(I) .LT. 0.) GO TO 76 -C -C --- PARTICLE IN FORWARD HEMISPHERE --- - 77 CONTINUE - IFOR=IFOR+1 - IF (IFOR .LE. 18) GO TO 78 -C -C --- CHANGE IT TO BACKWARD --- - SIDE(I)=-1. - IFOR=IFOR-1 - IBACK=IBACK+1 - GO TO 78 -C -C --- PARTICLE IN BACKWARD HEMISPHERE --- - 76 CONTINUE - IBACK=IBACK+1 - IF (IBACK .LE. 18) GO TO 78 -C -C --- CHANGE IT TO FORWARD --- - SIDE(I)=1. - IBACK=IBACK-1 - IFOR=IFOR+1 -C** -C** SUPPRESSION OF CHARGED PIONS FOR VARIOUS REASONS -C** - 78 IF(IPART.EQ.15.OR.IPART.GE.17) GOTO 3 - IF(ABS(IPA(I)).GE.10) GOTO 3 - IF(ABS(IPA(I)).EQ. 8) GOTO 3 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.(10.-P)/6.) GOTO 3 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ATNO2/300.) GOTO 3 - IPA(I)=14 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ZNO2/ATNO2) IPA(I)=16 - TARG=TARG+1. - 3 CONTINUE - TB=2.*IBACK - CALL GRNDM(RNDM,1) - IF(RS.LT.(2.0+RNDM(1))) TB=(2.*IBACK+NT)/2. -C** -C** NUCLEONS + SOME PIONS FROM INTRANUCLEAR CASCADE -C** - AFC=0.312+0.200*LOG(LOG(S))+S**1.5/6000. - IF(AFC.GT.0.50) AFC= 0.50 - XTARG=AFC*(ATNO2**0.33-1.0)*TB - IF(XTARG.LE.0.) XTARG=0.01 - DO 881 IPX=1,6 - IF(P.LE.PSUP(IPX)) GOTO 882 - 881 CONTINUE - IPX=6 - 882 XPNHMF = XTARG*NUCSUP(IPX) - XSHHMF = XTARG - XPNHMF - IF(XSHHMF.LT.0.01) XSHHMF=0.01 - IF(XPNHMF.LT.0.01) XPNHMF=0.01 - SSHHMF=0.5*XSHHMF - SPNHMF=0.9*XPNHMF - RSHHMF=SSHHMF**2/XSHHMF - RPNHMF=SPNHMF**2/XPNHMF - IF(RSHHMF.LT.1.1) THEN - CALL POISSO(XSHHMF,NSHHMF) - GOTO 541 - ELSE - RSHHMF=XSHHMF/(RSHHMF-1.) - IF(RSHHMF.LE.20.) THEN - CALL SVGAM7(RSHHMF,XHMF) - ELSE - KRSHMF=IFIX(RSHHMF+0.5) - CALL SVERL2(KRSHMF,XHMF) - ENDIF - XSHHMF=XHMF*XSHHMF/RSHHMF - CALL POISSO(XSHHMF,NSHHMF) - ENDIF - 541 IF(RPNHMF.LE.1.1) THEN - CALL POISSO(XPNHMF,NPNHMF) - GOTO 542 - ELSE - RPNHMF=XPNHMF/(RPNHMF-1.) - IF(RPNHMF.LE.20.) THEN - CALL SVGAM7(RPNHMF,XHMF) - ELSE - KRPHMF=IFIX(RPNHMF+0.5) - CALL SVERL2(KRPHMF,XHMF) - ENDIF - XPNHMF=XHMF*XPNHMF/RPNHMF - CALL POISSO(XPNHMF,NPNHMF) - ENDIF - 542 NTARG=NSHHMF+NPNHMF - NT2=NT+NTARG - IF(NT2.LE.MXGKPV-30) GOTO 2 - NT2=MXGKPV-30 - NTARG=NT2-NT - 2 CONTINUE - IF(NPRT(4)) - *WRITE(NEWBCD,3001) NTARG,NT - NT1=NT+1 - IF(NTARG.EQ.0) GOTO 51 - DO 4 I=NT1,NT2 - IF(NPNHMF.GT.0) GOTO 52 - CALL GRNDM(RNDM,1) - IPA(I)=-(7+IFIX(RNDM(1)*3.0)) - SIDE(I)=-1. - GOTO 4 - 52 IPA(I)=-16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.PNRAT) IPA(I)=-14 - TARG=TARG+1. - SIDE(I)=-2. - NPNHMF=NPNHMF-1 - 4 CONTINUE - NT=NT2 -C** -C** CHOOSE MASSES AND CHARGES FOR ALL PARTICLES -C** - 51 DO 5 I=1,NT - IPA1=ABS(IPA(I)) - PV(5,I)=RMASS(IPA1) - PV(6,I)=RCHARG(IPA1) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - 5 CONTINUE -C** -C** MARK LEADING STRANGE PARTICLES -C** - LEAD=0 - IF(IPART.LT.10.OR.IPART.EQ.14.OR.IPART.EQ.16) GOTO 6 - IPA1=ABS(IPA(1)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 531 - LEAD=IPA1 - GOTO 6 - 531 IPA1=ABS(IPA(2)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 6 - LEAD=IPA1 -C** -C** CHECK AVAILABLE KINETIC ENERGY , CHANGE HEMISPHERE FOR PARTICLES -C** UNTIL IT FITS -C** - 6 IF(NT.LE.1) GOTO 60 - TAVAI=0. - DO 7 I=1,NT - IF(SIDE(I).LT.-1.5) GOTO 7 - TAVAI=TAVAI+ABS(PV(5,I)) - 7 CONTINUE - IF(TAVAI.LT.RS) GOTO 12 - IF(NPRT(4)) - *WRITE(NEWBCD,3002) (IPA(I),I=1,20),(SIDE(I),I=1,20),TAVAI,RS - 3002 FORMAT(' *HIGCLU* CHECK AVAILABLE ENERGIES'/ - * 1H ,20I5/1H ,20F5.0/1H ,'TAVAI,RS ',2F10.3) - DO 10 I=1,NT - II=NT-I+1 - IF(SIDE(II).LT.-1.5) GOTO 10 - IF(II.EQ.NT) GOTO 11 - NT1=II+1 - NT2=NT - DO 8 J=NT1,NT2 - IPA(J-1)=IPA(J) - SIDE(J-1)=SIDE(J) - DO 8 K=1,10 - 8 PV(K,J-1)=PV(K,J) - GOTO 11 - 10 CONTINUE - 11 SIDE(NT)=0. - IPA(NT)=0 - NT=NT-1 - GOTO 6 - 12 IF(NT.LE.1) GOTO 60 - B=BPP(P) - IF(B.LT.CB) B=CB -C** -C** CHOOSE MASSES FOR THE 3 CLUSTER: 1. FORWARD CLUSTER -C** 2. BACKWARD MESON CLUSTER 3. BACKWARD NUCLEON CLUSTER -C** - RMC0=0. - RMD0=0. - RME0=0. - NTC=0 - NTD=0 - NTE=0 - DO 31 I=1,NT - IF(SIDE(I).GT.0.) RMC0=RMC0+ABS(PV(5,I)) - IF(SIDE(I).GT.0.) NTC =NTC +1 - IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) RMD0=RMD0+ABS(PV(5,I)) - IF( SIDE(I).LT.-1.5) RME0=RME0+ABS(PV(5,I)) - IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) NTD =NTD +1 - IF( SIDE(I).LT.-1.5) NTE =NTE +1 - 31 CONTINUE - 32 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RMC=RMC0 - IF(NTC.LE.1) GOTO 33 - NTC1=NTC - IF(NTC1.GT.5) NTC1=5 - RMC=-LOG(RAN) - GPAR=G1PAR(NTC1) - CPAR=C1PAR(NTC1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RMC=RMC0+RMC**CPAR/DUMNVE - 33 RMD=RMD0 - IF(NTD.LE.1) GOTO 34 - NTD1=NTD - IF(NTD1.GT.5) NTD1=5 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RMD=-LOG(RAN) - GPAR=G1PAR(NTD1) - CPAR=C1PAR(NTD1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RMD=RMD0+RMD**CPAR/DUMNVE - 34 IF(RMC+RMD.LE.RS) GOTO 35 - IF (RMC.LE.RMC0.AND.RMD.LE.RMD0) THEN - HNRMDC = 0.999*RS/(RMC+RMD) - RMD = RMD*HNRMDC - RMC = RMC*HNRMDC - ELSE - RMC=0.1*RMC0+0.9*RMC - RMD=0.1*RMD0+0.9*RMD - END IF - GOTO 34 - 35 IF(NTE.LE.0) GOTO 38 - RME=RME0 - IF(NTE.EQ.1) GOTO 38 - NTE1=NTE - IF(NTE1.GT.5) NTE1=5 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RME=-LOG(RAN) - GPAR=G1PAR(NTE1) - CPAR=C1PAR(NTE1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RME=RME0+RME**CPAR/DUMNVE -C** -C** SET BEAM , TARGET OF FIRST INTERACTION IN CMS -C** - 38 PV( 1,MX1) =0. - PV( 2,MX1) =0. - PV( 3,MX1) =P - PV( 5,MX1) =ABS(AMAS) - PV( 4,MX1) =SQRT(P*P+AMAS*AMAS) - PV( 1,MX2) =0. - PV( 2,MX2) =0. - PV( 3,MX2) =0. - PV( 4,MX2) =MP - PV( 5,MX2) =MP - -C** TRANSFORM INTO CMS. - - CALL ADD(MX1,MX2,MX) - CALL LOR(MX1,MX,MX1) - CALL LOR(MX2,MX,MX2) - PF=(S+RMD*RMD-RMC*RMC)**2 - 4*S*RMD*RMD - IF(PF.LT.0.0001) PF=0.0001 - DUMNVE=2.0*RS - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - PF=SQRT(PF)/DUMNVE - IF(NPRT(4)) WRITE(6,2002) PF,RMC,RMD,RS -C** -C** SET FINAL STATE MASSES AND ENERGIES IN CMS -C** - PV(5,MX3) =RMC - PV(5,MX4) =RMD - PV(4,MX3) =SQRT(PF*PF+RMC*RMC) - PV(4,MX4) =SQRT(PF*PF+RMD*RMD) -C** -C** SET |T| AND |TMIN| -C** - T=-1.0E10 - CALL GRNDM(RNDM,1) - IF (B .NE. 0.0) T=LOG(RNDM(1))/B - CALL LENGTX(MX1,PIN) - TACMIN=(PV(4,MX1) -PV(4,MX3))**2 -(PIN-PF)**2 -C** -C** CACULATE (SIN(TETA/2.)**2 AND COS(TETA), SET AZIMUTH ANGLE PHI -C** - DUMNVE=4.0*PIN*PF - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - CTET=-(T-TACMIN)/DUMNVE - CTET=1.0-2.0*CTET - IF (CTET .GT. 1.0) CTET=1.0 - IF (CTET .LT. -1.0) CTET=-1.0 - DUMNVE=1.0-CTET*CTET - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - STET=SQRT(DUMNVE) - CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI -C** -C** CALCULATE FINAL STATE MOMENTA IN CMS -C** - PV(1,MX3) =PF*STET*SIN(PHI) - PV(2,MX3) =PF*STET*COS(PHI) - PV(3,MX3) =PF*CTET - PV(1,MX4) =-PV(1,MX3) - PV(2,MX4) =-PV(2,MX3) - PV(3,MX4) =-PV(3,MX3) -C** -C** SIMULATE BACKWARD NUCLEON CLUSTER IN LAB. SYSTEM AND TRANSFORM IN -C** CMS. -C** - IF(NTE.EQ.0) GOTO 28 - GA=1.2 - EKIT1=0.04 - EKIT2=0.6 - IF(EK.GT.5.) GOTO 666 - EKIT1=EKIT1*EK**2/25. - EKIT2=EKIT2*EK**2/25. - 666 A=(1.-GA)/(EKIT2**(1.-GA)-EKIT1**(1.-GA)) - DO 29 I=1,NT - IF(SIDE(I).GT.-1.5) GOTO 29 - CALL GRNDM(RNDM,3) - RAN=RNDM(1) - EKIT=(RAN*(1.-GA)/A+EKIT1**(1.-GA))**(1./(1.-GA)) - PV(4,I)=EKIT+PV(5,I) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(DUMNVE) - RAN=RNDM(2) - COST=LOG(2.23*RAN+0.383)/0.96 - IF (COST .LT. -1.0) COST=-1.0 - IF (COST .GT. 1.0) COST=1.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(3) - PV(1,I)=PP*SINT*SIN(PHI) - PV(2,I)=PP*SINT*COS(PHI) - PV(3,I)=PP*COST - CALL LOR(I,MX,I) - 29 CONTINUE -C** -C** FRAGMENTATION OF FORWARD CLUSTER AND BACKWARD MESON CLUSTER -C** - 28 PV(1,1)=PV(1,MX3) - PV(2,1)=PV(2,MX3) - PV(3,1)=PV(3,MX3) - PV(4,1)=PV(4,MX3) - PV(1,2)=PV(1,MX4) - PV(2,2)=PV(2,MX4) - PV(3,2)=PV(3,MX4) - PV(4,2)=PV(4,MX4) - DO 17 I=MX5,MX6 - DO 16 J=1,3 - 16 PV(J,I)=-PV(J,I-2) - DO 17 J=4,5 - 17 PV(J,I)= PV(J,I-2) - KGENEV=1 - IF(NTC.LE.1) GOTO 26 - TECM=PV(5,MX3) - NPG=0 - DO 18 I=1,NT - IF(SIDE(I).LT.0.) GOTO 18 - IF(NPG.EQ.18) THEN - SIDE(I)=-SIDE(I) - GOTO 18 - ENDIF - NPG=NPG+1 - AMASS(NPG)=ABS(PV(5,I)) - 18 CONTINUE - IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) - CALL PHASP - NPG=0 - DO 19 I=1,NT - IF(SIDE(I).LT.0.OR.NPG.GE.18) GOTO 19 - NPG=NPG+1 - PV(1,I)=PCM(1,NPG) - PV(2,I)=PCM(2,NPG) - PV(3,I)=PCM(3,NPG) - PV(4,I)=PCM(4,NPG) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL LOR(I,MX5,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - 19 CONTINUE - 26 IF(NTD.LE.1) GOTO 27 - TECM=PV(5,MX4) - NPG=0 - DO 20 I=1,NT - IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 20 - IF(NPG.EQ.18) THEN - SIDE(I)=-2. - PV(4,I)=ABS(PV(5,I)) - DO 48 J=1,3 - PV(J,I)=0. - 48 CONTINUE - GOTO 20 - ENDIF - NPG=NPG+1 - AMASS(NPG)=ABS(PV(5,I)) - 20 CONTINUE - IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) - CALL PHASP - NPG=0 - DO 21 I=1,NT - IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 21 - NPG=NPG+1 - PV(1,I)=PCM(1,NPG) - PV(2,I)=PCM(2,NPG) - PV(3,I)=PCM(3,NPG) - PV(4,I)=PCM(4,NPG) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL LOR(I,MX6,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - 21 CONTINUE -C** -C** LORENTZ TRANSFORMATION IN LAB SYSTEM -C** - 27 TARG=0. - DO 36 I=1,NT - IF(PV(5,I).GT.0.5) TARG=TARG+1. - CALL LOR(I,MX2,I) - 36 CONTINUE - IF(TARG.LT.0.5) TARG=1. -C** -C** SOMETIMES THE LEADING STRANGE PARTICLES ARE LOST , SET THEM BACK -C** - IF(LEAD.EQ.0) GOTO 6085 - DO 6081 I=1,NT - IF(ABS(IPA(I)).EQ.LEAD) GOTO 6085 - 6081 CONTINUE - I=1 - IF(LEAD.GE.14.AND.ABS(IPA(2)).GE.14) I=2 - IF(LEAD.LT.14.AND.ABS(IPA(2)).LT.14) I=2 - IPA(I)=LEAD - EKIN=PV(4,I)-ABS(PV(5,I)) - PV(5,I)=RMASS(LEAD) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - PV(6,I)=RCHARG(LEAD) - PV(4,I)=PV(5,I)+EKIN - CALL LENGTX(I,PP) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP1=SQRT(DUMNVE) -C - IF (PP .GE. 1.0E-6) GO TO 8000 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8001 - 8000 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8001 CONTINUE -C -C** FOR VARIOUS REASONS, THE ENERGY BALANCE IS NOT SUFFICIENT, -C** CHECK THAT, ENERGY BALANCE, ANGLE OF FINAL SYSTEM E.T.C. - 6085 KGENEV=1 - PV(1,MX4) =0. - PV(2,MX4) =0. - PV(3,MX4) =P - PV(4,MX4) =SQRT(P*P+AMAS*AMAS) - PV(5,MX4) =ABS(AMAS) - EKIN0=PV(4,MX4) -PV(5,MX4) - PV(1,MX5) =0. - PV(2,MX5) =0. - PV(3,MX5) =0. - PV(4,MX5) =MP*TARG - PV(5,MX5) =PV(4,MX5) - EKIN=PV(4,MX4) +PV(4,MX5) - I=MX4 - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - I=MX5 - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL ADD(MX4,MX5,MX6) - CALL LOR(MX4,MX6,MX4) - CALL LOR(MX5,MX6,MX5) - TECM=PV(4,MX4) +PV(4,MX5) - NPG=NT - PV(1,MX8) =0. - PV(2,MX8) =0. - PV(3,MX8) =0. - PV(4,MX8) =0. - PV(5,MX8) =0. - EKIN1=0. - DO 598 I=1,NPG - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - CALL ADD(MX8,I,MX8) - EKIN1=EKIN1+PV(4,I)-PV(5,I) - EKIN=EKIN-PV(5,I) - IF(I.GT.18) GOTO 598 - AMASS(I)=PV(5,I) - 598 CONTINUE - IF(NPG.GT.18) GOTO 597 - CALL PHASP - EKIN=0. - DO 599 I=1,NPG - PV(1,MX7)=PCM(1,I) - PV(2,MX7)=PCM(2,I) - PV(3,MX7)=PCM(3,I) - PV(4,MX7)=PCM(4,I) - PV(5,MX7)=AMASS(I) - CALL LOR(MX7,MX5,MX7) - 599 EKIN=EKIN+PV(4,MX7)-PV(5,MX7) - CALL ANG(MX8,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1,EKIN -C** -C** MAKE SHURE, THAT KINETIC ENERGIES ARE CORRECT -C** THE 3. CLUSTER IS NOT PRODUCED WITHIN PROPER KINEMATICS!!! -C** EKIN= KINETIC ENERGY THEORETICALLY -C** EKIN1= KINETIC ENERGY SIMULATED -C** - 597 IF(EKIN1.EQ.0.) GOTO 600 - PV(1,MX7) =0. - PV(2,MX7) =0. - PV(3,MX7) =0. - PV(4,MX7) =0. - PV(5,MX7) =0. - WGT=EKIN/EKIN1 - EKIN1=0. - DO 602 I=1,NT - EKIN=PV(4,I)-PV(5,I) - EKIN=EKIN*WGT - PV(4,I)=EKIN+PV(5,I) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(DUMNVE) - CALL LENGTX(I,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8002 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP*COS(RTHNVE) - GO TO 8003 - 8002 CONTINUE - PV(1,I)=PV(1,I)*PP/PP1 - PV(2,I)=PV(2,I)*PP/PP1 - PV(3,I)=PV(3,I)*PP/PP1 - 8003 CONTINUE -C - EKIN1=EKIN1+EKIN - CALL ADD(MX7,I,MX7) - 602 CONTINUE - CALL ANG(MX7,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1 -C** -C** ROTATE IN DIRECTION OF Z-AXIS, SEE COMMENTS IN 'GENXPT' -C** - 600 PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 596 I=1,NT - 596 CALL ADD(MX7,I,MX7) -* call rannor(ran1,ran2) - CALL GRNDM(RNDM,2) - RY=RNDM(1) - RZ=RNDM(2) - RX=6.283185*RZ - A1=SQRT(-2.*LOG(RY)) - RAN1=A1*SIN(RX) - RAN2=A1*COS(RX) - PV(1,MX7)=PV(1,MX7)+RAN1*0.020*TARG - PV(2,MX7)=PV(2,MX7)+RAN2*0.020*TARG - CALL DEFS(MX4,MX7,MX8) - PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 595 I=1,NT - CALL TRAC(I,MX8,I) - 595 CALL ADD(MX7,I,MX7) - CALL ANG(MX7,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA -C** -C** ROTATE IN DIRECTION OF PRIMARY PARTICLE -C** - DEKIN=0. - NPIONS=0 - EK1=0. - DO 25 I=1,NT - CALL DEFS1(I,MXGKPV-1,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - IF(ATNO2.LT.1.5) GOTO 25 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - CALL NORMAL(RAN) - EKIN=EKIN-CFA*(1.+0.5*RAN) - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - CALL STEEQ(XXH,I) - DEKIN=DEKIN+EKIN*(1.-XXH) - EKIN=EKIN*XXH - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) NPIONS=NPIONS+1 - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) EK1=EK1+EKIN - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8004 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8005 - 8004 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8005 CONTINUE -C - 25 CONTINUE - IF(EK1.EQ.0.) GOTO 23 - IF(NPIONS.LE.0) GOTO 23 - DEKIN=1.+DEKIN/EK1 - DO 22 I=1,NT - IF(ABS(IPA(I)).LT.7.OR.ABS(IPA(I)).GT.9) GOTO 22 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - EKIN=EKIN*DEKIN - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8006 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8007 - 8006 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8007 CONTINUE -C - 22 CONTINUE - 23 IF(ATNO2.LT.1.5) GOTO 40 -C** -C** ADD BLACK TRACK PARTICLES -C** - CALL HIGHAB(SPROB) - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 40 - TEX=ENP(1) - SPALL=TARG - IF(TEX.LT.0.001) GOTO 445 - BLACK=(1.5+1.25*TARG)*ENP(1)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NPRT(4)) - *WRITE(NEWBCD,3003) NBL,TEX - IF(IFIX(TARG)+NBL.GT.ATNO2) NBL=ATNO2-TARG - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 445 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 441 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 441 - IF(NT.EQ.MXGKPV-2) GOTO 441 - IF(EKIN2.GT.TEX) GOTO 443 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - IPA1=16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,3) - IF(RNDM(1).GT.PNRAT) IPA1=14 - NT=NT+1 - SPALL=SPALL+1. - COST=-1.0+RNDM(2)*2.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(3) - IPA(NT)=-IPA1 - SIDE(NT)=-4. - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=1. - PV(4,NT)=EKIN1+PV(5,NT) - DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(DUMNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 441 CONTINUE - 443 IF(ATNO2.LT.10.) GOTO 445 - IF(EK.GT.2.0) GOTO 445 - II=NT+1 - KK=0 - EKA=EK - IF(EKA.GT.1.) EKA=EKA*EKA - IF(EKA.LT.0.1) EKA=0.1 - IKA=3.6*EXP((ZNO2**2/ATNO2-35.56)/6.45)/EKA - IF(IKA.LE.0) GO TO 445 - DO 444 I=1,NT - II=II-1 - IF(IPA(II).NE.-14) GOTO 444 - IPA(II)=-16 - IPA1 = 16 - PV(5,II)=ABS(RMASS(IPA1)) - PV(6,II)=RCHARG(IPA1) - KK=KK+1 - IF(KK.GT.IKA) GOTO 445 - 444 CONTINUE - 445 TEX=ENP(3) - IF(TEX.LT.0.001) GOTO 40 - BLACK=(1.5+1.25*TARG)*ENP(3)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 40 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - IF(NPRT(4)) - *WRITE(NEWBCD,3004) NBL,TEX - DO 442 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 442 - IF(NT.EQ.MXGKPV-2) GOTO 442 - IF(EKIN2.GT.TEX) GOTO 40 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.005*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - CALL GRNDM(RNDM,3) - COST=-1.0+RNDM(1)*2.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(2) - RAN=RNDM(3) - IPA(NT+1)=-30 - IF(RAN.GT.0.60) IPA(NT+1)=-31 - IF(RAN.GT.0.90) IPA(NT+1)=-32 - SIDE(NT+1)=-4. - PV(5,NT+1)=(ABS(IPA(NT+1))-28)*MP - SPALL=SPALL+PV(5,NT+1)*1.066 - IF(SPALL.GT.ATNO2) GOTO 40 - NT=NT+1 - PV(6,NT)=1. - IF(IPA(NT).EQ.-32) PV(6,NT)=2. - PV(7,NT)=1. - PV(4,NT)=PV(5,NT)+EKIN1 - DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(DUMNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 442 CONTINUE -C** -C** STORE ON EVENT COMMON -C** - 40 CALL GRNDM(RNDM,1) - IF(RS.GT.(4.+RNDM(1)*1.)) GOTO 42 - DO 41 I=1,NT - CALL LENGTX(I,ETB) - IF(ETB.LT.P) GOTO 41 - ETF=P - PV(4,I)=SQRT(PV(5,I)**2+ETF**2) - DUMNVE=ETB - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - ETF=ETF/DUMNVE - PV(1,I)=PV(1,I)*ETF - PV(2,I)=PV(2,I)*ETF - PV(3,I)=PV(3,I)*ETF - 41 CONTINUE - 42 EKIN=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - EKIN1=PV(4,MXGKPV-1)-ABS(PV(5,MXGKPV-1)) - EKIN2=0. - CALL TDELAY(TOF1) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - TOF=TOF-TOF1*LOG(RAN) - DO 44 I=1,NT - IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) - PV(7,I)=TOF - PV(8,I)=ABS(IPA(I)) - PV(9,I)=0. - 44 PV(10,I)=0. - CALL GHETUN(NT) - DO 45 I=1,NT - EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) - 45 CONTINUE - EKIN2=(EKIN2-EKIN)/EKIN - IF(NPRT(4)) - $ WRITE(NEWBCD,2006) NT,EKIN,ENP(1),ENP(3),EKIN1,EKIN2 - IF(EKIN2.GT.0.2) GOTO 60 - INTCT=INTCT+1. - NMODE=3 - IF(SPALL.LT.0.5.AND.ATNO2.GT.1.5) NMODE=14 - CALL SETCUR(NT) - NTK=NTK+1 - IF(NT.EQ.1) GOTO 300 - DO 50 II=2,NT - I=II-1 - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE - 300 CONTINUE - GO TO 9999 -C** -C** IT IS NOT POSSIBLE TO PRODUCE A PROPER TWO CLUSTER FINAL STATE. -C** CONTINUE WITH QUASI ELASTIC SCATTERING -C** - 60 IF(NPRT(4)) WRITE(NEWBCD,2005) - DO 61 I=3,MXGKCU - 61 IPA(I)=0 - IPA(1)=IPART - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - CALL TWOB(IPPP,NFL,AVERN) - GO TO 9999 -C - 2000 FORMAT(' *HIGCLU* CMS PARAMETERS OF FINAL STATE PARTICLES', - $ ' AFTER ',I3,' TRIALS') - 2001 FORMAT(' *HIGCLU* TRACK',2X,I3,2X,10F8.2,2X,I3,2X,F3.0) - 2002 FORMAT(' *HIGCLU* MOMENTUM ',F8.3,' MASSES ',2F8.4,' RS ',F8.4) - 2003 FORMAT(' *HIGCLU* TETA,EKIN0,EKIN1,EKIN ',4F10.4) - 2004 FORMAT(' *HIGCLU* TECM,NPB,MASSES: ',F10.4,1X,I3,1X,8F10.4/ - $ 1H ,26X,15X,8F10.4) - 2005 FORMAT(' *HIGCLU* NUMBER OF FINAL STATE PARTICLES', - $ ' LESS THAN 2 ==> CONTINUE WITH 2-BODY SCATTERING') - 2006 FORMAT(' *HIGCLU* COMP.',1X,I5,1X,5F7.2) - 3001 FORMAT(' *HIGCLU* NUCLEAR EXCITATION ',I5,' PARTICLES PRODUCED', - $ ' IN ADDITION TO',I5,' NORMAL PARTICLES') - 3003 FORMAT(' *HIGCLU* ',I3,' BLACK TRACK PARTICLES PRODUCED', - $ ' WITH TOTAL KINETIC ENERGY OF ',F8.3,' GEV') - 3004 FORMAT(' *HIGCLU* ',I5,' HEAVY FRAGMENTS WITH TOTAL ENERGY OF ', - $ F8.4,' GEV') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/ghrout/higclu.F.ori b/StarVMC/geant3/ghrout/higclu.F.ori deleted file mode 100644 index 4a3ce147991..00000000000 --- a/StarVMC/geant3/ghrout/higclu.F.ori +++ /dev/null @@ -1,958 +0,0 @@ -* -* $Id: higclu.F.ori,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: higclu.F.ori,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.2 1996/04/18 15:30:15 ravndal -* PCM index overflow protection -* -* Revision 1.1.1.1 1995/10/24 10:21:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE HIGCLU(IPPP,NFL,AVERN) -C -C *** GENERATION OF X- AND PT- VALUES FOR ALL PRODUCED PARTICLES *** -C *** NVE 01-AUG-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (11-OCT-1987) -C -C A SIMPLE TWO CLUSTER MODEL IS USED -C THIS SHOULD BE SUFFICIENT FOR LOW ENERGY INTERACTIONS -C -C -#include "geant321/s_defcom.inc" -#include "geant321/s_genio.inc" -C - REAL NUCSUP - DIMENSION SIDE(MXGKCU),C1PAR(5),G1PAR(5),NUCSUP(6) - DIMENSION RNDM(3) - DATA C1PAR/0.6,0.6,0.35,0.15,0.10/ - DATA G1PAR/2.6,2.6,1.8,1.30,1.20/ - DATA NUCSUP/1.0,0.7,0.5,0.4,0.35,0.3/ - DIMENSION PSUP(6) - DATA PSUP/3.,6.,20.,50.,100.,1000./ -C DATA CB/3.0/ - DATA CB/0.01/ - BPP(X)=4.000+1.600*LOG(X) -C - MX =MXGKPV-20 - MX1=MX+1 - MX2=MX+2 - MX3=MX+3 - MX4=MX+4 - MX5=MX+5 - MX6=MX+6 - MX7=MX+7 - MX8=MX+8 - EK=ENP(5) - EN=ENP(6) - P=ENP(7) - S=ENP(8) - RS=ENP(9) - CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) - IF(P.LT.0.001) GOTO 60 - NT=0 -C** -C** CHECK MASS-INDICES FOR ALL PARTICLES -C** - DO 1 I=1,100 - IF(IPA(I).EQ.0) GOTO 1 - NT=NT+1 - IPA(NT)=IPA(I) - 1 CONTINUE - CALL VZERO(IPA(NT+1),MXGKCU-NT) -C** -C** SET THE EFFECTICE 4-MOMENTUM-VECTOR FOR INTERACTION -C** - PV( 1,MXGKPV-1)=P*PX - PV( 2,MXGKPV-1)=P*PY - PV( 3,MXGKPV-1)=P*PZ - PV( 4,MXGKPV-1)=EN - PV( 5,MXGKPV-1)=AMAS - PV( 6,MXGKPV-1)=NCH - PV( 7,MXGKPV-1)=TOF - PV( 8,MXGKPV-1)=IPART - PV( 9,MXGKPV-1)=0. - PV(10,MXGKPV-1)=USERW - IER(48)=IER(48)+1 -C** -C** DISTRIBUTE PARTICLES IN FORWARD AND BACKWARD HEMISPHERE OF CMS -C** OF THE HADRON NUCLEON INTERACTION -C** - SIDE(1)= 1. - SIDE(2)=-1. - TARG=0. - IFOR=1 - IBACK=1 - DO 3 I=1,NT - IF (I .LE. 2) GO TO 78 - SIDE(I)=1. - CALL GRNDM(RNDM,1) - IF (RNDM(1) .LT. 0.5) SIDE(I)=-1. - IF (SIDE(I) .LT. 0.) GO TO 76 -C -C --- PARTICLE IN FORWARD HEMISPHERE --- - 77 CONTINUE - IFOR=IFOR+1 - IF (IFOR .LE. 18) GO TO 78 -C -C --- CHANGE IT TO BACKWARD --- - SIDE(I)=-1. - IFOR=IFOR-1 - IBACK=IBACK+1 - GO TO 78 -C -C --- PARTICLE IN BACKWARD HEMISPHERE --- - 76 CONTINUE - IBACK=IBACK+1 - IF (IBACK .LE. 18) GO TO 78 -C -C --- CHANGE IT TO FORWARD --- - SIDE(I)=1. - IBACK=IBACK-1 - IFOR=IFOR+1 -C** -C** SUPPRESSION OF CHARGED PIONS FOR VARIOUS REASONS -C** - 78 IF(IPART.EQ.15.OR.IPART.GE.17) GOTO 3 - IF(ABS(IPA(I)).GE.10) GOTO 3 - IF(ABS(IPA(I)).EQ. 8) GOTO 3 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.(10.-P)/6.) GOTO 3 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ATNO2/300.) GOTO 3 - IPA(I)=14 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.ZNO2/ATNO2) IPA(I)=16 - TARG=TARG+1. - 3 CONTINUE - TB=2.*IBACK - CALL GRNDM(RNDM,1) - IF(RS.LT.(2.0+RNDM(1))) TB=(2.*IBACK+NT)/2. -C** -C** NUCLEONS + SOME PIONS FROM INTRANUCLEAR CASCADE -C** - AFC=0.312+0.200*LOG(LOG(S))+S**1.5/6000. - IF(AFC.GT.0.50) AFC= 0.50 - XTARG=AFC*(ATNO2**0.33-1.0)*TB - IF(XTARG.LE.0.) XTARG=0.01 - DO 881 IPX=1,6 - IF(P.LE.PSUP(IPX)) GOTO 882 - 881 CONTINUE - IPX=6 - 882 XPNHMF = XTARG*NUCSUP(IPX) - XSHHMF = XTARG - XPNHMF - IF(XSHHMF.LT.0.01) XSHHMF=0.01 - IF(XPNHMF.LT.0.01) XPNHMF=0.01 - SSHHMF=0.5*XSHHMF - SPNHMF=0.9*XPNHMF - RSHHMF=SSHHMF**2/XSHHMF - RPNHMF=SPNHMF**2/XPNHMF - IF(RSHHMF.LT.1.1) THEN - CALL POISSO(XSHHMF,NSHHMF) - GOTO 541 - ELSE - RSHHMF=XSHHMF/(RSHHMF-1.) - IF(RSHHMF.LE.20.) THEN - CALL SVGAM7(RSHHMF,XHMF) - ELSE - KRSHMF=IFIX(RSHHMF+0.5) - CALL SVERL2(KRSHMF,XHMF) - ENDIF - XSHHMF=XHMF*XSHHMF/RSHHMF - CALL POISSO(XSHHMF,NSHHMF) - ENDIF - 541 IF(RPNHMF.LE.1.1) THEN - CALL POISSO(XPNHMF,NPNHMF) - GOTO 542 - ELSE - RPNHMF=XPNHMF/(RPNHMF-1.) - IF(RPNHMF.LE.20.) THEN - CALL SVGAM7(RPNHMF,XHMF) - ELSE - KRPHMF=IFIX(RPNHMF+0.5) - CALL SVERL2(KRPHMF,XHMF) - ENDIF - XPNHMF=XHMF*XPNHMF/RPNHMF - CALL POISSO(XPNHMF,NPNHMF) - ENDIF - 542 NTARG=NSHHMF+NPNHMF - NT2=NT+NTARG - IF(NT2.LE.MXGKPV-30) GOTO 2 - NT2=MXGKPV-30 - NTARG=NT2-NT - 2 CONTINUE - IF(NPRT(4)) - *WRITE(NEWBCD,3001) NTARG,NT - NT1=NT+1 - IF(NTARG.EQ.0) GOTO 51 - DO 4 I=NT1,NT2 - IF(NPNHMF.GT.0) GOTO 52 - CALL GRNDM(RNDM,1) - IPA(I)=-(7+IFIX(RNDM(1)*3.0)) - GOTO 4 - 52 IPA(I)=-16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.PNRAT) IPA(I)=-14 - TARG=TARG+1. - SIDE(I)=-2. - NPNHMF=NPNHMF-1 - 4 CONTINUE - NT=NT2 -C** -C** CHOOSE MASSES AND CHARGES FOR ALL PARTICLES -C** - 51 DO 5 I=1,NT - IPA1=ABS(IPA(I)) - PV(5,I)=RMASS(IPA1) - PV(6,I)=RCHARG(IPA1) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - 5 CONTINUE -C** -C** MARK LEADING STRANGE PARTICLES -C** - LEAD=0 - IF(IPART.LT.10.OR.IPART.EQ.14.OR.IPART.EQ.16) GOTO 6 - IPA1=ABS(IPA(1)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 531 - LEAD=IPA1 - GOTO 6 - 531 IPA1=ABS(IPA(2)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 6 - LEAD=IPA1 -C** -C** CHECK AVAILABLE KINETIC ENERGY , CHANGE HEMISPHERE FOR PARTICLES -C** UNTIL IT FITS -C** - 6 IF(NT.LE.1) GOTO 60 - TAVAI=0. - DO 7 I=1,NT - IF(SIDE(I).LT.-1.5) GOTO 7 - TAVAI=TAVAI+ABS(PV(5,I)) - 7 CONTINUE - IF(TAVAI.LT.RS) GOTO 12 - IF(NPRT(4)) - *WRITE(NEWBCD,3002) (IPA(I),I=1,20),(SIDE(I),I=1,20),TAVAI,RS - 3002 FORMAT(' *HIGCLU* CHECK AVAILABLE ENERGIES'/ - * 1H ,20I5/1H ,20F5.0/1H ,'TAVAI,RS ',2F10.3) - DO 10 I=1,NT - II=NT-I+1 - IF(SIDE(II).LT.-1.5) GOTO 10 - IF(II.EQ.NT) GOTO 11 - NT1=II+1 - NT2=NT - DO 8 J=NT1,NT2 - IPA(J-1)=IPA(J) - SIDE(J-1)=SIDE(J) - DO 8 K=1,10 - 8 PV(K,J-1)=PV(K,J) - GOTO 11 - 10 CONTINUE - 11 SIDE(NT)=0. - IPA(NT)=0 - NT=NT-1 - GOTO 6 - 12 IF(NT.LE.1) GOTO 60 - B=BPP(P) - IF(B.LT.CB) B=CB -C** -C** CHOOSE MASSES FOR THE 3 CLUSTER: 1. FORWARD CLUSTER -C** 2. BACKWARD MESON CLUSTER 3. BACKWARD NUCLEON CLUSTER -C** - RMC0=0. - RMD0=0. - RME0=0. - NTC=0 - NTD=0 - NTE=0 - DO 31 I=1,NT - IF(SIDE(I).GT.0.) RMC0=RMC0+ABS(PV(5,I)) - IF(SIDE(I).GT.0.) NTC =NTC +1 - IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) RMD0=RMD0+ABS(PV(5,I)) - IF( SIDE(I).LT.-1.5) RME0=RME0+ABS(PV(5,I)) - IF(SIDE(I).LT.0..AND.SIDE(I).GT.-1.5) NTD =NTD +1 - IF( SIDE(I).LT.-1.5) NTE =NTE +1 - 31 CONTINUE - 32 CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RMC=RMC0 - IF(NTC.LE.1) GOTO 33 - NTC1=NTC - IF(NTC1.GT.5) NTC1=5 - RMC=-LOG(1.-RAN) - GPAR=G1PAR(NTC1) - CPAR=C1PAR(NTC1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RMC=RMC0+RMC**CPAR/DUMNVE - 33 RMD=RMD0 - IF(NTD.LE.1) GOTO 34 - NTD1=NTD - IF(NTD1.GT.5) NTD1=5 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RMD=-LOG(1.-RAN) - GPAR=G1PAR(NTD1) - CPAR=C1PAR(NTD1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RMD=RMD0+RMD**CPAR/DUMNVE - 34 IF(RMC+RMD.LE.RS) GOTO 35 - IF (RMC.LE.RMC0.AND.RMD.LE.RMD0) THEN - HNRMDC = 0.999*RS/(RMC+RMD) - RMD = RMD*HNRMDC - RMC = RMC*HNRMDC - ELSE - RMC=0.1*RMC0+0.9*RMC - RMD=0.1*RMD0+0.9*RMD - END IF - GOTO 34 - 35 IF(NTE.LE.0) GOTO 38 - RME=RME0 - IF(NTE.EQ.1) GOTO 38 - NTE1=NTE - IF(NTE1.GT.5) NTE1=5 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - RME=-LOG(1.-RAN) - GPAR=G1PAR(NTE1) - CPAR=C1PAR(NTE1) - DUMNVE=GPAR - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - RME=RME0+RME**CPAR/DUMNVE -C** -C** SET BEAM , TARGET OF FIRST INTERACTION IN CMS -C** - 38 PV( 1,MX1) =0. - PV( 2,MX1) =0. - PV( 3,MX1) =P - PV( 5,MX1) =ABS(AMAS) - PV( 4,MX1) =SQRT(P*P+AMAS*AMAS) - PV( 1,MX2) =0. - PV( 2,MX2) =0. - PV( 3,MX2) =0. - PV( 4,MX2) =MP - PV( 5,MX2) =MP - -C** TRANSFORM INTO CMS. - - CALL ADD(MX1,MX2,MX) - CALL LOR(MX1,MX,MX1) - CALL LOR(MX2,MX,MX2) - PF=(S+RMD*RMD-RMC*RMC)**2 - 4*S*RMD*RMD - IF(PF.LT.0.0001) PF=0.0001 - DUMNVE=2.0*RS - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - PF=SQRT(PF)/DUMNVE - IF(NPRT(4)) WRITE(6,2002) PF,RMC,RMD,RS -C** -C** SET FINAL STATE MASSES AND ENERGIES IN CMS -C** - PV(5,MX3) =RMC - PV(5,MX4) =RMD - PV(4,MX3) =SQRT(PF*PF+RMC*RMC) - PV(4,MX4) =SQRT(PF*PF+RMD*RMD) -C** -C** SET |T| AND |TMIN| -C** - T=-1.0E10 - CALL GRNDM(RNDM,1) - IF (B .NE. 0.0) T=LOG(1.-RNDM(1))/B - CALL LENGTX(MX1,PIN) - TACMIN=(PV(4,MX1) -PV(4,MX3))**2 -(PIN-PF)**2 -C** -C** CACULATE (SIN(TETA/2.)**2 AND COS(TETA), SET AZIMUTH ANGLE PHI -C** - DUMNVE=4.0*PIN*PF - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - CTET=-(T-TACMIN)/DUMNVE - CTET=1.0-2.0*CTET - IF (CTET .GT. 1.0) CTET=1.0 - IF (CTET .LT. -1.0) CTET=-1.0 - DUMNVE=1.0-CTET*CTET - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - STET=SQRT(DUMNVE) - CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI -C** -C** CALCULATE FINAL STATE MOMENTA IN CMS -C** - PV(1,MX3) =PF*STET*SIN(PHI) - PV(2,MX3) =PF*STET*COS(PHI) - PV(3,MX3) =PF*CTET - PV(1,MX4) =-PV(1,MX3) - PV(2,MX4) =-PV(2,MX3) - PV(3,MX4) =-PV(3,MX3) -C** -C** SIMULATE BACKWARD NUCLEON CLUSTER IN LAB. SYSTEM AND TRANSFORM IN -C** CMS. -C** - IF(NTE.EQ.0) GOTO 28 - GA=1.2 - EKIT1=0.04 - EKIT2=0.6 - IF(EK.GT.5.) GOTO 666 - EKIT1=EKIT1*EK**2/25. - EKIT2=EKIT2*EK**2/25. - 666 A=(1.-GA)/(EKIT2**(1.-GA)-EKIT1**(1.-GA)) - DO 29 I=1,NT - IF(SIDE(I).GT.-1.5) GOTO 29 - CALL GRNDM(RNDM,3) - RAN=RNDM(1) - EKIT=(RAN*(1.-GA)/A+EKIT1**(1.-GA))**(1./(1.-GA)) - PV(4,I)=EKIT+PV(5,I) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(DUMNVE) - RAN=RNDM(2) - COST=LOG(2.23*RAN+0.383)/0.96 - IF (COST .LT. -1.0) COST=-1.0 - IF (COST .GT. 1.0) COST=1.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(3) - PV(1,I)=PP*SINT*SIN(PHI) - PV(2,I)=PP*SINT*COS(PHI) - PV(3,I)=PP*COST - CALL LOR(I,MX,I) - 29 CONTINUE -C** -C** FRAGMENTATION OF FORWARD CLUSTER AND BACKWARD MESON CLUSTER -C** - 28 PV(1,1)=PV(1,MX3) - PV(2,1)=PV(2,MX3) - PV(3,1)=PV(3,MX3) - PV(4,1)=PV(4,MX3) - PV(1,2)=PV(1,MX4) - PV(2,2)=PV(2,MX4) - PV(3,2)=PV(3,MX4) - PV(4,2)=PV(4,MX4) - DO 17 I=MX5,MX6 - DO 16 J=1,3 - 16 PV(J,I)=-PV(J,I-2) - DO 17 J=4,5 - 17 PV(J,I)= PV(J,I-2) - KGENEV=1 - IF(NTC.LE.1) GOTO 26 - TECM=PV(5,MX3) - NPG=0 - DO 18 I=1,NT - IF(SIDE(I).LT.0.) GOTO 18 - IF(NPG.EQ.18) THEN - SIDE(I)=-SIDE(I) - GOTO 18 - ENDIF - NPG=NPG+1 - AMASS(NPG)=ABS(PV(5,I)) - 18 CONTINUE - IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) - CALL PHASP - NPG=0 - DO 19 I=1,NT - IF(SIDE(I).LT.0.OR.NPG.GE.18) GOTO 19 - NPG=NPG+1 - PV(1,I)=PCM(1,NPG) - PV(2,I)=PCM(2,NPG) - PV(3,I)=PCM(3,NPG) - PV(4,I)=PCM(4,NPG) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL LOR(I,MX5,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - 19 CONTINUE - 26 IF(NTD.LE.1) GOTO 27 - TECM=PV(5,MX4) - NPG=0 - DO 20 I=1,NT - IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 20 - IF(NPG.EQ.18) THEN - SIDE(I)=-2. - PV(4,I)=ABS(PV(5,I)) - DO 48 J=1,3 - PV(J,I)=0. - 48 CONTINUE - GOTO 20 - ENDIF - NPG=NPG+1 - AMASS(NPG)=ABS(PV(5,I)) - 20 CONTINUE - IF(NPRT(4)) WRITE(NEWBCD,2004) TECM,NPG,(AMASS(I),I=1,NPG) - CALL PHASP - NPG=0 - DO 21 I=1,NT - IF(SIDE(I).GT.0..OR.SIDE(I).LT.-1.5) GOTO 21 - NPG=NPG+1 - PV(1,I)=PCM(1,NPG) - PV(2,I)=PCM(2,NPG) - PV(3,I)=PCM(3,NPG) - PV(4,I)=PCM(4,NPG) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL LOR(I,MX6,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - 21 CONTINUE -C** -C** LORENTZ TRANSFORMATION IN LAB SYSTEM -C** - 27 TARG=0. - DO 36 I=1,NT - IF(PV(5,I).GT.0.5) TARG=TARG+1. - CALL LOR(I,MX2,I) - 36 CONTINUE - IF(TARG.LT.0.5) TARG=1. -C** -C** SOMETIMES THE LEADING STRANGE PARTICLES ARE LOST , SET THEM BACK -C** - IF(LEAD.EQ.0) GOTO 6085 - DO 6081 I=1,NT - IF(ABS(IPA(I)).EQ.LEAD) GOTO 6085 - 6081 CONTINUE - I=1 - IF(LEAD.GE.14.AND.ABS(IPA(2)).GE.14) I=2 - IF(LEAD.LT.14.AND.ABS(IPA(2)).LT.14) I=2 - IPA(I)=LEAD - EKIN=PV(4,I)-ABS(PV(5,I)) - PV(5,I)=RMASS(LEAD) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - PV(6,I)=RCHARG(LEAD) - PV(4,I)=PV(5,I)+EKIN - CALL LENGTX(I,PP) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP1=SQRT(DUMNVE) -C - IF (PP .GE. 1.0E-6) GO TO 8000 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8001 - 8000 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8001 CONTINUE -C -C** FOR VARIOUS REASONS, THE ENERGY BALANCE IS NOT SUFFICIENT, -C** CHECK THAT, ENERGY BALANCE, ANGLE OF FINAL SYSTEM E.T.C. - 6085 KGENEV=1 - PV(1,MX4) =0. - PV(2,MX4) =0. - PV(3,MX4) =P - PV(4,MX4) =SQRT(P*P+AMAS*AMAS) - PV(5,MX4) =ABS(AMAS) - EKIN0=PV(4,MX4) -PV(5,MX4) - PV(1,MX5) =0. - PV(2,MX5) =0. - PV(3,MX5) =0. - PV(4,MX5) =MP*TARG - PV(5,MX5) =PV(4,MX5) - EKIN=PV(4,MX4) +PV(4,MX5) - I=MX4 - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - I=MX5 - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL ADD(MX4,MX5,MX6) - CALL LOR(MX4,MX6,MX4) - CALL LOR(MX5,MX6,MX5) - TECM=PV(4,MX4) +PV(4,MX5) - NPG=NT - PV(1,MX8) =0. - PV(2,MX8) =0. - PV(3,MX8) =0. - PV(4,MX8) =0. - PV(5,MX8) =0. - EKIN1=0. - DO 598 I=1,NPG - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - CALL ADD(MX8,I,MX8) - EKIN1=EKIN1+PV(4,I)-PV(5,I) - EKIN=EKIN-PV(5,I) - IF(I.GT.18) GOTO 598 - AMASS(I)=PV(5,I) - 598 CONTINUE - IF(NPG.GT.18) GOTO 597 - CALL PHASP - EKIN=0. - DO 599 I=1,NPG - PV(1,MX7)=PCM(1,I) - PV(2,MX7)=PCM(2,I) - PV(3,MX7)=PCM(3,I) - PV(4,MX7)=PCM(4,I) - PV(5,MX7)=AMASS(I) - CALL LOR(MX7,MX5,MX7) - 599 EKIN=EKIN+PV(4,MX7)-PV(5,MX7) - CALL ANG(MX8,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1,EKIN -C** -C** MAKE SHURE, THAT KINETIC ENERGIES ARE CORRECT -C** THE 3. CLUSTER IS NOT PRODUCED WITHIN PROPER KINEMATICS!!! -C** EKIN= KINETIC ENERGY THEORETICALLY -C** EKIN1= KINETIC ENERGY SIMULATED -C** - 597 IF(EKIN1.EQ.0.) GOTO 600 - PV(1,MX7) =0. - PV(2,MX7) =0. - PV(3,MX7) =0. - PV(4,MX7) =0. - PV(5,MX7) =0. - WGT=EKIN/EKIN1 - EKIN1=0. - DO 602 I=1,NT - EKIN=PV(4,I)-PV(5,I) - EKIN=EKIN*WGT - PV(4,I)=EKIN+PV(5,I) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(DUMNVE) - CALL LENGTX(I,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8002 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP*COS(RTHNVE) - GO TO 8003 - 8002 CONTINUE - PV(1,I)=PV(1,I)*PP/PP1 - PV(2,I)=PV(2,I)*PP/PP1 - PV(3,I)=PV(3,I)*PP/PP1 - 8003 CONTINUE -C - EKIN1=EKIN1+EKIN - CALL ADD(MX7,I,MX7) - 602 CONTINUE - CALL ANG(MX7,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1 -C** -C** ROTATE IN DIRECTION OF Z-AXIS, SEE COMMENTS IN 'GENXPT' -C** - 600 PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 596 I=1,NT - 596 CALL ADD(MX7,I,MX7) -* call rannor(ran1,ran2) - CALL GRNDM(RNDM,2) - RY=RNDM(1) - RZ=RNDM(2) - RX=6.283185*RZ - A1=SQRT(-2.*LOG(RY)) - RAN1=A1*SIN(RX) - RAN2=A1*COS(RX) - PV(1,MX7)=PV(1,MX7)+RAN1*0.020*TARG - PV(2,MX7)=PV(2,MX7)+RAN2*0.020*TARG - CALL DEFS(MX4,MX7,MX8) - PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 595 I=1,NT - CALL TRAC(I,MX8,I) - 595 CALL ADD(MX7,I,MX7) - CALL ANG(MX7,MX4,COST,TETA) - IF(NPRT(4)) WRITE(NEWBCD,2003) TETA -C** -C** ROTATE IN DIRECTION OF PRIMARY PARTICLE -C** - DEKIN=0. - NPIONS=0 - EK1=0. - DO 25 I=1,NT - CALL DEFS1(I,MXGKPV-1,I) - IF(NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - IF(ATNO2.LT.1.5) GOTO 25 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - CALL NORMAL(RAN) - EKIN=EKIN-CFA*(1.+0.5*RAN) - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - CALL STEEQ(XXH,I) - DEKIN=DEKIN+EKIN*(1.-XXH) - EKIN=EKIN*XXH - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) NPIONS=NPIONS+1 - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) EK1=EK1+EKIN - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8004 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8005 - 8004 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8005 CONTINUE -C - 25 CONTINUE - IF(EK1.EQ.0.) GOTO 23 - IF(NPIONS.LE.0) GOTO 23 - DEKIN=1.+DEKIN/EK1 - DO 22 I=1,NT - IF(ABS(IPA(I)).LT.7.OR.ABS(IPA(I)).GT.9) GOTO 22 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - EKIN=EKIN*DEKIN - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8006 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8007 - 8006 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8007 CONTINUE -C - 22 CONTINUE - 23 IF(ATNO2.LT.1.5) GOTO 40 -C** -C** ADD BLACK TRACK PARTICLES -C** - CALL HIGHAB(SPROB) - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 40 - TEX=ENP(1) - SPALL=TARG - IF(TEX.LT.0.001) GOTO 445 - BLACK=(1.5+1.25*TARG)*ENP(1)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NPRT(4)) - *WRITE(NEWBCD,3003) NBL,TEX - IF(IFIX(TARG)+NBL.GT.ATNO2) NBL=ATNO2-TARG - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 445 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 441 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 441 - IF(NT.EQ.MXGKPV-2) GOTO 441 - IF(EKIN2.GT.TEX) GOTO 443 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - IPA1=16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,3) - IF(RNDM(1).GT.PNRAT) IPA1=14 - NT=NT+1 - SPALL=SPALL+1. - COST=-1.0+RNDM(2)*2.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(3) - IPA(NT)=-IPA1 - SIDE(NT)=-4. - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=1. - PV(4,NT)=EKIN1+PV(5,NT) - DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(DUMNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 441 CONTINUE - 443 IF(ATNO2.LT.10.) GOTO 445 - IF(EK.GT.2.0) GOTO 445 - II=NT+1 - KK=0 - EKA=EK - IF(EKA.GT.1.) EKA=EKA*EKA - IF(EKA.LT.0.1) EKA=0.1 - IKA=3.6*EXP((ZNO2**2/ATNO2-35.56)/6.45)/EKA - IF(IKA.LE.0) GO TO 445 - DO 444 I=1,NT - II=II-1 - IF(IPA(II).NE.-14) GOTO 444 - IPA(II)=-16 - IPA1 = 16 - PV(5,II)=ABS(RMASS(IPA1)) - PV(6,II)=RCHARG(IPA1) - KK=KK+1 - IF(KK.GT.IKA) GOTO 445 - 444 CONTINUE - 445 TEX=ENP(3) - IF(TEX.LT.0.001) GOTO 40 - BLACK=(1.5+1.25*TARG)*ENP(3)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-2) NBL=MXGKPV-2-NT - IF(NBL.LE.0) GOTO 40 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - IF(NPRT(4)) - *WRITE(NEWBCD,3004) NBL,TEX - DO 442 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 442 - IF(NT.EQ.MXGKPV-2) GOTO 442 - IF(EKIN2.GT.TEX) GOTO 40 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.005*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - CALL GRNDM(RNDM,3) - COST=-1.0+RNDM(1)*2.0 - DUMNVE=1.0-COST*COST - IF (DUMNVE .LT. 0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(2) - RAN=RNDM(3) - IPA(NT+1)=-30 - IF(RAN.GT.0.60) IPA(NT+1)=-31 - IF(RAN.GT.0.90) IPA(NT+1)=-32 - SIDE(NT+1)=-4. - PV(5,NT+1)=(ABS(IPA(NT+1))-28)*MP - SPALL=SPALL+PV(5,NT+1)*1.066 - IF(SPALL.GT.ATNO2) GOTO 40 - NT=NT+1 - PV(6,NT)=1. - IF(IPA(NT).EQ.-32) PV(6,NT)=2. - PV(7,NT)=1. - PV(4,NT)=PV(5,NT)+EKIN1 - DUMNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(DUMNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 442 CONTINUE -C** -C** STORE ON EVENT COMMON -C** - 40 CALL GRNDM(RNDM,1) - IF(RS.GT.(4.+RNDM(1)*1.)) GOTO 42 - DO 41 I=1,NT - CALL LENGTX(I,ETB) - IF(ETB.LT.P) GOTO 41 - ETF=P - PV(4,I)=SQRT(PV(5,I)**2+ETF**2) - DUMNVE=ETB - IF (DUMNVE .EQ. 0.0) DUMNVE=1.0E-10 - ETF=ETF/DUMNVE - PV(1,I)=PV(1,I)*ETF - PV(2,I)=PV(2,I)*ETF - PV(3,I)=PV(3,I)*ETF - 41 CONTINUE - 42 EKIN=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - EKIN1=PV(4,MXGKPV-1)-ABS(PV(5,MXGKPV-1)) - EKIN2=0. - CALL TDELAY(TOF1) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - TOF=TOF-TOF1*LOG(RAN) - DO 44 I=1,NT - IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) - PV(7,I)=TOF - PV(8,I)=ABS(IPA(I)) - PV(9,I)=0. - 44 PV(10,I)=0. - CALL GHETUN(NT) - DO 45 I=1,NT - EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) - 45 CONTINUE - EKIN2=(EKIN2-EKIN)/EKIN - IF(NPRT(4)) - $ WRITE(NEWBCD,2006) NT,EKIN,ENP(1),ENP(3),EKIN1,EKIN2 - IF(EKIN2.GT.0.2) GOTO 60 - INTCT=INTCT+1. - NMODE=3 - IF(SPALL.LT.0.5.AND.ATNO2.GT.1.5) NMODE=14 - CALL SETCUR(NT) - NTK=NTK+1 - IF(NT.EQ.1) GOTO 300 - DO 50 II=2,NT - I=II-1 - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE - 300 CONTINUE - GO TO 9999 -C** -C** IT IS NOT POSSIBLE TO PRODUCE A PROPER TWO CLUSTER FINAL STATE. -C** CONTINUE WITH QUASI ELASTIC SCATTERING -C** - 60 IF(NPRT(4)) WRITE(NEWBCD,2005) - DO 61 I=3,MXGKCU - 61 IPA(I)=0 - IPA(1)=IPART - IPA(2)=14 - IF(NFL.EQ.2) IPA(2)=16 - CALL TWOB(IPPP,NFL,AVERN) - GO TO 9999 -C - 2000 FORMAT(' *HIGCLU* CMS PARAMETERS OF FINAL STATE PARTICLES', - $ ' AFTER ',I3,' TRIALS') - 2001 FORMAT(' *HIGCLU* TRACK',2X,I3,2X,10F8.2,2X,I3,2X,F3.0) - 2002 FORMAT(' *HIGCLU* MOMENTUM ',F8.3,' MASSES ',2F8.4,' RS ',F8.4) - 2003 FORMAT(' *HIGCLU* TETA,EKIN0,EKIN1,EKIN ',4F10.4) - 2004 FORMAT(' *HIGCLU* TECM,NPB,MASSES: ',F10.4,1X,I3,1X,8F10.4/ - $ 1H ,26X,15X,8F10.4) - 2005 FORMAT(' *HIGCLU* NUMBER OF FINAL STATE PARTICLES', - $ ' LESS THAN 2 ==> CONTINUE WITH 2-BODY SCATTERING') - 2006 FORMAT(' *HIGCLU* COMP.',1X,I5,1X,5F7.2) - 3001 FORMAT(' *HIGCLU* NUCLEAR EXCITATION ',I5,' PARTICLES PRODUCED', - $ ' IN ADDITION TO',I5,' NORMAL PARTICLES') - 3003 FORMAT(' *HIGCLU* ',I3,' BLACK TRACK PARTICLES PRODUCED', - $ ' WITH TOTAL KINETIC ENERGY OF ',F8.3,' GEV') - 3004 FORMAT(' *HIGCLU* ',I5,' HEAVY FRAGMENTS WITH TOTAL ENERGY OF ', - $ F8.4,' GEV') -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/ghrout/highab.F b/StarVMC/geant3/ghrout/highab.F deleted file mode 100644 index cf6d3f47bac..00000000000 --- a/StarVMC/geant3/ghrout/highab.F +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: highab.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: highab.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE HIGHAB(SPROB) -C -C *** SELF-ABSORBTION IN HEAVY MOLECULES *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (11-OCT-1987) -C -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_blank.inc" -C - SPROB=0. - EKW=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - IF(EKW.LT.5.) RETURN - ALEKW=LOG(EKW-4.) - BLEKW=0.25-0.02*LOG(ATNO2) - SPROB=BLEKW*ALEKW - IF(SPROB.GT.1.) SPROB=1. - RETURN - END diff --git a/StarVMC/geant3/ghrout/higsel.F b/StarVMC/geant3/ghrout/higsel.F deleted file mode 100644 index 139f7626454..00000000000 --- a/StarVMC/geant3/ghrout/higsel.F +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: higsel.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: higsel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:12 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE HIGSEL(ISEL) -C -#include "geant321/s_result.inc" -C - DIMENSION RNDM(1) - CALL GRNDM(RNDM,1) - ISEL=1 - IF(P.LT.25.+RNDM(1)*25.) ISEL=0 - RETURN - END diff --git a/StarVMC/geant3/ghrout/higxpt.F b/StarVMC/geant3/ghrout/higxpt.F deleted file mode 100644 index 5fd021aef4c..00000000000 --- a/StarVMC/geant3/ghrout/higxpt.F +++ /dev/null @@ -1,1110 +0,0 @@ -* -* $Id: higxpt.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: higxpt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE HIGXPT(IPPP,NFL,AVERN) -C -C *** GENERATION OF X- AND PT- VALUES FOR ALL PRODUCED PARTICLES *** -C *** NVE 02-MAY-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT 11-OCT-1987 -C -C A SIMPLE SINGLE VARIABLE DESCRIPTION E D3S/DP3= F(Q) WITH -C Q**2 = (M*X)**2 + PT**2 IS USED. FINAL STATE KINEMATIC IS PRODUCED -C BY AN FF-TYPE ITERATIVE CASCADE METHOD -C -#include "geant321/s_defcom.inc" -#include "geant321/s_genio.inc" -C -C - REAL MASPAR,LAMB,NUCSUP - DIMENSION MASPAR(8),BP(8),PTEX(8),C1PAR(5),G1PAR(5),TAVAI(2), - $ SIDE(MXGKCU),IAVAI(2),BINL(20),DNDL(20),TWSUP(8), - $ NUCSUP(6),PSUP(6),IPAX(100) - DIMENSION RNDM(3) - DATA MASPAR/0.75,0.70,0.65,0.60,0.50,0.40,0.20,0.10/ - DATA BP/4.00,2.50,2.20,3.00,3.00,1.70,3.50,3.50/ - DATA PTEX/1.70,1.70,1.50,1.70,1.40,1.20,1.70,1.20/ - DATA C1PAR/0.6,0.6,0.35,0.15,0.10/ - DATA G1PAR/2.6,2.6,1.80,1.30,1.20/ - DATA BINL/0.,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.11,1.25 - $ ,1.43,1.67,2.0,2.5,3.33,5.00,10.00/ - DATA TWSUP/1.,1.,0.7,0.5,0.3,0.2,0.1,0.0/ - DATA NUCSUP/1.00,0.7,0.5,0.4,0.5,0.5/ - DATA PSUP/3.,6.,20.,50.,100.,1000./ -C -C** -C** FOR ANNIHILATION INTERACTIONS INTRODUCE PROPER KINEMATICS -C** - CALL CORANH(NIHIL,NFL) -C** -C** -C** CHECK FIRST MASS-INDICES -C** - EK=ENP(5) - EN=ENP(6) - P=ENP(7) - S=ENP(8) - RS=ENP(9) - NT=0 - DO 1 I=1,100 - IF(IPA(I).EQ.0) GOTO 1 - NT=NT+1 - IPA(NT)=IPA(I) - 1 CONTINUE - CALL VZERO(IPA(NT+1),MXGKCU-NT) - CALL UCOPY(IPA(1),IPAX(1),100) -C** -C** FOR LOW MULTIPLICITY USE TWO-BODY RESONANCE MODEL OR SINGLE/DOUBLE -C** DIFFRACTION MODEL (--> HIGCLU (--> TWOB (--> COSCAT))) -C** - CFA=0.025*((ATNO2-1.)/120.)*EXP(-(ATNO2-1.)/120.) - IF(NIHIL.GT.0) GOTO 200 - IF(NT.GE.8) GOTO 200 - IF(EK.LT.1.) GOTO 60 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - IF(IPART.GE.10.AND.IPART.LE.13.AND.RAN.LT.0.5) GOTO 200 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - WSUP=TWSUP(NT) - IF(RAN.GT.WSUP) GOTO 200 - CALL GRNDM(RNDM,1) - RAN=RNDM(1)*200.+50. - IF(EK.GT.RAN) GOTO 200 - 60 CALL UCOPY(IPAX,IPA,100) - CALL HIGCLU(IPPP,NFL,AVERN) - GO TO 9999 -C** -C** SET EFFECTIVE 4-MOMENTUM OF PRIMARY PARTICLE -C** - 200 MX =MXGKPV-20 - MX1=MX+1 - MX2=MX+2 - MX3=MX+3 - MX4=MX+4 - MX5=MX+5 - MX6=MX+6 - MX7=MX+7 - MX8=MX+8 - MX9=MX+9 - PV( 1,MXGKPV-1)=P*PX - PV( 2,MXGKPV-1)=P*PY - PV( 3,MXGKPV-1)=P*PZ - PV( 4,MXGKPV-1)=EN - PV( 5,MXGKPV-1)=AMAS - PV( 6,MXGKPV-1)=NCH - PV( 7,MXGKPV-1)=TOF - PV( 8,MXGKPV-1)=IPART - PV( 9,MXGKPV-1)=0. - PV(10,MXGKPV-1)=USERW - IER(49)=IER(49)+1 -C** -C** SOME RANDOMISATION OF ORDER OF FINAL STATE PARTICLES -C** - DO 201 I=3,NT - CALL GRNDM(RNDM,1) - IPX=IFIX(3.+RNDM(1)*(NT-2.)) - IF(IPX.GT.NT) IPX=NT - IPA1=IPA(IPX) - IPA(IPX)=IPA(I) - 201 IPA(I) =IPA1 -C** -C** DISTRIBUTE IN FORWARD AND BACKWARD HEMISPHERE IN CMS -C** - SIDE(1)= 1. - SIDE(2)=-1. - NTB=1 - TARG=0. - IF(IPART.LT.10.OR.IPART.GT.13) GOTO 53 - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.9) GOTO 53 - IPA1=IPA(1) - IPA(1)=IPA(2) - IPA(2)=IPA1 - 53 LEAD=0 - IF(IPART.LT.10.OR.IPART.EQ.14.OR.IPART.EQ.16) GOTO 532 - IPA1=ABS(IPA(1)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 531 - LEAD=IPA1 - GOTO 532 - 531 IPA1=ABS(IPA(2)) - IF(IPA1.LT.10.OR.IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 532 - LEAD=IPA1 - 532 DO 3 I=1,NT - IF(I.LE.2) GOTO 54 - SIDE(I)= 1. - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.5) SIDE(I)=-1. - IF(SIDE(I).LT.-0.5) NTB=NTB+1 - 54 CONTINUE - 3 CONTINUE - TB=2.*NTB - CALL GRNDM(RNDM,1) - IF(RS.LT.(2.0+RNDM(1))) TB=(2.*NTB+NT)/2. -C** -C** ADD PARTICLES FROM INTRANUCLEAR CASCADE -C** - AFC=0.312+0.200*LOG(LOG(S))+S**1.5/6000. - IF(AFC.GT.0.5) AFC=0.5 - XTARG=AFC*(ATNO2**0.33 -1.0)*TB - IF(XTARG.LE.0.) XTARG=0.01 -C** SOME EXTRA STRANGE PARTICLES - XSTRAN=0.030*XTARG - CALL POISSO(XSTRAN,NSTRAN) -C** NUCLEONS AND PIONS - DO 881 IPX=1,6 - IF(P.LE.PSUP(IPX)) GOTO 882 - 881 CONTINUE - IPX = 6 - 882 XPNHMF = XTARG*NUCSUP(IPX) - XSHHMF = XTARG - XPNHMF - IF(XSHHMF.LT.0.01) XSHHMF=0.01 - IF(XPNHMF.LT.0.01) XPNHMF=0.01 - SSHHMF=0.5*XSHHMF - SPNHMF=0.9*XPNHMF - RSHHMF=SSHHMF**2/XSHHMF - RPNHMF=SPNHMF**2/XPNHMF - IF(RSHHMF.LT.1.1) THEN - CALL POISSO(XSHHMF,NSHHMF) - GOTO 541 - ELSE - RSHHMF=XSHHMF/(RSHHMF-1.) - IF(RSHHMF.LE.20.) THEN - CALL SVGAM7(RSHHMF,XHMF) - ELSE - KRSHMF=IFIX(RSHHMF+0.5) - CALL SVERL2(KRSHMF,XHMF) - ENDIF - XSHHMF=XHMF*XSHHMF/RSHHMF - CALL POISSO(XSHHMF,NSHHMF) - ENDIF - 541 IF(RPNHMF.LE.1.1) THEN - CALL POISSO(XPNHMF,NPNHMF) - GOTO 542 - ELSE - RPNHMF=XPNHMF/(RPNHMF-1.) - IF(RPNHMF.LE.20.) THEN - CALL SVGAM7(RPNHMF,XHMF) - ELSE - KRPHMF=IFIX(RPNHMF+0.5) - CALL SVERL2(KRPHMF,XHMF) - ENDIF - XPNHMF=XHMF*XPNHMF/RPNHMF - CALL POISSO(XPNHMF,NPNHMF) - ENDIF - 542 NTARG=NSHHMF+NPNHMF+NSTRAN - NT2=NT+NTARG - IF(NT2.LE.MX) GOTO 2 - NT2=MX - NTARG=NT2-NT - 2 CONTINUE - IF (NPRT(4)) WRITE(NEWBCD,3001) NTARG,NT - NT1=NT+1 - IF(NTARG.EQ.0) GOTO 51 -C** -C** CHECK NUMBER OF EXTRA NUCLEONS AND PIONS -C** - DO 4 I=NT1,NT2 - IF(NPNHMF.GT.0) GOTO 52 - IF(NSTRAN.GT.0) GOTO 59 - CALL GRNDM(RNDM,2) - IPA(I)=-(7+IFIX(RNDM(1)*3.0)) - SIDE(I)=-2. - IF(RNDM(2).LT.0.2) THEN - IPA(I)=IABS(IPA(I)) - SIDE(I)=1. - NTARG=NTARG-1 - ENDIF - GOTO 4 - 52 IPA(I)=-16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.PNRAT) IPA(I)=-14 - TARG=TARG+1. - SIDE(I)=-2. - NPNHMF=NPNHMF-1 - GOTO 4 - 59 CALL GRNDM(RNDM,2) - IPA(I)=-18 - IF(RNDM(1).GT.0.14) IPA(I)=-21 - IF(RNDM(1).GT.0.20) IPA(I)=-10 - IF(RNDM(1).GT.0.43) IPA(I)=-11 - IF(RNDM(1).GT.0.66) IPA(I)=-12 - IF(RNDM(1).GT.0.89) IPA(I)=-13 - SIDE(I)=-2. - IF(RNDM(2).LT.0.2) THEN - IPA(I)=IABS(IPA(I)) - SIDE(I)=1. - NTARG=NTARG-1 - ENDIF - NSTRAN=NSTRAN-1 - 4 CONTINUE - NT=NT2 -C** -C** CHOOSE MASSES AND CHARGES FOR ALL PARTICLES -C** - 51 DO 5 I=1,NT - IPA1=ABS(IPA(I)) - PV(5,I)=RMASS(IPA1) - PV(6,I)=RCHARG(IPA1) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - 5 CONTINUE -C** -C** CHECK AVAILABLE KINETIC ENERGY, IN THIS MODEL CONSERVATION OF -C** KINETIC ENERGY IN FORWARD AND BACKWARD HEMISPHERE IS ASSUMED -C** - 6 IF(NT.LE.1) GOTO 60 - TAVAI(1)=RS/2. - TAVAI(2)=(TARG+1.)*RS/2. - IAVAI(1)=0 - IAVAI(2)=0 - DO 7 I=1,NT - L=1 - IF(SIDE(I).LT.0.) L=2 - IAVAI(L)=IAVAI(L)+1 - TAVAI(L)=TAVAI(L)-ABS(PV(5,I)) - 7 CONTINUE - NTH=NT - IF(NTH.GT.10) NTH=10 - IF (NPRT(4)) - $ WRITE(NEWBCD,3002) TAVAI,IAVAI,(IPA(I),SIDE(I),I=1,NTH) - IF(IAVAI(1).LE.0) GOTO 60 - IF(IAVAI(2).LE.0) GOTO 60 - IF(TAVAI(1).GT.0.) GOTO 11 - CALL GRNDM(RNDM,1) - ISKIP=IFIX(RNDM(1)*(IAVAI(1)-1))+1 - IS=0 - DO 10 I=1,NT - II=NT-I+1 - IF(SIDE(II).LT.0.) GOTO 10 - IS=IS+1 - IF(IS.NE.ISKIP) GOTO 10 - IF(II.EQ.NT) GOTO 9 - NT1=II+1 - NT2=NT - DO 8 J=NT1,NT2 - IPA(J-1)=IPA(J) - SIDE(J-1)=SIDE(J) - DO 71 K=1,10 - 71 PV(K,J-1)=PV(K,J) - 8 CONTINUE - GOTO 9 - 10 CONTINUE - 9 IPA(NT)=0 - SIDE(NT)=0. - NT=NT-1 - GOTO 6 - 11 IF(TAVAI(2).GT.0.) GOTO 15 - CALL GRNDM(RNDM,1) - ISKIP=IFIX(RNDM(1)*(IAVAI(2)-1))+1 - IS=0 - DO 14 I=1,NT - II=NT-I+1 - IF(SIDE(II).GT.0.) GOTO 14 - IS=IS+1 - IF(IS.NE.ISKIP) GOTO 14 - IF(SIDE(II).LT.-1.5) NTARG=NTARG-1 - IF(NTARG.LT.0) NTARG=0 - IF(II.EQ.NT) GOTO 13 - NT1=II+1 - NT2=NT - DO 12 J=NT1,NT2 - IPA(J-1)=IPA(J) - SIDE(J-1)=SIDE(J) - DO 74 K=1,10 - 74 PV(K,J-1)=PV(K,J) - 12 CONTINUE - GOTO 13 - 14 CONTINUE - 13 IPA(NT)=0 - SIDE(NT)=0. - NT=NT-1 - GOTO 6 - 15 IF(NT.LE.1) GOTO 60 - IF(NT.EQ.MX) GOTO 29 - NT1=NT+1 - NT2=MX - DO 28 I=NT1,NT2 - 28 IPA(I)=0 - 29 CONTINUE -C** -C** NOW THE PREPARATION IS FINISHED. -C** DEFINE INITIAL STATE VECTORS FOR LORENTZ TRANSFORMATIONS. -C** - PV( 1,MX1)=0. - PV( 2,MX1)=0. - PV( 3,MX1)=P - PV( 4,MX1)=SQRT(P*P+AMAS*AMAS) - PV( 5,MX1)=ABS(AMAS) - PV( 1,MX2)=0. - PV( 2,MX2)=0. - PV( 3,MX2)=0. - PV( 4,MX2)=MP - PV( 5,MX2)=MP - PV( 1,MX4)=0. - PV( 2,MX4)=0. - PV( 3,MX4)=0. - PV( 4,MX4)=MP*(1.+TARG) - PV( 5,MX4)=PV(4,MX4) - PV( 1,MX8)=0. - PV( 2,MX8)=0. - PV( 3,MX8)=0. - PV( 1,MX9)=1. - PV( 2,MX9)=0. - PV( 3,MX9)=0. - CALL ADD(MX1,MX2,MX3) - CALL ADD(MX4,MX1,MX4) - CALL LOR(MX1,MX3,MX1) - CALL LOR(MX2,MX3,MX2) -C** -C** MAIN LOOP FOR 4-MOMENTUM GENERATION , SEE PITHA-REPORT (AACHEN) -C** FOR A DETAILED DESCRIPTION OF THE METHOD. -C** - CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI - EKIN1=0. - EKIN2=0. - DO 39 J=1,10 - PV(J,MX5)=0. - 39 PV(J,MX6)=0. - NPG=0 - RMG0=0. - TARG1=0. - DO 16 III=1,NT - I=NT-III+1 - IPA1=ABS(IPA(I)) -C** -C** COUNT NUMBER OF BACKWARD NUCLEONS -C** - IF(I.EQ.2) THEN - IF(IPA1.GT.16) THEN - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.0.2) GOTO 301 - ELSE IF(IPA1.GE.14) THEN - GOTO 301 - ENDIF - ENDIF - IF(SIDE(I).GT.-1.5) GOTO 38 - IF(IPA1.EQ.14.OR.IPA1.EQ.16) GOTO 301 - GOTO 38 - 301 NPG=NPG+1 - IF(NPG.GT.18) GOTO 38 - RMG0=RMG0+ABS(PV(5,I)) - SIDE(I)=-3. - TARG1=TARG1+1. - GOTO 16 - 38 J=3 - IF(IPA1.LT.14) J=2 - IF(IPA1.LT.10) J=1 - IF(I.LE.2) J=J+3 - IF(SIDE(I).LT.-1.5) J=7 - IF(J.EQ.7.AND.IPA1.GE.14) J=8 -C** -C** SET PT - AND PHI VALUES, THEY ARE CHANGED SOMEWHAT IN THE ITERATION -C** LOOP, SET MASS PARAMETER FOR LAMBDA FRAGMENTATION MODEL -C** - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - BPP=BP(J) - BPE=PTEX(J) - PT2=-LOG(RAN)/BPP - ASPAR=MASPAR(J) - PT2=PT2**BPE - PT =SQRT(PT2) - IF(PT.LT.0.05) THEN - CALL GRNDM(RNDM,1) - PT=0.3*RNDM(1) - ENDIF - IF(PT.LT.0.001) PT=0.001 - PV(1,I)=PT*COS(PHI) - PV(2,I)=PT*SIN(PHI) - PV(10,I)=PT - BINL(1)=0. - RLMAX=1./PV(10,I) - DO 73 J=2,20 - 73 BINL(J)=RLMAX*(J-1)/19. - ET=PV(4,MX1) - IF(SIDE(I).LT.0.) THEN - ET=PV(4,MX2) - ENDIF - DNDL(1)=0. - NTRIAL=0 -C** -C** START OF BIG ITERATION LOOP -C** - 30 NTRIAL=NTRIAL+1 - IF(NTRIAL.GT. 2) GOTO 169 - DO 17 L=2,20 - DNDL(L)=0. - X=(BINL(L)+BINL(L-1))/2. - IF(PV(10,I).LT.0.001) PV(10,I)=0.001 - IF(X.GT.1./PV(10,I)) GOTO 17 - DX=BINL(L)-BINL(L-1) - DNDL(L)=ASPAR/SQRT((1.+(ASPAR*X)**2)**3) - DNDL(L)=ET*DNDL(L)/SQRT((X*PV(10,I)*ET)**2+PV(10,I)**2 - * +PV(5,I)**2) - DNDL(L)=DNDL(L)*DX - 17 DNDL(L)=DNDL(L-1)+DNDL(L) - NTRI=0 - 31 CALL GRNDM(RNDM,1) - RAN=RNDM(1)*DNDL(20) - DO 18 L=2,20 - IF(RAN.LT.DNDL(L)) GOTO 19 - 18 CONTINUE -C** -C** START OF SMALL ITERATION LOOP -C** - 19 NTRI=NTRI+1 - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - DX=BINL(L)-BINL(L-1) - LAMB=BINL(L-1)+RAN*DX/2. - X=PV(10,I)*LAMB - IF(X.GT.1.) X=1. - X=X*SIDE(I)/ABS(SIDE(I)) - PV(3,I)=X*ET - PV(4,I)=PV(3,I)**2+PV(10,I)**2+PV(5,I)**2 - PV(4,I)=SQRT(PV(4,I)) - IF(SIDE(I).LT.0.) GOTO 165 - IF(I.GT.2) GOTO 20 - EKIN=TAVAI(1)-EKIN1 - CALL NORMAL(RAN) - IF(EKIN.LT.0.) EKIN=0.04*ABS(RAN) - PV(4,I)=ABS(PV(5,I))+EKIN - RNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(RNVE) - CALL LENGTX(I,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8000 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP*COS(RTHNVE) - GO TO 8001 - 8000 CONTINUE - PV(3,I) = PP**2 - PV(10,I)**2 - IF(PV(3,I).LT.0.) PV(3,I)=0. - PV(3,I) = SQRT(PV(3,I))*SIDE(I)/ABS(SIDE(I)) - 8001 CONTINUE -C - CALL ADD(MX5,I,MX5) - GOTO 16 - 20 EKIN=EKIN1+PV(4,I)-ABS(PV(5,I)) - IF(EKIN.LT.0.95*TAVAI(1)) GOTO 161 - IF(NTRI.GT. 5) GOTO 167 - PV(10,I)=PV(10,I)*0.9 - PV( 1,I)=PV( 1,I)*0.9 - PV( 2,I)=PV( 2,I)*0.9 - DNDL(20)=DNDL(20)*0.9 - IF((TAVAI(2)-ABS(PV(5,I))).LT.0.) GOTO 31 - SIDE(I)=-1. - TAVAI(1)=TAVAI(1)+ABS(PV(5,I)) - TAVAI(2)=TAVAI(2)-ABS(PV(5,I)) - GOTO 31 - 161 CALL ADD(MX5,I,MX5) - EKIN1=EKIN1+PV(4,I)-ABS(PV(5,I)) - GOTO 163 - 165 EKIN=EKIN2+PV(4,I)-ABS(PV(5,I)) - XXX=0.95+0.05*TARG/20. - IF(XXX.GT.0.999) X=0.999 - IF(EKIN.LT.XXX*TAVAI(2)) GOTO 166 - IF(NTRI.GT. 5) GOTO 167 - PV(10,I)=PV(10,I)*0.9 - PV( 1,I)=PV( 1,I)*0.9 - PV( 2,I)=PV( 2,I)*0.9 - DNDL(20)=DNDL(20)*0.9 - IF((TAVAI(1)-ABS(PV(5,I))).LT.0.) GOTO 31 - SIDE(I)=+1. - TAVAI(1)=TAVAI(1)-ABS(PV(5,I)) - TAVAI(2)=TAVAI(2)+ABS(PV(5,I)) - GOTO 31 - 166 CALL ADD(MX6,I,MX6) - EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) - 163 CALL ADD(MX5,MX6,MX7) - PV(3,MX7)=0. - CALL ANG(MX7,MX9,COST,PHIS) - IF(PV(2,MX7).LT.0.) PHIS=TWPI-PHIS - CALL NORMAL(RAN) - RAN=RAN*PI/12. - PHI=PHIS+PI+RAN - IF(PHI.GT.TWPI) PHI=PHI-TWPI - IF(PHI.LT.0.) PHI=TWPI-PHI - GOTO 16 -C** -C** PARTICLE MOMENTUM ZERO, REDUCE KINETIC ENERGY OF ALL OTHER -C** - 167 EKIN1=0. - EKIN2=0. - DO 162 J=1,10 - PV(J,MX5)=0. - 162 PV(J,MX6)=0. - II=I+1 - DO 168 L=II,NT - IF(ABS(IPA(L)).GE.14.AND.SIDE(L).LT.0.) GOTO 168 - PV(4,L)=PV(4,L)*0.95+0.05*ABS(PV(5,L)) - IF(PV(4,L).LT.ABS(PV(5,L))) PV(4,L)=ABS(PV(5,L)) - RNVE=ABS(PV(4,L)**2-PV(5,L)**2) - PP=SQRT(RNVE) - CALL LENGTX(L,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8002 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,L)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,L)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,L)=PP*COS(RTHNVE) - GO TO 8003 - 8002 CONTINUE - PV(1,L)=PV(1,L)*PP/PP1 - PV(2,L)=PV(2,L)*PP/PP1 - PV(3,L)=PV(3,L)*PP/PP1 - 8003 CONTINUE -C - PV(10,L)=SQRT(PV(1,L)**2+PV(2,L)**2) - IF(SIDE(L).LT.0.) GOTO 164 - EKIN1=EKIN1+PV(4,L)-ABS(PV(5,L)) - CALL ADD(MX5,L,MX5) - GOTO 168 - 164 EKIN2=EKIN2+PV(4,L)-ABS(PV(5,L)) - CALL ADD(MX6,L,MX6) - 168 CONTINUE -C *** NEXT STMT. CHANGED TO PREVENT FROM INFINITE LOOPING *** -C************* GOTO 38 - GO TO 30 -C** -C** SKIP PARTICLE, IF NOT ENOUGH ENERGY -C** - 169 IPA(I)=0 - DO 170 J=1,10 - 170 PV(J,I)=0. - GOTO 163 - 16 CONTINUE - NTRI=0 - II=0 - DO 320 I=1,NT - IF(IPA(I).EQ.0) GOTO 320 - II=II+1 - IPA(II)=IPA(I) - SIDE(II)=SIDE(I) - DO 321 J=1,10 - 321 PV(J,II)=PV(J,I) - 320 CONTINUE - NT=II -C** -C** BACKWARD NUCLEONS PRODUCED WITH A CLUSTER MODEL -C** - IF(NPG.EQ.0) GOTO 330 - RMG=RMG0 - IF(NPG.EQ.1) GOTO 310 - NPG1=NPG - IF(NPG1.GT.5) NPG1=5 - CALL GRNDM(RNDM,1) - RMG=-LOG(RNDM(1)) - GPAR=G1PAR(NPG1) - CPAR=C1PAR(NPG1) - DUMNVE=GPAR - IF(DUMNVE.EQ.0.) DUMNVE=1.0E-10 - RMG=RMG0+RMG**CPAR/DUMNVE - 310 GA=1.2 - EKIT1=0.04 - EKIT2=0.6 - IF(EK.GT.5.) GOTO 311 - EKIT1=EKIT1*EK**2/25. - EKIT2=EKIT2*EK**2/25. - 311 A=(1.-GA)/(EKIT2**(1.-GA)-EKIT1**(1.-GA)) - DO 312 I=1,NT - IF(SIDE(I).GT.-2.5) GOTO 312 - CALL GRNDM(RNDM,3) - EKIT=(RNDM(1)*(1.-GA)/A+EKIT1**(1.-GA))**(1./(1.-GA)) - PV(4,I)=EKIT+PV(5,I) - DUMNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(DUMNVE) - COST=LOG(2.23*RNDM(2)+0.383)/0.96 - IF(COST.LT.-1.) COST=-1. - IF(COST.GT. 1.) COST= 1. - DUMNVE=1.0-COST*COST - IF(DUMNVE.LT.0.0) DUMNVE=0.0 - SINT=SQRT(DUMNVE) - PHI=TWPI*RNDM(3) - PV(1,I)=PP*SINT*SIN(PHI) - PV(2,I)=PP*SINT*COS(PHI) - PV(3,I)=PP*COST - CALL LOR(I,MX3,I) - CALL ADD(MX6,I,MX6) - 312 CONTINUE - 330 IF (NPRT(4)) - $ WRITE(NEWBCD,2002) NTRIAL,EKIN1,EKIN2,TAVAI(1),TAVAI(2) - 175 IF (.NOT.NPRT(4)) GOTO 36 - CALL ADD(MX5,MX6,MX7) - EKIN1=PV(4,MX1)+PV(4,MX2) - EKIN2=PV(4,MX5)+PV(4,MX6) - WRITE(NEWBCD,2000) EKIN1,EKIN2 - I=MX1 - WRITE(NEWBCD,2001) I,(PV(J,I),J=1,4) - I=MX2 - WRITE(NEWBCD,2001) I,(PV(J,I),J=1,4) - I=MX5 - WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - I=MX6 - WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - DO 37 I=1,NT - 37 WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) -C** -C** LORENTZ TRANSFORMATION IN LAB SYSTEM -C** - 36 IF(NT.LE.2) GOTO 60 - TARG=0. - DO 601 I=1,NT - IF(PV(5,I).GT.0.5) TARG=TARG+1. - CALL LOR(I,MX2,I) - 601 CONTINUE - IF(TARG.LT.0.5) TARG=1. - IF(LEAD.EQ.0) GOTO 6085 - DO 6081 I=1,NT - IF(ABS(IPA(I)).EQ.LEAD) GOTO 6085 - 6081 CONTINUE - I=1 - IF(LEAD.GE.14.AND.ABS(IPA(2)).GE.14) I=2 - IF(LEAD.LT.14.AND.ABS(IPA(2)).LT.14) I=2 - IPA(I)=LEAD - EKIN=PV(4,I)-ABS(PV(5,I)) - PV(5,I)=RMASS(LEAD) - PV(7,I)=1. - IF(PV(5,I).LT.0.) PV(7,I)=-1. - PV(5,I)=ABS(PV(5,I)) - PV(6,I)=RCHARG(LEAD) - PV(4,I)=PV(5,I)+EKIN - CALL LENGTX(I,PP) - RNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP1=SQRT(RNVE) - PV(1,I)=PP1*PV(1,I)/PP - PV(2,I)=PP1*PV(2,I)/PP - PV(3,I)=PP1*PV(3,I)/PP - 6085 KGENEV=1 - PV(1,MX4)=0. - PV(2,MX4)=0. - PV(3,MX4)=P - PV(4,MX4)=SQRT(P*P+AMAS*AMAS) - PV(5,MX4)=ABS(AMAS) - EKIN0=PV(4,MX4)-PV(5,MX4) - PV(1,MX5)=0. - PV(2,MX5)=0. - PV(3,MX5)=0. - PV(4,MX5)=MP*TARG - PV(5,MX5)=PV(4,MX5) - EKIN=PV(4,MX4)+PV(4,MX5) - I=MX4 - IF (NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - I=MX5 - IF (NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,5) - CALL ADD(MX4,MX5,MX6) - CALL LOR(MX4,MX6,MX4) - CALL LOR(MX5,MX6,MX5) - TECM=PV(4,MX4)+PV(4,MX5) - NPG=NT - PV(1,MX8)=0. - PV(2,MX8)=0. - PV(3,MX8)=0. - PV(4,MX8)=0. - PV(5,MX8)=0. - EKIN1=0. - DO 598 I=1,NPG - IF (NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - CALL ADD(MX8,I,MX8) - EKIN1=EKIN1+PV(4,I)-PV(5,I) - EKIN=EKIN-PV(5,I) - IF(I.GT.18) GOTO 598 - AMASS(I)=PV(5,I) - 598 CONTINUE - IF(NPG.GT.18) GOTO 597 - CALL PHASP - EKIN=0. - DO 599 I=1,NPG - PV(1,MX7)=PCM(1,I) - PV(2,MX7)=PCM(2,I) - PV(3,MX7)=PCM(3,I) - PV(4,MX7)=PCM(4,I) - PV(5,MX7)=AMASS(I) - CALL LOR(MX7,MX5,MX7) - 599 EKIN=EKIN+PV(4,MX7)-PV(5,MX7) - CALL ANG(MX8,MX4,COST,TETA) - IF (NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1,EKIN -C** -C** MAKE SHURE, THAT KINETIC ENERGIES ARE CORRECT. -C** EKIN= KINETIC ENERGY THEORETICALLY -C** EKIN1= KINETIC ENERGY SIMULATED -C** - 597 IF(EKIN1.EQ.0.) GOTO 600 - PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - WGT=EKIN/EKIN1 - EKIN1=0. - DO 602 I=1,NT - EKIN=PV(4,I)-PV(5,I) - EKIN=EKIN*WGT - PV(4,I)=EKIN+PV(5,I) - RNVE=ABS(PV(4,I)**2-PV(5,I)**2) - PP=SQRT(RNVE) - CALL LENGTX(I,PP1) -C - IF (PP1 .GE. 1.0E-6) GO TO 8008 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP*COS(RTHNVE) - GO TO 8009 - 8008 CONTINUE - PV(1,I)=PV(1,I)*PP/PP1 - PV(2,I)=PV(2,I)*PP/PP1 - PV(3,I)=PV(3,I)*PP/PP1 - 8009 CONTINUE -C - EKIN1=EKIN1+EKIN - CALL ADD(MX7,I,MX7) - 602 CONTINUE - CALL ANG(MX7,MX4,COST,TETA) - IF (NPRT(4)) WRITE(NEWBCD,2003) TETA,EKIN0,EKIN1 -C** -C** ROTATE IN DIRECTION OF Z-AXIS, THIS DOES DISTURB IN SOME WAY OUR -C** INCLUSIVE DISTRIBUTIONS, BUT IT IS NESSACARY FOR MOMENTUM CONSER- -C** VATION. -C** - 600 PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 596 I=1,NT - 596 CALL ADD(MX7,I,MX7) -C** -C** SOME SMEARING IN TRANSVERSE DIRECTION FROM FERMI MOTION -C** -* call rannor(ran1,ran2) - CALL GRNDM(RNDM,2) - RY=RNDM(1) - RZ=RNDM(2) - RX=6.283185*RZ - A1=SQRT(-2.*LOG(RY)) - RAN1=A1*SIN(RX) - RAN2=A1*COS(RX) - PV(1,MX7)=PV(1,MX7)+RAN1*0.020*TARG - PV(2,MX7)=PV(2,MX7)+RAN2*0.020*TARG - CALL DEFS(MX4,MX7,MX8) - PV(1,MX7)=0. - PV(2,MX7)=0. - PV(3,MX7)=0. - PV(4,MX7)=0. - PV(5,MX7)=0. - DO 595 I=1,NT - CALL TRAC(I,MX8,I) - 595 CALL ADD(MX7,I,MX7) - CALL ANG(MX7,MX4,COST,TETA) - IF (NPRT(4)) WRITE(NEWBCD,2003) TETA -C** -C** ROTATE IN DIRECTION OF PRIMARY PARTICLE, SUBTRACT BINDING ENERGIES -C** AND MAKE SOME FURTHER CORRECTIONS IF REQUIRED (STEEP, STEEQ) -C** - DEKIN=0. - NPIONS=0 - EK1=0. - EK2=0. - DO 21 I=1,NT - CALL DEFS1(I,MXGKPV-1,I) - IF (NPRT(4)) WRITE(NEWBCD,2001) I,(PV(J,I),J=1,10),IPA(I),SIDE(I) - IF(ATNO2.LT.1.5) GOTO 21 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - CALL NORMAL(RAN) - EKIN=EKIN-CFA*(1.+0.5*RAN) - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - CALL STEEQ(XXH,I) - DEKIN=DEKIN+EKIN*(1.-XXH) - EKIN=EKIN*XXH - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) NPIONS=NPIONS+1 - IF(ABS(IPA(I)).GE.7.AND.ABS(IPA(I)).LE.9) EK1=EK1+EKIN - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8010 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8011 - 8010 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8011 CONTINUE -C - 21 CONTINUE - IF(EK1.EQ.0.) GOTO 23 - IF(NPIONS.EQ.0) GOTO 23 - DEKIN=1.+DEKIN/EK1 - DO 22 I=1,NT - IF(ABS(IPA(I)).LT.7.OR.ABS(IPA(I)).GT.9) GOTO 22 - CALL LENGTX(I,PP) - EKIN=PV(4,I)-ABS(PV(5,I)) - EKIN=EKIN*DEKIN - IF (EKIN .LT. 1.0E-6) EKIN=1.0E-6 - PP1=SQRT(EKIN*(EKIN+2.*ABS(PV(5,I)))) - PV(4,I)=EKIN+ABS(PV(5,I)) -C - IF (PP .GE. 1.0E-6) GO TO 8012 - CALL GRNDM(RNDM,2) - RTHNVE=PI*RNDM(1) - PHINVE=TWPI*RNDM(2) - PV(1,I)=PP1*SIN(RTHNVE)*COS(PHINVE) - PV(2,I)=PP1*SIN(RTHNVE)*SIN(PHINVE) - PV(3,I)=PP1*COS(RTHNVE) - GO TO 8013 - 8012 CONTINUE - PV(1,I)=PV(1,I)*PP1/PP - PV(2,I)=PV(2,I)*PP1/PP - PV(3,I)=PV(3,I)*PP1/PP - 8013 CONTINUE -C - 22 CONTINUE -C** -C** ADD BLACK TRACK PARTICLES, THE TOTAL NUMBER OF PARTICLES PRODUCED -C** IS RESTRICTED TO 198, THIS MAY HAVE INFLUENCE ON VERY HIGH ENERGY -C** FIRST PROTONS AND NEUTRONS -C** - 23 IF(ATNO2.LT.1.5) GOTO 40 - CALL HIGHAB(SPROB) - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 40 - TEX=ENP(1) - SPALL=TARG - IF(TEX.LT.0.001) GOTO 445 - BLACK=(1.5+1.25*TARG)*ENP(1)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF (NPRT(4)) WRITE(NEWBCD,3003) NBL,TEX - IF(IFIX(TARG)+NBL.GT.ATNO2) NBL=ATNO2-TARG - IF(NT+NBL.GT.MXGKPV-10) NBL=MXGKPV-10-NT - IF(NBL.LE.0) GOTO 445 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - DO 441 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 441 - IF(NT.EQ.MXGKPV-10) GOTO 441 - IF(EKIN2.GT.TEX) GOTO 443 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - IPA1=16 - PNRAT=1.-ZNO2/ATNO2 - CALL GRNDM(RNDM,3) - IF(RNDM(1).GT.PNRAT) IPA1=14 - NT=NT+1 - SPALL=SPALL+1. - COST=-1.+RNDM(2)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(3) - IPA(NT)=-IPA1 - SIDE(NT)=-4. - PV(5,NT)=ABS(RMASS(IPA1)) - PV(6,NT)=RCHARG(IPA1) - PV(7,NT)=1. - PV(4,NT)=EKIN1+PV(5,NT) - RNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(RNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 441 CONTINUE - 443 IF(ATNO2.LT.10.) GOTO 445 - IF(EK.GT.2.0) GOTO 445 - II=NT+1 - KK=0 - EKA=EK - IF(EKA.GT.1.) EKA=EKA*EKA - IF(EKA.LT.0.1) EKA=0.1 - IKA=3.6*EXP((ZNO2**2/ATNO2-35.56)/6.45)/EKA - IF(IKA.LE.0) GO TO 445 - DO 444 I=1,NT - II=II-1 - IF(IPA(II).NE.-14) GOTO 444 - IPA(II)=-16 - IPA1 = 16 - PV(5,II)=ABS(RMASS(IPA1)) - PV(6,II)=RCHARG(IPA1) - KK=KK+1 - IF(KK.GT.IKA) GOTO 445 - 444 CONTINUE -C** -C** THEN ALSO DEUTERONS, TRITONS AND ALPHAS -C** - 445 TEX=ENP(3) - IF(TEX.LT.0.001) GOTO 40 - BLACK=(1.5+1.25*TARG)*ENP(3)/(ENP(1)+ENP(3)) - CALL POISSO(BLACK,NBL) - IF(NT+NBL.GT.MXGKPV-10) NBL=MXGKPV-10-NT - IF(NBL.LE.0) GOTO 40 - EKIN=TEX/NBL - EKIN2=0. - CALL STEEP(XX) - IF (NPRT(4)) WRITE(NEWBCD,3004) NBL,TEX - DO 442 I=1,NBL - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.SPROB) GOTO 442 - IF(NT.EQ.MXGKPV-10) GOTO 442 - IF(EKIN2.GT.TEX) GOTO 40 - CALL GRNDM(RNDM,1) - RAN1=RNDM(1) - CALL NORMAL(RAN2) - EKIN1=-EKIN*LOG(RAN1)-CFA*(1.+0.5*RAN2) - IF(EKIN1.LT.0.0) EKIN1=-0.010*LOG(RAN1) - EKIN1=EKIN1*XX - EKIN2=EKIN2+EKIN1 - IF(EKIN2.GT.TEX) EKIN1=TEX-(EKIN2-EKIN1) - IF (EKIN1 .LT. 0.0) EKIN1=1.0E-6 - CALL GRNDM(RNDM,3) - COST=-1.+RNDM(1)*2. - SINT=SQRT(ABS(1.-COST*COST)) - PHI=TWPI*RNDM(2) - RAN=RNDM(3) - IPA(NT+1)=-30 - IF(RAN.GT.0.60) IPA(NT+1)=-31 - IF(RAN.GT.0.90) IPA(NT+1)=-32 - SIDE(NT+1)=-4. - PV(5,NT+1)=(ABS(IPA(NT+1))-28)*MP - SPALL=SPALL+PV(5,NT+1)*1.066 - IF(SPALL.GT.ATNO2) GOTO 40 - NT=NT+1 - PV(6,NT)=1. - IF(IPA(NT).EQ.-32) PV(6,NT)=2. - PV(7,NT)=1. - PV(4,NT)=PV(5,NT)+EKIN1 - RNVE=ABS(PV(4,NT)**2-PV(5,NT)**2) - PP=SQRT(RNVE) - PV(1,NT)=PP*SINT*SIN(PHI) - PV(2,NT)=PP*SINT*COS(PHI) - PV(3,NT)=PP*COST - 442 CONTINUE -C** -C** STORE ON EVENT COMMON -C** - 40 CALL GRNDM(RNDM,1) - IF(RS.GT.(4.+RNDM(1))) GOTO 42 - DO 41 I=1,NT - CALL LENGTX(I,ETB) - IF(ETB.LT.P) GOTO 41 - ETF=P - PV(4,I)=SQRT(PV(5,I)**2+ETF**2) - ETF=ETF/ETB - PV(1,I)=PV(1,I)*ETF - PV(2,I)=PV(2,I)*ETF - PV(3,I)=PV(3,I)*ETF - 41 CONTINUE - 42 EKIN=PV(4,MXGKPV)-ABS(PV(5,MXGKPV)) - EKIN1=PV(4,MXGKPV-1)-ABS(PV(5,MXGKPV-1)) - EKIN2=0. - CALL TDELAY(TOF1) - CALL GRNDM(RNDM,1) - RAN=RNDM(1) - TOF=TOF-TOF1*LOG(RAN) - DO 44 I=1,NT - IF(PV(7,I).LT.0.) PV(5,I)=-PV(5,I) - PV(7,I)=TOF - PV(8,I)=ABS(IPA(I)) - PV(9,I)=0. - 44 PV(10,I)=0. - CALL GHETUN(NT) - DO 55 I=1,NT - EKIN2=EKIN2+PV(4,I)-ABS(PV(5,I)) - 55 CONTINUE - EKIN2=(EKIN2-EKIN)/EKIN - IF(NPRT(4)) - $ WRITE(NEWBCD,2006) NT,EKIN,ENP(1),ENP(3),EKIN1,EKIN2 - IF(EKIN2.GT.0.2) GOTO 60 -C** - INTCT=INTCT+1. - CALL SETCUR(NT) - NTK=NTK+1 - IF(NT.EQ.1) GO TO 9999 - DO 50 II=2,NT - I=II-1 - IF(NTOT.LT.NSIZE/12) GOTO 43 - GO TO 9999 - 43 CALL SETTRK(I) - 50 CONTINUE -C - 2002 FORMAT(' *HIGXPT* PRODUCTION OF FINAL STATE KINEMATIC AFTER ',I3, - $ ' TRIALS. KINETIC ENERGIES ',2F6.2,' OUT OF ',2F6.2) - 2000 FORMAT(' *HIGXPT* CMS PARAMETERS OF FINAL STATE PARTICLES,', - $ ' ENERGIES IN INITIAL AND FINAL STATE ',2F6.2) - 2001 FORMAT(' *HIGXPT* TRACK',2X,I3,2X,10F8.3,2X,I3,2X,F4.0) - 2003 FORMAT(' *HIGXPT* TETA,EKIN0,EKIN1,EKIN ',4F10.4) - 2006 FORMAT(' *HIGXPT* COMP.',1X,I5,1X,5F7.2) - 3001 FORMAT(' *HIGXPT* NUCLEAR EXCITATION',I5, - $ ' PARTICLES PRODUCED IN ADDITION TO ',I5,' NORMAL PARTICLES') - 3002 FORMAT(' *HIGXPT* AVAILABLE ENERGIES ',2F10.4, - $ ' FOR ',2I3,' PARTICLES IN BEAM/TARGET FRAGM. REGION', - $ ' WITH IPA/SIDE ARRAY '/ - $ 1H ,5X,10(I3,2X,F3.0,4X)) - 3003 FORMAT(' *HIGXPT* ',I3,' BLACK TRACK PARTICLES PRODUCED', - $ ' WITH TOTAL KINETIC ENERGY OF ',F8.3,' GEV') - 3004 FORMAT(' *HIGXPT* ',I5,' HEAVY FRAGMENTS PRODUCED', - $ ' WITH TOTAL ENERGY OF',F8.4,' GEV') -C - 9999 CONTINUE -C - END diff --git a/StarVMC/geant3/ghrout/sverl2.F b/StarVMC/geant3/ghrout/sverl2.F deleted file mode 100644 index f06af619c09..00000000000 --- a/StarVMC/geant3/ghrout/sverl2.F +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: sverl2.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: sverl2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:13 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE SVERL2(M,X) - DIMENSION U(2) - CALL GRNDM(U,2) -C PH X=0.62666*LOG((1.+U(1))/(1.-U(1))) - X=0.62666*LOG( (2.-U(1))/U(1) ) - IF(U(2).LT.0.5) X=-X - X=M+X*SQRT(M*1.) - RETURN - END diff --git a/StarVMC/geant3/ghrout/svgam7.F b/StarVMC/geant3/ghrout/svgam7.F deleted file mode 100644 index 70292343d68..00000000000 --- a/StarVMC/geant3/ghrout/svgam7.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: svgam7.F,v 1.1.1.3 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: svgam7.F,v $ -* Revision 1.1.1.3 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:23 fisyak -* Merge with macos version -* -* Revision 1.1.1.2 2005/10/27 16:00:51 fisyak -* *** empty log message *** -* -* Revision 1.3 2005/08/16 09:26:54 brun -* From Peter Hristov: -* one more change in ghrout/svgam7.F, an additional protection to -* avoid negative X. -* -* Revision 1.2 2005/08/11 13:34:26 brun -* From Peter Hristov: -* an additional protection to avoid random numbers exactly equal to 1 or 0. -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:12 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 19/05/94 14.28.55 by S.Ravndal -*-- Author : - SUBROUTINE SVGAM7(A,X) - DIMENSION U(2) - REAL LA - GA=A-1. - LA=SQRT(2.*A-1.) - EP=1.570796327+ATAN(GA/LA) - RO=1.570796327-EP - 1 CALL GRNDM(U,2) - IF ((U(1) .GE. 1.0) .OR. (U(2) .LE. 0.0) ) GOTO 1 - X=GA+LA*TAN(EP*U(1)+RO) - IF (X.LE.0.) GOTO 1 - Y=LOG(1.+((X-GA)/LA)**2) +GA*LOG(X/GA)-X+GA - IF(LOG(U(2)).GT.Y) GOTO 1 - RETURN - END diff --git a/StarVMC/geant3/ghutils/minv.F b/StarVMC/geant3/ghutils/minv.F deleted file mode 100644 index eed9e035835..00000000000 --- a/StarVMC/geant3/ghutils/minv.F +++ /dev/null @@ -1,165 +0,0 @@ -* -* $Id: minv.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: minv.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:14 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE MINV(A,N,D,L,M) - DIMENSION A(1),L(1),M(1) -C -C *** NVE 18-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (27-OCT-1983) -C -C ............................................................... -C -C IF A DOUBLE PRECISION VERSION OF THIS ROUTINE IS DESIRED, THE -C C IN COLUMN 1 SHOULD BE REMOVED FROM THE DOUBLE PRECISION -C STATEMENT WHICH FOLLOWS. -C -C DOUBLE PRECISION A,D,BIGA,HOLD -C -C THE C MUST ALSO BE REMOVED FROM DOUBLE PRECISION STATEMENTS -C APPEARING IN OTHER ROUTINES USED IN CONJUNCTION WITH THIS -C ROUTINE. -C -C ............................................................... -C -C SEARCH FOR LARGEST ELEMENT -C - D=1.0 - NK=-N - DO 80 K=1,N - NK=NK+N - L(K)=K - M(K)=K - KK=NK+K - BIGA=A(KK) - DO 20 J=K,N - IZ=N*(J-1) - DO 20 I=K,N - IJ=IZ+I - 10 IF( ABS(BIGA)- ABS(A(IJ))) 15,20,20 - 15 BIGA=A(IJ) - L(K)=I - M(K)=J - 20 CONTINUE -C -C INTERCHANGE ROWS -C - J=L(K) - IF(J-K) 35,35,25 - 25 KI=K-N - DO 30 I=1,N - KI=KI+N - HOLD=-A(KI) - JI=KI-K+J - A(KI)=A(JI) - 30 A(JI) =HOLD -C -C INTERCHANGE COLUMNS -C - 35 I=M(K) - IF(I-K) 45,45,38 - 38 JP=N*(I-1) - DO 40 J=1,N - JK=NK+J - JI=JP+J - HOLD=-A(JK) - A(JK)=A(JI) - 40 A(JI) =HOLD -C -C DIVIDE COLUMN BY MINUS PIVOT (VALUE OF PIVOT ELEMENT IS -C CONTAINED IN BIGA) -C - 45 IF(BIGA) 48,46,48 - 46 D=0.0 - RETURN - 48 DO 55 I=1,N - IF(I-K) 50,55,50 - 50 IK=NK+I - A(IK)=A(IK)/(-BIGA) - 55 CONTINUE -C -C REDUCE MATRIX -C - DO 65 I=1,N - IK=NK+I - HOLD=A(IK) - IJ=I-N - DO 65 J=1,N - IJ=IJ+N - IF(I-K) 60,65,60 - 60 IF(J-K) 62,65,62 - 62 KJ=IJ-I+K - A(IJ)=HOLD*A(KJ)+A(IJ) - 65 CONTINUE -C -C DIVIDE ROW BY PIVOT -C - KJ=K-N - DO 75 J=1,N - KJ=KJ+N - IF(J-K) 70,75,70 - 70 A(KJ)=A(KJ)/BIGA - 75 CONTINUE -C -C PRODUCT OF PIVOTS -C - D=D*BIGA -C -C REPLACE PIVOT BY RECIPROCAL -C - A(KK)=1.0/BIGA - 80 CONTINUE -C -C FINAL ROW AND COLUMN INTERCHANGE -C - K=N - 100 K=(K-1) - IF(K) 150,150,105 - 105 I=L(K) - IF(I-K) 120,120,108 - 108 JQ=N*(K-1) - JR=N*(I-1) - DO 110 J=1,N - JK=JQ+J - HOLD=A(JK) - JI=JR+J - A(JK)=-A(JI) - 110 A(JI) =HOLD - 120 J=M(K) - IF(J-K) 100,100,125 - 125 KI=K-N - DO 130 I=1,N - KI=KI+N - HOLD=A(KI) - JI=KI-K+J - A(KI)=-A(JI) - 130 A(JI) =HOLD - GO TO 100 - 150 RETURN - END diff --git a/StarVMC/geant3/ghutils/pcsdat.F b/StarVMC/geant3/ghutils/pcsdat.F deleted file mode 100644 index 28668aa7cbc..00000000000 --- a/StarVMC/geant3/ghutils/pcsdat.F +++ /dev/null @@ -1,493 +0,0 @@ -* -* $Id: pcsdat.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: pcsdat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:14 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani -*-- Author : - SUBROUTINE PCSDAT(LUNIN,LUNOUT,PRFLAG) -C -C *** PREPARATION OF DATA STMTS. FOR ELASTIC AND INELASTIC MEASURED *** -C *** CROSS SECTIONS OF PION,KAON AND PROTON/ANTIPROTON/NEUTRON *** -C *** ON PROTONS. CALCULATE FROM THIS CROSS SECTIONS FOR STRANGE *** -C *** BARYONS ON PROTONS USING ADDITIVE QUARK-QUARK SCATTERING MODEL *** -C *** NVE 22-FEB-1988 CERN GENEVA *** -C -C THE PROGRAM PRODUCES AN OUTPUT FILE WHICH CONTAINS THE DATA -C STATEMENTS FOR ALL THE NEEDED CROSS-SECTIONS IN SEQUENCE "/CSDAT" -C THESE DATA STATEMENTS MAY BE USED FOR ROUTINE "GHESIG" -C -C LUNIN = UNIT NUMBER FOR CROSS-SECTION DATA FILE -C LUNOUT = UNIT NUMBER FOR DATA STATEMENTS TO BE WRITTEN -C PRFLAG = PRINTOUT FLAG (TRUE/FALSE) -C -C ORIGIN : H.FESEFELDT 06-OCT-87 (ROUTINE CSDATA) -C -C QUARK SCATTERING AMPLITUDES -C = = P -C = = P -C = = 0 -C = = P - S -C = = P - S -C = = 0 -C = = P -C = = P + A -C = = A -C = = (P - S)**2/P -C = = (P + A)*(P + S)**2/P**2 -C = = A*(P - S)/P -C -C CROSS SECTIONS -C PI- P = 6P + 2A -C PI+ P = 6P + A -C K- P = 6P + 2A - 3S -C K0S P = 6P + A/2- 3S -C K0L P = 6P + A/2- 3S -C K0 P = 6P - 3S ==> S(K0)=S(K+) -C K0B P = 6P + A - 3S ==> S(K0B)=S(K+)/4+S(K0L)/3+5S(K-)/12 -C K+ P = 6P - 3S -C P P = 9P -C PB P = 9P + 5A -C N P = 9P -C -C FOR THE FOLLOWING REACTIONS WE TOOK THE AMPLITUDES -C -C P = S(P P)/9 -C A = (S(PB P)-S(P P))/5 -C S = 2S(P P)/9-S(K+ P)/3 -C -C =====> -C -C NB P = 9P + 4A -C L P = 9P - 3S -C LB P = 9P + 2A - 3S -C S- P = 9P - 3S -C S+ P = 9P - 3S -C S-B P = 9P + 2A - 3S -C S+B P = 9P + 4A - 3S -C X0 P = 9P - 6S -C X- P = 9P - 6S -C X0B P = 9P + 2A - 6S -C X-B P = 9P + A - 6S -C -#include "geant321/s_csdim.inc" -C - LOGICAL PRFLAG -C - DIMENSION A(6,41) - CHARACTER*72 IA - DIMENSION AX(9),LX(3),MX(3),BX(3),CX(9),EX(9) - DATA AX/423.,78.,-54.,78.,34.25,-7.5,-54.,-7.5,27./ -C -C --- INITIALIZE ALL ARRAYS --- - DO 8000 J=1,41 - PLAB(J)=0.0 - DO 8001 I=1,35 - CSEL(I,J)=0.0 - CSIN(I,J)=0.0 - IF (I .GT. 3) GO TO 8001 - CSPIEL(I,J)=0.0 - CSPIIN(I,J)=0.0 - CSPNEL(I,J)=0.0 - CSPNIN(I,J)=0.0 - 8001 CONTINUE - 8000 CONTINUE -C - DO 8002 J=1,17 - ELAB(J)=0.0 - DO 8003 I=1,15 - CNLWEL(I,J)=0.0 - CNLWIN(I,J)=0.0 - 8003 CONTINUE - IF (J .GT. 15) GO TO 8002 - CNLWAT(J)=0.0 - 8002 CONTINUE -C - DO 8004 J=1,21 - EKFISS(J)=0.0 - DO 8005 I=1,4 - CSFISS(I,J)=0.0 - 8005 CONTINUE - 8004 CONTINUE -C - DO 8006 I=1,100 - CSCAP(I)=0.0 - 8006 CONTINUE -C - IP=0 - IAT=-3 - CNLWAT( 1)= 1. - CNLWAT( 2)= 16. - CNLWAT( 3)= 27. - CNLWAT( 4)= 56. - CNLWAT( 5)= 59. - CNLWAT( 6)= 64. - CNLWAT( 7)= 91. - CNLWAT( 8)= 112. - CNLWAT( 9)= 119. - CNLWAT(10)= 127. - CNLWAT(11)= 137. - CNLWAT(12)= 181. - CNLWAT(13)= 207. - CNLWAT(14)= 209. - CNLWAT(15)= 238. - CALL UCOPY(AX,CX,9) - CALL MINV(AX,3,DET,LX,MX) - EX(1)=AX(1)*CX(1)+AX(4)*CX(2)+AX(7)*CX(3) - EX(2)=AX(1)*CX(4)+AX(4)*CX(5)+AX(7)*CX(6) - EX(3)=AX(1)*CX(7)+AX(4)*CX(8)+AX(7)*CX(9) - EX(4)=AX(2)*CX(1)+AX(5)*CX(2)+AX(8)*CX(3) - EX(5)=AX(2)*CX(4)+AX(5)*CX(5)+AX(8)*CX(6) - EX(6)=AX(2)*CX(7)+AX(5)*CX(8)+AX(8)*CX(9) - EX(7)=AX(3)*CX(1)+AX(6)*CX(2)+AX(9)*CX(3) - EX(8)=AX(3)*CX(4)+AX(6)*CX(5)+AX(9)*CX(6) - EX(9)=AX(3)*CX(7)+AX(6)*CX(8)+AX(9)*CX(9) - IF(PRFLAG) PRINT 7001,AX,DET,EX - 7001 FORMAT(1H ,'CSDATA MATRIX INVERSION ',9F10.6,2X,F10.1/ - * 1H ,' UNIT MATRIX ',9F10.6) - 1 READ(LUNIN,1001) IA - IF (IA(1:3) .EQ. 'END') GO TO 100 - IF(PRFLAG) PRINT 1002,IA - READ(LUNIN,1001) IA - IF(PRFLAG) PRINT 1002,IA - READ(LUNIN,1001) IA - IF(PRFLAG) PRINT 1002,IA - 1001 FORMAT(A) - 1002 FORMAT(1H ,3X,A) - IP=IP+1 - IF(IP.GT.11) GOTO 95 - IF(IP.GT.10) GOTO 90 - IF(IP.GT. 5) GOTO 3 - DO 2 I=1,41 - READ(LUNIN,1003) PLAB(I),(A(J,I),J=1,6) - IF(PRFLAG) PRINT 1004,PLAB(I),(A(J,I),J=1,6) - 1003 FORMAT(7F10.2) - 1004 FORMAT(1H ,7F10.2) - 2 CONTINUE - GOTO 5 - 3 READ(LUNIN,1001) IA - IF(PRFLAG) PRINT 1002,IA - DO 4 I=1,17 - READ(LUNIN,1003) ELAB(I),(A(J,I),J=1,6) - IF(PRFLAG) PRINT 1010,ELAB(I),(A(J,I),J=1,6) - 1010 FORMAT(1H ,F10.4,6F10.2) - 4 CONTINUE - 5 IF(IP.EQ. 1) GOTO 20 - IF(IP.EQ. 2) GOTO 30 - IF(IP.EQ. 3) GOTO 40 - IF(IP.EQ. 4) GOTO 60 - IF(IP.EQ. 5) GOTO 70 - IF(IP.GE. 6) GOTO 80 - GOTO 1 - 20 DO 21 I=1,41 - CSEL(9,I)=A(1,I) - CSIN(9,I)=A(2,I) - CSEL(7,I)=A(3,I) - 21 CSIN(7,I)=A(4,I) - GOTO 1 - 30 DO 31 I=1,41 - CSEL(13,I)=A(1,I) - CSIN(13,I)=A(2,I) - CSEL(10,I)=A(3,I) - CSIN(10,I)=A(4,I) - CSEL(12,I)=A(5,I) - CSIN(12,I)=A(6,I) - 31 CONTINUE - GOTO 1 - 40 IF(PRFLAG) PRINT 1008 - 1008 FORMAT(1H0,'QUARK PARTON SCATTERING AMPLITUDES'/ - *1H ,' P(GEV/C) P A S P A - * S'/ - *1H ,' LEAST SQUARE FIT CALCULATED') - DO 41 I=1,41 - CSEL(14,I)=A(1,I) - CSIN(14,I)=A(2,I) - CSEL(15,I)=A(3,I) - CSIN(15,I)=A(4,I) - CSEL(16,I)=A(5,I) - CSIN(16,I)=A(6,I) - BX(1)= 6.*(CSEL( 7,I)+CSIN( 7,I))+ 6.*(CSEL( 9,I)+CSIN( 9,I)) - * + 6.*(CSEL(10,I)+CSIN(10,I))+ 6.*(CSEL(12,I)+CSIN(12,I)) - * + 6.*(CSEL(13,I)+CSIN(13,I))+ 9.*(CSEL(14,I)+CSIN(14,I)) - * + 9.*(CSEL(15,I)+CSIN(15,I))+ 9.*(CSEL(16,I)+CSIN(16,I)) - BX(2)= (CSEL( 7,I)+CSIN( 7,I))+ (CSEL( 9,I)+CSIN( 9,I)) - * + .5*(CSEL(12,I)+CSIN(12,I))+ 5.*(CSEL(15,I)+CSIN(15,I)) - BX(3)=- 3.*(CSEL(10,I)+CSIN(10,I))- 3.*(CSEL(12,I)+CSIN(12,I)) - * - 3.*(CSEL(13,I)+CSIN(13,I)) - PAM =AX(1)*BX(1)+AX(4)*BX(2)+AX(7)*BX(3) - AAM =AX(2)*BX(1)+AX(5)*BX(2)+AX(8)*BX(3) - SAM =AX(3)*BX(1)+AX(6)*BX(2)+AX(9)*BX(3) -C RATKP=CSEL(10,I)/(CSEL(10,I)+CSIN(10,I)) -C RATKM=CSEL(13,I)/(CSEL(13,I)+CSIN(13,I)) - RATP =CSEL(14,I)/(CSEL(14,I)+CSIN(14,I)) - RATPB=CSEL(15,I)/(CSEL(15,I)+CSIN(15,I)) -C CSEL(11,I)=(6.*PAM -3.*SAM ) * RATKP -C CSIN(11,I)=(6.*PAM -3.*SAM ) *(1.-RATKP) -C CSEL(12,I)=(6.*PAM + AAM -3.*SAM ) * RATKM -C CSIN(12,I)=(6.*PAM + AAM -3.*SAM ) *(1.-RATKM) - CSEL(11,I)= CSEL(10,I) - CSIN(11,I)= CSIN(10,I) - CSEL(12,I)= CSEL(10,I)/4.+CSEL(12,I)/3.+5.*CSEL(13,I)/12. - CSIN(12,I)= CSIN(10,I)/4.+CSIN(12,I)/3.+5.*CSIN(13,I)/12. - PAMP= (CSEL(14,I)+CSIN(14,I))/9. - AAMP= (CSEL(15,I)+CSIN(15,I)-CSEL(14,I)-CSIN(14,I))/5. - SAMP= 2.*(CSEL(14,I)+CSIN(14,I))/9.-(CSEL(10,I)+CSIN(10,I))/3. - IF(PLAB(I).LT.0.59) SAMP = 0. - IF(PRFLAG) PRINT 1009,PLAB(I),PAM,AAM,SAM,PAMP,AAMP,SAMP - 1009 FORMAT(1H ,7F10.2) - CSEL(17,I)=(9.*PAMP +4.*AAMP ) *RATPB - CSIN(17,I)=(9.*PAMP +4.*AAMP ) *(1.-RATPB) - CSEL(18,I)=(9.*PAMP -3.*SAMP ) *RATP - CSIN(18,I)=(9.*PAMP -3.*SAMP ) *(1.-RATP) - CSEL(19,I)=(9.*PAMP +2.*AAMP -3.*SAMP ) *RATPB - CSIN(19,I)=(9.*PAMP +2.*AAMP -3.*SAMP ) *(1.-RATPB) - CSEL(20,I)=(9.*PAMP -3.*SAMP ) *RATP - CSIN(20,I)=(9.*PAMP -3.*SAMP ) *(1.-RATP) - CSEL(22,I)=(9.*PAMP -3.*SAMP ) *RATP - CSIN(22,I)=(9.*PAMP -3.*SAMP ) *(1.-RATP) - CSEL(23,I)=(9.*PAMP +4.*AAMP -3.*SAMP ) *RATPB - CSIN(23,I)=(9.*PAMP +4.*AAMP -3.*SAMP ) *(1.-RATPB) - CSEL(25,I)=(9.*PAMP +2.*AAMP -3.*SAMP ) *RATPB - CSIN(25,I)=(9.*PAMP +2.*AAMP -3.*SAMP ) *(1.-RATPB) - CSEL(26,I)=(9.*PAMP -6.*SAMP ) *RATP - CSIN(26,I)=(9.*PAMP -6.*SAMP ) *(1.-RATP) - CSEL(27,I)=(9.*PAMP -6.*SAMP ) *RATP - CSIN(27,I)=(9.*PAMP -6.*SAMP ) *(1.-RATP) - CSEL(28,I)=(9.*PAMP +2.*AAMP -6.*SAMP ) *RATPB - CSIN(28,I)=(9.*PAMP +2.*AAMP -6.*SAMP ) *(1.-RATPB) - CSEL(29,I)=(9.*PAMP + AAMP -6.*SAMP ) *RATPB - CSIN(29,I)=(9.*PAMP + AAMP -6.*SAMP ) *(1.-RATPB) -C --- SET CROSS SECTIONS FOR THE OMEGA AND ANTI-OMEGA TO THE VALUES --- -C --- AS FOR XI- AND ANTI XI- RESPECTIVELY --- - CSEL(33,I)=CSEL(27,I) - CSIN(33,I)=CSIN(27,I) - CSEL(34,I)=CSEL(29,I) - CSIN(34,I)=CSIN(29,I) - 41 CONTINUE - DO 42 I=1,41 - DO 42 J=1,35 - IF(CSEL(J,I).LT.0.) CSEL(J,I)=0. - IF(CSIN(J,I).LT.0.) CSIN(J,I)=0. - 42 CONTINUE - GOTO 1 - 60 DO 61 I=1,41 - CSPIEL(1,I)=A(1,I)-A(2,I) - CSPIIN(1,I)=A(2,I) - CSPIEL(2,I)=A(3,I)-A(4,I) - CSPIIN(2,I)=A(4,I) - CSPIEL(3,I)=A(5,I)-A(6,I) - 61 CSPIIN(3,I)=A(6,I) - GOTO 1 - 70 DO 71 I=1,41 - CSPNEL(1,I)=A(1,I)-A(2,I) - CSPNIN(1,I)=A(2,I) - CSPNEL(2,I)=A(3,I)-A(4,I) - CSPNIN(2,I)=A(4,I) - CSPNEL(3,I)=A(5,I)-A(6,I) - 71 CSPNIN(3,I)=A(6,I) - GOTO 1 - 80 IAT=IAT+3 - DO 81 I=1,17 - CNLWEL(IAT+1,I)=A(1,I)-A(2,I) - CNLWIN(IAT+1,I)=A(2,I) - CNLWEL(IAT+2,I)=A(3,I)-A(4,I) - CNLWIN(IAT+2,I)=A(4,I) - CNLWEL(IAT+3,I)=A(5,I)-A(6,I) - 81 CNLWIN(IAT+3,I)=A(6,I) - GOTO 1 - 90 I2=0 - I1=0 - DO 91 I=1,17 - I1=I2+1 - I2=I2+6 - IF(I2.GT.100) I2=100 - READ(LUNIN,1011) IA,(CSCAP(J),J=I1,I2) - IF(PRFLAG) - *PRINT 1011,IA,(CSCAP(J),J=I1,I2) - 1011 FORMAT(A10,6F10.2) - 91 CONTINUE - GOTO 1 - 95 READ(LUNIN,1001) IA - IF(PRFLAG) PRINT 1002,IA - DO 96 I=1,21 - READ(LUNIN,1012) EKFISS(I),(CSFISS(J,I),J=1,4) - IF(PRFLAG) PRINT 1012,EKFISS(I),(CSFISS(J,I),J=1,4) - 1012 FORMAT(1X,F9.4,4F10.0) - 96 CONTINUE -C** - 100 IF(.NOT.PRFLAG) GOTO 200 - PRINT 1005 - 1005 FORMAT(1H0,'LISTINGS OF ALL PARTICLE CROSS SECTIONS ON PROTONS MEA - *SURED OR CALCULATED') - DO 105 K=1,7 - K1=(K-1)*5+1 - K2=K*5 - PRINT 1006,K1,K2 - 1006 FORMAT(1H0,'IPART1 - IPART2',2X,I3,'-',I3) - DO 104 I=1,41 - PRINT 1007,PLAB(I),(CSEL(J,I),CSIN(J,I),J=K1,K2) - 1007 FORMAT(1H ,F10.2,2X,5(2X,2F10.2)) - 104 CONTINUE - 105 CONTINUE -C - 200 CONTINUE -C -C --- CHECK FOR UN-PHYSICAL VALUES --- - DO 9000 J=1,41 - IF (PLAB(J) .LT. 0.0) PLAB(J)=0.0 - DO 9001 I=1,35 - IF (CSEL(I,J) .LT. 0.0) CSEL(I,J)=0.0 - IF (CSIN(I,J) .LT. 0.0) CSIN(I,J)=0.0 - IF (I .GT. 3) GO TO 9001 - IF (CSPIEL(I,J) .LT. 0.0) CSPIEL(I,J)=0.0 - IF (CSPIIN(I,J) .LT. 0.0) CSPIIN(I,J)=0.0 - IF (CSPNEL(I,J) .LT. 0.0) CSPNEL(I,J)=0.0 - IF (CSPNIN(I,J) .LT. 0.0) CSPNIN(I,J)=0.0 - 9001 CONTINUE - 9000 CONTINUE -C - DO 9002 J=1,17 - IF (ELAB(J) .LT. 0.0) ELAB(J)=0.0 - DO 9003 I=1,15 - IF (CNLWEL(I,J) .LT. 0.0) CNLWEL(I,J)=0.0 - IF (CNLWIN(I,J) .LT. 0.0) CNLWIN(I,J)=0.0 - 9003 CONTINUE - IF (J .GT. 15) GO TO 9002 - IF (CNLWAT(J) .LT. 0.0) CNLWAT(J)=0.0 - 9002 CONTINUE -C - DO 9004 J=1,21 - IF (EKFISS(J) .LT. 0.0) EKFISS(J)=0.0 - DO 9005 I=1,4 - IF (CSFISS(I,J) .LT. 0.0) CSFISS(I,J)=0.0 - 9005 CONTINUE - 9004 CONTINUE -C - DO 9006 I=1,100 - IF (CSCAP(I) .LT. 0.0) CSCAP(I)=0.0 - 9006 CONTINUE -C -C --- WRITE OUT THE CROSS SECTIONS IN THE FORM OF DATA STMTS. --- - WRITE(LUNOUT,2001) - 2001 FORMAT('+KEEP,/CSDAT.'/ - $ 'C --- CROSS-SECTION DATA BY "PCSDAT" 01-FEB-1989 ---'/'C') -C - WRITE(LUNOUT,2010) (PLAB(I),I=1,41) - 2010 FORMAT(6X,'DATA PLAB /'/ - $ 8(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,'/') -C - DO 220 I=1,35 - WRITE(LUNOUT,2020) I,(CSEL(I,J),J=1,41) - 2020 FORMAT(6X,'DATA (CSEL(',I2,',J),J=1,41) /'/ - $ 8(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,'/') - 220 CONTINUE -C - DO 230 I=1,35 - WRITE(LUNOUT,2030) I,(CSIN(I,J),J=1,41) - 2030 FORMAT(6X,'DATA (CSIN(',I2,',J),J=1,41) /'/ - $ 8(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,'/') - 230 CONTINUE -C - DO 240 I=1,3 - WRITE(LUNOUT,2040) I,(CSPIEL(I,J),J=1,41) - 2040 FORMAT(6X,'DATA (CSPIEL(',I2,',J),J=1,41) /'/ - $ 8(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,'/') - 240 CONTINUE -C - DO 250 I=1,3 - WRITE(LUNOUT,2050) I,(CSPIIN(I,J),J=1,41) - 2050 FORMAT(6X,'DATA (CSPIIN(',I2,',J),J=1,41) /'/ - $ 8(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,'/') - 250 CONTINUE -C - DO 260 I=1,3 - WRITE(LUNOUT,2060) I,(CSPNEL(I,J),J=1,41) - 2060 FORMAT(6X,'DATA (CSPNEL(',I2,',J),J=1,41) /'/ - $ 8(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,'/') - 260 CONTINUE -C - DO 270 I=1,3 - WRITE(LUNOUT,2070) I,(CSPNIN(I,J),J=1,41) - 2070 FORMAT(6X,'DATA (CSPNIN(',I2,',J),J=1,41) /'/ - $ 8(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,'/') - 270 CONTINUE -C - WRITE(LUNOUT,2080) (ELAB(I),I=1,17) - 2080 FORMAT(6X,'DATA ELAB /'/ - $ 3(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,',',G12.5,'/') -C - WRITE(LUNOUT,2090) (CNLWAT(I),I=1,15) - 2090 FORMAT(6X,'DATA CNLWAT /'/ - $ 2(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',4(G12.5,','),G12.5,'/') -C - DO 280 I=1,15 - WRITE(LUNOUT,2100) I,(CNLWEL(I,J),J=1,17) - 2100 FORMAT(6X,'DATA (CNLWEL(',I2,',J),J=1,17) /'/ - $ 3(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,',',G12.5,'/') - 280 CONTINUE -C - DO 290 I=1,15 - WRITE(LUNOUT,2110) I,(CNLWIN(I,J),J=1,17) - 2110 FORMAT(6X,'DATA (CNLWIN(',I2,',J),J=1,17) /'/ - $ 3(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,',',G12.5,'/') - 290 CONTINUE -C -C --- WRITE CSCAP IN TWO PARTS BECAUSE OF CONTINUATION CARD LIMIT --- - WRITE(LUNOUT,2120) (CSCAP(I),I=1,100) - 2120 FORMAT(6X,'DATA (CSCAP(J),J=1,50) /'/ - $ 9(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',4(G12.5,','),G12.5,'/'/ - $ 6X,'DATA (CSCAP(J),J=51,100) /'/ - $ 9(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',4(G12.5,','),G12.5,'/') -C - WRITE(LUNOUT,2130) (EKFISS(I),I=1,21) - 2130 FORMAT(6X,'DATA EKFISS /'/ - $ 4(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,'/') -C - DO 300 I=1,4 - WRITE(LUNOUT,2140) I,(CSFISS(I,J),J=1,21) - 2140 FORMAT(6X,'DATA (CSFISS(',I2,',J),J=1,21) /'/ - $ 4(5X,'$ ',5(G12.5,',')/), - $ 5X,'$ ',G12.5,'/') - 300 CONTINUE -C - WRITE(LUNOUT,2999) - 2999 FORMAT('C --- END OF CROSS SECTION DATA STATEMENTS ---'/'C') -C - RETURN - END diff --git a/StarVMC/geant3/giface/compo.F b/StarVMC/geant3/giface/compo.F deleted file mode 100644 index ad183267406..00000000000 --- a/StarVMC/geant3/giface/compo.F +++ /dev/null @@ -1,89 +0,0 @@ -* -* $Id: compo.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: compo.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:37 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE COMPO -C -C *** GET PARAMETERS FOR THE TARGET NUCLEUS *** -C *** NVE 11-MAR-1988 CERN GENEVA *** -C -C ORIGIN : H.FESEFELDT (07-DEC-1984) -C -#include "geant321/mxgkgh.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_prntfl.inc" -C --- GEANT COMMONS --- -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmate.inc" - DIMENSION RNDM(1) -C -C --- CHECK FOR COMPOUND --- - KK=ABS(Q(JMA+11)) - IF (KK .GE. 2) GO TO 10 -C -C --- ELEMENTS --- - ATNO2=A - ZNO2=Z - IF (NPRT(4)) WRITE(NEWBCD,1000) ATNO2,ZNO2 - 1000 FORMAT(' *COMPO* INTERACTION ON NUCLEUS OF ELEMENT WITH', - $ ' A = ',G12.5,' Z = ',G12.5) - GO TO 9999 -C -C --- COMPOUNDS ===> SELECT NUCLEUS --- - 10 CONTINUE -C - SUM=0.0 - DO 11 I=1,KK - AI=Q(JMIXT+I) - ZI=Q(JMIXT+KK+I) - WI=Q(JMIXT+2*KK+I) - SUM=SUM+WI/AI - 11 CONTINUE - CALL GRNDM(RNDM,1) - TEST1=RNDM(1)*SUM -C - TEST2=0.0 - DO 12 I=1,KK - JCOMPO=I - AI=Q(JMIXT+I) - ZI=Q(JMIXT+KK+I) - WI=Q(JMIXT+2*KK+I) - TEST2=TEST2+WI/AI - IF (TEST2 .GT. TEST1) GO TO 20 - 12 CONTINUE -C - 20 CONTINUE - ATNO2=AI - ZNO2=ZI - IF (NPRT(4)) WRITE(NEWBCD,1001) JCOMPO,ATNO2,ZNO2 - 1001 FORMAT(' *COMPO* COMPONENT NO. ',I2,' HAS BEEN SELECTED WITH', - $ ' A = ',G12.5,' Z = ',G12.5) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/giface/gheini.F b/StarVMC/geant3/giface/gheini.F deleted file mode 100644 index d5c3df3b27f..00000000000 --- a/StarVMC/geant3/giface/gheini.F +++ /dev/null @@ -1,374 +0,0 @@ -* -* $Id: gheini.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gheini.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:14 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : - SUBROUTINE GHEINI -C -C *** INITIALIZATION OF RELEVANT GHEISHA VARIABLES *** -C *** INTERFACE WITH GHEISHA8 *** -C *** NVE 20-MAY-1988 CERN GENEVA *** -C -C CALLED BY : GPGHEI, GHEISH -C ORIGIN : F.CARMINATI -C -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -#include "geant321/gccuts.inc" -#include "geant321/gsecti.inc" -#include "geant321/gcbank.inc" -#include "geant321/gcking.inc" -#include "geant321/mxgkgh.inc" -C --- GHEISHA COMMONS --- -#include "geant321/s_kginit.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_event.inc" -#include "geant321/s_prntfl.inc" -#include "geant321/s_blank.inc" -#include "geant321/limits.inc" -C -C --- "NEVENT" CHANGED TO "KEVENT" IN COMMON /CURPAR/ DUE TO CLASH --- -C --- WITH VARIABLE "NEVENT" IN GEANT COMMON --- -C - PARAMETER (MXGKCU=MXGKGH) - COMMON /CURPAR/ WEIGHT(10),DDELTN,IFILE,IRUN,NEVT,KEVENT,SHFLAG, - $ ITHST,ITTOT,ITLST,IFRND,TOFCUT,CMOM(5),CENG(5), - $ RS,S,ENP(10),NP,NM,NN,NR,NO,NZ,IPA(MXGKCU), - $ ATNO2,ZNO2 -C - DATA CLIGHT /2.99792458E10/ -C -C --- SET GHEISHA I/O UNITS TO THE SAME AS FOR GEANT --- - INBCD=LIN - NEWBCD=LOUT -C --- CHECK CONSISTENCY OF PREDEFINED VALUES FOR MXGKGH AND MXGKIN. - IF(MXGKGH .GT. MXGKIN) THEN - PRINT 1002, MXGKGH,MXGKIN - 1002 FORMAT(1H0,'*** GHEINI *** MXGKGH = ',I5,' MUST NOT BE ', - $ 'LARGER THAN MXGKIN = ',I5/ - $ 1H ,' PROGRAM TERMINATED ABNORMALLY') - STOP - ENDIF - IF(MXGKGH .LT. 100) PRINT 1003, MXGKGH - 1003 FORMAT(1H0,'*** GHEINI *** WARNING: MXGKGH = ',I5,' SHOULD ', - $ 'BE LARGER THAN 100'/ - $ 1H ,' PLEASE CHECK') -C -C --- INITIALISE ALL GHEISHA PRINT FLAGS AS FALSE --- -C --- ACTIVATION IS DONE BY "DEBUG" STEERING CARD --- - NVEFLG=0 - DO 10 J=1,10 - IF (ISWIT(J) .EQ. 109) NVEFLG=1 - 10 CONTINUE - DO 11 J=1,10 - NPRT(J)=.FALSE. - IF ((J .EQ. 9) .AND. (NVEFLG .EQ. 1)) NPRT(J)=.TRUE. - 11 CONTINUE - LPRT=.FALSE. - DO 12 I=1,MXGKPV - DO 12 J=1,10 - PV(J,I)=0. - 12 CONTINUE -C -C --- INITIALISE KGINIT ARRAY --- - DO 20 J=1,50 - KGINIT(J)=0 -20 CONTINUE -C -C --- INITIALIZE SOME CUT-OFF PARAMETERS WITH GEANT VALUES --- - TOFCUT=1.0E+20 - NSIZE=MXEVEN - K0FLAG=0 - CENG(3)=CUTHAD - CENG(4)=CUTNEU -C -C --- INITIALIZE PI, 2*PI, PI/2 AND PARTICLE PARAMETERS --- - PI=ACOS(-1.0) - TWPI=2.0*PI - PIBTW=PI/2.0 -C *** GAMMA *** - RMASS(1)=0.0 - RCHARG(1)=0.0 - LNVE=LQ(JPART-1) - RMASS(1)=Q(LNVE+7) - RCHARG(1)=Q(LNVE+8) -C *** NEUTRINO *** - RMASS(2)=0.0 - RCHARG(2)=0.0 - LNVE=LQ(JPART-4) - RMASS(2)=Q(LNVE+7) - RCHARG(2)=Q(LNVE+8) -C *** E+ *** - RMASS(3)=0.000511 - RCHARG(3)=1.0 - LNVE=LQ(JPART-2) - RMASS(3)=Q(LNVE+7) - RCHARG(3)=Q(LNVE+8) -C *** E- *** - RMASS(4)=0.000511 - RCHARG(4)=-1.0 - LNVE=LQ(JPART-3) - RMASS(4)=Q(LNVE+7) - RCHARG(4)=Q(LNVE+8) -C *** MU+ *** - RMASS(5)=0.105658 - RCHARG(5)=1.0 - LNVE=LQ(JPART-5) - RMASS(5)=Q(LNVE+7) - RCHARG(5)=Q(LNVE+8) -C *** MU- *** - RMASS(6)=0.105658 - RCHARG(6)=-1.0 - LNVE=LQ(JPART-6) - RMASS(6)=Q(LNVE+7) - RCHARG(6)=Q(LNVE+8) -C *** PI+ *** - RMASS(7)=0.139569 - RCHARG(7)=1.0 - CT=780.4 - LNVE=LQ(JPART-8) - RMASS(7)=Q(LNVE+7) - RCHARG(7)=Q(LNVE+8) - CT=CLIGHT*Q(LNVE+9) -C *** PI0 *** - RMASS(8)=0.134964 - RCHARG(8)=0.0 - LNVE=LQ(JPART-7) - RMASS(8)=Q(LNVE+7) - RCHARG(8)=Q(LNVE+8) -C *** PI- *** - RMASS(9)=0.139569 - RCHARG(9)=-1.0 - LNVE=LQ(JPART-9) - RMASS(9)=Q(LNVE+7) - RCHARG(9)=Q(LNVE+8) -C *** K+ *** - RMASS(10)=0.493667 - RCHARG(10)=1.0 - CTKCH=370.9 - LNVE=LQ(JPART-11) - RMASS(10)=Q(LNVE+7) - RCHARG(10)=Q(LNVE+8) - CTKCH=CLIGHT*Q(LNVE+9) -C *** K0 SHORT (==> K0) *** - RMASS(11)=0.49772 - RCHARG(11)=0.0 - CTK0=2.675 - LNVE=LQ(JPART-16) - RMASS(11)=Q(LNVE+7) - RCHARG(11)=Q(LNVE+8) - CTK0=CLIGHT*Q(LNVE+9) -C *** K0 LONG (==> K0 BAR) *** - RMASS(12)=-0.49772 - RCHARG(12)=0.0 - LNVE=LQ(JPART-10) - RMASS(12)=-Q(LNVE+7) - RCHARG(12)=Q(LNVE+8) -C *** K- *** - RMASS(13)=0.493667 - RCHARG(13)=-1.0 - LNVE=LQ(JPART-12) - RMASS(13)=Q(LNVE+7) - RCHARG(13)=Q(LNVE+8) -C *** P *** - RMASS(14)=0.938272 - RCHARG(14)=1.0 - LNVE=LQ(JPART-14) - RMASS(14)=Q(LNVE+7) - RCHARG(14)=Q(LNVE+8) -C *** P BAR *** - RMASS(15)=-0.938272 - RCHARG(15)=-1.0 - LNVE=LQ(JPART-15) - RMASS(15)=-Q(LNVE+7) - RCHARG(15)=Q(LNVE+8) -C *** N *** - RMASS(16)=0.939566 - RCHARG(16)=0.0 - LNVE=LQ(JPART-13) - RMASS(16)=Q(LNVE+7) - RCHARG(16)=Q(LNVE+8) -C *** N BAR *** - RMASS(17)=-0.939566 - RCHARG(17)=0.0 - LNVE=LQ(JPART-25) - RMASS(17)=-Q(LNVE+7) - RCHARG(17)=Q(LNVE+8) -C *** L0 *** - RMASS(18)=1.11560 - RCHARG(18)=0.0 - CTL0=7.89 - LNVE=LQ(JPART-18) - RMASS(18)=Q(LNVE+7) - RCHARG(18)=Q(LNVE+8) - CTL0=CLIGHT*Q(LNVE+9) -C *** L0 BAR *** - RMASS(19)=-1.11560 - RCHARG(19)=0.0 - LNVE=LQ(JPART-26) - RMASS(19)=-Q(LNVE+7) - RCHARG(19)=Q(LNVE+8) -C *** S+ *** - RMASS(20)=1.18937 - RCHARG(20)=1.0 - CTSP=2.40 - LNVE=LQ(JPART-19) - RMASS(20)=Q(LNVE+7) - RCHARG(20)=Q(LNVE+8) - CTSP=CLIGHT*Q(LNVE+9) -C *** S0 *** - RMASS(21)=1.19246 - RCHARG(21)=0.0 - LNVE=LQ(JPART-20) - RMASS(21)=Q(LNVE+7) - RCHARG(21)=Q(LNVE+8) -C *** S- *** - RMASS(22)=1.19734 - RCHARG(22)=-1.0 - CTSM=4.44 - LNVE=LQ(JPART-21) - RMASS(22)=Q(LNVE+7) - RCHARG(22)=Q(LNVE+8) - CTSM=CLIGHT*Q(LNVE+9) -C *** S+ BAR *** - RMASS(23)=-1.18937 - RCHARG(23)=-1.0 - LNVE=LQ(JPART-27) - RMASS(23)=-Q(LNVE+7) - RCHARG(23)=Q(LNVE+8) -C *** S0 BAR *** - RMASS(24)=-1.19246 - RCHARG(24)=0.0 - LNVE=LQ(JPART-28) - RMASS(24)=-Q(LNVE+7) - RCHARG(24)=Q(LNVE+8) -C *** S- BAR *** - RMASS(25)=-1.19734 - RCHARG(25)=1.0 - LNVE=LQ(JPART-29) - RMASS(25)=-Q(LNVE+7) - RCHARG(25)=Q(LNVE+8) -C *** XI0 *** - RMASS(26)=1.31490 - RCHARG(26)=0.0 - CTX0=8.69 - LNVE=LQ(JPART-22) - RMASS(26)=Q(LNVE+7) - RCHARG(26)=Q(LNVE+8) - CTX0=CLIGHT*Q(LNVE+9) -C *** XI- *** - RMASS(27)=1.32132 - RCHARG(27)=-1.0 - CTXM=4.92 - LNVE=LQ(JPART-23) - RMASS(27)=Q(LNVE+7) - RCHARG(27)=Q(LNVE+8) - CTXM=CLIGHT*Q(LNVE+9) -C *** XI0 BAR *** - RMASS(28)=-1.31490 - RCHARG(28)=0.0 - LNVE=LQ(JPART-30) - RMASS(28)=-Q(LNVE+7) - RCHARG(28)=Q(LNVE+8) -C *** XI- BAR *** - RMASS(29)=-1.32132 - RCHARG(29)=1.0 - LNVE=LQ(JPART-31) - RMASS(29)=-Q(LNVE+7) - RCHARG(29)=Q(LNVE+8) -C *** DEUTERON *** - RMASS(30)=1.875613 - RCHARG(30)=1.0 - LNVE=LQ(JPART-45) - RMASS(30)=Q(LNVE+7) - RCHARG(30)=Q(LNVE+8) -C *** TRITON *** - RMASS(31)=2.8144798 - RCHARG(31)=1.0 - LNVE=LQ(JPART-46) - RMASS(31)=Q(LNVE+7) - RCHARG(31)=Q(LNVE+8) -C *** ALPHA *** - RMASS(32)=3.727417 - RCHARG(32)=2.0 - LNVE=LQ(JPART-47) - RMASS(32)=Q(LNVE+7) - RCHARG(32)=Q(LNVE+8) -C *** OMEGA- *** - RMASS(33)=1.67245 - RCHARG(33)=-1.0 - LNVE=LQ(JPART-24) - RMASS(33)=Q(LNVE+7) - RCHARG(33)=Q(LNVE+8) -C *** OMEGA- BAR *** - RMASS(34)=-1.67245 - RCHARG(34)=1.0 - LNVE=LQ(JPART-32) - RMASS(34)=-Q(LNVE+7) - RCHARG(34)=Q(LNVE+8) -C *** NEW PARTICLE (GEANTINO) *** - RMASS(35)=0.0 - RCHARG(35)=0.0 -C - IF (NPRT(9)) - $ PRINT 1000,(I,RMASS(I),RCHARG(I),I=1,33), - $ CT,CTKCH,CTK0,CTL0,CTSP,CTSM,CTX0,CTXM - 1000 FORMAT(' *GHEINI* === GHEISHA PARTICLE PROPERTIES ==='/ - $ '0INDEX',5X,'MASS (GEV)',5X,'CHARGE'/1H / - $ 33(1H ,1X,I3,5X,F11.6,6X,F5.2/), - $ '0PI +- CT = ',G12.5,' K +- CT = ',G12.5/ - $ ' K0 CT = ',G12.5,' L0 CT = ',G12.5/ - $ ' S+ CT = ',G12.5,' S- CT = ',G12.5/ - $ ' X0 CT = ',G12.5,' X- CT = ',G12.5) -C - MP=RMASS(14) - MPI=RMASS(7) - MMU=RMASS(5) - MEL=RMASS(3) - MKCH=RMASS(10) - MK0=RMASS(11) - SMP=MP**2 - SMPI=MPI**2 - SMU=MMU**2 - ML0=RMASS(18) - MSP=RMASS(20) - MS0=RMASS(21) - MSM=RMASS(22) - MX0=RMASS(26) - MXM=RMASS(27) -C -C --- LOAD LIMITS FOR INTRINSIC FUNCTION ARGUMENTS --- - EXPXL = - 82.0 - EXPXU = 82.0 -C - IF (NPRT(9)) PRINT 1001,EXPXL,EXPXU - 1001 FORMAT('0*GHEINI* === INTRINSIC FUNCTION BOUNDARIES ==='/ - $ ' EXPXL,EXPXU = ',2(G12.5,1X)) -C - 90 IFINIT(4)=1 -C - END diff --git a/StarVMC/geant3/giface/gheish.F b/StarVMC/geant3/giface/gheish.F deleted file mode 100644 index dcdb93fa5f4..00000000000 --- a/StarVMC/geant3/giface/gheish.F +++ /dev/null @@ -1,877 +0,0 @@ -* -* $Id: gheish.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gheish.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:24 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE GHEISH -C -C *** MAIN STEERING FOR HADRON SHOWER DEVELOPMENT *** -C *** NVE 15-JUN-1988 CERN GENEVA *** -C -C CALLED BY : GUHADR (USER ROUTINE) -C ORIGIN : F.CARMINATI, H.FESEFELDT -C ROUTINES : CALIM 16-SEP-1987 -C SETRES 19-AUG-1985 -C INTACT 06-OCT-1987 -C -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcphys.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gsecti.inc" -#include "geant321/gcunit.inc" -C --- GHEISHA COMMONS --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_blankp.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_event.inc" -#include "geant321/s_prntfl.inc" -C -C --- "NEVENT" CHANGED TO "KEVENT" IN COMMON /CURPAR/ DUE TO CLASH --- -C --- WITH VARIABLE "NEVENT" IN GEANT COMMON --- -C - PARAMETER (MXGKCU=MXGKGH) - COMMON /CURPAR /WEIGHT(10),DDELTN,IFILE,IRUN,NEVT,KEVENT,SHFLAG, - $ ITHST,ITTOT,ITLST,IFRND,TOFCUT,CMOM(5),CENG(5), - $ RS,S,ENP(10),NP,NM,NN,NR,NO,NZ,IPA(MXGKCU), - $ ATNO2,ZNO2 -C -C --- "IPART" CHANGED TO "KPART" IN COMMON /RESULT/ DUE TO CLASH --- -C --- WITH VARIABLE "IPART" IN GEANT COMMON --- -C - COMMON /RESULT/ XEND,YEND,ZEND,RCA,RCE,AMAS,NCH,TOF,PX,PY,PZ, - $ USERW,INTCT,P,EN,EK,AMASQ,DELTN,ITK,NTK,KPART,IND, - $ LCALO,ICEL,SINL,COSL,SINP,COSP, - $ XOLD,YOLD,ZOLD,POLD,PXOLD,PYOLD,PZOLD, - $ XSCAT,YSCAT,ZSCAT,PSCAT,PXSCAT,PYSCAT,PZSCAT - REAL NCH,INTCT -C -C --- "ABSL(21)" CHANGED TO "ABSLTH(21)" IN COMMON /MAT/ DUE TO CLASH --- -C --- WITH VARIABLE "ABSL" IN GEANT COMMON --- -C - COMMON /MAT/ LMAT, - $ DEN(21),RADLTH(21),ATNO(21),ZNO(21),ABSLTH(21), - $ CDEN(21),MDEN(21),X0DEN(21),X1DEN(21),RION(21), - $ MATID(21),MATID1(21,24),PARMAT(21,10), - $ IFRAT,IFRAC(21),FRAC1(21,10),DEN1(21,10), - $ ATNO1(21,10),ZNO1(21,10) -C - DIMENSION IPELOS(35) - SAVE IDEOL -C -C --- TRANSFER GEANT CUT-OFFS INTO GHEISHA VALUES --- - DIMENSION CUTS(5) - EQUIVALENCE (CUTS(1),CUTGAM) - DIMENSION RNDM(1) -C -#include "geant321/pcodim.inc" -#include "geant321/pcodat.inc" -C -C --- DENOTE STABLE PARTICLES ACCORDING TO GHEISHA CODE --- -C --- STABLE : GAMMA, NEUTRINO, ELECTRON, PROTON AND HEAVY FRAGMENTS --- -C --- WHEN STOPPING THESE PARTICLES ONLY LOOSE THEIR KINETIC ENERGY --- - DATA IPELOS/ - $ 1, 1, 0, 1, 0, 0, 0, 0, - $ 0, 0, 0, 0, 0, 1, 0, 0, - $ 0, 0, 0, 0, 0, 0, 0, 0, - $ 0, 0, 0, 0, 0, 1, 1, 1, - $ 0, 0, 1/ -C -C --- LOWERBOUND OF KINETIC ENERGY BIN IN N CROSS-SECTION TABLES --- - DATA TEKLOW /0.0001/ -C -C --- KINETIC ENERGY TO SWITCH FROM "CASN" TO "GNSLWD" FOR N CASCADE --- - DATA SWTEKN /0.05/ -C - DATA IDEOL/0/ -C -C --- INITIALIZE RELEVANT GHEISHA VARIABLES IN CASE NOT DONE ALREADY --- - IF (IFINIT(4) .EQ. 0) CALL GHEINI -C -C --- SET THE INTERACTION MECHANISM TO "HADR" --- - KCASE=NAMEC(12) -C -C --- SET GHEISHA PRINTING FLAGS ACCORDING TO "DEBUG" STEERING CARD -- - IF (IDEOL .EQ. IDEBUG) GO TO 9000 -C - IF (IDEBUG .NE. 1) GO TO 9001 -C -C --- SET SELECTED DEBUGGING FLAGS --- - DO 9002 LL=1,10 - IF ((ISWIT(LL) .LE. 100) .OR. (ISWIT(LL) .GT. 110)) GO TO 9002 - JJ=ISWIT(LL)-100 - NPRT(JJ)=.TRUE. - 9002 CONTINUE - GO TO 9000 -C -C --- NO DEBUGGING SELECTED --- - 9001 CONTINUE - DO 9003 LL=1,10 - NPRT(LL)=.FALSE. - 9003 CONTINUE - IDEOL=IDEBUG -C - 9000 CONTINUE -C -C --- SET THE GHEISHA PARTICLE TYPE TO THE ONE OF GEANT --- - IF(IPART.GT.48) THEN - IF(ISTOP.EQ.0) GOTO 9999 - JPA = LQ(JPART-IPART) - AMAS=Q(JPA+7) - NCH =Q(JPA+8) - KPART=-IPART - GOTO 107 - ENDIF - NETEST=IKPART(KPART) - IF ((NETEST .EQ. IPART) .OR. (ISTOP .NE. 0)) GO TO 9004 -C - PRINT 8881,IPART,KPART,ISTOP - 8881 FORMAT(' *GHEISH* IPART,KPART = ',2(I3,1X),' ISTOP = ',I3/ - $ ' *GHEISH* ======> PARTICLE TYPES DO NOT MATCH <=======') - STOP -C - 9004 CONTINUE - KPART=KIPART(IPART) - KKPART=KPART - AMAS=RMASS(KPART) - NCH=RCHARG(KPART) -C -C --- TRANSPORT THE TRACK NUMBER TO GHEISHA AND INITIALISE SOME NUMBERS - 107 NTK=ITRA - INTCT=0.0 - NEXT=1 - NTOT=0 - TOF=0.0 -C -C --- FILL RESULT COMMON FOR THIS TRACK WITH GEANT VALUES --- -C --- CALIM CODE --- - XEND=VECT(1) - YEND=VECT(2) - ZEND=VECT(3) - PX=VECT(4) - PY=VECT(5) - PZ=VECT(6) - USERW=UPWGHT -C --- SETRES CODE --- - P=VECT(7) - AMASQ=AMAS*AMAS - EN=SQRT(AMASQ+P*P) - EK=ABS(EN-ABS(AMAS)) - ENOLD=EN -C - SINL=0.0 - COSL=1.0 - SINP=0.0 - COSP=1.0 -C - IF (ABS(P) .LE. 1.0E-10) GO TO 1 - SINL=PZ - COSL=SQRT(ABS(1.0-SINL**2)) -C - 1 CONTINUE - CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI - IF ((PX .EQ. 0.0) .AND. (PY .EQ. 0.0)) GOTO 3 - IF (ABS(PX) .LT. 1.E-10) GOTO 2 - PHI=ATAN2(PY,PX) - GOTO 3 -C - 2 CONTINUE - IF (PY .GT. 0.0) PHI=PI/2.0 - IF (PY .LE. 0.0) PHI=3.0*PI/2.0 -C - 3 CONTINUE - SINP=SIN(PHI) - COSP=COS(PHI) -C -C --- SET GHEISHA INDEX FOR THE CURRENT MEDIUM ALWAYS TO 1 --- - IND=1 -C -C --- TRANSFER GLOBAL MATERIAL CONSTANTS FOR CURRENT MEDIUM --- -C --- DETAILED DATA FOR COMPOUNDS IS OBTAINED VIA ROUTINE COMPO --- - ATNO(IND+1)=A - ZNO(IND+1)=Z - DEN(IND+1)=DENS - RADLTH(IND+1)=RADL - ABSLTH(IND+1)=ABSL -C -C --- SETUP PARMAT FOR PHYSICS STEERING --- - PARMAT(IND+1,5)=0.0 - PARMAT(IND+1,8)=IPFIS - PARMAT(IND+1,9)=0.0 - PARMAT(IND+1,10)=0.0 - JTMN=LQ(JTM) - IF (JTMN .LE. 0) GO TO 4 - PARMAT(IND+1,5)=Q(JTMN+26) - 4 CONTINUE -C -C --- CHECK WHETHER PARTICLE IS STOPPING OR NOT --- - IF (ISTOP .EQ. 0) GO TO 5 -C - IF (NPRT(9)) PRINT 1000,KPART - 1000 FORMAT(' *GHEISH* STOPPING GHEISHA PARTICLE ',I3) - CALL GHSTOP -C --- IN CASE OF DECAY OF PARTICLE OR USER PARTICLE ==> RETURN --- - IF (LMEC(NMEC) .EQ. 5 .OR. KPART .LT. 0) GO TO 9999 -C --- IN CASE OF HAD. INT. WITH GENERATION OF SEC. ==> GO TO 40 --- - IF (IHADR .NE. 2) GO TO 40 -C --- ALSO DEPOSIT REST MASS ENERGY FOR IN-STABLE PARTICLES --- - IF (IPELOS(KPART) .EQ. 0) DESTEP=DESTEP+ABS(RMASS(KPART)) - GO TO 9999 - 5 CONTINUE -C -C --- INDICATE LIGHT (<= PI) AND HEAVY PARTICLES (HISTORICALLY) --- -C --- CALIM CODE --- - J=2 - TEST=RMASS(7)-0.001 - IF (ABS(AMAS) .LT. TEST) J=1 -C -C *** DIVISION INTO VARIOUS INTERACTION CHANNELS DENOTED BY "INT" *** -C THE CONVENTION FOR "INT" IS THE FOLLOWING -C -C INT = -1 REACTION CROSS SECTIONS NOT YET TABULATED/PROGRAMMED -C = 0 NO INTERACTION -C = 1 ELEASTIC SCATTERING -C = 2 INELASTIC SCATTERING -C = 3 NUCLEAR FISSION WITH INELEASTIC SCATTERING -C = 4 NEUTRON CAPTURE -C -C --- INTACT CODE --- - KK=ABS(Q(JMA+11)) - ALAM1=0.0 - CALL GRNDM(RNDM,1) - RAT=RNDM(1)*ALAM - NMEC=NMEC+1 - ATNO2=A - ZNO2 =Z -C - DO 6 K=1,KK - IF (KK .LE. 0) GO TO 6 -C - IF (KK .EQ. 1) GO TO 7 - ATNO2=Q(JMIXT+K) - ZNO2 =Q(JMIXT+K+KK) -C - 7 CONTINUE -C -C --- TRY FOR ELASTIC SCATTERING --- - INT=1 - LMEC(NMEC)=13 - ALAM1=ALAM1+AIEL(K) - IF (RAT .LT. ALAM1) GO TO 8 -C -C --- TRY FOR INELASTIC SCATTERING --- - INT=2 - LMEC(NMEC)=20 - ALAM1=ALAM1+AIIN(K) - IF (RAT .LT. ALAM1) GO TO 8 -C -C --- TRY FOR NUCLEAR FISSION WITH INELASTIC SCATTERING --- - INT=3 - LMEC(NMEC)=15 - ALAM1=ALAM1+AIFI(K) - IF (RAT .LT. ALAM1) GO TO 8 -C -C --- TRY FOR NEUTRON CAPTURE --- - INT=4 - LMEC(NMEC)=18 - ALAM1=ALAM1+AICA(K) - IF (RAT .LT. ALAM1) GO TO 8 -C - 6 CONTINUE -C --- NO REACTION SELECTED ==> ELASTIC SCATTERING --- - INT=1 - LMEC(NMEC)=13 -C -C *** TAKE ACTION ACCORDING TO SELECTED REACTION CHANNEL *** -C --- FOLLOWING CODE IS A TRANSLATION OF "CALIM" INTO GEANT JARGON --- -C - 8 CONTINUE - IF (NPRT(9)) PRINT 1001,INT - 1001 FORMAT(' *GHEISH* INTERACTION TYPE CHOSEN INT = ',I3) -C -C --- IN CASE OF NO INTERACTION OR UNKNOWN CROSS SECTIONS ==> DONE --- - IF (INT .LE. 0) GO TO 40 -C -C --- IN CASE OF NON-ELASTIC SCATTERING AND NO GENERATION OF SEC. --- -C --- PARTICLES DEPOSIT TOTAL PARTICLE ENERGY AND RETURN --- - IF ((INT .EQ. 1) .OR. (IHADR .NE. 2)) GO TO 9 - ISTOP=2 - DESTEP=DESTEP+EN - NGKINE=0 - GO TO 9999 -C - 9 CONTINUE - IF (INT .NE. 4) GO TO 10 -C -C --- NEUTRON CAPTURE --- - IF (NPRT(9)) PRINT 2000 - 2000 FORMAT(' *GHEISH* ROUTINE CAPTUR WILL BE CALLED') - ISTOP=1 - CALL CAPTUR(NOPT) - GO TO 40 -C - 10 CONTINUE - IF (INT .NE. 3) GO TO 11 -C --- NUCLEAR FISSION --- - IF (NPRT(9)) PRINT 2001 - 2001 FORMAT(' *GHEISH* ROUTINE FISSIO WILL BE CALLED') - ISTOP=1 - TKIN=FISSIO(EK) - GO TO 40 -C - 11 CONTINUE -C -C --- ELASTIC AND INELASTIC SCATTERING --- - PV( 1,MXGKPV)=P*PX - PV( 2,MXGKPV)=P*PY - PV( 3,MXGKPV)=P*PZ - PV( 4,MXGKPV)=EN - PV( 5,MXGKPV)=AMAS - PV( 6,MXGKPV)=NCH - PV( 7,MXGKPV)=TOF - PV( 8,MXGKPV)=KPART - PV( 9,MXGKPV)=0. - PV(10,MXGKPV)=USERW -C -C --- ADDITIONAL PARAMETERS TO SIMULATE FERMI MOTION AND EVAPORATION --- - DO 111 JENP=1,10 - ENP(JENP)=0. - 111 CONTINUE - ENP(5)=EK - ENP(6)=EN - ENP(7)=P -C - IF (INT .NE. 1) GO TO 12 -C -C *** ELASTIC SCATTERING PROCESSES *** -C -C --- ONLY NUCLEAR INTERACTIONS FOR HEAVY FRAGMENTS --- - IF ((KPART .GE. 30) .AND. (KPART .LE. 32)) GO TO 35 -C -C --- NORMAL ELASTIC SCATTERING FOR LIGHT MEDIA --- - IF (ATNO2 .LT. 1.5) GO TO 35 -C -C --- COHERENT ELASTIC SCATTERING FOR HEAVY MEDIA --- - IF (NPRT(9)) PRINT 2002 - 2002 FORMAT(' *GHEISH* ROUTINE COSCAT WILL BE CALLED') - CALL COSCAT - GO TO 40 -C -C *** NON-ELASTIC SCATTERING PROCESSES *** - 12 CONTINUE -C -C --- ONLY NUCLEAR INTERACTIONS FOR HEAVY FRAGMENTS --- - IF ((KPART .GE. 30) .AND. (KPART .LE. 32)) GO TO 35 -C -C *** USE SOMETIMES NUCLEAR REACTION ROUTINE "NUCREC" FOR LOW ENERGY *** -C *** PROTON AND NEUTRON SCATTERING *** - CALL GRNDM(RNDM,1) - TEST1=RNDM(1) - TEST2=4.5*(EK-0.01) - IF ((KPART .EQ. 14) .AND. (TEST1 .GT. TEST2)) GO TO 85 - IF ((KPART .EQ. 16) .AND. (TEST1 .GT. TEST2)) GO TO 86 -C -C *** FERMI MOTION AND EVAPORATION *** - TKIN=CINEMA(EK) - PV( 9,MXGKPV)=TKIN - ENP(5)=EK+TKIN -C --- CHECK FOR LOWERBOUND OF EKIN IN CROSS-SECTION TABLES --- - IF (ENP(5) .LE. TEKLOW) ENP(5)=TEKLOW - ENP(6)=ENP(5)+ABS(AMAS) - ENP(7)=(ENP(6)-AMAS)*(ENP(6)+AMAS) - ENP(7)=SQRT(ABS(ENP(7))) - TKIN=FERMI(ENP(5)) - ENP(5)=ENP(5)+TKIN -C --- CHECK FOR LOWERBOUND OF EKIN IN CROSS-SECTION TABLES --- - IF (ENP(5) .LE. TEKLOW) ENP(5)=TEKLOW - ENP(6)=ENP(5)+ABS(AMAS) - ENP(7)=(ENP(6)-AMAS)*(ENP(6)+AMAS) - ENP(7)=SQRT(ABS(ENP(7))) - TKIN=EXNU(ENP(5)) - ENP(5)=ENP(5)-TKIN -C --- CHECK FOR LOWERBOUND OF EKIN IN CROSS-SECTION TABLES --- - IF (ENP(5) .LE. TEKLOW) ENP(5)=TEKLOW - ENP(6)=ENP(5)+ABS(AMAS) - ENP(7)=(ENP(6)-AMAS)*(ENP(6)+AMAS) - ENP(7)=SQRT(ABS(ENP(7))) -C -C *** IN CASE OF ENERGY ABOVE CUT-OFF LET THE PARTICLE CASCADE *** - TEST=ABS(CHARGE) - IF ((TEST .GT. 1.0E-10) .AND. (ENP(5) .GT. CUTHAD)) GO TO 35 - IF ((TEST .LE. 1.0E-10) .AND. (ENP(5) .GT. CUTNEU)) GO TO 35 -C -C --- SECOND CHANCE FOR ANTI-BARYONS DUE TO POSSIBLE ANNIHILATION --- - IF ((AMAS .GE. 0.0) .OR. (KPART .LE. 14)) GO TO 13 - ANNI=1.3*P - IF (ANNI .GT. 0.4) ANNI=0.4 - CALL GRNDM(RNDM,1) - TEST=RNDM(1) - IF (TEST .GT. ANNI) GO TO 35 -C -C *** PARTICLE WITH ENERGY BELOW CUT-OFF *** -C --- ==> ONLY NUCLEAR EVAPORATION AND QUASI-ELASTIC SCATTERING --- - 13 CONTINUE -C - ISTOP=3 -C - IF (NPRT(9)) PRINT 1002,KPART,EK,EN,P,ENP(5),ENP(6),ENP(7) - 1002 FORMAT(' *GHEISH* ENERGY BELOW CUT-OFF FOR GHEISHA PARTICLE ',I3/ - $ ' EK,EN,P,ENP(5),ENP(6),ENP(7) = ',6(G12.5,1X)) -C - IF ((KPART .NE. 14) .AND. (KPART .NE. 16)) GO TO 14 - IF (KPART .EQ. 16) GO TO 86 -C -C --- SLOW PROTON --- - 85 CONTINUE - IF (NPRT(9)) PRINT 2003,EK,KPART - 2003 FORMAT(' *GHEISH* ROUTINE NUCREC WILL BE CALLED', - $ ' EK = ',G12.5,' GEV KPART = ',I3) - CALL NUCREC(NOPT,2) -C - IF (NOPT .NE. 0) GO TO 50 -C - IF (NPRT(9)) PRINT 2004,EK,KPART - 2004 FORMAT(' *GHEISH* ROUTINE COSCAT WILL BE CALLED', - $ ' EK = ',G12.5,' GEV KPART = ',I3) - CALL COSCAT - GO TO 40 -C -C --- SLOW NEUTRON --- - 86 CONTINUE - IF (NPRT(9)) PRINT 2015 - NUCFLG=0 - CALL GNSLWD(NUCFLG,INT,NFL,TEKLOW) - IF (NUCFLG .NE. 0) GO TO 50 - GO TO 40 -C -C --- OTHER SLOW PARTICLES --- - 14 CONTINUE - IPA(1)=KPART -C --- DECIDE FOR PROTON OR NEUTRON TARGET --- - IPA(2)=16 - CALL GRNDM(RNDM,1) - TEST1=RNDM(1) - TEST2=ZNO2/ATNO2 - IF (TEST1 .LT. TEST2) IPA(2)=14 - AVERN=0.0 - NFL=1 - IF (IPA(2) .EQ. 16) NFL=2 - IPPP=KPART - IF (NPRT(9)) PRINT 2005 - 2005 FORMAT(' *GHEISH* ROUTINE TWOB WILL BE CALLED') - CALL TWOB(IPPP,NFL,AVERN) - GOTO 40 -C -C --- INITIALISATION OF CASCADE QUANTITIES --- - 35 CONTINUE -C -C *** CASCADE GENERATION *** -C --- CALCULATE FINAL STATE MULTIPLICITY AND LONGITUDINAL AND --- -C --- TRANSVERSE MOMENTUM DISTRIBUTIONS --- -C -C --- FIXED PARTICLE TYPE TO STEER THE CASCADE --- - KKPART=KPART -C -C --- NO CASCADE FOR LEPTONS --- - IF (KKPART .LE. 6) GO TO 9999 -C -C *** WHAT TO DO WITH "NEW PARTICLES" FOR GHEISHA ?????? *** -C --- RETURN FOR THE TIME BEING --- - IF (KKPART .GE. 35) GO TO 9999 -C -C --- CASCADE OF HEAVY FRAGMENTS - IF ((KKPART .GE. 30) .AND. (KKPART .LE. 32)) GO TO 390 -C -C --- INITIALIZE THE IPA ARRAY --- - CALL VZERO(IPA(1),MXGKCU) -C -C --- CASCADE OF OMEGA - AND OMEGA - BAR --- - IF (KKPART .EQ. 33) GO TO 330 - IF (KKPART .EQ. 34) GO TO 331 -C - NVEPAR=KKPART-17 - IF (NVEPAR .LE. 0) GO TO 15 - GO TO (318,319,320,321,322,323,324,325,326,327,328,329),NVEPAR -C - 15 CONTINUE - NVEPAR=KKPART-6 - GO TO (307,308,309,310,311,312,313,314,315,316,317,318),NVEPAR -C -C --- PI+ CASCADE --- - 307 CONTINUE - IF (NPRT(9)) PRINT 2006 - 2006 FORMAT(' *GHEISH* ROUTINE CASPIP WILL BE CALLED') - CALL CASPIP(J,INT,NFL) - GO TO 40 -C -C --- PI0 ==> NO CASCADE --- - 308 CONTINUE - GO TO 40 -C -C --- PI- CASCADE --- - 309 CONTINUE - IF (NPRT(9)) PRINT 2007 - 2007 FORMAT(' *GHEISH* ROUTINE CASPIM WILL BE CALLED') - CALL CASPIM(J,INT,NFL) - GO TO 40 -C -C --- K+ CASCADE --- - 310 CONTINUE - IF (NPRT(9)) PRINT 2008 - 2008 FORMAT(' *GHEISH* ROUTINE CASKP WILL BE CALLED') - CALL CASKP(J,INT,NFL) - GO TO 40 -C -C --- K0 CASCADE --- - 311 CONTINUE - IF (NPRT(9)) PRINT 2009 - 2009 FORMAT(' *GHEISH* ROUTINE CASK0 WILL BE CALLED') - CALL CASK0(J,INT,NFL) - GO TO 40 -C -C --- K0 BAR CASCADE --- - 312 CONTINUE - IF (NPRT(9)) PRINT 2010 - 2010 FORMAT(' *GHEISH* ROUTINE CASK0B WILL BE CALLED') - CALL CASK0B(J,INT,NFL) - GO TO 40 -C -C --- K- CASCADE --- - 313 CONTINUE - IF (NPRT(9)) PRINT 2011 - 2011 FORMAT(' *GHEISH* ROUTINE CASKM WILL BE CALLED') - CALL CASKM(J,INT,NFL) - GO TO 40 -C -C --- PROTON CASCADE --- - 314 CONTINUE - IF (NPRT(9)) PRINT 2012 - 2012 FORMAT(' *GHEISH* ROUTINE CASP WILL BE CALLED') - CALL CASP(J,INT,NFL) - GO TO 40 -C -C --- PROTON BAR CASCADE --- - 315 CONTINUE - IF (NPRT(9)) PRINT 2013 - 2013 FORMAT(' *GHEISH* ROUTINE CASPB WILL BE CALLED') - CALL CASPB(J,INT,NFL) - GO TO 40 -C -C --- NEUTRON CASCADE --- - 316 CONTINUE - NUCFLG=0 - IF (EK .GT. SWTEKN) THEN - CALL CASN(J,INT,NFL) - IF (NPRT(9)) PRINT 2014 - 2014 FORMAT(' *GHEISH* ROUTINE CASN WILL BE CALLED') - ELSE - CALL GNSLWD(NUCFLG,INT,NFL,TEKLOW) - IF (NPRT(9)) PRINT 2015 - 2015 FORMAT(' *GHEISH* ROUTINE GNSLWD WILL BE CALLED') - ENDIF - IF (NUCFLG .NE. 0) GO TO 50 - GO TO 40 -C -C --- NEUTRON BAR CASCADE --- - 317 CONTINUE - IF (NPRT(9)) PRINT 2016 - 2016 FORMAT(' *GHEISH* ROUTINE CASNB WILL BE CALLED') - CALL CASNB(J,INT,NFL) - GO TO 40 -C -C --- LAMBDA CASCADE --- - 318 CONTINUE - IF (NPRT(9)) PRINT 2017 - 2017 FORMAT(' *GHEISH* ROUTINE CASL0 WILL BE CALLED') - CALL CASL0(J,INT,NFL) - GO TO 40 -C -C --- LAMBDA BAR CASCADE --- - 319 CONTINUE - IF (NPRT(9)) PRINT 2018 - 2018 FORMAT(' *GHEISH* ROUTINE CASAL0 WILL BE CALLED') - CALL CASAL0(J,INT,NFL) - GO TO 40 -C -C --- SIGMA + CASCADE --- - 320 CONTINUE - IF (NPRT(9)) PRINT 2019 - 2019 FORMAT(' *GHEISH* ROUTINE CASSP WILL BE CALLED') - CALL CASSP(J,INT,NFL) - GO TO 40 -C -C --- SIGMA 0 ==> NO CASCADE --- - 321 CONTINUE - GO TO 40 -C -C --- SIGMA - CASCADE --- - 322 CONTINUE - IF (NPRT(9)) PRINT 2020 - 2020 FORMAT(' *GHEISH* ROUTINE CASSM WILL BE CALLED') - CALL CASSM(J,INT,NFL) - GO TO 40 -C -C --- SIGMA + BAR CASCADE --- - 323 CONTINUE - IF (NPRT(9)) PRINT 2021 - 2021 FORMAT(' *GHEISH* ROUTINE CASASP WILL BE CALLED') - CALL CASASP(J,INT,NFL) - GO TO 40 -C -C --- SIGMA 0 BAR ==> NO CASCADE --- - 324 CONTINUE - GO TO 40 -C -C --- SIGMA - BAR CASCADE --- - 325 CONTINUE - IF (NPRT(9)) PRINT 2022 - 2022 FORMAT(' *GHEISH* ROUTINE CASASM WILL BE CALLED') - CALL CASASM(J,INT,NFL) - GO TO 40 -C -C --- XI 0 CASCADE --- - 326 CONTINUE - IF (NPRT(9)) PRINT 2023 - 2023 FORMAT(' *GHEISH* ROUTINE CASX0 WILL BE CALLED') - CALL CASX0(J,INT,NFL) - GO TO 40 -C -C --- XI - CASCADE --- - 327 CONTINUE - IF (NPRT(9)) PRINT 2024 - 2024 FORMAT(' *GHEISH* ROUTINE CASXM WILL BE CALLED') - CALL CASXM(J,INT,NFL) - GO TO 40 -C -C --- XI 0 BAR CASCADE --- - 328 CONTINUE - IF (NPRT(9)) PRINT 2025 - 2025 FORMAT(' *GHEISH* ROUTINE CASAX0 WILL BE CALLED') - CALL CASAX0(J,INT,NFL) - GO TO 40 -C -C --- XI - BAR CASCADE --- - 329 CONTINUE - IF (NPRT(9)) PRINT 2026 - 2026 FORMAT(' *GHEISH* ROUTINE CASAXM WILL BE CALLED') - CALL CASAXM(J,INT,NFL) - GO TO 40 -C -C --- OMEGA - CASCADE --- - 330 CONTINUE - IF (NPRT(9)) PRINT 2027 - 2027 FORMAT(' *GHEISH* ROUTINE CASOM WILL BE CALLED') - CALL CASOM(J,INT,NFL) - GO TO 40 -C -C --- OMEGA - BAR CASCADE --- - 331 CONTINUE - IF (NPRT(9)) PRINT 2028 - 2028 FORMAT(' *GHEISH* ROUTINE CASAOM WILL BE CALLED') - CALL CASAOM(J,INT,NFL) - GO TO 40 -C -C --- HEAVY FRAGMENT CASCADE --- - 390 CONTINUE - IF (NPRT(9)) PRINT 2090 - 2090 FORMAT(' *GHEISH* ROUTINE CASFRG WILL BE CALLED') - NUCFLG=0 - CALL CASFRG(NUCFLG,INT,NFL) - IF (NUCFLG .NE. 0) GO TO 50 -C -C *** CHECK WHETHER THERE ARE NEW PARTICLES GENERATED *** - 40 CONTINUE - IF ((NTOT .NE. 0) .OR. (KKPART .NE. KPART)) GO TO 50 -C -C --- NO SECONDARIES GENERATED AND PARTICLE IS STILL THE SAME --- -C --- ==> COPY EVERYTHING BACK IN THE CURRENT GEANT STACK --- - NGKINE=0 - TOFG=TOFG+TOF*0.5E-10 -C --- In case of crazy momentum value ==> no change to GEANT stack --- - IF (P .LT. 0.) GO TO 41 - VECT(4)=PX - VECT(5)=PY - VECT(6)=PZ - VECT(7)=P - GETOT=EN - GEKIN=EK -C --- CHECK KINETIC ENERGY --- - CALL G3EKBIN - EDEP=ABS(ENOLD-EN) - RMASSI=EN-EK - IF (NPRT(9) .AND. (EN .GT. ENOLD)) - $ PRINT 8888,EDEP,ENOLD,EN,EK,RMASSI - 8888 FORMAT(' *GHEISH* EDEP,ENOLD,EN,EK,M = ',5(G12.5,1X)/ - $ ' *GHEISH* =======> EDEP WOULD BE NEGATIVE <========') - IF (ISTOP .EQ. 0) DESTEP=DESTEP+EDEP -C -C --- RE-INITIALIZE THE PROBABILITY FOR HADRONIC INTERACTION --- - 41 CONTINUE - CALL GRNDM(RNDM,1) - IF ((RNDM(1) .LE. 0.) .OR. (RNDM(1) .GE. 1.)) GO TO 41 - ZINTHA=-LOG(RNDM(1)) - SLHADR=SLENG - STEPHA=1.0E10 -C - NVEDUM=KIPART(IPART) - IF (NPRT(9)) PRINT 1003,NTOT,IPART,KPART,KKPART,NVEDUM - 1003 FORMAT(' *GHEISH* NO SEC. GEN. NTOT,IPART,KPART,KKPART,KIPART = ', - $ 5(I3,1X)/ - $ ' CURRENT PARTICLE ON THE STACK AGAIN') - GO TO 9999 -C -C *** CURRENT PARTICLE IS NOT THE SAME AS IN THE BEGINNING OR/AND *** -C *** ONE OR MORE SECONDARIES HAVE BEEN GENERATED *** - 50 CONTINUE -C - NVEDUM=KIPART(IPART) - IF (NPRT(9)) PRINT 1004,NTOT,IPART,KPART,KKPART,NVEDUM - 1004 FORMAT(' *GHEISH* SEC. GEN. NTOT,IPART,KPART,KKPART,KIPART = ', - $ 5(I3,1X)) -C -C --- INITIAL PARTICLE TYPE HAS BEEN CHANGED ==> PUT NEW TYPE ON --- -C --- THE GEANT TEMPORARY STACK --- -C -C --- MAKE CHOICE BETWEEN K0 LONG / K0 SHORT --- - IF ((KPART .NE. 11) .AND. (KPART .NE. 12)) GO TO 52 - CALL GRNDM(RNDM,1) - KPART=11.5+RNDM(1) -C - 52 CONTINUE - ITY=IKPART(KPART) - LNVE=LQ(JPART-ITY) - IF (LNVE .LE. 0) PRINT 1234,NTOT,ITY,LNVE - 1234 FORMAT('0*GHEISH* 1234 NTOT,ITY,LNVE = ',3(I10,1X)) - IF (LNVE .LE. 0) STOP - IF (ISTOP .EQ. 0) ISTOP=1 -C -C --- IN CASE THE NEW PARTICLE IS A NEUTRINO ==> FORGET IT --- - IF (KPART .EQ. 2) GO TO 60 -C -C --- PUT PARTICLE ON THE STACK --- - GKIN(1,1)=PX*P - GKIN(2,1)=PY*P - GKIN(3,1)=PZ*P - GKIN(4,1)=SQRT(P*P+RMASS(KPART)**2) - GKIN(5,1)=ITY - TOFD(1)=TOF*0.5E-10 - NGKINE = 1 - GPOS(1,1) = VECT(1) - GPOS(2,1) = VECT(2) - GPOS(3,1) = VECT(3) -C - IF (NPRT(9)) PRINT 1005,ITY,NGKINE - 1005 FORMAT(' *GHEISH* GEANT PART. ',I3,' PUT ONTO STACK AT POS. ',I3) -C -C *** CHECK WHETHER SECONDARIES HAVE BEEN GENERATED AND COPY THEM *** -C *** ALSO ON THE GEANT STACK *** - 60 CONTINUE -C -C --- ALL QUANTITIES ARE TAKEN FROM THE GHEISHA STACK WHERE THE --- -C --- CONVENTION IS THE FOLLOWING --- -C -C EVE(INDEX+ 1)= X -C EVE(INDEX+ 2)= Y -C EVE(INDEX+ 3)= Z -C EVE(INDEX+ 4)= NCAL -C EVE(INDEX+ 5)= NCELL -C EVE(INDEX+ 6)= MASS -C EVE(INDEX+ 7)= CHARGE -C EVE(INDEX+ 8)= TOF -C EVE(INDEX+ 9)= PX -C EVE(INDEX+10)= PY -C EVE(INDEX+11)= PZ -C EVE(INDEX+12)= TYPE -C - IF (NTOT .LE. 0) GO TO 9999 -C -C --- ONE OR MORE SECONDARIES HAVE BEEN GENERATED --- - DO 61 L=1,NTOT - INDEX=(L-1)*12 - JND=EVE(INDEX+12) -C -C --- MAKE CHOICE BETWEEN K0 LONG / K0 SHORT --- - IF ((JND .NE. 11) .AND. (JND .NE. 12)) GO TO 63 - CALL GRNDM(RNDM,1) - JND=11.5+RNDM(1) -C -C --- FORGET ABOUT NEUTRINOS --- - 63 CONTINUE - IF (JND .EQ. 2) GO TO 61 -C -C --- SWITH TO GEANT QUANTITIES --- - ITY=IKPART(JND) - JTY=LQ(JPART-ITY) - IF (JTY .LE. 0) PRINT 1235,NTOT,ITY,JTY - 1235 FORMAT('0*GHEISH* 1235 NTOT,ITY,JTY = ',3(I10,1X)) - IF (JTY .LE. 0) STOP -* ITRT=Q(JTY+6) - PLX=EVE(INDEX+9) - PLY=EVE(INDEX+10) - PLZ=EVE(INDEX+11) - ELT=SQRT(PLX*PLX+PLY*PLY+PLZ*PLZ+Q(JTY+7)**2) -C -C --- ADD PARTICLE TO THE STACK IF STACK NOT YET FULL --- - IF (NGKINE .GE. MXGKIN) THEN - WRITE(CHMAIL,1236) NTOT, L - 1236 FORMAT(' *** GHEISH: ',I9,' particle produced but only ', - + I9,' put on the GEANT stack!') - CALL GMAIL(1,1) - GO TO 9999 - ENDIF - NGKINE=NGKINE+1 - GKIN(1,NGKINE)=PLX - GKIN(2,NGKINE)=PLY - GKIN(3,NGKINE)=PLZ - GKIN(4,NGKINE)=ELT - GKIN(5,NGKINE)=ITY - TOFD(NGKINE)=EVE(INDEX+8)*0.5E-10 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) -C - IF (NPRT(9)) PRINT 1006,ITY,NGKINE,L,(EVE(INDEX+J),J=1,12) - 1006 FORMAT(' *GHEISH* GEANT PART. ',I3,' ALSO PUT ONTO STACK AT', - $ ' POS. ',I3/ - $ ' EVE(',I2,') = '/12(1H ,12X,G12.5/)) -C - 61 CONTINUE -C - 9999 CONTINUE -C --- LIMIT THE VALUE OF NGKINE IN CASE OF OVERFLOW --- - NGKINE=MIN(NGKINE,MXGKIN) - END diff --git a/StarVMC/geant3/giface/ghesig.F b/StarVMC/geant3/giface/ghesig.F deleted file mode 100644 index 36a4bf6a1e6..00000000000 --- a/StarVMC/geant3/giface/ghesig.F +++ /dev/null @@ -1,472 +0,0 @@ -* -* $Id: ghesig.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: ghesig.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : - FUNCTION GHESIG(PPART,EKIN,AVER,A,Z,W,KK,DENS,QCOR,LPART) -C -C *** CALCULATION OF THE PROBABILITIES FOR (IN)ELASTIC INTERACTIONS *** -C *** OF STABLE PARTICLES ON PROTON AND NEUTRON *** -C *** NVE 07-APR-1988 *** -C -C CALLED BY : GPGHEI -C ORIGIN : F.CARMINATI, H.FESEFELDT (ROUTINE INTACT 06-OCT-1987) -C -C *** IPART DENOTES THE GHEISHA PARTICLE INDEX *** -C -C CONVENTION : -C -C PARTICLE IPART -C ------------------------------ -C GAMMA 1 -C NEUTRINO 2 -C POSITRON 3 -C ELECTRON 4 -C MUON + 5 -C MUON - 6 -C PION + 7 -C PION 0 8 -C PION - 9 -C KAON + 10 -C KAON 0 S 11 -C KAON 0 L 12 -C KAON - 13 -C PROTON 14 -C PROTON BAR 15 -C NEUTRON 16 -C NEUTRON BAR 17 -C LAMBDA 18 -C LAMBDA BAR 19 -C SIGMA + 20 -C SIGMA 0 21 -C SIGMA - 22 -C SIGMA + BAR 23 -C SIGMA 0 BAR 24 -C SIGMA - BAR 25 -C XSI 0 26 -C XSI - 27 -C XSI 0 BAR 28 -C XSI - BAR 29 -C DEUTERON 30 -C TRITON 31 -C ALPHA 32 -C OMEGA - 33 -C OMEGA - BAR 34 -C NEW PARTICLES 35 -C -#include "geant321/gcunit.inc" -#include "geant321/gconsp.inc" -C -C --- FOR CROSS-SECTION INFORMATION SEE "PCSDATA" --- -C -#include "geant321/gsecti.inc" -C --- GHEISHA COMMONS --- -#include "geant321/s_result.inc" -#include "geant321/s_prntfl.inc" -C - DIMENSION A(KK),Z(KK),W(KK) -C - DIMENSION ALPHA(35),ALPHAC(41),IPART2(7),CSA(4) - DIMENSION PARTEL(35),PARTIN(35),ICORR(35),INTRC(35) -C - PARAMETER (ONETHR=1./3.) - SAVE ALPHA,ALPHAC,PARTEL,PARTIN,CSA,IPART2,ICORR,INTRC -C -#include "geant321/s_csdim.inc" -#include "geant321/pcodim.inc" -#include "geant321/s_csdat.inc" -#include "geant321/pcodat.inc" -C - DATA ALPHA / 6*0.7, - + 0.75 ,0.75 ,0.75 , - + 0.76,0.76 ,0.76 ,0.76 , - + 0.685,0.63 ,0.685,0.63,0.685,0.63, - + 3*0.685,3*0.63,2*0.685,2*0.63, - + 3*0.7,0.685,0.63,0.7/ - DATA ALPHAC /1.2,1.2,1.2,1.15,0.90,0.91,0.98,1.06,1.10,1.11, - + 1.10,1.08,1.05,1.01,0.985,0.962,0.945,0.932, - + 0.925,0.920,0.920,0.921,0.922,0.923,0.928,0.931, - + 0.940,0.945,0.950,0.955,0.958,0.962,0.965,0.976, - + 0.982,0.988,0.992,1.010,1.020,1.030,1.040/ - DATA PARTEL/6*0.,29*1./ - DATA PARTIN/6*0.,1.00,0.00,1.05,1.20,1.35,1.30,1.20,1.00,1.30, - + 1.00,1.30,1.00,1.30,1.00,1.00,1.00,1.30,1.30,1.30, - + 1.00,1.00,1.30,1.30,1.00,1.,1.,1.,1.3,1./ - DATA ICORR /14*1, 0, 1, 0, 1, 0, 3*1, 3*0, 2*1, 2*0, 4*1, 2*0/ - DATA INTRC /6*0, 1, 0, 12*1, 0, 2*2, 0, 10*1, 0/ -C -C CROSS SECTIONS ON NUCLEUS ARE KNOWN ONLY FOR PIONS AND PROTONS. -C THE GENERAL LAW SIGMA(A)=1.25*SIGMA(TOT,PROTON)*A**ALPHA IS VALID -C ONLY FOR MOMENTA > 2 GEV.THE PARAMETRIZATION DONE HERE GIVES ONLY -C A BEHAVIOUR AVERAGED OVER MOMENTA AND PARTICLE TYPES. -C FOR A DETECTOR WITH ONLY A FEW MATERIALS IT'S OF COURSE MUCHBETTER -C TO USE TABLES OF THE MEASURED CROSS SECTIONS . -C FOR ELEMENTS WITH THE FOLLOWING ATOMIC NUMBERS MEASURED CROSS -C SECTIONS ARE AVAILABLE (SEE "PCSDATA"). -C -C H AL CU PB - DATA CSA /1. ,27.00 ,63.54 ,207.19 / - DATA IPART2/9,8,7,11,10,13,12/ -C -C -C --- Initialise GHESIG and switch to GHEISHA particle code --- - GHESIG=0.0 - IF(LPART.GT.48)GO TO 160 - IPART=KIPART(LPART) -C -C --- No interaction for gammas, neutrinos, electrons, positrons, muons, -C --- neutral pions, neutral sigmas and antisigmas and new particles. - IF(INTRC(IPART).EQ. 0) GO TO 160 - P=PPART - EK=EKIN -C -C --- Initialise the cross-sections with 0.0 --- - DO 10 K=1,KK - AIEL(K)=0.0 - AIIN(K)=0.0 - AIFI(K)=0.0 - AICA(K)=0.0 - 10 CONTINUE -C - IF ((IPART .GE. 30) .AND. (IPART .LE. 32)) THEN -C -C --- Take geometrical cross sections for inelastic scattering --- -C --- of deuterons, tritons and alphas --- - IF (IPART .EQ. 30) THEN - APART=2.0**ONETHR - ELSEIF (IPART .EQ. 31) THEN - APART=3.0**ONETHR - ELSEIF (IPART .EQ. 32) THEN - APART=4.0**ONETHR - END IF - DO 20 K=1,KK - AIIN(K)=49.0*(APART+A(K)**ONETHR)**2 - 20 CONTINUE - IF (NPRT(9)) THEN - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) - END IF -C - ELSE IF ((IPART .EQ. 16) .AND. (EK .LE. 0.0327)) THEN -C -C --- Use tables for low energy neutrons --- -C --- get energy bin --- - JE2=17 - DO 30 J=2,17 - IF (EK .LT. ELAB(J)) THEN - JE2=J - GO TO 40 - END IF - 30 CONTINUE -C - 40 JE1=JE2-1 - EKX=MAX(EK,1.0E-9) - DELAB=ELAB(JE2)-ELAB(JE1) - DO 70 K=1,KK -C -C --- Get A bin --- - JA2=15 - DO 50 J=2,15 - IF (A(K) .LT. CNLWAT(J)) THEN - JA2=J - GO TO 60 - END IF - 50 CONTINUE -C - 60 JA1=JA2-1 - DNLWAT=CNLWAT(JA2)-CNLWAT(JA1) -C -C --- Use linear interpolation or extrapolation by Y=RCE*X+RCA*X+B --- -C -C --- Elastic cross section --- -C --- E interpolation or extrapolation at JA1 --- - DY=CNLWEL(JA1,JE2)-CNLWEL(JA1,JE1) - RCE=DY/DELAB -C --- A interpolation or extrapolation at JE1 --- - DY=CNLWEL(JA2,JE1)-CNLWEL(JA1,JE1) - RCA=DY/DNLWAT - B=CNLWEL(JA1,JE1)-RCE*ELAB(JE1)-RCA*CNLWAT(JA1) - AIEL(K)=RCE*EK+RCA*A(K)+B -C -C --- Inelastic cross section --- -C --- E interpolation or extrapolation at JA1 --- - DY=CNLWIN(JA1,JE2)-CNLWIN(JA1,JE1) - RCE=DY/DELAB -C --- A interpolation or extrapolation at JE1 --- - DY=CNLWIN(JA2,JE1)-CNLWIN(JA1,JE1) - RCA=DY/DNLWAT - B=CNLWIN(JA1,JE1)-RCE*ELAB(JE1)-RCA*CNLWAT(JA1) - AIIN(K)=RCE*EK+RCA*A(K)+B -C - IZNO=Z(K)+0.01 - AICA(K)=11.12*CSCAP(IZNO)/(EKX*1.0E6)**0.577 - 70 CONTINUE - IF (NPRT(9)) THEN - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - END IF - ELSE -C -C --- Use parametrization of cross section data for all other cases --- -C - IF (NPRT(9)) THEN - WRITE(CHMAIL,10200) - CALL GMAIL(0,0) - END IF -C -C --- Get momentum bin --- - J=40 - DO 80 I=2,41 - IF (P .LT. PLAB(I)) THEN - J=I-1 - GO TO 90 - END IF - 80 CONTINUE -C -C --- Start with cross sections for scattering on free protons --- -C --- use linear interpolation or extrapolation by Y=RC*X+B --- - 90 DX=PLAB(J+1)-PLAB(J) -C --- Elastic cross section --- - DY=CSEL(IPART,J+1)-CSEL(IPART,J) - RC=DY/DX - B=CSEL(IPART,J)-RC*PLAB(J) - AIELIN=RC*P+B -C --- Inelastic cross section --- - DY=CSIN(IPART,J+1)-CSIN(IPART,J) - RC=DY/DX - B=CSIN(IPART,J)-RC*PLAB(J) - AIININ=RC*P+B - ALPH=ALPHA(IPART) - IF(IPART.LT.14) THEN - DY=ALPHAC(J+1)-ALPHAC(J) - RC=DY/DX - B=ALPHAC(J)-RC*PLAB(J) - CORFAC=RC*P+B - ALPH=ALPH*CORFAC -C - IPART3=IPART2(IPART-6) -C -C --- Elastic cross section --- - DY=CSEL(IPART3,J+1)-CSEL(IPART3,J) - RC=DY/DX - B=CSEL(IPART3,J)-RC*PLAB(J) - XSECEL=RC*P+B -C --- Inelastic cross section --- - DY=CSIN(IPART3,J+1)-CSIN(IPART3,J) - RC=DY/DX - B=CSIN(IPART3,J)-RC*PLAB(J) - XSECIN=RC*P+B -C - END IF -C - DO 100 K=1,KK - AIEL(K)=AIELIN - AIIN(K)=AIININ -C - IF (A(K) .GE. 1.5) THEN -C -C --- A-dependence from parametrization --- - CREL=1.0 - CRIN=1.0 -C --- Get medium bin 1=Hydr. 2=Al 3=Cu 4=Pb --- - I=3 - IF (A(K) .LT. 50.0) I=2 - IF (A(K) .GT. 100.0) I=4 - IF ((IPART .EQ. 14) .OR. (IPART .EQ. 16)) THEN -C -C --- Protons and neutrons --- -C -C --- Elastic cross section --- - DY=CSPNEL(I-1,J+1)-CSPNEL(I-1,J) - RC=DY/DX - B=CSPNEL(I-1,J)-RC*PLAB(J) - XSECEL=RC*P+B -C --- Inelastic cross section --- - DY=CSPNIN(I-1,J+1)-CSPNIN(I-1,J) - RC=DY/DX - B=CSPNIN(I-1,J)-RC*PLAB(J) - XSECIN=RC*P+B - IF (AIEL(K) .GE. 0.001) CREL=XSECEL/(0.36*AIEL(K)* - + CSA(I)**1.17) - AITOT=AIEL(K)+AIIN(K) - IF (AITOT .GE. 0.001) CRIN=XSECIN/(AITOT*CSA(I)** - + ALPH) -C - ELSEIF (IPART .LT. 15) THEN -C -C --- Calculate correction factors from values on Al,Cu,Pb for all --- -C --- mesons use linear interpolation or extrapolation by Y=RC*X+B --- -C --- Note that data is only available for pions and protons - WGCH=0.5 - IF (A(K) .LT. 20.0) WGCH=0.5+0.5*EXP(-(A(K)-1.0)) - AIEL(K)=WGCH*AIEL(K)+(1.0-WGCH)*XSECEL - AIIN(K)=WGCH*AIIN(K)+(1.0-WGCH)*XSECIN -C -C --- This section not for kaons --- - IF (IPART .LT. 10) THEN -C -C --- Elastic cross section --- - DY=CSPIEL(I-1,J+1)-CSPIEL(I-1,J) - RC=DY/DX - B=CSPIEL(I-1,J)-RC*PLAB(J) - XSPIEL=RC*P+B -C --- Inelastic cross section --- - DY=CSPIIN(I-1,J+1)-CSPIIN(I-1,J) - RC=DY/DX - B=CSPIIN(I-1,J)-RC*PLAB(J) - XSPIIN=RC*P+B -C - IF (AIEL(K) .GE. 0.001) CREL=XSPIEL/(0.36* AIEL(K) - + *CSA(I)**1.17) - AITOT=AIEL(K)+AIIN(K) - IF (AITOT .GE. 0.001) CRIN=XSPIIN/(AITOT*CSA(I) - + **ALPH) - END IF - END IF - AIIN(K)=CRIN*(AIIN(K)+AIEL(K))*A(K)**ALPH - AIEL(K)=CREL*0.36*AIEL(K)*A(K)**1.17 - AIEL(K)=AIEL(K)*PARTEL(IPART) - AIIN(K)=AIIN(K)*PARTIN(IPART) - END IF - 100 CONTINUE -C -C --- Fission cross sections --- -C --- A-dependence given by sigma(3 MeV)=-67.0+38.7*Z**(4/3)/A --- - END IF - I=21 - DO 110 II=1,21 - IF (EK .LT. EKFISS(II)) THEN - I=II - GO TO 120 - END IF - 110 CONTINUE -C - 120 CONTINUE - DO 130 K=1,KK -C -C --- No fission for materials with A < 230 --- - IF (A(K) .GE. 230.) THEN -C -C --- Only data for U(233), U(235) and Pu(239) for Ek .le. 0.01 GeV --- - J=4 - IF (EK .LE. 0.01) THEN -C -C --- Distinguish U(233), U(235), Pu(239) and U(238) and rest by J=1,4 - IF ((Z(K) .EQ. 92.0).AND.(ABS(A(K)-233.0).LT.0.5))THEN - J=1 - ELSEIF((Z(K).EQ.92.0).AND.(ABS(A(K)-235.0).LT.0.5))THEN - J=2 - ELSEIF((Z(K).EQ.94.0).AND.(ABS(A(K)-239.0).LT.0.5))THEN - J=3 - END IF - END IF - IF(J.EQ.4) THEN -C - Z43BA=Z(K)**(4.0*ONETHR)/A(K) - Z43BA=MAX(-67.0+38.7*Z43BA,0.) - ELSE - Z43BA=1. - ENDIF -C -C --- Energy dependence taken from U(238) --- -C --- approximated as step-function --- - AIFI(K)=CSFISS(J,I)*Z43BA - END IF - 130 CONTINUE -C -C --- Corrections for compounds --- -C --- These corrections should only be applied to inorganic scintill. --- -C --- apply the correction only if user selected it within GEANT --- - IF (QCOR .GT. 0.0.AND.KK.GT.1) THEN -C --- Do not apply corrections for anti-baryons --- - IF (ICORR(IPART).EQ.1) THEN -C -C --- ACC40 between 0.3 and 0.5 for Pi+ and Pi0, 0.2 for other mesons --- - ACC40=0.325 -C IF (IPART .GE. 9) ACC40=0.20 -C --- ACC40 = 0.15 for baryons --- - IF (IPART .GE. 14) ACC40=0.15 -C --- ACCA=0.08 for all pions, 0.02 for all other particles --- - ACCA= 0.08 - IF (IPART .GE. 10) ACCA=0.02 -C - ACCB=0.32*(ACC40-ACCA) - ACC=ACCA-ACCB*LOG(EK) - IF (ACC .GT. 0.5) ACC=0.5 - IF (ACC .GT. 0.0) THEN -C - CAVER=AVER**ACC - CAVER=1.+(CAVER-1.)*QCOR - DO 140 K=1,KK - AIEL(K)=AIEL(K)*CAVER - AIIN(K)=AIIN(K)*CAVER - AIFI(K)=AIFI(K)*CAVER - AICA(K)=AICA(K)*CAVER - 140 CONTINUE - END IF - END IF - END IF -C -C --- Calculate interaction probability --- -C -C --- Correction factor for high (P > 100 GeV/C) energies --- - CORH=1.0 -C --- Assume a LOG(P) dependence of the correction factor with values --- -C P = 100 GeV/C ==> CORH = 1. -C P = 1 TeV/C ==> CORH = 1.25 -C DX=LOG(1000.)-LOG(100.) -C DY=1.25-1. -C RC=DY/DX -C B=1.-RC*LOG(100.) -C CORH=RC*LOG(P)+B - IF (P .GT. 100.) CORH=0.1085736156*LOG(P)+0.5 - ALAM=0.0 - DO 150 K=1,KK - AFACT=AVO*1E-3*DENS*W(K)/A(K) - AIEL(K)=MAX(CORH*AIEL(K)*AFACT,0.) - AIIN(K)=MAX(CORH*AIIN(K)*AFACT,0.) - AIFI(K)=MAX(CORH*AIFI(K)*AFACT,0.) - AICA(K)=MAX(CORH*AICA(K)*AFACT,0.) -C - ALAM=ALAM+AIEL(K)+AIIN(K)+AIFI(K)+AICA(K) - 150 CONTINUE -C -C --- Pass the interaction probability to GEANT --- - GHESIG=ALAM -C - GO TO 999 -C -C --- Printout of skipped particles in case of interface debug --- - 160 IF (NPRT(9)) THEN - WRITE(CHMAIL,10300) IPART - CALL GMAIL(0,0) - END IF -10000 FORMAT(' *GHESIG* GEOM X-SECT. FOR INEL. SCAT. OF D,T AND ALPHA') -10100 FORMAT(' *GHESIG* X-SECT. FROM LOW ENERGY NEUTRON TABLES') -10200 FORMAT(' *GHESIG* X-SECT. FROM PARAMETRIZATION OF DATA') -10300 FORMAT('0*GHESIG* GHEISHA PARTICLE ',I3,' SKIPPED') - 999 END diff --git a/StarVMC/geant3/giface/ghstop.F b/StarVMC/geant3/giface/ghstop.F deleted file mode 100644 index 9ebee0a3c11..00000000000 --- a/StarVMC/geant3/giface/ghstop.F +++ /dev/null @@ -1,184 +0,0 @@ -* -* $Id: ghstop.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: ghstop.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE GHSTOP -C -C *** HANDLING OF STOPPING PARTICLES *** -C *** NVE 18-MAY-1988 CERN GENEVA *** -C -C CALLED BY : GHEISH -C ORIGIN : H.FESEFELDT (ROUTINE CALIM 16-SEP-1987) -C -#include "geant321/gcbank.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gctrak.inc" -#include "geant321/gccuts.inc" -C --- GHEISHA COMMONS --- -#include "geant321/s_prntfl.inc" -C -C --- "IPART" CHANGED TO "KPART" IN COMMON /RESULT/ DUE TO CLASH --- -C --- WITH VARIABLE "IPART" IN GEANT COMMON --- -C - COMMON/RESULT/XEND,YEND,ZEND,RCA,RCE,AMAS,NCH,TOF,PX,PY,PZ, - $ USERW,INTCT,P,EN,EK,AMASQ,DELTN,ITK,NTK,KPART,IND, - $ LCALO,ICEL,SINL,COSL,SINP,COSP, - $ XOLD,YOLD,ZOLD,POLD,PXOLD,PYOLD,PZOLD, - $ XSCAT,YSCAT,ZSCAT,PSCAT,PXSCAT,PYSCAT,PZSCAT - REAL NCH,INTCT -C - IF (NPRT(2) .OR. NPRT(9)) - $ WRITE(NEWBCD,8801) AMAS,NCH,P,EN,EK,XEND,YEND,ZEND,ISTOP - 8801 FORMAT(' *GHSTOP* STOPPING TRACK M,CH,P,EN,EK = ',5(G12.5,1X)/ - $ 1H ,9X,'POSITION (X,Y,Z) = ',3(G12.5,1X),' ISTOP = ',I3) -C -C --- IN CASE OF ENERGY DEPOSITION ALL THE EKIN WILL BE DEPOSITED --- - EDEP=EK -C -C --- CALCULATE TIME TO STOP --- - TOF1=0.0 - IF (P .GT. 1.0E-10) TOF1=STEP*EN*0.666667/P -C -C --- UPDATE MOMENTUM VECTOR AND ENERGIES FOR STOPPING PARTICLE --- - P=0.0 - EN=ABS(AMAS) - EK=0.0 - GETOT=EN - GEKIN=EK - ISTOP=2 -C --- NEXT 2 STMTS. COMMENTED TO AVOID DOUBLE SETTING (NVE 15-AUG-88) -C%%% NMEC=NMEC+1 -C%%% LMEC(NMEC)=30 -C -C --- UPDATE TIME OF FLIGHT AND CHECK FOR LIMIT --- - TOF=TOF+TOF1 - TEST1=TOF-0.5*TOF1 - TEST2=(TOFMAX-TOFG)*2.0E10 - IF (TEST1 .GT. TEST2) GO TO 9999 -C -C *** SELECT PROCESS FOR CURRENT PARTICLE *** -C -C -C --- SKIP NEUTRINOS --- - IF (IPART .EQ. 4) GO TO 9999 -C -C --- LOOK FOR PARTICLES WITH SPECIAL TREATMENT --- - IF (IPART .EQ. 9) GO TO 90 - IF (IPART .EQ. 12) GO TO 120 - IF (IPART .EQ. 13) GO TO 130 - IF (IPART .EQ. 15) GO TO 150 - IF (IPART .EQ. 25) GO TO 250 -C -C --- ONLY DEPOSIT ALL KINETIC ENERGY FOR P AND HEAVY FRAGMENTS --- - IF (IPART .EQ. 14) GO TO 140 - IF (IPART.GE.45 .AND. IPART.LE.48) GO TO 140 -C -C --- LET ALL OTHER PARTICLES DECAY --- - CALL G3DECAY - IF(NGKINE.GT.0) THEN - NMEC=NMEC+1 - LMEC(NMEC)=5 - ISTOP=1 - GO TO 9999 - ELSE -C -C --- FOR SOME REASON PARTICLE DID NOT DECAY --- - GOTO 140 - ENDIF -C -C --- PI- ABSORBED BY NUCLEUS --- - 90 CONTINUE - DESTEP=DESTEP+EDEP - CALL PIMABS(NOPT) - NMEC=NMEC+1 - LMEC(NMEC)=16 - ISTOP=1 - GO TO 9999 -C -C --- K- ABSORBED BY NUCLEUS --- - 120 CONTINUE - DESTEP=DESTEP+EDEP - CALL KMABS(NOPT) - NMEC=NMEC+1 - LMEC(NMEC)=16 - ISTOP=1 - GO TO 9999 -C -C --- NEUTRON CAPTURED BY NUCLEUS --- - 130 CONTINUE - IF (EDEP .GE. 1.E-9) GO TO 9999 - CALL CAPTUR(NOPT) - NMEC=NMEC+1 - LMEC(NMEC)=18 - ISTOP=1 - GO TO 9999 -C -C --- ANTI-PROTON ==> ANNIHILATION --- - 150 CONTINUE - DESTEP=DESTEP+EDEP - CALL PBANH(NOPT) - NMEC=NMEC+1 - LMEC(NMEC)=17 - ISTOP=1 - GO TO 9999 -C -C --- ANTI-NEUTRON ==> ANNIHILATION --- - 250 CONTINUE - CALL NBANH(NOPT) - NMEC=NMEC+1 - LMEC(NMEC)=17 - ISTOP=1 - GO TO 9999 -C -C --- P OR HEAVY FRAGMENT ==> ONLY DEPOSIT KINETIC ENERGY --- - 140 CONTINUE - DESTEP=DESTEP+EDEP -C --- REMOVE HADR FLAG BECAUSE THERE HAS BEEN NO HADRONIC INTERACTION - DO 180 MMEC=1,NMEC - IF(LMEC(MMEC).EQ.12) THEN - DO 160 M=MMEC,NMEC-1 - LMEC(M)=LMEC(M+1) - 160 CONTINUE - NMEC=NMEC-1 - GOTO 170 - ENDIF - 180 CONTINUE - 170 ISTOP=2 -C - 9999 CONTINUE - TOF=TOF-TOF1*0.5 - IF (NPRT(9)) - $ PRINT 8802,AMAS,NCH,P,EN,EK,XEND,YEND,ZEND,ISTOP - 8802 FORMAT(' *GHSTOP* AFTER STOP : M,CH,P,EN,EK = ',5(G12.5,1X)/ - $ 1H ,9X,'POSITION (X,Y,Z) = ',3(G12.5,1X),' ISTOP = ',I3) -C - END diff --git a/StarVMC/geant3/giface/gmunu.F b/StarVMC/geant3/giface/gmunu.F deleted file mode 100644 index 90c94e5a80e..00000000000 --- a/StarVMC/geant3/giface/gmunu.F +++ /dev/null @@ -1,263 +0,0 @@ -* -* $Id: gmunu.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gmunu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE G3MUNU -C -C *** GENERATION OF MUON-NUCLEUS INTERACTIONS *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C CALLED BY : G3TMUON -C ORIGIN : H.FESEFELDT (ROUTINE CASMU) -C -C ***Revised Sep-90 by C. CHIERA, E. LAMANNA: -C ***Rebinning of vectors TETAL and XEML -C ***to avoid big angle for outgoing muons -C -C Rebinning reinstated as original by H-J Trost. The correction of -C the angle of the outgoing muon should take care of the anomalies -C at large angles. 19-JUN-91. -C -C. * This routine is a straigth translation of the Gheisha routine * -C. * CASMU in the Geant dialect. The inelastic cross section is * -C. * taken as 0.0003 mb for E<30 GeV, and is slowly increasing for * -C. * E>30 GeV. The energy and angle of final state muon is * -C. * generated according to the 'free quark parton model'. Instead * -C. * of the virtual photon a real pion is written on working * -C. * common in order to make use of the cascading routines for * -C. * hadron production. * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctrak.inc" -#include "geant321/gsecti.inc" -#include "geant321/gcmulo.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -C -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION TOTPRO -#endif - DIMENSION VMUOUT(3),COEF(200),XEML(23),TETAL(35) - DIMENSION RNDM(3) - LOGICAL FIRST - SAVE COEF, FIRST, TETAL, XEML - DATA FIRST /.TRUE./ - DATA TETAL / - A 1.0000000, 0.9999995, 0.9999990, 0.9999981, 0.9999962, - A 0.9999943, 0.9999905, 0.9999847, 0.9999752, 0.9999599, - A 0.9999352, 0.9998951, 0.9998302, 0.9997253, 0.9995556, - A 0.9992810, 0.9988368, 0.9981183, 0.9969561, 0.9950773, - A 0.9920409, 0.9871377, 0.9792297, 0.9665010, 0.9460785, - A 0.9134827, 0.8618938, 0.7813507, 0.6583430, 0.4770452, - A 0.2247237, -0.0955139, -0.4461272, -0.7495149, -0.9900000 / - DATA XEML /1.,.998,.997,.996,.995,.994,.992,.99,.97,.95, - + .92,.89,.85,.8,.75,.7,.6,.5,.4,.3,.2,.1,.05/ -C COEF contains the value of the integral of the -C double differential cross section ds/d(e1) d(cost) -C for the production of the outgoing muon. These -C values are obtained using the function -C GMUSIG and are used to normalize the random value -C used to sample the energy and angle of the outgoing -C muon. -C - IF(FIRST) THEN -* -* Integrate the double differential cross section -* - DO 8 ICOEF=1, NEKBIN+1 - EINIT=ELOW(ICOEF)+EMMU - TOTPRO=0.0 - DO 5 ICOST=2,35 - COST = (TETAL(ICOST)+TETAL(ICOST-1))*0.5 - DO 3 IEFIN=2,23 - EFINAL = (XEML(IEFIN)+XEML(IEFIN-1))*0.5*EINIT - TOTPRO = TOTPRO + GMUSIG(EINIT,EFINAL,COST)* - + (TETAL(ICOST-1)-TETAL(ICOST))* - + (XEML(IEFIN-1)-XEML(IEFIN))*EINIT - 3 CONTINUE - 5 CONTINUE - COEF(ICOEF) = TOTPRO - 8 CONTINUE - FIRST=.FALSE. - ENDIF -C - KCASE = NAMEC(21) - IF(VECT(7).LT.0.01) GO TO 9999 -C -C Generate 4-momentum of final state muon -C -C --- IW2TRY loop introduced to avoid W2<0. (HJT/NVE 27-sep-1990) --- -C --- In case not successfull within 100 tries ==> No change made --- - IW2TRY=0 - 10 CONTINUE - IF (IW2TRY .GT. 100) GO TO 9999 - IW2TRY=IW2TRY+1 -C - TOTPRO = 0.0 - CALL GRNDM(RNDM,1) - RAN = RNDM(1) - HMAX = (1.-GEKRAT)*COEF(IEKBIN)+GEKRAT*COEF(IEKBIN+1) - DO 14 ICOST=2,35 - COST = (TETAL(ICOST)+TETAL(ICOST-1))*.5 - DO 13 IE1=2,23 - E1 = (XEML(IE1)+XEML(IE1-1))*.5*GETOT - TOTPRO = TOTPRO+GMUSIG(GETOT,E1,COST) - * *(TETAL(ICOST-1)-TETAL(ICOST)) - * *(XEML(IE1-1)-XEML(IE1))*GETOT - IF(RAN*HMAX.LT.TOTPRO) GOTO 15 - 13 CONTINUE - IE1 = 23 - 14 CONTINUE - ICOST= 35 - 15 CALL GRNDM(RNDM,3) - TETA = ACOS(TETAL(ICOST-1))+ - * RNDM(1)*(ACOS(TETAL(ICOST))-ACOS(TETAL(ICOST-1))) - COST = COS(TETA) - E1 = (XEML(IE1)+RNDM(2)*(XEML(IE1-1)-XEML(IE1)))*GETOT - IF(E1.LT.EMMU) E1=EMMU+0.0001 - P1 = SQRT(ABS((E1-EMMU)*(E1+EMMU))) - IF (ABS(COST) .GT. 1.) COST=SIGN(1.,COST) -C -C --- Check value of W2 and in case negative ==> try again --- - W2=PMASS*(PMASS+2.*(GETOT-E1))- - + 2.*(GETOT*E1-VECT(7)*P1*COST-EMMU**2) - IF (W2 .LT. 0.) GO TO 10 -C - SINT = SQRT(ABS(1.-COST*COST)) - PHI = TWOPI*RNDM(3) - VMUOUT(1) = P1*SINT*COS(PHI) - VMUOUT(2) = P1*SINT*SIN(PHI) - VMUOUT(3) = P1*COST -C -C Store muon on stack and write virtual photon on -C result common, rotate muon momenta -C - CALL G3VROT(VECT(4),VMUOUT) - IF(IMUNU.EQ.1) THEN -C -C Now compute momentum of the outgoing pion -C - VECT(4) = VECT(4)*VECT(7)-VMUOUT(1) - VECT(5) = VECT(5)*VECT(7)-VMUOUT(2) - VECT(6) = VECT(6)*VECT(7)-VMUOUT(3) - VECT(7) = SQRT(VECT(4)*VECT(4)+VECT(5)*VECT(5)+VECT(6)*VECT(6)) - VECT(4) = VECT(4)/VECT(7) - VECT(5) = VECT(5)/VECT(7) - VECT(6) = VECT(6)/VECT(7) -C -C Select pi+ or pi- -C - IPOLD = IPART - CALL GRNDM(RNDM,1) - IPART = 8.5+RNDM(1) - JPA = LQ(JPART-IPART) - DO 16 J=1,5 - 16 NAPART(J) = IQ(JPA+J) - ITRTYP = Q(JPA+6) - AMASS = Q(JPA+7) - CHARGE = Q(JPA+8) - TLIFE = Q(JPA+9) - GETOT = SQRT(VECT(7)*VECT(7)+AMASS*AMASS) - GEKIN = GETOT-AMASS - CALL G3EKBIN -C -C Now force interaction of the pion -C -C This piece of code useful only if using the -C Gheisha-Geant interface -C - STEPHA = BIG - IHOLD = IHADR - IF(IHADR.NE.3) IHADR = 1 -#if !defined(CERNLIB_USRJMP) - CALL GUPHAD -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUPHAD) -#endif - KK = Q(JMA+11) - DO 17 K=1,KK -C -C Forbid elastic scattering -C - ALAM = ALAM - AIEL(K) - AIEL(K) = 0.0 - 17 CONTINUE - NMOLD = NMEC -#if !defined(CERNLIB_USRJMP) - CALL GUHADR -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUHADR) -#endif - IHADR = IHOLD - NMEC = NMOLD - ISTOP = 0 - IPART = IPOLD - JPA = LQ(JPART-IPART) - DO 26 J=1,5 - 26 NAPART(J) = IQ(JPA+J) - ITRTYP = Q(JPA+6) - AMASS = Q(JPA+7) - CHARGE = Q(JPA+8) - TLIFE = Q(JPA+9) - ELSE - DESTEP = DESTEP+GETOT-SQRT(P1*P1+AMASS*AMASS) - ENDIF -C -C Now just put the muon back on the current stack -C - VECT(7) = - + SQRT(VMUOUT(1)*VMUOUT(1)+VMUOUT(2)*VMUOUT(2)+VMUOUT(3)*VMUOUT(3)) - VECT(4) = VMUOUT(1)/VECT(7) - VECT(5) = VMUOUT(2)/VECT(7) - VECT(6) = VMUOUT(3)/VECT(7) - GETOT = SQRT(VECT(7)*VECT(7)+AMASS*AMASS) - GEKIN = GETOT-AMASS - CALL G3EKBIN -C -C Update probabilities -C - 90 SLMUNU=SLENG - ZINTMU=GARNDM(DUM) - STEPMU=BIG -C - 9999 CONTINUE -C - RETURN - END diff --git a/StarVMC/geant3/giface/gmunui.F b/StarVMC/geant3/giface/gmunui.F deleted file mode 100644 index ebe936a8c00..00000000000 --- a/StarVMC/geant3/giface/gmunui.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: gmunui.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gmunui.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE G3MUNUI -C -C *** CALCULATION OF MUON-NUCLEUS CROSS SECTIONS IN CURRENT MATERIAL *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C CALLED BY : GPHYSI -C ORIGIN : F.CARMINATI, H.FESEFELDT -C -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctrak.inc" -C -C -C --- GET MUON MASS FROM GEANT PARTICLE DATA BANK --- - LNVE=LQ(JPART-5) - HMAMU=Q(LNVE+7) -C -C --- Infinite mean free patch for EKIN < 1 GeV (HJT/NVE 27-sep-1990) --- - SIG=0. - IF(JMUNU.EQ.0)GO TO 9999 - IF (ELOW(IEKBIN) .LT. 1.) GO TO 90 -C - IF(Z.LT.1.)GO TO 90 - EN = ELOW(IEKBIN)+HMAMU - SIG = 0.0003 - IF(EN.GT.30.) SIG = SIG*(EN/30.)**0.25 - SIG = SIG*DENS*AVO*1E-3 -C - 90 IF(SIG.GT.0.)THEN - Q(JMUNU+IEKBIN)=1./SIG - ELSE - Q(JMUNU+IEKBIN)=BIG - ENDIF -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/giface/gmusig.F b/StarVMC/geant3/giface/gmusig.F deleted file mode 100644 index 900414ef8c5..00000000000 --- a/StarVMC/geant3/giface/gmusig.F +++ /dev/null @@ -1,84 +0,0 @@ -* -* $Id: gmusig.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gmusig.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:19 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - FUNCTION GMUSIG(E,E1,COST) -C -C *** CALCULATION OF MUON-NUCLEUS CROSS SECTIONS IN CURRENT MATERIAL *** -C *** NVE 16-MAR-1988 CERN GENEVA *** -C -C CALLED BY : G3MUNUI -C ORIGIN : F.CARMINATI, H.FESEFELDT -C -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -C - REAL NU,K,MMU - PARAMETER (ALPHA=0.007299) -C -C -C --- GET MUON MASS FROM GEANT PARTICLE DATA BANK --- - LNVE=LQ(JPART-5) - MMU=Q(LNVE+7) -C - GMUSIG=0. - IF(E1.LE.MMU) GO TO 9999 - IF(COST.GE.1.) THEN - GMUSIG=BIG - GOTO 9999 - ELSE - TAGTB2 = (1.-COST)/SQRT((1.-COST)*(1.+COST)) - ENDIF - P = E*E-MMU*MMU - P1 = E1*E1-MMU*MMU - IF(P.LT.0..OR.P1.LT.0.) GOTO 9999 - P = SQRT(P) - P1 = SQRT(P1) - Q2 = 2.*(E*E1-P*P1*COST-MMU*MMU) - IF(Q2.LE.0.) GOTO 9999 - W2 = PMASS*( PMASS + 2.0*(E-E1) ) - Q2 - IF ( W2.LE.0.0 ) GOTO 9999 - NU = E-E1 - K = NU+0.5*Q2/NU - EPS = 1./(1.+2.*TAGTB2*TAGTB2*(Q2+NU*NU)/Q2) - IF(EPS.GE.1) THEN - GMUSIG=BIG - ELSE - GAM = ALPHA*K*E1/(PI*Q2*E*(1.-EPS)) - ST = 0.12 - SL = 0.3*(1.-Q2/(NU*1.868))*ST - IF(SL.LT.0.) SL=0. - SLST = ST+EPS*SL - GMUSIG = MAX(GAM*SLST,0.0) - ENDIF -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/giface/gnslwd.F b/StarVMC/geant3/giface/gnslwd.F deleted file mode 100644 index 2ec8f9b6667..00000000000 --- a/StarVMC/geant3/giface/gnslwd.F +++ /dev/null @@ -1,285 +0,0 @@ -* -* $Id: gnslwd.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gnslwd.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE GNSLWD(NUCFLG,INT,NFL,TEKLOW) -C -C *** NEUTRON TRACKING ROUTINE FOR ENERGIES BELOW THE CUT-OFF. *** -C *** TAKE ONLY ELASTIC SCATTERING, NEUTRON CAPTURE *** -C *** AND NUCLEAR FISSION. *** -C *** NVE 11-MAY-1988 CERN GENEVA *** -C -C CALLED BY : GHEISH -C ORIGIN : H.FESEFELDT (ROUTINE NSLDOW 20-OCT-1987) -C -#include "geant321/gctrak.inc" -C --- GHEISHA COMMONS --- -#include "geant321/mxgkgh.inc" -#include "geant321/s_consts.inc" -#include "geant321/s_curpar.inc" -#include "geant321/s_result.inc" -#include "geant321/s_blankp.inc" -#include "geant321/s_prntfl.inc" - DIMENSION RNDM(2) -C -C --- FLAGS TO INDICATE THE NUCREC ACTION --- -C NUCFLG = 0 ==> NO ACTION BY NUCREC -C 1 ==> ACTION BY NUCREC ==> SPECIAL TREATMENT IN GHEISH - NOPT=0 - NUCFLG=0 -C -C --- IN ORDER TO AVOID TROUBLES CAUSED BY ARITHMETIC INCERTAINTIES, --- -C --- RECALCULATE SOME QUANTITIES. TAKE KINETIC ENERGY EK AS MOST --- -C --- RELEVANT QUANTITY. --- -C -C --- VERY LOW KINETIC ENERGY ==> NEUTRON CAPTURE --- - IF (EK .LT. 1.E-9) GO TO 22 -C - EN=EK+ABS(AMAS) - P=SQRT(ABS(EN*EN-AMAS*AMAS)) - PU=SQRT(PX**2+PY**2+PZ**2) - IF (PU .GE. 1.E-9) GO TO 7 -C - PX=0.0 - PY=0.0 - PZ=0.0 - GO TO 22 -C - 7 CONTINUE - PX=PX/PU - PY=PY/PU - PZ=PZ/PU -C -C --- SELECT PROCESS ACCORDING TO "INT" --- - GO TO (23,23,21,22), INT -C -C *** NUCLEAR FISSION *** - 21 CONTINUE - ISTOP=1 - TKIN=FISSIO(EK) - GO TO 9999 -C -C *** NEUTRON CAPTURE *** - 22 CONTINUE - ISTOP=1 - CALL CAPTUR(NOPT) - GO TO 9999 -C -C *** ELASTIC AND INELASTIC SCATTERING *** - 23 CONTINUE - PV( 1,MXGKPV)=P*PX - PV( 2,MXGKPV)=P*PY - PV( 3,MXGKPV)=P*PZ - PV( 4,MXGKPV)=EN - PV( 5,MXGKPV)=AMAS - PV( 6,MXGKPV)=NCH - PV( 7,MXGKPV)=TOF - PV( 8,MXGKPV)=IPART - PV( 9,MXGKPV)=0.0 - PV(10,MXGKPV)=USERW -C -C --- SPECIAL TREATMENT FOR INELASTIC SCATTERING IN HEAVY MEDIA --- - IF ((INT .EQ. 2) .AND. (ATNO2 .GE. 1.5)) GO TO 29 -C -C *** ELASTIC SCATTERING *** - 30 CONTINUE -C - IF (NPRT(9)) PRINT 1000 - 1000 FORMAT(' *GNSLWD* ELASTIC SCATTERING') -C - DO 24 J=4,9 - PV(J,1)=PV(J,MXGKPV) - 24 CONTINUE - PV(10,1)=0.0 -C -C --- VERY SIMPLE SIMULATION OF SCATTERING ANGLE AND ENERGY --- -C --- NONRELATIVISTIC APPROXIMATION WITH ISOTROPIC ANGULAR --- -C --- DISTRIBUTION IN THE CMS SYSTEM --- - 25 CALL GRNDM(RNDM,2) - RAN=RNDM(1) - COST1=-1.0+2.0*RAN - EKA=1.0+2.0*COST1*ATNO2+ATNO2**2 - IF(EKA.LE.0.) GOTO 25 - COST=(ATNO2*COST1+1.0)/SQRT(EKA) - IF (COST .LT. -1.0) COST=-1.0 - IF (COST .GT. 1.0) COST=1.0 - EKA=EKA/(1.0+ATNO2)**2 - EK=EK*EKA - EN=EK+ABS(AMAS) - P=SQRT(ABS(EN*EN-AMAS*AMAS)) - SINT=SQRT(ABS(1.0-COST*COST)) - PHI=RNDM(2)*TWPI - PV(1,2)=SINT*SIN(PHI) - PV(2,2)=SINT*COS(PHI) - PV(3,2)=COST - CALL DEFS1(2,MXGKPV,2) - PU=SQRT(PV(1,2)**2+PV(2,2)**2+PV(3,2)**2) - PX=PV(1,2)/PU - PY=PV(2,2)/PU - PZ=PV(3,2)/PU - PV(1,1)=PX*P - PV(2,1)=PY*P - PV(3,1)=PZ*P - PV(4,1)=EN -C -C --- STORE BACKSCATTERED PARTICLE FOR ATNO < 4.5 --- - IF (ATNO2 .GT. 4.5) GO TO 27 -C - IF (NPRT(9)) PRINT 1001,ATNO2 - 1001 FORMAT(' *GNSLWD* BACKSCATTERED PARTICLE STORED FOR ATNO ',G12.5) -C - PV(1,2)=PV(1,MXGKPV)-PV(1,1) - PV(2,2)=PV(2,MXGKPV)-PV(2,1) - PV(3,2)=PV(3,MXGKPV)-PV(3,1) - CALL LENGTX(2,PP) - PV(9,2)=0.0 - PV(10,2)=0.0 - PV(7,2)=TOF -C - IF (ATNO2 .GT. 3.5) GO TO 274 - IF (ATNO2 .GT. 2.5) GO TO 273 - IF (ATNO2 .GT. 1.5) GO TO 272 -C - 271 CONTINUE - PV(5,2)=RMASS(14) - PV(4,2)=SQRT(PP*PP+PV(5,2)*PV(5,2)) - PV(6,2)=RCHARG(14) - PV(8,2)=14.0 - GO TO 275 -C - 272 CONTINUE - PV(5,2)=RMASS(30) - PV(4,2)=SQRT(PP*PP+PV(5,2)*PV(5,2)) - PV(6,2)=RCHARG(30) - PV(8,2)=30.0 - GO TO 275 -C - 273 CONTINUE - PV(5,2)=RMASS(31) - PV(4,2)=SQRT(PP*PP+PV(5,2)*PV(5,2)) - PV(6,2)=RCHARG(31) - PV(8,2)=31.0 - GO TO 275 -C - 274 CONTINUE - PV(5,2)=RMASS(32) - PV(4,2)=SQRT(PP*PP+PV(5,2)*PV(5,2)) - PV(6,2)=RCHARG(32) - PV(8,2)=32.0 -C - 275 CONTINUE - INTCT=INTCT+1.0 - CALL SETCUR(1) - NTK=NTK+1 - CALL SETTRK(2) - GO TO 9999 -C -C --- PUT QUANTITIES IN COMMON /RESULT/ --- - 27 CONTINUE - IF (PV(10,1) .NE. 0.0) USERW=PV(10,1) - SINL=PZ - COSL=SQRT(ABS(1.0-SINL*SINL)) - IF (ABS(COSL) .LT. 1.E-10) GO TO 28 -C - SINP=PY/COSL - COSP=PX/COSL - GO TO 9999 -C - 28 CONTINUE - CALL GRNDM(RNDM,1) - PHI=RNDM(1)*TWPI - SINP=SIN(PHI) - COSP=COS(PHI) - GO TO 9999 -C -C *** INELASTIC SCATTERING ON HEAVY NUCLEI *** - 29 CONTINUE -C - IF (NPRT(9)) PRINT 1002 - 1002 FORMAT(' *GNSLWD* INELASTIC SCATTERING ON HEAVY NUCLEUS') -C -C --- DECIDE BETWEEN SPALLATION OR SIMPLE NUCLEAR REACTION --- - CALL GRNDM(RNDM,1) - TEST1=RNDM(1) - TEST2=4.5*(EK-0.01) - IF (TEST1 .GT. TEST2) GO TO 40 -C -C *** SPALLATION *** -C - IF (NPRT(9)) PRINT 1003 - 1003 FORMAT(' *GNSLWD* SPALLATION') -C - PV( 1,MXGKPV)=P*PX - PV( 2,MXGKPV)=P*PY - PV( 3,MXGKPV)=P*PZ - PV( 4,MXGKPV)=EN - PV( 5,MXGKPV)=AMAS - PV( 6,MXGKPV)=NCH - PV( 7,MXGKPV)=TOF - PV( 8,MXGKPV)=IPART - PV( 9,MXGKPV)=0.0 - PV(10,MXGKPV)=USERW -C -C --- FERMI-MOTION AND EVAPORATION --- - TKIN=CINEMA(EK) - ENP(5)=EK+TKIN -C --- CHECK FOR LOWERBOUND OF EKIN IN CROSS-SECTION TABLES --- - IF (ENP(5) .LE. TEKLOW) ENP(5)=TEKLOW - ENP(6)=ENP(5)+ABS(AMAS) - ENP(7)=ENP(6)*ENP(6)-AMASQ - ENP(7)=SQRT(ENP(7)) - TKIN=FERMI(ENP(5)) - ENP(5)=ENP(5)+TKIN -C --- CHECK FOR LOWERBOUND OF EKIN IN CROSS-SECTION TABLES --- - IF (ENP(5) .LE. TEKLOW) ENP(5)=TEKLOW - ENP(6)=ENP(5)+ABS(AMAS) - ENP(7)=ENP(6)*ENP(6)-AMASQ - ENP(7)=SQRT(ENP(7)) - TKIN=EXNU(ENP(5)) - ENP(5)=ENP(5)-TKIN -C --- CHECK FOR LOWERBOUND OF EKIN IN CROSS-SECTION TABLES --- - IF (ENP(5) .LE. TEKLOW) ENP(5)=TEKLOW - ENP(6)=ENP(5)+ABS(AMAS) - ENP(7)=ENP(6)*ENP(6)-AMASQ - ENP(7)=SQRT(ENP(7)) -C -C --- NEUTRON CASCADE --- - K=2 - CALL VZERO(IPA(1),MXGKCU) - CALL CASN(K,INT,NFL) - GO TO 9999 -C - 40 CONTINUE - IF (NPRT(9)) PRINT 1004 - 1004 FORMAT(' *GNSLWD* NUCLEAR REACTION') - CALL NUCREC(NOPT,1) - IF (NOPT .NE. 0) NUCFLG=1 - IF (NOPT .EQ. 0) GO TO 30 -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/giface/gpfis.F b/StarVMC/geant3/giface/gpfis.F deleted file mode 100644 index 2811f492043..00000000000 --- a/StarVMC/geant3/giface/gpfis.F +++ /dev/null @@ -1,215 +0,0 @@ -* -* $Id: gpfis.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gpfis.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE G3PFIS -C -C *** GENERATION OF PHOTO-FISSION AND PHOTO-ABSORBTION MECHANISMS *** -C *** HMF 25-AUG-1989 RWTH AACHEN / NVE 11-MAY-1990 CERN GENEVA *** -C -C CALLED BY : GTGAMA -C ORIGIN : H.FESEFELDT (ROUTINE IPFISS) -C -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcking.inc" -#include "geant321/gckine.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctrak.inc" -#include "geant321/gsecti.inc" -C - DIMENSION RNDM(3),SPNEUT(10) - LOGICAL CALFL - SAVE SPNEUT,CALFL -C - DATA SPNEUT/10*0./ - DATA CALFL/.FALSE./ -C - KCASE = NAMEC(23) -C - IF(IPFIS.NE.1) THEN - DESTEP = DESTEP + GETOT - GOTO 90 - ENDIF -C - ISTOP = 1 -C -C SELECT SUBPROCESS -C - STEPAB = (1.-GEKRAT)* Q(JPFIS+NEK1+IEKBIN) - + + GEKRAT * Q(JPFIS+NEK1+IEKBIN+1) - CALL GRNDM(RNDM,1) - IF(RNDM(1).LT.STEPPF/STEPAB) GOTO 10 -C -C PHOTOABSORBTION -C - NGKINE = 1 - TOFD(1) = 0.0 - GKIN(5,1) = 13 - CALL GRNDM(RNDM,3) - JPA = LQ(JPART-13) - GKIN(4,1) = Q(JPA+7) - 0.002*LOG(RNDM(1)) - COST = -1.+2.*RNDM(2) - SINT = SQRT(1.-COST*COST) - PHI = TWOPI*RNDM(3) - PPHMF = GKIN(4,1)**2-Q(JPA+7)**2 - IF(PPHMF.LT.0.) PPHMF=0. - PPHMF = SQRT(PPHMF) - GKIN(1,1) = PPHMF*SINT*SIN(PHI) - GKIN(2,1) = PPHMF*SINT*COS(PHI) - GKIN(3,1) = PPHMF*COST - GPOS(1,1) = VECT(1) - GPOS(2,1) = VECT(2) - GPOS(3,1) = VECT(3) -C - GOTO 100 -C -C PHOTOFISSION -C - 10 IF(CALFL) GOTO 20 - CALFL=.TRUE. - XX = 1.-0.5 - XXX = SQRT(2.29*XX) - SPNEUT(1) = EXP(-XX/0.965)*(EXP(XXX)-EXP(-XXX))/2. - DO 11 I=2,10 - XX = I*1.-0.5 - XXX = SQRT(2.29*XX) - 11 SPNEUT(I) = SPNEUT(I-1)+EXP(-XX/0.965)*(EXP(XXX)-EXP(-XXX))/2. - DO 12 I=1,10 - 12 SPNEUT(I) = SPNEUT(I)/SPNEUT(10) -C -C - 20 NGKINE = 1 - GKIN(1,1) = VECT(4)*VECT(7) - GKIN(2,1) = VECT(5)*VECT(7) - GKIN(3,1) = VECT(6)*VECT(7) - GKIN(4,1) = GETOT - GKIN(5,1) = 1 - TOFD(1) = 0.0 - GPOS(1,1) = VECT(1) - GPOS(2,1) = VECT(2) - GPOS(3,1) = VECT(3) -C -C NUMBER OF NEUTRONS AND PHOTONS -C - EKHMF = GEKIN*1000. - IF ( EKHMF.LT.1.) EKHMF=1. - AVERN = 2.569+0.559*LOG(EKHMF) - AVERG = 0.500+0.600*LOG(EKHMF) - CALL NORMAL(RAN) - NN = IFIX(AVERN+RAN*1.23+0.5) - CALL NORMAL(RAN) - NG = IFIX(AVERG+RAN*3.00+0.5) - IF(NN.LT.1) NN=1 - IF(NG.LT.1) NG=1 -C -C DISTRIBUTE KINETIC ENERGY -C - JPA = LQ(JPART-13) -C - DO 25 I=1,NN -C --- Protect against stack overflow --- - IF (NGKINE .GE. MXGKIN) GO TO 31 - NGKINE = NGKINE+1 - CALL GRNDM(RNDM,1) - DO 21 J=1,10 - IF(RNDM(1).LT.SPNEUT(J)) GOTO 22 - 21 CONTINUE - J=10 - 22 CALL GRNDM(RNDM,1) - GKIN(4,NGKINE) = (J-1)*1. + RNDM(1) + Q(JPA+7)*1000. - GKIN(5,NGKINE) = 13 - TOFD(NGKINE) = 0.0 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - 25 CONTINUE -C - DO 30 I=1,NG -C --- Protect against stack overflow --- - IF (NGKINE .GE. MXGKIN) GO TO 31 - NGKINE=NGKINE+1 - CALL GRNDM(RNDM,1) - GKIN(4,NGKINE) = -0.87*LOG(RNDM(1)) - GKIN(5,NGKINE) = 1 - CALL GRNDM(RNDM,1) - TOFD(NGKINE) = -25.E-9*LOG(RNDM(1)) - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - 30 CONTINUE -C -C --- GO BACK TO GEV UNITS --- - 31 CONTINUE - DO 35 I=2,NGKINE - GKIN(4,I)=GKIN(4,I)*1E-3 - 35 CONTINUE -C -C DISTRIBUTE DIRECTIONS ISOTROPICALLY IN LAB- SYSTEM -C - DO 40 I=2,NGKINE - CALL GRNDM(RNDM,1) - COST = -1.+2.*RNDM(1) - SINT = SQRT(1.-COST*COST) - CALL GRNDM(RNDM,1) - PHI = TWOPI*RNDM(1) - IF (GKIN(5,I).LT.1.5) THEN - PPHMF = GKIN(4,I) - ELSE - PPHMF = GKIN(4,I)**2 - Q(JPA+7)**2 - IF(PPHMF.LT.0.) PPHMF=0. - PPHMF = SQRT(PPHMF) - ENDIF - GKIN(1,I) = PPHMF*SINT*SIN(PHI) - GKIN(2,I) = PPHMF*SINT*COS(PHI) - GKIN(3,I) = PPHMF*COST - 40 CONTINUE -C - GOTO 100 -C - 90 ISTOP = 2 - IPART=1 - JPA = LQ(JPART-IPART) - DO 95 J=1,5 - NAPART(J) = IQ(JPA+J) - 95 CONTINUE - ITRTYP = Q(JPA+6) - AMASS = Q(JPA+7) - CHARGE = Q(JPA+8) - TLIFE = Q(JPA+9) - VECT(7)= 0.0 - GETOT = 0.0 - GEKIN = 0.0 -C - 100 CONTINUE - END diff --git a/StarVMC/geant3/giface/gpfisi.F b/StarVMC/geant3/giface/gpfisi.F deleted file mode 100644 index b8f77788094..00000000000 --- a/StarVMC/geant3/giface/gpfisi.F +++ /dev/null @@ -1,106 +0,0 @@ -* -* $Id: gpfisi.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gpfisi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE G3PFISI -C -C *** CALCULATION OF PHOTO-FISSION AND PHOTO-ABSORBTION *** -C *** CROSS SECTIONS IN CURRENT MATERIAL *** -C *** HMF 25-AUG-1989 RWTH AACHEN / NVE 11-MAY-1990 CERN GENEVA *** -C -C CALLED BY : GPHYSI -C ORIGIN : F.CARMINATI, H.FESEFELDT -C -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctrak.inc" -C - DIMENSION CSGN(19),CSGF(19),EKFISS(19) - SAVE CSGN,CSGF,EKFISS -C -C MEASURED CROSS SECTIONS ON U(238) IN MILLBARN, ENERGIES IN GEV. -C - DATA CSGN / 0., 12., 20., 46., 115., 260., 450., 520., - + 400., 270., 200., 150., 120., 80., 55., 27., - + 15., 1., 0./ - DATA CSGF / 0., 0., 0., 14., 30., 65., 100., 130., - + 150., 180., 180., 150., 120., 80., 55., 27., - + 15., 1., 0./ - DATA EKFISS/0.004,0.005,0.006,0.007,0.008,0.009,0.010,0.011, - + 0.012,0.013,0.014,0.015,0.016,0.018,0.020,0.025, - + 0.030,0.035,0.040/ -C - SIG=0. - SIGFIS=0. - IF(JPFIS.LE.0) GOTO 99 - IF(ELOW(IEKBIN).LE.EKFISS(1)) GOTO 90 - IF(ELOW(IEKBIN).GE.EKFISS(19)) GOTO 90 - IF(A.LT.230..OR.A.GT.240.) GOTO 90 -C -C A-DEPENDENCE, MEASURED AT THE MAXIMUM OF THE RESONANCE -C - Z43BA=-67.0+38.7*Z**(4./3.)/A - IF(Z43BA.LE.0.) GOTO 90 -C -C ENERGY DEPENDENCE, AS TABULATED IN THE DATA STATEMENTS -C - DO 10 I=2,19 - IF(ELOW(IEKBIN).LT.EKFISS(I)) GOTO 20 - 10 CONTINUE - I=19 - 20 RAT = (EKFISS(I)-ELOW(IEKBIN))/(EKFISS(I)-EKFISS(I-1)) -C - SIGRES = CSGN(I-1)*RAT + CSGN(I)*(1.-RAT) - SIGRES = SIGRES*Z43BA/0.53 - SIGRES = SIGRES*0.0006022045*DENS/A -C - SIGFIS = CSGF(I-1)*RAT + CSGF(I)*(1.-RAT) - SIGFIS = SIGFIS*Z43BA/0.53 - SIGFIS = SIGFIS*0.0006022045*DENS/A -C - SIG = SIGRES+SIGFIS -C - 90 IF(SIG.GT.0.) THEN - Q(JPFIS+IEKBIN) = 1./SIG - ELSE - Q(JPFIS+IEKBIN) = BIG - ENDIF -C - IF(SIGFIS.GT.0.) THEN - Q(JPFIS+NEK1+IEKBIN) = 1./SIGFIS - ELSE - Q(JPFIS+NEK1+IEKBIN) = BIG - ENDIF -C - 99 END diff --git a/StarVMC/geant3/giface/gpghei.F b/StarVMC/geant3/giface/gpghei.F deleted file mode 100644 index 2719d653985..00000000000 --- a/StarVMC/geant3/giface/gpghei.F +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: gpghei.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gpghei.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:14 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : - SUBROUTINE GPGHEI -C -C *** COMPUTE DISTANCE TO NEXT HADRONIC INTERACTION POINT *** -C *** THIS ROUTINE IS AN INTERFACE TO GHEISHA8 *** -C *** NVE 06-APR-1988 CERN GENEVA *** -C -C CALLED BY : GUPHAD (USER ROUTINE) -C ORIGIN : F.CARMINATI -C -#include "geant321/gcflag.inc" -#include "geant321/gcbank.inc" -#include "geant321/gckine.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcjloc.inc" -C --- GHEISHA COMMONS --- -#include "geant321/s_prntfl.inc" -C -C --- INITIALIZE RELEVANT GHEISHA VARIABLES AT FIRST PASS --- - IF (IFINIT(4) .EQ. 0) CALL GHEINI -C - IF (Z .LT. 1.0) GO TO 1000 -C - KK=ABS(Q(JMA+11)) - IF (KK .GT. 1) GO TO 10 -C - SIG=GHESIG(VECT(7),GEKIN,A,A,Z,1.0,1,DENS,0.0,IPART) - GO TO 20 -C - 10 CONTINUE - QCOR=0.0 - IF(JTM.GT.0) THEN - LNVE=LQ(JTM) - IF (LNVE .GT. 0) QCOR=Q(LNVE+26) - ENDIF - SIG=GHESIG(VECT(7),GEKIN,A,Q(JMIXT+1),Q(JMIXT+KK+1), - $ Q(JMIXT+2*KK+1),KK,DENS,QCOR,IPART) -C - 20 CONTINUE - IF (SIG .LE. 0.0) GO TO 1000 - SHADR=ZINTHA/SIG - IF (NPRT(9)) PRINT 2000,KK,SIG,SHADR - 2000 FORMAT(' *GPGHEI* KK,SIG,SHADR = ',I3,1X,2(G12.5,1X)) - GO TO 9999 -C -C --- ENSURE NO INTERACTION IN CURRENT MEDIUM --- -C - 1000 CONTINUE - SHADR=BIG - IF (NPRT(9)) PRINT 2001,KK,SIG,SHADR - 2001 FORMAT(' *GPGHEI* === NO INTERACTION IN CURRENT MEDIUM ==='/ - $ ' KK,SIG,SHADR = ',I3,1X,2(G12.5,1X)) -C - 9999 CONTINUE - END diff --git a/StarVMC/geant3/giface/gphmfi.F b/StarVMC/geant3/giface/gphmfi.F deleted file mode 100644 index 2da2c63707a..00000000000 --- a/StarVMC/geant3/giface/gphmfi.F +++ /dev/null @@ -1,96 +0,0 @@ -* -* $Id: gphmfi.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gphmfi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:15 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.38 by S.Giani -*-- Author : - SUBROUTINE GPHMFI -C -C *** CALCULATION OF PHOTO-FISSION AND PHOTOABSORBTION *** -C *** CROSS SECTIONS IN CURRENT MATERIAL *** -C *** THE ENERGY BINS OF THE CROSS SECTION TABLES ARE NOT FINE *** -C *** ENOUGH IN ORDER TO ACCURATELY DESCRIBE THE RESONANCE *** -C *** BEHAVIOUR OF PHOTOFISSION AND PHOTOABSORBTION. *** -C *** THE PRESENT ROUTINE CALCULATES THE CROSS SECTIONS AT *** -C *** TRACKING TIME *** -C *** HMF 25-AUG-1989 RWTH AACHEN / NVE 11-MAY-1990 CERN GENEVA *** -C -C CALLED BY : GTGAMA -C ORIGIN : H.FESEFELDT -C -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" -#include "geant321/gsecti.inc" -#include "geant321/gctrak.inc" -C - DIMENSION CSGN(19),CSGF(19),EKFISS(19) - SAVE CSGN,CSGF,EKFISS -C -C MEASURED CROSS SECTIONS ON U(238) IN MILLBARN, ENERGIES IN GEV. -C - DATA CSGN / 0., 12., 20., 46., 115., 260., 450., 520., - + 400., 270., 200., 150., 120., 80., 55., 27., - + 15., 1., 0./ - DATA CSGF / 0., 0., 0., 14., 30., 65., 100., 130., - + 150., 180., 180., 150., 120., 80., 55., 27., - + 15., 1., 0./ - DATA EKFISS/0.004,0.005,0.006,0.007,0.008,0.009,0.010,0.011, - + 0.012,0.013,0.014,0.015,0.016,0.018,0.020,0.025, - + 0.030,0.035,0.040/ -C - SIG=0. - IF(JPFIS.LE.0) GOTO 90 - IF(GEKIN.LE.EKFISS(1)) GOTO 90 - IF(A.LT.230..OR.A.GT.240.) GOTO 90 -C -C A-DEPENDENCE, MEASURED AT THE MAXIMUM OF THE RESONANCE -C - Z43BA=-67.0+38.7*Z**(4./3.)/A - IF(Z43BA.LE.0.) GOTO 90 -C -C ENERGY DEPENDENCE, AS TABULATED IN THE DATA STATEMENTS -C - DO 10 I=2,19 - IF(GEKIN.LT.EKFISS(I)) GOTO 20 - 10 CONTINUE - I=19 - 20 RAT = (EKFISS(I)-GEKIN)/(EKFISS(I)-EKFISS(I-1)) - AIIN(1) = CSGN(I-1)*RAT + CSGN(I)*(1.-RAT) - AIFI(1) = CSGF(I-1)*RAT + CSGF(I)*(1.-RAT) - SIG = AIIN(1) + AIFI(1) -C - SIG = SIG*Z43BA/0.53 - SIG = SIG*0.0006022045*DENS/A -C - 90 IF(SIG.GT.0.) THEN - ALAM = 1./SIG - ELSE - ALAM = BIG - ENDIF -C - END diff --git a/StarVMC/geant3/giface/limdat.F b/StarVMC/geant3/giface/limdat.F deleted file mode 100644 index 8feff7206b2..00000000000 --- a/StarVMC/geant3/giface/limdat.F +++ /dev/null @@ -1,40 +0,0 @@ -* -* $Id: limdat.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: limdat.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:25 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:14 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.37 by S.Giani -*-- Author : - SUBROUTINE LIMDAT -C -C *** DATA FOR LIMITS OF INTINSIC FUNCTION ARGUMENTS *** -C *** NVE 15-MAR-1988 CERN GENEVA *** -C -#include "geant321/limits.inc" -C - EXPXL=-179.0 - EXPXU=174.0 -C - END diff --git a/StarVMC/geant3/giopa/gclose.F b/StarVMC/geant3/giopa/gclose.F deleted file mode 100644 index 3d6c40be361..00000000000 --- a/StarVMC/geant3/giopa/gclose.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: gclose.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gclose.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GCLOSE (LUN,IER) -C. -C. ****************************************************************** -C. * * -C. * Routine to close I/O units * -C. * * -C. * LUN Logical unit number * -C. * IER error flag * -C. * * -C. * ==>Called by : , UGLAST * -C. * Authors R.Brun, F.Carena ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" -C. -C. ------------------------------------------------------------------ -C. - IER=0 - IF(LUN.EQ.0)THEN - CALL FZENDO(LUN,'T') - CALL FZENDI(LUN,'T') - ELSE - DO 10 I=1,NUNITS - IF(LUN.EQ.ABS(LUNITS(I)))THEN - IF(LUNITS(I).LT.0)THEN - CALL FZENDI(LUN,'T') - ELSE - CALL FZENDO(LUN,'T') - ENDIF - LUNITS(I)=0 - GOTO 999 - ENDIF - 10 CONTINUE - IER=1 - ENDIF - 999 END diff --git a/StarVMC/geant3/giopa/gfin.F b/StarVMC/geant3/giopa/gfin.F deleted file mode 100644 index 3010d596af1..00000000000 --- a/StarVMC/geant3/giopa/gfin.F +++ /dev/null @@ -1,526 +0,0 @@ -* -* $Id: gfin.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gfin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFIN(LUN,CHOBJ,NKEYS,IDVERS,CHOPT,IER) -C. -C. ****************************************************************** -C. * * -C. * Routine to read GEANT object(s) fromin the FZ file * -C. * The data structures from disk are read in memory * -C. * * -C. * LUN Logical unit * -C. * * -C. * CHOBJ The type of data structure to be read: * -C. * MATE material * -C. * TMED tracking medium * -C. * VOLU volumes * -C. * ROTM rotation matrix * -C. * SETS detector set * -C. * PART particle * -C. * SCAN geometry * -C. * INIT read all above * -C. * KINE this keyword will trigger the read of * -C. * KINE and VERT unless the flag 'S' is set * -C. * DIGI digitisation * -C. * DRAW drawing * -C. * HEAD event header * -C. * HITS hits * -C. * RUNG run * -C. * STAK particle temporary stack * -C. * STAT volume statistic * -C. * VERT vertex * -C. * JXYZ track points * -C. * TRIG this keyword will trigger the read of * -C. * DIGI, HEAD, HITS, KINE, VERT abd JXYZ * -C. * unless the 'S' flag is set * -C. * * -C. * NKEYS number of keys in vector CHOBJ * -C. * * -C. * IDVERS version of the data structure to be read in * -C. * * -C. * CHOPT List of options * -C. * 'I' read only initialisation data * -C. * structures * -C. * 'K' read only KINE and TRIG data * -C. * structures * -C. * 'T' read only DIGI, HEAD, HITS, KINE, * -C. * VERT and JXYZ data structures * -C. * even if other keys are specified in CHOBJ * -C. * * -C. * 'S' interpret KINE to mean only * -C. * KINE and TRIG and INIT to mean * -C. * nothing * -C. * 'Q' quiet option, no message is * -C. * printed * -C. * * -C. * IER error flag. <0 ZEBRA error flag as returned in * -C. * IQUEST(1) * -C. * 0 read completed successfully * -C. * >0 if only IER structures read in * -C. * * -C. * The FZ data base has been created via GOPEN/GFOUT * -C. * * -C. * * -C. * Example. * -C. * * -C. * CALL GOPEN(1,'I',1024,IER) * -C. * CALL GFIN (1,'VOLU',1,0,' ',IER) * -C. * CALL GFIN (1,'MATE',1,0,' ',IER) * -C. * CALL GFIN (1,'TMED',1,0,' ',IER) * -C. * CALL GFIN (1,'ROTM',1,0,' ',IER) * -C. * CALL GFIN (1,'PART',1,0,' ',IER) * -C. * CALL GFIN (1,'SCAN',1,0,' ',IER) * -C. * CALL GFIN (1,'SETS',1,0,' ',IER) * -C. * * -C. * ==>Called by : ,GOPEN * -C. * Author F.Carminati ******* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcnum.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcunit.inc" -#include "geant321/gctime.inc" -* COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART -* + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX -* + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT - COMMON/QUEST/IQUEST(100) - PARAMETER (NLINIT=9,NLKINE=2,NLTRIG=6,NMKEY=22) - DIMENSION JNAMES(20),LINIT(NLINIT),LKINE(NLKINE) - DIMENSION LTRIG(NLTRIG),IXD(NMKEY) - DIMENSION LINK(NMKEY),IVERSI(NMKEY),LDIV(2),IRESUL(NMKEY) - DIMENSION IDOLD(8), IDNEW(8), VEROLD(8), VERNEW(8) - DIMENSION IUHEAD(2),ITRAN(23) - EQUIVALENCE (JNAMES(1),JDIGI) - CHARACTER*4 KNAMES(NMKEY),CHOBJ(*) - CHARACTER*(*) CHOPT - DATA KNAMES/'DIGI','DRAW','HEAD','HITS','KINE','MATE','PART', - + 'ROTM','RUNG','SETS','STAK','STAT','TMED','NULL','VERT', - + 'VOLU','JXYZ','NULL','NULL','NULL','SCAN','NULL'/ - DATA ITRAN/7,6,13,16,8,10,2,9,8*0,3,15,5,17,4,1,21/ - DATA IXD/2,1,2,2,2,8*1,2,2,1,2,3*0,1,0/ - DATA LINIT/2,6,7,8,9,10,13,16,21/ - DATA LKINE/5,15/ - DATA LTRIG/1,3,4,5,15,17/ - DATA IDNEW / 8*0 / - DATA VERNEW / 8*0. / -C. -C. ------------------------------------------------------------------ -C. - IQUEST(1)=0 - LDIV(1) =IXCONS - LDIV(2) =IXDIV - KVOL=JVOLUM - IER=0 -* - IOPTI=INDEX(CHOPT,'i')+INDEX(CHOPT,'I') - IOPTT=INDEX(CHOPT,'t')+INDEX(CHOPT,'T') - IOPTK=INDEX(CHOPT,'k')+INDEX(CHOPT,'K') - IOPTS=INDEX(CHOPT,'s')+INDEX(CHOPT,'S') - IOPTQ=INDEX(CHOPT,'q')+INDEX(CHOPT,'Q') -* -* Save old JRUNG dates and versions - IF(JRUNG.GT.0) THEN - DO 10 J=1,8 - IDOLD(J) = IQ(JRUNG+10+J) - VEROLD(J) = Q(JRUNG+20+J) - 10 CONTINUE - ENDIF -* - NLINK=0 - DO 100 JKEY=1,NKEYS - IF(IOPTS.EQ.0) THEN - IF(CHOBJ(JKEY).EQ.'INIT') THEN - DO 30 J=1, NLINIT - DO 20 MLINK=1,NLINK - IF(LINK(MLINK).EQ.LINIT(J)) GO TO 30 - 20 CONTINUE - NLINK=NLINK+1 - LINK(NLINK)=LINIT(J) - 30 CONTINUE - GO TO 100 - ELSEIF(CHOBJ(JKEY).EQ.'TRIG') THEN - DO 50 J=1, NLTRIG - DO 40 MLINK=1,NLINK - IF(LINK(MLINK).EQ.LTRIG(J)) GO TO 50 - 40 CONTINUE - NLINK=NLINK+1 - LINK(NLINK)=LTRIG(J) - 50 CONTINUE - GO TO 100 - ELSEIF(CHOBJ(JKEY).EQ.'KINE') THEN - DO 70 J=1, NLKINE - DO 60 MLINK=1,NLINK - IF(LINK(MLINK).EQ.LKINE(J)) GO TO 70 - 60 CONTINUE - NLINK=NLINK+1 - LINK(NLINK)=LKINE(J) - 70 CONTINUE - GO TO 100 - ENDIF - ENDIF - DO 90 J=1,NMKEY - IF(CHOBJ(JKEY).EQ.KNAMES(J)) THEN - DO 80 MLINK=1,NLINK - IF(LINK(MLINK).EQ.J) GO TO 100 - 80 CONTINUE - NLINK=NLINK+1 - LINK(NLINK)=J - GO TO 100 - ENDIF - 90 CONTINUE - WRITE(CHMAIL,10300) CHOBJ(JKEY) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - 100 CONTINUE -* - IF(IOPTI.GT.0) THEN - DO 120 J=1, NLINK - DO 110 K=1, NLINIT - IF(LINK(J).EQ.LINIT(K)) GO TO 120 - 110 CONTINUE - WRITE(CHMAIL,10000) KNAMES(LINK(J)) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - LINK(J)=0 - 120 CONTINUE - ELSEIF(IOPTK.GT.0) THEN - DO 140 J=1, NLINK - DO 130 K=1, NLKINE - IF(LINK(J).EQ.LKINE(K)) GO TO 140 - 130 CONTINUE - WRITE(CHMAIL,10100) KNAMES(LINK(J)) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - LINK(J)=0 - 140 CONTINUE - ELSEIF(IOPTT.GT.0) THEN - DO 160 J=1, NLINK - DO 150 K=1, NLTRIG - IF(LINK(J).EQ.LTRIG(K)) GO TO 160 - 150 CONTINUE - WRITE(CHMAIL,10200) KNAMES(LINK(J)) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - LINK(J)=0 - 160 CONTINUE - ENDIF - IOFF=0 - DO 170 J=1, NLINK - IF(LINK(J).EQ.0) THEN - IOFF=IOFF-1 - ELSE - LINK(J+IOFF)=LINK(J) - ENDIF - 170 CONTINUE - NLINK=NLINK+IOFF - NPOS=0 - DO 171 JL=1,NLINK - IF(LINK(JL).EQ.9.OR.LINK(JL).EQ.3) THEN - NPOS=JL - GOTO 172 - ENDIF - 171 CONTINUE - 172 CONTINUE -* - IF(NLINK.LE.0) THEN - WRITE(CHMAIL,10400) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - IER=-1 - GOTO 999 - ENDIF -* - IF(IOPTI+IOPTK+IOPTT.EQ.0) THEN -* -* We have to choose which event header to read, JRUNG or JHEAD -* If the banks list contains banks depending from both headers, -* the result is unpredictable. Error message to be inserted later. - DO 168 J=1, NLINK - DO 161 L=1, NLINIT - IF(LINK(J).EQ.LINIT(L)) THEN - IOPTI=-1 - GOTO 169 - ENDIF - 161 CONTINUE - DO 162 L=1, NLKINE - IF(LINK(J).EQ.LKINE(L)) THEN - IOPTK=-1 - GOTO 169 - ENDIF - 162 CONTINUE - DO 163 L=1, NLTRIG - IF(LINK(J).EQ.LTRIG(L)) THEN - IOPTT=-1 - GOTO 169 - ENDIF - 163 CONTINUE - 168 CONTINUE - 169 CONTINUE - ENDIF -* - DO 180 J=1, NLINK - IVERSI(J)=0 - IRESUL(J)=0 - 180 CONTINUE -* -* Go for next start of event data structure - 190 IF(IOPTI.NE.0) THEN - IF(JRUNG.NE.0)CALL MZDROP(IXCONS,JRUNG,' ') - NUH=2 - CALL FZIN(LUN,IXCONS,JRUNG,1,'E',NUH,IUHEAD) - IF(IQUEST(1).GE.2) THEN - IER = -IQUEST(1) - GO TO 240 - ENDIF - IF(NPOS.NE.0) THEN - IVERSI(NPOS)=IUHEAD(1) - IRESUL(NPOS)=1 - ENDIF - ELSEIF(IOPTT+IOPTK.NE.0) THEN - IF(JHEAD.NE.0)CALL MZDROP(IXDIV,JHEAD,' ') - NUH=2 - CALL FZIN(LUN,IXDIV,JHEAD,1,'E',NUH,IUHEAD) - IF(IQUEST(1).GE.2) THEN - IER = -IQUEST(1) - GO TO 240 - ENDIF - IF(NPOS.NE.0) THEN - IVERSI(NPOS)=IUHEAD(1) - IRESUL(NPOS)=1 - ENDIF - ENDIF -* - IVERIN = IUHEAD(1) - IF(IDVERS.NE.0.AND.IDVERS.NE.IVERIN) THEN - DO 200 I=1,NLINK - LINK(I)=-ABS(LINK(I)) - 200 CONTINUE - GOTO 190 - ELSE - IF (IDVERS .EQ. 0) IDVERS = IVERIN - DO 210 I=1,NLINK - LINK(I)= ABS(LINK(I)) - 210 CONTINUE - ENDIF - NK = IUHEAD(2) - IF(NK.GT.10) THEN - WRITE(CHMAIL,11100) NK - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - IER=-1 - GO TO 999 - ENDIF - DO 230 IK=1,NK -C -C Read next header -C - NUH=2 - CALL FZIN(LUN,0,0,0,'S',NUH,IUHEAD) - IF(IQUEST(1).GT.2)GO TO 320 - IKEY=ITRAN(IUHEAD(1)) - DO 220 I=1,NLINK - NKEY=LINK(I) - IF(IKEY.EQ.NKEY)THEN - IDIV=LDIV(IXD(NKEY)) - IF(NKEY.LE.20)THEN - IF(JNAMES(NKEY).NE.0)THEN - CALL MZDROP(IDIV,JNAMES(NKEY),'L') - JNAMES(NKEY)=0 - ENDIF - CALL FZIN(LUN,IDIV,JNAMES(NKEY),1,'A',NUH,IUHEAD) - ELSE - NKL=NKEY-20 - IF(ISLINK(NKL).NE.0)THEN - CALL MZDROP(IDIV,ISLINK(NKL),'L') - ISLINK(NKL)=0 - ENDIF - CALL FZIN(LUN,IDIV,ISLINK(NKL),1,'A',NUH,IUHEAD) - ENDIF - IF(IQUEST(1).LE.2.AND.IQUEST(1).GE.0) THEN - IVERSI(I)=IVERIN - IRESUL(I)=1 - GOTO 230 - ELSE - GOTO 320 - ENDIF - ENDIF - 220 CONTINUE - 230 CONTINUE -* - 240 NIN=0 - DO 250 I=1,NLINK - IF(IRESUL(I).EQ.1) THEN - WRITE(CHMAIL,10500) KNAMES(LINK(I)), IVERSI(I) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - NIN=NIN+1 - ELSEIF(LINK(I).GT.0) THEN - WRITE(CHMAIL,10600) KNAMES(LINK(I)) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - ELSEIF(LINK(I).LT.0) THEN - WRITE(CHMAIL,10700) KNAMES(-LINK(I)), IDVERS - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - ENDIF - 250 CONTINUE -* - IF(NIN.EQ.0) THEN - WRITE(CHMAIL,10800) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - IF(IER.GE.0) IER=-1 - GOTO 999 - ELSEIF(NIN.LT.NLINK) THEN - IER=NIN - ENDIF -* - IF(KVOL.NE.JVOLUM)THEN - NVOLUM=IQ(JVOLUM-1) - CALL MZGARB(IXCONS,0) - CALL GGDVLP - CALL GGNLEV - ENDIF -* - IF(JVOLUM.GT.0) THEN - NLEVEL=0 - NVOLUM=0 - DO 260 J=1, IQ(JVOLUM-2) - IF(LQ(JVOLUM-J).EQ.0) GOTO 270 - NVOLUM=NVOLUM+1 - 260 CONTINUE - 270 CONTINUE - ENDIF -* - IF(JTMED.NE.0 )THEN - CALL UCOPY(Q(JTMED+1),CUTGAM,10) - NTMED=IQ(JTMED-2) - ENDIF -* - IF(JPART.NE.0 ) NPART = IQ(JPART-2) - IF(JVERTX.NE.0) NVERTX = IQ(JVERTX+1) - IF(JKINE.NE.0) NTRACK = IQ(JKINE+1) - IF(JMATE.NE.0 ) NMATE = IQ(JMATE-2) - IF(JROTM.NE.0 ) NROTM = IQ(JROTM-2) - IF(JDRAW.GT.0 ) THEN - NKVIEW = IQ(JDRAW-2) - ELSE - NKVIEW = 0 -C -C Book JDRAW structure for view banks -C - CALL MZBOOK(IXCONS,JDRAW,JDRAW,1,'DRAW',0,0,0,3,0) - ENDIF - -C - IF(JHEAD.GT.0)THEN - IDRUN=IQ(JHEAD+1) - IDEVT=IQ(JHEAD+2) - ENDIF - IF(JRUNG.GT.0) THEN -* -* Here we deal with version numbers If JRUNG has been read in, -* then save the version numbers of the new JRUNG and restore -* the current version number for KINE, HITS and DIGI - DO 300 J=1, NLINK - IF(IVERSI(J).GT.0) THEN - NKEY = ABS(LINK(J)) - IF(KNAMES(NKEY).EQ.'RUNG') THEN - DO 280 I=1,8 - IDNEW(I) = IQ(JRUNG+10+I) - VERNEW(I) = Q(JRUNG+20+I) - 280 CONTINUE -* -* And we put back the old version numbers because, -* in principle, KINE, HITS and DIGI have not be read in - DO 290 I=3,8 - IQ(JRUNG+10+I) = IDOLD(I) - Q(JRUNG+20+I) = VEROLD(I) - 290 CONTINUE - ENDIF - ENDIF - 300 CONTINUE -* -* And here we do it again for KINE, HITS and DIGI - DO 310 J=1, NLINK - IF(IVERSI(J).GT.0) THEN - NKEY = ABS(LINK(J)) - IF(KNAMES(NKEY).EQ.'KINE') THEN - IF(IDNEW(3).GT.0) THEN - IQ(JRUNG+13) = IDNEW(3) - IQ(JRUNG+14) = IDNEW(4) - Q(JRUNG+23) = VERNEW(3) - Q(JRUNG+24) = VERNEW(4) - ENDIF - ELSEIF(KNAMES(NKEY).EQ.'HITS') THEN - IF(IDNEW(5).GT.0) THEN - IQ(JRUNG+15) = IDNEW(5) - IQ(JRUNG+16) = IDNEW(6) - Q(JRUNG+25) = VERNEW(5) - Q(JRUNG+26) = VERNEW(6) - ENDIF - ELSEIF(KNAMES(NKEY).EQ.'DIGI') THEN - IF(IDNEW(7).GT.0) THEN - IQ(JRUNG+17) = IDNEW(7) - IQ(JRUNG+18) = IDNEW(8) - Q(JRUNG+27) = VERNEW(7) - Q(JRUNG+28) = VERNEW(8) - ENDIF - ELSEIF(KNAMES(NKEY).EQ.'MATE'.OR. KNAMES(NKEY) .EQ.'TMED' - + ) THEN - IF(VERNEW(1).NE.0) THEN -* We know which version number we are reading - IF(VERNEW(1).LT.GVERSN) THEN - WRITE(CHMAIL,10900) KNAMES(NKEY),VERNEW(1), - + GVERSN - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - WRITE(CHMAIL,11000) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - ENDIF - ENDIF - ENDIF - ENDIF - 310 CONTINUE - ENDIF - 320 CONTINUE -* -10000 FORMAT(' *** GFIN *** Key ',A4,' ignored for initialization') -10100 FORMAT(' *** GFIN *** Key ',A4,' ignored for kinematics') -10200 FORMAT(' *** GFIN *** Key ',A4,' ignored for trigger') -10300 FORMAT(' *** GFIN *** Unknown key ',A4) -10400 FORMAT(' *** GFIN *** No valid key given') -10500 FORMAT(' *** GFIN *** Data structure ',A4,' version ',I10, - + ' successfully read in ') -10600 FORMAT(' *** GFIN *** Data structure ',A4,' was not found') -10700 FORMAT(' *** GFIN *** Data structure ',A4,' version ',I10, - + ' was not found') -10800 FORMAT(' *** GFIN *** Nothing found to read !') -10900 FORMAT(' *** GFIN *** ',A4,' data structure ', - + 'version ',F6.4,' current version is ',F6.4) -11000 FORMAT(' Please call subroutine GPHYSI before ', - + 'tracking') -11100 FORMAT(' *** GFIN *** Illegal number of links ',I10) - 999 END diff --git a/StarVMC/geant3/giopa/gfout.F b/StarVMC/geant3/giopa/gfout.F deleted file mode 100644 index 15420f8ab34..00000000000 --- a/StarVMC/geant3/giopa/gfout.F +++ /dev/null @@ -1,372 +0,0 @@ -* -* $Id: gfout.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gfout.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GFOUT(LUN,CHOBJ,NKEYS,IDVERS,CHOPT,IER) -C. -C. ****************************************************************** -C. * * -C. * Routine to write GEANT object(s) into the FZ file * -C. * The data structures in memory are written on disk * -C. * * -C. * LUN Logical unit * -C. * * -C. * CHOBJ The type of data structure to be written: * -C. * MATE material * -C. * TMED tracking medium * -C. * VOLU volumes * -C. * ROTM rotation matrix * -C. * SETS detector set * -C. * PART particle * -C. * SCAN geometry * -C. * INIT all above * -C. * KINE this keyword will trigger the write of * -C. * KINE and VERT unless the flag 'S' is set * -C. * DIGI digitisation * -C. * DRAW drawing * -C. * HEAD event header * -C. * HITS hits * -C. * RUNG run * -C. * STAK particle temporary stack * -C. * STAT volume statistic * -C. * VERT vertex * -C. * JXYZ track points * -C. * TRIG this keyword will trigger the write of * -C. * DIGI, HEAD, HITS, KINE, VERT abd JXYZ * -C. * unless the 'S' flag is set * -C. * * -C. * NKEYS number of keys in vector CHOBJ * -C. * * -C. * IDVERS version of the data structure to be written out * -C. * * -C. * CHOPT List of options * -C. * 'I' write only initialisation data * -C. * structures * -C. * 'K' write only KINE and TRIG data * -C. * structures * -C. * 'T' write only DIGI, HEAD, HITS, KINE, * -C. * VERT and JXYZ data structures * -C. * even if other keys are specified in CHOBJ * -C. * * -C. * 'S' interpret KINE to mean only * -C. * KINE and TRIG and INIT to mean * -C. * nothing * -C. * 'Q' quiet option, no message is * -C. * printed * -C. * * -C. * IER error flag. <0 ZEBRA error flag as returned in * -C. * IQUEST(1) * -C. * 0 read completed successfully * -C. * >0 if only IER structures read in * -C. * * -C. * The FZ data base can be read in via GOPEN/GFIN * -C. * * -C. * * -C. * Example. * -C. * * -C. * CALL GOPEN(1,'O',1024,IER) * -C. * CALL GFOUT (1,'VOLU',1,0,' ',IER) * -C. * CALL GFOUT (1,'MATE',1,0,' ',IER) * -C. * CALL GFOUT (1,'TMED',1,0,' ',IER) * -C. * CALL GFOUT (1,'ROTM',1,0,' ',IER) * -C. * CALL GFOUT (1,'PART',1,0,' ',IER) * -C. * CALL GFOUT (1,'SCAN',1,0,' ',IER) * -C. * CALL GFOUT (1,'SETS',1,0,' ',IER) * -C. * * -C. * ==>Called by : ,GOPEN * -C. * Author F.Carminati ******* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcnum.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcunit.inc" -#include "geant321/gctime.inc" -* COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART -* + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX -* + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT - COMMON/QUEST/IQUEST(100) - PARAMETER (NLINIT=9,NLKINE=2,NLTRIG=6,NMKEY=22) - DIMENSION JNAMES(20),LINIT(NLINIT),LKINE(NLKINE) - DIMENSION LTRIG(NLTRIG),IXD(NMKEY) - DIMENSION LINK(NMKEY),IVERSI(NMKEY),LDIV(2),IRESUL(NMKEY) - DIMENSION IUHEAD(2),ITRAN(23),JTRAN(23) - EQUIVALENCE (JNAMES(1),JDIGI) - CHARACTER*4 KNAMES(NMKEY),CHOBJ(*) - CHARACTER*(*) CHOPT - DATA KNAMES/'DIGI','DRAW','HEAD','HITS','KINE','MATE','PART', - + 'ROTM','RUNG','SETS','STAK','STAT','TMED','NULL','VERT', - + 'VOLU','JXYZ','NULL','NULL','NULL','SCAN','NULL'/ - DATA ITRAN/7,6,13,16,8,10,2,9,8*0,3,15,5,17,4,1,21/ - DATA JTRAN/22,7,17,21,19,2,1,5,8,6,2*0,3,0,18,4,20,3*0,23,2*0/ - DATA IXD/2,1,2,2,2,8*1,2,2,1,2,3*0,1,0/ - DATA LINIT/2,6,7,8,9,10,13,16,21/ - DATA LKINE/5,15/ - DATA LTRIG/1,3,4,5,15,17/ -C. -C. ------------------------------------------------------------------ -C. - IQUEST(1)=0 - IER=0 - LDIV(1) =IXCONS - LDIV(2) =IXDIV -* - IOPTI=INDEX(CHOPT,'i')+INDEX(CHOPT,'I') - IOPTT=INDEX(CHOPT,'t')+INDEX(CHOPT,'T') - IOPTK=INDEX(CHOPT,'k')+INDEX(CHOPT,'K') - IOPTS=INDEX(CHOPT,'s')+INDEX(CHOPT,'S') - IOPTQ=INDEX(CHOPT,'q')+INDEX(CHOPT,'Q') -* - NLINK=0 - DO 90 JKEY=1,NKEYS - IF(IOPTS.EQ.0) THEN - IF(CHOBJ(JKEY).EQ.'INIT') THEN - DO 20 J=1, NLINIT - DO 10 MLINK=1,NLINK - IF(LINK(MLINK).EQ.LINIT(J)) GO TO 20 - 10 CONTINUE - NLINK=NLINK+1 - LINK(NLINK)=LINIT(J) - 20 CONTINUE - GO TO 90 - ELSEIF(CHOBJ(JKEY).EQ.'TRIG') THEN - DO 40 J=1, NLTRIG - DO 30 MLINK=1,NLINK - IF(LINK(MLINK).EQ.LTRIG(J)) GO TO 40 - 30 CONTINUE - NLINK=NLINK+1 - LINK(NLINK)=LTRIG(J) - 40 CONTINUE - GO TO 90 - ELSEIF(CHOBJ(JKEY).EQ.'KINE') THEN - DO 60 J=1, NLKINE - DO 50 MLINK=1,NLINK - IF(LINK(MLINK).EQ.LKINE(J)) GO TO 60 - 50 CONTINUE - NLINK=NLINK+1 - LINK(NLINK)=LKINE(J) - 60 CONTINUE - GO TO 90 - ENDIF - ENDIF - DO 80 J=1,NMKEY - IF(CHOBJ(JKEY).EQ.KNAMES(J)) THEN - DO 70 MLINK=1,NLINK - IF(LINK(MLINK).EQ.J) GO TO 90 - 70 CONTINUE - NLINK=NLINK+1 - LINK(NLINK)=J - GO TO 90 - ENDIF - 80 CONTINUE - WRITE(CHMAIL,10300) CHOBJ(JKEY) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - 90 CONTINUE -* - IF(IOPTI.GT.0) THEN - DO 110 J=1, NLINK - DO 100 K=1, NLINIT - IF(LINK(J).EQ.LINIT(K)) GO TO 110 - 100 CONTINUE - WRITE(CHMAIL,10000) KNAMES(LINK(J)) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - LINK(J)=0 - 110 CONTINUE - ELSEIF(IOPTK.GT.0) THEN - DO 130 J=1, NLINK - DO 120 K=1, NLKINE - IF(LINK(J).EQ.LKINE(K)) GO TO 130 - 120 CONTINUE - WRITE(CHMAIL,10100) KNAMES(LINK(J)) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - LINK(J)=0 - 130 CONTINUE - ELSEIF(IOPTT.GT.0) THEN - DO 150 J=1, NLINK - DO 140 K=1, NLTRIG - IF(LINK(J).EQ.LTRIG(K)) GO TO 150 - 140 CONTINUE - WRITE(CHMAIL,10200) KNAMES(LINK(J)) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - LINK(J)=0 - 150 CONTINUE - ENDIF -* - IOFF=0 - DO 160 J=1, NLINK - IF(LINK(J).EQ.0) THEN - IOFF=IOFF-1 - ELSE - LINK(J+IOFF)=LINK(J) - ENDIF - 160 CONTINUE - NLINK=NLINK+IOFF - IF(IOPTI+IOPTK+IOPTT.EQ.0) THEN -* -* We have to choose which event header to write, JRUNG or JHEAD -* If the banks list contains banks which depends on both headers, -* the result is unpredictable. Error message to be inserted later. - DO 168 J=1, NLINK - DO 161 L=1, NLINIT - IF(LINK(J).EQ.LINIT(L)) THEN - IOPTI=-1 - GOTO 169 - ENDIF - 161 CONTINUE - DO 162 L=1, NLKINE - IF(LINK(J).EQ.LKINE(L)) THEN - IOPTK=-1 - GOTO 169 - ENDIF - 162 CONTINUE - DO 163 L=1, NLTRIG - IF(LINK(J).EQ.LTRIG(L)) THEN - IOPTT=-1 - GOTO 169 - ENDIF - 163 CONTINUE - 168 CONTINUE - 169 CONTINUE - ENDIF -* - IF(NLINK.LE.0) THEN - WRITE(CHMAIL,10400) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - IER=-1 - GOTO 999 - ENDIF -* - NWOUT=0 - IOFW =0 - DO 170 J=1,NLINK - IVERSI(J)=0 - IRESUL(J)=0 - NKEY=LINK(J) - IF(NKEY.EQ.3.OR.NKEY.EQ.9) THEN - IOFW=1 - NPOS=J - ENDIF - LINK(J)=-ABS(LINK(J)) - IF(NKEY.LE.20)THEN - IF(JNAMES(NKEY).NE.0) THEN - LINK(J)=ABS(LINK(J)) - NWOUT=NWOUT+1 - ENDIF - ELSE - NKL=NKEY-20 - IF(ISLINK(NKL).NE.0) THEN - LINK(J)=ABS(LINK(J)) - NWOUT=NWOUT+1 - ENDIF - ENDIF - 170 CONTINUE -* -* Write next start of event data structure - IUHEAD(1)=IDVERS - IUHEAD(2)=NWOUT-IOFW - NUH=2 - IF(IOPTI.NE.0) THEN - CALL FZOUT(LUN,IXCONS,JRUNG,1,'L',2,NUH,IUHEAD) - ELSEIF(IOPTT+IOPTK.NE.0) THEN - CALL FZOUT(LUN,IXDIV,JHEAD,1,'L',2,NUH,IUHEAD) - ENDIF - IF(IQUEST(1).EQ.0) THEN - IVERSI(NPOS)=IDVERS - IRESUL(NPOS)=1 - ELSE - WRITE(CHMAIL,10500) KNAMES(LINK(NPOS)) - ENDIF -* - DO 180 IK=1,NLINK -* -* Write selected data structures - NKEY=LINK(IK) - IF(NKEY.GT.0) THEN - IF(NKEY.EQ.9) THEN - GOTO 180 - ELSEIF(NKEY.EQ.3) THEN - GOTO 180 - ELSEIF(NKEY.EQ.1) THEN - CALL GRLEAS(JDIGI) - ELSEIF(NKEY.EQ.4) THEN - CALL GRLEAS(JHITS) - ENDIF - IDIV=LDIV(IXD(NKEY)) - JKEY=JTRAN(NKEY) - IF(NKEY.LE.20)THEN - CALL FZOUT(LUN,IDIV,JNAMES(NKEY),0,'L',2,1,JKEY) - ELSE - NKL=NKEY-20 - CALL FZOUT(LUN,IDIV,ISLINK(NKL),0,'L',2,1,JKEY) - ENDIF - IF(IQUEST(1).EQ.0) THEN - IVERSI(IK)=IDVERS - IRESUL(IK)=1 - ELSE - WRITE(CHMAIL,10500) KNAMES(NKEY) - ENDIF - ENDIF - 180 CONTINUE -* - NOUT=0 - DO 190 I=1,NLINK - IF(IRESUL(I).EQ.1) THEN - WRITE(CHMAIL,10600) KNAMES(ABS(LINK(I))),IVERSI(I) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - NOUT=NOUT+1 - ELSE - WRITE(CHMAIL,10700) KNAMES(ABS(LINK(I))) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - ENDIF - 190 CONTINUE -* - IF(NOUT.LE.0) THEN - WRITE(CHMAIL,10800) - IF(IOPTQ.EQ.0) CALL GMAIL(0,0) - IER=-1 - ELSEIF(NOUT.LT.NLINK) THEN - IER=NOUT - ENDIF -* -10000 FORMAT(' *** GFOUT *** Key ',A4,' ignored for initialization') -10100 FORMAT(' *** GFOUT *** Key ',A4,' ignored for kinematics') -10200 FORMAT(' *** GFOUT *** Key ',A4,' ignored for trigger') -10300 FORMAT(' *** GFOUT *** Unknown key ',A4) -10400 FORMAT(' *** GFOUT *** No valid key given') -10500 FORMAT(' *** GFOUT *** Problems writing data structure ',A4) -10600 FORMAT(' *** GFOUT *** Data structure ',A4,' version ',I10, - + ' successfully written out') -10700 FORMAT(' *** GFOUT *** Data structure ',A4,' not found') -10800 FORMAT(' *** GFOUT *** Nothing written out !') - 999 END diff --git a/StarVMC/geant3/giopa/gget.F b/StarVMC/geant3/giopa/gget.F deleted file mode 100644 index 442bde135cd..00000000000 --- a/StarVMC/geant3/giopa/gget.F +++ /dev/null @@ -1,188 +0,0 @@ -* -* $Id: gget.F,v 1.1.1.2 2009/02/01 17:10:29 fisyak Exp $ -* -* $Log: gget.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:29 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GGET (LUN,KEYSU,NUKEYS,IDENT,IER) -C. -C. ****************************************************************** -C. * * -C. * Routine to read in data structures * -C. * * -C. * LUN Logical unit number * -C. * KEYSU Keywords to select data structures * -C. * NKEYS Number of keywords * -C. * IER Error flag * -C. * * -C. * ==>Called by : , UGINIT,GUKINE * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gccuts.inc" - COMMON/QUEST/IQUEST(100) -C - CHARACTER*4 KLEY(22) - CHARACTER*4 KEYSU(1) - DIMENSION KEYS(22),IUHEAD(2) - DIMENSION KSEL(14),LKEY(22),LKNUM(22),LINK(14),JLINK(17) - EQUIVALENCE (JLINK(1),JDIGI) - SAVE IFIRST,LKEY - DATA LINK/7,6,13,16,8,10,2,9,3,15,5,17,4,1/ - DATA KLEY/'PART','MATE','TMED','VOLU','ROTM','SETS','DRAW','RUNG' - + ,'INIT','INIT','INIT','INIT','INIT','INIT','INIT','INIT' - + ,'HEAD','KINE','KINE','JXYZ','HITS','DIGI'/ - DATA LKNUM/1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,9,10,11,12,13,14/ - DATA IFIRST/0/ -C. -C. ------------------------------------------------------------------ -C. - IF(IFIRST.EQ.0)THEN - IFIRST=1 - CALL UCTOH(KLEY,LKEY,4,88) - ENDIF -* - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) -10000 FORMAT(' *** GGET *** Obsolete routine. Please use GFIN') -C - IDENT=-1 - IER = 0 - NKEYS=IABS(NUKEYS) - IF (NKEYS.LE.0) GO TO 99 - CALL UCTOH(KEYSU,KEYS,4,4*NKEYS) -C - IF(NUKEYS.LT.0)THEN - I1=1 - I2=15 - K1=1 - K2=7 - ELSE - I1=18 - I2=22 - K1=10 - K2=14 - ENDIF -C - NKT=0 - DO 10 K=K1,K2 - 10 KSEL(K)=0 - DO 20 I=I1,I2 - N=LKNUM(I) - DO 20 IK=1,NKEYS - IF(KEYS(IK).EQ.LKEY(I))THEN - KSEL(N)=1 - NKT=NKT+1 - ENDIF - 20 CONTINUE - IF(NKT.EQ.0)GO TO 99 - NUH=2 -C -C Go for next start of event data structure -C - IF(NUKEYS.LT.0)THEN - IF(JRUNG.NE.0)CALL MZDROP(IXCONS,JRUNG,' ') - CALL FZIN(LUN,IXCONS,JRUNG,1,'E',NUH,IUHEAD) - IF(IQUEST(1).GT.2)GO TO 90 - IDIV=IXCONS - ELSE - IF(JHEAD.NE.0)CALL MZDROP(IXDIV,JHEAD,' ') - CALL FZIN(LUN,IXDIV,JHEAD,1,'E',NUH,IUHEAD) - IF(IQUEST(1).GT.2)GO TO 90 - IDIV=IXDIV - ENDIF -C - IDENT= IUHEAD(1) - NK = IUHEAD(2) - IF(NK.LE.0)GO TO 99 - IF(NK.GT.10)GO TO 99 - DO 30 I=1,NK -C -C Read next header -C - NUH=2 - CALL FZIN(LUN,IDIV,0,0,'S',NUH,IUHEAD) - IF(IQUEST(1).GT.2)GO TO 90 - KS=IUHEAD(1) - IF(KS.LE.0)GO TO 30 - IF(KS.GT.14)GO TO 30 - IF(KSEL(KS).EQ.0)GO TO 30 - IL=LINK(KS) - IF(JLINK(IL).NE.0)CALL MZDROP(IDIV,JLINK(IL),' ') -C -C Read pending data structure -C - CALL FZIN(LUN,IDIV,JLINK(IL),1,'A',NUH,IUHEAD) - IF(IQUEST(1).GT.2)GO TO 90 - 30 CONTINUE -C -C Fill header bank -C Reconstruct NKVIEW,NVOLUM,NVERTX,NTRACK -C Reconstruct NMATE, NTMED, NPART -C - IF(NUKEYS.LT.0)THEN - IF(KSEL(1).NE.0.AND.JPART.GT.0) NPART=IQ(JPART-2) - IF(KSEL(2).NE.0.AND.JMATE.NE.0) NMATE=IQ(JMATE-2) - IF(KSEL(3).NE.0.AND.JTMED.NE.0) THEN - CALL UCOPY(Q(JTMED+1),CUTGAM,10) - NTMED=IQ(JTMED-2) - ENDIF - IF(KSEL(4).NE.0.AND.JVOLUM.GT.0) THEN - NVOLUM=0 - DO 40 J=1, IQ(JVOLUM-2) - IF(LQ(JVOLUM-J).EQ.0) GO TO 50 - NVOLUM=NVOLUM+1 - 40 CONTINUE - 50 CONTINUE - END IF - IF(KSEL(7).NE.0.AND.JDRAW.GT.0) NKVIEW=IQ(JDRAW-2) - ENDIF -C - IF(JHEAD.GT.0)THEN - IDRUN=IQ(JHEAD+1) - IDEVT=IQ(JHEAD+2) - ENDIF -C - IF(KSEL(10).GT.0)THEN - NVERTX=0 - NTRACK=0 - IF(JVERTX.GT.0)NVERTX=IQ(JVERTX+1) - IF(JKINE .GT.0)NTRACK=IQ(JKINE +1) - ENDIF - GO TO 99 -C -C Error, EOF,etc -C - 90 IER=IQUEST(1) -C - 99 RETURN - END diff --git a/StarVMC/geant3/giopa/giopa.doc b/StarVMC/geant3/giopa/giopa.doc deleted file mode 100644 index 62e4f1c262e..00000000000 --- a/StarVMC/geant3/giopa/giopa.doc +++ /dev/null @@ -1,149 +0,0 @@ -* -* $Id: giopa.doc,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: giopa.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:16 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_DOC) -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : -* -************************************************************************ -* * -* The I/O service routines * -* ------------------------ * -* * -* The I/O routines permit to read and write, the GEANT3 data * -* structures. The possibility exists to write and read data * -* structures to/from direct access files, in machine dependent or * -* independent format and to/from direct access files. All I/O is * -* done via the ZEBRA I/O routines both for direct access files (FZ * -* package) and for direct access files (RZ package). * -* Data can be generated on one type of machine, for example full * -* detector simulation, and the data produced can be analyzed on a * -* different machine. * -* The data structures written to tape or disk can be read either in * -* whole or in part. * -* * -* * -* Routines to perform I/O * -* ----------------------- * -* * -* CALL GCLOSE(LUN, IER) * -* * -* LUN Logical unit number * -* IER Error flag * -* * -* Close sequential FZ file open with logical unit LUN. If LUN=0 * -* close all FZ files. IER=1 if the file is no FZ file open with * -* logical unit LUN is found, 0 otherwise. * -* * -* CALL GFIN(LUN,CHOBJ,NKEYS,IDVERS,CHOPT,IER) * -* * -* LUN Logical unit number * -* CHOBJ CHARACTER*4 array containing the data structures to be * -* read (DIGI,DRAW,HEAD,HITS,KINE,MATE,PART,ROTM,RUNG, * -* SETS,STAK,STAT,TMED,VERT,VOLU,JXYZ,SCAN). In addition * -* the following keywords are defined: * -* INIT = DRAW,MATE,PART,ROTM,RUNG,SETS,TMED,VOLU,SCAN * -* KINE = KINE,VERT * -* TRIG = DIGI,HEAD,HITS,KINE,VERT,JXYZ * -* NKEYS Number of valid elements in the array CHOBJ * -* IDVERS Version to be retrieved. If IDVERS=0 the first version * -* found will be retrieved. * -* CHOPT Character option. * -* IER Error flag. -1 if nothing has been read in. >0 in not * -* all the requested data structures have been read in. * -* * -* * -* * -* Routine to read GEANT object(s) from a FZ file The data * -* structures from disk are read in memory. * -* * -* CALL GFOUT(LUN,CHOBJ,NKEYS,IDVERS,CHOPT,IER) * -* * -* See above for the parameters. Routine to write GEANT object(s) * -* into a FZ file The data structures are written from memory to * -* disk. * -* * -* CALL GOPEN(LUN,LUNTYP,LEN,IER) * -* * -* LUN Logical unit * -* LUNTYP CHARACTER variable specifying the format of the FZ * -* file. Possible options are I,O,A,X. See the FZ manual * -* for more information. * -* LEN Logical record length of the FZ file. * -* IER Error flag. 0 if file has been open correctly. * -* * -* Routine to open a FZ file for input or output. * -* * -* CALL GREND (LUN) * -* * -* LUN Logical unit * -* * -* Routine to close the RZ direct access file opened with logical * -* unit LUN. * -* * -* CALL GRFILE(LUN,CHFILE,CHOPTT) * -* * -* LUN Logical unit number * -* CHFILE Name of the file to be open * -* CHOPTT Character option * -* * -* Routine to open an RZ file for input or output. If option I is * -* given, then the INIT data structures will be read from the file * -* and if the option O is given they will be written to the file. * -* * -* CALL GRIN(CHOBJT,IDVERS,CHOPT) * -* * -* CHOBJT CHARACTER*4 variable with the name of the data * -* structure to be retrieved. See GFIN for more details. * -* IDVERS Version of the data structure to be retrieved. If 0 * -* the first found data structure will be retrieved. * -* CHOPT Option variable * -* * -* Routine to read from a RZ direct access file GEANT data * -* structures. * -* * -* CALL GRLEAS(JBANK) * -* * -* JBANK Pointer to a data structure * -* * -* Routine to release unused space in the data structure pointed to * -* by JBANK. * -* * -* CALL GRMDIR(CHDIR,CHOPT) * -* * -* CHDIR Name of the directory * -* CHOPT Character option * -* * -* Routine to create a GEANT subdirectory in an RZ file. * -* * -* CALL GROUT(CHOBJT,IDVERS,CHOPT) * -* * -* Routine to write to a RZ direct access file GEANT data * -* structures. See GRIN for explanations on the parameters. * -* * -************************************************************************ -#endif diff --git a/StarVMC/geant3/giopa/gopen.F b/StarVMC/geant3/giopa/gopen.F deleted file mode 100644 index 8089f0bd394..00000000000 --- a/StarVMC/geant3/giopa/gopen.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: gopen.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gopen.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GOPEN (LUN,LUNTYP,LEN,IER) -C. -C. ****************************************************************** -C. * * -C. * Routine to open I/O units * -C. * * -C. * LUN Logical unit number * -C. * LUNTYP ZEBRA flag I,O,X (must be CHARACTER) * -C. * 'I' LUN is an INPUT file * -C. * 'O' LUN is an OUTPUT file * -C. * 'X' LUN is in exchange mode format * -C. * LEN Buffer length (see FZFILE) * -C. * IER error flag * -C. * * -C. * ==>Called by : , UGINIT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" - CHARACTER*(*) LUNTYP -C. -C. ------------------------------------------------------------------ -C. - IF (NUNITS.LT.5)THEN - CALL FZFILE(LUN,LEN,LUNTYP) - NUNITS = NUNITS + 1 - LUNITS(NUNITS) = LUN - IF(INDEX(LUNTYP,'I').NE.0)LUNITS(NUNITS)=-LUN - IER = 0 - ELSE - IER = 1 - ENDIF -C - END diff --git a/StarVMC/geant3/giopa/grend.F b/StarVMC/geant3/giopa/grend.F deleted file mode 100644 index bf92bd6b79a..00000000000 --- a/StarVMC/geant3/giopa/grend.F +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: grend.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: grend.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:38 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GREND (LUN) -C. -C. ****************************************************************** -C. * * -C. * Routine to close an RZ file * -C. * * -C. * CHDIR Top directory name of the file * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. - CHARACTER*5 CHDIR -C. -C. ------------------------------------------------------------------ -C. - IF(LUN.LT.10) THEN - WRITE(CHDIR,'(''LUN'',I1)') LUN - ELSE - WRITE(CHDIR,'(''LUN'',I2)') LUN - ENDIF - CALL RZEND(CHDIR) -C - END diff --git a/StarVMC/geant3/giopa/grfile.F b/StarVMC/geant3/giopa/grfile.F deleted file mode 100644 index 0371e70fc7f..00000000000 --- a/StarVMC/geant3/giopa/grfile.F +++ /dev/null @@ -1,114 +0,0 @@ -* -* $Id: grfile.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: grfile.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:26 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GRFILE(LUN,CHFILE,CHOPTT) -C. -C. ****************************************************************** -C. * * -C. * Routine to open a GEANT/RZ data base. * -C. * * -C. * LUN logical unit number associated to the file * -C. * * -C. * CHFILE RZ file name * -C. * * -C. * CHOPT is a character string which may be * -C. * 'N' To create a new file * -C. * 'U' to open an existing file for update * -C. * ' ' to open an existing file for read only * -C. * 'Q' The initial allocation (default 1000 records) * -C. * is given in IQUEST(10) * -C. * 'X' Open the file in exchange format * -C. * 'I' Read all data structures from file to memory * -C. * 'O' Write all data structures from memory to file * -C. * * -C. * Note: * -C. * If options 'I' or 'O' all data structures are read or * -C. * written from/to file and the file is closed. * -C. * See routine GRMDIR to create subdirectories * -C. * See routines GROUT,GRIN to write,read objects * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" - COMMON/QUEST/IQUEST(100) - CHARACTER*(*) CHFILE,CHOPTT - CHARACTER*8 CHOPT,CHTOP,CHTAGS(2) - CHARACTER*10 CHOPT1,CHOPT2 - SAVE CHTAGS,CHTOP - DATA CHTAGS,CHTOP/'Object','Version',' '/ -C. -C. ------------------------------------------------------------------ -C. -* - CHOPT=CHOPTT - CALL CLTOU(CHOPT) - IOPTN=INDEX(CHOPT,'N') - IOPTU=INDEX(CHOPT,'U') - IOPTQ=INDEX(CHOPT,'Q') - IOPTI=INDEX(CHOPT,'I') - IOPTO=INDEX(CHOPT,'O') - IF(IOPTN.EQ.0.AND.IOPTU.EQ.0)IOPTO=0 - IF(IOPTN.NE.0)IOPTI=0 -* -* Open file -* - CHOPT2 = CHOPT//'XW' - CHOPT1 = CHOPT//'X' - CALL RZOPEN(LUN,CHTOP,CHFILE,CHOPT2,1024,ISTAT) - IF(ISTAT.NE.0)GO TO 99 -* - IF(IOPTN.NE.0)THEN - IF(IOPTQ.NE.0)THEN - NQUOT=IQUEST(10) - IF(NQUOT.LT.100.OR.NQUOT.GT.100000)NQUOT=1000 - ELSE - NQUOT=1000 - ENDIF - CALL RZMAKE(LUN,CHTOP,2,'HI',CHTAGS,NQUOT,CHOPT1) - ELSE - CALL RZFILE(LUN,CHTOP,CHOPT1) - ENDIF -* -* Read/write initialisation structures -* - IF(IOPTI.NE.0)THEN - CALL GRIN('INIT',0,' ') - ENDIF - IF(IOPTO.NE.0)THEN - CALL GROUT('INIT',1,' ') - ENDIF - IF(IOPTI.NE.0.OR.IOPTO.NE.0)THEN - CALL RZEND(CHTOP) - CLOSE(LUN) - ENDIF -* - 99 END diff --git a/StarVMC/geant3/giopa/grget.F b/StarVMC/geant3/giopa/grget.F deleted file mode 100644 index f46c7e43215..00000000000 --- a/StarVMC/geant3/giopa/grget.F +++ /dev/null @@ -1,165 +0,0 @@ -* -* $Id: grget.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: grget.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GRGET (KEYSU,ID1,ID2,ID3,ICYCLE) -C. -C. ****************************************************************** -C. * * -C. * Routine to read data structures from a RZ file * -C. * * -C. * KEYSU Keyword to select data structure * -C. * ID1 First RZ KEY identifier (ex IDRUN) * -C. * ID2 Second RZ KEY identifier (ex IDEVT) * -C. * ID3 Third RZ KEY identifier (user free) * -C. * ICYCLE Cycle number * -C. * * -C. * ==>Called by : , UGINIT,GUKINE * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gccuts.inc" -C - DIMENSION CUTVEC(10) - EQUIVALENCE (CUTVEC,CUTGAM) -C - CHARACTER*4 KLEY(19) - CHARACTER*4 KEYSU(1) - DIMENSION KEYRZ(4) - DIMENSION LINIT(8),LKINE(2),LTRIG(6) - DIMENSION LKEY(19),LINK(10),JLINK(17),KSEL(17),IXD(17) - EQUIVALENCE (JLINK(1),JDIGI) - EQUIVALENCE (LKEY(18),KINIT),(LKEY(19),KTRIG),(LKEY(5),KKINE) -C - SAVE IFIRST,LKEY - DATA KLEY/'DIGI','DRAW','HEAD','HITS','KINE','MATE','PART','ROTM' - + ,'RUNG','SETS','STAK','STAT','TMED','TRAC','VERT','VOLU' - + ,'JXYZ','INIT','TRIG'/ - DATA IXD/2,1,2,2,2,8*1,2,2,1,2/ - DATA LINIT/2,6,7,8,9,10,13,16/ - DATA LKINE/5,15/ - DATA LTRIG/1,3,4,5,15,17/ - DATA NLINIT/8/ - DATA NLKINE/2/ - DATA NLTRIG/6/ - DATA IFIRST/0/ -C. -C. ------------------------------------------------------------------ -C. - IF(IFIRST.EQ.0)THEN - IFIRST=1 - CALL UCTOH(KLEY,LKEY,4,76) - ENDIF -* - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) -10000 FORMAT(' *** GRGET *** Obsolete routine. Please use GRIN') -C - CALL UCTOH(KEYSU,KEY,4,4) - CALL VZERO(KSEL,17) -C - IF(KEY.EQ.KINIT)THEN - CALL UCOPY(LINIT,LINK,NLINIT) - NLINK=NLINIT - ELSEIF(KEY.EQ.KKINE)THEN - CALL UCOPY(LKINE,LINK,NLKINE) - NLINK=NLKINE - ELSEIF(KEY.EQ.KTRIG)THEN - CALL UCOPY(LTRIG,LINK,NLTRIG) - NLINK=NLTRIG - ELSE - IL=IUCOMP(KEY,LKEY,17) - IF(IL.EQ.0)GO TO 50 - LINK(1)=IL - NLINK=1 - ENDIF -C -C Read data structure(s) -C - KEYRZ(2)=ID1 - KEYRZ(3)=ID2 - KEYRZ(4)=ID3 -C - DO 10 I=1,NLINK - IL=LINK(I) - IF(JLINK(IL).NE.0)THEN - CALL MZDROP(IXCONS,JLINK(IL),' ') - JLINK(IL)=0 - ENDIF - KEYRZ(1)=LKEY(IL) - IF(IXD(IL).NE.2)THEN - IDIV=IXCONS - ELSE - IDIV=IXDIV - ENDIF - CALL RZIN(IDIV,JLINK(IL),1,KEYRZ,ICYCLE,' ') - KSEL(IL)=1 - 10 CONTINUE -C -C Fill header bank -C Reconstruct NKVIEW,NVOLUM,NVERTX,NTRACK -C Reconstruct NMATE, NTMED, NPART -C - IF(KSEL(6).NE.0.AND.JMATE.GT.0) NMATE=IQ(JMATE-2) - IF(KSEL(7).NE.0.AND.JPART.GT.0) NPART=IQ(JPART-2) - IF(KSEL(13).NE.0.AND.JTMED.NE.0 ) THEN - DO 20 J=1,10 - CUTVEC(J) = Q(JTMED+J) - 20 CONTINUE - NTMED=IQ(JTMED-2) - ENDIF - IF(KSEL(16).NE.0.AND.JVOLUM.GT.0) THEN - NVOLUM=0 - DO 30 J=1, IQ(JVOLUM-2) - IF(LQ(JVOLUM-J).EQ.0) GO TO 40 - NVOLUM=NVOLUM+1 - 30 CONTINUE - 40 CONTINUE - END IF - IF(KSEL( 2).NE.0.AND.JDRAW.GT.0 ) NKVIEW=IQ(JDRAW-2) -C - IF(JHEAD.GT.0)THEN - IDRUN=IQ(JHEAD+1) - IDEVT=IQ(JHEAD+2) - ENDIF -C - IF(KSEL(5).GT.0)THEN - NVERTX=0 - NTRACK=0 - IF(JVERTX.GT.0)NVERTX=IQ(JVERTX+1) - IF(JKINE .GT.0)NTRACK=IQ(JKINE +1) - ENDIF -C - 50 RETURN - END diff --git a/StarVMC/geant3/giopa/grin.F b/StarVMC/geant3/giopa/grin.F deleted file mode 100644 index 07f9db8326d..00000000000 --- a/StarVMC/geant3/giopa/grin.F +++ /dev/null @@ -1,398 +0,0 @@ -* -* $Id: grin.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: grin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani -*-- Author : - SUBROUTINE GRIN(CHOBJT,IDVERS,CHOPT) -C. -C. ****************************************************************** -C. * * -C. * Routine to read GEANT object(s) fromin the RZ file * -C. * at the Current Working Directory (See RZCDIR) * -C. * The data structures from disk are read in memory * -C. * (VOLU,ROTM,TMED,MATE,SETS,PART,SCAN) * -C. * * -C. * CHOBJ The type of object to be read: * -C. * MATE read JMATE structure * -C. * TMED read JTMED structure * -C. * VOLU read JVOLUM structure * -C. * ROTM read JROTM structure * -C. * SETS read JSET structure * -C. * PART read JPART structure * -C. * SCAN read LSCAN structure * -C. * INIT read all initialisation structures * -C. * * -C. * IDVERS is a positive integer which specifies the version * -C. * number of the object(s). * -C. * * -C. * CHOPT List of options (none for the time being) * -C. * * -C. * * -C. * The RZ data base has been created via GRFILE/GROUT * -C. * * -C. * * -C. * Example. * -C. * * -C. * CALL GRFILE(1,'Geometry.dat',' ') * -C. * CALL GRIN ('VOLU',1,' ') * -C. * CALL GRIN ('MATE',1,' ') * -C. * CALL GRIN ('TMED',1,' ') * -C. * CALL GRIN ('ROTM',1,' ') * -C. * CALL GRIN ('PART',1,' ') * -C. * CALL GRIN ('SCAN',1,' ') * -C. * CALL GRIN ('SETS',1,' ') * -C. * * -C. * The same result can be achieved by: * -C. * CALL GRFILE(1,'Geometry.dat','I') * -C. * * -C. * ==>Called by : ,GRFILE * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcnum.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcunit.inc" -#include "geant321/gctime.inc" -* COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART -* + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX -* + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT - COMMON/QUEST/IQUEST(100) - PARAMETER (NLINIT=9,NLKINE=2,NLTRIG=6,NMKEY=22) - DIMENSION JNAMES(20),KEYS(2),LINIT(NLINIT),LKINE(NLKINE) - DIMENSION LTRIG(NLTRIG),IXD(NMKEY) - DIMENSION LINK(NMKEY),IVERSI(NMKEY),LDIV(2),IRESUL(NMKEY) - DIMENSION IDOLD(8), IDNEW(8), VEROLD(8), VERNEW(8) - EQUIVALENCE (JNAMES(1),JDIGI) - CHARACTER*4 CHOBJ,CKEY,KNAMES(NMKEY) - CHARACTER*(*) CHOPT,CHOBJT - DATA KNAMES/'DIGI','DRAW','HEAD','HITS','KINE','MATE','PART', - + 'ROTM','RUNG','SETS','STAK','STAT','TMED','NULL','VERT', - + 'VOLU','JXYZ','NULL','NULL','NULL','SCAN','NULL'/ - DATA IXD/2,1,2,2,2,8*1,2,2,1,2,3*0,1,0/ - DATA LINIT/2,6,7,8,9,10,13,16,21/ - DATA LKINE/5,15/ - DATA LTRIG/1,3,4,5,15,17/ - DATA IDNEW / 8*0 / - DATA VERNEW / 8*0. / -C. -C. ------------------------------------------------------------------ -C. - IQUEST(1)=0 - LDIV(1) =IXCONS - LDIV(2) =IXDIV - KVOL=JVOLUM - CHOBJ=CHOBJT -* -* Save old JRUNG dates and versions - IF(JRUNG.GT.0) THEN - DO 10 J=1,8 - IDOLD(J) = IQ(JRUNG+10+J) - VEROLD(J) = Q(JRUNG+20+J) - 10 CONTINUE - ENDIF -* - IOPTI=INDEX(CHOPT,'i')+INDEX(CHOPT,'I') - IOPTT=INDEX(CHOPT,'t')+INDEX(CHOPT,'T') - IOPTK=INDEX(CHOPT,'k')+INDEX(CHOPT,'K') - IOPTQ=INDEX(CHOPT,'q')+INDEX(CHOPT,'Q') -* - IF(CHOBJ.EQ.'INIT') THEN - CHOBJ='*' - IOPTI=1 - IOPTT=0 - IOPTK=0 - IF(JDRAW.NE.0)CALL MZDROP(IXSTOR,JDRAW,'L') - IF(JSTAK.NE.0)CALL MZDROP(IXSTOR,JSTAK,'L') - IF(JGPAR.NE.0)CALL MZDROP(IXSTOR,JGPAR,'L') - ELSEIF(CHOBJ.EQ.'TRIG') THEN - CHOBJ='*' - IOPTI=0 - IOPTT=1 - IOPTK=0 - ELSEIF(CHOBJ.EQ.'KINE') THEN - CHOBJ='*' - IOPTI=0 - IOPTT=0 - IOPTK=1 - ENDIF -* - IF(CHOBJ.EQ.'*') THEN - IF(IOPTI.NE.0) THEN - DO 20 J=1, NLINIT - LINK(J)=LINIT(J) - 20 CONTINUE - NLINK=NLINIT - ELSEIF(IOPTT.NE.0) THEN - DO 30 J=1, NLTRIG - LINK(J)=LTRIG(J) - 30 CONTINUE - NLINK=NLTRIG - ELSEIF(IOPTK.NE.0) THEN - DO 40 J=1, NLKINE - LINK(J)=LKINE(J) - 40 CONTINUE - NLINK=NLKINE - ENDIF - ELSE - NLINK=0 - DO 100 J=1, NMKEY - IF(CHOBJ.EQ.KNAMES(J)) THEN - IF(IOPTI.NE.0) THEN - DO 50 L=1, NLINIT - IF(LINIT(L).EQ.J) GOTO 80 - 50 CONTINUE - GOTO 90 - ELSEIF(IOPTT.NE.0) THEN - DO 60 L=1, NLTRIG - IF(LTRIG(L).EQ.J) GOTO 80 - 60 CONTINUE - GOTO 90 - ELSEIF(IOPTK.NE.0) THEN - DO 70 L=1, NLKINE - IF(LKINE(L).EQ.J) GOTO 80 - 70 CONTINUE - GOTO 90 - ENDIF - 80 NLINK=1 - LINK(1)=J - GOTO 110 -* - 90 WRITE(CHMAIL,10000) CHOBJ, CHOPT - CALL GMAIL(0,0) - GOTO 999 -* - ENDIF - 100 CONTINUE - ENDIF -* - 110 IF(NLINK.EQ.0) THEN - WRITE(CHMAIL,10100) CHOBJ - CALL GMAIL(0,0) - GOTO 999 - ENDIF -* - DO 120 J=1, NLINK - IVERSI(J)=0 - IRESUL(J)=0 - 120 CONTINUE -* - IKEY=0 - 130 CONTINUE - IKEY=IKEY+1 - CALL RZINK(IKEY,9999,'S') - IF(IQUEST(1).NE.0) THEN - IQUEST(1)=0 - GOTO 150 - ENDIF - CALL UHTOC(IQUEST(21),4,CKEY,4) - DO 140 I=1,NLINK - NKEY=ABS(LINK(I)) - IF(CKEY.EQ.KNAMES(NKEY))THEN - IF(IDVERS.NE.0.AND.IDVERS.NE.IQUEST(22)) THEN - LINK(I)=-ABS(LINK(I)) - GOTO 130 - ENDIF - KEYS(1)=IQUEST(21) - KEYS(2)=IQUEST(22) - IDIV=LDIV(IXD(NKEY)) - IF(NKEY.LE.20)THEN - IF(JNAMES(NKEY).NE.0)THEN - CALL MZDROP(IDIV,JNAMES(NKEY),'L') - JNAMES(NKEY)=0 - ENDIF - CALL RZIN(IDIV,JNAMES(NKEY),1,KEYS,9999,' ') - ELSE - NKL=NKEY-20 - IF(ISLINK(NKL).NE.0)THEN - CALL MZDROP(IDIV,ISLINK(NKL),'L') - ISLINK(NKL)=0 - ENDIF - CALL RZIN(IDIV,ISLINK(NKL),1,KEYS,9999,' ') - ENDIF - IF(IQUEST(1).EQ.0) THEN - IVERSI(I)=IQUEST(22) - IRESUL(I)=1 - ENDIF - ENDIF - 140 CONTINUE - GOTO 130 -* - 150 NIN=0 - DO 160 I=1,NLINK - IF(IRESUL(I).EQ.1) THEN - IF(IOPTQ.EQ.0) THEN - WRITE(CHMAIL,10200) KNAMES(LINK(I)), IVERSI(I) - CALL GMAIL(0,0) - ENDIF - NIN=NIN+1 - ELSEIF(LINK(I).GT.0) THEN - IF(IOPTQ.EQ.0) THEN - WRITE(CHMAIL,10300) KNAMES(LINK(I)) - CALL GMAIL(0,0) - ENDIF - ELSEIF(LINK(I).LT.0) THEN - IF(IOPTQ.EQ.0) THEN - WRITE(CHMAIL,10400) KNAMES(-LINK(I)), IDVERS - CALL GMAIL(0,0) - ENDIF - ENDIF - 160 CONTINUE -* - IF(NIN.EQ.0) THEN - WRITE(CHMAIL,10500) - CALL GMAIL(0,0) - GOTO 999 - ENDIF -* - IF(KVOL.NE.JVOLUM)THEN - NVOLUM=IQ(JVOLUM-1) - CALL MZGARB(IXCONS,0) - CALL GGDVLP - CALL GGNLEV - ENDIF -* - IF(JVOLUM.GT.0) THEN - NLEVEL=0 - NVOLUM=0 - DO 170 J=1, IQ(JVOLUM-2) - IF(LQ(JVOLUM-J).EQ.0) GOTO 180 - NVOLUM=NVOLUM+1 - 170 CONTINUE - 180 CONTINUE - ENDIF -* - IF(JTMED.NE.0 )THEN - CALL UCOPY(Q(JTMED+1),CUTGAM,10) - NTMED=IQ(JTMED-2) - ENDIF -* - IF(JPART.NE.0 ) NPART = IQ(JPART-2) - IF(JVERTX.NE.0) NVERTX = IQ(JVERTX-2) - IF(JMATE.NE.0 ) NMATE = IQ(JMATE-2) - IF(JROTM.NE.0 ) NROTM = IQ(JROTM-2) - IF(JDRAW.GT.0 ) THEN - NKVIEW = IQ(JDRAW-2) - ELSE - NKVIEW = 0 -C -C Book JDRAW structure for view banks -C - CALL MZBOOK(IXCONS,JDRAW,JDRAW,1,'DRAW',0,0,0,3,0) - ENDIF - -C - IF(JHEAD.GT.0)THEN - IDRUN=IQ(JHEAD+1) - IDEVT=IQ(JHEAD+2) - ENDIF - IF(JRUNG.GT.0) THEN -* -* Here we deal with version numbers If JRUNG has been read in, -* then save the version numbers of the new JRUNG and restore -* the current version number for KINE, HITS and DIGI - DO 210 J=1, NLINK - IF(IRESUL(J).EQ.1) THEN - NKEY = ABS(LINK(J)) - IF(KNAMES(NKEY).EQ.'RUNG') THEN - DO 190 I=1,8 - IDNEW(I) = IQ(JRUNG+10+I) - VERNEW(I) = Q(JRUNG+20+I) - 190 CONTINUE -* -* And we put back the old version numbers because, -* in principle, KINE, HITS and DIGI have not be read in - DO 200 I=3,8 - IQ(JRUNG+10+I) = IDOLD(I) - Q(JRUNG+20+I) = VEROLD(I) - 200 CONTINUE - ENDIF - ENDIF - 210 CONTINUE -* -* And here we do it again for KINE, HITS and DIGI - DO 220 J=1, NLINK - IF(IRESUL(J).EQ.1) THEN - NKEY = ABS(LINK(J)) - IF(KNAMES(NKEY).EQ.'KINE') THEN - IF(IDNEW(3).GT.0) THEN - IQ(JRUNG+13) = IDNEW(3) - IQ(JRUNG+14) = IDNEW(4) - Q(JRUNG+23) = VERNEW(3) - Q(JRUNG+24) = VERNEW(4) - ENDIF - ELSEIF(KNAMES(NKEY).EQ.'HITS') THEN - IF(IDNEW(5).GT.0) THEN - IQ(JRUNG+15) = IDNEW(5) - IQ(JRUNG+16) = IDNEW(6) - Q(JRUNG+25) = VERNEW(5) - Q(JRUNG+26) = VERNEW(6) - ENDIF - ELSEIF(KNAMES(NKEY).EQ.'DIGI') THEN - IF(IDNEW(7).GT.0) THEN - IQ(JRUNG+17) = IDNEW(7) - IQ(JRUNG+18) = IDNEW(8) - Q(JRUNG+27) = VERNEW(7) - Q(JRUNG+28) = VERNEW(8) - ENDIF - ELSEIF(KNAMES(NKEY).EQ.'MATE'.OR. - + KNAMES(NKEY).EQ.'TMED') THEN - IF(VERNEW(1).NE.0) THEN -* We know which version number we are reading - IF(VERNEW(1).LT.GVERSN) THEN - WRITE(CHMAIL,10600) - + KNAMES(NKEY),VERNEW(1),GVERSN - CALL GMAIL(0,0) - WRITE(CHMAIL,10700) - CALL GMAIL(0,0) - ENDIF - ENDIF - ENDIF - ENDIF - 220 CONTINUE - ENDIF -* -10000 FORMAT(' *** GRIN *** Data structure ',A4,' not read in ', - + 'phase ',A) -10100 FORMAT(' *** GRIN *** Unknown key ',A4) -10200 FORMAT(' *** GRIN *** Data structure ',A4,' version ',I10, - + ' successfully read in ') -10300 FORMAT(' *** GRIN *** Data structure ',A4,' was not found') -10400 FORMAT(' *** GRIN *** Data structure ',A4,' version ',I10, - + ' was not found') -10500 FORMAT(' *** GRIN *** Nothing found to read !') -10600 FORMAT(' *** GRIN *** ',A4,' data structure ', - + 'version ',F6.4,' current version is ',F6.4) -10700 FORMAT(' Please call subroutine GPHYSI before ', - + 'tracking') - 999 END diff --git a/StarVMC/geant3/giopa/grleas.F b/StarVMC/geant3/giopa/grleas.F deleted file mode 100644 index 2641f4da88b..00000000000 --- a/StarVMC/geant3/giopa/grleas.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: grleas.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: grleas.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE GRLEAS(JBANK) -C. -C. ****************************************************************** -C. * * -C. * Release unused space in data structure pointed by JBANK. * -C. * JBANK can be either JHITS or JDIGI * -C. * * -C. * ==>Called by : GSAVE * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -C. -C. ------------------------------------------------------------------ -C. - IF(JBANK.LE.0)GO TO 99 - NS=IQ(JBANK-2) - IF(NS.LE.0)GO TO 99 - DO 20 IS=1,NS - JB=LQ(JBANK-IS) - IF(JB.GT.0)THEN - ND=IQ(JB-1) - IF(ND.GT.0)THEN - DO 10 ID=1,ND - JBD=LQ(JB-ID) - IF(JBD.GT.0)THEN - NPUSH=IQ(JBD-1)-IQ(JB+ID) - IF(NPUSH.GT.0)CALL MZPUSH(IXDIV,JBD,0,-NPUSH,'I') - ENDIF - 10 CONTINUE - ENDIF - ENDIF - 20 CONTINUE -C - 99 RETURN - END diff --git a/StarVMC/geant3/giopa/grmdir.F b/StarVMC/geant3/giopa/grmdir.F deleted file mode 100644 index 44e76e2cf30..00000000000 --- a/StarVMC/geant3/giopa/grmdir.F +++ /dev/null @@ -1,61 +0,0 @@ -* -* $Id: grmdir.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: grmdir.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE GRMDIR(CHDIR,CHOPT) -C. -C. ****************************************************************** -C. * * -C. * Routine to create a "standard" GEANT subdirectory * -C. * * -C. * CHDIR Subdirectory name * -C. * * -C. * CHOPT is a character string which may be * -C. * ' ' To create a subdirectory * -C. * 'S' To create a subdirectory and set the new * -C. * Current Directory to this directory. * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. - CHARACTER*(*) CHDIR,CHOPT - CHARACTER*8 CHTAGS(2) - DATA CHTAGS/'Object','Version'/ -C. -C. ------------------------------------------------------------------ -C. - CALL UOPTC(CHOPT,'S',IOPTS) -* - CALL RZMDIR(CHDIR,2,'HI',CHTAGS) - IF(IOPTS.NE.0)THEN - CALL RZCDIR(CHDIR,' ') - ENDIF -* - END diff --git a/StarVMC/geant3/giopa/grout.F b/StarVMC/geant3/giopa/grout.F deleted file mode 100644 index f89f14d5773..00000000000 --- a/StarVMC/geant3/giopa/grout.F +++ /dev/null @@ -1,255 +0,0 @@ -* -* $Id: grout.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: grout.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*FCA : 05/01/99 12:33:28 by Federico Carminati -* Modified output options so that the complete linear -* structure is output -*-- Author : - SUBROUTINE GROUT(CHOBJT,IDVERS,CHOPT) -C. -C. ****************************************************************** -C. * * -C. * Routine to write GEANT object(s) in the RZ file * -C. * at the Current Working Directory (See RZCDIR) * -C. * Input is taken from the data structures in memory * -C. * (VOLU,ROTM,TMED,MATE,SETS,PART,SCAN) * -C. * * -C. * CHOBJ The type of object to be written: * -C. * MATE write JMATE structure * -C. * TMED write JTMED structure * -C. * VOLU write JVOLUM structure * -C. * ROTM write JROTM structure * -C. * SETS write JSET structure * -C. * PART write JPART structure * -C. * SCAN write LSCAN structure * -C. * INIT write all initialisation structures * -C. * * -C. * IDVERS is a positive integer which specifies the version * -C. * number of the object(s). * -C. * * -C. * CHOPT List of options (none for the time being) * -C. * * -C. * Note that if the cross-sections and energy loss tables * -C. * are available in the data structure JMATE, then they are * -C. * saved on the data base. * -C. * * -C. * * -C. * The data structures saved by this routine can be retrieved * -C. * with the routine GRIN. * -C. * * -C. * Before calling this routine a RZ data base must have been * -C. * created using GRFILE. * -C. * The data base must be closed with RZEND. * -C. * * -C. * The RZ data base can be transported between different * -C. * machines in using the ZEBRA RZ utility RZTOFZ. * -C. * * -C. * The interactive version of GEANT provides facilities * -C. * to interactively update, create and display objects. * -C. * * -C. * Example. * -C. * * -C. * CALL GRFILE(1,'Geometry.dat','N') * -C. * CALL GROUT('VOLU',1,' ') * -C. * CALL GROUT('MATE',1,' ') * -C. * CALL GROUT('TMED',1,' ') * -C. * CALL GROUT('ROTM',1,' ') * -C. * CALL GROUT('PART',1,' ') * -C. * CALL GROUT('SCAN',1,' ') * -C. * CALL GROUT('SETS',1,' ') * -C. * * -C. * The same result can be achieved by: * -C. * CALL GRFILE(1,'Geometry.dat','NO') * -C. * * -C. * ==>Called by : ,GRFILE * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcunit.inc" -* COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART -* + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX -* + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT - COMMON/QUEST/IQUEST(100) - PARAMETER (NLINIT=9,NLKINE=2,NLTRIG=6,NMKEY=22) - DIMENSION JNAMES(20),KEYS(2) - DIMENSION LINIT(NLINIT),LKINE(NLKINE),LTRIG(NLTRIG),IXD(NMKEY) - DIMENSION LINK(NMKEY),LDIV(2) - EQUIVALENCE (JNAMES(1),JDIGI) - CHARACTER*4 CHOBJ,NAMES(NMKEY) - CHARACTER*(*) CHOPT,CHOBJT - DATA NAMES/'DIGI','DRAW','HEAD','HITS','KINE','MATE','PART', - + 'ROTM','RUNG','SETS','STAK','STAT','TMED','NULL','VERT', - + 'VOLU','JXYZ','NULL','NULL','NULL','SCAN','NULL'/ - DATA IXD/2,1,2,2,2,8*1,2,2,1,2,3*0,1,0/ - DATA LINIT/2,6,7,8,9,10,13,16,21/ - DATA LKINE/5,15/ - DATA LTRIG/1,3,4,5,15,17/ -C. -C. ------------------------------------------------------------------ -C. - IQUEST(1)=0 - LDIV(1) =IXCONS - LDIV(2) =IXDIV - CHOBJ=CHOBJT -* - IOPTI=INDEX(CHOPT,'i')+INDEX(CHOPT,'I') - IOPTT=INDEX(CHOPT,'t')+INDEX(CHOPT,'T') - IOPTK=INDEX(CHOPT,'k')+INDEX(CHOPT,'K') - IOPTQ=INDEX(CHOPT,'q')+INDEX(CHOPT,'Q') -* - IF(CHOBJ.EQ.'INIT') THEN - CHOBJ='*' - IOPTI=1 - IOPTT=0 - IOPTK=0 - ELSEIF(CHOBJ.EQ.'TRIG') THEN - CHOBJ='*' - IOPTI=0 - IOPTT=1 - IOPTK=0 - ELSEIF(CHOBJ.EQ.'KINE') THEN - CHOBJ='*' - IOPTI=0 - IOPTT=0 - IOPTK=1 - ENDIF -* - IF(CHOBJ.EQ.'*') THEN - IF(IOPTI.NE.0) THEN - DO 10 J=1, NLINIT - LINK(J)=LINIT(J) - 10 CONTINUE - NLINK=NLINIT - ELSEIF(IOPTT.NE.0) THEN - DO 20 J=1, NLTRIG - LINK(J)=LTRIG(J) - 20 CONTINUE - NLINK=NLTRIG - ELSEIF(IOPTK.NE.0) THEN - DO 30 J=1, NLKINE - LINK(J)=LKINE(J) - 30 CONTINUE - NLINK=NLKINE - ENDIF - ELSE - NLINK=0 - DO 90 J=1, NMKEY - IF(CHOBJ.EQ.NAMES(J)) THEN - IF(IOPTI.NE.0) THEN - DO 40 L=1, NLINIT - IF(LINIT(L).EQ.J) GOTO 70 - 40 CONTINUE - GOTO 80 - ELSEIF(IOPTT.NE.0) THEN - DO 50 L=1, NLTRIG - IF(LTRIG(L).EQ.J) GOTO 70 - 50 CONTINUE - GOTO 80 - ELSEIF(IOPTK.NE.0) THEN - DO 60 L=1, NLKINE - IF(LKINE(L).EQ.J) GOTO 70 - 60 CONTINUE - GOTO 80 - ENDIF - 70 NLINK=1 - LINK(1)=J - GOTO 100 -* - 80 WRITE(CHMAIL,10000) CHOBJ, CHOPT - CALL GMAIL(0,0) - GOTO 999 -* - ENDIF - 90 CONTINUE - ENDIF -* - 100 IF(NLINK.EQ.0) THEN - WRITE(CHMAIL,10100) CHOBJ - CALL GMAIL(0,0) - GOTO 999 - ENDIF -* - NOUT=0 - DO 110 I=1,NLINK - NKEY=LINK(I) - CALL UCTOH(NAMES(NKEY),KEYS,4,4) - KEYS(2)=IDVERS - IDIV=LDIV(IXD(NKEY)) - IF(NKEY.LE.20)THEN - IF(JNAMES(NKEY).GT.0) THEN - CALL RZOUT(IDIV,JNAMES(NKEY),KEYS,ICYCLE,'L') - LINK(I)=-LINK(I) - ENDIF - ELSE - IF(ISLINK(NKEY-20).GT.0) THEN - CALL RZOUT(IDIV,ISLINK(NKEY-20),KEYS,ICYCLE,'L') - LINK(I)=-LINK(I) - ENDIF - ENDIF - IF(LINK(I).GT.0) THEN - IF(IOPTQ.EQ.0) THEN - WRITE(CHMAIL,10200) NAMES(LINK(I)) - CALL GMAIL(0,0) - ENDIF - GOTO 110 - ELSEIF(LINK(I).LT.0) THEN - IF(IQUEST(1).EQ.0) THEN - IF(IOPTQ.EQ.0) THEN - WRITE(CHMAIL,10300) NAMES(-LINK(I)), IDVERS - CALL GMAIL(0,0) - ENDIF - NOUT=NOUT+1 - ELSE - WRITE(CHMAIL,10400) NAMES(-LINK(I)) - CALL GMAIL(0,0) - ENDIF - ENDIF - 110 CONTINUE -* - IF(NOUT.EQ.0) THEN - WRITE(CHMAIL,10500) - CALL GMAIL(0,0) - ENDIF -* -10000 FORMAT(' *** GROUT *** Data structure ',A4,' not written ', - + 'in phase ',A) -10100 FORMAT(' *** GROUT *** Unknown key ',A4) -10200 FORMAT(' *** GROUT *** Data structure ',A4,' was not found') -10300 FORMAT(' *** GROUT *** Data structure ',A4,' version ',I10, - + ' saved to disk') -10400 FORMAT(' *** GROUT *** Error in writing data structure ', - + A4,' to disk') -10500 FORMAT(' *** GROUT *** Nothing written to disk !') - 999 END diff --git a/StarVMC/geant3/giopa/grout.F.ori b/StarVMC/geant3/giopa/grout.F.ori deleted file mode 100644 index 1f71fc24aa8..00000000000 --- a/StarVMC/geant3/giopa/grout.F.ori +++ /dev/null @@ -1,252 +0,0 @@ -* -* $Id: grout.F.ori,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: grout.F.ori,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE GROUT(CHOBJT,IDVERS,CHOPT) -C. -C. ****************************************************************** -C. * * -C. * Routine to write GEANT object(s) in the RZ file * -C. * at the Current Working Directory (See RZCDIR) * -C. * Input is taken from the data structures in memory * -C. * (VOLU,ROTM,TMED,MATE,SETS,PART,SCAN) * -C. * * -C. * CHOBJ The type of object to be written: * -C. * MATE write JMATE structure * -C. * TMED write JTMED structure * -C. * VOLU write JVOLUM structure * -C. * ROTM write JROTM structure * -C. * SETS write JSET structure * -C. * PART write JPART structure * -C. * SCAN write LSCAN structure * -C. * INIT write all initialisation structures * -C. * * -C. * IDVERS is a positive integer which specifies the version * -C. * number of the object(s). * -C. * * -C. * CHOPT List of options (none for the time being) * -C. * * -C. * Note that if the cross-sections and energy loss tables * -C. * are available in the data structure JMATE, then they are * -C. * saved on the data base. * -C. * * -C. * * -C. * The data structures saved by this routine can be retrieved * -C. * with the routine GRIN. * -C. * * -C. * Before calling this routine a RZ data base must have been * -C. * created using GRFILE. * -C. * The data base must be closed with RZEND. * -C. * * -C. * The RZ data base can be transported between different * -C. * machines in using the ZEBRA RZ utility RZTOFZ. * -C. * * -C. * The interactive version of GEANT provides facilities * -C. * to interactively update, create and display objects. * -C. * * -C. * Example. * -C. * * -C. * CALL GRFILE(1,'Geometry.dat','N') * -C. * CALL GROUT('VOLU',1,' ') * -C. * CALL GROUT('MATE',1,' ') * -C. * CALL GROUT('TMED',1,' ') * -C. * CALL GROUT('ROTM',1,' ') * -C. * CALL GROUT('PART',1,' ') * -C. * CALL GROUT('SCAN',1,' ') * -C. * CALL GROUT('SETS',1,' ') * -C. * * -C. * The same result can be achieved by: * -C. * CALL GRFILE(1,'Geometry.dat','NO') * -C. * * -C. * ==>Called by : ,GRFILE * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcunit.inc" -* COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART -* + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX -* + ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT - COMMON/QUEST/IQUEST(100) - PARAMETER (NLINIT=9,NLKINE=2,NLTRIG=6,NMKEY=22) - DIMENSION JNAMES(20),KEYS(2) - DIMENSION LINIT(NLINIT),LKINE(NLKINE),LTRIG(NLTRIG),IXD(NMKEY) - DIMENSION LINK(NMKEY),LDIV(2) - EQUIVALENCE (JNAMES(1),JDIGI) - CHARACTER*4 CHOBJ,NAMES(NMKEY) - CHARACTER*(*) CHOPT,CHOBJT - DATA NAMES/'DIGI','DRAW','HEAD','HITS','KINE','MATE','PART', - + 'ROTM','RUNG','SETS','STAK','STAT','TMED','NULL','VERT', - + 'VOLU','JXYZ','NULL','NULL','NULL','SCAN','NULL'/ - DATA IXD/2,1,2,2,2,8*1,2,2,1,2,3*0,1,0/ - DATA LINIT/2,6,7,8,9,10,13,16,21/ - DATA LKINE/5,15/ - DATA LTRIG/1,3,4,5,15,17/ -C. -C. ------------------------------------------------------------------ -C. - IQUEST(1)=0 - LDIV(1) =IXCONS - LDIV(2) =IXDIV - CHOBJ=CHOBJT -* - IOPTI=INDEX(CHOPT,'i')+INDEX(CHOPT,'I') - IOPTT=INDEX(CHOPT,'t')+INDEX(CHOPT,'T') - IOPTK=INDEX(CHOPT,'k')+INDEX(CHOPT,'K') - IOPTQ=INDEX(CHOPT,'q')+INDEX(CHOPT,'Q') -* - IF(CHOBJ.EQ.'INIT') THEN - CHOBJ='*' - IOPTI=1 - IOPTT=0 - IOPTK=0 - ELSEIF(CHOBJ.EQ.'TRIG') THEN - CHOBJ='*' - IOPTI=0 - IOPTT=1 - IOPTK=0 - ELSEIF(CHOBJ.EQ.'KINE') THEN - CHOBJ='*' - IOPTI=0 - IOPTT=0 - IOPTK=1 - ENDIF -* - IF(CHOBJ.EQ.'*') THEN - IF(IOPTI.NE.0) THEN - DO 10 J=1, NLINIT - LINK(J)=LINIT(J) - 10 CONTINUE - NLINK=NLINIT - ELSEIF(IOPTT.NE.0) THEN - DO 20 J=1, NLTRIG - LINK(J)=LTRIG(J) - 20 CONTINUE - NLINK=NLTRIG - ELSEIF(IOPTK.NE.0) THEN - DO 30 J=1, NLKINE - LINK(J)=LKINE(J) - 30 CONTINUE - NLINK=NLKINE - ENDIF - ELSE - NLINK=0 - DO 90 J=1, NMKEY - IF(CHOBJ.EQ.NAMES(J)) THEN - IF(IOPTI.NE.0) THEN - DO 40 L=1, NLINIT - IF(LINIT(L).EQ.J) GOTO 70 - 40 CONTINUE - GOTO 80 - ELSEIF(IOPTT.NE.0) THEN - DO 50 L=1, NLTRIG - IF(LTRIG(L).EQ.J) GOTO 70 - 50 CONTINUE - GOTO 80 - ELSEIF(IOPTK.NE.0) THEN - DO 60 L=1, NLKINE - IF(LKINE(L).EQ.J) GOTO 70 - 60 CONTINUE - GOTO 80 - ENDIF - 70 NLINK=1 - LINK(1)=J - GOTO 100 -* - 80 WRITE(CHMAIL,10000) CHOBJ, CHOPT - CALL GMAIL(0,0) - GOTO 999 -* - ENDIF - 90 CONTINUE - ENDIF -* - 100 IF(NLINK.EQ.0) THEN - WRITE(CHMAIL,10100) CHOBJ - CALL GMAIL(0,0) - GOTO 999 - ENDIF -* - NOUT=0 - DO 110 I=1,NLINK - NKEY=LINK(I) - CALL UCTOH(NAMES(NKEY),KEYS,4,4) - KEYS(2)=IDVERS - IDIV=LDIV(IXD(NKEY)) - IF(NKEY.LE.20)THEN - IF(JNAMES(NKEY).GT.0) THEN - CALL RZOUT(IDIV,JNAMES(NKEY),KEYS,ICYCLE,' ') - LINK(I)=-LINK(I) - ENDIF - ELSE - IF(ISLINK(NKEY-20).GT.0) THEN - CALL RZOUT(IDIV,ISLINK(NKEY-20),KEYS,ICYCLE,' ') - LINK(I)=-LINK(I) - ENDIF - ENDIF - IF(LINK(I).GT.0) THEN - IF(IOPTQ.EQ.0) THEN - WRITE(CHMAIL,10200) NAMES(LINK(I)) - CALL GMAIL(0,0) - ENDIF - GOTO 110 - ELSEIF(LINK(I).LT.0) THEN - IF(IQUEST(1).EQ.0) THEN - IF(IOPTQ.EQ.0) THEN - WRITE(CHMAIL,10300) NAMES(-LINK(I)), IDVERS - CALL GMAIL(0,0) - ENDIF - NOUT=NOUT+1 - ELSE - WRITE(CHMAIL,10400) NAMES(-LINK(I)) - CALL GMAIL(0,0) - ENDIF - ENDIF - 110 CONTINUE -* - IF(NOUT.EQ.0) THEN - WRITE(CHMAIL,10500) - CALL GMAIL(0,0) - ENDIF -* -10000 FORMAT(' *** GROUT *** Data structure ',A4,' not written ', - + 'in phase ',A) -10100 FORMAT(' *** GROUT *** Unknown key ',A4) -10200 FORMAT(' *** GROUT *** Data structure ',A4,' was not found') -10300 FORMAT(' *** GROUT *** Data structure ',A4,' version ',I10, - + ' saved to disk') -10400 FORMAT(' *** GROUT *** Error in writing data structure ', - + A4,' to disk') -10500 FORMAT(' *** GROUT *** Nothing written to disk !') - 999 END diff --git a/StarVMC/geant3/giopa/grsave.F b/StarVMC/geant3/giopa/grsave.F deleted file mode 100644 index 1b52d154773..00000000000 --- a/StarVMC/geant3/giopa/grsave.F +++ /dev/null @@ -1,114 +0,0 @@ -* -* $Id: grsave.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: grsave.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:27 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE GRSAVE(KEYSU,ID1,ID2,ID3,ICYCLE) -C. -C. ****************************************************************** -C. * * -C. * Routine to write out data structures on a RZ file * -C. * * -C. * KEYSU Keyword to select data structure(s) * -C. * ID1 First RZ KEY identifier (ex IDRUN) * -C. * ID2 Second RZ KEY identifier (ex IDEVT) * -C. * ID3 Third RZ KEY identifier (user free) * -C. * ICYCLE Cycle number (output) * -C. * * -C. * ==>Called by : , UGINIT,GUOUT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - CHARACTER*4 KLEY(19) - CHARACTER*4 KEYSU(1) - DIMENSION KEYRZ(4) - DIMENSION LINIT(8),LKINE(2),LTRIG(6) - DIMENSION LKEY(19),LINK(10),JLINK(17) - EQUIVALENCE (JLINK(1),JDIGI) - EQUIVALENCE (LKEY(18),KINIT),(LKEY(19),KTRIG),(LKEY(5),KKINE) - SAVE IFIRST,LKEY -C - DATA KLEY/'DIGI','DRAW','HEAD','HITS','KINE','MATE','PART','ROTM' - + ,'RUNG','SETS','STAK','STAT','TMED','TRAC','VERT','VOLU' - + ,'JXYZ','INIT','TRIG'/ - DATA LINIT/2,6,7,8,9,10,13,16/ - DATA LKINE/5,15/ - DATA LTRIG/1,3,4,5,15,17/ - DATA NLINIT/8/ - DATA NLKINE/2/ - DATA NLTRIG/6/ - DATA IFIRST/0/ -C. -C. ------------------------------------------------------------------ -C. - IF(IFIRST.EQ.0)THEN - IFIRST=1 - CALL UCTOH(KLEY,LKEY,4,76) - ENDIF -* - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) -10000 FORMAT(' *** GRSAVE *** Obsolete routine. Please use GROUT') -C - CALL UCTOH(KEYSU,KEY,4,4) -C - IF(KEY.EQ.KINIT)THEN - CALL UCOPY(LINIT,LINK,NLINIT) - NLINK=NLINIT - ELSEIF(KEY.EQ.KKINE)THEN - CALL UCOPY(LKINE,LINK,NLKINE) - NLINK=NLKINE - ELSEIF(KEY.EQ.KTRIG)THEN - CALL UCOPY(LTRIG,LINK,NLTRIG) - NLINK=NLTRIG - ELSE - IL=IUCOMP(KEY,LKEY,17) - IF(IL.EQ.0)GO TO 99 - LINK(1)=IL - NLINK=1 - ENDIF -C -C Write data structure(s) -C - KEYRZ(2)=ID1 - KEYRZ(3)=ID2 - KEYRZ(4)=ID3 -C - DO 10 I=1,NLINK - IL=LINK(I) - IF(JLINK(IL).EQ.0)GO TO 10 - KEYRZ(1)=LKEY(IL) - IF(IL.EQ.4)CALL GRLEAS(JHITS) - IF(IL.EQ.1)CALL GRLEAS(JDIGI) - CALL RZOUT(IXSTOR,JLINK(IL),KEYRZ,ICYCLE,'L') - 10 CONTINUE -C - 99 RETURN - END diff --git a/StarVMC/geant3/giopa/gsave.F b/StarVMC/geant3/giopa/gsave.F deleted file mode 100644 index 911533d7bbe..00000000000 --- a/StarVMC/geant3/giopa/gsave.F +++ /dev/null @@ -1,149 +0,0 @@ -* -* $Id: gsave.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gsave.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:17 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE GSAVE(LUN,KEYSU,NUKEYS,IDENT,IER) -C. -C. ****************************************************************** -C. * * -C. * Routine to write out data structures * -C. * * -C. * LUN Logical unit number * -C. * KEYSU Keywords to select data structures * -C. * NKEYS Number of keywords * -C. * IER Error flag * -C. * * -C. * ==>Called by : , UGINIT,GUOUT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" - CHARACTER*4 KLEY(22) - CHARACTER*4 KEYSU(1) - DIMENSION KEYS(22),IUHEAD(2) - DIMENSION KSEL(14),LKEY(22),LKNUM(22),LINK(14),JLINK(17) - EQUIVALENCE (JLINK(1),JDIGI) - COMMON/QUEST/IQUEST(100) - SAVE IFIRST,LKEY -C - DATA LINK/7,6,13,16,8,10,2,9,3,15,5,17,4,1/ - DATA KLEY/'PART','MATE','TMED','VOLU','ROTM','SETS','DRAW','RUNG' - + ,'INIT','INIT','INIT','INIT','INIT','INIT','INIT','INIT' - + ,'HEAD','KINE','KINE','JXYZ','HITS','DIGI'/ - DATA LKNUM/1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,9,10,11,12,13,14/ - DATA IFIRST/0/ -C. -C. ------------------------------------------------------------------ -C. - IF(IFIRST.EQ.0)THEN - IFIRST=1 - CALL UCTOH(KLEY,LKEY,4,88) - ENDIF -* - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) -10000 FORMAT(' *** GSAVE *** Obsolete routine. Please use GFOUT') -C - IER = 0 - NKEYS=IABS(NUKEYS) - IF (NKEYS.LE.0) GO TO 99 - CALL UCTOH(KEYSU,KEYS,4,4*NKEYS) -C - IF(NUKEYS.LT.0)THEN - I1=1 - I2=15 - K1=1 - K2=7 - ELSE - I1=18 - I2=22 - K1=10 - K2=14 - ENDIF -C - DO 10 K=K1,K2 - 10 KSEL(K)=0 - NK=0 - DO 25 I=I1,I2 - N=LKNUM(I) - DO 20 IK=1,NKEYS - IF(KEYS(IK).EQ.LKEY(I))THEN - IL=LINK(N) - IF(JLINK(IL).NE.0)THEN - KSEL(N)=1 - NK=NK+1 - ENDIF - ENDIF - 20 CONTINUE - 25 CONTINUE -C - IUHEAD(1)=IDENT - IUHEAD(2)=NK - IF(NUKEYS.LT.0)THEN -C -C======> Write RUN header and constants -C - CALL FZOUT(LUN,IXCONS,JRUNG,1,'L',2,2,IUHEAD) - IF(IQUEST(1).NE.0)GO TO 90 - DO 30 I=1,7 - IF(KSEL(I).NE.0)THEN - IL=LINK(I) - CALL FZOUT(LUN,IXCONS,JLINK(IL),0,'L',2,1,I) - IF(IQUEST(1).NE.0)GO TO 90 - ENDIF - 30 CONTINUE -C - ELSE -C -C======> Write event header and data structures -C Released unused space in JHITS and JDIGI -C - IF(KSEL(13).NE.0)CALL GRLEAS(JHITS) - IF(KSEL(14).NE.0)CALL GRLEAS(JDIGI) -C - CALL FZOUT(LUN,IXDIV,JHEAD,1,' ',2,2,IUHEAD) - IF(IQUEST(1).NE.0)GO TO 90 - DO 40 I=10,14 - IF(KSEL(I).NE.0)THEN - IL=LINK(I) - CALL FZOUT(LUN,IXDIV ,JLINK(IL),0,'L',2,1,I) - IF(IQUEST(1).NE.0)GO TO 90 - ENDIF - 40 CONTINUE -C - ENDIF - GO TO 99 -C -C Error -C - 90 IER=IQUEST(1) -C - 99 RETURN - END diff --git a/StarVMC/geant3/gkine/gfkine.F b/StarVMC/geant3/gkine/gfkine.F deleted file mode 100644 index 031c7d0a6ed..00000000000 --- a/StarVMC/geant3/gkine/gfkine.F +++ /dev/null @@ -1,96 +0,0 @@ -* -* $Id: gfkine.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gfkine.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1998/02/10 16:04:18 japost -* Comments are correctly redistributed. -* -* Revision 1.1.1.1 1995/10/24 10:21:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3FKINE(ITRA,VERT,PVERT,IPART,NVERT,UBUF,NWBUF) -* -************************************************************************ -* * -* Retrieves Vertex and Track parameters * -* ------------------------------------- * -* * -* Retrieves parameters for a track with a long lifetime. * -* * -* Input: * -* ITRA track number for which parameters are requested * -* * -* Output: * -* VERT vector origin of the track * -* PVERT 4 momentum components at the track origin * -* IPART particle type (=0 if track ITRA does not exist) * -* NVERT vertex number origin of the track * -* UBUF user words stored in GSKINE. * -* * -* ==>Called by : , GTREVE * -* Author R.Brun ********* * -* * -************************************************************************ -* -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gctrak.inc" - DIMENSION VERT(3),PVERT(4),UBUF(*) -C. -C. ------------------------------------------------------------------ -C. - IPART = 0 - IF (JKINE.LE.0)GO TO 99 - IF (ITRA.LE.0)GO TO 99 - IF (ITRA.GT.NTRACK)GO TO 99 -C - JK = LQ(JKINE- ITRA) - IF (JK.LE.0)GO TO 99 - NV = Q(JK + 6) - IF (JVERTX.LE.0)GO TO 99 - JV = LQ(JVERTX- NV) - IF (JV.LE.0)GO TO 99 - DO 10 I=1,3 - 10 VERT(I) = Q(JV + I) -* TOFG=Q(JV+4) -C - DO 20 I=1,4 - 20 PVERT(I) = Q(JK + I) - IPART = Q(JK + 5) - NVERT = Q(JK + 6) - NLINK = IQ(JK-2) - NWBUF = 0 - IF (NLINK.LE.0)GO TO 99 - JKU = LQ(JK- 1) - IF (JKU.LE.0)GO TO 99 - NWBUF = IQ(JKU-1) - DO 30 I=1,NWBUF - 30 UBUF(I)=Q(JKU+I) -C - 99 RETURN - END diff --git a/StarVMC/geant3/gkine/gfvert.F b/StarVMC/geant3/gkine/gfvert.F deleted file mode 100644 index 6628ef7f8b2..00000000000 --- a/StarVMC/geant3/gkine/gfvert.F +++ /dev/null @@ -1,104 +0,0 @@ -* -* $Id: gfvert.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gfvert.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1998/02/10 16:04:20 japost -* Comments are correctly redistributed. -* -* Revision 1.1.1.1 1995/10/24 10:21:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3FVERT(NVTX,V,NTBEAM,NTTARG,TOFG,UBUF,NWBUF) -C. -C. ****************************************************************** -C. * * -C * Retrieves the parameter of a vertex bank * -C * Vertex is generated from tracks NTBEAM NTTARG * -C * NVTX is the new vertex number * -C. * * -C. * Input: * -C. * NVTX new vertex number (=0 in case of error). * -C. * * -C. * Output: * -C. * VERT array of (x,y,z) position of the vertex * -C. * NTBEAM beam track number origin of the vertex * -C. * =0 if none exists * -C. * NTTARG target track number origin of the vertex * -C. * TOFG time of flight when the vertex was created -C. * UBUF user array of NUBUF floating point numbers * -C. * NUBUF * -C. * * -C. * ==>Called by : * -C. * Authors F.Carminati ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcnum.inc" - DIMENSION V(3),UBUF(1) -C. -C. ------------------------------------------------------------------ -C. - IF (JVERTX.EQ.0.OR.NVERTX.LE.0)THEN - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) - GOTO 999 - ENDIF - IF(NVTX.GT.NVERTX) THEN - WRITE(CHMAIL,10100)NVERTX - CALL GMAIL(0,0) - GOTO 999 - ENDIF - JV=LQ(JVERTX-NVTX) - IF(JV.LE.0) THEN - WRITE(CHMAIL,10100)NVERTX - CALL GMAIL(0,0) - GOTO 999 - ENDIF - DO 10 I=1,3 - V(I) = Q(JV + I) - 10 CONTINUE - TOFG = Q(JV + 4) - NTBEAM = Q(JV + 5) - NTTARG = Q(JV + 6) -* - NWBUF=0 - IF(IQ(JV-2).GE.1) THEN - JUV=LQ(JV-1) - IF(JUV.GT.0) THEN - NWBUF=IQ(JUV-1) - DO 20 IBUF=1,NWBUF - UBUF(IBUF)=Q(JUV+IBUF) - 20 CONTINUE - ENDIF - ENDIF -* -10000 FORMAT(' **** GFVERT: No vertex stored in memory') -10100 FORMAT(' **** GFVERT: Vertex ',I10,' does not exist') - 999 END diff --git a/StarVMC/geant3/gkine/gkine.doc b/StarVMC/geant3/gkine/gkine.doc deleted file mode 100644 index 0cc71d4f820..00000000000 --- a/StarVMC/geant3/gkine/gkine.doc +++ /dev/null @@ -1,109 +0,0 @@ -* -* $Id: gkine.doc,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gkine.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_DOC) -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : -* -************************************************************************ -* ----------------------------------------------- * -* The Kinematics data structures JVERTX and JKINE * -* ----------------------------------------------- * -* * -* | JVERTX * -* NVERTX IVERT v * -* ............................................... * -* | | | | | NVERTX | * -* ............................................... * -* | * -* | JV * -* v * -* .......................... * -* | 1 | VX | * -* |...|....................| * -* | 2 | VY | * -* |...|....................| * -* | 3 | VZ | * -* |...|....................| * -* | 4 | TOF | * -* |...|....................| * -* | 5 | NTBEAM | * -* |...|....................| * -* | 6 | NTTARG | * -* |...|....................| * -* | 7 | no. of tracks | * -* |...|....................| * -* | 8 | List of tracks | * -* |...|....................| * -* | 9 | | * -* .......................... * -* * -* JV = LQ(JVERTX-IVERT) pointer to parameters of vertex * -* number IVERT * -* Q(JV+1) x coordinate of this vertex. * -* * -* The JVERTX banks are filled by the routine GSVERT. The Vertex * -* parameters are retrieved by the routine GFVERT. * -* * -* * -* | JKINE * -* NTRACK ITRA v * -* ............................................... * -* | | | | | NTRACK | * -* ............................................... * -* | * -* | JK * -* v * -* .......................... * -* | 1 | PX | * -* |...|....................| * -* | 2 | PY | * -* |...|....................| * -* | 3 | PZ | * -* |...|....................| * -* | 4 | Energy | * -* |...|....................| * -* | 5 | IPART | * -* |...|....................| * -* | 6 | Vertex origin | * -* |...|....................| * -* | 7 | no. of vertices | * -* |...|....................| * -* | 8 | List of vertices | * -* |...|....................| * -* | 9 | | * -* .......................... * -* * -* JK = LQ(JKINE-ITRA) pointer to parameters of track * -* number ITRA * -* Q(JK+1) x component of the momentum for this track. * -* * -* The JKINE banks are filled by the routine GSKINE. Track * -* parameters are obtained by GFKINE. * -* * -************************************************************************ -#endif diff --git a/StarVMC/geant3/gkine/gludky.F b/StarVMC/geant3/gkine/gludky.F deleted file mode 100644 index 18e9707bb4b..00000000000 --- a/StarVMC/geant3/gkine/gludky.F +++ /dev/null @@ -1,131 +0,0 @@ -* -* $Id: gludky.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gludky.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:28 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2005/04/13 14:46:16 brun -* From Peter Hristov -* Changes required to run on Solaris -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2000/09/07 12:17:07 morsch -* Change PYTHIA5 subroutine calls to PYTHIA6. -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 09/01/95 16.20.45 by S.Ravndal -*-- Author : - SUBROUTINE G3LUDKY -C. -C. ****************************************************************** -C. * * -C. * GEANT INTERFACE TO THE LUND MONTE-CARLO * -C. * FOR TAU DECAY GENERATION ONLY * -C. * * -C. * THIS INTERFACE TO LUND * -C. * A) INHIBITS DECAYS OF K0S,SIG+,SIG-,XI0,XI-,LAM,OM- * -C. * B) ACCEPTS STABLE PARTICLES ONLY * -C. * C) CONVERTS THE PARTICLE CODES TO GEANT CONVENTIONS * -C. * * -C. * THUS THE PARTICLES FORWARDED TO GEANT ARE * -C. * GAMMA,ELECTRON,NEUTRINO(E,MU,TAU),MU-,PI+,K+,K0S,K0L, * -C. * PROTON,NEUTRON,SIG(+,-),XI(0,-),LAM,OM- * -C. * .... AND THEIR ANTIPARTICLES * -C. * * -C. * That routine can be called from the user routine GUDCAY * -C. * * -C. * Author R.Hemingway 26 SEPT 1985 * -C. * * -C. ****************************************************************** -C. -C -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gctrak.inc" -#include "geant321/gconsp.inc" -#include "geant321/lujets.inc" -#include "geant321/ludat3.inc" - INTEGER PYCOMP - PARAMETER (NSEL=44) - DIMENSION IPLUND(NSEL) - DATA IPLUND/ - + 22, -11, 11, 12, -13, 13, 111, 211, - + -211, 130, 321, -321, 2112, 2212, -2212, 310, - + 221, 3122, 3222, 3212, 3112, 3322, 3312, 3334, - + -2112, -3122, -3112, -3212, -3222, -3322, -3312, -3334, - + -15, 15, 411, -411, 421, -421, 431, -431, - + 4122, 24, -24, 23/ -*. -*. ------------------------------------------------------------------ -*. - IF (IFINIT(6).EQ.0)THEN -* -*-- Set some particles to be stable in LUND so that GEANT can handle -*-- their tracking and decays. (K0s, sigma+-, xi0-, lambda0, omega-) -* - MDCY(PYCOMP(310) ,1)=0 - MDCY(PYCOMP(3222),1)=0 - MDCY(PYCOMP(3112),1)=0 - MDCY(PYCOMP(3322),1)=0 - MDCY(PYCOMP(3312),1)=0 - MDCY(PYCOMP(3122),1)=0 - MDCY(PYCOMP(3334),1)=0 - IFINIT(6) = 1 - ENDIF -C - IF(IPART.EQ.33.OR.IPART.EQ.34) THEN - N=0 - EDKY=GETOT - THDKY=ACOS(VECT(6)) - PHDKY=ATAN2(VECT(5),VECT(4)) -* -* for TAU+ TAU- -* could be extended to all charm particles -* - CALL PY1ENT(1,IPLUND(IPART),EDKY,THDKY,PHDKY) - CALL PYEXEC - NGKINE=0 - DO 20 I = 1,N - IF(K(I,1).GE.1.AND.K(I,1).LE.10) THEN - DO 10 IGE=1, NSEL - IF(IPLUND(IGE).EQ.K(I,2)) THEN - NGKINE=NGKINE+1 - GKIN(1,NGKINE)=P(I,1) - GKIN(2,NGKINE)=P(I,2) - GKIN(3,NGKINE)=P(I,3) - GKIN(4,NGKINE)=P(I,4) - GKIN(5,NGKINE)=IGE - GPOS(1,NGKINE)=V(I,1) - GPOS(2,NGKINE)=V(I,2) - GPOS(3,NGKINE)=V(I,3) - TOFD(NGKINE) =V(I,4)/(10.*CLIGHT) - ENDIF - 10 CONTINUE - ENDIF - 20 CONTINUE - ENDIF -* - END diff --git a/StarVMC/geant3/gkine/glund.F b/StarVMC/geant3/gkine/glund.F deleted file mode 100644 index 9a734757e84..00000000000 --- a/StarVMC/geant3/gkine/glund.F +++ /dev/null @@ -1,129 +0,0 @@ -* -* $Id: glund.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: glund.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:53 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2000/09/07 12:17:07 morsch -* Change PYTHIA5 subroutine calls to PYTHIA6. -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3LUND -C. -C. ****************************************************************** -C. * * -C. * GEANT INTERFACE TO THE LUND MONTE-CARLO * -C. * * -C. * FOR TECHNICAL DETAILS OF THE LUND MONTE CARLO,SEE * -C. * 1. THE LUND MONTE CARLO FOR JET FRAGMENTATION - T.SJOSTRAND * -C. * LU TP 82-3 and COMPUTER PHYSICS COMMUNICATION 27(1982)243 * -C. * 2. THE LUND MONTE CARLO FOR E+E- JET PHYSICS - T.SJOSTRAND * -C. * LU TP 82-7 and COMPUTER PHYSICS COMMUNICATION 28(1983)229 * -C. * * -C. * The parameters to use the LUND interface are set in GLUNDI * -C. * They can be changed by data cards (see G3LUNDI) * -C. * * -C. * ==>Called by : , GUKINE * -C. * Author R.Hemingway ********* * -C. * modified by R.Brun 18/11/85 ** * -C. * * -C. ****************************************************************** -C. - DIMENSION VERT(3) -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcpush.inc" -#include "geant321/lujets.inc" -#include "geant321/gclund.inc" - PARAMETER (NSEL=44) - DIMENSION IPLUND(NSEL) - REAL PGEANT(3),BUF(1) - EQUIVALENCE (BUF,K) - DATA IPLUND/ - + 22, -11, 11, 12, -13, 13, 111, 211, - + -211, 130, 321, -321, 2112, 2212, -2212, 310, - + 221, 3122, 3222, 3212, 3112, 3322, 3312, 3334, - + -2112, -3122, -3112, -3212, -3222, -3322, -3312, -3334, - + -15, 15, 411, -411, 421, -421, 431, -431, - + 4122, 24, -24, 23/ -*. -*. ------------------------------------------------------------------ -*. - IF (IFINIT(3).EQ.0) CALL G3LUNDI -* - CALL PYEEVT(IFLUND,ECLUND) -* - NCVERT = 10 - NCKINE = N+10 - NCJXYZ = NCKINE - NPVERT = 5 - NPKINE = 10 - NPJXYZ = 10 -* - VERT(1) = 0. - VERT(2) = 0. - VERT(3) = 0. - NWBUF=2+10*N - CALL G3SVERT(V,0,0,BUF,NWBUF,NVTX) - IF (NVTX.GT.0) THEN - DO 20 I = 1,N - IF(K(I,1).GE.1.AND.K(I,1).LE.10) THEN - DO 10 IGE=1, NSEL - IF(IPLUND(IGE).EQ.K(I,2)) THEN - PGEANT(1)=P(I,1) - PGEANT(2)=P(I,2) - PGEANT(3)=P(I,3) - CALL G3SKINE(PGEANT,IGE,NVTX,BUF,0,NT) - GOTO 20 - ENDIF - 10 CONTINUE - ENDIF - 20 CONTINUE -* - JV = LQ(JVERTX-1) - JUV = LQ(JV-1) - Q(JUV+1)= 527.0 - Q(JUV+2)= N -* -* Copy the LUND record into a bank of real variables. -* - DO 30 NP=1, N - Q(JUV+2 +NP) = K(NP,1) - Q(JUV+2+ N+NP) = K(NP,2) - Q(JUV+2+2*N+NP) = K(NP,3) - Q(JUV+2+3*N+NP) = K(NP,4) - Q(JUV+2+4*N+NP) = K(NP,5) - Q(JUV+2+5*N+NP) = P(NP,1) - Q(JUV+2+6*N+NP) = P(NP,2) - Q(JUV+2+7*N+NP) = P(NP,3) - Q(JUV+2+8*N+NP) = P(NP,4) - Q(JUV+2+9*N+NP) = P(NP,5) - 30 CONTINUE -* - ENDIF - END diff --git a/StarVMC/geant3/gkine/glundi.F b/StarVMC/geant3/gkine/glundi.F deleted file mode 100644 index a7c4b5710fb..00000000000 --- a/StarVMC/geant3/gkine/glundi.F +++ /dev/null @@ -1,110 +0,0 @@ -* -* $Id: glundi.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: glundi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2005/04/13 14:46:16 brun -* From Peter Hristov -* Changes required to run on Solaris -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2000/09/07 12:17:07 morsch -* Change PYTHIA5 subroutine calls to PYTHIA6. -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3LUNDI -C. -C. ****************************************************************** -C. * * -C. * GEANT INTERFACE TO THE LUND MONTE-CARLO * -C. * (Initialization routine) * -C. * * -C. * FOR TECHNICAL DETAILS OF THE LUND MONTE CARLO,SEE * -C. * 1. THE LUND MONTE CARLO FOR JET FRAGMENTATION - T.SJOSTRAND * -C. * LU TP 82-3 and COMPUTER PHYSICS COMMUNICATION 27(1982)243 * -C. * 2. THE LUND MONTE CARLO FOR E+E- JET PHYSICS - T.SJOSTRAND * -C. * LU TP 82-7 and COMPUTER PHYSICS COMMUNICATION 28(1983)229 * -C. * * -C. * THE PARTICLES FORWARDED TO GEANT ARE * -C. * GAMMA,ELECTRON,NEUTRINO(E,MU,TAU),MU-,PI+,K+,K0S,K0L, * -C. * PROTON,NEUTRON,SIG(+,-),XI(0,-),LAM,OM- * -C. * .... AND THEIR ANTIPARTICLES * -C. * * -C. * * -C. * THE USER MUST SUPPLY TWO PARAMETERS FOR EVENT GENERATION * -C. * VIA CALL LUEEVT(IFLUND,ECLUND) WHERE * -C. * IFLUND=THE FLAVOUR CODE (1=U,2=D,3=S,4=C,5=B,6=T,0=MIX) * -C. * ECLUND=THE TOTAL CMS ENERGY * -C. * * -C. * GLUNDI is automatically called by GLUND. * -C. * GLUNDI can be called by the user in the initialization * -C. * routine UGINIT just before reading data cards (GFFGO) * -C. * In this case the default parameters can be changed by * -C. * the data cards KTYP,PMAS,PWID,MSTE,LUND and IDB * -C. * * -C. * ==>Called by : , GUKINE * -C. * Author R.Hemingway , D.Ward ********* * -C. * modified by R.Brun 18/11/85 ****** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcflag.inc" -#include "geant321/ludat1.inc" -#include "geant321/ludat3.inc" -#include "geant321/gclund.inc" - INTEGER PYCOMP -C. -C. ------------------------------------------------------------------ -C. - IF (IFINIT(3).EQ.0)THEN -* -* Set defaults -* - IFINIT(3) = 1 - IFLUND = 0 - ECLUND = 92.25 -* -*-- Initial state radiative effects MSTJ(107) = 1 -* - MSTJ(107)= 1 -* -*-- Set some particles to be stable in LUND so that GEANT can handle -*-- their tracking and decays. (K0s, sigma+-, xi0-, lambda0, omega-) -* - MDCY(PYCOMP(310) ,1)=0 - MDCY(PYCOMP(3222),1)=0 - MDCY(PYCOMP(3112),1)=0 - MDCY(PYCOMP(3322),1)=0 - MDCY(PYCOMP(3312),1)=0 - MDCY(PYCOMP(3122),1)=0 - MDCY(PYCOMP(3334),1)=0 -* - CALL FFKEY('LUND',IFLUND,2,'MIXED') - ENDIF -C - END diff --git a/StarVMC/geant3/gkine/gpkine.F b/StarVMC/geant3/gkine/gpkine.F deleted file mode 100644 index b2d1ea1ff8a..00000000000 --- a/StarVMC/geant3/gkine/gpkine.F +++ /dev/null @@ -1,107 +0,0 @@ -* -* $Id: gpkine.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gpkine.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3PKINE(IT) -C. -C. ****************************************************************** -C. * * -C. * Prints kinematics bank JKINE for track number IT * -C. * If IT=0 Prints all kinematics banks * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -C. -C. ------------------------------------------------------------------ -C. - WRITE(CHMAIL,1000) - CALL GMAIL(1,0) -C - I1=1 - I2=NTRACK - IF(IT.NE.0)I1=IT - IF(IT.NE.0)I2=IT - IF(I2.GT.NTRACK)GO TO 99 - IF(I1.LT.1)GO TO 99 - IF(JKINE.LE.0)GO TO 99 -C - DO 20 ITRACK=I1,I2 - JK=LQ(JKINE-ITRACK) - IF(JK.NE.0)THEN - IPART=Q(JK+5) - JPA=LQ(JPART-IPART) - NL=IQ(JK-2) - NG=Q(JK+7)+7 - NW=MIN(NG,16) - WRITE(CHMAIL,2000)ITRACK,IQ(JPA+1),IQ(JPA+2),IQ(JPA+3),IPART - + ,(Q(JK+I),I=1,4),Q(JK+6),(INT(Q(JK+L)),L=8,NW) - 10 CALL GMAIL(0,0) - IF(NG-NW.GT.0) THEN - NS=NW+1 - NW=MIN(NG,NW+9) - WRITE(CHMAIL,3000) (INT(Q(JK+L)),L=NS,NW) - GO TO 10 - END IF - IF(NL.GT.0) THEN - JUK = LQ(JK-1) - IF (JUK.GT.0) THEN - WRITE(CHMAIL,4000) - CALL GMAIL(0,0) - ND = IQ(JUK-1) - NW=MIN(ND,9) - WRITE(CHMAIL,5000) (Q(JUK+L),L=1,NW) - 15 CALL GMAIL(0,0) - IF(ND-NW.GT.0) THEN - NS=NW+1 - NW=MIN(ND,NW+9) - WRITE(CHMAIL,5000) (Q(JUK+L),L=NS,NW) - GO TO 15 - END IF - END IF - END IF - ENDIF - 20 CONTINUE -C - 1000 FORMAT(3X,'Kine',5X,'Name',10X,'Type',5X,'Px',9X,'Py', - + 9X,'Pz',7X,'Energy',5X,'Vorigin',2X,'Vgener') - 2000 FORMAT(1X,I5,6X,3A4,I5,5(1X,F10.4),9(1X,I4)) - 3000 FORMAT(84X,9(1X,I4)) - 4000 FORMAT(62X,'User words') - 5000 FORMAT(1X,9(2X,E12.5)) -C - 99 RETURN - END diff --git a/StarVMC/geant3/gkine/gpkinx.F b/StarVMC/geant3/gkine/gpkinx.F deleted file mode 100644 index afc1adc5c6f..00000000000 --- a/StarVMC/geant3/gkine/gpkinx.F +++ /dev/null @@ -1,153 +0,0 @@ -* -* $Id: gpkinx.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gpkinx.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3PKINX(IT) -C. -C. ****************************************************************** -C. * * -C. * Prints kinematics bank JKINE for track number IT * -C. * If IT=0 Prints all kinematics banks * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author R.Brun S.Giani ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" - CHARACTER*20 NAME - CHARACTER*32 CHLINE,CHSTRI(50) -C. -C. ------------------------------------------------------------------ -C. -* WRITE(CHMAIL,1000) -* CALL GMAIL(1,0) -C - I1=1 - I2=NTRACK - IF(IT.NE.0)I1=IT - IF(IT.NE.0)I2=IT - IF(I2.GT.NTRACK)GO TO 999 - IF(I1.LT.1)GO TO 999 - IF(JKINE.LE.0)GO TO 999 -C - DO 40 ITRACK=I1,I2 - JK=LQ(JKINE-ITRACK) - IF(JK.NE.0)THEN - IPART=Q(JK+5) - JPA=LQ(JPART-IPART) - NL=IQ(JK-2) - NG=Q(JK+7)+7 - NW=MIN(NG,16) - CHLINE='Kine=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(ITRACK,CHLINE(ILEN:)) - CHSTRI(1)=CHLINE - CALL UHTOC(IQ(JPA+1),4,NAME,20) - CHLINE='Name=' - ILEN=LENOCC(CHLINE)+1 - CHLINE(ILEN:)=NAME - CHSTRI(2)=CHLINE - CHLINE='Type=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(IPART,CHLINE(ILEN:)) - CHSTRI(3)=CHLINE - CHLINE='Px=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JK+1),CHLINE(ILEN:)) - CHSTRI(4)=CHLINE - CHLINE='Py=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JK+2),CHLINE(ILEN:)) - CHSTRI(5)=CHLINE - CHLINE='Pz=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JK+3),CHLINE(ILEN:)) - CHSTRI(6)=CHLINE - CHLINE='Energy=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JK+4),CHLINE(ILEN:)) - CHSTRI(7)=CHLINE - CHLINE='Vorigin=' - ILEN=LENOCC(CHLINE)+1 - CALL IZRTOC(Q(JK+6),CHLINE(ILEN:)) -* WRITE(CHLINE(ILEN:),1002)Q(JK+6) - CHSTRI(8)=CHLINE - DO 10 JJ=8,NW - CHLINE='Vgener=' - ILEN=LENOCC(CHLINE)+1 - CALL IZITOC(INT(Q(JK+JJ)),CHLINE(ILEN:)) -* WRITE(CHLINE(ILEN:),1002)INT(Q(JK+JJ) - CHSTRI(1+JJ)=CHLINE - 10 CONTINUE - NLINE=8 - IF(NW.GE.8)NLINE=8+(NW-8+1) - CALL IGMESS(NLINE,CHSTRI,'PICK','P') -* WRITE(CHMAIL,2000)ITRACK,IQ(JPA+1),IQ(JPA+2),IQ(JPA+3),IPART -* + ,(Q(JK+I),I=1,4),Q(JK+6),(INT(Q(JK+L)),L=8,NW) -* 10 CALL GMAIL(0,0) - 20 CONTINUE - IF(NG-NW.GT.0) THEN - NS=NW+1 - NW=MIN(NG,NW+9) - WRITE(CHMAIL,10200) (INT(Q(JK+L)),L=NS,NW) - CALL GMAIL(0,0) - GO TO 20 - END IF - IF(NL.GT.0) THEN -* WRITE(CHMAIL,10300) -* CALL GMAIL(0,0) -* JUK = LQ(JK-1) -* NL = IQ(JUK-1) -* NW=MIN(NL,9) -* WRITE(CHMAIL,10400) (Q(JUK+L),L=1,NW) -* 30 CALL GMAIL(0,0) -* IF(NL-NW.GT.0) THEN -* NS=NW+1 -* NW=MIN(NL,NW+9) -* WRITE(CHMAIL,10400) (Q(JUK+L),L=NS,NW) -* GO TO 30 -* END IF - END IF - ENDIF - 40 CONTINUE -C -10000 FORMAT(3X,'Kine',5X,'Name',10X,'Type',5X,'Px',9X,'Py', - + 9X,'Pz',7X,'Energy',5X,'Vorigin',2X,'Vgener') -10100 FORMAT(1X,I5,6X,3A4,I5,5(1X,F10.4),9(1X,I4)) -10200 FORMAT(84X,9(1X,I4)) -10300 FORMAT(62X,'User words') -10400 FORMAT(1X,9(2X,E12.5)) -10500 FORMAT(E12.5) -C - 999 END diff --git a/StarVMC/geant3/gkine/gpvert.F b/StarVMC/geant3/gkine/gpvert.F deleted file mode 100644 index 0b5d52e68cd..00000000000 --- a/StarVMC/geant3/gkine/gpvert.F +++ /dev/null @@ -1,106 +0,0 @@ -* -* $Id: gpvert.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gpvert.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:18 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3PVERT(IV) -C. -C. ****************************************************************** -C. * * -C. * Prints vertex bank JVERTX for vertex number IV * -C. * If IV=0 Prints all vertex banks * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -C. -C. ------------------------------------------------------------------ -C. - WRITE(CHMAIL,1000) - CALL GMAIL(1,0) -C - I1=1 - I2=NVERTX - IF(IV.NE.0)I1=IV - IF(IV.NE.0)I2=IV - IF(I2.GT.NVERTX)GO TO 99 - IF(I1.LT.1)GO TO 99 - IF(JVERTX.LE.0)GO TO 99 -C - DO 20 IVERT=I1,I2 - JV=LQ(JVERTX-IVERT) - IF(JV.NE.0)THEN - TOFGN=Q(JV+4)*1.E+9 - NL=IQ(JV-2) - NG=Q(JV+7)+7 - NW=MIN(NG,16) - WRITE(CHMAIL,2000)IVERT,(Q(JV+I),I=1,3),TOFGN, - + INT(Q(JV+5)),INT(Q(JV+6)),(INT(Q(JV+L)),L=8,NW) - 10 CALL GMAIL(0,0) - IF(NG-NW.GT.0) THEN - NS=NW+1 - NW=MIN(NG,NW+9) - WRITE(CHMAIL,3000)(INT(Q(JV+L)),L=NS,NW) - GOTO 10 - ENDIF - IF(NL.GT.0) THEN - JUV = LQ(JV-1) - IF(JUV.GT.0) THEN - WRITE(CHMAIL,4000) - CALL GMAIL(0,0) - ND = IQ(JUV-1) - NW=MIN(ND,9) - WRITE(CHMAIL,5000) (Q(JUV+L),L=1,NW) - 15 CALL GMAIL(0,0) - IF(ND-NW.GT.0) THEN - NS=NW+1 - NW=MIN(ND,NW+9) - WRITE(CHMAIL,5000) (Q(JUV+L),L=NS,NW) - GO TO 15 - END IF - END IF - END IF - ENDIF - 20 CONTINUE -C - 1000 FORMAT(3X,'Vert',8X,'Vx',11X,'Vy',11X,'Vz',8X,'Tofg', - + 3X,'Tbeam',3X,'Targ',14X,'Gener tracks') - 2000 FORMAT(2X,I4,3(1X,F12.4),1X,F10.4,2X,2(I5,2X),9(1X,I4)) - 3000 FORMAT(72X,9(1X,I4)) - 4000 FORMAT(62X,'User words') - 5000 FORMAT(1X,9(2X,E12.5)) -C - 99 RETURN - END diff --git a/StarVMC/geant3/gkine/gskine.F b/StarVMC/geant3/gkine/gskine.F deleted file mode 100644 index aa9279c1945..00000000000 --- a/StarVMC/geant3/gkine/gskine.F +++ /dev/null @@ -1,139 +0,0 @@ -* -* $Id: gskine.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gskine.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1998/02/10 16:04:19 japost -* Comments are correctly redistributed. -* -* Revision 1.1.1.1 1995/10/24 10:21:19 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 28/03/94 01.30.59 by S.Giani -*-- Author : - SUBROUTINE G3SKINE(PLAB,IPART,NV,BUF,NWBUF,NT) -C. -C. ****************************************************************** -C. * * -C * Store kinematics of track NT into data structure * -C * Track is coming from vertex NV * -C. * * -C. * * -C. * In detail: * -C. * * -C. * Stores long life track parameters. * -C. * * -C. * Input: * -C. * PLAB components of momentum * -C. * IPART type of particle (see GSPART) * -C. * NV vertex number origin of track * -C. * UBUF array of NUBUF floating point user parameters * -C. * NUBUF * -C. * * -C. * Output: * -C. * NT track number (if=0 error). * -C. * * -C. * ==>Called by : , GUKINE,GUSTEP * -C. * Authors R.Brun, F.Carena, M.Hansroul ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcpush.inc" - COMMON / FIXIT / JK - DIMENSION PLAB(3),BUF(1) - SAVE JV -C. -C. ------------------------------------------------------------------ -C. - IF(NV.LE.0)GO TO 10 - IF(NV.GT.NVERTX)GO TO 90 - JV = LQ(JVERTX- NV) - IF(JV.LE.0)GO TO 90 -C - 10 NT = NTRACK + 1 - IF (JKINE.EQ.0)THEN - CALL MZBOOK(IXDIV,JKINE,JKINE,1,'KINE',NCKINE,NCKINE,1,2,0) - IQ(JKINE-5)=0 - ENDIF - IF(NT.GT.IQ(JKINE-2)) CALL MZPUSH(IXDIV,JKINE,NPKINE,0,'I') -C - CALL MZBOOK(IXDIV,JK,JKINE,-NT,'KINE',1,1,8,3,0) -C - IF (JPART.LE.0) GO TO 90 - IF (IPART.GT.IQ(JPART-2)) GO TO 90 - JPA = LQ(JPART- IPART) - IF (JPA.LE.0) GO TO 90 - P2 = PLAB(1)**2 + PLAB(2)**2 + PLAB(3)**2 - AMASS = Q(JPA + 7) - E = SQRT(P2 + AMASS*AMASS) -C -C Store kinematics in JKINE -C - Q(JK + 1) = PLAB(1) - Q(JK + 2) = PLAB(2) - Q(JK + 3) = PLAB(3) - Q(JK + 4) = E - Q(JK + 5) = IPART - Q(JK + 6) = NV -C -C Copy user words -C - IF(NWBUF.GT.0)THEN - CALL MZBOOK(IXDIV,JUK,JK,-1,'KINU',0,0,NWBUF,3,0) - IQ(JUK-5)=NT -C - DO 15 I=1,NWBUF - Q(JUK+I)=BUF(I) - 15 CONTINUE - ENDIF -C -C -C Connect track NT to vertex NV -C - IF(NV.GT.0)THEN - JV = LQ(JVERTX- NV) - NTG = Q(JV + 7) - NFREE=IQ(JV-1)-7-NTG - IF(NFREE.LE.0)CALL MZPUSH(IXDIV,JV,0,2,'I') - Q(JV + NTG + 8) = NT - Q(JV + 7) = NTG + 1 - ENDIF -C - NTRACK = NT - IQ(JKINE+1)=NTRACK - GO TO 99 -C -C Error -C - 90 NT = 0 - 99 RETURN - END diff --git a/StarVMC/geant3/gkine/gskinu.F b/StarVMC/geant3/gkine/gskinu.F deleted file mode 100644 index 78ce1cb1023..00000000000 --- a/StarVMC/geant3/gkine/gskinu.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: gskinu.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gskinu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:29 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:19 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3SKINU (ITRA,NWBUF,UBUF,IADR) -C. -C. ****************************************************************** -C. * * -C * Stores User's informations in JKINE user bank, * -C * for track ITRA. (ITRA must be an already existing track) * -C * IADR is the stating location within the bank. * -C * * -C * on output IADR is the new starting location * -C. * * -C. * ==>Called by : * -C. * Author M.Maire * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcflag.inc" -* - DIMENSION UBUF(1) -* - IF ((JKINE.GT.0).AND.(LQ(JKINE-ITRA).GT.0)) THEN -* - JK = LQ(JKINE-ITRA) - NDATA = IADR + NWBUF - IF (LQ(JK-1).EQ.0) THEN - CALL MZBOOK (IXDIV,JKU,JK,-1,'KINU',0,0,NDATA,3,0) - IQ(JKU-5) = ITRA - ELSE - JKU = LQ(JK-1) - NFREE = IQ(JKU-1) - NDATA - IF (NFREE.LT.0) CALL MZPUSH (IXDIV,JKU,0,-NFREE,'I') - ENDIF -* - DO 10 I=1,NWBUF - Q(JKU+IADR+I) = UBUF(I) - 10 CONTINUE -* - IADR = IADR + NWBUF - ELSE -* - IADR = 0 - WRITE(CHMAIL,1000) IEVENT,ITRA - CALL GMAIL(0,0) - ENDIF -* - 1000 FORMAT(' **** GSKINU: No JKINE bank in memory for ievent:',I7, - & ' or track:',I4,'does not exist') -* - END diff --git a/StarVMC/geant3/gkine/gsvert.F b/StarVMC/geant3/gkine/gsvert.F deleted file mode 100644 index 51b70bde5e7..00000000000 --- a/StarVMC/geant3/gkine/gsvert.F +++ /dev/null @@ -1,132 +0,0 @@ -* -* $Id: gsvert.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gsvert.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1998/02/10 16:04:21 japost -* Comments are correctly redistributed. -* -* Revision 1.1.1.1 1995/10/24 10:21:19 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3SVERT(V,NTBEAM,NTTARG,UBUF,NWBUF,NVTX) -C. -C. ****************************************************************** -C. * * -C * Creates a new vertex bank * -C * Vertex is generated from tracks NTBEAM NTTARG * -C * NVTX is the new vertex number * -C. * * -C. * * -C. * In detail: * -C. * * -C. * Stores vertex parameters. * -C. * * -C. * Input: * -C. * V array of (x,y,z) position of the vertex * -C. * NTBEAM beam track number origin of the vertex * -C. * =0 if none exists * -C. * NTTARG target track number origin of the vertex * -C. * UBUF user array of NUBUF floating point numbers * -C. * NUBUF * -C. * * -C. * Output: * -C. * NVTX new vertex number (=0 in case of error). * -C. * * -C. * ==>Called by : , GUKINE,GUSTEP * -C. * Authors R.Brun, F.Carena, M.Hansroul ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcpush.inc" -#include "geant321/gctrak.inc" - COMMON / FIXIT / JV, JUV, JK - DIMENSION V(3),UBUF(1) -C. -C. ------------------------------------------------------------------ -C. - NVTX = NVERTX + 1 - IF (JVERTX.EQ.0)THEN - CALL MZBOOK(IXDIV,JVERTX,JVERTX,1,'VERT',NCVERT,NCVERT,1,2,0) - IQ(JVERTX-5)=0 - ENDIF - IF(NVTX.GT.IQ(JVERTX-2)) CALL MZPUSH(IXDIV,JVERTX,NPVERT,0,'I') -C - CALL MZBOOK(IXDIV,JV,JVERTX,-NVTX,'VERT',1,1,9,3,0) -C - IF(NWBUF.GT.0)THEN - CALL MZBOOK(IXDIV,JUV,JV,-1,'VERU',0,0,NWBUF,3,0) - IQ(JUV-5)=NVTX - DO 3 I=1,NWBUF - 3 Q(JUV+I)=UBUF(I) - ENDIF - DO 4 I=1,3 - 4 Q(JV + I) = V(I) - Q(JV + 4) = TOFG - Q(JV + 5) = NTBEAM - Q(JV + 6) = NTTARG - NTK=0 - IF(JKINE.GT.0)NTK=IQ(JKINE-2) - IF(NTBEAM.GT.NTK)GO TO 90 - IF(NTBEAM.LT.0)GO TO 90 - IF(NTTARG.GT.NTK)GO TO 90 - IF(NTTARG.LT.0)GO TO 90 - IF(NTBEAM.NE.0)THEN - JK = LQ(JKINE- NTBEAM) - IF(JK.EQ.0)GO TO 90 - NVG = Q(JK + 7) - NFREE=IQ(JK-1)-7-NVG - IF(NFREE.LE.0)CALL MZPUSH(IXDIV,JK,0,2,'I') - Q(JK + NVG + 8) = NVTX - Q(JK + 7) = NVG + 1 - ENDIF -C - IF(NTTARG.NE.0)THEN - JK = LQ(JKINE- NTTARG) - NVG = Q(JK + 7) - NFREE=IQ(JK-1)-7-NVG - IF(NFREE.LE.0)CALL MZPUSH(IXDIV,JK,0,2,'I') - Q(JK + NVG + 8) = NVTX - Q(JK + 7) = NVG + 1 - ENDIF -C - NVERTX = NVTX - IQ(JVERTX+1)=NVERTX - GO TO 99 -C -C Error -C - 90 NVTX = 0 - 99 RETURN - END diff --git a/StarVMC/geant3/gkine/gsveru.F b/StarVMC/geant3/gkine/gsveru.F deleted file mode 100644 index 64517d54902..00000000000 --- a/StarVMC/geant3/gkine/gsveru.F +++ /dev/null @@ -1,79 +0,0 @@ -* -* $Id: gsveru.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gsveru.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:19 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE GSVERU (IVTX,NWBUF,UBUF,IADR) -C. -C. ****************************************************************** -C. * * -C * Stores User's informations in VERTEX user bank, * -C * for vertex IVTX. (IVTX must be an already existing vertex)* -C * IADR is the stating location within the bank. * -C * * -C * on output IADR is the new starting location * -C. * * -C. * ==>Called by : * -C. * Author M.Maire * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcflag.inc" -* - DIMENSION UBUF(1) -* - IF ((JVERTX.GT.0).AND.(LQ(JVERTX-IVTX).GT.0)) THEN -* - JV = LQ(JVERTX-IVTX) - NDATA = IADR + NWBUF - IF (LQ(JV-1).EQ.0) THEN - CALL MZBOOK (IXDIV,JVU,JV,-1,'VERU',0,0,NDATA,3,0) - IQ(JVU-5) = IVTX - ELSE - JVU = LQ(JV-1) - NFREE = IQ(JVU-1) - NDATA - IF (NFREE.LT.0) CALL MZPUSH (IXDIV,JVU,0,-NFREE,'I') - ENDIF -* - DO 10 I=1,NWBUF - Q(JVU+IADR+I) = UBUF(I) - 10 CONTINUE -* - IADR = IADR + NWBUF - ELSE -* - IADR = 0 - WRITE(CHMAIL,1000) IEVENT,IVTX - CALL GMAIL(0,0) - ENDIF -* - 1000 FORMAT(' **** GSVERU: No Vertex bank in memory for ievent:',I7, - & ' or vertex:',I4,'does not exist') -* - END diff --git a/StarVMC/geant3/gkine/gtau.F b/StarVMC/geant3/gkine/gtau.F deleted file mode 100644 index ffc8effebd7..00000000000 --- a/StarVMC/geant3/gkine/gtau.F +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: gtau.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gtau.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:30 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:19 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3TAU -C. -C. ****************************************************************** -C. * * -C. * Generates the process e+e- -> tau+ tau- * -C. * can be called from GUKINE * -C. * * -C. * Author R.Hemingway 26 Sept 1985 * -C. * Obsoleted in 3.15 * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" - WRITE(CHMAIL,10000) -10000 FORMAT('Obsolete GTAU reached. This routine is now dummy.') - CALL GMAIL(1,1) -C - END diff --git a/StarVMC/geant3/gparal/checkstr.F b/StarVMC/geant3/gparal/checkstr.F deleted file mode 100644 index 3337e3e18d8..00000000000 --- a/StarVMC/geant3/gparal/checkstr.F +++ /dev/null @@ -1,32 +0,0 @@ -*CMZ : 26/02/96 11.38.47 by S.Ravndal -*-- Author : -#if defined(CERNLIB_PARA) - subroutine checkstr( chREADIN, chExpected, nch, chDescription, - $ierr ) - implicit none - character chREADIN*(*), chExpected*(*), chDescription*(*) - integer ierr, nch - -#include "geant321/gcunit.inc" - integer lunerr - lunerr= lout - -* Example: -* call checkstr( chSUBSEQ, 'SUBSEQ ', !! ! '(a7)' -* $ ,'Number of subsequences ', ichkerr(1) ) - - if ( chReadin(1:nch) .ne. chExpected(1:nch) ) then - write( lunerr, * ) - $ ' Checkstr: Values of string read-in and expected differ ' - write( lunerr, * ) ' Expected>', chExpected , '<' - write( lunerr, * ) ' Read-in >', chReadin , '<' - ierr = 1 - else - ierr = 0 - endif - return - end -#else - SUBROUTINE CHECKSTR_DUMMY - END -#endif diff --git a/StarVMC/geant3/gparal/gpabort.F b/StarVMC/geant3/gparal/gpabort.F deleted file mode 100644 index da967dfdca8..00000000000 --- a/StarVMC/geant3/gparal/gpabort.F +++ /dev/null @@ -1,31 +0,0 @@ -*CMZ : 23/08/95 15.00.00 by John Apostolakis -*-- Author : John Apostolakis CERN/GP-MIMD2 22/07/94 - subroutine gpabort -#if defined(CERNLIB_PARA) -c -c This makes a "best attempt" to abort all parallel Geant tasks. -c It should be used if a fatal error is detected in a task that -c cannot be recovered, or will cause irreperable damage later. -c - implicit none - integer ierror -#include "geant321/mpifinc.inc" -#include "geant321/multiprox.inc" -#include "geant321/gcunit.inc" - write(chmail,*) - $' gpabort: calling MPI_abort to terminate program from node ', - $ nprank - call gmail(2,2) - - call MPI_abort( MPI_COMM_WORLD, ierror ) - if (ierror .ne. 0) then - write(chmail,*) - $ ' ERROR in gpabort: MPI_abort failed to terminate on node ', - $ nprank, ' error code: ', ierror, ' STOPPING this node.' - call gmail(2,2) - stop - endif -#endif - return - end - diff --git a/StarVMC/geant3/gparal/gpdefrng.F b/StarVMC/geant3/gparal/gpdefrng.F deleted file mode 100644 index 2ec801137c8..00000000000 --- a/StarVMC/geant3/gparal/gpdefrng.F +++ /dev/null @@ -1,97 +0,0 @@ -*CMZ : 26/02/96 11.38.47 by S.Ravndal -*-- Author : -C------------------------------------------------------------------------ -c gpdefrng( ibase ) -c -c Modified: November 6, 1995 J.A. to provide more flexibility by -c including argument -c -c Function: Provide seeds for the pseudo-random number -c generator different on each node -c If ibase <= 0 default sequences are used. -c -c Should be called to provide a default seeding. -c Only currently available for RANECU/GRNDM. -c -c ibase= the RNG sequence for first node. -c If ibase=0 a system default is used. -c -C called by: , uginit, (if CERNLIB_PARA switch is used) -C------------------------------------------------------------------------ -#if defined(CERNLIB_PARA) - subroutine gpdefrng( ibase ) - implicit none - integer ibase - -C-------------------------------------------------------------- -C Must be called in uginit only after other routines that do the -C default RNG seeding for sequential machines -C have been called (ie after ginit) ... see example uginit -C-------------------------------------------------------------- -#include "geant321/mpifinc.inc" -#include "geant321/multiprox.inc" -#include "geant321/multseeds.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" - integer ibasedef, lunerr - data ibasedef / 1 / - integer msgerror, rngerror - data msgerror, rngerror / 0, 0 / -c---------------------------------------------------------------------------- -c Random number generator seeding: -c -c Set the seeds on each node for the start of a different sequence. -c---------------------------------------------------------------------------- -c Done for RANECU -c---------------------------------------------------------------------------- - - if ( ibase .lt. 0 ) then - ibase = 0 - write( chmail, '(a,a,i4,a)' ) - $ ' Warning: gpdefrng: ibase < 0 is invalid. Value =', - $ ibase , ' Reset to zero ' - call gmail(1,1) - endif - if ( ibase .eq. 0 ) then - ibase = ibasedef - endif - -C We check to see if the resulting sequence is valid for RANECU - - iseqnc = ibase + nprank - if( (iseqnc .gt.0 ) .and. (iseqnc .le. 215 )) then - call GRNDMQ( iseeda, iseedb, iseqnc, 'Q' ) - write (*,*) ' Node ', nprank, ' init-ed seq ', iseqnc, - & ' and got seeds ', iseeda, iseedb - call GRNDMQ( iseeda, iseedb, iseqnc, 'S' ) - else - write (lunerr, *) ' Node ', nprank, ': in GRNDMQ exceeds ', - & ' number of rng sequences with precalculated seeds.' - rngerror = 1 - -c --- Other Possibility: --- -c write (lunerr, *) ' Node ', nprank, ': wrapping around ... ' -c iseqnc = mod( iseqnc, 215 ) + 1 -c call GRNDMQ( iseeda, iseedb, iseqnc, 'Q' ) - endif -#if defined(CERNLIB_PARA_RANMAR) -c---------------------------------------------------------------------------- -c In the case that RANMAR is used -c -c---------------------------------------------------------------------------- - ibase = nrndm(1) - iseeda = ibase * 100 + nprank - iseqnc = 1 -c -c As changed by Stic/Delphi only the first parameter is used. -c - call GRNDMQ( iseeda, iseedb, iseqnc, 'S' ) -c -#endif - return - end -#else - SUBROUTINE GPDEFRNG_DUMMY - END -#endif - diff --git a/StarVMC/geant3/gparal/gpdynamic.F b/StarVMC/geant3/gparal/gpdynamic.F deleted file mode 100644 index 9b2bbe8e1db..00000000000 --- a/StarVMC/geant3/gparal/gpdynamic.F +++ /dev/null @@ -1,42 +0,0 @@ -*CMZ : 11/11/94 14.40.52 by John Apostolakis CERN GP-MIMD 2 -*-- Author : John Apostolakis CERN GP-MIMD 2 13/07/94 -C------------------------------------------------------------------------ -C gpdynamic -C Function: informs parallel Geant that events will be -C dynamically distributed between nodes, ie -C each "worker" node will request (the data of) an event -C from a "master" or "leader". -C -C called by: , (if CERNLIB_PARA switch is used) -C------------------------------------------------------------------------ -#if defined(CERNLIB_PARA) - subroutine gpdynamic - implicit none -#include "geant321/multiprox.inc" - -c -c This routine overrides the default (set in gpinit) -c of a static decomposition of events , with which -c each processor would get 1/(number of processors) of the share -c of events. -c It should be used if an input file exists or the time per event -c has a large standard deviation, the events can be dynamically assigned. -c You will need to look at the routines gukine and muxread -c in gexam3 for how to distribute events. - -c -c The following initialises the "dynamic" configuration, -c in which there is no "master" or "leader". -c -c -- Id of task expected to be a "master" - npleader = 0 -c -- Id of task expected to be 1st worker -c (representative for printout ...) - nfirstworker= 1 - - return - end -#else - SUBROUTINE GPDYNAMIC_DUMMY - END -#endif diff --git a/StarVMC/geant3/gparal/gpinit.F b/StarVMC/geant3/gparal/gpinit.F deleted file mode 100644 index 7b6bb71b3ae..00000000000 --- a/StarVMC/geant3/gparal/gpinit.F +++ /dev/null @@ -1,86 +0,0 @@ -*CMZ : 11/11/94 14.40.52 by John Apostolakis CERN GP-MIMD 2 -*-- Author : John Apostolakis CERN GP-MIMD 2 13/07/94 -C------------------------------------------------------------------------ -C gpinit -C Function: initialises the parallel environment (MPI) and -C parallel's Geant's variables that track it. -C -C called by: , uginit, (if CERNLIB_PARA switch is used) -C------------------------------------------------------------------------ -#if defined(CERNLIB_PARA) - subroutine gpinit - implicit none -#include "geant321/mpifinc.inc" -#include "geant321/multiprox.inc" -#include "geant321/multseeds.inc" -#include "geant321/gcflag.inc" - integer msgerrpas, ierr - common /gpinitpas/ msgerrpas, ierr - - integer ierr1, ierr2, ierr3 - integer ibase, lunerr - integer msgerror, rngerror - data ibase / 1 / - data msgerror, rngerror / 0, 0 / - parameter (lunerr= 0) - -c Initialise Event Level Parallel Geant (message passing) -c -c Tasks: -c Initialise Message Passing and my relevant variables (npsize etc) - - nprank= -1 - -c Initialise Message Passing - - call MPI_init( ierr1 ) - call MPI_Comm_rank( MPI_COMM_WORLD, nprank, ierr2 ) - call MPI_Comm_size( MPI_COMM_WORLD, npsize, ierr3 ) - if ( (ierr1 .gt. 0) .or. (ierr2 .gt. 0) .or. (ierr3 .gt. 0) ) - + msgerror=1 - - write(*,*) ' Node ', nprank , ' initialised - one of ', npsize - -c Set Error flag ... - - if( msgerror .ne. 0) then - write (lunerr, *) ' Message Passing Library error ', - & ' in initialisation. ' - if ( (ierr1.ne.0) .or. (nprank .ne. -1)) then - write (lunerr, *) ' Occured in node ', nprank - else - write (lunerr, *) ' MASSIVE ERROR> in an unknown node. ' - write (lunerr, *) - & ' This is non-recoverable, MPI did not initialise at all' -c -c This is non-recoverable, MPI did not initialise at all - call gpabort() -c ieorun= 1 - stop - endif - endif -c -c By default a static decomposition of events is done, with -c each processor geting 1/number of processors of the share -c of events. -c If an input file exists or the time per event has a large standard -c deviation, the events can be dynamically assigned. You will then -c need to look at the routines gukine and muxread in gexam3. -c -c The following just initialises the default "static" configuration, -c in which there is no "master" or "leader". -c -c -- Id of task expected to be a "master" - npleader = -1 -c -- Id of task expected to be 1st worker -c (representative for printout ...) - nfirstworker= 0 - - msgerrpas= msgerror - - return - end -#else - SUBROUTINE GPINIT_DUMMY - END -#endif diff --git a/StarVMC/geant3/gparal/gplast.F b/StarVMC/geant3/gparal/gplast.F deleted file mode 100644 index 5a82a9fd5f6..00000000000 --- a/StarVMC/geant3/gparal/gplast.F +++ /dev/null @@ -1,31 +0,0 @@ -*CMZ : 23/08/94 15.10.00 by John Apostolakis -*-- Author : John Apostolakis CERN/GP-MIMD2 23/08/94 -#if defined(CERNLIB_PARA) - subroutine gplast -c -c This routine cleans up all the parallel environment on which -c parallel Geant is layered. No parallel Geant routines should -c be called after calling gplast. -c To ensure that compatibility with all current MPI implementations -c we ask that no code is executed after calling gplast. -c To implement this choice we call 'STOP' at the end !! -c - implicit none - integer ierror - -#include "geant321/multiprox.inc" -* +SEQ, IOUNIT. to get LUNOUT/LUNERR --- the keep is defined in geanf - - call MPI_finalize( ierror ) - if (ierror .ne. 0) then - write(*,*) ' gplast: Error in MPI_finalize on node ', nprank -* write(LUNERR,*) ' gplast: Error in MPI_finalize on node ', nprank - endif - - write(*,*) ' Calling STOP in MPI_finalize on node ', nprank - stop - end -#else - SUBROUTINE GPLAST_DUMMY - END -#endif diff --git a/StarVMC/geant3/gparal/gpmsgerr.F b/StarVMC/geant3/gparal/gpmsgerr.F deleted file mode 100644 index efb0add8205..00000000000 --- a/StarVMC/geant3/gparal/gpmsgerr.F +++ /dev/null @@ -1,23 +0,0 @@ -c----------------------------------------------------------------- -c Author John Apostolakis, GPMIMD-2, CERN-CN, February 1994 -c -c gpmsgerr(..) report a error given by MPI (in sending -c or receiving a message). -c----------------------------------------------------------------- - - subroutine gpmsgerr( mpi_routine, ierr, srcroutinename ) - implicit none - character*(*) srcroutinename, mpi_routine - integer lunerr, ierr -#include "geant321/multiprox.inc" -#include "geant321/gcunit.inc" - -c As stderr is not defined, use Geant's stdout - lunerr= lout - - write(LUNERR,*) 'WARNING: MPI routine ', mpi_routine, - & ' returned error code ', ierr , ' on node ', nprank, - & ' when called from routine ', srcroutinename - - RETURN - END diff --git a/StarVMC/geant3/gparal/gpreadrng.F b/StarVMC/geant3/gparal/gpreadrng.F deleted file mode 100644 index bde80554112..00000000000 --- a/StarVMC/geant3/gparal/gpreadrng.F +++ /dev/null @@ -1,191 +0,0 @@ -*CMZ : 26/02/96 11.38.47 by S.Ravndal -*-- Author : -C------------------------------------------------------------------------ -C SUBROUTINE gpreadrng( lunread, filename, ierr ) -C -C Function: read a file containing a state of the pseudo random number -C generator on all the nodes and set the RNG seeds using it. -c -c A convention: if lunread is >= 0, use that unit. -c If not, read from the file called -c -C Possible error codes: -c ierr= -102 The number of seeds required for a subsequence of -c the RNG (numperseq) is more than allocated -c in the array iseedrng (SEEDS_PER_SEQ) -c -c called by: (if PARALLEL switch is used) -c -c Author: John Apostolakis, January 1996. -c -c Last Modified: February 22, 1996 J.A. -c------------------------------------------------------------------------ -#if defined(CERNLIB_PARA) - subroutine gpreadrng( lunread, filename, ierr ) - implicit none -#if defined(CERNLIB_PARA_COMM) -#include "geant321/mpifinc.inc" -#endif - integer lunread, ierr - character filename*(*) -c Containes iseeda, iseedb, iseqnc -#include "geant321/multseeds.inc" - integer numprocs, nrank, nleader - integer MAXNODES, SEEDS_PER_SEQ - parameter (MAXNODES=4096) -c RANMAR - parameter (SEEDS_PER_SEQ=103) - - integer myseeds(SEEDS_PER_SEQ) - integer iseedrng( SEEDS_PER_SEQ, MAXNODES ) - -#include "geant321/gcunit.inc" -c version of the seed file format - real version, versionrd - integer nsubseq, numperseq, nperline, nsubseqexp, nsubseqrd - integer lunrd, lunerr - integer isubseq, inumb, imax, ino, ichkerr(4), iia, iseqrd - character*12 chSUBSEQ, chNOPERSEQ, chNPERLINE, chENDPROLOG, - $ chsubsequence , chVersion - character*12 chNameRng, chNameRead, chIdRng - data version / 1.0 / - - lunerr= lout - - if (lunread .lt. 0) then - lunrd= 74 !! Some number ... - open (unit=lunrd, file=filename, status='old') - else - lunrd= lunread - endif - -c #if defined(CERNLIB_PARA_RANECU) -c if( ParaRng .eq. 'RANECU' ) -c -------------------------------------------------------------------- -c The RANECU pseudo random number generator, used by GEANT's GRNDM(Q). -c -------------------------------------------------------------------- -#if !defined(CERNLIB_PARA_TASKRNG) -c Currently the number of sequences must be the number of processors! - call gprocs( numprocs, nrank, nleader ) - nsubseqexp= numprocs - - if( numprocs .gt. MAXNODES )then -c write(lunerr, *) 'GPreadRng: ERROR Too many nodes ', numprocs - write(*, *) 'GPreadRng: ERROR Too many nodes ', numprocs - endif -#endif - chnamerng= 'RANECU' - numperseq= 2 ! 2 "seed" integers per RANECU sequence - nperline= 2 ! 2 numbers per line -c #endif - -#if defined(CERNLIB_PARA_RANMAR) -#endif - - read ( lunrd, 905 ) chVersion, versionrd - 905 format( a8, f5.2, a ) - write ( *, * ) ' Reading seedfile version ', version - - read(lunrd, 910) chIdRng, chNameRead - 910 format( a7, a12 ) - read(lunrd, 920) chSUBSEQ, nsubseqrd - 920 format( a9, i6 ) - read(lunrd, 920) chNOPERSEQ, numperseq - read(lunrd, 920) chNPERLINE, nperline - read(lunrd, 930) chENDPROLOG - 930 format( a9 ) - -c Check that the strings before the values were correctly read in. -c - call checkstr( chSUBSEQ, 'SUBSEQ ', 7, - $ 'Number of subsequences ', ichkerr(1) ) - call checkstr( chNOPERSEQ, 'NOPERSEQ ', 9, - $ ' Numbers per subsequence ', ichkerr(2) ) - call checkstr( chNPERLINE, 'NPERLINE ', 9, - $ ' Numbers per line ', ichkerr(3) ) - call checkstr( chENDPROLOG, 'ENDPROLOG', 9, - $ ' No variable to be read ', ichkerr(4) ) - DO iia=1,4 - IF( ichkerr(iia) .ne. 0 ) then - write(*,*) ' GpReadRng : STOPping because of error ', - $ ' in reading overall header, part ', iia - stop - ENDIF - ENDDO - -C CHECK the VALUES read in -C - IF ( nsubseqexp .ne. nsubseqrd ) THEN - write(*,*) - $ ' GpReadRng: Error: Mismatch in number of subsequences, ', - $ ' expected = ' , nsubseqexp, ' file = ', nsubseqrd - IF ( nsubseqexp .lt. nsubseqrd ) THEN - write(*,*) ' Enough seeds to work with, continuing ' - nsubseq= nsubseqexp - ELSE - write(*,*) ' Not enough subsequences, aborting ' - call gpabort() - ENDIF - ELSE - nsubseq= nsubseqexp - ENDIF - -c Now read in the values from each subsequence -c - DO isubseq= 1, nsubseq - read(lunrd, 970 ) chSubsequence, iseqrd - call checkstr( chSubsequence, ' Subsequence', 11, - $ ' Which of the Subsequences ', ichkerr(1) ) - IF( (ichkerr(1).ne.0) .or. (iseqrd .ne. isubseq) ) then - write(*,*) ' GpReadRng : STOPping because of error ', - $ ' in reading subsequence header ' - write(*,*) ' chSubsequence=/', chSubsequence, '/, iseqrd=', - $ iseqrd, ' iseq-expected= ', isubseq - stop - ENDIF - DO inumb= 1, numperseq, nperline - imax=max(inumb+nperline-1,numperseq) - read( lunrd, 980 ) ( iseedrng( ino, isubseq ), - $ ino=inumb, imax) - ENDDO - ENDDO - 970 format( a14, i6 ) - 980 format( 8i15 ) -#if defined(CERNLIB_PARA_RANECU) -#if !defined(CERNLIB_PARA_TASKRNG) - -#if defined(CERNLIB_PARA_COMM) -c Now "scatter" all seeds from node 0 to all the nodes -c -c if numperseq < SEEDS_PER_SEQ the following should still work. -c - call MPI_Scatter( iseedrng, SEEDS_PER_SEQ, MPI_INTEGER, - $ myseeds, numperseq, MPI_INTEGER, - $ 0, MPI_COMM_WORLD, ierr) -c - if ( ierr .gt. 0 ) then - write( lunerr, '(a,i,a)' ) 'GpDefRng: Error ', ierr, - $ ' in Mpi_gather ' - endif -#else -c Else each node selects its seeds ... -c - DO inumb= 1, numperseq - myseeds( inumb )= iseedrng( inumb, nrank+1 ) - ENDDO -#endif - -c Set the pRNG seeds (In this version there is one sequence per node) - call grndmq( myseeds(1), myseeds(2), iseqnc, 'S' ) -#endif -#endif - if (lunread .lt. 0) then - close (unit=lunrd) - endif - - return - end -#else - SUBROUTINE GPREADRNG_DUMMY - END -#endif diff --git a/StarVMC/geant3/gparal/gprocs.F b/StarVMC/geant3/gparal/gprocs.F deleted file mode 100644 index a7c0b1ffdd6..00000000000 --- a/StarVMC/geant3/gparal/gprocs.F +++ /dev/null @@ -1,28 +0,0 @@ -*CMZ : 1/08/95 16.58.00 by John Apostolakis -*-- Author : John Apostolakis CERN/GP-MIMD2 1/08/95 -**DOC -* -* Routine to allow calling GEANT program to become aware of -* the extent of the parallel machine it is running on and its place -* within it. -* -#if defined(CERNLIB_PARA) - subroutine gprocs( nsize, nrank, nleader ) - implicit none - integer nsize, nrank, nleader -* nsize = Number of nodes or processes -* nrank = The id or rank of the this process ( 0 <= rank < size ) -* nleader = The node that does input distibution (if there is one, -* and -1 if there is no leader) -**ENDDOC -#include "geant321/multiprox.inc" - nsize= npsize - nrank= nprank - nleader= npleader - - RETURN - END -#else - SUBROUTINE GPROCS_DUMMY - END -#endif diff --git a/StarVMC/geant3/gparal/gprun.F b/StarVMC/geant3/gparal/gprun.F deleted file mode 100644 index 9e5880d21de..00000000000 --- a/StarVMC/geant3/gparal/gprun.F +++ /dev/null @@ -1,92 +0,0 @@ -*CMZ : 11/11/94 15.39.18 by John Apostolakis CERN GP-MIMD 2 -*-- Author : John Apostolakis CERN GP-MIMD 2 13/07/94 -**DOC -C Parallel Geant - main routines, to be used in parallelising GEANT programs. -C Target architectures: scalable parallel processors and (for appropriate -C problems) workstation clusters -C Implemenation relies on availability of: -C An implementation of the MPI (Message Passing Interface Standard) for the -C relevant ensemble of machines or parallel processor. -C -C A common file base for input and output files, such as NFS or AFS. -C -C [ NOTE: MPI Implementations exist for most Unix machines, including -C the portable, public domain, implementation. For more information see -C the MPI Web page at URL http://www.mcs.anl.gov/mpi/index.html ] -C --- -C First released version March 1996, John Apostolakis japost@dxcern.cern.ch -C -------------------------------------------------------------------------- -C subroutine gprun -C -C Function: in some cases of static event partitioning, it -C makes sure each node only does its portion of the events to -C to be simulated. -C -C called by: grun (if CERNLIB_PARA switch is used) -C------------------------------------------------------------------------ -**ENDDOC -#if defined(CERNLIB_PARA) - subroutine gprun -c Routine is called at the start of grun, to normalize Number of Events -c in the case of a "static" decomposition of events - implicit none -* -#include "geant321/gcflag.inc" -#include "geant321/multiprox.inc" -* -* - integer modsize -* -c The default method of partitioning events between processors is -c the Static method. - -c To choose the dynamic method, in which events are shared out -c to different nodes by a master, the user must call gpdynamic -c and write a multiplexing routine (modifying the routine muxread -c in the example gexam3). - - - if ( npleader .eq. -1) then -c -c Static distribution of events, the new default -c All nodes share the events equally. It will work well if events take -c close to the same CPU time to simulate, ie the standard deviation -c of the event time is small compared to the average event time. -c -c In this case do a static distribution of events ... -c (assumes 1<=nprank it adds -c the histograms to the ones in memory -c ------------------------------------------------------------------ - call hrout ( idh, icycle, 'T') - - CALL HREND ('OUTPUT') - close( LUNHIST ) -c -c Send a message to the next node, which is waiting until this one -c is finished ! -c - npnext = nprank+1 - if ( npnext .ge. npsize ) npnext = npnext - npsize - call mpi_send( istat, 1, MPI_INTEGER, - & npnext, itag, MPI_COMM_WORLD, ierr ) - -c -c Finally have the first node receive the last node's message! -c - if( nprank .eq. nfirst ) then - call mpi_recv( istat, 1, MPI_INTEGER, - & npsize-1, itag, MPI_COMM_WORLD, npstat, ierr ) - endif -c----------------------------------------------------------------------- - - RETURN -#endif - END diff --git a/StarVMC/geant3/gparal/gpsumhr.F.ori b/StarVMC/geant3/gparal/gpsumhr.F.ori deleted file mode 100644 index b569a575323..00000000000 --- a/StarVMC/geant3/gparal/gpsumhr.F.ori +++ /dev/null @@ -1,142 +0,0 @@ -*CMZ : 08/23/94 15.20.00 by John Apostolakis CERN GP-MIMD 2 -*-- Author : - subroutine GPSUMHR( idh, file, chopt ) -c -c Saves histograms into a single RZ file, putting each -c process' histogram into a subdirectory, as well as saving the -c running total in the subdirectory 'totals'. At the end the -c directory 'totals' will contain the sum total of all -c contributions from all processes. -c -c ( A 'replacement' for hrput for parallel Geant.) -c -c. Implementation notes: -c. -c. Currently chopt is ignored! -c. -c------------------------------------------------------------------------- -#if defined(CERNLIB_PARA) - IMPLICIT NONE - INTEGER idh - CHARACTER*(*) file, chopt - - INTEGER myid - character*13 myname -#include "geant321/mpifinc.inc" -#include "geant321/multiprox.inc" -C - INTEGER istat, icycle, lunhist -C - integer iquest(100), nrec, itag - integer npstat(MPI_STATUS_SIZE), ierr - integer idebgsvh, npnext, nfirst, indivout - character*1 filemode - common /quest/ iquest - data nrec / 1024 / - data itag / 1001 / - data idebgsvh / 1 / - data indivout / 1 / - data lunhist / 29 / - parameter (nfirst=0) -c---------------------------------------------------------------------- -c J. Apostolakis: Use a directory for each process and a -c a directory called 'totals' for totals, -c v0.1 February 9, 1994 using mvlock/mvunlock -c v0.2 August 4, 1994 using mpi_{send,recv} -c -c Node 0 creates the file, others wait their turn (a message goes -c around that each node receives, does its stuff and sends on) -c [ Older idea was to use a barrier: call mpi_barrier( MPI_COMM_WORLD ) ] -c -c Notes: -c x The current scheme is not robust, but has worked well. -c x The potential problem is if one node fails before getting to -c x this point or during its call to gpsumhr. The former could be -c x handled by replacing the current method with a robust scheme -c x capable of handling node failures, by using lockf/unlockf to -c x lock the file ... -c x -c x For file creation, having all nodes try to create a new hbook -c x file will not work, since one will overwrite another ... -c - if( nprank .eq. nfirst ) then - filemode= 'N' - nrec= 1024 - else - filemode= 'U' - nrec= 0 -c -c Wait here until the previous node is finished ! -c - call mpi_recv( istat, 1, MPI_INTEGER, - & nprank-1, itag, MPI_COMM_WORLD, npstat, ierr ) - endif - - CALL HROPEN ( LUNHIST, 'OUTPUT', file, filemode, nrec, istat) - - if(istat.ne.0) then - print *, ' HROPEN of ', file, ' on node ', nprank, - & ' failed in gpsumhr. Istat = ', istat - else - print *, ' HROPEN of ', file, ' on node ', nprank, - & ' succeeded and gave nrec=', nrec - endif - - myid = nprank - if( myid.ge.10000 ) then - print *, 'Warning in gpsumhr: The id (',myid, - & ')is too big to be used in gpsumhr.f' - myid = mod(myid, 10000) - endif - write (myname, '(a7,i6)') 'process',myid+10000 - myname(8:8)='0' - - if( idebgsvh .eq. 1 ) then - call hldir ( '//PAWC', ' ' ) - call hldir ( '//OUTPUT', 't' ) - endif - - call hcdir ( '//OUTPUT', ' ' ) - -c Could make 'indivout' an option: it creates subdirectories with -c each node's output. - if( indivout .eq. 1 ) then - call hmdir ( myname, ' ' ) - call hcdir ( myname, ' ' ) ! if it has been created already ... - CALL HROUT ( idh, icycle,' ') - endif - - if( nprank .eq. nfirst ) then - call hmdir ( '//OUTPUT/TOTALS','S') - else - call hcdir ( '//OUTPUT/TOTALS',' ') - CALL HRIN ( idh, 888888, 99999) - endif -c ! 99999 is an undocumented feature => it adds -c the histograms to the ones in memory -c ------------------------------------------------------------------ - call hrout ( idh, icycle, 'T') - - CALL HREND ('OUTPUT') - close( LUNHIST ) -c -c Send a message to the next node, which is waiting until this one -c is finished ! -c - npnext = nprank+1 - if ( npnext .ge. npsize ) npnext = npnext - npsize - call mpi_send( istat, 1, MPI_INTEGER, - & npnext, itag, MPI_COMM_WORLD, ierr ) - -c -c Finally have the first node receive the last node's message! -c - if( nprank .eq. nfirst ) then - call mpi_recv( istat, 1, MPI_INTEGER, - & npsize-1, itag, MPI_COMM_WORLD, npstat, ierr ) - endif -c----------------------------------------------------------------------- - - RETURN - END -#endif diff --git a/StarVMC/geant3/gparal/gptrig.F b/StarVMC/geant3/gparal/gptrig.F deleted file mode 100644 index ccc03f3c0f9..00000000000 --- a/StarVMC/geant3/gparal/gptrig.F +++ /dev/null @@ -1,41 +0,0 @@ -*CMZ : 02/11/94 15.22.20 by John Apostolakis CERN GP-MIMD 2 -*-- Author : John Apostolakis CERN GP-MIMD/2 Started: 13/07/94 -C------------------------------------------------------------------------ -C gptrig -C Function: prints some default information about the number of -C the event simulated, the node and the current RNG seeds. -C -C called by: gtrig (if PARALLEL switch is used) -C------------------------------------------------------------------------ -#if defined(CERNLIB_PARA) - subroutine gptrig - implicit none -#include "geant321/gcflag.inc" -#include "geant321/multiprox.inc" -#include "geant321/multseeds.inc" - integer isequence, idbg - - idbg= 0 - -c if (idbg) write( *, 10000) nprank, iseqnc, iseeda, iseedb -10000 FORMAT (' --> Node',I4,' Before grndmq call. ', - & ' Sequence expected ', I5, ' Previous Seeds', 2I11 ) - - isequence = -1 - call GRNDMQ( iseeda, iseedb, isequence, 'G' ) - - if(idbg) write( *, 10005) nprank, isequence -10005 FORMAT (' --> Node',I4,' After grndmq call. ', - & ' Sequence returned ', I5 ) - -c call GRNDMQ( iseeda, iseedb, iseqnc, 'G' ) - - write( *, 10010) nprank, ievent, iseeda, iseedb -10010 FORMAT (' --> Node',I4,' Event',I7,' Seeds',2I11 ) - - return - end -#else - SUBROUTINE GPTRIG_DUMMY - END -#endif diff --git a/StarVMC/geant3/gparal/gptrigi.F b/StarVMC/geant3/gparal/gptrigi.F deleted file mode 100644 index 662b0ace950..00000000000 --- a/StarVMC/geant3/gparal/gptrigi.F +++ /dev/null @@ -1,24 +0,0 @@ -*CMZ : 20/10/94 15.26.50 by John Apostolakis CERN GP-MIMD 2 -*-- Author : John Apostolakis CERN GP-MIMD 2 13/07/94 -#if defined(CERNLIB_PARA) - subroutine gptrigi - implicit none -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -#include "geant321/multiprox.inc" - integer iseed1, iseed2 - - call GRNDMQ( iseed1, iseed2, 0, 'G' ) - - WRITE (CHMAIL,10000) IEVENT,nprank, IDEVT, iseed1, iseed2 - CALL GMAIL(0,0) - -10000 FORMAT(' **** GTRIGI: IEVENT=',I7,' NODE ', I3 , ' IDEVT=',I7, - +' Random Seeds = ',I10,2X,I10) - - return - end -#else - SUBROUTINE GPTRIGI_DUMMY - END -#endif diff --git a/StarVMC/geant3/gparal/gpwriterng.F b/StarVMC/geant3/gparal/gpwriterng.F deleted file mode 100644 index 56edcbce529..00000000000 --- a/StarVMC/geant3/gparal/gpwriterng.F +++ /dev/null @@ -1,161 +0,0 @@ -*CMZ : 26/02/96 11.38.47 by S.Ravndal -*-- Author : -C------------------------------------------------------------------------ -C gpwriterng( lunwrite, filename, ierr ) -C -C Function: write out the state of the pseudo random number -C generator on all the nodes into a file. -C -c A convention: if lunwrite is >= 0, use that unit. -c If not, create a new file called -C -C Possible error codes: -c ierr= -102 The number of seeds required for a subsequence of -c the RNG (numperseq) is more than allocated -c in the array iseedrng (SEEDS_PER_SEQ) -c -C called by: (if PARALLEL switch is used) -C------------------------------------------------------------------------ -#if defined(CERNLIB_PARA) - subroutine gpwriterng( lunwrite, filename, ierr ) - implicit none - integer lunwrite, ierr - character filename*(*) - -#include "geant321/mpifinc.inc" -#include "geant321/multseeds.inc" - integer numprocs, nrank, nleader - integer MAXNODES, SEEDS_PER_SEQ - parameter (MAXNODES=4096) - character*12 chNameRng - -c In order to accomodate RANMAR, which has the largest table of seeds. - parameter (SEEDS_PER_SEQ=103) - -c For RANECU it would be enough: (SEEDS_PER_SEQ=2). -c For ranlux parameter (SEEDS_PER_SEQ= 25) - - integer myseeds(SEEDS_PER_SEQ) - integer iseedrng( SEEDS_PER_SEQ, MAXNODES ) -c version of the seed file format - real version - integer nsubseq, numperseq, nperline - integer lunwr, lunerr - integer isubseq, inumb, imax, ino - data version / 1.0 / - - if (lunwrite .lt. 0) then -c Default number - lunwr= 74 - open (unit=lunwr, file=filename ) - else - lunwr= lunwrite - endif - -c Make sure to go to the start of the file -c - rewind( lunwr ) -#if defined(CERNLIB_PARA_RANECU) -c ----------------------------------------------------------------- -c The RANECU pseudo random number generator, used by GEANT's GRNDM. -c ----------------------------------------------------------------- -#if !defined(CERNLIB_PARA_TASKRNG) -c Currently the number of sequences is the number of processors! - call gprocs( numprocs, nrank, nleader ) - nsubseq= numprocs - - if( numprocs .gt. MAXNODES ) then - write(*, *) 'GPwriteRng: ERROR Too many nodes ', numprocs - ierr= -101 - goto 9999 - endif - -#endif - chnamerng= 'RANECU' - numperseq= 2 ! 2 "seed" integers per RANECU sequence - nperline= 2 ! 2 numbers per line -#endif -#if defined(CERNLIB_PARA_RANMAR) - chnamerng= 'RANMAR' - numperseq= 103 ! 103 "seed" integers per RANMAR sequence - nperline= 5 ! 5 numbers per line -#endif -#if defined(CERNLIB_PARA_RANLUX) - chnamerng= 'RANLUX' - numperseq= 25 ! 25 "seed" integers per RANMAR sequence - nperline= 5 ! 5 numbers per line -#endif - -c "Gather" all seeds to node 0 -c -#if defined(CERNLIB_PARA_RANECU) -#if !defined(CERNLIB_PARA_TASKRNG) -c In this version there is one sequence per node - call grndmq( myseeds(1), myseeds(2), iseqnc, 'G' ) - - if (numperseq .gt. SEEDS_PER_SEQ ) then - ierr= -102 - goto 9999 - endif - -c The following has all nodes send their seed, and node 0 collect them. -c It should work if numperseq <= SEEDS_PER_SEQ -c - call MPI_Gather( myseeds, numperseq, MPI_INTEGER, iseedrng, - $ SEEDS_PER_SEQ, MPI_INTEGER, 0, MPI_COMM_WORLD, ierr ) -c - if ( ierr .gt. 0 ) then - write( lunerr, '(a,i,a)' ) 'GpWr(iteRng)Seeds: Error ', ierr, - $ ' in Mpi_gather ' - goto 9999 - endif -#endif -#endif -c Write out the header and then all the seeds, on node 0 only !! -c - if ( nrank .eq. 0 ) then - write(lunwr, 900 ) 'Version ', version, - $ ' of pRNG seed file for parallel Geant ' - - write(lunwr, 905) 'RNG ', chNameRng, - $ ' Identity of pseudorandom Number generator ' - write(lunwr, 910) 'SUBSEQ ', nsubseq, - $ ' Number of subsequences ' - write(lunwr, 910) 'NOPERSEQ ', numperseq, - $ ' Numbers per subsequence ' - write(lunwr, 910) 'NPERLINE ', nperline, - $ ' Numbers per line ' - write(lunwr, 920) 'ENDPROLOG' - - - DO isubseq= 1, nsubseq - write(lunwr, 930 ) ' Subsequence ' , isubseq - DO inumb= 1, numperseq, nperline - imax=max(inumb+nperline-1,numperseq) - write( lunwr, 940 ) ( iseedrng( ino, isubseq ), - $ ino=inumb, imax) - ENDDO - ENDDO - - if (lunwrite .lt. 0) then - close (unit=lunwr) - endif - - endif - - 900 format( a8, f5.2, a ) - 905 format( a7, a12, a ) - 910 format( a9, i6, a ) - 920 format( a ) - 930 format( a14, i6 ) - 940 format( 8i15 ) - - -9999 continue - - return - end -#else - SUBROUTINE GPWRITERNG_DUMMY - END -#endif diff --git a/StarVMC/geant3/gparal/pbarrier.F b/StarVMC/geant3/gparal/pbarrier.F deleted file mode 100644 index fafab6f27a7..00000000000 --- a/StarVMC/geant3/gparal/pbarrier.F +++ /dev/null @@ -1,27 +0,0 @@ -*CMZ : 23/03/95 14.24.24 by John Apostolakis CERN GP-MIMD 2 -*-- Author : John Apostolakis CERN GP-MIMD 2 23/03/95 -#if defined(CERNLIB_PARA) - subroutine pbarrier - implicit none -c -c Any processes making this call will wait, until all processes -c have arrived at this point. -c -#include "geant321/mpifinc.inc" -#include "geant321/gcunit.inc" - integer ierr - -c It would make sense when debugging to include the following write: -c write (lout,*) ' Entering barrier: if any process cannot reach ', -c ' this point the program will hang here ' -c - call MPI_barrier( MPI_COMM_WORLD, ierr ) - if ( ierr .lt. 0 ) then - write (lout,*) ' There was error ', ierr, ' in pbarrier ' - endif - return - end -#else - SUBROUTINE PBARRIER_DUMMY - END -#endif diff --git a/StarVMC/geant3/gphys/ganni.F b/StarVMC/geant3/gphys/ganni.F deleted file mode 100644 index 0a8c84bcf85..00000000000 --- a/StarVMC/geant3/gphys/ganni.F +++ /dev/null @@ -1,211 +0,0 @@ -* -* $Id: ganni.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: ganni.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1996/02/27 10:08:11 ravndal -* Precision problem in cos(theta) solved -* -* Revision 1.1.1.1 1995/10/24 10:21:21 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3ANNI -C. -C. ****************************************************************** -C. * * -C. * Generates positron annihilation * -C. * * -C. * ==>Called by : G3TELEC * -C. * Author L.Urban ********* * -C. * 10/06/93: modified by Georges Azuelos (Vancouver) * -C * to include 1-quantum annihilation * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcking.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcbank.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmate.inc" - DIMENSION PGAM(3),RNDM(2) - LOGICAL ROTATE - PARAMETER (ALFA=7.29735E-3) -C. -C. ------------------------------------------------------------------ -C. - KCASE = NAMEC(11) - IF((IANNI.NE.1).OR.((GETOT+EMASS).LE.CUTGAM)) THEN - ISTOP = 2 - DESTEP = DESTEP + GETOT + EMASS - GEKIN = 0. - GETOT = EMASS - VECT(7)= 0. - GO TO 999 - ENDIF -C - XE=GETOT - GAM=XE/EMASS - GAM2=GAM**2 - GAM1=MAX(GAM2-1.,0.) - GAMP1=GAM+1. - C=SQRT(GAM1) -* - SIG=(GAM2+4.*GAM+1.)*LOG(GAM+C)/GAM1-(GAM+3.)/C - SIG=0.5*Q(JPROB+17)*SIG/GAMP1 -* - BIND=0.5*(Z*ALFA)**2*EMASS - E1Q=XE+EMASS-BIND - IF(E1Q .GT. 0.)THEN - GVE=VECT(7)/EMASS - SIG1=GAM2+2.*(GAM+2.)/3.-(GAM+2.)/GVE*LOG(GAM+GVE) - SIG1=2.*Q(JPROB+18)*SIG1/(GVE*GAMP1**2) - ELSE - SIG1=0. - END IF -* - SIG=SIG+SIG1 - CALL GRNDM(RNDM,1) -C - IF(RNDM(1).GE.SIG1/SIG)THEN - GAMP12=GAMP1**2 - P=VECT(7) - E0=1./(GAMP1+C) -C - 10 CALL GRNDM(RNDM,2) - E=E0*((1.-E0)/E0)**RNDM(1) -C - SCREJ=(GAMP12+2.*GAMP1-2.-GAMP12*E-1./E)/(GAMP12-2.) - IF(RNDM(2).GT.SCREJ) GOTO 10 -C - EPHOT1=(XE+EMASS)*E -C - COSTH=(GEKIN+EMASS*(2.*E-1.)/E)/P -C -C restrict COSTH to [-1.,+1.] -C - COSTH = MIN( 1. , MAX( -1. , COSTH ) ) - SINTH=SQRT((1.-COSTH)*(1.+COSTH)) - CALL GRNDM(RNDM,1) - PHI = TWOPI * RNDM(1) - COSPHI = COS(PHI) - SINPHI = SIN(PHI) -C - PGAM(1) = EPHOT1* SINTH * COSPHI - PGAM(2) = EPHOT1* SINTH * SINPHI - PGAM(3) = EPHOT1* COSTH -C -C Rotate tracks into GEANT system and store. -C - CALL G3FANG(VECT(4),COSAL,SINAL,COSBT,SINBT,ROTATE) -C -C Polar co-ordinates to momentum components. -C - NGGAMM = 0 - IF(EPHOT1.GT.CUTGAM) THEN - NGGAMM = NGGAMM + 1 - NGKINE = NGKINE + 1 - GKIN(1,NGKINE) = PGAM(1) - GKIN(2,NGKINE) = PGAM(2) - GKIN(3,NGKINE) = PGAM(3) - GKIN(4,NGKINE) = EPHOT1 - GKIN(5,NGKINE) = 1 - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - IF(ROTATE) - + CALL G3DROT(GKIN(1,NGKINE),COSAL,SINAL,COSBT,SINBT) - ELSE - DESTEP = DESTEP + EPHOT1 - ENDIF -C -C Momentum vector of second photon. -C - EPHOT2 = GETOT + EMASS - EPHOT1 - IF(EPHOT2.GT.CUTGAM) THEN - NGGAMM = NGGAMM + 1 - NGKINE = NGKINE + 1 - GKIN(1,NGKINE) = - PGAM(1) - GKIN(2,NGKINE) = - PGAM(2) - GKIN(3,NGKINE) = P - PGAM(3) - GKIN(4,NGKINE) = EPHOT2 - GKIN(5,NGKINE) = 1 - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - IF(ROTATE) - + CALL G3DROT(GKIN(1,NGKINE),COSAL,SINAL,COSBT,SINBT) - ELSE - DESTEP = DESTEP + EPHOT2 - ENDIF - ELSE -C 1-quantum annihilation - P=VECT(7) - EPHOT=E1Q -C Assume photon collinear with positron - PGAM(1) = 0. - PGAM(2) = 0. - PGAM(3) = EPHOT -C -C Rotate tracks into GEANT system and store. -C - CALL G3FANG(VECT(4),COSAL,SINAL,COSBT,SINBT,ROTATE) -C -C Polar co-ordinates to momentum components. -C - NGGAMM = 0 - IF(EPHOT.GT.CUTGAM) THEN - NGGAMM = NGGAMM + 1 - NGKINE = NGKINE + 1 - GKIN(1,NGKINE) = PGAM(1) - GKIN(2,NGKINE) = PGAM(2) - GKIN(3,NGKINE) = PGAM(3) - GKIN(4,NGKINE) = EPHOT - GKIN(5,NGKINE) = 1 - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - IF(ROTATE) - + CALL G3DROT(GKIN(1,NGKINE),COSAL,SINAL,COSBT,SINBT) - ELSE - DESTEP = DESTEP + EPHOT - ENDIF - END IF -C - IF(NGGAMM.GT.0) THEN - ISTOP = 1 - ELSE - ISTOP = 2 - ENDIF -C - 999 END diff --git a/StarVMC/geant3/gphys/ganni2.F b/StarVMC/geant3/gphys/ganni2.F deleted file mode 100644 index 87d168e5f30..00000000000 --- a/StarVMC/geant3/gphys/ganni2.F +++ /dev/null @@ -1,81 +0,0 @@ -* -* $Id: ganni2.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: ganni2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:21 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3ANNI2 -C. -C. ****************************************************************** -C. * * -C. * Generates positron annihilation at rest * -C. * (alias of G3ANNIR , directly called from G3PAIRG) * -C. * * -C. * ==>Called by : G3PAIRG,G3PAIRM * -C. * Author M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcking.inc" -#include "geant321/gccuts.inc" -#include "geant321/gconsp.inc" - DIMENSION RNDM(2) -C. - KCASE = NAMEC(11) - IF((IANNI.NE.1).OR.(EMASS.LE.CUTGAM)) THEN - DESTEP = DESTEP + 2*EMASS - GO TO 999 - ENDIF - CALL GRNDM(RNDM,2) - CT=-1.+2.*RNDM(1) - ST=SQRT((1.-CT)*(1.+CT)) - PHI=TWOPI*RNDM(2) - NGKINE=NGKINE+1 - GKIN(1,NGKINE)=EMASS*ST*COS(PHI) - GKIN(2,NGKINE)=EMASS*ST*SIN(PHI) - GKIN(3,NGKINE)=EMASS*CT - GKIN(4,NGKINE)=EMASS - GKIN(5,NGKINE)=1. - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - NGKINE=NGKINE+1 - DO 10 J=1,3 - 10 GKIN(J,NGKINE)=-GKIN(J,NGKINE-1) - GKIN(4,NGKINE)=EMASS - GKIN(5,NGKINE)=1. - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) -C - 999 END diff --git a/StarVMC/geant3/gphys/gannii.F b/StarVMC/geant3/gphys/gannii.F deleted file mode 100644 index 89e8a5b3d2c..00000000000 --- a/StarVMC/geant3/gphys/gannii.F +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: gannii.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gannii.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:21 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3ANNII -C. -C. ****************************************************************** -C. * * -C. * Calculates cross-section in current material * -C. * for positron annihilation * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Authors R.Brun, L.Urban ********* * -C. * 10/06/93: modified by Georges Azuelos (Vancouver) * -C * to include 1-quantum annihilation * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -C. -C. ------------------------------------------------------------------ -C. - SIG=0. - IF(Z.GE.1.) THEN - XE=ELOW(IEKBIN)+EMASS - GAM=XE/EMASS - GAM2=GAM**2 - GAM1=MAX(GAM2-1.,0.) - C=SQRT(GAM1) -* - SIG=(GAM2+4.*GAM+1.)*LOG(GAM+C)/GAM1-(GAM+3.)/C - SIG=0.5*Q(JPROB+17)*SIG/(GAM+1.) - PE=SQRT((XE-EMASS)*(XE+EMASS)) -* - GVE=PE/EMASS - SIG1=GAM2+2.*(GAM+2.)/3.-(GAM+2.)/GVE*LOG(GAM+GVE) - SIG1=2.*Q(JPROB+18)*SIG1/(GVE*(GAM+1.)**2) -* - SIG=SIG+SIG1 - ENDIF - IF(SIG.GT.0.)THEN - Q(JANNI+IEKBIN)=1./SIG - ELSE - Q(JANNI+IEKBIN)=BIG - ENDIF -C - END diff --git a/StarVMC/geant3/gphys/gannir.F b/StarVMC/geant3/gphys/gannir.F deleted file mode 100644 index 53fafc581db..00000000000 --- a/StarVMC/geant3/gphys/gannir.F +++ /dev/null @@ -1,83 +0,0 @@ -* -* $Id: gannir.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gannir.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:21 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3ANNIR -C. -C. ****************************************************************** -C. * * -C. * Generates positron annihilation in rest * -C. * * -C. * ==>Called by : G3TELEC * -C. * Author L.Urban, M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcking.inc" -#include "geant321/gconsp.inc" - DIMENSION RNDM(2) -C. -C. ------------------------------------------------------------------ -C. - KCASE = NAMEC(11) - IF((IANNI.NE.1).OR.(EMASS.LE.CUTGAM)) THEN - ISTOP = 2 - DESTEP = DESTEP + 2*EMASS - RETURN - ENDIF - ISTOP = 1 - CALL GRNDM(RNDM,2) - CT=-1.+2.*RNDM(1) - ST=SQRT(ABS(1.-CT*CT)) - PHI=TWOPI*RNDM(2) - NGKINE=NGKINE+1 - GKIN(1,NGKINE)=EMASS*ST*COS(PHI) - GKIN(2,NGKINE)=EMASS*ST*SIN(PHI) - GKIN(3,NGKINE)=EMASS*CT - GKIN(4,NGKINE)=EMASS - GKIN(5,NGKINE)=1. - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - NGKINE=NGKINE+1 - DO 30 J=1,3 - 30 GKIN(J,NGKINE)=-GKIN(J,NGKINE-1) - GKIN(4,NGKINE)=EMASS - TOFD(NGKINE)=0. - GKIN(5,NGKINE)=1. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - END diff --git a/StarVMC/geant3/gphys/gavrl2.F b/StarVMC/geant3/gphys/gavrl2.F deleted file mode 100644 index 89e7ee97db4..00000000000 --- a/StarVMC/geant3/gphys/gavrl2.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: gavrl2.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gavrl2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:21 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - REAL FUNCTION G3AVRL2(GAMA,BETA,XM) -C. -C. ****************************************************************** -C. * * -C. * L2 shell x-section a la Gavrila * -C. * Gama - L2 shell photoelectron gama * -C. * Beta - L2 shell photoelectron beta * -C. * XM - ratio of the electron mass to the photon energy * -C. * * -C. * ==>CALLED BY : G3PHOT * -C. * AUTHOR : J. Chwastowski * -C. * * -C. ****************************************************************** -C. -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION G,G2,G3,B,P1,P2,P3 -#endif - G = GAMA - G2 = G*G - G3 = G2*G - B = BETA - P1 = (9*G3-5*G2+24*G-16) - P2 = -(G2+3*G-8) - P3 = 1 - IF(B.GT.0.0001) P3 = LOG(G*(1+B))/(B*G) - G3AVRL2 = (P1+P2*P3)*B*G*XM**5 - END diff --git a/StarVMC/geant3/gphys/gavrl3.F b/StarVMC/geant3/gphys/gavrl3.F deleted file mode 100644 index 1187f0cf9af..00000000000 --- a/StarVMC/geant3/gphys/gavrl3.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: gavrl3.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gavrl3.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:21 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - REAL FUNCTION G3AVRL3(GAMA,BETA,XM) -C. -C. ****************************************************************** -C. * * -C. * L3 shell x-section a la Gavrila * -C. * Gama - L3 shell photoelectron gama * -C. * Beta - L3 shell photoelectron beta * -C. * XM - ratio of the electron mass to the photon energy * -C. * * -C. * ==>CALLED BY : G3PHOT * -C. * AUTHOR : J. Chwastowski * -C. * * -C. ****************************************************************** -C. -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION G,G2,G3,B,P1,P2,P3 -#endif - G = GAMA - G2 = G*G - G3 = G2*G - B = BETA - P1 = (4*G3-6*G2+5*G+3) - P2 = -(G2-3*G+4) - P3 = 1 - IF(BETA.GT.0.0001) P3 = LOG(G*(1+B))/(B*G) - G3AVRL3 = (P1+P2*P3)*B*G*XM**5 - END diff --git a/StarVMC/geant3/gphys/gbflos.F b/StarVMC/geant3/gphys/gbflos.F deleted file mode 100644 index 115e16d7e2d..00000000000 --- a/StarVMC/geant3/gphys/gbflos.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: gbflos.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gbflos.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:32 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:21 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - FUNCTION G3BFLOS(T,C) -C. ****************************************************************** -C. * * -C. * It calculates a weight factor for the positron continuous * -C. * bremsstrahlung energy loss. * -C. * * -C. * Input:T kinetic energy (GeV) * -C. * C cut for bremsstrahlung (BCUTE) * -C. * ETA ratio of positron to electron brems loss * -C. * Output: weight factor * -C. * * -C. * ===> positron loss = FLOS * electron loss <=== * -C. * * -C. * Author L. Urban * -C. * * -C. ****************************************************************** -C. - ETA = G3CBREM(T) - IF(ETA.LT.0.0001) THEN - F=1.E-10 - ELSEIF(ETA.GT.0.9999) THEN - F=1. - ELSE -C - E0=C/T - IF(E0.GT.1.) E0=1. -C - IF(E0.LT.1.E-8) THEN - F=1. - ELSE - ALFA=1./ETA - E1=1.-E0 - F=ETA*(1.-E1**ALFA)/E0 - ENDIF -C - ENDIF -* - G3BFLOS=F - END diff --git a/StarVMC/geant3/gphys/gbfsig.F b/StarVMC/geant3/gphys/gbfsig.F deleted file mode 100644 index fae5de90d6a..00000000000 --- a/StarVMC/geant3/gphys/gbfsig.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: gbfsig.F,v 1.1.1.2 2009/02/01 17:10:30 fisyak Exp $ -* -* $Log: gbfsig.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:30 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:21 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - FUNCTION G3BFSIG(T,C) -C. ****************************************************************** -C. * * -C. * It calculates a weight factor for the positron discrete * -C. * (hard) bremsstrahlung cross section * -C. * * -C. * Input:T kinetic energy (GeV) * -C. * C cut for bremsstrahlung (BCUTE) * -C. * ETA ratio of positron to electron brems cross section * -C. * Output: weight factor * -C. * * -C. * ===> positron sigma = Fsig * electron sigma <=== * -C. * * -C. * Author L. Urban * -C. * * -C. ****************************************************************** -C. - ETA = G3CBREM(T) - IF(ETA.LT.0.0001) THEN - F=1.E-10 - ELSEIF(ETA.GT.0.9999) THEN - F=1. - ELSE -C - E0=C/T -C - IF(E0.GE.1.) THEN - F=1.E-10 - ELSE - ALFA=1./ETA - E1=1.-E0 - F=ETA*E1**ALFA/E1 - ENDIF - ENDIF -C - G3BFSIG=F - END diff --git a/StarVMC/geant3/gphys/gbirk.F b/StarVMC/geant3/gphys/gbirk.F deleted file mode 100644 index 793f17da9b3..00000000000 --- a/StarVMC/geant3/gphys/gbirk.F +++ /dev/null @@ -1,96 +0,0 @@ -* -* $Id: gbirk.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbirk.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3BIRK(EDEP) -* -************************************************************************ -* * -* *** apply BIRK's saturation law to energy deposition *** * -* *** only organic scintillators implemented in this version MODEL=1 * -* * -* Note : the material is assumed ideal, which means that impurities * -* and aging effects are not taken into account * -* * -* algorithm : edep = destep / (1. + RKB*dedx + C*(dedx)**2) * -* * -* the values of RKB and C can be entered via : * -* * -* call gstpar(imate,'BIRK1',value) to set the model (must be 1 or 2) * -* call gstpar(imate,'BIRK2',value) to set RKB * -* call gstpar(imate,'BIRK3',value) to set C * -* * -* the basic units of the coefficient are g/(Mev*cm**2) * -* because the de/dx is obtained in Mev/cm * -* * -* exp. values from NIM 80 (1970) 239-244 : * -* * -* RKB = 0.013 g/mev*cm**2 and C = 9.6e-6 g**2/(Mev**2)(cm**4) * -* * -* ==>Called by : ,GUSTEP * -* Author R.Brun , N.Van Eijndhoven ********* * -* * -************************************************************************ -* -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gckine.inc" -#include "geant321/gcmate.inc" -#include "geant321/gctrak.inc" -C. -C. ------------------------------------------------------------------ -C. - EDEP=DESTEP -C -C --- no saturation law for neutral particles --- - IF (ABS(CHARGE) .LE. 1.E-10) GO TO 99 -C -C --- get the values for the BIRK coefficients stored via GSTPAR --- - JTMN=LQ(JTM) - IF (JTMN .LE. 0)GO TO 99 - MODEL=Q(JTMN+27) - IF(MODEL.GT.2)GO TO 99 - RKB=Q(JTMN+28)/DENS - C=Q(JTMN+29)/DENS**2 -C -C --- correction for particles with more than 1 charge unit --- -C --- based on alpha particle data (only apply for MODEL=1) --- - IF(MODEL.EQ.1)THEN - IF (ABS(CHARGE) .GE. 2.) RKB=RKB*7.2/12.6 - ENDIF -C - DEDXCM=1000.*Q(JLOSS+IEKBIN) -C - EDEP=DESTEP/(1.+RKB*DEDXCM+C*DEDXCM**2) -C - 99 RETURN - END - diff --git a/StarVMC/geant3/gphys/gbrela.F b/StarVMC/geant3/gphys/gbrela.F deleted file mode 100644 index 25c6ebf8b78..00000000000 --- a/StarVMC/geant3/gphys/gbrela.F +++ /dev/null @@ -1,200 +0,0 @@ -* -* $Id: gbrela.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbrela.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3BRELA -C. -C. ****************************************************************** -C. * * -C. * Initialize the bremsstrahlung energy loss tables * -C. * ( See L.Urban report) * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Author G.Patrick, L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gctrak.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" - DIMENSION DEM(8) - DATA DEM/-6.76228E-1,4.35611E-1,-4.69224E-1,-7.05133E-3, - + 1.31200,-8.07563E-1,-6.96166E-1,3.62549E-1/ -C. -C. ------------------------------------------------------------------ -C. -C Number of constituents(ie. element,mixture or compound). -C - NLMAT = Q(JMA+11) - NLM = IABS(NLMAT) - IF (NLMAT.EQ.0) GO TO 999 - IF(Z.LT.1.) GO TO 999 -C - JEL1=LQ(JMA-1) - JEL2=LQ(JMA-2) - ICHAN=IEKBIN - XE = ELOW(ICHAN) - XE1 = 10.**(EKBIN(1)+(ICHAN-0.5)/GEKA) -C -C==========> A,Bremsstrahlung losses for electrons -C special treatment for compounds/mixtures -C - IF(JMIXT.EQ.0)THEN -C -C simple material (element) -C - DEDX=G3BRELE(Z,XE,BCUTE) - DEDX=AVO*DENS*DEDX/A -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - DEDX1=G3BRELE(Z,XE1,BCUTE) - DEDX1=AVO*DENS*DEDX1/A - ENDIF - ELSE -C -C compound/mixture -C - DEDX=0. - DEDX1=0. - DO 10 L=1,NLM - J = JMIXT+NLM+L - AA = Q(J-NLM) - ZZ = Q(J) - WMAT= Q(J+NLM) - S = G3BRELE(ZZ,XE,BCUTE) - S = WMAT*S/AA - DEDX= DEDX+AVO*DENS*S -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - S = G3BRELE(ZZ,XE1,BCUTE) - S = WMAT*S/AA - DEDX1= DEDX1+AVO*DENS*S - ENDIF - 10 CONTINUE - ENDIF -C - IF(DEDX.LT.0.)DEDX=0. - Q(JEL1+ICHAN)=Q(JEL1+ICHAN)+DEDX - FACT = G3BFLOS(XE,BCUTE) - Q(JEL1+ICHAN+NEK1)=Q(JEL1+ICHAN+NEK1)+FACT*DEDX -* - IF(ISTRA.NE.0) Q(JEL1+ICHAN+2*NEK1) = DEDX -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - IF(DEDX1.LT.0.)DEDX1=0. - WS(ICHAN)=WS(ICHAN)+DEDX1 - FACT = G3BFLOS(XE1,BCUTE) - WS(NEKBIN+ICHAN)=WS(NEKBIN+ICHAN)+FACT*DEDX1 - ENDIF -C -C===========> B, Bremsstrahlung losses for muons -C - IF(XE.GE.1.)GO TO 20 - CONS1=3.26485E-8*Z*Z*DENS/A - CONS2=LOG(2.70511)-LOG(A)/3. - R=EMMU/(XE+EMMU) - RL=LOG(R) - DEDX=DEM(1)+RL*DEM(3)+R*(DEM(5)+R*DEM(7)) - DEDX=DEDX+CONS2*(DEM(2)+RL*DEM(4)+R*(DEM(6)+R*DEM(8))) - DEDX=CONS1*XE*DEDX - IF(DEDX.LT.0.)DEDX=0. - Q(JEL2+ICHAN)=Q(JEL2+ICHAN)+DEDX -* - IF(ISTRA.NE.0) Q(JEL2+ICHAN+NEK1) = DEDX -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - R=EMMU/(XE1+EMMU) - RL=LOG(R) - DEDX1=DEM(1)+RL*DEM(3)+R*(DEM(5)+R*DEM(7)) - DEDX1=DEDX1+CONS2*(DEM(2)+RL*DEM(4)+R*(DEM(6)+R*DEM(8))) - DEDX1=CONS1*XE1*DEDX1 - IF(DEDX1.LT.0.)DEDX1=0. - WS(NEKBIN*2+ICHAN) = WS(NEKBIN*2+ICHAN)+DEDX1 - ENDIF - GO TO 999 -C - 20 IF(JMIXT.EQ.0)THEN -C -C simple material (element) -C - DEDX=G3BRELM(Z,XE,BCUTM) - DEDX=AVO*DENS*DEDX/A -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - DEDX1=G3BRELM(Z,XE1,BCUTM) - DEDX1=AVO*DENS*DEDX1/A - ENDIF - ELSE -C -C compound/mixture -C - DEDX=0. - DEDX1=0. - DO 30 L=1,NLM - J = JMIXT+NLM+L - AA = Q(J-NLM) - ZZ = Q(J) - WMAT= Q(J+NLM) - S = G3BRELM(ZZ,XE,BCUTM) - S = WMAT*S/AA - DEDX= DEDX+AVO*DENS*S -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - S = G3BRELM(ZZ,XE1,BCUTM) - S = WMAT*S/AA - DEDX1= DEDX1+AVO*DENS*S - ENDIF - 30 CONTINUE - ENDIF -C - IF(DEDX.LT.0.)DEDX=0. - Q(JEL2+ICHAN)=Q(JEL2+ICHAN)+DEDX -* - IF(ISTRA.NE.0) Q(JEL2+ICHAN+NEK1) = DEDX -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - IF(DEDX1.LT.0.)DEDX1=0. - WS(NEKBIN*2+ICHAN)=WS(NEKBIN*2+ICHAN)+DEDX1 - ENDIF -C - 999 END diff --git a/StarVMC/geant3/gphys/gbrele.F b/StarVMC/geant3/gphys/gbrele.F deleted file mode 100644 index 2443a0022ff..00000000000 --- a/StarVMC/geant3/gphys/gbrele.F +++ /dev/null @@ -1,224 +0,0 @@ -* -* $Id: gbrele.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbrele.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1996/09/30 13:30:03 ravndal -* Bremsstrahlung extension for higher energies -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - FUNCTION G3BRELE(ZZ,T,BCUT) -C. -C. ****************************************************************** -C. * * -C. * Calculates energy loss by soft Bremsstrahlung * -C. * (in GeV barn/atom) * -C. * * -C. * ==>Called by : G3BRELA * -C. * Author L.Urban ********* * -C. * ( correction for T>100. GeV) * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" - DIMENSION C(100),C1(60),C2(40) - EQUIVALENCE (C(1),C1(1)),(C(61),C2(1)) -#if !defined(CERNLIB_BETHE) - DATA C1/-0.960613E-01, 0.631029E-01,-0.142819E-01, 0.150437E-02 - + ,-0.733286E-04, 0.131404E-05, 0.859343E-01,-0.529023E-01 - + , 0.131899E-01,-0.159201E-02, 0.926958E-04,-0.208439E-05 - + ,-0.684096E+01, 0.370364E+01,-0.786752E+00, 0.822670E-01 - + ,-0.424710E-02, 0.867980E-04,-0.200856E+01, 0.129573E+01 - + ,-0.306533E+00, 0.343682E-01,-0.185931E-02, 0.392432E-04 - + , 0.127538E+01,-0.515705E+00, 0.820644E-01,-0.641997E-02 - + , 0.245913E-03,-0.365789E-05, 0.115792E+00,-0.463143E-01 - + , 0.725442E-02,-0.556266E-03, 0.208049E-04,-0.300895E-06 - + ,-0.271082E-01, 0.173949E-01,-0.452531E-02, 0.569405E-03 - + ,-0.344856E-04, 0.803964E-06, 0.419855E-02,-0.277188E-02 - + , 0.737658E-03,-0.939463E-04, 0.569748E-05,-0.131737E-06 - + ,-0.318752E-03, 0.215144E-03,-0.579787E-04, 0.737972E-05 - + ,-0.441485E-06, 0.994726E-08, 0.938233E-05,-0.651642E-05 - + , 0.177303E-05,-0.224680E-06, 0.132080E-07,-0.288593E-09/ - DATA C2/-0.245667E-03, 0.833406E-04,-0.129217E-04, 0.915099E-06 - + ,-0.247179E-07, 0.147696E-03,-0.498793E-04, 0.402375E-05 - + , 0.989281E-07,-0.133378E-07,-0.737702E-02, 0.333057E-02 - + ,-0.553141E-03, 0.402464E-04,-0.107977E-05,-0.641533E-02 - + , 0.290113E-02,-0.477641E-03, 0.342008E-04,-0.900582E-06 - + , 0.574303E-05, 0.908521E-04,-0.256900E-04, 0.239921E-05 - + ,-0.741271E-07,-0.341260E-04, 0.971711E-05,-0.172031E-06 - + ,-0.119455E-06, 0.704166E-08, 0.341740E-05,-0.775867E-06 - + ,-0.653231E-07, 0.225605E-07,-0.114860E-08,-0.119391E-06 - + , 0.194885E-07, 0.588959E-08,-0.127589E-08, 0.608247E-10/ - DATA AKSI,BETA,VE/2.51,0.99,0.00004/ -#endif -#if defined(CERNLIB_BETHE) - DATA C1/ 0.834459E-02, 0.443979E-02,-0.101420E-02, 0.963240E-04 - + ,-0.409769E-05, 0.642589E-07, 0.464473E-02,-0.290378E-02 - + , 0.547457E-03,-0.426949E-04, 0.137760E-05,-0.131050E-07 - + ,-0.547866E-02, 0.156218E-02,-0.167352E-03, 0.101026E-04 - + ,-0.427518E-06, 0.949555E-08,-0.406862E-02, 0.208317E-02 - + ,-0.374766E-03, 0.317610E-04,-0.130533E-05, 0.211051E-07 - + , 0.158941E-02,-0.385362E-03, 0.315564E-04,-0.734968E-06 - + ,-0.230387E-07, 0.971174E-09, 0.467219E-03,-0.154047E-03 - + , 0.202400E-04,-0.132438E-05, 0.431474E-07,-0.559750E-09 - + ,-0.220958E-02, 0.100698E-02,-0.596464E-04,-0.124653E-04 - + , 0.142999E-05,-0.394378E-07, 0.477447E-03,-0.184952E-03 - + ,-0.152614E-04, 0.848418E-05,-0.736136E-06, 0.190192E-07 - + ,-0.552930E-04, 0.209858E-04, 0.290001E-05,-0.133254E-05 - + , 0.116971E-06,-0.309716E-08, 0.212117E-05,-0.103884E-05 - + ,-0.110912E-06, 0.655143E-07,-0.613013E-08, 0.169207E-09/ - DATA C2/ 0.301125E-04,-0.461920E-04, 0.871485E-05,-0.622331E-06 - + , 0.151800E-07,-0.478023E-04, 0.247530E-04,-0.381763E-05 - + , 0.232819E-06,-0.494487E-08,-0.336230E-04, 0.223822E-04 - + ,-0.384583E-05, 0.252867E-06,-0.572599E-08, 0.105335E-04 - + ,-0.567074E-06,-0.216564E-06, 0.237268E-07,-0.658131E-09 - + , 0.282025E-05,-0.671965E-06, 0.565858E-07,-0.193843E-08 - + , 0.211839E-10, 0.157544E-04,-0.304104E-05,-0.624410E-06 - + , 0.120124E-06,-0.457445E-08,-0.188222E-05,-0.407118E-06 - + , 0.375106E-06,-0.466881E-07, 0.158312E-08, 0.945037E-07 - + , 0.564718E-07,-0.319231E-07, 0.371926E-08,-0.123111E-09/ - DATA AKSI,BETA,VE/2.10,1.00,0.001/ -#endif - DATA CORFAC/0.805485E-10/ -C. - DATA THIGH,CHIGH/100.,50./ -C. ------------------------------------------------------------------ -C. - G3BRELE=0. - - IF(BCUT.LE.0.) GOTO 99 -************************************ - CUTSAV=BCUT - IF(BCUT.GT.T) BCUT=T -************************************* - IF(T.GT.THIGH) THEN - TT=THIGH - IF(BCUT.GE.THIGH) THEN - EC=CHIGH - ELSE - EC=BCUT - ENDIF - ELSE - TT=T - EC=BCUT - ENDIF - - E=TT+EMASS - IF(BCUT.GT.TT) EC=TT -C - X=LOG(TT/EMASS) - Y=LOG(EC/(E*VE)) -C - S=0. - YY=1. - DO 30 I=1,2 - XX=1. - DO 20 J=1,6 - K=6*I+J-6 - S=S+C(K)*XX*YY - XX=XX*X - 20 CONTINUE - YY=YY*Y - 30 CONTINUE - DO 50 I=3,6 - XX=1. - DO 40 J=1,6 - K=6*I+J-6 - IF(Y.LE.0.) THEN - S=S+C(K)*XX*YY - ELSE - S=S+C(K+24)*XX*YY - ENDIF - XX=XX*X - 40 CONTINUE - YY=YY*Y - 50 CONTINUE - SS=0. - YY=1. - DO 70 I=1,2 - XX=1. - DO 60 J=1,5 - K=5*I+J+55 - SS=SS+C(K)*XX*YY - XX=XX*X - 60 CONTINUE - YY=YY*Y - 70 CONTINUE - DO 90 I=3,5 - XX=1. - DO 80 J=1,5 - K=5*I+J+55 - IF(Y.LE.0.) THEN - SS=SS+C(K)*XX*YY - ELSE - SS=SS+C(K+15)*XX*YY - ENDIF - XX=XX*X - 80 CONTINUE - YY=YY*Y - 90 CONTINUE -C - S=S+Z*SS - IF(S.LE.0.) GOTO 99 -C -#if !defined(CERNLIB_BETHE) - CORR=1./(1.+CORFAC*DENS*Z*E*E/(A*EC*EC)) -#endif -#if defined(CERNLIB_BETHE) - CORR=1. -#endif - FAC=ZZ*(ZZ+AKSI)*E*E*(EC*CORR/TT)**BETA/(E+EMASS) - IF(FAC.LE.0.) GOTO 99 -C - G3BRELE=FAC*S - - IF(T.GT.THIGH) THEN - - IF(BCUT.LT.THIGH) THEN - RAT=BCUT/T - S=(1.-0.5*RAT+2.*RAT*RAT/9.) - RAT=BCUT/TT - S=S/(1.-0.5*RAT+2.*RAT*RAT/9.) - ELSE - RAT=BCUT/T - S=BCUT*(1.-0.5*RAT+2.*RAT*RAT/9.) - RAT=EC/TT - S=S/(EC*(1.-0.5*RAT+2.*RAT*RAT/9.)) - ENDIF - - G3BRELE=G3BRELE*S - ENDIF -****************************************** - BCUT=CUTSAV -****************************************** -C - 99 RETURN - END - diff --git a/StarVMC/geant3/gphys/gbrelm.F b/StarVMC/geant3/gphys/gbrelm.F deleted file mode 100644 index f8a322570db..00000000000 --- a/StarVMC/geant3/gphys/gbrelm.F +++ /dev/null @@ -1,136 +0,0 @@ -* -* $Id: gbrelm.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbrelm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - FUNCTION G3BRELM(Z,T,BCUT) -C. -C. ****************************************************************** -C. * * -C. * To calculate energy loss due to soft muon BREMSSTRAHLUNG. * -C. * * -C. * ==>Called by : G3BRELA * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION C(52),D(28) - DATA C/0.615548E-07,-0.858333E-07, 0.148015E-06,-0.220289E-07 - + , 0.162987E-08,-0.305945E-10, 0.170957E-06,-0.272156E-06 - + , 0.610418E-07,-0.768052E-08, 0.391729E-09,-0.104624E-10 - + , 0.412993E-07,-0.373362E-08,-0.110920E-08, 0.571124E-09 - + ,-0.477538E-10, 0.169448E-11, 0.323774E-08,-0.305497E-08 - + , 0.758138E-09,-0.121885E-09, 0.857707E-11,-0.253742E-12 - + , 0.133703E-08,-0.676756E-09, 0.147782E-09,-0.136039E-10 - + , 0.556182E-12,-0.634277E-14, 0.847418E-10,-0.288608E-10 - + , 0.224661E-11, 0.514422E-13,-0.122288E-13, 0.333673E-15 - + ,-0.153886E-08, 0.100179E-08,-0.149457E-09, 0.734506E-11 - + ,-0.507324E-09, 0.146362E-09,-0.126608E-10, 0.778818E-13 - + ,-0.161333E-10,-0.199252E-11, 0.100270E-11,-0.347404E-13 - + ,-0.465077E-11, 0.121078E-11,-0.131113E-12, 0.431515E-14/ - DATA D/-0.389616E-05,-0.130106E-09, 0.101380E-04, 0.259032E-07 - + ,-0.816804E-07,-0.961867E-05,-0.603907E-08, 0.192015E-07 - + , 0.772670E-08, 0.459337E-05, 0.761272E-09,-0.251956E-08 - + , 0.483037E-10,-0.289802E-08,-0.117497E-05,-0.484372E-10 - + , 0.155476E-09,-0.218604E-10, 0.812047E-10, 0.380265E-09 - + , 0.154338E-06, 0.118357E-11,-0.367778E-11, 0.119199E-11 - + ,-0.273719E-11,-0.201239E-11,-0.221931E-10,-0.818793E-08/ -C - DATA AKSI,BETA,DEL/2.20,1.24,0.58/ -C - DATA CONMX/0.130653/ -C CONMX=0.75*SQRT(2.7182...)*EMMU -C. -C. ------------------------------------------------------------------ -C. - G3BRELM=0. - IF(BCUT.LE.0.) GOTO 99 -C - Z3=Z**0.333333 - E=T+EMMU - ECMAX=E-CONMX*Z3 - X=LOG(E/EMMU) - IF(BCUT.GE.ECMAX) GOTO 60 -C - Y=LOG(BCUT/EMMU) - S=0. - YY=1. - DO 30 I=1,6 - XX=1. - DO 20 J=1,6 - K=6*I+J-6 - S=S+C(K)*XX*YY - XX=XX*X - 20 CONTINUE - YY=YY*Y - 30 CONTINUE - SS=0. - YY=1. - DO 50 I=1,4 - XX=1. - DO 40 J=1,4 - K=4*I+J+32 - SS=SS+C(K)*XX*YY - XX=XX*X - 40 CONTINUE - YY=YY*Y - 50 CONTINUE - S=S+Z*SS - IF(S.LE.0.) GOTO 99 -C - FAC=E*(BCUT/E)**BETA - FAC=Z*(Z+AKSI*(1.+DEL*LOG(Z)))*FAC - G3BRELM=FAC*S - GOTO 99 -C - 60 Y=Z3 - S=D(1) - K=1 - XX=1. - YPX=Y/X - DO 80 I=1,6 - II=I+1 - XX=XX*X - XXYY=XX - DO 70 J=1,II - K=K+1 - S=S+D(K)*XXYY - XXYY=XXYY*YPX - 70 CONTINUE - 80 CONTINUE - IF(S.LE.0.) GOTO 99 -C - FAC=Z*(Z+1.)*ECMAX - IF(FAC.LE.0.) GOTO 99 - G3BRELM=FAC*S -C - 99 RETURN - END diff --git a/StarVMC/geant3/gphys/gbreme.F b/StarVMC/geant3/gphys/gbreme.F deleted file mode 100644 index 82642104873..00000000000 --- a/StarVMC/geant3/gphys/gbreme.F +++ /dev/null @@ -1,253 +0,0 @@ -* -* $Id: gbreme.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbreme.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:33 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1997/11/13 09:25:40 gunter -* Correction By Laszlo Urban; protect against divide by 0. if AL becomes 0. -* around GEKIN 2.93E-5. -* Reported by harald@psiclu.cern.ch (signed by keller@biomed.ee.ethz.ch) -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 02/08/94 19.37.36 by S.Ravndal -*-- Author : - SUBROUTINE G3BREME -C. -C. ****************************************************************** -C. * * -C. * Simulates discrete hard BREMSSTRAHLUNG by electrons. * -C. * * -C. * The secondary photon energy is sampled from a * -C. * parametrization of the bremsstrahlung calculation of * -C. * Seltzer and Berger (NIM B12,p.95(1985)) for electron * -C. * energies 1 keV - 10 GeV . For higher energies the * -C. * parametrization agrees with the screened Bethe-Heitler * -C. * bremsstrahlung spectrum.Migdal corrections are applied * -C. * by default. The routine works ( together * -C. * with the routines GBRELE and GBRSGE ) without the Migdal * -C. * corrections using the Patchy switch +USE,BETHE. * -C. * * -C. * NOTE : * -C. * BCUTE is the cut-off energy above which the photon energy * -C. * spectrum is generated. * -C. * * -C. * ==>Called by : G3TELEC * -C. * Authors L.Urban 29/10/93 ********* * -C. * * -C. * 13/11/97 bug corrected by L.Urban * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcking.inc" -#include "geant321/gcmate.inc" -#include "geant321/gccuts.inc" - DIMENSION RNDM(2) - PARAMETER (CORFAC=0.805485E-10) - PARAMETER (TLIM=0.000999) - PARAMETER ( - +AL00=-0.205398E+01,AL01= 0.238815E-01,AL02= 0.525483E-03, - +AL10=-0.769748E-01,AL11=-0.691499E-01,AL12= 0.222453E-02, - +AL20= 0.406463E-01,AL21=-0.101281E-01,AL22= 0.340919E-03, - +A10 = 0.467733E+01,A11 =-0.619012E+00,A12 = 0.202225E-01, - +A20 =-0.734101E+01,A21 = 0.100462E+01,A22 =-0.320985E-01, - +A30 = 0.293119E+01,A31 =-0.403761E+00,A32 = 0.125153E-01, - +BL00= 0.104133E+01,BL01=-0.943291E-02,BL02=-0.454758E-03, - +BL10= 0.119253E+00,BL11= 0.407467E-01,BL12=-0.130718E-02, - +BL20=-0.159391E-01,BL21= 0.727752E-02,BL22=-0.194405E-03, - +B10 = 0.423071E+01,B11 =-0.610995E+00,B12 = 0.195531E-01, - +B20 =-0.712527E+01,B21 = 0.969160E+00,B22 =-0.274255E-01, - +B30 = 0.269925E+01,B31 =-0.363283E+00,B32 = 0.955316E-02) -C. ------------------------------------------------------------------ -C. -C Ensure cut-off avoids infra-red catastrophe. -C - IF (GEKIN.LE.BCUTE) GO TO 30 - KCASE=NAMEC(9) -C -*******************************> Z3=Q(JPROB+2) - Z3=(Z*(Z+1.))**0.3333333 - IF(Z3.LE.0.)GO TO 30 - Z32=Z3**2 - EEL1 = GETOT - XC=BCUTE/GEKIN - ALXC=LOG(XC) - U=LOG(GEKIN/EMASS) - U2=U**2 - V=LOG(Z) -* - IF(GEKIN.LE.TLIM) THEN - AL0=AL00+AL01*Z3+AL02*Z32 - AL1=AL10+AL11*Z3+AL12*Z32 - AL2=AL20+AL21*Z3+AL22*Z32 - AL=AL0+AL1*U+AL2*U2 - BL0=BL00+BL01*Z3+BL02*Z32 - BL1=BL10+BL11*Z3+BL12*Z32 - BL2=BL20+BL21*Z3+BL22*Z32 - BL=BL0+BL1*U+BL2*U2 - GMAX=1.+AL*XC+BL*XC**2 - IF(GEKIN.LT.0.0001) THEN - G1=1.+AL+BL - IF(G1.GT.GMAX) GMAX=G1 -* - IF(ABS(AL).GT.1.e-6) THEN - X0=-BL/(2.*AL) - IF((XC.LT.X0).AND.(X0.LT.1.)) THEN - G0=1.+AL*X0+BL*X0**2 - IF(G0.GT.GMAX) GMAX=G0 - ENDIF - ENDIF -* - ENDIF - ELSE - U3=U2*U - A1=A10+A11*Z3+A12*Z32 - A2=A20+A21*Z3+A22*Z32 - A3=A30+A31*Z3+A32*Z32 - AH=1.+A1/U+A2/U2+A3/U3 - B1=B10+B11*Z3+B12*Z32 - B2=B20+B21*Z3+B22*Z32 - B3=B30+B31*Z3+B32*Z32 - BH=0.75+B1/U+B2/U2+B3/U3 -* - F=4*V-0.55*V**2 - DEL0=136.*EMASS/(Z3*EEL1) - EPC=XC*GEKIN/EEL1 - DC=DEL0*EPC/(1.-EPC) - CC=42.392-F -* - IF(DC.LE.1.) THEN - DC2=DC**2 - F1=(42.392-7.796*DC+1.961*DC2-F)/CC - F2=(41.734-6.484*DC+1.250*DC2-F)/CC - ELSE - F1=(42.24-8.368*LOG(DC+0.952)-F)/CC - IF(F1.LT.0.) F1=0. - F2=F1 - ENDIF -* - GMAX=(1.-AH*EPC)*F1+BH*EPC**2*F2 - ENDIF -* - CORR0=CORFAC*DENS*Z/A - EPM=GEKIN/EEL1 - SC0=1.+CORR0/(EPM*EPM) -* -* sample photon energy ( according to 1/Ephoton) -* - 10 CALL GRNDM(RNDM,2) -* - X=EXP(RNDM(1)*ALXC) - EP=X*GEKIN/EEL1 -* -* Migdal correction for Ephoton->0. or no correction (Bethe) -* -#if !defined(CERNLIB_BETHE) - CORR=SC0/(1.+CORR0/(EP*EP)) -#endif -#if defined(CERNLIB_BETHE) - CORR=1. -#endif -* -* calculate rejection function g(x) -* - IF(GEKIN.LE.TLIM) THEN - G=1.+AL*X+BL*X**2 - ELSE - D=DEL0*EP/(1.-EP) - IF(D.LE.1.) THEN - D2=D**2 - F1=(42.392-7.796*D+1.961*D2-F)/CC - F2=(41.734-6.484*D+1.250*D2-F)/CC - ELSE - F1=(42.24-8.368*LOG(D+0.952)-F)/CC - IF(F1.LT.0.) F1=0. - F2=F1 - ENDIF - G=(1.-AH*EP)*F1+BH*EP**2*F2 - ENDIF - G=G*CORR/GMAX - IF(RNDM(2).GT.G) GOTO 10 -* -* photon energy is sampled according to the Seltzer-Berger spectrum -* - EGAMMA=EEL1*EP -C -C CUT ON ENERGY THRESHOLD ? -C - IF((IBREM.NE.1).OR.(EGAMMA.LE.CUTGAM)) THEN - DESTEP = DESTEP + EGAMMA - GO TO 20 - ENDIF -C -C Generate emitted photon angles with respect to a Z-axis -C defined along parent track. PHI is generated isotropically -C and THETA is assigned a universal angular distribution -C - EMASS1 = EMASS - THETA = G3BTETH(EEL1, EMASS1, EP)*EMASS/EEL1 - SINTH = SIN(THETA) - COSTH = COS(THETA) - CALL GRNDM(RNDM,1) - PHI = TWOPI*RNDM(1) - COSPHI = COS(PHI) - SINPHI = SIN(PHI) -C -C Polar co-ordinates to momentum components. -C - NGKINE = NGKINE + 1 - GKIN(1,1)=EGAMMA*SINTH*COSPHI - GKIN(2,1)=EGAMMA*SINTH*SINPHI - GKIN(3,1)=EGAMMA*COSTH - GKIN(4,1)=EGAMMA - GKIN(5,1)=1. - TOFD(1) =0. - GPOS(1,1) = VECT(1) - GPOS(2,1) = VECT(2) - GPOS(3,1) = VECT(3) -C -C Rotate photon into GEANT system -C - CALL G3VROT(VECT(4),GKIN) -C -C Correct track for lost energy -C - 20 CONTINUE - GEKIN = GEKIN - EGAMMA - GETOT = GEKIN + EMASS - VECT(7)=SQRT (ABS((GETOT+EMASS)*GEKIN)) - CALL G3EKBIN -C -C Update probabilities -C - 30 CALL GRNDM(RNDM,1) - ZINTBR=-LOG(RNDM(1)) -C - END diff --git a/StarVMC/geant3/gphys/gbremm.F b/StarVMC/geant3/gphys/gbremm.F deleted file mode 100644 index 8551604a440..00000000000 --- a/StarVMC/geant3/gphys/gbremm.F +++ /dev/null @@ -1,138 +0,0 @@ -* -* $Id: gbremm.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbremm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3BREMM -C. -C. ****************************************************************** -C. * * -C. * Simulates discrete hard BREMSSTRAHLUNG by muons. * -C. * * -C. * * -C. * ==>Called by : G3TMUON * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcphys.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gccuts.inc" - DIMENSION RNDM(2) -C. -C. ------------------------------------------------------------------ -C. -C Ensure cut-off avoids infra-red catastrophe. -C - EEM1 = GETOT - IF (GEKIN.LE.BCUTM) GO TO 900 - KCASE = NAMEC(9) -C - C1 = Q(JPROB+31) - C2 = Q(JPROB+32) - C3 = Q(JPROB+33) - VC = BCUTM/EEM1 - VM = 1.-C3/EEM1 - IF(VM.LE.0.)GO TO 900 - CREJ = C2/EEM1 -C - 50 CALL GRNDM(RNDM,2) - R = RNDM(1) - V = VC*(VM/VC)**R -C -C Compute rejection function -C - V1 = 1.-V - F1 = C1-LOG(1.+CREJ*V/V1) - SCREJ= (V1+0.75*V*V)*F1/C1 - IF(RNDM(2).GT.SCREJ)GO TO 50 -C -C Photon energy -C - EGAMMA=EEM1*V -C -C CUT ON ENERGY THRESHOLD ? -C - IF((IBREM.NE.1).OR.(EGAMMA.LE.CUTGAM)) THEN - NGKINE = 0 - DESTEP = DESTEP + EGAMMA - GO TO 800 - ENDIF -C -C Generate emitted photon angles with respect to a Z-axis -C defined along parent track. PHI is generated isotropically -C and THETA is assigned a universal angular distribution -C - THETA = G3BTETH(EEM1, AMASS, V)*AMASS/EEM1 - SINTH = SIN(THETA) - COSTH = COS(THETA) - CALL GRNDM(RNDM,1) - PHI = TWOPI*RNDM(1) - COSPHI = COS(PHI) - SINPHI = SIN(PHI) -C -C Polar co-ordinates to momentum components. -C - NGKINE = 1 - GKIN(1,1)=EGAMMA*SINTH*COSPHI - GKIN(2,1)=EGAMMA*SINTH*SINPHI - GKIN(3,1)=EGAMMA*COSTH - GKIN(4,1)=EGAMMA - GKIN(5,1)=1. - TOFD(1) =0. - GPOS(1,1) = VECT(1) - GPOS(2,1) = VECT(2) - GPOS(3,1) = VECT(3) -C -C Rotate photon into GEANT system -C - CALL G3VROT(VECT(4),GKIN) -C -C Correct track for lost energy -C - 800 CONTINUE - GEKIN = GEKIN - EGAMMA - GETOT = GEKIN + AMASS - VECT(7)=SQRT (ABS((GETOT+AMASS)*GEKIN)) - CALL G3EKBIN -C -C Update probabilities -C - 900 CALL GRNDM(RNDM,1) - ZINTBR=-LOG(RNDM(1)) - SLBREM=SLENG - STEPBR=BIG -C - END diff --git a/StarVMC/geant3/gphys/gbrsga.F b/StarVMC/geant3/gphys/gbrsga.F deleted file mode 100644 index a97602fd2b9..00000000000 --- a/StarVMC/geant3/gphys/gbrsga.F +++ /dev/null @@ -1,135 +0,0 @@ -* -* $Id: gbrsga.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbrsga.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3BRSGA -C. -C. ****************************************************************** -C. * * -C. * Calculates cross-section in current material * -C. * for discrete(hard) electron BREMSSTRAHLUNG. * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Authors G.Patrick, L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcmulo.inc" -C. -C. ------------------------------------------------------------------ -C. -C=======> Electrons & Positrons -C - SIG=0. - IF(Z.LT.1.)GO TO 20 -C -C Calculate mean free path using total cross-section -C formula of L.Urban (see Write-up) -C - T = ELOW(IEKBIN) - IF(JMIXT.EQ.0)THEN -C -C element -C - SIG=G3BRSGE(Z,T,BCUTE) - SIG=AVO*DENS*SIG/A - ELSE -C -C compound/mixture -C - NLMAT=Q(JMA+11) - NLM=IABS(NLMAT) - SIG=0. - DO 10 I=1,NLM - J = JMIXT+NLM+I - AA = Q(J-NLM) - ZZ = Q(J) - WMAT= Q(J+NLM) - S = G3BRSGE(ZZ,T,BCUTE) - S = WMAT*S/AA - SIG = SIG+AVO*DENS*S - 10 CONTINUE - ENDIF -C - 20 IF(SIG.GT.0.)THEN - Q(JBREM+IEKBIN)=1./SIG - Q(JBREM+NEK1+IEKBIN)=1./(SIG*G3BFSIG(T,BCUTE)) - ELSE - Q(JBREM+IEKBIN)=BIG - Q(JBREM+NEK1+IEKBIN)=BIG - ENDIF -C -C=======> Muons -C - SIG=0. - IF(Z.LT.1.)GO TO 40 -C -C Calculate mean free path using total cross-section -C formula of L.Urban (see Write-up) -C - IF(T.LT.1.)GO TO 40 - IF(JMIXT.EQ.0)THEN -C -C element -C - SIG=G3BRSGM(Z,T,BCUTM) - SIG=AVO*DENS*SIG/A - ELSE -C -C compound/mixture -C - NLMAT=Q(JMA+11) - NLM=IABS(NLMAT) - SIG=0. - DO 30 I=1,NLM - J = JMIXT+NLM+I - AA = Q(J-NLM) - ZZ = Q(J) - WMAT= Q(J+NLM) - S = G3BRSGM(ZZ,T,BCUTM) - S = WMAT*S/AA - SIG = SIG+AVO*DENS*S - 30 CONTINUE - ENDIF -C - 40 IF(SIG.GT.0.)THEN - Q(JBREM+IEKBIN+2*NEK1)=1./SIG - ELSE - Q(JBREM+IEKBIN+2*NEK1)=BIG - ENDIF -C - END diff --git a/StarVMC/geant3/gphys/gbrsge.F b/StarVMC/geant3/gphys/gbrsge.F deleted file mode 100644 index a3252540cb4..00000000000 --- a/StarVMC/geant3/gphys/gbrsge.F +++ /dev/null @@ -1,214 +0,0 @@ -* -* $Id: gbrsge.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbrsge.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1996/09/30 13:30:10 ravndal -* Bremsstrahlung extension for higher energies -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 24/02/95 14.50.31 by S.Giani -*-- Author : - FUNCTION G3BRSGE(ZZ,T,BCUT) -C. -C. ****************************************************************** -C. * * -C. * Calculates cross-section in current material * -C. * for discrete(hard) electron BREMSSTRAHLUNG. * -C. * (SIG in barn/atom) * -C. * * -C. * ==>Called by : GBRSGA * -C. * Author L.Urban ********* * -C. * * -C. * correction for T> 100 GeV ! (by L.Urban on 23/09/96) * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" - DIMENSION C(100),C1(60),C2(40) - EQUIVALENCE (C(1),C1(1)),(C(61),C2(1)) - SAVE C -#if !defined(CERNLIB_BETHE) - PARAMETER (AKSI=1.80,ALFA=0.98,VS=0.0001) - DATA C1/ 0.430748E-02, 0.576058E-02,-0.122564E-02, 0.114843E-03 - + ,-0.489452E-05, 0.795991E-07, 0.326746E-02,-0.132872E-02 - + , 0.217197E-03,-0.179769E-04, 0.766114E-06,-0.125603E-07 - + , 0.326452E-02,-0.175331E-02, 0.415488E-03,-0.507652E-04 - + , 0.297569E-05,-0.651741E-07, 0.847189E-03,-0.433923E-03 - + , 0.116672E-03,-0.166799E-04, 0.110237E-05,-0.263383E-07 - + , 0.846052E-04,-0.415764E-04, 0.129610E-04,-0.212844E-05 - + , 0.152871E-06,-0.384393E-08, 0.300838E-05,-0.136833E-05 - + , 0.507296E-06,-0.943623E-07, 0.720305E-08,-0.187210E-09 - + , 0.448230E-01,-0.210048E-01, 0.379434E-02,-0.328431E-03 - + , 0.136710E-04,-0.220593E-06,-0.539248E-02, 0.330244E-02 - + ,-0.733726E-03, 0.732312E-04,-0.336810E-05, 0.583913E-07 - + ,-0.106983E-02, 0.378021E-03,-0.384854E-04, 0.978156E-06 - + , 0.410622E-07,-0.174250E-08,-0.117501E-04,-0.983887E-05 - + , 0.239644E-05,-0.190104E-06, 0.619226E-08,-0.680932E-10/ - DATA C2/ 0.168074E-03,-0.934609E-04, 0.141293E-04,-0.854216E-06 - + , 0.183287E-07, 0.932144E-04,-0.234926E-04, 0.136656E-05 - + , 0.351109E-07,-0.330189E-08, 0.174523E-04, 0.253854E-05 - + ,-0.171643E-05, 0.183074E-06,-0.566331E-08, 0.111970E-05 - + , 0.112776E-05,-0.386924E-06, 0.367597E-07,-0.108504E-08 - + , 0.171604E-07, 0.738801E-07,-0.218761E-07, 0.199032E-08 - + ,-0.576173E-10,-0.105531E-03, 0.362995E-04,-0.433334E-05 - + , 0.207664E-06,-0.330250E-08,-0.168293E-05,-0.773204E-06 - + , 0.227974E-06,-0.159385E-07, 0.321958E-09, 0.167046E-05 - + ,-0.440761E-06, 0.396377E-07,-0.151053E-08, 0.215624E-10/ -#endif -#if defined(CERNLIB_BETHE) - PARAMETER (AKSI=1.80,ALFA=1.00,VS=0.0001) - DATA C1/ 0.111394E-01, 0.138592E-02,-0.274910E-03, 0.198389E-04 - + ,-0.472291E-06,-0.668760E-09, 0.839876E-02,-0.449619E-02 - + , 0.917722E-03,-0.874992E-04, 0.390015E-05,-0.653499E-07 - + , 0.464718E-02,-0.260321E-02, 0.582582E-03,-0.631769E-04 - + , 0.325801E-05,-0.638109E-07, 0.101243E-02,-0.532089E-03 - + , 0.129100E-03,-0.161260E-04, 0.958116E-06,-0.212606E-07 - + , 0.926006E-04,-0.455288E-04, 0.124755E-04,-0.182510E-05 - + , 0.122078E-06,-0.294182E-08, 0.308111E-05,-0.134712E-05 - + , 0.436230E-06,-0.751770E-07, 0.552327E-08,-0.140541E-09 - + , 0.292552E-02,-0.830719E-03, 0.210705E-04, 0.103750E-04 - + ,-0.953318E-06, 0.236453E-07, 0.110907E-02,-0.219463E-03 - + , 0.128517E-04,-0.554575E-06, 0.507378E-07,-0.182214E-08 - + ,-0.639866E-03, 0.209918E-03,-0.250183E-04, 0.138030E-05 - + ,-0.358845E-07, 0.366305E-09, 0.300095E-04,-0.133668E-04 - + , 0.198606E-05,-0.133100E-06, 0.414062E-08,-0.485929E-10/ - DATA C2/ 0.938677E-04,-0.613470E-04, 0.981984E-05,-0.646289E-06 - + , 0.150731E-07, 0.331764E-04, 0.447248E-05,-0.313021E-05 - + , 0.329777E-06,-0.997210E-08, 0.876484E-08, 0.110042E-04 - + ,-0.313406E-05, 0.280040E-06,-0.794116E-08,-0.103097E-05 - + , 0.220550E-05,-0.569158E-06, 0.491359E-07,-0.136987E-08 - + ,-0.781963E-07, 0.123162E-06,-0.302825E-07, 0.255485E-08 - + ,-0.702300E-10,-0.193213E-03, 0.640349E-04,-0.720586E-05 - + , 0.329673E-06,-0.514682E-08, 0.362138E-04,-0.142783E-04 - + , 0.184063E-05,-0.967983E-07, 0.179386E-08, 0.496130E-06 - + , 0.210105E-06,-0.538512E-07, 0.372388E-08,-0.812734E-10/ -#endif -C. - DATA THIGH,CHIGH/100.,50./ -C. ------------------------------------------------------------------ -C. - G3BRSGE=0. -* - IF(BCUT.LE.0.) GOTO 99 - IF(BCUT.GE.T) GOTO 99 -* - IF(T.GT.THIGH) THEN - TT=THIGH - IF(BCUT.GE.THIGH) THEN - EC=CHIGH - ELSE - EC=BCUT - ENDIF - ELSE - TT=T - EC=BCUT - ENDIF -* - E=TT+EMASS -* -C - X=LOG(E/EMASS) - Y=LOG(E*VS/EC) -C - S=0. - YY=1. - DO 30 I=1,2 - XX=1. - DO 20 J=1,6 - K=6*I+J-6 - S=S+C(K)*XX*YY - XX=XX*X - 20 CONTINUE - YY=YY*Y - 30 CONTINUE - DO 50 I=3,6 - XX=1. - DO 40 J=1,6 - K=6*I+J-6 - IF(Y.LE.0.) THEN - S=S+C(K)*XX*YY - ELSE - S=S+C(K+24)*XX*YY - ENDIF - XX=XX*X - 40 CONTINUE - YY=YY*Y - 50 CONTINUE - SS=0. - YY=1. - DO 70 I=1,2 - XX=1. - DO 60 J=1,5 - K=5*I+J+55 - SS=SS+C(K)*XX*YY - XX=XX*X - 60 CONTINUE - YY=YY*Y - 70 CONTINUE - DO 90 I=3,5 - XX=1. - DO 80 J=1,5 - K=5*I+J+55 - IF(Y.LE.0.) THEN - SS=SS+C(K)*XX*YY - ELSE - SS=SS+C(K+15)*XX*YY - ENDIF - XX=XX*X - 80 CONTINUE - YY=YY*Y - 90 CONTINUE -C - S=S+Z*SS - IF(S.LE.0.) GOTO 99 -C - FAC=ZZ*(ZZ+AKSI)*E*E*(LOG(TT/EC))**ALFA/(TT*(E+EMASS)) - IF(FAC.LE.0.) GOTO 99 -C - G3BRSGE=FAC*S -* - IF(T.GT.THIGH) THEN - - IF(BCUT.LT.THIGH) THEN - RAT=BCUT/T - S=(-LOG(RAT)-2./3.+RAT-RAT*RAT/3.) - RAT=BCUT/TT - S=S/(-LOG(RAT)-2./3.+RAT-RAT*RAT/3.) - ELSE - RAT=BCUT/T - S=(-LOG(RAT)-2./3.+RAT-RAT*RAT/3.) - RAT=EC/TT - S=S/(-LOG(RAT)-2./3.+RAT-RAT*RAT/3.) - ENDIF - - G3BRSGE=G3BRSGE*S - ENDIF -* -99 RETURN -* - END diff --git a/StarVMC/geant3/gphys/gbrsgm.F b/StarVMC/geant3/gphys/gbrsgm.F deleted file mode 100644 index 46d36d9d56d..00000000000 --- a/StarVMC/geant3/gphys/gbrsgm.F +++ /dev/null @@ -1,109 +0,0 @@ -* -* $Id: gbrsgm.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbrsgm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - FUNCTION G3BRSGM(Z,T,BCUT) -C. -C. ****************************************************************** -C. * * -C. * Calculates cross-section in current material * -C. * for discrete(hard) muon BREMSSTRAHLUNG. * -C. * (SIG in barn/atom) * -C. * * -C. * ==>Called by : G3BRSGA * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION C(52) - SAVE C - PARAMETER (AKSI=2.30,ALFA=1.06,GAM=0.63) -C - PARAMETER (CONMX=0.130653) -C CONMX=0.75*SQRT(2.7182...)*EMMU - DATA C/ 0.949313E-07,-0.819600E-07, 0.529075E-07,-0.832023E-08 - + , 0.539299E-09,-0.127042E-10,-0.165784E-08,-0.307788E-07 - + , 0.977905E-08,-0.113658E-08, 0.574481E-10,-0.106221E-11 - + , 0.968339E-09,-0.108640E-08,-0.177634E-09, 0.889497E-10 - + ,-0.876878E-11, 0.264303E-12, 0.216263E-08,-0.152680E-08 - + , 0.380989E-09,-0.455274E-10, 0.264172E-11,-0.596016E-13 - + , 0.444927E-09,-0.272978E-09, 0.645634E-10,-0.748783E-11 - + , 0.424890E-12,-0.940837E-14, 0.162289E-10,-0.362486E-11 - + ,-0.576652E-12, 0.211269E-12,-0.185482E-13, 0.522065E-15 - + ,-0.215590E-09, 0.112204E-09,-0.819133E-11, 0.145128E-12 - + ,-0.206029E-09, 0.559940E-10,-0.483350E-11, 0.134252E-12 - + ,-0.368469E-10, 0.999457E-11,-0.904967E-12, 0.272717E-13 - + ,-0.303446E-11, 0.853429E-12,-0.785466E-13, 0.236435E-14/ -C. -C. ------------------------------------------------------------------ -C. - G3BRSGM=0. - IF(BCUT.GE.T) GOTO 99 -C - E=T+EMMU - ECMAX=E-CONMX*Z**0.333333 - IF(BCUT.GE.ECMAX) GOTO 99 - X=LOG(E/EMMU) - Y=LOG(BCUT/EMMU) -C - S=0. - YY=1. - DO 30 I=1,6 - XX=1. - DO 20 J=1,6 - K=6*I+J-6 - S=S+C(K)*XX*YY - XX=XX*X - 20 CONTINUE - YY=YY*Y - 30 CONTINUE - SS=0. - YY=1. - DO 50 I=1,4 - XX=1. - DO 40 J=1,4 - K=4*I+J+32 - SS=SS+C(K)*XX*YY - XX=XX*X - 40 CONTINUE - YY=YY*Y - 50 CONTINUE - S=S+Z*SS - IF(S.LE.0.) GOTO 99 -C - FAC=LOG(ECMAX/BCUT) - IF(FAC.LE.0.) GOTO 99 - FAC=Z*(Z+AKSI*(1.+GAM*LOG(Z)))*FAC**ALFA - G3BRSGM=FAC*S -C - 99 RETURN - END diff --git a/StarVMC/geant3/gphys/gbteth.F b/StarVMC/geant3/gphys/gbteth.F deleted file mode 100644 index 1d045592a1f..00000000000 --- a/StarVMC/geant3/gphys/gbteth.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: gbteth.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gbteth.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:34 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:22 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - REAL FUNCTION G3BTETH(ENER,PARTM,EFRAC) -C. -C. ****************************************************************** -C. * * -C. * Universal distribution function for the Bremsstrahlung * -C. * and pair production angles. This function approximates * -C. * the real distribution function which can be found in * -C. * Yung-Su Tsai: Rev. Mod. Phys. 46,815(1974) * -C. * +erratum : Rev. Mod. Phys. 49,421(1977) * -C. * * -C. * Called by : G3BREME, G3BREMM, G3PAIRG * -C. * Authors : L.Urban * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" - DIMENSION RNDM(3) - PARAMETER (ALFA=0.625) -* ---------------------------------------------------------- -* GEANT 3.15 -* G3BTETH=1. -* GOTO 999 -* Angular distribution with d=const -* D=27. -* Angular distribution with d=d(Z,E,y) - D=0.13*(0.8+1.3/Z)*(100.+1./ENER)*(1.+EFRAC) -* ------------------------------------------------------------- -* - W1=9./(9.+D) - UMAX=ENER*PI/PARTM -* -10 CALL GRNDM(RNDM,3) -* - IF(RNDM(1).LE.W1) THEN - BETA=ALFA - ELSE - BETA=3.*ALFA - ENDIF -* - U=-(LOG(RNDM(2)*RNDM(3)))/BETA -* -* cut : theta should be .LE. PI !! -* this condition depend on E in the case of d=const too!!!!! -* - IF(U.GE.UMAX) GOTO 10 -* - G3BTETH=U -* - 999 END diff --git a/StarVMC/geant3/gphys/gcbrem.F b/StarVMC/geant3/gphys/gcbrem.F deleted file mode 100644 index f003a207c2d..00000000000 --- a/StarVMC/geant3/gphys/gcbrem.F +++ /dev/null @@ -1,68 +0,0 @@ -* -* $Id: gcbrem.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gcbrem.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:23 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - FUNCTION G3CBREM(T) -C. ****************************************************************** -C. * * -C. * It calculates the ratio of positron to electron * -C. * bremsstrahlung energy loss. * -C. * * -C. * Input:kinetic energy in GeV * -C. * Output: ratio of positron to electron brems energy loss * -C. * * -C. * ( The ratio is calculated from a function fitted to the * -C. * results of L.Kim et al.,PHYS.REV.A33,3002(1986) ) * -C. * * -C. * Author L. Urban * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" - PARAMETER (AA=7522100.,A1=0.415,A3=0.0021,A5=0.00054) -C. - CFAC=0. - IF(Z.LE.0.) GOTO 10 - X=LOG(AA*T/Z**2) -* - IF(X.LE.-8.) GOTO 10 -* - IF(X.GE.+9.) THEN - CFAC=1. - ELSE - W=A1*X+A3*X**3+A5*X**5 - CFAC=0.5+ATAN(W)/PI - ENDIF -* - 10 G3CBREM = CFAC -* - END diff --git a/StarVMC/geant3/gphys/gcoeff.F b/StarVMC/geant3/gphys/gcoeff.F deleted file mode 100644 index 16f965afece..00000000000 --- a/StarVMC/geant3/gphys/gcoeff.F +++ /dev/null @@ -1,227 +0,0 @@ -* -* $Id: gcoeff.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gcoeff.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:23 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3COEFF -C. -C. ****************************************************************** -C. * * -C. * Calculates the coefficients for the energy loss * -C. * interpolation * -C. * There are 4 tables : electron,positron,muon,proton * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Author F.Carminati ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION CX1,CX2,CX3,CY1,CY2,CY3,CDEN1,CDEN2,CDEN3 - DOUBLE PRECISION ACOEFF,BCOEFF,CCOEFF,XRAT,CCOEF1,CCOEF3 - DOUBLE PRECISION SQEPSM,CFACT - PARAMETER (EPSMAC=1E-6) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1E-11) -#endif -* - SQEPSM = MAX(1.,91./NEK1)*10.*SQRT(EPSMAC) - DO 10 IEKBIN=1,NEK1-2 -* - I1 = IEKBIN - I2 = I1 + 1 - I3 = I2 + 1 - CY1 = ELOW(I1) - CY2 = ELOW(I2) - CY3 = ELOW(I3) - IECOEF = 3*(IEKBIN-1) -* -* *** Electrons -* - JRANG = LQ(JMA-15) - JCOEF = LQ(JMA-17) -* - CX1 = Q(JRANG+I1) - CX2 = Q(JRANG+I2) - CX3 = Q(JRANG+I3) - IF(CX1.NE.CX2.AND.CX1.NE.CX3.AND.CX2.NE.CX3) THEN - CDEN1 = 1./((CX1-CX2)*(CX1-CX3)) - CDEN2 = 1./((CX2-CX1)*(CX2-CX3)) - CDEN3 = 1./((CX3-CX1)*(CX3-CX2)) - ACOEFF = CY1*CDEN1+CY2*CDEN2+CY3*CDEN3 - BCOEFF = -(CY1*(CX2+CX3)*CDEN1+CY2*(CX1+CX3)*CDEN2+ - + CY3*(CX1+CX2)*CDEN3) - CCOEFF = CY1*CX2*CX3*CDEN1+CX1*CY2*CX3*CDEN2+ - + CX1*CX2*CY3*CDEN3 - IF(ACOEFF.EQ.0.) THEN - XRAT = 0. - ELSEIF(BCOEFF.GT.0.) THEN - CFACT = SQRT(ABS(ACOEFF)) - CCOEF1 = SQRT(ABS(CCOEFF-CY1))*CFACT - CCOEF3 = SQRT(ABS(CCOEFF-CY3))*CFACT - XRAT = MAX(CCOEF1,CCOEF3)/BCOEFF - ELSE - XRAT=1. - ENDIF - IF(XRAT.LE.SQEPSM) THEN - Q(JCOEF+IECOEF+1) = 0. - Q(JCOEF+IECOEF+2) = BCOEFF - Q(JCOEF+IECOEF+3) = CCOEFF - ELSE - Q(JCOEF+IECOEF+1) = ACOEFF - Q(JCOEF+IECOEF+2) = 0.5*BCOEFF/ACOEFF - Q(JCOEF+IECOEF+3) = CCOEFF/ACOEFF - ENDIF - ENDIF -* -* *** Positons -* - JRANG = LQ(JMA-15) + NEK1 - JCOEF = LQ(JMA-17) +3*NEK1 -* - CX1 = Q(JRANG+I1) - CX2 = Q(JRANG+I2) - CX3 = Q(JRANG+I3) - IF(CX1.NE.CX2.AND.CX1.NE.CX3.AND.CX2.NE.CX3) THEN - CDEN1 = 1./((CX1-CX2)*(CX1-CX3)) - CDEN2 = 1./((CX2-CX1)*(CX2-CX3)) - CDEN3 = 1./((CX3-CX1)*(CX3-CX2)) - ACOEFF = CY1*CDEN1+CY2*CDEN2+CY3*CDEN3 - BCOEFF = -(CY1*(CX2+CX3)*CDEN1+CY2*(CX1+CX3)*CDEN2+ - + CY3*(CX1+CX2)*CDEN3) - CCOEFF = CY1*CX2*CX3*CDEN1+CX1*CY2*CX3*CDEN2+ - + CX1*CX2*CY3*CDEN3 - IF(ACOEFF.EQ.0.) THEN - XRAT = 0. - ELSEIF(BCOEFF.GT.0.) THEN - CFACT = SQRT(ABS(ACOEFF)) - CCOEF1 = SQRT(ABS(CCOEFF-CY1))*CFACT - CCOEF3 = SQRT(ABS(CCOEFF-CY3))*CFACT - XRAT = MAX(CCOEF1,CCOEF3)/BCOEFF - ELSE - XRAT=1. - ENDIF - IF(XRAT.LE.SQEPSM) THEN - Q(JCOEF+IECOEF+1) = 0. - Q(JCOEF+IECOEF+2) = BCOEFF - Q(JCOEF+IECOEF+3) = CCOEFF - ELSE - Q(JCOEF+IECOEF+1) = ACOEFF - Q(JCOEF+IECOEF+2) = 0.5*BCOEFF/ACOEFF - Q(JCOEF+IECOEF+3) = CCOEFF/ACOEFF - ENDIF - ENDIF -* -* *** Muons -* - JRANG = LQ(JMA-16) - JCOEF = LQ(JMA-18) -* - CX1 = Q(JRANG+I1) - CX2 = Q(JRANG+I2) - CX3 = Q(JRANG+I3) - IF(CX1.NE.CX2.AND.CX1.NE.CX3.AND.CX2.NE.CX3) THEN - CDEN1 = 1./((CX1-CX2)*(CX1-CX3)) - CDEN2 = 1./((CX2-CX1)*(CX2-CX3)) - CDEN3 = 1./((CX3-CX1)*(CX3-CX2)) - ACOEFF = CY1*CDEN1+CY2*CDEN2+CY3*CDEN3 - BCOEFF = -(CY1*(CX2+CX3)*CDEN1+CY2*(CX1+CX3)*CDEN2+ - + CY3*(CX1+CX2)*CDEN3) - CCOEFF = CY1*CX2*CX3*CDEN1+CX1*CY2*CX3*CDEN2+ - + CX1*CX2*CY3*CDEN3 - IF(ACOEFF.EQ.0.) THEN - XRAT = 0. - ELSEIF(BCOEFF.GT.0.) THEN - CFACT = SQRT(ABS(ACOEFF)) - CCOEF1 = SQRT(ABS(CCOEFF-CY1))*CFACT - CCOEF3 = SQRT(ABS(CCOEFF-CY3))*CFACT - XRAT = MAX(CCOEF1,CCOEF3)/BCOEFF - ELSE - XRAT=1. - ENDIF - IF(XRAT.LE.SQEPSM) THEN - Q(JCOEF+IECOEF+1) = 0. - Q(JCOEF+IECOEF+2) = BCOEFF - Q(JCOEF+IECOEF+3) = CCOEFF - ELSE - Q(JCOEF+IECOEF+1) = ACOEFF - Q(JCOEF+IECOEF+2) = 0.5*BCOEFF/ACOEFF - Q(JCOEF+IECOEF+3) = CCOEFF/ACOEFF - ENDIF - ENDIF -* -* *** Protons -* - JRANG = LQ(JMA-16) + NEK1 - JCOEF = LQ(JMA-18) +3*NEK1 -* - CX1 = Q(JRANG+I1) - CX2 = Q(JRANG+I2) - CX3 = Q(JRANG+I3) - IF(CX1.NE.CX2.AND.CX1.NE.CX3.AND.CX2.NE.CX3) THEN - CDEN1 = 1./((CX1-CX2)*(CX1-CX3)) - CDEN2 = 1./((CX2-CX1)*(CX2-CX3)) - CDEN3 = 1./((CX3-CX1)*(CX3-CX2)) - ACOEFF = CY1*CDEN1+CY2*CDEN2+CY3*CDEN3 - BCOEFF = -(CY1*(CX2+CX3)*CDEN1+CY2*(CX1+CX3)*CDEN2+ - + CY3*(CX1+CX2)*CDEN3) - CCOEFF = CY1*CX2*CX3*CDEN1+CX1*CY2*CX3*CDEN2+ - + CX1*CX2*CY3*CDEN3 - IF(ACOEFF.EQ.0.) THEN - XRAT = 0. - ELSEIF(BCOEFF.GT.0.) THEN - CFACT = SQRT(ABS(ACOEFF)) - CCOEF1 = SQRT(ABS(CCOEFF-CY1))*CFACT - CCOEF3 = SQRT(ABS(CCOEFF-CY3))*CFACT - XRAT = MAX(CCOEF1,CCOEF3)/BCOEFF - ELSE - XRAT=1. - ENDIF - IF(XRAT.LE.SQEPSM) THEN - Q(JCOEF+IECOEF+1) = 0. - Q(JCOEF+IECOEF+2) = BCOEFF - Q(JCOEF+IECOEF+3) = CCOEFF - ELSE - Q(JCOEF+IECOEF+1) = ACOEFF - Q(JCOEF+IECOEF+2) = 0.5*BCOEFF/ACOEFF - Q(JCOEF+IECOEF+3) = CCOEFF/ACOEFF - ENDIF - ENDIF -* - 10 CONTINUE -* - END diff --git a/StarVMC/geant3/gphys/gcomp.F b/StarVMC/geant3/gphys/gcomp.F deleted file mode 100644 index 6ac8b0dbd41..00000000000 --- a/StarVMC/geant3/gphys/gcomp.F +++ /dev/null @@ -1,178 +0,0 @@ -* -* $Id: gcomp.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gcomp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:23 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3COMP -C. -C. ****************************************************************** -C. * * -C. * Simulates photon-electron COMPTON scattering. * -C. * * -C. * The scattered photon energy is sampled using the quantum- * -C. * mechanical KLEIN-NISHINA formula. For this, the random * -C. * number techniques of BUTCHER and MESSEL(NUC. PHYS.20(1960), * -C. * 15) are employed. * -C. * NOTE : * -C. * (1) Effects due to binding of atomic electrons are * -C. * ignored(recoil electron energy assumed large compared * -C. * with binding energy). * -C. * * -C. * ==>Called by : G3TGAMA * -C. * Authors G.Patrick, L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcking.inc" -#include "geant321/gconsp.inc" -#include "geant321/gccuts.inc" - DIMENSION PGAM(3) - REAL RNDM(5) - LOGICAL ROTATE -C. -C. ------------------------------------------------------------------ -C. - KCASE = NAMEC(7) - EGAM1 = VECT(7) - EZERO = EGAM1/EMASS - EMINI = 1.+2.*EZERO - EMIN = 1./EMINI - DSIG1 = LOG(EMINI) - DSIG2 = 0.5*(1.-EMIN*EMIN) - DSIGT = DSIG1+DSIG2 -C -C Decide which part of F(E)=1/E+E to sample from. -C - 10 CALL GRNDM(RNDM,3) - IF (DSIG1.LT.DSIGT*RNDM(1))THEN -C -C Sample from F2(E) distribution. -C - BRD = RNDM(2) - CALL GRNDM(RNDM(4),1) - IF (EZERO.GE.(EZERO+1.)*RNDM(4))THEN - CALL GRNDM(RNDM(5),1) - BRD = MAX(BRD,RNDM(5)) - ENDIF -C - BR = EMIN+(1.-EMIN)*BRD - ELSE - BR = EMIN*EXP(DSIG1*RNDM(2)) - ENDIF -C -C Scattered photon energy. -C - EGAM2 = BR*EGAM1 -C -C Calculate rejection function G(E). -C - T = EMASS*(1.-BR)/EGAM2 - SINTH = MAX(0.,T*(2.-T)) - REJ = 1.0-(BR*SINTH)/(1.+BR*BR) - IF (RNDM(3).GT.REJ) GO TO 10 -C -C Successful sampling of scattered photon. -C -C CUTS ON ENERGY THRESHOLDS ? -C - TEL = EGAM1-EGAM2 - IF((EGAM2.LE.CUTGAM).AND.(TEL.LE.CUTELE)) THEN - ISTOP = 2 - VECT(7) = 0. - GEKIN = 0. - GETOT = 0. - NGKINE = 0. - DESTEP = DESTEP + EGAM1 - RETURN - ENDIF -C -C Generate photon angles with respect to a Z-axis -C defined along the parent photon. -C PHI is generated isotropically -C - SINTH = SQRT(SINTH) - COSTH = 1.-T - CALL GRNDM(RNDM,1) - PHI = TWOPI*RNDM(1) - COSPHI = COS(PHI) - SINPHI = SIN(PHI) -C -C Polar co-ordinates to momentum components. -C - PGAM(1) = EGAM2*SINTH*COSPHI - PGAM(2) = EGAM2*SINTH*SINPHI - PGAM(3) = EGAM2*COSTH -C -C Momentum vector of recoil electron. -C - NGKINE = 1 - EEL = TEL + EMASS - GKIN(1,1) = -PGAM(1) - GKIN(2,1) = -PGAM(2) - GKIN(3,1) = EGAM1-PGAM(3) - GKIN(4,1)=EEL - GKIN(5,1)=3 - TOFD(NGKINE)=0. - GPOS(1,1) = VECT(1) - GPOS(2,1) = VECT(2) - GPOS(3,1) = VECT(3) -C -C Rotate electron and scattered photon into GEANT system -C - CALL G3FANG(VECT(4),COSTH,SINTH,COSPH,SINPH,ROTATE) - IF(ROTATE) THEN - CALL G3DROT(PGAM(1),COSTH,SINTH,COSPH,SINPH) - CALL G3DROT(GKIN,COSTH,SINTH,COSPH,SINPH) - ENDIF -C -C Correct photon for energy lost and scattered angle -C - DO 60 I=1,3 - 60 VECT(I+3) = PGAM(I)/EGAM2 - VECT(7) = EGAM2 - GETOT = EGAM2 - GEKIN = EGAM2 - CALL G3EKBIN -C -C Stop electron ? -C - IF((ICOMP.NE.1).OR.(TEL.LE.CUTELE)) THEN - NGKINE = 0 - DESTEP = DESTEP + TEL - ENDIF -C -C Update probabilities -C - CALL GRNDM(RNDM,1) - ZINTCO=-LOG(RNDM(1)) -C - END diff --git a/StarVMC/geant3/gphys/gcompi.F b/StarVMC/geant3/gphys/gcompi.F deleted file mode 100644 index 75ca082379f..00000000000 --- a/StarVMC/geant3/gphys/gcompi.F +++ /dev/null @@ -1,95 +0,0 @@ -* -* $Id: gcompi.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gcompi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:23 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3COMPI -C. -C. ****************************************************************** -C. * * -C. * Calculates cross-section in current material * -C. * for COMPTON scattering. * -C. * * -C. * The total cross-section of L.Urban is used to estimate the * -C. * photon mean free path. * -C. * It gives a good description of the data from 10KeV to * -C. * 100/Z GeV * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Authors R.Brun, L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" - DIMENSION PCOMP(12),P(4) - DATA AC,BC,CC/20.,230.,440./ - DATA PCOMP/ 0.27965,-0.18300,0.67527E+1,-0.19798E+2, - + 0.19756E-4,-0.10205E-1,-0.73913E-1,0.27079E-1, - + -0.39178E-6,0.68241E-4,0.60480E-4,0.30274E-3/ - DATA PI2R2I/2.004275/ -C. -C. ------------------------------------------------------------------ -C. -C Energy cut-off above which we ignore COMPTON scattering. -C - SIG=0. - IF(Z.LT.1.)GO TO 90 - EGAM = ELOW(IEKBIN) - X=EGAM/EMASS - IF(EGAM.GT.(100./Z))GO TO 90 - X2=X*X - JPROB=LQ(JMA-4) -C - DO 20 I=1,4 - C=1. - P(I)=0. - DO 10 J=1,3 - JJ=4*J+I-4 - P(I)=P(I)+C*PCOMP(JJ) - C=C*Z - 10 CONTINUE - 20 CONTINUE -C - SIG=P(1)*LOG(1.+2.*X)/X - SIG=SIG+(P(2)+P(3)*X+P(4)*X2)/(1.+AC*X+BC*X2+CC*X2*X) - SIG=PI2R2I*Q(JPROB+17)*SIG -C - 90 IF(SIG.GT.0.)THEN - Q(JCOMP+IEKBIN)=1./SIG - ELSE - Q(JCOMP+IEKBIN)=BIG - ENDIF -C - END diff --git a/StarVMC/geant3/gphys/gdeca2.F b/StarVMC/geant3/gphys/gdeca2.F deleted file mode 100644 index 0fc57e0df1e..00000000000 --- a/StarVMC/geant3/gphys/gdeca2.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: gdeca2.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdeca2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:23 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DECA2(XM0,XM1,XM2,PCM) -C. -C. ****************************************************************** -C. * * -C. * Simulates two body decay process with isotropic angular * -C. * distribution in CMS. * -C. * * -C. * ==>Called by : G3DECAY * -C. * Author G.Patrick ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION PCM(4,2) - DIMENSION RNDM(2) -C. -C. ------------------------------------------------------------------ -C. -C Generate first decay product in CMS. -C - E1=(XM0*XM0+XM1*XM1-XM2*XM2)/(2.*XM0) - P1=SQRT(ABS((E1-XM1)*(E1+XM1))) -C -C Isotropic decay angular distribution. -C - CALL GRNDM(RNDM,2) - COSTH=2.*RNDM(1)-1. - IF(ABS(COSTH).GE.1.0) THEN - COSTH=SIGN(1.,COSTH) - SINTH=0. - ELSE - SINTH=SQRT((1.-COSTH)*(1.+COSTH)) - ENDIF - PHI=TWOPI*RNDM(2) -C -C Polar co-ordinates to momentum components. -C - PCM(1,1)=P1*SINTH*COS(PHI) - PCM(2,1)=P1*SINTH*SIN(PHI) - PCM(3,1)=P1*COSTH - PCM(4,1)=E1 -C -C Generate second decay product. -C - PCM(1,2)=-PCM(1,1) - PCM(2,2)=-PCM(2,1) - PCM(3,2)=-PCM(3,1) - PCM(4,2)=SQRT(PCM(1,2)**2+PCM(2,2)**2+PCM(3,2)**2+XM2*XM2) -C - END diff --git a/StarVMC/geant3/gphys/gdeca3.F b/StarVMC/geant3/gphys/gdeca3.F deleted file mode 100644 index ec1da426715..00000000000 --- a/StarVMC/geant3/gphys/gdeca3.F +++ /dev/null @@ -1,175 +0,0 @@ -* -* $Id: gdeca3.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdeca3.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:23 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DECA3(XM0,XM1,XM2,XM3,PCM) -C. -C. ****************************************************************** -C. * * -C. * This routine simulates three-body decays in center-of-mass. * -C. * Written by Jurgen Schukraft and Vincent Hedberg for R807. * -C. * Adapted for Geant3 by Sverker Johansson (Aug-1987). * -C. * (Quite extensive modifications; comments etc. are not always * -C. * consistent with the code anymore. ) * -C. * * -C. * As it is, the decay is done according to pure phase-space. * -C. * There is code in the routine to properly treat K decays (V-A)* -C. * but it is not used. (Requires an additional parameter * -C. * in the call, to tell which type of decay.) * -C. * * -C. * ==>Called by : G3DECAY * -C. * Author S. Johansson ********* * -C. * * -C. ****************************************************************** -C. -*************************************************************** -******* original name : ******************* -******SUBROUTINE D E C 3 B (ID,IP,K1,K2,K3)******************* -*************************************************************** -C-------------------------------------------------------- -C O B S O L E T E C O M M E N T ! ! ! -C THIS ROUTINE SIMULATES THE THREE-BODY DECAYS OF: -C-------------------------------------------------------- -C ID = 1 : ETA INTO PI0 + PI0 + PI0 PHASE SPACE -C ID = 2 : OMEGA INTO PI0 + PI- + PI+ - " - -C ID = 3 : ETAPR INTO PI0 + PI0 + ETA - " - -C ID = 4 : K+/- INTO E+/- + PI0 + NU (V-A) -C ID = 5 : K0L INTO E+/- + PI-/+ + NU - " - -C ID = 6 : D INTO E + K + NU PHASE SPACE -C ID = 7 : D INTO E + K* + NU - " - -** (** or any other decay; input is now masses -** rather than process ID S.J. -** But the ID parameter could someday be useful -** since it controls the non-phase-space code. ***) -C-------------------------------------------------------- -C THE OUTPUT COMMON BLOCK /LAB/ PLAB(20,J) IS FILLED -* (** Not a common block anymore. S.J. **) -C ACCORDING TO THE ORDER OF THE SECONDARY PARTICLES -C AS THEY APPEARE IN THE COMMENTS ABOVE. FOR EXAMPLE, -C IN THE CASE OF ID=6 (D-MESON DECAY) -C J = K1 IN PLAB(20,J) CORRESPONDS TO ELECTRON, -C J = K2 -- " -- " -- " -- " -- K-MESON, -C J = K3 -- " -- " -- " -- " -- NEUTRINO -C-------------------------------------------------------- - DIMENSION P(20,20) - DIMENSION HM(4,7) - DIMENSION PCM(4,3) - DIMENSION RNDM(3) -* -**************************************************** -* Translation from new to old input parameters : -* ( S.J. ) -**************************************************** - ID = 1 - HM(1,ID) = XM1 - HM(2,ID) = XM2 - HM(3,ID) = XM3 - HM(4,ID) = XM0 - K1 = 1 - K2 = 2 - K3 = 3 - PI2 = 2. * 3.141592654 -*********************** -* Original code : -C-------------------------------------------------------- -C SIMULATION OF SECONDARY PARTICLE MOMENTA -C IN THE REST FRAME OF PARENT PARTICLE -C-------------------------------------------------------- - T0=HM(4,ID)-HM(1,ID)-HM(2,ID)-HM(3,ID) - 10 CALL GRNDM(RNDM,2) - G1=RNDM(1) - G2=RNDM(2) - GMI=MIN(G1,G2) - GMA=MAX(G1,G2) - TE=GMI*T0 - TM=(1.-GMA)*T0 - TN=(GMA-GMI)*T0 - PA1=SQRT(TE**2+2.*HM(1,ID)*TE) - PA2=SQRT(TM**2+2.*HM(2,ID)*TM) - PA3=SQRT(TN**2+2.*HM(3,ID)*TN) -C-------------------------------------------------------- -C CHECK OF THE MOMENTUM CONSERVATION -C-------------------------------------------------------- - PMMM=MAX(PA1,PA2) - PMAX=MAX(PA3,PMMM) - SP=PA1+PA2+PA3 - IF(PMAX.GE.SP-PMAX) GOTO 10 - P(4,K1)=TE+HM(1,ID) - P(4,K2)=TM+HM(2,ID) - P(4,K3)=TN+HM(3,ID) -C-------------------------------------------------------- -C ACCOUNTING FOR MATRIX ELEMENT (FOR ID=4 AND 5) -* (** Calculates correct (V-A) decay for kaons. **) -* (** Now inactive. Change ID to activate it. (S.J) **) -C-------------------------------------------------------- - IF(ID.NE.4.AND.ID.NE.5) GOTO 20 - EEM=((HM(4,ID)-HM(2,ID))**2+HM(1,ID)**2- - * HM(3,ID)**2)/(2.*(HM(4,ID)-HM(2,ID))) - HMMAX=EEM*(HM(4,ID)-HM(2,ID)-EEM)+ - * 0.5*(EEM**2-HM(1,ID)**2) - HMA=P(4,K1)*P(4,K3)+0.25*(PA1**2+PA3**2-PA2**2) - CALL GRNDM(RNDM,1) - GG=RNDM(1) - IF(HMA.LT.GG*HMMAX) GOTO 10 -C-------------------------------------------------------- -C CALCULATIONS OF MOMENTA -C-------------------------------------------------------- -20 CONTINUE - CALL GRNDM(RNDM,3) - CTE=2.*RNDM(1)-1. - STE=SQRT(ABS(1.-CTE**2)) - FE =PI2*RNDM(2) - CFE=COS(FE) - SFE=SIN(FE) - P(1,K1)=PA1*STE*CFE - P(2,K1)=PA1*STE*SFE - P(3,K1)=PA1*CTE - CTEN=(PA2**2-PA1**2-PA3**2)/(2.*PA1*PA3) - STEN=SQRT(ABS(1.-CTEN**2)) - FEN =PI2*RNDM(3) - CFEN=COS(FEN) - SFEN=SIN(FEN) - P(1,K3)=PA3*(STEN*CFEN*CTE*CFE-STEN*SFEN*SFE+CTEN*STE*CFE) - P(2,K3)=PA3*(STEN*CFEN*CTE*SFE+STEN*SFEN*CFE+CTEN*STE*SFE) - P(3,K3)=PA3*(-STEN*CFEN*STE+CTEN*CTE) - P(1,K2)=-P(1,K1)-P(1,K3) - P(2,K2)=-P(2,K1)-P(2,K3) - P(3,K2)=-P(3,K1)-P(3,K3) -C------------------------------------------------------- -*** Re-translation from old to new output arrays : *** -*** (S.J.) *** -***--------------------------------------------------*** - DO 37 I=1,4 - DO 38 J=1,3 - PCM(I,J) = P(I,J) - 38 CONTINUE - 37 CONTINUE - END diff --git a/StarVMC/geant3/gphys/gdecay.F b/StarVMC/geant3/gphys/gdecay.F deleted file mode 100644 index aaf660a26f4..00000000000 --- a/StarVMC/geant3/gphys/gdecay.F +++ /dev/null @@ -1,206 +0,0 @@ -* -* $Id: gdecay.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdecay.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:23 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DECAY -C. -C. ****************************************************************** -C. * * -C. * Control routine for generation of particle decays. * -C. * * -C. * MODE(I) I'th decay mode of current particle * -C. * BRATIO(I) branching ratio for I'th decay mode of * -C. * current particle. * -C. * * -C. * ==>Called by : G3HSTOP,G3THADR,G3TNEUT,G3TMUON * -C. * Author G.Patrick ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcking.inc" -#include "geant321/gckine.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcphys.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif - DIMENSION BAREA(7) - DIMENSION BETA(4) - DIMENSION BRATIO(6) - DIMENSION MODE(6) - DIMENSION NTYPE(3) - DIMENSION PCM(4,3) - DIMENSION XM(3) - DIMENSION RNDM(1) - LOGICAL ROTATE -C. -C. ------------------------------------------------------------------ -C. -C Search for parent particle in decay list. -C -C - KCASE = NAMEC(5) - NGKINE = 0 - IF(IDCAY.EQ.2) THEN - DESTEP = DESTEP+GETOT - ISTOP = 2 - GO TO 99 - ENDIF - DMASS = AMASS - JPA = LQ(JPART-IPART) - JDK1 = LQ(JPA-1) - JDK2 = LQ(JPA-2) - IF (JDK1.LE.0) GO TO 90 - IF (JDK2.LE.0) GO TO 90 - DO 5 I=1,6 - BRATIO(I)=Q(JDK1+I) - MODE(I)=IQ(JDK2+I) - 5 CONTINUE -C -C Generate branching ratio and select decay mode. -C - NBR = 1 - BAREA(1) = 0. - DO 10 I=2,7 - BRADD = BRATIO(I-1) - IF (BRADD.EQ.0.) GO TO 20 - NBR = NBR+1 - BAREA(I) = BAREA(I-1)+BRADD - 10 CONTINUE -C - 20 CALL GRNDM(RNDM,1) - BRAND = 100.*RNDM(1) - IF (BRAND.GE.BAREA(NBR)) GO TO 99 - ID = IABS((LOCATF(BAREA,NBR,BRAND))) -C -C Unpack decay mode. -C - MXX = MODE(ID) - NTYPE(1) = MOD(MXX,100) - NTYPE(2) = MOD(MXX/100,100) - JP1 = LQ(JPART-NTYPE(1)) - JP2 = LQ(JPART-NTYPE(2)) - XM(1) = Q(JP1+7) - XM(2) = Q(JP2+7) - IF (MXX.LT.10000)THEN -C -C Two body decay. -C - NGKINE = 2 - IF (TLIFE.LT.1.E-15) THEN - XMTOT = XM(1)+XM(2) - DO 30 I=1,1000 -C-- Create Lorentz distributed energy with FWHM HBAR/TLIFE. -C-- (via integral-transformation of Lorentz-distribution) -C-- (M.Guckes) - CALL GRNDM(RNDM,1) - RMASS = DMASS - 1 + 3.291086E-25/TLIFE * TAN(PI*(RNDM(1)-0.5)) - IF (RMASS.GE.XMTOT) GO TO 40 - 30 CONTINUE - WRITE(CHMAIL,1000) IPART, NTYPE(1), NTYPE(2) - CALL GMAIL(0,0) - NGKINE=0 - GO TO 99 - 40 DMASS = RMASS - END IF - CALL G3DECA2(DMASS,XM(1),XM(2),PCM) - ELSE -C -C Three body decay. -C - NTYPE(3) = MXX/10000 - NGKINE = 3 - JP3 = LQ(JPART-NTYPE(3)) - XM(3) = Q(JP3+7) - IF (TLIFE.LT.1.E-15) THEN - XMTOT = XM(1)+XM(2)+XM(3) - DO 31 I=1,1000 -C-- Create Lorentz distributed energy with FWHM HBAR/TLIFE. -C-- (via integral-transformation of Lorentz-distribution) - CALL GRNDM(RNDM,1) - RMASS = DMASS - 1 + 3.291086E-25/TLIFE * TAN(PI*(RNDM(1)-0.5)) - IF (RMASS.GE.XMTOT) GO TO 41 - 31 CONTINUE - WRITE(CHMAIL,1000) IPART, NTYPE(1), NTYPE(2), NTYPE(3) - CALL GMAIL(0,0) - NGKINE=0 - GO TO 99 - 41 DMASS = RMASS - END IF - CALL G3DECA3(DMASS,XM(1),XM(2),XM(3),PCM) - ENDIF -C -C LORENTZ boost into LAB system defined along parent vector -C followed by rotation back into GEANT system. -C - P0 = VECT(7) - E0 = SQRT(P0*P0+DMASS*DMASS) - BETA(1) = 0. - BETA(2) = 0. - BETA(3) = -P0/E0 - BETA(4) = E0/DMASS - CALL G3FANG(VECT(4),COSTH,SINTH,COSPH,SINPH,ROTATE) -C - DO 60 K=1,NGKINE - IF (P0.LE.0.) THEN - DO 59 I = 1,3 - 59 GKIN(I,K) = PCM(I,K) - ELSE - CALL G3LOREN (BETA, PCM(1,K), GKIN(1,K)) - ENDIF - IF(ROTATE) CALL G3DROT (GKIN(1,K),COSTH,SINTH,COSPH,SINPH) - GKIN(4,K)=SQRT(GKIN(1,K)**2+GKIN(2,K)**2+GKIN(3,K)**2+XM(K)**2) - GKIN(5,K)=NTYPE(K) - TOFD(K)=0. - GPOS(1,K) = VECT(1) - GPOS(2,K) = VECT(2) - GPOS(3,K) = VECT(3) - 60 CONTINUE - GO TO 99 -C -C No branching ratio defined. Call user routine -C -#if !defined(CERNLIB_USRJMP) - 90 CALL GUDCAY -#endif -#if defined(CERNLIB_USRJMP) - 90 CALL JUMPT0(JUDCAY) -#endif -C - 99 RETURN - 1000 FORMAT(' ***** GDECAY ERROR : Not enough energy available for ', - + 'decay of resonance',I3,' to',3I3,'; no decay.') - END diff --git a/StarVMC/geant3/gphys/gdray.F b/StarVMC/geant3/gphys/gdray.F deleted file mode 100644 index 0a4d79f3685..00000000000 --- a/StarVMC/geant3/gphys/gdray.F +++ /dev/null @@ -1,194 +0,0 @@ -* -* $Id: gdray.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdray.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:23 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 02/07/94 18.28.12 by S.Giani -*-- Author : - SUBROUTINE G3DRAY -C. -C. ****************************************************************** -C. * * -C. * Generates Delta rays * -C. * * -C. * ==>Called by : G3TELEC,G3THADR,G3TMUON * -C. * Authors D.Ward, L.Urban ******** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -#include "geant321/gconsp.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gccuts.inc" - DIMENSION PELS(3) - DIMENSION RNDM(2) - LOGICAL ROTATE -C. -C. ------------------------------------------------------------------ -C. - P=VECT(7) - XE=GETOT - TE=GEKIN - GAM=XE/AMASS - GAM2=GAM*GAM - T=GAM-1. - X=DCUTE/(T*EMASS) -C - KCASE = NAMEC(10) - IF(IPART.EQ.3) THEN -C -C======> Moller scattering -C - IF(X.GE.0.5) GO TO 90 - CC=1.-2.*X -C - 10 CALL GRNDM(RNDM,2) - E=X/(1.-CC*RNDM(1)) -C - B1=4./(9.*GAM2-10.*GAM+5.) - B2=T*T*B1 - B3=(2.*GAM2+2.*GAM-1.)*B1 - E1=1.-E -C - SCREJ=B2*E*E-B3*E/E1+B1*GAM2/(E1*E1) -C - IF(RNDM(2).GT.SCREJ) GOTO 10 -C - ELSEIF(IPART.EQ.2)THEN -C -C======> Bhabha scattering -C - IF(X.GE.1.) GO TO 90 - X1=1.-X - 20 CALL GRNDM(RNDM,2) - E=X/(1.-X1*RNDM(1)) -C - Y=1./(GAM+1.) - Y2=Y*Y - C=1.-2.*Y - B1=2.-Y2 - B2=C*(3.+Y2) - C2=C*C - B4=C2*C - B3=C2+B4 - B0=GAM2/(GAM2-1.) -C - SCREJ=(((B4*E-B3)*E+B2)*E-B1)*E+B0 - SCREJ=SCREJ/((((B4*X-B3)*X+B2)*X-B1)*X+B0) - IF(RNDM(2).GT.SCREJ) GOTO 20 -C - ELSE -C -C======> Heavy particle. -C - TMAX=2.*EMASS*(GAM2-1.)/ - + (1.+2.*GAM*EMASS/AMASS+(EMASS/AMASS)**2) - IF(TMAX.LE.DCUTM) GOTO 90 - 40 CALL GRNDM(RNDM,2) - E=1./DCUTM+RNDM(1)*(1./TMAX-1./DCUTM) - E=1./E - BET2=1.-1./GAM2 - SCREJ=1.-BET2*(E/TMAX) -C --- extra term for spin 1/2 parent. - IF(AMASS.GT.0.9 .OR. AMASS.LT.0.12) - + SCREJ=SCREJ+0.5*(E/GETOT)**2 - IF(RNDM(2).GT.SCREJ) GO TO 40 - E=E/(T*EMASS) -C - ENDIF -C - EEL=(T*E+1.)*EMASS - TEL=EEL-EMASS - PEL=SQRT(ABS((EEL+EMASS)*TEL)) - COSTH=(XE*EEL+EMASS*(TEL-XE))/(P*PEL) - IF(COSTH.GE.1.) THEN - COSTH=1. - SINTH=0. - ELSEIF(COSTH.LE.-1.) THEN - COSTH=-1. - SINTH=0. - ELSE - SINTH=SQRT((1.+COSTH)*(1.-COSTH)) - ENDIF - CALL GRNDM(RNDM,1) - PHI = TWOPI*RNDM(1) - COSPHI = COS(PHI) - SINPHI = SIN(PHI) -C -C Polar co-ordinates to momentum components. -C - NGKINE = 1 - GKIN(1,1)=PEL*SINTH*COSPHI - GKIN(2,1)=PEL*SINTH*SINPHI - GKIN(3,1)=PEL*COSTH - GKIN(4,1)=EEL - GKIN(5,1)=3 - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) -C - PELS(1)=-GKIN(1,1) - PELS(2)=-GKIN(2,1) - PELS(3)=P-GKIN(3,1) -C - CALL G3FANG(VECT(4),COSTH,SINTH,COSPH,SINPH,ROTATE) - IF(ROTATE) THEN - CALL G3DROT(PELS(1),COSTH,SINTH,COSPH,SINPH) - CALL G3DROT(GKIN,COSTH,SINTH,COSPH,SINPH) - ENDIF -C -C Correct track vector for lost energy and scattered angles -C - TELS=TE-TEL - EELS=TELS+AMASS - PEELS=SQRT(ABS((EELS+AMASS)*TELS)) - IF(PEELS.GT.0.)THEN - DO 55 I=1,3 - VECT(I+3) = PELS(I)/PEELS - 55 CONTINUE - ENDIF - VECT(7) = PEELS - GEKIN=TELS - GETOT=EELS - CALL G3EKBIN - IF((IDRAY.NE.1).OR.(TEL.LE.CUTELE)) THEN - NGKINE = 0 - DESTEP = DESTEP + TEL - ENDIF -C -C Update probabilities -C - 90 CALL GRNDM(RNDM,1) - ZINTDR=-LOG(RNDM(1)) - SLDRAY=SLENG - STEPDR=BIG -C - END diff --git a/StarVMC/geant3/gphys/gdrela.F b/StarVMC/geant3/gphys/gdrela.F deleted file mode 100644 index 96ec2a36453..00000000000 --- a/StarVMC/geant3/gphys/gdrela.F +++ /dev/null @@ -1,174 +0,0 @@ -* -* $Id: gdrela.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdrela.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:23 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DRELA -C. -C. ****************************************************************** -C. * * -C. * Initialise ionisation energy loss by filling proton DE/DX * -C. * tables for each material. * -C. * * -C. * For chemical mixtures,compounds & molecules the approximation * -C. * is made that * -C. * * -C. * DE/DX = W(1)*DE/DX(1)+W(2)*DE/DX(2)...+W(N)*DE/DX(N) * -C. * with, * -C. * DE/DX(i) appropriate to the i'th constituent. * -C. * * -C. * For mixtures W(i) = fractional wght of each element. * -C. * For molecules W(i) = No. atoms*atomic wght/molecular wght. * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Authors R.Brun, G.Patrick ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gctrak.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -C. -C. ------------------------------------------------------------------ -C. -C Number of constituents(ie. element,mixture or compound). -C - NLMAT = Q(JMA+11) - NLMAT = IABS(NLMAT) - IF (NLMAT.EQ.0) GO TO 999 - IF(Z.LT.1.) GO TO 999 -C - JEL1=LQ(JMA-1) - JEL2=LQ(JMA-2) - JEL3=LQ(JMA-3) -C - ICHAN=IEKBIN - T = ELOW(ICHAN) - T1 = 10.**(EKBIN(1)+(ICHAN-0.5)/GEKA) -C -C==========> A,Ionisation losses for particles other than electrons -C Simple element. -C - IF (NLMAT.EQ.1) THEN - CALL G3DRELP(A,Z,DENS,T,DEDX) - IF(DEDX.LT.0.)DEDX=0. -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - CALL G3DRELP(A,Z,DENS,T1,DEDX1) - IF(DEDX1.LT.0.)DEDX1=0. - ENDIF - ELSE -C -C Mixture/compound : Loop over chemical constituents. -C - DEDX = 0. - DEDX1 = 0. - DO 10 L=1,NLMAT - AA = Q(JMIXT+L) - ZZ = Q(JMIXT+NLMAT+L) - WGHT = Q(JMIXT+2*NLMAT+L) - CALL G3DRELP(AA,ZZ,DENS*WGHT,T,DEDXC) - IF(DEDXC.LT.0.)DEDXC=0. - DEDX = DEDX + WGHT*DEDXC -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - CALL G3DRELP(AA,ZZ,DENS*WGHT,T1,DEDXC1) - IF(DEDXC1.LT.0.)DEDXC1=0. - DEDX1 = DEDX1 + WGHT*DEDXC1 - ENDIF - 10 CONTINUE - ENDIF -C - Q(JEL3+ICHAN)=Q(JEL3+ICHAN)+DEDX*DENS - IF(ICHAN.NE.NEK1) THEN - WS(NEKBIN*3+ICHAN) = WS(NEKBIN*3+ICHAN)+DEDX1*DENS - ENDIF -C -C===========> B, Ionisation losses for muons -C -C Simple element - IF(NLMAT.EQ.1) THEN - CALL G3DRELM(A,Z,DENS,T,DEDX) - IF(DEDX.LT.0.)DEDX=0. -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - CALL G3DRELM(A,Z,DENS,T1,DEDX1) - IF(DEDX1.LT.0.)DEDX1=0. - ENDIF - ELSE -C -C Mixture/compound -C - DEDX = 0. - DEDX1 = 0. - DO 20 L=1,NLMAT - AA=Q(JMIXT+L) - ZZ=Q(JMIXT+NLMAT+L) - WGHT=Q(JMIXT+2*NLMAT+L) - CALL G3DRELM(AA,ZZ,DENS*WGHT,T,DEDXC) - IF(DEDXC.LT.0.)DEDXC=0. - DEDX=DEDX+WGHT*DEDXC -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - CALL G3DRELM(AA,ZZ,DENS*WGHT,T1,DEDXC1) - IF(DEDXC1.LT.0.)DEDXC1=0. - DEDX1 = DEDX1 + WGHT*DEDXC1 - ENDIF - 20 CONTINUE - ENDIF -C - Q(JEL2+ICHAN)=Q(JEL2+ICHAN)+DEDX*DENS - IF(ICHAN.NE.NEK1) THEN - WS(NEKBIN*2+ICHAN) = WS(NEKBIN*2+ICHAN)+DEDX1*DENS - ENDIF -C -C===========> C, Ionisation losses for electrons/positrons -C - CALL G3DRELE(T,-1.,JMA,DEDX) - Q(JEL1+ICHAN)=Q(JEL1+ICHAN)+DEDX - CALL G3DRELE(T,+1.,JMA,DEDX) - Q(JEL1+ICHAN+NEK1)=Q(JEL1+ICHAN+NEK1)+DEDX -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - CALL G3DRELE(T1,-1.,JMA,DEDX1) - WS(ICHAN)=WS(ICHAN)+DEDX1 - CALL G3DRELE(T1,+1.,JMA,DEDX1) - WS(NEKBIN+ICHAN)=WS(NEKBIN+ICHAN)+DEDX1 - ENDIF -C - 999 END diff --git a/StarVMC/geant3/gphys/gdrele.F b/StarVMC/geant3/gphys/gdrele.F deleted file mode 100644 index 192644d3fbc..00000000000 --- a/StarVMC/geant3/gphys/gdrele.F +++ /dev/null @@ -1,97 +0,0 @@ -* -* $Id: gdrele.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdrele.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DRELE(EEL,CHARGE,JMA,DEDX) -C. -C. ****************************************************************** -C. * * -C. * Compute ion losses for electron/positron * -C. * * -C. * ==>Called by : G3DRELA * -C. * Author G.Patrick ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gccuts.inc" -C - DATA CONS/0.153536E-3/ -C. -C. ------------------------------------------------------------------ -C. - JPROB=LQ(JMA-4) -C - GAM=EEL/EMASS + 1. - GAM2=GAM*GAM - T=GAM-1. - DEDX=0. - IF(T.LE.0.)GO TO 99 - TCME=DCUTE/EMASS - BET2=1.-1./GAM2 -C ------------------------------ - IF(CHARGE.GT.0.) THEN - Y=1./(1.+GAM) - D=TCME - IF(T.LT.TCME) D=T - D2=D*D/2. - D3=2.*D2*D/3. - D4=D2*D2 - F=LOG(T*D)-BET2*(T+2.*D-Y*(3.*D2 - * +Y*(D-D3+Y*(D2-T*D3+D4))))/T -C - ELSE - D=TCME - IF(T.LT.2.*TCME) D=0.5*T - F=-1.-BET2+LOG((T-D)*D)+T/(T-D) - * +(0.5*D*D+(1.+2.*T)*LOG(1.-D/T))/GAM2 - ENDIF -C - POTL=Q(JPROB+11) - FAC=Q(JPROB+12) - C=Q(JPROB+13) - X0=Q(JPROB+14) - X1=Q(JPROB+15) - AA=Q(JPROB+16) -C - X=LOG(GAM2-1.)/4.606 - DEL=0. - IF(X.GT.X0)THEN - DEL=4.606*X+C - IF(X.LE.X1)DEL=DEL+AA*(X1-X)**3. - ENDIF -C - DEDX=CONS*FAC*(LOG(2.*T+4.)-2.*POTL+F-DEL)/BET2 - IF(DEDX.LT.0.)DEDX=0. -C - 99 RETURN - END diff --git a/StarVMC/geant3/gphys/gdreli.F b/StarVMC/geant3/gphys/gdreli.F deleted file mode 100644 index 40a2308831c..00000000000 --- a/StarVMC/geant3/gphys/gdreli.F +++ /dev/null @@ -1,109 +0,0 @@ -* -* $Id: gdreli.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdreli.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DRELI(A1,Z1,A2,Z2,DENS,T,DEDX) -C. -C. ****************************************************************** -C. * * -C. * Calculates the mean 1/DENS*dE/dx of an ion with charge Z1, * -C. * atomic weight A1 and kinetic energy T in an element * -C. * of atomic number Z2, atomic weight A2 and density * -C. * DENS ( the density is just used for the calculation * -C. * of the density effect in the case of high T ). * -C. * The routine reproduces the experimental and/or tabulated * -C. * mean energy losses reasonably well. * -C. * * -C. * The mean stopping power is obtained by calculating the proton * -C. * energy loss S at the equivalent proton kinetic energy and * -C. * multiplying this value by the effective charge of the ion. * -C. * This method is used for high T ( T/A1 > Tamax , where * -C. * Tamax depend on Z1 and Z2 , Tamax .le. few MeV). * -C. * In the case of low T , the energy loss curve has been * -C. * extrapolated down to T -> 0. * -C. * * -C. * ==>Called by : G3DRELA * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcunit.inc" - PARAMETER (AMU=0.93149432,D=0.00015357) -* - EM=A1*AMU - TA=PMASS*T/EM -* - Z11=Z1*Z1 - TAMAX=(120.902-3.121*Z1+0.270*Z11)-(35.988-27.794*Z1+0.120*Z11)* - + LOG(Z2) - TAMAX=0.000001*TAMAX -* -* calculate stopping power (total loss) , save DCUTM before -* - CUTSAV=DCUTM - DCUTM=BIG -* - IF(TA.GE.TAMAX) THEN -* -* "high energy" case -* - CALL G3DRELP(A2,Z2,DENS,TA,S) - S=Z1**2*G3EFCH2(Z1,Z2,TA)*S - ELSE -* -* "low energy" case -* - CALL G3DRELP(A2,Z2,DENS,TAMAX,S0) - S0=Z1**2*G3EFCH2(Z1,Z2,TAMAX)*S0 - R=TA/TAMAX - S=S0*(2.*SQRT(R)-R) - ENDIF -* - DCUTM=CUTSAV - TMAX=2.*EMASS*T*(T+2.*EM)/EM**2 -* -* check whether restricted loss needed ? -* if restricted loss , calculate the loss from delta rays -* - IF(DCUTM.LT.TMAX) THEN - BET2=T*(T+2.*EM)/(T+EM)**2 - R=DCUTM/TMAX - DELTA=-LOG(R)-BET2*(1.-R) - DELTA=D*Z2*Z1**2*DELTA/(A2*BET2) - S=S-DELTA - IF(S.LT.0.) S=0. - ENDIF -* - DEDX=S -* - END diff --git a/StarVMC/geant3/gphys/gdrelm.F b/StarVMC/geant3/gphys/gdrelm.F deleted file mode 100644 index d88156c96ec..00000000000 --- a/StarVMC/geant3/gphys/gdrelm.F +++ /dev/null @@ -1,56 +0,0 @@ -* -* $Id: gdrelm.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdrelm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DRELM(A,Z,DENS,T,DEDX) -C. -C. ****************************************************************** -C. * * -C. * Calculates the mean 1/DENS*dE/dx of a MUON with kinetic * -C. * energy T in an element of atomic number Z, atomic weight A * -C. * and density DENS ( the density is just used for the * -C. * calculation of the density effect in the case of high T). * -C. * * -C. * ------------------------------------------------------ * -C. * It calls GDRELP with the substitution EMMU -- > PMASS ! * -C. * ( and put back the right value of PMASS after) ! * -C. * ----------------------------------------------------- * -C. * * -C. * ==>Called by : G3DRELA * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -* - CALL G3DRELX(A,Z,DENS,T,REAL(EMMU),DEDX) -* - END diff --git a/StarVMC/geant3/gphys/gdrelp.F b/StarVMC/geant3/gphys/gdrelp.F deleted file mode 100644 index fc904ca05a9..00000000000 --- a/StarVMC/geant3/gphys/gdrelp.F +++ /dev/null @@ -1,56 +0,0 @@ -* -* $Id: gdrelp.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdrelp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:40 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DRELP(A,Z,DENS,T,DEDX) -C. -C. ****************************************************************** -C. * * -C. * Calculates the mean 1/DENS*dE/dx of a MUON with kinetic * -C. * energy T in an element of atomic number Z, atomic weight A * -C. * and density DENS ( the density is just used for the * -C. * calculation of the density effect in the case of high T). * -C. * * -C. * ------------------------------------------------------ * -C. * It calls GDRELP with the substitution EMMU -- > PMASS ! * -C. * ( and put back the right value of PMASS after) ! * -C. * ----------------------------------------------------- * -C. * * -C. * ==>Called by : G3DRELA * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -* - CALL G3DRELX(A,Z,DENS,T,REAL(PMASS),DEDX) -* - END diff --git a/StarVMC/geant3/gphys/gdrelx.F b/StarVMC/geant3/gphys/gdrelx.F deleted file mode 100644 index 52a3011d419..00000000000 --- a/StarVMC/geant3/gphys/gdrelx.F +++ /dev/null @@ -1,344 +0,0 @@ -* -* $Id: gdrelx.F,v 1.3 2009/02/01 17:29:51 fisyak Exp $ -* -* $Log: gdrelx.F,v $ -* Revision 1.3 2009/02/01 17:29:51 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:48:35 fisyak -* Merge with macos version -* -* Revision 1.2 2005/06/09 00:08:31 fisyak -* Add GDRELX entry -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 06/10/94 18.22.43 by S.Giani -*-- Author : - SUBROUTINE GDRELX(A,Z,DENS,T,HMASS,DEDX) - call G3DRELX(A,Z,DENS,T,HMASS,DEDX) - end - SUBROUTINE G3DRELX(A,Z,DENS,T,HMASS,DEDX) -C. -C. ****************************************************************** -C. * * -C. * Calculates the mean 1/DENS*dE/dx of a particle with kinetic * -C. * energy T in an element of atomic number Z, atomic weight A * -C. * and density DENS ( the density is just used for the * -C. * calculation of the density effect in the case of high T). * -C. * The routine reproduces the experimental and/or tabulated * -C. * energy losses rather well down to T -> 0. * -C. * Simple parametrization is used for T .le. T2L=2 MeV (see * -C. * H.H.Andersen,J.F.Ziegler:Hydrogen stopping powers and * -C. * ranges in all element,Pergamon Press,1977.). * -C. * For T .gt. T2L=2 MeV the corrected Bethe-Bloch stopping * -C. * power / restricted energy loss formula is used. * -C. * * -C. * * -C. * ==>Called by : G3DRELA * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcunit.inc" - PARAMETER (AMUKEV=931494.32,D=0.000153537,T1L=0.00001,T2L=0.002) - PARAMETER (EMPROT=0.9382723) - DIMENSION B(6,92),C(6,92),CECOF(6) -* - DATA ((B(I,J),I=1,6),J=1,19) / - + 1.262,1.44,242.6,12000.,0.1159,18.8, - + 1.229,1.397,484.5,5873.,0.05225,41.7, - + 1.411,1.6,725.6,3013.,0.04578,47.6, - + 2.248,2.59,966.,153.8,0.03475,62.7, - + 2.474,2.815,1206.,1060.,0.02855,76.0, - + 2.631,2.989,1445.,957.2,0.02819,77.3, - + 2.954,3.35,1683.,1900.,0.02513,86.7, - + 2.652,3.,1920.,2000.,0.0223,97.7, - + 2.085,2.352,2157.,2634.,0.01816,120., - + 1.951,2.199,2393.,2699.,0.01568,139., - + 2.542,2.869,2628.,1854.,0.01472,148., - + 3.792,4.293,2862.,1009.,0.01397,156., - + 4.154,4.739,2766.,164.5,0.02023,162., - + 4.15,4.7,3329.,550.,0.01321,165., - + 3.232,3.647,3561.,1560.,0.01267,172., - + 3.447,3.891,3792.,1219.,0.01211,180., - + 5.047,5.714,4023.,878.6,0.01178,185., - + 5.731,6.5,4253.,530.,0.01123,194., - + 5.151,5.833,4482.,545.7,0.01129,193./ - DATA ((B(I,J),I=1,6),J=20,38) / - + 5.521,6.252,4710.,553.3,0.01112,196., - + 5.201,5.884,4938.,560.9,0.009995,218., - + 4.862,5.496,5165.,568.5,0.009474,230., - + 4.48,5.055,5391.,952.3,0.009117,239., - + 3.983,4.489,5616.,1336.,0.008413,259., - + 3.469,3.907,5725.,1461.,0.008829,270., - + 3.519,3.963,6065.,1243.,0.007782,280., - + 3.14,3.535,6288.,1372.,0.007361,296., - + 3.553,4.004,6205.,555.1,0.008763,310., - + 3.696,4.175,4673.,387.8,0.02188,322., - + 4.21,4.75,6953.,295.2,0.006809,320., - + 5.041,5.697,7173.,202.6,0.006725,324., - + 5.554,6.3,6496.,110.,0.009689,330., - + 5.323,6.012,7611.,292.5,0.006447,338., - + 5.874,6.656,7395.,117.5,0.007684,340., - + 5.611,6.335,8046.,365.2,0.006244,349., - + 6.411,7.25,8262.,220.,0.006087,358., - + 5.694,6.429,8478.,292.9,0.006087,358., - + 6.339,7.159,8693.,330.3,0.006003,363./ - DATA ((B(I,J),I=1,6),J=39,57) / - + 6.407,7.234,8907.,367.8,0.005889,370., - + 6.734,7.603,9120.,405.2,0.005765,378., - + 6.902,7.791,9333.,442.7,0.005587,390., - + 6.425,7.248,9545.,480.2,0.005367,406., - + 6.799,7.671,9756.,517.6,0.005315,410., - + 6.108,6.887,9966.,555.1,0.005151,423., - + 5.924,6.677,10180.,592.5,0.004919,443., - + 5.238,5.9,10380.,630.,0.004758,458., - + 5.623,6.354,7160.,337.6,0.01394,466., - + 5.814,6.554,10800.,355.5,0.004626,471., - + 6.23,7.024,11010.,370.9,0.00454,480., - + 6.41,7.227,11210.,386.4,0.004474,487., - + 7.5,8.48,8608.,348.,0.009074,494., - + 6.979,7.871,11620.,392.4,0.004402,495., - + 7.725,8.716,11830.,394.8,0.004376,498., - + 8.231,9.289,12030.,397.3,0.004384,497., - + 7.287,8.218,12230.,399.7,0.004447,490., - + 7.899,8.911,12430.,402.1,0.004511,483., - + 8.041,9.071,12630.,404.5,0.00454,480./ - DATA ((B(I,J),I=1,6),J=58,76) / - + 7.489,8.444,12830.,406.9,0.00442,493., - + 7.291,8.219,13030.,409.3,0.004298,507., - + 7.098,8.,13230.,411.8,0.004182,521., - + 6.91,7.786,13430.,414.2,0.004058,537., - + 6.728,7.58,13620.,416.6,0.003976,548., - + 6.551,7.38,13820.,419.,0.003877,562., - + 6.739,7.592,14020.,421.4,0.003863,564., - + 6.212,6.996,14210.,423.9,0.003725,585., - + 5.517,6.21,14400.,426.3,0.003632,600., - + 5.219,5.874,14600.,428.7,0.003498,623., - + 5.071,5.706,14790.,433.,0.003405,640., - + 4.926,5.542,14980.,433.5,0.003342,652., - + 4.787,5.386,15170.,435.9,0.003292,662., - + 4.893,5.505,15360.,438.4,0.003243,672., - + 5.028,5.657,15550.,440.8,0.003195,682., - + 4.738,5.329,15740.,443.2,0.003186,684., - + 4.574,5.144,15930.,442.4,0.003144,693., - + 5.2,5.851,16120.,441.6,0.003122,698., - + 5.07,5.704,16300.,440.9,0.003082,707./ - DATA ((B(I,J),I=1,6),J=77,92) / - + 4.945,5.563,16490.,440.1,0.002965,735., - + 4.476,5.034,16670.,439.3,0.002871,759., - + 4.856,5.46,18320.,438.5,0.002542,755., - + 4.308,4.843,17040.,487.8,0.002882,756., - + 4.723,5.311,17220.,537.,0.002913,748., - + 5.319,5.982,17400.,586.3,0.002871,759., - + 5.956,6.7,17800.,677.,0.00266,765., - + 6.158,6.928,17770.,586.3,0.002812,775., - + 6.204,6.979,17950.,586.3,0.002776,785., - + 6.181,6.954,18120.,586.3,0.002748,793., - + 6.949,7.82,18300.,586.3,0.002737,796., - + 7.506,8.448,18480.,586.3,0.002727,799., - + 7.649,8.609,18660.,586.3,0.002697,808., - + 7.71,8.679,18830.,586.3,0.002641,825., - + 7.407,8.336,19010.,586.3,0.002603,837., - + 7.29,8.204,19180.,586.3,0.002573,847./ - DATA C/92*0.,92*0.,92*0.,92*0.,92*0.,92*0./ - DATA CECOF/0.42237,0.0304,-0.00038,3.858,-0.1668,0.00158/ - DATA EPS/0.000001/ -* ------------------------------------------------------------------ -* in the case of non-integer Z the low energy parameters -* and the ionization potential are taken at INT(Z) ! -* - IZ=INT(Z+EPS) - IF((IZ.LT.1).OR.(IZ.GT.92)) GOTO 10 -* -* Calculate coefficients C(I,J) if it has not been done already -* - IF(C(1,IZ).LT.EPS) THEN - FAC=AVO/A - C(1,IZ)=FAC*AMUKEV**0.5*B(1,IZ) - C(2,IZ)=FAC*AMUKEV**0.45*B(2,IZ) - C(3,IZ)=FAC*B(3,IZ)/AMUKEV - C(4,IZ)=B(4,IZ)/AMUKEV - C(5,IZ)=AMUKEV*B(5,IZ) -* -* POTI=16.E-9*Z**0.9 -* - POTI=B(6,IZ)*1.E-9 -* -* - C(6,IZ)=POTI -* - ENDIF -* ---------------------------------------------------------------- - T1LIM=HMASS*T1L/EMPROT - T2LIM=HMASS*T2L/EMPROT -* -* Calculate dE/dx -* ---> for T .le. T1LIM (very low energy) -* - IF(T.LE.T1LIM) THEN - TAU=T/HMASS - DEDX=C(1,IZ)*TAU**0.5 - ELSE -* -* ---> for T1LIM .lt. T and T .le. T2LIM (low energy) -* - IF(T.LE.T2LIM) THEN - TAU=T/HMASS - SL=C(2,IZ)*TAU**0.45 - SH=C(3,IZ)*LOG(1.+C(4,IZ)/TAU+C(5,IZ)*TAU)/TAU - DEDX=SL*SH/(SL+SH) -* -* ---> for T .gt. T2LIM ( "high " energy , Bethe-Bloch formula) -* - ELSE - P=SQRT(T*(T+2.*HMASS)) - E=T+HMASS - BET2=(P/E)**2 - ETA=P/HMASS - ETA2=ETA*ETA -*+++ new line follows..... - B2G2=ETA*ETA -*+++ end of correction - TMAX=2.*EMASS*T*(T+2.*HMASS) -*+++ correction of the next line -* TMAX=TMAX/(HMASS**2+EMASS**2+EMASS*(T+HMASS)) - TMAX=TMAX/(HMASS**2+EMASS**2+2.*EMASS*E) -*+++ end of correction -* -* density correction -* - POTI=C(6,IZ) - CC=1.+2.*LOG(POTI/(28.8E-9*SQRT(DENS*Z/A))) -* condensed material ? ( dens .gt. 0.05 ? ) - IF(DENS.GT.0.05) THEN - IF(POTI.LT.1.E-7) THEN - IF(CC.LT.3.681) THEN - X0=0.2 - ELSE - X0=0.326*CC-1. - ENDIF - X1=2. - ELSE - IF(CC.LT.5.215) THEN - X0=0.2 - ELSE - X0=0.326*CC-1.5 - ENDIF - X1=3. - ENDIF -* gas ? ( dens . le . 0.05 ? ) - ELSE - IF(CC.LE.12.25) THEN - IP=INT((CC-10.)/0.5)+1 - IF(IP.LT.0) IP=0 - IF(IP.GT.4) IP=4 - X0=1.6+0.1*FLOAT(IP) - X1=4. - ELSE - IF(CC.LE.13.804) THEN - X0=2. - X1=5. - ELSE - X0=0.326*CC-2.5 - X1=5. - ENDIF - ENDIF - ENDIF -* - XA=CC/4.606 - XM=3. - AA=4.606*(XA-X0)/(X1-X0)**XM -* - X=LOG10(ETA) - DELTA=0. - IF(X.GT.X0) THEN - DELTA=4.606*X-CC - IF(X.LT.X1) DELTA=DELTA+AA*(X1-X)**XM - ENDIF -* -* calculate shell correction -* - POTSQ=POTI*POTI - IF(ETA.GT.0.13) THEN - F1=1./ETA2 - F2=F1*F1 - F3=F1*F2 - F4=(F1*CECOF(1)+F2*CECOF(2)+F3*CECOF(3))*1.E+12 - F5=(F1*CECOF(4)+F2*CECOF(5)+F3*CECOF(6))*1.E+18 - CE=F4*POTSQ+F5*POTSQ*POTI - ELSE - ETA2=0.0169 - F1=1./ETA2 - F2=F1*F1 - F3=F1*F2 - F4=(F1*CECOF(1)+F2*CECOF(2)+F3*CECOF(3))*1.E+12 - F5=(F1*CECOF(4)+F2*CECOF(5)+F3*CECOF(6))*1.E+18 - CE=F4*POTSQ+F5*POTSQ*POTI - CE=CE*LOG(T/T2LIM)/LOG(0.0079/T2LIM) - ENDIF -* - F1=D*Z/(A*BET2) -* -* stopping power or restricted dE/dx ? -* -*+++ correction of the next few lines -* IF(DCUTM.GE.TMAX) THEN -* F2=2.*(LOG(TMAX/POTI)-BET2) -* ELSE -* F2=LOG(TMAX*DCUTM/POTSQ)-BET2*(1.+DCUTM/TMAX) -* ENDIF - TUPP=DCUTM - IF(TMAX.LT.DCUTM) TUPP=TMAX - F2=LOG(2.*EMASS*B2G2/POTI)+LOG(TUPP/POTI) - + -BET2*(1.+TUPP/TMAX) -*+++ end of correction - DEDX=F1*(F2-DELTA-2.*CE/Z) -* -* - TAU=T2LIM/HMASS - SL=C(2,IZ)*TAU**0.45 - SH=C(3,IZ)*LOG(1.+C(4,IZ)/TAU+C(5,IZ)*TAU)/TAU - ST=SL*SH/(SL+SH) -* - TMAX=2.*EMASS*T2LIM*(T2LIM+2.*HMASS) -*+++ correction of the next line -* TMAX=TMAX/(HMASS**2+EMASS**2+EMASS*(T2LIM+HMASS)) - TMAX=TMAX/(HMASS**2+EMASS**2+2.*EMASS*(T2LIM+HMASS)) -*+++ end of correction - BET2=T2LIM*(T2LIM+2.*HMASS)/(T2LIM+HMASS)**2 - SBB=2.*(LOG(TMAX/POTI)-BET2) - SBB=D*Z*SBB/(A*BET2) - CORBB=(ST/SBB-1.)*T2LIM -* - DEDX=DEDX*(1.+CORBB/T) -* - ENDIF - ENDIF -* - RETURN - 10 WRITE (CHMAIL,10000) Z - CALL GMAIL(1,1) -10000 FORMAT(5X,'***GDRELP (Z.LT.1.).OR.(Z.GT.92.) ==> Z=',F10.1) - END diff --git a/StarVMC/geant3/gphys/gdrot.F b/StarVMC/geant3/gphys/gdrot.F deleted file mode 100644 index 80ae7894825..00000000000 --- a/StarVMC/geant3/gphys/gdrot.F +++ /dev/null @@ -1,61 +0,0 @@ -* -* $Id: gdrot.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdrot.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DROT(P,COSTH,SINTH,COSPH,SINPH) -C. -C. ****************************************************************** -C. * * -C. * Rotates vector from one reference system into another. * -C. * THETA and PHI are anti-clockwise Eulerian angles between the * -C. * two systems. * -C. * * -C. * ==>Called by : G3BREME,G3COMP,G3DECAY,G3DECA3,G3DRAY,G3PAIRG* -C. * Author M.Hansroul, G.Patrick ********* * -C. * * -C. * * -C. ****************************************************************** -C. - DIMENSION P(3) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION P1,P2,P3 -#endif -C. -C. ------------------------------------------------------------------ -C. - P1=P(1) - P2=P(2) - P3=P(3) - P(1)=P1*COSTH*COSPH - P2*SINPH + P3*SINTH*COSPH - P(2)=P1*COSTH*SINPH + P2*COSPH + P3*SINTH*SINPH - P(3)=-P1*SINTH + P3*COSTH -C - END diff --git a/StarVMC/geant3/gphys/gdrprt.F b/StarVMC/geant3/gphys/gdrprt.F deleted file mode 100644 index 35da0101610..00000000000 --- a/StarVMC/geant3/gphys/gdrprt.F +++ /dev/null @@ -1,171 +0,0 @@ -* -* $Id: gdrprt.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdrprt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DRPRT(IPART,IMATE,STEP,MPOINT) -C. -C. ****************************************************************** -C. * * -C. * Landau fluctuations and/or delta-rays generation . * -C. * print the value of some relevant parameters (see phys 332) : * -C. * Tmax, zeta, kapa and the regime for fluctuations * -C. * * -C. * Input parameters * -C. * IPART Geant particle number * -C. * IMATE Geant material number * -C. * STEP cm * -C. * * -C. * ==>Called by : * -C. * Author M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcmulo.inc" -* - PARAMETER (MXPOIN=100) - DIMENSION TCUT(5) - DIMENSION TKINV(MXPOIN),DEDXMV(MXPOIN),DNTOTV(MXPOIN) - CHARACTER REGIME*14,KUNIT*4,NAPART*8,NAMATE*8 -* - PARAMETER (DGEV=0.153536 E-3) -* -* *** incident particle - JPA = LQ(JPART-IPART) - CALL UHTOC (IQ(JPA+1),4,NAPART,8) - AMASS = Q(JPA+7) - CHARG = Q(JPA+8) - EAMAS = EMASS/AMASS -* -* *** material - JMA = LQ(JMATE-IMATE) - IF(JMA.LE.0.OR.IMATE.GT.IQ(JMATE-2)) THEN - WRITE(CHMAIL,10000) IMATE - GOTO 999 - ENDIF - CALL UHTOC (IQ(JMA+1),4,NAMATE,8) - AMT = Q(JMA+6) - ZMT = Q(JMA+7) - RO = Q(JMA+8) - JPR = LQ(JMA-4) -* -* *** mean ionization potential (GeV) -* POTI=16E-9*ZMT**0.9 - POTI=Q(JPR+9) -* - CONS = DGEV*CHARG*CHARG*STEP*RO*ZMT/AMT -* - WRITE (CHMAIL,10200) NAPART,NAMATE,STEP - CALL GMAIL(1,0) - WRITE (CHMAIL,10100) - CALL GMAIL(0,1) - WRITE (CHMAIL,10300) - CALL GMAIL(0,1) -* -* *** loop on kinetic energy - NPOINT = MIN(MPOINT,MXPOIN) - TKINI = ELOW(1) - TKEND = ELOW(NEK1) - STEPL = (TKEND/TKINI)**(1./(NPOINT-1)) - TKINV(1) = TKINI - DO 10 JTK=2,NPOINT - TKINV(JTK) = TKINV(JTK-1)*STEPL - 10 CONTINUE - CALL G3FTMAT(IMATE,IPART,'LOSS',NPOINT,TKINV,DEDXMV,TCUT,IXST) - CALL G3FTMAT(IMATE,IPART,'DRAY',NPOINT,TKINV,DNTOTV,TCUT,IXST) - DO 20 I=1,NPOINT - TKIN = TKINV(I) - DEDXM = DEDXMV(I) - DNTOT = DNTOTV(I) - TKM = TKIN/AMASS - GAMA = TKM + 1. - GAM2 = GAMA**2 - BTA2 = TKM*(TKM+2.)/GAM2 -* maximum transferable energy (gev) - TMAX = (2*EMASS*GAM2*BTA2)/(1.+2*GAMA*EAMAS+EAMAS**2) - IF(IPART.EQ.3) TMAX=0.5*TMAX -* -* *** mean de/dx on material - DEGEV = STEP*DEDXM*1.E-3 - DEPOT = DEGEV/POTI -* -* *** total number of delta ray production - DNTOT = DNTOT*STEP -* -* *** low energy tranfert - ZETA = CONS/BTA2 - DNLOW = ZETA/POTI -* -* *** high energy transfert - DNHIG = ZETA/TMAX -* -* *** regime - DNMIN = MIN(DNLOW,DEPOT) - IF(DNMIN.GE.50.) THEN - IF (DNHIG.GE.10. ) THEN - REGIME = 'Gauss' - ELSEIF (DNHIG.GE.0.01) THEN - REGIME = 'Vavilov' - ELSE - REGIME = 'Landau' - ENDIF - ELSE - IFREE = 1 - IF(DNMIN.GE.0.01) THEN - REGIME = 'Urban/' - IFREE = 7 - ENDIF - IF(DNMIN.GE.1..AND.DNMIN.LT.30.) THEN - REGIME(IFREE:) = 'ASHO/' - IFREE = 12 - ENDIF - REGIME(IFREE:) = 'PAI' - ENDIF -* -* *** print - CALL G3EVKEV (TKIN,TKUN,KUNIT) - WRITE (CHMAIL,10400) TKUN,KUNIT,DNTOT,DEPOT,DNLOW,DNHIG, - + REGIME - CALL GMAIL(0,0) - 20 CONTINUE -* -10000 FORMAT(' **** GDRPRT: Material N ',I3,' has not been defined') -10100 FORMAT (9X,'For an explication of the ''regimes'' field ', - + 'see the GEANT manual') -10200 FORMAT (5X,'*** Energy loss straggling for ',A8,' in ',A8, - + ', step ',F8.4,' cm') -10300 FORMAT (4X,' Ekin ',' N d-rays',' dE/I ', - + ' xi/I ',' xi/Emax ',' regime') -10400 FORMAT (4X,F5.1,A4,4E12.3,4X,A14) -* - 999 END diff --git a/StarVMC/geant3/gphys/gdrsga.F b/StarVMC/geant3/gphys/gdrsga.F deleted file mode 100644 index dce4ef6ea46..00000000000 --- a/StarVMC/geant3/gphys/gdrsga.F +++ /dev/null @@ -1,121 +0,0 @@ -* -* $Id: gdrsga.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gdrsga.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3DRSGA -C. -C. ****************************************************************** -C. * * -C. * Calculates cross-section in current material * -C. * for Delta rays (Moller or Bhabba) * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Authors D.Ward, L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcmulo.inc" -C. -C. ------------------------------------------------------------------ -C. - Q(JDRAY+IEKBIN )=BIG - Q(JDRAY+IEKBIN+ NEK1)=BIG - Q(JDRAY+IEKBIN+2*NEK1)=BIG - IF(Z.LT.1.) GOTO 99 - JPROB=LQ(JMA-4) - TKIN=ELOW(IEKBIN) -C -C=======> A, MUONS -C - IF(TKIN.GT.DCUTM)THEN - XE=TKIN+EMMU - GAM=XE/EMMU - GAM2=GAM**2 - BET2=1.-1./GAM2 - TMAX=2.*EMASS*(GAM2-1.)/ - + (1.+2.*GAM*EMASS/EMMU+(EMASS/EMMU)**2) - IF(TMAX.GT.DCUTM)THEN - Y=DCUTM/TMAX - SIG=(1.-Y+BET2*Y*LOG(Y))/DCUTM - SIG=SIG+(TMAX-DCUTM)/(2.*XE**2) - SIG=SIG*Q(JPROB+17)*EMASS/BET2 - IF(SIG.GT.0.)Q(JDRAY+IEKBIN+2*NEK1)=1./SIG - ENDIF - ENDIF -C -C======> B, ELECTRONS -C - IF(TKIN.GT.DCUTE)THEN -C - XE=TKIN+EMASS - GAM=XE/EMASS - GAM2=GAM*GAM - BET2=1.-1./GAM2 - T=GAM-1. - X=DCUTE/(T*EMASS) - X1=1.-X -C -C Moller -C - IF(T.GT.2.*DCUTE/EMASS)THEN - B1=T*T/GAM2 - B2=(2.*GAM-1.)/GAM2 - SIG=(B1*(0.5-X)+1./X-1./X1-B2*LOG(X1/X))/BET2 - SIG=Q(JPROB+17)*SIG/T - IF(SIG.GT.0.)Q(JDRAY+IEKBIN)=1./SIG - ENDIF -C -C Bhabha -C - IF(T.GT.DCUTE/EMASS)THEN - Y=1./(GAM+1.) - Y2=Y*Y - C=1.-2.*Y - B1=2.-Y2 - B2=C*(3.+Y2) - C2=C*C - B4=C2*C - B3=C2+B4 - SIG=(1./X-1.)/BET2+B1*LOG(X) - + +B2*(1.-X)-B3*(1.-X*X)/2.+B4*(1.-X**3)/3. - SIG=Q(JPROB+17)*SIG/T - IF(SIG.GT.0.)Q(JDRAY+IEKBIN+NEK1)=1./SIG - ENDIF - ENDIF -C - 99 RETURN - END diff --git a/StarVMC/geant3/gphys/gefch2.F b/StarVMC/geant3/gphys/gefch2.F deleted file mode 100644 index c49c9fd0049..00000000000 --- a/StarVMC/geant3/gphys/gefch2.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: gefch2.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gefch2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - FUNCTION G3EFCH2(Z1,Z2,TK) -C. ******************************************************************* -C. * * -C. * Calculates gamma**2=( eff.charge/z1)**2 for heavy ions * -C. * (see e.g. F.Hubert et al. Atomic Data and Nuclear Data * -C. * Tables,Vol.40,1.(1990) ) * -C. * * -C. * The stopping power S for a given combination of stopping * -C. * medium and heavy ion can be calculated according to * -C. * the scaling law * -C. * * -C. * S = (gamma*Z1)**2*Sref/Zref**2 * -C. * * -C. * where Z1 the ion charge , gamma*Z1 is the effective charge, * -C. * Sref is the stopping power of the same medium * -C. * for a reference ion of the same velocity and * -C. * of effective charge Zref. * -C. * * -C. * Input: Z1 atomic number of the ion * -C. * Z2 atomic number of the medium * -C. * TK E/A in GeV (ion kin.energy/atomic weight) * -C. * * -C. ******************************************************************* -C. - ALZ2=LOG(Z2) - TKMEV=1000.*TK -C - X1=1.164+0.2319*EXP(-0.004302*Z2)+1.658*EXP(-0.05170*Z1) - X2=8.144+0.09876*ALZ2 - X3=0.3140+0.01072*ALZ2 - X4=0.5218+0.02521*ALZ2 - EE=MAX(-50.,-X2*TKMEV**X3/Z1**X4) -C ......................... - GA=1.-X1*EXP(EE) -C - G3EFCH2=GA**2 - END diff --git a/StarVMC/geant3/gphys/gfang.F b/StarVMC/geant3/gphys/gfang.F deleted file mode 100644 index 8255730da33..00000000000 --- a/StarVMC/geant3/gphys/gfang.F +++ /dev/null @@ -1,89 +0,0 @@ -* -* $Id: gfang.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gfang.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 06/07/94 18.28.55 by S.Giani -*-- Author : - SUBROUTINE G3FANG(P,COSTH,SINTH,COSPH,SINPH,ROTATE) -C. -C. ****************************************************************** -C. * * -C. * Finds theta-phi angles for a particle with director cosines P * -C. * The logical flag ROTATE indicates whether the the director * -C. * cosines are along the Z axis (.FALSE.) or not (.TRUE.). * -C. * * -C. * ==>Called by : * -C. * Author F.Carminati ********* * -C. * * -C. * * -C. ****************************************************************** -C. - DIMENSION P(*) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION DUX, DUY, DUZ, DSITH2, ONE, DNORM -#endif - LOGICAL ROTATE - PARAMETER (ONE=1) -C. -C. ------------------------------------------------------------------ -C. - DUX = P(1) - DUY = P(2) - DUZ = P(3) - ROTATE = .TRUE. - IF(ABS(DUZ).GE.0.85) THEN - DSITH2=DUX**2+DUY**2 - IF(DSITH2.GT.0.) THEN - COSTH = SIGN(ONE,DUZ)*SQRT(ONE-DSITH2) - DSITH = SQRT(DSITH2) - SINTH = DSITH - COSPH = DUX/DSITH - SINPH = DUY/DSITH - ELSEIF(DUZ.GT.0.)THEN - ROTATE = .FALSE. - COSTH = 1. - SINTH = 0. - COSPH = 1. - SINPH = 0. - ELSE - COSTH = -1. - SINTH = 0. - COSPH = 1. - SINPH = 0. - ENDIF - ELSE - COSTH = DUZ - DSITH = SQRT((ONE+DUZ)*(ONE-DUZ)) - SINTH = DSITH - DNORM = ONE/SQRT(DUX**2+DUY**2) - COSPH = DUX*DNORM - SINPH = DUY*DNORM - ENDIF -* - END diff --git a/StarVMC/geant3/gphys/gfluct.F b/StarVMC/geant3/gphys/gfluct.F deleted file mode 100644 index 6beef7e8ca8..00000000000 --- a/StarVMC/geant3/gphys/gfluct.F +++ /dev/null @@ -1,223 +0,0 @@ -* -* $Id: gfluct.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gfluct.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 1999/06/03 16:12:17 fca -* Introduced M.Kowalski modifications for very short steps. -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:24 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*-- Author : - SUBROUTINE G3FLUCT(DEMEAN,DE) -C. -C. ****************************************************************** -C. * * -C. * Subroutine to decide which method is used to simulate * -C. * the straggling around the mean energy loss. * -C. * * -C. * * -C. * DNMIN: <---------->1<-------->30<--------->50<---------> * -C. * * -C. * LOSS=2 : * -C. * STRA=0 <----------G3LANDZ-------------------><--G3LANDO--> * -C. * LOSS=1,3: * -C. * STRA=0 <---------------------G3LANDZ--------------------> * -C. * * -C. * STRA=1 <-----------PAI---------------------><--G3LANDZ--> * -#if defined(CERNLIB_ASHO) -C. * STRA=2 <---PAI----><---ASHO---><----PAI----><--G3LANDZ--> * -C. * * -#endif -C. * * -C. * DNMIN : an estimation of the number of collisions * -C. * with energy close to the ionization energy * -C. * (see PHYS333) * -C. * * -C. * Input : DEMEAN (mean energy loss) * -C. * Output : DE (energy loss in the current step) * -C. * * -C. * ==>Called by : G3TELEC,G3TMUON,G3THADR * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gccuts.inc" -#include "geant321/gckine.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -* - PARAMETER (EULER=0.577215,GAM1=EULER-1) - PARAMETER (P1=.60715,P2=.67794,P3=.52382E-1,P4=.94753, - + P5=.74442,P6=1.1934) - PARAMETER (DGEV=0.153536 E-3, DNLIM=50) -#if defined(CERNLIB_ASHO) - PARAMETER (ASHMIN=1,ASHMAX=30) -#endif -* These parameters are needed by M.Kowalski's fluctuation algorithm - PARAMETER (FPOT=20.77E-9, EEND=10E-6, EEXPO=2.2, EEND1=1E-6) - PARAMETER (XEXPO=-EEXPO+1, YEXPO=1/XEXPO) -* These parameters are needed by M.Kowalski's fluctuation algorithm - DIMENSION RNDM(2) - DE2(DPOT,RAN)=(DPOT**XEXPO*(1-RAN)+EEND**XEXPO*RAN)**YEXPO - FLAND(X) = P1+P6*X+(P2+P3*X)*EXP(P4*X+P5) -* - DE21(DPOT,RAN)=(DPOT**XEXPO*(1-RAN)+EEND1**XEXPO*RAN)**YEXPO -* - IF(STEP.LE.0) THEN - DE=DEMEAN - ELSE - DEDX = DEMEAN/STEP - POTI=Q(JPROB+9) - IF(ISTRA.EQ.0.AND.(ILOSS.EQ.1.OR.ILOSS.EQ.3)) THEN - CALL G3LANDZ(Z,STEP,VECT(7),GETOT,DEDX,DE,POTI,Q(JPROB+10)) - ELSEIF (ILOSS.EQ.5) THEN -* This is Marek Kowalski's fluctuation algorithm, it works only when -* the step size has been limited to one ionisation on average - CALL GRNDM(RNDM,1) - DE=DE2(FPOT,RNDM(1)) -* - ELSEIF (ILOSS.EQ.6) THEN -* This is Marek Kowalski's fluctuation algorithm, it works only when -* the step size has been limited to one ionisation on average and for Kr only - CALL GRNDM(RNDM,1) - DE=DE21(FPOT,RNDM(1)) - ELSE -* -* *** mean ionization potential (GeV) -* POTI=16E-9*Z**0.9 -* - GAMMA = GETOT/AMASS - BETA = VECT(7)/GETOT - BET2 = BETA**2 -* -* *** low energy transfer - XI = DGEV*CHARGE**2*STEP*DENS*Z/(A*BET2) -* -* *** regime -* *** ISTRA = 1 --> PAI + URBAN -#if defined(CERNLIB_ASHO) -* *** ISTRA = 2 --> PAI + URBAN + ASHO -#endif - DNMIN = MIN(XI,DEMEAN)/POTI -* - IF (ISTRA.EQ.0) THEN - IF(DNMIN.GE.DNLIM) THEN -* -* Energy straggling using Gaussian, Landau & Vavilov theories. -* -* STEP = current step-length (cm) -* -* DELAND = DE/DX - (GeV) -* -* Author : G.N. Patrick -* - IF(STEP.LT.1.E-7)THEN - DELAND=0. - ELSE -* -* Maximum energy transfer to atomic electron (GeV). - ETA = BETA*GAMMA - RATIO = EMASS/AMASS -* -* Calculate Kappa significance ratio. -* EMAX=(2*EMASS*ETA**2)/(1+2*RATIO*GAMMA+RATIO**2) -* CAPPA = XI/EMAX - CAPPA = XI*(1+2*RATIO*GAMMA+RATIO**2)/(2*EMASS* - + ETA**2) - IF (CAPPA.GE.10.) THEN -* -* +-----------------------------------+ -* I Sample from Gaussian distribution I -* +-----------------------------------+ - SIGMA = XI*SQRT((1.-0.5*BET2)/CAPPA) - CALL GRNDM(RNDM,2) - F1 = -2.*LOG(RNDM(1)) - DELAND = SIGMA*SQRT(F1)*COS(TWOPI*RNDM(2)) - ELSE - XMEAN = -BET2-LOG(CAPPA)+GAM1 - IF (CAPPA.LT.0.01) THEN - XLAMX = FLAND(XMEAN) -* +---------------------------------------------------------------+ -* I Sample lambda variable from Kolbig/Schorr Landau distribution I -* +---------------------------------------------------------------+ -* 10 CALL GRNDM(RNDM,1) -* IF( RNDM(1) .GT. 0.980 ) GO TO 10 -* XLAMB = G3LANDR(RNDM(1)) -* +---------------------------------------------------------------+ -* I Sample lambda variable from James/Hancock Landau distribution I -* +---------------------------------------------------------------+ - 10 CALL G3LANDG(XLAMB) - IF(XLAMB.GT.XLAMX) GO TO 10 - ELSE -* +---------------------------------------------------------+ -* I Sample lambda variable (Landau not Vavilov) from I -* I Rotondi&Montagna&Kolbig Vavilov distribution I -* +---------------------------------------------------------+ - CALL GRNDM(RNDM,1) - XLAMB = G3VAVIV(CAPPA,BET2,RNDM(1)) - ENDIF -* -* Calculate DE/DX - - DELAND = XI*(XLAMB-XMEAN) - ENDIF - ENDIF - DE = DEMEAN + DELAND - ELSE - CALL G3LANDZ(Z,STEP,VECT(7),GETOT,DEDX,DE,POTI, - + Q(JPROB+ 10)) - ENDIF - ELSE IF (ISTRA.LE.2) THEN - IF(DNMIN.GE.DNLIM) THEN - CALL G3LANDZ(Z,STEP,VECT(7),GETOT,DEDX,DE,POTI, - + Q(JPROB+ 10)) - ELSE - NMEC = NMEC+1 - LMEC(NMEC)=109 -#if defined(CERNLIB_ASHO) - IF (DNMIN.GE.ASHMIN.AND.DNMIN.LT.ASHMAX .AND.ISTRA.EQ - + .2) THEN - CALL G3ASHO(VECT(7),AMASS,STEP,DE) - ELSE - DE = G3STREN(GAMMA,DCUTE,STEP) - ENDIF -#endif -#if !defined(CERNLIB_ASHO) - DE = G3STREN(GAMMA,DCUTE,STEP) -#endif -* -* *** Add brem losses to ionisation - IF(ITRTYP.EQ.2) THEN - JBASE = LQ(JMA-1)+2*NEK1+IEKBIN - DE = DE +(1.-GEKRAT)*Q(JBASE)+GEKRAT*Q(JBASE+1) - ELSEIF(ITRTYP.EQ.5) THEN - JBASE = LQ(JMA-2)+NEK1+IEKBIN - DE = DE +(1.-GEKRAT)*Q(JBASE)+GEKRAT*Q(JBASE+1) - ENDIF - ENDIF - ENDIF - ENDIF - ENDIF -* - END diff --git a/StarVMC/geant3/gphys/gfnrdt.F b/StarVMC/geant3/gphys/gfnrdt.F deleted file mode 100644 index fdf0074126b..00000000000 --- a/StarVMC/geant3/gphys/gfnrdt.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: gfnrdt.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gfnrdt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3FNRDT(Z,ESHL,NSHL,NWORD,NONRAD,PRB,ENER) -C. -C. ****************************************************************** -C. * * -C * Fetch Non-Radiative Decay probability Table and the modes * -C. * the nonradiative shells decay * -C. * * -C. * ==>Called by : G3FSHDC * -C. * Author J. Chwastowski * -C. * * -C. ****************************************************************** -C. -#include "geant321/gccuts.inc" -#include "geant321/gcpmxz.inc" -#include "geant321/gcphnr.inc" - REAL ONEEV - PARAMETER (ONEEV = 1.E-9) - DIMENSION ESHL(*),PRB(*),ENER(*),NONRAD(*) - IZ = Z - NWORD = 0 - DO 10 J = 1,NSHL - NONRAD(J) = 0 - ESHELL = ESHL(J) - IF(ESHELL.GT.0.0) THEN - I1 = IGNRFN((J-1)*2+1,IZ) - I2 = IGNRFN((J-1)*2+2,IZ) - IF(I1*I2.GT.0) THEN - NONRAD(J) = 1 - NWORD = NWORD+1 - ENER(NWORD) = ESHELL-ESHL(I1)-ESHL(I2) - ENER(NWORD) = ENER(NWORD)*ONEEV - IF(ENER(NWORD).LE.CUTELE) ENER(NWORD) = -ENER(NWORD) - PRB(NWORD) = 1. - ENDIF - ENDIF - 10 CONTINUE - END diff --git a/StarVMC/geant3/gphys/gfrdt.F b/StarVMC/geant3/gphys/gfrdt.F deleted file mode 100644 index 574d3dd8652..00000000000 --- a/StarVMC/geant3/gphys/gfrdt.F +++ /dev/null @@ -1,91 +0,0 @@ -* -* $Id: gfrdt.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gfrdt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3FRDT(ZZ,ESHL,NSHL,NWORD,NRAD,PRB,ENER) -C. -C. ****************************************************************** -C. * * -C * Fetch Radiative Decay probability Tables and the modes * -C. * the radiative shells decay * -C. * * -C. * ==>Called by : G3FSHDC * -C. * Author J. Chwastowski * -C. * * -C. ****************************************************************** -C. -#include "geant321/gccuts.inc" -#include "geant321/gcpmxz.inc" -#include "geant321/gcphrd.inc" - REAL ONEEV - PARAMETER (ONEEV = 1.E-9) - DIMENSION ESHL(*),PRB(*),ENER(*),NRAD(*) - IZ = ZZ - NWORD = 0 - DO 30 J = 1,NSHL - NRAD(J) = 0 - ESHELL = ESHL(J) - IF(ESHELL.GT.0.0) THEN - IF(J.EQ.1) THEN - NR = KSHLS - NS = 0 - ELSEIF(J.EQ.2) THEN - NR = L1SHLS - NS = KSHLS - ELSEIF(J.EQ.3) THEN - NR = L2SHLS - NS = KSHLS+L1SHLS - ELSEIF(J.EQ.4) THEN - NR = L3SHLS - NS = KSHLS+L1SHLS+L2SHLS - ENDIF - NWS = NWORD+1 - QS = 0.0 - DO 10 I = 1,NR - QS = QS+GPHRAT(NS+I,IZ) - IF(GPHRAT(NS+I,IZ).GT.0.0) THEN - NWORD = NWORD+1 - NRAD(J) = NRAD(J)+1 - PRB(NWORD) = QS - ENER(NWORD) = ESHELL-ESHL(ISHLTR(NS+I)) - ENER(NWORD) = ENER(NWORD)*ONEEV - IF(ENER(NWORD).LE.CUTGAM) ENER(NWORD) = -ENER(NWORD) - ENDIF - 10 CONTINUE - IF(QS.GT.0.0) THEN - QS1 = 1./QS - DO 20 I = NWS,NWORD - PRB(I) = PRB(I)*QS1 - 20 CONTINUE - ENDIF - ENDIF - 30 CONTINUE - END diff --git a/StarVMC/geant3/gphys/gfsdpr.F b/StarVMC/geant3/gphys/gfsdpr.F deleted file mode 100644 index 6af975a66c1..00000000000 --- a/StarVMC/geant3/gphys/gfsdpr.F +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: gfsdpr.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gfsdpr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3FSDPR(Z,NSHL,PRB) -C. -C. ****************************************************************** -C. * * -C * Fetch probability of radiative shells decay * -C. * * -C. * ==>Called by : G3FSHDC * -C. * Author J. Chwastowski * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcpmxz.inc" -#include "geant321/gcphpr.inc" - DIMENSION PRB(NSHL) - IZ = Z - DO 10 I = 1,NSHL - PRB(I) = GFLUPR(I,IZ) - 10 CONTINUE - END diff --git a/StarVMC/geant3/gphys/gfshdc.F b/StarVMC/geant3/gphys/gfshdc.F deleted file mode 100644 index e9aedd75558..00000000000 --- a/StarVMC/geant3/gphys/gfshdc.F +++ /dev/null @@ -1,161 +0,0 @@ -* -* $Id: gfshdc.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gfshdc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3FSHDC(IELEM,Z) -C. -C. ****************************************************************** -C. * * -C. * Fetch Shell Decay Constants * -C. * * -C. * ==>CALLED BY : G3PHXSI * -C. * AUTHOR : J. Chwastowski * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcunit.inc" - COMMON / FIXIT / JPHFN - REAL ONEEV - PARAMETER (ONEEV = 1.E-9) - DIMENSION PRB(4),PRBR(92),ER(92),PRBNR(92),ENR(92) - DIMENSION ESHL(24),NRAD(24),NONRAD(24) - PARAMETER (NFNBIN = 17, NSHELL = 4) -C -C Push NZ JPFN banks which will contain constants for each Z -C - JPHXS = LQ(JPHOT-1) -C -C Get Z, the shell potentials and the decay modes -C - DO 10 I = 1,24 - ESHL(I) = 0.0 - NRAD(I) = 0 - NONRAD(I) = 0 - 10 CONTINUE - DO 20 I = 1,4 - PRB(I) = 0.0 - 20 CONTINUE - DO 30 I = 1,92 - PRBNR(I) = 0.0 - PRBNR(I) = 0.0 - ENR(I) = 0.0 - ER(I) = 0.0 - 30 CONTINUE - CALL G3FSHLS(Z,ESHL,NSHLL) - CALL G3FRDT(Z,ESHL,NSHELL,NWR,NRAD,PRBR,ER) - CALL G3FNRDT(Z,ESHL,NSHELL,NWNR,NONRAD,PRBNR,ENR) -C Calculate how many words are needed for the final state bank JPHFN - NWORD = 0 - DO 40 J = 1,NSHELL - IF(NRAD(J).GT.0) NWORD = NWORD+2*NRAD(J)+1 - IF(NONRAD(J).GT.0) NWORD = NWORD+2*NONRAD(J)+1 - 40 CONTINUE - NBOOK = NWORD+NFNBIN - JPHFN = LQ(JPHXS-IELEM) -C Push bank to store final state parameters - CALL MZPUSH(IXCONS,JPHFN,0,NBOOK,'R') - NUSED = 5*Q(JPHFN+1)+1 - JPHFN = JPHFN+NUSED - Q(JPHFN+1) = NSHELL -C Get probability of the shell radiative decay - CALL G3FSDPR(Z,NSHELL,PRB) -C -C Copy potentials and radiative decay probabilities -C - DO 50 J = 1,NSHELL - IF(ESHL(J).GT.0.0) THEN - Q(JPHFN+1+J) = ESHL(J)*ONEEV - Q(JPHFN+1+J+NSHELL) = PRB(J) - ELSE -C if the shell potential is zero set it to -1 - Q(JPHFN+1+J) = -1. - Q(JPHFN+1+J+NSHELL) = -1. - ENDIF - 50 CONTINUE -C -C Now configurations of the final state -C - K = 18 - KR = 1 - KNR = 1 - IF(NWORD.GT.0) THEN - Q(JPHFN+10) = 18+NUSED - DO 100 J = 1,NSHELL - IF(ESHL(J).GT.0.0) THEN - IF(NRAD(J).GT.0) THEN - IF(J.GT.1) Q(JPHFN+9+J) = K+NUSED - Q(JPHFN+K) = NRAD(J) - K = K+1 - KER = KR+NRAD(J)-1 - DO 60 L = KR,KER - Q(JPHFN+K) = PRBR(L) - K = K+1 - 60 CONTINUE - DO 70 L = KR,KER - Q(JPHFN+K) = ER(L) - K = K+1 - 70 CONTINUE - KR = KR+NRAD(J) - ENDIF - IF(NONRAD(J).GT.0) THEN - Q(JPHFN+13+J) = K+NUSED - Q(JPHFN+K) = NONRAD(J) - K = K+1 - KNER = KNR+NONRAD(J)-1 - DO 80 L = KNR,KNER - Q(JPHFN+K) = PRBNR(L) - K = K+1 - 80 CONTINUE - DO 90 L = KNR,KNER - Q(JPHFN+K) = ENR(L) - K = K+1 - 90 CONTINUE - KNR = KNR+NONRAD(J) - ENDIF - ENDIF - 100 CONTINUE - ELSE -C You should never land here unless Z < 6 - IF(Z.GT.5.) THEN -C CALL MZDROP(IXCONS,JPHFN,'L') - WRITE(CHMAIL,'(A25,I3)') ' GFSHDC. JPHFN Z > 5. Z = ',Z - CALL GMAIL(0,0) - ENDIF - ENDIF - END diff --git a/StarVMC/geant3/gphys/gfshls.F b/StarVMC/geant3/gphys/gfshls.F deleted file mode 100644 index 0cb3e3b3b1f..00000000000 --- a/StarVMC/geant3/gphys/gfshls.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: gfshls.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gfshls.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3FSHLS(Z,GSHPOT,NSHELL) -C. -C. ****************************************************************** -C. * * -C. * Fetch the shells' potentials for e given Z * -C. * The potentials are in eV !!! * -C. * * -C. * ==>Called by : G3PHXSI,G3FSHDC * -C. * Author J. Chwastowski * -C. * * -C. ****************************************************************** -C. - IMPLICIT NONE -#include "geant321/gcpmxz.inc" -#include "geant321/gcshpt.inc" -#include "geant321/gcunit.inc" - REAL ZZ,Z,GSHPOT(*) - INTEGER I,IZ,NSHELL - ZZ = Z - IF(ZZ.LT.1.OR.ZZ.GT.MAXELZ) THEN - IF(ZZ.LT. 1) WRITE(CHMAIL,10000) ZZ - IF(ZZ.GT.MAXELZ) WRITE(CHMAIL,10100) ZZ - CALL GMAIL(0,0) - ELSE - IZ = IFIX(ZZ) - NSHELL = NSHLLS(IZ) - DO 10 I = 1,NSHLLS(IZ) - GSHPOT(I) = ESHELL(N1ST(IZ)-1+I) - 10 CONTINUE - ENDIF -10000 FORMAT(' ***** GFSHLS ERROR:', - + ' Z of the material is less than 1.', - + ' Actual Z =',I5,'.') -10100 FORMAT(' ***** GFSHLS ERROR:', - + ' Z of the material is bigger than 100.', - + ' Actual Z =',I5,' (I5).') - END diff --git a/StarVMC/geant3/gphys/ghsig.F b/StarVMC/geant3/gphys/ghsig.F deleted file mode 100644 index 86653c339e6..00000000000 --- a/StarVMC/geant3/gphys/ghsig.F +++ /dev/null @@ -1,208 +0,0 @@ -* -* $Id: ghsig.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: ghsig.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:36 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - FUNCTION G3HSIG(P,ITYPE,A) -C. -C. ****************************************************************** -C. * * -C. * Returns absorption cross-section in millibarns * -C. * for a particle with * -C. * momentum P (GEV/C) * -C. * type ITYPE * -C. * on a nucleus of atomic number A * -C. * * -C. * ==>Called by : G3HSIGM * -C. * Author R.Barlow ********* * -C. * * -C. ****************************************************************** -C -C The internal particle types are as follows... -C 1 proton -C 2 antiproton -C 3 K+ -C 4 K- -C 5 pion -C - DIMENSION SIGB(100),ALPHA(100),SIG(162,5) - DIMENSION SIGPR(162,1),SIGPB(162,1),SIGKP(162,1),SIGKM(162,1) - DIMENSION SIGPI(162,1) - EQUIVALENCE (SIGPR(1,1),SIG(1,1)),(SIGPB(1,1),SIG(1,2)) - EQUIVALENCE (SIGKP(1,1),SIG(1,3)),(SIGKM(1,1),SIG(1,4)) - EQUIVALENCE (SIGPI(1,1),SIG(1,5)) -C - DATA ALPHA/ - + 0.9826,0.9659,0.9500,0.9348,0.9203,0.9064,0.8932,0.8807,0.8687, - + 0.8574,0.8466,0.8363,0.8265,0.8172,0.8084,0.8000,0.7921,0.7845, - + 0.7773,0.7705,0.7640,0.7579,0.7520,0.7464,0.7411,0.7361,0.7313, - + 0.7267,0.7224,0.7182,0.7142,0.7105,0.7069,0.7034,0.7001,0.6970, - + 0.6939,0.6911,0.6883,0.6856,0.6831,0.6807,0.6783,0.6761,0.6739, - + 0.6718,0.6698,0.6679,0.6660,0.6642,0.6625,0.6609,0.6592,0.6577, - + 0.6562,0.6547,0.6533,0.6519,0.6506,0.6493,0.6481,0.6469,0.6457, - + 0.6446,0.6435,0.6424,0.6413,0.6403,0.6393,0.6384,0.6374,0.6365, - + 0.6356,0.6347,0.6339,0.6330,0.6322,0.6314,0.6307,0.6299,0.6292, - + 0.6284,0.6277,0.6270,0.6263,0.6257,0.6250,0.6244,0.6237,0.6231, - + 0.6225,0.6219,0.6213,0.6208,0.6202,0.6197,0.6191,0.6186,0.6181, - + 0.6175/ - DATA SIGB/ - + 1.02, 2.10, 3.21, 4.36, 5.54, 6.75, 7.99, 9.24, 10.51, - + 11.79, 13.08, 14.37, 15.66, 16.95, 18.22, 19.49, 20.75, 21.99, - + 23.22, 24.43, 25.62, 26.79, 27.93, 29.06, 30.16, 31.24, 32.30, - + 33.33, 34.34, 35.32, 36.29, 37.22, 38.14, 39.03, 39.91, 40.75, - + 41.58, 42.39, 43.18, 43.95, 44.70, 45.43, 46.14, 46.83, 47.51, - + 48.17, 48.82, 49.45, 50.06, 50.66, 51.25, 51.83, 52.39, 52.93, - + 53.47, 53.99, 54.51, 55.01, 55.50, 55.98, 56.45, 56.92, 57.37, - + 57.81, 58.25, 58.68, 59.10, 59.51, 59.91, 60.31, 60.70, 61.08, - + 61.46, 61.83, 62.19, 62.55, 62.90, 63.25, 63.59, 63.93, 64.26, - + 64.58, 64.90, 65.22, 65.53, 65.84, 66.14, 66.44, 66.74, 67.03, - + 67.31, 67.60, 67.88, 68.15, 68.42, 68.69, 68.96, 69.22, 69.48, - + 69.74/ - DATA SIGPR / - + 79.01, 76.05, 73.81, 71.75, 69.67, 66.70, 64.89, 63.09, 60.58, - + 58.99, 57.49, 56.09, 54.02, 52.75, 51.54, 50.39, 48.78, 47.79, - + 46.86, 45.99, 44.73, 43.97, 43.25, 42.59, 41.59, 40.99, 40.41, - + 39.85, 38.88, 38.26, 37.67, 37.06, 36.31, 35.82, 35.37, 35.00, - + 34.40, 34.03, 33.71, 33.45, 33.00, 32.72, 32.50, 32.31, 32.01, - + 31.84, 31.69, 31.56, 31.38, 31.29, 31.17, 31.09, 31.17, 31.34, - + 31.61, 31.87, 32.62, 33.16, 33.84, 34.62, 35.85, 36.67, 37.51, - + 38.72, 39.52, 40.29, 41.00, 41.97, 42.54, 43.01, 43.38, 43.82, - + 44.01, 44.14, 44.24, 44.34, 44.38, 44.40, 44.40, 44.36, 44.33, - + 44.28, 44.21, 44.07, 43.96, 43.84, 43.71, 43.48, 43.33, 43.17, - + 43.02, 42.79, 42.64, 42.49, 42.36, 42.16, 42.05, 41.94, 41.85, - + 41.71, 41.63, 41.54, 41.46, 41.35, 41.27, 41.20, 41.13, 41.02, - + 40.95, 40.88, 40.81, 40.72, 40.66, 40.61, 40.57, 40.49, 40.44, - + 40.37, 40.30, 40.19, 40.11, 40.04, 39.92, 39.84, 39.76, 39.69, - + 39.57, 39.51, 39.45, 39.40, 39.32, 39.26, 39.21, 39.16, 39.09, - + 39.05, 39.01, 38.98, 38.93, 38.90, 38.88, 38.85, 38.82, 38.81, - + 38.79, 38.77, 38.75, 38.73, 38.72, 38.70, 38.68, 38.66, 38.65, - + 38.64, 38.62, 38.60, 38.59, 38.57, 38.55, 38.53, 38.51, 38.49/ - DATA SIGPB / - + 505.81,485.41,470.03,455.70,441.22,420.60,407.94,395.19,377.36, - + 366.03,355.16,345.07,329.94,320.60,311.79,303.19,291.17,283.77, - + 276.68,270.09,260.15,254.24,248.43,243.19,234.87,229.91,225.10, - + 220.26,213.46,209.12,204.98,200.98,195.36,191.56,187.98,184.49, - + 179.41,176.04,172.86,169.81,165.19,162.28,159.35,156.55,152.41, - + 149.95,147.59,145.11,141.66,139.59,137.45,135.41,132.43,130.53, - + 128.59,126.81,124.18,122.54,120.90,119.34,117.13,115.67,114.22, - + 112.04,110.54,109.13,107.70,105.63,104.23,102.97,101.64, 99.62, - + 98.30, 96.99, 95.81, 93.97, 92.88, 91.80, 90.69, 89.03, 87.97, - + 86.92, 85.89, 84.36, 83.38, 82.39, 81.40, 79.89, 78.92, 77.95, - + 76.96, 75.50, 74.59, 73.68, 72.81, 71.51, 70.73, 69.95, 69.19, - + 68.07, 67.39, 66.71, 66.04, 65.13, 64.54, 63.99, 63.42, 62.55, - + 62.05, 61.52, 61.02, 60.23, 59.74, 59.27, 58.79, 58.07, 57.64, - + 57.20, 56.77, 56.10, 55.66, 55.23, 54.41, 53.90, 53.42, 52.94, - + 52.20, 51.73, 51.30, 50.85, 50.20, 49.79, 49.47, 49.16, 48.72, - + 48.46, 48.15, 47.84, 47.42, 47.17, 46.92, 46.68, 46.31, 46.12, - + 45.90, 45.70, 45.42, 45.28, 45.13, 44.99, 44.80, 44.68, 44.58, - + 44.48, 44.35, 44.28, 44.21, 44.15, 44.06, 44.00, 43.95, 43.90/ - DATA SIGKP / - + 9.05, 8.86, 8.71, 8.58, 8.45, 8.28, 8.19, 8.11, 8.02, - + 7.97, 7.94, 7.92, 7.90, 7.91, 7.92, 7.95, 8.01, 8.05, - + 8.10, 8.17, 8.28, 8.37, 8.47, 8.56, 8.74, 8.86, 8.98, - + 9.13, 9.35, 9.51, 9.66, 9.83, 10.10, 10.27, 10.45, 10.63, - + 10.89, 11.07, 11.24, 11.40, 11.65, 11.81, 11.96, 12.12, 12.37, - + 12.54, 12.71, 12.87, 13.19, 13.43, 13.70, 13.99, 14.49, 14.87, - + 15.28, 15.71, 16.37, 16.79, 17.19, 17.57, 18.05, 18.30, 18.49, - + 18.68, 18.74, 18.76, 18.75, 18.69, 18.63, 18.57, 18.50, 18.39, - + 18.34, 18.29, 18.25, 18.18, 18.14, 18.09, 18.05, 17.98, 17.92, - + 17.87, 17.81, 17.72, 17.66, 17.62, 17.59, 17.55, 17.52, 17.49, - + 17.46, 17.44, 17.43, 17.42, 17.41, 17.41, 17.40, 17.40, 17.40, - + 17.40, 17.40, 17.40, 17.40, 17.41, 17.41, 17.42, 17.42, 17.43, - + 17.43, 17.44, 17.44, 17.45, 17.45, 17.46, 17.47, 17.48, 17.48, - + 17.48, 17.49, 17.49, 17.50, 17.50, 17.50, 17.49, 17.49, 17.49, - + 17.49, 17.50, 17.50, 17.50, 17.51, 17.52, 17.54, 17.55, 17.58, - + 17.60, 17.62, 17.63, 17.66, 17.68, 17.70, 17.73, 17.76, 17.79, - + 17.81, 17.83, 17.87, 17.90, 17.92, 17.95, 17.99, 18.01, 18.03, - + 18.06, 18.10, 18.13, 18.16, 18.19, 18.23, 18.26, 18.29, 18.33/ - DATA SIGKM / - + 76.56, 74.23, 72.44, 70.86, 69.28, 66.99, 65.66, 64.35, 62.47, - + 61.33, 60.23, 59.18, 57.65, 56.68, 55.73, 54.78, 53.21, 52.17, - + 51.31, 50.48, 49.27, 48.55, 47.89, 47.30, 46.48, 45.91, 45.31, - + 44.74, 43.78, 43.13, 42.48, 41.77, 40.57, 39.85, 39.01, 38.22, - + 37.05, 36.34, 35.66, 35.01, 34.23, 33.98, 33.73, 33.53, 33.26, - + 33.24, 33.41, 33.68, 34.13, 34.53, 34.94, 35.52, 36.37, 37.02, - + 37.58, 38.00, 38.11, 37.88, 37.44, 36.88, 35.77, 35.12, 34.34, - + 33.26, 32.60, 31.91, 31.29, 30.54, 30.13, 29.77, 29.45, 29.03, - + 28.80, 28.58, 28.35, 27.97, 27.70, 27.40, 27.10, 26.70, 26.48, - + 26.29, 26.07, 25.73, 25.52, 25.31, 25.13, 24.86, 24.72, 24.57, - + 24.42, 24.17, 24.01, 23.89, 23.77, 23.60, 23.49, 23.38, 23.29, - + 23.14, 23.05, 22.97, 22.90, 22.79, 22.71, 22.64, 22.56, 22.45, - + 22.37, 22.28, 22.20, 22.07, 21.99, 21.91, 21.82, 21.69, 21.61, - + 21.53, 21.45, 21.34, 21.27, 21.20, 21.11, 21.06, 21.00, 20.95, - + 20.87, 20.83, 20.80, 20.77, 20.71, 20.68, 20.65, 20.62, 20.57, - + 20.54, 20.52, 20.50, 20.46, 20.43, 20.40, 20.38, 20.35, 20.32, - + 20.30, 20.28, 20.25, 20.24, 20.23, 20.21, 20.20, 20.20, 20.19, - + 20.19, 20.18, 20.18, 20.18, 20.17, 20.16, 20.15, 20.14, 20.12/ - DATA SIGPI / - + 5.02, 5.69, 6.20, 6.81, 7.56, 9.29, 10.54, 12.24, 15.11, - + 17.54, 20.45, 23.24, 28.67, 32.75, 37.60, 42.78, 52.32, 59.55, - + 67.49, 75.47, 87.11, 94.75,101.54,106.41,111.56,113.00,112.73, - + 110.52,105.96,101.22, 95.06, 88.38, 77.77, 70.51, 63.86, 57.83, - + 49.65, 45.30, 41.45, 38.23, 34.33, 32.40, 30.86, 29.68, 28.76, - + 28.61, 28.53, 28.41, 28.04, 27.81, 27.89, 28.24, 29.65, 31.04, - + 32.53, 33.91, 34.81, 34.92, 35.12, 35.32, 35.83, 36.30, 36.71, - + 36.93, 36.79, 36.49, 36.18, 35.80, 35.59, 35.35, 35.12, 34.65, - + 34.26, 33.85, 33.46, 32.97, 32.75, 32.61, 32.51, 32.37, 32.25, - + 32.12, 31.96, 31.67, 31.47, 31.25, 31.02, 30.67, 30.44, 30.21, - + 29.98, 29.65, 29.44, 29.23, 29.03, 28.72, 28.52, 28.33, 28.14, - + 27.85, 27.66, 27.47, 27.30, 27.04, 26.90, 26.76, 26.65, 26.51, - + 26.43, 26.35, 26.28, 26.19, 26.13, 26.07, 26.02, 25.92, 25.85, - + 25.78, 25.70, 25.58, 25.51, 25.43, 25.32, 25.25, 25.18, 25.11, - + 25.01, 24.94, 24.87, 24.81, 24.72, 24.65, 24.59, 24.54, 24.46, - + 24.41, 24.36, 24.32, 24.25, 24.21, 24.18, 24.14, 24.09, 24.06, - + 24.03, 24.00, 23.96, 23.93, 23.91, 23.88, 23.84, 23.82, 23.80, - + 23.78, 23.76, 23.74, 23.73, 23.73, 23.72, 23.72, 23.72, 23.73/ -C -C 25.49675=1./LOG(1.04) -C - X = 25.49675 * LOG(P * 10.) - N = X - DIFF = X - N - N = N + 1 - IF (N .LE. 0) N = 1 - IF (N .GT. 162) N = 162 -C -C Interpolate in SIG tables. -C - S = SIG(N,ITYPE) - IF (N.EQ.1 .OR. N.EQ.162) GO TO 50 - S = S + DIFF * (SIG(N + 1,ITYPE) - S) - 50 CONTINUE -C -C NOW FIND ABUL-MAGD PARAMETERS -C - IS = S - IF (IS.LE.0) IS = 1 - IF (IS.GE.100) IS = 99 - SB = SIGB(IS) + (S - IS) * (SIGB(IS + 1) - SIGB(IS)) - AL = ALPHA(IS) + (S - IS) * (ALPHA(IS + 1) - ALPHA(IS)) - G3HSIG = SB*A**AL - END diff --git a/StarVMC/geant3/gphys/ghsigm.F b/StarVMC/geant3/gphys/ghsigm.F deleted file mode 100644 index c31af314ae5..00000000000 --- a/StarVMC/geant3/gphys/ghsigm.F +++ /dev/null @@ -1,73 +0,0 @@ -* -* $Id: ghsigm.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: ghsigm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - FUNCTION G3HSIGM(P,IPART,A) -C. -C. ****************************************************************** -C. * * -C. * Returns absorption cross-section in millibarns * -C. * for a particle with * -C. * momentum P (GEV/C) * -C. * GEANT type IPART * -C. * on a nucleus of atomic number A * -C. * * -C. * ==>Called by : G3PHADR * -C. * Author R.Barlow ********* * -C. * Modified to deal with K0 and extend to 41 particle * -C. * types by John Allison, 31/1/84. * * -C. * * -C. ****************************************************************** -C. -C The array NTYPE maps the GEANT particle type (IPART) -C onto G3HSIG's internal particle type. Simple assumptions -C are made for highly flavoured particles. The K0 is -C given a non-existent internal type 6 which causes the -C mean of the K+ and K- cross sections to be calculated. -C - DIMENSION NTYPE(41) - DATA NTYPE/6*0,3*5,6,3,4,2*1,2,6, - + 8*1,8*2,2*0,4,3,2*6,2*3,1/ -C. -C. ------------------------------------------------------------------ -C. - G3HSIGM = 1.E-20 - IF (IPART .GT. 41) RETURN - ITYPE = NTYPE(IPART) - IF (ITYPE .EQ. 0) RETURN -C - IF (ITYPE .NE. 6)THEN - G3HSIGM = G3HSIG(P, ITYPE, A) - ELSE - G3HSIGM = 0.5 * (G3HSIG(P, 3, A) + G3HSIG(P, 4, A)) - ENDIF -C - END diff --git a/StarVMC/geant3/gphys/glande.F b/StarVMC/geant3/gphys/glande.F deleted file mode 100644 index b3e64c5e565..00000000000 --- a/StarVMC/geant3/gphys/glande.F +++ /dev/null @@ -1,123 +0,0 @@ -* -* $Id: glande.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: glande.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - FUNCTION G3LANDE(X) -C. -C. ****************************************************************** -C. * * -C. * Copy of the CERN library routine DENLAN (G110) * -C. * * -C. * ==>Called by : G3VACOE * -C. * * -C. ****************************************************************** -C. - DIMENSION P1(0:4),P2(0:4),P3(0:4),P4(0:4),P5(0:4),P6(0:4) - DIMENSION Q1(0:4),Q2(0:4),Q3(0:4),Q4(0:4),Q5(0:4),Q6(0:4) - DIMENSION A1(1:3),A2(1:2) -C - DATA (P1(I),I=0,4),(Q1(J),J=0,4) - 1/ 0.42598 94875E+0,-0.12497 62550E+0, 0.39842 43700E-1, - 2 -0.62982 87635E-2, 0.15111 62253E-2, - 3 1.0 ,-0.33882 60629E+0, 0.95943 93323E-1, - 4 -0.16080 42283E-1, 0.37789 42063E-2/ -C - DATA (P2(I),I=0,4),(Q2(J),J=0,4) - 1/ 0.17885 41609E+0, 0.11739 57403E+0, 0.14888 50518E-1, - 2 -0.13949 89411E-2, 0.12836 17211E-3, - 3 1.0 , 0.74287 95082E+0, 0.31539 32961E+0, - 4 0.66942 19548E-1, 0.87906 09714E-2/ -C - DATA (P3(I),I=0,4),(Q3(J),J=0,4) - 1/ 0.17885 44503E+0, 0.93591 61662E-1, 0.63253 87654E-2, - 2 0.66116 67319E-4,-0.20310 49101E-5, - 3 1.0 , 0.60978 09921E+0, 0.25606 16665E+0, - 4 0.47467 22384E-1, 0.69573 01675E-2/ -C - DATA (P4(I),I=0,4),(Q4(J),J=0,4) - 1/ 0.98740 54407E+0, 0.11867 23273E+3, 0.84927 94360E+3, - 2 -0.74377 92444E+3, 0.42702 62186E+3, - 3 1.0 , 0.10686 15961E+3, 0.33764 96214E+3, - 4 0.20167 12389E+4, 0.15970 63511E+4/ -C - DATA (P5(I),I=0,4),(Q5(J),J=0,4) - 1/ 0.10036 75074E+1, 0.16757 02434E+3, 0.47897 11289E+4, - 2 0.21217 86767E+5,-0.22324 94910E+5, - 3 1.0 , 0.15694 24537E+3, 0.37453 10488E+4, - 4 0.98346 98876E+4, 0.66924 28357E+5/ -C - DATA (P6(I),I=0,4),(Q6(J),J=0,4) - 1/ 0.10008 27619E+1, 0.66491 43136E+3, 0.62972 92665E+5, - 2 0.47555 46998E+6,-0.57436 09109E+7, - 3 1.0 , 0.65141 01098E+3, 0.56974 73333E+5, - 4 0.16591 74725E+6,-0.28157 59939E+7/ -C - DATA (A1(I),I=1,3) - 1/ 0.41666 66667E-1,-0.19965 27778E-1, 0.27095 38966E-1/ -C - DATA (A2(I),I=1,2) - 1/-0.18455 68670E+1,-0.42846 40743E+1/ -C - V=X - IF(V .LT. -5.5) THEN - U=EXP(V+1.0) - G3LANDE=0.3989422803*(EXP(-1.0/U)/SQRT(U))* - 1 (1.0+(A1(1)+(A1(2)+A1(3)*U)*U)*U) - ELSE IF(V .LT. -1.0) THEN - U=EXP(-V-1.0) - G3LANDE=EXP(-U)*SQRT(U)* - 1 (P1(0)+(P1(1)+(P1(2)+(P1(3)+P1(4)*V)*V)*V)*V)/ - 2 (Q1(0)+(Q1(1)+(Q1(2)+(Q1(3)+Q1(4)*V)*V)*V)*V) - ELSE IF(V .LT. 1.0) THEN - G3LANDE=(P2(0)+(P2(1)+(P2(2)+(P2(3)+P2(4)*V)*V)*V)*V)/ - 1 (Q2(0)+(Q2(1)+(Q2(2)+(Q2(3)+Q2(4)*V)*V)*V)*V) - ELSE IF(V .LT. 5.0) THEN - G3LANDE=(P3(0)+(P3(1)+(P3(2)+(P3(3)+P3(4)*V)*V)*V)*V)/ - 1 (Q3(0)+(Q3(1)+(Q3(2)+(Q3(3)+Q3(4)*V)*V)*V)*V) - ELSE IF(V .LT. 12.0) THEN - U=1.0/V - G3LANDE=U**2*(P4(0)+(P4(1)+(P4(2)+(P4(3)+P4(4)*U)*U)*U)*U)/ - 1 (Q4(0)+(Q4(1)+(Q4(2)+(Q4(3)+Q4(4)*U)*U)*U)*U) - ELSE IF(V .LT. 50.0) THEN - U=1.0/V - G3LANDE=U**2*(P5(0)+(P5(1)+(P5(2)+(P5(3)+P5(4)*U)*U)*U)*U)/ - 1 (Q5(0)+(Q5(1)+(Q5(2)+(Q5(3)+Q5(4)*U)*U)*U)*U) - ELSE IF(V .LT. 300.0) THEN - U=1.0/V - G3LANDE=U**2*(P6(0)+(P6(1)+(P6(2)+(P6(3)+P6(4)*U)*U)*U)*U)/ - 1 (Q6(0)+(Q6(1)+(Q6(2)+(Q6(3)+Q6(4)*U)*U)*U)*U) - ELSE - U=1.0/(V-V*LOG(V)/(V+1.0)) - G3LANDE=U**2*(1.0+(A2(1)+A2(2)*U)*U) - END IF - RETURN - END - diff --git a/StarVMC/geant3/gphys/glandg.F b/StarVMC/geant3/gphys/glandg.F deleted file mode 100644 index df7f51162e5..00000000000 --- a/StarVMC/geant3/gphys/glandg.F +++ /dev/null @@ -1,197 +0,0 @@ -* -* $Id: glandg.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: glandg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:37 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : - SUBROUTINE G3LANDG(YRAN) -C. -C. ****************************************************************** -C. * * -C. * Copy of the CERN library routine GENLAN * -C. * Generation of LANDAU-distributed random numbers by 4-point * -C. * interpolation in the previously-tabulated inverse cumulative * -C. * distribution * -C. * * -C. * ==>Called by : G3LANDO * -C. * * -C. ****************************************************************** -C. - PARAMETER (RANGE1=0.807069,RANGE2=0.994869) - PARAMETER (X1BOT =0.0 ,X2BOT =0.791240) - PARAMETER (GP1INV=118.836 ,GP2INV=486.178 ) -C - DIMENSION XCUM1(100) , XCUM2(100) - DIMENSION RNDM(1) -C -C====> 1ST TABLE OF INVERSE CUMULATIVE LANDAU POINTS. ( 0.0 2ND TABLE OF INVERSE CUMULATIVE LANDAU POINTS. ( 0.791 (GeV) * -C. * * -C. * IFLAG = 3 Landau(RANLAN) sampling used * -C. * = 4 Landau(GENLAN) sampling used * -C. * = 5 Vavilov(G3VAVIV) sampling used * -C. * = 6 Gaussian sampling used * -C. * * -C. * Warning * -C. * ------- * -C. * Only Landau sampling should be used since this has been well * -C. * tested whereas both Vavilov and Gaussian sampling are being * -C. * developed. * -C. * * -C. * Author : G.N. Patrick * -C. * Date : 03.05.1985 * -C. * Last update : 09.09.1985 * -C. * * -C. ****************************************************************** -C. - PARAMETER (EULER=0.577215) - PARAMETER (P1=.60715,P2=.67794,P3=.52382E-1,P4=.94753, - + P5=.74442,P6=1.1934) -#include "geant321/gconsp.inc" - DIMENSION RNDM(2) - FLAND(X) = P1+P6*X+(P2+P3*X)*EXP(P4*X+P5) -C. -C. ------------------------------------------------------------------ -C. - IF(STEP.LT.1.E-7)THEN - DE=0. - IFLAG=0 - RETURN - ENDIF -C -C Calculate xi factor (KeV). -C - BETA = P/E - GAMMA = E/XMASS - XI = (153.5*Z*STEP*RHO)/(A*BETA*BETA) -C -C Maximum energy transfer to atomic electron (KeV). -C - ETA = BETA*GAMMA - ETASQ = ETA*ETA - RATIO = EMASS/XMASS - F1 = 2.*EMASS*ETASQ - F2 = 1.+2.*RATIO*GAMMA+RATIO*RATIO - EMAX = F1*1.E+6/F2 -C -C Calculate Kappa significance ratio. -C - CAPPA = XI/EMAX -C -C Choose correct function if IMODE set to automatic selection. -C - IMODEI = IMODE - IF (IMODEI.EQ.2) THEN - IF (CAPPA.LT.0.01) IMODEI = 4 -***** IF (CAPPA.GE.0.01.AND.CAPPA.LE.10.) IMODEI = 3 - IF (CAPPA.GE.0.01.AND.CAPPA.LE.10.) IMODEI = 5 - IF (CAPPA.GT.10.) IMODEI = 6 - ENDIF -C -C +---------------------------------------------------------------+ -C I Sample lambda variable from Kolbig/Schorr Landau distribution I -C +---------------------------------------------------------------+ -C - 10 CONTINUE - IF (IMODEI.EQ.3) THEN - XMEAN = -BETA**2-LOG(XI/EMAX)+EULER-1. - XLAMX = FLAND(XMEAN) - 20 CALL GRNDM(RNDM,1) - IF( RNDM(1) .GT. 0.980 ) GO TO 20 - XLAMB = G3LANDR(RNDM(1)) - IF(XLAMB.GT.XLAMX) GO TO 20 - IFLAG = 3 -C -C +----------------------------------------------+ -C I Sample lambda variable from James & Hancock I -C I Landau distribution I -C +----------------------------------------------+ -C - - ELSEIF (IMODEI.EQ.4) THEN - XMEAN = -BETA**2-LOG(XI/EMAX)+EULER-1. - XLAMX = FLAND(XMEAN) - 25 CALL G3LANDG(XLAMB) - IF(XLAMB.GT.XLAMX) GO TO 25 - IFLAG = 4 -C -C +---------------------------------------------------------+ -C I Sample lambda variable (Landau not Vavilov) from I -C I Rotondi&Montagna&Kolbig Vavilov distribution I -C +---------------------------------------------------------+ -C - ELSEIF (IMODEI.EQ.5) THEN -C -C Keep within computation bounds. -C - RKA = CAPPA - BE2 = BETA*BETA - CALL GRNDM(RNDM,1) - XLAMB = G3VAVIV(RKA,BE2,RNDM(1)) - IFLAG = 5 -C -C +-----------------------------------+ -C I Sample from Gaussian distribution I -C +-----------------------------------+ -C - ELSEIF (IMODEI.EQ.6) THEN - SIGMA = XI*EMAX*(1.-(BETA*BETA/2.)) - SIGMA = SQRT(SIGMA) - 30 CALL GRNDM(RNDM,2) - IF(RNDM(1).LE.0.)GO TO 30 - F1 = -2.*LOG(RNDM(1)) - DEKEV = SIGMA*SQRT(F1)*COS(2.*PI*RNDM(2)) - IFLAG = 6 - GOTO 40 - ENDIF -C -C Calculate DE/DX - -C - DEKEV = XI*(XLAMB+BETA*BETA+LOG(XI/EMAX)-EULER+1.) -C - 40 DE=DEKEV*1.E-6 - END diff --git a/StarVMC/geant3/gphys/glandr.F b/StarVMC/geant3/gphys/glandr.F deleted file mode 100644 index 79af74900d6..00000000000 --- a/StarVMC/geant3/gphys/glandr.F +++ /dev/null @@ -1,262 +0,0 @@ -* -* $Id: glandr.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: glandr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - FUNCTION G3LANDR(X) -C. -C. ****************************************************************** -C. * * -C. * Copy of the CERN library routine RANLAN for restricted * -C. * Landau distribution. * -C. * * -C. * ==>Called by : G3LANDO * -C. * * -C. ****************************************************************** -C. - DIMENSION F(-1:1002) - DATA (F(I),I= -1,100) - A/ 7*0., -2.244733, - B -2.204365,-2.168163,-2.135219,-2.104898,-2.076740,-2.050397, - C -2.025605,-2.002150,-1.979866,-1.958612,-1.938275,-1.918760, - D -1.899984,-1.881879,-1.864385,-1.847451,-1.831030,-1.815083, - E -1.799574,-1.784473,-1.769751,-1.755383,-1.741346,-1.727620, - F -1.714187,-1.701029,-1.688130,-1.675477,-1.663057,-1.650858, - G -1.638868,-1.627078,-1.615477,-1.604058,-1.592811,-1.581729, - H -1.570806,-1.560034,-1.549407,-1.538919,-1.528565,-1.518339, - I -1.508237,-1.498254,-1.488386,-1.478628,-1.468976,-1.459428, - J -1.449979,-1.440626,-1.431365,-1.422195,-1.413111,-1.404112, - K -1.395194,-1.386356,-1.377594,-1.368906,-1.360291,-1.351746, - L -1.343269,-1.334859,-1.326512,-1.318229,-1.310006,-1.301843, - M -1.293737,-1.285688,-1.277693,-1.269752,-1.261863,-1.254024, - N -1.246235,-1.238494,-1.230800,-1.223153,-1.215550,-1.207990, - O -1.200474,-1.192999,-1.185566,-1.178172,-1.170817,-1.163500, - P -1.156220,-1.148977,-1.141770,-1.134598,-1.127459,-1.120354, - Q -1.113282,-1.106242,-1.099233,-1.092255/ -C - DATA (F(I),I=101,200) - A/-1.085306,-1.078388,-1.071498,-1.064636,-1.057802,-1.050996, - B -1.044215,-1.037461,-1.030733,-1.024029,-1.017350,-1.010695, - C -1.004064, -.997456, -.990871, -.984308, -.977767, -.971247, - D -.964749, -.958271, -.951813, -.945375, -.938957, -.932558, - E -.926178, -.919816, -.913472, -.907146, -.900838, -.894547, - F -.888272, -.882014, -.875773, -.869547, -.863337, -.857142, - G -.850963, -.844798, -.838648, -.832512, -.826390, -.820282, - H -.814187, -.808106, -.802038, -.795982, -.789940, -.783909, - I -.777891, -.771884, -.765889, -.759906, -.753934, -.747973, - J -.742023, -.736084, -.730155, -.724237, -.718328, -.712429, - K -.706541, -.700661, -.694791, -.688931, -.683079, -.677236, - L -.671402, -.665576, -.659759, -.653950, -.648149, -.642356, - M -.636570, -.630793, -.625022, -.619259, -.613503, -.607754, - N -.602012, -.596276, -.590548, -.584825, -.579109, -.573399, - O -.567695, -.561997, -.556305, -.550618, -.544937, -.539262, - P -.533592, -.527926, -.522266, -.516611, -.510961, -.505315, - Q -.499674, -.494037, -.488405, -.482777/ -C - DATA (F(I),I=201,300) - A/ -.477153, -.471533, -.465917, -.460305, -.454697, -.449092, - B -.443491, -.437893, -.432299, -.426707, -.421119, -.415534, - C -.409951, -.404372, -.398795, -.393221, -.387649, -.382080, - D -.376513, -.370949, -.365387, -.359826, -.354268, -.348712, - E -.343157, -.337604, -.332053, -.326503, -.320955, -.315408, - F -.309863, -.304318, -.298775, -.293233, -.287692, -.282152, - G -.276613, -.271074, -.265536, -.259999, -.254462, -.248926, - H -.243389, -.237854, -.232318, -.226783, -.221247, -.215712, - I -.210176, -.204641, -.199105, -.193568, -.188032, -.182495, - J -.176957, -.171419, -.165880, -.160341, -.154800, -.149259, - K -.143717, -.138173, -.132629, -.127083, -.121537, -.115989, - L -.110439, -.104889, -.099336, -.093782, -.088227, -.082670, - M -.077111, -.071550, -.065987, -.060423, -.054856, -.049288, - N -.043717, -.038144, -.032569, -.026991, -.021411, -.015828, - O -.010243, -.004656, .000934, .006527, .012123, .017722, - P .023323, .028928, .034535, .040146, .045759, .051376, - Q .056997, .062620, .068247, .073877/ -C - DATA (F(I),I=301,400) - A/ .079511, .085149, .090790, .096435, .102083, .107736, - B .113392, .119052, .124716, .130385, .136057, .141734, - C .147414, .153100, .158789, .164483, .170181, .175884, - D .181592, .187304, .193021, .198743, .204469, .210201, - E .215937, .221678, .227425, .233177, .238933, .244696, - F .250463, .256236, .262014, .267798, .273587, .279382, - G .285183, .290989, .296801, .302619, .308443, .314273, - H .320109, .325951, .331799, .337654, .343515, .349382, - I .355255, .361135, .367022, .372915, .378815, .384721, - J .390634, .396554, .402481, .408415, .414356, .420304, - K .426260, .432222, .438192, .444169, .450153, .456145, - L .462144, .468151, .474166, .480188, .486218, .492256, - M .498302, .504356, .510418, .516488, .522566, .528653, - N .534747, .540850, .546962, .553082, .559210, .565347, - O .571493, .577648, .583811, .589983, .596164, .602355, - P .608554, .614762, .620980, .627207, .633444, .639689, - Q .645945, .652210, .658484, .664768/ -C - DATA (F(I),I=401,500) - A/ .671062, .677366, .683680, .690004, .696338, .702682, - B .709036, .715400, .721775, .728160, .734556, .740963, - C .747379, .753807, .760246, .766695, .773155, .779627, - D .786109, .792603, .799107, .805624, .812151, .818690, - E .825241, .831803, .838377, .844962, .851560, .858170, - F .864791, .871425, .878071, .884729, .891399, .898082, - G .904778, .911486, .918206, .924940, .931686, .938446, - H .945218, .952003, .958802, .965614, .972439, .979278, - I .986130, .992996, .999875, 1.006769, 1.013676, 1.020597, - J 1.027533, 1.034482, 1.041446, 1.048424, 1.055417, 1.062424, - K 1.069446, 1.076482, 1.083534, 1.090600, 1.097681, 1.104778, - L 1.111889, 1.119016, 1.126159, 1.133316, 1.140490, 1.147679, - M 1.154884, 1.162105, 1.169342, 1.176595, 1.183864, 1.191149, - N 1.198451, 1.205770, 1.213105, 1.220457, 1.227826, 1.235211, - O 1.242614, 1.250034, 1.257471, 1.264926, 1.272398, 1.279888, - P 1.287395, 1.294921, 1.302464, 1.310026, 1.317605, 1.325203, - Q 1.332819, 1.340454, 1.348108, 1.355780/ -C - DATA (F(I),I=501,600) - A/ 1.363472, 1.371182, 1.378912, 1.386660, 1.394429, 1.402216, - B 1.410024, 1.417851, 1.425698, 1.433565, 1.441453, 1.449360, - C 1.457288, 1.465237, 1.473206, 1.481196, 1.489208, 1.497240, - D 1.505293, 1.513368, 1.521465, 1.529583, 1.537723, 1.545885, - E 1.554068, 1.562275, 1.570503, 1.578754, 1.587028, 1.595325, - F 1.603644, 1.611987, 1.620353, 1.628743, 1.637156, 1.645593, - G 1.654053, 1.662538, 1.671047, 1.679581, 1.688139, 1.696721, - H 1.705329, 1.713961, 1.722619, 1.731303, 1.740011, 1.748746, - I 1.757506, 1.766293, 1.775106, 1.783945, 1.792810, 1.801703, - J 1.810623, 1.819569, 1.828543, 1.837545, 1.846574, 1.855631, - K 1.864717, 1.873830, 1.882972, 1.892143, 1.901343, 1.910572, - L 1.919830, 1.929117, 1.938434, 1.947781, 1.957158, 1.966566, - M 1.976004, 1.985473, 1.994972, 2.004503, 2.014065, 2.023659, - N 2.033285, 2.042943, 2.052633, 2.062355, 2.072110, 2.081899, - O 2.091720, 2.101575, 2.111464, 2.121386, 2.131343, 2.141334, - P 2.151360, 2.161421, 2.171517, 2.181648, 2.191815, 2.202018, - Q 2.212257, 2.222533, 2.232845, 2.243195/ -C - DATA (F(I),I=601,700) - A/ 2.253582, 2.264006, 2.274468, 2.284968, 2.295507, 2.306084, - B 2.316701, 2.327356, 2.338051, 2.348786, 2.359562, 2.370377, - C 2.381234, 2.392131, 2.403070, 2.414051, 2.425073, 2.436138, - D 2.447246, 2.458397, 2.469591, 2.480828, 2.492110, 2.503436, - E 2.514807, 2.526222, 2.537684, 2.549190, 2.560743, 2.572343, - F 2.583989, 2.595682, 2.607423, 2.619212, 2.631050, 2.642936, - G 2.654871, 2.666855, 2.678890, 2.690975, 2.703110, 2.715297, - H 2.727535, 2.739825, 2.752168, 2.764563, 2.777012, 2.789514, - I 2.802070, 2.814681, 2.827347, 2.840069, 2.852846, 2.865680, - J 2.878570, 2.891518, 2.904524, 2.917588, 2.930712, 2.943894, - K 2.957136, 2.970439, 2.983802, 2.997227, 3.010714, 3.024263, - L 3.037875, 3.051551, 3.065290, 3.079095, 3.092965, 3.106900, - M 3.120902, 3.134971, 3.149107, 3.163312, 3.177585, 3.191928, - N 3.206340, 3.220824, 3.235378, 3.250005, 3.264704, 3.279477, - O 3.294323, 3.309244, 3.324240, 3.339312, 3.354461, 3.369687, - P 3.384992, 3.400375, 3.415838, 3.431381, 3.447005, 3.462711, - Q 3.478500, 3.494372, 3.510328, 3.526370/ -C - DATA (F(I),I=701,800) - A/ 3.542497, 3.558711, 3.575012, 3.591402, 3.607881, 3.624450, - B 3.641111, 3.657863, 3.674708, 3.691646, 3.708680, 3.725809, - C 3.743034, 3.760357, 3.777779, 3.795300, 3.812921, 3.830645, - D 3.848470, 3.866400, 3.884434, 3.902574, 3.920821, 3.939176, - E 3.957640, 3.976215, 3.994901, 4.013699, 4.032612, 4.051639, - F 4.070783, 4.090045, 4.109425, 4.128925, 4.148547, 4.168292, - G 4.188160, 4.208154, 4.228275, 4.248524, 4.268903, 4.289413, - H 4.310056, 4.330832, 4.351745, 4.372794, 4.393982, 4.415310, - I 4.436781, 4.458395, 4.480154, 4.502060, 4.524114, 4.546319, - J 4.568676, 4.591187, 4.613854, 4.636678, 4.659662, 4.682807, - K 4.706116, 4.729590, 4.753231, 4.777041, 4.801024, 4.825179, - L 4.849511, 4.874020, 4.898710, 4.923582, 4.948639, 4.973883, - M 4.999316, 5.024942, 5.050761, 5.076778, 5.102993, 5.129411, - N 5.156034, 5.182864, 5.209903, 5.237156, 5.264625, 5.292312, - O 5.320220, 5.348354, 5.376714, 5.405306, 5.434131, 5.463193, - P 5.492496, 5.522042, 5.551836, 5.581880, 5.612178, 5.642734, - Q 5.673552, 5.704634, 5.735986, 5.767610/ -C - DATA (F(I),I=801,900) - A/ 5.799512, 5.831694, 5.864161, 5.896918, 5.929968, 5.963316, - B 5.996967, 6.030925, 6.065194, 6.099780, 6.134687, 6.169921, - C 6.205486, 6.241387, 6.277630, 6.314220, 6.351163, 6.388465, - D 6.426130, 6.464166, 6.502578, 6.541371, 6.580553, 6.620130, - E 6.660109, 6.700495, 6.741297, 6.782520, 6.824173, 6.866262, - F 6.908795, 6.951780, 6.995225, 7.039137, 7.083525, 7.128398, - G 7.173764, 7.219632, 7.266011, 7.312910, 7.360339, 7.408308, - H 7.456827, 7.505905, 7.555554, 7.605785, 7.656608, 7.708035, - I 7.760077, 7.812747, 7.866057, 7.920019, 7.974647, 8.029953, - J 8.085952, 8.142657, 8.200083, 8.258245, 8.317158, 8.376837, - K 8.437300, 8.498562, 8.560641, 8.623554, 8.687319, 8.751955, - L 8.817481, 8.883916, 8.951282, 9.019600, 9.088889, 9.159174, - M 9.230477, 9.302822, 9.376233, 9.450735, 9.526355, 9.603118, - N 9.681054, 9.760191, 9.840558, 9.922186,10.005107,10.089353, - O 10.174959,10.261958,10.350389,10.440287,10.531693,10.624646, - P 10.719188,10.815362,10.913214,11.012789,11.114137,11.217307, - Q 11.322352,11.429325,11.538283,11.649285/ -C - DATA (F(I),I=901,1002) - A/11.762390,11.877664,11.995170,12.114979,12.237161,12.361791, - B 12.488946,12.618708,12.751161,12.886394,13.024498,13.165570, - C 13.309711,13.457026,13.607625,13.761625,13.919145,14.080314, - D 14.245263,14.414134,14.587072,14.764233,14.945778,15.131877, - E 15.322712,15.518470,15.719353,15.925570,16.137345,16.354912, - F 16.578520,16.808433,17.044929,17.288305,17.538873,17.796967, - G 18.062943,18.337176,18.620068,18.912049,19.213574,19.525133, - H 19.847249,20.180480,20.525429,20.882738,21.253102,21.637266, - I 22.036036,22.450278,22.880933,23.329017,23.795634,24.281981, - J 24.789364,25.319207,25.873062,26.452634,27.059789,27.696581, - K 28.365274,29.068370,29.808638,30.589157,31.413354,32.285060, - L 33.208568,34.188705,35.230920,36.341388,37.527131,38.796172, - M 40.157721,41.622399,43.202525,44.912465,46.769077,48.792279, - N 51.005773,53.437996,56.123356,59.103894, 20*0./ -C. -C. ------------------------------------------------------------------ -C. - U=1000.0*X - I=U - U=U-FLOAT(I) - G3LANDR=F(I)+U*(F(I+1)-F(I)) - IF(I .GE. 70 .AND. I .LE. 800) RETURN - G3LANDR=G3LANDR-0.25*U*(1.0-U)*(F(I+2)-F(I+1)-F(I)+F(I-1)) - IF(I .GE. 7 .AND. I .LE. 980) RETURN - IF(I. LT. 7) THEN - IF(X.LT.1.E-10)THEN - V=-30. - ELSE - V=LOG(X) - ENDIF - U=1.0/V - G3LANDR=((0.99858950+(3.45213058E1+1.70854528E1*U)*U)/ - 1 (1.0 +(3.41760202E1+4.01244582 *U)*U))* - 2 (-LOG(-0.91893853-V)-1.0) - ELSE - U=1.0-X - V=U**2 - IF(X .LE. 0.999) THEN - G3LANDR=(1.00060006+2.63991156E2*U+4.37320068E3*V)/ - 1 ((1.0 +2.57368075E2*U+3.41448018E3*V)*U) - ELSE - G3LANDR=(1.00001538+6.07514119E3*U+7.34266409E5*V)/ - 1 ((1.0 +6.06511919E3*U+6.94021044E5*V)*U) - ENDIF - ENDIF - END diff --git a/StarVMC/geant3/gphys/glands.F b/StarVMC/geant3/gphys/glands.F deleted file mode 100644 index 0241cf02621..00000000000 --- a/StarVMC/geant3/gphys/glands.F +++ /dev/null @@ -1,123 +0,0 @@ -* -* $Id: glands.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: glands.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - FUNCTION G3LANDS(X) -C. -C. ****************************************************************** -C. * * -C. * Copy of the CERN library routine DSTLAN (G110) * -C. * * -C. * ==>Called by : G3VACOE * -C. * * -C. ****************************************************************** -C. - DIMENSION P1(0:4),P2(0:3),P3(0:3),P4(0:3),P5(0:3),P6(0:3) - DIMENSION Q1(0:4),Q2(0:3),Q3(0:3),Q4(0:3),Q5(0:3),Q6(0:3) - DIMENSION A1(1:3),A2(1:3) -C - DATA (P1(I),I=0,4),(Q1(J),J=0,4) - 1/ 0.25140 91491E+0,-0.62505 80444E-1, 0.14583 81230E-1, - 2 -0.21088 17737E-2, 0.74112 47290E-3, - 3 1.0 ,-0.55711 75625E-2, 0.62253 10236E-1, - 4 -0.31373 78427E-2, 0.19314 96439E-2/ -C - DATA (P2(I),I=0,3),(Q2(J),J=0,3) - 1/ 0.28683 28584E+0, 0.35643 63231E+0, 0.15235 18695E+0, - 2 0.22513 04883E-1, - 3 1.0 , 0.61911 36137E+0, 0.17207 21448E+0, - 4 0.22785 94771E-1/ -C - DATA (P3(I),I=0,3),(Q3(J),J=0,3) - 1/ 0.28683 29066E+0, 0.30038 28436E+0, 0.99509 51941E-1, - 2 0.87338 27185E-2, - 3 1.0 , 0.42371 90502E+0, 0.10956 31512E+0, - 4 0.86938 51567E-2/ -C - DATA (P4(I),I=0,3),(Q4(J),J=0,3) - 1/ 0.10003 51630E+1, 0.45035 92498E+1, 0.10858 83880E+2, - 2 0.75360 52269E+1, - 3 1.0 , 0.55399 69678E+1, 0.19335 81111E+2, - 4 0.27213 21508E+2/ -C - DATA (P5(I),I=0,3),(Q5(J),J=0,3) - 1/ 0.10000 06517E+1, 0.49094 14111E+2, 0.85055 44753E+2, - 2 0.15321 53455E+3, - 3 1.0 , 0.50099 28881E+2, 0.13998 19104E+3, - 4 0.42000 02909E+3/ -C - DATA (P6(I),I=0,3),(Q6(J),J=0,3) - 1/ 0.10000 00983E+1, 0.13298 68456E+3, 0.91621 49244E+3, - 2 -0.96050 54274E+3, - 3 1.0 , 0.13398 87843E+3, 0.10559 90413E+4, - 4 0.55322 24619E+3/ -C - DATA (A1(I),I=1,3) - 1/-0.45833 33333E+0, 0.66753 47222E+0,-0.16417 41416E+1/ -C - DATA (A2(I),I=1,3) - 1/ 1.0 ,-0.42278 43351E+0,-0.20434 03138E+1/ -C - V=X - IF(V .LT. -5.5) THEN - U=EXP(V+1.0) - G3LANDS=0.3989422803*EXP(-1.0/U)*SQRT(U)* - 1 (1.0+(A1(1)+(A1(2)+A1(3)*U)*U)*U) - ELSE IF(V .LT. -1.0) THEN - U=EXP(-V-1.0) - G3LANDS=(EXP(-U)/SQRT(U))* - 1 (P1(0)+(P1(1)+(P1(2)+(P1(3)+P1(4)*V)*V)*V)*V)/ - 2 (Q1(0)+(Q1(1)+(Q1(2)+(Q1(3)+Q1(4)*V)*V)*V)*V) - ELSE IF(V .LT. 1.0) THEN - G3LANDS=(P2(0)+(P2(1)+(P2(2)+P2(3)*V)*V)*V)/ - 1 (Q2(0)+(Q2(1)+(Q2(2)+Q2(3)*V)*V)*V) - ELSE IF(V .LT. 4.0) THEN - G3LANDS=(P3(0)+(P3(1)+(P3(2)+P3(3)*V)*V)*V)/ - 1 (Q3(0)+(Q3(1)+(Q3(2)+Q3(3)*V)*V)*V) - ELSE IF(V .LT. 12.0) THEN - U=1.0/V - G3LANDS=(P4(0)+(P4(1)+(P4(2)+P4(3)*U)*U)*U)/ - 1 (Q4(0)+(Q4(1)+(Q4(2)+Q4(3)*U)*U)*U) - ELSE IF(V .LT. 50.0) THEN - U=1.0/V - G3LANDS=(P5(0)+(P5(1)+(P5(2)+P5(3)*U)*U)*U)/ - 1 (Q5(0)+(Q5(1)+(Q5(2)+Q5(3)*U)*U)*U) - ELSE IF(V .LT. 300.0) THEN - U=1.0/V - G3LANDS=(P6(0)+(P6(1)+(P6(2)+P6(3)*U)*U)*U)/ - 1 (Q6(0)+(Q6(1)+(Q6(2)+Q6(3)*U)*U)*U) - ELSE - U=1.0/(V-V*LOG(V)/(V+1.0)) - G3LANDS=1.0-(A2(1)+(A2(2)+A2(3)*U)*U)*U - END IF - RETURN - END - diff --git a/StarVMC/geant3/gphys/glandz.F b/StarVMC/geant3/gphys/glandz.F deleted file mode 100644 index e357949f59f..00000000000 --- a/StarVMC/geant3/gphys/glandz.F +++ /dev/null @@ -1,261 +0,0 @@ -* -* $Id: glandz.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: glandz.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:25 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 22/02/95 10.38.36 by S.Giani -*-- Author : - SUBROUTINE G3LANDZ(Z,STEP,P,E,DEDX,DE,POTI,POTIL) -C. -C. ****************************************************************** -C. * * -C. * Energy straggling using a Monte Carlo model. * -C. * It can be used with or without delta ray generation. * -C. * * -C. * It is a NEW VERSION of the model , which reproduces * -C. * the experimental data rather well. * -C. * * -C. * Input : STEP = current step-length (cm) * -C. * * -C. * Output: DE = actual energy loss (Gev) * -C. * ( NOT the fluctuation DE/DX- !) * -C. * * -C. * ==> Called by : G3TELEC,G3THADR,G3TMUON * -C. * * -C. * Author : L.Urban * -C. * Date : 28.04.1988 Last update : 1.02.90 * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gccuts.inc" - PARAMETER (MAXRND=100) - DIMENSION RNDM(MAXRND),APOIS(3),NPOIS(3),FPOIS(3) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION E1,E2,P2,B2,BG2,TM,DEC,W,WW,WWW,RR - DOUBLE PRECISION X,AK,ALFA,EA,SA,AKL,REALK,FPOIS - DOUBLE PRECISION ONE,HALF,ZERO - PARAMETER (HMXINT=2**30) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (HMXINT=2**45) -#endif - PARAMETER (ONE=1,HALF=ONE/2,ZERO=0) - PARAMETER (RCD=0.40, RCD1=1.-RCD, PROBLM=0.01) - PARAMETER( C1=4, C2=16) -* -* ------------------------------------------------------------------ -* -* POTI=1.6E-8*Z**0.9 -* POTIL=LOG(POTI) -* - IF(Z.GT.2.) THEN - F2=2./Z - ELSE - F2=0. - ENDIF - F1=1.-F2 -* - E2 = 1.E-8*Z*Z - E2L= LOG(E2) - E1L= (POTIL-F2*E2L)/F1 - E1 = EXP(E1L) -* -* - P2=P*P - B2=P2/(E*E) - BG2=P2/(AMASS*AMASS) - IF(ITRTYP.EQ.2) THEN - TM=P2/(E+EMASS) - IF(CHARGE.LT.0.) TM=TM/2. - TM=TM-POTI - IF(TM.GT.DCUTE) TM=DCUTE - ELSE - TM=EMASS*P2/(0.5*AMASS*AMASS+EMASS*E) - TM=TM-POTI - IF(TM.GT.DCUTM) TM=DCUTM - ENDIF -* -* -* *** Protection against negative TM --------------------- -* TM can be negative only for heavy particles with a very -* low kinetic energy (e.g. for proton with T 100-300 kev) - TM=MAX(TM,ZERO) -* - W = TM+POTI - WW = W/POTI - WWW= 2.*EMASS*BG2 - WL = LOG(WWW) - CSB=STEP*RCD1*DEDX/(WL-POTIL-B2) - APOIS(1)=CSB*F1*(WL-E1L-B2)/E1 - APOIS(2)=CSB*F2*(WL-E2L-B2)/E2 -* - IF(TM.GT.0.) THEN - APOIS(3)=RCD*DEDX*STEP*TM/(POTI*W*LOG(WW)) - ELSE - APOIS(1)=APOIS(1)/RCD1 - APOIS(2)=APOIS(2)/RCD1 - APOIS(3)=0. - ENDIF -* -* calculate the probability of the zero energy loss -* - APSUM=APOIS(1)+APOIS(2)+APOIS(3) - IF(APSUM.LT.0.) THEN - PROB=1. - ELSEIF(APSUM.LT.50.) THEN - PROB=EXP(-APSUM) - ELSE - PROB=0. - ENDIF -* -* -* do it differently if prob > problm <==================== - IF(PROB.GT.PROBLM) THEN - E0=1.E-8 - EMEAN=DEDX*STEP - IF(TM.LE.0.) THEN -* excitation only .... - APOIS(1)=EMEAN/E0 -* - CALL G3POISS(APOIS,NPOIS,1) - FPOIS(1)=NPOIS(1) - DE=FPOIS(1)*E0 -* - ELSE -* ionization only .... - EM=TM+E0 - APOIS(1)=EMEAN*(EM-E0)/(EM*E0*LOG(EM/E0)) - CALL G3POISS(APOIS,NPOIS,1) - NN=NPOIS(1) - DE=0. -* - IF(NN.GT.0) THEN - RCORR=1. - IF(NN.GT.MAXRND) THEN - RCORR=FLOAT(NN)/MAXRND - NN=MAXRND -* - ENDIF - W=(EM-E0)/EM - CALL GRNDM(RNDM,NN) - DO 10 I=1,NN - DE=DE+E0/(1.-W*RNDM(I)) - 10 CONTINUE - DE=RCORR*DE -* - ENDIF - ENDIF - GOTO 999 - ENDIF -* - IF(MAX(APOIS(1),APOIS(2),APOIS(3)).LT.HMXINT) THEN - CALL G3POISS(APOIS,NPOIS,3) - FPOIS(1)=NPOIS(1) - FPOIS(2)=NPOIS(2) - FPOIS(3)=NPOIS(3) - ELSE - DO 20 JPOIS=1, 3 - IF(APOIS(JPOIS).LT.HMXINT) THEN - CALL G3POISS(APOIS(JPOIS),NPOIS(JPOIS),1) - FPOIS(JPOIS)=NPOIS(JPOIS) - ELSE - CALL GRNDM(RNDM,2) - FPOIS(JPOIS)=ABS(SQRT(-2.*LOG(RNDM(1)*ONE) - + *APOIS(JPOIS))*SIN(TWOPI*RNDM(2)*ONE)+APOIS(JPOIS)) - ENDIF - 20 CONTINUE - ENDIF - -* -* Now we have all three numbers in REAL/DOUBLE -* variables. REALK is actually an INTEGER that now may -* exceed the machine representation limit for integers. -* - DE=FPOIS(1)*E1+FPOIS(2)*E2 -* -* smear to avoid peaks in the energy loss (note: E1<Called by : , UGINIT * -C. * Author F.Carminati, R.Jones *********** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcvolu.inc" -#include "geant321/gcvol1.inc" -C - REAL X0(6),X1(3),U(3) - REAL D(3),RNDM(3) - -* -* *** Decide which volume defines the surface - IF (NLEVEL.GE.NLEVL1) THEN - LVOL = 1 - ELSE - LVOL = -1 - DO 10 I=2,NLEVEL - IF ((NAMES1(I).NE.NAMES(I)).OR. (NUMBR1(I).NE.NUMBER(I))) - + LVOL = 1 - 10 CONTINUE - END IF -* -* *** Find the nominal unit normal to the surface - IF (LVOL.EQ.1) THEN -C -C Instead of X0, now X1 is used by GGPERP, in order to calculate -C the right perpendicular even near to a corner, -C see the modifactions in GTCKOV concerning VBOU -C - CALL GGPERP(X1,U,IERR) - ELSE - LVOL = NLEVEL - NLEVEL = NLEVL1 - CALL GGPERP(X1,U,IERR) - U(1) = -U(1) - U(2) = -U(2) - U(3) = -U(3) - NLEVEL = LVOL - END IF - IF (IERR.NE.0) GO TO 999 - PDOTU = X0(4)*U(1) + X0(5)*U(2) + X0(6)*U(3) - POLISH=GUPLSH(MEDI0,MEDI1) - IF (POLISH.LT.1.) THEN -* -* *** Generate distortion vector D within a uniform sphere - DIAM = 2.*(1.-POLISH) - DIA2 = DIAM**2 - IROUND = 0 - 20 IF(IROUND.GT.5) GO TO 999 - IROUND = IROUND+1 - CALL GRNDM(RNDM,3) - D(1) = RNDM(1)-0.5 - D(2) = RNDM(2)-0.5 - D(3) = RNDM(3)-0.5 - D2 = D(1)**2+D(2)**2+D(3)**2 - IF (D2.GT.0.25) GO TO 20 - D(1) = D(1)*DIAM - D(2) = D(2)*DIAM - D(3) = D(3)*DIAM - D2 = D2*DIA2 -* -* *** Insure that V=U+D will cause reflection away from surface - PDOTD = X0(4)*D(1) + X0(5)*D(2) + X0(6)*D(3) - PDOTV = PDOTU+PDOTD - UDOTD = U(1)*D(1) + U(2)*D(2) + U(3)*D(3) - V2 = 1+D2+2*UDOTD - IF (PDOTD*V2+PDOTV*(1.-D2).GT.0.) GO TO 20 -* -* *** Normalize V and call it U - VABS = 1./SQRT(V2) - U(1) = (U(1)+D(1))*VABS - U(2) = (U(2)+D(2))*VABS - U(3) = (U(3)+D(3))*VABS - PDOTU = PDOTV*VABS - END IF - 999 END diff --git a/StarVMC/geant3/gphys/gloren.F b/StarVMC/geant3/gphys/gloren.F deleted file mode 100644 index 06f873ef0b5..00000000000 --- a/StarVMC/geant3/gphys/gloren.F +++ /dev/null @@ -1,67 +0,0 @@ -* -* $Id: gloren.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gloren.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:26 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3LOREN(BETA,PA,PB) -C. -C. ****************************************************************** -C. * * -C * Routine to transform momentum and energy from the * -C * Lorentz frame A to the Lorentz frame B * -C * * -C * PA(1) * -C * PA(2) Momentum components in frame A * -C * PA(3) * -C * PA(4) Energy * -C * PB(..) same quantities in frame B * -C * * -C * BETA(1) Components of velocity of frame B * -C * BETA(2) as seen from frame A * -C * BETA(3) * -C * BETA(4) 1./SQRT(1.-BETA**2) * -C. * * -C. * ==>Called by : G3DECAY,G3DECA3 * -C. * Author M.Hansroul ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION BETA(4),PA(4),PB(4) -C. -C. ------------------------------------------------------------------ -C. - BETPA = BETA(1)*PA(1) + BETA(2)*PA(2) + BETA(3)*PA(3) - BPGAM = (BETPA * BETA(4)/(BETA(4) + 1.) - PA(4)) * BETA(4) - PB(1) = PA(1) + BPGAM * BETA(1) - PB(2) = PA(2) + BPGAM * BETA(2) - PB(3) = PA(3) + BPGAM * BETA(3) - PB(4) =(PA(4) - BETPA) * BETA(4) - END - diff --git a/StarVMC/geant3/gphys/gmcoul.F b/StarVMC/geant3/gphys/gmcoul.F deleted file mode 100644 index 0e82cec66d4..00000000000 --- a/StarVMC/geant3/gphys/gmcoul.F +++ /dev/null @@ -1,105 +0,0 @@ -* -* $Id: gmcoul.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gmcoul.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:38 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:26 cernlib -* Geant -* -* -* NEW -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MCOUL(OMEGA,DIN) -C. -C. ****************************************************************** -C. * * -C * Generate NSCA single scatters in small angle approxima. * -C. * for a particle with parameters VECT in common /GCTRAK/ * -C. * * -C. * This subroutine must be called with the correct values * -C. * of the constants OMC & CHC which depend of the medium * -C. * * -C. * OMC and CHC are computed at initialisation time (GMOLI) * -C. * No lateral displacement of the particle with respect * -C. * the incident direction is included. * -C. * No path length correction is included * -C. * * -C. * Output angles overwrite VECT * -C. * * -C. * ==>Called by : G3MULTS * -C. * Author G. Lynch (LBL) (adapted by M. Maire 1.02.90) * -C. * * -C. ****************************************************************** -C. -#include "geant321/gctrak.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmulo.inc" - PARAMETER (NSCMX = 50) - DIMENSION DIN(3),RNDM(2*NSCMX) - PARAMETER (OMCF=1.167) -* -* ------------------------------------------------------------------ -* -* *** Compute number of scatters (Poisson distr. with mean OMEGA0) -* - OMEGA0 = OMCF*OMEGA - CALL G3POISS (OMEGA0,NSCA,1) - IF (NSCA.LE.0)THEN - DIN(1) = 0. - DIN(2) = 0. - DIN(3) = 1. - RETURN - ENDIF - NSCA = MIN(NSCA,NSCMX) - CALL GRNDM (RNDM,2*NSCA) -* -* *** THMIN2 is the screening angle - THMIN2 = (CHCMOL**2)/(OMCF*OMCMOL*(VECT(7)**2)) -* - SUMX = 0. - SUMY = 0. - DO 12 I=1,NSCA - THET = SQRT(THMIN2*((1./RNDM(I)) - 1.)) - PHI = TWOPI*RNDM(NSCA+I) - SUMX = SUMX + THET*COS(PHI) - SUMY = SUMY + THET*SIN(PHI) - 12 CONTINUE - THETA = SQRT(SUMX**2 + SUMY**2) - IF(THETA.NE.0.) THEN - COSTH = COS(THETA) - SINTH = SIN(THETA) - CSPHI = SUMX/THETA - SNPHI = SUMY/THETA -* - DIN(1) = SINTH*CSPHI - DIN(2) = SINTH*SNPHI - DIN(3) = COSTH - ELSE - DIN(1) = 0. - DIN(2) = 0. - DIN(3) = 1. - ENDIF -* - END diff --git a/StarVMC/geant3/gphys/gmgaus.F b/StarVMC/geant3/gphys/gmgaus.F deleted file mode 100644 index af6cfa7ae3e..00000000000 --- a/StarVMC/geant3/gphys/gmgaus.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: gmgaus.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gmgaus.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:26 cernlib -* Geant -* -* -* EX GMUL -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MGAUS(BETA2,DIN) -C. -C. ****************************************************************** -C. * * -C * Compute multiple scattering angles for a particle * -C. * with parameters VECT in common /GCTRAK/ * -C. * in current medium described in common /GCMATE/ * -C. * Output angles overwrite VECT * -C. * * -C. * ==>Called by : G3MULTS * -C. * Authors R.Brun, M.Maire, G.Lynch ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gctrak.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gconsp.inc" - DIMENSION DIN(3),RNDM(3) -* -* ------------------------------------------------------------------ -* -* *** Computes mean deviation angles in radian -* -* Scattering corresponding to OMEGA0 = 4E4 scatters and F=0.98. -* - SIGMA = 2.557 * CHCMOL*SQRT(STMULS)/(GETOT*BETA2) -* - CALL GRNDM(RNDM,3) - PHI = TWOPI*RNDM(2) - THETA = SIGMA*SQRT(-2.*LOG(RNDM(1))) - IF(RNDM(3).GT.0.5)THETA=-THETA - SINT = SIN(THETA) - DIN(1) = SINT*SIN(PHI) - DIN(2) = SINT*COS(PHI) - DIN(3) = COS(THETA) -* - END diff --git a/StarVMC/geant3/gphys/gmol4.F b/StarVMC/geant3/gphys/gmol4.F deleted file mode 100644 index 4660be3ffb8..00000000000 --- a/StarVMC/geant3/gphys/gmol4.F +++ /dev/null @@ -1,106 +0,0 @@ -* -* $Id: gmol4.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gmol4.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:39 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:26 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MOL4(Y,X,VAL,ARG,EPS,IER) -C. -C. ****************************************************************** -C. * * -C. * ROUTINE TAKEN FROM IBM SCIENTIFIC SUBROUTINE PACKAGE * -C. * * -C. * 4 POINT CONTINUED FRACTION INTERPOLATION * -C. * Y=INTERPOLATED VALUE FOR THE ARGUMENT X . * -C. * VAL=VALUE ARRAY . * -C. * ARG=ARGUMENT ARRAY . * -C. * EPS=DESIRED ACCURACY . * -C. * OUTPUT ERROR PARAMETER IER = 0 ACCURACY O.K. * -C. * = 1 ACCURACY CAN NOT BE TESTED * -C. * IN 4TH ORDER INTERPOLATION . * -C. * = 2 TWO IDENTICAL ELEMENTS IN THE * -C. * ARGUMENT ARRAY . * -C. * * -C. * ==>Called by : G3MOLIE * -C. * Author M.S. Dixit NRCC Ottawa ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION ARG(4),VAL(4) -C. -C. ------------------------------------------------------------------ -C. - IER=1 - Y=VAL(1) - P2=1. - P3=Y - Q2=0. - Q3=1. - DO 16 I=2,4 - II=0 - P1=P2 - P2=P3 - Q1=Q2 - Q2=Q3 - Z=Y - JEND=I-1 - 3 AUX=VAL(I) - DO 10 J=1,JEND - H=VAL(I)-VAL(J) - IF(ABS(H).GT.1.E-6*ABS(VAL(I)))GO TO 9 - IF(ARG(I).EQ.ARG(J))GO TO 17 - IF(J.LT.JEND)GO TO 8 - II=II+1 - III=I+II - IF(III.GT.4)GO TO 19 - VAL(I)=VAL(III) - VAL(III)=AUX - AUX=ARG(I) - ARG(I)=ARG(III) - ARG(III)=AUX - GO TO 3 - 8 VAL(I)=1.E36 - GO TO 10 - 9 VAL(I)=(ARG(I)-ARG(J))/H - 10 CONTINUE - P3=VAL(I)*P2+(X-ARG(I-1))*P1 - Q3=VAL(I)*Q2+(X-ARG(I-1))*Q1 - IF(Q3.NE.0.)THEN - Y=P3/Q3 - ELSE - Y=1.E36 - ENDIF - DELT=ABS(Z-Y) - IF(DELT.LE.EPS)GO TO 19 - 16 CONTINUE - RETURN - 17 IER=2 - RETURN - 19 IER=0 - END diff --git a/StarVMC/geant3/gphys/gmoli.F b/StarVMC/geant3/gphys/gmoli.F deleted file mode 100644 index 4b492511b99..00000000000 --- a/StarVMC/geant3/gphys/gmoli.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: gmoli.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gmoli.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:27 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MOLI (AC,ZC,WMAT,NLM,DENS,OMC,CHC) -C. -C. ****************************************************************** -C. * * -C. * Initializes material constants OMC,CHC for Moliere * -C. * scattering. * -C. * * -C. * WMAT=proportion by weight of NLM individual constituents of * -C. * charge ZC and atomic weight AC for the mixture/compound * -C. * DENS=density in gm/cm**3 * -C. * Warning : the beta and charge dependance of ZX is omitted * -C. * * -C. * ==>Called by : G3PROBI * -C. * Author M.S. Dixit NRCC Ottawa ********* * -C. * * -C. ****************************************************************** -C. -C ZETA=factor for scattering by atomic electrons -C - DIMENSION WMAT(*),AC(*),ZC(*) - PARAMETER (ZETA=1) -* -* ------------------------------------------------------------------ -* - ZS=0. - ZE=0. - ZX=0. - DO 15 I=1,NLM - TMP=(WMAT(I)/AC(I))*ZC(I)*(ZC(I)+ZETA) - ZS=ZS+TMP - ZE=ZE-0.66666*TMP*LOG(ZC(I)) - ZX=ZX+TMP*LOG(1.+3.34*(ZC(I)/137.036)**2) -15 CONTINUE - CHC=0.39612E-3*SQRT(DENS*ZS) - OMC=6702.33*ZS*DENS*EXP((ZE-ZX)/ZS) -* - END diff --git a/StarVMC/geant3/gphys/gmoli1.F b/StarVMC/geant3/gphys/gmoli1.F deleted file mode 100644 index ad2836a7ff2..00000000000 --- a/StarVMC/geant3/gphys/gmoli1.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: gmoli1.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gmoli1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:27 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_VER314) -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MOLI1(AC,ZC,DENS,BETA2,OMC) -C. -C. ****************************************************************** -C. * * -C. * Initializes material constants OMC,CHC for Moliere * -C. * scattering (case of a simple material) * -C. * * -C. * ==>Called by : G3MULOF * -C. * Author M.S. Dixit NRCC Ottawa ********* * -C. * * -C. ****************************************************************** -C. -C ZETA=factor for scattering by atomic electrons -C - DATA ZETA / 1. / -* -* ------------------------------------------------------------------ -* - ZS=(1./AC)*ZC*(ZC+ZETA) - ZE=-0.66666*ZS*LOG(ZC) - ZX=ZS*LOG(1.+3.34*(ZC/(BETA2*137.036))**2) - OMC=6702.33*ZS*DENS*EXP((ZE-ZX)/ZS) -* - END -#else - SUBROUTINE GMOLI1_DUMMY - END -#endif diff --git a/StarVMC/geant3/gphys/gmoli2.F b/StarVMC/geant3/gphys/gmoli2.F deleted file mode 100644 index 68fa03fa7e2..00000000000 --- a/StarVMC/geant3/gphys/gmoli2.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: gmoli2.F,v 1.1.1.2 2009/02/01 17:10:31 fisyak Exp $ -* -* $Log: gmoli2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:31 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:27 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_VER314) -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MOLI2(AC,ZC,WMAT,NLM,DENS,BETA2,OMC) -C. -C. ****************************************************************** -C. * * -C. * Initializes material constants OMC,CHC for Moliere * -C. * scattering. * -C. * * -C. * WMAT=proportion by weight of NLM individual constituents of * -C. * charge ZC and atomic weight AC for the mixture/compound * -C. * DENS=density in gm/cm**3 * -C. * * -C. * ==>Called by : G3MULOF * -C. * Author M.S. Dixit NRCC Ottawa ********* * -C. * * -C. ****************************************************************** -C. -C ZETA=factor for scattering by atomic electrons -C - DIMENSION WMAT(1),AC(1),ZC(1) - DATA ZETA / 1. / -* -* ------------------------------------------------------------------ -* - ZS=0. - ZE=0. - ZX=0. - DO 15 I=1,NLM - TMP=(WMAT(I)/AC(I))*ZC(I)*(ZC(I)+ZETA) - ZS=ZS+TMP - ZE=ZE-0.66666*TMP*LOG(ZC(I)) - ZX=ZX+TMP*LOG(1.+3.34*(ZC(I)/(BETA2*137.036))**2) -15 CONTINUE - OMC=6702.33*ZS*DENS*EXP((ZE-ZX)/ZS) -* - END - -#else - SUBROUTINE GMOLI2_DUMMY - END -#endif diff --git a/StarVMC/geant3/gphys/gmolie.F b/StarVMC/geant3/gphys/gmolie.F deleted file mode 100644 index db61a57f858..00000000000 --- a/StarVMC/geant3/gphys/gmolie.F +++ /dev/null @@ -1,209 +0,0 @@ -* -* $Id: gmolie.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gmolie.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1996/05/02 08:17:11 ravndal -* correct spheric coordinate sampling -* -* Revision 1.1.1.1 1995/10/24 10:21:27 cernlib -* Geant -* -* -* EX GMOL -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MOLIE(OMEGA,BETA2,DIN) -C. -C. ****************************************************************** -C. * * -C * Computes MOLIERE multiple scattering for a particle * -C. * with parameters VECT in common /GCTRAK/ * -C. * * -C. * This subroutine must be called with the correct values * -C. * of the constants OMC & CHC which depend of the medium * -C. * * -C. * OMC AND CHC are computed at initialisation time (GMOLI) * -C. * No lateral displacement of the particle with respect * -C. * the incident direction is included. * -C. * No path length correction is included * -C. * * -C. * Generation of multiple scattering according to * -C. * Moliere theory corrected for finite angle scattering * -C. * * -C. * evolved from Cern library program MLR * -C. * * -C. * OMEGA & CHIC are number of scatterings and critical angle * -C. * of the medium for a given incident particle * -C. * * -C. * COSTH and SINTH are the cosine and sine of the generated * -C. * scattering angle between 0 and 180 degrees * -C. * * -C. * THRED(NA)=reduced angles of Moliere theory * -C. * * -C. * F0I(NA),F1I(NA),F2I(NA)= integrale of Moliere functions * -C. * * -C. * 4 point continued fraction interpolation is used to invert * -C. * the total distribution function integral * -C. * * -C. * XINT= argument value * -C. * ARG= argument values of the table (arg,val) * -C. * VAL= function values of the table (arg,val) * -C. * THRI= the resulting interpolated function value * -C. * * -C. * ==>Called by : G3MOLIE * -C. * Author M.S. Dixit NRCC Ottawa ********* * -C. * * -C. * * -C. ****************************************************************** -C. -#include "geant321/gctrak.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gconsp.inc" - PARAMETER (ENEPER = 2.7182818) - DIMENSION DIN(3),RNDM(3) - DIMENSION TINT(40),ARG(4),VAL(4),THRED(40),F0I(40),F1I(40),F2I(40) - DATA THRED/ - + 0.00, 0.10, 0.20, 0.30 - +, 0.40, 0.50, 0.60, 0.70 - +, 0.80, 0.90, 1.00, 1.10 - +, 1.20, 1.30, 1.40, 1.50 - +, 1.60, 1.70, 1.80, 1.90 - +, 2.00, 2.20, 2.40, 2.60 - +, 2.80, 3.00, 3.20, 3.40 - +, 3.60, 3.80, 4.00, 5.00 - +, 6.00, 7.00, 8.00, 9.00 - +, 10.00,11.00,12.00,13.00/ - DATA F0I/ - + 0.000000E+00 ,0.995016E-02 ,0.392106E-01 ,0.860688E-01 - + ,0.147856E+00 ,0.221199E+00 ,0.302324E+00 ,0.387374E+00 - + ,0.472708E+00 ,0.555142E+00 ,0.632121E+00 ,0.701803E+00 - + ,0.763072E+00 ,0.815480E+00 ,0.859142E+00 ,0.894601E+00 - + ,0.922695E+00 ,0.944424E+00 ,0.960836E+00 ,0.972948E+00 - + ,0.981684E+00 ,0.992093E+00 ,0.996849E+00 ,0.998841E+00 - + ,0.999606E+00 ,0.999877E+00 ,0.999964E+00 ,0.999990E+00 - + ,0.999998E+00 ,0.999999E+00 ,0.100000E+01 ,0.100000E+01 - + ,0.100000E+01 ,0.100000E+01 ,0.100000E+01 ,0.100000E+01 - + ,1.,1.,1.,1./ - DATA F1I/ - + 0.000000E+00,0.414985E-02,0.154894E-01,0.310312E-01 - + ,0.464438E-01,0.569008E-01,0.580763E-01,0.468264E-01 - + ,0.217924E-01,-0.163419E-01,-0.651205E-01,-0.120503E+00 - + ,-0.178272E+00,-0.233580E+00,-0.282442E+00,-0.321901E+00 - + ,-0.350115E+00,-0.366534E+00,-0.371831E+00,-0.367378E+00 - + ,-0.354994E+00,-0.314803E+00,-0.266539E+00,-0.220551E+00 - + ,-0.181546E+00,-0.150427E+00,-0.126404E+00,-0.107830E+00 - + ,-0.933106E-01,-0.817375E-01,-0.723389E-01,-0.436650E-01 - + ,-0.294700E-01,-0.212940E-01,-0.161406E-01,-0.126604E-01 - + ,-0.102042E-01,-0.840465E-02,-0.704261E-02,-0.598886E-02/ - DATA F2I/ - + 0.0,0.121500E-01,0.454999E-01,0.913000E-01 - + ,0.137300E+00,0.171400E+00,0.183900E+00,0.170300E+00 - + ,0.132200E+00,0.763000E-01,0.126500E-01,-0.473500E-01 - + ,-0.936000E-01,-0.119750E+00,-0.123450E+00,-0.106300E+00 - + ,-0.732800E-01,-0.312400E-01,0.128450E-01,0.528800E-01 - + ,0.844100E-01,0.114710E+00,0.106200E+00,0.765830E-01 - + ,0.435800E-01,0.173950E-01,0.695001E-03,-0.809500E-02 - + ,-0.117355E-01,-0.125449E-01,-0.120280E-01,-0.686530E-02 - + ,-0.385275E-02,-0.231115E-02,-0.147056E-02,-0.982480E-03 - + ,-0.682440E-03,-0.489715E-03,-0.361190E-03,-0.272582E-03/ -* -* ------------------------------------------------------------------ -* -* -* *** Compute Theta angle from Moliere distribution -* - CHIC = CHCMOL*SQRT(STMULS)/(GETOT*BETA2) - COSTH=1. - SINTH=0. - IF(OMEGA.LE.ENEPER)GO TO 90 - CNST=LOG(OMEGA) - B=5. - DO 10 L=1,10 - IF(ABS(B).LT.1.E-10)THEN - B=1.E-10 - ENDIF - DB=-(B-LOG(ABS(B))-CNST)/(1.-1./B) - B=B+DB - IF(ABS(DB).LE.0.0001)GO TO 20 - 10 CONTINUE - GO TO 90 - 20 CONTINUE - IF(B.LE.0.)GO TO 90 - BINV = 1./B - TINT(1) = 0. - DO 30 JA=2,4 - TINT(JA)=F0I(JA)+(F1I(JA)+F2I(JA)*BINV)*BINV - 30 CONTINUE - NMAX = 4 - 40 CONTINUE - CALL GRNDM(RNDM,3) - XINT=RNDM(2) - DO 50 NA=3,40 - IF(NA.GT.NMAX) THEN - TINT(NA)=F0I(NA)+(F1I(NA)+F2I(NA)*BINV)*BINV - NMAX=NA - ENDIF - IF(XINT.LE.TINT(NA-1)) GO TO 60 - 50 CONTINUE - IF(XINT.LE.TINT(40)) THEN - NA=40 - GOTO 60 - ELSE - TMP=1.-(1.-B*(1.-XINT))**5 - IF(TMP.LE.0.)GO TO 40 - THRI=5./TMP - GO TO 80 - ENDIF - 60 CONTINUE - NA = MAX(NA-1,3) - NA3 = NA-3 - DO 70 M=1,4 - NA3M=NA3+M - ARG(M)=TINT(NA3M) - VAL(M)=THRED(NA3M)**2 - 70 CONTINUE - F=THRED(NA)*.02 - CALL G3MOL4(THRI,XINT,VAL,ARG,F,IER) - 80 CONTINUE - TH=CHIC*SQRT(ABS(B*THRI)) - IF(TH.GT.PI)GO TO 40 - SINTH=SIN(TH) - TEST=TH*(RNDM(3))**2 - IF(TEST.GT.SINTH)GO TO 40 - COSTH=COS(TH) - GOTO 100 - 90 CONTINUE - CALL GRNDM(RNDM,1) -* -* *** Calculate SINE and COSINE of a random angle between 0 and 360 deg -* - 100 PHI = RNDM(1)*TWOPI -* - DIN(1) = SINTH*COS(PHI) - DIN(2) = SINTH*SIN(PHI) - DIN(3) = COSTH -* - END diff --git a/StarVMC/geant3/gphys/gmolio.F b/StarVMC/geant3/gphys/gmolio.F deleted file mode 100644 index dd1cee6019e..00000000000 --- a/StarVMC/geant3/gphys/gmolio.F +++ /dev/null @@ -1,73 +0,0 @@ -* -* $Id: gmolio.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gmolio.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:54 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:27 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MOLIO(AC,ZC,WMAT,NLM,DENS,BETA2,CHARG2,OMC) -C. -C. ****************************************************************** -C. * * -C. * Initializes material constants OMC,CHC for Moliere * -C. * scattering. * -C. * * -C. * WMAT=proportion by weight of NLM individual constituents of * -C. * charge ZC and atomic weight AC for the mixture/compound * -C. * DENS=density in gm/cm**3 * -C. * * -C. * ==>Called by : G3MULOF * -C. * Author M.S. Dixit NRCC Ottawa ********* * -C. * * -C. ****************************************************************** -C. -C ZETA=factor for scattering by atomic electrons -C - DIMENSION WMAT(*),AC(*),ZC(*) - PARAMETER (ZETA=1.) -* -* *** This is equal to 3.34/137.036**2 -* - PARAMETER (CONST1 = 1.778595E-4) -* -* ------------------------------------------------------------------ -* - ZS = 0. - ZE = 0. - ZX = 0. - CONST = CONST1*CHARG2/BETA2 - DO 10 I=1,NLM - TMP = (WMAT(I)/AC(I))*ZC(I)*(ZC(I)+ZETA) - ZS = ZS+TMP - ZE = ZE-0.66666*TMP*LOG(ZC(I)) - ZX = ZX+TMP*LOG(1.+CONST*ZC(I)**2) - 10 CONTINUE - OMC = 6702.33*ZS*DENS*EXP((ZE-ZX)/ZS) * CHARG2 -* - END - diff --git a/StarVMC/geant3/gphys/gmols.F b/StarVMC/geant3/gphys/gmols.F deleted file mode 100644 index 0feb8eb9f04..00000000000 --- a/StarVMC/geant3/gphys/gmols.F +++ /dev/null @@ -1,184 +0,0 @@ -* -* $Id: gmols.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gmols.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:40 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:27 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_VER314) -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MOLS (OMEGA,CHIC,COSTH,SINTH) -C. -C. ****************************************************************** -C. * * -C. * Generation of multiple scattering according to * -C. * Moliere theory corrected for finite angle scattering * -C. * * -C. * evolved from Cern library program MLR * -C. * * -C. * OMEGA & CHIC are number of scatterings and critical angle * -C. * of the medium for a given incident particle * -C. * * -C. * COSTH and SINTH are the cosine and sine of the generated * -C. * scattering angle between 0 and 180 degrees * -C. * * -C. * THRED(NA)=reduced angles of Moliere theory * -C. * * -C. * F0I(NA),F1I(NA),F2I(NA)= integrale of Moliere functions * -C. * * -C. * 4 point continued fraction interpolation is used to invert * -C. * the total distribution function integral * -C. * * -C. * XINT= argument value * -C. * ARG= argument values of the table (arg,val) * -C. * VAL= function values of the table (arg,val) * -C. * THRI= the resulting interpolated function value * -C. * * -C. * ==>Called by : G3MOLIE * -C. * Author M.S. Dixit NRCC Ottawa ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION TINT(40),ARG(4),VAL(4),THRED(40),F0I(40),F1I(40),F2I(40) - DIMENSION RNDM(1) - SAVE TINT - DATA TINT(1)/0./ - DATA THRED/ - * 0.00, 0.10, 0.20, 0.30 - *, 0.40, 0.50, 0.60, 0.70 - *, 0.80, 0.90, 1.00, 1.10 - *, 1.20, 1.30, 1.40, 1.50 - *, 1.60, 1.70, 1.80, 1.90 - *, 2.00, 2.20, 2.40, 2.60 - *, 2.80, 3.00, 3.20, 3.40 - *, 3.60, 3.80, 4.00, 5.00 - *, 6.00, 7.00, 8.00, 9.00 - *, 10.00,11.00,12.00,13.00/ - DATA F0I/ - * 0.000000E+00 ,0.995016E-02 ,0.392106E-01 ,0.860688E-01 - * ,0.147856E+00 ,0.221199E+00 ,0.302324E+00 ,0.387374E+00 - * ,0.472708E+00 ,0.555142E+00 ,0.632121E+00 ,0.701803E+00 - * ,0.763072E+00 ,0.815480E+00 ,0.859142E+00 ,0.894601E+00 - * ,0.922695E+00 ,0.944424E+00 ,0.960836E+00 ,0.972948E+00 - * ,0.981684E+00 ,0.992093E+00 ,0.996849E+00 ,0.998841E+00 - * ,0.999606E+00 ,0.999877E+00 ,0.999964E+00 ,0.999990E+00 - * ,0.999998E+00 ,0.999999E+00 ,0.100000E+01 ,0.100000E+01 - * ,0.100000E+01 ,0.100000E+01 ,0.100000E+01 ,0.100000E+01 - * ,1.,1.,1.,1./ - DATA F1I/ - * 0.000000E+00,0.414985E-02,0.154894E-01,0.310312E-01 - * ,0.464438E-01,0.569008E-01,0.580763E-01,0.468264E-01 - * ,0.217924E-01,-0.163419E-01,-0.651205E-01,-0.120503E+00 - * ,-0.178272E+00,-0.233580E+00,-0.282442E+00,-0.321901E+00 - * ,-0.350115E+00,-0.366534E+00,-0.371831E+00,-0.367378E+00 - * ,-0.354994E+00,-0.314803E+00,-0.266539E+00,-0.220551E+00 - * ,-0.181546E+00,-0.150427E+00,-0.126404E+00,-0.107830E+00 - * ,-0.933106E-01,-0.817375E-01,-0.723389E-01,-0.436650E-01 - * ,-0.294700E-01,-0.212940E-01,-0.161406E-01,-0.126604E-01 - * ,-0.102042E-01,-0.840465E-02,-0.704261E-02,-0.598886E-02/ - DATA F2I/ - * 0.0,0.121500E-01,0.454999E-01,0.913000E-01 - * ,0.137300E+00,0.171400E+00,0.183900E+00,0.170300E+00 - * ,0.132200E+00,0.763000E-01,0.126500E-01,-0.473500E-01 - * ,-0.936000E-01,-0.119750E+00,-0.123450E+00,-0.106300E+00 - * ,-0.732800E-01,-0.312400E-01,0.128450E-01,0.528800E-01 - * ,0.844100E-01,0.114710E+00,0.106200E+00,0.765830E-01 - * ,0.435800E-01,0.173950E-01,0.695001E-03,-0.809500E-02 - * ,-0.117355E-01,-0.125449E-01,-0.120280E-01,-0.686530E-02 - * ,-0.385275E-02,-0.231115E-02,-0.147056E-02,-0.982480E-03 - * ,-0.682440E-03,-0.489715E-03,-0.361190E-03,-0.272582E-03/ -* -* ------------------------------------------------------------------ -* - CNST=LOG(OMEGA) - IF(CNST.LE.1.)GO TO 190 - B=5. - DO 20 L=1,10 - IF(ABS(B).LT.1.E-10)THEN - B=1.E-10 - ENDIF - DB=-(B-LOG(ABS(B))-CNST)/(1.-1./B) - B=B+DB - IF(ABS(DB).LE.0.0001)GO TO 30 - 20 CONTINUE - GO TO 190 - 30 CONTINUE - IF(B.LE.0.)GO TO 190 - BSQ=B*B - 31 CONTINUE - CALL GRNDM(RNDM,1) - XINT=RNDM(1) - DO 50 NA=2,40 - TINT(NA)=F0I(NA)+F1I(NA)/B+F2I(NA)/BSQ - S=XINT-TINT(NA) - IF(S.LE.0.)GO TO 60 - 50 CONTINUE - GO TO 180 - 60 CONTINUE - IF(NA.GE.40)THEN - NA=39 - ELSE - TINT(NA+1)=F0I(NA+1)+F1I(NA+1)/B+F2I(NA+1)/BSQ - ENDIF - IF(NA.LE.2)THEN - NA=3 - TINT(4)=F0I(4)+F1I(4)/B+F2I(4)/BSQ - ENDIF - NA3=NA-3 - DO 70 M=1,4 - NA3M=NA3+M - ARG(M)=TINT(NA3M) - VAL(M)=THRED(NA3M)**2 - 70 CONTINUE - F=THRED(NA)/50. - CALL G3MOL4(THRI,XINT,VAL,ARG,F,IER) - 200 CONTINUE - TH=CHIC*SQRT(ABS(B*THRI)) - IF(TH.GT.3.141593)GO TO 31 - SINTH=SIN(TH) - CALL GRNDM(RNDM,1) - TEST=TH*(RNDM(1))**2 - IF(TEST.GT.SINTH)GO TO 31 - COSTH=COS(TH) - RETURN - 180 CONTINUE - TMP=1.-(1.-B*(1.-XINT))**5 - IF(TMP.LE.0.)GO TO 31 - THRI=5./TMP - GO TO 200 - 190 CONTINUE - COSTH=1. - SINTH=0. -* - END -#else - SUBROUTINE GMOLS_DUMMY - END -#endif diff --git a/StarVMC/geant3/gphys/gmulof.F b/StarVMC/geant3/gphys/gmulof.F deleted file mode 100644 index 80c4cd49d86..00000000000 --- a/StarVMC/geant3/gphys/gmulof.F +++ /dev/null @@ -1,218 +0,0 @@ -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MULOF -C. -C. ****************************************************************** -C. * * -C. * Calculates table of steps for multiple scattering * -C. * energy loss and magnetic field for electrons,muons * -C. * (cannot be tabuled for hadrons) * -C. * : smuls = min (Tbethe , 10*radl) * -C. * : sloss = DEEMAX*GEKIN/DEDX * -C. * : sfield = CFLD*P * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Authors R.Brun, Y.Dufour, M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gckine.inc" -#include "geant321/gcmate.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcking.inc" -#include "geant321/gctmed.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcphys.inc" -* - LOGICAL CERKOV -* -*----------------------------------------------------------------------- -* - SMULS = BIG - SLOSS = BIG - SFIELD = BIG - STOPMX = BIG - STCKOV = BIG - JPROB = LQ(JMA-4) - JMIXT = LQ(JMA-5) - OMC = Q(JPROB+21) - CHC2 = Q(JPROB+25)**2 - NLMAT=Q(JMA+11) - NLM=IABS(NLMAT) - IF (FIELDM.NE.0.) CFLD = 3333.*DEGRAD*TMAXFD/ABS(FIELDM) -* - IF(ITCKOV.NE.0.AND.IQ(JTM-2).GE.3.AND. LQ(JTM-3) - +.NE.0.AND.LQ(LQ(JTM-3)-3).NE.0) THEN -* -* *** In this tracking medium Cerenkov photons are generated and -* *** tracked. Set to 1 the corresponding flag and calculate the -* *** relevant pointers. -* - CERKOV = .TRUE. - JTCKOV = LQ(JTM-3) - JABSCO = LQ(JTCKOV-1) - JEFFIC = LQ(JTCKOV-2) - JINDEX = LQ(JTCKOV-3) - JCURIN = LQ(JTCKOV-4) - NPCKOV = Q(JTCKOV+1) - ELSE - CERKOV = .FALSE. - ENDIF -* -* *** Electrons -* - JRANG = LQ(JMA-15) - IKCUT = MAX((GEKA*LOG10(CUTELE) + GEKB),1.) - GKC = (CUTELE-ELOW(IKCUT))/(ELOW(IKCUT+1)-ELOW(IKCUT)) - STOPC = (1.-GKC)*Q(JRANG+IKCUT) + GKC*Q(JRANG+IKCUT+1) - JMULOF = LQ(JTM-1) - Q(JMULOF+NEK1+1) = IKCUT - Q(JMULOF+NEK1+2) = STOPC -* -* *** Recompute STMIN ? -* set STMIN to the range of an electron at energy=CUTELE + 200KeV -* divided by sqrt(RADL) (important for light materials) -* - IF(STMIN.LT.0.)THEN - XES=CUTELE+2.E-4 - IKS = MAX((GEKA*LOG10(XES) + GEKB),1.) - GKS = (XES-ELOW(IKS))/(ELOW(IKS+1)-ELOW(IKS)) - STMIN = (1.-GKS)*Q(JRANG+IKS) + GKS*Q(JRANG+IKS+1) - STOPC - IF(Q(JTM+7).EQ.0.)THEN - STMIN = 2.*STMIN/SQRT(RADL) - ELSE - STMIN = 5.*STMIN/RADL - ENDIF - ENDIF - Q(JTM+14)=STMIN -* - DO 10 IEKBIN=1,NEK1 - GEKIN = ELOW(IEKBIN) - GETOT = GEKIN + EMASS - PMOM2 = GEKIN*(GETOT+EMASS) - PMOM = SQRT(PMOM2) - BETA2 = PMOM2/(GETOT**2) -* - IF (IMULS.GT.0.) THEN - IF(JMIXT.LE.0)THEN - CALL G3MOLIO(A,Z,1.,1,DENS,BETA2,1.,OMC) - ELSE - CALL G3MOLIO(Q(JMIXT+1),Q(JMIXT+NLM+1),Q(JMIXT+2*NLM+1), - + NLM,DENS,BETA2,1.,OMC) - ENDIF - PMCH2 = PMOM2/CHC2 - TBETHE = (PMCH2*BETA2)/LOG(OMC*PMCH2) - TMXCOR = 2232.*RADL*PMOM2*BETA2 - SMULS = MIN(TBETHE,TMXCOR,10.*RADL) - ENDIF -* - IF (IFIELD*FIELDM.NE.0.) THEN - SFIELD = CFLD*PMOM - ENDIF -* - IF (ILOSS*DEEMAX.GT.0.) THEN - IF (IEKBIN.LE.IKCUT) THEN - STOPMX = 0. - SLOSS = 0. - ELSE - STOPMX = Q(JRANG+IEKBIN) - EKF = (1.-DEEMAX)*GEKIN - IF (EKF.LE.ELOW(1)) EKF = ELOW(1) - IKF = MAX((GEKA*LOG10(EKF) + GEKB),1.) - GKR = (EKF-ELOW(IKF))/(ELOW(IKF+1)-ELOW(IKF)) - SLOSS = STOPMX-(1.-GKR)*Q(JRANG+IKF)-GKR*Q(JRANG+IKF+1) - IF (SLOSS.LE.0.) SLOSS = 0. - STOPMX = STOPMX-STOPC - IF (STOPMX.LE.0.) STOPMX = 0. - ENDIF - ENDIF - IF(CERKOV) THEN - CHARGE = 1. - VECT(7) = PMOM - CALL G3NCKOV - STCKOV = MXPHOT/MAX(3.*DNDL,1E-10) - ENDIF -* - STEP = MIN(SMULS,SLOSS,SFIELD,STCKOV) - IF (STEP.LT.STMIN) THEN - STEP = MIN(STMIN,STOPMX) - ENDIF - Q(JMULOF+IEKBIN) = STEP - 10 CONTINUE - DO 20 I=1,IKCUT - Q(JMULOF+I)=0.5*Q(JMULOF+IKCUT+1) - 20 CONTINUE -* -* *** Muons -* - JRANG = LQ(JMA-16) - IKCUT = GEKA*LOG10(CUTMUO) + GEKB - GKC = (CUTMUO-ELOW(IKCUT))/(ELOW(IKCUT+1)-ELOW(IKCUT)) - STOPC = (1.-GKC)*Q(JRANG+IKCUT) + GKC*Q(JRANG+IKCUT+1) - JMULOF = LQ(JTM-2) - Q(JMULOF+NEK1+1)=IKCUT - Q(JMULOF+NEK1+2)=STOPC -* - DO 30 IEKBIN=1,NEK1 - GEKIN = ELOW(IEKBIN) - GETOT = GEKIN + EMMU - PMOM2 = GEKIN*(GETOT+EMMU) - PMOM = SQRT(PMOM2) - BETA2 = PMOM2/(GETOT**2) -* - IF (IMULS.GT.0.) THEN - IF(JMIXT.LE.0)THEN - CALL G3MOLIO(A,Z,1.,1,DENS,BETA2,1.,OMC) - ELSE - CALL G3MOLIO(Q(JMIXT+1),Q(JMIXT+NLM+1),Q(JMIXT+2*NLM+1), - + NLM,DENS,BETA2,1.,OMC) - ENDIF - PMCH2 = PMOM2/CHC2 - TBETHE = (PMCH2*BETA2)/LOG(OMC*PMCH2) - TMXCOR = 2232.*RADL*PMOM2*BETA2 - SMULS = MIN(TBETHE,TMXCOR,10.*RADL) - ENDIF -* - IF (IFIELD*FIELDM.NE.0.) THEN - SFIELD = CFLD*PMOM - ENDIF -* - IF (ILOSS*DEEMAX.GT.0.) THEN - IF (IEKBIN.LE.IKCUT) THEN - STOPMX = 0. - SLOSS = 0. - ELSE - STOPMX = Q(JRANG+IEKBIN) - EKF = (1.-DEEMAX)*GEKIN - IF (EKF.LE.ELOW(1)) EKF = ELOW(1) - IKF = GEKA*LOG10(EKF) + GEKB - GKR = (EKF-ELOW(IKF))/(ELOW(IKF+1)-ELOW(IKF)) - SLOSS = STOPMX-(1.-GKR)*Q(JRANG+IKF)-GKR*Q(JRANG+IKF+1) - IF (SLOSS.LE.0.) SLOSS = 0. - STOPMX = STOPMX-STOPC - IF (STOPMX.LE.0.) STOPMX = 0. - ENDIF - ENDIF - IF(CERKOV) THEN - CHARGE = 1. - VECT(7) = PMOM - CALL G3NCKOV - STCKOV = MXPHOT/MAX(3.*DNDL,1E-10) - ENDIF -* - STEP = MIN(SMULS,SLOSS,SFIELD,STCKOV) - IF (STEP.LT.STMIN) THEN - STEP = MIN(STMIN,STOPMX) - ENDIF - Q(JMULOF+IEKBIN) = STEP - 30 CONTINUE - DO 40 I=1,IKCUT - Q(JMULOF+I)=0.5*Q(JMULOF+IKCUT+1) - 40 CONTINUE -* - END diff --git a/StarVMC/geant3/gphys/gmults.F b/StarVMC/geant3/gphys/gmults.F deleted file mode 100644 index 0d5a044baea..00000000000 --- a/StarVMC/geant3/gphys/gmults.F +++ /dev/null @@ -1,131 +0,0 @@ -* -* $Id: gmults.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gmults.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:28 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3MULTS -C -C ****************************************************************** -C * * -C * Steering routine for the multiple scattering. * -C * select Moliere theory , Gaussian approximation * -C * or single Coulomb scattering depending of their range * -C * of validity. * -C * * -C * ==>Called by : G3TELEC , G3THADR , G3TMUON * -C. * Author M.Maire ********* * -C * * -C ****************************************************************** -* - PARAMETER (THRMOL=50.,THRGAU=0.01) -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gctrak.inc" -#include "geant321/gckine.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcmulo.inc" - DIMENSION DIN(3) -* - BETA2 = (VECT(7)/GETOT)**2 - IF(BETA2.LE.0.) RETURN - IF(IMULS.EQ.3) THEN - CALL G3MGAUS(BETA2,DIN) -* - ELSE - CHARG2=CHARGE**2 -* -* Here we decide whether we have to recalculate OMCMOL or not. -* OMCMOL has been calculated in GMULOF according to a formula -* which contains the term (1 + 3.34*(Alpha*z*Z/Beta)**2) where -* z is the incident charge (CHARGE), setting Beta=1 and z=1. -* We do not recalculate OMCMOL if: -* -* 3.34*(Z*Alpha)**2*((z/Beta)**2-1) << 1 -* Z**2*(z**2-Beta**2)/Beta**2 << 3.34/Alpha**2 = 5500 -* Z**2*(z**2-Beta**2) <= 50.*Beta**2 -* -* We further multiply the first term for the number of elements -* in the mixture because the approssimation is particularly bad -* for mixtures so we make the condition more restrictive. -* All this thanks to Gerry Lynch. -* - IF(Z**2*(CHARG2-BETA2)*Q(JMA+11).GT.THRMOL*BETA2) THEN - NLM=Q(JMA+11) -* - IF(NLM.EQ.1)THEN - CALL G3MOLIO(A,Z,1.,1,DENS,BETA2,CHARG2,OMCMOL) -* - ELSE - CALL G3MOLIO(Q(JMIXT+1),Q(JMIXT+NLM+1),Q(JMIXT+2*NLM+1), - + NLM,DENS,BETA2,CHARG2,OMCMOL) -* - ENDIF - ELSE - JPROB = LQ(JMA-4) - OMCMOL = Q(JPROB+21)*CHARG2 -* - ENDIF -* - OMEGA = OMCMOL*STMULS/BETA2 -* - IF (OMEGA.LE.20.) THEN - CALL G3MCOUL(OMEGA,DIN) -* - ELSE - CALL G3MOLIE(OMEGA,BETA2,DIN) -* - ENDIF - ENDIF -* -* *** Computes rotation matrix around particle direction -* *** Compute new direction cosines -* - VMM = SQRT(VECT(4)*VECT(4)+VECT(5)*VECT(5)) - IF (VMM.NE.0.) THEN - PD1=VECT(4)/VMM - PD2=VECT(5)/VMM - V4= PD1*VECT(6)*DIN(1) -PD2*DIN(2) +VECT(4)*DIN(3) - V5= PD2*VECT(6)*DIN(1) +PD1*DIN(2) +VECT(5)*DIN(3) - V6= -VMM*DIN(1) +VECT(6)*DIN(3) - ELSE - V4= DIN(1) - V5= DIN(2) - V6= DIN(3)*SIGN(1.,VECT(6)) - ENDIF -* -* *** Renormalize direction cosines -* - VP = 1./SQRT(V4*V4+V5*V5+V6*V6) - VECT(4) = V4*VP - VECT(5) = V5*VP - VECT(6) = V6*VP -* - END diff --git a/StarVMC/geant3/gphys/gpairg.F b/StarVMC/geant3/gphys/gpairg.F deleted file mode 100644 index 1134dce8a00..00000000000 --- a/StarVMC/geant3/gphys/gpairg.F +++ /dev/null @@ -1,265 +0,0 @@ -* -* $Id: gpairg.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gpairg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.5 1998/02/09 15:59:47 japost -* Fixed a problem on AIX 4 xlf, caused by max(double,float). -* -* Revision 1.4 1998/02/06 16:46:57 japost -* Fix a wrong parenthesis. -* -* Revision 1.3 1998/02/06 16:22:24 japost -* Protected a square root from a negative argument. -* This root was added there in previous changes, and not deleted from its -* old position. In its old position it was protected from being negative, but in -* its new position it was not. -* -* Deleted the same square root from its old position, as it was redundant. -* -* Revision 1.2 1996/03/13 12:03:24 ravndal -* Tranverse momentum conservation -* -* Revision 1.1.1.1 1995/10/24 10:21:28 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 21/02/95 11.53.59 by S.Giani -*-- Author : -#if defined(CERNLIB_HPUX) -$OPTIMIZE OFF -#endif - SUBROUTINE G3PAIRG -C. -C. ****************************************************************** -C. * * -C. * Simulates e+e- pair production by photons. * -C. * * -C. * The secondary electron energies are sampled using the * -C. * Coulomb corrected BETHE-HEITLER cross-sections.For this the * -C. * modified version of the random number techniques of * -C. * BUTCHER and MESSEL (NUCL.PHYS,20(1960),15) are employed. * -C. * * -C. * NOTE : * -C. * (1) Effects due to the breakdown of the BORN approximation at * -C. * low energies are ignored. * -C. * (2) The differential cross-section implicitly takes account * -C. * of pair production in both nuclear and atomic electron * -C. * fields. However, triplet production is not generated. * -C. * * -C. * ==>Called by : G3TGAMA * -C. * Authors G.Patrick, L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcking.inc" -#include "geant321/gcphys.inc" -#include "geant321/gccuts.inc" - DIMENSION NTYPEL(2) - DIMENSION RNDM(2) - LOGICAL ROTATE - PARAMETER (ONE=1,ONETHR=ONE/3,EMAS2=2*EMASS) -C. -C. ------------------------------------------------------------------ -C. -C If not enough energy : no pair production -C - EGAM = VECT(7) - IF (EGAM.LT.EMAS2) GO TO 999 -C - KCASE = NAMEC(6) - IF(IPAIR.NE.1) THEN - ISTOP = 2 - NGKINE = 0 - DESTEP = DESTEP + EGAM - VECT(7)= 0. - GEKIN = 0. - GETOT = 0. - GO TO 999 - ENDIF -C -C For low energy photons approximate the electron energy by -C sampling from a uniform distribution in the interval -C EMASS -> EGAM/2. -C - IF (EGAM.LE.2.1E - 03)THEN - CALL GRNDM(RNDM,1) - EEL1 = EMASS + (RNDM(1)*(0.5*EGAM - EMASS)) - X=EEL1/EGAM - GO TO 20 - ENDIF -C - Z3=Q(JPROB+2) - F=8.*Q(JPROB+3) - IF(EGAM.GT.0.05) F=F+8.*Q(JPROB+4) - X0=EMASS/EGAM - DX=0.5-X0 - DMIN=544.*X0/Z3 - DMIN2=DMIN*DMIN - IF(DMIN.LE.1.)THEN - F10=42.392-7.796*DMIN+1.961*DMIN2-F - F20=41.405-5.828*DMIN+0.8945*DMIN2-F - ELSE - F10=42.24-8.368*LOG(DMIN+0.952)-F - F20=F10 - ENDIF -C -C Calculate limit for screening variable,DELTA, to ensure -C that screening rejection functions always remain -C positive. -C - DMAX=EXP((42.24-F)/8.368)-0.952 -C -C Differential cross-section factors which form -C the coefficients of the screening functions. -C - DSIG1=DX*DX*F10/3. - DSIG2=0.5*F20 - BPAR = DSIG1 / (DSIG1 + DSIG2) -C -C Decide which screening rejection function to use and -C sample the electron/photon fractional energy BR. -C - 10 CALL GRNDM(RNDM,2) - IF(RNDM(1).LT.BPAR)THEN - X=0.5-DX*RNDM(2)**ONETHR - IREJ=1 - ELSE - X=X0+DX*RNDM(2) - IREJ = 2 - ENDIF -C -C Calculate DELTA ensuring positivity. -C - D=0.25*DMIN/(X*(1.-X)) - IF(D.GE.DMAX) GOTO 10 - D2=D*D -C -C Calculate F1 and F2 functions using approximations. -C F10 and F20 are the F1 and F2 functions calculated for the -C DELTA=DELTA minimum. -C - IF(D.LE.1.)THEN - F1=42.392-7.796*D+1.961*D2-F - F2=41.405-5.828*D+0.8945*D2-F - ELSE - F1=42.24-8.368*LOG(D+0.952)-F - F2=F1 - ENDIF - IF(IREJ.NE.2)THEN - SCREJ=F1/F10 - ELSE - SCREJ=F2/F20 - ENDIF -C -C Accept or reject on basis of random variate. -C - CALL GRNDM(RNDM,1) - IF(RNDM(1).GT.SCREJ) GOTO 10 - EEL1=X*EGAM -C -C Successful sampling of first electron energy. -C -C Select charges randomly. -C - 20 NTYPEL(1) = 2 - CALL GRNDM(RNDM,2) - IF (RNDM(1).GT.0.5) NTYPEL(1) = 3 - NTYPEL(2) = 5 - NTYPEL(1) -C -C Generate electron decay angles with respect to a Z-axis -C defined along the parent photon. -C PHI is generated isotropically and THETA is assigned -C a universal angular distribution -C - EMASS1 = EMASS - THETA = G3BTETH(EEL1, EMASS1, X)*EMASS/EEL1 - SINTH = SIN(THETA) - COSTH = COS(THETA) - PHI = TWOPI*RNDM(2) - COSPHI = COS(PHI) - SINPHI = SIN(PHI) -C -C Rotate tracks into GEANT system -C - CALL G3FANG(VECT(4),COSAL,SINAL,COSBT,SINBT,ROTATE) -C -C Polar co-ordinates to momentum components. -C - NGKINE = 0 - TEL1 = EEL1 - EMASS - PEL1 = SQRT(MAX((EEL1+REAL(EMASS))*TEL1,0.)) - IF(TEL1.GT.CUTELE) THEN - NGKINE = NGKINE + 1 - GKIN(1,NGKINE) = PEL1 * SINTH * COSPHI - GKIN(2,NGKINE) = PEL1 * SINTH * SINPHI - GKIN(3,NGKINE) = PEL1 * COSTH - GKIN(4,NGKINE) = EEL1 - GKIN(5,NGKINE) = NTYPEL(1) - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - IF(ROTATE) - + CALL G3DROT(GKIN(1,NGKINE),COSAL,SINAL,COSBT,SINBT) - ELSE - DESTEP = DESTEP + TEL1 - IF(NTYPEL(1).EQ.2) CALL G3ANNI2 - ENDIF -C -C Momentum vector of second electron. Recoil momentum of -C target nucleus/electron ignored. -C - EEL2=EGAM-EEL1 - TEL2=EEL2-EMASS - IF(TEL2.GT.CUTELE) THEN - PEL2 = SQRT((EEL2+EMASS)*TEL2) - NGKINE = NGKINE + 1 - SINTH=SINTH*PEL1/PEL2 - COSTH=SQRT(MAX(0.,1.-SINTH**2)) - GKIN(1,NGKINE)=-PEL2*SINTH*COSPHI - GKIN(2,NGKINE)=-PEL2*SINTH*SINPHI - GKIN(3,NGKINE)=PEL2*COSTH - GKIN(4,NGKINE)=EEL2 - GKIN(5,NGKINE) = NTYPEL(2) - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - IF(ROTATE) - + CALL G3DROT(GKIN(1,NGKINE),COSAL,SINAL,COSBT,SINBT) - ELSE - DESTEP = DESTEP + TEL2 - IF(NTYPEL(2).EQ.2) CALL G3ANNI2 - ENDIF - ISTOP = 1 - IF(NGKINE.EQ.0) ISTOP = 2 - 999 END -#if defined(CERNLIB_HPUX) -$OPTIMIZE ON -#endif diff --git a/StarVMC/geant3/gphys/gpairm.F b/StarVMC/geant3/gphys/gpairm.F deleted file mode 100644 index 44730aa55df..00000000000 --- a/StarVMC/geant3/gphys/gpairm.F +++ /dev/null @@ -1,179 +0,0 @@ -* -* $Id: gpairm.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gpairm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:28 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3PAIRM -C. -C. ****************************************************************** -C. * * -C. * Simulates direct pair production by muons * -C. * * -C. * ==>Called by : G3TMUON * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcphys.inc" -#include "geant321/gccuts.inc" - DIMENSION RNDM(2) - LOGICAL ROTATE -C -C CVM= 3*SQRT(e)*EMMU/4 -C EM6= 6*EMMU**2 - DATA CVM,EM6/0.130652,0.066983/ - DATA AL10T/9.212/ -C. -C. ------------------------------------------------------------------ -C. - IF(GEKIN.LE.PPCUTM)GO TO 900 - EEM1=GETOT - KCASE=NAMEC(6) -C - VMIN=4*EMASS/EEM1 - VMAX=1.-CVM*Z**0.333333/EEM1 - IF(VMAX.LE.VMIN)GO TO 900 - VC = PPCUTM/EEM1 - ALE=LOG(EEM1) - ALFA=1.+ALE/AL10T - V0=0.18*(4.+ALE/AL10T)*ALFA*(ALFA*VMIN)**0.6666667 - BETA=0.1*(1.+3.*ALE/AL10T) - B=0.9/(1.+0.4*ALE+0.022*ALE*ALE) - AA=1.+2.*B*LOG(VC/V0) - IF(AA.LE.1.) AA=1.05 - A1=1.-AA - CC=EXP(-0.25*A1*A1/B) - A1R=1./A1 - C1=VMAX**A1 - C2=VC**A1 -C -C SAMPLE V AND RO -C - 50 CALL GRNDM(RNDM,2) - R=RNDM(1) - V=(R*C1+(1.-R)*C2)**A1R - IF(V.LE.VMIN) GOTO 50 - IF(V.LT.V0) THEN - SCREJ=CC*((V-VMIN)/(V0-VMIN))**BETA*(V0/V)**A1 - ELSE - SCREJ=CC*(V0/V)**(A1+B*LOG(V/V0)) - ENDIF - IF(RNDM(2).GT.SCREJ) GOTO 50 - R0MAX= SCREJ*(1.-EM6/(EEM1**2*(1.-V))) - CALL GRNDM(RNDM,2) - R0 = R0MAX*(2.*RNDM(1)-1.) -C -C Energies -C - EPP = V*EEM1 - IF(IPAIR.NE.1)THEN - NGKINE=0 - DESTEP=DESTEP+EPP - GO TO 60 - ENDIF - EPOS = 0.5*EPP*(1.+R0) - EMIN = EPP-EPOS -C -C Angles -C - THETA = AMASS/EEM1 - SINTH = SIN(THETA) - COSTH = COS(THETA) - PHI = TWOPI*RNDM(2) - COSPHI= COS(PHI) - SINPHI= SIN(PHI) -C - CALL G3FANG(VECT(4),COSAL,SINAL,COSBT,SINBT,ROTATE) -C -C Positron -C - NGKINE = 0 - TPOS = EPOS-EMASS - IF(TPOS.GT.CUTELE)THEN - PPOS = SQRT((EPOS+EMASS)*TPOS) - NGKINE= NGKINE+1 - GKIN(1,NGKINE)=PPOS*SINTH*COSPHI - GKIN(2,NGKINE)=PPOS*SINTH*SINPHI - GKIN(3,NGKINE)=PPOS*COSTH - GKIN(4,NGKINE)=EPOS - GKIN(5,NGKINE)=2. - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - IF(ROTATE) - + CALL G3DROT(GKIN(1,NGKINE),COSAL,SINAL,COSBT,SINBT) - ELSE - DESTEP=DESTEP+TPOS - CALL G3ANNI2 - ENDIF -C -C Electron -C - TMIN=EMIN-EMASS - IF(TMIN.GT.CUTELE)THEN - PMIN = SQRT((EMIN+EMASS)*TMIN) - NGKINE= NGKINE+1 - GKIN(1,NGKINE)=-PMIN*SINTH*COSPHI - GKIN(2,NGKINE)=-PMIN*SINTH*SINPHI - GKIN(3,NGKINE)=PMIN*COSTH - GKIN(4,NGKINE)=EMIN - GKIN(5,NGKINE)=3. - TOFD(NGKINE)=0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - IF(ROTATE) - + CALL G3DROT(GKIN(1,NGKINE),COSAL,SINAL,COSBT,SINBT) - ELSE - DESTEP=DESTEP+TMIN - ENDIF -C -C Correct muon track -C - 60 GEKIN = GEKIN-EPP - GETOT = GEKIN+AMASS - VECT(7)= SQRT((GETOT+AMASS)*GEKIN) - CALL G3EKBIN -C -C Update probabilities -C - 900 CALL GRNDM(RNDM,1) - ZINTPA = -LOG(RNDM(1)) - SLPAIR = SLENG - STEPPA = BIG -C - END diff --git a/StarVMC/geant3/gphys/gphak.F b/StarVMC/geant3/gphys/gphak.F deleted file mode 100644 index e937d730d84..00000000000 --- a/StarVMC/geant3/gphys/gphak.F +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: gphak.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphak.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:29 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - REAL FUNCTION G3PHAK(BET) -C. -C. ****************************************************************** -C. * * -C. * Generates Photoelectron Angular ditribution from K shell * -C. * from L1 shell ditribution ENTRY G3PHAL1 * -C. * * -C. * ==>CALLED BY : G3PHOT * -C. * AUTHOR : J. Chwastowski * -C. * * -C. ****************************************************************** -C. - DOUBLE PRECISION SAUT1,SAUT2,SAUT3,DRN - DOUBLE PRECISION COST,SIN2T,X,ANOR,AMAJOR - DOUBLE PRECISION GAMA,G1,G2,BETA,B1,ONE,HALF - PARAMETER (BETMAX=0.999999) - PARAMETER (ONE=1,HALF=ONE/2) - DIMENSION RAN(2),BETVAL(7),AMAJOR(7) - DATA BETVAL / 0.8601,0.901,0.9901,0.99901,0.999901,0.9999901, - + 0.99999901 / - DATA AMAJOR / 1.02,1.1,4.3,19.,68.,221.,704. / - DATA ANOR / 0.0 / -C -C L1 shell entry -C - ENTRY G3PHAL1(BET) -C - BETA = MIN(BET,BETMAX) - B1 = ONE-BETA - G2 = ONE/((ONE-BETA)*(ONE+BETA)) - GAMA = SQRT(G2) - G1 = GAMA-ONE - DO 10 I = 1,7 - IF(BETA.LE.BETVAL(I)) THEN - ANOR = AMAJOR(I)*G2 - ANOR = ONE/ANOR - GO TO 20 - ENDIF - 10 CONTINUE - 20 SAUT2 = HALF*GAMA*G1*(GAMA-2) - G3PHAK = 0.0 - 30 CONTINUE - CALL GRNDM(RAN,2) - DRN = 2*RAN(1) - SAUT1 = (DRN-B1)/(DRN*BETA+B1) - COST = SAUT1 - X = ONE-BETA*COST - SIN2T = (ONE-COST)*(ONE+COST) - SAUT3 = SIN2T/(X**2)*(ONE+SAUT2*X)*ANOR - IF(RAN(2).GT.SAUT3) GO TO 30 - G3PHAK = COST - G3PHAL1 = G3PHAK - END diff --git a/StarVMC/geant3/gphys/gphal2.F b/StarVMC/geant3/gphys/gphal2.F deleted file mode 100644 index cd4a1913518..00000000000 --- a/StarVMC/geant3/gphys/gphal2.F +++ /dev/null @@ -1,100 +0,0 @@ -* -* $Id: gphal2.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphal2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:29 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - FUNCTION G3PHAL2(BET) -C. -C. ****************************************************************** -C. * * -C. * Generates Photoelectron Angular ditribution from L2 shell * -C. * * -C. * ==>CALLED BY : G3PHOT * -C. * AUTHOR : J. Chwastowski * -C. * * -C. ****************************************************************** -C. - DOUBLE PRECISION SAUT1,SAUT2,SAUT3,SAUT4,SAUT5,SAUT6,SAUT7 - DOUBLE PRECISION S1,S2,S3,S4,S5,S6,S7,ONE,HALF - DOUBLE PRECISION COST,SIN2T,X,XI,XI2,XI3,ANOR,DRN - DOUBLE PRECISION GAMA,G1,G2,G3,G4,G5,BETA,B1 - DOUBLE PRECISION BETVAL,AMAJOR - PARAMETER(BETMAX=0.999999) - PARAMETER (ONE=1,HALF=ONE/2) - DIMENSION BETVAL(15),AMAJOR(15),RAN(2) - DATA BETVAL / 0.0101,0.101,0.2,0.301,0.401,0.501 - + ,0.601,0.701,0.801,0.901,0.9901,0.99901 - + ,0.999901,0.9999901,0.99999901 / - DATA AMAJOR / 2.05,2.2,2.4,2.6,2.72,3.0,3.2,3.6 - + ,4.4,6.2,25.,88.,280.,900.,2880. / - DATA ANOR / 0.0 / - BETA = MIN(BET,BETMAX) - B1 = ONE-BETA - G2 = ONE/((ONE-BETA)*(ONE+BETA)) - GAMA = SQRT(G2) - G3 = G2*GAMA - G4 = G2**2 - G5 = G4*GAMA - G1 = GAMA-ONE - DO 10 I = 1,15 - IF(BETA.LE.BETVAL(I)) THEN - ANOR = AMAJOR(I)*G5 - GO TO 20 - ENDIF - 10 CONTINUE - 20 CONTINUE - ANOR = ONE/ANOR - S1 = HALF*GAMA*(3*GAMA+1) - S2 = -0.125D0*G2*(9*G2+30*GAMA-7) - S3 = 0.25D0*G3*(G3+6*G2+11*GAMA-2) - S4 = -.125D0*G4*G1*(GAMA+7) - S5 = 2*(GAMA+ONE) - S6 = 2*GAMA*(GAMA+ONE) - S7 = 0.125D0*G4*BETA**2*(3*GAMA+ONE) - G3PHAL2 = 0.0 - 30 CONTINUE - CALL GRNDM(RAN,2) - DRN = 2*RAN(1) - COST = (DRN-B1)/(DRN*BETA+B1) - X = ONE-BETA*COST - XI = ONE/X - XI2 = XI**2 - XI3 = XI**3 - SIN2T = (ONE-COST)*(ONE+COST) - SAUT1 = S1*XI2 - SAUT2 = S2*XI - SAUT3 = S3 - SAUT4 = S4*X - SAUT5 = S5*XI3-S6*XI2-S7*XI - SAUT6 = SAUT5*SIN2T - SAUT7 = (SAUT1+SAUT2+SAUT3+SAUT4+SAUT6)*ANOR - IF(RAN(2).GT.SAUT7) GO TO 30 - G3PHAL2 = COST - END diff --git a/StarVMC/geant3/gphys/gphal3.F b/StarVMC/geant3/gphys/gphal3.F deleted file mode 100644 index 8a0305f06a8..00000000000 --- a/StarVMC/geant3/gphys/gphal3.F +++ /dev/null @@ -1,99 +0,0 @@ -* -* $Id: gphal3.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphal3.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:29 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - FUNCTION G3PHAL3(BET) -C. -C. ****************************************************************** -C. * * -C. * Generates Photoelectron Angular ditribution from L3 shell * -C. * * -C. * ==>CALLED BY : G3PHOT * -C. * AUTHOR : J. Chwastowski * -C. * * -C. ****************************************************************** -C. - DOUBLE PRECISION SAUT1,SAUT2,SAUT3,SAUT4,SAUT5,SAUT6,SAUT7 - DOUBLE PRECISION S1,S2,S3,S4,S5,S6,S7,BETVAL,AMAJOR - DOUBLE PRECISION COST,SIN2T,X,XI,XI2,XI3,ANOR,DRN - DOUBLE PRECISION GAMA,G1,G2,G3,G4,G5,BETA,B1 - PARAMETER(BETMAX=0.999998) - PARAMETER (ONE=1,HALF=ONE/2) - DIMENSION BETVAL(13),AMAJOR(13),RAN(2) - DATA BETVAL / 0.0101,0.101,0.2,0.401,0.601 - + ,0.701,0.801,0.901,0.9901,0.99901 - + ,0.999901,0.9999901,0.99999901 / - DATA AMAJOR / 2.05,2.2,2.3,2.4,2.5,2.6,2.81 - + ,3.8,15.,54.,176.,560.,1800. / - DATA ANOR / 0.0 / - BETA = MIN(BET,BETMAX) - B1 = ONE-BETA - G2 = ONE/((ONE-BETA)*(ONE+BETA)) - GAMA = SQRT(G2) - G3 = G2*GAMA - G4 = G2**2 - G5 = G4*GAMA - G1 = GAMA-ONE - DO 10 I = 1,13 - IF(BETA.LE.BETVAL(I)) THEN - ANOR = AMAJOR(I)*G5 - GO TO 20 - ENDIF - 10 CONTINUE - 20 CONTINUE - ANOR = ONE/ANOR - S1 = -HALF*GAMA*(3*GAMA-ONE) - S2 = G2*(3*G2-ONE) - S3 = G3*(G3-3*G2+2*GAMA+ONE) - S4 = HALF*G4*G1*(GAMA-2) - S5 = 2*(GAMA+ONE) - S6 = GAMA*(3*GAMA-ONE)*(GAMA+ONE) - S7 = G2*(G2-1) - G3PHAL3 = 0.0 - 30 CONTINUE - CALL GRNDM(RAN,2) - DRN = 2*RAN(1) - COST = (DRN-B1)/(DRN*BETA+B1) - X = ONE-BETA*COST - SIN2T = (ONE-COST)*(ONE+COST) - XI = ONE/X - XI2 = XI**2 - XI3 = XI**3 - SAUT1 = S1*XI2 - SAUT2 = S2*XI - SAUT3 = S3 - SAUT4 = S4*X - SAUT5 = S5*XI3-S6*XI2-S7*XI - SAUT6 = SAUT5*SIN2T - SAUT7 = (SAUT1+SAUT2+SAUT3+SAUT4+SAUT6)*ANOR - IF(RAN(2).GT.SAUT7) GO TO 30 - G3PHAL3 = COST - END diff --git a/StarVMC/geant3/gphys/gphini.F b/StarVMC/geant3/gphys/gphini.F deleted file mode 100644 index fbb3487bc5a..00000000000 --- a/StarVMC/geant3/gphys/gphini.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: gphini.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphini.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:29 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3PHINI -C. -C. ****************************************************************** -C. * * -C * Initialize material constants for * -C. * the photoelectric effect * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Author J. Chwastowski * -C. * * -C. ****************************************************************** -C. - CALL G3PHRIN - CALL G3SHLIN - CALL G3PHXIN - END diff --git a/StarVMC/geant3/gphys/gphot.F b/StarVMC/geant3/gphys/gphot.F deleted file mode 100644 index 7819d75fd02..00000000000 --- a/StarVMC/geant3/gphys/gphot.F +++ /dev/null @@ -1,378 +0,0 @@ -* -* $Id: gphot.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphot.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:41 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:29 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3PHOT -C. -C. ****************************************************************** -C. * * -C. * GENERATES PHOTO ELECTRIC MECHANISM * -C. * Corrected version of L. Urban's routine. * -C. * Improvements: * -C. * 1. Angular distributions of photoelectrons from K-L3 shells * -C. * 2. Generation of shell decay mode * -C. * 3. Probability of interactioon with a shell = function * -C. * of photon energy * -C. * * -C. * ==>CALLED BY : G3TGAMA * -C. * AUTHOR : J. Chwastowski * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcphys.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcking.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcunit.inc" - DIMENSION POT(4),PROB(4),RNA(9) - EQUIVALENCE (RNA(1),RN01),(RNA(2),RN02),(RNA(3),RN03) - EQUIVALENCE (RNA(4),RN04),(RNA(5),RN05),(RNA(6),RN06) - EQUIVALENCE (RNA(7),RN07),(RNA(8),RN08),(RNA(9),RN09) - EQUIVALENCE (POT(1),POTK),(POT(2),POTL1) - EQUIVALENCE (POT(3),POTL2),(POT(4),POTL3) - EQUIVALENCE (PROB(1),PROBK),(PROB(2),PROBL1) - EQUIVALENCE (PROB(3),PROBL2),(PROB(4),PROBL3) - SAVE ZINOLD,POT,NSHELL - DATA ZINOLD / 0.0 / -C. -C. ------------------------------------------------------------------ -C. - KCASE = NAMEC(8) -C -C STOP ELECTRON ? -C -C Check if the photoelectric effect was activated. If not deposit -C gamma & return - IF(IPHOT.NE.1) THEN - ISTOP = 2 - NGKINE= 0 - DESTEP = DESTEP + VECT(7) - VECT(7) = 0. - GEKIN = 0. - GETOT = 0. - ELSE - E=VECT(7) - CALL GRNDM(RNA,9) - JPHXS = LQ(JPHOT-1) - NZ = Q(JPHXS+1) - IF(NZ.GT.1) THEN - QS = 0.0 - QS2 = G3PHSG1(E)*RN01 - DO 10 I = 1,NZ-1 - QS1 = G3PHSGP(I,E) - QS = QS+QS1 - IF(QS2.LE.QS) THEN - K = I - GO TO 20 - ENDIF - 10 CONTINUE - K = NZ - 20 CONTINUE - JPHFN = LQ(JPHXS-K) - NUSED = Q(JPHFN+1)*5+1 - JFN = JPHFN+NUSED - ZINT = Q(JPHXS+1+K) - ELSE - JPHFN = LQ(JPHXS-1) - NUSED = Q(JPHFN+1)*5+1 - JFN = JPHFN+NUSED - ZINT = Q(JPHXS+1+1) - ENDIF -C COPY SHELLS POTENTIALS FROM THE ZEBRA STUCTURE -C Check if this atom was used in last entry - IF(ZINT.NE.ZINOLD) THEN - NSHELL = Q(JFN+1) - DO 30 I = 1,NSHELL - POT(I) = Q(JFN+1+I) - 30 CONTINUE - ZINOLD = ZINT - ENDIF -C Check if E-gamma is bigger than the L3 ionization potential. -C This will make GPHOT a little faster. - ISHELL = 0 - PROB(1) = 0. - PROB(2) = 0. - PROB(3) = 0. - PROB(4) = 0. - IF(E.GE.POTL3) THEN -C If ZINT < 5 we can have K shell only, so - IF(ZINT.LT.5) THEN - IF(E.GT.POTK) THEN - PROBK = 1. - TK = E-POTK - ISHELL = 1 - ENDIF - ELSE -C The probabilities given below come from crude approximation -C It uses the jump ratios and assumes that they are valid for the whole energy -C range. - IF(E.LT.POTL2) THEN - PROBL3 = 1.0 - TK = E-POTL3 - ISHELL = 4 - ELSE - E3 = E-POTL3 - GAMAL3 = E3/EMASS+1. - BETAL3 = SQRT(E3*(E3+2.0*EMASS))/(E+EMASS) - E2 = E-POTL2 - GAMAL2 = E2/EMASS+1. - BETAL2 = SQRT(E2*(E2+2.0*EMASS))/(E+EMASS) - EFRAC = EMASS/E - PROBL3 = G3AVRL3(GAMAL3,BETAL3,EFRAC) - PROBL2 = G3AVRL2(GAMAL2,BETAL2,EFRAC) - ANOR = 1./(PROBL3+PROBL2) - PROBL3 = PROBL3*ANOR - PROBL2 = PROBL2*ANOR - IF(E.LT.POTL1) THEN - IF(RN02.LT.PROBL3) THEN - ISHELL = 4 - TK = E-POTL3 - ELSE - ISHELL = 3 - TK = E-POTL2 - ENDIF - ELSE -C Parametrization of L1 jump ratio gives constant 1.2 - PROBL1 = 1.-1./1.2 - IF(E.LT.POTK) THEN - PROBL2 = (1.-PROBL1)*PROBL2 - PROBL3 = (1.-PROBL1)*PROBL3 - ELSE - PROBK = 125./ZINT+3.5 - PROBK = 1.-1/PROBK - PROBL1 = (1.-PROBK)*PROBL1 - PROBL2 = (1.-PROBK-PROBL1)*PROBL2 - PROBL3 = (1.-PROBK-PROBL1)*PROBL3 - ENDIF - IF(POTL3.LE.0.0) PROBL3 = 0.0 - IF(POTL2.LE.0.0) PROBL2 = 0.0 - IF(POTL1.LE.0.0) PROBL1 = 0.0 - ANOR = PROBK+PROBL1+PROBL2+PROBL3 - IF(ANOR.GT.0.0) THEN - ANOR = 1./ANOR - PROBK = PROBK*ANOR - PROBL1 = PROBL1*ANOR+PROBK - PROBL2 = PROBL2*ANOR+PROBL1 - PROBL3 = PROBL3*ANOR+PROBL2 - ISHELL = 4 - TK = E-POTL3 - IF(RN02.LE.PROBK) THEN - ISHELL = 1 - TK = E-POTK - ELSEIF(RN02.LE.PROBL1) THEN - ISHELL = 2 - TK = E-POTL1 - ELSEIF(RN02.LE.PROBL2) THEN - ISHELL = 3 - TK = E-POTL2 - ENDIF - ENDIF - ENDIF - ENDIF - ENDIF - IF(TK.LE.CUTELE) ISHELL = -ISHELL - ENDIF - IF(ISHELL.LT.1) THEN -C None of the shells was chosen because of the CUTELE - ISTOP = 2 - IF(ISHELL.LT.0) THEN - DESTEP = DESTEP+TK - ELSEIF(ISHELL.EQ.0) THEN - DESTEP = DESTEP+VECT(7) - ENDIF - NGKINE= 0 - VECT(7) = 0. - GEKIN = 0. - GETOT = 0. - ELSE -C -C ENERGY AND MOMENTUM OF PHOTOELECTRON -C - EEL=TK + EMASS - PEL=SQRT((TK+2.*EMASS)*TK) - BETA = PEL/EEL - ISTOP = 1 - NGKINE = 1 - IF(ISHELL.EQ.1) THEN - COST = G3PHAK(BETA) - ELSEIF(ISHELL.EQ.2) THEN - COST = G3PHAL1(BETA) - ELSEIF(ISHELL.EQ.3) THEN - COST = G3PHAL2(BETA) - ELSEIF(ISHELL.EQ.4) THEN - COST = G3PHAL3(BETA) - ENDIF - PHI = TWOPI*RN03 - COSPHI = COS(PHI) - SINPHI = SIN(PHI) - SINT = SQRT((1.-COST)*(1.+COST)) - GKIN(1,NGKINE) = PEL*SINT*COSPHI - GKIN(2,NGKINE) = PEL*SINT*SINPHI - GKIN(3,NGKINE) = PEL*COST - GKIN(4,NGKINE) = EEL - GKIN(5,NGKINE) = 3. - TOFD(NGKINE) = 0 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) -C -C ROTATE ELECTRON AND SCATTERED PHOTON INTO GEANT SYSTEM -C - CALL G3VROT(VECT(4),GKIN) - ENDIF - IF(ISHELL.NE.0) THEN - ISHELL = ABS(ISHELL) - IF(ZINT.GE.5.AND.POT(ISHELL).GT.MIN(CUTGAM,CUTELE)) THEN -C Generate shell decay mode - IF(RN04.LE.Q(JFN+1+NSHELL+ISHELL)) THEN - IF(POT(ISHELL).LE.CUTGAM) THEN - DESTEP = DESTEP+POT(ISHELL) - ELSE -C Radiative shell decay - JS = JFN+1+2*NSHELL+ISHELL - JS = JPHFN+Q(JS) - NPOINT = Q(JS) - DO 40 I = 1,NPOINT - IF(RN05.LT.Q(JS+I)) THEN - TSEC = Q(JS+NPOINT+I) - IF(TSEC.GT.CUTGAM) THEN - NGKINE = NGKINE+1 - PHI = TWOPI*RN06 - COST = 2.*RN07-1. - COSPHI = COS(PHI) - SINPHI = SIN(PHI) - SINT = SQRT((1.-COST)*(1.+COST)) - GKIN(1,NGKINE) = TSEC*SINT*COSPHI - GKIN(2,NGKINE) = TSEC*SINT*SINPHI - GKIN(3,NGKINE) = TSEC*COST - GKIN(4,NGKINE) = TSEC - GKIN(5,NGKINE) = 1. - TOFD(NGKINE) = 0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - ELSE - DESTEP = DESTEP+ABS(TSEC) - ENDIF -C The following particle forces the energy conservation - TSEC = POT(ISHELL)-ABS(TSEC) - IF(TSEC.GT.CUTGAM) THEN - NGKINE = NGKINE+1 - PHI = TWOPI*RN08 - COST = 2.*RN09-1. - COSPHI = COS(PHI) - SINPHI = SIN(PHI) - SINT = SQRT((1.-COST)*(1.+COST)) - GKIN(1,NGKINE) = TSEC*SINT*COSPHI - GKIN(2,NGKINE) = TSEC*SINT*SINPHI - GKIN(3,NGKINE) = TSEC*COST - GKIN(4,NGKINE) = TSEC - GKIN(5,NGKINE) = 1. - TOFD(NGKINE) = 0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - ELSE - DESTEP = DESTEP+TSEC - ENDIF - GO TO 50 - ENDIF - 40 CONTINUE - 50 CONTINUE - ENDIF - ELSE - IF(POT(ISHELL).LE.CUTELE) THEN - DESTEP = DESTEP+POT(ISHELL) - ELSE -c Nonradiative decay - JS = JFN+1+3*NSHELL+ISHELL - JS = JPHFN+Q(JS) - NPOINT = Q(JS) - DO 60 I = 1,NPOINT - IF(RN05.LT.Q(JS+I)) THEN - TSEC = Q(JS+NPOINT+I) - IF(TSEC.GT.CUTELE) THEN - EEL=TSEC + EMASS - PEL=SQRT((TSEC+2.*EMASS)*TSEC) - NGKINE = NGKINE+1 - PHI = TWOPI*RN06 - COST = 2.*RN07-1. - COSPHI = COS(PHI) - SINPHI = SIN(PHI) - SINT = SQRT((1.-COST)*(1.+COST)) - GKIN(1,NGKINE) = PEL*SINT*COSPHI - GKIN(2,NGKINE) = PEL*SINT*SINPHI - GKIN(3,NGKINE) = PEL*COST - GKIN(4,NGKINE) = EEL - GKIN(5,NGKINE) = 3. - TOFD(NGKINE) = 0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - ELSE - DESTEP = DESTEP+ABS(TSEC) - ENDIF -C The following particle forces the energy conservation - TSEC = POT(ISHELL)-ABS(TSEC) - IF(TSEC.GT.CUTGAM) THEN - NGKINE = NGKINE+1 - PHI = TWOPI*RN08 - COST = 2.*RN09-1. - COSPHI = COS(PHI) - SINPHI = SIN(PHI) - SINT = SQRT((1.-COST)*(1.+COST)) - GKIN(1,NGKINE) = TSEC*SINT*COSPHI - GKIN(2,NGKINE) = TSEC*SINT*SINPHI - GKIN(3,NGKINE) = TSEC*COST - GKIN(4,NGKINE) = TSEC - GKIN(5,NGKINE) = 1. - TOFD(NGKINE) = 0. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - ELSE - DESTEP = DESTEP+TSEC - ENDIF - GO TO 70 - ENDIF - 60 CONTINUE - 70 CONTINUE - ENDIF - ENDIF - ELSE - DESTEP = DESTEP+POT(ISHELL) - ENDIF - ENDIF - ENDIF - END diff --git a/StarVMC/geant3/gphys/gphoti.F b/StarVMC/geant3/gphys/gphoti.F deleted file mode 100644 index 9e1f619ed20..00000000000 --- a/StarVMC/geant3/gphys/gphoti.F +++ /dev/null @@ -1,110 +0,0 @@ -* -* $Id: gphoti.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphoti.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:29 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3PHOTI -C. -C. ****************************************************************** -C. * * -C. * Calculates cross-section in current material * -C * for PHOTOELECTRIC EFFECT using the empirical * -C * formula of L.Urban (see WRITE UP) for Z > 100 * -C. * * -C * otherwise Sandia parametrization * -C * F.Biggs & R. Lighthill, SAND87-0070, UC-34, May 1990 * -C * * -C * NOTE: * -C * (1) Above 0.050 GeV ( 50 MeV) a cut is imposed as the * -C * contribution from photoeffect is negligible for EGAM.GT.0.050* -C * (2) From 10KeV to 100KeV a special parametrization * -C * has been introduced * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -C. -C. ------------------------------------------------------------------ -C. -C universal energy cut-off -C - SIG=0. - EGAM=ELOW(IEKBIN) - IF(EGAM.LE.0.05) THEN -C - IF(Z.GT.100) THEN -C Below good old stuff - IF(JMIXT.EQ.0)THEN -C -C simple material (element) -C - JPROB=LQ(JMA-4) - SIG=G3PHSIG(Z,EGAM)*AVO*DENS/A - ELSE -C -C compound/mixture -C - NLMAT=Q(JMA+11) - NLM=IABS(NLMAT) - SIG=0. - DO 10 I=1,NLM - J=JMIXT+I - AA=Q(J) - ZZ=Q(J+NLM) - WMAT=Q(J+2*NLM) - S=G3PHSIG(ZZ,EGAM) - S=S*WMAT/AA - SIG=SIG+AVO*DENS*S - 10 CONTINUE - ENDIF -C -C - ELSEIF(Z.GE.1.) THEN -C New x-sections. Sandia parametrization - JPROB=LQ(JMA-4) - SIG = 0.0 - IF(EGAM.GE.1.E-8) SIG=G3PHSG1(EGAM)*DENS - ENDIF - ENDIF - IF(SIG.GT.0.)THEN - Q(JPHOT+IEKBIN)=1./SIG - ELSE - Q(JPHOT+IEKBIN)=BIG - ENDIF -C - END diff --git a/StarVMC/geant3/gphys/gphrin.F b/StarVMC/geant3/gphys/gphrin.F deleted file mode 100644 index 4bdb444d02c..00000000000 --- a/StarVMC/geant3/gphys/gphrin.F +++ /dev/null @@ -1,1071 +0,0 @@ -* -* $Id: gphrin.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphrin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:29 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3PHRIN -C. -C. ****************************************************************** -C. * * -C * Initialize decay mode rates' constants for * -C. * the photoelectric effect * -C. * * -C. * * -C. * ==>Called by : G3PHINI * -C. * Author J. Chwastowski * -C. * * -C. ****************************************************************** -C. - IMPLICIT NONE -#include "geant321/gcpmxz.inc" -#include "geant321/gcphpr.inc" -#include "geant321/gcphnr.inc" -#include "geant321/gcphrd.inc" - INTEGER I,J,ITRN - REAL TMP,TMP1 - DIMENSION TMP(ISHLS,MAXELZ),TMP1(4,MAXELZ) - DIMENSION ITRN(29) - DATA ITRN / 3,4,6, 7,11,12, - + 3,4,6, 7,11,12,18,19, - + 4,5,8,10,13,17,20, - + 5,8,9,10,13,14,17,20 / - DATA (TMP(J,1),J=1,ISHLS) / ISHLS*0.0 / - DATA (TMP(J,2),J=1,ISHLS) / ISHLS*0.0 / - DATA (TMP(J,3),J=1,ISHLS) / ISHLS*0.0 / - DATA (TMP(J,4),J=1,ISHLS) / ISHLS*0.0 / - DATA (TMP(J, 5),J=1,ISHLS) / - + 0.333E+00, 0.667E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.333E+00, 0.667E+00 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.100E+01, 14*0.0 / - DATA (TMP(J, 6),J=1,ISHLS) / - + 0.334E+00, 0.666E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.332E+00, 0.668E+00 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.100E+01, 14*0.0 / - DATA (TMP(J, 7),J=1,ISHLS) / - + 0.334E+00, 0.666E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.332E+00, 0.668E+00 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.100E+01, 14*0.0 / - DATA (TMP(J, 8),J=1,ISHLS) / - + 0.334E+00, 0.666E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.331E+00, 0.669E+00 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.100E+01, 14*0.0 / - DATA (TMP(J, 9),J=1,ISHLS) / - + 0.334E+00, 0.666E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.331E+00, 0.669E+00 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.100E+01, 14*0.0 / - DATA (TMP(J, 10),J=1,ISHLS) / - + 0.335E+00, 0.665E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.329E+00, 0.671E+00 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.100E+01, 14*0.0 / - DATA (TMP(J, 11),J=1,ISHLS) / - + 0.335E+00, 0.665E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.328E+00, 0.672E+00 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.233E-09, 0.100E+01 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.100E+01, 7*0.0 / - DATA (TMP(J, 12),J=1,ISHLS) / - + 0.335E+00, 0.665E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.326E+00, 0.674E+00 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.159E-09, 0.100E+01 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.100E+01, 7*0.0 / - DATA (TMP(J, 13),J=1,ISHLS) / - + 0.333E+00, 0.661E+00, 0.203E-02, 0.404E-02 - +, 0.000E+00, 0.000E+00, 0.291E+00, 0.608E+00 - +, 0.342E-01, 0.663E-01, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.239E-09, 0.100E+01 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.100E+01, 7*0.0 / - DATA (TMP(J, 14),J=1,ISHLS) / - + 0.330E+00, 0.654E+00, 0.562E-02, 0.111E-01 - +, 0.000E+00, 0.000E+00, 0.216E+00, 0.456E+00 - +, 0.111E+00, 0.216E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.408E-09, 0.100E+01 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.100E+01, 7*0.0 / - DATA (TMP(J, 15),J=1,ISHLS) / - + 0.325E+00, 0.645E+00, 0.100E-01, 0.199E-01 - +, 0.000E+00, 0.000E+00, 0.141E+00, 0.300E+00 - +, 0.190E+00, 0.369E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.703E-09, 0.100E+01 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.100E+01, 7*0.0 / - DATA (TMP(J, 16),J=1,ISHLS) / - + 0.321E+00, 0.635E+00, 0.149E-01, 0.296E-01 - +, 0.000E+00, 0.000E+00, 0.881E-01, 0.191E+00 - +, 0.246E+00, 0.475E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.120E-08, 0.100E+01 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.100E+01, 7*0.0 / - DATA (TMP(J, 17),J=1,ISHLS) / - + 0.315E+00, 0.625E+00, 0.201E-01, 0.398E-01 - +, 0.000E+00, 0.000E+00, 0.559E-01, 0.124E+00 - +, 0.281E+00, 0.540E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.199E-08, 0.100E+01 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.100E+01, 7*0.0 / - DATA (TMP(J, 18),J=1,ISHLS) / - + 0.314E+00, 0.611E+00, 0.253E-01, 0.500E-01 - +, 0.000E+00, 0.000E+00, 0.368E-01, 0.828E-01 - +, 0.302E+00, 0.579E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.324E-08, 0.100E+01 - +, 0.000E+00, 0.000E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.100E+01, 7*0.0 / - DATA (TMP(J, 19),J=1,ISHLS) / - + 0.307E+00, 0.606E+00, 0.293E-01, 0.580E-01 - +, 0.000E+00, 0.000E+00, 0.260E-01, 0.597E-01 - +, 0.313E+00, 0.601E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.480E-08, 0.976E+00 - +, 0.000E+00, 0.238E-01, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.976E+00, 0.000E+00, 0.000E+00 - +, 0.238E-01, 4*0.0 / - DATA (TMP(J, 20),J=1,ISHLS) / - + 0.304E+00, 0.600E+00, 0.323E-01, 0.639E-01 - +, 0.000E+00, 0.000E+00, 0.193E-01, 0.455E-01 - +, 0.321E+00, 0.614E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.678E-08, 0.929E+00 - +, 0.000E+00, 0.709E-01, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.929E+00, 0.000E+00, 0.000E+00 - +, 0.709E-01, 4*0.0 / - DATA (TMP(J, 21),J=1,ISHLS) / - + 0.303E+00, 0.597E+00, 0.335E-01, 0.661E-01 - +, 0.000E+00, 0.000E+00, 0.155E-01, 0.376E-01 - +, 0.326E+00, 0.621E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.504E-08, 0.452E+00 - +, 0.513E+00, 0.347E-01, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.461E+00, 0.506E-01, 0.453E+00 - +, 0.353E-01, 4*0.0 / - DATA (TMP(J, 22),J=1,ISHLS) / - + 0.303E+00, 0.595E+00, 0.343E-01, 0.677E-01 - +, 0.000E+00, 0.000E+00, 0.128E-01, 0.317E-01 - +, 0.330E+00, 0.626E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.463E-08, 0.276E+00 - +, 0.703E+00, 0.208E-01, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.284E+00, 0.699E-01, 0.624E+00 - +, 0.214E-01, 4*0.0 / - DATA (TMP(J, 23),J=1,ISHLS) / - + 0.302E+00, 0.594E+00, 0.350E-01, 0.690E-01 - +, 0.000E+00, 0.000E+00, 0.107E-01, 0.273E-01 - +, 0.333E+00, 0.629E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.471E-08, 0.191E+00 - +, 0.795E+00, 0.139E-01, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.198E+00, 0.793E-01, 0.708E+00 - +, 0.145E-01, 4*0.0 / - DATA (TMP(J, 24),J=1,ISHLS) / - + 0.303E+00, 0.594E+00, 0.348E-01, 0.685E-01 - +, 0.000E+00, 0.000E+00, 0.926E-02, 0.245E-01 - +, 0.335E+00, 0.631E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.475E-08, 0.130E+00 - +, 0.861E+00, 0.888E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.136E+00, 0.863E-01, 0.769E+00 - +, 0.910E-02, 4*0.0 / - DATA (TMP(J, 25),J=1,ISHLS) / - + 0.302E+00, 0.592E+00, 0.359E-01, 0.708E-01 - +, 0.000E+00, 0.000E+00, 0.778E-02, 0.213E-01 - +, 0.337E+00, 0.633E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.573E-08, 0.111E+00 - +, 0.881E+00, 0.759E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.117E+00, 0.882E-01, 0.787E+00 - +, 0.803E-02, 4*0.0 / - DATA (TMP(J, 26),J=1,ISHLS) / - + 0.302E+00, 0.591E+00, 0.363E-01, 0.714E-01 - +, 0.000E+00, 0.000E+00, 0.675E-02, 0.192E-01 - +, 0.339E+00, 0.635E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.657E-08, 0.900E-01 - +, 0.904E+00, 0.597E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.955E-01, 0.906E-01, 0.807E+00 - +, 0.634E-02, 4*0.0 / - DATA (TMP(J, 27),J=1,ISHLS) / - + 0.302E+00, 0.590E+00, 0.366E-01, 0.719E-01 - +, 0.000E+00, 0.000E+00, 0.589E-02, 0.176E-01 - +, 0.341E+00, 0.635E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.767E-08, 0.751E-01 - +, 0.920E+00, 0.483E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.803E-01, 0.924E-01, 0.822E+00 - +, 0.515E-02, 4*0.0 / - DATA (TMP(J, 28),J=1,ISHLS) / - + 0.301E+00, 0.589E+00, 0.369E-01, 0.724E-01 - +, 0.000E+00, 0.000E+00, 0.521E-02, 0.162E-01 - +, 0.343E+00, 0.635E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.902E-08, 0.640E-01 - +, 0.932E+00, 0.398E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.690E-01, 0.938E-01, 0.833E+00 - +, 0.428E-02, 4*0.0 / - DATA (TMP(J, 29),J=1,ISHLS) / - + 0.302E+00, 0.590E+00, 0.366E-01, 0.717E-01 - +, 0.000E+00, 0.000E+00, 0.470E-02, 0.153E-01 - +, 0.345E+00, 0.635E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.104E-07, 0.537E-01 - +, 0.943E+00, 0.325E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.585E-01, 0.954E-01, 0.845E+00 - +, 0.134E-02, 4*0.0 / - DATA (TMP(J, 30),J=1,ISHLS) / - + 0.302E+00, 0.588E+00, 0.373E-01, 0.730E-01 - +, 0.000E+00, 0.000E+00, 0.416E-02, 0.141E-01 - +, 0.347E+00, 0.635E+00, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.000E+00, 0.127E-07, 0.488E-01 - +, 0.948E+00, 0.285E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.532E-01, 0.956E-01, 0.848E+00 - +, 0.311E-02, 4*0.0 / - DATA (TMP(J, 31),J=1,ISHLS) / - + 0.301E+00, 0.586E+00, 0.381E-01, 0.744E-01 - +, 0.217E-03, 0.414E-03, 0.365E-02, 0.131E-01 - +, 0.346E+00, 0.631E+00, 0.208E-02, 0.373E-02 - +, 0.000E+00, 0.000E+00, 0.153E-07, 0.449E-01 - +, 0.952E+00, 0.345E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.494E-01, 0.958E-01, 0.851E+00 - +, 0.378E-02, 4*0.0 / - DATA (TMP(J, 32),J=1,ISHLS) / - + 0.301E+00, 0.583E+00, 0.388E-01, 0.759E-01 - +, 0.633E-03, 0.122E-02, 0.322E-02, 0.121E-01 - +, 0.344E+00, 0.624E+00, 0.595E-02, 0.106E-01 - +, 0.000E+00, 0.000E+00, 0.187E-07, 0.421E-01 - +, 0.954E+00, 0.376E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.465E-01, 0.961E-01, 0.853E+00 - +, 0.414E-02, 4*0.0 / - DATA (TMP(J, 33),J=1,ISHLS) / - + 0.299E+00, 0.580E+00, 0.396E-01, 0.772E-01 - +, 0.121E-02, 0.232E-02, 0.282E-02, 0.112E-01 - +, 0.341E+00, 0.614E+00, 0.110E-01, 0.197E-01 - +, 0.000E+00, 0.000E+00, 0.229E-07, 0.398E-01 - +, 0.956E+00, 0.398E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.442E-01, 0.962E-01, 0.855E+00 - +, 0.441E-02, 4*0.0 / - DATA (TMP(J, 34),J=1,ISHLS) / - + 0.298E+00, 0.577E+00, 0.403E-01, 0.787E-01 - +, 0.191E-02, 0.368E-02, 0.249E-02, 0.105E-01 - +, 0.336E+00, 0.604E+00, 0.170E-01, 0.302E-01 - +, 0.000E+00, 0.000E+00, 0.279E-07, 0.379E-01 - +, 0.958E+00, 0.414E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.425E-01, 0.964E-01, 0.857E+00 - +, 0.462E-02, 4*0.0 / - DATA (TMP(J, 35),J=1,ISHLS) / - + 0.297E+00, 0.574E+00, 0.410E-01, 0.799E-01 - +, 0.273E-02, 0.526E-02, 0.220E-02, 0.979E-02 - +, 0.331E+00, 0.592E+00, 0.235E-01, 0.417E-01 - +, 0.000E+00, 0.000E+00, 0.340E-07, 0.364E-01 - +, 0.959E+00, 0.427E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.411E-01, 0.965E-01, 0.858E+00 - +, 0.480E-02, 4*0.0 / - DATA (TMP(J, 36),J=1,ISHLS) / - + 0.296E+00, 0.571E+00, 0.416E-01, 0.812E-01 - +, 0.366E-02, 0.704E-02, 0.194E-02, 0.921E-02 - +, 0.325E+00, 0.579E+00, 0.305E-01, 0.539E-01 - +, 0.000E+00, 0.000E+00, 0.413E-07, 0.352E-01 - +, 0.960E+00, 0.438E-02, 0.000E+00, 0.000E+00 - +, 0.000E+00, 0.400E-01, 0.966E-01, 0.858E+00 - +, 0.495E-02, 4*0.0 / - DATA (TMP(J, 37),J=1,ISHLS) / - + 0.295E+00, 0.567E+00, 0.423E-01, 0.824E-01 - +, 0.440E-02, 0.855E-02, 0.173E-02, 0.873E-02 - +, 0.321E+00, 0.569E+00, 0.358E-01, 0.636E-01 - +, 0.000E+00, 0.000E+00, 0.502E-07, 0.341E-01 - +, 0.961E+00, 0.463E-02, 0.000E+00, 0.130E-03 - +, 0.000E+00, 0.390E-01, 0.966E-01, 0.859E+00 - +, 0.529E-02, 0.000E+00, 0.000E+00, 0.148E-03, 0.0 / - DATA (TMP(J, 38),J=1,ISHLS) / - + 0.294E+00, 0.565E+00, 0.429E-01, 0.837E-01 - +, 0.506E-02, 0.985E-02, 0.155E-02, 0.836E-02 - +, 0.318E+00, 0.560E+00, 0.402E-01, 0.712E-01 - +, 0.000E+00, 0.000E+00, 0.607E-07, 0.331E-01 - +, 0.962E+00, 0.489E-02, 0.000E+00, 0.421E-03 - +, 0.000E+00, 0.382E-01, 0.967E-01, 0.859E+00 - +, 0.561E-02, 0.000E+00, 0.000E+00, 0.484E-03, 0.0 / - DATA (TMP(J, 39),J=1,ISHLS) / - + 0.293E+00, 0.562E+00, 0.436E-01, 0.848E-01 - +, 0.554E-02, 0.108E-01, 0.140E-02, 0.807E-02 - +, 0.317E+00, 0.554E+00, 0.432E-01, 0.762E-01 - +, 0.000E+00, 0.000E+00, 0.730E-07, 0.322E-01 - +, 0.957E+00, 0.501E-02, 0.496E-02, 0.465E-03 - +, 0.000E+00, 0.374E-01, 0.962E-01, 0.855E+00 - +, 0.579E-02, 0.494E-03, 0.437E-02, 0.535E-03, 0.0 / - DATA (TMP(J, 40),J=1,ISHLS) / - + 0.293E+00, 0.560E+00, 0.441E-01, 0.860E-01 - +, 0.595E-02, 0.116E-01, 0.127E-02, 0.785E-02 - +, 0.316E+00, 0.549E+00, 0.457E-01, 0.802E-01 - +, 0.000E+00, 0.000E+00, 0.871E-07, 0.312E-01 - +, 0.952E+00, 0.508E-02, 0.117E-01, 0.480E-03 - +, 0.000E+00, 0.367E-01, 0.957E-01, 0.850E+00 - +, 0.593E-02, 0.116E-02, 0.103E-01, 0.559E-03, 0.0 / - DATA (TMP(J, 41),J=1,ISHLS) / - + 0.292E+00, 0.558E+00, 0.447E-01, 0.871E-01 - +, 0.623E-02, 0.121E-01, 0.116E-02, 0.770E-02 - +, 0.316E+00, 0.546E+00, 0.472E-01, 0.823E-01 - +, 0.000E+00, 0.000E+00, 0.103E-06, 0.303E-01 - +, 0.941E+00, 0.506E-02, 0.232E-01, 0.198E-03 - +, 0.000E+00, 0.359E-01, 0.946E-01, 0.841E+00 - +, 0.595E-02, 0.232E-02, 0.204E-01, 0.233E-03, 0.0 / - DATA (TMP(J, 42),J=1,ISHLS) / - + 0.292E+00, 0.556E+00, 0.453E-01, 0.881E-01 - +, 0.656E-02, 0.127E-01, 0.107E-02, 0.758E-02 - +, 0.315E+00, 0.542E+00, 0.491E-01, 0.853E-01 - +, 0.000E+00, 0.000E+00, 0.123E-06, 0.295E-01 - +, 0.933E+00, 0.510E-02, 0.321E-01, 0.194E-03 - +, 0.000E+00, 0.352E-01, 0.939E-01, 0.833E+00 - +, 0.604E-02, 0.319E-02, 0.282E-01, 0.231E-03, 0.0 / - DATA (TMP(J, 43),J=1,ISHLS) / - + 0.291E+00, 0.554E+00, 0.458E-01, 0.890E-01 - +, 0.688E-02, 0.133E-01, 0.978E-03, 0.749E-02 - +, 0.315E+00, 0.538E+00, 0.508E-01, 0.878E-01 - +, 0.000E+00, 0.000E+00, 0.145E-06, 0.288E-01 - +, 0.924E+00, 0.510E-02, 0.416E-01, 0.189E-03 - +, 0.000E+00, 0.347E-01, 0.930E-01, 0.825E+00 - +, 0.610E-02, 0.413E-02, 0.364E-01, 0.226E-03, 0.0 / - DATA (TMP(J, 44),J=1,ISHLS) / - + 0.291E+00, 0.552E+00, 0.463E-01, 0.901E-01 - +, 0.716E-02, 0.139E-01, 0.902E-03, 0.745E-02 - +, 0.315E+00, 0.535E+00, 0.524E-01, 0.899E-01 - +, 0.000E+00, 0.000E+00, 0.172E-06, 0.281E-01 - +, 0.915E+00, 0.509E-02, 0.515E-01, 0.184E-03 - +, 0.000E+00, 0.341E-01, 0.921E-01, 0.817E+00 - +, 0.614E-02, 0.511E-02, 0.450E-01, 0.222E-03, 0.0 / - DATA (TMP(J, 45),J=1,ISHLS) / - + 0.291E+00, 0.550E+00, 0.468E-01, 0.909E-01 - +, 0.742E-02, 0.144E-01, 0.834E-03, 0.744E-02 - +, 0.315E+00, 0.531E+00, 0.538E-01, 0.918E-01 - +, 0.000E+00, 0.000E+00, 0.202E-06, 0.274E-01 - +, 0.906E+00, 0.508E-02, 0.617E-01, 0.177E-03 - +, 0.000E+00, 0.336E-01, 0.911E-01, 0.809E+00 - +, 0.618E-02, 0.612E-02, 0.540E-01, 0.216E-03, 0.0 / - DATA (TMP(J, 46),J=1,ISHLS) / - + 0.290E+00, 0.548E+00, 0.472E-01, 0.918E-01 - +, 0.762E-02, 0.147E-01, 0.773E-03, 0.747E-02 - +, 0.315E+00, 0.529E+00, 0.547E-01, 0.925E-01 - +, 0.000E+00, 0.000E+00, 0.236E-06, 0.267E-01 - +, 0.894E+00, 0.502E-02, 0.744E-01, 0.000E+00 - +, 0.000E+00, 0.332E-01, 0.900E-01, 0.799E+00 - +, 0.617E-02, 0.737E-02, 0.646E-01, 2*0.0 / - DATA (TMP(J, 47),J=1,ISHLS) / - + 0.290E+00, 0.547E+00, 0.477E-01, 0.927E-01 - +, 0.790E-02, 0.153E-01, 0.719E-03, 0.751E-02 - +, 0.315E+00, 0.525E+00, 0.564E-01, 0.947E-01 - +, 0.000E+00, 0.000E+00, 0.276E-06, 0.262E-01 - +, 0.886E+00, 0.503E-02, 0.828E-01, 0.164E-03 - +, 0.000E+00, 0.329E-01, 0.891E-01, 0.791E+00 - +, 0.624E-02, 0.820E-02, 0.723E-01, 0.202E-03, 0.0 / - DATA (TMP(J, 48),J=1,ISHLS) / - + 0.290E+00, 0.545E+00, 0.481E-01, 0.934E-01 - +, 0.823E-02, 0.159E-01, 0.668E-03, 0.758E-02 - +, 0.315E+00, 0.521E+00, 0.582E-01, 0.971E-01 - +, 0.000E+00, 0.000E+00, 0.323E-06, 0.257E-01 - +, 0.878E+00, 0.505E-02, 0.905E-01, 0.400E-03 - +, 0.000E+00, 0.326E-01, 0.884E-01, 0.784E+00 - +, 0.632E-02, 0.894E-02, 0.790E-01, 0.500E-03, 0.0 / - DATA (TMP(J, 49),J=1,ISHLS) / - + 0.290E+00, 0.543E+00, 0.484E-01, 0.941E-01 - +, 0.853E-02, 0.165E-01, 0.623E-03, 0.766E-02 - +, 0.315E+00, 0.516E+00, 0.598E-01, 0.995E-01 - +, 0.507E-03, 0.778E-03, 0.378E-06, 0.253E-01 - +, 0.871E+00, 0.507E-02, 0.978E-01, 0.503E-03 - +, 0.000E+00, 0.324E-01, 0.877E-01, 0.778E+00 - +, 0.641E-02, 0.965E-02, 0.855E-01, 0.634E-03, 0.0 / - DATA (TMP(J, 50),J=1,ISHLS) / - + 0.289E+00, 0.541E+00, 0.489E-01, 0.948E-01 - +, 0.884E-02, 0.171E-01, 0.580E-03, 0.776E-02 - +, 0.314E+00, 0.511E+00, 0.614E-01, 0.101E+00 - +, 0.140E-02, 0.218E-02, 0.439E-06, 0.249E-01 - +, 0.865E+00, 0.510E-02, 0.104E+00, 0.574E-03 - +, 0.000E+00, 0.322E-01, 0.870E-01, 0.772E+00 - +, 0.651E-02, 0.103E-01, 0.914E-01, 0.732E-03, 0.0 / - DATA (TMP(J, 51),J=1,ISHLS) / - + 0.289E+00, 0.540E+00, 0.492E-01, 0.953E-01 - +, 0.915E-02, 0.177E-01, 0.541E-03, 0.787E-02 - +, 0.313E+00, 0.505E+00, 0.629E-01, 0.103E+00 - +, 0.260E-02, 0.406E-02, 0.511E-06, 0.245E-01 - +, 0.859E+00, 0.513E-02, 0.111E+00, 0.634E-03 - +, 0.000E+00, 0.321E-01, 0.864E-01, 0.766E+00 - +, 0.661E-02, 0.109E-01, 0.967E-01, 0.816E-03, 0.0 / - DATA (TMP(J, 52),J=1,ISHLS) / - + 0.289E+00, 0.537E+00, 0.496E-01, 0.961E-01 - +, 0.945E-02, 0.183E-01, 0.505E-03, 0.800E-02 - +, 0.312E+00, 0.500E+00, 0.642E-01, 0.105E+00 - +, 0.404E-02, 0.631E-02, 0.593E-06, 0.242E-01 - +, 0.854E+00, 0.516E-02, 0.116E+00, 0.688E-03 - +, 0.000E+00, 0.320E-01, 0.859E-01, 0.762E+00 - +, 0.672E-02, 0.114E-01, 0.102E+00, 0.894E-03, 0.0 / - DATA (TMP(J, 53),J=1,ISHLS) / - + 0.289E+00, 0.536E+00, 0.499E-01, 0.967E-01 - +, 0.974E-02, 0.189E-01, 0.473E-03, 0.816E-02 - +, 0.311E+00, 0.494E+00, 0.656E-01, 0.107E+00 - +, 0.571E-02, 0.891E-02, 0.688E-06, 0.240E-01 - +, 0.849E+00, 0.519E-02, 0.121E+00, 0.738E-03 - +, 0.000E+00, 0.319E-01, 0.854E-01, 0.757E+00 - +, 0.683E-02, 0.119E-01, 0.106E+00, 0.968E-03, 0.0 / - DATA (TMP(J, 54),J=1,ISHLS) / - + 0.289E+00, 0.534E+00, 0.502E-01, 0.973E-01 - +, 0.100E-01, 0.195E-01, 0.442E-03, 0.833E-02 - +, 0.309E+00, 0.488E+00, 0.667E-01, 0.108E+00 - +, 0.759E-02, 0.118E-01, 0.792E-06, 0.237E-01 - +, 0.844E+00, 0.523E-02, 0.126E+00, 0.784E-03 - +, 0.000E+00, 0.319E-01, 0.849E-01, 0.753E+00 - +, 0.694E-02, 0.123E-01, 0.110E+00, 0.104E-02, 0.0 / - DATA (TMP(J, 55),J=1,ISHLS) / - + 0.288E+00, 0.533E+00, 0.505E-01, 0.978E-01 - +, 0.103E-01, 0.200E-01, 0.415E-03, 0.853E-02 - +, 0.309E+00, 0.482E+00, 0.679E-01, 0.109E+00 - +, 0.900E-02, 0.142E-01, 0.915E-06, 0.235E-01 - +, 0.840E+00, 0.526E-02, 0.130E+00, 0.857E-03 - +, 0.000E+00, 0.319E-01, 0.845E-01, 0.749E+00 - +, 0.706E-02, 0.128E-01, 0.114E+00, 0.115E-02, 0.0 / - DATA (TMP(J, 56),J=1,ISHLS) / - + 0.289E+00, 0.531E+00, 0.508E-01, 0.984E-01 - +, 0.106E-01, 0.206E-01, 0.391E-03, 0.876E-02 - +, 0.308E+00, 0.477E+00, 0.692E-01, 0.110E+00 - +, 0.103E-01, 0.162E-01, 0.105E-05, 0.232E-01 - +, 0.836E+00, 0.529E-02, 0.135E+00, 0.928E-03 - +, 0.000E+00, 0.320E-01, 0.841E-01, 0.745E+00 - +, 0.718E-02, 0.132E-01, 0.118E+00, 0.126E-02, 0.0 / - DATA (TMP(J, 57),J=1,ISHLS) / - + 0.289E+00, 0.530E+00, 0.510E-01, 0.989E-01 - +, 0.108E-01, 0.211E-01, 0.368E-03, 0.903E-02 - +, 0.308E+00, 0.472E+00, 0.705E-01, 0.112E+00 - +, 0.112E-01, 0.175E-01, 0.121E-05, 0.229E-01 - +, 0.831E+00, 0.531E-02, 0.139E+00, 0.980E-03 - +, 0.108E-02, 0.320E-01, 0.836E-01, 0.740E+00 - +, 0.730E-02, 0.135E-01, 0.121E+00, 0.134E-02, 0.103E-02 / - DATA (TMP(J, 58),J=1,ISHLS) / - + 0.288E+00, 0.529E+00, 0.514E-01, 0.995E-01 - +, 0.109E-01, 0.212E-01, 0.348E-03, 0.938E-02 - +, 0.310E+00, 0.471E+00, 0.710E-01, 0.111E+00 - +, 0.104E-01, 0.161E-01, 0.140E-05, 0.229E-01 - +, 0.833E+00, 0.530E-02, 0.138E+00, 0.927E-03 - +, 0.000E+00, 0.323E-01, 0.839E-01, 0.742E+00 - +, 0.736E-02, 0.135E-01, 0.120E+00, 0.128E-02, 0.0 / - DATA (TMP(J, 59),J=1,ISHLS) / - + 0.289E+00, 0.527E+00, 0.517E-01, 0.100E+00 - +, 0.110E-01, 0.214E-01, 0.330E-03, 0.973E-02 - +, 0.311E+00, 0.469E+00, 0.718E-01, 0.112E+00 - +, 0.105E-01, 0.160E-01, 0.161E-05, 0.228E-01 - +, 0.831E+00, 0.532E-02, 0.140E+00, 0.922E-03 - +, 0.000E+00, 0.325E-01, 0.838E-01, 0.740E+00 - +, 0.745E-02, 0.136E-01, 0.121E+00, 0.129E-02, 0.0 / - DATA (TMP(J, 60),J=1,ISHLS) / - + 0.289E+00, 0.526E+00, 0.520E-01, 0.101E+00 - +, 0.112E-01, 0.217E-01, 0.313E-03, 0.101E-01 - +, 0.313E+00, 0.466E+00, 0.725E-01, 0.112E+00 - +, 0.105E-01, 0.158E-01, 0.185E-05, 0.227E-01 - +, 0.830E+00, 0.532E-02, 0.141E+00, 0.918E-03 - +, 0.000E+00, 0.327E-01, 0.834E-01, 0.740E+00 - +, 0.753E-02, 0.136E-01, 0.122E+00, 0.129E-02, 0.0 / - DATA (TMP(J, 61),J=1,ISHLS) / - + 0.289E+00, 0.524E+00, 0.522E-01, 0.101E+00 - +, 0.113E-01, 0.219E-01, 0.297E-03, 0.105E-01 - +, 0.314E+00, 0.463E+00, 0.732E-01, 0.112E+00 - +, 0.105E-01, 0.156E-01, 0.213E-05, 0.226E-01 - +, 0.830E+00, 0.532E-02, 0.142E+00, 0.912E-03 - +, 0.000E+00, 0.330E-01, 0.834E-01, 0.739E+00 - +, 0.761E-02, 0.137E-01, 0.122E+00, 0.130E-02, 0.0 / - DATA (TMP(J, 62),J=1,ISHLS) / - + 0.289E+00, 0.523E+00, 0.525E-01, 0.101E+00 - +, 0.114E-01, 0.221E-01, 0.283E-03, 0.110E-01 - +, 0.316E+00, 0.461E+00, 0.740E-01, 0.112E+00 - +, 0.105E-01, 0.155E-01, 0.243E-05, 0.225E-01 - +, 0.829E+00, 0.531E-02, 0.142E+00, 0.905E-03 - +, 0.000E+00, 0.333E-01, 0.835E-01, 0.737E+00 - +, 0.772E-02, 0.138E-01, 0.123E+00, 0.131E-02, 0.0 / - DATA (TMP(J, 63),J=1,ISHLS) / - + 0.289E+00, 0.522E+00, 0.527E-01, 0.102E+00 - +, 0.115E-01, 0.223E-01, 0.269E-03, 0.115E-01 - +, 0.318E+00, 0.458E+00, 0.747E-01, 0.112E+00 - +, 0.104E-01, 0.153E-01, 0.277E-05, 0.224E-01 - +, 0.828E+00, 0.532E-02, 0.143E+00, 0.898E-03 - +, 0.000E+00, 0.335E-01, 0.832E-01, 0.737E+00 - +, 0.779E-02, 0.138E-01, 0.123E+00, 0.131E-02, 0.0 / - DATA (TMP(J, 64),J=1,ISHLS) / - + 0.290E+00, 0.521E+00, 0.529E-01, 0.102E+00 - +, 0.116E-01, 0.226E-01, 0.257E-03, 0.120E-01 - +, 0.318E+00, 0.454E+00, 0.755E-01, 0.112E+00 - +, 0.111E-01, 0.161E-01, 0.315E-05, 0.223E-01 - +, 0.826E+00, 0.533E-02, 0.145E+00, 0.933E-03 - +, 0.865E-03, 0.338E-01, 0.830E-01, 0.734E+00 - +, 0.790E-02, 0.139E-01, 0.125E+00, 0.138E-02, 0.798E-03 / - DATA (TMP(J, 65),J=1,ISHLS) / - + 0.290E+00, 0.520E+00, 0.532E-01, 0.103E+00 - +, 0.117E-01, 0.226E-01, 0.245E-03, 0.126E-01 - +, 0.321E+00, 0.453E+00, 0.760E-01, 0.112E+00 - +, 0.104E-01, 0.148E-01, 0.360E-05, 0.223E-01 - +, 0.827E+00, 0.532E-02, 0.144E+00, 0.887E-03 - +, 0.000E+00, 0.342E-01, 0.832E-01, 0.735E+00 - +, 0.799E-02, 0.139E-01, 0.124E+00, 0.133E-02, 0.0 / - DATA (TMP(J, 66),J=1,ISHLS) / - + 0.290E+00, 0.519E+00, 0.534E-01, 0.103E+00 - +, 0.118E-01, 0.228E-01, 0.234E-03, 0.133E-01 - +, 0.323E+00, 0.450E+00, 0.768E-01, 0.112E+00 - +, 0.104E-01, 0.146E-01, 0.409E-05, 0.223E-01 - +, 0.827E+00, 0.534E-02, 0.145E+00, 0.880E-03 - +, 0.000E+00, 0.346E-01, 0.832E-01, 0.735E+00 - +, 0.809E-02, 0.139E-01, 0.124E+00, 0.133E-02, 0.0 / - DATA (TMP(J, 67),J=1,ISHLS) / - + 0.291E+00, 0.517E+00, 0.536E-01, 0.104E+00 - +, 0.118E-01, 0.229E-01, 0.224E-03, 0.139E-01 - +, 0.325E+00, 0.447E+00, 0.774E-01, 0.111E+00 - +, 0.104E-01, 0.144E-01, 0.465E-05, 0.222E-01 - +, 0.826E+00, 0.534E-02, 0.146E+00, 0.876E-03 - +, 0.000E+00, 0.349E-01, 0.831E-01, 0.734E+00 - +, 0.819E-02, 0.139E-01, 0.125E+00, 0.134E-02, 0.0 / - DATA (TMP(J, 68),J=1,ISHLS) / - + 0.291E+00, 0.516E+00, 0.538E-01, 0.104E+00 - +, 0.119E-01, 0.230E-01, 0.214E-03, 0.147E-01 - +, 0.327E+00, 0.445E+00, 0.780E-01, 0.111E+00 - +, 0.104E-01, 0.142E-01, 0.527E-05, 0.222E-01 - +, 0.826E+00, 0.534E-02, 0.146E+00, 0.871E-03 - +, 0.000E+00, 0.353E-01, 0.830E-01, 0.734E+00 - +, 0.830E-02, 0.139E-01, 0.125E+00, 0.134E-02, 0.0 / - DATA (TMP(J, 69),J=1,ISHLS) / - + 0.291E+00, 0.515E+00, 0.540E-01, 0.104E+00 - +, 0.120E-01, 0.232E-01, 0.205E-03, 0.155E-01 - +, 0.329E+00, 0.442E+00, 0.788E-01, 0.111E+00 - +, 0.104E-01, 0.140E-01, 0.598E-05, 0.222E-01 - +, 0.825E+00, 0.535E-02, 0.146E+00, 0.866E-03 - +, 0.000E+00, 0.357E-01, 0.830E-01, 0.733E+00 - +, 0.840E-02, 0.140E-01, 0.125E+00, 0.135E-02, 0.0 / - DATA (TMP(J, 70),J=1,ISHLS) / - + 0.292E+00, 0.514E+00, 0.542E-01, 0.105E+00 - +, 0.121E-01, 0.233E-01, 0.197E-03, 0.163E-01 - +, 0.331E+00, 0.439E+00, 0.794E-01, 0.110E+00 - +, 0.104E-01, 0.138E-01, 0.677E-05, 0.221E-01 - +, 0.825E+00, 0.536E-02, 0.147E+00, 0.861E-03 - +, 0.000E+00, 0.361E-01, 0.828E-01, 0.732E+00 - +, 0.851E-02, 0.140E-01, 0.125E+00, 0.136E-02, 0.0 / - DATA (TMP(J, 71),J=1,ISHLS) / - + 0.292E+00, 0.513E+00, 0.543E-01, 0.105E+00 - +, 0.121E-01, 0.235E-01, 0.189E-03, 0.172E-01 - +, 0.332E+00, 0.435E+00, 0.801E-01, 0.110E+00 - +, 0.110E-01, 0.145E-01, 0.765E-05, 0.221E-01 - +, 0.823E+00, 0.537E-02, 0.148E+00, 0.890E-03 - +, 0.649E-03, 0.365E-01, 0.827E-01, 0.730E+00 - +, 0.863E-02, 0.140E-01, 0.126E+00, 0.142E-02, 0.572E-03 / - DATA (TMP(J, 72),J=1,ISHLS) / - + 0.293E+00, 0.512E+00, 0.545E-01, 0.105E+00 - +, 0.122E-01, 0.237E-01, 0.181E-03, 0.181E-01 - +, 0.334E+00, 0.430E+00, 0.810E-01, 0.110E+00 - +, 0.116E-01, 0.152E-01, 0.858E-05, 0.220E-01 - +, 0.821E+00, 0.539E-02, 0.149E+00, 0.921E-03 - +, 0.160E-02, 0.369E-01, 0.825E-01, 0.728E+00 - +, 0.875E-02, 0.141E-01, 0.127E+00, 0.149E-02, 0.142E-02 / - DATA (TMP(J, 73),J=1,ISHLS) / - + 0.293E+00, 0.511E+00, 0.546E-01, 0.106E+00 - +, 0.124E-01, 0.239E-01, 0.174E-03, 0.191E-01 - +, 0.335E+00, 0.426E+00, 0.818E-01, 0.110E+00 - +, 0.122E-01, 0.158E-01, 0.968E-05, 0.220E-01 - +, 0.818E+00, 0.539E-02, 0.151E+00, 0.950E-03 - +, 0.278E-02, 0.373E-01, 0.822E-01, 0.726E+00 - +, 0.888E-02, 0.142E-01, 0.127E+00, 0.156E-02, 0.250E-02 / - DATA (TMP(J, 74),J=1,ISHLS) / - + 0.293E+00, 0.509E+00, 0.548E-01, 0.106E+00 - +, 0.125E-01, 0.242E-01, 0.167E-03, 0.202E-01 - +, 0.337E+00, 0.421E+00, 0.826E-01, 0.110E+00 - +, 0.128E-01, 0.165E-01, 0.109E-04, 0.219E-01 - +, 0.816E+00, 0.541E-02, 0.152E+00, 0.980E-03 - +, 0.420E-02, 0.377E-01, 0.820E-01, 0.723E+00 - +, 0.901E-02, 0.143E-01, 0.128E+00, 0.162E-02, 0.377E-02 / - DATA (TMP(J, 75),J=1,ISHLS) / - + 0.294E+00, 0.508E+00, 0.549E-01, 0.106E+00 - +, 0.126E-01, 0.244E-01, 0.161E-03, 0.213E-01 - +, 0.338E+00, 0.417E+00, 0.835E-01, 0.109E+00 - +, 0.134E-01, 0.170E-01, 0.122E-04, 0.219E-01 - +, 0.813E+00, 0.543E-02, 0.153E+00, 0.101E-02 - +, 0.581E-02, 0.381E-01, 0.817E-01, 0.721E+00 - +, 0.914E-02, 0.144E-01, 0.129E+00, 0.169E-02, 0.522E-02 / - DATA (TMP(J, 76),J=1,ISHLS) / - + 0.294E+00, 0.507E+00, 0.550E-01, 0.106E+00 - +, 0.127E-01, 0.246E-01, 0.155E-03, 0.225E-01 - +, 0.340E+00, 0.412E+00, 0.844E-01, 0.109E+00 - +, 0.140E-01, 0.176E-01, 0.137E-04, 0.218E-01 - +, 0.810E+00, 0.544E-02, 0.154E+00, 0.104E-02 - +, 0.762E-02, 0.384E-01, 0.814E-01, 0.718E+00 - +, 0.928E-02, 0.145E-01, 0.130E+00, 0.176E-02, 0.684E-02 / - DATA (TMP(J, 77),J=1,ISHLS) / - + 0.295E+00, 0.506E+00, 0.552E-01, 0.107E+00 - +, 0.128E-01, 0.249E-01, 0.149E-03, 0.239E-01 - +, 0.342E+00, 0.408E+00, 0.854E-01, 0.109E+00 - +, 0.144E-01, 0.178E-01, 0.153E-04, 0.217E-01 - +, 0.806E+00, 0.545E-02, 0.155E+00, 0.105E-02 - +, 0.109E-01, 0.388E-01, 0.810E-01, 0.714E+00 - +, 0.940E-02, 0.145E-01, 0.131E+00, 0.181E-02, 0.958E-02 / - DATA (TMP(J, 78),J=1,ISHLS) / - + 0.295E+00, 0.505E+00, 0.553E-01, 0.107E+00 - +, 0.129E-01, 0.251E-01, 0.144E-03, 0.253E-01 - +, 0.343E+00, 0.403E+00, 0.863E-01, 0.109E+00 - +, 0.151E-01, 0.184E-01, 0.172E-04, 0.217E-01 - +, 0.803E+00, 0.547E-02, 0.157E+00, 0.109E-02 - +, 0.125E-01, 0.393E-01, 0.807E-01, 0.711E+00 - +, 0.955E-02, 0.146E-01, 0.132E+00, 0.188E-02, 0.111E-01 / - DATA (TMP(J, 79),J=1,ISHLS) / - + 0.296E+00, 0.503E+00, 0.554E-01, 0.107E+00 - +, 0.130E-01, 0.254E-01, 0.140E-03, 0.270E-01 - +, 0.348E+00, 0.392E+00, 0.881E-01, 0.110E+00 - +, 0.158E-01, 0.190E-01, 0.192E-04, 0.216E-01 - +, 0.799E+00, 0.549E-02, 0.158E+00, 0.111E-02 - +, 0.148E-01, 0.397E-01, 0.803E-01, 0.708E+00 - +, 0.969E-02, 0.147E-01, 0.132E+00, 0.195E-02, 0.131E-01 / - DATA (TMP(J, 80),J=1,ISHLS) / - + 0.296E+00, 0.502E+00, 0.555E-01, 0.107E+00 - +, 0.131E-01, 0.256E-01, 0.133E-03, 0.283E-01 - +, 0.347E+00, 0.393E+00, 0.882E-01, 0.108E+00 - +, 0.163E-01, 0.194E-01, 0.214E-04, 0.216E-01 - +, 0.796E+00, 0.551E-02, 0.159E+00, 0.114E-02 - +, 0.165E-01, 0.401E-01, 0.801E-01, 0.705E+00 - +, 0.984E-02, 0.147E-01, 0.133E+00, 0.203E-02, 0.147E-01 / - DATA (TMP(J, 81),J=1,ISHLS) / - + 0.297E+00, 0.501E+00, 0.556E-01, 0.108E+00 - +, 0.132E-01, 0.259E-01, 0.129E-03, 0.301E-01 - +, 0.348E+00, 0.388E+00, 0.891E-01, 0.108E+00 - +, 0.170E-01, 0.200E-01, 0.240E-04, 0.215E-01 - +, 0.793E+00, 0.553E-02, 0.160E+00, 0.117E-02 - +, 0.183E-01, 0.406E-01, 0.798E-01, 0.703E+00 - +, 0.999E-02, 0.148E-01, 0.134E+00, 0.210E-02, 0.163E-01 / - DATA (TMP(J, 82),J=1,ISHLS) / - + 0.297E+00, 0.500E+00, 0.557E-01, 0.108E+00 - +, 0.133E-01, 0.261E-01, 0.124E-03, 0.319E-01 - +, 0.350E+00, 0.382E+00, 0.901E-01, 0.107E+00 - +, 0.176E-01, 0.206E-01, 0.267E-04, 0.215E-01 - +, 0.790E+00, 0.555E-02, 0.161E+00, 0.120E-02 - +, 0.200E-01, 0.411E-01, 0.795E-01, 0.700E+00 - +, 0.101E-01, 0.149E-01, 0.135E+00, 0.218E-02, 0.179E-01 / - DATA (TMP(J, 83),J=1,ISHLS) / - + 0.298E+00, 0.498E+00, 0.557E-01, 0.108E+00 - +, 0.134E-01, 0.263E-01, 0.120E-03, 0.338E-01 - +, 0.352E+00, 0.377E+00, 0.910E-01, 0.107E+00 - +, 0.183E-01, 0.212E-01, 0.298E-04, 0.215E-01 - +, 0.787E+00, 0.557E-02, 0.163E+00, 0.123E-02 - +, 0.216E-01, 0.415E-01, 0.792E-01, 0.697E+00 - +, 0.103E-01, 0.150E-01, 0.135E+00, 0.226E-02, 0.194E-01 / - DATA (TMP(J, 84),J=1,ISHLS) / - + 0.299E+00, 0.497E+00, 0.558E-01, 0.108E+00 - +, 0.135E-01, 0.266E-01, 0.116E-03, 0.358E-01 - +, 0.354E+00, 0.371E+00, 0.921E-01, 0.106E+00 - +, 0.190E-01, 0.218E-01, 0.332E-04, 0.214E-01 - +, 0.785E+00, 0.560E-02, 0.164E+00, 0.126E-02 - +, 0.232E-01, 0.420E-01, 0.789E-01, 0.694E+00 - +, 0.105E-01, 0.150E-01, 0.136E+00, 0.234E-02, 0.208E-01 / - DATA (TMP(J, 85),J=1,ISHLS) / - + 0.299E+00, 0.496E+00, 0.559E-01, 0.108E+00 - +, 0.135E-01, 0.268E-01, 0.112E-03, 0.381E-01 - +, 0.356E+00, 0.365E+00, 0.930E-01, 0.106E+00 - +, 0.197E-01, 0.223E-01, 0.369E-04, 0.214E-01 - +, 0.782E+00, 0.562E-02, 0.165E+00, 0.129E-02 - +, 0.247E-01, 0.426E-01, 0.786E-01, 0.692E+00 - +, 0.106E-01, 0.151E-01, 0.137E+00, 0.243E-02, 0.222E-01 / - DATA (TMP(J, 86),J=1,ISHLS) / - + 0.300E+00, 0.495E+00, 0.560E-01, 0.109E+00 - +, 0.136E-01, 0.270E-01, 0.108E-03, 0.405E-01 - +, 0.358E+00, 0.360E+00, 0.940E-01, 0.105E+00 - +, 0.204E-01, 0.227E-01, 0.411E-04, 0.214E-01 - +, 0.779E+00, 0.565E-02, 0.166E+00, 0.133E-02 - +, 0.262E-01, 0.431E-01, 0.783E-01, 0.689E+00 - +, 0.108E-01, 0.151E-01, 0.138E+00, 0.251E-02, 0.235E-01 / - DATA (TMP(J, 87),J=1,ISHLS) / - + 0.301E+00, 0.493E+00, 0.560E-01, 0.109E+00 - +, 0.137E-01, 0.273E-01, 0.105E-03, 0.430E-01 - +, 0.360E+00, 0.354E+00, 0.951E-01, 0.104E+00 - +, 0.211E-01, 0.232E-01, 0.457E-04, 0.214E-01 - +, 0.776E+00, 0.568E-02, 0.167E+00, 0.136E-02 - +, 0.276E-01, 0.437E-01, 0.781E-01, 0.687E+00 - +, 0.110E-01, 0.152E-01, 0.138E+00, 0.260E-02, 0.248E-01 / - DATA (TMP(J, 88),J=1,ISHLS) / - + 0.301E+00, 0.492E+00, 0.561E-01, 0.109E+00 - +, 0.138E-01, 0.275E-01, 0.101E-03, 0.456E-01 - +, 0.362E+00, 0.348E+00, 0.960E-01, 0.103E+00 - +, 0.218E-01, 0.236E-01, 0.508E-04, 0.214E-01 - +, 0.774E+00, 0.571E-02, 0.168E+00, 0.139E-02 - +, 0.291E-01, 0.425E-01, 0.779E-01, 0.685E+00 - +, 0.112E-01, 0.153E-01, 0.139E+00, 0.269E-02, 0.261E-01 / - DATA (TMP(J, 89),J=1,ISHLS) / - + 0.302E+00, 0.491E+00, 0.561E-01, 0.109E+00 - +, 0.139E-01, 0.277E-01, 0.978E-04, 0.485E-01 - +, 0.364E+00, 0.341E+00, 0.971E-01, 0.103E+00 - +, 0.224E-01, 0.240E-01, 0.564E-04, 0.215E-01 - +, 0.771E+00, 0.574E-02, 0.170E+00, 0.142E-02 - +, 0.305E-01, 0.448E-01, 0.775E-01, 0.681E+00 - +, 0.113E-01, 0.153E-01, 0.140E+00, 0.277E-02, 0.272E-01 / - DATA (TMP(J, 90),J=1,ISHLS) / - + 0.303E+00, 0.490E+00, 0.561E-01, 0.109E+00 - +, 0.139E-01, 0.280E-01, 0.946E-04, 0.515E-01 - +, 0.366E+00, 0.335E+00, 0.981E-01, 0.102E+00 - +, 0.231E-01, 0.243E-01, 0.626E-04, 0.215E-01 - +, 0.769E+00, 0.577E-02, 0.171E+00, 0.145E-02 - +, 0.319E-01, 0.454E-01, 0.773E-01, 0.679E+00 - +, 0.115E-01, 0.153E-01, 0.140E+00, 0.286E-02, 0.284E-01 / - DATA (TMP(J, 91),J=1,ISHLS) / - + 0.304E+00, 0.488E+00, 0.562E-01, 0.110E+00 - +, 0.140E-01, 0.282E-01, 0.913E-04, 0.547E-01 - +, 0.368E+00, 0.329E+00, 0.991E-01, 0.101E+00 - +, 0.237E-01, 0.244E-01, 0.695E-04, 0.215E-01 - +, 0.766E+00, 0.580E-02, 0.172E+00, 0.147E-02 - +, 0.326E-01, 0.460E-01, 0.770E-01, 0.677E+00 - +, 0.117E-01, 0.154E-01, 0.141E+00, 0.294E-02, 0.290E-01 / - DATA (TMP(J, 92),J=1,ISHLS) / - + 0.304E+00, 0.487E+00, 0.562E-01, 0.110E+00 - +, 0.140E-01, 0.284E-01, 0.882E-04, 0.582E-01 - +, 0.371E+00, 0.322E+00, 0.100E+00, 0.997E-01 - +, 0.243E-01, 0.245E-01, 0.772E-04, 0.215E-01 - +, 0.764E+00, 0.584E-02, 0.173E+00, 0.150E-02 - +, 0.335E-01, 0.466E-01, 0.768E-01, 0.675E+00 - +, 0.119E-01, 0.154E-01, 0.142E+00, 0.302E-02, 0.299E-01 / - DATA (TMP(J, 93),J=1,ISHLS) / - + 0.305E+00, 0.486E+00, 0.562E-01, 0.110E+00 - +, 0.141E-01, 0.286E-01, 0.852E-04, 0.619E-01 - +, 0.373E+00, 0.316E+00, 0.101E+00, 0.987E-01 - +, 0.249E-01, 0.246E-01, 0.855E-04, 0.216E-01 - +, 0.762E+00, 0.587E-02, 0.174E+00, 0.153E-02 - +, 0.344E-01, 0.473E-01, 0.766E-01, 0.673E+00 - +, 0.121E-01, 0.155E-01, 0.142E+00, 0.310E-02, 0.304E-01 / - DATA (TMP(J, 94),J=1,ISHLS) / - + 0.306E+00, 0.484E+00, 0.561E-01, 0.110E+00 - +, 0.141E-01, 0.298E-01, 0.822E-04, 0.658E-01 - +, 0.376E+00, 0.309E+00, 0.102E+00, 0.974E-01 - +, 0.254E-01, 0.246E-01, 0.949E-04, 0.216E-01 - +, 0.760E+00, 0.591E-02, 0.175E+00, 0.155E-02 - +, 0.351E-01, 0.480E-01, 0.764E-01, 0.671E+00 - +, 0.123E-01, 0.156E-01, 0.143E+00, 0.318E-02, 0.308E-01 / - DATA (TMP(J, 95),J=1,ISHLS) / - + 0.307E+00, 0.483E+00, 0.562E-01, 0.110E+00 - +, 0.142E-01, 0.291E-01, 0.793E-04, 0.700E-01 - +, 0.378E+00, 0.302E+00, 0.103E+00, 0.962E-01 - +, 0.259E-01, 0.245E-01, 0.105E-03, 0.216E-01 - +, 0.758E+00, 0.595E-02, 0.176E+00, 0.158E-02 - +, 0.359E-01, 0.486E-01, 0.763E-01, 0.669E+00 - +, 0.125E-01, 0.156E-01, 0.143E+00, 0.326E-02, 0.314E-01 / - DATA (TMP(J, 96),J=1,ISHLS) / - + 0.308E+00, 0.482E+00, 0.562E-01, 0.111E+00 - +, 0.142E-01, 0.293E-01, 0.764E-04, 0.745E-01 - +, 0.381E+00, 0.295E+00, 0.104E+00, 0.948E-01 - +, 0.265E-01, 0.245E-01, 0.116E-03, 0.217E-01 - +, 0.756E+00, 0.598E-02, 0.178E+00, 0.160E-02 - +, 0.369E-01, 0.493E-01, 0.761E-01, 0.667E+00 - +, 0.127E-01, 0.156E-01, 0.144E+00, 0.335E-02, 0.322E-01 / - DATA (TMP(J, 97),J=1,ISHLS) / - + 0.309E+00, 0.481E+00, 0.561E-01, 0.111E+00 - +, 0.143E-01, 0.295E-01, 0.736E-04, 0.792E-01 - +, 0.383E+00, 0.287E+00, 0.106E+00, 0.934E-01 - +, 0.271E-01, 0.244E-01, 0.129E-03, 0.218E-01 - +, 0.754E+00, 0.603E-02, 0.179E+00, 0.163E-02 - +, 0.376E-01, 0.500E-01, 0.757E-01, 0.665E+00 - +, 0.129E-01, 0.157E-01, 0.144E+00, 0.343E-02, 0.327E-01 / - DATA (TMP(J, 98),J=1,ISHLS) / - + 0.310E+00, 0.479E+00, 0.561E-01, 0.111E+00 - +, 0.143E-01, 0.297E-01, 0.708E-04, 0.843E-01 - +, 0.386E+00, 0.280E+00, 0.106E+00, 0.919E-01 - +, 0.276E-01, 0.242E-01, 0.143E-03, 0.218E-01 - +, 0.752E+00, 0.607E-02, 0.180E+00, 0.165E-02 - +, 0.381E-01, 0.507E-01, 0.756E-01, 0.664E+00 - +, 0.131E-01, 0.157E-01, 0.145E+00, 0.351E-02, 0.330E-01 / - DATA (TMP(J, 99),J=1,ISHLS) / - + 0.311E+00, 0.478E+00, 0.561E-01, 0.111E+00 - +, 0.143E-01, 0.299E-01, 0.679E-04, 0.897E-01 - +, 0.388E+00, 0.272E+00, 0.107E+00, 0.903E-01 - +, 0.281E-01, 0.240E-01, 0.158E-03, 0.219E-01 - +, 0.751E+00, 0.611E-02, 0.181E+00, 0.168E-02 - +, 0.388E-01, 0.515E-01, 0.754E-01, 0.662E+00 - +, 0.133E-01, 0.157E-01, 0.145E+00, 0.359E-02, 0.335E-01 / - DATA (TMP(J,100),J=1,ISHLS) / - + 0.312E+00, 0.477E+00, 0.560E-01, 0.111E+00 - +, 0.144E-01, 0.301E-01, 0.650E-04, 0.954E-01 - +, 0.391E+00, 0.264E+00, 0.108E+00, 0.885E-01 - +, 0.286E-01, 0.238E-01, 0.175E-03, 0.220E-01 - +, 0.749E+00, 0.616E-02, 0.182E+00, 0.170E-02 - +, 0.395E-01, 0.522E-01, 0.752E-01, 0.660E+00 - +, 0.135E-01, 0.158E-01, 0.146E+00, 0.367E-02, 0.339E-01 / -C - DATA (TMP1(I, 1),I=1,4) / 4*0.0 / - DATA (TMP1(I, 2),I=1,4) / 4*0.0 / - DATA (TMP1(I, 3),I=1,4) / 4*0.0 / - DATA (TMP1(I, 4),I=1,4) / 4*0.0 / - DATA (TMP1(I, 5),I=1,4) / 0.170E-02, 3*0.0 / - DATA (TMP1(I, 6),I=1,4) / 0.280E-02, 3*0.0 / - DATA (TMP1(I, 7),I=1,4) / 0.520E-02, 3*0.0 / - DATA (TMP1(I, 8),I=1,4) / 0.830E-02, 3*0.0 / - DATA (TMP1(I, 9),I=1,4) / 0.130E-01, 3*0.0 / - DATA (TMP1(I, 10),I=1,4) / 0.180E-01, 3*0.0 / - DATA (TMP1(I, 11),I=1,4) / 0.230E-01, 3*0.0 / - DATA (TMP1(I, 12),I=1,4) / - + 0.300E-01, 0.290E-04, 0.120E-02, 0.120E-02 / - DATA (TMP1(I, 13),I=1,4) / - + 0.390E-01, 0.260E-04, 0.750E-03, 0.750E-03 / - DATA (TMP1(I, 14),I=1,4) / - + 0.500E-01, 0.300E-04, 0.370E-03, 0.380E-03 / - DATA (TMP1(I, 15),I=1,4) / - + 0.630E-01, 0.390E-04, 0.310E-03, 0.310E-03 / - DATA (TMP1(I, 16),I=1,4) / - + 0.780E-01, 0.740E-04, 0.260E-03, 0.260E-03 / - DATA (TMP1(I, 17),I=1,4) / - + 0.970E-01, 0.120E-03, 0.240E-03, 0.240E-03 / - DATA (TMP1(I, 18),I=1,4) / - + 0.118E+00, 0.180E-03, 0.220E-03, 0.220E-03 / - DATA (TMP1(I, 19),I=1,4) / - + 0.140E+00, 0.240E-03, 0.270E-03, 0.270E-03 / - DATA (TMP1(I, 20),I=1,4) / - + 0.163E+00, 0.310E-03, 0.330E-03, 0.330E-03 / - DATA (TMP1(I, 21),I=1,4) / - + 0.188E+00, 0.390E-03, 0.840E-03, 0.840E-03 / - DATA (TMP1(I, 22),I=1,4) / - + 0.214E+00, 0.470E-03, 0.150E-02, 0.150E-02 / - DATA (TMP1(I, 23),I=1,4) / - + 0.243E+00, 0.580E-03, 0.260E-02, 0.260E-02 / - DATA (TMP1(I, 24),I=1,4) / - + 0.275E+00, 0.710E-03, 0.370E-02, 0.370E-02 / - DATA (TMP1(I, 25),I=1,4) / - + 0.308E+00, 0.840E-03, 0.500E-02, 0.500E-02 / - DATA (TMP1(I, 26),I=1,4) / - + 0.340E+00, 0.100E-02, 0.630E-02, 0.630E-02 / - DATA (TMP1(I, 27),I=1,4) / - + 0.373E+00, 0.120E-02, 0.770E-02, 0.770E-02 / - DATA (TMP1(I, 28),I=1,4) / - + 0.406E+00, 0.140E-02, 0.860E-02, 0.930E-02 / - DATA (TMP1(I, 29),I=1,4) / - + 0.440E+00, 0.160E-02, 0.100E-01, 0.110E-01 / - DATA (TMP1(I, 30),I=1,4) / - + 0.474E+00, 0.180E-02, 0.110E-01, 0.120E-01 / - DATA (TMP1(I, 31),I=1,4) / - + 0.507E+00, 0.210E-02, 0.120E-01, 0.130E-01 / - DATA (TMP1(I, 32),I=1,4) / - + 0.535E+00, 0.240E-02, 0.130E-01, 0.150E-01 / - DATA (TMP1(I, 33),I=1,4) / - + 0.562E+00, 0.280E-02, 0.140E-01, 0.160E-01 / - DATA (TMP1(I, 34),I=1,4) / - + 0.589E+00, 0.320E-02, 0.160E-01, 0.180E-01 / - DATA (TMP1(I, 35),I=1,4) / - + 0.618E+00, 0.360E-02, 0.180E-01, 0.200E-01 / - DATA (TMP1(I, 36),I=1,4) / - + 0.643E+00, 0.410E-02, 0.200E-01, 0.220E-01 / - DATA (TMP1(I, 37),I=1,4) / - + 0.667E+00, 0.460E-02, 0.220E-01, 0.240E-01 / - DATA (TMP1(I, 38),I=1,4) / - + 0.690E+00, 0.510E-02, 0.240E-01, 0.260E-01 / - DATA (TMP1(I, 39),I=1,4) / - + 0.710E+00, 0.590E-02, 0.260E-01, 0.280E-01 / - DATA (TMP1(I, 40),I=1,4) / - + 0.730E+00, 0.680E-02, 0.280E-01, 0.310E-01 / - DATA (TMP1(I, 41),I=1,4) / - + 0.747E+00, 0.940E-02, 0.310E-01, 0.340E-01 / - DATA (TMP1(I, 42),I=1,4) / - + 0.765E+00, 0.100E-01, 0.340E-01, 0.370E-01 / - DATA (TMP1(I, 43),I=1,4) / - + 0.780E+00, 0.110E-01, 0.370E-01, 0.400E-01 / - DATA (TMP1(I, 44),I=1,4) / - + 0.794E+00, 0.120E-01, 0.400E-01, 0.430E-01 / - DATA (TMP1(I, 45),I=1,4) / - + 0.808E+00, 0.130E-01, 0.430E-01, 0.460E-01 / - DATA (TMP1(I, 46),I=1,4) / - + 0.820E+00, 0.140E-01, 0.470E-01, 0.490E-01 / - DATA (TMP1(I, 47),I=1,4) / - + 0.831E+00, 0.160E-01, 0.510E-01, 0.520E-01 / - DATA (TMP1(I, 48),I=1,4) / - + 0.843E+00, 0.180E-01, 0.560E-01, 0.560E-01 / - DATA (TMP1(I, 49),I=1,4) / - + 0.853E+00, 0.200E-01, 0.610E-01, 0.600E-01 / - DATA (TMP1(I, 50),I=1,4) / - + 0.862E+00, 0.370E-01, 0.650E-01, 0.640E-01 / - DATA (TMP1(I, 51),I=1,4) / - + 0.870E+00, 0.390E-01, 0.690E-01, 0.690E-01 / - DATA (TMP1(I, 52),I=1,4) / - + 0.877E+00, 0.410E-01, 0.740E-01, 0.740E-01 / - DATA (TMP1(I, 53),I=1,4) / - + 0.884E+00, 0.440E-01, 0.790E-01, 0.790E-01 / - DATA (TMP1(I, 54),I=1,4) / - + 0.891E+00, 0.460E-01, 0.830E-01, 0.850E-01 / - DATA (TMP1(I, 55),I=1,4) / - + 0.897E+00, 0.490E-01, 0.900E-01, 0.910E-01 / - DATA (TMP1(I, 56),I=1,4) / - + 0.902E+00, 0.520E-01, 0.960E-01, 0.970E-01 / - DATA (TMP1(I, 57),I=1,4) / - + 0.907E+00, 0.550E-01, 0.103E+00, 0.104E+00 / - DATA (TMP1(I, 58),I=1,4) / - + 0.912E+00, 0.580E-01, 0.110E+00, 0.111E+00 / - DATA (TMP1(I, 59),I=1,4) / - + 0.917E+00, 0.610E-01, 0.117E+00, 0.118E+00 / - DATA (TMP1(I, 60),I=1,4) / - + 0.921E+00, 0.640E-01, 0.124E+00, 0.125E+00 / - DATA (TMP1(I, 61),I=1,4) / - + 0.925E+00, 0.660E-01, 0.132E+00, 0.132E+00 / - DATA (TMP1(I, 62),I=1,4) / - + 0.929E+00, 0.710E-01, 0.140E+00, 0.139E+00 / - DATA (TMP1(I, 63),I=1,4) / - + 0.932E+00, 0.750E-01, 0.149E+00, 0.147E+00 / - DATA (TMP1(I, 64),I=1,4) / - + 0.935E+00, 0.790E-01, 0.158E+00, 0.155E+00 / - DATA (TMP1(I, 65),I=1,4) / - + 0.938E+00, 0.830E-01, 0.167E+00, 0.164E+00 / - DATA (TMP1(I, 66),I=1,4) / - + 0.941E+00, 0.890E-01, 0.178E+00, 0.174E+00 / - DATA (TMP1(I, 67),I=1,4) / - + 0.944E+00, 0.940E-01, 0.189E+00, 0.182E+00 / - DATA (TMP1(I, 68),I=1,4) / - + 0.947E+00, 0.100E+00, 0.200E+00, 0.192E+00 / - DATA (TMP1(I, 69),I=1,4) / - + 0.949E+00, 0.106E+00, 0.211E+00, 0.201E+00 / - DATA (TMP1(I, 70),I=1,4) / - + 0.951E+00, 0.112E+00, 0.222E+00, 0.210E+00 / - DATA (TMP1(I, 71),I=1,4) / - + 0.953E+00, 0.120E+00, 0.234E+00, 0.220E+00 / - DATA (TMP1(I, 72),I=1,4) / - + 0.955E+00, 0.128E+00, 0.246E+00, 0.231E+00 / - DATA (TMP1(I, 73),I=1,4) / - + 0.957E+00, 0.137E+00, 0.258E+00, 0.243E+00 / - DATA (TMP1(I, 74),I=1,4) / - + 0.958E+00, 0.147E+00, 0.270E+00, 0.255E+00 / - DATA (TMP1(I, 75),I=1,4) / - + 0.959E+00, 0.144E+00, 0.283E+00, 0.268E+00 / - DATA (TMP1(I, 76),I=1,4) / - + 0.961E+00, 0.130E+00, 0.295E+00, 0.281E+00 / - DATA (TMP1(I, 77),I=1,4) / - + 0.962E+00, 0.120E+00, 0.308E+00, 0.294E+00 / - DATA (TMP1(I, 78),I=1,4) / - + 0.963E+00, 0.114E+00, 0.321E+00, 0.306E+00 / - DATA (TMP1(I, 79),I=1,4) / - + 0.964E+00, 0.107E+00, 0.334E+00, 0.320E+00 / - DATA (TMP1(I, 80),I=1,4) / - + 0.965E+00, 0.107E+00, 0.347E+00, 0.333E+00 / - DATA (TMP1(I, 81),I=1,4) / - + 0.966E+00, 0.107E+00, 0.360E+00, 0.347E+00 / - DATA (TMP1(I, 82),I=1,4) / - + 0.967E+00, 0.112E+00, 0.373E+00, 0.360E+00 / - DATA (TMP1(I, 83),I=1,4) / - + 0.968E+00, 0.117E+00, 0.387E+00, 0.373E+00 / - DATA (TMP1(I, 84),I=1,4) / - + 0.968E+00, 0.122E+00, 0.401E+00, 0.386E+00 / - DATA (TMP1(I, 85),I=1,4) / - + 0.969E+00, 0.128E+00, 0.415E+00, 0.399E+00 / - DATA (TMP1(I, 86),I=1,4) / - + 0.969E+00, 0.134E+00, 0.429E+00, 0.411E+00 / - DATA (TMP1(I, 87),I=1,4) / - + 0.970E+00, 0.139E+00, 0.443E+00, 0.424E+00 / - DATA (TMP1(I, 88),I=1,4) / - + 0.970E+00, 0.146E+00, 0.456E+00, 0.437E+00 / - DATA (TMP1(I, 89),I=1,4) / - + 0.971E+00, 0.153E+00, 0.468E+00, 0.450E+00 / - DATA (TMP1(I, 90),I=1,4) / - + 0.971E+00, 0.161E+00, 0.479E+00, 0.463E+00 / - DATA (TMP1(I, 91),I=1,4) / - + 0.972E+00, 0.162E+00, 0.472E+00, 0.476E+00 / - DATA (TMP1(I, 92),I=1,4) / - + 0.972E+00, 0.176E+00, 0.467E+00, 0.489E+00 / - DATA (TMP1(I, 93),I=1,4) / - + 0.973E+00, 0.187E+00, 0.466E+00, 0.502E+00 / - DATA (TMP1(I, 94),I=1,4) / - + 0.973E+00, 0.205E+00, 0.464E+00, 0.514E+00 / - DATA (TMP1(I, 95),I=1,4) / - + 0.974E+00, 0.218E+00, 0.471E+00, 0.526E+00 / - DATA (TMP1(I, 96),I=1,4) / - + 0.974E+00, 0.228E+00, 0.479E+00, 0.539E+00 / - DATA (TMP1(I, 97),I=1,4) / - + 0.975E+00, 0.236E+00, 0.485E+00, 0.550E+00 / - DATA (TMP1(I, 98),I=1,4) / - + 0.975E+00, 0.244E+00, 0.490E+00, 0.560E+00 / - DATA (TMP1(I, 99),I=1,4) / - + 0.975E+00, 0.253E+00, 0.497E+00, 0.570E+00 / - DATA (TMP1(I,100),I=1,4) / - + 0.976E+00, 0.263E+00, 0.506E+00, 0.579E+00 / -C - DO 20 J = 1,MAXELZ - DO 10 I = 1,ISHLS - GPHRAT(I,J) = TMP(I,J) - 10 CONTINUE - 20 CONTINUE -C - DO 30 I = 1,29 - ISHLTR(I) = ITRN(I) - 30 CONTINUE -C - DO 40 I = 1,MAXELZ - GFLUPR(1,I) = TMP1(1,I) - GFLUPR(2,I) = TMP1(2,I) - GFLUPR(3,I) = TMP1(3,I) - GFLUPR(4,I) = TMP1(4,I) - 40 CONTINUE -C -C K shell decay mode - DO 50 I = 5,MAXELZ - IF(I.LT.8) THEN - IGNRFN(1,I) = 2 - IGNRFN(2,I) = 2 - ELSEIF(I.LT.81) THEN - IGNRFN(1,I) = 3 - IGNRFN(2,I) = 4 - ELSE - IGNRFN(1,I) = 3 - IGNRFN(2,I) = 3 - ENDIF - 50 CONTINUE -C L1 shell decay mode - DO 60 I = 11,MAXELZ - IGNRFN(3,I) = 4 - IF(I.LT.24) THEN - IGNRFN(4,I) = 5 - ELSEIF(I.LT.49) THEN - IGNRFN(4,I) = 9 - ELSEIF(I.LT.53) THEN - IGNRFN(4,I) = 10 - ELSE - IGNRFN(4,I) = 14 - ENDIF - 60 CONTINUE -C L2 shell decay mode - DO 70 I = 12,MAXELZ - IF(I.LT.13) THEN - IGNRFN(5,I) = 5 - IGNRFN(6,I) = 5 - ELSEIF(I.LT.16) THEN - IGNRFN(5,I) = 5 - IGNRFN(6,I) = 6 - ELSEIF(I.LT.29) THEN - IGNRFN(5,I) = 6 - IGNRFN(6,I) = 7 - ELSE - IGNRFN(5,I) = 8 - IGNRFN(6,I) = 9 - ENDIF - 70 CONTINUE -C L3 shell decay mode - DO 80 I = 12,MAXELZ - IF(I.LT.13) THEN - IGNRFN(7,I) = 5 - IGNRFN(8,I) = 5 - ELSEIF(I.LT.16) THEN - IGNRFN(7,I) = 5 - IGNRFN(8,I) = 7 - ELSEIF(I.LT.30) THEN - IGNRFN(7,I) = 7 - IGNRFN(8,I) = 7 - ELSE - IGNRFN(7,I) = 8 - IGNRFN(8,I) = 9 - ENDIF - 80 CONTINUE - END diff --git a/StarVMC/geant3/gphys/gphsg1.F b/StarVMC/geant3/gphys/gphsg1.F deleted file mode 100644 index 601485b61e6..00000000000 --- a/StarVMC/geant3/gphys/gphsg1.F +++ /dev/null @@ -1,81 +0,0 @@ -* -* $Id: gphsg1.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphsg1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:29 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - FUNCTION G3PHSG1(E) -C. -C. ****************************************************************** -C. * * -C. * FUNCTION TO COMPUTE THE PHOTOEFFECT TOTAL CROSS-SECTION * -C. * AS A FUNCTION OF E * -C. * * -C. * ==>CALLED BY : G3PHOTI * -C. * * -C. * (1) Sandia parametrizsation is used; * -C. * (2) GPHSG1 in cm**2/g. * -C. * (3) E in GeV * -C. * * -C. * J. Chwastowski 17.11.92 * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gc10ev.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION EINV,ECUR,ONE -#endif - PARAMETER (ONE=1) -C. -C. ------------------------------------------------------------------ -C. - RES = 0. - IF(E.LT.G10EV) GO TO 20 -C Use Sandia data - JPHXS = LQ(JPHOT-1) - IPOINT = JPHXS+Q(JPHXS+1)*3+2 - IMAX = Q(IPOINT) - IPOINT = IPOINT+1 - ECUR = E*1.E6 - IF(ECUR.LT.Q(IPOINT)) GO TO 20 - EINV = ONE/ECUR - DO 10 I = 2,IMAX - IPOINT = IPOINT+5 - IF(ECUR.LT.Q(IPOINT)) THEN - J = IPOINT+1 - RES = EINV*(Q(J)+EINV*(Q(J+1)+EINV*(Q(J+2)+EINV*Q(J+3)))) - GO TO 20 - ENDIF - 10 CONTINUE -C This value is in cm**2/g - 20 G3PHSG1 = MAX(RES,0.) -C - END diff --git a/StarVMC/geant3/gphys/gphsg2.F b/StarVMC/geant3/gphys/gphsg2.F deleted file mode 100644 index f3a3bdca76e..00000000000 --- a/StarVMC/geant3/gphys/gphsg2.F +++ /dev/null @@ -1,88 +0,0 @@ -* -* $Id: gphsg2.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphsg2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:30 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - FUNCTION G3PHSG2(E) -C. -C. ****************************************************************** -C. * * -C. * FUNCTION TO COMPUTE THE PHOTOEFFECT TOTAL CROSS-SECTION * -C. * AS A FUNCTION OF Z AND E * -C. * * -C. * ==>CALLED BY : special dE/dx * -C. * * -C. * (1) Sandia parametrizsation is used; * -C. * (2) G3PHSG2 in Megabarns * -C. * (3) E in GeV * -C. * * -C. * J. Chwastowski 31.03.93 * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gc10ev.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION EINV,ECUR,ONE,RES,ZERO -#endif - PARAMETER (ONE=1,ZERO=0) -C. -C. ------------------------------------------------------------------ -C. - RES = 0. - IF(E.LT.G10EV) GO TO 30 -C Use Sandia data - JPHXS = LQ(JPHOT-1) - NZ = Q(JPHXS+1) - ECUR = E*1E6 - EINV = ONE/ECUR - JWEIGH = JPHXS+2*NZ+1 - DO 20 JZ=1,NZ - JPHFN = LQ(JPHXS-JZ) - IPOINT = JPHFN+1 - IMAX = Q(IPOINT) - IPOINT = IPOINT-4 - DO 10 I = 1,IMAX - IPOINT = IPOINT+5 - IF(ECUR.LT.Q(IPOINT)) THEN - J = IPOINT+1 - RES = RES+Q(JWEIGH+JZ)* - + EINV*(Q(J)+EINV*(Q(J+1)+EINV*(Q(J+2)+EINV*Q(J+3)))) - GO TO 20 - ENDIF - 10 CONTINUE - 20 CONTINUE -C RES value is in cm**2/g -C Now in Megabarns - 30 G3PHSG2 = MAX(RES,ZERO)*A/AVO*1E-6 -C - END diff --git a/StarVMC/geant3/gphys/gphsgp.F b/StarVMC/geant3/gphys/gphsgp.F deleted file mode 100644 index b2ba776bd6a..00000000000 --- a/StarVMC/geant3/gphys/gphsgp.F +++ /dev/null @@ -1,90 +0,0 @@ -* -* $Id: gphsgp.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphsgp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:30 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - FUNCTION G3PHSGP(IELEM,E) -C. -C. ****************************************************************** -C. * * -C. * FUNCTION TO COMPUTE THE PHOTOEFFECT TOTAL CROSS-SECTION * -C. * AS A FUNCTION OF Z AND E * -C. * * -C. * ==>CALLED BY : special dE/dx * -C. * * -C. * (1) Sandia parametrizsation is used; * -C. * (2) G3PHSGP in cm**/g * -C. * (3) E in GeV * -C. * * -C. * J. Chwastowski 31.03.93 * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcunit.inc" -#include "geant321/gc10ev.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION EINV,ECUR,ONE -#endif - PARAMETER (ONE=1) -C. -C. ------------------------------------------------------------------ -C. - RES = 0. - IF(E.LT.G10EV) GO TO 20 -C Use Sandia data - JPHXS = LQ(JPHOT-1) - IF(IELEM.GT.IQ(JPHXS-2)) THEN - WRITE(CHMAIL,10010) IELEM, IQ(JPHXS-2) -10010 FORMAT(' *** G3PHSGP : element N ',I6,' requested, ', - +'but only ',I6,' elements in present mixture') - CALL GMAIL(0,0) - GOTO 20 - ENDIF - JPHXSI = LQ(JPHXS-IELEM) - IPOINT = JPHXSI+1 - IMAX = Q(IPOINT) - IPOINT = IPOINT+1 - ECUR = E*1.E6 - IF(ECUR.LT.Q(IPOINT)) GO TO 20 - EINV = ONE/ECUR - DO 10 I = 2,IMAX - IPOINT = IPOINT+5 - IF(ECUR.LT.Q(IPOINT)) THEN - J = IPOINT+1 - RES = EINV*(Q(J)+EINV*(Q(J+1)+EINV*(Q(J+2)+EINV*Q(J+3)))) - GO TO 20 - ENDIF - 10 CONTINUE -C This value is in cm**2/g - 20 G3PHSGP = MAX(RES,0.) -C - END diff --git a/StarVMC/geant3/gphys/gphsig.F b/StarVMC/geant3/gphys/gphsig.F deleted file mode 100644 index d00769296ee..00000000000 --- a/StarVMC/geant3/gphys/gphsig.F +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: gphsig.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphsig.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:42 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:30 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - FUNCTION G3PHSIG(Z,E) -C. -C. ****************************************************************** -C. * * -C. * Function to compute the photoeffect total cross-section * -C. * as a function of Z and E * -C. * (E in GeV, G3PHSIG in barn) * -C. * * -C. * ==>Called by : G3PHOTI * -C. * Author : L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION EK(4),EL1(4),EL2(4),C(19) - DATA EK / 0.66644E-8 , 0.22077E-9 ,-0.32552E-11, 0.18199E-13/ - DATA EL1/-0.29179E-9 , 0.87983E-10,-0.12589E-11, 0.69602E-14/ - DATA EL2/-0.68606E-9 , 0.10078E-9 ,-0.14496E-11, 0.78809E-14/ - DATA C /-0.88893E-6 , 0.24394E-8 , 0.28835E-6 , 0.12133E-7, - + -0.31104E-6 ,-0.17284E-9 , 0.14400E-7 , 0.68357E-7, - + 0.73945E-12,-0.48149E-10, 0.55823E-9 ,-0.10089E-9, - + -0.10927E-5 ,-0.97897E-9 , 0.12854E-6 ,-0.45803E-5, - + 0.16858E-10, 0.12013E-6 , 0.16924E-7/ - DATA AZ,BE/3.845,2.975/ -C. -C. ------------------------------------------------------------------ -C. - Z2=Z*Z - X=EMASS/E - EKZ=Z2*(EK(1)+Z*(EK(2)+Z*(EK(3)+Z*EK(4)))) - IF(E.GT.EKZ)THEN - X2=X*X - S=C(1)/Z+C(2)*X+C(3)+C(4)*Z+C(5)/X+C(6)*Z2+C(7)*Z/X+C(8)/X2+ - + C(9)*Z2*Z+C(10)*Z2/X+C(11)*Z/X2+C(12)/(X2*X) - GO TO 50 - ENDIF -C - EL1Z=Z2*(EL1(1)+Z*(EL1(2)+Z*(EL1(3)+Z*EL1(4)))) - IF(E.GT.EL1Z)THEN - S=C(13)/Z+C(14)*X+C(15) - GO TO 50 - ENDIF -C - EL2Z=Z2*(EL2(1)+Z*(EL2(2)+Z*(EL2(3)+Z*EL2(4)))) - IF(E.GT.EL2Z)THEN - S=C(16)/Z+C(17)*X+C(18) - ELSE - S=C(19) - ENDIF -C - 50 G3PHSIG=S*Z**AZ*X**BE - IF(G3PHSIG.LT.0.)G3PHSIG=0. -C - END diff --git a/StarVMC/geant3/gphys/gphxin.F b/StarVMC/geant3/gphys/gphxin.F deleted file mode 100644 index ce2f6e7eaed..00000000000 --- a/StarVMC/geant3/gphys/gphxin.F +++ /dev/null @@ -1,1474 +0,0 @@ -* -* $Id: gphxin.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphxin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:30 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3PHXIN -C. -C. ****************************************************************** -C. * * -C * Initialize x-section constants for * -C. * the photoelectric effect * -C. * * -C. * The constants are from SANDIA REPORT SAND87-0070 UC-34 * -C. * by F. Biggs and R. Lighthill * -C. * * -C. * ==>Called by : G3PHINI * -C. * Author J. Chwastowski * -C. * * -C. ****************************************************************** -C. - IMPLICIT NONE -#include "geant321/gcpmxz.inc" -#include "geant321/gcphxs.inc" -#include "geant321/gc10ev.inc" -#include "geant321/gconsp.inc" - INTEGER I,J,K - REAL TMP,TMP1 - CHARACTER*6 CTMP(MAXINT,MAXELZ) - DIMENSION TMP(MAXPOW,MAXINT,MAXELZ),TMP1(MAXELZ) - DATA (CTMP(I, 1),I=1,MAXINT) - +/ 'K ','.1 ','.8 ','4. ','20. ','100. ' - +,'500. ','I ',5*' ' / - DATA (CTMP(I, 2),I=1,MAXINT) - +/ 'K ','.15 ','.8 ','4. ','20. ','100. ' - +,'500. ','I ',5*' ' / - DATA (CTMP(I, 3),I=1,MAXINT) - +/ 'K ','.8 ','4. ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 4),I=1,MAXINT) - +/ 'K ','.8 ','4. ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 5),I=1,MAXINT) - +/ 'K ','.8 ','4. ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 6),I=1,MAXINT) - +/ '.0457 ','K ','.8 ','4. ','20. ','100. ' - +,'500. ','I ',5*' ' / - DATA (CTMP(I, 7),I=1,MAXINT) - +/ '.0404 ','K ','.8 ','4. ','20. ','100. ' - +,'500. ','I ',5*' ' / - DATA (CTMP(I, 8),I=1,MAXINT) - +/ '.0483 ','K ','4. ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 9),I=1,MAXINT) - +/ '.0724 ','K ','4. ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 10),I=1,MAXINT) - +/ 'L3 ','L1 ','.124 ','K ','4. ','20. ' - +,'100. ','500. ','I ',4*' ' / - DATA (CTMP(I, 11),I=1,MAXINT) - +/ 'L3 ','L1 ','K ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 12),I=1,MAXINT) - +/ 'L3 ','.123 ','K ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 13),I=1,MAXINT) - +/ '.0159 ','L3 ','L1 ','K ','20. ','100. ' - +,'500. ','I ',5*' ' / - DATA (CTMP(I, 14),I=1,MAXINT) - +/ '.0305 ','L3 ','K ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 15),I=1,MAXINT) - +/ '.0306 ','L3 ','K ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 16),I=1,MAXINT) - +/ '.0341 ','L3 ','K ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 17),I=1,MAXINT) - +/ '.0436 ','L3 ','K ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 18),I=1,MAXINT) - +/ '.0362 ','L3 ','K ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 19),I=1,MAXINT) - +/ '.0305 ','L3 ','K ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 20),I=1,MAXINT) - +/ '.0305 ','L3 ','K ','20. ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 21),I=1,MAXINT) - +/ 'M3 ','L3 ','K ','100. ','500. ','I ' - +,7*' ' / - DATA (CTMP(I, 22),I=1,MAXINT) - +/ '.1 ','L3 ','K ','100. ','500. ','I ' - +,7*' ' / - DATA (CTMP(I, 23),I=1,MAXINT) - +/ '.12 ','L3 ','L1 ','K ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 24),I=1,MAXINT) - +/ '.106 ','L3 ','K ','100. ','500. ','I ' - +,7*' ' / - DATA (CTMP(I, 25),I=1,MAXINT) - +/ '.1 ','L3 ','K ','100. ','500. ','I ' - +,7*' ' / - DATA (CTMP(I, 26),I=1,MAXINT) - +/ '.024 ','.12 ','L3 ','K ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 27),I=1,MAXINT) - +/ '.0308 ','.093 ','L3 ','K ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 28),I=1,MAXINT) - +/ '.1 ','L3 ','L2 ','L1 ','K ','100. ' - +,'500. ','I ',5*' ' / - DATA (CTMP(I, 29),I=1,MAXINT) - +/ '.1 ','L3 ','L1 ','K ','100. ','500. ' - +,'I ',6*' ' / - DATA (CTMP(I, 30),I=1,MAXINT) - +/ '.0307 ','.109 ','L3 ','L2 ','L1 ','K ' - +,'100. ','500. ','I ',4*' ' / - DATA (CTMP(I, 31),I=1,MAXINT) - +/ '.0278 ','.086 ','L3 ','L2 ','L1 ','K ' - +,'100. ','500. ','I ',4*' ' / - DATA (CTMP(I, 32),I=1,MAXINT) - +/ '.0305 ','.1 ','L3 ','L2 ','L1 ','K ' - +,'100. ','500. ','I ',4*' ' / - DATA (CTMP(I, 33),I=1,MAXINT) - +/ '.0371 ','.1 ','L3 ','L2 ','L1 ','K ' - +,'100. ','500. ','I ',4*' ' / - DATA (CTMP(I, 34),I=1,MAXINT) - +/ '.0371 ','.114 ','L3 ','L2 ','L1 ','K ' - +,'100. ','500. ','I ',4*' ' / - DATA (CTMP(I, 35),I=1,MAXINT) - +/ '.035 ','.1 ','.5 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 36),I=1,MAXINT) - +/ '.0305 ','.097 ','.3 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 37),I=1,MAXINT) - +/ '.0305 ','M5 ','.3 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 38),I=1,MAXINT) - +/ '.0307 ','M5 ','.3 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 39),I=1,MAXINT) - +/ '.0232 ','.1677 ','.8 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 40),I=1,MAXINT) - +/ 'M5 ','.5 ','L3 ','L2 ','L1 ','K ' - +,'100. ','500. ','I ',4*' ' / - DATA (CTMP(I, 41),I=1,MAXINT) - +/ '.0297 ','.2083 ','.9 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 42),I=1,MAXINT) - +/ '.03 ','M5 ','.8 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 43),I=1,MAXINT) - +/ '.068 ','M5 ','M3 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 44),I=1,MAXINT) - +/ '.0716 ','M5 ','M3 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 45),I=1,MAXINT) - +/ '.072 ','M5 ','M3 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 46),I=1,MAXINT) - +/ '.07 ','M5 ','M3 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 47),I=1,MAXINT) - +/ '.086 ','M5 ','M3 ','L3 ','L2 ','L1 ' - +,'K ','100. ','500. ','I ',3*' ' / - DATA (CTMP(I, 48),I=1,MAXINT) - +/ '.03 ','.098 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','100. ','500. ','I ',2*' ' / - DATA (CTMP(I, 49),I=1,MAXINT) - +/ '.031 ','.103 ','M5 ','M2 ','L3 ','L2 ' - +,'L1 ','K ','100. ','500. ','I ',2*' ' / - DATA (CTMP(I, 50),I=1,MAXINT) - +/ '.0318 ','.093 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','100. ','500. ','I ',2*' ' / - DATA (CTMP(I, 51),I=1,MAXINT) - +/ '.0304 ','.096 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','100. ','500. ','I ',2*' ' / - DATA (CTMP(I, 52),I=1,MAXINT) - +/ '.0528 ','.106 ','M5 ','M1 ','L3 ','L2 ' - +,'L1 ','K ','100. ','500. ','I ',2*' ' / - DATA (CTMP(I, 53),I=1,MAXINT) - +/ '.034 ','.103 ','M5 ','M2 ','M1 ','L3 ' - +,'L2 ','L1 ','K ','100. ','500. ','I ',' ' / - DATA (CTMP(I, 54),I=1,MAXINT) - +/ '.0515 ','.1073 ','M5 ','M3 ','M1 ','L3 ' - +,'L2 ','L1 ','K ','100. ','500. ','I ',' ' / - DATA (CTMP(I, 55),I=1,MAXINT) - +/ '.0704 ','.111 ','M5 ','M2 ','L3 ','L2 ' - +,'L1 ','K ','100. ','500. ','I ',2*' ' / - DATA (CTMP(I, 56),I=1,MAXINT) - +/ '.0305 ','N5 ','M5 ','M2 ','L3 ','L2 ' - +,'L1 ','K ','100. ','500. ','I ',2*' ' / - DATA (CTMP(I, 57),I=1,MAXINT) - +/ '.04 ','.13 ','M5 ','M3 ','M2 ','L3 ' - +,'L2 ','L1 ','K ','100. ','500. ','I ',' ' / - DATA (CTMP(I, 58),I=1,MAXINT) - +/ '.053 ','N5 ','M5 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','100. ','500. ','I ' / - DATA (CTMP(I, 59),I=1,MAXINT) - +/ '.04 ','N5 ','M5 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','100. ','500. ','I ' / - DATA (CTMP(I, 60),I=1,MAXINT) - +/ '.0305 ','N5 ','M5 ','M3 ','M1 ','L3 ' - +,'L2 ','L1 ','K ','100. ','500. ','I ',' ' / - DATA (CTMP(I, 61),I=1,MAXINT) - +/ '.0305 ','N5 ','M5 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','100. ','500. ','I ' / - DATA (CTMP(I, 62),I=1,MAXINT) - +/ '.0305 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','100. ','500. ','I ',2*' ' / - DATA (CTMP(I, 63),I=1,MAXINT) - +/ '.0305 ','N5 ','M5 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','100. ','500. ','I ' / - DATA (CTMP(I, 64),I=1,MAXINT) - +/ '.0305 ','N5 ','M5 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','500. ','I ',' ' / - DATA (CTMP(I, 65),I=1,MAXINT) - +/ '.0305 ','N5 ','M5 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','500. ','I ',' ' / - DATA (CTMP(I, 66),I=1,MAXINT) - +/ '.0305 ','N5 ','M5 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','500. ','I ',' ' / - DATA (CTMP(I, 67),I=1,MAXINT) - +/ '.0426 ','N5 ','M5 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','500. ','I ',' ' / - DATA (CTMP(I, 68),I=1,MAXINT) - +/ '.0322 ','N5 ','M5 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','500. ','I ',' ' / - DATA (CTMP(I, 69),I=1,MAXINT) - +/ '.031 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 70),I=1,MAXINT) - +/ '.075 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 71),I=1,MAXINT) - +/ '.09 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 72),I=1,MAXINT) - +/ '.0512 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 73),I=1,MAXINT) - +/ '.0233 ','.0428 ','N5 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 74),I=1,MAXINT) - +/ '.031 ','.0493 ','N5 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 75),I=1,MAXINT) - +/ '.0384 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 76),I=1,MAXINT) - +/ '.0464 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 77),I=1,MAXINT) - +/ '.048 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 78),I=1,MAXINT) - +/ '.0266 ','.0735 ','N5 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 79),I=1,MAXINT) - +/ '.07 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 80),I=1,MAXINT) - +/ '.09 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 81),I=1,MAXINT) - +/ '.0313 ','.0985 ','.386 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 82),I=1,MAXINT) - +/ '.0311 ','.095 ','.413 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 83),I=1,MAXINT) - +/ 'O5 ','O4 ','.0379 ','.1136 ','.362 ','M5 ' - +,'M3 ','L3 ','L2 ','L1 ','K ','500. ','I ' / - DATA (CTMP(I, 84),I=1,MAXINT) - +/ '.0305 ','.07 ','.2415 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 85),I=1,MAXINT) - +/ '.0305 ','.072 ','.244 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 86),I=1,MAXINT) - +/ '.0466 ','.093 ','.305 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 87),I=1,MAXINT) - +/ '.0494 ','.196 ','.525 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 88),I=1,MAXINT) - +/ '.0579 ','.15 ','.396 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 89),I=1,MAXINT) - +/ '.0712 ','.216 ','.375 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 90),I=1,MAXINT) - +/ 'O5 ','N5 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 91),I=1,MAXINT) - +/ 'O5 ','.371 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 92),I=1,MAXINT) - +/ '.0171 ','O5 ','.617 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 93),I=1,MAXINT) - +/ 'O5 ','.431 ','M5 ','M3 ','L3 ','L2 ' - +,'L1 ','K ','500. ','I ',3*' ' / - DATA (CTMP(I, 94),I=1,MAXINT) - +/ '.0306 ','O5 ','.405 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 95),I=1,MAXINT) - +/ 'O5 ','.498 ','N5 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 96),I=1,MAXINT) - +/ 'O5 ','.498 ','N5 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 97),I=1,MAXINT) - +/ 'O5 ','.531 ','N5 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 98),I=1,MAXINT) - +/ 'O5 ','.548 ','N5 ','M5 ','M3 ','L3 ' - +,'L2 ','L1 ','K ','500. ','I ',2*' ' / - DATA (CTMP(I, 99),I=1,MAXINT) - +/ 'N5 ','M5 ','M4 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','500. ','I ',' ' / - DATA (CTMP(I,100),I=1,MAXINT) - +/ 'N5 ','M5 ','M4 ','M3 ','M2 ','M1 ' - +,'L3 ','L2 ','L1 ','K ','500. ','I ',' ' / -C -C For HYDROGEN the parametrization is changed below K shell -C Orig. SANDIA + 0.1000E-07, 0.0000E+00, 0.0000E+00, 0.0000E+00 -C New param + 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00 -C - DATA ((TMP(I,J, 1),I=1,MAXPOW),J=1,MAXINT) / - + 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.6383E+02, -0.6446E+01, 0.1317E+02, -0.5045E-01 - + , 0.3051E+01, -0.7818E+01, 0.1144E+02, 0.6959E-01 - + , 0.7636E-01, -0.9406E+00, 0.6144E+01, 0.1425E+01 - + , 0.1180E-02, -0.8230E-01, 0.2880E+01, 0.5534E+01 - + , 0.1620E-04, -0.5610E-02, 0.1214E+01, 0.1761E+02 - + , 0.1034E-05, -0.4114E-03, 0.6287E+00, 0.3927E+02 - + , 0.4599E-06, 0.5006E-03, -0.1425E-01, 0.1960E+03, 20*0.0 / - DATA ((TMP(I,J, 2),I=1,MAXPOW),J=1,MAXINT) / - + 0.1000E-07, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.1196E+04, 0.4759E+03, 0.1979E+02, -0.3540E+00 - + , 0.1857E+02, -0.4079E+02, 0.8609E+02, -0.2618E+01 - + , 0.1606E+01, -0.1726E+02, 0.8101E+02, -0.4928E+01 - + , 0.3663E-02, -0.3782E+00, 0.2288E+02, 0.6006E+02 - + , 0.5934E-03, -0.1109E+00, 0.1388E+02, 0.1680E+03 - + , 0.1120E-04, -0.3894E-02, 0.6136E+01, 0.4354E+03 - + , 0.4921E-05, 0.1493E-02, 0.4725E+01, 0.7128E+03, 20*0.0 / - DATA ((TMP(I,J, 3),I=1,MAXPOW),J=1,MAXINT) / - + -0.2418E+03, 0.3530E+02, -0.2699E+00, 0.5580E-03 - + , -0.1474E+03, 0.1578E+03, 0.2036E+03, -0.8521E+01 - + , 0.4375E+01, -0.5094E+02, 0.3053E+03, -0.3064E+02 - + , 0.4040E-01, -0.2930E+01, 0.1293E+03, 0.1828E+03 - + , 0.3139E-02, -0.6107E+00, 0.7342E+02, 0.6852E+03 - + , 0.4823E-04, -0.1161E-01, 0.2898E+02, 0.2129E+04 - + , 0.2128E-04, 0.1951E-01, 0.1009E+02, 0.7144E+04, 24*0.0 / - DATA ((TMP(I,J, 4),I=1,MAXPOW),J=1,MAXINT) / - + -0.2785E+03, 0.1252E+03, -0.1912E+01, 0.8371E-02 - + , -0.4798E+03, 0.6302E+03, 0.4187E+03, -0.2783E+02 - + , 0.1037E+02, -0.1280E+03, 0.8807E+03, -0.1646E+03 - + , 0.1018E+00, -0.8264E+01, 0.4158E+03, 0.4366E+03 - + , 0.5893E-02, -0.1595E+01, 0.2644E+03, 0.1566E+04 - + , 0.2129E-03, -0.7972E-01, 0.1155E+03, 0.6065E+04 - + , 0.7797E-04, 0.7695E-01, 0.3396E+02, 0.2439E+05, 24*0.0 / - DATA ((TMP(I,J, 5),I=1,MAXPOW),J=1,MAXINT) / - + -0.3387E+03, 0.1923E+03, -0.2742E+01, 0.1204E-01 - + , -0.9943E+03, 0.1816E+04, 0.3939E+03, -0.1755E+02 - + , 0.3689E+01, -0.8834E+02, 0.1525E+04, -0.2145E+03 - + , 0.6447E+00, -0.3953E+02, 0.1281E+04, 0.1768E+03 - + , 0.1852E-02, -0.1358E+01, 0.5252E+03, 0.5160E+04 - + , 0.4282E-03, -0.1297E+00, 0.2892E+03, 0.1601E+05 - + , 0.1965E-03, 0.1947E+00, 0.1001E+03, 0.5902E+05, 24*0.0 / - DATA ((TMP(I,J, 6),I=1,MAXPOW),J=1,MAXINT) / - + 0.5704E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.3935E+03, 0.3219E+03, -0.6549E+01, 0.2086E+00 - + , -0.9022E+03, 0.1760E+04, 0.1549E+04, -0.2280E+03 - + , -0.7363E+01, -0.1537E+01, 0.2672E+04, -0.4482E+03 - + , 0.1640E+01, -0.9428E+02, 0.2872E+04, -0.5583E+03 - + , -0.3742E-02, -0.1232E+01, 0.9489E+03, 0.1406E+05 - + , 0.6760E-03, -0.1164E+00, 0.6566E+03, 0.2739E+05 - + , 0.4503E-03, 0.4692E+00, 0.2183E+03, 0.1308E+06, 20*0.0 / - DATA ((TMP(I,J, 7),I=1,MAXPOW),J=1,MAXINT) / - + 0.1010E+05, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.3622E+03, 0.3873E+03, 0.1244E+02, -0.4452E+00 - + , -0.2338E+04, 0.5732E+04, -0.2082E+03, 0.1482E+03 - + , -0.4940E+01, -0.8442E+02, 0.4620E+04, -0.1186E+04 - + , 0.2019E+01, -0.1249E+03, 0.4609E+04, -0.9421E+03 - + , 0.1709E-01, -0.8196E+01, 0.2345E+04, 0.1369E+05 - + , 0.1872E-02, -0.6732E+00, 0.1282E+04, 0.5700E+05 - + , 0.8122E-03, 0.8364E+00, 0.4410E+03, 0.2358E+06, 20*0.0 / - DATA ((TMP(I,J, 8),I=1,MAXPOW),J=1,MAXINT) / - + 0.1144E+05, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.2863E+03, 0.4086E+03, 0.4436E+02, -0.1782E+01 - + , -0.7181E+02, 0.4748E+03, 0.5542E+04, -0.1363E+04 - + , 0.2745E+01, -0.1747E+03, 0.7159E+04, -0.2213E+04 - + , 0.3774E-01, -0.1559E+02, 0.4045E+04, 0.1810E+05 - + , 0.3169E-02, -0.1146E+01, 0.2194E+04, 0.9131E+05 - + , 0.1367E-02, 0.1473E+01, 0.7214E+03, 0.4048E+06, 24*0.0 / - DATA ((TMP(I,J, 9),I=1,MAXPOW),J=1,MAXINT) / - + 0.1129E+05, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.2676E+03, 0.4767E+03, 0.8767E+02, -0.4504E+01 - + , -0.8907E+02, 0.6850E+03, 0.7217E+04, -0.2022E+04 - + , 0.2813E+01, -0.2020E+03, 0.9903E+04, -0.4454E+04 - + , 0.6097E-01, -0.2435E+02, 0.6099E+04, 0.2258E+05 - + , 0.4857E-02, -0.1806E+01, 0.3335E+04, 0.1285E+06 - + , 0.2041E-02, 0.2257E+01, 0.1084E+04, 0.5997E+06, 24*0.0 / - DATA ((TMP(I,J, 10),I=1,MAXPOW),J=1,MAXINT) / - + 0.1000E-05, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.8235E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.6059E+04, 0.3242E+04, -0.1796E+03, 0.3141E+01 - + , -0.1940E+03, 0.4340E+03, 0.2357E+03, -0.1666E+02 - + , -0.8680E+02, 0.7434E+03, 0.1077E+05, -0.3822E+04 - + , 0.3167E+01, -0.2491E+03, 0.1439E+05, -0.8187E+04 - + , 0.1288E+00, -0.4471E+02, 0.9862E+04, 0.2497E+05 - + , 0.5202E-02, 0.7337E-01, 0.4614E+04, 0.2256E+06 - + , 0.3087E-02, 0.3402E+01, 0.1569E+04, 0.1147E+07, 16*0.0 / - DATA ((TMP(I,J, 11),I=1,MAXPOW),J=1,MAXINT) / - + 0.5429E+02, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.8874E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.5565E+03, 0.1000E+04, 0.1062E+03, -0.6846E+01 - + , 0.1732E+01, -0.1853E+03, 0.1712E+05, -0.8415E+04 - + , 0.2726E+00, -0.8218E+02, 0.1475E+05, 0.9467E+04 - + , 0.2083E-02, 0.4548E+01, 0.5521E+04, 0.3358E+06 - + , 0.4199E-02, 0.4808E+01, 0.1793E+04, 0.1898E+07, 24*0.0 / - DATA ((TMP(I,J, 12),I=1,MAXPOW),J=1,MAXINT) / - + -0.5574E+03, 0.8687E+02, -0.1493E+01, 0.8660E-02 - + , -0.2726E+05, 0.9700E+04, -0.6921E+03, 0.1446E+02 - + , -0.6179E+03, 0.1379E+04, 0.2321E+03, -0.2291E+02 - + , -0.6648E+00, -0.1084E+03, 0.2219E+05, -0.1241E+05 - + , 0.4080E+00, -0.1205E+03, 0.2139E+05, -0.1143E+03 - + , 0.8338E-02, 0.2236E+01, 0.8819E+04, 0.4284E+06 - + , 0.6233E-02, 0.7344E+01, 0.2662E+04, 0.2460E+07, 24*0.0 / - DATA ((TMP(I,J, 13),I=1,MAXPOW),J=1,MAXINT) / - + -0.1654E+05, 0.1585E+03, 0.3907E+01, -0.3383E-01 - + , 0.1122E+04, -0.4015E+02, 0.6623E+00, -0.2813E-02 - + , 0.2390E+05, -0.6953E+03, -0.7978E+02, 0.1974E+01 - + , -0.5284E+03, 0.1399E+04, 0.4360E+03, -0.4747E+02 - + , -0.3674E+01, -0.1622E+02, 0.2732E+05, -0.1752E+05 - + , 0.4158E+00, -0.1351E+03, 0.2716E+05, 0.3723E+03 - + , 0.1125E-01, 0.2747E+01, 0.1174E+05, 0.5695E+06 - + , 0.8505E-02, 0.1041E+02, 0.4429E+04, 0.2413E+07, 20*0.0 / - DATA ((TMP(I,J, 14),I=1,MAXPOW),J=1,MAXINT) / - + 0.4575E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.1168E+03, 0.1269E+03, -0.5506E+01, 0.6616E-01 - + , -0.6451E+03, 0.1836E+04, 0.5350E+03, -0.6436E+02 - + , -0.4056E+01, -0.1089E+02, 0.3544E+05, -0.2595E+05 - + , 0.4945E+00, -0.1682E+03, 0.3627E+05, -0.1605E+05 - + , 0.2716E-01, -0.5428E+01, 0.1775E+05, 0.6765E+06 - + , 0.1127E-01, 0.1376E+02, 0.4871E+04, 0.4477E+07, 24*0.0 / - DATA ((TMP(I,J, 15),I=1,MAXPOW),J=1,MAXINT) / - + 0.4728E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.2227E+03, 0.2204E+03, -0.1122E+02, 0.1569E+00 - + , -0.5700E+03, 0.1909E+04, 0.7651E+03, -0.1123E+03 - + , -0.6098E+01, 0.7712E+02, 0.4196E+05, -0.3437E+05 - + , 0.5710E+00, -0.2001E+03, 0.4505E+05, -0.3853E+05 - + , 0.3613E-01, -0.8426E+01, 0.2277E+05, 0.8080E+06 - + , 0.1421E-01, 0.1770E+02, 0.6221E+04, 0.5554E+07, 24*0.0 / - DATA ((TMP(I,J, 16),I=1,MAXPOW),J=1,MAXINT) / - + 0.5368E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.2097E+03, 0.3174E+03, -0.1815E+02, 0.2796E+00 - + , -0.4885E+03, 0.1976E+04, 0.1206E+04, -0.1934E+03 - + , -0.1021E+02, 0.2346E+03, 0.5164E+05, -0.4707E+05 - + , 0.7467E+00, -0.2534E+03, 0.5800E+05, -0.6691E+05 - + , 0.6338E-01, -0.3443E+02, 0.4058E+05, 0.2233E+06 - + , 0.1867E-01, 0.2398E+02, 0.6706E+04, 0.8358E+07, 24*0.0 / - DATA ((TMP(I,J, 17),I=1,MAXPOW),J=1,MAXINT) / - + 0.7808E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.6163E+02, 0.3934E+03, -0.2563E+02, 0.4396E+00 - + , -0.2147E+03, 0.1269E+04, 0.2099E+04, -0.3705E+03 - + , -0.1192E+02, 0.3253E+03, 0.5927E+05, -0.5980E+05 - + , 0.8789E+00, -0.2920E+03, 0.6860E+05, -0.1018E+06 - + , 0.6556E-01, -0.2175E+02, 0.3895E+05, 0.9737E+06 - + , 0.2236E-01, 0.2884E+02, 0.9717E+04, 0.9001E+07, 24*0.0 / - DATA ((TMP(I,J, 18),I=1,MAXPOW),J=1,MAXINT) / - + 0.1275E+05, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.1674E+04, 0.1047E+04, -0.9010E+02, 0.2166E+01 - + , -0.2244E+03, 0.1388E+04, 0.2571E+04, -0.5113E+03 - + , -0.1446E+02, 0.4359E+03, 0.6578E+05, -0.7284E+05 - + , 0.8786E+00, -0.3001E+03, 0.7682E+05, -0.1219E+06 - + , 0.6779E-01, -0.2695E+02, 0.5069E+05, 0.5281E+06 - + , 0.2598E-01, 0.3454E+02, 0.1059E+05, 0.1068E+08, 24*0.0 / - DATA ((TMP(I,J, 19),I=1,MAXPOW),J=1,MAXINT) / - + 0.3111E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.6162E+02, 0.5770E+03, -0.4497E+02, 0.9218E+00 - + , -0.3601E+03, 0.2287E+04, 0.2513E+04, -0.4591E+03 - + , -0.2113E+02, 0.7161E+03, 0.8183E+05, -0.9859E+05 - + , 0.1048E+01, -0.3644E+03, 0.9844E+05, -0.1760E+06 - + , 0.1040E+00, -0.3553E+02, 0.6096E+05, 0.1226E+07 - + , 0.3453E-01, 0.4621E+02, 0.1669E+05, 0.1238E+08, 24*0.0 / - DATA ((TMP(I,J, 20),I=1,MAXPOW),J=1,MAXINT) / - + 0.3029E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3816E+03, 0.5887E+03, -0.4888E+02, 0.1019E+01 - + , -0.1054E+03, 0.1120E+04, 0.5115E+04, -0.1325E+04 - + , -0.3015E+02, 0.1141E+04, 0.9459E+05, -0.1195E+06 - + , 0.1408E+01, -0.4553E+03, 0.1206E+06, -0.2531E+06 - + , 0.1204E+00, -0.5356E+02, 0.8779E+05, 0.6252E+06 - + , 0.4178E-01, 0.5761E+02, 0.1377E+05, 0.2019E+08, 24*0.0 / - DATA ((TMP(I,J, 21),I=1,MAXPOW),J=1,MAXINT) / - + 0.1121E+04, 0.7413E+01, -0.3020E+00, 0.1510E-02 - + , 0.2970E+03, 0.6359E+03, -0.4935E+02, 0.1044E+01 - + , -0.1507E+03, 0.1501E+04, 0.5139E+04, -0.1442E+04 - + , 0.4615E+00, -0.2614E+03, 0.1217E+06, -0.2057E+06 - + , 0.1509E+00, -0.6913E+02, 0.9253E+05, 0.1096E+07 - + , 0.4833E-01, 0.6880E+02, 0.2762E+05, 0.1290E+08, 28*0.0 / - DATA ((TMP(I,J, 22),I=1,MAXPOW),J=1,MAXINT) / - + 0.3596E+04, -0.6877E+02, 0.9609E+00, -0.4754E-02 - + , -0.3132E+03, 0.1024E+04, -0.1008E+03, 0.3096E+01 - + , -0.4626E+02, 0.8678E+03, 0.7308E+04, -0.2383E+04 - + , 0.2074E+00, -0.2292E+03, 0.1371E+06, -0.2489E+06 - + , 0.1972E+00, -0.9550E+02, 0.1106E+06, 0.1067E+07 - + , 0.5606E-01, 0.8140E+02, 0.3106E+05, 0.1567E+08, 28*0.0 / - DATA ((TMP(I,J, 23),I=1,MAXPOW),J=1,MAXINT) / - + 0.4117E+04, -0.1054E+03, 0.1531E+01, -0.7725E-02 - + , -0.4052E+03, 0.1169E+04, -0.1212E+03, 0.4148E+01 - + , 0.9968E+04, -0.1796E+04, -0.1204E+04, 0.1481E+04 - + , -0.1429E+03, 0.1632E+04, 0.7203E+04, -0.2283E+04 - + , 0.3940E+00, -0.2733E+03, 0.1564E+06, -0.3184E+06 - + , 0.2007E+00, -0.8911E+02, 0.1254E+06, 0.1137E+07 - + , 0.6449E-01, 0.9483E+02, 0.3584E+05, 0.1821E+08, 24*0.0 / - DATA ((TMP(I,J, 24),I=1,MAXPOW),J=1,MAXINT) / - + 0.5069E+04, -0.7968E+02, 0.8395E+00, -0.4494E-02 - + , -0.4404E+03, 0.1301E+04, -0.1166E+03, 0.3481E+01 - + , 0.3932E+02, 0.1537E+03, 0.1228E+05, -0.4984E+04 - + , 0.2740E+00, -0.2665E+03, 0.1818E+06, -0.3997E+06 - + , 0.2727E+00, -0.1288E+03, 0.1543E+06, 0.9755E+06 - + , 0.7660E-01, 0.1142E+03, 0.4290E+05, 0.2161E+08, 28*0.0 / - DATA ((TMP(I,J, 25),I=1,MAXPOW),J=1,MAXINT) / - + 0.5692E+04, -0.1278E+03, 0.1150E+01, -0.3774E-02 - + , -0.4901E+03, 0.1450E+04, -0.1365E+03, 0.4134E+01 - + , -0.3065E+02, 0.7209E+03, 0.1275E+05, -0.5462E+04 - + , 0.2930E+00, -0.2703E+03, 0.2034E+06, -0.4886E+06 - + , 0.2940E+00, -0.1342E+03, 0.1761E+06, 0.8747E+06 - + , 0.8736E-01, 0.1322E+03, 0.4952E+05, 0.2436E+08, 28*0.0 / - DATA ((TMP(I,J, 26),I=1,MAXPOW),J=1,MAXINT) / - + -0.3328E+04, 0.2590E+03, -0.3812E+01, 0.1679E-01 - + , 0.4132E+04, 0.3963E+03, -0.2505E+02, 0.3437E+00 - + , -0.2683E+02, 0.1250E+04, -0.7321E+02, 0.1137E+01 - + , -0.8128E+01, 0.6550E+03, 0.1511E+05, -0.7079E+04 - + , 0.2151E+00, -0.2680E+03, 0.2341E+06, -0.6063E+06 - + , 0.3511E+00, -0.1633E+03, 0.2090E+06, 0.7131E+06 - + , 0.1026E+00, 0.1572E+03, 0.5901E+05, 0.2806E+08, 24*0.0 / - DATA ((TMP(I,J, 27),I=1,MAXPOW),J=1,MAXINT) / - + 0.2074E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.6932E+04, -0.6765E-01, -0.9182E+01, 0.1423E+00 - + , -0.8228E+03, 0.1982E+04, -0.1782E+03, 0.4937E+01 - + , 0.2092E+02, 0.3311E+03, 0.1820E+05, -0.9303E+04 - + , 0.4947E-01, -0.2478E+03, 0.2586E+06, -0.7185E+06 - + , 0.3588E+00, -0.1492E+03, 0.2296E+06, 0.8856E+06 - + , 0.1154E+00, 0.1796E+03, 0.6740E+05, 0.3100E+08, 24*0.0 / - DATA ((TMP(I,J, 28),I=1,MAXPOW),J=1,MAXINT) / - + 0.8515E+04, -0.2121E+03, 0.2132E+01, -0.7667E-02 - + , -0.1021E+04, 0.2388E+04, -0.2361E+03, 0.7261E+01 - + , 0.0000E+00, 0.6600E+04, 0.0000E+00, 0.0000E+00 - + , 0.0000E+00, 0.9810E+04, 0.0000E+00, 0.0000E+00 - + , -0.1175E+03, 0.2171E+04, 0.1514E+05, -0.6042E+04 - + , 0.1685E-01, -0.2522E+03, 0.3005E+06, -0.9000E+06 - + , 0.4681E+00, -0.2085E+03, 0.2782E+06, 0.4399E+06 - + , 0.1364E+00, 0.2148E+03, 0.8039E+05, 0.3626E+08, 20*0.0 / - DATA ((TMP(I,J, 29),I=1,MAXPOW),J=1,MAXINT) / - + 0.9992E+04, -0.3780E+03, 0.5657E+01, -0.2788E-01 - + , -0.8896E+03, 0.2391E+04, -0.1986E+03, 0.3649E+01 - + , -0.5089E+03, 0.4139E+04, 0.7468E+04, -0.6981E+03 - + , -0.9173E+02, 0.1862E+04, 0.1777E+05, -0.8202E+04 - + , 0.7440E-02, -0.2371E+03, 0.3202E+06, -0.1028E+07 - + , 0.4729E+00, -0.2055E+03, 0.3000E+06, 0.2182E+06 - + , 0.1472E+00, 0.2345E+03, 0.8644E+05, 0.3990E+08, 24*0.0 / - DATA ((TMP(I,J, 30),I=1,MAXPOW),J=1,MAXINT) / - + 0.1479E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1325E+05, -0.6762E+03, 0.1188E+02, -0.6785E-01 - + , -0.1330E+04, 0.3104E+04, -0.3092E+03, 0.8946E+01 - + , -0.2807E+05, 0.1091E+06, -0.1511E+06, 0.7897E+05 - + , -0.3057E+04, 0.1385E+05, 0.3780E+03, -0.2163E+03 - + , -0.8018E+02, 0.1794E+04, 0.2095E+05, -0.1070E+05 - + , -0.1158E+01, -0.3871E+02, 0.3499E+06, -0.1154E+07 - + , 0.4820E+00, -0.1832E+03, 0.3296E+06, 0.6802E+06 - + , 0.1669E+00, 0.2696E+03, 0.1000E+06, 0.4382E+08, 16*0.0 / - DATA ((TMP(I,J, 31),I=1,MAXPOW),J=1,MAXINT) / - + 0.1479E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1211E+05, -0.7144E+03, 0.1535E+02, -0.1030E+00 - + , -0.1199E+04, 0.3215E+04, -0.3594E+03, 0.1152E+02 - + , -0.1457E+05, 0.6363E+05, -0.1011E+06, 0.6416E+05 - + , 0.3470E+04, -0.8674E+04, 0.2548E+05, -0.8411E+04 - + , -0.9431E+02, 0.2078E+04, 0.2172E+05, -0.1101E+05 - + , -0.1253E+01, -0.2897E+02, 0.3783E+06, -0.1357E+07 - + , 0.5591E+00, -0.2217E+03, 0.3625E+06, 0.3392E+06 - + , 0.1949E+00, 0.2371E+03, 0.1767E+06, 0.2400E+08, 16*0.0 / - DATA ((TMP(I,J, 32),I=1,MAXPOW),J=1,MAXINT) / - + 0.4941E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1269E+05, -0.9339E+03, 0.2767E+02, -0.1952E+00 - + , -0.1358E+04, 0.3695E+04, -0.4569E+03, 0.1599E+02 - + , -0.7402E+04, 0.3636E+05, -0.6670E+05, 0.5346E+05 - + , -0.3400E+03, 0.3232E+04, 0.1163E+05, -0.1089E+04 - + , -0.5940E+02, 0.1646E+04, 0.2621E+05, -0.1507E+05 - + , -0.2025E+01, 0.1283E+03, 0.4069E+06, -0.1510E+07 - + , 0.6478E+00, -0.2603E+03, 0.4045E+06, -0.5153E+05 - + , 0.2155E+00, 0.2609E+03, 0.2074E+06, 0.2220E+08, 16*0.0 / - DATA ((TMP(I,J, 33),I=1,MAXPOW),J=1,MAXINT) / - + 0.2547E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.2402E+05, -0.3110E+04, 0.1364E+03, -0.1877E+01 - + , -0.1536E+04, 0.4198E+04, -0.5497E+03, 0.1920E+02 - + , -0.4525E+04, 0.2468E+05, -0.5130E+05, 0.5102E+05 - + , -0.3858E+03, 0.1013E+05, 0.3603E+04, -0.7657E+03 - + , -0.5339E+02, 0.1649E+04, 0.2950E+05, -0.1800E+05 - + , -0.1655E+01, 0.8588E+02, 0.4504E+06, -0.1795E+07 - + , 0.7880E+00, -0.3490E+03, 0.4641E+06, -0.1258E+07 - + , 0.2393E+00, 0.2906E+03, 0.2360E+06, 0.2145E+08, 16*0.0 / - DATA ((TMP(I,J, 34),I=1,MAXPOW),J=1,MAXINT) / - + 0.1577E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1806E+05, -0.2230E+04, 0.9408E+02, -0.1263E+01 - + , -0.1610E+04, 0.4614E+04, -0.6392E+03, 0.2252E+02 - + , -0.6637E+03, 0.4194E+04, -0.1104E+05, 0.2806E+05 - + , -0.4265E+03, 0.9660E+04, 0.5343E+04, -0.1174E+04 - + , -0.3968E+02, 0.1459E+04, 0.3327E+05, -0.2229E+05 - + , -0.3461E+01, 0.4401E+03, 0.4690E+06, -0.1943E+07 - + , 0.8564E+00, -0.3723E+03, 0.5020E+06, -0.1430E+07 - + , 0.2590E+00, 0.3237E+03, 0.2541E+06, 0.2321E+08, 16*0.0 / - DATA ((TMP(I,J, 35),I=1,MAXPOW),J=1,MAXINT) / - + 0.2129E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1451E+05, -0.1941E+04, 0.8744E+02, -0.1214E+01 - + , -0.3534E+04, 0.6788E+04, -0.1134E+04, 0.5165E+02 - + , -0.3347E+03, 0.2195E+04, 0.1033E+04, -0.2839E+03 - + , 0.1461E+03, -0.1050E+04, 0.3457E+04, 0.2000E+05 - + , -0.4318E+03, 0.1070E+05, 0.6548E+04, -0.1535E+04 - + , -0.4033E+02, 0.1607E+04, 0.3681E+05, -0.2478E+05 - + , -0.3955E+01, 0.5482E+03, 0.5202E+06, -0.2262E+07 - + , 0.9718E+00, -0.4209E+03, 0.5662E+06, -0.2099E+07 - + , 0.2907E+00, 0.3653E+03, 0.2908E+06, 0.2417E+08, 12*0.0 / - DATA ((TMP(I,J, 36),I=1,MAXPOW),J=1,MAXINT) / - + 0.3691E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.2024E+04, -0.2083E+03, 0.4439E+01, 0.1056E+00 - + , 0.7648E+03, 0.5257E+04, -0.9960E+03, 0.4686E+02 - + , -0.2451E+03, 0.2199E+04, 0.1217E+04, -0.3120E+03 - + , 0.3611E+03, -0.2974E+04, 0.1308E+05, 0.1268E+05 - + , -0.4163E+03, 0.1017E+05, 0.7535E+04, -0.1891E+04 - + , -0.9924E+00, 0.8455E-01, 0.4446E+05, -0.3490E+05 - + , -0.3076E+01, 0.4257E+03, 0.5613E+06, -0.2587E+07 - + , 0.1050E+01, -0.4435E+03, 0.6114E+06, -0.3028E+07 - + , 0.3136E+00, 0.3952E+03, 0.3252E+06, 0.2248E+08, 12*0.0 / - DATA ((TMP(I,J, 37),I=1,MAXPOW),J=1,MAXINT) / - + 0.4606E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1441E+04, -0.1761E+03, 0.6821E+01, 0.4470E-01 - + , -0.6763E+03, 0.6772E+04, -0.1372E+04, 0.7035E+02 - + , -0.3457E+03, 0.2591E+04, 0.1242E+04, -0.3481E+03 - + , 0.3524E+03, -0.3194E+04, 0.1657E+05, 0.1224E+05 - + , -0.4025E+03, 0.1067E+05, 0.8396E+04, -0.2275E+04 - + , 0.5234E+01, 0.7494E+03, 0.5033E+05, -0.4276E+05 - + , -0.2207E+01, 0.2653E+03, 0.6269E+06, -0.3163E+07 - + , 0.1101E+01, -0.4280E+03, 0.6664E+06, -0.3481E+07 - + , 0.3467E+00, 0.4515E+03, 0.3525E+06, 0.2783E+08, 12*0.0 / - DATA ((TMP(I,J, 38),I=1,MAXPOW),J=1,MAXINT) / - + 0.4850E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.7854E+03, -0.6513E+02, 0.2134E+01, 0.1138E+00 - + , -0.2484E+04, 0.8950E+04, -0.2019E+04, 0.1171E+03 - + , -0.3209E+03, 0.2818E+04, 0.1344E+04, -0.3984E+03 - + , 0.2746E+03, -0.2830E+04, 0.2149E+05, 0.7655E+04 - + , -0.4181E+03, 0.1025E+05, 0.1159E+05, -0.3199E+04 - + , -0.4367E+02, 0.1966E+04, 0.4835E+05, -0.3788E+05 - + , -0.5177E+00, -0.2546E+02, 0.6941E+06, -0.3733E+07 - + , 0.1296E+01, -0.5192E+03, 0.7384E+06, -0.5040E+07 - + , 0.3800E+00, 0.4950E+03, 0.4110E+06, 0.1955E+08, 12*0.0 / - DATA ((TMP(I,J, 39),I=1,MAXPOW),J=1,MAXINT) / - + 0.3854E+05, -0.1366E+04, 0.1672E+02, -0.6795E-01 - + , 0.2849E+04, -0.2828E+03, 0.1529E+02, -0.1723E+00 - + , -0.6721E+04, 0.1290E+05, -0.3111E+04, 0.1985E+03 - + , 0.3585E+03, -0.4223E+03, 0.6620E+04, -0.2706E+04 - + , -0.8813E+02, 0.1840E+04, 0.2198E+05, -0.1440E+04 - + , -0.4141E+03, 0.1043E+05, 0.1385E+05, -0.4020E+04 - + , -0.1282E+02, 0.1204E+04, 0.6028E+05, -0.5752E+05 - + , 0.4265E+00, -0.1646E+03, 0.7684E+06, -0.4421E+07 - + , 0.1334E+01, -0.4917E+03, 0.8066E+06, -0.5879E+07 - + , 0.4194E+00, 0.5651E+03, 0.4353E+06, 0.2981E+08, 12*0.0 / - DATA ((TMP(I,J, 40),I=1,MAXPOW),J=1,MAXINT) / - + 0.2993E+03, 0.1449E+03, -0.3012E+01, 0.1713E-01 - + , -0.7040E+04, 0.1434E+05, -0.3926E+04, 0.2887E+03 - + , -0.1647E+03, 0.2296E+04, 0.3166E+04, -0.1127E+04 - + , -0.2164E+03, 0.3512E+04, 0.2053E+05, -0.3382E+04 - + , -0.3996E+03, 0.1064E+05, 0.1548E+05, -0.4776E+04 - + , -0.3011E+02, 0.1794E+04, 0.6153E+05, -0.5699E+05 - + , -0.5900E+00, 0.1945E+03, 0.8031E+06, -0.4579E+07 - + , 0.1474E+01, -0.5530E+03, 0.8907E+06, -0.7927E+07 - + , 0.4562E+00, 0.6248E+03, 0.4760E+06, 0.3216E+08, 16*0.0 / - DATA ((TMP(I,J, 41),I=1,MAXPOW),J=1,MAXINT) / - + 0.3251E+04, -0.6844E+02, 0.1575E+01, -0.1094E-01 - + , 0.2764E+04, -0.4897E+03, 0.4237E+02, -0.8372E+00 - + , -0.2018E+04, 0.8543E+04, -0.1769E+04, 0.2770E+02 - + , 0.2150E+03, 0.4490E+03, 0.6409E+04, -0.2429E+04 - + , -0.2981E+03, 0.6188E+04, 0.1735E+05, -0.4420E+04 - + , -0.3923E+03, 0.1102E+05, 0.1751E+05, -0.5733E+04 - + , -0.1658E+02, 0.1435E+04, 0.7050E+05, -0.7037E+05 - + , -0.2292E+01, 0.5516E+03, 0.8555E+06, -0.5018E+07 - + , 0.1599E+01, -0.5764E+03, 0.9643E+06, -0.8517E+07 - + , 0.4986E+00, 0.7224E+03, 0.4910E+06, 0.4104E+08, 12*0.0 / - DATA ((TMP(I,J, 42),I=1,MAXPOW),J=1,MAXINT) / - + -0.3508E+04, 0.3050E+03, -0.4620E+01, 0.1998E-01 - + , 0.3053E+04, -0.6192E+03, 0.5104E+02, -0.9955E+00 - + , -0.7786E+04, 0.1722E+05, -0.5215E+04, 0.3992E+03 - + , -0.1114E+03, 0.1895E+04, 0.5405E+04, -0.2261E+04 - + , -0.3027E+03, 0.7576E+04, 0.1570E+05, -0.4795E+04 - + , -0.3784E+03, 0.1099E+05, 0.1983E+05, -0.6801E+04 - + , -0.1840E+02, 0.1552E+04, 0.7635E+05, -0.8181E+05 - + , -0.2256E+01, 0.7317E+03, 0.9005E+06, -0.5349E+07 - + , 0.1540E+01, -0.4834E+03, 0.1021E+07, -0.9300E+07 - + , 0.5359E+00, 0.7662E+03, 0.5243E+06, 0.5200E+08, 12*0.0 / - DATA ((TMP(I,J, 43),I=1,MAXPOW),J=1,MAXINT) / - + 0.2680E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.7592E+03, 0.8677E+03, -0.1346E+03, 0.6198E+01 - + , -0.3269E+05, 0.4110E+05, -0.1328E+05, 0.1384E+04 - + , -0.3863E+03, 0.3458E+04, 0.3500E+04, -0.1341E+04 - + , -0.2871E+03, 0.7198E+04, 0.1867E+05, -0.5767E+04 - + , -0.1101E+03, 0.1625E+05, 0.3183E+04, -0.1491E+04 - + , -0.2936E+02, 0.1924E+04, 0.7955E+05, -0.8669E+05 - + , 0.5721E+00, 0.7164E+02, 0.1004E+07, -0.6678E+07 - + , 0.1769E+01, -0.5691E+03, 0.1097E+07, -0.1069E+08 - + , 0.5748E+00, 0.8119E+03, 0.6113E+06, 0.3605E+08, 12*0.0 / - DATA ((TMP(I,J, 44),I=1,MAXPOW),J=1,MAXINT) / - + 0.2116E+04, 0.1001E+03, -0.2614E+01, 0.1466E-01 - + , 0.1947E+03, 0.7270E+03, -0.1490E+03, 0.8092E+01 - + , -0.2141E+05, 0.2872E+05, -0.8592E+04, 0.8312E+03 - + , -0.2430E+01, 0.2793E+04, 0.5237E+04, -0.2042E+04 - + , -0.2831E+03, 0.7880E+04, 0.1913E+05, -0.6518E+04 - + , -0.3547E+03, 0.1093E+05, 0.2575E+05, -0.9586E+04 - + , -0.1311E+02, 0.1428E+04, 0.9237E+05, -0.1148E+06 - + , 0.1007E-01, 0.1277E+03, 0.1086E+07, -0.7755E+07 - + , 0.1633E+01, -0.4030E+03, 0.1144E+07, -0.9817E+07 - + , 0.6218E+00, 0.9117E+03, 0.5873E+06, 0.6614E+08, 12*0.0 / - DATA ((TMP(I,J, 45),I=1,MAXPOW),J=1,MAXINT) / - + 0.2535E+04, 0.1329E+03, -0.3193E+01, 0.1648E-01 - + , -0.1037E+04, 0.1357E+04, -0.2412E+03, 0.1212E+02 - + , 0.1155E+04, 0.3456E+04, 0.8529E+03, -0.3075E+03 - + , -0.4773E+03, 0.3678E+04, 0.5261E+04, -0.2225E+04 - + , -0.2665E+03, 0.7197E+04, 0.2390E+05, -0.7946E+04 - + , -0.3285E+03, 0.9342E+04, 0.3454E+05, -0.1203E+05 - + , -0.2532E+02, 0.2009E+04, 0.9447E+05, -0.1115E+06 - + , -0.3043E+01, 0.9079E+03, 0.1126E+07, -0.8086E+07 - + , 0.1870E+01, -0.4570E+03, 0.1251E+07, -0.1191E+08 - + , 0.6726E+00, 0.9644E+03, 0.7281E+06, 0.4409E+08, 12*0.0 / - DATA ((TMP(I,J, 46),I=1,MAXPOW),J=1,MAXINT) / - + 0.1095E+05, -0.2552E+03, 0.1914E+01, -0.3916E-02 - + , 0.2418E+04, 0.9664E+02, -0.1050E+03, 0.9047E+01 - + , -0.1605E+05, 0.3107E+05, -0.1240E+05, 0.1658E+04 - + , -0.4705E+03, 0.3846E+04, 0.5959E+04, -0.2639E+04 - + , -0.2530E+03, 0.7129E+04, 0.2620E+05, -0.9068E+04 - + , -0.3225E+03, 0.1001E+05, 0.3550E+05, -0.1354E+05 - + , 0.1642E+02, 0.4603E+03, 0.1181E+06, -0.1737E+06 - + , -0.2888E+01, 0.8714E+03, 0.1203E+07, -0.9306E+07 - + , 0.1857E+01, -0.3662E+03, 0.1308E+07, -0.1219E+08 - + , 0.7151E+00, 0.1066E+04, 0.7318E+06, 0.6061E+08, 12*0.0 / - DATA ((TMP(I,J, 47),I=1,MAXPOW),J=1,MAXINT) / - + 0.1054E+05, -0.1973E+03, 0.1033E+01, -0.6574E-03 - + , -0.4089E+04, 0.3916E+04, -0.8005E+03, 0.4841E+02 - + , -0.2951E+04, 0.6256E+04, 0.1909E+04, -0.8620E+03 - + , -0.2321E+02, 0.1892E+04, 0.9451E+04, -0.4150E+04 - + , -0.2547E+03, 0.7851E+04, 0.2733E+05, -0.1038E+05 - + , -0.3170E+03, 0.1045E+05, 0.3850E+05, -0.1560E+05 - + , -0.1817E+01, 0.1265E+04, 0.1192E+06, -0.1684E+06 - + , -0.4061E+01, 0.1339E+04, 0.1260E+07, -0.9752E+07 - + , 0.2065E+01, -0.4444E+03, 0.1433E+07, -0.1533E+08 - + , 0.7734E+00, 0.1157E+04, 0.8006E+06, 0.6214E+08, 12*0.0 / - DATA ((TMP(I,J, 48),I=1,MAXPOW),J=1,MAXINT) / - + 0.1876E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.8550E+04, -0.2785E+03, 0.2021E+01, 0.1032E-01 - + , 0.4933E+03, 0.1167E+04, -0.3452E+03, 0.2759E+02 - + , 0.2088E+04, 0.3036E+04, 0.1247E+04, -0.2691E+03 - + , 0.7508E+01, 0.2031E+04, 0.1014E+05, -0.4621E+04 - + , -0.2454E+03, 0.8162E+04, 0.2822E+05, -0.1156E+05 - + , -0.2677E+03, 0.8244E+04, 0.4935E+05, -0.1791E+05 - + , -0.2306E+02, 0.2129E+04, 0.1161E+06, -0.1547E+06 - + , -0.8206E+01, 0.2269E+04, 0.1268E+07, -0.9746E+07 - + , 0.2254E+01, -0.4904E+03, 0.1506E+07, -0.1642E+08 - + , 0.8123E+00, 0.1229E+04, 0.8686E+06, 0.5293E+08, 8*0.0 / - DATA ((TMP(I,J, 49),I=1,MAXPOW),J=1,MAXINT) / - + 0.1702E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.2333E+05, -0.1510E+04, 0.3498E+02, -0.2775E+00 - + , -0.4354E+04, 0.4933E+04, -0.1221E+04, 0.9073E+02 - + , -0.2048E+04, 0.9964E+04, -0.2857E+04, 0.7223E+03 - + , -0.1763E+03, 0.3053E+04, 0.9756E+04, -0.4718E+04 - + , -0.2324E+03, 0.7725E+04, 0.3333E+05, -0.1361E+05 - + , -0.2675E+03, 0.8828E+04, 0.5249E+05, -0.2065E+05 - + , -0.2149E+02, 0.2143E+04, 0.1256E+06, -0.1775E+06 - + , -0.2097E+01, 0.1045E+04, 0.1428E+07, -0.1216E+08 - + , 0.2233E+01, -0.3526E+03, 0.1578E+07, -0.1747E+08 - + , 0.8685E+00, 0.1331E+04, 0.9171E+06, 0.6234E+08, 8*0.0 / - DATA ((TMP(I,J, 50),I=1,MAXPOW),J=1,MAXINT) / - + 0.1857E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3071E+05, -0.2069E+04, 0.4886E+02, -0.3894E+00 - + , 0.6119E+02, 0.1769E+04, -0.5287E+03, 0.4438E+02 - + , 0.2325E+04, 0.2905E+04, 0.1395E+04, -0.1160E+03 - + , -0.8411E+03, 0.7174E+04, 0.3429E+04, -0.1945E+04 - + , -0.2078E+03, 0.6795E+04, 0.3953E+05, -0.1546E+05 - + , -0.2735E+03, 0.1006E+05, 0.5154E+05, -0.2316E+05 - + , 0.1409E+02, 0.5245E+03, 0.1554E+06, -0.2738E+06 - + , -0.6053E+01, 0.2153E+04, 0.1430E+07, -0.1218E+08 - + , 0.2434E+01, -0.4441E+03, 0.1694E+07, -0.2116E+08 - + , 0.9156E+00, 0.1438E+04, 0.9506E+06, 0.6990E+08, 8*0.0 / - DATA ((TMP(I,J, 51),I=1,MAXPOW),J=1,MAXINT) / - + 0.7076E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.2538E+05, -0.2014E+04, 0.5518E+02, -0.5093E+00 - + , -0.2753E+04, 0.3809E+04, -0.9187E+03, 0.6404E+02 - + , 0.4191E+04, 0.1201E+04, 0.6138E+03, 0.8057E+03 - + , 0.9566E+02, 0.1292E+04, 0.1534E+05, -0.8151E+04 - + , -0.2154E+03, 0.7884E+04, 0.3884E+05, -0.1742E+05 - + , -0.2413E+03, 0.8640E+04, 0.6267E+05, -0.2629E+05 - + , -0.2300E+02, 0.2351E+04, 0.1410E+06, -0.2130E+06 - + , -0.9816E+01, 0.3157E+04, 0.1443E+07, -0.1193E+08 - + , 0.2470E+01, -0.3671E+03, 0.1779E+07, -0.2260E+08 - + , 0.9713E+00, 0.1520E+04, 0.1016E+07, 0.7466E+08, 8*0.0 / - DATA ((TMP(I,J, 52),I=1,MAXPOW),J=1,MAXINT) / - + 0.9416E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.5818E+05, 0.1470E+05, -0.1039E+04, 0.2257E+02 - + , -0.2734E+04, 0.3947E+04, -0.9985E+03, 0.7313E+02 - + , -0.1058E+06, 0.2917E+06, -0.2491E+06, 0.7124E+05 - + , -0.4397E+02, 0.2059E+04, 0.1571E+05, -0.9021E+04 - + , -0.1946E+03, 0.7129E+04, 0.4399E+05, -0.1939E+05 - + , -0.2372E+03, 0.9166E+04, 0.6308E+05, -0.2911E+05 - + , 0.1086E+01, 0.1149E+04, 0.1640E+06, -0.2950E+06 - + , -0.3401E+01, 0.1832E+04, 0.1571E+07, -0.1426E+08 - + , 0.2389E+01, -0.1733E+03, 0.1798E+07, -0.2273E+08 - + , 0.1007E+01, 0.1586E+04, 0.1076E+07, 0.7154E+08, 8*0.0 / - DATA ((TMP(I,J, 53),I=1,MAXPOW),J=1,MAXINT) / - + 0.7020E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.2410E+05, -0.2114E+04, 0.6324E+02, -0.6266E+00 - + , -0.2554E+04, 0.4115E+04, -0.1059E+04, 0.7800E+02 - + , -0.4564E+05, 0.1181E+06, -0.9050E+05, 0.2490E+05 - + , 0.1940E+05, -0.1268E+05, -0.1443E+05, 0.1681E+05 - + , -0.1016E+04, 0.1150E+05, -0.8322E+04, 0.1024E+05 - + , -0.1833E+03, 0.6763E+04, 0.5201E+05, -0.2240E+05 - + , -0.2150E+03, 0.8275E+04, 0.7525E+05, -0.3297E+05 - + , -0.2566E+02, 0.2615E+04, 0.1595E+06, -0.2556E+06 - + , -0.3670E+01, 0.1872E+04, 0.1719E+07, -0.1646E+08 - + , 0.2225E+01, 0.1829E+03, 0.1881E+07, -0.2157E+08 - + , 0.1098E+01, 0.1755E+04, 0.1154E+07, 0.8971E+08, 4*0.0 / - DATA ((TMP(I,J, 54),I=1,MAXPOW),J=1,MAXINT) / - + 0.6262E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.7578E+05, -0.1206E+05, 0.6503E+03, -0.1177E+02 - + , -0.1456E+04, 0.3607E+04, -0.1050E+04, 0.8562E+02 - + , 0.5494E+05, -0.4316E+05, -0.3353E+05, 0.3122E+05 - + , -0.2422E+05, 0.6454E+05, -0.3914E+05, 0.8599E+04 - + , -0.6606E+03, 0.7269E+04, 0.6119E+04, -0.3383E+04 - + , -0.1565E+03, 0.5749E+04, 0.5985E+05, -0.2396E+05 - + , -0.2236E+03, 0.9444E+04, 0.7463E+05, -0.3742E+05 - + , -0.2010E+02, 0.2400E+04, 0.1720E+06, -0.2977E+06 - + , -0.1622E+01, 0.1830E+04, 0.1780E+07, -0.1721E+08 - + , 0.2082E+01, 0.3625E+03, 0.1962E+07, -0.2448E+08 - + , 0.1148E+01, 0.1892E+04, 0.1133E+07, 0.1244E+09, 4*0.0 / - DATA ((TMP(I,J, 55),I=1,MAXPOW),J=1,MAXINT) / - + 0.6813E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1642E+06, -0.2922E+05, 0.1724E+04, -0.3361E+02 - + , -0.2400E+04, 0.4936E+04, -0.1531E+04, 0.1354E+03 - + , 0.1295E+05, -0.7423E+04, -0.6620E+04, 0.9125E+04 - + , 0.6121E+03, -0.1572E+04, 0.2712E+05, -0.1563E+05 - + , -0.8402E+02, 0.2872E+04, 0.7699E+05, -0.1853E+05 - + , -0.2254E+03, 0.1010E+05, 0.7940E+05, -0.4284E+05 - + , -0.1987E+01, 0.1400E+04, 0.2040E+06, -0.4166E+06 - + , -0.4238E+01, 0.2444E+04, 0.1873E+07, -0.1899E+08 - + , 0.2278E+01, 0.4044E+03, 0.2085E+07, -0.2635E+08 - + , 0.1226E+01, 0.2030E+04, 0.1249E+07, 0.1169E+09, 8*0.0 / - DATA ((TMP(I,J, 56),I=1,MAXPOW),J=1,MAXINT) / - + 0.5765E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1759E+04, -0.2331E+03, 0.9598E+01, 0.3960E-01 - + , -0.4276E+03, 0.2995E+04, -0.9837E+03, 0.8771E+02 - + , 0.6154E+04, 0.1190E+04, -0.2858E+03, 0.1593E+04 - + , 0.2420E+03, -0.4033E+03, 0.3138E+05, -0.2304E+05 - + , -0.1084E+03, 0.4043E+04, 0.7718E+05, -0.2532E+05 - + , -0.1836E+03, 0.7952E+04, 0.9545E+05, -0.4532E+05 - + , 0.8708E+01, 0.7581E+03, 0.2258E+06, -0.5011E+06 - + , -0.5846E+01, 0.3162E+04, 0.1902E+07, -0.1948E+08 - + , 0.2590E+01, 0.2297E+03, 0.2236E+07, -0.3193E+08 - + , 0.1281E+01, 0.2144E+04, 0.1303E+07, 0.1193E+09, 8*0.0 / - DATA ((TMP(I,J, 57),I=1,MAXPOW),J=1,MAXINT) / - + 0.4514E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.2741E+05, -0.4218E+04, 0.2117E+03, -0.3183E+01 - + , -0.1231E+04, 0.4053E+04, -0.1329E+04, 0.1203E+03 - + , 0.2431E+04, 0.3780E+04, 0.2792E+04, -0.2167E+03 - + , -0.4024E+03, 0.8837E+04, 0.2398E+04, -0.4154E+03 - + , -0.2694E+03, 0.4549E+04, 0.1944E+05, -0.1264E+05 - + , -0.9085E+02, 0.3459E+04, 0.8639E+05, -0.2558E+05 - + , -0.1485E+03, 0.6357E+04, 0.1121E+06, -0.4626E+05 - + , -0.6527E+01, 0.1901E+04, 0.2209E+06, -0.4602E+06 - + , -0.7588E+01, 0.3685E+04, 0.1991E+07, -0.2054E+08 - + , 0.2727E+01, 0.3137E+03, 0.2346E+07, -0.3362E+08 - + , 0.1365E+01, 0.2298E+04, 0.1393E+07, 0.1220E+09, 4*0.0 / - DATA ((TMP(I,J, 58),I=1,MAXPOW),J=1,MAXINT) / - + 0.1542E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.2448E+05, -0.5012E+04, 0.3411E+03, -0.7413E+01 - + , -0.1622E+04, 0.4662E+04, -0.1505E+04, 0.1385E+03 - + , 0.5551E+05, -0.1769E+06, 0.2024E+06, -0.7125E+05 - + , 0.4656E+04, 0.6580E+04, -0.3256E+04, 0.8079E+03 - + , -0.2828E+03, 0.1019E+05, 0.2005E+04, -0.4180E+03 - + , 0.3264E+03, -0.7440E+03, 0.3609E+05, 0.2685E+05 - + , -0.7263E+02, 0.2822E+04, 0.9606E+05, -0.2458E+05 - + , -0.1695E+03, 0.8899E+04, 0.1139E+06, -0.5644E+05 - + , 0.1939E+02, 0.3799E+03, 0.2661E+06, -0.6583E+06 - + , -0.1029E+02, 0.4409E+04, 0.2101E+07, -0.2280E+08 - + , 0.2723E+01, 0.4916E+03, 0.2494E+07, -0.3595E+08 - + , 0.1464E+01, 0.2444E+04, 0.1486E+07, 0.1376E+09 - +/ - DATA ((TMP(I,J, 59),I=1,MAXPOW),J=1,MAXINT) / - + 0.3935E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.5885E+02, 0.5060E+02, 0.1142E+02, -0.2858E+00 - + , -0.2475E+04, 0.8072E+04, -0.2077E+04, 0.2099E+03 - + , -0.6489E+04, 0.2485E+05, -0.1060E+05, 0.2589E+04 - + , -0.5349E+03, 0.8049E+04, 0.5499E+04, -0.9313E+03 - + , -0.3829E+03, 0.1003E+05, 0.3437E+04, -0.7202E+03 - + , 0.1158E+03, 0.1754E+04, 0.2978E+05, -0.2081E+05 - + , -0.4523E+02, 0.1773E+04, 0.1075E+06, -0.1884E+05 - + , -0.1401E+03, 0.6504E+04, 0.1315E+06, -0.5758E+05 - + , 0.8492E+01, 0.8664E+03, 0.2819E+06, -0.7256E+06 - + , -0.9126E+01, 0.4223E+04, 0.2290E+07, -0.2709E+08 - + , 0.3207E+01, 0.3424E+03, 0.2697E+07, -0.4123E+08 - + , 0.1557E+01, 0.2710E+04, 0.1566E+07, 0.1383E+09 - +/ - DATA ((TMP(I,J, 60),I=1,MAXPOW),J=1,MAXINT) / - + 0.2269E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.1142E+04, 0.4035E+03, -0.1726E+02, 0.2479E+00 - + , -0.4138E+03, 0.3657E+04, -0.1265E+04, 0.1287E+03 - + , 0.1241E+05, -0.6608E+04, -0.8545E+04, 0.1174E+05 - + , 0.2239E+03, 0.1119E+05, -0.1181E+04, 0.2885E+03 - + , -0.3530E+03, 0.6609E+04, 0.1641E+05, -0.7462E+04 - + , -0.6644E+02, 0.2796E+04, 0.1098E+06, -0.2924E+05 - + , -0.1114E+03, 0.5206E+04, 0.1457E+06, -0.5559E+05 - + , 0.8287E+01, 0.9600E+03, 0.2935E+06, -0.7637E+06 - + , -0.9944E+01, 0.4886E+04, 0.2320E+07, -0.2702E+08 - + , 0.3820E+01, 0.8492E+02, 0.2868E+07, -0.4750E+08 - + , 0.1633E+01, 0.2833E+04, 0.1759E+07, 0.9295E+08, 4*0.0 / - DATA ((TMP(I,J, 61),I=1,MAXPOW),J=1,MAXINT) / - + 0.2285E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3175E+04, -0.4311E+03, 0.2911E+02, -0.5124E+00 - + , -0.7108E+03, 0.4102E+04, -0.1397E+04, 0.1482E+03 - + , -0.5546E+03, 0.7912E+04, 0.4958E+04, -0.7606E+03 - + , -0.5157E+03, 0.8937E+04, 0.6066E+04, -0.1148E+04 - + , -0.4607E+03, 0.9760E+04, 0.6028E+04, -0.1298E+04 - + , -0.1912E+03, 0.5138E+04, 0.2120E+05, -0.1345E+05 - + , -0.7165E+02, 0.3169E+04, 0.1166E+06, -0.3499E+05 - + , -0.2589E+03, 0.8215E+04, -0.1102E+06, 0.1824E+07 - + , -0.4251E+02, 0.4740E+04, 0.2377E+06, -0.4279E+06 - + , 0.9003E-01, 0.2739E+04, 0.2641E+07, -0.3336E+08 - + , 0.2857E+01, 0.1090E+04, 0.2888E+07, -0.4432E+08 - + , 0.1742E+01, 0.3069E+04, 0.1744E+07, 0.1719E+09 - +/ - DATA ((TMP(I,J, 62),I=1,MAXPOW),J=1,MAXINT) / - + 0.1754E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1174E+04, 0.1370E+03, -0.4815E+01, 0.3574E-01 - + , -0.1315E+04, 0.5218E+04, -0.1900E+04, 0.2181E+03 - + , -0.5499E+03, 0.7881E+04, 0.5664E+04, -0.8952E+03 - + , -0.1126E+03, 0.3912E+04, 0.3230E+05, -0.2774E+05 - + , -0.3580E+02, 0.1576E+04, 0.1290E+06, -0.2201E+05 - + , -0.6400E+02, 0.3084E+04, 0.1751E+06, -0.4595E+05 - + , 0.7096E+01, 0.1071E+04, 0.3267E+06, -0.9193E+06 - + , -0.1082E+02, 0.5919E+04, 0.2475E+07, -0.2997E+08 - + , 0.3844E+01, 0.4077E+03, 0.3137E+07, -0.5576E+08 - + , 0.1799E+01, 0.3181E+04, 0.1898E+07, 0.1263E+09, 8*0.0 / - DATA ((TMP(I,J, 63),I=1,MAXPOW),J=1,MAXINT) / - + 0.2047E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.4276E+04, -0.4382E+03, 0.2276E+02, -0.3499E+00 - + , -0.4678E+03, 0.4034E+04, -0.1326E+04, 0.1388E+03 - + , -0.5507E+03, 0.7936E+04, 0.6518E+04, -0.1058E+04 - + , -0.4589E+03, 0.1019E+05, 0.5669E+04, -0.1234E+04 - + , -0.4913E+03, 0.8740E+04, 0.1016E+05, -0.2142E+04 - + , -0.2288E+03, 0.5934E+04, 0.2154E+05, -0.1326E+05 - + , -0.2466E+02, 0.1115E+04, 0.1400E+06, -0.1768E+05 - + , -0.6266E+02, 0.3143E+04, 0.1878E+06, -0.5089E+05 - + , -0.4306E+01, 0.2026E+04, 0.3280E+06, -0.9012E+06 - + , -0.7610E+01, 0.5488E+04, 0.2642E+07, -0.3287E+08 - + , 0.3783E+01, 0.7655E+03, 0.3245E+07, -0.5731E+08 - + , 0.1904E+01, 0.3400E+04, 0.2020E+07, 0.1315E+09 - +/ - DATA ((TMP(I,J, 64),I=1,MAXPOW),J=1,MAXINT) / - + 0.1620E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1627E+04, 0.8320E+02, -0.5112E+01, 0.7828E-01 - + , -0.2404E+04, 0.7220E+04, -0.2684E+04, 0.2976E+03 - + , -0.5394E+03, 0.7849E+04, 0.7295E+04, -0.1216E+04 - + , -0.4486E+03, 0.1029E+05, 0.6091E+04, -0.1380E+04 - + , -0.4679E+03, 0.9424E+04, 0.9571E+04, -0.2201E+04 - + , -0.3017E+03, 0.6938E+04, 0.1944E+05, -0.1104E+05 - + , -0.5768E+02, 0.2841E+04, 0.1366E+06, -0.4131E+05 - + , -0.3358E+02, 0.1701E+04, 0.2029E+06, -0.3312E+05 - + , -0.8668E+01, 0.2379E+04, 0.3331E+06, -0.9285E+06 - + , 0.3209E+01, 0.1579E+04, 0.3144E+07, -0.4804E+08 - + , 0.1966E+01, 0.3553E+04, 0.2103E+07, 0.1345E+09, 4*0.0 / - DATA ((TMP(I,J, 65),I=1,MAXPOW),J=1,MAXINT) / - + 0.1879E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3021E+04, -0.1618E+03, 0.9979E+01, -0.1862E+00 - + , -0.1406E+04, 0.5621E+04, -0.1912E+04, 0.2075E+03 - + , -0.5345E+03, 0.7632E+04, 0.8660E+04, -0.1449E+04 - + , -0.4988E+03, 0.9401E+04, 0.9226E+04, -0.2000E+04 - + , -0.4700E+03, 0.9391E+04, 0.1117E+05, -0.2613E+04 - + , -0.1902E+03, 0.5724E+04, 0.2615E+05, -0.1782E+05 - + , -0.1568E+03, 0.1116E+05, 0.8757E+05, -0.7647E+05 - + , -0.4533E+02, 0.2421E+04, 0.2126E+06, -0.4859E+05 - + , -0.4721E+01, 0.2127E+04, 0.3644E+06, -0.1109E+07 - + , 0.3903E+01, 0.1250E+04, 0.3405E+07, -0.5637E+08 - + , 0.2077E+01, 0.3763E+04, 0.2261E+07, 0.1115E+09, 4*0.0 / - DATA ((TMP(I,J, 66),I=1,MAXPOW),J=1,MAXINT) / - + 0.3294E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3167E+04, -0.4242E+02, 0.5269E+01, -0.1178E+00 - + , -0.1109E+04, 0.5234E+04, -0.1650E+04, 0.1694E+03 - + , -0.5242E+03, 0.7751E+04, 0.9341E+04, -0.1624E+04 - + , -0.4635E+03, 0.1050E+05, 0.8066E+04, -0.1930E+04 - + , -0.4608E+03, 0.9448E+04, 0.1216E+05, -0.2942E+04 - + , -0.1077E+03, 0.4675E+04, 0.3253E+05, -0.2519E+05 - + , -0.6326E+02, 0.3407E+04, 0.1499E+06, -0.5526E+05 - + , -0.7262E+02, 0.4176E+04, 0.2130E+06, -0.8026E+05 - + , -0.1800E+02, 0.3374E+04, 0.3526E+06, -0.9982E+06 - + , 0.4112E+01, 0.1344E+04, 0.3520E+07, -0.5867E+08 - + , 0.2166E+01, 0.3928E+04, 0.2396E+07, 0.1007E+09, 4*0.0 / - DATA ((TMP(I,J, 67),I=1,MAXPOW),J=1,MAXINT) / - + 0.1647E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.2949E+04, -0.5473E+02, -0.1313E+01, 0.5447E-01 - + , -0.1961E+04, 0.6859E+04, -0.2353E+04, 0.2538E+03 - + , -0.5221E+03, 0.8169E+04, 0.9852E+04, -0.1807E+04 - + , -0.4878E+03, 0.9589E+04, 0.1119E+05, -0.2580E+04 - + , -0.4549E+03, 0.9349E+04, 0.1378E+05, -0.3393E+04 - + , -0.1379E+03, 0.5032E+04, 0.3428E+05, -0.2787E+05 - + , -0.4939E+02, 0.2705E+04, 0.1628E+06, -0.5056E+05 - + , -0.4426E+02, 0.2555E+04, 0.2349E+06, -0.5948E+05 - + , -0.2988E+01, 0.2094E+04, 0.4072E+06, -0.1335E+07 - + , 0.5131E+01, 0.5023E+03, 0.4000E+07, -0.7974E+08 - + , 0.2274E+01, 0.4258E+04, 0.2387E+07, 0.1450E+09, 4*0.0 / - DATA ((TMP(I,J, 68),I=1,MAXPOW),J=1,MAXINT) / - + 0.2419E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3178E+04, -0.8940E+02, 0.5741E+01, -0.1173E+00 - + , -0.1598E+04, 0.6371E+04, -0.2015E+04, 0.1951E+03 - + , -0.5148E+03, 0.8464E+04, 0.1038E+05, -0.1998E+04 - + , -0.4781E+03, 0.8546E+04, 0.1463E+05, -0.3195E+04 - + , -0.4470E+03, 0.9490E+04, 0.1489E+05, -0.3799E+04 - + , -0.2279E+03, 0.6501E+04, 0.3083E+05, -0.2363E+05 - + , -0.5162E+02, 0.2947E+04, 0.1710E+06, -0.5828E+05 - + , -0.5360E+02, 0.3254E+04, 0.2449E+06, -0.7821E+05 - + , 0.6456E+01, 0.1211E+04, 0.4583E+06, -0.1684E+07 - + , -0.4025E+01, 0.2031E+04, 0.3795E+07, -0.6651E+08 - + , 0.2386E+01, 0.4497E+04, 0.2558E+07, 0.1403E+09, 4*0.0 / - DATA ((TMP(I,J, 69),I=1,MAXPOW),J=1,MAXINT) / - + 0.1729E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.5004E+04, -0.3383E+03, 0.1358E+02, -0.1932E+00 - + , -0.1721E+04, 0.6821E+04, -0.2191E+04, 0.2162E+03 - + , -0.5074E+03, 0.8420E+04, 0.1161E+05, -0.2277E+04 - + , 0.4504E+03, -0.4717E+04, 0.9421E+05, -0.1104E+06 - + , -0.5189E+02, 0.3077E+04, 0.1808E+06, -0.6499E+05 - + , -0.5311E+02, 0.3348E+04, 0.2598E+06, -0.8657E+05 - + , -0.3887E+01, 0.2132E+04, 0.4637E+06, -0.1723E+07 - + , 0.4124E+01, 0.2299E+04, 0.3956E+07, -0.7043E+08 - + , 0.2512E+01, 0.4774E+04, 0.2690E+07, 0.1454E+09, 12*0.0 / - DATA ((TMP(I,J, 70),I=1,MAXPOW),J=1,MAXINT) / - + 0.2440E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.5923E+04, -0.5235E+03, 0.2450E+02, -0.3644E+00 - + , -0.1402E+04, 0.6524E+04, -0.1996E+04, 0.1849E+03 - + , -0.4649E+03, 0.1046E+05, 0.8110E+04, -0.1188E+04 - + , 0.3077E+03, -0.2145E+04, 0.8374E+05, -0.9504E+05 - + , -0.5328E+02, 0.3291E+04, 0.1869E+06, -0.7332E+05 - + , -0.7311E+02, 0.4929E+04, 0.2602E+06, -0.1239E+06 - + , -0.2434E+02, 0.4269E+04, 0.4243E+06, -0.1379E+07 - + , 0.4575E+01, 0.2312E+04, 0.4086E+07, -0.7562E+08 - + , 0.2606E+01, 0.4980E+04, 0.2895E+07, 0.9923E+08, 12*0.0 / - DATA ((TMP(I,J, 71),I=1,MAXPOW),J=1,MAXINT) / - + 0.2123E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.8368E+04, -0.1105E+04, 0.5971E+02, -0.9746E+00 - + , -0.1536E+04, 0.7063E+04, -0.2291E+04, 0.2250E+03 - + , -0.4936E+03, 0.9095E+04, 0.1255E+05, -0.2717E+04 - + , 0.2304E+03, -0.1379E+04, 0.8594E+05, -0.1012E+06 - + , -0.5213E+02, 0.3333E+04, 0.1974E+06, -0.7977E+05 - + , -0.5333E+02, 0.3627E+04, 0.2858E+06, -0.1071E+06 - + , 0.3726E+01, 0.1486E+04, 0.5352E+06, -0.2222E+07 - + , 0.5266E+01, 0.2137E+04, 0.4329E+07, -0.8327E+08 - + , 0.2736E+01, 0.5209E+04, 0.3153E+07, 0.5239E+08, 12*0.0 / - DATA ((TMP(I,J, 72),I=1,MAXPOW),J=1,MAXINT) / - + 0.5463E+04, -0.2212E+03, 0.3566E+01, -0.1819E-01 - + , 0.9488E+04, -0.1416E+04, 0.8076E+02, -0.1382E+01 - + , -0.1796E+04, 0.7903E+04, -0.2748E+04, 0.2932E+03 - + , -0.4835E+03, 0.9549E+04, 0.1284E+05, -0.2957E+04 - + , 0.3480E+03, -0.3031E+04, 0.9762E+05, -0.1203E+06 - + , -0.6090E+02, 0.4112E+04, 0.2015E+06, -0.9934E+05 - + , -0.7386E+02, 0.5387E+04, 0.2859E+06, -0.1536E+06 - + , -0.1873E+02, 0.4102E+04, 0.4698E+06, -0.1572E+07 - + , 0.4753E+01, 0.2673E+04, 0.4462E+07, -0.8960E+08 - + , 0.2845E+01, 0.5554E+04, 0.3013E+07, 0.1535E+09, 12*0.0 / - DATA ((TMP(I,J, 73),I=1,MAXPOW),J=1,MAXINT) / - + -0.9358E+04, 0.4382E+03, -0.5661E+01, 0.2301E-01 - + , 0.3537E+05, -0.2591E+04, 0.6585E+02, -0.5643E+00 - + , 0.9000E+04, -0.1376E+04, 0.8354E+02, -0.1487E+01 - + , -0.1944E+04, 0.8490E+04, -0.3040E+04, 0.3330E+03 - + , -0.4771E+03, 0.1003E+05, 0.1338E+05, -0.3254E+04 - + , 0.1047E+03, 0.6524E+03, 0.8380E+05, -0.1025E+06 - + , -0.5521E+02, 0.3828E+04, 0.2145E+06, -0.1019E+06 - + , -0.4987E+02, 0.3641E+04, 0.3160E+06, -0.1250E+06 - + , -0.2176E+01, 0.2172E+04, 0.5708E+06, -0.2482E+07 - + , 0.5194E+01, 0.2794E+04, 0.4645E+07, -0.9648E+08 - + , 0.2973E+01, 0.5785E+04, 0.3320E+07, 0.9608E+08, 8*0.0 / - DATA ((TMP(I,J, 74),I=1,MAXPOW),J=1,MAXINT) / - + -0.2084E+04, 0.1834E+03, -0.2686E+01, 0.1131E-01 - + , -0.1398E+05, 0.2451E+04, -0.1057E+03, 0.1381E+01 - + , 0.9985E+04, -0.1816E+04, 0.1301E+03, -0.2747E+01 - + , -0.1826E+04, 0.8623E+04, -0.3114E+04, 0.3432E+03 - + , -0.4666E+03, 0.1057E+05, 0.1355E+05, -0.3503E+04 - + , 0.1412E+03, 0.2762E+03, 0.8940E+05, -0.1129E+06 - + , -0.6206E+02, 0.4525E+04, 0.2194E+06, -0.1223E+06 - + , -0.1211E+03, 0.1058E+05, 0.2701E+06, -0.2556E+06 - + , -0.2105E+02, 0.4623E+04, 0.5109E+06, -0.1184E+07 - + , 0.5276E+01, 0.2999E+04, 0.4828E+07, -0.1030E+09 - + , 0.3099E+01, 0.6112E+04, 0.3348E+07, 0.1310E+09, 8*0.0 / - DATA ((TMP(I,J, 75),I=1,MAXPOW),J=1,MAXINT) / - + -0.5759E+04, 0.4019E+03, -0.6479E+01, 0.3113E-01 - + , 0.1235E+05, -0.2571E+04, 0.1879E+03, -0.4072E+01 - + , -0.1846E+04, 0.9196E+04, -0.3553E+04, 0.4261E+03 - + , -0.4438E+03, 0.1148E+05, 0.1253E+05, -0.3520E+04 - + , 0.1961E+03, -0.3585E+03, 0.9550E+05, -0.1180E+06 - + , -0.5721E+02, 0.4284E+04, 0.2331E+06, -0.1270E+06 - + , -0.1192E+03, 0.1081E+05, 0.2828E+06, -0.2788E+06 - + , -0.8548E+01, 0.3122E+04, 0.5972E+06, -0.2571E+07 - + , 0.4901E+01, 0.3621E+04, 0.4969E+07, -0.1085E+09 - + , 0.3238E+01, 0.6600E+04, 0.3237E+07, 0.2204E+09, 12*0.0 / - DATA ((TMP(I,J, 76),I=1,MAXPOW),J=1,MAXINT) / - + 0.5189E+03, 0.1085E+03, -0.2362E+01, 0.1285E-01 - + , 0.9943E+04, -0.1964E+04, 0.1499E+03, -0.3533E+01 - + , -0.1915E+04, 0.9625E+04, -0.3819E+04, 0.4641E+03 - + , -0.4312E+03, 0.1174E+05, 0.1298E+05, -0.3813E+04 - + , -0.7620E+02, 0.3809E+04, 0.8189E+05, -0.1090E+06 - + , -0.5946E+02, 0.4643E+04, 0.2401E+06, -0.1434E+06 - + , -0.1116E+03, 0.1035E+05, 0.3012E+06, -0.2961E+06 - + , -0.1803E+02, 0.4548E+04, 0.5700E+06, -0.2246E+07 - + , 0.5735E+01, 0.3318E+04, 0.5232E+07, -0.1209E+09 - + , 0.3351E+01, 0.6829E+04, 0.3509E+07, 0.1607E+09, 12*0.0 / - DATA ((TMP(I,J, 77),I=1,MAXPOW),J=1,MAXINT) / - + -0.9441E+02, 0.1284E+03, -0.2563E+01, 0.1347E-01 - + , 0.9926E+04, -0.2049E+04, 0.1630E+03, -0.4025E+01 - + , -0.2391E+04, 0.1087E+05, -0.4456E+04, 0.5612E+03 - + , -0.4371E+03, 0.1150E+05, 0.1539E+05, -0.4560E+04 - + , 0.1540E+03, -0.7160E+03, 0.1147E+06, -0.1673E+06 - + , -0.5153E+02, 0.4097E+04, 0.2582E+06, -0.1419E+06 - + , -0.1366E+03, 0.1456E+05, 0.2707E+06, -0.3461E+06 - + , -0.1995E+02, 0.4906E+04, 0.6064E+06, -0.2648E+07 - + , 0.6213E+01, 0.3458E+04, 0.5442E+07, -0.1286E+09 - + , 0.3505E+01, 0.7126E+04, 0.3805E+07, 0.1114E+09, 12*0.0 / - DATA ((TMP(I,J, 78),I=1,MAXPOW),J=1,MAXINT) / - + 0.1220E+05, -0.3768E+03, 0.4167E+01, -0.1564E-01 - + , 0.1396E+05, -0.1184E+04, 0.3650E+02, -0.3548E+00 - + , 0.1172E+05, -0.2752E+04, 0.2212E+03, -0.4579E+01 - + , -0.2373E+04, 0.1129E+05, -0.4739E+04, 0.6166E+03 - + , -0.4333E+03, 0.1147E+05, 0.1710E+05, -0.5181E+04 - + , -0.7755E+02, 0.2847E+04, 0.1047E+06, -0.1599E+06 - + , -0.6719E+02, 0.5737E+04, 0.2565E+06, -0.1880E+06 - + , -0.1399E+03, 0.1605E+05, 0.2671E+06, -0.3742E+06 - + , 0.1076E+02, 0.9617E+03, 0.7776E+06, -0.4207E+07 - + , 0.6088E+01, 0.4001E+04, 0.5552E+07, -0.1300E+09 - + , 0.3646E+01, 0.7453E+04, 0.3931E+07, 0.1226E+09, 8*0.0 / - DATA ((TMP(I,J, 79),I=1,MAXPOW),J=1,MAXINT) / - + 0.4105E+04, 0.2410E+02, -0.1837E+01, 0.1252E-01 - + , 0.1581E+05, -0.4931E+04, 0.5197E+03, -0.1622E+02 - + , -0.2231E+04, 0.1142E+05, -0.4781E+04, 0.6012E+03 - + , -0.4203E+03, 0.1212E+05, 0.1690E+05, -0.5448E+04 - + , 0.1443E+03, -0.4096E+03, 0.1249E+06, -0.1944E+06 - + , -0.8194E+02, 0.7574E+04, 0.2506E+06, -0.2318E+06 - + , -0.1134E+03, 0.1194E+05, 0.3355E+06, -0.3921E+06 - + , -0.3392E+01, 0.3070E+04, 0.7247E+06, -0.3499E+07 - + , 0.7917E+01, 0.2918E+04, 0.6095E+07, -0.1596E+09 - + , 0.3811E+01, 0.7846E+04, 0.4248E+07, 0.4571E+08, 12*0.0 / - DATA ((TMP(I,J, 80),I=1,MAXPOW),J=1,MAXINT) / - + 0.5142E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1780E+05, -0.5970E+04, 0.6765E+03, -0.2176E+02 - + , -0.2317E+04, 0.1206E+05, -0.5219E+04, 0.7004E+03 - + , -0.3961E+03, 0.1286E+05, 0.1582E+05, -0.5482E+04 - + , 0.2241E+03, -0.2195E+04, 0.1429E+06, -0.2325E+06 - + , -0.7533E+02, 0.7084E+04, 0.2675E+06, -0.2412E+06 - + , -0.1288E+03, 0.1524E+05, 0.3090E+06, -0.4397E+06 - + , 0.4681E+00, 0.2405E+04, 0.7958E+06, -0.4232E+07 - + , 0.6983E+01, 0.4309E+04, 0.5980E+07, -0.1518E+09 - + , 0.3946E+01, 0.8311E+04, 0.4256E+07, 0.8942E+08, 12*0.0 / - DATA ((TMP(I,J, 81),I=1,MAXPOW),J=1,MAXINT) / - + 0.1823E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.1010E+05, 0.1911E+04, -0.7721E+02, 0.9111E+00 - + , 0.1488E+05, -0.4878E+04, 0.5536E+03, -0.1923E+02 - + , -0.2399E+04, 0.1271E+05, -0.5745E+04, 0.7873E+03 - + , -0.4087E+03, 0.1156E+05, 0.2169E+05, -0.7188E+04 - + , 0.1551E+03, -0.9040E+03, 0.1404E+06, -0.2314E+06 - + , -0.6647E+02, 0.6324E+04, 0.2871E+06, -0.2439E+06 - + , -0.1405E+03, 0.2137E+05, 0.2340E+06, -0.4290E+06 - + , -0.1063E+02, 0.4195E+04, 0.7543E+06, -0.3747E+07 - + , 0.7684E+01, 0.4048E+04, 0.6314E+07, -0.1714E+09 - + , 0.4082E+01, 0.8543E+04, 0.4521E+07, 0.5178E+08, 8*0.0 / - DATA ((TMP(I,J, 82),I=1,MAXPOW),J=1,MAXINT) / - + 0.1569E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.9651E+04, 0.1870E+04, -0.7761E+02, 0.9425E+00 - + , 0.1609E+05, -0.5855E+04, 0.7149E+03, -0.2672E+02 - + , -0.2194E+04, 0.1239E+05, -0.5418E+04, 0.6794E+03 - + , -0.4016E+03, 0.1173E+05, 0.2316E+05, -0.7955E+04 - + , 0.6749E+02, 0.6789E+03, 0.1401E+06, -0.2437E+06 - + , -0.7125E+02, 0.7126E+04, 0.2931E+06, -0.2779E+06 - + , -0.1363E+03, 0.1992E+05, 0.2721E+06, -0.4887E+06 - + , -0.8206E+01, 0.4058E+04, 0.7950E+06, -0.4115E+07 - + , 0.7595E+01, 0.4692E+04, 0.6429E+07, -0.1747E+09 - + , 0.4240E+01, 0.8883E+04, 0.4754E+07, 0.3448E+08, 8*0.0 / - DATA ((TMP(I,J, 83),I=1,MAXPOW),J=1,MAXINT) / - + -0.4395E+03, 0.1185E+02, 0.2207E+00, -0.1865E-02 - + , 0.4586E+04, -0.1052E+03, -0.2706E+01, 0.7877E-01 - + , 0.1118E+05, -0.3159E+03, -0.9250E+01, 0.2918E+00 - + , -0.1578E+05, 0.3450E+04, -0.1741E+03, 0.2596E+01 - + , 0.2124E+05, -0.8884E+04, 0.1240E+04, -0.5312E+02 - + , -0.1835E+04, 0.1188E+05, -0.5123E+04, 0.6229E+03 - + , -0.3943E+03, 0.1129E+05, 0.2671E+05, -0.9164E+04 - + , 0.2402E+03, -0.2657E+04, 0.1637E+06, -0.2867E+06 - + , -0.6824E+02, 0.7005E+04, 0.3089E+06, -0.2951E+06 - + , -0.1337E+03, 0.1999E+05, 0.2903E+06, -0.5342E+06 - + , -0.1411E+01, 0.3094E+04, 0.8901E+06, -0.5203E+07 - + , 0.9935E+01, 0.3289E+04, 0.6983E+07, -0.2020E+09 - + , 0.4425E+01, 0.9396E+04, 0.5008E+07, -0.5280E+08 - +/ - DATA ((TMP(I,J, 84),I=1,MAXPOW),J=1,MAXINT) / - + 0.1109E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1939E+05, -0.1380E+04, 0.3526E+02, -0.3106E+00 - + , 0.9152E+04, -0.3829E+04, 0.5535E+03, -0.2106E+02 - + , -0.1131E+04, 0.1041E+05, -0.4126E+04, 0.4235E+03 - + , -0.3899E+03, 0.1134E+05, 0.2963E+05, -0.1038E+05 - + , 0.4918E+03, -0.1053E+05, 0.2383E+06, -0.4647E+06 - + , -0.7471E+02, 0.8106E+04, 0.3143E+06, -0.3397E+06 - + , -0.1335E+03, 0.2199E+05, 0.2786E+06, -0.5569E+06 - + , 0.7789E+01, 0.1767E+04, 0.1003E+07, -0.6443E+07 - + , 0.8525E+01, 0.5102E+04, 0.6990E+07, -0.2009E+09 - + , 0.4633E+01, 0.9868E+04, 0.5142E+07, 0.1775E+08, 8*0.0 / - DATA ((TMP(I,J, 85),I=1,MAXPOW),J=1,MAXINT) / - + 0.5224E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.2744E+05, -0.2310E+04, 0.6658E+02, -0.6458E+00 - + , 0.6422E+04, -0.2954E+04, 0.4933E+03, -0.2019E+02 - + , -0.1933E+04, 0.1303E+05, -0.5806E+04, 0.6870E+03 - + , -0.3889E+03, 0.1171E+05, 0.3195E+05, -0.1160E+05 - + , 0.3129E+03, -0.6378E+04, 0.2158E+06, -0.4073E+06 - + , -0.6880E+02, 0.7565E+04, 0.3411E+06, -0.3547E+06 - + , -0.1280E+03, 0.1941E+05, 0.3508E+06, -0.6558E+06 - + , -0.1695E+01, 0.3621E+04, 0.9665E+06, -0.5746E+07 - + , 0.9913E+01, 0.4822E+04, 0.7370E+07, -0.2163E+09 - + , 0.4871E+01, 0.1062E+05, 0.5352E+07, -0.2702E+08, 8*0.0 / - DATA ((TMP(I,J, 86),I=1,MAXPOW),J=1,MAXINT) / - + 0.1284E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.7912E+03, 0.2111E+04, -0.1709E+03, 0.3589E+01 - + , 0.1243E+05, -0.6150E+04, 0.1021E+04, -0.4644E+02 - + , -0.1804E+04, 0.1279E+05, -0.5624E+04, 0.6228E+03 - + , -0.3616E+03, 0.1088E+05, 0.3423E+05, -0.1248E+05 - + , 0.1691E+03, -0.2424E+04, 0.1954E+06, -0.4008E+06 - + , -0.6756E+02, 0.7739E+04, 0.3363E+06, -0.3748E+06 - + , -0.1220E+03, 0.1976E+05, 0.3335E+06, -0.6657E+06 - + , -0.5899E+00, 0.3312E+04, 0.9833E+06, -0.6258E+07 - + , 0.8633E+01, 0.5888E+04, 0.7122E+07, -0.2120E+09 - + , 0.4841E+01, 0.1057E+05, 0.5286E+07, 0.1022E+08, 8*0.0 / - DATA ((TMP(I,J, 87),I=1,MAXPOW),J=1,MAXINT) / - + 0.1287E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.9129E+04, 0.3064E+04, -0.1840E+03, 0.2869E+01 - + , 0.1217E+05, -0.1865E+04, -0.1031E+04, 0.1980E+03 - + , -0.2201E+04, 0.1461E+05, -0.7082E+04, 0.9132E+03 - + , -0.3615E+03, 0.1150E+05, 0.3541E+05, -0.1363E+05 - + , -0.5769E+03, 0.1660E+05, 0.5526E+05, -0.7044E+05 - + , -0.6236E+02, 0.7249E+04, 0.3612E+06, -0.3893E+06 - + , -0.1213E+03, 0.2052E+05, 0.3455E+06, -0.7195E+06 - + , -0.8453E+01, 0.4660E+04, 0.9757E+06, -0.6010E+07 - + , 0.1104E+02, 0.4630E+04, 0.7706E+07, -0.2445E+09 - + , 0.5063E+01, 0.1115E+05, 0.5666E+07, -0.1082E+09, 8*0.0 / - DATA ((TMP(I,J, 88),I=1,MAXPOW),J=1,MAXINT) / - + 0.1415E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.3003E+05, 0.8875E+04, -0.6798E+03, 0.1571E+02 - + , 0.2941E+05, -0.1786E+05, 0.3591E+04, -0.2242E+03 - + , -0.1852E+04, 0.1361E+05, -0.6123E+04, 0.6294E+03 - + , -0.3547E+03, 0.1164E+05, 0.3753E+05, -0.1492E+05 - + , 0.2933E+03, -0.6829E+04, 0.2528E+06, -0.5565E+06 - + , -0.6085E+02, 0.7287E+04, 0.3762E+06, -0.4161E+06 - + , -0.1192E+03, 0.2119E+05, 0.3500E+06, -0.7644E+06 - + , -0.1024E+02, 0.5310E+04, 0.9756E+06, -0.5773E+07 - + , 0.1241E+02, 0.3727E+04, 0.8307E+07, -0.2833E+09 - + , 0.5211E+01, 0.1168E+05, 0.5739E+07, -0.9046E+08, 8*0.0 / - DATA ((TMP(I,J, 89),I=1,MAXPOW),J=1,MAXINT) / - + 0.1258E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.2747E+04, 0.3975E+03, 0.1941E+03, -0.1439E+02 - + , 0.1958E+05, -0.9878E+04, 0.1388E+04, -0.1778E+02 - + , -0.2098E+04, 0.1506E+05, -0.7581E+04, 0.9825E+03 - + , -0.3474E+03, 0.1153E+05, 0.4113E+05, -0.1657E+05 - + , 0.5789E+03, -0.1507E+05, 0.3328E+06, -0.7718E+06 - + , -0.6339E+02, 0.7915E+04, 0.3884E+06, -0.4637E+06 - + , -0.1182E+03, 0.2194E+05, 0.3621E+06, -0.8244E+06 - + , 0.8142E+01, 0.2287E+04, 0.1185E+07, -0.8439E+07 - + , 0.1003E+02, 0.6690E+04, 0.7961E+07, -0.2545E+09 - + , 0.5479E+01, 0.1217E+05, 0.5897E+07, -0.2287E+08, 8*0.0 / - DATA ((TMP(I,J, 90),I=1,MAXPOW),J=1,MAXINT) / - + 0.1134E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1398E+05, -0.6113E+04, 0.8572E+03, -0.2963E+02 - + , -0.1466E+04, 0.1349E+05, -0.6743E+04, 0.1013E+04 - + , -0.3308E+03, 0.1094E+05, 0.4517E+05, -0.1812E+05 - + , 0.2265E+03, -0.3796E+04, 0.2424E+06, -0.5526E+06 - + , -0.5998E+02, 0.7669E+04, 0.4039E+06, -0.4843E+06 - + , -0.1152E+03, 0.2229E+05, 0.3694E+06, -0.8743E+06 - + , -0.1965E+02, 0.7238E+04, 0.9916E+06, -0.5869E+07 - + , 0.1150E+02, 0.6085E+04, 0.8292E+07, -0.2758E+09 - + , 0.5620E+01, 0.1245E+05, 0.6338E+07, -0.1549E+09, 12*0.0 / - DATA ((TMP(I,J, 91),I=1,MAXPOW),J=1,MAXINT) / - + 0.2194E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.8794E+04, -0.2841E+04, 0.2038E+03, 0.1370E+02 - + , -0.2042E+04, 0.1581E+05, -0.8451E+04, 0.1211E+04 - + , -0.3240E+03, 0.1078E+05, 0.5022E+05, -0.2015E+05 - + , 0.1921E+04, -0.5267E+05, 0.6573E+06, -0.1562E+07 - + , -0.6436E+02, 0.8617E+04, 0.4180E+06, -0.5495E+06 - + , -0.1129E+03, 0.2138E+05, 0.4231E+06, -0.9875E+06 - + , 0.1526E+02, 0.1356E+04, 0.1351E+07, -0.1082E+08 - + , 0.1254E+02, 0.5894E+04, 0.8877E+07, -0.3120E+09 - + , 0.5918E+01, 0.1306E+05, 0.6683E+07, -0.1778E+09, 12*0.0 / - DATA ((TMP(I,J, 92),I=1,MAXPOW),J=1,MAXINT) / - + 0.4400E+04, -0.1564E+03, 0.2241E+01, -0.1062E-01 - + , -0.2175E+04, 0.4327E+03, -0.1164E+02, 0.8742E-01 - + , 0.1528E+05, -0.7106E+04, 0.1060E+04, -0.4036E+02 - + , -0.1807E+04, 0.1483E+05, -0.7405E+04, 0.8426E+03 - + , -0.3148E+03, 0.1094E+05, 0.5041E+05, -0.2121E+05 - + , -0.1100E+03, 0.4889E+04, 0.1908E+06, -0.4810E+06 - + , -0.6720E+02, 0.9489E+04, 0.4107E+06, -0.6000E+06 - + , -0.1033E+03, 0.1864E+05, 0.4878E+06, -0.1076E+07 - + , 0.6281E+00, 0.3792E+04, 0.1281E+07, -0.1003E+08 - + , 0.1146E+02, 0.7568E+04, 0.8699E+07, -0.3106E+09 - + , 0.6017E+01, 0.1327E+05, 0.7079E+07, -0.2456E+09, 8*0.0 / - DATA ((TMP(I,J, 93),I=1,MAXPOW),J=1,MAXINT) / - + 0.2522E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.1668E+05, -0.8606E+04, 0.1441E+04, -0.6401E+02 - + , -0.2561E+04, 0.1858E+05, -0.1101E+05, 0.1791E+04 - + , -0.3232E+03, 0.1200E+05, 0.6096E+05, -0.2302E+05 - + , -0.4467E+02, 0.2778E+04, 0.2204E+06, -0.5257E+06 - + , -0.6355E+02, 0.9093E+04, 0.4439E+06, -0.6341E+06 - + , -0.1103E+03, 0.2501E+05, 0.3841E+06, -0.1044E+07 - + , 0.5579E+01, 0.3489E+04, 0.1354E+07, -0.1078E+08 - + , 0.1272E+02, 0.7422E+04, 0.9191E+07, -0.3336E+09 - + , 0.6330E+01, 0.1392E+05, 0.7484E+07, -0.3064E+09, 12*0.0 / - DATA ((TMP(I,J, 94),I=1,MAXPOW),J=1,MAXINT) / - + 0.3508E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.2939E+04, 0.8224E+03, -0.3576E+02, 0.5087E+00 - + , 0.1270E+05, -0.6607E+04, 0.1093E+04, -0.3674E+02 - + , -0.2063E+04, 0.1760E+05, -0.1057E+05, 0.1695E+04 - + , -0.3181E+03, 0.1245E+05, 0.5096E+05, -0.2427E+05 - + , 0.3925E+03, -0.1022E+05, 0.3515E+06, -0.9309E+06 - + , -0.6367E+02, 0.9444E+04, 0.4539E+06, -0.6824E+06 - + , -0.1065E+03, 0.2299E+05, 0.4461E+06, -0.1181E+07 - + , -0.1248E+02, 0.6703E+04, 0.1250E+07, -0.9411E+07 - + , 0.1781E+02, 0.3158E+04, 0.1075E+08, -0.4693E+09 - + , 0.6490E+01, 0.1422E+05, 0.8179E+07, -0.5340E+09, 8*0.0 / - DATA ((TMP(I,J, 95),I=1,MAXPOW),J=1,MAXINT) / - + 0.9600E+03, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3669E+04, -0.1927E+04, 0.3556E+03, -0.1775E+02 - + , -0.8806E+05, 0.1824E+06, -0.1119E+06, 0.2150E+05 - + , -0.8786E+03, 0.1063E+05, -0.5553E+03, -0.1750E+04 - + , -0.3188E+03, 0.1325E+05, 0.5127E+05, -0.2586E+05 - + , 0.3232E+03, -0.9027E+04, 0.3584E+06, -0.9931E+06 - + , -0.6201E+02, 0.9427E+04, 0.4778E+06, -0.7281E+06 - + , -0.9199E+02, 0.1716E+05, 0.6101E+06, -0.1350E+07 - + , -0.3730E+01, 0.5425E+04, 0.1376E+07, -0.1109E+08 - + , 0.1966E+02, 0.2217E+04, 0.1154E+08, -0.5298E+09 - + , 0.6763E+01, 0.1479E+05, 0.8647E+07, -0.6116E+09, 8*0.0 / - DATA ((TMP(I,J, 96),I=1,MAXPOW),J=1,MAXINT) / - + 0.1000E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3148E+04, -0.1605E+04, 0.2954E+03, -0.1411E+02 - + , -0.7979E+05, 0.1716E+06, -0.1079E+06, 0.2118E+05 - + , -0.8139E+03, 0.1040E+05, 0.4547E+03, -0.2530E+04 - + , -0.3144E+03, 0.1378E+05, 0.5160E+05, -0.2733E+05 - + , -0.2912E+03, 0.1117E+05, 0.1679E+06, -0.4469E+06 - + , -0.5879E+02, 0.9126E+04, 0.4981E+06, -0.7597E+06 - + , -0.1010E+03, 0.2212E+05, 0.5193E+06, -0.1402E+07 - + , -0.1147E+02, 0.7190E+04, 0.1327E+07, -0.1016E+08 - + , 0.2200E+02, 0.1083E+04, 0.1208E+08, -0.5684E+09 - + , 0.7017E+01, 0.1439E+05, 0.9471E+07, -0.8527E+09, 8*0.0 / - DATA ((TMP(I,J, 97),I=1,MAXPOW),J=1,MAXINT) / - + 0.1100E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3725E+04, -0.1998E+04, 0.3728E+03, -0.1783E+02 - + , -0.1348E+06, 0.2867E+06, -0.1865E+06, 0.3853E+05 - + , -0.1092E+04, 0.1257E+05, -0.3090E+04, -0.6861E+03 - + , -0.3108E+03, 0.1396E+05, 0.5425E+05, -0.2964E+05 - + , -0.8536E+02, 0.5200E+04, 0.2278E+06, -0.6067E+06 - + , -0.6035E+02, 0.9752E+04, 0.5095E+06, -0.8199E+06 - + , -0.1018E+03, 0.2538E+05, 0.4681E+06, -0.1141E+07 - + , -0.1308E+02, 0.7916E+04, 0.1354E+07, -0.1049E+08 - + , 0.2374E+02, 0.1750E+03, 0.1285E+08, -0.6352E+09 - + , 0.7219E+01, 0.1592E+05, 0.9491E+07, -0.8283E+09, 8*0.0 / - DATA ((TMP(I,J, 98),I=1,MAXPOW),J=1,MAXINT) / - + 0.1220E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , 0.3846E+04, -0.2092E+04, 0.3854E+03, -0.1758E+02 - + , -0.5378E+05, 0.1380E+06, -0.9898E+05, 0.2185E+05 - + , -0.9355E+03, 0.1168E+05, -0.4663E+03, -0.2379E+04 - + , -0.3044E+03, 0.1361E+05, 0.6013E+05, -0.3273E+05 - + , 0.3450E+03, -0.1057E+05, 0.4170E+06, -0.1248E+07 - + , -0.5797E+02, 0.9571E+04, 0.5352E+06, -0.8755E+06 - + , -0.9148E+02, 0.1942E+05, 0.6490E+06, -0.1673E+07 - + , -0.5416E+02, 0.1706E+05, 0.8630E+06, -0.1792E+07 - + , 0.2771E+02, -0.2903E+04, 0.1419E+08, -0.7456E+09 - + , 0.7544E+01, 0.1589E+05, 0.1052E+08, -0.1089E+10, 8*0.0 / - DATA ((TMP(I,J, 99),I=1,MAXPOW),J=1,MAXINT) / - + 0.1330E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.8936E+03, 0.1145E+05, 0.1094E+04, -0.3692E+04 - + , -0.2152E+03, 0.7720E+04, 0.5372E+05, -0.2276E+05 - + , -0.2914E+03, 0.1268E+05, 0.6828E+05, -0.3620E+05 - + , -0.2568E+03, 0.1341E+05, 0.8685E+05, -0.5387E+05 - + , -0.2104E+03, 0.1155E+05, 0.1107E+06, -0.7279E+05 - + , 0.1088E+03, 0.1536E+04, 0.2458E+06, -0.6005E+06 - + , -0.5691E+02, 0.9660E+04, 0.5556E+06, -0.9320E+06 - + , -0.9167E+02, 0.2050E+05, 0.6520E+06, -0.1784E+07 - + , 0.9687E+00, 0.5331E+04, 0.1646E+07, -0.1518E+08 - + , 0.3315E+02, -0.7298E+04, 0.1587E+08, -0.8866E+09 - + , 0.7728E+01, 0.1675E+05, 0.1090E+08, -0.1231E+10, 4*0.0 / - DATA ((TMP(I,J,100),I=1,MAXPOW),J=1,MAXINT) / - + 0.1460E+04, 0.0000E+00, 0.0000E+00, 0.0000E+00 - + , -0.1082E+04, 0.1308E+05, -0.9100E+03, -0.2846E+04 - + , -0.1923E+03, 0.6709E+04, 0.6231E+05, -0.2410E+05 - + , -0.2559E+03, 0.1024E+05, 0.8602E+05, -0.3977E+05 - + , -0.2466E+03, 0.1276E+05, 0.9751E+05, -0.5925E+05 - + , -0.2304E+03, 0.1518E+05, 0.9220E+05, -0.7454E+05 - + , -0.8675E+02, 0.2132E+04, 0.2568E+06, -0.6538E+06 - + , -0.5579E+02, 0.1018E+05, 0.5793E+06, -0.1018E+07 - + , -0.8637E+02, 0.1890E+05, 0.7445E+06, -0.1949E+07 - + , 0.5556E+00, 0.5648E+04, 0.1738E+07, -0.1662E+08 - + , 0.2968E+02, -0.2026E+04, 0.1484E+08, -0.7825E+09 - + , 0.8135E+01, 0.1726E+05, 0.1171E+08, -0.1346E+10, 4*0.0 / -C Ionization energies - DATA (TMP1(I), I = 1,56) / - + 13.60, 24.59, - + 5.39, 9.32, 8.30, 11.26, 14.53, 13.62, 17.42, 21.56, - + 5.14, 7.65, 5.99, 8.15, 10.49, 10.36, 12.97, 15.76, - + 4.34, 6.11, - + 6.56, 6.83, 6.75, 6.77, 7.43, 7.90, 7.88, 7.64, - + 7.73, 9.39, - + 6.00, 7.90, 9.82, 9.75, 11.81, 14.00, - + 4.18, 5.69, - + 6.22, 6.63, 6.76, 7.09, 7.28, 7.36, 7.46, 8.34, - + 7.58, 8.99, 5.79, 7.34, 8.64, 9.01, 10.45, 12.13, - + 3.89, 5.21 / - DATA (TMP1(I), I = 57,MAXELZ) / - + 5.58, 5.54, 5.46, 5.52, 5.55, 5.64, 5.67, 6.15, - + 5.86, 5.94, 6.02, 6.11, 6.18, 6.25, - + 5.43, 6.83, 7.89, 7.98, 7.88, 8.70, 9.10, 9.00, - + 9.23, 10.44, - + 6.11, 7.42, 7.29, 8.42, 9.65, 10.75, - + 3.97, 5.28, - + 5.17, 6.08, 5.89, 6.19, 6.27, 6.06, 5.99, 6.02, - + 6.23, 6.30, 6.42, 6.50 / - DO 10 J = 1,MAXELZ - DO 10 I = 1,MAXINT - CRNGUP(I,J) = CTMP(I,J) - 10 CONTINUE - DO 20 K = 1,MAXELZ - DO 20 J = 1,MAXINT - DO 20 I = 1,MAXPOW - COFS(I,J,K) = TMP(I,J,K) - 20 CONTINUE - DO 30 I = 1,MAXELZ - GPOMIN(I) = MAX(TENEV,TMP1(I)*1.E-3) - 30 CONTINUE - END diff --git a/StarVMC/geant3/gphys/gphxsi.F b/StarVMC/geant3/gphys/gphxsi.F deleted file mode 100644 index 4682f79469d..00000000000 --- a/StarVMC/geant3/gphys/gphxsi.F +++ /dev/null @@ -1,445 +0,0 @@ -* -* $Id: gphxsi.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphxsi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:31 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.22 by S.Giani -*-- Author : - SUBROUTINE G3PHXSI -*. -*. ****************************************************************** -*. * Creates PHXS bank containing x-section constants * -*. * * -*. * ==>CALLED BY : G3PHYSI * -*. * AUTHOR : J. CHWASTOWSKI * -*. * * -*. ****************************************************************** -*. -* The photoelectric effect x-section bank -* 1 - Number of elements neded to create medium = NZ -* 2 <-> NZ+1 - Z of elements -* NZ+1 <-> 2*NZ+1 - 0 -* 2+2*NZ <-> 3*NZ+1 - weight of x-section constants -* 3*NZ+2 <-> top - X-section constants -#include "geant321/gcbank.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcpmxz.inc" -#include "geant321/gcphxs.inc" -#include "geant321/gc10ev.inc" - COMMON / FIXIT / JPHXS, JPHFN - CHARACTER*1 CHSHEL, CHGROU - DIMENSION EUP(MAXINT),TMP(MAXPOW,MAXINT),ESHL(24) - PARAMETER (NXSB=73,NXSBF=70) - Z = Q(JMA+7) - IPHXSP = 0 -* Check Z range of validity for Sandia parametrization - IF(Z.GE.1.AND.Z.LE.MAXELZ) THEN -* -* Find number of elements neded to create current medium -c -* Is this medium a mixture ? - NMIX = Q(JMA+11) - IF(NMIX.GT.1) THEN - NZ = 0 - JMIXT=LQ(JMA-5) - DO 10 I = 1,NMIX - ZCUR = Q(JMIXT+NMIX+I) - IF(ZCUR.NE.INT(ZCUR)) THEN -* -* When Z is non integer you need 2 elements - NZ=NZ+2 - ELSE - NZ=NZ+1 - ENDIF - 10 CONTINUE - CALL G3WORK(3*NZ+1) - WS(1) = NZ -* -* Calculate weigths -* - K = 1 - DO 20 I = 1,NMIX - ZCUR = Q(JMIXT+NMIX+I) - HZCUR = INT(ZCUR) - WS(1+K) = HZCUR - IF(ZCUR.NE.HZCUR) THEN - WS(1+2*NZ+K) = (HZCUR+1.-ZCUR)*Q(JMIXT+2*NMIX+I) - K = K+1 - WS(1+K) = HZCUR+1 - WS(1+2*NZ+K) = (ZCUR-HZCUR)*Q(JMIXT+2*NMIX+I) - ELSE - WS(1+2*NZ+K) = Q(JMIXT+2*NMIX+I) - ENDIF - K = K+1 - 20 CONTINUE -* -* Do Z values repeat ? -* - K = NZ - DO 40 I = 1,NZ-1 - Z1 = WS(1+I) - IF(Z1.GT.0.0) THEN - DO 30 J = I+1,NZ - Z2 = WS(1+J) - IF(Z1.EQ.Z2) THEN -* WS(1+NZ+I) = WS(1+NZ+I)+WS(1+NZ+J) - WS(1+2*NZ+I) = WS(1+2*NZ+I)+WS(1+2*NZ+J) - WS(1+J) = -WS(1+J) - K = K-1 - ENDIF - 30 CONTINUE - ENDIF - 40 CONTINUE -* Now you can book a pht. eff. x-sec. constant bank and hang it as -* a first struc. link from JPHOT. -* From this bank you hang the banks for each separate Z !!! - NW = NZ*NXSB+2 - IF(K.EQ.1) NW = NXSB+2 - CALL MZBOOK(IXCONS,JPHXS,JPHOT,-1,'PHXS',NZ,NZ,NW,3,0) -* Fill JPHXS bank and calculates the weights - Q(JPHXS+1) = K - NZN = K - K = 1 - DO 50 I = 1,NZ - IF(WS(1+I).GT.0.0) THEN - Q(JPHXS+1+K) = WS(1+I) -* Q(JPHXS+1+K+NZN) = WS(1+I+NZ) - Q(JPHXS+1+K+2*NZN) = WS(1+I+2*NZ) - K = K+1 - ENDIF - 50 CONTINUE - ELSE -* Current medium consists of one "element" - NZ = 1 - ZCUR = Z - HZCUR = INT(ZCUR) - IF(MOD(ZCUR,HZCUR).EQ.0) THEN -* Now you can book a pht. eff. x-sec. constant bank and hang it as -* a first struc. link from JPHOT. - NW = NXSB+2 - CALL MZBOOK(IXCONS,JPHXS,JPHOT,-1,'PHXS',1,1,NW,3,0) - Q(JPHXS+1) = 1. - Q(JPHXS+2) = ZCUR - Q(JPHXS+4) = 1. - ELSE -* Somebody is cheating. We need two elements - NZ = NZ+1 - NW = 2*NXSB+2 - CALL MZBOOK(IXCONS,JPHXS,JPHOT,-1,'PHXS',2,2,NW,3,0) - Q(JPHXS+1) = 2. - Q(JPHXS+2) = HZCUR - Q(JPHXS+3) = HZCUR+1 - Q(JPHXS+6) = (HZCUR+1.-ZCUR) - Q(JPHXS+7) = (ZCUR-HZCUR) - ENDIF - ENDIF -* We passed the bank booking phase and we can start real work - NZ = Q(JPHXS+1) -* Create a temporary working space - IBINS = 5*NZ+NZ*(MAXPOW+1)*(MAXINT+1) - CALL G3WORK(IBINS) - DO 60 I = 1,IBINS - WS(I) = 0.0 - 60 CONTINUE - KS = 5*NZ - L = 0 - DO 170 N = 1,NZ - JPHXS = LQ(JPHOT-1) - ZCUR = Q(JPHXS+1+N) - IZ = ZCUR - DO 70 I = 1,24 - ESHL(I) = 0.0 - 70 CONTINUE - CALL G3FSHLS(ZCUR,ESHL,NSHL) - DO 80 I = 1,NSHL - ESHL(I) = ESHL(I)*1.E-3 - 80 CONTINUE -* Use Sandia data. -* Find out the interval upper limit. - IMAX = 0 - DO 90 I = 1,MAXINT - CHSHEL=CRNGUP(I,IZ)(1:1) - CHGROU=CRNGUP(I,IZ)(2:2) - IF(CHSHEL.EQ.'I') THEN - EUP(I) = 55.E11 - IMAX = I - GO TO 100 - ELSEIF(CHSHEL.EQ.'K') THEN - EUP(I) = ESHL(1) - ELSEIF(CHSHEL.EQ.'L') THEN - IF(CHGROU.EQ.'1') THEN - EUP(I) = ESHL(2) - ELSEIF(CHGROU.EQ.'2') THEN - EUP(I) = ESHL(3) - ELSEIF(CHGROU.EQ.'3') THEN - EUP(I) = ESHL(4) - ELSE - CHMAIL = ' GPHXSI Error: Inconsistent data for L ' - + //'shell. Maximum coded L3. Found shell ' - + //'name: '//CRNGUP(I,IZ) - CALL GMAIL(0,0) - ENDIF - ELSEIF(CHSHEL.EQ.'M') THEN - IF(CHGROU.EQ.'1') THEN - EUP(I) = ESHL(5) - ELSEIF(CHGROU.EQ.'2') THEN - EUP(I) = ESHL(6) - ELSEIF(CHGROU.EQ.'3') THEN - EUP(I) = ESHL(7) - ELSEIF(CHGROU.EQ.'4') THEN - EUP(I) = ESHL(8) - ELSEIF(CHGROU.EQ.'5') THEN - EUP(I) = ESHL(9) - ELSE - CHMAIL = ' GPHXSI Error: Inconsistent data for M ' - + //'shell. Maximum coded M5. Found shell ' - + //'name: '//CRNGUP(I,IZ) - CALL GMAIL(0,0) - ENDIF - ELSEIF(CHSHEL.EQ.'N') THEN - IF(CHGROU.EQ.'1') THEN - EUP(I) = ESHL(10) - ELSEIF(CHGROU.EQ.'2') THEN - EUP(I) = ESHL(11) - ELSEIF(CHGROU.EQ.'3') THEN - EUP(I) = ESHL(12) - ELSEIF(CHGROU.EQ.'4') THEN - EUP(I) = ESHL(13) - ELSEIF(CHGROU.EQ.'5') THEN - EUP(I) = ESHL(14) - ELSEIF(CHGROU.EQ.'6') THEN - EUP(I) = ESHL(15) - ELSEIF(CHGROU.EQ.'7') THEN - EUP(I) = ESHL(16) - ELSE - CHMAIL = ' GPHXSI Error: Inconsistent data for N ' - + //'shell. Maximum coded N7. Found shell name:' - + //' '//CRNGUP(I,IZ) - CALL GMAIL(0,0) - ENDIF - ELSEIF(CHSHEL.EQ.'O') THEN - IF(CHGROU.EQ.'1') THEN - EUP(I) = ESHL(17) - ELSEIF(CHGROU.EQ.'2') THEN - EUP(I) = ESHL(18) - ELSEIF(CHGROU.EQ.'3') THEN - EUP(I) = ESHL(19) - ELSEIF(CHGROU.EQ.'4') THEN - EUP(I) = ESHL(20) - ELSEIF(CHGROU.EQ.'5') THEN - EUP(I) = ESHL(21) - ELSE - CHMAIL = ' GPHXSI Error: Inconsistent data for O ' - + //'shell. Maximum code O5. Found shell name:' - + //' '//CRNGUP(I,IZ) - CALL GMAIL(0,0) - ENDIF - ELSEIF(CHSHEL.EQ.'P') THEN - IF(CHGROU.EQ.'1') THEN - EUP(I) = ESHL(22) - ELSEIF(CHGROU.EQ.'2') THEN - EUP(I) = ESHL(23) - ELSEIF(CHGROU.EQ.'3') THEN - EUP(I) = ESHL(24) - ELSE - CHMAIL = ' GPHXSI Error: Inconsistent data for P ' - + //'shell. Maximum coded P3. Found shell ' - + //'name: '//CRNGUP(I,IZ) - CALL GMAIL(0,0) - ENDIF - ELSE - READ(CRNGUP(I,IZ),'(F6.0)') EUP(I) - ENDIF - IF(EUP(I).EQ.0.0) THEN - WRITE(CHMAIL,'(A44,I5)') ' GPHXSI Error: Upper limit ' - + //'= 0. Interval:',I - CALL GMAIL(0,0) - STOP 14 - ENDIF - 90 CONTINUE - 100 CONTINUE - DO 120 I = 1,IMAX - DO 110 J = 1,MAXPOW - TMP(J,I) = COFS(J,I,IZ)*Q(JPHXS+1+2*NZ+N) - 110 CONTINUE - 120 CONTINUE -* Copy upper limits and coofficients to a work bank - K = KS+1 - WS(K) = GPOMIN(IZ) - WS(K+1) = 0.0 - WS(K+2) = 0.0 - WS(K+3) = 0.0 - WS(K+4) = 0.0 - K = K+5 - DO 140 I = 1,IMAX - WS(K) = EUP(I) - K = K+1 - DO 130 J = 1,MAXPOW - WS(K) = TMP(J,I) - K = K+1 - 130 CONTINUE - 140 CONTINUE - KS = KS+(MAXINT+1)*(MAXPOW+1) - IWS(NZ+N) = IMAX - IWS(2*NZ+N) = 0 - IWS(3*NZ+N) = 0 -* WS(N) = Q(JPHXS+1+2*NZ+N) -* Create element x-section & final state bank - CALL MZBOOK(IXCONS,JPHFN,JPHXS,-N,'PHFN',0,0,IMAX*5+1,3,0) - Q(JPHFN+1) = IMAX -* Update pointer - JPHFN = JPHFN+1 - KFN = 1 -* Copy energy & x-section parameters - DO 160 I = 1,IMAX - Q(JPHFN+KFN) = EUP(I) - KFN = KFN+1 - DO 150 J = 1,MAXPOW -c Q(JPHFN+KFN) = TMP(J,I)*Q(JPHXS+1+2*NZ+N) - Q(JPHFN+KFN) = TMP(J,I) - KFN = KFN+1 - 150 CONTINUE - 160 CONTINUE -* Get shells decay parameters - CALL G3FSHDC(N,ZCUR) - 170 CONTINUE -* Now find intervals and calculate the coofs for each - K = 0 - JPHXS = LQ(JPHOT-1) - IF(NZ.LT.2) THEN -* Simple element so life is easy and nice - Q(JPHXS+5) = IMAX+1 - JPHXS6 = JPHXS+6 - Q(JPHXS6) = GPOMIN(IZ) - Q(JPHXS6+1) = 0.0 - Q(JPHXS6+2) = 0.0 - Q(JPHXS6+3) = 0.0 - Q(JPHXS6+4) = 0.0 - JPHXS6 = JPHXS6+5 - DO 190 I = 1,IMAX - Q(JPHXS6+K) = EUP(I) - K = K+1 - DO 180 J = 1,MAXPOW - Q(JPHXS6+K) = TMP(J,I) - K = K+1 - 180 CONTINUE - 190 CONTINUE - NPSH = NW-5*(IMAX+1)-5 - ELSE -* More elements. It will not be so easy -* The following code is difficult and probably there are better solutions -* but I could think only about this one. - IPHXSP = JPHXS+2+3*NZ - IPIMAX = JPHXS+2+3*NZ - IOFFST = (MAXPOW+1)*(MAXINT+1) - DO 250 II = 1,NZ*(MAXINT+1) -* Find the interval for which the upper limit is the smallest - AMINV = 1.E20 - DO 200 I = 1,NZ - K = IWS(2*NZ+I) - IPOINT = 5*NZ+1+(I-1)*IOFFST+K - IEUP = 4*NZ+I - WS(IEUP) = WS(IPOINT) - IF(WS(IEUP).LT.AMINV) AMINV = WS(IEUP) - 200 CONTINUE - L = 0 - DO 210 I = 1,NZ - IF(WS(4*NZ+I).LE.AMINV) L = L+1 - 210 CONTINUE - IF(L.LT.1) THEN - CHMAIL = ' GPHXSI Error: Zero intervals found.' - CALL GMAIL(0,0) - STOP 16 - ENDIF -* Copy to JPHXS bank - Q(IPIMAX) = Q(IPIMAX)+1. - Q(IPHXSP+1) = AMINV - IPHXSP = IPHXSP+1 - DO 230 J = 1,MAXPOW - QS = 0.0 - DO 220 I = 1,NZ - K = IWS(2*NZ+I) - IPOINT = 5*NZ+1+(I-1)*IOFFST+K+J -c QS = QS+WS(I)*WS(IPOINT) - QS = QS+WS(IPOINT) - 220 CONTINUE - Q(IPHXSP+1) = QS - IPHXSP = IPHXSP+1 - 230 CONTINUE - IF(L.EQ.NZ.AND.AMINV.EQ.55.E11) GO TO 260 -* Update local pointers - DO 240 I = 1,NZ - IEUP = 4*NZ+I - IF(WS(IEUP).LE.AMINV) THEN - INZ2 = 2*NZ+I - IF(IWS(3*NZ+I).LT.IWS(I+NZ)) THEN - IWS(INZ2) = IWS(INZ2)+5 - IWS(3*NZ+I) = IWS(3*NZ+I)+1 - ENDIF - ENDIF - 240 CONTINUE - 250 CONTINUE -* It is THE END of th x-secs. part, however you may not believe it. - 260 CONTINUE - NIT=Q(IPIMAX) - IIT = -1 - 261 IIT = IIT+1 -* -* It just may happen that some of the energy limits are the same - IENE=IIT*5+1 - IF(ABS(Q(IPIMAX+IENE)-Q(IPIMAX+IENE+5)).LT. - + Q(IPIMAX+IENE)*5E-4) THEN - DO 262 II=1,(NIT-IIT-1)*5 - Q(IPIMAX+IENE+II)=Q(IPIMAX+IENE+II+5) - 262 CONTINUE - NIT=NIT-1 - IIT=IIT-1 - ENDIF - IF(IIT.LT.NIT-1) GO TO 261 - Q(IPIMAX)=NIT - NPSH = NW-Q(IPIMAX)*5-3*NZ-2 - ENDIF -* Return unused locations in JPHXSI bank to the system - IF(NPSH.GT.0) THEN - JPHXS = LQ(JPHOT-1) - CALL MZPUSH(IXCONS,JPHXS,0,-NPSH,'R') - ENDIF - ELSEIF(Z.GT.100.) THEN -* Just in case we got called - CHMAIL = ' GPHXSI Error: Z > 100. No Sandia parameters. ' - CALL GMAIL(0,0) - ENDIF - END diff --git a/StarVMC/geant3/gphys/gphys.doc b/StarVMC/geant3/gphys/gphys.doc deleted file mode 100644 index 4882519e0bb..00000000000 --- a/StarVMC/geant3/gphys/gphys.doc +++ /dev/null @@ -1,173 +0,0 @@ -* -* $Id: gphys.doc,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphys.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:19 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_DOC) -*CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani -*-- Author : -* -************************************************************************ -* * -* Introduction to the section PHYS * -* -------------------------------- * -* * -* * -* THE PHYSICS PROCESSES * -* * -* The processes currently implemented in GEANT3 can be classified * -* as follows: * -* * -* - Decays in flight * -* - Multiple scattering (Gaussian or Moliere) * -* - Continuous electromagnetic processes * -* - Discrete electromagnetic processes * -* - Hadronic interactions * -* - Muon nucleus-interactions. * -* * -* The fist two are controlled by the routines GDECAY which * -* generates the decay products and GMULTS which computes the change * -* in the angle due to multiple scattering over a given tracking * -* step. The others are reviewed separately in the following * -* paragraphs. * -* For convenience the particles are given a 'tracking type' in * -* GEANT, depending on their interaction with matter: * -* * -* ITRTYP = 1 photon * -* 2 electron and positron * -* 3 neutral particles * -* 4 charged hadrons * -* 5 muon * -* 6 'Geantino' * -* 7 Cerenkov photon * -* 8 Ion * -* * -* The paragraph 5 gives a summary of the physics processes * -* activated for each type of particle with the momentum range of * -* validity when relevant. GPHYSI controls the initialisation of the * -* various processes. * -* * -* CONTINUOUS ELECTROMAGNETIC PROCESSES * -* * -* GMOLI Initializes Moliere scattering * -* GPROBI initializes material 'constants' used for computing the * -* probability of various interactions. * -* GDRELA Control routine to fill DE/DX tables for energy loss * -* due to ionisation. * -* GDRELP Calculates energy loss due to ionisation for charged * -* particles other than electrons and positrons. * -* GDRELE Calculates energy loss due to ionisation for electrons * -* and positrons. As Moller and Bhabba scattering are * -* treated as discrete processes the energy loss due to * -* ionisation is a function of the electron kinetic energy * -* cut-off DCUTE below which these processes are treated as * -* a continuous energy loss [BASE 030, common /GCPHYS/]. * -* GBRELA Initializes Bremsstrahlung cross-section and fills * -* energy loss tables for Bremsstrahlung. Both formulae * -* depend on the photon energy cut-off BCUTE below which * -* Bremsstrahlung is treated as a continuous energy loss * -* [BASE 030, common /GCPHYS/]. * -* GPRELA Fills DE/DX tables for energy loss by direct pair * -* production for high energy muons. The corresponding * -* discrete process is not considered. * -* GRANGI Calculates the stopping range tables for * -* electron/positron, muon and proton. * -* GMULOF Calculates the tables for the maximum step allowed to to * -* continuous processes: Bending in magnetic field, energy * -* loss and multiple scattering. * -* GCOEFF Calculates the interpolation coefficients for the * -* energy/Range relation to be used in the calculation of * -* the energy loss. * -* * -* DISCRETE ELECTROMAGNETIC PROCESSES * -* * -* For the simulation of each given discrete physics process three * -* tasks have to be performed: * -* * -* - The evaluation of the step length. This is computed from the * -* updated probability for the occurrence of the process. The * -* corresponding code has been inserted directly in the tracking * -* routines for each tracking type as appropriate. * -* - After transport of the particle, the generation of the final * -* state particles (GEANT routines GPHOT, GCOMP, etc.) * -* - If the particle survives after the interaction, recompute the * -* probability. * -* * -* It should be outlined that the evaluation of the step length is * -* made independently for each process which can occur, the final * -* step size being the minimum of all and the process finally * -* considered being the corresponding one. * -* * -* GPHOTI Tabulates cross-section for photo-electric effect at * -* initialisation time * -* GPHOT Simulates photo-electric mechanism * -* GCOMPI Tabulates cross-section for Compton intersection at * -* initialisation time * -* GCOMP Simulates Compton scattering * -* GPRSGA Tabulates cross-section for pair production at * -* initialisation time * -* GPAIRG Simulates electron pair production by photons * -* GBRSGA Tabulates cross-section for Bremsstrahlung at * -* initialisation time * -* GBREME Simulates hard Bremsstrahlung by electrons. - see * -* cut-off BCUTE in routine GBRELA above * -* GDRSGA Tabulates cross-section for delta-ray at initialisation * -* time * -* GDRAY Simulates delta rays (Moller or Bhabba scattering) - see * -* cut-off DCUTE in routine GDRELE above * -* GANNII Tabulates cross-section for positron annihilation at * -* initialisation time * -* GANNI Simulates positron annihilation in flight * -* GANNIR Simulates positron annihilation at rest. * -* GPFISI Tabulates cross-section for photo-fission * -* GPFIS Simulates photo-fission * -* * -* HADRONIC PROCESSES * -* * -* For GHEISHA: * -* GPGHEI returns the hadronic cross section * -* GHEISH Simulates hadronic interactions, program GHEISHA (H. * -* Fesefeldt) in GEANH file. * -* * -* For FLUKA: * -* FLDIST returns the hadronic cross section * -* FLUFIN Simulates hadronic interactions, program FLUKA * -* (A.Ferrari et al.) in GEANH file. * -* * -* MUON INTERACTION * -* * -* GBRELM Tabulates energy loss by soft Bremsstrahlung * -* GBRSGM Tabulates cross-section for hard Bremsstrahlung * -* GBREMM Generates hard Bremsstrahlung * -* GPAIRI Tabulates cross-section for direct pair production * -* GPAIRM Generate direct pair production * -* GMUNUI Tabulates cross-section for nuclear interaction * -* GMUNU Generates nuclear interaction * -* GDRELM Tabulates energy loss by soft delta rays * -* GDRSGA Tabulates cross-section for hard delta rays * -* GDRAY Generates delta rays * -* * -************************************************************************ -#endif diff --git a/StarVMC/geant3/gphys/gphysi.F b/StarVMC/geant3/gphys/gphysi.F deleted file mode 100644 index 358fb93272b..00000000000 --- a/StarVMC/geant3/gphys/gphysi.F +++ /dev/null @@ -1,737 +0,0 @@ -* -* $Id: gphysi.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gphysi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:43 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.4 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.2 2002/12/02 16:37:45 brun -* Changes from Federico Carminati and Peter Hristov who ported the system -* on the Ithanium processors.It is tested on HP, Sun, and Alpha, everything -* seems to work. The optimisation is switched off in case of gcc2.xx.yyy -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/05/16 14:57:14 alibrary -* New files for folders and Stack -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1996/09/30 13:28:58 ravndal -* Medium name length checked -* -* Revision 1.1.1.1 1995/10/24 10:21:31 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 06/10/94 16.31.40 by S.Ravndal -*-- Author : - SUBROUTINE G3PHYSI -C. -C. ****************************************************************** -C. * * -C * Initialise material constants for all the physics * -C. * mechanisms used by GEANT * -C. * * -C. * ==>Called by : , UGINIT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcphys.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gclist.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcnum.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctime.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" - COMMON / FIXIT / LBANK, JTP - DIMENSION CUTS(10),UCUT(10),MECA(5,13) - EQUIVALENCE (CUTS(1),CUTGAM),(MECA(1,1),IPAIR) - CHARACTER*4 DNAME,KCUT(10) - CHARACTER*20 CHTITL - LOGICAL NUCRIN - PARAMETER (LOUPHY=10) -C. -C. ------------------------------------------------------------------ -C. -C Write RUN parameters, version numbers and CUTS -C - WRITE(CHMAIL,13000) - CALL GMAIL(1,0) - OPEN(10,FILE='gphysi.dat') - LOUSAV=LOUT - LOUT=LOUPHY - WRITE(CHMAIL,10000) - CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,10200)GVERSN,IGDATE,IGTIME,IDRUN - CALL GMAIL(0,0) -* WRITE(CHMAIL,10100) -* CALL GMAIL(0,0) -* WRITE(CHMAIL,10300)IDRUN -* CALL GMAIL(0,0) -* WRITE(CHMAIL,10100) -* CALL GMAIL(0,0) -* WRITE(CHMAIL,10400) -* CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,10500) - CALL GMAIL(0,0) -* WRITE(CHMAIL,10600) -* CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) -C -C Get the version number of the original INIT structure -C - OLDGVE=BIG -* -* Set NUMOLD to 0 to force recalculation of -* pointers in the tracking routines - NUMOLD=0 - IF(JRUNG.NE.0)THEN - OLDGVE = Q(JRUNG+21) - IQ(JRUNG+11)=IGDATE - IQ(JRUNG+12)=IGTIME - Q(JRUNG+21)=GVERSN - Q(JRUNG+22)=ZVERSN -C - DNAME='INIT' - WRITE(CHMAIL,10700) DNAME,IQ(JRUNG+11),IQ(JRUNG+12), Q(JRUNG+ - + 21), Q(JRUNG+22) - CALL GMAIL(0,0) -* WRITE(CHMAIL,10100) -* CALL GMAIL(0,0) - DNAME='KINE' - WRITE(CHMAIL,10700) DNAME,IQ(JRUNG+13),IQ(JRUNG+14), Q(JRUNG+ - + 23), Q(JRUNG+24) - CALL GMAIL(0,0) -* WRITE(CHMAIL,10100) -* CALL GMAIL(0,0) - DNAME='HITS' - WRITE(CHMAIL,10700) DNAME,IQ(JRUNG+15),IQ(JRUNG+16), Q(JRUNG+ - + 25), Q(JRUNG+26) - CALL GMAIL(0,0) -* WRITE(CHMAIL,10100) -* CALL GMAIL(0,0) - DNAME='DIGI' - WRITE(CHMAIL,10700) DNAME,IQ(JRUNG+17),IQ(JRUNG+18), Q(JRUNG+ - + 27), Q(JRUNG+28) - CALL GMAIL(0,0) -* WRITE(CHMAIL,10100) -* CALL GMAIL(0,0) - IF(NRNDM(1).EQ.0.AND.NRNDM(2).EQ.0) THEN -* -* The random number sequence has not been explicitely -* initialised via a data card. See whether we can initialise -* it with the words 19/20 of the JRUNG data structure. - IF(IQ(JRUNG+19).NE.0.OR.IQ(JRUNG+20).NE.0) THEN - NRNDM(1) = IQ(JRUNG+19) - NRNDM(2) = IQ(JRUNG+20) - CALL GRNDMQ(NRNDM(1), NRNDM(2), 0, 'S') - ENDIF - ENDIF - CALL GRNDMQ(IQ(JRUNG+19), IQ(JRUNG+20), 0, 'G') -* WRITE(CHMAIL,10900) IQ(JRUNG+19), IQ(JRUNG+20) -* CALL GMAIL(0,0) -* WRITE(CHMAIL,11000) -* CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - ENDIF -C -C Create energy loss and cross-section banks -C - IF(NEKBIN.LE.0.OR.NEKBIN.GT.199)NEKBIN=90 - IF(EKMIN.GE.EKMAX.OR.EKMIN.LE.0.)THEN - EKMIN=1.E-5 - EKMAX=1.E+4 - ENDIF - NEK1=NEKBIN+1 - EKINV=1./LOG10(EKMAX/EKMIN) - EKBIN(1)=LOG10(EKMIN) - ELOW(1)=EKMIN - GEKA=NEKBIN*EKINV - GEKB=1.-GEKA*EKBIN(1) - DO 10 I=2,NEK1 - EL=EKBIN(1)+(I-1)/GEKA - EKBIN(I)=EL - ELOW(I)=10.**EL - 10 CONTINUE - ILOW=0 - IF(NMATE.LE.0)GO TO 999 - IF(JMATE.LE.0)GO TO 999 - IF(JTMED.LE.0)GO TO 999 -C - IF(IQ(JTMED-1).LT.40) THEN - NPUSH=40-IQ(JTMED-1) - CALL MZPUSH(IXCONS,JTMED,0,NPUSH,'I') - END IF - Q(JTMED+31)=ILABS - Q(JTMED+32)=ISYNC - Q(JTMED+33)=ISTRA -* -* If Landau fluctuations activated, cancel delta rays - KLOS=Q(JTMED+21) - IF (KLOS .EQ. 0) Q(JTMED+15) = 0. - IF (KLOS .EQ. 2) THEN - Q(JTMED+ 8)=9999. - Q(JTMED+ 9)=9999. - Q(JTMED+15)=0. - ENDIF -* -* If Cerenkov generation is on, activate Light absorbtion unless -* explicitely switched off by the user -* - KLABS=Q(JTMED+31) - IF(ITCKOV.NE.0) THEN - IF(KLABS.EQ.-1) THEN - Q(JTMED+31)=1 - ENDIF - ENDIF - Q(JTMED+31)=MAX(Q(JTMED+31),0.) -* -* If BCUTE,BCUTM,DCUTE,DCUTM,PPCUTM not initialized (=BIG) -* Set them to CUTGAM,CUTGAM,CUTELE,CUTELE respectively -* - IF(Q(JTMED+ 6).GT.0.9*BIG)Q(JTMED+ 6)=Q(JTMED+1) - IF(Q(JTMED+ 7).GT.0.9*BIG)Q(JTMED+ 7)=Q(JTMED+1) - IF(Q(JTMED+ 8).GT.0.9*BIG)Q(JTMED+ 8)=Q(JTMED+2) - IF(Q(JTMED+ 9).GT.0.9*BIG)Q(JTMED+ 9)=Q(JTMED+2) - IF(Q(JTMED+10).GT.0.9*BIG)Q(JTMED+10)=0.010 - IF(Q(JTMED+10).LT.4.*EMASS)Q(JTMED+10)=4.*EMASS -C - DO 20 K=1,10 - 20 CALL G3EVKEV(Q(JTMED+K),UCUT(K),KCUT(K)) -* WRITE(CHMAIL,10800) -* CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,11100) - CALL GMAIL(0,0) -* WRITE(CHMAIL,11200) -* CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,11300) (UCUT(K),KCUT(K),K=1,5) - CALL GMAIL(0,0) -* WRITE(CHMAIL,11400) (UCUT(K),KCUT(K),K=4,5) -* CALL GMAIL(0,0) - WRITE(CHMAIL,11500) (UCUT(K),KCUT(K),K=6,10) - CALL GMAIL(0,0) -* WRITE(CHMAIL,11600) (UCUT(K),KCUT(K),K=8,10) -* CALL GMAIL(0,0) - IF(Q(JTMED+18).EQ.3.) THEN - NUCRIN = .TRUE. - Q(JTMED+18)=1. - ELSE - NUCRIN = .FALSE. - ENDIF - WRITE(CHMAIL,11700) (Q(JTMED+K),K=11,18) - CALL GMAIL(0,0) -* WRITE(CHMAIL,11800) (Q(JTMED+K),K=14,16) -* CALL GMAIL(0,0) - WRITE(CHMAIL,11900) (Q(JTMED+K),K=19,23),(Q(JTMED+L),L=31,33) - CALL GMAIL(0,0) -* WRITE(CHMAIL,12000) (Q(JTMED+K),K=20,22) -* CALL GMAIL(0,0) -* WRITE(CHMAIL,12100) Q(JTMED+23),Q(JTMED+31),Q(JTMED+32) -* CALL GMAIL(0,0) -* WRITE(CHMAIL,12110) Q(JTMED+33) -* CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - IF(NUCRIN) THEN - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,12800) - CALL GMAIL(0,0) - WRITE(CHMAIL,12900) - CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - ENDIF -* -* *** Here we clean up the old cross section tables if any - DO 40 IMA=1,NMATE - JMA=LQ(JMATE-IMA) - IF(JMA.NE.0) THEN - DO 30 J=1,20 - IF(LQ(JMA-J).NE.0.AND.J.NE.5) THEN - CALL MZDROP(IXCONS,LQ(JMA-J),'L') - ENDIF - 30 CONTINUE - ENDIF - 40 CONTINUE -* -* *** Call initialisation of the phtotelectric effect constants - CALL G3PHINI - DO 180 ITM=1,NTMED - JTM=LQ(JTMED-ITM) - IF(JTM.LE.0) GO TO 180 - NL=10-IQ(JTM-2) - IF(NL.GT.0)THEN - CALL MZPUSH(IXCONS,JTM,NL,0,'I') - JTM=LQ(JTMED-ITM) - ENDIF -* IF(IQ(JTM-1).LT.40) THEN -* NPUSH=40-IQ(JTM-1) -* CALL MZPUSH(IXCONS,JTM,0,NPUSH,'I') -* JTM=LQ(JTMED-ITM) -* ENDIF - ISVOL = Q(JTM + 7) - IFIELD = Q(JTM + 8) - FIELDM = Q(JTM + 9) - TMAXFD = Q(JTM + 10) - STEMAX = Q(JTM + 11) - DEEMAX = Q(JTM + 12) - EPSIL = Q(JTM + 13) - STMIN = Q(JTM + 14) - IF (TMAXFD.LE.0..OR. (IGAUTO.NE.0.AND.TMAXFD.GT.20.)) THEN - TMAXFD=20. - Q(JTM+10) = TMAXFD - ENDIF - NMAT = Q(JTM+6) - JMA = LQ(JMATE-NMAT) - IF(JMA.LE.0)THEN - WRITE(CHMAIL,12200)NMAT,ITM - CALL GMAIL(1,1) - GO TO 180 - ENDIF -C -C=====> Get material parameters -C - A=Q(JMA+6) - Z=Q(JMA+7) - DENS=Q(JMA+8) - RADL=Q(JMA+9) - IF (Z.LT.1.) THEN - DEEMAX=0. - STMIN =0. - JTP=LQ(JTM) - IF(JTP.EQ.0) THEN - CALL MZBOOK(IXCONS,JTP,JTM,0,'TCUT',0,0,40,3,0) - IQ(JTP-5)=ITM - DO 50 I=1,23 - Q(JTP+I)=Q(JTMED+I) - 50 CONTINUE - Q(JTP+31)=Q(JTMED+31) - Q(JTP+32)=Q(JTMED+32) - Q(JTP+33)=Q(JTMED+33) - ELSEIF(IQ(JTP-1).LT.40) THEN - NPUSH=40-IQ(JTP-1) - CALL MZPUSH(IXCONS,JTP,0,NPUSH,'I') - JTP=LQ(JTM) - Q(JTP+31)=Q(JTMED+31) - Q(JTP+32)=Q(JTMED+32) - Q(JTP+33)=Q(JTMED+33) - ENDIF -C -C=====> decay and synch. rad. in vacuum -C - DO 60 I=11,23 - Q(JTP+I)=0. - 60 CONTINUE - Q(JTP+20) = Q(JTMED+20) - Q(JTP+31) = 0. - Q(JTP+32) = Q(JTMED+32) - Q(JTP+33) =0. - ENDIF -C -C=====> Get tracking medium parameters -C - JTP=JTMED - IF(LQ(JTM).NE.0)JTP=LQ(JTM) - IF(JTP.NE.JTMED)THEN - IF(IQ(JTP-1).LT.40) THEN - NPUSH=40-IQ(JTP-1) - CALL MZPUSH(IXCONS,JTP,0,NPUSH,'I') - JTP=LQ(JTM) - Q(JTP+31)=Q(JTMED+31) - Q(JTP+32)=Q(JTMED+32) - Q(JTP+33)=Q(JTMED+33) - ENDIF - KLOS=Q(JTP+21) - IF (KLOS .EQ. 2) THEN - Q(JTP+ 8)=9999. - Q(JTP+ 9)=9999. - Q(JTP+15)=0. - ENDIF -* -* If Cerenkov generation is on, activate Light absorbtion unless -* explicitely switched off by the user -* - KLABS=Q(JTP+31) - IF(ITCKOV.NE.0) THEN - IF(KLABS.EQ.-1) THEN - Q(JTP+31)=1 - ENDIF - ENDIF - Q(JTP+31)=MAX(Q(JTP+31),0.) - IF(Q(JTP+ 6).GT.0.9*BIG)Q(JTP+ 6)=Q(JTP+1) - IF(Q(JTP+ 7).GT.0.9*BIG)Q(JTP+ 7)=Q(JTP+1) - IF(Q(JTP+ 8).GT.0.9*BIG)Q(JTP+ 8)=Q(JTP+2) - IF(Q(JTP+ 9).GT.0.9*BIG)Q(JTP+ 9)=Q(JTP+2) - IF(Q(JTP+10).GT.0.9*BIG)Q(JTP+10)=0.010 - IF(Q(JTP+10).LT.4.*EMASS)Q(JTP+10)=4.*EMASS -* - CALL UHTOC(IQ(JTM+1),4,CHTITL,20) - LAST=LNBLNK(CHTITL) - IF(LAST.GT.0) THEN - IF(CHTITL(LAST:LAST).EQ.'$') LAST=LAST-1 - IF(LAST.LT.20) CHTITL(LAST+1:20)=' ' - ENDIF -* - DO 70 K=1,10 - 70 CALL G3EVKEV(Q(JTP+K),UCUT(K),KCUT(K)) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,12300)ITM,CHTITL - CALL GMAIL(0,0) -* WRITE(CHMAIL,12400) -* CALL GMAIL(0,0) - WRITE(CHMAIL,11300) (UCUT(K),KCUT(K),K=1,5) - CALL GMAIL(0,0) -* WRITE(CHMAIL,11400) (UCUT(K),KCUT(K),K=4,5) -* CALL GMAIL(0,0) - WRITE(CHMAIL,11500) (UCUT(K),KCUT(K),K=6,10) - CALL GMAIL(0,0) -* WRITE(CHMAIL,11600) (UCUT(K),KCUT(K),K=8,10) -* CALL GMAIL(0,0) - IF(Q(JTP+18).EQ.3.) THEN - NUCRIN = .TRUE. - Q(JTP+18)=1. - ELSE - NUCRIN = .FALSE. - ENDIF - WRITE(CHMAIL,11700) (Q(JTP+K),K=11,18) - CALL GMAIL(0,0) -* WRITE(CHMAIL,11800) (Q(JTP+K),K=14,16) -* CALL GMAIL(0,0) - WRITE(CHMAIL,11900) (Q(JTP+K),K=19,23),(Q(JTP+L),L=31,33) - CALL GMAIL(0,0) -* WRITE(CHMAIL,12000) (Q(JTP+K),K=20,22) -* CALL GMAIL(0,0) -* WRITE(CHMAIL,12100) Q(JTP+23),Q(JTP+31),Q(JTP+32) -* CALL GMAIL(0,0) -* WRITE(CHMAIL,12110) Q(JTP+33) -* CALL GMAIL(0,0) -* WRITE(CHMAIL,10100) -* CALL GMAIL(0,0) - IF(NUCRIN) THEN - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,12800) - CALL GMAIL(0,0) - WRITE(CHMAIL,12900) - CALL GMAIL(0,0) - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - ENDIF - ENDIF -C - DO 80 I=1,10 - CUTS(I)=Q(JTP+I) - 80 CONTINUE - DO 90 I=1,13 - MECA(1,I)=Q(JTP+10+I) - 90 CONTINUE - ILABS=Q(JTP+10+21) - ISYNC=Q(JTP+10+22) - ISTRA=Q(JTP+10+23) -C - IF(ILOW.EQ.0)THEN - DO 100 I=1,10 - IF(Q(JTP+I).LT.0.0000099)THEN - WRITE(CHMAIL,12500) - CALL GMAIL(1,1) - ILOW=1 - ENDIF - 100 CONTINUE - ENDIF -C -C Check consistency of different tracking media -C referencing the same material -C - DO 120 ITM2=ITM+1,NTMED - JTM2=LQ(JTMED-ITM2) - IF(JTM2.NE.0)THEN - NMAT2=Q(JTM2+6) - IF(NMAT2.EQ.NMAT)THEN - JTP2=JTMED - IF(LQ(JTM2).NE.0)JTP2=LQ(JTM2) - IF(JTP.NE.JTP2)THEN - IF(JTP2.NE.JTMED)THEN - KLOS=Q(JTP2+21) - IF (KLOS .EQ. 2) THEN - Q(JTP2+ 8)=9999. - Q(JTP2+ 9)=9999. - Q(JTP2+15)=0. - ENDIF - IF(Q(JTP2+ 6).GT.0.9*BIG)Q(JTP2+ 6)=Q(JTP2+1) - IF(Q(JTP2+ 7).GT.0.9*BIG)Q(JTP2+ 7)=Q(JTP2+1) - IF(Q(JTP2+ 8).GT.0.9*BIG)Q(JTP2+ 8)=Q(JTP2+2) - IF(Q(JTP2+ 9).GT.0.9*BIG)Q(JTP2+ 9)=Q(JTP2+2) - IF(Q(JTP2+10).GT.0.9*BIG)Q(JTP2+10)=0.010 - IF(Q(JTP2+10).LT.4.*EMASS)Q(JTP2+10)=4.*EMASS - ENDIF - DO 110 I=6,10 - IF(Q(JTP+I).NE.Q(JTP2+I))THEN - WRITE(CHMAIL,12600)NMAT - CALL GMAIL(1,0) - WRITE(CHMAIL,12700)ITM,ITM2 - CALL GMAIL(0,1) - GO TO 120 - ENDIF - 110 CONTINUE - ENDIF - ENDIF - ENDIF - 120 CONTINUE - IF (DEEMAX.LT.0.) THEN - IF(ISVOL.EQ.0)THEN - DEEMAX=0.25 - IF(RADL.GT.2.)DEEMAX=0.25-0.2/SQRT(RADL) - ELSE - DEEMAX = 0.2/SQRT(RADL) - ENDIF - ENDIF - IF(OLDGVE.LT.3.15.OR.STEMAX.LE.0.) THEN -* -* Before version 3.15 there was no STEMAX, so we put it to BIG - STEMAX=BIG - ENDIF - Q(JTM+11) = STEMAX - Q(JTM+12) = DEEMAX -C -* -* It can happen that several tracking media refer to the -* same material. In this case we do not fill the cross section -* tables more than once. But we still fill the banks of the -* tracking medium. - IF(LQ(JMA-1).NE.0) GOTO 160 - NPUSH=20-IQ(JMA-2) - IF(NPUSH.GT.0)THEN - CALL MZPUSH(IXCONS,JMA,NPUSH,0,'I') - JTM=LQ(JTMED-ITM) - JMA=LQ(JMATE-NMAT) - ENDIF -* -* Energy loss and cross-section tables - IF(ISTRA.EQ.0) THEN - CALL MZBOOK(IXCONS,LBANK,JMA, -1,'MAEL',0,0,2*NEK1,3,0) - CALL MZBOOK(IXCONS,LBANK,JMA, -2,'MAMU',0,0, NEK1,3,0) - ELSE - CALL MZBOOK(IXCONS,LBANK,JMA, -1,'MAEL',0,0,3*NEK1,3,0) - CALL MZBOOK(IXCONS,LBANK,JMA, -2,'MAMU',0,0,2*NEK1,3,0) - ENDIF - CALL MZBOOK(IXCONS,LBANK,JMA, -3,'MAAL',0,0, NEK1,3,0) - CALL MZBOOK(IXCONS,JPROB,JMA, -4,'MAPR',0,0, 40,3,0) - CALL MZBOOK(IXCONS,JPHOT,JMA, -6,'MAPH',2,2, NEK1,3,0) - CALL MZBOOK(IXCONS,JANNI,JMA, -7,'MAAN',0,0, NEK1,3,0) - CALL MZBOOK(IXCONS,JCOMP,JMA, -8,'MACO',0,0, NEK1,3,0) - CALL MZBOOK(IXCONS,JBREM,JMA, -9,'MABR',0,0,3*NEK1,3,0) - CALL MZBOOK(IXCONS,JPAIR,JMA,-10,'MAPA',0,0,2*NEK1,3,0) - CALL MZBOOK(IXCONS,JDRAY,JMA,-11,'MADR',0,0,3*NEK1,3,0) -* -* *** Special case for heavy materials, photo-fission - IF(A.GE.230..AND.A.LE.240..AND.IPFIS.NE.0)THEN - CALL MZBOOK(IXCONS,JPFIS,JMA,-12,'MAPF',0,0,2*NEK1,3,0) - ENDIF -* -* *** Rayleigh effect - CALL MZBOOK(IXCONS,JRAYL,JMA,-13,'MARA',0,0,2*NEK1,3,0) -* -* *** Muon nuclear interactions - IF(IMUNU.EQ.0)THEN - JMUNU=0 - ELSE - CALL MZBOOK(IXCONS,JMUNU,JMA,-14,'MAMN',0,0,NEK1,3,0) - ENDIF -* -* *** stopping range - CALL MZBOOK(IXCONS,LBANK,JMA,-15,'MASE',0,0,2*NEK1,3,0) - CALL MZBOOK(IXCONS,LBANK,JMA,-16,'MASM',0,0,2*NEK1,3,0) -* -* *** Special for photeffect - CALL G3PHXSI -* -* *** coefficients for energy loss - CALL MZBOOK(IXCONS,LBANK,JMA,-17,'MACE',0,0,6*NEK1,3,0) - CALL MZBOOK(IXCONS,LBANK,JMA,-18,'MACM',0,0,6*NEK1,3,0) -* -* *** auxiliary tables for integration of dE/dx - CALL G3WORK(NEKBIN*4) -* - DO 130 JWORK=1, NEKBIN*4 - WS(JWORK) = 0. - 130 CONTINUE -* -* *** Straggling for thin layers, if in effect - IF(ISTRA.GT.0) THEN - CALL MZBOOK(IXCONS,JTSTRA,JMA,-19,'MAST',2,2,1,3,0) -#if defined(CERNLIB_ASHO) - IF(ISTRA.EQ.2) THEN - CALL MZBOOK(IXCONS,JTASHO,JMA,-20,'MASH',0,0,106,3,0) - ENDIF -#endif - ENDIF -* - DO 140 J=1,20 - JB=LQ(JMA-J) - IF(JB.NE.0)IQ(JB-5)=NMAT - 140 CONTINUE -C - JPROB=LQ(JMA-4) - JMIXT=LQ(JMA-5) - JPFIS=LQ(JMA-12) -* -* *** Fill above tables (energy losses,cross-sections,stopping ranges) -* - CALL G3PROBI -C - DO 150 IEKBIN=1,NEK1 -C - CALL G3DRELA - CALL G3BRELA - CALL G3PRELA -C - CALL G3PHOTI - CALL G3RAYLI - CALL G3ANNII - CALL G3COMPI - CALL G3BRSGA - CALL G3PRSGA - CALL G3DRSGA - CALL G3MUNUI - CALL G3PFISI - 150 CONTINUE -* -* Stopping ranges -* - CALL G3RANGI -* -* Energy loss coefficients -* - CALL G3COEFF -* *** The table for the energy loss in thin gas layers if the tracking -* media is defined as such -* - IF(ISTRA.GT.0) THEN - CALL G3STINI -#if defined(CERNLIB_ASHO) - IF (ISTRA.EQ.2) THEN - CALL G3IASHO - ENDIF -#endif - ENDIF -* -* *** Multiple scattering,energy-loss and mag.field steps - 160 DO 170 J=1,2 - IF(LQ(JTM-J).NE.0) THEN - CALL MZDROP(IXCONS,LQ(JTM-J),'L') - ENDIF - 170 CONTINUE - CALL MZBOOK(IXCONS,LBANK,JTM, -1,'MUEL',0,0,NEK1+2,3,0) - IQ(LBANK-5)=ITM - CALL MZBOOK(IXCONS,LBANK,JTM, -2,'MUMU',0,0,NEK1+2,3,0) - IQ(LBANK-5)=ITM - CALL G3MULOF -C - 180 CONTINUE -* - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - WRITE(CHMAIL,10400) - CALL GMAIL(0,2) -C - CLOSE(LOUPHY) - LOUT=LOUSAV - WRITE(CHMAIL,13100) - CALL GMAIL(1,0) -C -10000 FORMAT('1',99('*')) -10100 FORMAT(' *',97X,'*') -10200 FORMAT( - +' * G E A N T Version',F7.4,' DATE/TIME',I7,'/', - + I4,10X,'R U N ',I5,19X,'*') -*10300 FORMAT( -* +' * R U N ',I5,49X,' *') -10400 FORMAT(' ',99('*')) -10500 FORMAT( - +' * Data structure Date Time GVERSN ZVERSN', - +43X,'*') -10600 FORMAT( - +' * -------------- ---- ---- ------ ------ *') -10700 FORMAT(' *',11X,A,6X,I7,2X,I4,3X,F7.4,2X,F7.2,44X,'*') -10800 FORMAT( - +' *----------------------------------------------------------*') -10900 FORMAT(' * Random number seeds: ',3X,I10,3X,I10,45X,'*') -11000 FORMAT( - +' * -------------------- *') -11100 FORMAT( - +' * Standard TPAR for this run are ', - +39X,'*') -11200 FORMAT( - +' * ------------------------------ *') -11300 FORMAT( - +' * CUTGAM=',F6.2,A4,' CUTELE=',F6.2,A4,' CUTNEU=',F6.2,A4, - +' CUTHAD=',F6.2,A4,' CUTMUO=',F6.2,A4,2X,'*') -11500 FORMAT( - +' * BCUTE =',F6.2,A4,' BCUTM =',F6.2,A4,' DCUTE =',F6.2,A4, - +' DCUTM =',F6.2,A4,' PPCUTM=',F6.2,A4,2X,'*') -11700 FORMAT( - +' * IPAIR=',F4.0,' ICOMP=',F4.0,' IPHOT=',F4.0,' IPFIS=', - +F4.0,' IDRAY=',F4.0,' IANNI=',F4.0,' IBREM=',F4.0,' IHADR=', - +F4.0,1X,'*') -11900 FORMAT( - +' * IMUNU=',F4.0,' IDCAY=',F4.0,' ILOSS=',F4.0,' IMULS=', - +F4.0,' IRAYL=',F4.0,' ILABS=',F4.0,' ISYNC=',F4.0,' ISTRA=', - +F4.0,1X,'*') - -12200 FORMAT(' ***** GPHYSI error, Material Nr=',I3, - + ' referenced by Medium Nr=',I3) -12300 FORMAT( - +' * Special TPAR for TMED',I4,3X,A,44X,'*') -12400 FORMAT( - +' * ------------------------- *') -12500 FORMAT(' ***** GPHYSI error, CUTS must be', - + ' greater than 10 KeV *****') -12600 FORMAT(' ***** GPHYSI error for material nr ',I4) -12700 FORMAT(7X,'Tracking medium NR',I4,' and',I4, - +' have different parameters') -12800 FORMAT( - +' * IHADR=3 not supported any more. GHEISHA will handle *') -12900 FORMAT( - +' * hadronic interactions for the above tracking medium *') -13000 FORMAT( - +' Calculating cross section tables, see gphysi.dat for more', - +' information') -13100 FORMAT( - +' Cross section calculation concluded successfully') - 999 END diff --git a/StarVMC/geant3/gphys/gpoiss.F b/StarVMC/geant3/gphys/gpoiss.F deleted file mode 100644 index 8454be444d5..00000000000 --- a/StarVMC/geant3/gphys/gpoiss.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: gpoiss.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gpoiss.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:44 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:32 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3POISS(AMVEC,NPVEC,LEN) -C. -C. ****************************************************************** -C. * * -C. * Generates a vector NPVEC of LEN random numbers * -C. * POISSON distribued with mean values AMVEC * -C. * * -C. * If the mean value A greater than PLIM, N is calculated * -C. * according to the Gaussian approximation of the Poisson * -C. * distribution. * -C. * * -C. * ==> Called by : G3LANDZ,G3MCOUL * -C. * * -C. * Author : L.Urban * -C. * Date : 28.04.1988 Last update : 1.02.1990 * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - REAL AMVEC(*),RNDM(2), N - INTEGER NPVEC(*) - PARAMETER (PLIM=16.,HMXINT=2E+9) -* - DO 30 I=1,LEN -* Protection against negative mean values - N=0. - IF(AMVEC(I).GT.0.) THEN - IF(AMVEC(I).LE.PLIM) THEN - CALL GRNDM(RNDM,1) - R=RNDM(1) - P=EXP(-AMVEC(I)) - S=P - IF(R.LE.S) GOTO 20 - 10 N=N+1. - P=P*AMVEC(I)/N - S=S+P - IF(S.LT.R.AND.P.GT.1.E-30) GOTO 10 - ELSE - CALL GRNDM(RNDM,2) - RR=SQRT(-2.*LOG(RNDM(1))) - PHI=TWOPI*RNDM(2) - X=RR*COS(PHI) - N=MIN(MAX(AMVEC(I)+X*SQRT(AMVEC(I)),0.),HMXINT) - ENDIF - ENDIF -* - 20 NPVEC(I) = N - 30 CONTINUE -* - END diff --git a/StarVMC/geant3/gphys/gprela.F b/StarVMC/geant3/gphys/gprela.F deleted file mode 100644 index f3475607186..00000000000 --- a/StarVMC/geant3/gphys/gprela.F +++ /dev/null @@ -1,150 +0,0 @@ -* -* $Id: gprela.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gprela.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:44 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:32 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3PRELA -C. -C. ****************************************************************** -C. * * -C. * Initialise energy loss due to direct pair-production and * -C. * nuclear interactions by muons. * -C. * * -C * A, Direct pair production <======= * -C * * -C. * The DE/DX expression of MANDO and RONCHI(NUOVO CIMENTO * -C. * 9(1952),517) is used which attempts to account for the effect * -C. * of atomic electron screening. The screening correction is * -C. * applied above the energy limit defined by C. RICHARD-SERRE * -C. * (CERN 71-18). * -C. * * -C * B, Nuclear interactions <======= * -C. * * -C. * the following expression derived from the Williams-Weizsacker * -C. * relation for the virtual photon flux is used : * -C. * * -C. * DE/DX = FACTOR * XSEC * E * -C. * * -C. * where, * -C. * FACTOR = 2. * N * ALPHA / PI * -C. * XSEC = total photo-nuclear cross-section assumed to * -C. * be independent of energy. Value of 140 mubarns * -C. * calculated by averaging the results of Hesse * -C. * et al(Phys. Rev. Lett 25(1970),613). * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Author G.Patrick ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcphys.inc" -#include "geant321/gconsp.inc" -#include "geant321/gccuts.inc" -#include "geant321/gctrak.inc" - DATA XSEC /140.E-30/ - DATA FACTOR/2.7976238E+21/ -C. -C. ------------------------------------------------------------------ -C. - IF(Z.LT.1.) GOTO 999 - ICHAN=IEKBIN - T = ELOW(ICHAN) - T1 = 10.**(EKBIN(1)+(ICHAN-0.5)/GEKA) - IF(T.LT.1.)GO TO 999 - E = T+EMMU - E1 = T1+EMMU - IF(JMIXT.EQ.0)THEN -C -C Element -C - DEDX = G3PRELM(Z,T,PPCUTM) - DEDX = AVO*DENS*DEDX/A -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - DEDX1 = G3PRELM(Z,T1,PPCUTM) - DEDX1 = AVO*DENS*DEDX1/A - ENDIF - ELSE -C -C Compound/Mixture -C - NLMAT = Q(JMA+11) - NLM = IABS(NLMAT) - DEDX = 0. - DEDX1 = 0. - DO 10 L=1,NLM - J = JMIXT+NLM+L - AA = Q(J-NLM) - ZZ = Q(J) - WMAT = Q(J+NLM) - S = G3PRELM(ZZ,T,PPCUTM) - S = WMAT*S/AA - DEDX = DEDX+AVO*DENS*S -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - S = G3PRELM(ZZ,T1,PPCUTM) - S = WMAT*S/AA - DEDX1 = DEDX1+AVO*DENS*S - ENDIF - 10 CONTINUE - ENDIF -C -C Nuclear interactions -C - IF(IMUNU.EQ.0.AND.E.GE.10.) THEN - DENU=DENS*FACTOR*XSEC*E -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - DENU1=DENS*FACTOR*XSEC*E1 - ENDIF - ELSE - DENU=0.0 - DENU1=0.0 - ENDIF - IF(DEDX.LT.0.)DEDX=0. - IF(DENU.LT.0.)DENU=0. - JEL2=LQ(JMA-2) - Q(JEL2+ICHAN)=Q(JEL2+ICHAN)+DEDX+DENU -* -* *** auxiliary integration point for Range tables - IF(ICHAN.NE.NEK1) THEN - IF(DEDX1.LT.0.)DEDX1=0. - IF(DENU1.LT.0.)DENU1=0. - WS(NEKBIN*2+ICHAN)=WS(NEKBIN*2+ICHAN)+DEDX1+DENU1 - ENDIF -C - 999 END diff --git a/StarVMC/geant3/gphys/gprelm.F b/StarVMC/geant3/gphys/gprelm.F deleted file mode 100644 index d1d96037029..00000000000 --- a/StarVMC/geant3/gphys/gprelm.F +++ /dev/null @@ -1,187 +0,0 @@ -* -* $Id: gprelm.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gprelm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:44 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:32 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - FUNCTION G3PRELM(Z,T,CUT) -C. -C. ****************************************************************** -C. * * -C. * To calculate DE/DX in GeV*barn/atom for direct * -C. * pair production by muons. * -C. * * -C. * ==>Called by : G3PRSGA * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. - PARAMETER (AKSI=1.19,BETA=1.24,DEL=0.13,VE=0.008) - PARAMETER (ECMIN=2.044E-3,CONMX=0.130653) -C CONMX=0.75*SQRT(2.7182...)*EMMU -#include "geant321/gconsp.inc" - DIMENSION C(100),D(28),C1(60),C2(40) - EQUIVALENCE (C(1),C1(1)),(C(61),C2(1)) - DATA C1/0.199979E-04,-0.247381E-04, 0.901012E-05,-0.624746E-06 - + , 0.306301E-08, 0.568134E-09,-0.154371E-04, 0.192663E-04 - + ,-0.638613E-05, 0.325587E-06, 0.798057E-08,-0.623709E-09 - + , 0.334831E-04,-0.305301E-04, 0.514764E-05, 0.273273E-07 - + ,-0.455952E-07, 0.200990E-08,-0.617418E-05,-0.119758E-04 - + , 0.505842E-05,-0.680982E-06, 0.335650E-07,-0.465426E-09 - + ,-0.134652E-04, 0.268825E-05, 0.722810E-07,-0.648440E-07 - + , 0.532560E-08,-0.122207E-09,-0.354308E-05, 0.125249E-05 - + ,-0.182348E-06, 0.125659E-07,-0.390005E-09, 0.423919E-11 - + , 0.427113E-05,-0.570105E-05, 0.156413E-05,-0.247880E-07 - + ,-0.534990E-08, 0.172881E-09,-0.309866E-06, 0.654607E-06 - + ,-0.885876E-07,-0.148160E-07, 0.814881E-09, 0.144373E-10 - + ,-0.594089E-07, 0.643470E-08,-0.204298E-07, 0.346177E-08 - + , 0.451711E-10,-0.115400E-10, 0.849857E-08,-0.485366E-08 - + , 0.247710E-08,-0.224799E-09,-0.125246E-10, 0.116449E-11/ - DATA C2/0.406000E-08,-0.164080E-07, 0.109450E-07,-0.201483E-08 - + , 0.889711E-10, 0.583750E-08, 0.523552E-08,-0.713086E-08 - + , 0.151684E-08,-0.703329E-10, 0.863004E-07,-0.107717E-06 - + , 0.344991E-07,-0.382381E-08, 0.128222E-09,-0.659685E-07 - + , 0.283383E-07,-0.263676E-08,-0.978698E-10, 0.109724E-10 - + , 0.209150E-09, 0.880502E-09,-0.235454E-09, 0.120280E-10 - + ,-0.120162E-13,-0.814192E-08, 0.402793E-08, 0.952674E-09 - + ,-0.377756E-09, 0.198358E-10, 0.254519E-08,-0.187283E-08 - + , 0.168056E-09, 0.293299E-10,-0.221041E-11,-0.233497E-09 - + , 0.197097E-09,-0.321342E-10, 0.329587E-12, 0.691294E-13/ - DATA D/-0.790941E-07, 0.840429E-07, 0.738033E-08,-0.407627E-07 - + ,-0.116392E-07, 0.358398E-08, 0.141013E-07, 0.814070E-08 - + ,-0.423749E-08, 0.173692E-08,-0.174475E-08,-0.185530E-08 - + , 0.737768E-09, 0.160269E-09,-0.598384E-09, 0.926201E-10 - + , 0.133740E-09, 0.957004E-11,-0.850466E-10, 0.214267E-10 - + , 0.967441E-10,-0.181431E-11,-0.324662E-11,-0.579085E-12 - + ,-0.237465E-11, 0.108081E-10,-0.902849E-11,-0.408422E-11/ -C. -C. ------------------------------------------------------------------ -C. - G3PRELM=0. - IF(CUT.LT.ECMIN) GOTO 999 -C - Z3=Z**0.333333 - E=T+EMMU - ECMAX=E-CONMX*Z3 - ECMA5=ECMAX*0.2 - X=LOG(E/EMMU) - IF(CUT.GE.ECMAX) GOTO 160 -C - IF(CUT.LE.ECMA5) THEN - CCUT=CUT - ELSE - CCUT=ECMA5 - ENDIF - Y=LOG(CCUT/(VE*E)) -C - S=0. - YY=1. - DO 30 I=1,2 - XX=1. - DO 20 J=1,6 - K=6*I+J-6 - S=S+C(K)*XX*YY - XX=XX*X - 20 CONTINUE - YY=YY*Y - 30 CONTINUE - DO 50 I=3,6 - XX=1. - DO 40 J=1,6 - K=6*I+J-6 - IF(Y.LE.0.) THEN - S=S+C(K)*XX*YY - ELSE - S=S+C(K+24)*XX*YY - ENDIF - XX=XX*X - 40 CONTINUE - YY=YY*Y - 50 CONTINUE - SS=0. - YY=1. - DO 70 I=1,2 - XX=1. - DO 60 J=1,5 - K=5*I+J+55 - SS=SS+C(K)*XX*YY - XX=XX*X - 60 CONTINUE - YY=YY*Y - 70 CONTINUE - DO 90 I=3,5 - XX=1. - DO 80 J=1,5 - K=5*I+J+55 - IF(Y.LE.0.) THEN - SS=SS+C(K)*XX*YY - ELSE - SS=SS+C(K+15)*XX*YY - ENDIF - XX=XX*X - 80 CONTINUE - YY=YY*Y - 90 CONTINUE -C - S=S+Z*SS - IF(S.LE.0.) GOTO 999 -C - FAC=E*((CCUT-ECMIN)/E)**BETA - FAC=Z*(Z+AKSI*(1.+DEL*LOG(Z)))*FAC - G3PRELM=FAC*S - IF(CUT.LE.ECMA5) GOTO 999 - GPREL5=G3PRELM -C - 160 Y=Z3 - S=D(1) - K=1 - XX=1. - YPX=Y/X - DO 180 I=1,6 - II=I+1 - XX=XX*X - XXYY=XX - DO 170 J=1,II - K=K+1 - S=S+D(K)*XXYY - XXYY=XXYY*YPX - 170 CONTINUE - 180 CONTINUE - IF(S.LE.0.) GOTO 999 -C - FAC=Z*(Z+1.)*ECMAX - IF(FAC.LE.0.) GOTO 999 - G3PRELM=FAC*S -C - IF((CUT.LE.ECMA5).OR.(CUT.GE.ECMAX)) GOTO 999 - DEL1=(G3PRELM-GPREL5)/(ECMAX-ECMA5) - G3PRELM=GPREL5+DEL1*(CUT-ECMA5) -C -999 RETURN - END diff --git a/StarVMC/geant3/gphys/gprobi.F b/StarVMC/geant3/gphys/gprobi.F deleted file mode 100644 index 46d727889b9..00000000000 --- a/StarVMC/geant3/gphys/gprobi.F +++ /dev/null @@ -1,203 +0,0 @@ -* -* $Id: gprobi.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gprobi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:44 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:33 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3PROBI -C. -C. ****************************************************************** -C. * * -C. * Initialise material constants used in the computation of * -C. * the probability for various interactions. * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Authors R.Brun, G.Patrick, L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcjloc.inc" - DIMENSION EK(4),EL1(4),EL2(4) - DATA EK / 0.66644E-8 , 0.22077E-9 ,-0.32552E-11, 0.18199E-13/ - DATA EL1/-0.29179E-9 , 0.87983E-10,-0.12589E-11, 0.69602E-14/ - DATA EL2/-0.68606E-9 , 0.10078E-9 ,-0.14496E-11, 0.78809E-14/ - DATA ALFA/7.29735E-3/ - DATA REL/0.2817938/ -C. -C. ------------------------------------------------------------------ -C. - IF(Z.LT.1.) GOTO 999 - AEFF=A - JPROB = LQ(JMA-4) - IF(JMIXT.GT.0)THEN - JMI1=LQ(JMIXT-1) - AEFF=Q(JMI1+1) - ENDIF -C -C store constants for PAIR/BREMS routines -C - X = (Z*ALFA)**2 - FC = (( - 0.002 * X + 0.0083) * X - 0.0369) * X + 0.20206 - FC = X * (FC + 1. / (1. + X)) - C1=Z**0.333333 - C2=LOG(C1) - C3=LOG(183./C1)-FC - C4=LOG(1440./(C1*C1))/C3 - Q(JPROB+1)=Z*(Z+C4)*C3/A - Q(JPROB+2)=C1 - Q(JPROB+3)=C2 - Q(JPROB+4)=FC -C -C constants for PHOTOEFFECT -C - Z2 = Z*Z - EKZ = Z2*(EK(1) +Z*(EK(2) +Z*(EK(3) +Z*EK(4)))) - EL1Z = Z2*(EL1(1)+Z*(EL1(2)+Z*(EL1(3)+Z*EL1(4)))) - EL2Z = Z2*(EL2(1)+Z*(EL2(2)+Z*(EL2(3)+Z*EL2(4)))) - Q(JPROB+5)=EKZ - Q(JPROB+6)=EL1Z - Q(JPROB+7)=EL2Z -C -C Constants for Hadronic interactions -C - Q(JPROB+8)= 1000.*AEFF/(AVO*DENS) -C -C Constants for electron/positron ionisation losses -C and S5 for one-photon annihilation -C - IF(JMIXT.LE.0)THEN - POTI=16.E-9*Z**0.9 - S1=Z/A - S5=Z**5/A*ALFA**4 - ELSE - NLMAT=Q(JMA+11) - NLM=IABS(NLMAT) - S1=0. - S2=0. - S5=0. - DO 10 J=1,NLM - AJ=Q(JMIXT+J) - ZJ=Q(JMIXT+NLM+J) - WJ=Q(JMIXT+2*NLM+J) - S1=S1+WJ*ZJ/AJ - S2=S2+WJ*ZJ*LOG(ZJ)/AJ - S5=S5+WJ*ZJ**5/AJ*ALFA**4 - 10 CONTINUE - POTI=16.E-9*EXP(0.9*S2/S1) - ENDIF - Q(JPROB+9) = POTI - Q(JPROB+10) = LOG(POTI) -C - CON1=LOG(POTI/EMASS) - CON2=DENS*S1 - CON3=1.+2.*LOG(POTI/(28.8E-9*SQRT(CON2))) -C -C Condensed material ? -C (at present that means: DENS.GT.0.05 g/cm**3) -C - IF(DENS.GT.0.05)THEN - IF(POTI.LT.1.E-7)THEN - IF(CON3.LT.3.681)THEN - CON4=0.2 - ELSE - CON4=0.326*CON3-1. - ENDIF - CON5=2. - ELSE - IF(CON3.LT.5.215)THEN - CON4=0.2 - ELSE - CON4=0.326*CON3-1.5 - ENDIF - CON5=3. - ENDIF - ELSE -C -C Gas (T=0 C, P= 1 ATM) -C if T.NE. 0 C and/or P.NE. 1 ATM -C you have to modify the variable X -C X=>X+0.5*LOG((273+T C)/(273*P ATM)) -C in the function GDRELE -C ------------------------ -C - IF(CON3.LE.12.25)THEN - IP=INT((CON3-10.)/0.5)+1 - IF(IP.LT.0) IP=0 - IF(IP.GT.4) IP=4 - CON4=1.6+0.1*FLOAT(IP) - CON5=4. - ELSE - IF(CON3.LE.13.804)THEN - CON4=2. - CON5=5. - ELSE - CON4=0.326*CON3-2.5 - CON5=5. - ENDIF - ENDIF - ENDIF -C - XA=CON3/4.606 - CON6=4.606*(XA-CON4)/(CON5-CON4)**3. - Q(JPROB+11)=CON1 - Q(JPROB+12)=CON2 - Q(JPROB+13)=-CON3 - Q(JPROB+14)=CON4 - Q(JPROB+15)=CON5 - Q(JPROB+16)=CON6 -C -C constant for delta rays -C (the same constant is used in the Compton -C and Annihilation subroutines ) -C and for one-photon annihilation -C - Q(JPROB+17)=AVO*TWOPI*REL*REL*DENS*S1 - Q(JPROB+18)=AVO*TWOPI*REL*REL*DENS*S5 -C -C Constants for Moliere scattering -C - IF(JMIXT.LE.0)THEN - CALL G3MOLI(A,Z,1.,1,DENS,Q(JPROB+21),Q(JPROB+25)) - ELSE - CALL G3MOLI(Q(JMIXT+1),Q(JMIXT+NLM+1),Q(JMIXT+2*NLM+1), - + NLM,DENS,Q(JPROB+21),Q(JPROB+25)) - ENDIF -C -C Constants for muon bremsstrahlung -C - Q(JPROB+31)=LOG(189.*EMMU/(EMASS*C1)) - IF(Z.GT.10)Q(JPROB+31)=Q(JPROB+31)+LOG(0.666666/C1) - SE =SQRT(2.71828) - Q(JPROB+32)=189.*SE*EMMU*EMMU/(2.*EMASS*C1) - Q(JPROB+33)=0.75*SE*EMMU*C1 -C - 999 END diff --git a/StarVMC/geant3/gphys/gprsga.F b/StarVMC/geant3/gphys/gprsga.F deleted file mode 100644 index b171dfd7f75..00000000000 --- a/StarVMC/geant3/gphys/gprsga.F +++ /dev/null @@ -1,135 +0,0 @@ -* -* $Id: gprsga.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gprsga.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:33 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3PRSGA -C. -C. ****************************************************************** -C. * * -C. * Calculates cross-section in current material * -C. * for photon pair production and muon direct pair production. * -C. * * -C * semiempirical cross section formula of L.Urban is used * -C * to estimate the photon mean free path in a given material * -C * (see WRITEUP) * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Authors R.Brun, G.Patrick, L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gconsp.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gccuts.inc" -C. -C. ------------------------------------------------------------------ -C. -C======> A, Pair production by photons -C ========================== -C Cut on threshold kinetic energy. Special case for vacuum -C - SST=0. - IF(Z.LT.1.)GO TO 90 - EGAM = ELOW(IEKBIN) - IF (EGAM.LT.0.00099) GO TO 90 - IF (EGAM.LT.0.00199) EGAM=0.0014 -C - JPROB=LQ(JMA-4) - IF(JMIXT.EQ.0)THEN -C -C simple material (element) -C - SST=G3PRSGG(Z,EGAM)/A - ELSE -C -C compound or mixture -C - NLMAT=Q(JMA+11) - NLM=IABS(NLMAT) - DO 10 I=1,NLM - II=JMIXT+NLM+I - AA=Q(II-NLM) - ZZ=Q(II) - W=Q(II+NLM) - SST=SST+W*G3PRSGG(ZZ,EGAM)/AA - 10 CONTINUE - ENDIF -C - SST=AVO*DENS*SST -C - 90 IF(SST.GT.0.)THEN - Q(JPAIR+IEKBIN)=1./SST - ELSE - Q(JPAIR+IEKBIN)=BIG - ENDIF -C -C======> B, Direct pair production by muons -C =============================== -C - SST=0. - IF(Z.LT.1.)GO TO 190 - T=ELOW(IEKBIN) - IF(T.LT.1.)GO TO 190 - IF(T.LE.PPCUTM)GO TO 190 - IF(JMIXT.EQ.0)THEN -C -C Element -C - SST=G3PRSGM(Z,T,PPCUTM) - SST=SST/A - ELSE -C -C Compound/Mixture -C - NLMAT=Q(JMA+11) - NLM =IABS(NLMAT) - SST =0. - DO 110 I=1,NLM - II = JMIXT+NLM+I - AA = Q(II-NLM) - ZZ = Q(II) - WMAT = Q(II+NLM) - SST = SST+WMAT*G3PRSGM(ZZ,T,PPCUTM)/AA - 110 CONTINUE - ENDIF - SST=AVO*DENS*SST -C - 190 IF(SST.GT.0.)THEN - Q(JPAIR+IEKBIN+NEK1)=1./SST - ELSE - Q(JPAIR+IEKBIN+NEK1)=BIG - ENDIF -C - END diff --git a/StarVMC/geant3/gphys/gprsgg.F b/StarVMC/geant3/gphys/gprsgg.F deleted file mode 100644 index c0b6d5ad7a9..00000000000 --- a/StarVMC/geant3/gphys/gprsgg.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: gprsgg.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gprsgg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:33 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 24/02/95 14.49.53 by S.Giani -*-- Author : - FUNCTION G3PRSGG(Z,E) -C. -C. ****************************************************************** -C. * * -C. * To calculate cross-section for e+e- production * -C. * by photons (in barn/atom) * -C. * * -C. * ==>Called by : G3PRSGA * -C. * Author L.Urban ********* * -C. * Modified by: G.Battistoni * -C. * * -C. * constant cross section is assumed above 100 GeV ! * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" - DIMENSION C(18),CC(3) - DATA C/ 0.87842E-3,-0.19625E-2, 0.12949E-2,-0.20028E-3 - + , 0.12575E-4,-0.28333E-6,-0.10342E-4, 0.17692E-4 - + ,-0.82391E-5, 0.13063E-5,-0.90815E-7, 0.23586E-8 - + ,-0.45263E-3, 0.11161E-2,-0.86749E-3, 0.21773E-3 - + ,-0.20467E-4, 0.65372E-6/ - DATA EUPP/100./ -C. -C. ------------------------------------------------------------------ -C. - SIG=0. -* - ESAV=E - IF(E.GT.EUPP) E=EUPP -* - IF(E.LE.2.*EMASS)GO TO 90 - X=LOG(E/EMASS) - DO 20 I=1,3 - CC(I)=0. - D=1. - DO 10 J=1,6 - JJ=6*I+J-6 - CC(I)=CC(I)+D*C(JJ) - D=D*X - 10 CONTINUE - 20 CONTINUE -C - SIG=Z*(Z+1.)*(CC(1)+CC(2)*Z+CC(3)/Z) -C - 90 IF(SIG.LT.0.)SIG=0. - G3PRSGG=SIG -* - E=ESAV -* - END diff --git a/StarVMC/geant3/gphys/gprsgm.F b/StarVMC/geant3/gphys/gprsgm.F deleted file mode 100644 index a96ea8c703b..00000000000 --- a/StarVMC/geant3/gphys/gprsgm.F +++ /dev/null @@ -1,153 +0,0 @@ -* -* $Id: gprsgm.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gprsgm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:33 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - FUNCTION G3PRSGM(Z,T,CCUT) -C. -C. ****************************************************************** -C. * * -C. * To calculate cross-section in barn/atom for direct * -C. * pair production by muons. * -C. * * -C. * ==>Called by : G3PRSGA * -C. * Author L.Urban ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -C - PARAMETER (AKSI=1.16,ALFA=3.46,GAM=0.06,VS=0.019) - PARAMETER (ECMIN=2.044E-3,CONMX=0.130653) -C CONMX=0.75*SQRT(2.7182...)*EMMU -C - DIMENSION C(100),C1(60),C2(40) - EQUIVALENCE (C(1),C1(1)),(C(61),C2(1)) - DATA C1/0.230181E-08,-0.280842E-08, 0.137525E-08,-0.156503E-09 - + , 0.728088E-11,-0.122631E-12, 0.133014E-08,-0.160591E-09 - + ,-0.390814E-09, 0.314492E-10, 0.251296E-12,-0.574223E-13 - + , 0.604923E-09,-0.560766E-09, 0.660253E-09,-0.103474E-09 - + , 0.621338E-11,-0.135273E-12, 0.103739E-09, 0.710290E-09 - + ,-0.544755E-10,-0.211241E-11, 0.286443E-12,-0.644602E-14 - + , 0.332492E-09,-0.484785E-10, 0.126921E-10,-0.165217E-11 - + , 0.845273E-13,-0.143180E-14,-0.112267E-13, 0.113308E-11 - + , 0.292577E-12,-0.733441E-13, 0.475747E-14,-0.976279E-16 - + ,-0.112856E-07, 0.936398E-08,-0.291882E-08, 0.422266E-09 - + ,-0.279042E-10, 0.678485E-12, 0.112383E-07,-0.964400E-08 - + , 0.313121E-08,-0.440224E-09, 0.278668E-10,-0.643012E-12 - + ,-0.414131E-08, 0.355112E-08,-0.115035E-08, 0.158539E-09 - + ,-0.976788E-11, 0.216911E-12, 0.521380E-09,-0.442265E-09 - + , 0.141753E-09,-0.190826E-10, 0.114038E-11,-0.242085E-13/ - DATA C2/0.572943E-10,-0.296824E-10, 0.630217E-11,-0.623179E-12 - + , 0.211467E-13,-0.143579E-10,-0.137247E-11, 0.118670E-11 - + ,-0.793091E-13, 0.124745E-14,-0.269884E-10, 0.125314E-10 - + ,-0.239259E-11, 0.181151E-12,-0.470277E-14,-0.342454E-11 - + , 0.976666E-12,-0.236792E-12, 0.213290E-13,-0.607799E-15 - + ,-0.748844E-12, 0.178214E-12,-0.226827E-13, 0.148441E-14 - + ,-0.367972E-16, 0.840330E-12, 0.820025E-11,-0.294797E-11 - + , 0.294669E-12,-0.970294E-14,-0.830636E-12,-0.309273E-11 - + , 0.124169E-11,-0.135879E-12, 0.481683E-14, 0.438223E-12 - + , 0.259162E-12,-0.149284E-12, 0.180170E-13,-0.677948E-15/ -C. -C. ------------------------------------------------------------------ -C. - G3PRSGM=0. - CUT=CCUT - IF(CUT.LT.ECMIN) CUT=ECMIN -C - E=T+EMMU - ECMAX=E-CONMX*Z**0.333333 - IF(CUT.GE.ECMAX) GOTO 99 -C - X=LOG(E/EMMU) - Y=LOG(CUT/(VS*E)) -C - S=0. - YY=1. - DO 30 I=1,2 - XX=1. - DO 20 J=1,6 - K=6*I+J-6 - S=S+C(K)*XX*YY - XX=XX*X - 20 CONTINUE - YY=YY*Y - 30 CONTINUE - DO 50 I=3,6 - XX=1. - DO 40 J=1,6 - K=6*I+J-6 - IF(Y.LE.0.) THEN - S=S+C(K)*XX*YY - ELSE - S=S+C(K+24)*XX*YY - ENDIF - XX=XX*X - 40 CONTINUE - YY=YY*Y - 50 CONTINUE - SS=0. - YY=1. - DO 70 I=1,2 - XX=1. - DO 60 J=1,5 - K=5*I+J+55 - SS=SS+C(K)*XX*YY - XX=XX*X - 60 CONTINUE - YY=YY*Y - 70 CONTINUE - DO 90 I=3,5 - XX=1. - DO 80 J=1,5 - K=5*I+J+55 - IF(Y.LE.0.) THEN - SS=SS+C(K)*XX*YY - ELSE - SS=SS+C(K+15)*XX*YY - ENDIF - XX=XX*X - 80 CONTINUE - YY=YY*Y - 90 CONTINUE -C - S=S+Z*SS - IF(S.LE.0.) GOTO 99 -C -C DE/DX SHOULD BE MONOTON INCREASING AS A -C FUNCTION OF THE CUT -C SOLUTION: LIN. INTERPOLATION FOR 0.2*ECMAXCalled by : G3PHYSI * -C. * Author M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION RANGMU, RANGEL, RANGPO, RANGPR - DOUBLE PRECISION DDXEL1, DDXMU1, DDXPR1, DDXPO1 - DOUBLE PRECISION DDXEL2, DDXMU2, DDXPR2, DDXPO2 - DOUBLE PRECISION DDXEL3, DDXMU3, DDXPR3, DDXPO3 - DOUBLE PRECISION HFACT, ONE, TEN, HLOG10, HFACT2, HFACT3 -#endif - PARAMETER (ONE=1,TEN=10) -* - HLOG10 = LOG(TEN) -* - JRANEL = LQ(JMA-15) - JRANPO = LQ(JMA-15)+NEK1 - JRANMU = LQ(JMA-16) - JRANPR = LQ(JMA-16)+NEK1 -* - IF(Z.LT.1) THEN - DO 10 IEKBIN=1,NEK1 - Q(JRANEL+IEKBIN)=BIG - Q(JRANPO+IEKBIN)=BIG - Q(JRANMU+IEKBIN)=BIG - Q(JRANPR+IEKBIN)=BIG - 10 CONTINUE -* - ELSE - SMALL = 1./BIG - JLOSEL = LQ(JMA-1) - JLOSPO = LQ(JMA-1)+NEK1 - JLOSMU = LQ(JMA-2) - JLOSPR = LQ(JMA-3) -* - JWSPEL = -1 - JWSPPO = NEKBIN -1 - JWSPMU = NEKBIN*2-1 - JWSPPR = NEKBIN*3-1 -* - RANGPO = 0. - RANGMU = 0. - RANGEL = 0. - RANGPR = 0. -* - Q(JRANEL+1)=0. - Q(JRANPO+1)=0. - Q(JRANMU+1)=0. - Q(JRANPR+1)=0. -* - HFACT = ONE/(6.*GEKA) -* - DDXEL3 = ELOW(1)*HLOG10/MAX(Q(JLOSEL+1),SMALL) - DDXMU3 = ELOW(1)*HLOG10/MAX(Q(JLOSMU+1),SMALL) - DDXPR3 = ELOW(1)*HLOG10/MAX(Q(JLOSPR+1),SMALL) - DDXPO3 = ELOW(1)*HLOG10/MAX(Q(JLOSPO+1),SMALL) -* - HFACT2 = HLOG10*TEN**(EKBIN(1)+0.5/GEKA) -* - DO 20 IEKBIN=2,NEK1 -* - HFACT3 = ELOW(IEKBIN)*HLOG10 -* -* *** Electrons -* - DDXEL1 = DDXEL3 - DDXEL3 = HFACT3/MAX(Q(JLOSEL+IEKBIN),SMALL) - DDXEL2 = HFACT2/MAX(WS(JWSPEL+IEKBIN),SMALL) - RANGEL = RANGEL+DDXEL1+4.*DDXEL2+DDXEL3 - Q(JRANEL+IEKBIN)=RANGEL*HFACT -* -* *** Positons -* - DDXPO1 = DDXPO3 - DDXPO3 = HFACT3/MAX(Q(JLOSPO+IEKBIN),SMALL) - DDXPO2 = HFACT2/MAX(WS(JWSPPO+IEKBIN),SMALL) - RANGPO = RANGPO+DDXPO1+4.*DDXPO2+DDXPO3 - Q(JRANPO+IEKBIN)=RANGPO*HFACT -* -* *** Muons -* - DDXMU1 = DDXMU3 - DDXMU3 = HFACT3/MAX(Q(JLOSMU+IEKBIN),SMALL) - DDXMU2 = HFACT2/MAX(WS(JWSPMU+IEKBIN),SMALL) - RANGMU = RANGMU+DDXMU1+4.*DDXMU2+DDXMU3 - Q(JRANMU+IEKBIN)=RANGMU*HFACT -* -* *** Protons -* - DDXPR1 = DDXPR3 - DDXPR3 = HFACT3/MAX(Q(JLOSPR+IEKBIN),SMALL) - DDXPR2 = HFACT2/MAX(WS(JWSPPR+IEKBIN),SMALL) - RANGPR = RANGPR+DDXPR1+4.*DDXPR2+DDXPR3 - Q(JRANPR+IEKBIN)=RANGPR*HFACT -* - HFACT2 = HLOG10*TEN**(EKBIN(1)+(IEKBIN-0.5)/GEKA) -* - 20 CONTINUE - ENDIF -* - END diff --git a/StarVMC/geant3/gphys/grangi1.F b/StarVMC/geant3/gphys/grangi1.F deleted file mode 100644 index 33c6598a9a4..00000000000 --- a/StarVMC/geant3/gphys/grangi1.F +++ /dev/null @@ -1,150 +0,0 @@ -* -* $Id: grangi1.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: grangi1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:33 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_NEVER) -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3RANGI -C. -C. ****************************************************************** -C. * * -C. * Calculates the stopping range , in cm. * -C. * (i.e. the maximum step due to the continuous energy loss) * -C. * The stopping range is the integral of the inverse of the * -C. * DE/DX table. * -C. * There are 4 tables : electron,positron,muon,proton * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Author M.Maire ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -* - DO 50 IEKBIN=1,NEK1 -* -* *** Electrons -* - JLOSS = LQ(JMA-1) - JRANG = LQ(JMA-15) - IF (Z.LT.1.) THEN - Q(JRANG+IEKBIN) = BIG - ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN - Q(JRANG+IEKBIN) = 0. - ELSE - DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1) - FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1. - IF (ABS(FRACT).GE.0.1) THEN - DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1)) - DRANG=DRANG*LOG(1.+FRACT) - ELSE - DRANG=DEBIN/Q(JLOSS+IEKBIN-1) - DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT) - ENDIF - Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG - ENDIF -* -* *** Positons -* - JLOSS = LQ(JMA-1) + NEK1 - JRANG = LQ(JMA-15) + NEK1 - IF (Z.LT.1.) THEN - Q(JRANG+IEKBIN) = BIG - ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN - Q(JRANG+IEKBIN) = 0. - ELSE - DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1) - FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1. - IF (ABS(FRACT).GE.0.1) THEN - DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1)) - DRANG=DRANG*LOG(1.+FRACT) - ELSE - DRANG=DEBIN/Q(JLOSS+IEKBIN-1) - DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT) - ENDIF - Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG - ENDIF -* -* *** Muons -* - JLOSS = LQ(JMA-2) - JRANG = LQ(JMA-16) - IF (Z.LT.1.) THEN - Q(JRANG+IEKBIN) = BIG - ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN - Q(JRANG+IEKBIN) = 0. - ELSE - DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1) - FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1. - IF (ABS(FRACT).GE.0.1) THEN - DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1)) - DRANG=DRANG*LOG(1.+FRACT) - ELSE - DRANG=DEBIN/Q(JLOSS+IEKBIN-1) - DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT) - ENDIF - Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG - ENDIF -* -* *** Protons -* - JLOSS = LQ(JMA-3) - JRANG = LQ(JMA-16) + NEK1 - IF (Z.LT.1.) THEN - Q(JRANG+IEKBIN) = BIG - ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN - Q(JRANG+IEKBIN) = 0. - ELSE - DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1) - FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1. - IF (ABS(FRACT).GE.0.1) THEN - DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1)) - DRANG=DRANG*LOG(1.+FRACT) - ELSE - DRANG=DEBIN/Q(JLOSS+IEKBIN-1) - DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT) - ENDIF - Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG - ENDIF - 50 CONTINUE -* - END -#else - SUBROUTINE GRANGI1_DUMMY - END -#endif diff --git a/StarVMC/geant3/gphys/grayl.F b/StarVMC/geant3/gphys/grayl.F deleted file mode 100644 index 5e600d450a6..00000000000 --- a/StarVMC/geant3/gphys/grayl.F +++ /dev/null @@ -1,133 +0,0 @@ -* -* $Id: grayl.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: grayl.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:45 fisyak -* Merge with macos version -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.2 1996/11/06 12:53:21 ravndal -* Correct the rotation into the GEANT system -* -* Revision 1.1.1.1 1995/10/24 10:21:33 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3RAYL -C. -C. ****************************************************************** -C. * * -C. * Generates COHERENT SCATTERING mechanism * -C. * * -C. * ==>Called by : G3TGAMA * -C. * Author G.Tromba, P.Bregant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcphys.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcking.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" - DIMENSION VROT(3) - DIMENSION RNDM(2) - LOGICAL ROTATE -C. -C. ------------------------------------------------------------------ -C. - KCASE = NAMEC(25) - NGKINE=0 -* - IMAX=NEKBIN - DO 2 I=2,NEK1 - IF (Q(JRAYL+I).GT.0.9*BIG) THEN - IMAX = I-1 - GO TO 2 - ENDIF - 2 CONTINUE -C -C Extract a value for the momentum transfer according -C with the FORM FACTORS distribution. -C - IF (IEKBIN.LT.IMAX) THEN - GEKRT1=1.-GEKRAT - A2MAX=GEKRT1*Q(JRAYL+NEK1+IEKBIN)+GEKRAT*Q(JRAYL+NEK1+IEKBIN+1) - ELSE - A2MAX=Q(JRAYL+NEK1+IEKBIN) - ENDIF - GEKIN1=1./GEKIN - 5 CALL GRNDM(RNDM,2) - A2=RNDM(1)*A2MAX - DO 10 I=1,(IMAX-1) - IF (A2.LE.Q(JRAYL+I+NEK1)) THEN - IE=I - GO TO 20 - ENDIF -10 CONTINUE - IE=IMAX -20 IF (IE.GT.1) THEN - GA2RAT =(A2-Q(JRAYL+NEK1+IE-1))/(Q(JRAYL+NEK1+IE) - + -Q(JRAYL+NEK1+IE-1)) - QNEW = ELOW(IE-1)*(1.-GA2RAT)+ELOW(IE)*GA2RAT - ELSE - GA2RAT = A2/Q(JRAYL+NEK1+IE) - QNEW = ELOW(IE)*GA2RAT - ENDIF -C -C Find out cos(theta) - COSTH=1.-0.5*(QNEW*GEKIN1)**2 - IF (COSTH.LT.-1.) COSTH=-1. - IF (COSTH.GT.1.) COSTH=1. - IF(RNDM(2).GT.0.5*(1.+COSTH**2)) GO TO 5 - SINTH=SQRT((1.-COSTH)*(1.+COSTH)) -C -C Extract PH (PHI unif. between 0 and 2PI) - CALL GRNDM(RNDM,2) - PH=RNDM(1)*TWOPI - COSPH=COS(PH) - SINPH=SIN(PH) -C -C Set new VECT(I), i=4,5,6 - VROT(1)=GEKIN*SINTH*COSPH - VROT(2)=GEKIN*SINTH*SINPH - VROT(3)=GEKIN*COSTH -C -C Rotate scattered photon into GEANT system -C - CALL G3FANG(VECT(4),COSTH,SINTH,COSPH,SINPH,ROTATE) - IF (ROTATE) CALL G3DROT(VROT,COSTH,SINTH,COSPH,SINPH) - - VMROT=1./SQRT(VROT(1)*VROT(1)+VROT(2)*VROT(2)+VROT(3)*VROT(3)) - VECT(4)=VROT(1)*VMROT - VECT(5)=VROT(2)*VMROT - VECT(6)=VROT(3)*VMROT -C -C Update probabilities -C -* - ZINTRA=-LOG(RNDM(2)) - SLRAYL=SLENG - STEPRA=BIG -* -C - END - diff --git a/StarVMC/geant3/gphys/grayli.F b/StarVMC/geant3/gphys/grayli.F deleted file mode 100644 index 4ff5f8a8b80..00000000000 --- a/StarVMC/geant3/gphys/grayli.F +++ /dev/null @@ -1,580 +0,0 @@ -* -* $Id: grayli.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: grayli.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:33 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3RAYLI -C. -C. ****************************************************************** -C. * * -C. * Calculates cross-section of current material for RAYLEIGH * -C. * EFFECT using polinomial fits of tables in log-log scale. * -C. * One fit (4 coefficients) for each element is used. * -C. * Atomic form factors are calculated as a function of momentum * -C. * transfer using polinomial fits of data tables in log-log scale* -C. * One or two fits are used according with the value of NFIT. * -C. * Evaluates the integral of atomic form factors which will be * -C. * used in the SUBROUTINE GRAYL to sample scattering angles * -C. * NOTE: * -C. * (1) Above 10 MeV a cut is imposed as the contribution of * -C. * Rayleigh effect is negligible * -C. * * -C. * ==>Called by : G3PHYSI * -C. * Author G.Tromba (*), P.Bregant (**) * -C. * * -C. * (*) now at: Sincrotrone Trieste, Padriciano 99, Trieste (I) * -C. * (**)U.S.L. n.1 Triestina * -C. * Servizio di Fisica Sanitaria, v.Pieta' 19, 34129 Trieste * -C * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gctrak.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmulo.inc" - DIMENSION COHER(4,100),CFORM(8,100),ELIM(100) -* - DATA((COHER(I,J),I=1,4),J=1,20)/-12.646,-1.9734,.13417,.23998E-01 - +,-10.303,-1.9553,0.15913,0.29927E-01 - +,-9.1274,-2.0474,0.87874E-01,0.23572E-01 - +,-8.3066,-2.0615,0.46623E-01,0.18455E-01 - +,-7.6967,-2.0684,0.24280E-01,0.15622E-01 - +,-7.2088,-2.0633,0.15713E-01,0.14402E-01 - +,-6.8026,-2.0574,0.16437E-01,0.14518E-01 - +,-6.4403,-2.0449,0.18975E-01,0.14716E-01 - +,-6.1099,-2.0390,0.21207E-01,0.15081E-01 - +,-5.7930,-2.0384,0.19210E-01,0.14989E-01 - +,-5.5410,-2.0430,0.20118E-01,0.15698E-01 - +,-5.3138,-2.0399,0.21325E-01,0.16074E-01 - +,-5.0993,-2.0395,0.19494E-01,0.16046E-01 - +,-4.9005,-2.0397,0.17404E-01,0.15937E-01 - +,-4.7149,-2.0394,0.15412E-01,0.15788E-01 - +,-4.5420,-2.0393,0.13945E-01,0.15704E-01 - +,-4.3846,-2.0372,0.14551E-01,0.15848E-01 - +,-4.2381,-2.0316,0.16322E-01,0.16051E-01 - +,-4.1023,-2.0249,0.17752E-01,0.16300E-01 - +,-3.9704,-2.0187,0.17285E-01,0.16217E-01/ - DATA ((COHER(I,J),I=1,4),J=21,40)/-3.8342,-2.0137,.014534,.015744 - +,-3.7014,-2.0118,0.10973E-01,0.15228E-01 - +,-3.5759,-2.0127,0.80253E-02,0.14884E-01 - +,-3.4584,-2.0121,0.70340E-02,0.14731E-01 - +,-3.3494,-2.0101,0.66838E-02,0.14731E-01 - +,-3.2392,-2.0074,0.57007E-02,0.14562E-01 - +,-3.1309,-2.0050,0.41822E-02,0.14312E-01 - +,-3.0235,-2.0049,0.19877E-02,0.14052E-01 - +,-2.9211,-2.0071,0.85036E-03,0.13970E-01 - +,-2.8192,-2.0069,-0.14296E-02,0.13732E-01 - +,-2.7265,-2.0088,-0.26683E-02,0.13717E-01 - +,-2.6378,-2.0095,-0.34226E-02,0.13727E-01 - +,-2.5496,-2.0094,-0.62157E-02,0.13425E-01 - +,-2.4704,-2.0092,-0.43550E-02,0.13753E-01 - +,-2.3900,-2.0083,-0.48368E-02,0.13730E-01 - +,-2.3111,-2.0072,-0.55407E-02,0.13668E-01 - +,-2.2355,-2.0065,-0.61290E-02,0.13697E-01 - +,-2.1614,-2.0064,-0.70329E-02,0.13672E-01 - +,-2.0899,-2.0060,-0.78982E-02,0.13612E-01 - +,-2.0203,-2.0057,-0.85764E-02,0.13570E-01/ - DATA((COHER(I,J),I=1,4),J=41,60)/-1.9519,-2.0049,-.0091079,.013506 - +,-1.8851,-2.0036,-0.94870E-02,0.13472E-01 - +,-1.8210,-2.0019,-0.10066E-01,0.13410E-01 - +,-1.7554,-2.0007,-0.11089E-01,0.13247E-01 - +,-1.6914,-1.9990,-0.11844E-01,0.13139E-01 - +,-1.6279,-1.9984,-0.12922E-01,0.12987E-01 - +,-1.5659,-1.9980,-0.13635E-01,0.12948E-01 - +,-1.5073,-1.9977,-0.14136E-01,0.12937E-01 - +,-1.4501,-1.9959,-0.14206E-01,0.12957E-01 - +,-1.3942,-1.9943,-0.14863E-01,0.12876E-01 - +,-1.3378,-1.9916,-0.15680E-01,0.12738E-01 - +,-1.2820,-1.9881,-0.16880E-01,0.12511E-01 - +,-1.2231,-1.9861,-0.18942E-01,0.12204E-01 - +,-1.1658,-1.9850,-0.21146E-01,0.11896E-01 - +,-1.1112,-1.9864,-0.22968E-01,0.11769E-01 - +,-1.0594,-1.9877,-0.24247E-01,0.11707E-01 - +,-1.0104,-1.9895,-0.24993E-01,0.11718E-01 - +,-0.96289,-1.9905,-0.25026E-01,0.11788E-01 - +,-0.91458,-1.9909,-0.25128E-01,0.11807E-01 - +,-0.86838,-1.9909,-0.25111E-01,0.11847E-01/ - DATA ((COHER(I,J),I=1,4),J=61,80)/-.82136,-1.9903,-.025340,.011835 - +,-0.77441,-1.9864,-0.26074E-01,0.11635E-01 - +,-0.72869,-1.9885,-0.26020E-01,0.11761E-01 - +,-0.68337,-1.9878,-0.26532E-01,0.11712E-01 - +,-0.63683,-1.9871,-0.26966E-01,0.11650E-01 - +,-0.59154,-1.9867,-0.27440E-01,0.11604E-01 - +,-0.54758,-1.9862,-0.27986E-01,0.11561E-01 - +,-0.50282,-1.9861,-0.28229E-01,0.11547E-01 - +,-0.45943,-1.9858,-0.28501E-01,0.11535E-01 - +,-0.41677,-1.9856,-0.28696E-01,0.11540E-01 - +,-0.37528,-1.9853,-0.29045E-01,0.11529E-01 - +,-0.33450,-1.9843,-0.29095E-01,0.11545E-01 - +,-0.29346,-1.9834,-0.29469E-01,0.11511E-01 - +,-0.25286,-1.9823,-0.29847E-01,0.11469E-01 - +,-0.21251,-1.9810,-0.30285E-01,0.11412E-01 - +,-0.17200,-1.9801,-0.30821E-01,0.11368E-01 - +,-0.13190,-1.9789,-0.31515E-01,0.11257E-01 - +,-0.92060E-01,-1.9781,-0.32135E-01,0.11179E-01 - +,-0.52955E-01,-1.9775,-0.32687E-01,0.11125E-01 - +,-0.14708E-01,-1.9770,-0.33185E-01,0.11092E-01/ - DATA((COHER(I,J),I=1,4),J=81,100)/.022864,-1.9751,-.033545,.011037 - +,0.60152E-01,-1.9764,-0.33897E-01,0.11092E-01 - +,0.96158E-01,-1.9760,-0.34169E-01,0.11099E-01 - +,0.13251,-1.9753,-0.34520E-01,0.11085E-01 - +,0.16833,-1.9747,-0.34818E-01,0.11081E-01 - +,0.20362,-1.9740,-0.35032E-01,0.11086E-01 - +,0.23778,-1.9734,-0.34984E-01,0.11155E-01 - +,0.27280,-1.9725,-0.35314E-01,0.11153E-01 - +,0.30673,-1.9718,-0.35308E-01,0.11229E-01 - +,0.34031,-1.9706,-0.35518E-01,0.11187E-01 - +,0.37415,-1.9695,-0.35653E-01,0.11175E-01 - +,0.40755,-1.9670,-0.34285E-01,0.11389E-01 - +,0.44086,-1.9671,-0.35957E-01,0.11154E-01 - +,0.47375,-1.9661,-0.36059E-01,0.11145E-01 - +,0.50582,-1.9648,-0.36048E-01,0.11154E-01 - +,0.53772,-1.9635,-0.36237E-01,0.11140E-01 - +,0.56929,-1.9622,-0.36256E-01,0.11141E-01 - +,0.60044,-1.9608,-0.36340E-01,0.11134E-01 - +,0.63122,-1.9596,-0.36313E-01,0.11138E-01 - +,0.66162,-1.9582,-0.36298E-01,0.11141E-01/ -* - DATA ELIM/3*0.,3*0.13569E-04,3*0.14408E-04,3*0.15299E-04 - +,3*0.21928E-04,3*0.27876E-04,3*0.35437E-04,3*0.45049E-04 - +,3*0.50793E-04,3*0.53934E-04,3*0.57269E-04,3*0.60810E-04 - +,3*0.68563E-04,3*0.77305E-04,3*0.87161E-04,3*0.98274E-04 - +,3* 0.11080E-03,3*0.11765E-03,3*0.12493E-03,3*0.13266E-03 - +,3*0.14086E-03,3*0.15882E-03,3* 0.16864E-03,3*0.19014E-03 - +,3*0.21438E-03,3*0.22764E-03,2*0.24171E-03,3*0.27253E-03 - +,4*0.28938E-03,3*0.3072E-03,10*0./ -* - DATA((CFORM(I,J),I=1,8),J=1,10)/-22.516,-5.1310,-.90555,-.055778 - +,0.11875,0.36659E-01,0.39279E-02,0.14494E-03 - +,-19.260,-4.6034,-0.60480,-0.86935E-01 - +,0.75207E-01,0.29358E-01,0.35640E-02,0.14448E-03 - +,-16.745,-2.9900,-0.34216E-01,-0.22543 - +,-0.29032E-01,0.11312E-01,0.24065E-02,0.12420E-03 - +,-17.780,-7.8538,-1.1320,-0.56378E-01 - +,-16.730,-4.1304,0.18327,0.63285E-01 - +,-5.7128,-1.8620,-0.14825,-0.39071E-02 - +,-15.923,-4.1463,0.24609,0.83958E-01 - +,6.1359,4.3284,0.91725,0.55486E-01 - +,-15.224,-4.1486,0.28574,0.99104E-01 - +,7.9239,5.4239,1.1417,0.69696E-01 - +,-14.548,-4.1850,0.26729,0.10343 - +,5.6813,4.4241,1.0125,0.64574E-01 - +,-13.948,-4.2241,0.23705,0.10507 - +,-0.73602,1.2353,0.51040,0.38876E-01 - +,-13.380,-4.3238,0.15807,0.98704E-01 - +,-4.5122,-0.69749,0.20317,0.23107E-01 - +,-12.880,-4.3645,0.11149,0.96212E-01/ - DATA((CFORM(I,J),I=1,8),J=11,20)/-12.894,-5.1262,-0.54343,-.017585 - +,-12.442,-4.4181,0.64564E-01,0.93785E-01 - +,-18.182,-7.9979,-1.0369,-0.44947E-01 - +,-11.961,-4.4932,-0.23538E-01,0.83167E-01 - +,-7.7002,-2.7396,-0.16988,0.17141E-02 - +,-11.655,-4.3468,0.67545E-01,0.10218 - +,-11.458,-4.8625,-0.54640,-0.19752E-01 - +,-11.288,-4.3645,0.31952E-01,0.10016 - +,-13.733,-6.1918,-0.78628,-0.33620E-01 - +,-10.866,-4.4125,-0.54747E-01,0.87723E-01 - +,-6.9281,-2.5933,-0.16486,0.11230E-02 - +,-10.716,-4.2771,0.63949E-01,0.11331 - +,-9.1472,-3.9093,-0.40549,-0.12939E-01 - +,-10.308,-4.3105,-0.26699E-01,0.98791E-01 - +,-10.558,-4.7765,-0.56625,-0.22421E-01 - +,-9.9972,-4.3437,-0.82898E-01,0.92124E-01 - +,-6.0983,-2.3464,-0.13404,0.24166E-02 - +,-10.027,-4.2552,0.73490E-01,0.13009 - +,-7.9984,-3.5151,-0.35363,-0.10654E-01 - +,-9.6508,-4.2506,-0.65510E-02,0.11484/ - DATA((CFORM(I,J),I=1,8),J=21,30)/-9.2121,-4.2776,-0.49730,-.019235 - +,-9.4905,-4.2588,0.32597E-02,0.12279 - +,-3.9128,-1.2033,0.75797E-01,0.14897E-01 - +,-9.3296,-4.1979,0.42817E-01,0.13360 - +,-5.1579,-1.9987,-0.76380E-01,0.56926E-02 - +,-9.0348,-4.1729,-0.43368E-02,0.12460 - +,-6.1115,-2.6115,-0.19286,-0.13208E-02 - +,-8.7478,-4.1599,-0.57064E-01,0.11511 - +,-4.5827,-1.7167,-0.21089E-01,0.91965E-02 - +,-8.6469,-4.1430,-0.21725E-01,0.12790 - +,-5.4795,-2.3056,-0.13495,0.22647E-02 - +,-8.4099,-4.1228,-0.55178E-01,0.12251 - +,-6.1802,-2.7722,-0.22505,-0.32066E-02 - +,-8.2279,-4.0934,-0.62350E-01,0.12269 - +,-5.8290,-2.5908,-0.19000,-0.10226E-02 - +,-8.0551,-4.0478,-0.60875E-01,0.12369 - +,-6.2227,-2.8633,-0.24196,-0.41418E-02 - +,-7.8068,-4.0203,-0.10682,0.11396 - +,-6.6260,-3.1507,-0.29866,-0.76188E-02 - +,-7.5763,-3.9966,-0.14839,0.10560/ - DATA((CFORM(I,J),I=1,8),J=31,40)/-5.8965,-2.7383,-.22009,-.0028149 - +,-7.5281,-3.9941,-0.10906,0.12081 - +,-6.2790,-3.0188,-0.27697,-0.63842E-02 - +,-7.3337,-3.9547,-0.13178,0.11541 - +,-6.5270,-3.2157,-0.31779,-0.89844E-02 - +,-7.1437,-3.9160,-0.15503,0.10982 - +,-6.6564,-3.3380,-0.34420,-0.10706E-01 - +,-6.9226,-3.8688,-0.19301,0.99252E-01 - +,-6.6676,-3.3866,-0.35637,-0.11562E-01 - +,-6.7647,-3.8417,-0.20928,0.96358E-01 - +,-6.5973,-3.3839,-0.35856,-0.11806E-01 - +,-6.5615,-3.7910,-0.24140,0.86548E-01 - +,-5.5223,-2.7503,-0.23696,-0.43562E-02 - +,-6.6156,-3.8232,-0.17222,0.11431 - +,-5.7577,-2.9413,-0.27766,-0.69923E-02 - +,-6.4351,-3.7636,-0.19273,0.10630 - +,-5.8988,-3.0704,-0.30602,-0.88735E-02 - +,-6.2520,-3.7107,-0.21873,0.97517E-01 - +,-5.1690,-2.6301,-0.21923,-0.34573E-02 - +,-6.2183,-3.7177,-0.18979,0.11175/ - DATA((CFORM(I,J),I=1,8),J=41,50)/-5.3652,-2.7941,-.25462,-.0057986 - +,-6.0669,-3.6847,-0.20939,0.10725 - +,-5.5028,-2.9182,-0.28166,-0.75863E-02 - +,-5.9625,-3.6681,-0.21256,0.10888 - +,-4.4716,-2.2542,-0.14575,0.11394E-02 - +,-5.9717,-3.7006,-0.17526,0.12848 - +,-4.6959,-2.4391,-0.18590,-0.15318E-02 - +,-5.8101,-3.6454,-0.19615,0.12040 - +,-4.8697,-2.5886,-0.21853,-0.36987E-02 - +,-5.6609,-3.6010,-0.21568,0.11417 - +,-4.3929,-2.2914,-0.15753,0.22346E-03 - +,-5.6585,-3.6429,-0.19093,0.13204 - +,-4.5695,-2.4433,-0.19070,-0.19681E-02 - +,-5.5414,-3.6051,-0.19872,0.12936 - +,-4.7029,-2.5655,-0.21777,-0.37707E-02 - +,-5.4029,-3.5513,-0.21291,0.12265 - +,-4.2616,-2.2896,-0.16092,-0.80603E-04 - +,-5.3622,-3.5694,-0.20212,0.13395 - +,-4.4165,-2.4282,-0.19184,-0.21565E-02 - +,-5.2567,-3.5409,-0.20978,0.13282/ - DATA((CFORM(I,J),I=1,8),J=51,60)/-4.5344,-2.5405,-.21724,-.0038729 - +,-5.1491,-3.5054,-0.21718,0.13045 - +,-3.6372,-1.9343,-0.88690E-01,0.46020E-02 - +,-5.0258,-3.4548,-0.22839,0.12463 - +,-3.8210,-2.0961,-0.12529,0.21101E-02 - +,-4.8945,-3.3989,-0.24271,0.11716 - +,-3.9712,-2.2334,-0.15661,-0.34134E-04 - +,-4.7735,-3.3522,-0.25562,0.11148 - +,-3.1689,-1.6776,-0.36233E-01,0.80485E-02 - +,-4.8172,-3.4334,-0.22782,0.13781 - +,-3.3490,-1.8398,-0.73631E-01,0.54743E-02 - +,-4.6932,-3.3773,-0.24060,0.13057 - +,-3.5038,-1.9826,-0.10676,0.31787E-02 - +,-4.5891,-3.3400,-0.25016,0.12742 - +,-3.6192,-2.0937,-0.13237,0.14104E-02 - +,-4.5112,-3.3248,-0.25437,0.12929 - +,-3.6974,-2.1750,-0.15093,0.13588E-03 - +,-4.4412,-3.3123,-0.25609,0.13194 - +,-3.7627,-2.2475,-0.16786,-0.10371E-02 - +,-4.3611,-3.2863,-0.25915,0.13169/ - DATA((CFORM(I,J),I=1,8),J=61,70)/-3.2202,-1.8724,-.086015,.0044765 - +,-4.3280,-3.3034,-0.25324,0.14193 - +,-3.3101,-1.9643,-0.10751,0.29785E-02 - +,-4.2204,-3.2500,-0.26236,0.13536 - +,-3.3804,-2.0408,-0.12547,0.17255E-02 - +,-4.1144,-3.1979,-0.27167,0.12901 - +,-2.9387,-1.7293,-0.56192E-01,0.64683E-02 - +,-4.1523,-3.3027,-0.26089,0.15874 - +,-3.0175,-1.8125,-0.75694E-01,0.51021E-02 - +,-4.0626,-3.2616,-0.26653,0.15504 - +,-3.0862,-1.8882,-0.93679E-01,0.38370E-02 - +,-3.9705,-3.2160,-0.27238,0.15031 - +,-3.1456,-1.9572,-0.11034,0.26582E-02 - +,-3.8761,-3.1664,-0.27856,0.14462 - +,-3.1764,-2.0014,-0.12079,0.19291E-02 - +,-3.7797,-3.1138,-0.28517,0.13823 - +,-3.2001,-2.0409,-0.13038,0.12518E-02 - +,-3.6830,-3.0606,-0.29220,0.13166 - +,-2.3527,-1.3953,0.18353E-01,0.11661E-01 - +,-3.7196,-3.1764,-0.28985,0.16452/ - DATA((CFORM(I,J),I=1,8),J=71,80)/-2.4343,-1.4853,-.0039059,.010053 - +,-3.6407,-3.1393,-0.29399,0.16168 - +,-2.5051,-1.5660,-0.23942E-01,0.86019E-02 - +,-3.5604,-3.0986,-0.29802,0.15798 - +,-1.8482,-1.0335,0.10459,0.17905E-01 - +,-3.5085,-3.1017,-0.30378,0.16493 - +,-1.9235,-1.1237,0.81217E-01,0.16159E-01 - +,-3.4387,-3.0742,-0.30789,0.16440 - +,-1.9968,-1.2113,0.58623E-01,0.14477E-01 - +,-3.3686,-3.0445,-0.31168,0.16331 - +,-1.5319,-0.79915,0.16481,0.22511E-01 - +,-3.2798,-2.9781,-0.31121,0.15278 - +,-1.5451,-0.83937,0.15298,0.21567E-01 - +,-3.2138,-2.9536,-0.31574,0.15312 - +,-1.5881,-0.90618,0.13445,0.20123E-01 - +,-3.1480,-2.9280,-0.31999,0.15319 - +,-1.6449,-0.98427,0.11327,0.18495E-01 - +,-3.0827,-2.9016,-0.32395,0.15299 - +,-1.7060,-1.0648,0.91680E-01,0.16851E-01 - +,-3.0177,-2.8739,-0.32760,0.15248/ - DATA((CFORM(I,J),I=1,8),J=81,90)/-1.4063,-0.78702,.16611,.02263 - +,-2.9358,-2.8086,-0.32466,0.14168 - +,-1.3849,-0.79373,0.16298,0.22357E-01 - +,-2.8720,-2.7814,-0.32852,0.14138 - +,-1.4038,-0.84050,0.14911,0.21248E-01 - +,-2.8081,-2.7526,-0.33199,0.14064 - +,-1.3918,-0.84924,0.14659,0.21073E-01 - +,-2.7440,-2.7219,-0.33502,0.13940 - +,-1.3620,-0.84008,0.14882,0.21263E-01 - +,-2.6798,-2.6896,-0.33763,0.13770 - +,-1.3138,-0.81488,0.15492,0.21729E-01 - +,-2.6153,-2.6552,-0.33976,0.13541 - +,-1.2903,-0.81842,0.15271,0.21530E-01 - +,-2.5504,-2.6186,-0.34144,0.13254 - +,-1.2999,-0.85623,0.14107,0.20590E-01 - +,-2.5124,-2.6461,-0.35864,0.14864 - +,-1.3280,-0.91171,0.12477,0.19289E-01 - +,-2.4543,-2.6213,-0.36244,0.14915 - +,-1.3618,-0.97145,0.10751,0.17921E-01 - +,-2.3971,-2.5968,-0.36603,0.14969/ - DATA((CFORM(I,J),I=1,8),J=91,100)/-2.1137,-2.5390,-0.89964,-.12482 - +, 0.77611E-01,0.30619E-01,0.38767E-02,0.16722E-03 - +,-2.0552,-2.4989,-0.89176,-0.12773 - +, 0.76385E-01,0.30504E-01,0.38795E-02,0.16780E-03 - +,-2.0034,-2.4634,-0.88113,-0.12883 - +, 0.75109E-01,0.30234E-01,0.38560E-02,0.16706E-03 - +,-1.9472,-2.4095,-0.85679,-0.12888 - +,0.72058E-01,0.29358E-01,0.37583E-02,0.16315E-03 - +,-1.8812,-2.3376,-0.82622,-0.13040 - +,0.67863E-01,0.28260E-01,0.36427E-02,0.15873E-03 - +,-1.8109,-2.2711,-0.80769,-0.13494 - +,0.64860E-01,0.27749E-01,0.36090E-02,0.15806E-03 - +,-1.7501,-2.2381,-0.81389,-0.14124 - +,0.65086E-01,0.28325E-01,0.37071E-02,0.16301E-03 - +,-1.7117,-2.2507,-0.84168,-0.14592 - +,0.68718E-01,0.29785E-01,0.38979E-02,0.17149E-03 - +,-1.6921,-2.2819,-0.86677,-0.14607 - +,0.72800E-01,0.31032E-01,0.40423E-02,0.17744E-03 - +,-1.3289,-1.3553,-0.20094,-0.91459E-01 - +,-0.17322E-01,-0.97804E-03,0.,0./ -* -C. ------------------------------------------------------------------ -C - SIG = 0. - IF(JRAYL.LE.0) GO TO 99 - ELOW2 = ELOW(IEKBIN) - IF (Z.LT.1.0.OR.ELOW2.GT.0.001) GO TO 20 - ALOGQ2 = LOG(ELOW2*1000.) - IF(IEKBIN.GT.1) THEN - ELOW1 = ELOW(IEKBIN-1) - ALOGQ1 = LOG(ELOW1*1000.) - ELSE - ELOW1 = 0. - ALOGQ1 = 0. - ENDIF - IF(JMIXT.EQ.0)THEN -C -C simple material (element) -C - IZ=INT(Z) - JRAYL=LQ(JMA-13) - SIG=EXP(((COHER(4,IZ) *ALOGQ2+ - + COHER(3,IZ))*ALOGQ2+ - + COHER(2,IZ))*ALOGQ2+ - + COHER(1,IZ))*AVO*DENS/A - IF(IEKBIN.NE.1) THEN -C -C* Use one or two functions to fit form factors - IF (ELIM(IZ).EQ.0.) THEN - FUN1 = (EXP(((((((CFORM(8,IZ)*ALOGQ1+ - + CFORM(7,IZ))*ALOGQ1+ - + CFORM(6,IZ))*ALOGQ1+ - + CFORM(5,IZ))*ALOGQ1+ - + CFORM(4,IZ))*ALOGQ1+ - + CFORM(3,IZ))*ALOGQ1+ - + CFORM(2,IZ))*ALOGQ1+ - + CFORM(1,IZ))**2)*2.*ELOW1 - FUN2=(EXP(((((((CFORM(8,IZ)*ALOGQ2+ - + CFORM(7,IZ))*ALOGQ2+ - + CFORM(6,IZ))*ALOGQ2+ - + CFORM(5,IZ))*ALOGQ2+ - + CFORM(4,IZ))*ALOGQ2+ - + CFORM(3,IZ))*ALOGQ2+ - + CFORM(2,IZ))*ALOGQ2+ - + CFORM(1,IZ))**2)*2.*ELOW2 - ELSE - IF (ELOW1.LE.ELIM(IZ)) THEN - FUN1=(EXP(((CFORM(4,IZ)*ALOGQ1+ - + CFORM(3,IZ))*ALOGQ1+ - + CFORM(2,IZ))*ALOGQ1+ - + CFORM(1,IZ))**2)*2.*ELOW1 - ELSE - FUN1=(EXP(((CFORM(8,IZ)*ALOGQ1+ - + CFORM(7,IZ))*ALOGQ1+ - + CFORM(6,IZ))*ALOGQ1+ - + CFORM(5,IZ))**2)*2.*ELOW1 - ENDIF - IF (ELOW2.LE.ELIM(IZ)) THEN - FUN2=(EXP(((CFORM(4,IZ)*ALOGQ2+ - + CFORM(3,IZ))*ALOGQ2+ - + CFORM(2,IZ))*ALOGQ2+ - + CFORM(1,IZ))**2)*2.*ELOW2 - ELSE - FUN2=(EXP(((CFORM(8,IZ)*ALOGQ2+ - + CFORM(7,IZ))*ALOGQ2+ - + CFORM(6,IZ))*ALOGQ2+ - + CFORM(5,IZ))**2)*2.*ELOW2 - ENDIF - ENDIF - - Q(JRAYL+NEK1+IEKBIN)=Q(JRAYL+NEK1+IEKBIN-1)+ - + 0.5*(FUN2+FUN1)*(ELOW2-ELOW1) - ELSE - IF (ELIM(IZ).EQ.0.) THEN - FUN1=(EXP(((((((CFORM(8,IZ)*ALOGQ2+ - + CFORM(7,IZ))*ALOGQ2+ - + CFORM(6,IZ))*ALOGQ2+ - + CFORM(5,IZ))*ALOGQ2+ - + CFORM(4,IZ))*ALOGQ2+ - + CFORM(3,IZ))*ALOGQ2+ - + CFORM(2,IZ))*ALOGQ2+ - + CFORM(1,IZ))**2)*2.*ELOW2 - ELSE - IF (ELOW2.LE.ELIM(IZ)) THEN - FUN1=(EXP(((CFORM(4,IZ)*ALOGQ2+ - + CFORM(3,IZ))*ALOGQ2+ - + CFORM(2,IZ))*ALOGQ2+ - + CFORM(1,IZ))**2)*2.*ELOW2 - ELSE - FUN1=(EXP(((CFORM(8,IZ)*ALOGQ2+ - + CFORM(7,IZ))*ALOGQ2+ - + CFORM(6,IZ))*ALOGQ2+ - + CFORM(5,IZ))**2)*2.*ELOW2 - ENDIF - Q(JRAYL+NEK1+1)=Q(JRAYL+NEK1+1)+0.5*FUN1*ELOW2 - ENDIF - ENDIF - ELSE -C -C compound/mixture -C - NLMAT=Q(JMA+11) - NLM=IABS(NLMAT) - SIG=0. - IF(IEKBIN.NE.1) THEN - HINT=0. - ELSE - Q(JRAYL+NEK1+1)=0. - ENDIF - DO 10 I=1,NLM - J=JMIXT+I - AA=Q(J) - ZZ=Q(J+NLM) - IZ=INT(ZZ) - WMAT=Q(J+2*NLM) - S=EXP(((COHER(4,IZ) *ALOGQ2+ - + COHER(3,IZ))*ALOGQ2+ - + COHER(2,IZ))*ALOGQ2+ - + COHER(1,IZ)) - S=S*WMAT/AA - SIG=SIG+AVO*DENS*S - IF(IEKBIN.NE.1) THEN -C -C* Use one or two functions to fit form factors - IF (ELIM(IZ).EQ.0.) THEN - FUN1=(EXP(((((((CFORM(8,IZ)*ALOGQ1+ - + CFORM(7,IZ))*ALOGQ1+ - + CFORM(6,IZ))*ALOGQ1+ - + CFORM(5,IZ))*ALOGQ1+ - + CFORM(4,IZ))*ALOGQ1+ - + CFORM(3,IZ))*ALOGQ1+ - + CFORM(2,IZ))*ALOGQ1+ - + CFORM(1,IZ))**2)*2.*ELOW1 - FUN2=(EXP(((((((CFORM(8,IZ)*ALOGQ2+ - + CFORM(7,IZ))*ALOGQ2+ - + CFORM(6,IZ))*ALOGQ2+ - + CFORM(5,IZ))*ALOGQ2+ - + CFORM(4,IZ))*ALOGQ2+ - + CFORM(3,IZ))*ALOGQ2+ - + CFORM(2,IZ))*ALOGQ2+ - + CFORM(1,IZ))**2)*2.*ELOW2 - ELSE - IF (ELOW1.LE.ELIM(IZ)) THEN - FUN1=(EXP(((CFORM(4,IZ)*ALOGQ1+ - + CFORM(3,IZ))*ALOGQ1+ - + CFORM(2,IZ))*ALOGQ1+ - + CFORM(1,IZ))**2)*2.*ELOW1 - ELSE - FUN1=(EXP(((CFORM(8,IZ)*ALOGQ1+ - + CFORM(7,IZ))*ALOGQ1+ - + CFORM(6,IZ))*ALOGQ1+ - + CFORM(5,IZ))**2)*2.*ELOW1 - ENDIF - IF (ELOW2.LE.ELIM(IZ)) THEN - FUN2=(EXP(((CFORM(4,IZ)*ALOGQ2+ - + CFORM(3,IZ))*ALOGQ2+ - + CFORM(2,IZ))*ALOGQ2+ - + CFORM(1,IZ))**2)*2.*ELOW2 - ELSE - FUN2=(EXP(((CFORM(8,IZ)*ALOGQ2+ - + CFORM(7,IZ))*ALOGQ2+ - + CFORM(6,IZ))*ALOGQ2+ - + CFORM(5,IZ))**2)*2*ELOW2 - ENDIF - ENDIF - HINT=HINT+WMAT*0.5*(FUN2+FUN1)*(ELOW2-ELOW1) -* - ELSE - IF (ELIM(IZ).EQ.0.) THEN - FUN1=(EXP(((((((CFORM(8,IZ)*ALOGQ2+ - + CFORM(7,IZ))*ALOGQ2+ - + CFORM(6,IZ))*ALOGQ2+ - + CFORM(5,IZ))*ALOGQ2+ - + CFORM(4,IZ))*ALOGQ2+ - + CFORM(3,IZ))*ALOGQ2+ - + CFORM(2,IZ))*ALOGQ2+ - + CFORM(1,IZ))**2)*2.*ELOW2 - ELSE - IF (ELOW2.LE.ELIM(IZ)) THEN - FUN1=(EXP(((CFORM(4,IZ)*ALOGQ2+ - + CFORM(3,IZ))*ALOGQ2+ - + CFORM(2,IZ))*ALOGQ2+ - + CFORM(1,IZ))**2)*2.*ELOW2 - ELSE - FUN1=(EXP(((CFORM(8,IZ)*ALOGQ2+ - + CFORM(7,IZ))*ALOGQ2+ - + CFORM(6,IZ))*ALOGQ2+ - + CFORM(5,IZ))**2)*2.*ELOW2 - ENDIF - ENDIF - Q(JRAYL+NEK1+1)=Q(JRAYL+NEK1+1)+WMAT*0.5*FUN1*ELOW2 - ENDIF - 10 CONTINUE - IF(IEKBIN.NE.1) - + Q(JRAYL+NEK1+IEKBIN)=Q(JRAYL+NEK1+IEKBIN-1)+HINT - ENDIF -C - 20 IF(SIG.GT.0.)THEN - Q(JRAYL+IEKBIN)=1./SIG - ELSE - Q(JRAYL+IEKBIN)=BIG - Q(JRAYL+NEK1+IEKBIN)=0. - ENDIF -C - 99 END diff --git a/StarVMC/geant3/gphys/gshlin.F b/StarVMC/geant3/gphys/gshlin.F deleted file mode 100644 index 8ca03d92ec8..00000000000 --- a/StarVMC/geant3/gphys/gshlin.F +++ /dev/null @@ -1,626 +0,0 @@ -* -* $Id: gshlin.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gshlin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:33 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3SHLIN -C. -C. ****************************************************************** -C. * * -C * Initialize atomic shells' potentials * -C. * * -C. * Potentials according to Rev.Mod.Phys. vol. 39 nr. 1 125 (1967) * -C. * Xe upadetd according to Grishin et al. NIM A309, 476 (1991) * -C. * * -C. * ==>Called by : G3PHINI * -C. * Author J. Chwastowski * -C. * * -C. ****************************************************************** -C. -C Shells -c See alse Handbook of Phys. & Chemistry -c - IMPLICIT NONE -#include "geant321/gcpmxz.inc" -#include "geant321/gcshpt.inc" - INTEGER NS,N1,NP,I - REAL TMP - DIMENSION NS(MAXSHL),N1(MAXELZ),NP(MAXELZ) - DIMENSION TMP(LENGTH) - DATA NS / 1,3*5,3*17,2*21,35,2*33, - + 2*41,2*58,3*49,2*73,3*82 / - DATA N1( 1),NP( 1) / 1, 1 / - DATA TMP( 1) / 13.59811 / - DATA N1( 2),NP( 2) / 2, 1 / - DATA TMP( 2) / 24.58678 / - DATA N1( 3),NP( 3) / 3, 1 / - DATA TMP( 3) / 54.75000 / - DATA N1( 4),NP( 4) / 4, 1 / - DATA TMP( 4) / 111.00000 / - DATA N1( 5),NP( 5) / 5, 4 / - DATA (TMP(I),I= 5, 8) / - + 188.00, 12.58, 4.70, 4.70 / - DATA N1( 6),NP( 6) / 9, 4 / - DATA (TMP(I),I= 9, 12) / - + 283.80, 17.56, 6.40, 6.40 / - DATA N1( 7),NP( 7) / 13, 4 / - DATA (TMP(I),I= 13, 16) / - + 401.60, 23.10, 9.20, 9.20 / - DATA N1( 8),NP( 8) / 17, 4 / - DATA (TMP(I),I= 17, 20) / - + 532.00, 23.70, 7.10, 7.10 / - DATA N1( 9),NP( 9) / 21, 4 / - DATA (TMP(I),I= 21, 24) / - + 685.40, 31.00, 8.60, 8.60 / - DATA N1( 10),NP( 10) / 25, 4 / - DATA (TMP(I),I= 25, 28) / - + 866.90, 45.00, 18.30, 18.30 / - DATA N1( 11),NP( 11) / 29, 4 / - DATA (TMP(I),I= 29, 32) / - + 1072.10, 63.30, 31.10, 31.10 / - DATA N1( 12),NP( 12) / 33, 4 / - DATA (TMP(I),I= 33, 36) / - + 1305.00, 89.40, 51.40, 51.40 / - DATA N1( 13),NP( 13) / 37, 4 / - DATA (TMP(I),I= 37, 40) / - + 1559.60, 117.70, 73.10, 73.10 / - DATA N1( 14),NP( 14) / 41, 4 / - DATA (TMP(I),I= 41, 44) / - + 1838.90, 148.70, 99.20, 99.20 / - DATA N1( 15),NP( 15) / 45, 4 / - DATA (TMP(I),I= 45, 48) / - + 2145.50, 189.30, 132.20, 132.20 / - DATA N1( 16),NP( 16) / 49, 4 / - DATA (TMP(I),I= 49, 52) / - + 2472.00, 229.20, 164.80, 164.80 / - DATA N1( 17),NP( 17) / 53, 7 / - DATA (TMP(I),I= 53, 59) / - + 2822.40, 270.20, 201.60, 200.00 - + , 17.50, 6.80, 6.80 / - DATA N1( 18),NP( 18) / 60, 7 / - DATA (TMP(I),I= 60, 66) / - + 3202.90, 320.00, 247.30, 245.20 - + , 25.30, 12.40, 12.40 / - DATA N1( 19),NP( 19) / 67, 7 / - DATA (TMP(I),I= 67, 73) / - + 3607.40, 377.10, 296.30, 293.60 - + , 33.90, 17.80, 17.80 / - DATA N1( 20),NP( 20) / 74, 7 / - DATA (TMP(I),I= 74, 80) / - + 4038.10, 437.80, 350.00, 346.40 - + , 43.70, 25.40, 25.40 / - DATA N1( 21),NP( 21) / 81, 9 / - DATA (TMP(I),I= 81, 89) / - + 4492.80, 500.40, 406.70, 402.20 - + , 53.80, 32.30, 32.30, 6.60, 6.60 / - DATA N1( 22),NP( 22) / 90, 9 / - DATA (TMP(I),I= 90, 98) / - + 4966.40, 563.70, 461.50, 455.50 - + , 60.30, 34.60, 34.60, 3.70, 3.70 / - DATA N1( 23),NP( 23) / 99, 9 / - DATA (TMP(I),I= 99, 107) / - + 5465.10, 628.20, 520.50, 512.90 - + , 66.50, 37.80, 37.80, 2.20, 2.20 / - DATA N1( 24),NP( 24) / 108, 9 / - DATA (TMP(I),I= 108, 116) / - + 5989.20, 694.60, 583.70, 574.50 - + , 74.10, 42.50, 42.50, 2.30, 2.30 / - DATA N1( 25),NP( 25) / 117, 9 / - DATA (TMP(I),I= 117, 125) / - + 6539.00, 769.00, 651.40, 640.30 - + , 83.90, 48.60, 48.60, 3.30, 3.30 / - DATA N1( 26),NP( 26) / 126, 9 / - DATA (TMP(I),I= 126, 134) / - + 7112.00, 846.10, 721.10, 708.10 - + , 92.90, 54.00, 54.00, 3.60, 3.60 / - DATA N1( 27),NP( 27) / 135, 9 / - DATA (TMP(I),I= 135, 143) / - + 7708.90, 925.60, 793.60, 778.60 - + , 100.70, 59.50, 59.50, 2.90, 2.90 / - DATA N1( 28),NP( 28) / 144, 9 / - DATA (TMP(I),I= 144, 152) / - + 8332.80, 1008.10, 871.90, 854.70 - + , 111.80, 68.10, 68.10, 3.60, 3.60 / - DATA N1( 29),NP( 29) / 153, 9 / - DATA (TMP(I),I= 153, 161) / - + 8978.90, 1096.60, 951.00, 931.10 - + , 119.80, 73.60, 73.60, 1.60, 1.60 / - DATA N1( 30),NP( 30) / 162, 9 / - DATA (TMP(I),I= 162, 170) / - + 9658.60, 1193.60, 1042.80, 1019.70 - + , 135.90, 86.60, 86.60, 8.10, 8.10 / - DATA N1( 31),NP( 31) / 171, 9 / - DATA (TMP(I),I= 171, 179) / - + 10367.10, 1297.70, 1142.30, 1115.40 - + , 158.10, 106.80, 102.90, 17.40, 17.40 / - DATA N1( 32),NP( 32) / 180, 9 / - DATA (TMP(I),I= 180, 188) / - + 11103.10, 1414.30, 1247.80, 1216.70 - + , 180.00, 127.90, 120.80, 28.70, 28.70 / - DATA N1( 33),NP( 33) / 189, 12 / - DATA (TMP(I),I= 189, 200) / - + 11866.70, 1526.50, 1358.60, 1323.10 - + , 203.50, 146.40, 140.50, 41.20 - + , 41.20, 0.00, 2.50, 2.50 / - DATA N1( 34),NP( 34) / 201, 12 / - DATA (TMP(I),I= 201, 212) / - + 12657.80, 1653.90, 1476.20, 1435.80 - + , 231.50, 168.20, 161.90, 56.70 - + , 56.70, 0.00, 5.60, 5.60 / - DATA N1( 35),NP( 35) / 213, 12 / - DATA (TMP(I),I= 213, 224) / - + 13473.70, 1782.00, 1596.00, 1549.90 - + , 256.50, 189.30, 181.50, 70.10 - + , 69.00, 27.30, 5.20, 4.60 / - DATA N1( 36),NP( 36) / 225, 12 / - DATA (TMP(I),I= 225, 236) / - + 14325.60, 1921.00, 1727.20, 1674.90 - + , 292.80, 222.70, 213.80, 95.00 - + , 93.80, 24.00, 10.60, 10.60 / - DATA N1( 37),NP( 37) / 237, 12 / - DATA (TMP(I),I= 237, 248) / - + 15199.70, 2065.10, 1863.90, 1804.40 - + , 322.10, 247.40, 238.50, 111.80 - + , 110.30, 29.30, 14.80, 14.00 / - DATA N1( 38),NP( 38) / 249, 12 / - DATA (TMP(I),I= 249, 260) / - + 16104.60, 2216.30, 2006.80, 1939.60 - + , 357.50, 279.80, 269.10, 135.00 - + , 133.10, 37.70, 19.90, 19.90 / - DATA N1( 39),NP( 39) / 261, 12 / - DATA (TMP(I),I= 261, 272) / - + 17038.40, 2372.50, 2155.50, 2080.00 - + , 393.60, 312.40, 300.30, 159.60 - + , 157.40, 45.40, 25.60, 25.60 / - DATA N1( 40),NP( 40) / 273, 12 / - DATA (TMP(I),I= 273, 284) / - + 17997.60, 2531.60, 2306.70, 2222.30 - + , 430.30, 344.20, 350.50, 182.40 - + , 180.00, 51.30, 28.70, 28.70 / - DATA N1( 41),NP( 41) / 285, 14 / - DATA (TMP(I),I= 285, 298) / - + 18985.60, 2697.70, 2464.70, 2370.50 - + , 468.40, 378.40, 383.00, 207.40 - + , 204.60, 58.10, 33.90, 33.90 - + , 3.20, 3.20 / - DATA N1( 42),NP( 42) / 299, 14 / - DATA (TMP(I),I= 299, 312) / - + 19999.50, 2865.50, 2625.10, 2520.20 - + , 504.60, 409.70, 392.30, 230.30 - + , 227.00, 61.80, 34.80, 34.80 - + , 1.80, 1.80 / - DATA N1( 43),NP( 43) / 313, 12 / - DATA (TMP(I),I= 313, 324) / - + 21044.00, 3042.50, 2793.20, 2676.90 - + , 0.00, 444.90, 425.00, 256.40 - + , 252.90, 0.00, 38.90, 38.90 / - DATA N1( 44),NP( 44) / 325, 14 / - DATA (TMP(I),I= 325, 338) / - + 22117.20, 3224.00, 2966.90, 2837.90 - + , 585.00, 482.80, 460.60, 283.60 - + , 279.40, 74.90, 43.10, 43.10 - + , 2.00, 2.00 / - DATA N1( 45),NP( 45) / 339, 14 / - DATA (TMP(I),I= 339, 352) / - + 23219.90, 3411.90, 3146.10, 3003.80 - + , 627.10, 521.00, 496.20, 311.70 - + , 307.00, 81.00, 47.90, 47.90 - + , 2.50, 2.50 / - DATA N1( 46),NP( 46) / 353, 14 / - DATA (TMP(I),I= 353, 366) / - + 24350.30, 3604.30, 3330.30, 3173.30 - + , 669.90, 559.10, 531.50, 340.00 - + , 334.70, 86.40, 51.10, 51.10 - + , 1.50, 1.50 / - DATA N1( 47),NP( 47) / 367, 14 / - DATA (TMP(I),I= 367, 380) / - + 25514.00, 3805.80, 3523.70, 3351.10 - + , 717.50, 602.40, 571.40, 372.80 - + , 366.70, 95.20, 62.60, 55.90 - + , 3.30, 3.30 / - DATA N1( 48),NP( 48) / 381, 14 / - DATA (TMP(I),I= 381, 394) / - + 26711.20, 4018.00, 3727.00, 3537.50 - + , 770.20, 650.70, 616.50, 410.50 - + , 403.70, 107.60, 66.90, 66.90 - + , 9.30, 9.30 / - DATA N1( 49),NP( 49) / 395, 19 / - DATA (TMP(I),I= 395, 413) / - + 27939.90, 4237.50, 3938.00, 3730.10 - + , 825.60, 702.20, 664.30, 450.80 - + , 443.10, 121.90, 77.40, 77.40 - + , 16.20, 16.20, 0.00, 0.00 - + , 0.10, 0.80, 0.80 / - DATA N1( 50),NP( 50) / 414, 19 / - DATA (TMP(I),I= 414, 432) / - + 29200.10, 4464.70, 4156.10, 3928.80 - + , 883.80, 756.40, 714.40, 493.30 - + , 484.80, 136.50, 88.60, 88.60 - + , 23.90, 23.90, 0.00, 0.00 - + , 0.90, 1.10, 1.10 / - DATA N1( 51),NP( 51) / 433, 19 / - DATA (TMP(I),I= 433, 451) / - + 30491.20, 4698.30, 4380.40, 4132.20 - + , 943.70, 811.90, 765.60, 536.90 - + , 527.50, 152.00, 98.40, 98.40 - + , 31.40, 31.40, 0.00, 0.00 - + , 6.70, 2.10, 2.10 / - DATA N1( 52),NP( 52) / 452, 19 / - DATA (TMP(I),I= 452, 470) / - + 31813.80, 4939.20, 4612.00, 4341.40 - + , 1006.00, 869.70, 818.70, 582.50 - + , 572.10, 168.30, 110.20, 110.20 - + , 39.80, 39.80, 0.00, 0.00 - + , 11.60, 2.30, 2.30 / - DATA N1( 53),NP( 53) / 471, 19 / - DATA (TMP(I),I= 471, 489) / - + 33169.40, 5188.10, 4852.10, 4557.10 - + , 1072.10, 930.50, 874.60, 631.30 - + , 619.40, 186.40, 122.70, 122.70 - + , 49.60, 49.60, 0.00, 0.00 - + , 13.60, 3.30, 3.30 / - DATA N1( 54),NP( 54) / 490, 19 / - DATA (TMP(I),I= 490, 508) / - + 34561.40, 5452.80, 5103.70, 4782.20 - + , 1145.70, 999.00, 937.00, 689.00 - + , 672.30, 213.20, 157.00, 146.70 - + , 69.50, 67.50, 0.00, 0.00 - + , 23.39, 13.43, 12.13 / - DATA N1( 55),NP( 55) / 509, 19 / - DATA (TMP(I),I= 509, 527) / - + 35984.60, 5714.30, 5359.40, 5011.90 - + , 1217.10, 1065.00, 997.60, 739.50 - + , 725.50, 230.80, 172.30, 161.60 - + , 78.80, 76.50, 0.00, 0.00 - + , 22.70, 13.10, 11.40 / - DATA N1( 56),NP( 56) / 528, 19 / - DATA (TMP(I),I= 528, 546) / - + 37440.60, 5988.80, 5623.60, 5247.00 - + , 1292.80, 1136.70, 1062.20, 796.10 - + , 780.70, 253.00, 191.80, 179.70 - + , 92.50, 89.90, 0.00, 0.00 - + , 39.10, 16.60, 14.60 / - DATA N1( 57),NP( 57) / 547, 19 / - DATA (TMP(I),I= 547, 565) / - + 38924.60, 6266.30, 5890.60, 5482.70 - + , 1361.30, 1204.40, 1123.40, 848.50 - + , 831.70, 270.40, 205.80, 191.40 - + , 98.90, 98.90, 0.00, 0.00 - + , 32.30, 14.40, 14.40 / - DATA N1( 58),NP( 58) / 566, 19 / - DATA (TMP(I),I= 566, 584) / - + 40443.00, 6548.80, 6164.20, 5723.40 - + , 1434.60, 1272.80, 1185.40, 901.30 - + , 883.30, 289.60, 223.30, 207.20 - + , 110.00, 110.00, 0.10, 0.10 - + , 37.80, 19.80, 19.80 / - DATA N1( 59),NP( 59) / 585, 19 / - DATA (TMP(I),I= 585, 603) / - + 41990.60, 6834.80, 6440.40, 5964.30 - + , 1511.00, 1337.40, 1242.20, 951.10 - + , 931.00, 304.50, 236.30, 217.60 - + , 113.20, 113.20, 2.00, 2.00 - + , 37.40, 22.30, 22.30 / - DATA N1( 60),NP( 60) / 604, 19 / - DATA (TMP(I),I= 604, 622) / - + 43568.90, 7126.00, 6721.50, 6207.90 - + , 1575.30, 1402.80, 1297.40, 999.90 - + , 977.70, 315.20, 243.30, 224.60 - + , 117.50, 117.50, 1.50, 1.50 - + , 37.50, 21.20, 21.80 / - DATA N1( 61),NP( 61) / 623, 14 / - DATA (TMP(I),I= 623, 636) / - + 45184.00, 7427.90, 7012.80, 6459.30 - + , 1650.00, 1471.40, 1356.90, 1051.50 - + , 1026.90, 0.00, 242.00, 242.00 - + , 120.40, 120.40 / - DATA N1( 62),NP( 62) / 637, 19 / - DATA (TMP(I),I= 637, 655) / - + 46834.20, 7736.80, 7311.80, 6716.20 - + , 1722.80, 1540.70, 1419.80, 1106.00 - + , 1080.20, 345.70, 265.60, 247.40 - + , 129.00, 129.00, 5.50, 5.50 - + , 37.40, 21.30, 21.30 / - DATA N1( 63),NP( 63) / 656, 19 / - DATA (TMP(I),I= 656, 674) / - + 48519.00, 8052.00, 7617.10, 6976.90 - + , 1800.00, 1613.90, 1480.60, 1160.60 - + , 1130.90, 360.20, 283.90, 256.60 - + , 133.20, 133.20, 0.00, 0.00 - + , 31.80, 22.00, 22.00 / - DATA N1( 64),NP( 64) / 675, 19 / - DATA (TMP(I),I= 675, 693) / - + 50239.10, 8375.60, 7930.30, 7242.80 - + , 1880.80, 1688.30, 1544.00, 1217.20 - + , 1185.20, 375.80, 288.50, 270.90 - + , 140.50, 140.50, 0.10, 0.10 - + , 36.10, 20.30, 20.30 / - DATA N1( 65),NP( 65) / 694, 19 / - DATA (TMP(I),I= 694, 712) / - + 51995.70, 8708.00, 8251.60, 7514.00 - + , 1967.50, 1767.70, 1611.30, 1275.00 - + , 1241.20, 397.90, 310.20, 285.00 - + , 147.00, 147.00, 2.60, 2.60 - + , 39.00, 25.40, 25.40 / - DATA N1( 66),NP( 66) / 713, 19 / - DATA (TMP(I),I= 713, 731) / - + 53788.50, 9045.80, 8580.60, 7790.10 - + , 2046.80, 1841.80, 1675.60, 1332.50 - + , 1294.90, 416.30, 331.80, 292.90 - + , 154.20, 154.20, 4.20, 4.20 - + , 62.90, 26.30, 26.30 / - DATA N1( 67),NP( 67) / 732, 19 / - DATA (TMP(I),I= 732, 750) / - + 55617.70, 9394.20, 8917.80, 8071.10 - + , 2128.30, 1922.80, 1741.20, 1391.50 - + , 1351.40, 435.70, 343.50, 306.60 - + , 161.00, 161.00, 3.70, 3.70 - + , 51.20, 20.30, 20.30 / - DATA N1( 68),NP( 68) / 751, 19 / - DATA (TMP(I),I= 751, 769) / - + 57485.50, 9751.30, 9264.30, 8357.90 - + , 2206.50, 2005.80, 1811.80, 1453.30 - + , 1409.30, 449.10, 366.20, 320.00 - + , 176.70, 167.60, 4.30, 4.30 - + , 59.80, 29.40, 29.40 / - DATA N1( 69),NP( 69) / 770, 19 / - DATA (TMP(I),I= 770, 788) / - + 59389.60, 10115.70, 9616.90, 8648.00 - + , 2306.80, 2089.80, 1884.50, 1514.60 - + , 1467.70, 471.70, 385.90, 336.60 - + , 179.60, 179.60, 5.30, 5.30 - + , 53.20, 32.30, 32.30 / - DATA N1( 70),NP( 70) / 789, 19 / - DATA (TMP(I),I= 789, 807) / - + 61332.30, 10486.40, 9978.20, 8943.60 - + , 2398.10, 2173.00, 1949.80, 1576.30 - + , 1527.80, 487.20, 396.70, 343.50 - + , 198.10, 184.90, 6.30, 6.30 - + , 54.10, 23.40, 23.40 / - DATA N1( 71),NP( 71) / 808, 19 / - DATA (TMP(I),I= 808, 826) / - + 63313.80, 10870.40, 10348.60, 9244.10 - + , 2491.20, 2263.50, 2023.60, 1639.40 - + , 1588.50, 506.20, 410.10, 359.30 - + , 204.80, 195.00, 6.90, 6.90 - + , 56.80, 28.00, 28.00 / - DATA N1( 72),NP( 72) / 827, 19 / - DATA (TMP(I),I= 827, 845) / - + 65350.80, 11270.70, 10739.40, 9560.70 - + , 2600.90, 2365.40, 2107.60, 1716.40 - + , 1661.70, 538.10, 437.00, 380.40 - + , 223.80, 213.70, 17.10, 17.10 - + , 64.90, 38.10, 30.60 / - DATA N1( 73),NP( 73) / 846, 21 / - DATA (TMP(I),I= 846, 866) / - + 67416.40, 11681.50, 11136.10, 9881.10 - + , 2708.00, 2468.70, 2194.00, 1793.20 - + , 1735.10, 565.50, 464.80, 404.50 - + , 241.30, 229.30, 25.00, 25.00 - + , 71.10, 44.90, 36.40, 5.70, 5.70 / - DATA N1( 74),NP( 74) / 867, 21 / - DATA (TMP(I),I= 867, 887) / - + 69525.00, 12099.80, 11544.00, 10206.80 - + , 2819.60, 2574.90, 2281.00, 1871.60 - + , 1809.20, 595.00, 491.60, 425.30 - + , 258.80, 245.40, 36.50, 33.60 - + , 77.10, 46.80, 35.60, 6.10, 6.10 / - DATA N1( 75),NP( 75) / 888, 21 / - DATA (TMP(I),I= 888, 908) / - + 71676.40, 12526.70, 11958.70, 10535.30 - + , 2931.70, 2681.60, 2367.30, 1948.90 - + , 1882.90, 625.00, 517.90, 444.40 - + , 273.70, 260.20, 40.60, 40.60 - + , 82.80, 45.60, 34.60, 3.50, 3.50 / - DATA N1( 76),NP( 76) / 909, 19 / - DATA (TMP(I),I= 909, 927) / - + 73870.80, 12968.00, 12385.00, 10870.90 - + , 3048.50, 2792.20, 2457.20, 2030.80 - + , 1960.10, 654.30, 546.50, 468.20 - + , 289.40, 272.80, 46.30, 43.40 - + , 83.70, 58.00, 45.40 / - DATA N1( 77),NP( 77) / 928, 21 / - DATA (TMP(I),I= 928, 948) / - + 76111.00, 13418.50, 12824.10, 11215.20 - + , 3173.70, 2908.70, 2550.70, 2116.10 - + , 2040.40, 690.10, 577.10, 494.30 - + , 311.40, 294.90, 63.40, 60.50 - + , 95.20, 63.00, 50.50, 1.80, 1.80 / - DATA N1( 78),NP( 78) / 949, 21 / - DATA (TMP(I),I= 949, 969) / - + 78394.80, 13879.90, 13272.60, 11563.70 - + , 3296.00, 3026.50, 2645.40, 2201.90 - + , 2121.60, 722.00, 609.20, 519.00 - + , 330.80, 313.30, 74.30, 71.10 - + , 101.70, 65.30, 51.70, 2.20, 2.20 / - DATA N1( 79),NP( 79) / 970, 20 / - DATA (TMP(I),I= 970, 989) / - + 80724.90, 14352.80, 13733.60, 11918.70 - + , 3424.90, 3147.80, 2743.00, 2291.10 - + , 2205.70, 758.80, 643.70, 545.40 - + , 352.00, 333.90, 86.40, 82.80 - + , 107.80, 71.70, 53.70, 2.50 / - DATA N1( 80),NP( 80) / 990, 21 / - DATA (TMP(I),I= 990,1010) / - + 83102.30, 14839.30, 14208.70, 12283.90 - + , 3561.60, 3278.50, 2847.10, 2384.90 - + , 2294.90, 800.30, 676.90, 571.00 - + , 378.30, 359.80, 102.20, 98.50 - + , 120.30, 80.50, 57.60, 6.40, 6.40 / - DATA N1( 81),NP( 81) / 1011, 21 / - DATA (TMP(I),I=1011,1031) / - + 85530.40, 15346.70, 14697.90, 12657.50 - + , 3704.10, 3425.70, 2956.60, 2485.10 - + , 2389.30, 845.50, 721.30, 609.00 - + , 406.60, 386.20, 122.80, 118.50 - + , 136.30, 99.60, 75.40, 15.30, 13.10 / - DATA N1( 82),NP( 82) / 1032, 24 / - DATA (TMP(I),I=1032,1055) / - + 88004.50, 15860.80, 15200.00, 13035.20 - + , 3850.70, 3554.20, 3066.40, 2585.60 - + , 2484.00, 893.60, 763.90, 644.50 - + , 435.20, 412.90, 142.90, 138.10 - + , 147.30, 104.80, 86.00, 21.80 - + , 19.20, 3.10, 0.70, 0.70 / - DATA N1( 83),NP( 83) / 1056, 24 / - DATA (TMP(I),I=1056,1079) / - + 90525.90, 16387.50, 15711.10, 13418.60 - + , 3999.10, 3696.30, 3176.90, 2687.60 - + , 2579.60, 938.20, 805.30, 678.90 - + , 463.60, 440.00, 161.90, 157.40 - + , 159.30, 116.80, 92.80, 26.50 - + , 24.40, 0.00, 2.70, 2.70 / - DATA N1( 84),NP( 84) / 1080, 21 / - DATA (TMP(I),I=1080,1100) / - + 93105.00, 16939.30, 16244.30, 13813.80 - + , 4149.40, 3854.10, 3301.90, 2798.00 - + , 2683.00, 995.30, 851.00, 705.00 - + , 500.20, 473.40, 0.00, 0.00 - + , 0.00, 0.00, 0.00, 31.40, 31.40 / - DATA N1( 85),NP( 85) / 1101, 14 / - DATA (TMP(I),I=1101,1114) / - + 95729.90, 17493.00, 16784.70, 14213.50 - + , 4317.00, 4008.00, 3426.00, 2908.70 - + , 2786.70, 1042.00, 886.00, 740.00 - + , 533.20, 506.00 / - DATA N1( 86),NP( 86) / 1115, 14 / - DATA (TMP(I),I=1115,1128) / - + 98404.00, 18049.00, 17337.10, 14619.40 - + , 4482.00, 4159.00, 3538.00, 3021.50 - + , 2892.40, 1097.00, 929.00, 768.00 - + , 566.60, 541.00 / - DATA N1( 87),NP( 87) / 1129, 14 / - DATA (TMP(I),I=1129,1142) / - + 101137.00, 18639.00, 17906.50, 15031.20 - + , 4652.00, 4327.00, 3663.00, 3136.20 - + , 2999.90, 1153.00, 980.00, 810.00 - + , 603.30, 577.00 / - DATA N1( 88),NP( 88) / 1143, 24 / - DATA (TMP(I),I=1143,1166) / - + 103921.90, 19236.70, 18484.30, 15444.40 - + , 4822.00, 4489.50, 3791.80, 3248.40 - + , 3104.90, 1208.40, 1057.60, 879.10 - + , 635.90, 602.70, 298.90, 298.90 - + , 254.40, 200.40, 152.80, 67.20 - + , 67.20, 43.50, 18.80, 18.80 / - DATA N1( 89),NP( 89) / 1167, 14 / - DATA (TMP(I),I=1167,1180) / - + 106755.30, 19840.00, 19083.20, 15871.00 - + , 5002.00, 4656.00, 3909.00, 3370.20 - + , 3219.00, 1269.00, 1080.00, 890.00 - + , 674.90, 644.00 / - DATA N1( 90),NP( 90) / 1181, 24 / - DATA (TMP(I),I=1181,1204) / - + 109650.90, 20472.10, 19693.20, 16300.30 - + , 5182.30, 4830.40, 4046.10, 3490.80 - + , 3332.00, 1329.50, 1168.20, 967.30 - + , 714.10, 676.40, 344.40, 335.20 - + , 290.20, 229.40, 181.80, 94.30 - + , 87.90, 59.50, 49.00, 43.00 / - DATA N1( 91),NP( 91) / 1205, 21 / - DATA (TMP(I),I=1205,1225) / - + 112601.40, 21104.60, 20313.70, 16733.10 - + , 5366.90, 5000.90, 4173.80, 3611.20 - + , 3441.80, 1387.10, 1224.30, 1006.70 - + , 743.40, 708.20, 371.20, 359.50 - + , 309.60, 222.90, 222.90, 94.10, 94.10 / - DATA N1( 92),NP( 92) / 1226, 24 / - DATA (TMP(I),I=1226,1249) / - + 115606.10, 21757.40, 20947.60, 17166.30 - + , 5548.00, 5182.20, 4303.40, 3727.60 - + , 3551.70, 1440.80, 1272.60, 1044.90 - + , 780.40, 737.70, 391.30, 380.90 - + , 323.70, 259.30, 195.10, 105.00 - + , 96.30, 70.70, 42.30, 32.30 / - DATA N1( 93),NP( 93) / 1250, 21 / - DATA (TMP(I),I=1250,1270) / - + 118678.00, 22426.80, 21600.50, 17610.00 - + , 5723.20, 5366.20, 4434.70, 3850.30 - + , 3665.80, 1500.70, 1327.70, 1086.80 - + , 815.90, 770.30, 415.00, 404.40 - + , 0.00, 283.40, 206.10, 109.30, 101.30 / - DATA N1( 94),NP( 94) / 1271, 21 / - DATA (TMP(I),I=1271,1291) / - + 121818.00, 23097.20, 22266.20, 18056.80 - + , 5932.90, 5541.20, 4556.60, 3972.60 - + , 3778.10, 1558.60, 1372.10, 1114.80 - + , 848.90, 801.40, 445.80, 432.40 - + , 351.90, 274.10, 206.50, 116.00, 105.40 / - DATA N1( 95),NP( 95) / 1292, 21 / - DATA (TMP(I),I=1292,1312) / - + 125027.00, 23772.90, 22944.00, 18504.10 - + , 6120.50, 5710.20, 4667.00, 4092.10 - + , 3886.90, 1617.10, 1411.80, 1135.70 - + , 878.70, 827.60, 0.00, 0.00 - + , 0.00, 0.00, 0.00, 115.80, 103.30 / - DATA N1( 96),NP( 96) / 1313, 21 / - DATA (TMP(I),I=1313,1333) / - + 128220.00, 24460.00, 23779.00, 18930.00 - + , 6288.00, 5895.00, 4797.00, 4227.00 - + , 3971.00, 1643.00, 1440.00, 1154.00 - + , 0.00, 853.00, 0.00, 0.00 - + , 385.00, 0.00, 0.00, 0.00, 100.00 / - DATA N1( 97),NP( 97) / 1334, 21 / - DATA (TMP(I),I=1334,1354) / - + 131590.00, 25275.00, 24385.00, 19452.00 - + , 6556.00, 6147.00, 4977.00, 4366.00 - + , 4132.00, 1755.00, 1554.00, 1235.00 - + , 0.00, 877.00, 0.00, 0.00 - + , 398.00, 0.00, 0.00, 0.00, 100.00 / - DATA N1( 98),NP( 98) / 1355, 21 / - DATA (TMP(I),I=1355,1375) / - + 135960.00, 26110.00, 25250.00, 19930.00 - + , 6754.00, 6359.00, 5109.00, 4497.00 - + , 4253.00, 1799.00, 1616.00, 1279.00 - + , 0.00, 902.00, 0.00, 0.00 - + , 419.00, 0.00, 0.00, 0.00, 100.00 / - DATA N1( 99),NP( 99) / 1376, 17 / - DATA (TMP(I),I=1376,1392) / - + 139490.00, 26900.00, 26020.00, 20410.00 - + , 6977.00, 6574.00, 5252.00, 4630.00 - + , 4374.00, 1868.00, 1680.00, 1321.00 - + , 0.00, 927.00, 0.00, 0.00, 435.00 / - DATA N1(100),NP(100) / 1393, 17 / - DATA (TMP(I),I=1393,1409) / - + 143090.00, 27700.00, 26810.00, 20900.00 - + , 7205.00, 6793.00, 5397.00, 4766.00 - + , 4498.00, 1937.00, 1747.00, 1366.00 - + , 0.00, 952.00, 0.00, 0.00, 454.00 / - DO 10 I = 1,LENGTH - ESHELL(I) = TMP(I) - 10 CONTINUE - DO 20 I = 1,MAXSHL - NSHLST(I) = NS(I) - 20 CONTINUE - DO 30 I = 1,MAXELZ - N1ST(I) = N1(I) - NSHLLS(I) = NP(I) - 30 CONTINUE - END diff --git a/StarVMC/geant3/gphys/gsync.F b/StarVMC/geant3/gphys/gsync.F deleted file mode 100644 index 651cb8b7efa..00000000000 --- a/StarVMC/geant3/gphys/gsync.F +++ /dev/null @@ -1,125 +0,0 @@ -* -* $Id: gsync.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gsync.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:45 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:34 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 11/10/94 19.56.01 by S.Giani -*-- Author : - SUBROUTINE G3SYNC -C -C. ****************************************************************** -C. * * -C. * Simulation of synchrotron radiation for e- and e+. * -C. * * -C. * ==> Called by : G3TELEC * -C. * Authors : Igor Gavrilenko * -C. * * -C. ****************************************************************** -C -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gctmed.inc" -#include "geant321/gccuts.inc" -C... - DIMENSION ETR(100),STR(100),VECTS(7),VECTN(7),FLD(3) -C... - IF(ABS(CHARGE).NE.1..OR.STEP.LE.0.) GO TO 999 - GAMMA = GETOT/AMASS - IF(GAMMA.LE.1000. ) GO TO 999 - KCASE = NAMEC1(8) - IF (IFIELD.EQ.3) THEN - FLD(1) = 0. - FLD(2) = 0. - FLD(3) = FIELDM - ELSE - CALL GUFLD(VECT,FLD) - END IF - FLDS2 = FLD(1)**2+FLD(2)**2+FLD(3)**2 - IF(FLDS2.LE.1E-10) GO TO 999 - FLDT = SQRT(FLDS2- - + (VECT(4)*FLD(1)+VECT(5)*FLD(2)+VECT(6)*FLD(3))**2) -C... - CALL G3SYNGE(GAMMA,AMASS,FLDT,STEP,NTR,ETR,STR) - IF(NTR.EQ.0) GO TO 999 -C... - ELOSS = 0. -C -C When SYNC=1 the generation point of the photons is the current -C particle point -C When SYNC=3, the generation point of the photon is distributed -C along the real trajectory of the particle (not along the step -C taken) computed by GUSWIM. - DO 10 N = 1,NTR - IF (ISYNC.NE.2.AND.ETR(N).GT.CUTGAM) THEN - NGKINE = NGKINE+1 - IF(NGKINE.GT.MXGKIN) GO TO 20 - IF (ISYNC.EQ.1) THEN - GKIN(1,NGKINE) = ETR(N)*VECT(4) - GKIN(2,NGKINE) = ETR(N)*VECT(5) - GKIN(3,NGKINE) = ETR(N)*VECT(6) - GKIN(4,NGKINE) = ETR(N) - GKIN(5,NGKINE) = 1. - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - TOFD (NGKINE) = 0. - ELSE IF (ISYNC.EQ.3) THEN - VECTS(1) = VECT(1) - VECTS(2) = VECT(2) - VECTS(3) = VECT(3) - VECTS(4) = -VECT(4) - VECTS(5) = -VECT(5) - VECTS(6) = -VECT(6) - VECTS(7) = VECT(7) - CALL GUSWIM(1.,STR(N),VECTS,VECTN) - GKIN(1,NGKINE) = -ETR(N)*VECTN(4) - GKIN(2,NGKINE) = -ETR(N)*VECTN(5) - GKIN(3,NGKINE) = -ETR(N)*VECTN(6) - GKIN(4,NGKINE) = ETR(N) - GKIN(5,NGKINE) = 1. - GPOS(1,NGKINE) = VECTN(1) - GPOS(2,NGKINE) = VECTN(2) - GPOS(3,NGKINE) = VECTN(3) - TOFD (NGKINE) = 0. - END IF - ELSE - DESTEP = DESTEP +ETR(N) - END IF - ELOSS = ELOSS+ETR(N) - 10 CONTINUE -C -C..Update the energy of the primary particle -C - 20 GETOT = GETOT-ELOSS - GEKIN = GEKIN-ELOSS - VECT(7) = SQRT(GEKIN*(GEKIN+2.*AMASS)) - CALL G3EKBIN -C... - 999 END diff --git a/StarVMC/geant3/gphys/gsynge.F b/StarVMC/geant3/gphys/gsynge.F deleted file mode 100644 index 6825780203f..00000000000 --- a/StarVMC/geant3/gphys/gsynge.F +++ /dev/null @@ -1,151 +0,0 @@ -* -* $Id: gsynge.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gsynge.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:34 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3SYNGE (GAMMA,AM,HKGAUS,STEP,NTR,ETR,STR) -C -C. ****************************************************************** -C. * * -C. * Generation of synchrotron radiation photons: * -C. * o sample the number of generated photons from * -C. * Poisson distribution * -C. * o sample the energy of each photon from the * -C. * tables below (these numbers can be computed by * -C. * the routine GSYNIT) * -C. * YT(I) = photon energy/ critical photon energy (e/ec) * -C. * FTI(I) = int from YT(I) to inf (20) of dN**2/dxde * -C. * where dN**2/dxde = int from e/ec to inf of * -C. * K_5/3(x) dx * -C. * * -C. * GAMMA - Lorentz factor, * -C. * H - transverse component of the magnetic field * -C. * to particle direction, * -C. * STEP - current step in magnetic field, * -C. * NTR - number of the synchrotron photons, * -C. * ETR(k) - photon energy, * -C. * STR(k) - photon coordinate. * -C. * * -C. * ==> Called by : G3SYNC * -C. * Authors : Igor Gavrilenko * -C. * * -C. ****************************************************************** -C -C -#include "geant321/gcunit.inc" -#if defined(CERNLIB_NEVER) - COMMON /SYNTAB / YT(54),FT(53),FTI(53) -#endif -C... - DIMENSION ETR(100),STR(100),RNDM(200) -#if !defined(CERNLIB_NEVER) - DIMENSION YT(54),FTI(53) -#endif -C... - DATA FTI/0.9827082157, 0.9756910801, 0.9708271027, 0.9669673443, - + 0.9637124538, 0.9608694911, 0.9583284855, 0.9560201764, - + 0.9538975954, 0.9519274235, 0.9368366003, 0.9263846874, - + 0.9180962443, 0.9111109376, 0.9050130844, 0.8995658755, - + 0.8946199417, 0.8900741935, 0.8858568072, 0.8536163568, - + 0.8313701749, 0.8137849569, 0.7990072370, 0.7861415148, - + 0.7746775150, 0.7642934322, 0.7547715902, 0.7459571362, - + 0.6792119741, 0.6339961290, 0.5988188982, 0.5696868896, - + 0.5446703434, 0.5226698518, 0.5029919147, 0.4851673245, - + 0.4688622653, 0.3516088724, 0.2802021503, 0.2298262119, - + 0.1918447465, 0.1620831937, 0.1381656080, 0.1185975820, - + 0.1023733467, 0.8878208697E-01, 0.2343492396E-01, - + 0.7047536317E-02, 0.2237016102E-02, 0.7283322047E-03, - + 0.2375631739E-03, 0.7417966117E-04, 0.1891316060E-04/ - - DATA YT/1E-5,2E-5,3E-5,4E-5,5E-5,6E-5,7E-5,8E-5,9E-5, - + 1E-4,2E-4,3E-4,4E-4,5E-4,6E-4,7E-4,8E-4,9E-4, - + 1E-3,2E-3,3E-3,4E-3,5E-3,6E-3,7E-3,8E-3,9E-3, - + 1E-2,2E-2,3E-2,4E-2,5E-2,6E-2,7E-2,8E-2,9E-2, - + .1,.2,.3,.4,.5,.6,.7,.8,.9,1.,2.,3.,4.,5.,6.,7.,8.,9./ -C... - NTR = 0 - H = 0.1*HKGAUS - IF(H.LE.0.) GO TO 999 -C... - RAD = 333.33*AM*GAMMA/H -C... - EC = 2.96E-8*GAMMA**3/RAD -C... - AN = .01053*GAMMA/RAD*STEP - CALL G3POISS(AN,N,1) - N=MIN(N,100) - IF(N.LE.0) GO TO 999 -C... - CALL GRNDM(RNDM,N*2) - DO 40 I = 1,N - K1 = 1 - K2 = 53 - R = RNDM(2*I-1)*(FTI(1)-FTI(53))+FTI(53) -C... - 10 K = (K1+K2)/2 - IF(R.NE.FTI(K)) GO TO 20 - E = YT(K)*EC - GO TO 30 -C... - 20 IF(R.GT.FTI(K)) THEN - K2 = K - ELSEIF(R.LT.FTI(K)) THEN - K1 = K - ENDIF - IF(K2-K1.GT.1) GO TO 10 -C... - IF(YT(K2).LE.1.) THEN - Y2 = LOG(YT(K2)) - Y1 = LOG(YT(K1)) - E = Y2+(R-FTI(K2))*(Y1-Y2)/(FTI(K1)-FTI(K2)) - E = EXP(E)*EC - ELSE - F2 = LOG(FTI(K2)) - F1 = LOG(FTI(K1)) - DR = LOG(R) - E = YT(K2)+(DR-F2)*(YT(K1)-YT(K2))/(F1-F2) - E = E*EC - END IF -C... - 30 CONTINUE -C - IF(E/EC.GT.20.) THEN - WRITE(CHMAIL,'('' *** GSYNGE: Photons have e>20*ec, e= '', - + G10.4,'' keV, ec= '',G10.4,'' keV'')') E,EC - CALL GMAIL(1,0) - GO TO 40 - ENDIF -C... - NTR = NTR+1 - ETR(NTR) = E*1.E-6 - STR(NTR) = STEP*RNDM(2*I) - 40 CONTINUE -C... - 999 END diff --git a/StarVMC/geant3/gphys/gsynit.F b/StarVMC/geant3/gphys/gsynit.F deleted file mode 100644 index a9c41a48b50..00000000000 --- a/StarVMC/geant3/gphys/gsynit.F +++ /dev/null @@ -1,134 +0,0 @@ -* -* $Id: gsynit.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gsynit.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:35 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_NEVER) -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3SYNIT -C -C Preperation of synchrotron radiation tables. -C This routine can be used to compute the YT and FTI used -C in GSYNGE. -C Author: Igor Gavrilenko -C - COMMON /SYNTAB/ YT(54),FT(54),FTI(53) - EXTERNAL BK53,BKS53 - DOUBLE PRECISION YM,YMA,EPS,XX -C... - DATA EPS/.0001/ -C... - L = 0 - YS = .000001 - DO 20 I = 1,6 - YS = YS*10. - DO 10 J = 1,9,1 - L = L+1 - YM = J*YS - YT(L) = YM - YMA = YM+YS - IF(L.EQ.54) YMA = 20. - FT(L) = DGAUSS(BK53,YM,YMA,EPS) - 10 CONTINUE - 20 CONTINUE -C... - DO 30 I = 53,1,-1 - FT(I) = FT(I)+FT(I+1) - 30 CONTINUE -C... - DO 40 I = 53,1,-1 - YM = YT(I) - YMA = YT(I+1) - IF(I.LT.53) FTI(I) = DGAUSS(BKS53,YM,YMA,EPS)+FTI(I+1) - IF(I.EQ.53) FTI(I) = DGAUSS(BKS53,YM,YMA,EPS) - 40 CONTINUE -C... - E N D -C------------------------------------------------------- - DOUBLE PRECISION FUNCTION B K 5 3 (X) -C - DOUBLE PRECISION X -C... - BK53 = 4./(3.*X)*DBSKR3(X,2)+DBSKR3(X,1) - RETURN - E N D -C------------------------------------------------------ - DOUBLE PRECISION FUNCTION B K S 5 3 (X) -C - COMMON /SYNTAB/ YT(54),FT(54),FTI(53) - DOUBLE PRECISION X -C... - IF(X.GT.YT(1)) GO TO 10 - BKS53 = FT(1) - GO TO 60 -C... - 10 IF(X.LT.YT(54)) GO TO 20 - BKS53 = 0. - RETURN -C... - 20 K1 = 1 - K2 = 54 - 30 K = (K1+K2)/2 - IF(X.GT.YT(K)) K1 = K - IF(X.LT.YT(K)) K2 = K - IF(X.NE.YT(K)) GO TO 40 - BKS53 = FT(K) - GO TO 60 -C... - 40 IF(K2-K1.GT.1) GO TO 30 - F1 = FT(K1) - F2 = FT(K2) - X1 = YT(K1) - X2 = YT(K2) -C... - IF(X.LE.1.) THEN - X1 = LOG(X1) - X2 = LOG(X2) - B = F1+(F2-F1)/(X2-X1)*(LOG(X)-X1) - GO TO 50 - ENDIF -C... - IF(X.GT.1.) THEN - F1 = LOG(F1) - F2 = LOG(F2) - B = F1+(F2-F1)/(X2-X1)*(X-X1) - B = EXP(B) - ENDIF -C... - 50 BKS53 = B - 60 BKS53 = .1909859*BKS53 - RETURN - E N D -#else - SUBROUTINE GSYNIT_DUMMY - END -#endif diff --git a/StarVMC/geant3/gphys/gvaviv.F b/StarVMC/geant3/gphys/gvaviv.F deleted file mode 100644 index acdba5cbf61..00000000000 --- a/StarVMC/geant3/gphys/gvaviv.F +++ /dev/null @@ -1,411 +0,0 @@ -* -* $Id: gvaviv.F,v 1.1.1.3 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gvaviv.F,v $ -* Revision 1.1.1.3 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:46 fisyak -* Merge with macos version -* -* Revision 1.4 2007/05/31 15:56:06 brun -* From Peter Hristov: -* a small modification in gphys/gvaviv.F to avoid using non-initialized data. -* -* Revision 1.3 2005/08/10 20:02:58 brun -* From Peter Hristov: -* Add a small protection below to avoid some (rare) floating point -* exceptions. -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:35 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - FUNCTION G3VAVIV(RKAPPA,BETA2,RAN) -C. -C. ****************************************************************** -C. * * -C. * * -C. * G3VAVIV * -C. * ------- * -C. * * -C. * Initializes the parameters for a Vavilov distribution * -C. * * -C. * BETA2 is the particle velocity squared * -C. * RKAPPA the usual straggling parameter * -C. * * -C. * This routine has been extracted from a proposed CERNLIB * -C. * set of routines (VAVCOE,VAVFSM). * -C. * The authors of these routines have submitted an article * -C. * to NIM: * -C. * * -C. * Alberto Rotondi, Paolo Montagna * -C. * Fast calculation of Vavilov distribution NIMB 1990 * -C. * * -C. * Author K.S.Koelbig ******** * -C. * * -C. * ==> Called by : G3LANDO * -C. * * -C. ****************************************************************** -C. - DIMENSION AC(0:12),HC(0:8),H(9) - - PARAMETER - 1(BKMNX1 = 0.02, BKMNY1 = 0.05, BKMNX2 = 0.12, BKMNY2 = 0.05, - 2 BKMNX3 = 0.22, BKMNY3 = 0.05, BKMXX1 = 0.1 , BKMXY1 = 1 , - 3 BKMXX2 = 0.2 , BKMXY2 = 1 , BKMXX3 = 0.3 , BKMXY3 = 1 ) - PARAMETER - 1(FBKX1 = 2/(BKMXX1-BKMNX1), FBKX2 = 2/(BKMXX2-BKMNX2), - 2 FBKX3 = 2/(BKMXX3-BKMNX3), FBKY1 = 2/(BKMXY1-BKMNY1), - 3 FBKY2 = 2/(BKMXY2-BKMNY2), FBKY3 = 2/(BKMXY3-BKMNY3)) - - DIMENSION EDGEC(2:7),FNINV(5),DRK(5),DSIGM(5),ALFA(2:5) - DIMENSION U1(13),U2(13),U3(13),U4(12),U5(13),U6(13),U7( 8),U8(13) - DIMENSION V1(12),V2(12),V3(13),V4(12),V5(13),V6(13),V7(11),V8(11) - DIMENSION W1(13),W2(11),W3(13),W4(13),W5(13),W6(13), W8( 8) - - DATA FNINV /1, 0.5, 0.33333333, 0.25, 0.2/ - - DATA (EDGEC(J),J=2,7) - 1/ 0.16666667E+0, 0.41666667E-1, 0.83333333E-2, - 2 0.13888889E-1, 0.69444444E-2, 0.77160493E-3/ - - DATA (U1(K),K=1,13) - 1/ 0.25850868E+0, 0.32477982E-1, -0.59020496E-2, - 2 0. , 0.24880692E-1, 0.47404356E-2, - 3 -0.74445130E-3, 0.73225731E-2, 0. , - 4 0.11668284E-2, 0. , -0.15727318E-2,-0.11210142E-2/ - - DATA (U2(K),K=1,13) - 1/ 0.43142611E+0, 0.40797543E-1, -0.91490215E-2, - 2 0. , 0.42127077E-1, 0.73167928E-2, - 3 -0.14026047E-2, 0.16195241E-1, 0.24714789E-2, - 4 0.20751278E-2, 0. , -0.25141668E-2,-0.14064022E-2/ - - DATA (U3(K),K=1,13) - 1/ 0.25225955E+0, 0.64820468E-1, -0.23615759E-1, - 2 0. , 0.23834176E-1, 0.21624675E-2, - 3 -0.26865597E-2, -0.54891384E-2, 0.39800522E-2, - 4 0.48447456E-2, -0.89439554E-2, -0.62756944E-2,-0.24655436E-2/ - - DATA (U4(K),K=1,12) - 1/ 0.12593231E+1, -0.20374501E+0, 0.95055662E-1, - 2 -0.20771531E-1, -0.46865180E-1, -0.77222986E-2, - 3 0.32241039E-2, 0.89882920E-2, -0.67167236E-2, - 4 -0.13049241E-1, 0.18786468E-1, 0.14484097E-1/ - - DATA (U5(K),K=1,13) - 1/-0.24864376E-1, -0.10368495E-2, 0.14330117E-2, - 2 0.20052730E-3, 0.18751903E-2, 0.12668869E-2, - 3 0.48736023E-3, 0.34850854E-2, 0. , - 4 -0.36597173E-3, 0.19372124E-2, 0.70761825E-3, 0.46898375E-3/ - - DATA (U6(K),K=1,13) - 1/ 0.35855696E-1, -0.27542114E-1, 0.12631023E-1, - 2 -0.30188807E-2, -0.84479939E-3, 0. , - 3 0.45675843E-3, -0.69836141E-2, 0.39876546E-2, - 4 -0.36055679E-2, 0. , 0.15298434E-2, 0.19247256E-2/ - - DATA (U7(K),K=1,8) - 1/ 0.10234691E+2, -0.35619655E+1, 0.69387764E+0, - 2 -0.14047599E+0, -0.19952390E+1, -0.45679694E+0, - 3 0. , 0.50505298E+0/ - - DATA (U8(K),K=1,13) - 1/ 0.21487518E+2, -0.11825253E+2, 0.43133087E+1, - 2 -0.14500543E+1, -0.34343169E+1, -0.11063164E+1, - 3 -0.21000819E+0, 0.17891643E+1, -0.89601916E+0, - 4 0.39120793E+0, 0.73410606E+0, 0. ,-0.32454506E+0/ - - DATA (V1(K),K=1,12) - 1/ 0.27827257E+0, -0.14227603E-2, 0.24848327E-2, - 2 0. , 0.45091424E-1, 0.80559636E-2, - 3 -0.38974523E-2, 0. , -0.30634124E-2, - 4 0.75633702E-3, 0.54730726E-2, 0.19792507E-2/ - - DATA (V2(K),K=1,12) - 1/ 0.41421789E+0, -0.30061649E-1, 0.52249697E-2, - 2 0. , 0.12693873E+0, 0.22999801E-1, - 3 -0.86792801E-2, 0.31875584E-1, -0.61757928E-2, - 4 0. , 0.19716857E-1, 0.32596742E-2/ - - DATA (V3(K),K=1,13) - 1/ 0.20191056E+0, -0.46831422E-1, 0.96777473E-2, - 2 -0.17995317E-2, 0.53921588E-1, 0.35068740E-2, - 3 -0.12621494E-1, -0.54996531E-2, -0.90029985E-2, - 4 0.34958743E-2, 0.18513506E-1, 0.68332334E-2,-0.12940502E-2/ - - DATA (V4(K),K=1,12) - 1/ 0.13206081E+1, 0.10036618E+0, -0.22015201E-1, - 2 0.61667091E-2, -0.14986093E+0, -0.12720568E-1, - 3 0.24972042E-1, -0.97751962E-2, 0.26087455E-1, - 4 -0.11399062E-1, -0.48282515E-1, -0.98552378E-2/ - - DATA (V5(K),K=1,13) - 1/ 0.16435243E-1, 0.36051400E-1, 0.23036520E-2, - 2 -0.61666343E-3, -0.10775802E-1, 0.51476061E-2, - 3 0.56856517E-2, -0.13438433E-1, 0. , - 4 0. , -0.25421507E-2, 0.20169108E-2,-0.15144931E-2/ - - DATA (V6(K),K=1,13) - 1/ 0.33432405E-1, 0.60583916E-2, -0.23381379E-2, - 2 0.83846081E-3, -0.13346861E-1, -0.17402116E-2, - 3 0.21052496E-2, 0.15528195E-2, 0.21900670E-2, - 4 -0.13202847E-2, -0.45124157E-2, -0.15629454E-2, 0.22499176E-3/ - - DATA (V7(K),K=1,11) - 1/ 0.54529572E+1, -0.90906096E+0, 0.86122438E-1, - 2 0. , -0.12218009E+1, -0.32324120E+0, - 3 -0.27373591E-1, 0.12173464E+0, 0. , - 4 0. , 0.40917471E-1/ - - DATA (V8(K),K=1,11) - 1/ 0.93841352E+1, -0.16276904E+1, 0.16571423E+0, - 2 0. , -0.18160479E+1, -0.50919193E+0, - 3 -0.51384654E-1, 0.21413992E+0, 0. , - 4 0. , 0.66596366E-1/ - - DATA (W1(K),K=1,13) - 1/ 0.29712951E+0, 0.97572934E-2, 0. , - 2 -0.15291686E-2, 0.35707399E-1, 0.96221631E-2, - 3 -0.18402821E-2, -0.49821585E-2, 0.18831112E-2, - 4 0.43541673E-2, 0.20301312E-2, -0.18723311E-2,-0.73403108E-3/ - - DATA (W2(K),K=1,11) - 1/ 0.40882635E+0, 0.14474912E-1, 0.25023704E-2, - 2 -0.37707379E-2, 0.18719727E+0, 0.56954987E-1, - 3 0. , 0.23020158E-1, 0.50574313E-2, - 4 0.94550140E-2, 0.19300232E-1/ - - DATA (W3(K),K=1,13) - 1/ 0.16861629E+0, 0. , 0.36317285E-2, - 2 -0.43657818E-2, 0.30144338E-1, 0.13891826E-1, - 3 -0.58030495E-2, -0.38717547E-2, 0.85359607E-2, - 4 0.14507659E-1, 0.82387775E-2, -0.10116105E-1,-0.55135670E-2/ - - DATA (W4(K),K=1,13) - 1/ 0.13493891E+1, -0.26863185E-2, -0.35216040E-2, - 2 0.24434909E-1, -0.83447911E-1, -0.48061360E-1, - 3 0.76473951E-2, 0.24494430E-1, -0.16209200E-1, - 4 -0.37768479E-1, -0.47890063E-1, 0.17778596E-1, 0.13179324E-1/ - - DATA (W5(K),K=1,13) - 1/ 0.10264945E+0, 0.32738857E-1, 0. , - 2 0.43608779E-2, -0.43097757E-1, -0.22647176E-2, - 3 0.94531290E-2, -0.12442571E-1, -0.32283517E-2, - 4 -0.75640352E-2, -0.88293329E-2, 0.52537299E-2, 0.13340546E-2/ - - DATA (W6(K),K=1,13) - 1/ 0.29568177E-1, -0.16300060E-2, -0.21119745E-3, - 2 0.23599053E-2, -0.48515387E-2, -0.40797531E-2, - 3 0.40403265E-3, 0.18200105E-2, -0.14346306E-2, - 4 -0.39165276E-2, -0.37432073E-2, 0.19950380E-2, 0.12222675E-2/ - - DATA (W8(K),K=1,8) - 1/ 0.66184645E+1, -0.73866379E+0, 0.44693973E-1, - 2 0. , -0.14540925E+1, -0.39529833E+0, - 3 -0.44293243E-1, 0.88741049E-1/ - - G3VAVIV=0 - IF(RKAPPA .LT. 0.01 .OR. RKAPPA .GT. 12) RETURN - HC(0)=LOG(RKAPPA)+BETA2+0.42278434 - DSIGM(1)=SQRT(RKAPPA/(1-0.5*BETA2)) - HC(1)=DSIGM(1) - HC(8)=0.39894228*HC(1) - IF(RKAPPA .GE. 0.29) THEN - ITYPE=1 - NPT=100 - WK=1/SQRT(RKAPPA) - AC(0)=(-0.032227*BETA2-0.074275)*RKAPPA+ - 1 (0.24533*BETA2+0.070152)*WK+(-0.55610*BETA2-3.1579) - AC(8)=(-0.013483*BETA2-0.048801)*RKAPPA+ - 1 (-1.6921*BETA2+8.3656)*WK+(-0.73275*BETA2-3.5226) - DRK(1)=WK**2 - DO 1 J = 1,4 - DRK(J+1)=DRK(1)*DRK(J) - DSIGM(J+1)=DSIGM(1)*DSIGM(J) - 1 ALFA(J+1)=(FNINV(J)-BETA2*FNINV(J+1))*DRK(J) - - HC(2)=ALFA(3)*DSIGM(3) - HC(3)=(3*ALFA(2)**2+ALFA(4))*DSIGM(4)-3 - HC(4)=(10*ALFA(2)*ALFA(3)+ALFA(5))*DSIGM(5)-10*HC(2) - HC(5)=HC(2)**2 - HC(6)=HC(2)*HC(3) - HC(7)=HC(2)*HC(5) - DO 2 J = 2,7 - 2 HC(J)=EDGEC(J)*HC(J) - ELSEIF(RKAPPA .GE. 0.22) THEN - ITYPE=2 - NPT=150 - X=1+(RKAPPA-BKMXX3)*FBKX3 - Y=1+(SQRT(BETA2)-BKMXY3)*FBKY3 - XX=2*X - YY=2*Y - X2=XX*X-1 - X3=XX*X2-X - Y2=YY*Y-1 - Y3=YY*Y2-Y - XY=X*Y - P2=X2*Y - P3=X3*Y - Q2=Y2*X - Q3=Y3*X - PQ=X2*Y2 - AC(1)=W1(1)+W1(2)*X+W1(4)*X3+W1(5)*Y+W1(6)*Y2+W1(7)*Y3+ - 1 W1(8)*XY+W1(9)*P2+W1(10)*P3+W1(11)*Q2+W1(12)*Q3+W1(13)*PQ - AC(2)=W2(1)+W2(2)*X+W2(3)*X2+W2(4)*X3+W2(5)*Y+W2(6)*Y2+ - 1 W2(8)*XY+W2(9)*P2+W2(10)*P3+W2(11)*Q2 - AC(3)=W3(1)+W3(3)*X2+W3(4)*X3+W3(5)*Y+W3(6)*Y2+W3(7)*Y3+ - 1 W3(8)*XY+W3(9)*P2+W3(10)*P3+W3(11)*Q2+W3(12)*Q3+W3(13)*PQ - AC(4)=W4(1)+W4(2)*X+W4(3)*X2+W4(4)*X3+W4(5)*Y+W4(6)*Y2+W4(7)*Y3+ - 1 W4(8)*XY+W4(9)*P2+W4(10)*P3+W4(11)*Q2+W4(12)*Q3+W4(13)*PQ - AC(5)=W5(1)+W5(2)*X+W5(4)*X3+W5(5)*Y+W5(6)*Y2+W5(7)*Y3+ - 1 W5(8)*XY+W5(9)*P2+W5(10)*P3+W5(11)*Q2+W5(12)*Q3+W5(13)*PQ - AC(6)=W6(1)+W6(2)*X+W6(3)*X2+W6(4)*X3+W6(5)*Y+W6(6)*Y2+W6(7)*Y3+ - 1 W6(8)*XY+W6(9)*P2+W6(10)*P3+W6(11)*Q2+W6(12)*Q3+W6(13)*PQ - AC(8)=W8(1)+W8(2)*X+W8(3)*X2+W8(5)*Y+W8(6)*Y2+W8(7)*Y3+W8(8)*XY - AC(0)=-3.05 - ELSEIF(RKAPPA .GE. 0.12) THEN - ITYPE=3 - NPT=200 - X=1+(RKAPPA-BKMXX2)*FBKX2 - Y=1+(SQRT(BETA2)-BKMXY2)*FBKY2 - XX=2*X - YY=2*Y - X2=XX*X-1 - X3=XX*X2-X - Y2=YY*Y-1 - Y3=YY*Y2-Y - XY=X*Y - P2=X2*Y - P3=X3*Y - Q2=Y2*X - Q3=Y3*X - PQ=X2*Y2 - AC(1)=V1(1)+V1(2)*X+V1(3)*X2+V1(5)*Y+V1(6)*Y2+V1(7)*Y3+ - 1 V1(9)*P2+V1(10)*P3+V1(11)*Q2+V1(12)*Q3 - AC(2)=V2(1)+V2(2)*X+V2(3)*X2+V2(5)*Y+V2(6)*Y2+V2(7)*Y3+ - 1 V2(8)*XY+V2(9)*P2+V2(11)*Q2+V2(12)*Q3 - AC(3)=V3(1)+V3(2)*X+V3(3)*X2+V3(4)*X3+V3(5)*Y+V3(6)*Y2+V3(7)*Y3+ - 1 V3(8)*XY+V3(9)*P2+V3(10)*P3+V3(11)*Q2+V3(12)*Q3+V3(13)*PQ - AC(4)=V4(1)+V4(2)*X+V4(3)*X2+V4(4)*X3+V4(5)*Y+V4(6)*Y2+V4(7)*Y3+ - 1 V4(8)*XY+V4(9)*P2+V4(10)*P3+V4(11)*Q2+V4(12)*Q3 - AC(5)=V5(1)+V5(2)*X+V5(3)*X2+V5(4)*X3+V5(5)*Y+V5(6)*Y2+V5(7)*Y3+ - 1 V5(8)*XY+V5(11)*Q2+V5(12)*Q3+V5(13)*PQ - AC(6)=V6(1)+V6(2)*X+V6(3)*X2+V6(4)*X3+V6(5)*Y+V6(6)*Y2+V6(7)*Y3+ - 1 V6(8)*XY+V6(9)*P2+V6(10)*P3+V6(11)*Q2+V6(12)*Q3+V6(13)*PQ - AC(7)=V7(1)+V7(2)*X+V7(3)*X2+V7(5)*Y+V7(6)*Y2+V7(7)*Y3+ - 1 V7(8)*XY+V7(11)*Q2 - AC(8)=V8(1)+V8(2)*X+V8(3)*X2+V8(5)*Y+V8(6)*Y2+V8(7)*Y3+ - 1 V8(8)*XY+V8(11)*Q2 - AC(0)=-3.04 - ELSE - ITYPE=4 - IF(RKAPPA .GE. 0.02) ITYPE=3 - NPT=200 - X=1+(RKAPPA-BKMXX1)*FBKX1 - Y=1+(SQRT(BETA2)-BKMXY1)*FBKY1 - XX=2*X - YY=2*Y - X2=XX*X-1 - X3=XX*X2-X - Y2=YY*Y-1 - Y3=YY*Y2-Y - XY=X*Y - P2=X2*Y - P3=X3*Y - Q2=Y2*X - Q3=Y3*X - PQ=X2*Y2 - IF(ITYPE .EQ. 4) GO TO 4 - AC(1)=U1(1)+U1(2)*X+U1(3)*X2+U1(5)*Y+U1(6)*Y2+U1(7)*Y3+ - 1 U1(8)*XY+U1(10)*P3+U1(12)*Q3+U1(13)*PQ - AC(2)=U2(1)+U2(2)*X+U2(3)*X2+U2(5)*Y+U2(6)*Y2+U2(7)*Y3+ - 1 U2(8)*XY+U2(9)*P2+U2(10)*P3+U2(12)*Q3+U2(13)*PQ - AC(3)=U3(1)+U3(2)*X+U3(3)*X2+U3(5)*Y+U3(6)*Y2+U3(7)*Y3+ - 1 U3(8)*XY+U3(9)*P2+U3(10)*P3+U3(11)*Q2+U3(12)*Q3+U3(13)*PQ - AC(4)=U4(1)+U4(2)*X+U4(3)*X2+U4(4)*X3+U4(5)*Y+U4(6)*Y2+U4(7)*Y3+ - 1 U4(8)*XY+U4(9)*P2+U4(10)*P3+U4(11)*Q2+U4(12)*Q3 - AC(5)=U5(1)+U5(2)*X+U5(3)*X2+U5(4)*X3+U5(5)*Y+U5(6)*Y2+U5(7)*Y3+ - 1 U5(8)*XY+U5(10)*P3+U5(11)*Q2+U5(12)*Q3+U5(13)*PQ - AC(6)=U6(1)+U6(2)*X+U6(3)*X2+U6(4)*X3+U6(5)*Y+U6(7)*Y3+ - 1 U6(8)*XY+U6(9)*P2+U6(10)*P3+U6(12)*Q3+U6(13)*PQ - 4 AC(7)=U7(1)+U7(2)*X+U7(3)*X2+U7(4)*X3+U7(5)*Y+U7(6)*Y2+U7(8)*XY - AC(8)=U8(1)+U8(2)*X+U8(3)*X2+U8(4)*X3+U8(5)*Y+U8(6)*Y2+U8(7)*Y3+ - 1 U8(8)*XY+U8(9)*P2+U8(10)*P3+U8(11)*Q2+U8(13)*PQ - AC(0)=-3.03 - ENDIF - AC(9)=(AC(8)-AC(0))/NPT - IF(ITYPE .EQ. 3) THEN - X=(AC(7)-AC(8))/(AC(7)*AC(8)) - IF(AC(7) .NE. AC(8)) THEN - Y=1/LOG(AC(8)/AC(7)) - ELSE - Y=1.E10 - ENDIF - P2=AC(7)**2 - AC(11)=P2*(AC(1)*EXP(-AC(2)*(AC(7)+AC(5)*P2)- - 1 AC(3)*EXP(-AC(4)*(AC(7)+AC(6)*P2)))-0.045*Y/AC(7))/ - 2 (1+X*Y*AC(7)) - AC(12)=(0.045+X*AC(11))*Y - ENDIF - IF(ITYPE .EQ. 4) AC(10)=0.995/G3LANDS(AC(8)) - - T=2*RAN/AC(9) - RLAM=AC(0) - FL=0 - S=0 - DO 21 N = 1,NPT - RLAM=RLAM+AC(9) - IF(ITYPE .EQ. 1) THEN - FN=1 - X=(RLAM+HC(0))*HC(1) - H(1)=X - H(2)=X**2-1 - DO 31 K = 2,8 - FN=FN+1 - 31 H(K+1)=X*H(K)-FN*H(K-1) - Y=1+HC(7)*H(9) - DO 32 K = 2,6 - 32 Y=Y+HC(K)*H(K+1) - FU=HC(8)*EXP(-0.5*X**2)*MAX(Y,0.) - ELSEIF(ITYPE .EQ. 2) THEN - X=RLAM**2 - FU=AC(1)*EXP(-AC(2)*(RLAM+AC(5)*X)- - 1 AC(3)*EXP(-AC(4)*(RLAM+AC(6)*X))) - ELSEIF(ITYPE .EQ. 3) THEN - IF(RLAM .LT. AC(7)) THEN - X=RLAM**2 - FU=AC(1)*EXP(-AC(2)*(RLAM+AC(5)*X)- - 1 AC(3)*EXP(-AC(4)*(RLAM+AC(6)*X))) - ELSE - X=1/RLAM - FU=(AC(11)*X+AC(12))*X - ENDIF - ELSE - FU=AC(10)*G3LANDE(RLAM) - ENDIF - S=S+FL+FU - IF(S .GT. T) GO TO 22 - 21 FL=FU - - 22 S0=S-FL-FU - G3VAVIV=RLAM-AC(9) - IF(S .GT. S0) G3VAVIV=G3VAVIV+AC(9)*(T-S0)/(S-S0) - RETURN - END diff --git a/StarVMC/geant3/gphys/gvrot.F b/StarVMC/geant3/gphys/gvrot.F deleted file mode 100644 index 50605e8877b..00000000000 --- a/StarVMC/geant3/gphys/gvrot.F +++ /dev/null @@ -1,93 +0,0 @@ -* -* $Id: gvrot.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gvrot.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:55 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:25 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:35 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3VROT(DCOSIN,PART) -C. -C. ****************************************************************** -C. * * -C. * Rotates vector from one reference system into another * -C. * defined by the direction cosines contained in the vector * -C. * DCOSIN. The input vector PART is overwritten. * -C. * * -C. * ==>Called by : * -C. * Author F.Carminati ********** * -C. * * -C. * * -C. ****************************************************************** -C. - DIMENSION PART(*),DCOSIN(*) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION DUX,DUY,DUZ,SINTH2,ONE,COSTH,SINTH,COSPH,SINPH - DOUBLE PRECISION DNORM -#endif - LOGICAL ROTATE - PARAMETER (ONE=1) -C. -C. ------------------------------------------------------------------ -C. - DUX = DCOSIN(1) - DUY = DCOSIN(2) - DUZ = DCOSIN(3) - ROTATE = .TRUE. - IF(ABS(DUZ).GE.0.85) THEN - SINTH2=DUX**2+DUY**2 - IF(SINTH2.GT.0.) THEN - COSTH = SIGN(ONE,DUZ)*SQRT(ONE-SINTH2) - SINTH = SQRT(SINTH2) - COSPH = DUX/SINTH - SINPH = DUY/SINTH - ELSEIF(DUZ.GT.0.)THEN - ROTATE = .FALSE. - ELSE - COSTH = -1. - SINTH = 0. - COSPH = 1. - SINPH = 0. - ENDIF - ELSE - COSTH = DUZ - SINTH = SQRT((ONE+DUZ)*(ONE-DUZ)) - DNORM = ONE/SQRT(DUX**2+DUY**2) - COSPH = DUX*DNORM - SINPH = DUY*DNORM - ENDIF -* - IF(ROTATE) THEN - P1=PART(1) - P2=PART(2) - P3=PART(3) - PART(1)= P1*COSTH*COSPH - P2*SINPH + P3*SINTH*COSPH - PART(2)= P1*COSTH*SINPH + P2*COSPH + P3*SINTH*SINPH - PART(3)=-P1*SINTH + P3*COSTH - ENDIF -C - END diff --git a/StarVMC/geant3/gscan/gscani.F b/StarVMC/geant3/gscan/gscani.F deleted file mode 100644 index 64f97cde368..00000000000 --- a/StarVMC/geant3/gscan/gscani.F +++ /dev/null @@ -1,85 +0,0 @@ -* -* $Id: gscani.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gscani.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:46 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE G3SCANI -* -************************************************************************ -* Generates Kinematics for the SCAN utility * -* * -* ==>Called by : ,GUKINE * -* Author R.Brun ********* * -************************************************************************ -* -#include "geant321/gcbank.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcscan.inc" -* -* ----------------------------------------------------------------- -* - IF(NPHI.LE.0)NPHI=1 - IF(IPHI1.LE.0)IPHI1=1 - IF(IPHI1.GT.NPHI)IPHI1=NPHI - IF(IPHIL.LT.IPHI1)IPHIL=IPHI1 - IF(IPHIL.GT.NPHI)IPHIL=NPHI - TETMIN = MAX(TETMID(MODTET), TETMIN) - TETMAX = MIN(TETMAD(MODTET), TETMAX) - IF(TETMIN.GT.TETMAX)THEN - TETMIN = TETMID(MODTET) - TETMAX = TETMAD(MODTET) - ENDIF -* Create top LSCAN bank -* - IF(LSCAN.NE.0)THEN - CALL MZDROP(IXCONS,LSCAN,' ') - ENDIF - CALL MZFORM('SCAN','10I 10F -H' ,IOSCAN) - NL=NPHI - CALL MZBOOK(IXCONS,LSCAN,LSCAN,1,'SCAN',NL,NL,52,IOSCAN,0) - IQ(LSCAN+1)=NPHI - IQ(LSCAN+2)=NTETA - IQ(LSCAN+3)=MODTET - IQ(LSCAN+4)=NSLIST - IQ(LSCAN+5)=NSLMAX - Q (LSCAN+11)=PHIMIN - Q (LSCAN+12)=PHIMAX - Q (LSCAN+13)=TETMIN - Q (LSCAN+14)=TETMAX - Q (LSCAN+15)=VSCAN(1) - Q (LSCAN+16)=VSCAN(2) - Q (LSCAN+17)=VSCAN(3) - Q (LSCAN+18)=FACTX0 - Q (LSCAN+19)=FACTL - Q (LSCAN+20)=FACTR - DO 10 I=1,NSLIST - IQ(LSCAN+20+I)=ISLIST(I) - 10 CONTINUE - END diff --git a/StarVMC/geant3/gscan/gscank.F b/StarVMC/geant3/gscan/gscank.F deleted file mode 100644 index 9a17d3b59d2..00000000000 --- a/StarVMC/geant3/gscan/gscank.F +++ /dev/null @@ -1,98 +0,0 @@ -* -* $Id: gscank.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gscank.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE G3SCANK -* -************************************************************************ -* Generates Kinematics for the SCAN utility * -* * -* ==>Called by : ,GUKINE * -* Author R.Brun ********* * -************************************************************************ -* -#include "geant321/gcbank.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcscan.inc" -#include "geant321/gcflag.inc" -#include "geant321/gconsp.inc" -* - DIMENSION VERTEX(3),PLAB(3),BUF(1) - DATA BUF/0./ -* -* ----------------------------------------------------------------- -* - IF(LSCAN.EQ.0)CALL G3SCANI -* - VERTEX(1)=VSCAN(1) - VERTEX(2)=VSCAN(2) - VERTEX(3)=VSCAN(3) - IKSCAN = 48 - DPHI = (PHIMAX-PHIMIN)/NPHI - DTETA = (TETMAX-TETMIN)/NTETA - CALL G3SVERT(VERTEX,0,0,UBUF,0,NVERT) -* - DO 20 IPHI=IPHI1,IPHIL - IF(LQ(LSCAN-IPHI).NE.0)GO TO 20 - PHI=DEGRAD*(PHIMIN+(IPHI-0.5)*DPHI) - DO 10 ITETA=1,NTETA - TETA=TETMIN+(ITETA-0.5)*DTETA - IF(MODTET.EQ.1)THEN - THETA=2.*ATAN(EXP(-TETA)) - ELSE IF(MODTET.EQ.2) THEN - THETA=DEGRAD*TETA - ELSE IF(MODTET.EQ.3) THEN - THETA=ACOS(TETA) - ENDIF - PLAB(1) = SIN(THETA)*COS(PHI) - PLAB(2) = SIN(THETA)*SIN(PHI) - PLAB(3) = COS(THETA) - CALL G3SKINE(PLAB,IKSCAN,NVERT,BUF,0,NT) - 10 CONTINUE - GO TO 30 - 20 CONTINUE -* -* Initialize LSTEMP -* - 30 CONTINUE - ISCUR=NTETA+1 - IF(LSTEMP.EQ.0)THEN - CALL MZBOOK(IXCONS,LSTEMP,LSTEMP,1,'LPHI',0,0,30000,1,0) - ENDIF -* -* Kinematic debug (controled by ISWIT(1)) -* - IF(IDEBUG.EQ.1.AND.ISWIT(1).EQ.1) THEN - CALL G3PRINT('VERT',0) - CALL G3PRINT('KINE',0) - ENDIF -* - END diff --git a/StarVMC/geant3/gscan/gscano.F b/StarVMC/geant3/gscan/gscano.F deleted file mode 100644 index aa171792729..00000000000 --- a/StarVMC/geant3/gscan/gscano.F +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: gscano.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gscano.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE GSCANO -* -************************************************************************ -* SCAN utility called at the end of each event. * -* * -* ==>Called by : ,GUKINE * -* Author R.Brun ********* * -************************************************************************ -* * -#include "geant321/gcbank.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcscan.inc" -C. -C. ------------------------------------------------------------------ -C. -* -* Insert the temporary LSTEMP structure into LSCAN -* - IF(IPHI.GT.IQ(LSCAN-2))GO TO 10 - IF(LQ(LSCAN-IPHI).NE.0)GO TO 10 - NPUSH=ISCUR-IQ(LSTEMP-1)-1 - IQ(LSTEMP-5)=IPHI - CALL MZPUSH(IXCONS,LSTEMP,0,NPUSH,'I') - CALL ZSHUNT(IXCONS,LSTEMP,LSCAN,-IPHI,0) - GO TO 999 - 10 IF(LSTEMP.NE.0)CALL MZDROP(IXCONS,LSTEMP,' ') - LSTEMP=0 -* - 999 END diff --git a/StarVMC/geant3/gscan/gscanu.F b/StarVMC/geant3/gscan/gscanu.F deleted file mode 100644 index 96e41771580..00000000000 --- a/StarVMC/geant3/gscan/gscanu.F +++ /dev/null @@ -1,89 +0,0 @@ -* -* $Id: gscanu.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gscanu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:47 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE G3SCANU -* -************************************************************************ -* SCAN utility called at the end of each tracking step * -* INWVOL is different from 0 when the track has reached * -* a volume boundary * -* * -* ==>Called by : ,GUSTEP * -* Author R.Brun ********* * -************************************************************************ -* -#include "geant321/gcbank.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcmate.inc" -#include "geant321/gctrak.inc" -#include "geant321/gckine.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcscan.inc" - SAVE ISLOLD,IDOLD,IDNUM -* -* ----------------------------------------------------------------- -* - IF(SLENG.LE.0.)THEN - SX0=0. - SABS=0. - ITETA=ITRA - ISLOLD=0 - IDOLD=0 - ENDIF - SX0=SX0+STEP/RADL - SABS=SABS+STEP/ABSL - IF(INWVOL.NE.2)THEN -* -* Compute new ISL,IDET - ISL=0 - INEW=0 - DO 20 IL=NLEVEL,1,-1 - DO 10 I=1,NSLIST - IF(NAMES(IL).EQ.ISLIST(I))THEN - ISL=I - IDNUM=NUMBER(IL) - IF(IL.EQ.NLEVEL.OR.IDNUM.NE.IDOLD)INEW=1 - GO TO 30 - ENDIF - 10 CONTINUE - 20 CONTINUE - 30 CONTINUE - IF(INWVOL.EQ.3.OR.ISL.NE.ISLOLD.OR.INEW.NE.0)THEN - CALL G3SSCAN(ISLOLD,IDOLD) - IDOLD=IDNUM - ISLOLD=ISL - ENDIF - ENDIF -* - CALL G3DEBUG -* - END diff --git a/StarVMC/geant3/gscan/gsscan.F b/StarVMC/geant3/gscan/gsscan.F deleted file mode 100644 index c3703ac162d..00000000000 --- a/StarVMC/geant3/gscan/gsscan.F +++ /dev/null @@ -1,133 +0,0 @@ -* -* $Id: gsscan.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gsscan.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:36 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani -*-- Author : - SUBROUTINE G3SSCAN(ISL,ID) -* -************************************************************************ -* Enter current point in the LSTEMP/LSCAN structure * -* * -* Layout of the LSCAN data structure * -* ================================== * -* * -* | * -* | LSCAN * -* | * -* -nphi -iphi -1 V * -* +-----------+---+--------+---------------------------------------- * -* | | . | | (1..5) nphi,nteta,modtet,nslist,free * -* | | . | | (6..10) phimin,phimax,tetmin,tetmax * -* | | . | | (11..) islist * -* +-----------+---+--------+---------------------------------------- * -* | * -* | LPHI * -* | * -* V nteta * -* +-------------------------------------------------- * -* | IDES | List of (W1,W2) | * -* +-------------------------------------------------- * -* * -* * -* where IDES [ 1:16] = ISCUR pointer in LPHI to first (W1,W2) * -* [17:32] = NW Number of pairs (W1,W2) -1 * -* * -* W1 [ 1:17] = IDET * -* [18:22] = ISL number in ISLIST-1 * -* [23:32] = SABS*FACTL * -* * -* W2 [ 1:17] = RIN*FACTR * -* [18:32] = SX0*FACTX0 * -* * -* SX0 = Sum of rad lengths up to current R boundary * -* * -* SABS = Sum of abs lengths up to current R boundary * -* * -* RIN = SQRT(X**2+Y**2+Z**2) at current R boundary * -* * -* FACTX0 = multiplication factor (default=100) * -* * -* FACTL = multiplication factor (default=1000) * -* * -* FACTR = multiplication factor (default=100) * -* * -* Bits are numbered from 1 to 32 and the most significative * -* bit is bit number 2 (or 1 for unsigned integers) * -* * -* * -* ==>Called by : ,GUKINE * -* Author R.Brun ********* * -************************************************************************ -* -#include "geant321/gcbank.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcflag.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcscan.inc" -C. -C. ------------------------------------------------------------------ -C. - ISX0=FACTX0*SX0 - ISAB=FACTL*SABS - IRIN=FACTR*SLENG - IF(IRIN.LE.0)GO TO 999 - IDES=IQ(LSTEMP+ITETA) - IF(IDES.EQ.0)THEN - IQ(LSTEMP+ITETA)=ISCUR - NW=0 - ELSE - NW=IBITS(IDES,16,16)+1 - IDOLD=IBITS(IQ(LSTEMP+ISCUR-2),0,18) - IF(IDOLD.EQ.ID)GO TO 999 - CALL MVBITS(NW,0,16,IQ(LSTEMP+ITETA),16) - ENDIF - IW1=ID - CALL MVBITS(ISL,0,5,IW1,17) - CALL MVBITS(ISAB,0,10,IW1,22) - IW2=IRIN - CALL MVBITS(ISX0,0,15,IW2,17) - IF(ISCUR+5.GT.IQ(LSTEMP-1))THEN - CALL MZPUSH(IXCONS,LSTEMP,0,1000,'I') - ENDIF - IQ(LSTEMP+ISCUR)=IW1 - IQ(LSTEMP+ISCUR+1)=IW2 - ISCUR=ISCUR+2 - IF(IDEBUG.NE.0)THEN - IF(ISWIT(3).GT.ITETA)THEN - NAME=IQ(JVOLUM+1) - IF(ISL.NE.0)NAME=ISLIST(ISL) - IF(NW.EQ.0)PRINT 10000,IPHI,ITETA - PRINT 10100,NW+1,NAME,ID,IRIN,ISX0,ISAB -10000 FORMAT(' IPHI =',I3,' ITETA =',I3, - + ' NW NAME ID IRIN ISX0 ISAB') -10100 FORMAT(21X,I3,3X,A4,2X,I6,2X,I8,2X,I7,2X,I7) - ENDIF - ENDIF - 999 END diff --git a/StarVMC/geant3/gstrag/gasho.F b/StarVMC/geant3/gstrag/gasho.F deleted file mode 100644 index 3351e4748bf..00000000000 --- a/StarVMC/geant3/gstrag/gasho.F +++ /dev/null @@ -1,146 +0,0 @@ -* -* $Id: gasho.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gasho.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:37 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_ASHO) -*CMZ : 3.21/02 29/03/94 15.41.24 by S.Giani -*-- Author : - SUBROUTINE G3ASHO(P,XXMASS,GSTEP,DE) -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcasho.inc" -C----------------------------------------------------------------------- -C ASHO model for energy loss straggling -C The main subprograms are: -C - MIXMGO - prepares the parameters of a mixture -C or compound used (called from GIASHO); -C - GOSCMG - prepares the parameters of the oscillators; -C - GDIFMG - calculates the differential spectrum of the -C energy loss; -C The main initial data bank is in COMMON block GCASHO contai- -C ning the parameters of a number of elements. -C----------------------------------------------------------------------- -C Update history: 16-8-93 -C -C----------------------------------------------------------------------- -C The main initial common block and its components. -C NELM - number of basic elements; -C ZELM - atomic numbers of the elements; -C AELM - atomic weights of the elements; -C DELM - densities of the elements (g/cm3); -C E0ELM - ionization potentials of the elements (keV); -C NSELM - numbers of the electron shells in the atoms; -C ZSELM - numbers of electrons in each of the shells; -C ESELM - binding energies of the shell electrons (keV). -C This information may be included in JMATE by GSMATE or GMATE. -C *) The density values for gases are given at -C 0 C 1 atm. Those for solids are not precise and -C should be substituted for particular -C samples used. -C **) The current number of the elements used is equal to 16. -C ***) To change the energy scale from keV to GeV, as it is -C used in GEANT, it is needed to add 1.E-6 to E0ELM, ESELM, -C PLASM, TRNSMA, 6. (in RESMGO), SL (in REAMGO), SL (in -C SLDMGO) and extract 1.E-6 in DE (in DELMGO). -C----------------------------------------------------------------------- -C GCASHO contains also the kinematical parame- -C ters as well as some thermodynamical ones: -C PLIN (P/mc), PLOG (log10(PLIN)), BE2 (velocity/c squared), -C the path length STEP of the particle, -C and the medium plasma energy -C PLASM. TRNSMA is the maximum transferable energy (now -C it is set to correspond to TCUT in GEANT !). -C In GEANT the initial parameters are P, E, XMASS, STEP -C and DENSIT. -C----------------------------------------------------------------------- -C In addition, it contains the parameters of the oscillators: -C - BOSC is the array of "ksi/I", -C - AOSC is the array of "lnA", -C - NOSC is the number of the oscillators, -C - EOSC is the array of the oscillator energies, -C - IOSC is the upper array in integers, -C - ZOSC is the array of the oscillator weights, -C - EMEAN is the mean energy loss. -C----------------------------------------------------------------------- -C Finally, GCASHO contains the parameters of the energy loss -C distribution: -C - CMGO is the differential or integral distribution coeff., -C - NMGO is the number of bins, -C - NMGOMA is the maximum of possible NMGO, -C - EMGO is the energy corresponding to one bin, -C - EMGOMI is the energy corresponding to 0th bin. -C----------------------------------------------------------------------- - PARAMETER (DNMGOM=2000) -C----------------------------------------------------------------------- - JASHO = LQ(JMA-20) - NSMED = Q(JASHO+1) - ZMED = Q(JASHO+2) - AMED = Q(JASHO+3) - ALFA = Q(JASHO+4) - E0MED = Q(JASHO+5) - DO 10 KMED=1,NSMED - ZSMED(KMED) = Q(JASHO+5+KMED) - ESMED(KMED) = Q(JASHO+5+NSMED+KMED) - 10 CONTINUE - PLASM = 0.028817*SQRT((ZMED/AMED)*DENS) - STEP = GSTEP - NMGOMA = DNMGOM -C----------------------------------------------------------------------- -C In GEANT the initial kinematic parameters : P, E, XMASS. -C The following gets the kinematic parameters of the particle: -C PLIN (P/mc), PLOG (lg(PLIN)), BE2 (velocity/c squared) and -C its path length STEP. -C----------------------------------------------------------------------- - PLIN = P/XXMASS - PLOG = LOG10(PLIN) - BE2 = PLIN**2/(1.+PLIN**2) -C----------------------------------------------------------------------- -C Now we set TRNSMA to correspond to TCUT in GEANT. -C----------------------------------------------------------------------- - TRNSMA = DCUTE*1E6 -C----------------------------------------------------------------------- -C Here is the calculation of the parameters of the oscillators -C----------------------------------------------------------------------- - CALL G3OSCMG -C----------------------------------------------------------------------- -C Here is the calculation of the diffrential distribution -C----------------------------------------------------------------------- - CALL G3DIFMG(DE) - DE = 1E-6*DE -C----------------------------------------------------------------------- - END -#else - SUBROUTINE GASHO_DUMMY - END -#endif diff --git a/StarVMC/geant3/gstrag/gdifmg.F b/StarVMC/geant3/gstrag/gdifmg.F deleted file mode 100644 index d64d3315a74..00000000000 --- a/StarVMC/geant3/gstrag/gdifmg.F +++ /dev/null @@ -1,113 +0,0 @@ -* -* $Id: gdifmg.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gdifmg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:48 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:37 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_ASHO) -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - SUBROUTINE G3DIFMG(DEL) - -#include "geant321/gccuts.inc" -#include "geant321/gcasho.inc" -C----------------------------------------------------------------------- -C This program calculates the final distribution coef- -C ficients until the integral S is more or equal to L2. -C In case of S < L2 or miscalculations due to FORTRAN -C limits DONE = FALSE. -C----------------------------------------------------------------------- -C Update history: 10-08-93 -C -C----------------------------------------------------------------------- - REAL BN(50),BNA(50),L2 - INTEGER FLMAX - PARAMETER (DL2=.1) - DATA CORMAX/80./ -C----------------------------------------------------------------------- -C Initialization steps -C----------------------------------------------------------------------- - XX = 0. - Z = 1. - DO 10 K=1,NOSC - BN(K) = BOSC(K)*IOSC(K) - BNA(K) = BN(K)*(AOSC(K) - 1.) - XX = XX + AOSC(K)*BOSC(K) - 10 CONTINUE -C - FLMAX = 0 - CORR = CORMAX - XX - CMGO(1) = EXP(-CORMAX) - CMGO(2) = CMGO(1)*BNA(1) - Z = Z-(CMGO(1)+CMGO(2))*EXP(CORR) -C----------------------------------------------------------------------- -C Calculation of the current Ci -C----------------------------------------------------------------------- - CALL GRNDM(RNDM,1) - - L2 = DL2 - IF (RNDM.GE.L2) THEN - L2 = RNDM - FLMAX = 1 - ENDIF - DO 40 NMGO=3,NMGOMA - CMGO(NMGO) = CMGO(NMGO - 1)*BNA(1) - DO 30 J = 1,NMGO - 2 - M = NMGO - 1 - J - X = BOSC(1)/J - DO 20 K=2,NOSC - IF(MOD(J+1,IOSC(K)).EQ.0) THEN - L = (J+1)/IOSC(K) - IF(L.EQ.1) THEN - X = X + BNA(K) - ELSE - X = X + BN(K)/(L-1) - ENDIF - ENDIF - 20 CONTINUE - CMGO(NMGO) = CMGO(NMGO) + X*CMGO(M) - 30 CONTINUE - CMGO(NMGO) = CMGO(NMGO)/(NMGO-1) - Z = Z - CMGO(NMGO)*EXP(CORR) - IF (Z.LE.L2) GOTO 50 - 40 CONTINUE - - 50 IF (FLMAX.EQ.1) THEN - DEL = (NMGO-1)*EOSC(1) - ELSE - DEL = (NMGO-1)*EOSC(1)*L2/RNDM - ENDIF - IF (DEL.GE.DCUTE*1E6) DEL = DCUTE*1E6 - - END -#else - SUBROUTINE GDIFMG_DUMMY - END -#endif diff --git a/StarVMC/geant3/gstrag/giasho.F b/StarVMC/geant3/gstrag/giasho.F deleted file mode 100644 index 552297ff18e..00000000000 --- a/StarVMC/geant3/gstrag/giasho.F +++ /dev/null @@ -1,173 +0,0 @@ -* -* $Id: giasho.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: giasho.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:37 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_ASHO) -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - SUBROUTINE G3IASHO -#include "geant321/gcbank.inc" -#include "geant321/gcmate.inc" - DIMENSION E0ELM(100),NSELM(100) - DIMENSION ZSELM(7,100),ESELM(7,100) - DATA E0ELM / - + 0.0204,0.0385,3*0.,0.0738,0.0978,0.1157,0.1248,0.1338, - + 3*0.,0.1745,0.1791,2*0.,0.1816,12*0.,0.3018,0.2806, - + 0.2906,2*0.,0.3408,12*0.,0.4823,4*0.,0.5088,46*0. / - DATA NSELM / - + 1,1,3*0,2,2,2,2,2,3*0,3,3,2*0,3,12*0,4,4,4,2*0,4,12*0, - + 5,4*0,5,46*0/ - DATA ZSELM / - + 1.,0.,0.,0.,0.,0.,0.,2.,0.,0.,0.,0.,0.,0.,21*0., - + 4.,2.,0.,0.,0.,0.,0.,5.,2.,0.,0.,0.,0.,0., - + 6.,2.,0.,0.,0.,0.,0.,7.,2.,0.,0.,0.,0.,0., - + 8.,2.,0.,0.,0.,0.,0.,21*0., - + 4.,8.,2.,0.,0.,0.,0.,5.,8.,2.,0.,0.,0.,0.,14*0., - + 8.,8.,2.,0.,0.,0.,0.,84*0., - + 3.,18.,8.,2.,0.,0.,0.,4.,18.,8.,2.,0.,0.,0., - + 5.,18.,8.,2.,0.,0.,0.,14*0., - + 8.,18.,8.,2.,0.,0.,0.,84*0., - + 5.,18.,16.,8.,2.,0.,0.,28*0., - + 8.,18.,18.,8.,2.,0.,0.,322*0./ -*23456789_123456789_123456789_123456789_123456789_123456789_123456789_12 - DATA ESELM / 0.01360,0.,0.,0.,0.,0.,0.,0.02459,0.,0.,0.,0.,0.,0., - +21*0., 0.01367,0.288,0.,0.,0.,0.,0.,0.01662,0.4030,0.,0.,0.,0., - +0., 0.01742,0.5380,0.,0.,0.,0.,0.,0.02174,0.6940,0.,0.,0.,0.,0., - +0.02643,0.8701,0.,0.,0.,0.,0.,21*0., .01047,.1147,1.844,0.,0.,0., - +0.,.01247,.1467,2.148,0.,0.,0.,0., 14*0.,0.01845,0.2666,3.206,0., - +0.,0.,0.,84*0., 0.00899,0.04480,1.169,10.37,0.,0.,0., 0.01063, - +0.06190,1.274,11.11,0.,0.,0., 0.01291,0.07953,1.384,11.87,0.,0., - +0.,14*0., 0.01676,0.1412,1.750,14.33,0.,0.,0.,84*0., 0.00720, - +0.04012,0.5682,3.908,27.93,0.,0.,28*0., 0.01466,0.1006,0.8097, - +5.030,34.570,0.,0.,322*0./ -* -*----------------------------------------------------------------------- -* - DIMENSION ZSMED(50),ESMED(50) -C----------------------------------------------------------------------- -C - JMA = LQ(JMATE-NMAT) - JMIXT = LQ(JMA-5) - NCOMP = ABS(Q(JMA+11)) - AMED = 0. - ZMED = 0. - E0CAL = 0. !Sum of Z(i)*log(I(i)) - E0MED = 0. - NSMED = 0 - - DO 20 I = 1,NCOMP - IF(NCOMP.GT.1) THEN - IZ = Q(JMIXT+NCOMP+I)+0.5 - WEIGHT = Q(JMIXT+2*NCOMP+I)/Q(JMIXT+I) - E0MED = E0MED + Q(JMIXT+NCOMP+I)*WEIGHT*LOG(E0ELM(IZ)) - ZMED = ZMED + Q(JMIXT+NCOMP+I)*WEIGHT - AMED = AMED + Q(JMIXT+I)*WEIGHT - ELSE - IZ = Z+0.5 - E0MED = E0ELM(IZ) - ZMED = Z - AMED = A - ENDIF - DO 10 J = 1,NSELM(IZ) - NSMED = NSMED + 1 - IF(NCOMP.GT.1) THEN - ZSMED(NSMED) = ZSELM(J,IZ)*WEIGHT - ELSE - ZSMED(NSMED) = ZSELM(J,IZ) - ENDIF - ESMED(NSMED) = ESELM(J,IZ) - E0CAL = E0CAL + ZSMED(NSMED)*LOG(ESELM(J,IZ)) - 10 CONTINUE - 20 CONTINUE - IF (NCOMP.GT.1) E0MED = EXP(E0MED/ZMED) - E0CAL = EXP(E0CAL/ZMED) - ALFA = E0MED/E0CAL -C----------------------------------------------------------------------- -C The following sets ZSMED and ESMED in the order of increase -C of ESMED. -C----------------------------------------------------------------------- - DO 40 I = 1,NSMED - 1 - IMIN = I - EMIN = ESMED(I) - DO 30 J = I + 1,NSMED - IF (EMIN.LE.ESMED(J)) GOTO 30 - EMIN = ESMED(J) - IMIN = J - 30 CONTINUE - IF (I.EQ.IMIN) GOTO 40 - X = ESMED(I) - Y = ZSMED(I) - ESMED(I) = ESMED(IMIN) - ZSMED(I) = ZSMED(IMIN) - ESMED(IMIN) = X - ZSMED(IMIN) = Y - 40 CONTINUE -C----------------------------------------------------------------------- -C The following combines the first smallest oscillators whose -C integer relative potentials are equal to 1. -C----------------------------------------------------------------------- - ZMIN = 0. - EMIN = 0. - IMIN = 1 - DO 50 I = 1,NSMED - J = ESMED(I)/ESMED(1) + 0.5 - IF (J.GT.1) GOTO 60 - ZMIN = ZMIN + ZSMED(I) - EMIN = EMIN + ZSMED(I)*LOG(ESMED(I)) - IMIN = I - 50 CONTINUE - 60 ESMED(1) = EXP(EMIN/ZMIN) - ZSMED(1) = ZMIN - DO 70 I = IMIN + 1,NSMED - ZSMED(I - IMIN + 1) = ZSMED(I) - ESMED(I - IMIN + 1) = ESMED(I) - 70 CONTINUE - NSMED = NSMED - IMIN + 1 - JASHO = LQ(JMA-20) -* -* *** Store parameters of ASHO in material bank 20 - Q(JASHO+1) = NSMED - Q(JASHO+2) = ZMED - Q(JASHO+3) = AMED - Q(JASHO+4) = ALFA - Q(JASHO+5) = E0MED - DO 80 KMED=1,NSMED - Q(JASHO+5+KMED) = ZSMED(KMED) - Q(JASHO+5+NSMED+KMED) = ESMED(KMED) - 80 CONTINUE - NLEFT = 2*NSMED - 100 - CALL MZPUSH(IXCONS,JASHO,0,NLEFT,'I') - END -#else - SUBROUTINE GIASHO_DUMMY - END -#endif diff --git a/StarVMC/geant3/gstrag/gkokri.F b/StarVMC/geant3/gstrag/gkokri.F deleted file mode 100644 index bf28619c8a3..00000000000 --- a/StarVMC/geant3/gstrag/gkokri.F +++ /dev/null @@ -1,118 +0,0 @@ -* -* $Id: gkokri.F,v 1.1.1.2 2009/02/01 17:10:32 fisyak Exp $ -* -* $Log: gkokri.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:32 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:20 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:37 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - FUNCTION G3KOKRI(E,EMINEV,EMAXEV) -C. -C. ****************************************************************** -C. * * -C. * Input energy in eV, Sandia tables in keV * -C. * * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gc10ev.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION EINV,ECUR,ONE,RES,ZERO,EBEG,EEND - DOUBLE PRECISION ALPH,BETA,GAMM,E1,E2,G3PSCIN,POLE - DOUBLE PRECISION EMAX,EMIN,REST -#endif - PARAMETER (ONE=1,ZERO=0) -C. -C. ------------------------------------------------------------------ -C. - REST = ZERO - EMAX = EMAXEV*1E-3 - EMIN = EMINEV*1E-3 - ECUR = E*1E-3 - EINV = ONE/ECUR -C Use Sandia data - JPHXS = LQ(JPHOT-1) - NZ = Q(JPHXS+1) - JWEIGH = JPHXS+1+2*NZ - DO 30 JZ=1,NZ - RES = ZERO - EBEG = EMIN - WEIGHT = Q(JWEIGH+JZ) - JPHFN = LQ(JPHXS-JZ) - IPOINT = JPHFN+1 - IMAX = Q(IPOINT) - IPOINT = IPOINT-4 - DO 10 I = 1,IMAX - IPOINT = IPOINT+5 - EEND = Q(IPOINT) - IF(EEND.GT.EMIN) THEN - E1 = MAX(EBEG,EMIN) - E2 = MIN(EEND,EMAX) - J = IPOINT+1 - IF(ECUR.LE.E2.AND.ECUR.GE.E1) THEN -* -* *** The pole of the integration is in this interval - EPS1 = (ECUR-EBEG)/ECUR - EPS2 = (EEND-ECUR)/EEND - IF(EPS1.LT.EPS2) THEN -* -* *** First the pole and then a simple integration - ALPH = ONE-EPS1 - E1 = ECUR/ALPH - E2 = EEND - ELSE -* -* *** First a simple integration and then the pole - ALPH = ONE-EPS2 - E1 = EBEG - E2 = ECUR*ALPH - ENDIF - BETA = -LOG(ALPH) - GAMM = ONE/ALPH - POLE = EINV*(Q(J)*BETA+EINV*( Q(J+1)*(GAMM-ALPH)+ - + EINV*( Q(J+2)*(0.5*GAMM**2+BETA-0.5*ALPH**2)+EINV* - + Q(J+3)*(GAMM**3/3+GAMM-ALPH-ALPH**3/3)))) - RES = RES - POLE - ENDIF -* -* *** This is a normal integration - RES = RES + G3PSCIN(E1,E2,ECUR,Q(J)) - ENDIF - EBEG = EEND - IF(EBEG.GE.EMAX) GO TO 20 - 10 CONTINUE - 20 REST = REST+WEIGHT*RES - 30 CONTINUE -C RES value is in cm**2/(g keV) - G3KOKRI = REST*1E-6*A/AVO -C Now in Megabarns/eV -C - END diff --git a/StarVMC/geant3/gstrag/goscin.F b/StarVMC/geant3/gstrag/goscin.F deleted file mode 100644 index 4f7069fb68b..00000000000 --- a/StarVMC/geant3/gstrag/goscin.F +++ /dev/null @@ -1,93 +0,0 @@ -* -* $Id: goscin.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: goscin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:49 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:38 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - FUNCTION G3OSCIN(EIN1EV,EIN2EV) -C. -C. ****************************************************************** -C. * * -C. * Input energy in eV, Sandia tables in keV * -C. * * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gc10ev.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION ONE,RES,ZERO,EIN1,EIN2,REST,EBEG,EEND - DOUBLE PRECISION E1IN,E2IN,TWO,THREE,C1,C2,C3,C4 -#endif - PARAMETER (ZERO=0,ONE=1,TWO=2,THREE=3) -C. -C. ------------------------------------------------------------------ -C. - REST = ZERO - EIN1 = EIN1EV*1E-3 - EIN2 = EIN2EV*1E-3 -C Use Sandia data - JPHXS = LQ(JPHOT-1) - NZ = Q(JPHXS+1) - JWEIGH = JPHXS+1+2*NZ - DO 30 JZ=1,NZ - RES = ZERO - EBEG = TENEV - WEIGHT = Q(JWEIGH+JZ) - JPHFN = LQ(JPHXS-JZ) - IPOINT = JPHFN+1 - IMAX = Q(IPOINT) - IPOINT = IPOINT-4 - DO 10 I = 1,IMAX - IPOINT = IPOINT+5 - EEND = Q(IPOINT) - IF(EIN2.GT.EBEG.AND.EIN1.LT.EEND) THEN - E1IN = ONE/MAX(EBEG,EIN1) - E2IN = ONE/MIN(EEND,EIN2) - J = IPOINT+1 - C1 = -Q(J ) - C2 = -Q(J+1) - C3 = -Q(J+2)/TWO - C4 = -Q(J+3)/THREE - RES = RES - + +C1*LOG(E2IN)+E2IN*(C2+E2IN*(C3+E2IN*C4)) - + -C1*LOG(E1IN)-E1IN*(C2+E1IN*(C3+E1IN*C4)) - ENDIF - EBEG = EEND - 10 CONTINUE - 20 REST = REST+WEIGHT*RES - 30 CONTINUE -C RES value is in cm**2/(g keV) - G3OSCIN = REST*1E-3*A/AVO -C Now in Megabarns/eV -C - END diff --git a/StarVMC/geant3/gstrag/goscmg.F b/StarVMC/geant3/gstrag/goscmg.F deleted file mode 100644 index 0740de25666..00000000000 --- a/StarVMC/geant3/gstrag/goscmg.F +++ /dev/null @@ -1,98 +0,0 @@ -* -* $Id: goscmg.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: goscmg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:38 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_ASHO) -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : -C - SUBROUTINE G3OSCMG - -#include "geant321/gcmate.inc" -#include "geant321/gcasho.inc" -C----------------------------------------------------------------------- -C This program calculates the parameters of the oscillators. -C The input data are in the GCASHO. The lowest poten- -C tials are convoluted to escape unreasonably high accuracy. -C----------------------------------------------------------------------- -C Update history: 10-8-93 -C -C----------------------------------------------------------------------- - REAL KSI0 - PARAMETER (ENERR=0.02,TWOELM=2*511) -C----------------------------------------------------------------------- -C Convolution of the first shells -C----------------------------------------------------------------------- - C1 = 153.6*STEP*DENS/(BE2*AMED) - C2 = 2.*LOG(PLIN)-BE2 - KSI0 = C1*ZMED - X = 2.*LOG(E0MED/PLASM) + 1. - CALL G3STCOR(X,E0MED,PLOG,DENS,D) - A0 = LOG(TWOELM*TRNSMA/E0MED**2)+C2-D - EMEAN = KSI0*A0 - DO 10 I = 1,NSMED - IF (ESMED(I).GT.EMEAN*ENERR/ALFA) GOTO 20 - 10 CONTINUE - 20 J = MAX(I - 1,1) - S1 = 0. - Z1 = 0. - DO 30 I = 1,J - S1 = S1 + LOG(ESMED(I))*ZSMED(I) - Z1 = Z1 + ZSMED(I) - 30 CONTINUE - S1 = EXP(S1/Z1) - NOSC = NSMED - J + 1 - DO 40 I = 2,NOSC - X = ESMED(I + J - 1)/S1 - IOSC(I) = X + 0.5 - EOSC(I) = S1*IOSC(I)*ALFA - ZOSC(I) = ZSMED(I + J - 1) - 40 CONTINUE - EOSC(1) = S1*ALFA - IOSC(1) = 1 - ZOSC(1) = Z1 -C----------------------------------------------------------------------- -C Calculation of the oscillator parameters -C----------------------------------------------------------------------- - C3 = C2 + 0.423 - DO 50 I = 1,NOSC - X = C1*ZOSC(I) - BOSC(I) = X/EOSC(I) - X = 2.*LOG(EOSC(I)/PLASM)+1. - CALL G3STCOR(X,EOSC(I),PLOG,DENS,D) - AOSC(I) = LOG(TWOELM/EOSC(I)) +C3 -D - 50 CONTINUE - END -#else - SUBROUTINE GOSCMG_DUMMY - END -#endif diff --git a/StarVMC/geant3/gstrag/gpscin.F b/StarVMC/geant3/gstrag/gpscin.F deleted file mode 100644 index 847dec98b39..00000000000 --- a/StarVMC/geant3/gstrag/gpscin.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: gpscin.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gpscin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:38 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - FUNCTION G3PSCIN(EBEG,EEND,ECUR,COEFF) -C. -C. ****************************************************************** -C. * * -C. ****************************************************************** -C. -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif - REAL COEFF(4) - PARAMETER (ONE=1) -C. -C. ------------------------------------------------------------------ -C. - YBEG = EBEG/ECUR - YEND = EEND/ECUR - YBEGIN = ONE/YBEG - YENDIN = ONE/YEND -* - EINV = ONE/ECUR - C1 = COEFF(1)*EINV - C2 = COEFF(2)*EINV**2 - C3 = COEFF(3)*EINV**3 - C4 = COEFF(4)*EINV**4 -* - CONS1 = 0.5*(C1+C3) - CONS2 = C2+C4 - CONS3 = 0.5*CONS2 - CONS4 = 0.5*C3 - CONS5 = C4/3 -* -* VALBEG = CONS1*F1(YBEG)+CONS3*F2(YBEG)+ -* + YBEGIN*(CONS2+YBEGIN*(CONS4+YBEGIN*CONS5)) -* VALEND = CONS1*F1(YEND)+CONS3*F2(YEND)+ -* + YENDIN*(CONS2+YENDIN*(CONS4+YENDIN*CONS5)) -* -* G3PSCIN = VALEND-VALBEG - G3PSCIN = - + CONS1*LOG(ABS((YEND**2-1)*YBEG**2/((YBEG**2-1)*YEND**2)))+ - + CONS2*(YENDIN-YBEGIN)+ - + CONS3*LOG(ABS((1-YEND)*(1+YBEG)/((1-YBEG)*(1+YEND))))+ - + CONS4*(YENDIN**2-YBEGIN**2)+CONS5*(YENDIN**3-YBEGIN**3) -* - END diff --git a/StarVMC/geant3/gstrag/gstcor.F b/StarVMC/geant3/gstrag/gstcor.F deleted file mode 100644 index 80bb7033319..00000000000 --- a/StarVMC/geant3/gstrag/gstcor.F +++ /dev/null @@ -1,92 +0,0 @@ -* -* $Id: gstcor.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gstcor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:39 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - SUBROUTINE G3STCOR(CC,POT,X,DENS,DELTA) - -C. -C. ***************************************************************** -C. * * -C. * Sternheimer correction as computed in G3DRELX * -C. * * -C. * ==>Called by : * -C. * Author L.Urban ********* * -C. * * -C. ***************************************************************** -* -* condensed material ? ( dens .gt. 0.05 ? ) - IF(DENS.GT.0.05) THEN -* IF(POT.LT.1.E-7) THEN (POT was in GeV, now in keV) - IF(POT.LT.0.1) THEN - IF(CC.LT.3.681) THEN - X0=0.2 - ELSE - X0=0.326*CC-1. - ENDIF - X1=2. - ELSE - IF(CC.LT.5.215) THEN - X0=0.2 - ELSE - X0=0.326*CC-1.5 - ENDIF - X1=3. - ENDIF -* gas ? ( dens . le . 0.05 ? ) - ELSE - IF(CC.LE.12.25) THEN - IP=INT((CC-10.)/0.5)+1 - IF(IP.LT.0) IP=0 - IF(IP.GT.4) IP=4 - X0=1.6+0.1*FLOAT(IP) - X1=4. - ELSE - IF(CC.LE.13.804) THEN - X0=2. - X1=5. - ELSE - X0=0.326*CC-2.5 - X1=5. - ENDIF - ENDIF - ENDIF -* - XA=CC/4.606 - XM=3. - AA=4.606*(XA-X0)/(X1-X0)**XM -* - DELTA=0. - IF(X.GT.X0) THEN - DELTA=4.606*X-CC - IF(X.LT.X1) DELTA=DELTA+AA*(X1-X)**XM - ENDIF - - END diff --git a/StarVMC/geant3/gstrag/gstdn.F b/StarVMC/geant3/gstrag/gstdn.F deleted file mode 100644 index a788d43751f..00000000000 --- a/StarVMC/geant3/gstrag/gstdn.F +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: gstdn.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gstdn.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:39 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - FUNCTION G3STDN(LGE) -* ******************************************************************** -* * * -* * dN^2/dxdE function for the preparation of the table as in * -* * Grishin,Ermilova,Kotelnikov,NIM A307(1991),273 * -* * * -* * ==> Called by : G3STTAB * -* * Author : P. Nevski * -* * * -* ******************************************************************** -#include "geant321/gconsp.inc" -#include "geant321/gcstra.inc" -* - REAL LGE - COMPLEX I,CEPS1,C1,C2 - SEXP(X) = EXP(MAX(X,-99.)) -* -* ------------------------------------------------------------------ - I=(0.,1.) - E=EXP(LGE) -* -* Epsilon-1 - E0 = MAX(LGE,EMIN) - E2INV = 1/E**2 - CEPS1 = CMPLX(G3STINT(LGE,EMM,EPSR,NTAB)*E2INV, - + SEXP(G3STINT(E0,EMM,EPSI,NTAB))) - C1 = 1/GAMMA2-CEPS1*BETA2 - C2 = C1/(1+CEPS1)*LOG(2*BETA2*MEEV/(E*C1)) - G3STDN = S2/BETA2 * (-2*AIMAG(C2)/(WP2*PI) + (1-SEXP(G3STINT(E0 - +, EMM,FINT,NTAB)))*E2INV) * E - END diff --git a/StarVMC/geant3/gstrag/gstini.F b/StarVMC/geant3/gstrag/gstini.F deleted file mode 100644 index 0fb09d85826..00000000000 --- a/StarVMC/geant3/gstrag/gstini.F +++ /dev/null @@ -1,138 +0,0 @@ -* -* $Id: gstini.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gstini.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:39 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - SUBROUTINE G3STINI -C. -C. ****************************************************************** -C. * * -C. * Initialization of tables for energy loss straggling in * -C. * thin gas layers * -C. * * -C. * ==> Called by : G3PHYSI * -C. * Authors : K. Lassila-Perini, I. Gavrilenko, P. Nevski * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcstra.inc" -C... - DIMENSION GAMTT(21),FN(300),EN(300) - DIMENSION ENOLD(300) -C... - DATA GAMTT - + / 1.1 , 1.2 , 1.3 , 1.5 , 1.8 , - + 2.0 , 2.5 , 3.0 , 4.0 , 7.0 , - + 10.0 , 20.0 , 40.0 , 70.0 , 100.0 , - + 300.0 , 600.0 , 1000.0 , 3000.0 , 10000.0 , - + 50000.0 / -C... - DO 10 I=1,21 - GAMLOG(I) = LOG(GAMTT(I)) - 10 CONTINUE -* - JPHXS = LQ(JPHOT-1) -* NZ = number of elements in the cross-section bank - NZ = Q(JPHXS+1) -* NI = number of intervals - NI = Q(JPHXS+2+3*NZ) - NFACT = 140/NI - EMAX = LOG(DCUTE*1E9) - DO 30 NNP = 1,NI - EM(NNP) = LOG(1E3*Q(JPHXS+2+3*NZ+1+(NNP-1)*5)) - IF (NNP.NE.NI) THEN - EM2 = LOG(1E3*Q(JPHXS+2+3*NZ+1+NNP*5)) - ELSE - EM2 = EMAX - ENDIF - EESTE = (EM2-EM(NNP))/NFACT - DO 20 NPNP=1,NFACT - EMM((NNP-1)*NFACT+NPNP) = EM(NNP) + (NPNP-1)*EESTE - IF (NPNP.EQ.1.AND.NNP.NE.1) - + EMM((NNP-1)*NFACT+NPNP) = EM(NNP) + .3*EESTE - IF (EMM((NNP-1)*NFACT+NPNP).GT.EMAX) THEN - NP = (NNP-1)*NFACT+NPNP -1 - GOTO 40 - ENDIF - 20 CONTINUE - 30 CONTINUE - 40 EPS = .001 -* - CALL G3STXIN -* -* -* Create and fill the banks. The number of intervals is decreased -* in GSTTAB. It is supposed that the EN vector is the same for -* every GAM, if not en error message is printed. -* - DO 80 I = 1,21 - GAM = GAMTT(I) - CALL G3STTAB(GAM,NT,EN,FN) - IF (I.EQ.1) THEN - CALL MZBOOK(IXCONS,JTSTCO,JTSTRA,-1,'STCO',0,0,NT*21,3,-1) - CALL MZBOOK(IXCONS,JTSTEN,JTSTRA,-2,'STEN',0,0,NT,3,-1) - DO 50 II=1,NT - ENOLD(II) = EN(II) - 50 CONTINUE - ELSE - DO 60 III=1,NT - IF (ENOLD(III).NE.EN(III)) PRINT *,'ERROR in GSTINI ' - + //' (straggling): Energy vector EN is ' - + //'changing in GSTTAB' - 60 CONTINUE - ENDIF - DO 70 J=1,NT - Q(JTSTCO+(J-1)*21+I) = FN(NT+1-J) - 70 CONTINUE - 80 CONTINUE -* -* *** - DO 90 J=1,NT - Q(JTSTEN+J) = EN(NT+1-J) - 90 CONTINUE -* - NNWE = 0 - DO 110 J=1,NT - DO 100 I=1,21 - ANL1 = Q(JTSTCO+(J-1)*21+I) - IF(ANL1.LE.0.) THEN - GO TO 120 - ENDIF - Q(JTSTCO+(J-1)*21+I) = LOG(ANL1) - 100 CONTINUE - NNWE = NNWE+1 - 110 CONTINUE - 120 Q(JTSTRA+1) = NNWE -* - END diff --git a/StarVMC/geant3/gstrag/gstint.F b/StarVMC/geant3/gstrag/gstint.F deleted file mode 100644 index 9f6037c97ff..00000000000 --- a/StarVMC/geant3/gstrag/gstint.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: gstint.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gstint.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:39 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - FUNCTION G3STINT(X,A,F,N) -* -* Simple linear interpolation -* - DIMENSION A(N),F(N) - DATA K1,K2,NO/0,0,0/ -* -* Check (N==NO) & (A(K1)1 -* - IF (N.LE.1) THEN - G3STINT=F(1) - GO TO 999 - ENDIF - K1=1 - K2=N - NO=N -* -* Loop over K2-K1>1 -* - 10 K=(K1+K2)/2 -* -* Check A(K) depends on this cut, -* -* (2) Number of collisions is allowed to be 0. -* In the original code the minimum number of collisions is forced to be 1 -* and depends strongly on the step-size. -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:39 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - FUNCTION G3STREN (GAMMA,ECUT,STEP) -C. ****************************************************************** -C. * * -C. * Simulation of energy loss straggling in thin layers. * -C. * Sampling is done from the tables which are prepared * -C. * in GSTINI. * -C. * * -C. * ==> Called by : G3TELEC, G3THADR, G3TMUON * -C. * Authors : K. Lassila-Perini, I. Gavrilenko * -C. * * -C. ****************************************************************** -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcstra.inc" -C - DIMENSION ANGL(200),RNDM(2) -C... -* Reading the tables, if the medium has not changed - NP = Q(JTSTRA+1) -* - EC = 1.E9*ECUT - GSTLOC = 0. - IF(STEP.LE.0.) GO TO 90 -C... -* Interpolate the tables for the current gamma-factor - GAML = LOG(GAMMA) - IF(GAML.GT.GAMLOG(21)) THEN - DO 10 J=1,NP - ANGL(J)=Q(JTSTCO+J*21) - 10 CONTINUE - ELSE -C... - DO 20 I = 2,21 - IF(GAML.LE.GAMLOG(I)) THEN - DGG = (GAML-GAMLOG(I-1))/(GAMLOG(I)-GAMLOG(I-1)) - IP=I - GO TO 30 - ENDIF - 20 CONTINUE - 30 DG1=1.-DGG -C... - DO 40 K = 1,NP - ANGL(K) = Q(JTSTCO+(K-1)*21+IP-1)*DG1+ - + Q(JTSTCO+(K-1)*21+IP )*DGG - 40 CONTINUE - ENDIF -* -* The sampling from the tables - ANMIN = EXP(ANGL(NP)) - ANMAX = EXP(ANGL( 1)) -* - DAN = ANMAX-ANMIN - AMU = DAN*STEP - CALL G3POISS(AMU,N,1) -* NICOLL = MAX(N,1) - NICOLL = N - DO 80 I = 1,NICOLL - 50 K1 = 1 - K2 = NP - CALL GRNDM(RNDM,1) - R = LOG(RNDM(1)*DAN+ANMIN) - 60 K = (K1+K2)/2 - IF(R.GT.ANGL(K)) THEN - K2=K - ELSEIF(R.LT.ANGL(K)) THEN - K1=K - ELSE - E=Q(JTSTEN+K) - GOTO 70 - ENDIF - IF(K2-K1.GT.1 ) GO TO 60 -* - E = Q(JTSTEN+K2)+(R-ANGL(K2))* - + (Q(JTSTEN+K1)-Q(JTSTEN+K2))/(ANGL(K1)-ANGL(K2)) - 70 EE = EXP(E) - IF(EE.GT.EC) GO TO 50 -* -* *** Total energy calculation - GSTLOC = GSTLOC+EE - 80 CONTINUE -* - 90 G3STREN = GSTLOC*1.E-9 - END diff --git a/StarVMC/geant3/gstrag/gsttab.F b/StarVMC/geant3/gstrag/gsttab.F deleted file mode 100644 index 10721046beb..00000000000 --- a/StarVMC/geant3/gstrag/gsttab.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: gsttab.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gsttab.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:39 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - SUBROUTINE G3STTAB(GAMMA,NT,EN,FN) -C ******************************************************************** -C * * -C * dN^2/dEdx table for a gamma factor * -C * * -C * ==> Called by : G3STINI * -C * Authors : P. Nevski * -C * * -C ******************************************************************** -#include "geant321/gcstra.inc" - EXTERNAL G3STDN -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION DGAMM, DGAM2, DBET2 -#endif - - DIMENSION EN(1),FN(1) - PARAMETER (RENER=0.05) -* -* ------------------------------------------------------------------ -* -C ---- final tables for dN/dx integral vs Energy for a gamma ------ - DGAMM = GAMMA - DGAM2 = DGAMM**2 - GAMMA2= DGAM2 - DBET2 = 1-1/DGAM2 - BETA2 = DBET2 - S=0 - NT=0 - ES=0 - EI=EMAX -C Loop over I=NTAB,1,-1 - DO 10 I=NTAB,1,-1 - EO=EI - EI=EMM(I) - S=S+G3XGINT(G3STDN,EI,EO,EPPS) -C Skip Unless ABS(ES-EI)>RENER \ I==1 - IF ((ABS(ES-EI).LE.RENER).AND.(I.NE.1))GO TO 10 - ES=EI - NT=NT+1 - EN(NT)=EI - FN(NT)=S - 10 CONTINUE - DNDX=S - END diff --git a/StarVMC/geant3/gstrag/gstxin.F b/StarVMC/geant3/gstrag/gstxin.F deleted file mode 100644 index f0367ea422b..00000000000 --- a/StarVMC/geant3/gstrag/gstxin.F +++ /dev/null @@ -1,136 +0,0 @@ -* -* $Id: gstxin.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gstxin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.3 2006/07/10 09:11:26 brun -* From Andreas Morsch and Alexandru Bercuci: -* Corrections in the PAI implementation: -* (1) The upper energy limit for integrating over the photo-absorption -* cross-section is set to infinity. -* In the original code the upper limit is the cut-off for delta-ray -* production from electrons and depends on this cut, -* -* (2) Number of collisions is allowed to be 0. -* In the original code the minimum number of collisions is forced to be 1 -* and depends strongly on the step-size. -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:39 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - SUBROUTINE G3STXIN -* ******************************************************************** -* * * -* * Initialization of the values needed in computation of * -* * dN^2/dE/dx as in * -* * Grishin,Ermilova,Kotelnikov,NIM A307(1991),273 * -* * PLN 18.04.92, data tables of ILG * -* * * -* * ==> Called by : G3STINI * -*. * Authors : P. Nevski, K. Lassila-Perini * -* * * -* ******************************************************************** -#include "geant321/gconsp.inc" -#include "geant321/gcmate.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcstra.inc" -* - REAL NAV,MB,ME,NE -* -* 1 ev to erg [erg] - PARAMETER (ERG=1.60218E-12) -* 1mb to cm2 - PARAMETER (MB=1E-18) -* Electron mass [g] - PARAMETER (ME=9.10943E-28) -* Electron charge[ESU] - PARAMETER (QE=4.80321E-10) -* Plank constant[erg] - PARAMETER (H=1.05457E-27) -* -* ------------------------------------------------------------------ -* -* ----- physic constants - EPPS=0.01 - EMIN=EM(1)-EPPS - EMAX=LOG(1.E13) -* Integration up to infinity -* - NAV = AVO*1.E24 -* -* Electron mass in ev - MEEV=ME*CLIGHT**2/ERG -* -* electron radius[cm] - R0=QE**2/(ME*CLIGHT**2) -* -* Plank constant in ev - HE=H*CLIGHT/ERG -* -* Gas density - RO=DENS -* -* Electron density - NE=NAV*Z/A*RO -* -* plasma freq**2 [ev] - WP2=4*PI*R0*NE*HE**2 -* -* x-section to F.osc - S1=MB/(2*PI**2*R0*HE*Z) -* -* dN/dx scale - S2=2*PI*R0*NE*QE**2/ERG -* - NTAB = NP - SFINT=0 -* -* Integration of the oscillator strength function -* (photoelectric cross-section) - DO 10 IE=NTAB,1,-1 - E1 = EMM(IE) - IF (IE.EQ.NTAB) THEN - E2 = EMAX - ELSE - E2 = EMM(IE+1) - ENDIF - SFINT = SFINT+ G3OSCIN(EXP(E1),EXP(E2)) - FINT(IE)=SFINT - 10 CONTINUE - -* -* Normalization of the integrated cross-section - DO 20 IE=1,NTAB - FINT(IE)=LOG(FINT(IE)/SFINT) - 20 CONTINUE -* -* Calculation of the real and imaginary parts of the -* complex dielectric constant - DO 30 IE=1,NTAB - E=EXP(EMM(IE)) - EPSI(IE)=LOG(WP2*PIBY2*G3PHSG2(E*1E-9)/(SFINT*E)) -* scaled by - EPSR(IE)=WP2*G3KOKRI(E,EXP(EMIN),EXP(EMAX))*E/SFINT - 30 CONTINUE - END diff --git a/StarVMC/geant3/gstrag/gxgint.F b/StarVMC/geant3/gstrag/gxgint.F deleted file mode 100644 index 3c5e73c7ca2..00000000000 --- a/StarVMC/geant3/gstrag/gxgint.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: gxgint.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gxgint.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:39 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.25 by S.Giani -*-- Author : - FUNCTION G3XGINT(EXT,A,B,EPS) -* -* Gauss integration routine -* -#include "geant321/gcunit.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION OTB,U1,U2,W1,W2,Y -#endif - EXTERNAL EXT - PARAMETER (U1=.3399810,U2=.8611363,W1=.6521452,W2=.3478548) -* -*----------------------------------------------------------------------- -* - N = 5 - OTB = 0 - DHALF = (B-A)/N - 10 CONTINUE -* -* Convergence loop -* - Y = OTB - OTB = 0 - D = DHALF - DHALF = 0.5*D - CENTX = A-DHALF - D1 = U1*DHALF - D2 = U2*DHALF -* -* Piecewise integration loop -* - DO 20 I=1,N - CENTX=CENTX+D - OTB = OTB +W2*(EXT(CENTX-D2)+EXT(CENTX+D2)) +W1*(EXT(CENTX-D1) - + +EXT(CENTX+D1)) - 20 CONTINUE - OTB=OTB*DHALF -* - IF(EPS.GT.0.AND.ABS(OTB-Y).GT.ABS(EPS*OTB)) THEN - N = 2*N - IF (N.GT.100 000) THEN -* -* Check N>100 000 -* - WRITE(CHMAIL,10000) EPS, ABS((OTB-Y)/OTB) - CALL GMAIL(1,0) - GO TO 30 - END IF - GOTO 10 - ENDIF -* - 30 CONTINUE - G3XGINT=OTB -10000 FORMAT('*** G3XGINT : required precision ',G10.3, - + ' obtained precision ',G10.3) - END diff --git a/StarVMC/geant3/gtrak/garndm.F b/StarVMC/geant3/gtrak/garndm.F deleted file mode 100644 index f50279ff47e..00000000000 --- a/StarVMC/geant3/gtrak/garndm.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: garndm.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: garndm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:50 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:40 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - FUNCTION GARNDM(DUMMY) -C. -C. ****************************************************************** -C. * * -C. * GARNDM = -LOG(RNDM(DUMMY)) * -C. * * -C. * ==>Called by : GBREME,GBREMM,GCOMP,GDRAY,GHADRO,GHEISH, * -C. * GLANDO,GPAIRG,GPAIRM,GRAYL,GLTRAC * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION RNDM(1) -C. -C. ------------------------------------------------------------------ -C. - CALL GRNDM(RNDM,1) - GARNDM=-LOG(RNDM(1)) - END diff --git a/StarVMC/geant3/gtrak/gdebug.F b/StarVMC/geant3/gtrak/gdebug.F deleted file mode 100644 index f624a8f3afc..00000000000 --- a/StarVMC/geant3/gtrak/gdebug.F +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: gdebug.F,v 1.3 2009/02/01 17:29:51 fisyak Exp $ -* -* $Log: gdebug.F,v $ -* Revision 1.3 2009/02/01 17:29:51 fisyak -* Resolve conflicts -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.2 2006/08/17 13:38:59 fisyak -* Clean up -* -* Revision 1.3 2006/03/17 21:45:00 brun -* Add all HIGZ routines as dummy -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:40 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3DEBUG -* -************************************************************************ -* Standard GEANT debug * -* * -* ==>Called by : ,GUSTEP * -* Author R.Brun ********* * -************************************************************************ -* -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gctrak.inc" -* -* Debug/plot event - IF(IDEBUG.NE.0) THEN - IF((ISWIT(2).EQ.1).OR.(ISWIT(3).EQ.1) - + .OR.(ISWIT(2).EQ.4)) CALL G3SXYZ - IF (ISWIT(2).EQ.2) CALL G3PCXYZ - IF (ISWIT(1).EQ.2) CALL G3PGKIN - IF (ISWIT(2).EQ.3) THEN - IF(ISWIT(4).EQ.3.AND.CHARGE.EQ.0.)RETURN - CALL GDCXYZ -* CALL IGSA(0) - ELSEIF(ISWIT(2).EQ.4) THEN - IF(ISTOP.NE.0) CALL GDTRAK(' ') - ENDIF - ENDIF - END - diff --git a/StarVMC/geant3/gtrak/gekbin.F b/StarVMC/geant3/gtrak/gekbin.F deleted file mode 100644 index 19b84d539b0..00000000000 --- a/StarVMC/geant3/gtrak/gekbin.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: gekbin.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gekbin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.2 1998/01/21 16:44:37 gunter -* Add protection of iekbin getting too big due to numerical inacurecies -* -* Revision 1.1.1.1 1995/10/24 10:21:40 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3EKBIN -C. -C. ****************************************************************** -C. * * -C. * Routine to find bin number in kinetic energy table * -C. * stored in ELOW(NEKBIN) * -C. * * -C. * ==>Called by : G3BREME,G3BREMM,G3COMP,G3DRAY,G3HEISH,G3PAIRM, * -C. * G3LTRAC,G3TELEC,G3THADR,G3TMUON * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gctrak.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gckine.inc" -#include "geant321/gconsp.inc" -C. -C. ------------------------------------------------------------------ -C. - EK=GEKIN - IF (ITRTYP.EQ.4.OR.ITRTYP.EQ.8) EK=GEKIN*PMASS/AMASS - IF (EK.LT.ELOW(1)) THEN - IEKBIN=1 - GEKRAT=0. - ELSEIF (EK.GE.ELOW(NEK1)) THEN - IEKBIN=NEKBIN - GEKRAT=1. - ELSE - IEKBIN=GEKA*LOG10(EK) + GEKB - IF (IEKBIN.GT.NEKBIN ) IEKBIN=NEKBIN - GEKRAT=(EK-ELOW(IEKBIN))/(ELOW(IEKBIN+1)-ELOW(IEKBIN)) - GEKRAT=MIN(1.,MAX(GEKRAT,0.)) - ENDIF -C - END diff --git a/StarVMC/geant3/gtrak/gfinds.F b/StarVMC/geant3/gtrak/gfinds.F deleted file mode 100644 index 92d1681e76c..00000000000 --- a/StarVMC/geant3/gtrak/gfinds.F +++ /dev/null @@ -1,125 +0,0 @@ -* -* $Id: gfinds.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gfinds.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 06/07/94 18.26.03 by S.Giani -*FCA : 05/01/99 09:53:52 by Federico Carminati -* Corrected inline function to prevent loss of address -* following conversion to real -*-- Author : - SUBROUTINE G3FINDS -C. -C. ****************************************************************** -C. * * -C. * Returns the set/volume parameters corresponding to * -C. * the current space point in /GCTRAK/ * -C. * and fill common /GCSETS/ * -C. * * -C. * IHSET user set identifier * -C. * IHDET user detector identifier * -C. * ISET set number in JSET * -C. * IDET detector number in JS=LQ(JSET-ISET) * -C. * IDTYPE detector type (1,2) * -C. * NUMBV detector volume numbers (array of length NVNAME) * -C. * NVNAME number of volume levels * -C. * * -C. * ==>Called by : G3TRACK * -C. * Author R.Brun ********* * -C. * Modified V.Perev * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcsets.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gctmed.inc" -#if defined(CERNLIB_DEBUG) - INTEGER LNAM(15), LNUM(15) -#endif - JATTF(JV) = JV + NINT(Q(JV+5)) + 6 -C. -C. ------------------------------------------------------------------ -C. -* -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL,1000)NLEVEL - CALL GMAIL (0, 0) - DO 5 I = 1,NLEVEL - WRITE(CHMAIL,1001)NAMES(I),NUMBER(I),LVOLUM(I),LINDEX(I) - CALL GMAIL (0, 0) - WRITE(CHMAIL,1002)(GTRAN(J,I),J = 1,3),(GRMAT(J,I),J=1,10) - CALL GMAIL (0, 0) - 5 CONTINUE - 1000 FORMAT (' DEBUG : GFINDS =',I3) - 1001 FORMAT (5(1X,A4,3I3)) - 1002 FORMAT (1X,13F9.4) - NLEV = NLEVEL - CALL UCOPY (NAMES (1),LNAM(1),NLEV) - CALL UCOPY (NUMBER(1),LNUM(1),NLEV) - NLEVEL = 0 - CALL GLVOLU (NLEV, LNAM, LNUM, IER) - IF (IER.NE.0) STOP -#endif -* - IHSET = 0 - IHDET = 0 - ISET = 0 - IDET = 0 - IDTYPE = 0 - NVNAME = 0 -* - DO 10 NLEV = NLEVEL,1,-1 - JVO = LQ(JVOLUM-LVOLUM(NLEV)) - JAT = JATTF(JVO) - IDET = Q(JAT+8) - IF(IDET.NE.0) THEN - NL = NLEV - GO TO 15 - ENDIF - 10 CONTINUE - GOTO 99 - 15 ISET = Q(JAT+7) - IDTYPE = Q(JAT+9) - IHSET = IQ(JSET+ISET) - JS = LQ(JSET-ISET) - IHDET = IQ(JS+IDET) - JD = LQ(JS-IDET) - NVNAME = IQ(JD+2) - DO 40 I=1,NVNAME - NAME=IQ(JD+2*I+9) - NUMBV(I)=0 - DO 30 J=1,NLEVEL - IF(NAMES(J).EQ.NAME)THEN - NUMBV(I)=NUMBER(J) - GO TO 40 - ENDIF - 30 CONTINUE - 40 CONTINUE -C - 99 END diff --git a/StarVMC/geant3/gtrak/ggckov.F b/StarVMC/geant3/gtrak/ggckov.F deleted file mode 100644 index 9b038e1bd81..00000000000 --- a/StarVMC/geant3/gtrak/ggckov.F +++ /dev/null @@ -1,168 +0,0 @@ -* -* $Id: ggckov.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: ggckov.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3GCKOV -C. -C. ****************************************************************** -C. * * -C. * This routine is called for each tracking step of a charged * -C. * particle in a radiator. A Poisson-distributed number of * -C. * photons is generated according to the Cherenkov formula, * -C. * distributed evenly along the track segment and uniformly * -C. * azimuth w.r.t. the particle direction. The parameters are * -C. * then transformed into the Master Reference System, and they * -C. * are added to the particle stack. * -C. * * -C. * ==>Called by : G3TMUON, G3THADR, G3TELEC * -C. * Authors R.Jones, F.Carminati ******** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcunit.inc" -#include "geant321/gctrak.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gconsp.inc" -* - REAL RPHOT(3) - LOGICAL ROTATE - PARAMETER (RFACT=369.81E9) -* -* ------------------------------------------------------------------ -* -* *** See whether we generate at least one photon -* -C THRIND = GETOT/VECT(7) -C IF(Q(JINDEX+NPCKOV).LT.THRIND) THEN -C GO TO 999 -C ELSEIF(Q(JINDEX+1).GE.THRIND) THEN -C PMIN = Q(JTCKOV+2) -C DP = Q(JTCKOV+NPCKOV+1)-PMIN -C GE = Q(JCURIN+NPCKOV) -C JMIN = 1 -C ELSE -C JMIN = 1 -C JMAX = NPCKOV -C 10 JMED = (JMIN+JMAX)/2 -C IF(Q(JINDEX+JMED).LT.THRIND) THEN -C JMIN = JMED -C ELSE -C JMAX = JMED -C ENDIF -C IF(JMAX-JMIN.GT.1) GO TO 10 -C RATIO = -C + (THRIND-Q(JINDEX+JMIN))/(Q(JINDEX+JMIN+1)-Q(JINDEX+JMIN)) -C RATI1 = 1.-RATIO -C PMIN = Q(JTCKOV+JMIN+1)*RATI1+Q(JTCKOV+JMIN+2)*RATIO -C DP = Q(JTCKOV+NPCKOV+1)-PMIN -C GEMIN = Q(JCURIN+JMIN)*RATI1+Q(JCURIN+JMIN+1)*RATIO -C GE = Q(JCURIN+NPCKOV)-GEMIN -C ENDIF -C DNDL = RFACT*(CHARGE**2)*(DP-GE*THRIND**2) - IF(ITRTYP.NE.4.AND.ITRTYP.NE.8) CALL G3NCKOV - CALL G3POISS(DNDL*STEP,NGPHOT,1) - IF(NGPHOT.EQ.0) THEN - GO TO 999 - ELSEIF(NGPHOT.GT.MXPHOT) THEN - WRITE(CHMAIL,10000) NGPHOT-MXPHOT -10000 FORMAT(' **** GGCKOV Overflow in the photon stack, ',I10, - + ' photons are lost') - CALL GMAIL(0,0) - NGPHOT = MXPHOT - ENDIF -* -* *** Set up rotation to Particle frame -* - CALL G3FANG(VECT(4),COSTH,SINTH,COSPH,SINPH,ROTATE) -* -* *** Distribute the photons in origin, direction, momentum - COSMX = THRIND/Q(JINDEX+NPCKOV) - SINMX2 = (1.-COSMX)*(1.+COSMX) - DO 40 J=1,NGPHOT - CALL GRNDM(RPHOT, 1) - IF(IGNEXT.NE.0) THEN - DS=(STEP-PREC)*RPHOT(1)+PREC - ELSE - DS = STEP*RPHOT(1) - ENDIF - XPHOT(1,J) = VECT(1)-VECT(4)*DS - XPHOT(2,J) = VECT(2)-VECT(5)*DS - XPHOT(3,J) = VECT(3)-VECT(6)*DS - XPHOT(11,J)= TOFG+(STEP-DS)*GETOT/(VECT(7)*CLIGHT) -* -* *** Sample the momentum of the photon - 20 CALL GRNDM(RPHOT, 3) - PPHOT=PMIN+RPHOT(1)*DP -* -* *** Find in which bin we are - KMIN = JMIN - KMAX = NPCKOV - 30 KMED = (KMIN+KMAX)/2 - IF(Q(JTCKOV+1+KMED).LT.PPHOT) THEN - KMIN = KMED - ELSE - KMAX = KMED - ENDIF - IF(KMAX-KMIN.GT.1) GOTO 30 - RATIO = (PPHOT-Q(JTCKOV+1+KMIN))/ - + (Q(JTCKOV+KMIN+2)-Q(JTCKOV+1+KMIN)) - RATI1 = (1.-RATIO) -* -* *** Find the density function value corresponding to the -* *** momentum sampled - RINDEX = Q(JINDEX+KMIN)*RATI1+Q(JINDEX+KMIN+1)*RATIO - COST = THRIND/RINDEX - SINT2 = (1.-COST)*(1.+COST) -* -* *** Perform hit-and-miss - IF(RPHOT(2)*SINMX2.GT.SINT2) GO TO 20 - SINT = SQRT(SINT2) - PHI = TWOPI*RPHOT(3) - SINP = SIN(PHI) - COSP = COS(PHI) - XPHOT(4,J) = SINT*COSP - XPHOT(5,J) = SINT*SINP - XPHOT(6,J) = COST - XPHOT(7,J) = PPHOT - XPHOT(8,J) = COST*COSP - XPHOT(9,J) = COST*SINP - XPHOT(10,J) = -SINT -* - IF(ROTATE) THEN - CALL G3DROT(XPHOT(8,J),COSTH,SINTH,COSPH,SINPH) - CALL G3DROT(XPHOT(4,J),COSTH,SINTH,COSPH,SINPH) - ENDIF - 40 CONTINUE - 999 END diff --git a/StarVMC/geant3/gtrak/ghelix.F b/StarVMC/geant3/gtrak/ghelix.F deleted file mode 100644 index 1054c2386da..00000000000 --- a/StarVMC/geant3/gtrak/ghelix.F +++ /dev/null @@ -1,130 +0,0 @@ -* -* $Id: ghelix.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: ghelix.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.3 2006/11/28 09:10:12 brun -* Change speed of light to agree with the current PDG value, -* ie change from 299,792,510 to 299,792,458 -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3HELIX (CHARGE, STEP, VECT, VOUT) -C. -C. ****************************************************************** -C. * * -C. * Performs the tracking of one step in a magnetic field * -C. * The trajectory is assumed to be a helix in a constant field * -C. * taken at the mid point of the step. * -C. * Parameters: * -C. * input * -C. * STEP =arc length of the step asked * -C. * VECT =input vector (position,direction cos and momentum) * -C. * CHARGE= electric charge of the particle * -C. * output * -C. * VOUT = same as VECT after completion of the step * -C. * * -C. * ==>Called by : , GUSWIM * -C. * Author M.Hansroul ********* * -C. * Modified S.Egli, S.V.Levonian * -C. * Modified V.Perevoztchikov -C. * * -C. ****************************************************************** -C. - DIMENSION VECT(7),VOUT(7) - DIMENSION XYZ(3),H(4),HXP(3) - PARAMETER (IX=1,IY=2,IZ=3,IPX=4,IPY=5,IPZ=6,IPP=7) - PARAMETER (SIXTH = 1./6.) - PARAMETER (EC=2.99792458E-4) -C. -C. ------------------------------------------------------------------ -C. -C units are kgauss,centimeters,gev/c -C - VOUT(IPP) = VECT(IPP) - IF (CHARGE.EQ.0.) GO TO 10 - XYZ(1) = VECT(IX) + 0.5 * STEP * VECT(IPX) - XYZ(2) = VECT(IY) + 0.5 * STEP * VECT(IPY) - XYZ(3) = VECT(IZ) + 0.5 * STEP * VECT(IPZ) -C - CALL GUFLD (XYZ, H) - - H2XY = H(1)**2 + H(2)**2 - H(4) = H(3)**2 + H2XY - IF (H(4).LE.1.E-12) GO TO 10 - IF (H2XY.LE.1.E-12*H(4)) THEN - CALL G3HELX3 (CHARGE*H(3), STEP, VECT, VOUT) - GO TO 999 - ENDIF - H(4) = SQRT(H(4)) - H(1) = H(1)/H(4) - H(2) = H(2)/H(4) - H(3) = H(3)/H(4) - H(4) = H(4)*EC -* - HXP(1) = H(2)*VECT(IPZ) - H(3)*VECT(IPY) - HXP(2) = H(3)*VECT(IPX) - H(1)*VECT(IPZ) - HXP(3) = H(1)*VECT(IPY) - H(2)*VECT(IPX) - - HP = H(1)*VECT(IPX) + H(2)*VECT(IPY) + H(3)*VECT(IPZ) -* - RHO = -CHARGE*H(4)/VECT(IPP) - TET = RHO * STEP - IF (ABS(TET).GT.0.15) THEN - SINT = SIN(TET) - SINTT = (SINT/TET) - TSINT = (TET-SINT)/TET - COS1T = 2.*(SIN(0.5*TET))**2/TET - ELSE - TSINT = SIXTH*TET**2 - SINTT = (1. - TSINT) - SINT = TET*SINTT - COS1T = 0.5*TET - ENDIF -* - F1 = STEP * SINTT - F2 = STEP * COS1T - F3 = STEP * TSINT * HP - F4 = -TET*COS1T - F5 = SINT - F6 = TET * COS1T * HP - - VOUT(IX) = VECT(IX) + (F1*VECT(IPX) + F2*HXP(1) + F3*H(1)) - VOUT(IY) = VECT(IY) + (F1*VECT(IPY) + F2*HXP(2) + F3*H(2)) - VOUT(IZ) = VECT(IZ) + (F1*VECT(IPZ) + F2*HXP(3) + F3*H(3)) - - VOUT(IPX) = VECT(IPX) + (F4*VECT(IPX) + F5*HXP(1) + F6*H(1)) - VOUT(IPY) = VECT(IPY) + (F4*VECT(IPY) + F5*HXP(2) + F6*H(2)) - VOUT(IPZ) = VECT(IPZ) + (F4*VECT(IPZ) + F5*HXP(3) + F6*H(3)) - - GO TO 999 - - 10 CONTINUE - DO 20 I = 1,3 - VOUT(I) = VECT(I) + STEP * VECT(I+3) - VOUT(I+3) = VECT(I+3) - 20 CONTINUE -C - 999 END diff --git a/StarVMC/geant3/gtrak/ghelx3.F b/StarVMC/geant3/gtrak/ghelx3.F deleted file mode 100644 index 0f141b1bd4c..00000000000 --- a/StarVMC/geant3/gtrak/ghelx3.F +++ /dev/null @@ -1,96 +0,0 @@ -* -* $Id: ghelx3.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: ghelx3.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.3 2006/11/28 09:10:12 brun -* Change speed of light to agree with the current PDG value, -* ie change from 299,792,510 to 299,792,458 -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3HELX3 (FIELD, STEP, VECT, VOUT) -C. -C. ****************************************************************** -C. * * -C. * Tracking routine in a constant field oriented * -C. * along axis 3 * -C. * Tracking is performed with a conventional * -C. * helix step method * -C. * * -C. * ==>Called by : , GUSWIM * -C. * Authors R.Brun, M.Hansroul ********* * -C * Rewritten V.Perevoztchikov -C. * * -C. ****************************************************************** -C. - DIMENSION VECT(7),VOUT(7),HXP(3) - PARAMETER (IX=1,IY=2,IZ=3,IPX=4,IPY=5,IPZ=6,IPP=7) - PARAMETER (SIXTH = 1./6.) - PARAMETER (EC=2.99792458E-4) -C. -C. ------------------------------------------------------------------ -C. -C units are kgauss,centimeters,gev/c -C - VOUT(IPP) = VECT(IPP) - H4 = FIELD * EC -* - HXP(1) = - VECT(IPY) - HXP(2) = + VECT(IPX) - - HP = VECT(IPZ) -* - RHO = -H4/VECT(IPP) - TET = RHO * STEP - IF (ABS(TET).GT.0.15) THEN - SINT = SIN(TET) - SINTT = (SINT/TET) - TSINT = (TET-SINT)/TET - COS1T = 2.*(SIN(0.5*TET))**2/TET - ELSE - TSINT = SIXTH*TET**2 - SINTT = (1. - TSINT) - SINT = TET*SINTT - COS1T = 0.5*TET - ENDIF -* - F1 = STEP * SINTT - F2 = STEP * COS1T - F3 = STEP * TSINT * HP - F4 = -TET*COS1T - F5 = SINT - F6 = TET * COS1T * HP - - VOUT(IX) = VECT(IX) + (F1*VECT(IPX) + F2*HXP(1)) - VOUT(IY) = VECT(IY) + (F1*VECT(IPY) + F2*HXP(2)) - VOUT(IZ) = VECT(IZ) + (F1*VECT(IPZ) + F3) - - VOUT(IPX) = VECT(IPX) + (F4*VECT(IPX) + F5*HXP(1)) - VOUT(IPY) = VECT(IPY) + (F4*VECT(IPY) + F5*HXP(2)) - VOUT(IPZ) = VECT(IPZ) + (F4*VECT(IPZ) + F6) - -C - 999 END diff --git a/StarVMC/geant3/gtrak/ginvol.F b/StarVMC/geant3/gtrak/ginvol.F deleted file mode 100644 index c2f0162cc11..00000000000 --- a/StarVMC/geant3/gtrak/ginvol.F +++ /dev/null @@ -1,433 +0,0 @@ -* -* $Id: ginvol.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: ginvol.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if !defined(CERNLIB_OLD) -*CMZ : 3.21/02 03/07/94 17.14.15 by S.Giani -*-- Author : - SUBROUTINE G3INVOL (X, ISAME) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GINVOL (X, ISAME*) * -C. * * -C. * Checks if particle at point X has left current volume/medium * -C. * If so, returns ISAME = 0 and prepares information useful to * -C. * identify the new volume entered. * -C. * Otherwise, returns ISAME = 1 * -C. * * -C. * Note : INGOTO is set by GTNEXT, to transmit the information * -C. * on the one volume which has limited the step SNEXT, * -C. * >0 : INth content * -C. * =0 : current volume * -C. * <0 : -NLONLY, with NLONLY defined as the first 'ONLY' * -C. * level up in the tree for the 'NOT-ONLY' volume * -C. * where the point X is found to be. * -C. * * -C. * Called by : GNEXT, GTELEC, GTHADR, GTMUON, GTNEXT * -C. * Authors : S.Banerjee, R.Brun, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gctrak.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -#include "geant321/gchvir.inc" -C. - DIMENSION X(*) - REAL XC(6), XT(3) - LOGICAL BTEST -C. -C. ------------------------------------------------------------------ -* -* SECTION I: The /GCVOLU/ table contains the presumed location of X in the -* geometry tree, at level NLEVEL. The suggestion is that INGOTO -* is the index of a content at NLEVEL which may also contain X. -* If this is so, ISAME=0 and return. INGOTO is left unchanged. -* If this is not so, have we left the volume at NLEVEL altogether? -* If so, ISAME=0 and INGOTO=0, return. Otherwise, this is the -* starting position for a search. Reset search record variables -* and proceed to section II. -* -* *** Check if point is in current volume -* - INGT = 0 -C***** Code Expanded From Routine: GTRNSF -C - 100 IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + XL3* - + GRMAT(3,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + XL3* - + GRMAT(6,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + XL3* - + GRMAT(9,NLEVEL) -* - ENDIF - xc(4)=0. - xc(5)=0. - xc(6)=0. -C***** End of Code Expanded From Routine: GTRNSF -* - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) -* -* Note: At entry the variable INGOTO may contain the index of a volume -* contained within the current one at NLEVEL. If so, begin by checking -* if X lies inside. This improves the search speed over that of GMEDIA. -* - NIN = Q(JVO+3) - IF ((INGOTO.LE.0).OR.(INGOTO.GT.NIN)) THEN - INGOTO = 0 - ELSE -* -* *** Entrance in content INGOTO predicted by GTNEXT -* - JIN = LQ(JVO-INGOTO) - IVOT = Q(JIN+2) - JVOT = LQ(JVOLUM-IVOT) - JPAR = LQ(JGPAR-NLEVEL-1) -* - IROTT = Q(JIN+4) -C***** Code Expanded From Routine: GITRAN -C. -C. ------------------------------------------------------------------ -C. - IF (IROTT .EQ. 0) THEN - XT(1) = XC(1) - Q(5+JIN) - XT(2) = XC(2) - Q(6+JIN) - XT(3) = XC(3) - Q(7+JIN) -* - ELSE - XL1 = XC(1) - Q(5+JIN) - XL2 = XC(2) - Q(6+JIN) - XL3 = XC(3) - Q(7+JIN) - JR = LQ(JROTM-IROTT) - XT(1) = XL1*Q(JR+1) + XL2*Q(JR+2) + XL3*Q(JR+3) - XT(2) = XL1*Q(JR+4) + XL2*Q(JR+5) + XL3*Q(JR+6) - XT(3) = XL1*Q(JR+7) + XL2*Q(JR+8) + XL3*Q(JR+9) -* - ENDIF -C***** End of Code Expanded From Routine: GITRAN -* -* * Check if point is in content -* - CALL GINME (XT, Q(JVOT+2), Q(JPAR+1), IYES) - IF (IYES.NE.0) THEN -* -* If so, prepare information for volume retrieval, and return -* - NLEVIN = NLEVEL +1 - LVOLUM(NLEVIN) = IVOT - NAMES(NLEVIN) = IQ(JVOLUM+IVOT) - NUMBER(NLEVIN) = Q(JIN+3) - LINDEX(NLEVIN) = INGOTO - LINMX(NLEVIN) = Q(JVO+3) - GONLY(NLEVIN) = Q(JIN+8) - IF (LQ(LQ(JVOLUM-IVOT)).EQ.0) THEN - NLDEV(NLEVIN) = NLDEV(NLEVEL) - ELSE - NLDEV(NLEVIN) = NLEVIN - ENDIF - CALL GTRMUL (GTRAN(1,NLEVEL), GRMAT(1,NLEVEL), Q(JIN+5), - + IROTT, GTRAN(1,NLEVIN), GRMAT(1,NLEVIN)) - ISAME = 0 - GO TO 999 - ENDIF - ENDIF -* -* End of INGOTO processing -* - JPAR = LQ(JGPAR-NLEVEL) - CALL GINME (XC, Q(JVO+2), Q(JPAR+1), IYES) - IF (IYES.EQ.0) THEN - ISAME = 0 - INGOTO = 0 - GO TO 999 - ENDIF -* -* ** Point is in current volume -* - NLEVIN = NLEVEL - NLMIN = NLEVEL - IF ((INFROM.LE.0).OR.(INFROM.GT.NIN)) THEN - INFROM = 0 - ENDIF - INFR = INFROM - NLMANY = 0 - IF (INGOTO.GT.0) THEN - INGT = INGOTO - JIN = LQ(JVO-INGOTO) - IQ(JIN) = IBSET(IQ(JIN),4) - ENDIF -* -* SECTION II: X is found inside current node at NLEVEL in /GCVOLU/. -* Search all contents for any containing X. Take the -* first one found, incrementing NLEVEL and extending the -* /GCVOLU/ tables. Otherwise if the list of contents is -* exhausted without finding X inside, proceed to Section III. -* Note: Since Section II is re-entered from Section III, a blocking word -* is used to mark those contents already checked. Upon exit from Section -* II, these blocking words are cleared at NLEVEL, but may remain set in -* levels between NLEVEL-1 and NLMIN, if any. They must be cleared at exit. -* -* ** Check contents, if any -* - 200 JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) -* -* * Case with no contents -* - IF (NIN.EQ.0) THEN - GO TO 300 -* -* * Case with contents defined by division -* - ELSEIF (NIN.LT.0) THEN - CALL GMEDIV (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - IF ((GONLY(NLEVEL).EQ.0).AND. - + (NLEVEL.LE.NLEVIN)) THEN - INFR = 0 - INGT = 0 - GO TO 200 - ELSE - GO TO 450 - ENDIF - ENDIF -* -* * Case with contents positioned -* - ELSE - if(nin.gt.1)then - clmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+3) - chmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+4) - ndivto=q(jvirt+4*(LVOLUM(NLEVEL)-1)+2) - iaxis =q(jvirt+4*(LVOLUM(NLEVEL)-1)+1) - if(iaxis.le.3)then - ivdiv=((xc(iaxis)-clmoth)*ndivto/(chmoth-clmoth))+1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - else - call gfcoor(xc,iaxis,cx) - if(iaxis.eq.6)then - if((cx-clmoth).lt.-1.)then - cx=cx+360. - elseif((cx-chmoth).gt.1.)then - cx=cx-360. - endif - if(cx.gt.chmoth)then - cx=chmoth - elseif(cx.lt.clmoth)then - cx=clmoth - endif - endif - ivdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - endif - jvdiv=lq(jvirt-LVOLUM(NLEVEL)) - iofset=iq(jvdiv+ivdiv) - ncont=iq(jvdiv+iofset+1) - jcont=jvdiv+iofset+1 - if(ncont.eq.0)goto 260 - else - JCONT = LQ(JVO-NIN-1)+1 - NCONT = 1 - endif -* -* For each selected content in turn, check if point is inside -* - DO 259 ICONT=1,NCONT - if(nin.eq.1)then - in=1 - else - IN = IQ(JCONT+ICONT) - endif - IF(IN.EQ.0) THEN -* -* If the value IQ(JCONT+ICONT)=0 then we are back in the mother. -* So jump to 260, the search is finished. Clean-up should be done -* only up to ICONT-1, so we set: -* - NCONT=ICONT-1 - GOTO 260 - ELSE - JIN = LQ(JVO-IN) - IF (.NOT.BTEST(IQ(JIN),4)) THEN - CALL GMEPOS (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - IF ((GONLY(NLEVEL).EQ.0).AND. - + (NLEVEL.LE.NLEVIN)) THEN - INFR = 0 - INGT = 0 - GO TO 200 - ELSE - GO TO 450 - ENDIF - ELSE - IQ(JIN) = IBSET(IQ(JIN),4) - ENDIF - ENDIF - ENDIF - 259 CONTINUE -* - 260 IF(NCONT.EQ.NIN) THEN - DO 268 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 268 CONTINUE - ELSE - DO 269 ICONT=1,NCONT - if(nin.eq.1)then - in=1 - else - IN = IQ(JCONT+ICONT) - endif - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 269 CONTINUE - IF(INFR.NE.0) THEN - JIN = LQ(JVO-INFR) - IQ(JIN) = IBCLR(IQ(JIN),4) - ENDIF - IF(INGT.NE.0) THEN - JIN = LQ(JVO-INGT) - IQ(JIN) = IBCLR(IQ(JIN),4) - ENDIF - ENDIF - ingt=0 -* - ENDIF -* -* SECTION III: X is found at current node (NLEVEL in /GCVOLU/) but not in -* any of its contents, if any. If this is a MANY volume, -* save it as a candidate best-choice, and continue the search -* by backing up the tree one node and proceed to Section II. -* If this is an ONLY volume, proceed to Section IV. -* -* *** Point is in current volume/medium, and not in any content -* - 300 IF (GONLY(NLEVEL).EQ.0.) THEN -* -* ** Lowest level is 'NOT ONLY' -* - IF (NLMANY.EQ.0) THEN - CALL GSCVOL - NLMANY = NLEVEL - ENDIF -* -* * Go up the tree up to a volume with positioned contents -* - 310 INFR = LINDEX(NLEVEL) - NLEVEL = NLEVEL -1 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - IF (NIN.LT.0) GO TO 310 -* -C***** Code Expanded From Routine: GTRNSF -C - IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + - + XL3* GRMAT(3,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + - + XL3* GRMAT(6,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + - + XL3* GRMAT(9,NLEVEL) - - ENDIF -C***** End of Code Expanded From Routine: GTRNSF -* - JIN = LQ(JVO-INFR) - IQ(JIN) = IBSET(IQ(JIN),4) - NLMIN = MIN(NLEVEL,NLMIN) - GO TO 200 - ENDIF -* -* SECTION IV: This is the end of the search. -* (1) Entry at 400: ISAME = 1 The current node (NLEVEL -* in /GCVOLU/) is an ONLY volume and there were no contents -* in the tree below it which could claim X. -* (2) Entry at 450: ISAME = 0 Section II has just found -* another volume which has more claim to X than the current -* one: either another ONLY or a deeper MANY was found. -* Note: A valid structure is assumed, in which no ONLY volumes overlap. -* If this rule is violated, or if a daughter is not entirely contained -* within the mother volume, the results are unpredictable. -* - 400 ISAME = 1 - GOTO 480 - - 450 ISAME = 0 - - 480 DO 489 NL=NLMIN,NLEVEL-1 - JVO = LQ(JVOLUM-LVOLUM(NL)) - NIN = Q(JVO+3) - DO 488 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 488 CONTINUE - 489 CONTINUE -* - IF (NLMANY.GT.0) THEN - CALL GFCVOL - NLEVIN = NLEVEL - ELSEIF (NLEVEL.GT.NLEVIN) THEN - INGOTO = LINDEX(NLEVEL) - NL = NLEVIN - NLEVIN = NLEVEL - NLEVEL = NL - ENDIF -* END GINVOL - 999 IF(JGSTAT.NE.0) CALL GFSTAT(ISAME) - END -#endif diff --git a/StarVMC/geant3/gtrak/gltrac.F b/StarVMC/geant3/gtrak/gltrac.F deleted file mode 100644 index 9c6ca119760..00000000000 --- a/StarVMC/geant3/gtrak/gltrac.F +++ /dev/null @@ -1,210 +0,0 @@ -* -* $Id: gltrac.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gltrac.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 13/12/94 15.36.22 by S.Giani -*-- Author : - SUBROUTINE G3LTRAC -C. -C. ****************************************************************** -C. * * -C. * SUBR. G3LTRAC * -C. * * -C. * Extracts next track from stack JSTAK and prepares commons * -C. * /GCTRAK/, /GCKINE/ and /GCVOLU/ * -C. * * -C. * Called by : G3TREVE * -C. * Authors : R.Brun, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gckine.inc" -#include "geant321/gcnum.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcvolu.inc" - DIMENSION RNDM(5) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION P2,GETOTD,GEKIND - DOUBLE PRECISION PXD,PYD,PZD,ONE,HNORM,DAMASS,PP -#endif - PARAMETER (ONE=1) -C. -C. ------------------------------------------------------------------ -* -* *** Extract next track from stack JSTAK -* - IF(ISTORD.EQ.1) THEN -* -* *** User ordering of tracks if requested - CALL G3STORD - ENDIF - ISTAK = IQ(JSTAK+1) - IQ(JSTAK+1) = ISTAK -1 - JST = JSTAK +NWSTAK*IQ(JSTAK+1) +3 - ITRA = IQ(JST+1) - IF (ITRA.LT.0) THEN - ITRA = -ITRA - ELSE -* -* This is a new track. We set to zero the stack number and -* update the vertex number - ISTAK = 0 - JK=LQ(JKINE-ITRA) - IVERT=Q(JK+6) - ENDIF - IPART = IQ(JST+2) - DO 60 I = 1,3 - VERT(I) = Q(JST+3+I) - PVERT(I) = Q(JST+6+I) - 60 CONTINUE - TOFG = Q(JST+10) - SAFETY = Q(JST+11) - UPWGHT = Q(JST+12) -* -* *** Prepare tracking parameters -* - VECT(1) = VERT(1) - VECT(2) = VERT(2) - VECT(3) = VERT(3) - PXD = PVERT(1) - PYD = PVERT(2) - PZD = PVERT(3) - P2 = PXD**2+PYD**2+PZD**2 - IF(P2.GT.0.) THEN - PP = SQRT(P2) - HNORM = ONE/PP - VECT(4) = PVERT(1)*HNORM - VECT(5) = PVERT(2)*HNORM - VECT(6) = PVERT(3)*HNORM - VECT(7) = PP - ELSE - VECT(4) = 0. - VECT(5) = 0. - VECT(6) = 1. - VECT(7) = 0. - ENDIF -* -* ** Reload Particle characteristics, if needed -* - IF (IPART.NE.IPAOLD) THEN - JPA = LQ(JPART-IPART) - DO 90 I = 1,5 - NAPART(I) = IQ(JPA+I) - 90 CONTINUE - ITRTYP = Q(JPA+6) - AMASS = Q(JPA+7) - CHARGE = Q(JPA+8) - TLIFE = Q(JPA+9) - IUPD = 0 - IPAOLD = IPART - ENDIF -* - DAMASS = AMASS - GETOTD = SQRT(P2+DAMASS**2) - GEKIND = GETOTD - DAMASS - GETOT = GETOTD - GEKIN = GEKIND -* - IF (ITRTYP.EQ.7) THEN -* -* *** Cerenkov photon. Retrieve polarisation - JPO = LQ(JSTAK-1)+(ISTAK-1)*3 - POLAR(1) = Q(JPO+1) - POLAR(2) = Q(JPO+2) - POLAR(3) = Q(JPO+3) - ELSE - CALL G3EKBIN - ENDIF -* - SLENG = 0. - NSTEP = 0 - NTMSTO = NTMSTO +1 - NTMULT = NTMSTO - ISTORY = 0 -* -* ** Initialize interaction probabilities -* - IF (ITRTYP.EQ.1) THEN -* Gammas - CALL GRNDM(RNDM,5) - ZINTPA = -LOG(RNDM(1)) - ZINTCO = -LOG(RNDM(2)) - ZINTPH = -LOG(RNDM(3)) - ZINTPF = -LOG(RNDM(4)) - ZINTRA = -LOG(RNDM(5)) - ELSE IF (ITRTYP.EQ.2) THEN -* Electrons - CALL GRNDM(RNDM,3) - ZINTBR = -LOG(RNDM(1)) - ZINTDR = -LOG(RNDM(2)) - ZINTAN = -LOG(RNDM(3)) - ELSE IF (ITRTYP.EQ.3) THEN -* Neutral hadrons - CALL GRNDM(RNDM,2) - SUMLIF = -CLIGHT*TLIFE*LOG(RNDM(1)) - ZINTHA = -LOG(RNDM(2)) - ELSE IF (ITRTYP.EQ.4) THEN -* Charged hadrons - CALL GRNDM(RNDM,3) - SUMLIF = -CLIGHT*TLIFE*LOG(RNDM(1)) - ZINTHA = -LOG(RNDM(2)) - ZINTDR = -LOG(RNDM(3)) - ELSE IF (ITRTYP.EQ.5) THEN -* Muons - CALL GRNDM(RNDM,5) - SUMLIF = -CLIGHT*TLIFE*LOG(RNDM(1)) - ZINTBR = -LOG(RNDM(2)) - ZINTPA = -LOG(RNDM(3)) - ZINTDR = -LOG(RNDM(4)) - ZINTMU = -LOG(RNDM(5)) - ELSE IF (ITRTYP.EQ.7) THEN -* Cerenkov photons - CALL GRNDM(RNDM,1) - ZINTLA = -LOG(RNDM(1)) - ELSE IF (ITRTYP.EQ.8) THEN -* Ions - CALL GRNDM(RNDM,2) - ZINTHA = -LOG(RNDM(1)) - ZINTDR = -LOG(RNDM(2)) - ENDIF -* -* * Prepare common /GCVOLU/ and structure JGPAR, if needed -* -c IF (NJTMAX.LE.0) THEN - CALL GMEDIA (VECT, NUMED, 1) -c ENDIF - INFROM = 0 -* END GLTRAC - END - diff --git a/StarVMC/geant3/gtrak/gnckov.F b/StarVMC/geant3/gtrak/gnckov.F deleted file mode 100644 index 8edb7821a4e..00000000000 --- a/StarVMC/geant3/gtrak/gnckov.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: gnckov.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gnckov.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3NCKOV -C. -C. ****************************************************************** -C. * * -C. * This routine calculates the number of Cerenkov photons * -C. * produced per centimeter in the current medium. * -C. * * -C. * ==>Called by : G3RANGI * -C. * Authors R.Jones, F.Carminati ******** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcunit.inc" -#include "geant321/gctrak.inc" -#include "geant321/gckine.inc" -#include "geant321/gconsp.inc" -* - PARAMETER (RFACT=369.81E9) -* -* ------------------------------------------------------------------ -* -* *** See whether we generate at least one photon -* - THRIND = GETOT/VECT(7) - IF(Q(JINDEX+NPCKOV).LT.THRIND) THEN - DP = 0. - GE = 0. - ELSEIF(Q(JINDEX+1).GE.THRIND) THEN - PMIN = Q(JTCKOV+2) - DP = Q(JTCKOV+NPCKOV+1)-PMIN - GE = Q(JCURIN+NPCKOV) - JMIN = 1 - ELSE - JMIN = 1 - JMAX = NPCKOV - 10 JMED = (JMIN+JMAX)/2 - IF(Q(JINDEX+JMED).LT.THRIND) THEN - JMIN = JMED - ELSE - JMAX = JMED - ENDIF - IF(JMAX-JMIN.GT.1) GO TO 10 - RATIO = - + (THRIND-Q(JINDEX+JMIN))/(Q(JINDEX+JMIN+1)-Q(JINDEX+JMIN)) - RATI1 = 1.-RATIO - PMIN = Q(JTCKOV+JMIN+1)*RATI1+Q(JTCKOV+JMIN+2)*RATIO - DP = Q(JTCKOV+NPCKOV+1)-PMIN - GEMIN = Q(JCURIN+JMIN)*RATI1+Q(JCURIN+JMIN+1)*RATIO - GE = Q(JCURIN+NPCKOV)-GEMIN - ENDIF - DNDL = RFACT*(CHARGE**2)*(DP-GE*THRIND**2) - 999 END diff --git a/StarVMC/geant3/gtrak/gpcxyz.F b/StarVMC/geant3/gtrak/gpcxyz.F deleted file mode 100644 index 6f118c19a61..00000000000 --- a/StarVMC/geant3/gtrak/gpcxyz.F +++ /dev/null @@ -1,133 +0,0 @@ -* -* $Id: gpcxyz.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gpcxyz.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2005/05/20 10:43:20 brun -* From Federico Carminati & Peter Hristov -* Mods required to run on MacOSX 10.4 -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 1999/07/09 13:46:27 fca -* Better printing for MAXSTEP -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:41 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 06/12/94 16.50.58 by S.Ravndal -*-- Author : - SUBROUTINE G3PCXYZ -C. -C. ****************************************************************** -C. * * -C. * Print track and volume parameters at current point * -C. * * -C. * ==>Called by : * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" - DIMENSION MECNAM(20) - CHARACTER*4 KUN1,KUN2 -#ifdef __G95__ - CHARACTER*4 CAPART(5),CNAMES(15),CMECNAM(20) - EQUIVALENCE (CAPART,NAPART),(CNAMES,NAMES),(MECNAM,CMECNAM) -#endif - SAVE IEVOLD,NTMOLD - DATA IEVOLD,NTMOLD/-1,-1/ -C. -C. ------------------------------------------------------------------ -C. - IF(IFINIT(9).EQ.0)THEN - IFINIT(9)=1 - IEVOLD=-1 - NTMOLD=-1 - ENDIF -C - NM=NMEC - IF(NM.EQ.0)THEN - MECNAM(1)=NAMEC(29) - NM=1 - ELSE - DO 10 I=1,NMEC - MEC=LMEC(I) - IF(MEC.LE.MAXMEC) THEN - MECNAM(I)=NAMEC(MEC) - ELSEIF(MEC-100.LE.MAXME1.AND.MEC-100.GT.0) THEN - MECNAM(I)=NAMEC1(MEC-100) - ENDIF - 10 CONTINUE - ENDIF -C - IF(IEVENT.EQ.IEVOLD.AND.NTMULT.EQ.NTMOLD)GO TO 20 -C -C - TOFGN=TOFG*1.E+9 -#ifdef __G95__ - WRITE(CHMAIL,1000)ITRA,ISTAK,NTMULT,(CAPART(I),I=1,5),TOFGN -#else - WRITE(CHMAIL,1000)ITRA,ISTAK,NTMULT,(NAPART(I),I=1,5),TOFGN -#endif - CALL GMAIL(0,0) - WRITE(CHMAIL,1100) - CALL GMAIL(0,0) - IEVOLD=IEVENT - NTMOLD=NTMULT -C - 20 R=SQRT(VECT(1)**2+VECT(2)**2) - CALL G3EVKEV(DESTEP,DESU,KUN1) - CALL G3EVKEV(GEKIN ,GEKU,KUN2) - NS = 1 - NW = MIN(NS+5,NM) -#ifdef __G95__ - WRITE(CHMAIL,2000)(VECT(I),I=1,3),R,CNAMES(NLEVEL),NUMBER(NLEVEL) - + ,SLENG,STEP,DESU,KUN1,GEKU,KUN2,(CMECNAM(I),I=NS,NW) -#else - WRITE(CHMAIL,2000)(VECT(I),I=1,3),R,NAMES(NLEVEL),NUMBER(NLEVEL) - + ,SLENG,STEP,DESU,KUN1,GEKU,KUN2,(MECNAM(I),I=NS,NW) -#endif - 30 CALL GMAIL(0,0) - IF(NM.GT.NW) THEN - NS = NW + 1 - NW = MIN(NS+5,NM) - WRITE(CHMAIL,3000) (MECNAM(I),I=NS,NW) - GOTO 30 - ENDIF -C - 1000 FORMAT(' =====> TRACK ',I4,' STACK NR',I4,' NTMULT=',I10,5X, - +5A4,5X,'TOFG =',F10.3,' NS') - 1100 FORMAT(' X Y Z R ', - +' NAME NUMBER', - +' SLENG STEP DESTEP GEKIN MECHANISMS') - 2000 FORMAT(1X,4F11.4,1X,A4,1X,I4,1X,2F10.4,F7.1,A4,F9.3,A4,1X, - + 6(A4,1X)) - 3000 FORMAT(101X,6(A4,1X)) -C - END diff --git a/StarVMC/geant3/gtrak/gpgkin.F b/StarVMC/geant3/gtrak/gpgkin.F deleted file mode 100644 index 297636102ba..00000000000 --- a/StarVMC/geant3/gtrak/gpgkin.F +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: gpgkin.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gpgkin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:51 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3PGKIN -C. -C. ****************************************************************** -C. * * -C. * Print kinematics of secondary tracks at the current * -C. * interaction point. * -C. * * -C. * ==>Called by : ,GUSTEP,G3DEBUG * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcking.inc" -#include "geant321/gcunit.inc" - CHARACTER*4 UNITK,UNITE,UNITSK,UNITSE -C. -C. ------------------------------------------------------------------ -C. - SEK=0. - SET=0. - DO 10 I=1,NGKINE - ITY=GKIN(5,I) - ET=GKIN(4,I) - TOFDN=TOFD(I)*1.E+9 - JP=LQ(JPART-ITY) - EK=ET-Q(JP+7) - SEK=SEK+EK - SET=SET+ET - CALL G3EVKEV(EK,EKU,UNITK) - CALL G3EVKEV(ET,ETU,UNITE) - IF(I.LT.NGKINE)THEN - WRITE(CHMAIL,1000)I,(IQ(JP+J),J=1,4),EKU,UNITK,ETU,UNITE - + ,TOFDN - ELSE - CALL G3EVKEV(SEK,SEKU,UNITSK) - CALL G3EVKEV(SET,SETU,UNITSE) - WRITE(CHMAIL,2000)I,(IQ(JP+J),J=1,4),EKU,UNITK,ETU,UNITE - + ,TOFDN,SEKU,UNITSK,SETU,UNITSE - ENDIF - CALL GMAIL(0,0) - 10 CONTINUE -* - 1000 FORMAT(4X,'===>',I3,1X,4A4,' EK=',F7.3,A,' ET=',F7.3,A, - + ' TOFD=',F10.3,' ns') - 2000 FORMAT(4X,'===>',I3,1X,4A4,' EK=',F7.3,A,' ET=',F7.3,A, - + ' TOFD=',F10.3,' ns SEK=',F7.3,A,' SET=',F7.3,A) - END diff --git a/StarVMC/geant3/gtrak/gpjxyz.F b/StarVMC/geant3/gtrak/gpjxyz.F deleted file mode 100644 index 514cc649cb2..00000000000 --- a/StarVMC/geant3/gtrak/gpjxyz.F +++ /dev/null @@ -1,94 +0,0 @@ -* -* $Id: gpjxyz.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gpjxyz.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3PJXYZ(IT) -C. -C. ****************************************************************** -C. * * -C. * Prints JXYZ bank for track number IT * -C. * If IT=0 Prints all track banks * -C. * * -C. * ==>Called by : , G3PRINT * -C. * Author R.Brun ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -C. -C. ------------------------------------------------------------------ -C. - I1=1 - I2=NTRACK - IF(IT.NE.0)I1=IT - IF(IT.NE.0)I2=IT - IF(I2.GT.NTRACK)GO TO 99 - IF(I1.LT.1)GO TO 99 - IF(JKINE.LE.0)GO TO 99 - IF(JXYZ.LE.0)GO TO 99 -C - DO 90 I=I1,I2 - JK=LQ(JKINE-I) - IF(JK.NE.0)THEN - IPART=Q(JK+5) - JPA=LQ(JPART-IPART) - WRITE(CHMAIL,1000)I,(IQ(JPA+L),L=1,4) - CALL GMAIL(0,0) - WRITE(CHMAIL,1100) - CALL GMAIL(0,0) -C - JX=LQ(JXYZ-I) - IPOINT=JX+3 - IP=0 - 10 NPOINT=Q(IPOINT) - IF(NPOINT.GT.0)THEN - IPT=Q(IPOINT+1) - DO 20 K=1,NPOINT - KP=IPOINT+3*K-2 - IP=IP+1 - WRITE(CHMAIL,2000)IP,IPT,(Q(KP+L),L=1,3) - CALL GMAIL(0,0) - 20 CONTINUE -C - IPOINT=IPOINT+3.*Q(IPOINT)+2. - GO TO 10 - ENDIF - ENDIF - 90 CONTINUE -C - 1000 FORMAT(3X,'JXYZ',3X,'TRACK NUMBER',I5,2X,4A4) - 1100 FORMAT(6X,'POINT',6X,'PART',6X,'X',10X,'Y',10X,'Z') - 2000 FORMAT(4X,I6,6X,I4,2X,F10.4,1X,F10.4,1X,F10.4) -C - 99 RETURN - END diff --git a/StarVMC/geant3/gtrak/granor.F b/StarVMC/geant3/gtrak/granor.F deleted file mode 100644 index a565400eb47..00000000000 --- a/StarVMC/geant3/gtrak/granor.F +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: granor.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: granor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE GRANOR(A,B) -C. -C. ****************************************************************** -C. * * -C. * To generate 2 numbers A and B following a NORMAL * -C. * distribution (mean=0 sigma=1.) * -C. * Copy of the CERN Library routine RANNOR * -C. * * -C. * ==>Called by : , many GEANT routines * -C. * Author F.Carminati ********* * -C. * * -C. ****************************************************************** -C. - DIMENSION RNDM(2) -* - CALL GRNDM(RNDM,2) - Y=RNDM(1) - Z=RNDM(2) - X=6.283185*Z - A1=SQRT (-2.0*LOG(Y)) - A=A1*SIN (X) - B=A1*COS (X) - RETURN - END - diff --git a/StarVMC/geant3/gtrak/grkuta.F b/StarVMC/geant3/gtrak/grkuta.F deleted file mode 100644 index e0d69fe205c..00000000000 --- a/StarVMC/geant3/gtrak/grkuta.F +++ /dev/null @@ -1,241 +0,0 @@ -* -* $Id: grkuta.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: grkuta.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:52 fisyak -* Merge with macos version -* -* Revision 1.3 2006/11/28 09:10:12 brun -* Change speed of light to agree with the current PDG value, -* ie change from 299,792,510 to 299,792,458 -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:42 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3RKUTA (CHARGE,STEP,VECT,VOUT) -C. -C. ****************************************************************** -C. * * -C. * Runge-Kutta method for tracking a particle through a magnetic * -C. * field. Uses Nystroem algorithm (See Handbook Nat. Bur. of * -C. * Standards, procedure 25.5.20) * -C. * * -C. * Input parameters * -C. * CHARGE Particle charge * -C. * STEP Step size * -C. * VECT Initial co-ords,direction cosines,momentum * -C. * Output parameters * -C. * VOUT Output co-ords,direction cosines,momentum * -C. * User routine called * -C. * CALL GUFLD(X,F) * -C. * * -C. * ==>Called by : , GUSWIM * -C. * Authors R.Brun, M.Hansroul ********* * -C. * V.Perevoztchikov (CUT STEP implementation) * -C. * * -C. * * -C. ****************************************************************** -C. -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION(A-H,O-Z) -#endif - REAL CHARGE, STEP, VECT(*), VOUT(*), F(4) - REAL XYZT(3), XYZ(3), X, Y, Z, XT, YT, ZT - DIMENSION SECXS(4),SECYS(4),SECZS(4),HXP(3) - EQUIVALENCE (X,XYZ(1)),(Y,XYZ(2)),(Z,XYZ(3)), - + (XT,XYZT(1)),(YT,XYZT(2)),(ZT,XYZT(3)) -* - PARAMETER (MAXIT = 1992, MAXCUT = 11) - PARAMETER (EC=2.99792458D-4,DLT=1D-4,DLT32=DLT/32) - PARAMETER (ZERO=0, ONE=1, TWO=2, THREE=3) - PARAMETER (THIRD=ONE/THREE, HALF=ONE/TWO) - PARAMETER (PISQUA=.986960440109D+01) - PARAMETER (IX=1,IY=2,IZ=3,IPX=4,IPY=5,IPZ=6) -*. -*. ------------------------------------------------------------------ -*. -* This constant is for units CM,GEV/C and KGAUSS -* - ITER = 0 - NCUT = 0 - DO 10 J=1,7 - VOUT(J)=VECT(J) - 10 CONTINUE - PINV = EC * CHARGE / VECT(7) - TL = 0. - H = STEP -* -* - 20 REST = STEP-TL - IF (ABS(H).GT.ABS(REST)) H = REST - CALL GUFLD(VOUT,F) -* -* Start of integration -* - X = VOUT(1) - Y = VOUT(2) - Z = VOUT(3) - A = VOUT(4) - B = VOUT(5) - C = VOUT(6) -* - H2 = HALF * H - H4 = HALF * H2 - PH = PINV * H - PH2 = HALF * PH - SECXS(1) = (B * F(3) - C * F(2)) * PH2 - SECYS(1) = (C * F(1) - A * F(3)) * PH2 - SECZS(1) = (A * F(2) - B * F(1)) * PH2 - ANG2 = (SECXS(1)**2 + SECYS(1)**2 + SECZS(1)**2) - IF (ANG2.GT.PISQUA) GO TO 40 - DXT = H2 * A + H4 * SECXS(1) - DYT = H2 * B + H4 * SECYS(1) - DZT = H2 * C + H4 * SECZS(1) - XT = X + DXT - YT = Y + DYT - ZT = Z + DZT -* -* Second intermediate point -* - EST = ABS(DXT)+ABS(DYT)+ABS(DZT) - IF (EST.GT.H) GO TO 30 - - CALL GUFLD(XYZT,F) - AT = A + SECXS(1) - BT = B + SECYS(1) - CT = C + SECZS(1) -* - SECXS(2) = (BT * F(3) - CT * F(2)) * PH2 - SECYS(2) = (CT * F(1) - AT * F(3)) * PH2 - SECZS(2) = (AT * F(2) - BT * F(1)) * PH2 - AT = A + SECXS(2) - BT = B + SECYS(2) - CT = C + SECZS(2) - SECXS(3) = (BT * F(3) - CT * F(2)) * PH2 - SECYS(3) = (CT * F(1) - AT * F(3)) * PH2 - SECZS(3) = (AT * F(2) - BT * F(1)) * PH2 - DXT = H * (A + SECXS(3)) - DYT = H * (B + SECYS(3)) - DZT = H * (C + SECZS(3)) - XT = X + DXT - YT = Y + DYT - ZT = Z + DZT - AT = A + TWO*SECXS(3) - BT = B + TWO*SECYS(3) - CT = C + TWO*SECZS(3) -* - EST = ABS(DXT)+ABS(DYT)+ABS(DZT) - IF (EST.GT.2.*ABS(H)) GO TO 30 - - CALL GUFLD(XYZT,F) -* - Z = Z + (C + (SECZS(1) + SECZS(2) + SECZS(3)) * THIRD) * H - Y = Y + (B + (SECYS(1) + SECYS(2) + SECYS(3)) * THIRD) * H - X = X + (A + (SECXS(1) + SECXS(2) + SECXS(3)) * THIRD) * H -* - SECXS(4) = (BT*F(3) - CT*F(2))* PH2 - SECYS(4) = (CT*F(1) - AT*F(3))* PH2 - SECZS(4) = (AT*F(2) - BT*F(1))* PH2 - A = A+(SECXS(1)+SECXS(4)+TWO * (SECXS(2)+SECXS(3))) * THIRD - B = B+(SECYS(1)+SECYS(4)+TWO * (SECYS(2)+SECYS(3))) * THIRD - C = C+(SECZS(1)+SECZS(4)+TWO * (SECZS(2)+SECZS(3))) * THIRD -* - EST = ABS(SECXS(1)+SECXS(4) - (SECXS(2)+SECXS(3))) - ++ ABS(SECYS(1)+SECYS(4) - (SECYS(2)+SECYS(3))) - ++ ABS(SECZS(1)+SECZS(4) - (SECZS(2)+SECZS(3))) -* - IF (EST.GT.DLT .AND. ABS(H).GT.1.E-4) GO TO 30 - ITER = ITER + 1 - NCUT = 0 -* If too many iterations, go to HELIX - IF (ITER.GT.MAXIT) GO TO 40 -* - TL = TL + H - IF (EST.LT.(DLT32)) THEN - H = H*TWO - ENDIF - CBA = ONE/ SQRT(A*A + B*B + C*C) - VOUT(1) = X - VOUT(2) = Y - VOUT(3) = Z - VOUT(4) = CBA*A - VOUT(5) = CBA*B - VOUT(6) = CBA*C - REST = STEP - TL - IF (STEP.LT.0.) REST = -REST - IF (REST .GT. 1.E-5*ABS(STEP)) GO TO 20 -* - GO TO 999 -* -** CUT STEP - 30 NCUT = NCUT + 1 -* If too many cuts , go to HELIX - IF (NCUT.GT.MAXCUT) GO TO 40 - H = H*HALF - GO TO 20 -* -** ANGLE TOO BIG, USE HELIX - 40 F1 = F(1) - F2 = F(2) - F3 = F(3) - F4 = SQRT(F1**2+F2**2+F3**2) - RHO = -F4*PINV - TET = RHO * STEP - IF(TET.NE.0.) THEN - HNORM = ONE/F4 - F1 = F1*HNORM - F2 = F2*HNORM - F3 = F3*HNORM -* - HXP(1) = F2*VECT(IPZ) - F3*VECT(IPY) - HXP(2) = F3*VECT(IPX) - F1*VECT(IPZ) - HXP(3) = F1*VECT(IPY) - F2*VECT(IPX) - - HP = F1*VECT(IPX) + F2*VECT(IPY) + F3*VECT(IPZ) -* - RHO1 = ONE/RHO - SINT = SIN(TET) - COST = TWO*SIN(HALF*TET)**2 -* - G1 = SINT*RHO1 - G2 = COST*RHO1 - G3 = (TET-SINT) * HP*RHO1 - G4 = -COST - G5 = SINT - G6 = COST * HP - - VOUT(IX) = VECT(IX) + (G1*VECT(IPX) + G2*HXP(1) + G3*F1) - VOUT(IY) = VECT(IY) + (G1*VECT(IPY) + G2*HXP(2) + G3*F2) - VOUT(IZ) = VECT(IZ) + (G1*VECT(IPZ) + G2*HXP(3) + G3*F3) - - VOUT(IPX) = VECT(IPX) + (G4*VECT(IPX) + G5*HXP(1) + G6*F1) - VOUT(IPY) = VECT(IPY) + (G4*VECT(IPY) + G5*HXP(2) + G6*F2) - VOUT(IPZ) = VECT(IPZ) + (G4*VECT(IPZ) + G5*HXP(3) + G6*F3) -* - ELSE - VOUT(IX) = VECT(IX) + STEP*VECT(IPX) - VOUT(IY) = VECT(IY) + STEP*VECT(IPY) - VOUT(IZ) = VECT(IZ) + STEP*VECT(IPZ) -* - ENDIF -* - 999 END diff --git a/StarVMC/geant3/gtrak/gsking.F b/StarVMC/geant3/gtrak/gsking.F deleted file mode 100644 index e6847cf1ee2..00000000000 --- a/StarVMC/geant3/gtrak/gsking.F +++ /dev/null @@ -1,120 +0,0 @@ -* -* $Id: gsking.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gsking.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3SKING (IGK) -C. -C. ****************************************************************** -C. * * -C. * SUBR. G3SKING (IGK) * -C. * * -C. * Stores in stack JSTAK either the IGKth track of /GCKING/, * -C. * or the NGKINE tracks when IGK is 0. * -C. * * -C. * Called by : 'User' * -C. * Authors : R.Brun, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" -#include "geant321/gcbank.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcnum.inc" -#include "geant321/gctrak.inc" -C. - COMMON/VTXKIN/NVTX,ITR - REAL PSTO(3), VSTO(3) -C. -C. ------------------------------------------------------------------ -* - IF (NGKINE.LE.0) GO TO 999 - IF (IGK.EQ.0) THEN - N1 = 1 - N2 = NGKINE - ELSE - IF (IGK.LT.0.OR.IGK.GT.NGKINE) THEN - WRITE(CHMAIL,10000) IGK, NGKINE -10000 FORMAT(' GSKING - Abnormal request ',I4,1X,I4) - CALL GMAIL(0,0) - GO TO 999 - ENDIF - N1 = IGK - N2 = IGK - ENDIF -* -* *** Save original information from /GCKINE/ and /GCTRAK/ -* - IPASTO = IPART - TOFSTO = TOFG - DO 10 I = 1,3 - VSTO(I) = VERT(I) - PSTO(I) = PVERT(I) - 10 CONTINUE -* -* *** Store required tracks in stack JSTAK -* - IVSTO = 0 - DO 30 N = N1,N2 - IF (IFLGK(N).LT.0) GO TO 30 - TOFG = TOFSTO +TOFD(N) - IPART = GKIN(5,N) - DO 20 I = 1,3 - VERT(I) = GPOS(I,N) - PVERT(I) = GKIN(I,N) - 20 CONTINUE - IF (IFLGK(N).EQ.1) THEN - IF (IVSTO.EQ.0) THEN - IVSTO = 1 - IFLAG = 1 - ELSE - IFLAG = -NVERTX - ENDIF - ELSE - IFLAG = -IFLGK(N) - ENDIF - CALL G3SSTAK (IFLAG) - IF (IFLAG.NE.0) THEN - IFLGK(N) = ITR - IFLGK(NGKINE+1) = NVTX - ENDIF - 30 CONTINUE -* -* *** Restore original information in /GCKINE/ and /GCTRAK/ -* - IPART = IPASTO - TOFG = TOFSTO - DO 40 I = 1,3 - VERT(I) = VSTO(I) - PVERT(I) = PSTO(I) - 40 CONTINUE -* END GSKING - 999 END diff --git a/StarVMC/geant3/gtrak/gskpho.F b/StarVMC/geant3/gtrak/gskpho.F deleted file mode 100644 index 6cfcc92de39..00000000000 --- a/StarVMC/geant3/gtrak/gskpho.F +++ /dev/null @@ -1,130 +0,0 @@ -* -* $Id: gskpho.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gskpho.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 1999/09/17 07:52:36 fca -* Allow any Cherenkov-like particle to be transported -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 03/07/94 19.07.28 by S.Giani -*-- Author : - SUBROUTINE G3SKPHO (IGK) -C. -C. ****************************************************************** -C. * * -C. * * -C. * Stores in stack JSTAK either the IGKth Cherenkov photon of * -C. * /GCKIN2/, or the NPHOT tracks when IGK is 0. * -C. * * -C. * Called by : 'User' * -C. * Authors : F.Carminati * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcking.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gcstak.inc" -#include "geant321/gckine.inc" -* - PARAMETER (NWPOLA=3) -C. -C. ------------------------------------------------------------------ -C. -* -* *** Make sure the request is reasonable - IF (NGPHOT.LE.0) GO TO 999 - IF (IGK.EQ.0) THEN - N1 = 1 - N2 = NGPHOT - ELSE - IF (IGK.LT.0.OR.IGK.GT.NGPHOT) THEN - WRITE(CHMAIL,10000) IGK, NGPHOT -10000 FORMAT(' **** GSKPHO: ',I6,'th photon requested, ', - + I6,' in stack') - CALL GMAIL(0,0) - GO TO 999 - ENDIF - N1 = IGK - N2 = IGK - ENDIF -* -* *** Store photons in stack JSTAK -* -* *** Check that the bank is there and big enough - IF (JSTAK.EQ.0) THEN - NDBOOK = NTSTKP*NWSTAK +3 - NDPUSH = NTSTKS*NWSTAK - CALL MZBOOK (IXCONS,JSTAK,JSTAK,1,'STAK', 1,1,NDBOOK, IOSTAK,3) - IQ(JSTAK+2) = NTSTKP - ENDIF - IF(IQ(JSTAK-2).EQ.0) THEN - CALL MZPUSH(IXCONS,JSTAK,1,0,'I') - ENDIF - IF(LQ(JSTAK-1).EQ.0) THEN - CALL MZBOOK(IXCONS,JPOLAR,JSTAK,-1,'POLA',0,0, - + NTSTKP*NWPOLA,3,-1) - ENDIF - MISSNG=IQ(JSTAK+1)+N2-N1+1-IQ(JSTAK+2) - IF (MISSNG.GT.0) THEN - CALL MZPUSH (IXCONS, JSTAK, 0, MISSNG*NWSTAK+NDPUSH, 'I') - IQ(JSTAK+2) = IQ(JSTAK+2) +NTSTKS+MISSNG - ENDIF - MSSPOL = IQ(JSTAK+1)+N2-N1+1-IQ(JPOLAR-1)/3 - IF(MSSPOL.GT.0) THEN - CALL MZPUSH (IXCONS,JPOLAR,0,(NTSTKS+MSSPOL)*NWPOLA, 'I') - ENDIF -* -* *** Now we can go - DO 20 NN=N1,N2 - JST = JSTAK +IQ(JSTAK+1)*NWSTAK +3 - JPO = JPOLAR +IQ(JSTAK+1)*NWPOLA - IQ(JSTAK+1) = IQ(JSTAK+1) +1 - IF (IQ(JSTAK+3).EQ.0) IQ(JSTAK+3) = IQ(JSTAK+1) - IF (IQ(JSTAK+1).GT.NSTMAX) NSTMAX = IQ(JSTAK+1) -* - IQ(JST+1) = -ITRA - IQ(JST+2) = IPART - IQ(JST+3) = 0 - DO 10 I = 1,3 - Q(JST+3+I) = XPHOT(I ,NN) - Q(JST+6+I) = XPHOT(I+3,NN)*XPHOT(7,NN) - Q(JPO+ I) = XPHOT(I+7,NN) - 10 CONTINUE - Q(JST+10) = XPHOT(11,NN) - Q(JST+11) = SAFETY - Q(JST+12) = UPWGHT -* - NALIVE = NALIVE +1 - 20 CONTINUE -* END GSKPHO - 999 END diff --git a/StarVMC/geant3/gtrak/gsstak.F b/StarVMC/geant3/gtrak/gsstak.F deleted file mode 100644 index 87924e9c9e7..00000000000 --- a/StarVMC/geant3/gtrak/gsstak.F +++ /dev/null @@ -1,133 +0,0 @@ -* -* $Id: gsstak.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gsstak.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3SSTAK (IFLAG) -C. -C. ****************************************************************** -C. * * -C. * SUBR. GSSTAK (IFLAG) * -C. * * -C. * Stores in auxiliary stack JSTAK the particle currently * -C. * described in common /GCKINE/. * -C. * * -C. * On request, creates also an entry in structure JKINE : * -C. * IFLAG = * -C. * 0 : No entry in JKINE structure required (user) * -C. * 1 : New entry in JVERTX / JKINE structures required (user) * -C. * <0 : New entry in JKINE structure at vertex -IFLAG (user) * -C. * 2 : Entry in JKINE structure exists already (from GTREVE) * -C. * * -C. * Called by : GSKING, GTREVE * -C. * Author : S.Banerjee, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gckine.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctrak.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -* - COMMON/VTXKIN/NVTX,ITR - DIMENSION UBUF(1) - DATA UBUF/0./ -C. -C. ------------------------------------------------------------------ -* - IF (IPART.LE.0.OR.IPART.GT.NPART) THEN - PRINT *, ' GSSTAK - Unknown particle code, skip track ', IPART - GO TO 999 - ENDIF -* -* *** Give control to user for track selection -* -#if !defined(CERNLIB_USRJMP) - CALL GUSKIP(ISKIP) -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT1(JUSKIP,ISKIP) -#endif - IF (ISKIP.NE.0) GO TO 999 -* -* *** Check if an entry in JKINE structure is required -* - IF (IFLAG.EQ.1) THEN - CALL G3SVERT (VERT, ITRA, 0, UBUF, 0, NVTX) - CALL G3SKINE (PVERT, IPART, NVTX, UBUF, 0, ITR) - ELSE IF (IFLAG.LT.0) THEN - NVTX = -IFLAG - CALL G3SKINE (PVERT, IPART, NVTX, UBUF, 0, ITR) - ELSE - IF (IFLAG.EQ.0) THEN -* Store -ITRA in stack for a track without entry in JKINE - ITR = -ITRA - ELSE - ITR = ITRA - ENDIF - ENDIF -* -* *** Store information in stack -* - IF (JSTAK.EQ.0) THEN - NDBOOK = NTSTKP*NWSTAK +3 - NDPUSH = NTSTKS*NWSTAK - CALL MZBOOK (IXCONS,JSTAK,JSTAK,1,'STAK', 0,0,NDBOOK, IOSTAK,3) - IQ(JSTAK+2) = NTSTKP - ELSE IF (IQ(JSTAK+1).EQ.IQ(JSTAK+2)) THEN - CALL MZPUSH (IXCONS, JSTAK, 0, NDPUSH, 'I') - IQ(JSTAK+2) = IQ(JSTAK+2) +NTSTKS - ENDIF -* - JST = JSTAK +IQ(JSTAK+1)*NWSTAK +3 - IQ(JSTAK+1) = IQ(JSTAK+1) +1 - IF (IQ(JSTAK+3).EQ.0) IQ(JSTAK+3) = IQ(JSTAK+1) - IF (IQ(JSTAK+1).GT.NSTMAX) NSTMAX = IQ(JSTAK+1) -* - IQ(JST+1) = ITR - IQ(JST+2) = IPART - IQ(JST+3) = 0 - DO 90 I = 1,3 - Q(JST+3+I) = VERT(I) - Q(JST+6+I) = PVERT(I) - 90 CONTINUE - Q(JST+10) = TOFG - Q(JST+11) = SAFETY - Q(JST+12) = UPWGHT -* - NALIVE = NALIVE +1 -* END GSSTAK - 999 END diff --git a/StarVMC/geant3/gtrak/gstord.F b/StarVMC/geant3/gtrak/gstord.F deleted file mode 100644 index bc17bac3772..00000000000 --- a/StarVMC/geant3/gtrak/gstord.F +++ /dev/null @@ -1,84 +0,0 @@ -* -* $Id: gstord.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gstord.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:52 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : - SUBROUTINE G3STORD -C. -C. ****************************************************************** -C. * * -C. * Orders the particles in the stack in ascending order by * -C. * the user word. * -C. * * -C. * Called by : G3LTRAC * -C. * Authors : F.Carminati * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcnum.inc" - PARAMETER (NWPOLA=3,ISTPOS=12) -* -* ---------------------------------------------------------------------- -* - JSTPOS = JSTAK+3+ISTPOS - VALMAX = Q(JSTPOS) - INDMAX = 1 - NPSTAK = IQ(JSTAK+1) - DO 10 J=2,IQ(JSTAK+1) - JSTPOS = JSTPOS+NWSTAK - VALTST = Q(JSTPOS) - IF(VALTST.GT.VALMAX) THEN - VALMAX = VALTST - INDMAX = J - ENDIF - 10 CONTINUE - IF(INDMAX.NE.NPSTAK) THEN - JSMOVE = JSTAK+3+(INDMAX-1)*NWSTAK - JSLAST = JSTAK+3+(NPSTAK-1)*NWSTAK - DO 20 J=1,NWSTAK - TEMP = Q(JSMOVE+J) - Q(JSMOVE+J) = Q(JSLAST+J) - Q(JSLAST+J) = TEMP - 20 CONTINUE - IF(JPOLAR.NE.0) THEN - JPMOVE = JPOLAR+(INDMAX-1)*NWPOLA - JPLAST = JPOLAR+(NPSTAK-1)*NWPOLA - DO 30 J=1,NWPOLA - TEMP = Q(JPMOVE+J) - Q(JPMOVE+J) = Q(JPLAST+J) - Q(JPLAST+J) = TEMP - 30 CONTINUE - ENDIF - ENDIF - END diff --git a/StarVMC/geant3/gtrak/gstrac.F b/StarVMC/geant3/gtrak/gstrac.F deleted file mode 100644 index ba04f698871..00000000000 --- a/StarVMC/geant3/gtrak/gstrac.F +++ /dev/null @@ -1,275 +0,0 @@ -* -* $Id: gstrac.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gstrac.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.3 2004/01/28 08:20:11 brun -* Some bug fixes by Peter Hristov -* Reintroduce gstrac -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.2 1996/02/27 10:30:56 ravndal -* Correct interaction length for heavy ions -* -* Revision 1.1.1.1 1995/10/24 10:21:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 13/12/94 15.23.45 by S.Giani -*-- Author : - SUBROUTINE GSTRAC -C. -C. ****************************************************************** -C. * * -C. * SUBR. GSTRAC * -C. * * -C. * Stores in stack JTRACK the information for current track * -C. * segment at exit of current Volume/Medium. * -C. * * -C. * Called by : GTRACK * -C. * Authors : S.Banerjee, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gckine.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcvolu.inc" - REAL XC(3) -C. -C. ------------------------------------------------------------------ -* -* *** Find where in the tracking skeleton to enter the current track -* - IF (NLEVIN.EQ.NLEVEL) THEN -* (case when GINVOL has not been called) - JVO = LQ(JVOLUM-LVOLUM(NLEVIN)) - IF (INGOTO.GT.0) THEN -* -* ** Point is in content predicted by GTNEXT, go one level down -* - NLEVIN = NLEVIN +1 - INFROM = 0 - JIN = LQ(JVO-INGOTO) - IVOT = Q(JIN+2) - LVOLUM(NLEVIN) = IVOT - LINDEX(NLEVIN) = INGOTO - LINMX (NLEVIN) = Q(JVO+3) -* -* ** Prepare the translation and rotation matrices if necessary -* - JSKL = LQ(JSKLT-NLEVIN) - IF (NLEVIN.GT.2) THEN - IOFF = IQ(JSKL-3) - DO 29 ILEV = 1, NLEVEL - IF (IQ(JSKL+IOFF+ILEV).NE.LINDEX(ILEV)) GO TO 30 - 29 CONTINUE - ENDIF - JSK = LQ(JSKL-INGOTO) - IF (IQ(JSK+1).GT.0) GO TO 100 - 30 IROTT = Q(JIN+4) - CALL GTRMUL (GTRAN(1,NLEVEL), GRMAT(1,NLEVEL), Q(JIN+5), - + IROTT, GTRAN(1,NLEVIN), GRMAT(1,NLEVIN)) - GO TO 100 - ELSE -* -* ** otherwise, go one level up -* - NLEVIN = NLEVIN -1 -* - ENDIF -* - ELSE IF (NLEVIN.GT.NLEVEL) THEN - INFROM = 0 - GO TO 100 -* - ELSE IF (NLEVIN.LT.0) THEN -* (case when entering a dominant overlaping volume) - NLEVIN = -NLEVIN - INFROM = LINDEX(NLEVIN+1) - GO TO 100 - ENDIF -* -* ** Track has left current volume, check levels up -* - 80 IF (NLEVIN.EQ.0) GO TO 999 -* - IF (GRMAT(10,NLEVIN).EQ.0.) THEN - DO 88 I = 1,3 - XC(I) = VECT(I) -GTRAN(I,NLEVIN) - 88 CONTINUE - ELSE -C (later, code in line) - CALL GTRNSF (VECT, GTRAN(1,NLEVIN), GRMAT(1,NLEVIN), XC) - ENDIF -* - JVO = LQ(JVOLUM-LVOLUM(NLEVIN)) - JPAR = LQ(JGPAR-NLEVIN) - CALL GINME (XC, Q(JVO+2), Q(JPAR+1), IYES) - IF (IYES.NE.0) THEN - INFROM = LINDEX(NLEVIN+1) - ELSE - NLEVIN = NLEVIN -1 - GO TO 80 - ENDIF -* -* *** Allocate last 'garbaged' area if any, otherwise first 'free' one -* - 100 IF (NJGARB.NE.0) THEN - NCUR = NJGARB - LCUR = JTRACK +(NCUR-1)*NWTRAC - NJGARB = IQ(LCUR+1) - ELSE - NCUR = NJFREE - LCUR = JTRACK +(NCUR-1)*NWTRAC - NJFREE = NCUR +1 - ENDIF -* -* *** Link allocated area to relevant chain in JSKLT structure -* - JSKL = LQ(JSKLT-NLEVIN) - IQ(LCUR+1) = IQ(JSKL+LINDEX(NLEVIN)) - IQ(JSKL+LINDEX(NLEVIN)) = NCUR -* -* *** Store information for current track segment in stack JTRACK -* - IQ(LCUR+2) = 0 - IQ(LCUR+3) = NTMULT - IQ(LCUR+4) = ITRA - IQ(LCUR+5) = ISTAK - IQ(LCUR+6) = IPART - IQ(LCUR+7) = NSTEP -*free IQ(LCUR+8) = IDECAD - IQ(LCUR+9) = IEKBIN - IQ(LCUR+10)= ISTORY - IQ(LCUR+11)= INFROM -* - IPCUR = LCUR +NWINT - DO 109 I = 1,7 - Q(IPCUR+I) = VECT(I) - 109 CONTINUE - Q(IPCUR+8) = GEKIN - Q(IPCUR+9) = SLENG - Q(IPCUR+10) = GEKRAT - Q(IPCUR+11) = TOFG - Q(IPCUR+12) = UPWGHT -* - IPCUR = IPCUR +NWREAL - IF (ITRTYP.EQ.1) THEN -* Photons - Q(IPCUR+1) = ZINTPA - Q(IPCUR+2) = ZINTCO - Q(IPCUR+3) = ZINTPH - Q(IPCUR+4) = ZINTPF - Q(IPCUR+5) = ZINTRA - ELSE IF (ITRTYP.EQ.2) THEN -* Electrons - Q(IPCUR+1) = ZINTBR - Q(IPCUR+2) = ZINTDR - Q(IPCUR+3) = ZINTAN - ELSE IF (ITRTYP.EQ.3) THEN -* Neutral hadrons - Q(IPCUR+1) = SUMLIF - Q(IPCUR+2) = ZINTHA - ELSE IF (ITRTYP.EQ.4) THEN -* Charged hadrons - Q(IPCUR+1) = SUMLIF - Q(IPCUR+2) = ZINTHA - Q(IPCUR+3) = ZINTDR - ELSE IF (ITRTYP.EQ.5) THEN -* Muons - Q(IPCUR+1) = SUMLIF - Q(IPCUR+2) = ZINTBR - Q(IPCUR+3) = ZINTPA - Q(IPCUR+4) = ZINTDR - Q(IPCUR+5) = ZINTMU - ELSE IF (ITRTYP.EQ.7) THEN -* Cerenkov photons - Q(IPCUR+1) = ZINTLA - ELSE IF (ITRTYP.EQ.8) THEN -* Ions - Q(IPCUR+1) = ZINTHA - Q(IPCUR+2) = ZINTDR - ENDIF -* -* *** Take care of the skeleton -* - IF (NLEVIN.GT.NLDOWN) THEN - NLDOWN = NLEVIN - JSKL = LQ(JSKLT-NLDOWN) -* -* ** Clear skeleton at lowest level if necessary -* - JOFF = JSKL + IQ(JSKL-3) - DO 229 ILEV = 1, NLDOWN-1 - IF (IQ(JOFF+ILEV).EQ.LINDEX(ILEV)) GO TO 229 - NINSK = LINMX(NLDOWN) - DO 209 IN = 1, NINSK - JSK = LQ(JSKL-IN) - IQ(JSK+1) = 0 - 209 CONTINUE - DO 219 I = ILEV, NLDOWN-1 - IQ(JOFF+I) = LINDEX(I) - 219 CONTINUE - GO TO 230 - 229 CONTINUE - ENDIF -* -* ** Fill up the skeleton at NLDOWN -* - 230 IF (NLEVIN.GT.NLEVEL) THEN - JSKL = LQ(JSKLT-NLDOWN) - JSK = LQ(JSKL-LINDEX(NLDOWN)) - IF (IQ(JSK+1).LE.0) THEN - LQ(JSK-1) = LQ(JGPAR-NLDOWN) - IQ(JSK+1) = IQ(JGPAR+NLDOWN) - IQ(JSK+2) = LVOLUM(NLDOWN) - DO 239 I = 1, 3 - Q(JSK+2+I) = GTRAN(I,NLDOWN) - 239 CONTINUE - DO 249 I = 1, 10 - Q(JSK+5+I) = GRMAT(I,NLDOWN) - 249 CONTINUE - ENDIF -* - ENDIF -* -* *** Update NALIVE and test if tracking stack is full -* - NALIVE = NALIVE + 1 - IF (NALIVE-IQ(JSTAK+1).GE.NJTMAX) THEN - WRITE (CHMAIL, 1001) - CALL GMAIL (0, 0) - NJTMAX = -NJTMAX - NLVSAV = NLEVEL - DO 309 I = 2,NLDOWN - LINSAV(I) = LINDEX(I) - LMXSAV(I) = LINMX(I) - 309 CONTINUE - ENDIF -* - 1001 FORMAT (' GSTRAC : Stack JTRACK full. Inhibit parallel tracking') -* END GSTRAC - 999 END - diff --git a/StarVMC/geant3/gtrak/gsxyz.F b/StarVMC/geant3/gtrak/gsxyz.F deleted file mode 100644 index 12f1b7ee82e..00000000000 --- a/StarVMC/geant3/gtrak/gsxyz.F +++ /dev/null @@ -1,108 +0,0 @@ -* -* $Id: gsxyz.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gsxyz.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:53 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:41 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2000/05/20 14:48:51 fca -* Do not rely on the memory being 0 in JX bank -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:43 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.24 by S.Giani -*-- Author : - SUBROUTINE G3SXYZ -C. -C. ****************************************************************** -C. * * -C. * Store space point VECT in banks JXYZ * -C. * * -C. * ==>Called by : * -C. * Authors R.Brun, F.Carena ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcnum.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcpush.inc" -#include "geant321/gckine.inc" -C. -C. ------------------------------------------------------------------ -C. - IF(JXYZ.EQ.0)THEN -C -C Create mother bank JXYZ -C - CALL MZBOOK(IXDIV,JXYZ,JXYZ,1,'JXYZ',NCKINE,NCKINE,0,3,0) - IQ(JXYZ-5)=0 - ENDIF -C - NXYZ=IQ(JXYZ-2) - IF(ITRA.GT.NXYZ)THEN - NPUSH=MAX(10,ITRA-NXYZ) - CALL MZPUSH(IXDIV,JXYZ,NPUSH,0,'I') - ENDIF -C -C Create bank to store points for primary track ITRA -C - JX=LQ(JXYZ-ITRA) - IF(JX.EQ.0)THEN - CALL MZBOOK(IXDIV,JX,JXYZ,-ITRA,'JXYZ',0,0,NCJXYZ,3,0) - Q(JX+1)=NCJXYZ-2. - Q(JX+2)=3. - IQ(JX)=NTMULT -C -C Check if there is enough space to store current point -C - ELSE - NFREE=Q(JX+1) - IF(NFREE.LE.6)THEN - CALL MZPUSH(IXDIV,JX,0,NPJXYZ,'I') - JX=LQ(JXYZ-ITRA) - Q(JX+1)=Q(JX+1)+NPJXYZ - ENDIF -C - IF(NTMULT.NE.IQ(JX))THEN - IQ(JX)=NTMULT - IPOINT=JX+Q(JX+2) - IF(Q(IPOINT).NE.0.) THEN - Q(JX+2)=Q(JX+2)+3.*Q(IPOINT)+2. - Q(JX+1)=Q(JX+1)-2. - IPOINT=JX+Q(JX+2) - Q(IPOINT)=0 - ENDIF - ENDIF - ENDIF -C - IPOINT=JX+Q(JX+2) - JP=IPOINT+3.*Q(IPOINT)+1. - Q(IPOINT)=Q(IPOINT)+1. - Q(IPOINT+1)=IPART - DO 10 I=1,3 - 10 Q(JP+I)=VECT(I) - Q(JX+1)=Q(JX+1)-3. -C - END diff --git a/StarVMC/geant3/gtrak/gtckov.F b/StarVMC/geant3/gtrak/gtckov.F deleted file mode 100644 index 5622be9c45a..00000000000 --- a/StarVMC/geant3/gtrak/gtckov.F +++ /dev/null @@ -1,656 +0,0 @@ -*PATCH,GEXAM1. -*CMZ : 3.21/02 29/03/94 15.41.35 by S.Giani -*DECK, GTCKOV -*CMZ : 12/09/95 11.07.14 by S.Ravndal -*CMZ : 3.21/04 13/12/94 15.17.13 by S.Giani -*-- Author : - SUBROUTINE G3TCKOV -C. -C. ****************************************************************** -C. * * -C. * This routine is called to follow the Cherenkov photons * -C. * created during the tracking of charged particles and * -C. * simulate the relevant processes along the way, until either * -C. * the photon is absorbed or exits the detector. Processes * -C. * currently simulated are absorption in-flight, and reflection * -C. * /transmission/absorption at a medium boundary. There are two * -C. * boundary types: dielectric-metal and dielectric-dielectric. * -C. * For each of these there is a continuum of reflectivity * -C. * and of surface quality from mirror finish to matte. The * -C. * surface model is contained in routine GHSURF. * -C. * * -C. * ==>Called by : G3TRACK * -C. * Authors F.Carminati, R.Jones ************ * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcvol1.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcunit.inc" - -* -* ** The following common is in GTMEDI. LSAMVL is set to true if -* ** we did not change volume yet -* - COMMON/GCCHAN/LSAMVL - LOGICAL LSAMVL -* - DIMENSION R(3),D(3),U(3),QQ(3),vin(3) - DIMENSION VBOU(3) - LOGICAL LOLDTR -#if !defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-6) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif - PARAMETER (MXPUSH=10) - SAVE RIN1,EFFIC -C. -C. ------------------------------------------------------------------ -* -* *** Update local pointers if medium has changed -* - LOLDTR=.FALSE. - IF(IUPD.EQ.0)THEN - IUPD = 1 - JTCKOV = LQ(JTM-3) - IF(JTCKOV.EQ.0) THEN -* -* *** This Cerenkov photon has crossed into a black medium. -* *** Just absorb it. - IPROC = 101 - STEP = 0. - SLABS = 0. - ISTOP = 2 - DESTEP = 0. - GOTO 110 - ENDIF - NPCKOV = Q(JTCKOV+1) - JABSCO = LQ(JTCKOV-1) - JEFFIC = LQ(JTCKOV-2) - JINDEX = LQ(JTCKOV-3) - JPOLAR = LQ(JSTAK-1) - ENDIF - IF(SLENG.LE.0.) THEN -* -* *** Calculate GEKRAT for the particle - IF(VECT(7).GE.Q(JTCKOV+NPCKOV+1)) THEN - GEKRAT=1. - IEKBIN=NPCKOV-1 - ELSEIF(VECT(7).LT.Q(JTCKOV+2)) THEN -* -* *** Particle below energy threshold ? Short circuit -* *** This should never happen because the photons are generated -* *** only above threshold -* -* GEKIN = 0. -* GETOT = 0. -* VECT(7)= 0. -* ISTOP = 2 -* NMEC = 1 -* LMEC(1)= 30 -* GO TO 110 - GEKRAT=0. - IEKBIN=1 - ELSE - JMIN = 1 - JMAX = NPCKOV - 10 JMED = (JMIN+JMAX)/2 - IF(Q(JTCKOV+JMED+1).LT.VECT(7)) THEN - JMIN = JMED - ELSE - JMAX = JMED - ENDIF - IF(JMAX-JMIN.GT.1) GO TO 10 - IEKBIN = JMIN - GEKRAT = (VECT(7) - Q(JTCKOV+IEKBIN+1))/ - + (Q(JTCKOV+IEKBIN+2)-Q(JTCKOV+IEKBIN+1)) - ENDIF - GEKRT1=1.-GEKRAT - RIN1=Q(JINDEX+IEKBIN)*GEKRT1+Q(JINDEX+IEKBIN+1)*GEKRAT - EFFIC=Q(JEFFIC+IEKBIN)*GEKRT1+Q(JEFFIC+IEKBIN+1)*GEKRAT - STEPLA=Q(JABSCO+IEKBIN)*GEKRT1+Q(JABSCO+IEKBIN+1)*GEKRAT - ENDIF -* -* *** Compute current step size -* - IPROC = 103 - STEP = STEMAX -* -* ** Step limitation due to in flight absorbtion ? -* - IF (ILABS.GT.0) THEN - SLABS = STEPLA*ZINTLA - IF (SLABS.LT.STEP) THEN - STEP = SLABS - IPROC = 101 - ENDIF - ENDIF -* - IF (STEP.LT.0.) STEP = 0. -* -* ** Step limitation due to geometry ? -* - STEPT=0. - IF (STEP.GE.SAFETY) THEN - CALL GTNEXT - IF (IGNEXT.NE.0) THEN -* -* ** We are going to cross a boundary, so we need to simulate -* ** boundary effects and to know what is on the other side. -* ** For the moment save the current vector in the geometry tree. -* - - call gtmany(1) -* -* *** This is different from the other tracking routines. -* *** We get to the boundary and then we just jump over it -* *** So, linear transport till we are very near the boundary -* -#if !defined(CERNLIB_IBM) - STEP = MAX(SNEXT-PREC,0.) -#endif -#if defined(CERNLIB_IBM) - STEP = MAX(SNEXT-2.*PREC,0.) -#endif -C -C In case of Cherenkovs beeing near a corner, particle holding is -C prevented by a bigger step size. The value of VBOU is only used to -C calculate the correct surface normal (by GLISUR and GGPERP). The -C tracking of the Cherenkov is still using STEP -C - IF(SNEXT.GT.0.) THEN - DO 25 I=1,3 - VBOU(I)=VECT(I)+SNEXT*VECT(I+3) - 25 CONTINUE - END IF -C - IF(STEP.GT.0.) THEN - DO 30 I=1,3 - VECT(I)=VECT(I)+STEP*VECT(I+3) - 30 CONTINUE - ENDIF - STEPT=STEP -#if !defined(CERNLIB_IBM) - STEP = SNEXT - STEP + PREC -#endif -#if defined(CERNLIB_IBM) - STEP = SNEXT - STEP + 2.*PREC -#endif - IPROC = 0 - INWVOL= 2 - NMEC = 1 - LMEC(1)=1 - ENDIF -* -* Update SAFETY in stack companions, if any -* This may well not work. - IF (IQ(JSTAK+3).NE.0) THEN - DO 40 IST = IQ(JSTAK+3),IQ(JSTAK+1) - JST = JSTAK +3 +(IST-1)*NWSTAK - Q(JST+11) = SAFETY - 40 CONTINUE - IQ(JSTAK+3) = 0 - ENDIF -* - ELSE - IQ(JSTAK+3) = 0 - ENDIF -* -* *** Linear transport -* - VIN(1) = VECT(1) - VIN(2) = VECT(2) - VIN(3) = VECT(3) - - IF (INWVOL.EQ.2) THEN - NBPUSH = 0 - 50 DO 60 I = 1,3 - VECTMP = VECT(I) +STEP*VECT(I+3) - IF(VECTMP.EQ.VECT(I)) THEN -* -* *** Correct for machine precision -* - IF(VECT(I+3).NE.0.) THEN - VECTMP = VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))* - + EPSMAC - IF(NMEC.GT.0) THEN - IF(LMEC(NMEC).EQ.104) NMEC=NMEC-1 - ENDIF - NMEC=NMEC+1 - LMEC(NMEC)=104 -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL, 10000) - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT - CALL GMAIL(0,0) -10000 FORMAT(' Boundary correction in GTCKOV: ', - + ' GEKIN NUMED STEP SNEXT') -10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X) -#endif - ENDIF - ENDIF - VOUT(I) = VECTMP - 60 CONTINUE - NUMED1=NUMED - CALL GTMEDI(VOUT,NUMED2) - LOLDTR=.TRUE. - IF(NUMED2.LE.0) THEN - VECT(1) = VOUT(1) - VECT(2) = VOUT(2) - VECT(3) = VOUT(3) - GO TO 110 - ENDIF - ISH = 0 - IF(JVOLUM.GT.0) THEN - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - ISH = Q(JVO+2) - ENDIF - IF(LSAMVL.AND.ISH.NE.12) THEN -* -* *** In spite of our efforts we have not crossed the boundary -* *** we increase the step size and try again -* - NBPUSH = NBPUSH + 1 - IF (NBPUSH.LE.MXPUSH) THEN - STEP = STEP + NBPUSH*PREC - GOTO 50 - ELSE - INWVOL = 0 - ENDIF - - ENDIF - IF(NUMED1.EQ.NUMED2) THEN -* -* *** If we are in the same medium, nothing needs to be done! -* - VECT(1)=VOUT(1) - VECT(2)=VOUT(2) - VECT(3)=VOUT(3) - IPROC=0 - ELSE - JTM2 = LQ(JTMED-NUMED2) - IF(IQ(JTM2-2).GE.3) THEN - JTCKV2 = LQ(JTM2-3) - ELSE - JTCKV2 = 0 - ENDIF - IF(JTCKV2.GT.0) THEN - NPCKV2 = Q(JTCKV2+1) - JABSC2 = LQ(JTCKV2-1) - JEFFI2 = LQ(JTCKV2-2) - JINDX2 = LQ(JTCKV2-3) - IF(VECT(7).GE.Q(JTCKV2+NPCKV2+1)) THEN - GEKRT2=1. - IEKBI2=NPCKV2-1 - ELSEIF(VECT(7).LT.Q(JTCKV2+2)) THEN - GEKRT2=0. - IEKBI2=1 - ELSE - JMIN = 1 - JMAX = NPCKV2 - 64 JMED = (JMIN+JMAX)/2 - IF(Q(JTCKV2+JMED+1).LT.VECT(7)) THEN - JMIN = JMED - ELSE - JMAX = JMED - ENDIF - IF(JMAX-JMIN.GT.1) GO TO 64 - IEKBI2 = JMIN - GEKRT2 = (VECT(7) - Q(JTCKV2+IEKBI2+1))/ - + (Q(JTCKV2+IEKBI2+2)-Q(JTCKV2+IEKBI2+1)) - ENDIF - GEKRT1=1.-GEKRT2 - ABSCO2=Q(JABSC2+IEKBI2)*GEKRT1+Q(JABSC2+IEKBI2+1)*GEKRT2 - EFFIC2=Q(JEFFI2+IEKBI2)*GEKRT1+Q(JEFFI2+IEKBI2+1)*GEKRT2 - - IF(JINDX2.GT.0) THEN - RIN2=Q(JINDX2+IEKBI2)*GEKRT1+Q(JINDX2+IEKBI2+1)*GEKRT2 - ELSE - RIN2=0. - ENDIF - IF(ABS(RIN2-RIN1).LE.PREC) THEN -* -* *** The two media have the same refraction coefficient, i.e. nothing -* *** has to be done -* - VECT(1)=VOUT(1) - VECT(2)=VOUT(2) - VECT(3)=VOUT(3) - STEPLA = ABSCO2 - EFFIC = EFFIC2 - IPROC=0 - ELSE - IPROC = 102 - ENDIF - ELSE - ISTOP=2 - DESTEP=0 - NMEC = NMEC+1 - LMEC(NMEC)=30 - VECT(1)=VOUT(1) - VECT(2)=VOUT(2) - VECT(3)=VOUT(3) - GOTO 110 - ENDIF - ENDIF - ELSE - DO 70 I = 1,3 - VECT(I) = VECT(I) +STEP*VECT(I+3) - 70 CONTINUE - ENDIF -* - STEP = STEPT + STEP - SLENG = SLENG +STEP -* -* *** Update time of flight -* - TOFG = TOFG +STEP*RIN1/CLIGHT -* -* *** Update interaction probabilities -* - IF (ILABS.GT.0) ZINTLA = ZINTLA -STEP/STEPLA -* - IF (IPROC.EQ.0) GO TO 110 - NMEC = NMEC+1 - LMEC(NMEC) = IPROC -* -* ** Absorbtion in flight ? -* - IF (IPROC.EQ.101) THEN - ISTOP=2 - - CALL GRNDM(RNDM,1) - IF(RNDM.LT.EFFIC) THEN -* -* *** Destep =/= 0 means that the photon has been detected -* - - DESTEP=VECT(7) - ELSE - DESTEP=0. - ENDIF -* -* ** Boundary action? -* - ELSE IF (IPROC.EQ.102) THEN - IF(JINDX2.EQ.0) THEN -* -* *** Case dielectric -> metal -* - CALL GRNDM(RNDM,1) - IF(RNDM.LT.ABSCO2) THEN -* -* *** Photon is absorbed in the next medium -* - NMEC=NMEC+1 - LMEC(NMEC)=101 - ISTOP = 2 - CALL GRNDM(RNDM,1) - IF(RNDM.LT.EFFIC2) THEN -* -* *** Destep =/= 0 means that the photon has been detected -* - DESTEP=VECT(7) - ELSE - DESTEP = 0. - END IF - VECT(1) = VOUT(1) - VECT(2) = VOUT(2) - VECT(3) = VOUT(3) - GOTO 110 - ELSE -* -* *** Photon is reflected (no polarization effects) -* - CALL G3LISUR(VECT,VBOU,NUMED1,NUMED2,U,PDOTU,IERR) - IF (IERR.NE.0) THEN - WRITE(CHMAIL,10200) IERR - CALL GMAIL(0,0) - GO TO 110 - END IF -* -* ** Restore old volume tree, the photon does not cross the boundary -* -* CALL GLVOLU(NLEVL1,NAMES1,NUMBR1,IERR) - CALL GTMEDI(VIN,N) - LOLDTR=.FALSE. -* -* -* *** Reflect, but make sure we are in the old volume before -* - NBPUSH = 0 - 80 NBPUSH = NBPUSH+1 - IF(NBPUSH.GT.MXPUSH) THEN - WRITE(CHMAIL,10300) NTMULT,NSTEP - CALL GMAIL(0,0) - ISTOP=1 - GOTO 110 - ELSE - CALL GINVOL(VECT,ISAME) - IF(ISAME.EQ.0) THEN - PRECN = NBPUSH*PREC - VECT(1) = VECT(1) - PRECN*VECT(4) - VECT(2) = VECT(2) - PRECN*VECT(5) - VECT(3) = VECT(3) - PRECN*VECT(6) - GO TO 80 - ENDIF - ENDIF -* - NMEC=NMEC+1 - LMEC(NMEC)=106 - EDOTU = POLAR(1)*U(1) + POLAR(2)*U(2) + POLAR(3)*U(3) - VECT(4) = +VECT(4) - 2*PDOTU*U(1) - VECT(5) = +VECT(5) - 2*PDOTU*U(2) - VECT(6) = +VECT(6) - 2*PDOTU*U(3) - POLAR(1) = -POLAR(1) + 2*EDOTU*U(1) - POLAR(2) = -POLAR(2) + 2*EDOTU*U(2) - POLAR(3) = -POLAR(3) + 2*EDOTU*U(3) - INWVOL = 0 - ENDIF - ELSE -* -* case dielectric-dielectric: -* - CALL G3LISUR(VECT,VBOU,NUMED1,NUMED2,U,PDOTU,IERR) - IF (IERR.NE.0) THEN - WRITE(CHMAIL,10200) IERR - CALL GMAIL(0,0) - GO TO 110 - END IF - EDOTU = POLAR(1)*U(1) + POLAR(2)*U(2) + POLAR(3)*U(3) - COST1 = -PDOTU - IF (ABS(COST1).LT.1.) THEN - SINT1 = SQRT((1-COST1)*(1+COST1)) - SINT2 = SINT1*RIN1/RIN2 - ELSE - SINT1 = 0.0 - SINT2 = 0.0 - END IF - IF (SINT2.GE.1) THEN -* -* *** Simulate total internal reflection -* - NMEC=NMEC+1 - LMEC(NMEC)=106 -* -* ** Restore old volume tree, the photon does not cross the boundary -* -* CALL GLVOLU(NLEVL1,NAMES1,NUMBR1,IERR) - CALL GTMEDI(VIN,N) - LOLDTR=.FALSE. -* -* *** Reflect, but make sure we are in the old volume before -* - NBPUSH = 0 - 90 NBPUSH = NBPUSH+1 - IF(NBPUSH.GT.MXPUSH) THEN - WRITE(CHMAIL,10300) NTMULT,NSTEP - CALL GMAIL(0,0) - ISTOP=1 - GOTO 110 - ELSE - CALL GINVOL(VECT,ISAME) - IF(ISAME.EQ.0) THEN - PRECN = NBPUSH*PREC - VECT(1) = VECT(1) - PRECN*VECT(4) - VECT(2) = VECT(2) - PRECN*VECT(5) - VECT(3) = VECT(3) - PRECN*VECT(6) - GO TO 90 - ENDIF - ENDIF -* - VECT(4) = +VECT(4) - 2*PDOTU*U(1) - VECT(5) = +VECT(5) - 2*PDOTU*U(2) - VECT(6) = +VECT(6) - 2*PDOTU*U(3) - POLAR(1) = -POLAR(1) + 2*EDOTU*U(1) - POLAR(2) = -POLAR(2) + 2*EDOTU*U(2) - POLAR(3) = -POLAR(3) + 2*EDOTU*U(3) - INWVOL = 0 - ELSE -* -* *** Calculate amplitude for transmission (Q = P x U) -* - COST2 = SIGN(1.0,COST1)*SQRT((1-SINT2)*(1+SINT2)) - IF (SINT1.GT.1.E-4) THEN - QQ(1) = VECT(5)*U(3) - VECT(6)*U(2) - QQ(2) = VECT(6)*U(1) - VECT(4)*U(3) - QQ(3) = VECT(4)*U(2) - VECT(5)*U(1) - EPERP1 = (POLAR(1)*QQ(1) + POLAR(2)*QQ(2) + POLAR(3)* - + QQ(3)) - ENORM = SQRT(EPERP1**2+EDOTU**2) - EPERP1 = EPERP1/ENORM - EPARL1 = EDOTU/ENORM - ELSE - QQ(1) = POLAR(1) - QQ(2) = POLAR(2) - QQ(3) = POLAR(3) -* -* Here we follow Jackson's conventions and we set the parallel -* component = 1 in case of a ray perpendicular to the surface - EPERP1 = 0. - EPARL1 = 1. - END IF - IF(COST1.NE.0.) THEN - S1 = RIN1*COST1 - EPERP2 = 2*S1*EPERP1/(RIN1*COST1+RIN2*COST2) - EPARL2 = 2*S1*EPARL1/(RIN2*COST1+RIN1*COST2) - E2 = EPERP2**2 + EPARL2**2 - S2 = RIN2*COST2*E2 - TCOEF = S2/S1 - ELSE - TCOEF = 0. - ENDIF - CALL GRNDM(RNDM,1) - IF (RNDM.GT.TCOEF) THEN -* -* *** Simulate reflection -* - NMEC=NMEC+1 - LMEC(NMEC)=106 -* -* *** Restore old volume tree, the photon does not cross the boundary -* -* CALL GLVOLU(NLEVL1,NAMES1,NUMBR1,IERR) - CALL GTMEDI(VIN,N) - LOLDTR=.FALSE. -* -* *** Reflect, but make sure we are in the old volume before -* - NBPUSH = 0 - 100 NBPUSH = NBPUSH+1 - IF(NBPUSH.GT.MXPUSH) THEN - WRITE(CHMAIL,10300) NTMULT,NSTEP - CALL GMAIL(0,0) - ISTOP=1 - GOTO 110 - ELSE - CALL GINVOL(VECT,ISAME) - IF(ISAME.EQ.0) THEN - PRECN = NBPUSH*PREC - VECT(1) = VECT(1) - PRECN*VECT(4) - VECT(2) = VECT(2) - PRECN*VECT(5) - VECT(3) = VECT(3) - PRECN*VECT(6) - GO TO 100 - ENDIF - ENDIF -* - VECT(4) = VECT(4) - 2*PDOTU*U(1) - VECT(5) = VECT(5) - 2*PDOTU*U(2) - VECT(6) = VECT(6) - 2*PDOTU*U(3) - IF(SINT1.GT.1E-4) THEN - EPARL2 = RIN2*EPARL2/RIN1-EPARL1 - EPERP2 = EPERP2-EPERP1 - E2 = EPERP2**2 + EPARL2**2 - R(1) = U(1) + PDOTU*VECT(4) - R(2) = U(2) + PDOTU*VECT(5) - R(3) = U(3) + PDOTU*VECT(6) - EABS = SQRT(E2)*SINT1 - CPARL = EPARL2/EABS - CPERP = EPERP2/EABS - POLAR(1) = CPARL*R(1) - CPERP*QQ(1) - POLAR(2) = CPARL*R(2) - CPERP*QQ(2) - POLAR(3) = CPARL*R(3) - CPERP*QQ(3) - ELSEIF(RIN2.GT.RIN1) THEN -* -* *** Case of ray perpendicular to the surface. No change or -* *** an inversion of phase. - POLAR(1) = -POLAR(1) - POLAR(2) = -POLAR(2) - POLAR(3) = -POLAR(3) - ENDIF - INWVOL = 0 - ELSE -* -* *** Simulate transmission/refraction -* - NMEC=NMEC+1 - LMEC(NMEC)=107 - VECT(1) = VOUT(1) - VECT(2) = VOUT(2) - VECT(3) = VOUT(3) - IF(SINT1.GT.1E-4) THEN - ALPHA = COST1-COST2*(RIN2/RIN1) - D(1) = VECT(4) + ALPHA*U(1) - D(2) = VECT(5) + ALPHA*U(2) - D(3) = VECT(6) + ALPHA*U(3) - DABS = SQRT(D(1)**2+D(2)**2+D(3)**2) - VECT(4) = D(1)/DABS - VECT(5) = D(2)/DABS - VECT(6) = D(3)/DABS - PDOTU = -COST2 - R(1) = U(1) - PDOTU*VECT(4) - R(2) = U(2) - PDOTU*VECT(5) - R(3) = U(3) - PDOTU*VECT(6) - EABS = SQRT(E2) - CPARL = EPARL2/(EABS*SINT2) - CPERP = EPERP2/(EABS*SINT1) - POLAR(1) = CPARL*R(1) + CPERP*QQ(1) - POLAR(2) = CPARL*R(2) + CPERP*QQ(2) - POLAR(3) = CPARL*R(3) + CPERP*QQ(3) - ENDIF - GEKRAT = GEKRT2 - IEKBIN = IEKBI2 - STEPLA = ABSCO2 - EFFIC = EFFIC2 - RIN1 = RIN2 - END IF - END IF - END IF - ENDIF -* END GTCKOV - 110 IF(LOLDTR) CALL GLVOLU(NLEVL1,NAMES1,NUMBR1,IERR) -10200 FORMAT(' **** GTCKOV: error from GLISUR = ',I10) -10300 FORMAT(' **** GTCKOV: unable to reflect at NTMULT = ', - + I8,' step No. ',I8,' photon abandoned!') - END diff --git a/StarVMC/geant3/gtrak/gtelec.F b/StarVMC/geant3/gtrak/gtelec.F deleted file mode 100644 index d4b1a32114f..00000000000 --- a/StarVMC/geant3/gtrak/gtelec.F +++ /dev/null @@ -1,587 +0,0 @@ -#include "geant321/pilot.h" -*CMZ : 3.21/04 22/02/95 16.08.31 by S.Giani -*-- Author : - SUBROUTINE G3TELEC -C. -C. ****************************************************************** -C. * * -C. * Electron type track. Computes step size and propagates * -C. * particle through step. * -C. * * -C. * ==> Called by : G3TRACK * -C. * Authors R.Brun, F.Bruyant, M.Maire L.Urban ******** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gckine.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcking.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif - -#if !defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-6) - DOUBLE PRECISION DEMEAN,STOPRG,STOPMX,STOPC - DOUBLE PRECISION ONE,XCOEF1,XCOEF2,XCOEF3,ZERO -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif - PARAMETER (ONE=1,ZERO=0.) - REAL VNEXT(6) - SAVE IKCUT,STOPC -*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - DIMENSION RNDM(3) - PARAMETER ( TLIM = 0.0002) - IABAN = NINT(DPHYS1) -*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -C. -C. ------------------------------------------------------------------ -* -* *** Particle below energy threshold ? short circuit -* - IF (GEKIN.LE.CUTELE) GO TO 100 -* -* *** Update local pointers if medium or particle code has changed - IF (IUPD.EQ.0) THEN - IUPD = 1 - JMULOF= LQ(JTM-1) - IF (CHARGE.LT.0.) THEN - JBREM = LQ(JMA-9) - JLOSS = LQ(JMA-1) - JDRAY = LQ(JMA-11) - JRANG = LQ(JMA-15) - JCOEF = LQ(JMA-17) - ELSE - JBREM = LQ(JMA-9) +NEK1 - JLOSS = LQ(JMA-1) +NEK1 - JDRAY = LQ(JMA-11) +NEK1 - JRANG = LQ(JMA-15) +NEK1 - JCOEF = LQ(JMA-17) +3*NEK1 - JANNI = LQ(JMA-7) - ENDIF - IF(IMCKOV.EQ.1) THEN - JTCKOV = LQ(JTM-3) - JABSCO = LQ(JTCKOV-1) - JEFFIC = LQ(JTCKOV-2) - JINDEX = LQ(JTCKOV-3) - JCURIN = LQ(JTCKOV-4) - NPCKOV = Q(JTCKOV+1) - ENDIF - OMCMOL = Q(JPROB+21) - CHCMOL = Q(JPROB+25) - IKCUT = Q(JMULOF+NEK1+1) - STOPC = Q(JMULOF+NEK1+2) - IF(ISTRA.GT.0) THEN - JTSTRA = LQ(JMA-19) - JTSTCO = LQ(JTSTRA-1) - JTSTEN = LQ(JTSTRA-2) -#if defined(CERNLIB_ASHO) - IF(ISTRA.EQ.2) THEN - JTASHO = LQ(JMA-20) - ENDIF -#endif - ENDIF - ENDIF -* -* *** Compute current step size -* - STEP = STEMAX - IPROC = 103 - GEKRT1 = 1. -GEKRAT -* -* ** Step limitation due to bremsstrahlung ? -* - IF (IBREM.GT.0) THEN - STEPBR = GEKRT1*Q(JBREM+IEKBIN) +GEKRAT*Q(JBREM+IEKBIN+1) - SBREM = STEPBR*ZINTBR - IF (SBREM.LT.STEP) THEN - STEP = SBREM - IPROC = 9 - ENDIF - ENDIF -* -* ** Step limitation due to delta-ray production ? -* - IF (IDRAY.GT.0) THEN - STEPDR = GEKRT1*Q(JDRAY+IEKBIN) +GEKRAT*Q(JDRAY+IEKBIN+1) - SDRAY = STEPDR*ZINTDR - IF (SDRAY.LT.STEP) THEN - STEP = SDRAY - IPROC = 10 - ENDIF - ENDIF -* -* ** Step limitation due to annihilation ? -* - IF (CHARGE.GT.0.) THEN - IF (IANNI.GT.0) THEN - STEPAN = GEKRT1*Q(JANNI+IEKBIN) +GEKRAT*Q(JANNI+IEKBIN+1) - SANNI = STEPAN*ZINTAN - IF (SANNI.LT.STEP) THEN - STEP = SANNI - IPROC = 11 - ENDIF - ENDIF - ENDIF -* - IF (STEP.LE.0.) THEN - STEP = 0. - GO TO 90 - ENDIF -* -* ** Step limitation due to energy-loss,multiple scattering -* or magnetic field ? -* - IF (JMULOF.NE.0) THEN - SMULOF = GEKRT1*Q(JMULOF+IEKBIN) +GEKRAT*Q(JMULOF+IEKBIN+1) - IF (SMULOF.LT.STEP) THEN - STEP = SMULOF - IPROC = 0 - ENDIF - ENDIF -* -* ** Step limitation due to geometry ? -* - IF (STEP.GE.0.95*SAFETY) THEN - CALL GTNEXT - IF (IGNEXT.NE.0) THEN - STEP = SNEXT + PREC - IPROC = 0 - ENDIF -* -* Update SAFETY in stack companions, if any - IF (IQ(JSTAK+3).NE.0) THEN - DO 10 IST = IQ(JSTAK+3),IQ(JSTAK+1) - JST = JSTAK + 3 + (IST-1)*NWSTAK - Q(JST+11) = SAFETY - 10 CONTINUE - IQ(JSTAK+3) = 0 - ENDIF - ELSE - IQ(JSTAK+3) = 0 - ENDIF -* - IF (IFIELD.EQ.0.OR.STEP.LE.PREC) THEN -* -* *** Linear transport when no field or very short step -* - IF (IGNEXT.NE.0) THEN -* -* *** Particle is supposed to cross the boundary during step -* - DO 20 I = 1,3 - VECTMP = VECT(I) +STEP*VECT(I+3) - IF(VECTMP.EQ.VECT(I)) THEN -* -* *** Correct for machine precision -* - IF(VECT(I+3).NE.0.) THEN - VECTMP = - + VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))*EPSMAC - IF(NMEC.GT.0) THEN - IF(LMEC(NMEC).EQ.104) NMEC=NMEC-1 - ENDIF - NMEC=NMEC+1 - LMEC(NMEC)=104 -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL, 10000) - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT - CALL GMAIL(0,0) -10000 FORMAT(' Boundary correction in GTELEC: ', - + ' GEKIN NUMED STEP SNEXT') -10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X) -#endif - ENDIF - ENDIF - VECT(I) = VECTMP - 20 CONTINUE - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - ELSE - DO 30 I = 1,3 - VECT(I) = VECT(I) +STEP*VECT(I+3) - 30 CONTINUE - ENDIF - ELSE -* -* *** otherwise, swim particle in magnetic field -* - call gtmany(0) - - NMEC = NMEC +1 - LMEC(NMEC) = 4 -* -#if !defined(CERNLIB_USRJMP) - 40 CALL GUSWIM (CHARGE, STEP, VECT, VOUT) -#endif -#if defined(CERNLIB_USRJMP) - 40 CALL JUMPT4(JUSWIM,CHARGE, STEP, VECT, VOUT) -#endif -* -* ** When near to boundary, take proper action (cut-step,crossing...) -* - IF(STEP.GE.SAFETY)THEN - INEAR = 0 - IF (IGNEXT.NE.0) THEN - DO 50 I = 1,3 - VNEXT(I+3) = VECT(I+3) - VNEXT(I) = VECT(I) +SNEXT*VECT(I+3) - 50 CONTINUE - DO 60 I = 1,3 - IF (ABS(VOUT(I)-VNEXT(I)).GT.EPSIL) GO TO 70 - 60 CONTINUE - INEAR = 1 - ENDIF -* - 70 CALL GINVOL (VOUT, ISAME) - IF (ISAME.EQ.0) THEN - IF ((INEAR.NE.0).OR.(STEP.LT.EPSIL)) THEN - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - ELSE -* Cut step - STEP = 0.5*STEP - IF (LMEC(NMEC).NE.24) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 24 - ENDIF - GO TO 40 - ENDIF - ENDIF - ENDIF -* -* - DO 80 I = 1,6 - VECT(I) = VOUT(I) - 80 CONTINUE -* - ENDIF -* -* -* *** Correct the step due to multiple scattering - IF (IMULL.NE.0) THEN - STMULS = STEP - CORR=0.0001*(STEP/RADL)*(GETOT/(VECT(7)*VECT(7)))**2 - IF (CORR.GT.0.25) CORR = 0.25 - STEP = (1.+CORR)*STEP - ENDIF -* - SLENG = SLENG + STEP -* -* ** Apply synchrotron radiation if required -* - IF(ISYNC*IFIELD.NE.0) THEN - CALL G3SYNC - NMEC = NMEC+1 - LMEC(NMEC) = 108 - ENDIF -* -* *** Generate Cherenkov photons if required -* - IF(IMCKOV.EQ.1) THEN - CALL G3GCKOV - IF(NGPHOT.NE.0) THEN - NMEC = NMEC+1 - LMEC(NMEC)=105 - ENDIF - ENDIF -* -* *** Apply energy loss : find the kinetic energy corresponding -* to the new stopping range = stopmx - step -* - IF (ILOSL.NE.0) THEN - NMEC = NMEC +1 - IF(GEKRAT.LT.0.7) THEN - I1 = MAX(IEKBIN-1,1) - ELSE - I1 = MIN(IEKBIN,NEKBIN-1) - ENDIF - I1 = 3*(I1-1)+1 - XCOEF1 = Q(JCOEF+I1) - XCOEF2 = Q(JCOEF+I1+1) - XCOEF3 = Q(JCOEF+I1+2) - IF(XCOEF1.NE.0.) THEN - STOPMX = -XCOEF2+SIGN(ONE,XCOEF1)*SQRT(XCOEF2**2 - (XCOEF3- - + GEKIN/XCOEF1)) - ELSE - STOPMX = - (XCOEF3-GEKIN)/XCOEF2 - ENDIF -* - STOPRG = STOPMX - STEP - IF (STOPRG.LT.STOPC) THEN - STEP = MAX(STOPMX - STOPC,ZERO) - GO TO 100 - ENDIF -* - LMEC(NMEC) = 3 - IF(XCOEF1.NE.0.) THEN - DEMEAN=GEKIN-XCOEF1*(XCOEF3+STOPRG*(2.*XCOEF2+STOPRG)) - ELSE - DEMEAN=GEKIN-XCOEF2*STOPRG-XCOEF3 - ENDIF - IF(DEMEAN.LE.5.*GEKIN*EPSMAC) THEN - DEMEAN=(GEKRT1*Q(JLOSS+IEKBIN)+GEKRAT*Q(JLOSS+IEKBIN+1)) - + *STEP - ENDIF - IF (ILOSS.EQ.4.OR.IEKBIN.LE.IKCUT+1) THEN - DESTEP = DEMEAN - ELSE - DEMS = DEMEAN - CALL G3FLUCT (DEMS,DESTEP) - ENDIF - DESTEP=MAX(DESTEP,0.) - GEKINT = GEKIN -DESTEP - IF (GEKINT.LE.(1.01*CUTELE)) GO TO 100 - DESTEL = DESTEP - GEKIN = GEKINT - GETOT = GEKIN +AMASS - VECT(7)= SQRT((GETOT+AMASS)*GEKIN) - CALL G3EKBIN -* -* IABAN = 1 does not distinguish between sensitive and -* non-sensitive volumes, and can stop particles above the CUTE -* - IF(IABAN.EQ.1) THEN -* -* STOP electron/positron if range < safety AND no brems -* - IF(STOPMX.LE.SAFETY) THEN - IF(SBREM.GT.STOPMX) THEN -* + condition in case of Cherenkov generation: -* STOP if E/p >refractive index (i.e. e+/e- is below threshold) - IF(IMCKOV.EQ.1) THEN - THRIND=GETOT/VECT(7) -***** IF(THRIND.GT.Q(JINDEX+1)) GOTO 100 - IF(THRIND.GT.Q(JINDEX+1)) GOTO 98 - ELSE - GOTO 98 - ENDIF - ENDIF - ENDIF - STOPRG = STOPMX - STEP - IF (STOPRG.LT.STOPC) THEN - STEP = MAX(STOPMX - STOPC,ZERO) - GO TO 98 - ENDIF - END IF -* -* IABAN = 2 distinguishes between sensitive and non-sensitive -* volumes. -* In sensitive volumes additional tests are applied before -* the particle is stopped -* - IF(IABAN.EQ.2) THEN - IF(ISVOL.LE.0) THEN - IF(STOPMX.LE.SAFETY) THEN -* -* test for brems and annihilation only -* - IF((IBREM.GT.0).AND.(SBREM.LE.STOPMX)) GOTO 97 - IF((CHARGE.GT.0.).AND.(IANNI.GT.0).and. - + (SANNI.LE.STOPMX)) GOTO 97 - GOTO 98 - END IF - ELSE -* -* sensitive volume ---> more tests !! -* is energy below TLIM (=200 keV ) ? -* - IF(GEKIN.LE.TLIM) THEN -* -* range of the particle is the overestimated stopping range here -* - TOSTOP=STOPMX-STEP*DESTEP/DEMEAN-STOPC -* -* does the track remain in the actual volume? -* - IF(TOSTOP.LE.SAFETY) THEN -* -* is there no delta ray, brems, annihilation ? -* - IF((IDRAY.GT.0).AND.(SDRAY.LE.TOSTOP)) GOTO 97 - IF((IBREM.GT.0).AND.(SBREM.LE.TOSTOP)) GOTO 97 - IF((CHARGE.GT.0.).AND.(IANNI.GT.0).and. - + (SANNI.LE.TOSTOP)) GOTO 97 -* -* extra condition in case of Cherenkov generation: -* - IF(IMCKOV.EQ.1) THEN - THRIND=GETOT/VECT(7) -* -* continue only if e+/e- below threshold -* - IF(THRIND.LT.Q(JINDEX+1)) GOTO 97 - ELSE -* -* do not make transport if this estimated range negative... -* - IF(TOSTOP.LE.0.) GOTO 98 -* -* estimate final position/direction of the particle -* from energy loss + multiple scattering -* ( multiple scattering with path length = range of the particle) -* - ALFA=0.18*Z - ALFA1=ALFA+1. - TGTH2=ALFA*ALFA1/(1.2+ALFA) - S=TOSTOP*SQRT(1.+TGTH2)/ALFA1 - TGTH=SQRT(TGTH2) - THET=ATAN(TGTH) - IF(THET.Lt.0.) THET=PI-THET -* -* correct direction -* - CT=COS(THET) - ST=SQRT(1.-CT*CT) - CALL GRNDM(RNDM,1) - PHI=TWOPI*RNDM(1) -* - D1=ST*COS(PHI) - D2=ST*SIN(PHI) - D3=CT - VMM=SQRT(VECT(4)*VECT(4)+VECT(5)*VECT(5)) - IF(VMM.NE.0.) THEN - PD1=VECT(4)/VMM - PD2=VECT(5)/VMM - V4=PD1*VECT(6)*D1-PD2*D2+VECT(4)*D3 - V5=PD2*VECT(6)*D1+PD1*D2+VECT(5)*D3 - V6=-VMM*D1+VECT(6)*D3 - ELSE - V4=D1 - V5=D2 - V6=D3 - ENDIF - VP=1./SQRT(V4*V4+V5*V5+V6*V6) - VECT(4)=V4*VP - VECT(5)=V5*VP - VECT(6)=V6*VP -* -* transport particle ( assuming FIELD = 0. ) -* - DO 123 I=1,3 - VECT(I)=VECT(I)+S*VECT(I+3) -123 CONTINUE -* -* put back into GEKIN the original value in order to have -* a correct DESTEP -* - GOTO 98 - END IF - END IF - END IF -*++++++++++++++++++++++++++++++++++++++++++++++++++++++ - END IF -97 CONTINUE - ENDIF - ENDIF -*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -* -* *** Apply multiple scattering. -* - IF (IMULL.NE.0) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 2 - CALL G3MULTS - ENDIF -* -* *** Update time of flight -* - TOFG = TOFG +STEP*GETOT/(VECT(7)*CLIGHT) - IF (TOFG.GE.TOFMAX) THEN - ISTOP = 4 - NMEC = NMEC +1 - LMEC(NMEC) = 22 - GO TO 999 - ENDIF -* -* *** Update interaction probabilities -* - IF (IBREM.GT.0) ZINTBR = ZINTBR -STEP/STEPBR - IF (IDRAY.GT.0) ZINTDR = ZINTDR -STEP/STEPDR - IF (CHARGE.GT.0.) THEN - IF (IANNI.GT.0) ZINTAN = ZINTAN -STEP/STEPAN - ENDIF -* -* *** Apply the selected process if any -* - 90 IF (IPROC.EQ.0) GO TO 999 - NMEC = NMEC +1 - LMEC(NMEC) = IPROC -* -* ** Bremsstrahlung ? -* - IF (IPROC.EQ.9) THEN - CALL G3BREME -* -* ** Delta ray ? -* - ELSE IF (IPROC.EQ.10) THEN -* - IF((IPART.EQ.2).OR.((IPART.EQ.3).AND.(GEKIN.GT.2.*DCUTE))) THEN - CALL G3DRAY - ELSE - GOTO 98 - ENDIF -* -* ** Positron annihilation ? -* - ELSE IF (IPROC.EQ.11) THEN - CALL G3ANNI - - ENDIF - GO TO 999 -* -* *** Special treatment for overstopped tracks -* - 98 GEKIN=GEKIN+DESTEP - 100 DESTEP = GEKIN - DESTEL = DESTEP - GEKIN = 0. - GETOT = AMASS - VECT(7)= 0. - INWVOL = 0 - NMEC = NMEC +1 - LMEC(NMEC) = 30 - IF ((CHARGE.LT.0.).OR.(IANNI.EQ.0)) THEN - ISTOP = 2 - ELSE - NMEC = NMEC +1 - LMEC(NMEC) = 11 - CALL G3ANNIR - ENDIF - 999 IF(NGPHOT.GT.0) THEN - IF(ITCKOV.EQ.2.AND.ISTOP.EQ.0) THEN -* -* The electron has produced Cerenkov photons and it is still alive -* we put it in the stack and we let the photons to be tracked - NGKINE = NGKINE+1 - GKIN(1,NGKINE) = VECT(4)*VECT(7) - GKIN(2,NGKINE) = VECT(5)*VECT(7) - GKIN(3,NGKINE) = VECT(6)*VECT(7) - GKIN(4,NGKINE) = GETOT - GKIN(5,NGKINE) = IPART - TOFD(NGKINE) = 0. - ISTOP = 1 -c----put position as well - GPOS(1,NGKINE)=VECT(1) - GPOS(2,NGKINE)=VECT(2) - GPOS(3,NGKINE)=VECT(3) - ENDIF - ENDIF - END - diff --git a/StarVMC/geant3/gtrak/gtgama.F b/StarVMC/geant3/gtrak/gtgama.F deleted file mode 100644 index 7d388741bd3..00000000000 --- a/StarVMC/geant3/gtrak/gtgama.F +++ /dev/null @@ -1,277 +0,0 @@ -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.24 by S.Giani -*-- Author : - SUBROUTINE G3TGAMA -C. -C. ****************************************************************** -C. * * -C. * Photon track. Computes step size and propagates particle * -C. * through step. * -C. * * -C. * ==>Called by : G3TRACK * -C. * Authors R.Brun, F.Bruyant L.Urban ******** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gctrak.inc" -#if defined(CERNLIB_DEBUG) -#include "geant321/gcunit.inc" -#endif -#if !defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-6) - DOUBLE PRECISION ONE,XCOEF1,XCOEF2,XCOEF3,ZERO -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif - PARAMETER (ONE=1,ZERO=0) - PARAMETER (EPCUT=1.022E-3) -C. -C. ------------------------------------------------------------------ -* -* *** Particle below energy threshold ? Short circuit -* -* - IF (GEKIN.LE.CUTGAM) GOTO 998 -* -* *** Update local pointers if medium has changed -* - IF(IUPD.EQ.0)THEN - IUPD = 1 - JPHOT = LQ(JMA-6) - JCOMP = LQ(JMA-8) - JPAIR = LQ(JMA-10) - JPFIS = LQ(JMA-12) - JRAYL = LQ(JMA-13) - ENDIF - IABAN = NINT(DPHYS1) -* -* *** Compute current step size -* - IPROC = 103 - STEP = STEMAX - GEKRT1 = 1 .-GEKRAT -* -* ** Step limitation due to pair production ? -* - IF (GETOT.GT.EPCUT) THEN - IF (IPAIR.GT.0) THEN - STEPPA = GEKRT1*Q(JPAIR+IEKBIN) +GEKRAT*Q(JPAIR+IEKBIN+1) - SPAIR = STEPPA*ZINTPA - IF (SPAIR.LT.STEP) THEN - STEP = SPAIR - IPROC = 6 - ENDIF - ENDIF - ENDIF -* -* ** Step limitation due to Compton scattering ? -* - IF (ICOMP.GT.0) THEN - STEPCO = GEKRT1*Q(JCOMP+IEKBIN) +GEKRAT*Q(JCOMP+IEKBIN+1) - SCOMP = STEPCO*ZINTCO - IF (SCOMP.LT.STEP) THEN - STEP = SCOMP - IPROC = 7 - ENDIF - ENDIF -* -* ** Step limitation due to photo-electric effect ? -* - IF (GEKIN.LT.0.4) THEN - IF (IPHOT.GT.0) THEN - STEPPH = GEKRT1*Q(JPHOT+IEKBIN) +GEKRAT*Q(JPHOT+IEKBIN+1) - SPHOT = STEPPH*ZINTPH - IF (SPHOT.LT.STEP) THEN - STEP = SPHOT - IPROC = 8 - ENDIF - ENDIF - ENDIF -* -* ** Step limitation due to photo-fission ? -* - IF (JPFIS.GT.0) THEN - STEPPF = GEKRT1*Q(JPFIS+IEKBIN) +GEKRAT*Q(JPFIS+IEKBIN+1) - SPFIS = STEPPF*ZINTPF - IF (SPFIS.LT.STEP) THEN - STEP = SPFIS - IPROC = 23 - ENDIF - ENDIF -* -* ** Step limitation due to Rayleigh scattering ? -* - IF (IRAYL.GT.0) THEN - IF (GEKIN.LT.0.01) THEN - STEPRA = GEKRT1*Q(JRAYL+IEKBIN) +GEKRAT*Q(JRAYL+IEKBIN+1) - SRAYL = STEPRA*ZINTRA - IF (SRAYL.LT.STEP) THEN - STEP = SRAYL - IPROC = 25 - ENDIF - ENDIF - ENDIF -* - IF (STEP.LT.0.) STEP = 0. -* -* ** Step limitation due to geometry ? -* - IF (STEP.GE.SAFETY) THEN - CALL GTNEXT - IF (IGNEXT.NE.0) THEN - STEP = SNEXT + PREC - INWVOL= 2 - IPROC = 0 - NMEC = 1 - LMEC(1)=1 - ENDIF -* -* Update SAFETY in stack companions, if any - IF (IQ(JSTAK+3).NE.0) THEN - DO 10 IST = IQ(JSTAK+3),IQ(JSTAK+1) - JST = JSTAK +3 +(IST-1)*NWSTAK - Q(JST+11) = SAFETY - 10 CONTINUE - IQ(JSTAK+3) = 0 - ENDIF -* - ELSE - IQ(JSTAK+3) = 0 - ENDIF -* -* *** Linear transport -* - IF (INWVOL.EQ.2) THEN - DO 20 I = 1,3 - VECTMP = VECT(I) +STEP*VECT(I+3) - IF(VECTMP.EQ.VECT(I)) THEN -* -* *** Correct for machine precision -* - IF(VECT(I+3).NE.0.) THEN - VECTMP = VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))* - + EPSMAC - IF(NMEC.GT.0) THEN - IF(LMEC(NMEC).EQ.104) NMEC=NMEC-1 - ENDIF - NMEC=NMEC+1 - LMEC(NMEC)=104 -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL, 10000) - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT - CALL GMAIL(0,0) -10000 FORMAT(' Boundary correction in GTGAMA: ', - + ' GEKIN NUMED STEP SNEXT') -10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X) -#endif - ENDIF - ENDIF - VECT(I) = VECTMP - 20 CONTINUE - ELSE - DO 30 I = 1,3 - VECT(I) = VECT(I) +STEP*VECT(I+3) - 30 CONTINUE - ENDIF -* - SLENG = SLENG +STEP -* -* *** Update time of flight -* - TOFG = TOFG +STEP/CLIGHT -* -* *** Update interaction probabilities -* - IF (GETOT.GT.EPCUT) THEN - IF (IPAIR.GT.0) ZINTPA = ZINTPA -STEP/STEPPA - ENDIF - IF (ICOMP.GT.0) ZINTCO = ZINTCO -STEP/STEPCO - IF (GEKIN.LT.0.4) THEN - IF (IPHOT.GT.0) ZINTPH = ZINTPH -STEP/STEPPH - ENDIF - IF (JPFIS.GT.0) ZINTPF = ZINTPF -STEP/STEPPF - IF (IRAYL.GT.0) THEN - IF (GEKIN.LT.0.01) ZINTRA = ZINTRA -STEP/STEPRA - ENDIF -* - IF (IPROC.EQ.0) GO TO 999 - NMEC = 1 - LMEC(1) = IPROC -* -* ** Pair production ? -* - IF (IPROC.EQ.6) THEN - CALL G3PAIRG -* -* ** Compton scattering ? -* - ELSE IF (IPROC.EQ.7) THEN - CALL G3COMP -* -* ** Photo-electric effect ? -* - ELSE IF (IPROC.EQ.8) THEN - IF (IABAN.LE.0) GOTO 40 -* -* ** If IABAN=1,2 see whether we have to abandon the electron right away -* -* Calculate range of the photoelectron ( with kin. energy Ephot) -* - IF(GEKIN.LE.0.001) THEN - JCOEF = LQ(JMA-17) - IF(GEKRAT.LT.0.7) THEN - I1 = MAX(IEKBIN-1,1) - ELSE - I1 = MIN(IEKBIN,NEKBIN-1) - ENDIF - I1 = 3*(I1-1)+1 - XCOEF1 = Q(JCOEF+I1) - XCOEF2 = Q(JCOEF+I1+1) - XCOEF3 = Q(JCOEF+I1+2) - IF(XCOEF1.NE.0.) THEN - STOPMX = -XCOEF2+SIGN(ONE,XCOEF1)*SQRT(XCOEF2**2 - (XCOEF3- - + GEKIN/XCOEF1)) - ELSE - STOPMX = - (XCOEF3-GEKIN)/XCOEF2 - ENDIF -* -* DO NOT call G3PHOT if this (overestimated) range is smaller -* than SAFETY -* - IF ((STOPMX.LE.SAFETY).AND. - + (IABAN.NE.2.OR.ISVOL.LE.0)) GOTO 998 - ENDIF - - 40 CALL G3PHOT -* -* ** Rayleigh effect ? -* - ELSE IF (IPROC.EQ.25) THEN - CALL G3RAYL -* -* ** Photo-fission ? -* - ELSE IF (IPROC.EQ.23) THEN - CALL G3PFIS -* - ENDIF -* - GOTO 999 -998 DESTEP = GEKIN - GEKIN = 0. - GETOT = 0. - VECT(7)= 0. - ISTOP = 2 - NMEC = NMEC+1 - LMEC(NMEC)= 30 - 999 END diff --git a/StarVMC/geant3/gtrak/gthadr.F b/StarVMC/geant3/gtrak/gthadr.F deleted file mode 100644 index f9a59962d82..00000000000 --- a/StarVMC/geant3/gtrak/gthadr.F +++ /dev/null @@ -1,550 +0,0 @@ -#include "geant321/pilot.h" -*CMZ : 3.21/02 03/07/94 17.57.24 by S.Giani -*-- Author : - SUBROUTINE G3THADR -C. -C. ****************************************************************** -C. * * -C. * Charged hadron type track. Computes step size and propagates * -C. * particle through step. * -C. * * -C. * ==>Called by : G3TRACK * -C. * Authors R.Brun, F.Bruyant, M.Maire ******** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif - -#if !defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-6) - DOUBLE PRECISION GKR,DEMEAN,STOPP,STOPMX,STOPRG,STOPC,EKIPR - DOUBLE PRECISION ONE,XCOEF1,XCOEF2,XCOEF3,YCOEF1,YCOEF2,YCOEF3 -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif - PARAMETER (THRESH=0.7,ONE=1) - REAL VNEXT(6) - SAVE CFLD,CHARG2,RMASS,CUTPRO,IKCUT,STOPC -C. -C. ------------------------------------------------------------------ -* -* *** Particle below energy threshold ? short circuit -* - IF (GEKIN.LE.CUTHAD) GO TO 100 -* -* *** Update local pointers if medium has changed -* - IF (IUPD.EQ.0) THEN - IUPD = 1 - JLOSS = LQ(JMA-3) - JRANG = LQ(JMA-16) + NEK1 - JCOEF = LQ(JMA-18) + 3*NEK1 - CHARG2 = CHARGE*CHARGE - RMASS = PMASS/AMASS - OMCMOL = Q(JPROB+21)*CHARG2 - CHCMOL = Q(JPROB+25)*ABS(CHARGE) - CUTPRO = MAX(CUTHAD*RMASS,ELOW(1)) - IKCUT = GEKA*LOG10(CUTPRO) + GEKB - GKR = (CUTPRO - ELOW(IKCUT))/(ELOW(IKCUT+1) - ELOW(IKCUT)) - STOPC = (1.-GKR)*Q(JRANG+IKCUT) + GKR*Q(JRANG+IKCUT+1) - IF (FIELDM.NE.0.) THEN - CFLD = 3333.*DEGRAD*TMAXFD/ABS(FIELDM*CHARGE) - ELSE - CFLD = BIG - ENDIF - IF(IMCKOV.EQ.1) THEN - JTCKOV = LQ(JTM-3) - JABSCO = LQ(JTCKOV-1) - JEFFIC = LQ(JTCKOV-2) - JINDEX = LQ(JTCKOV-3) - JCURIN = LQ(JTCKOV-4) - NPCKOV = Q(JTCKOV+1) - ENDIF - IF(ISTRA.GT.0) THEN - JTSTRA = LQ(JMA-19) - JTSTCO = LQ(JTSTRA-1) - JTSTEN = LQ(JTSTRA-2) -#if defined(CERNLIB_ASHO) - IF(ISTRA.EQ.2) THEN - JTASHO = LQ(JMA-20) - ENDIF -#endif - ENDIF - ENDIF -* -* *** Compute current step size -* - STEP = STEMAX - IPROC = 103 - GEKRT1 = 1. -GEKRAT -* -* ** Step limitation due to hadron interaction ? -* - IF (IHADR.GT.0) THEN -#if !defined(CERNLIB_USRJMP) - CALL GUPHAD -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUPHAD) -#endif - IF (SHADR.LT.STEP) THEN - IF (SHADR.LE.0.) SHADR = PREC - STEP = SHADR - IPROC = 12 - ENDIF - ENDIF -* -* ** Step limitation due to decay ? -* - IF (IDCAY.GT.0) THEN - SDCAY = SUMLIF*VECT(7)/AMASS - IF (SDCAY.LT.STEP) THEN - STEP = SDCAY - IPROC = 5 - ENDIF - ENDIF -* -* ** Step limitation due to delta-ray production ? -* (Cannot be tabulated easily because dependent on AMASS) -* - IF (IDRAY.GT.0) THEN - STEPDR = BIG - IF (GEKIN.GT.DCUTM) THEN - GAMASS = GETOT +AMASS - TMAX = EMASS*GEKIN*GAMASS/(0.5*AMASS*AMASS+EMASS*GETOT) - IF (TMAX.GT.DCUTM) THEN - BET2 = GEKIN*GAMASS/(GETOT*GETOT) - Y = DCUTM/TMAX - SIG = (1.-Y+BET2*Y*LOG(Y))/DCUTM -* extra term for spin 1/2 - IF (AMASS.GT.0.9) SIG=SIG+0.5*(TMAX-DCUTM)/(GETOT*GETOT) - SIG = SIG*Q(JPROB+17)*CHARG2*EMASS/BET2 -* - IF (SIG.GT.0.) THEN - STEPDR = 1./SIG - SDRAY = STEPDR*ZINTDR - IF (SDRAY.LE.STEP) THEN - STEP = SDRAY - IPROC = 10 - ENDIF - ENDIF - ENDIF - ENDIF - ENDIF -* - IF (STEP.LE.0.) THEN - STEP = 0. - GO TO 110 - ENDIF -* -* ** Step limitation due to energy loss (stopping range) ? -* - IF (ILOSL.GT.0) THEN - IF(GEKRAT.LT.THRESH) THEN - I1 = MAX(IEKBIN-1,1) - ELSE - I1 = MIN(IEKBIN,NEKBIN-1) - ENDIF - I1 = 3*(I1-1)+1 - XCOEF1 = Q(JCOEF+I1) - XCOEF2 = Q(JCOEF+I1+1) - XCOEF3 = Q(JCOEF+I1+2) - IF(XCOEF1.NE.0) THEN - STOPP = XCOEF2**2 -(XCOEF3-GEKIN*RMASS/XCOEF1) - if (STOPP.gt.0) then - STOPP = -XCOEF2+SIGN(ONE,XCOEF1)* SQRT(STOPP) - else - STOPP = - (XCOEF3-GEKIN*RMASS)/XCOEF2 - endif -!// STOPP = -XCOEF2+SIGN(ONE,XCOEF1)* SQRT(XCOEF2 -!// + **2 -(XCOEF3-GEKIN*RMASS/XCOEF1)) - ELSE - STOPP = - (XCOEF3-GEKIN*RMASS)/XCOEF2 - ENDIF - STOPMX = (STOPP - STOPC)/(RMASS*CHARG2) - IF (STOPMX.LT.MIN(STEP,STMIN)) THEN - STEP = STOPMX - IPROC = 0 - IF(STEP.LE.0.)THEN - GO TO 100 - ENDIF - GO TO 10 - ENDIF - EKF = (1. - DEEMAX)*GEKIN*RMASS - IF (EKF.LT.ELOW(1)) THEN - EKF = ELOW(1) - IKF = 1 - ELSEIF (EKF.GE.ELOW(NEKBIN)) THEN - IKF = NEKBIN - IF (EKF.GE.ELOW(NEK1)) THEN - EKF = ELOW(NEK1)*0.99 - ENDIF - ELSE - IKF=GEKA*LOG10(EKF)+GEKB - ENDIF - GKR=(EKF-ELOW(IKF))/(ELOW(IKF+1)-ELOW(IKF)) - IF(GKR.LT.THRESH) THEN - IK1 = MAX(IKF-1,1) - ELSE - IK1 = MIN(IKF,NEKBIN-1) - ENDIF - IK1 = 3*(IK1-1)+1 - YCOEF1=Q(JCOEF+IK1) - YCOEF2=Q(JCOEF+IK1+1) - YCOEF3=Q(JCOEF+IK1+2) - IF(YCOEF1.NE.0.) THEN - SLOSP = -YCOEF2+SIGN(ONE,YCOEF1)*SQRT(YCOEF2**2- (YCOEF3- - + EKF/YCOEF1)) - ELSE - SLOSP = - (YCOEF3-EKF)/YCOEF2 - ENDIF - SLOSP = STOPP - SLOSP - SLOSS = MAX(STMIN, SLOSP/(RMASS*CHARG2) ) - IF (SLOSS.LT.STEP) THEN - STEP = SLOSS - IPROC = 0 - ENDIF - ENDIF -* -* ** Step limitation due to bending in magnetic field ? -* - IF (IFIELD.NE.0) THEN - SFIELD = CFLD*VECT(7) - SFIELD=MAX(SFIELD, STMIN) - IF (SFIELD.LT.STEP) THEN - STEP = SFIELD - IPROC = 0 - ENDIF - ENDIF -* -* ** Step limitation due to multiple scattering ? -* - IF (IMULL.GT.0) THEN - SMULS=MIN(2232.*RADL*((VECT(7)**2)/(GETOT*CHARGE))**2,10.*RADL) - SMULS = MAX(STMIN, SMULS ) - IF (SMULS.LT.STEP) THEN - STEP = SMULS - IPROC = 0 - ENDIF - ENDIF -* - 10 CONTINUE -* -* ** Step limitation due to Cerenkov production ? -* - IF (IMCKOV.GT.0) THEN - CALL G3NCKOV - STCKOV = MXPHOT/MAX(3.*DNDL,1E-10) - SMULS = MAX(STMIN, STCKOV) - IF (SMULS.LT.STEP) THEN - STEP = STCKOV - IPROC = 0 - ENDIF - ENDIF -* -* ** Step limitation due to geometry ? -* - IF (STEP.GE.0.95*SAFETY) THEN - CALL GTNEXT - IF (IGNEXT.NE.0) THEN - STEP = SNEXT + PREC - IPROC = 0 - ENDIF -* -* Update SAFETY in stack companions, if any - IF (IQ(JSTAK+3).NE.0) THEN - DO 20 IST = IQ(JSTAK+3),IQ(JSTAK+1) - JST = JSTAK + 3 + (IST-1)*NWSTAK - Q(JST+11) = SAFETY - 20 CONTINUE - IQ(JSTAK+3) = 0 - ENDIF - ELSE - IQ(JSTAK+3) = 0 - ENDIF -* -* *** Linear transport when no field or very short step -* - IF (IFIELD.EQ.0.OR.STEP.LE.PREC) THEN -* - IF (IGNEXT.NE.0) THEN - DO 30 I = 1,3 - VECTMP = VECT(I) +STEP*VECT(I+3) - IF(VECTMP.EQ.VECT(I)) THEN -* -* *** Correct for machine precision -* - IF(VECT(I+3).NE.0.) THEN - VECTMP = - + VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))*EPSMAC - IF(NMEC.GT.0) THEN - IF(LMEC(NMEC).EQ.104) NMEC=NMEC-1 - ENDIF - NMEC=NMEC+1 - LMEC(NMEC)=104 -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL, 10000) - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT - CALL GMAIL(0,0) -10000 FORMAT(' Boundary correction in GTHADR: ', - + ' GEKIN NUMED STEP SNEXT') -10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X) -#endif - ENDIF - ENDIF - VECT(I) = VECTMP - 30 CONTINUE - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - ELSE - DO 40 I = 1,3 - VECT(I) = VECT(I) +STEP*VECT(I+3) - 40 CONTINUE - ENDIF - ELSE -* -* *** otherwise, swim particle in magnetic field -* - - call gtmany(0) - - NMEC = NMEC +1 - LMEC(NMEC) = 4 -* -#if !defined(CERNLIB_USRJMP) - 50 CALL GUSWIM (CHARGE, STEP, VECT, VOUT) -#endif -#if defined(CERNLIB_USRJMP) - 50 CALL JUMPT4(JUSWIM, CHARGE, STEP, VECT, VOUT) -#endif -* -* ** When near to boundary, take proper action (cut-step,crossing...) -* - IF(STEP.GE.SAFETY)THEN - INEAR = 0 - IF (IGNEXT.NE.0) THEN - DO 60 I = 1,3 - VNEXT(I+3) = VECT(I+3) - VNEXT(I) = VECT(I) +SNEXT*VECT(I+3) - 60 CONTINUE - DO 70 I = 1,3 - IF (ABS(VOUT(I)-VNEXT(I)).GT.EPSIL) GO TO 80 - 70 CONTINUE - INEAR = 1 - ENDIF -* - 80 CALL GINVOL (VOUT, ISAME) - IF (ISAME.EQ.0)THEN - IF ((INEAR.NE.0).OR.(STEP.LT.EPSIL)) THEN - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - ELSE -* Cut step - STEP = 0.5*STEP - IF (LMEC(NMEC).NE.24) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 24 - ENDIF - GO TO 50 - ENDIF - ENDIF - ENDIF -* - DO 90 I = 1,6 - VECT(I) = VOUT(I) - 90 CONTINUE -* - ENDIF -* -* *** Correct the step due to multiple scattering - IF (IMULL.NE.0) THEN - STMULS = STEP - CORR=0.0001*CHARG2*(STEP/RADL)*(GETOT/(VECT(7)*VECT(7)))**2 - IF (CORR.GT.0.25) CORR = 0.25 - STEP = (1.+CORR)*STEP - ENDIF -* - SLENG = SLENG + STEP -* -* *** Generate Cherenkov photons if required -* - IF(IMCKOV.EQ.1) THEN - CALL G3GCKOV - IF(NGPHOT.NE.0) THEN - NMEC=NMEC+1 - LMEC(NMEC)=105 - ENDIF - ENDIF -* -* *** apply energy loss : find the kinetic energy corresponding -* to the new stopping range = stopmx - step -* - IF (ILOSL.NE.0) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 3 - STOPRG = STOPP - STEP*RMASS*CHARG2 - IF (STOPRG.LE.STOPC) THEN - STEP = STOPMX - GO TO 100 - ENDIF - IF(XCOEF1.NE.0.) THEN - EKIPR = XCOEF1*(XCOEF3+STOPRG*(2.*XCOEF2+STOPRG)) - ELSE - EKIPR = XCOEF2*STOPRG+XCOEF3 - ENDIF - DEMEAN=GEKIN - EKIPR/RMASS - IF(DEMEAN.LE.5.*GEKIN*EPSMAC) THEN - DEMEAN=(GEKRT1*Q(JLOSS+IEKBIN)+GEKRAT*Q(JLOSS+IEKBIN+1)) - + *STEP*CHARG2 - ENDIF - IF (ILOSS.EQ.4.OR.IEKBIN.LE.IKCUT+1) THEN - DESTEP = DEMEAN - ELSE - DEMS = DEMEAN/CHARG2 - CALL G3FLUCT(DEMS,DESTEP) - DESTEP = DESTEP*CHARG2 - ENDIF - DESTEP=MAX(DESTEP,0.) - GEKINT = GEKIN -DESTEP - IF (GEKINT.LE.(1.01*CUTHAD)) GO TO 100 - DESTEL = DESTEP - GEKIN = GEKINT - GETOT = GEKIN +AMASS - VECT(7)= SQRT((GETOT+AMASS)*GEKIN) - CALL G3EKBIN - ENDIF -* -* *** Apply multiple scattering. -* - IF (IMULL.NE.0) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 2 - CALL G3MULTS - ENDIF -* -* *** Update time of flight -* - SUMLIF = SUMLIF -STEP*AMASS/VECT(7) - TOFG = TOFG +STEP*GETOT/(VECT(7)*CLIGHT) - IF (TOFG.GE.TOFMAX) THEN - ISTOP = 4 - NMEC = NMEC +1 - LMEC(NMEC) = 22 - GO TO 999 - ENDIF -* -* *** Update interaction probabilities -* - IF (IHADR.GT.0) ZINTHA = ZINTHA*(1.-STEP/SHADR) - IF (IDRAY.GT.0) ZINTDR = ZINTDR -STEP/STEPDR -* - GO TO 110 -* -* ** Special treatment for overstopped tracks -* - 100 DESTEP = GEKIN - DESTEL = DESTEP - GEKIN = 0. - GAMMA = GETOT/AMASS - GETOT = AMASS - VECT(7)= 0. - INWVOL = 0 - ISTOP = 2 - NMEC = NMEC + 1 - LMEC(NMEC) = 30 - IF (IHADR.EQ.0) THEN - IF (IDCAY.NE.0) THEN - TOFG = TOFG +0.5*(1+GAMMA)*SUMLIF/CLIGHT - SUMLIF = 0. - IF (TOFG.GE.TOFMAX) THEN - ISTOP = 4 - NMEC = NMEC + 1 - LMEC(NMEC) = 22 - NGKINE = 0 - ELSE - NMEC = NMEC + 1 - LMEC(NMEC) = 5 - ISTOP =1 - CALL G3DECAY - ENDIF - ENDIF - GO TO 999 - ENDIF - IPROC = 12 -* -* *** apply slected process if any -* - 110 IF (IPROC.EQ.0) GO TO 999 - NMEC = NMEC +1 - LMEC(NMEC) = IPROC -* -* ** Hadron interaction ? -* - IF (IPROC.EQ.12) THEN -#if !defined(CERNLIB_USRJMP) - CALL GUHADR -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUHADR) -#endif -* * Check time cut-off for decays at rest - IF (LMEC(NMEC).EQ.5) THEN - TOFG = TOFG +SUMLIF/CLIGHT - SUMLIF = 0. - IF (TOFG.GE.TOFMAX) THEN - NGKINE = 0 - ISTOP = 4 - LMEC(NMEC) = 22 - ENDIF - ENDIF -* -* ** Decay ? -* - ELSE IF (IPROC.EQ.5) THEN - ISTOP = 1 - CALL G3DECAY -* -* ** Delta-ray ? -* - ELSE IF (IPROC.EQ.10) THEN - CALL G3DRAY - ENDIF - 999 IF(NGPHOT.GT.0) THEN - IF(ITCKOV.EQ.2.AND.ISTOP.EQ.0) THEN -* -* The hadron has produced Cerenkov photons and it is still alive -* we put it in the stack and we let the photons to be tracked - NGKINE = NGKINE+1 - GKIN(1,NGKINE) = VECT(4)*VECT(7) - GKIN(2,NGKINE) = VECT(5)*VECT(7) - GKIN(3,NGKINE) = VECT(6)*VECT(7) - GKIN(4,NGKINE) = GETOT - GKIN(5,NGKINE) = IPART - TOFD(NGKINE) = 0. - ISTOP = 1 -c----put position as well - GPOS(1,NGKINE)=VECT(1) - GPOS(2,NGKINE)=VECT(2) - GPOS(3,NGKINE)=VECT(3) - ENDIF - ENDIF - END diff --git a/StarVMC/geant3/gtrak/gthion.F b/StarVMC/geant3/gtrak/gthion.F deleted file mode 100644 index 8c3dc766fef..00000000000 --- a/StarVMC/geant3/gtrak/gthion.F +++ /dev/null @@ -1,536 +0,0 @@ -#include "geant321/pilot.h" -*CMZ : 3.21/02 03/07/94 17.58.49 by S.Giani -*-- Author : - SUBROUTINE G3THION -C. -C. ****************************************************************** -C. * * -C. * Heavy ion type track. Computes step size and propagates * -C. * particle through step. * -C. * * -C. * The ionisation energy loss is calculated here (mean + * -C. * fluctuations) * -C. * The fluctuations are the same for ILOSS=1,2,3 and * -C. * there is no fluctuation for ILOSS=4. * -C. * * -C. * ==>Called by : G3TRACK * -C. * Authors R.Brun, F.Bruyant, M.Maire, L.Urban *** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif - -#if !defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-6) - DOUBLE PRECISION GKR,DEMEAN,STOPP,STOPMX,STOPRG,STOPC,EKIPR - DOUBLE PRECISION ONE,XCOEF1,XCOEF2,XCOEF3,YCOEF1,YCOEF2,YCOEF3 -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif - PARAMETER (THRESH=0.7,ONE=1) - PARAMETER (TWOTHR=2*ONE/3,AMU=0.9314943) - PARAMETER (DME=7.84572E-8,CNORM=2.5) - REAL VNEXT(6) - DIMENSION RNDM(2) - SAVE RMASS,CUTPRO,IKCUT,STOPC,FACFLU,CHAR23 -C. -C. ------------------------------------------------------------------ -* -* *** Particle below energy threshold ? short circuit -* - IF (GEKIN.LE.CUTHAD) GO TO 100 -* -* *** Update local pointers if medium has changed -* - IF (IUPD.EQ.0) THEN - IUPD = 1 - JLOSS = LQ(JMA-3) - JRANG = LQ(JMA-16) + NEK1 - JCOEF = LQ(JMA-18) + 3*NEK1 - RMASS = PMASS/AMASS - CUTPRO = MAX(CUTHAD*RMASS,ELOW(1)) - IKCUT = GEKA*LOG10(CUTPRO) + GEKB - GKR = (CUTPRO - ELOW(IKCUT))/(ELOW(IKCUT+1) - ELOW(IKCUT)) - STOPC = (1.-GKR)*Q(JRANG+IKCUT) + GKR*Q(JRANG+IKCUT+1) - FACFLU = 0 - if (ILOSS .NE. 0 .AND. A .NE. 0.0) FACFLU = DME*(Z*DENS/A) - CHAR23 = ONE/CHARGE**TWOTHR - IF(IMCKOV.EQ.1) THEN - JTCKOV = LQ(JTM-3) - JABSCO = LQ(JTCKOV-1) - JEFFIC = LQ(JTCKOV-2) - JINDEX = LQ(JTCKOV-3) - JCURIN = LQ(JTCKOV-4) - NPCKOV = Q(JTCKOV+1) - ENDIF - ENDIF -* -* *** Compute energy dependent parameters -* - GAMASS=GETOT+AMASS - BET2=GEKIN*GAMASS/(GETOT*GETOT) - BET=SQRT(BET2) - W1=1.034-0.1777*EXP(-0.08114*CHARGE) - W2=BET*CHAR23 - W3=121.4139*W2+0.0378*SIN(190.7165*W2) - CHARG1=CHARGE*(1.-W1*EXP(-W3)) -* -* the effective charge CHARG1 -* can be negative only for very low energy and -* for CHARGE > 20 ( very low energy : T/A < 20 keV/nucleon) -* in this case short circuit -* - IF(CHARG1.LT.0.) GOTO 100 - CHARG2=CHARG1**2 -* - OMCMOL=Q(JPROB+21)*CHARG2 - CHCMOL=Q(JPROB+25)*ABS(CHARG1) - IF(FIELDM.NE.0.) THEN - CFLD=3333.*DEGRAD*TMAXFD/ABS(FIELDM*CHARG1) - ELSE - CFLD=BIG - ENDIF -* -* *** Compute current step size -* - STEP = STEMAX - IPROC = 103 - GEKRT1 = 1. -GEKRAT -* -* ** Step limitation due to hadron interaction ? -* - IF (IHADR.GT.0) THEN -#if !defined(CERNLIB_USRJMP) - CALL GUPHAD -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUPHAD) -#endif - IF (SHADR.LT.STEP) THEN - IF (SHADR.LE.0.) SHADR = PREC - STEP = SHADR - IPROC = 12 - ENDIF - ENDIF -* -* ** Step limitation due to delta-ray production ? -* (Cannot be tabulated easily because dependent on AMASS) -* - IF (IDRAY.GT.0) THEN - STEPDR = BIG - IF (GEKIN.GT.DCUTM) THEN - TMAX = EMASS*GEKIN*GAMASS/(0.5*AMASS*AMASS+EMASS*GETOT) - IF (TMAX.GT.DCUTM) THEN - Y = DCUTM/TMAX - SIG = (1.-Y+BET2*Y*LOG(Y))/DCUTM -* extra term for spin 1/2 - IF (AMASS.GT.0.9) SIG=SIG+0.5*(TMAX-DCUTM)/(GETOT*GETOT) - SIG = SIG*Q(JPROB+17)*CHARG2*EMASS/BET2 -* - IF (SIG.GT.0.) THEN - STEPDR = 1./SIG - SDRAY = STEPDR*ZINTDR - IF (SDRAY.LE.STEP) THEN - STEP = SDRAY - IPROC = 10 - ENDIF - ENDIF - ENDIF - ENDIF - ENDIF -* - IF (STEP.LE.0.) THEN - STEP = 0. - GO TO 110 - ENDIF -* -* ** Step limitation due to energy loss (stopping range) ? -* - IF (ILOSL.GT.0) THEN - IF(GEKRAT.LT.THRESH) THEN - I1 = MAX(IEKBIN-1,1) - ELSE - I1 = MIN(IEKBIN,NEKBIN-1) - ENDIF - I1 = 3*(I1-1)+1 - XCOEF1 = Q(JCOEF+I1) - XCOEF2 = Q(JCOEF+I1+1) - XCOEF3 = Q(JCOEF+I1+2) - IF(XCOEF1.NE.0) THEN - STOPP = -XCOEF2+SIGN(ONE,XCOEF1)* SQRT(XCOEF2 - + **2 -(XCOEF3-GEKIN*RMASS/XCOEF1)) - ELSE - STOPP = - (XCOEF3-GEKIN*RMASS)/XCOEF2 - ENDIF - STOPMX = (STOPP - STOPC)/(RMASS*CHARG2) - IF (STOPMX.LT.MIN(STEP,STMIN)) THEN - STEP = STOPMX - IPROC = 0 - IF(STEP.LE.0.)THEN - GO TO 100 - ENDIF - GO TO 10 - ENDIF - EKF = (1. - DEEMAX)*GEKIN*RMASS - IF (EKF.LT.ELOW(1)) THEN - EKF = ELOW(1) - ELSEIF (EKF.GE.ELOW(NEK1)) THEN - EKF = ELOW(NEK1)*0.99 - ENDIF - IKF=GEKA*LOG10(EKF)+GEKB - GKR=(EKF-ELOW(IKF))/(ELOW(IKF+1)-ELOW(IKF)) - IF(GKR.LT.THRESH) THEN - IK1 = MAX(IKF-1,1) - ELSE - IK1 = MIN(IKF,NEKBIN-1) - ENDIF - IK1 = 3*(IK1-1)+1 - YCOEF1=Q(JCOEF+IK1) - YCOEF2=Q(JCOEF+IK1+1) - YCOEF3=Q(JCOEF+IK1+2) - IF(YCOEF1.NE.0.) THEN - SLOSP = -YCOEF2+SIGN(ONE,YCOEF1)*SQRT(YCOEF2**2- (YCOEF3- - + EKF/YCOEF1)) - ELSE - SLOSP = - (YCOEF3-EKF)/YCOEF2 - ENDIF - SLOSP = STOPP - SLOSP - SLOSS = MAX(STMIN, SLOSP/(RMASS*CHARG2) ) - IF (SLOSS.LT.STEP) THEN - STEP = SLOSS - IPROC = 0 - ENDIF - ENDIF -* -* ** Step limitation due to energy loss in magnetic field ? -* - IF (IFIELD.NE.0) THEN - SFIELD = CFLD*VECT(7) - SFIELD=MAX(SFIELD, STMIN) - IF (SFIELD.LT.STEP) THEN - STEP = SFIELD - IPROC = 0 - ENDIF - ENDIF -* -* ** Step limitation due to multiple scattering ? -* - IF (IMULL.GT.0) THEN - SMULS=MIN(2232.*RADL*((VECT(7)**2)/(GETOT*CHARG1))**2,10.*RADL) - SMULS = MAX(STMIN, SMULS ) - IF (SMULS.LT.STEP) THEN - STEP = SMULS - IPROC = 0 - ENDIF - ENDIF -* - 10 CONTINUE -* -* ** Step limitation due to Cerenkov production ? -* - IF (IMCKOV.GT.0) THEN - CALL G3NCKOV - STCKOV = MXPHOT/MAX(3.*DNDL,1E-10) - SMULS = MAX(STMIN, STCKOV) - IF (SMULS.LT.STEP) THEN - STEP = STCKOV - IPROC = 0 - ENDIF - ENDIF -* -* ** Step limitation due to geometry ? -* - IF (STEP.GE.0.95*SAFETY) THEN - CALL GTNEXT - IF (IGNEXT.NE.0) THEN - STEP = SNEXT + PREC - IPROC = 0 - ENDIF -* -* Update SAFETY in stack companions, if any - IF (IQ(JSTAK+3).NE.0) THEN - DO 20 IST = IQ(JSTAK+3),IQ(JSTAK+1) - JST = JSTAK + 3 + (IST-1)*NWSTAK - Q(JST+11) = SAFETY - 20 CONTINUE - IQ(JSTAK+3) = 0 - ENDIF - ELSE - IQ(JSTAK+3) = 0 - ENDIF -* -* *** Linear transport when no field or very short step -* - IF (IFIELD.EQ.0.OR.STEP.LE.PREC) THEN -* - IF (IGNEXT.NE.0) THEN - DO 30 I = 1,3 - VECTMP = VECT(I) +STEP*VECT(I+3) - IF(VECTMP.EQ.VECT(I)) THEN -* -* *** Correct for machine precision -* - IF(VECT(I+3).NE.0.) THEN - VECTMP = - + VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))*EPSMAC - IF(NMEC.GT.0) THEN - IF(LMEC(NMEC).EQ.104) NMEC=NMEC-1 - ENDIF - NMEC=NMEC+1 - LMEC(NMEC)=104 -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL, 10000) - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT - CALL GMAIL(0,0) -10000 FORMAT(' Boundary correction in GTHION: ', - + ' GEKIN NUMED STEP SNEXT') -10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X) -#endif - ENDIF - ENDIF - VECT(I) = VECTMP - 30 CONTINUE - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - ELSE - DO 40 I = 1,3 - VECT(I) = VECT(I) +STEP*VECT(I+3) - 40 CONTINUE - ENDIF - ELSE -* -* *** otherwise, swim particle in magnetic field -* - call gtmany(0) - - NMEC = NMEC +1 - LMEC(NMEC) = 4 -* -#if !defined(CERNLIB_USRJMP) - 50 CALL GUSWIM (CHARG1, STEP, VECT, VOUT) -#endif -#if defined(CERNLIB_USRJMP) - 50 CALL JUMPT4(JUSWIM, CHARG1, STEP, VECT, VOUT) -#endif -* -* ** When near to boundary, take proper action (cut-step,crossing...) -* - IF(STEP.GE.SAFETY)THEN - INEAR = 0 - IF (IGNEXT.NE.0) THEN - DO 60 I = 1,3 - VNEXT(I+3) = VECT(I+3) - VNEXT(I) = VECT(I) +SNEXT*VECT(I+3) - 60 CONTINUE - DO 70 I = 1,3 - IF (ABS(VOUT(I)-VNEXT(I)).GT.EPSIL) GO TO 80 - 70 CONTINUE - INEAR = 1 - ENDIF -* - 80 CALL GINVOL (VOUT, ISAME) - IF (ISAME.EQ.0)THEN - IF ((INEAR.NE.0).OR.(STEP.LT.EPSIL)) THEN - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - ELSE -* Cut step - STEP = 0.5*STEP - IF (LMEC(NMEC).NE.24) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 24 - ENDIF - GO TO 50 - ENDIF - ENDIF - ENDIF -* - DO 90 I = 1,6 - VECT(I) = VOUT(I) - 90 CONTINUE -* - ENDIF -* -* *** Correct the step due to multiple scattering - IF (IMULL.NE.0) THEN - STMULS = STEP - CORR=0.0001*CHARG2*(STEP/RADL)*(GETOT/(VECT(7)*VECT(7)))**2 - IF (CORR.GT.0.25) CORR = 0.25 - STEP = (1.+CORR)*STEP - ENDIF -* - SLENG = SLENG + STEP -* -* *** Generate Cherenkov photons if required -* - IF(IMCKOV.EQ.1) THEN - CALL G3GCKOV - NMEC=NMEC+1 - LMEC(NMEC)=105 - ENDIF -* -* *** apply energy loss : find the kinetic energy corresponding -* to the new stopping range = stopmx - step -* - IF (ILOSL.NE.0) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 3 - STOPRG = STOPP - STEP*RMASS*CHARG2 - IF (STOPRG.LE.STOPC) THEN - STEP = STOPMX - GO TO 100 - ENDIF - IF(XCOEF1.NE.0.) THEN - EKIPR = XCOEF1*(XCOEF3+STOPRG*(2.*XCOEF2+STOPRG)) - ELSE - EKIPR = XCOEF2*STOPRG+XCOEF3 - ENDIF - DEMEAN=GEKIN - EKIPR/RMASS - IF(DEMEAN.LE.5.*GEKIN*EPSMAC) THEN - DEMEAN=(GEKRT1*Q(JLOSS+IEKBIN)+GEKRAT*Q(JLOSS+IEKBIN+1)) - + *STEP*CHARG2 - ENDIF -* -* fluctuations : differ from that of 'ordinary' hadrons -* - IF (ILOSS.EQ.4.OR.IEKBIN.LE.IKCUT+1) THEN - DESTEP = DEMEAN - ELSE -* -* Charge exchange fluctuations + Gaussian 'Landau' fluctuations -* (it is the same for ILOSS=1,2,3 !) -* - SIGMA2=CNORM*CHARG1*(1.-CHARG1/CHARGE) - SIGMA2=MAX(SIGMA2,0.) - TA = RMASS*GEKIN - TAM=TA/AMU - SIGMA2=SIGMA2+2.+TAM*(2.+TAM) -* - SIGMA2=FACFLU*CHARG2*STEP*SIGMA2 - IF(SIGMA2.GT.0.0) THEN - SIGMA=SQRT(SIGMA2) - ELSE - SIGMA= 0.0 - END IF -* -* Check if we are in 'Gaussian' regime ... -* - CAPPA=(1.+TAM)/(TAM*(2.+TAM)*EMASS) - CAPPA=0.5*CAPPA**2*FACFLU*CHARG2*STEP -* -* ... if not , correct SIGMA ! - - IF( (CAPPA.LT.10.) .AND. (CAPPA.GT.0.0) ) THEN - SIGMA=SIGMA/(0.97+0.03*SQRT(10./CAPPA)) - ENDIF -* - CALL GRNDM(RNDM,2) - DEFLUC=SIGMA*SIN(TWOPI*RNDM(1))*SQRT(-2.*LOG(RNDM(2))) - DESTEP=DEMEAN+DEFLUC - ENDIF -* -* protection against negative destep -* - IF(DESTEP.LT.0.) DESTEP=DEMEAN -* IF (DESTEP.LT.0.) DESTEP = 0. - GEKINT = GEKIN -DESTEP - IF (GEKINT.LE.(1.01*CUTHAD)) GO TO 100 - DESTEL = DESTEP - GEKIN = GEKINT - GETOT = GEKIN +AMASS - VECT(7)= SQRT((GETOT+AMASS)*GEKIN) - CALL G3EKBIN - ENDIF -* -* *** Apply multiple scattering. -* - IF (IMULL.NE.0) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 2 -* check charge dependence ...........!!!!!!! (later..) - CALL G3MULTS - ENDIF -* -* *** Update time of flight -* - SUMLIF = SUMLIF -STEP*AMASS/VECT(7) - TOFG = TOFG +STEP*GETOT/(VECT(7)*CLIGHT) - IF (TOFG.GE.TOFMAX) THEN - ISTOP = 4 - NMEC = NMEC +1 - LMEC(NMEC) = 22 - GO TO 999 - ENDIF -* -* *** Update interaction probabilities -* - IF (IHADR.GT.0) ZINTHA = ZINTHA*(1.-STEP/SHADR) - IF (IDRAY.GT.0) ZINTDR = ZINTDR -STEP/STEPDR -* - GO TO 110 -* -* ** Special treatment for overstopped tracks -* - 100 DESTEP = GEKIN - DESTEL = DESTEP - GEKIN = 0. - GETOT = AMASS - VECT(7)= 0. - INWVOL = 0 - ISTOP = 2 - NMEC = NMEC + 1 - LMEC(NMEC) = 30 - IF (IHADR.EQ.0) GO TO 999 - IPROC = 12 -* -* *** apply slected process if any -* - 110 IF (IPROC.EQ.0) GO TO 999 - NMEC = NMEC +1 - LMEC(NMEC) = IPROC -* -* ** Hadron interaction ? -* - IF (IPROC.EQ.12) THEN -#if !defined(CERNLIB_USRJMP) - CALL GUHADR -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUHADR) -#endif -* * Check time cut-off for decays at rest - IF (LMEC(NMEC).EQ.5) THEN - TOFG = TOFG +SUMLIF/CLIGHT - SUMLIF = 0. - IF (TOFG.GE.TOFMAX) THEN - NGKINE = 0 - ISTOP = 4 - LMEC(NMEC) = 22 - ENDIF - ENDIF -* -* ** Delta-ray ? -* - ELSE IF (IPROC.EQ.10) THEN - CALL G3DRAY - ENDIF - 999 END diff --git a/StarVMC/geant3/gtrak/gtmany.F b/StarVMC/geant3/gtrak/gtmany.F deleted file mode 100644 index d6761d50c87..00000000000 --- a/StarVMC/geant3/gtrak/gtmany.F +++ /dev/null @@ -1,27 +0,0 @@ -#include "geant321/pilot.h" - subroutine g3tmany(level1) -#include "geant321/gcvol1.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcvdma.inc" -#include "geant321/gctrak.inc" - integer level1 - - if(mycoun.gt.1.and.nfmany.gt.0.and.step.ge.safety)then - nlevel=manyle(nfmany) - do 99 i=1,nlevel - names(i)=manyna(nfmany,i) - number(i)=manynu(nfmany,i) - 99 continue - call glvolu(nlevel,names,number,ier) - if(ier.ne.0)print *,'Fatal error in GLVOLU' - ingoto=0 - endif - if (level1.eq.1) then - NLEVL1 = NLEVEL - DO 20 I=1,NLEVEL - NAMES1(I) = NAMES(I) - NUMBR1(I) = NUMBER(I) - LVOLU1(I) = LVOLUM(I) - 20 CONTINUE - endif - end diff --git a/StarVMC/geant3/gtrak/gtmedi.F b/StarVMC/geant3/gtrak/gtmedi.F deleted file mode 100644 index 93c14bb1e96..00000000000 --- a/StarVMC/geant3/gtrak/gtmedi.F +++ /dev/null @@ -1,545 +0,0 @@ -* -* $Id: gtmedi.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gtmedi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:54 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:42 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if !defined(CERNLIB_OLD) -*CMZ : 3.21/02 29/03/94 15.22.08 by S.Giani -*-- Author : - SUBROUTINE G3TMEDI (X, NUMED) -C. -C. ****************************************************************** -C. * * -C. * Finds in which volume/medium the point X is, and updates the * -C. * common /GCVOLU/ and the structure JGPAR accordingly. * -C. * * -C. * NUMED returns the tracking medium number, or 0 if point is * -C. * outside the experimental setup. * -C. * * -C. * Note : For INWVOL = 2, INFROM set to a positive number is * -C. * interpreted by GTMEDI as the number IN of the content * -C. * just left by the current track within the mother volume * -C. * where the point X is assumed to be. * -C. * * -C. * Note : INFROM is set correctly by this routine but it is * -C. * used on entrance only in the case GSNEXT has been called * -C. * by the user. In other words the value of INFROM received * -C. * on entrance is not considered necessarily valid. This * -C. * assumption has been made for safety. A wrong value of * -C. * INFROM can cause wrong tracking. * -C. * * -C. * Called by : GTRACK * -C. * Authors : S.Banerjee, R.Brun, F.Bruyant, A.McPherson * -C. * S.Giani. * -C. * * -C. * Modified by S.Giani (1993) to perform the search according * -C. * to the new 'virtual divisions' algorithm and to build the * -C. * stack of the 'possible overlapping volumes' in the case of * -C. * MANY volumes. Any kind of boolean operation is now possible.* -C. * Divisions along arbitrary axis are now possible. * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcbank.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gctrak.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -#include "geant321/gchvir.inc" -#include "geant321/gcvdma.inc" - COMMON/GCCHAN/LSAMVL - LOGICAL LSAMVL -C. - CHARACTER*4 NAME - DIMENSION X(*) - REAL XC(6), XT(3) - LOGICAL BTEST -C. -C. ------------------------------------------------------------------ -* - nvmany=0 - nfmany=0 - new2fl=0 - neufla=0 - if(raytra.eq.1.)then - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - if(ingoto.eq.-1.and.q(jvo+3).lt.0)then - neufla=1 - elseif(ingoto.eq.0)then - call ggperp(x,veccos,ierr) - veccos(1)=-veccos(1) - veccos(2)=-veccos(2) - veccos(3)=-veccos(3) - if(ierr.eq.1)then - veccos(1)=1. - veccos(2)=0. - veccos(3)=0. - endif - endif - endif -* -* SECTION I: The /GCVOLU/ table contains the initial guess for a path -* in the geometry tree on which X may be found. Look along this -* path until X is found inside. This is the starting position. -* If this is an ONLY volume with no daughters, we are done; -* otherwise reset search record variables, proceed to section II. -* -* *** Check if point is in current volume -* - INFR = 0 - INGT = 0 - JVIN = 0 -* -* *** LSAMVL is a logical variable that indicates whether we are still -* *** in the current volume or not. It is used in GTRACK to detect -* *** precision problems. - LSAMVL = .TRUE. -C***** Code Expanded From Routine: GTRNSF -C - 100 IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + XL3* - + GRMAT(3,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + XL3* - + GRMAT(6,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + XL3* - + GRMAT(9,NLEVEL) - - ENDIF - xc(4)=0. - xc(5)=0. - xc(6)=0. -C***** End of Code Expanded From Routine: GTRNSF -* - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) -* -* Note: At entry the variable INGOTO may contain the index of a volume -* contained within the current one at NLEVEL. If so, begin by checking -* if X lies inside. This improves the search speed over that of GMEDIA. -* - NIN = Q(JVO+3) - if(raytra.eq.1..and.imyse.eq.1)then - CALL UHTOC(NAMES(NLEVEL),4,NAME,4) - CALL GFIND(NAME,'SEEN',ISSEEN) - if(isseen.eq.-2.or.isseen.eq.-1)goto 189 - endif - IF ((INGOTO.LE.0).OR.(INGOTO.GT.NIN)) THEN - INGOTO = 0 - ELSE -* -* *** Entrance in content INGOTO predicted by GTNEXT -* - JIN = LQ(JVO-INGOTO) - IVOT = Q(JIN+2) - JVOT = LQ(JVOLUM-IVOT) - JPAR = LQ(JGPAR-NLEVEL-1) -* - IROTT = Q(JIN+4) -C***** Code Expanded From Routine: GITRAN -C. -C. ------------------------------------------------------------------ -C. - IF (IROTT .EQ. 0) THEN - XT(1) = XC(1) - Q(5+JIN) - XT(2) = XC(2) - Q(6+JIN) - XT(3) = XC(3) - Q(7+JIN) -* - ELSE - XL1 = XC(1) - Q(5+JIN) - XL2 = XC(2) - Q(6+JIN) - XL3 = XC(3) - Q(7+JIN) - JR = LQ(JROTM-IROTT) - XT(1) = XL1*Q(JR+1) + XL2*Q(JR+2) + XL3*Q(JR+3) - XT(2) = XL1*Q(JR+4) + XL2*Q(JR+5) + XL3*Q(JR+6) - XT(3) = XL1*Q(JR+7) + XL2*Q(JR+8) + XL3*Q(JR+9) -* - ENDIF -C***** End of Code Expanded From Routine: GITRAN -* -* * Check if point is in content -* - CALL GINME (XT, Q(JVOT+2), Q(JPAR+1), IYES) - IF (IYES.NE.0) THEN -* -* If so, prepare information for volume retrieval, and return -* - LSAMVL = .FALSE. - NL1 = NLEVEL +1 - LVOLUM(NL1) = IVOT - NAMES(NL1) = IQ(JVOLUM+IVOT) - NUMBER(NL1) = Q(JIN+3) - LINDEX(NL1) = INGOTO - LINMX(NL1) = Q(JVO+3) - GONLY(NL1) = Q(JIN+8) - IF (LQ(LQ(JVOLUM-IVOT)).EQ.0) THEN - NLDEV(NL1) = NLDEV(NLEVEL) - ELSE - NLDEV(NL1) = NL1 - ENDIF - CALL GTRMUL (GTRAN(1,NLEVEL), GRMAT(1,NLEVEL), Q(JIN+5), - + IROTT, GTRAN(1,NL1), GRMAT(1,NL1)) - NLEVEL = NL1 - XC(1) = XT(1) - XC(2) = XT(2) - XC(3) = XT(3) - JVO = JVOT - INFROM = 0 - if(raytra.eq.1.)then - call ggperp(x,veccos,ierr) - if(ierr.eq.1)then - veccos(1)=1. - veccos(2)=0. - veccos(3)=0. - endif - endif - GO TO 190 - ENDIF - ENDIF -* -* End of INGOTO processing -* - 189 JPAR = LQ(JGPAR-NLEVEL) - CALL GINME (XC, Q(JVO+2), Q(JPAR+1), IYES) - IF (IYES.EQ.0) THEN -* -* ** Point not in current volume, go up the tree -* - LSAMVL = .FALSE. - INGOTO = 0 - IF (NLEVEL.GT.1) THEN - NLEVEL = NLEVEL -1 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - IF(NIN.GT.0) THEN - INFROM=LINDEX(NLEVEL+1) - ELSE - INFROM=0 - ENDIF - INFR = INFROM - GO TO 100 - ELSE -* -* * Point is outside setup -* - NUMED = 0 - GO TO 999 - ENDIF - ELSE -* -* * Point in current volume but not in INGOTO. We block the -* * corresponding volume -* - IF (INGOTO.GT.0) THEN - INGT = INGOTO - JIN = LQ(JVO-INGOTO) - IQ(JIN) = IBSET(IQ(JIN),4) - ENDIF - ENDIF -* -* * Found a volume up the tree which contains our point. We block -* * the branch we came up from. -* - IF(INFR.GT.0) THEN - JIN=LQ(JVO-INFR) - IQ(JIN) = IBSET(IQ(JIN),4) - JVIN = JIN - ENDIF -* -* ** Point is in current volume -* - 190 INGOTO = 0 - NLMIN = NLEVEL - IF (INWVOL.NE.2) INFROM = 0 - NLMANY = 0 -* -* SECTION II: X is found inside current node at NLEVEL in /GCVOLU/. -* Search all contents recursively for any containing X. -* Take the first one found, if any, and continue at that -* level, incrementing NLEVEL and extending /GCVOLU/ tables. -* This is continued until a level is reached where X is not -* found in any of the contents, or there are no contents. -* Note: Since Section II is re-entered from Section III, a blocking word -* is used to mark those contents already checked. Upon exit from Section -* II, these blocking words are cleared at NLEVEL, but may remain set in -* levels between NLEVEL-1 and NLMIN, if any. They must be cleared at exit. -* -* ** Check contents, if any -* - 200 JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - if(raytra.eq.1..and.imyse.eq.1)then - CALL UHTOC(NAMES(NLEVEL),4,NAME,4) - CALL GFIND(NAME,'SEEN',ISSEEN) - if(isseen.eq.-2.or.isseen.eq.-1)goto 300 - endif -* -* * Case with no contents -* - IF (NIN.EQ.0) THEN - GO TO 300 -* -* * Case with contents defined by division -* - ELSEIF (NIN.LT.0) THEN - CALL GMEDIV (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - if(raytra.eq.1..and.neufla.eq.1)then - neufla=0 - call ggperp(x,veccos,ierr) - if(ierr.eq.1)then - veccos(1)=1. - veccos(2)=0. - veccos(3)=0. - endif - endif - INFROM = 0 - INFR = 0 - INGT = 0 - LSAMVL = .FALSE. - GO TO 200 - ENDIF -* -* * Case with contents positioned -* - ELSE - if(nin.gt.1)then - clmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+3) - chmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+4) - ndivto=q(jvirt+4*(LVOLUM(NLEVEL)-1)+2) - iaxis =q(jvirt+4*(LVOLUM(NLEVEL)-1)+1) - if(iaxis.le.3)then - ivdiv=((xc(iaxis)-clmoth)*ndivto/(chmoth-clmoth))+1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - else - call gfcoor(xc,iaxis,cx) - if(iaxis.eq.6)then - if((cx-clmoth).lt.-1.)then - cx=cx+360. - elseif((cx-chmoth).gt.1.)then - cx=cx-360. - endif - if(cx.gt.chmoth)then - cx=chmoth - elseif(cx.lt.clmoth)then - cx=clmoth - endif - endif - ivdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - endif - jvdiv=lq(jvirt-LVOLUM(NLEVEL)) - iofset=iq(jvdiv+ivdiv) - ncont=iq(jvdiv+iofset+1) - jcont=jvdiv+iofset+1 - if(ncont.eq.0)goto 260 - else - JCONT = LQ(JVO-NIN-1)+1 - NCONT = 1 - endif -* -* For each selected content in turn, check if point is inside -* - DO 259 ICONT=1,NCONT - if(nin.eq.1)then - in=1 - else - IN = IQ(JCONT+ICONT) - endif - IF(IN.EQ.0) THEN -* -* If the value IQ(JCONT+ICONT)=0 then we are back in the mother. -* So jump to 260, the search is finished. Clean-up should be done -* only up to ICONT-1, so we set: -* - NCONT=ICONT-1 - GOTO 260 - ELSE - JIN = LQ(JVO-IN) - IF (.NOT.BTEST(IQ(JIN),4)) THEN - CALL GMEPOS (JVO, IN, XC, 1) - IF (IN.GT.0) THEN - new2fl=0 - IF (GONLY(NLEVEL).NE.0.) THEN - NLMANY = 0 - nvmany = 0 - nfmany = 0 - ENDIF - INFROM = 0 - INGT = 0 - INFR = 0 - LSAMVL = .FALSE. - GO TO 200 - ELSE - IQ(JIN) = IBSET(IQ(JIN),4) - ENDIF - ENDIF - ENDIF - 259 CONTINUE -* - 260 IF(NCONT.EQ.NIN) THEN - DO 268 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 268 CONTINUE - ELSE - DO 269 ICONT=1,NCONT - if(nin.eq.1)then - in=1 - else - IN = IQ(JCONT+ICONT) - endif - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 269 CONTINUE - IF(INFR.NE.0) THEN - JIN = LQ(JVO-INFR) - IQ(JIN) = IBCLR(IQ(JIN),4) - INFR = 0 - ENDIF - IF(INGT.NE.0) THEN - JIN = LQ(JVO-INGT) - IQ(JIN) = IBCLR(IQ(JIN),4) - INGT = 0 - ENDIF - ENDIF -* - ENDIF -* -* SECTION III: X is found at current node (NLEVEL in /GCVOLU) but not in -* any of its contents, if any. If this is a MANY volume, -* save it as a candidate best-choice, and continue the search -* by backing up the tree one node and proceed to Section II. -* If this is an ONLY volume, proceed to Section IV. -* -* *** Point is in current volume/medium, and not in any content -* - 300 IF (GONLY(NLEVEL).EQ.0.) THEN -* -* ** Lowest level is 'NOT ONLY' -* - IF (NLEVEL.GT.NLMANY) THEN - CALL GSCVOL - NLMANY = NLEVEL - nfmany=nvmany+1 - ENDIF - if(new2fl.eq.0)then - nvmany=nvmany+1 - manyle(nvmany)=nlevel - do 401 i = 1,nlevel - manyna(nvmany,i)=names(i) - manynu(nvmany,i)=number(i) - 401 continue - endif -* -* * Go up the tree up to a volume with positioned contents -* - new2fl=-1 - 310 INFROM = LINDEX(NLEVEL) - NLEVEL = NLEVEL -1 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - NIN = Q(JVO+3) - IF (NIN.LT.0) GO TO 310 -* -C***** Code Expanded From Routine: GTRNSF -C - IF (GRMAT(10,NLEVEL) .EQ. 0.) THEN - XC(1) = X(1) - GTRAN(1,NLEVEL) - XC(2) = X(2) - GTRAN(2,NLEVEL) - XC(3) = X(3) - GTRAN(3,NLEVEL) -* - ELSE - XL1 = X(1) - GTRAN(1,NLEVEL) - XL2 = X(2) - GTRAN(2,NLEVEL) - XL3 = X(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + - + XL3* GRMAT(3,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + - + XL3* GRMAT(6,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + - + XL3* GRMAT(9,NLEVEL) -* - ENDIF -C***** End of Code Expanded From Routine: GTRNSF -* - INFR = INFROM - JIN = LQ(JVO-INFROM) - IQ(JIN) = IBSET(IQ(JIN),4) - NLMIN = MIN(NLEVEL,NLMIN) - GO TO 200 - ENDIF -* -* SECTION IV: This is the end of the search. The current node (NLEVEL -* in /GCVOLU/) is the lowest ONLY volume in which X is found. -* If X was also found in any of its contents, they are MANY -* volumes: the best-choice is the one among them at the greatest -* level in the tree, and it is stored. Otherwise the current -* volume is the solution. Before exit, all of the blocking -* words leftover in the tree must be reset to zero. -* Note: A valid structure is assumed, in which no ONLY volumes overlap. -* If this rule is violated, or if a daughter is not entirely contained -* within the mother volume, the results are unpredictable. -* - DO 419 NL=NLMIN,NLEVEL-1 - JVO = LQ(JVOLUM-LVOLUM(NL)) - NIN = Q(JVO+3) - DO 418 IN=1,NIN - JIN = LQ(JVO-IN) - IQ(JIN) = IBCLR(IQ(JIN),4) - 418 CONTINUE - 419 CONTINUE -* - if(nlmany.eq.0)then - nvmany=0 - nfmany=0 - endif - IF (NLMANY.GT.0) CALL GFCVOL - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - IF(JVIN.NE.0) IQ(JVIN) = IBCLR(IQ(JVIN),4) - NUMED = Q(JVO+4) -* END GTMEDI - 999 IF(JGSTAT.NE.0) CALL GFSTAT(4) - END -#endif diff --git a/StarVMC/geant3/gtrak/gtmuon.F b/StarVMC/geant3/gtrak/gtmuon.F deleted file mode 100644 index 4f5dc9fa987..00000000000 --- a/StarVMC/geant3/gtrak/gtmuon.F +++ /dev/null @@ -1,460 +0,0 @@ -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.24 by S.Giani -*-- Author : - SUBROUTINE G3TMUON -C. -C. ****************************************************************** -C. * * -C. * Muon track. Computes step size and propagates particle * -C. * through step. * -C. * * -C. * ==>Called by : G3TRACK * -C. * Authors R.Brun, F.Bruyant, M.Maire ******** * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gckine.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcking.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif - -#if !defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-6) - DOUBLE PRECISION DEMEAN,STOPRG,STOPMX,STOPC - DOUBLE PRECISION ONE,XCOEF1,XCOEF2,XCOEF3 -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif - PARAMETER (ONE=1) - REAL VNEXT(6) - SAVE IKCUT,STOPC -C. -C. ------------------------------------------------------------------ -* -* *** Particle below energy threshold ? short circuit -* - IF (GEKIN.LE.CUTMUO) GO TO 100 -* -* *** Update local pointers if medium has changed - IF (IUPD.EQ.0) THEN - IUPD = 1 - JLOSS = LQ(JMA-2) - JBREM = LQ(JMA-9) - JPAIR = LQ(JMA-10) - JDRAY = LQ(JMA-11) - JMUNU = LQ(JMA-14) - JRANG = LQ(JMA-16) - JCOEF = LQ(JMA-18) - JMULOF= LQ(JTM-2) - IF(IMCKOV.EQ.1) THEN - JTCKOV = LQ(JTM-3) - JABSCO = LQ(JTCKOV-1) - JEFFIC = LQ(JTCKOV-2) - JINDEX = LQ(JTCKOV-3) - JCURIN = LQ(JTCKOV-4) - NPCKOV = Q(JTCKOV+1) - ENDIF - OMCMOL= Q(JPROB+21) - CHCMOL= Q(JPROB+25) - IKCUT = Q(JMULOF+NEK1+1) - STOPC = Q(JMULOF+NEK1+2) - IF(ISTRA.GT.0) THEN - JTSTRA = LQ(JMA-19) - JTSTCO = LQ(JTSTRA-1) - JTSTEN = LQ(JTSTRA-2) -#if defined(CERNLIB_ASHO) - IF(ISTRA.EQ.2) THEN - JTASHO = LQ(JMA-20) - ENDIF -#endif - ENDIF - ENDIF -* -* *** Compute current step size -* - STEP = STEMAX - IPROC = 103 - GEKRT1 = 1. -GEKRAT - IEK1 = IEKBIN+NEK1 - IEK2 = IEKBIN+2*NEK1 -* -* ** Step limitation due to bremsstrahlung ? -* - IF (IBREM.GT.0) THEN - STEPBR = GEKRT1*Q(JBREM+IEK2) +GEKRAT*Q(JBREM+IEK2+1) - SBREM = STEPBR*ZINTBR - IF (SBREM.LT.STEP) THEN - STEP = SBREM - IPROC = 9 - ENDIF - ENDIF -* -* ** Step limitation due to pair production ? -* - IF (IPAIR.GT.0) THEN - STEPPA = GEKRT1*Q(JPAIR+IEK1) +GEKRAT*Q(JPAIR+IEK1+1) - SPAIR = STEPPA*ZINTPA - IF (SPAIR.LT.STEP) THEN - STEP = SPAIR - IPROC = 6 - ENDIF - ENDIF -* -* ** Step limitation due to decay ? -* - IF (IDCAY.NE.0) THEN - SDCAY = SUMLIF*VECT(7)/AMASS - IF (SDCAY.LT.STEP) THEN - STEP = SDCAY - IPROC = 5 - ENDIF - ENDIF -* -* ** Step limitation due to delta-ray ? -* - IF (IDRAY.GT.0) THEN - STEPDR = GEKRT1*Q(JDRAY+IEK2) +GEKRAT*Q(JDRAY+IEK2+1) - SDRAY = STEPDR*ZINTDR - IF (SDRAY.LT.STEP) THEN - STEP = SDRAY - IPROC = 10 - ENDIF - ENDIF -* -* ** Step limitation due to nuclear interaction ? -* - IF (IMUNU.GT.0) THEN - IF(GEKIN.GE.5.)THEN - STEPMU = GEKRT1*Q(JMUNU+IEKBIN) +GEKRAT*Q(JMUNU+IEKBIN+1) - SMUNU = STEPMU*ZINTMU - IF (SMUNU.LT.STEP) THEN - STEP = SMUNU - IPROC = 21 - ENDIF - ELSE - STEPMU = BIG - ENDIF - ENDIF -* - IF (STEP.LE.0.) THEN - STEP = 0. - GO TO 90 - ENDIF -* -* ** Step limitation due to energy-loss,multiple scattering -* or magnetic field ? -* - IF (JMULOF.NE.0) THEN - SMULOF = GEKRT1*Q(JMULOF+IEKBIN) +GEKRAT*Q(JMULOF+IEKBIN+1) - IF (SMULOF.LT.STEP) THEN - STEP = SMULOF - IPROC = 0 - ENDIF - ENDIF -* -* ** Step limitation due to geometry ? -* - IF (STEP.GE.0.95*SAFETY) THEN - CALL GTNEXT - IF (IGNEXT.NE.0) THEN - STEP = SNEXT + PREC - IPROC = 0 - ENDIF -* -* Update SAFETY in stack companions, if any - IF (IQ(JSTAK+3).NE.0) THEN - DO 10 IST = IQ(JSTAK+3),IQ(JSTAK+1) - JST = JSTAK + 3 + (IST-1)*NWSTAK - Q(JST+11) = SAFETY - 10 CONTINUE - IQ(JSTAK+3) = 0 - ENDIF - ELSE - IQ(JSTAK+3) = 0 - ENDIF -* -* *** Linear transport when no field or very short step -* - IF (IFIELD.EQ.0.OR.STEP.LE.PREC) THEN -* - IF (IGNEXT.NE.0) THEN - DO 20 I = 1,3 - VECTMP = VECT(I) +STEP*VECT(I+3) - IF(VECTMP.EQ.VECT(I)) THEN -* -* *** Correct for machine precision -* - IF(VECT(I+3).NE.0.) THEN - VECTMP = - + VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))*EPSMAC - IF(NMEC.GT.0) THEN - IF(LMEC(NMEC).EQ.104) NMEC=NMEC-1 - ENDIF - NMEC=NMEC+1 - LMEC(NMEC)=104 -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL, 10000) - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT - CALL GMAIL(0,0) -10000 FORMAT(' Boundary correction in GTMUON: ', - + ' GEKIN NUMED STEP SNEXT') -10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X) -#endif - ENDIF - ENDIF - VECT(I) = VECTMP - 20 CONTINUE - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - ELSE - DO 30 I = 1,3 - VECT(I) = VECT(I) +STEP*VECT(I+3) - 30 CONTINUE - ENDIF - ELSE -* -* *** otherwise, swim particle in magnetic field -* - call gtmany(0) - - NMEC = NMEC +1 - LMEC(NMEC) = 4 -* -#if !defined(CERNLIB_USRJMP) - 40 CALL GUSWIM (CHARGE, STEP, VECT, VOUT) -#endif -#if defined(CERNLIB_USRJMP) - 40 CALL JUMPT4(JUSWIM, CHARGE, STEP, VECT, VOUT) -#endif -* -* ** When near to boundary, take proper action (cut-step,crossing...) -* - IF(STEP.GE.SAFETY)THEN - INEAR = 0 - IF (IGNEXT.NE.0) THEN - DO 50 I = 1,3 - VNEXT(I+3) = VECT(I+3) - VNEXT(I) = VECT(I) +SNEXT*VECT(I+3) - 50 CONTINUE - DO 60 I = 1,3 - IF (ABS(VOUT(I)-VNEXT(I)).GT.EPSIL) GO TO 70 - 60 CONTINUE - INEAR = 1 - ENDIF -* - 70 CALL GINVOL (VOUT, ISAME) - IF (ISAME.EQ.0)THEN - IF ((INEAR.NE.0).OR.(STEP.LT.EPSIL)) THEN - INWVOL = 2 - NMEC = NMEC +1 - LMEC(NMEC) = 1 - ELSE -* Cut step - STEP = 0.5*STEP - IF (LMEC(NMEC).NE.24) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 24 - ENDIF - GO TO 40 - ENDIF - ENDIF - ENDIF -* - DO 80 I = 1,6 - VECT(I) = VOUT(I) - 80 CONTINUE -* - ENDIF -* -* *** Correct the step due to multiple scattering - IF (IMULL.NE.0) THEN - STMULS = STEP - CORR=0.0001*(STEP/RADL)*(GETOT/(VECT(7)*VECT(7)))**2 - IF (CORR.GT.0.25) CORR = 0.25 - STEP = (1.+CORR)*STEP - ENDIF -* - SLENG = SLENG + STEP -* -* *** Generate Cherenkov photons if required -* - IF(IMCKOV.EQ.1) THEN - CALL G3GCKOV - IF(NGPHOT.NE.0) THEN - NMEC=NMEC+1 - LMEC(NMEC)=105 - ENDIF - ENDIF -* -* *** apply energy loss : find the kinetic energy corresponding -* to the new stopping range = stopmx - step -* - IF (ILOSL.NE.0) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 3 - IF(GEKRAT.LT.0.7) THEN - I1 = MAX(IEKBIN-1,1) - ELSE - I1 = MIN(IEKBIN,NEKBIN-1) - ENDIF - I1 = 3*(I1-1)+1 - XCOEF1 = Q(JCOEF+I1) - XCOEF2 = Q(JCOEF+I1+1) - XCOEF3 = Q(JCOEF+I1+2) - IF(XCOEF1.NE.0.) THEN - STOPMX = -XCOEF2+SIGN(ONE,XCOEF1)*SQRT(XCOEF2**2 - (XCOEF3- - + GEKIN/XCOEF1)) - ELSE - STOPMX = - (XCOEF3-GEKIN)/XCOEF2 - ENDIF - STOPRG = STOPMX - STEP - IF (STOPRG.LT.STOPC) THEN - STEP = STOPMX - STOPC - GO TO 100 - ENDIF -* - IF(XCOEF1.NE.0.) THEN - DEMEAN=GEKIN-XCOEF1*(XCOEF3+STOPRG*(2.*XCOEF2+STOPRG)) - ELSE - DEMEAN=GEKIN-XCOEF2*STOPRG-XCOEF3 - ENDIF - IF(DEMEAN.LE.5.*GEKIN*EPSMAC) THEN - DEMEAN=(GEKRT1*Q(JLOSS+IEKBIN)+GEKRAT*Q(JLOSS+IEKBIN+1)) - + *STEP - ENDIF - IF (ILOSS.EQ.4.OR.IEKBIN.LE.IKCUT+1) THEN - DESTEP = DEMEAN - ELSE - DEMS = DEMEAN - CALL G3FLUCT(DEMS,DESTEP) - ENDIF - IF (DESTEP.LT.0.) DESTEP = 0. - GEKINT = GEKIN -DESTEP - IF (GEKINT.LE.(1.01*CUTMUO)) GO TO 100 - DESTEL = DESTEP - GEKIN = GEKINT - GETOT = GEKIN +AMASS - VECT(7)= SQRT((GETOT+AMASS)*GEKIN) - CALL G3EKBIN - ENDIF -* -* *** Apply multiple scattering. -* - IF (IMULL.NE.0) THEN - NMEC = NMEC +1 - LMEC(NMEC) = 2 - CALL G3MULTS - ENDIF -* -* *** Update time of flight -* - SUMLIF = SUMLIF -STEP*AMASS/VECT(7) - TOFG = TOFG +STEP*GETOT/(VECT(7)*CLIGHT) - IF (TOFG.GE.TOFMAX) THEN - ISTOP = 4 - NMEC = NMEC +1 - LMEC(NMEC) = 22 - GO TO 999 - ENDIF -* -* *** Update interaction probabilities -* - IF (IBREM.GT.0) ZINTBR = ZINTBR -STEP/STEPBR - IF (IPAIR.GT.0) ZINTPA = ZINTPA -STEP/STEPPA - IF (IDRAY.GT.0) ZINTDR = ZINTDR -STEP/STEPDR - IF (IMUNU.GT.0) ZINTMU = ZINTMU -STEP/STEPMU -* -* *** otherwise, apply the selected process if any -* - 90 IF (IPROC.EQ.0) GO TO 999 - NMEC = NMEC +1 - LMEC(NMEC) = IPROC -* -* ** Bremsstrahlung ? -* - IF (IPROC.EQ.9) THEN - CALL G3BREMM -* -* ** Pair production ? -* - ELSE IF (IPROC.EQ.6) THEN - CALL G3PAIRM -* -* ** Decay ? -* - ELSE IF (IPROC.EQ.5) THEN - ISTOP = 1 - CALL G3DECAY -* -* ** Delta-ray ? -* - ELSE IF (IPROC.EQ.10) THEN - CALL G3DRAY -* -* ** Nuclear interaction ? -* - ELSE IF (IPROC.EQ.21) THEN - CALL G3MUNU - ENDIF - GO TO 999 -* -* *** Special treatment for overstopped tracks -* - 100 DESTEP = GEKIN - DESTEL = DESTEP - GEKIN = 0. - GETOT = AMASS - VECT(7)= 0. - INWVOL = 0 - NMEC = NMEC +1 - LMEC(NMEC) = 30 - IF (IDCAY.EQ.0) THEN - ISTOP = 2 - ELSE - NMEC = NMEC +1 - TOFG = TOFG +SUMLIF/CLIGHT - SUMLIF = 0. - IF (TOFG.GE.TOFMAX) THEN - ISTOP = 4 - LMEC(NMEC) = 22 - GO TO 999 - ENDIF - LMEC(NMEC) = 5 - ISTOP = 1 - CALL G3DECAY - ENDIF - 999 IF(NGPHOT.GT.0) THEN - IF(ITCKOV.EQ.2.AND.ISTOP.EQ.0) THEN -* -* The muon has produced Cerenkov photons and it is still alive -* we put it in the stack and we let the photons to be tracked - NGKINE = NGKINE+1 - GKIN(1,NGKINE) = VECT(4)*VECT(7) - GKIN(2,NGKINE) = VECT(5)*VECT(7) - GKIN(3,NGKINE) = VECT(6)*VECT(7) - GKIN(4,NGKINE) = GETOT - GKIN(5,NGKINE) = IPART - TOFD(NGKINE) = 0. - ISTOP = 1 -c----put position as well - GPOS(1,NGKINE)=VECT(1) - GPOS(2,NGKINE)=VECT(2) - GPOS(3,NGKINE)=VECT(3) - ENDIF - ENDIF - END diff --git a/StarVMC/geant3/gtrak/gtneut.F b/StarVMC/geant3/gtrak/gtneut.F deleted file mode 100644 index c1f98946228..00000000000 --- a/StarVMC/geant3/gtrak/gtneut.F +++ /dev/null @@ -1,245 +0,0 @@ -* -* $Id: gtneut.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gtneut.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:42 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.24 by S.Giani -*-- Author : - SUBROUTINE G3TNEUT -C. -C. ****************************************************************** -C. * * -C. * Neutral hadron type track. Computes step size and propagates * -C. * particle through step. * -C. * * -C. * ==>Called by : G3TRACK * -C. * Authors R.Brun, F.Bruyant ********* * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -#if defined(CERNLIB_DEBUG) -#include "geant321/gcunit.inc" -#endif -#if !defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-6) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif -C. -C. ------------------------------------------------------------------ -* -* *** Particle below energy threshold ? Special treatment -* - IF (GEKIN.LE.CUTNEU) THEN - GEKIN = 0. - GETOT = AMASS - VECT(7)= 0. - ISTOP = 2 - NMEC = NMEC + 1 - LMEC(NMEC) = 30 - IF (IHADR.EQ.0.AND.AMASS.GT.0.) THEN - IF (IDCAY.NE.0) THEN - GAMMA = GETOT/AMASS - TOFG = TOFG +GAMMA*SUMLIF/CLIGHT - SUMLIF = 0. - IF (TOFG.GE.TOFMAX) THEN - ISTOP = 4 - NMEC = NMEC + 1 - LMEC(NMEC) = 22 - NGKINE = 0 - ELSE - NMEC = NMEC + 1 - LMEC(NMEC) = 5 - ISTOP =1 - CALL G3DECAY - ENDIF - ENDIF - GO TO 999 - ENDIF - IPROC = 12 - GO TO 40 - ENDIF -* -* *** Compute step size -* - IPROC = 103 - STEP = STEMAX -* -* ** Step limitation due to hadron interaction ? -* - IF (IHADR.GT.0) THEN -#if !defined(CERNLIB_USRJMP) - CALL GUPHAD -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUPHAD) -#endif - IF (SHADR.LT.STEP) THEN - IF (SHADR.LE.0.) SHADR = PREC - STEP = SHADR - IPROC = 12 - ENDIF - ENDIF -* -* ** Step limitation due to decay ? -* - IF ((IDCAY.NE.0).AND.(AMASS.GT.0.)) THEN - SDCAY = SUMLIF*VECT(7)/AMASS - IF (SDCAY.LT.STEP) THEN - STEP = SDCAY - IPROC = 5 - ENDIF - ENDIF -* - IF (STEP.LT.0.) STEP = 0. -* -* ** Step limitation due to geometry ? -* - IF (STEP.GE.SAFETY) THEN - CALL GTNEXT - IF (IGNEXT.NE.0) THEN - STEP = SNEXT + PREC - IPROC = 0 - INWVOL = 2 - NMEC = NMEC + 1 - LMEC(NMEC) = 1 - ENDIF -* -* Update SAFETY in stack companions, if any - IF (IQ(JSTAK+3).NE.0) THEN - DO 10 IST = IQ(JSTAK+3),IQ(JSTAK+1) - JST = JSTAK +3 +(IST-1)*NWSTAK - Q(JST+11) = SAFETY - 10 CONTINUE - IQ(JSTAK+3) = 0 - ENDIF -* - ELSE - IQ(JSTAK+3) = 0 - ENDIF -* -* *** Linear transport -* - IF (INWVOL.EQ.2) THEN - DO 20 I = 1,3 - VECTMP = VECT(I) +STEP*VECT(I+3) - IF(VECTMP.EQ.VECT(I)) THEN -* -* *** Correct for machine precision -* - IF(VECT(I+3).NE.0.) THEN - VECTMP = VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))* - + EPSMAC - IF(NMEC.GT.0) THEN - IF(LMEC(NMEC).EQ.104) NMEC=NMEC-1 - ENDIF - NMEC=NMEC+1 - LMEC(NMEC)=104 -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL, 10000) - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT - CALL GMAIL(0,0) -10000 FORMAT(' Boundary correction in GTNEUT: ', - + ' GEKIN NUMED STEP SNEXT') -10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X) -#endif - ENDIF - ENDIF - VECT(I) = VECTMP - 20 CONTINUE - ELSE - DO 30 I = 1,3 - VECT(I) = VECT(I) +STEP*VECT(I+3) - 30 CONTINUE - ENDIF -* - SLENG = SLENG +STEP -* -* *** Update time of flight -* - SUMLIF = SUMLIF -STEP*AMASS/VECT(7) - TOFG = TOFG +STEP*GETOT/(VECT(7)*CLIGHT) - IF (TOFG.GE.TOFMAX) THEN - ISTOP = 4 - NMEC = NMEC +1 - LMEC(NMEC) = 22 - GO TO 999 - ENDIF -* -* *** Update interaction probabilities -* - IF (IHADR.GT.0) ZINTHA = ZINTHA*(1.-STEP/SHADR) -* -* *** apply the selected process if any -* - 40 IF (IPROC.EQ.0) GO TO 999 - NMEC = NMEC +1 - LMEC(NMEC) = IPROC -* -* ** Hadron interaction ? -* - IF (IPROC.EQ.12) THEN -#if !defined(CERNLIB_USRJMP) - CALL GUHADR -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUHADR) -#endif -* Check time cut-off for decays at rest - IF (LMEC(NMEC).EQ.5) THEN - TOFG = TOFG +SUMLIF/CLIGHT - SUMLIF = 0. - IF (TOFG.GE.TOFMAX) THEN - ISTOP = 4 - LMEC(NMEC) = 22 - NGKINE = 0 - ENDIF - ENDIF -* -* ** Decay ? -* - ELSE IF (IPROC.EQ.5) THEN - ISTOP = 1 - CALL G3DECAY - ENDIF -* END GTNEUT - 999 END diff --git a/StarVMC/geant3/gtrak/gtnext.F b/StarVMC/geant3/gtrak/gtnext.F deleted file mode 100644 index 1df2166e70f..00000000000 --- a/StarVMC/geant3/gtrak/gtnext.F +++ /dev/null @@ -1,1021 +0,0 @@ -* -* $Id: gtnext.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gtnext.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.4 2004/06/09 13:47:00 brun -* From Peter Hristov: -* In Makefile I have corrected the platform names according to the Root -* convention. In gcinit.F the size of the ZEBRA common block is increased to -* 5000000 so that the latest Alice geometry fits there :-) The -* Makefile.linuxicc contains only one additional optimization option (-ip) -* which gives an additional gain of 5-10% in speed. Finally, in -* gtrak/gtnext.F I have put the additional protection we discussed with you -* and Andrei. -* -* Revision 1.3 2004/01/28 08:20:11 brun -* Some bug fixes by Peter Hristov -* Reintroduce gstrac -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:42 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if !defined(CERNLIB_OLD) -*CMZ : 3.21/04 21/03/95 16.13.08 by S.Giani -*-- Author : - SUBROUTINE G3TNEXT -C. -C. ****************************************************************** -C. * * -C. * SUBR. GTNEXT * -C. * * -C. * Computes SAFETY and, only when new SAFETY is smaller than * -C. * STEP, computes SNEXT. * -C. * STEP has to be preset to BIG or to physical step size * -C. * * -C. * Called by : GTELEC, GTGAMA, GTHADR, GTMUON, GTNEUT, GTNINO * -C. * * -C. * Author : S.Giani (1993) * -C. * * -C. * This routine is now based on the new 'virtual divisions' * -C. * algorithm to speed up the tracking. * -C. * The tracking for MANY volumes is not anymore based on a step * -C. * search: it is now based on a search through the list of * -C. * 'possible overlapping volumes' built by GTMEDI. * -C. * Boolean operations and divisions along arbitrary axis are * -C. * now supported. * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcshno.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif -#include "geant321/gchvir.inc" -#include "geant321/gcvdma.inc" - DIMENSION NUMTMP(15),NAMTMP(15) -C. - PARAMETER (BIG1=0.9*BIG) -C. - CHARACTER*4 NAME - dimension iarrin(500),cxm(3),xxm(6) - REAL X0(6), XC(6), XT(6) - INTEGER IDTYP(3,12) - LOGICAL BTEST -C. - DATA IDTYP / 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 2, 3, 1, - + 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 4, 3, 1, 1, 1, - + 2, 3, 1, 2, 3, 1/ -C. -C. ------------------------------------------------------------------ -* -* * *** Transform current point and direction into local reference system -* - mycoun=0 - myinfr=0 - newfl=0 - manyfl=0 - tsafet=big - tsnext=big -401 IF (GRMAT(10,NLEVEL).EQ.0.) THEN - XC(1) = VECT(1) - GTRAN(1,NLEVEL) - XC(2) = VECT(2) - GTRAN(2,NLEVEL) - XC(3) = VECT(3) - GTRAN(3,NLEVEL) - XC(4) = VECT(4) - XC(5) = VECT(5) - XC(6) = VECT(6) - ELSE -C***** Code Expanded From Routine: GTRNSF -C -* - XL1 = VECT(1) - GTRAN(1,NLEVEL) - XL2 = VECT(2) - GTRAN(2,NLEVEL) - XL3 = VECT(3) - GTRAN(3,NLEVEL) - XC(1) = XL1*GRMAT(1,NLEVEL) + XL2*GRMAT(2,NLEVEL) + XL3* - 1 GRMAT(3,NLEVEL) - XC(2) = XL1*GRMAT(4,NLEVEL) + XL2*GRMAT(5,NLEVEL) + XL3* - 1 GRMAT(6,NLEVEL) - XC(3) = XL1*GRMAT(7,NLEVEL) + XL2*GRMAT(8,NLEVEL) + XL3* - 1 GRMAT(9,NLEVEL) -* -C***** End of Code Expanded From Routine: GTRNSF -C***** Code Expanded From Routine: GROT -C - XC(4) = VECT(4)*GRMAT(1,NLEVEL) + VECT(5)*GRMAT(2,NLEVEL) + - 1 VECT(6)*GRMAT(3,NLEVEL) - XC(5) = VECT(4)*GRMAT(4,NLEVEL) + VECT(5)*GRMAT(5,NLEVEL) + - 1 VECT(6)*GRMAT(6,NLEVEL) - XC(6) = VECT(4)*GRMAT(7,NLEVEL) + VECT(5)*GRMAT(8,NLEVEL) + - 1 VECT(6)*GRMAT(9,NLEVEL) -* -C***** End of Code Expanded From Routine: GROT - ENDIF -* -* *** Compute distance to boundaries -* - SNEXT = STEP - SAFETY = BIG - INGOTO = 0 - JVO = LQ(JVOLUM-LVOLUM(NLEVEL)) - ISH = Q(JVO+2) - NIN = Q(JVO+3) - IF (NIN.EQ.0) GO TO 300 - if(raytra.eq.1..and.imyse.eq.1)then - CALL UHTOC(NAMES(NLEVEL),4,NAME,4) - CALL GFIND(NAME,'SEEN',ISSEEN) - if(isseen.eq.-2.or.isseen.eq.-1)goto 300 - endif - IF (NIN.LT.0) GO TO 200 -* -* *** Case with contents positioned -* - sneold=SNEXT - nnn=0 - nflag=0 - mmm=0 - snxtot=0. - 111 if(nin.gt.1)then - if(nnn.gt.0)goto 112 - clmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+3) - chmoth=q(jvirt+4*(LVOLUM(NLEVEL)-1)+4) - ndivto=q(jvirt+4*(LVOLUM(NLEVEL)-1)+2) - iaxis =q(jvirt+4*(LVOLUM(NLEVEL)-1)+1) - if(iaxis.eq.4)then - do 1 i=1,6 - xxm(i)=xc(i) - 1 continue - endif - divthi=(chmoth-clmoth)/ndivto - if(iaxis.le.3)then - cx=xc(iaxis) - if(xc(iaxis+3).ge.0.)then - inc=1 - else - inc=-1 - endif - xvdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - ivdiv=xvdiv - if((xvdiv-ivdiv).lt.0.0001.and.inc.eq.-1)ivdiv=ivdiv-1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - else - call gfcoor(xc,iaxis,cx) - if(iaxis.eq.4)then - dr= xc(1)*xc(4)+xc(2)*xc(5) -* if(dr.eq.0.)print *,'dr.eq.0.' - if(dr.ge.0.)then - inc=1 - else - inc=-1 - endif - elseif(iaxis.eq.6)then - if((cx-clmoth).lt.-1.)then - cx=cx+360. - elseif((cx-chmoth).gt.1.)then - cx=cx-360. - endif - if(cx.gt.chmoth)then - cx=chmoth - elseif(cx.lt.clmoth)then - cx=clmoth - endif - dfi=xc(1)*xc(5)-xc(2)*xc(4) - if(dfi.ge.0)then - inc=1 - else - inc=-1 - endif - endif - xvdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - ivdiv=xvdiv - if((xvdiv-ivdiv).lt.0.0001.and.inc.eq.-1)ivdiv=ivdiv-1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - endif - jvdiv=lq(jvirt-LVOLUM(NLEVEL)) - 112 iofset=iq(jvdiv+ivdiv) - jcont2=jvdiv+iofset+1 - ncont=iq(jcont2) - if(ncont.eq.0)then - idmi=iq(jcont2+1) - idma=iq(jcont2+2) - llflag=0 - elseif(ncont.eq.1)then - idmi=iq(jcont2+2) - idma=iq(jcont2+3) - in=iq(jcont2+1) - else - idmi=iq(jcont2+ncont+1) - idma=iq(jcont2+ncont+2) - iii=1 - in=iq(jcont2+iii) - endif - if(nnn.eq.0)then - cxold=cx - if(inc.gt.0)then - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - if(iaxis.ne.6)then - safety=min(safety,(cxold-cmin)) - else - safefi=min(90.,(cxold-cmin)) - saferr=sqrt(xc(1)**2+xc(2)**2) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - else - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - if(iaxis.ne.6)then - safety=min(safety,(cmax-cxold)) - else - safefi=min(90.,(cmax-cxold)) - saferr=sqrt(xc(1)**2+xc(2)**2) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - endif - endif - if(ncont.eq.0)goto 181 - elseif(nin.eq.1)then - in=1 - endif -* - 150 if(nin.gt.1.and.ncont.gt.1)then - in=iq(jcont2+iii) - endif - if(nin.gt.0)then -* if(infrom.gt.0.and.myinfr.eq.0.and.newfl.eq.0)then -* if(in.eq.infrom)goto 171 -* endif - jin=lq(jvo-in) - if(.NOT.BTEST(iq(jin),4))then - else - goto 171 - endif - endif - if(nin.gt.1)then - llflag=0 - if(mmm.le.500)then - do 151 ll=1,mmm - if(iarrin(ll).eq.in)then - llflag=1 - goto 171 - endif - 151 continue - endif - if(llflag.eq.0)then - mmm=mmm+1 - if(mmm.le.500)then - iarrin(mmm)=in - endif - endif - endif - IF (IN.LT.0) GO TO 300 - JIN = LQ(JVO-IN) - IVOT = Q(JIN+2) - JVOT = LQ(JVOLUM-IVOT) - IROTT = Q(JIN+4) -* - IF (BTEST(IQ(JVOT),1)) THEN -* (case with JVOLUM structure locally developed) - JPAR = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - DO 169 ILEV = NLDEV(NLEVEL), NLEVEL - IF (IQ(JPAR+1).EQ.0) THEN - IF (ILEV.EQ.NLEVEL) THEN - JPAR = LQ(JPAR-IN) - ELSE - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ENDIF - IF (JPAR.EQ.0) GO TO 170 - ELSE IF (IQ(JPAR-3).GT.1) THEN - JPAR = LQ(JPAR-LINDEX(ILEV+1)) - ELSE - JPAR = LQ(JPAR-1) - ENDIF - 169 CONTINUE - JPAR = JPAR + 5 - NPAR = IQ(JPAR) - GO TO 179 - ENDIF -* (normal case) - 170 NPAR = Q(JVOT+5) - IF (NPAR.EQ.0) THEN - JPAR = JIN +9 - NPAR = Q(JPAR) - ELSE - JPAR = JVOT +6 - ENDIF - 179 if((nin.eq.1).or.(nin.gt.1.and.llflag.eq.0))then -* -* * Compute distance to boundary of current content -* -C***** Code Expanded From Routine: GITRAN - 180 IF (IROTT .EQ. 0) THEN - XT(1) = XC(1) - Q(5+JIN) - XT(2) = XC(2) - Q(6+JIN) - XT(3) = XC(3) - Q(7+JIN) -* - XT(4) = XC(4) - XT(5) = XC(5) - XT(6) = XC(6) -* - ELSE - XL1 = XC(1) - Q(5+JIN) - XL2 = XC(2) - Q(6+JIN) - XL3 = XC(3) - Q(7+JIN) - JR = LQ(JROTM-IROTT) - XT(1) = XL1*Q(JR+1) + XL2*Q(JR+2) + XL3*Q(JR+3) - XT(2) = XL1*Q(JR+4) + XL2*Q(JR+5) + XL3*Q(JR+6) - XT(3) = XL1*Q(JR+7) + XL2*Q(JR+8) + XL3*Q(JR+9) -* -C***** End of Code Expanded From Routine: GITRAN -C***** Code Expanded From Routine: GRMTD - XT(4)=XC(4)*Q(JR+1)+XC(5)*Q(JR+2)+XC(6)*Q(JR+3) - XT(5)=XC(4)*Q(JR+4)+XC(5)*Q(JR+5)+XC(6)*Q(JR+6) - XT(6)=XC(4)*Q(JR+7)+XC(5)*Q(JR+8)+XC(6)*Q(JR+9) -* -C***** End of Code Expanded From Routine: GRMTD - ENDIF -* - IACT = 1 - ISHT = Q(JVOT+2) - IF (ISHT.LT.5) THEN - IF (ISHT.EQ.1) THEN - CALL GNOBOX (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.2) THEN - CALL GNOTRA(XT,Q(JPAR+1),IACT,1,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.3) THEN - CALL GNOTRA(XT,Q(JPAR+1),IACT,2,SNEXT,SNXT,SAFE) - ELSE - CALL GNOTRP (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ENDIF - ELSE IF (ISHT.LE.10) THEN - IF (ISHT.EQ.5) THEN - CALL GNOTUB(XT,Q(JPAR+1),IACT,1,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.6) THEN - CALL GNOTUB(XT,Q(JPAR+1),IACT,2,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.7) THEN - CALL GNOCON(XT,Q(JPAR+1),IACT,1,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.8) THEN - CALL GNOCON(XT,Q(JPAR+1),IACT,2,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.9) THEN - CALL GNOSPH (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE - CALL GNOPAR (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ENDIF - ELSE IF (ISHT.EQ.11) THEN - CALL GNOPGO (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.12) THEN - CALL GNOPCO (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.13) THEN - CALL GNOELT (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.14) THEN - CALL GNOHYP (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE IF (ISHT.EQ.28) THEN - CALL GSNGTR (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE,0) - ELSE IF (ISHT.EQ.NSCTUB) THEN - CALL GNOCTU (XT,Q(JPAR+1),IACT,SNEXT,SNXT,SAFE) - ELSE - PRINT *, ' GTNEXT : No code for shape ', ISHT - STOP - ENDIF -* - safe=max(safe,0.) - if(snxt.le.-prec) then - snxt=big1 - goto 900 - else - snxt=max(snxt,0.) - endif - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LE.MIN(SNEXT,BIG1)) THEN - INGOTO = IN - SNEXT = SNXT - IGNEXT = 1 - LQ(JGPAR-NLEVEL-1) = JPAR - IQ(JGPAR+NLEVEL+1) = NPAR - ENDIF - endif - 171 if(nin.eq.1)then - goto 300 - elseif(nin.ge.1.and.ncont.gt.1)then - iii=iii+1 - if(iii.le.ncont)goto 150 - endif -* -* * Compute distance to boundary of current volume -* - 181 if(nnn.eq.0)then - JPAR = LQ(JGPAR-NLEVEL) - IACT = 2 - ISH = Q(JVO+2) - IF (ISH.LT.5) THEN - IF (ISH.EQ.1) THEN - CALL GNBOX (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.2) THEN - CALL GNTRAP (XC, Q(JPAR+1),IACT,1, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.3) THEN - CALL GNTRAP (XC, Q(JPAR+1),IACT,2, SNEXT,SNXT,SAFE) - ELSE - CALL GNTRP (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.LE.10) THEN - IF (ISH.EQ.5) THEN - CALL GNTUBE (XC, Q(JPAR+1),IACT,1, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.6) THEN - CALL GNTUBE (XC, Q(JPAR+1),IACT,2, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.7) THEN - CALL GNCONE (XC, Q(JPAR+1),IACT,1, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.8) THEN - CALL GNCONE (XC, Q(JPAR+1),IACT,2, SNEXT,SNXT,SAFE) - ELSE IF (ISH.EQ.9) THEN - CALL GNSPHR (XC, Q(JPAR+1),IACT, SNEXT, SNXT, SAFE) - ELSE - CALL GNPARA (XC, Q(JPAR+1),IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.EQ.12) THEN - CALL GNPCON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.11) THEN - CALL GNPGON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.13) THEN - CALL GNELTU (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.14) THEN - CALL GNHYPE (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.28) THEN - CALL GSNGTR (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE,1) - ELSE IF (ISH.EQ.NSCTUB) THEN - CALL GNCTUB (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - PRINT *, ' GTNEXT : No code for shape ', ISH - STOP - ENDIF -* - safe=max(safe,0.) - if(snxt.le.-prec) then - snxt=big1 - goto 900 - else - snxt=max(snxt,0.) - endif - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LE.MIN(SNEXT,BIG1)) THEN - SNEXT = SNXT - IGNEXT = 1 - INGOTO = 0 - ENDIF - endif - if(iaxis.eq.4)then - if(idma.eq.ndivto.and.inc.gt.0)goto 400 - cxm(1)=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - if(idmi.eq.idma)then - cxm(2)=cxm(1)+divthi - else - cxm(2)=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - endif - cxm(3)=20000. - call gntube(xxm,cxm,3,1,SNEXT,snxnew,safe) - if(snxnew.lt.0.)snxnew=big1 - snxnew=snxnew+.004 - snxtot=snxtot+snxnew - if(snxtot.lt.SNEXT)then - xxm(1)=xxm(1)+snxnew*xxm(4) - xxm(2)=xxm(2)+snxnew*xxm(5) - xxm(3)=xxm(3)+snxnew*xxm(6) - call gfcoor(xxm,iaxis,cxnew) - xevdiv=((cxnew-clmoth)*ndivto/(chmoth-clmoth))+1 - ivdiv=xevdiv - dr= xxm(1)*xxm(4)+xxm(2)*xxm(5) -* if(dr.eq.0.)print *,'dr.eq.0.' - if(dr.ge.0.)then - inc=1 - else - inc=-1 - endif - if((xevdiv-ivdiv).lt.0.0001.and.inc.eq.-1)ivdiv=ivdiv-1 - if(ivdiv.lt.1)then - ivdiv=1 - elseif(ivdiv.gt.ndivto)then - ivdiv=ndivto - endif - nnn=nnn+1 - goto 111 - else - if(inc.gt.0)then - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - safety=min(safety,(cmax-cxold)) - else - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - safety=min(safety,(cxold-cmin)) - endif - goto 400 - endif - endif - if(nnn.ne.0.and.SNEXT.eq.sneold)goto 199 - x0(1) = xc(1) + SNEXT*xc(4) - x0(2) = xc(2) + SNEXT*xc(5) - x0(3) = xc(3) + SNEXT*xc(6) - x0(4) = xc(4) - x0(5) = xc(5) - x0(6) = xc(6) - if(iaxis.le.3)then - cx=x0(iaxis) - xevdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - ievdiv=xevdiv - if((xevdiv-ievdiv).lt.0.0001.and.inc.eq.-1)ievdiv=ievdiv-1 - if(ievdiv.lt.1)then - ievdiv=1 - elseif(ievdiv.gt.ndivto)then - ievdiv=ndivto - endif - else - call gfcoor(x0,iaxis,cx) - if(iaxis.eq.6)then - if((cx-clmoth).lt.-1.)then - cx=cx+360. - elseif((cx-chmoth).gt.1.)then - cx=cx-360. - endif - if(cx.gt.chmoth)then - cx=chmoth - elseif(cx.lt.clmoth)then - cx=clmoth - endif - endif - xevdiv=((cx-clmoth)*ndivto/(chmoth-clmoth))+1 - ievdiv=xevdiv - if((xevdiv-ievdiv).lt.0.0001.and.inc.eq.-1)ievdiv=ievdiv-1 - if(ievdiv.lt.1)then - ievdiv=1 - elseif(ievdiv.gt.ndivto)then - ievdiv=ndivto - endif - endif - 199 if(ievdiv.ge.idmi.and.ievdiv.le.idma)then - if(inc.gt.0)then - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - if(iaxis.ne.6)then - safety=min(safety,(cmax-cxold)) - else - safefi=min(90.,(cmax-cxold)) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - else - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - if(iaxis.ne.6)then - safety=min(safety,(cxold-cmin)) - else - safefi=min(90.,(cxold-cmin)) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - endif - goto 400 - endif - if(iaxis.eq.6.or.iaxis.le.3)then - if(ievdiv.lt.idmi.and.inc.gt.0)then - if(nnn.eq.0.and.iaxis.eq.6 - + .and.(chmoth-clmoth).eq.360.)nflag=1 - if(nflag.eq.0)then -* print *,'ievdiv=',ievdiv,' ;idmi=',idmi,' inc.gt.0' -* print *,isht,'=isht; ',iaxis,'=iaxis; ',ish,'=ish;' - if(iaxis.le.3)then - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - safety=min(safety,abs(cmax-cxold)) - elseif(iaxis.eq.6)then - cmax=(clmoth+(idma-1)*(chmoth-clmoth)/ndivto)+divthi - safefi=min(90.,(cmax-cxold)) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - goto 400 - endif - elseif(ievdiv.gt.idma.and.inc.lt.0)then - if(nnn.eq.0.and.iaxis.eq.6 - + .and.(chmoth-clmoth).eq.360.)nflag=1 - if(nflag.eq.0)then -* print *,'ievdiv=',ievdiv,' ;idma=',idma,' inc.lt.0' -* print *,isht,'=isht; ',iaxis,'=iaxis; ',ish,'=ish;' - if(iaxis.le.3)then - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - safety=min(safety,abs(cxold-cmin)) - elseif(iaxis.eq.6)then - cmin=clmoth+(idmi-1)*(chmoth-clmoth)/ndivto - safefi=min(90.,(cxold-cmin)) - safe22=saferr*sin(safefi) - safety=min(safety,safe22) - endif - goto 400 - endif - endif - endif - nnn=nnn+1 - sneold=SNEXT - if(inc.gt.0)then - if(iaxis.eq.6)then - if(idma.eq.ndivto.and.(chmoth-clmoth).eq.360.)then - ivdiv=1 - else - ivdiv=idma+1 - endif - else - ivdiv=idma+1 - endif - else - if(iaxis.eq.6)then - if(idmi.eq.1.and.(chmoth-clmoth).eq.360.)then - ivdiv=ndivto - else - ivdiv=idmi-1 - endif - else - ivdiv=idmi-1 - endif - endif - goto 111 -* -* *** Case of volume incompletely divided -* - 200 JDIV = LQ(JVO-1) - IAXIS = Q(JDIV+1) - IVOT = Q(JDIV+2) - JVOT = LQ(JVOLUM-IVOT) - ISHT = Q(JVOT+2) -* -* ** Get the division parameters -* - IF (NLEVEL.LT.NLDEV(NLEVEL)) THEN - JPARM = 0 - ELSE -* (case with JVOLUM structure locally developed) - JPARM = LQ(LQ(JVOLUM-LVOLUM(NLDEV(NLEVEL)))) - IF (NLEVEL.EQ.NLDEV(NLEVEL)) GO TO 215 - DO 210 ILEV = NLDEV(NLEVEL), NLEVEL-1 - IF (IQ(JPARM+1).EQ.0) THEN - JPARM = LQ(JPARM-LINDEX(ILEV+1)) - IF (JPARM.EQ.0) GO TO 215 - ELSE IF (IQ(JPARM-3).GT.1) THEN - JPARM = LQ(JPARM-LINDEX(ILEV+1)) - ELSE - JPARM = LQ(JPARM-1) - ENDIF - IF (ILEV.EQ.NLEVEL-1) THEN - NDIV = IQ(JPARM+1) - ORIG = Q(JPARM+2) - SDIV = Q(JPARM+3) - ENDIF - 210 CONTINUE - GO TO 220 - ENDIF -* (normal case) - 215 NDIV = Q(JDIV+3) - ORIG = Q(JDIV+4) - SDIV = Q(JDIV+5) -* -* ** Look at the first and the last divisions only -* - 220 IDT = IDTYP(IAXIS, ISH) - IF (IDT.EQ.1) THEN - IN2 = 0 - IF (XC(IAXIS).LT.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE IF (IDT.EQ.2) THEN - R = XC(1)**2 + XC(2)**2 - IF (ISH.EQ.9) R = R + XC(3)**2 - R = SQRT(R) - IN2 = 0 - IF (ISH.EQ.5.OR.ISH.EQ.6.OR.ISH.EQ.9) THEN - IF (R.LT.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE -** PRINT *, ' GTNEXT : Partially divided ',ISH,IAXIS - IN = 1 - IF (NDIV.GT.1) IN2 = NDIV - ENDIF - ELSE IF (IDT.EQ.4) THEN - IN2 = 0 - RXY = XC(1)**2 + XC(2)**2 - RXY = SQRT(RXY) - IF (XC(3).NE.0.0) THEN - THET = RADDEG * ATAN (RXY/XC(3)) - IF (THET.LT.0.0) THET = THET + 180.0 - ELSE - THET = 90. - ENDIF - IF (THET.LE.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE - IN2 = 0 - IF (ISH.EQ.5.OR.ISH.EQ.7) THEN - IN = 1 - IF (NDIV.GT.1) IN2 = NDIV - ELSE - IF (XC(1).NE.0.0.OR.XC(2).NE.0.0) THEN - PHI = RADDEG * ATAN2 (XC(2), XC(1)) - ELSE - PHI = 0.0 - ENDIF - IF (ISH.EQ.6.OR.ISH.EQ.8) THEN - IF (PHI.LT.ORIG) THEN - IN = 1 - ELSE - IN = NDIV - ENDIF - ELSE - IN = 1 - IF (NDIV.GT.1) IN2 = NDIV - ENDIF - ENDIF - ENDIF -* - 225 IF (IDT.EQ.1) THEN - X0(1) = 0.0 - X0(2) = 0.0 - X0(3) = 0.0 - X0(IAXIS) = ORIG + (IN - 0.5) * SDIV - IF (ISH.EQ.4.OR.(ISH.EQ.10.AND.IAXIS.NE.1)) THEN - CALL GCENT (IAXIS, X0) - ENDIF - XT(1) = XC(1) - X0(1) - XT(2) = XC(2) - X0(2) - XT(3) = XC(3) - X0(3) - XT(4) = XC(4) - XT(5) = XC(5) - XT(6) = XC(6) - ELSE IF (IDT.EQ.3) THEN - PH0 = DEGRAD * (ORIG + (IN - 0.5) * SDIV) - CPHR = COS(PH0) - SPHR = SIN(PH0) - XT(1) = XC(1)*CPHR + XC(2)*SPHR - XT(2) = XC(2)*CPHR - XC(1)*SPHR - XT(3) = XC(3) - XT(4) = XC(4)*CPHR + XC(5)*SPHR - XT(5) = XC(5)*CPHR - XC(4)*SPHR - XT(6) = XC(6) - ELSE - DO 234 I = 1, 6, 2 - XT(I) = XC(I) - XT(I+1) = XC(I+1) - 234 CONTINUE - ENDIF -* - IF (JPARM.NE.0) THEN - IF (IQ(JPARM-3).GT.1) THEN - JPAR = LQ(JPARM-IN) - ELSE - JPAR = LQ(JPARM-1) - ENDIF - JPAR = JPAR + 5 - ELSE - JPAR = JVOT + 6 - ENDIF -* - IACT = 1 - IF (ISHT.LT.5) THEN - IF (ISHT.EQ.1) THEN - CALL GNOBOX (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.2) THEN - CALL GNOTRA (XT, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.3) THEN - CALL GNOTRA (XT, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE - CALL GNOTRP (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISHT.LE.10) THEN - IF (ISHT.EQ.5) THEN - CALL GNOTUB (XT, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.6) THEN - CALL GNOTUB (XT, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.7) THEN - CALL GNOCON (XT, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.8) THEN - CALL GNOCON (XT, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.9) THEN - CALL GNOSPH (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - CALL GNOPAR (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISHT.EQ.11) THEN - CALL GNOPGO (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.12) THEN - CALL GNOPCO (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.13) THEN - CALL GNOELT (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISHT.EQ.28) THEN - CALL GSNGTR (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE,0) - ELSE IF (ISHT.EQ.NSCTUB) THEN - CALL GNOCTU (XT, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - PRINT *, ' GTNEXT : No code for shape ', ISHT - STOP - ENDIF -* - safe=max(safe,0.) - if(snxt.le.-prec) then - snxt=big1 - goto 900 - else - snxt=max(snxt,0.) - endif - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LE.MIN(SNEXT,BIG1)) THEN - SNEXT = SNXT - IGNEXT = 1 - if(raytra.eq.1.)ingoto=-1 - ENDIF -* - IF (IN2.NE.0) THEN - IF (IN2.NE.IN) THEN - IN = IN2 - GO TO 225 - ENDIF - ENDIF -* (later, this section only for concave volumes if INGOTO >0 - 300 IACT = 1 - IF (IGNEXT.NE.0) THEN - IF (.NOT.BTEST(IQ(JVO),2)) IACT = 0 - ENDIF - if(nin.eq.1.and.ignext.ne.0)then - if(q(jin+8).eq.0.)iact=1 - endif - JPAR = LQ(JGPAR-NLEVEL) - IF (ISH.LT.5) THEN - IF (ISH.EQ.1) THEN - CALL GNBOX (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE ) - ELSE IF (ISH.EQ.2) THEN - CALL GNTRAP (XC, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.3) THEN - CALL GNTRAP (XC, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE - CALL GNTRP (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.LE.10) THEN - IF (ISH.EQ.5) THEN - CALL GNTUBE (XC, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.6) THEN - CALL GNTUBE (XC, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.7) THEN - CALL GNCONE (XC, Q(JPAR+1), IACT, 1, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.8) THEN - CALL GNCONE (XC, Q(JPAR+1), IACT, 2, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.9) THEN - CALL GNSPHR (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - CALL GNPARA (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ENDIF - ELSE IF (ISH.EQ.12) THEN - CALL GNPCON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.11) THEN - CALL GNPGON (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.13) THEN - CALL GNELTU (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.14) THEN - CALL GNHYPE (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE IF (ISH.EQ.28) THEN - CALL GSNGTR (XC,Q(JPAR+1), IACT, SNEXT, SNXT, SAFE,1) - ELSE IF (ISH.EQ.NSCTUB) THEN - CALL GNCTUB (XC, Q(JPAR+1), IACT, SNEXT, SNXT, SAFE) - ELSE - PRINT *, ' GTNEXT : No code for shape ', ISH - STOP - ENDIF -* - safe=max(safe,0.) - if(snxt.le.-prec) then - snxt=big1 - goto 900 - else - snxt=max(snxt,0.) - endif - IF (SAFE.LT.SAFETY) SAFETY = SAFE - IF (SNXT.LE.MIN(SNEXT,BIG1)) THEN - SNEXT = SNXT - IGNEXT = 1 - INGOTO = 0 - ENDIF -* - 400 if(iswit(9).eq.123456789.and.Q(JVO+3).gt.1.)then - print *,'n. of checked objects = ',mmm - endif - if(myinfr.gt.0)then - jin=lq(jvo-myinfr) - iq(jin)=ibclr(iq(jin),4) - myinfr=0 - endif - if(gonly(nlevel).eq.0..or.nvmany.ne.0) THEN - if(safety.lt.tsafet)tsafet=safety - if(snext.lt.tsnext)then - mycoun=mycoun+1 - tsnext=snext - tignex=ignext - tingot=ingoto - call gscvol - if(ingoto.gt.0)then - iq(jgpar2+nlevel+1)=iq(jgpar+nlevel+1) - lq(jgpar2-nlevel-1)=lq(jgpar-nlevel-1) - endif - endif - if(gonly(nlevel).eq.0.)then - 404 continue - if(gonly(nlevel-1).eq.0..or.newfl.eq.0)then - if(gonly(nlevel-1).ne.0.)newfl=1 - nlevel=nlevel-1 - jvo=lq(jvolum-lvolum(nlevel)) - nin=q(jvo+3) - if(nin.lt.0)goto 404 - myinfr=lindex(nlevel+1) - jin=lq(jvo-myinfr) - iq(jin)=ibset(iq(jin),4) - ignext=0 - goto 401 - endif - endif - 403 continue - if(manyfl.lt.nvmany)then - manyfl=manyfl+1 - if(manyfl.eq.nfmany)goto 403 - levtmp=manyle(manyfl) - do 402 i=1,levtmp - namtmp(i)=manyna(manyfl,i) - numtmp(i)=manynu(manyfl,i) - 402 continue - call glvolu(levtmp,namtmp,numtmp,ier) - if(ier.ne.0)print *,'Fatal error in GLVOLU' - ignext=0 - goto 401 - endif - if(tsafet.le.safety)safety=tsafet - if(tsnext.le.snext)then - snext=tsnext - ignext=tignex - ingoto=tingot - call gfcvol - nlevin=nlevel - if(ingoto.gt.0)then - iq(jgpar+nlevel+1)=iq(jgpar2+nlevel+1) - lq(jgpar-nlevel-1)=lq(jgpar2-nlevel-1) - endif - endif - endif -* -* *** Attempt to rescue negative SNXT due to rounding errors -* - 900 IF (SNXT.EQ.BIG1) THEN -CCC debug - IF (ISWIT(9).EQ.123456789) THEN - PRINT *,' GTNEXT : SNEXT,SAFETY,INGOTO=',SNEXT,SAFETY,INGOTO - CALL G3PCXYZ - ENDIF -CCC - SAFETY = 0. - SNEXT = 0. - IGNEXT = 1 - INGOTO = 0 - ENDIF - IF(JGSTAT.NE.0) CALL GFSTAT(3) -* END GTNEXT - END -#endif diff --git a/StarVMC/geant3/gtrak/gtnino.F b/StarVMC/geant3/gtrak/gtnino.F deleted file mode 100644 index 2e59b47d79d..00000000000 --- a/StarVMC/geant3/gtrak/gtnino.F +++ /dev/null @@ -1,113 +0,0 @@ -* -* $Id: gtnino.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gtnino.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:42 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 01/11/94 16.25.59 by S.Ravndal -*-- Author : - SUBROUTINE G3TNINO -C. -C. ****************************************************************** -C. * * -C. * Tracking routine for "GEANTINO" type tracks * -C. * * -C. * ==>Called by : G3TRACK * -C. * Author R.Brun, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gconsp.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#if defined(CERNLIB_DEBUG) -#include "geant321/gcunit.inc" -#endif -#if !defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-6) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif -C. -C. ------------------------------------------------------------------ -C. - STEP = STEMAX - IPROC = 103 - CALL GTNEXT - IF (IGNEXT.NE.0) THEN - STEP = SNEXT + PREC - IPROC=0 - INWVOL= 2 - NMEC = 1 - LMEC(1)=1 -* -* *** Linear transport -* - DO 10 I = 1,3 - VECTMP = VECT(I) +STEP*VECT(I+3) - IF(VECTMP.EQ.VECT(I)) THEN -* -* *** Correct for machine precision -* - IF(VECT(I+3).NE.0.) THEN - VECTMP = VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))* - + EPSMAC -* IF(NMEC.GT.0) THEN -* IF(LMEC(NMEC).EQ.32) NMEC=NMEC-1 -* ENDIF -* NMEC=NMEC+1 -* LMEC(NMEC)=32 -#if defined(CERNLIB_DEBUG) - WRITE(CHMAIL, 10000) - CALL GMAIL(0,0) - WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT - CALL GMAIL(0,0) -10000 FORMAT(' Boundary correction in GTNINO: ', - + ' GEKIN NUMED STEP SNEXT') -10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X) -#endif - ENDIF - ENDIF - VECT(I) = VECTMP - 10 CONTINUE - ELSE - DO 20 I = 1,3 - VECT(I) = VECT(I) +STEP*VECT(I+3) - 20 CONTINUE - ENDIF - SLENG = SLENG +STEP -* -* *** Update time of flight -* - TOFG = TOFG +STEP/CLIGHT -* - IF(IPROC.NE.0) THEN - NMEC=NMEC+1 - LMEC(NMEC)=IPROC - ENDIF - END diff --git a/StarVMC/geant3/gtrak/gtrack.F b/StarVMC/geant3/gtrak/gtrack.F deleted file mode 100644 index fe344222c48..00000000000 --- a/StarVMC/geant3/gtrak/gtrack.F +++ /dev/null @@ -1,360 +0,0 @@ -* -* $Id: gtrack.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gtrack.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:42 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 1999/07/09 13:46:27 fca -* Better printing for MAXSTEP -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:44 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.24 by S.Giani -*FCA : 17/05/99 16:21:12 by Federico Carminati -* Added the modifications of P.Nevski in MANY volumes -* force update of alternative list of many candidates -*-- Author : - SUBROUTINE G3TRACK -C. -C. ****************************************************************** -C. * * -C. * Controls tracking of current particle, * -C. * up to end of track for sequential tracking mode, or * -C. * through current volume for parallel tracking mode. * -C. * * -C. * ==>Called by : GUTRAK * -C. * Authors : R.Brun, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcparm.inc" -#include "geant321/gcsets.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcnum.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif - COMMON/GCCHAN/LSAMVL - LOGICAL LSAMVL -* - integer isOnly - DIMENSION CUTS(10),MECA(5,13) - EQUIVALENCE (CUTS(1),CUTGAM),(MECA(1,1),IPAIR) - SAVE PRECOR -#if !defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-6) -#endif -#if defined(CERNLIB_SINGLE) - PARAMETER (EPSMAC=1.E-11) -#endif -C. -C. ------------------------------------------------------------------ - ISTOP = 0 - EPSCUR = EPSMAC - NSTOUT = 0 - INWOLD = 0 - LSAMVL = .FALSE. -* -* *** Check validity of tracking medium and material parameters -* - 10 IF (NUMED.NE.NUMOLD) THEN - NUMOLD = NUMED - IUPD = 0 - JTM = LQ(JTMED- NUMED) - DO 20 I = 1,5 - NATMED(I) = IQ(JTM+I) - 20 CONTINUE - NMAT = Q(JTM + 6) - ISVOL = Q(JTM + 7) - IFIELD = Q(JTM + 8) - FIELDM = Q(JTM + 9) - TMAXFD = Q(JTM + 10) - STEMAX = Q(JTM + 11) - DEEMAX = Q(JTM + 12) - EPSIL = Q(JTM + 13) - STMIN = Q(JTM + 14) - PRECOR = MIN(0.1*EPSIL, 0.0010) - IF (LQ(JTM).EQ.0) THEN - IF (ISTPAR.NE.0) THEN - DO 30 I = 1,10 - CUTS(I) = Q(JTMED+I) - 30 CONTINUE - DO 40 I = 1,13 - MECA(1,I) = Q(JTMED+10+I) - 40 CONTINUE - ILABS = Q(JTMED+10+21) - ISYNC = Q(JTMED+10+22) - ISTRA = Q(JTMED+10+23) - ISTPAR = 0 - ENDIF - ELSE - JTMN = LQ(JTM) - DO 50 I = 1,10 - CUTS(I) = Q(JTMN+I) - 50 CONTINUE - DO 60 I = 1,13 - MECA(1,I) = Q(JTMN+10+I) - 60 CONTINUE - ILABS = Q(JTMN+10+21) - ISYNC = Q(JTMN+10+22) - ISTRA = Q(JTMN+10+23) - ISTPAR = 1 - ENDIF -* - JMA = LQ(JMATE-NMAT) - JPROB = LQ(JMA-4) - JMIXT = LQ(JMA-5) - DO 70 I = 1,5 - NAMATE(I) = IQ(JMA+I) - 70 CONTINUE - A = Q(JMA +6) - Z = Q(JMA +7) - DENS = Q(JMA +8) - RADL = Q(JMA +9) - ABSL = Q(JMA +10) - IF(IQ(JTM-2).GE.3.AND.LQ(JTM-3).NE.0.AND.ITCKOV.NE.0.AND. - + LQ(LQ(JTM-3)-3).NE.0.AND.Z.GE.1.) THEN -* -* *** In this tracking medium Cerenkov photons are generated and -* *** tracked. Set to 1 the corresponding flag. -* - IMCKOV = 1 - ELSE - IMCKOV = 0 - ENDIF -* -* -* ** Update precomputed quantities -* - IMULL = IMULS - IF (ILOSS.LE.0) THEN - DEEMAX = 0. - ILOSL = 0 - ELSEIF (DEEMAX.GT.0.) THEN - ILOSL = ILOSS - ELSE - ILOSL = 0 - ENDIF - ENDIF -* - IF(LSAMVL) THEN -* -* If now the particle is entering in the same volume where -* it was exiting from last step, and if it has done this for -* more than 5 times, we decrease the precision of tracking - NSTOUT=NSTOUT+1 - IF(MOD(NSTOUT,5).EQ.0) THEN - EPSCUR=NSTOUT*EPSMAC -* WRITE(CHMAIL,10000)ITRA,ISTAK,NTMULT,NAPART -*10000 FORMAT(' *** GTRACK *** Boundary loop: track ', -* + I4,' stack ',I4,' NTMULT ',I5,1X,5A4) -* CALL GMAIL(1,0) -* WRITE (CHMAIL,10250) IEVENT,IDEVT,(NRNDM(I),I = 1,2) -* CALL GMAIL(0,0) -* WRITE(CHMAIL,10100) EPSCUR -*10100 FORMAT(' Precision now set to ',G10.3) -* CALL GMAIL(0,1) - ENDIF - ELSE - NSTOUT = 0 - EPSCUR = EPSMAC - ENDIF -* - INWVOL = 1 -* -* *** Compute SET and DET number if volume is sensitive -* - IF (JSET.GT.0) THEN - IF(ISVOL.GT.0) THEN - CALL G3FINDS - ELSE - IHSET = 0 - IHDET = 0 - ISET = 0 - IDET = 0 - IDTYPE = 0 - NVNAME = 0 - ENDIF - ENDIF -* -* Clear step dependent variables -* - 80 NMEC = 0 - STEP = 0. - DESTEL = 0. - DESTEP = 0. - NGKINE = 0 - NGPHOT = 0. - IGNEXT = 0 - INWOLD = INWVOL - PREC = MAX(PRECOR,MAX(ABS(VECT(1)),ABS(VECT(2)), - + ABS(VECT(3)),SLENG)*EPSCUR) -* -* Give control to user at entrance of volume (INWVOL=1) -* - IF (INWVOL.EQ.1) THEN -#if !defined(CERNLIB_USRJMP) - CALL GUSTEP -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUSTEP) -#endif - IF (ISTOP.NE.0) GO TO 999 - INWVOL = 0 - ENDIF -* -* *** Propagate particle up to next volume boundary or end of track -* - INGOTO = 0 - NLEVIN = NLEVEL - IF (IPARAM.NE.0) THEN - IF (GEKIN.LE.PACUTS(ITRTYP)) THEN - NMEC = NMEC+1 - LMEC(NMEC) = 26 - ISTOP = 2 -#if !defined(CERNLIB_USRJMP) - CALL GUPARA -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUPARA) -#endif - GO TO 90 - ENDIF - ENDIF - IF (ITRTYP.EQ.1) THEN - CALL G3TGAMA - ELSE IF (ITRTYP.EQ.2) THEN - CALL G3TELEC - ELSE IF (ITRTYP.EQ.3) THEN - CALL G3TNEUT - ELSE IF (ITRTYP.EQ.4) THEN - CALL G3THADR - ELSE IF (ITRTYP.EQ.5) THEN - CALL G3TMUON - ELSE IF (ITRTYP.EQ.6) THEN - CALL G3TNINO - ELSE IF (ITRTYP.EQ.7) THEN - CALL G3TCKOV - ELSE IF (ITRTYP.EQ.8) THEN - CALL G3THION - ENDIF - IF(JGSTAT.NE.0) CALL GFSTAT(10+ITRTYP) - STLOSS=STEP -* -* Check for possible endless loop -* - 90 NSTEP = NSTEP +1 - IF (NSTEP.GT.ABS(MAXNST)) THEN - IF (ISTOP.EQ.0) THEN - ISTOP = 99 - NMEC = NMEC +1 - LMEC(NMEC) = 30 - IF(MAXNST.GT.0) THEN - WRITE(CHMAIL,10200) MAXNST - CALL GMAIL(1,0) - CALL G3PCXYZ - WRITE(CHMAIL,10250) IEVENT,IDEVT, - + (NRNDM(I),I=1,2),TOFG*1.E9 - CALL GMAIL(0,1) -10200 FORMAT(' *** GTRACK *** More than ',I6, - + ' steps, tracking abandoned!') -10250 FORMAT(' IEVENT ',I7,' IDEVT ',I7,' Random Seeds ',I10,2X - $ ,I10,' Time of flight ',F10.3,' ns') - ENDIF - ENDIF - ENDIF -* -* *** Give control to user at end of each tracking step -* - SAFETY = SAFETY -STEP -#if !defined(CERNLIB_USRJMP) - CALL GUSTEP -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUSTEP) -#endif -* - IF (ISTOP.NE.0) GO TO 999 -* -* Renormalize direction cosines -* - PMOM = SQRT(VECT(4)**2+VECT(5)**2+VECT(6)**2) - IF(PMOM.GT.0.) THEN - CMOD = 1./PMOM - VECT(4) = VECT(4)*CMOD - VECT(5) = VECT(5)*CMOD - VECT(6) = VECT(6)*CMOD - ENDIF -* force update of alternatives: - IF (INWVOL.EQ.0) then - call gtonly(isOnly) - if (isOnly.eq.0.and.Safety.le.0.and.Iswit(10).ge.0) - + CALL GTMEDI(VECT,NMED) - GO TO 80 - endif -* - IF (NLEVIN.GE.NLEVEL) THEN - INFROM = 0 - ELSE - IF (NLEVIN.EQ.0) GO TO 100 - INFROM = LINDEX(NLEVIN+1) - ENDIF - IF (NLEVIN.NE.NLEVEL) INGOTO = 0 - NLEVEL = NLEVIN -* - CALL GTMEDI (VECT, NUMED) - IF (NUMED.NE.0) THEN - SAFETY = 0. - GO TO 10 - ENDIF -* -* Track outside setup, give control to user (INWVOL=3) -* - 100 INWVOL = 3 - ISTOP = 1 - ISET = 0 - IDET = 0 - NMEC = 0 - STEP = 0. - DESTEL = 0. - DESTEP = 0. - NGKINE = 0 - NLCUR = NLEVEL - NLEVEL = 1 -#if !defined(CERNLIB_USRJMP) - CALL GUSTEP -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUSTEP) -#endif - NLEVEL = NLCUR -* END GTRACK - 999 END diff --git a/StarVMC/geant3/gtrak/gtrak.doc b/StarVMC/geant3/gtrak/gtrak.doc deleted file mode 100644 index 32f5944f3a1..00000000000 --- a/StarVMC/geant3/gtrak/gtrak.doc +++ /dev/null @@ -1,223 +0,0 @@ -* -* $Id: gtrak.doc,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gtrak.doc,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:42 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:40 cernlib -* Geant -* -* -#include "geant321/pilot.h" -#if defined(CERNLIB_DOC) -*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani -*-- Author : -* -************************************************************************ -* * -* Introduction to the Tracking package * -* ------------------------------------ * -* * -* * -* THE TRACKING PACKAGE * -* * -* In the context of simulation programs, 'tracking' a particle * -* through matter consists of predicting the spatial coordinates of a * -* set of points which define the trajectory and of computing the * -* components of the momentum at each point. This is usually * -* achieved by integrating the 'equations of motion' over successive * -* steps and applying corrections when necessary to account for the * -* perturbations introduced by the interactions with matter. * -* The tracking package contains mainly a subprogram which controls, * -* and effectively performs, the transport of all particles in the * -* current event and of the secondary products which they might * -* possibly generate, plus some tools for storing the space point * -* coordinates computed along the corresponding trajectories. * -* * -* THE STEP SIZE * -* * -* When tracking particles through a complex medium structure one of * -* the critical tasks is the estimation 'a priori' of the step size. * -* This is performed automatically by the program. * -* For a particle with given energy the step size depends primarily * -* on the properties of the particle (mass, charge, lifetime, etc.) * -* and of the current medium in which the particle is moving. The * -* dependence may come either from (quasi)continuous processes which * -* usually impose a limit to the interval of integration (energy * -* loss, multiple scattering or bending in magnetic field) or to the * -* occurence of a discrete process which introduces a discontinuity * -* in the trajectory (decay, electromagnetic or hadronic * -* interaction). In addition to these physical effects there are * -* constraints of a geometrical nature, the step being limited by the * -* path length to the medium boundary. * -* In practice, the step size depends ultimately on a set of * -* tolerances and cuts which should be optimized by the user for the * -* given application, such as: * -* * -* - the maximum bending angle due to magnetic field permitted in one * -* step, * -* - the maximum fractional energy loss in one step, * -* - the maximum step size permitted by the multiple scattering * -* theory used * -* - the accuracy for crossing medium boundaries and * -* - the absolute maximum step allowed * -* * -* The limitations imposed by the first three processes could lead * -* to extremely small steps for low energy particles. To avoid this, * -* in GEANT has been introduced a minimum step due to continuous * -* processes. This represent a lower bound for the maximum step * -* which is very important for keeping the time taken to develop and * -* follow a shower within reasonable limits. * -* * -* These quantities are part of the so called 'tracking medium' * -* parameters. They are usually calculated automatically by GEANT, * -* but may be provided by the user to be stored in the data structure * -* JTMED, through the routine GSTMED [CONS]. Usually, this is done * -* together with the initialisation of the geometrical setup. Users * -* are suggested to begin their simulations with the values * -* calculated by GEANT. The optimisation is by no means trivial as * -* the economy of computing time should not lead to an unacceptable * -* loss of accuracy. * -* Other general information required for the computation of the * -* step size is expected to be available in the data structures JPART * -* and JMATE, for the properties of the particles and of the * -* materials, and in the data structure JVOLUM, for the current * -* medium and its geometrical boundaries. The communication between * -* the tracking package and the structure JVOLUM is achieved through * -* the basic subroutines of the geometry package GMEDIA (GTMEDI), * -* GNEXT (GTNEXT) and GINVOL [GEOM,GTRAK] * -* Some additional information is computed at tracking time such as * -* the probability of occurence of an interaction. For convenience * -* every particle is assigned a 'tracking type', 1 for the gammas, 2 * -* for the electrons and positrons, 3 for the neutral hadrons (and * -* neutrinos!), 4 for the charged hadrons and 5 for the muons. Which * -* physics processes have potentially to be considered for a given * -* particle depends on its tracking type. For the hadrons it depends * -* also, through the subroutine GUPHAD, on which hadronic processes * -* have been selected (GHEISHA is the default) [PHYS 001]. * -* * -* THE SUBROUTINES GTREVE and GTRACK * -* * -* At event level the tracking is controlled by the subroutine * -* GTREVE called by the subroutine GUTREV where the user is free to * -* take any other action. GTREVE loops over all vertices and stores * -* all tracks from the current vertex in the stack JSTAK, then for * -* each one in turn, calls GLTRAC to prepare the commons for * -* tracking, and starts tracking through a call to GUTRAK, which * -* calls GTRACK. * -* The subroutine GTRACK tracks the particle up to the end : stop, * -* decay, interaction or escape. During this phase it may happen * -* that secondary products are generated and stored by the user, as * -* explained below, in the stack, and if wanted, in the permanent * -* structure JKINE. * -* The subroutine GTRACK loops over all geometrical volumes seen by * -* the current track, first identifying, through the subroutine * -* GTMEDI, the new volume which the particle has reached and storing * -* the corresponding material and tracking medium constants in the * -* common blocks /GCMATE/ and /GCTMED/; the tracking is controlled by * -* the type-dependent routines GTELEC,GTGAMA,GTHADR,GTMUON,GTNEUT. * -* These compute the physical step size according to the activated * -* physics processes, and compute the geometrical limit for the step, * -* only when necessary, through GTNEXT, and propagate the particle * -* over the computed step. * -* * -* MAGNETIC FIELD ROUTINES * -* * -* As mentioned before, the effective propagation of the particles is * -* controlled by the routines GTGAMA, GTELEC, etc., which call GUSWIM. * -* Depending on the value chosen by the user for the tracking medium * -* parameter IFIELD the routine GUSWIM calls either * -* * -* G3RKUTA for inhomogeneous fields, IFIELD=1 * -* G3HELIX for quasi-homogeneous fields tilted w.r.t. the reference * -* frame, IFIELD=2, or * -* G3HELX3 for one-component fields along the z axis, IFIELD=3 * -* * -* G3RKUTA and G3HELIX call the default user subroutine GUFLD where * -* the components of the field at the given point are computed. * -* G3HELX3 takes the value of the field in the tracking medium * -* parameter FIELDM. * -* * -* INFORMATION AVAILABLE AT TRACKING TIME, AND THE SUBROUTINE GUSTEP * -* * -* At any moment the current track parameters are available in the * -* common block /GCTRAK/ as well as all variables which have to be * -* preserved by the tracking routines for the control of the step * -* size. In addition a few flags and variables are stored in the * -* common block /GCTRAK/ to record the history of the current step: * -* * -* INWVOL is initialized to 1 when entering a new volume, it is * -* set to 0 for all steps inside the volume, to 2 if the * -* particle has reached the volume boundary and to 3 when * -* the particle is leaving the experimental setup. * -* ISTOP is initialized to 0 and set to 1 if the particle looses * -* its identity or to 2 if it stops. * -* * -* The effect which is responsible for the limitation of the step * -* size as well as the corrective effects which have been applied at * -* the end of the step, if any, are recorded in the first NMEC words * -* of the mechanism vector LMEC and this is most useful to understand * -* and debug the program. * -* The total energy loss for the current step is stored in the * -* variable DESTEP, and the continuous energy loss in DESTEL. * -* This information is necessary for the user to take the proper * -* actions in the subroutine GUSTEP which is called by GTRACK at the * -* end of every step. * -* In addition, the number NGKINE of secondary products which have * -* possibly been generated and their characteristics are stored in * -* the common block /GCKING/ together with an identification (array * -* LMEC) of which process is responsible. Depending on the * -* application and on the particle type, the user may decide in * -* GUSTEP through the routine GSKING, * -* * -* - to discard the newly produced secondaries * -* - to enter them in the temporary JSTAK data structure to be * -* tracked * -* - to store them in the permanent JKINE data structure to be * -* tracked * -* * -* CONNECTION WITH THE DETECTOR RESPONSE PACKAGE * -* * -* The loop over the volumes in GTRACK makes the interface with the * -* detector response package simple [HITS]. By construction of the * -* geometrical setup there is a correspondance between the volumes * -* seen by the particle and the components of the detectors. When * -* entering a new volume (in GTRACK) the subroutine GFINDS is called. * -* If the volume has been declared by the user as a sensitive * -* detector through appropriate calls to GSDET and if the * -* corresponding tracking medium constant ISVOL is non zero, GFINDS * -* returns in the common block /GCSETS/ the information to identify * -* uniquely the detector component. This enables the user in GUSTEP * -* to record the hits properly as well as the energy deposited * -* [HITS]. * -* * -* CONNECTION WITH THE DRAWING PACKAGE * -* * -* The coordinates of the space points generated during the tracking * -* are available at each step in the common block /GCTRAK/. In * -* GUSTEP the user can store them in the structure JXYZ with the help * -* of the subroutine GSXYZ. This information can be used later for * -* debug (subroutine GPCXYZ) or for the graphical representation of * -* the trajectories [DRAW]. * -* * -************************************************************************ -#endif diff --git a/StarVMC/geant3/gtrak/gtreve.F b/StarVMC/geant3/gtrak/gtreve.F deleted file mode 100644 index 99f5fa8e8f0..00000000000 --- a/StarVMC/geant3/gtrak/gtreve.F +++ /dev/null @@ -1,136 +0,0 @@ -* -* $Id: gtreve.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gtreve.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:42 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 07/10/94 18.07.13 by S.Giani -*-- Author : - SUBROUTINE G3TREVE -C. -C. ****************************************************************** -C. * * -C. * SUBR. G3TREVE * -C. * * -C. * Controls tracking of all particles belonging to the current * -C. * event. * -C. * * -C. * Called by : GUTREV, called by G3TRIG * -C. * Authors : R.Brun, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#if defined(CERNLIB_USRJMP) -#include "geant321/gcjump.inc" -#endif - REAL UBUF(2) - EQUIVALENCE (UBUF(1),WS(1)) - LOGICAL BTEST -C. -C. ------------------------------------------------------------------ - NTMSTO = 0 - NSTMAX = 0 - NALIVE = 0 -* - NV = NVERTX - DO 290 IV = 1,NV -* -* *** For each vertex in turn .. -* - JV = LQ(JVERTX-IV) - NT = Q(JV+7) - IF (NT.LE.0) GO TO 290 - TOFG = Q(JV+4) - SAFETY = 0. -* -* ** Loop over tracks attached to current vertex -* - DO 190 IT = 1,NT - JV = LQ(JVERTX-IV) - ITRA = Q(JV+7+IT) - IF (BTEST(IQ(LQ(JKINE-ITRA)),0)) GO TO 190 - CALL G3FKINE (ITRA, VERT, PVERT, IPART, IVERT, UBUF, NWBUF) - IF (IVERT.NE.IV) THEN - WRITE (CHMAIL, 1002) IV, IVERT - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* -* * Store current track parameters in stack JSTAK -* - CALL G3SSTAK (2) - 190 CONTINUE -* -* ** Start tracking phase -* - 210 IF (NALIVE.NE.0) THEN - NALIVE = NALIVE -1 -* -* * Pick-up next track in stack JSTAK, if any -* - IF (IQ(JSTAK+1).GT.0) THEN -* -* * Initialize tracking parameters -* - CALL G3LTRAC - IF (NUMED.EQ.0) GO TO 210 - ELSE -* -* * otherwise, select next track segment from stack JTRACK -* - print *,' =======CALLING GFTRAC' -c CALL GFTRAC -* - ENDIF -* -* * Resume tracking -* -#if !defined(CERNLIB_USRJMP) - CALL GUTRAK -#endif -#if defined(CERNLIB_USRJMP) - CALL JUMPT0(JUTRAK) -#endif - IF (IEOTRI.NE.0) GO TO 999 - GO TO 210 - ENDIF -* - 290 CONTINUE -* - 1001 FORMAT (' GTREVE : Vertex outside setup, XYZ=',3G12.4) - 1002 FORMAT (' GTREVE : Abnormal track/vertex connection',2I8) -* END GTREVE - 999 END - diff --git a/StarVMC/geant3/gtrak/gtreveroot.F b/StarVMC/geant3/gtrak/gtreveroot.F deleted file mode 100644 index 1f1cd9786ec..00000000000 --- a/StarVMC/geant3/gtrak/gtreveroot.F +++ /dev/null @@ -1,193 +0,0 @@ -* -* $Id: gtreveroot.F,v 1.1.1.2 2009/02/01 17:10:33 fisyak Exp $ -* -* $Log: gtreveroot.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:33 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:55 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:56 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:56 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:26 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:42 hristov -* Separate distribution of Geant3 -* -* Revision 1.2 2001/05/16 14:57:14 alibrary -* New files for folders and Stack -* -* Revision 1.1 2000/07/11 18:24:56 fca -* Coding convention corrections + few minor bug fixes -* -* Revision 1.2 1999/07/01 14:45:34 fca -* Modifications to allow Cherenkov transport -* -* Revision 1.1 1999/06/03 16:38:16 fca -* First version of gtreve_root, special version of gtreve for AliRoot to be -* called from gutrev. -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:45 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/03 07/10/94 18.07.13 by S.Giani -*-- Author : - SUBROUTINE GTREVEROOT -C. -C. ****************************************************************** -C. * * -C. * SUBR. GTREVE * -C. * * -C. * Controls tracking of all particles belonging to the current * -C. * event. * -C. * * -C. * Called by : GUTREV, called by G3TRIG * -C. * Authors : R.Brun, F.Bruyant * -C. * * -C. ****************************************************************** -C. -#include "geant321/gcbank.inc" -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcnum.inc" -#include "geant321/gcstak.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/sckine.inc" - REAL UBUF(2) - EQUIVALENCE (UBUF(1),WS(1)) - LOGICAL BTEST - DIMENSION PMOM(3),VPOS(3),VPOLA(3) -C. -C. ------------------------------------------------------------------ - NTMSTO = 0 - NSTMAX = 0 - NALIVE = 0 -* Kick start the creation of the vertex - VPOS(1)=0 - VPOS(2)=0 - VPOS(3)=0 - PMOM(1)=0 - PMOM(2)=0 - PMOM(3)=0 - IPART=1 - CALL G3SVERT(VPOS,0,0,UBUF,0,NVTX) - CALL G3SKINE(PMOM,IPART,NVTX,UBUF,0,NT) -* - MTRACK=-999 - 10 MTROLD=MTRACK - CALL RXGTRAK(MTRACK,IPART,PMOM,E,VPOS,VPOLA,TTOF) - IF(MTROLD.LT.0) THEN - MPRIMA=MTRACK - ENDIF - IF(MTRACK.LE.MPRIMA) THEN - IF(MTROLD.GT.0) THEN -C --- Output root hits tree only for each primary MTRACK - CALL RXOUTH - ENDIF - IF(MTRACK.GT.0) THEN - CALL RXINH - IF(ISWIT(4).GT.0) THEN - IF(ISWIT(4).EQ.1.OR.MOD(MTRACK,ISWIT(4)).EQ.0) THEN - WRITE(CHMAIL,10200) MTRACK - CALL GMAIL(0,0) - ENDIF - ENDIF - ENDIF - ENDIF - IF(MTRACK.LE.0) GOTO 999 - ITRTYP = NINT(Q(LQ(JPART-IPART)+6)) - IF(ITRTYP.EQ.7) THEN -* This is a cherenkov photon, more complicated... - NGPHOT=1 - XPHOT(7,1) = SQRT(VPOLA(1)**2+VPOLA(2)**2+VPOLA(3)**2) - DO KK=1,3 - XPHOT(KK ,1) = VPOS(KK) - XPHOT(KK+3,1) = PMOM(KK)/XPHOT(7,1) - XPHOT(KK+7,1) = VPOLA(KK) - ENDDO - XPHOT(11,1) = TTOF - CALL G3SKPHO(1) -* Just make sure that the track, whatever that is, is NOT transported - IQ(LQ(JKINE-1)) = IBSET(IQ(LQ(JKINE-1)),0) - ELSE -* Set the vertex - JV=LQ(JVERTX-1) - Q(JV + 1) = VPOS(1) - Q(JV + 2) = VPOS(2) - Q(JV + 3) = VPOS(3) - Q(JV + 4) = TTOF - Q(JV + 5) = 0 - Q(JV + 6) = 0 -* Set the track - JK=LQ(JKINE-1) - Q(JK + 1) = PMOM(1) - Q(JK + 2) = PMOM(2) - Q(JK + 3) = PMOM(3) - Q(JK + 4) = E - Q(JK + 5) = IPART - Q(JK + 6) = 1 -* Make sure the track IS transported - IQ(LQ(JKINE-1)) = IBCLR(IQ(LQ(JKINE-1)),0) - ENDIF -* Now transport -C CALL G3PVERT(0) -C CALL G3PKINE(0) -* Normal Gtreve_root code - NV = NVERTX - DO 40 IV = 1,NV -* *** For each vertex in turn .. - JV = LQ(JVERTX-IV) - NT = Q(JV+7) - IF (NT.LE.0) GO TO 40 - TOFG = Q(JV+4) - SAFETY = 0. -* ** Loop over tracks attached to current vertex - DO 20 IT = 1,NT - JV = LQ(JVERTX-IV) - ITRA = Q(JV+7+IT) - IF (BTEST(IQ(LQ(JKINE-ITRA)),0)) GO TO 20 - CALL G3FKINE (ITRA, VERT, PVERT, IPART, IVERT, UBUF, NWBUF) - IF (IVERT.NE.IV) THEN - WRITE (CHMAIL, 10100) IV, IVERT - CALL GMAIL (0, 0) - GO TO 999 - ENDIF -* * Store current track parameters in stack JSTAK - CALL G3SSTAK (2) - 20 CONTINUE -* ** Start tracking phase - 30 IF (NALIVE.NE.0) THEN - NALIVE = NALIVE -1 -* * Pick-up next track in stack JSTAK, if any -* * Initialize tracking parameters - CALL G3LTRAC - IF (NUMED.EQ.0) GO TO 30 -* * Resume tracking - CALL GUTRAK - IF (IEOTRI.NE.0) GO TO 999 - GO TO 30 - ENDIF -* - 40 CONTINUE - GOTO 10 -* -10000 FORMAT (' GTREVE_ROOT : Vertex outside setup, XYZ=',3G12.4) -10100 FORMAT (' GTREVE_ROOT : Abnormal track/vertex connection',2I8) -10200 FORMAT (' GTREVE_ROOT : Transporting primary track No ',I10) -* END GTREVE_ROOT - 999 END - diff --git a/StarVMC/geant3/matx55/dcross.F b/StarVMC/geant3/matx55/dcross.F deleted file mode 100644 index d4a7aef8cfd..00000000000 --- a/StarVMC/geant3/matx55/dcross.F +++ /dev/null @@ -1,46 +0,0 @@ -* -* $Id: dcross.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: dcross.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.50 by S.Giani -*-- Author : - SUBROUTINE DCROSS(X,Y,Z) -* ======================== -* -* Double Precision Vector Product -* -* Author: V.Innocente (Naples) -* -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION ( A-H, O-Z ) -#endif - DIMENSION X(3),Y(3),Z(3) -* - Z(1) = X(2)*Y(3)-X(3)*Y(2) - Z(2) = X(3)*Y(1)-X(1)*Y(3) - Z(3) = X(1)*Y(2)-X(2)*Y(1) -* - END diff --git a/StarVMC/geant3/matx55/ddot.F b/StarVMC/geant3/matx55/ddot.F deleted file mode 100644 index 7b77274801e..00000000000 --- a/StarVMC/geant3/matx55/ddot.F +++ /dev/null @@ -1,44 +0,0 @@ -* -* $Id: ddot.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: ddot.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.50 by S.Giani -*-- Author : - DOUBLE PRECISION FUNCTION DDOT(X,Y) -* =================================== -* -* Double Precision Scalar Product -* -* Author: V.Innocente (Naples) -* -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION ( A-H, O-Z ) -#endif - DIMENSION X(3),Y(3) -* - DDOT = X(1)*Y(1)+X(2)*Y(2)+X(3)*Y(3) -* - END diff --git a/StarVMC/geant3/matx55/dmm55.F b/StarVMC/geant3/matx55/dmm55.F deleted file mode 100644 index 710abbccaef..00000000000 --- a/StarVMC/geant3/matx55/dmm55.F +++ /dev/null @@ -1,57 +0,0 @@ -* -* $Id: dmm55.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: dmm55.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.50 by S.Giani -*-- Author : - SUBROUTINE DMM55(A,B,C) -C *** --------------------------------------------- 05/07/81 -C *** MULTIPLICATION OF 5X5 MATRICES: A*B -> C. -C *** FOR:I,J=1,5 C(I,J)=SUM:K=1,5(A(I,K)B(K,J)) -C *** NB: B AND C MAY WELL BE THE SAME MATRIX -C -C Author: A. Haas (Freiburg University) -C -C *** --------------------------------------------- - DOUBLE PRECISION A,B,C,B1J,B2J,B3J,B4J,B5J - DIMENSION A(25),B(25),C(25) - DO 10 J5=5,25,5 - B5J=B(J5) - J4=J5-1 - B4J=B(J4) - J3=J4-1 - B3J=B(J3) - J2=J3-1 - B2J=B(J2) - J1=J2-1 - B1J=B(J1) - C(J1)=A( 1)*B1J+A( 6)*B2J+A(11)*B3J+A(16)*B4J+A(21)*B5J - C(J2)=A( 2)*B1J+A( 7)*B2J+A(12)*B3J+A(17)*B4J+A(22)*B5J - C(J3)=A( 3)*B1J+A( 8)*B2J+A(13)*B3J+A(18)*B4J+A(23)*B5J - C(J4)=A( 4)*B1J+A( 9)*B2J+A(14)*B3J+A(19)*B4J+A(24)*B5J - 10 C(J5)=A( 5)*B1J+A(10)*B2J+A(15)*B3J+A(20)*B4J+A(25)*B5J -* - END diff --git a/StarVMC/geant3/matx55/dnorm.F b/StarVMC/geant3/matx55/dnorm.F deleted file mode 100644 index 444746ea2ca..00000000000 --- a/StarVMC/geant3/matx55/dnorm.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: dnorm.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: dnorm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.50 by S.Giani -*-- Author : - SUBROUTINE DNORM(X,AX) -* ====================== -* -* Double Precision Vector Normalization -* -* Author: V.Innocente (Naples) -* -#if !defined(CERNLIB_SINGLE) - IMPLICIT DOUBLE PRECISION ( A-H, O-Z ) -#endif - DIMENSION X(3) -* - AX = SQRT(X(1)**2+X(2)**2+X(3)**2) - AX1 = 1./AX - X(1) = AX1*X(1) - X(2) = AX1*X(2) - X(3) = AX1*X(3) -* - END diff --git a/StarVMC/geant3/matx55/dsmt5t.F b/StarVMC/geant3/matx55/dsmt5t.F deleted file mode 100644 index 21056b81a84..00000000000 --- a/StarVMC/geant3/matx55/dsmt5t.F +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: dsmt5t.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: dsmt5t.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.50 by S.Giani -*-- Author : - SUBROUTINE DSMT5T(A,S,R) -C *** ------------------------------------------------------ 05/07/81 -C *** TRANSFORMATION OF SYMMETRIC 5X5 MATRIX S: A*S*AT -> R. -C *** A IS A GENERAL 5X5 MATRIX WHEREAS S,R ARE SYMMETRIC -C *** MATRICES STORED IN TRIANGULAR FORM. FOR:I,J=1,5 -C *** R(I,J) = SUM:K=1,5(SUM:L=1,5(A(I,L)*S(L,K)*A(J,K))). -C *** NB: S AND R MAY WELL BE THE SAME MATRIX. -C -C Author: A. Haas (Freiburg University) -C -C *** ------------------------------------------------------ - DOUBLE PRECISION A,S,R,Q,T1,T2,T3,T4,T5 - DIMENSION A(25),S(15),R(15),Q(15) - DO 5 I=1,15 - Q(I)=S(I) - 5 CONTINUE - K=1 - DO 15 J=1,5 - T1=A(J ) - T2=A(J+ 5) - T3=A(J+10) - T4=A(J+15) - T5=A(J+20) - DO 10 I=J,5 - R(K)=A(I )*(Q(1)*T1+Q(2)*T2+Q( 3)*T3+Q( 4)*T4+Q( 5)*T5) - + +A(I+ 5)*(Q(2)*T1+Q(6)*T2+Q( 7)*T3+Q( 8)*T4+Q( 9)*T5) - + +A(I+10)*(Q(3)*T1+Q(7)*T2+Q(10)*T3+Q(11)*T4+Q(12)*T5) - + +A(I+15)*(Q(4)*T1+Q(8)*T2+Q(11)*T3+Q(13)*T4+Q(14)*T5) - + +A(I+20)*(Q(5)*T1+Q(9)*T2+Q(12)*T3+Q(14)*T4+Q(15)*T5) - K=K+1 - 10 CONTINUE - 15 CONTINUE -* - END diff --git a/StarVMC/geant3/matx55/rmm55.F b/StarVMC/geant3/matx55/rmm55.F deleted file mode 100644 index 00405550f15..00000000000 --- a/StarVMC/geant3/matx55/rmm55.F +++ /dev/null @@ -1,58 +0,0 @@ -* -* $Id: rmm55.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: rmm55.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -* MATRIX MULTIPLICATION 5 BY 5. -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.50 by S.Giani -*-- Author : - SUBROUTINE RMM55(A,B,C) -C *** --------------------------------------------- 05/07/81 -C *** MULTIPLICATION OF 5X5 MATRICES: A*B -> C. -C *** FOR:I,J=1,5 C(I,J)=SUM:K=1,5(A(I,K)B(K,J)) -C *** NB: B AND C MAY WELL BE THE SAME MATRIX -C -C Author: A. Haas (Freiburg University) -C -C *** --------------------------------------------- - DIMENSION A(25),B(25),C(25) - DO 10 J5=5,25,5 - B5J=B(J5) - J4=J5-1 - B4J=B(J4) - J3=J4-1 - B3J=B(J3) - J2=J3-1 - B2J=B(J2) - J1=J2-1 - B1J=B(J1) - C(J1)=A( 1)*B1J+A( 6)*B2J+A(11)*B3J+A(16)*B4J+A(21)*B5J - C(J2)=A( 2)*B1J+A( 7)*B2J+A(12)*B3J+A(17)*B4J+A(22)*B5J - C(J3)=A( 3)*B1J+A( 8)*B2J+A(13)*B3J+A(18)*B4J+A(23)*B5J - C(J4)=A( 4)*B1J+A( 9)*B2J+A(14)*B3J+A(19)*B4J+A(24)*B5J - C(J5)=A( 5)*B1J+A(10)*B2J+A(15)*B3J+A(20)*B4J+A(25)*B5J - 10 CONTINUE -* - END diff --git a/StarVMC/geant3/matx55/rsmt5t.F b/StarVMC/geant3/matx55/rsmt5t.F deleted file mode 100644 index 83c05bc43e3..00000000000 --- a/StarVMC/geant3/matx55/rsmt5t.F +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: rsmt5t.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: rsmt5t.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -* SYMMETRIC MATRIX TRANSFORMATION 5 BY 5 TRIANGULAR. -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.50 by S.Giani -*-- Author : - SUBROUTINE RSMT5T(A,S,R) -C *** ------------------------------------------------------ 05/07/81 -C *** TRANSFORMATION OF SYMMETRIC 5X5 MATRIX S: A*S*AT -> R. -C *** A IS A GENERAL 5X5 MATRIX WHEREAS S,R ARE SYMMETRIC -C *** MATRICES STORED IN TRIANGULAR FORM. FOR:I,J=1,5 -C *** R(I,J) = SUM:K=1,5(SUM:L=1,5(A(I,L)*S(L,K)*A(J,K))). -C *** NB: S AND R MAY WELL BE THE SAME MATRIX. -C -C Author: A. Haas (Freiburg University) -C -C *** ------------------------------------------------------ - DIMENSION A(25),S(15),R(15),Q(15) - DO 5 I=1,15 - Q(I)=S(I) - 5 CONTINUE - K=1 - DO 15 J=1,5 - T1=A(J ) - T2=A(J+ 5) - T3=A(J+10) - T4=A(J+15) - T5=A(J+20) - DO 10 I=J,5 - R(K)=A(I )*(Q(1)*T1+Q(2)*T2+Q( 3)*T3+Q( 4)*T4+Q( 5)*T5) - + +A(I+ 5)*(Q(2)*T1+Q(6)*T2+Q( 7)*T3+Q( 8)*T4+Q( 9)*T5) - + +A(I+10)*(Q(3)*T1+Q(7)*T2+Q(10)*T3+Q(11)*T4+Q(12)*T5) - + +A(I+15)*(Q(4)*T1+Q(8)*T2+Q(11)*T3+Q(13)*T4+Q(14)*T5) - + +A(I+20)*(Q(5)*T1+Q(9)*T2+Q(12)*T3+Q(14)*T4+Q(15)*T5) - K=K+1 - 10 CONTINUE - 15 CONTINUE -* - END diff --git a/StarVMC/geant3/matx55/ssmt5t.F b/StarVMC/geant3/matx55/ssmt5t.F deleted file mode 100644 index 71a3a42434e..00000000000 --- a/StarVMC/geant3/matx55/ssmt5t.F +++ /dev/null @@ -1,65 +0,0 @@ -* -* $Id: ssmt5t.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: ssmt5t.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.50 by S.Giani -*-- Author : - SUBROUTINE SSMT5T(A,S,R) -C *** ------------------------------------------------------ 05/07/81 -C *** TRANSFORMATION OF SYMMETRIC 5X5 MATRIX S: A*S*AT -> R. -C *** A IS A GENERAL 5X5 MATRIX WHEREAS S,R ARE SYMMETRIC -C *** MATRICES STORED IN TRIANGULAR FORM. FOR:I,J=1,5 -C *** R(I,J) = SUM:K=1,5(SUM:L=1,5(A(I,L)*S(L,K)*A(J,K))). -C *** NB: S AND R MAY WELL BE THE SAME MATRIX. -C -C Author: A. Haas (Freiburg University) -C -C *** ------------------------------------------------------ -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION A,S,R,Q,T1,T2,T3,T4,T5 -#endif - DIMENSION A(25),S(15),R(15),Q(15) - DO 5 I=1,15 - Q(I)=S(I) - 5 CONTINUE - K=1 - DO 15 J=1,5 - T1=A(J ) - T2=A(J+ 5) - T3=A(J+10) - T4=A(J+15) - T5=A(J+20) - DO 10 I=J,5 - R(K)=A(I )*(Q(1)*T1+Q(2)*T2+Q( 3)*T3+Q( 4)*T4+Q( 5)*T5) - + +A(I+ 5)*(Q(2)*T1+Q(6)*T2+Q( 7)*T3+Q( 8)*T4+Q( 9)*T5) - + +A(I+10)*(Q(3)*T1+Q(7)*T2+Q(10)*T3+Q(11)*T4+Q(12)*T5) - + +A(I+15)*(Q(4)*T1+Q(8)*T2+Q(11)*T3+Q(13)*T4+Q(14)*T5) - + +A(I+20)*(Q(5)*T1+Q(9)*T2+Q(12)*T3+Q(14)*T4+Q(15)*T5) - K=K+1 - 10 CONTINUE - 15 CONTINUE -* - END diff --git a/StarVMC/geant3/matx55/xmm55.F b/StarVMC/geant3/matx55/xmm55.F deleted file mode 100644 index a2626592056..00000000000 --- a/StarVMC/geant3/matx55/xmm55.F +++ /dev/null @@ -1,60 +0,0 @@ -* -* $Id: xmm55.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: xmm55.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1996/03/06 15:37:36 mclareni -* Add geane321 source directories -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.50 by S.Giani -*-- Author : - SUBROUTINE XMM55(A,B,C) -C *** --------------------------------------------- 05/07/81 -C *** MULTIPLICATION OF 5X5 MATRICES: A*B -> C. -C *** FOR:I,J=1,5 C(I,J)=SUM:K=1,5(A(I,K)B(K,J)) -C *** NB: B AND C MAY WELL BE THE SAME MATRIX -C -C Author: A. Haas (Freiburg University) -C -C *** --------------------------------------------- -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION A,B,C,B1J,B2J,B3J,B4J,B5J -#endif - DIMENSION A(25),B(25),C(25) - DO 10 J5=5,25,5 - B5J=B(J5) - J4=J5-1 - B4J=B(J4) - J3=J4-1 - B3J=B(J3) - J2=J3-1 - B2J=B(J2) - J1=J2-1 - B1J=B(J1) - C(J1)=A( 1)*B1J+A( 6)*B2J+A(11)*B3J+A(16)*B4J+A(21)*B5J - C(J2)=A( 2)*B1J+A( 7)*B2J+A(12)*B3J+A(17)*B4J+A(22)*B5J - C(J3)=A( 3)*B1J+A( 8)*B2J+A(13)*B3J+A(18)*B4J+A(23)*B5J - C(J4)=A( 4)*B1J+A( 9)*B2J+A(14)*B3J+A(19)*B4J+A(24)*B5J - C(J5)=A( 5)*B1J+A(10)*B2J+A(15)*B3J+A(20)*B4J+A(25)*B5J - 10 CONTINUE -* - END diff --git a/StarVMC/geant3/miface/gfmdis.F b/StarVMC/geant3/miface/gfmdis.F deleted file mode 100644 index 0a5882289d2..00000000000 --- a/StarVMC/geant3/miface/gfmdis.F +++ /dev/null @@ -1,152 +0,0 @@ -* -* $Id: gfmdis.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: gfmdis.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:56 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.47 by S.Giani -*-- Author : - SUBROUTINE GFMDIS -#include "geant321/gcflag.inc" -#include "geant321/gcbank.inc" -#include "geant321/gckine.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gconsp.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcjloc.inc" -#include "geant321/dimpar.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/comcont.inc" -#endif -#include "geant321/comcon.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/partt.inc" -#endif -#include "geant321/part.inc" -#include "geant321/gfkdis.inc" - LOGICAL BTEST -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION SII, ZLL, SIE, ZEL, ONE, PFLUKA -#endif - PARAMETER (ONE=1) - DIMENSION IGTOFL(49),IFLTOG(39) - DATA IGTOFL / 0, 0, 0, 0, 0, 0,23,13,14,12, 15,16, 8, 1, 2,19, 0, - +17,21,22, 20, 34, 36, 38, 9,18, 31, 32, 33, 35, 37, 39, 17*0/ - - DATA IFLTOG /14,15, 3, 2, 4, 4, 1,13,25, 5, 6,10, 8, 9,11,12,18, - +26,16,21, 19,20, 7, 7*0, 27, 28, 29, 22, 30, 23, 31, 24, 32/ - IGF=0 -* Neutrons below 20 MeV kinetic energy passed to MICAP - IF (IPART.EQ.13.AND.GEKIN.LE.0.02) THEN - IF (IFINIT(7).EQ.0) CALL GMORIN -* Check that the correct cross-section exists. K.L-P 16.11.93 -* BTEST checks if the 0th bit hase been set to 1 (see GMORIN) - IF (BTEST(IQ(JMA),0)) - + PRINT *,'*** MICAP: Cross sections for NMAT',NMAT,' not known' - IGF=2 - SIG = SIGMOR(GEKIN*1.E+9,NMAT) - IF( SIG .GT. 0.0) THEN - SHADR = ZINTHA/SIG - ELSE - SHADR = BIG - ENDIF - GO TO 999 - ENDIF -* -* FLUKA initialization - IF (IFINIT(5) .EQ. 0) CALL FLINIT -* Computation of elastic (SIGEL) and inelastic (NIZLNW) -* cross-section for each element - IJ = IGTOFL(IPART) - ZINE = BIG - ZELA = BIG - IF(IJ.GT.0) THEN - PFLUKA = SQRT(GEKIN*(GEKIN+2*AM(IJ))) - JMA = LQ(JMATE-NMAT) - NCOMP = ABS(Q(JMA+11)) - DENS = Q(JMA+8) - JMIXT = LQ(JMA-5) - IF ( NCOMP .LE. 1) THEN - CALL NIZLNW(IJ,ONE*Z,ONE*A,ONE*GEKIN,PFLUKA, SII,ZLL) - IF (ZLL.LT.BIG) THEN - ZINE = ZLL/DENS - END IF - ELSE - ZIN1 = 0. - DO 10 K=1,NCOMP - CALL NIZLNW(IJ,ONE*Q(JMIXT+NCOMP+K), - + ONE*Q(JMIXT+K),ONE*GEKIN,PFLUKA,SII,ZLL) - IF (ZLL.GT.BIG) THEN - ZIN1 = 0.0 + ZIN1 - ELSE - ZIN1 = DENS*Q(JMIXT+2*NCOMP+K)/ZLL + ZIN1 - END IF - CABINX(K) = ZIN1 - 10 CONTINUE - ANXNOR = ZIN1 - IF (ZIN1.GT.0.0) THEN - ZINE = 1./ZIN1 - END IF - END IF - IF ( NCOMP .LE. 1) THEN - CALL SIGEL (IJ,ONE*A,ONE*GEKIN,PFLUKA, SIE,ZEL) - IF (ZEL.LT.BIG) THEN - ZELA = ZEL/DENS - END IF - - ELSE - ZEL1 = 0. - DO 20 I=1,NCOMP - CALL SIGEL (IJ,ONE*Q(JMIXT+I),ONE*GEKIN, PFLUKA, - + SIE,ZEL) - IF (ZEL.LT.BIG) THEN - ZEL1 = DENS*Q(JMIXT+2*NCOMP+I)/ZEL + ZEL1 - END IF - CABELX(I) = ZEL1 - 20 CONTINUE - ELXNOR = ZEL1 - IF (ZEL1.GT.0.0) THEN - ZELA = 1./ZEL1 - END IF - END IF - ENDIF - IF (ZINE.EQ.BIG) THEN - SINE = 0.0 - ELSE - SINE = 1./ZINE - END IF - IF (ZELA.EQ.BIG) THEN - SELA = 0.0 - ELSE - SELA = 1./ZELA - END IF - FSIG = SINE + SELA - IF (FSIG .LE. 0) THEN - SHADR = BIG - ELSE - SHADR = ZINTHA/FSIG - END IF - 999 CONTINUE - END diff --git a/StarVMC/geant3/miface/gfmfin.F b/StarVMC/geant3/miface/gfmfin.F deleted file mode 100644 index f8de3d97b49..00000000000 --- a/StarVMC/geant3/miface/gfmfin.F +++ /dev/null @@ -1,307 +0,0 @@ -* -* $Id: gfmfin.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: gfmfin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:57 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.47 by S.Giani -*-- Author : - SUBROUTINE GFMFIN -#include "geant321/gcbank.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcflag.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcphys.inc" -#include "geant321/gctrak.inc" -#include "geant321/gsecti.inc" -#include "geant321/gctmed.inc" -#include "geant321/gcunit.inc" -#include "geant321/dimpar.inc" - -#if !defined(CERNLIB_SINGLE) -#include "geant321/finuct.inc" -#endif -#include "geant321/finuc.inc" - REAL RNDM(1) -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION AOCMBM, AMSS , ZTAR, RHO , ZLIN, ZLEL, ZLRAD, - +ZUL -#endif - COMMON / FKMAPA / AOCMBM (MXXMDF), AMSS (MXXMDF), ZTAR (MXXMDF), - + RHO (MXXMDF), ZLIN (MXXMDF), ZLEL (MXXMDF), - + ZLRAD (MXXMDF), ZUL (MXXMDF), MEDIUM (MXXRGN), - + MULFLG (MXXMDF),IFCOMP(MXXMDF), MSSNUM (MXXMDF), - + NREGS, NMATF, MTBSNM -#if !defined(CERNLIB_SINGLE) -#include "geant321/part2t.inc" -#endif -#include "geant321/part2.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/comcont.inc" -#endif -#include "geant321/comcon.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/fheavyt.inc" -#endif -#include "geant321/fheavy.inc" -#include "geant321/paprop.inc" -#if !defined(CERNLIB_SINGLE) -#include "geant321/papropt.inc" -#endif -#include "geant321/gfkdis.inc" -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION POO,EKE,TXI,TYI,TZI,AMM,WE,ONE,PGEANT,DMOD -#endif - PARAMETER (ONE=1) - DIMENSION IGTOFL(49),IFLTOG(39),IHVTOG(6),ZSAMP(50) - DATA IGTOFL / 0, 0, 0, 0, 0, 0,23,13,14,12, 15,16, 8, 1, 2,19, 0, - +17,21,22, 20, 34, 36, 38, 9,18, 31, 32, 33, 35, 37, 39, 17*0/ - - DATA IFLTOG /14,15, 3, 2, 4, 4, 1,13,25, 5, 6,10, 8, 9,11,12,18, - +26,16,21, 19,20, 7, 7*0, 27, 28, 29, 22, 30, 23, 31, 24, 32/ - DATA IHVTOG /13,14,45,46,49,47/ -* - NP = 0 - NPHEAV = 0 -* -* Stopped particles: -* o Neutral particles are sent to GHSTOP -* o pi+ and K+/K- are forced to decay -* o pi-, antiprotons and antineutrons are sent to FLUKA -* for annihilation (not here but later in this routine) - IF (IGF.EQ.2.OR.(GEKIN.EQ.0.0.AND.IPART.EQ.13)) THEN - IF (GEKIN.LT.CUTNEU) THEN - GEKIN = MAX(GEKIN,1E-14) -* should kinetic energy be deposited? - ISTOP = 2 - IGF = 0 - GOTO 110 - ENDIF - CALL GMICAP - IGF = 0 - GOTO 110 - ELSE IF (GEKIN.EQ.0..AND. - + (IPART.EQ.8.OR.IPART.EQ.12.OR.IPART.EQ.11)) THEN - CALL G3DECAY - NMEC=NMEC+1 - LMEC(NMEC)=5 - ISTOP=1 - GOTO 999 - ENDIF -* - IF (IFINIT(5) .EQ. 0) CALL FLINIT - INT=0 - IJ=IGTOFL(IPART) - IF(IJ.EQ.0) GOTO 110 - NMEC = NMEC + 1 - EKE = GEKIN - TXI = VECT(4) - TYI = VECT(5) - TZI = VECT(6) - DMOD = ONE/SQRT(TXI**2+TYI**2+TZI**2) - TXI = TXI*DMOD - TYI = TYI*DMOD - TZI = TZI*DMOD - WE = 1. - JMA = LQ(JMATE-NMAT) - NCOMP = ABS (Q(JMA+11)) - AMM = Q(JMA+6) - JMIXT = LQ(JMA-5) - -* Antiprotons, antineutrons and pi- are sent to -* eventv for annihilation - IF (GEKIN.EQ.0..AND. - + (IPART.EQ.15.OR.IPART.EQ.9.OR.IPART.EQ.25)) THEN - IF(NCOMP.LE.1) THEN - AMSS(1) = Q(JMA+6) - ZTAR(1) = Q(JMA+7) - MSSNUM(1) = 0 - RHO(1) = Q(JMA+8) - ELSE - ZSAMP(1) = 0. - DO 10 I=1,NCOMP - ZSAMP(I+1) = ZSAMP(I) + Q(JMIXT+NCOMP+I) - 10 CONTINUE - CALL GRNDM(RNDM,1) - ZCONT=ZSAMP(NCOMP+1)*RNDM(1) - DO 20 I=1,NCOMP - IF(ZCONT.LE.ZSAMP(I+1)) GO TO 30 - 20 CONTINUE - I = NCOMP - 30 CONTINUE - AMSS(1) = Q(JMIXT+I) - MSSNUM(1) = 0 - ZTAR(1) = Q(JMIXT+NCOMP+I) - RHO(1) = Q(JMIXT+2*NCOMP+I)*DENS - END IF - EKE = 1E-9 - POO=SQRT(EKE*(EKE+2*AM(IJ))) - CALL EVENTV(IJ,POO,EKE,TXI,TYI,TZI,WE,1) - GOTO 80 - ELSE IF (GEKIN.LE.CUTHAD .AND. ITRTYP.EQ.4) THEN - DESTEP = DESTEP + GEKIN - GEKIN = 0. - GETOT = AMASS - VECT(7) = 0. - ISTOP = 1 - GO TO 110 - ENDIF -* - CALL GRNDM(RNDM,1) - RNDEVT=RNDM(1) - IF ( RNDEVT .GE. SINE/FSIG) THEN - - IF (GEKIN .GT. 0.02) THEN - POO=SQRT(EKE*(EKE+2*AM(IJ))) - ELSE - GO TO 110 - END IF - INT=1 - LMEC(NMEC)=13 - IF(NCOMP.LE.1) THEN - CALL NUCREL(IJ,POO,EKE,TXI,TYI,TZI,AMM,WE) - ELSE - CALL GRNDM(RNDM,1) - RCONT=ELXNOR*RNDM(1) - DO 40 I=1,NCOMP - IF(RCONT.LE.CABELX(I)) GO TO 50 - 40 CONTINUE - I=NCOMP - 50 CONTINUE - CALL NUCREL(IJ,POO,EKE,TXI,TYI,TZI,ONE*Q(JMIXT+I),WE) - END IF - ELSE - LMEC(NMEC)=20 - IF (IHADR.EQ.2) THEN - ISTOP = 2 - DESTEP = DESTEP + GETOT - GO TO 110 - ENDIF - IF (GEKIN .GT. 0.02) THEN - POO=SQRT(EKE*(EKE+2*AM(IJ))) - ELSE - IF ((IJ.EQ.2 .OR. IJ.EQ.9 .OR. IJ.EQ.14 .OR. IJ.EQ.16) - + .AND. GEKIN .GT. 0.0) THEN - POO=SQRT(EKE*(EKE+2*AM(IJ))) - ELSE - NMEC=NMEC-1 - GO TO 110 - END IF - END IF - INT=2 - IF(NCOMP.LE.1) THEN - AMSS(1) = Q(JMA+6) - ZTAR(1) = Q(JMA+7) - MSSNUM(1) = 0 - RHO(1) = Q(JMA+8) - ELSE - CALL GRNDM(RNDM,1) - RCONT=ANXNOR*RNDM(1) - DO 60 I=1,NCOMP - IF(RCONT.LE.CABINX(I)) GO TO 70 - 60 CONTINUE - I=NCOMP - 70 CONTINUE - AMSS(1) = Q(JMIXT+I) - MSSNUM(1) = 0 - ZTAR(1) = Q(JMIXT+NCOMP+I) - RHO(1) = Q(JMIXT+2*NCOMP+I)*DENS - END IF - CALL EVENTV(IJ,POO,EKE,TXI,TYI,TZI,WE,1) - END IF -* - 80 IF(NP.EQ.1.AND.NPHEAV.EQ.0.AND.KPART(1).EQ.IJ) THEN - VECT(4)=CXR(1) - VECT(5)=CYR(1) - VECT(6)=CZR(1) - VECT(7)=SQRT(TKI(1)*(TKI(1)+2*AMASS)) - GETOT=TKI(1)+AMASS - GEKIN=TKI(1) - ELSE - ISTOP=1 - NSTAK1 = MIN(NP,MXGKIN-NGKINE) - IF(NP.GT.NSTAK1) THEN - WRITE(CHMAIL,10000) NP-NSTAK1 - CALL GMAIL(0,0) - ENDIF - DO 90 K=1,NSTAK1 - NGKINE = NGKINE + 1 - IF (KPART(K) .EQ. 24 .OR. KPART(K) .EQ. 25) THEN - KPART(K) = 19 - CALL GRNDM(RNDM,1) - IF (RNDM(1) .GT. 0.5) KPART(K) = 12 - END IF - IGEPAR = IFLTOG(KPART(K)) - JPA = LQ(JPART-IGEPAR) - AGEMAS = Q(JPA+7) - PGEANT = SQRT(TKI(K)*(TKI(K)+2*AGEMAS)) - GKIN(1,NGKINE)=CXR(K)*PGEANT - GKIN(2,NGKINE)=CYR(K)*PGEANT - GKIN(3,NGKINE)=CZR(K)*PGEANT - GKIN(4,NGKINE)=TKI(K)+AGEMAS - GKIN(5,NGKINE)=IGEPAR - TOFD(NGKINE)=0.0 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - 90 CONTINUE -* - NSTAK2 = MIN(NPHEAV,MXGKIN-NGKINE) - IF(NPHEAV.GT.NSTAK2) THEN - WRITE(CHMAIL,10100) NPHEAV-NSTAK2 - CALL GMAIL(0,0) - ENDIF - DO 100 K=1,NSTAK2 - NGKINE = NGKINE + 1 - IGEPAR = IHVTOG(KHEAVY(K)) - JPA = LQ(JPART-IGEPAR) - AGEMAS = Q(JPA+7) - PGEANT = SQRT(TKHEAV(K)*(TKHEAV(K)+2*AGEMAS)) - GKIN(1,NGKINE)=CXHEAV(K)*PGEANT - GKIN(2,NGKINE)=CYHEAV(K)*PGEANT - GKIN(3,NGKINE)=CZHEAV(K)*PGEANT - GKIN(4,NGKINE)=TKHEAV(K)+AGEMAS - GKIN(5,NGKINE)=IGEPAR - TOFD(NGKINE)=0.0 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) - 100 CONTINUE -* - KCASE=NAMEC(12) - END IF - 110 CONTINUE - ZINTHA = GARNDM(DUMMY) - SLHADR = SLENG - STEPHA = 1.0E10 -10000 FORMAT(' **** FLUFIN: Stack overflow, ',I6,' particles lost') -10100 FORMAT(' **** FLUFIN: Stack overflow, ',I6, - +' heavy particles lost') - 999 END diff --git a/StarVMC/geant3/miface/gmicap.F b/StarVMC/geant3/miface/gmicap.F deleted file mode 100644 index 3f3c7801ede..00000000000 --- a/StarVMC/geant3/miface/gmicap.F +++ /dev/null @@ -1,308 +0,0 @@ -* -* $Id: gmicap.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: gmicap.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.47 by S.Giani -*-- Author : - SUBROUTINE GMICAP -C -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcking.inc" -C MICAP commons -#include "geant321/mmicap.inc" -#include "geant321/minput.inc" -#include "geant321/mconst.inc" - COMMON/MNUTRN/NAME,NAMEX,E,EOLD,NMED,MEDOLD,NREG,U,V,W, - + UOLD,VOLD,WOLD,X,Y,ZZ,XOLD,YOLD,ZOLD,WATE,OLDWT,WTBC, - + BLZNT,BLZON,AGE,OLDAGE,INEU,ENE(MAXNEU) - INTEGER BLZNT -#include "geant321/mapoll.inc" -#include "geant321/mpoint.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" -#include "geant321/cmagic.inc" -#include "geant321/mcreco.inc" -C -C convert Z,A of recoil to CALOR particle code -C only p = 0, D = 7, T = 8, He3 = 9, alpha=10 -* n = 13, p = 14, D = 45, T = 46, He3 = 49, alpha = 47 - DIMENSION NGPART(4,0:2) - DATA ((NGPART(I,J),I=1,4),J=0,2)/13 ,-1 ,-1 , -* n - + -1 , 14 , 45 , -* p D - + -1 , 46 , 49 , -* T He3 - + -1 ,-1 , 47/ -* alpha - SAVE -C first check, if ZEBRA still in order - IF(LD(LMAG1).NE.NMAGIC.OR.LD(LMAG2).NE.NMAGIC) THEN - WRITE(6,*) ' CALOR: ZEBRA banks screwed up --> STOP' - WRITE(IOUT,'('' MICAP: Magic number '',I12,'' not found: '', ' - + //' 2I12)') NMAGIC,LD(LMAG1),LD(LMAG2) - STOP - ENDIF -C THIS ROUTINE PERFORMS THE RANDOM WALK FOR ALL PARTICLES - 10 CONTINUE -C get material and particle information -* U = UINC(1) -* V = UINC(2) -* W = UINC(3) - U = VECT(4) - V = VECT(5) - W = VECT(6) - X = 0.0 - Y = 0.0 - ZZ = 0.0 - BLZNT = 1 - WATE = 1.0 - AGE = 0.0 - NREG = 1 - WTBC = 1.0 -C Energy MeV -> eV -* E = EINC * 1.E6 - E = GEKIN*1.E9 -C Material number a la GEANT -* NMED = NCEL - NMED = NMAT - NMEM=1 -C reset counter of heavy/charged and gamma bank - NMEMR = 0 - NMEMG = 0 - INALB=0 - IET=0 - EOLD=E - UOLD=U - VOLD=V - WOLD=W - OLDWT=WATE - XOLD=X - YOLD=Y - ZOLD=ZZ - BLZON=BLZNT - MEDOLD=NMED - OLDAGE=AGE - I=1 - CALL GTMED(NMED,IMED) -C get total cross-section - CALL NSIGTA(E,NMED,TSIG,D,LD(LFP32),LD(LFP33)) -C DETERMINE WHICH ISOTOPE HAS BEEN HIT - CALL ISOTPE(D,LD,LD(LFP10),D(LFP12),LD(LFP16),LD(LFP26),LD(LFP27), - + E,TSIG,IMED,IIN,IIM) -C THE PARAMETER (IIN) IS THE POINTER FOR ARRAYS DIMENSIONED BY -C (NNUC) AND THE PARAMETER (IIM) IS THE POINTER FOR ARRAYS -C DIMENSIONED BY (NMIX) - LD(LFP42+IMED-1)=LD(LFP42+IMED-1)+1 - INEU = 0 - NNEU = 0 - NHEVY = 0 - NGAMA = 0 - NPSTOR = 0 - CALL COLISN(D,LD, - + LD(LFP20),LD(LFP21),LD(LFP22),LD(LFP23),LD(LFP24), - + LD(LFP25),LD(LFP26),LD(LFP27),LD(LFP28),LD(LFP29),LD(LFP30), - + LD(LFP31),D(LFP34),D(LFP35),LD(LFP41),LD(LFP41+NNUC), - + LD(LFP42),LD(LFP42+MEDIA),LD(LFP42+2*MEDIA),LD(LFP42+3*MEDIA), - + LD(LFP42+4*MEDIA),LD(LFP42+5*MEDIA),LD(LFP42+6*MEDIA), - + LD(LFP42+7*MEDIA),LD(LFP42+8*MEDIA),LD(LFP42+9*MEDIA), - + LD(LFP42+10*MEDIA),LD(LFP42+11*MEDIA),LD(LFP42+12*MEDIA), - + LD(LFP42+13*MEDIA),LD(LFP42+14*MEDIA),LD(LFP42+15*MEDIA), - + LD(LFP42+16*MEDIA),LD(LFP42+17*MEDIA),LD(LFP42+18*MEDIA), - + LD(LFP42+19*MEDIA),LD(LFP42+20*MEDIA),LD(LFP42+21*MEDIA), - + LD(LFP42+22*MEDIA),LD(LFP45),LD(LFP46),LD(LFP13), - + LD(LFP35+NQ*NNUC),D(LFP35+2*NQ*NNUC),IIN,IIM) - CALL BANKR(D,LD,5) -C -------- fill return arrays with generated particles --------------- -C first heavy/charged particles - 20 NPHETC = 0 - NRECOL = 0 - ERMED = 0.0 - EETOT = 0.0 -C -------- store neutrons ------------------------------------- - INTCAL = 0 -C - ISTOP = 1 - JPA = LQ(JPART-13) - AGEMNE = Q(JPA+7) - NGKINE = 0 - DO 30 N=1,NNEU - CALL GETPAR(IDNEU,N,IERR) - IF(IERR.EQ.0) THEN - NGKINE = NGKINE + 1 - TTKIN = EP * 1.E-9 - PGEANT = SQRT(TTKIN*(TTKIN+2*AGEMNE)) - GKIN(1,NGKINE) = UP*PGEANT - GKIN(2,NGKINE) = VP*PGEANT - GKIN(3,NGKINE) = WP*PGEANT - GKIN(4,NGKINE) = TTKIN + AGEMNE - GKIN(5,NGKINE) = 13 - TOFD(NGKINE) = AGEP * 1.E-9 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) -* NPHETC = NPHETC + 1 -* IF(NPHETC.GT.MXCP) NPHETC=MXCP -* IPCAL(NPHETC) = 1 -C kinetic energy in MeV -* EKINET(NPHETC) = EP * 1.E-6 -* UCAL(NPHETC,1) = UP -* UCAL(NPHETC,2) = VP -* UCAL(NPHETC,3) = WP -* CALTIM(NPHETC) = AGEP - ENDIF - 30 CONTINUE -C -------- store heavy recoil products ------------------------ - DO 40 N=1,NHEVY - CALL GETPAR(IDHEVY,N,IERR) - IF(IERR.EQ.0) THEN -C check particle type - MA = NINT(AMP) - MZ = NINT(ZMP) - IF(MA.LE.4.AND.MZ.LE.2) THEN - IF(NGPART(MA,MZ).EQ.-1) GOTO 40 - ELSE -C get heavy recoil nucleus - NRECOL = NRECOL + 1 - AMED(NRECOL) = AMP - ZMED(NRECOL) = ZMP - ERMED = ERMED + EP * 1.E-9 - GOTO 40 - ENDIF -C store particle type - NGKINE = NGKINE + 1 - JPA = LQ(JPART-NGPART(MA,MZ)) - AGEMAS = Q(JPA+7) - TTKIN = EP * 1.E-9 - PGEANT = SQRT(TTKIN*(TTKIN+2*AGEMAS)) - GKIN(1,NGKINE) = UP*PGEANT - GKIN(2,NGKINE) = VP*PGEANT - GKIN(3,NGKINE) = WP*PGEANT - GKIN(4,NGKINE) = TTKIN + AGEMAS - GKIN(5,NGKINE) = NGPART(MA,MZ) - TOFD(NGKINE) = AGEP * 1.E-9 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) -* NPHETC = NPHETC + 1 -* IF(NPHETC.GT.MXCP) NPHETC=MXCP -* IPCAL(NPHETC) = NPART(MA,MZ) -C kinetic energy in MeV -* EKINET(NPHETC) = EP * 1.E-6 -* UCAL(NPHETC,1) = UP -* UCAL(NPHETC,2) = VP -* UCAL(NPHETC,3) = WP -* CALTIM(NPHETC) = AGEP - ENDIF - 40 CONTINUE -* Number of produced particles (may be > MXGKIN) - NNEHEG = NGKINE + NGAMA -C -C----------- get generated gammas -------------------- - NS = 0 - NREM = 0 - DO 50 N=1,NGAMA - IF (NS.GE.NGAMA) GO TO 60 - NS = NS + 1 - CALL GETPAR(IDGAMA,NS,IERR) - IF(IERR.EQ.0) THEN - IF (NNEHEG-NREM.GT.MXGKIN) THEN - NREM = NREM + 1 - UP1 = UP - VP1 = VP - WP1 = WP - EP1 = EP - AGEP1 = AGEP - NS = NS + 1 -* Get the other gamma to be summed with the previous one - CALL GETPAR(IDGAMA,NS,IERR) - IF(IERR.EQ.0) THEN - UP = (UP1*EP1+UP*EP) - VP = (VP1*EP1+VP*EP) - WP = (WP1*EP1+WP*EP) -* Normalize the new direction cosines - WUP = SQRT(UP**2+VP**2+WP**2) - UP = UP/WUP - VP = VP/WUP - WP = WP/WUP - EP = EP1 + EP - AGEP = AGEP1 + AGEP - ENDIF - ENDIF - NGKINE = NGKINE + 1 - PGEANT = EP * 1.E-9 - GKIN(1,NGKINE) = UP*PGEANT - GKIN(2,NGKINE) = VP*PGEANT - GKIN(3,NGKINE) = WP*PGEANT - GKIN(4,NGKINE) = PGEANT - GKIN(5,NGKINE) = 1 - TOFD(NGKINE) = AGEP * 1.E-9 - GPOS(1,NGKINE) = VECT(1) - GPOS(2,NGKINE) = VECT(2) - GPOS(3,NGKINE) = VECT(3) -* NG = NG + 1 -* NPHETC = NPHETC + 1 -* IF(NPHETC.GT.MXCP) NPHETC=MXCP -* IPCAL(NPHETC) = 11 -* EKINET(NPHETC) = EP*1.E-6 -* UCAL(NPHETC,1) = UP -* UCAL(NPHETC,2) = VP -* UCAL(NPHETC,3) = WP -* CALTIM(NPHETC) = AGEP -C nucleus is in ground state ! - EXMED = 0.0 - ENDIF - 50 CONTINUE -* only one neutron generated -> the particle is the same - 60 IF (NGKINE.EQ.1.AND.GKIN(5,1).EQ.13) THEN - NGKINE = 0 - CALL GETPAR(IDNEU,1,IERR) - VECT(4) = UP - VECT(5) = VP - VECT(6) = WP - GEKIN = EP * 1.E-9 - GETOT = GEKIN + AGEMNE - VECT(7) = SQRT(GEKIN*(GEKIN+2.*AGEMNE)) - TOFG = TOFG + AGEP * 1.E-9 - ISTOP = 0 - ENDIF -* - IF (MTP .EQ. 2) THEN - INTCAL = 13 - ELSEIF (MTP .EQ. 18) THEN - IF (NHEVY.GT.0) INTCAL = 15 - ELSEIF (MTP .LT. 100) THEN - IF (NNEU .GT.0) INTCAL = 20 - ELSEIF (MTP .EQ. 102) THEN - IF (NGAMA.GT.0) INTCAL = 18 - ELSEIF (MTP .GE. 100) THEN - IF (NHEVY+NGAMA.GT.0) INTCAL = 16 - ENDIF - IF(NNEU+NHEVY+NGAMA.GT.0.AND.INTCAL.EQ.0) INTCAL=12 - KCASE = NAMEC(INTCAL) - END diff --git a/StarVMC/geant3/miface/gmiset.F b/StarVMC/geant3/miface/gmiset.F deleted file mode 100644 index 3c93e4d5786..00000000000 --- a/StarVMC/geant3/miface/gmiset.F +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: gmiset.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: gmiset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 18.26.26 by S.Giani -*-- Author : S.Ravndal 22/02/95 - SUBROUTINE GMISET(MATNO,NKEY) -C. -C. ****************************************************************** -C. * * -C. * MIFACE Micap Interface routine to call MICSET * -C. * * -C. * ==> Called by : * -C. * Authors : S.Ravndal * -C. * * -C * for details see MICAP manual ORNL/TM-10340 * -C. ****************************************************************** -C. -#include "geant321/gcunit.inc" - - INTEGER MATNO,NKEY -C - IF (NKEY.GE.0.AND.NKEY.LE.1) THEN - CALL MICSET(MATNO,NKEY,' ') - ELSE - WRITE(CHMAIL,10100) - CALL GMAIL(0,0) - END IF - RETURN -10100 FORMAT(1X,'GMISET called with non-valid parameters') - END - diff --git a/StarVMC/geant3/miface/gmorin.F b/StarVMC/geant3/miface/gmorin.F deleted file mode 100644 index ff4b53770f3..00000000000 --- a/StarVMC/geant3/miface/gmorin.F +++ /dev/null @@ -1,599 +0,0 @@ -* -* $Id: gmorin.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: gmorin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:57 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.3 1996/09/30 14:26:05 ravndal -* Windows NT related modifications -* -* Revision 1.2 1996/04/26 12:21:12 ravndal -* NAP character*20 declaration included -* -* Revision 1.1.1.1 1995/10/24 10:21:52 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.53.54 by S.Giani -*-- Author : Christian Zeitnitz 21/07/92 - SUBROUTINE GMORIN -C************************************************************** -C Initialize MICAP -C ================ -C Called by : CALINI -C -C Purpose : setup cross-section tables and initialize pointer -C print flags etc. -C -C Author : C.Zeitnitz -C -C last modification: Changed in order to read new x-section file -C -C -C for details see MICAP manual ORNL/TM-10340 -C************************************************************* -C MICAP commons -#include "geant321/mmicap.inc" -#include "geant321/mpoint.inc" -#include "geant321/minput.inc" -#include "geant321/mmass.inc" -#include "geant321/mconst.inc" -#include "geant321/cmagic.inc" -#include "geant321/cerrcm.inc" -#include "geant321/camass.inc" -C GEANT common -#include "geant321/gccuts.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcunit.inc" -C pointer to material/mixture bank (NMATE,JMATE) -#include "geant321/gcnum.inc" -C - COMMON / QUEST / IQUEST(100) -C -C Avogadro number multiplied by 1.E-24 - PARAMETER(XNAVO = 0.60221367) -C - DIMENSION A(100),AGEA(100),Z(100),DEN(100),MID(100,2),IDI(20,2) - DIMENSION IPID(0:11) - CHARACTER*100 XSFILE - CHARACTER*4 CNAME - CHARACTER*20 NAP - CHARACTER*70 CCOMM -#if defined(CERNLIB_UNIX)||defined(CERNLIB_CRAY)||defined(CERNLIB_VAX) - CHARACTER*100 CHROOT -#endif - LOGICAL OPENED,EXISTS,FMIST,FSINGL,FMIFL -C GEANT Particle IDs used to extract masses from GEANT - DATA IPID /14 , 13 , 8 , 7 , 9 , 5 , 6 , 45 , 46 , 49 , 47 , 1/ -C -C Initialization flag of GEANT -C Loop for XMASS extracted from GCALOR routine CALINI K.L-P -C - IFINIT(7) = 1 - DO 5 I=0,11 - CALL G3FPART(IPID(I),NAP,ITR,AM,CH,TL,UB,NW) - XMASS(I)=AM - 5 CONTINUE -C -C neutron energy cut (eV) - ECUT = CUTNEU * 1.E9 -C get time cut off from GEANT - TCUT = TOFMAX -C temperature for thermal neutron xsection (Kelvin) -C only temporary constant !!! - TEMP = 300.0 -C xsection file unit - MICROS = 31 - IOUT = LOUT - INN = LIN -C open MICAP I/O units - INQUIRE(UNIT=MICROS,OPENED=OPENED) - IF(OPENED) THEN - REWIND MICROS - ELSE -#if defined(CERNLIB_VAX) - XSFILE='xsneut95.dat' - INQUIRE(FILE=XSFILE,EXIST=EXISTS) - IF(.NOT.EXISTS) THEN - ISTAT = LIB$SYS_TRNLOG('CERN_ROOT',NALL,CHROOT,,,%VAL(0)) - IF(ISTAT.EQ.1) XSFILE = 'CERN_ROOT:[LIB]xsneut95.dat' - ENDIF - INQUIRE(FILE=XSFILE,EXIST=EXISTS) - IF(.NOT.EXISTS) THEN - PRINT*,'**********************************' - PRINT*,'* G C A L O R *' - PRINT*,'* ----------- *' - PRINT*,'* File XSNEUT95.DAT not found *' - PRINT*,'* Program STOP *' - PRINT*,'* Check CERN_ROOT environment *' - PRINT*,'* variable *' - PRINT*,'**********************************' - STOP - ENDIF - OPEN(UNIT=MICROS,FILE=XSFILE, STATUS='OLD',READONLY) -#endif -#if defined(CERNLIB_UNIX)||defined(CERNLIB_CRAY) - XSFILE = 'xsneut95.dat' - INQUIRE(FILE=XSFILE,EXIST=EXISTS) - IF(.NOT.EXISTS) THEN - CHROOT=' ' - CALL GETENV('CERN_ROOT',CHROOT) - LNROOT = LNBLNK(CHROOT) - IF(LNROOT.GT.0) - + XSFILE = CHROOT(1:LNROOT)//'/lib/xsneut95.dat' - ENDIF - INQUIRE(FILE=XSFILE,EXIST=EXISTS) - IF(.NOT.EXISTS) THEN - PRINT*,'**********************************' - PRINT*,'* G C A L O R *' - PRINT*,'* ----------- *' - PRINT*,'* File XSNEUT95.DAT not found *' - PRINT*,'* Program STOP *' - PRINT*,'* Check CERN_ROOT environment *' - PRINT*,'* variable *' - PRINT*,'**********************************' - STOP - ENDIF - OPEN(UNIT=MICROS,FILE=XSFILE,STATUS='OLD') -#endif -#if defined(CERNLIB_MSDOS)||defined(CERNLIB_WINNT) - CHROOT=' ' - CALL GETENVF('CERN_ROOT',CHROOT) - LNROOT = LNBLNK(CHROOT) - IF(LNROOT.LE.0) THEN - XSFILE = 'xsneut95.dat' - ELSE - XSFILE = CHROOT(1:LNROOT)//'\\lib\\xsneut95.dat' - INQUIRE(FILE=XSFILE,EXIST=EXISTS) - IF(.NOT.EXISTS) XSFILE='xsneut95.dat' - ENDIF - OPEN(UNIT=MICROS,FILE=XSFILE) -#endif -#if defined(CERNLIB_IBMVM) - XSFILE = '\XSNEUT95 DAT *' - OPEN(UNIT=MICROS,FILE=XSFILE,STATUS='OLD') -#endif - ENDIF -C setup the link areas needed for x-section banks - CALL MZLINK(IXCONS,'MICTMP',LTEMP,LTEMP,LTEMP) - CALL MZLINK(IXCONS,'MMICAP',LMAG2,LMOX4,LMAG2) - CALL MZLINK(IXCONS,'MPOINT',LMAG1,LFP210,LMAG1) -C - LSUP = 0 - LCSUP = 0 - NUNIT = MICROS -C pointers into TEMP bank - NTUNIT = 1 - NTNAME = NTUNIT + 1 - NTMPNI = NTNAME + 1 + 80/4 - NTCOMM = NTMPNI + 1 - NTDATS = NTCOMM + 1 + 80/4 - NTLIST = NTDATS + 1 + 24/4 - 10 CONTINUE -C read comment and date of xsection file - READ(NUNIT,'(A80,/,A24)') COMMEN,DATSTR -C read in material definition array - READ(NUNIT,'(I10)') NISO - NWW = NISO * 3 + 12 + NTLIST -C get temporary buffer - CALL CHKZEB(NWW,IXCONS) - IF(LSUP.EQ.0) Then -C create a top level bank for the list of isotopes - CALL MZBOOK(IXCONS,LTEMP,LSUP,1,'TEMP',3,0,NWW,0,-1) - LT = LTEMP - ELSE -C create an additional bank in the linear structure TEMP - CALL MZBOOK(IXCONS,LT,LSUP,0,'TEMP',3,0,NWW,0,-1) - LSUP = LT - ENDIF - NREC = NISO * 3 / 12 - NN = 0 -C store the unit number of the file in bank TEMP - IQ(LT + NTUNIT) = NUNIT -C store the file name in bank TEMP - CALL UCTOH(XSFILE,IQ(LT+NTNAME+1),4,LNBLNK(XSFILE)) - IQ(LT + NTNAME) = LNBLNK(XSFILE) -C store the comment and date string in bank TEMP - IQ(LT + NTCOMM) = LNBLNK(COMMEN) - CALL UCTOH(COMMEN,IQ(LT+NTCOMM+1),4,LNBLNK(COMMEN)) - IQ(LT + NTDATS) = LNBLNK(DATSTR) - CALL UCTOH(DATSTR,IQ(LT+NTDATS+1),4,LNBLNK(DATSTR)) - DO 20 I=1,NREC - LL = (I-1)*12 + LT + NTLIST - READ(NUNIT,'(12I6)') (IQ(L),L=LL,LL+11) - 20 CONTINUE -C -C get number of comment lines for different isotopes - READ(NUNIT,'(I10)') NCOM - NWW = NCOM * 80 + 2 -C get CISO bank - CALL CHKZEB(NWW,IXCONS) - IF(LCSUP.EQ.0) Then -C create a top level bank for the isotope comments - CALL MZBOOK(IXCONS,LCISO,LCSUP,1,'CISO',3,0,NWW,0,-1) - LC = LCISO - ELSE -C create an additional bank in the linear structure CISO - CALL MZBOOK(IXCONS,LC,LCSUP,0,'CISO',3,0,NWW,0,-1) - LCSUP = LC - ENDIF - IQ(LC+1) = NCOM - DO 30 I=1,NCOM - J = (I-1)*81 + 2 - READ(NUNIT,'(I4,I4,A70)') IQ(LC+J),IQ(LC+J+1), - + CCOMM - CALL UCTOH(CCOMM,IQ(LC+J+2),4,70) - 30 CONTINUE -C -C--------------------------------------------------------------------- -C check the existence of secondary x-section files stored in bank MIFL -C real messy code !!! But its fortran after all !!! CZ Jan 95 - XSFILE = ' ' - IF(NUNIT.EQ.MICROS) THEN - FMIFL = .FALSE. - CALL MZINQD(IXCONS) - IF(LMIFIL.GE.IQUEST(3) .AND. LMIFIL.LE.IQUEST(4)) THEN - CALL UHTOC(IQ(LMIFIL-4),4,CNAME,4) - IF(CNAME.EQ.'MIFL') FMIFL = .TRUE. - ENDIF - IXSF=LMIFIL - ENDIF - IF(FMIFL) THEN - 40 CONTINUE -C get the file name - CALL UHTOC(IQ(IXSF+2),4,XSFILE,IQ(IXSF+1)) -C - INQUIRE(FILE=XSFILE,EXIST=EXISTS) - IF(.NOT.EXISTS) THEN - PRINT '(70(''*''))' - PRINT*,' * MICAP : x-section file not found : ',XSFILE - PRINT '(70(''*''))' - ELSE - IXSF = IXSF + 101 -C last name in the list ? - IF(IXSF-LMIFIL .GE. IQ(LMIFIL-1) ) FMIFL = .FALSE. -C find a free unit number (greater 31), and use it - DO 50 I=NUNIT+1,99 - INQUIRE(UNIT=I,OPENED=OPENED) - IF(.NOT.OPENED) THEN - NUNIT = I -#if defined(CERNLIB_UNIX)||defined(CERNLIB_CRAY)||defined(CERNLIB_IBMVM) - OPEN(UNIT=I,FILE=XSFILE,STATUS='OLD') -#endif -#if defined(CERNLIB_VAX) - OPEN(UNIT=I,FILE=XSFILE,STATUS='OLD',READONLY) -#endif - GOTO 10 - ENDIF - 50 CONTINUE - PRINT '(70(''*''))' - PRINT *,'* MICAP : No more free units available !' - PRINT '(70(''*''))' - ENDIF - ENDIF -C--------------------------------------------------------------------- - CALL VZERO(MATIDS,4000) - LT = LTEMP - 60 CONTINUE - NUNIT = IQ(LT + NTUNIT) - KK = LT + NTLIST - DO 90 I=1,100 - NIS = IQ(KK) - KK = KK + 1 - IF(NIS.EQ.0) GOTO 100 - IF(MATIDS(I,1,1).EQ.0) THEN - MATIDS(I,1,1) = NIS - MATIDS(I,1,2) = NUNIT -C is the Z of the element correct? - ELSE IF(IQ(KK)/1000.EQ.I) THEN -C overwrite existing element with the one stored in new file - DO 70 J=2,MATIDS(I,1,1)+1 - MATIDS(I,J,1) = 0 - MATIDS(I,J,2) = 0 - 70 CONTINUE - MATIDS(I,1,1) = NIS - MATIDS(I,1,2) = NUNIT - ELSE -C no action - KK = KK + 2 * NIS - GOTO 90 - ENDIF -C maximal 20 isotopes per element - NIS = MIN(NIS,20) - DO 80 J=2,NIS+1 - MATIDS(I,J,1) = IQ(KK) - MATIDS(I,J,2) = IQ(KK+1) - KK = KK + 2 - 80 CONTINUE - 90 CONTINUE - 100 CONTINUE - LT = LQ(LT) - IF(LT.GT.0) GOTO 60 -C -C DEFINE CROSS SECTION DIMENSIONING VARIABLES -C NNR EQUALS THE NUMBER OF NEUTRON RECORDS -C NQ EQUALS THE NUMBER OF Q VALUES -C NGR EQUALS THE NUMBER OF GAMMA RECORDS -C SET THE DEFAULT VALUES FOR THE CURRENT CROSS SECTION DATA - NNR=134 - NQ=66 - NGR=60 -C -C SET THE DEFAULT VALUES FOR THE NEUTRON, PROTON, DEUTERON, -C TRITON, HELIUM-3, AND ALPHA PARTICLE MASSES (IN EV) - ZN=XMASS(1)*1.E9 - ZP=XMASS(0)*1.E9 - ZD=XMASS(7)*1.E9 - ZT=XMASS(8)*1.E9 - ZHE3=XMASS(9)*1.E9 - ZA=XMASS(10)*1.E9 -C SET THE DEFAULT VALUES FOR THE NEUTRON, PROTON, DEUTERON, -C TRITON, HELIUM-3, AND ALPHA PARTICLE MASSES (IN AMU) - XAMU=0.93149432*1.E9 - AN=ZN/XAMU - AP=ZP/XAMU - AD=ZD/XAMU - AT=ZT/XAMU - AHE3=ZHE3/XAMU - AA=ZA/XAMU -C now preprocess all materials xs - MEDIA = 0 - NMIX = 0 - NMAT = 0 -#if defined(CERNLIB_MDEBUG) - PRINT *,' MICAP-INI : setup materials ' - PRINT '('' NMATE='',I20,'' JMATE='',I20)',NMATE,JMATE - PRINT '('' NTMED='',I20,'' JTMED='',I20)',NTMED,JTMED -#endif -C Check if material option bank MIST exists - FMIST = .FALSE. - CALL MZINQD(IXCONS) - IF(LMIST.GE.IQUEST(3) .AND. LMIST.LE.IQUEST(4)) THEN - CALL UHTOC(IQ(LMIST-4),4,CNAME,4) - IF(CNAME.EQ.'MIST') FMIST = .TRUE. - ENDIF -C 1. loop over tracking media -> get NMIX,MEDIA - DO 140 I=1,NTMED - JTM = LQ(JTMED - I) - IF(JTM.LE.0) GOTO 140 -C valid tracking medium found get material number -C and get corresponding material parameters from JMATE structure - IMA = INT(Q(JTM+6)) - IF(IMA.LE.0 .OR. IMA.GT.NMATE) GOTO 140 -C count number of elements and number of mixing operations - JMA = LQ(JMATE-IMA) - IF(JMA.LE.0) GOTO 140 - IF(Q(JMA+6) .LE. 1.0 .OR. Q(JMA+6) .GE. 240.) GOTO 140 -C Check if for material IMA single isotopes are selected - FSINGL = .FALSE. - IF(FMIST) THEN - DO 110 KIM=1,IQ(LMIST-1),2 - IF(IMA.EQ.IQ(LMIST+KIM).AND.IQ(LMIST+KIM+1).EQ.0) THEN - FSINGL = .TRUE. - GOTO 120 - ENDIF - 110 CONTINUE - 120 CONTINUE - ENDIF -C get number of elements in material max = 100 - KK = MIN(ABS(Q(JMA+11)),100.) -C relation between MICAP and GEANT material number - MEDIA = MEDIA + 1 -C mixture ? - KK1 = KK - IF(KK.GT.1) THEN - JMIXT = LQ(JMA - 5) -C -C check if more than one isotope has to taken into account for all -C elements in the mixture - DO 130 K=1,KK - IA = NINT(Q(JMIXT+K)) - IZ = NINT(Q(JMIXT+K+KK)) - CALL MATISO(IZ,IA,NNI,IDI,FSINGL,NUNIT) - KK1 = KK1 + NNI - 1 - 130 CONTINUE - ELSE - IA = NINT(Q(JMA+6)) - IZ = NINT(Q(JMA+7)) - CALL MATISO(IZ,IA,NNI,IDI,FSINGL,NUNIT) - KK1 = KK1 + NNI - 1 - ENDIF - NMIX = NMIX + KK1 - 140 CONTINUE -C allocate ZEBRA bank for material information - NW = 9 * NMIX + MEDIA + 10 -C define link area for MICAP banks in GCBANK - CALL CHKZEB(NW,IXCONS) - CALL MZBOOK(IXCONS,LMOMA,0,2,'MOME',0,0,NW,0,-1) - LMAG1 = LMOMA + 1 - IQ(LMAG1) = NMAGIC - LGE2MO = LMAG1 + 1 - LFP10 = LGE2MO + MEDIA + 1 - LFP11 = LFP10 + NMIX - LFP12 = LFP11 + NMIX - LFP13 = LFP12 + NMIX - LFP14 = LFP13 + NMIX - LFP140 = LFP14 + NMIX - LFP16 = LFP140 + NMIX - LFP17 = LFP16 + NMIX -C 2. loop over tracking media - MEDIA1 = 0 - NMIX1 = 0 - DO 230 I=1,NTMED - JTM = LQ(JTMED - I) - IF(JTM.LE.0) GOTO 230 -C valid tracking medium found get material number -C and get corresponding material parameters from JMATE structure - IMA = INT(Q(JTM+6)) -#if defined(CERNLIB_MDEBUG) - PRINT '('' IMATE ='',I10)',IMA -#endif - IF(IMA.LE.0 .OR. IMA.GT.NMATE) GOTO 230 -C count number of elements and number of mixing operations - JMA = LQ(JMATE-IMA) - IF(JMA.LE.0) GOTO 230 - IF(Q(JMA+6) .LE. 1.0 .OR. Q(JMA+6) .GE. 240.) GOTO 230 -C Check if for material IMA single isotopes are selected - FSINGL = .FALSE. - IF(FMIST) THEN - DO 150 KIM=1,IQ(LMIST-1),2 - IF(IMA.EQ.IQ(LMIST+KIM).AND.IQ(LMIST+KIM+1).EQ.0) THEN - FSINGL = .TRUE. - GOTO 160 - ENDIF - 150 CONTINUE - 160 CONTINUE - ENDIF - NMAT = NMAT + 1 -C get number of elements in material max = 100 - RHO1 = Q(JMA+8) - KK = MIN1(ABS(Q(JMA+11)),100.) -C relation between MICAP and GEANT material number -C check if medium IMA already stored (multiple tracking media) - CALL VZERO(AGEA,100) - DO 180 KMI=1,MEDIA1 - IF(IQ(LGE2MO+KMI).EQ.IMA) THEN - IF(KK.EQ.1) THEN - IA = NINT(Q(JMA+6)) - IZ = NINT(Q(JMA+7)) - CALL MATISO(IZ,IA,NNI,IDI,FSINGL,NUNIT) - NMIX = NMIX - NNI - ELSE - JMIXT = LQ(JMA - 5) - DO 170 K=1,KK - IA = NINT(Q(JMIXT+K)) - IZ = NINT(Q(JMIXT+K+KK)) - CALL MATISO(IZ,IA,NNI,IDI,FSINGL,NUNIT) - NMIX = NMIX - NNI - 170 CONTINUE - ENDIF - MEDIA = MEDIA - 1 - GOTO 230 - ENDIF - 180 CONTINUE - MEDIA1 = MEDIA1 + 1 - IQ(LGE2MO+MEDIA1) = IMA -C mixture ? - KK2 = KK - IF(KK.GT.1) THEN - JMIXT = LQ(JMA - 5) - KPOS = 1 - DO 200 K=1,KK - AMOL = Q(LQ(JMIXT-1) + 2) - XMOLCM = RHO1/AMOL*XNAVO - IA = NINT(Q(JMIXT+K)) - IZ = NINT(Q(JMIXT+K+KK)) - CALL MATISO(IZ,IA,NNI,IDI,FSINGL,NUNIT) - KK2 = KK2 + NNI - 1 - DO 190 KJ=1,NNI - KKPOS = KPOS + KJ - 1 - IF(KJ.EQ.1) THEN - AGEA(KKPOS) = Q(JMIXT+K) - ELSE - AGEA(KKPOS) = 0. - ENDIF - MID(KKPOS,1) = IDI(KJ,1) - MID(KKPOS,2) = NUNIT - IIZ = IDI(KJ,1)/1000 - IIA = IDI(KJ,1) - IIZ * 1000 - IF(IIA.NE.0 .AND. NNI.GT.1.) THEN - A(KKPOS) = FLOAT(IIA) - ELSE - A(KKPOS) = Q(JMIXT+K) - ENDIF - Z(KKPOS) = Q(JMIXT+K+KK) - WISO = FLOAT(IDI(KJ,2))/100. - WI = Q(JMIXT+K+2*KK)*AMOL/A(KKPOS)*WISO - DEN(KKPOS) = XMOLCM * WI -#if defined(CERNLIB_MDEBUG) - PRINT '('' MIXT: El #'',I3,'' A,Z :'',2F10.2, - + '' Rho='',F10.2,'' Den ='',F10.5)', - + KJ,A(KJ),Z(KJ),RHO1,DEN(KJ) -#endif - 190 CONTINUE - KPOS = KPOS + NNI - 200 CONTINUE -C element or compound - ELSE - IA = NINT(Q(JMA+6)) - IZ = NINT(Q(JMA+7)) - CALL MATISO(IZ,IA,NNI,IDI,FSINGL,NUNIT) - KK2 = KK2 + NNI - 1 - DO 210 KJ=1,NNI - IF(KJ.EQ.1) THEN - AGEA(KJ) = Q(JMA+6) - ELSE - AGEA(KJ) = 0. - ENDIF - MID(KJ,1) = IDI(KJ,1) - MID(KJ,2) = NUNIT - IIZ = IDI(KJ,1)/1000 - IIA = IDI(KJ,1) - IIZ * 1000 - IF(IIA.NE.0 .AND. NNI.GT.1.) THEN - A(KJ) = FLOAT(IIA) - ELSE - A(KJ) = Q(JMA+6) - ENDIF - Z(KJ) = Q(JMA+7) - WISO = FLOAT(IDI(KJ,2))/100. - DEN(KJ) = RHO1/A(KJ) * WISO *XNAVO -#if defined(CERNLIB_MDEBUG) - PRINT '('' ELEM: Iso #'',I3,'' A,Z :'',2F10.2, - + '' Rho='',F10.2,'' Den ='',F10.5)', - + KJ,A(KJ),Z(KJ),RHO1,DEN(KJ) -#endif - 210 CONTINUE - ENDIF -C -C fill MICAP material arrays -C actual number of isotopes given by KK2 -C - DO 220 J = NMIX1 + 1, NMIX1 + KK2 - IQ(LFP10+J-1) = MEDIA1 - IQ(LFP11+J-1) = MID(J-NMIX1,1) -C check if bound hydrogen has been selected - IF(NINT(Z(J-NMIX1)).EQ.1.AND.KK.GT.1) IQ(LFP11+J-1) = 1000 - Q(LFP12+J-1) = DEN(J-NMIX1) - IQ(LFP13+J-1) = NINT(Z(J-NMIX1)) - Q(LFP14+J-1) = A(J-NMIX1) - Q(LFP140+J-1) = AGEA(J-NMIX1) - 220 CONTINUE - NMIX1 = NMIX1 + KK2 - 230 CONTINUE - IF(NMIX.LE.0) THEN - PRINT *,' GCALOR: NO tracking media found ===> STOP ' - STOP - ENDIF -C read cross-sections and perform mixing and thinning - CALL MOXSEC -C close MICAP cross-section file(s) - LT = LTEMP - 240 CONTINUE - CLOSE(UNIT=IQ(LT+NTUNIT)) - LT = LQ(LT) - IF(LT.GT.0) GOTO 240 -C Drop temporary linear structures - CALL MZDROP(IXCONS,LTEMP,'L') - CALL MZDROP(IXCONS,LCISO,'L') - RETURN - END diff --git a/StarVMC/geant3/miface/gmplxs.F b/StarVMC/geant3/miface/gmplxs.F deleted file mode 100644 index 92ad3a2aed7..00000000000 --- a/StarVMC/geant3/miface/gmplxs.F +++ /dev/null @@ -1,103 +0,0 @@ -* -* $Id: gmplxs.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: gmplxs.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.47 by S.Giani -*-- Author : - SUBROUTINE GMPLXS(D,LD,IGAMS,LGAM,INABS,LNAB,ITHRMS,LTHRM, - + IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR,Q,NSEI,NAEI,NMT2,NMT4, - + NMT16,NMT17,NMT18,NMT22,NMT23,NMT24,NMT28,NMT51,NMT91, - + NMT102,NMT103,NMT104,NMT105,NMT106,NMT107,NMT108,NMT109, - + NMT111,NMT112,NMT113,NMT114,IGCBS2,LGCB2,KZ,LR,QLR, - + IIN,IIM,ID,SIGNN) -C This routine is a copy of COLISN, used to compute -C the cross-section of low-energy neutrons processes. -C The calling sequence is as the one is COLISN plus -C the ID number of the process and the output value SIGNN -C Kati Lassila-Perini 3.12.94 -C -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mapoll.inc" -#include "geant321/mcross.inc" -#include "geant321/mmass.inc" -#include "geant321/mupsca.inc" -#include "geant321/mpstor.inc" -#include "geant321/mmicab.inc" - DIMENSION D(*),LD(*),IGAMS(*),LGAM(*),INABS(*),LNAB(*), - + ITHRMS(*),LTHRM(*),IDICTS(NNR,NNUC),LDICT(NNR,NNUC),NTX(*), - + NTS(*),IGCBS(NGR,NNUC),LGCB(NGR,NNUC),AWR(*),Q(NQ,NNUC), - + NSEI(*),NAEI(*),NMT2(*),NMT4(*),NMT16(1),NMT17(*),NMT18(*), - + NMT22(*),NMT23(*),NMT24(*),NMT28(*),NMT51(*),NMT91(*), - + NMT102(*),NMT103(*),NMT104(*),NMT105(*),NMT106(*),NMT107(*), - + NMT108(*),NMT109(*),NMT111(*),NMT112(*),NMT113(*),NMT114(*), - + IGCBS2(NGR,NNUC),LGCB2(NGR,NNUC),KZ(*),LR(NQ,NNUC),QLR(NQ,NNUC), - + FM(MAXNEU) -C -C - CALL GTMED(NMED,MED) - SIGNN = 0. -C - IF (ID.EQ.99) THEN -C -C DETERMINE THE TOTAL NEUTRON DISAPPEARANCE (MT-102 TO MT-114 -C AND MT-18) - L1=LNAB(IIN) - IF(L1.EQ.0) THEN - SIGNN = 0. - ELSE - LS1=INABS(IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNN) - ENDIF - ELSE -C - L1=LDICT(ID,IIN) - IF(L1.EQ.0) THEN - SIGNN = 0. - ELSE - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNN) -C - IF(ID.EQ.10) THEN -C THE TREATMENT OF THE FISSION REACTION ASSUMES THE FISSION -C CROSS SECTION IS STORED AS NUBAR*SIGF - L1=LDICT(134,IIN) - IF(L1.EQ.0)THEN - SIGNN = 0.0 - ELSE - LS1=IDICTS(134,IIN)+LMOX2 - LEN=L1 - CALL GETNU(D(LS1),LD(LS1),EOLD,LEN,XNU) - SIGNN=SIGNN/XNU - ENDIF - ENDIF - ENDIF - ENDIF -C - END diff --git a/StarVMC/geant3/miface/gmxsec.F b/StarVMC/geant3/miface/gmxsec.F deleted file mode 100644 index eb523911288..00000000000 --- a/StarVMC/geant3/miface/gmxsec.F +++ /dev/null @@ -1,98 +0,0 @@ -* -* $Id: gmxsec.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: gmxsec.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 06/07/94 17.30.05 by S.Giani -*-- Author : - SUBROUTINE GMXSEC(ILNMEC,SIGNN) -C -#include "geant321/gctrak.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcking.inc" -#include "geant321/gcnmec.inc" -C MICAP commons -#include "geant321/mmicap.inc" -#include "geant321/minput.inc" -#include "geant321/mconst.inc" - COMMON/MNUTRN/NAME,NAMEX,E,EOLD,NMED,MEDOLD,NREG,U,V,W, - + UOLD,VOLD,WOLD,X,Y,ZZ,XOLD,YOLD,ZOLD,WATE,OLDWT,WTBC, - + BLZNT,BLZON,AGE,OLDAGE,INEU,ENE(MAXNEU) - INTEGER BLZNT -#include "geant321/mapoll.inc" -#include "geant321/mpoint.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" -#include "geant321/cmagic.inc" -#include "geant321/mcreco.inc" - DIMENSION IDCODE(NMECA-IBLOWN) - DATA IDCODE /99,2,4,54,8,9,11,12,13,10,55,56,57,58,59,60,61, - + 62,63,64,65,66/ -C -C first check, if ZEBRA still in order - IF(LD(LMAG1).NE.NMAGIC.OR.LD(LMAG2).NE.NMAGIC) THEN - WRITE(6,*) ' CALOR: ZEBRA banks screwed up --> STOP' - WRITE(IOUT,'('' MICAP: Magic number '',I12,'' not found: '', ' - + //' 2I12)') NMAGIC,LD(LMAG1),LD(LMAG2) - STOP - ENDIF -C Set the ID according to the process - ID = IDCODE(ILNMEC-IBLOWN) -* - E = GEKIN*1.E9 - EOLD = E -C Material number a la GEANT -* NMED = NCEL - NMED = NMAT - NMEM=1 - CALL GTMED(NMED,IMED) -C get total cross-section - CALL NSIGTA(E,NMED,TSIG,D,LD(LFP32),LD(LFP33)) -C THE PARAMETER (IIN) IS THE POINTER FOR ARRAYS DIMENSIONED BY -C (NNUC) AND THE PARAMETER (IIM) IS THE POINTER FOR ARRAYS -C DIMENSIONED BY (NMIX) - SIGNN = 0. - DO 10 IIM=1,NMIX - IF(LD(LFP10+IIM-1).EQ.IMED) THEN - IIN = LD(LFP16-1+IIM) - CALL GMPLXS(D,LD, LD(LFP20),LD(LFP21),LD(LFP22),LD(LFP23), - + LD(LFP24), LD(LFP25),LD(LFP26),LD(LFP27),LD(LFP28), - + LD(LFP29), LD(LFP30), LD(LFP31),LD(LFP34),LD(LFP35), - + LD(LFP41),LD(LFP41+ NNUC), LD(LFP42),LD(LFP42+MEDIA), - + LD(LFP42+2*MEDIA),LD(LFP42+3* MEDIA), LD(LFP42+4*MEDIA), - + LD(LFP42+5*MEDIA),LD(LFP42+6*MEDIA), LD(LFP42+7*MEDIA), - + LD(LFP42+8*MEDIA),LD(LFP42+9*MEDIA), LD(LFP4 2+10*MEDIA), - + LD(LFP42+11*MEDIA),LD(LFP42+12*MEDIA), LD(LFP42+ 13*MEDIA), - + LD(LFP42+14*MEDIA),LD(LFP42+15*MEDIA), LD(LFP42+16* MEDIA), - + LD(LFP42+17*MEDIA),LD(LFP42+18*MEDIA), LD(LFP42+19* MEDIA), - + LD(LFP42+20*MEDIA),LD(LFP42+21*MEDIA), LD(LFP42+22* MEDIA), - + LD(LFP45),LD(LFP46),LD(LFP13), LD(LFP35+NQ*NNUC), D(LFP35+ - + 2*NQ*NNUC),IIN,IIM,ID,SIGNN1) - SIGNN = SIGNN + SIGNN1*D(LFP12-1+IIM) - ENDIF - 10 CONTINUE -C - END diff --git a/StarVMC/geant3/miguti/azirn.F b/StarVMC/geant3/miguti/azirn.F deleted file mode 100644 index e983a7fecbd..00000000000 --- a/StarVMC/geant3/miguti/azirn.F +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: azirn.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: azirn.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:57 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:53 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE AZIRN(SIN,COS) -#include "geant321/crandm.inc" -C THIS ROUTINE SELECTS THE AZIMUTHAL ANGLE UNIFORMLY IN THETA - 10 R1 = SFLRAF(DUM) - R1SQ = R1 * R1 - R2 = RANDC(ISEED) - R2SQ = R2 * R2 - RSQ = R1SQ + R2SQ - IF(1.0-RSQ) 10 ,20 ,20 - 20 SIN = 2.0 * R1 * R2 / RSQ - COS = (R2SQ-R1SQ) / RSQ - RETURN - END diff --git a/StarVMC/geant3/miguti/exprnf.F b/StarVMC/geant3/miguti/exprnf.F deleted file mode 100644 index 892a965891b..00000000000 --- a/StarVMC/geant3/miguti/exprnf.F +++ /dev/null @@ -1,47 +0,0 @@ -* -* $Id: exprnf.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: exprnf.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - FUNCTION EXPRNF(A) -C -#include "geant321/crandm.inc" -C - REAL I -C - I = 0.0 - 10 X = RANDC(ISEED) - Z = X - 20 Y = RANDC(ISEED) - IF(Z-Y) 50 ,50 ,30 - 30 Z = RANDC(ISEED) - IF(Z-Y) 20 ,40 ,40 - 40 I = I + 1.0 - GO TO 10 - 50 EXPRNF = X + I - RETURN - END diff --git a/StarVMC/geant3/miguti/gtiso.F b/StarVMC/geant3/miguti/gtiso.F deleted file mode 100644 index 4bc0c200f2e..00000000000 --- a/StarVMC/geant3/miguti/gtiso.F +++ /dev/null @@ -1,46 +0,0 @@ -* -* $Id: gtiso.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: gtiso.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE GTISO(U,V,W) -C -#include "geant321/crandm.inc" -C - 10 Z = RANDC(ISEED) - X = 0.687368 * SFLRAF(Z) - Y = 0.687368 * SFLRAF(Z) - XSQ = X * X - YSQ = Y * Y - ZSQ = Z * Z - D = XSQ + YSQ + ZSQ - IF(D*D-Z) 20 ,20 ,10 - 20 U = 2.0*X*Z/D - V = 2.0*Y*Z/D - W = (ZSQ-XSQ-YSQ)/D - RETURN - END diff --git a/StarVMC/geant3/miguti/randc.F b/StarVMC/geant3/miguti/randc.F deleted file mode 100644 index 5c6e267c9f7..00000000000 --- a/StarVMC/geant3/miguti/randc.F +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: randc.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: randc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : -#if !defined(CERNLIB_SINGLE) - DOUBLE PRECISION FUNCTION RANDC(IDUMM) -#endif -#if defined(CERNLIB_SINGLE) - FUNCTION RANDC(IDUMM) -#endif -C - DIMENSION RND1(1) -C - CALL GRNDM(RND1,1) - RANDC = RND1(1) - RETURN - END diff --git a/StarVMC/geant3/miguti/sflraf.F b/StarVMC/geant3/miguti/sflraf.F deleted file mode 100644 index 3cd35ff6eba..00000000000 --- a/StarVMC/geant3/miguti/sflraf.F +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: sflraf.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: sflraf.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:58 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - FUNCTION SFLRAF(X) -C -#include "geant321/crandm.inc" -C - SFLRAF = 2.0 * RANDC(ISEED) - TEMP = 1.0 - SFLRAF - IF(TEMP) 10 ,20 ,20 - 10 SFLRAF = TEMP - 20 RETURN - END diff --git a/StarVMC/geant3/miguti/sigmor.F b/StarVMC/geant3/miguti/sigmor.F deleted file mode 100644 index 27343228a2a..00000000000 --- a/StarVMC/geant3/miguti/sigmor.F +++ /dev/null @@ -1,45 +0,0 @@ -* -* $Id: sigmor.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: sigmor.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - FUNCTION SIGMOR(EK,NMED) -C*************************************************** -C Get x-section for low energetic neutrons -C Ek < 20 MeV (Ek is given in eV) -C INPUT: material and neutron energy -C OUTPUT: SIG = x-section -C -C************************************************** -C MICAP common -#include "geant321/mmicap.inc" -#include "geant321/mpoint.inc" -C - CALL NSIGTA(EK,NMED,TSIG,D,LD(LFP32),LD(LFP33)) - SIGMOR = TSIG - RETURN - END diff --git a/StarVMC/geant3/neutron/angcdf.F b/StarVMC/geant3/neutron/angcdf.F deleted file mode 100644 index de7071023c9..00000000000 --- a/StarVMC/geant3/neutron/angcdf.F +++ /dev/null @@ -1,63 +0,0 @@ -* -* $Id: angcdf.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: angcdf.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE ANGCDF(D,LD,LZ) -C THIS ROUTINE READS THE INPUT ANGULAR DISTRIBUTION FILES -C AND CONVERTS THEM TO A NORMALIZED CDF - DIMENSION D(*),LD(*) - IPP=1 - NR=LD(IPP) - NE=LD(IPP+1) - NR2=2*NR - II=2+NR2 - 10 CONTINUE - E=D(II+1) - NP=LD(II+2) - A1=-1.0 - PL=D(II+4) - D(II+4)=0.0 - PROB=0.0 - DO 20 I=2,NP - N=II+2*I+2 - A2=D(N-1) - PH=D(N) - PROB=PROB+(PH+PL)*(A2-A1)/2.0 - PL=PH - D(N)=PROB - A1=A2 - 20 CONTINUE - DO 30 I=1,NP - N=II+2*I+2 - D(N)=D(N)/PROB - 30 CONTINUE - II=II+2*NP+2 - IF(II.GE.LZ)GO TO 40 - GO TO 10 - 40 RETURN - END diff --git a/StarVMC/geant3/neutron/bankr.F b/StarVMC/geant3/neutron/bankr.F deleted file mode 100644 index 196b873faa0..00000000000 --- a/StarVMC/geant3/neutron/bankr.F +++ /dev/null @@ -1,68 +0,0 @@ -* -* $Id: bankr.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: bankr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE BANKR(D,LD,NBNKID) -C THIS IS A DUMMY ROUTINE USUALLY SUPPLIED BY THE USER TO -C OBTAIN FURTHER ANALYSIS OF THE PROBLEM DEPENDING ON THE -C VALUE ASSIGNED TO NBNKID. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mpoint.inc" -#include "geant321/mapoll.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mgamma.inc" -#include "geant321/mmass.inc" - DIMENSION D(*),LD(*) - NBNK=NBNKID - 10 GO TO (20,30,40,50,60,70,80,90,100,110,120,130,140),NBNKID -C SOURCES GENERATED - 20 RETURN -C SPLITTINGS OCCURRING - 30 RETURN -C FISSIONS OCCURRING - 40 RETURN -C GAMMA RAYS GENERATED - 50 RETURN -C REAL COLLISIONS - 60 RETURN -C ALBEDO SCATTERINGS - 70 RETURN - 80 RETURN - 90 RETURN -C ENERGY CUTOFFS - 100 RETURN -C TIME CUTOFFS - 110 RETURN -C RUSSIAN ROULETTE KILLS - 120 RETURN -C RUSSIAN ROULETTE SURVIVORS - 130 RETURN -C GAMMA RAYS NOT STORED BECAUSE BANK WAS FULL - 140 RETURN - END diff --git a/StarVMC/geant3/neutron/barier.F b/StarVMC/geant3/neutron/barier.F deleted file mode 100644 index 68f97abf03d..00000000000 --- a/StarVMC/geant3/neutron/barier.F +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: barier.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: barier.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:54 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE BARIER(KZ1,KZ2,A1,A2,CB) -C THIS ROUTINE CALCULATES THE COULOMB BARRIER FOR A -C COLLISION INVOLVING CHARGED PARTICLE EMISSION - IFLG=0 -C CALCULATE THE RADIUS OF THE NUCLEUS AND CHARGED PARTICLE - A=A1 - 10 IF(A.LT.5.5)R=1.20E-13 - IF((A.GE.5.5).AND.(A.LT.6.5))R=2.02E-13 - IF((A.GE.6.5).AND.(A.LT.7.5))R=2.43E-13 - IF((A.GE.7.5).AND.(A.LT.8.5))R=2.84E-13 - IF((A.GE.8.5).AND.(A.LT.9.5))R=3.25E-13 - IF(A.GE.9.5)R=(A**(1.0/3.0))*1.70E-13 - IF(IFLG.EQ.0)R1=R - IF(IFLG.EQ.1)GO TO 20 - IFLG=1 - A=A2 - GO TO 10 - 20 R2=R -C CALCULATE THE COULOMB BARRIER (UNITS=MEV) -C THE FACTOR 0.75 IS ARBITRARYLY SET TO ACCOUNT FOR CHARGED -C PARTICLE EMISSION BELOW THE COULOMB BARRIER - CB=((KZ1*KZ2*1.44E-13)/(R1+R2))*0.75 - IF(CB.LT.0.0) CB = 0.0 - RETURN - END diff --git a/StarVMC/geant3/neutron/cadig.F b/StarVMC/geant3/neutron/cadig.F deleted file mode 100644 index 32f4560dce1..00000000000 --- a/StarVMC/geant3/neutron/cadig.F +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: cadig.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: cadig.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - FUNCTION CADIG(E) -C THIS FUNCTION ADDS A TOLERANCE TO THE ARGUMENT - ARG=ALOG10(E) - ITR=5-IFIX(ARG) - EPS=10.**ITR - CADIG=1./EPS - RETURN - END diff --git a/StarVMC/geant3/neutron/cangle.F b/StarVMC/geant3/neutron/cangle.F deleted file mode 100644 index 6d4c9d75efb..00000000000 --- a/StarVMC/geant3/neutron/cangle.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: cangle.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: cangle.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:48:59 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE CANGLE(D,LD,E,FM,LEN) -C THIS ROUTINE SELECTS THE SCATTERING ANGLE AT A COLLISION - DIMENSION D(*),LD(*) - SAVE - I=0 - IPP=1 - NR=LD(IPP) - NE=LD(IPP+1) - NR2=2*NR - IP=2+NR2 - INT=LD(IP) - 10 IP=IP+1 - I=I+1 - EINCD=D(IP) - IF(E.LE.EINCD)GO TO 30 - IP1=IP - IP=IP+1 - NP=LD(IP) - IP=IP+2*NP - IF(IP.GE.LEN)GO TO 20 - GO TO 10 -C E IS GREATER THAN THE LAST INCIDENT ENERGY -C USE THE LAST DISTRIBUTION - 20 IP=IP-2*NP-1 - GO TO 70 - 30 IF(I.EQ.1)GO TO 60 -C CHOOSE WHICH DISTRIBUTION TO SAMPLE FROM -C THE INTERPOLATION SCHEME IS ASSUMED LINEAR-LINEAR IF IT -C IS NOT EQUAL TO THREE (LINEAR-LOG). THIS IS GENERALLY TRUE - IF(INT.NE.3)GO TO 40 - PROB=ALOG(EINCD/E)/ALOG(EINCD/D(IP1)) - 40 PROB=(EINCD-E)/(EINCD-D(IP1)) - R=FLTRNF(0) - IF(R.LE.PROB)GO TO 50 -C SELECT FROM THE SECOND DISTRIBUTION - NP=LD(IP+1) - GO TO 70 -C SELECT FROM THE FIRST DISTRIBUTION - 50 IP=IP1 - GO TO 70 -C E IS LESS THAN THE FIRST INCIDENT ENERGY -C USE THE FIRST DISTRIBUTION - 60 NP=LD(IP+1) - 70 CONTINUE - PROB1=0.0 - R=FLTRNF(0) - DO 80 I=2,NP - N=IP+2*I+1 - A1=D(N-3) - IF(R.LE.D(N))GO TO 90 - PROB1=D(N) - 80 CONTINUE - FM=1.0 - RETURN - 90 FM=A1+(R-PROB1)*(D(N-1)-A1)/(D(N)-PROB1) - IF(ABS(FM).GT.1.) FM = 1.0 - RETURN - END diff --git a/StarVMC/geant3/neutron/cevap.F b/StarVMC/geant3/neutron/cevap.F deleted file mode 100644 index 8737f0fabc9..00000000000 --- a/StarVMC/geant3/neutron/cevap.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: cevap.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: cevap.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE CEVAP(E,Q,ATAR,CB,EX) -C THIS ROUTINE SAMPLES AN EXIT ENERGY FROM AN -C EVAPORATION SPECTRUM -#include "geant321/minput.inc" - SAVE -C CONVERT THE COULOMB BARRIER (CB) TO UNITS OF EV - CB=CB*1.00E+06 -C CALCULATE THE MAXIMUM ENERGY AVAILABLE - CBI=CB - EMAX=E+Q-CB - IF(EMAX.GT.0.0)GO TO 10 - CB=0.5*CB - EMAX=E+Q-CB - IF(EMAX.GT.0.0)GO TO 10 - CB=0.0 - EMAX=E+Q-CB - IF(EMAX.GT.0.0)GO TO 10 - WRITE(IOUT,10000)E,EMAX,Q,CBI -10000 FORMAT(' MICAP: NEGATIVE MAXIMUM ENERGY CALCULATED IN ROUTINE ', - 1'EVAP --- INDICATING PROBABLE CROSS SECTION ERROR ALLOWING ', - 2'THE REACTION TO OCCUR',/,10X,'E,EMAX,Q,CB=',4E13.5) - WRITE(6,*) ' CALOR: Fatal ERROR in EVAP ====> STOP ' - STOP -C CALCULATE THE NUCLEAR TEMPERATURE (THETA) - 10 THETA=4.0161E+03*(SQRT(E+Q-CB)/(ATAR**0.8333333)) -C SELECT THE EXIT ENERGY FROM AN EVAPORATION SPECTRUM - 20 R1=FLTRNF(0) - R2=FLTRNF(0) - W=-ALOG(R1*R2) - EX=THETA*W - IF(EX.LT.0.0) EX = 0.0 - IF(EX.LE.EMAX)RETURN -C RESAMPLE 75% OF THE TIME IF EX IS GREATER THAN EMAX - R=FLTRNF(0) - IF(R.LE.0.75)GO TO 20 -#if defined(CERNLIB_MDEBUG) - IF(EX.GT.20.*EMAX) WRITE(IOUT,10100)EX,EMAX -10100 FORMAT(' MICAP: WARNING EX > EMAX=',2E13.5,' IN ROUTINE EVAP') -#endif - EX=EMAX - RETURN - END diff --git a/StarVMC/geant3/neutron/cevap1.F b/StarVMC/geant3/neutron/cevap1.F deleted file mode 100644 index 2f0ac146ab6..00000000000 --- a/StarVMC/geant3/neutron/cevap1.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: cevap1.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: cevap1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE CEVAP1(EOLD,E,Q,ATAR,CB,EX) -C THIS ROUTINE SAMPLES AN EXIT ENERGY FROM AN -C EVAPORATION SPECTRUM FOR AN (N,N-PRIME X) REACTION -#include "geant321/minput.inc" - SAVE -C CONVERT THE COULOMB BARRIER (CB) TO UNITS OF EV - CB=CB*1.00E+06 -C CALCULATE THE MAXIMUM ENERGY AVAILABLE - CBI=CB - EMAX=EOLD+Q-CB-E - IF(EMAX.GT.0.0)GO TO 10 - CB=0.5*CB - EMAX=EOLD+Q-CB-E - IF(EMAX.GT.0.0)GO TO 10 - CB=0.0 - EMAX=EOLD+Q-CB-E - IF(EMAX.LE.0.0)EMAX=1.0E+00 -C CALCULATE THE NUCLEAR TEMPERATURE (THETA) - 10 THETA=4.0161E+03*(SQRT(EMAX)/(ATAR**0.8333333)) -C SELECT THE EXIT ENERGY FROM AN EVAPORATION SPECTRUM - ITRY = 0 - 20 R1=FLTRNF(0) - R2=FLTRNF(0) - W=-LOG(R1*R2) - EX=THETA*W - IF(EX.LE.EMAX)RETURN -C RESAMPLE 75% OF THE TIME IF EX IS GREATER THAN EMAX - R=FLTRNF(0) - ITRY = ITRY + 1 - IF(R.LE.0.75.AND.ITRY.LT.5)GO TO 20 -#if defined(CERNLIB_MDEBUG) - WRITE(IOUT,10000)EX,EMAX -10000 FORMAT(' MICAP: WARNING-EX,EMAX=',2PE13.5,' IN ROUTINE EVAP1') -#endif - EX=EMAX - RETURN - END diff --git a/StarVMC/geant3/neutron/chkzeb.F b/StarVMC/geant3/neutron/chkzeb.F deleted file mode 100644 index 2be3b2c43cb..00000000000 --- a/StarVMC/geant3/neutron/chkzeb.F +++ /dev/null @@ -1,52 +0,0 @@ -* -* $Id: chkzeb.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: chkzeb.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:57 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE CHKZEB(NW,IX) -C -C Check if NW words are available in ZEBRA division IX -C -C ZEBRA user communication common - COMMON/ QUEST / IQUEST(100) -C - CALL MZNEED(IX,NW,'G') - IF(IQUEST(11).LT.0) THEN - PRINT *,'******************************************' - PRINT *,'* G C A L O R *' - PRINT *,'* NOT enough space available in ZEBRA *' - PRINT '('' * division '',I3,'' to store '',I8, ' - + //' '' words *'')',IX,NW - PRINT *,'* *' - PRINT *,'* INCREASE ZEBRA COMMON SIZE AND RERUN *' - PRINT *,'* *' - PRINT *,'* RUN TERMINATED *' - PRINT *,'******************************************' - STOP - ENDIF - RETURN - END diff --git a/StarVMC/geant3/neutron/clear.F b/StarVMC/geant3/neutron/clear.F deleted file mode 100644 index 25bd9697619..00000000000 --- a/StarVMC/geant3/neutron/clear.F +++ /dev/null @@ -1,38 +0,0 @@ -* -* $Id: clear.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: clear.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE CLEAR(L,L1,L2) -C THIS ROUTINE ZEROS ARRAY L FROM -C STARTING POINT L1 TO ENDING POINT L2 - DIMENSION L(*) - IF(L2-L1.LT.0)GO TO 20 - DO 10 I=L1,L2 - 10 L(I)=0 - 20 RETURN - END diff --git a/StarVMC/geant3/neutron/cmlabe.F b/StarVMC/geant3/neutron/cmlabe.F deleted file mode 100644 index af907afd840..00000000000 --- a/StarVMC/geant3/neutron/cmlabe.F +++ /dev/null @@ -1,130 +0,0 @@ -* -* $Id: cmlabe.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: cmlabe.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE CMLABE(D,LD,AWR,KZ,ID,FM,Q,IFLG) -C THIS ROUTINE CONVERTS THE EXIT NEUTRON SCATTERING ANGLE -C FROM THE CENTER OF MASS COORDINATE SYSTEM TO THE LABORATORY -C COORDINATE SYSTEM FOR AN ELASTIC SCATTERING REACTION. IT -C ALSO CALCULATES THE EXIT ENERGIES AND DIRECTIONAL COSINES -C FOR THE NEUTRON AND RECOIL NUCLEUS AS WELL AS SETTING ALL -C EXIT PARAMETERS FOR THE RECOIL NUCLEUS. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mupsca.inc" -#include "geant321/mpstor.inc" - DIMENSION D(*),LD(*) - SAVE - MT=0 - IF(ID.EQ.2)MT=2 -C IFLG EQUAL TO ONE IMPLIES LABORATORY COORDINATE SYSTEM - IF(IFLG.EQ.1)GO TO 10 - IF(IFLG.EQ.2)GO TO 50 - ALPHA=((AWR-1.0)/(AWR+1.0))**2 -C E EQUALS THE EXIT ENERGY IN THE LAB SYSTEM - E=0.5*EOLD*((1.0-ALPHA)*FM+1.0+ALPHA) -C CALCULATE COSINE OF SCATTERING ANGLE (FM) IN LAB SYSTEM - FM=(1.0+AWR*FM)/SQRT(1.0+AWR**2+2.0*AWR*FM) -C CALCULATE THE NEUTRON EXIT DIRECTIONAL COSINES - 10 SINPSI=SQRT(1.0-FM**2) - CALL AZIRN(SINETA,COSETA) - STHETA=1.0-UOLD**2 - IF(STHETA)30,30,20 - 20 STHETA=SQRT(STHETA) - COSPHI=VOLD/STHETA - SINPHI=WOLD/STHETA - GO TO 40 - 30 COSPHI=1.0 - SINPHI=0.0 - STHETA=0.0 - 40 U=UOLD*FM-COSETA*SINPSI*STHETA - V=VOLD*FM+UOLD*COSPHI*COSETA*SINPSI-SINPHI*SINPSI*SINETA - W=WOLD*FM+UOLD*SINPHI*COSETA*SINPSI+COSPHI*SINPSI*SINETA - S=1.0/SQRT(U**2+V**2+W**2) - U=U*S - V=V*S - W=W*S -C CALCULATE AND SET THE RECOIL NUCLEUS EXIT PARAMETERS - 50 ER=EOLD-E -C PERFORM ENERGY BALANCE CONSIDERING TARGET NUCLEUS ENERGY - IF(IFLG.EQ.2)ER=ERFGM+EOLD-E - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=AWR*AN - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=E - UNOR=U - VNOR=V - WNOR=W - WTNR=WATE - QR=Q -C CALCULATE THE NEUTRON MOMENTUM BEFORE AND AFTER COLLISION -C NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM - PI=SQRT(2.0*ZN*EOLD) - PO=SQRT(2.0*ZN*E) -C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS - PRX=PI*UOLD-PO*U - PRY=PI*VOLD-PO*V - PRZ=PI*WOLD-PO*W -C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS - PR=SQRT(PRX**2+PRY**2+PRZ**2) -C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES - IF(PR.GT.0.0) THEN - UR=PRX/PR - VR=PRY/PR - WR=PRZ/PR - ELSE - UR=0.0 - VR=0.0 - WR=0.0 - ENDIF -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AGEP = AGE - MTP = MT - AMP = AR - ZMP = FLOAT(NZR) - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/cmlabi.F b/StarVMC/geant3/neutron/cmlabi.F deleted file mode 100644 index 4e1e9ee298b..00000000000 --- a/StarVMC/geant3/neutron/cmlabi.F +++ /dev/null @@ -1,146 +0,0 @@ -* -* $Id: cmlabi.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: cmlabi.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:55 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE CMLABI(D,LD,AWR,KZ,ID,FM,Q,IFLG,LIFLAG,LRI) -C THIS ROUTINE CONVERTS THE EXIT NEUTRON SCATTERING ANGLE -C FROM THE CENTER OF MASS COORDINATE SYSTEM TO THE LABORATORY -C COORDINATE SYSTEM FOR AN INELASTIC SCATTERING REACTION. IT -C ALSO CALCULATES THE EXIT ENERGIES AND DIRECTIONAL COSINES -C FOR THE NEUTRON AND RECOIL NUCLEUS AS WELL AS SETTING ALL -C EXIT PARAMETERS FOR THE RECOIL NUCLEUS. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" - DIMENSION D(*),LD(*) - SAVE - MT=0 - IF((ID.GE.14).AND.(ID.LE.54))MT=51 - IF(MT.NE.51)GO TO 10 - IMT=ID-14 - MT=MT+IMT - 10 IF(ID.EQ.11)MT=22 - IF(ID.EQ.13)MT=28 -C IFLG EQUAL TO ONE IMPLIES LABORATORY COORDINATE SYSTEM - IF(LIFLAG.EQ.1)GO TO 60 - IF(IFLG.EQ.1)GO TO 20 -C E1 EQUALS THE EXIT ENERGY IN THE COM SYSTEM - E1=((AWR/(AWR+1.0))**2)*EOLD+Q*(AWR/(AWR+1.0)) -C re-sample in COLISN E1<0.0 (Q-value = -EOLD) !!! - IF(E1.LT.0.0) THEN - IFLG = -1 - RETURN - ENDIF -C E2 EQUALS THE EXIT ENERGY IN THE LAB SYSTEM - E2=E1+(EOLD+2.0*FM*(AWR+1.0)*SQRT(EOLD*E1))/((AWR+1.0)**2) -C CALCULATE COSINE OF SCATTERING ANGLE FM IN LAB SYSTEM - FM=(SQRT(E1/E2))*FM+(SQRT(EOLD/E2))*(1.0/(AWR+1.0)) - E=E2 -C CALCULATE THE NEUTRON EXIT DIRECTIONAL COSINES - 20 SINPSI=SQRT(1.0-FM**2) - CALL AZIRN(SINETA,COSETA) - STHETA=1.0-UOLD**2 - IF(STHETA)40,40,30 - 30 STHETA=SQRT(STHETA) - COSPHI=VOLD/STHETA - SINPHI=WOLD/STHETA - GO TO 50 - 40 COSPHI=1.0 - SINPHI=0.0 - STHETA=0.0 - 50 U=UOLD*FM-COSETA*SINPSI*STHETA - V=VOLD*FM+UOLD*COSPHI*COSETA*SINPSI-SINPHI*SINPSI*SINETA - W=WOLD*FM+UOLD*SINPHI*COSETA*SINPSI+COSPHI*SINPSI*SINETA - S=1.0/SQRT(U**2+V**2+W**2) - U=U*S - V=V*S - W=W*S - IF(MT.EQ.91)LIFLAG=1 - IF(MT.EQ.22)LIFLAG=1 - IF(MT.EQ.28)LIFLAG=1 - IF(LIFLAG.EQ.1)GO TO 60 -C CALCULATE AND SET THE RECOIL NUCLEUS EXIT PARAMETERS - ER=EOLD-E+Q - 60 XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=AWR*AN - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=E - UNOR=U - VNOR=V - WNOR=W - WTNR=WATE - QR=Q -C CALCULATE THE NEUTRON MOMENTUM BEFORE AND AFTER COLLISION -C NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM - PI=SQRT(2.0*ZN*EOLD) - PO=SQRT(2.0*ZN*E) -C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS - PRX=PI*UOLD-PO*U - PRY=PI*VOLD-PO*V - PRZ=PI*WOLD-PO*W -C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS - PR=SQRT(PRX**2+PRY**2+PRZ**2) -C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES - UR=PRX/PR - VR=PRY/PR - WR=PRZ/PR -C CALCULATE THE RECOIL HEAVY ION ENERGY FOR MT-91 - IF(LIFLAG.EQ.0)GO TO 70 - XM = AR*931.075E6 - ER= SQRT(PR**2 + XM**2) - XM - 70 CONTINUE -C IF LR-FLAG IS USED, DO NOT STORE RECOIL ION AT THIS TIME - IF(LRI.EQ.22)RETURN - IF(LRI.EQ.23)RETURN - IF(LRI.EQ.28)RETURN -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AGEP = AGE - MTP = MT - AMP = AR - ZMP = FLOAT(NZR) - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/colisn.F b/StarVMC/geant3/neutron/colisn.F deleted file mode 100644 index ea97a40d15e..00000000000 --- a/StarVMC/geant3/neutron/colisn.F +++ /dev/null @@ -1,1175 +0,0 @@ -* -* $Id: colisn.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: colisn.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:57 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE COLISN(D,LD,IGAMS,LGAM,INABS,LNAB,ITHRMS,LTHRM, - + IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR,Q,NSEI,NAEI,NMT2,NMT4, - + NMT16,NMT17,NMT18,NMT22,NMT23,NMT24,NMT28,NMT51,NMT91, - + NMT102,NMT103,NMT104,NMT105,NMT106,NMT107,NMT108,NMT109, - + NMT111,NMT112,NMT113,NMT114,IGCBS2,LGCB2,KZ,LR,QLR, - + IIN,IIM) -C THIS ROUTINE IS CALLED AT EACH COLLISION TO -C DETERMINE THE POST COLLISION PARAMETERS -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mapoll.inc" -#include "geant321/mcross.inc" -#include "geant321/mmass.inc" -#include "geant321/mupsca.inc" -#include "geant321/mpstor.inc" -#include "geant321/mmicab.inc" - DIMENSION D(*),LD(*),IGAMS(*),LGAM(*),INABS(*),LNAB(*), - + ITHRMS(*),LTHRM(*),IDICTS(NNR,NNUC),LDICT(NNR,NNUC),NTX(*), - + NTS(*),IGCBS(NGR,NNUC),LGCB(NGR,NNUC),AWR(*),Q(NQ,NNUC), - + NSEI(*),NAEI(*),NMT2(*),NMT4(*),NMT16(1),NMT17(*),NMT18(*), - + NMT22(*),NMT23(*),NMT24(*),NMT28(*),NMT51(*),NMT91(*), - + NMT102(*),NMT103(*),NMT104(*),NMT105(*),NMT106(*),NMT107(*), - + NMT108(*),NMT109(*),NMT111(*),NMT112(*),NMT113(*),NMT114(*), - + IGCBS2(NGR,NNUC),LGCB2(NGR,NNUC),KZ(*),LR(NQ,NNUC),QLR(NQ,NNUC), - + FM(MAXNEU) -C - CHARACTER*80 COMM -C - DATA QBE8/-7.3686E+06/ - SAVE - CALL GTMED(NMED,MED) -C INITIALIZE THE COUNTERS AND FLAGS -C ITRY ALLOWS FOR MULTIPLE ATTEMPTS IF THE ENDF/B PARTIAL -C CROSS SECTIONS DO NOT EXACTLY SUM TO THE TOTAL - 10 ISTOP=0 - ITRY=0 - NCOL=NCOL+1 - SIGREC=0.0 - SUMREC=0.0 - FSUMS = 1.0 - FSUMIS = 1.0 - FSUMA = 1.0 - 20 ID=0 - MT=0 - QI=0.0 - LRI=0 - QLRI=0.0 - DO 30 I=1,MAXNEU - FM(I)=1.0 - 30 CONTINUE - DO 40 I=1,MAXNEU - ENE(I)=0.0 - 40 CONTINUE - INEU = 0 - U1=0.0 - V1=0.0 - W1=0.0 - ERFGM=0.0 - IFLG=0 - LIFLAG=0 - AWRI=AWR(IIN) - KZI=KZ(IIM) -#if defined(CERNLIB_MDEBUG) - PRINT *,' COLISN: A=',AWRI,' K=',KZI -#endif -C INITIALIZE THE CROSS SECTION VARIABLES - SIGT=0.0 - SIGTNS=0.0 - SIGTNA=0.0 - SIGNES=0.0 - SIGNIS=0.0 - SGNISD=0.0 - SGNISC=0.0 - SIGN2N=0.0 - SIGN3N=0.0 - SIGNNA=0.0 - SGNN3A=0.0 - SGN2NA=0.0 - SIGNNP=0.0 - SIGNF=0.0 - SIGNG=0.0 - SIGNP=0.0 - SIGND=0.0 - SIGNT=0.0 - SGN3HE=0.0 - SIGNA=0.0 - SIGN2A=0.0 - SIGN3A=0.0 - SIGN2P=0.0 - SIGNPA=0.0 - SGNT2A=0.0 - SGND2A=0.0 - SUMIS=0.0 - SUMS=0.0 - SUMA=0.0 -C DETERMINE THE TOTAL CROSS SECTION (MT-1) - L1=LDICT(1,IIN) - IF(L1.EQ.0)GO TO 50 - LS1=IDICTS(1,IIN) + LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGT) - GO TO 60 - 50 CONTINUE - COMM=' COLISN: TOTAL CROSS SECTION LENGTH IS ZERO' - SIGREC = 0.0 - SUMREC = 0.0 - GOTO 980 - 60 CONTINUE -C DETERMINE THE TOTAL NEUTRON DISAPPEARANCE (MT-102 TO MT-114 -C AND MT-18) - L1=LNAB(IIN) - IF(L1.EQ.0)GO TO 70 - LS1=INABS(IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGTNA) - GO TO 80 - 70 SIGTNA=0.0 - 80 CONTINUE -C DETERMINE THE NON-ABSORPTION PROBABILITY - PNAB=1.0-SIGTNA/SIGT -C DETERMINE THE COLLISION TYPE (ABSORPTION OR SCATTERING) - R=FLTRNF(0) - IF(R.GT.PNAB)GO TO 570 -C THE REACTION TYPE IS A SCATTER - NSEI(IIN)=NSEI(IIN)+1 - SIGTNS=SIGT-SIGTNA - R=FLTRNF(0) -C DETERMINE (N,N) CROSS SECTION (MT-2) - ID=2 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 110 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNES) - SUMS=SIGNES/SIGTNS*FSUMS - IF(R.GT.SUMS)GO TO 120 -C REACTION TYPE IS (N,N) - NMT2(MED)=NMT2(MED)+1 -C DETERMINE IF SCATTERING OCCURS IN THE THERMAL ENERGY RANGE - ETHERM = 500.*8.617E-5*TEMP/AWRI - IF(E.LE.ETHERM) THEN -C Reaction is a thermal scatter - CALL THRMSC(D,D,ITHRMS,LTHRM,E,U,V,W,TEMP,FM,AWR,IIN, - + IFLG,IOUT) - QI=Q(ID,IIN) - CALL CMLABE(D,D,AWRI,KZI,ID,FM,QI,IFLG) - EP = E - VP = V - UP = U - WP = W - AGEP = AGE - MTP = 2 - CALL STOPAR(IDNEU,NNEU) - RETURN - ENDIF -C DETERMINE THE COSINE OF THE NEUTRON SCATTERING ANGLE IN THE -C CENTER OF MASS COORDINATE SYSTEM - L1=LDICT(67,IIN) - IF(L1.EQ.0)GO TO 90 - LS1=IDICTS(67,IIN)+LMOX2 - LEN=L1 - CALL CANGLE(D(LS1),D(LS1),E,FM(1),LEN) - GO TO 100 -C ASSUME ISOTROPIC IN THE CENTER OF MASS COORDINATE SYSTEM - 90 R=FLTRNF(0) - FM(1)=2.0*R-1.0 -C DETERMINE THE EXIT COLLISION PARAMETERS IN THE LABORATORY -C COORDINATE SYSTEM - 100 CONTINUE - QI=Q(ID,IIN) - CALL CMLABE(D,D,AWRI,KZI,ID,FM(1),QI,IFLG) - EP = E - VP = V - UP = U - WP = W - AGEP = AGE - MTP = 2 - CALL STOPAR(IDNEU,NNEU) - RETURN - 110 SIGNES=0.0 - 120 CONTINUE -C DETERMINE (N,N") CROSS SECTION (MT-4) - ID=3 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 240 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNIS) - SUMS=SUMS+SIGNIS/SIGTNS*FSUMS - IF(R.GT.SUMS)GO TO 250 -C REACTION TYPE IS (N,N") - NMT4(MED)=NMT4(MED)+1 -C DETERMINE (N,N"-DISCRETE) CROSS SECTION (MT-51 TO MT-90) - R=FLTRNF(0) - DO 130 I=14,53 - L1=LDICT(I,IIN) - IF(L1.EQ.0)GO TO 170 - LS1=IDICTS(I,IIN)+LMOX2 - LEN=L1/2 - CALL XSECNU(D,LEN,E,SGNISD,LS1,L1) - SUMIS=SUMIS+SGNISD/SIGNIS*FSUMIS - IF(R.LE.SUMIS)GO TO 140 - 130 CONTINUE - GO TO 180 - 140 CONTINUE -C REACTION TYPE IS (N,N") DISCRETE - NMT51(MED)=NMT51(MED)+1 - I=I+68 -C DETERMINE THE COSINE OF THE NEUTRON SCATTERING ANGLE IN THE -C CENTER OF MASS COORDINATE SYSTEM - L1=LDICT(I,IIN) - IF(L1.EQ.0)GO TO 150 - LS1=IDICTS(I,IIN)+LMOX2 - LEN=L1 - CALL CANGLE(D(LS1),D(LS1),E,FM(1),LEN) - GO TO 160 -C ASSUME ISOTROPIC IN THE CENTER OF MASS COORDINATE SYSTEM - 150 R=FLTRNF(0) - FM(1)=2.0*R-1.0 -C DETERMINE THE EXIT COLLISION PARAMETERS IN THE LABORATORY -C COORDINATE SYSTEM - 160 ID=I-68 - QI=Q(ID,IIN) - LRI=LR(ID,IIN) - QLRI=QLR(ID,IIN) - CALL CMLABI(D,D,AWRI,KZI,ID,FM(1),QI,IFLG,LIFLAG,LRI) -C Re-sample if no energy determined in CMLABI - IF(IFLG.EQ.-1) GOTO 10 - EP = E - VP = V - UP = U - WP = W - AGEP = AGE - MTP = 51 - CALL STOPAR(IDNEU,NNEU) - IF(LRI.EQ.22)GO TO 520 - IF(LRI.EQ.23)GO TO 530 - IF(LRI.EQ.28)GO TO 540 - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SGNISD) - RETURN - 170 SGNISD=0.0 - 180 CONTINUE -C DISCRETE INELASTIC SCATTERING LEVEL WAS NOT CHOSEN -C DETERMINE (N,N"-CONTINUUM) CROSS SECTION (MT-91) - ID=54 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 210 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SGNISC) - SUMIS=SUMIS+SGNISC/SIGNIS*FSUMIS - IF(R.GT.SUMIS)GO TO 220 -C REACTION TYPE IS (N,N") CONTINUUM - NMT91(MED)=NMT91(MED)+1 -C DETERMINE THE COSINE OF THE NEUTRON SCATTERING ANGLE IN THE -C LABORATORY COORDINATE SYSTEM - L1=LDICT(122,IIN) - IF(L1.EQ.0)GO TO 190 - LS1=IDICTS(122,IIN)+LMOX2 - LEN=L1 - CALL CANGLE(D(LS1),D(LS1),E,FM(1),LEN) - GO TO 200 -C ASSUME ISOTROPIC IN THE LABORATORY COORDINATE SYSTEM - 190 CALL GTISO(U1,V1,W1) - U=U1 - V=V1 - W=W1 - LIFLAG=1 -C DETERMINE THE EXIT NEUTRON ENERGY IN THE LABORATORY -C COORDINATE SYSTEM - 200 L1=LDICT(133,IIN) - IF(L1.EQ.0)GO TO 230 - LS1=IDICTS(133,IIN)+LMOX2 - CALL SECEGY(EX,D(LS1),E,D(LS1)) - E=EX - IFLG=1 -C DETERMINE THE EXIT COLLISION PARAMETERS IN THE LABORATORY -C COORDINATE SYSTEM - QI=Q(ID,IIN) - LRI=LR(ID,IIN) - QLRI=QLR(ID,IIN) - CALL CMLABI(D,D,AWRI,KZI,ID,FM(1),QI,IFLG,LIFLAG,LRI) -C Re-sample if no energy determined in CMLABI - IF(IFLG.EQ.-1) GOTO 10 - EP = E - VP = V - UP = U - WP = W - AGEP = AGE - MTP = 91 - CALL STOPAR(IDNEU,NNEU) - IF(LRI.EQ.22)GO TO 520 - IF(LRI.EQ.23)GO TO 530 - IF(LRI.EQ.28)GO TO 540 - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SGNISC) - RETURN - 210 SGNISC=0.0 - 220 CONTINUE - COMM= ' COLISN: INELASTIC SCATTERING CROSS SECTION WAS NOT CHOSEN' - NMT4(MED)=NMT4(MED)-1 - FSUMIS = 1./SUMIS - GO TO 550 - 230 CONTINUE - COMM=' COLISN: NO SECONDARY ENERGY DISTRIBUTION WAS FOUND MT-91' - ISTOP=1 - GO TO 560 - 240 SIGNIS=0.0 - 250 CONTINUE -C DETERMINE (N,2N) CROSS SECTION (MT-16) - ID=8 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 290 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGN2N) - SUMS=SUMS+SIGN2N/SIGTNS*FSUMS - IF(R.GT.SUMS)GO TO 300 -C REACTION TYPE IS (N,2N) - NMT16(MED)=NMT16(MED)+1 -C USE THE ONE NEUTRON EMISSION MODEL AND MULTIPLY THE -C WEIGHT BY TWO -C changed to 2 neutron production CZ July 30, 1992 -CZ WATE=2.0*WATE -C DETERMINE THE COSINE OF THE NEUTRON SCATTERING ANGLE IN THE -C LABORATORY COORDINATE SYSTEM - L1=LDICT(72,IIN) - IF(L1.EQ.0)GO TO 260 - LS1=IDICTS(72,IIN)+LMOX2 - LEN=L1 -C get scattering angle for 1. neutron - CALL CANGLE(D(LS1),D(LS1),E,FM(1),LEN) -C get scattering angle for 2. neutron - CALL CANGLE(D(LS1),D(LS1),E,FM(2),LEN) - GO TO 270 -C ASSUME ISOTROPIC IN THE LABORATORY COORDINATE SYSTEM - 260 CONTINUE - IFLG=1 -C DETERMINE THE EXIT NEUTRON ENERGY IN THE LABORATORY -C COORDINATE SYSTEM - 270 INEU = 2 - L1=LDICT(123,IIN) - IF(L1.EQ.0)GO TO 280 - LS1=IDICTS(123,IIN)+LMOX2 - CALL GETENE(E,D(LS1),D(LS1),INEU) -C DETERMINE THE EXIT COLLISION PARAMETERS IN THE LABORATORY -C COORDINATE SYSTEM - QI=Q(ID,IIN) - CALL N2NN3N(D,D,AWRI,KZI,ID,FM,QI,IFLG) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGN2N) - RETURN - 280 CONTINUE - COMM=' COLISN: NO SECONDARY ENERGY DISTRIBUTION WAS FOUND MT-16' - ISTOP=1 - GO TO 560 - 290 SIGN2N=0.0 - 300 CONTINUE -C DETERMINE (N,3N) CROSS SECTION (MT-17) - ID=9 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 350 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGN3N) - SUMS=SUMS+SIGN3N/SIGTNS*FSUMS - IF(R.GT.SUMS)GO TO 360 -C REACTION TYPE IS (N,3N) - NMT17(MED)=NMT17(MED)+1 -C USE THE ONE NEUTRON EMISSION MODEL AND MULTIPLY THE -C WEIGHT BY THREE -C changed to 3 neutron production CZ July 30,1992 -CZ WATE=3.0*WATE -C DETERMINE THE COSINE OF THE NEUTRON SCATTERING ANGLE IN THE -C LABORATORY COORDINATE SYSTEM - L1=LDICT(73,IIN) - IF(L1.EQ.0)GO TO 320 - LS1=IDICTS(73,IIN)+LMOX2 - LEN=L1 - DO 310 KN=1,3 - CALL CANGLE(D(LS1),D(LS1),E,FM(KN),LEN) - 310 CONTINUE - GO TO 330 -C ASSUME ISOTROPIC IN THE LABORATORY COORDINATE SYSTEM - 320 CONTINUE - IFLG=1 -C DETERMINE THE EXIT NEUTRON ENERGY IN THE LABORATORY -C COORDINATE SYSTEM - 330 L1=LDICT(124,IIN) - IF(L1.EQ.0)GO TO 340 - LS1=IDICTS(124,IIN)+LMOX2 - INEU = 3 - CALL GETENE(E,D(LS1),D(LS1),INEU) -C DETERMINE THE EXIT COLLISION PARAMETERS IN THE LABORATORY -C COORDINATE SYSTEM - QI=Q(ID,IIN) - CALL N2NN3N(D,D,AWRI,KZI,ID,FM,QI,IFLG) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGN3N) - RETURN - 340 CONTINUE - COMM= ' COLISN; NO SECONDARY ENERGY DISTRIBUTION WAS FOUND MT-17' - ISTOP=1 - GO TO 560 - 350 SIGN3N=0.0 - 360 CONTINUE -C DETERMINE (N,N"A) CROSS SECTION (MT-22) - ID=11 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 400 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNNA) - SUMS=SUMS+SIGNNA/SIGTNS*FSUMS - IF(R.GT.SUMS)GO TO 410 -C REACTION TYPE IS (N,N"A) - NMT22(MED)=NMT22(MED)+1 -C DETERMINE THE COSINE OF THE NEUTRON SCATTERING ANGLE IN THE -C LABORATORY COORDINATE SYSTEM - L1=LDICT(75,IIN) - IF(L1.EQ.0)GO TO 370 - LS1=IDICTS(75,IIN)+LMOX2 - LEN=L1 - CALL CANGLE(D(LS1),D(LS1),E,FM(1),LEN) - GO TO 380 -C ASSUME ISOTROPIC IN THE LABORATORY COORDINATE SYSTEM - 370 CALL GTISO(U1,V1,W1) - U=U1 - V=V1 - W=W1 - LIFLAG=1 -C DETERMINE THE EXIT NEUTRON ENERGY IN THE LABORATORY -C COORDINATE SYSTEM - 380 L1=LDICT(126,IIN) - IF(L1.EQ.0)GO TO 390 - LS1=IDICTS(126,IIN)+LMOX2 - CALL SECEGY(EX,D(LS1),E,D(LS1)) - E=EX - IFLG=1 -C DETERMINE THE EXIT COLLISION PARAMETERS IN THE LABORATORY -C COORDINATE SYSTEM - QI=Q(ID,IIN) - LRI=22 - CALL CMLABI(D,D,AWRI,KZI,ID,FM(1),QI,IFLG,LIFLAG,LRI) -C Re-sample if no energy determined in CMLABI - IF(IFLG.EQ.-1) GOTO 10 - UP = U - VP = V - WP = W - EP = E - AGEP = AGE - MTP = 22 - CALL STOPAR(IDNEU,NNEU) - KZ1=2 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AA - A2=ATAR-AA - Z1=ZA - Z2=A2*9.31075E+08 - MT=22 - CALL NN2BOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNNA) - RETURN - 390 CONTINUE - COMM=' COLISN; NO SECONDARY ENERGY DISTRIBUTION WAS FOUND MT-22' - ISTOP=1 - GO TO 560 - 400 SIGNNA=0.0 - 410 CONTINUE -C DETERMINE (N,2NA) CROSS SECTION (MT-24) - ID=12 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 450 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SGN2NA) - SUMS=SUMS+SGN2NA/SIGTNS*FSUMS - IF(R.GT.SUMS)GO TO 460 -C REACTION TYPE IS (N,2NA) - NMT24(MED)=NMT24(MED)+1 -C USE THE ONE NEUTRON EMISSION MODEL AND MULTIPLY THE -C WEIGHT BY TWO -C changed to 2 neutron production CZ July 30,1992 -CZ WATE=2.0*WATE -C DETERMINE THE COSINE OF THE NEUTRON SCATTERING ANGLE IN THE -C LABORATORY COORDINATE SYSTEM - L1=LDICT(76,IIN) - IF(L1.EQ.0)GO TO 420 - LS1=IDICTS(76,IIN)+LMOX2 - LEN=L1 - CALL CANGLE(D(LS1),D(LS1),E,FM(1),LEN) - CALL CANGLE(D(LS1),D(LS1),E,FM(2),LEN) - GO TO 430 -C ASSUME ISOTROPIC IN THE LABORATORY COORDINATE SYSTEM - 420 CONTINUE - IFLG=1 -C DETERMINE THE EXIT NEUTRON ENERGY IN THE LABORATORY -C COORDINATE SYSTEM - 430 L1=LDICT(127,IIN) - IF(L1.EQ.0)GO TO 440 - LS1=IDICTS(127,IIN)+LMOX2 - INEU=2 - CALL GETENE(E,D(LS1),D(LS1),INEU) -C DETERMINE THE EXIT COLLISION PARAMETERS IN THE LABORATORY -C COORDINATE SYSTEM - QI=Q(ID,IIN) - CALL N2NN3N(D,D,AWRI,KZI,ID,FM,QI,IFLG) - KZ1=2 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AA - A2=ATAR-AN-AA - Z1=ZA - Z2=A2*9.31075E+08 - MT=24 - CALL NN2BOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SGN2NA) - RETURN - 440 CONTINUE - COMM=' COLISN; NO SECONDARY ENERGY DISTRIBUTION WAS FOUND MT-24' - ISTOP=1 - GO TO 560 - 450 SGN2NA=0.0 - 460 CONTINUE -C DETERMINE (N,N"P) CROSS SECTION (MT-28) - ID=13 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 500 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNNP) - SUMS=SUMS+SIGNNP/SIGTNS*FSUMS - IF(R.GT.SUMS)GO TO 510 -C REACTION TYPE IS (N,N"P) - NMT28(MED)=NMT28(MED)+1 -C DETERMINE THE COSINE OF THE NEUTRON SCATTERING ANGLE IN THE -C LABORATORY COORDINATE SYSTEM - L1=LDICT(77,IIN) - IF(L1.EQ.0)GO TO 470 - LS1=IDICTS(77,IIN)+LMOX2 - LEN=L1 - CALL CANGLE(D(LS1),D(LS1),E,FM(1),LEN) - GO TO 480 -C ASSUME ISOTROPIC IN THE LABORATORY COORDINATE SYSTEM - 470 CALL GTISO(U1,V1,W1) - U=U1 - V=V1 - W=W1 - LIFLAG=1 -C DETERMINE THE EXIT NEUTRON ENERGY IN THE LABORATORY -C COORDINATE SYSTEM - 480 L1=LDICT(128,IIN) - IF(L1.EQ.0)GO TO 490 - LS1=IDICTS(128,IIN)+LMOX2 - CALL SECEGY(EX,D(LS1),E,D(LS1)) - E=EX - IFLG=1 -C DETERMINE THE EXIT COLLISION PARAMETERS IN THE LABORATORY -C COORDINATE SYSTEM - QI=Q(ID,IIN) - LRI=28 - CALL CMLABI(D,D,AWRI,KZI,ID,FM(1),QI,IFLG,LIFLAG,LRI) -C Re-sample if no energy determined in CMLABI - IF(IFLG.EQ.-1) GOTO 10 - EP = E - UP = U - VP = V - WP = W - AGEP = AGE - MTP = 28 - CALL STOPAR(IDNEU,NNEU) - KZ1=1 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AP - A2=ATAR-AP - Z1=ZP - Z2=A2*9.31075E+08 - MT=28 - CALL NN2BOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNNP) - RETURN - 490 CONTINUE - COMM=' COLISN; NO SECONDARY ENERGY DISTRIBUTION FOUND FOR MT-28' - SIGREC=SIGTNS - SUMREC=SUMS - ISTOP=1 - GO TO 560 - 500 SIGNNP=0.0 - 510 CONTINUE - FSUMS = 1./SUMS - GO TO 550 - 520 CONTINUE -C REACTION TYPE IS (N,N"A) USING LR FLAG - NMT22(MED)=NMT22(MED)+1 - SIGNNA=SGNISD - IF(ID.EQ.54)SIGNNA=SGNISC - KZ1=2 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AA - A2=ATAR-AA - Z1=ZA - Z2=A2*9.31075E+08 - MT=22 - CALL LR2BOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,QLRI,ID,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNNA) - RETURN - 530 CONTINUE -C REACTION TYPE IS (N,N"3A) USING LR FLAG -C CARBON-12 IS CURRENTLY THE ONLY ELEMENT CONTAINING MT-23 - NMT23(MED)=NMT23(MED)+1 - SGNN3A=SGNISD - IF(ID.EQ.54)SGNN3A=SGNISC - KZ1=2 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AA - A2=ATAR-AA - Z1=ZA - Z2=A2*9.31075E+08 -C QBE8 IS THE MASS DIFFERENCE FOR A CARBON-ALPHA EMISSION - MT=23 - CALL LR2BOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,QBE8,ID,MT) - KZ1=2 - KZ2=KZ2-KZ1 - ATAR=AWRI*AN - A1=AA - A2=A2-AA - Z1=ZA - Z2=A2*9.31075E+08 - MT=23 - CALL LR2BOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QBE8,QLRI,ID,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SGNN3A) - RETURN - 540 CONTINUE -C REACTION TYPE IS (N,N"P) USING LR FLAG - NMT28(MED)=NMT28(MED)+1 - SIGNNP=SGNISD - IF(ID.EQ.54)SIGNNP=SGNISC - KZ1=1 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AP - A2=ATAR-AP - Z1=ZP - Z2=A2*9.31075E+08 - MT=28 - CALL LR2BOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,QLRI,ID,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNNP) - RETURN - 550 ITRY=ITRY+1 - NSEI(IIN)=NSEI(IIN)-1 - ISTOP = 1 - IF((FSUMS.GT.0.1.AND.FSUMS.LE.10.0).AND. - + (FSUMIS.GT.0.1.AND.FSUMIS.LE.10.0)) ISTOP = 0 - IF(ISTOP.EQ.0.AND.ITRY.LE.5) GOTO 20 -C A SCATTERING REACTION WAS NOT CHOSEN - COMM=' COLISN: A SCATTERING REACTION TYPE WAS NOT CHOSEN ' - SIGREC=SIGTNS - SUMREC=SUMS - GOTO 980 - 560 CONTINUE - IF(ISTOP.EQ.1)GO TO 980 - ITRY=0 - GO TO 20 -C THE REACTION TYPE IS AN ABSORPTION - 570 NAEI(IIN)=NAEI(IIN)+1 - R=FLTRNF(0) -C DETERMINE THE FISSION CROSS SECTION (MT-18) -C THE TREATMENT OF THE FISSION REACTION ASSUMES THE FISSION -C CROSS SECTION IS STORED AS NUBAR*SIGF - ID=10 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 640 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNF) -C DETERMINE THE AVERAGE NUMBER OF NEUTRONS EMITTED PER FISSION -C EVENT (NUBAR) - L1=LDICT(134,IIN) - IF(L1.EQ.0)GO TO 630 - LS1=IDICTS(134,IIN)+LMOX2 - LEN=L1 - CALL GETNU(D(LS1),D(LS1),EOLD,LEN,XNU) -C EXTRACT THE FISSION CROSS SECTION FROM THE NUBAR*SIGF CROSS -C SECTION STORED IN POSITION 10 OF THE DICTIONARY - SIGNF=SIGNF/XNU - SUMA=SIGNF/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 650 -C THE REACTION TYPE IS (N,F) - NMT18(MED)=NMT18(MED)+1 - WATE = 0.0 -C DETERMINE THE COSINE OF THE NEUTRON SCATTERING ANGLE IN THE -C LABORATORY COORDINATE SYSTEM -C changed in order to get N fission neutron CZ July 30,1992 -C INEU is poisson distributed with mean XNU - 580 CALL G3POISS(XNU,INEU,1) - IF(INEU.GT.INT(4.*XNU)) GOTO 580 -C check for maximum number of neutrons emitted - IF(INEU.GT.INT(AWRI)-KZ(MED)) INEU = INT(AWRI) - KZ(MED) - IF(INEU.GT.MAXNEU) INEU = MAXNEU - L1=LDICT(74,IIN) - IF(L1.EQ.0)GO TO 600 - LS1=IDICTS(74,IIN)+LMOX2 - LEN=L1 - DO 590 KN=1,INEU - CALL CANGLE(D(LS1),D(LS1),E,FM(KN),LEN) - 590 CONTINUE - GO TO 610 -C ASSUME ISOTROPIC IN THE LABORATORY COORDINATE SYSTEM - 600 CONTINUE - LIFLAG=1 -C DETERMINE THE EXIT NEUTRON ENERGY IN THE LABORATORY -C COORDINATE SYSTEM - 610 L1=LDICT(125,IIN) - IF(L1.EQ.0)GO TO 620 - LS1=IDICTS(125,IIN)+LMOX2 - IF(INEU.GT.0) CALL GETENE(E,D(LS1),D(LS1),INEU) -C DETERMINE THE EXIT NEUTRON WEIGHT FROM THE AVERAGE NUMBER -C OF NEUTRONS EMITTED PER FISSION REACTION (NU) -C changed CZ July 30,1992 -CZ WATE=WATE*XNU -C DETERMINE THE EXIT COLLISION PARAMETERS IN THE LABORATORY -C COORDINATE SYSTEM - QI=Q(ID,IIN) - IF(INEU.GT.0) CALL LABNF(D,D,FM,AWRI,KZI,QI,LIFLAG) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNF) - NPSCL(3)=NPSCL(3)+1 - CALL BANKR(D,D,3) - RETURN - 620 CONTINUE - COMM=' COLISN: NO SECONDARY ENERGY DISTRIBUTION FOUND FOR MT-18' - SIGREC=SIGNF - SUMREC=SUMA - ISTOP=1 - GO TO 970 - 630 CONTINUE - COMM=' COLISN: NO NUMBER OF FISSION NEUTRON FOUND FOR MT-18' - SIGREC=SIGNF - SUMREC=SUMA - ISTOP=1 - GO TO 970 - 640 SIGNF=0.0 - 650 CONTINUE -C DETERMINE (N,G) CROSS SECTION (MT-102) - ID=55 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 660 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNG) - SUMA=SUMA+SIGNG/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 670 -C THE REACTION TYPE IS (N,G) - NMT102(MED)=NMT102(MED)+1 - QI=Q(ID,IIN) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNG) - MT=102 - CALL NGHEVY(D,D,KZI,AWRI,QI,MT) - WATE=0.0 - RETURN - 660 SIGNG=0.0 - 670 CONTINUE -C DETERMINE (N,P) CROSS SECTION (MT-103) - ID=56 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 690 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNP) - SUMA=SUMA+SIGNP/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 700 -C THE REACTION TYPE IS (N,P) - NMT103(MED)=NMT103(MED)+1 - QI=Q(ID,IIN) - KZ1=1 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AP - A2=ATAR+AN-AP - Z1=ZP - Z2=A2*9.31075E+08 - MT=103 - IF(KZI.EQ.6)GO TO 680 - CALL TWOBOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNP) - WATE=0.0 - RETURN - 680 CALL GRNDST(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - WATE=0.0 - RETURN - 690 SIGNP=0.0 - 700 CONTINUE -C DETERMINE (N,D) CROSS SECTION (MT-104) - ID=57 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 720 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGND) - SUMA=SUMA+SIGND/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 730 -C THE REACTION TYPE IS (N,D) - NMT104(MED)=NMT104(MED)+1 - QI=Q(ID,IIN) - KZ1=1 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AD - A2=ATAR+AN-AD - Z1=ZD - Z2=A2*9.31075E+08 - MT=104 - IF((KZI.EQ.5).OR.(KZI.EQ.6))GO TO 710 - IF((KZI.EQ.8).OR.(KZI.EQ.13))GO TO 710 - IF((KZI.EQ.14).OR.(KZI.EQ.20))GO TO 710 - CALL TWOBOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGND) - WATE=0.0 - RETURN - 710 CALL GRNDST(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - WATE=0.0 - RETURN - 720 SIGND=0.0 - 730 CONTINUE -C DETERMINE (N,T) CROSS SECTION (MT-105) - ID=58 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 750 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNT) - SUMA=SUMA+SIGNT/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 760 -C THE REACTION TYPE IS (N,T) - NMT105(MED)=NMT105(MED)+1 - QI=Q(ID,IIN) - KZ1=1 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AT - A2=ATAR+AN-AT - Z1=ZT - Z2=A2*9.31075E+08 - MT=105 - IF((KZI.EQ.5).OR.(KZI.EQ.13))GO TO 740 - IF(KZI.EQ.20)GO TO 740 - CALL TWOBOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNT) - WATE=0.0 - RETURN - 740 CALL GRNDST(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - WATE=0.0 - RETURN - 750 SIGNT=0.0 - 760 CONTINUE -C DETERMINE (N,3HE) CROSS SECTION (MT-106) - ID=59 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 780 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SGN3HE) - SUMA=SUMA+SGN3HE/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 790 -C THE REACTION TYPE IS (N,3HE) - NMT106(MED)=NMT106(MED)+1 - QI=Q(ID,IIN) - KZ1=2 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AHE3 - A2=ATAR+AN-AHE3 - Z1=ZHE3 - Z2=A2*9.31075E+08 - MT=106 - IF(KZI.EQ.20)GO TO 770 - CALL TWOBOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SGN3HE) - WATE=0.0 - RETURN - 770 CALL GRNDST(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - WATE=0.0 - RETURN - 780 SGN3HE=0.0 - 790 CONTINUE -C DETERMINE (N,A) CROSS SECTION (MT-107) - ID=60 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 810 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNA) - SUMA=SUMA+SIGNA/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 820 -C THE REACTION TYPE IS (N,A) - NMT107(MED)=NMT107(MED)+1 - QI=Q(ID,IIN) - KZ1=2 - KZ2=KZI-KZ1 - ATAR=AWRI*AN - A1=AA - A2=ATAR+AN-AA - Z1=ZA - Z2=A2*9.31075E+08 - MT=107 - IF((KZI.EQ.6).OR.(KZI.EQ.13))GO TO 800 - CALL TWOBOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNA) - WATE=0.0 - RETURN - 800 CALL GRNDST(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - WATE=0.0 - RETURN - 810 SIGNA=0.0 - 820 CONTINUE -C DETERMINE (N,2A) CROSS SECTION (MT-108) - ID=61 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 840 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGN2A) - SUMA=SUMA+SIGN2A/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 850 -C THE REACTION TYPE IS (N,2A) - NMT108(MED)=NMT108(MED)+1 - QI=Q(ID,IIN) - KZ1=2 - KZ2=KZI-2*KZ1 - ATAR=AWRI*AN - A1=AA - A2=ATAR+AN-AA - Z1=ZA - Z2=A2*9.31075E+08 - MT=108 -C USE THE ONE PARTICLE EMISSION MODEL AND MULTIPLY THE -C WEIGHT BY TWO - IF((KZI.EQ.7).OR.(KZI.EQ.20))GO TO 830 - CALL TWOBOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGN2A) - WATE=0.0 - RETURN - 830 CALL GRNDST(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - WATE=0.0 - RETURN - 840 SIGN2A=0.0 - 850 CONTINUE -C DETERMINE (N,3A) CROSS SECTION (MT-109) - ID=62 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 860 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGN3A) - SUMA=SUMA+SIGN3A/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 870 -C THE REACTION TYPE IS (N,3A) - NMT109(MED)=NMT109(MED)+1 - QI=Q(ID,IIN) - KZ1=2 - KZ2=KZI-3*KZ1 - ATAR=AWRI*AN - A1=AA - A2=ATAR+AN-AA - Z1=ZA - Z2=A2*9.31075E+08 - MT=109 -C USE THE ONE PARTICLE EMISSION MODEL AND MULTIPLY THE -C WEIGHT BY THREE - CALL TWOBOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGN3A) - WATE=0.0 - RETURN - 860 SIGN3A=0.0 - 870 CONTINUE -C DETERMINE (N,2P) CROSS SECTION (MT-111) - ID=63 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 890 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGN2P) - SUMA=SUMA+SIGN2P/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 900 -C THE REACTION TYPE IS (N,2P) - NMT111(MED)=NMT111(MED)+1 - QI=Q(ID,IIN) - KZ1=1 - KZ2=KZI-2*KZ1 - ATAR=AWRI*AN - A1=AP - A2=ATAR+AN-AP - Z1=ZP - Z2=A2*9.31075E+08 - MT=111 -C USE THE ONE PARTICLE EMISSION MODEL AND MULTIPLY THE -C WEIGHT BY TWO - IF(KZI.EQ.20)GO TO 880 - CALL TWOBOD(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGN2P) - WATE=0.0 - RETURN - 880 CALL GRNDST(D,D,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,QI,MT) - WATE=0.0 - RETURN - 890 SIGN2P=0.0 - 900 CONTINUE -C DETERMINE (N,PA) CROSS SECTION (MT-112) - ID=64 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 910 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SIGNPA) - SUMA=SUMA+SIGNPA/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 920 -C THE REACTION TYPE IS (N,PA) - NMT112(MED)=NMT112(MED)+1 - QI=Q(ID,IIN) - KZ1=1 - KZ2=2 - KZ3=KZI-KZ1-KZ2 - ATAR=AWRI*AN - A1=AP - A2=AA - A3=ATAR+AN-A1 - Z1=ZP - Z2=ZA - Z3=A3*9.31075E+08 - MT=112 -CZ July 30,1992 Three-Body process added ---- - CALL TREBOD(D,D,KZ1,KZ2,KZ3,A1,A2,A3,Z1,Z2,Z3,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGNPA) - WATE=0.0 - RETURN - 910 SIGNPA=0.0 - 920 CONTINUE -C DETERMINE (N,T2A) CROSS SECTION (MT-113) - ID=65 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 930 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SGNT2A) - SUMA=SUMA+SGNT2A/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 940 -C THE REACTION TYPE IS (N,T2A) - NMT113(MED)=NMT113(MED)+1 - QI=Q(ID,IIN) - KZ1=1 - KZ2=2 - KZ3=KZI-KZ1-2*KZ2 - ATAR=AWRI*AN - A1=AT - A2=AA - A3=ATAR+AN-A1 - Z1=ZT - Z2=ZA - Z3=A3*9.31075E+08 - MT=113 -CZ July 30,1992 Three-Body process added ---- - CALL TREBOD(D,D,KZ1,KZ2,KZ3,A1,A2,A3,Z1,Z2,Z3,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SGNT2A) - WATE=0.0 - RETURN - 930 SGNT2A=0.0 - 940 CONTINUE -C DETERMINE (N,D2A) CROSS SECTION (MT-114) - ID=66 - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 950 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,SGND2A) - SUMA=SUMA+SGND2A/SIGTNA*FSUMA - IF(R.GT.SUMA)GO TO 960 -C THE REACTION TYPE IS (N,D2A) - NMT114(MED)=NMT114(MED)+1 - QI=Q(ID,IIN) - KZ1=1 - KZ2=2 - KZ3=KZI-KZ1-2*KZ2 - ATAR=AWRI*AN - A1=AD - A2=AA - A3=ATAR+AN-A1 - Z1=ZD - Z2=ZA - Z3=A3*9.31075E+08 - MT=114 -CZ July 30,1992 Three-Body process added ---- - CALL TREBOD(D,D,KZ1,KZ2,KZ3,A1,A2,A3,Z1,Z2,Z3,ATAR,QI,MT) - CALL PHOTON(D,D,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR, - +IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SGND2A) - WATE=0.0 - RETURN - 950 SGND2A=0.0 - 960 CONTINUE - FSUMA = 1./SUMA - ITRY=ITRY+1 - ISTOP=1 - IF(FSUMA.GT.0.1.AND.FSUMA.LE.10.0) ISTOP=0 - NAEI(IIN)=NAEI(IIN)-1 - IF(ISTOP.EQ.0.AND.ITRY.LE.5)GO TO 20 -C AN ABSORPTION REACTION WAS NOT CHOSEN - COMM=' COLISN:AN ABSORPTION REACTION TYPE WAS NOT CHOSEN ' - SIGREC = SIGTNA - SUMREC = SUMA - GOTO 980 - 970 CONTINUE - IF(ISTOP.EQ.1)GO TO 980 - ITRY=0 - GO TO 20 - 980 CONTINUE - WRITE(IOUT,'(A80,/,I5,F7.1,I4,/,G18.7,I5,3G10.4)') COMM, - + NMED,AWR(IIN),KZ(IIM), - + E,MT, - + SIGT,SIGREC,SUMREC - RETURN - END diff --git a/StarVMC/geant3/neutron/cterp.F b/StarVMC/geant3/neutron/cterp.F deleted file mode 100644 index 961c741eb79..00000000000 --- a/StarVMC/geant3/neutron/cterp.F +++ /dev/null @@ -1,34 +0,0 @@ -* -* $Id: cterp.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: cterp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE CTERP(X1,X2,X,Y1,Y2,Y) -C THIS ROUTINE PERFORMS LINEAR INTERPOLATION - Y=Y2-(X2-X)*(Y2-Y1)/(X2-X1) - RETURN - END diff --git a/StarVMC/geant3/neutron/evaplr.F b/StarVMC/geant3/neutron/evaplr.F deleted file mode 100644 index ed8c7a39498..00000000000 --- a/StarVMC/geant3/neutron/evaplr.F +++ /dev/null @@ -1,72 +0,0 @@ -* -* $Id: evaplr.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: evaplr.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:00 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE EVAPLR(E,Q,SQ,ATAR,CB,EX) -C THIS ROUTINE SAMPLES AN EXIT ENERGY FROM AN -C EVAPORATION SPECTRUM FOR AN LR-FLAG (N,N-PRIME X) REACTION -#include "geant321/minput.inc" - SAVE -C CONVERT THE COULOMB BARRIER (CB) TO UNITS OF EV - CB=CB*1.00E+06 -C SET THE EXCITATION ENERGY (Q) TO ITS ABSOLUTE VALUE - QA=ABS(Q) -C CALCULATE THE MAXIMUM ENERGY AVAILABLE - CBI=CB - EMAX=QA+SQ-CB - IF(EMAX.GT.0.0)GO TO 10 - CB=0.5*CB - EMAX=QA+SQ-CB - IF(EMAX.GT.0.0)GO TO 10 - CB=0.0 - EMAX=QA+SQ-CB - IF(EMAX.GT.0.0)GO TO 10 - WRITE(IOUT,10000)E,EMAX,QA,SQ,CBI -10000 FORMAT(' MICAP: NEGATIVE MAXIMUM ENERGY CALCULATED IN ROUTINE ', - 1'EVAPLR --- INDICATING PROBABLE CROSS SECTION ERROR ALLOWING ', - 2'THE REACTION TO OCCUR',/,10X,'E,EMAX,QA,SQ,CB=',1P5E13.5) - WRITE(6,*) ' CALOR: ERROR in EVAPLR ====> STOP ' - STOP -C CALCULATE THE NUCLEAR TEMPERATURE (THETA) - 10 THETA=4.0161E+03*(SQRT(QA+SQ-CB)/(ATAR**0.8333333)) -C SELECT THE EXIT ENERGY FROM AN EVAPORATION SPECTRUM - 20 R1=FLTRNF(0) - R2=FLTRNF(0) - W=-ALOG(R1*R2) - EX=THETA*W - IF(EX.LE.EMAX)RETURN -C RESAMPLE 75% OF THE TIME IF EX IS GREATER THAN EMAX - R=FLTRNF(0) - IF(R.LE.0.75)GO TO 20 -#if defined(CERNLIB_MDEBUG) - WRITE(IOUT,10100)EX,EMAX -10100 FORMAT(' MICAP: WARNING-EX,EMAX=',1P2E13.5,' IN ROUTINE EVAPLR') -#endif - EX=EMAX - RETURN - END diff --git a/StarVMC/geant3/neutron/fisrnf.F b/StarVMC/geant3/neutron/fisrnf.F deleted file mode 100644 index deaba5050c2..00000000000 --- a/StarVMC/geant3/neutron/fisrnf.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: fisrnf.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: fisrnf.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : -C********************************************************************* - FUNCTION FISRNF(A,B) -C********************************************************************* -C Sample secondary fission neutron energy from Watt spectrum -C taken from ORNL/TM-7631 -C CZ 3/11/92 - DIMENSION RNDM(3) -C - CALL GRNDM(RNDM,3) - Z=SQRT(-ALOG(RNDM(1))) - S=6.28319*RNDM(2) - ALOGR3=ALOG(RNDM(3)) - X=SQRT(A*B)/2. - E1=A*((Z*COS(S)+X)**2-ALOGR3) -C-- E2=A*((Z*SIN(S)+X)**2-ALOGR3) -C distribution of E1 and E2 are identical - FISRNF = E1 - RETURN - END diff --git a/StarVMC/geant3/neutron/fltrnf.F b/StarVMC/geant3/neutron/fltrnf.F deleted file mode 100644 index 57e414c7709..00000000000 --- a/StarVMC/geant3/neutron/fltrnf.F +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: fltrnf.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: fltrnf.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : -C********************************************************************* - FUNCTION FLTRNF(X) -C********************************************************************* -#include "geant321/crandm.inc" - FLTRNF = RANDC(ISEED) - RETURN - END diff --git a/StarVMC/geant3/neutron/getene.F b/StarVMC/geant3/neutron/getene.F deleted file mode 100644 index b14d34bbf3e..00000000000 --- a/StarVMC/geant3/neutron/getene.F +++ /dev/null @@ -1,44 +0,0 @@ -* -* $Id: getene.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: getene.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE GETENE(EN,D1,D2,N) -C sample N times secondary energy distribution and -C store in ENE(*) -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -C - DIMENSION D1(*),D2(*) -C - DO 10 I=1,N - CALL SECEGY(EX,D1,EN,D2) - ENE(I) = EX - 10 CONTINUE - RETURN - END - diff --git a/StarVMC/geant3/neutron/getnu.F b/StarVMC/geant3/neutron/getnu.F deleted file mode 100644 index b93e5352ee2..00000000000 --- a/StarVMC/geant3/neutron/getnu.F +++ /dev/null @@ -1,69 +0,0 @@ -* -* $Id: getnu.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: getnu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE GETNU(D,LD,E,LEN,XNU) -C THIS ROUTINE SELECTS THE AVERAGE NUMBER OF NEUTRONS -C BORN FROM A FISSION REACTION (I.E. NU-BAR) -#include "geant321/minput.inc" - DIMENSION D(*),LD(*),C(4) - SAVE - IP=1 - XNU=0.0 - LNU=LD(IP) - IP=IP+1 - IF(LNU.NE.1)GO TO 30 -C POLYNOMIAL REPRESENTATION USED TO SPECIFY NU-BAR -C INITIALIZE THE POLYNOMIAL COEFFICIENTS TO ZERO - DO 10 I=1,4 - C(I)=0.0 - 10 CONTINUE - NC=LD(IP) - DO 20 I=1,NC - C(I)=D(IP+I) - 20 CONTINUE -C CALCULATE NU-BAR USING POLYNOMIAL COEFFICIENTS - XNU=C(1)+C(2)*E+C(3)*(E**2)+C(4)*(E**3) - RETURN -C TABULATED DATA USED TO SPECIFY NU-BAR -C CURRENT ENDF/B DATA (VERSION V) ALLOWS ONLY ONE -C INTERPOLATION RANGE (NR) AND ONLY LINEAR-LINEAR -C INTERPOLABLE DATA (INT=2) - 30 IF(LNU.NE.2)GO TO 40 - NR=LD(IP) - NP=LD(IP+1) - IP=IP+2*NR+2 -C SELECT NU-BAR FROM THE TABULATED DATA -C LINEAR-LINEAR INTERPOLATION IS ASSUMED AT THIS POINT - CALL TBSPLT(D(IP),E,NP,XNU) - RETURN - 40 WRITE(IOUT,10000)LNU -10000 FORMAT(' MICAP: ERROR IN ROUTINE GETNU; LNU=',I3) - WRITE(6,*) ' CALOR: ERROR in GETNU ====> STOP' - STOP - END diff --git a/StarVMC/geant3/neutron/getpar.F b/StarVMC/geant3/neutron/getpar.F deleted file mode 100644 index 7dd7c417f87..00000000000 --- a/StarVMC/geant3/neutron/getpar.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: getpar.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: getpar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE GETPAR(ID,N,IERR) -C retrieve particle from MPSTOR common -#include "geant321/mconst.inc" -#include "geant321/mpstor.inc" -#include "geant321/minput.inc" - IERR = 0 - NN = 0 - NS = 1 - 10 CONTINUE - IF(IDN(NS).EQ.ID) NN = NN + 1 - IF(N.EQ.NN) GOTO 20 - NS = NS + 1 - IF(NS.GT.NPSTOR) THEN - WRITE(IOUT,'('' MICAP: Cant retrieve particle no. '',I3, ' - + //' '' of type '',I3,''; End of data '')') N,ID - IERR = 1 - RETURN - ENDIF - GOTO 10 - 20 CONTINUE - EP = EN(NS) - UP = UN(NS) - VP = VN(NS) - WP = WN(NS) - AMP = AMN(NS) - ZMP = ZMN(NS) - AGEP = AGEN(NS) - MTP = MTN(NS) - RETURN - END diff --git a/StarVMC/geant3/neutron/grndst.F b/StarVMC/geant3/neutron/grndst.F deleted file mode 100644 index 8a1c5c17a57..00000000000 --- a/StarVMC/geant3/neutron/grndst.F +++ /dev/null @@ -1,192 +0,0 @@ -* -* $Id: grndst.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: grndst.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE GRNDST(D,LD,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,Q,MT) -C THIS ROUTINE CALCULATES THE EXIT ENERGIES AND DIRECTIONAL -C COSINES FOR THE CHARGED PARTICLE AND RECOIL NUCLEUS FOR -C A GROUND STATE TWO-BODY REACTION USING CLASSICAL KINEMATICS -C AND A MOMEMTUM BALANCE. IT ALSO SETS ALL EXIT PARAMETERS FOR -C THE COLLISION PRODUCTS AND STORES THEM IN THE RECOIL BANK. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" - DIMENSION D(*),LD(*) - SAVE - NPN = 1 - IF(MT.EQ.108) NPN = 2 - IF(MT.EQ.109) NPN = 3 - IF(MT.EQ.111) NPN = 2 -C CALCULATE THE CONSTANTS USED IN THE KINEMATIIC EQUATIONS - ZATAR=ATAR*9.31075E+08 - PXO = 0.0 - PYO = 0.0 - PZO = 0.0 -C loop over emmited particles - DO 40 NP=1,NPN -C ASSUME ISOTROPIC CHARGED PARTICLE EMISSION IN THE CENTER -C OF MASS COORDINATE SYSTEM - R=FLTRNF(0) - FM=2.0*R-1.0 -C FOR A GROUND STATE REACTION THE RECOIL MASS IS KNOWN EXACTLY - Z2=ZN+ZATAR-FLOAT(NP)*Z1-Q - A2=Z2/9.31075E+08 - DENOM=(AN+ATAR)*(A1*FLOAT(NP)+A2) - ERATIO=EOLD/(EOLD+Q) - AC=((AN*A2)/DENOM)*ERATIO - BC=((AN*A1)/DENOM)*ERATIO - CC=((ATAR*A1)/DENOM)*(1.0+(AN*Q)/(ATAR*(EOLD+Q))) - DC=((ATAR*A2)/DENOM)*(1.0+(AN*Q)/(ATAR*(EOLD+Q))) -C CALCULATE THE CHARGED PARTICLE AND RECOIL NUCLEUS IN THE -C LABORATORY COORDINATE SYSTEM - E1=(EOLD+Q)*(BC+DC+(2.0*SQRT(AC*CC))*FM) - E2=(EOLD+Q)*(AC+CC-(2.0*SQRT(AC*CC))*FM) -C CALCULATE THE CHARGED PARTICLE ENERGY AND VELOCITY IN THE -C CENTER OF MASS COORDINATE SYSTEM - E1CM=(Z2/(Z1+Z2))*((ZATAR/(ZN+ZATAR))*EOLD+Q) - V1CM=SQRT((2.0*E1CM)/Z1) -C CALCULATE THE VELOCITY OF THE CENTER OF MASS - VCM=SQRT(2.0*ZN*EOLD)/(ZN+ZATAR) -C CONVERT THE COSINE OF THE SCATTERING ANGLE IN THE CENTER OF -C MASS COORDINATE SYSTEM TO THE LABORATORY COORDINATE SYSTEM - FM=(V1CM*FM+VCM)/(SQRT(((V1CM*FM+VCM)**2)+ ((V1CM*(1.0-FM**2)) - + **2))) -C CALCULATE THE CHARGED PARTICLE EXIT DIRECTIONAL COSINES - SINPSI=SQRT(1.0-FM**2) - CALL AZIRN(SINETA,COSETA) - STHETA=1.0-UOLD**2 - IF(STHETA)20,20,10 - 10 STHETA=SQRT(STHETA) - COSPHI=VOLD/STHETA - SINPHI=WOLD/STHETA - GO TO 30 - 20 COSPHI=1.0 - SINPHI=0.0 - STHETA=0.0 - 30 U1=UOLD*FM-COSETA*SINPSI*STHETA - V1=VOLD*FM+UOLD*COSPHI*COSETA*SINPSI-SINPHI*SINPSI*SINETA - W1=WOLD*FM+UOLD*SINPHI*COSETA*SINPSI+COSPHI*SINPSI*SINETA - S=1.0/SQRT(U1**2+V1**2+W1**2) - U1=U1*S - V1=V1*S - W1=W1*S - PPO = SQRT(2.0*Z1*E1) - PXO = PXO + U1*PPO - PYO = PYO + V1*PPO - PZO = PZO + W1*PPO -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ1 - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=A1 - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=0.0 - UNOR=0.0 - VNOR=0.0 - WNOR=0.0 - WTNR=0.0 - QR=Q - UR=U1 - VR=V1 - WR=W1 - ER=E1 -C STORE THE CHARGED PARTICLE IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AMP = AR - ZMP = FLOAT(NZR) - AGEP = AGE - MTP = MT - CALL STOPAR(IDHEVY,NHEVY) - 40 CONTINUE -C CALCULATE THE TOTAL MOMENTUM BEFORE THE COLLISION -C NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM - PI=SQRT(2.0*ZN*EOLD) -C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS - PRX=PI*UOLD-PXO - PRY=PI*VOLD-PYO - PRZ=PI*WOLD-PZO -C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS - PR=SQRT(PRX**2+PRY**2+PRZ**2) -C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES - U2=PRX/PR - V2=PRY/PR - W2=PRZ/PR -C CALCULATE THE RECOIL NUCLEUS EXIT ENERGY - XM = A2 * 931.075E6 - E2 = SQRT(PR**2+XM**2) - XM -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ2 - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=A2 - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=0.0 - UNOR=0.0 - VNOR=0.0 - WNOR=0.0 - WTNR=0.0 - QR=Q - UR=U2 - VR=V2 - WR=W2 - ER=E2 -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AMP = AR - ZMP = FLOAT(NZR) - AGEP = AGE - MTP = MT - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/gtmed.F b/StarVMC/geant3/neutron/gtmed.F deleted file mode 100644 index dd0afd03855..00000000000 --- a/StarVMC/geant3/neutron/gtmed.F +++ /dev/null @@ -1,44 +0,0 @@ -* -* $Id: gtmed.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: gtmed.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE GTMED(MEDGEA,MEDMOR) -#include "geant321/mmicap.inc" -#include "geant321/minput.inc" -C get MICAP material number - DO 10 I=1,MEDIA - IF(LD(LGE2MO+I).EQ.MEDGEA) THEN - MEDMOR = I - GOTO 20 - ENDIF - 10 CONTINUE - WRITE(IOUT,'('' MICAP GTMED: GEANT Medium '',I5, - + '' not found ==> STOP'')') MEDGEA - STOP - 20 RETURN - END diff --git a/StarVMC/geant3/neutron/interp.F b/StarVMC/geant3/neutron/interp.F deleted file mode 100644 index 841a28d0a32..00000000000 --- a/StarVMC/geant3/neutron/interp.F +++ /dev/null @@ -1,56 +0,0 @@ -* -* $Id: interp.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: interp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE INTERP(X,Y,X1,Y1,X2,Y2,INT) -C THIS ROUTINE PERFORMS THE INTERPOLATION ACCORDING -C TO THE ENDF/B INTERPOLATION SCHEME INT -#include "geant321/minput.inc" - SAVE - IF(INT.LT.1.OR.INT.GT.5)GO TO 60 - IF(X2.EQ.X1)GO TO 10 - GO TO (10,20,30,40,50),INT - 10 Y=Y1 - RETURN - 20 Y=Y1+(X-X1)*(Y2-Y1)/(X2-X1) - RETURN - 30 IF(X1.EQ.0.0.OR.X2.EQ.0.0)GO TO 20 - Y=Y1+ALOG(X/X1)*(Y2-Y1)/ALOG(X2/X1) - RETURN - 40 IF(Y1.EQ.0.0.OR.Y2.EQ.0.0)GO TO 20 - Y=Y1*EXP((X-X1)*ALOG(Y2/Y1)/(X2-X1)) - RETURN - 50 IF(Y1.EQ.0.0.OR.Y2.EQ.0.0)GO TO 30 - IF(X1.EQ.0.0.OR.X2.EQ.0.0)GO TO 40 - Y=Y1*EXP(ALOG(X/X1)*ALOG(Y2/Y1)/ALOG(X2/X1)) - RETURN - 60 WRITE(IOUT,10000)INT -10000 FORMAT(' MICAP: INTERP-INVALID INTERPOLATION SCHEME',I11) - WRITE(6,*) ' CALOR: ERROR in INTERP ====> STOP ' - STOP - END diff --git a/StarVMC/geant3/neutron/intsch.F b/StarVMC/geant3/neutron/intsch.F deleted file mode 100644 index 6d167a43f1e..00000000000 --- a/StarVMC/geant3/neutron/intsch.F +++ /dev/null @@ -1,41 +0,0 @@ -* -* $Id: intsch.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: intsch.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:01 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE INTSCH(IFSE,I,IS,NR) -C THIS ROUTINE DETERMINES THE INTERPOLATION SCHEME -C ACCORDING TO ENDF/B-V FORMATTED DATA FILES - DIMENSION IFSE(*) - DO 10 J=1,NR - J1=3+2*(J-1) - NPTS=IFSE(J1) - IF(I.LE.NPTS)GO TO 20 - 10 CONTINUE - 20 IS=IFSE(J1+1) - RETURN - END diff --git a/StarVMC/geant3/neutron/isotpe.F b/StarVMC/geant3/neutron/isotpe.F deleted file mode 100644 index a1daf6caeb9..00000000000 --- a/StarVMC/geant3/neutron/isotpe.F +++ /dev/null @@ -1,96 +0,0 @@ -* -* $Id: isotpe.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: isotpe.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE ISOTPE(D,LD,KM,RHO,IN,IDICTS,LDICT,E,TSIG,NMED, - + IIN,IIM) -C THIS ROUTINE DETERMINES WHICH ISOTOPE HAS BEEN STRUCK -C IN MEDIA NMED -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mmicab.inc" -C - DIMENSION D(*),LD(*),KM(*),RHO(*),IN(*),IDICTS(NNR,NNUC), - + LDICT(NNR,NNUC) - SAVE -C - R=FLTRNF(0) - NOA=0 - SUM=0. -#if defined(CERNLIB_MDEBUG) - DO 10 K=1,NMIX - IF(KM(K).NE.NMED)GO TO 10 -C DETERMINE ISOTOPE NUMBER - K1=IN(K) - K2=K -C DETERMINE TOTAL CROSS SECTION FOR THIS ISOTOPE - LS1=IDICTS(1,K1)+LMOX2 - L1=LDICT(1,K1) - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,X) - SUM=SUM+X*RHO(K) - PRINT *,' ISOTPE: K=',K,' RHO=',RHO(K),' Sig=',X*RHO(K), - + ' SUM=',SUM,' TSIG=',TSIG,' R=',R - 10 CONTINUE - SUM = 0.0 -#endif - 20 DO 30 K=1,NMIX - IF(KM(K).NE.NMED)GO TO 30 -C DETERMINE ISOTOPE NUMBER - K1=IN(K) - K2=K -C DETERMINE TOTAL CROSS SECTION FOR THIS ISOTOPE - LS1=IDICTS(1,K1)+LMOX2 - L1=LDICT(1,K1) - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,X) - SUM=SUM+X*RHO(K) -C CHECK TO SEE IF THIS ISOTOPE WAS HIT - IF(R.LE.SUM/TSIG)GO TO 40 - 30 CONTINUE -C AN ISOTOPE WAS NOT CHOSEN, TRY AGAIN - NOA=NOA+1 - IF(NOA.GT.5)GO TO 50 - SUM=0.0 - R=FLTRNF(0) - GO TO 20 - 40 IIN=K1 - IIM=K2 -#if defined(CERNLIB_MDEBUG) - PRINT *,' Isotope chosen : K=',K -#endif - RETURN - 50 WRITE(IOUT,10000)NMED,TSIG -10000 FORMAT(' MICAP: AN ISOTOPE WAS NOT CHOSEN IN 5 ATTEMPTS IN ', - +'ROUTINE ISOTPE',/,3X,'MEDIUM=',I5,5X,'MACROSCOPIC XSEC=', - +1PE12.4) - WRITE(IOUT,10100)R,SUM,TSIG,X,E,RHO(K2),NMED,K1,K2 -10100 FORMAT('0',1X,1P6E12.4,3I10) - WRITE(6,*) ' CALOR: ERROR in ISOTPE =====> STOP ' - STOP - END diff --git a/StarVMC/geant3/neutron/labnf.F b/StarVMC/geant3/neutron/labnf.F deleted file mode 100644 index 21080579455..00000000000 --- a/StarVMC/geant3/neutron/labnf.F +++ /dev/null @@ -1,135 +0,0 @@ -* -* $Id: labnf.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: labnf.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE LABNF(D,LD,FM,AWR,KZ,Q,LIFLAG) -C THIS ROUTINE CALCULATES THE DIRECTIONAL COSINES FOR THE -C NEUTRON BORN FROM THE FISSION REACTION. THIS VERSION OF -C THE PROGRAM WILL TREAT A FISSION REACTION AS A SCATTERING -C EVENT WITH THE NEUTRON EMERGING WITH A MODIFIED WEIGHT OF -C WATE*NU-BAR. NO PROVISIONS ARE MADE AT THIS TIME TO -C CALCULATE THE FISSION FRAGMENTS PARAMETERS, HOWEVER A HEAVY -C RECOIL ION WILL BE STORED (FOR ANALYSIS PURPOSES) WITH -C ENERGY AND DIRECTION COSINES EQUAL TO ZERO. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" - DIMENSION D(*),LD(*),FM(*) - SAVE - MT=18 -C CALCULATE THE NEUTRON EXIT DIRECTIONAL COSINES - POX = 0.0 - POY = 0.0 - POZ = 0.0 - DO 40 KN=1,INEU - IF(LIFLAG.EQ.1) THEN - CALL GTISO(UP,VP,WP) - ELSE - SINPSI=SQRT(1.0-FM(KN)**2) - CALL AZIRN(SINETA,COSETA) - STHETA=1.0-UOLD**2 - IF(STHETA)20,20,10 - 10 STHETA=SQRT(STHETA) - COSPHI=VOLD/STHETA - SINPHI=WOLD/STHETA - GO TO 30 - 20 COSPHI=1.0 - SINPHI=0.0 - STHETA=0.0 - 30 UP=UOLD*FM(KN)-COSETA*SINPSI*STHETA - VP=VOLD*FM(KN)+UOLD*COSPHI*COSETA*SINPSI-SINPHI* SINPSI* - + SINETA - WP=WOLD*FM(KN)+UOLD*SINPHI*COSETA*SINPSI+COSPHI* SINPSI* - + SINETA - S=1.0/SQRT(UP**2+VP**2+WP**2) - UP=UP*S - VP=VP*S - WP=WP*S - ENDIF - AGEP = AGE - EP = ENE(KN) -C use only first neutron for recoil calculation in order to ensure -C correct recoil nucleus energy spectrum - IF(KN.EQ.1) THEN - PP = SQRT(EP**2 + 2.0*EP*ZN) - POX = POX + PP*UP - POY = POY + PP*VP - POZ = POZ + PP*WP - ENDIF - MTP = MT - CALL STOPAR(IDNEU,NNEU) - 40 CONTINUE -C SET THE HEAVY RECOIL ION PARAMETERS FOR ANALYSIS TAPE - 50 PI=SQRT(2.0*ZN*EOLD) - PIX=PI*UOLD - PIY=PI*VOLD - PIZ=PI*WOLD - PRX=PIX-POX - PRY=PIY-POY - PRZ=PIZ-POZ - PR=SQRT(PRX**2+PRY**2+PRZ**2) - UR=PRX/PR - VR=PRY/PR - WR=PRZ/PR - AR=AWR*AN+AN-INEU*AN - XM=AR*931.075E6 - ER=SQRT(PR**2+XM**2)-XM - EP = ER - UP = UR - VP = VR - WP = WR - AGEP = AGE - MTP = MT - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ - AGER=AGE - NCOLR=NCOL - MTNR=MT - AMP = AR - ZMP = FLOAT(KZ) - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=E - UNOR=U - VNOR=V - WNOR=W - WTNR=WATE - QR=Q -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/lr2bod.F b/StarVMC/geant3/neutron/lr2bod.F deleted file mode 100644 index d63b1db962b..00000000000 --- a/StarVMC/geant3/neutron/lr2bod.F +++ /dev/null @@ -1,202 +0,0 @@ -* -* $Id: lr2bod.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: lr2bod.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE LR2BOD(D,LD,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,Q,SQ,ID,MT) -C THIS ROUTINE CALCULATES THE EXIT ENERGIES AND DIRECTIONAL -C COSINES FOR THE CHARGED PARTICLE AND RECOIL NUCLEUS FOR -C A TWO-BODY REACTION USING AN EVAPORATION SPECTRUM AND -C MOMEMTUM BALANCE. IT ALSO SETS ALL EXIT PARAMETERS FOR -C THE COLLISION PRODUCTS AND STORES THEM IN THE RECOIL BANK. -C THE TWO BODY REACTION RESULTS FROM THE BREAK-UP OF A NUCLEUS -C LEFT IN AN EXCITED STATE BY AN INELASTIC COLLISION -C DESIGNATED BY A LR-FLAG IN THE INELASTIC RESOLVED DATA -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" - DIMENSION D(*),LD(*) - SAVE -C CALCULATE THE CONSTANTS USED IN THE KINEMATIIC EQUATIONS - ZATAR=ATAR*9.31075E+08 -C FOR A CARBON-ALPHA EMISSION THE RECOIL MASS IS KNOWN EXACTLY - IF(KZ1+KZ2.EQ.6)Z2=ZATAR-Z1-SQ - IF(KZ1+KZ2.EQ.6)A2=Z2/9.31075E+08 -C TRANSFER THE RECOILING COMPOUND NUCLEUS PARAMETERS OUT OF -C COMMON RECOIL FOR USE IN THE MOMENTUM BALANCE EQUATIONS - ERCN=ER - URCN=UR - VRCN=VR - WRCN=WR - ARCN=AR - NZRCN=NZR - ZARCN=ARCN*9.31075E+08 - IF(MT.EQ.23)GO TO 10 -C CALCULATE THE COULOMB BARRIER (CB) - CALL BARIER(KZ1,KZ2,A1,A2,CB) -C CALCULATE THE ENERGY AVAILABLE IN THE CENTER OF MASS (EAV) - CALL EVAPLR(E,Q,SQ,ATAR,CB,EX) - EAV=EX+CB - GO TO 30 - 10 IF((ID.EQ.54).AND.(KZ1+KZ2.EQ.6))GO TO 20 - EAV=ABS(Q)+SQ - GO TO 30 - 20 Q=EOLD-E-ERCN - IF(Q.LE.ABS(SQ))Q=7.65300E+06 - EAV=Q+SQ - 30 CONTINUE -C CALCULATE THE CHARGED PARTICLE ENERGY USING CONSERVATION -C OF MOMENTUM (CENTER OF MASS SYSTEM) - E1CM=(A2/(A1+A2))*EAV -C ASSUME ISOTROPIC CHARGED PARTICLE EMISSION IN THE CENTER -C OF MASS COORDINATE SYSTEM - R=FLTRNF(0) - FM=2.0*R-1.0 -C CALCULATE THE VELOCITY OF THE CENTER OF MASS AND THE -C CHARGED PARTICLE IN THE CENTER OF MASS SYSTEM - VCM=SQRT((2.0*ERCN)/ZARCN) - V1CM=SQRT((2.0*E1CM)/Z1) -C CALCULATE THE CHARGED PARTICLE ENERGY IN THE LABORATORY -C COORDINATE SYSTEM - E1=0.5*Z1*(VCM**2+V1CM**2+VCM*V1CM*FM) -C CONVERT THE COSINE OF THE SCATTERING ANGLE IN THE CENTER OF -C MASS COORDINATE SYSTEM TO THE LABORATORY COORDINATE SYSTEM - FM=(V1CM*FM+VCM)/(SQRT(((V1CM*FM+VCM)**2)+((V1CM*(1.0-FM**2)) - 1**2))) -C CALCULATE THE CHARGED PARTICLE EXIT DIRECTIONAL COSINES - SINPSI=SQRT(1.0-FM**2) - CALL AZIRN(SINETA,COSETA) - STHETA=1.0-URCN**2 - IF(STHETA)50,50,40 - 40 STHETA=SQRT(STHETA) - COSPHI=VRCN/STHETA - SINPHI=WRCN/STHETA - GO TO 60 - 50 COSPHI=1.0 - SINPHI=0.0 - STHETA=0.0 - 60 U1=URCN*FM-COSETA*SINPSI*STHETA - V1=VRCN*FM+URCN*COSPHI*COSETA*SINPSI-SINPHI*SINPSI*SINETA - W1=WRCN*FM+URCN*SINPHI*COSETA*SINPSI+COSPHI*SINPSI*SINETA - S=1.0/SQRT(U1**2+V1**2+W1**2) - U1=U1*S - V1=V1*S - W1=W1*S -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ1 - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=A1 - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=E - UNOR=U - VNOR=V - WNOR=W - WTNR=WATE - QR=Q - UR=U1 - VR=V1 - WR=W1 - ER=E1 -C STORE THE CHARGED PARTICLE IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AGEP = AGE - MTP = MT - AMP = AR - ZMP = FLOAT(NZR) - CALL STOPAR(IDHEVY,NHEVY) -C CALCULATE THE TOTAL MOMENTUM BEFORE THE COLLISION -C COMPOUND NUCLEUS MOMENTUM BEFORE THE COLLISION (PI) EQUALS -C THE TOTAL MOMENTUM - PI=SQRT(2.0*ZARCN*ERCN) -C CALCULATE THE TOTAL MOMEMTUM OF THE EXIT CHARGED PARTICLE - PO=SQRT(2.0*Z1*E1) -C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS - PRX=PI*URCN-PO*U1 - PRY=PI*VRCN-PO*V1 - PRZ=PI*WRCN-PO*W1 -C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS - PR=SQRT(PRX**2+PRY**2+PRZ**2) -C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES - U2=PRX/PR - V2=PRY/PR - W2=PRZ/PR -C CALCULATE THE RECOIL NUCLEUS EXIT ENERGY - XM = A2*931.075E6 - E2 = SQRT(PR**2+XM**2) - XM -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ2 - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=A2 - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=E - UNOR=U - VNOR=V - WNOR=W - WTNR=WATE - QR=Q - UR=U2 - VR=V2 - WR=W2 - ER=E2 - IF((KZ2.EQ.4).AND.(MT.EQ.23))RETURN -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AGEP = AGE - MTP = MT - AMP = AR - ZMP = FLOAT(NZR) - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/lrnorm.F b/StarVMC/geant3/neutron/lrnorm.F deleted file mode 100644 index e44ec79eb68..00000000000 --- a/StarVMC/geant3/neutron/lrnorm.F +++ /dev/null @@ -1,61 +0,0 @@ -* -* $Id: lrnorm.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: lrnorm.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE LRNORM(D,LD,IDICTS,LDICT,LR,EOLD,MT,IIN,XSLR) -C THIS ROUTINE IS DESIGNED TO ADJUST THE NEUTRON CROSS SECTION -C USED TO CALCULATE THE PHOTON MULTIPLICITY WHEN THE -C INELASTIC RESOLVED DATA CONTAINS LR-FLAGS DESIGNATING -C CHARGED PARTICLE EMISSION -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mcross.inc" -#include "geant321/mmicab.inc" - DIMENSION D(*),LD(*),IDICTS(NNR,NNUC),LDICT(NNR,NNUC), - +LR(NQ,NNUC) - SAVE -C INITIALIZE VARIABLES USED IN THE CALCULATION - SUM=0.0 - SUM4=SIGNIS -C DETERMINE (N,N") CROSS SECTION AND LR-FLAG - DO 10 I=14,54 - L1=LDICT(I,IIN) - IF(L1.EQ.0)GO TO 10 - LS1=IDICTS(I,IIN)+LMOX2 - LEN=L1/2 - CALL XSECNU(D,LEN,EOLD,SIG,LS1,L1) - LRI=LR(I,IIN) - IF(LRI.EQ.MT)SUM=SUM+SIG - IF(LRI.EQ.22)SUM4=SUM4-SIG - IF(LRI.EQ.23)SUM4=SUM4-SIG - IF(LRI.EQ.28)SUM4=SUM4-SIG - 10 CONTINUE - XSLR=SUM - IF(MT.EQ.4)XSLR=SUM4 - RETURN - END diff --git a/StarVMC/geant3/neutron/matiso.F b/StarVMC/geant3/neutron/matiso.F deleted file mode 100644 index 5d8e35d1ea9..00000000000 --- a/StarVMC/geant3/neutron/matiso.F +++ /dev/null @@ -1,82 +0,0 @@ -* -* $Id: matiso.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: matiso.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE MATISO(IZ,IA,NI,IDISO,FSINGL,NUNIT) -C -C Search array MATIDS for the isotopes which have to be taken -C into account for the element described by IZ and IA -C -#include "geant321/mmicap.inc" -#include "geant321/minput.inc" -C - DIMENSION IDISO(20,2) - LOGICAL FSINGL -C - IF(IZ.GT.0.AND.IZ.LE.100.and.MATIDS(IZ,1,1).GT.0) THEN - ID = IZ*1000+IA - IF = 0 - IC = 0 - IDIFF = 1000000 -C -C check first if selected isotope available - DO 10 I=2,MATIDS(IZ,1,1)+1 - IF( MATIDS(IZ,I,1).EQ.ID .AND. - + (MATIDS(IZ,I,2).EQ.100 .OR. FSINGL)) IF = I - IF( IABS(MATIDS(IZ,I,1)-ID).LT.IDIFF) THEN - IDIFF = IABS(MATIDS(IZ,I,1)-ID) - IC = I - ENDIF - IDISO(I-1,1) = MATIDS(IZ,I,1) - IDISO(I-1,2) = MATIDS(IZ,I,2) - 10 CONTINUE - NI = 1 -C the unit number on which the x-section is stored - NUNIT = MATIDS(IZ,1,2) - IF(.NOT. FSINGL) THEN - IF(IF .EQ. 0) THEN -C no matching isotope found. Look for closest one - IF(MATIDS(IZ,2,2).NE.100) NI = MATIDS(IZ,1,1) - ELSE -C matching isotope found - IDISO(1,1) = MATIDS(IZ,IF,1) - IDISO(1,2) = 100 - ENDIF - ELSE - IDISO(1,1) = MATIDS(IZ,IC,1) - IDISO(1,2) = 100 - ENDIF - ELSE - WRITE(IOUT,'('' MATISO: Error in neutron x-section '', - + ''file detected - Z = '',I4)') IZ - WRITE(6,'('' MICAP : Error in x-section file '', - + '' detected -> STOP '')') - STOP - ENDIF - RETURN - END diff --git a/StarVMC/geant3/neutron/micset.F b/StarVMC/geant3/neutron/micset.F deleted file mode 100644 index 4fae25fd179..00000000000 --- a/StarVMC/geant3/neutron/micset.F +++ /dev/null @@ -1,102 +0,0 @@ -* -* $Id: micset.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: micset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE MICSET(MATNO,NKEY,CNAME) -C*********************************************************************** -C set a option in MICAP -C -C INPUT: MATNO - GEANT material number -C NKEY - 0 -> use single isotopes instead of the -C natural composition in material MATNO -C 1 -> use natural composition -C 10-> define additional x-section file (MATNO ignored) -C CNAME - in case NKEY=10 the file name -C -C************************************************************************ -C -#include "geant321/mmicap.inc" -C - INTEGER MATNO,NKEY - CHARACTER*(*) CNAME -C - LOGICAL FIRST,FIRST10 - DATA FIRST/.TRUE./ - DATA FIRST10/.TRUE./ -C - IF(FIRST.AND.NKEY.LT.10) THEN - FIRST = .FALSE. - NWW = 100 - CALL CHKZEB(NWW,IXCONS) - CALL MZLINK(IXCONS,'MICPAR',LMIST,LMIST,LMIST) - CALL MZBOOK(IXCONS,LMIST,0,2,'MIST',0,0,NWW,0,0) - ELSE IF(FIRST10) THEN - FIRST10 = .FALSE. - NFIL = 101 - CALL CHKZEB(NFIL,IXCONS) - CALL MZLINK(IXCONS,'MICFIL',LMIFIL,LMIFIL,LMIFIL) - CALL MZBOOK(IXCONS,LMIFIL,0,2,'MIFL',0,0,NFIL,0,0) - ELSE IF(NKEY.EQ.10) THEN -C increase the bank for the x-section file name - NFIL = 101 + IQ(LMIFIL-1) - CALL CHKZEB(NFIL,IXCONS) - CALL MZPUSH(IXCONS,LMIFIL,0,101,'I') - ENDIF - IF(NKEY.LT.10) THEN -C store MICAP option for material MATNO in bank 'MIST' - 10 CONTINUE - DO 20 I=1,IQ(LMIST-1),2 - IF(IQ(LMIST+I).EQ.MATNO) THEN - IQ(LMIST+I+1) = NKEY - GOTO 30 - ENDIF - IF(IQ(LMIST+I).EQ.0) THEN - IQ(LMIST+I) = MATNO - IQ(LMIST+I+1) = NKEY - GOTO 30 - ENDIF - 20 CONTINUE -C -C Bank got to small, increase the size - NWW = 100 + IQ(LMIST-1) - CALL CHKZEB(NWW,IXCONS) - CALL MZPUSH(IXCONS,LMIST,0,100,'I') - GOTO 10 - ELSE -C store x-section file name in bank 'MIFL' -C find the last free index in the bank - IF(LNBLNK(CNAME).GT.0) THEN - I = LMIFIL+IQ(LMIFIL-1)-100+1 - CALL UCTOH(CNAME,IQ(I),4,LNBLNK(CNAME)) - IQ(I-1) = LNBLNK(CNAME) - ELSE - PRINT*,' MICSET : invalid file name ' - ENDIF - ENDIF - 30 RETURN - END diff --git a/StarVMC/geant3/neutron/moxsec.F b/StarVMC/geant3/neutron/moxsec.F deleted file mode 100644 index 7012407dcfd..00000000000 --- a/StarVMC/geant3/neutron/moxsec.F +++ /dev/null @@ -1,372 +0,0 @@ -* -* $Id: moxsec.F,v 1.1.1.2 2009/02/01 17:10:34 fisyak Exp $ -* -* $Log: moxsec.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:34 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:57 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:57 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE MOXSEC -C************************************************************ -C -C setup cross-section tables for MICAP -C -C Called by: MORINI -C -C INPUT: MICAP element IDs in KE = LD(LFP11) -C element densities in RHO = D (LFP12) -C -C Author : C.Zeitnitz -C -C See USER's GUIDE TO MICAP ORNL/TM-10340 -C for details and pointer description (MPOINT) -C -C************************************************************ -#include "geant321/mmicap.inc" -#include "geant321/minput.inc" -#include "geant321/mpoint.inc" -#include "geant321/mconst.inc" -#include "geant321/cmagic.inc" -C - CHARACTER*80 XSFILE - CHARACTER*70 CCOMM - CHARACTER*11 CGEANT - CHARACTER*4 MARK - CHARACTER*20 MATNAM - INTEGER INEL(134) - LOGICAL NOHED,XSTOP -C -C CALCULATE THE NUMBER OF ELEMENTS (NNUC) -C AND GENERATE THE ISOTOPE NUMBER ARRAY (IN(NMIX)) - NWTOT = 0 - DO 10 I=1,NMIX - LD(LFP17+I-1)=0 - LD(LFP16+I-1)=0 - 10 CONTINUE -C INITIALIZE THE NUMBER OF ELEMENTS (NNUC) - NNUC=0 - DO 30 I=1,NMIX - IF(LD(LFP16+I-1).GT.0)GO TO 30 - NNUC=NNUC+1 - LD(LFP16+I-1)=NNUC - DO 20 J=I+1,NMIX - IF(LD(LFP11+I-1).NE.LD(LFP11+J-1))GO TO 20 - LD(LFP16+J-1)=NNUC - 20 CONTINUE - 30 CONTINUE -C get number of isoptopes from xsection file(s) - LT = LTEMP - NII = 0 - 40 CONTINUE - NUNIT = IQ(LT+NTUNIT) - READ(NUNIT,'(I10)') NIS - NII = NII + NIS - IQ(LT+NTMPNI) = NIS - LT = LQ(LT) - IF(LT.GT.0) GOTO 40 -C allocate needed memory for x-section - NW = 2*NII+13*NNUC+2*NNR*NNUC+4*NGR*NNUC+3*NQ*NNUC+26*MEDIA + 2 - NI = NII - NWTOT = NWTOT + NW - CALL CHKZEB(NW,IXCONS) - CALL MZBOOK(IXCONS,LMOX1,0,2,'MOX1',0,0,NW,0,-1) -C SET UP THE B CONTROL BLOCK LOCATION NUMBER ARRAY ICOM(NNUC) -C LFP170 points to length of x-section data - LFP170 = LMOX1 + 2 - LFP18=LFP170+NNUC - LFP18A=LFP18+NII - LFP19=LFP18A+NII - LFP20=LFP19+NMIX -C SET UP THE ARRAY (IREC(NII)) - CALL XSECN1(NII,D(LFP11),D(LFP16),D(LFP17), - + D(LFP18),D(LFP18A),D(LFP170),D(LFP19), - + D(LFP20),D(LFP20),INEL) -C check if all isotopes have been found in the x-section file(s) - XSTOP = .FALSE. - DO 50 I=1,NMIX - IF(LD(LFP19+I-1).EQ.0) THEN - WRITE(IOUT,10100)LD(LFP19+I-1) -10000 FORMAT(' MICAP: Could not find x-section of element ',I8) - XSTOP = .TRUE. - ENDIF - 50 CONTINUE - IF(XSTOP) THEN - PRINT '('' CALOR : Neutron x-section not found ===> STOP '')' - STOP - ENDIF - LFP21=LFP20+NNUC -C store xs accuracy at LFP210 (used for thinning in XSECN3) - LFP210 = LFP21 + NNUC - LFP22=LFP210+NNUC - LFP23=LFP22+NNUC - LFP24=LFP23+NNUC - LFP25=LFP24+NNUC - LFP26=LFP25+NNUC - LFP27=LFP26+NNR*NNUC - LFP28=LFP27+NNR*NNUC - LFP29=LFP28+NNUC - LFP30=LFP29+NNUC - LFP31=LFP30+NGR*NNUC - LFP32=LFP31+NGR*NNUC - LFP33=LFP32+MEDIA - LFP34=LFP33+MEDIA - LFP35=LFP34+NNUC - LFP36=LFP35+3*NQ*NNUC -C CLEAR THE STORAGE LOCATIONS FOR THE DICTIONARIES, ETC. - CALL CLEAR(D,LFP20,LFP36-1) -C ESTABLISH THE RANDOM WALK STORAGE LOCATIONS - LFP41=LFP36 - LFP42=LFP41+2*NNUC - LFP45=LFP42+24*MEDIA - LFP46=LFP45+NGR*NNUC - NW = 0 - DO 60 INUC=1,NNUC - NW = NW + LD(LFP170+INUC-1) - 60 CONTINUE - NW = NW + 2 - NWTOT = NWTOT + NW - CALL CHKZEB(NW,IXCONS) - CALL MZBOOK(IXCONS,LMOX2,0,2,'MOX2',0,0,NW,0,-1) - LFP43 = LMOX2 + 2 - LAST = LFP43 - 1 - MAXD = LMOX2 + NW -C PLACE THE MICROSCOPIC CROSS SECTION DATA INTO THE CORE - CALL XSECN2(D(LFP17),D(LFP18),D(LFP18A), - + D(LFP20),D(LFP21),D(LFP210),D(LFP22),D(LFP23), - + D(LFP24),D(LFP25),D(LFP26),D(LFP27),D(LFP28), - + D(LFP29),D(LFP30),D(LFP31),D(LFP34),D(LFP35), - + D(LFP35+NQ*NNUC),D(LFP35+2*NQ*NNUC), - + D(LFP43),D(LFP43),MAXD,LAST,INEL) -C determine length needed for macroscopic xs and mixing - NW = 0 - DO 90 IM=1,MEDIA - NM = 0 - LZ = 0 - DO 70 IN=1,NMIX - IF(LD(LFP10+IN-1).NE.IM) GOTO 70 - NM = NM+1 - II = LD(LFP16+IN-1) - LZ = MAX0(LD(LFP27+NNR*(II-1)),LZ) -C LZ = MAX0(LDICT(1,II),LZ) - 70 CONTINUE - IF(NM.GT.1) LZ = 4*LZ - DO 80 J=1,NMIX - IF(LD(LFP10+J-1).NE.IM) GOTO 80 - II = LD(LFP16+J-1) - 80 CONTINUE - NW = NW + LZ - 90 CONTINUE - NW = NW + 2 - NWTOT = NWTOT + NW - CALL CHKZEB(NW,IXCONS) - CALL MZBOOK(IXCONS,LMOX3,0,2,'MOX3',0,0,NW,0,-1) - LAST = LMOX3 + 1 - LFP44=LAST+1 - MAXD = LMOX3+NW -C SET, MIX AND THIN THE TOTAL CROSS SECTIONS -C ACCORDING TO THE MIXING TABLE - CALL XSECN3(D(LFP10),D(LFP11),D(LFP12),D(LFP16),D(LFP26), - + D(LFP27),D(LFP32),D(LFP33),D(LFP44),D(LFP44), - + D,MAXD,LAST) -C ESTABLISH THE PHOTON TOTAL CROSS SECTION DATA DICTIONARY -C STORAGE LOCATIONS -C determine number of words needed for photon production xs - NW = 0 - DO 110 I=1,NNUC - DO 100 J=1,LD(LFP28+I-1) - LZ = LD(LFP31 + 2*J - 1 + NGR*(I-1)) -C LZ = LGCB(2*J,I) - NW = NW + LZ - 100 CONTINUE - 110 CONTINUE - NW = NW + 2*NGR*NNUC+2 - NWTOT = NWTOT + NW + 1 - CALL CHKZEB(NW,IXCONS) - CALL MZBOOK(IXCONS,LMOX4,0,2,'MOX4',0,0,NW,0,-1) - LMAG2 = LMOX4 + 1 - LD(LMAG2) = NMAGIC - LFP45 = LMAG2 + 1 - LFP46 = LFP45 + NGR*NNUC - LFP47 = LFP46 + NGR*NNUC - LAST = LFP47 - 1 - MAXD = LMOX4 + NW -C CLEAR THE STORAGE LOCATIONS FOR THE PHOTON DICTIONARIES -C OF THE TOTAL PHOTON PRODUCTION CROSS SECTIONS - CALL CLEAR(D,LFP45,LFP47-1) -C SUM THE PHOTON PARTIAL DISTRIBUTIONS OF THE ENDF/B-V -C FILE 12 AND FILE 13 DATA (BY MT NUMBER) AND PLACE THESE -C MICROSCOPIC MULTIPLICITIES TIMES CROSS SECTIONS IN CORE - CALL XSECN5(D(LFP28),D(LFP30),D(LFP31),D(LFP45),D(LFP46), - + D(LFP47),D(LFP47),D,D,MAXD,LAST) -C -C print out media to print unit IOUT -C WRITE(IOUT,10000) -10100 FORMAT(23X,'MICAP Material Parameters',/, - + 23X,'-------------------------',/) - WRITE(IOUT,10200) -10200 FORMAT(8X,'GEANT Material Parameters',10X, - + 6X,'MICAP Material Parameters',/, - + 8X,25('-'),10X,6X,25('-')) - WRITE(IOUT,10300) -10300 FORMAT(1X,'Material',16X,'No/Iso',4X,'A',5X,'Z',2X,'|', - + 4X,'A',5X,'Z',3X,'Density', - + 3X,'Coll.Len',/,44('-'),'+',33('-')) - MFLAG = 0 - KMED = 0 - NISO = 1 - DO 130 I=0,NMIX-1 -C get GEANT name of material - MARK = '/ ' - IF(LD(LFP11+I)/1000.NE.LD(LFP13+I)) THEN - MARK = '/ *' - MFLAG=1 - ENDIF - K1 = LD(LFP16+I)-1 - LS1 = LD(LFP26+NNR*K1)+LMOX2 - LEN = LD(LFP27+NNR*K1)/2 - EN = 1.E6 - CALL TBSPLT(D(LS1),EN,LEN,XSEC) - XSEC = 1./XSEC/D(LFP12+I) - IF(LD(LFP140+I).NE.0.) THEN - WRITE(CGEANT,'(F6.1,I5)') D(LFP140+I),LD(LFP13+I) - ELSE - WRITE(CGEANT,'(A11)') ' - -' - ENDIF - IF(KMED.NE.LD(LFP10+I)) THEN - NISO = 1 - CALL G3FMATE(LD(LGE2MO+LD(LFP10+I)),MATNAM,AA,ZZ,DENS, - + RADL,ABSL,UB,NW) - NBLK = LNBLNK(MATNAM) - DO 120 JC=NBLK+1,20 - WRITE(MATNAM(JC:JC),'(A1)') '.' - 120 CONTINUE - WRITE(MARK(2:3),'(I2)') NISO - WRITE(IOUT,10400) MATNAM,LD(LGE2MO+LD(LFP10+I)),MARK, - + CGEANT, - + D(LFP34+LD(LFP16+I)-1)*1.008665, - + LD(LFP11+I)/1000,D(LFP12+I),XSEC - KMED = LD(LFP10+I) - ELSE - WRITE(MARK(2:3),'(I2)') NISO - WRITE(IOUT,10500) LD(LGE2MO+LD(LFP10+I)),MARK,CGEANT, - + D(LFP34+LD(LFP16+I)-1)*1.008665, - + LD(LFP11+I)/1000,D(LFP12+I),XSEC - ENDIF -10400 FORMAT(1X,A20,I6,A4,A11,' |',F6.1,I5,1X,E11.4,1X,E9.3) -10500 FORMAT(1X,20X,I6,A4,A11,' |',F6.1,I5,1X,E11.4,1X,E9.3) - LD(LFP13+I) = LD(LFP11+I)/1000 - NISO = NISO + 1 - 130 CONTINUE - WRITE(IOUT,'(78(''-''),/,48X,''Density in (Atoms/barn/cm)'')') - WRITE(IOUT,'(36X, - + ''Collision Length for 1 MeV neutron in (cm)'',/)') - IF(MFLAG.EQ.1) WRITE(IOUT,'(/, - + 15X,''*******************************************'',/, - + 15X,''* W A R N I N G *'',/, - + 15X,''* Marked isotopes (*) not found in the *'',/, - + 15X,''* cross-section file(s) *'',/, - + 15X,''* Cross-sections of the isotope with *'',/, - + 15X,''* the closest Z will be used instead *'',/, - + 15X,''*******************************************'',/)') -C which x-section files have been used? - LT = LTEMP - LCI = LCISO - LC = 0 - NOHED=.TRUE. - 140 CONTINUE -C first check if x-section file has been used! - NUNIT = IQ(LT+NTUNIT) - DO 150 I=0,NMIX-1 - KISO = LD(LFP16+I) - MISO = LD(LFP17+KISO-1) - IF(NUNIT.EQ.LD(LFP18A+MISO-1)) GOTO 160 - 150 CONTINUE -C unit never used ! - GOTO 190 - 160 CONTINUE -C search for comments for selected isotopes - NCOM = IQ(LCI+1) - DO 180 J=1,NCOM - K = (J-1)*81 + 2 - JZ = IQ(LCI+K) - JA = IQ(LCI+K+1) - CCOMM = ' ' - CALL UHTOC(IQ(LCI+K+2),4,CCOMM,70) - DO 170 I=0,NMIX-1 - KISO = LD(LFP16+I) - IA = NINT(D(LFP34+KISO-1)*1.008665) - IZ = LD(LFP11+I)/1000 - MISO = LD(LFP17+KISO-1) -C print the comment, if the isotope is correct and has been read from -C the current x-section file - IF(IA.EQ.JA .AND. IZ.EQ.JZ .AND. - + NUNIT.EQ.LD(LFP18A+MISO-1)) THEN - IF(NOHED) THEN - WRITE(IOUT,'(/,23X,''COMMENTS ABOUT ISOTOPE DATA'')') - WRITE(IOUT,'( 23X,''---------------------------'',/)') - NOHED = .FALSE. - ENDIF - LC = LC + 1 - WRITE(IOUT,'(I4,'') '',A70)') LC,CCOMM - GOTO 180 - ENDIF - 170 CONTINUE - 180 CONTINUE - 190 LT = LQ(LT) - LCI = LQ(LCI) - IF(LT.GT.0.AND.LCI.GT.0) GOTO 140 -C print the x-section file names and comments - WRITE(IOUT,'(/,20X,''USED NEUTRON CROSS-SECTION FILES'')') - WRITE(IOUT,'( 20X,''--------------------------------'',/)') - LT = LTEMP - 200 CONTINUE -C first check if x-section file has been used! - NUNIT = IQ(LT+NTUNIT) - DO 210 I=0,NMIX-1 - KISO = LD(LFP16+I) - MISO = LD(LFP17+KISO-1) - IF(NUNIT.EQ.LD(LFP18A+MISO-1)) GOTO 220 - 210 CONTINUE -C unit never used ! - GOTO 230 - 220 CONTINUE -C get file name of x-section file - XSFILE = ' ' - COMMEN = ' ' - DATSTR = ' ' - CALL UHTOC(IQ(LT+NTNAME+1),4,XSFILE,IQ(LT+NTNAME)) - CALL UHTOC(IQ(LT+NTCOMM+1),4,COMMEN,IQ(LT+NTCOMM)) - CALL UHTOC(IQ(LT+NTDATS+1),4,DATSTR,IQ(LT+NTDATS)) - WRITE(IOUT,'('' File : '',A66)') XSFILE - WRITE(IOUT,'('' Generated : '',A24,/, - + '' Comment : '',A66,/)') DATSTR,COMMEN - 230 LT = LQ(LT) - IF(LT.GT.0) GOTO 200 - WRITE(IOUT,'(/,'' MICAP :'',I10, - + '' words used in GCBANK for neutron x-section tables''/)') NWTOT - RETURN - END diff --git a/StarVMC/geant3/neutron/n2nn3n.F b/StarVMC/geant3/neutron/n2nn3n.F deleted file mode 100644 index f936e9dd4c8..00000000000 --- a/StarVMC/geant3/neutron/n2nn3n.F +++ /dev/null @@ -1,145 +0,0 @@ -* -* $Id: n2nn3n.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: n2nn3n.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:02 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE N2NN3N(D,LD,AWR,KZ,ID,FM,Q,IFLG) -C THIS ROUTINE CALCULATES THE DIRECTIONAL COSINES FOR THE -C NEUTRON AND RECOIL NUCLEUS FOR AN N2N OR N3N REACTION -C USING THE ONE NEUTRON EMMISION MODEL. IT ALSO SETS ALL -C EXIT PARAMETRS FOR THE RECOIL NUCLEUS. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" - DIMENSION D(*),LD(*),FM(*) - SAVE - MT=0 - IF(ID.EQ.8)MT=16 - IF(ID.EQ.9)MT=17 - IF(ID.EQ.12)MT=24 -C IFLG EQUAL TO ONE IMPLIES THE DIRECTION COSINES WERE -C SELECTED ISOTROPICALLY IN THE LABORATORY COORDINATE SYSTEM -C CALCULATE THE NEUTRON EXIT DIRECTIONAL COSINES - POX = 0.0 - POY = 0.0 - POZ = 0.0 - DO 40 KN=1,INEU - IF(IFLG.EQ.1) THEN - CALL GTISO(UP,VP,WP) - ELSE - SINPSI=SQRT(1.0-FM(KN)**2) - CALL AZIRN(SINETA,COSETA) - STHETA=1.0-UOLD**2 - IF(STHETA)20,20,10 - 10 STHETA=SQRT(STHETA) - COSPHI=VOLD/STHETA - SINPHI=WOLD/STHETA - GO TO 30 - 20 COSPHI=1.0 - SINPHI=0.0 - STHETA=0.0 - 30 UP = UOLD*FM(KN)-COSETA*SINPSI*STHETA - VP = VOLD*FM(KN)+UOLD*COSPHI*COSETA*SINPSI-SINPHI* SINPSI* - + SINETA - WP = WOLD*FM(KN)+UOLD*SINPHI*COSETA*SINPSI+COSPHI* SINPSI* - + SINETA - S=1.0/SQRT(UP*UP+VP*VP+WP*WP) - UP=UP*S - VP=VP*S - WP=WP*S - ENDIF - EP = ENE(KN) -C use ONLY first neutron for recoil calculation in order the ensure -C correct energy spectrum of recoil nucleus - IF(KN.EQ.1) THEN - PP = SQRT(EP**2 + 2.0*EP*ZN) - POX = POX + PP*UP - POY = POY + PP*VP - POZ = POZ + PP*WP - ENDIF - AGEP = AGE - MTP = MT - CALL STOPAR(IDNEU,NNEU) - 40 CONTINUE -C CALCULATE AND SET THE RECOIL NUCLEUS EXIT PARAMETERS - 50 XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ - ZMP = FLOAT(KZ) - AGER=AGE - AGEP = AGE - NCOLR=NCOL - MTNR=MT - MTP = MT - AR = (AWR*AN) - FLOAT(INEU-1)*AN - AMP = AR - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=E - UNOR=U - VNOR=V - WNOR=W - WTNR=WATE - QR=Q -C CALCULATE THE NEUTRON MOMENTUM BEFORE AND AFTER COLLISION -C NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM - PI=SQRT(2.0*ZN*EOLD) -C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS - PIX=PI*UOLD - PIY=PI*VOLD - PIZ=PI*WOLD - PRX = PIX - POX - PRY = PIY - POY - PRZ = PIZ - POZ -C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS - PR=SQRT(PRX**2+PRY**2+PRZ**2) -C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES - UR=PRX/PR - VR=PRY/PR - WR=PRZ/PR - UP = UR - VP = VR - WP = WR -C CALCULATE THE RECOIL NUCLEUS EXIT ENERGY - XM = AR*931.075E6 - ER= SQRT(PR**2 + XM**2) - XM - EP = ER - MTP = MT -C IF MT=24, DO NOT STORE THE RECOIL HEAVY ION IN THE BANK - IF(MT.EQ.24)RETURN -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/nghevy.F b/StarVMC/geant3/neutron/nghevy.F deleted file mode 100644 index ceddfa3184a..00000000000 --- a/StarVMC/geant3/neutron/nghevy.F +++ /dev/null @@ -1,95 +0,0 @@ -* -* $Id: nghevy.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: nghevy.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE NGHEVY(D,LD,KZ,AWR,Q,MT) -C THIS ROUTINE CALCULATES THE EXIT ENERGY AND DIRECTIONAL -C COSINES FOR THE RECOIL NUCLEUS RESULTING FROM THE (N,G) -C REACTION MT-102, AND STORES THE RECOIL NUCLEUS IN THE -C HEAVY ION BANK. THE ENERGY AND DIRECTIONAL COSINES ARE -C DETERMINED BY A MOMENTUM BALANCE IN THE LABORATORY SYSTEM -C WITH THE PHOTONS MOMENTUM EQUAL TO ITS ENERGY. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" -#include "geant321/mgamma.inc" - DIMENSION D(*),LD(*) - SAVE - AR=AWR*AN+AN -C CALCULATE THE TOTAL MOMENTUM BEFORE THE COLLISION -C NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM - PI=SQRT(2.0*ZN*EOLD) -C CALCULATE THE TOTAL MOMEMTUM OF THE EXIT PHOTON - PO=EG*1.00E+06 -C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS - PRX=PI*UOLD-PO*UG - PRY=PI*VOLD-PO*VG - PRZ=PI*WOLD-PO*WG -C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS - PR=SQRT(PRX**2+PRY**2+PRZ**2) -C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES - UR=PRX/PR - VR=PRY/PR - WR=PRZ/PR -C CALCULATE THE RECOIL NUCLEUS EXIT ENERGY - ER=PR**2/(2*AR*9.31075E+08) -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ - AGER=AGE - NCOLR=NCOL - MTNR=MT - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=0.0 - UNOR=0.0 - VNOR=0.0 - WNOR=0.0 - WTNR=0.0 - QR=Q -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AMP = AR - ZMP = FLOAT(NZR) - AGEP = AGE - MTP = MT - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/nn2bod.F b/StarVMC/geant3/neutron/nn2bod.F deleted file mode 100644 index 1eedde8c82a..00000000000 --- a/StarVMC/geant3/neutron/nn2bod.F +++ /dev/null @@ -1,152 +0,0 @@ -* -* $Id: nn2bod.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: nn2bod.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE NN2BOD(D,LD,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,Q,MT) -C THIS ROUTINE CALCULATES THE EXIT ENERGIES AND DIRECTIONAL -C COSINES FOR THE CHARGED PARTICLE AND RECOIL NUCLEUS FOR -C A TWO-BODY REACTION USING AN EVAPORATION SPECTRUM AND -C MOMEMTUM BALANCE. IT ALSO SETS ALL EXIT PARAMETERS FOR -C THE COLLISION PRODUCTS AND STORES THEM IN THE RECOIL BANK. -C THE TWO BODY REACTION RESULTS FROM THE BREAK-UP OF A NUCLEUS -C LEFT IN AN EXCITED STATE BY AN INELASTIC COLLISION OR A -C N,2N REACTION (I.E. MT-24). -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" -#include "geant321/mnutrn.inc" - DIMENSION D(*),LD(*) - SAVE -C TRANSFER THE RECOILING COMPOUND NUCLEUS PARAMETERS OUT OF -C COMMON RECOIL FOR USE IN THE MOMENTUM BALANCE EQUATIONS - ERCN=ER - URCN=UR - VRCN=VR - WRCN=WR - ARCN=AR - NZRCN=NZR - ZARCN=ARCN*9.31075E+08 -C CALCULATE THE COULOMB BARRIER (CB) - CALL BARIER(KZ1,KZ2,A1,A2,CB) -C CALCULATE THE CHARGED PARTICLE EXIT ENERGY (EX) - CALL CEVAP1(EOLD,E,Q,ATAR,CB,EX) - E1=EX+CB -C ASSUME ISOTROPIC CHARGED PARTICLE EMISSION IN THE LABORATORY - CALL GTISO(U1,V1,W1) -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ1 - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=A1 - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=E - UNOR=U - VNOR=V - WNOR=W - WTNR=WATE - QR=Q - UR=U1 - VR=V1 - WR=W1 - ER=E1 -C STORE THE CHARGED PARTICLE IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AGEP = AGE - MTP = MT - AMP = AR - ZMP = FLOAT(NZR) - CALL STOPAR(IDHEVY,NHEVY) -C CALCULATE THE TOTAL MOMENTUM BEFORE THE COLLISION -C COMPOUND NUCLEUS MOMENTUM BEFORE THE COLLISION (PI) EQUALS -C THE TOTAL MOMENTUM - PI=SQRT(2.0*ZARCN*ERCN) -C CALCULATE THE TOTAL MOMEMTUM OF THE EXIT CHARGED PARTICLE - PO=SQRT(2.0*Z1*E1) -C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS - PRX=PI*URCN-PO*U1 - PRY=PI*VRCN-PO*V1 - PRZ=PI*WRCN-PO*W1 -C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS - PR=SQRT(PRX**2+PRY**2+PRZ**2) -C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES - U2=PRX/PR - V2=PRY/PR - W2=PRZ/PR -C CALCULATE THE RECOIL NUCLEUS EXIT ENERGY - XM = A2 * 931.075E6 - E2 = SQRT(PR**2 + XM**2) - XM -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ2 - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=A2 - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=E - UNOR=U - VNOR=V - WNOR=W - WTNR=WATE - QR=Q - UR=U2 - VR=V2 - WR=W2 - ER=E2 -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AGEP = AGE - MTP = MT - AMP = AR - ZMP = FLOAT(NZR) - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/nsigta.F b/StarVMC/geant3/neutron/nsigta.F deleted file mode 100644 index 6fc46f258af..00000000000 --- a/StarVMC/geant3/neutron/nsigta.F +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: nsigta.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: nsigta.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE NSIGTA(E,JMED,TSIG,D,ISIGTS,LSIGT) -C THIS ROUTINE DETERMINES THE MACROSCOPIC TOTAL -C CROSS SECTION FOR MEDIA MED -#include "geant321/mmicab.inc" - DIMENSION D(*),ISIGTS(*),LSIGT(*) - CALL GTMED(JMED,MED) - TSIG=0.0 - L1=LSIGT(MED) - LS1=ISIGTS(MED)+LMOX3 - LEN=L1/2 - CALL TBSPLT(D(LS1),E,LEN,TSIG) - RETURN - END diff --git a/StarVMC/geant3/neutron/partxs.F b/StarVMC/geant3/neutron/partxs.F deleted file mode 100644 index c7d812cf78e..00000000000 --- a/StarVMC/geant3/neutron/partxs.F +++ /dev/null @@ -1,122 +0,0 @@ -* -* $Id: partxs.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: partxs.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE PARTXS(D,LD,E,SIGTOT,EP) -C THIS ROUTINE SAMPLES FROM THE FILE 12 OR 13 PHOTON -C PRODUCTION PARTIAL DISTRIBUTIONS TO OBTAIN THE EXIT -C PHOTON ENERGY FROM A NEUTRON REACTION -#include "geant321/minput.inc" - DIMENSION D(*),LD(*) - SAVE -C INITIALIZE THE VALUES USED IN THE SELECTION PROCESS -C THE VALUE (II) IS A POINTER - ITRY1=0 - 10 R=FLTRNF(0) - SUM=0.0 - NH=0 - NL=0 - II=0 -C SET THE NUMBER OF PARTIAL DISTRIBUTIONS (NK) AND THE NUMBER -C OF POINTS PER PARTIAL DISTRIBUTION (NP) - NK=LD(II+1) - NP=LD(II+2) - II=II+2 -C DETERMINE WHICH POINTS (NL) AND (NH) BOUND THE INCIDENT -C NEUTRON ENERGY - DO 20 N=1,NP - IF(E.LE.D(II+N))GO TO 40 - 20 CONTINUE -C THE INCIDENT NEUTRON ENERGY IS GREATER THAN THE LAST ENERGY -C POINT OF THE PARTIAL DISTRIBUTIONS, THEREFORE USE THE LAST -C ENERGY POINT OF THE PARTIAL DISTRIBUTION TO SAMPLE FROM - NH=NP - II=II+NP - DO 30 K=1,NK - EP=D(II+1) - LP=LD(II+2) - A=D(II+3) - LF=LD(II+4) - IF(LP.EQ.2)EP=EP+(A/(A+1))*E - II=II+4 - SIG=D(II+NH) - SUM=SUM+SIG/SIGTOT - IF(EP.EQ.0.0)GO TO 100 - IF(R.LE.SUM)GO TO 100 - II=II+NP - 30 CONTINUE - GO TO 80 - 40 IF(N.EQ.1)GO TO 60 -C THE INCIDENT NEUTRON ENERGY IS BOUNDED BY THE ENEGY POINTS -C (NL) AND (NH) OF THE PARTIAL DISTRIBUTIONS, THEREFORE USE -C LINEAR INTERPOLATION - NH=N - NL=N-1 - EH=D(II+NH) - EL=D(II+NL) - II=II+NP - DO 50 K=1,NK - EP=D(II+1) - LP=LD(II+2) - A=D(II+3) - LF=LD(II+4) - IF(LP.EQ.2)EP=EP+(A/(A+1))*E - II=II+4 - SIG=D(II+NL)+(E-EL)*(D(II+NH)-D(II+NL))/(EH-EL) - SUM=SUM+SIG/SIGTOT - IF(EP.EQ.0.0)GO TO 100 - IF(R.LE.SUM)GO TO 100 - II=II+NP - 50 CONTINUE - GO TO 80 -C THE INCIDENT NEUTRON ENERGY IS LESS THAN THE FIRST ENERGY -C POINT OF THE PARTIAL DISTRIBUTIONS, THEREFORE USE THE FIRST -C ENERGY POINT OF THE PARTIAL DISTRIBUTION TO SAMPLE FROM - 60 NL=N - II=II+NP - DO 70 K=1,NK - EP=D(II+1) - LP=LD(II+2) - A=D(II+3) - LF=LD(II+4) - IF(LP.EQ.2)EP=EP+(A/(A+1))*E - II=II+4 - SIG=D(II+NL) - SUM=SUM+SIG/SIGTOT - IF(EP.EQ.0.0)GO TO 100 - IF(R.LE.SUM)GO TO 100 - II=II+NP - 70 CONTINUE -C retry with new R if SUM != 0 - 80 IF(SUM.EQ.0.0) GOTO 90 - ITRY1 = ITRY1 + 1 - IF(ITRY1.LE.2) GOTO 10 -C no success set EP = 0 - 90 EP = 0.0 - 100 RETURN - END diff --git a/StarVMC/geant3/neutron/photon.F b/StarVMC/geant3/neutron/photon.F deleted file mode 100644 index 8ee2c177cde..00000000000 --- a/StarVMC/geant3/neutron/photon.F +++ /dev/null @@ -1,394 +0,0 @@ -* -* $Id: photon.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: photon.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:03 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2003/11/28 11:23:57 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE PHOTON(D,LD,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB, - + AWR,IGCBS2,LGCB2,LR,IGAMS,LGAM,QI,ID,IIN,LRI,SIGN) -C THIS ROUTINE CONTROLS THE GENERATION AND STORAGE OF ALL -C PHOTONS PRODUCED BY THE NEUTRON INTERACTIONS. WHERE DATA -C PERMITS, THE PHOTON PRODUCED IS DIRECTLY COUPLED TO THE -C NEUTRON REACTION OCCURING. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mapoll.inc" -#include "geant321/mcross.inc" -#include "geant321/mpstor.inc" -#include "geant321/mmicab.inc" - DIMENSION IDICTS(NNR,NNUC),LDICT(NNR,NNUC),NTX(*),NTS(*), - + IGCBS(NGR,NNUC),LGCB(NGR,NNUC),AWR(*),IGCBS2(NGR,NNUC), - + LGCB2(NGR,NNUC),LR(NQ,NNUC),IGAMS(*),LGAM(*),D(*),LD(*) - SAVE -C flag to mark call to SECEGY = 1 or PARTXS = 2 for EP CZ 13/8/92 - IEP = 0 -C INITIALIZE THE PHOTON ENERGY TO ZERO IN CASE NO PHOTON IS -C CHOSEN (THIS IS NECESSARY BECAUSE OF ENDF INCONSISTENCY) - EG=0.0 -C INITIALIZE THE PARAMETERS USED IN THE SELECTION PROCESS - MT=0 - IMT=0 - NUMBG=0 - XSIG2=0.0 - XSIG=0.0 - SIGMT3=0.0 - SIGP=0.0 - AWRI=AWR(IIN) - NNTX=NTX(IIN) - NNTS=NTS(IIN) - L=2*NNTX+2*NNTS -C NO PHOTON DATA PRESENT (IF L=0) - IF(L.EQ.0)GO TO 360 - LX=2*NNTX - LS=LX+1 -C DETERMINE THE NEUTRON REACTION MT NUMBER - IF(ID.EQ.8)MT=16 - IF(ID.EQ.9)MT=17 - IF(ID.EQ.10)MT=18 - IF(ID.EQ.11)MT=22 - IF(ID.EQ.12)MT=24 - IF(ID.EQ.13)MT=28 - IF((ID.GE.14).AND.(ID.LE.54))MT=51 - IF(ID.EQ.55)MT=102 - IF(ID.EQ.56)MT=103 - IF(ID.EQ.57)MT=104 - IF(ID.EQ.58)MT=105 - IF(ID.EQ.59)MT=106 - IF(ID.EQ.60)MT=107 - IF(ID.EQ.61)MT=108 - IF(ID.EQ.62)MT=109 - IF(ID.EQ.63)MT=111 - IF(ID.EQ.64)MT=112 - IF(ID.EQ.65)MT=113 - IF(ID.EQ.66)MT=114 -C DETERMINE WHICH DISCRETE INELASTIC SCATTERING LEVEL OCCURRED - IF(MT.NE.51)GO TO 130 - IMT=ID-14 - MT=MT+IMT -C RESET THE MT NUMBER IF AN LR-FLAG IS INVOLKED - IF(LRI.EQ.22)MT=22 - IF(LRI.EQ.23)MT=23 - IF(LRI.EQ.28)MT=28 -C CHECK PHOTON PRODUCTION DICTIONARY TO SEE IF THERE IS PHOTON -C DATA CORRESPONDING TO THE NEUTRON MT REACTION THAT OCCURRED - DO 10 IX=1,NNTX - MTG=LGCB(2*IX-1,IIN) - IF(MTG.EQ.MT)GO TO 30 - 10 CONTINUE - 20 IF(LRI.EQ.22)GO TO 190 - IF(LRI.EQ.23)GO TO 190 - IF(LRI.EQ.28)GO TO 190 - GO TO 70 -C PHOTON DATA FOUND CORRESPONDING TO NEUTRON MT REACTION - 30 L1=LGCB2(2*IX,IIN) - IF(L1.EQ.0)GO TO 370 - LS1=IGCBS2(2*IX,IIN)+LMOX4 - LEN=L1/2 - CALL TBSPLT(D(LS1),EOLD,LEN,SIGP) - IF(SIGP.EQ.0.0)GO TO 190 - LS2=IGCBS(2*IX,IIN)+LMOX2 -C DETERMINE EXIT PHOTON ENERGY (EP) - CALL PARTXS(D(LS2),D(LS2),EOLD,SIGP,EP) - IEP = 2 - IF(EP.GT.0.0)GO TO 60 -C DISCRETE PHOTON ENERGY WAS NOT SELECTED (EP=0.0) -C CHECK SECONDARY PHOTON DISTRIBUTION (FILE 15) FOR EP - DO 40 IS=1,NNTS - MTGS=LGCB(LX+2*IS-1,IIN) - IF(MTGS.EQ.MT)GO TO 50 - 40 CONTINUE -C no file 15 found and EP=0 in PARTXS -> try MT=4 etc - GO TO 20 - 50 L1=LGCB(LX+2*IS,IIN) - IF(L1.EQ.0)GO TO 380 - LS3=IGCBS(LX+2*IS,IIN)+LMOX2 -C DETERMINE EXIT PHOTON ENERGY (EP) - CALL SECEGY(EP,D(LS3),EOLD,D(LS3)) - IEP = 1 -C DETERMINE THE PHOTON MULTIPLICITY (YP) -C RECALCULATE THE DENOMINATOR USED IN CALCULATING THE -C PHOTON MULTIPLICITY TO ACCOUNT FOR THE LR-FLAGS - 60 IF(LRI.EQ.22)CALL LRNORM(D,D,IDICTS,LDICT,LR,EOLD,MT,IIN,SIGN) - IF(LRI.EQ.23)CALL LRNORM(D,D,IDICTS,LDICT,LR,EOLD,MT,IIN,SIGN) - IF(LRI.EQ.28)CALL LRNORM(D,D,IDICTS,LDICT,LR,EOLD,MT,IIN,SIGN) - YP=SIGP/SIGN - GO TO 330 -C THE DISCRETE INELASTIC LEVEL PHOTON DATA WAS NOT FOUND -C CHECK THE PHOTON PRODUCTION DICTIONARY TO SEE IF THERE IS -C PHOTON DATA CORRESPONDING TO MT=4 - 70 DO 80 IX=1,NNTX - MTG=LGCB(2*IX-1,IIN) - IF(MTG.EQ.4)GO TO 90 - 80 CONTINUE - GO TO 190 -C PHOTON DATA FOUND CORRESPONDING TO MT=4 - 90 L1=LGCB2(2*IX,IIN) - IF(L1.EQ.0)GO TO 370 - LS1=IGCBS2(2*IX,IIN)+LMOX4 - LEN=L1/2 - CALL TBSPLT(D(LS1),EOLD,LEN,SIGP) - IF(SIGP.EQ.0.0)GO TO 190 - LS2=IGCBS(2*IX,IIN)+LMOX2 -C DETERMINE EXIT PHOTON ENERGY (EP) - CALL PARTXS(D(LS2),D(LS2),EOLD,SIGP,EP) - IEP = 2 - IF(EP.GT.0.0)GO TO 120 -C DISCRETE PHOTON ENERGY WAS NOT SELECTED (EP=0.0) -C CHECK SECONDARY PHOTON DISTRIBUTION (FILE 15) FOR EP - DO 100 IS=1,NNTS - MTGS=LGCB(LX+2*IS-1,IIN) - IF(MTGS.EQ.4)GO TO 110 - 100 CONTINUE - GO TO 380 - 110 L1=LGCB(LX+2*IS,IIN) - IF(L1.EQ.0)GO TO 380 - LS3=IGCBS(LX+2*IS,IIN)+LMOX2 -C DETERMINE EXIT PHOTON ENERGY (EP) - CALL SECEGY(EP,D(LS3),EOLD,D(LS3)) - IEP = 1 -C DETERMINE THE PHOTON MULTIPLICITY (YP) -C RECALCULATE THE DENOMINATOR USED IN CALCULATING THE -C PHOTON MULTIPLICITY TO ACCOUNT FOR THE LR-FLAGS - 120 MT=4 - CALL LRNORM(D,D,IDICTS,LDICT,LR,EOLD,MT,IIN,SIGNIS) - YP=SIGP/SIGNIS - GO TO 330 -C CHECK PHOTON PRODUCTION DICTIONARY TO SEE IF THERE IS PHOTON -C DATA CORRESPONDING TO THE NEUTRON MT REACTION THAT OCCURRED - 130 DO 140 IX=1,NNTX - MTG=LGCB(2*IX-1,IIN) - IF(MTG.EQ.MT)GO TO 150 - 140 CONTINUE - GO TO 190 -C PHOTON DATA FOUND CORRESPONDING TO NEUTRON MT REACTION - 150 L1=LGCB2(2*IX,IIN) - IF(L1.EQ.0)GO TO 370 - LS1=IGCBS2(2*IX,IIN)+LMOX4 - LEN=L1/2 - CALL TBSPLT(D(LS1),EOLD,LEN,SIGP) - IF(SIGP.EQ.0.0)GO TO 190 - LS2=IGCBS(2*IX,IIN)+LMOX2 -C DETERMINE EXIT PHOTON ENERGY (EP) - CALL PARTXS(D(LS2),D(LS2),EOLD,SIGP,EP) - IEP = 2 - IF(EP.GT.0.0)GO TO 180 -C DISCRETE PHOTON ENERGY WAS NOT SELECTED (EP=0.0) -C CHECK SECONDARY PHOTON DISTRIBUTION (FILE 15) FOR EP - DO 160 IS=1,NNTS - MTGS=LGCB(LX+2*IS-1,IIN) - IF(MTGS.EQ.MT)GO TO 170 - 160 CONTINUE - GO TO 380 - 170 L1=LGCB(LX+2*IS,IIN) - IF(L1.EQ.0)GO TO 380 - LS3=IGCBS(LX+2*IS,IIN)+LMOX2 -C DETERMINE EXIT PHOTON ENERGY (EP) - CALL SECEGY(EP,D(LS3),EOLD,D(LS3)) - IEP = 1 -C DETERMINE THE PHOTON MULTIPLICITY (YP) - 180 YP=SIGP/SIGN - GO TO 330 -C NO PHOTON DATA WAS FOUND FOR THE PARTICULAR NEUTRON MT -C REACTION OR FOR NEUTRON MT=4, THEREFORE CHECK THE PHOTON -C PRODUCTION DICTIONARY TO SEE IF THERE IS PHOTON DATA -C CORRESPONDING TO MT=3 (THE CATCH-ALL MT) - 190 DO 200 IX=1,NNTX - MTG=LGCB(2*IX-1,IIN) - IF(MTG.EQ.3)GO TO 210 - 200 CONTINUE - GO TO 360 -C PHOTON DATA FOUND CORRESPONDING TO MT=3 - 210 L1=LGCB2(2*IX,IIN) - IF(L1.EQ.0)GO TO 370 - LS1=IGCBS2(2*IX,IIN)+LMOX4 - LEN=L1/2 - CALL TBSPLT(D(LS1),EOLD,LEN,SIGP) - IF(SIGP.EQ.0.0)GO TO 360 - LS2=IGCBS(2*IX,IIN)+LMOX2 -C DETERMINE EXIT PHOTON ENERGY (EP) - CALL PARTXS(D(LS2),D(LS2),EOLD,SIGP,EP) - IEP = 2 - IF(EP.GT.0.0)GO TO 240 -C DISCRETE PHOTON ENERGY WAS NOT SELECTED (EP=0.0) -C CHECK SECONDARY PHOTON DISTRIBUTION (FILE 15) FOR EP - DO 220 IS=1,NNTS - MTGS=LGCB(LX+2*IS-1,IIN) - IF(MTGS.EQ.3)GO TO 230 - 220 CONTINUE - GO TO 380 - 230 L1=LGCB(LX+2*IS,IIN) - IF(L1.EQ.0)GO TO 380 - LS3=IGCBS(LX+2*IS,IIN)+LMOX2 -C DETERMINE EXIT PHOTON ENERGY (EP) - CALL SECEGY(EP,D(LS3),EOLD,D(LS3)) - IEP = 1 -C THE PHOTON WAS SELECTED FROM PHOTON DATA FOR MT=3 -C TO OBTAIN THE CORRECT MULTIPLICITY, THE NEUTRON CROSS -C SECTION FOR MT=3 MUST BE ADJUSTED TO REPRESENT THE SAME -C DATA AS MT=3 DOES IN THE PHOTON DATA - 240 ID=2 -C OBTAIN NEUTRON ELASTIC SCATTERING CROSS SECTION - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 250 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),EOLD,LEN,XSIG2) -C SUBTRACT THE ELASTIC SCATTERING CROSS SECTION FROM THE TOTAL -C CROSS SECTION TO OBTAIN BASE NEUTRON MT=3 REACTION - SIGMT3=SIGT-XSIG2 - GO TO 260 - 250 SIGMT3=SIGT - 260 CONTINUE -C SCAN THE PHOTON PRODUCTION DICTIONARY FOR ALL MT NUMBERS -C NOT EQUAL TO MT=3 - DO 300 IX=1,NNTX - MTG=LGCB(2*IX-1,IIN) - IF(MTG.EQ.3)GO TO 300 - L1=LGCB2(2*IX,IIN) - IF(L1.EQ.0)GO TO 370 - LS1=IGCBS2(2*IX,IIN)+LMOX4 - LEN=L1/2 - CALL TBSPLT(D(LS1),EOLD,LEN,SIGEX) -C IF THE TOTAL PHOTON PRODUCTION CROSS SECTION IS ZERO AT -C THE NEUTRON ENERGY, THEN THE NEUTRON CROSS SECTION SHOULD -C NOT BE SUBTRACTED FROM MT3 TO MAINTAIN PROPER NORMALIZATION - IF(SIGEX.EQ.0.0)GO TO 300 -C SET THE NEUTRON DICTIONARY ID NUMBER CORRESPONDING TO MTG - IF((MTG.LT.51).OR.(MTG.GT.91))GO TO 270 - ID=14 - IMT3=MTG-51 - ID=ID+IMT3 - 270 IF(MTG.EQ.4)ID=3 - IF(MTG.EQ.16)ID=8 - IF(MTG.EQ.17)ID=9 - IF(MTG.EQ.18)ID=10 - IF(MTG.EQ.22)ID=11 - IF(MTG.EQ.24)ID=12 - IF(MTG.EQ.28)ID=13 - IF(MTG.EQ.102)ID=55 - IF(MTG.EQ.103)ID=56 - IF(MTG.EQ.104)ID=57 - IF(MTG.EQ.105)ID=58 - IF(MTG.EQ.106)ID=59 - IF(MTG.EQ.107)ID=60 - IF(MTG.EQ.108)ID=61 - IF(MTG.EQ.109)ID=62 - IF(MTG.EQ.111)ID=63 - IF(MTG.EQ.112)ID=64 - IF(MTG.EQ.113)ID=65 - IF(MTG.EQ.114)ID=66 -C OBTAIN THE NEUTRON CROSS SECTION CORRESPONDING TO MTG AND -C SUBTRACT IT OFF OF THE BASE NEUTRON MT=3 CROSS SECTION - L1=LDICT(ID,IIN) - IF(L1.EQ.0)GO TO 280 - LS1=IDICTS(ID,IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),EOLD,LEN,XSIG) - GO TO 290 - 280 XSIG=0.0 - 290 SIGMT3=SIGMT3-XSIG - IF(SIGMT3.LE.0.0)GO TO 310 - 300 CONTINUE -C DETERMINE THE PHOTON MULTIPLICITY (YP) - YP=SIGP/SIGMT3 - IF(YP.GE.100.0)GO TO 310 - GO TO 330 - 310 CONTINUE -C THIS SECTION OF CODING IS INCLUDED TO ACCOUNT FOR ANY -C ENDF/B DATA INCONSISTENCY WHICH COULD YIELD A PHOTON OF -C CONSIDERABLE WEIGHT. THE FOLLOWING CODING WILL SAMPLE THE -C PHOTON WEIGHT FROM THE GENERAL PHOTON YIELD ARRAY AND -C ADJUST THE WEIGHT TO PHOTONS PER NON-ELASTIC COLLISION. - L1=LGAM(IIN) - IF(L1.EQ.0)GO TO 320 - LS1=IGAMS(IIN)+LMOX2 - LEN=L1/2 - CALL TBSPLT(D(LS1),EOLD,LEN,YP) - YP=(YP*SIGT)/(SIGT-XSIG2) - GO TO 330 - 320 YP=1.00 -C THE FOLLOWING SECTION OF CODING IS INCLUDED TO DISTRIBUTE -C THE WEIGHT ENDF/B-V DATA MAY GIVE A PARTICULAR PHOTON. -C FOR EXAMPLE, ENDF/B-V DATA MAY ASSIGN A MULITPLICITY OF -C 75 TO A PARTICULAR PHOTON. BECAUSE SUCH A PHOTON COULD -C CONSIDERABLY MODIFY THE RESULTS OF A DETECTOR RESPONSE, THE -C MULTIPLICITY (PHOTON WEIGHT) IS DISTRIBUTED TO SEVERAL -C PHOTONS (SPLITTING OF SORTS) WITH BOTH WEIGHT AND ENERGY -C BEING CONSERVED. THIS RARELY OCCURS BUT IS NECESSARY. - 330 CONTINUE -C poisson distributed photon multiplicity CZ 13.8.92 - IGTRY=0 - MGPAR=INT(FLOAT(MAXPAR)*0.7) - 340 CALL G3POISS(YP,NUMBG,1) - IGTRY=IGTRY+1 - IF(NUMBG.GT.INT(4.*YP).OR. - + NUMBG.GT.MGPAR.AND.IGTRY.LT.5) GOTO 340 - NUMBG=MIN(NUMBG,MGPAR) -C Allow 0 Photond to be generated - IF(NUMBG.EQ.0) RETURN - EPTOT = YP*EP - EPSUM = 0.0 - DO 350 I=1,NUMBG -C ASSUME ISOTROPIC PHOTON EMISSION IN THE LABORATORY SYSTEM - CALL GTISO(U1,V1,W1) -C SET THE PHOTON EXIT PARAMETERS - UP=U1 - VP=V1 - WP=W1 - AGEP=AGE - MTP=MT -C re-sample photon energy depending on model used CZ 13.8.92 - IF(IEP.EQ.2) THEN - CALL PARTXS(D(LS2),D(LS2),EOLD,SIGP,EP1) - IF(EP1.GT.0.0) EP=EP1 - ENDIF - IF(IEP.EQ.1) THEN - CALL SECEGY(EP1,D(LS3),EOLD,D(LS3)) - IF(EP1.GT.0.0) EP=EP1 - ENDIF - EPSUM = EPSUM+EP -C check for energy conservation - IF(EPSUM.GT.EPTOT.OR.I.EQ.NUMBG) EP = EPTOT-EPSUM+EP -C STORE THE PHOTON - CALL STOPAR(IDGAMA,NGAMA) -C end photon production when energy is used up CZ 13.8.92 - IF(EPSUM.GT.EPTOT) GOTO 360 - 350 CONTINUE - 360 RETURN - 370 WRITE(IOUT,10000) -10000 FORMAT(' PHOTON: THE PHOTON PRODUCTION ', - + 'CROSS SECTION DATA WAS NOT FOUND (L1=0)') - GOTO 390 - 380 WRITE(IOUT,10100) -10100 FORMAT(' PHOTON: NO SECONDARY ENERGY ', - + 'DISTRIBUTION WAS FOUND FOR THE CONTINUUM REACTION CHOSEN') - 390 WRITE(6,*) ' CALOR: ERROR in PHOTON ===> STOP ' - STOP - END diff --git a/StarVMC/geant3/neutron/rnmaxf.F b/StarVMC/geant3/neutron/rnmaxf.F deleted file mode 100644 index f10b9ccaaac..00000000000 --- a/StarVMC/geant3/neutron/rnmaxf.F +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: rnmaxf.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: rnmaxf.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : -C********************************************************************* - FUNCTION RNMAXF(T) -C T := most probable value of distribution -C********************************************************************* - DATA FF/0./ - SAVE FF,R1SQ,W,U - U=EXPRNF(U) - IF(FF) 30 ,10 ,30 - 10 R1=FLTRNF(R1) - R2=FLTRNF(R2) - R1SQ=R1*R1 - R2SQ=R2*R2 - RSQ=R1SQ+R2SQ - IF(RSQ-1.) 20 ,20 ,10 - 20 W=EXPRNF(W)/RSQ - FF=1. - RNMAXF=(R2SQ*W+U)*T - GO TO 40 - 30 FF=0. - RNMAXF=(R1SQ*W+U)*T - 40 RETURN - END diff --git a/StarVMC/geant3/neutron/secegy.F b/StarVMC/geant3/neutron/secegy.F deleted file mode 100644 index 7456f3585f6..00000000000 --- a/StarVMC/geant3/neutron/secegy.F +++ /dev/null @@ -1,155 +0,0 @@ -* -* $Id: secegy.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: secegy.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE SECEGY(EX,FSE,E,IFSE) -C THIS ROUTINE SELECTS A PARTIAL ENERGY DISTRIBUTION -C TO SAMPLE THE EXIT ENERGY FROM -#include "geant321/minput.inc" - DIMENSION FSE(*),IFSE(*) - SAVE - EX = 0.0 - IPP=1 - N=1 - IP=1 - R=FLTRNF(0) - NK=IFSE(IP) - PROB=0. - 10 IP=IP+1 - LF=IFSE(IP) - IP=IP+1 -C TEMP FIX UP - U=FSE(IP) - IF(LF.EQ.11)U=FLOAT(IFSE(IP)) - IP=IP+1 - NR=IFSE(IP) - IPR=IP - IP=IP+1 - NP=IFSE(IP) - IP=IP+2*NR - 20 CONTINUE - DO 30 I=1,NP - IP=IP+2 -C IF E IS LESS THAN THE LOWEST ENERGY OF THE MESH, THEN THE -C PROBABILITY WILL EQUAL ZERO FOR SELECTING THAT DISTRIBUTION - IF(E.LT.FSE(IP-1))GO TO 50 - 30 CONTINUE -C TRY THE NEXT PARTIAL DISTRIBUTION - 40 N=N+1 - IF(N.GT.NK)GO TO 170 - IF(LF.EQ.1)GO TO 100 - IF(LF.EQ.5)GO TO 120 - IF((LF.EQ.7).OR.(LF.EQ.9))GO TO 130 - GO TO 140 - 50 IF(I.NE.1)GO TO 70 - IF(E+CADIG(E).LT.FSE(IP-1))GO TO 60 - E=E+CADIG(E) - IP=IP-2 - GO TO 20 - 60 CONTINUE - IP=IP+(NP-1)*2 - GO TO 40 -C DETERMINE THE INTERPOLATING SCHEME - 70 CONTINUE - DO 80 J=1,NR - J1=IPR+2*J - IF(I.LE.IFSE(J1))GO TO 90 - 80 CONTINUE - 90 IS=IFSE(J1+1) - CALL INTERP(E,P,FSE(IP-3),FSE(IP-2),FSE(IP-1),FSE(IP),IS) - PROB=PROB+P - IF(R.LE.PROB)GO TO 150 - IP=IP+2*(NP-I) - GO TO 40 -C SKIP THE DATA FOR LF EQUAL ONE - 100 IP=IP+1 - NR=IFSE(IP) - NE=IFSE(IP+1) - IP=IP+2*NR+1 - DO 110 I=1,NE - IP=IP+2 - NR=IFSE(IP) - IP=IP+1 - NP=IFSE(IP) - IP=IP+2*NR+2*NP - 110 CONTINUE - GO TO 10 -C SKIP THE DATA FOR LF EQUAL FIVE - 120 IP=IP+1 - NR=IFSE(IP) - NE=IFSE(IP+1) - IP=IP+2*NR+1 - IP=IP+2*NE - IP=IP+1 - NR=IFSE(IP) - NF=IFSE(IP+1) - IP=IP+2*NF+2*NR+1 - GO TO 10 -C SKIP THE DATA FOR LF EQUAL SEVEN, AND LF EQUAL NINE - 130 IP=IP+1 - NR=IFSE(IP) - NE=IFSE(IP+1) - IP=IP+2*NR+1 - IP=IP+2*NE - GO TO 10 -C SKIP THE DATA FOR LF EQUAL ELEVEN - 140 IP=IP+1 - NR=IFSE(IP) - NE=IFSE(IP+1) - IP=IP+2*NR+1 - IP=IP+2*NE - IP=IP+1 - NR=IFSE(IP) - NE=IFSE(IP+1) - IP=IP+2*NR+1 - IP=IP+2*NE - GO TO 10 -C NOW SELECT THE SECONDARY ENERGY FROM THE CHOSEN DISTRIBUTION - 150 IP=IP+2*(NP-I) - 160 CONTINUE - IF(LF.EQ.1)CALL SECLF1(FSE(IP+1),IFSE(IP+1),EX,U,E) - IF(LF.EQ.5)CALL SECLF5(FSE(IP+1),IFSE(IP+1),EX,U,E) - IF(LF.EQ.7)CALL SECLF7(FSE(IP+1),IFSE(IP+1),EX,U,E) - IF(LF.EQ.9)CALL SECLF9(FSE(IP+1),IFSE(IP+1),EX,U,E) - IF(LF.EQ.11)CALL SECL11(FSE(IP+1),IFSE(IP+1),EX,U,E) - RETURN - 170 CONTINUE -#if defined(CERNLIB_MDEBUG) - WRITE(IOUT,10000)R,PROB,E -10000 FORMAT(' MICAP: WARNING-SECONDARY ENERGY DISTRIBUTION NOT ', - + 'CHOSEN IN SECEGY',1P3E11.4) -#endif -C TEMP CARD - LF=IFSE(IPP+1) - U=FSE(IPP+2) - IF(LF.EQ.11)U=FLOAT(IFSE(IPP+2)) - NR=IFSE(IPP+3) - NP=IFSE(IPP+4) - IP=2*NR+2*NP+5 - GO TO 160 - END diff --git a/StarVMC/geant3/neutron/secl11.F b/StarVMC/geant3/neutron/secl11.F deleted file mode 100644 index 719ed228245..00000000000 --- a/StarVMC/geant3/neutron/secl11.F +++ /dev/null @@ -1,95 +0,0 @@ -* -* $Id: secl11.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: secl11.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:58 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE SECL11(FSE,IFSE,EX,U,E) -C THIS ROUTINE SAMPLES AN EXIT ENERGY FROM -C AN ENERGY DEPENDENT WATT SPECTRUM -#include "geant321/minput.inc" - DIMENSION FSE(*),IFSE(*) - SAVE - IP=1 - NR=IFSE(IP) - NE=IFSE(IP+1) - IP=2*NR+1 - EMAX=E-U -C DETERMINE A - DO 10 I=1,NE - IP=IP+2 - IF(E.LE.FSE(IP))GO TO 20 - 10 CONTINUE - GO TO 30 - 20 IF(I.EQ.1)GO TO 40 -C DETERMINE THE INTERPOLATING SCHEME - CALL INTSCH(IFSE,I,IS,NR) - E1=FSE(IP-2) - E2=FSE(IP) - T1=FSE(IP-1) - T2=FSE(IP+1) - CALL INTERP(E,A,E1,T1,E2,T2,IS) - GO TO 50 -C INCIDENT ENERGY IS ABOVE THE LAST INCIDENT ENERGY GIVEN -C USE THE LAST DISTRIBUTION - 30 IP=2+2*NR+2*NE - A=FSE(IP) - GO TO 50 -C INCIDENT ENERGY IS BELOW THE FIRST INCIDENT ENERGY GIVEN -C USE THE FIRST DISTRIBUTION - 40 A=FSE(4+2*NR) -C DETERMINE B - 50 IP=3+2*NR+2*NE - NR1=IFSE(IP) - NF=IFSE(IP+1) - IP=2*NR+2*NE+2*NR1+3 - DO 60 I=1,NF - IP=IP+2 - IF(E.LE.FSE(IP))GO TO 70 - 60 CONTINUE - GO TO 80 - 70 IF(I.EQ.1)GO TO 90 - CALL INTSCH(IFSE(2*NR+2*NE+3),I,IS,NR1) - E1=FSE(IP-2) - E2=FSE(IP) - T1=FSE(IP-1) - T2=FSE(IP+1) - CALL INTERP(E,B,E1,T1,E2,T2,IS) - GO TO 100 - 80 IP=2*NR+2*NF+2*NE+2*NR1+4 - B=FSE(IP) - GO TO 100 - 90 B=FSE(IP+1) -C SELECT THE EXIT ENERGY FROM THE WATT SPECTRUM - 100 EX=FISRNF(A,B) - IF(EX.LE.EMAX)RETURN -#if defined(CERNLIB_MDEBUG) - WRITE(IOUT,10000)EX,EMAX -10000 FORMAT(' MICAP: WARNING-EX,EMAX=',1P2E13.5,' IN SECL11') -#endif - EX=EMAX - RETURN - END diff --git a/StarVMC/geant3/neutron/seclf1.F b/StarVMC/geant3/neutron/seclf1.F deleted file mode 100644 index ec399fa53be..00000000000 --- a/StarVMC/geant3/neutron/seclf1.F +++ /dev/null @@ -1,128 +0,0 @@ -* -* $Id: seclf1.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: seclf1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE SECLF1(FSE,IFSE,EX,U,E) -C THIS ROUTINE SAMPLES AN EXIT ENERGY FROM -C A TABULATED DISTRIBUTION -#include "geant321/minput.inc" - DIMENSION FSE(*),IFSE(*) - SAVE - C=0. - IP=1 - NRE=IFSE(IP) - NE=IFSE(IP+1) - IP=IP+2*NRE+1 -C FIND THE TWO INCIDENT ENERGY DISTRIBUTIONS THAT BOUND E -C INCIDENT ENERGY IS BELOW THE FIRST INCIDENT ENERGY GIVEN -C USE THE FIRST DISTRIBUTION - IP=IP+1 - IE=1 - E1=FSE(IP) - IP1=IP - IF(E.GT.E1)GO TO 10 - IPR=IP+1 - NR=IFSE(IPR) - NP=IFSE(IPR+1) - GO TO 50 - 10 IP=IP+1 - IPR1=IP - NP1=IFSE(IP+1) - IP=IP+2*IFSE(IPR1)+1 - IP=IP+2*NP1 - 20 IE=IE+1 - IP=IP+1 -C INCIDENT ENERGY IS ABOVE THE LAST INCIDENT ENERGY GIVEN -C USE THE LAST DISTRIBUTION - IF(IE.GT.NE)GO TO 40 - E2=FSE(IP) - IF(E.LE.E2)GO TO 30 - E1=E2 - IP1=IP - IP=IP+1 - IPR1=IP - NP1=IFSE(IP+1) - IP=IP+2*IFSE(IPR1)+1 - IP=IP+2*NP1 - GO TO 20 - 30 IP2=IP - IP=IP+1 - IPR2=IP - NP2=IFSE(IP+1) - IP=IP+2*IFSE(IPR2)+1 -C DETERMINE THE INTERPOLATING SCHEME - CALL INTSCH(IFSE,IE,IS,NRE) -C SELECT THE DISTRIBUTION TO SAMPLE FROM - R=FLTRNF(0) -C INTERPOLATION SCHEMES OF 1 (CONSTANT) OR 2 (LINEAR) ALLOWED - IF(IS.GT.2)GO TO 110 - PROB=(E2-E)/(E2-E1) - IF(IS.EQ.1)PROB=1.0 - IF(R.LE.PROB)GO TO 40 -C SELECT FROM THE SECOND DISTRIBUTION - NP=NP2 - IP=IP2 - IPR=IPR2 - GO TO 50 -C SELECT FROM THE FIRST DISTRIBUTION -C OR FROM THE LAST INCIDENT ENERGY - 40 NP=NP1 - IP=IP1 - IPR=IPR1 -C SELECT THE EXIT ENERGY FROM THE TABULATED DISTRIBUTION - 50 CONTINUE - ITRY = 0 - 60 CONTINUE - PROB=0. - R=FLTRNF(0) - NR=2*IFSE(IPR)+1 - DO 90 I=1,NP - CALL INTSCH(IFSE(IPR),NP,IS,IFSE(IPR)) - N=IP+NR+1+2*I - PROB1=PROB - IF(I.EQ.1)GO TO 90 - IF(IS.EQ.1)GO TO 70 - IF(IS.GT.2)GO TO 110 - PROB=PROB+(FSE(N)+FSE(N-2))*(FSE(N-1)-FSE(N-3))/2. - GO TO 80 - 70 PROB=PROB+FSE(N-2)*(FSE(N-1)-FSE(N-3)) - 80 IF(R.LE.PROB)GO TO 100 - 90 CONTINUE - ITRY = ITRY + 1 - IF(ITRY.LT.5) GOTO 60 - IF(R.LT..998)GO TO 120 - 100 EX=FSE(N-3)+(R-PROB1)*(FSE(N-1)-FSE(N-3))/(PROB-PROB1) - RETURN - 110 WRITE(IOUT,10000)IS -10000 FORMAT(' MICAP: INTERPOLATION SCHEME=',I3,' IN SECLF1') - GOTO 130 - 120 WRITE(IOUT,10100)R,PROB -10100 FORMAT(' MICAP: EXIT ENERGY NOT SELECTED IN SECLF1',1P2E13.5) - 130 WRITE(6,*) ' CALOR: ERROR in SECLF1 =====> STOP ' - STOP - END diff --git a/StarVMC/geant3/neutron/seclf5.F b/StarVMC/geant3/neutron/seclf5.F deleted file mode 100644 index de48991f6f2..00000000000 --- a/StarVMC/geant3/neutron/seclf5.F +++ /dev/null @@ -1,98 +0,0 @@ -* -* $Id: seclf5.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: seclf5.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:04 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE SECLF5(FSE,IFSE,EX,U,E) -C THIS ROUTINE SAMPLES AN EXIT ENERGY FROM -C A GENERAL EVAPORATION SPECTRUM -#include "geant321/minput.inc" - DIMENSION FSE(*),IFSE(*) - SAVE -C DETERMINE THETA - IP=1 - NR=IFSE(IP) - NE=IFSE(IP+1) - IP=2*NR+IP - EMAX=E-U - R=FLTRNF(0) - DO 10 I=1,NE - IP=IP+2 - IF(E.LE.FSE(IP))GO TO 20 - 10 CONTINUE - GO TO 80 - 20 IF(I.EQ.1)GO TO 90 -C DETERMINE THE INTERPOLATING SCHEME - CALL INTSCH(IFSE,I,IS,NR) - E2=FSE(IP) - E1=FSE(IP-2) - CALL INTERP(E,THETA,E1,FSE(IP-1),E2,FSE(IP+1),IS) - IP=IP+2+(NE-I)*2 -C DETERMINE X - 30 NF=IFSE(IP+1) - NR=IFSE(IP) - IPR=IP - IP=IP+1+2*NR - PROB=0. - DO 60 I=1,NF - N=IP+2*I - PROB1=PROB - CALL INTSCH(IFSE(IPR),I,IS,NR) - IF(I.EQ.1)GO TO 60 - IF(IS.EQ.1)GO TO 40 - IF(IS.GT.2)GO TO 100 - PROB=PROB+(FSE(N)+FSE(N-2))*(FSE(N-1)-FSE(N-3))/2. - GO TO 50 - 40 PROB=PROB+FSE(N-2)*(FSE(N-1)-FSE(N-3)) - 50 CONTINUE - IF(R.LE.PROB)GO TO 70 - 60 CONTINUE - 70 X=FSE(N-3)+(R-PROB1)*(FSE(N-1)-FSE(N-3))/(PROB-PROB1) -C SELECT THE EXIT ENERGY FROM THE GENERAL EVAPORATION SPECTRUM - EX=THETA*X - IF(EX.LE.EMAX)RETURN -#if defined(CERNLIB_MDEBUG) - WRITE(IOUT,10000)EX,EMAX -10000 FORMAT(' MICAP: WARNING-EX,EMAX=',1P2E13.5,' IN SECLF5') -#endif - EX=EMAX - RETURN -C INCIDENT ENERGY IS ABOVE THE LAST INCIDENT ENERGY GIVEN -C USE THE LAST DISTRIBUTION - 80 THETA=FSE(IP+1) - IP=IP+2 - GO TO 30 -C INCIDENT ENERGY IS BELOW THE FIRST INCIDENT ENERGY GIVEN -C USE THE FIRST DISTRIBUTION - 90 THETA=FSE(IP+1) - IP=IP+2*(NE-I)+2 - GO TO 30 - 100 WRITE(IOUT,10100)IS -10100 FORMAT(' MICAP: INTERPOLATION SCHEME=',I3,' IN SECLF5') - WRITE(6,*) ' CALOR: ERROR in SECLF5 =====> STOP ' - STOP - END diff --git a/StarVMC/geant3/neutron/seclf7.F b/StarVMC/geant3/neutron/seclf7.F deleted file mode 100644 index ed0225d7575..00000000000 --- a/StarVMC/geant3/neutron/seclf7.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: seclf7.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: seclf7.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE SECLF7(FSE,IFSE,EX,U,E) -C THIS ROUTINE SAMPLES AN EXIT ENERGY FROM -C A SIMPLE FISSION SPECTRUM -#include "geant321/minput.inc" - DIMENSION FSE(*),IFSE(*) - SAVE -C DETERMINE THETA - IP=1 - EMAX=E-U - NR=IFSE(IP) - NE=IFSE(IP+1) - IP=2*NR+1 - DO 10 I=1,NE - IP=IP+2 - IF(E.LE.FSE(IP))GO TO 20 - 10 CONTINUE - GO TO 30 - 20 IF(I.EQ.1)GO TO 40 -C DETERMINE THE INTERPOLATING SCHEME - CALL INTSCH(IFSE,I,IS,NR) - E1=FSE(IP-2) - E2=FSE(IP) - CALL INTERP(E,THETA,E1,FSE(IP-1),E2,FSE(IP+1),IS) - GO TO 50 -C INCIDENT ENERGY IS ABOVE THE LAST INCIDENT ENERGY GIVEN -C USE THE LAST DISTRIBUTION - 30 THETA=FSE(IP+1) - GO TO 50 -C INCIDENT ENERGY IS BELOW THE FIRST INCIDENT ENERGY GIVEN -C USE THE FIRST DISTRIBUTION - 40 THETA=FSE(IP+1) -C SELECT THE EXIT ENERGY FROM THE FISSION SPECTRUM - 50 R1=FLTRNF(0) - R2=FLTRNF(0) - S=R1**2+R2**2 - IF(S.GT.1.)GO TO 50 - TAU=(-ALOG(S)/S)*(R1**2) - R=FLTRNF(0) - W=-ALOG(R)+TAU - EX=THETA*W - IF(EX.LE.EMAX)RETURN -#if defined(CERNLIB_MDEBUG) - WRITE(IOUT,10000)EX,EMAX -10000 FORMAT(' MICAP: WARNING-EX,EMAX=',1P2E13.5,' IN SECLF7') -#endif - EX=EMAX - RETURN - END diff --git a/StarVMC/geant3/neutron/seclf9.F b/StarVMC/geant3/neutron/seclf9.F deleted file mode 100644 index a79b4eab666..00000000000 --- a/StarVMC/geant3/neutron/seclf9.F +++ /dev/null @@ -1,73 +0,0 @@ -* -* $Id: seclf9.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: seclf9.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE SECLF9(FSE,IFSE,EX,U,E) -C THIS ROUTINE SAMPLES AN EXIT ENERGY FROM -C AN EVAPORATION SPECTRUM -#include "geant321/minput.inc" - DIMENSION FSE(*),IFSE(*) - SAVE -C DETERMINE THETA - IP=1 - EMAX=E-U - NR=IFSE(IP) - NE=IFSE(IP+1) - IP=2*NR+1 - DO 10 I=1,NE - IP=IP+2 - IF(E.LE.FSE(IP))GO TO 20 - 10 CONTINUE - GO TO 30 - 20 IF(I.EQ.1)GO TO 40 -C DETERMINE THE INTERPOLATING SCHEME - CALL INTSCH(IFSE,I,IS,NR) - E1=FSE(IP-2) - E2=FSE(IP) - CALL INTERP(E,THETA,E1,FSE(IP-1),E2,FSE(IP+1),IS) - GO TO 50 -C INCIDENT ENERGY IS ABOVE THE LAST INCIDENT ENERGY GIVEN -C USE THE LAST DISTRIBUTION - 30 THETA=FSE(IP+1) - GO TO 50 -C INCIDENT ENERGY IS BELOW THE FIRST INCIDENT ENERGY GIVEN -C USE THE FIRST DISTRIBUTION - 40 THETA=FSE(IP+1) -C SELECT THE EXIT ENERGY FROM THE EVAPORATION SPECTRUM - 50 R1=FLTRNF(0) - R2=FLTRNF(0) - W=-ALOG(R1*R2) - EX=THETA*W - IF(EX.LE.EMAX)RETURN -#if defined(CERNLIB_MDEBUG) - IF(EX.GT.5.*EMAX) WRITE(IOUT,10000)EX,EMAX -10000 FORMAT(' MICAP: WARNING-EX,EMAX=',1P2E13.5,' IN SECLF9') -#endif - EX=EMAX - RETURN - END diff --git a/StarVMC/geant3/neutron/stopar.F b/StarVMC/geant3/neutron/stopar.F deleted file mode 100644 index f93bb392e8d..00000000000 --- a/StarVMC/geant3/neutron/stopar.F +++ /dev/null @@ -1,54 +0,0 @@ -* -* $Id: stopar.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: stopar.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE STOPAR(ID,NP) -C store particle in MPSTOR common -#include "geant321/mconst.inc" -#include "geant321/mpstor.inc" -#include "geant321/minput.inc" -C - NPSTOR = NPSTOR + 1 - IF(NPSTOR.GT.MAXPAR) THEN - WRITE(IOUT,'('' MICAP : Cant store particle; bank full'', ' - + //' '' ID='',I3,'' NPSTOR='',I5)') ID,NPSTOR - NPSTOR = NPSTOR - 1 - ELSE - EN(NPSTOR) = EP - UN(NPSTOR) = UP - VN(NPSTOR) = VP - WN(NPSTOR) = WP - AMN(NPSTOR) = AMP - ZMN(NPSTOR) = ZMP - AGEN(NPSTOR) = AGEP - MTN(NPSTOR) = MTP - IDN(NPSTOR) = ID - NP = NP + 1 - ENDIF - RETURN - END diff --git a/StarVMC/geant3/neutron/tbsplt.F b/StarVMC/geant3/neutron/tbsplt.F deleted file mode 100644 index a82e7d67df3..00000000000 --- a/StarVMC/geant3/neutron/tbsplt.F +++ /dev/null @@ -1,56 +0,0 @@ -* -* $Id: tbsplt.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: tbsplt.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE TBSPLT(A,E,NP,Y) -C THIS ROUTINE DETERMINES A CROSS SECTION AT A GIVEN -C ENERGY FROM A CROSS SECTION VERSUS ENERGY TABLE USING -C A TABLE SPLITTING METHOD - DIMENSION A(1) - SAVE - IPP=1 - IF(E.LE.A(1))GO TO 40 - IF(E.GE.A(2*NP-1))GO TO 50 - INDXH=NP - INDXL=0 - 10 IF(INDXL+1.EQ.INDXH)GO TO 30 - J=(INDXH+INDXL)/2 - N=2*J-1 - IF(E.LE.A(N))GO TO 20 - INDXL=J - GO TO 10 - 20 INDXH=J - GO TO 10 - 30 N=2*INDXH-1 - Y=A(N-1)+(E-A(N-2))*(A(N+1)-A(N-1))/(A(N)-A(N-2)) - RETURN - 40 Y=A(IPP+1) - RETURN - 50 Y=A(2*NP) - RETURN - END diff --git a/StarVMC/geant3/neutron/thrmsc.F b/StarVMC/geant3/neutron/thrmsc.F deleted file mode 100644 index 15a36821750..00000000000 --- a/StarVMC/geant3/neutron/thrmsc.F +++ /dev/null @@ -1,118 +0,0 @@ -* -* $Id: thrmsc.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: thrmsc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 28/02/95 17.12.29 by S.Giani -*-- Author : - SUBROUTINE THRMSC(D,LD,ITHRMS,LTHRM,E,U,V,W,TEMP,FM,AWR,IIN, - + IFLG,IOUT) -C THIS ROUTINE CONTROLS SELECTION OF THE NEUTRON EXIT ENERGY -C IN THE THERMAL DATA RANGE -#include "geant321/mupsca.inc" - DIMENSION D(*),LD(*),ITHRMS(*),LTHRM(*),AWR(*) - REAL HMASSN, SPI - DATA HMASSN, SPI/0.5044905, 1.1283792/ - -C HMASSN EQUALS ONE-HALF THE NEUTRON MASS -C SPI EQUALS TWO DIVIDED BY THE SQUARE ROOT OF PI -C CONVERT TEMPERATURE FROM DEGREES KELVIN TO EV - DATA BK/8.6167E-5/ - SAVE -C - TDK=BK*TEMP - AAWR=AWR(IIN) - IFLG=0 - NE=ITHRMS(IIN) - IF(NE.LE.0)GO TO 10 - EO=E - NP7=ITHRMS(IIN+1) - NB7=ITHRMS(IIN+2) - CT=ITHRMS(IIN+3) - LENMD=ITHRMS(IIN+4) - N=NB7*NE - CALL THRSEL(NE,NP7,NB7,E,EOUT,FM,CT,ITHRMS(IIN+5), - + ITHRMS(IIN+5+NE),ITHRMS(IIN+5+NE+NP7), - + ITHRMS(IIN+5+NE+NP7+NB7), - + ITHRMS(IIN+5+2*NE+NP7+NB7),ITHRMS(IIN+5+2*NE+NP7+NB7+N), - + ITHRMS(IIN+5+2*NE+NP7+NB7+N+LENMD),AWR,IIN, - + ITHRMS(IIN+5+2*NE+NP7+NB7+N+LENMD+NP7*NB7), - + ITHRMS(IIN+5+2*NE+NP7+NB7+N),IOUT) - E=EOUT -C IFLG EQUAL TO ONE IMPLIES (FM) IN LABORATORY SYSTEM - IFLG=1 - RETURN -C FREE GAS MODEL - 10 CONTINUE -C SPD IS THE SPEED OF THE INCIDENT NEUTRON - SPD=SQRT(E/HMASSN) - TAUN=SPI*SQRT(2.0*TDK/AAWR) - PTEST=SPD/(SPD+TAUN) -C UO, VO, AND WO ARE THE VELOCITY COMPONENTS OF THE INCIDENT -C NEUTRON IN TERMS OF THE NEUTRON SPEED - UO=SPD*U - VO=SPD*V - WO=SPD*W - 20 CONTINUE - IF(PTEST.GT.FLTRNF(0))GO TO 30 - ETA=-ALOG(FLTRNF(0)*FLTRNF(0))*TDK - GO TO 40 - 30 CONTINUE - ETA=RNMAXF(TDK) - 40 CONTINUE -C ERFGM IS THE INITIAL ENERGY OF THE TARGET NUCLEUS - ERFGM=ETA -C ETA IS THE SPEED OF THE TARGET NUCLEUS - ETA=SQRT(2.0*ETA/AAWR) -C UN, VN, AND WN ARE THE VELOCITY COMPONENTS OF THE TARGET -C NUCLEUS IN TERMS OF THE TARGET NUCLEUS SPEED - CALL GTISO(UN,VN,WN) - UN=UN*ETA - VN=VN*ETA - WN=WN*ETA - VRELSQ=(UO-UN)**2+(VO-VN)**2+(WO-WN)**2 - F2=FLTRNF(0)**2 - V2=VRELSQ/(SPD+ETA)**2 - IF(F2.GT.V2)GO TO 20 - VREL=SQRT(VRELSQ) - ALPHA=1.0/(AAWR+1.0) - BETA=1.0-ALPHA - CALL GTISO(UA,VA,WA) - UO=UO*ALPHA+BETA*(UN+VREL*UA) - VO=VO*ALPHA+BETA*(VN+VREL*VA) - WO=WO*ALPHA+BETA*(WN+VREL*WA) - SPDSQ=UO*UO+VO*VO+WO*WO -C E IS THE EXIT ENERGY OF THE NEUTRON - E=HMASSN*SPDSQ - SPD=1.0/SQRT(SPDSQ) - FM=(U*UO+V*VO+W*WO)*SPD -C U, V, AND W ARE THE EXIT NEUTRON DIRECTION COSINES - U=UO*SPD - V=VO*SPD - W=WO*SPD -C IFLG EQUAL TO TWO IMPLIES (U,V,W) IN LABORATORY SYSTEM - IFLG=2 - RETURN - END diff --git a/StarVMC/geant3/neutron/thrsel.F b/StarVMC/geant3/neutron/thrsel.F deleted file mode 100644 index 79201b6a1b8..00000000000 --- a/StarVMC/geant3/neutron/thrsel.F +++ /dev/null @@ -1,153 +0,0 @@ -* -* $Id: thrsel.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: thrsel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE THRSEL(NE,NP7,NB7,E,EOUT,FM,TDK,ETH,ALPHA,BETA,W, - + PMUPS,PMDS,F,AWR,IIN,IPTMD,IPMDS,IOUT) -C THIS ROUTINE SELECTS THE EXIT ENERGY AND SCATTERING ANGLE -C FROM S(ALPHA,BETA) DATA TABLES - DIMENSION ETH(*),ALPHA(*),BETA(*),ABETA2(2),PMDS(*), - + IPTMD(NE),W(NE),IPMDS(*),PMUPS(NB7,NE),F(NP7,NB7),AWR(*) - SAVE -C - AAWR=AWR(IIN) - DO 10 IE=1,NE - IF(E.LT.ETH(IE))GO TO 20 - 10 CONTINUE - INDX=NE - GO TO 30 - 20 INDX=IE - IF(INDX.EQ.1)GO TO 30 - R=FLTRNF(0) - DELE=(ETH(INDX)-E)/(ETH(INDX)-ETH(INDX-1)) - DELEN=DELE - GO TO 40 - 30 DELEN=1.0 - INDX=2 - 40 PROB=DELEN*W(INDX-1)+(1.0-DELEN)*W(INDX) - IF(R.LE.PROB)GO TO 120 -C NEUTRON DOWNSCATTERS - R=FLTRNF(0) - DO 90 I=1,2 - IP=IPTMD(INDX) - NB=IPMDS(IP) - DO 50 IB=1,NB - IF(R.LE.PMDS(IP+NB+IB))GO TO 60 - 50 CONTINUE - WRITE(IOUT,10000)PMDS(IP+2*NB) -10000 FORMAT(' MICAP: CUMULATIVE DOWNSCATTER DIST. DOES NOT END ', - + 'IN 1.0 IN THRSEL',E12.4) - PRINT *,' CALOR: ERROR in MICAP ====> STOP ' - STOP - 60 IF(IB.EQ.1)GO TO 70 - DELE=(PMDS(IP+NB+IB)-R)/(PMDS(IP+NB+IB)-PMDS(IP+NB+IB-1)) - ABETA=DELE*(PMDS(IP+IB-1)-PMDS(IP+IB))+PMDS(IP+IB) - GO TO 80 - 70 ABETA=BETA(IB) - 80 ABETA2(I)=ABETA - INDX=INDX-1 - 90 CONTINUE - ABETA=DELEN*ABETA2(2)+(1.0-DELEN)*ABETA2(1) - EOUT=E-TDK*ABETA - IF(EOUT.LT.1.0E-05)EOUT=1.0E-05 - DO 100 IB=1,NB7 - IF(ABETA.LE.BETA(IB))GO TO 110 - 100 CONTINUE - IB=NB7 - 110 DELE=(ABETA-BETA(IB))/(BETA(IB-1)-BETA(IB)) - GO TO 180 -C NEUTRON UPSCATTERS - 120 R=FLTRNF(0) - DO 170 I=1,2 - DO 130 IB=1,NB7 - IF(R.LE.PMUPS(IB,INDX))GO TO 140 - 130 CONTINUE - WRITE(IOUT,10100)PMUPS(NB7,INDX) -10100 FORMAT(' MICAP: CUMULATIVE UPSCATTER DIST. DOES NOT END ', - + 'IN 1.0 IN THRSEL',E12.4) - PRINT *,' CALOR: ERROR in MICAP ====> STOP ' - STOP - 140 IF(IB.EQ.1)GO TO 150 - DELE=(PMUPS(IB,INDX)-R)/(PMUPS(IB,INDX)-PMUPS(IB-1,INDX)) - ABETA=DELE*(BETA(IB-1)-BETA(IB))+BETA(IB) - GO TO 160 - 150 WRITE(IOUT,10200)PMUPS(1,INDX) -10200 FORMAT(' MICAP: CUMULATIVE UPSCATTER DIST. DOES NOT BEGIN ', - + 'AT 0.0 IN THRSEL',E12.4) - PRINT *,' CALOR: ERROR in MICAP ====> STOP ' - STOP - 160 ABETA2(I)=ABETA - INDX=INDX-1 - 170 CONTINUE - ABETA=DELEN*ABETA2(2)+(1.0-DELEN)*ABETA2(1) - EOUT=E+TDK*ABETA -C SELECT ANGLE - 180 AMAX=(EOUT+E+2.0*SQRT(E*EOUT))/(AAWR*TDK) - AMIN=(EOUT+E-2.0*SQRT(E*EOUT))/(AAWR*TDK) - DO 190 IA=1,NP7 - IF(AMAX.LT.ALPHA(IA))GO TO 200 - 190 CONTINUE - IA=NP7 - DELA=0.0 - GO TO 210 - 200 DELA=(ALPHA(IA)-AMAX)/(ALPHA(IA)-ALPHA(IA-1)) - 210 F4=DELE*(F(IA,IB-1)-F(IA,IB))+F(IA,IB) - F3=DELE*(F(IA-1,IB-1)-F(IA-1,IB))+F(IA-1,IB) - F2=DELA*(F3-F4)+F4 - DO 220 IA=1,NP7 - IF(AMIN.LT.ALPHA(IA))GO TO 230 - 220 CONTINUE - IA=NP7 - DELA=0.0 - GO TO 240 - 230 DELA=(ALPHA(IA)-AMIN)/(ALPHA(IA)-ALPHA(IA-1)) - 240 F4=DELE*(F(IA,IB-1)-F(IA,IB))+F(IA,IB) - F3=DELE*(F(IA-1,IB-1)-F(IA-1,IB))+F(IA-1,IB) - F1=DELA*(F3-F4)+F4 - R=FLTRNF(0) - F0=R*F2+(1.0-R)*F1 - F1=0.0 - DO 250 IA=1,NP7 - F2=DELE*(F(IA,IB-1)-F(IA,IB))+F(IA,IB) - IF(F0.LE.F2)GO TO 260 - F1=F2 - 250 CONTINUE - 260 IF(F1.EQ.F2)GO TO 270 - DELA=(F2-F0)/(F2-F1) - GO TO 280 - 270 ALP=ALPHA(IA) - GO TO 290 - 280 ALP=DELA*ALPHA(IA-1)+(1.0-DELA)*ALPHA(IA) - 290 FM=(E+EOUT-ALP*AAWR*TDK)/(2.0*SQRT(E*EOUT)) - IF(ABS(FM).LE.1.0)RETURN - WRITE(IOUT,10300)FM,E,EOUT,R,IA,IB -10300 FORMAT(' MICAP: ERROR IN THRSEL, COSINE OF ANGLE >1'/, - +' ',1P4E12.4,2I11) - FM=2.0*FLTRNF(0)-1.0 - RETURN - END diff --git a/StarVMC/geant3/neutron/trebod.F b/StarVMC/geant3/neutron/trebod.F deleted file mode 100644 index fade0086d27..00000000000 --- a/StarVMC/geant3/neutron/trebod.F +++ /dev/null @@ -1,168 +0,0 @@ -* -* $Id: trebod.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: trebod.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE TREBOD(D,LD,KZ1,KZ2,KZ3,A1,A2,A3,Z1,Z2,Z3, - + ATAR,Q,MT) -C CZ July 30,1992 Simple aproach to get (N,PA), (N,T2A),(N,D2A) -C processes. This is TWOBOD extended to a third particle -C THIS ROUTINE CALCULATES THE EXIT ENERGIES AND DIRECTIONAL -C COSINES FOR THE CHARGED PARTICLE AND RECOIL NUCLEUS FOR -C A THREE-BODY REACTION USING AN EVAPORATION SPECTRUM AND -C MOMEMTUM BALANCE. IT ALSO SETS ALL EXIT PARAMETERS FOR -C THE COLLISION PRODUCTS AND STORES THEM IN THE RECOIL BANK. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" - DIMENSION D(*),LD(*),ER1(3) - SAVE -C loop over no. of emmitted particles CZ July 30,1992 - NPN = 1 - IF(MT.EQ.112) NPN = 2 - IF(MT.EQ.113) NPN = 3 - IF(MT.EQ.114) NPN = 3 - PRXO = 0.0 - PRYO = 0.0 - PRZO = 0.0 - DO 10 NP=1,NPN -C CALCULATE THE COULOMB BARRIER (CB) - CALL BARIER(KZ1,KZ2,A1,A3,CB) -C CALCULATE THE CHARGED PARTICLE EXIT ENERGY (EX) - CALL CEVAP(EOLD,Q,ATAR,CB,EX) - E1=EX+CB - ZMSS = Z2 - AMSS = A2 - KZZ = KZ2 - IF(NP.EQ.1) THEN - ZMSS = Z1 - AMSS = A1 - KZZ = KZ1 - ENDIF -C ASSUME ISOTROPIC CHARGED PARTICLE EMISSION IN THE LABORATORY - CALL GTISO(U1,V1,W1) - PPN = SQRT(2.0*ZMSS*E1) - PRXO = PRXO + U1*PPN - PRYO = PRYO + V1*PPN - PRZO = PRZO + W1*PPN -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZZ - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=AMSS - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=0.0 - UNOR=0.0 - VNOR=0.0 - WNOR=0.0 - WTNR=0.0 - QR=Q - UR=U1 - VR=V1 - WR=W1 - ER=E1 -C STORE THE CHARGED PARTICLE IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AMP = AR - ZMP = FLOAT(NZR) - AGEP = AGE - MTP = MT - CALL STOPAR(IDHEVY,NHEVY) - A3 = A3 - A2 - Z3 = Z3 - Z2 - KZ3 = KZ3 - KZ2 - 10 CONTINUE - A3 = A3 + A2 - Z3 = Z3 + Z2 - KZ3 = KZ3 + KZ2 -C CALCULATE THE TOTAL MOMENTUM BEFORE THE COLLISION -C NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM - PI=SQRT(2.0*ZN*EOLD) -C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS - PRX=PI*UOLD - PRXO - PRY=PI*VOLD - PRYO - PRZ=PI*WOLD - PRZO -C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS - PR=SQRT(PRX**2+PRY**2+PRZ**2) -C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES - U2=PRX/PR - V2=PRY/PR - W2=PRZ/PR -C CALCULATE THE RECOIL NUCLEUS EXIT ENERGY - XM = A2 * 931.075E6 - E2 = SQRT(PR**2+XM**2) - XM -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ3 - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=A3 - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=0.0 - UNOR=0.0 - VNOR=0.0 - WNOR=0.0 - WTNR=0.0 - QR=Q - UR=U2 - VR=V2 - WR=W2 - ER=E2 -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AMP = AR - ZMP = FLOAT(NZR) - AGEP = AGE - MTP = MT - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/twobod.F b/StarVMC/geant3/neutron/twobod.F deleted file mode 100644 index 916e952a8ff..00000000000 --- a/StarVMC/geant3/neutron/twobod.F +++ /dev/null @@ -1,173 +0,0 @@ -* -* $Id: twobod.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: twobod.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:21:59 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE TWOBOD(D,LD,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,Q,MT) -C THIS ROUTINE CALCULATES THE EXIT ENERGIES AND DIRECTIONAL -C COSINES FOR THE CHARGED PARTICLE AND RECOIL NUCLEUS FOR -C A TWO-BODY REACTION USING AN EVAPORATION SPECTRUM AND -C MOMEMTUM BALANCE. IT ALSO SETS ALL EXIT PARAMETERS FOR -C THE COLLISION PRODUCTS AND STORES THEM IN THE RECOIL BANK. -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mnutrn.inc" -#include "geant321/mrecoi.inc" -#include "geant321/mapoll.inc" -#include "geant321/mmass.inc" -#include "geant321/mpstor.inc" - DIMENSION D(*),LD(*) - SAVE - PRXO = 0.0 - PRYO = 0.0 - PRZO = 0.0 -C loop over no. of emmitted particles CZ July 30,1992 - NPN = 1 - IF(MT.EQ.108) NPN = 2 - IF(MT.EQ.109) NPN = 3 - IF(MT.EQ.111) NPN = 2 -C CALCULATE THE COULOMB BARRIER (CB) - CALL BARIER(KZ1,KZ2,A1,A2,CB) -C CALCULATE THE CHARGED PARTICLE EXIT ENERGY (EX) - CALL CEVAP(EOLD,Q,ATAR,CB,EX) - E1=EX+CB -C calculate the massnumber and mass of the residual nucleus - A2 = A2 - (NPN-1)*A1 - Z2 = Z2 - (NPN-1)*Z1 - IF(A2.LT.0.) A2 = 0. - IF(Z2.LT.0.) Z2 = 0. - IF(NPN.EQ.1) THEN -C for 1 final state particle the available kinetic energy is given -C by momentum and energy conservation - E1 = E1*Z2/(Z1+Z2) - ENDIF - DO 10 NP=1,NPN -C ASSUME ISOTROPIC CHARGED PARTICLE EMISSION IN THE LABORATORY - CALL GTISO(U1,V1,W1) - IF(NPN.EQ.1) THEN -C only one final state particle -> use all the energy available - PPN = SQRT(2.0*Z1*E1) - EKN = E1 - ELSE - IF(NP.LT.NPN) THEN - EKN = E1*FLTRNF(0) - ELSE - EKN = E1 - ENDIF - E1 = E1 - EKN - PPN = SQRT(2.0*Z1*EKN) - ENDIF - PRXO = PRXO + U1*PPN - PRYO = PRYO + V1*PPN - PRZO = PRZO + W1*PPN -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ1 - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=A1 - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=0.0 - UNOR=0.0 - VNOR=0.0 - WNOR=0.0 - WTNR=0.0 - QR=Q - UR=U1 - VR=V1 - WR=W1 - ER=EKN -C STORE THE CHARGED PARTICLE IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AMP = AR - ZMP = FLOAT(NZR) - AGEP = AGE - MTP = MT - CALL STOPAR(IDHEVY,NHEVY) - 10 CONTINUE -C CALCULATE THE TOTAL MOMENTUM BEFORE THE COLLISION -C NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM - PI=SQRT(2.0*ZN*EOLD) -C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS - PRX=PI*UOLD - PRXO - PRY=PI*VOLD - PRYO - PRZ=PI*WOLD - PRZO -C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS - PR=SQRT(PRX**2+PRY**2+PRZ**2) -C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES - U2=PRX/PR - V2=PRY/PR - W2=PRZ/PR -C CALCULATE THE RECOIL NUCLEUS EXIT ENERGY - XM = A2*931.075E6 - E2 = SQRT(PR**2+XM**2) - XM -C CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS - XR=X - YR=Y - ZR=Z - WATER=WTBC - NZR=KZ2 - AGER=AGE - NCOLR=NCOL - MTNR=MT - AR=A2 - ENIR=EOLD - UNIR=UOLD - VNIR=VOLD - WNIR=WOLD - ENOR=0.0 - UNOR=0.0 - VNOR=0.0 - WNOR=0.0 - WTNR=0.0 - QR=Q - UR=U2 - VR=V2 - WR=W2 - ER=E2 -C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK - EP = ER - UP = UR - VP = VR - WP = WR - AMP = AR - ZMP = FLOAT(NZR) - AGEP = AGE - MTP = MT - CALL STOPAR(IDHEVY,NHEVY) - RETURN - END diff --git a/StarVMC/geant3/neutron/xsecn1.F b/StarVMC/geant3/neutron/xsecn1.F deleted file mode 100644 index 02a36e1468e..00000000000 --- a/StarVMC/geant3/neutron/xsecn1.F +++ /dev/null @@ -1,91 +0,0 @@ -* -* $Id: xsecn1.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: xsecn1.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE XSECN1(NII,KE,IN,ICOM,IREC,IUNIT,LNUMB,IND, - + BUF,IBUF,INEL) -C THIS ROUTINE READS THE SECOND RECORD ON INPUT -C I/O UNIT (MICROS) (I.E. THE B CONTROL BLOCK) -#include "geant321/minput.inc" -#include "geant321/mmicap.inc" -#include "geant321/mconst.inc" - DIMENSION BUF(*),IBUF(*),ICOM(*),KE(*),IREC(*),IND(*),IN(*) - DIMENSION INEL(*),LNUMB(*),IUNIT(*) - INTEGER NII -C READ THE B CONTROL BLOCK OFF INPUT I/O UNIT - LT = LTEMP - LZ = 1 - IU = 1 - 10 CONTINUE - NU = IQ(LT+NTUNIT) - NIJ = IQ(LT+NTMPNI) - LZZ=3*NIJ - READ(NU,'((8I10))')(IBUF(I),I=LZ,LZZ+LZ) -C INITIALIZE IND ARRAY AND IREC ARRAY TO ZERO - DO 20 I=IU,IU+NIJ-1 - IUNIT(I) = NU - 20 CONTINUE - IU = IU+NIJ - LZ = LZ + LZZ - LT = LQ(LT) - IF(LT.GT.0) GOTO 10 - DO 30 I=1,NII - INEL(I)=0 - IREC(I)=0 - 30 CONTINUE - DO 40 I=1,NMIX - 40 IND(I)=0 - II=0 - JI=0 - 50 II=II+1 -CZ IF(II.GT.NII)GO TO 90 - IF(3*II.GT.LZ)GO TO 90 - NEL=IBUF(3*II-2) - INEL(II)=NEL - DO 60 IJ=1,NMIX -C correct element AND the correct unit ? - IF(NEL.EQ.KE(IJ)) GO TO 70 - 60 CONTINUE - IREC(II)=0 - GO TO 50 - 70 I=IN(IJ) -C ICOM RELATES THE ISOTOPE NUMBER TO THE DICTIONARY NUMBER - IF(ICOM(I).GT.0) IREC(ICOM(I)) = 0 - ICOM(I)=II -C total length of x-section data in words - LNUMB(I) = IBUF(3*II) - IREC(II) = IBUF(3*II-1) -C SET INDICATORS - DO 80 I=IJ,NMIX - IF(NEL.NE.KE(I))GO TO 80 - IND(I)=1 - JI=JI+1 - 80 CONTINUE - GO TO 50 - 90 RETURN - END diff --git a/StarVMC/geant3/neutron/xsecn2.F b/StarVMC/geant3/neutron/xsecn2.F deleted file mode 100644 index bb69aa807c7..00000000000 --- a/StarVMC/geant3/neutron/xsecn2.F +++ /dev/null @@ -1,344 +0,0 @@ -* -* $Id: xsecn2.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: xsecn2.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:05 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani -*-- Author : - SUBROUTINE XSECN2(ICOM,IREC,IUNIT,IGAMS,LGAM,ELTOL,INABS,LNAB, - + ITHRMS,LTHRM,IDICTS,LDICT,NTX,NTS,IGCBS,LGCB,AWR,Q,LR,QLR, - + BUF,IBUF,LIM,LAST,INEL) -C THIS ROUTINE READS THE REMAINDER OF INPUT I/O UNIT(s), -C SELECTS THE ELEMENTS NEEDED FOR THE CALCULATIONS, -C AND STORES THE CROSS SECTION DATA IN CORE -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mmicab.inc" - CHARACTER*4 MARK - DIMENSION BUF(*),IBUF(*),ICOM(*),IGAMS(*),LGAM(*),INABS(*), - +LNAB(*),ITHRMS(*),LTHRM(*),AWR(*),IDICTS(NNR,NNUC),ELTOL(*), - +LDICT(NNR,NNUC),Q(NQ,NNUC),NTX(*),NTS(*),IGCBS(NGR,NNUC), - +LGCB(NGR,NNUC),IREC(*),LR(NQ,NNUC),QLR(NQ,NNUC) - DIMENSION INEL(*),IUNIT(*) -C ASSIGN THE DEFAULT VALUES - LEN=0 -C INITIALIZE THE COUNTERS FOR THE LOOP -C NISR EQUALS THE NUMBER OF ISOTOPES READ -C IRECNO EQUALS THE NEXT RECORD NUMBER TO BE READ ON INPUT -C I/O UNIT (NUNIT) -C LAST EQUALS THE LAST CORE POSITION USED IN THE CALLING -CROUTINE (INPUT1) -C LST EQUALS THE LAST POSITION USED IN THE BUF ARRAY -C (I.E. (BUF(LST) = D(LAST))) - NISR=0 - IRECNO=1 - LST=0 -C PRINT OUT THE CROSS SECTION DIRECTORY IF CALLED FOR - 10 CONTINUE -C START LOOP TO READ IN THE DATA ON INPUT I/O UNIT - DO 370 II=1,NI - IR = IREC(II) - IF(NUNIT.NE.IUNIT(II)) IRECNO = 1 - NUNIT= IUNIT(II) - IF(NUNIT.LE.0) THEN - WRITE(IOUT,'(/,'' XSECN2 : Wrong unit number '',I10)') NUNIT - GOTO 370 - ENDIF - IF(NISR.GE.NNUC)GO TO 370 - IF(IR.EQ.0)GO TO 370 -C LOOP TO LOCATE THE I CONTROL BLOCK RECORD (IR=IREC(II)) -CZ x-section endmark = 'ENDE' -CZ file endmark ='ENDF' - MARK = ' ' - 20 IF(MARK.EQ.'ENDE') IRECNO = IRECNO + 1 - IF(MARK.EQ.'ENDF') GOTO 50 - IF(IR.EQ.IRECNO) GOTO 30 - READ(NUNIT,'(A)') MARK - GO TO 20 -C CHECK TO DETERMINE THE ISOTOPE NUMBER FOR THE RANDOM WALK - 30 DO 40 I=1,NNUC - IF(ICOM(I).EQ.II)GO TO 60 - 40 CONTINUE - 50 WRITE(IOUT,10000)II -10000 FORMAT('0',10X,'ERROR IN ROUTINE XSECN2, II=',I6,/) - GO TO 390 -C READ I CONTROL BLOCK RECORD OFF INPUT I/O UNIT (NUNIT) FOR -C THE ELEMENT CORRESPONDING TO IREC(II) AND ICOM(I) - 60 IJK=I - READ(NUNIT,'(I10,4G13.7,1I10,/,6I10)') IBUF(LST+1),(BUF(LST+ - + IK),IK=2,5),(IBUF(LST+IJ),IJ=6,12) - NISR=NISR+1 -C ASSIGN VALUES TO ARRAYS NEEDED FOR THE RANDOM WALK - ISO=IJK - NEL=INEL(II) - AWR(ISO)=BUF(LST+2) -CZ store accuracy of xs - ELTOL(ISO) = BUF(LST+4) - IFLAGU=IBUF(LST+6) - LGAM(ISO)=IBUF(LST+7) - NTX(ISO)=IBUF(LST+8) - NTS(ISO)=IBUF(LST+9) - LTHRM(ISO)=IBUF(LST+11) - LNAB(ISO)=IBUF(LST+12) -C READ IN THE ISOTOPE DICTIONARY (IDICT ARRAY) -C FROM INPUT I/O UNIT (NUNIT) - READ(NUNIT,'((8I10))')(LDICT(J,ISO),J=1,NNR) - 70 CONTINUE -C READ IN ENDF/B FILE3 CROSS SECTION DATA -C READ IN ENDF/B FILE4 ANGULAR DISTRIBUTION DATA -C READ IN ENDF/B FILE5 SECONDARY ENERGY DISTRIBUTION DATA - DO 190 I2=1,NNR - LZ=LDICT(I2,ISO) - IF(LZ.EQ.0)GO TO 190 - LEN=LIM-LAST - IF(LEN.LT.LZ)GO TO 380 - IDICTS(I2,ISO)=LAST+1-LMOX2 -CZ changed in order to read ASCII input file -C I2 < 67 -> x-section data -C I2 < 123 -> angular distribution -C I2 < 134 -> secondary energy distribution -C I2 = 134 -> - IF(I2.LT.67) THEN - READ(NUNIT,'((6G13.7))')(BUF(LST+I),I=1,LZ) - ELSE IF(I2.LT.123) THEN -C ------------------- I2 = 67 ----------------------------- - READ(NUNIT,'((8I10))') (IBUF(LST+I),I=1,2), (IBUF(LST+ - + J+2),J=1,2*IBUF(LST+1)) - K = 2*IBUF(LST+1) + 2 + 1 - DO 80 J=1,IBUF(LST+2) - READ(NUNIT,'(G13.7,I10,/,(6G13.7))') BUF(LST+K), - + IBUF(LST+K+1), (BUF(LST+IK+K+1),IK=1,IBUF(LST+K+1)*2) - K = K + 2 + IBUF(LST+K+1)*2 - 80 CONTINUE - ELSE IF(I2.LT.134) THEN -C-------------------- I2 = 123 ---------------------------- - READ(NUNIT,'(2I10,G13.7,2I10,/,(8I10))') (IBUF(LST+I), - + I=1,2),BUF(LST+3),(IBUF(LST+J),J=4,5), (IBUF(LST+K+5),K= - + 1,2*IBUF(LST+4)) - ID = 2*IBUF(LST+4) + 5 - LF = IBUF(LST+2) - NP2 = 2*IBUF(LST+5) - READ(NUNIT,'((6G13.7))') (BUF(LST+ID+I),I=1,NP2) - ID = ID + NP2 - KEND = 1 - IF(LF.EQ.5.OR.LF.EQ.11) KEND = 2 - DO 100 K=1,KEND - READ(NUNIT,'((8I10))') (IBUF(LST+ID+I),I=1,2) - NR2 = 2*IBUF(LST+ID+1) - NE = IBUF(LST+ID+2) - ID = ID + 2 - READ(NUNIT,'((8I10))') (IBUF(LST+ID+I),I=1,NR2) - ID = ID + NR2 - IEND = NE - IF(LF.EQ.5.OR.LF.EQ.11) IEND = 1 - IF(LF.EQ.7.OR.LF.EQ.9) IEND = 1 - DO 90 I=1,IEND - IF(LF.EQ.1) THEN - READ(NUNIT,'(G13.7,2I10)') BUF(LST+ID+1), - + (IBUF(LST+ID+J),J=2,3) - NR2 = 2*IBUF(LST+ID+2) - NP2 = 2*IBUF(LST+ID+3) - ID = ID + 3 - READ(NUNIT,'((8I10))') (IBUF(LST+ID+J),J=1, - + NR2) - ID = ID + NR2 - ELSE - NP2 = 2*NE - ENDIF - READ(NUNIT,'((6G13.7))') (BUF(LST+ID+J),J=1,NP2) - ID = ID + NP2 - 90 CONTINUE - 100 CONTINUE - ELSE -C ------------------ I2 = 134 -------------------------------------- - READ(NUNIT,'(I10)') IBUF(LST+1) - LNU = IBUF(LST+1) - IF(LNU.NE.2) THEN - READ(NUNIT,'(I10,/,(6G13.7))') IBUF(LST+2), (BUF(LST - + +I+2),I=1,IBUF(LST+2)) - ELSE - READ(NUNIT,'((8I10))') (IBUF(LST+I),I=2,3) - NR2 = IBUF(LST+2)*2 - READ(NUNIT,'((8I10))') (IBUF(LST+3+J),J=1,NR2) - NP2 = IBUF(LST+3)*2 - READ(NUNIT,'((6G13.7))') (BUF(LST+3+NR2+J),J=1,NP2) - ENDIF - ENDIF -CZ end of change - IF(I2.GT.66)GO TO 120 - 110 CONTINUE - GO TO 180 - 120 IF(I2.GT.122)GO TO 150 - 130 CONTINUE - CALL ANGCDF(BUF(LST+1),BUF(LST+1),LZ) - 140 CONTINUE - GO TO 180 - 150 IF(I2.GT.133)GO TO 170 - 160 CONTINUE - GO TO 180 - 170 CONTINUE - 180 CONTINUE - LAST=LAST+LZ - LST=LST+LZ - 190 CONTINUE -C READ IN THE AVERAGE PHOTON PRODUCTION ARRAY - LZ=LGAM(ISO) - IF(LZ.EQ.0)GO TO 210 - LEN=LIM-LAST - IF(LEN.LT.LZ)GO TO 380 - IGAMS(ISO)=LAST+1-LMOX2 - READ(NUNIT,'((6G13.7))')(BUF(LST+I),I=1,LZ) - 200 CONTINUE - LAST=LAST+LZ - LST=LST+LZ - 210 CONTINUE -C READ IN THE TOTAL NEUTRON DISAPPERANCE ARRAY - LZ=LNAB(ISO) - IF(LZ.EQ.0)GO TO 230 - LEN=LIM-LAST - IF(LEN.LT.LZ)GO TO 380 - INABS(ISO)=LAST+1-LMOX2 - READ(NUNIT,'((6G13.7))')(BUF(LST+I),I=1,LZ) - 220 CONTINUE - LAST=LAST+LZ - LST=LST+LZ - 230 CONTINUE -C READ IN THE Q VALUE ARRAY - READ(NUNIT,'((6G13.7))')(Q(I,ISO),I=1,NQ) - 240 CONTINUE -C READ IN THE LR VALUE ARRAY - READ(NUNIT,'((8I10))')(LR(I,ISO),I=1,NQ) - 250 CONTINUE -C READ IN THE QLR VALUE ARRAY - READ(NUNIT,'((6G13.7))')(QLR(I,ISO),I=1,NQ) - 260 CONTINUE -C READ IN THE PHOTON DATA DICTIONARY (GCB ARRAY) -C FROM INPUT I/O UNIT (NUNIT) -C CURRENT STORAGE IS SET TO ACCOMODATE UP TO 30 INTERACTIONS -C (I.E. (2*NTX(ISO)+2*NTS(ISO)).LE.NGR) - L=2*NTX(ISO)+2*NTS(ISO) - IF(L.EQ.0)GO TO 350 - L1=2*NTX(ISO) - L2=L1+1 - READ(NUNIT,'((8I10))')(LGCB(J,ISO),J=1,L) - 270 CONTINUE -C READ IN ENDF/B FILE12 PHOTON MULTIPLICATION DATA -C READ IN ENDF/B FILE13 PHOTON CROSS SECTION DATA - NNTX=NTX(ISO) - DO 300 I2=1,NNTX - LZ=LGCB(2*I2,ISO) - IF(LZ.EQ.0)GO TO 300 - LEN=LIM-LAST - IF(LEN.LT.LZ)GO TO 380 - IGCBS(2*I2-1,ISO)=LGCB(2*I2-1,ISO) - IGCBS(2*I2,ISO)=LAST+1-LMOX2 -CZ changed in order to read ASCII xsection file - READ(NUNIT,'((8I10))') (IBUF(LST+I),I=1,2) - READ(NUNIT,'((6G13.7))') (BUF(LST+J+2),J=1,IBUF(LST+2)) - ID = IBUF(LST+2) + 2 + LST - DO 280 K = 1, IBUF(LST+1) - READ(NUNIT,'(2(G13.7,I10))') BUF(ID+1),IBUF(ID+2), - + BUF(ID+3),IBUF(ID+4) - ID = ID + 4 - READ(NUNIT,'((6G13.7))') (BUF(ID + J),J=1,IBUF(LST+2)) - ID = ID + IBUF(LST+2) - 280 CONTINUE -CZ end of change - 290 CONTINUE - LAST=LAST+LZ - LST=LST+LZ - 300 CONTINUE -C READ IN ENDF/B FILE15 PHOTON SECONDARY ENERGY DISTRIBUTIONS - NNTS=NTS(ISO) - IF(NNTS.EQ.0)GO TO 350 - DO 340 I2=1,NNTS - LZ=LGCB(L1+2*I2,ISO) - IF(LZ.EQ.0)GO TO 340 - LEN=LIM-LAST - IF(LEN.LT.LZ)GO TO 380 - IGCBS(L1+2*I2-1,ISO)=LGCB(L1+2*I2-1,ISO) - IGCBS(L1+2*I2,ISO)=LAST+1-LMOX2 -CZ changed in order to read ASCII xsection file - READ(NUNIT,'(2I10,G13.7,2I10,/,(8I10))') (IBUF(LST+I),I=1, - + 2),BUF(LST+3), (IBUF(LST+J),J=4,5), (IBUF(LST+K+5),K=1,2* - + IBUF(LST+4)) - ID = 2*IBUF(LST+4) + 5 - LF = IBUF(LST+2) - NP2 = 2*IBUF(LST+5) - READ(NUNIT,'((6G13.7))') (BUF(LST+ID+I),I=1,NP2) - ID = ID + NP2 - KEND = 1 - IF(LF.EQ.5.OR.LF.EQ.11) KEND = 2 - DO 320 K=1,KEND - READ(NUNIT,'((8I10))') (IBUF(LST+ID+I),I=1,2) - NR2 = 2*IBUF(LST+ID+1) - NE = IBUF(LST+ID+2) - ID = ID + 2 - READ(NUNIT,'((8I10))') (IBUF(LST+ID+I),I=1,NR2) - ID = ID + NR2 - IEND = NE - IF(LF.EQ.5.OR.LF.EQ.11) IEND = 1 - IF(LF.EQ.7.OR.LF.EQ.9) IEND = 1 - DO 310 I=1,IEND - IF(LF.EQ.1) THEN - READ(NUNIT,'(G13.7,2I10)') BUF(LST+ID+1), (IBUF(L - + ST+ID+J),J=2,3) - NR2 = 2*IBUF(LST+ID+2) - NP2 = 2*IBUF(LST+ID+3) - ID = ID + 3 - READ(NUNIT,'((8I10))') (IBUF(LST+ID+J),J=1,NR2) - ID = ID + NR2 - ELSE - NP2 = 2*NE - ENDIF - READ(NUNIT,'((6G13.7))') (BUF(LST+ID+J),J=1,NP2) - ID = ID + NP2 - 310 CONTINUE - 320 CONTINUE -CZ end of change - 330 CONTINUE - LAST=LAST+LZ - LST=LST+LZ - 340 CONTINUE - 350 CONTINUE -C READ IN THE THERMAL CROSS SECTION DATA ARRAY - LZ=LTHRM(ISO) - IF(LZ.EQ.0)GO TO 360 - LEN=LIM-LAST - IF(LEN.LT.LZ)GO TO 380 - ITHRMS(ISO)=LAST+1 - READ(NUNIT,'((6G13.7))')(BUF(LST+I),I=1,LZ) - LAST=LAST+LZ - LST=LST+LZ - 360 CONTINUE - 370 CONTINUE - GO TO 400 - 380 WRITE(IOUT,10100)LZ,LEN -10100 FORMAT('0','NOT ENOUGH SPACE TO READ IN RECORD',/,5X, - +'LENGTH OF RECORD=',I10,/,5X,'SPACE AVAILABLE=',I10) - 390 PRINT '('' CALOR: ERROR in XSECN2 ====> STOP '')' - STOP - 400 RETURN - END diff --git a/StarVMC/geant3/neutron/xsecn3.F b/StarVMC/geant3/neutron/xsecn3.F deleted file mode 100644 index 6f2ba46178f..00000000000 --- a/StarVMC/geant3/neutron/xsecn3.F +++ /dev/null @@ -1,206 +0,0 @@ -* -* $Id: xsecn3.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: xsecn3.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE XSECN3(KM,KE,RHO,IN,IDICTS,LDICT,ISIGTS,LSIGT,BUF, - +IBUF,TCS,LIM,LAST) -C THIS ROUTINE CREATES MACROSCOPIC TOTAL CROSS SECTIONS -C AND THEN MIXES AND THINS THESE CROSS SECTIONS ACCORDING -C TO THE MIXING TABLE -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mpoint.inc" -#include "geant321/mmicab.inc" - DIMENSION BUF(*),IBUF(*),KM(*),KE(*),RHO(*),IN(*), - +IDICTS(NNR,NNUC),LDICT(NNR,NNUC),ISIGTS(*),LSIGT(*),TCS(*) -C ASSIGN THE INITIAL VALUES -C LST EQUALS THE LAST POSITION USED IN THE BUF ARRAY -C (I.E. (BUF(LST) = D(LAST))) -C LEN EQUALS THE CORE SPACE AVAILABLE - LST=0 - LEN=LIM-LAST - TOL = 1.0 -C READ IN TWO CROSS SECTION ARRAYS AND CREATE -C MACROSCOPIC CROSS SECTIONS - DO 160 J=1,MEDIA - JI=0 - K=0 -C READ IN THE FIRST ARRAY - DO 140 IJ=1,NMIX - IF(KM(IJ).NE.J)GO TO 140 - JI=JI+1 - K=K+1 - II=IN(IJ) - TOL = AMIN1(TCS(LFP210+II-1)/5.,TOL) - IF(JI.EQ.2)GO TO 20 - LZ=LDICT(1,II) - ISLZ=IDICTS(1,II)+LMOX2 - N=LZ - IF(LEN.LT.N)GO TO 180 - NP=LZ/2 - DO 10 M=1,NP - BUF(LST+2*M-1)=TCS(ISLZ+2*(M-1)) - BUF(LST+2*M)=TCS(ISLZ+2*M-1)*RHO(IJ) - 10 CONTINUE - GO TO 140 - 20 CONTINUE -C READ IN THE SECOND ARRAY - LZ2=LZ+1 - LZ1=LZ - LZ=LDICT(1,II) - ISLZ=IDICTS(1,II)+LMOX2 - N=2*(LZ+LZ1) - IF(N.GE.LEN)GO TO 180 - NP=LZ/2 - DO 30 M=1,NP - BUF(LST+LZ1+2*M-1)=TCS(ISLZ+2*(M-1)) - BUF(LST+LZ1+2*M)=TCS(ISLZ+2*M-1)*RHO(IJ) - 30 CONTINUE - GO TO 40 -C MIX THE TWO ARRAYS - 40 K=2 - L=2 - IF(BUF(LST+1).NE.1.E-5)GO TO 170 - IF(BUF(LST+LZ2).NE.1.E-5)GO TO 170 - NXSEC=1 - BUF(LST+LZ1+LZ+1)=1.E-5 - BUF(LST+LZ1+LZ+2)=BUF(LST+2)+BUF(LST+LZ2+1) -C DETERMINE THE NEXT ENERGY POINT - 50 IF(BUF(LST+1+K).EQ.BUF(LST+LZ2+L))GO TO 90 - IF(BUF(LST+1+K).LT.BUF(LST+LZ2+L))GO TO 70 -C DETERMINE THE CROSS SECTION AT ENERGY POINT BUF(LST+LZ2+L) - CALL CTERP(BUF(LST+K-1),BUF(LST+K+1),BUF(LST+LZ2+L), - + BUF(LST+K), BUF(LST+K+2),SIGMA) - NXSEC=NXSEC+1 - LP=LZ1+LZ+1+2*(NXSEC-1) - BUF(LST+LP)=BUF(LST+LZ2+L) - BUF(LST+LP+1)=BUF(LST+LZ2+L+1)+SIGMA - L=L+2 - IF(L.LT.LZ)GO TO 50 -C ALL THE POINTS IN THE SECOND ARRAY HAVE NOW BEEN USED - 60 NXSEC=NXSEC+1 - LP=LZ1+LZ+1+2*(NXSEC-1) - BUF(LST+LP)=BUF(LST+1+K) - BUF(LST+LP+1)=BUF(LST+2+K) - K=K+2 - IF(K.LT.LZ1)GO TO 60 - GO TO 100 -C DETERMINE THE CROSS SECTION AT ENERGY POINT BUF(LST+1+K) - 70 CALL CTERP(BUF(LST+LZ2+L-2),BUF(LST+LZ2+L),BUF(LST+1+K), - + BUF(LST+LZ2+L-1),BUF(LST+LZ2+L+1),SIGMA) - NXSEC=NXSEC+1 - LP=LZ1+LZ+1+2*(NXSEC-1) - BUF(LST+LP)=BUF(LST+1+K) - BUF(LST+LP+1)=BUF(LST+K+2)+SIGMA - K=K+2 - IF(K.LT.LZ1)GO TO 50 -C ALL THE POINTS IN THE FIRST ARRAY HAVE NOW BEEN USED - 80 NXSEC=NXSEC+1 - LP=LZ1+LZ+2*NXSEC-1 - BUF(LST+LP)=BUF(LST+LZ2+L) - BUF(LST+LP+1)=BUF(LST+LZ2+L+1) - L=L+2 - IF(L.LT.LZ)GO TO 80 - GO TO 100 -C THE ENERGY POINTS COINCIDE - 90 NXSEC=NXSEC+1 - LP=LZ1+LZ+1+2*(NXSEC-1) - BUF(LST+LP)=BUF(LST+LZ2+L) - BUF(LST+LP+1)=BUF(LST+2+K)+BUF(LST+LZ2+L+1) - L=L+2 - K=K+2 - IF((L.LT.LZ).AND.(K.LT.LZ1))GO TO 50 - IF((L.GT.LZ).AND.(K.LT.LZ1))GO TO 60 - IF((L.LT.LZ).AND.(K.GT.LZ1))GO TO 80 -C FINISHED MIXING NOW THIN - 100 L=1 - NXSEC2=1 - LP=LZ1+LZ - BUF(LST+NXSEC2)=BUF(LST+LP+L) - BUF(LST+NXSEC2+1)=BUF(LST+LP+L+1) - KI=0 - 110 L=L+2 - KI=KI+1 -C CHECK TO SEE IF AT END OF CROSS SECTION ARRAY - L2=L+2 - N=2*NXSEC - IF(L2.LT.N)GO TO 120 -C FINISHED THINING - NXSEC2=NXSEC2+1 - N=2*(NXSEC2-1) - BUF(LST+1+N)=BUF(LST+LP+L) - BUF(LST+2+N)=BUF(LST+LP+L+1) - LZ=2*NXSEC2 - JI=1 - GO TO 140 - 120 DO 130 I=1,KI -C ESTIMATE THE CROSS SECTION AT KI NODES - CALL CTERP(BUF(LST+LP+L-2*KI),BUF(LST+LP+L2), - + BUF(LST+LP+L-2*I+2),BUF(LST+LP+L-2*KI+1), - + BUF(LST+LP+L2+1),SIGMA) - ER=ABS(SIGMA-BUF(LST+LP+L-2*I+3)) -C IF ERROR IS WITHIN ALLOWABLE TOLERANCE, CHECK NEXT POINT - ERMAX=BUF(LST+LP+L-2*I+3)*TOL - IF(ER.LE.ERMAX)GO TO 130 -C NOT WITHIN ALLOWABLE TOLERANCE, MUST ADD NODE L-2 TO MESH - IF(L.GT.3.AND.KI.GT.1) L = L - 2 - NXSEC2=NXSEC2+1 - N=2*(NXSEC2-1) - BUF(LST+1+N)=BUF(LST+LP+L) - BUF(LST+2+N)=BUF(LST+LP+L+1) - KI = 0 - GO TO 110 - 130 CONTINUE -C ALL KI POINTS ARE WITHIN ALLOWABLE TOLERANCE -C CHECK THE NEXT POINT - GO TO 110 - 140 CONTINUE -C FINISHED WITH MEDIUM J, NOW STORE IN CORE - N=2*NXSEC2 - IF(K.EQ.1)N=LZ - LSIGT(J)=N - ISIGTS(J)=LAST+1-LMOX3 - 150 CONTINUE - LAST=LAST+N - LST=LST+N -C FINISHED MIXING AND THINING - 160 CONTINUE - GO TO 200 - 170 WRITE(IOUT,10000)BUF(LST+1),BUF(LST+LZ2) -10000 FORMAT(' MICAP: ERROR-BEGINNING ENERGY DOES NOT START AT 1.-5', - +1P2E12.4) - GOTO 190 - 180 CONTINUE - L=LEN - WRITE(IOUT,10100)L,N -10100 FORMAT(' MICAP: NOT ENOUGH ROOM TO MIX CROSS SECTIONS',/,5X, - +'SPACE AVAILABLE=',I10,/,5X,'SPACE NEEDED=',I10) - 190 PRINT '('' CALOR: ERROR in XSECN3 ====> STOP'')' - STOP - 200 RETURN - END diff --git a/StarVMC/geant3/neutron/xsecn5.F b/StarVMC/geant3/neutron/xsecn5.F deleted file mode 100644 index ff2027c502c..00000000000 --- a/StarVMC/geant3/neutron/xsecn5.F +++ /dev/null @@ -1,102 +0,0 @@ -* -* $Id: xsecn5.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: xsecn5.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE XSECN5(NTX,IGCBS,LGCB,IGCBS2,LGCB2,BUF,IBUF,D,LD, - +LIM,LAST) -C THIS ROUTINE READS THE PHOTON PARTIAL DISTRIBUTIONS FOR EACH -C REACTION LISTED IN THE GCB ARRAYS AND SUMS THEM UP TO -C CREATE A TOTAL MULTIPLICITY * CROSS SECTION ARRAY FOR -C EACH REACTION AND STORES THIS CROSS SECTION DATA IN CORE -#include "geant321/minput.inc" -#include "geant321/mconst.inc" -#include "geant321/mmicab.inc" - DIMENSION NTX(NNUC),IGCBS(NGR,NNUC),LGCB(NGR,NNUC), - +IGCBS2(NGR,NNUC),LGCB2(NGR,NNUC),BUF(*),IBUF(*),D(*),LD(*) -C ASSIGN THE DEFAULT VALUES - LEN=0 -C INITIALIZE THE COUNTERS FOR THE LOOP -C LAST EQUALS THE LAST CORE POSITION USED IN THE CALLING -CROUTINE (INPUT1) -C LST EQUALS THE LAST POSITION USED IN THE BUF ARRAY -C (I.E. (BUF(LST) = D(LAST))) - LST=0 - DO 70 I=1,NNUC - NNTX=NTX(I) - L=2*NNTX - IF(L.EQ.0)GO TO 70 - DO 60 I2=1,NNTX - LZ=LGCB(2*I2,I) - IF(LZ.EQ.0)GO TO 60 - LEN=LIM-LAST - IF(LEN.LT.LZ)GO TO 80 -C EQUATE THE MT NUMBERS IN THE GCB AND GCB2 DICTIONARIES - IGCBS2(2*I2-1,I)=IGCBS(2*I2-1,I) - LGCB2(2*I2-1,I)=LGCB(2*I2-1,I) -C SET THE STARTING LOCATION FOR THE PHOTON TOTAL CROSS SECTION - IGCBS2(2*I2,I)=LAST+1-LMOX4 -C OBTAIN THE STARTING LOCATION OF THE PARTIAL DISTRIBUTIONS - IST=IGCBS(2*I2,I)+LMOX2 - NK=LD(IST) - NP=LD(IST+1) - NP2=2*NP - LGCB2(2*I2,I)=NP2 -C ZERO OUT THE CORE AREA TO STORE THE TOTAL PHOTON -C MULTIPLICITY * CROSS SECTION ARRAYS - DO 10 IP=1,NP2 - BUF(LST+IP)=0.0 - 10 CONTINUE -C SET UP THE ENERGY BOUNDARIES FOR THE (E,XS) TABLE - DO 20 J=1,NP - BUF(LST+2*J-1)=D(IST+J+2-1) - 20 CONTINUE - II=NP+2 - AWRI=D(IST+II+3-1) -C SUM THE PARTIAL DISTRIBUTIONS TO OBTAIN THE TOTAL -C MULTIPLICITY * CROSS SECTION ARRAY AND STORE IN THE -C ENERGY,CROSS SECTION TABLE - DO 40 J=1,NK - II=II+4 - DO 30 K=1,NP - BUF(LST+2*K)=BUF(LST+2*K)+D(IST+II+K-1) - 30 CONTINUE - II=II+NP - 40 CONTINUE - 50 CONTINUE -C UPDATE CORE LOCATION POINTERS - LAST=LAST+NP2 - LST=LST+NP2 - 60 CONTINUE - 70 CONTINUE - RETURN - 80 WRITE(IOUT,10000)LZ,LEN -10000 FORMAT(' MICAP: NOT ENOUGH SPACE TO READ IN RECORD',/,5X, - +'LENGTH OF RECORD=',I10,/,5X,'SPACE AVAILABLE=',I10) - PRINT '('' CALOR: ERROR in XSECN5 ====> STOP '')' - STOP - END diff --git a/StarVMC/geant3/neutron/xsecnu.F b/StarVMC/geant3/neutron/xsecnu.F deleted file mode 100644 index b60ed27a7e6..00000000000 --- a/StarVMC/geant3/neutron/xsecnu.F +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: xsecnu.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: xsecnu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:27 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:21 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani -*-- Author : - SUBROUTINE XSECNU(BUF,LEN,E,XSC,L1,L2) -C THIS ROUTINE DETERMINES A CROSS SECTION AT A GIVEN ENERGY -C FROM A CROSS SECTION VERSUS ENERGY TABLE - DIMENSION BUF(*) - SAVE - IF(E.LT.BUF(L1))GO TO 40 - DO 10 J=1,LEN - N=L1+2*(J-1) - IF(E.LE.BUF(N))GO TO 20 - 10 CONTINUE - XSC=BUF(L2) - RETURN - 20 IF(J.EQ.1)GO TO 30 - XSC=BUF(N-1)+(E-BUF(N-2))*(BUF(N+1)-BUF(N-1))/ - +(BUF(N)-BUF(N-2)) - RETURN - 30 XSC=BUF(N+1) - RETURN - 40 XSC=0.0 - RETURN - END diff --git a/StarVMC/geant3/peanut/bimsel.F b/StarVMC/geant3/peanut/bimsel.F deleted file mode 100644 index 59e28a08c85..00000000000 --- a/StarVMC/geant3/peanut/bimsel.F +++ /dev/null @@ -1,497 +0,0 @@ -* -* $Id: bimsel.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: bimsel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.5 2005/03/24 15:43:37 brun -* Fix a portability problem with the Intel compiler -* Replace -* ANGRED = ACOS ( SIGN(1,DUMMY)*.99D+00 ) / PI -* by -* ANGRED = ACOS ( SIGN(1D0,DUMMY)*.99D+00 ) / PI -* -* Revision 1.4 2004/12/17 11:46:46 brun -* Several protections introduced by Rachid Guernane and Peter Hristov -* -* Revision 1.3 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.2 2003/11/28 11:23:57 brun -* New version of geant321 with all geant3 routines renamed from G to G3 -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.6 2002/07/15 13:53:23 hristov -* Use double precision constants -* -* Revision 1.5 2002/06/25 08:17:33 hristov -* Additional protection -* -* Revision 1.4 2002/06/22 10:50:18 hristov -* Better protection -* -* Revision 1.3 2002/06/20 15:58:37 hristov -* Protection in case of invalid ACOS argument. The reason for such argument has to be investigated. -* -* Revision 1.2 2002/05/13 12:40:58 hristov -* Dummy subroutines to avoid files with no code in -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.2 1997/10/17 10:00:03 mclareni -* Remove SAVE statement for NT -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani -*-- Author : -*$ CREATE BIMSEL.FOR -*COPY BIMSEL -* -*=== bimsel ===========================================================* -* - SUBROUTINE BIMSEL ( JPROJ, TXX, TYY, TZZ, LBCHCK ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/eva0.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/part.inc" -#include "geant321/parevt.inc" -#include "geant321/resnuc.inc" -* - PARAMETER ( FEFFEC = 1.518066780142162 D+00 ) - PARAMETER ( BETMAX = 0.4 D+00 ) -* - REAL RNDM(2) -* - LOGICAL LBCHCK, LFERMI, LLMDBR -* - SAVE ABTAR , ZZTAR , SIGMP0, SIGMN0, - & AMNHLP, RHOBIM, RPRONU, RADPRP, RADPRN, DSKRED, RHRUSF, - & AUSFL , ZUSFL , BNDSAV, RADHLP, BFCHLP, BIMCLM, PRCOLP, - & PRCOLN, IBTOLD, ICTOLD, KPROJ , NTRIAL, ITFRMI - SAVE SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, SBHAL1 -#ifndef CERNLIB_WINNT -* SAVE -#endif - DATA IBTOLD, ICTOLD / 2*0 / -* - KPROJ = JPROJ - AUSFL = IBTAR - ZUSFL = ICHTAR - RHRUSF = 1.D+00 - BEPROJ = PNUCCO / ( EKECON + AM (KPROJ) ) - CXIMPC = TXX - CYIMPC = TYY - CZIMPC = TZZ - NTRIAL = 0 - RHOBIM = - AINFNT - IF ( KPROJ .EQ. 1 .OR. KPROJ .EQ. 8 ) THEN - IPWELL = 1 + KPROJ / 8 - WLLRED = 1.D+00 - BNDNUC = BNENRG (IPWELL) - ELSE - IPWELL = 0 - IF ( IBAR (KPROJ) .EQ. 0 ) THEN - IF ( KPROJ .LE. 11 ) THEN - WLLRED = 0.D+00 - BNDNUC = 0.D+00 - ELSE - WLLRED = POTMES - BNDNUC = BNENRG (3) - END IF - ELSE - WLLRED = POTBAR - BNDNUC = BNENRG (3) - END IF - END IF - BNDSAV = BNDNUC - IF ( IBAR (KPROJ) .NE. 0 ) THEN - RPRONU = 1.D+00 - ELSE IF ( KPROJ .NE. 7 ) THEN - RPRONU = 0.8164965809277260D+00 - ELSE - RPRONU = 0.D+00 - END IF - IF ( LBCHCK ) THEN - LFERMI = .FALSE. - EKESIG = EKECON - PPRSIG = PNUCCO - CALL SIGFER ( KPTOIP (KPROJ), EKESIG, PPRSIG, LFERMI ) - PRCOLP = ZUSFL / AUSFL * SIGMAP - PRCOLN = ( AUSFL - ZUSFL ) / AUSFL * SIGMAN - SIGMAA = PRCOLP + PRCOLN - PRCOLP = PRCOLP / SIGMAA - PRCOLN = 1.D+00 - PRCOLP - END IF - IF ( RPRONU .GT. ANGLGB ) THEN - IF ( LPARWV ) THEN - LLMDBR = .TRUE. - TMP102 = 1.D-02 - PDEBRO = MAX ( PNUCCO, TMP102 ) - ALMBAR = PLABRC / PDEBRO - DEBRLM = 0.5D+00 * ALMBAR - RADCOR = SQRT ( (RPRONU * RMSPRO)**2 + ALMBAR**2 ) - & / ( RMSPRO * RPRONU ) - ELSE - PDEBRO = ( EKECON + BNDNUC ) * ( EKECON + BNDNUC + 2.D+00 - & * AM (KPROJ) ) - LLMDBR = .FALSE. - DEBRLM = 0.D+00 - ALMBAR = 0.D+00 - LLLMAX = -1 - RADCOR = SQRT ( (RPRONU * RMSPRO)**2 + PLABRC**2 / PDEBRO - & ) / ( RMSPRO * RPRONU ) - END IF - ELSE - RADCOR = 0.D+00 - LLMDBR = .FALSE. - DEBRLM = 0.D+00 - END IF - RADCO2 = RADCOR - RADPRO = MIN ( TWOTWO * RMSPRO * RPRONU * RADCOR, SKGT16 ) - RADPRP = RADPRO - RADPRN = RADPRO - IF ( IBTAR .NE. IBTOLD .OR. ICHTAR .NE. ICTOLD ) THEN - IBTOLD = IBTAR - ICTOLD = ICHTAR - ABTAR = IBTAR - ZZTAR = ICHTAR - AR1O3 = RMASS (IBTAR) - AMNHLP = 0.5D+00 * ( AMNUCL (1) + AMNUCL (2) ) - HKAP = ABTAR**2 / ( ZZTAR**2 + ( ABTAR - ZZTAR )**2 ) - HHLP (1) = ( HKAP * ZZTAR )**0.3333333333333333D+00 / AR1O3 - HHLP (2) = ( HKAP * ( ABTAR - ZZTAR ) ) - & **0.3333333333333333D+00 / AR1O3 - RHOCEN = RHOTAB (IBTAR) - ALPHAL = ALPTAB (IBTAR) - RADIU0 = RADTAB (IBTAR) - SKINDP = SKITAB (IBTAR) - HALODP = HALTAB (IBTAR) - RADIU1 = RADIU0 + SKINDP - RADTOT = RADIU1 + HALODP - RHOCOR = ONEMNS * RHOCEN - RHOSKN = ALPHAL * RHOCEN - PFRCEN (1) = HHLP (1) * PFRTAB (IBTAR) - PFRCEN (2) = HHLP (2) * PFRTAB (IBTAR) - RHOAVE = RHATAB (IBTAR) - PFRAVE = PFATAB (IBTAR) - EKFAVE = EKATAB (IBTAR) - OMALHL = 1.D+00 - ALPHAL - RAD1O2 = RADIU0 + 0.5D+00 * SKINDP / OMALHL - SKNEFF = SKINDP / OMALHL - RADSKN = RADIU0 + SKNEFF - EKFCEN (1) = SQRT ( AMNUSQ (1) + PFRCEN (1)**2 ) - AMNUCL (1) - EKFCEN (2) = SQRT ( AMNUSQ (2) + PFRCEN (2)**2 ) - AMNUCL (2) - IF ( PFRCEN (1) .GT. PFRCEN (2) ) THEN - ITNCMX = 1 - ELSE - ITNCMX = 2 - END IF - CALL NCLVST ( IBTAR, ICHTAR ) - END IF - IF ( IPWELL .LE. 0 ) IPWELL = ITNCMX - CALL NCLVIN - IF ( EKECON .LT. 2.D+00 * GAMMIN ) THEN - EKECON = 0.D+00 - PNUCCO = 0.D+00 - LABRST = .TRUE. - RADPRO = 0.D+00 - RADSIG = ( RADTOT + DEBRLM ) * BFCLMB - RADMAX = RADTOT - LLLMAX = -1 - OPACTY = 2.D+00 - CALL RSTSEL (KPROJ) - RETURN - END IF - RADMAX = RADTOT + RADPRO - BIMCLM = RDCLMB * BFCLMB - IF ( LLMDBR ) THEN - RADHLP = RADMAX - IF ( RADHLP .LE. RDCLMB ) THEN - BFCMAX = BFCLMB - BFCHLP = 0.5D+00 * CLMBBR * RDCLMB / EKECON - ELSE - BFCHLP = 0.5D+00 * CLMBBR * RDCLMB / EKECON - BFCMAX = SQRT ( 1.D+00 - CLMBBR * RDCLMB / EKECON / RADHLP ) - END IF - BIMMAX = RADHLP * BFCMAX - LLLMAX = INT ( BIMMAX / ALMBAR ) - RADSIG = ALMBAR * ( LLLMAX + 1.D+00 ) - SIGGEO = PI * RADSIG * RADSIG - ELSE - RADHLP = RADTOT + RADPRO + DEBRLM - IF ( RADHLP .LE. RDCLMB ) THEN - BFCMAX = BFCLMB - ELSE - BFCHLP = 0.5D+00 * CLMBBR * RDCLMB / EKECON - BFCMAX = SQRT ( 1.D+00 - CLMBBR * RDCLMB / EKECON / RADHLP ) - END IF - RADSIG = RADHLP * BFCMAX - END IF - R0TRAJ = - RADTOT - R1TRAJ = - R0TRAJ - 4200 CONTINUE - CALL GRNDM(RNDM,2) - RPHI1 = 2.D+00 * RNDM (1) - 1.D+00 - RPHI2 = 2.D+00 * RNDM (2) - 1.D+00 - RPHI12 = RPHI1 * RPHI1 - RPHI22 = RPHI2 * RPHI2 - RSQ = RPHI12 + RPHI22 - IF ( RSQ .GT. 1.D+00 ) GO TO 4200 - SINPHI = 2.D+00 * RPHI1 * RPHI2 / RSQ - COSPHI = ( RPHI12 - RPHI22 ) / RSQ - SINT02 = 1.D+00 - CZIMPC * CZIMPC - IF ( SINT02 .LT. ANGLSQ ) THEN - UBIMPC = COSPHI - VBIMPC = SINPHI - WBIMPC = 0.D+00 - ELSE - SINTH0 = SQRT ( SINT02 ) - SINPH0 = CYIMPC / SINTH0 - COSPH0 = CXIMPC / SINTH0 - UBIMPC = COSPHI * COSPH0 * CZIMPC - SINPHI * SINPH0 - VBIMPC = COSPHI * SINPH0 * CZIMPC + SINPHI * COSPH0 - WBIMPC = - COSPHI * SINTH0 - END IF - GO TO 4500 - ENTRY BIMNXT ( LBCHCK ) - IF ( EKECON .LT. 2.D+00 * GAMMIN ) THEN - LABRST = .TRUE. - CALL RSTNXT - RETURN - END IF - 4300 CONTINUE - BNDNUC = BNDSAV - SIGMAP = SIGMP0 - SIGMAN = SIGMN0 - 4400 CONTINUE - CALL GRNDM(RNDM,1) - ANMFP = - LOG ( RNDM (1) ) / DSKRED - IF ( SBRES * SIGMAA .GT. ANMFP ) THEN - GO TO 6000 - END IF - 4500 CONTINUE - 5000 CONTINUE - SBUSED = 0.D+00 - NTRIAL = NTRIAL + 1 - IF ( LLMDBR ) THEN - ALLMAX = LLLMAX + 1.D+00 - CALL GRNDM(RNDM,2) - RNDLLL = ALLMAX * MAX ( RNDM (1), RNDM (2) ) - LLLACT = INT (RNDLLL) - BIMPTR = RNDLLL * ALMBAR - BIMPTR = ABS (BIMPTR) - IF ( BIMPTR .LE. BIMCLM ) THEN - BFCEFF = BFCLMB - ELSE - HLPHLP = BFCHLP / BIMPTR - BFCEFF = 1.D+00 / ( HLPHLP + SQRT ( HLPHLP * HLPHLP - & + 1.D+00 ) ) - END IF - BIMPTR = BIMPTR / BFCEFF - IF ( BIMPTR .GT. RADHLP ) GO TO 5000 - ELSE - CALL GRNDM(RNDM,2) - BIMPTR = RADSIG * MAX ( RNDM (1), RNDM (2) ) - IF ( BIMPTR .LE. BIMCLM ) THEN - BFCEFF = BFCLMB - ELSE - HLPHLP = BFCHLP / BIMPTR - BFCEFF = 1.D+00 / ( HLPHLP + SQRT ( HLPHLP * HLPHLP - & + 1.D+00 ) ) - END IF - BIMPTR = BIMPTR / BFCEFF - END IF - BIMMEM = BIMPTR - IF ( BIMPTR .GT. RADTOT - RADPRO ) THEN - BIMPCT = 0.5D+00 * ( RADTOT + BIMPTR - RADPRO ) - IF ( BIMPTR .GE. RADTOT ) THEN - X1 = BIMPTR - RADTOT - DUMMY = 2.D+00 * X1 / ( RADPRO + X1 ) -c$$$ IF (ABS(DUMMY).GT.1.D0) THEN -c$$$ PRINT *,"Warning in GEANT321/peanut/bimsel.F " -c$$$ PRINT *,"Illegal ACOS argument ",DUMMY -c$$$ DUMMY = SIGN(1.D0, DUMMY ) -c$$$ ENDIF -c$$$ ANGRED = ACOS ( DUMMY ) / PI - IF ( ABS(DUMMY) .LT. 1.0 ) THEN - ANGRED = ACOS ( DUMMY ) / PI - ELSE - PRINT*,'*******************************************' - PRINT*,'*** WARNING IN GEANT321/peanut/bimsel.F ***' - PRINT*, - & '*** ILLEGAL ACOS ARGUMENT ***',DUMMY - PRINT*,'*******************************************' - ANGRED = ACOS ( SIGN(1D0,DUMMY)*.99D+00 ) / PI - ENDIF - X1 = X1 / ( R0PROT * RPRONU * RADCO2 ) - DSKRED = ( 0.5D+00 * X1 * X1 + X1 + 1.D+00 ) * EXP (-X1) - & * ANGRED - IF (DSKRED.EQ.0.D0) DSKRED=1.D+00 - ELSE - X1 = RADPRO + BIMPTR - RADTOT - DUMMY = 2.D+00 * X1 / ( RADPRO + X1 ) - IF (ABS(DUMMY).GT.1.D0) THEN - PRINT *,"Warning in GEANT321/peanut/bimsel.F " - PRINT *,"Illegal ACOS argument ",DUMMY - DUMMY = SIGN(1.D0, DUMMY ) - ENDIF - ANGRED = ACOS ( DUMMY ) / PI - X1 = X1 / ( R0PROT * RPRONU * RADCO2 ) - DSKRED = 1.D+00 - ( 0.5D+00 * X1 * X1 + X1 + 1.D+00 ) - & * EXP (-X1) * ANGRED - END IF - ELSE - DSKRED = 1.D+00 - BIMPCT = BIMPTR - END IF - IF ( .NOT. LBCHCK ) THEN - RHOSAV = RHOBIM - RHOBIM = FRHONC ( BIMPCT ) - IF ( RHOBIM .EQ. RHOSAV ) GO TO 5500 - PFRBIM = FPFRNC ( RHOBIM, ITNCMX ) - EKFBIM = FEKFNC ( PFRBIM, ITNCMX ) - RHOHLP = FRHONC ( BIMPTR ) - PFRHLP = FPFRNC ( RHOHLP, IPWELL ) - PFRHLP = 0.5D+00 * PFRHLP * PFRHLP / AMNUSQ (IPWELL) - IF ( BIMPTR .GT. RADTOT ) BNDNUC = BNDNUC * ( 1.D+00 - & - ( BIMPTR - RADTOT ) / ( RADHLP - RADTOT ) ) - VPRBIM = WLLRED * ( AMNUCL (IPWELL) * PFRHLP - & * ( 1.D+00 - 0.5D+00 * PFRHLP ) + BNDNUC ) - LFERMI = .TRUE. - EKESIG = EKECON - PPRSIG = PNUCCO - CALL SIGFER ( KPTOIP (KPROJ), EKESIG, PPRSIG, LFERMI ) - PRCOLP = ZUSFL / AUSFL * SIGMAP - PRCOLN = ( AUSFL - ZUSFL ) / AUSFL * SIGMAN - SIGMAA = PRCOLP + PRCOLN - PRCOLP = PRCOLP / SIGMAA - PRCOLN = 1.D+00 - PRCOLP - 5500 CONTINUE - ELSE - RHOBIM = FRHONC ( BIMPCT ) - END IF - XBIMPC = UBIMPC * BIMPCT - YBIMPC = VBIMPC * BIMPCT - ZBIMPC = WBIMPC * BIMPCT - CALL GRNDM(RNDM,1) - ANMFP = - LOG ( RNDM (1) ) / DSKRED - IF ( BIMPCT .GT. RAD1O2 ) THEN - SBTTSQ = 4.D+00 * ( RADTOT**2 - BIMPCT**2 ) * RHOBIM**2 - IF ( SBTTSQ .LE. ( ANMFP / SIGMAA )**2 ) GO TO 5000 - END IF - CALL SBCOMP ( SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, SBHAL1 ) - SBTOT = SBHAL0 + SBSKI0 + SBCEN0 + SBCEN1 + SBSKI1 + SBHAL1 - SBTOT = RHRUSF * SBTOT - IF ( SBTOT * SIGMAA .LE. ANMFP ) GO TO 5000 - 6000 CONTINUE - SBUSED = SBUSED * RHRUSF + ANMFP / SIGMAA - SBRES = SBTOT - SBUSED - SBUSED = SBUSED / RHRUSF - LELSTC = .TRUE. - NTARGT = 1 - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PRCOLP ) THEN - KNUCIM = 1 - ITFRMI = 1 - ELSE - KNUCIM = 8 - ITFRMI = 2 - END IF - IPRTYP = KPROJ * 10 + KNUCIM - CALL RSCOMP ( SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, SBHAL1 ) - BNDNUC = BNDSAV - RHOIMP = FRHONC ( ABS (RIMPCT) ) - PFRIMP = FPFRNC ( RHOIMP, ITFRMI ) - EKFIMP = FEKFNC ( PFRIMP, ITFRMI ) - RIMHLP = ABS (RIMPTR) - RHOIMT = FRHONC ( RIMHLP ) - PFRPRO = FPFRNC ( RHOIMT, IPWELL ) - EKFPRO = FEKFNC ( PFRPRO, IPWELL ) - IF ( RIMHLP .GT. RADTOT ) BNDNUC = BNDNUC * ( 1.D+00 - ( RIMHLP - & - RADTOT ) / ( RADHLP - RADTOT )) - VPRWLL = WLLRED * ( EKFPRO + BNDNUC ) - EKEWLL = EKECON + VPRWLL - EPSWLL = EKEWLL + AM (KPROJ) - IF ( .NOT. LBCHCK ) THEN - PPRWLL = SQRT ( EKEWLL * ( EKEWLL + 2.D+00 * AM (KPROJ) ) ) - CALL PHDWLL ( UBIMPC, VBIMPC, WBIMPC ) - PNFRMI = PFNCLV ( ITFRMI, .TRUE. ) - IF ( PNFRMI .LT. -100.D+00 ) GO TO 4400 - CALL RACO ( PXFERM, PYFERM, PZFERM ) - PXFERM = PXFERM * PNFRMI - PYFERM = PYFERM * PNFRMI - PZFERM = PZFERM * PNFRMI - ERES = EKEWLL + AM (KPROJ) + AM (KNUCIM) + EKFERM - PXRES = PXPROJ + PXFERM - PYRES = PYPROJ + PYFERM - PZRES = PZPROJ + PZFERM - PTRES2 = PXRES**2 + PYRES**2 + PZRES**2 - UMO2 = ERES**2 - PTRES2 - EKESIG = 0.5D+00 * ( UMO2 - AM (KPROJ)**2 - AM (KNUCIM)**2 ) - & / AM (KNUCIM) - AM (KPROJ) - EKFIMP = MAX ( EKFERM, EKFIMP ) - ELSE - EKESIG = EPSWLL - AM (KPROJ) - END IF - PPRSIG = SQRT ( EKESIG * ( EKESIG + 2.D+00 * AM (KPROJ) ) ) - SIGMN0 = SIGMAN - SIGMP0 = SIGMAP - LFERMI = .FALSE. - CALL SIGFER ( KPTOIP (KPROJ), EKESIG, PPRSIG, LFERMI ) - IF ( KNUCIM .EQ. 1 ) THEN - SIGMAR = SIGMAP / SIGMP0 - ELSE - SIGMAR = SIGMAN / SIGMN0 - END IF - SIGMAR = MIN ( SIGMAR, ONEONE ) - CALL GRNDM(RNDM,1) - RNDREJ = RNDM(1) - IF ( RNDREJ .GE. SIGMAR ) GO TO 4300 - IF ( LBCHCK ) THEN - ZITA = 0.5D+00 * ( EKFIMP + EKFPRO ) / EKEWLL - IF ( ZITA .LE. 0.5D+00 ) THEN - PZITA = 1.D+00 - 1.4D+00 * ZITA - ELSE - PZITA = 1.D+00 - 1.4D+00 * ZITA + 0.4D+00 * ZITA - & * ( 2.D+00 - 1.D+00 / ZITA )**2.5D+00 - END IF - RNDREJ = RNDREJ / SIGMAR - IF ( RNDREJ .GE. PZITA ) GO TO 4300 - ELSE - PZITA = 1.D+00 - END IF - OPACTY = 1.D+00 / NTRIAL - RETURN -*=== End of subroutine Bimsel =========================================* - END diff --git a/StarVMC/geant3/peanut/cosleg.F b/StarVMC/geant3/peanut/cosleg.F deleted file mode 100644 index 22ef81683d4..00000000000 --- a/StarVMC/geant3/peanut/cosleg.F +++ /dev/null @@ -1,102 +0,0 @@ -* -* $Id: cosleg.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: cosleg.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE COSLEG.FOR -*COPY COSLEG -* -*=== cosleg ===========================================================* -* - FUNCTION COSLEG ( ACOLEG ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* - DIMENSION ACOLEG (0:2) - REAL RNDM(2) -* - IF ( ACOLEG (0) .NE. 0.5D+00 ) THEN - ANORM = 0.5D+00 / ACOLEG (0) - DO 100 I = 0,2 - ACOLEG (I) = ACOLEG (I) * ANORM - 100 CONTINUE - END IF - ACOF = 1.5D+00 * ACOLEG (2) - BCOF = ACOLEG (1) - CCOF = ACOLEG (0) - 0.5D+00 * ACOLEG (2) - FORWRA = 0.3333333333333333D+00 * ACOF - FORWRB = 0.5D+00 * BCOF - FORWRC = CCOF - FORWRD = FORWRA + FORWRB + FORWRC - BACKWR = 1.D+00 - FORWRD - CALL GRNDM(RNDM,1) - RNDCOS = RNDM (1) - IF ( RNDCOS .LT. FORWRD ) THEN - RNDCOS = RNDCOS - IF ( RNDCOS .LT. FORWRA ) THEN - COSLEG = ( RNDCOS / FORWRA )**0.3333333333333333D+00 - ELSE IF ( RNDCOS .LT. FORWRA + FORWRB ) THEN - COSLEG = SQRT ( ( RNDCOS - FORWRA ) / FORWRB ) - ELSE - COSLEG = ( RNDCOS - FORWRA - FORWRB ) / FORWRC - END IF - ELSE - COSLEG = - ( RNDCOS - FORWRD ) / BACKWR - IF ( ACOF .LT. - ANGLGB ) THEN - COSMAX = - 0.5D+00 * BCOF / ACOF - IF ( COSMAX .GT. 0.D+00 ) THEN - PROMAX = CCOF - ELSE IF ( COSMAX .LT. -1.D+00 ) THEN - PROMAX = ACOF - BCOF + CCOF - ELSE - PROMAX = ACOF * COSMAX**2 + BCOF * COSMAX + CCOF - END IF - ELSE IF ( ACOF .GT. ANGLGB ) THEN - IF ( ACOF .GT. BCOF ) THEN - PROMAX = ACOF - BCOF + CCOF - ELSE - PROMAX = CCOF - END IF - ELSE - PROMAX = CCOF - END IF - 200 CONTINUE - FREJE = ( ACOF * COSLEG**2 + BCOF * COSLEG + CCOF ) / PROMAX - CALL GRNDM(RNDM,2) - IF ( RNDM (1) .GE. FREJE ) THEN - COSLEG = - RNDM (2) - GO TO 200 - END IF - END IF -*=== End of subroutine cosleg =========================================* - RETURN - END diff --git a/StarVMC/geant3/peanut/fekfnc.F b/StarVMC/geant3/peanut/fekfnc.F deleted file mode 100644 index 5f1cf22bbe6..00000000000 --- a/StarVMC/geant3/peanut/fekfnc.F +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: fekfnc.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: fekfnc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE FEKFNC.FOR -*COPY FEKFNC -* -*=== fekfnc ===========================================================* -* - FUNCTION FEKFNC (PF,I) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/nucgeo.inc" -#include "geant321/nucdat.inc" -* - IF ( PFRCEN (I) - PF .LE. ANGLGB ) THEN - FEKFNC = EKFCEN (I) - ELSE - FEKFNC = SQRT ( AMNUSQ (I) + PF**2 ) - AMNUCL (I) - END IF - RETURN - END diff --git a/StarVMC/geant3/peanut/fpfrnc.F b/StarVMC/geant3/peanut/fpfrnc.F deleted file mode 100644 index a3084531b48..00000000000 --- a/StarVMC/geant3/peanut/fpfrnc.F +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: fpfrnc.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: fpfrnc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE FPFRNC.FOR -*COPY FPFRNC -* -*=== fpfrnc ===========================================================* -* - FUNCTION FPFRNC (RHO,I) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/nucgeo.inc" -* -#include "geant321/nucstf.inc" -* - IF ( RHO .GE. RHOCOR ) THEN - FPFRNC = PFCORE (RHO,I) - ELSE IF ( RHO .GE. RHOSKN ) THEN - FPFRNC = PFSKIN (RHO,I) - ELSE IF ( RHO .GT. 0.D+00 ) THEN - FPFRNC = PFHALO (RHO,I) - ELSE - FPFRNC = 0.D+00 - END IF - RETURN - END diff --git a/StarVMC/geant3/peanut/fradnc.F b/StarVMC/geant3/peanut/fradnc.F deleted file mode 100644 index f6ea7fda453..00000000000 --- a/StarVMC/geant3/peanut/fradnc.F +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: fradnc.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: fradnc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:06 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE FRADNC.FOR -*COPY FRADNC -* -*=== fradnc ===========================================================* -* - FUNCTION FRADNC (RHO) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/nucgeo.inc" -* -#include "geant321/nucstf.inc" -* - IF ( RHO .GE. RHOCOR ) THEN - FRADNC = RACORE (RHO) - ELSE IF ( RHO .GE. RHOSKN ) THEN - FRADNC = RASKIN (RHO) - ELSE IF ( RHO .GT. 0.D+00 ) THEN - FRADNC = RAHALO (RHO) - ELSE - FRADNC = RADTOT - END IF - RETURN - END diff --git a/StarVMC/geant3/peanut/frhinc.F b/StarVMC/geant3/peanut/frhinc.F deleted file mode 100644 index 3b679ed8b00..00000000000 --- a/StarVMC/geant3/peanut/frhinc.F +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: frhinc.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: frhinc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE FRHINC.FOR -*COPY FRHINC -* -*=== frhinc ===========================================================* -* - FUNCTION FRHINC (R) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/nucgeo.inc" -* -#include "geant321/nucstf.inc" -* - IF ( R .LE. RADIU0 ) THEN - FRHINC = RICORE (R) - ELSE IF ( R .LE. RADIU1 ) THEN - FRHINC = RISKIN (R) - ELSE IF ( R .LE. RADTOT ) THEN - FRHINC = RIHALO (R) - ELSE - FRHINC = RIHALO (RADTOT) - END IF - RETURN - END diff --git a/StarVMC/geant3/peanut/frhonc.F b/StarVMC/geant3/peanut/frhonc.F deleted file mode 100644 index 2042013c2c1..00000000000 --- a/StarVMC/geant3/peanut/frhonc.F +++ /dev/null @@ -1,55 +0,0 @@ -* -* $Id: frhonc.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: frhonc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE FRHONC.FOR -*COPY FRHONC -* -*=== frhonc ===========================================================* -* - FUNCTION FRHONC (R) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -#include "geant321/nucgeo.inc" -* -#include "geant321/nucstf.inc" -* - IF ( R .LE. RADIU0 ) THEN - FRHONC = RHCORE (R) - ELSE IF ( R .LE. RADIU1 ) THEN - FRHONC = RHSKIN (R) - ELSE IF ( R .LE. RADTOT ) THEN - FRHONC = RHHALO (R) - ELSE - FRHONC = 0.D+00 - END IF - RETURN - END diff --git a/StarVMC/geant3/peanut/nclvin.F b/StarVMC/geant3/peanut/nclvin.F deleted file mode 100644 index c88381eb988..00000000000 --- a/StarVMC/geant3/peanut/nclvin.F +++ /dev/null @@ -1,78 +0,0 @@ -* -* $Id: nclvin.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: nclvin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE NCLVIN.FOR -*COPY NCLVIN -* -*=== nclvin ===========================================================* -* - SUBROUTINE NCLVIN - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/nuclev.inc" -#include "geant321/nucgeo.inc" -* - INUCLV = INUCLV + 1 - IPRNUC (1) = 0 - IPRNUC (2) = 0 - JPRNUC (1) = 0 - JPRNUC (2) = 0 - NPRNUC = 0 - RUSPRO = RADTOT - RUSNEU = RADTOT - NUSPRO = 0 - NUSNEU = 0 - NMXPRO = NAVPRO - NMXNEU = NAVNEU - DO 2000 I = 1,2 - IF ( NLSNUC (I) .LE. 1 ) JUSNUC (NAVNUC(I),I) = -1 - JMXNUC (I) = NTANUC (I) - DEFRMI (I) = 0.6666666666666666D+00 * EKFCEN (I) / NTANUC (I) - DEFMAG (I) = 0.D+00 - DO 1000 K = 1, MAGNUC (I) - NUNFLL = MAGNUM (K) - NTANUC (I) - IF ( NUNFLL .GT. 0 ) THEN - MGSNUC (K,I) = -2 + MOD ( NUNFLL, 1 ) - ELSE - MGSNUC (K,I) = 0 - IF ( NUNFLL .EQ. 0 ) DEFMAG (I) = MAX ( ZERZER, - & SHENUC (MAGNUM(K)+1,I) - SHENUC (MAGNUM(K),I) - & + PAENUC (NTANUC(I),I) ) - END IF - 1000 CONTINUE - 2000 CONTINUE - RETURN -*=== End of subroutine nclvin =========================================* - END diff --git a/StarVMC/geant3/peanut/nclvst.F b/StarVMC/geant3/peanut/nclvst.F deleted file mode 100644 index 3f03e89e3b6..00000000000 --- a/StarVMC/geant3/peanut/nclvst.F +++ /dev/null @@ -1,107 +0,0 @@ -* -* $Id: nclvst.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: nclvst.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.4 1996/11/13 13:08:05 ravndal -* Paramter ZERO at least real -* -* Revision 1.3 1996/05/03 09:46:12 cernlib -* Replace 0.0 in MAX() by ZERO to get the proper type; -* add parameter statement for ZERO -* -* Revision 1.2 1996/04/26 12:20:30 ravndal -* neg. SQRT protection -* -* Revision 1.1.1.1 1995/10/24 10:22:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE NCLVST.FOR -*COPY NCLVST -* -*=== nclvst ===========================================================* -* - SUBROUTINE NCLVST ( NA, NZ ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* - PARAMETER (ZERO=0.) -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/nuclev.inc" -* - NTAPRO = NZ - NTANEU = NA - NZ - NAVPRO = MOD (NTAPRO,2) - NLSPRO = 2 - NAVPRO - NAVPRO = NTAPRO / 2 + NAVPRO - NAVNEU = MOD (NTANEU,2) - NLSNEU = 2 - NAVNEU - NAVNEU = NTANEU / 2 + NAVNEU - PROFAC = 2.D+00 -* - CUMRAD (0,1) = 0.D+00 - CUMRAD (0,2) = 0.D+00 - DO 2000 INC = 1,2 - DDNAV = NAVNUC(INC) - DO 1000 JNC = 1, NAVNUC (INC) - DDJNC = JNC - PCEJNC = PFRCEN (INC) * ( DDJNC / DDNAV - & )**0.3333333333333333D+00 - EKCJNC = SQRT ( PCEJNC**2 + AMNUSQ (INC) ) - AMNUCL (INC) - EKFJNC = EKFCEN (INC) - EKCJNC - PFRJNC = SQRT ( - & MAX( EKFJNC * ( EKFJNC + 2.D+00 * AMNUCL (INC) ), ZERO) ) - RHOJNC = RHOCEN * ( PFRJNC / PFRCEN (INC) )**3 - RADJNC = FRADNC (RHOJNC) - IF ( JNC .LT. NAVNUC (INC) ) THEN - CUMRAD (JNC,INC) = CUMRAD (JNC-1,INC) + PROFAC - & / RADJNC**3 - ELSE - CUMRAD (JNC,INC) = CUMRAD (JNC-1,INC) + NLSNUC (INC) - & / RADJNC**3 - END IF - IF ( RADJNC .LE. RADIU0 ) THEN - NCONUC (INC) = JNC - ELSE IF ( RADJNC .LE. RADIU1 ) THEN - NSKNUC (INC) = JNC - ELSE - NHANUC (INC) = JNC - END IF - 1000 CONTINUE - DO 1500 K = 1,8 - IF ( NTANUC (INC) .LE. MAGNUM (K) ) THEN - MAGNUC (INC) = K - GO TO 2000 - END IF - 1500 CONTINUE - 2000 CONTINUE - RETURN -*=== End of subroutine nclvst =========================================* - END diff --git a/StarVMC/geant3/peanut/nucnuc.F b/StarVMC/geant3/peanut/nucnuc.F deleted file mode 100644 index a381f81c9a8..00000000000 --- a/StarVMC/geant3/peanut/nucnuc.F +++ /dev/null @@ -1,392 +0,0 @@ -* -* $Id: nucnuc.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: nucnuc.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE NUCNUC.FOR -*COPY NUCNUC -* -*=== nucnuc ===========================================================* -* - SUBROUTINE NUCNUC ( IKPMX , KRFLIN, WEE , ERECMN, LBIMPC, - & LBCHCK, ICYCL , NHOLE , NPROT , NNEUT , - & LEXIT , LNWINT ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/finuc.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/parevt.inc" -#include "geant321/parnuc.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" -* - REAL RNDM(2) - LOGICAL LBCHCK, LBIMPC, LTROUB, LEXIT, LNWINT -* - NPNCLD = NPNUC - 1000 CONTINUE - IF ( LELSTC ) THEN - LELSTC = .FALSE. - LNWINT = .FALSE. - ELSE - LEXIT = .FALSE. - LNWINT = .TRUE. - RETURN - END IF - NHOLE = NHOLE + 1 - ICYCL = ICYCL + 1 - IF ( NUSCIN .LE. 0 ) THEN - PXHLP = PXFERM + PXPROJ - CXIMPC * PPRWLL - PYHLP = PYFERM + PYPROJ - CYIMPC * PPRWLL - PZHLP = PZFERM + PZPROJ - CZIMPC * PPRWLL - ERECMN = 0.5D+00 * ( PXHLP**2 + PYHLP**2 + PZHLP**2 ) / AMNTAR - ERECMN = ERECMN * ( 1.D+00 - 0.25D+00 * ERECMN ) - ERECMN = MAX ( ERECMN, EKFERM * AM (KNUCIM) / AMNTAR ) - ELSE - ERECMN = EKFERM * AM (KNUCIM) / AMNTAR - END IF - ERECMN = 0.D+00 - POTINC = EKEWLL - EKECON + EKFERM - IF ( NUSCIN .EQ. 0 .AND. KPRIN .NE. KNUCIM ) THEN - ZAFT = ZNOW + ICH (KPRIN) - ICH (KNUCIM) - AMMAFT = ANOW * AMUAMU + 0.001D+00 * FKENER ( ANOW, ZAFT ) - AMNAFT = AMMAFT - ZAFT * AMELEC + ELBNDE (NINT(ZAFT)) - IF ( KPRIN .EQ. 1 ) THEN - DEFRPR = DEFPRO - ELSE - DEFRPR = DEFNEU - END IF - IF ( KNUCIM .EQ. 8 ) THEN - DEFRNU = MAX ( DEFNEU, HLFHLF * EEXANY + ERECMN - & + EKFERM - EKFIMP ) - ELSE - DEFRNU = MAX ( DEFPRO, HLFHLF * EEXANY + ERECMN - & + EKFERM - EKFIMP ) - END IF - ELSE IF ( NUSCIN .EQ. 0 ) THEN - IF ( KPRIN .EQ. 1 ) THEN - DEFRPR = MAX ( DEFPRO, HLFHLF * EEXANY + ERECMN - & + EKFERM - EKFIMP ) - DEFRNU = DEFRPR - ELSE - DEFRPR = MAX ( DEFNEU, HLFHLF * EEXANY + ERECMN - & + EKFERM - EKFIMP ) - DEFRNU = DEFRPR - END IF - ELSE - ADDPRO = 0.D+00 - ADDTAR = 0.D+00 - IF ( KPRIN .EQ. 8 ) THEN - DEFRPR = DEFNEU + ADDPRO - ELSE - DEFRPR = DEFPRO + ADDPRO - END IF - IF ( KNUCIM .EQ. 8 ) THEN - DEFRNU = DEFNEU + ADDTAR - ELSE - DEFRNU = DEFPRO + ADDTAR - END IF - END IF - NPLSIN = 2 - UMO2 = ERES**2 - PTRES2 - UMO = SQRT (UMO2) - GAMCM = ERES / UMO - ETAX = PXRES / UMO - ETAY = PYRES / UMO - ETAZ = PZRES / UMO - ETAPCM = ETAX * PXPROJ + ETAY * PYPROJ + ETAZ * PZPROJ - ECMSPR = GAMCM * ( EKEWLL + AM (KPRIN) ) - ETAPCM - PHELP = EKEWLL + AM (KPRIN) - ETAPCM / ( GAMCM + 1.D+00 ) - PCMSX = PXPROJ - ETAX * PHELP - PCMSY = PYPROJ - ETAY * PHELP - PCMSZ = PZPROJ - ETAZ * PHELP - ETAPCM = ETAX * PXFERM + ETAY * PYFERM + ETAZ * PZFERM - ECMSNU = GAMCM * ( EKFERM + AM (KNUCIM) ) - ETAPCM - PCMS2 = PCMSX**2 + PCMSY**2 + PCMSZ**2 - PCMS = SQRT ( PCMS2 ) - IF ( KPRIN .EQ. KNUCIM ) THEN - EKESAM = 0.5D+00 * ( UMO2 - AM (KPRIN)**2 - AM (KNUCIM)**2 ) - & / AM (KNUCIM) - AM (KPRIN) - CALL SAMCST ( 1, EKESAM, COSTHE ) - ELSE IF ( KPRIN .EQ. 8 ) THEN - EKESAM = 0.5D+00 * ( UMO2 - AM (KPRIN)**2 - AM (KNUCIM)**2 ) - & / AM (KNUCIM) - AM (KPRIN) - CALL SAMCST ( 8, EKESAM, COSTHE ) - ELSE - EKESAM = 0.5D+00 * ( UMO2 - AM (KNUCIM)**2 - AM (KPRIN)**2 ) - & / AM (KPRIN) - AM (KNUCIM) - CALL SAMCST ( 8, EKESAM, COSTHE ) - COSTHE = - COSTHE - END IF - SINTHE = SQRT ( ( 1.D+00 - COSTHE ) * ( 1.D+00 + COSTHE ) ) - 2000 CONTINUE - CALL GRNDM(RNDM,2) - RPHI1 = 2.D+00 * RNDM (1) - 1.D+00 - RPHI2 = 2.D+00 * RNDM (2) - 1.D+00 - RPHI12 = RPHI1 * RPHI1 - RPHI22 = RPHI2 * RPHI2 - RSQ = RPHI12 + RPHI22 - IF ( RSQ .GT. 1.D+00 ) GO TO 2000 - SINPHI = 2.D+00 * RPHI1 * RPHI2 / RSQ - COSPHI = ( RPHI12 - RPHI22 ) / RSQ - CZAXCM = PCMSZ / PCMS - SINT02 = ( 1.D+00 - CZAXCM ) * ( 1.D+00 + CZAXCM ) - IF ( SINT02 .LT. ANGLSQ ) THEN - CXCMS = COSPHI * SINTHE - CYCMS = SINPHI * SINTHE - CZCMS = CZAXCM * COSTHE - ELSE - SINTH0 = SQRT ( SINT02 ) - UPRIME = SINTHE * COSPHI - VPRIME = SINTHE * SINPHI - CXAXCM = PCMSX / PCMS - CYAXCM = PCMSY / PCMS - COSPH0 = CXAXCM / SINTH0 - SINPH0 = CYAXCM / SINTH0 - CXCMS = UPRIME * COSPH0 * CZAXCM - VPRIME * SINPH0 - & + COSTHE * CXAXCM - CYCMS = UPRIME * SINPH0 * CZAXCM + VPRIME * COSPH0 - & + COSTHE * CYAXCM - CZCMS = - UPRIME * SINTH0 + COSTHE * CZAXCM - END IF - PCMSX = PCMS * CXCMS - PCMSY = PCMS * CYCMS - PCMSZ = PCMS * CZCMS - NPNUC = NPNUC + 1 - KPNUCL (NPNUC) = KPRIN - KRFNUC (NPNUC) = KRFLIN + 1 - ETAPCM = ETAX * PCMSX + ETAY * PCMSY + ETAZ * PCMSZ - PHELP = ECMSPR + ETAPCM / ( GAMCM + 1.D+00 ) - ENNUC (NPNUC) = GAMCM * ECMSPR + ETAPCM - IF ( ENNUC (NPNUC) - AM (KPRIN) .LE. EKFPRO + DEFRPR ) THEN - NPNUC = NPNUC - 1 - LBCHCK = .FALSE. - IF ( LBIMPC ) THEN - CALL BIMNXT ( LBCHCK ) - RHOMEM = 0.5D+00 * ( RHOIMP + RHOIMT ) - EKFMEM = 0.5D+00 * ( EKFIMP + EKFPRO ) - ELSE - CALL NWINXT ( LBCHCK ) - IF ( BIMPCT .GT. RADTOT ) THEN - NHOLE = NHOLE - 1 - ICYCL = ICYCL - 1 - CALL PHDSET ( IKPMX ) - IBRES = IBRES - IBAR (KPRIN) - ICRES = ICRES - ICH (KPRIN) - BBRES = IBRES - ZZRES = ICRES - AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER - & ( BBRES, ZZRES) - AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) - LTROUB = .FALSE. - CALL UMOFIN ( IKPMX, BBRES, ZZRES, LTROUB ) - IF ( LTROUB ) THEN - KPNUCL (IKPMX) = 0 - UMO2 = ERES**2 - PTRES2 - UMO = SQRT (UMO2) - WRITE ( LUNOUT,* )' 0_P:UMO,AMNRES',UMO,AMNRES - IF ( KPRIN .EQ. 1 ) THEN - NPROT = NPROT + 1 - ELSE - NNEUT = NNEUT + 1 - END IF - LEXIT = .TRUE. - RETURN - END IF - EKNNUC = ENNUC (IKPMX) - AM (KPRIN) - NP = NP + 1 - TKI (NP) = ENNUC (IKPMX) - AM (KPRIN) - KPART (NP) = KPRIN - PLR (NP) = PNUCL (IKPMX) - CXR (NP) = PXNUCL (IKPMX) / PLR (NP) - CYR (NP) = PYNUCL (IKPMX) / PLR (NP) - CZR (NP) = PZNUCL (IKPMX) / PLR (NP) - WEI (NP) = WEE - KPNUCL (IKPMX) = 0 - IGREYP = IGREYP + ICH (KPRIN) - IGREYN = IGREYN + 1 - ICH (KPRIN) - PXINTR = PXINTR + PXNUCL (IKPMX) - PYINTR = PYINTR + PYNUCL (IKPMX) - PZINTR = PZINTR + PZNUCL (IKPMX) - EINTR = EINTR + ENNUC (IKPMX) - IBINTR = IBINTR + IBAR (KPART(NP)) - ICINTR = ICINTR + ICH (KPART(NP)) - LEXIT = .TRUE. - RETURN - END IF - XSTNUC (IKPMX) = XIMPTR - YSTNUC (IKPMX) = YIMPTR - ZSTNUC (IKPMX) = ZIMPTR - RSTNUC (IKPMX) = ABS (RIMPTR) - END IF - NHOLE = NHOLE - 1 - ICYCL = ICYCL - 1 - GO TO 1000 - END IF - EKFNUC (NPNUC) = EKFPRO - PXNUCL (NPNUC) = PCMSX + ETAX * PHELP - PYNUCL (NPNUC) = PCMSY + ETAY * PHELP - PZNUCL (NPNUC) = PCMSZ + ETAZ * PHELP - PNUCL (NPNUC) = SQRT ( PXNUCL (NPNUC)**2 + PYNUCL (NPNUC)**2 - & + PZNUCL (NPNUC)**2 ) - XSTNUC (NPNUC) = XIMPTR - YSTNUC (NPNUC) = YIMPTR - ZSTNUC (NPNUC) = ZIMPTR - RSTNUC (NPNUC) = ABS (RIMPTR) - RHNUCL (NPNUC) = RHOIMT - NPNUC = NPNUC + 1 - KPNUCL (NPNUC) = KNUCIM - KRFNUC (NPNUC) = KRFLIN + 1 - ETAPCM = - ETAPCM - PHELP = ECMSNU + ETAPCM / ( GAMCM + 1.D+00 ) - ENNUC (NPNUC) = GAMCM * ECMSNU + ETAPCM - IF ( ENNUC (NPNUC) - AM (KNUCIM) .LE. EKFIMP + DEFRNU ) THEN - NPNUC = NPNUC - NPLSIN - LBCHCK = .FALSE. - IF ( LBIMPC ) THEN - CALL BIMNXT ( LBCHCK ) - RHOMEM = 0.5D+00 * ( RHOIMP + RHOIMT ) - EKFMEM = 0.5D+00 * ( EKFIMP + EKFPRO ) - ELSE - CALL NWINXT ( LBCHCK ) - IF ( BIMPCT .GT. RADTOT ) THEN - NHOLE = NHOLE - 1 - ICYCL = ICYCL - 1 - CALL PHDSET ( IKPMX ) - IBRES = IBRES - IBAR (KPRIN) - ICRES = ICRES - ICH (KPRIN) - BBRES = IBRES - ZZRES = ICRES - AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER - & ( BBRES, ZZRES) - AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) - LTROUB = .FALSE. - CALL UMOFIN ( IKPMX, BBRES, ZZRES, LTROUB ) - IF ( LTROUB ) THEN - KPNUCL (IKPMX) = 0 - UMO2 = ERES**2 - PTRES2 - UMO = SQRT (UMO2) - WRITE ( LUNOUT,* )' 0_T:UMO,AMNRES',UMO,AMNRES - IF ( KPRIN .EQ. 1 ) THEN - NPROT = NPROT + 1 - ELSE - NNEUT = NNEUT + 1 - END IF - LEXIT = .TRUE. - RETURN - END IF - EKNNUC = ENNUC (IKPMX) - AM (KPRIN) - NP = NP + 1 - TKI (NP) = ENNUC (IKPMX) - AM (KPRIN) - KPART (NP) = KPRIN - PLR (NP) = PNUCL (IKPMX) - CXR (NP) = PXNUCL (IKPMX) / PLR (NP) - CYR (NP) = PYNUCL (IKPMX) / PLR (NP) - CZR (NP) = PZNUCL (IKPMX) / PLR (NP) - WEI (NP) = WEE - KPNUCL (IKPMX) = 0 - IGREYP = IGREYP + ICH (KPRIN) - IGREYN = IGREYN + 1 - ICH (KPRIN) - PXINTR = PXINTR + PXNUCL (IKPMX) - PYINTR = PYINTR + PYNUCL (IKPMX) - PZINTR = PZINTR + PZNUCL (IKPMX) - EINTR = EINTR + ENNUC (IKPMX) - IBINTR = IBINTR + IBAR (KPART(NP)) - ICINTR = ICINTR + ICH (KPART(NP)) - LEXIT = .TRUE. - RETURN - END IF - XSTNUC (IKPMX) = XIMPTR - YSTNUC (IKPMX) = YIMPTR - ZSTNUC (IKPMX) = ZIMPTR - RSTNUC (IKPMX) = ABS (RIMPTR) - END IF - NHOLE = NHOLE - 1 - ICYCL = ICYCL - 1 - GO TO 1000 - END IF - EKFNUC (NPNUC) = EKFIMP - PXNUCL (NPNUC) = -PCMSX + ETAX * PHELP - PYNUCL (NPNUC) = -PCMSY + ETAY * PHELP - PZNUCL (NPNUC) = -PCMSZ + ETAZ * PHELP - PNUCL (NPNUC) = SQRT ( PXNUCL (NPNUC)**2 + PYNUCL (NPNUC)**2 - & + PZNUCL (NPNUC)**2 ) - XSTNUC (NPNUC) = XIMPCT - YSTNUC (NPNUC) = YIMPCT - ZSTNUC (NPNUC) = ZIMPCT - RSTNUC (NPNUC) = ABS (RIMPCT) - RHNUCL (NPNUC) = RHOIMP - POTOUT = ENNUC (NPNUC) - AM (KPRIN) + ENNUC (NPNUC-1) - AM(KNUCIM) - & - EKECON - LBIMPC = .FALSE. - LEXIT = .FALSE. - NUSCIN = NUSCIN + 1 - ISCTYP (NUSCIN) = KPRIN * 10 + KNUCIM - NHLEXP = NHLEXP + 1 - HOLEXP (NHLEXP) = EKFIMP - EKFERM - RHOEXP = RHOEXP + 0.5D+00 * ( RHOIMP + RHOIMT ) - EKFEXP = EKFEXP + 0.5D+00 * ( EKFIMP + EKFPRO ) - CALL NCLVFX - DO 3000 KP = NPNCLD+1, NPNUC - KPNUC = KPNUCL (KP) - IF ( AM (KPNUC) .LE. 0.D+00 ) THEN - TAUTAU = RZNUCL / PNUCL (KP) - ELSE - TAUEFF = 0.5D+00 * TAUFOR * AM (13) / AM (KPNUC) - CALL GRNDM(RNDM,1) - TAUTAU = - TAUEFF / AM (KPNUC) * LOG ( RNDM - & (1) ) - TAUTAU = MAX ( TAUTAU, RZNUCL / PNUCL (KP) ) - END IF - XSTNUC (KP) = XSTNUC (KP) + PXNUCL (KP) * TAUTAU - YSTNUC (KP) = YSTNUC (KP) + PYNUCL (KP) * TAUTAU - ZSTNUC (KP) = ZSTNUC (KP) + PZNUCL (KP) * TAUTAU - RSTNUC (KP) = SQRT ( XSTNUC (KP)**2 + YSTNUC (KP)**2 - & + ZSTNUC (KP)**2 ) - 3000 CONTINUE - RETURN -*=== End of subroutine Nucnuc =========================================* - END diff --git a/StarVMC/geant3/peanut/nwisel.F b/StarVMC/geant3/peanut/nwisel.F deleted file mode 100644 index f6addbf0e02..00000000000 --- a/StarVMC/geant3/peanut/nwisel.F +++ /dev/null @@ -1,410 +0,0 @@ -* -* $Id: nwisel.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: nwisel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:07 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:01 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE NWISEL.FOR -*COPY NWISEL -* -*=== nwisel ===========================================================* -* - SUBROUTINE NWISEL ( IKN, LBCHCK ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/eva0.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/parevt.inc" -#include "geant321/parnuc.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" -* - PARAMETER ( FEFFEC = 1.518066780142162 D+00 ) - PARAMETER ( BETMAX = 0.4 D+00 ) -* - REAL RNDM(1), RNGAUS, DUMNOR -* - LOGICAL LBCHCK, LFERMI, LFRMCK, LLMDBR -* - SAVE XBIMTR, YBIMTR, ZBIMTR, COSTHE, SINTHE, SIGMP0, EKENWI, - & SIGMN0, RHOBIM, RPRONU, RADPRP, RADPRN, DSKRED, RHRUSF, - & AUSFL , ZUSFL , PRCOLP, PRCOLN, KPROJ , IKPMX , LFRMCK - SAVE SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, SBHAL1 -* - LFRMCK = IKN .LT. 0 - IKPMX = ABS (IKN) - KPROJ = KPNUCL (IKPMX) - EKENWI = EKECON - AUSFL = IBTAR - ZUSFL = ICHTAR - RHRUSF = 1.D+00 - BEPROJ = PNUCCO / ( EKENWI + AM (KPROJ) ) - RHOBIM = - AINFNT -* - IF ( KPROJ .EQ. 1 .OR. KPROJ .EQ. 8 ) THEN - IPWELL = 1 + KPROJ / 8 - WLLRED = 1.D+00 - ELSE - IPWELL = ITNCMX - IF ( IBAR (KPROJ) .EQ. 0 ) THEN - IF ( KPROJ .LE. 11 ) THEN - WLLRED = 0.D+00 - ELSE - WLLRED = POTMES - END IF - ELSE - WLLRED = POTBAR - END IF - END IF - IF ( IBAR (KPROJ) .NE. 0 ) THEN - RPRONU = 1.D+00 - ELSE IF ( KPROJ .NE. 7 ) THEN - RPRONU = 0.8164965809277260D+00 - ELSE - RPRONU = 0.D+00 - END IF - IF ( LBCHCK ) THEN - LFERMI = .FALSE. - EKESIG = EKENWI - PPRSIG = PNUCCO - CALL SIGFER ( KPTOIP (KPROJ), EKESIG, PPRSIG, LFERMI ) - PRCOLP = ZUSFL / AUSFL * SIGMAP - PRCOLN = ( AUSFL - ZUSFL ) / AUSFL * SIGMAN - SIGMAA = PRCOLP + PRCOLN - PRCOLP = PRCOLP / SIGMAA - PRCOLN = 1.D+00 - PRCOLP - END IF - IF ( RPRONU .GT. ANGLGB ) THEN - IF ( LPARWV ) THEN - LLMDBR = .TRUE. - TMP102 = 1.D-02 - PDEBRO = MAX ( PNUCL (IKPMX), TMP102 ) - DEBRLM = 0.5D+00 * PLABRC / PDEBRO - RADCOR = 1.D+00 - ELSE - LLMDBR = .FALSE. - DEBRLM = 0.D+00 - RADCOR = 1.D+00 - END IF - ELSE - RADCOR = 0.D+00 - LLMDBR = .FALSE. - DEBRLM = 0.D+00 - END IF - RADCO2 = RADCOR - RADPRO = MIN ( TWOTWO * RMSPRO * RPRONU * RADCOR, SKGT16 ) - RADPRP = RADPRO - RADPRN = RADPRO - CXIMPC = PXNUCL (IKPMX) / PNUCL (IKPMX) - CYIMPC = PYNUCL (IKPMX) / PNUCL (IKPMX) - CZIMPC = PZNUCL (IKPMX) / PNUCL (IKPMX) - COSTHE = ( CXIMPC * XSTNUC (IKPMX) + CYIMPC * YSTNUC (IKPMX) - & + CZIMPC * ZSTNUC (IKPMX) ) / RSTNUC (IKPMX) - SINTHE = SQRT ( 1.D+00 - MIN ( COSTHE * COSTHE, ONEONE ) ) - BIMPTR = RSTNUC (IKPMX) * SINTHE - IF ( LLMDBR ) THEN - BIMOLD = BIMPTR - CALL GRNDM(RNDM,1) - BIMPTR = BIMPTR + ( 2.D+00 * RNDM (1) - 1.D+00 ) - & * DEBRLM - CALL GRANOR ( RNGAUS, DUMNOR) - HEISEX = DEBRLM * RNGAUS - DSTMIN = - RSTNUC (IKPMX) * COSTHE - XBIMTR = XSTNUC (IKPMX) + DSTMIN * CXIMPC - YBIMTR = YSTNUC (IKPMX) + DSTMIN * CYIMPC - ZBIMTR = ZSTNUC (IKPMX) + DSTMIN * CZIMPC - XPARAL = XSTNUC (IKPMX) - XBIMTR - YPARAL = YSTNUC (IKPMX) - YBIMTR - ZPARAL = ZSTNUC (IKPMX) - ZBIMTR - IF ( BIMOLD .GT. ANGLGB ) THEN - BIMOLD = BIMPTR / BIMOLD - XBIMTR = XBIMTR * BIMOLD - YBIMTR = YBIMTR * BIMOLD - ZBIMTR = ZBIMTR * BIMOLD - ELSE - CALL RACO ( CXHLP, CYHLP, CZHLP ) - XBIMTR = BIMPTR * ( CYHLP * CZIMPC - CZHLP * CYIMPC ) - YBIMTR = BIMPTR * ( CZHLP * CXIMPC - CXHLP * CZIMPC ) - ZBIMTR = BIMPTR * ( CXHLP * CYIMPC - CYHLP * CXIMPC ) - END IF - XSTNUC (IKPMX) = XPARAL + XBIMTR + HEISEX * CXIMPC - YSTNUC (IKPMX) = YPARAL + YBIMTR + HEISEX * CYIMPC - ZSTNUC (IKPMX) = ZPARAL + ZBIMTR + HEISEX * CZIMPC - RSTNUC (IKPMX) = SQRT ( XSTNUC (IKPMX)**2 + YSTNUC (IKPMX)**2 - & + ZSTNUC (IKPMX)**2 ) - COSTHE = ( CXIMPC * XSTNUC (IKPMX) + CYIMPC * YSTNUC (IKPMX) - & + CZIMPC * ZSTNUC (IKPMX) ) / RSTNUC (IKPMX) - BIMPTR = ABS (BIMPTR) - SINTHE = BIMPTR / MAX ( RSTNUC (IKPMX), ANGLGB ) - ELSE - DSTMIN = - RSTNUC (IKPMX) * COSTHE - XBIMTR = XSTNUC (IKPMX) + DSTMIN * CXIMPC - YBIMTR = YSTNUC (IKPMX) + DSTMIN * CYIMPC - ZBIMTR = ZSTNUC (IKPMX) + DSTMIN * CZIMPC - END IF - IF ( COSTHE .GE. 0.D+00 .AND. RSTNUC (IKPMX) .GE. RADTOT - & + RADPRO ) GO TO 4500 -* - SBUSED = 0.D+00 - IF ( BIMPTR .GT. RADTOT - RADPRO ) THEN - BIMPCT = 0.5D+00 * ( RADTOT + BIMPTR - RADPRO ) - TRUFAC = BIMPCT / BIMPTR - IF ( BIMPTR .GE. RADTOT ) THEN - X1 = BIMPTR - RADTOT - IF ( X1 .LE. RADPRO ) THEN - ANGRED = ACOS ( 2.D+00 * X1 / ( RADPRO + X1 ) ) / PI - X1 = X1 / ( R0PROT * RPRONU * RADCO2 ) - DSKRED = ( 0.5D+00 * X1 * X1 + X1 + 1.D+00 ) - & * EXP (-X1) * ANGRED - END IF - ELSE - X1 = RADPRO + BIMPTR - RADTOT - ANGRED = ACOS ( 2.D+00 * X1 / ( RADPRO + X1 ) ) / PI - X1 = X1 / ( R0PROT * RPRONU * RADCO2 ) - DSKRED = 1.D+00 - ( 0.5D+00 * X1 * X1 + X1 + 1.D+00 ) - & * EXP (-X1) * ANGRED - END IF - ELSE - BIMPCT = BIMPTR - TRUFAC = 1.D+00 - DSKRED = 1.D+00 - END IF - IF ( BIMPCT .LT. RADTOT ) THEN - IF ( .NOT. LBCHCK ) THEN - RHOSAV = RHOBIM - RHOBIM = FRHONC ( BIMPCT ) - IF ( RHOBIM .EQ. RHOSAV ) GO TO 5500 - PFRBIM = FPFRNC ( RHOBIM, ITNCMX ) - EKFBIM = FEKFNC ( PFRBIM, ITNCMX ) - RHOHLP = FRHONC ( BIMPTR ) - PFRHLP = FPFRNC ( RHOHLP, IPWELL ) - PFRHLP = 0.5D+00 * PFRHLP * PFRHLP / AMNUSQ (IPWELL) - VPRBIM = WLLRED * ( AMNUCL (IPWELL) * PFRHLP - & * ( 1.D+00 - 0.5D+00 * PFRHLP ) + BNDNUC ) - LFERMI = .TRUE. - EKESIG = EKENWI - PPRSIG = PNUCCO - CALL SIGFER ( KPTOIP (KPROJ), EKESIG, PPRSIG, LFERMI ) - PRCOLP = ZUSFL / AUSFL * SIGMAP - PRCOLN = ( AUSFL - ZUSFL ) / AUSFL * SIGMAN - SIGMAA = PRCOLP + PRCOLN - IF ( SIGMAA .GT. 0.D+00 ) THEN - PRCOLP = PRCOLP / SIGMAA - PRCOLN = 1.D+00 - PRCOLP - ELSE - PRCOLP = 0.D+00 - PRCOLN = 0.D+00 - XBIMPC = XBIMTR * TRUFAC - YBIMPC = YBIMTR * TRUFAC - ZBIMPC = ZBIMTR * TRUFAC - GO TO 4500 - END IF - 5500 CONTINUE - END IF - XBIMPC = XBIMTR * TRUFAC - YBIMPC = YBIMTR * TRUFAC - ZBIMPC = ZBIMTR * TRUFAC - IF ( COSTHE .GE. 0.D+00 ) THEN - R0TRAJ = RSTNUC (IKPMX) * TRUFAC - R1TRAJ = RADTOT - IF ( R0TRAJ .GT. RADTOT ) GO TO 4500 - ELSE - R0TRAJ = - MIN ( RSTNUC (IKPMX) * TRUFAC, RADTOT ) - R1TRAJ = RADTOT - END IF - CALL GRNDM(RNDM,1) - ANMFP = - LOG ( RNDM (1) ) / DSKRED - IF ( BIMPCT .GT. RAD1O2 ) THEN - SBTTSQ = 4.D+00 * ( RADTOT**2 - BIMPCT**2 ) * RHOBIM**2 - IF ( SBTTSQ .LE. ( ANMFP / SIGMAA )**2 ) GO TO 4500 - END IF - CALL SBCOMP ( SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, SBHAL1 ) - SBTOT = SBHAL0 + SBSKI0 + SBCEN0 + SBCEN1 + SBSKI1 + SBHAL1 - SBTOT = RHRUSF * SBTOT - IF ( SBTOT * SIGMAA .GT. ANMFP ) GO TO 5000 - END IF - 4500 CONTINUE - BIMPCT = RADTOT + RADPRO + 0.0001D+00 - IF ( BIMPTR .LT. BIMPCT ) THEN - DSTMIN = SQRT ( BIMPCT**2 - BIMPTR**2 ) - RIMPTR = BIMPCT - XIMPTR = XBIMTR + CXIMPC * DSTMIN - YIMPTR = YBIMTR + CYIMPC * DSTMIN - ZIMPTR = ZBIMTR + CZIMPC * DSTMIN - ELSE - XIMPTR = XBIMTR - YIMPTR = YBIMTR - ZIMPTR = ZBIMTR - RIMPTR = BIMPTR - END IF - CXIMPC = -XIMPTR / RIMPTR - CYIMPC = -YIMPTR / RIMPTR - CZIMPC = -ZIMPTR / RIMPTR - RETURN - ENTRY NWINXT ( LBCHCK ) - 4800 CONTINUE - SIGMAP = SIGMP0 - SIGMAN = SIGMN0 - 4900 CONTINUE - CALL GRNDM(RNDM,1) - ANMFP = - LOG ( RNDM (1) ) / DSKRED - IF ( SBRES * SIGMAA .LE. ANMFP ) GO TO 4500 - 5000 CONTINUE - SBUSED = SBUSED * RHRUSF + ANMFP / SIGMAA - SBRES = SBTOT - SBUSED - SBUSED = SBUSED / RHRUSF - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PRCOLP ) THEN - KNUCIM = 1 - ITFRMI = 1 - ELSE - KNUCIM = 8 - ITFRMI = 2 - END IF - CALL RSCOMP ( SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, SBHAL1 ) - RHOIMP = FRHONC ( ABS (RIMPCT) ) - PFRIMP = FPFRNC ( RHOIMP, ITFRMI ) - EKFIMP = FEKFNC ( PFRIMP, ITFRMI ) - RHOIMT = FRHONC ( ABS (RIMPTR) ) - PFRPRO = FPFRNC ( RHOIMT, IPWELL ) - EKFPRO = FEKFNC ( PFRPRO, IPWELL ) - VPRWLL = WLLRED * ( EKFPRO + BNDNUC ) - LELSTC = .TRUE. - NTARGT = 1 - EKEWLL = EKENWI + VPRWLL - EPSWLL = EKEWLL + AM (KPROJ) - IF ( .NOT. LBCHCK ) THEN - PPRWLL = SQRT ( EKEWLL * ( EKEWLL + 2.D+00 * AM (KPROJ) ) ) - PXPROJ = PPRWLL * CXIMPC - PYPROJ = PPRWLL * CYIMPC - PZPROJ = PPRWLL * CZIMPC - PNFRMI = PFNCLV ( ITFRMI, .TRUE. ) - IF ( PNFRMI .LT. - 100.D+00 ) GO TO 4900 - CALL RACO ( PXFERM, PYFERM, PZFERM ) - PXFERM = PXFERM * PNFRMI - PYFERM = PYFERM * PNFRMI - PZFERM = PZFERM * PNFRMI - EKFERM = SQRT ( PNFRMI**2 + AM (KNUCIM)**2 ) - AM (KNUCIM) - ERES = EKEWLL + AM (KPROJ) + AM (KNUCIM) + EKFERM - PXRES = PXPROJ + PXFERM - PYRES = PYPROJ + PYFERM - PZRES = PZPROJ + PZFERM - PTRES2 = PXRES**2 + PYRES**2 + PZRES**2 - UMO2 = ERES**2 - PTRES2 - EKESIG = 0.5D+00 * ( UMO2 - AM (KPROJ)**2 - AM (KNUCIM)**2 ) - & / AM (KNUCIM) - AM (KPROJ) - EKFIMP = MAX ( EKFERM, EKFIMP ) - ELSE - EKESIG = EKEWLL - END IF - PPRSIG = SQRT ( EKESIG * ( EKESIG + 2.D+00 * AM (KPROJ) ) ) - SIGMN0 = SIGMAN - SIGMP0 = SIGMAP - LFERMI = .FALSE. - CALL SIGFER ( KPTOIP (KPROJ), EKESIG, PPRSIG, LFERMI ) - IF ( KNUCIM .EQ. 1 ) THEN - SIGMAR = SIGMAP / SIGMP0 - ELSE - SIGMAR = SIGMAN / SIGMN0 - END IF - SIGMAR = MIN ( SIGMAR, ONEONE ) - CALL GRNDM(RNDM,1) - RNDREJ = RNDM (1) - IF ( RNDREJ .GE. SIGMAR ) GO TO 4800 - IF ( LBCHCK ) THEN - ZITA = 0.5D+00 * ( EKFIMP + EKFPRO ) / EKEWLL - IF ( ZITA .LE. 0.5D+00 ) THEN - PZITA = 1.D+00 - 1.4D+00 * ZITA - ELSE - PZITA = 1.D+00 - 1.4D+00 * ZITA + 0.4D+00 * ZITA - & * ( 2.D+00 - 1.D+00 / ZITA )**2.5D+00 - END IF - RNDREJ = RNDREJ / SIGMAR - IF ( RNDREJ .GE. PZITA ) GO TO 4800 - ELSE IF ( LFRMCK ) THEN - EKFPRJ = EKFPRO + DEFNUC (IPWELL) - EKFTAR = EKFIMP + DEFNUC (ITFRMI) - IF ( EKEWLL + EKFERM .LE. EKFTAR + EKFPRJ ) GO TO 4800 - PCMSSQ = ( PXPROJ - 0.5D+00 * PXRES )**2 - & + ( PYPROJ - 0.5D+00 * PYRES )**2 - & + ( PZPROJ - 0.5D+00 * PZRES )**2 - RNDREJ = RNDREJ / SIGMAR - PPROSQ = EKFPRJ * ( EKFPRJ + 2.D+00 * AM (KPROJ) ) - PTARSQ = EKFTAR * ( EKFTAR + 2.D+00 * AMNUCL (ITFRMI) ) - HLPHLP = PCMSSQ + 0.25D+00 * PTRES2 - HLPHL2 = PCMSSQ * PTRES2 - IF ( RNDREJ .GE. 0.5D+00 ) THEN - RNDREJ = 2.D+00 * ( RNDREJ - 0.5D+00 ) - IF ( HLPHLP .LT. PTARSQ ) THEN - COSQMX = 0.D+00 - ELSE - COSQMX = ( HLPHLP - PTARSQ )**2 / HLPHL2 - END IF - IF ( HLPHLP .GT. PPROSQ ) THEN - COSQMN = 0.D+00 - ELSE - COSQMN = ( PPROSQ - HLPHLP )**2 / HLPHL2 - END IF - ELSE - RNDREJ = 2.D+00 * RNDREJ - IF ( HLPHLP .LT. PPROSQ ) THEN - COSQMX = 0.D+00 - ELSE - COSQMX = ( HLPHLP - PPROSQ )**2 / HLPHL2 - END IF - IF ( HLPHLP .GT. PTARSQ ) THEN - COSQMN = 0.D+00 - ELSE - COSQMN = ( PTARSQ - HLPHLP )**2 / HLPHL2 - END IF - COSQMX = ( 0.25D+00 * PTRES2 + PCMSSQ - PPROSQ )**2 - & / ( PTRES2 * PCMSSQ ) - END IF - RNDREJ = RNDREJ**2 - IF ( RNDREJ .GE. COSQMX .OR. RNDREJ .LT. COSQMN ) GO TO 4800 - END IF - RETURN -*=== End of subroutine Nwisel =========================================* - END diff --git a/StarVMC/geant3/peanut/peanut.F b/StarVMC/geant3/peanut/peanut.F deleted file mode 100644 index 7bd0b7e008f..00000000000 --- a/StarVMC/geant3/peanut/peanut.F +++ /dev/null @@ -1,892 +0,0 @@ -* -* $Id: peanut.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: peanut.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE PEANUT.FOR -*COPY PEANUT -* -*=== peanut ===========================================================* -* - SUBROUTINE PEANUT ( KPROJ, EKE, PPROJ, TXX, TYY, TZZ, WEE ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -* -#include "geant321/balanc.inc" -#include "geant321/eva0.inc" -#include "geant321/fheavy.inc" -#include "geant321/finuc.inc" -#include "geant321/higfis.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/parevt.inc" -#include "geant321/parnuc.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" -* -* - COMMON / FKCOSP / C1ST (3), C2ND (3), LEMISS - LOGICAL LEMISS - COMMON / FKCMCY / NPCYCL (20,2), IEVT, LOUT -* - COMMON / FKPLOC / IABCOU - LOGICAL LBCHCK, LBIMPC, LTRPPD, LASSOR, LEXIT, LPRCYC, LEXPLC, - & LNWINT - DIMENSION IPTYPE (39) - REAL RNDM(2) - SAVE IPTYPE - DATA IPTYPE / 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, - & 3, 3, 4, 4, 5, 5, 0, 5, 5, 5, 3, 4, - & 4, 0, 0, 0, 0, 0, 6, 6, 6, 7, 8, 7, - & 8, 9, 10 / -* -* - IEVPRE = IEVPRE + 1 - NUSCIN = 0 - IABCOU = 0 - IF ( EKE .GT. 2.D+00 * GAMMIN ) THEN - EOTEST = ETTOT - PTORI = PPROJ - PXORI = PTORI * TXX - PYORI = PTORI * TYY - PZORI = PTORI * TZZ - ELSE - EOTEST = ETTOT - EKE - ETTOT = EOTEST - PTORI = 0.D+00 - PXTTOT = 0.D+00 - PYTTOT = 0.D+00 - PZTTOT = 0.D+00 - PTTOT = 0.D+00 - PXORI = 0.D+00 - PYORI = 0.D+00 - PZORI = 0.D+00 - END IF - ETEPS = 1.D-10 * ETTOT - ICHTOT = ICHTAR + ICH (KPROJ) - IBTOT = IBTAR + IBAR (KPROJ) - IBNUCL = IBTAR - IBORI = IBAR (KPROJ) - IPTORI = IPTYPE (KPTOIP(KPROJ)) - KPORI = KPROJ - EKORI = EKE - ZZTAR = ICHTAR - BBTAR = IBTAR - IF ( ICH (KPROJ) .NE. 0 .AND. EKE .GT. 2.D+00 * GAMMIN ) THEN - FLKCOU = DOST ( 1, ZZTAR ) - CCOUL = DOST ( 3, ZZTAR ) - CLMBBR = ICH (KPROJ) * COULBH * ZZTAR / RMASS (IBTAR) - IF ( CLMBBR .GT. 0.9D+00 * EKE ) THEN - TMPEKE = 0.98D+00 * EKE - CLMHLP = MIN ( CLMBBR * FLKCOU, TMPEKE ) - CLMBBR = MIN ( CLMBBR, EKE ) - WEIGH1 = 10.0D+00 * ( CLMBBR / EKE - 0.9D+00 ) - CLMBBR = WEIGH1 * CLMHLP + ( 1.D+00 - WEIGH1 ) * CLMBBR - END IF - BFCLMB = SQRT ( 1.D+00 - CLMBBR / EKE ) - RDCLMB = ICH (KPROJ) * COULPR * ZZTAR / CLMBBR - ELSE - CLMBBR = 0.D+00 - BFCLMB = 1.D+00 - RDCLMB = AINFNT - END IF - IBRES = IBTOT - ICRES = ICHTOT - BBRES = IBRES - ZZRES = ICRES - AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER ( BBRES, ZZRES ) - AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) - NPROT = 0 - NNEUT = 0 - NHOLE = 0 - AVEBIN = ( ( BBTAR - ZZTAR ) * AMNUCL (2) + ZZTAR * AMNUCL (1) - & - AMNTAR ) / BBTAR - AMMHLP = ( BBTAR - 1.D+00 ) * AMUAMU + 1.D-03 - & * FKENER ( BBTAR - ONEONE, ZZTAR - ONEONE ) - AMNHLP = AMMHLP - ( ZZTAR - 1.D+00 ) * AMELEC + ELBNDE (ICHTAR-1) - BNENRG (1) = AMNHLP + AMNUCL (1) - AMNTAR - AMMHLP = ( BBTAR - 1.D+00 ) * AMUAMU + 1.D-03 - & * FKENER ( BBTAR - ONEONE, ZZTAR ) - AMNHLP = AMMHLP - ZZTAR * AMELEC + ELBNDE (ICHTAR) - BNENRG (2) = AMNHLP + AMNUCL (2) - AMNTAR - - BNENRG (3) = 0.5D+00 * ( BNENRG (1) + BNENRG (2) ) - RHORED = 1.D+00 - NPNUC = 0 - NNUCTS = 0 - NHLEXP = 0 - JNUCTS = 0 - ACOLL = ANOW - ZCOLL = ZNOW - IF ( .NOT. LPREEX ) THEN - IF ( KPROJ .EQ. 1 .OR. KPROJ .EQ. 8 ) THEN - LEXPLC = EKE .GT. 0.250D+00 - ELSE IF ( KPROJ .EQ. 14 .AND. PTTOT .LE. 0.D+00 ) THEN - LEXPLC = .TRUE. - ELSE - STOP 'LEXPLC' - END IF - ELSE - LEXPLC = .TRUE. - END IF - IF ( LEXPLC .AND. EKE .GT. IBAR(KPROJ) * EKEEXP ) THEN - ICYCL = 0 - IREINT = 0 - LPRCYC = .TRUE. - LBCHCK = .FALSE. - LBIMPC = .TRUE. - LELSTC = .FALSE. - LABRST = .FALSE. - LABSRP = .FALSE. - LINELS = .FALSE. - LCHEXC = .FALSE. - RHOEXP = 0.D+00 - EKFEXP = 0.D+00 - EKFREI = 0.D+00 - RHOREI = 0.D+00 - KPRIN = KPROJ - KRFLIN = 0 - ERECLD = 0.D+00 - BNPREV = 0.D+00 - EKECON = EKE - PNUCCO = PPROJ - CALL BIMSEL ( KPROJ, TXX, TYY, TZZ, LBCHCK ) - WLLPRO = WLLRED - BNPROJ = WLLRED * BNDNUC - RHOMEM = 0.5D+00 * ( RHOIMP + RHOIMT ) - EKFMEM = 0.5D+00 * ( EKFIMP + EKFPRO ) - IAAFT = IBRES - IBAR (KPROJ) - IZAFT = ICRES - ICH (KPROJ) - CALL EEXLVL ( IAAFT, IZAFT, EEXDEL, EEXMIN, EEXDUM ) - EEXANY = EEXDEL - IF ( ALPHAL .LE. 0.D+00 ) THEN - DEFPRO = 0.D+00 - DEFNEU = 0.D+00 - ELSE - DEFPRO = 0.D+00 - DEFNEU = 0.D+00 - END IF - DEFNUC (1) = DEFPRO - DEFNUC (2) = DEFNEU - 100 CONTINUE - IF ( LELSTC ) THEN - CALL NUCNUC ( IKPMX , KRFLIN, WEE , ERECMN, LBIMPC, - & LBCHCK, ICYCL , NHOLE , NPROT , NNEUT , - & LEXIT , LNWINT ) - ELSE IF ( KPRIN .EQ. 14 ) THEN - CALL PIOABS ( IKPMX , KRFLIN, WEE , ERECMN, LBIMPC, - & LBCHCK, ICYCL , NHOLE , NPROT , NNEUT , - & LEXIT , LNWINT ) - ELSE - STOP 'Int_kind' - END IF - IF ( LNWINT ) GO TO 100 - BBRES = IBRES - ZZRES = ICRES - IF ( .NOT. LEXIT ) THEN - LPRCYC = .FALSE. - ELSE - BNPREV = BNPREV + BNDUSE - END IF - 200 CONTINUE - LELSTC = .FALSE. - LABRST = .FALSE. - LABSRP = .FALSE. - LINELS = .FALSE. - LCHEXC = .FALSE. - GAMMAX = 0.D+00 - IREFMN = 10000 - IKPMX = 0 - IBCHCK = 0 - ICCHCK = 0 - IBNUCL = 0 - ICNUCL = 0 - ILIVE = 0 - LTRPPD = .FALSE. - DO 300 KP = 1, NPNUC - IF ( KPNUCL (KP) .LE. 0 ) GO TO 300 - ILIVE = ILIVE + 1 - KPNUC = KPNUCL (KP) - IPTNUC = IPTYPE (KPTOIP(KPNUC)) - IF ( IPTNUC .EQ. 1 ) THEN - BNDNU0 = BNENRG (1+KPNUC/8) - WLLRE0 = POTBAR - ELSE - IF ( IBAR (KPNUC) .NE. 0 ) THEN - WLLRE0 = POTBAR - BNDNU0 = BNENRG (3) - ELSE IF ( KPNUC .LE. 11 ) THEN - WLLRE0 = 0.D+00 - BNDNU0 = 0.D+00 - ELSE - WLLRE0 = POTMES - BNDNU0 = BNENRG (3) - END IF - END IF - IF ( EKFNUC (KP) .GT. -100.D+00 ) THEN - GAMMA = ( ENNUC (KP) - WLLRE0 * ( EKFNUC (KP) + BNDNU0 ) - & ) / AM (KPNUC) - ELSE - IF ( AM (KPNUC) .LE. ANGLGB ) THEN - GAMMA = AINFNT - ELSE - GAMMA = ENNUC (KP) / AM (KPNUC) - END IF - END IF - IF ( IBAR (KPNUC) .GT. 0 ) THEN - IBNUCL = IBNUCL + IBAR (KPNUC) - ICNUCL = ICNUCL + ICH (KPNUC) - END IF - IBCHCK = IBCHCK + IBAR (KPNUC) - ICCHCK = ICCHCK + ICH (KPNUC) - IF ( KRFNUC (KP) .LT. IREFMN ) THEN - IREFMN = KRFNUC (KP) - GAMMAX = GAMMA - IKPMX = KP - WLLRED = WLLRE0 - BNDNUC = BNDNU0 - ELSE IF ( KRFNUC (KP) .EQ. IREFMN ) THEN - IF ( GAMMA .GT. GAMMAX ) THEN - GAMMAX = GAMMA - IKPMX = KP - WLLRED = WLLRE0 - BNDNUC = BNDNU0 - END IF - END IF - 300 CONTINUE - IBNUCL = IBRES - IBNUCL - NPROT - NNEUT - ICNUCL = ICRES - ICNUCL - NPROT - ACOLL = IBNUCL - ZCOLL = ICNUCL - RHORED = ACOLL / BBTAR - IF ( IKPMX .LE. 0 ) THEN - IBCKC = IBTOT - IBINTR - IBNUCR - ICCKC = ICHTOT - ICINTR - ICNUCR - IF ( IBCKC .NE. IBRES .OR. ICCKC .NE. ICRES ) THEN - ICRES = ICCKC - IBRES = IBCKC - END IF - NEXPEM = NP-NP0 - DO 450 IJJ = 1,IGREYN - NPCYCL (IJJ,1) = 0 - 450 CONTINUE - DO 460 IJJ = 1,IGREYP - NPCYCL (IJJ,2) = 0 - 460 CONTINUE - BBRES = IBRES - ZZRES = ICRES - ANOW = BBRES - ZNOW = ZZRES - AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER ( BBRES, ZZRES) - AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) - PXRES = PXTTOT - PXNUCR - PXINTR - PYRES = PYTTOT - PYNUCR - PYINTR - PZRES = PZTTOT - PZNUCR - PZINTR - PTRES2= PXRES**2 + PYRES**2 + PZRES**2 - PTRES = SQRT ( PTRES2 ) - ERES = ETTOT - EINTR - ENUCR - UMO2 = ( ERES - PTRES ) * ( ERES + PTRES ) - IF ( UMO2 .LT. ONEMNS*AMNRES**2 ) THEN - UMO = SQRT (UMO2) - WRITE ( LUNOUT,* )' 2:UMO,AMNRES',UMO,AMNRES - GO TO 530 - ELSE IF ( UMO2 - AMNRES*AMNRES .LT. AMNRES*TVEPSI ) THEN - UMO = SQRT (UMO2) - GO TO 530 - END IF - IF ( ICYCL .NE. NHOLE - IABCOU ) THEN - WRITE (LUNOUT,*)' *** KPORI, ICYCL, NHOLE, IABCOU', - & KPORI, ICYCL, NHOLE, IABCOU - ICYCL = NHOLE - IABCOU - END IF - NPTOT = NPROT + NNEUT - NHLEXP = NHOLE - IF ( .NOT. LPRCYC .OR. NPTOT .LE. 0 .OR. NNUCTS .GT. 0 ) - & THEN - LEMISS = .FALSE. - NHOLE = NHOLE + 1 - IF ( EKFREI .GT. ANGLGB ) THEN - RHOIMP = ( RHOEXP + RHOREI ) / NHOLE - EKFIMP = ( EKFEXP + EKFREI ) / NHOLE - ELSE - RHOIMP = ( RHOEXP + RHOAVE ) / NHOLE - EKFIMP = ( EKFEXP + EKFAVE ) / NHOLE - END IF - ANPROT = NPROT - ANNEUT = NNEUT - ACOLL = ACOLL - 1.D+00 - IF ( NPTOT .GT. 0 ) THEN - PNPROT = ( ZNOW - ANPROT ) * ( 3.D+00 * ANNEUT - & + ANPROT ) / ( ANPROT * ( ZNOW - ANPROT - & + 3.D+00 * ( ANOW - ANNEUT - ZNOW ) ) + ANNEUT - & * ( 3.D+00 * ( ZNOW - & - ANPROT ) + ANOW - ANNEUT - ZNOW ) ) - ELSE - PNPROT = ZNOW / ANOW - END IF - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PNPROT ) THEN - NPROT = NPROT + 1 - ZCOLL = ZCOLL - 1.D+00 - ELSE - NNEUT = NNEUT + 1 - END IF - ELSE - RHOIMP = RHOEXP / NHLEXP - EKFIMP = EKFEXP / NHLEXP - IF ( ICYCL .EQ. 1 ) THEN - IF ( NP .LE. NP0 ) THEN - LEMISS = .FALSE. - ICYCL = ICYCL - 1 - ELSE - LEMISS = .TRUE. - END IF - ELSE - LEMISS = .FALSE. - ICYCL = ICYCL - 1 - END IF - END IF - GO TO 500 - END IF - KPNUC = KPNUCL (IKPMX) - IPTNUC = IPTYPE (KPTOIP(KPNUC)) - ERECMN = MAX ( ERECLD, ERECMN ) - ERECLD = ERECMN - ERECMN = ERECMN / ( ICYCL + IGREYP + IGREYN ) - IAAFT = IBRES - IBAR (KPNUC) - IZAFT = ICRES - ICH (KPNUC) - CALL EEXLVL ( IAAFT, IZAFT, EEXDEL, EEXMIN, EEXDUM ) - IF ( NP .EQ. NP0 .AND. KPNUC .EQ. KPROJ ) THEN - EEXANY = EEXDEL - ELSE - EEXANY = 0.D+00 - END IF - AAFT = BBRES - IBAR (KPNUC) - ZAFT = ZZRES - ICH (KPNUC) - AMMAFT = AAFT * AMUAMU + 0.001D+00 * FKENER ( AAFT, ZAFT ) - AMNAFT = AMMAFT - ZAFT * AMELEC + ELBNDE ( NINT (ZAFT) ) - IF ( WLLRED .GT. ANGLGB ) THEN - IF ( EKFNUC (IKPMX) .GT. -100.D+00 ) THEN - BNDGEN = IBAR (KPNUC) * AM (KPNUC) + AMNAFT - AMNRES - IF ( NP .EQ. NP0 .AND. IPTNUC .EQ. IPTORI ) THEN - BNDUSE = BNPROJ + AMNAFT - AMNTAR + AM (KPNUC) - & - AM (KPROJ) - ELSE IF ( NP .EQ. NP0 ) THEN - IF ( IPTNUC .EQ. 1 ) THEN - BNDUSE = AMNAFT - AMNTAR + AM (KPNUC) - BNDUSE = MAX ( BNDUSE, ZERZER ) - ELSE - BNDUSE = WLLRED * BNDNUC - END IF - ELSE IF ( NUSCIN .EQ. 1 ) THEN - AMEMIT = 0.D+00 - DO 430 KP = NP0+1, NP - IPTPAR = IPTYPE (KPTOIP(KPART(KP))) - IF ( IPTPAR .EQ. 1 .OR. IPTPAR .EQ. IPTORI ) - & AMEMIT = AMEMIT + AM (KPTOIP(KPART(KP))) - 430 CONTINUE - IF ( IPTNUC .EQ. IPTORI ) THEN - BNTRUE = AMNAFT + AMEMIT + AM (KPNUC) - AMNTAR - & - AM (KPROJ) - BNDUSE = BNPROJ + BNTRUE - BNPREV - BNDUSE = MAX ( BNDUSE, ZERZER ) - ELSE IF ( IPTNUC .EQ. 1 ) THEN - BNDUSE = AMNAFT + AMEMIT + AM (KPNUC) - AMNTAR - & - BNPREV - BNDUSE = MAX ( BNDUSE, ZERZER ) - ELSE - BNDUSE = WLLRED * BNDNUC - END IF - ELSE - BNDUSE = WLLRED * MAX ( BNDGEN, ZERZER ) - END IF - EKFPRE = EKFNUC (IKPMX) - VWELL0 = WLLRED * EKFNUC (IKPMX) + BNDUSE + ERECMN - ENNUC (IKPMX) = ENNUC (IKPMX) - VWELL0 - EKFNUC (IKPMX) = WLLRED * BNDNUC - BNDUSE - ERECMN - ELSE - BNDGEN = IBAR (KPNUC) * AM (KPNUC) + AMNAFT - AMNRES - IF ( NP .EQ. NP0 .AND. KPNUC .EQ. KPORI ) THEN - BNDUSE = BNPROJ - ELSE - BNDUSE = WLLRED * MAX ( BNDGEN, ZERZER ) - END IF - EKFPRE = EKFAVE - RHNUCL (IKPMX) = RHOAVE - VWELL0 = BNDUSE - WLLRED * BNDNUC + ERECMN - ENNUC (IKPMX) = ENNUC (IKPMX) - VWELL0 - EKFNUC (IKPMX) = - VWELL0 - END IF - ELSE - VWELL0 = 0.D+00 - EKFNUC (IKPMX) = 0.D+00 - EKFPRE = 0.D+00 - BNDUSE = 0.D+00 - END IF - EKNNUC = ENNUC (IKPMX) - AM (KPNUC) - EKECON = EKNNUC - EKFNUC (IKPMX) - IF ( ICH (KPNUC) .GT. 0 ) THEN - FLKCOU = DOST ( 1, ZAFT ) - ETHRES = FLKCOU * ICH (KPNUC) * COULBH * ZAFT - & / RMASS ( NINT (AAFT) ) - IF ( EKNNUC .GT. ETHRES ) THEN - LASSOR = .FALSE. - FREJE = 1.D+00 - ( ETHRES / EKNNUC )**3 - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .GE. FREJE ) LTRPPD = .TRUE. - ELSE - LASSOR = .TRUE. - END IF - ELSE - ETHRES = 0.D+00 - IF ( EKNNUC .GT. ETHRES ) THEN - LASSOR = .FALSE. - ELSE - LASSOR = .TRUE. - END IF - END IF - IF ( LASSOR .OR. LTRPPD ) THEN - IF ( KPNUC .EQ. 1 .OR. KPNUC .EQ. 8 ) THEN - KPNUCL (IKPMX) = - KPNUCL (IKPMX) - ENNUC (IKPMX) = ENNUC (IKPMX) - EKFNUC (IKPMX) - EKFNUC (IKPMX) = -AINFNT - NPROT = NPROT + ICH (KPNUC) - NNEUT = NNEUT + 1 - ICH (KPNUC) - IREINT = IREINT + 1 - LPRCYC = .FALSE. - GO TO 200 - ELSE - LTRPPD = .TRUE. - STOP 'KPNUCL_TRAPPED' - END IF - ELSE - LTRPPD = .FALSE. - END IF - IKPNWI = IKPMX - IF ( KPNUC .EQ. 1 .OR. KPNUC .EQ. 8 ) THEN - ETHMNM = ETHRES + EKEMNM - ETHREI = MAX ( EKREXP, ETHMNM ) - IF ( EKECON .LT. ETHMNM ) THEN - NPROT = NPROT + ICH (KPNUC) - NNEUT = NNEUT + 1 - ICH (KPNUC) - ENNUC (IKPMX) = EKECON + AM (KPNUC) - KPNUCL (IKPMX) = - KPNUCL (IKPMX) - NNUCTS = NNUCTS + 1 - INUCTS (NNUCTS) = IKPMX - JNUCTS = NUSCIN - EKFNUC (IKPMX) = EKFPRE - ENNUC (IKPMX) = ENNUC (IKPMX) - BNDUSE + BNDGEN - RSTNUC (IKPMX) = BNDGEN - LPRCYC = .TRUE. - GO TO 200 - ELSE IF ( EKECON .LT. ETHREI ) THEN - LBCHCK = .FALSE. - IKPNWI = - IKPMX - ELSE - LBCHCK = .FALSE. - END IF - ELSE - LBCHCK = .FALSE. - END IF - PNUCCO = SQRT ( EKECON * ( EKECON + 2.D+00 * AM (KPNUC) ) ) - CALL NWISEL ( IKPNWI, LBCHCK ) - 350 CONTINUE - IF ( BIMPCT .GT. RADTOT .AND. .NOT. LTRPPD ) THEN - KPRIN = KPNUC - IF ( EKNNUC .NE. EKECON ) PNUCCO = SQRT ( EKNNUC * ( EKNNUC - & + 2.D+00 * AM (KPNUC) ) ) - IF ( ABS ( PNUCL (IKPMX) - PNUCCO ) .GT. ANGLGB * PNUCCO ) - & CALL PHDSET ( IKPMX ) - IBRES = IBRES - IBAR (KPNUC) - ICRES = ICRES - ICH (KPNUC) - BBRES = IBRES - ZZRES = ICRES - AMMRES = AMMAFT - AMNRES = AMNAFT - CALL UMOFIN ( IKPMX, BBRES, ZZRES, LTRPPD ) - EKNNUC = ENNUC (IKPMX) - AM (KPNUC) - IF ( LTRPPD ) GO TO 350 - NP = NP + 1 - TKI (NP) = ENNUC (IKPMX) - AM (KPNUC) - KPART (NP) = KPNUC - PLR (NP) = PNUCL (IKPMX) - CXR (NP) = PXNUCL (IKPMX) / PLR (NP) - CYR (NP) = PYNUCL (IKPMX) / PLR (NP) - CZR (NP) = PZNUCL (IKPMX) / PLR (NP) - WEI (NP) = WEE - KPNUCL (IKPMX) = 0 - IF ( KPNUC .EQ. 1 .OR. KPNUC .EQ. 8 ) THEN - IGREYP = IGREYP + ICH (KPNUC) - IGREYN = IGREYN + 1 - ICH (KPNUC) - PXINTR = PXINTR + PXNUCL (IKPMX) - PYINTR = PYINTR + PYNUCL (IKPMX) - PZINTR = PZINTR + PZNUCL (IKPMX) - EINTR = EINTR + ENNUC (IKPMX) - IBINTR = IBINTR + IBAR (KPNUC) - ICINTR = ICINTR + ICH (KPNUC) - ELSE - IOTHER = IOTHER + 1 - PXNUCR = PXNUCR + PXNUCL (IKPMX) - PYNUCR = PYNUCR + PYNUCL (IKPMX) - PZNUCR = PZNUCR + PZNUCL (IKPMX) - ENUCR = ENUCR + ENNUC (IKPMX) - IBNUCR = IBNUCR + IBAR (KPNUC) - ICNUCR = ICNUCR + ICH (KPNUC) - END IF - BNPREV = BNPREV + BNDUSE - IF ( IREINT .LE. 0 ) THEN - LPRCYC = .TRUE. - ELSE - LPRCYC = .FALSE. - END IF - GO TO 200 - ELSE IF ( BIMPCT .GT. RADTOT ) THEN - KRFNUC (IKPMX) = KRFNUC (IKPMX) + 1 - CALL GRNDM(RNDM,1) - SINTHE = RNDM ( 1 ) - COSTHE = SQRT ( 1.D+00 - SINTHE ) - SINTHE = SQRT ( SINTHE ) - 400 CONTINUE - CALL GRNDM(RNDM,2) - RPHI1 = 2.D+00 * RNDM (1) - 1.D+00 - RPHI2 = 2.D+00 * RNDM (2) - 1.D+00 - RPHI12 = RPHI1 * RPHI1 - RPHI22 = RPHI2 * RPHI2 - RSQ = RPHI12 + RPHI22 - IF ( RSQ .GT. 1.D+00 ) GO TO 400 - SINPHI = 2.D+00 * RPHI1 * RPHI2 / RSQ - COSPHI = ( RPHI12 - RPHI22 ) / RSQ - SINT02 = CXIMPC**2 + CYIMPC**2 - IF ( SINT02 .LT. ANGLSQ ) THEN - PXNUCL (IKPMX) = COSPHI * SINTHE * PNUCCO - PYNUCL (IKPMX) = SINPHI * SINTHE * PNUCCO - PZNUCL (IKPMX) = CZIMPC * COSTHE * PNUCCO - ELSE - SINTH0 = SQRT ( SINT02 ) - UPRIME = SINTHE * COSPHI - VPRIME = SINTHE * SINPHI - COSPH0 = CXIMPC / SINTH0 - SINPH0 = CYIMPC / SINTH0 - PXNUCL (IKPMX) = ( UPRIME * COSPH0 * CZIMPC - VPRIME - & * SINPH0 + COSTHE * CXIMPC ) * PNUCCO - PYNUCL (IKPMX) = ( UPRIME * SINPH0 * CZIMPC + VPRIME - & * COSPH0 + COSTHE * CYIMPC ) * PNUCCO - PZNUCL (IKPMX) = ( - UPRIME * SINTH0 + COSTHE * CZIMPC ) - & * PNUCCO - END IF - PNUCL (IKPMX) = PNUCCO - XSTNUC (IKPMX) = XIMPTR - YSTNUC (IKPMX) = YIMPTR - ZSTNUC (IKPMX) = ZIMPTR - RSTNUC (IKPMX) = ABS (RIMPTR) - ENNUC (IKPMX) = EKECON + AM (KPNUC) - EKFNUC (IKPMX) = -AINFNT - GO TO 200 - ELSE - IF ( ( KPNUC .EQ. 1 .OR. KPNUC .EQ. 8 ) .AND. EKECON .LE. - & ETHREI ) THEN - KPNUCL (IKPMX) = - KPNUCL (IKPMX) - ENNUC (IKPMX) = EKECON + AM (KPNUC) - NPROT = NPROT + ICH (KPNUC) - NNEUT = NNEUT + 1 - ICH (KPNUC) - IF ( .NOT. LBCHCK .AND. IKPNWI .GT. 0 ) THEN - LPRCYC = .TRUE. - NNUCTS = NNUCTS + 1 - INUCTS (NNUCTS) = IKPMX - JNUCTS = NUSCIN - EKFNUC (IKPMX) = EKFPRE - ENNUC (IKPMX) = ENNUC (IKPMX) - BNDUSE + BNDGEN - RSTNUC (IKPMX) = BNDGEN - LPRCYC = .TRUE. - ELSE - EKFNUC (IKPMX) = -AINFNT - IREINT = IREINT + 1 - IF ( EKFREI .LT. ANGLGB ) THEN - EKFREI = 0.5D+00 * ( EKFIMP + EKFPRO ) - RHOREI = 0.5D+00 * ( RHOIMP + RHOIMT ) - END IF - LPRCYC = .FALSE. - END IF - GO TO 200 - END IF - LBIMPC = .FALSE. - KPRIN = KPNUC - KPNUCL (IKPMX) = 0 - KRFLIN = KRFNUC (IKPMX) - IF ( EKNNUC .NE. EKECON ) PNUCCO = SQRT ( EKNNUC * ( EKNNUC - & + 2.D+00 * AM (KPRIN) ) ) - CXIMPC = PXNUCL (IKPMX) / PNUCL (IKPMX) - CYIMPC = PYNUCL (IKPMX) / PNUCL (IKPMX) - CZIMPC = PZNUCL (IKPMX) / PNUCL (IKPMX) - XSTNUC (IKPMX) = XIMPTR - YSTNUC (IKPMX) = YIMPTR - ZSTNUC (IKPMX) = ZIMPTR - RSTNUC (IKPMX) = ABS (RIMPTR) - GO TO 100 - END IF - END IF - NEXPEM = 0 - IF ( LGDHPR ) THEN - LBCHCK = .TRUE. - EKECON = EKE - PNUCCO = PPROJ - CALL BIMSEL ( KPROJ, TXX, TYY, TZZ, LBCHCK ) - LELSTC = .FALSE. - RHOIMP = 0.5D+00 * ( RHOIMP + RHOIMT ) - EKFIMP = 0.5D+00 * ( EKFIMP + EKFPRO ) - RHOMEM = RHOIMP - EKFMEM = EKFIMP - END IF -* - ANOW = BBRES - ZNOW = ZZRES - PXRES = PXORI - PYRES = PYORI - PZRES = PZORI - PTRES = PTORI - ERES = EKE + AM (KPROJ) + AMNTAR - IF ( LGDHPR ) THEN - IF ( KPROJ .EQ. 1 ) THEN - NPROT = NPROT + 1 - ELSE IF ( KPROJ .EQ. 8 ) THEN - NNEUT = NNEUT + 1 - END IF - ACOLL = BBTAR - 1.D+00 - IF ( KNUCIM .EQ. 1 ) THEN - NPROT = NPROT + 1 - ZCOLL = ZZTAR - 1.D+00 - ELSE - NNEUT = NNEUT + 1 - ZCOLL = ZZTAR - END IF - NHOLE = NHOLE + 1 - ELSE - ACOLL = BBTAR - 1.D+00 - IF ( KPROJ .EQ. 1 ) THEN - NPROT = NPROT + 1 - PRPONP = ZNOW / ( 3.D+00 * ANOW - 2.D+00 * ZNOW ) - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PRPONP ) THEN - NPROT = NPROT + 1 - ZCOLL = ZZTAR - 1.D+00 - IPRTYP = KPROJ * 10 + 1 - ELSE - NNEUT = NNEUT + 1 - ZCOLL = ZZTAR - IPRTYP = KPROJ * 10 + 8 - END IF - NHOLE = NHOLE + 1 - ELSE IF ( KPROJ .EQ. 8 ) THEN - NNEUT = NNEUT + 1 - PRNONP = 3.D+00 * ZNOW / ( 2.D+00 * ZNOW + ANOW ) - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PRNONP ) THEN - NPROT = NPROT + 1 - ZCOLL = ZZTAR - 1.D+00 - IPRTYP = KPROJ * 10 + 1 - ELSE - NNEUT = NNEUT + 1 - ZCOLL = ZZTAR - IPRTYP = KPROJ * 10 + 8 - END IF - NHOLE = NHOLE + 1 - ELSE - STOP 'KPROJ' - END IF - END IF - ICYCL = 0 - LEMISS = .FALSE. - 500 CONTINUE - CALL PREPRE ( WEE, NNEUT, NPROT, NHOLE, ICYCL ) - 530 CONTINUE - IF ( IBRES .GT. 0 ) THEN - EKR0 = ERES - AMNRES - ATTNUM = ELBNDE (ICHTAR) - ELBNDE (ICRES) - EKR0 * ( AMMRES - & - AMNRES ) / AMMRES - ERES = ERES + AMMTAR - AMNTAR - ( ZZTAR - ZNOW ) * AMELEC - & + ATTNUM - EKRES = ERES - AMMRES - ELSE - AMMRES = 0.D+00 - AMNRES = 0.D+00 - ERES = 0.D+00 - EKR0 = 0.D+00 - EKRES = 0.D+00 - TVTENT = 0.D+00 - GO TO 600 - END IF - IF ( EKRES .LE. 0.D+00 ) THEN - WRITE ( LUNERR,* )' Peanut: negative kinetic energy for', - & ' the residual nucleus!!',ICRES,IBRES, - & REAL (EKRES) - IF ( EKRES .LT. -3.D-3 ) THEN - LRESMP = .TRUE. - RETURN - END IF - EKRES = 0.D+00 - TVRECL = 0.D+00 - AMSTAR = AMMRES - TVCMS = 0.D+00 - PTRES2 = 0.D+00 - PXRES = 0.D+00 - PYRES = 0.D+00 - PZRES = 0.D+00 - PTRES = 0.D+00 - ELSE - PTRES2 = PTRES * PTRES - AMSTAR = ( ERES - PTRES ) * ( ERES + PTRES ) - IF ( AMSTAR .GE. AMMRES**2 ) THEN - AMSTAR = SQRT ( AMSTAR ) - TVCMS = AMSTAR - AMMRES - ELSE IF ( AMMRES**2 - AMSTAR .LT. 2.D+00 * AMSTAR * TVEPSI - & ) THEN - AMSTAR = AMMRES - ERES = SQRT ( AMSTAR**2 + PTRES**2 ) - TVCMS = 0.D+00 - ELSE IF ( AMSTAR .LE. 0.D+00 ) THEN - WRITE ( LUNERR,* )' Peanut: immaginary mass for', - & ' the residual nucleus!!',ICRES,IBRES, - & REAL (AMSTAR) - LRESMP = .TRUE. - RETURN - ELSE - AMSTAR = SQRT ( AMSTAR ) - IF ( AMMRES - AMSTAR .LT. TVEPSI ) THEN - AMSTAR = AMMRES - TVCMS = 0.D+00 - TVRECL = ERES - AMSTAR - GO TO 550 - END IF - WRITE ( LUNERR,* )' Peanut: negative excitation energy for', - & ' the residual nucleus!!',ICRES,IBRES, - & REAL ( AMSTAR - AMMRES ) - IF ( AMSTAR - AMMRES .LT. -3.D-3 ) THEN - LRESMP = .TRUE. - RETURN - END IF - AMSTAR = AMMRES - TVCMS = 0.D+00 - HELP = SQRT ( ( ERES - AMMRES ) * ( ERES + AMMRES ) ) - & / PTRES - PXRES = PXRES * HELP - PYRES = PYRES * HELP - PZRES = PZRES * HELP - PTRES = PTRES * HELP - END IF - TVRECL = ERES - AMSTAR - END IF - 550 CONTINUE - IF ( TVRECL .LT. 0.D+00 ) THEN - TVRECL = 0.D+00 - END IF - TV = 0.D+00 - EKRES = TVRECL - 600 CONTINUE - EOTEST = EOTEST - EINTR - ENUCR - EKR0 - AMNRES - IF ( ABS (EOTEST) .GT. ETEPS ) THEN - WRITE (LUNERR,*)' Peanut: eotest failure',EOTEST - LRESMP = .TRUE. - RETURN - END IF - IF ( IBRES .EQ. 0 ) RETURN - EOTEST = ETTOT + AMMTAR - AMNTAR + ATTNUM - IF ( KPROJ .EQ. 1 ) THEN - EOTEST = EOTEST + AMHEAV (2) - AM (1) - ELSE IF ( KPROJ .EQ. 8 ) THEN - EOTEST = EOTEST + AMHEAV (1) - AM (8) - ELSE - EOTEST = EOTEST + ICH(KPROJ) * AMELEC - END IF - IF ( LEVPRT ) THEN - CALL EVEVAP ( WEE ) - IF ( LRESMP ) RETURN - ELSE - TVHEAV = 0.D+00 - END IF - DO 1000 KP = NP0+1,NP - IF ( KPART (KP) .EQ. 1 ) THEN - EOTEST = EOTEST - TKI (KP) - AMHEAV (2) - IBTOT = IBTOT - 1 - ICHTOT = ICHTOT - 1 - ELSE IF ( KPART (KP) .EQ. 8 ) THEN - EOTEST = EOTEST - TKI (KP) - AMHEAV (1) - IBTOT = IBTOT - 1 - ELSE - EOTEST = EOTEST - TKI (KP) - AM (KPART(KP)) - IBTOT = IBTOT - IBAR (KPART(KP)) - ICHTOT = ICHTOT - ICH (KPART(KP)) - END IF - 1000 CONTINUE - EOTEST = EOTEST - TVHEAV - IEVDEU * AMHEAV (3) - & - IEVTRI * AMHEAV (4) - & - IEV3HE * AMHEAV (5) - & - IEV4HE * AMHEAV (6) - & - AMMRES - TVRECL - IBTOT = IBTOT - IEVDEU * 2 - IEVTRI * 3 - IEV3HE * 3 - & - IEV4HE * 4 - ICHTOT = ICHTOT - IEVDEU - IEVTRI - IEV3HE * 2 - & - IEV4HE * 2 - IF ( LRNFSS ) THEN - IF ( LHEAVY ) THEN - DO 2000 JP = 1, NPHEAV - IF ( KHEAVY (JP) .GT. 6 ) THEN - EOTEST = EOTEST - AMHEAV (JP) - IBTOT = IBTOT - IBHEAV (KHEAVY(JP)) - ICHTOT = ICHTOT - ICHEAV (KHEAVY(JP)) - END IF - 2000 CONTINUE - ELSE - DO 2100 JFISS = 1, NFISS - IBHLP = NINT (ATFIS(JFISS)) - IF ( IBHLP .GT. 0 ) THEN - ICHLP = NINT (ZTFIS(JFISS)) - EOTEST = EOTEST - 1.D-03 * AMTFIS (JFISS) - IBTOT = IBTOT - IBHLP - ICHTOT = ICHTOT - ICHLP - END IF - 2100 CONTINUE - END IF - END IF - IF ( ABS (EOTEST) .GT. 1.D+3 * ETEPS ) THEN - WRITE (LUNERR,*) - & ' Peanut failure!!, Eotest,Ammres,Tvrecl,Ibres,Icres', - & EOTEST,AMMRES,TVRECL,IBRES,ICRES - END IF - IF ( IBTOT .NE. IBRES .OR. ICHTOT .NE. ICRES ) THEN - WRITE (LUNERR,*) - & ' Peanut failure!!, Ichtot, Icres, Ibtot, Ibres', - & ICHTOT, ICRES, IBTOT, IBRES - END IF -*=== End of subroutine peanut =========================================* - RETURN - END diff --git a/StarVMC/geant3/peanut/pfnclv.F b/StarVMC/geant3/peanut/pfnclv.F deleted file mode 100644 index 8461850e601..00000000000 --- a/StarVMC/geant3/peanut/pfnclv.F +++ /dev/null @@ -1,203 +0,0 @@ -* -* $Id: pfnclv.F,v 1.1.1.3 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: pfnclv.F,v $ -* Revision 1.1.1.3 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.2 2005/07/14 13:08:43 fisyak -* *** empty log message *** -* -* Revision 1.2 2005/07/13 17:33:39 rdm -* From Christian Holm: -* I've attached a patch that fixes _some_ problems in your VMC version of -* geant321 when using gfortran. Note in particular the `ENTRY' fix. -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.2 1996/09/30 14:25:47 ravndal -* Windows NT related modifications -* -* Revision 1.1.1.1 1995/10/24 10:22:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE PFNCLV.FOR -*COPY PFNCLV -* -*=== pfnclv ===========================================================* -* - FUNCTION PFNCLV ( INC, LINNEW ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/eva0.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/nuclev.inc" -* - LOGICAL LINNEW, LOCSEL - DIMENSION RADSCB (2), DEFPAI (2), DEFSHE (2), NMSHLL (2) - REAL RNDM(1) - SAVE RADSCB, DEFPAI, DEFSHE, NMSHLL, NLEVEL, LOCSEL - DATA LOCSEL / .FALSE. / -* -*======================================================================* -*======================================================================* -* - I = INC - IF ( ABS (RIMPCT) .GT. RUSNUC (I) ) THEN - PFNCLV = - AINFNT - RETURN - END IF - IF ( LINNEW ) THEN - EKFCHC = EKFIMP - ELSE - EKFCHC = EKFIM2 - END IF - EKCENT = EKFCEN (I) - EKFCHC - EKCENT = EKFCEN (I) - EKFCHC - EKCENT = MAX ( EKCENT, ZERZER ) - JMIN = INT ( NAVNUC (I) * ( SQRT ( EKCENT * ( EKCENT + 2.D+00 - & * AMNUCL (I) ) ) / PFRCEN (I) )**3 ) + 1 - JMAX = NAVNUC (I) - PROBTT = JMAX - JMIN + 1 - CALL GRNDM(RNDM,1) - RNDJTA = RNDM (1) * PROBTT - JMAX = MIN ( INT (RNDJTA) + JMIN, JMAX ) - CUMMAX = CUMRAD (JMAX,I) - IF ( LINNEW ) THEN - NPRNUC = 1 - IF ( JUSNUC (JMAX,I) .EQ. INUCLV ) THEN - P_FNCLV = - AINFNT - PFNCLV = P_FNCLV - RETURN - ELSE IF ( JUSNUC (JMAX,I) .EQ. -INUCLV ) THEN - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. 0.5D+00 ) THEN - P_FNCLV = - AINFNT - PFNCLV = P_FNCLV - RETURN - END IF - DEFPAI (I) = 0.D+00 - ELSE - IF ( JUSNUC (JMAX,I) .NE. -1 ) THEN - DEFPAI (I) = PAENUC ( NTANUC (I), I ) - ELSE - DEFPAI (I) = 0.D+00 - END IF - END IF - PFCHCK = PFRIMP - PCJMAX = PFRCEN (I) * RMASS (JMAX) / RMASS (NAVNUC(I)) - EKCJMX = SQRT ( PCJMAX**2 + AMNUSQ (I) ) - AMNUCL (I) - EKFERM = EKFCHC + EKCJMX - EKFCEN (I) - P_FNCLV = SQRT ( EKFERM * ( EKFERM + 2.D+00 * AMNUCL (I) ) ) - IO = 2 - I/2 - DEFPAI (IO) = 0.D+00 - DEFSHE (IO) = DEFMAG (IO) - ELSE - NPRNUC = NPRNUC + 1 - IF ( JUSNUC (JMAX,I) .EQ. INUCLV ) THEN - P_FNCLV = - AINFNT - PFNCLV = P_FNCLV - RETURN - ELSE IF ( I .EQ. IPRNUC (1) .AND. JMAX .EQ. JPRNUC (1) ) THEN - IF ( JUSNUC (JMAX,I) .EQ. -INUCLV .OR. JUSNUC (JMAX,I) .EQ. - & -1 ) THEN - P_FNCLV = - AINFNT - PFNCLV = P_FNCLV - RETURN - END IF - ELSE IF ( JUSNUC (JMAX,I) .EQ. -INUCLV ) THEN - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. 0.5D+00 ) THEN - P_FNCLV = - AINFNT - PFNCLV = P_FNCLV - RETURN - END IF - ELSE - IF ( JUSNUC (JMAX,I) .NE. -1 ) DEFPAI (I) = DEFPAI (I) - & + PAENUC ( NTANUC (I), I ) - END IF - PFCHCK = PFRIM2 - PCJMAX = PFRCEN (I) * RMASS (JMAX) / RMASS (NAVNUC(I)) - EKCJMX = SQRT ( PCJMAX**2 + AMNUSQ (I) ) - AMNUCL (I) - EKFER2 = EKFCHC + EKCJMX - EKFCEN (I) - P_FNCLV = SQRT ( EKFER2 * ( EKFER2 + 2.D+00 * AMNUCL (I) ) ) - END IF - PFNCLV = MIN ( P_FNCLV, PFCHCK ) - IF ( JMAX .EQ. NAVNUC (I) ) THEN - RADSCB (NPRNUC) = NLSNUC (I) / ( CUMMAX - CUMRAD (JMAX-1,I) ) - NLEVEL = NLSNUC (I) - JNUCLN = 2 * ( JMAX - 1 ) + NLEVEL - ELSE - RADSCB (NPRNUC) = 2.D+00 / ( CUMMAX - CUMRAD (JMAX-1,I) ) - NLEVEL = 2 - JNUCLN = 2 * JMAX - END IF - IPRNUC (NPRNUC) = I - JPRNUC (NPRNUC) = JMAX - DO 3000 MG = MAGNUC (I), 2 - IF ( MAGNUM (MG-1) .LT. JNUCLN ) GO TO 4000 - 3000 CONTINUE - MG = 1 - 4000 CONTINUE - NMSHLL (NPRNUC) = MG - IF ( MGSNUC (MG,I) .EQ. 0 .AND. NTANUC (I) .NE. MAGNUM (MG) ) THEN - DEFSHE (I) = SHENUC ( MAGNUM (MG) + 1, I ) - & - SHENUC ( MAGNUM (MG), I ) + PAENUC (MAGNUM(MG),I) - & + DEFMAG (I) - ELSE - DEFSHE (I) = DEFMAG (I) - END IF - IF ( NUSCIN .EQ. 0 ) THEN - DEFNUC (1) = MAX ( DEFSHE (1), ZERZER ) - DEFNUC (2) = MAX ( DEFSHE (2), ZERZER ) - ELSE - DEFNUC (1) = MAX ( DEFPAI (1) + DEFRMI (1), DEFSHE (1), ZERZER) - DEFNUC (2) = MAX ( DEFPAI (2) + DEFRMI (2), DEFSHE (2), ZERZER) - END IF - RETURN -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* - ENTRY NCLVFX() - NCLVFX = PIPIPI - DO 5000 N=1,NPRNUC - I = IPRNUC (N) - J = JPRNUC (N) - IF ( MOD (MGSNUC(NMSHLL(N),I),2) .EQ. 0 ) - & MGSNUC (NMSHLL(N),I) = MGSNUC (NMSHLL(N),I) + 1 - IF ( JUSNUC (J,I) .EQ. -INUCLV .OR. JUSNUC (J,I) .EQ. -1 ) THEN - JUSNUC (J,I) = INUCLV - IF ( J .GE. JMXNUC (I) ) THEN - JMXNUC (I) = JMXNUC (I) - NLEVEL - RUSNUC (I) = RADSCB (N)**0.3333333333333333D+00 - END IF - ELSE - JUSNUC (J,I) = -INUCLV - END IF - NUSNUC (I) = NUSNUC (I) + 1 - 5000 CONTINUE - RETURN -*=== End of function pfnclv ===========================================* - END diff --git a/StarVMC/geant3/peanut/phdset.F b/StarVMC/geant3/peanut/phdset.F deleted file mode 100644 index e0f6a5f896b..00000000000 --- a/StarVMC/geant3/peanut/phdset.F +++ /dev/null @@ -1,93 +0,0 @@ -* -* $Id: phdset.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: phdset.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:08 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE PHDSET.FOR -*COPY PHDSET -* -*=== phdset ===========================================================* -* - SUBROUTINE PHDSET ( IKPMX ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/nucgeo.inc" -#include "geant321/parnuc.inc" -#include "geant321/part.inc" -* - 1000 CONTINUE - PDIFF = PNUCL (IKPMX) - PNUCCO - IF ( PDIFF .LT. - ANGLGB ) THEN - PNUCL0 = PNUCL (IKPMX) - PNUCL (IKPMX) = PNUCCO - PDTCMP = - ( PXNUCL (IKPMX) * CXIMPC + PYNUCL (IKPMX) - & * CYIMPC + PZNUCL (IKPMX) * CZIMPC ) - DELTAE = PDTCMP**2 - PNUCL0**2 + PNUCL (IKPMX)**2 - DELTAP = - PDTCMP + SQRT ( DELTAE ) - PXNUCL (IKPMX) = PXNUCL (IKPMX) + DELTAP * CXIMPC - PYNUCL (IKPMX) = PYNUCL (IKPMX) + DELTAP * CYIMPC - PZNUCL (IKPMX) = PZNUCL (IKPMX) + DELTAP * CZIMPC - ELSE IF ( PDIFF .GT. ANGLGB ) THEN - PNUCL0 = PNUCL (IKPMX) - PNUCL (IKPMX) = PNUCCO - PDTCMP = PXNUCL (IKPMX) * CXIMPC + PYNUCL (IKPMX) - & * CYIMPC + PZNUCL (IKPMX) * CZIMPC - IF ( PDTCMP .GE. 0.D+00 ) THEN - PNUCL0 = PNUCL (IKPMX) / PNUCL0 - PXNUCL (IKPMX) = PXNUCL (IKPMX) * PNUCL0 - PYNUCL (IKPMX) = PYNUCL (IKPMX) * PNUCL0 - PZNUCL (IKPMX) = PZNUCL (IKPMX) * PNUCL0 - ELSE - DELTAE = PDTCMP**2 - PNUCL0**2 + PNUCL (IKPMX)**2 - IF ( DELTAE .LT. 0.D+00 ) THEN - DELTAP = - PDTCMP - PXNUCL (IKPMX) = PXNUCL (IKPMX) + DELTAP * CXIMPC - PYNUCL (IKPMX) = PYNUCL (IKPMX) + DELTAP * CYIMPC - PZNUCL (IKPMX) = PZNUCL (IKPMX) + DELTAP * CZIMPC - PNUCL0 = SQRT ( PXNUCL (IKPMX)**2 - & + PYNUCL (IKPMX)**2 + PZNUCL (IKPMX)**2 ) - PNUCL0 = PNUCL (IKPMX) / PNUCL0 - PXNUCL (IKPMX) = PXNUCL (IKPMX) * PNUCL0 - PYNUCL (IKPMX) = PYNUCL (IKPMX) * PNUCL0 - PZNUCL (IKPMX) = PZNUCL (IKPMX) * PNUCL0 - ELSE - DELTAP = - PDTCMP - SQRT ( DELTAE ) - PXNUCL (IKPMX) = PXNUCL (IKPMX) + DELTAP * CXIMPC - PYNUCL (IKPMX) = PYNUCL (IKPMX) + DELTAP * CYIMPC - PZNUCL (IKPMX) = PZNUCL (IKPMX) + DELTAP * CZIMPC - END IF - END IF - END IF - RETURN -*=== End of subroutine phdset =========================================* - END diff --git a/StarVMC/geant3/peanut/phdwll.F b/StarVMC/geant3/peanut/phdwll.F deleted file mode 100644 index e39620a9b38..00000000000 --- a/StarVMC/geant3/peanut/phdwll.F +++ /dev/null @@ -1,109 +0,0 @@ -* -* $Id: phdwll.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: phdwll.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE PHDWLL.FOR -*COPY PHDWLL -* -*=== phdwll ===========================================================* -* - SUBROUTINE PHDWLL ( UBIMPT, VBIMPT, WBIMPT ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/nucgeo.inc" -#include "geant321/parnuc.inc" -#include "geant321/part.inc" -* - 1000 CONTINUE - PDIFF = PNUCCO - PPRWLL - IF ( PDIFF .LT. - ANGLGB ) THEN - IF ( RIMPTR .LE. RADIU0 ) THEN - RADHLP = 0.5D+00 * ( RADTOT + RADPRO + MAX ( ABS (RIMPTR), - & RADIU0 ) ) - CZHLP = SQRT ( ( RADHLP + BIMPTR ) * ( RADHLP - BIMPTR ) ) - & / RADHLP - HLPHLP = RIMPTR / ( RIMPCT * RADHLP ) - CXHLP = CZHLP * CXIMPC - XBIMPC * HLPHLP - CYHLP = CZHLP * CYIMPC - YBIMPC * HLPHLP - CZHLP = CZHLP * CZIMPC - ZBIMPC * HLPHLP - PXPROJ = PNUCCO * CXIMPC - PYPROJ = PNUCCO * CYIMPC - PZPROJ = PNUCCO * CZIMPC - PDTCMP = PXPROJ * CXHLP + PYPROJ * CYHLP + PZPROJ * CZHLP - DELTAE = PDTCMP**2 - PNUCCO**2 + PPRWLL**2 - DELTAP = - PDTCMP + SQRT ( DELTAE ) - PXPROJ = PXPROJ + DELTAP * CXHLP - PYPROJ = PYPROJ + DELTAP * CYHLP - PZPROJ = PZPROJ + DELTAP * CZHLP - ELSE - EKEBIM = MAX ( EKECON + VPRBIM, EKEWLL ) - PBIMSQ = EKEBIM * ( EKEBIM + 2.D+00 * AM (KPRIN) ) - RADHLP = 0.5D+00 * ( RADTOT + RADPRO + MAX ( BIMPTR, - & RADIU0 ) ) - CZHLP = SQRT ( ( RADHLP + BIMPTR ) * ( RADHLP - BIMPTR ) ) - & / RADHLP - HLPHLP = RIMPTR / ( RIMPCT * RADHLP ) - CXHLP = CZHLP * CXIMPC - XBIMPC * HLPHLP - CYHLP = CZHLP * CYIMPC - YBIMPC * HLPHLP - CZHLP = CZHLP * CZIMPC - ZBIMPC * HLPHLP - PXPROJ = PNUCCO * CXIMPC - PYPROJ = PNUCCO * CYIMPC - PZPROJ = PNUCCO * CZIMPC - PDTCMP = PXPROJ * CXHLP + PYPROJ * CYHLP + PZPROJ * CZHLP - DELTAE = PDTCMP**2 - PNUCCO**2 + PBIMSQ - DELTAP = - PDTCMP + SQRT ( DELTAE ) - PXPROJ = PXPROJ + DELTAP * CXHLP - PYPROJ = PYPROJ + DELTAP * CYHLP - PZPROJ = PZPROJ + DELTAP * CZHLP - PPBIM = SQRT ( PBIMSQ ) - COSTHE = ( PXPROJ * CXIMPC + PYPROJ * CYIMPC - & + PZPROJ * CZIMPC ) / PPBIM - THETA = ACOS (COSTHE) * ( 1.D+00 + ( PNUCCO - PPBIM ) - & / PDIFF ) - SINTHE = SIN (THETA) - COSTHE = COS (THETA) - PXPROJ = PPRWLL * ( COSTHE * CXIMPC - SINTHE * UBIMPT ) - PYPROJ = PPRWLL * ( COSTHE * CYIMPC - SINTHE * VBIMPT ) - PZPROJ = PPRWLL * ( COSTHE * CZIMPC - SINTHE * WBIMPT ) - END IF - ELSE IF ( PDIFF .GT. ANGLGB ) THEN - STOP 'PHDWLL' - ELSE - PXPROJ = PPRWLL * CXIMPC - PYPROJ = PPRWLL * CYIMPC - PZPROJ = PPRWLL * CZIMPC - END IF - RETURN -*=== End of subroutine phdwll =========================================* - END diff --git a/StarVMC/geant3/peanut/pioabs.F b/StarVMC/geant3/peanut/pioabs.F deleted file mode 100644 index 75d6e3632ed..00000000000 --- a/StarVMC/geant3/peanut/pioabs.F +++ /dev/null @@ -1,536 +0,0 @@ -* -* $Id: pioabs.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: pioabs.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.2 2004/02/24 15:50:30 brun -* From Peter Hristov: -* We had some problems with the Geant3 version during the tests for the -* physics data challenge. They are related to the fact that TRandom3 for -* sure doesn't generate 0, but it may return 1, so things like -* CALL GRANDOM(RNDM,1) -* X = -LOG(1-RNDM(1)) -* may lead to floating point exceptions. So I have replaced most of such -* calls with -* X = -LOG(RNDM(1)) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:02 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE PIOABS.FOR -*COPY PIOABS -* -*=== pioabs ===========================================================* -* - SUBROUTINE PIOABS ( IKPMX , KRFLIN, WEE , ERECMN, LBIMPC, - & LBCHCK, ICYCL , NHOLE , NPROT , NNEUT , - & LEXIT , LNWINT ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/finuc.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/parevt.inc" -#include "geant321/parnuc.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" -* - COMMON / FKPLOC / IABCOU - REAL RNDM(1) - LOGICAL LBCHCK, LBIMPC, LTROUB, LEXIT, LNWINT -* - NPNCLD = NPNUC - 1000 CONTINUE - IF ( LABRST .OR. LABSRP ) THEN - LNWINT = .FALSE. - ELSE - LEXIT = .FALSE. - LNWINT = .TRUE. - RETURN - END IF - NHOLE = NHOLE + NTARGT - NTARLD = NTARGT - ICYCL = ICYCL + 1 - IF ( NTARGT .EQ. 1 ) THEN - IF ( .NOT. LABRST ) STOP '???_rad_flight_abs' - LABRST = .FALSE. - LABSRP = .FALSE. - PFROUT = PFRIMP / PFRCEN (1) * PFRCEN (2) - EKFOUT = SQRT ( AMNUSQ (2) + PFROUT**2 ) - AMNUCL (2) - POTINC = EKEWLL - EKECON + EKFERM - POTOUT = EKFERM + EKFOUT + BNENRG (2) - EKFIMP - BNENRG (1) - ERES = EKEWLL + AM (KPRIN) + EKFERM + AM (KNUCIM) - & + POTOUT - POTINC - AMNREC = AMNTAR - AMUC12 - ERECMN = 0.5D+00 * PTRES2 / AMNREC - ERECMN = 0.D+00 - UMO2 = ERES*ERES - PTRES2 - UMO = SQRT (UMO2) - GAMCM = ERES / UMO - ETAX = PXRES / UMO - ETAY = PYRES / UMO - ETAZ = PZRES / UMO - ECMSNU = 0.5D+00 * ( UMO2 + AMNUSQ (2) ) / UMO - PCMS = UMO - ECMSNU - CALL RACO ( PCMSX, PCMSY, PCMSZ ) - PCMSX = PCMS * PCMSX - PCMSY = PCMS * PCMSY - PCMSZ = PCMS * PCMSZ - NPNUC = NPNUC + 1 - KPNUCL (NPNUC) = 7 - KRFNUC (NPNUC) = KRFLIN + 1 - ETAPCM = ETAX * PCMSX + ETAY * PCMSY + ETAZ * PCMSZ - PHELP = PCMS + ETAPCM / ( GAMCM + 1.D+00 ) - ENNUC (NPNUC) = GAMCM * PCMS + ETAPCM - PXHELP = PCMSX + ETAX * PHELP - PYHELP = PCMSY + ETAY * PHELP - PZHELP = PCMSZ + ETAZ * PHELP - PXRES = PXRES - PXHELP - PYRES = PYRES - PYHELP - PZRES = PZRES - PZHELP - ERES = ERES - ENNUC (NPNUC) - PTRES2= PXRES**2 + PYRES**2 + PZRES**2 - PXHLP = PXTTOT - PXHELP - PYHLP = PYTTOT - PYHELP - PZHLP = PZTTOT - PZHELP - UMO2 = ( ETTOT - ENNUC (NPNUC) )**2 - PXHLP**2 - PYHLP**2 - & - PZHLP**2 - EEXMNM = 0.D+00 - DELTU2 = UMO2 - ( AMNRES + EEXMNM )**2 - IF ( DELTU2 .LT. 0.D+00 ) THEN - NPNUC = NPNUC - 1 - LBCHCK = .FALSE. - IF ( LBIMPC ) THEN - CALL BIMNXT ( LBCHCK ) - RHOMEM = 0.5D+00 * ( RHOIMP + RHOIMT ) - EKFMEM = 0.5D+00 * ( EKFIMP + EKFPRO ) - ELSE - CALL NWINXT ( LBCHCK ) - IF ( BIMPCT .GT. RADTOT ) THEN - NHOLE = NHOLE - NTARLD - ICYCL = ICYCL - 1 - CALL PHDSET ( IKPMX ) - IBRES = IBRES - IBAR (KPRIN) - ICRES = ICRES - ICH (KPRIN) - BBRES = IBRES - ZZRES = ICRES - AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER - & ( BBRES, ZZRES) - AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) - LTROUB = .FALSE. - CALL UMOFIN ( IKPMX, BBRES, ZZRES, LTROUB ) - IF ( LTROUB ) THEN - KPNUCL (IKPMX) = 0 - UMO2 = ERES**2 - PTRES2 - UMO = SQRT (UMO2) - WRITE ( LUNOUT,* )' PIO0_P:UMO,AMNRES',UMO,AMNRES - LEXIT = .TRUE. - RETURN - END IF - NP = NP + 1 - TKI (NP) = ENNUC (IKPMX) - AM (KPRIN) - KPART (NP) = KPRIN - PLR (NP) = PNUCL (IKPMX) - CXR (NP) = PXNUCL (IKPMX) / PLR (NP) - CYR (NP) = PYNUCL (IKPMX) / PLR (NP) - CZR (NP) = PZNUCL (IKPMX) / PLR (NP) - WEI (NP) = WEE - KPNUCL (IKPMX) = 0 - IOTHER = IOTHER + 1 - PXNUCR = PXNUCR + PXNUCL (IKPMX) - PYNUCR = PYNUCR + PYNUCL (IKPMX) - PZNUCR = PZNUCR + PZNUCL (IKPMX) - ENUCR = ENUCR + ENNUC (IKPMX) - IBNUCR = IBNUCR + IBAR (KPART(NP)) - ICNUCR = ICNUCR + ICH (KPART(NP)) - LEXIT = .TRUE. - RETURN - END IF - XSTNUC (IKPMX) = XIMPTR - YSTNUC (IKPMX) = YIMPTR - ZSTNUC (IKPMX) = ZIMPTR - RSTNUC (IKPMX) = ABS (RIMPTR) - END IF - NHOLE = NHOLE - NTARLD - ICYCL = ICYCL - 1 - GO TO 1000 - END IF - EKFNUC (NPNUC) = - AINFNT - PXNUCL (NPNUC) = PXHELP - PYNUCL (NPNUC) = PYHELP - PZNUCL (NPNUC) = PZHELP - PNUCL (NPNUC) = ENNUC (NPNUC) - XSTNUC (NPNUC) = XIMPTR - YSTNUC (NPNUC) = YIMPTR - ZSTNUC (NPNUC) = ZIMPTR - RSTNUC (NPNUC) = ABS (RIMPTR) - NPNUC = NPNUC + 1 - KPNUCL (NPNUC) = 8 - KRFNUC (NPNUC) = KRFLIN + 1 - ETAPCM = - ETAPCM - PHELP = ECMSNU + ETAPCM / ( GAMCM + 1.D+00 ) - ENNUC (NPNUC) = GAMCM * ECMSNU + ETAPCM - DEFRNU = DEFNEU - IF ( ENNUC (NPNUC) - AM (8) .LE. EKFOUT + DEFRNU ) THEN - NPNUC = NPNUC - 2 - LBCHCK = .FALSE. - IF ( LBIMPC ) THEN - CALL BIMNXT ( LBCHCK ) - RHOMEM = 0.5D+00 * ( RHOIMP + RHOIMT ) - EKFMEM = 0.5D+00 * ( EKFIMP + EKFPRO ) - ELSE - CALL NWINXT ( LBCHCK ) - IF ( BIMPCT .GT. RADTOT ) THEN - NHOLE = NHOLE - NTARLD - ICYCL = ICYCL - 1 - CALL PHDSET ( IKPMX ) - IBRES = IBRES - IBAR (KPRIN) - ICRES = ICRES - ICH (KPRIN) - BBRES = IBRES - ZZRES = ICRES - AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER - & ( BBRES, ZZRES) - AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) - LTROUB = .FALSE. - CALL UMOFIN ( IKPMX, BBRES, ZZRES, LTROUB ) - IF ( LTROUB ) THEN - KPNUCL (IKPMX) = 0 - UMO2 = ERES**2 - PTRES2 - UMO = SQRT (UMO2) - WRITE ( LUNOUT,* )' PIO0_T:UMO,AMNRES',UMO,AMNRES - LEXIT = .TRUE. - RETURN - END IF - NP = NP + 1 - TKI (NP) = ENNUC (IKPMX) - AM (KPRIN) - KPART (NP) = KPRIN - PLR (NP) = PNUCL (IKPMX) - CXR (NP) = PXNUCL (IKPMX) / PLR (NP) - CYR (NP) = PYNUCL (IKPMX) / PLR (NP) - CZR (NP) = PZNUCL (IKPMX) / PLR (NP) - WEI (NP) = WEE - KPNUCL (IKPMX) = 0 - IOTHER = IOTHER + 1 - PXNUCR = PXNUCR + PXNUCL (IKPMX) - PYNUCR = PYNUCR + PYNUCL (IKPMX) - PZNUCR = PZNUCR + PZNUCL (IKPMX) - ENUCR = ENUCR + ENNUC (IKPMX) - IBNUCR = IBNUCR + IBAR (KPART(NP)) - ICNUCR = ICNUCR + ICH (KPART(NP)) - LEXIT = .TRUE. - RETURN - END IF - XSTNUC (IKPMX) = XIMPTR - YSTNUC (IKPMX) = YIMPTR - ZSTNUC (IKPMX) = ZIMPTR - RSTNUC (IKPMX) = ABS (RIMPTR) - END IF - NHOLE = NHOLE - NTARLD - ICYCL = ICYCL - 1 - GO TO 1000 - END IF - EKFNUC (NPNUC) = EKFOUT - PXNUCL (NPNUC) = -PCMSX + ETAX * PHELP - PYNUCL (NPNUC) = -PCMSY + ETAY * PHELP - PZNUCL (NPNUC) = -PCMSZ + ETAZ * PHELP - PNUCL (NPNUC) = SQRT ( PXNUCL (NPNUC)**2 + PYNUCL (NPNUC)**2 - & + PZNUCL (NPNUC)**2 ) - XSTNUC (NPNUC) = XIMPCT - YSTNUC (NPNUC) = YIMPCT - ZSTNUC (NPNUC) = ZIMPCT - RSTNUC (NPNUC) = ABS (RIMPCT) - LBIMPC = .FALSE. - LEXIT = .FALSE. - NUSCIN = NUSCIN + 1 - ISCTYP (NUSCIN) = - ( KPRIN * 100 + KNUCIM ) - IF ( NUSCIN .EQ. 1 ) IPRTYP = ISCTYP (1) - NHLEXP = NHLEXP + 1 - HOLEXP (NHLEXP) = EKFIMP - EKFERM - RHOACT = 0.5D+00 * ( RHOIMP + RHOIMT ) - RHOEXP = RHOEXP + RHOACT - EKFEXP = EKFEXP + 0.5D+00 * ( EKFIMP + EKFPRO ) - CALL NCLVFX - ELSE - LABRST = .FALSE. - LABSRP = .FALSE. - ITFRMI = 1 + KNUCIM / 8 - ITFRM2 = 1 + KNUCI2 / 8 - IF ( ICH (KPRIN) .GT. 0 ) THEN - IOFRMI = 1 - IOFRM2 = ITFRM2 - DEFRPR = DEFPRO - IF ( IOFRMI .EQ. ITFRM2 ) THEN - EKFOUT = EKFIM2 - DEFRNU = DEFPRO - ELSE - PFROUT = PFRIMP / PFRCEN (1) * PFRCEN (2) - EKFOUT = SQRT ( AMNUSQ (1) + PFROUT**2 ) - AMNUCL (1) - DEFRNU = DEFNEU - END IF - ELSE IF ( ICH (KPRIN) .LT. 0 ) THEN - IOFRMI = 2 - IOFRM2 = ITFRM2 - DEFRPR = DEFNEU - IF ( IOFRMI .EQ. ITFRM2 ) THEN - EKFOUT = EKFIM2 - DEFRNU = DEFNEU - ELSE - PFROUT = PFRIMP / PFRCEN (2) * PFRCEN (1) - EKFOUT = SQRT ( AMNUSQ (2) + PFROUT**2 ) - AMNUCL (2) - DEFRNU = DEFPRO - END IF - ELSE - IOFRMI = ITFRMI - IOFRM2 = ITFRM2 - EKFOUT = EKFIMP - IF ( ITFRMI .EQ. 1 ) THEN - DEFRPR = DEFPRO - ELSE - DEFRPR = DEFNEU - END IF - IF ( ITFRM2 .EQ. 1 ) THEN - DEFRNU = DEFPRO - ELSE - DEFRNU = DEFNEU - END IF - END IF - POTINC = EKEWLL - EKECON + EKFERM + EKFER2 - POTOUT = EKFERM + EKFER2 + EKFOUT + BNENRG (IOFRMI) - EKFIMP - & - BNENRG (ITFRMI) - ERES = EKEWLL + AM (KPRIN) + EKFERM + AM (KNUCIM) - & + EKFER2 + AM (KNUCI2) + POTOUT - POTINC - AMNREC = AMNTAR - 2.D+00 * AMUC12 - PHLPSQ = ( PXRES - CXIMPC * PNUCCO )**2 - & + ( PYRES - CYIMPC * PNUCCO )**2 - & + ( PZRES - CZIMPC * PNUCCO )**2 - ERECMN = 0.5D+00 * PHLPSQ / AMNREC**2 - ERECMN = AMNREC * ERECMN * ( 1.D+00 - 0.25D+00 * ERECMN ) - ERECMN = 0.D+00 - UMO2 = ERES*ERES - PTRES2 - UMO = SQRT (UMO2) - GAMCM = ERES / UMO - ETAX = PXRES / UMO - ETAY = PYRES / UMO - ETAZ = PZRES / UMO - ECMSPR = 0.5D+00 * ( UMO2 + AMNUSQ (IOFRMI) - AMNUSQ (IOFRM2) ) - & / UMO - ECMSNU = UMO - ECMSPR - PCMS = SQRT ( ( ECMSPR - AMNUCL (IOFRMI) ) * ( ECMSPR - & + AMNUCL (IOFRMI) ) ) - CALL RACO ( PCMSX, PCMSY, PCMSZ ) - PCMSX = PCMS * PCMSX - PCMSY = PCMS * PCMSY - PCMSZ = PCMS * PCMSZ - NPNUC = NPNUC + 1 - KPNUCL (NPNUC) = 1 + 7 * ( IOFRMI - 1 ) - KRFNUC (NPNUC) = KRFLIN + 1 - ETAPCM = ETAX * PCMSX + ETAY * PCMSY + ETAZ * PCMSZ - PHELP = ECMSPR + ETAPCM / ( GAMCM + 1.D+00 ) - ENNUC (NPNUC) = GAMCM * ECMSPR + ETAPCM - IF ( ENNUC (NPNUC) - AMNUCL (IOFRMI) .LE. EKFOUT + DEFRPR )THEN - NPNUC = NPNUC - 1 - LBCHCK = .FALSE. - IF ( LBIMPC ) THEN - CALL BIMNXT ( LBCHCK ) - RHOMEM = 0.5D+00 * ( RHOIMP + RHOIMT ) - EKFMEM = 0.5D+00 * ( EKFIMP + EKFPRO ) - ELSE - CALL NWINXT ( LBCHCK ) - IF ( BIMPCT .GT. RADTOT ) THEN - NHOLE = NHOLE - NTARLD - ICYCL = ICYCL - 1 - CALL PHDSET ( IKPMX ) - IBRES = IBRES - IBAR (KPRIN) - ICRES = ICRES - ICH (KPRIN) - BBRES = IBRES - ZZRES = ICRES - AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER - & ( BBRES, ZZRES) - AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) - LTROUB = .FALSE. - CALL UMOFIN ( IKPMX, BBRES, ZZRES, LTROUB ) - IF ( LTROUB ) THEN - KPNUCL (IKPMX) = 0 - UMO2 = ERES**2 - PTRES2 - UMO = SQRT (UMO2) - WRITE ( LUNOUT,* )' PIO0_P:UMO,AMNRES',UMO,AMNRES - LEXIT = .TRUE. - RETURN - END IF - NP = NP + 1 - TKI (NP) = ENNUC (IKPMX) - AM (KPRIN) - KPART (NP) = KPRIN - PLR (NP) = PNUCL (IKPMX) - CXR (NP) = PXNUCL (IKPMX) / PLR (NP) - CYR (NP) = PYNUCL (IKPMX) / PLR (NP) - CZR (NP) = PZNUCL (IKPMX) / PLR (NP) - WEI (NP) = WEE - KPNUCL (IKPMX) = 0 - IOTHER = IOTHER + 1 - PXNUCR = PXNUCR + PXNUCL (IKPMX) - PYNUCR = PYNUCR + PYNUCL (IKPMX) - PZNUCR = PZNUCR + PZNUCL (IKPMX) - ENUCR = ENUCR + ENNUC (IKPMX) - IBNUCR = IBNUCR + IBAR (KPART(NP)) - ICNUCR = ICNUCR + ICH (KPART(NP)) - LEXIT = .TRUE. - RETURN - END IF - XSTNUC (IKPMX) = XIMPTR - YSTNUC (IKPMX) = YIMPTR - ZSTNUC (IKPMX) = ZIMPTR - RSTNUC (IKPMX) = ABS (RIMPTR) - END IF - NHOLE = NHOLE - NTARLD - ICYCL = ICYCL - 1 - GO TO 1000 - END IF - EKFNUC (NPNUC) = EKFOUT - PXNUCL (NPNUC) = PCMSX + ETAX * PHELP - PYNUCL (NPNUC) = PCMSY + ETAY * PHELP - PZNUCL (NPNUC) = PCMSZ + ETAZ * PHELP - PNUCL (NPNUC) = SQRT ( PXNUCL (NPNUC)**2 + PYNUCL (NPNUC)**2 - & + PZNUCL (NPNUC)**2 ) - XSTNUC (NPNUC) = XIMPTR - YSTNUC (NPNUC) = YIMPTR - ZSTNUC (NPNUC) = ZIMPTR - RSTNUC (NPNUC) = ABS (RIMPTR) - NPNUC = NPNUC + 1 - KPNUCL (NPNUC) = 1 + 7 * ( IOFRM2 - 1 ) - KRFNUC (NPNUC) = KRFLIN + 1 - ETAPCM = - ETAPCM - PHELP = ECMSNU + ETAPCM / ( GAMCM + 1.D+00 ) - ENNUC (NPNUC) = GAMCM * ECMSNU + ETAPCM - IF ( ENNUC (NPNUC) - AMNUCL (IOFRM2) .LE. EKFIM2 + DEFRNU )THEN - NPNUC = NPNUC - 2 - LBCHCK = .FALSE. - IF ( LBIMPC ) THEN - CALL BIMNXT ( LBCHCK ) - RHOMEM = 0.5D+00 * ( RHOIMP + RHOIMT ) - EKFMEM = 0.5D+00 * ( EKFIMP + EKFPRO ) - ELSE - CALL NWINXT ( LBCHCK ) - IF ( BIMPCT .GT. RADTOT ) THEN - NHOLE = NHOLE - NTARLD - ICYCL = ICYCL - 1 - CALL PHDSET ( IKPMX ) - IBRES = IBRES - IBAR (KPRIN) - ICRES = ICRES - ICH (KPRIN) - BBRES = IBRES - ZZRES = ICRES - AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER - & ( BBRES, ZZRES) - AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) - LTROUB = .FALSE. - CALL UMOFIN ( IKPMX, BBRES, ZZRES, LTROUB ) - IF ( LTROUB ) THEN - KPNUCL (IKPMX) = 0 - UMO2 = ERES**2 - PTRES2 - UMO = SQRT (UMO2) - WRITE ( LUNOUT,* )' PIO0_T:UMO,AMNRES',UMO,AMNRES - LEXIT = .TRUE. - RETURN - END IF - NP = NP + 1 - TKI (NP) = ENNUC (IKPMX) - AM (KPRIN) - KPART (NP) = KPRIN - PLR (NP) = PNUCL (IKPMX) - CXR (NP) = PXNUCL (IKPMX) / PLR (NP) - CYR (NP) = PYNUCL (IKPMX) / PLR (NP) - CZR (NP) = PZNUCL (IKPMX) / PLR (NP) - WEI (NP) = WEE - KPNUCL (IKPMX) = 0 - IOTHER = IOTHER + 1 - PXNUCR = PXNUCR + PXNUCL (IKPMX) - PYNUCR = PYNUCR + PYNUCL (IKPMX) - PZNUCR = PZNUCR + PZNUCL (IKPMX) - ENUCR = ENUCR + ENNUC (IKPMX) - IBNUCR = IBNUCR + IBAR (KPART(NP)) - ICNUCR = ICNUCR + ICH (KPART(NP)) - LEXIT = .TRUE. - RETURN - END IF - XSTNUC (IKPMX) = XIMPTR - YSTNUC (IKPMX) = YIMPTR - ZSTNUC (IKPMX) = ZIMPTR - RSTNUC (IKPMX) = ABS (RIMPTR) - END IF - NHOLE = NHOLE - NTARLD - ICYCL = ICYCL - 1 - GO TO 1000 - END IF - EKFNUC (NPNUC) = EKFIM2 - PXNUCL (NPNUC) = -PCMSX + ETAX * PHELP - PYNUCL (NPNUC) = -PCMSY + ETAY * PHELP - PZNUCL (NPNUC) = -PCMSZ + ETAZ * PHELP - PNUCL (NPNUC) = SQRT ( PXNUCL (NPNUC)**2 + PYNUCL (NPNUC)**2 - & + PZNUCL (NPNUC)**2 ) - XSTNUC (NPNUC) = XIMPCT - YSTNUC (NPNUC) = YIMPCT - ZSTNUC (NPNUC) = ZIMPCT - RSTNUC (NPNUC) = ABS (RIMPCT) - LBIMPC = .FALSE. - LEXIT = .FALSE. - NUSCIN = NUSCIN + 1 - ISCTYP (NUSCIN) = - ( KPRIN * 100 + KNUCIM * 10 + KNUCI2 ) - IF ( NUSCIN .EQ. 1 ) IPRTYP = ISCTYP (1) - IABCOU = IABCOU + 1 - NHLEXP = NHLEXP + 2 - HOLEXP (NHLEXP-1) = EKFIMP - EKFERM - HOLEXP (NHLEXP) = EKFIM2 - EKFER2 - RHOACT = 0.6666666666666666D+00 * RHOIMP - & + 0.3333333333333333D+00 * RHOIMT - RHOEXP = RHOEXP + 2.D+00 * RHOACT - EKFEXP = EKFEXP + 0.6666666666666666D+00 * ( EKFIMP + EKFIM2 - & + EKFPRO ) - CALL NCLVFX - END IF - DO 3000 KP = NPNCLD+1, NPNUC - KPNUC = KPNUCL (KP) - IF ( AM (KPNUC) .LE. 0.D+00 ) THEN - TAUTAU = RZNUCL / PNUCL (KP) - ELSE - TAUEFF = 0.5D+00 * TAUFOR * AM (13) / AM (KPNUC) - CALL GRNDM(RNDM,1) - TAUTAU = - TAUEFF / AM (KPNUC) * LOG ( RNDM - & (1) ) - TAUTAU = MAX ( TAUTAU, RZNUCL / PNUCL (KP) ) - END IF - XSTNUC (KP) = XSTNUC (KP) + PXNUCL (KP) * TAUTAU - YSTNUC (KP) = YSTNUC (KP) + PYNUCL (KP) * TAUTAU - ZSTNUC (KP) = ZSTNUC (KP) + PZNUCL (KP) * TAUTAU - RSTNUC (KP) = SQRT ( XSTNUC (KP)**2 + YSTNUC (KP)**2 - & + ZSTNUC (KP)**2 ) - RHNUCL (KP) = RHOACT - 3000 CONTINUE - RETURN -*=== End of subroutine pioabs =========================================* - END diff --git a/StarVMC/geant3/peanut/prepre.F b/StarVMC/geant3/peanut/prepre.F deleted file mode 100644 index 988ddaa8614..00000000000 --- a/StarVMC/geant3/peanut/prepre.F +++ /dev/null @@ -1,1291 +0,0 @@ -* -* $Id: prepre.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: prepre.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 28/03/94 01.30.59 by S.Giani -*-- Author : -#if defined(CERNLIB_HPUX) -$OPTIMIZE OFF -#endif -*$ CREATE PREPRE.FOR -*COPY PREPRE -* -*=== prepre ===========================================================* -* - SUBROUTINE PREPRE ( WEE, NNEUT, NPROT, NHOLE, ICYCL ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/eva0.inc" -#include "geant321/fheavy.inc" -#include "geant321/finuc.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/parevt.inc" -#include "geant321/parnuc.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" -* - REAL RNDM(2) - COMMON / FKCOSP / C1ST (3), C2ND (3), LEMISS - LOGICAL LEMISS - COMMON / FKCMCY / NPCYCL (20,2), IEVT, LOUT - COMMON / FKPLOC / IABCOU -* - DIMENSION ERNCM (2), EPSMX (2), AMMAFT (2), AMNAFT (2), - & ZAFTR (2), EEXMNM (2), EEXDLT (2), EEXANW (2), - & EPSEEX (2), EPSDLT (2), EPSANY (2), EPSFIX (29), - & C (3), UMULEG (0:2), ACOLEG (0:2), NPART (2), - & NPRFIX (2) - LOGICAL LSPREJ, LNUCTS -* - NPART (1) = NNEUT - NPART (2) = NPROT - IF ( LHLFIX ) THEN - NHLFIX = NHLEXP - NHOLE = NHOLE - NHLFIX - EHLFIX = 0.D+00 - DO 50 IHOLE = 1, NHLFIX - EHLFIX = EHLFIX + HOLEXP (IHOLE) - 50 CONTINUE - IF ( NHOLE .GT. 0 ) THEN - RHOIMP = ( RHOIMP * ( NHOLE + NHLFIX ) - RHOEXP ) / NHOLE - EKFIMP = ( EKFIMP * ( NHOLE + NHLFIX ) - EKFEXP ) / NHOLE - ELSE - RHOIMP = RHOAVE - EKFIMP = EKFAVE - END IF - ELSE - NHLFIX = 0 - EHLFIX = 0.D+00 - END IF - NHINI = NHOLE - IF ( PTRES .LT. ANGLGB ) THEN - UMO2 = ERES * ERES - UMO = SQRT (UMO2) - EKRES = 0.D+00 - GAMCM = 1.D+00 - ETAX = 0.D+00 - ETAY = 0.D+00 - ETAZ = 0.D+00 - PXORI = 0.D+00 - PYORI = 0.D+00 - PZORI = 0.D+00 - PCMORI = 0.D+00 - CALL RACO ( CXAXCM, CYAXCM, CZAXCM ) - ELSE - UMO2 = ( ERES - PTRES ) * ( ERES + PTRES ) - UMO = SQRT (UMO2) - EKRES = ERES - UMO - GAMCM = ERES / UMO - ETACM = PTRES / UMO - ETAX = PXRES / UMO - ETAY = PYRES / UMO - ETAZ = PZRES / UMO - ETAPCM = ETAX * PXORI + ETAY * PYORI + ETAZ * PZORI - PHELP = EKORI + AM (KPORI) - ETAPCM / ( GAMCM + 1.D+00 ) - PCMSX = PXORI - ETAX * PHELP - PCMSY = PYORI - ETAY * PHELP - PCMSZ = PZORI - ETAZ * PHELP - PCMORI = SQRT ( PCMSX**2 + PCMSY**2 + PCMSZ**2 ) - CXAXCM = PCMSX / PCMORI - CYAXCM = PCMSY / PCMORI - CZAXCM = PCMSZ / PCMORI - END IF - BBTAR = IBTAR - ZZTAR = ICHTAR - TVCMS = UMO - AMNRES - EHLFIX = MIN ( TVCMS, EHLFIX ) - TVEFF = TVCMS - EHLFIX - IF ( TVEFF .LE. 0.D+00 ) GO TO 7000 - TEMNU = SQRT ( TVCMS / ANOW * ALEVEL ) - NEXMX = SQRT ( 2.D+00 * ANOW * TVCMS / ALEVEL ) - NPTOT = NPART (1) + NPART (2) - IF ( NHOLE + NPTOT + NHLFIX .GE. NEXMX .OR. - & NPTOT .GT. NINT (0.5D+00 * ANOW) ) GO TO 7000 - ANPTOT = NPTOT - ANPROT = NPART (2) - ANNEUT = NPART (1) - AVEBIN = ( ( BBTAR - ZZTAR - ACOLL + ZCOLL ) * BNENRG (2) - & + ( ZZTAR - ZCOLL ) * BNENRG (1) ) / ( BBTAR - ACOLL ) - IAAFT = IBRES-1 - IZAFT = ICRES - AAFTR = IAAFT - ZAFTR (1) = IZAFT - AMMAFT(1) = AAFTR * AMUAMU + 1.D-03 * FKENER (AAFTR,ZAFTR(1)) - AMNAFT(1) = AMMAFT (1) - ZAFTR (1) * AMELEC + ELBNDE (IZAFT) - CALL EEXLVL ( IAAFT, IZAFT, EEXDLT (1), EEXMNM (1), EEXDUM ) - BNDGAV = BNENRG (2) - EPSMX (1) = UMO - AMNRES - BNDGAV - EHLFIX - EPSDLT (1) = UMO - AMNRES - BNDGAV - EEXDLT (1) - EPSEEX (1) = UMO - AMNRES - BNDGAV - EEXMNM (1) - IZAFT = ICRES - 1 - ZAFTR (2) = IZAFT - AMMAFT(2) = AAFTR * AMUAMU + 1.D-03 * FKENER (AAFTR,ZAFTR(2)) - AMNAFT(2) = AMMAFT (2) - ZAFTR (2) * AMELEC + ELBNDE (IZAFT) - CALL EEXLVL ( IAAFT, IZAFT, EEXDLT (2), EEXMNM (2), EEXDUM ) - BNDGAV = BNENRG (1) - EPSMX (2) = UMO - AMNRES - BNDGAV - EHLFIX - IF ( EPSMX (1) + EPSMX (2) .LT. 2.D+00 * TEMNU ) GO TO 7000 - EPSDLT (2) = UMO - AMNRES - BNDGAV - EEXDLT (2) - EPSEEX (2) = UMO - AMNRES - BNDGAV - EEXMNM (2) - IF ( NP .LE. NP0 ) THEN - IF ( KPORI .EQ. 8 ) THEN - EEXANW (1) = EEXDLT (1) - EPSANY (1) = MIN ( EPSDLT (1), EPSMX (1) ) - EEXANW (2) = 0.D+00 - EPSANY (2) = EPSMX (2) - ELSE IF ( KPORI .EQ. 1 ) THEN - EEXANW (1) = 0.D+00 - EPSANY (1) = EPSMX (1) - EEXANW (2) = EEXDLT (2) - EPSANY (2) = MIN ( EPSDLT (2), EPSMX (2) ) - ELSE - EEXANW (1) = 0.D+00 - EPSANY (1) = EPSMX (1) - EEXANW (2) = 0.D+00 - EPSANY (2) = EPSMX (2) - END IF - ELSE - EEXANW (1) = 0.D+00 - EPSANY (1) = EPSMX (1) - EEXANW (2) = 0.D+00 - EPSANY (2) = EPSMX (2) - END IF - SIGIN0 = PI * ( R0SIGK * RMASS (IBRES-1) )**2 - NEMISS = 0 - MNUCTS = 0 - 1000 CONTINUE - NPRFIX (1) = 0 - NPRFIX (2) = 0 - JEMFIX = 0 - EPRFIX = 0.D+00 - IF ( .NOT. LEMISS ) ICYCL = ICYCL + 1 - IF ( NPTOT .LE. 0 ) GO TO 4600 - IF ( NNUCTS .GT. MNUCTS ) THEN - MNUCTS = MNUCTS + 1 - JNUCTS = INUCTS (MNUCTS) - JEMIS0 = 2 - ABS (KPNUCL(JNUCTS)) / 8 - JEMIS1 = JEMIS0 - JDEMIS = 1 - EKFSAV = EKFIMP - RHOSAV = RHOIMP - TMPRHO = 0.001D+00 * RHOAVE - RHOIMP = MAX ( RHNUCL (JNUCTS), TMPRHO ) - TMPEKF = 0.001D+00 * EKFAVE - EKFIMP = MAX ( EKFNUC (JNUCTS), TMPEKF ) - LNUCTS = .TRUE. - ELSE - LNUCTS = .FALSE. - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. ANNEUT / ANPTOT ) THEN - JEMIS0 = 1 - JEMIS1 = 2 - JDEMIS = 1 - ELSE - JEMIS0 = 2 - JEMIS1 = 1 - JDEMIS = -1 - END IF - END IF - NEXTOT = NPTOT + NHOLE - RHORED = ACOLL / BBTAR - IF ( LGDHPR ) THEN - EKFCNN = ( ZNOW * EKFCEN (1) + ( ANOW - ZNOW ) * EKFCEN (2) - & ) / ANOW - RHOWEI = 0.5D+00 - IF ( LNUCTS ) THEN - AEFREF = EKFIMP - AEFRAV = EKFIMP - RHONUC = RHOIMP - ELSE IF ( NPTOT .LE. 2 .AND. ICYCL .EQ. 1 ) THEN - AHLTOT = MAX ( NHOLE, 1 ) - WEIGH1 = NHINI / AHLTOT - WEIGH2 = 1.D+00 - WEIGH1 - AEFREF = WEIGH1 * EKFIMP + WEIGH2 * EKFAVE - RHONUC = WEIGH1 * RHOIMP + WEIGH2 * RHOAVE - AEFRAV = WEIGH1 * EKFIMP + WEIGH2 * EKFAVE - RHONUC = RHORED * ( ( AHLTOT + 1.D+00 - RHOWEI ) - & * RHONUC + RHOWEI * RHOAVE ) / ( AHLTOT + 1.D+00 ) - AEFRAV = ( AHLTOT * AEFRAV + EKFAVE ) - & / ( AHLTOT + 1.D+00 ) - ELSE - AHLTOT = MAX ( NHOLE, 1 ) - WEIGH1 = NHINI / AHLTOT - WEIGH2 = 1.D+00 - WEIGH1 - AEFREF = WEIGH1 * EKFIMP + WEIGH2 * EKFAVE - RHONUC = WEIGH1 * RHOIMP + WEIGH2 * RHOAVE - AEFRAV = WEIGH1 * EKFIMP + WEIGH2 * EKFAVE - RHONUC = RHORED * ( ( AHLTOT + 1.D+00 - RHOWEI ) - & * RHONUC + RHOWEI * RHOAVE ) / ( AHLTOT + 1.D+00 ) - AEFRAV = ( AHLTOT * AEFRAV + EKFAVE ) - & / ( AHLTOT + 1.D+00 ) - END IF - CLAMDI = 1.0D+00 - ELSE - EKFCNN = AEFRMX - AEFREF = 0.5D+00 * AEFRMX - AEFRAV = AEFREF - RHONUC = 0.5D+00**1.5D+00 * RHONU0 - CLAMDI = 0.5D+00 - END IF - DO 4500 JEMISS = JEMIS0, JEMIS1, JDEMIS - IF ( NPART (JEMISS) .LE. 0 ) GO TO 4500 - IEMISS = 3 - JEMISS - RATEC0 = 2.D+00 * AMNUCL (IEMISS) / PLABRC**3 / PISQ - BNDGEN = AMNAFT (JEMISS) + AMNUCL (IEMISS) - AMNRES - IF ( .NOT. LNUCTS .AND. EPRFIX .GT. ANGLGB ) THEN - TVEFF = TVEFF - EPRFIX - NPTOT = NPTOT - NPRFIX (1) - NPRFIX (2) - NPART (1) = NPART (1) - NPRFIX (1) - NPART (2) = NPART (2) - NPRFIX (2) - JEMFIX = JEMISS - ERNCM0 = ERNCM (JEMISS) - EPSMX0 = EPSMX (JEMISS) - BNDGAV = BNENRG (IEMISS) - EPSMX (JEMISS) = UMO - AMNRES - BNDGAV - EHLFIX - EPRFIX - ELSE - JEMFIX = 0 - END IF - BNDGAV = BNENRG (IEMISS) - EPSMIN = BNDGEN - BNDGAV - BNDHLP = BNENRG (IEMISS) - IF ( EPSMX (JEMISS) - EPSMIN .LT. TEMNU ) GO TO 4500 - IF ( EHLFIX + EPRFIX .LE. 0.5D+00 * EEXANW (JEMISS) ) THEN - UUMIN = TVEFF - 0.5D+00 * ( EPSANY (JEMISS) - & + EPSMX (JEMISS) ) - BNDGAV - ELSE - UUMIN = TVEFF - EPSMX (JEMISS) - BNDGAV - END IF - UUMAX = TVEFF - BNDGEN - BNDUSE = BNENRG (IEMISS) - IF ( LNUCTS ) THEN - EKNNUC = ENNUC (JNUCTS) - AMNUCL (IEMISS) + BNDGEN - & - RSTNUC (JNUCTS) - EPSHLP = BNDHLP - BNDGEN + EPSMIN - EKNNUC = EKNNUC + EPSHLP - IF ( EKNNUC .LE. EPSMIN ) THEN - GO TO 4500 - ELSE IF ( EKNNUC .LE. 0.D+00 ) THEN - DELTAE = 0.5D+00 * ( - EPSMIN - EKNNUC ) - EKNNUC = EKNNUC + DELTAE - ELSE - DELTAE = 0.D+00 - END IF - ENNUC (JNUCTS) = EKNNUC + AMNUCL (IEMISS) - PNUCCO = SQRT ( EKNNUC * ( EKNNUC + 2.D+00 - & * AMNUCL (IEMISS) ) ) - PHELP = PNUCCO / PNUCL (JNUCTS) - PCMSX = PXNUCL (JNUCTS) * PHELP - PCMSY = PYNUCL (JNUCTS) * PHELP - PCMSZ = PZNUCL (JNUCTS) * PHELP - ETAPCM = ETAX * PCMSX + ETAY * PCMSY + ETAZ * PCMSZ - PHELP = ENNUC (JNUCTS) - ETAPCM / ( GAMCM + 1.D+00 ) - PCMSX = PCMSX - ETAX * PHELP - PCMSY = PCMSY - ETAY * PHELP - PCMSZ = PCMSZ - ETAZ * PHELP - PCMST = SQRT ( PCMSX**2 + PCMSY**2 + PCMSZ**2 ) - EPS = GAMCM * ENNUC (JNUCTS) - ETAPCM - AMNUCL (IEMISS) - IF ( EPS .LE. EPSMIN ) THEN - GO TO 4500 - ELSE IF ( EPS .LT. ANGLGB * ENNUC (JNUCTS) ) THEN - GO TO 4500 - END IF - EPS = EPS - DELTAE - C (1) = PCMSX / PCMST - C (2) = PCMSY / PCMST - C (3) = PCMSZ / PCMST - EPS = MIN ( EPS, HLFHLF * ( EPSMX (JEMISS) - & + EPSANY (JEMISS) ) ) - IF ( JEMISS .EQ. 2 ) THEN - FLKCOU = DOST ( 1, ZAFTR (JEMISS) ) - CCOUL = DOST ( 3, ZAFTR (JEMISS) ) - ETHRES = FLKCOU * COULBH * ( ZNOW - 1.D+00 ) - & / RMASS (IBRES-1) - END IF - FLAMMX = 1.D+00 - NTENT = 1 - ISAMPL = 0 - LSPREJ = .FALSE. - GO TO 3000 - END IF - IF ( UUMIN .GE. UUMAX ) GO TO 4500 - EPSINV = 0.5D+00 * ( UMO2 - ( AMNUCL (IEMISS) - & + AMNAFT (JEMISS) )**2 ) / AMNAFT (JEMISS) - EPSWLL = EPSINV + AEFRAV + BNDUSE + AMNUCL (IEMISS) - BETWLL = SQRT ( 1.D+00 - AMNUSQ (IEMISS) / EPSWLL**2 ) - EKEWLL = EPSWLL - AMNUCL (IEMISS) - IF ( JEMISS .EQ. 1 ) THEN - AALPHA = 0.76D+00 + 2.2D+00 / RMASS (IBRES-1) - BBETAA = ( 2.22D+00 / RMASS (IBRES-1)**2 - 0.05D+00 ) - & / AALPHA * 1.D-03 - TMP07 = 0.07D+00 - EPSEFF = MIN ( EPSINV, TMP07 ) - SIGINV = 0.1D+00 * XINNEU ( EPSEFF, ZAFTR (JEMISS), - & BBETAA ) - SFTYMX = 1.1D+00 - GSNGLV = 1.5D+00 * ( ANOW - ZNOW ) / EKFCEN (IEMISS) - IF ( EKEWLL .LE. 0.04D+00 ) THEN - SIGMAP = 3.D+03 * PI / ( 1.206D+03 * EKEWLL + ( - & -1.86D+00 + 0.09415D+03 * EKEWLL - & + 0.0001306D+06 * EKEWLL**2 )**2 ) + 1.D+03 - & * PI / ( 1.206D+03 * EKEWLL + ( 0.4223D+00 - & + 0.13D+03 * EKEWLL )**2 ) - IF ( EKEWLL .LT. 0.02D+00 ) THEN - SIGMAN = 0.3333333333333333D+00 * SIGMAP - ELSE - SIGMAN = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL - & + 42.9D+00 - END IF - ELSE - SIGMAP = 34.10D+00 / BETWLL**2 - 82.2D+00 / BETWLL - & + 82.2D+00 - SIGMAN = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL - & + 42.9D+00 - END IF - SIGMAP = 0.1D+00 * SIGMAP - SIGMAN = 0.1D+00 * SIGMAN - SGNUNU = ( ( ANOW - ZNOW - ANNEUT ) * SIGMAN - & + ( ZNOW - ANPROT ) * SIGMAP ) - & / ( ANOW - ANPTOT ) - ELSE - EPSCOU = UMO - AMNAFT (JEMISS) - AMNUCL (IEMISS) - FLKCOU = DOST ( 1, ZAFTR (JEMISS) ) - CCOUL = DOST ( 3, ZAFTR (JEMISS) ) - ETHRES = FLKCOU * COULBH * ( ZNOW - 1.D+00 ) - & / RMASS (IBRES-1) - TMP07 = 0.07D+00 - EPSEFF = MIN ( EPSINV, TMP07 ) - SIGINV = 1.D-01 * XINPRO ( EPSEFF, ZAFTR (JEMISS), - & ETHRES ) - SFTYMX = 1.2D+00 - GSNGLV = 1.5D+00 * ZNOW / EKFCEN (IEMISS) - IF ( EKEWLL .LE. 0.04D+00 ) THEN - SIGMAN = 3.D+03 * PI / ( 1.206D+03 * EKEWLL + ( - & -1.86D+00 + 0.09415D+03 * EKEWLL - & + 0.0001306D+06 * EKEWLL**2 )**2 ) + 1.D+03 - & * PI / ( 1.206D+03 * EKEWLL + ( 0.4223D+00 - & + 0.13D+03 * EKEWLL )**2 ) - IF ( EKEWLL .LT. 0.02D+00 ) THEN - SIGMAP = 0.3333333333333333D+00 * SIGMAN - ELSE - SIGMAP = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL - & + 42.9D+00 - END IF - ELSE - SIGMAN = 34.10D+00 / BETWLL**2 - 82.2D+00 / BETWLL - & + 82.2D+00 - SIGMAP = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL - & + 42.9D+00 - END IF - SIGMAP = 0.1D+00 * SIGMAP - SIGMAN = 0.1D+00 * SIGMAN - SGNUNU = ( ( ANOW - ZNOW - ANNEUT ) * SIGMAN - & + ( ZNOW - ANPROT ) * SIGMAP ) - & / ( ANOW - ANPTOT ) - END IF - ZITA = AEFRAV / EKEWLL - IF ( ZITA .LE. 0.5D+00 ) THEN - PZITA = 1.D+00 - 1.4D+00 * ZITA - ELSE - PZITA = 1.D+00 - 1.4D+00 * ZITA + 0.4D+00 * ZITA - & * ( 2.D+00 - 1.D+00 / ZITA )**2.5D+00 - END IF - RATEC = SIGINV * RATEC0 * EPSINV / GSNGLV - IF ( RATEC .LE. 0.D+00 ) GO TO 4500 - ALAMDC = BETWLL / RATEC - ALAMDI = 1.D+00 / ( SGNUNU * RHONUC * PZITA ) + MAX (TWOTWO - & * PI * PLABRC * BETWLL * EPSWLL / AMNUSQ (IEMISS), - & RZNUCL ) - AMUTOT = 1.D+00 / ALAMDI + 1.D+00 / ALAMDC - RATEI = BETWLL / ALAMDI - FLAMMX = SFTYMX * RATEC / ( RATEC + CLAMDI * RATEI ) - IF ( FLAMMX .LT. 0.D+00 ) THEN - GO TO 4500 - END IF - LSPREJ = .NOT. ( NHOLE .GT. 2 .OR. NPTOT .GT. 4 ) - IF ( LSPREJ ) THEN - IF ( NPTOT .EQ. 1 ) THEN - IF ( NHOLE .EQ. 0 ) THEN - EPS = EPSMX (JEMISS) - FLAMMX = 1.D+00 - NTENT = 1 - ISAMPL = 0 - LSPREJ = .FALSE. - GO TO 3000 - ELSE IF ( NHOLE .EQ. 1 ) THEN - ISAMPL = 1 - ELSE IF ( NHOLE .EQ. 2 ) THEN - ISAMPL = 2 - ELSE - ISAMPL = 7 - END IF - ELSE IF ( NPTOT .EQ. 2 ) THEN - IF ( NHOLE .EQ. 0 ) THEN - ISAMPL = 7 - ELSE IF ( NHOLE .EQ. 1 ) THEN - ISAMPL = 3 - ELSE IF ( NHOLE .EQ. 2 ) THEN - ISAMPL = 4 - ELSE - ISAMPL = 7 - END IF - ELSE IF ( NPTOT .EQ. 3 ) THEN - IF ( NHOLE .EQ. 0 ) THEN - ISAMPL = 7 - ELSE IF ( NHOLE .EQ. 1 ) THEN - ISAMPL = 5 - ELSE IF ( NHOLE .EQ. 2 ) THEN - ISAMPL = 6 - ELSE - ISAMPL = 7 - END IF - ELSE - ISAMPL = 7 - END IF - ELSE - ISAMPL = 7 - END IF - GO TO ( 2100, 2200, 2300, 2400, 2500, 2600, 2700 ), ISAMPL - 2100 CONTINUE - LSPREJ = .FALSE. - AEFRPA = AEFREF - UUMAX = MIN ( AEFRPA, UUMAX ) - AITOT = ( AEFRPA**3 - ( AEFRPA + UUMIN - UUMAX )**3 ) - & / AEFRPA**3 - IF ( UUMAX .GT. TVEFF ) THEN - AIPRO = MIN ( AITOT, ONEONE ) * FLAMMX - AITOT = AITOT * FLAMMX - ELSE - AITOT = AITOT * FLAMMX - AIPRO = AITOT - END IF - GO TO 2800 - 2200 CONTINUE - LSPREJ = .FALSE. - AEFRPA = AEFREF - UUMAX = MIN ( TWOTWO * AEFRPA, UUMAX ) - IF ( TVEFF .LE. AEFRPA ) THEN - EDENOM = TVEFF**2 * 0.5D+00 - ELSE IF ( TVEFF .LE. 2.D+00 * AEFRPA ) THEN - EDENOM = ( TVEFF**2 - 2.D+00 * ( TVEFF - AEFRPA )**2 ) - & * 0.5D+00 - ELSE - EDENOM = AEFRPA**2 - END IF - UUMN2 = UUMIN**2 - IF ( UUMAX .GT. AEFRPA ) THEN - UUDIV = AEFRPA - UUDV2 = UUDIV**2 - AIPR1 = 0.5D+00 * UUDV2 - AIPR2 = 0.5D+00 * ( UUMAX - UUDIV ) * ( 3.D+00 * UUDIV - & - UUMAX ) - IF ( UUMIN .LE. UUDIV ) THEN - AITO1 = 0.5D+00 * ( UUDV2 - UUMN2 ) - AITO2 = AIPR2 - AIHLP = 0.D+00 - ELSE - AITO1 = 0.D+00 - AIHLP = 0.5D+00 * ( UUMIN - UUDIV ) * ( 3.D+00 - & * UUDIV - UUMIN ) - AITO2 = AIPR2 - AIHLP - END IF - ELSE - UUDIV = UUMAX - UUDV2 = UUDIV**2 - AIPR1 = 0.5D+00 * UUDV2 - AITO1 = 0.5D+00 * ( UUDV2 - UUMN2 ) - AITO2 = 0.D+00 - AIPR2 = 0.D+00 - END IF - AITOT = AITO1 + AITO2 - AITO1 = AITO1 / AITOT - AITO2 = AITO2 / AITOT - AITOT = AITOT * FLAMMX / EDENOM - IF ( UUMAX .GT. TVEFF ) THEN - AIPRO = MIN ( ( AIPR1 + AIPR2 ) / EDENOM, ONEONE ) - & * FLAMMX - ELSE - AIPRO = ( AIPR1 + AIPR2 ) * FLAMMX / EDENOM - END IF - GO TO 2800 - 2300 CONTINUE - LSPREJ = .FALSE. - AEFRPA = AEFREF - IF ( TVEFF .LE. AEFRPA ) THEN - EDENOM = 0.25D+00 * TVEFF * TVEFF - ELSE - EDENOM = 0.25D+00 * AEFRPA * ( 2.D+00 * TVEFF - & - AEFRPA ) - END IF - FCHLP = 0.25D+00 * NPART (JEMISS) - IF ( UUMAX .LE. AEFRPA ) THEN - UUDIV = UUMAX - AIPR1 = FCHLP * UUDIV**2 - AITO1 = AIPR1 - FCHLP * UUMIN**2 - AITO2 = 0.D+00 - AIPR2 = 0.D+00 - ELSE - UUDIV = AEFRPA - AIPR1 = FCHLP * UUDIV**2 - AIPR2 = FCHLP * ( UUMAX - UUDIV ) * UUDIV - IF ( UUMIN .GT. UUDIV ) THEN - AITO1 = 0.D+00 - AIHLP = FCHLP * ( UUMIN - UUDIV ) * UUDIV - AITO2 = AIPR2 - AIHLP - ELSE - AIHLP = 0.D+00 - AITO1 = AIPR1 - FCHLP * UUMIN**2 - AITO2 = AIPR2 - END IF - END IF - AITOT = AITO1 + AITO2 - AITO1 = AITO1 / AITOT - AITO2 = AITO2 / AITOT - IF ( UUMAX .GT. TVEFF ) THEN - DDNPAR = NPART(JEMISS) - AIPRO = MIN ( ( AIPR1 + AIPR2 ) / EDENOM, - & DDNPAR ) * FLAMMX - ELSE - AIPRO = ( AIPR1 + AIPR2 ) * FLAMMX / EDENOM - END IF - GO TO 2800 - 2400 CONTINUE - LSPREJ = .TRUE. - AEFRPA = AEFREF - IF ( TVEFF .LE. AEFRPA ) THEN - LSPREJ = .FALSE. - FEMAX = 1.D+00 - ISAMPL = 7 - ELSE IF ( TVEFF .LE. 2.D+00 * AEFRPA ) THEN - FEMAX = TVEFF**3 / ( TVEFF**3 - 2.D+00 * ( TVEFF - & - AEFRPA )**3 ) - ELSE - FEMAX = 0.1666666666666667D+00 * TVEFF**3 - & / ( AEFRPA**2 * ( TVEFF - AEFRPA ) ) - END IF - UUMNR = ( UUMIN / TVEFF )**(NEXTOT-1) - UUMXR = ( UUMAX / TVEFF )**(NEXTOT-1) - AITOT = NPART (JEMISS) * FLAMMX * ( UUMXR - UUMNR ) - & * FEMAX - AIPRO = NPART (JEMISS) * FLAMMX * UUMXR * FEMAX - GO TO 2800 - 2500 CONTINUE - LSPREJ = .FALSE. - AEFRPA = AEFREF - IF ( TVEFF .LE. AEFRPA ) THEN - EDENOM = TVEFF**3 / 36.D+00 - ELSE - EDENOM = ( TVEFF**3 - ( TVEFF - AEFRPA )**3 ) - & / 26.D+00 - END IF - IF ( UUMAX .GT. AEFRPA ) THEN - UUDIV = AEFRPA - UUDV3 = UUDIV**3 - UUMN3 = UUMIN**3 - FCHLP = NPART(JEMISS) / 36.D+00 - AIPR1 = FCHLP * UUDV3 - AIPR2 = 3.D+00 * FCHLP * UUMAX * UUDIV * ( UUMAX - & - UUDIV ) - IF ( UUMIN .LE. UUDIV ) THEN - AITO1 = AIPR1 - FCHLP * UUMN3 - AITO2 = AIPR2 - AIHLP = 0.D+00 - ELSE - AITO1 = 0.D+00 - AIHLP = 3.D+00 * FCHLP * UUMIN * UUDIV * ( UUMIN - & - UUDIV ) - AITO2 = AIPR2 - AIHLP - END IF - ELSE - UUDIV = UUMAX - UUDV3 = UUDIV**3 - UUMN3 = UUMIN**3 - FCHLP = NPART(JEMISS) / 36.D+00 - AIPR1 = FCHLP * UUDV3 - AITO1 = AIPR1 - FCHLP * UUMN3 - AIPR2 = 0.D+00 - AITO2 = 0.D+00 - END IF - AITOT = AITO1 + AITO2 - AITO1 = AITO1 / AITOT - AITO2 = AITO2 / AITOT - AITOT = AITOT * FLAMMX / EDENOM - IF ( UUMAX .GT. TVEFF ) THEN - DDNPAR = NPART(JEMISS) - AIPRO = MIN ( ( AIPR1 + AIPR2 ) / EDENOM, - & DDNPAR ) * FLAMMX - ELSE - AIPRO = ( AIPR1 + AIPR2 ) * FLAMMX / EDENOM - END IF - GO TO 2800 - 2600 CONTINUE - AEFRPA = AEFREF - IF ( TVEFF .LE. AEFRPA ) THEN - EDENOM = TVEFF**4 / 288.D+00 - ELSE IF ( TVEFF .LE. 2.D+00 * AEFRPA ) THEN - EDENOM = ( TVEFF**4 - 2.D+00 * ( TVEFF - AEFRPA )**4 ) - & / 288.D+00 - ELSE - EDENOM = AEFRPA**2 * ( 0.5D+00 * TVEFF**2 - TVEFF - & * AEFRPA + 7.D+00 / 12.D+00 * AEFRPA**2 ) - & / 12.D+00 - END IF - FCHLP = NPART (JEMISS) / 288.D+00 - IF ( UUMAX .GT. 2.D+00 * AEFRPA ) THEN - LSPREJ = .TRUE. - UUDIV = AEFRPA - UUDI2 = 2.D+00 * AEFRPA - UUDV4 = UUDIV**4 - UUMN4 = UUMIN**4 - UUD24 = UUDI2**4 - AIPR1 = FCHLP * UUDV4 - AIPR2 = FCHLP * ( UUD24 - UUDV4 ) - AIPR3 = 12.D+00 * FCHLP * AEFRPA**2 * UUMAX - & * ( UUMAX - UUDI2 ) - IF ( UUMIN .LE. UUDIV ) THEN - AITO1 = AIPR1 - FCHLP * UUMN4 - AITO2 = AIPR2 - AITO3 = AIPR3 - AIHLP = 0.D+00 - AIHL2 = 0.D+00 - ELSE IF ( UUMIN .LE. UUDI2 ) THEN - AITO1 = 0.D+00 - AIHLP = FCHLP * ( UUMN4 - UUDV4 ) - AITO2 = AIPR2 - AIHLP - AITO3 = AIPR3 - AIHL2 = 0.D+00 - ELSE - AITO1 = 0.D+00 - AITO2 = 0.D+00 - AIHL2 = 12.D+00 * FCHLP * AEFRPA**2 * UUMIN - & * ( UUMIN - UUDI2 ) - AITO3 = AIPR3 - AIHL2 - END IF - ELSE IF ( UUMAX .GT. AEFRPA ) THEN - LSPREJ = .TRUE. - UUDIV = AEFRPA - UUDI2 = UUMAX - UUDV4 = UUDIV**4 - UUMN4 = UUMIN**4 - UUD24 = UUDI2**4 - AIPR1 = FCHLP * UUDV4 - AIPR2 = FCHLP * ( UUD24 - UUDV4 ) - IF ( UUMIN .LE. UUDIV ) THEN - AITO1 = AIPR1 - FCHLP * UUMN4 - AITO2 = AIPR2 - AIHLP = 0.D+00 - ELSE - AITO1 = 0.D+00 - AIHLP = FCHLP * ( UUMN4 - UUDV4 ) - AITO2 = AIPR2 - AIHLP - END IF - AIPR3 = 0.D+00 - AITO3 = 0.D+00 - ELSE - LSPREJ = .FALSE. - UUDI2 = UUMAX - UUDIV = UUMAX - UUDV4 = UUDIV**4 - UUMN4 = UUMIN**4 - AIPR1 = FCHLP * UUDV4 - AITO1 = AIPR1 - FCHLP * UUMN4 - AITO2 = 0.D+00 - AIPR2 = 0.D+00 - AITO3 = 0.D+00 - AIPR3 = 0.D+00 - END IF - AITOT = AITO1 + AITO2 + AITO3 - AITO1 = AITO1 / AITOT - AITO2 = AITO2 / AITOT - AITO3 = AITO3 / AITOT - AITOT = AITOT * FLAMMX / EDENOM - AIPRO = ( AIPR1 + AIPR2 + AIPR3 ) * FLAMMX / EDENOM - GO TO 2800 - 2700 CONTINUE - LSPREJ = .FALSE. - TVLEFF = LOG(TVEFF) - IF(UUMAX.LE.0.) THEN - UULMXR=-100 - ELSE - UULMXR = (LOG(UUMAX)-TVLEFF)*(NEXTOT-1) - ENDIF - IF(UULMXR.LT.-88) THEN - UUMNR = 0. - UUMXR = 0. - ELSE - UUMXR = EXP(UULMXR) - IF(UUMIN.LE.0.) THEN - UULMNR=-100 - ELSE - UULMNR = (LOG(UUMIN)-TVLEFF)*(NEXTOT-1) - ENDIF - IF(UULMNR.LT.-88) THEN - UUMNR = 0. - ELSE - UUMNR = EXP(UULMNR) - ENDIF - ENDIF - AITOT = NPART (JEMISS) * FLAMMX * ( UUMXR - UUMNR ) - AIPRO = NPART (JEMISS) * FLAMMX * MIN ( UUMXR, ONEONE ) - 2800 CONTINUE - NTENT = INT (AIPRO) - CALL GRNDM(RNDM,1) - RNTENT = RNDM (1) - IF ( RNTENT .LT. AIPRO - NTENT ) NTENT = NTENT + 1 - 3000 CONTINUE - ITACC = 0 - DO 4100 IT = 1, NTENT - GO TO ( 3100, 3200, 3300, 3400, 3500, 3600, 3700 ), - & ISAMPL - GO TO 4000 - 3100 CONTINUE - CALL GRNDM(RNDM,1) - UURND = AEFRPA * ( 1.D+00 - AITOT / FLAMMX - & * RNDM (1) )**0.3333333333333333D+00 - UURND = AEFRPA - UURND + UUMIN - GO TO 3800 - 3200 CONTINUE - CALL GRNDM(RNDM,1) - RNDEPS = RNDM (1) - IF ( RNDEPS .LT. AITO1 ) THEN - RNDEPS = RNDEPS / AITO1 - UURND = SQRT ( RNDEPS * ( UUDV2 - UUMN2 ) + UUMN2) - ELSE - RNDEPS = RNDEPS - AITO1 - RNDEPS = AIHLP + RNDEPS * AITOT * EDENOM / FLAMMX - UURND = 2.D+00 * UUDIV - SQRT ( UUDIV**2 - & - 2.D+00 * RNDEPS ) - END IF - GO TO 3800 - 3300 CONTINUE - CALL GRNDM(RNDM,1) - RNDEPS = RNDM (1) - IF ( RNDEPS .LT. AITO1 ) THEN - RNDEPS = RNDEPS * AITOT - UURND = RNDEPS / FCHLP + UUMIN**2 - UURND = SQRT (UURND) - ELSE - RNDEPS = ( RNDEPS - AITO1 ) * AITOT + AIHLP - UURND = RNDEPS / FCHLP / UUDIV + UUDIV - END IF - GO TO 3800 - 3400 CONTINUE - CALL GRNDM(RNDM,1) - UURND = TVEFF * ( RNDM (1) * AITOT / FLAMMX - & / FEMAX / NPART(JEMISS) + UUMNR )** - & ( 1.D+00 / (NEXTOT-1) ) - IF ( UURND .LE. AEFRPA ) THEN - LSPREJ = .FALSE. - FREJE = 1.D+00 - ELSE IF ( UURND .LE. 2.D+00 * AEFRPA ) THEN - FREJE = ( UURND**2 - 2.D+00 * ( UURND - AEFRPA ) - & **2 ) / UURND**2 - ELSE - FREJE = 2.D+00 * AEFRPA**2 / UURND**2 - END IF - GO TO 3800 - 3500 CONTINUE - CALL GRNDM(RNDM,1) - RNDEPS = RNDM (1) - IF ( RNDEPS .LT. AITO1 ) THEN - RNDEPS = RNDEPS / AITO1 - UURND = RNDEPS * ( UUDV3 - UUMN3 ) + UUMN3 - UURND = UURND**0.333333333333333D+00 - LSPREJ = .FALSE. - ELSE IF ( RNDEPS .LT. AITO1 + AITO2 ) THEN - RNDEPS = RNDEPS - AITO1 - RNDEPS = RNDEPS * AITOT * EDENOM / FLAMMX + AIHLP - UURND = 0.5D+00 * ( UUDIV + SQRT ( UUDIV**2 - & + 1.333333333333333D+00 * RNDEPS / FCHLP - & / UUDIV ) ) - LSPREJ = .FALSE. - END IF - GO TO 3800 - 3600 CONTINUE - CALL GRNDM(RNDM,1) - RNDEPS = RNDM (1) - IF ( RNDEPS .LT. AITO1 ) THEN - RNDEPS = RNDEPS / AITO1 - UURND = RNDEPS * ( UUDV4 - UUMN4 ) + UUMN4 - UURND = UURND**0.25D+00 - LSPREJ = .FALSE. - ELSE IF ( RNDEPS .LT. AITO1 + AITO2 ) THEN - RNDEPS = RNDEPS - AITO1 - RNDEPS = RNDEPS * AITOT * EDENOM / FLAMMX + AIHLP - UURND = RNDEPS / FCHLP + UUDV4 - UURND = UURND**0.25D+00 - LSPREJ = .TRUE. - FREJE = 1.D+00 - 2.D+00 * ( 1.D+00 - UUDIV / UURND - & )**3 - ELSE - RNDEPS = RNDEPS - AITO1 - AITO2 - RNDEPS = RNDEPS * AITOT * EDENOM / FLAMMX + AIHL2 - UURND = AEFRPA + SQRT ( AEFRPA**2 + RNDEPS / - & ( 12.D+00 * FCHLP * AEFRPA**2 ) ) - LSPREJ = .FALSE. - END IF - GO TO 3800 - 3700 CONTINUE - CALL GRNDM(RNDM,1) - UURND = TVEFF * ( RNDM (1) * AITOT / FLAMMX - & / NPART(JEMISS) + UUMNR )** - & ( 1.D+00 / (NEXTOT-1) ) - 3800 CONTINUE - IF ( LSPREJ ) THEN - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .GE. FREJE ) GO TO 4100 - END IF - EPS = TVEFF - UURND - BNDGAV - 4000 CONTINUE - IF ( LPRFIX ) THEN - ITACC = ITACC + 1 - EPSFIX (ITACC) = EPS - EPSMIN + BNDGEN - END IF - DEPSEX = EPS - EPSEEX (JEMISS) - IF ( DEPSEX .GT. 0.D+00 ) THEN - IF ( EEXDLT (JEMISS) .LT. EEXMNM (JEMISS) .AND. - & DEPSEX .GT. 0.5D+00 * ( EPSDLT (JEMISS) - EPSEEX - & (JEMISS) ) ) THEN - DEPSEX = EPS - EPSDLT (JEMISS) - IF ( DEPSEX .GT. 0.5D+00 * ( EPSDLT (JEMISS) - & - EPSANY (JEMISS) ) ) THEN - EPS = EPSANY (JEMISS) - ELSE - EPS = EPSDLT (JEMISS) - END IF - ELSE - EPS = EPSEEX (JEMISS) - END IF - IF ( EPS .LE. EPSMIN ) GO TO 4100 - END IF - AMNHLP = UMO - EPS + EPSMIN - AMNUCL (IEMISS) - ERNCM (JEMISS) = 0.5D+00 * ( UMO2 + AMNHLP**2 - & - AMNUSQ (IEMISS) ) / UMO - EPS = UMO - ERNCM (JEMISS) - AMNUCL (IEMISS) - EPSINV = 0.5D+00 * ( UMO2 - ( AMNUCL (IEMISS) - & + AMNHLP )**2 ) / AMNHLP - EPSWLL = EPSINV + AEFRAV + BNDUSE + AMNUCL (IEMISS) - BETWLL = SQRT ( 1.D+00 - AMNUSQ (IEMISS) / EPSWLL**2 ) - EKEWLL = EPSWLL - AMNUCL (IEMISS) - EPSCOU = UMO - AMNHLP - AMNUCL (IEMISS) - IF ( JEMISS .EQ. 1 ) THEN - GSNGLV = 1.5D+00 * ( ANOW - ZNOW ) * SQRT ( ( EKEWLL - & + EKFCEN (IEMISS) - AEFRAV ) / EKFCEN (IEMISS)) - & / EKFCEN (IEMISS) - AALPHA = 0.76D+00 + 2.2D+00 / RMASS (IBRES-1) - BBETAA = ( 2.22D+00 / RMASS (IBRES-1)**2 - 0.05D+00 ) - & / AALPHA * 1.D-03 - SIGINV = 0.1D+00 * XINNEU ( EPSINV, ZAFTR (JEMISS), - & BBETAA ) - IF ( EKEWLL .LE. 0.04D+00 ) THEN - SIGMAP = 3.D+03 * PI / ( 1.206D+03 * EKEWLL + ( - & -1.86D+00 + 0.09415D+03 * EKEWLL - & + 0.0001306D+06 * EKEWLL**2 )**2 ) + 1.D+03 - & * PI / ( 1.206D+03 * EKEWLL + ( 0.4223D+00 - & + 0.13D+03 * EKEWLL )**2 ) - IF ( EKEWLL .LT. 0.02D+00 ) THEN - SIGMAN = 0.3333333333333333D+00 * SIGMAP - ELSE - SIGMAN = 10.63D+00 / BETWLL**2 - 29.92D+00 - & / BETWLL + 42.9D+00 - END IF - ELSE - SIGMAP = 34.10D+00 / BETWLL**2 - 82.2D+00 / BETWLL - & + 82.2D+00 - SIGMAN = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL - & + 42.9D+00 - END IF - SIGMAP = 0.1D+00 * SIGMAP - SIGMAN = 0.1D+00 * SIGMAN - SGNUNU = ( ( ANOW - ZNOW - ANNEUT ) * SIGMAN - & + ( ZNOW - ANPROT ) * SIGMAP ) - & / ( ANOW - ANPTOT ) - ELSE - GSNGLV = 1.5D+00 * ZNOW * SQRT ( ( EKEWLL - & + EKFCEN (IEMISS) - AEFRAV ) / EKFCEN (IEMISS)) - & / EKFCEN (IEMISS) - SIGINV = 1.D-01 * XINPRO ( EPSINV, ZAFTR (JEMISS), - & ETHRES ) - IF ( EKEWLL .LE. 0.04D+00 ) THEN - SIGMAN = 3.D+03 * PI / ( 1.206D+03 * EKEWLL + ( - & -1.86D+00 + 0.09415D+03 * EKEWLL - & + 0.0001306D+06 * EKEWLL**2 )**2 ) + 1.D+03 - & * PI / ( 1.206D+03 * EKEWLL + ( 0.4223D+00 - & + 0.13D+03 * EKEWLL )**2 ) - IF ( EKEWLL .LT. 0.02D+00 ) THEN - SIGMAP = 0.3333333333333333D+00 * SIGMAN - ELSE - SIGMAP = 10.63D+00 / BETWLL**2 - 29.92D+00 - & / BETWLL + 42.9D+00 - END IF - ELSE - SIGMAN = 34.10D+00 / BETWLL**2 - 82.2D+00 / BETWLL - & + 82.2D+00 - SIGMAP = 10.63D+00 / BETWLL**2 - 29.92D+00 / BETWLL - & + 42.9D+00 - END IF - SIGMAP = 0.1D+00 * SIGMAP - SIGMAN = 0.1D+00 * SIGMAN - SGNUNU = ( ( ANOW - ZNOW - ANNEUT ) * SIGMAN - & + ( ZNOW - ANPROT ) * SIGMAP ) - & / ( ANOW - ANPTOT ) - END IF - ZITA = AEFRAV / EKEWLL - IF ( ZITA .LE. 0.5D+00 ) THEN - PZITA = 1.D+00 - 1.4D+00 * ZITA - ELSE - PZITA = 1.D+00 - 1.4D+00 * ZITA + 0.4D+00 * ZITA - & * ( 2.D+00 - 1.D+00 / ZITA )**2.5D+00 - END IF - RATEC = SIGINV * RATEC0 * EPSINV / GSNGLV - IF ( RATEC .LE. 0.D+00 ) GO TO 4100 - ALAMDC = BETWLL / RATEC - ALAMDI = 1.D+00 / ( SGNUNU * RHONUC * PZITA ) + MAX ( - & TWOTWO * PI * PLABRC * BETWLL * EPSWLL - & / AMNUSQ (IEMISS), RZNUCL ) - AMUTOT = 1.D+00 / ALAMDI + 1.D+00 / ALAMDC - RATEI = BETWLL / ALAMDI - FLAMDA = RATEC / ( RATEC + CLAMDI * RATEI ) / FLAMMX - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. FLAMDA ) GO TO 4200 - 4100 CONTINUE - IF ( JEMISS .EQ. JEMIS1 ) GO TO 4500 - IF ( ITACC .LE. NPART (JEMISS) ) THEN - NPRFIX (JEMISS) = NPRFIX (JEMISS) + ITACC - DO 4150 IT = 1, ITACC - EPRFIX = EPRFIX + EPSFIX (IT) - 4150 CONTINUE - ELSE - NPRFIX (JEMISS) = NPART (JEMISS) - ACCEP = 0.D+00 - DO 4160 IT = 1, ITACC - PRACC = ( NPART (JEMISS) - ACCEP ) - & / ( ITACC - IT + 1 ) - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PRACC ) THEN - EPRFIX = EPRFIX + EPSFIX (IT) - ACCEP = ACCEP + 1.D+00 - END IF - 4160 CONTINUE - END IF - GO TO 4500 - 4200 CONTINUE - ZNOW = ZAFTR (JEMISS) - ANOW = AAFTR - IBRES = IBRES - 1 - ICRES = ICRES - JEMISS + 1 - AMMRES = AMMAFT (JEMISS) - AMNRES = AMNAFT (JEMISS) - EEPCM = EPS + AMNUCL (IEMISS) - ERESCM = UMO - EEPCM - IF ( LNUCTS ) THEN - ELSE IF ( ICYCL .EQ. 1 .AND. LEMISS ) THEN - C (1) = C2ND (1) - C (2) = C2ND (2) - C (3) = C2ND (3) - ELSE IF ( ICYCL .LE. 1 .AND. PCMORI .LE. ANGLGB ) THEN - C (1) = C1ST (1) - C (2) = C1ST (2) - C (3) = C1ST (3) - ELSE IF ( ICYCL .LE. 1 ) THEN - PCMSXT = - AMNUCL (IEMISS) * ETAX - PCMSYT = - AMNUCL (IEMISS) * ETAY - PCMSZT = - AMNUCL (IEMISS) * ETAZ - APSHAR = MAX ( ANPTOT + NEMISS - 1, ONEONE ) - PCMSX = ( CXAXCM * PCMORI + PCMSXT ) / APSHAR - PCMSXT - PCMSY = ( CYAXCM * PCMORI + PCMSYT ) / APSHAR - PCMSYT - PCMSZ = ( CZAXCM * PCMORI + PCMSZT ) / APSHAR - PCMSZT -* - PCMSTT = PCMSXT**2 + PCMSYT**2 + PCMSZT**2 - PCMSPT = PCMSX**2 + PCMSY**2 + PCMSZ**2 - ECMSTT = SQRT ( AMNUSQ (IEMISS) + PCMSTT ) - ECMSPT = SQRT ( AMNUSQ (IEMISS) + PCMSPT ) -* - UMMO2 = 2.D+00 * AMNUSQ (IEMISS) + 2.D+00 * ECMSTT - & * ECMSPT - 2.D+00 * ( PCMSXT * PCMSX + PCMSYT - & * PCMSY + PCMSZT * PCMSZ ) - UMMO = SQRT ( UMMO2 ) - GAMCCM = ( ECMSTT + ECMSPT ) / UMMO - ETAXM = ( PCMSX + PCMSXT ) / UMMO - ETAYM = ( PCMSY + PCMSYT ) / UMMO - ETAZM = ( PCMSZ + PCMSZT ) / UMMO - ETAPCM = ETAXM * PCMSX + ETAYM * PCMSY + ETAZM * PCMSZ - PHELP = ECMSPT - ETAPCM / ( GAMCCM + 1.D+00 ) - PCCMSX = PCMSX - ETAXM * PHELP - PCCMSY = PCMSY - ETAYM * PHELP - PCCMSZ = PCMSZ - ETAZM * PHELP - PCCMSP = SQRT ( PCCMSX**2 + PCCMSY**2 + PCCMSZ**2 ) - CALL RACO (C(1),C(2),C(3)) - SCAPRO = PCCMSX * C (1) + PCCMSY * C (2) + PCCMSZ * C (3) - IF ( SCAPRO .LT. 0.D+00 ) THEN - C (1) = - C (1) - C (2) = - C (2) - C (3) = - C (3) - END IF - PCCMSX = C(1) * PCCMSP - PCCMSY = C(2) * PCCMSP - PCCMSZ = C(3) * PCCMSP - ETAPCM = ETAXM * PCCMSX + ETAYM * PCCMSY + ETAZM * PCCMSZ - PHELP = 0.5D+00 * UMMO + ETAPCM / ( GAMCCM + 1.D+00 ) - PCMSX = PCCMSX + ETAXM * PHELP - PCMSY = PCCMSY + ETAYM * PHELP - PCMSZ = PCCMSZ + ETAZM * PHELP - PCMSPT = SQRT ( PCMSX**2 + PCMSY**2 + PCMSZ**2 ) - C (1) = PCMSX / PCMSPT - C (2) = PCMSY / PCMSPT - C (3) = PCMSZ / PCMSPT - ETAPCM = - ETAPCM - PHELP = 0.5D+00 * UMMO + ETAPCM / ( GAMCCM + 1.D+00 ) - PCMSX = - PCCMSX + ETAXM * PHELP - PCMSY = - PCCMSY + ETAYM * PHELP - PCMSZ = - PCCMSZ + ETAZM * PHELP - PCMSPT = SQRT ( PCMSX**2 + PCMSY**2 + PCMSZ**2 ) - C2ND (1) = PCMSX / PCMSPT - C2ND (2) = PCMSY / PCMSPT - C2ND (3) = PCMSZ / PCMSPT - ELSE - UMULEG (0) = 1.0D+00 - UMULEG (1) = 0.6666666666666667D+00 - UMULEG (2) = 0.25D+00 - ACOLEG (0) = 0.5D+00 - ACOLEG (1) = 1.5D+00 * UMULEG (1)**ICYCL - ACOLEG (2) = 2.5D+00 * UMULEG (2)**ICYCL - COSTHE = COSLEG ( ACOLEG ) - SINTHE = SQRT ( ( 1.D+00 - COSTHE ) * ( 1.D+00 + COSTHE ) - & ) - 4300 CONTINUE - CALL GRNDM(RNDM,2) - RPHI1 = 2.D+00 * RNDM (1) - 1.D+00 - RPHI2 = 2.D+00 * RNDM (2) - 1.D+00 - RPHI12 = RPHI1 * RPHI1 - RPHI22 = RPHI2 * RPHI2 - RSQ = RPHI12 + RPHI22 - IF ( RSQ .GT. 1.D+00 ) GO TO 4300 - SINPHI = 2.D+00 * RPHI1 * RPHI2 / RSQ - COSPHI = ( RPHI12 - RPHI22 ) / RSQ - SINT02 = ( 1.D+00 - CZAXCM ) * ( 1.D+00 + CZAXCM ) - IF ( SINT02 .LT. ANGLSQ ) THEN - C (1) = COSPHI * SINTHE - C (2) = SINPHI * SINTHE - C (3) = CZAXCM * COSTHE - ELSE - SINTH0 = SQRT ( SINT02 ) - UPRIME = SINTHE * COSPHI - VPRIME = SINTHE * SINPHI - COSPH0 = CXAXCM / SINTH0 - SINPH0 = CYAXCM / SINTH0 - C (1) = UPRIME * COSPH0 * CZAXCM - VPRIME * SINPH0 - & + COSTHE * CXAXCM - C (2) = UPRIME * SINPH0 * CZAXCM + VPRIME * COSPH0 - & + COSTHE * CYAXCM - C (3) = - UPRIME * SINTH0 + COSTHE * CZAXCM - END IF - END IF - PCMS = SQRT ( ( EEPCM - AMNUCL (IEMISS) ) * ( EEPCM - & + AMNUCL (IEMISS) ) ) - UMO2 = ( ERESCM - PCMS ) * ( ERESCM + PCMS ) - UMO = SQRT (UMO2) - PCMSX = PCMS * C (1) - PCMSY = PCMS * C (2) - PCMSZ = PCMS * C (3) - ETAPCM = PCMSX * ETAX + PCMSY * ETAY + PCMSZ * ETAZ - NP = NP + 1 - KPART (NP) = 1 - 7 * ( JEMISS - 2 ) - TKI (NP) = GAMCM * EEPCM + ETAPCM - AMNUCL (IEMISS) - PHELP = ETAPCM / ( GAMCM + 1.D+00 ) + EEPCM - WEI (NP) = WEE - PLBPX = PCMSX + ETAX * PHELP - PLBPY = PCMSY + ETAY * PHELP - PLBPZ = PCMSZ + ETAZ * PHELP - PHELP = SQRT ( PLBPX * PLBPX + PLBPY * PLBPY - & + PLBPZ * PLBPZ ) - CXR (NP) = PLBPX / PHELP - CYR (NP) = PLBPY / PHELP - CZR (NP) = PLBPZ / PHELP - PLR (NP) = PHELP - IGREYP = IGREYP + JEMISS - 1 - IGREYN = IGREYN + 2 - JEMISS - IF ( JEMISS .EQ. 1 ) THEN - ISTORE = IGREYN - ELSE - ISTORE = IGREYP - END IF - IF ( LNUCTS ) THEN - NPCYCL (ISTORE,JEMISS) = -ICYCL - ELSE - NPCYCL (ISTORE,JEMISS) = ICYCL - END IF - EINTR = EINTR + TKI (NP) + AMNUCL (IEMISS) - PXINTR = PXINTR + CXR (NP) * PLR (NP) - PYINTR = PYINTR + CYR (NP) * PLR (NP) - PZINTR = PZINTR + CZR (NP) * PLR (NP) - IBINTR = IBINTR + IBAR ( KPART (NP) ) - ICINTR = ICINTR + ICH ( KPART (NP) ) - ERES = GAMCM * ERESCM - ETAPCM - EKRES = ERES - UMO - PHELP = - ETAPCM / ( GAMCM + 1.D+00 ) + ERESCM - PXRES = - PCMSX + ETAX * PHELP - PYRES = - PCMSY + ETAY * PHELP - PZRES = - PCMSZ + ETAZ * PHELP - PTRES2= PXRES * PXRES + PYRES * PYRES + PZRES * PZRES - PTRES = SQRT (PTRES2) - TVCMS = UMO - AMNRES - IF ( TVCMS .LT. 0.D+00 ) THEN - IF ( TVCMS .LT. - GAMMIN ) THEN - WRITE (LUNOUT,*)' PREPRE: TVCMS',TVCMS - WRITE (LUNERR,*)' PREPRE: TVCMS',TVCMS - WRITE (77,*)' ^^^ PREPRE: TVCMS',TVCMS - END IF - TVCMS = 0.D+00 - END IF - EHLFIX = MIN ( TVCMS, EHLFIX ) - TVEFF = TVCMS - EHLFIX - IF ( TVEFF .LE. 0.D+00 ) GO TO 7000 - GAMCM = ERES / UMO - ETACM = PTRES / UMO - ETAX = PXRES / UMO - ETAY = PYRES / UMO - ETAZ = PZRES / UMO - ETAPCM = ETAX * PXORI + ETAY * PYORI + ETAZ * PZORI - PHELP = EKORI + AM (KPORI) - ETAPCM / ( GAMCM + 1.D+00 ) - PCMSX = PXORI - ETAX * PHELP - PCMSY = PYORI - ETAY * PHELP - PCMSZ = PZORI - ETAZ * PHELP - PCMORI = PCMSX**2 + PCMSY**2 + PCMSZ**2 - IF ( PCMORI .LE. ANGLGB ) THEN - PCMORI = 0.D+00 - CALL RACO ( CXAXCM, CYAXCM, CZAXCM ) - ELSE - PCMORI = SQRT ( PCMORI ) - CXAXCM = PCMSX / PCMORI - CYAXCM = PCMSY / PCMORI - CZAXCM = PCMSZ / PCMORI - END IF - IAAFT = IBRES-1 - IZAFT = ICRES - AAFTR = IAAFT - ZAFTR (1) = IZAFT - AMMAFT(1) = AAFTR * AMUAMU + 1.D-03 - & * FKENER (AAFTR,ZAFTR(1)) - AMNAFT(1) = AMMAFT (1) - ZAFTR (1) * AMELEC - & + ELBNDE (IZAFT) - CALL EEXLVL ( IAAFT, IZAFT, EEXDLT (1), EEXMNM (1), EEXDUM ) - BNDGAV = BNENRG (2) - EPSMX (1) = UMO - AMNRES - BNDGAV - EHLFIX - EPSDLT (1) = UMO - AMNRES - BNDGAV - EEXDLT (1) - EPSEEX (1) = UMO - AMNRES - BNDGAV - EEXMNM (1) - IZAFT = ICRES - 1 - ZAFTR (2) = IZAFT - AMMAFT(2) = AAFTR * AMUAMU + 1.D-03 - & * FKENER (AAFTR,ZAFTR(2)) - AMNAFT(2) = AMMAFT (2) - ZAFTR (2) * AMELEC - & + ELBNDE (IZAFT) - CALL EEXLVL ( IAAFT, IZAFT, EEXDLT (2), EEXMNM (2), EEXDUM ) - BNDGAV = BNENRG (1) - EPSMX (2) = UMO - AMNRES - BNDGAV - EHLFIX - EPSDLT (2) = UMO - AMNRES - BNDGAV - EEXDLT (2) - EPSEEX (2) = UMO - AMNRES - BNDGAV - EEXMNM (2) - EEXANW (1) = 0.D+00 - EPSANY (1) = EPSMX (1) - EEXANW (2) = 0.D+00 - EPSANY (2) = EPSMX (2) - NPART (JEMISS) = NPART (JEMISS) - 1 - IF ( JEMFIX .GT. 0 ) THEN - NPART (1) = NPART (1) + NPRFIX (1) - NPART (2) = NPART (2) + NPRFIX (2) - END IF - NEMISS = NEMISS + 1 - LEMISS = .TRUE. - TEMNU = SQRT ( TVCMS / ANOW * ALEVEL ) - IF ( EPSMX (1) + EPSMX (2) .LT. 2.D+00 * TEMNU ) - & GO TO 7000 - SIGIN0 = PI * ( R0SIGK * RMASS (IBRES-1) )**2 - NEXMX = SQRT ( 2.D+00 * ANOW * TVCMS / ALEVEL ) - ANPROT = NPART (2) - ANNEUT = NPART (1) - NPTOT = NPART (1) + NPART (2) - ANPTOT = NPTOT - GO TO 6000 - 4500 CONTINUE - 4600 CONTINUE - IF ( LNUCTS ) THEN - LEMISS = .TRUE. - GO TO 6000 - ELSE - LEMISS = .FALSE. - NPART (1) = NPART (1) + NPRFIX (1) - NPART (2) = NPART (2) + NPRFIX (2) - IF ( JEMFIX .GT. 0 ) THEN - TVEFF = TVCMS - EHLFIX - EPSMX (JEMFIX) = EPSMX0 - ERNCM (JEMFIX) = ERNCM0 - END IF - END IF - 5000 CONTINUE - ANPROT = NPART (2) - ANNEUT = NPART (1) - IF ( NPTOT .GT. 0 ) THEN - PNPROT = ( ZNOW - ANPROT ) * ( 3.D+00 * ANNEUT + ANPROT ) - & / ( ANPROT * ( ZNOW - ANPROT + 3.D+00 * ( ANOW - & - ANNEUT - ZNOW ) ) + ANNEUT * ( 3.D+00 * ( ZNOW - & - ANPROT ) + ANOW - ANNEUT - ZNOW ) ) - ELSE - PNPROT = ZNOW / ANOW - END IF - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PNPROT ) THEN - NPART (2) = NPART (2) + 1 - ZCOLL = ZCOLL - 1.D+00 - ELSE - NPART (1) = NPART (1) + 1 - END IF - NPTOT = NPART (1) + NPART (2) - ANPTOT = NPTOT - NHOLE = NHOLE + 1 - ACOLL = ACOLL - 1.D+00 - AVEBIN = ( ( BBTAR - ZZTAR - ACOLL + ZCOLL ) * BNENRG (2) - & + ( ZZTAR - ZCOLL ) * BNENRG (1) ) / ( BBTAR - ACOLL ) - 6000 CONTINUE - IF ( LNUCTS ) THEN - RHOIMP = RHOSAV - EKFIMP = EKFSAV - END IF - IF ( NHOLE + NHLFIX + NPTOT .LT. NEXMX .AND. - & NPTOT .LE. NINT (0.5D+00 * ANOW) ) GO TO 1000 - 7000 CONTINUE -*=== End of subroutine prepre =========================================* - RETURN - END -#if defined(CERNLIB_HPUX) -$OPTIMIZE ON -#endif diff --git a/StarVMC/geant3/peanut/rstsel.F b/StarVMC/geant3/peanut/rstsel.F deleted file mode 100644 index d8025c38b9e..00000000000 --- a/StarVMC/geant3/peanut/rstsel.F +++ /dev/null @@ -1,236 +0,0 @@ -* -* $Id: rstsel.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: rstsel.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE RSTSEL.FOR -*COPY RSTSEL -* -*=== rstsel ===========================================================* -* - SUBROUTINE RSTSEL ( JPROJ ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/part.inc" -#include "geant321/parevt.inc" -#include "geant321/resnuc.inc" -* - REAL RNDM(1) - SAVE ABTAR , ZZTAR , PACORE, PASKIN, - & PAHALO, PACHLP, XHLP , AUSFL , ZUSFL , ONUSFL, KPROJ , - & ITFRMI, ITFRM2 -* - KPROJ = JPROJ - ABTAR = IBTAR - ZZTAR = ICHTAR - AUSFL = ABTAR - ZUSFL = ZZTAR - ONUSFL = 0.D+00 - CALL RACO ( CXIMPC, CYIMPC, CZIMPC ) - UBIMPC = CXIMPC - VBIMPC = CYIMPC - WBIMPC = CZIMPC - PACORE = FRHINC (RADIU0) / ABTAR - PASKIN = FRHINC (RADIU1) / ABTAR - PACORE - PAHALO = 1.D+00 - PACORE - PASKIN - GO TO 500 - ENTRY RSTNXT - 500 CONTINUE - LABRST = .TRUE. - IF ( KPROJ .EQ. 2 ) THEN - NTARGT = 1 - STOP 'pbar_rest' - ELSE IF ( KPROJ .EQ. 9 ) THEN - NTARGT = 1 - STOP 'nbar_rest' - ELSE IF ( KPROJ .EQ. 14 ) THEN - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. RADPIM * ( ABTAR + RDPMHL ) / ABTAR ) - & THEN - NTARGT = 1 - KNUCIM = 1 - ITFRMI = 1 - IPRTYP = - ( 14 * 10 + KNUCIM ) - ELSE - NTARGT = 2 - KNUCIM = 1 - ITFRMI = 1 - PRCOL0 = APMRST - PRCOLP = PRCOL0 * ( ZUSFL - ONUSFL ) - PRCOLP = PRCOLP / ( PRCOLP + ( 1.D+00 - PRCOL0 ) * ( AUSFL - & - ZUSFL ) ) - CALL GRNDM(RNDM,1) - IF ( RNDM (1) .LT. PRCOLP ) THEN - KNUCI2 = 1 - ITFRM2 = 1 - ELSE - KNUCI2 = 8 - ITFRM2 = 2 - END IF - IPRTYP = - ( 14 * 100 + KNUCIM * 10 + KNUCI2 ) - END IF - ELSE IF ( KPROJ .EQ. 15 ) THEN - NTARGT = 1 - NTARGT = 2 - STOP 'K-_rest' - ELSE - STOP '???_rest' - END IF - CALL GRNDM(RNDM,1) - RNDMAB = RNDM (1) - IF ( RNDMAB .LT. PACORE ) THEN - RNDMAB = RNDMAB / PACORE - RADSAM = RADIU0 - RHOSAM = RHOCEN - XHLP = 0.D+00 - ELSE IF ( RNDMAB - PACORE .LT. PASKIN ) THEN - RNDMAB = ( RNDMAB - PACORE ) / PASKIN - RADSAM = RADIU1 - RHOSAM = RHOCOR - XHLP = RADIU0 / RADIU1 - ELSE - RNDMAB = ( RNDMAB - PACORE - PASKIN ) / PAHALO - RHOSAM = RHOSKN - RADSAM = RADTOT - XHLP = RADIU1 / RADTOT - END IF - XHLP3 = XHLP * XHLP * XHLP - 1000 CONTINUE - BIMPCT = RADSAM * ( RNDMAB * ( 1.D+00 - XHLP3 ) + XHLP3 ) - & **0.3333333333333333D+00 - RHOIMP = FRHONC (BIMPCT) - CALL GRNDM(RNDM,1) - RNDMAB = RNDM (1) - RHORAT = RHOIMP / RHOSAM - IF ( RNDMAB .GE. RHORAT ) THEN - RNDMAB = ( RNDMAB - RHORAT ) / ( 1.D+00 - RHORAT ) - GO TO 1000 - END IF - PFRIMP = FPFRNC ( RHOIMP, ITFRMI ) - EKFIMP = FEKFNC ( PFRIMP, ITFRMI ) - RHOIMT = RHOIMP - IF ( NTARGT .EQ. 2 ) THEN - IF ( RHOIMP .GE. RHOCEN ) THEN - PFRIM2 = PFRCEN (ITFRM2) - EKFIM2 = EKFCEN (ITFRM2) - EKFPRO = EKFCEN (IPWELL) - PFRPRO = PFRCEN (IPWELL) - ELSE IF ( ITFRM2 .NE. ITFRMI ) THEN - PFRIM2 = PFRIMP * PFRCEN (ITFRM2) / PFRCEN (ITFRMI) - EKFIM2 = SQRT ( PFRIM2 * PFRIM2 + AMNUSQ (ITFRM2) ) - & - AMNUCL (ITFRM2) - IF ( IPWELL .EQ. ITFRMI ) THEN - EKFPRO = EKFIMP - PFRPRO = PFRIMP - ELSE - PFRPRO = PFRIM2 - EKFPRO = EKFIM2 - END IF - ELSE - PFRIM2 = PFRIMP - EKFIM2 = EKFIMP - IF ( IPWELL .EQ. ITFRMI ) THEN - PFRPRO = PFRIMP - EKFPRO = EKFIMP - ELSE - PFRPRO = PFRIMP * PFRCEN (IPWELL) / PFRCEN (ITFRMI) - EKFPRO = SQRT ( PFRPRO * PFRPRO + AMNUSQ (IPWELL) ) - & - AMNUCL (IPWELL) - END IF - END IF - ELSE - IF ( RHOIMP .GE. RHOCEN ) THEN - PFRPRO = PFRCEN (IPWELL) - EKFPRO = EKFCEN (IPWELL) - ELSE IF ( IPWELL .EQ. ITFRMI ) THEN - PFRPRO = PFRIMP - EKFPRO = EKFIMP - ELSE - PFRPRO = PFRIMP * PFRCEN (IPWELL) / PFRCEN (ITFRMI) - EKFPRO = SQRT ( PFRPRO * PFRPRO + AMNUSQ (IPWELL) ) - & - AMNUCL (IPWELL) - END IF - END IF - VPRWLL = WLLRED * ( EKFPRO + BNDNUC ) - BIMPTR = BIMPCT - BIMMEM = BIMPTR - RIMPCT = BIMPCT - RIMPTR = BIMPTR - XBIMPC = UBIMPC * BIMPCT - YBIMPC = VBIMPC * BIMPCT - ZBIMPC = WBIMPC * BIMPCT - XIMPCT = XBIMPC - YIMPCT = YBIMPC - ZIMPCT = ZBIMPC - XIMPTR = XIMPCT - YIMPTR = YIMPCT - ZIMPTR = ZIMPCT - EKEWLL = EKECON + VPRWLL - PPRWLL = SQRT ( EKEWLL * ( EKEWLL + 2.D+00 * AM (KPROJ) ) ) - PXPROJ = PPRWLL * CXIMPC - PYPROJ = PPRWLL * CYIMPC - PZPROJ = PPRWLL * CZIMPC - PNFRMI = PFNCLV ( ITFRMI, .TRUE. ) - IF ( PNFRMI .LT. -100.D+00 ) GO TO 500 - CALL RACO ( PXFERM, PYFERM, PZFERM ) - PXFERM = PXFERM * PNFRMI - PYFERM = PYFERM * PNFRMI - PZFERM = PZFERM * PNFRMI - EKFIMP = MAX ( EKFERM, EKFIMP ) - IF ( NTARGT .EQ. 2 ) THEN - PNFRM2 = PFNCLV ( ITFRM2, .FALSE. ) - IF ( PNFRM2 .LT. -100.D+00 ) GO TO 500 - CALL RACO ( PXFER2, PYFER2, PZFER2 ) - PXFER2 = PXFER2 * PNFRM2 - PYFER2 = PYFER2 * PNFRM2 - PZFER2 = PZFER2 * PNFRM2 - EKFIM2 = MAX ( EKFER2, EKFIM2 ) - ERES = EKEWLL + AM (KPROJ) + AM (KNUCIM) + EKFERM - & + AM (KNUCI2) + EKFER2 - PXRES = PXPROJ + PXFERM + PXFER2 - PYRES = PYPROJ + PYFERM + PYFER2 - PZRES = PZPROJ + PZFERM + PZFER2 - PTRES2 = PXRES**2 + PYRES**2 + PZRES**2 - ELSE - ERES = EKEWLL + AM (KPROJ) + AM (KNUCIM) + EKFERM - PXRES = PXPROJ + PXFERM - PYRES = PYPROJ + PYFERM - PZRES = PZPROJ + PZFERM - PTRES2 = PXRES**2 + PYRES**2 + PZRES**2 - END IF - RETURN -*=== End of subroutine rstsel =========================================* - END diff --git a/StarVMC/geant3/peanut/sbcomp.F b/StarVMC/geant3/peanut/sbcomp.F deleted file mode 100644 index 73d20d37c78..00000000000 --- a/StarVMC/geant3/peanut/sbcomp.F +++ /dev/null @@ -1,372 +0,0 @@ -* -* $Id: sbcomp.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: sbcomp.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:03 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE SBCOMP.FOR -*COPY SBCOMP -* -*=== sbcomp ===========================================================* -* - SUBROUTINE SBCOMP ( SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, - & SBHAL1 ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/nucgeo.inc" -* - SAVE R0HLA , R0HLB , R0SKA , R0SKB , R0CEA , R0CEB , - & R1CEA , R1CEB , R1SKA , R1SKB , R1HLA , R1HLB , - & SQRH0A, SQRH0B, SQRS0A, SQRS0B, SQRC0A, SQRC0B, - & SQRC1A, SQRC1B, SQRS1A, SQRS1B, SQRH1A, SQRH1B, - & BIMPSQ -#include "geant321/nucstf.inc" -* - IF ( ABS (R0TRAJ) .LT. BIMPCT .OR. ABS (R1TRAJ) .LT. BIMPCT ) - & STOP 'BIMPCT' - BIMPSQ = BIMPCT * BIMPCT - IF ( R0TRAJ .GE. 0.D+00 ) THEN - SBHAL0 = 0.D+00 - SBSKI0 = 0.D+00 - SBCEN0 = 0.D+00 - ELSE - IF ( BIMPCT .GE. RADIU1 ) THEN - SBSKI0 = 0.D+00 - SBCEN0 = 0.D+00 - SBCEN1 = 0.D+00 - SBSKI1 = 0.D+00 - R0HLA = ABS (R0TRAJ) - R0HLB = MAX ( BIMPCT, - R1TRAJ ) - SQRH0A = SQRT ( ( R0HLA - BIMPCT ) * ( R0HLA + BIMPCT ) ) - SQRH0B = SQRT ( ( R0HLB - BIMPCT ) * ( R0HLB + BIMPCT ) ) - SBHAL0 = RHOSKN * ( ( 1.D+00 + RADIU1 / HALODP ) * ( SQRH0A - & - SQRH0B ) - 0.5D+00 * ( R0HLA / HALODP * SQRH0A - & - R0HLB / HALODP * SQRH0B + BIMPSQ / HALODP - & * LOG ( ( R0HLA + SQRH0A ) / ( R0HLB + SQRH0B ) ) ) ) - ELSE IF ( R0TRAJ .GE. -RADIU0 ) THEN - SBHAL0 = 0.D+00 - SBSKI0 = 0.D+00 - R0CEA = - R0TRAJ - R0CEB = MAX ( BIMPCT, - R1TRAJ ) - SQRC0A = SQRT ( ( R0CEA - BIMPCT ) * ( R0CEA + BIMPCT ) ) - SQRC0B = SQRT ( ( R0CEB - BIMPCT ) * ( R0CEB + BIMPCT ) ) - SBCEN0 = RHOCEN * ( SQRC0A - SQRC0B ) - ELSE IF ( R0TRAJ .GE. -RADIU1 ) THEN - SBHAL0 = 0.D+00 - RHELP = MAX ( BIMPCT, - R1TRAJ ) - R0SKA = ABS (R0TRAJ) - R0SKB = MAX ( RHELP, RADIU0 ) - SQRS0A = SQRT ( ( R0SKA - BIMPCT ) * ( R0SKA + BIMPCT ) ) - SQRS0B = SQRT ( ( R0SKB - BIMPCT ) * ( R0SKB + BIMPCT ) ) - SBSKI0 = RHOCEN * ( ( 1.D+00 + RADIU0 / SKNEFF ) * ( SQRS0A - & - SQRS0B ) - 0.5D+00 * ( R0SKA / SKNEFF * SQRS0A - & - R0SKB / SKNEFF * SQRS0B + BIMPSQ / SKNEFF - & * LOG ( ( R0SKA + SQRS0A ) / ( R0SKB + SQRS0B ) ) ) ) - IF ( RHELP .LT. RADIU0 ) THEN - R0CEA = RADIU0 - R0CEB = RHELP - SQRC0A = SQRT ( ( R0CEA - BIMPCT ) * ( R0CEA + BIMPCT ) ) - SQRC0B = SQRT ( ( R0CEB - BIMPCT ) * ( R0CEB + BIMPCT ) ) - SBCEN0 = RHOCEN * ( SQRC0A - SQRC0B ) - ELSE - SBCEN0 = 0.D+00 - END IF - ELSE - RHELP = MAX ( BIMPCT, - R1TRAJ ) - R0HLA = ABS (R0TRAJ) - R0HLB = MAX ( RHELP, RADIU1 ) - SQRH0A = SQRT ( ( R0HLA - BIMPCT ) * ( R0HLA + BIMPCT ) ) - SQRH0B = SQRT ( ( R0HLB - BIMPCT ) * ( R0HLB + BIMPCT ) ) - SBHAL0 = RHOSKN * ( ( 1.D+00 + RADIU1 / HALODP ) * ( SQRH0A - & - SQRH0B ) - 0.5D+00 * ( R0HLA / HALODP * SQRH0A - & - R0HLB / HALODP * SQRH0B + BIMPSQ / HALODP - & * LOG ( ( R0HLA + SQRH0A ) / ( R0HLB + SQRH0B ) ) ) ) - IF ( RHELP .LT. RADIU1 ) THEN - R0SKA = RADIU1 - R0SKB = MAX ( RHELP, RADIU0 ) - SQRS0A = SQRT ( ( R0SKA - BIMPCT ) * ( R0SKA + BIMPCT ) ) - SQRS0B = SQRT ( ( R0SKB - BIMPCT ) * ( R0SKB + BIMPCT ) ) - SBSKI0 = RHOCEN * ( ( 1.D+00 + RADIU0 / SKNEFF ) - & * ( SQRS0A - SQRS0B ) - 0.5D+00 * ( R0SKA / SKNEFF - & * SQRS0A - R0SKB / SKNEFF * SQRS0B + BIMPSQ - & / SKNEFF * LOG ( ( R0SKA + SQRS0A ) / ( R0SKB - & + SQRS0B ) ) ) ) - IF ( RHELP .LT. RADIU0 ) THEN - R0CEA = RADIU0 - R0CEB = MAX ( BIMPCT, - R1TRAJ ) - SQRC0A = SQRS0B - SQRC0B = SQRT ( ( R0CEB - BIMPCT )*( R0CEB + BIMPCT )) - SBCEN0 = RHOCEN * ( SQRC0A - SQRC0B ) - ELSE - SBCEN0 = 0.D+00 - END IF - ELSE - SBSKI0 = 0.D+00 - SBCEN0 = 0.D+00 - END IF - END IF - END IF - IF ( R1TRAJ .EQ. - R0TRAJ ) THEN - R1HLA = R0HLB - R1HLB = R0HLA - SQRH1A = SQRH0B - SQRH1B = SQRH0A - R1SKA = R0SKB - R1SKB = R0SKA - SQRS1A = SQRS0B - SQRS1B = SQRS0A - R1CEA = R0CEB - R1CEB = R0CEA - SQRC1A = SQRC0B - SQRC1B = SQRC0A - SBCEN1 = SBCEN0 - SBSKI1 = SBSKI0 - SBHAL1 = SBHAL0 - ELSE IF ( R1TRAJ .LE. 0.D+00 ) THEN - SBCEN1 = 0.D+00 - SBSKI1 = 0.D+00 - SBHAL1 = 0.D+00 - ELSE - IF ( BIMPCT .GE. RADIU1 ) THEN - SBSKI1 = 0.D+00 - SBCEN1 = 0.D+00 - R1HLB = R1TRAJ - R1HLA = MAX ( BIMPCT, R0TRAJ ) - SQRH1A = SQRT ( ( R1HLA - BIMPCT ) * ( R1HLA + BIMPCT ) ) - SQRH1B = SQRT ( ( R1HLB - BIMPCT ) * ( R1HLB + BIMPCT ) ) - SBHAL1 = RHOSKN * ( ( 1.D+00 + RADIU1 / HALODP ) * ( SQRH1B - & - SQRH1A ) - 0.5D+00 * ( R1HLB / HALODP * SQRH1B - & - R1HLA / HALODP * SQRH1A + BIMPSQ / HALODP - & * LOG ( ( R1HLB + SQRH1B ) / ( R1HLA + SQRH1A ) ) ) ) - ELSE IF ( R1TRAJ .LE. RADIU0 ) THEN - SBHAL1 = 0.D+00 - SBSKI1 = 0.D+00 - R1CEB = R1TRAJ - R1CEA = MAX ( BIMPCT, R0TRAJ ) - SQRC1A = SQRT ( ( R1CEA - BIMPCT ) * ( R1CEA + BIMPCT ) ) - SQRC1B = SQRT ( ( R1CEB - BIMPCT ) * ( R1CEB + BIMPCT ) ) - SBCEN1 = RHOCEN * ( SQRC1B - SQRC1A ) - ELSE IF ( R1TRAJ .LE. RADIU1 ) THEN - SBHAL1 = 0.D+00 - RHELP = MAX ( BIMPCT, R0TRAJ ) - R1SKB = R1TRAJ - R1SKA = MAX ( RHELP, RADIU0 ) - SQRS1A = SQRT ( ( R1SKA - BIMPCT ) * ( R1SKA + BIMPCT ) ) - SQRS1B = SQRT ( ( R1SKB - BIMPCT ) * ( R1SKB + BIMPCT ) ) - SBSKI1 = RHOCEN * ( ( 1.D+00 + RADIU0 / SKNEFF ) * ( SQRS1B - & - SQRS1A ) - 0.5D+00 * ( R1SKB / SKNEFF * SQRS1B - & - R1SKA / SKNEFF * SQRS1A + BIMPSQ / SKNEFF - & * LOG ( ( R1SKB + SQRS1B ) / ( R1SKA + SQRS1A ) ) ) ) - IF ( RHELP .LT. RADIU0 ) THEN - R1CEB = RADIU0 - R1CEA = RHELP - SQRC1A = SQRT ( ( R1CEA - BIMPCT ) * ( R1CEA + BIMPCT ) ) - SQRC1B = SQRT ( ( R1CEB - BIMPCT ) * ( R1CEB + BIMPCT ) ) - SBCEN1 = RHOCEN * ( SQRC1B - SQRC1A ) - ELSE - SBCEN1 = 0.D+00 - END IF - ELSE - RHELP = MAX ( BIMPCT, R0TRAJ ) - R1HLB = R1TRAJ - R1HLA = MAX ( RHELP, RADIU1 ) - SQRH1A = SQRT ( ( R1HLA - BIMPCT ) * ( R1HLA + BIMPCT ) ) - SQRH1B = SQRT ( ( R1HLB - BIMPCT ) * ( R1HLB + BIMPCT ) ) - SBHAL1 = RHOSKN * ( ( 1.D+00 + RADIU1 / HALODP ) * ( SQRH1B - & - SQRH1A ) - 0.5D+00 * ( R1HLB / HALODP * SQRH1B - & - R1HLA / HALODP * SQRH1A + BIMPSQ / HALODP - & * LOG ( ( R1HLB + SQRH1B ) / ( R1HLA + SQRH1A ) ) ) ) - IF ( RHELP .LT. RADIU1 ) THEN - R1SKB = RADIU1 - R1SKA = MAX ( RHELP, RADIU0 ) - SQRS1A = SQRT ( ( R1SKA - BIMPCT ) * ( R1SKA + BIMPCT ) ) - SQRS1B = SQRT ( ( R1SKB - BIMPCT ) * ( R1SKB + BIMPCT ) ) - SBSKI1 = RHOCEN * ( ( 1.D+00 + RADIU0 / SKNEFF ) - & * ( SQRS1B - SQRS1A ) - 0.5D+00 * ( R1SKB / SKNEFF - & * SQRS1B - R1SKA / SKNEFF * SQRS1A + BIMPSQ - & / SKNEFF * LOG ( ( R1SKB + SQRS1B ) / ( R1SKA - & + SQRS1A ) ) ) ) - IF ( RHELP .LT. RADIU0 ) THEN - R1CEB = RADIU0 - R1CEA = RHELP - SQRC1B = SQRS1A - SQRC1A = SQRT ( ( R1CEA - BIMPCT )*( R1CEA + BIMPCT )) - SBCEN1 = RHOCEN * ( SQRC1B - SQRC1A ) - ELSE - SBCEN1 = 0.D+00 - END IF - ELSE - SBCEN1 = 0.D+00 - SBSKI1 = 0.D+00 - END IF - END IF - END IF - RETURN -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* - ENTRY RSCOMP ( SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, SBHAL1 ) - SBTTOT = SBHAL0 + SBSKI0 + SBCEN0 + SBCEN1 + SBSKI1 + SBHAL1 - IF ( SBUSED .GT. SBTTOT ) STOP 'RSCOMP' - IF ( SBUSED .LT. SBHAL0 ) THEN - SBUSEF = SBUSED - RDLESS = R0HLA - RDMORE = R0HLB - SBLESS = 0.D+00 - SBMORE = SBHAL0 - DO 1000 IBIS = 1,4 - RIMPCT = 0.5D+00 * ( RDMORE + RDLESS ) - SQRIMP = SQRT ( ( RIMPCT - BIMPCT ) * ( RIMPCT + BIMPCT ) ) - SBRIMP = RHOSKN * ( ( 1.D+00 + RADIU1 / HALODP ) * ( SQRH0A - & - SQRIMP ) - 0.5D+00 * ( R0HLA / HALODP * SQRH0A - & - RIMPCT / HALODP * SQRIMP + BIMPSQ / HALODP - & * LOG ( ( R0HLA + SQRH0A ) / ( RIMPCT + SQRIMP ) ) )) - IF ( SBRIMP .GE. SBUSEF ) THEN - SBMORE = SBRIMP - RDMORE = RIMPCT - ELSE - SBLESS = SBRIMP - RDLESS = RIMPCT - END IF - 1000 CONTINUE - RIMPCT = RDLESS + ( SBUSEF - SBLESS ) / ( SBMORE - SBLESS ) - & * ( RDMORE - RDLESS ) - RIMPCT = - RIMPCT - SQRIMP = SQRT ( ( RIMPCT - BIMPCT ) * ( RIMPCT + BIMPCT ) ) - ELSE IF ( SBUSED .LT. SBHAL0 + SBSKI0 ) THEN - SBUSEF = SBUSED - SBHAL0 - RDLESS = R0SKA - RDMORE = R0SKB - SBLESS = 0.D+00 - SBMORE = SBSKI0 - DO 2000 IBIS = 1,4 - RIMPCT = 0.5D+00 * ( RDMORE + RDLESS ) - SQRIMP = SQRT ( ( RIMPCT - BIMPCT ) * ( RIMPCT + BIMPCT ) ) - SBRIMP = RHOCEN * ( ( 1.D+00 + RADIU0 / SKNEFF ) * ( SQRS0A - & - SQRIMP ) - 0.5D+00 * ( R0SKA / SKNEFF * SQRS0A - & - RIMPCT / SKNEFF * SQRIMP + BIMPSQ / SKNEFF - & * LOG ( ( R0SKA + SQRS0A ) / ( RIMPCT + SQRIMP ) ) )) - IF ( SBRIMP .GE. SBUSEF ) THEN - SBMORE = SBRIMP - RDMORE = RIMPCT - ELSE - SBLESS = SBRIMP - RDLESS = RIMPCT - END IF - 2000 CONTINUE - RIMPCT = RDLESS + ( SBUSEF - SBLESS ) / ( SBMORE - SBLESS ) - & * ( RDMORE - RDLESS ) - RIMPCT = - RIMPCT - SQRIMP = SQRT ( ( RIMPCT - BIMPCT ) * ( RIMPCT + BIMPCT ) ) - ELSE IF ( SBUSED .LT. SBHAL0 + SBSKI0 + SBCEN0 ) THEN - SBUSEF = SBUSED - SBHAL0 - SBSKI0 - SQRIMP = SQRC0A - SBUSEF / RHOCEN - RIMPCT = SQRT ( SQRIMP**2 + BIMPSQ ) - RIMPCT = - RIMPCT - ELSE IF ( SBUSED .LT. SBTTOT - SBSKI1 - SBHAL1 ) THEN - SBUSEF = SBUSED - SBHAL0 - SBSKI0 - SBCEN0 - SQRIMP = SBUSEF / RHOCEN + SQRC1A - RIMPCT = SQRT ( SQRIMP**2 + BIMPSQ ) - ELSE IF ( SBUSED .LT. SBTTOT - SBHAL1 ) THEN - SBUSEF = SBUSED - SBHAL0 - SBSKI0 - SBCEN0 - SBCEN1 - RDLESS = R1SKA - RDMORE = R1SKB - SBLESS = 0.D+00 - SBMORE = SBSKI1 - DO 3000 IBIS = 1,4 - RIMPCT = 0.5D+00 * ( RDMORE + RDLESS ) - SQRIMP = SQRT ( ( RIMPCT - BIMPCT ) * ( RIMPCT + BIMPCT ) ) - SBRIMP = RHOCEN * ( ( 1.D+00 + RADIU0 / SKNEFF ) * ( SQRIMP - & - SQRS1A ) - 0.5D+00 * ( RIMPCT / SKNEFF * SQRIMP - & - R1SKA / SKNEFF * SQRS1A + BIMPSQ / SKNEFF - & * LOG ( ( RIMPCT + SQRIMP ) / ( R1SKA + SQRS1A ) ) )) - IF ( SBRIMP .GE. SBUSEF ) THEN - SBMORE = SBRIMP - RDMORE = RIMPCT - ELSE - SBLESS = SBRIMP - RDLESS = RIMPCT - END IF - 3000 CONTINUE - RIMPCT = RDLESS + ( SBUSEF - SBLESS ) / ( SBMORE - SBLESS ) - & * ( RDMORE - RDLESS ) - SQRIMP = SQRT ( ( RIMPCT - BIMPCT ) * ( RIMPCT + BIMPCT ) ) - ELSE - SBUSEF = SBUSED - SBHAL0 - SBSKI0 - SBCEN0 - SBCEN1 - SBSKI1 - RDLESS = R1HLA - RDMORE = R1HLB - SBLESS = 0.D+00 - SBMORE = SBHAL1 - DO 4000 IBIS = 1,4 - RIMPCT = 0.5D+00 * ( RDMORE + RDLESS ) - SQRIMP = SQRT ( ( RIMPCT - BIMPCT ) * ( RIMPCT + BIMPCT ) ) - SBRIMP = RHOSKN * ( ( 1.D+00 + RADIU1 / HALODP ) * ( SQRIMP - & - SQRH1A ) - 0.5D+00 * ( RIMPCT / HALODP * SQRIMP - & - R1HLA / HALODP * SQRH1A + BIMPSQ / HALODP - & * LOG ( ( RIMPCT + SQRIMP ) / ( R1HLA + SQRH1A ) ) )) - IF ( SBRIMP .GE. SBUSEF ) THEN - SBMORE = SBRIMP - RDMORE = RIMPCT - ELSE - SBLESS = SBRIMP - RDLESS = RIMPCT - END IF - 4000 CONTINUE - RIMPCT = RDLESS + ( SBUSEF - SBLESS ) / ( SBMORE - SBLESS ) - & * ( RDMORE - RDLESS ) - SQRIMP = SQRT ( ( RIMPCT - BIMPCT ) * ( RIMPCT + BIMPCT ) ) - END IF - IF ( RIMPCT .GT. 0.D+00 ) THEN - XIMPCT = XBIMPC + CXIMPC * SQRIMP - YIMPCT = YBIMPC + CYIMPC * SQRIMP - ZIMPCT = ZBIMPC + CZIMPC * SQRIMP - ELSE - XIMPCT = XBIMPC - CXIMPC * SQRIMP - YIMPCT = YBIMPC - CYIMPC * SQRIMP - ZIMPCT = ZBIMPC - CZIMPC * SQRIMP - END IF - IF ( BIMPCT .GT. ANGLGB ) THEN - TRUFAC = BIMPTR / BIMPCT - XIMPTR = XIMPCT * TRUFAC - YIMPTR = YIMPCT * TRUFAC - ZIMPTR = ZIMPCT * TRUFAC - RIMPTR = RIMPCT * TRUFAC - ELSE - XIMPTR = XIMPCT - YIMPTR = YIMPCT - ZIMPTR = ZIMPCT - RIMPTR = RIMPCT - END IF - RETURN -*=== End of subroutine Sbcomp =========================================* - END diff --git a/StarVMC/geant3/peanut/sigfer.F b/StarVMC/geant3/peanut/sigfer.F deleted file mode 100644 index 954a788feff..00000000000 --- a/StarVMC/geant3/peanut/sigfer.F +++ /dev/null @@ -1,214 +0,0 @@ -* -* $Id: sigfer.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: sigfer.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:09 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE SIGFER.FOR -*COPY SIGFER -* -*=== sigfer ===========================================================* -* - SUBROUTINE SIGFER ( KP, EKIN, POO, LFERMI ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/paprop.inc" - LOGICAL LFERMI -* - IF ( LFERMI ) THEN - EKEWLL = EKIN + VPRBIM - EEMAX = EKEWLL + EKFBIM + AMNUCL (ITNCMX) + AM (KP) - PPRWLL = SQRT ( EKEWLL * ( EKEWLL + 2.D+00 * AM (KP) ) ) - IF ( PFRBIM .LT. PPRWLL ) THEN - PPMAX = PPRWLL + PFRBIM - PPMIN = PPRWLL - PFRBIM - UMO2 = ( EEMAX + PPMAX ) * ( EEMAX - PPMAX ) - EKEMIN = 0.5D+00 * ( UMO2 - AM (KP)**2 - AMNUSQ (ITNCMX) ) - & / AMNUCL (ITNCMX) - AM (KP) - EKEMIN = MIN ( EKIN, EKEMIN ) - TMPEKI = 0.1666D+00 * EKIN - EKEMIN = MAX ( EKEMIN, TMPEKI ) - ELSE - EKEMIN = MAX ( 0.005D+00, 0.1666D+00 * EKIN ) - PPMIN = 0.D+00 - END IF - PPRMIN = SQRT ( EKEMIN * ( EKEMIN + 2.D+00 * AM (KP) ) ) - UMO2 = ( EEMAX + PPMIN ) * ( EEMAX - PPMIN ) - EKEMAX = 0.5D+00 * ( UMO2 - AM (KP)**2 - AMNUSQ (ITNCMX) ) - & / AMNUCL (ITNCMX) - AM (KP) - PPRMAX = SQRT ( EKEMAX * ( EKEMAX + 2.D+00 * AM (KP) ) ) - ELSE - EKEMIN = EKIN - PPRMIN = POO - EKEMAX = EKIN - PPRMAX = POO - END IF -* - 50 CONTINUE - GO TO ( 100, 200, 300, 400, 500, 600, 700, 800, 900, - & 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, - & 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, - & 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, - & 3700, 3800, 3900 ), KP - STOP 'GEO-KP' - 100 CONTINUE - IF ( EKEMIN .LE. 0.700D+00 ) THEN - BETAPR = PPRMIN / ( EKEMIN + AM (KP) ) - IF ( EKEMIN .LE. 0.04D+00 ) THEN - SIGMAN = 3.D+03 * PI / ( 1.206D+03 * EKEMIN + ( -1.86D+00 - & + 0.09415D+03 * EKEMIN + 0.0001306D+06 * EKEMIN**2 - & )**2 ) + 1.D+03 * PI / ( 1.206D+03 * EKEMIN - & + ( 0.4223D+00 + 0.13D+03 * EKEMIN )**2 ) - IF ( EKEMIN .LT. 0.02D+00 ) THEN - SIGMAP = 0.3333333333333333D+00 * SIGMAN - ELSE - SIGMAP = 10.63D+00 / BETAPR**2 - 29.92D+00 / BETAPR - & + 42.9D+00 - END IF - ELSE - SIGMAN = 34.10D+00 / BETAPR**2 - 82.2D+00 / BETAPR - & + 82.2D+00 - SIGMAP = 10.63D+00 / BETAPR**2 - 29.92D+00 / BETAPR - & + 42.9D+00 - END IF - ELSE - STOP 'Sigfer: EKE' - END IF - GO TO 4000 - 200 CONTINUE - GO TO 4000 - 300 CONTINUE - GO TO 4000 - 400 CONTINUE - GO TO 4000 - 500 CONTINUE - GO TO 4000 - 600 CONTINUE - GO TO 4000 - 700 CONTINUE - SIGMAN = 0.D+00 - SIGMAP = 0.D+00 - GO TO 4000 - 800 CONTINUE - IF ( EKEMIN .LE. 0.700D+00 ) THEN - BETAPR = PPRMIN / ( EKEMIN + AM (KP) ) - IF ( EKEMIN .LE. 0.04D+00 ) THEN - SIGMAP = 3.D+03 * PI / ( 1.206D+03 * EKEMIN + ( -1.86D+00 - & + 0.09415D+03 * EKEMIN + 0.0001306D+06 * EKEMIN**2 - & )**2 ) + 1.D+03 * PI / ( 1.206D+03 * EKEMIN - & + ( 0.4223D+00 + 0.13D+03 * EKEMIN )**2 ) - IF ( EKEMIN .LT. 0.02D+00 ) THEN - SIGMAN = 0.3333333333333333D+00 * SIGMAP - ELSE - SIGMAN = 10.63D+00 / BETAPR**2 - 29.92D+00 / BETAPR - & + 42.9D+00 - END IF - ELSE - SIGMAP = 34.10D+00 / BETAPR**2 - 82.2D+00 / BETAPR - & + 82.2D+00 - SIGMAN = 10.63D+00 / BETAPR**2 - 29.92D+00 / BETAPR - & + 42.9D+00 - END IF - ELSE - STOP 'Sigfer: EKE' - END IF - GO TO 4000 - 900 CONTINUE - GO TO 4000 - 1000 CONTINUE - GO TO 4000 - 1100 CONTINUE - GO TO 4000 - 1200 CONTINUE - GO TO 4000 - 1300 CONTINUE - GO TO 4000 - 1400 CONTINUE - GO TO 4000 - 1500 CONTINUE - GO TO 4000 - 1600 CONTINUE - GO TO 4000 - 1700 CONTINUE - GO TO 4000 - 1800 CONTINUE - GO TO 4000 - 1900 CONTINUE - GO TO 4000 - 2000 CONTINUE - GO TO 4000 - 2100 CONTINUE - GO TO 4000 - 2200 CONTINUE - GO TO 4000 - 2300 CONTINUE - GO TO 4000 - 2400 CONTINUE - GO TO 4000 - 2500 CONTINUE - GO TO 4000 - 2600 CONTINUE - GO TO 4000 - 2700 CONTINUE - GO TO 4000 - 2800 CONTINUE - GO TO 4000 - 2900 CONTINUE - GO TO 4000 - 3000 CONTINUE - GO TO 4000 - 3100 CONTINUE - GO TO 4000 - 3200 CONTINUE - GO TO 4000 - 3300 CONTINUE - GO TO 4000 - 3400 CONTINUE - GO TO 4000 - 3500 CONTINUE - GO TO 4000 - 3600 CONTINUE - GO TO 4000 - 3700 CONTINUE - GO TO 4000 - 3800 CONTINUE - GO TO 4000 - 3900 CONTINUE - GO TO 4000 - 4000 CONTINUE - SIGMAP = 0.1D+00 * SIGMAP - SIGMAN = 0.1D+00 * SIGMAN - RETURN -*=== End of subroutine sigfer =========================================* - END diff --git a/StarVMC/geant3/peanut/umofin.F b/StarVMC/geant3/peanut/umofin.F deleted file mode 100644 index aa43e90ce3e..00000000000 --- a/StarVMC/geant3/peanut/umofin.F +++ /dev/null @@ -1,145 +0,0 @@ -* -* $Id: umofin.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: umofin.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE UMOFIN.FOR -*COPY UMOFIN -* -*=== umofin ===========================================================* -* - SUBROUTINE UMOFIN ( IKPMX, BBRES, ZZRES, LTRPPD ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/balanc.inc" -#include "geant321/nucdat.inc" -#include "geant321/nucgeo.inc" -#include "geant321/parevt.inc" -#include "geant321/parnuc.inc" -#include "geant321/part.inc" -#include "geant321/resnuc.inc" -* - LOGICAL LTRPPD -* - PXRES = PXTTOT - PXNUCR - PXINTR - PXNUCL (IKPMX) - PYRES = PYTTOT - PYNUCR - PYINTR - PYNUCL (IKPMX) - PZRES = PZTTOT - PZNUCR - PZINTR - PZNUCL (IKPMX) - ERES = ETTOT - EINTR - ENUCR - ENNUC (IKPMX) - PTRES2 = PXRES**2 + PYRES**2 + PZRES**2 - UMO2 = ERES**2 - PTRES2 - DELTU2 = ( AMNRES + EEXMIN )**2 - UMO2 - IF ( DELTU2 .LT. 0.D+00 ) RETURN -* - PNUCC0 = PNUCCO - ENNUC0 = ENNUC (IKPMX) -* - PXRES = PXTTOT - PXNUCR - PXINTR - PYRES = PYTTOT - PYNUCR - PYINTR - PZRES = PZTTOT - PZNUCR - PZINTR - ERES = ETTOT - EINTR - ENUCR - PTRES2 = PXRES**2 + PYRES**2 + PZRES**2 - UMO2 = ERES**2 - PTRES2 - AMSQ = AM (KPRIN)**2 - ENEMIN = 0.5D+00 * ( UMO2 - ( AMNRES + EEXMIN )**2 - AMSQ ) - & / ( AMNRES + EEXMIN ) - ENEDLT = 0.5D+00 * ( UMO2 - ( AMNRES + EEXDEL )**2 - AMSQ ) - & / ( AMNRES + EEXDEL ) - ENEANY = 0.5D+00 * ( UMO2 - ( AMNRES + EEXANY )**2 - AMSQ ) - & / ( AMNRES + EEXANY ) - IF ( ENEANY .LE. AM (KPRIN) ) THEN - IBRES = IBRES + IBAR (KPRIN) - ICRES = ICRES + ICH (KPRIN) - BBRES = IBRES - ZZRES = ICRES - AMMRES = BBRES * AMUAMU + 0.001D+00 - & * FKENER ( BBRES, ZZRES ) - AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) - LTRPPD = .TRUE. - EEXMIN = 0.D+00 - RETURN - END IF - IF ( ENNUC (IKPMX) .GT. 0.5D+00 * ( ENEANY + ENEDLT ) ) THEN - ENNUC (IKPMX) = ENEANY - PNUCL (IKPMX) = SQRT ( ( ENNUC (IKPMX) - AM (KPRIN) ) - & * ( ENNUC (IKPMX) + AM (KPRIN) ) ) - PHELP = PNUCL (IKPMX) / PNUCC0 - PXNUCL (IKPMX) = PXNUCL (IKPMX) * PHELP - PYNUCL (IKPMX) = PYNUCL (IKPMX) * PHELP - PZNUCL (IKPMX) = PZNUCL (IKPMX) * PHELP - ELSE IF ( ENNUC (IKPMX) .GT. 0.5D+00 * ( ENEDLT + ENEMIN ) ) THEN - ENNUC (IKPMX) = ENEDLT - PNUCL (IKPMX) = SQRT ( ( ENNUC (IKPMX) - AM (KPRIN) ) - & * ( ENNUC (IKPMX) + AM (KPRIN) ) ) - PHELP = PNUCL (IKPMX) / PNUCC0 - PXNUCL (IKPMX) = PXNUCL (IKPMX) * PHELP - PYNUCL (IKPMX) = PYNUCL (IKPMX) * PHELP - PZNUCL (IKPMX) = PZNUCL (IKPMX) * PHELP - ELSE IF ( ENNUC (IKPMX) .GE. ENEMIN ) THEN - ENNUC (IKPMX) = ENEMIN - PNUCL (IKPMX) = SQRT ( ( ENNUC (IKPMX) - AM (KPRIN) ) - & * ( ENNUC (IKPMX) + AM (KPRIN) ) ) - PHELP = PNUCL (IKPMX) / PNUCC0 - PXNUCL (IKPMX) = PXNUCL (IKPMX) * PHELP - PYNUCL (IKPMX) = PYNUCL (IKPMX) * PHELP - PZNUCL (IKPMX) = PZNUCL (IKPMX) * PHELP - ELSE - END IF - UMO = SQRT (UMO2) - AMNHLP = SQRT ( UMO2 + PNUCL (IKPMX)**2 ) - ENNUC (IKPMX) - GAMLAB = ERES / UMO - ETXLAB = PXRES / UMO - ETYLAB = PYRES / UMO - ETZLAB = PZRES / UMO - GAMRES = ( AMNHLP + ENNUC (IKPMX) ) / UMO - ETXRES = PXNUCL (IKPMX) / UMO - ETYRES = PYNUCL (IKPMX) / UMO - ETZRES = PZNUCL (IKPMX) / UMO - ETAPCM = ETXRES * PXNUCL (IKPMX) + ETYRES * PYNUCL (IKPMX) - & + ETZRES * PZNUCL (IKPMX) - ECMSPR = GAMRES * ENNUC (IKPMX) - ETAPCM - PHELP = ENNUC (IKPMX) - ETAPCM / ( GAMRES + 1.D+00 ) - PCMSX = PXNUCL (IKPMX) - ETXRES * PHELP - PCMSY = PYNUCL (IKPMX) - ETYRES * PHELP - PCMSZ = PZNUCL (IKPMX) - ETZRES * PHELP - ETAPCM = ETXLAB * PCMSX + ETYLAB * PCMSY + ETZLAB * PCMSZ - ENNUC (IKPMX) = GAMLAB * ECMSPR + ETAPCM - PHELP = ECMSPR + ETAPCM / ( GAMLAB + 1.D+00 ) - PXNUCL (IKPMX) = PCMSX + ETXLAB * PHELP - PYNUCL (IKPMX) = PCMSY + ETYLAB * PHELP - PZNUCL (IKPMX) = PCMSZ + ETZLAB * PHELP - PNUCL (IKPMX) = SQRT ( ( ENNUC (IKPMX) - AM (KPRIN) ) - & * ( ENNUC (IKPMX) + AM (KPRIN) ) ) - - RETURN -*=== End of subroutine UMOFIN =========================================* - END diff --git a/StarVMC/geant3/peanut/xinneu.F b/StarVMC/geant3/peanut/xinneu.F deleted file mode 100644 index 9e1bc778fba..00000000000 --- a/StarVMC/geant3/peanut/xinneu.F +++ /dev/null @@ -1,77 +0,0 @@ -* -* $Id: xinneu.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: xinneu.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE XINNEU.FOR -*COPY XINNEU -* -*=== xinneu ===========================================================* -* - FUNCTION XINNEU ( E, ZTAR, BBETAA ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/isotop.inc" -#include "geant321/xsepar.inc" -* - IZ = NINT ( ZTAR ) - EEE = 0.015D+00 * ( 1.D+00 + 1.D-04 * ZTAR * ZTAR ) - TMPZZN = 2.D-01 * ZZNXSE (IZ) - EEE = MAX ( EEE, TMPZZN ) - IF ( E .GT. 0.1D+00 ) THEN - ATAR = 0.D+00 - DO 25 IS = ISONDX (1,IZ), ISONDX (2,IZ) - ATAR = ATAR + ISOMNM (IS) * ABUISO (IS) - 25 CONTINUE - EMEV = E * 1.D+03 - XINNEU = SITSAO ( EMEV, IZ, ATAR ) - ELSE IF ( E .LT. EEE ) THEN - X = 1.D+01 * EEE - XSENE1 = AANXSE (IZ) * ( X - ZZNXSE (IZ) ) / X * ( 1.D+00 - & + BBNXSE (IZ) * X / ( 1.D+00 + (CCNXSE(IZ)*X)**2 ) - & + DDNXSE (IZ) * X * X / ( 1.D+00 + (EENXSE(IZ)*X)**4 )) - BBCOFF = XSENE1 / ( 1.D+00 + BBETAA / EEE ) - AACOFF = BBCOFF * BBETAA - XINNEU = AACOFF / E + BBCOFF - ELSE IF ( E .GT. 0.012D+00 ) THEN - X = 1.D+01 * E - XINNEU = AANXSE (IZ) * ( X - ZZNXSE (IZ) ) / X * ( 1.D+00 - & + BBNXSE (IZ) * X / ( 1.D+00 + (CCNXSE(IZ)*X)**2 ) - & + DDNXSE (IZ) * X * X / ( 1.D+00 + (EENXSE(IZ)*X)**4 )) - ELSE - XINNEU = 0.D+00 - END IF - XINNEU = MAX ( XINNEU, ZERZER ) -*=== End of function xinneu ===========================================* - RETURN - END diff --git a/StarVMC/geant3/peanut/xinpro.F b/StarVMC/geant3/peanut/xinpro.F deleted file mode 100644 index 015c4366ced..00000000000 --- a/StarVMC/geant3/peanut/xinpro.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: xinpro.F,v 1.1.1.2 2009/02/01 17:10:35 fisyak Exp $ -* -* $Log: xinpro.F,v $ -* Revision 1.1.1.2 2009/02/01 17:10:35 fisyak -* Merge with .DEV2 -* -* Revision 1.1.1.1 2008/12/10 20:49:10 fisyak -* Merge with macos version -* -* Revision 1.1.1.1 2005/05/25 22:37:58 fisyak -* Alice version of geant3 (-minicern) -* -* Revision 1.1.1.1 2002/07/24 15:56:28 rdm -* initial import into CVS -* -* Revision 1.1.1.1 2002/06/16 15:18:43 hristov -* Separate distribution of Geant3 -* -* Revision 1.1.1.1 1999/05/18 15:55:22 fca -* AliRoot sources -* -* Revision 1.1.1.1 1995/10/24 10:22:04 cernlib -* Geant -* -* -#include "geant321/pilot.h" -*CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani -*-- Author : -*$ CREATE XINPRO.FOR -*COPY XINPRO -* -*=== xinpro ===========================================================* -* - FUNCTION XINPRO ( E, ZTAR, VCOUL ) - -#include "geant321/dblprc.inc" -#include "geant321/dimpar.inc" -#include "geant321/iounit.inc" -* -*----------------------------------------------------------------------* -*----------------------------------------------------------------------* -* -#include "geant321/isotop.inc" -#include "geant321/xsepar.inc" - COMMON / FKNEGX / XSENEG -* - IZ = NINT ( ZTAR ) - IF ( E .GT. 0.1D+00 ) THEN - ATAR = 0.D+00 - DO 25 IS = ISONDX (1,IZ), ISONDX (2,IZ) - ATAR = ATAR + ISOMNM (IS) * ABUISO (IS) - 25 CONTINUE - EMEV = E * 1.D+03 - XINPRO = SITSAO ( EMEV, IZ, ATAR ) - ELSE - ZZCOUL = 1.D+01 * VCOUL - X = 1.D+01 * E - X2 = X * X - XINPRO = AAPXSE (IZ) * ( X - ZZCOUL ) / X * ( 1.D+00 - & + BBPXSE (IZ) * X + CCPXSE (IZ) * X2 + DDPXSE (IZ) - & * X * X2 + EEPXSE (IZ) * X2 * X2 + FFPXSE (IZ) * X2 - & * X * X2 ) - IF ( XINPRO .LT. 0.D+00 ) THEN - XSENEG = XINPRO - XINPRO = 0.D+00 - END IF - END IF -*=== End of function XINPRO ===========================================* - RETURN - END From 476fdf9ae07e99b9f1863b91fbd969eb00161468 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 30 Oct 2024 14:29:22 -0400 Subject: [PATCH 59/70] TGeant3TGeo available under the TGeant3/ directory. --- StRoot/StGeant4Maker/StGeant4Maker.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StRoot/StGeant4Maker/StGeant4Maker.cxx b/StRoot/StGeant4Maker/StGeant4Maker.cxx index ebffe3db8bd..f84fb46e4f1 100644 --- a/StRoot/StGeant4Maker/StGeant4Maker.cxx +++ b/StRoot/StGeant4Maker/StGeant4Maker.cxx @@ -36,7 +36,7 @@ #include "TGeant4.h" #include "TG4RunManager.h" #include "TG4RunConfiguration.h" -#include "TGeant3TGeo.h" +#include "TGeant3/TGeant3TGeo.h" //________________________________________________________________________________________________ #include "tables/St_g2t_event_Table.h" #include "tables/St_g2t_vertex_Table.h" From deca9e8109a8d62319f82fd3ad9007fc2fa18920 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Fri, 1 Nov 2024 09:32:51 -0400 Subject: [PATCH 60/70] ... --- StRoot/StBichsel/StdEdxModel.cxx | 2 +- StarVMC/StVMCMaker/StVMCMaker.h | 2 +- StarVMC/StarBASE/StMCInitApp.cxx | 4 ++-- StarVMC/StarBASE/StVMCApplication.cxx | 2 +- StarVMC/StarBASE/StarBASE.cxx | 2 +- StarVMC/StarBASE/StarBASE.h | 2 +- StarVMC/StarVMCApplication/StarVMCApplication.cxx | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/StRoot/StBichsel/StdEdxModel.cxx b/StRoot/StBichsel/StdEdxModel.cxx index 9022923c133..3e46359be6a 100644 --- a/StRoot/StBichsel/StdEdxModel.cxx +++ b/StRoot/StBichsel/StdEdxModel.cxx @@ -10,7 +10,7 @@ #include "TMath.h" #include "StdEdxModel.h" #include "Bichsel.h" -#include "TCallf77.h" +#include "TGeant3/TCallf77.h" #include "St_spline3C.h" #ifndef WIN32 #define ggderiv ggderiv_ diff --git a/StarVMC/StVMCMaker/StVMCMaker.h b/StarVMC/StVMCMaker/StVMCMaker.h index 96cbab72936..01df67b05a0 100644 --- a/StarVMC/StVMCMaker/StVMCMaker.h +++ b/StarVMC/StVMCMaker/StVMCMaker.h @@ -19,7 +19,7 @@ #include "StMaker.h" #endif #include "StarVMCApplication.h" -#include "TGeant3TGeo.h" +#include "TGeant3/TGeant3TGeo.h" class StVMCMaker : public StMaker { public: diff --git a/StarVMC/StarBASE/StMCInitApp.cxx b/StarVMC/StarBASE/StMCInitApp.cxx index 6925d24e9ae..f01269526c5 100644 --- a/StarVMC/StarBASE/StMCInitApp.cxx +++ b/StarVMC/StarBASE/StMCInitApp.cxx @@ -15,7 +15,7 @@ #include "TSystem.h" #include "TGeoManager.h" #include "StVMCApplication.h" -#include "TGeant3TGeo.h" +#include "TGeant3/TGeant3TGeo.h" #include "StMCStack.h" #include "StMCConstructGeometry.h" #include "StMCSimplePrimaryGenerator.h" @@ -45,7 +45,7 @@ int StMCInitApp::Fun() StVMCApplication *app = (StVMCApplication*)TVirtualMCApplication::Instance(); new TGeant3TGeo("C++ Interface to Geant3"); - Info("Init","TGeant3TGeo has been created."); + Info("Init","TGeant3/TGeant3TGeo.has been created."); StMCConstructGeometry *geo = new StMCConstructGeometry(app->GetName()); app->SetConstructGeometry(geo); diff --git a/StarVMC/StarBASE/StVMCApplication.cxx b/StarVMC/StarBASE/StVMCApplication.cxx index 1ad03f2754d..4649040c8e3 100644 --- a/StarVMC/StarBASE/StVMCApplication.cxx +++ b/StarVMC/StarBASE/StVMCApplication.cxx @@ -8,7 +8,7 @@ #include "TGeoManager.h" #include "TROOT.h" #include "TPDGCode.h" -#include "TGeant3TGeo.h" +#include "TGeant3/TGeant3TGeo.h" #include "StMCStack.h" #include "StMCStepping.h" diff --git a/StarVMC/StarBASE/StarBASE.cxx b/StarVMC/StarBASE/StarBASE.cxx index 1e49e31f97c..c8699d008c3 100644 --- a/StarVMC/StarBASE/StarBASE.cxx +++ b/StarVMC/StarBASE/StarBASE.cxx @@ -13,7 +13,7 @@ #include "StMCStack.h" #include "StMessMgr.h" #include "TVirtualMC.h" -#include "TGeant3TGeo.h" +#include "TGeant3/TGeant3TGeo.h" #include "StMCInitApp.h" #include "StMCStepping.h" #include "StMCSimplePrimaryGenerator.h" diff --git a/StarVMC/StarBASE/StarBASE.h b/StarVMC/StarBASE/StarBASE.h index d66d3e0d5d9..6ab270535a2 100644 --- a/StarVMC/StarBASE/StarBASE.h +++ b/StarVMC/StarBASE/StarBASE.h @@ -17,7 +17,7 @@ #include "StMaker.h" #include "StVMCApplication.h" -#include "TGeant3TGeo.h" +#include "TGeant3/TGeant3TGeo.h" class StMCStepping; diff --git a/StarVMC/StarVMCApplication/StarVMCApplication.cxx b/StarVMC/StarVMCApplication/StarVMCApplication.cxx index 93058c807bc..b2810e02723 100644 --- a/StarVMC/StarVMCApplication/StarVMCApplication.cxx +++ b/StarVMC/StarVMCApplication/StarVMCApplication.cxx @@ -13,7 +13,7 @@ #include "TVirtualMC.h" #include "TPDGCode.h" #include "TApplication.h" -#include "TGeant3TGeo.h" +#include "TGeant3/TGeant3TGeo.h" ClassImp(StarVMCApplication); From 4ca7499426b91c59a4d311345c860d2a216e46c6 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Fri, 1 Nov 2024 09:47:53 -0400 Subject: [PATCH 61/70] Use R__LOAD_LIBRARY rather than initialization macro. Add valgrind options to the geant4star script. --- StRoot/StGeant4Maker/macros/geant4star | 12 ++++++--- StRoot/StGeant4Maker/macros/geant4star.C | 31 +++++++++++++++++++++--- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/StRoot/StGeant4Maker/macros/geant4star b/StRoot/StGeant4Maker/macros/geant4star index 1d173108ad7..db1499e2895 100755 --- a/StRoot/StGeant4Maker/macros/geant4star +++ b/StRoot/StGeant4Maker/macros/geant4star @@ -1,15 +1,21 @@ #!/bin/csh -f -setenv __G4STAR_MYSQL_DIR__ `mysql_config --variable=pkglibdir` +# valgrind --num-callers=30 --suppressions=$ROOTSYS/etc/valgrind-root.supp root.exe -l -b -q myscript.C +set ROOT=root.exe +#set ROOT="valgrind --num-callers=30 --suppressions=$ROOTSYS/etc/valgrind-root.supp root.exe" +#set ROOT="valgrind --leak-check=full --num-callers=30 --suppressions=$ROOTSYS/etc/valgrind-root.supp root.exe" +setenv __G4STAR_MYSQL_DIR__ `mysql_config --variable=pkglibdir` if ( -e ./StRoot/StGeant4Maker/macros/geant4star.C ) then setenv ROOT_INCLUDE_PATH ${STAR}:.:./StRoot:./StRoot/StStarLogger:./StRoot/StGeant4Maker:.:StRoot/StarGenerator/BASE:./StarVMC/StarAgmlLib/:./.sl73_x8664_gcc485/include/ - root.exe -l ./StRoot/StGeant4Maker/macros/initStar.C ./StRoot/StGeant4Maker/macros/geant4star.C $argv +# root.exe -l ./StRoot/StGeant4Maker/macros/initStar.C ./StRoot/StGeant4Maker/macros/geant4star.C $argv + ${ROOT} -l ./StRoot/StGeant4Maker/macros/geant4star.C $argv else setenv ROOT_INCLUDE_PATH ${STAR}:${STAR}/StRoot:${STAR}/StRoot/StStarLogger:${STAR}/StRoot/StGeant4Maker:${STAR}:StRoot/StarGenerator/BASE:${STAR}/StarVMC/StarAgmlLib/:${STAR}/.sl73_x8664_gcc485/include/ - root.exe -l $STAR/StRoot/StGeant4Maker/macros/initStar.C $STAR/StRoot/StGeant4Maker/macros/geant4star.C $argv +# root.exe -l $STAR/StRoot/StGeant4Maker/macros/initStar.C $STAR/StRoot/StGeant4Maker/macros/geant4star.C $argv + ${ROOT} -l $STAR/StRoot/StGeant4Maker/macros/geant4star.C $argv endif diff --git a/StRoot/StGeant4Maker/macros/geant4star.C b/StRoot/StGeant4Maker/macros/geant4star.C index ee31a382d9d..938a16e4809 100644 --- a/StRoot/StGeant4Maker/macros/geant4star.C +++ b/StRoot/StGeant4Maker/macros/geant4star.C @@ -1,11 +1,28 @@ -class StBFChain; +R__LOAD_LIBRARY(libGeom.so); +R__LOAD_LIBRARY(libVMCLibrary.so); +R__LOAD_LIBRARY(libgeant321.so); + +R__LOAD_LIBRARY(libTable.so); +R__LOAD_LIBRARY(StarRoot.so); +R__LOAD_LIBRARY(St_base.so); +R__LOAD_LIBRARY(StStarLogger.so); +R__LOAD_LIBRARY(StChain.so); +R__LOAD_LIBRARY(StBFChain.so); + +struct _dummyinit_ { + _dummyinit_(){ + gROOT->ProcessLine("StLoggerManager::StarLoggerInit();"); + }; +} __1; + +//class StBFChain; StBFChain* chain = 0; #if !defined(__CINT__) && !defined(__CLING__) #include #include -#include #endif +#include //extern "C" { // void Load( const char* lib ); @@ -72,8 +89,9 @@ void loadStar(TString mytag="dev2021", Bool_t agml = true ) gROOT->ProcessLine("chain->cd();"); gROOT->ProcessLine("chain->SetDebug(1);"); - TString chainOpts = "agml geant4 geant3vmc geant4vmc stargen geant4mk kinematics -emc_t -ftpcT mysql nodefault "; - ///TString chainOpts = "agml geant4 geant4vmc stargen kinematics -emc_t -ftpcT nodefault "; +//TString chainOpts = "agml geant4 geant3vmc geant4vmc stargen geant4mk kinematics -emc_t -ftpcT mysql nodefault "; + TString chainOpts = "agml geant4 geant4vmc stargen geant4mk kinematics -emc_t -ftpcT mysql nodefault "; + // pickup command line options ala "--" and add them as a chain option @@ -347,4 +365,9 @@ void geant4star(){ } std::cout << cmdline.Data() << std::endl; loadStar(); + + gROOT->ProcessLine(".I"); + gROOT->ProcessLine("gSystem->GetLibraries()"); + gROOT->ProcessLine("gSystem->GetLinkedLibs()"); + } From f462b525597e6aa9b6e89d1eb0a85753865b4e00 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Fri, 1 Nov 2024 10:41:15 -0400 Subject: [PATCH 62/70] This removes the internal CLHEP library distributed with G4, so we can use the external CLHEP library via spack. NOTE... this may not be correct / consistent for G4. We may need to revisit. --- StRoot/StBFChain/BigFullChain.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/StRoot/StBFChain/BigFullChain.h b/StRoot/StBFChain/BigFullChain.h index e9131da1442..f85e1dfb6fc 100644 --- a/StRoot/StBFChain/BigFullChain.h +++ b/StRoot/StBFChain/BigFullChain.h @@ -1320,7 +1320,8 @@ Bfc_st BFC[] = { // standard chains {"GEANT4 Libs ","-----------","-----------","------------------------------------------","","","",kFALSE}, {"------------","-----------","-----------","------------------------------------------","","","",kFALSE}, - {"g4interfaces","", "", "", "", "libG4clhep.so,libG4global.so,libG4intercoms.so,libG4interfaces.so,libG4modeling.so,libG4vis_management.so","Load G4 libs",false}, + // {"g4interfaces","", "", "", "", "libG4clhep.so,libG4global.so,libG4intercoms.so,libG4interfaces.so,libG4modeling.so,libG4vis_management.so","Load G4 libs",false}, + {"g4interfaces","", "", "", "", "libG4global.so,libG4intercoms.so,libG4interfaces.so,libG4modeling.so,libG4vis_management.so","Load G4 libs",false}, {"g4physics", "", "", "", "", "libG4materials.so,libG4graphics_reps.so,libG4geometry.so,libG4particles.so,libG4track.so,libG4zlib.so,libG4digits_hits.so,libG4processes.so,libG4tracking.so,libG4event.so,libG4run.so,libG4physicslists.so", "Load G4",false}, {"g4geant3", "", "", "", "", "libG3toG4.so", "Load g3 to g4 support", false }, {"geant4", "", "", "g4physics,g4interfaces","","","Load G4 libs", false}, From e630bf0af7eef019f292a44f33dd9087bc0d304a Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 6 Nov 2024 15:16:37 -0500 Subject: [PATCH 63/70] Use R__LOAD_LIBRARY ... --- StRoot/StGeant4Maker/macros/initStar.C | 46 -------------------------- 1 file changed, 46 deletions(-) delete mode 100644 StRoot/StGeant4Maker/macros/initStar.C diff --git a/StRoot/StGeant4Maker/macros/initStar.C b/StRoot/StGeant4Maker/macros/initStar.C deleted file mode 100644 index b8a30b44078..00000000000 --- a/StRoot/StGeant4Maker/macros/initStar.C +++ /dev/null @@ -1,46 +0,0 @@ -#if !defined(__CINT__) && !defined(__CLING__) -#include -#include -#include -#endif - -void Load( const char* lib ) { - std::cout << "Loading shared library " << lib << std::endl; - gSystem->Load( lib ); -} - -// -// Add include paths and preload the shared libraries which are required for the geant4star.C -// macro to instantiate StBFChain. -// -void initStar() { - - for (int sig = 0; sig < kMAXSIGNALS; sig++) gSystem->ResetSignal((ESignals)sig); - - // Add a few things to the include path - gSystem->AddIncludePath(" -I$STAR/StRoot -I$STAR/StarVMC "); - gSystem->AddIncludePath(" -IStRoot -Igeom -IStarVMC -IStarVMC/Geometry/macros -I.${STAR_HOST_SYS}/include "); - gEnv->SetValue("Logger.Colors","YES"); - - gSystem->SetAclicMode(TSystem::kDebug); - - // ADdress sanitizer - // Load("/usr/lib64/libasan.so.0"); - - // Preload a few libraries - Load("libGeom.so"); - - // Load("libPhysics.so"); - Load("libTable.so"); - - Load("StarRoot.so"); - Load("St_base.so"); - Load("StStarLogger.so"); - - gROOT->ProcessLine("StLoggerManager::StarLoggerInit();"); - - Load("StChain.so"); - Load("StBFChain.so"); - -}; - From b80757e2cea86add6f97208bb3beeff45d960c67 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 6 Nov 2024 15:18:43 -0500 Subject: [PATCH 64/70] Clingwrap header files. --- StRoot/StGeant4Maker/macros/DrawHits.C | 2 ++ StRoot/StGeant4Maker/macros/pythia6.C | 2 ++ StRoot/StGeant4Maker/macros/pythia8.C | 3 +++ StRoot/StGeant4Maker/macros/test_forward.C | 2 ++ StRoot/StGeant4Maker/macros/test_particle_decay.C | 2 ++ StRoot/StGeant4Maker/macros/test_pi0_decay.C | 2 ++ StRoot/StGeant4Maker/macros/test_stress_acceptance.C | 2 ++ 7 files changed, 15 insertions(+) diff --git a/StRoot/StGeant4Maker/macros/DrawHits.C b/StRoot/StGeant4Maker/macros/DrawHits.C index 49cbc407ce1..a0c369a4d9b 100644 --- a/StRoot/StGeant4Maker/macros/DrawHits.C +++ b/StRoot/StGeant4Maker/macros/DrawHits.C @@ -1,3 +1,4 @@ +#ifndef __CLING__ #include #include #include @@ -6,6 +7,7 @@ #include #include #include +#endif TH2F* hYX = 0; TH2F* vYX = 0; diff --git a/StRoot/StGeant4Maker/macros/pythia6.C b/StRoot/StGeant4Maker/macros/pythia6.C index 0dd2d499cdc..4aa0b90ac0f 100644 --- a/StRoot/StGeant4Maker/macros/pythia6.C +++ b/StRoot/StGeant4Maker/macros/pythia6.C @@ -1,3 +1,4 @@ +#ifndef __CLING__ #include "StChain/StMaker.h" #include "StarGenerator/BASE/StarPrimaryMaker.h" @@ -12,6 +13,7 @@ #include #include +#endif StarParticleData& particleData = StarParticleData::instance(); StarPrimaryMaker* primaryMk = 0; diff --git a/StRoot/StGeant4Maker/macros/pythia8.C b/StRoot/StGeant4Maker/macros/pythia8.C index a27e0d90f3c..07da0af8458 100644 --- a/StRoot/StGeant4Maker/macros/pythia8.C +++ b/StRoot/StGeant4Maker/macros/pythia8.C @@ -1,3 +1,5 @@ +#ifndef __CLING__ + #include "StChain/StMaker.h" #include "StarGenerator/BASE/StarPrimaryMaker.h" @@ -12,6 +14,7 @@ #include #include +#endif StarParticleData& particleData = StarParticleData::instance(); StarPrimaryMaker* primaryMk = 0; diff --git a/StRoot/StGeant4Maker/macros/test_forward.C b/StRoot/StGeant4Maker/macros/test_forward.C index 0d283b3cc92..131f01d3f77 100644 --- a/StRoot/StGeant4Maker/macros/test_forward.C +++ b/StRoot/StGeant4Maker/macros/test_forward.C @@ -1,8 +1,10 @@ +#ifndef __CLING__ #include #include #include #include #include +#endif void test_forward(int n=1,const char* particles="pi+,pi-") { diff --git a/StRoot/StGeant4Maker/macros/test_particle_decay.C b/StRoot/StGeant4Maker/macros/test_particle_decay.C index 2af5be00660..d1524b77b6f 100644 --- a/StRoot/StGeant4Maker/macros/test_particle_decay.C +++ b/StRoot/StGeant4Maker/macros/test_particle_decay.C @@ -1,8 +1,10 @@ +#ifndef __CLING__ #include #include #include #include #include +#endif void test_particle_decay(int n=1,const char* particles="pi0") { diff --git a/StRoot/StGeant4Maker/macros/test_pi0_decay.C b/StRoot/StGeant4Maker/macros/test_pi0_decay.C index d68582f298c..fb2b4668108 100644 --- a/StRoot/StGeant4Maker/macros/test_pi0_decay.C +++ b/StRoot/StGeant4Maker/macros/test_pi0_decay.C @@ -1,5 +1,7 @@ +#ifndef __CLING__ #include #include +#endif void test_pi0_decay() { diff --git a/StRoot/StGeant4Maker/macros/test_stress_acceptance.C b/StRoot/StGeant4Maker/macros/test_stress_acceptance.C index 84a06f97d5a..9c4d809ae60 100644 --- a/StRoot/StGeant4Maker/macros/test_stress_acceptance.C +++ b/StRoot/StGeant4Maker/macros/test_stress_acceptance.C @@ -1,8 +1,10 @@ +#ifndef __CLING__ #include #include #include #include #include +#endif void test_stress_acceptance(int nevents=10, int ntracks=10,const char* particles="pi+,pi-,K+,K-,mu+,mu-,e+,e-,proton,antiproton,pi0,gamma", const bool verbose=false ) { From b204aee5fb5d47eb379dec6b039df35db91d61c7 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 6 Nov 2024 15:19:07 -0500 Subject: [PATCH 65/70] Add (possibly nonfunctional) hijing macro. --- StRoot/StGeant4Maker/macros/hijing.C | 177 +++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 StRoot/StGeant4Maker/macros/hijing.C diff --git a/StRoot/StGeant4Maker/macros/hijing.C b/StRoot/StGeant4Maker/macros/hijing.C new file mode 100644 index 00000000000..ae82cc7840a --- /dev/null +++ b/StRoot/StGeant4Maker/macros/hijing.C @@ -0,0 +1,177 @@ +#ifndef __CLING__ +#include "StChain/StMaker.h" + +#include "StarGenerator/BASE/StarPrimaryMaker.h" +#include "StarGenerator/UTIL/StarParticleData.h" + +#include "StarGenerator/Hijing1_383/StarHijing.h" + +#include "StMessMgr.h" +#include "TList.h" +#include "TAttr.h" +#include "TString.h" +#include + +#include +#endif + +StarParticleData& particleData = StarParticleData::instance(); +StarPrimaryMaker* primaryMk = 0; +StarHijing* hijingmk = 0; + +int nevents = 0; + +extern "C" { + + // Interface to the pythia configuration command + void pygive_( const char* give, int ngive ); + +}; + +void PyGive( std::string give ) { + pygive_( give.c_str(), give.size() ); +} + +//___________________________________________________________________ +void init(); // initialize the chain +void eventloop(); +void drellyan(); +//___________________________________________________________________ +void hijing() +{ + + init(); + eventloop(); + +} +//___________________________________________________________________ +void init() { + + primaryMk = dynamic_cast( chain->GetMaker("PrimaryMaker") ); assert(primaryMk); + auto* geant4mk = dynamic_cast (chain->GetMaker("geant4star") ); assert(geant4mk); + + assert(&particleData); + + nevents = geant4mk->IAttr("nevents"); + LOG_INFO << "Number of events to process" << nevents << endm; + LOG_INFO << "Create and register hijing maker to primaryMk = " << primaryMk << endm; + + std::string blue = geant4mk->SAttr("blue"); if ( blue == "" ) blue="Au"; + std::string yell = geant4mk->SAttr("yell"); if ( yell == "" ) yell="Au"; + double Ecms = geant4mk->DAttr("Ecms"); if ( Ecms <= 0.0 ) Ecms = 200.0; + + LOG_INFO << "Blue beam " << blue.c_str() << endm; + LOG_INFO << "Yellow beam " << yell.c_str() << endm; + LOG_INFO << "Ecms = " << Ecms << " GeV " << endm; + + hijingmk = new StarHijing(); + hijingmk->SetFrame("CMS", Ecms ); + hijingmk->SetBlue( blue.c_str() ); + hijingmk->SetYell( yell.c_str() ); + hijingmk->SetImpact( 0.0, 30.0 ); + + int setcount = 0; + auto* setlist = dynamic_cast(geant4mk->GetAttr()); + setlist->Print(); + TIter Next(setlist); + TNamed* obj = 0; + // ROOT's interface is a bit annoying here. It has reveresed the order of the + // arguements stuffed into the TList. And I don't see an easy (read syntatically + // clear and concise) way to reverse iterate over a TList... so... + std::vector mylist; + std::vector closeDecays; + std::vector openDecays; + while (( obj = dynamic_cast(Next()) )) { + TString str = obj->GetName(); + TString tit = obj->GetTitle(); + if ( str.Contains("hijing:set:") ) { + str.ReplaceAll("hijing:set:",""); + TString cmd = str + "="; + if ( tit.IsDigit() ) { // integer digits + cmd += tit; + } + else if ( tit.IsFloat() ) { // floating point + // keep to five decimal places + cmd += Form( "%.5f", tit.Atof() ); + } + else { + cmd += tit; + } + mylist.push_back(cmd); + } + // if ( str.Contains("hijing:tune") ) { + // int tune = hijingmk->IAttr("hijing:tune"); + // hijingmk->PyTune(tune); // set tune + // } + // if ( str.Contains("hijing:drellyan:ee") ) { + // // initialize DY --> ee + // drellyan(); + // } + // if ( str.Contains("hijing:closedecay") ) { + // TString ex = Form("hijingmk->CloseDecays(%s);", tit.Data()); + // //LOG_INFO<< ex.Data() << endm; + // //gROOT->ProcessLine(ex.Data()); + // closeDecays.push_back(ex); + // + // } + // if ( str.Contains("hijing:opendecay") ) { + // TString ex = Form("hijingmk->OpenDecay(%s);", tit.Data()); + // // LOG_INFO<< ex.Data() << endm; + // // gROOT->ProcessLine(ex.Data()); + // openDecays.push_back(ex); + // } + } + + for ( auto iter=mylist.rbegin(); iter!=mylist.rend(); iter++ ) { + // TString cmd=*iter; + std::string cmd = (*iter).Data(); + LOG_INFO << "execute hijing command " << cmd.c_str() << endm; + // hijingmk->PyGive(cmd.Data()); + PyGive(cmd); + setcount++; + } + + // for ( auto iter=closeDecays.begin(); iter != closeDecays.end();iter++ ) { + // gROOT->ProcessLine( (*iter) ); + // } + // for ( auto iter=openDecays.begin(); iter!= openDecays.end();iter++ ) { + // gROOT->ProcessLine( (*iter) ); + // } + + // Always default to nondiffractive (i.e. as-close-to-minbias-as-documented) + primaryMk->AddGenerator(hijingmk); + + chain->Init(); + +} +//___________________________________________________________________ +void eventloop() { + + for ( int event = 0; event < nevents; event++ ) { + LOG_INFO << "[geant4star running event " << event << "/" << nevents << "]" << endm; + chain->Clear(); + chain->Make(); + primaryMk->event()->Print(); + } + +} +//___________________________________________________________________ +//void drellyan() { +// +// auto& pyjets = hijingmk->pyjets(); +// auto& pysubs = hijingmk->pysubs(); +// auto& pydat3 = hijingmk->pydat3(); +// auto& pypars = hijingmk->pypars(); +// auto& pyint5 = hijingmk->pyint5(); +// +// LOG_INFO << "DRELL YAN Z0/GAMMA* e+e-" << endm; +// +// pysubs.msel = 0; // select specific processes +// pysubs.msub(1) = 1; // ffbar --> Z0/gamma* +// // others?? 15? 19? +// +// // close decays for the Z (and I believe the gamma* as well) +// hijingmk->CloseDecays(23); +// hijingmk->OpenDecay( 23, 182, 2 ); // limit decay to electrons +/// +//} From 561226419911dbb255b461fccb1e46b3d6a60de1 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 6 Nov 2024 15:20:17 -0500 Subject: [PATCH 66/70] Will need to expose TCallf77 in 32bit builds as well. So make sure we have the geant3 library available. --- mgr/config/v0.3.0-rhel7-root6.24.06.config | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mgr/config/v0.3.0-rhel7-root6.24.06.config b/mgr/config/v0.3.0-rhel7-root6.24.06.config index d52ad500f5c..c05eb21ec4f 100644 --- a/mgr/config/v0.3.0-rhel7-root6.24.06.config +++ b/mgr/config/v0.3.0-rhel7-root6.24.06.config @@ -30,4 +30,14 @@ if ( $USE_64BITS == 1 ) then module load geant3-3-9-p1-root-6.24.06 module load vmc-1-0-p3-root-6.24.06 endif +else + if (! $?NODEBUG) then + module load geant3-3-9-p1-root-6.24.06-debug + module load vmc-1-0-p3-root-6.24.06-debug + else + module load geant3-3-9-p1-root-6.24.06 + module load vmc-1-0-p3-root-6.24.06 + endif endif + +module list From 14e85924a47ae9b6ab22b12983722b07d0b0c201 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Thu, 14 Nov 2024 21:26:30 -0500 Subject: [PATCH 67/70] Handle the (hopefully rare) case where truth track is not defined. --- StRoot/StGeant4Maker/StHitCollection.cxx | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/StRoot/StGeant4Maker/StHitCollection.cxx b/StRoot/StGeant4Maker/StHitCollection.cxx index 64700cab0db..2aeba309ea1 100644 --- a/StRoot/StGeant4Maker/StHitCollection.cxx +++ b/StRoot/StGeant4Maker/StHitCollection.cxx @@ -146,6 +146,9 @@ void StTrackerHitCollection::ProcessHits() { // This should be the current particle truth StarMCParticle* truth = userstack->GetCurrentPersistentTrack(); + if ( 0==truth ) { + LOG_INFO << "There is no truth. Keep the hit but do not register it to the truth particle." << endm; + } LOG_DEBUG << "Process hits with track " << truth << " current tn=" << userstack->GetCurrentTrackNumber() << endm; @@ -168,7 +171,7 @@ void StTrackerHitCollection::ProcessHits() { } mHits.push_back( hit = new TrackerHit ); - truth->addHit( hit ); + if (truth) truth->addHit( hit ); // Get the current path to the sensitive volume hit->path = mc->CurrentVolPath(); @@ -197,7 +200,7 @@ void StTrackerHitCollection::ProcessHits() { // Assign the hit the ID truth of the current track (index + 1) // hit->idtruth = particleTable.size(); // hit->idtruth = truthTable.size(); - hit->idtruth = userstack->GetIdTruth ( truth ); + hit->idtruth = (truth)? userstack->GetIdTruth ( truth ) : -1; @@ -296,6 +299,9 @@ void StCalorimeterHitCollection::ProcessHits() { // This should be the current particle truth StarMCParticle* truth = userstack->GetCurrentPersistentTrack(); + if ( 0==truth ) { + LOG_INFO << "There is no truth. Keep the hit but do not register it to the truth particle." << endm; + } LOG_DEBUG << "Process hits with track " << truth << " current tn=" << userstack->GetCurrentTrackNumber() << endm; @@ -321,7 +327,7 @@ void StCalorimeterHitCollection::ProcessHits() { } mHits.push_back( hit = new CalorimeterHit ); - truth->addHit( hit ); + if (truth) truth->addHit( hit ); // Get the current path to the sensitive volume hit->path = mc->CurrentVolPath(); @@ -351,7 +357,7 @@ void StCalorimeterHitCollection::ProcessHits() { // Assign the hit the ID truth of the current track (index + 1) // hit->idtruth = particleTable.size(); // hit->idtruth = truthTable.size(); - hit->idtruth = userstack->GetIdTruth ( truth ); + hit->idtruth = (truth)? userstack->GetIdTruth ( truth ) : -1; // Score entrance mc->TrackPosition( hit->position_in[0], hit->position_in[1], hit->position_in[2] ); @@ -411,7 +417,9 @@ void StCalorimeterHitCollection::EndOfEvent() { myhit->idtruth=hit->idtruth; } - myhit->idtruth = TMath::Min( hit->idtruth, myhit->idtruth ); + if ( hit->idtruth>=0 ) // negative truth is ignored + myhit->idtruth = TMath::Min( hit->idtruth, myhit->idtruth ); + myhit->nsteps += hit->nsteps; myhit->de += hit->de; From 149384c7469fb57b721deb1e66ab8c775ecd4b4a Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Wed, 29 Jan 2025 10:18:58 -0500 Subject: [PATCH 68/70] Expose enum to cling. --- StRoot/StEvent/StEnumerations.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/StRoot/StEvent/StEnumerations.cxx b/StRoot/StEvent/StEnumerations.cxx index 74d04716286..f08a97dee1d 100644 --- a/StRoot/StEvent/StEnumerations.cxx +++ b/StRoot/StEvent/StEnumerations.cxx @@ -22,6 +22,8 @@ void detectorId(int *ids=0, char** cds=0) TString myPath("$STAR/StRoot/StEvent/StEnumerations.h"); gSystem->ExpandPathName(myPath); + gROOT->ProcessLine("#include "); + int notExi = gSystem->AccessPathName(myPath.Data(),kFileExists); if (notExi) { ids[0]=-1; return;} FILE *fp = fopen(myPath.Data(),"r"); From 9b249e342dc232bbda49066f465f72e2683f6adc Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Thu, 30 Jan 2025 12:39:26 -0500 Subject: [PATCH 69/70] Check for null pointers and skip to next. --- StRoot/StTofUtil/StTofrGeometry.cxx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/StRoot/StTofUtil/StTofrGeometry.cxx b/StRoot/StTofUtil/StTofrGeometry.cxx index 21115662e07..12833424223 100644 --- a/StRoot/StTofUtil/StTofrGeometry.cxx +++ b/StRoot/StTofUtil/StTofrGeometry.cxx @@ -1253,6 +1253,7 @@ void StTofrGeometry::InitFromStar(TVolume *starHall) TDataSetIter volume(starHall,0); TVolume *starDetectorElement = 0; + while ( (starDetectorElement = ( TVolume *)volume()) ) { // const char *elementName = starDetectorElement->GetName(); @@ -1286,7 +1287,9 @@ void StTofrGeometry::InitFromStar(TVolume *starHall) TVolumeView *secVolume = 0; mTrays = 0; // non-emtry tray number while ( (secVolume = (TVolumeView *)nextSector()) ) { + if (0==secVolume) continue; TVolumeView *trayVolume = (TVolumeView *)secVolume->First(); + if (0==trayVolume) continue; if ( trayVolume->GetListSize() ) { mTrays++; mModulesInTray = trayVolume->GetListSize(); @@ -1307,7 +1310,9 @@ void StTofrGeometry::InitFromStar(TVolume *starHall) mNValidModules = 0; for(Int_t i=0;iGetSize();i++) { sectorVolume = dynamic_cast (list->At(i)); + if (0==sectorVolume) continue; TVolumeView *trayVolume = (TVolumeView *)sectorVolume->First(); + if (0==trayVolume) continue; if( !trayVolume->GetListSize() ) continue; if ( i>=60 ) ibtoh = 1; // gMessMgr->Info("","OS") << " test sector size = " << trayVolume->GetListSize() << endm; From 6ba54518514e69c09d6503446704f30942be3d21 Mon Sep 17 00:00:00 2001 From: klendathu2k Date: Fri, 7 Feb 2025 09:34:38 -0500 Subject: [PATCH 70/70] No need to update for ROOT 5. --- StRoot/StEvent/StEnumerations.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/StRoot/StEvent/StEnumerations.cxx b/StRoot/StEvent/StEnumerations.cxx index 410130ebd11..17f7e1ae09c 100644 --- a/StRoot/StEvent/StEnumerations.cxx +++ b/StRoot/StEvent/StEnumerations.cxx @@ -22,7 +22,9 @@ void detectorId(int *ids=0, char** cds=0) TString myPath("$STAR/StRoot/StEvent/StEnumerations.h"); gSystem->ExpandPathName(myPath); +#if ROOT_VERSION_CODE >= 393216 /* ROOT_VERSION(6,0,0) */ gROOT->ProcessLine("#include "); +#endif int notExi = gSystem->AccessPathName(myPath.Data(),kFileExists); if (notExi) {